流媒體文件的數(shù)據(jù)傳輸方法和裝置制造方法
【專利摘要】本發(fā)明提供一種流媒體文件的數(shù)據(jù)傳輸方法和裝置,其方法包括:當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取第一數(shù)據(jù)段的第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值;當(dāng)平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段;其中,原始網(wǎng)絡(luò)帶寬與第一數(shù)據(jù)段的質(zhì)量相適應(yīng);第一數(shù)據(jù)段與第二數(shù)據(jù)段相鄰,且第一數(shù)據(jù)段在第二數(shù)據(jù)段之前;當(dāng)傳輸完第一數(shù)據(jù)段后,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。利用該發(fā)明,可以提高流媒體文件的數(shù)據(jù)傳輸質(zhì)量和傳輸效率。
【專利說明】流媒體文件的數(shù)據(jù)傳輸方法和裝置
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,更為具體地,涉及流媒體文件的數(shù)據(jù)傳輸方法和裝置。
[0003]【背景技術(shù)】
[0004]所謂流媒體是指采用流式傳輸?shù)姆绞皆贗nternet播放的媒體格式。流媒體又叫流式媒體,它是將一個視頻傳送服務(wù)器把節(jié)目當(dāng)成數(shù)據(jù)包發(fā)出,傳送到網(wǎng)絡(luò)上。用戶通過解壓設(shè)備對這些數(shù)據(jù)進(jìn)行解壓后,節(jié)目就會像發(fā)送前那樣顯示出來。當(dāng)今,網(wǎng)絡(luò)帶寬仍然是流媒體系統(tǒng)應(yīng)用的最大瓶頸,為了應(yīng)付網(wǎng)絡(luò)帶寬的不足,許多流媒體系統(tǒng)將解決辦法放在流媒體系統(tǒng)架構(gòu)的改進(jìn)上。
[0005]傳統(tǒng)的流媒體文件傳輸采用單一的碼率傳輸,或者,先接收終端支持的分辨率,然后根據(jù)實測的傳輸帶寬、終端支持的分辨率進(jìn)行自適應(yīng)編碼調(diào)整流媒體數(shù)據(jù)的大小;由于該種數(shù)據(jù)傳輸方法,一方面,需考慮到終端支持的分辨率;另一方面,需要考慮到當(dāng)前傳輸帶寬的限制;這就需要在數(shù)據(jù)傳輸時,進(jìn)行比較復(fù)雜的處理以得到數(shù)據(jù)傳輸策略,并且,在采用上述數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸時,并不能有效利用當(dāng)前的網(wǎng)絡(luò)帶寬,特別是對于那種下載流媒體文件批量在不同終端上播放的情形,當(dāng)前網(wǎng)絡(luò)帶寬可以支持大數(shù)據(jù)傳輸,然而卻只傳輸上述自適應(yīng)調(diào)整后的比當(dāng)前網(wǎng)絡(luò)帶寬可以支持的數(shù)據(jù)小的數(shù)據(jù),由于各個終端支持的數(shù)據(jù)質(zhì)量不盡相同,有的終端支持的數(shù)據(jù)質(zhì)量高,有的終端支持的數(shù)據(jù)質(zhì)量低。
[0006]綜上,傳統(tǒng)的流媒體文件傳輸存在數(shù)據(jù)傳輸?shù)馁|(zhì)量較差、傳輸效率低下的不足。
[0007]
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的在于提出一種流媒體文件的數(shù)據(jù)傳輸方法和裝置,可以提高流媒體文件的數(shù)據(jù)傳輸質(zhì)量和傳輸效率。
[0009]根據(jù)本發(fā)明的一個方面,提供了一種流媒體文件的數(shù)據(jù)傳輸方法,包括:當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取第一數(shù)據(jù)段的第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值;當(dāng)平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段;其中,原始網(wǎng)絡(luò)帶寬與第一數(shù)據(jù)段的質(zhì)量相適應(yīng);第一數(shù)據(jù)段與第二數(shù)據(jù)段相鄰,且第一數(shù)據(jù)段在第二數(shù)據(jù)段之前;當(dāng)傳輸完第一數(shù)據(jù)段后,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。
[0010]根據(jù)本發(fā)明的另一個方面,提供了一種流媒體文件的數(shù)據(jù)傳輸裝置,包括:
第一獲取模塊,用于當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取第一數(shù)據(jù)段的
第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值;第二獲取模塊,用于當(dāng)平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段;其中,原始網(wǎng)絡(luò)帶寬與第一數(shù)據(jù)段的質(zhì)量相適應(yīng);第二數(shù)據(jù)段的質(zhì)量與平均值相適應(yīng);第一數(shù)據(jù)段與第二數(shù)據(jù)段相鄰,且第一數(shù)據(jù)段在第二數(shù)據(jù)段之前;傳輸模塊,用于當(dāng)傳輸完第一數(shù)據(jù)段后,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。
[0011]利用上述方法及裝置,將流媒體文件分成不同的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段;獲取一定時期內(nèi)的網(wǎng)絡(luò)帶寬的平均值;當(dāng)該平均值觸發(fā)傳輸與該平均值相適應(yīng)的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段時,在傳輸完當(dāng)前數(shù)據(jù)段后,傳輸與該平均值相適應(yīng)的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段的數(shù)據(jù);這就使得本發(fā)明的流媒體文件傳輸不需要經(jīng)過比較復(fù)雜的處理以得到數(shù)據(jù)傳輸策略,并且,在采用上述數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸時,只考慮網(wǎng)絡(luò)帶寬的因素,可以有效利用當(dāng)前的網(wǎng)絡(luò)帶寬,傳輸流媒體文件;從而提高了流媒體文件的數(shù)據(jù)傳輸質(zhì)量和傳輸效率。
[0012]為了實現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個或多個方面包括后面將詳細(xì)說明并在權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細(xì)說明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。
[0013]
【專利附圖】
【附圖說明】
[0014]根據(jù)下述參照附圖進(jìn)行的詳細(xì)描述,本發(fā)明的上述和其他目的、特征和優(yōu)點將變得更加顯而易見。在附圖中:
圖1示出了流媒體文件的碼率自適應(yīng)處理系統(tǒng)的功能框圖;
圖2示出了根據(jù)本發(fā)明的實施例的流媒體文件的傳輸方法的流程圖;
圖3示出了流媒體文件的碼率自適應(yīng)處理系統(tǒng)中流媒體文件的接收端的方框示意圖;
和
圖4示出了根據(jù)本發(fā)明的實施例的流媒體文件的傳輸裝置的方框示意圖。
[0015]在所有附圖中相同的標(biāo)號指示相似或相應(yīng)的特征或功能。
[0016]
【具體實施方式】
[0017]下面描述本公開的各個方面。應(yīng)該明白的是,本文的教導(dǎo)可以以多種多樣形式具體體現(xiàn),并且在本文中公開的任何具體結(jié)構(gòu)、功能或兩者僅僅是代表性的?;诒疚牡慕虒?dǎo),本領(lǐng)域技術(shù)人員應(yīng)該明白的是,本文所公開的一個方面可以獨立于任何其它方面實現(xiàn),并且這些方面中的兩個或多個方面可以按照各種方式組合。例如,可以使用本文所闡述的任何數(shù)目的方面,實現(xiàn)裝置或?qū)嵺`方法。另外,可以使用其它結(jié)構(gòu)、功能、或除了本文所闡述的一個或多個方面之外或不是本文所闡述的一個或多個方面的結(jié)構(gòu)和功能,實現(xiàn)這種裝置或?qū)嵺`這種方法。此外,本文所描述的任何方面可以包括權(quán)利要求的至少一個元素。
[0018]下面將參照附圖描述本發(fā)明的各個實施例。
[0019]首先請參考圖1,圖1示出了流媒體文件的碼率自適應(yīng)處理系統(tǒng)的功能框圖; 流媒體文件的碼率自適應(yīng)處理系統(tǒng)包括發(fā)送端和接收端;其中各模塊的功能大致如
下: 1)流媒體質(zhì)量等級劃分功能
其中,媒體質(zhì)量等級可理解為流媒體文件的分辨率,和/或幀率,和/或像素位數(shù);與該功能有關(guān)的模塊包括:磁盤文件管理模塊、媒體質(zhì)量等級劃分模塊、媒體文件重編碼模塊、媒體文件分段模塊以及RTP的組裝模塊。
[0020]其中,磁盤文件管理模塊為發(fā)送端功能模塊,用于管理磁盤上的每一個文件,為上層提供讀取文件內(nèi)容、查詢文件信息等接口 ;
媒體質(zhì)量等級劃分模塊:用于媒體文件質(zhì)量等級的劃分;
媒體文件重編碼模塊:用于對外提供重編碼的分辨率、像素位數(shù)的參數(shù)的設(shè)置,實現(xiàn)媒體文件的重編碼;
媒體文件分段模塊:用于實現(xiàn)媒體數(shù)據(jù)內(nèi)容分段,以實現(xiàn)媒體內(nèi)容等級切換時的快速
重定位;
2)流媒體內(nèi)容的切換調(diào)度和擁塞控制
與該功能有關(guān)的模塊包括:媒體質(zhì)量等級切換模塊、擁塞控制模塊和可用帶寬的測量模塊;
媒體質(zhì)量等級切換模塊:用于實現(xiàn)媒體質(zhì)量等級的重新選擇功能,以及在切換操作時,實現(xiàn)下一個需要發(fā)送的音視頻幀的快速定位操作;
擁塞控制模塊:用于提供了適用于流媒體的擁塞控制機制;
可用帶寬的測量模塊:用于通過反饋的RTCP (RTP Control Protocol,RTP控制協(xié)議)包進(jìn)行實時地計算得到當(dāng)前的可用帶寬大??;
3)媒體數(shù)據(jù)發(fā)送和接收
媒體數(shù)據(jù)發(fā)送模塊:用于根據(jù)當(dāng)前的發(fā)送速率實現(xiàn)媒體數(shù)據(jù)內(nèi)容向接收端的發(fā)送; 媒體數(shù)據(jù)接收模塊:用于實現(xiàn)媒體數(shù)據(jù)內(nèi)容的接收;
4)播放控制
與該功能有關(guān)的模塊包括:播放器控制接口、VCR操作接口、filters管理器(即FilterGraph Manager:過濾器圖標(biāo)管理器)、音視頻巾貞的重組模塊、RTP (Reliable TransportProtocol,可靠傳輸協(xié)議)包的解封模塊以及緩沖區(qū)管理模塊;
播放器控制接口:用于為用戶提供友好的VCR操作界面;
VCR操作接口:用于實現(xiàn)網(wǎng)絡(luò)環(huán)境下播放時的VCR操作網(wǎng)絡(luò)命令交互;
Filters管理器:用于實現(xiàn)播放器filters鏈路的創(chuàng)建、動態(tài)重連、實時解碼播放等;音視頻幀重組模塊:用于實現(xiàn)從RTP解封模塊中還原出來的幀數(shù)據(jù)內(nèi)容到音視頻幀的重組;
緩沖區(qū)管理模塊:用于實現(xiàn)接收端的媒體數(shù)據(jù)內(nèi)容緩沖,并根據(jù)當(dāng)前的網(wǎng)絡(luò)性能和媒體質(zhì)量等級自適應(yīng)地調(diào)整容量。
[0021]本發(fā)明可以基于圖1所示系統(tǒng)運行;圖2示出了根據(jù)本發(fā)明的實施例的流媒體文件的傳輸方法的流程圖;本發(fā)明提出的流媒體文件的傳輸方法包括:
S1、當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取第一數(shù)據(jù)段的第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值;采用適合于流媒體應(yīng)用的具有延遲預(yù)警的擁塞控制算法,并結(jié)合RTP/RTCP對該算法的計算因子進(jìn)行實時采集,可以獲取網(wǎng)絡(luò)帶寬。
[0022]S2、當(dāng)平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段;其中,原始網(wǎng)絡(luò)帶寬與第一數(shù)據(jù)段的質(zhì)量相適應(yīng);第一數(shù)據(jù)段與第二數(shù)據(jù)段相鄰,且第一數(shù)據(jù)段在第二數(shù)據(jù)段之前;其中,對于流媒體文件來說,數(shù)據(jù)質(zhì)量可以是數(shù)據(jù)的分辨率,和/或幀率,和/或像素位數(shù);
S3、當(dāng)傳輸完第一數(shù)據(jù)段后,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。
[0023]利用上述方法,將流媒體文件分成不同的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段;獲取一定時期內(nèi)的網(wǎng)絡(luò)帶寬的平均值;當(dāng)該平均值觸發(fā)傳輸與該平均值相適應(yīng)的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段時,在傳輸完當(dāng)前數(shù)據(jù)段后,傳輸與該平均值相適應(yīng)的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段的數(shù)據(jù);這就使得本發(fā)明的流媒體文件傳輸不需要經(jīng)過比較復(fù)雜的處理以得到數(shù)據(jù)傳輸策略,并且,在采用上述數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸時,只考慮網(wǎng)絡(luò)帶寬的因素,可以有效利用當(dāng)前的網(wǎng)絡(luò)帶寬,傳輸流媒體文件;從而提高了流媒體文件的數(shù)據(jù)傳輸質(zhì)量和傳輸效率。
[0024]本領(lǐng)域的技術(shù)人員可以理解經(jīng)過步驟SI至S3是一個連續(xù)過程,當(dāng)執(zhí)行完步驟S3后,若還有該流媒體文件的數(shù)據(jù)段,則返回步驟SI ;然后重復(fù)SI至S3的過程直至該流媒體文件的所有數(shù)據(jù)段傳輸完畢。
[0025]在本發(fā)明的一個或者多個實施方式中,傳輸數(shù)據(jù)時可以采用RTP/RTCP協(xié)議對媒體數(shù)據(jù)內(nèi)容進(jìn)行傳輸。對于視頻H264編碼,其RTP包的有三種打包模式,可參閱參考文件rfc3984 ;而對于音頻AAC編碼(Advanced Audio Coding,高級音頻編碼),其RTP包的格式可參閱參考文件rf c3640。
[0026]第二預(yù)定數(shù)據(jù)長度可以是第一數(shù)據(jù)段中某一數(shù)據(jù)對應(yīng)的時間點至該數(shù)據(jù)段最后的時間點的時間長度。
[0027]在本發(fā)明的一個或者多個實施方式中,步驟S2中獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段的步驟可以包括但不限于以下步驟:
1、根據(jù)平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量;如,將流媒體文件A有B、C、D三個數(shù)據(jù)段;每個數(shù)據(jù)段都有3個數(shù)據(jù)質(zhì)量,按照一定的策略建立起網(wǎng)絡(luò)帶寬范圍、數(shù)據(jù)段的數(shù)據(jù)質(zhì)量的聯(lián)系即可得到上述預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系;該建立過程可以在系統(tǒng)運行前預(yù)先設(shè)置;也可以在系統(tǒng)運行后預(yù)生成;
2、根據(jù)需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量從緩沖區(qū)中選取第二數(shù)據(jù)段的數(shù)據(jù);其中,緩沖區(qū)用于緩存同一源數(shù)據(jù)的不同數(shù)據(jù)質(zhì)量的數(shù)據(jù)段數(shù)據(jù)。
[0028]在本發(fā)明的一個或者多個實施方式中,上述步驟中提到的根據(jù)需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量從緩沖區(qū)中選取第二數(shù)據(jù)段的數(shù)據(jù)的步驟前還包括:
3、讀取第一時間長度內(nèi)的源數(shù)據(jù);
4、按照預(yù)定步長將第一時間長度內(nèi)的源數(shù)據(jù)分成若干源數(shù)據(jù)段;其中,預(yù)定步長為時間長度;
5、將每個源數(shù)據(jù)段生成不同質(zhì)量的數(shù)據(jù)段;具體的,例如,將流媒體文件A分成連續(xù)的al、a2、a3、a4四個數(shù)據(jù)段;每個數(shù)據(jù)段有bl、b2、b3三個數(shù)據(jù)質(zhì)量;
6、緩存相鄰的不同質(zhì)量的數(shù)據(jù)段的數(shù)據(jù)。緩存時,可以緩存具有bl、b2、b3三個數(shù)據(jù)質(zhì)量的al和a2數(shù)據(jù)段;也可以緩存具有bl、b2、b3三個數(shù)據(jù)質(zhì)量的al、a2、a3數(shù)據(jù)段;還可以緩存具有bl、b2、b3三個數(shù)據(jù)質(zhì)量的al、a2、a3、a4數(shù)據(jù)段。
[0029]在本發(fā)明的一個或者多個實施方式中,當(dāng)傳輸完第二數(shù)據(jù)段的數(shù)據(jù)后,從緩沖區(qū)中刪除與第二數(shù)據(jù)段的數(shù)據(jù)相關(guān)的數(shù)據(jù);其中,與第二數(shù)據(jù)段的數(shù)據(jù)相關(guān)的數(shù)據(jù)包括:第二數(shù)據(jù)段的所有數(shù)據(jù)質(zhì)量的數(shù)據(jù);如上述例子中,數(shù)據(jù)段a2的bl、b2、b3三個數(shù)據(jù)質(zhì)量的數(shù)據(jù);
當(dāng)緩沖區(qū)沒有數(shù)據(jù)時,讀取第二時間長度的源數(shù)據(jù);按照預(yù)定步長將第二時間長度內(nèi)的源數(shù)據(jù)分成若干源數(shù)據(jù)段;返回上述步驟5將每個源數(shù)據(jù)段生成不同質(zhì)量的數(shù)據(jù)段的步驟;其中,第二時間長度順序銜接在第一時間長度之后。
[0030]在本發(fā)明的一個或者多個實施方式中,步驟S2中獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段的步驟包括但不限于以下步驟:
7、根據(jù)平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量;
8、在第一數(shù)據(jù)段之后,按照預(yù)定步長從當(dāng)前傳輸?shù)牧髅襟w文件中順序選取數(shù)據(jù)段;數(shù)據(jù)分段的時間長度不宜太長,可以采用5秒鐘時長的分段策略,在進(jìn)行RTCP的反饋包交互時,時間間隔也可以為5秒鐘。即可以將預(yù)定步長設(shè)定為5秒鐘。
[0031]9、將選取的數(shù)據(jù)段按照需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量進(jìn)行轉(zhuǎn)換得到第二數(shù)據(jù)段的數(shù)據(jù)。
[0032]在本發(fā)明的一個或者多個實施方式中,在步驟S3中傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)的步驟中,先進(jìn)行動態(tài)重連,當(dāng)連接成功時,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。
[0033]在本發(fā)明的一個或者多個實施方式中,將接收的第一數(shù)據(jù)段的數(shù)據(jù)和第二數(shù)據(jù)段的數(shù)據(jù),按照終端的分辨率進(jìn)行轉(zhuǎn)換。
[0034]圖3示出了流媒體文件的碼率自適應(yīng)處理系統(tǒng)中流媒體文件的接收端的方框示意圖;
該接收端用于實現(xiàn)媒體數(shù)據(jù)的接收,對接收到的RTP包進(jìn)行解封裝,同時實現(xiàn)音視頻幀的重組操作,為上層播放層提供音視頻幀的獲取接口 ;對接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行緩沖,以等待播放模塊獲取數(shù)據(jù)進(jìn)行解碼播放;
開辟多大的緩沖區(qū)是緩沖區(qū)管理模塊重點要解決的一個問題,如果采用固定大小的緩沖區(qū),往往不能滿足實際的應(yīng)用需要,因為不同流媒體文件的分辨率、幀率和像素位數(shù)等都是不同,在相同大小緩沖區(qū)模式下,對不同的媒體質(zhì)量,其能夠緩沖的音視頻幀數(shù)會有很大的差別,為了屏蔽這種差別,使得媒體能夠流暢播放,需要自適應(yīng)的調(diào)整緩沖區(qū)的大小。
[0035]本發(fā)明還提出一種流媒體文件的數(shù)據(jù)傳輸裝置,圖4示出了根據(jù)本發(fā)明的實施例的流媒體文件的傳輸裝置的方框示意圖;包括:第一獲取模塊,用于當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取第一數(shù)據(jù)段的第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值;
第二獲取模塊,用于當(dāng)平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與平均值相適應(yīng)的第二數(shù)據(jù)段;其中,原始網(wǎng)絡(luò)帶寬與第一數(shù)據(jù)段的質(zhì)量相適應(yīng);第二數(shù)據(jù)段的質(zhì)量與平均值相適應(yīng);第一數(shù)據(jù)段與第二數(shù)據(jù)段相鄰,且第一數(shù)據(jù)段在第二數(shù)據(jù)段之前;
傳輸模塊,用于當(dāng)傳輸完第一數(shù)據(jù)段后,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。
[0036]利用上述裝置,將流媒體文件分成不同的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段;獲取一定時期內(nèi)的網(wǎng)絡(luò)帶寬的平均值;當(dāng)該平均值觸發(fā)傳輸與該平均值相適應(yīng)的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段時,在傳輸完當(dāng)前數(shù)據(jù)段后,傳輸與該平均值相適應(yīng)的數(shù)據(jù)質(zhì)量的數(shù)據(jù)段的數(shù)據(jù);這就使得本發(fā)明的流媒體文件傳輸不需要經(jīng)過比較復(fù)雜的處理以得到數(shù)據(jù)傳輸策略,并且,在采用上述數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸時,只考慮網(wǎng)絡(luò)帶寬的因素,可以有效利用當(dāng)前的網(wǎng)絡(luò)帶寬,傳輸流媒體文件;從而提高了流媒體文件的數(shù)據(jù)傳輸質(zhì)量和傳輸效率。
[0037]在本發(fā)明的一個或者多個實施方式中,第二獲取模塊包括:
查找單元,用于根據(jù)平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量;
第一選取單元,用于根據(jù)需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量從緩沖區(qū)中選取第二數(shù)據(jù)段的數(shù)據(jù);其中,緩沖區(qū)用于緩存同一源數(shù)據(jù)的不同質(zhì)量的數(shù)據(jù)段數(shù)據(jù)。
[0038]在本發(fā)明的一個或者多個實施方式中,第二獲取模塊包括:
查找單元,根據(jù)平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量;
第二選取單元,用于在第一數(shù)據(jù)段之后,按照預(yù)定步長從當(dāng)前傳輸?shù)牧髅襟w文件中順序選取數(shù)據(jù)段;
轉(zhuǎn)換單元,用于將選取的數(shù)據(jù)段按照需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量進(jìn)行轉(zhuǎn)換得到第二數(shù)據(jù)段的數(shù)據(jù)。
[0039]在本發(fā)明的一個或者多個實時方式中,流媒體文件的數(shù)據(jù)傳輸裝置還包括:讀取單元、分段單元、數(shù)據(jù)段產(chǎn)生單元、緩存單元;其中,讀取單元用于讀取第一時間長度內(nèi)的源數(shù)據(jù);分段單元用于按照預(yù)定步長將第一時間長度內(nèi)的源數(shù)據(jù)分成若干源數(shù)據(jù)段;數(shù)據(jù)段產(chǎn)生單元用于將每個源數(shù)據(jù)段生成不同質(zhì)量的數(shù)據(jù)段;其中,預(yù)定步長為時間長度;緩存單元用于緩存相鄰的不同質(zhì)量的數(shù)據(jù)段的數(shù)據(jù)。
[0040]在本發(fā)明的一個或者多個實時方式中,流媒體文件的數(shù)據(jù)傳輸裝置還包括刪除單元;其中,當(dāng)傳輸完第二數(shù)據(jù)段的數(shù)據(jù)后,刪除單元從緩沖區(qū)中刪除與第二數(shù)據(jù)段的數(shù)據(jù)相關(guān)的數(shù)據(jù);
當(dāng)緩沖區(qū)沒有數(shù)據(jù)時,讀取單元讀取第二時間長度的源數(shù)據(jù);分段單元按照預(yù)定步長將第二時間長度內(nèi)的源數(shù)據(jù)分成若干源數(shù)據(jù)段;數(shù)據(jù)段產(chǎn)生單元將每個源數(shù)據(jù)段生成不同質(zhì)量的數(shù)據(jù)段;其中,第二時間長度順序銜接在第一時間長度之后。
[0041]在本發(fā)明的一個或者多個實時方式中,在傳輸模塊傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)時,先進(jìn)行動態(tài)重連,當(dāng)連接成功時,傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)。
[0042]在本發(fā)明的一個或者多個實時方式中,與流媒體文件的數(shù)據(jù)傳輸裝置對應(yīng)設(shè)置的接收端將接收的第一數(shù)據(jù)段的數(shù)據(jù)和第二數(shù)據(jù)段的數(shù)據(jù),按照終端的分辨率進(jìn)行轉(zhuǎn)換。
[0043]本發(fā)明可以應(yīng)用于PC客戶端也可以應(yīng)用于移動終端;此外,典型地,本發(fā)明所述的移動終端可為各種具有藍(lán)牙功能的手持終端設(shè)備,例如具有藍(lán)牙功能的手機、個人數(shù)字助理(roA)。
[0044]此外,根據(jù)本發(fā)明的方法還可以被實現(xiàn)為由移動終端中的處理器(比如CPU)執(zhí)行的計算機程序,并且存儲在移動終端的存儲器中。在該計算機程序被處理器執(zhí)行時,執(zhí)行本發(fā)明的方法中限定的上述功能。
[0045]此外,根據(jù)本發(fā)明的方法還可以實現(xiàn)為一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括計算機可讀介質(zhì),在該計算機可讀介質(zhì)上存儲有用于執(zhí)行本發(fā)明的方法中限定的上述功能的計算機程序。
[0046]此外,上述方法步驟以及系統(tǒng)單元也可以利用控制器以及用于存儲使得控制器實現(xiàn)上述步驟或單元功能的計算機程序的計算機可讀存儲設(shè)備實現(xiàn)。
[0047]本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實現(xiàn)為電子硬件、計算機軟件或兩者的組合。為了清楚地說明硬件和軟件的這種可互換性,已經(jīng)就各種示意性組件、方塊、模塊、電路和步驟的功能對其進(jìn)行了一般性的描述。這種功能是被實現(xiàn)為軟件還是被實現(xiàn)為硬件取決于具體應(yīng)用以及施加給整個系統(tǒng)的設(shè)計約束。本領(lǐng)域技術(shù)人員可以針對每種具體應(yīng)用以各種方式來實現(xiàn)所述的功能,但是這種實現(xiàn)決定不應(yīng)被解釋為導(dǎo)致脫離本發(fā)明的范圍。
[0048]盡管前面公開的內(nèi)容示出了本發(fā)明的示例性實施例,但是應(yīng)當(dāng)注意,在不背離權(quán)利要求限定的本發(fā)明的范圍的前提下,可以進(jìn)行多種改變和修改。根據(jù)這里描述的發(fā)明實施例的方法權(quán)利要求的功能、步驟和/或動作不需以任何特定順序執(zhí)行。此外,盡管本發(fā)明的元素可以以個體形式描述或要求,但是也可以設(shè)想多個,除非明確限制為單數(shù)。
[0049]雖然如上參照圖描述了根據(jù)本發(fā)明的各個實施例進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,對上述本發(fā)明所提出的各個實施例,還可以在不脫離本
【發(fā)明內(nèi)容】
的基礎(chǔ)上做出各種改進(jìn)。因此,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由所附的權(quán)利要求書的內(nèi)容確定。
【權(quán)利要求】
1.一種流媒體文件的數(shù)據(jù)傳輸方法,其特征在于: 當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取所述第一數(shù)據(jù)段的第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值; 當(dāng)所述平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)所述平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與所述平均值相適應(yīng)的第二數(shù)據(jù)段;其中,所述原始網(wǎng)絡(luò)帶寬與所述第一數(shù)據(jù)段的質(zhì)量相適應(yīng);所述第一數(shù)據(jù)段與所述第二數(shù)據(jù)段相鄰,且所述第一數(shù)據(jù)段在所述第二數(shù)據(jù)段之前; 當(dāng)傳輸完所述第一數(shù)據(jù)段后,傳輸所述第二數(shù)據(jù)段的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的流媒體文件的數(shù)據(jù)傳輸方法,其特征在于,所述獲取數(shù)據(jù)質(zhì)量與所述平均值相適應(yīng)的第二數(shù)據(jù)段的步驟包括: 根據(jù)所述平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,所述預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量; 根據(jù)所述需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量從緩沖區(qū)中選取第二數(shù)據(jù)段的數(shù)據(jù);其中,所述緩沖區(qū)用于緩存同一源數(shù)據(jù)的不同質(zhì)量的數(shù)據(jù)段數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的流媒體文件的數(shù)據(jù)傳輸方法,其特征在于,所述根據(jù)需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量從緩沖區(qū)中選取第二數(shù)據(jù)段的數(shù)據(jù)的步驟前還包括: 讀取第一時間長度內(nèi)的源數(shù)據(jù); 按照預(yù)定步長將第一時間長度內(nèi)的源數(shù)據(jù)分成若干源數(shù)據(jù)段; 將每個源數(shù)據(jù)段生成不同質(zhì)量的數(shù)據(jù)段;其中,所述預(yù)定步長為時間長度; 緩存相鄰的不同質(zhì)量的數(shù)據(jù)段的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的流媒體文件的數(shù)據(jù)傳輸方法,其特征在于,當(dāng)傳輸完所述第二數(shù)據(jù)段的數(shù)據(jù)后,從所述緩沖區(qū)中刪除與所述第二數(shù)據(jù)段的數(shù)據(jù)相關(guān)的數(shù)據(jù); 當(dāng)所述緩沖區(qū)沒有數(shù)據(jù)時,讀取第二時間長度的源數(shù)據(jù);按照所述預(yù)定步長將第二時間長度內(nèi)的源數(shù)據(jù)分成若干源數(shù)據(jù)段;返回所述將每個源數(shù)據(jù)段生成不同質(zhì)量的數(shù)據(jù)段的步驟;其中,所述第二時間長度順序銜接在所述第一時間長度之后。
5.根據(jù)權(quán)利要求1所述的流媒體文件的數(shù)據(jù)傳輸方法,其特征在于,所述獲取數(shù)據(jù)質(zhì)量與所述平均值相適應(yīng)的第二數(shù)據(jù)段的步驟包括: 根據(jù)所述平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,所述預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量; 在所述第一數(shù)據(jù)段之后,按照預(yù)定步長從當(dāng)前傳輸?shù)牧髅襟w文件中順序選取數(shù)據(jù)段; 將選取的數(shù)據(jù)段按照所述需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量進(jìn)行轉(zhuǎn)換得到第二數(shù)據(jù)段的數(shù)據(jù)。
6.根據(jù)權(quán)利要求1至5任一項所述的流媒體文件的數(shù)據(jù)傳輸方法,其特征在于,在所述傳輸?shù)诙?shù)據(jù)段的數(shù)據(jù)的步驟中,先進(jìn)行動態(tài)重連,當(dāng)連接成功時,傳輸所述第二數(shù)據(jù)段的數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的流媒文件的數(shù)據(jù)傳輸方法,其特征在于,將接收的所述第一數(shù)據(jù)段的數(shù)據(jù)和第二數(shù)據(jù)段的數(shù)據(jù),按照終端的分辨率進(jìn)行轉(zhuǎn)換。
8.一種流媒體文件的數(shù)據(jù)傳輸裝置,其特征在于,包括:第一獲取模塊,用于當(dāng)傳輸完第一數(shù)據(jù)段的第一預(yù)定數(shù)據(jù)長度后,獲取所述第一數(shù)據(jù)段的第二預(yù)定數(shù)據(jù)長度內(nèi)的網(wǎng)絡(luò)帶寬的平均值; 第二獲取模塊,用于當(dāng)所述平均值小于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的下限值,或者,當(dāng)所述平均值大于根據(jù)原始網(wǎng)絡(luò)帶寬確定的帶寬范圍的上限值時,獲取數(shù)據(jù)質(zhì)量與所述平均值相適應(yīng)的第二數(shù)據(jù)段;其中,所述原始網(wǎng)絡(luò)帶寬與所述第一數(shù)據(jù)段的質(zhì)量相適應(yīng);所述第二數(shù)據(jù)段的質(zhì)量與所述平均值相適應(yīng);所述第一數(shù)據(jù)段與所述第二數(shù)據(jù)段相鄰,且所述第一數(shù)據(jù)段在所述第二數(shù)據(jù)段之前; 傳輸模塊,用于當(dāng)傳輸完所述第一數(shù)據(jù)段后,傳輸所述第二數(shù)據(jù)段的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的流媒體文件的數(shù)據(jù)傳輸裝置,其特征在于,所述第二獲取模塊包括: 查找單元,用于根據(jù)所述平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,所述預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量; 第一選取單元,用于根據(jù)所述需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量從緩沖區(qū)中選取第二數(shù)據(jù)段的數(shù)據(jù);其中,所述緩沖區(qū)用于緩存同一源數(shù)據(jù)的不同質(zhì)量的數(shù)據(jù)段數(shù)據(jù)。
10.根據(jù)權(quán)利要求8所述的流媒體文件的數(shù)據(jù)傳輸裝置,其特征在于,所述第二獲取模塊包括: 查找單元,根據(jù)所述平均值從預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系中查找需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量;其中,所述預(yù)設(shè)的網(wǎng)絡(luò)帶寬與數(shù)據(jù)段質(zhì)量的對應(yīng)關(guān)系用于表示不同網(wǎng)絡(luò)帶寬范圍以及與之相應(yīng)的數(shù)據(jù)段質(zhì)量; 第二選取單元,用于在所述第一數(shù)據(jù)段之后,按照預(yù)定步長從當(dāng)前傳輸?shù)牧髅襟w文件中順序選取數(shù)據(jù)段; 轉(zhuǎn)換單元,用于將選取的數(shù)據(jù)段按照所述需轉(zhuǎn)換的數(shù)據(jù)段的質(zhì)量進(jìn)行轉(zhuǎn)換得到第二數(shù)據(jù)段的數(shù)據(jù)。
【文檔編號】H04N21/238GK103561282SQ201310519351
【公開日】2014年2月5日 申請日期:2013年10月29日 優(yōu)先權(quán)日:2013年10月29日
【發(fā)明者】陳中華, 姚巍, 林偉雄, 惠亞文, 鄭利春 申請人:聯(lián)想中望系統(tǒng)服務(wù)有限公司