摘 要: 傳統(tǒng)的視頻監(jiān)控系統(tǒng)在糾錯(cuò)性能方面存在著諸多不足,當(dāng)信道丟包率較大時(shí)進(jìn)行可靠的視頻傳輸顯得較為困難。為此,結(jié)合RTP傳輸?shù)膬?yōu)勢,設(shè)計(jì)了一種使用數(shù)字噴泉碼進(jìn)行丟包恢復(fù)的視頻監(jiān)控系統(tǒng)。首先研究實(shí)用的數(shù)字噴泉碼——LT碼,比較了不同度分布算法下LT碼的譯碼性能。根據(jù)視頻傳輸系統(tǒng)的應(yīng)用需求,選擇魯棒孤子度分布算法,研究短碼長條件下影響LT碼譯碼性能的主要因素。
關(guān)鍵詞: 視頻監(jiān)控;數(shù)字噴泉碼;LT碼;度分布
0 引言
傳統(tǒng)視頻監(jiān)控系統(tǒng)中,視頻數(shù)據(jù)常通過RTP協(xié)議來傳輸,RTP雖能保證較好的數(shù)據(jù)傳輸實(shí)時(shí)性,但不能提供可靠的數(shù)據(jù)傳送機(jī)制[1],且無法解決因網(wǎng)絡(luò)信道惡劣而引起的丟包現(xiàn)象,因此在實(shí)際應(yīng)用中常會(huì)出現(xiàn)視頻畫面卡頓和圖像模糊等現(xiàn)象。
為保證數(shù)據(jù)的可靠傳輸,視頻監(jiān)控系統(tǒng)常使用前向糾錯(cuò)編碼和自動(dòng)請求重傳(ARQ)機(jī)制實(shí)現(xiàn)差錯(cuò)控制[2]。傳統(tǒng)的前向糾錯(cuò)編碼通常要預(yù)先估計(jì)信道質(zhì)量,再選擇碼長、碼率等編碼參數(shù),最終設(shè)計(jì)出具體的編譯碼方案,因此不適用于信道具有時(shí)變性的移動(dòng)視頻監(jiān)控系統(tǒng)等應(yīng)用。ARQ機(jī)制則通過反饋信號來確定數(shù)據(jù)是否正確接收,數(shù)據(jù)發(fā)送端則需要接收大量反饋信號來確認(rèn)每個(gè)數(shù)據(jù)接收端接收到的全部數(shù)據(jù),大量的反饋信號不僅占用大量帶寬,也會(huì)增加數(shù)據(jù)傳輸延時(shí)。數(shù)字噴泉碼[3]與傳統(tǒng)的糾錯(cuò)碼相比,具有更強(qiáng)的信道適應(yīng)能力,并且不需建立反饋信道來確認(rèn)哪些編碼符號已被接收?;谶@些優(yōu)勢,數(shù)字噴泉碼在航天測控通信[4]、無線傳感等領(lǐng)域中得到了廣泛的應(yīng)用。本文設(shè)計(jì)了一種基于數(shù)字噴泉碼的視頻監(jiān)控系統(tǒng),來提高視頻數(shù)據(jù)傳輸?shù)目煽啃院蛯?shí)時(shí)性。
本文首先介紹LT噴泉碼的編譯碼原理,然后研究幾種重要的度分布算法的性能,并針對視頻監(jiān)控系統(tǒng)這一實(shí)際應(yīng)用場景,對魯棒孤子分布(Robust Soliton distribution,RSD)算法進(jìn)行研究,分析影響其編譯碼性能的主要因素。
1 數(shù)字噴泉碼
1998年,LUBY M等人首次提出了數(shù)字噴泉(Digital Fountain)的概念,在基于數(shù)字噴泉編碼的傳輸系統(tǒng)中,接收方從發(fā)送方接收編碼符號,當(dāng)其接收的編碼符號數(shù)達(dá)到一定值時(shí),即可譯出所有源符號,不需關(guān)心接收到編碼符號的序號。2002年,LUBY M提出了適用于網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)腖T編碼。
1.1 LT碼編碼算法
LT碼開始編碼時(shí),原始數(shù)據(jù)塊S被劃分為等長的k個(gè)源符號,表示為源符號矩陣,即:
S=[s1,s2,…,sk](1)
度分布ρ(d)是預(yù)先設(shè)計(jì)好的概率分布函數(shù),指任一編碼符號在其度等于d時(shí)的概率密度,即:
ρ(d)=P{d=i|i∈Z,1≤i≤k}(2)
從k個(gè)源符號按均勻分布隨機(jī)選取其中d個(gè)進(jìn)行異或運(yùn)算,得到編碼符號ej(1≤j≤n),其中:
將生成的n個(gè)編碼符號表示為編碼符號矩陣,即:
E=[e1,e2,…,en](4)
其中,生成某個(gè)編碼符號ej所選擇的源輸入符號的位置可用生成向量j表示:
其中,元素gi為一個(gè)二進(jìn)制比特,當(dāng)gi為1時(shí),表示S中的第i個(gè)源符號被選中進(jìn)行編碼;當(dāng)gi為0時(shí),則表示S中相應(yīng)位置的源符號未被選中進(jìn)行編碼。將n個(gè)編碼符號的生成向量?琢j表示為生成矩陣的形式,即:
綜上,源符號矩陣S1×k、編碼符號矩陣E1×k和生成矩陣Gk×n之間關(guān)系為:
E=S·G(7)
1.2 LT碼譯碼算法
LT碼的解碼器只要從編碼器收到任意m個(gè)編碼符號,就可高概率地將k個(gè)源數(shù)據(jù)符號全部恢復(fù)。
LT碼的譯碼算法有置信傳播算法與高斯消除算法。高斯消除算法的復(fù)雜度很高,為盡可能減少編譯碼所帶來的時(shí)間開銷,提高數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,本文僅介紹置信傳播算法。
置信傳播譯碼過程如下:
?。?)從接收到的所有編碼符號中查找度為1的編碼符號。如果存在,則將編碼符號拷貝為源符號;反之,需接收更多的編碼符號。
(2)利用已被譯出的源符號,將此源符號與和它相連的編碼符號進(jìn)行異或運(yùn)算,得到新的編碼符號來代替原編碼符號,并令這些參與運(yùn)算的編碼符號度數(shù)減1。
?。?)不斷重復(fù)上述兩個(gè)步驟,直到所有源符號均被譯出。
1.3 度分布算法
度分布算法與編碼復(fù)雜度直接相關(guān),也決定了LT碼的譯碼成功率。
以下介紹均勻分布、二項(xiàng)分布、理想孤子度分布(Ideal Soliton distribution,ISD)、魯棒孤子度分布等幾種典型的度分布,它們的定義分別如下:
(1)均勻分布
為成功譯碼,LT碼在每次譯碼循環(huán)時(shí)都要求有度為1的編碼符號,并且為了降低編譯碼的復(fù)雜度,LUBY M給出了如式(10)所示的理想孤子分布函數(shù)。然而理想孤子分布在實(shí)際應(yīng)用中性能很不穩(wěn)定,極易出現(xiàn)經(jīng)過某次迭代后缺失度1編碼符號的現(xiàn)象,導(dǎo)致譯碼失敗。為此,LUBY M構(gòu)造了式(11)所示的魯棒孤子分布。
?。?)魯棒孤子分布
其中,,c為“一個(gè)適當(dāng)?shù)膮?shù)”,δ為解碼器接收到一定數(shù)目編碼符號時(shí),可以接受的譯碼失敗概率的上限。
設(shè)ρ(d)為定義(3)中的ISD分布,則RSD分布表示如下:
其中,Z為RSD分布的歸一化因子:
2 噴泉碼視頻監(jiān)控系統(tǒng)設(shè)計(jì)
2.1 視頻監(jiān)控系統(tǒng)模型
視頻監(jiān)控系統(tǒng)的架構(gòu)如圖1所示,系統(tǒng)包括視頻采集終端、流媒體服務(wù)器、客戶端三大部分。當(dāng)客戶端向一個(gè)或多個(gè)視頻采集終端發(fā)起視頻請求時(shí),流媒體服務(wù)器就將相應(yīng)終端的視頻數(shù)據(jù)轉(zhuǎn)發(fā)至客戶端。本監(jiān)控系統(tǒng)模型中,視頻采集終端和移動(dòng)客戶端都以無線形式接入到服務(wù)器,因此數(shù)據(jù)在無線信道中被傳輸。無線信道具有高丟包率的特點(diǎn),當(dāng)丟包率超過一定閾值時(shí),客戶端就會(huì)產(chǎn)生視頻圖像模糊、畫面卡頓等現(xiàn)象。因此本文提出將數(shù)字噴泉編碼技術(shù)應(yīng)用到視頻監(jiān)控系統(tǒng)中,以提高視頻傳輸質(zhì)量,降低系統(tǒng)整體丟包率。
2.2 系統(tǒng)編譯碼流程
視頻監(jiān)控系統(tǒng)中對數(shù)據(jù)進(jìn)行噴泉碼編譯碼的流程如圖2所示。
數(shù)據(jù)源端將使用H.264協(xié)議壓縮后的視頻流分割為M個(gè)k×L比特的數(shù)據(jù)塊。每個(gè)數(shù)據(jù)塊作為獨(dú)立的編譯碼單元,又被分割成k個(gè)大小為L比特的源符號。噴泉碼編碼器對某一數(shù)據(jù)塊中的k個(gè)源符號進(jìn)行編碼,生成n個(gè)編碼符號,用RTP協(xié)議將其傳輸?shù)搅髅襟w服務(wù)器。流媒體服務(wù)器將接收到的編碼符號進(jìn)行解碼,以恢復(fù)因網(wǎng)絡(luò)質(zhì)量而丟失的編碼符號。流媒體服務(wù)器在收到足夠的編碼符號并成功解碼時(shí),就發(fā)送反饋信息,告知發(fā)送端進(jìn)入下一個(gè)數(shù)據(jù)塊編碼符號的發(fā)送。
從流媒體服務(wù)器到客戶端的視頻數(shù)據(jù)編譯碼過程與上述過程相似。
3 性能分析
首先研究1.3節(jié)所述的4種度分布的性能。LT碼在短碼長條件下,譯碼冗余度較高,但是譯碼復(fù)雜度很低,譯碼延時(shí)小,適用于實(shí)時(shí)視頻監(jiān)控領(lǐng)域,因此本文僅以短碼長為研究對象。現(xiàn)令源符號長度k=10,RSD分布中c=0.1,δ=0.2(本文所有仿真的重復(fù)次數(shù)均為1 000)。仿真結(jié)果,如圖3所示,LT噴泉碼中二項(xiàng)分布的譯碼性能要遠(yuǎn)低于其余3種度分布的譯碼性能。ISD分布和RSD分布的譯碼性能較高且RSD分布的譯碼性能要優(yōu)于ISD分布,這是因?yàn)镽SD分布函數(shù)在度數(shù)d=k/R時(shí)出現(xiàn)了一個(gè)峰值,保證了迭代譯碼過程中待譯碼編碼符號集中度1節(jié)點(diǎn)的存在,從而提高了譯碼成功率。
基于RSD分布性能要優(yōu)于其余幾種度分布,所以選取RSD分布作為實(shí)時(shí)視頻監(jiān)控系統(tǒng)的度分布算法,現(xiàn)對影響其編譯碼性能的主要因素進(jìn)行研究與分析。在RSD分布中,有c和δ兩個(gè)非常重要的參數(shù)。
參數(shù)c的取值范圍為:
現(xiàn)令k=100,δ=0.01,則0.011 0≤c≤0.542 9,將仿真結(jié)果分成圖4和圖5兩組。從圖4可知,當(dāng)c≤0.02時(shí),在特定譯碼冗余條件下,LT碼譯碼成功率與c呈正相關(guān)的關(guān)系,且當(dāng)冗余編碼符號數(shù)低于100時(shí)即可獲取90%以上的譯碼成功率。從圖5可知,當(dāng)c≥0.02時(shí),LT碼譯碼成功率與c呈負(fù)相關(guān)的關(guān)系。這說明譯碼成功率與c的關(guān)系在c=0.02附近出現(xiàn)拐點(diǎn),所以在源符號長度k=100,失敗概率δ=0.01的條件下,0.02可近似作為RSD分布中c的最優(yōu)參數(shù)。
現(xiàn)研究參數(shù)δ對LT碼譯碼成功率的影響。參數(shù)δ表示在接收到K個(gè)編碼符號的情況下可容忍的最大譯碼失敗概率。K表示如下:
在源符號長度k=100,c=0.02條件下,仿真結(jié)果如圖6所示。結(jié)果顯示,參數(shù)δ取值的改變并未對LT碼譯碼成功率造成太大影響,這是因?yàn)樗母淖儗幋a符號度數(shù)為1的概率影響不大。
4 結(jié)論
本文通過分析視頻監(jiān)控領(lǐng)域傳統(tǒng)數(shù)據(jù)傳輸方式存在的不足,設(shè)計(jì)了一種基于數(shù)字噴泉碼的視頻監(jiān)控系統(tǒng),并且給出了具體編譯碼流程。同時(shí)分析了多種典型度分布算法在LT編碼中的譯碼性能,選擇了性能較好的RSD分布作為系統(tǒng)中LT編碼的度分布算法,研究了影響RSD分布編譯碼性能的主要因素。考慮到視頻監(jiān)控系統(tǒng)在實(shí)際應(yīng)用中對數(shù)據(jù)實(shí)時(shí)性的要求,仿真實(shí)驗(yàn)中給出了短碼長條件下最優(yōu)的RSD度分布算法參數(shù)。本文對數(shù)字噴泉碼在視頻監(jiān)控系統(tǒng)中的實(shí)際應(yīng)用有一定的指導(dǎo)意義。
參考文獻(xiàn)
[1] 謝紅輝.基于網(wǎng)絡(luò)的視頻通信系統(tǒng)的設(shè)計(jì)[J].通信技術(shù),2009,42(7):131.
[2] 應(yīng)挺.帶反饋的數(shù)字噴泉碼技術(shù)研究[D].杭州:浙江大學(xué),2014.
[3] MACKAY D J C.Fountain codes[J]. Proceeding of IEEE Communication,2005,152(6):1062-1068.
[4] 繆鵬飛,周帥,姜洪偉,等.基于航天測控通信系統(tǒng)LT碼的應(yīng)用研究[J].上海航天,2014,31(02):47-51.