视频编码方法

文档序号:7945877阅读:203来源:国知局
专利名称:视频编码方法
技术领域
本发明涉及一种视频编码方法,尤其涉及一种AVS视频编解码标准格式下的视频 编码方法。
背景技术
当前视频格式,主要有H. 264、WMA-HD、MPEG2-TS、MPEG4和VC-I等,分别对应国外 各个国家的广电及节目源编解码标准,而中国视频的编解码标准,目前国家推出的自有知 识产权的是AVS视频编解码标准。目前正在广电及相关产品领域进行上下游的推进和产业
化工作。目前AVS编码器对所有的模式进行全搜索,对每种模式做运动估计并计算率失真 代价,编码时间太长。全搜索就是对宏块进行全部6种模式的搜索skip,16*16,16*8,8*16,8*8, intra(即帧内)。对每一个宏块都进行按所列顺序进行遍历搜索,最后哪个模式下的率失 真代价小,就选择哪个模式。运动估计是尝试发现在前一编码帧(称为“基准帧”)中的一个与当前帧中每个宏 块紧密匹配的区域。对于每一个宏块来说,运动估计产生一个“运动矢量”。运动矢量是由 当前帧中宏块相对于所选择的16x16像素区域的基准帧中位置的水平和垂直偏移组成。视 频编码器通常使用VLC来对视频码流中的运动矢量进行编码。所选择的16x16像素区域被 用于当前宏模块中像素的预测,使用上面介绍的静态图像压缩方法来进行宏块之间的差异 以及所选择区域(预测误差)的运算和编码。现有技术中,还有一种用于H. 264编码的快速帧间模式选择算法。此算法首先对 视频图像进行2 1的下采样,以获得长宽各为原图像1/2的低分辨率缩略图,并对此缩 略图进行R-D优化获得低分辨率下帧间编码宏块使用的最佳块模式,然后将该最佳模式映 射为原分辨率图像中对应宏。此算法的主要思想是首先将原始图像下采样为21的低分 辨率缩略图,然后对此缩略图进行编码和R-D优化,选择出编码缩略图中每个8X8块所使 用的帧间编码模式。在编码原始图像的一个16X16宏块过程中,参考缩略图中对应位置的 8X8块所使用的帧间编码模式,并将其映射为一个待选模式的子集,使用这个子集中的模 式进行编码和R-D优化,并最终选择出最优的帧间编码模式。由于对2 1的低分辨率缩 略图编码所耗时间较少(基本上为对原始分辨率图像编码时间的1/4),而经过预编码后待 测模式子集将变得很小,从而在整体上提高了编码速度。

发明内容
本发明揭示一种视频编码方法,用于确定符合条件的帧宏块的编码模式,可以提 高编码效率。一种视频编码方法,包括确定视频第一帧各宏块的编码模式;设置预测模型;分 析预测模型内各宏块的编码模式,如符合第一条件,则确定当前宏块的编码模式;如不符合
3第一条件,则顺序搜索其他帧间编码模式,判断是否符合第二条件;如符合第二条件,则确 定当前宏块的编码模式;如不符合第二条件,且预测模型内各宏块的编码模式不包含帧内 模式,则搜索帧内模式,确定当前宏块的编码模式。在较佳实施例中,通过对视频第一帧进行全搜索的方式来确定视频第一帧各宏块 的编码模式。在较佳实施例中,预测模型由当前宏块在参考帧的对应宏块、当前宏块的左宏块 和当前宏块的上宏块组成;所述参考帧为当前帧的前一帧。在较佳实施例中,按照skip、16*16、16*8、8*16、8*8的编码模式顺序搜索预测模 型内各宏块的编码模式。在较佳实施例中,当搜索到预测模型内宏块的编码模式为skip模式时,计算该 skip模式的率失真代价,若最小率失真代价小于等于Thl,且率失真代价小于等于最小率失真代价* α,则 确定当前宏块编码模式为该skip模式;若最小率失真代价大于Thl并小于等于Th2,且率失真代价大于等于最小率失真 代价* β 1而小于等于最小率失真代价* β 2,则确定当前宏块编码模式为该skip模式;若最小率失真代价大于Th2,且率失真代价大于等于最小率失真代价而小于等于 最小率失真代价* Y 1或者率失真代价小于等于最小率失真代价* δ,则确定当前宏块编码 模式为该skip模式。在较佳实施例中,Thl为 3800,Th2 为 10000,α 为 1. 05,β 1 为 0. 91,β 2 为 1. 07, Y 1 为 1. 10,δ 为 0. 80。在较佳实施例中,当搜索到预测模型宏块的编码模式为非skip模式时,计算所述 宏块编码模式下的率失真代价,若率失真代价小于最小率失真代价,则确定当前宏块编码 模式为所述宏块的编码模式。在较佳实施例中,当搜索到其他帧间编码模式为skip模式时,计算该编码模式下 的率失真代价,若率失真代价小于等于最小率失真代价*1.10,则确定当前宏块编码模式为 该Skip模式;当为其他帧间编码模式时,计算该帧间编码模式下的率失真代价,若率失真 代价小于Th3,则确定当前宏块编码模式为该帧间编码模式。在较佳实施例中,所述的最小率失真代价为前一帧相应宏块的最小率失真代价。由于本发明揭示的编码方法利用当前宏块的相邻宏块和参考帧的对应宏块预测 宏块的编码模式,可以使宏块可能的最佳编码模式首先得到搜索,有选择的减少了帧内模 式的搜索次数,节省了编码时间。


附图1是本发明实施例中参考帧的宏块示意图;附图2是本发明实施例中当前帧的宏块示意图;附图3是本发明视频编码方法实施例的流程示意图。
具体实施例方式下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。在本发明实施例中,主要以是先搜索到当前宏块的最佳编码模式,也可以是先搜 索最有可能为最佳模式的编码模式,其满足设定的条件则不需要进行其他编码模式的搜 索,否则搜索其他的编码模式。视频序列在空间和时间上都存在很大的相关性,统计表明,当前宏块与其左、上相 邻宏块和参考帧的对应宏块(这三者组成本发明实施例的预测模型)三个之一有相同编码 模式的概率为60% 89%。而当预测模型中有skip模式时,当前宏块最佳模式为skip模 式的概率为64% 99%。因此,用相邻宏块的编码模式来预测当前宏块的编码模式,可以 减少宏块的搜索模式个数,节省编码时间。Skip模式就是直接利用预测的运动矢量对应的宏块的像素值作为当前宏块的像 素值,其编码时不需要对像素残差和运动矢量残差进行编码。因此该模式需要的编码比特 数最少,且不需要进行复杂的运动估计,编码时间短。其他编码模式不具备这个特点,所以 无法直接进行编码模式的替换。仅仅使用前一个显示的基准帧来编码的帧被称为“P帧”,同时使用前一个显示帧 和未来帧作为基准帧进行编码的帧称为“B帧”。如图1和2所示,frame (i)为当前帧,frame (i-Ι)为参考帧。Xi为当前宏块,则 XLi, XUi和Xi-I组成预测模型,相应XLi,XUi和Xi-I这三个宏块的编码模式作为当前宏 块的预测编码模式。然后对这三个预测编码模式进行搜索,进行运动估计和率失真计算,率 失真代价最小的模式就是当前宏块最佳的编码模式。考虑到skip模式的特点,为了减少编 码时间,所以优先考虑先搜索skip编码模式。本发明的视频编码方法,以当前宏块的左、上两个相邻宏块和前一帧上对应位置 宏块为该宏块的预测模型,具体视频编码方法的流程图参见附图3所示。主要步骤包括Sl 确定视频第一帧各宏块的编码模式,此处采取全搜索的方式确定各个宏块的编码模式;S2 设置预测模型,根据当前宏块在前一帧的对应宏块和当前宏块的上宏块、左宏块组成;S3 设置预测编码模式,即预测模型内各宏块的编码模式;S4搜索预测编码模式并判断是否符 合第一条件,其中的判断条件为根据率失真代价、最小率失真代价及相应阀值决定;如果满 足第一条件,则确定S7当前宏块的编码模式;如果不满足第一条件,则S5搜索其他帧间编 码模式,判断是否符合第二条件;如果符合第二条件,则确定S7当前宏块的编码模式;如果 不符合第二条件,S6若预测编码模式不包含帧内模式,则搜索帧内编码模式,确定S7当前 宏块的编码模式。对视频序列的第一个P帧采用全搜索的方式,可以按照skip,16*16,16*8,8*16, 8*8,intra(即帧内)的编码模式分别对P帧内各宏块的编码模式进行搜索和确定。因为 要用第一个P帧内宏块的编码模式来预测后面帧的编码模式,这样可以提高预测的准确度 和编码的效果。对于第二个及以后的P帧,其左边和上边序列的宏块,采用全搜索或者其他方式 确定各宏块的编码方式,而对符合能够构建预测模型的宏块,其编码方式的确定如下首先确定当前宏块的预测编码模式;该预测编码模式即其左、上相邻宏块和参考帧的对应宏块的编码模式,并对这三 个模式从小到大进行排序,目的是为了可以首先搜索到skip模式,因为对于运动缓慢的序列,skip编码模式占了半数以上的比例。在这里,用当前宏块的左边相邻块、上面相邻块和 参考帧中相同位置的宏块的编码模式作为预测模型。按顺序搜索预测模型的预测编码模式,对每种预测编码模式做运动估计并计算率 失真代价。这里的运动估计就是用的AVS中的算法,计算率失真的目的是为了选择最佳的 编码模式,代价最小的模式就是最佳的。本实施例中主要根据相应块的最小率失真代价ThreSh_rdC0St来判断宏块运动 剧烈程度。率失真代价对每个宏块在每种模式下都进行计算。率失真代价与具体阀值的选 取条件如下RDCost = Distortion+ λ 氺Rate其中,Distortion是原始图像宏块与重建宏块的绝对差值和;λ是拉格朗日参 数;Rate是编码当前块的残差、运动矢量等需要的比特数。对于每个帧间宏块,共有skip,16*16,16*8,8*16,8*8,intra这六种模式,每种模 式下都按上面的公式进行计算。宏块最后选择的编码模式就是这六种模式中率失真代价最 小的模式,而这个最小的代价值也称为该宏块的最小率失真代价。而对于提案中用到的阈 值Thresh_rdc0st,是前一帧对应宏块的最小率失真代价。对于该宏块所有的模式,该阈值 不变。当然对于实际情况中的帧间模式选择,宏块进行全部六种模式搜索的可能性不大,那 么该宏块的最小率失真代价就是搜索的几种模式中率失真代价的最小值。当搜索的预测编码模式为skip模式时,根据视频的运动剧烈程度选择相应的阈 值,当Skip模式下的率失真代价rdcost满足阈值条件时,则结束模式选择,确定当前宏块 编码模式为该skip模式;否则进行下一步。当Thresh_rdcost < = Thl时,判断该宏块为缓慢运动,若满足rdcost < = Thresh_rdc0st*a,则确定当前宏块的编码模式为该skip模式,结束模式选择;否则进行
下一步。当Thl < Thresh_rdcost < = Th2时,判断该宏块为中等运动,若满足Thresh_ rdcost* β 1 <= rdcost <= Thresh_rdcost* β 2,则确定当前宏块的编码模式为该skip 模式,结束模式选择;否则进行下一步。当Thresh_rdcost > Th2时,判断该宏块为剧烈运动,若满足Thresh_rdcost < = rdcost < = Thresh—rdcost氺 γ 1 或者 rdcost < = Thresh—rdcost氺 δ,贝Ij确定当前宏块的 编码模式为该skip模式,结束模式选择;否则进行下一步。本实施例中所描述的参数都是多次试验得出的经验数值,实验中选取的数值为 Thl = 3800,Th2 = 10000,α = 1. 05, β 1 = 0. 91, β 2 = 1. 07, γ 1 = 1. 10,δ = 0. 80,
但是这些数值可以略有浮动。当搜索的预测编码模式为非skip模式时,计算该预测编码模式下的率失真代价, 判断该模式下的率失真代价rdcost是否满足以下条件rdCOst < Thresh_rdc0st,若满足 该条件,则确定当前宏块的编码模式为该预测编码模式,结束模式选择;否则进行下一步。上述的模式选择主要是针对预测模型内的预测编码模式,并且按照分skip和非 skip模式两种情况来考虑。这里得到的最佳模式只是这几种预测模式中是最好的,最佳模 式就是其率失真代价最小。rdcost < Thresh_rdcost是预先定义的,就是把Threshjdcost 作为一个阈值,满足这个条件说明当前模式已经够好了,不要搜索其他模式了。该阀值可以视实际需要进行微调。如果上述预测模型内的预测编码模式都不满足条件,还没法确定当前宏块的编码 模式,则需要对预测编码模式之外的其他编码模式进行搜索。如果搜索到的其他编码模式为skip模式时,若满足rdcost < = Thresh, rdcost* γ 1,则确定当前宏块的编码模式为该skip编码模式,结束模式选择;当该其他编 码模式为非skip模式时,若满足rdcost <= Th3,则确定当前宏块的编码模式为该其他编 码模式,结束模式选择;否则进行下一步。此处的 Th3 = 1+Bsize [mode] / (Thresh_rdcost*Thresh_ rdcost) -AlphaThird[mode], Bsize [mode]和 AlphaThird[mode]的值与搜索模式有关,不 同模式下数值不同。如果上述预测模式和其他帧间模式都不满足提前结束模式选择的条件,没法确定 当前宏块的编码模式,而且帧内模式不在预测编码模式之中,则最后进行帧内模式搜索,根 据帧内模式,确定当前宏块的编码模式。实际应用中,帧内模式应用的概率非常小。通过上述描述,本发明所揭示的视频编码方法,利用宏块的相邻宏块和参考帧的 相应宏块编码模式来预测当前宏块的编码模式,可以使宏块可能的最佳编码模式首先得到 搜索,打破了全搜索一成不变的从skip到8x8的搜索顺序。而且利用宏块最佳模式为skip 模式时的特性,设置一些阈值,可以提前结束模式选择过程,有选择的减少了帧内模式的搜 索次数,节省了编码时间。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或 替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限 定的保护范围为准。
权利要求
一种视频编码方法,包括确定视频第一帧各宏块的编码模式;设置预测模型;分析预测模型内各宏块的编码模式,如符合第一条件,则确定当前宏块的编码模式;如不符合第一条件,则顺序搜索其他帧间编码模式,判断是否符合第二条件;如符合第二条件,则确定当前宏块的编码模式;如不符合第二条件,且预测模型内各宏块的编码模式不包含帧内模式,则搜索帧内模式,确定当前宏块的编码模式。
2.根据权利要求1所述的视频编码方法,其特征在于,通过对视频第一帧进行全搜索 的方式确定视频第一帧各宏块的编码模式。
3.根据权利要求1所述的视频编码方法,其特征在于,所述的预测模型由当前宏块在 参考帧的对应宏块、当前宏块的左宏块和当前宏块的上宏块组成。
4.根据权利要求1所述的视频编码方法,其特征在于,按照skip、16*16、16*8、8*16、 8*8的编码模式顺序搜索预测模型内各宏块的编码模式。
5.根据权利要求1所述的视频编码方法,其特征在于,所述的参考帧为前一帧。
6.根据权利要求1 5之一所述的视频编码方法,其特征在于,当搜索到预测模型内宏 块的编码模式为skip模式时,计算该skip模式的率失真代价,若最小率失真代价小于等于Thl,且率失真代价小于等于最小率失真代价* α,则确定 当前宏块编码模式为该skip模式;若最小率失真代价大于Thl并小于等于Th2,且率失真代价大于等于最小率失真代价 * β 1而小于等于最小率失真代价* β 2,则确定当前宏块编码模式为该skip模式;若最小率失真代价大于Th2,且率失真代价大于等于最小率失真代价而小于等于最小 率失真代价* Y 1或者率失真代价小于等于最小率失真代价* δ,则确定当前宏块编码模式 为该skip模式。
7.根据权利要求6所述的视频编码方法,其特征在于,所述的Thl为3800,Th2为 10000,α 为 1. 05,β 1 为 0. 91,β 2 为 1. 07,y 1 % 1. 10,δ 为 0. 80。
8.根据权利要求7所述的视频编码方法,其特征在于,当搜索到预测模型宏块的编码 模式为非skip模式时,计算所述宏块编码模式下的率失真代价,若率失真代价小于最小率 失真代价,则确定当前宏块编码模式为所述宏块的编码模式。
9.根据权利要求8所述的视频编码方法,其特征在于,当搜索到其他帧间编码模式 为skip模式时,计算该编码模式下的率失真代价,若率失真代价小于等于最小率失真代价 *1. 10,则确定当前宏块编码模式为该skip模式;当为其他帧间编码模式时,计算该帧间编 码模式下的率失真代价,若率失真代价小于Th3,则确定当前宏块编码模式为该帧间编码模 式。
10.根据权利要求1所述的视频编码方法,其特征在于,所述的最小率失真代价为前一 帧相应宏块的最小率失真代价。
全文摘要
一种视频编码方法,包括确定视频第一帧各宏块的编码模式;设置预测模型;分析预测模型内各宏块的编码模式,如符合第一条件,则确定当前宏块的编码模式;如不符合第一条件,则顺序搜索其他帧间编码模式,判断是否符合第二条件;如符合第二条件,则确定当前宏块的编码模式;如不符合第二条件,且预测模型内各宏块的编码模式不包含帧内模式,则搜索帧内模式,确定当前宏块的编码模式;该视频编码方法可以提高编码效率。
文档编号H04N7/32GK101883275SQ20091002741
公开日2010年11月10日 申请日期2009年5月4日 优先权日2009年5月4日
发明者刘微, 彭玉华, 裴雷, 魏建云 申请人:青岛海信数字多媒体技术国家重点实验室有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1