APP下载

面向HBP编码格式的立体视频B帧整帧丢失分层错误隐藏算法

2014-05-29蒋刚毅胡方宁王海泉

电子与信息学报 2014年2期
关键词:宏块视点解码

周 洋 蒋刚毅 郁 梅 胡方宁 王海泉



面向HBP编码格式的立体视频B帧整帧丢失分层错误隐藏算法

周 洋*①②蒋刚毅②③郁 梅②③胡方宁①王海泉①

①(杭州电子科技大学通信工程学院 杭州 310018)②(宁波大学信息科学与工程学院 宁波 315211)③(南京大学计算机软件新技术国家重点实验室 南京 210093)

针对分层B帧(HBP)编码格式的立体视频B帧整帧丢失的问题,该文分析了双视点视频中存在的视点间运动矢量相关性,提出一种分层错误隐藏算法。该算法与当前主流的方法有两大不同:一是该算法采用分级隐藏,根据B帧的重要性等级不同采用不同的错误隐藏方法;二是该算法考虑了相邻视点序列之间的宏块运动矢量相关性。实验表明,该算法的性能优于当前常用的H.264多视点视频整帧丢失错误隐藏方法。

立体视频编码;错误隐藏;分层B帧;视点间相关性

1 引言

多视点视频能够提供灵活的场景描述形式,可用于立体视频、自由视点视频等新兴视频服务中。立体视频仅需两个视点即可实现,能让用户对观测到的视频场景具有一种3维深度感。但是,当立体视频流通过无线网络等易错信道传输时,由于网络阻塞和信道扰动,会不可避免地出现数据包丢失或部分比特出错的问题。对基于分层B帧(Hierarchical B Pictures, HBP)预测结构的多视点视频编码,由于B帧采用双向预测和视点间预测,能比单视点P帧图像达到更高的压缩率,即可以将中/低分辨率的B帧图像压缩后封装到一个数据包中进行传输,但该方法造成丢失一个数据包将导致整帧图像丢失的问题。此外,基于网络的视频流传输通常采用RTP/UDP/IP,其丢包率可能高达20%[1],会发生多个RTP数据包同时丢失的现象,从而导致整帧图像丢失。因此,有必要设计专门针对整帧丢失的错误隐藏方法。

由于HBP预测结构采用分层预测,不同时刻的丢失B帧与该视点内参考帧存在不同的时域相关性。另一方面,从错误图像的差错传递角度来看,不同时刻的B帧丢失对后续帧的影响也不同,对不同时刻的丢失B帧采用相同的错误隐藏方法并不能取得满意的效果。因此,本文提出了一种面向HBP结构的分层B帧整帧丢失错误隐藏算法。该算法的主要贡献在于:(1)鉴于HBP预测结构的分层特征,对不同层的B帧丢失采用不同的错误隐藏方法;(2)分析多视点视频序列间的视点间运动相关性和视差相关性,并依据相关性大小等信息对出错图像进行分区,对不同区域采用不同的隐藏策略。

2 立体视頻B帧整帧丢失分层错误隐藏算法

基于HBP的立体视频编码结构如图1所示。本文在运动/视差矢量估计中,联合不同视点间对象的运动矢量和视差矢量相关性,设计了一种结合相关性分析的分层错误隐藏算法,如表1所示。

表1 B帧整帧丢失分层错误隐藏算法步骤

图1 基于HBP结构的立体视频编码预测结构

在步骤3中,根据立体视频解码时各宏块的参考关系,以及同一视点时域帧差值大小,对立体视频序列进行分类并对丢失帧区域进行分割,将丢失帧分割成强视点间相关性的背景区域和前景区域,以及强时域相关性的背景区域和前景区域;然后,依据左右视点的运动矢量相关性大小,将前景区域进一步划分为强运动相关性的前景区域和弱运动相关性的前景区域。

2.1视点间运动矢量相关性分析

由于双/多视点视频序列是由间隔相近的双/多个摄像机对同一场景拍摄得到的,一般来说,左右相邻的两台摄像机拍摄到的运动物体之间存在一定的运动相似性。下文取多视点视频序列中的“0”和“1”两个视点的各帧图像进行分析,具体步骤如下:

(1)在解码端获取各帧图像的运动矢量和视差矢量;

2.2 丢失帧区域划分

丢失帧划分主要有两个步骤:步骤1,根据立体视频解码时各宏块的参考关系和同一视点各帧图像的时域帧差值大小,先对立体视频序列进行分类,然后对丢失帧进行区域划分,将丢失帧分割成强视点间相关性的背景区和前景区,或强时域相关性的背景区和前景区;步骤2,依据左右视点的运动矢量相关性大小,将前景区域进一步划分为强运动相关性的前景区域和弱运动相关性的前景区域。

步骤1的具体过程如下:

(1)依据右视点B帧解码时,时域参考宏块数目和视点间参考宏块数目的大小,将立体视频序列各帧图像划分成强时域相关性图像和强视点间相关性图像。一般来说,立体视频序列各帧图像的时域相关性强于视点间相关性,但当场景发生大规模改变的情况下除外。

需要指出的是,在解码过程中,当核心帧发生丢失时,其运动矢量也发生丢失,则对核心帧丢失无法进行运动矢量相关性分析,只能对其进行背景区域和前景区域划分。

2.3 分级错误隐藏

2.3.1核心帧重建 对于左视点图像的核心帧丢失,将其划分成背景区域和前景区域,对背景区域采用从参考帧直接拷贝的方法;对前景区域,由于右视点图像尚未解码,在错误隐藏时采用基于Skip模式的错误隐藏法。

图2 运动矢量相关性分布图(Exit序列)

对于右视点图像的核心帧丢失,对划分后的背景区域也采用直接拷贝法进行修复。但对于前景区域,以宏块为单位,利用左右视点的运动矢量相关性分成4个8´8的块逐个进行隐藏。修复块定义如下:

由2.1节分析可知,左右视点图像之间存在一定的运动相关性,可将视差补偿后的左视点图像块的运动矢量作为右视点对应块的运动矢量,但对于部分宏块,左右视点运动矢量存在一定差异。受文献[12]启发,我们在解码器中增加一个指针数组,将该视点上一个核心帧解码时的后向运动矢量保存下来,用来提高丢失块运动矢量估计的精度。丢失块的前向运动矢量估计步骤如下:

表2比较过程伪代码

for if ( or )不成立作为当前丢失块的运动矢量估计值,即=;else利用四周丢失块运动矢量估计值的中值作为该丢失块的运动矢量;end

2.3.2次核心帧重建 对于左视点图像的次核心帧丢失,首先将丢失帧划分成背景区域和前景区域。对背景区域采用直接拷贝的方法进行错误隐藏。对于前景区域,采用基于时域运动矢量相关性的错误隐藏法,计算公式定义为

对于右视点图像的次核心帧发生丢失,首先采用2.2节的方法将其划分成背景区域,强运动相关性的前景区域和弱运动相关性的前景区域,对背景区域同样采用直接拷贝的方法进行错误隐藏。对于强运动相关性的前景区域,利用左右视点图像的运动矢量相关性,先对右视点图像中的待恢复宏块进行视差补偿,在左视点图像中找到相应宏块;然后取该宏块中每个8´8块的运动矢量作为丢失宏块的运动矢量估计值;最后,利用式(7)进行基于四分之一像素等级的运动补偿恢复出强运动相关性的前景区域。

2.3.3普通帧重建 对于普通帧,其出错不会产生帧间差错传递,也不会影响后续帧的解码(除了左视点图像中占极小部分的用作视点间预测的宏块)。对于普通帧的重建,可以在略微降低修复质量的基础上降低其错误隐藏算法的复杂度。因此,普通帧重建的具体过程类同于2.3.2节中描述的次核心帧重建过程,但在采用式(6)或(7)进行运动补偿时,采用1/2像素等级进行补偿计算来降低算法复杂度,其计算公式参见文献[13]。

3 实验结果

3.1 实验参数设置

本文选用典型的多视点视频序列“Exit”和“Ballroom”[14]来评估所提出算法的性能,其中“Exit”序列背景区域较大,“Ballroom”序列运动信息较丰富,图像分辨率为640´480,帧率为25 fps,测试序列选用视点0和1。实验中的立体视频编码结构如图1所示,具体编码参数设置如表3所示。在进行算法性能比较时,由于针对面向HBP结构的B帧整帧丢失错误隐藏算法的相关研究尚处于起步阶段,本文选用多视点编码校验平台JMVC中提供的两种整帧丢失错误隐藏算法:直接拷贝法和基于SKIP模式的错误隐藏法。此外,还与文献[11]中提出的运动预测法进行了性能比较。对比算法有4种:(1)直接拷贝法1(DC1),该算法采用同一视点中,相邻的前向参考帧来填补丢失帧;(2)直接拷贝法2(DC2),该算法采用同一时刻,相邻视点的参考帧来填补丢失帧;(3)基于Skip模式的错误隐藏法(SKIP), 它是多视点视频编码标准H.264/MVC的校验平台JMVC中自带的一种错误隐藏方法。“SKIP”法在算法实现中先将丢失宏块的编码模式设为Skip模式,利用Skip编码模式下宏块运动矢量为零的特征在前后参考帧中找到匹配块,然后对匹配块进行残差补偿,最后将补偿后的前后匹配块像素值相加取平均来完成丢失块的错误掩盖;(4)运动预测法(Motion Prediction, MP)[11]。

在进行错误隐藏仿真时,设定图像的分量发生丢失,,分量能正常解码。为了精确比较并显示HBP结构下出错帧的错误传递情况,采用逐帧比较的方法,通过3组实验分别对核心帧、次核心帧和普通帧丢失进行比较。在各组实验中,设每个GOP中的该类帧发生整帧丢失,先前解码帧正确解码。

3.2 实验结果与分析

表4给出了核心帧、次核心帧和普通帧经不同算法隐藏后的分量平均PSNR值,从表中可以看出,对于“Exit”序列核心帧,本文提出的方法相比MP, SKIP, DC1和DC2法,能提高平均PSNR值0.51 dB到14.58 dB;对次核心帧,能提高0.56 dB到13.29 dB;对普通帧,能提高0.17 dB到9.94 dB。对于“Ballroom”序列的核心帧,次核心帧和普通帧,本文方法比上述4种方法能分别提高0.63 dB到12.15 dB, 0.95 dB到11.72 dB和0.4 dB到8.31 dB。从表4的实验结果可发现,利用同一视点内各帧图像时域相关性的“DC1”法优于利用视点间相关性的“DC2”法,这说明同一视点内的时域相关性明显强于同一时刻的视点间相关性。

图3(a)和图3(b)分别给出了“Exit”右视点序列码流传输中发生核心帧和次核心帧丢失后,经不同算法错误隐藏后的各帧图像客观质量性能曲线(PSNR曲线),帧数为前57帧。图中,“Free”表示正确解码后的图像PSNR值,“No_EC”表示未经错误隐藏的出错图像。从图中可以看出,本文方法和MP法明显优于 DC1, DC2和SKIP法,但由于本文方法在视点间运动相关性利用中考虑了物体在时域方向的运动连续性,以及在次核心帧隐藏中根据视点间运动相关性的强弱对不同区域采用不同的方法,比MP法进一步提高了错误隐藏性能。SKIP法由于进行了残差补偿,并对前后向参考帧求均值,其性能优于DC1法和DC2法。

图4分别给出了“Exit”序列某个次核心帧(第30帧)丢失后经MP法,SKIP法和本文方法修复后的主观质量图。MP法先根据全局视差运动对当前宏块作视差补偿,接着利用相邻视点中对应块的运动信息进行运动补偿,但全局视差矢量不能准确描述各个宏块的视差矢量,且各图像块的视点间相关性存在差异,错误隐藏后的图像有较大区域存在块模糊现象,如图4(a)中的白框区域;SKIP法由于采用前后向拷贝而导致重影(图4(b)白框区域),并会导致后续帧解码时出现严重的错误传递;而本文方法取得了良好的主观质量。

表3编码参数设置

编码参数预测结构GOPQP帧率搜索范围搜索模式参考帧数 参数值HBP83225 fps32´32快速3

表4各类帧发生整帧丢失后经不同算法隐藏后的平均PSNR值(dB)

视频序列 帧类正确解码未隐藏DC1DC2SKIPMP本文方法 Exit核心帧PSNR增量37.5516.5131.5022.0432.7736.1136.62 20.19 5.1214.58 3.85 0.51 次核心帧PSNR增量37.5519.0532.8523.6834.2036.4136.97 17.92 4.1213.29 2.57 0.56 普通帧PSNR增量37.5523.5734.7626.7635.9436.5336.70 13.13 1.94 9.94 0.76 0.17 Ballroom核心帧PSNR增量35.6915.3424.2821.3625.5132.8833.51 17.98 9.1312.15 8.00 0.63 次核心帧PSNR增量35.6917.6925.9822.6127.4133.3834.33 16.64 8.3511.72 6.92 0.95 普通帧PSNR增量35.6922.2029.1625.5830.6433.4933.89 11.69 4.73 8.31 3.25 0.40

3.3 算法复杂度分析

从算法复杂度分析来看,本文方法算法复杂度的增加部分主要来自图像分区与丢失运动矢量估计方面。本文对核心帧、次核心帧和普通帧分别进行了不同隐藏算法的运行时间统计,实验硬件环境采用2.53 GHz Intel Core2 Duo 处理器,3 G内存的笔记本电脑,统计结果如表5所示。DC1法由于直接采用缓冲区里的先前解码帧替换丢失帧,执行时间最短;SKIP法将丢失帧的各宏块直接设定为Skip模式,比宏块正常解码的执行时间更低。本文方法由于对图像进行了分区,对平滑的背景区采用了直接拷贝的方法,对运动区采用基于运动视差补偿的方法,因此核心帧、次核心帧的修复时间比正常解码的执行时间略长,对解码一帧来说大概有2%左右的增加,可满足实际应用的需要。对于普通帧,由于采用1/2像素等级的运动视差补偿,执行时间降低。

4 结束语

鉴于此前的错误隐藏算法主要面向IPPP编码格式下的I帧或P帧解码出错,为此本文提出了针对HBP编码结构的双视点视频B帧整帧丢失分层错误隐藏方法。该方法的主要特点是:(1)根据解码中B帧的位置不同,将B帧划分成核心帧、次核心帧和普通帧,并采用不同的错误隐藏方法对不同类型的丢失帧进行分层错误隐藏,避免了先前B帧错误隐藏法对重要性等级不同的B帧仅采用单一方法的缺点;(2)分析了双视点视频中,左右视点各编码块间存在的运动矢量相关性,并将其应用到错误隐藏算法中,提高了差错掩盖的性能。实验表明,本文算法相对于H.264/JMVC校验软件中自带的SKIP法最多能提高平均PSNR值8.0 dB。下阶段工作中,我们将继续挖掘多视点视频编码中存在的视点间相关性,将本文算法扩展到两个视点以上的多视点视频编码中。

图3 “Exit”序列右视点帧丢失经不同算法恢复后各帧PSNR曲线

图4 “Exit”序列次核心帧(第30帧)丢失后经不同算法修复后的主观质量图

表5不同算法下各出错帧的平均修复耗时(ms)

测试序列出错帧类型正常解码DC2SKIPMP本文方法 Exit核心帧63.2524.6560.8763.6764.31 次核心帧63.2724.3160.5263.8964.89 普通帧63.1524.3760.3563.5362.77 Ballroom核心帧66.7126.2465.2567.1667.79 次核心帧66.3326.1664.9666.8367.83 普通帧65.8925.4263.5366.3665.26

[1] Wan Shuai and Ebroul I. Rate-distortion optimized motion-compensated prediction for packet loss resilient video coding[J]., 2007, 16(5): 1327-1338.

[2] Zhang Yong-bing, Xiang Xin-guang, Zhao De-bin,.. Packet video error concealment with auto regressive model[J]., 2012, 22(1): 12-27.

[3] Song K, Chung T, and Kim C S. Error concealment of multi-view video sequences using inter-view and intra-view correlations[J]., 2009, 20(4): 281-292.

[4] Vetro A, Wiegand T, and Sullivan G J. Overview of the stereo and multiview video coding extensions of the H.264/MPEG-4 AVC standard[J]., 2011, 99(4): 626-642.

[5] Xiang Xin-guang, Zhao De-bin, Wang Qiang,.. A joint encoder-decoder error control framework for stereoscopic video coding[J]., 2010, 21(8): 975-985.

[6] 郭继昌, 赵俊杰. 基于运动特性分析的立体视频差错掩盖[J]. 电子与信息学报, 2012, 34(12): 2809-2815.

Guo Ji-chang and Zhao Jun-jie. Stereoscopic error concealment based on motion characteristic analysis[J].&, 2012, 34(12): 2809-2815.

[7] Zhou Yang, Jiang Gang-yi, Yu Mei,.. Region-based error concealment of right-view for stereoscopic video transmission[J]., 2012, 38(1): 217-230.

[8] Liu Yun-qiang, Wang Jin, and Zhang Huan-huan. Depth image-based temporal error concealment for 3-D video transmission[J]., 2010, 20(4): 600-604.

[9] Hewage C T E R, Worrall S, Dogan S,.. Frame concealment algorithm for stereoscopic video using motion vector sharing[C]. Proceedings of 2008 IEEEInternational Conference on Multimedia and Exposition, Hannover, Germany, 2008: 485-488.

[10] Liu Xiang-kai, Peng Qiang, and Fan Xiao-jiu. Frame loss concealment for multi-view video plus depth[C]. Proceedings of 2011 15th IEEE International Symposium on Consumer Electronics, Singapore, 2011: 208-211.

[11] Liu Shu-jie, Chen Ying, Wang Ye-kui,.. Frame loss error concealment for multiview video coding[C]. Proceedings of 2008 IEEE International Symposium on Circuits and System, Berlin, 2008: 3470-3473.

[12] Tsai Wen-jin and Liu Wan-han. Error resilient video coding using hybrid hierarchical B pictures[C]. Proceedings of IEEE International Conference on ImageProcessing, Florida, USA, 2012: 1641-1644.

[13] Lu L, McCanny J V, and Sezer S. Multi-standard sub-pixel interpolation architecture for video motion estimation[C].Proceedings of 2008 IEEE International System on Chip Conference, California, USA, 2008: 229-232.

[14] ftp [OL]. ftp.merl.com/pub/avetro/mvc-testseq, 2009.

周 洋: 男,1979年生,博士,讲师,研究方向为3维视频编解码、视频传输差错控制.

蒋刚毅: 男,1964年生,教授,主要研究方向为多媒体信息通信、图像处理.

郁 梅: 女,1968年生,教授,主要研究方向为多媒体信号处理、视频编码.

A Hierarchical Error Concealment Algorithm for Entire B-frame Loss in Stereoscopic Video Coding with Hierarchical B Pictures

Zhou Yang①②Jiang Gang-yi②③Yu Mei②③Hu Fang-ning①Wang Hai-quan①

①(,,310018,)②(,,315211,)③(,,210093,)

To deal with the problem of entire B-frame loss in stereoscopic video coding with Hierarchical B Pictures (HBP) predict structure, this paper analyzes the motion vector correlations in the frames of adjacent views in a double-view sequence, and proposes a hierarchical Error Concealment (EC) algorithm. This algorithm possesses two features distinct from the popular methods. First, the algorithm applies hierarchical concealment technique, which uses different error concealment methods according to the important level of the B frames. Second, the macroblock’s motion vector correlations in adjacent-view sequence are taken into account. Experiments show that the proposed method outperforms state-of-the-art EC algorithms used in the H.264/MVC for entire frame loss.

Stereoscopic video coding;Error concealment; Hierarchical B Pictures (HBP); Inter-view correlation

TN919.82

A

1009-5896(2014)02-0377-07

10.3724/SP.J.1146.2013.00528

周洋 zhouyang_hz@126.com

2013-04-19收到,2013-10-08改回

国家自然科学基金(61271270)和浙江省自然科学基金(Y111019)资助课题

猜你喜欢

宏块视点解码
《解码万吨站》
基于运动估计与补偿的雷达拼图预测分析*
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
视点
基于选择特征宏块的快速视频稳像
让你每天一元钱,物超所值——《今日视点—2014精萃》序
两会视点
IP网络丢包条件下的H.264高清视频实时解码问题分析