一種基于tcp/udp混合協(xié)議的流媒體無線自適應(yīng)傳輸方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于音視頻數(shù)據(jù)傳輸技術(shù)領(lǐng)域,具體涉及一種基于TCP/UDP混合協(xié)議的流 媒體無線自適應(yīng)傳輸方法。
【背景技術(shù)】
[0002] 在目前的各種應(yīng)急通信系統(tǒng)方案中,應(yīng)急視音頻通信終端與指揮中心的視音頻數(shù) 據(jù)傳輸主要基于3G等無線網(wǎng)絡(luò)實施,在這種應(yīng)用場合下,網(wǎng)絡(luò)環(huán)境的復(fù)雜性要遠(yuǎn)遠(yuǎn)超過傳 統(tǒng)的有線網(wǎng)絡(luò),比如無線網(wǎng)絡(luò)的低帶寬、高誤碼等特點使得傳統(tǒng)的基于有線網(wǎng)絡(luò)設(shè)計的視 音頻通信終端效果總是不盡人意,表現(xiàn)為延時、抖動、花屏,甚至出現(xiàn)視音頻傳輸中斷等,而 這在應(yīng)急通信中是無法令人接受的。因此如何基于各類無線網(wǎng)絡(luò),尤其是電信、移動等公司 的3G無線網(wǎng)絡(luò)進行視音頻數(shù)據(jù)的高質(zhì)量傳輸是急需解決的一個現(xiàn)實問題。
[0003] 目前應(yīng)急通信采用的無線傳輸網(wǎng)絡(luò)主要有兩種:電信、聯(lián)通的3G網(wǎng)絡(luò)和移動的4G 網(wǎng)絡(luò)等公用無線寬帶網(wǎng)絡(luò),或者專用無線電臺。由于3G/4G等公用無線寬帶網(wǎng)絡(luò)無論是在 網(wǎng)絡(luò)覆蓋面、無線網(wǎng)絡(luò)應(yīng)用成本等各個方面都存在非常明顯的經(jīng)濟優(yōu)勢,這種網(wǎng)絡(luò)也成為 無線多媒體傳輸系統(tǒng)的主要網(wǎng)絡(luò)?;诮K端的標(biāo)準(zhǔn)化和應(yīng)急通信系統(tǒng)的兼容性考慮,幾乎 所有應(yīng)急通信平臺均采用IP傳輸技術(shù),因此目前的基于無線網(wǎng)絡(luò)的多媒體通信傳輸技術(shù) 也幾乎全部是基于TCP/IP協(xié)議的,主要有以下兩種:
[0004] (1)基于 UDP 協(xié)議。
[0005] UDP協(xié)議的特點是面向無連接的不可靠傳輸,也即UDP協(xié)議對分組的超時或丟棄 不敏感。在有線網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)的低誤碼率、高吞吐量,以及接收終端的強計算能力和糾 錯能力,因而在有線網(wǎng)絡(luò)中,基于UDP協(xié)議的多媒體傳輸可以得到較好的效果。然而,相對 于有線網(wǎng)絡(luò),無線網(wǎng)絡(luò)中存在大量計算能力受限的弱終端,它們的糾錯能力和緩存能力都 較弱,所以對于分組的缺失非常敏感。更為嚴(yán)重的是,傳統(tǒng)的單純基于UDP協(xié)議的流媒體傳 輸方式由于沒有擁塞控制機制,所以在網(wǎng)絡(luò)發(fā)生擁塞時仍然會向網(wǎng)絡(luò)中注入大量數(shù)據(jù)包, 導(dǎo)致發(fā)生擁塞的路由將分組丟棄,進而造成終端恢復(fù)視頻質(zhì)量的急劇下降,嚴(yán)重時將導(dǎo)致 接收終端(解碼器)崩潰。
[0006] (2)基于 TCP 協(xié)議。
[0007] 最近的研宄表明,越來越多的流式媒體采用TCP而非UDP作為傳輸協(xié)議。但是,目 前TCP協(xié)議的實現(xiàn)(如TCP-Reno、TCP-NewReno、TCP-SACK)都把數(shù)據(jù)包的丟失作為網(wǎng)絡(luò)擁 塞的指示,進而將擁塞窗口減半,造成發(fā)送速率呈現(xiàn)較大的抖動性,影響了接收端的顯示效 果。尤其在無線高誤碼率網(wǎng)絡(luò)下,丟包在很大程度上是由于鏈路錯誤而非擁塞,盲目進入擁 塞控制,會導(dǎo)致網(wǎng)絡(luò)利用率降低,影響接收效果。
【發(fā)明內(nèi)容】
[0008] 針對現(xiàn)有技術(shù)所存在的上述技術(shù)問題,本發(fā)明提供了一種基于TCP/UDP混合協(xié)議 的流媒體無線自適應(yīng)傳輸方法,該方法兼顧了數(shù)據(jù)傳輸效率以及傳輸可靠性,較好地實現(xiàn) 了音視頻數(shù)據(jù)基于無線網(wǎng)絡(luò)的高質(zhì)量傳輸。
[0009] -種基于TCP/UDP混合協(xié)議的流媒體無線自適應(yīng)傳輸方法,包括如下步驟:
[0010] (1)發(fā)送端采用TCP協(xié)議與接收端建立雙向0級信道,采用UDP協(xié)議與接收端建立 單向1級信道;
[0011] (2)初始編碼碼率為Vtl,發(fā)送端以該碼率對采集的音視頻數(shù)據(jù)進行編碼;
[0012] (3)發(fā)送端對編碼得到的視頻流中的I幀、P幀和B幀以及與視頻流同步的音頻流 均進行數(shù)據(jù)分割,得到多個數(shù)據(jù)分片;依次對所述的數(shù)據(jù)分片封裝數(shù)據(jù)包頭形成數(shù)據(jù)包;
[0013] (4)發(fā)送端根據(jù)不同的幀類型對數(shù)據(jù)包進行分級傳輸;
[0014] 接收端每隔t毫秒比較一次I幀數(shù)據(jù)包傳輸延時時間與數(shù)據(jù)包生命期閥值的大 小,進而根據(jù)比較的結(jié)果組建控制信息包K1并通過雙向0級信道傳輸至發(fā)送端,t為大于1 的自然數(shù);發(fā)送端根據(jù)控制信息包K 1,來判斷是否發(fā)送P幀和B幀;
[0015] (5)接收端通過加權(quán)平均碼率傳輸控制機制計算出下一傳輸周期的編碼碼率V1, 進而組建控制信息包K 2并通過雙向0級信道傳輸至發(fā)送端;
[0016] 發(fā)送端對控制信息包K2進行解析將編碼碼率更新為V i,并以該碼率對采集的音視 頻數(shù)據(jù)進行編碼,從步驟(3)開始執(zhí)行下一傳輸周期任務(wù),從而自適應(yīng)無線信道帶寬的變 化。
[0017] 所述的步驟(4)中,發(fā)送端根據(jù)不同的幀類型對數(shù)據(jù)包進行分級傳輸,具體標(biāo)準(zhǔn) 如下幀屬于關(guān)鍵幀,則發(fā)送端將I幀和音頻流的數(shù)據(jù)包通過雙向0級信道傳輸至接收 端;P幀和B幀屬于非關(guān)鍵幀,則發(fā)送端將P幀和B幀的數(shù)據(jù)包通過單向1級信道傳輸至接 收端。
[0018] 所述的控制信息包&或K 2內(nèi)包含命令號以及控制信息數(shù)據(jù)。
[0019] 所述的數(shù)據(jù)包頭內(nèi)依次包含幀類型、幀尾標(biāo)記、數(shù)據(jù)壓縮格式、序列號、時間戳和 分片長度。
[0020] 所述的步驟(4)中,若I幀數(shù)據(jù)包傳輸延時時間小于等于數(shù)據(jù)包生命期閥值,則接 收端組建控制信息包K 1并通過雙向0級信道傳輸至發(fā)送端,發(fā)送端收到控制信息包K i后通 過單向1級信道向接收端發(fā)送P幀和B幀;否則,發(fā)送端不向接收端發(fā)送P幀和B幀。
[0021] 所述的步驟(5)中,接收端通過加權(quán)平均碼率傳輸控制機制計算出下一傳輸周期 的編碼碼率V 1,其具體過程如下:
[0022] 5.1根據(jù)接收端收到的數(shù)據(jù)量,計算出當(dāng)前傳輸周期和上一傳輸周期的信道帶 寬;
[0023] 5. 2求得當(dāng)前傳輸周期信道帶寬與上一傳輸周期信道帶寬的比值K ;
[0024] 5. 3根據(jù)當(dāng)前傳輸周期的編碼碼率以及比值K,計算出下一傳輸周期的編碼碼率 V1O
[0025] 所述的步驟5. 1中,首先將當(dāng)前傳輸周期和上一傳輸周期均分為η個時段,η為大 于1的自然數(shù),然后根據(jù)以下公式計算當(dāng)前傳輸周期和上一傳輸周期的信道帶寬;
[0026]
【主權(quán)項】
1. 一種基于TCP/UDP混合協(xié)議的流媒體無線自適應(yīng)傳輸方法,包括如下步驟: (1) 發(fā)送端采用TCP協(xié)議與接收端建立雙向0級信道,采用UDP協(xié)議與接收端建立單向 1級信道; (2) 初始編碼碼率為%,發(fā)送端以該碼率對采集的音視頻數(shù)據(jù)進行編碼; (3) 發(fā)送端對編碼得到的視頻流中的I幀、P幀和B幀以及與視頻流同步的音頻流均進 行數(shù)據(jù)分割,得到多個數(shù)據(jù)分片;依次對所述的數(shù)據(jù)分片封裝數(shù)據(jù)包頭形成數(shù)據(jù)包; (4) 發(fā)送端根據(jù)不同的幀類型對數(shù)據(jù)包進行分級傳輸; 接收端每隔t毫秒比較一次I幀數(shù)據(jù)包傳輸延時時間與數(shù)據(jù)包生命期閥值的大小,進 而根據(jù)比較的結(jié)果組建控制信息包&并通過雙向0級信道傳輸至發(fā)送端,t為大于1的自 然數(shù);發(fā)送端根據(jù)控制信息包I,來判斷是否發(fā)送P幀和B幀; (5) 接收端通過加權(quán)平均碼率傳輸控制機制計算出下一傳輸周期的編碼碼率%,進而 組建控制信息包K2并通過雙向0級信道傳輸至發(fā)送端; 發(fā)送端對控制信息包K2進行解析將編碼碼率更新為Vi,并以該碼率對采集的音視頻數(shù) 據(jù)進行編碼,從步驟(3)開始執(zhí)行下一傳輸周期任務(wù),從而自適應(yīng)無線信道帶寬的變化。
2. 根據(jù)權(quán)利要求1所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的步驟(4) 中,發(fā)送端根據(jù)不同的幀類型對數(shù)據(jù)包進行分級傳輸,具體標(biāo)準(zhǔn)如下幀屬于關(guān)鍵幀,則 發(fā)送端將I幀和音頻流的數(shù)據(jù)包通過雙向0級信道傳輸至接收端;P幀和B幀屬于非關(guān)鍵 幀,則發(fā)送端將P幀和B幀的數(shù)據(jù)包通過單向1級信道傳輸至接收端。
3. 根據(jù)權(quán)利要求1所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的控制信息 包心或K2內(nèi)包含命令號以及控制信息數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的數(shù)據(jù)包頭 內(nèi)依次包含幀類型、幀尾標(biāo)記、數(shù)據(jù)壓縮格式、序列號、時間戳和分片長度。
5. 根據(jù)權(quán)利要求1所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的步驟(4) 中,若I幀數(shù)據(jù)包傳輸延時時間小于等于數(shù)據(jù)包生命期閥值,則接收端組建控制信息包I 并通過雙向0級信道傳輸至發(fā)送端,發(fā)送端收到控制信息包&后通過單向1級信道向接收 端發(fā)送P幀和B幀;否則,發(fā)送端不向接收端發(fā)送P幀和B幀。
6. 根據(jù)權(quán)利要求1所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的步驟(5) 中,接收端通過加權(quán)平均碼率傳輸控制機制計算出下一傳輸周期的編碼碼率',其具體過 程如下: 5. 1根據(jù)接收端收到的數(shù)據(jù)量,計算出當(dāng)前傳輸周期和上一傳輸周期的信道帶寬; 5. 2求得當(dāng)前傳輸周期信道帶寬與上一傳輸周期信道帶寬的比值K; 5. 3根據(jù)當(dāng)前傳輸周期的編碼碼率以及比值K,計算出下一傳輸周期的編碼碼率
7. 根據(jù)權(quán)利要求6所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的步驟5. 1 中,首先將當(dāng)前傳輸周期和上一傳輸周期均分為n個時段,n為大于1的自然數(shù),然后根據(jù) 以下公式計算當(dāng)前傳輸周期和上一傳輸周期的信道帶寬;
其中:1\為當(dāng)前傳輸周期或上一傳輸周期中第i個時段內(nèi)接收端收到的總數(shù)據(jù)量,^為 當(dāng)前傳輸周期或上一傳輸周期中第i個時段對應(yīng)的權(quán)重系數(shù),T為當(dāng)前傳輸周期或上一傳 輸周期的信道帶寬,所述的第i個時段離當(dāng)前時刻越遠(yuǎn)其序號i則越大。
8. 根據(jù)權(quán)利要求7所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的權(quán)重系數(shù) K的計算表達式如下:
9. 根據(jù)權(quán)利要求7所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:設(shè)定n= 8,則w1 =w2=w3=w4=l,w5= 0. 8,w6= 0. 6,w7= 0. 4,w8= 0. 2。
10. 根據(jù)權(quán)利要求6所述的流媒體無線自適應(yīng)傳輸方法,其特征在于:所述的步驟5. 3 中,通過以下算式計算下一傳輸周期的編碼碼率V1:
其中:V為當(dāng)前傳輸周期的編碼碼率,¥_和Vmin分別為編碼碼率設(shè)定的上下限。
【專利摘要】本發(fā)明公開了一種基于TCP/UDP混合協(xié)議的流媒體無線自適應(yīng)傳輸方法,其首先把TCP協(xié)議傳輸可靠的特點與UDP協(xié)議傳輸開銷小、速度快、效率高特點相結(jié)合,把視音頻數(shù)據(jù)用固定長度的數(shù)據(jù)包頭進行封裝,根據(jù)不同的數(shù)據(jù)幀類型,采用不同的通道分級傳輸。在接收方設(shè)置數(shù)據(jù)包生命期閥值,如果出現(xiàn)接收數(shù)據(jù)超時現(xiàn)象,則發(fā)送反饋信息包給發(fā)送方。發(fā)送方開始丟棄不可靠傳輸通道的非關(guān)鍵幀數(shù)據(jù),從而緩解信道擁塞狀況,降低音視頻的延時,保證流媒體播放的實時性。此外,本發(fā)明根據(jù)接收方接收到的信道傳輸數(shù)據(jù)量,利用加權(quán)平均碼率的控制算法來實現(xiàn)動態(tài)調(diào)節(jié)發(fā)送方的編碼碼率,從而能更好地自適應(yīng)無線信道帶寬的變化。
【IPC分類】H04L29-06, H04L29-08, H04L1-16
【公開號】CN104618337
【申請?zhí)枴緾N201410852842
【發(fā)明人】陸斌, 張華熊, 胡潔
【申請人】浙江理工大學(xué)
【公開日】2015年5月13日
【申請日】2014年12月31日