高灵活变尺寸块变换的制作方法

文档序号:7984893阅读:120来源:国知局
高灵活变尺寸块变换的制作方法
【专利摘要】本发明公开了一种用于帧间预测残差的变尺寸块变换编码方法。首先通过合并拥有类似运动参数的块获得最大的拥有类似运动参数的块,然后对这个块执行不同尺寸的变尺寸块变换。本发明还公开了分别用于8x8、16x16和32x32的一组拥有更高编码效率的变尺寸块变换分割模式。
【专利说明】 高灵活变尺寸块变换
【技术领域】
[0001]本发明属于数字视频压缩领域,具体涉及到视频信号帧间预测残差的变尺寸块变换。
【背景技术】
[0002]数字视频是通过对时域和空域连续的自然场景进行时域和空域连续采样所得。如图1所示,数字视频由一系列时域上的视频帧所组成,每个视频帧表示自然场景在某个时间的空域采样,它由二维均匀采样的视觉像素组成。每个像素由一系列描述像素亮度和色彩的数字组成,在视频编码中,最广泛被使用的格式是YUV格式,这种格式中,每个像素由一个亮度分量Y,两个色差分量U和V组成,一般对U和V分量水平和垂直方向各进行一次下采样,这样每相邻的4个像素共用I个U和I个V分量,这就是YUV4:2:0格式。
[0003]最广泛被使用的视频编码技术是块基混合运动补偿DCT变换视频编码技术,其中最有代表性的是MPEG和VCEG正在联合制定的国际标准HEVC。如图2所示,HEVC编码器首先把输入帧被劈分成一个个NxN (其中N为2的幂次,其最小为8,最大可以到64)的块,称为最大编码单元(IXU),然后从左到右,从上到下依次对IXU进行编码。在HEVC中,基本的预测-变换-编码单位称为编码单元(⑶),对于一个大小为2Nx2N的IXU,可以把它作为一个CU直接进行预测-变换-编码,也可以把它以四分树的方式劈分为4个大小为NxN的单元进行预测-变换-编码,而对于每个NxN的单元,它也既可以作为一个CU进行预测-变换-编码,也可以继续以四分树的方式劈分为4个更小的单元进行编码。图3所示既是一个LCU的编码劈分图,图中LCU被劈分为4个等尺寸CU,而4个CU中的第一个、第三个和第四个又分别进行了继续的劈分。CU最小为8x8,最大可以和LCU等尺寸。对每个待编码的CU,首先从已编码的重构帧中计算出一个对当前块的预测,并与当前块相减,残差依次执行DCT变换、量化,然后反量化、反DCT变换得到重构宏块,存入重构帧序列中,用于对其后编码的CU产生预测信号。由于精确的DCT变换是浮点变换,所以实际中一般用DCT变换的整数近似或者KLT变换的整数近似来代替。
[0004]⑶的预测有2种,第一种是帧内预测,即只使用当前编码帧的已重构的像素对当前CU进行预测。当前最流行的帧内预测技术是帧内方向预测技术。帧内方向预测直接以CU为单位进行。HEVC中所使用的角度帧内预测如图4所示。图4所示白色黑框块是当前编码⑶,左边和上边的灰色条带是当前⑶左上的已重构像素,他们用来生成当前⑶的预测信号。每一个帧内方向预测模式说明一个当然的预测方向,对于如图4所示编码CU中的某一行或某一列(用竖状网格表示),根据预测方向找到左上重构块中的相应的像素,如图4中黑色像素块所示,作为当前行或列的预测。图4右侧所示的列预测因为左边靠上的重构像素不存在,所以在实际的预测开始前,需要根据当前预测方向从当前块上边的重构像素根据当前帧内预测方向映射过去,如图5所示。在HEVC中共有33种不同的方向预测模式,如图6所示。
[0005]CU的第二种预测是帧间预测,这时当前块的预测从时域上在当前帧前或当前帧后的重构帧中的选取。在HEVC中,预测以预测单元(PU)为基本单位。一个2Nx2N大小的⑶有4种PU划分模式,它既可以作为单一的执行运动补偿,也可以分割成几个分别执行不同的运动补偿,如图7所示。对于一个任意形状的运动补偿过程如图8、图9、图10和图11所不。显不时间为t的巾贞是当如编码巾贞,黑色块是当如编码块。显不时间为t_to、t-2*t0、t+t0帧是重构帧,其中具有点状边界的灰色块是与当前编码块同一空域位置的块。显示时间为t-t0、t-2*t0、t+t0帧都可以作为当前编码块的预测。在图8中,运动向量MVO指向当前块的前向预测块BLK0。在图9中,运动向量MVl指向当前块的后向预测块BLK1。在图10中,运动向量MV指向当前块的前向预测块BLKO,MV的反方向指向后向预测块BLKl,BLKO和BLKl的平均作为当前块的预测。在图11中,运动向量MVO指向当前块的前向预测块BLK0,运动向量MVl指向当前块的后向预测块BLK1,BLKO和BLKl的平均作为当前块的预测。在前向预测、后向预测和对称预测中,只有一个运动参数(包括运动向量和参考图像)需要编码,而在双向预测模式中,2个运动参数需要编码。对于每种时域补偿模式,编码器通过率失真优化的运动估计过程得到最优的运动参数,并将其编入码流。
[0006]在得到预测以后,将当前块与预测块相减,得到残差块,然后对残差块依次执行DCT变换或其他正交变换,然后量化、熵编码,然后再反量化、反变换、和预测块相加得到重构块,并用于后续编码块的预测。在HEVC中,变换以变换单元(TU)为单位进行。对于帧内预测,TU与⑶同尺寸,即对一个2Nx2N大小的⑶,直接执行2Nx2N 二维可分离变换。对于时域预测,则使用变尺寸块变换。这时TU的形状依赖于I3U的形状。在HEVC中,TU的形状总是比PU要小,这样变换不会穿越预测的边界,但也降低了变换的灵活性。HEVC中所使用的四分树结构变尺寸块变换如图12所示,一个2Nx2N的待变换单元可以有4种变换分割模式,即直接2Nx2N变换、2个2NxN变换、2个Nx2N变换、或者分割成4个NxN单元。4个NxN单元中的每一个都可以独立进行四分树结构的变尺寸块变换。TU的最小单元是4x4。
[0007]本发明描述了 一种高度灵活的变尺寸块变换模式,与四分树结构的变尺寸块变换相比,能提供显著更高的编码效率。

【发明内容】

[0008]图13是本发明所述用于一个8x8块的5种变尺寸块变换分割模式。它可以直接作为一个8x8块进行变换,也可以分割成更小的块进行变尺寸块变换。如图13第二种和第三种分割方式所示,就是把8x8块分割成I个8x4块和2个4x4块进行变换。
[0009]图14和图15是本发明所述16x16块所有的20种变尺寸块变换分割模式。其中的8x8块可以执行进一步的8x8变尺寸块变换,且其方式并不限于图13所述方式。而所有长方形分割则不能执行进一步的变尺寸块分割变换(即对于MxN的长方形块,其中M Φ N,只有一种变换方式,即首先对每行执行M点变换,然后对每列执行N点变换,或者首先对每列执行N点变换,然后对每行执行M点变换)。
[0010]图16和图17是本发明所述32x32块的所有25种变尺寸块变换分割模式。其中的16x16块可以继续执行进一步的16x16变尺寸块变换,且其方式并不限于图14和图15所述方式。长方形分割中的8xM块(其中M为16或32)有2种变尺寸块变换模式,一种是直接对8xM块执行变换,另一种是分成2个4xM块执行2次变换。长方形分割中的Mx8块(其中M为16或32)也有2种变尺寸块变换模式,一种是直接对Mx8块执行变换,另一种是分成2个Mx4块执行2次变换。其余长方形块(32x16或16x32)则不能执行进一步的变尺寸块变换。
[0011]本发明的另一方面是最大变换块合并算法。假设IXU尺寸为64x64,在运动估计完成后,小至4x4的每个块都拥有了相应的运动参数。在本发明中,当2个相邻的块拥有类似的运动参数时,将其定义为类似运动块。一般的,类似运动参数定义为:2个相邻块拥有相同的参考索引而且相应的作用于同一个参考索引上运动向量绝对差值小于I个像素(也可以是接近于I的其他数字)。因为本发明最大的变换块为32x32,所以首先把64x64残差信号分割为4个32x32块,然后设2N=32,对每个32x32块应用如下所述最大变换块合并算法。
[0012]如果当前2Nx2N块内部所有相邻块都拥有类似运动参数,那么直接对这个2Nx2N残差块应用如上所述2Nx2N变尺寸块变换。否则,将2Nx2N块采用如图18所示各种方式劈分为子块,然后以如下所述原则对子块再行评估。
[0013]1.如果一个分割模式中有一个2NxN或者Nx2N子块,其内部邻块至少有一处不拥有类似运动参数,那么这个分割模式不可用。如果当前2Nx2N可用的分割模式数目大于I时,编码器需要将所选分割模式编入码流以使解码器可以正确的解码。
[0014]2.对于一个可用的分割模式,其中如果存在2NxN或者Nx2N子块,那么直接对其执行相应的2NxN或者Nx2N正交变换,然后量化熵编码。
[0015]3.如果一个NxN子块内部所有邻块都拥有类似运动参数,那么对其执行如上所述NxN变尺寸块变换。如果否,那么如图18所示,将其继续分割成子块来判断。
[0016]4.如果当前2Nx2N块存在若干可用分割模式时,选择何种分割模式由率失真花费来决定。
【专利附图】

【附图说明】
[0017]图1为数字视频示例,其中指示I表示时域采样,指示2表示空域采样。
[0018]图2为块基运动补偿DCT变换视频编码器,其中指示I表示劈分为IXU,指示2表示中贞内预测信息,指示3表示运动参数信息,指示4表示控制信息,指示5表示量化DCT系数,指示6表示编码码流。
[0019]图3是IXU通过四分树递归的劈分为⑶。
[0020]图4是角度帧内预测示意图。
[0021]图5是角度帧内预测中左上不可用像素的映射计算示意图。
[0022]图6是角度帧内预测所有方向模式示意图。
[0023]图7是⑶劈分为PU的所有方式。
[0024]图8是时域前向预测示意图。
[0025]图9是时域后向预测示意图。
[0026]图10是时域对称预测示意图。
[0027]图11是时域双向预测示意图。
[0028]图12是HEVC中变换分割示意图,其中的NxN块可以继续同样的分割。
[0029]图13是本发明所述8x8块变尺寸块变换所有分割模式。
[0030]图14是本发明所述16x16块变尺寸块变换的一组分割模式,其中8x8块可以继续执行图13所述或其它方式的变尺寸块变换
[0031]图15是本发明所述16x16块变尺寸块变换的另一组分割模式,其中8x8块可以继续执行图13所述或其它方式的变尺寸块变换
[0032]图16是本发明所述32x32块变尺寸块变换的一种分割模式
[0033]图17是本发明所述32x32块变尺寸块变换的一组分割模式,其中16x16块可以继续执行变尺寸块变换,其方式并不限于图14和图15所述方式
[0034]图18是本发明所述,从大到小寻找拥有类似运动参数的块的分割方式。
[0035]图19是本发明所述视频编码器
[0036]图20是本发明所述视频解码器
[0037]实施方式
[0038]图19是包含本发明的一个视频编码器。编码器首先把输入视频帧划分为LCU,然后对LCU进行从左到右、从上到下的顺序编码。对每个LCU,编码器将其劈分成CU进行编码。对于帧间LCU,首先获得其所有运动参数并将其首先编入码流。然后根据本专利所述算法在LCU范围内从大到小获得拥有类似运动的最大块,然后执行变尺寸块变换,并将相关模式信息和变换系数写入码流。如果在某一层存在若干分割模式,那么编码器评估每一种模式,选择率失真花费最小的那种,并将模式信息在变尺寸块变换相关信息之前编码入码流。
[0039]图20所示是包含本发明的视频解码器,它是图19的逆。解码器从左到右、从上到下对每个LCU进行解码,对于帧间LCU,解码器首先解码本LCU所有时域预测信息,然后从上到下应用最大块合并算法,如果在某一层存在若干分割模式,那么解码相应分割模式。如果存在变尺寸块变换,那么首先解码变尺寸块变换模式,然后解码变换系数,然后反量化-反变换得到残差信息的重构,并与预测信号相加得到帧间LCU的重构。
【权利要求】
1.视频编解码器中一种用于8x8预测残差块变尺寸块变换方法,所有分割模式如图13所示。编码器通过计算率失真花费选择最优的模式,并将所选模式信息和相应所有子块的量化变换系数一起编码入码流,而解码器则通过解码模式信息和子块变换系数恢复8x8预测残差块的重构。
2.视频编解码器中一种用于16x16预测残差块变尺寸块变换的方法,编码器通过对一组分割模式计算率失真花费选择最优的分割模式,并将所选模式信息和相应所有子块的量化变换系数一起编码入码流,而解码器则通过解码模式信息和子块变换系数恢复16x16预测残差块的重构。
3.如权利要求2所述,16x16预测残差块的变尺寸块变换分割模式可以包含图14和图15所述20种分割模式中的一部分或者全部,且至少包含图14所述分割模式中的至少I种。在图14和图15所包含分割模式中,8x8子块可以继续执行不限于如权利要求1所述的变尺寸块变换。
4.视频编解码器中一种用于32x32预测残差块变尺寸块变换的方法,编码器通过对一组分割模式计算率失真花费选择最优的分割模式,并将所选模式信息和相应所有子块的量化变换系数一起编码入码流,而解码器则通过解码模式信息和子块变换系数恢复32x32预测残差块的重构。
5.如权利要求4所述,32x32预测残差块的变尺寸块变换分割模式至少包含图16中的一种,且至少包含图17中的一种。在图16和图17所包含的分割模式中,16x16子块可以继续执行如权利要求2所述的变尺寸块变换。
6.一种将拥有类似运动参数的块合并成较大的块,然后对较大的块执行变尺寸块变换的方法。
7.如权利要求6所述,相邻的块拥有类似的运动参数定义为,二者拥有相同的运动补偿参考索引,且作用于同一个索引上的运动向量绝对差不大于一定的值,这个值一般为一个像素。如果一个块中所有相邻块都拥有类似运动参数,那么这个块定义为拥有类似运动参数。
8.如权利要求6所述,在运动估计过程完成后,编码器从最大的块开始,逐层判断最大的拥有类似运动参数的块,然后对相应的最大的块实施变尺寸块变换。
【文档编号】H04N19/61GK103796031SQ201210419084
【公开日】2014年5月14日 申请日期:2012年10月27日 优先权日:2012年10月27日
【发明者】朱洪波 申请人:朱洪波
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1