基於超文本傳輸協議流化的多碼率媒體流自適應控制方法
2023-06-11 01:33:46 1
專利名稱:基於超文本傳輸協議流化的多碼率媒體流自適應控制方法
技術領域:
本發明涉及媒體傳輸技術領域,特別涉及基於HTTP (超文本傳輸協議)流化的媒體傳輸自適應控制算法。
背景技術:
HTTP協議最初是用來瀏覽網頁,傳輸文本的協議。這樣看來,HTTP涉及的網絡流量很小,因此顯然不太適合流量較大的視頻下載和傳輸。另外,由於HTTP是基於TCP的協議,TCP本身具有的擁塞控制以及重傳時延都被認為是不適合傳輸視頻的機制。因此,早期的視頻傳輸都是利用UDP(例如RTP over UDP)協議、架構專有的視頻伺服器系統完成的, 成本昂貴且不適宜大規模的部署。近幾年來,Internet的快速發展和網絡帶寬的不斷增加,以及人們對於視頻需求量的增長,使得基於視頻應用產生的網絡流量佔到了 Internet總流量的一半以上。相對於傳統的視頻流化技術,基於HTTP的流化自適應方案無需架設專用視頻伺服器,而是利用現有的WEB伺服器並且在伺服器產生同一視頻的不同碼率的視頻片斷,其中視頻片斷可以理解為將長的視頻流切割成一個個小的片斷(一般為幾秒鐘),不同碼率對應不同的視頻質量級別,在不同網絡條件下通過切換質量級別實現視頻的連續平滑播放。HTTP流實質上就是一系列連續視頻片斷傳輸、下載和播放。從用戶的角度看,多碼率的HTTP流可以取得和基於傳統流媒體協議的視頻流(例如RTP流)同樣甚至更優的播放效果,這其中的自適應算法起著重要作用。另外,HTTP/TCP對防火牆/NAT的穿越能力也使得HTTP流化技術在 Internet上的應用前景廣闊。
發明內容
技術問題本發明的目的是公開一種基於超文本傳輸協議流化的多碼率媒體流自適應控制方法,相比較在伺服器進行的自適應算法客戶端對網絡狀況和本身資源的估計更具有實時性,因此算法更加準確。技術方案本發明的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法用於基於HTTP流化的多碼率自適應傳輸系統,該系統包括伺服器和客戶端兩個組成部分;月艮務器包括媒體流接收模塊、媒體流切片處理模塊以及媒體流發送模塊;客戶端通過HTTP協議請求媒體流切片;客戶端計算連續多片媒體流切片的接收時間,提取連續多片媒體流切片的大小, 估計當前可用帶寬;客戶端提取最後接收的媒體流切片即當前媒體流切片的比特率,該比特率與質量級別一一對應,比特率越小,質量級別越低;客戶端計算兩個連續媒體流切片的請求時間,提取這兩個連續媒體流切片的時間戳,估計客戶端緩存可播放時間;客戶端對估計出的當前可用帶寬與當前媒體流切片的比特率比較大小,如果當前可用帶寬連續多次大於當前媒體流切片的比特率,並且客戶端的緩存可播放時間大於0,並且當前比特率不是最高質量級別的比特率時,客戶端請求的下一個媒體流切片的質量級別上升一級。如果當前可用帶寬連續多次小於當前媒體流切片的比特率,並且客戶端的緩存可播放時間小於設定的一段時間,並且當前比特率不是最低質量級別的比特率時,客戶端請求的下一個媒體流切片的質量級別下降一級;其它不滿足上述兩種情況的任何情況,客戶端請求的下一個媒體流切片的質量級別保持不變。所述基於HTTP流化的多碼率自適應傳輸系統,該系統中的伺服器只負責媒體流的接收、處理和發送,不負責媒體流的編碼;該系統中客戶端是網頁播放器。所述媒體流切片,是包含整數個圖像組G0P,每個GOP第一幀為立即刷新幀IDR幀且不含有雙向預測幀B幀;人為規定媒體流切片的長度,以時間t秒為度量,0 < t < 10 ;媒體流切片的大小, 其單位是比特或者字節的表示存儲容量的單位,不是時間單位。所述媒體流切片的接收時間,是客戶端下載該切片的第一個比特開始到最後一比特下載結束的時間,該時間內,客戶端只對一個媒體流切片進行接收。所述提取連續多片媒體流切片的大小,是從媒體流切片本身的媒體文件封裝格式中提取有關切片大小的參數。所述兩個連續媒體流切片的請求時間,是客戶端對這兩個連續媒體流切片的HTTP GET請求時間;所述提取這兩個連續媒體流切片的時間戳,是指從媒體流切片本身的媒體文件封裝格式中提取有關兩個切片時間信息的參數。所述的媒體文件封裝格式中,除編碼的媒體內容外,還包括該媒體的時間戳和大
小等信息。所述客戶端緩存可播放時間,是指當前時刻客戶端緩存數據可以連續播放的最大時間。所述基於HTTP流化的多碼率自適應傳輸系統,是至少含有三個不同碼率即比特率的媒體流的系統。客戶端與伺服器建立連接,客戶端向伺服器發送請求媒體描述文件的GET請求;伺服器響應請求,返回媒體描述文件,客戶端獲知可以請求的媒體流切片的比特率;客戶端從最低比特率請求媒體流切片,當請求的媒體流切片數目大於等於一定數量時,客戶端啟動如下算法客戶端計算連續多片媒體流切片的接收時間,接收時間是指客戶端下載該切片的第一個比特開始到最後一比特下載結束的時間。客戶端提取多片媒體流切片的大小和最後接收的媒體流切片(當前媒體流切片)的比特率。由這幾個媒體流切片的大小和其接收時間的比值的平均值得到對當前帶寬估計值。客戶端計算兩個連續媒體流切片的請求時間之差,稱為請求間隔。提取這兩個連續媒體流切片的時間戳並計算兩時間戳之差,稱為時間戳間隔。客戶端緩存可播放時間的估計等於時間戳間隔與請求間隔之差的逐次累加。客戶端將得到的當前帶寬的估計值與當前媒體流切片比特率進行大小比較。 若當前帶寬的估計值連續大於當前媒體流切片的比特率,同時客戶端緩存可播放時間大於零,並且當前比特率不是 最高質量級別的比特率時,則請求的下一個媒體流切片的質量級別比當前媒體流切片高一個級別。若當前帶寬的估計值連續小於當前媒體流切片的比特率,同時客戶端緩存可播放時間小於一定數目媒體流切片的總時長,並且當前比特率不是最低質量級別的比特率時, 則請求的下一個媒體切片的質量級別比當前媒體流切片低一個級別。其它不滿足上述兩種情況的任何情況,則請求的下一個媒體流切片的質量級別保持不變;有益效果本發明是在客戶端進行的多碼率媒體流自適應控制算法,相比較在伺服器進行的自適應算法客戶端對網絡狀況和本身資源的估計更具有實時性,因此算法更加準確。
圖1基於HTTP流化的多碼率自適應傳輸系統,圖2基於HTTP流化的多碼率自適應控制算法流程圖。
具體實施例方式下面結合附圖和具體實施方式
對本發明做進一步描述。該方法應用於基於HTTP流化的多碼率自適應傳輸系統,該系統包括伺服器和客戶端兩個組成部分;伺服器包括媒體流接收模塊、媒體流切片處理模塊以及媒體流發送模塊;客戶端通過HTTP協議請求媒體流切片;客戶端計算連續多片媒體流切片的接收時間,提取連續多片媒體流切片的大小, 估計當前可用帶寬;客戶端提取最後接收的媒體流切片即當前媒體流切片的比特率,該比特率與質量級別一一對應,比特率越小,質量級別越低;客戶端計算兩個連續媒體流切片的請求時間,提取這兩個連續媒體流切片的時間戳,估計客戶端緩存可播放時間;客戶端對估計出的當前可用帶寬與當前媒體流切片的比特率比較大小,如果當前可用帶寬連續多次大於當前媒體流切片的比特率,並且客戶端的緩存可播放時間大於0,並且當前比特率不是最高質量級別的比特率時,客戶端請求的下一個媒體流切片的質量級別上升一級。如果當前可用帶寬連續多次小於當前媒體流切片的比特率,並且客戶端的緩存可播放時間小於設定的一段時間,並且當前比特率不是最低質量級別的比特率時,客戶端請求的下一個媒體流切片的質量級別下降一級;其它不滿足上述兩種情況的任何情況,客戶端請求的下一個媒體流切片的質量級別保持不變。實施例1 如圖1是本算法應用的基於HTTP流化的多碼率自適應傳輸系統,該系統伺服器可以提供同一內容的5種不同比特率的片源。這5種不同比特率的片源從小到大記為bp b2、b3、b4、b5,對應從低到高5種質量級別,記為0、1、2、3、4。媒體流切片時長約為5秒。客戶端與伺服器建立連接,客戶端向伺服器發送請求媒體描述文件的GET請求;伺服器響應請求,返回媒體描述文件,客戶端獲知可以請求的媒體流切片的比特率;
客戶端從最低比特率請求媒體流切片,當請求的媒體流切片數目大於5時,客戶端啟動算法客戶端計算連續5片媒體流切片的接收時間,分別記為TU1)、T(t2)、T(t3)、T(t4)、 T(t5),接收時間是指客戶端下載該切片的第一個比特開始到最後一比特下載結束的時間。客戶端提取這5片媒體流切片的大小,分別記為Sizeai), Size (t2). Size (t3)> Size(t4)、Size(t5),客戶端提取最後接收的媒體流切片(當前媒體流切片)的比特率 bJO彡i彡4)。客戶端根據下式估計當前的帶寬bw。。
權利要求
1.一種基於超文本傳輸協議流化的多碼率媒體流自適應控制方法,其特徵在於,該方法應用於基於HTTP流化的多碼率自適應傳輸系統,該系統包括伺服器和客戶端兩個組成部分;伺服器包括媒體流接收模塊、媒體流切片處理模塊以及媒體流發送模塊;客戶端通過HTTP協議請求媒體流切片;客戶端計算連續多片媒體流切片的接收時間,提取連續多片媒體流切片的大小,估計當前可用帶寬;客戶端提取最後接收的媒體流切片即當前M^M紐片的比特率,該比特率與質量級別一一對應,比特率越小,質量級別越低;客戶端計算兩個連續媒體流切片的請求時間,提取這兩個連續媒體流切片的時間戳, 估計客戶端緩存可播放時間;客戶端對估計出的當前可用帶寬與當前媒體流切片的比特率比較大小,如果當前可用帶寬連續多次大於當前媒體流切片的比特率,並且客戶端的緩存可播放時間大於0,並且當前比特率不是最高質量級別的比特率時,客戶端請求的下一個媒體流切片的質量級別上升一級。如果當前可用帶寬連續多次小於當前媒體流切片的比特率,並且客戶端的緩存可播放時間小於設定的一段時間,並且當前比特率不是最低質量級別的比特率時,客戶端請求的下一個媒體流切片的質量級別下降一級;其它不滿足上述兩種情況的任何情況,客戶端請求的下一個媒體流切片的質量級別保持不變。
2.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述基於HTTP流化的多碼率自適應傳輸系統,該系統中的伺服器只負責媒體流的接收、處理和發送,不負責媒體流的編碼;該系統中客戶端是網頁播放器。
3.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述媒體流切片,是包含整數個圖像組GOP,每個GOP第一幀為立即刷新幀IDR 幀且不含有雙向預測幀B幀;人為規定媒體流切片的長度,以時間t秒為度量,0 < t < 10 ;媒體流切片的大小,其單位是比特或者字節的表示存儲容量的單位,不是時間單位。
4.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述媒體流切片的接收時間,是客戶端下載該切片的第一個比特開始到最後一比特下載結束的時間,該時間內,客戶端只對一個媒體流切片進行接收。
5.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述提取連續多片媒體流切片的大小,是從媒體流切片本身的媒體文件封裝格式中提取有關切片大小的參數。
6.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述兩個連續媒體流切片的請求時間,是客戶端對這兩個連續媒體流切片的 HTTP GET請求時間;所述提取這兩個連續媒體流切片的時間戳,是指從媒體流切片本身的媒體文件封裝格式中提取有關兩個切片時間信息的參數。
7.根據權利要求5所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述的媒體文件封裝格式中,除編碼的媒體內容外,還包括該媒體的時間戳和大小等信息。
8.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法,其特徵在於,所述客戶端緩存可播放時間,是指當前時刻客戶端緩存數據可以連續播放的最大時間。
9.根據權利要求1所述的基於超文本傳輸協議流化的多碼率媒體流自適應控制方法, 其特徵在於,所述基於HTTP流化的多碼率自適應傳輸系統,是至少含有三個不同碼率即比特率的媒體流的系統。
全文摘要
本發明提供了一種基於超文本傳輸協議流化的多碼率媒體流自適應控制方法,涉及媒體傳輸技術領域。本方法應用於基於HTTP流化的多碼率自適應傳輸系統。本方法的內容包括客戶端通過HTTP請求媒體流切片時,通過當前媒體流切片的比特率、時長以及接收時間估計當前可用帶寬,通過連續兩個媒體流切片的請求時間的差值和時間戳的差值估計當前客戶端緩存可播放時間。客戶端根據當前可用帶寬和緩存可播放時間決定請求下一個媒體流切片的質量級別。本方法有效的利用了帶寬,最大限度的提高了用戶體驗。
文檔編號H04L29/06GK102333089SQ201110288958
公開日2012年1月25日 申請日期2011年9月26日 優先權日2011年9月26日
發明者劉峰, 王欣 申請人:南京郵電大學