遠程傳輸平臺研究論文

時間:2022-06-23 02:45:00

導語:遠程傳輸平臺研究論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

遠程傳輸平臺研究論文

摘要:基于大量的實際研究工作,論述了高保真實時準動態圖像采集壓縮和遠程傳輸平臺的設計思想、總體結構、關鍵技術和優化策略。著重對視頻采集技術、壓縮技術、圖像實時傳輸技術、同步技術和自適應技術作了具體闡述。在相關技術領域有重要的學術價值和實際意義。

關鍵詞:高保真自適應幀間壓縮雙向調節

在Internet飛速發展和廣泛普及的今天,信息傳輸從兩方面加強力度:一是多媒體化;二是實時化。在此基礎上,高保真準動態圖像采集、壓縮和遠程傳輸技術成為許多先進國家計算機領域的重要研究課題。在軍事上,戰場信息已經不只是文字類型,而需要為決策者提供高質量的動態實時圖像信息,以便及時準確地了解戰場真實情況;另外,對國外新式戰斗機、導彈等先進武器和裝備,也不只是從文字上了解散其功能、從靜態圖片上了解其形狀,而是要解其在實戰中的具體功能、實際威力以及真實效果,使決策者和科技人員獲得動態和感性的認識,有身臨其境之感。在工業上,需要對一些多變的、有毒的、人類不宜久留的場合進行監測。在醫療上,則需要一些高級專家對異地的病人進行診斷和治療……這些都是基于高保真實時準動態圖像采集壓縮和遠程傳輸技術的綜合實現。本文結合課題組長期的研究闡述其主要技術及其優化策略。

1系統設計思想

本系統的設計目標是基于Internet實現遠程部點之間的高保真準動態圖像的實時傳輸。整個系統貫徹如下設計思想:發送站點和接收站點都具對圖像質量的控制功能,以適應Internet傳輸率不穩定的情況;對圖像采用多種類型的壓縮技術,以適應不同的圖像分辨率和環境要求;在Internet信道傳輸率較差時,能夠啟動自適應功能。

2系統總體結構

在物理上,本系統分為發送站點和接收站點兩部分。在邏輯上,本系統分為圖像采集、壓縮和傳輸子系統、性能控制子系統。整個系統包含如下六個獨立的功能模塊,如圖1所示。

(1)圖像采集、壓縮和傳輸子系統

·圖像采集模塊,發送站點從攝像機讀原始視頻流,按一定的格式存儲為視頻數據。

·圖像壓縮模塊,發送站點將視頻數據壓縮,為網絡傳輸作準備。

·視頻傳輸模塊,利用RTP和UDP協議將壓縮后的視頻數據發送到遠程站點。

·視頻解壓縮模塊,接收站點將接收到的壓縮數據用解壓縮算法還原成視頻數據。

(2)性能控制子系統

·客戶/服務器同步模塊,使發送站點和遠程接收站點在視頻格式和設置方面保持一致。

·自適應模塊,在信道傳輸率較差時,能自動啟動自適應功能,使系統的視頻傳輸適應復雜的網絡情況。

3系統設計中的關鍵技術和優化策略

3.1視頻采集技術分析和選擇

為了實時視頻采集,需要安裝相應的視頻采集設備。即視頻采集卡和攝像頭等。并需要安裝相應的驅動軟件來支持這些設備的運行。

Windows2000操作系統提供了VFW(VideoforWindowsSDK)。VFW包含了大量與視頻采集有關的編程接口。這些編程接口通過操作系統提供的VFW-to-WDMVoideCaptureMapper調用設備驅動程序中的相關例程,為系統的圖像采集提供了底層接口編程基礎。

本系統用到最主要的編程調用有如下幾個:

CapCreateCaptureWindow,創建一個視頻采集窗口;

CapCriverConnect,連接視頻采集設備驅動程序;

CapSetVideoFormat,設定視頻格式;

CapDlgVideoFormat,設置對話框。

VFW提供了兩種視頻采集模式:Preview(簡稱P模式)和Overlay(簡稱O模式)。筆者在系統設計中通過實驗和測試比較了這兩種模式。

·P模式占用較多的系統資源。在這種模式中,硬件將采集的視頻幀傳送到系統內存中,然后在視頻采集窗口用WindowsGDI函數進行顯示;而O模式下,視頻采集子系統直接通過硬件方法顯示視頻,相對來說節省內存,且速度較快。

·O模式穩定性較好,但也要求電源性能較好。在直流電源性能較好情況下,采用Overlay模式進行視頻采集。

實際運行過程表明,上述分析是正確的。本系統設計中采用了Overlay模式。這一選擇對穩定性起到了較好的優化作用。

3.2視頻壓縮、解壓縮技術的優先和優化

針對視頻應用中可能遇到的各種情況,本系統的壓縮、解壓縮模塊設計采用三種壓縮方案,使用時可以從中選擇一種,以適應不同環境和不同需求。

一是國際通用的高壓縮進比方案H.263,該方案壓縮比高,但圖像質量較差,適用于網絡傳輸性能較差的情況,該方案大體符合現場圖像的處理要求。二是圖像壓縮質量最好、算法最先進的MPEG-4方案,該方案圖像質量好,便壓縮比較低,適用于網絡傳輸性能良好的情況。三是在H.263的基礎上作為較大幅度修改和優化的TH.263方案,該方案在壓縮比與H.263相近的情況下,圖像質量有明顯改善。

TH.263方案是在對H.263深入分析基礎上實施的。通過分析H.263的整個系統程序,得以其設計思想如下:首先將采集到的原始圖像劃分成8×8的宏塊,然后判斷此幀是不是關鍵幀。如果是關鍵幀,則對每個宏塊作DCT(DiscreteCosineTransform)變換,對變換后的視頻數據采集視覺能夠接受的量化比量化,量化后許多高頻分量將變成零,為了最大限度提高壓縮編碼效果,采用Z形掃描技術將其重新組合,然后對組合串做行程編碼,最后對得到的結果進行哈夫曼編碼;如果是非關鍵幀,則對每個宏塊先進行運行矢量的計算,然后與上一幀圖像作差,再象關鍵幀那樣經過DCT變換、量化和行程編碼、哈夫曼編碼得到壓縮的圖像。

圖像解壓縮與壓縮過程正好相反,即先將壓縮的函數數據作行程解碼和哈夫曼解碼,然后進行反量化,并據此進行IDCT變換。如果此幀是關鍵帖,,則直接將這個宏塊重組即得出還原后的圖像;否則,根據運行矢量將各宏塊的數據與上一幀進行組合才得出不定期原后的圖像。由于解壓縮不需要分析圖像和網絡的情況,也不需要考慮壓縮比和壓縮質量,只是簡單地將圖像還原,所以程序比較簡單。

通過分析和測試表明,格式轉換、對關鍵幀和非關鍵幀離散余弦變換DCT、對非關鍵幀的幀間壓縮是最重要最耗時的環節。為此,在設計中對這些環節進行了優化。

具體講,在格式轉換、DCT變換中,一是在采集到的RGB色彩空間圖像到壓縮算法視頻輸入格式CIF變換中,用整型算法和移位相結合的優化轉換函數代替速度較慢的浮點運算;二是在關鍵幀和非關鍵幀的DCT變換中,采用零系數預測策略對DCT變換的輸入數據分類,節省了大量無效運算;三是采用多媒體處理指令集MMX實現DCT變換,大幅度提高了運算速度。

此外,為了實現良好的幀間壓縮,比較了兩種不同的壓縮方式。

第一種方式是以象素為基礎,首先將其與上一幀作差,得到一個稀疏矩陣。在作差的過程中,采用小范圍匹配的方法去掉一部分噪聲,然后采用優化的行程編碼得到最后結果,并把當前幀保存在指定的內存區,作為下一幀作差的參考幀。

第二種方式是以宏塊為基礎的運行補償方式,首先計算運動矢量,然后采用行程編碼和哈夫曼編碼。用運動補償技術既可以達到較高的壓縮比又有相當好的圖像質量。

對于第一種以象素為基礎的編碼方式,在保證較高的幀頻和壓縮比的情況下,圖像質量好。而對于第二種以宏塊為基礎的運動補償編碼方式,圖像質量稍差,但壓縮比較高,適用于數據傳輸率較低的情況。

為吸收二者的長處,筆者在對H.263源程序分析的基礎上進行了優化,采用混合壓縮編碼方案。此方案將上述兩種方式結合起來,從而使系統有效地適用于Internet傳輸。因為遠程站點之間通過Internet進行傳輸時,信道的數據傳輸率不是固定的。所以,系統中通過信道測試反饋信息改變量化時的步長,從而調節視頻信息的數碼率,以便更好地適應信道傳輸率的變化。

優化方案的思想是:通過傳輸模塊反饋回來的信息,得知當前網絡的傳輸速率,以此來調整壓縮算法的各個參數,即壓縮質量、每秒幀數等,獲得當前最好的幀率和質量。

具體從兩方面實施:一是對幀內壓縮方法進行優化;二是對幀間壓縮方法進行優化。

對幀內壓縮方法的優化主要通過改變壓縮質量的參數來調節圖像質量和壓縮比。

對幀間壓縮方法的改進是通過改變頻率、關鍵幀間的距離調節傳輸速率。改變每秒采集和傳輸圖像的數目,以改變傳輸數據的大小。幀間壓縮要用到運動補償,其關鍵在于兩幀之間的差別大小。如果圖像只有微小的變化,那么經過作差后壓縮效果較好;如果圖像變化很大,那么經過作差后壓縮效果較差。為充分利用運行壓縮的特點,根據圖像變化的大小來調節關鍵幀間的距離。在圖像變化不大的情況下,非關鍵幀數據較少,此時拉長關鍵幀間的距離既可以低傳輸率,又不影響圖像的質量;在圖像變化較大的情況下,非關鍵幀數據較多,此時縮短關鍵幀間的距離,以增加運動補償的效果。

3.3用UDP和RTP實現圖像傳輸并進行實時優化

視頻圖像的實時傳輸有如下特征:

·數據量大,尤其是高保真活動圖像的數據量更大,從而帶寬要求高;

·實時性要求高。

上述特點使視頻圖像傳輸對傳輸環境提出很高的要求。但另一方面,圖像數據包在少量丟失情況下不影響還原質量。為此,采用建立在UDP基礎上的實時傳輸協議RTP。

用UDP協議進行數據傳輸的優點是不需要建立連接,傳輸速度快。缺點是容易丟失數據包,而且數據包的順序容易混亂。

RTP是基于UDP的網絡傳輸協議,編程時通過時間標簽(Time-temping)機制、信息序列編號(SequenceNumbering)機制和有效數據類型標識(PayloadTypeIdentifier)機制的聯合使用,在允許的延遲范圍中保證數據的實時傳輸質量,對于少量信息包的丟失,則采用補償方法解決。時間標簽用來標明實時數據塊生成時間,接收方可據此正確排列數據接收順序,并保證實時數據傳輸同步,一幀圖像數據組成的RTP信息包有相同的時間標簽。序列編號通過配合時間標簽設置,同一幀圖像的RTP信息包有相同的時間標簽,但有不同的序列編號。有效數據類型標識用來定義各種數據壓縮方法,并可通過手動或自動方式動態調整,在信息擁擠時可提高壓縮比。

本設計中,對實時可靠性進行了優化,具體程序設計中,采用了如下策略:

·建立一條以UDP作為傳輸協議的數據通路,在傳輸時把壓縮過的視頻流打包,打包時考慮到兩個因素:第一,某些壓縮的關鍵幀會很大;第二,關鍵幀與非關鍵幀數據量相差很遠。這兩個因素可能導致數據包亂序,為此,不能簡單地將視頻幀作為打包單位,而是將數據流劃分成等量的小包,并在包頭標上序號進行順序傳輸。

·另建一條以TCP為傳輸協議的控制通路,其作用是反饋一些控制命令給發送方,從而最小限度地防止傳輸中的錯誤。接收方建立個可容納0.3~0.8s圖像的緩沖區,按照數據包頭的編號將數據流進行重構。如果數據包編號出現不連接,則說明發生了丟包或亂序。于是,接收方立即通過控制通路發送命令要求重發所丟失是數據包。采用TCP可保證控制命令傳輸的準確性。

3.4視頻傳輸中的自適應技術

由于網絡帶寬有限且隨機變化,因此視頻傳輸的實時性會受到嚴重影響,甚至會使接收到的視頻出現不連續或停頓現象。為此,在系統設計中,引入了視頻傳輸的自適應機制。具體實現的,系統一邊傳輸一邊檢測網絡狀態,并據此調整發送策略以適應網絡變化。圖2表示了在遠程控制系統中加入自適應機制后的結構。

自適應機制由檢測模塊、反饋模塊和決策模塊組成。發送端將視頻圖像壓縮后,打成RTP數據包,然后用RTP協議發送。發送站點的自適應檢測模塊檢測并記錄有關的發送信息,包括傳輸率、字節數等。接收站點通過自適應反饋模塊檢測有關的信息,并將其發送到接收站點的檢測模塊。后者將發送和接收時的信息相比較,再將比較結果傳送到自適應決策模塊。為了盡可能節省信息量,接收端自適應反饋模塊向發送端檢測模塊只發送一個信息包序列號。這樣后者可計算出信息包的傳輸時間,并在多次檢測基礎上得到帶寬平均評估值。發送端再根據評估值改變視頻采集頻率和壓縮比,調整視頻數據量,從而實現自適應功能。

3.5發送和接收的同步技術

本系統采用Client/Server結構。在這種結構中,只有Client端才能連接請求建立連接,而且一個Client端可與多個Server建立連接。因此,將接收站點作為Client,發送站點作為Server。當接收站點需要得到遠端的視頻圖像時,便發出連接請求。這種方式適用于系統視頻采集站點處于惡劣環境中無人看管的情況。

Server端采集視頻數據并進行壓縮后,發送給Client,Client將數據解壓縮后顯示視頻圖像。系統設計中,為了適應不同的網絡環境和圖像要求,對視頻質量配置了雙向調節功能。即一方面,視頻采集站點可直接調節圖像質量,另一方面接收站點也可以調節采集站點的圖像采集和壓縮參數,從而是調節圖像質量。

對圖像質量的雙向調節功能基于如下設計:

·將Client端控制面板中的參數(采樣間隔、關鍵幀數、關鍵幀質量、非關鍵幀質量)傳遞給Server端,再由Server端依據這些參數進行視頻采集和壓縮;

·Client端和Server端在設置上保持一致,即無論哪一方改變設置,都會使對方的控制面板保持一致。

具體實現時,設計了一個用8字節表示的comp_config_packet結構;當在Server端或Client端拖動控制面板上的滾動條時,將改變后的各項數據填充到comp_config_packet結構中,并將此結構發送到Client端或Server端;當Client端或Server端接收到該數據結構后,立即據此改變對應控制面板中的各項數據,并在控制面板上作相應顯示。