《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 在Internet网上提高传输视频实时性的研究

在Internet网上提高传输视频实时性的研究

2009-02-04
作者:付 良 赵 鹏 戴梅萼 史嘉权

  摘 要: 基于中國Internet網(wǎng)絡(luò)現(xiàn)狀,對提高視頻傳輸實時性、穩(wěn)定性、連續(xù)性提出了幾點改進算法。在視頻會議、遠程機器人控制中得到了具體的應(yīng)用,并取得了良好的效果。
  關(guān)鍵詞: 傳輸協(xié)議 壓縮 視頻

?

  Internet實時視頻傳輸在網(wǎng)絡(luò)會議、遠程機器人控制等方面有著廣泛的應(yīng)用。其關(guān)鍵問題包括:傳輸?shù)膶崟r性——根據(jù)不同系統(tǒng)的要求,實時性是一個重要的評價指標,例如視頻會議系統(tǒng),要求傳輸?shù)难舆t不超過0.5s,否則會影響參會者的正常表達;對于遠程控制系統(tǒng),要根據(jù)具體要求進行調(diào)節(jié)。傳輸協(xié)議的制定——傳統(tǒng)的傳輸協(xié)議應(yīng)用到視頻傳輸中或多或少都存在一些缺陷,因為它們不是專門設(shè)計的,尤其針對中國網(wǎng)絡(luò)現(xiàn)狀更要進行一些獨特的設(shè)計。這包括并發(fā)的TCP協(xié)議,可靠的UDP傳輸協(xié)議。壓縮算法——對H.263視頻壓縮協(xié)議進行增強,調(diào)節(jié)關(guān)鍵幀與非關(guān)鍵幀的比例以及質(zhì)量來適應(yīng)不同的網(wǎng)絡(luò)傳輸率。
1 協(xié)議的設(shè)計
  傳統(tǒng)的視頻傳輸協(xié)議是建立在TCP/UDP的基礎(chǔ)上進行的。他們都是傳輸層協(xié)議,具有較高的效率。TCP協(xié)議則保證了傳輸?shù)目煽啃裕捎眠@種協(xié)議要在視頻接收方建立服務(wù)程序等待來自發(fā)送方的視頻數(shù)據(jù)。最開始,發(fā)送方與接收方要建立一條穩(wěn)定的通路來保證傳輸?shù)目煽啃裕@種建立連接的過程可能是比較長的,特別是發(fā)送方與接收方中間要經(jīng)過很多路由的時候。而一旦這條通路建立之后,數(shù)據(jù)的傳輸是可靠的,不會出現(xiàn)亂序或丟失數(shù)據(jù)包的現(xiàn)象。如果網(wǎng)絡(luò)的帶寬能穩(wěn)定維持在一定水平,傳輸視頻的效果很好。但由于Internet的現(xiàn)狀,電話線與中間路由器等硬件設(shè)備經(jīng)常出現(xiàn)阻塞,為此,我們提出以下幾種方法,來提高傳輸效率使視頻可以平滑、小延遲地回放。
1.1 多路TCP并發(fā)傳輸
  TCP協(xié)議建立連接的過程也是一個尋找通路的過程,它通過網(wǎng)絡(luò)層、物理層協(xié)議來建立從數(shù)據(jù)發(fā)送源到目的地的最佳通路。由于當時網(wǎng)絡(luò)環(huán)境的不同,每次建立連接所選擇的通路就有可能不同,這些不同的通路同時阻塞的機會顯然比一條通路阻塞要小得多。這就是多路并發(fā)TCP傳輸協(xié)議的原理。
  具體的設(shè)計步驟如下:
  (1)設(shè)定同時連接進行數(shù)據(jù)傳輸?shù)倪B接數(shù)目為5個,每個連接都有一個線程來控制,每個線程可以獨立地運作。他們之間又可以相互通信,使得在同一時刻進行數(shù)據(jù)傳輸?shù)耐分挥幸粋€。并且這個數(shù)據(jù)通路的傳輸速度相對于其他通路是更快的。其他的通路反復(fù)地進行數(shù)據(jù)傳輸速度的測試,稱為測試通路,在當前數(shù)據(jù)通路發(fā)生阻塞的時候則斷掉這條通路,而啟用在測試通路中速度最快的那一個,并將其切換為數(shù)據(jù)通路進行傳輸。簡言之,就是一個數(shù)據(jù)通路,多個測試通路同時并存,盡量選擇速度最快的通路作為數(shù)據(jù)通路見圖1。


  (2) 鑒于建立連接的過程相對較慢,所以采用交錯的方式進行。即不是在一開始將5個通路的連接全部建立起來,而是先建立一個連接并作為數(shù)據(jù)通路傳輸,與此同時再逐步建立其他通路的連接,由于每條通路都是采用線程來控制的,它們之間不會相互影響,見圖2。


  (3) 如果經(jīng)過步驟(1)選擇了最佳的數(shù)據(jù)通路之后數(shù)據(jù)仍然不能傳出去,說明現(xiàn)在的網(wǎng)絡(luò)帶寬不足以傳輸視頻數(shù)據(jù)流,因此傳輸模塊會將這一信息反饋給壓縮模塊,由壓縮模塊根據(jù)當前的網(wǎng)絡(luò)速度重新調(diào)整參數(shù),形成新的數(shù)據(jù)量較小的視頻流。與此同時在發(fā)送方設(shè)有一個1秒鐘的cache,將由于阻塞而沒有發(fā)出去的數(shù)據(jù)包暫時存在cache中,無法存入cache中的數(shù)據(jù)包被發(fā)送方丟掉,這是對傳輸?shù)膶崟r性和連續(xù)性的一個折衷。
1.2 可靠的UDP傳輸
  用UDP協(xié)議進行數(shù)據(jù)傳輸?shù)膬?yōu)點是不需要建立連接,傳輸速度快。缺點是容易丟失數(shù)據(jù)包和數(shù)據(jù)包的順序發(fā)生混亂。為此我們設(shè)計了一種方法來保證數(shù)據(jù)的可靠性。
  (1) 建立一條以UDP作為傳輸協(xié)議的數(shù)據(jù)通路,在傳輸時要把壓縮后的視頻流打包,這時不能簡單地采用以視頻幀為打包的單位。因為,第一、某些壓縮的關(guān)鍵幀會很大以致超過了UDP協(xié)議所規(guī)定的最大值;第二、關(guān)鍵幀與非關(guān)鍵幀數(shù)據(jù)量相差很遠,有可能使數(shù)據(jù)量較小的非關(guān)鍵幀比它前面的數(shù)據(jù)量大的關(guān)鍵幀更早地到達接收方,而導(dǎo)致亂序。因此我們采用將數(shù)據(jù)流劃分成等量的小包,并在包頭標上序號進行順序傳輸,在包頭標序號是為了防止由于UDP本身帶來的傳輸亂序問題。
  (2) 建立一條以TCP為傳輸協(xié)議的控制通路,它的作用是反饋一些控制命令給發(fā)送方,以最小限度地防止傳輸中的錯誤。接收方要從數(shù)據(jù)通路得到視頻數(shù)據(jù)流,并把這個數(shù)據(jù)流存儲在一個0.3s~0.8s的緩沖區(qū)中,按照數(shù)據(jù)包頭的編號將數(shù)據(jù)流重構(gòu)出來。如果數(shù)據(jù)包編號出現(xiàn)不連續(xù),說明發(fā)生了丟包或亂序,則接收方立即通過控制通路發(fā)送要求重發(fā)所丟失的數(shù)據(jù)包的命令。采用TCP作為控制通路的協(xié)議是因為可以保證控制命令的準確性,而且控制命令的數(shù)據(jù)量很小,發(fā)生阻塞的情況不大。
  (3) 為了保證傳輸?shù)臅r實性,不能無限制地發(fā)送控制命令,接收方以緩沖區(qū)為限制,當緩沖區(qū)已經(jīng)用完,而仍然存在丟失數(shù)據(jù)包的現(xiàn)象,則只有丟掉一些數(shù)據(jù)來保證實時性,見圖3。


2 數(shù)據(jù)壓縮
  視頻數(shù)據(jù)的壓縮比和質(zhì)量的好壞是Internet視頻傳輸是否成功的前提。為了適應(yīng)現(xiàn)有Internet的傳輸率低、傳輸性能不穩(wěn)定的特點,我們采用國際上比較先進的H.263壓縮標準。H.263是一種中等質(zhì)量的壓縮方法,它不象MPEG等高質(zhì)量的壓縮方法那樣有很高的圖象清晰度。但是,H.263標準有壓縮算法簡單、壓縮快速和壓縮比高等特性,這使得它非常適合象“機器人遠程控制”等要求實時傳輸圖像,但對圖像質(zhì)量的要求不高的情況,見圖4。


  為了適應(yīng)Internet的不穩(wěn)定性,需要在原有的壓縮算法上做一些改進。通過傳輸模塊反饋回來的信息,可以得知當前網(wǎng)絡(luò)的傳輸速率,以此來調(diào)整壓縮算法的各個參數(shù),來獲得最好的幀率和質(zhì)量。其中,一種方法是對幀內(nèi)壓縮方法的改進,另一種方法是對幀間壓縮方法的改進。對幀內(nèi)壓縮方法的改進:主要是通過改變壓縮質(zhì)量的參數(shù)來調(diào)節(jié)圖像質(zhì)量和壓縮比,見圖5。


  對幀間壓縮方法的改進:可以通過改變幀率、關(guān)鍵幀間的距離來調(diào)節(jié)傳輸數(shù)率。改變每秒采集和傳輸?shù)膱D像數(shù)目,可以改變傳輸數(shù)據(jù)的大小,見圖6。

  運動壓縮的關(guān)鍵是在于兩幀之間的差別大小。如果圖象只有微小的變化,那么經(jīng)過作差后壓縮效果就好;如果圖像變化很大,那么經(jīng)過作差后壓縮效果就很差。為了充分利用運動壓縮的特點,我們根據(jù)圖像的性質(zhì)來調(diào)節(jié)關(guān)鍵幀間的距離。在圖像變化不大的情況下,非關(guān)鍵幀數(shù)據(jù)較少,此時拉長關(guān)鍵幀間的距離可以降低傳輸率;在圖像變化較大的情況下,非關(guān)鍵幀數(shù)據(jù)較多,此時縮短關(guān)鍵幀間的距離增加運動補償?shù)男Ч?BR>參考文獻
1 Microsoft著,曹 康譯. 使用 TCP/IP 協(xié)議的網(wǎng)絡(luò)互連
2 張明德,王永東.視頻會議系統(tǒng)原理與應(yīng)用
3 余崇智等編譯.運動圖像及其伴音的壓縮與編碼.MPEG? 1

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容