首页 理论教育 SVC数据封装方案在丢包环境下的应用

SVC数据封装方案在丢包环境下的应用

时间:2026-01-23 理论教育 小熊猫 版权反馈
【摘要】:一种被广泛使用的NALU封装方案由文献[3]给出。Packet 1 至Packet n 表示n 个RTP协议的数据包。从图4-2 可知,该方案可有效避免在网络服务质量较差的网络传输环境下对较大的数据包频繁地进行分割与重组,有利于提高接收端SVC的解码速度。SVC中的各层对应的视频数据由于发生网络丢包事件,导致在接收端无法正确解码的概率为其中,p为数据包发生丢包事件的概率。图4-4 SVC的数据封装方案

考虑到视频传输过程中的实时性要求,本书在FEC中采用了RS 码对SVC编码器输出的NALU进行纠错。一种被广泛使用的NALU封装方案由文献[3]给出。针对其时间复杂度较高、易导致数据包乱序和重组的不足,对该方案进行了改进,其原理如图4-4 所示。

在图4-4 所显示的NALU封装方案中,每一行由SVC的第i个时间层中第j个质量层所对应的NALU与对应的FEC数据组成,分别用图示图示表示,其中i=0,1,…,M,j=0,1,…,N。图示为编码后NALU中的视频数据,图示为FEC数据,其大小由所在的NALU对SVC解码的重要性来决定。Packet 1 至Packet n 表示n 个RTP协议的数据包。各NALU所对应的数据图示封装至B(i,j,s)个RTP的数据包中,而FEC数据会封装至B(i,j,c)个RTP数据包中。为避免封装过程过于复杂,在SVC时间可伸缩采用层级B帧编码结构,质量可伸缩采用中等粒度质量可伸缩(MGS)编码。考虑到精细粒度质量伸缩(FGS)的编码复杂度过高,且SVC标准也并没有包含相应的FGS 规范,本书在质量可伸缩编码中暂不考虑FGS,相关的编码技术可参考文献[4]。

首先以图像组(GOP)为单位,解析NALU的扩展数据头,当字段temporal_id的值为0 时,将该NALU按字段quality_id 值为关键字由小到大有序排列,然后对temporal_id 为1 中的质量层进行排列。即从时间基本层开始,依次将此GOP中的各帧时间层中的质量层所对应的NALU按升序排列后再采用传输协议进行封装。类似地,该NALU封装方案可方便地推广到多个空间层,故暂不考虑SVC存在多个空间层的情况。从图4-2 可知,该方案可有效避免在网络服务质量较差的网络传输环境下对较大的数据包频繁地进行分割与重组,有利于提高接收端SVC的解码速度。

从FEC的角度进行分析,RS 码的基本格式可表示为RS(n,k),其中k=B(i,j,s)。SVC中的各层对应的视频数据由于发生网络丢包事件,导致在接收端无法正确解码的概率为(https://www.xing528.com)

图示

其中,p为数据包发生丢包事件的概率。γ=n-k=B(i,j,c),表示按RS 码的定义,在正确恢复丢失的数据包的前提下,允许被丢失数据包的最大数量。

图示

图4-4 SVC的数据封装方案

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

我要反馈