APP下载

嵌入式在线视频帧间信号自适应压缩方法

2021-11-17强,周

计算机仿真 2021年3期
关键词:关键帧在线视频编码器

曹 强,周 存

(景德镇陶瓷大学,江西景德镇 333000)

1 引言

视频一般是指通过电信号捕捉、记录、处理、存储、传输和再现的一系列静态图像。如果连续图像每秒变化超过24帧,根据视觉保持原理,人眼无法分辨出单一的静态图像。数字图像和视频作为可视化和信息交互的重要媒介,在视频通话、视频会议、视频广播、高清电视、网络协议电视、视频监控和视频点播等领域取得了长足的发展。

为了解决图像和视频在带宽有限的信道中传输的问题,减少这些图像和视频数据的存储空间,提出了图像和视频压缩编码方法。数字视频压缩的根本是数字视频中存在大量的冗余信息[1]。压缩编码分为无损压缩和无损压缩,无损压缩为了保证解压缩后的数据与原始数据一致,通常压缩效率不太高,压缩比一般只有50%左右。有损压缩虽然可以大大降低压缩速率,但会带来不同程度的失真。在图像失真最小的情况下,如何尽可能提高压缩效率是视频压缩编码优化研究的重点。

帧间和帧内的高相关性意味着视频图像中存在大量冗余信息。冗余信息可分为空域冗余信息、时间冗余信息和视觉冗余信息。视频压缩就是在保证视频解码质量的前提下,最大限度地减少数据量,消除各种冗余信息[2]。传统的视频压缩编码方法包括变换压缩编码方法、量化压缩编码方法、熵编码等,然而上述传统的主要针对的是离线的视频,将其应用到嵌入式在线视频的压缩工作中会存在压缩失真率和误码率高的问题,同时由于算法输出的图像尺寸较大,会占用大量的存储空间和网络传输的在线视频空间。针对传统压缩方法存在的一系列问题,提出了一种基于帧间信号的嵌入式在线视频自适应压缩方法,优化了压缩性能和压缩效率。

2 在线视频帧间信号自适应压缩方法设计

嵌入式在线视频是基于分组传输的间歇异步传输。对于一个实时视频源,它在传输过程中被分解成多个包。由于网络是动态变化的,每个包可能选择不同的路由,所以到达客户端的时间也不同,甚至第一次发送的包也可能延迟[3]。为了达到这一目的,采用缓存系统来补偿时延和抖动,保证正确的分组顺序,使媒体数据能够不间断地连续输出,不因网络的暂时拥塞而中断,从而实现在线视频的实时压缩。设计方法的自适应压缩过程如图1所示。

图1 嵌入式在线视频帧间信号压缩流程图

2.1 设置嵌入式视频信号压缩编码标准

H264/AVC视频编码标准的设计目标之一是实现高收缩性能。AVC的基本功能模块包括预测编码、变换、量化和编码。为了提高数据压缩率,H.264编解码器对各功能模块进行了改进和改进。H264/AVC功能可分为两个层次:视频编码层VCL和网络提取层NAL[4]。其中,视频编码层主要负责视频内容的高效编码,而网络提取层主要负责视频的适当映射或封装。其中,相应的信令和封装属于网络抽取层。在视频编码层和网络提取层之间定义了基于包的接口。H264/AVC的主要功能层是视频编码层和网络提取层,分别负责高效编码和网络友好性。在H.264视频编码标准中,帧间预测主要利用视频帧间的时间相关性,通过运动估计和运动补偿来去除视频图像中的冗余信息,支持1/4像素和1/8像素的运动矢量。6抽头滤波线的插值类似于1/8像素精度运动矢量和8抽头滤波线的插值。在H.264/AVC标准中,增加了大小块的分割方法。根据待编码视频图像的特点,选择更合适的块大小进行自适应编码,大大提高了编码精度和效率[5]。在H.264/AVC标准中,增加了大小块的分割方法。根据待编码视频图像的特点,选择更合适的块大小进行自适应编码,大大提高了编码精度和效率。整数离散余弦变换的正变换过程如式(1)所示

(1)

同理可以得到整数离散余弦变换的反余弦变换。对于视频图像大面积缓慢变化的情况,可以采用直流系数的二次变换方法来消除小尺寸引起的灰度差[6]。视频图像中对亮度块的哈达码变换如下

(2)

式中,WD为初始视频图像中的亮度块矩阵。另外视频图像中色度快的哈达码变换可以表示为

YD=Hj×WD

(3)

式中,Hj表示视频图像标准化转化系数。根据视频标准量化过程中图像的动态范围大小,确定量化参数,既能减少码流,又能保持图像的必要细节[7]。具体量化原理如下式所示

(4)

式中,FQ为y的量化值,y为输入样本点编码,QP为量化步长,round()表示的是取整函数。定量步骤Qstep定义了52个不同大小的值,这些值以12.5%的增量变化,由QP索引。如果QP的最大值为51,则为最粗量化;如果最小值为0,则为最精细量化[8]。每增加6个QPS,量化步长的Qstep将加倍。在实践中,可以根据需要选择宽范围的量化步长。颜色编码和亮度编码一般采用相同的量化步长[9]。在现有的H.264标准中,色度的最大QP值通常被限制在亮度的最大QP值的80%,以避免在高量化步长的情况下进行人工颜色量化。综上所述可以得出嵌入式视频的距离量化算法为

(5)

式中,Yij代表转换系数,量化计算结果为输出的量化系数。

2.2 提取在线视频动画关键帧

从视频帧中提取视频的运动特征,根据所提取的运动信息来获取关键帧,就是基于运动特征的关键帧提取算法的基本原理。计算相邻两帧图像中对应位置像素值变化的平均值,并将相邻帧之间的差值定义为

(6)

式中Ik(x,y)和Ik+1(x,y)分别表示第k帧和第k+1帧在(x,y)处的亮度值,M和N分别表示该帧的高度和宽度。式(6)计算出的值小表示帧间差异小,反之则表示帧间发生了较大的变化。当式(6)的计算结果大于某一设定的阈值时,则认为此帧为关键帧。

2.3 帧间相关性分类

在分析提取的嵌入式在线视频关键帧数据的基础上,考虑了目标帧与前一帧的相关性和参考帧与下一帧的强相关性[10]。为此,将第一帧设置为关键参考帧,第三帧设置为前向预测帧,第二帧设置为双向预测帧,三个设定帧分别记为I帧、P帧和B帧。该算法对P帧和I帧进行相同的非重叠块处理,并将其分别分为D*D和K块。P帧Xt+1的第i块图像块的原始数据与I帧Xt-1中对应位置的图像块之间的差值反映了这两帧对应图像块之间的相关性。因此,相应图像块之间的残差能量值的大小可以作为P帧图像块的分类依据,其表达式如下

(7)

2.4 嵌入式在线视频帧间运动估计

嵌入在线视频帧间运动范围以其亮度值的最大值和最小值之比来估计帧间运动范围内的视频运动。帧间运动估计对搜索区域内所有可能的候选位置,从中寻找最小SAD值,其对应的偏移即为运动矢量,具体的搜索估计过程如图2所示。

图2 视频动画帧间运动搜索估计图示

从图2中的原点开始,沿顺时针方向从近到远计算每个像素的SAD值,直到遍历整个搜索区域中的所有点[11]。找出所有SAD中块误差最小的MBD点,该点对应于最优运动矢量。通过对提取的关键帧进行合成,可以得到下一帧的运动估计结果。

2.5 安装视频帧间信号压缩编码器

图3表示的是视频帧间信号压缩编码器的基本结构。

图3 视频帧间信号编码器工作原理图

该编码器可以实现视频信号的纹理编码和运动编码。该代码确定编码位是0还是1,最终编码结果由编码器规范化。寄存器的位移位,每个寄存器的移位数为1。当CT为0时,压缩后的数据将通过字节输出过程从寄存器C中删除,并继续进行规范化处理,直到A不小于0×8000为止。将关键帧提取和帧间运动估计的结果作为编码器的输入,根据设定的压缩编码规则得到最终的帧间信号压缩结果。

2.6 选择自适应门限

利用压缩编码器可以实现关键帧之间的压缩,但在实际的在线视频回放或传输过程中,需要设置一定的自适应阈值,对关键帧进行自适应提取和量化[12]。不同的在线视频动画运动特征参数σx,可以得到不同的帧间信号分布函数范例,因此视频动画图像编码风险最小意义上的最佳门限值为:

(8)

式中r(T)为在线视频动画图像运动的估计结果。

2.7 实现在线视频帧间信号自适应压缩

为了在H.264标准约束下获得更高的压缩比,编码器将根据现有的语法元素自适应地动态调整码表。对于不同对象的编码,可以使用同一码表进行编码,这样更有利于编码的实现。经过预测编码、变换和量化后,需要对视频图像进行扫描和重新排序,为后续的帧间信号编码做准备。在基本层对比度压缩过程中,引入f(t)并得到视频帧间信号对比度的压缩结果,如式(9)所示

I′base(x,y)=lg(2+f(t)×8)×Ibase(x,y)

(9)

其中Ibase(x,y)和I′base(x,y)分别为压缩对比度操作前后的图像亮度分量。为了降低视频动画图像编码压缩产生的失真情况,对压缩结果的细节进行补偿和色彩保持。经过上述处理后,通过安装的压缩编码器输出嵌入式在线视频帧间信号自适应的压缩结果。

3 仿真分析

为了测试设计的嵌入式在线视频帧间信号自适应压缩方法,将其应用到实际的在线视频播放软件中进行仿真测试,并观察设计的压缩方法与传统压缩方法相比存在的性能优势。

3.1 仿真环境

实时读取视频数据,显示YUv4:2:0颜色采样和8位量化4-K序列。帧速30时,读写速度要求为373.25MB/s,主测试计算机安装在仿真环境中,计算机主板型号为Dell 06 FWOP,处理器为IntelXeonX650@2.67GHZ,图形卡为GEFORGTX 680,存储空间为24G。在设备上安装MediaPlayerClassic视频播放器,并调整播放器与网络的比率模式。显示器的亮度、对比度、饱和度等参数应根据试验要求进行调整和校准。除试验设备外,还按照ITU-RBT500-13的要求,建立了试验环境和试验环境。测试环境的亮度和测试环境墙的背景亮度都在一定范围内。

3.2 嵌入式在线视频样本序列

网络环境下调用视频源6个,局域网调用9个,网络视频源调用12个,局域网调用12个,网络视频源调用12个。用两个视频序列训练测试过程,用10个视频序列测试样本。在分辨率为3840x2160和30帧速率的情况下,所有视频序列具有相同的分辨率和帧速率。三个基本序列的持续时间分别为10、8和8秒,而其它视频源的持续时间仅为10秒。所选视频源全部采用逐行扫描格式,颜色采样率为位量化。

3.3 仿真过程

为了形成实验对比,体现出设计自适应压缩方法的运行优势,在仿真中还设置了传统的压缩方法和文献[8]提出的VPx帧内压缩方法作为实验的两个对比方法。在主测计算机的驱动下,得出压缩方法的登录主界面,其中设计方法的运行界面如图4所示。

图4 在线视频帧间信号压缩登录界面

分别将准备的仿真视频样本序列导入到视频帧间信号压缩登录运行界面中,并通过压缩方法的运行输出压缩结果。

3.4 仿真结果分析与对比

为测量设计自适应压缩方法的编码效率,通过实验研究了三种组态下视频帧间信号的压缩性能。统计视频压缩结果的误码率、压缩体积之间的差别,从而得出仿真的对比结果。

3.4.1压缩误码率

综合不同嵌入式在线视频的播放速度情况,得出压缩误码率统计结果,如图5所示。

图5 压缩误码率统计对比曲线

压缩误码率指标是错误压缩编码与总压缩编码之间的比值,由此便可以得出不同样本在不同播放速度下的误码率变化情况。从图6中的曲线波动情况可以看出,相比于两种对比压缩方法,设计方法的误码率更低。

3.4.2视频帧间信号压缩体积

将所有关于压缩体积和压缩文件占用内存空间的相关数据进行统计,统计结果如表1所示。

表1 压缩体积对比结果

综合表1中的所有数据,通过横向对比可以看出,针对相同的视频样本设计方法的压缩结果占用空间更小。

4 结束语

综上所述,通过嵌入式在线视频帧间信号自适应压缩方法的设计与应用,能够同时实现视频的播放与压缩,为视频用户提供更好的体验。然而此次实验中主要使用的是与压缩方法兼容的视频播放器设备,然而在实际的应用中会出现自适应压缩方法与播放器不兼容的情况,针对这一问题还需要进一步研究和分析。

猜你喜欢

关键帧在线视频编码器
基于ResNet18特征编码器的水稻病虫害图像描述生成
WV3650M/WH3650M 绝对值旋转编码器
WDGP36J / WDGA36J编码器Wachendorff自动化有限公司
基于图像熵和局部帧差分的关键帧提取方法
基于Beaglebone Black 的绝对式编码器接口电路设计*
2019年在线视频行业逆势增长
基于误差预测模型的半自动2D转3D关键帧提取算法
2017年Q1在线视频用户规模5.8亿人
基于计算机三维动画建模技术的中国皮影艺术新传承
运动图像关键帧快速跟踪系统的改进