一种通过有效残差系数分析提高编码效率的方法转让专利

申请号 : CN200610030534.4

文献号 : CN101137047B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 欧阳合唐谦叶玉国仲巡黄小振沈立芸林晓芸

申请人 : 昆山杰得微电子有限公司

摘要 :

本发明公开了一种通过有效残差系数分析提高编码效率的方法。包括两个流程:残差系数编码流程和残差系数分析流程,首先,编码过程中获得了量化后的残差系数,此时,根据残差系数的相对位置,进行加权;残差系数按照指定的方式进行扫描,得到编码需要的run和level,残差系数level对应不同的run,编码代价不同,据此对残差系数进一步加权;将此加权值与给定的阈值进行比较,调整残差系数的取值;最后,重新获得新的run和level值,进行编码。本方法通过在残差系数编码的过程中,分析残差的不同特征,调整残差的值,从而提高编码效率和编码质量。

权利要求 :

1.一种通过有效残差系数分析提高编码效率的方法,其特征在于,包括如下步骤:对DCT变换后的残差系数进行量化;根据所得到的量化系数的不同位置查表得到加权值,并对量化系数进行加权处理;按规定方式对量化系数进行扫描,记录run和level值,其中run值为两个非零系数之间的间隔,level值为非零系数的取值;根据量化系数对应的run值作进一步加权,其中加权值与所述run值的关系是:run值越大,加权值越小,令α=加权值/run值,α的取值范围为-1到-10之间;将加权后的量化系数值与阈值进行比较,该阈值与量化步长成正比,比例为1到4倍,若加权后的量化系数值小于该阈值,该量化系数将被忽略;对最终获得的run和level值分别进行编码。

说明书 :

技术领域

本发明涉及计算机及微电子领域中的数字视频压缩技术,特别是针对基于DCT(离散余弦变换,Discrete Cosine Transform)变换的视频压缩技术和硬件实现技术,尤其涉及一种通过有效残差系数分析提高编码效率的方法。

背景技术

现代视频压缩技术,包括MPEG-1,2,4,WMV,H.264,残差系数多在进行了DCT变换后,对变换域的系数进行编码。通过对残差系数的特殊分析处理,可以有效提高视频的编码效率和编码质量,但如何用简单的硬件实现,却是业界的一个技术问题。

发明内容

本发明要解决的技术问题是提供一种通过有效残差系数分析提高编码效率的方法,可以用简单的硬件有效提高视频的编码效率和编码质量。
为解决上述技术问题,本发明的方法包括如下步骤:对DCT变换后的残差系数进行量化;根据所得到的量化系数的不同位置查表得到加权值,并对量化系数进行加权处理;按规定方式对量化系数进行扫描,记录run和level值,其中run值为两个非零系数之间的间隔,level值为非零系数的取值;根据量化系数对应的run值作进一步加权,其中加权值与所述run值的关系是:run值越大,加权值越小,令α=加权值/run值,α的取值范围为-1到-10之间;将加权后的量化系数值与阈值进行比较,该阈值与量化步长成正比,比例为1到4倍,若加权后的量化系数值小于该阈值,该量化系数将被忽略;对最终获得的run和level值分别进行编码。
本发明方法由于针对特定位置上的残差系数进行区别处理的机制,而不是所有的残差系数都采用直接编码的策略,从而在保证了一定的压缩质量的前提下,有效地减少了编码的数据量。同时,在对不同的位置上的系数进行加权运算的时候,权值的获取相对简单、有效,不包含乘除法,能用简单的硬件进行实现。

附图说明

图1是进行4x4Zig-zag Scan(锯齿形扫描)的示意图;
图2是进行4x4Field Scan(场方式齿形扫描)的示意图;
图3是进行8x8Zig-zag Scan的示意图;
图4是进行8x8Field Scan的示意图;
图5残差系数分析编码流程图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明所述的是对视频编码中残差系数的特殊分析处理,以有效提高视频的编码效率和编码质量的方法。其原理是:对DCT变换后的系数进行加权,以体现其在编码时的重要程度,根据图像质量的需求进行合理的取舍。
一般而言,DCT变换后的图像残差系数,将集中在低频部分,这也是视频压缩时,对残差进行DCT变换的原因。而在实际的编码过程中,偶尔在高频部分还存在着残差数据。由于这类数据的罕见性,导致了在视频压缩的规范中,其编码代价很大。对于重要的高频细节,不能够随意丢弃,因为高频细节会对人眼观察的主观质量产生影响,而且由于视频数据的相关性,数据质量的损失是不可恢复,并且损失会在图像序列中传递。
本发明的方法首先是根据编码的量化系数来选择阈值,对小于该阈值的残差系数进行加权处理。在图像编码中,通过调整量化系数Qp,可以改变残差系数的大小,但是其调整针对整个MB进行,没有考虑到不同位置上残差系数对图像质量的贡献不同。本发明结合了残差系数的量化系数Qp、相对位置、残差系数位置相关性等,进行加权处理。
具体的方法如图5所示:首先,编码过程中获得了量化后的残差系数,此时,根据残差系数的相对位置,进行加权;残差系数按照指定的方式进行扫描,得到编码需要的run和level值,残差系数level对应不同的run,编码代价不同,据此对残差系数进一步加权;将此加权值与给定的阈值进行比较,调整残差系数的取值;最后,重新获得新的run和level值,进行编码。
首先,不同的量化系数下,编码的视频数据的质量有明显的不同,因此,针对不同的量化系数,需要采用不同的方式。
例如,在h.264中,量化系数Qp的范围是0到51。可以将其分为5个区域:
Qp<12                                 (1)
12<Qp<40                             (2)
Qp>40                                 (3)
对于Qp值位于区域(1)的压缩序列,量化后的图像损失很小,残差系数多而且精度要求高,一般不需要对残差进行处理,从而降低复杂度。
对于Qp值位于区域(3)的压缩序列,量化后图像损失较大,量化后的残差系数虽然少,但是比较重要,一般也不需要对残差进行处理。
因此,我们主要针对Qp值位于区域(2)的压缩序列进行加权处理。加权的基本因子与量化系数Qp相关。
视频编码对于残差系数一般按照特定的规则进行排序。通常采用如图所示的方式。对于8x8和4x4的DCT变换各有两种方式。每种方式对应的计数方式与视频压缩规范定义一致(如图1-图4所示)。图中的锯齿形扫描(Zig-Zag Scan)就是要将一个区块(block)量化后的DCT系数依低频到高频排列。
扫描的顺序一定程度上说明了残差系数的频率分布,位置越靠后,频率越高,出现较大残差值的概率也越小,重要性也相应降低。

1+3+5+7=16,                                (1)
和1+3+5+…+15=64;                          (2)
我们可以将所有位置上的残差系数分为4组和8组;第n组中系数的个数为2n-1,每组通过查表(见表1,2)获得不同的加权值An。
0    1    2    3
96   80   64   54
表14x4分组残差加权值
0    1     2    3    4    5    6    7
128  100   90   80   72   64   60   56
表28x8分组残差加权值
同时,按图中的系数排列方式,进行逆序计数,将从此非0系数开始到下一个非0系数之间的0的个数(也就是视频编码规范中的run参数)也作为加权值,对第k个系数的run的加权值Vk与run的关系是:run值越大,Vk越小。
Vk=α×run                                (3)
其中α为负的常数,取值范围在-1到-10之间,常用取值为-4。
令Ck为第n组的一个残差系数,总的残差系数加权公式可以表示为:
Mk=Ck×An+Vk                              (4)
当加权后的残差系数小于指定的阈值Rn的时候,这个残差系数将被忽略。通常阈值与量化系数成正比,1到4倍为宜,一般Rn=2×Qp。
我们以一组4x4DCT后的系数为例,说明整个流程:
1、假定一组量化后的系数经过扫描后0到15位置上的系数如下表所示:
0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15
20   8    0    0    3    0    0    0    1    0   0    0    0    1    0    0
这样4x4Zig-zag扫描后得到的run,level如下:
level 1,run 4
level 1,run 3
level 3,run 2
level 8,run 0
level 20,run 0
2、计算level 1的权重如下:
M=54×1-4×4=38,
计算level 1的权重如下:
M=54×1-4×3=42,
计算level 3的权重如下:
M=64×3-4×2=184
计算level 8的权重如下:
M=80×8-4×0=640,
计算level 20的权重如下:
M=96×20-4×0=1920
可见,当Qp=20的时候,阈值R=20×2=40;保留1,3,8,20四个系数;当Qp=24的时候,阈值R=24×2=48;保留3,8,20三个系数。结果表明,在低的量化系数Qp下,视频数据的细节(小的高频系数)被保留,保证了编码质量;高Qp下,细节部分被舍弃,可以提高编码效率。总体而言,如何进行取舍,充分考虑了视频编码的特性,提高了编码性能。
由上面所述的处理步骤可以看到,本发明的方法的具体实施与当前编码的量化系数、DCT变换的阶数(一般为4x4或8x8)等相关,充分结合了视频编码的特点,并且与整个编码过程相结合,额外的开销很小。本发明的方法在软硬件环境中都能很容易的实现,例如:
本发明采用了只有简单的加法、移位和查表工作,便于实现。整个残差系数的分析过程与编码过程结合紧密,有效降低了实现的复杂度。
本发明方法可以广泛应用于基于DCT变换的视频编码应用。
综上所述,本发明提出在视频编码的过程中,针对特定位置上的残差系数进行区别处理的机制,对不同的位置上的系数进行加权运算,而不是所有的残差系数都采用直接编码的策略。加权处理不仅考虑了系数的位置,同时考虑系数间距离对编码的影响,权值的获取相对简单、有效。在这一策略中,不包含乘除法,能用简单的硬件进行实现。