视频译码中的预测残余块的再定位的制作方法_2

文档序号:8947769阅读:来源:国知局
布洛斯(Bross)等人的 文档HCTVC-I1003 "高效率视频译码(HEVC)文本规范草案7(HighEfficiencyVideo Coding(HEVC)TextSpecificationDraft7)" (ITU-TSG16WP3 及IS0/IECJTC1/SC29/ WGll的视频译码联合合作小组(JCT-VC),第9次会议:瑞士日内瓦,2012年4月27日到 2012 年 5 月 7 日)中,所述文档可从http://phenix.it-sudparis.eu/jct/doc_end_user/ documents/9_Geneva/wgll/JCTVC-I1003_v6.zip下载。另外,HEVC标准的"工作草案 8"或 "WD8"描述于布洛斯(Bross)等人的文档JCTVC-J1003_d7"高效率视频译码(HEVC)文本规 范草案 8(HighEfficiencyVideoCoding(HEVC)TextSpecificationDraft8)"(ITU-T SG16WP3及ISO/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第10次会议:瑞 典斯德哥尔摩,2012年7月11日到20日)中,所述文档可从http://phenix.int-evry.fr/ jct/doc_end_user/documents/10_Stockholm/wgll/JCTVC-J1003-v8.zip下载。
[0047] 文献JCTVC-L1003v34中的HEVC标准的草案,布洛斯等人的"高效率视频译码 (HEVC)文本规范草案 10(Highefficiencyvideocoding(HEVC)textspecification draft10) "(ITU-TSG16WP3 及ISO/IECJTC1/SC29/WG11 的视频译码联合合作小组 (JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日至23日)可从11??://?1^1^叉. int-evry.fr/jet/doc_end_user/documents/12_Geneva/wgll/JCTVC-L1003-v34.zip获 得。HEVC标准的范围扩展在文献JCTVC-N1005,弗林等人的"高效率视频译码(HEVC)范 围扩展文本规范:草案 4(HighEfficiencyVideoCoding(HEVC)RangeExtensionstext specification:Draft4)"(ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11 的视频译码联合合 作小组(JCT-VC)第14次会议:奥地利维也纳,2013年7月25日到8月2日)中描述,所述 文南犬可从http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wgll/ JCTVC-N1005-v3.zip获得。
[0048] 尽管图I中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音 频编码器及解码器集成,且可包含适当多路复用器-多路分用器(MUX-DEMUX)单元或其它 硬件及软件,以处置对共同数据流或单独数据流中的音频及视频两者的编码。在一些实例 中,如果适用的话,MUX-DEMUX单元可以符合ITUH. 223多路复用器协议,或例如用户数据 报协议(UDP)等其它协议。
[0049] 视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一 者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门 阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时, 装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理 器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者 可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置 中的组合编码器/解码器(CODEC)的部分。
[0050]JCT-VC正在致力于开发HEVC标准。HEVC标准化努力是基于被称作HEVC测试模 型(HM)的视频译码装置的演进模型。HM假设视频译码装置根据(例如)ITU-TH.264/AVC 相对于现有装置的若干额外能力。举例来说,虽然H. 264提供了九种帧内预测编码模式,但 是HM可提供多达三十四种帧内预测编码模式。
[0051] 一般来说,HM的工作模型描述:可将视频帧或图像分割成一或多个切片,所述一 或多个切片可被进一步分割成一序列树块或最大译码单元(LCU),所述树块或最大译码单 元可被进一步分割成译码单元(CU)。CU-般是指充当基本单元的图像区域,各种译码工具 被应用于所述基本单元以实现视频压缩。⑶通常具有指示为Y的明度分量,及指示为U及 V的两个色度分量。取决于视频取样格式,依据样本数目来说的U及V分量的大小可与Y 分量的大小相同或不同。CU通常为正方形的,且可被视为类似于例如在其它视频译码标准 (例如,ITU-TH. 264)下的所谓的宏块。在本申请案中出于说明的目的将描述根据正在开 发的HEVC标准的目前所提议的方面中的一些方面的译码。然而,本发明中描述的技术可以 用于其它视频译码过程,例如根据H. 264或其它标准定义的视频译码过程或专有视频译码 过程。
[0052] 根据HM,⑶包含译码节点及与译码节点相关联的一或多个预测单元(PU)及/或 一或多个变换单元(TU)。位流内的语法数据可以定义树块或LCU(依据像素数目来说,其 为最大CU)。一般来说,除了CU并不具有大小区别以外,CU具有类似于H. 264的宏块的目 的。因此,CU可分裂成数个子CU。一般来说,本发明中对CU的参考可指图片的最大译码单 元或IXU的子⑶。IXU可分裂成数个子⑶,且每一子⑶可进一步分裂成数个子⑶。位流 的语法数据可定义LCU可以分裂的最大次数,其被称作CU深度。因此,位流还可定义最小 译码单元(SCU)。本发明还使用术语"块"或"部分"来指CU、PU或TU中的任一者。一般来 说,"部分"可指视频帧的任何子集。
[0053]IXU可与四叉树数据结构相关联。一般来说,四叉树数据结构包含每个⑶一个节 点,其中根节点对应于LCU。如果CU分裂成4个子CU,那么对应于CU的节点包含4个叶或 子节点,所述叶或子节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节 点可以提供用于相对应的CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,从 而指示对应于所述节点的CU是否分裂成数个子CU。用于CU的语法元素可以递归地来定 义,且可以取决于CU是否分裂成数个子CU。如果CU未经进一步分裂,那么可将其称作叶 CUo
[0054] 此外,叶⑶的TU还可与相应四叉树数据结构(例如,残余四叉树(RQT))相关联。 也就是说,叶CU可包含指示叶CU如何分割成TU的四叉树。本发明将指示LCU如何分割的 四叉树称作CU四叉树且将指示叶CU如何分割成TU的四叉树称作TU四叉树。TU四叉树的 根节点一般对应于叶CU,而CU四叉树的根节点一般对应于LCU。TU四叉树的未分裂的TU 被称作叶TU。TU可为正方形或非正方形形状。
[0055] 叶⑶可包含一或多个HJ。一般来说,PU表示相对应的⑶的全部或一部分,且可 包含用于检索PU的参考样本的数据。举例来说,当PU经帧内模式编码时,PU可包含描述 HJ的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的 运动向量的数据。举例来说,定义运动向量的数据可以描述运动向量的水平分量、运动向量 的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向 量指向的参考帧及/或运动向量的参考列表(例如,列表〇或列表1)。举例来说,定义PU 的叶CU的数据还可描述CU到一或多个PU的分割。分割模式可取决于CU未经译码、经帧 内预测模式译码还是经帧间预测模式译码而有所不同。对于帧内译码,可将PU视为与叶TU 相同。PU可分割成正方形或非正方形形状。
[0056] -般来说,TU用于变换及量化过程。在预测之后,针对由译码节点识别的视频块 使用预测性块计算残余数据值。接着更新译码节点以参考除原始视频块之外的残余值。残 余值包括像素差值,所述像素差值可变换成变换系数、经量化及经扫描以产生串行化变换 系数以用于熵译码。可再次更新译码节点,以参考这些串行化变换系数。
[0057] 视频序列通常包含一系列视频帧或图片。图片群组(GOP) -般包括一系列一或多 个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头或其它地方中的语法数据, 其描述GOP中包含的图片的数目。图片的每一切片可包含描述用于相应切片的编码模式的 切片语法数据。每一切片被进一步分割成用以编码视频数据的视频块。视频块可以对应于 CU内的译码节点。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同 大小。
[0058] 作为实例,HM支持各种HJ大小的预测。假设特定⑶的大小是2Nx2N,那么HM支 持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间 预测。HM还支持用于2NxnU、2NxnD、nLx2N及nRx2N的PU大小的帧间预测的不对称分割。 在不对称分割中,不分割CU的一个方向,而将另一方向分割成25%及75%。CU的对应于 25%分割区的部分通过"n"后接续"上(U) "、"下(D) "、"左(L) "或"右(R) "指示来指示。 因此,例如,"2NxnU"是指经水平分割的2Nx2NCU,其中顶部为2NxO. 5NPU,而底部为2Nxl. 5N PU0
[0059] 在本发明中,"NxN"与"N乘N"可以互换使用以指依据垂直尺寸及水平尺寸来说 的视频块的像素尺寸,例如,16x16像素或16乘16像素。一般来说,16x16块将在垂直方向 上具有16个像素(y= 16),并且在水平方向上具有16个像素(X= 16)。同样地,NXN块 一般在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。 块中的像素可按行及列布置。此外,块未必需要在水平方向与垂直方向上具有相同数目个 像素。举例来说,块可包括NXM个像素,其中M未必等于N。
[0060] 为了译码块(例如,视频数据的PU),首先导出用于块的预测符。可通过帧内(I) 预测(即,空间预测)或帧间(P或B)预测(S卩,时间预测)来导出也被称作预测性块的预 测符。因此,一些预测单元可使用相对于同一帧(或切片)中的相邻参考块中的参考样本 的空间预测来进行帧内译码(I),且其它预测单元可相对于其它先前经译码帧(或切片)中 的参考样本块进行单向帧间译码(P)或双向帧间译码(B)。在每一种情况下,参考样本均可 用于形成用于待译码块的预测性块。
[0061] 在识别出预测性块后,便即刻确定原始视频数据块与其预测性块之间的差。此差 可被称作预测残余数据,且指示待译码块中的像素值与经选择以表示经译码块的预测性块 中的像素样本值之间的像素差。为了实现更好的压缩,可以例如使用离散余弦变换(DCT)、 整数变换、卡忽南一拉维(K-L)变换或另一变换对预测残余数据进行变换。
[0062] 变换块(例如,TU)中的残余数据可以布置在驻留在空间像素域中的像素差值的 二维(2D)阵列中。变换将残余像素值转换成变换域(例如,频域)中的变换系数的二维阵 列。为了进一步压缩,可以在熵译码之前将变换系数量化。量化一般是指其中将变换系数 量化以有可能减少用以表示系数的数据量的过程。量化过程可减少与系数中的一些系数或 全部相关联的位深度。举例来说,可在量化期间将n位值向下舍入到m位值,其中n大于m。
[0063] 为了熵译码经量化的变换系数块,通常执行扫描过程以便根据特定扫描次序将块 中的经量化的变换系数的二维(2D)阵列重新布置成变换系数的有序的一维(ID)阵列,即 向量。在一些实例中,使用预定义扫描次序来扫描经量化的变换系数以产生可经熵编码的 串行化向量。在其它实例中,可执行自适应扫描。
[0064] 接着将熵译码应用于变换系数的向量。对变换单元中的经量化的变换系数的扫描 使得熵译码器的变换系数的2D阵列串行化。可以产生有效性图以指示有效(S卩,非零)系 数的位置。可以应用扫描来扫描有效(即,非零)系数的层级,及/或译码有效系数的正负 号。熵译码器将例如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码 (CABAC)、概率区间分割熵译码(PIPE)或其类似者等熵译码应用于经扫描的经量化的变换 系数的一维向量。
[0065] 为了执行CABAC,将上下文模型内的上下文指派给待发射的符号。上下文可涉及 (例如)符号的相邻值是否为非零。为了执行CAVLC,针对待发射的符号选择可变长度码。 VLC中的码字可经构造而使得相对较短的代码对应于更有可能的符号,而较长的代码对应 于不太可能的符号。以此方式,使用VLC可例如实现优于对待发射的每一符号使用等长码 字的位节省。概率确定可基于指派给符号的上下文。
[0066] 在一些情况下,可在译码预测残余块的残余数据之前跳过变换。在一个实例中,可 使用变换跳过模式中的有损译码模式译码残余块,其中在译码残余块的残余数据之前未将 变换应用于残余块。在此情况下,仍可对残余块的残余数据执行量化。举例来说,HEVC使 用语法元素来指示用于TU的变换跳过模式,S卩,transform_skip_flag语法元素。在另一 实例中,可使用无损译码模式译码残余块,其中跳过变换及量化两者以实现残余块中的残 余数据的无损译码。举例来说,ffiVC使用语法元素来指示用于CU的无损译码模式,S卩,cu_ transquant_byPass_flag
[0067] 在JCTVC-J0093 (He,D.等人,"用于变换跳过的残余块的旋转(Rotationof ResidualBlockforTransformSkipping)",ITU-TSG16WP3 及IS0/IECJTC1/SC29/ WGll的视频译码联合合作小组(JCT-VC),第10次会议:瑞典斯德哥尔摩,2012年7月 11日到20日)中,提议:当在帧内预测模式中跳过用于残余块的变换时,在应用残余数 据的熵译码之前,自动地将残余块旋转达180度。在JCTVC-J0053 (An,J.等人,"用于帧 内变换跳过模式的残余扫描(ResidueScanforIntraTransformSkipMode) ",ITU-T SG16WP3及IS0/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第10次会议: 瑞典斯德哥尔摩,2012年7月11日到20日)中,提议了类似想法,其中自动地改变扫描 帧内预测残余块中的残余数据(即,像素差值)以用于熵译码的方向以实现相同目的。类 似地,在JCTVC-K0294(Weerakkody,R?等人,"用于变换跳过的系数的镜射(Mirroringof CoefficientsforTransformSkipping)",ITU-TSG16WP3 及IS0/IECJTC1/SC29/WG1I 的视频译码联合合作小组(JCT-VC),第11次会议:中国上海,2012年10月10日到19日) 中,提议:取决于所使用的扫描,自动地沿着残余块的主对角线或反对角线翻转帧内预测残 余块的残余数据。
[0068] 此外,在无损译码模式中,始终跳过用于残余块的变换。JCTVC-J0093提议将预测 残余块达180度的自动旋转扩展到用于帧内预测模式及帧间预测模式两者的无损译码模 式。在以下文档中也论述了这些想法中的一些想法=JCTVC-J0468(筑波(Tsukuba)等人, "JCTVC-J0069 及JCTVC-J0093 的组合(CombinationofJCTVC-J0069andJCTVC-J0093)", ITU-TSG16WP3 及IS0/IECJTC1/SC29/WG11 的视频译码联合合作小组(JCT-VC),第 10次会议:瑞典斯德哥尔摩,2012年7月),及JCTVC-M0333(速尔(Sole)等人,"AhG8 :用于 筛检内容译码的残余旋转及有效性图上下文(AhG8:Residualrotationandsignificance mapcontextforscreencontentcoding) ",ITU-TSG16WP3 及IS0/IECJTC1/SC29/ WG11的视频译码联合合作小组(JCT-VC),第13次会议,韩国仁川,2013年4月)。还可将 JCTVC-J0053及JCTVC-K0294中所提议的方法扩展到用于帧内预测模式及帧间预测模式的 无损译码模式。
[0069] 在帧内译码中,从其执行预测的样本定位于视频块的左侧或顶侧上。随着经预测 样本距顶侧及左侧的距离增加,预测误差往往会增加。由于此原因,残余块的右下角处的残 余数据样本值通常具有高于左上角处的残余数据样本值的绝对量值的绝对量值。设计变换 系数译码(即,熵译码),其中假设较高能量残余数据集中在左上角中。因此,对于帧内预测 残余块,当使用变换跳过模式中的有损译码模式时,残余视频块达180度的自动旋转可有 效地改善熵译码效率。
[0070] 然而,在无损模式中译码的残余块可使用帧内预测残余块或帧间预测残余块。对 于帧间预测残余块,残余数据并不拥有上文针对帧内预测残余块所描述的性质。可能不会 始终需要执行针对帧间预测残余块的达180度的自动旋转。
[0071] 本发明的技术包含基于用于残余块的变换被跳过,确定在译码残余块的残余数据 之前是否旋转残余块。在一些实例中,可明确地在视频编码器20与视频解码器30之间在 位流中用信号表示用于残余块的旋转值。在其它实例中,视频编码器20及视频解码器30 可各自独立地基于残余块的两个或两个以上边缘处的边界的类型确定是否旋转残余块。
[0072] 在JCTVC-G281 (An,J.等人,"非CE7 :用于经帧间预测残余的取决于边界的变换 (Non-CE7:Boundary-DependentTransformforInter-PredictedResidue)y,,ITU-TSG16 WP3及IS0/IECJTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第7次会议:瑞士日 内瓦,2011年11月21日到30日)中,进行关于经帧间预测残余数据的能量的以下观察。 对于包括TU的残余块,如果残余块的特定边缘(顶部、底部、左侧或右侧)处的相邻块属于 与残余块相同的PU(S卩,相邻块为属于相同HJ的TU),那么特定边缘为TU边界且TU边界处 的残余数据通常具有低于残余块的平均残余数据的能量。另一方面,如果残余视频块的特 定边缘处的相邻块属于与残余块不同的PU(S卩,相邻块为属于不同PU的TU),那么特定边缘 为HJ边界且TU边界处的残余数据通常具有高于残余块的平均残余数据的能量。在本发明 中,残余块的边缘处的残余数据的能级与残余数据的大小(即,残余视频块的边缘处的残 余数据样本值的像素差的绝对量值)成比例。
[0073] 基于上述观察,本发明的技术包含基于残余块的两个或两个以上边缘处的边界的 类型旋转具有变换跳过的帧间预测残余块。根据所述技术,包含在视频编码器或视频解码 器中的再定位单元确定残余块的两个或两个以上边缘处的边界的类型,且接着基于边缘处 的边界的类型确定是否旋转残余块以便将原始残余块的PU边界处的残余数据定位于被旋 转的残余块的左上角处。所述技术可以由视频译码器(例如,视频编码器20或视频解码器 30)来执行。
[0074] 在一些实例中,再定位单元确定是将残余块旋转达预定旋转值(例如,180度)还 是不旋转残余块。在其它实例中,再定位单元从两个或两个以上旋转值确定将残余块旋转 所达的旋转值,例如,0度或不旋转、180度
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1