摘 要: 傳統的視頻監控系統在糾錯性能方面存在著諸多不足,當信道丟包率較大時進行可靠的視頻傳輸顯得較為困難。為此,結合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)、魯棒孤子度分布等幾種典型的度分布,它們的定義分別如下:
?。?)均勻分布
為成功譯碼,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碼在短碼長條件下,譯碼冗余度較高,但是譯碼復雜度很低,譯碼延時小,適用于實時視頻監控領域,因此本文僅以短碼長為研究對象?,F令源符號長度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.