专利名称:一种帧间与帧内编码模式的选择方法
技术领域:
本发明涉及实时视频编码中的一种编码模式选择算法。
背景技术:
视频编码算法包含帧内编码和带有运动补偿帧间预测的帧间编码两种
模式。带有运动补偿帧间预测的帧间编码模式(后面称为Inter模式)在压 缩比上对于帧内编码模式(后面称为Intra模式)具有无与伦比的优势。因 此,在图像帧一级和16x16图像块(称为宏块) 一级尽量采用Inter模式来 获得高压缩比,就是P帧和Inter宏块。仅在初始时刻(包括序列的绝对初 始时刻和切入时刻)和需要纠正或应付传输差错时使用I帧(图像帧一级的 编码模式为Intra),在帧间块匹配失败时和需要局部图像失谐校正或刷新时 使用Intra宏块(宏块一级的编码模式为Intra)。
其中,帧间块匹配失败是由遮挡引起的。此时,当前帧部分图像区域与 参考帧图像之间没有对应关系或对应得不恰当,Inter模式的率失真性能比 Intra模式的还差。虽然在绝大多数情况下同一场景的帧间块匹配是成功的, 这样的块匹配失败情况只占少数,但是如果不及时改成Intra模式,就会引 起局部图像质量衰退,如出现拖影和残留的效果。通常的解决方法是在进行 P帧编码时对每个宏块同时进行Inter模式与Intra模式的尝试,计算出各自 的率失真性能量度量,如能同时实现码率i 和失真度Z)优化的Lagrangian代 价J-D + zUi ,从中选出率失真性能较好的模式。
H.264 Intra模式所包含的4x4亮度帧内预测要求利用编解码顺序前的相 邻4x4块的重建图像数据生成预测值。当且仅当前一个4x4块的重建图像生 成后,才能开始处理后一个4x4块。于是,为了获得4x4 Intra模式的 Lagrangian代价J,必须对每个4x4亮度块执行完整的Intra宏块编码过程。 其附带生成的Intra模式编码结果只有在宏块编码模式最后确定为Intra模式
的情况下才有用。而Intra宏块在P帧中出现的机会非常低。在绝大多数情 况下,Intra模式编码结果都成为无用数据被丢弃。
H.263 TMN12的帧间与帧内模式选择算法简单得多只需要求出宏块的 自方差,便可以作为Intra代价与帧间预测残差的绝对值和SAD比较,不需 要执行任何Intra编码运算。可惜这种方法不能沿用到R264编码。因为H.264 Intra模式包含了 H.263 Intra模式所没有的图像平面空间预测,必须用帧内 预测残差与帧间预测残差相比專交。
文献Fast inter mode select, JVT of ITU-T VCEG and ISO/IEC MPEG, Document JVT-I020, San Diego, USA, S印tember 2003 ,公开了 一种帧间与帧 内模式选择算法在完成Inter模式选择后,比较时域相关性和空域相关性, 根据比较结果决定是执行Intra模式尝试,还是确定宏块编码模式为Inter模 式。该算法定义方块空域相关性指标ABE为当前宏块与编码顺序前的相邻 宏块相交的边界像素的像素值之差(交界线一边用原始图像值,另外一边用 重建图像值)的平均值,定义方块时域相关性指标AR为最佳Inter模式下 变换系数码流的平均长度。如果AR<kABE (k为预先设定的正数),时域相 关性大于空域相关性,最佳编码模式为Inter模式,可以跳过Intra模式的尝 试;否则,空域相关性大于时域相关性,需要执行Intra模式尝试。
实际应用表明该算法能够大幅度减少Intra模式尝试的机会,有效减少 运算量,同时对图像质量的影响甚微(<0.1dB)。可以改进之处包括该算法 在比较时域相关性和空域相关性前需要生成Inter模式变换系数码流,这样 每个宏块可能出现两次生成变换系数码流的过程,存在进一步简化处理过程 和减少运算量的余地;该算法只能用于帧内预测不受限的编码情况,不能用 于帧内预测受限的编码情况。
帧内预测不受限的情况允许用同 一个slice内相邻的任何宏块(包括Inter 宏块和Intra宏块)的边界像素值去预测当前宏块,帧内预测受限的情况只 允许用同一个slice内相邻的Intra宏块的边界像素值去预测当前宏块,不允 许用相邻的Inter宏块的边界像素值去预测当前宏块。H.264定义了帧内预测 不受限和受限两种编码选项。帧内预测不受限的帧内预测效率和Intra模式 压缩比更高,帧内预测受限的码流容错性更强。因为除非相邻的宏块全是
Intra宏块,否则,帧内预测不受限时当前Intra宏块的图像重建与过去帧的 重建图像相关,可能传递过去帧的差错图像;帧内预测受限时当前Intra宏 块的图像重建与过去帧的重建图像完全无关,可以起到画面刷新的作用。而 现有技术中快速帧间与帧内模式选择算法仅仅考虑且只能应用于帧内预测 不受限的编码情况。
视频信源码流的容错性是多媒体通信产品的关键性能。尤其对于通过无 QoS保证的IP网络传输多媒体数据的H.323会议电视终端,通过码流中少 量帧内预测受限的Intra宏块刷新局部图像差错的意义更显突出。适用于帧 内预测受限的编码情况同时通过自适应省略无意义处理,有效减少运算量的 快速选择帧间和帧内模式的方法成为产品化的迫切需求。
发明内容
本发明要解决的技术问题是提供一种帧间与帧内模式选择方法,在强容 错性的帧内预测受限的编码选项中,不仅能刷新局部图像差错,而且通过提 早终止帧内模式的尝试自适应省略无意义处理,进一步减少运算量,从而快 速完成宏块帧间和帧内模式的选择,提高编码速度。
本发明提出一种帧间与帧内编码模式的选择方法,包括以下步骤
(1) 在完成帧间运动补偿预测模式选择并且求得帧间模式代价丄^后, 计算宏块顶部4个方块的Intra代价J,,并完成这4个方块的图像重建,所 迷i表示亮度块的编号,0S/S3;
(2) 计算宏块内部空间相关性指标^S4Z^;
(3 )根据宏块顶部4个方块的Intra代价,模式选择的偏移量Q尸o(QP)和 宏块内部空间相关性指标,计算Intra代价预测值),咖;
(4)判断预测出的Intra代价》,咖是否大于已求得的Inter代价力,,妙,如 果是,则确定宏块编码模式为Inter模式,结束。
进一步,上述方法还可具有以下特点步骤(4)中,如果预测出的Intra 代价义咖小于已求得的Inter代价力幽.,执行步骤(5 ),
(5 )逐个4x4方块计算余下的12个4x4方块的Intm代价,,并进行
累加得到宏块的Intra代价
(6) 判断此次累加的结果J一是否大于J^,如果是,确定宏块编码 模式为Inter模式,结束,否则,继续执行步骤(7);
(7) 判断是否已计算出宏块内所有16个方块的Intra代价,如果是, 将当前宏块的编码模式设置为Intra,结束,否则,继续执行步骤(5)。
进一步,上述方法还可具有以下特点步骤(l)中计算每个方块Intra 代价的方法包括
(a) 选择4x4帧内预测方式,选出率失真性能最佳的一种预测方式, 生成预测图^f象;
(b) 根据原始图像数据-预测图像数据=残差数据,进一步由4x4帧内 预测模式的偏移量+残差数据的绝对值和SAD计算出Intra代价。
进一步,上述方法还可具有以下特点步骤(2)中,计算宏块内部空 间相关性指标&4/)5£的方法包括
其中,y一org,.是当前宏块第4行第/列的原始图像像素值,r — KCi是当 前宏块第3行第Z列的重建图像像素值。
进一步,上述方法还可具有以下特点步骤(2)中计算Intra代价预测 值》_的方法包括
所述e^)(2尸)为一常量。
进一步,上述方法还可具有以下特点所述方法适用于帧内预测受限、 同时包含亮度4x4帧内预测的宏块编码模式的视频编码。
与现有技术相比,本发明的技术效果是在强容错性的帧内预测受限的编 码选项下通过提早终止帧内预测编码模式的尝试自适应省略无意义处理,从 而快速完成宏块帧间和帧内模式的选择,显著提高编码速度。
图1 (a)为现有技术规定的编码顺序图。
图1 (b)为本发明实施例中的编码顺序图。
图2是实施例中计算宏块内部空间相关性示意图。
图3是实施例中的方法流程图。
具体实施例方式
在帧内预测受限的情况下,只有相邻的Intra宏块才能提供帧内预测。 显然,Intra模式的率失真性能不能用现有技术中当前宏块与相邻宏块的边界 像素值差来评估。
为了快速选出帧间Inter模式和帧内Intra模式,本发明将图1 (a)中规 定的宏块内16个4x4亮度块的编码顺序调整为图1 (b)所示的处理顺序。 这样在处理完位于宏块顶部的4个4x4方块后,可以立即计算宏块内部的空 间相关性指标,即计算图l(b)中0、 1、 2、 3块重建图像的最下一行(图2中 第3行)与4、 5、 6、 7块原始图像的最上一行(即图2中第4行)之间像 素值的绝对值差和,并以该绝对值差和为Intra代价预测值。通过比较Inter 代价和Intra代价预测值决定是继续Intra模式尝试还是终止Intra模式尝试 (确定Inter模式为最佳宏块编码模式)。这样就可以在处理完4个4x4块 后较早地终止Intra模式尝试和Intra代价计算,减少运算量。
当然,为了保持码流的兼容性和互通性,每个4x4方块的具体处理方法 仍然完全按照标准执行,包括4x4方块空间相邻性判定、宏块码流结构等。 改动的只是4个4x4块的编码顺序,宏块内部4x4块的熵编码顺序仍然照旧。
下面结合附图对本发明的实施例进行详细说明。如图3所示,该方法包 括以下步骤
步骤110,在完成帧间运动补偿预测模式选择并且求得帧间模式代价 J/自后,对宏块顶部4个4x4方块,即图l(b)中0、 1、 2、 3块,计算出其Intra代价,4个方块的Intra代价分别为J。, 〃 ,人,,并完成这4个方 块的图像重建;
现有的计算每个方块的Intra代价并完成图像重建的方法,包括以下步
骤
(a) 选择4x4帧内预测方式,从H.264标准所提供的总共9种预测方 式中选出率失真性能最佳的 一种预测方式,生成预测图像;
(b) 根据原始图像数据-预测图像数据=残差数据,进一步由4x4帧内 预测模式的偏移量+残差数据的绝对值和SAD计算出Intra代价;
(c) 对残差系数编码生成变换系数Rim-Level符号,其中步骤包括正 交变换、量化、之字扫描与游程编码生成Run-Level符号、反向量化、生成 编码器本地重建图像。
补充说明,上述过程与完整的H.2644x4帧内预测编码过程相比,仅差 熵编码一步。即使在最大限度减少模式选择运算量的要求下,也仅仅能够省 略这一步。
步骤120,根据计算方块空域相关性指标ABE的方法,计算宏块内部 空间相关性指标5^^,
其中,y —org,是图2中当前宏块第4行第/列的原始图像像素值,rec,. 是图2中当前宏块第3行第/列的重建图像像素值。
该步骤的方法参见文献Fast inter mode select, JVT of ITU-T VCEG and ISO/IEC MPEG, Document JVT-I020, San Diego, USA, September 2003。
步骤130,计算Intra代价预测值
<formula>complex formula see original document page 9</formula>
,:0
上式中,上自是帧内模式代价预测值,^0(W)是模式选择的偏移量, 为一常量,详细说明见于H.264 Joint Model,人,人,人,/3是16x16宏 块最顶部4个4x4块的帧内模式代价,^S4Z^为宏块内部空间相关性指标。
在帧内预测受限的情况下,即H.264图像参数集中的constrained—intra _pred—flag=l,虽然不能在Intra模式尝试前根据宏块间相关性跳过Intra模式 的尝试,但是可以在宏块内部最顶部的4个4x4亮度块的处理结束时刻根据 宏块内部相关性预测Intra代价,从而可能提前终止Intra模式的尝试,省略 无意义的处理。
步骤140,判断预测出的Intra代价》胁。是否大于已求得的Inter代价 入 妙,如果是,执行步骤150,否则,执行步骤160;
步骤150,立即终止Intra代价计算,确定宏块编码模式为Inter模式, 结束;
对于在P帧中出现机会最大的Inter块,对应的时域相关性总是大于空 域相关性,因此以极高的概率在此处终止不必要的Intra模式的继续尝试。 至于剩余的一小部分Inter模式情况,也会在宏块余下的12个4x4亮度块的 精确Intra代价计算中通过与Inter代价的比较而被逐步排除Intra模式。
步骤160,继续以Inter代价为提前终止尝试的量逐个4x4方块计算余下 的12个4x4方块的Intra代价J,(图l(b)中4 ~ 15块),并进行累加得到 宏块的Intra代价<formula>complex formula see original document page 10</formula>
其中,"15。
步骤no,判断此次累加的结果j^,。是否大于j^,如杲是,执行步骤
150,否则,继续#1行步骤180;
步骤180,判断是否已讦算出宏块内所有16个方块的Intra代价,如果 是,执行步骤190,否则,执行步骤160;
步骤190,将当前宏块的编码模式设置为Intra,结束。
最后处理完16个方块时宏块模式正是Intra,编码结果成为有用数据。 Intra宏块在P帧所占比例很少。因此,Intra模式尝试所花费的运算量显著 降低。在实际应用中也表现出既显著减少运算量,又保证图像质量及率失真 性能的效果,提高P帧Intra模式编码的速度达到32.12%,提高总处理速度 2.63%;所付出的代价是增加码率最大1.27%,或图像质量最大下降0.077dB。
权利要求
1、一种帧间与帧内编码模式的选择方法,包括以下步骤(1)在完成帧间运动补偿预测模式选择并且求得帧间模式代价JInter后,计算宏块顶部4个方块的Intra代价Ji,并完成这4个方块的图像重建,所述i表示亮度块的编号,0≤i≤3;(2)计算宏块内部空间相关性指标SADBE;(3)根据宏块顶部4个方块的Intra代价,模式选择的偏移量QP0(QP)和宏块内部空间相关性指标,计算Intra代价预测值id="icf0001" file="A2006101606720002C1.gif" wi="10" he="5" top= "81" left = "129" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/>(4)判断预测出的Intra代价id="icf0002" file="A2006101606720002C2.gif" wi="8" he="5" top= "90" left = "95" img-content="drawing" img-format="tif" orientation="portrait" inline="no"/>是否大于已求得的Inter代价JInter,如果是,则确定宏块编码模式为Inter模式,结束。
2、 如权利要求l所述方法,其特征在于,步骤(4)中,如果预测出的 Intra代价》,咖小于已求得的Inter代价J,咖,执行步骤(5 ),(5 )逐个4x4方块计算余下的12个4x4方块的Intra代价J,.,并进行 累加得到宏块的Intra代价(6) 判断此次累加的结果j^。是否大于j^,如果是,确定宏块编码 模式为Inter模式,结束,否则,继续执行步骤(7);(7) 判断是否已计算出宏块内所有16个方块的Intra代价,如果是, 将当前宏块的编码模式设置为Intra,结束,否则,继续执行步骤(5)。
3、 如权利要求1所述方法,其特征在于,步骤(1 )中计算每个方块Intra 代价的方法包括(a) 选择4x4帧内预测方式,选出率失真性能最佳的一种预测方式, 生成预测图^f象;(b) 根据原始图像数据-预测图像数据=残差数据,进一步由4x4帧内 预测模式的偏移量+残差数据的绝对值和SAD计算出Intra代价。
4、 如权利要求l所述方法,其特征在于,步骤(2)中,计算宏块内部 空间相关性指标&4Z)fiF的方法包括<formula>complex formula see original document page 3</formula>其中,7_0^是当前宏块第4行第/列的原始图像像素值,7 —r^.是当 前宏块第3行第/列的重建图像像素值。
5、 如权利要求4所述方法,其特征在于,步骤(2)中计算Intra代价 预测值》咖的方法包括<formula>complex formula see original document page 3</formula>所述QP()(2户)为一常量。
6、 如权利要求l所述方法,其特征在于所述方法适用于帧内预测受限、同时包含亮度4x4帧内预测的宏块编码 模式的视频编码。
全文摘要
本发明提出一种帧间与帧内编码模式的选择方法,包括以下步骤(1)在完成帧间运动补偿预测模式选择并且求得帧间模式代价J<sub>Inter</sub>后,计算宏块顶部4个方块的Intra代价J<sub>i</sub>,并完成这4个方块的图像重建,所述i表示亮度块的编号,0≤i≤3;(2)计算宏块内部空间相关性指标SAD<sub>BE</sub>;(3)根据宏块顶部4个方块的Intra代价,模式选择的偏移量QP<sub>0</sub>(QP)和宏块内部空间相关性指标,计算Intra代价预测值J<sub>Inter</sub>;(4)判断预测出的Intra代价J<sub>Inter</sub>是否大于已求得的Inter代价J<sub>Inter</sub>,如果是,则确定宏块编码模式为Inter模式,结束。
文档编号H04N7/34GK101198065SQ20061016067
公开日2008年6月11日 申请日期2006年12月4日 优先权日2006年12月4日
发明者宋立锋 申请人:中兴通讯股份有限公司