精品论文:VPx帧内压缩的快速算法

摘要: 针对VPx视频的帧内压缩处理复杂度高的问题,给出一种快速算法。该方法首先根据图像中亮度子块在宏块中的空间位置确定最邻近子块,再通过最邻近子块的最佳预测模式、子块重构和率失真比较判断当前子块的可能预测模式,并结合率失真阈值得到用于该子块帧内压缩的最终预测模式。实验结果表明,该方法能够有效地减少VPx帧内压缩中由重构处理带来的包括频域变换、量化、反量化、频域反变换的大量运算,从而在保证压缩质量的情况下,提高帧内压缩速度。

中文引用格式: 胡金艳,宋绍京. VPx帧内压缩的快速算法[J].电子技术应用,2020,46(4):75-78,88.

0 引言

目前主流的视频编码标准包括3个体系:国际联合视频工作组(Joint Video Team,JVT)的H.26x、国内数字音视频编解码技术标准工作组(Audio Video Coding Standard,AVS)的AVSx和Google公司的VPx[1-4]。其中,VPx编解码器(COder/DECoder,CODEC)凭借开源和免专利费的优势,在全球范围内各种网络浏览器的支持率已经超过92%[5]

视频编码标准中的帧内压缩是决定最终编码效率的关键,但由于该过程的算法复杂度高而导致非常耗时,因此对帧内压缩快速算法的研究显得尤为必要。近年来这方面的研究主要集中在H.264和H.265/高性能视频编码(High Efficiency Video Coding,HEVC)[6-9]。文献[6]通过统计方法与阈值法,文献[7]基于纹理方向检测,文献[8]利用时间与时空相关性,分别对HEVC帧内预测进行加速,实现将编码时间减少24~30%。文献[9]提出梯度法加快确定帧内模式,将编码时间减少15%,再结合支持向量机(Support Vector Machine,SVM)加快确定HEVC编码单元划分,使编码时间进一步减少到50%以上。文献[10]对HEVC和VP9两种标准的帧内压缩算法及其对编码效率的影响进行了比较。本文针对VPx的帧内压缩提出了加速算法,并通过实验验证了算法的效果。

1 VPx帧内压缩

帧内压缩是基于相邻像素之间的相关性,通过当前块的相邻块对其进行预测,并对预测值与实际值之间的残差进行一系列变换、量化和熵编码,以消除空间冗余达到压缩的目的。图1所示为VPx帧内压缩框图。VPx帧内压缩以宏块/超级块为单位,其中VP8标准的宏块大小为16×16,VP9标准的超级块大小为64×64。VP8采用4×4的子块划分方式将宏块划分为4×4大小的子块,其变换包括离散余弦变换(Discrete Cosine Transform,DCT)和沃尔什-哈达玛变换(Walsh-Hadmard Transform,WHT)。VP9采用四叉树子块划分方式将超级块划分为4×4~64×64大小的子块,其变换包括非对称离散正弦变换(Asymmetric Discrete Sine Transform,ADST)和DCT。

VPx帧内预测分为亮度块预测和色度块预测。亮度块预测包括以下10种预测模式

其中,DC和TM分别为直流和真运动预测模式,另外8种为角度预测模式,图2中以4×4的亮度块预测为例说明。HE和VE分别为水平和垂直预测模式,LD和RD分别为45°和135°预测模式,VL和VR分别为63°和117°预测模式,HD和HU分别为153°和207°预测模式。

在帧内压缩过程中,要从上述10种预测模式中选择一种,使码率在不超过某最大码率的情况下失真最小。VPx采用率失真优化(Rate Distortion Optimization,RDO)方法来寻找码率和失真之间的平衡,其率失真代价函数表示为:

其中,Jmode为预测模式对应的率失真代价,Dmode为失真,λmode为拉格朗日系数,Bmode为所需比特数。通过计算预测残差的平方和(Sum Squared Error,SSE)得到失真Dmode。对于每个亮度子块,要进行10次变换、量化、反量化和反变换的重构过程,根据率失真代价Jmode最小的原则选取最终预测模式,进入熵编码。

假设帧内压缩图像宽度和高度分别为W和H,宏块/超级块大小为C×C,则总的宏块/超级块数为:

以1 280×720的图像为例,宏块大小为16×16,按4×4的子块划分方式,得到4×4的亮度子块,则RecCnt的理论值为576 000次,意味着如此大量次数的变换、量化、反量化、反变换和率失真计算代价。

2 快速算法

为减少帧内压缩的运算量,可以从两方面入手:一方面减少亮度子块的重构次数,另一方面优化帧内压缩的算法程序。下面主要讨论前者。

2.1 最近邻加速法

最近邻加速法利用当前子块与其最近邻子块的相关性,以最近邻子块的预测模式作为其最终预测模式,从而减少遍历预测模式带来的重构次数。

图3所示为将图像中一个16×16的宏块划分为16个4×4的亮度子块,虚线框表示当前子块,箭头所在子块表示其候选最近邻子块。

首先根据当前子块在宏块中的位置确定最邻近子块。设当前子块为Si,j,3个候选最近邻子块分别为Si-1,j、Si,j-1、Si-1,j-1。S1,1作为第一个子块,不存在最近邻子块。

将Si,j的最邻近子块定义为NBi,j,当候选最近邻子块仅存在于水平和垂直方向时,有:

当候选最近邻子块存在水平、垂直和对角方向时,则先根据不同方向上子块的率失真代价从候选最近邻子块中确定最近邻子块:

其中,Jl,m为3个方向率失真代价Ji,j-1、Ji-1,j、Ji-1,j-1中最小的,l和m代表最近邻子块的坐标。则有:

假设最近邻子块NBi,j的最佳预测模式为mode,对当前子块在该模式下进行重构和率失真Ji,j计算。当满足如下关系时,将模式mode作为当前子块的最终预测模式。

否则将对当前子块进行预测模式的遍历,得到最终预测模式。

在最近邻子块的判断过程中,要在当前宏块/超级块范围内,保存当前子块Si,j的前序子块的最佳预测模式和与其对应的率失真,用于与当前子块直接比较以简化率失真计算。 2.2 阈值加速法

对当前子块的率失真Ji,j设置阈值TH。当某一预测模式下的Ji,j满足如下关系时,终止对预测模式的遍历,将该预测模式作为当前子块的最终预测模式:

否则将继续进行下一个预测模式。如果所有预测模式对应的率失真均不满足式(9),则根据RDO原则选取最佳预测模式。

阈值的选取直接影响最终结果。阈值越大,越容易提前终止对预测模式的遍历,从而提高压缩速度,同时降低压缩质量;反之阈值越小,越难满足阈值要求,遍历的预测模式越多,从而保持压缩质量,但压缩速度提高少。式(10)给出了阈值选取公式:

其中,J表示已有子块率失真的集合,Jmax和Jmin分别为J中的最大率失真和最小率失真,Coef取值0.062 5。

2.3 两级加速法

采用最近邻法加速时,如果当前子块存在最近邻子块,则能够减少子块重构运算量;否则仍需要对所有预测模式进行遍历。采用阈值加速法时,如果当前子块的率失真满足阈值条件,则能够减少子块重构运算量;否则仍需要对所有预测模式进行遍历。

将上述两种加速方法结合,构成如图4所示的两级加速法,使帧内压缩速度进一步提高。两级加速法的第一级为最近邻加速,第二级为阈值加速。

3 实验结果与分析

为了验证算法的有效性,将本文算法在Google官方发布的libwebp-1.0.0上进行实现。该库利用VP8帧内压缩算法对WebP图像进行编解码。

实验的硬件环境:Inter-CoreTM i5-6200 CPU,主频为2.40 GHz,内存为4.00 GB,操作系统为64 位Windows 10。软件环境:Visual C++ 6.0。参数设置:品质因数(Quality factor)为80。选用源自Wikipedia的6张测试图像,如图5所示。这些图像涵盖不同的分辨率和内容复杂度。

对测试图像分别用原始方法、最近邻加速法、阈值加速法和两级加速法进行编码实验。表1所示为几种方法对应的单张图像子块重构数统计。可以看出,采用最近邻法和阈值法均使子块重构次数在一定程度上降低。对于图像Balloon,由于原图像较平坦,最近邻法得到的子块重构次数降低到原重构次数的1/3以下;而对于图像Boy,原图像具有较多细节,最近邻法得到的子块重构次数仅有少量降低。结合阈值法后,对于上述测试图像,通过两级法加速后得到的子块重构次数均大幅度减少。

图6对几种加速方法从编码时间T、编码比特率BR和峰值信噪比PSNR 3个方面进行比较。可以看出对分辨率和内容不同的图像,帧内编码的时间都有大幅度降低,而BR和PSNR只有很小的变化。通过式(11)可以进一步得到上述算法的具体性能指标:

其中,ΔT表示所提出算法的编码时间减少的百分比,Torg和Tproposed分别为原始编码时间和所提出算法的编码时间;ΔPSNR表示PSNR减少的dB值,PSNRorg和PSNRproposed分别为原始编码的PSNR和所提出算法的PSNR;ΔBR表示BR增加的百分比,BRorg和BRproposed分别为原始编码的BR和所提出算法的BR。根据对测试图像的实验统计和计算结果,得到最近邻法的ΔT平均为37%,ΔBR平均为1%,ΔPSNR平均为0.06 dB;两级法的ΔT平均为49%,ΔBR平均为4%,ΔPSNR平均为0.14 dB。采用两级法加速时,图像Balloon加速最多,ΔT达到59%,对应编码质量ΔBR为6%,ΔPSNR为0.24;图像Boy加速最少,ΔT为41%,对应编码质量ΔBR为1%,ΔPSNR为0.07。

4 结论

为了降低VPx帧内压缩的计算复杂度,减少编码时间,本文提出了一种快速算法。实验结果表明:对于不同内容复杂度的图像,所提出的最近邻法在编码时间明显减少平均37%的情况下,对图像质量影响极小;基于最近邻法进一步提出的两级加速法在对图像质量影响很小的情况下,编码时间大幅度减少平均49%。进一步的优化工作包括子块划分、帧内压缩算法的软件优化和硬件加速。

参考文献(略)

作者信息:

胡金艳,宋绍京

(上海第二工业大学 计算机与信息工程学院,上海201209)

原创声明:此内容为AET网站原创,未经授权禁止转载。

(0)

相关推荐

  • 【AI初识境】深度学习模型评估,从图像分类到生成模型

    这是<AI初识境>第10篇,这次我们说说深度学习模型常用的评价指标.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 凡事用数据说话,一个深度学习模型在各类任务中的表现都需要定量 ...

  • 综述 | 图像去噪方法比较

    作者:CV君  来自:我爱计算机视觉 图像去噪是计算机视觉领域的传统方向,对于可见光图像.视频.核磁图像等的处理仍应用广泛,在工业和学术界引起很多人的关注,基于BM3D(block-matching ...

  • 基于梯度阈值自适应处理的红外图像超分辨率重建

    0 引言 高分辨率成像是图像处理环节进行有效信息提取和分析的重要前提.然而,实际成像系统获取的图像空间分辨率往往不能满足信息处理的需求,这种现象在红外成像领域更为普遍[1]. 目前,国内外报道了大量超 ...

  • CVPR 2019 CLIC 图像压缩挑战赛冠军方案解读

    导读:图像视频压缩是传统多媒体技术的核心,也是一项牵动整个多媒体信息产业的基础技术.深度学习在该领域的成功运用,已经引起了不少IT巨头的关注.图鸭科技是国内少有的专注于深度学习图像视频压缩的初创公司, ...

  • 最经典最新的图像去噪算法

    图像去噪是非常基础也是非常必要的研究,去噪常常在更高级的图像处理之前进行,是图像处理的基础.可惜的是,目前去噪算法并没有很好的解决方案,实际应用中,更多的是在效果和运算复杂度之间求得一个平衡,再一次验 ...

  • NTIRE2020冠军方案RFB-ESRGAN:带感受野模块的超分网络

    Tips ◎作者系极市原创作者计划特约作者Happy 欢迎大家联系极市小编(微信ID:fengcall19)加入极市原创作者行列 paper: https://arxiv.org/abs/2005.1 ...

  • 古籍文档图像二值化:基于背景估计和能量最小化的方法

    今日分享一篇论文『An enhanced binarization framework for degraded historical document images』,基于背景估计和能量最小化的古籍 ...

  • 深度学习超分辨率最新综述:一文道尽技术分类与效果评测

    最近52CV介绍了好几篇图像超分辨率的工作,比如: CVPR 2019 神奇的超分辨率算法DPSR:应对图像模糊降质 CVPR 2019 | 旷视提出超分辨率新方法Meta-SR:单一模型实现任意缩放 ...

  • WDSR (NTIRE2018 超分辨率冠军)【深度解析】

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  • 图像降噪有哪些方法?

    重磅干货,第一时间送达 图像增强是图像处理和计算机视觉中的重要研究课题.它主要用作图像预处理或后处理,以使处理后的图像更清晰,以便随后进行图像分析和理解.本期我们主要总结了图像增强中图像去噪的主要方法 ...