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

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

Info

Publication number
CN102740077B
CN102740077B CN201210230402.1A CN201210230402A CN102740077B CN 102740077 B CN102740077 B CN 102740077B CN 201210230402 A CN201210230402 A CN 201210230402A CN 102740077 B CN102740077 B CN 102740077B
Authority
CN
China
Prior art keywords
sub
blocks
value
avc
standard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210230402.1A
Other languages
English (en)
Other versions
CN102740077A (zh
Inventor
李甫
周蕾蕾
石光明
张犁
樊春晓
王晓甜
杨海舟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201210230402.1A priority Critical patent/CN102740077B/zh
Publication of CN102740077A publication Critical patent/CN102740077A/zh
Application granted granted Critical
Publication of CN102740077B publication Critical patent/CN102740077B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开一种基于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标准中的帧内预测过程。

Description

基于H.264/AVC标准的帧内预测模式选择方法
技术领域
本发明属于数字信号处理技术领域,涉及图像视频压缩编码的实现方法,可用于H.264/AVC标准中对图像的帧内预测过程。
背景技术
2001年12月,国际电信联盟远程通信标准化组织ITU-T和国际标准化组织及国际电工委员会ISO/IEC成立视频联合工作组JVT,以H.26x作为开始,致力于制定下一代的视频编码标准。他们共同开发了视频处理编码标准H.264/AVC,该标准于2003年3月正式获得批准。近年来,H.264/AVC应用广泛,虽然该标准压缩性能优越,但是计算复杂度很高。
视频处理编码标准H.264/AVC,首先将图像划分成多个宏块,然后对宏块进行预测、变换、量化和熵编码。其中预测包含帧内预测和帧间预测,熵编码方式包含基于上下文的自适应二进制算术编码CABAC和基于上下文的自适应可变长编码CAVLC。
视频压缩是通过去除空间冗余以及时间冗余实现的。帧内预测用于去除空间冗余,而帧间预测用于去除时间冗余。在H.264帧内预测中,每个宏块亮度分量都要进行9种4×4子块、9种8×8子块以及4种16×16子块方向预测,然后通过计算代价函数,选取代价函数最小的模式作为最佳预测模式。这里最佳模式的选择有两种方法:一种是率失真优化RDO模式,一种是绝对变换差和的值SATD模式。RDO模式代价函数为:rdcost=SSD+λ*rate,SATD模式的代价函数为:cost=SATD。其中,SSD为原图像与当前模式重建图像的差值平方和,SATD为原图像与当前模式预测图像的绝对变换差和,rate是码率,λ为拉格朗日系数。
可以看出,RDO模式选择需要计算原图像与当前模式重建图像的差值平方和SSD的值,而SSD的值计算要用到重建图像,需要对块进行变换、量化、逆量化、逆变换以及重建,这种模式选择的精度很高,但是其计算复杂。而SATD模式只需要预测和变换,不需要对块重建,计算复杂度低,但是模式选择的精度也较低。
另外,在H.264的高版本中,进行率失真优化RDO模式选择时,使用CABAC进行码率估计,编码器的状态必须进行保存和恢复,只能顺序的对每一个模式进行率失真优化处理。因此,使用CABAC估计码率的方法难于实现并行运算,与此同时也大幅增加了硬件电路的设计复杂度。
目前为止,已提出的快速模式选择方法主要有以下几种:
哈尔滨工业大学的提出的专利申请“一种应用于H.264编码的亮度4×4块帧内预测模式快速选择方法”,专利申请号为201110451403.4,公开了一种应用于H.264编码的亮度4×4块帧内预测模式快速选择方法。该方法通过分析帧内4×4块预测的基本原理和相应预测公式,得出在不同的预测模式下,相邻像素在整个预测块中具有不同的加权系数,整个预测块内大部分像素是由几个具有较大加权系数的相邻像素所决定的。根据这一特性通过门限阈值来降低候选模式的数量。该方法只是对亮度4×4块进行快速模式选择,虽然编码质量损失较小,但是运算速度的提高并不明显。
上海交通大学提出的专利申请“用于H.264帧内预测编码的基于DVS的快速模式选择方法”,专利申请号为201110440415.7,公开了一种用于H.264帧内预测编码的DVS的快速模式选择方法。该方法通过阈值限定先判断图像内容变化平坦或内容富含细节来决定采用16×16子块还是4×4子块来预测,再降低所选预测方式的候选模式的数量,从而达到提高速度的目的。但是对于纹理细节没有规律的图像其不能做出正确的判断,反而会增加运算量,性能较差。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于H.264/AVC标准的帧内预测模式选择方法,以降低模式选择的计算复杂度,且易于硬件的并行实现,满足H.264/AVC帧内编码的高性能快速要求。
实现本发明目的技术思路是:在率失真优化RDO最佳预测模式的选择时,通过计算绝对变换差和的值SATD来减少候选预测模式的数量,利用基于上下文的自适应可变长编码CAVLC方法,上下文模型少、易于硬件并行处理的特点,采用CAVLC代替基于上下文的自适应二进制算术编码CABAC进行码率估计,以提高H.264/AVC帧内编码的速度。具体步骤包括如下:
(1)输入一个16×16的图像宏块,将该宏块分割成4个8×8的子块、16个4×4的子块和1个16×16的子块;
(2)对于分割成大小为8×8和4×4的子块,则进行步骤(3),对于分割成大小为16×16的子块,则进行步骤(12);
(3)分别计算4个8×8子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值SATD81~SATD89
(4)选择每个8×8子块的9个绝对变换差和的值SATD81~SATD89中最小的4个预测模式,作为每个8×8子块的候选预测模式;
(5)分别用步骤(4)中所述的4个候选预测模式对每个8×8子块进行预测,得到8×8子块的4个预测残差D81~D84
(6)分别计算16个4×4子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值SATD41~SATD49
(7)选择每个4×4子块的9个绝对变换差和的值SATD41~SATD49中最小的4个预测模式,作为每个4×4子块的候选预测模式;
(8)分别用步骤(7)中所述的4个候选预测模式对每个4×4子块进行预测,得到4×4子块的4个预测残差D41~D44
(9)对步骤(5)和步骤(8)得到的预测残差D81~D84、D41~D44依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到每个8×8子块和每个4×4子块在4个候选预测模式下的码率:rate81~rate84、rate41~rate44
(10)通过率失真优化RDO代价函数,计算每个8×8子块在4个候选预测模式下的代价值rdcost81~rdcost84,选择代价值最小的1个预测模式作为8×8的最佳预测模式;
(11)通过率失真优化RDO代价函数,计算每个4×4子块在4个候选预测模式下的代价值rdcost41~rdcost44,选择代价值最小的1个预测模式作为4×4子块的最佳预测模式,进行步骤(15);
(12)对于16×16子块,直接使用H.264/AVC标准中对其规定的4种预测模式进行预测,得到16×16子块的预测残差D161~D164
(13)对步骤(12)所述的预测残差D161~D164依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到1个16×16子块在4个预测模式下的码率:rate161~rate164
(14)通过率失真优化RDO代价函数,计算1个16×16子块在4种预测模式下的代价值:rdcost161~rdcost164,选择代价值最小的1个预测模式作为该16×16子块的最佳预测模式;
(15)通过率失真优化RDO代价函数,分别计算16个4×4子块在最佳预测模式下的16个代价值,并对这16个值求和,作为16个4×4子块的总代价值,记为rdcostz1;
(16)通过率失真优化RDO代价函数,分别计算4个8×8子块在最佳预测模式下的4个代价值,并对这4个值求和,作为4个8×8子块的总代价值,记为rdcostz2;
(17)通过率失真优化RDO代价函数,计算1个16×16子块在最佳预测模式下的1个代价值,记为rdcostz3;
(18)比较所述rdcostz1、rdcostz2和rdcostz3的大小,选取三者中最小的值所对应的宏块分割方式作为步骤(1)输入的16×16图像宏块最佳预测分割方式。
本发明与现有技术相比具有以下优点:
第一,本发明由于在选择候选预测模式时,采用绝对变换差和的值SATD进行选择的技术,提高了H.264/AVC标准的帧内模式选择的速度;
第二,本发明由于在对预测残差进行变换时,采用KL变换,能够充分发掘不同模式下预测残差的隐含相关性;
第三,本发明由于在选择最佳预测模式时,采用CAVLC代替CABAC进行码率估计,使得H.264/AVC标准的帧内模式选择易于硬件的快速及并行实现。
附图说明
图1为本发明实现候选预测模式选择和CAVLC码率估计的总流程图;
图2为本发明进行候选预测模式选择的子流程图;
图3为本发明实现8×8子块系数重排的子流程图;
图4为本发明实现16×16子块系数重排的子流程图。
具体实施方式
本发明是对现有H.264/AVC标准中帧内预测模式选择技术的改进,不仅可以提高H.264/AVC标准中的帧内模式选择速度,而且使H.264/AVC标准的帧内模式选择更易于硬件的并行实现。
下面结合附图和实施例对本发明进行详细说明。
参照图1,本发明实现基于H.264/AVC标准的帧内预测模式选择方法的步骤如下:
步骤1,输入一个大小为16×16的图像宏块,将该宏块分割成三种大小不同的子块,即4个大小为8×8的子块、16个大小为4×4的子块和1个大小为16×16的子块。
步骤2,对于分割成大小为8×8和4×4的子块,则执行步骤3,对于分割成大小为16×16的子块,则进行步骤12。
步骤3,并计算每个大小为8×8的子块9种预测模式下的绝对变换差和的值,即SATD81~SATD89
(3a)用H.264/AVC标准中的9种预测模式对每个大小为8×8的子块进行预测,得到每个8×8子块的预测像素值P8g,其中,g为8×8子块的预测像素值的序号,g的值为0~63;
(3b)按照H.264/AVC标准中对大小为8×8子块的绝对变换差和的值的计算公式计算SATD81~SATD89,计算公式为:
SATD 8 x = Σ m , g = 0 63 | Hadamard ( P 8 m - P 8 g ) | ,
其中,x为8×8子块H.264/AVC标准中9种预测模式的序号,其值为1~9,P8m为8×8子块的原始像素值,m为8×8子块的原始像素值的序号,其值为0~63。
步骤4,选择每个8×8子块的9种预测模式下绝对变换差和的值SATD81~SATD89中最小的4个值,将这4个值所对应的预测模式,作为每个8×8子块的候选预测模式。
参照图2,本步骤的具体实现如下:
(4a)将每个8×8子块的9个绝对变换差和的值SATD81~SATD89,存入一个数组a[0]~a[8]中,即将SATD81存入a[0],将SATD82存入a[1],依此类推;
(4b)将数组a[0]~a[8]中的最小的4个值所对应的预测模式存入另外一个数组b[0]~b[3]中,作为8×8子块的候选预测模式。
步骤5,分别用步骤4中所述的4个候选预测模式对每个8×8子块进行预测,按照H.264/AVC标准中对预测残差的计算方法,得到每个8×8子块的4个预测残差D81~D84
步骤6,用H.264/AVC标准中9种预测模式对每个大小为4×4的子块进行预测,并计算每个4×4子块在9种预测模式下的绝对变换差和的值,即SATD41~SATD49
(6a)用H.264/AVC标准中9种预测模式对每个大小为4×4的子块进行预测,得到每个4×4子块的预测像素值P4h,其中,h为4×4子块的预测像素的序号,h的值为0~15;
(6b)按照H.264/AVC标准中对4×4子块的绝对变换差和的值的计算公式计算SATD41~SATD49,计算公式为:
SATD 4 y = Σ p , h = 0 15 | Hadamard ( P 4 p - P 4 h ) | ,
其中,y为4×4子块H.264/AVC标准中9种预测模式的序号,其值为1~9,P4p为4×4子块的原始像素值,p为4×4子块的原始像素值的序号,其值为0~15。
步骤7,选择每个4×4子块的9种预测模式下绝对变换差和的值SATD41~SATD49中最小的4个值,将这4个值所对应的预测模式,作为每个4×4子块的候选预测模式。
(7a)将每个4×4子块的9个绝对变换差和的值SATD41~SATD49,存入一个数组c[0]~c[8]中,即将SATD41存入c[0],将SATD42存入c[1],依此类推;
(7b)将数组c[0]~c[8]中的最小的4个值所对应的模式存入另外一个数组d[0]~d[3]中,作为4×4子块的候选预测模式。
步骤8,分别用步骤(7)中所述的4个候选预测模式对每个4×4子块进行预测,按照H.264/AVC标准中的4×4子块预测残差计算方法,得到每个4×4子块的4个预测残差D41~D44
步骤9,对步骤(5)和步骤(8)得到的预测残差D81~D84、D41~D44依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到每个8×8子块和每个4×4子块在4个候选预测模式下的码率:rate81~rate84、rate41~rate44
(9a)对4个大小为8×8的子块和16个大小为4×4的子块的预测残差D81~D84、D41~D44进行一维KL变换;
(9b)将步骤(9a)中对4个8×8子块和16个4×4子块的KL变换结果,按照H.264/AVC标准中的量化方式进行量化;
(9c)对步骤(9b)得到的4个8×8子块的量化结果,进行系数重排;
参照图3,对每个8×8子块的量化结果进行系数重排步骤如下:
首先,将8×8子块的量化结果排成一个大小为8×8的矩阵,如图3(a)为8×8子块的量化结果,图3(b)为排成的大小为8×8的矩阵;
然后,将这个大小为8×8的矩阵的每两列重排成一个大小为4×4的矩阵,如图3(b)中的阴影部分为8×8矩阵的第0列和第1列,将这两列重排,得到图3(c)中编号为0、大小为4×4的矩阵,依此类推,得到4个大小为4×4的矩阵;
(9d)对步骤(9c)得到的4个8×8子块的系数重排结果和步骤(9a)得到的16个4×4子块的量化结果,用基于上下文的自适应可变长编码CAVLC来代替基于上下文的自适应二进制算术编码CABAC进行码率估计,得到每个8×8子块和每个4×4子块在4种候选预测模式下的码率rate81~rate84、rate41~rate44
步骤10,通过率失真优化RDO代价函数,计算每个8×8子块在4个候选预测模式下的代价值rdcost81~rdcost84,选择代价值最小的1个预测模式作为8×8的最佳预测模式。
(10a)用步骤4得到的大小为8×8的子块的候选模式对每个大小为8×8的子块进行预测和重建,得到每个8×8的子块的重建像素值P8n,其中,n为8×8子块的重建像素值的序号,其值为0~63;
(10b)按照H.264/AVC标准中对8×8子块的失真度的计算公式,计算每个8×8的子块原始像素和重建像素之间的失真度SSD8i,计算公式如下:
SSD 8 i = Σ m , n = 0 63 | P 8 m - P 8 n | 2 ,
其中,i为8×8子块4种候选预测模式的序号,其值为1~4,P8m为8×8子块的原始像素值,m为8×8子块的原始像素值的序号,其值为0~63;
(10c)按照H.264/AVC标准中对8×8子块的代价值计算公式,计算每个8×8子块在4个候选预测模式下的代价值rdcost81~rdcost84,计算公式如下:
rdcost8i=SSD8i+λ*rate8i
其中,λ为拉格朗日系数,rate8i为8×8子块的码率;
(10d)选取rdcost81~rdcost84中代价值最小的1个代价值所对应的预测模式作为每个8×8子块的最佳预测模式。
步骤11,通过率失真优化RDO代价函数,计算每个4×4子块在4个候选预测模式下的代价值rdcost41~rdcost44,选择代价值最小的1个预测模式作为4×4子块的最佳预测模式。
(11a)用步骤7得到的大小为4×4的子块的候选模式对每个大小为4×4的子块进行预测和重建,得到每个4×4的子块的重建像素值P4q,其中,q为4×4子块的重建像素值的序号,其值为0~15;
(11b)按照H.264/AVC标准中对4×4子块的失真度的计算公式,计算每个4×4的子块原始像素和重建像素之间的失真度SSD4j,计算公式如下:
SSD 4 j = Σ p , q = 0 15 | P 4 p - P 4 q | 2 ,
其中,j为4×4子块4种候选预测模式的序号,其值为1~4,P4p为4×4子块的原始像素值,p为4×4子块的原始像素值的序号,其值为0~15;
(11c)按照H.264/AVC标准中对4×4子块的代价值计算公式,计算每个4×4子块在4个候选预测模式下的代价值rdcost41~rdcost44,计算公式如下:
rdcost4j=SSD4j+λ*rate4j
其中,λ为拉格朗日系数,rate4j为4×4子块的码率;
(11d)选取rdcost41~rdcost44中代价值最小的1个代价值所对应的预测模式作为每个4×4子块的最佳预测模式,进行步骤15。
步骤12,对于16×16子块,直接使用H.264/AVC标准中对其规定的4种预测模式进行预测,得到16×16子块的预测残差D161~D164
步骤13,对步骤12所述的预测残差D161~D164依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到1个16×16子块在4个预测模式下的码率:rate161~rate164
(13a)对1个16×16子块的预测残差D161~D164进行二维KL变换;
(13b)对步骤(13a)中所述的1个16×16子块的KL变换结果,按照H.264/AVC标准中的量化方式进行量化;
(13c)对步骤(13b)得到的1个16×16子块的量化结果,进行系数重排:
参照图4,对16×16子块的量化结果进行系数重排的步骤如下:
首先,将16×16子块的量化结果排成一个大小为16×16的矩阵,如图4(a)为16×16子块的量化结果,图4(b)为排成的大小为16×16的矩阵;
然后,将该16×16矩阵的每一列都重排成1个4×4矩阵,如图4(b)中16×16块的阴影部分为第0列,将该列重排,得到图4(c)中编号为0的大小为4×4的矩阵,依此类推,得到16个大小为4×4的矩阵;
(13d)对步骤(13c)得到的1个16×16子块的量化结果,用基于上下文的自适应可变长编码CAVLC来代替基于上下文的自适应二进制算术编码CABAC进行码率估计,得到1个16×16子块在4种预测模式下的码率:rate161~rate164
步骤14,通过率失真优化RDO代价函数,计算1个16×16子块在4种预测模式下的代价值:rdcost161~rdcost164,选择代价值最小的1个预测模式作为该16×16子块的最佳预测模式。
(11a)用H.264/AVC标准中对16×16子块的4种预测模式对大小为16×16的子块进行预测和重建,得到大小为16×16的子块的重建像素值P16b,其中,b为16×16子块的重建像素值的序号,其值为0~255;
(11b)按照H.264/AVC标准中对大小为16×16子块的失真度的计算公式,计算16×16子块原始像素和重建像素之间的失真度SSD16k,计算公式如下:
SSD 16 k = Σ a , b = 0 255 | P 16 a - P 16 b | 2 ,
其中,k为16×16子块H.264/AVC标准中4种预测模式的序号,其值为1~4,P16a为16×16子块的原始像素值,a为16×16子块的原始像素值的序号,其值为0~255;
(11c)按照H.264/AVC标准中对大小为16×16的子块的代价值计算公式,计算16×16子块在4个候选预测模式下的代价值rdcost161~rdcost164,计算公式如下:
rdcost16k=SSD16k+λ*rate16k
其中,λ为拉格朗日系数,rate16k为16×16子块的码率;
(11d)选取rdcost161~rdcost164中代价值最小的1个代价值所对应的预测模式作为大小为16×16子块的最佳预测模式。
步骤15,通过率失真优化RDO代价函数,分别计算16个大小为4×4的子块在最佳预测模式下的16个代价值,并对这16个值求和,作为16个大小为4×4的子块的总代价值,记为rdcostz1。
(15a)按照H.264/AVC标准中对4×4子块的代价值计算公式,计算16个4×4子块在最佳预测模式下的代价值,计算公式如下:
rdcostz4r=SSDz4r+λ*ratez4r
其中,r为16个4×4子块的16个序号,其值为1~16,λ为拉格朗日系数,ratez4r为16个4×4子块最佳预测模式下的码率,SSDz4r为16个4×4子块的原始像素和在最佳预测模式下重建像素之间的失真度,SSDz4r的计算公式如下:
SSDz 4 r = Σ p , c = 0 15 | P 4 p - P 4 c | 2 ,
其中,P4p为4×4子块的原始像素值,P4c为4×4子块在最佳预测模式下的重建像素值,p为4×4子块的原始像素值的序号,其值为0~15,c为4×4子块在最佳预测模式下的重建像素值的序号,其值为0~15;
(15b)计算16个4×4子块在最佳预测模式下的总代价值rdcostz1,计算公式为:
rd cos tz 1 = Σ r = 1 16 rd cos tz 4 r .
步骤16,通过率失真优化RDO代价函数,分别计算4个大小为8×8的子块在最佳预测模式下的4个代价值,并对这4个值求和,作为4个大小为8×8的子块的总代价值,记为rdcostz2。
(16a)按照H.264/AVC标准中对8×8子块的代价值计算公式,计算4个8×8子块在最佳预测模式下的代价值,计算公式如下:
rdcostz8s=SSDz8s+λ*ratez8s
其中,s为4个8×8子块的4个序号,其值为1~4,λ为拉格朗日系数,ratez8s为4个8×8子块最佳预测模式下的码率,SSDz8s为4个8×8子块的原始像素和在最佳预测模式下重建像素之间的失真度,SSDz8s的计算公式如下:
SSDz 8 s = Σ m , d = 0 63 | P 8 m - P 8 d | 2 ,
其中,P8m为8×8子块的原始像素值,P8d为8×8子块在最佳预测模式下的重建像素值,m为8×8子块的原始像素值的序号,其值为0~63,d为8×8子块在最佳预测模式下的重建像素值的序号,其值为0~63;
(16b)计算4个8×8子块在最佳预测模式下的总代价值rdcostz2,计算公式为:
rd cos tz 2 = Σ s = 1 4 rd cos tz 8 s .
步骤17,按照H.264/AVC标准中对16×16子块的代价值计算公式,计算1个16×16子块在最佳预测模式下的代价值rdcostz3:
rdcostz3=SSDz16+λ*ratez16,
其中,λ为拉格朗日系数,ratez16为1个16×16子块最佳预测模式下的码率,SSDz16为1个16×16子块的原始像素和在最佳预测模式下重建像素之间的失真度,SSDz16的计算公式如下:
SSDz 16 = Σ a , t = 0 255 | P 16 a - P 16 t | 2 ,
其中,P16a为16×16子块的原始像素值,P16t为16×16子块在最佳预测模式下的重建像素值,a为16×16子块的原始像素值的序号,其值为0~255,t为16×16子块在最佳预测模式下的重建像素值的序号,其值为0~255。
步骤18,比较步骤15、步骤16和步骤17得到的总代价值rdcostz1、rdcostz2和rdcostz3的大小,选取三者中最小的1个值所对应的宏块分割方式作为步骤(1)输入的16×16图像宏块最佳预测方式和分割方式。

Claims (7)

1.一种基于H.264/AVC标准的帧内预测模式选择方法,包括如下步骤: 
(1)输入一个16×16的图像宏块,将该宏块分割成4个8×8的子块、16个4×4的子块和1个16×16的子块; 
(2)对于分割成大小为8×8和4×4的子块,则进行步骤(3),对于分割成大小为16×16的子块,则进行步骤(12); 
(3)分别计算4个8×8子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值SATD81~SATD89; 
(4)选择每个8×8子块的9个绝对变换差和的值SATD81~SATD89中最小的4个预测模式,作为每个8×8子块的候选预测模式; 
(5)分别用步骤(4)中所述的4个候选预测模式对每个8×8子块进行预测,得到8×8子块的4个预测残差D81~D84; 
(6)分别计算16个4×4子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值SATD41~SATD49; 
(7)选择每个4×4子块的9个绝对变换差和的值SATD41~SATD49中最小的4个预测模式,作为每个4×4子块的候选预测模式; 
(8)分别用步骤(7)中所述的4个候选预测模式对每个4×4子块进行预测,得到4×4子块的4个预测残差D41~D44; 
(9)对步骤(5)和步骤(8)得到的预测残差D81~D84、D41~D44依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到每个8×8子块和每个4×4子块在4个候选预测模式下的码率:rate81~rate84、rate41~rate44; 
(10)通过率失真优化RDO代价函数,计算每个8×8子块在4个候选预测模式下的代价值rdcost81~rdcost84,选择代价值最小的1个预测模式作为8×8的最佳预测模式; 
(11)通过率失真优化RDO代价函数,计算每个4×4子块在4个候选预测模式 下的代价值rdcost41~rdcost44,选择代价值最小的1个预测模式作为4×4子块的最佳预测模式,进行步骤(15); 
(12)对于16×16子块,直接使用H.264/AVC标准中对其规定的4种预测模式进行预测,得到16×16子块的预测残差D161~D164; 
(13)对步骤(12)所述的预测残差D161~D164依次进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,得到1个16×16子块在4个预测模式下的码率:rate161~rate164; 
(14)通过率失真优化RDO代价函数,计算1个16×16子块在4种预测模式下的代价值:rdcost161~rdcost164,选择代价值最小的1个预测模式作为该16×16子块的最佳预测模式; 
(15)通过率失真优化RDO代价函数,分别计算16个4×4子块在最佳预测模式下的16个代价值,并对这16个值求和,作为16个4×4子块的总代价值,记为rdcostz1; 
(16)通过率失真优化RDO代价函数,分别计算4个8×8子块在最佳预测模式下的4个代价值,并对这4个值求和,作为4个8×8子块的总代价值,记为rdcostz2; 
(17)通过率失真优化RDO代价函数,计算1个16×16子块在最佳预测模式下的1个代价值,记为rdcostz3; 
(18)比较所述rdcostz1、rdcostz2和rdcostz3的大小,选取三者中最小的值所对应的宏块分割方式作为步骤(1)输入的16×16图像宏块最佳预测分割方式。 
2.根据权利要求1所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(3)所述的分别计算4个8×8子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值,是按照H.264/AVC标准中对8×8子块的绝对变换差和的值的计算公式进行,即: 
其中,x为8×8子块H.264/AVC标准中9种预测模式的序号,其值为1~9,P8m 为8×8子块的原始像素值,P8g为8×8子块的预测像素值,m为8×8子块的原始像素值的序号,其值为0~63,g为8×8子块的预测像素值的序号,其值为0~63。 
3.根据权利要求1所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(6)所述的分别计算16个4×4子块中每个子块在H.264/AVC标准中9种预测模式下的绝对变换差和的值,是按照H.264/AVC标准中对4×4子块的绝对变换差和的值的计算公式进行,即: 
其中,y为4×4子块H.264/AVC标准中9种预测模式的序号,其值为1~9,P4p为4×4子块的原始像素值,P4h为4×4子块的预测像素值,p为4×4子块的原始像素值的序号,其值为0~15,h为4×4子块的预测像素值的序号,其值为0~15。 
4.根据权利要求1所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(9)和步骤(13)所述的依次对预测残差进行KL变换、量化和基于上下文的自适应可变长编码CAVLC码率估计,按照如下步骤进行: 
(4a)对不同大小的子块选取不同的变换方式,即对4个8×8子块和16个4×4子块采用一维KL变换,对1个16×16子块采用二维KL变换; 
(4b)对步骤(4a)所述的4个8×8子块、16个4×4子块和1个16×16子块的KL变换结果,按照H.264/AVC标准中的量化方式进行量化; 
(4c)对步骤(4b)得到的4个8×8子块和1个16×16子块的量化结果,进行系数重排; 
(4d)对步骤(4b)得到的16个4×4子块的量化结果和步骤(4c)得到的系数重排结果,用基于上下文的自适应可变长编码CAVLC来代替基于上下文的自适应二进制算术编码CABAC进行码率估计,得到每个8×8子块、4×4子块和16×16子块在4种预测模式下的码率rate81~rate84、rate41~rate44、rate161~rate164。 
5.根据权利要求1所述的基于H.264/AVC标准的帧内预测模式选择方法,其中 步骤(10)中所述的通过率失真优化RDO代价函数计算每个8×8子块在4个候选预测模式下的代价值,是按照H.264/AVC标准中对8×8子块的代价值计算公式进行,即: 
rdcost8i=SSD8i+λ*rate8i, 
其中,i为8×8子块4种候选预测模式的序号,其值为1~4,λ为拉格朗日系数,rate8i为8×8子块的码率,SSD8i为8×8子块的原始像素和重建像素之间的失真度,SSD8i的计算公式如下: 
其中,P8m为8×8子块的原始像素值,P8n为8×8子块的重建像素值,m为8×8子块的原始像素值的序号,其值为0~63,n为8×8子块的重建像素值的序号,其值为0~63。 
6.根据权利要求1所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(11)中所述的通过率失真优化RDO代价函数计算每个4×4子块在4个候选预测模式下的代价值,是按照H.264/AVC标准中对4×4子块的代价值计算公式进行,即: 
rdcost4j=SSD4j+λ*rate4j, 
其中,j为4×4子块4种候选预测模式的序号,其值为1~4,λ为拉格朗日系数,rate4j为4×4子块的码率,SSD4j为4×4子块的原始像素和重建像素之间的失真度,SSD4j的计算公式如下: 
其中,P4p为4×4子块的原始像素值,P4q为4×4子块的重建像素值,p为4×4子块的原始像素值的序号,其值为0~15,q为4×4子块的重建像素值的序号,其值为0~15。 
7.根据权利要求1所述的基于H.264/AVC标准的帧内预测模式选择方法,其中步骤(14)中所述的通过率失真优化RDO代价函数计算16×16子块在4种预测模式下的代价值,是按照H.264/AVC标准中对16×16子块的代价值计算公式进行,即: 
rdcost16k=SSD16k+λ*rate16k, 
其中,k为16×16子块H.264/AVC标准中4种预测模式的序号,其值为1~4,λ为拉格朗日系数,rate16k为16×16子块的码率,SSD16k为16×16子块的原始像素和重建像素之间的失真度,SSD16k的计算公式如下: 
其中,P16a为16×16子块的原始像素值,P16b为16×16子块的重建像素值,a为16×16子块的原始像素值的序号,其值为0~255,b为16×16子块的重建像素值的序号,其值为0~255。 
CN201210230402.1A 2012-07-04 2012-07-04 基于h.264/avc标准的帧内预测模式选择方法 Expired - Fee Related CN102740077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210230402.1A CN102740077B (zh) 2012-07-04 2012-07-04 基于h.264/avc标准的帧内预测模式选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210230402.1A CN102740077B (zh) 2012-07-04 2012-07-04 基于h.264/avc标准的帧内预测模式选择方法

Publications (2)

Publication Number Publication Date
CN102740077A CN102740077A (zh) 2012-10-17
CN102740077B true CN102740077B (zh) 2014-10-01

Family

ID=46994757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210230402.1A Expired - Fee Related CN102740077B (zh) 2012-07-04 2012-07-04 基于h.264/avc标准的帧内预测模式选择方法

Country Status (1)

Country Link
CN (1) CN102740077B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024392B (zh) * 2012-12-26 2015-07-15 清华大学 基于二维哈达玛变换的帧内模式预测方法及装置
CN103327325B (zh) * 2013-05-13 2016-05-25 西安电子科技大学 基于hevc标准的帧内预测模式快速自适应选择方法
CN103581670B (zh) * 2013-10-09 2015-05-20 合一网络技术(北京)有限公司 H264自适应帧内模式选择码率估计的率失真优化方法及其装置
CN103702122B (zh) * 2013-12-18 2017-07-21 华为技术有限公司 编码模式选择方法、装置及编码器
CN103763570B (zh) * 2014-01-20 2017-02-01 华侨大学 一种基于satd的hevc快速帧内预测方法
WO2016178880A1 (en) * 2015-05-06 2016-11-10 NGCodec Inc. Intra prediction processor with reduced cost block partitioning and refined intra mode selection
CN105516727B (zh) * 2015-12-08 2018-09-28 浙江大华技术股份有限公司 一种图像编码方法及装置
CN107613305B (zh) * 2017-10-12 2020-04-07 杭州当虹科技股份有限公司 一种hevc中p、b帧快速运动估计方法
CN108632616B (zh) * 2018-05-09 2021-06-01 电子科技大学 一种基于参考质量做帧间加权预测的方法
WO2020063881A1 (en) * 2018-09-28 2020-04-02 Huawei Technologies Co., Ltd. Method and apparatus for cabac coding
CN109413435B (zh) * 2018-10-26 2020-10-16 苏州市吴越智博大数据科技有限公司 一种基于视频压缩的预测方法
WO2020156454A1 (en) * 2019-01-31 2020-08-06 Mediatek Inc. Method and apparatus of transform type assignment for intra sub-partition in video coding
CN110213595B (zh) * 2019-06-25 2021-07-30 浙江大华技术股份有限公司 基于帧内预测的编码方法、图像处理设备和存储装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585495A (zh) * 2004-06-11 2005-02-23 上海大学 H.264/avc帧内预测模式的快速选择方法
CN102186081A (zh) * 2011-05-11 2011-09-14 北京航空航天大学 一种基于梯度向量的h.264帧内模式选择方法
CN102364950A (zh) * 2011-11-17 2012-02-29 武汉天喻信息产业股份有限公司 基于h.264/avc标准的帧内预测模式快速选择方法及装置
CN102413334A (zh) * 2011-12-29 2012-04-11 哈尔滨工业大学 一种应用于h.264编码的亮度4×4块帧内预测模式快速选择方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585495A (zh) * 2004-06-11 2005-02-23 上海大学 H.264/avc帧内预测模式的快速选择方法
CN102186081A (zh) * 2011-05-11 2011-09-14 北京航空航天大学 一种基于梯度向量的h.264帧内模式选择方法
CN102364950A (zh) * 2011-11-17 2012-02-29 武汉天喻信息产业股份有限公司 基于h.264/avc标准的帧内预测模式快速选择方法及装置
CN102413334A (zh) * 2011-12-29 2012-04-11 哈尔滨工业大学 一种应用于h.264编码的亮度4×4块帧内预测模式快速选择方法

Also Published As

Publication number Publication date
CN102740077A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN102740077B (zh) 基于h.264/avc标准的帧内预测模式选择方法
CN104506876B (zh) 用于高分辨率运动图像的解码方法和编码设备
CN106067980B (zh) 用于对图像进行编码的装置
CN100586184C (zh) 帧内预测方法
CN102301716B (zh) 解码代表画面序列的流的方法,编码画面序列的方法以及编码的数据结构
CN103188496B (zh) 基于运动矢量分布预测的快速运动估计视频编码方法
CN102065298B (zh) 高性能宏块编码实现方法
CN103248895B (zh) 一种用于hevc帧内编码的快速模式估计方法
CN102932642B (zh) 一种帧间编码快速模式选择方法
CN106851316A (zh) 对帧内预测模式进行解码的方法
CN104869409A (zh) 推导帧内预测模式的方法和设备
CN103327325A (zh) 基于hevc标准的帧内预测模式快速自适应选择方法
CN101014129B (zh) 一种视频数据压缩方法
CN104168480A (zh) 基于hevc标准的帧内预测编码模式快速选择方法
CN104320657A (zh) Hevc无损视频编码的预测模式选择方法及相应的编码方法
CN103929652A (zh) 视频标准中基于自回归模型的帧内预测快速模式选择方法
CN103442229B (zh) 适用于hevc标准的编码器中sao模式判决的比特率估计方法
CN110365975A (zh) 一种avs2视频编解码标准优化方案
CN103384327A (zh) 基于自适应阈值的avs快速模式选择算法
CN104702959B (zh) 一种视频编码的帧内预测方法及系统
CN102137257B (zh) 基于tms320dm642芯片的嵌入式h.264编码方法
KR20100044333A (ko) 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체
CN104320660B (zh) 用于无损视频编码的率失真优化方法及编码方法
CN102148994A (zh) 一种并行的帧内预测帧编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141001

Termination date: 20190704