專(zhuān)利名稱(chēng):基于SVC的P2PVoD系統(tǒng)的視音頻同步方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視音頻同步方法,尤其涉及一種基于SVC的P2PVoD系統(tǒng)視音頻同步方法。
背景技術(shù):
隨著寬帶通信的廣泛運(yùn)用,互聯(lián)網(wǎng)上的多媒體應(yīng)用變得越來(lái)越流行。將SVC(Scalable Video Coding,可伸縮視頻編碼)應(yīng)用于P2P(Peer-to-Peer,對(duì)等互聯(lián)網(wǎng)技術(shù))流媒體系統(tǒng)是解決P2P系統(tǒng)帶寬容量顯著變化和用戶(hù)終端異構(gòu)多樣問(wèn)題最有前途的方案。SVC允許“視頻序列一次編碼多種解碼”,能夠提供復(fù)合時(shí)空分辨率和高保真度的視頻流,因此它能有效地滿(mǎn)足P2P系統(tǒng)根據(jù)可用帶寬進(jìn)行碼率調(diào)整的要求,同時(shí)可以很好地適應(yīng)不同用戶(hù)終端的時(shí)空分辨率,為用戶(hù)提供更好的服務(wù)質(zhì)量和用戶(hù)體驗(yàn)。
對(duì)于一個(gè)完整的基于SVC的P2P流媒體系統(tǒng)來(lái)說(shuō),SVC視頻流與相應(yīng)的音頻流之間的同步非常關(guān)鍵,同步方法設(shè)計(jì)的好壞將直接影響系統(tǒng)的整體性能。視音頻的同步與人的視聽(tīng)覺(jué)特性相關(guān),圖I將人的視聽(tīng)覺(jué)主觀評(píng)價(jià)劃分為5個(gè)等級(jí)在聲音超前20ms至聲音落后90ms范圍內(nèi),人們感覺(jué)不出視聽(tīng)質(zhì)量的變化,該范圍被稱(chēng)為不可覺(jué)察范圍;一般將主觀評(píng)價(jià)下降少于0. 5級(jí)的范圍稱(chēng)作可覺(jué)察范圍,對(duì)應(yīng)于聲音超前45ms至落后125ms ;將主觀評(píng)價(jià)下降少于I. 5級(jí)的范圍認(rèn)為是可接受范圍,對(duì)應(yīng)于聲音超前90ms至落后185ms ;在可接受范圍內(nèi)的視音頻偏移被認(rèn)為是同步的,但是當(dāng)主觀評(píng)價(jià)下降超過(guò)I. 5級(jí)時(shí),視音頻偏移將被認(rèn)為不同步。
雖然P2P流媒體系統(tǒng)的視音頻同步已經(jīng)有比較成熟的解決辦法,比較經(jīng)典的有基于RTP/RTCP的視音頻同步方法和MPEG-4封裝時(shí)間戳同步方法等。但是目前P2P流媒體系統(tǒng)的視音頻同步方法并不適合基于SVC的P2P流媒體系統(tǒng)的視音頻同步需求?;赗TP/RTCP協(xié)議的視音頻同步一般以音頻為主媒體流,視頻為從媒體流,在接收端基于同一時(shí)間軸,通過(guò)比較最近播放的音頻幀和視頻幀的播放時(shí)間標(biāo)簽判斷同步關(guān)系,對(duì)視頻幀采取重復(fù)或丟棄的方法實(shí)現(xiàn)視音頻同步控制。該同步方法的優(yōu)點(diǎn)是借助RTP/RTCP協(xié)議進(jìn)行視音頻的封裝傳輸以及同步控制,技術(shù)應(yīng)用成熟廣泛。但是該方法的缺點(diǎn)是它只適合單層視頻流,目前尚沒(méi)有將SVC視頻流封裝成RTP數(shù)據(jù)包的方法,而且該方法需要對(duì)每個(gè)RTCP SR (Sender Reports)報(bào)文進(jìn)行處理,對(duì)SVC這種多層視頻流來(lái)說(shuō),算法復(fù)雜度較聞。MPEG-4封裝同步與基于RTP/RTCP協(xié)議的同步類(lèi)似,也使用時(shí)間戳進(jìn)行視音頻同步控制。MPEG-4的定時(shí)模型為其I、B、P幀定義了解碼時(shí)間戳(DTS)和合成時(shí)間戳(CTS),DTS用來(lái)表示解碼時(shí)間,當(dāng)DTS的時(shí)刻到來(lái)時(shí),訪問(wèn)單元的解碼將開(kāi)始,CTS表示合成單元在該時(shí)刻開(kāi)始表現(xiàn)。由于每個(gè)視頻幀的表現(xiàn)時(shí)間相對(duì)于解碼時(shí)間都推遲了一個(gè)周期T,所以相應(yīng)音頻幀的解碼也要推遲一個(gè)周期。該方法的顯著優(yōu)點(diǎn)在于MP4可以根據(jù)網(wǎng)絡(luò)帶寬變化,通過(guò)選擇性丟棄B幀或P幀的方式解決網(wǎng)絡(luò)擁塞問(wèn)題,同時(shí)對(duì)異構(gòu)終端具有較好的適應(yīng)性,特別是移動(dòng)終端。但該方法同樣存在只適合單層視頻流的缺點(diǎn),將SVC視頻流封裝進(jìn)MP4的復(fù)雜度較高。由此可見(jiàn),目前基于SVC的P2P流媒體系統(tǒng)的視頻流與對(duì)應(yīng)的音頻流還是需要獨(dú)立編碼、獨(dú)立傳輸、獨(dú)立解碼和播放,同時(shí)對(duì)各個(gè)階段進(jìn)行同步控制最后才能獲得良好的播放效果。
發(fā)明內(nèi)容
本發(fā)明旨在解決現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題,特別創(chuàng)新地提出了一種基于SVC的P2PVoD系統(tǒng)視音頻同步方法,實(shí)現(xiàn)了基于SVC的視音頻數(shù)據(jù)的傳輸同步。為了實(shí)現(xiàn)本發(fā)明的上述目的,本發(fā)明提供了一種基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于包括以下步驟 SI、在服務(wù)器端將SVC視頻流按照等時(shí)長(zhǎng)分割成N個(gè)視頻塊,將該N個(gè)視頻塊分別劃分為M層視頻分片,其中各視頻塊中最底層的視頻分片構(gòu)成視頻基礎(chǔ)層,其上的每一層視頻分片均構(gòu)成一個(gè)視頻增強(qiáng)層;將音頻流按照等時(shí)長(zhǎng)分割成N個(gè)音頻層分片;將該音頻層作為該視頻基礎(chǔ)層的下一層,從而生成視音頻分層分片文件,其中SVC視頻流分割成視頻塊的單位時(shí)長(zhǎng)與音頻流分割成音頻層分片的單位時(shí)長(zhǎng)相等,且N、M均為大于零的整數(shù);S2、在服務(wù)器端,將該視音頻分層分片文件的相關(guān)信息封裝至Torrent文件中;S3、啟動(dòng)視音頻分層分片下載線程,客戶(hù)端從服務(wù)器端下載該Torrent文件,從該Torrent文件中提取該視音頻分層分片文件的相關(guān)信息初始化視頻解碼器和音頻解碼器;S4、客戶(hù)端下載該視音頻分層分片文件;S5、客戶(hù)端將該視音頻分層分片文件中的SVC視頻數(shù)據(jù)和音頻數(shù)據(jù)分別送往對(duì)應(yīng)的視頻解碼器和音頻解碼器進(jìn)行解碼,并播放解碼后的視音頻數(shù)據(jù)。由此實(shí)現(xiàn)了基于SVC的視音頻數(shù)據(jù)的傳輸同步。在所述步驟SI中音頻層文件名為0 ;設(shè)定空間分層數(shù)為Did和質(zhì)量分層數(shù)Qid,則SVC視頻各分層文件名為DQid=l+16XDid+Qid,便于客戶(hù)端識(shí)別視音頻分層分片文件中的各層文件。在所述步驟S2中該Torrent文件的封裝格式增加了音頻采樣率、視頻巾貞率、視頻幀數(shù)、每個(gè)GOP所含視頻幀數(shù)、每個(gè)視頻分片所含GOP數(shù)目、SVC分層數(shù)、音頻層文件長(zhǎng)度、音頻層文件標(biāo)識(shí)符、視頻基礎(chǔ)層和各視頻增強(qiáng)層的長(zhǎng)度、視頻基礎(chǔ)層和各視頻增強(qiáng)層標(biāo)識(shí)符、各視音頻分片長(zhǎng)度和視音頻分片總數(shù)中至少一個(gè),其中該SVC分層數(shù)包括SVC視頻層數(shù)和音頻層數(shù)。對(duì)Torrent文件的封裝格式進(jìn)行改進(jìn),保證了 SVC視音頻流的同步傳輸。在所述步驟S4中根據(jù)距離當(dāng)前的播放時(shí)間Atplay的遠(yuǎn)近,將視音頻分層分片文件由近至遠(yuǎn)劃分為高優(yōu)先級(jí)區(qū)域、中優(yōu)先級(jí)區(qū)域和低優(yōu)先級(jí)區(qū)域,其下載優(yōu)先級(jí)逐漸降低。劃分優(yōu)先級(jí)區(qū)域,按順序下載視音頻數(shù)據(jù),保證了視音頻播放的流暢性。在播放視音頻之前,高優(yōu)先級(jí)區(qū)域內(nèi)面向播放時(shí)間點(diǎn)tplay —側(cè)的部分視音頻數(shù)據(jù)緩存于下載緩沖區(qū),且該部分視音頻數(shù)據(jù)的緩沖時(shí)長(zhǎng)為PREtime、下載層數(shù)為L(zhǎng)pm,其中該下載層數(shù)Lpm根據(jù)網(wǎng)絡(luò)帶寬確定且至少包括音頻層和視頻基礎(chǔ)層。在播放視音頻之前根據(jù)初始網(wǎng)絡(luò)帶寬確定下載層數(shù)Lrm,緩沖視音頻數(shù)據(jù),保證了視頻播放的流暢性??蛻?hù)端周期性地判斷是否需要重新確定該下載緩沖區(qū)的下載層數(shù)Lpre :設(shè)定下載緩沖區(qū)中待播放視音頻數(shù)據(jù)的時(shí)長(zhǎng)為tbuf = t—_tplay,其中t—表示當(dāng)前的下載時(shí)間點(diǎn),%_表示當(dāng)前的播放時(shí)間點(diǎn),當(dāng)tbuf減小至下限閾值時(shí)表示下載速率過(guò)慢,為了保證視音頻播放的流暢性,減少下載一層視頻增強(qiáng)層分片,下載層數(shù)減一 Lpre-;當(dāng)tbuf增大至上限閾值時(shí)表示下載速率過(guò)高,為了提高視音頻播放的品質(zhì),確定增加下載一層視頻增強(qiáng)層分片,下載層數(shù)加一 Lpm++。實(shí)現(xiàn)了下載緩沖區(qū)的質(zhì)量自適應(yīng)調(diào)節(jié),進(jìn)一步保證了視音頻播放的流暢性,并且提高了視音頻播放的品質(zhì)。該高級(jí)優(yōu)先區(qū)域中視音頻數(shù)據(jù)的下載順序?yàn)橐纛l層分片、視頻基礎(chǔ)層分片、視頻增強(qiáng)層分片。所述步驟S5由以下步驟組成設(shè)定播放同步時(shí)鐘Tvideo來(lái)記錄視頻分片數(shù)據(jù)的播放時(shí)間;啟動(dòng)視頻播放線程,從下載緩沖區(qū)中獲取緩存的視頻分片數(shù)據(jù)進(jìn)行解碼播放,并更新播放同步時(shí)鐘Tvideo ;
啟動(dòng)音頻播放線程,根據(jù)播放同步時(shí)鐘Tvideo從下載緩沖區(qū)中獲取緩存的音頻分片數(shù)據(jù)進(jìn)行解碼播放,從而實(shí)現(xiàn)視音頻播放同步。以SVC視頻為主媒體流,音頻為從媒體流,播放時(shí)以視頻分片的播放時(shí)間信息更新同步時(shí)鐘,并以該時(shí)鐘同步解碼和播放相應(yīng)音頻分片,從而實(shí)現(xiàn)視音頻媒體間的播放同
止/J/ o綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是I、將音頻流復(fù)合到SVC視頻流中,并將SVC視頻編碼特征與Bittorrent協(xié)議相結(jié)合,改進(jìn)Torrent文件的封裝格式,從而保證了基于SVC的視音頻數(shù)據(jù)的傳輸同步;2、采用基于緩存的質(zhì)量自適應(yīng)和順序下載相結(jié)合的方式,保證了視音頻播放的流暢性并可以提高視音頻播放的品質(zhì),實(shí)現(xiàn)了 SVC視音頻分片的調(diào)度同步;3、以SVC視頻為主媒體流,音頻為從媒體流,播放時(shí)以視頻分片的播放時(shí)間信息更新同步時(shí)鐘,并以該時(shí)鐘同步解碼和播放相應(yīng)音頻分片,從而實(shí)現(xiàn)視音頻媒體間的播放同步。本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中圖I是視音頻同步標(biāo)準(zhǔn)示意圖;圖2是基于SVC的P2PVoD系統(tǒng)中視音頻分層分片文件的結(jié)構(gòu)示意圖;圖3是基于SVC的P2PVoD系統(tǒng)中Torrent文件的封裝格式示意圖;圖4是基于SVC的P2PVoD系統(tǒng)中三優(yōu)先級(jí)區(qū)域的示意圖。
具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
本發(fā)明主要實(shí)現(xiàn)了 P2PVoD系統(tǒng)中SVC(Scalable Video Coding,可伸縮視頻編碼)視音頻的傳輸同步和播放同步。該基于SVC的P2PVoD系統(tǒng)的視音頻同步方法由以下步驟組成SI、為了實(shí)現(xiàn)SVC視頻流與音頻流的同步傳輸,如圖2所示,在服務(wù)器端將SVC視頻流按照等時(shí)長(zhǎng)(諸如按照每一秒)分割成N個(gè)視頻塊Video Chunk,將該N個(gè)視頻塊VideoChunk分別劃分為M層視頻分片Video Piece,其中各視頻塊Video Chunk中最底層的視頻分片Video Piece構(gòu)成視頻基礎(chǔ)層,其上的每一層視頻分片Video Piece均構(gòu)成一個(gè)視頻增強(qiáng)層;將音頻流按照等時(shí)長(zhǎng)(諸如按照每一秒)分割成N個(gè)音頻層分片;將該音頻層分片作為視頻基礎(chǔ)層的下一層,從而生成視音頻分層分片文件,其中SVC視頻流分割成視頻塊的單位時(shí)長(zhǎng)與音頻流分割成音頻層分片的單位時(shí)長(zhǎng)相等,且N、M均為大于零的整數(shù)。為了便于客戶(hù)端識(shí)別視音頻分層分片文件中的各層文件,本發(fā)明采用以下方式對(duì)各層文件進(jìn)行命名。音頻層文件名為0 ;設(shè)定空間分層數(shù)為Did和質(zhì)量分層數(shù)Qid,則SVC視 頻各分層文件名為DQid=l+16XDid+Qid。如圖2所示,本實(shí)施例中將SVC視頻流劃分為四層,針對(duì)視頻基礎(chǔ)層,其文件名為DQid=l+16 X Did+Qid=l+16 X 0+0=1 ;針對(duì)視頻第一增強(qiáng)層,其文件名為DQid = l+16XDid+Qid = 1+16X0+1=2 ;針對(duì)視頻第二增強(qiáng)層,其文件名為DQid = l+16XDid+Qid = 1+16X1+0=17 ;針對(duì)視頻第三增強(qiáng)層,其文件名為DQid = l+16XDid+Qid=l+16Xl+l = 18。S2、在服務(wù)器端,將該視音頻分層分片文件的相關(guān)信息封裝至Torrent文件中。與BitTorrent協(xié)議定義的Torrent文件類(lèi)似,基于SVC的P2PVoD系統(tǒng)的Torrent文件也是采用BenCode編碼格式進(jìn)行編碼。但是由于基于SVC的P2PVoD系統(tǒng)與傳統(tǒng)的P2PVoD系統(tǒng)在數(shù)據(jù)特征及分片算法等方面存在差別,為了保證SVC視音頻流的同步傳輸,本發(fā)明對(duì)Torrent文件的封裝格式進(jìn)行改進(jìn)。如圖3所示,該Torrent文件的封裝格式增加了音頻采樣率、視頻中貞率、視頻巾貞數(shù)、每個(gè)GOP (Group of Pictures,畫(huà)面組)所含視頻巾貞數(shù)、每個(gè)視頻分片所含GOP數(shù)目、SVC分層數(shù)(包括SVC視頻層和音頻層)、音頻層文件長(zhǎng)度、音頻層文件標(biāo)識(shí)符、各視頻分層長(zhǎng)度和標(biāo)識(shí)符(諸如視頻基礎(chǔ)層文件長(zhǎng)度、視頻基礎(chǔ)層文件識(shí)別符、視頻第一增強(qiáng)層文件長(zhǎng)度、視頻第一增強(qiáng)層文件標(biāo)識(shí)符等)、各視音頻分片長(zhǎng)度和視音頻分片總數(shù)中至少一個(gè),其中圖中的長(zhǎng)度單位為字節(jié)。S3、啟動(dòng)視音頻分層分片下載線程,客戶(hù)端從服務(wù)器下載Torrent文件,從該Torrent文件中提取該視音頻分層分片文件的相關(guān)信息初始化視頻解碼器和音頻解碼器。S4、客戶(hù)端下載該視音頻分層分片文件,并且根據(jù)距離當(dāng)前的播放時(shí)間點(diǎn)tplay的遠(yuǎn)近將視音頻分層分片文件由近至遠(yuǎn)劃分為高、中、低三個(gè)優(yōu)先級(jí)區(qū)域,且其下載優(yōu)先級(jí)逐漸降低。如圖4所示,高優(yōu)先級(jí)區(qū)域(HP High Priortiy)的時(shí)長(zhǎng)為h且距離播放時(shí)間點(diǎn)tplay最近。在播放視音頻之前,高優(yōu)先級(jí)區(qū)域內(nèi)面向播放時(shí)間點(diǎn)tplay —側(cè)的部分視音頻數(shù)據(jù)緩存于下載緩沖區(qū),且該部分視音頻數(shù)據(jù)的緩沖時(shí)長(zhǎng)為PREtime(諸如5s、IOs等)、下載層數(shù)為L(zhǎng)pm,其中該緩沖時(shí)長(zhǎng)PREtime可以根據(jù)實(shí)際情況人為設(shè)定,初始的下載層數(shù)Lpm可以根據(jù)初始的網(wǎng)絡(luò)帶寬確定且至少包括音頻層和視頻基礎(chǔ)層。由于視音頻分層分片文件播放時(shí)必須包括音頻層分片和視頻基礎(chǔ)層分片,而視頻增強(qiáng)層分片的作用在于提高視音頻播放的品質(zhì),并且在下載SVC視音頻的過(guò)程中網(wǎng)絡(luò)帶寬會(huì)不斷變化,為了保證視音頻播放的流暢性和品質(zhì),客戶(hù)端周期性地判斷是否需要重新確定該下載緩沖區(qū)的下載層數(shù)lpm。設(shè)定下載緩沖區(qū)中待播放視音頻數(shù)據(jù)的時(shí)長(zhǎng)為tbuf =tSChedule-tPlay,其中tMtedulf5表示當(dāng)前的下載時(shí)間點(diǎn),tplay表示當(dāng)前的播放時(shí)間點(diǎn)。tbuf隨著下載速率的變化而變化,當(dāng)下載速率大于播放速率時(shí),tbuf不斷增大;當(dāng)下載速率小于播放速率時(shí),tbuf不斷減小。當(dāng)tbuf減小至下限閾值時(shí)表示下載速率過(guò)慢,為了保證視音頻的流暢播放,在至少下載音頻層分片和視頻基礎(chǔ)層分片的基礎(chǔ)上,減少下載一層視頻增強(qiáng)層分片,下載層數(shù)減一 Lpm-;當(dāng)tbuf增大至上限閾值時(shí)表示下載速率過(guò)高,為了提高視音頻播放的品質(zhì),在不超過(guò)視頻分層總數(shù)的基礎(chǔ)上,增加下載一層視頻增強(qiáng)層分片,下載層數(shù)加一 Lpm++。由于等時(shí)長(zhǎng)的音頻層分片要比視頻基礎(chǔ)層分片小得多,并且音頻層分片的下載速度更快,因此在高級(jí)優(yōu)先級(jí)區(qū)域中視音頻數(shù)據(jù)的下載順序?yàn)橐纛l層分片,視頻基礎(chǔ)層分片,視頻增強(qiáng)層分片。中優(yōu)先級(jí)區(qū)域(MP :Middle Priority)的時(shí)長(zhǎng)為u且距離當(dāng)前的播放時(shí)間點(diǎn)tplay較近,下載優(yōu)先級(jí)居中。隨著時(shí)間的推移會(huì)進(jìn)入高優(yōu)先級(jí)區(qū)域,因此是播放的緊急性和稀缺分片擴(kuò)散速度上的一個(gè)折中,采用分層最少優(yōu)先(Rarest-First)策略。低優(yōu)先級(jí)區(qū)域(LP Low Priority)為剩余調(diào)度區(qū)域且距離當(dāng)前的播放時(shí)間點(diǎn)tplay最遠(yuǎn),下載優(yōu)先級(jí)最低。為了提高稀缺分片擴(kuò)散的速度,同樣采用分層最少優(yōu)先(Rarest-First)策略。S5、客戶(hù)端客戶(hù)端將該視音頻分層分片文件中的SVC視頻數(shù)據(jù)和音頻數(shù)據(jù)分別送往對(duì)應(yīng)的視頻解碼器和音頻解碼器進(jìn)行解碼,并播放解碼后的視音頻數(shù)據(jù)。由于基于SVC的P2PV0D系統(tǒng)的視頻是SVC視頻流,當(dāng)出現(xiàn)播放不同步時(shí),對(duì)視頻的調(diào)整會(huì)涉及到數(shù)層視頻,處理起來(lái)比較復(fù)雜,而音頻只有一層,處理起來(lái)更簡(jiǎn)單可靠,而且如圖I所示人們對(duì)聲音落后于圖像比聲音超前于圖像要寬容許多,因此本發(fā)明在播放視音頻時(shí),以SVC視頻流為主媒體流,音頻流為從媒體流,同步音頻流到SVC視頻流。因?yàn)镾VC視頻流的視頻塊Video Chunk解碼比較復(fù)雜,從解碼視頻塊Video Chunk到播放該視頻塊Video Chunk會(huì)有一定延遲,而解碼相應(yīng)的音頻分片Audio Piece則非常快,因此本發(fā)明不以解碼一個(gè)視頻塊Video Chunk的時(shí)間作為解碼相應(yīng)音頻分片Audio Piece的同步時(shí)間,而是以開(kāi)始播放視頻塊Video Chunk的時(shí)間作為解碼對(duì)應(yīng)音頻分片Audio Piece的同步時(shí)間。具體步驟為首先,設(shè)定播放同步時(shí)鐘Tvideo來(lái)記錄視頻分片數(shù)據(jù)的播放時(shí)間;接著,啟動(dòng)視頻播放線程,從下載緩沖區(qū)中獲取緩存的視頻分片數(shù)據(jù)進(jìn)行解碼播放,并更新播放同步時(shí)鐘Tvideo ;最后,啟動(dòng)音頻播放線程,根據(jù)播放同步時(shí)鐘Tvideo從下載緩沖區(qū)中獲取緩存的音頻分片數(shù)據(jù)進(jìn)行解碼播放,從而實(shí)現(xiàn)視音頻播放同步。在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。、盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解在不脫離本發(fā)明的原理和宗 旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
權(quán)利要求
1.一種基于SVC的P2PV0D系統(tǒng)的視音頻同步方法,其特征在于包括以下步驟 51、在服務(wù)器端將SVC視頻流按照等時(shí)長(zhǎng)分割成N個(gè)視頻塊,將該N個(gè)視頻塊分別劃分為M層視頻分片,其中各視頻塊中最底層的視頻分片構(gòu)成視頻基礎(chǔ)層,其上的每一層視頻分片均構(gòu)成一個(gè)視頻增強(qiáng)層;將音頻流按照等時(shí)長(zhǎng)分割成N個(gè)音頻層分片;將該音頻層作為該視頻基礎(chǔ)層的下一層,從而生成視音頻分層分片文件,其中SVC視頻流分割成視頻塊的單位時(shí)長(zhǎng)與音頻流分割成音頻層分片的單位時(shí)長(zhǎng)相等,且N、M均為大于零的整數(shù); 52、在服務(wù)器端,將該視音頻分層分片文件的相關(guān)信息封裝至Torrent文件中; 53、啟動(dòng)視音頻分層分片下載線程,客戶(hù)端從服務(wù)器端下載該Torrent文件,從該Torrent文件中提取該視音頻分層分片文件的相關(guān)信息初始化視頻解碼器和音頻解碼器; 54、客戶(hù)端下載該視音頻分層分片文件; 55、客戶(hù)端將該視音頻分層分片文件中的SVC視頻數(shù)據(jù)和音頻數(shù)據(jù)分別送往對(duì)應(yīng)的視頻解碼器和音頻解碼器進(jìn)行解碼,并播放解碼后的視音頻數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于在所述步驟SI中音頻層文件名為O ;設(shè)定空間分層數(shù)為Did和質(zhì)量分層數(shù)Qid,則SVC視頻各分層文件名為DQid = l+16XDid+Qid。
3.根據(jù)權(quán)利要求I所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于在所述步驟S2中該Torrent文件的封裝格式增加了音頻采樣率、視頻幀率、視頻幀數(shù)、每個(gè)GOP所含視頻幀數(shù)、每個(gè)視頻分片所含GOP數(shù)目、SVC分層數(shù)、音頻層文件長(zhǎng)度、音頻層文件標(biāo)識(shí)符、視頻基礎(chǔ)層和各視頻增強(qiáng)層的長(zhǎng)度、視頻基礎(chǔ)層和各視頻增強(qiáng)層標(biāo)識(shí)符、各視音頻分片長(zhǎng)度和視音頻分片總數(shù)中至少一個(gè),其中該SVC分層數(shù)包括SVC視頻層數(shù)和音頻層數(shù)。
4.根據(jù)權(quán)利要求I所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于在所述步驟S4中根據(jù)距離當(dāng)前的播放時(shí)間點(diǎn)tplay的遠(yuǎn)近,將視音頻分層分片文件由近至遠(yuǎn)劃分為高優(yōu)先級(jí)區(qū)域、中優(yōu)先級(jí)區(qū)域和低優(yōu)先級(jí)區(qū)域,其下載優(yōu)先級(jí)逐漸降低。
5.根據(jù)權(quán)利要求4所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于在播放視音頻之前,高優(yōu)先級(jí)區(qū)域內(nèi)面向播放時(shí)間點(diǎn)tplay —側(cè)的部分視音頻數(shù)據(jù)緩存于下載緩沖區(qū),且該部分視音頻數(shù)據(jù)的緩沖時(shí)長(zhǎng)為PREtime、下載層數(shù)為L(zhǎng)pm,其中該下載層數(shù)Lpm根據(jù)網(wǎng)絡(luò)帶寬確定且至少包括音頻層和視頻基礎(chǔ)層。
6.根據(jù)權(quán)利要求5所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于客戶(hù)端周期性地判斷是否需要重新確定該下載緩沖區(qū)的下載層數(shù)Lpm :設(shè)定下載緩沖區(qū)中待播放視音頻數(shù)據(jù)的時(shí)長(zhǎng)為tbuf ^schedule ^play 其中t—表示當(dāng)前的下載時(shí)間點(diǎn),t—表示當(dāng)前的播放時(shí)間點(diǎn),當(dāng)tbuf減小至下限閾值時(shí)表示下載速率過(guò)慢,為了保證視音頻播放的流暢性,減少下載一層視頻增強(qiáng)層分片,下載層數(shù)減一 Lpm-;當(dāng)tbuf增大至上限閾值時(shí)表示下載速率過(guò)高,為了提高視音頻播放的品質(zhì),確定增加下載一層視頻增強(qiáng)層分片,下載層數(shù)加一 Lpm++。
7.根據(jù)權(quán)利要求4 6中任何一項(xiàng)所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于該高級(jí)優(yōu)先區(qū)域中視音頻數(shù)據(jù)的下載順序?yàn)橐纛l層分片、視頻基礎(chǔ)層分片、視頻增強(qiáng)層分片。
8.根據(jù)權(quán)利要求I所述的基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,其特征在于所述步驟S5由以下步驟組成設(shè)定播放同步時(shí)鐘Tvideo來(lái)記錄視頻分片數(shù)據(jù)的播放時(shí)間; 啟動(dòng)視頻播放線程,從下載緩沖區(qū)中獲取緩存的視頻分片數(shù)據(jù)進(jìn)行解碼播放,并更新播放同 步時(shí)鐘Tvideo ; 啟動(dòng)音頻播放線程,根據(jù)播放同步時(shí)鐘Tvideo從下載緩沖區(qū)中獲取緩存的音頻分片數(shù)據(jù)進(jìn)行解碼播放,從而實(shí)現(xiàn)視音頻播放同步。
全文摘要
本發(fā)明提出了一種基于SVC的P2PVoD系統(tǒng)的視音頻同步方法,屬于多媒體互聯(lián)網(wǎng)應(yīng)用領(lǐng)域。本發(fā)明將音頻流復(fù)合到SVC視頻流中,并將SVC視頻編碼特征與Bittorrent協(xié)議相結(jié)合,改進(jìn)Torrent文件的封裝格式,從而保證了基于SVC的視音頻數(shù)據(jù)的傳輸同步;采用基于緩存的質(zhì)量自適應(yīng)和順序下載相結(jié)合的方式,保證了視音頻播放的流暢性并可以提高視音頻播放的品質(zhì),實(shí)現(xiàn)了SVC視音頻分片的調(diào)度同步;以SVC視頻為主媒體流,音頻為從媒體流,播放時(shí)以視頻分片的播放時(shí)間信息更新同步時(shí)鐘,并以該時(shí)鐘同步解碼和播放相應(yīng)音頻分片,從而實(shí)現(xiàn)視音頻媒體間的播放同步。
文檔編號(hào)H04N21/4408GK102761776SQ20121027150
公開(kāi)日2012年10月31日 申請(qǐng)日期2012年8月1日 優(yōu)先權(quán)日2012年8月1日
發(fā)明者唐朝偉, 羅秀紅, 袁楊 申請(qǐng)人:重慶大學(xué)