CN102186081B - 一种基于梯度向量的h.264帧内模式选择方法 - Google Patents
一种基于梯度向量的h.264帧内模式选择方法 Download PDFInfo
- Publication number
- CN102186081B CN102186081B CN 201110121547 CN201110121547A CN102186081B CN 102186081 B CN102186081 B CN 102186081B CN 201110121547 CN201110121547 CN 201110121547 CN 201110121547 A CN201110121547 A CN 201110121547A CN 102186081 B CN102186081 B CN 102186081B
- Authority
- CN
- China
- Prior art keywords
- candidate
- sub
- mode
- predictive
- gradient
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种基于梯度向量的H.264帧内模式选择方法,包括下列步骤:1)计算每个子块横轴、纵轴以及两个对角线的梯度值;2)对各子块的方向梯度值进行向量合成,得出梯度向量;3)根据梯度向量计算得到4×4候选预测模式,进而得出最佳4×4预测模式;4)根据各子块最佳4×4预测模式得出16×16候选模式;5)计算出16×16最佳预测模式,和最佳4×4预测模式对比率失真代价,从而得到最佳帧内预测模式,本发明在对编码信噪比影响较小的情况下简化了帧内模式选择算法,加快了编码速度。
Description
(一)技术领域
本发明涉及多媒体视频编码领域,具体涉及一种针对H.264标准的帧内预测模式选择算法。它可以保证在编码输出信噪比基本不变的情况下加快帧内预测过程,提高编码速度。
(二)背景技术
H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像专家组)的联合视频组(JVT/Joint Video Team)开发的视频编码标准。它等同于ISO的MPEG-4的第十部分,于2003年5月正式批准。和传统的视频编码方式相比,H.264标准有着更高的编码效率和算法复杂度。
H.264标准采用16×16亮度宏块和8×8色度宏块作为编码的基本单元,根据不同的编码算法,每个16×16宏块还可以进一步划分为4×4亮度子块,进一步提升编码效率。
H.264标准主要定义了三种帧类型,I帧、P帧和B帧。I帧只能采用帧内预测方式编码,P帧可以采用帧内预测和前向帧间预测方式进行编码,B帧在采用帧内预测和前向帧间预测编码方式外还可以采用双向预测方式编码。其中帧内编码利用了图像的空间相关性压缩了冗余信息,帧间编码利用了视频序列的时间相关性起到压缩冗余信息的目的,两者是相互独立的。本发明主要涉及帧内预测编码方式。
在H.264标准中,帧内预测模式包含了9种4×4亮度预测模式:
模式 | 描述 |
模式0(垂直) | 由宏块上方像素垂直向下预测像素值 |
模式1(水平) | 由宏块左侧像素水平推出预测像素值 |
模式2(DC) | 由宏块上方和左侧像素平局值推出所有像素值 |
模式3(下左对角线) | 由135°方向像素内插得出相应像素值 |
模式4(下右对角线) | 由325°方向像素内插得出相应像素值 |
模式5(右垂直) | 由296.6°方向像素内插得出相应像素值 |
模式6(下水平) | 由333.4°方向像素内插得出相应像素值 |
模式7(左垂直) | 由243.4°方向像素内插得出相应像素值 |
模式8(上水平) | 由26.6°方向像素内插得出相应像素值 |
4种16×16亮度预测模式:
模式 | 描述 |
模式0(垂直) | 由上边像素推出相应像素值 |
模式1(水平) | 由左边像素推出相应像素值 |
模式2(DC) | 由上边和左边像素平均值推出相应像素值 |
模式3(平面) | 利用线形“plane”函数及左、上像素推出相应像素值 |
H.264标准规定采用率失真优化(Rate-Distortion Optimization/RDO)算法对上述13种预测模式依次遍历寻找最优预测模式。RDO算法包含整数余弦变换、量化、反量化、反变换过程,对所有13种模式进行RDO运算量大,运算复杂程度高。本发明提供一种帧内预测模式选择算法,能够根据子块梯度向量简化帧内模式选择算法,在不对编码图像信噪比造成过大影响的前提下提高运算速度。
(三)发明内容
本发明要解决的问题是提供一种快速H.264帧内模式选择算法,这种算法能够在保证编码图像质量的前提下加快编码速度。
帧内预测编码是依靠每一帧图像的空间相关性完成的,采用宏块或子块上方和左侧已经编码的宏块像素作为预测值对16×16宏块或4×4子块进行预测编码。预测模式选择是对所有模式依次进行率失真优化后选择最优模式。本发明利用视频序列编码子块的梯度方向和预测模式的内在联系,通过计算子块的平均方向梯度向量忽略部分可能性较小的预测模式,达到简化预测算法的目的。本发明只用到当前编码宏块的内部信息,所以可以在I帧、P帧、B帧编码时都发挥作用。
具体包含如下步骤:
1、先将16×16宏块分割成16个4×4子块,每个4×4子块都构成一个4×4矩阵,如附图1所示,然后进行如下运算:
a)对第二行和第三行亮度数据进行平均梯度计算:-0.5×A21-0.5×A22+0.5×A23+0.5×A24-0.5×A31-0.5×A32+0.5×A33+0.5×A34=GradH,其中GradH为计算出的横向梯度值;
b)对第二列和第三列亮度数据进行平均梯度计算:-0.5×A12-0.5×A22+0.5×A32+0.5×A42-0.5×A13-0.5×A23+0.5×A33+0.5×A43=GradV,其中GradV为计算出的纵向梯度值;
c)分别计算对角线上的亮度梯度:-0.5×A11-0.5×A22+0.5×A33+0.5×A44=GradX1;-0.5×A41-0.5×A32+0.5×A23+0.5×A14=GradX2,其中GradX1为左上右下对角梯度值,GradX2为左下右上对角梯度值。
2、根据H.264标准规定的9种帧内预测模式,把4×4预测模式按照模式编号分为8个方向区,如附图2所示;
3、对各子块的方向梯度值GradH、GradV、GradX1、GradX2进行向量合成,得出梯度向量:
5、根据预测方向角θ确定候选4×4预测模式,规则如下:
a)θ∈(-78.7°,-90°)或θ∈(78.7°,90°)时,候选预测模式为:0、2、5、7;
b)θ∈(56.2°,78.7°)时,候选预测模式为:0、2、3、7;
c)θ∈(33.7°,56.2°)时,候选预测模式为:2、3、7、8;
d)θ∈(11.2°,33.7°)时,候选预测模式为:1、2、3、8;
e)θ∈(-11.3°,11.2°)时,候选预测模式为:1、2、6、8;
f)θ∈(-33.8°,-11.3°)时,候选预测模式为:1、2、4、6;
g)θ∈(-56.3°,-33.8°)时,候选预测模式为:2、4、5、6;
h)θ∈(-78.7°,-56.3°)时,候选预测模式为:0、2、4、5。
6、在候选预测模式中进行RDO运算,计算各模式率失真代价,得出最佳4×4预测模式;
7、对16个4×4子块的最佳模式进行统计进而预测16×16候选模式,具体方法如下:
a)统计各4×4子块的最佳预测模式,如果模式2即DC模式总数大于10个,则当前16×16宏块的候选模式为2、3,否则继续下面步骤;
b)计算当前宏块中16个4×4子块的平均梯度强度:
c)计算当前宏块中16个4×4子块梯度强度和其均值残差的SAD值:
d)如果strenSAD>DCThreshold,则排除DC预测模式,其中DCThreshold为直流预测门限值;
e)如果4×4子块的最佳模式中7、8、9预测模式总数小于等于2,则排除16×16预测模式0;
f)如果4×4子块的最佳模式中1、6、8预测模式总数小于等于2,则排除16×16预测模式1;
g)把剩余的16×16预测模式作为16×16候选预测模式。
8、在上一步中得出的16×16候选预测模式中采用RDO运算得到最佳预测模式;
9、比较4×4最佳预测模式和16×16最佳预测模式的率失真代价,得到当前宏块的最佳帧内预测模式。
通过以上步骤,可以使16×16预测模式从4种减为3种或2种,减少25%以上的运算量,4×4预测候选模式从9种减少为4种,减少50%以上的运算量,在保证模式选择准确性的前提下加快了模式选择速度。
在上述方法中,所述的帧内选择模式编号均为H.264标准中所规定的模式编号,即16×16模式的0-3和4×4模式的0-8,RDO运算为H.264标准中规定的率失真优化算法。
(四)附图说明
图1 4×4子块数据结构示意图。
图2H.264标准规定的4×4子块预测方向示意图。
图3本发明采用的算法流程简图。
(五)具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明修改帧内模式选择的H.264参考代码JM8.6算法流程进一步进行阐述。
本发明提供了一种快速帧内模式选择算法,该算法借助对4×4子块梯度向量的计算达到减少帧内预测候选模式削减算法复杂度的目的。
编码过程开始时,首先把宏块分成16个4×4子块,对子块进行梯度向量计算,具体步骤如下:
1、计算每个子块横轴、纵轴以及两个对角线的梯度值:
a)对第二行和第三行亮度数据进行平均梯度计算:-0.5×A21-0.5×A22+0.5×A23+0.5×A24-0.5×A31-0.5×A32+0.5×A33+0.5×A34=GradH,其中GradH为计算出的横向梯度值;
b)对第二列和第三列亮度数据进行平均梯度计算:-0.5×A12-0.5×A22+0.5×A32+0.5×A42-0.5×A13-0.5×A23+0.5×A33+0.5×A43=GradV,其中GradV为计算出的纵向梯度值;
c)分别计算对角线上的亮度梯度:-0.5×A11-0.5×A22+0.5×A33+0.5×A44=GradX1;-0.5×A41-0.5×A32+0.5×A23+0.5×A14=GradX2,其中GradX1为左上右下对角梯度值,GradX2为左下右上对角梯度值。
2、根据H.264标准规定的9种帧内预测模式,把4×4预测模式按照模式编号分为8个方向区,如附图2所示;
3、对各子块的方向梯度值GradH、GradV、GradX1、GradX2进行向量合成,得出梯度向量:
5、根据λ的取值确定候选4×4候选预测模式,规则如下:
a)λ∈(-5,-∞)或λ∈(5,∞)时,候选预测模式为:0、2、5、7;
b)λ∈(-1.5,-5)时,候选预测模式为:0、2、3、7;
c)λ∈(-0.67,-1.5)时,候选预测模式为:2、3、7、8;
d)λ∈(-0.2,-0.67)时,候选预测模式为:1、2、3、8;
e)λ∈(-0.2,0.2)时,候选预测模式为:1、2、6、8;
f)λ∈(0.2,0.67)时,候选预测模式为:1、2、4、6;
g)λ∈(0.67,1.5)时,候选预测模式为:2、4、5、6;
h)λ∈(1.5,5)时,候选预测模式为:0、2、4、5。
6、在候选预测模式中进行RDO运算,计算各模式率失真代价,得出最佳4×4预测模式;
7、对16个4×4子块的最佳模式进行统计分析,进一步消减4个16×16预测模式,具体方法如下:
a)统计各4×4子块的最佳预测模式,如果模式2即DC模式总数大于10时,则当前16×16宏块的候选模式为2、3,否则继续下面步骤;
b)计算当前宏块中16个4×4子块的平均梯度强度:
c)计算当前宏块中16个4×4子块梯度强度和其均值残差的SAD值:
d)如果strenSAD>DCThreshold,则排除DC预测模式,其中DCThreshold为直流预测门限值,由用户自己定义;
e)如果4×4子块的最佳模式中7、8、9预测模式总数小于等于2,则排除16×16预测模式0;
f)如果4×4子块的最佳模式中1、6、8预测模式总数小于等于2,则排除16×16预测模式1;
g)把剩余的16×16预测模式作为16×16候选预测模式。
8、在上一步中得出的16×16候选预测模式中采用RDO运算得到最佳预测模式;
9、比较4×4最佳预测模式和16×16最佳预测模式的率失真代价,得到当前宏块的最佳帧内预测模式。
Claims (7)
1.一种基于梯度向量的H.264帧内模式选择方法,包括下列步骤:
1)把宏块分成16个4×4子块,计算每个子块横轴、纵轴以及两个对角线的梯度值GradH、GradV、GradX1和GradX2;
2)对各子块的方向梯度值进行向量合成,得出梯度向量;
3)计算各子块的梯度向量坐标比值λ和梯度强度stren;
4)根据λ的取值确定候选4×4候选预测模式;
5)在候选预测模式中进行RDO运算,计算各模式率失真代价,得出最佳4×4预测模式;
6)对16个4×4子块的最佳模式进行统计分析,进一步得到16×16候选预测模式;
7)对16×16候选预测模式采用RDO运算得到最佳16×16预测模式;
8)比较4×4最佳预测模式和16×16最佳预测模式的率失真代价,得到当前宏块的最佳帧内预测模式。
2.根据权利要求1所述的方法,其特征在于,所述步骤1)中计算梯度值的算法分别为:
1)横向梯度值GradH=-0.5×A21-0.5×A22+0.5×A23+0.5×A24-0.5×A31-0.5×A32+0.5×A33+0.5×A34;
2)纵向梯度值GradV=-0.5×A12-0.5×A22+0.5×A32+0.5×A42-0.5×A13-0.5×A23+0.5×A33+0.5×A43;
3)左上右下对角梯度值GradX1=-0.5×A11-0.5×A22+0.5×A33+0.5×A44;
4)左下右上对角梯度值GradX2=-0.5×A41-0.5×A32+0.5×A23+0.5×A14;
其中A为4×4子块的一个像素的亮度信息,下标表示该像素在子块中的行列位置。
3.根据权利要求1所述的方法,其特征在于,所述步骤2)中由方向梯度值合成得出梯度向量的算法如下:
其中vecGrad为4×4子块的梯度向量,vecX、vecY分别为梯度向量的两个分量。
4.根据权利要求1所述的方法,其特征在于,所述步骤3)中描述梯度向量坐标比值
5.根据权利要求1所述的方法,其特征在于,所述步骤3)中描述梯度强度:stren=|vecX|+|vecY|,其中vecX和vecY分别为权力要求3中计算得到的梯度向量的两个分量。
6.根据权利要求1所述的方法,其特征在于,所述步骤4)中根据λ的取值确定候选4×4候选预测模式方法如下:
1)λ∈(-5,-∞)或λ∈(5,∞)时,候选预测模式为:0、2、5、7;
2)λ∈(-1.5,-5)时,候选预测模式为:0、2、3、7;
3)λ∈(-0.67,-1.5)时,候选预测模式为:2、3、7、8;
4)λ∈(-0.2,-0.67)时,候选预测模式为:1、2、3、8;
5)λ∈(-0.2,0.2)时,候选预测模式为:1、2、6、8;
6)λ∈(0.2,0.67)时,候选预测模式为:1、2、4、6;
7)λ∈(0.67,1.5)时,候选预测模式为:2、4、5、6;
8)λ∈(1.5,5)时,候选预测模式为:0、2、4、5。
7.根据权利要求1所述的方法,其特征在于,所述步骤6)中根据4×4子块的最佳模式统计分析结果确定16×16候选预测模式方法如下:
1)统计各4×4子块的最佳预测模式,如果模式2即DC模式总数大于10时,则当前16×16宏块的候选模式为2、3,否则继续下面步骤;
4)如果strenSAD>DCThreshold,则排除DC预测模式,其中DCThreshold为直流预测门限值,由用户自己定义;
5)如果4×4子块的最佳模式中7、8、9预测模式总数小于等于2,则排除16×16预测模式0;
6)如果4×4子块的最佳模式中1、6、8预测模式总数小于等于2,则排除16×16预测模式1;
7)经过上述4)、5)、6)步排除了若干16×16预测模式,把剩余的16×16预测模式作为16×16候选预测模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110121547 CN102186081B (zh) | 2011-05-11 | 2011-05-11 | 一种基于梯度向量的h.264帧内模式选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110121547 CN102186081B (zh) | 2011-05-11 | 2011-05-11 | 一种基于梯度向量的h.264帧内模式选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102186081A CN102186081A (zh) | 2011-09-14 |
CN102186081B true CN102186081B (zh) | 2013-09-18 |
Family
ID=44572142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110121547 Expired - Fee Related CN102186081B (zh) | 2011-05-11 | 2011-05-11 | 一种基于梯度向量的h.264帧内模式选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102186081B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740077B (zh) * | 2012-07-04 | 2014-10-01 | 西安电子科技大学 | 基于h.264/avc标准的帧内预测模式选择方法 |
CN104363450B (zh) * | 2014-11-27 | 2017-10-27 | 北京奇艺世纪科技有限公司 | 一种帧内编码模式决策方法及装置 |
CN107810632B (zh) * | 2015-05-06 | 2020-06-23 | Ng编译码器股份有限公司 | 具有降低代价的块分割和细化的帧内模式选择的帧内预测处理器 |
CN106101731B (zh) * | 2016-07-21 | 2019-06-21 | 北京奇艺世纪科技有限公司 | 图像无损压缩方法及装置 |
CN109302607A (zh) * | 2018-10-26 | 2019-02-01 | 西安科锐盛创新科技有限公司 | 基于图像场景的多预测方法及其系统 |
CN109040754A (zh) * | 2018-11-06 | 2018-12-18 | 深圳市网心科技有限公司 | 一种hevc的帧内预测模式确定方法、设备、系统及介质 |
CN109640087B (zh) * | 2018-12-30 | 2022-12-09 | 深圳市网心科技有限公司 | 一种帧内预测模式判决方法、装置及设备 |
CN115918080A (zh) * | 2020-06-08 | 2023-04-04 | 抖音视界有限公司 | 视频编解码的仿射预测改进 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381285B1 (en) * | 1996-03-13 | 2002-04-30 | Leitch Europe Limited | Gradient based motion estimation |
CN1795680A (zh) * | 2003-03-03 | 2006-06-28 | 新加坡科技研究局 | 用于高级视频编码帧内预测的快速判定算法 |
CN101175212A (zh) * | 2007-10-15 | 2008-05-07 | 中兴通讯股份有限公司 | 一种低复杂度的帧内预测模式选择方法 |
CN101682781A (zh) * | 2008-01-18 | 2010-03-24 | 松下电器产业株式会社 | 图像编码方法以及图像解码方法 |
-
2011
- 2011-05-11 CN CN 201110121547 patent/CN102186081B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381285B1 (en) * | 1996-03-13 | 2002-04-30 | Leitch Europe Limited | Gradient based motion estimation |
CN1795680A (zh) * | 2003-03-03 | 2006-06-28 | 新加坡科技研究局 | 用于高级视频编码帧内预测的快速判定算法 |
CN101175212A (zh) * | 2007-10-15 | 2008-05-07 | 中兴通讯股份有限公司 | 一种低复杂度的帧内预测模式选择方法 |
CN101682781A (zh) * | 2008-01-18 | 2010-03-24 | 松下电器产业株式会社 | 图像编码方法以及图像解码方法 |
Non-Patent Citations (2)
Title |
---|
余胜生等.基于梯度和率失真的帧间块模式选择算法.《小型微型计算机系统》.2006,第27卷(第8期),全文. |
基于梯度和率失真的帧间块模式选择算法;余胜生等;《小型微型计算机系统》;20060831;第27卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102186081A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102186081B (zh) | 一种基于梯度向量的h.264帧内模式选择方法 | |
CN103561263B (zh) | 基于运动矢量约束和加权运动矢量的运动补偿预测方法 | |
CN102763411B (zh) | 对视频编码的方法和设备以及对视频解码的方法和设备 | |
CN104320666B (zh) | 图像处理设备和方法 | |
CN100586184C (zh) | 帧内预测方法 | |
CN103188496B (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN102334337A (zh) | 选择性使用离散正余弦转换的编解码装置和方法 | |
CN103248895B (zh) | 一种用于hevc帧内编码的快速模式估计方法 | |
KR20130136525A (ko) | 복잡도가 감소된 변환 단위 파티션의 방법 및 장치 | |
KR20060049850A (ko) | 소스 픽쳐의 시퀀스를 코딩하는 방법 또는 장치 | |
CN103220522A (zh) | 对视频编码的方法和设备及对视频解码的方法和设备 | |
CN101022555B (zh) | 帧间预测编码的模式快速选择方法 | |
CN101494792A (zh) | 一种基于边缘特征的h.264/avc帧内预测方法 | |
CN103503457A (zh) | 运动图像编码装置、运动图像解码装置、运动图像编码方法以及运动图像解码方法 | |
CN103238334A (zh) | 图像帧内预测方法和设备 | |
CN102932642A (zh) | 一种帧间编码快速模式选择方法 | |
CN102196272B (zh) | 一种p帧编码方法及装置 | |
KR20110073263A (ko) | 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치 | |
CN105187826A (zh) | 针对高效率视频编码标准的快速帧内模式判决方法 | |
CN103442229B (zh) | 适用于hevc标准的编码器中sao模式判决的比特率估计方法 | |
CN102364950A (zh) | 基于h.264/avc标准的帧内预测模式快速选择方法及装置 | |
CN102547257B (zh) | 一种获得最优预测模式的方法及装置 | |
CN106060555A (zh) | 一种基于多核处理器的编码器 | |
KR100669897B1 (ko) | H.264/avc에서의 고속 매크로블록 모드 선택 방법 | |
CN100586186C (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130918 Termination date: 20140511 |