專利名稱:一種網(wǎng)絡(luò)自適應(yīng)的流媒體QoS控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)多媒體技術(shù)領(lǐng)域,用于hternet的P2P (對(duì)等網(wǎng)絡(luò))實(shí)時(shí)視頻傳輸網(wǎng)絡(luò)中。
背景技術(shù):
在基于hternet的P2P實(shí)時(shí)視頻傳輸產(chǎn)品或者系統(tǒng)中,例如網(wǎng)絡(luò)攝像機(jī)的遠(yuǎn)程監(jiān)控系統(tǒng),發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)通過P2P的方式在hternet上傳輸實(shí)時(shí)采集并編碼的視頻數(shù)據(jù),此類P2P實(shí)時(shí)視頻監(jiān)控系統(tǒng)需要解決如下的問題(1)網(wǎng)絡(luò)的異構(gòu)問題,例如,每一個(gè)網(wǎng)絡(luò)攝像機(jī)接入網(wǎng)絡(luò)的上傳帶寬是不相等的,攝像機(jī)需要自動(dòng)調(diào)節(jié)上述編碼的視頻數(shù)據(jù)的編碼率以自適應(yīng)其接入網(wǎng)絡(luò)的上傳帶寬,例如,攝像機(jī)編碼器的缺省碼率為512Kbps,但是當(dāng)該網(wǎng)絡(luò)攝像機(jī)接入網(wǎng)絡(luò)的上傳帶寬只有256Kbps時(shí),就會(huì)造成視頻傳輸?shù)难訒r(shí)與丟包。(2) 帶寬不穩(wěn)定問題,在播放節(jié)點(diǎn)與編碼節(jié)點(diǎn)長(zhǎng)時(shí)間傳輸視頻數(shù)據(jù)時(shí),視頻數(shù)據(jù)的傳輸非常受限于網(wǎng)絡(luò)帶寬的穩(wěn)定,但是這個(gè)部分是很難保證的,比如說當(dāng)播放節(jié)點(diǎn)網(wǎng)絡(luò)內(nèi)啟動(dòng)另外一個(gè)PC網(wǎng)絡(luò)程序時(shí)(例如上網(wǎng)看網(wǎng)絡(luò)視頻電影),就會(huì)造成網(wǎng)絡(luò)帶寬抖動(dòng),從而造成數(shù)據(jù)包的丟失與延時(shí)。(3) P2P實(shí)時(shí)視頻播放應(yīng)用不允許節(jié)點(diǎn)中存有過大的數(shù)據(jù)緩存,因?yàn)楣?jié)點(diǎn)中的數(shù)據(jù)緩存會(huì)增加實(shí)時(shí)視頻流播放系統(tǒng)的初始啟動(dòng)時(shí)間,并增加接收節(jié)點(diǎn)與源節(jié)點(diǎn)之間的畫面延時(shí),因此實(shí)時(shí)視頻播放應(yīng)用對(duì)初始播放延時(shí)、延時(shí)抖動(dòng)、丟包更敏感。上述性能指標(biāo)與網(wǎng)絡(luò)的傳輸帶寬密切相關(guān)。在已有的P2P實(shí)時(shí)視頻流QoS (服務(wù)質(zhì)量)控制方法中,一是通過增大接收節(jié)點(diǎn)的緩沖區(qū)來(lái)解決播放抖動(dòng)的問題,但是此方法會(huì)造成用戶初始播放等待時(shí)間加長(zhǎng),降低用戶的使用體驗(yàn)。二是通過節(jié)點(diǎn)端手動(dòng)調(diào)節(jié)發(fā)送節(jié)點(diǎn)的視頻編碼質(zhì)量與碼流,此方法不能根據(jù)網(wǎng)絡(luò)狀況的變化自適應(yīng)地調(diào)節(jié)。除了上述在應(yīng)用層常用的QoS控制方法外,也有很多基于協(xié)議層,或者鏈路層的QoS技術(shù),但是這些技術(shù)非常依賴于具體網(wǎng)絡(luò)節(jié)點(diǎn)的硬件支持,例如發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)間的路由器與交換機(jī)都必須支持QoS,這在目前已存在的開發(fā)網(wǎng)絡(luò)環(huán)境中是不能完全達(dá)到的,是不現(xiàn)實(shí)的。
發(fā)明內(nèi)容
本發(fā)明的目的是為解決上述現(xiàn)有技術(shù)存在的問題,提供了一種網(wǎng)絡(luò)自適應(yīng)的流媒體QoS控制方法,能進(jìn)一步降低接收節(jié)點(diǎn)的播放抖動(dòng)率、減少初始等待時(shí)間、避免網(wǎng)絡(luò)播放延時(shí)與數(shù)據(jù)丟包現(xiàn)象。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是采用如下步驟1)建立發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)的連接,發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)經(jīng)過XMPP協(xié)議的服務(wù)器傳遞QoS消息;2)將接收節(jié)點(diǎn)的播放器緩沖區(qū)以高水位標(biāo)記和低水位標(biāo)記分為三個(gè)區(qū)段,當(dāng)播放指針從高水位區(qū)段跌落至正常水位區(qū)段,表明接收節(jié)點(diǎn)從發(fā)送節(jié)點(diǎn)獲取數(shù)據(jù)的速度小于接收節(jié)點(diǎn)的播放速度并且接收
3節(jié)點(diǎn)播放緩沖區(qū)中的視頻數(shù)據(jù)一直在減少,接收節(jié)點(diǎn)促發(fā)第一種QoS事件;當(dāng)前播放指針從正常水位區(qū)段漲過高水位區(qū)段,表明接收節(jié)點(diǎn)的播放速度已經(jīng)趕上發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)速度,接收節(jié)點(diǎn)促發(fā)第二種QoS事件;3)接收節(jié)點(diǎn)通過所述QoS事件反映發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)質(zhì)量,發(fā)送到發(fā)送節(jié)點(diǎn),當(dāng)發(fā)送節(jié)點(diǎn)接收到第一種QoS事件時(shí),啟動(dòng)碼流轉(zhuǎn)換引擎降低其轉(zhuǎn)發(fā)的視頻碼流;當(dāng)發(fā)送節(jié)點(diǎn)接收到第二種QoS事件時(shí),啟動(dòng)碼流轉(zhuǎn)換引擎提高其轉(zhuǎn)發(fā)的視頻碼流;4)接收節(jié)點(diǎn)的程序始終保持對(duì)緩沖區(qū)的監(jiān)控,隨時(shí)觸發(fā)QoS事件,調(diào)整發(fā)送碼流。與現(xiàn)有技術(shù)相比,本發(fā)明能根據(jù)網(wǎng)絡(luò)傳輸?shù)淖兓瘎?dòng)態(tài)地改變它所轉(zhuǎn)發(fā)視頻流的碼流與質(zhì)量,從而在網(wǎng)絡(luò)抖動(dòng)發(fā)生時(shí)仍然可以保持連續(xù)不中斷的視頻流播放體驗(yàn)。發(fā)送節(jié)點(diǎn)能根據(jù)實(shí)際網(wǎng)絡(luò)上傳帶寬,降低或者提高視頻編碼的質(zhì)量,更能適用于公共網(wǎng)絡(luò)的應(yīng)用,解決互聯(lián)網(wǎng)帶寬不穩(wěn)定的問題,能隨時(shí)取得最大量化以及最穩(wěn)定的傳輸效果。
以下結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
圖1是網(wǎng)絡(luò)結(jié)構(gòu)連接圖2是流媒體QoS控制方法示意圖。
具體實(shí)施例方式如圖1,本發(fā)明在前端視頻源設(shè)備以及用戶端播放設(shè)備上安裝編輯軟件QoS模塊, 發(fā)送節(jié)點(diǎn)Pj與接收節(jié)點(diǎn)Pi之間通過XMPP協(xié)議傳遞以XML封裝的QoS信息,實(shí)現(xiàn)發(fā)送節(jié)點(diǎn) Pj與接收節(jié)點(diǎn)Λ.之間的QoS消息通訊,接收節(jié)點(diǎn)Λ.上安裝緩沖區(qū)管理以及QoS事件促發(fā)模塊,發(fā)送節(jié)點(diǎn)。上安裝了視頻碼流采集編碼以及根據(jù)QoS事件動(dòng)態(tài)調(diào)整碼流的模塊。QoS 模塊反饋信息經(jīng)過服務(wù)器云端傳輸,整體實(shí)現(xiàn)視頻源發(fā)送節(jié)點(diǎn)根據(jù)與接收節(jié)點(diǎn)Λ.之間的實(shí)際傳輸帶寬估計(jì)決定初始視頻編碼的碼流,發(fā)送節(jié)點(diǎn)根據(jù)實(shí)際網(wǎng)絡(luò)上傳帶寬,降低或者提高視頻編碼的質(zhì)量。例如,當(dāng)實(shí)際測(cè)試連接的帶寬為512Kbps時(shí),則視頻源節(jié)點(diǎn)上的視頻編碼器就配置為400Kbps進(jìn)行編碼與傳輸,然后根據(jù)播放的比較速度調(diào)整發(fā)送速度,從而讓用戶體驗(yàn)到較高視頻播放質(zhì)量的同時(shí)仍然保證視頻播放的流暢。具體實(shí)施步驟如下
第一步首先建立發(fā)送節(jié)點(diǎn)巧與接收節(jié)點(diǎn)Λ.的連接,此種連接經(jīng)過XMPP等協(xié)議的服務(wù)器實(shí)現(xiàn)。第二步參見圖2,界定緩沖區(qū)的高水位標(biāo)記H和低水位標(biāo)記L的位置。接收節(jié)點(diǎn) Pi的播放器緩沖區(qū)被高水位標(biāo)記H、低水位標(biāo)記L這兩個(gè)標(biāo)記分為三個(gè)區(qū)段,在當(dāng)前播放指針滑過高水位標(biāo)記H或者低水位標(biāo)記L的位置時(shí),接收節(jié)點(diǎn)Pi促發(fā)QoS事件。初始設(shè)置的播放器緩沖區(qū)為256KB,高水位標(biāo)記H被定義為初始設(shè)置的播放器緩沖區(qū)的80%大小,低水位標(biāo)記L被定義為初始設(shè)置的播放器緩沖區(qū)的20%大小。用戶可以依據(jù)網(wǎng)絡(luò)環(huán)境手動(dòng)調(diào)整緩沖區(qū)大小。圖2中的①位置是接收節(jié)點(diǎn)Λ.當(dāng)前播放指針在緩沖區(qū)的高水位標(biāo)記H和低水位標(biāo)記L之間的正常水位區(qū)段.②位置是高水位區(qū)段,發(fā)送節(jié)點(diǎn)。的數(shù)據(jù)轉(zhuǎn)發(fā)速度快過接收節(jié)點(diǎn)Λ.當(dāng)前播放速度,此時(shí)會(huì)觸發(fā)QoS控制,減低發(fā)送節(jié)點(diǎn)。的數(shù)據(jù)轉(zhuǎn)發(fā)速度或者降低發(fā)送視頻的質(zhì)量。③位置是低水位區(qū)段,發(fā)送節(jié)點(diǎn)λ.的數(shù)據(jù)轉(zhuǎn)發(fā)速度慢于接收節(jié)點(diǎn)Λ.當(dāng)前播放速度,此時(shí)會(huì)觸發(fā)QoS控制,增加發(fā)送節(jié)點(diǎn)。的數(shù)據(jù)轉(zhuǎn)發(fā)速度或者提高發(fā)送視頻的質(zhì)量。QoS定義了如下兩種QoS事件,它們分別由高水位、低水位兩個(gè)邊界條件所促發(fā)。 圖2中的②位置至③位置跳轉(zhuǎn)促發(fā)了第一種QoS事件,此時(shí)當(dāng)前播放指針從高水位區(qū)域跌落至正常水位區(qū)域,這個(gè)QoS事件表明發(fā)送節(jié)點(diǎn)。到接收節(jié)點(diǎn)Λ.的數(shù)據(jù)轉(zhuǎn)發(fā)出現(xiàn)了帶寬瓶頸,因?yàn)榇藭r(shí)接收節(jié)點(diǎn)Λ.從發(fā)送節(jié)點(diǎn)獲取數(shù)據(jù)的速度小于接收節(jié)點(diǎn)Λ.的播放速度并且接收節(jié)點(diǎn)Λ.播放緩沖區(qū)中的視頻數(shù)據(jù)一直在減少。在當(dāng)前播放指針從正常水位漲過高水位后,接收節(jié)點(diǎn)Λ.促發(fā)第二個(gè)類型的QoS事件,如圖2中的①位置至②位置跳轉(zhuǎn)所示,此第二種QoS事件表明接收節(jié)點(diǎn)Λ.的播放速度已經(jīng)趕上發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)速度,說明發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)Λ.之間的網(wǎng)絡(luò)吞吐率已經(jīng)大于發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)速率。第三步接收節(jié)點(diǎn)上的緩沖區(qū)管理程序觸發(fā)QoS控制,接收節(jié)點(diǎn)Λ.通過QoS事件反映發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)質(zhì)量,經(jīng)過服務(wù)器發(fā)送到發(fā)送節(jié)點(diǎn)Λ。發(fā)送節(jié)點(diǎn)收到這些 QoS事件時(shí),根據(jù)QoS反饋的事件,它通過碼率轉(zhuǎn)換引擎動(dòng)態(tài)地調(diào)整轉(zhuǎn)發(fā)視頻流的碼流,從而讓接收節(jié)點(diǎn)Λ.上的實(shí)時(shí)視頻流播放更平滑,網(wǎng)絡(luò)自適應(yīng)QoS幫助接收節(jié)點(diǎn)Λ.消除由于網(wǎng)絡(luò)抖動(dòng)以及發(fā)送節(jié)點(diǎn)的上傳數(shù)據(jù)能力波動(dòng)而引起的視頻流播放抖動(dòng)。當(dāng)發(fā)送節(jié)點(diǎn)。接收到第一種QoS事件,它必須馬上啟動(dòng)碼流轉(zhuǎn)換引擎降低其轉(zhuǎn)發(fā)輸出的視頻碼流,以避免接收節(jié)點(diǎn)Λ.發(fā)生由于丟包而引起的播放抖動(dòng)。此時(shí)碼流轉(zhuǎn)換引擎通過降低轉(zhuǎn)發(fā)視頻流的碼率以補(bǔ)償節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)Λ.之間吞吐率的衰減。當(dāng)發(fā)送節(jié)點(diǎn)接收到第二種QoS事件時(shí),發(fā)送節(jié)點(diǎn)。通過碼流轉(zhuǎn)換引擎提高它所轉(zhuǎn)發(fā)的視頻流,從而接收節(jié)點(diǎn)Λ.上的視頻播放質(zhì)量也獲得了提高。碼流轉(zhuǎn)換引擎在此處的作用是充分利用贏余的帶寬提高轉(zhuǎn)發(fā)的視頻流質(zhì)量。第四步接收節(jié)點(diǎn)上的緩沖區(qū)管理程序保持對(duì)緩沖區(qū)的監(jiān)控,隨時(shí)觸發(fā)QoS控制,調(diào)整發(fā)送碼流。
權(quán)利要求
1.一種網(wǎng)絡(luò)自適應(yīng)的流媒體QoS控制方法,其特征是采用如下步驟1)建立發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)的連接,發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)經(jīng)過XMPP協(xié)議的服務(wù)器傳遞QoS消息;2)將接收節(jié)點(diǎn)的播放器緩沖區(qū)以高水位標(biāo)記和低水位標(biāo)記分為三個(gè)區(qū)段,當(dāng)播放指針從高水位區(qū)段跌落至正常水位區(qū)段,表明接收節(jié)點(diǎn)從發(fā)送節(jié)點(diǎn)獲取數(shù)據(jù)的速度小于接收節(jié)點(diǎn)的播放速度并且接收節(jié)點(diǎn)播放緩沖區(qū)中的視頻數(shù)據(jù)一直在減少,接收節(jié)點(diǎn)促發(fā)第一種 QoS事件;當(dāng)前播放指針從正常水位區(qū)段漲過高水位區(qū)段,表明接收節(jié)點(diǎn)的播放速度已經(jīng)趕上發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)速度,接收節(jié)點(diǎn)促發(fā)第二種QoS事件;3)接收節(jié)點(diǎn)通過所述QoS事件反映發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)質(zhì)量,發(fā)送到發(fā)送節(jié)點(diǎn),當(dāng)發(fā)送節(jié)點(diǎn)接收到第一種QoS事件時(shí),啟動(dòng)碼流轉(zhuǎn)換引擎降低其轉(zhuǎn)發(fā)的視頻碼流;當(dāng)發(fā)送節(jié)點(diǎn)接收到第二種QoS事件時(shí),啟動(dòng)碼流轉(zhuǎn)換引擎提高其轉(zhuǎn)發(fā)的視頻碼流;4)接收節(jié)點(diǎn)的程序始終保持對(duì)緩沖區(qū)的監(jiān)控,隨時(shí)觸發(fā)QoS事件,調(diào)整發(fā)送碼流。
2.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)自適應(yīng)的流媒體QoS控制方法,其特征是步驟2) 所述播放器緩沖區(qū)的初始設(shè)置為256KB,高水位標(biāo)記是初始設(shè)置的80%大小,低水位標(biāo)記是初始設(shè)置的20%大小。
全文摘要
本發(fā)明公開一種網(wǎng)絡(luò)自適應(yīng)的流媒體QoS控制方法,先建立發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)的連接;再將接收節(jié)點(diǎn)的播放器緩沖區(qū)以高水位標(biāo)記和低水位標(biāo)記分為三個(gè)區(qū)段,當(dāng)播放指針從高水位區(qū)段跌落至正常水位區(qū)段,接收節(jié)點(diǎn)促發(fā)第一種QoS事件;當(dāng)前播放指針從正常水位區(qū)段漲過高水位區(qū)段,接收節(jié)點(diǎn)促發(fā)第二種QoS事件;然后接收節(jié)點(diǎn)通過所述QoS事件反映發(fā)送節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)質(zhì)量,發(fā)送到發(fā)送節(jié)點(diǎn),當(dāng)發(fā)送節(jié)點(diǎn)接收到第一種QoS事件時(shí),啟動(dòng)碼流轉(zhuǎn)換引擎降低其轉(zhuǎn)發(fā)的視頻碼流;當(dāng)發(fā)送節(jié)點(diǎn)接收到第二種QoS事件時(shí),啟動(dòng)碼流轉(zhuǎn)換引擎提高其轉(zhuǎn)發(fā)的視頻碼流;能根據(jù)網(wǎng)絡(luò)傳輸?shù)淖兓瘎?dòng)態(tài)地改變碼流與質(zhì)量,從而在網(wǎng)絡(luò)抖動(dòng)發(fā)生時(shí)仍然保持連續(xù)不中斷的視頻流播放體驗(yàn)。
文檔編號(hào)H04N21/63GK102547389SQ201210011529
公開日2012年7月4日 申請(qǐng)日期2012年1月16日 優(yōu)先權(quán)日2012年1月16日
發(fā)明者何建億 申請(qǐng)人:何建億