基于支持向量机的b帧快速帧间预测宏块模式选择方法
【专利摘要】本发明的目的在于提供一种基于支持向量机的B帧快速帧间预测宏块模式选择方法:(1)基于支持向量机(support?vector?machine,SVM)模型训练SVM分类器;(2)使用SVM分类器对B帧的帧间预测宏块模式进行快速选择。本发明通过引入具有较强推广性和学习能力出色的支持向量机(SVM,Support?Vector?Machines),通过提取编码信息作为输入特征矢量训练支持向量机分类器模型,对帧间预测宏块模式进行分类,避免全搜索遍历,快速决策宏块模式的选择,以达到降低编码器复杂度的目的。
【专利说明】基于支持向量机的B帧快速帧间预测宏块模式选择方法
【技术领域】
[0001]本发明涉及一种视频编码方法,具体来说涉及一种基于支持向量机的B帧快速帧间宏块模式选择方法。
【背景技术】
[0002]随着视频技术的不断发展和广泛应用,视频编码技术的标准化活动也得到了较大发展,先后成功制定了一系列满足不同应用场景的编码标准,H.264编码标准是ITU-T的视频编码专家组VCEG和IS0/IEC的活动图像专家组MPEG联合研发的高效视频压缩标准。
H.264采用4X4块的整数变换、多参考帧预测、率失真优化、多模式高精度帧间预测、可变宏块尺寸和CABAC等技术,较之前的视频编码标准,H.264在大多数码率下都能提供较高的视频质量且可省略码率,具有更高的压缩比和更好的信道适应性,在视频通信领域得到广泛的应用,但是H.264优越的编码性能是以增加计算复杂度为代价的,因此研究具有高压缩率且低复杂度的编码方法成为视频编码【技术领域】的热点和重点。
[0003]在H.264编码器中,每个编码帧的宏块模式可以分为帧内预测宏块模式和帧间预测宏块模式,其中帧间预测宏块模式又可以分为SKIP、Interl6X16、Interl6X8、Inter8 X 16、Inter8 X 8、Inter8 X 8Frext,其中在 Inter8 X 8 的模式中可以进一步分为Inter8X4、Inter4X8以及Inter4X4大小的块模式。巾贞内预测宏块模式可以分为Intral6X 16、Intra8X8和Intra4X4。每种巾贞间预测宏块模式下,又要遍历多个参考巾贞和三个搜索方向来寻找最优参考帧,而遍历每个参考帧的时候都需要经过复杂的运动估计过程求取运动矢量,其计算复杂度非常高。
[0004]目前已有的对H.264/AVC的低复杂度编码方法研究中,主要集中在三个方面。第一,快速宏块模式选择算法,主要根据宏块模式的时空相关性来来缩小候选模式列表,采用提前中断的策略,避免对无贡献或贡献较少模式的遍历。第二,多参考帧的优化,主要是利用视频的纹理特征或率失真特性,采用一定的判断准则,减少需要搜索的参考帧数目,以节约编码时间。第三,运动估计快速算法,运动估计在整个编码过程中占有大部分编码时间,主要可以采用一定方法调整预测运动矢量及利用运动矢量相关性缩小搜索范围,或者提出新的搜索方法来降低运动估计的复杂度和计算量。
【发明内容】
[0005]本发明的目的在于提供一种基于支持向量机的B巾贞快速巾贞间预测宏块模式选择方法,本发明通过引入具有较强推广性和学习能力出色的支持向量机(SVM,SupportVector Machines),通过提取编码信息作为输入特征矢量训练支持向量机分类器模型,对帧间预测宏块模式进行分类,避免全搜索遍历,快速决策宏块模式的选择,以达到降低编码器复杂度的目的。
[0006]本发明的目的可通过以下的技术措施来实现:
[0007]—种基于支持向量机的B帧快速帧间预测宏块模式选择方法,包括以下步骤:[0008](I)基于支持向量机(support vector machine, SVM)模型训练SVM分类器,具体步骤如下:
[0009](1-1)特征选择和提取:采用全搜索遍历原始编码方法对各测试序列进行编码,将以下编码信息对应的特征提取出来,其中,全搜索就是按照规定的范围把所有的可能点逐一进行搜索:
[0010](1-1-1)率失真代价:提取每个宏块的跳跃(SKIP)模式、帧内预测宏块模式和帧间预测宏块模式中的Interl6 X 16模式对应的率失真代价值J,其求取公式如下式(1-1)所示。其中:跳跃(SKIP)模式、帧内预测宏块模式、帧间预测宏块模式均属于H.264视频编码标准中的规定。
[0011]J (S,C,MODE λ M0DE) =SSD (s,c,MODE I QP)+ AmodeR (S,C,MODE) (1-1)
[0012]式中,J(s,c,M0DE| λ M0DE)表示MODE模式下的率失真代价值,MODE表示当前编码宏块的编码模式,c为采用MODE模式编码后的重构视频信号,s为原始的视频信号,R(s,c, MODE)表示MODE模式下用来编码宏块头信息、运动矢量信息和所有DCT (DiscreteCosine Transform,离散余弦变换)系数的所有编码比特数,SSD (s,c,MODE | QP)为原始的视频信号和重构视频信号之间的平方差值和(SSD,Sum of Square Difference), Amqde为拉格朗日乘子,其计算公式如下所示:
[0013]Amode=0.85X2(QM2)/3 (1-2)
[0014]其中QP表不量化步长。
[0015]宏块模式是基于率失真优化准则确定的,一般来说,随着运动程度的加剧,编码时的率失真代价也会随之增加,率失真代价对宏块模式的选择是一个非常重要的特征。如果SKIP模式的率失真代价相对很小,说明当前宏块采用简单的大尺寸宏块模式就能得到很好的预测,而搜索复杂的小尺寸宏块模式贡献较小,因此SKIP模式的率失真代价能预测宏块模式的选择。
[0016](1-1-2)相邻宏块的编码模式:提取每个宏块在空间上相邻左宏块,相邻上宏块,相邻左上宏块和相邻右上宏块,以及时间上相邻帧对应位置宏块的最优编码模式,其具体的宏块对应位置如图1所示。由于视频内容的时间相关性和空间相关性,导致编码时选择的最优编码模式具有较强的相关性,利用时间和空间上相邻宏块的编码模式可以预测当前宏块的编码模式。当编码到当前宏块时,这些相邻宏块已经编码了,编码的最优编码模式等会保存在一个缓存中,提取相邻宏块的最优模式信息只需在缓存中将这些变量信息取出来即可。编码器中已设置相应的缓存保存相邻宏块的信息。
[0017]相邻宏块的编码模式是指的宏块在空间上相邻左宏块,相邻上宏块,相邻左上宏块和相邻右上宏块,以及时间上相邻帧对应位置宏块。
[0018]最优编码模式信息是指的对应的这些宏块选择的编码方式。即跳跃(SKIP)模式、帧内预测宏块模式、帧间预测宏块模式等。
[0019]变量信息就是指的最优编码模式的具体信息。
[0020](1-1-3)运动矢量MV:对每个宏块遍历Interl6X16模式,提取每个宏块在Interl6X 16模式下求取的最优运动矢量。搜索Interl6X 16模式,求取最优运动矢量,这都是在编码器编码过程中的一些中间变量信息。最优运动矢量可以很好地反映编码宏块的运动情况,而一般运动相对平缓的宏块会采用大尺寸宏块模式,而运动剧烈的会采用小尺寸重考模式。最优运动矢量是按照某个模式(如InterieX 16)进行搜索后找到的最佳位置的运动矢量值。
[0021](1-1-4)预测残差及宏块残差编码模式(CBP, Coded Block Pattern):也就是提取当前编码宏块的InterieX 16模式下原始的视频信号和重构视频信号之间的平方差值和(SSD, Sum of Square Difference)、宏块残差编码模式CBP。SSD可以反映当前编码宏块与相邻帧之间的差异性以及待编码宏块的内容复杂程度,CBP则可以反映预测残差相对在给定的量化步长(QP)下的复杂程度。
[0022]SSD的计算方式就是平方差值,宏块残差编码模式CBP是用来表不得到的残差系数的一个量,是H.264标准里面规定的。
[0023]这里是用SSD来表征预测残差值,求取方法就如下面的公式(1-2)。
【权利要求】
1.基于支持向量机的B帧快速帧间预测宏块模式选择方法,其特征在于包括以下步骤:(1)基于支持向量机(supportvector machine, SVM)模型训练SVM分类器,包括:(1-1)特征选择和提取;(1-2)核函数参数的选择;(1-3)使用步骤(1-1)和(1-2)的结果训练SVM分类器,训练过程中,将最终选择的最优宏块模式结果与提取的各种特征得到输入特征矢量,形成训练样本集S,将S随机地分成10个子集,取其中9个子集作为训练集,剩余的一个作为测试集,对SVM分类器进行训练和测试,得到最终的SVM分类器;(2)使用SVM分类器对B帧的帧间预测宏块模式进行快速选择:(2-1)将当前待编码处理的图像定义为当前编码帧;(2-2)判断当前帧是否为B帧;(2-2-1)如果当前帧为B帧,则进行下面的快速算法;(2-2-2)如果当前帧不是B帧 ,则按正常编码方式进行编码;(2-3)将当前编码帧中当前待处理的宏块定义为当前宏块;(2-4)遍历帧内预测宏块模式和SKIP模式,提取编码特征;(2-5)将当前编码帧中的下一个宏块作为当前宏块,返回步骤(2-3)继续执行,直到当前编码帧中的所有宏块均编码完毕;(2-6)将当前编码帧的下一帧作为当前编码帧,返回步骤(2-2)继续执行,直到所有编码帧编码结束。
2.根据权利要求1所述的选择方法,其特征在于:其中步骤(1-1)的特征选择和提取采用全搜索遍历原始编码方法对各测试序列进行编码,将以下编码信息对应的特征提取出来:(1-1-1)率失真代价:提取每个宏块的跳跃(SKIP)模式、帧内预测宏块模式和帧间预测宏块模式中的Interl6X 16模式对应的率失真代价值J ;(1-1-2)相邻宏块的编码模式:提取每个宏块在空间上相邻左宏块,相邻上宏块,相邻左上宏块和相邻右上宏块,以及时间上相邻帧对应位置宏块的最优编码模式;(1-1-3)运动矢量:对每个宏块遍历Interl6X 16模式,提取每个宏块在Interl6X 16模式下求取的最优运动矢量;(1_1_4)预测残差及宏块残差编码模式(CBP, Coded Block Pattern):也就是提取当iu编码宏块的InterieX 16模式下原始的视频信号和重构视频信号之间的平方差值和(SSD,Sum of Square Difference)、宏块残差编码模式 CBP。
3.根据权利要求2所述的选择方法,其特征在于:所述步骤(1-3)中训练SVM分类器的过程为:(1-3-1)训练SVM分类器1:将步骤(1-1)中提取的SKIP模式的率失真代价,所有帧内预测宏块模式最小率失真代价和SKIP模式的率失真代价之差,当前帧前向第一参考帧对应当前宏块位置的宏块、当前宏块相邻左宏块、当前宏块相邻上宏块和当前宏块相邻左上宏块的编码模式多个特征融合为一个特征向量,形成训练样本集SI,将SI随机地分成10个子集,取其中9个子集作为训练集,剩余的一个作为测试集,利用SVM模型进行训练和测试,得到SVM分类器I,将帧间预测宏块模式分为{SKIP}和{Interl6X16、Interl6X8、Inter8 X 16、Inter8 X 8}两类;(1-3-2)训练SVM分类器2:将步骤(1-1)中提取的Interl6X16模式下的预测残差、CBP值以及运动矢量三个特征融合为一个特征向量,形成训练样本集S2,将S2随机地分成10个子集,取其中9个子集作为训练集,剩余的一个作为测试集,利用SVM模型进行训练和测试,得到一个SVM分类器2,将宏块模式集{Interl6X8、Inter8X16、Inter8X8}分为Interl6 X 8, Inter8 X 16 }和{ Inter8 X 8 }两类。
4. 根据权利要求3所述的选择方法,其特征在于:所述步骤(2-4)遍历帧内预测宏块模式和SKIP模式,提取编码特征的过程为:将跳跃(SKIP)模式的率失真代价,所有帧内预测宏块模式最小率失真代价和SKIP模式的率失真代价之差,当前帧相邻参考帧对应当前宏块位置的宏块、当前宏块相邻左宏块、当前宏块相邻上宏块和当前宏块相邻左上宏块的最优编码模式,把所有这些特征融合为一个特征向量,作为SVM分类器I的输入特征矢量,将帧间预测宏块模式分为{ SKIP}和{Inter 16 X 16、Inter 16 X 8、Inter8 X 16、Inter8 X 8}两类;如果当前宏块的分类结果属于{SKIP}类且当前帧相邻参考帧对应当前宏块位置宏块的编码模式也为SKIP模式,则只遍历SKIP模式和所有帧内预测宏块模式,否则搜索SKIP模式、Interl6X16模式和所有帧内预测宏块模式,并根据率失真代价选择最优宏块模式;如果当前宏块的分类结果不属于{SKIP}类,而属于{Inter 16X 16、Interl6X8、Inter8X 16> Inter8X8}类其他帧间预测宏块模式,则先遍历Interl6X 16模式,提取Interl6X 16模式下的预测残差、宏块残差编码模式(CBP, Coded Block Pattern)值,以及运动矢量作为SVM分类器2输入特征矢量,利用SVM分类器2模型将除SKIP和Interl6X 16模式之外的其他帧间预测宏块模式{Interl6X8、Inter8X 16、Inter8X8}分为{ Interl6 X 8, Inter8 X 16 }和{ Inter8 X 8 }两类;如果分类结果属于{ Interl6 X 8, Inter8 X 16 },则继续搜索 Interl6X8、Inter8 X 16模式,计算率失真代价,在帧内预测宏块模式、SKIP、Interl6X 16、Interl6X8、Inter8X 16模式中选取率失真代价最小的模式为最优模式;如果分类结果属于{Inter8X8},则继续搜索Inter8X8模式,计算率失真代价,在中贞内预测宏块模式、SKIP、Inter 16 X 16、Inter8 X 8模式中选取率失真代价最小的模式为最优模式。
【文档编号】H04N19/00GK103533349SQ201310445721
【公开日】2014年1月22日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】陈皓, 胡亚平, 陈炯聪, 黄曙, 余南华, 刘玮, 刘振国, 谢国财, 邓应松 申请人:广东电网公司电力科学研究院