遠(yuǎn)程傳輸平臺(tái)研究論文

時(shí)間:2022-06-23 02:45:00

導(dǎo)語(yǔ):遠(yuǎn)程傳輸平臺(tái)研究論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

遠(yuǎn)程傳輸平臺(tái)研究論文

摘要:基于大量的實(shí)際研究工作,論述了高保真實(shí)時(shí)準(zhǔn)動(dòng)態(tài)圖像采集壓縮和遠(yuǎn)程傳輸平臺(tái)的設(shè)計(jì)思想、總體結(jié)構(gòu)、關(guān)鍵技術(shù)和優(yōu)化策略。著重對(duì)視頻采集技術(shù)、壓縮技術(shù)、圖像實(shí)時(shí)傳輸技術(shù)、同步技術(shù)和自適應(yīng)技術(shù)作了具體闡述。在相關(guān)技術(shù)領(lǐng)域有重要的學(xué)術(shù)價(jià)值和實(shí)際意義。

關(guān)鍵詞:高保真自適應(yīng)幀間壓縮雙向調(diào)節(jié)

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

1系統(tǒng)設(shè)計(jì)思想

本系統(tǒng)的設(shè)計(jì)目標(biāo)是基于Internet實(shí)現(xiàn)遠(yuǎn)程部點(diǎn)之間的高保真準(zhǔn)動(dòng)態(tài)圖像的實(shí)時(shí)傳輸。整個(gè)系統(tǒng)貫徹如下設(shè)計(jì)思想:發(fā)送站點(diǎn)和接收站點(diǎn)都具對(duì)圖像質(zhì)量的控制功能,以適應(yīng)Internet傳輸率不穩(wěn)定的情況;對(duì)圖像采用多種類型的壓縮技術(shù),以適應(yīng)不同的圖像分辨率和環(huán)境要求;在Internet信道傳輸率較差時(shí),能夠啟動(dòng)自適應(yīng)功能。

2系統(tǒng)總體結(jié)構(gòu)

在物理上,本系統(tǒng)分為發(fā)送站點(diǎn)和接收站點(diǎn)兩部分。在邏輯上,本系統(tǒng)分為圖像采集、壓縮和傳輸子系統(tǒng)、性能控制子系統(tǒng)。整個(gè)系統(tǒng)包含如下六個(gè)獨(dú)立的功能模塊,如圖1所示。

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

·圖像采集模塊,發(fā)送站點(diǎn)從攝像機(jī)讀原始視頻流,按一定的格式存儲(chǔ)為視頻數(shù)據(jù)。

·圖像壓縮模塊,發(fā)送站點(diǎn)將視頻數(shù)據(jù)壓縮,為網(wǎng)絡(luò)傳輸作準(zhǔn)備。

·視頻傳輸模塊,利用RTP和UDP協(xié)議將壓縮后的視頻數(shù)據(jù)發(fā)送到遠(yuǎn)程站點(diǎn)。

·視頻解壓縮模塊,接收站點(diǎn)將接收到的壓縮數(shù)據(jù)用解壓縮算法還原成視頻數(shù)據(jù)。

(2)性能控制子系統(tǒng)

·客戶/服務(wù)器同步模塊,使發(fā)送站點(diǎn)和遠(yuǎn)程接收站點(diǎn)在視頻格式和設(shè)置方面保持一致。

·自適應(yīng)模塊,在信道傳輸率較差時(shí),能自動(dòng)啟動(dòng)自適應(yīng)功能,使系統(tǒng)的視頻傳輸適應(yīng)復(fù)雜的網(wǎng)絡(luò)情況。

3系統(tǒng)設(shè)計(jì)中的關(guān)鍵技術(shù)和優(yōu)化策略

3.1視頻采集技術(shù)分析和選擇

為了實(shí)時(shí)視頻采集,需要安裝相應(yīng)的視頻采集設(shè)備。即視頻采集卡和攝像頭等。并需要安裝相應(yīng)的驅(qū)動(dòng)軟件來(lái)支持這些設(shè)備的運(yùn)行。

Windows2000操作系統(tǒng)提供了VFW(VideoforWindowsSDK)。VFW包含了大量與視頻采集有關(guān)的編程接口。這些編程接口通過(guò)操作系統(tǒng)提供的VFW-to-WDMVoideCaptureMapper調(diào)用設(shè)備驅(qū)動(dòng)程序中的相關(guān)例程,為系統(tǒng)的圖像采集提供了底層接口編程基礎(chǔ)。

本系統(tǒng)用到最主要的編程調(diào)用有如下幾個(gè):

CapCreateCaptureWindow,創(chuàng)建一個(gè)視頻采集窗口;

CapCriverConnect,連接視頻采集設(shè)備驅(qū)動(dòng)程序;

CapSetVideoFormat,設(shè)定視頻格式;

CapDlgVideoFormat,設(shè)置對(duì)話框。

VFW提供了兩種視頻采集模式:Preview(簡(jiǎn)稱P模式)和Overlay(簡(jiǎn)稱O模式)。筆者在系統(tǒng)設(shè)計(jì)中通過(guò)實(shí)驗(yàn)和測(cè)試比較了這兩種模式。

·P模式占用較多的系統(tǒng)資源。在這種模式中,硬件將采集的視頻幀傳送到系統(tǒng)內(nèi)存中,然后在視頻采集窗口用WindowsGDI函數(shù)進(jìn)行顯示;而O模式下,視頻采集子系統(tǒng)直接通過(guò)硬件方法顯示視頻,相對(duì)來(lái)說(shuō)節(jié)省內(nèi)存,且速度較快。

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

實(shí)際運(yùn)行過(guò)程表明,上述分析是正確的。本系統(tǒng)設(shè)計(jì)中采用了Overlay模式。這一選擇對(duì)穩(wěn)定性起到了較好的優(yōu)化作用。

3.2視頻壓縮、解壓縮技術(shù)的優(yōu)先和優(yōu)化

針對(duì)視頻應(yīng)用中可能遇到的各種情況,本系統(tǒng)的壓縮、解壓縮模塊設(shè)計(jì)采用三種壓縮方案,使用時(shí)可以從中選擇一種,以適應(yīng)不同環(huán)境和不同需求。

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

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

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

通過(guò)分析和測(cè)試表明,格式轉(zhuǎn)換、對(duì)關(guān)鍵幀和非關(guān)鍵幀離散余弦變換DCT、對(duì)非關(guān)鍵幀的幀間壓縮是最重要最耗時(shí)的環(huán)節(jié)。為此,在設(shè)計(jì)中對(duì)這些環(huán)節(jié)進(jìn)行了優(yōu)化。

具體講,在格式轉(zhuǎn)換、DCT變換中,一是在采集到的RGB色彩空間圖像到壓縮算法視頻輸入格式CIF變換中,用整型算法和移位相結(jié)合的優(yōu)化轉(zhuǎn)換函數(shù)代替速度較慢的浮點(diǎn)運(yùn)算;二是在關(guān)鍵幀和非關(guān)鍵幀的DCT變換中,采用零系數(shù)預(yù)測(cè)策略對(duì)DCT變換的輸入數(shù)據(jù)分類,節(jié)省了大量無(wú)效運(yùn)算;三是采用多媒體處理指令集MMX實(shí)現(xiàn)DCT變換,大幅度提高了運(yùn)算速度。

此外,為了實(shí)現(xiàn)良好的幀間壓縮,比較了兩種不同的壓縮方式。

第一種方式是以象素為基礎(chǔ),首先將其與上一幀作差,得到一個(gè)稀疏矩陣。在作差的過(guò)程中,采用小范圍匹配的方法去掉一部分噪聲,然后采用優(yōu)化的行程編碼得到最后結(jié)果,并把當(dāng)前幀保存在指定的內(nèi)存區(qū),作為下一幀作差的參考幀。

第二種方式是以宏塊為基礎(chǔ)的運(yùn)行補(bǔ)償方式,首先計(jì)算運(yùn)動(dòng)矢量,然后采用行程編碼和哈夫曼編碼。用運(yùn)動(dòng)補(bǔ)償技術(shù)既可以達(dá)到較高的壓縮比又有相當(dāng)好的圖像質(zhì)量。

對(duì)于第一種以象素為基礎(chǔ)的編碼方式,在保證較高的幀頻和壓縮比的情況下,圖像質(zhì)量好。而對(duì)于第二種以宏塊為基礎(chǔ)的運(yùn)動(dòng)補(bǔ)償編碼方式,圖像質(zhì)量稍差,但壓縮比較高,適用于數(shù)據(jù)傳輸率較低的情況。

為吸收二者的長(zhǎng)處,筆者在對(duì)H.263源程序分析的基礎(chǔ)上進(jìn)行了優(yōu)化,采用混合壓縮編碼方案。此方案將上述兩種方式結(jié)合起來(lái),從而使系統(tǒng)有效地適用于Internet傳輸。因?yàn)檫h(yuǎn)程站點(diǎn)之間通過(guò)Internet進(jìn)行傳輸時(shí),信道的數(shù)據(jù)傳輸率不是固定的。所以,系統(tǒng)中通過(guò)信道測(cè)試反饋信息改變量化時(shí)的步長(zhǎng),從而調(diào)節(jié)視頻信息的數(shù)碼率,以便更好地適應(yīng)信道傳輸率的變化。

優(yōu)化方案的思想是:通過(guò)傳輸模塊反饋回來(lái)的信息,得知當(dāng)前網(wǎng)絡(luò)的傳輸速率,以此來(lái)調(diào)整壓縮算法的各個(gè)參數(shù),即壓縮質(zhì)量、每秒幀數(shù)等,獲得當(dāng)前最好的幀率和質(zhì)量。

具體從兩方面實(shí)施:一是對(duì)幀內(nèi)壓縮方法進(jìn)行優(yōu)化;二是對(duì)幀間壓縮方法進(jìn)行優(yōu)化。

對(duì)幀內(nèi)壓縮方法的優(yōu)化主要通過(guò)改變壓縮質(zhì)量的參數(shù)來(lái)調(diào)節(jié)圖像質(zhì)量和壓縮比。

對(duì)幀間壓縮方法的改進(jìn)是通過(guò)改變頻率、關(guān)鍵幀間的距離調(diào)節(jié)傳輸速率。改變每秒采集和傳輸圖像的數(shù)目,以改變傳輸數(shù)據(jù)的大小。幀間壓縮要用到運(yùn)動(dòng)補(bǔ)償,其關(guān)鍵在于兩幀之間的差別大小。如果圖像只有微小的變化,那么經(jīng)過(guò)作差后壓縮效果較好;如果圖像變化很大,那么經(jīng)過(guò)作差后壓縮效果較差。為充分利用運(yùn)行壓縮的特點(diǎn),根據(jù)圖像變化的大小來(lái)調(diào)節(jié)關(guān)鍵幀間的距離。在圖像變化不大的情況下,非關(guān)鍵幀數(shù)據(jù)較少,此時(shí)拉長(zhǎng)關(guān)鍵幀間的距離既可以低傳輸率,又不影響圖像的質(zhì)量;在圖像變化較大的情況下,非關(guān)鍵幀數(shù)據(jù)較多,此時(shí)縮短關(guān)鍵幀間的距離,以增加運(yùn)動(dòng)補(bǔ)償?shù)男Ч?/p>

3.3用UDP和RTP實(shí)現(xiàn)圖像傳輸并進(jìn)行實(shí)時(shí)優(yōu)化

視頻圖像的實(shí)時(shí)傳輸有如下特征:

·數(shù)據(jù)量大,尤其是高保真活動(dòng)圖像的數(shù)據(jù)量更大,從而帶寬要求高;

·實(shí)時(shí)性要求高。

上述特點(diǎn)使視頻圖像傳輸對(duì)傳輸環(huán)境提出很高的要求。但另一方面,圖像數(shù)據(jù)包在少量丟失情況下不影響還原質(zhì)量。為此,采用建立在UDP基礎(chǔ)上的實(shí)時(shí)傳輸協(xié)議RTP。

用UDP協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)膬?yōu)點(diǎn)是不需要建立連接,傳輸速度快。缺點(diǎn)是容易丟失數(shù)據(jù)包,而且數(shù)據(jù)包的順序容易混亂。

RTP是基于UDP的網(wǎng)絡(luò)傳輸協(xié)議,編程時(shí)通過(guò)時(shí)間標(biāo)簽(Time-temping)機(jī)制、信息序列編號(hào)(SequenceNumbering)機(jī)制和有效數(shù)據(jù)類型標(biāo)識(shí)(PayloadTypeIdentifier)機(jī)制的聯(lián)合使用,在允許的延遲范圍中保證數(shù)據(jù)的實(shí)時(shí)傳輸質(zhì)量,對(duì)于少量信息包的丟失,則采用補(bǔ)償方法解決。時(shí)間標(biāo)簽用來(lái)標(biāo)明實(shí)時(shí)數(shù)據(jù)塊生成時(shí)間,接收方可據(jù)此正確排列數(shù)據(jù)接收順序,并保證實(shí)時(shí)數(shù)據(jù)傳輸同步,一幀圖像數(shù)據(jù)組成的RTP信息包有相同的時(shí)間標(biāo)簽。序列編號(hào)通過(guò)配合時(shí)間標(biāo)簽設(shè)置,同一幀圖像的RTP信息包有相同的時(shí)間標(biāo)簽,但有不同的序列編號(hào)。有效數(shù)據(jù)類型標(biāo)識(shí)用來(lái)定義各種數(shù)據(jù)壓縮方法,并可通過(guò)手動(dòng)或自動(dòng)方式動(dòng)態(tài)調(diào)整,在信息擁擠時(shí)可提高壓縮比。

本設(shè)計(jì)中,對(duì)實(shí)時(shí)可靠性進(jìn)行了優(yōu)化,具體程序設(shè)計(jì)中,采用了如下策略:

·建立一條以UDP作為傳輸協(xié)議的數(shù)據(jù)通路,在傳輸時(shí)把壓縮過(guò)的視頻流打包,打包時(shí)考慮到兩個(gè)因素:第一,某些壓縮的關(guān)鍵幀會(huì)很大;第二,關(guān)鍵幀與非關(guān)鍵幀數(shù)據(jù)量相差很遠(yuǎn)。這兩個(gè)因素可能導(dǎo)致數(shù)據(jù)包亂序,為此,不能簡(jiǎn)單地將視頻幀作為打包單位,而是將數(shù)據(jù)流劃分成等量的小包,并在包頭標(biāo)上序號(hào)進(jìn)行順序傳輸。

·另建一條以TCP為傳輸協(xié)議的控制通路,其作用是反饋一些控制命令給發(fā)送方,從而最小限度地防止傳輸中的錯(cuò)誤。接收方建立個(gè)可容納0.3~0.8s圖像的緩沖區(qū),按照數(shù)據(jù)包頭的編號(hào)將數(shù)據(jù)流進(jìn)行重構(gòu)。如果數(shù)據(jù)包編號(hào)出現(xiàn)不連接,則說(shuō)明發(fā)生了丟包或亂序。于是,接收方立即通過(guò)控制通路發(fā)送命令要求重發(fā)所丟失是數(shù)據(jù)包。采用TCP可保證控制命令傳輸?shù)臏?zhǔn)確性。

3.4視頻傳輸中的自適應(yīng)技術(shù)

由于網(wǎng)絡(luò)帶寬有限且隨機(jī)變化,因此視頻傳輸?shù)膶?shí)時(shí)性會(huì)受到嚴(yán)重影響,甚至?xí)菇邮盏降囊曨l出現(xiàn)不連續(xù)或停頓現(xiàn)象。為此,在系統(tǒng)設(shè)計(jì)中,引入了視頻傳輸?shù)淖赃m應(yīng)機(jī)制。具體實(shí)現(xiàn)的,系統(tǒng)一邊傳輸一邊檢測(cè)網(wǎng)絡(luò)狀態(tài),并據(jù)此調(diào)整發(fā)送策略以適應(yīng)網(wǎng)絡(luò)變化。圖2表示了在遠(yuǎn)程控制系統(tǒng)中加入自適應(yīng)機(jī)制后的結(jié)構(gòu)。

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

3.5發(fā)送和接收的同步技術(shù)

本系統(tǒng)采用Client/Server結(jié)構(gòu)。在這種結(jié)構(gòu)中,只有Client端才能連接請(qǐng)求建立連接,而且一個(gè)Client端可與多個(gè)Server建立連接。因此,將接收站點(diǎn)作為Client,發(fā)送站點(diǎn)作為Server。當(dāng)接收站點(diǎn)需要得到遠(yuǎn)端的視頻圖像時(shí),便發(fā)出連接請(qǐng)求。這種方式適用于系統(tǒng)視頻采集站點(diǎn)處于惡劣環(huán)境中無(wú)人看管的情況。

Server端采集視頻數(shù)據(jù)并進(jìn)行壓縮后,發(fā)送給Client,Client將數(shù)據(jù)解壓縮后顯示視頻圖像。系統(tǒng)設(shè)計(jì)中,為了適應(yīng)不同的網(wǎng)絡(luò)環(huán)境和圖像要求,對(duì)視頻質(zhì)量配置了雙向調(diào)節(jié)功能。即一方面,視頻采集站點(diǎn)可直接調(diào)節(jié)圖像質(zhì)量,另一方面接收站點(diǎn)也可以調(diào)節(jié)采集站點(diǎn)的圖像采集和壓縮參數(shù),從而是調(diào)節(jié)圖像質(zhì)量。

對(duì)圖像質(zhì)量的雙向調(diào)節(jié)功能基于如下設(shè)計(jì):

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

·Client端和Server端在設(shè)置上保持一致,即無(wú)論哪一方改變?cè)O(shè)置,都會(huì)使對(duì)方的控制面板保持一致。

具體實(shí)現(xiàn)時(shí),設(shè)計(jì)了一個(gè)用8字節(jié)表示的comp_config_packet結(jié)構(gòu);當(dāng)在Server端或Client端拖動(dòng)控制面板上的滾動(dòng)條時(shí),將改變后的各項(xiàng)數(shù)據(jù)填充到comp_config_packet結(jié)構(gòu)中,并將此結(jié)構(gòu)發(fā)送到Client端或Server端;當(dāng)Client端或Server端接收到該數(shù)據(jù)結(jié)構(gòu)后,立即據(jù)此改變對(duì)應(yīng)控制面板中的各項(xiàng)數(shù)據(jù),并在控制面板上作相應(yīng)顯示。