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