基于h.264/avc标准的帧内预测模式选择方法

文档序号:7855283阅读:147来源:国知局
专利名称:基于h.264/avc标准的帧内预测模式选择方法
技术领域
本发明属于数字信号处理技术领域,涉及图像视频压缩编码的实现方法,可用于H. 264/AVC标准中对图像的帧内预测过程。
背景技术
2001年12月,国际电信联盟远程通信标准化组织ITU-T和国际标准化组织及国际电工委员会IS0/IEC成立视频联合工作组JVT,以H. 26x作为开始,致力于制定下一代的视频编码标准。他们共同开发了视频处理编码标准H. 264/AVC,该标准于2003年3月正式获得批准。近年来,H. 264/AVC应用广泛,虽然该标准压缩性能优越,但是计算复杂度很高。视频处理编码标准H. 264/AVC,首先将图像划分成多个宏块,然后对宏块进行预测、变换、量化和熵编码。其中预测包含帧内预测和帧间预测,熵编码方式包含基于上下文 的自适应二进制算术编码CABAC和基于上下文的自适应可变长编码CAVLC。视频压缩是通过去除空间冗余以及时间冗余实现的。帧内预测用于去除空间冗余,而帧间预测用于去除时间冗余。在H. 264帧内预测中,每个宏块亮度分量都要进行9种4X4子块、9种8X8子块以及4种16X 16子块方向预测,然后通过计算代价函数,选取代价函数最小的模式作为最佳预测模式。这里最佳模式的选择有两种方法一种是率失真优化RDO模式,一种是绝对变换差和的值SATD模式。RDO模式代价函数为rdcoSt =SSD+λ *rate,SATD模式的代价函数为cost = SATD。其中,SSD为原图像与当前模式重建图像的差值平方和,SATD为原图像与当前模式预测图像的绝对变换差和,rate是码率,λ为拉格朗日系数。可以看出,RDO模式选择需要计算原图像与当前模式重建图像的差值平方和SSD的值,而SSD的值计算要用到重建图像,需要对块进行变换、量化、逆量化、逆变换以及重建,这种模式选择的精度很高,但是其计算复杂。而SATD模式只需要预测和变换,不需要对块重建,计算复杂度低,但是模式选择的精度也较低。另外,在H. 264的高版本中,进行率失真优化RDO模式选择时,使用CABAC进行码率估计,编码器的状态必须进行保存和恢复,只能顺序的对每一个模式进行率失真优化处理。因此,使用CABAC估计码率的方法难于实现并行运算,与此同时也大幅增加了硬件电路的设计复杂度。目前为止,已提出的快速模式选择方法主要有以下几种哈尔滨工业大学的提出的专利申请“一种应用于H. 264编码的亮度4X4块帧内预测模式快速选择方法”,专利申请号为201110451403. 4,公开了一种应用于H. 264编码的亮度4X4块帧内预测模式快速选择方法。该方法通过分析帧内4X4块预测的基本原理和相应预测公式,得出在不同的预测模式下,相邻像素在整个预测块中具有不同的加权系数,整个预测块内大部分像素是由几个具有较大加权系数的相邻像素所决定的。根据这一特性通过门限阈值来降低候选模式的数量。该方法只是对亮度4X4块进行快速模式选择,虽然编码质量损失较小,但是运算速度的提高并不明显。
上海交通大学提出的专利申请“用于H. 264帧内预测编码的基于DVS的快速模式选择方法”,专利申请号为201110440415. 7,公开了一种用于H. 264帧内预测编码的DVS的快速模式选择方法。该方法通过阈值限定先判断图像内容变化平坦或内容富含细节来决定采用16X 16子块还是4X4子块来预测,再降低所选预测方式的候选模式的数量,从而达到提高速度的目的。但是对于纹理细节没有规律的图像其不能做出正确的判断,反而会增加运算量,性能较差
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于H. 264/AVC标准的帧内预测模式选择方法,以降低模式选择的计算复杂度,且易于硬件的并行实现,满足H. 264/AVC帧内编码的高性能快速要求。实现本发明目的技术思路是在率失真优化RDO最佳预测模式的选择时,通过计算绝对变换差和的值SATD来减少候选预测模式的数量,利用基于上下文的自适应可变长编码CAVLC方法,上下文模型少、易于硬件并行处理的特点,采用CAVLC代替基于上下文的自适应二进制算术编码CABAC进行码率估计,以提高H. 264/AVC帧内编码的速度。具体步骤包括如下(I)输入一个16X16的图像宏块,将该宏块分割成4个8X8的子块、16个4X4的子块和I个16 X 16的子块;(2)对于分割成大小为8X8和4X4的子块,则进行步骤(3),对于分割成大小为16X16的子块,则进行步骤(12);(3)分别计算4个8X8子块中每个子块在H. 264/AVC标准中9种预测模式下的绝对变换差和的值SATD8广SATD89 ;(4)选择每个8X8子块的9个绝对变换差和的值SATD8广SATD89中最小的4个预测模式,作为每个8X8子块的候选预测模式;(5)分别用步骤(4)中所述的4个候选预测模式对每个8X8子块进行预测,得到8X8子块的4个预测残差D8广D84 ;(6)分别计算16个4X4子块中每个子块在H. 264/AVC标准中9种预测模式下的绝对变换差和的值SATD4广SATD49 ;(7)选择每个4X4子块的9个绝对变换差和的值SATD4广SATD49中最小的4个预测模式,作为每个4X4子块的候选预测模式;(8)分别用步骤(7)中所述的4个候选预测模式对每个4X4子块进行预测,得到4X4子块的4个预测残差D4广D44 ;(9)对步骤(5)和步骤(8)得到的预测残差D8广D84、D4广D44依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到每个8X8子块和每个4X4子块在4个候选预测模式下的码率!rateS^rateSp Tatei1^ratei4 ; (10 )通过率失真优化RDO代价函数,计算每个8 X 8子块在4个候选预测模式下的代价值rdcostS广rdCOSt84,选择代价值最小的I个预测模式作为8X8的最佳预测模式;(11)通过率失真优化RDO代价函数,计算每个4X4子块在4个候选预测模式下的代价值rdcostl rdcost44,选择代价值最小的I个预测模式作为4X4子块的最佳预测模式,进行步骤(15);(12)对于16 X 16子块,直接使用H. 264/AVC标准中对其规定的4种预测模式进行预测,得到16X16子块的预测残差Die1Iie4 ;(13)对步骤(12)所述的预测残差Die1Iie4依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到I个16X 16子块在4个预测模式下的码率ratel6广ratel64 ;(14)通过率失真优化RDO代价函数,计算I个16 X 16子块在4种预测模式下的代价值^dcostie^rdcost]^,选择代价值最小的I个预测模式作为该16X16子块的最佳预测模式;(15)通过率失真优化RDO代价函数,分别计算16个4X4子块在最佳预测模式下的16个代价值,并对这16个值求和,作为16个4X4子块的总代价值,记为rdcostzl ;(16)通过率失真优化RDO代价函数,分别计算4个8 X 8子块在最佳预测模式下的4个代价值,并对这4个值求和,作为4个8X8子块的总代价值,记为rdcostz2 ;(17)通过率失真优化RDO代价函数,计算I个16X16子块在最佳预测模式下的I个代价值,记为rdcostz3 ;(18)比较所述rdcostzl、rdcostz2和rdcostz3的大小,选取三者中最小的值所对应的宏块分割方式作为步骤(I)输入的16X16图像宏块最佳预测分割方式。本发明与现有技术相比具有以下优点第一,本发明由于在选择候选预测模式时,采用绝对变换差和的值SATD进行选择的技术,提高了 H. 264/AVC标准的帧内模式选择的速度;第二,本发明由于在对预测残差进行变换时,采用KL变换,能够充分发掘不同模式下预测残差的隐含相关性;第三,本发明由于在选择最佳预测模式时,采用CAVLC代替CABAC进行码率估计,使得H. 264/AVC标准的帧内模式选择易于硬件的快速及并行实现。


图I为本发明实现候选预测模式选择和CAVLC码率估计的总流程图;图2为本发明进行候选预测模式选择的子流程图;图3为本发明实现8X8子块系数重排的子流程图;图4为本发明实现16X16子块系数重排的子流程图。
具体实施例方式本发明是对现有H. 264/AVC标准中帧内预测模式选择技术的改进,不仅可以提高
H.264/AVC标准中的帧内模式选择速度,而且使H. 264/AVC标准的帧内模式选择更易于硬件的并行实现。下面结合附图和实施例对本发明进行详细说明。

参照图1,本发明实现基于H.264/AVC标准的帧内预测模式选择方法的步骤如下步骤I,输入一个大小为16X16的图像宏块,将该宏块分割成三种大小不同的子±夹,即4个大小为8X8的子块、16个大小为4X4的子块和I个大小为16X 16的子块。
步骤2,对于分割成大小为8X8和4X4的子块,则执行步骤3,对于分割成大小为16X16的子块,则进行步骤12。步骤3,并计算每个大小为8X8的子块9种预测模式下的绝对变换差和的值,即SATD8^SATD89。(3a)用H. 264/AVC标准中的9种预测模式对每个大小为8X8的子块进行预测,得到每个8X8子块的预测像素值P8g,其中,g为8X8子块的预测像素值的序号,g的值为0 63 ;(3b)按照H. 264/AVC标准中对大小为8X8子块的绝对变换差和的值的计算公式计算Satds^satds9,计算公式为
权利要求
1.一种基于H. 264/AVC标准的帧内预测模式选择方法,包括如下步骤 (1)输入一个16X16的图像宏块,将该宏块分割成4个8X8的子块、16个4X4的子块和I个16X16的子块; (2)对于分割成大小为8X8和4X4的子块,则进行步骤(3),对于分割成大小为16X16的子块,则进行步骤(12); (3)分别计算4个8X8子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值SATD8广SATD89 ; (4)选择每个8X8子块的9个绝对变换差和的值SATD8广SATD89中最小的4个预测模式,作为每个8X8子块的候选预测模式; (5)分别用步骤(4)中所述的4个候选预测模式对每个8X8子块进行预测,得到8X8子块的4个预测残差DS1IS4; (6)分别计算16个4X4子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值SATD4广SATD49 ; (7)选择每个4X4子块的9个绝对变换差和的值SATD4广SATD49中最小的4个预测模式,作为每个4X4子块的候选预测模式; (8)分别用步骤(7)中所述的4个候选预测模式对每个4X4子块进行预测,得到4X4子块的4个预测残差D4广D44 ; (9)对步骤(5)和步骤(8)得到的预测残差D8广D84、D4广D44依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到每个8X8子块和每个4X4子块在4个候选预测模式下的码率rate8广rate84、rate4广rate44 ; (10)通过率失真优化RDO代价函数,计算每个8X 8子块在4个候选预测模式下的代价值rdcostS广rdCOSt84,选择代价值最小的I个预测模式作为8X8的最佳预测模式; (11)通过率失真优化RDO代价函数,计算每个4X 4子块在4个候选预测模式下的代价值rdCOst4广rdCOst44,选择代价值最小的I个预测模式作为4X4子块的最佳预测模式,进行步骤(15); (12)对于16X 16子块,直接使用H. 264/AVC标准中对其规定的4种预测模式进行预测,得至IJ16X16子块的预测残差Dieroie4 ; (13)对步骤(12)所述的预测残差DieiIie4依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到I个16X 16子块在4个预测模式下的码率ratel6广ratel64 ; (14)通过率失真优化RDO代价函数,计算I个16X 16子块在4种预测模式下的代价值idcostie^rdcostl^,选择代价值最小的I个预测模式作为该16X16子块的最佳预测模式; (15)通过率失真优化RDO代价函数,分别计算16个4X4子块在最佳预测模式下的16个代价值,并对这16个值求和,作为16个4X4子块的总代价值,记为rdcostzl ; (16)通过率失真优化RDO代价函数,分别计算4个8X 8子块在最佳预测模式下的4个代价值,并对这4个值求和,作为4个8X8子块的总代价值,记为rdcostz2 ; (17)通过率失真优化RDO代价函数,计算I个16X 16子块在最佳预测模式下的I个代价值,记为rdcostz3 ;(18)比较所述rdcostzl、rdcostz2和rdcostz3的大小,选取三者中最小的值所对应的宏块分割方式作为步骤(I)输入的16X16图像宏块最佳预测分割方式。
2.根据权利要求I所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(3)所述的分别计算4个8X8子块中每个子块在H. 264/AVC标准中9种预测模式下的绝对变换差和的值,是按照H. 264/AVC标准中对8X8子块的绝对变换差和的值的计算公式进行,即 63 SATmx = [ \HadamardiP^a - P8g)\, 其中,X为8X8子块H. 264/AVC标准中9种预测模式的序号,其值为广9,P8mS8X8子块的原始像素值,P8g为8X8子块的预测像素值,m为8X8子块的原始像素值的序号,其 值为0飞3,g为8X8子块的预测像素值的序号,其值为(Γ63。
3.根据权利要求I所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(6)所述的分别计算16个4X4子块中每个子块在H. 264/AVC标准中9种预测模式下的绝对变换差和的值,是按照H. 264/AVC标准中对4X4子块的绝对变换差和的值的计算公式进行,即 15 SATMr = [ \Hadamard(P4p - P4h)\, 其中,y为4X4子块H. 264/AVC标准中9种预测模式的序号,其值为广9,P4p为4X4子块的原始像素值,P4h为4X4子块的预测像素值,P为4X4子块的原始像素值的序号,其值为0 15,h为4X4子块的预测像素值的序号,其值为(Γ15。
4.根据权利要求I所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(9)和步骤(13)所述的依次对预测残差进行KL变换、量化和CAVLC码率估计,按照如下步骤进行 (4a)对不同大小的子块选取不同的变换方式,即对4个8 X 8子块和16个4 X 4子块采用一维KL变换,对I个16 X 16子块采用二维KL变换; (4b)对步骤(4a)所述的4个8 X 8子块、16个4 X 4子块和I个16 X 16子块的KL变换结果,按照H. 264/AVC标准中的量化方式进行量化; (4c)对步骤(4b)得到的4个8X8子块和I个16X 16子块的量化结果,进行系数重排; (4d)对步骤(4a)得到的16个4X4子块的量化结果和步骤(4c)得到的系数重排结果,用基于上下文的自适应可变长编码CAVLC来代替基于上下文的自适应二进制算术编码CABAC进行码率估计,得到每个8 X 8子块、4 X 4子块和16 X 16子块在4种预测模式下的码率 rate81^rate84> rate4广rate44、ratel^^ratel^o
5.根据权利要求I所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(10)中所述的通过率失真优化RDO代价函数计算每个8X8子块在4个候选预测模式下的代价值,是按照H. 264/AVC标准中对8X8子块的代价值计算公式进行,即rdcostSi = SSDSi+ λ ^rateSi, 其中,i为8X8子块4种候选预测模式的序号,其值为广4,λ为拉格朗日系数,rateSi为8X8子块的码率,SSDei为8X8子块的原始像素和重建像素之间的失真度,SSDSi的计算公式如下
6.根据权利要求I所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(11)中所述的通过率失真优化RDO代价函数计算每个4X4子块在4个候选预测模式下的代价值,是按照H. 264/AVC标准中对4X4子块的代价值计算公式进行,即rdcost4j = SSD4j+入 *rate4j, 其中,j为4X4子块4种候选预测模式的序号,其值为广4,λ为拉格朗日系数,ratel为4X4子块的码率,SSD4j为4X4子块的原始像素和重建像素之间的失真度,SSD4」的计算公式如下
7.根据权利要求I所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(14)中所述的通过率失真优化RDO代价函数计算16 X 16子块在4种预测模式下的代价值,是按照H. 264/AVC标准中对16 X 16子块的代价值计算公式进行,即rdcostl6k = SSD16k+λ *ratel6k, 其中,k为16X16子块H. 264/AVC标准中4种预测模式的序号,其值为广4,λ为拉格朗日系数,ratel6k为16 X 16子块的码率,SSD16k为16 X 16子块的原始像素和重建像素之间的失真度,SSDiek的计算公式如下
全文摘要
本发明公开一种基于H.264/AVC标准的帧内预测模式选择方法,主要解决现有H.264/AVC标准的帧内模式选择复杂和硬件难以并行实现的问题。其实现步骤为首先,对4×4子块和8×8子块的所有预测模式利用绝对变换差和的值SATD进行初选,得到4种候选预测模式;再对这4种候选模式进行率失真优化RDO选择最佳预测模式;其次,在变换中采用KL变换代替DCT变换;最后,利用基于上下文的自适应可变长编码CAVLC代替基于上下文的自适应二进制算术编码CABAC进行码率估计。本发明不仅提高了H.264/AVC标准的帧内模式选择的速度,而且使H.264/AVC标准的帧内模式选择易于硬件的快速和并行实现,可用于H.264/AVC标准中的帧内预测过程。
文档编号H04N7/32GK102740077SQ20121023040
公开日2012年10月17日 申请日期2012年7月4日 优先权日2012年7月4日
发明者周蕾蕾, 张犁, 李甫, 杨海舟, 樊春晓, 王晓甜, 石光明 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1