APP下载

基于关键帧的多媒体视频无损转码压缩算法

2023-09-04刘云龙

计算机仿真 2023年7期
关键词:转码关键帧码率

刘云龙,赵 树

(海军工程大学,湖北 武汉430033)

1 引言

随着多媒体技术的发展,视频信息量与日俱增,造成视频信息的存储和传输困难,严重阻碍了对有效信息的获取和使用。对此,针对视频的无损转码压缩研究成为亟待解决的问题[1,2]。计算机的大力普及导致多媒体视频逐渐被学校、企业、社区等机构普遍采用,多媒体视频的出现避免了时空的局限,拓展了信息知识的传播范围,促进了视频内容的传播速度[3,4]。在图像技术异常发达的今天,尤其是随着移动端设备中视频分辨率的提高,基于多媒体视频的传输速度和存贮空间的限制,需要更高技术的多媒体视频压缩技术[5,6]。

蔡于涵等人[7]研究的视频压缩算法是通过将HEVC与运动矢量帧率的变换相结合的形式,针对原始视频进行抽帧处理,将抽取的帧频帧率降低后HEVC编码,结合从码流中提取的运动矢量,然后采用细化和帧率的变化实现视频的有效压缩;杜秀丽等人[8]研究的视频压缩算法是利用加权非局部相似性实现的,其原理是通过对变化较大的纹理块寻找与其相邻的自相似块,产生辅助重构信息块的方法而达到视频压缩的目的;沈婷等人[9]研究的算法是同量化处理双编码参数模型的方法,根据相同量化参数对原始视频进行多次压缩,从压缩的视频中将IPMBM和DCT系数从I帧中提取出来,以压缩变量为分类特征实现视频的压缩目的。虽然上述方式都能有效地对多媒体视频进行压缩处理,但是在压缩过程中对视频的清晰度和压缩比尚待提高。

基于此,本文研究了基于关键帧的多媒体视频无损转码压缩算法,通过提取多媒体视频中镜头的关键帧,优化视频索引过程和视频分类效率,利用SPIHT编码和自适应码率的控制方式,实现多媒体视频的无损转码压缩,为视频压缩提供有力的参考价值和实际应用依据。

2 基于关键帧的多媒体视频无损转码压缩

2.1 关键帧提取改进算法

2.1.1 算法依据

视频关键帧提取的依据为:在视频序列中包含的两个距离最近的图像帧之间存在着高度的连续性和相似性。关于视频的国际标准显示,n个图像组(GOP)组成视频序列,相互间隔的I帧、P帧和B帧组成单个GOP,其中这三个帧之间存在着相互预测并能够互相生成的关系,每个GOP当中,I帧为第一帧,该帧使用的是图像自带的编码信息,而P帧和B帧的编码信息则需要通过预测才能够获取,因此每个GOP中必带I帧,且每13帧中存在一个I帧。有价值和意义的镜头需通过连续的画面构成,中间不可中断或打断,单位以秒计算。因此,由关键帧生成的视频序列文件可以筛选掉P帧和B帧,仅保留一个I帧。根据视频国际标准的规定,基于逆变换(DCT)方式进行全解压变换,变换基本单元为8与8相乘的子块,通过对I帧的解码提取直流系数(DC),将视频序列文件生成DC缩图,将DC缩图之间产生的差值视作两幅图像帧的相似度,利用模板匹配法提取相应的关键帧。

2.1.2 算法实现过程

不同镜头中的两个相邻的图像帧之间存在极高的相似度,对于不同镜头的两个图像帧之间的相似度则小许多。基于视频序列实行子块划分的解决策略,图像帧中最中间的子块则是场景视觉信息核心部分,该位置的信息重要性远高于周边子块所蕴含的信息,因为针对两个图像帧之间的差别的依据来说,最中间位置的子块差值的重要性同样高于周边子块,将权重差异(DC)引入关键帧提取算法中[11]。子块和DC系数一一对应,越靠近中心位置的子块信息越重要,对应的DC系数权重值也相对越大,在度量相似度过程中应将信息重要性与权重值成正比的分配,根据权重值进行缩图之间差值的计算,将计算结果视为邻近两帧之间的相似度,计算差值公式为

(1)

其中,Ii表示第i个I帧,Fi表示第i个的I帧缩图直方图信息。当T(Ii,Ii+1)为最大值时,表示两个I帧不属于同一个镜头,则提取的关键帧为镜头中的第一帧。关键帧[10]的提取过程如图1所示。

图1 提取关键帧改进算法流程

基于YUV颜色空间的视频关键帧提取,可从视频流汇总直接获取YUV数据,不用另转换坐标。根据人眼对亮度信号产生的敏感性,关键帧的提取可以Y分量的变化为依据,结合一般图像的特性,在同场景条件下,色度始终保持单一且具一致性,Y分量能够有效优化视频序列检测运算过程,减小运算量,提升运算速度。

2.2 视频无损转码压缩

在提取的关键帧基础上,将SPIHT算法与运动补偿相结合,可无损转码压缩多媒体视频图像,压缩的视频能够应用于传输、各种网络和解压缩操作,压缩示意图如图2所示。

图2 压缩步骤示意图

2.2.1 编码器

针对提取到的关键帧采取自适应运动补偿方式获取各帧的预测残差图和运动向量,利用小波变换离散处理预测残差图,对离散处理后的结果在SPIHT算法基础上展开量化小波系数及进一步分层并编码处理,以此获取渐进码率,利用自适应算术对码率进行编码,直至码流顺利输出;单独对运动向量完成无损编码,然后将编码输出。在输出过程中,解码器将上述信息反馈至重构帧,用于后续解码操作的参考帧。

通常对于静态纹理图像采用的是普通小波编码算法(U Chort),为了对转换效果进行优化,离散小波变换的输入一般引入无符号字符型图像数据,该图像数据也应用于解码过程。由于普通图像数据区间为[0,255],但是本文算法过程中会产生残差数,而这些残差数值可能为复数,即区间为[-255,255],虽然残差数据通过运动补偿后会有所修正,但是依然存在较小的负值,若直接将图像数据限制在[0,255]内,则重构图像数据必定有失真现象发生,失真累计过多易导致整个视频质量下降。

为解决图像失真问题,采用改进离散小波变换(U Short),该算法具备两个字节的变量,能够有效地对区间[-255,255]内的图像数据进行处理,且结构简单,自身内存较小。

通过SPIHT编码从最上层依次每层对小波系数位平面进行比特和定位信息的输出,原始图像和小波之间存在较高的相似度,为确保负值转换后不出现伪大系数产生干扰的情况,应针对所有像素残差在进行残差图数据输入之前都增加255,保证输入值不出现负值,从而消除伪大系数。当解码完成之后,将获取的残差再减少原增加的数值。

2.2.2 解码器

采用反算术对获取的渐进码流进行编码后再解码,解码包含两种子带方式,分别为直流和交流。直流子带反量化,交流子带SPIHT解码,如果获取的小波系数为I帧,可直接进行转换获取重构图像,若是P帧,需要对运动向量和残渣真比特流进行提取,参考前一步重构帧进行运动补偿,以此获取当下预测帧,将预测帧与重构残差相加,作为后续解码步骤的参考帧。

2.2.3 自适应码率控制

为提高编码精度和效率,稳定解码连续性,通过自适应码率控制输出比特数,方法步骤如下:

1)初始化

自适应码率不控制I帧,即第一帧,编码I帧完毕,编码器可用宽带设置为Rs,输出缓冲区:容量为Cs、水平为CB,则Rs=2Cs=4CB。帧头信息和运动向量:前一帧为Hp,当前帧为HB,Hp和HB占用比特数均为500。

当前段视频编码使用比特数计算公式为

Rr=UsRs-Rf

(2)

其中,Rf表示I帧编码使用比特数,Us表示播放当前视频所需时间。

每帧平均输出比特数为

(3)

其中,Mr表示视频序列帧与I帧之间的差值。

2)分配可用比特数

由第二帧开始,SPIHT编码计算当前帧最大比特数公式为

(4)

3)更新参数

各帧编码均需要对控制码率参数进行更新,从编码器角度分析,每帧可支配的比特数通过自适应码率进行合理的控制分配,压缩算法根据分配的比特数将对应的比特流输出,编码器通过对现成的带宽资源进行充分利用,防止缓冲区“溢出”,以获取一致的参考帧为目的,编码器和解码器解码的前提条件均为开始设置的最低带宽,则编码器的码率控制分为即当前和最低两种带宽,进而获取较粗糙和较精细的两种比特流,分别用于重建参考帧和编码器输出;解码器同样在当前和最低两种带宽条件下进行解码,获取比特流为粗糙型和精细型,分别用于重建参考帧和输出图像重建。

3 实验结果与分析

实验参数配置如表1所示。

表1 实验参数配置

采用本文算法分别与文献[7]基于运动矢量细化的帧率上变换与HEVC结合的视频压缩算法、文献[8]基于加权非局部相似性的视频压缩感知多假设重构算法及文献[9]基于双编码参数模型的同量化参数双压缩检测算法展开对比实验,针对关键帧提取的查全率和准确率进行对比,分别选取多段动画片段、影视片段和广告宣传片段为测试视频,其中动画片段具有变化较快的场景和较多的物体运动,影视片段的区别是没有偏快的场景变化,而广告宣传片段和动画片段一样,场景变化很快,同时切变更多。测试结果如表2所示。

表2 视频片段测试结果

由表2可知,本文算法与三种对比算法相比,提取关键帧中有效图像数量较多,且查全率、查准率及提取时间均占有较大优势,这是因为本文算法应用后提高了图像中心位置运动的敏感度,使得关键帧提取效果优势显著。

针对压缩视频YUV颜色空间中的Y、U和V三个分量的信噪比(PSNR)值进行对比实验,PSNR是对压缩视频画质进行衡量的重要参数之一,利用视频序列在不同带宽条件下分别进行实验,实验结果如图3所示。

图3 视频序列测试结果

由图3可知,在不同带宽条件下,本文算法中三个分量的PSNR值均为最大值,Y分量中比文献[7]算法、文献[8]算法和文献[9]算法分别高6.04、4.17和2.81;U分量中分别高6.24、2.97和3.06;V分量中分别高7.31、4.5和3.12。表明本文算法具有较好的编码和解码计算能力。

在PSNR值为40的情况下,将不同分辨率的广告宣传片段应用到不同场景中,对比三种算法压缩后的压缩比,实验结果如表3所示。

表3 压缩比对比结果

由表3可知,采用本文算法的广告宣传片段压缩比远超另外三种对比算法,表明本文算法能够有效提高图像帧的压缩比,视频分辨率越高,压缩比相对越大。这主要是因为本文采用的是基于关键帧的无损转码压缩,最大程度确保了关键信息的清晰度。以上实验结果验证了本文算法能够有效保证多媒体视频的无损转码压缩,提升压缩后的视频清晰度。

4 结论

基于关键帧进行的无损转码压缩多媒体视频能够有效保证压缩后的视频具有足够的清晰度,本文将I帧包含的分量信息与图像帧中子块之间差值相结合,将较大的权重值分配给中间位置的DC系数,放大图像帧中相对重要性更大的子块差值,有效提取视频中的关键帧,以此为基础,结合SPIHT编码和运动补偿的方式,实现多媒体视频的无损转码压缩。在后续研究中,将进一步加强针对较大运动范围时能够尽可能获取最小预测残差帧,促使基于关键帧的多媒体视频无损转码压缩算法具备更好的实际应用价值。

猜你喜欢

转码关键帧码率
视频转码技术在广播电视中的应用研究
基于Hadoop的流媒体转码系统设计
基于状态机的视频码率自适应算法
基于IPTV点播业务的视频分段式转码方案的研究与应用
基于改进关键帧选择的RGB-D SLAM算法
基于相关系数的道路监控视频关键帧提取算法
基于场景突变的码率控制算法
基于聚散熵及运动目标检测的监控视频关键帧提取
基于Hadoop 的分布式视频转码方案
X264多线程下码率控制算法的优化