基金项目:国家自然科学基金(61871132); 福建省自然科学基金(2019J01223)
通信作者:ppchen.xm@gmail.com
(1.福州大学物理与信息工程学院,福建 福州 350108; 2.厦门大学信息学院,福建 厦门 361005)
(1.College of Physics and Information Engineering,Fuzhou University,Fuzhou 350108,China; 2.School of Informatics,Xiamen University,Xiamen 361005,China)
DOI: 10.6043/j.issn.0438-0479.201911010
针对5G通信中低时延、高可靠传输需求,在视频编码传输系统中,给定传输带宽的条件下,提出了视频帧级别的应用层前向纠错(FEC)信道编码的优化方案.联合考虑视频有损压缩失真和信道丢包,选取量化参数(QP)和视频帧FEC码率,优化压缩和FEC编码的冗余分配,改进视频重构效果.又因视频重构图像组(GOP)中,帧内编码(I帧)和靠近它的帧间编码(P帧)具有相似的重要性,所以在给定QP后进一步提出帧级别的动态FEC方案,动态分配I帧和P帧的冗余.随机丢包的仿真传输系统结果表明:1)QP分别为25,30和40时,视频重构在QP为30时效果最好; 2)当QP为30,丢包率(PLR)为5%时,相比于传统FEC方案,帧间动态FEC方案可有效提高视频峰值信噪比(PSNR); 3)在实际高清需求中通过端到端传输的5G远程驾驶,表明所提出的动态FEC方案可保证路况视频的实时传输.
In this paper,aiming at requirements of low-latency and high-reliability transmission in 5G communications,we propose an optimized scheme of forward error correction(FEC)channel coding at video frame-level in the video coding transmission system under the given transmission bandwidth:We jointly consider the lossy compression distortion and channel packet loss of video,quantization parameter(QP)and FEC rate of video frame are selected to optimize compression and redundancy allocation of FEC coding,and improve the video reconstruction effect.Due to group of pictures(GOP)in video reconstruction,intra-frame coding(I-frame)and inter-frame coding(P-frame)near it have similar importance.Therefore,when QP is given,a frame-level dynamic FEC scheme is further proposed to dynamically allocate redundancy of the I-frame and P-frame.Results of the simulation transmission system with random packet loss show that:1)When QP are 25,30 and 40 respectively,the video reconstruction exerts the best effect when QP is 30; 2)When QP is 30 and packet loss rate(PLR)is 5%,the dynamic FEC scheme can effectively improve the video peak signal to noise ratio(PSNR)compared with the traditional FEC scheme; 3)In actual high-definition demand-end-to-end transmission of 5G remote driving,the dynamic FEC scheme proposed in this paper guarantees real-time transmission of road conditions video.
近年来,伴随着无线通信技术和互联网技术的快速发展,多媒体视频传输业务的需求不断增加.随着第五代(5G)移动通信网络的建设,它的高速和超大网络容量等特点可以满足视频数据的传输,其低时延、高可靠的特点可满足远程医疗、远程驾驶、自动驾驶和工业互联网等实时应用[1].在5G通信里,信道噪声和无线环境会对信号造成干扰和衰落,导致传输时的网络数据包丢包.在这种情况下,接收端在视频解码时无法收到足够的数据包进行视频解码,会大大降低视频重构的视频质量[2].为了应对无线网络传输的丢包问题,罗云峰等[3]引入前向纠错(FEC)编码机制来解决实时传输的丢包.FEC在传输前对视频编码数据包进行编码,解码端利用FEC译码恢复丢失的数据包,有效提高了无线网络通信中的视频质量.
基于数据包的重要性程度不同,Huang等[4]提出不等差错保护FEC,通过选择性编码和发送重要的数据包,从而最大化提高接收峰值信噪比(PSNR),提升视频质量.Lin等[5]提出了一种增强的随机早期检测前向纠错(ERED-FEC)机制来提高视频传输的质量,该方法根据无线信道的状况和当前网络流量负载,在接入点处动态生成冗余FEC数据包,实验结果表明ERED-FEC机制能有效改善视频质量.Wu等[6]提出一种称为感知优先级和面向传输控制协议编码的FEC方案,通过视频帧优先级选择和自适应冗余技术提高实时视频流的质量.Immich等[7]提出一种基于自适应内容感知和神经网络机制的FEC自适应算法,为实时视频流提供无线网络中的丢包保护,改善了用户体验并优化了网络资源分配.王赞等[8]在接收端采用一种最小均方误差预测器对丢包率进行预测,从而动态调整FEC冗余度.
前文提及的FEC编码研究工作包括多视频帧的图像分组(sub-GOP)级别[9]和图像组(GOP)级别[10]的编码方案,若接收端在收到一个GOP之后才开始译码,则无法满足某些实时视频传输应用.本研究的视频传输是基于5G的超高可靠与低时延通信(URLLC)信道的远程控制场景[11],在该信道场景里,操作员和远程操作员之间的控制回路可以容忍的往返延迟为200 ms,基础信道丢包率(PLR)为10%,实时视频传输要求PLR达到0.001%[12].应用层的视频数据包保护的FEC编码是近两年较为前沿的研究[13-14].有效防止丢包,实时性强,是一种解决实时视频传输的有效可靠的方案.其基本思想是对于纠删码的使用,将源数据流分成大小相同的源数据包,对这些数据包进行FEC编码产生修复数据包,将修复数据包和源数据包一同发送到接收端,接收端通过修复数据包和源数据包恢复原始的视频数据流.为了达到5G的低时延要求,本研究提出帧级别[15]的应用层FEC信道编码方案,对视频编码后GOP的每帧进行单独FEC编码,以降低编译码时延,同时提升视频传输质量.值得注意的是,和GOP级别的FEC方案不同,在帧级别的FEC方案里,不同视频帧所包含的数据包个数不同(编码码长不同),这些帧的FEC译码性能也不同,整体视频重构效果难以保证.因此,为了提高视频重构质量,即获得更大的PSNR,本研究采用动态FEC码率,进一步优化帧级别的应用层动态FEC方案,同时提升视频传输质量,以实现实时视频传输的PLR降低到0.001%以下的目的; 采用随机数丢包的方式进行信道模拟,测试接收端的视频质量.
图1为整个视频传输系统的数据传输模型.在发送端,摄像头采集的
原始未压缩的视频源序列先经过H.264视频编码器压缩成视频流,假设视频压缩前的数据总量为M,压缩成NS个源数据包,每个源数据包的数据量为F,则信源压缩率为RS=M/(NSF); 然后经过FEC信道编码器进行添加NC个冗余数据包,生成NT个编码后的数据包(NT=NC+NS为总传输数据包),信道编码码率RC=NS/NT; 将每个数据包经过实时传送协议(RTP)打包后,送入信道进行传送.在接收端接收到数据包后,去掉RTP数据包头; 通过FEC信道解码器恢复出NS个源数据包; 再经过H.264 视频解码器重构出视频序列.因此当数据包丢失时,通过FEC恢复所丢失的数据包,并没有改变5G信道的物理层传输特性.
本研究视频压缩后的视频流由I帧和P帧组成.采用端到端的失真模型[16],使用PSNR来衡量视频重构质量.视频总失真率(DT)由信源失真率(DS)和信道失真率(DC)两部分构成,定义为
DT=DS+DC.(1)
DS由信源端的有损数据压缩编码造成,量化参数(QP)反映细节的压缩.影响信源失真的因素主要有视频编码速率和视频序列参数,信源失真会随着编码速率W的增大而降低,而QP增大,信源编码码率降低,压缩后的数据包变少,视频细节信息丢失,重构质量下降; DC与信道传输的有效损失率P有关,接收端数据包的丢失导致视频帧无法重构,减小了PSNR.DS和DC分别表示为[16]
DS=D0+π/(W-W0),(2)
DC=EP,(3)
其中,D0为失真补偿量,W0为编码速率补偿量,π为率失真系数,E为每个丢包的错误能量,P为有效损失率.这些常量取决于视频编码方案以及视频序列,不同视频序列对于该类常量有不同的取值,可以通过多次的编码实验获取常量[17].
假设vi表示第i个FEC数据包在传输过程中的路径状态,vi=G表示该数据包能够到达客户端,vi=B表示该数据包在传输过程中丢失.对于源数据包个数为NS的FEC信道编码,P的表达式为[18]:
其中:η(v)为源数据包丢失的数量,0<η(v)<NS; λv1为v1的概率,f〈i,j〉(τ)为在时间间隔τ内,从状态i转移到状态j的概率,详细计算过程
参考文献[18].对于FEC编码,η(v)可表示为[18]:
因此,引入应用层的FEC,增加发送的数据包冗余,减少视频的丢帧.为了提高整体视频的重构性能,减少视频总失真率DT,需优化信源编码和信道FEC编码方案.视频业务上的PSNR一般取值范围是20~40 dB,值越大,视频质量越好,
参考文献[19]:没有FEC时,当PLR设为3%,PSNR约为26 dB; 加入FEC保护后,PSNR大约为30 dB.
在给定的传输带宽,即NTF一定时,具有如下特点:
1)选定QP即可确定视频编码后的源数据包个数NS,也确定了FEC冗余数据包个数NC.大的QP意味着NS变少,视频细节信息损失,FEC产生更多的冗余数据包; 反过来小的QP,视频编码后数据包个数NS变多,但是FEC可产生的冗余包变少,抵抗信道丢包的能力变弱.
2)常用于抵抗视频数据丢包的FEC有基于sub-GOP级别[9]和GOP级别[10]2种,接收端在接收到一个GOP才能进行译码恢复丢包,时延较高.传统帧级别[15]的FEC则对每个数据帧都采用相同码率的FEC编码.在这种方案中,具有较多编码源数据包的I帧比编码源数据包少的P帧的译码性能更好.
基于如上两个特点,在给定传输带宽下,本研究首先确定QP和FEC冗余使得重构视频的PSNR最大; 在确定FEC冗余后,提出基于帧级别的动态FEC方案.通过调整I帧和P帧的编码冗余,改变FEC码率,使它们具有接近的FEC译码性能.
在视频传输系统中,FEC码被用于保护视频数据.纠错码类型一般选用解码快、时延低以及可靠性高的码型.已有的相关研究工作有喷泉码[20]、里所码(Reed-Solomon,RS码)[21]、低密度奇偶校验(LDPC)码[22]和Turbo码[23]等.极化码采用串行干扰消除的译码算法,译码复杂度高、时延大,无法达到实时的低复杂度译码.RS码是一种最大距离可分码,编译码较为复杂.相对于LDPC码,RS码是一种基于伽罗瓦域的多进制编码,每个编码的数据包符号由伽罗瓦域(GF)2m个元素(记为GF(2m))组成,伽罗瓦域越大,编码码长越长,但计算量越大.因此实际使用较为受限.LDPC-staircase编解码器的平均编解码速度比GF(28)上的RS码编解码器快32.4倍,其中译码器快10.2倍[24].由于适当的奇偶校验矩阵结构,LDPC-staircase码具有非常高的编解码速度[25-26].因此,最终选择LDPC-staircase码,该码型可以实现低复杂度的编码和译码处理.LDPC-staircase码属于LDPC码,它的奇偶检验矩阵H是一个(NT-NS)×NT的矩阵,H矩阵由两个子矩阵H1和H2组成.H1矩阵是一个(NT-NS)×NS的矩阵,其列对应于源符号,每列有N1个“1”,每行至少两个“1”; H2矩阵是一个(NT-NS)×(NT-NS)的矩阵,其列对应于奇偶检验符号,具有阶梯结构.NS=6,NT=12,N1=3时,奇偶检验矩阵H为[25]:
视频传输要求传输时延小,实时性高,因此本研究采用基于RTP的传输系统,对应用层上的FEC的每帧视频进行信道编码,保证了接收端的实时性更好.结合视频编码端GOP内I帧和P帧重要性,调整FEC信道编码端的冗余率,从而优化视频传输的PSNR,再将其运用到实际远程驾驶信道中.具体地,基于帧级别的FEC示意图如图2所示.
为了验证方案的有效性,视频传输系统以一定的概率随机丢失数据包模拟数据传输中的数据包丢包现象.具体地,使用自带随机数种子生成随机数,在发送端每发送一个FEC数据包时,利用该随机函数确定该个FEC数据包传输或者丢失.
本研究首先联合考虑视频编码的QP,优化选取FEC码率和冗余; 确定好FEC冗余后,对FEC编码的I帧和P帧,分配不同的FEC码率,提升P帧译码性能和整体重构质量.
在某些复杂的信道环境,视频传输数据包丢失会导致视频质量明显下降.采用FEC可恢复丢失数据包,且FEC信道码率越低,则恢复丢失数据包的能力越强.但是实际传输信道的传输带宽受限,并且过多冗余数据包也会造成视频的延迟.因此,在给定信道环境和时延限制等条件下,本研究通过联合考虑信源压缩和信道编码,根据信道丢包率,调整压缩QP和FEC信道码率,来获得更好视频质量和更大PSNR,实现视频重构质量的提高.
假设传输的视频序列总共由X帧组成,每个视频帧由x(0≤x≤X-1)标识,一个GOP的大小为G,GOP的个数为U.本研究在每G帧中插入一个I帧.N ~x表示第x帧的源数据包的总数,那么
NS=∑X-1x=0N ~x,(6)
NC=∑X-1x=0N ~x(1-RC)/(RC),(7)
NT=NS+NC.(8)
设D^-x表示第x帧由信源引起的失真,D ~x表示第x帧由信道引起的失真,那么目标函数为
min{DT}=min{DS+DC}=min{∑X-1x=0D^-x+
∑X-1x=0D ~x},s.t.NT=NS+NC.(9)
传统的FEC方案[15]将每帧包括I帧和P帧视频图像,都采用相同的FEC信道编码.N ∧表示传统FEC方案I帧的冗余数据包总数,N --表示传统FEC编码后的GOP中后Y个P帧的冗余数据包总数,(Y的数值由具体的方案确定,本研究中选为4),因此有
N ∧=∑U-1u=0N ~Gu(1-RC)/(RC),(10)
NT=∑X-1x=0(N ~x)/(RC),(11)
N --=∑U-1u=0∑Yy=1N ~G-y+Gu(1-RC)/(RC).(12)
一个视频序列经过视频编码器后,每帧视频图像被压缩成若干个源数据包,每个视频序列被分成若干个GOP,每个GOP由一个I帧和若干个P帧组成.I帧是帧内编码图像帧,它是关键帧,不需要参考其他视频帧画面而生成; P帧是预测编码图像帧,I帧是P帧的参考帧,而每个P帧也可以是其后面P帧的参考帧.由于I帧包含的信息多,其编码源数据包的个数较多; P帧包含的信息较少,其编码的源数据包个数也较少.
对于给定的RC,I帧有较多的冗余数据包,而P帧的冗余数据包比较少,但是FEC码长越长,FEC的译码性能越好.因此,本研究考虑I帧和P帧在视频重构中的重要性相似,在传统FEC方案的基础上,保持传输的数据包总数NT不变,按帧重新分配FEC码率,提出帧级别的应用层动态FEC优化方案.
保持传输数据包总数相同,设计一个帧级别的I帧和P帧具有平均性能的保护方案.根据I和P帧具有不同的源数据包个数,动态分配FEC信道码率,使得I帧和P帧的译码效果相当,从而提升传输视频PSNR.具体方法为:
1)保持NT不变,将传统方案的I帧编码码率提高为RI,编码冗余数据包较传统FEC方案有所减少.N ∧'表示平均I/P帧保护方案I帧的冗余数据包总数,ΔI表示平均I/P帧保护方案较传统FEC方案节省的冗余数据包总数,那么
N ∧'=∑U-1u=0N ~Gu(1-RI)/(RI),(13)
ΔI=N ∧-N ∧'.(14)
2)根据每个P帧数据包个数的多少,将I帧节省的冗余数据包分配给P帧,以保证每个P帧的总数据包一样.因此较多的冗余数据包将被分配给源数据包个数较少的P帧,较少的冗余数据包被分配给源数据包个数较多的P帧.从而使得源数据包个数不同的P帧具有了不同的FEC码率,但是具有相似的FEC译码性能.
倘若靠近I帧的P帧出现了错误,可能会导致其后面的P帧出现错误的传播,从而导致整体视频质量的下降.因此,在同个GOP内,靠近I帧的P帧的重要性大于后几个P帧.在传统FEC方案基础上,保持传输的数据包总数不变,提出了不等P帧保护方案.具体方法为:
1)保持NT不变,将同个GOP内的后Y个P帧的编码码率提高到RP,编码冗余数据包的总数减少,节省了部分的冗余数据包.本方案将后Y=4个P帧所节省的冗余数据包分配给靠近I帧的6个P帧.N --'表示不等P帧保护方案中后Y个P帧的冗余数据包的总数,ΔP表示不等P帧保护方案较传统FEC方案所节省的冗余数据包个数,则
N --'=∑U-1u=0∑Yy=1N ~G-y+Gu(1-RP)/(RP),(15)
ΔP=N ---N --',(16)
2)后Y个P帧节省的冗余数据包为ΔP,将这部分冗余数据包合适的分配给靠近I帧的多个P帧,大比例的分配给源数据包个数较少的P帧,小比例的分配给源数据包个数较多的P帧,使得这多个P帧的码长增长,码率降低,提高译码能力.
本节针对所提出的帧级别FEC优化方案进行验证.采用H.264视频编码压缩,GOP大小为25帧,每25帧插入一个I帧,视频序列的帧率为30帧/s.采用Parkscene视频序列,该测试序列为200帧,为了统计数据的有效性,本研究将视频传输5 000次,使用PSNR评估各个实验方案的性能.
图3给出了当RC为2/3时,不同数据包大小对LDPC-staircase码和RS码的译码时间的影响.显然,LDPC-staircase码的译码时间小于RS码,当数据包大小为600时,LDPC-staircase码的译码时间可忽略不计,因此,LDPC-staircase码更适用于远程控制场景,不会对远程操作造成较大的延时,更符合实时视频传输以及5G场景的需求.
图3 LDPC-Staircase码和RS码的译码时间在不同包大小下的对比(RC=2/3)
Fig.3 The decoding time of LDPC-staircase code and RS code is compared with different package sizes(RC=2/3)
图4为RS码和LDPC-staircase在不同的丢包率情况下的译码成功概率.其中,LDPC-staircase的RC为1/3,RS码使用伽罗瓦域为GF(28).当PLR(RPL)约为57%时,RS码的译码成功概率开始下降,而LDPC-staircase码的译码成功概率依然保持在接近100%的水平.在PLR约为64%时,LDPC-staircase码的译码成功概率略有下降,而此时,RS码的译码成功概率远低于LDPC-staircase码.
本实验将QP设为25,30和40进行仿真.以QP为30,FEC信道编码码率RC为1/2时传输的数据包总数NT为标准,调整QP为25和40的FEC的RC.测试PLR为1%,5%和10%时,不同QP下传统FEC方案传输视频重构的PSNR(表1).可以看出:在3种PLR情况下,QP为30的ParkScene视频序列的PSNR均最大,即接收端视频的重构效果最好; 当PLR为1%时,QP为25的视频PSNR大于QP为40的PSNR; 当PLR为5%和10%时,QP为40的视频PSNR则比QP为25的大.
为了验证方案可行性,本节在FEC冗余确定时,进一步比较了不同QP和PLR下3种帧级别动态FEC方案视频重构的PSNR.其中,传统FEC方案中,I帧和P帧采用相同的FEC编码.实验结果如表2所示.
1)当QP为30时,视频重构质量最高.本研究所提出两个动态FEC方案的PSNR都比传统FEC方案的高.在PLR分别为1%,5%和10%时,相对于传统FEC方案,平均I/P帧保护方案的PSNR分别提高了0.34,1.02和0.99 dB,不等P帧保护方案的PSNR
表2 不同QP和PLR下,3种方案的传输视频序列PSNR
Tab.2 PSNR of transmission video sequences of 3 schemes with different QP and PLR
分别提高了0.06,0.32和0.39 dB.由此可知,动态FEC方案可以提高接收端视频的重构质量,且平均I/P 帧保护方案的提升效果优于不等P帧保护方案.
2)当QP为25时,较于传统FEC方案,平均I/P帧保护方案的PSNR在PLR为1%,5%和10%情况下,分别提高了0.96,1.47和1.06 dB,不等P帧保护方案的PSNR分别提高了2.83,3.93和3.39 dB.可以看到,和QP为30时的比较结果不同,在QP为25时,不等P帧保护方案的性能优于平均I/P帧保护方案.
如图5所示为PLR为10%和QP为25时,在接收端收到的解码后的视频画面,可以看到,不等P帧保护方案具有最好的视频重构效果,平均I/P帧保护方案的视频重构质量次之.
3)当QP为40时,所提出的动态FEC方案性能与传统FEC方案相差不大,其中不等P帧保护方案的
PSNR,相较于传统FEC方案还略有降低.
如表2所示,在QP较小的时候,动态FEC方案明显优于传统FEC方案,PSNR最高可提高3.93 dB(QP为25,PLR为5%); QP较大时,动态FEC方案较于传统方案的提高较少.这是由于QP较大时,量化步长变大,视频信息丢失多,编码后的视频数据量变少.当QP为40时,视频序列经过H.264编码所得到的源数据包个数较少,I帧节省的冗余包数也较少.对于平均I/P帧保护方案,难以改进P帧的恢复效果,则整体视频重构的PSNR提高不多; 同样,QP较大时,P帧的源数据包数也变少,GOP后4个P帧所节省冗余数据包相应减少.对于不等P帧保护方案,难以改进靠近I帧的前6个P帧的译码效果,反而使后4个P帧的译码效果变差,整体传输视频的PNSR减小,视频的重构效果不佳.
本节将动态FEC方案在5G远程驾驶系统中进行实际测试,测试系统如图6所示.该系统在汽车上搭载高清摄像头,采集视频通过5G网络回传到室内驾驶舱的屏幕上,驾驶员可根据视频路况,进行实时远程操控方向盘、油门以及刹车.测试地点在福州大学物理与信息工程学院,采用中兴的5G通
信设备以及东南汽车.该系统采用H.264视频编码标准,GOP的大小设置为25帧,QP的大小设置为30,视频序列的帧率为30帧/s,每个FEC数据包的编码码长为600 B,端到端的传输时延限制为200 ms.实际测试结果表明,在5G网络信号较差(丢包率经测试约为2%)的地段,动态FEC方案可以有效地解决视频丢帧问题,PSNR比传统FEC方案的提升约2 dB,实现路况视频的高清实施传输,保障驾驶安全.
本研究基于视频传输系统提出帧级别的FEC信道编码方案.首先研究帧级别的联合信源分配FEC信道码率,综合考虑视频重构的视频压缩QP和抗丢帧FEC编码.在QP为30时,达到最好的接收端视频重构PSNR; 在给定FEC编码冗余的情况下,考虑I帧和P帧在视频重构的重要性相近,进一步提出帧级别的应用层动态FEC优化方案.当QP为25和信道丢包率为5%时,能比传统FEC方案提高3.93 dB; 最后将提出的方案应用到5G远程驾驶系统,有效实现实时路况视频的高清传输,证明该方案是可行的.