0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于通过阈值预判方法进行宏块选择

电子设计 来源:电视技术 作者:卢六翮,薛永林,王 2021-03-17 16:19 次阅读

1 引言

在H.264视频编码中,对于帧间预测,一个16×16的宏块(MB)可分成16×16,16×8,8×16,8×8进行运动估计,其中8×8还可以进一步分为8×4,4×8,4×4的子块。这样,每个细分的模块都去寻找更精确的匹配块,可以增加预测精度提高压缩率。但是,由于每种分类都要进行运动估计,这样做直接的代价就是巨大的计算量。

针对多模式预测带来的计算量增加的问题,近年出现的帧间模式选择算法得到了深入的研究,其中利用阈值提前截止的模式选择的思想得到非常广泛的应用,在只有较小性能损失的代价下,减小计算复杂度。如文献提出如果发现16×16模式已经适用,就直接跳过对16×8和8×16的模式检查,否则全搜索;文献提出利用多级阈值,且阈值依QP变化的方法等。本文的研究也基于通过阈值预判的方法进行宏块选择。

2 帧间模式快速选择算法

2.1 帧间模式选择使用自适应阈值的算法

利用阈值进行预判确实可以在视频质量下降可忽略情况下使编码复杂度尽量降低,然而以上方法有一定的局限性。文献中提出的算法只考虑了3种模式,在很多情况下仍然使用全搜索,文献虽然提出了可变的阈值,但是它的阈值只是随着QP变化而变化的,并没有考虑到不同视频自身的特性。由于不同视频序列特点不同,即使是同一个视频序列内部的不同帧也有着不同的特点,而影响阈值的因素又较多。基于以上观点,本文提出了一种利用统计分类的方法,通过对帧间预测模式进行分类,并选取自适应阈值对宏块模式进行选择。

一般情况下16×16模式使用率最高并且其SAD(Sum of Absolute Difference)值一定会经过计算,所以可建立16×16模式的SAD值(文中简称sad16)和最终选择的模式之间的关系,这是一个标准的模式分类问题。通过视频中相邻帧之间的时间相关性,通过前一帧的模式对应的sad16分布情况,训练得到下一帧的阈值,从而对下一帧的宏块模式进行选择。具体方法如下:

1) 分类

首先将H.264的多种帧问模式分为两类:BSM(BigSize Mode),包括16×16,16×8,8×16模式,SSM(SmallSize Mode),包括8×8,8×4,4×8,4×4。经过对一些CIF格式的测试视频序列的统计可以发现,一般情况下BSM的概率要大于SSM的概率(见表1),又由上文所述,SSM的计算量更大,所以可以在BSM和SSM之间设置一个阈值T,代表了对模式预测精度的可接受程度。如果小于阈值T则该宏块只选择BSM,如果大于阈值T则该宏块对两种模式都进行计算。

基于通过阈值预判方法进行宏块选择

2) 统计

分别计算两种模式下的sad16,经过测试发现sad16值普遍小于8 000,为了便于统计,将计算得到的sad16值左移7位即除以128,将sad16分布在64个取值区间内。按照原始模式选择算法对一帧中的每个宏块进行模式选择,记录其对应的sad16值,从而统计该帧中每个模式对应的不同sad16区间内宏块个数的分布。由于SSM的值比较小,为了便于观察,将其统计结果乘以10。公式如下

式中:k为sad16的64个取值区间,取值为[0,63];sad16∈k代表sad16值在区间k内;若该宏块被判断为BSM模式则nBSM=1,nSSM=0;若该宏块被判断为SSM模式则nSSM=1,nBSM=0。图1和图2分别为两种较具代表性的CIF序列foot-ball和foreman相邻两帧的统计分布图。

由图1,2的统计结果可以看出:取BSM模式的宏块占大多数,且对应的sad16主要分布在较小值区域,在较大值区域也存在但较少;而取SSM模式的宏块占少数,且对应的sad16主要分布在较大值区域,但是数量不多(图1,2中SSM模式已乘10)。通过其他一些测试序列也可以得到相同结论。因此,可通过取一个阈值T,在只计算sad16的情况下,判断该宏块是否可直接决定为BSM模式。当sad16T时,既计算BSM模式也计算SSM模式。由图1,2中还可看出,不管是运动较剧烈的football序列还是运动较平缓的foreman序列,任取的相邻两帧的分布图都非常相似,所以可以基于序列相邻两帧间的时间相关性,利用前一帧的分布来预测下一帧的阈值。

3) 误判率

本算法对计算量的节省较多,而且视频质量几乎没有下降,其代价是一些SSM模式的宏块被判断为BSM,而损失了一些压缩率。如图3所示,阈值取T时,阴影部分所示本应为SSM,但由于sad16在阈值T左面,而被判断为BSM,虽然阴影部分属于误判部分,但是由于阴影部分在阈值左面,属于sad16相对较小区域,所以最终的SAD变化较小,压缩率损失不大。则选取阈值的标准就是:使BSM模式尽量多地在阈值T左面,以减少判决时间;使SSM模式尽量在阈值右面,以减少损失的压缩率。

2.2 4种自适应阈值选取方法

基于上文分析的选取阈值的标准,如何根据前一帧的统计结果设置下一帧的阈值有很多种方法,本文初步提出了4种阈值计算的方法:

1) 最小值阀值法(minimum value thresh,MVT)

该方法取BSM曲线的最大sad16,取SSM曲线的最小sad16,然后取两者之中较小的一个作为阈值,如图4所示。

阈值计算公式为

MIN(sad16,SSM)一般是取SSM时sad16的最小值,而为了避免有些帧不存在SSM的情况,选取MAX(sad16,BSM)进行比较,取二者最小值。由于MIN(sad16,SSM)一般是不断变大的,而MAX(sad16,BSM)的值本身就很大,所以可以给它们乘以一个小于1的比例因子,以控制它的大小。则修正后的阈值计算公式为

式中:α1,α2∈(0,1)为修正系数,可取α1=1/2,α2=3/4。

2) 面积百分比阈值法(area percent thresh,APT)

该方法计算BSM曲线的总面积,取该总面积的β%的面积所对应的sad16作为阈值,如图5所示。

阈值计算公式为

式中:β∈(0,100)为面积百分比因子,取β=75效果较好。

3) 最高点阈值法(highest point thresh,HPT)

该方法取BSM曲线中达到的最高点所对应的sad16作为阈值,如图6所示。

阈值计算公式为

4) 衰减因子阈值法(attenuation factor thresh,AFT)

该方法取BSM曲线中达到的最高点,越过最高点后,取该高度的(1-ω)高度所对应的sad16作为阈值,如图7所示。

阈值计算公式为

式中:ω∈(0,1)为衰减因子,取ω=0.75效果较好,可取TAFT>THPT的值。

本文只是实验了4种计算阈值的方法,利用本文2.1得到的统计图以及模式分类思想还可使用其他计算方法得到可用的阈值。

2.3 算法流程

由上一帧宏块级别的步骤4记录的每个宏块的信息,按照本文所述几种方法,计算本帧inter模式选择需要的阈值T,并利用T对本帧中的每个宏块进行分类,具体步骤如下:

1) 将16×16,16×8,8×16作为备选模式,计算sad(16×16),sad(16×8),sad(8×16),取最小值设为sadmin;

2) 若sadmin

3) 将16×16,16×8,8×16,8×8(其中8×8包括子块subblock 8×4,4×8,4×4)作为备选模式,计算sad(8×8),与之前计算的sad(16×16),sad(16×8),sad(8×16)比较,求之中的最小值,选择该模式,跳至步骤4;

4) 结束该宏块模式选择,记录该宏块相关信息以备计算下一帧阈值。

3 仿真结果

仿真条件:先用MPEG-2编码器对6个CIF(352×288)序列mobile,football,bus,news,table,foreman的前100帧进行MPEG-2编码,设定参数N=12,M=3,码率6 Mbit/s得到源视频。转码过程参考MPEG-2解码器和T264编码器实现。帧率为30 f/s,OP为30,GoP为200。实验平台为Intel P4 2.0 GHz,内存512 Mbyte,操作系统为Windows XP。使用自适应阈值算法且其中的阈值为最小值阈值方法,简称ATH_MVT,其他简称类似。经实验得到最佳经验因子:ATH_APT算法中取β=75,ATH_AFT算法中取ω=0.75。仿真结果见表2(给出3个典型序列:较多细节的mobile,运动较剧烈的football,较平稳的news的结果,其他序列结果略)。

由仿真结果可知:

ATH_MVT方法在搜索时间和编码时间的减少上性能一般,除运动较剧烈的football序列外,其搜索时间减少大都在38%以上,其编码时间减少大都在26%以上。该方法PSNR下降在0.01dB以内,码率(bitrate)上升在0.39%以内,性能损失较小。

ATH_APT方法在搜索时间和编码时间的减少上具有较好的性能,其搜索时间减少大都在45%以上,其编码时间减少大都在30%以上,值得一提的是,对于运动相对较剧烈的football序列,它比其他方法更好的省时效果;该方法PSNR下降在0.01 dB以内,码率上升在1.1%以内,性能损失稍大。

ATH_HPT方法在搜索时间和编码时间的减少上对于所有序列都是最差的,其搜索时间减少最低为7%左右,其编码时间减少最低为5%左右;该方法视频质量最佳,PSNR值不低于原始算法,码率上升在0.47%以内,性能损失较小。

ATH_AFT方法在搜索时间和编码时间的减少上有最好的性能,除football序列外,其搜索时间减少大都在50%以上,其编码时间减少大都在30%以上。该方法视频质量较佳,PSNR值基本等于原始算法,码率上升在0.15%以内,性能损失很小。

图3中的阴影部分为SSM的误判部分,利用公式

将使用了自适应阈值算法判定的SSM个数与原算法中判定的SSM的个数作比较得到的误判率见表3(依然只列出3个典型序列)。其中TH_HPT(使用最高点阈值法的原算法)的误判率相对较小,其他3种方法的误判率相对稍大,但最大也不超过30%。

综合考虑:TH_MVT各个方面性能表现比较平庸;TH_HPT虽然有更小的误判率,但是其搜索时间和编码时间的节约很小,并不实用;TH_APT更适合于视频运动较剧烈且对性能损失要求不很严格的情况;TH_AFT方法取得的阈值在一般情况下具有最好的效果,它能使视频编码在保持良好性能的情况下更节省编码时间,在4种方法中是针对一般序列的较好方法。

4 小结

基于相邻帧之间的时间相关性并通过模式识别中分类统计的方法,本文提出了一种H.264编码中帧间模式选择的算法,并针对该算法给出了4种计算阈值的方法。经过多个测试序列的实验证明:跟原始算法相比,本文提出的算法在性能下降可忽略情况下使编码时间有显著节省,其中TH_AFT的阈值选取方法针对一般序列得到的效果最佳。本文算法可进一步进行扩展,如增加多级阈值以及设计更好的阈值计算方法等。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1129

    浏览量

    40661
  • 编码器
    +关注

    关注

    45

    文章

    3580

    浏览量

    134077
  • 视频
    +关注

    关注

    6

    文章

    1931

    浏览量

    72794
收藏 人收藏

    评论

    相关推荐

    一种分裂的多描述视频编码方法

    一种分裂的多描述视频编码方法
    发表于 09-11 00:59

    七种奇电路实现方法的分析比较

    摘要: 以三输入奇电路设计为例,通过对其输出函数表达式的形式变换,分别采用多种门电路及译码器、数据选择器等74 系列器件进行电路设计,给出了7 种电路实现形式,并分析了各种电路实现的
    发表于 11-07 16:13

    H.264视频鲁棒传输的最优模式选择

    分析了受损的信道失真及其差错扩散,研究了编码模式对信源失真和信道失真的影响,提出了结合信源信道编码的一种基于率失真优化的快速模式选择
    发表于 02-28 16:48 25次下载

    H.264选择的自适应算法研究

    在视频编码的过程中,运动估计占据了举足轻重的地位.其性能优劣会在一定程度上决定了码流质量.采用16×16 能够提高压缩比,但容易产生方块效应,使用4×4可以提高图
    发表于 08-05 09:01 6次下载

    一种分裂的多描述视频编码方法

    一种分裂的多描述视频编码方法:多描述编码是近年来提出的用于不可靠网络的视频编码方法。本文在基编码的基础上,提出了一种基于
    发表于 08-08 08:29 19次下载

    一种改进的小波阈值降噪方法性能分析

    结合小波阈值降噪中估计小波系数的软阈值和硬阈值方法的各自特点,提出了一种改进的方案。将该方法用于叠加了噪声的仿真信号
    发表于 08-14 09:36 15次下载

    基于AVS编码的帧间模式选择快速算法

    根据人眼对图像内容边缘比较敏感的特点,针对内水平方向或垂直方向边缘点的个数及边缘的总数选择分割模式。对于边缘点的
    发表于 09-14 16:05 13次下载

    小波变换阈值降噪方法及在工程中的应用

    研究了基于小波变换的信号降噪的原理和方法,从中选择阈值法降噪。详细论述了该方法的原理,特点和利用MatLAB 中小波分析工具箱进行设计的步骤
    发表于 12-14 11:35 15次下载

    奇电路实现方法探讨

    以三输入奇电路设计为例,通过对其输出函数表达式的形式变换,分别采用多种门电路及译码器、数据选择器等74系列器件进行电路设计,给出了7种电路实现形式,并分析了各种电路
    发表于 09-09 10:33 42次下载
    <b class='flag-5'>判</b>奇电路实现<b class='flag-5'>方法</b>探讨

    一种插补时间的S形加减速插补算法

    一种插补时间的S形加减速插补算法,下来看看
    发表于 04-29 17:57 34次下载

    基于过载阈值选择的虚拟机动态整合方法

    针对云环境下动态工作负载的不确定性,提出了基于自适应过载阈值选择的虚拟机动态整合方法。为了权衡数据中心能源有效性与服务质量间的关系,将自适应过载阈值
    发表于 12-11 16:36 0次下载

    阈值自适应关联分类方法研究

    本文采用评估反馈控制机制,对关联分类方法阈值设定自适应调节进行了研究。首先建立了对分类规则集进行优评估的数学模型;然后基于此模型提出了运
    发表于 01-03 16:06 0次下载
    <b class='flag-5'>阈值</b>自适应关联分类<b class='flag-5'>方法</b>研究

    面向系统的程序基本指令取技术

    实时任务WCET分析、降低任务WCET评估值为目标,提出一种基于程序基本的指令方法.该方法以基本为粒度执行指令
    发表于 01-10 15:36 0次下载

    自适应阈值及加权局部二值模式的人脸识别

    针对局部二值模式(LBP)和中心对称局部二值模式(CS-LBP)方法描述图像纹理特征时,阈值不能自动选 取并且图像中不同子的贡献也没有进行区分的问题,该文提出一种自适应
    发表于 06-25 08:00 0次下载
    自适应<b class='flag-5'>阈值</b>及加权局部二值模式的人脸识别

    2020十大科技趋势公布 对AI、云计算、芯片的未来进行

    1月2日,阿里达摩院发布了2020年十大科技趋势,在科技浪潮新十年开启之日,阿里围绕人工智能、芯片、云计算、量子计算、区块链等技术领域,做出了新的和发展方向预测。
    发表于 01-02 15:02 1090次阅读