在shvc中有条件地调用再取样过程的制作方法_2

文档序号:9439591阅读:来源:国知局
输出接口 22输出到通信信道16,通信信道16可包含计算机可读存储媒体,如上文所论述。
[0039]计算机可读存储媒体可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(例如,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。网络服务器(未图示)可从源装置12接收经编码视频数据,且将经编码视频数据提供到目的地装置14(例如经由网络发射)。媒体生产设施(例如光盘冲压设施)的计算装置可从源装置12接收经编码视频数据,且生产含有所述经编码视频数据的光盘。因此,可将通信信道16理解为包含一或多个各种形式的计算机可读存储媒体。
[0040]目的地装置14的输入接口28可从通信信道16接收信息。通信信道16的信息可包含由视频编码器20界定的语法信息,所述语法信息可供视频解码器30使用,所述语法信息包含描述块及其它经译码单元(例如,G0P)的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包含多种显示元件中的任一者,例如阴极射线管(CRT)、液晶显示器(IXD)、等离子体显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
[0041 ] 视频编码器20和视频解码器30可以根据一种视频译码标准(例如目前正在开发的高效率视频译码(HEVC)标准)来操作,并且可以符合HEVC测试模型(HM)。或者,视频编码器20及视频解码器30可根据其它专属或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG-4第10部分高级视频译码(AVC),或此类标准的扩展。但是,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件以处置对共同数据流或单独数据流中的音频或视频两者的编码。如果适用,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
[0042]图1仅为实例,且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、经由网络流式传输或类似者。编码装置可对数据进行编码且将数据存储到存储器,及/或解码装置可从存储器检索数据且对数据进行解码。在许多实例中,通过并不彼此通信而是简单地将数据编码到存储器及/或从存储器检索数据且对数据进行解码的装置执行编码及解码。
[0043]视频编码器20和视频解码器30各自可经实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。当部分地用软件实施所述技术时,装置可将用于软件的指令存储在非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的一部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置(例如,蜂窝式电话)。
[0044]JCT-VC正在致力于开发HEVC标准及其扩展且版本I已结束。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的进化模型。HM假设视频译码装置根据例如ITU-T H.264/AVC相对于现有装置的若干额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但HM可提供多达三十三种帧内预测编码模式。
[0045]一般来说,HM的工作模型描述视频帧或图片可以被划分为包含明度和色度样本两者的树块或最大译码单元(LCU)的序列。位流内的语法数据可以界定LCU的大小,LCU是在像素数目方面的最大译码单元。切片包含按译码顺序的多个连续树块。视频帧或图片可分割成一或多个切片。每一树块可以根据四叉树而分裂成多个译码单元(CU)。一般来说,四叉树数据结构包含每个CU —个节点,其中根节点对应于树块。如果CU分裂成4个子CU,那么对应于CU的节点包含四个叶节点,其中叶节点中的每一者对应于所述子CU中的一者。
[0046]四叉树数据结构的每一节点可以提供对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,其表明对应于所述节点的所述CU是否分裂成子CU。用于CU的语法元素可以递归地来定义,且可以取决于CU是否分裂成子CU。如果CU不进一步分裂,那么将其称为叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16x16大小的⑶不进一步分裂,那么这四个8x8子⑶将也被称作叶⑶,虽然16x16⑶从未分裂。
[0047]CU具有类似于H.264标准的宏块的目的,但是CU并不具有大小区别。举例来说,树块可以分裂成四个子节点(还称为子CU),并且每一子节点又可以是父节点并且可以分裂成另外四个子节点。最后的未经分裂子节点(被称作四叉树的叶节点)包括译码节点,也称为叶CU。与经译码位流相关联的语法数据可界定树块可分裂的最大次数(被称作最大CU深度),且还可界定译码节点的最小大小。所以,位流还可界定最小译码单元(SCU)。本发明使用术语“块”指代CU、PU或TU中的任一者(在HEVC的情况下)或类似数据结构(在其它标准的情况下)(例如,在H.264/AVC中的宏块及其子块)。
[0048]CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小可介于8x8像素到多达具有最大64x64像素或更大的树块大小的范围内。每一 CU可含有一或多个PU和一或多个TU。举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可在CU被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有所不同。PU可分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树分割成一或多个TU。TU可以是正方形或非正方形(例如,矩形)形状。
[0049]HEVC标准允许根据TU变换,TU可针对不同⑶而有所不同。TU的大小通常是基于针对经分割LCU界定的给定CU内的PU的大小而设定,但是情况可能并不总是如此。TU通常与PU大小相同或小于HJ。在一些实例中,对应于CU的残余样本可以使用被称为“残余四叉树”(RQT)的四叉树结构而细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
[0050]叶⑶可包含一或多个预测单元(PU)。一般来说,PU表示对应于对应⑶的全部或一部分的空间区域,且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于HJ的数据可以包含在残余四叉树(RQT)中,残余四叉树可包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,HJ可包含界定PU的一或多个运动向量的数据。界定HJ的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表O、列表I或列表C)。
[0051]具有一或多个HJ的叶⑶还可包含一或多个变换单元(TU)。变换单元可使用RQT (也称为TU四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可指示叶CU是否分裂成四个变换单元。接着,每一变换单元可进一步分裂成其它子TU。当TU未经进一步分裂时,其可被称作叶TU。一般来说,对于帧内译码,属于叶CU的所有叶TU共享相同的帧内预测模式。也就是说,一般应用相同的帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可以使用帧内预测模式将每一叶TU的残余值计算为CU的对应于TU的部分与原始块之间的差。TU不必限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,HJ可以与同一⑶的对应叶TU位于同一地点。在一些实例中,叶TU的最大大小可以对应于对应叶CU的大小。
[0052]此外,叶⑶的TU还可与相应四叉树数据结构(被称作残余四叉树(RQT))相关联。gp,叶⑶可包含指示叶⑶如何分割成TU的四叉树。TU四叉树的根节点一般对应于叶⑶,而CU四叉树的根节点一般对应于树块(或LCU)。RQT的未分裂的TU被称作叶TU。一般来说,除非另有陈述,否则本发明分别使用术语CU及TU来指叶CU及叶TU。
[0053]视频序列通常包含一系列视频帧或图片。图片群组(GOP) —般包括一系列的一或多个所述视频图片。GOP可包含在GOP的标头、图片中的一或多者的标头或其它地方中的语法数据,所述语法数据描述GOP中所包含的图片的数目。图片的每一切片可包含切片语法数据,其描述用于相应切片的编码模式。视频编码器20通常对个别视频切片内的视频块操作以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而大小不同。
[0054]作为实例,HM支持各种HJ大小的预测。假设特定⑶的大小为2Nx2N,那么HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称HJ大小的帧间预测。HM还支持用于2NxnU、2NxnD、nLx2N及nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割⑶的一个方向,但是另一方向分割成25%及75%。⑶的对应于25%分割区的部分表示成“n”,接着是用“上”、“下”、“左”或“右”指示。因此,例如,“2NxnU”是指经水平地分割的2Nx2N CU,其中顶部为2Nx0.5N PU,而底部为2Nxl.5N PU。
[0055]在本发明中,“NxN”与“N乘N”可以互换使用来指代在垂直和水平尺寸方面的视频块的像素尺寸,例如,16x16像素或16乘16像素。一般来说,16x16块将在垂直方向上具有16个像素(y = 16),并且在水平方向上具有16个像素(x = 16)。同样,NxN块总体上在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成行及列。此外,块未必需要在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括NxM像素,其中M未必等于N。
[0056]在使用⑶的PU的帧内预测性或帧间预测性译码之后,视频编码器20可以计算⑶的TU的残余数据。HJ可包括描述在空间域(也称为像素域)中产生预测像素数据的方法或模式的语法数据,且TU可包括在应用变换之后变换域中的系数,所述变换例如离散正弦变换(DST)、离散余弦变换(DCT)、整数变换、小波变换或与残余视频数据概念上类似的变换。所述残余数据可对应于未编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含用于⑶的残余数据的TU,并且接着变换TU以产生用于⑶的变换系数。
[0057]在用以产生变换系数的任何变换后,视频编码器20可执行变换系数的量化。量化为既定具有其最广泛一般含义的广义术语。在一个实施例中,量化是指变换系数经量化以可能减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,η位值可在量化期间被向下舍入到m位值,其中η大于mD
[0058]在量化之后,视频编码器可扫描变换系数,从包含经量化变换系数的二维矩阵产生一维向量。扫描可以经过设计以将较高能量(并且因此较低频率)的系数放置在阵列正面,并且将较低能量(并且因此较高频率)的系数放置在阵列的背面。在一些实例中,视频编码器20可利用预定义扫描顺序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应性扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对一维向量进行熵编码。视频编码器20还可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。
[0059]为执行CABAC,视频编码器20可向待发射的符号指派上下文模型内的上下文。举例来说,所述上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。VLC中的码字可经构造使得相对较短的代码对应于更有可能的符号,而较长的代码对应于不太可能的符号。(例如)与对待发射的每一符号使用等长度码字的情形相比较,以此方式,使用VLC可实现位节省。概率确定可基于指派给符号的上下文。
[0060]视频编码器20可进一步例如在帧标头、块标头、切片标头或GOP标头中将例如基于块的语法数据、基于帧的语法数据及基于GOP的语法数据等语法数据发送到视频解码器30。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以编码对应帧的编码/预测模式。
[0061]视频编码器
[0062]图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。视频编码器20可经配置以处理视频位流的单层(例如针对HEVC)。此外,视频编码器20可经配置以执行本发明的技术中的任一者或全部,包含但不限于上文及下文相对于图4到6更详细地描述的执行层间预测信令及相关过程的方法。作为一个实例,层间预测单元66(当提供时)可经配置以执行本发明中描述的技术中的任一者或全部。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
[0063]出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。图2A的编码器20说明编解码器的单层。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于根据多层编解码器进行处理。
[0064]视频编码器20可执行视频切片内的视频块的帧内、帧间和层间预测(有时被称作帧内、帧间或层间译码)。帧内译码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。层间译码依赖于基于同一视频译码序列内的不同层内的视频的预测。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可以指若干基于时间的译码模式中的任一者。
[0065]如图2A中所展示,视频编码器20接收待编码的视频帧内的当前视频块。在图2A的实例中,视频编码器20包含模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46、层间预测单元66和分割单元48。参考帧存储器64可包含经解码图片缓冲器。经解码图片缓冲器是具有其一般含义的广义术语,且在一些实施例中涉及视频编解码器管理的参考帧的数据结构。
[0066]为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60,及求和器62。还可包含解块滤波器(图2A中未图示)以便对块边界进行滤波,以从经重构视频移除成块效应假象。必要时,解块滤波器通常将对求和器62的输出进行滤波。除解块滤波器之夕卜,还可使用额外滤波器(环路内或环路后)。为简洁起见未图示这些滤波器,但是必要时,这些滤波器可以对求和器50的输出进行滤波(作为环路内滤波器)。
[0067]在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可以划分成多个视频块。运动估计单元42及运动补偿单元44可相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46或者可相对于与待译码块相同的帧或切片中的一或多个相邻块执行对所接收视频块的帧内预测性译码以提供空间预测。视频编码器20可以执行多个译码遍次,例如,以为每一视频数据块选择适当的译码模式。
[0068]此外,分割单元48可以基于先前译码遍次中的先前分割方案的评估将视频数据块分割成若干子块。举例来说,分割单元48可初始地将帧或切片分割为若干IXU,且基于速率失真分析(例如,速率失真优化等)将LCU中的每一者分割为子CU。模式选择单元40可进一步产生指示将LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个PU和一或多个TU。
[0069]模式选择单元40可例如基于误差结果选择译码模式(帧内、帧间或层间预测模式)中的一者,且将所产生的帧内、帧间或层间经译码块提供到求和器50来产生残余块数据并提供到求和器62来重构经编码块以用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
[0070]运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正经译码的当前块的位移。预测块是经发现在像素差异方面密切地匹配待译码的块的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异量度来确定。在一些实例中,视频编码器20可以计算存储在参考帧存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并输出具有分数像素精度的运动向量。
[0071]运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置来计算PU的运动向量。参考图片可以选自第一参考图片列表(列表O)或第二参考图片列表(列表I),其中的每一者识别存储在参考帧存储器64中的一或多个参考图片。运动
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1