一種流媒體傳輸自適應糾錯方法
2023-05-27 18:18:51 1
專利名稱:一種流媒體傳輸自適應糾錯方法
技術領域:
本發明涉及流媒體傳輸技術領域,具體涉及一種流媒體傳輸自適應糾錯 方法。
背景技術:
隨著網絡技術和多媒體業務的不斷發展,多媒體通信業務逐漸在
Internet應用中佔據主導地位。由於多媒體業務如語音、視頻傳輸對網絡帶 寬的要求比較高,同時由於IP網絡容易產生擁塞導致媒體數據的丟失,因 此在網絡環境動態變化的情況下,需要一種流媒體傳輸自適應糾錯方法來 為用戶提供可靠、流暢和實時的端對端的服務質量保證。
影響流媒體質量的因素有很多,如網絡擁塞、分組超時丟失、傳輸損 傷等。對動態變化的網絡帶寬導致的丟包通常採取的辦法是自動調整流媒 體編碼碼率,而對傳輸過程中發生的丟包一般採取的方法是差錯和數據包 丟失控制。在有限的網絡帶寬動態變化時,要保證客戶端流媒體播放的流 暢性, 一般都是採取檢測網絡帶寬的狀態,以此動態地自適應調整服務端 的流媒體編碼發送碼率的方法。目前,有很多辦法可以用來檢測網絡帶寬 的狀況,例如接收端通過實時傳輸控制協議RTCP (Real-time Control Protocol)報告分組向發送端反饋網絡狀態信息。另外,我們也可以在發送 端運行網絡測速軟體(如TCP/IP和UDP/IP的性能測量工具Iperf)來準確 測量帶寬。對傳輸過程中產生的差錯和數據包丟失,進行控制的的基本方 法大致可分為4類重傳反饋(ARQ)、前向糾錯(FEC) 、 FEC/ARQ的混 合差錯控制方式、信息反饋(IRQ , information repeat request)方式。其中 前向糾錯(FEC)是一種比較先進的糾錯方法,相對於重傳反饋(ARQ)和信息 反饋(IRQ)方式實時性能好,但是發送FEC糾錯包會佔用額外的網絡帶寬。
3現有不可靠的IP網絡以及有限的網絡帶寬都會影響流媒體傳輸的質 量,因此需要一種既能動態調整媒體編碼碼率也能夠在接收端恢復丟失數
據的方法,來保證流媒體的質量。實時傳輸控制協議RTCP組合前向糾錯 FEC是一種比較適用的方法,但是現有的方法FEC參數往往是固定的,設 以較小的編碼率會導致接收端恢復性能差,較大的編碼率則會浪費網絡帶 寬。
發明內容
本發明的目的在於提出一種流媒體傳輸自適應糾錯方法,該方法不僅能 夠動態調整流媒體編碼碼率,以自動適應網絡帶寬,接收端也能夠恢復由 於網絡擁塞丟失的數據,同時動態地調整前向糾錯FEC的參數能夠更加有 效的利用網絡帶寬。
一種流媒體傳輸自適應糾錯方法,具體為
步驟(1)媒體接收端向媒體發送端反饋丟包信息;
步驟(2)媒體發送端接收丟包信息,計算丟包率P,依據丟包率P調
整編碼碼率B,使用調整後的編碼碼率B生成當前RTP媒體數據包;根據 關係式P< (N-K)/N < W/B - 1確定原始媒體數據包數量K以及編碼後FEC 糾錯包和媒體數據包數量和N, W為網絡帶寬,再採用前向糾錯FEC技術 RS算法生成FEC糾錯包,將其與當前RTP媒體數據包一起傳送給媒體接 收端;
步驟(3)媒體接收端接收當前RTP媒體數據包和FEC糾錯包,利用 FEC糾錯包對當前RTP媒體數據包進行恢復。
媒體發送端按照下述方法調整編碼碼率B:若丟包率P〉丟包率上限值 K+,則降低編碼碼率B;若丟包率P〈丟包率下限值IC,則提高編碼碼率B; 若K^PSK+,則保持編碼碼率B不變。本發明利用RTCP協議中的接收反饋包(Receive Report, RR)使得發 送端能夠掌握當前的網絡狀況,並在出現丟包時使用前向糾錯技術FEC來 進行丟失數據包的恢復。如無丟包現象時,則可以不發送FEC包,但是IP 網絡波動性比較大, 一旦網絡狀況變差,可以根據RR包中的丟包率統計信 息,進行編碼碼率的調整,在碼率調整結束之後,可以選擇恰當的RS參數 發送冗餘的FEC包以便於接收端數據的恢復。本發明可以達到碼率自適應 的目的,同時動態地調整FEC參數也能夠更加有效的利用網絡帶寬,實用 性強。
圖1為本發明媒體發送端和接收端交互示意圖。
圖2為本發明媒體發送端自適應調節流媒體質量詳細流程圖。
圖3為本發明媒體接收端自適應調節流媒體質量詳細流程圖。
具體實施例方式
下面結合附圖對實施例進行詳細說明。
圖l顯示了本發明媒體發送端和接收端交互示意圖,具體為媒體發送 端向接收端發送RTP (Real-time Transport Protocol,實時傳送協議)媒體包 和FEC糾錯包,媒體接收端接收數據,並發送包含丟包信息的RTCP協議 RR包給發送端,發送端根據反饋的丟包情況算出丟包率P,由丟包率P調 整編碼碼率B並根據關係式P< (N-K)/N < W/B - 1選擇FEC技術RS (Reed Solomen)算法中的參數K和N, K表示原始媒體數據包數量,N表示編碼 後FEC糾錯包和媒體數據包數量和,RS算法中根據K個原始媒體數據包 生成N-K個FEC糾錯包。
圖2顯示了本發明媒體發送端自適應調節流媒體質量詳細流程圖,具體
為
步驟201,發送進程開始,準備發送媒體數據;
5步驟202,初始化編碼器,設定初始碼率BQ,最低碼率B.,最高碼率 B+及碼率調整步長Bs;
步驟203,初始化前向糾錯FEC技術RS算法中的K和N參數;
步驟204,接收接收端反饋回來的RTCP協議RR包,得出網絡丟包率P;
步驟205,判斷P是否大於K+, K+為丟包率上限值, 一般(KK,l,若 大於,則進入步驟206;否則進入步驟208;
步驟206,判斷當前編碼碼率B是否大於B.,若大於,則轉到步驟207; 否則進入步驟211;
步驟207,令當前碼率B-B-Bs,即將編碼碼率降低一個步長Bs,進入步 驟211;
步驟208,判斷P是否在OSP〈IC範圍內,K—為丟包率下限值, 一般 (^K^K+,若在則進入步驟209;否則進入步驟211;步驟209,判斷當前編碼碼率B是否小於B+,若小於,則進入步驟210; 否則進入步驟211;
步驟210,令當前碼率B-B+Bs,即將編碼碼率提高一個步長Bs,進入 步驟211;
步驟211,根據P和B選定FEC技術RS算法中參數K和N,並生成相 應的FEC糾錯包;
步驟212,依據當前編碼碼率生成RTP媒體包,將其與FEC糾錯包一 起傳送給媒體接收端,轉入步驟204,進行循環發送數據。
圖3顯示了本發明媒體接收端自適應調節流媒體質量詳細流程圖,具體
為
步驟301,接收進程開始,準備接收媒體數據; 步驟302,讀取網絡媒體RTP數據包和FEC糾錯包; 步驟303,根據RTP數據包包頭的PT欄位,判斷數據包的類型,若為 媒體包,則進入步驟304;若為FEC糾錯包,則進入步驟305; 步驟304,將接收的數據包保存至媒體包隊列; 步驟305,將接收的數據包保存至FEC糾錯包隊列;步驟306,根據媒體包隊列判斷是否有丟包,若有則進入步驟307;否 則進入步驟308;
步驟307,通過FEC技術恢復丟包;
步驟30S,對接收的媒體包和通過FEC恢復的數據包進行解碼播放,然 後轉到步驟302,進行循環接收。 實例
編碼器的初始碼率B『200Kbps,最低碼率B.=50Kbps,最高碼率 B+=500Kbps,碼率調整步長Bs=50Kbps。丟包率上限值K+=0.2,丟包率下 限值K.=0.1 。前向糾錯FEC編碼器的初始參數,原始媒體數據包數量K=10, 編碼後總的數據包數量N42。
初始化完成之後,在出口帶寬W-500K的IP丟包網絡中,發送端開始 發送媒體數據,接收端反饋回來的丟包率P=0.4,由於P>K+,調整碼率 B=B。-Bs=200Kbps-50Kbps= 15OKbps。調整之後接收端反饋回來的丟包率 P=0.15, K^P^K+,不需要再調整碼率B,根據關係式?1《)/]^<\¥/3-1算得FEC編碼器的編碼率-1.33〈K/N0.85,又0<K/N且K<N,固定K=10, 則11.76〈N,又N為整數,取N42。接收端利用FEC包和媒體包恢復丟失 的數據,媒體質量大為改善,無明顯延時和馬賽克現象,說明利用本專利 描述的方法很好的提高了流媒體的質量。
權利要求
1、一種流媒體傳輸自適應糾錯方法,具體為步驟(1)媒體接收端向媒體發送端反饋丟包信息;步驟(2)媒體發送端接收丟包信息,計算丟包率P,依據丟包率P調整編碼碼率B,使用調整後的編碼碼率B生成當前RTP媒體數據包;根據關係式P<(N-K)/N<W/B-1確定原始媒體數據包數量K以及編碼後FEC糾錯包和媒體數據包數量和N,W為網絡帶寬,再採用前向糾錯FEC技術RS算法生成FEC糾錯包,將其與當前RTP媒體數據包一起傳送給媒體接收端;步驟(3)媒體接收端接收當前RTP媒體數據包和FEC糾錯包,利用FEC糾錯包對當前RTP媒體數據包進行恢復。
2、 根據權利要求1所述的一種流媒體傳輸自適應糾錯方法,其特徵在 於,媒體發送端按照下述方法調整編碼碼率B:若丟包率P〉丟包率上限值 K+,則降低編碼碼率B;若丟包率P〈丟包率下限值K.,則提高編碼碼率B; 若K^PSK+,則保持編碼碼率B不變,0SK_5K+<1。
全文摘要
本發明公開了一種流媒體傳輸自適應糾錯方法,媒體接收端向媒體發送端反饋丟包信息,媒體發送端計算丟包率,依據丟包率調整編碼碼率,並生成當前RTP媒體數據包;根據與網絡帶寬、編碼碼率及丟包率相關的關係式確定原始媒體數據包數量以及編碼後FEC糾錯包和媒體數據包數量和,再採用前向糾錯FEC技術RS算法生成FEC糾錯包,將其與當前RTP媒體數據包一起傳送給媒體接收端,媒體接收端使用FEC糾錯包對當前RTP媒體數據包進行恢復。本發明不僅能夠動態調整流媒體編碼碼率以適應網絡帶寬變化,接收端也能夠恢復由於網絡擁塞丟失的數據,同時動態地調整前向糾錯FEC技術的參數能夠更加有效的利用網絡帶寬。
文檔編號H04L1/00GK101505202SQ20091006112
公開日2009年8月12日 申請日期2009年3月16日 優先權日2009年3月16日
發明者鑭 何, 左冬紅, 朱龍成, 李軍亮, 旭 杜, 春 王 申請人:華中科技大學