曹 瑩
(廣州海格通信集團股份有限公司,廣東 廣州 510663)
聯(lián)合編隊(包括抗洪搶險編隊、消防救援編隊、應急救援空中編隊、漁政巡航編隊、亞丁灣護航編隊等)因具備靈活性、協(xié)同性、臨時組建等特點,是目前面對突發(fā)事件和機動應急處置時的主要任務協(xié)同方式。如果應急事故或災難處理時動中通通信車因自然地理條件的限制無法靠近事故現(xiàn)場,則由單兵編隊完成現(xiàn)場動態(tài)圖像的采集,再將圖像傳給動中通通信車[1]。編隊間的視頻會議協(xié)同基本采用機動無線通信方式開展,主要包括衛(wèi)星通信、mesh自組網(wǎng)通信、寬帶超短波通信、4G/5G通信等無線通信手段。編隊視頻會議系統(tǒng)組網(wǎng)示意如圖1所示,基于典型的星樹結合式網(wǎng)絡架構,保證了編隊成員、編隊與上級之間的聯(lián)系更加緊密,協(xié)同工作的效率也得到了很大程度上的提高[2]。
圖1 編隊視頻會議系統(tǒng)組網(wǎng)示意
無線通信環(huán)境并不能保證用戶每時每刻獲得如同有線網(wǎng)絡那樣的環(huán)境,編隊視頻會議通信因各編隊成員的通信位置、通信環(huán)境、通信距離以及運行速度等都會隨著執(zhí)行任務的變化而動態(tài)變化[3]。網(wǎng)絡環(huán)境的復雜性、異域性、動態(tài)性與不可控性對視頻信息在網(wǎng)絡中的傳輸造成不可低估的影響,普遍存在數(shù)據(jù)丟包、傳輸延時、品質降低等隱患,嚴重影響了機動環(huán)境下的視頻會議通信質量,主要因素包括以下幾點。
視頻流的正常傳輸需要足夠的帶寬來保證,當傳輸允許帶寬低于視頻的碼流速率時,傳輸?shù)囊曨l圖像質量將無法保證。無線通信網(wǎng)絡上承載有多種視頻、語音和數(shù)據(jù)業(yè)務,具體包括指揮調度、即時通信、業(yè)務數(shù)據(jù)、文件傳輸?shù)榷喾N應用模式,不同應用模式的數(shù)據(jù)流量和突發(fā)性也有差別,導致視頻會議業(yè)務的可占用帶寬不平穩(wěn)[4]。
一般時延由多種因素影響,包括處理時延、傳輸時延以及分發(fā)時延等。音視頻會議設備進行編解碼以及同步處理產生的時延相對固定,而通信網(wǎng)絡時延最不可控,主要取決于鏈路情況、環(huán)境情況以及網(wǎng)絡拓撲等因素,對承載的業(yè)務延時影響較大[5]。媒體業(yè)務對通信的實時性要求極高,一般認為如果時延超過300 ms,那么通話雙方交互的過程中便能明顯感覺到停頓,影響互動體驗。
由于接收緩存的作用,幅度不大的抖動對視頻的播放影響不大,但如果經(jīng)過線路傳輸后碼流抖動大,并超過設備的承受范圍時,就會引起視頻播放不穩(wěn)定,甚至解碼器進行丟棄導致丟包,從而影響音視頻的質量。
在無線網(wǎng)絡中,由于網(wǎng)絡擁堵而導致網(wǎng)絡包丟失將會影響視頻通信質量。例如,部分視頻出現(xiàn)馬賽克,圖像產生花屏或不連續(xù)、聲音斷續(xù)不清晰等,嚴重時甚至會導致會議中斷。
對高實時性要求的視頻會議來說,無線網(wǎng)絡的不穩(wěn)定會極大地影響通信質量和視頻會議效果。根據(jù)網(wǎng)絡實際情況采取處理的措施,在不穩(wěn)定網(wǎng)絡條件下實現(xiàn)多方視頻會議的質量保障。
視頻的編碼是按照“組”來進行,每一個組叫作GOP,如圖2所示。GOP與GOP之間沒有聯(lián)系,編碼關系只在GOP之間產生。每一個GOP都是由關鍵幀(也叫作I幀)開始的,I幀是一幅完整的畫面。GOP中間的幀都不完整,需要由I幀、前面幀以及后面幀等一起運算得到[6]。
圖2 典型的GOP結構圖
原始視頻經(jīng)過視頻壓縮編碼后如圖3所示,I幀數(shù)據(jù)量較大,占用瞬時網(wǎng)絡帶寬較大。針對I幀在GOP內的重要作用,在網(wǎng)絡傳輸時需對I幀的傳輸進行管理控制,設計時在編碼和網(wǎng)絡傳輸會對I幀進行專門的保護。
圖3 未平滑處理的原始視頻數(shù)據(jù)占用情況
關鍵幀平滑處理流程如圖4所示。
圖4 關鍵幀平滑處理流程
以往有多種方法可以改善碼流的平滑,如最小化碼率變化次數(shù)、最小化發(fā)送碼流變化率、離線碼率平滑的自適應分段以及離線平滑算法等[7]。文獻[8]中也提出了一種采用SP幀的平滑碼流方法,該方法使用SP幀代替I幀,可以在不引入延時的情況下對碼流起到很好的平滑效果。
碼流平滑的基本原理是在碼率較高的情況下進行緩存,碼率較低時發(fā)送之前的緩存,從而起到碼流平滑的效果。如圖4所示,編碼后的視頻流在網(wǎng)絡發(fā)送前先進入網(wǎng)絡傳輸緩存器,CPU對編碼后的視頻流進行I幀識別,系統(tǒng)對I幀進行打包的平滑處理,平滑處理后的視頻數(shù)據(jù)如圖5所示。并對I幀進行包內容冗余校驗,最后對平滑后的視頻流和冗余校驗碼統(tǒng)一打包傳輸。
圖5 平滑處理后的視頻數(shù)據(jù)占用情況
視頻流傳輸中碼率控制的目標是在保證壓縮視頻質量的前提下,控制編碼器輸出的碼率以適應信道帶寬的變化,從而在壓縮率與編碼質量這二者間達到一個最佳平衡[3]。對于視頻內容變化的場景,圖像質量穩(wěn)定,編碼碼率會波動;編碼碼率穩(wěn)定,圖像質量會波動。因此如果不進行碼率控制,視頻的碼率會變化劇烈,不可控制,影響視頻的傳輸。
圖6是對一段40 s的視頻采用固定量化參數(shù)(也就是沒有碼率控制)編碼后的瞬時碼率分布??梢钥吹?,碼率在5 000 kb/s上下波動很大,這不利于視頻的傳輸。通常不同的碼率控制方法對應于不同的場景,根據(jù)實際應用采取最為合適的碼率控制方法,以使產生的比特流符合各種應用的需求。
圖6 無碼率控制的視頻碼率情況
典型的編碼流程包括了圖像的編碼、碼流的輸出等過程。如圖7所示,碼率控制器按照一定的碼率控制機制對編碼器的關鍵參數(shù)進行調整,控制編碼器輸出碼率的高低,從而達到輸出碼率與傳輸信道允許碼率相匹配的目的。
圖7 碼率控制的基本原理
碼率控制屬于受限條件下的優(yōu)化問題,即在碼率R和編碼緩沖區(qū)B的約束下選擇合適的量化參數(shù)。通過構建拉格朗日代價函數(shù)J,可以根據(jù)率失真模型尋找碼率和失真的最優(yōu)平衡點,相關公式為:
式中:λ是拉格朗日系數(shù),根據(jù)編碼情況進行自適應調整;D是最小化編碼失真。
圖8是與圖6相同的一段40 s的視頻,采用了碼率控制,可以看到它的碼率比上面小很多,碼率波動比圖6小,實現(xiàn)了低帶寬下視頻流的連續(xù)傳播。
圖8 定碼率控制的視頻碼率情況
數(shù)據(jù)丟包重傳是通過重傳數(shù)據(jù)包來執(zhí)行糾錯的功能算法。常規(guī)的丟包重傳機制有多種實現(xiàn)方法,其中典型的有以下3種。一是停止等待重傳。數(shù)據(jù)發(fā)送后,發(fā)送端需要等待接收端回復確認,發(fā)送端收到接收端確認前處于等待狀態(tài),收到確認后再進行后續(xù)數(shù)據(jù)的發(fā)送。二是退回N步重傳。發(fā)送端在沒有收到接收端重傳請求的情況下,持續(xù)不斷地進行數(shù)據(jù)發(fā)送,直到收到接收端對于某個數(shù)據(jù)包的重傳請求后,發(fā)送端重傳相應的數(shù)據(jù)包,并且該重傳數(shù)據(jù)包后面的數(shù)據(jù)包都要重新再傳送。三是選擇性重傳。發(fā)送端持續(xù)對發(fā)送數(shù)據(jù)進行傳送,不需要等待接收端的確認信息,如果接收到接收方的重傳請求,只對需重傳的數(shù)據(jù)包進行重傳,其他數(shù)據(jù)包不用重傳。
前兩種重傳機制效率相對低下,會影響到系統(tǒng)的使用效果,第三種重傳機制效率會比較高,可以有效地實現(xiàn)在誤碼和丟包網(wǎng)絡環(huán)境下良好的視頻通信傳輸。
選擇性重傳在實際應用中需要考慮實時性,系統(tǒng)需要評估重傳數(shù)據(jù)包到達的時間(一般用RTT倍數(shù)表示),如果預期到達時間在用戶容忍效果內,則可以進行重傳,但如果超過系統(tǒng)用戶的容忍時間,則就要放棄重傳。
圖9展示了選擇性重傳機制的實時策略:(1)發(fā)送端按照約定的通信規(guī)則發(fā)送數(shù)據(jù)包1、數(shù)據(jù)包2以及數(shù)據(jù)包3;(2)如果數(shù)據(jù)包2丟失,則系統(tǒng)根據(jù)可冗余時間判斷可以接收兩次重傳;(3)接收端通過約定信道請求重傳;(4)發(fā)送端進行重傳后,又收到接收端數(shù)據(jù)包2重傳請求;(5)接收端收到數(shù)據(jù)包2重傳請求;(6)發(fā)送端重傳數(shù)據(jù)包2,接收端接收成功;(7)接收端把數(shù)據(jù)包1、數(shù)據(jù)包2以及數(shù)據(jù)包3排序,傳送給下個流程;(8)傳輸中,如果超過兩次重傳不成功,系統(tǒng)就停止重傳。
圖9 選擇性重傳機制的實時策略
選擇性重傳下的丟包重傳,系統(tǒng)只用傳輸重要的數(shù)據(jù)包,并且會兼顧傳輸準確性和傳輸時效性,不會增加太多的系統(tǒng)和網(wǎng)絡壓力,也不會增加太多的傳輸時延,能夠有效實現(xiàn)在一定誤碼和丟包環(huán)境下的媒體通信效果。
為了適應丟包和誤碼嚴重的無線網(wǎng)絡,需具有良好的抗丟包性能和抗誤碼性能[9]。前向糾錯是解決丟包重傳問題的有效方法,其核心是通過冗余數(shù)據(jù)段降低重傳的概率[10]。
碼流差錯控制是在音視頻碼流的基礎上,通過一定的算法模型,適度增加冗余糾錯信息,通信各方統(tǒng)一按照相應的算法進行冗余編碼和解碼糾錯,達成傳輸過程中誤碼恢復、丟包恢復的效果,實現(xiàn)相對良好的音視頻碼流傳輸效果。碼流差錯控制的主要算法體現(xiàn)在以下幾方面。
(1)原始數(shù)據(jù)按照一定的數(shù)據(jù)算法進行冗余校驗,并把校驗信息生成少量的數(shù)據(jù)包,原始數(shù)據(jù)結合冗余校驗信息一起傳輸,接收端收到相應的數(shù)據(jù)包后,通過冗余校驗數(shù)據(jù)包可以恢復原始數(shù)據(jù)誤碼或丟失的數(shù)據(jù)包。
(2)原始音視頻信息前后數(shù)據(jù)有一定的一致性和不同性,軟件通過一定的耦合算法對前后數(shù)據(jù)個性化的特征值進行特別標注記憶。接收方收到數(shù)據(jù)包后,根據(jù)相應的前后關聯(lián)信息和個性化特征值,對相應的誤碼和丟失的數(shù)據(jù)進行糾錯恢復。
下面通過一個示例展示碼流差錯控制的過程。如圖10所示,系統(tǒng)通過RS(12,10)結構的數(shù)據(jù)傳輸格式進行冗余碼流差錯控制,即每10個數(shù)據(jù)包,系統(tǒng)通過算法產生兩個冗余數(shù)據(jù)包。
圖10 丟包恢復
對方接收到12個數(shù)據(jù)包后,由于網(wǎng)絡的原因,出現(xiàn)第一串數(shù)據(jù)包里面0、5、8數(shù)據(jù)包有誤碼或丟包,第二串數(shù)據(jù)中13、18數(shù)據(jù)包有誤碼或丟包。接收方按照一定的碼流差錯控制算法,結合前面10個數(shù)據(jù)包的信息,對11和12的校驗冗余數(shù)據(jù)包進行綜合校驗算法,可以有效恢復相應誤碼或丟包的數(shù)據(jù)。
采用視頻服務質量保障與無視頻保障處理的試驗結果如表1所示。測試驗證表明,采用視頻服務質量保障處理后,在5%~30%的丟包率下均可明顯提升視頻數(shù)據(jù)傳輸?shù)目煽啃?,使原本出現(xiàn)馬賽克、會議中斷或畫面卡死的視頻信息也可正常應用。
表1 無視頻保障處理與視頻服務質量保障對比
采用上述關鍵幀平滑處理、丟包選擇性重傳、前向糾錯等綜合視頻服務質量保障技術,在網(wǎng)絡丟包率達30%的環(huán)境下仍可保障視頻流暢;采用智能碼率控制技術,可動態(tài)調整視信碼流帶寬,保證良好的音視頻體驗。視頻服務質量保障等方法適合于機動編隊環(huán)境下的視頻會議應用,對提升低帶寬和高丟包環(huán)境下的視頻會議通信質量具有實際意義。