專利名稱:流媒體播放控制方法、裝置和流媒體播放器的制作方法
技術領域:
本發明涉及信息技術領域,特別涉及一種流媒體播放控制方法、裝置和流媒體播 放器。
背景技術:
目前,流媒體服務器向接收方發送的視頻信號通常采用可伸縮視頻編碼,可伸縮 視頻編碼把視頻信號編碼成基本層和增強層,如果網絡帶寬不足,則流媒體服務器只將視 頻信號的基本層數據發送到接收方,但這種情況下,接收方解碼后的視頻質量不高。當帶寬 變大時,流媒體服務器可以將增強層的數據與基本層的數據疊加發送至接收端,使接收方 解碼后的視頻更加清晰。現有的流媒體播放方法,流媒體服務器通過檢測網絡帶寬來分層發送碼流,但網 絡的帶寬是動態的,并且數據傳輸的時延和丟包現象亦是不可預測的,因此,流媒體服務器 難于根據這些不確定因素向接收方發送合適的碼流,進而影響接收方解碼后的視頻播放效果。
發明內容
本發明實施例提供了一種流媒體播放控制方法、裝置和流媒體播放器,以解決現 有技術中流媒體服務器難于根據網絡的帶寬、時延和丟包率等情況向接收方發送合適碼 流,進而影響接收方解碼后的視頻播放效果的問題。本發明實施例提供一種流媒體播放控制方法,包括對緩存區中接收的可伸縮碼流的數據量進行檢測;若所述可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則向所述流媒體 服務器請求減小所述碼流中每幀數據中的增強層數據量;若所述可伸縮碼流的數據量等于 所述向流媒體服務器請求的數據量,則向所述流媒體服務器請求增加所述碼流中每幀數據 中的增強層數據量。本發明實施例還提供一種流媒體播放控制裝置,包括檢測模塊,用于對緩存區中接收的可伸縮碼流的數據量進行檢測;控制模塊,用于判斷所述檢測模塊檢測出所述可伸縮碼流的數據量是否小于向流 媒體服務器請求的數據量;若所述可伸縮碼流的數據量小于向流媒體服務器請求的數據 量,則向所述流媒體服務器請求減小所述碼流中每幀數據中的增強層數據量;若所述可伸 縮碼流的數據量等于所述向流媒體服務器請求的數據量,則向所述流媒體服務器請求增加 所述碼流中每幀數據中的增強層數據量。本發明實施例還提供一種流媒體播放器,包括數據接收模塊,用于作為接收可伸 縮碼流的緩存區;數據解碼模塊,用于對所述數據接收模塊接收的可伸縮碼流進行解碼; 顯示輸出模塊,用于顯示所述數據解碼模塊解碼后的視頻;還包括本發明實施例提供的流 媒體播放控制裝置。
本發明實施例提供的流媒體播放控制方法、裝置和流媒體播放器,接收端實時檢 測緩存區中接收的可伸縮碼流的數據量,并根據可伸縮碼流的數據量請求流媒體服務器增 加或減少發送的碼流中每幀數據中的增強層數據量,從而實現對發送端發送的碼流進行自 適應請求控制,優化了網絡和系統資源的利用,提高接收端的視頻播放質量。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以 根據這些附圖獲得其他的附圖。圖1為本發明提供的流媒體播放控制方法第一實施例的流程圖;圖2為本發明提供的流媒體播放控制方法第二實施例的流程圖;圖3為本發明提供的流媒體播放控制裝置第一實施例的結構示意圖;圖4為本發明提供的流媒體播放控制裝置第二實施例的結構示意圖;圖5為本發明提供的流媒體播放器第一實施例的結構示意圖。
具體實施例方式為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。圖1為本發明提供的流媒體播放控制方法第一實施例的流程圖,如圖1所示,該方 法包括S101、對緩存區中接收的可伸縮碼流的數據量進行檢測;S102、若可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則向流媒體服 務器請求減小碼流中每幀數據中的增強層數據量;若可伸縮碼流的數據量等于向流媒體服 務器請求的數據量,則向流媒體服務器請求增加碼流中每幀數據中的增強層數據量。流媒體服務器向接收方發送的視頻信號采用可伸縮視頻編碼,即將視頻信號編碼 成基本層和增強層。其中,基本層是保證接收方的媒體播放器能夠播放視頻信號的基本保 證,因此,流媒體服務器必需將基本層中的數據傳輸至接收方。如果接收方僅接收到基本層 中的數據,只能保證流媒體文件的正常播放,但接收端流媒體播放器的畫面分辨率較低,效 果較差。增強層的數據傳輸是可以選擇的,在網絡的帶寬充足的情況下,流媒體服務器可以 向接收方發送部分或全部的增強層數據,以提高接收端媒體播放器的畫面分辨率。但如果 網絡的帶寬不足,則流媒體服務器只能向接收方發送基本層的數據。流媒體服務器向接收方發送的碼流以幀為單位進行傳輸,在每幀數據中,基本層 的數據量是不變的,而增強層的數據量是可以根據網絡帶寬情況進行調整的,每幀數據中 按增強層的數據多少可以分為多個等級。接收端接收到流媒體服務器發送的視頻碼流后,首先要將碼流數據存儲在緩存區 內,然后接收端的流媒體播放器從緩存區內讀取數據,進行視頻播放。通常,緩存區中存儲的數據可以是接收端一秒鐘內接收到的視頻碼流的數據量,或者是接收端一定時間內接收 到的視頻碼流的數據量。可以將接收端在一段時間內向流媒體服務器請求的數據量,與同樣的時間長度內 緩存區中接收的可伸縮碼流的數據量進行比較。如果緩存區中接收的可伸縮碼流的數據量 小于接收端向流媒體服務器請求的數據量,則表明網絡傳輸狀況較差,例如寬帶不充足, 傳輸時延或存在丟包等情況,導致請求的數據量無法完全到達接收端的緩存區,因此,可以 向流媒體服務器請求減小碼流中每幀數據中的增強層數據量;如果緩存區中接收的可伸縮 碼流的數據量等于接收端向流媒體服務器請求的數據量,則說明網絡傳輸狀況較好,請求 的數據量基本能夠到達接收端的緩存區,因此,可以向流媒體服務器請求增加碼流中每幀 數據中的增強層數據量,以提高視頻信號的播放質量。其中,需要說明的是,本發明中所說的緩存區中接收的可伸縮碼流的數據量等于 接收端向流媒體服務器請求的數據量,實際上并不一定是完全相等,有可能是二者基本一 致,或者還有可能是緩存區中接收的可伸縮碼流的數據量略小于接收端向流媒體服務器請 求的數據量,以上均可視為網絡環境較好的情況,都可以向流媒體服務器請求增加碼流中 每幀數據中的增強層數據量,以提高視頻信號的播放質量。可以看出,本發明提供了對流媒體播放的自適應控制,通過實時檢測緩存區中接 收的可伸縮碼流的數據量,判斷出網絡傳輸狀況,來相應調整向流媒體服務器請求的碼流 中每幀數據中的增強層數據量,從而使流媒體服務器能夠根據接收端實際接收到的可伸縮 碼流的數據量,向接收端發送合適的碼流,實現網絡和系統資源的優化。本發明實施例提供的流媒體播放控制方法,接收端實時檢測緩存區中接收的可伸 縮碼流的數據量,并根據可伸縮碼流的數據量請求流媒體服務器增加或減少發送的碼流中 每幀數據中的增強層數據量,從而實現對發送端發送的碼流進行自適應請求控制,優化了 網絡和系統資源的利用,提高接收端的視頻播放質量。圖2為本發明提供的流媒體播放控制方法第二實施例的流程圖,如圖2所示,該方 法包括S201、確定緩存容量的門限值;S202、對緩存區中接收的可伸縮碼流的數據量進行檢測;S203、判斷可伸縮碼流的數據量是否小于向流媒體服務器請求的數據量,是則執 行S204 ;否則執行S205或執行S208(圖2所示為執行S205的情況,執行S208的情況圖2 中未視出);S204、向流媒體服務器請求減小碼流中每幀數據中的增強層數據量;S205、判斷緩存區中的數據量是否低于緩存區的門限值,是則執行S206或執行 S208(圖2所示為執行S206的情況,執行S208的情況圖2中未視出);如果緩存區中的數據量等于門限值,即緩存區已滿,則說明緩存區沒有能力接收 更多的數據量,因此,接收端不再向流媒體服務器發起增加或減小碼流中每幀數據中的增 強層數據量,使流媒體服務器保持發送的碼流中每幀數據中的增強層數據量。S206、向流媒體服務器發送數據和/或信令;S207、是否接收到流媒體服務器對數據和/或信令的回復信息,是則執行S208 ;如果沒有接收到流媒體服務器對數據和/或信令的回復信息,則說明網絡目前的帶寬情況已無法支持更多的數據傳輸,因此,接收端不再向流媒體服務器發起增加或減小 碼流中每幀數據中的增強層數據量,使流媒體服務器保持發送的碼流中每幀數據中的增強 層數據量。S208、向流媒體服務器請求增加碼流中每幀數據中的增強層數據量。在根據可伸縮碼流的數據量與向流媒體服務器請求的數據量,向流媒體服務器請 求增加或減小碼流中每幀數據中的增強層數據量的基礎上,進一步的,還可以對接收端的 緩存區的容量,即接收端接收數據量的能力考慮增加或減小碼流中每幀數據中的增強層數據量。其中,接收端接收數據量的能力主要體現在緩存區容量的門限值。由于緩存區中 存儲的數據可以是接收端一秒鐘內接收到的視頻碼流的數據量,或者是接收端一定時間內 接收到的視頻碼流的數據量。因此,S201確定緩存區門限值可以采用多種方式一種優選的實施方式,可以通過預置的流媒體文件對可伸縮碼流進行模擬接收測 試,獲取流媒體文件的性能指標,該流媒體文件的性能指標包括流媒體文件的編碼格式、 流媒體文件的傳輸碼率和流媒體文件的傳輸幀率;根據流媒體文件的編碼格式、流媒體文 件的傳輸碼率和流媒體文件的傳輸幀率確定門限值。其中,流媒體文件可以是接收端預先 存儲的流媒體文件,該流媒體文件與流媒體服務器發送的可伸縮碼流的性能指標基本一 致,二者具有相同的編碼格式、傳輸碼率和傳輸幀率,從而可以通過對預置的流媒體文件的 性能測試來模擬可伸縮碼流。另外,還可以預先獲取一些流媒體服務器發送的可伸縮碼流,對其進行測試,已獲 得性能指標,可伸縮碼流的性能指標包括可伸縮碼流的編碼格式、可伸縮碼流的傳輸碼率 和可伸縮碼流的傳輸幀率;再直接根據可伸縮碼流的編碼格式、可伸縮碼流的傳輸碼率和 可伸縮碼流的傳輸幀率確定所述門限值。當然,緩存區門限值的確定還可以根據經驗值,或 者實際播放需要來確定,這里并不進行具體限制。在S203中,如果可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則說明 網絡的傳輸狀況較差。而緩存區的門限值是根據可伸縮碼流的性能指標確定的,因此,緩存 區中存儲的數據一定不會超過門限值,則可執行S204向流媒體服務器請求減小碼流中每 幀數據中的增強層數據量。如果執行S203判斷出可伸縮碼流的數據量與向流媒體服務器請求的數據量基本 相等,則可以直接執行S208向流媒體服務器請求增加碼流中每幀數據中的增強層數據量。另外,如果執行S203判斷出可伸縮碼流的數據量與向流媒體服務器請求的數據 量基本相等,作為一種較佳的實施方案,還可以進一步執行S205,判斷緩存區中的數據量是 否低于緩存區的門限值,如果低于門限值,則說明接收端在一段時間內仍有能力接收更多 的數據,因此,可以向流媒體服務器請求增加碼流中每幀數據中的增強層數據量,即直接執 行 S208。進一步的,考慮到即使緩存區中的數據量低于緩存區的門限值,也只表明了接收 端在一段時間內仍有能力接收更多的數據,但此時的網絡傳輸狀況未必允許流媒體服務器 向接收端發送更多的數據,例如網絡中的帶寬剛好能夠保證當前碼流的傳輸,而無法支持 更多數據的情況。這種情況下,在執行S205判斷出緩存區中的數據量低于緩存區的門限 值后,還可以進一步對網絡傳輸狀況進行測試,測試在保持當前碼流正常傳輸的前提下,接收端和發送端的流媒體服務器之間是否還能傳輸更多的碼流,即執行S206,接收端向流媒 體服務器發送數據和/或信令,如果能夠收到流媒體服務器的回復信息,則說明目前的網 絡傳輸狀況能夠保證流媒體服務器向接收端發送更多的數據,因此,接收端可以向流媒體 服務器請求增加碼流中每幀數據中的增強層數據量;如果沒有收到流媒體服務器的回復信 息,則說明網絡傳輸狀況不能保證流媒體服務器向接收端發送更多的數據,因此,接收端可 不再向流媒體服務器發起增加或減小碼流中每幀數據中的增強層數據量,使流媒體服務器 保持當前發送的碼流中每幀數據中的增強層數據量。其中,向流媒體服務器發送的數據可 以是預置的冗余數據,向流媒體服務器發送的信令可以是一些常用的交互信令。本發明實施例提供的流媒體播放控制方法,接收端實時檢測緩存區中接收的可伸 縮碼流的數據量,并根據可伸縮碼流的數據量請求流媒體服務器增加或減少發送的碼流中 每幀數據中的增強層數據量,從而實現對發送端發送的碼流進行自適應請求控制,優化了 網絡和系統資源的利用,提高接收端的視頻播放質量。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質 中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。圖3為本發明提供的流媒體播放控制裝置第一實施例的結構示意圖,包括檢測 模塊11和控制模塊12 ;檢測模塊11,用于對緩存區中接收的可伸縮碼流的數據量進行檢測;控制模塊12,用于判斷檢測模塊11檢測出可伸縮碼流的數據量是否小于向流媒 體服務器請求的數據量;若可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則向 流媒體服務器請求減小碼流中每幀數據中的增強層數據量;若可伸縮碼流的數據量等于向 流媒體服務器請求的數據量,則向流媒體服務器請求增加碼流中每幀數據中的增強層數據 量。具體的,流媒體服務器向接收方發送的視頻信號采用可伸縮視頻編碼,即將視頻 信號編碼成基本層和增強層。其中,流媒體服務器必需將基本層中的數據傳輸至接收方,流 媒體服務器可以選擇將部分或全部增強層的數據傳輸至接收方。在網絡的帶寬充足的情況 下,流媒體服務器可以向接收方發送部分或全部的增強層數據,以提高接收端媒體播放器 的畫面分辨率。但如果網絡的帶寬不足,則流媒體服務器只能向接收方發送基本層的數據。流媒體服務器向接收方發送的碼流以幀為單位進行傳輸,在每幀數據中,基本層 的數據量是不變的,而增強層的數據量是可以根據網絡帶寬情況進行調整的,每幀數據中 按增強層的數據多少可以分為多個等級。接收端接收到流媒體服務器發送的視頻碼流后,首先要將碼流數據存儲在緩存區 內,然后接收端的流媒體播放器從緩存區內讀取數據,進行視頻播放。通常,緩存區中存儲 的數據可以是接收端一秒鐘內接收到的視頻碼流的數據量,或者是接收端一定時間內接收 到的視頻碼流的數據量。控制模塊12將在一段時間內向流媒體服務器請求的數據量,與同樣的時間長度 內檢測模塊11檢測到的緩存區中接收的可伸縮碼流的數據量進行比較,如果檢測模塊11檢測到的可伸縮碼流的數據量小于接收端向流媒體服務器請求的數據量,則表明網絡傳輸 狀況較差,導致請求的數據量無法完全到達接收端的緩存區,則控制模塊12可以向流媒體 服務器請求減小碼流中每幀數據中的增強層數據量;如果檢測模塊11檢測到的可伸縮碼 流的數據量等于接收端向流媒體服務器請求的數據量,則說明網絡傳輸狀況較好,請求的 數據量基本能夠到達接收端的緩存區,則控制模塊12可以向流媒體服務器請求增加碼流 中每幀數據中的增強層數據量,以提高視頻信號的播放質量。通過檢測模塊11和控制模塊12的配合,實現接收端對流媒體播放的自適應控制, 檢測模塊11實時檢測緩存區中接收的可伸縮碼流的數據量,控制模塊12判斷出網絡傳輸 狀況,來相應調整向流媒體服務器請求的碼流中每幀數據中的增強層數據量,從而使流媒 體服務器能夠根據接收端實際接收到的可伸縮碼流的數據量,向接收端發送合適的碼流, 實現網絡和系統資源的優化。本實施例提供的流媒體播放控制裝置,接收端實時檢測緩存區中接收的可伸縮碼 流的數據量,并根據可伸縮碼流的數據量請求流媒體服務器增加或減少發送的碼流中每幀 數據中的增強層數據量,從而實現對發送端發送的碼流進行自適應請求控制,優化了網絡 和系統資源的利用,提高接收端的視頻播放質量。圖4為本發明提供的流媒體播放控制裝置第二實施例的結構示意圖,如圖4所示, 在前一實施例的基礎上,若檢測模塊11檢測出可伸縮碼流的數據量等于向流媒體服務器 請求的數據量,則控制模塊12還用于判斷可伸縮碼流的數據量是否小于緩存區的容量門限值;若可伸縮碼流的數據量小于門限值,則向流媒體服務器請求增加碼流中每幀數據 中的增強層數據量。控制模塊12還用于向流媒體服務器發送數據和/或信令;若接收到流媒體服務器對數據和/或信令的回復信息,則向流媒體服務器請求增 加碼流中每幀數據中的增強層數據量。進一步的,該流媒體播放控制裝置還包括測試模塊13,用于通過預置的流媒體文件對所述可伸縮碼流進行模擬接收測試, 獲取流媒體文件的性能指標,流媒體文件的性能指標包括流媒體文件的編碼格式、流媒體 文件的傳輸碼率和流媒體文件的傳輸幀率;初始化模塊14,用于通過測試模塊13獲取到的流媒體文件的編碼格式、流媒體文 件的傳輸碼率和流媒體文件的傳輸幀率確定緩存區的門限值。接收端接收數據量的能力主要體現在緩存區容量的門限值。由于緩存區中存儲的 數據可以是接收端一秒鐘內接收到的視頻碼流的數據量,或者是接收端一定時間內接收到 的視頻碼流的數據量。因此,可以通過測試模塊13確定緩存容量的門限值,然后通過初始 化模塊14對緩存區的門限值進行初始化。具體的,接收端可以預先存儲的流媒體文件,該流媒體文件與流媒體服務器發送 的可伸縮碼流的性能指標基本一致,二者具有相同的編碼格式、傳輸碼率和傳輸幀率,測試 模塊13通過對預置的流媒體文件的性能測試來模擬可伸縮碼流,獲得流媒體文件模擬的 可伸縮碼流的性能指標。
當接收端的緩存區開始接收可伸縮碼流后,檢測模塊11對緩存區中接收的可伸 縮碼流的數據量進行實時檢測,控制模塊12判斷可伸縮碼流的數據量是否小于向流媒體 服務器請求的數據量,如果是,說明網絡的傳輸狀況較差,則控制模塊12向流媒體服務器 請求減小碼流中每幀數據中的增強層數據量;如果可伸縮碼流的數據量與向流媒體服務器 請求的數據量基本一致,則控制模塊12可向流媒體服務器請求增加碼流中每幀數據中的 增強層數據量;作為一種較佳的實施方式,在控制模塊12判斷出可伸縮碼流的數據量與向流媒 體服務器請求的數據量基本一致,則控制模塊12還可以進一步判斷緩存區中的數據量是 否低于緩存區的門限值,以判斷緩存區是否還有能力接收更多的數據。如果緩存區中的數 據量低于門限值,則控制模塊12可向流媒體服務器請求增加碼流中每幀數據中的增強層
數據量。另外,考慮到即使緩存區中的數據量低于緩存區的門限值,也只表明了接收端在 一段時間內仍有能力接收更多的數據,但此時的網絡傳輸狀況未必允許流媒體服務器向接 收端發送更多的數據,例如網絡中的帶寬剛好能夠保證當前碼流的傳輸,而無法支持更多 數據的情況。這種情況下,如果控制模塊12判斷出緩存區中的數據量低于緩存區的門限 值,則控制模塊12還可以進一步對網絡傳輸狀況進行測試,測試在保持當前碼流正常傳輸 的前提下,接收端和發送端的流媒體服務器之間是否還能傳輸更多的碼流。控制模塊12 可以向流媒體服務器發送數據和/或信令,如果能夠接收到流媒體服務器對數據和/或信 令的回復信息,則說明目前的網絡傳輸狀況能夠保證流媒體服務器向接收端發送更多的數 據,控制模塊12進一步向流媒體服務器請求增加碼流中每幀數據中的增強層數據量。如 果沒有收到流媒體服務器的回復信息,則說明網絡傳輸狀況不能保證流媒體服務器向接收 端發送更多的數據,因此,控制模塊12可不再向流媒體服務器發起增加或減小碼流中每幀 數據中的增強層數據量,使流媒體服務器保持當前發送的碼流中每幀數據中的增強層數據 量。本實施例提供的流媒體播放控制裝置,接收端實時檢測緩存區中接收的可伸縮碼 流的數據量,并根據可伸縮碼流的數據量請求流媒體服務器增加或減少發送的碼流中每幀 數據中的增強層數據量,從而實現對發送端發送的碼流進行自適應請求控制,優化了網絡 和系統資源的利用,提高接收端的視頻播放質量。本發明提供的流媒體播放控制裝置,為實現本發明提供的流媒體播放控制方法的 執行裝置,其具體執行過程可以參見本發明提供的流媒體播放控制方法實施例。圖5為本發明提供的流媒體播放器第一實施例的結構示意圖,如圖5所示,該流媒 體播放器包括數據接收模塊1、數據解碼模塊2和顯示輸出模塊3 ;數據接收模塊1,用于作為接收可伸縮碼流的緩存區;數據解碼模塊2,用于對所 述數據接收模塊1接收的可伸縮碼流進行解碼;顯示輸出模塊3,用于顯示所述數據解碼模 塊解碼后的視頻;還包括流媒體播放控制裝置4,該裝置用于對緩存區中接收的可伸縮碼流的數據 量進行檢測;若可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則向流媒體服務 器請求減小碼流中每幀數據中的增強層數據量;若可伸縮碼流的數據量等于向流媒體服務 器請求的數據量,則向流媒體服務器請求增加碼流中每幀數據中的增強層數據量。
位于接收端的流媒體播放器中的數據接收模塊1接收到流媒體服務器發送的視 頻碼流后,數據解碼模塊2從數據接收模塊1內讀取數據,進行解碼,然后通過顯示輸出模 塊3播放解碼后的視頻信號。流媒體播放器中的數據接收模塊1作為接收數據的緩存區,數據接收模塊1存儲 的數據可以是一秒鐘內接收到的視頻碼流的數據量,或者是一定時間內接收到的視頻碼流 的數據量。流媒體播放控制裝置4實時對數據接收模塊1接收的數據進行檢測,對一段時間 內向流媒體服務器請求的數據量,與同樣的時間長度內數據接收模塊1接收的可伸縮碼流 的數據量進行比較。如果數據接收模塊1中接收的可伸縮碼流的數據量小于接收端向流媒 體服務器請求的數據量,則表明網絡傳輸狀況較差,導致請求的數據量無法完全到達接收 端的數據接收模塊1,則流媒體播放控制裝置4可以向流媒體服務器請求減小碼流中每幀 數據中的增強層數據量;如果數據接收模塊1中接收的可伸縮碼流的數據量等于接收端向 流媒體服務器請求的數據量,則說明網絡傳輸狀況較好,請求的數據量基本能夠到達接收 端的數據接收模塊1,則流媒體播放控制裝置4可以向流媒體服務器請求增加碼流中每幀 數據中的增強層數據量,以提高視頻信號的播放質量。通過流媒體播放控制裝置4,實現對流媒體播放器的自適應控制,流媒體播放控制 裝置4實時檢測數據接收模塊1中接收的可伸縮碼流的數據量,判斷出網絡傳輸狀況,來相 應調整向流媒體服務器請求的碼流中每幀數據中的增強層數據量,從而使流媒體服務器能 夠根據數據接收模塊1實際接收到的可伸縮碼流的數據量,向接收端發送合適的碼流,實 現網絡和系統資源的優化。本實施例提供的流媒體播放器,接收端實時檢測用于接收可伸縮碼流的緩存區容 量,并根據緩存區的容量情況請求發送端的流媒體服務器增加或減少發送的碼流中每幀數 據中的增強層數據量,從而實現對發送端發送的碼流進行自適應請求控制,優化了網絡和 系統資源的利用,提高接收端的視頻播放質量。最后應說明的是以上實施例僅用以說明本發明的技術方案,而非對其限制;盡 管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解其依然 可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替 換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精 神和范圍。
權利要求
1.一種流媒體播放控制方法,其特征在于,包括對緩存區中接收的可伸縮碼流的數據量進行檢測;若所述可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則向所述流媒體服務 器請求減小所述碼流中每幀數據中的增強層數據量;若所述可伸縮碼流的數據量等于所述 向流媒體服務器請求的數據量,則向所述流媒體服務器請求增加所述碼流中每幀數據中的 增強層數據量。
2.根據權利要求1所述的流媒體播放控制方法,其特征在于,若所述可伸縮碼流的數 據量等于所述向流媒體服務器請求的數據量,則所述方法還包括判斷所述可伸縮碼流的數據量是否小于所述緩存區的容量門限值;若所述可伸縮碼流的數據量小于所述門限值,則向所述流媒體服務器請求增加所述碼 流中每幀數據中的增強層數據量。
3.根據權利要求2所述的流媒體播放控制方法,其特征在于,若所述可伸縮碼流的數 據量小于所述門限值,則所述方法還包括向所述流媒體服務器發送數據和/或信令;若接收到所述流媒體服務器對所述數據和/或信令的回復信息,則向所述流媒體服務 器請求增加所述碼流中每幀數據中的增強層數據量。
4.根據權利要求3所述的流媒體播放控制方法,其特征在于,所述向所述流媒體服務 器發送的數據為預先設置的冗余數據。
5.根據權利要求2-4任一項所述的流媒體播放控制方法,其特征在于,所述對緩存區 中接收的可伸縮碼流的數據量進行檢測之前,還包括通過預置的流媒體文件對所述可伸縮碼流進行模擬接收測試,獲取所述流媒體文件的 性能指標,所述流媒體文件的性能指標包括所述流媒體文件的編碼格式、所述流媒體文件 的傳輸碼率和所述流媒體文件的傳輸幀率;根據所述流媒體文件的編碼格式、所述流媒體文件的傳輸碼率和所述流媒體文件的傳 輸幀率確定所述門限值。
6.一種流媒體播放控制裝置,其特征在于,包括檢測模塊,用于對緩存區中接收的可伸縮碼流的數據量進行檢測;控制模塊,用于判斷所述檢測模塊檢測出所述可伸縮碼流的數據量是否小于向流媒體 服務器請求的數據量;若所述可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則 向所述流媒體服務器請求減小所述碼流中每幀數據中的增強層數據量;若所述可伸縮碼流 的數據量等于所述向流媒體服務器請求的數據量,則向所述流媒體服務器請求增加所述碼 流中每幀數據中的增強層數據量。
7.根據權利要求6所述的流媒體播放控制裝置,其特征在于,若所述控制模塊判斷出 所述可伸縮碼流的數據量等于所述向流媒體服務器請求的數據量,則所述控制模塊還用 于判斷所述可伸縮碼流的數據量是否小于所述緩存區的容量門限值;若所述可伸縮碼流的數據量小于所述門限值,則向所述流媒體服務器請求增加所述碼 流中每幀數據中的增強層數據量。
8.根據權利要求7所述的流媒體播放控制裝置,其特征在于,所述控制模塊還用于向所述流媒體服務器發送數據和/或信令;若接收到所述流媒體服務器對所述數據和/或信令的回復信息,則向所述流媒體服務 器請求增加所述碼流中每幀數據中的增強層數據量。
9.根據權利要求7或8所述的流媒體播放控制裝置,其特征在于,還包括測試模塊,用于通過預置的流媒體文件對所述可伸縮碼流進行模擬接收測試,獲取所 述流媒體文件的性能指標,所述流媒體文件的性能指標包括所述流媒體文件的編碼格式、 所述流媒體文件的傳輸碼率和所述流媒體文件的傳輸幀率;初始化模塊,用于通過所述測試模塊獲取到的所述流媒體文件的編碼格式、所述流媒 體文件的傳輸碼率和所述流媒體文件的傳輸幀率確定所述緩存區的門限值。
10.一種流媒體播放器,包括數據接收模塊,用于作為接收可伸縮碼流的緩存區;數 據解碼模塊,用于對所述數據接收模塊接收的可伸縮碼流進行解碼;顯示輸出模塊,用于顯 示所述數據解碼模塊解碼后的視頻;其特征在于,還包括權利要求6-9任一項所述的流媒 體播放控制裝置。
全文摘要
本發明實施例提供一種流媒體播放控制方法、裝置和流媒體播放器。方法包括對緩存區中接收的可伸縮碼流的數據量進行檢測;若所述可伸縮碼流的數據量小于向流媒體服務器請求的數據量,則向所述流媒體服務器請求減小所述碼流中每幀數據中的增強層數據量;若所述可伸縮碼流的數據量等于所述向流媒體服務器請求的數據量,則向所述流媒體服務器請求增加所述碼流中每幀數據中的增強層數據量。本發明可實現對發送端發送的碼流進行自適應請求控制,優化網絡和系統資源的利用,提高接收端的視頻播放質量。
文檔編號H04N21/647GK102006501SQ20101054243
公開日2011年4月6日 申請日期2010年11月11日 優先權日2010年11月11日
發明者甘震, 霍龍社 申請人:中國聯合網絡通信集團有限公司