用于对色度图像解码的方法与流程

文档序号:11254340阅读:366来源:国知局
用于对色度图像解码的方法与流程

本案是分案申请,其母案为于2012年11月26日申请的申请号为201210488604.6的题为“用于对色度图像解码的方法”的专利申请。

本发明涉及一种对色度图像解码的方法,更具体而言,涉及一种根据色度帧内预测模式和变换单元大小,产生色度预测块和色度残余块的方法和设备。



背景技术:

在h.264/mpeg-4avc中,一幅画面被分成多个宏块来对图像编码,利用帧间预测或帧内预测产生预测块,从而对相应宏块编码。变换初始块和预测块之间的差异以产生变换块,利用量化参数和多个预定量化矩阵之一对变换块进行量化。通过预定扫描类型扫描量化块的量化系数并随后进行熵编码。针对每个宏块调节量化参数,并利用先前的量化参数对其进行编码。

同时,在构建中的hevc(高效率视频编码)中,引入各种大小的编码单元以获得两倍的压缩效率。编码单元的作用类似于h.264的宏块。

但是,如果针对每个编码单元调节亮度和色度量化参数,那么要编码的量化参数数量随着编码单元的大小变小而增加。因此,针对每个编码单元调节亮度和色度量化参数导致需要更大量的编码比特来对量化参数编码,这降低了编码效率。而且,因为使用各种大小的编码单元使得量化参数和先前量化参数之间的相关性弱于h.264,所以需要一种新的对量化参数编码和解码的方法用于各种大小的编码单元。因此,需要一种更有效的方法来针对亮度和色度分量对图像编码和解码。



技术实现要素:

【技术问题】

本发明涉及一种产生色度预测块和色度残余块从而产生色度重构块的方法。

【技术方案】

本发明的一个方面提供了一种对色度图像解码的方法,包括:导出预测单元的色度帧内预测模式;利用亮度变换大小信息确定当前色度块的大小;利用所述色度帧内预测模式产生当前色度块的色度预测块;利用所述色度帧内预测模式和色度量化参数,产生当前色度块的色度残余块;以及通过将色度预测块和色度残余块相加,产生色度重构块。

【有利效果】

根据本发明的方法,导出预测单元的色度帧内预测模式;利用亮度变换大小信息确定当前色度块的大小;利用所述色度帧内预测模式产生当前色度块的色度预测块;利用所述色度帧内预测模式和色度量化参数产生当前色度块的色度残余块;通过色度预测块和色度残余块相加,产生色度重构块,并且利用亮度量化参数和表示亮度量化参数和色度量化参数之间关系的信息产生色度量化参数。因此,通过针对每个图画调节色度量化参数提高了编码效率。而且,通过利用相邻亮度量化参数对亮度量化参数编码减少了用于发送亮度和色度量化参数的比特量。

附图说明

图1是根据本发明的图像编码设备的方框图;

图2是根据本发明的图像解码设备的方框图;

图3是根据本发明产生预测块的设备的方框图;

图4是示出了根据本发明的帧内预测模式的示意图;

图5是根据本发明产生残余块的设备方框图。

具体实施方式

在下文中,将参考附图详细描述本发明的各实施例。不过,本发明不限于下文公开的示范性实施例,而是可以通过各种方式实施。因此,本发明很多其他修改和变化都是可能的,要理解的是,在所公开的概念范围之内,可以通过与具体所述不同的方式实践本发明。

图1是根据本发明的图像编码设备100的方框图。

参考图1,根据本发明的图像编码设备100包括图画分割单元110、帧内预测单元120、帧间预测单元130、变换单元140、量化单元150、扫描单元160、熵编码单元170、逆量化单元155、逆变换单元145、后期处理单元180、图画存储单元190、减法器192和加法器194。

图画分割单元110将图画划分成多个切片,将切片划分成多个最大编码单元(lcu),并将每个lcu划分成一个或多个编码单元。图画分割单元110确定每个编码单元的预测模式和预测单元大小。图画、切片和编码单元包括亮度样本阵列(亮度阵列)和两个色度样本阵列(色度阵列)。色度块具有亮度块一半的高度和一半的宽度。所述块可以是lcu、编码单元或预测单元。在下文中,将亮度编码单元、亮度预测单元和亮度变换单元分别称为编码单元、预测单元和变换单元。

lcu包括一个或多个编码单元。lcu具有递归的四叉树结构,以指定编码单元的分割结构。用于指定编码单元的最大大小和最小大小的参数包括在序列参数集中。由一个或多个分裂编码单元标志(split_cu_flag)指定分割结构。编码单元的大小是2n×2n。

编码单元包括一个或多个预测单元。在帧内预测中,预测单元的大小是2n×2n或n×n。在帧间预测中,预测单元的大小是2n×2n、2n×n、n×2n或n×n。

编码单元包括一个或多个变换单元。变换单元具有递归的四叉树结构,以指定分割结构。由一个或多个分裂变换单元标记(split_tu_flag)指定分割结构。指定亮度变换单元的最大大小和最小大小的参数包括在序列参数集中。如果变换单元不是4×4,则色度变换单元具有变换单元的一半高度和一半宽度。色度变换单元的最小大小为4×4。

帧内预测单元120确定当前预测单元的帧内预测模式并利用该帧内预测模式产生预测块。预测块的大小等于变换单元的大小。

帧间预测单元130利用图画存储单元190中存储的一个或多个参考图画来确定当前预测单元的运动信息并产生预测单元的预测块。所述运动信息包括一个或多个参考图画索引和一个或多个运动矢量。

变换单元140变换利用初始块和预测块产生的残余信号以产生变换块。由变换单元变换残余信号。变换类型由预测模式和变换单元的大小确定。变换类型是基于dct的整数变换或基于dst的整数变换。在帧间预测中,使用基于dct的整数变换。在帧内预测模式中,如果变换单元的大小小于预定大小,则使用基于dst的整数变换,否则使用基于dct的整数变换。预定大小为8×8。用于色度变换单元的变换类型是基于dct的整数变换。

量化单元150确定用于量化变换块的量化参数。量化参数是量化步长大小。量化参数是亮度量化参数。针对每个量化单元确定量化参数。量化单元的大小是编码单元可允许的大小之一。如果编码单元的大小等于或大于量化单元的最小大小,则编码单元变为量化单元。最小量化单元中可以包括多个编码单元。针对每个图画确定量化单元的最小大小,在图画参数集中包括用于指定量化单元最小大小的参数。由量化参数确定每个色度分量的色度量化参数。可以由图画确定量化参数和色度量化参数之间的关系。在图画参数集(pps)中发送表示所述关系的参数(chroma_qp_index_offset)。可以由切片改变所述关系。可以在切片报头中发送用于改变所述关系的另一参数。

量化单元150产生量化参数预测器并通过从量化参数减去量化参数预测器来产生差分量化参数。对差分量化参数进行熵编码。

如下利用相邻编码单元的量化参数和先前编码单元的量化参数来产生量化参数预测器。

按照下述次序顺序检索左量化参数、上量化参数和前量化参数。在有两个或更多量化参数可用时,将按照该次序检索的前两个可用量化参数的平均值设置为量化参数预测器,在仅有一个量化参数可用时,将可用的量化参数设置为量化参数预测器。亦即,如果有左和上量化参数可用,则将左和上量化参数的平均值设置为量化参数预测器。如果仅有左和上量化参数之一可用,则将可用量化参数和前一量化参数的平均值设置为量化参数预测器。如果左和上量化参数都不可用,则将前一量化参数设置为量化参数预测器。对平均值进行四舍五入。

量化单元150利用量化矩阵和量化参数对变换块进行量化以产生量化块。向逆量化单元155和扫描单元160提供量化块。

扫描单元160确定扫描模式并将该扫描模式应用到量化块。在将cabac用于熵编码时,如下确定扫描模式。

在帧内预测中,由帧内预测模式和变换单元的大小确定扫描模式。变换单元的大小、变换块的大小和量化块的大小是相同的。在对角线扫描、垂直扫描和水平扫描中选择扫描模式。将量化块的量化变换系数分成显著标记、系数符号和系数级别。将所述扫描模式分别应用于显著标记、系数符号和系数级别。显著标记表示对应的量化变换系数是否为零。系数符号表示非零量化变换系数的符号,系数级别表示非零量化变换系数的绝对值。

在变换单元的大小等于或小于第一大小时,为垂直模式和垂直模式的预定数量的相邻帧内预测模式选择定向的水平扫描,为水平模式和方向性上水平模式的预定数量的相邻帧内预测模式选择定向的垂直扫描,为其他帧内预测模式选择对角线扫描。在变换单元的大小大于第一大小时,使用对角线扫描。第一大小为8×8。

在帧间预测中,不论变换单元的大小如何,都使用预定扫描模式。在将cabac用于熵编码时,预定扫描模式是对角线扫描。

色度变换单元的扫描模式与对应亮度变换单元的扫描模式相同。色度变换单元的最小大小为4×4。

在变换单元的大小大于第二大小时,将量化块分成主要子集和多个剩余子集,并且将所确定的扫描模式应用于每个子集。根据所确定的扫描模式分别扫描每个子集的显著标记、系数符号和系数级别。主要子集包括dc系数,剩余子集覆盖了除主要子集覆盖的区域之外的区域。第二大小是4×4。所述子集是包含16个变换系数的4×4块。针对色度的子集也是包含16个变换系数的4×4块。

用于扫描所述子集的扫描模式与用于扫描每个子集的量化变换系数的扫描模式相同。沿相反方向扫描每个子集的量化变换系数。也沿相反方向扫描所述子集。

对最后非零系数位置编码并发送到解码器。最后非零系数位置指定最后非零量化变换系数在变换单元中的位置。使用最后非零系数位置确定在解码器中发送的子集的数量。针对除主要子集和最后子集之外的子集设置非零子集标记。最后子集覆盖最后的非零系数。非零子集标记表示子集是否包含非零系数。

逆量化单元155对量化块所量化的变换系数进行逆量化。

逆变换单元145对逆量化块进行逆变换以产生空间域的残余信号。

加法器194通过将残余块和预测块相加来产生重构块。

后期处理单元180执行去块滤波过程,以消除在重建图画中产生的块效应。

图画存储单元190从后期处理单元180接收经后期处理的图像并在图画单元中存储该图像。图画可以是帧或场。

熵编码单元170对从扫描单元160接收的一维系数信息、从帧内预测单元120接收的帧内预测信息、从帧间预测单元130接收的运动信息等进行熵编码。

图2是根据本发明的图像解码设备200的方框图。

根据本发明的图像解码设备200包括熵解码单元210、逆扫描单元220、逆量化单元230、逆变换单元240、帧内预测单元250、帧间预测单元260、后期处理单元270、图画存储单元280、加法器290和开关295。

熵解码单元210从接收到的比特流提取帧内预测信息、帧间预测信息和一维系数信息。熵解码单元210向帧间预测单元260发送帧间预测信息,向帧内预测单元250发送帧内预测信息,向逆扫描单元220发送所述系数信息。

逆扫描单元220使用逆扫描模式产生量化块。在将cabac用于熵编码时,如下确定扫描模式。

在帧内预测中,由帧内预测模式和变换单元的大小确定逆扫描模式。在对角线扫描、垂直扫描和水平扫描中选择逆扫描模式。将所选择的逆扫描模式分别应用于显著标记、系数符号和系数级别以产生量化块。色度变换单元的逆扫描模式与对应亮度变换单元的扫描模式相同。色度变换单元的最小大小为4×4。

在变换单元的大小等于或小于第一大小时,为垂直模式和垂直模式的预定数量的相邻帧内预测模式选择水平扫描,为水平模式和水平模式的预定数量的相邻帧内预测模式选择垂直扫描,为其他帧内预测模式选择对角线扫描。在变换单元的大小大于第一大小时,使用对角线扫描。在变换单元的大小大于第一大小时,为所有帧内预测模式选择对角线扫描。第一大小为8×8。

在帧间预测中,使用对角线扫描。

在变换单元的大小大于第二大小时,利用所确定的逆扫描模式以子集为单位逆扫描显著标记、系数符号和系数级别以产生子集,逆扫描所述子集以产生量化块。第二大小等于子集的大小。子集是包括16个变换系数的4×4块。针对色度的子集也是4×4块。因此,在色度变换单元的大小大于第二大小时,首先产生子集,并对子集进行逆扫描。

用于产生每个子集的逆扫描模式与用于产生量化块的逆扫描模式相同。沿相反方向逆扫描显著标记、系数符号和系数级别。也沿相反方向逆扫描子集。

从解码器接收最后非零系数位置和非零子集标记。根据最后非零系数位置和逆扫描模式来确定编码子集的数量。使用非零子集标记选择要产生的子集。利用逆扫描模式产生主要子集和最后子集。

逆量化单元230从熵解码单元210接收差分量化参数并产生量化参数预测器,以产生编码单元的量化参数。产生量化参数的操作与图1的量化单元150操作相同。然后,通过将差分量化参数和量化参数预测器相加产生当前编码单元的量化参数。如果不从编码器接收用于当前编码单元的差分量化参数,则将差分量化参数设置为0。

用于表示量化参数和色度量化参数之间关系的参数被包括在pps中。如果允许由切片改变所述关系,则将另一个参数包括在切片报头中。因此,利用量化参数和pps中包括的参数或利用量化参数和所述两个参数来产生色度量化参数。

逆量化单元230对量化块进行逆量化。

逆变换单元240对逆量化块进行逆变换以恢复残余块。根据预测模式和变换单元的大小自适应地确定逆变换类型。逆变换类型是基于dct的整数变换或基于dst的整数变换。例如,在帧间预测中,使用基于dct的整数变换。在帧内预测模式中,如果变换单元的大小小于预定大小,则使用基于dst的整数变换,否则使用基于dct的整数变换。用于色度变换单元的逆变换类型是基于dct的整数变换。

帧内预测单元250利用接收到的帧内预测信息恢复当前预测单元的帧内预测模式,并根据所恢复的帧内预测模式产生预测块。

帧间预测单元260利用接收到的帧间预测信息恢复当前预测单元的运动信息,并利用该运动信息产生预测块。

后期处理单元270与图1的后期处理单元180同样工作。

图画存储单元280从后期处理单元270接收经后期处理的图像并在图画单元中存储所述图像。图画可以是帧或场。

加法器290将所恢复的残余块和预测块相加以产生重构块。

图3是流程图,示出了根据本发明以帧内预测模式产生色度预测块的过程。

利用帧内预测索引导出色度预测单元的色度帧内预测模式(s110)。色度帧内预测模式组包括dc模式、平面模式、垂直模式、水平模式、lm模式和dm模式。将dm模式设置成对应亮度预测单元的亮度帧内预测模式。如果亮度帧内预测模式是dc模式、平面模式、垂直模式、水平模式和lm模式之一,则利用垂直右模式替代该模式。色度预测单元具有亮度预测单元一半的宽度和一半的高度。

确定当前色度块的大小以基于用于指定亮度变换单元大小的变换大小信息来产生色度预测块(s120)。

变换大小信息可以是一个或多个split_tu_flag。因此,当前色度块具有与色度变换单元相同的大小。色度预测块的最小大小为4×4。色度变换单元具有对应亮度变换单元一半的宽度和一半的高度。

如果色度变换单元与预测单元具有相同大小,则将预测单元设置为当前块。

如果色度变换单元的大小小于色度预测单元的大小,则所述预测单元由具有与所述变换单元相同大小的所述预测单元的多个子块构成。将每个子块设置为当前色度块。在这种情况下,针对所述预测单元的第一子块执行步骤s130和s140。然后,按照解码次序针对色度预测单元的剩余子块重复执行步骤s130和s140。为色度预测单元之内的所有子块使用同一色度帧内预测模式。

如果当前色度块的一个或多个参考像素不可用,则产生参考像素(s130)。当前色度块的参考像素包括位于(x=0,…,2n-1,y=-1)的上参考像素、位于(x=1-,y=0,…,2m-1)的左参考像素和位于(x=-1,y=-1)的角像素。n是当前色度块的宽度,m是当前色度块的高度。当前色度块可以是所述预测单元或所述预测单元的子块。

如果所有参考像素都不可用,用值2l-1替代所有参考像素的值。l的值是用于表示亮度像素值的比特数量。

如果可用参考像素仅位于不可用参考像素的一侧,则用最接近不可用像素的参考像素的值替代不可用参考像素。

如果可用参考像素位于不可用参考像素的两侧,则用在每侧最接近不可用像素的参考像素的平均值或在预定方向上最接近不可用像素的参考像素的值来替代每个不可用参考像素。

不论色度帧内预测模式和色度变换单元大小如何,都不过滤当前色度块的参考像素。

产生当前色度块的预测块(s140)。

利用色度帧内预测模式产生所述预测块。对于dc模式、平面模式、垂直模式和水平模式,通过与产生亮度预测块相同的操作产生所述预测块。

图4是流程图,示出了根据本发明产生色度残余块的过程。

对经编码的残余信号进行熵解码以产生量化的系数信息(s210)。在将cabac用于熵编码时,系数信息包括显著标记、系数符号和系数级别。显著标志表示对应的量化变换系数是否为零。系数符号表示非零量化变换系数的符号,系数级别表示非零量化变换系数的绝对值。

确定逆扫描模式并根据该逆扫描模式产生量化块(s220)。

在帧内预测中,由色度帧内预测模式和色度变换单元的大小确定逆扫描模式。在对角线扫描、垂直扫描和水平扫描中选择逆扫描模式。将所选择的逆扫描模式分别应用于显著标记、系数符号和系数级别以产生量化块。色度变换单元的逆扫描模式与对应亮度变换单元的扫描模式相同。色度变换单元的最小大小为4×4。

因此,在色度变换单元的大小等于4×4时,为垂直模式和垂直模式的预定数量的相邻帧内预测模式选择水平扫描,为水平模式和水平模式的预定数量的相邻帧内预测模式选择垂直扫描,为其他帧内预测模式选择对角线扫描。在所述变换单元的大小大于4×4时,使用对角线扫描。

在帧间预测中,使用对角线扫描。

在色度变换单元的大小大于第二大小时,利用所确定的逆扫描模式以子集为单位逆扫描显著标记、系数符号和系数级别以产生子集,并且逆扫描所述子集以产生量化块。第二大小等于所述子集的大小。所述子集是包括16个变换系数的4×4块。

用于产生每个子集的逆扫描模式与用于产生量化块的逆扫描模式相同。沿相反方向逆扫描显著标记、系数符号和系数级别。也沿相反方向逆扫描子集。

从解码器接收最后非零系数位置和非零子集标记。根据最后非零系数位置和逆扫描模式确定经编码的子集的数量。使用非零子集标记选择要产生的子集。利用逆扫描模式产生主要子集和最后子集。

利用色度量化参数对量化块进行逆量化(s230)。从亮度量化参数针对每个色度分量导出色度量化参数。从pps提取用于表示亮度量化参数和色度量化参数之间关系的参数(chroma_qp_index_offset)。如果针对每个切片改变所述关系,则从切片报头提取另一个参数。因此,产生亮度量化参数并从接收到的比特流提取用于表示所述关系的参数。然后,利用亮度量化参数和所述参数产生色度量化参数。

图5是流程图,示出了根据本发明导出亮度量化参数的过程。

导出量化单元的最小大小(s231)。量化单元的最小大小等于lcu的大小或lcu的子块的大小。针对每个图画确定量化单元的最小大小。从pps提取用于指定量化单元最小大小的深度的参数(cu_qp_delta_enabled_info)。如以下方程那样导出量化单元的最小大小:

log2(minqusize)=log2(maxcusize)–cu_qp_delta_enabled_info

minqusize是量化单元的最小大小。maxcusize是lcu的大小。仅使用一个参数来导出量化单元的最小大小。

恢复当前编码单元的差分亮度量化参数(dqp)(s232)。针对每个量化单元恢复dqp。例如,如果当前编码单元的大小等于或大于量化单元的最小大小,则为当前编码单元恢复dqp。如果当前编码单元不包含经编码的dqp,则将dqp设置为零。如果量化单元包括多个编码单元,则包含dqp的第一编码单元和量化单元中的后续编码单元具有相同的dqp。

对经编码的dqp进行算术解码以产生二进制串,并且将该二进制串转换成dqp。二进制串包括用于表示dqp是否为零的二进制。在dqp不是零时,二进制串还包括用于dqp符号的二进制以及用于表示dqp绝对值的二进制串。

产生当前编码单元的亮度量化参数预测器(s233)。

如下利用相邻编码单元的亮度量化参数和先前编码单元的亮度量化参数来产生亮度量化参数预测器。

按照下述次序顺序检索左亮度量化参数、上亮度量化参数和前亮度量化参数。在有两个或更多亮度量化参数可用时,将按照该次序检索的前两个可用亮度量化参数的平均值设置为亮度量化参数预测器,在仅有一个亮度量化参数可用时,将可用的亮度量化参数设置为亮度量化参数预测器。亦即,如果有左和上亮度量化参数可用,则将左和上亮度量化参数的平均值设置为亮度量化参数预测器。如果仅有左和上亮度量化参数之一可用,则将可用亮度量化参数和前一亮度量化参数的平均值设置为亮度量化参数预测器。如果左和上亮度量化参数都不可用,则将前一亮度量化参数设置为亮度量化参数预测器。对平均值进行四舍五入。

如果量化单元包括多个编码单元,则按照解码次序产生第一编码单元的亮度量化参数预测器,并且将所产生的亮度量化参数预测器用于所述量化单元之内所有的编码单元。

利用dqp和亮度量化参数预测器产生亮度量化参数(s234)。

同时,还恢复用户定义的量化矩阵。通过sps或pps从编码设备接收一组用户定义的量化矩阵。利用逆dpcm恢复用户定义的量化矩阵。将对角线扫描用于dpcm。在用户定义的量化矩阵的大小大于8×8时,通过对接收到的8×8量化矩阵的系数进行上采样来恢复用户定义的量化矩阵。从sps或pps提取用户定义的量化矩阵的dc系数。例如,如果用户定义的量化矩阵的大小为16×16,利用1:4上采样对接收到的8×8量化矩阵的系数进行上采样。

通过对逆量化块进行逆变换来产生残余块(s1440)。逆变换类型可以是固定的。将基于dct的整数变换用于水平变换和垂直变换。

通过将色度预测块和色度残余块相加来产生重构的色度块。

尽管已经参考其某些示范性实施例示出并描述了本发明,但本领域的技术人员将理解,可以在其中做出各种形式和细节的改变而不脱离如所附权利要求界定的本发明精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1