一種流媒體自適應傳輸選擇性丟幀方法
【技術領域】
[0001] 本發明屬于流媒體傳輸技術領域,特別涉及一種流媒體自適應傳輸方法。
【背景技術】
[0002] 近年來,隨著互聯網與多媒體壓縮等技術的快速發展,流媒體技術應運而生。與傳 統的播放方式不同,流媒體在播放前并不下載整個文件,只將部分內容緩存,使流媒體數據 流邊傳送邊播放,這樣就大大減少了下載等待時間和存儲空間。流媒體技術的應用范圍越 來越廣。
[0003]但是基于目前的寬帶網絡或無線網絡,還不足以使流媒體傳輸質量達到令人滿意 的水平。流媒體在網絡上進行實時傳輸有以下難點:
[0004]①帶寬。在現在的Internet上,當網絡發生擁塞時,視頻流數據的有效傳輸帶寬 會突然降低;無線網絡連接的質量受環境的影響大,帶寬不穩定。影響視頻流的播放質量, 甚至造成圖像無法觀看。
[0005]②延時。IP網絡數據傳輸不提供延時保障,當網絡擁塞發生時,數據的傳輸會經歷 漫長的排隊等候時間,客戶端的播放因為等候數據而停止,造成播放質量的嚴重下降。
[0006]③丟包率。當網絡過分繁忙時,網絡中的主機(路由器)的到達隊列被填滿,后續 到達的數據只能被丟棄。這樣,視頻流數據傳輸的丟包率無法得到保證,因而無法保證視頻 傳輸質量。
[0007]目前解決以上問題有兩種方式:
[0008]①依靠網絡提供的QoS,以滿足流媒體實時傳輸所需的時延、抖動、丟包率等要求。
[0009]②由終端進行控制。基于終端的流媒體QoS控制方法有擁塞控制、差錯控制和帶 寬壓縮技術。
[0010] 由于TCP的重傳機制和擁塞控制機制不適合流媒體數據的傳輸,只能采用UDP協 議傳輸流媒體數據,并利用RTP協議為實時數據提供具有實時特征的端對端傳送服務。但 RTP本身并沒有提供按時發送機制或其它服務質量(QoS)保證,因此,流媒體的傳輸與播放 要達到令人滿意的服務質量還需在應用程序中加入一些自適應傳輸策略。
[0011]目前的自適應傳輸策略的一個主要研究方向是是根據網絡狀況主動丟幀。但目前 已有的丟幀方法,籠統地丟棄全部B幀或P幀,這就造成了接收端視頻質量的明顯下降。
【發明內容】
[0012] 針對上述容易在發送隊列堆積大量數據信息,導致網絡擁堵,容易出現數據傳輸 不穩定和不可靠的問題,本發明提出了一種基于信源的自適應傳輸方法。本方法可以做到 根據網絡狀況部分丟棄B幀或P幀,這樣就能避免全部丟幀造成的視頻質量明顯下降;間隔 丟幀,避免視頻突然的卡頓等現象。
[0013]本發明提出了一種流媒體自適應傳輸選擇性丟幀方法,具體步驟包括:
[0014] (1)發送端以初始碼率V。對音視頻數據進行編碼;
[0015] (2)對編碼后視頻數據流中的I幀、P幀、B幀以及與視頻流同步的音頻流數據進 行數據分割,得到多個數據分片;
[0016] (3)對得到的數據分片封裝數據包頭,形成數據包;
[0017] (4)發送端根據網絡狀況來調整發送狀態,網絡狀況良好時發送所有幀的數據包, 網絡狀況不好時主動丟棄部分幀。
[0018] 作為優選,所述的步驟(4)中,網絡狀況的判別方法如下:
[0019] 預先設置丟包率的兩個臨界值分別為k。、h,其中k。為傳輸狀態較好時丟包率可 以達到的較小值,4為傳輸狀態一般時丟包率可以達到的較大值,k。<kρ
[0020] a.當接收端反饋的實時丟包率k彡k。時,說明網絡狀況良好;
[0021] b.當接收端反饋的實時丟包率&<1^<1^時,說明網絡狀況一般;
[0022] c.當接收端反饋的實時丟包率k彡h時,說明網絡狀況不好。
[0023] 作為優選,所述的步驟(4)中,發送端主動丟幀的策略如下:
[0024] a.當接收端反饋的實時丟包率k<k。時,傳輸所有數據包;
[0025] b.當接收端反饋的實時丟包率k(j<k<k對,為了改善傳輸狀態,選擇按比例主 動丟棄部分B幀,丟幀方法為:丟棄B幀的比例占所有B幀的比例為
Μ司隔丟幀,即
,則隔η-1個Β幀主動丟棄1個Β幀;
[0026] c.當接收端反饋的實時丟包率k多h時,主動丟棄全部Β幀;若丟棄Β幀后的實 時丟包率V<k。,則不再丟幀,此時傳輸所有I幀和P幀;若丟棄B幀后的實時丟包率k。 <I<h,則主動丟棄每組GOP的后
P幀,此時傳輸I幀和剩余的P幀;若丟棄 B幀后的實時丟包率V彡h,則主動丟棄所有的P幀,此時只傳輸I幀。
【附圖說明】
[0027]圖1是本發明所示的流媒體自適應傳輸選擇性丟幀方法的流程圖;
[0028] 圖2是數據包的構成圖;
[0029] 圖3是數據包頭的構成圖。
【具體實施方式】
[0030] 為了更直觀地描述本專利,下面結合圖1以【具體實施方式】對本專利的技術方案進 行詳細說明。
[0031 ] -種流媒體自適應傳輸選擇性丟幀方法,步驟如下所示:
[0032] (1)發送端以初始碼率v0= 600Kb/s對顯示順序為"I . "的音視頻數據進行編碼;
[0033] (2)對編碼后視頻數據流中的I幀、Ρ幀、Β幀以及與視頻流同步的音頻流數據進 行數據分割,得到多個數據分片;每個數據分片以600個字節為單位,I幀、Ρ幀、Β幀或音頻 流的最后一個數據分片,可以為不足600個字節的數據分片;
[0034] (3)對得到的數據分片封裝數據包頭,形成數據包;
[0035] 數據包包含數據包頭和數據分片兩部分,如圖2所示。
[0036] 其中數據分片即為所傳輸的音視頻數據。數據包頭的構成如圖3所示。
[0037] 本實施方式中,關于幀類型:若數據分片屬于I幀,則幀類型為00;若數據分片屬 于P幀,則幀類型為01 ;若數據分片屬于B幀,則幀類型為10 ;若數據分片屬于音頻流,則幀 類型為11。
[0038] 關于幀尾標記:若數據分片是I幀、P幀、B幀或音頻流的最后一個數據分片,則幀 尾標記為1 ;若否,則幀尾標記為0。
[0039] 關于序列號:依次將序列號0至65535賦予每個數據包,超出65535的再從0開始 賦值。
[0040] (4)發送端根據網絡狀況來調整發送狀態:
[0041] 預先設置丟包率的兩個臨界值分別為k(j= 1%、ki= 5%。
[0042] 若接收端反饋的實時丟包率k= 0. k。,說明網絡狀況良好,此時傳輸所有數 據包;
[0043] 若接收端反饋的實時丟包率匕<k= 4% <h時,說明網絡狀況一般,此時為了 改善傳輸狀態,選擇按比例主動丟棄部分B幀。丟幀方法為:丟棄B幀的比例占所有B幀的
間隔丟幀,即隔1個B幀主動丟棄3個B幀,丟幀后該音視頻數據的 顯示順序為"ΙΑΡΑΡΑΡΑ......";
[0044] 若接收端反饋的實時丟包率k= 10%彡h,說明網絡狀況不好,此時主動丟棄全 部B幀。若丟棄B幀后的實時丟包率V= 0. 7%彡k。,則不再丟幀,此時該音視頻數據的 顯示順序為"ΙΛΡ2Ρ3Ι2......";若丟棄Β幀后的實時丟包率匕<V= 2%<ki,則主動丟
的P幀,此時該音視頻數據的顯示順序為"ΙΛΡ2Ι2......"; 若丟棄Β幀后的實時丟包率V= 7%多kp則主動丟棄所有的Ρ幀,此時該音視頻數據的 顯示順序為"IJ2I3......"。
【主權項】
1. 一種流媒體自適應傳輸選擇性丟幀方法,其特征在于,包括如下步驟: (1) 發送端以初始碼率%對音視頻數據進行編碼; (2) 對編碼后視頻數據流中的I幀、P幀、B幀以及與視頻流同步的音頻流數據進行數 據分割,得到多個數據分片; (3) 對得到的數據分片封裝數據包頭,形成數據包; (4) 發送端根據網絡狀況來調整發送狀態,網絡狀況良好時發送所有幀的數據包,網絡 狀況不好時主動丟棄部分幀。2. 如權利要求1所述的一種流媒體自適應傳輸選擇性丟幀方法,其特征在于:所述步 驟(4)中,網絡狀況的判別方法如下: 預先設置丟包率的兩個臨界值分別為k。、Ic1,其中k。為傳輸狀態較好時丟包率可以達 到的較小值,Ii1為傳輸狀態一般時丟包率可以達到的較大值,1^。< k P a. 當接收端反饋的實時丟包率k < k。時,說明網絡狀況良好; b. 當接收端反饋的實時丟包率匕< k < k ^寸,說明網絡狀況一般; c. 當接收端反饋的實時丟包率k多Ic1時,說明網絡狀況不好。3. 如權利要求1所述的一種流媒體自適應傳輸選擇性丟幀方法,其特征在于:所述步 驟(4)中,發送端主動丟幀的策略如下: a. 當接收端反饋的實時丟包率k < k。時,傳輸所有數據包; b. 當接收端反饋的實時丟包率k(j< k < 1^時,為了改善傳輸狀態,選擇主動丟棄部分 B幀; c. 當接收端反饋的實時丟包率k多Ic1時,主動丟棄全部B幀;若丟棄B幀后的實時 丟包率I < k。,則不再丟幀,此時傳輸所有I幀和P幀;若丟棄B幀后的實時丟包率k。 < I < Ic1,則主動丟棄部分P幀,此時傳輸I幀和剩余的P幀;若丟棄B幀后的實時丟包 率V ^ Ic1,則主動丟棄所有的P幀,此時只傳輸I幀。4. 如權利要求3所述的一種流媒體自適應傳輸選擇性丟幀方法,其特征在于:所述步 驟(4)的策略b中,發送端主動丟棄部分B幀的具體方法為:按比例丟棄部分B幀,丟棄B幀的比例占所有B幀的比例為' H司隔丟幀,即若比例為i ,則隔n-1個B幀主動丟棄 η 1個B幀。5. 如權利要求3所述的一種流媒體自適應傳輸選擇性丟幀方法,其特征在于:所述步 驟(4)的策略c中,所述若丟棄B幀后的實時丟包率匕< V < Ic1,則主動丟棄部分P幀的 具體方法是:按比例丟棄部分P幀,主動丟棄每組GOP的后'的P幀。
【專利摘要】本發明提供了一種流媒體自適應傳輸選擇性丟幀方法。通過比較接收端反饋的實時丟包率與預先設置的丟包率臨界值,來判定網絡狀況,選擇是否主動丟幀。當網絡狀況良好時,傳輸所有數據包;當網絡狀況一般或者較差時,按比例主動間隔丟棄部分B幀,或者主動丟棄全部B幀,或者再按比例丟棄部分P幀或全部P幀。本發明采取的按比例主動丟幀和間隔丟B幀方式,可以在一定的丟包率范圍內盡可能避免連續丟幀,從而避免接收端的視頻卡頓現象。
【IPC分類】H04N21/845, H04N21/647
【公開號】CN105357592
【申請號】CN201510702254
【發明人】劉琚, 馬良, 孫超
【申請人】山東大學蘇州研究院
【公開日】2016年2月24日
【申請日】2015年10月26日