周 圆,侯春萍,金志刚
面向IP网络的多视点立体视频的实时容错传输
周 圆,侯春萍,金志刚
(天津大学电子信息工程学院,天津 300072)
提出了一种在IP网络上实时传输多视点立体视频的传输系统.视频流采用H.264/AVC格式编码.由于多视点立体视频庞大的数据量,系统通过2个IP信道分别进行传输.针对网络中的丢包现象,该系统采用一种新的数据包处理方法,利用各个视点之间的相关性进行丢失数据恢复.提出了一种多视点立体视频错误掩盖的算法,用来解决IP网络传输中的丢包问题.实验结果表明了该多视点立体视频传输系统的可行性.
多视点立体视频;实时传输;IP网络;H.264;错误掩盖
多视点立体视频技术在当前的图像和视频研究领域是最重要的发展趋势之一.多视点视频系统同时从多个角度获取同一场景的视频序列,并远程传输这些视频数据流.场景可以交互显示,用户可以从多个角度旋转检视,体验身临其境的感觉.然而,多视点立体视频与基于平面显示的业务不同,由于含有多个视点的视频信息,其数据量更为庞大.由于巨大的数据量和复杂的处理要求,目前包括IPv6在内的网络环境和通信信道对传输立体视频的能力十分有限,还远不能满足要求.因此,基于多视点立体显示的业务给观众带来更大的冲击感和震撼感的同时,也对传输技术提出了更高的要求.
高比特率的多视点视频处理对于内容提供商和最终用户来说是一个重要的挑战.即使经过先进的压缩技术处理后,多视点视频仍然有很高的数据量.文献[1]使用不等重要片组以适应FMO到MVC的转换.文献[2]提出了一种率失真算法,为每个质量层确定来源和通道.文献[3]提到的数据分割系统使用Turbo码来实现通道保护,但是由于RS码和Turbo码较高的计算成本,不适合在实时系统中应用.
在3DTV流通过IP网络传输的研究中,文献[4]提出利用NUEPMuT协议通过多树点对点(P2P)网络来传输多视点视频流.文献[5]提出了使用一个有效应用于可扩展的立体视频编码的层提取方法,以实现在任何给定的视频数据包之间有效地分配比特率预算.文献[6]提出了递归式的多视点视频传输失真模型,根据网络环境对多视点视频进行了失真率的计算.文献[7]提出面向IP网络的多视点视频失真估计模型,以递归公式的形式在帧水平(frame-level)上建立了以MSE为指标的、任意丢包模式下的多视点视频失真估计模型,进而扩展到GGoP水平的失真估计模型.一些学术机构和企业也展示了应用在IP网络上的多视点立体视频服务的原型系统.微软亚洲研究院提出了一个可提供实时、互动和可靠的多视点视频服务系统架构[8].MERL(三菱电子研究实验室)提出了多视点3DTV原型系统与实时采集、传输和自动立体显示[9].GIST(Gwangju Institute of Science and Technology)利用多对高清摄像机和基于软件的视频接收机,提出了一个符合成本效益的多视点高清视频传输系统.多视点视频编码(MVC模式)虽然提供了较高的压缩比,但其编解码的复杂度太高,因此尚未应用于实时传输系统[10].一般来说,这些实用系统同时传输和播放被分别进行独立编码的多视点视频.
高分辨率多视点立体视频涉及庞大的数据量并且在实时传输上具有更高的要求,笔者就此提出了一种在IP网络上实时传输高分辨率多视点立体视频的有效方法.
图1 多视点立体视频实时传输系统Fig.1 Real-time multiview 3D video transport system
由于立体视频庞大的数据量和对高带宽的要求,为了保证立体视频流的流畅传输和播放,同时最大限度地节省系统的资源,就必须对编码后的媒体信号进行多路复用的处理.一方面,与单视频传输相比,多视点视频信息的传输需要同时传送以方便接收端能够同时利用八路信息实时播放.以8视点为例:传统的IP传输方式采用单线程传送,那么服务器在传送8视点视频数据时,是采用挨个传送的方式,即传送完第1视点信息,再传送第2视点,传送完第2视点,再传送第3视点,……,这样客户机就无法在前7个视点都传送完之前同时搜集到八路视点信息,也就无法同时合成播放.这必然会从实时性角度影响立体视频的解码.另一方面,由于多视点立体视频具有很大的数据量,多视点立体视频以一个流进行传输在现有的网络带宽下很难实现.为解决这一问题,这里将多视点视频分成2个单独的视频流,分别在不同的IP网络信道中进行传输.每个新组成的视频流由若干路原多视点视频流应用一定的多路复用技术生成.图1为多视点立体视频在IP网络中实时传输系统的结构.所传输的多视点视频有8个视点,从上到下为视点1到视点8.在多视点立体视频中,当前已解码的帧与相邻视点的帧之间具有相关性.为了利用这种相关性,把相邻视点放置在不同的传输信道.视点1、视点3、视点5、视点7的视频流分为一组,视点2、视点4、视点6、视点8的视频流分为另一组.每一组内的各个视点流复用在一起并在不同的IP信道中进行传输.如果在其中一个信道中发生了丢包,丢失的数据可以利用在另外一个IP信道中传输的具有相关性的包而得到恢复(详见第2节).
每个视点的视频流采用H.264/AVS格式编码.虽然可以使用MVC技术对多视点视频进行更有效的压缩,但是由于MVC的编码复杂度,目前它仍不支持实时服务.因此本文提出的服务器采用H.264对每个视频流进行独立编码,每个视频流的分辨率720×480.H.264/AVC分为视频编码层(VCL)和网络提取层(NAL).VCL层具有有效表示已编码的视频信号的特性,而NAL层定义了视频编解码器本身和传输层之间的接口.
采用H.264编码的视频流由NAL单元(NALU)组成.在“数据包合成处理”模块中(见图1),一个混合包(mixed packet,MixP)包含来自一个组中的各个视点的4个NAL单元(NALU),如图2所示.MixPs在传输服务器中打包生成,其格式如图3中所示.相应地,在“数据包拆分处理”模块中(见图1),NALUs从MixPs中分离出来并形成独立的视频流.
图2 数据包合成处理Fig.2 Packet composition processing
图3 MixP格式Fig.3 MixP format
目前的网络环境尚不能完全保证立体视频的可靠传输.网络通道的不确定性和突发性,使得图像/视频传输过程中不可避免地发生错误乃至丢失.立体视频的观看质量很大程度上取决于人眼的立体视觉特征,人们获得的立体感觉需要遵循人眼的视觉特征规律.符合人眼立体视觉特征的相关立体信息在传输中一旦丢失,就很难保证重现立体图像的显示效果.因此,立体视频数据对这些传输错误非常敏感,前期的实验表明,传输过程中,丢包率或丢帧率超过一定的阈值(如大于10%),接收图像的立体感就会完全消失.对于接收端来说,尽可能有效地恢复这些多视点的立体视频数据是一件必要的工作.错误掩盖是在解码端采用的一种后错误处理技术,利用视频信号中的冗余信息和人类视觉的系统特性,寻找一些相关数据替代图像中出错或丢失的数据,以提高图像、视频质量.错误掩盖与编码端无关,不会占用额外的传输带宽,也不需要增加传输时延,非常适合多视点视频的错误掩盖[11].
多视点立体视频具有庞大的数据量.一般来说,每个视点的视频序列与普通视频一样具有时域、空域冗余性;不同之处是某一时刻各视点之间具有冗余性,也就是说,各视点图像数据之间有强相似性,不仅同一视点相邻帧之间存在时域相关性,而且同一时刻左右视点对应帧之间还存在空域相关性[12].在丢包网络中,考虑到立体视频序列的特点,当一个视点的某帧数据丢失后,充分利用相邻帧图像预测方式的时域相关性和空域相关性来确定丢失帧中每个宏块的预测方式以恢复丢失帧.
本文提出了一种快速的时空域错误掩盖方案,在判断参考帧时充分考虑视点间相关性和时间域相关性,再以参考帧中的相应宏块恢复损失块的相应数据.受损帧与参考帧之间的关系如图4所示.在立体视频序列中,运动模式、视差矢量存在着明显的时间相关性.受损帧不仅可以用同一视点的前后帧恢复,也可以用相邻视点的帧恢复.
图4 受损帧与相邻帧关系Fig.4 Relationships between a damaged frame and its adjacent frames
2.1 时域错误掩盖
图5是时域与视点间的错误掩盖示意.F( m, n)表示第m视点的第n帧.假设当前帧F( m, n)中的某个宏块丢失了,那么之前的帧F( m, n-1) 和之后的帧F( m, n+1)可以用来掩盖错误.
由于在H.264编码中使用了可变长编码,即使只有一个比特发生了错误,也可能引起整个片组(slice)不能解码.因此,当某个宏块丢失时,它的运动矢量(motion vector,MV)通常也会丢失.假设丢失的宏块
式中B表示丢失宏块中像素坐标的集合.估计的运动矢量MV使得F( m, n-1)帧和F( m, n+1)帧中相应像素的平均差值最小.
当估测运动矢量MV后,丢失块中的像素用相应像素的平均值掩盖,计算式为
式中:i∈B;pi,est(m, n)表示帧F( m, n)丢失的宏块中像素i的估计值.
2.2 视点间错误掩盖
在多视点视频中,由于多个摄像机同时获取同一场景的视频序列,因此视频序列不同的视点间还具有空域相关性.映射到两个摄像机的图像之间的差别可以通过一个单一的视差矢量有效模拟[13].设丢失的宏块从F( m-1,n)到F( m, n)的视差矢量为DV.假设拍摄视频的多个摄像机具有平行结构,当摄像机平等间隔开时,基于极线平面图像分析可以得到:同一物体在相邻的视点之间具有相同的视差矢量,因此从F( m, n)至F( m+1,n)的视差矢量也为DV.
根据图6所示的错误掩盖方案,当前受损帧F( m, n)中丢失宏块的的视差矢量DV可以用同一时刻相邻视点的两帧F( m, n-1)和F( m, n+1)的信息来估计.
图6 宏块运动模式的判断Fig.6 Motion mode decision of macroblocks
根据式(3)求得的视差矢量,以相邻视点的两帧中对应像素的平均值作为丢失宏块中像素值的估计值,即
2.3 多视点视频的错误掩盖流程
在多视点视频的错误掩盖中,同时考虑时间和视点间相关性,以判断丢失宏块的参考帧的选取.在剧烈变动的图像附近,宏块处于运动中,视间相关性占主要方面,比同视点相邻帧间相关性更强.对于快速运动的宏块,采用时域错误掩盖误差较大,因而应选择视点间错误掩盖模式,以同一时刻的相邻视点帧作为错误掩盖的参考帧.对于运动速度较慢的宏块,或其内容在相邻视点中不存在的宏块,则应当选用时域错误掩盖模式,即选择同一视点的前后帧作参考帧.
错误掩盖方案的流程如图7所示.
由于视频的连续性,可以认为丢失宏块的运动模式与前后帧中同样位置的宏块的运动模式具有极高的相似性.因此可以采用如下方法判断丢失宏块选取的错误掩盖方式.
步骤1 如图6所示,设F( m, n)中损坏的宏块为Bk(m, n),于是F( m, n-1)中与具有同一空间位置的宏块定义为Bk(m, n-1).同理F( m, n-2)中的相应宏块定义为Bk(m, n-2),F( m-1,n-1)中的相应宏块为Bk(m-1,n-1).
图7 错误掩盖算法流程Fig.7 Flow chart of error concealment
步骤2 计算Bk( m, n-1)与Bk( m, n-2)之间对应像素之间的差值,计算差值的绝对值和,以SADt(sum of absolute difference,SAD)表示,其计算式为
步骤3 计算Bk( m, n-1)与Bk( m-1,n-1)之间对应像素之间的差值,计算差值的绝对值和,结果为SADv.相似地,可以得到
步骤4 比较SADt与SADv的值.如果SADt>SADv,宏块Bk(m, n-1)为一个快速运动宏块,这样Bk(m, n)可以假设为一个快速运动宏块,对Bk(m, n)采用视点间错误掩盖模式.
相反,如果SADt≤SADv,则宏块Bk(m, n-1)为一个非运动宏块,根据视频相邻帧的连续性,可认为Bk(m, n)为非运动宏块,对Bk(m, n)采用时域错误掩盖模式.
本文在实验中使用Lotus多视点序列验证所提出的传输系统的性能.Lotus序列有8个视点,每个视点视频有500帧,分辨率是720×480.实际的观察结果表明:在没有错误掩盖处理的情况下,经过丢包网络的传输,Lotus多视点视频的立体感被严重破坏.与此同时,在丢包率相同的情况下,多视点视频在所提出的传输系统中进行传输就会得到更好的立体感觉.
采用峰值信噪比(PSNR)来评价立体视频的质量.PSNR越大,立体视频质量越好,立体感越强.对若干出现错误的帧进行错误掩盖处理,求出图像的PSNR,并将实验结果进行比较,结果如表1所示.值得注意的是,表1中的PSNR是比较接收端的视频与发送端编码后的视频得出的,而不与编码前的原始图像进行比较.
如表1所示,错误的图像帧平均PSNR在25,dB以下,质量被破坏.经过错误掩盖算法,平均PSNR在40,dB以上,视频帧得到有效恢复,具有较好的视频质量.而且,随着视频帧错误块的增加,平均PSNR下降,错误掩盖效果较差.
表1 多帧图像错误掩盖前后的PSNR值比较Tab.1 Comparison of PSNR before and after error concealment for several frames
图8将所提出的错误掩盖方法与传统的用于二维平面视频的错误隐藏方法进行对比.这里将用于二维平面视频的错误隐藏方法用于多视点立体视频,即仅采用视点内的相邻帧作为参考帧进行运动估计,进而实现错误隐藏.图8显示了Lotus多视点序列在丢包网络中的平均PSNR.由图8可知,所提出的采用错误掩盖处理能明显提高视频序列的质量,且明显优于未考虑视点间相关性的错误隐藏方法.该实验结果证实了本文提出的多视点视频传输系统的可行性.
图8 Lotus序列在不同丢包率下的平均PSNRFig.8 Average PSNR of Lotus sequence in different packet loss network
本文提出了一个多视点立体视频的实时容错传输系统.多视点视频作为2个单独的流,分别在不同IP信道中传输.传输系统中采用了错误掩盖方案以解决IP网络的丢包问题.所提出的快速错误掩盖方案根据视点间相关性和同视点相邻帧间的相关性对错误图像帧进行恢复重建,能达到很好的视觉效果,显著提高视频质量.
[1] Thomos N,Argyropoulos S,Boulgouris N V,et al. Robust transmission of H.264/AVC streams using adaptive group slicing and unequal error protection[J]. Eurasip Journal on Applied Signal Processing,2006,2006:1-13.
[2] Fu Chih-Ming,Huang Wenliang,Huang Chung-Lin. Eff i cient post-compression error-resilient 3D-scalable video transmission for packet erasure channels [C]// IEEE International Conference on Acoustics,Speech,and Signal Processing. Philadel-phia,USA,2005:305-308.
[3] Yip P Y,Malcolm J A,Fernando W A C,et al. Joint source and channel coding for H.264 compliant stereoscopic video transmission[C]// Canadian Conference on Electrical and Computer Engineering. Saskatoon,Canada,2005:188-191.
[4] Kurutepe S,Sikora T. Feasibility of multi-view video streaming over P2P networks[C]// 3DTV Conference. Berlin,German,2008:157-160.
[5] Ozbek N. Inter-view rate allocation using efficient layer extraction for stereo video streaming over IP[C]// 3DTV Conference. Berlin,German,2008:153-156.
[6] Zhou Yuan,Hou Chunping,Xiang Wei. Modeling of transmission distortion for multi-view video in packet lossy networks[C]// IEEE Global Communications Conference (GLOBECOM). Miami,USA,2010:1-5.
[7] Zhou Yuan,Hou Chunping,Xiang Wei,et al.Channel distortion modeling for multi-view video transmission over packet-switched networks[J]. IEEE Transactions on Circuits and System for Video Technology,2011,21(11):1679-1692.
[8] Lou Jianguang,Cai Hua,Li Jiang. A real-time interactive multi-view video system[C]// Proc ACM Multimedia. New York,USA,2005:161-170.
[9] Matusik W,Pfister H. 3DTV:A scalable system for real-time acquisition,transmission and autostereoscopic display of dynamic scenes[J]. ACM Transaction on Graphics,2004,23(3):814-824.
[10] Kim J. Real-time synchronous multi-view video transport system over IP networks[J]. IEEE Transactions on Consumer Electronics,2008,54(2):460-467.
[11] Song K,Chung T Y,Oh Y,et al.Error concealment of multi-view video sequences using inter-view and intraview correlations[J]. Journal of Visual Communication and Image Representation,2009,20(4):281-292.
[12] Pang Linjuan,Yu Mei,Jiang Gangyi,et al. An approach to error concealment for entire right frame loss in stereoscopic video transmission[C]// Computational Intelligence and Security International Conference. Guangzhou,China,2006:1665-1670.
[13] Forsyth D A,Ponce J. Computer Vision:A Modern Approach[M]. New Jersey:Prentice Hall,2003.
Real-Time Error-Resistent Transmission of Multiview 3D Video over IP Networks
ZHOU Yuan,HOU Chun-ping,JIN Zhi-gang
(School of Electronic Information Engineering,Tianjin University,Tianjin 300072,China)
A real-time high-resolution multiview 3D video transmission system was proposed to deliver multiview video over IP network. Video streams were encoded with H.264/AVC. Owing to the massive amount of data involved,multiview 3D video was delivered on two separate IP channels. A novel packet processing method was employed in the proposed system to hold the correlations between views for loss data recovery. Additionally,since packet losses would always occur in IP networks,an error concealment scheme for multiview,3D video was exploited in this transport system in order to overcome the packet loss problem in IP networks. Experimental results demonstrate that the proposed transmission system is feasible for multiview video in IP networks.
multiview 3D video;real-time transmission;IP networks;H.264;error concealment
TK919.8
A
0493-2137(2012)07-0629-06
2011-06-13;
2012-01-14.
国家高技术研究发展计划(863计划)资助项目(2009AA01A336);国家自然科学基金资助项目(60932007,61002029).
周 圆(1983— ),女,博士,讲师.
周 圆,zhouyuan@tju.edu.cn.