APP下载

无线异构网络中的低复杂度分级视频传输技术*

2021-11-02丁灏云卿粼波何小海

电讯技术 2021年10期
关键词:码率视点解码

杨 红,张 松,王 林,丁灏云,卿粼波,何小海

(1.四川大学 电子信息学院,成都 610065;2.成都工业学院 网络与通信工程学院,成都 611730)

0 引 言

在异构网络中,当不同用户通过不同的通信链路接入相同的视频时,用户是否能流畅地播放该视频受当时的网络条件和视频源数据量大小的限制。多视点视频在网络中所需要传输的数据量较单视点视频数据呈数量级的增大趋势,这势必会进一步加大数据传输量[1],从而会导致多视点视频播放时更严重的卡顿现象。为解决该类多用户的应用问题,研究者提出分级编码可提供一个视频的多种版本[2-3],但在无线带宽不足的情况下视频质量较差,当无线网络的带宽丰富时视频质量高。这些分层视频流可以适应网络带宽的频繁变化,并且用户可根据自身终端情况自适应调整播放速率。分级编码很好地适应了网络的异构性及带宽波动所带来的负面影响,已被证明是解决网络带宽波动最有效的方法[2]。

传统视频分级编码(Scalable Video Coding,SVC)系统主要有H.264可伸缩视频编码[4]、H.265可伸缩高效视频编码(Scalable High Efficiency Video Coding,SHVC)[5]等。由于传统SVC系统采用了层间预测技术,其编码端复杂度非常高。然而,无线异构网络终端受到体积、功耗和便捷性等因素的制约使得编码端复杂的SVC方案已不适用。分布式视频编码(Distributed Video Coding,DVC)是一种非标准的视频编码算法[6],与传统视频编码系统相比具有低编码复杂度和高鲁棒性的优点,非常适合在无线异构网络终端进行视频的编码。有研究者针对体积功耗受限和低复杂度应用场景已展开了DVC分级结构的设计:卿粼波等人[7]基于迭代译码算法设计了分级分布式视频编码方案;葛洁缘等人[8]基于小波变换对分布式视频编码方案进行了改进研究,首先引入整数小波简化算法提升编码端效率,其次采用传统编码领域的分级传输思想设计适应不同传输带宽的DVC结构。

但是,以上的分级编码系统均是基于单视点视频展开研究。本文为了实现多视点视频在异构网络中的流畅播放效果及低复杂编码器结构,基于DVC的框架,利用逐级优化更新的理论设计了一种适用于无线异构网络中的分布式多视点视频分级编码(Distributed Multi-view Video Layered Coding,DMVLC)框架。该框架充分利用已解码的层间相关性、视点内相关性和视点间相关性进行边信息的更新优化,最终获得了信道条件差-低码率-低质量/信道条件好-高码率-高质量的不同传输特性,适合应用于异构网络的无线传输环境。

1 分级更新原理

1.1 逐级优化更新理论

Equitz和Cover[9]首先提出了信号的逐级优化问题,图1所示为两级优化解码原理框图。

图1 逐级优化的两级编解码框架

(1)

(2)

很自然地可以将该两级优化推广到任意有限N级[10]。

1.2 小波域各层信息更新解码框架

小波域Wyner-Ziv(WZ)帧编解码框架[11]为小波域分级编解码提供了设计思路,其从低频带到高频带逐步更新运动矢量,从而得到不断更新的边信息。更新框架如图2所示。

图2 基于MRMR的小波域各层信息更新解码原理框图

在图2所示中,首先假设F(t-1)为已解码的Key(K)帧或者WZ帧,利用初始运动矢量结合前一帧F(t-1)经离散小波变换(Discrete Wavelet Transform,DWT)后得到的低频带系数LLN(t-1)估计当前帧中LLN(t)的边信息,初始运动矢量通常认为是零或者由前一帧进行运动外推得到;然后对LLN(t)进行WZ解码和重建,并且设置n=N,随后在LLn(t)与LLn(t-1)之间进行运动搜索得到新的运动矢量。利用更新的运动矢量经过运动补偿得到当前分辨率下各高频频带HLn、LHn、HHn的边信息,由于边信息质量得到了提升,因此降低了解码码率。通过多分辨率运动细化,可以在已解码的低频带图像的基础上得到高频带图像的高质量边信息。由于边信息的生成过程利用了当前帧的部分信息,因此得到的边信息质量比单纯利用运动内插或者外推得到的要好。

2 DMVLC系统分级编解码框架

2.1 DMVLC系统WZ帧分级编解码框架

在DMVLC系统中对WZ帧F(t+i)(i∈[1,…,GOP-1])进行3层9/7小波变换获得不同频带系数,其中LL3作为基本层(Base Layer,BL),LHj(j∈[1,2,3])作为EL1层,HHj(j∈[1,2,3])作为EL2层,HLj(j∈[1,2,3])作为EL3层,如图3所示,并按照图4中箭头方向进行系数的量化,然后分别进行无损Slepian-Wolf 编码(Slepian-Wolf Coding,SWC)获得各层码流,送入信道传输。由于WZ帧已经获得了不同码率大小的各个传输层(BL层、EL1层、EL2层和EL3层),当信道传输条件动态变差时的BL层的优先级最高,接收端优先接收到BL层并解码;当信道条件稍微好一点时,接收端可接收到EL1层并解码。以此类推,WZ帧能适应不同信道的动态变化。

图3 WZ帧分级编解码框架

图4 WZ帧小波域分级各层DWT频带划分图

2.2 层内边信息逐级优化算法

DMVLC分级编码框架中边信息逐级更新及分级解码的实现过程如图5所示,该过程充分利用已解码的当前层,挖掘上下层之间的层内时间相关性以及帧内部的空间相关性。

图5 解码端边信息逐级优化的可分级实现框图

由于解码端边信息逐级优化的框架一致,其他几层的优化算法也一致,仅参数不同,所以本小节详细介绍BL的逐级优化方案。当只有BL被接收端成功接收时,LL3就作为该层对应的初始边信息,结合前一帧的运动矢量计算出当前帧LL3的边信息SI1;然后根据接收到的基本层码流RBL进行联合解码,获得当前BL的更佳重建帧FBL;接着再利用运动估计更新当前层的运动矢量,由于挖掘了层间相关性,获得了质量较准确的EL1的边信息SI2。采用同样的方法和过程,可以得到优化后的EL2边信息SI3和EL3的边信息SI4,更新后的各层边信息质量高低如图6所示。

图6 视点内边信息逐级优化结果示意图

2.3 层间边信息逐级优化算法

为了提升DMVLC系统边信息质量可充分利用视点间的空域相关性,本小节以中间视点EL1层的边信息更新为例介绍视点间边信息逐级更新流程,如图7所示,其中绿色帧为已解码的视频层,粉色帧为待解码视频层。由于现在可参考的有用信息为当前层的前一层及左右视点的当前层,因此首先假设左右视点的EL1层已成功解码并重建了视频帧FEL1,此时中间视点EL1的边信息可参考左右视点EL1层,此外还可以参考中间视点BL层。

图7 视点间边信息逐级更新结构示意图

在此基础上,本文研究的DMVLC框架在解码端可获得不同视点不同层的解码重建视频帧,如图8所示。DMVLC解码端的中间视点当前层边信息逐级更新结构中可充分利用已解码的相邻视点当前层,用于挖掘左右相邻层的层间空间相关性;同时还可利用当前帧中已经解码出来的前一层,用于挖掘上下层之间的层间时间相关性。

图8 分布式多视点分级编码结果示意图

3 实验仿真与分析

3.1 实验条件和参数设置

本小节通过仿真实验,测试DMVLC系统的码率可分级性和质量可分级性,实现分布式多视点可分级视频编码系统。实验中,对WZ帧进行编码的4个量化参数设置为{10,14,18,22},K帧的量化参数设置为{40,36,32,28}。仿真实验采用标准测试视频序列Balloons(256 pixel×192 pixel,30 b/s)和PoznanHall2(480 pixel×272 pixel,25 b/s),并用Matlab2016版进行仿真测试。考虑到由K帧生成的边信息质量好坏直接决定了DMVLC系统的整体性能,所以本实验首先固定K帧质量,然后测试系统的分级性,并与文献[12]介绍的DMVLC比较。

3.2 系统分级性测试及分析

本文将边信息逐级优化方案用到WZ帧的解码流程中,随着解码端接收到的待解码不同层的增加,边信息质量也逐级提升,测试结果如图9所示,图中横坐标分别是WZ帧编码时采用的4个不同的量化参数{Q4=10,Q3=14,Q2=18,Q1=22}。如图9(a)所示,在Balloons序列视点1的测试结果中,当量化参数为Q4时EL1层峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)值比BL层的提升了3 dB,其他各量化参数下的各层都有不同的提升效果。

(a)Balloons序列视点1

(b)Poznan Hall 2序列视点5图9 测试序列WZ帧边信息各层质量

随后,对分级DMVLC系统中WZ帧分级的RD性能进行测试,并且和文献[12]的分级编码框架进行对比,如图10所示。文献[12]分级方案与本文分级实现方案在BL层一样,都将LL3作为BL层;但增强层不同,文献[12]采用小波变换第三层作为EL1层,采用小波变换第二层作为EL2层,采用小波变换第一层作为EL3层。观察测试结果可见,文献[12]的EL3层码率均大于本文方案,而BL层码率大小两种方案几乎无差别;从PSNR值的情况看,本文分级方案的PSNR比文献[12]的PSNR值有提升,比如Balloons视点1中本文所提算法较文献[12]的基本层提升了0.5 dB,这主要由于本文方案在边信息更新的处理上采用了逐级优化的方式。另外,Balloons视点1的BL与EL1的低码率段的PSNR分级性能更突出,即其PSNR值的跨度范围更大。图10(a)中本文算法获得的各层码率和PSNR值都具有低码率低质量-高码率高质量的分级特性,但是文献[12]的绿色和蓝色各层的分级特性有缺失。

(a)Balloons序列视点1

(b)Poznan Hall2序列视点5图10 测试序列WZ帧分级RD曲线

为了测试DMVLC系统的分级性,将其和传统SHVC编码框架的分级性进行对比,其中SHVC的BL层采用HEVC帧内编码方式获得,分级情况由各层的量化参数所决定;DMVLC系统的码率和PSNR由WZ编码器中的量化参数所决定。两者的码率和PSNR值均列于表1,测试结果说明了本文分级编码有效,且部分性能与SHVC某些层一致。

表1 DMVLC与SHVC部分量化参数下Balloons序列的码率和PSNR值

3.3 DMVLC系统的主观效果测试及分析

为了更好地体现该分级系统的性能及各层对解码视频的贡献,将程序运行结束后的重建视频帧进行融合,按照视频帧原来的顺序进行存储并播放出来,此时就可以对各测试序列在解码端获得的不同层重建帧进行主观对比,如图11所示。

(a)接收到BL层解码图像(PSNR为32.478 6 dB)

(b)接收到BL+EL1层解码图像(PSNR为34.902 7 dB)

(c)接收到BL+EL1+EL2层解码图像(PSNR为35.288 1 dB)

(d)接收到所有四层解码图像(PSNR为35.590 3 dB)图11 测试序列PoznanHall2中间视点第三帧的各级主观图

图11中红色小框内是测试序列某一帧不同层解码重建图像同一区域的选择,红色大框是对该区域图像进行放大后的图像。图11(a)展示了PoznanHall2序列第三帧基本层的解码结果,从右下角的放大图可见此时图像质量较模糊,PSNR值为32.478 6 dB。图11(b)和(c)分别展示了PoznanHall2序列第三帧接收到前两层(PSNR值为34.902 7 dB)和前三层(PSNR值为35.288 1 dB)的解码图像,从放大图可见这时的图像质量随着接收到的增强层层数增多而逐步提升,图像模糊度逐渐降低。图11(d)展示了所有四层都接收到的解码图像,此时图像质量最好,PSNR值为35.590 3 dB。综上所述,图像主观质量上的分级性体现了本文分级编解码方案对视频质量分级的有效性。

4 结束语

本文主要针对无线信道条件动态变化问题突出的异构网络场景,对多用户流畅播放多视点视频的应用需求进行了研究,提出了低复杂度分布式多视点视频分级传输框架。该框架研究了有损逐级优化解码更新理论对解码端边信息更新的贡献,还研究了当本文解码端接收到待解码层数增多和已解码视点增多时,通过对视点内相关性和视点间进行挖掘,从而提升边信息质量和系统的整体分级性能。

后续工作计划针对异构网络场景中视频传输码率的优化问题,研究多视点视频分级编码方案中码率估计算法。考虑到边信息质量越高所需传输的校验码率越低这一特点,可进一步研究在多个增强层被接受后解码性能的提升,及边信息质量的改善对降低传输码率的辅助作用。

猜你喜欢

码率视点解码
《解码万吨站》
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于状态机的视频码率自适应算法
视点
让你每天一元钱,物超所值——《今日视点—2014精萃》序
两会视点