摘 要: 传统的视频监控系统在纠错性能方面存在着诸多不足,当信道丢包率较大时进行可靠的视频传输显得较为困难。为此,结合RTP传输的优势,设计了一种使用数字喷泉码进行丢包恢复的视频监控系统。首先研究实用的数字喷泉码——LT码,比较了不同度分布算法下LT码的译码性能。根据视频传输系统的应用需求,选择鲁棒孤子度分布算法,研究短码长条件下影响LT码译码性能的主要因素。
关键词: 视频监控;数字喷泉码;LT码;度分布
0 引言
传统视频监控系统中,视频数据常通过RTP协议来传输,RTP虽能保证较好的数据传输实时性,但不能提供可靠的数据传送机制[1],且无法解决因网络信道恶劣而引起的丢包现象,因此在实际应用中常会出现视频画面卡顿和图像模糊等现象。
为保证数据的可靠传输,视频监控系统常使用前向纠错编码和自动请求重传(ARQ)机制实现差错控制[2]。传统的前向纠错编码通常要预先估计信道质量,再选择码长、码率等编码参数,最终设计出具体的编译码方案,因此不适用于信道具有时变性的移动视频监控系统等应用。ARQ机制则通过反馈信号来确定数据是否正确接收,数据发送端则需要接收大量反馈信号来确认每个数据接收端接收到的全部数据,大量的反馈信号不仅占用大量带宽,也会增加数据传输延时。数字喷泉码[3]与传统的纠错码相比,具有更强的信道适应能力,并且不需建立反馈信道来确认哪些编码符号已被接收。基于这些优势,数字喷泉码在航天测控通信[4]、无线传感等领域中得到了广泛的应用。本文设计了一种基于数字喷泉码的视频监控系统,来提高视频数据传输的可靠性和实时性。
本文首先介绍LT喷泉码的编译码原理,然后研究几种重要的度分布算法的性能,并针对视频监控系统这一实际应用场景,对鲁棒孤子分布(Robust Soliton distribution,RSD)算法进行研究,分析影响其编译码性能的主要因素。
1 数字喷泉码
1998年,LUBY M等人首次提出了数字喷泉(Digital Fountain)的概念,在基于数字喷泉编码的传输系统中,接收方从发送方接收编码符号,当其接收的编码符号数达到一定值时,即可译出所有源符号,不需关心接收到编码符号的序号。2002年,LUBY M提出了适用于网络数据传输的LT编码。
1.1 LT码编码算法
LT码开始编码时,原始数据块S被划分为等长的k个源符号,表示为源符号矩阵,即:
S=[s1,s2,…,sk](1)
度分布ρ(d)是预先设计好的概率分布函数,指任一编码符号在其度等于d时的概率密度,即:
ρ(d)=P{d=i|i∈Z,1≤i≤k}(2)
从k个源符号按均匀分布随机选取其中d个进行异或运算,得到编码符号ej(1≤j≤n),其中:
将生成的n个编码符号表示为编码符号矩阵,即:
E=[e1,e2,…,en](4)
其中,生成某个编码符号ej所选择的源输入符号的位置可用生成向量j表示:
其中,元素gi为一个二进制比特,当gi为1时,表示S中的第i个源符号被选中进行编码;当gi为0时,则表示S中相应位置的源符号未被选中进行编码。将n个编码符号的生成向量?琢j表示为生成矩阵的形式,即:
综上,源符号矩阵S1×k、编码符号矩阵E1×k和生成矩阵Gk×n之间关系为:
E=S·G(7)
1.2 LT码译码算法
LT码的解码器只要从编码器收到任意m个编码符号,就可高概率地将k个源数据符号全部恢复。
LT码的译码算法有置信传播算法与高斯消除算法。高斯消除算法的复杂度很高,为尽可能减少编译码所带来的时间开销,提高数据传输的实时性,本文仅介绍置信传播算法。
置信传播译码过程如下:
(1)从接收到的所有编码符号中查找度为1的编码符号。如果存在,则将编码符号拷贝为源符号;反之,需接收更多的编码符号。
(2)利用已被译出的源符号,将此源符号与和它相连的编码符号进行异或运算,得到新的编码符号来代替原编码符号,并令这些参与运算的编码符号度数减1。
(3)不断重复上述两个步骤,直到所有源符号均被译出。
1.3 度分布算法
度分布算法与编码复杂度直接相关,也决定了LT码的译码成功率。
以下介绍均匀分布、二项分布、理想孤子度分布(Ideal Soliton distribution,ISD)、鲁棒孤子度分布等几种典型的度分布,它们的定义分别如下:
(1)均匀分布
为成功译码,LT码在每次译码循环时都要求有度为1的编码符号,并且为了降低编译码的复杂度,LUBY M给出了如式(10)所示的理想孤子分布函数。然而理想孤子分布在实际应用中性能很不稳定,极易出现经过某次迭代后缺失度1编码符号的现象,导致译码失败。为此,LUBY M构造了式(11)所示的鲁棒孤子分布。
(4)鲁棒孤子分布
其中,,c为“一个适当的参数”,δ为解码器接收到一定数目编码符号时,可以接受的译码失败概率的上限。
设ρ(d)为定义(3)中的ISD分布,则RSD分布表示如下:
其中,Z为RSD分布的归一化因子:
2 喷泉码视频监控系统设计
2.1 视频监控系统模型
视频监控系统的架构如图1所示,系统包括视频采集终端、流媒体服务器、客户端三大部分。当客户端向一个或多个视频采集终端发起视频请求时,流媒体服务器就将相应终端的视频数据转发至客户端。本监控系统模型中,视频采集终端和移动客户端都以无线形式接入到服务器,因此数据在无线信道中被传输。无线信道具有高丢包率的特点,当丢包率超过一定阈值时,客户端就会产生视频图像模糊、画面卡顿等现象。因此本文提出将数字喷泉编码技术应用到视频监控系统中,以提高视频传输质量,降低系统整体丢包率。
2.2 系统编译码流程
视频监控系统中对数据进行喷泉码编译码的流程如图2所示。
数据源端将使用H.264协议压缩后的视频流分割为M个k×L比特的数据块。每个数据块作为独立的编译码单元,又被分割成k个大小为L比特的源符号。喷泉码编码器对某一数据块中的k个源符号进行编码,生成n个编码符号,用RTP协议将其传输到流媒体服务器。流媒体服务器将接收到的编码符号进行解码,以恢复因网络质量而丢失的编码符号。流媒体服务器在收到足够的编码符号并成功解码时,就发送反馈信息,告知发送端进入下一个数据块编码符号的发送。
从流媒体服务器到客户端的视频数据编译码过程与上述过程相似。
3 性能分析
首先研究1.3节所述的4种度分布的性能。LT码在短码长条件下,译码冗余度较高,但是译码复杂度很低,译码延时小,适用于实时视频监控领域,因此本文仅以短码长为研究对象。现令源符号长度k=10,RSD分布中c=0.1,δ=0.2(本文所有仿真的重复次数均为1 000)。仿真结果,如图3所示,LT喷泉码中二项分布的译码性能要远低于其余3种度分布的译码性能。ISD分布和RSD分布的译码性能较高且RSD分布的译码性能要优于ISD分布,这是因为RSD分布函数在度数d=k/R时出现了一个峰值,保证了迭代译码过程中待译码编码符号集中度1节点的存在,从而提高了译码成功率。
基于RSD分布性能要优于其余几种度分布,所以选取RSD分布作为实时视频监控系统的度分布算法,现对影响其编译码性能的主要因素进行研究与分析。在RSD分布中,有c和δ两个非常重要的参数。
参数c的取值范围为:
现令k=100,δ=0.01,则0.011 0≤c≤0.542 9,将仿真结果分成图4和图5两组。从图4可知,当c≤0.02时,在特定译码冗余条件下,LT码译码成功率与c呈正相关的关系,且当冗余编码符号数低于100时即可获取90%以上的译码成功率。从图5可知,当c≥0.02时,LT码译码成功率与c呈负相关的关系。这说明译码成功率与c的关系在c=0.02附近出现拐点,所以在源符号长度k=100,失败概率δ=0.01的条件下,0.02可近似作为RSD分布中c的最优参数。
现研究参数δ对LT码译码成功率的影响。参数δ表示在接收到K个编码符号的情况下可容忍的最大译码失败概率。K表示如下:
在源符号长度k=100,c=0.02条件下,仿真结果如图6所示。结果显示,参数δ取值的改变并未对LT码译码成功率造成太大影响,这是因为它的改变对编码符号度数为1的概率影响不大。
4 结论
本文通过分析视频监控领域传统数据传输方式存在的不足,设计了一种基于数字喷泉码的视频监控系统,并且给出了具体编译码流程。同时分析了多种典型度分布算法在LT编码中的译码性能,选择了性能较好的RSD分布作为系统中LT编码的度分布算法,研究了影响RSD分布编译码性能的主要因素。考虑到视频监控系统在实际应用中对数据实时性的要求,仿真实验中给出了短码长条件下最优的RSD度分布算法参数。本文对数字喷泉码在视频监控系统中的实际应用有一定的指导意义。
参考文献
[1] 谢红辉.基于网络的视频通信系统的设计[J].通信技术,2009,42(7):131.
[2] 应挺.带反馈的数字喷泉码技术研究[D].杭州:浙江大学,2014.
[3] MACKAY D J C.Fountain codes[J]. Proceeding of IEEE Communication,2005,152(6):1062-1068.
[4] 缪鹏飞,周帅,姜洪伟,等.基于航天测控通信系统LT码的应用研究[J].上海航天,2014,31(02):47-51.