一种帧级别的应用层动态fec编码方法

文档序号:1579954 发布日期:2020-01-31 浏览:19次 >En<

阅读说明:本技术 一种帧级别的应用层动态fec编码方法 (frame-level application layer dynamic FEC encoding method ) 是由 陈平平 柳粟杰 宋金城 李然 王�锋 于 2019-10-18 设计创作,主要内容包括:本发明涉及一种帧级别的应用层动态FEC编码方法。利用视频传输系统,在发送端,视频序列先经过H.264视频编码器,设定量化参数(QP)值,视频编码器将每帧视频图像压缩成不同个数的源数据包,FEC编码将每帧的源数据包为一组,利用前向纠错编码算法生成一定个数的冗余包,二者组成一个FEC编码组。接收端可以根据对应的纠错译码算法恢复出源数据。本发明基于I帧和P帧在视频解码中具有相同的重要性,以及编码包个数多或码率低的FEC性能更好的原理,将包个数多的I帧码率提高,将其多出的冗余包分配给包个数少的P帧,不同包数的P帧有不同的码率,可使得I帧和P帧的译码效果相当,在解码中达到一致的重要性,提升视频的平均峰值信噪比(PSNR),使得视频整体质量上升。(The invention relates to a frame-level application layer dynamic FEC encoding method, which utilizes a video transmission system, a video sequence passes through an H.264 video encoder at a transmitting end, a Quantization Parameter (QP) value is set, the video encoder compresses each frame of video image into source data packets with different numbers, the FEC encoding divides the source data packets of each frame into groups, and a redundancy packet with a certain number is generated by utilizing a forward error correction encoding algorithm, and the two groups form FEC encoding groups.)

一种帧级别的应用层动态FEC编码方法

技术领域

本发明涉及通信领域中的信道编码,尤其涉及一种帧级别的应用层动态FEC编码方法。

背景技术

近年来,伴随着无线通信技术和互联网技术的快速发展,多媒体通信业务的需求不断增加。随着第五代移动通信(5G)网络的建设,它的高数据传输速率、低时延和超大网络容量等特点,满足大数据量的传输,满足自动驾驶等实时应用,以及满足物联网通信。

起初的多媒体内容数据量庞大,并且网络带宽受限,通常是先下载至本地再进行播放。后来,由于H.264等视频编码技术的发展,使得视频可以进行实时流式传输。随着移动互联网时代的不断发展,人们增加了对无线流媒体应用的需求,流媒体技术具有启动时延短等优点,非常适用于实时多媒体应用的传输,因此当前科研工作者的研究的热点与难点是在于如何保证流媒体在复杂的网络传输环境下的服务质量,在不浪费网络带宽的前提条件下提高流媒体传输的可靠性和有效性。

无线视频传输技术在视频传输发展技术中是个富有挑战性的课题,无线信道环境非常的复杂,信道中的噪声会对信号造成衰落,会导致网络丢包现象的产生,会使得接收端在视频解码时发生错误解码,大大的降低了视频解码器重构的视频质量。为了应对无线网络环境的挑战,提高视频质量成为主要的研究目标。引入前向纠错编码(FEC)机制是解决实时视频传输丢包的一个好机制,因此应利用前向纠错编码,以便提高无线网络通信中的视频质量。

FEC是一种差错控制方式,它可以提高数据传输的可靠性。FEC的基本思想是,接收端在接收到数据之后不仅能够对数据进行错误判断,还能够进行主动纠错。FEC的基本原理是,在发送端根据纠错编码算法产生一定量的冗余包,以此达到一定的纠错能力,接收端可以根据纠错译码算法将丢失的数据包还原。

FEC是基于算法给传输的数据信息添加冗余部分进行恢复网络传输过程中丢失的数据的一项技术,随着喷泉码、RS码、LDPC码等纠错编码算法被提出,工程实验证明该项技术编码具有优越的性能,并且FEC不需要反馈信道,具有低时延、高可靠的特点。

现有技术都是基于所有源数据包一起利用纠错编码算法生成一定数量的冗余包,没有考虑到视频编码成I帧和P帧二者的数据包个数差异,以及二者对视频重构的相似重要程度,在丢包状态情况下,这样视频P帧在解码过程中容易出现错误,在接收端重构的视频序列的整体质量就不够好。本发明采用的是一种按帧编码的动态FEC编码方案,来对每一帧独立编码,并采用不同的码率,使对视觉重构具有相似重要性的I帧和P帧具有接近的纠错性能,以此更好地重构视频,使得视频整体的质量更好。

发明内容

本发明的目的在于提供一种帧级别的应用层动态FEC编码方法,来对每一帧独立编码,并采用不同的码率,使对视觉重构具有相似重要性的I帧和P帧具有接近的纠错性能,以此更好地重构视频,使得视频整体的质量更好。

为实现上述目的,本发明的技术方案是:一种帧级别的应用层动态FEC编码方法,首先,在发送端,通过H.264视频编码器将视频序列中的每帧视频图像压缩成不同个数的源数据包;其次,FEC编码按帧级别编码的方式将每帧视频图像的源数据包分为一组,同时利用前向纠错编码算法生成与每帧视频图像的源数据包对应的冗余包;再而,将每帧视频图像的源数据包和每帧视频图像的源数据包对应的冗余包组成一个FEC编码组;最后,设计关于帧级别的动态FEC编码方式,使得根据每帧视频图像源数据包个数不同,动态分配每帧的码率,即保证包总数不变,提高I帧的码率,将I帧所下降的冗余包数分配给相应的P帧,降低P帧的码率,从而使得I帧和P帧的译码效果相当,提升视频传输的效果和整体视频的平均质量。

在本发明一实施例中,在接收端,能够根据发送端所对应的前向纠错译码算法恢复出源数据。

相较于现有技术,本发明具有以下有益效果:本发明采用的是一种按帧编码的动态FEC编码方案,来对每一帧独立编码,并采用不同的码率,使对视觉重构具有相似重要性的I帧和P帧具有接近的纠错性能,以此更好地重构视频,使得视频整体的质量更好。

附图说明

图1为系统模型的示意图。

图2为FEC信道编码原理示意图。

图3为传统方案和动态FEC方案的视频帧对比图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本发明提供了一种帧级别的应用层动态FEC编码方法,首先,在发送端,通过H.264视频编码器将视频序列中的每帧视频图像压缩成不同个数的源数据包;其次,FEC编码按帧级别编码的方式将每帧视频图像的源数据包分为一组,同时利用前向纠错编码算法生成与每帧视频图像的源数据包对应的冗余包;再而,将每帧视频图像的源数据包和每帧视频图像的源数据包对应的冗余包组成一个FEC编码组;最后,设计关于帧级别的动态FEC编码方式,使得根据每帧视频图像源数据包个数不同,动态分配每帧的码率,即保证包总数不变,提高I帧的码率,将I帧所下降的冗余包数分配给相应的P帧,降低P帧的码率,从而使得I帧和P帧的译码效果相当,提升视频传输的效果和整体视频的平均质量。在接收端,能够根据发送端所对应的前向纠错译码算法恢复出源数据。

以下为本发明的具体实现过程。

如图1所示,该图表示整个视频传输系统。发送端输入视频源序列,先经过视频编码器压缩成视频流,后经过FEC信道编码器进行添加冗余数据包,源数据包和冗余数据包共同组成FEC编码组通过信道传送数据包,在接收端通过FEC信道译码器恢复出源数据包,在经过视频译码器重构出视频序列。

如图2所示,该图表示FEC信道编码原理的示意图。源视频序列经过H.264视频编码器被压缩成视频流,整个视频序列被分成若干个GOP,每个GOP有1个I帧以及若干个P帧。我们采用按帧级别的信道编码的方式,将每帧的k个源数据包按照一定的码率,利用LDPC-staircase应用层前向纠错编码算法,生成(n-k)个冗余包,共同组成(n,k)FEC编码组。

传统的FEC方案的每帧包括I帧和P帧的编码码率都是相同的。在该方案基础上保证总的冗余包总数一致,设计了一个关于帧级别的动态FEC编码方案,使得I帧和P帧的译码效果接近。具体的分配方法为:设置好H.264视频编码器的GOP大小以及QP大小,将原来传统方案的I帧的码率提高,那么I帧冗余数据包的个数较传统方案减少,节省了部分的冗余数据包;在传统方案的基础上,P帧已具有一定数量的冗余包,再将I帧节省的冗余数据包,大比例分配给源包数较少的P帧,小比例分配给源包数较多的P帧,从而不同源数据包数的P帧也确定了不同的码率,这样不同的帧具有了不同的编码码率。

本发明的传输系统采用H.264视频编码标准,将GOP的大小设置为25,即每25帧***一个I帧,将QP的大小设置为30,视频序列的帧率为30帧/秒,本次仿真的丢包模型为随机丢包模型。本次仿真使用的视频序列是ParkScene,仿真采用的两种实验方案都是按帧编码的编码方式,分别为传统FEC编码方案和动态FEC编码。传统FEC编码方案:不论I帧或者P帧,每帧的FEC码率均相等,本次仿真将FEC编码码率设置为1/2;动态FEC编码方案:在传统FEC编码方案的基础上,保证包总数不变,将I帧码率提升,将多余的冗余数据包分配P帧,降低P帧的码率。设k为ParkScene序列经过H.264视频编码后的源数据包数,本次仿真按帧级别的动态FEC编码方案的具体分配情况如下:

1)当k>100时,此帧为I帧,FEC编码码率为2/3;

2)当80<=k<90时,此帧为P帧,FEC编码码率为1/3;

3)当70<=k<80时,此帧为P帧,FEC编码码率为18/25;

4)当60<=k<70时,此帧为P帧,FEC编码码率为3/5;

5)当50<=k<60时,此帧为P帧,FEC编码码率为1/6;

6)当40<=k<50时,此帧为P帧,FEC编码码率为1/6。

本次传输系统分别使用两种实验方案进行PLR(丢包率)为1%、5%和10%的传输验证,实验结果如下表1所示:

Figure 728848DEST_PATH_IMAGE001

从表1可以看出,本发明的按帧级别的动态FEC编码方案的抗误码性能明显优于传统每帧视频同码率的FEC编码方案,在丢包率分别为1%、5%和10%的情况下,对于ParkScene视频序列本发明的方法较于传统FEC编码方案的PSNR值分别提高了0.3414dB、1.1074dB和0.994dB。因此,本发明有效地提高了FEC视频传输系统重构的视频质量。

如图3所示为丢包率为5%采用FEC方案,在接收端收到的解码后的视频帧的某一帧画面,上面为传统方案的接收帧画面,下面为本专利方案的接收帧画面,可以看到,本专利提出的动态FEC方案具有更好的视频重构效果。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据传输方法、系统及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类