首页 理论教育 视频传输纠错技术的研究现状与分析

视频传输纠错技术的研究现状与分析

时间:2023-06-24 理论教育 版权反馈
【摘要】:总的来说,在对QoS 进行分析与预测的基础上,结合网络丢包率、时延、抖动等QoS 参数的值,设计合适的信道编码方案保证视频传输的鲁棒性,已成为当前视频传输领域中的一个研究热点。

视频传输纠错技术的研究现状与分析

1.2.1.1 基于信道编码的纠错技术

信道编码的基本原理是按一定的准则在待发送的视频数据中嵌入一定数量的具备纠错能力的冗余信息,视频解码端可以根据该冗余信息恢复部分或全部丢失的数据,以提高视频传输在具有时延、丢包的互联网环境下的可靠性。其理论基础为香农(Shannon)编码定理,相应的技术也称为前向纠错(Forward Error Correction,FEC)[1]。常用的编码技术有RS(Reed Solomon)码、BCH(Bose Chaudhuri Hocquenghem)码、卷积码、Turbo码、LDPC(Low Density Parity Check)码等[2-5]。因此,结合网络QoS 及信道编码技术,根据QoS 参数(如丢包率、时延、抖动、可用带宽等)自适应地调整信道编码参数,是目前针对互联网上的视频传输技术的一个重要研究方向。围绕上述技术,国内外相关研究人员做了大量的工作,取得了较多的成果。

Ming-Fong Tsai等[6]考虑到丢包率等QoS 参数的波动会严重降低FEC的性能,将多路径路由与FEC结合,设计并实现了一种针对实时视频传输的纠错方法。其基本思想是将视频数据采用RS 码编码后,对数据块进行自适应分割,然后采用路径交织技术将各数据块通过多条不同的路径传送至接收端,以降低丢包率及时延,增强FEC的纠错能力。但是该方法并没有对多路径的路由进行优化选取,其路由算法效率较低。此外,数据块采用多路径传输,数据块的重组花费了较多时间,提高了算法的时间复杂度。Sanjeev Mehrotra等[7]在最小化平均传输时延和计算代价的前提下,设计了一种结合FEC和自动请求重传(Auto Repeat re-Quest,ARQ)的纠错方法,将视频数据分为三类: 视频数据包、采用FEC编码的数据包和重传的数据包,再根据QoS 参数的大小自适应地选择一类数据包进行传输。本质上,在高丢包率的网络传输环境下,该方法退化成了ARQ,且计算代价也会迅速增加。Shakeel Ahmad 等[8] 结合接收端的反馈将无速率(Rateless Code)编码中的纠删码应用到实时视频传输中,较好地适应了网络QoS 动态变化的传输环境。但该方法需在准确估计网络QoS 参数的情况下才具备比FEC更好的性能,这一点很难做到,使该算法应用受到一定限制。类似地,Linjian Hu等[9]也将无速率编码中的Raptor码应用到电视信号的传输过程中,采用GF(256)在GPU中对视频数据进行编码,实时性较好且有效减少了冗余数据,但该算法对计算机资源要求较高,存在算法复杂度过高的问题,限制了其实际应用。Zhengyi Luo等[10]考虑到视频数据中的图像组(Group of Picture,GOP)中不同帧在解码时其重要性也各不相同,将Raptor码与非均等纠错(Unequal Error Protection,UEP)方法相结合,将视频数据分为三类,再根据网络QoS 对各类数据采用Raptor码进行不同程度的保护,以最小化冗余数据。实验证明,该算法确实提高了解码端用户的主观质量。在此基础上,Adhishek Midya[11]进一步考虑了视频序列中存在场景变化的那些帧对最终解码后的主观质量影响最大,据此对各帧进行不同优先级的保护,优化了FEC中冗余数据的分配,获得了较好的率失真性能。由于要根据运动矢量来估计存在显著场景变化的帧,算法的运算代价较大,增大了视频传输的平均时延,并不适合移动网络和传感器网络这类传输环境。Yongkai Huo等[12]在视频传输系统中,首先在预测网络时延、丢包率等QoS 参数的基础上,利用Turbo码对视频数据进行编码,有效地提高了接收端以无线方式接入互联网时的视频播放质量。但该方法需要精确地预估网络QoS 参数,在实际网络环境下这一点很难做到实时计算。Nikolaos Thomos[13] 及Aikawa等[14] 采用Wormald 定理分析了LDPC码和FEC的译码性能,分别将其应用于无线网络和DVB-S2 中的视频传输,在计算丢包率和可用带宽等QoS 参数的前提下,在接收端得到了极佳的视频主观和客观质量,但仍然存在平均时延较大的缺点。Chih Chun Wang[15]考虑了多播环境下的视频传输问题,通过对各路视频数据流所要求的带宽进行合理的分配,计算其对应的权值后形成了FEC最优的分配方案,然后在此基础上调节各视频流的FEC数据实现视频平均失真的最小化。Mortaza NikzadAli Bohlool[16]在无线网络传输环境下,分析了各类不同的差错控制技术的优缺点,给出了当前主流方法的性能评测结果,对如何选择合适的方法,有效地降低视频失真具有重要的实际意义。Yongkai Huo[17]将FEC应用于无线网络中的可伸缩视频编码数据流的实时传输,通过分析各层之间的依赖关系,重点对基本层进行了合适的保护,在接收端取得了较好的视频质量,比较适合于视频组播环境。

总的来说,在对QoS 进行分析与预测的基础上,结合网络丢包率、时延、抖动等QoS 参数的值,设计合适的信道编码方案保证视频传输的鲁棒性,已成为当前视频传输领域中的一个研究热点。由于具备良好的纠错能力且编解码复杂度较低,FEC在面向互联网的视频传输中得到了广泛的应用。如当前主流的视频/音频传输平台Skype在数据传输模块中也集成了FEC机制[18],其实际性能表现良好。此外,在无线网络传输环境下,从复杂度、灵活性、安全性等方面对各编码方案的性能进行比较,RS 码复杂度低、易于硬件实现,但其编码块较小,码率受到一定限制。Raptor码对编码块长度限制很小,适合网络QoS 较差的传输环境下的视频传输系统,如无线网络、卫星链路等。而LDPC码较长,具有逼近香农信道容量极限的性质,可并行译码,而且具备较低的解码复杂度[19],适合于卫星链路或在互联网的末端局域网为无线网络的环境下进行可靠的视频传输。但在码率一定的情形下,其校验矩阵仍然是一个比较困难的问题,在实际应用中需要进行多次尝试。一般情况下,采用何种信道编码技术,应根据具体的网络QoS 来进行选取与调整,同时也要考虑视频数据所采用的编解码算法。

1.2.1.2 结合编解码器与信道编码的纠错技术

早期的视频编码标准,如1988年CCITT公布的视频编码标准H.261、活动图像专家组(Moving Picture Experts Group,MPEG)于1991年公布的MPEG-1 视频编码标准主要用于视频压缩存储,并没有针对网络传输提供相应的纠错能力[20]。直到1995年ITU-T推出的H.262 标准、2000年公布的H.263 标准、1999年ISO/IEC通过的MPEG-4 标准,不但定义了视频编码标准,还强调了视频传输的交互性和灵活性,提供了一些抗误码能力[21]。2003年ITU-T和ISO/IEC公布了H.264/AVC视频压缩标准,显著提高了压缩比,其针对互联网传输过程中的丢包和时延提供了很多的纠错技术[22],但仍然存在实时性较低、实现复杂的不足,未能满足低QoS 环境下的视频传输质量要求[23]。2013年发布的H.265 编码标准,与H.264/AVC相比,不但降低了40%左右的码率,而且对高清视频的传输方法进行了优化,提高了视频传输的鲁棒性和错误恢复能力,同时也减少平均传输时延,能更好地适应复杂的网络传输环境。

因此,结合编解码器及信道编码技术,实现信源/信道联合编码,提高编码后的视频数据在存在丢包、时延的传输环境下的可靠性与鲁棒性,已成为目前的一个研究热点[24]。一方面,大量的研究工作针对当前主流视频编码标准,如H.263、H.264/AVC、H.265、MPEG-4 等,改进和完善各类抗误码工具,如灵活宏块排序、错误隐藏、数据分割、冗余片等; 另一方面,针对互联网的异构性和视频接收设备的多样性,在当前视频编码标准的基础上采用新的编码工具,如多描述编码(Multiple Description Coding,MDC)、SVC等。在此基础上,结合RS码、Turbo码、LDPC等信道编码技术,实现视频数据的无差错传输[25]

Jimin Xiao等[26]为解决RS 码在视频传输过程中实时性较低的不足,将RS 数据块扩展至当前帧的前一帧,以提高解码的实时性。而Ali F.A.[27]通过在接收端对QoS 参数进行统计并反馈,在发送端实时调整FEC及视频编码参数,以达到减少冗余数据、提高带宽利用率的目的,但没有很好地解决接收端解码的实时性较低的问题。而文献[28-30]根据视频帧的优先级,采用Raptor码对视频数据进行编码。

Pierre Ferre等[31]针对目前编码器的冗余片会降低解码速度的不足,结合RS码设计并实现了一种新的冗余片编码技术。根据宏块的率失真性能和运动矢量的方差对宏块分配了优先级。在提高解码速度的同时,也改善了解码后视频的质量。然而在连续丢包的情况下,该方法的纠错效果并不显著。

Tasaka S 等[32]根据网络QoS 的变化,结合RS 码与灵活宏块排序,提出了一种新的纠错方法,对主要由I帧和P帧组成的视频序列具备很强的纠错能力。但该技术没有更多地考虑含B帧较多的视频序列,应用受到一定的限制。

Mengyao Ma等[33]对H.264/AVC中的运动补偿预测算法进行了完善,深入分析了错误扩散的收敛时间及其对视频序列的影响,对B帧的三种预测模式做了详细的实验和对比。但该项研究并无提高解码实时性的具体策略。

Amir Naghdinezhad[34]针对编码器的抗误码工具未能适应高误码率传输环境的问题,将参考帧修复技术结合帧内刷新技术融合到编解码过程中,对编码模式进行优化选取,并在无线传输环境下引入FEC,提高了视频传输的可靠性。

Xuguang Lan 等[35]设计并实现了一种MDC方案,基于Lagrangian 优化建立了自适应码率控制模型,根据块的率失真性能和网络丢包率生成不同的描述。再采用不同的路径传输各描述,确保接收端在高丢包率的环境下也可得到基本层次的视频质量。但该方法需对GOP进行预处理,且在变换过程中采用了离散小波变换,复杂度较高。对此,Olivier Crave等[36]提出了一种结合MDC与WZ(Wynerziv)技术的编码方案。将每一帧先进行离散小波变换,再利用多描述伸缩量化器对每一帧进行量化,得到多个描述。虽然降低了编码复杂度,但增强了解码过程的计算量,对视频接收设备的运算性能要求较高。

Weijun Li等[37]为克服H.264/AVC解码器端的错误隐藏算法对丢失的帧或宏块的运动矢量恢复能力较低的不足,通过分析宏块的运动和纹理特征,为解码器设计了一种复杂度较低的运动矢量恢复算法。但由于缺乏相应的信道编码技术,该算法在QoS 较低的网络环境下(如无线网络、移动通信网络)获得的视频质量较差。

Chi-HuangShih[38]等在分析视频帧内容的基础上,根据内容的不同运动特征设计了一种前向纠错方案,在有损信道中的视频传输环境下对该方法的性能进行了测试,在接收端获得了较好的视频播放质量。类似地,黄为等[39]也对多参考帧时的运动矢量预测进行了研究,采用多模式及自适应权重系数对多假设值进行局部优化调整。

励金祥等[40]为解决因整帧丢失的错误传播问题,提出了一种基于帧的MDC编码方案。采用基于预测的预处理和后处理方案实现描述间冗余的插入,能够动态调整描述间的冗余度,提高了适应多样化的网络传输环境的能力,但由于冗余数据较多,导致带宽利用率有所降低。

Masoud Mohammadzadeh Qaratlu 等[41]考虑到I帧在解码过程中的重要性,针对I帧中宏块的丢失提出一种空域错误隐藏算法,通过邻近块对丢失的像素进行估计,获得较理想的视频重建质量。然而,在实时性要求较高的视频序列中P帧数量最多,而该算法没有充分地考虑到这一点。(www.xing528.com)

可以看出,目前在视频传输技术中针对视频编解码器的研究主要集中在提高编码鲁棒性及其解码端的错误隐藏技术方面,并结合信道编码技术以提高视频传输的实时性和可靠性为目标[42]。同时,在实际的应用系统中也会综合利用上述各种技术以获得最优的视频质量[43]

1.2.1.3 面向可伸缩视频编码的纠错技术

SVC为编码后的视频数据提供了时间、空间及质量的可伸缩特性,在异构的网络传输环境下具有很强的适应能力,同时在视频传输的灵活性方面也符合越来越多的移动设备接入互联网这一趋势。SVC的编码原理如图1-2 所示。

目前与SVC相关的编码与传输技术已成为一个非常重要的研究内容和发展方向。

Hui Wang等[44]在面向SVC的视频多播系统的中间节点上应用随机线性网络编码,利用阶梯状全局编码矩阵弥补经典的全局编码矩阵非满秩的不足,对SVC实现了非均等纠错。尽管该网络编码方案计算与存储代价较小,但带宽利用率并无显著提高。

图1-2 SVC编码原理

Olfa Ben Rhaiem[45]等针对有损信道中视频传输问题,在监测网络服务质量参数的前提下,对CAVLC序列进行优化,显著提高了解码性能,在实验中验证了其性能较传统的H.264/AVC有较大的优势,对均衡网络负载、提高用户体验有很强的促进作用。

Laura Pozueco等[46]设计并实现了一种基于反馈的SVC传输系统。发送端根据反馈的数据预估网络可用带宽,并选择合适的时间层和空间层进行发送,显著提高了视频服务器在QoS 时变的传输环境下的适应能力。但基于接收端的反馈来预估网络带宽不可避免地导致时延较大,降低了视频传输的实时性。

Maodong Li等[47]首先针对SVC的空域和时域信息建立了面向SVC的视频主观质量评估标准,在此基础上建立了速率—质量体验模型。而Hai Miao Hu 等[48]提出了一种粗粒度质量可伸缩的增强层初始量化参数计算方法,并利用层间预测实现增强层的MAD预测,设计了针对SVC的码率控制方法。类似地,Burak Gorkemli等[49]综合考虑了MPEG-4 的精细粒度可伸缩编码的传输协议、编码参数、流抽取算法、重传策略、解码缓冲区管理等因素,设计了一种基于SVC的速率调节方案。

考虑实际运行的SVC传输系统都存在多个数据流及多个用户,Sergio Cicalo等[50]研究了多数据流的速率调节问题,在提高用户接收质量的公平性、最小化平均失真、适应不同丢包率的前提下,将速率调节转化为多目标优化问题,并为此设计了一种复杂度较低的求解算法,实现了相应的非均等纠错方法。

Yongfei Zhang等[51]通过分析SVC的数据流中各数据包的率失真性能,考虑到各数据包对解码重要性的不同,提出一种基于粒子群算法的SVC纠错方法。与此类似,Yong I Choi等[52]采用了贪婪算法解决SVC在无线网络中传输时的资源分配问题,但是这类进化算法普遍存在收敛速度较慢的不足,会降低视频传输的实时性。

Junhui Hou 等[53]在实验的基础上提出了一种针对SVC增强层的失真—量化模型,通过计算不同时间、空间、质量层中帧的失真,获得稳定的视频传输质量。

李晓峰等[54]设计了一种基于联合信源信道编码的视频传输方法。采用缩减栅格算法与拉格朗日优化技术对SVC保护级别进行最优分配。

钱大兴等[55]通过对GOP中所有宏块的尺寸和运动情况进行分析,提出了等效均方误差方法。然后计算出保证视频稳定播放的最小帧率,最后根据网络带宽确定提取子流的时间和空间增强层的数量。

西蒙[56]运用随机函数来随机化SVC各层中的数据流,并结合网络编码来抵御已知的明文攻击。此外,还设计了有序随机线性网络编码器用于SVC的传输,采用很少的随机化操作来达到可扩展的安全等级。

不难看出,针对SVC的视频传输技术仍然集中在如何提高SVC的抗误码能力与设计高效的纠错方法方面。通常,在发送端设计高效的码率控制方法和信道编码技术,在接收端部署优化的流抽取算法与错误隐藏算法,以充分发挥SVC在异构的互联网传输环境下适应能力强的优点,其难点主要在于如何提高实时视频传输的资源调度效率与增强编解码器的鲁棒性方面。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈