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

    文章

    1070

    浏览量

    40079
  • 编码器
    +关注

    关注

    41

    文章

    3338

    浏览量

    131251
  • 视频
    +关注

    关注

    6

    文章

    1886

    浏览量

    71826
收藏 人收藏

    评论

    相关推荐

    如何正确选择DS监控阈值

    Vds 时,我 CAN 确认中断是否由外部 LED 提供服务。 该负载会造成阈值设置为 0.25 的过流状态。 当阈值更改为 0.50 且负载相同时,我们不会创建过流状态,因为 Vds 没有超过阈值。 我的问题是如何正确
    发表于 01-29 08:15

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

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

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

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

    /后构建如何使用?

    ,执行我的自定义POST生成步骤。如果这是真的,我想跳过我的POST构建步骤。我一直在通过MPLAB帮助和这个论坛搜索,但到目前为止还没有找到关于如何使用这些预定义的构建的任何解释… 以上
    发表于 02-12 13:01

    基于图像分块的局部阈值二值化方法

    针对目前局部阈值二值化结果存在目标虚假或断裂的缺陷,提出了一种基于图像分块的局部阈值二值化方法。首先,将图像分成若干子并分析每个子像素灰
    发表于 05-04 11:10

    KGB知识图谱帮助金融机构进行风险

    高风险事件,可以及时预测未来有潜在风险的关联行业,金融机构从而可对相关行业的风险做出,尽早地发现并规避风险。在潜在风险客户预测上,通过KGB知识图谱整合和关联企业内部结构化数据、非结构化数据以及互联网
    发表于 06-18 23:07

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

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

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

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

    小波阈值法在炮口振动信号消噪中的应用

    针对传统软硬阈值方法存在的估计小波系数连续性差和信号失真等问题,采用了三种改进的小波阈值消噪方法通过对仿真含噪信号
    发表于 12-30 16:48 10次下载

    小波包消噪方法分析及改进

    对 小波包 消噪中的两个关键点 阈值选择和小波包系数的阈值量化进行了分析,并对阈值选择
    发表于 05-31 10:47 0次下载
    小波包消噪<b class='flag-5'>方法</b>分析及改进

    基于EEMD和模糊阈值的去噪方法

    的相似度,得到噪声主导的IMF;然后对噪声主导的IMF进行模糊阈值处理,以去除IMF中的噪声;最后将所有的IMF重构得到消噪信号。分别采用仿真信号和ECG信号进行去噪实验,结果均表明,所提方法
    发表于 11-21 14:21 6次下载

    基于正则化超分辨率的自适应阈值去噪方法

    为了提高正则化超分辨率技术在噪声环境下的重建能力,对广义总变分( GTV)正则超分辨率重建进行了扩展研究,提出了一种自适应阈值去噪的方法。首先,根据GTV正则超分辨率重建算法进行迭代重
    发表于 11-30 11:26 0次下载

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

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

    图像的小波阈值降噪_小波降噪函数

    小波阈值方法去噪、平移不变量小波降噪法,以及多小波降噪等等。下面用小波对信号进行降噪,通过程序仿真验证小波阈值降噪效果。
    发表于 01-10 11:36 1.3w次阅读
    图像的小波<b class='flag-5'>阈值</b>降噪_小波降噪函数

    小波软阈值的推导_软阈值的计算

    本文主要介绍了小波软阈值的推导_软阈值的计算。由于噪声信号强度的随机性,以及小波分解过程中信号与噪声的传播特性不同,每一层小波分解系数所采用的阈值应该是随小波系数的变化而变化的。能实现这种变动
    发表于 01-10 14:46 4820次阅读
    小波软<b class='flag-5'>阈值</b>的推导_软<b class='flag-5'>阈值</b>的计算