本發(fā)明涉及通信技術(shù)領域,特別是涉及一種流媒體業(yè)務帶寬估算的方法、裝置、終端及服務器。
背景技術(shù):
DASH(Dynamic Adaptive Steaming over Hyper Text Transfer Protocol,超文本傳輸協(xié)議自適應流媒體)技術(shù)能對客戶端的網(wǎng)絡狀況進行估算,調(diào)整視頻的碼率,從而提供更清晰,更流暢的視頻播放體驗效果。其中,對網(wǎng)絡帶寬的估算是該技術(shù)的關鍵因素。通過更精確失效性的估算方法,可以使碼率調(diào)整更加精細,帶來更好的觀看體驗。
如圖1所示,HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)自適應流媒體在實現(xiàn)時,首先將視頻源以不同的碼率編碼,然后將編碼后的不同碼率的視頻分割為2-10秒的片段,存儲于標準HTTP服務器上,并根據(jù)編碼與分割,生成媒體描述文件(所述媒體描述文件提供餓了每個視頻片段的URL(Uniform Resource Locator,統(tǒng)一資源定位器)地址)。
客戶端在點播視頻時,首先下載該媒體描述文件,然后順序選擇視頻片段。在每次選擇之前,都需要依據(jù)客戶端估算到的網(wǎng)絡狀況,確定選擇的視頻片段的碼率。當網(wǎng)絡狀況良好時,則選擇高碼率高質(zhì)量的視頻片段;相反,則選擇低碼率的視頻片段,防止播放過程中的卡頓。
在上述實現(xiàn)方式下,帶寬估算成了HTTP自適應流媒體中的重要環(huán)節(jié)。目前HTTP自適應流媒體技術(shù)的帶寬估算方法基于已經(jīng)下載完成的視頻片段的下載速率計算得到當前的網(wǎng)絡的可用帶寬。具體的,由于一個視頻片段的長度通常在2-10秒,所以該種方法實際上是對過去2-10秒內(nèi)的下載狀況進行評估。而在無線網(wǎng)絡中,特別是在移動蜂窩網(wǎng)絡中,網(wǎng)絡狀況的變化是十分劇烈且快速的LTE(Long Term Evolution,長期演進)中的一個子幀的時隙1ms,能夠 實現(xiàn)基于毫秒級別的信道估計和調(diào)度,所以相較于無線網(wǎng)絡環(huán)境的劇烈變化。
因此,現(xiàn)有技術(shù)存在的問題是:基于已下載視頻片段的帶寬估算的時效性較差,不能對快速的網(wǎng)絡狀況變化做出及時的反應,可能使得碼率調(diào)整不及時,導致播放過程不流暢或者清晰度沒有達到最優(yōu)。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種流媒體業(yè)務帶寬估算的方法、裝置、終端及服務器,以解決現(xiàn)有技術(shù)帶寬估算的時效性問題。
為了實現(xiàn)上述目的,本發(fā)明實施例提供的一種流媒體業(yè)務帶寬估算的方法,應用于終端,其中,所述流媒體業(yè)務帶寬估算的方法包括:
獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬;
根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用帶寬。
其中,流媒體業(yè)務帶寬估算的方法中,所述根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用帶寬之后的步驟,所述流媒體業(yè)務帶寬估算的方法還包括:
根據(jù)所述使用帶寬,選擇流媒體業(yè)務的實時編碼率;
向服務器發(fā)送攜帶有所述實時編碼率的實時碼率請求,并根據(jù)所述實時碼率請求從所述服務器下載與所述實時編碼率對應的流媒體業(yè)務的編碼塊。
進一步的,所述獲取基站根據(jù)歷史的無線空口信息提供的可用帶寬,具體為:
與服務器建立連接,并獲取所述服務器發(fā)送的第一交互包,其中,所述第一交互包攜帶有可用帶寬,所述可用帶寬來自于通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù)的基站。
進一步的,所述根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用帶寬,具體包括:
在預設周期內(nèi),按照時間順序多次獲取歷史的無線空口信息;
根據(jù)所述無線空口信息,確定所述時間順序內(nèi)相鄰可用帶寬的變化量;
在所述變化量處于第一預設范圍內(nèi)時,將所有的可用帶寬取平均值,確定一使用帶寬;或者
在所述變化量處于第二預設范圍內(nèi)時,將當前時間之前的預設數(shù)量個可用帶寬取平均值,確定一使用帶寬,其中,所述第一預設范圍內(nèi)的數(shù)值小于所述第二預設范圍內(nèi)的數(shù)值。
進一步的,所述根據(jù)所述無線空口信息,確定所述時間順序內(nèi)相鄰可用帶寬的變化量,具體包括:
通過公式獲取當前滑動窗口的無線空口信息的波動幅度;
通過公式獲取滑動窗口內(nèi)的無線空口信息的均值;
通過公式γ=D(t)/M(t),確定所述可用帶寬的變化量;
其中,所述D(t)為無線空口信息為X時的第t采樣時間的波動幅度,所述t為采樣時間點,t>0,所述Δt為多個采樣時間t的間隔,所述M(t)為在n個時隙內(nèi)的無線空口信息為X時的均值,所述n是滑動均值窗口的大小,所述n的取值與網(wǎng)絡變化幅度成反比,所述γ為可用帶寬的變化量的參數(shù),所述X(i)為采樣無線空口信息為X時的第i個采樣點。
本發(fā)明實施例還提供一種流媒體業(yè)務帶寬估算的方法,應用于服務器,其中,所述流媒體業(yè)務帶寬估算的方法包括:
獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬;
根據(jù)所述可用帶寬,估算和/或調(diào)整與所述服務器建立連接的終端的使用帶寬。
其中,流媒體業(yè)務帶寬估算的方法中,在所述根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用帶寬的步驟之后,還包括:
根據(jù)所述使用帶寬,選擇流媒體業(yè)務的實時編碼率;
將與所述實時編碼率對應的流媒體業(yè)務的編碼塊下發(fā)至所述終端。
進一步的,所述獲取基站根據(jù)歷史的無線空口信息提供的可用帶寬,具體為:
與所述終端建立連接,并獲取所述終端發(fā)送的第二交互包,其中,所述第 二交互包為攜帶有可用帶寬,所述可用帶寬來自于通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù)的基站。
進一步的,所根據(jù)所述可用帶寬,估算和/或調(diào)整與所述服務器建立連接的終端的使用帶寬,具體包括:
在預設周期內(nèi),按照時間順序多次獲取歷史的無線空口信息;
根據(jù)所述無線空口信息,確定所述時間順序內(nèi)相鄰可用帶寬的變化量;
在所述變化量處于第一預設范圍內(nèi)時,將所有的可用帶寬取平均值,確定一使用帶寬;或者
在所述變化量處于第二預設范圍內(nèi)時,將當前時間之前的預設數(shù)量個可用帶寬取平均值,確定一使用帶寬,其中,所述第一預設范圍內(nèi)的數(shù)值小于所述第二預設范圍內(nèi)的數(shù)值。
進一步的,所述根據(jù)所述無線空口信息,確定所述時間順序內(nèi)相鄰可用帶寬的變化量,具體包括:
通過公式獲取當前滑動窗口的無線空口信息的波動幅度;
通過公式獲取滑動窗口內(nèi)的無線空口信息的均值;
通過公式γ=D(t)/M(t),確定所述可用帶寬的變化量;
其中,其中,所述D(t)為無線空口信息為X時的第t采樣時間的波動幅度,所述t為采樣時間點,t>0,所述Δt為多個采樣時間t的間隔,所述M(t)為在n個時隙內(nèi)的無線空口信息為X時的均值,所述n是滑動均值窗口的大小,所述n的取值與網(wǎng)絡變化幅度成反比,所述γ為可用帶寬的變化量的參數(shù),所述X(i)為采樣無線空口信息為X時的第i個采樣點。
本發(fā)明實施例還提供一種流媒體業(yè)務帶寬估算的裝置,應用于終端,其特征在于,所述流媒體業(yè)務帶寬估算的裝置包括:
第一獲取模塊,用于獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬;
第一估算模塊,用于根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用 帶寬。
本發(fā)明實施例還提供一種流媒體業(yè)務帶寬估算的裝置,應用于服務器,其中,所述流媒體業(yè)務帶寬估算的裝置包括:
第二獲取模塊,用于獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬;
第二估算模塊,用于根據(jù)所述可用帶寬,估算和/或調(diào)整與所述服務器建立連接的終端的使用帶寬。
本發(fā)明實施例還提供一種終端,包括如上述的流媒體業(yè)務帶寬估算的裝置。
本發(fā)明實施例還提供一種服務器,包括如上述的流媒體業(yè)務帶寬估算的裝置。
本發(fā)明實施例的上述技術(shù)方案的有益效果如下:
本發(fā)明實施例的方案中,獲取由基站提供的可用帶寬,估算一個終端的使用帶寬,或者調(diào)整終端的使用帶寬,或者估算同時調(diào)整終端的使用帶寬,這樣通過基站利用歷史無線空口信息提供的可用帶寬,使得終端實時得到使用帶寬,解決了帶寬估算的時效性問題,從而可以對網(wǎng)絡狀況的變化做出及時響應。
附圖說明
圖1為現(xiàn)有技術(shù)的實現(xiàn)自適應流媒體技術(shù)的各個模塊的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法的一種步驟示意圖;
圖3為本發(fā)明實施例的算法實現(xiàn)流程圖;
圖4為本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法的一種具體實現(xiàn)流程示意圖;
圖5為本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法的另一種步驟示意圖;
圖6為本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法的另一種具體實現(xiàn)流程示意圖;
圖7為本發(fā)明實施例的流媒體業(yè)務帶寬估算的裝置的一種結(jié)構(gòu)示意圖;
圖8為本發(fā)明實施例的流媒體業(yè)務帶寬估算的裝置的另一種結(jié)構(gòu)示意圖;
圖9為本發(fā)明實施例的整體系統(tǒng)交互的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。
本發(fā)明實施例針對現(xiàn)有技術(shù)中基于已下載視頻片段的帶寬估算的時效性較差,不能對快速的網(wǎng)絡狀況變化做出及時的反應,可能使得碼率調(diào)整不及時,導致播放過程不流暢或者清晰度沒有優(yōu)化的問題,提供一種流媒體業(yè)務帶寬估算的方法、裝置、終端及服務器,解決了帶寬估算時效性的問題,選擇合適流媒體碼率,提升用戶的觀看體驗。
如圖2所示,本發(fā)明實施例提供一種流媒體業(yè)務帶寬估算的方法,應用于終端,其中,所述流媒體業(yè)務帶寬估算的方法包括:
步驟201,獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬;
需要說明的是:本步驟可以是終端向基站請求無線空口信息,本步驟可以具體包括:發(fā)送無線空口信息的請求至基站;獲取所述基站針對所述請求返回的可用帶寬。本步驟也可以是由基站推送的無線空口信息,在此不做限定。
這里的無線空口信息包括MCS(Modulation and Coding Scheme,調(diào)制與編碼策略),分配的TBS(Transport Block size,傳輸塊尺寸),誤碼率等,且上述無線空口信息是由基站的無線信息開放平臺Radio_API提供實時無線空口信息的查詢。具體的,該無線開放平臺是部署在基站邊緣,與相鄰的基站有固定的IP連接,提供基于用戶ID(比如終端IP(Internet Protocol,網(wǎng)絡之間互連的協(xié)議),IMSI(International Mobile Subscriber Identification Number,國際移動用戶識別碼)等)的實時無線空口信息查詢。
這里的基站是根據(jù)實時無線空口信息來估算用戶實時的可用帶寬。具體的,eNB(evolved Node B,演進型基站)可以通過各層協(xié)議的信息估算用戶實時的吞吐率,進而確定實時的可用帶寬。各個協(xié)議包括PDCP(Packet Data Convergence Protocol,分組數(shù)據(jù)匯聚協(xié)議),RLC(Radio Link Control,無線鏈路控制層協(xié)議),MAC(Media Access Control,媒體訪問控制),PHY(physical layer物理層)。PDCP協(xié)議的參數(shù)包括:下行丟包率、Discard Timer丟棄定時器及Delay時延。RLC協(xié)議的參數(shù)包括:待發(fā)送數(shù)據(jù)隊列長度、重傳數(shù)據(jù)隊列長度及SDU Size(Size Data Unit,尺寸數(shù)據(jù)單元)。MAC協(xié)議的參數(shù)包括:BLER(block error rate,塊差錯率)、PRB(physicalresourceblock物理資源塊) 及TB Size(Transport Block size,傳輸塊尺寸)。PHY協(xié)議的參數(shù)包括:MCS(Modulation and Coding Set,調(diào)制編碼組合)索引,TBS索引及吞吐量。具體的各層協(xié)議的信息描述如下表一。
表一
還有,本步驟可以具體為:實時發(fā)送無線空口信息的請求至基站,所述實時是指在間隔預設時間長度時,需要了解無線空口信息的情況的時間。
步驟202,根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用帶寬。
這里的使用帶寬是終端自身進行估算的自身帶寬能力,比如自身帶寬能力 包括已占用帶寬以及所需帶寬。
本發(fā)明實施例中,獲取由基站提供的可用帶寬,估算一個終端的使用帶寬,或者調(diào)整終端的使用帶寬,或者估算同時調(diào)整終端的使用帶寬,這樣通過基站利用歷史無線空口信息提供的可用帶寬,使得終端實時得到使用帶寬,解決了帶寬估算的時效性問題,從而可以對網(wǎng)絡狀況的變化做出及時響應。
通過估算完使用帶寬后,需要請求下載流媒體碼率塊,因此本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法中,所述步驟202之后的步驟,還包括:
步驟203,根據(jù)所述使用帶寬,選擇流媒體業(yè)務的實時編碼率;
步驟204,向服務器發(fā)送攜帶有所述實時編碼率的實時碼率請求,并根據(jù)所述實時碼率請求從所述服務器下載與所述實時編碼率對應的流媒體業(yè)務的編碼塊。
本發(fā)明實施例中,通過使用帶寬選擇對應的流媒體碼率塊,就可以在網(wǎng)絡狀況的實時變化時,及時調(diào)整流媒體碼率,使得流媒體播放更流暢,更清晰。
優(yōu)選的,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法中,步驟201具體為:與服務器建立連接,并獲取所述服務器發(fā)送的第一交互包,其中,所述第一交互包攜帶有可用帶寬,所述可用帶寬來自于通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù)的基站。本步驟具體為:建立與服務器的連接,并多次獲取所述服務器發(fā)送的第一交互包。
這里的基站獲取并解析高于物理層及數(shù)據(jù)鏈路層的服務器發(fā)送的第一交互包,插入所述可用帶寬,該基站和服務器通過不同OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián))層傳輸數(shù)據(jù)。比如,基站截獲并解析所述第一交互包為網(wǎng)絡層交互包PCP包后,插入可用帶寬信息,終端再從網(wǎng)絡層獲取所述PCP包。這樣通過基站通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層(即,基層)傳輸數(shù)據(jù),截獲到高于物理層及數(shù)據(jù)鏈路層的OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián))中的其他層的交互包,然后可以隨時在交互包中插入可用帶寬,這樣基站不用與終端或服務器建立連接,終端也可以獲取服務器的第一交互包(相當于透傳第一交互包),使得終端實時獲取到可用帶寬,提高了可用帶寬的時效性。
本發(fā)明實施例中,通過基站攔截服務器向終端發(fā)送的第一交互包(即下行 包),插入可用帶寬的信息,也就是基站主動向終端推送無線空口信息,不需要終端建立與基站連接,不僅減少了建立連接的負荷,而且也提高了效率。
優(yōu)選的,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法,在步驟201之前,還包括:與基站建立連接,其中,所述基站通過OSI中高于全球移動通信系統(tǒng)的數(shù)據(jù)鏈路層的剩余層傳輸數(shù)據(jù)。該基站是指與無線信息開放平臺Radio_API連接的所有基站中的一個(如圖9所示中的基站eNB1、基站eNB2或基站eNBn),在此不做限定。步驟205具體為:直接建立與基站的連接;或者間接建立與基站的連接。在直接建立與基站的連接時,具體需要終端攜帶基站ID的請求與基站建立連接;也可以是基站攜帶終端ID的請求與終端建立連接;在終端間接建立與基站的連接時,終端與無線信息開放平臺Radio_API進行連接,然后無線信息開放平臺Radio_API與基站進行連接。
本發(fā)明實施例,通過建立與基站的連接,基站通過OSI中高于全球移動通信系統(tǒng)的數(shù)據(jù)鏈路層的剩余層傳輸數(shù)據(jù),由于終端本身是通過OSI中高于全球移動通信系統(tǒng)的數(shù)據(jù)鏈路層的剩余層傳輸數(shù)據(jù),這樣就可以直接從基站中獲取根據(jù)歷史的無線空口信息得到的可用帶寬,提高了交互過程的效率。
優(yōu)選的,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法中,步驟202具體包括:步驟2021,在預設周期內(nèi),按照時間順序多次獲取歷史的無線空口信息。
本步驟的多次獲取歷史的無線空口信息,也是實時多次獲取歷史的無線空口信息,這樣可以及時準確的得到無線空口信息,為后續(xù)估算帶寬做好良好的基礎。
還有,所述預設周期是根據(jù)需求進行設定的,可以是幾百毫秒到10秒內(nèi),在此不作限定。所述預設周期的限定是為了確定當前時間之前的預定時間內(nèi)的無線空口信息,這樣避免了過期太久的數(shù)據(jù),影響使用帶寬的估算。
步驟2022,根據(jù)所述無線空口信息,確定所述時間順序內(nèi)相鄰可用帶寬的變化量。
本步驟2022具體包括:
通過自回歸滑動平均模型公式獲 取當前滑動窗口的無線空口信息的波動幅度。
通過公式獲取滑動窗口內(nèi)的無線空口信息的均值。
通過公式γ=D(t)/M(t),確定所述可用帶寬的變化量。
其中,所述D(t)為無線空口信息為X時的第t采樣時間的波動幅度,所述t為采樣時間點,t>0,所述Δt為多個采樣時間t的間隔,所述M(t)為在n個時隙內(nèi)的無線空口信息為X時的均值,所述n是滑動均值窗口的大小,所述n的取值與網(wǎng)絡變化幅度成反比,所述γ為可用帶寬的變化量的參數(shù),所述X(i)為采樣無線空口信息為X時的第i個采樣點。
這里具體以無線空口信息為TBSize時,即所述X為TBSize為例進行說明。在進行帶寬估算時,首先由MCS以及分配的資源塊數(shù)目決定在該時隙內(nèi)基站向終端發(fā)送的數(shù)據(jù)字節(jié)數(shù),也就是傳輸塊尺寸(Transport Block Size,TBS),具體的利用自回歸滑動平均模型首先計算當前滑動窗口內(nèi)TBS的波動幅度D(t):
然后計算n個時隙內(nèi)的TBSize的均值,n是滑動均值窗口大小,根據(jù)網(wǎng)絡變化狀況變化而變化。但網(wǎng)絡狀況變化幅度大時,n取值減小,增加了估算的靈敏性;當網(wǎng)絡狀況平穩(wěn)時,n取值變大,以減少波動帶來的影響。具體的然后計算窗口內(nèi)的TBSize的均值M(t):
最終計算反映可用帶寬的參數(shù):
γ=BT(t)=D(t)/M(t)
然后根據(jù)計算出來的參數(shù)γ調(diào)整滑動窗口wind大小。具體獲取可用帶寬算法的實現(xiàn)流程圖3所示,當γ大于門限值,n取值減半,當γ取值小于門限,n保持不變。
當然以上僅僅是根據(jù)eNB基站發(fā)送的無線空口信息,估算使用帶寬,進 而確定的帶寬更準確。但在此不做限定,任何無線空口信息能估算使用帶寬的方式,均屬于本發(fā)明實施例的保護范圍。
步驟2023,在所述變化量處于第一預設范圍內(nèi)時,將所有的可用帶寬取平均值,確定一使用帶寬;或者
在所述變化量處于第二預設范圍內(nèi)時,將當前時間之前的預設數(shù)量個可用帶寬取平均值,確定一使用帶寬,其中,所述第一預設范圍內(nèi)的數(shù)值小于所述第二預設范圍內(nèi)的數(shù)值。
需要說明的是:上述第一預設范圍及第二預設范圍是用來判斷變化量的變化狀況。在變化量較大的時候,說明了網(wǎng)絡狀態(tài)不穩(wěn)定,此時取預設數(shù)量個與當前時間接近的可用帶寬來確定使用帶寬,這樣通過取較近的值去預測網(wǎng)絡狀態(tài),也使得預測的使用帶寬可信;在變化量較小的時候,說明了網(wǎng)絡狀態(tài)穩(wěn)定,此時可以將多次收集的可用帶寬取平均值,得到一使用帶寬。
上述第一預設范圍及上述第二預設范圍,均是根據(jù)變化量需要進行設定的。
上述預定數(shù)量個可以是指在1到10的范圍內(nèi)的數(shù)值,也可以是所有的一半,具體的預定數(shù)量根據(jù)需求而定,在此不做限定,任何其他數(shù)量的均屬于本發(fā)明實施例的保護范圍。
本發(fā)明實施例中,通過與基站建立連接,直接從基站獲取多個可用帶寬,然后再確定一使用帶寬,這樣可以更加準確的進行帶寬估算,也可以通過多次獲取歷史的無線空口信息,實時的網(wǎng)絡狀況估算帶寬,提高了估算的準確率,不需要通過下載狀況來估算帶寬(比如開源播放器video lan視頻局域網(wǎng)中的帶寬估算是取所有已下載的視頻片段的下載速率的算術(shù)平均值。還有,Smooth Streaming平滑流,則是對視頻片段的下載速率取平滑均值)。
本發(fā)明實施例的具體舉例如下。
首先,10次獲取歷史帶寬信息,然后根據(jù)該算法或者其他方式,判斷無線信道的帶寬估算的變化量較大(網(wǎng)絡狀況的波動大)還是變化量較小(網(wǎng)絡狀況的波動小);
其次,如果帶寬估算的變化量較小時,則將10次獲取歷史帶寬信息進行平均,得到一個帶寬估算的數(shù)值;或者
如果帶寬估算的變化量較大時,則將最接近的2次或3次的歷史帶寬信息 進行平均。這個平均后的帶寬信息即為后續(xù)使用帶寬,相當于預測后續(xù)使用帶寬大小。
本發(fā)明實施例的具體應用場景舉例如下。
假設基站檢測到共有10M帶寬,原本接入的第一終端使用了1M帶寬,第二終端使用了1M帶寬,這樣基站檢測到目前實時的帶寬為8M剩余的可用帶寬,然后新的第三終端需要接入,第三終端檢測到自身的帶寬為1M,則1M遠遠小于8M,因此基站可以按照50%的帶寬給第三終端,這樣第三終端就有了5M帶寬,就可以自適應要求更高碼率的視頻,從而可以提高視頻的清晰度,也提高了用戶體驗效果。本發(fā)明實施例的應用場景,通過估算一個更大的使用帶寬,來提高終端的流媒體的播放效果。
如圖4所示,對于本發(fā)明實施例還需要通過終端、服務器及基站之間的交互,說明由終端從Radio_API獲取無線空口信息,進行帶寬估算的流程如下。(終端上的客戶端可以是DASH客戶端,對應的服務器可以是DASH服務器,在此不做限定。)
步驟401,終端建立與服務器的連接。
步驟402,基站的Radio_API攜帶著終端ID與終端建立連接。
步驟403,終端向基站發(fā)起無線空口信息的請求(具體在建立連接后,發(fā)起的無線空口信息的請求的反饋周期時間為t1,比如t1為200毫秒)。
步驟404,基站接收到請求后,從Radio_API查詢用戶可用帶寬。
步驟405,基站在周期t2內(nèi)實時進行可用帶寬統(tǒng)計,(比如,t2為200毫秒)。
步驟406,基站將統(tǒng)計的帶寬信息實時存儲在Radio_API,以供其他設備查詢。
步驟407,終端接收到基站的Radio_API反饋實時的可用帶寬。
步驟408,終端在周期t3內(nèi)估算帶寬(比如,t3為2秒)。
步驟409,終端通過估算的帶寬進行碼率選擇。
步驟410,終端根據(jù)碼率選擇向服務器發(fā)起實時的碼率請求。
步驟411,終端從服務器上下載相應碼率塊,并進行播放。
如圖5所示,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法,應用于服務器, 其中,所述流媒體業(yè)務帶寬估算的方法包括:
步驟501,獲取基站根據(jù)歷史的無線空口信息提供的可用帶寬;
需要說明的是:本步驟可以是服務器向基站請求無線空口信息,本步驟可以具體包括:發(fā)送無線空口信息的請求至基站;獲取所述基站針對所述請求返回的可用帶寬。本步驟也可以是由基站推送的無線空口信息,在此不做限定。
這里的無線空口信息包括MCS(Modulation and Coding Scheme,調(diào)制與編碼策略),分配的TBS(Transport Block size,傳輸塊尺寸),誤碼率等,且上述無線空口信息是由基站的Radio_API提供實時無線空口信息的查詢。具體的,該無線開放平臺是部署在基站邊緣,與相鄰的基站有固定的IP連接,提供基于用戶ID(比如終端IP(Internet Protocol,網(wǎng)絡之間互連的協(xié)議),IMSI(International Mobile Subscriber Identification Number,國際移動用戶識別碼)等)的實時無線空口信息查詢。
這里的基站是根據(jù)實時無線空口信息來估算用戶實時的可用帶寬。具體的,eNB(evolved Node B,演進型基站)可以通過各層協(xié)議的信息估算用戶實時的吞吐率,進而確定實時的可用帶寬。各個協(xié)議包括PDCP(Packet Data Convergence Protocol,分組數(shù)據(jù)匯聚協(xié)議),RLC(Radio Link Control,無線鏈路控制層協(xié)議),MAC(Media Access Control,媒體訪問控制),PHY(physical layer物理層)。PDCP協(xié)議的參數(shù)包括:下行丟包率、Discard Timer丟棄定時器及Delay時延。RLC協(xié)議的參數(shù)包括:待發(fā)送數(shù)據(jù)隊列長度、重傳數(shù)據(jù)隊列長度及SDU Size(Size Data Unit,尺寸數(shù)據(jù)單元)。MAC協(xié)議的參數(shù)包括:BLER(block error rate,塊差錯率)、PRB(physicalresourceblock物理資源塊)及TB Size(Transport Block size,傳輸塊尺寸)。PHY協(xié)議的參數(shù)包括:MCS(Modulation and Coding Set,調(diào)制編碼組合)索引,TBS索引及吞吐量。
還有,本步驟可以具體為:實時發(fā)送無線空口信息的請求至基站,所述實時是指在間隔預設時間長度時,需要了解無線空口信息的情況的時間。
步驟502,根據(jù)所述可用帶寬,估算和/或調(diào)整與所述服務器建立連接的終端的使用帶寬。
這里的使用帶寬是對終端進行估算的帶寬能力,比如帶寬能力包括已占用帶寬以及所需帶寬。
本發(fā)明實施例中,通過向基站發(fā)送無線空口信息的請求后,由基站針對請求返回的可用帶寬,估計獲取的可用帶寬,估算一個終端的使用帶寬,或者調(diào)整終端的使用帶寬,或者估算同時調(diào)整終端的使用帶寬,這樣通過基站利用歷史無線空口信息提供的可用帶寬,使得終端實時得到使用帶寬,解決了帶寬估算的時效性問題,從而可以對網(wǎng)絡狀況的變化做出及時響應。
通過估算完使用帶寬后,需要給終端發(fā)送下發(fā)流媒體碼率塊,因此本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法中,所述步驟502之后的步驟,還包括:
步驟503,根據(jù)所述使用帶寬,選擇流媒體業(yè)務的實時編碼率;
步驟504,將與所述實時編碼率對應的流媒體業(yè)務的編碼塊下發(fā)至所述終端。
本發(fā)明實施例中,通過估算得到的使用帶寬,選擇對應的流媒體碼率塊并下發(fā)至終端,就可以在網(wǎng)絡狀況的實時變化時,及時調(diào)整流媒體碼率,使得終端的流媒體播放更流暢,更清晰。
優(yōu)選的,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法中,步驟501具體為:與所述終端建立連接,并獲取所述終端發(fā)送的第二交互包,其中,所述第二交互包為攜帶有可用帶寬,所述可用帶寬來自于通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù)的基站。本步驟具體為:多次獲取所述終端發(fā)送的第二交互包。這里的基站獲取并解析終端發(fā)送的第二交互包,插入所述可用帶寬,該基站和終端處于不同OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián))層。比如,基站截獲并解析所述第二交互包為網(wǎng)絡層交互包PCP包后,插入可用帶寬信息,服務器再從網(wǎng)絡層獲取所述PCP包。這樣通過基站通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù),截獲到高于物理層及數(shù)據(jù)鏈路層的OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián))中的其他層的交互包,然后可以隨時在交互包中插入可用帶寬,這樣基站不用與終端或服務器建立連接,終端也可以獲取服務器的第二交互包(相當于透傳第二交互包),使得服務器實時獲取到可用帶寬,提高了可用帶寬的時效性。
本發(fā)明實施例中,通過基站攔截終端向服務器發(fā)送第二交互包(即上行包),插入可用帶寬的信息,也就是基站主動向服務器推送無線空口信息,不需要服務器建立與基站連接,不僅減少了建立連接的負荷,而且也提高了效率。
優(yōu)選的,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法,在步驟501之前,還包括:
步驟505,與基站建立連接,其中,所述基站通過OSI中高于全球移動通信系統(tǒng)的數(shù)據(jù)鏈路層的剩余層傳輸數(shù)據(jù)。該基站是指與無線信息開放平臺Radio_API連接的所有基站中的一個(如圖9所示中的基站eNB1、基站eNB2或基站eNBn),在此不做限定。步驟505具體為:直接建立與基站的連接;或者間接建立與基站的連接。在直接建立與基站的連接時,具體需要服務器攜帶基站ID的請求與基站建立連接;也可以是基站攜帶服務器ID的請求與服務器建立連接;在服務器間接建立與基站的連接時,服務器與無線信息開放平臺Radio_API進行連接,然后無線信息開放平臺Radio_API與基站進行連接。
本發(fā)明實施例,通過建立與基站的連接,基站通過OSI中高于全球移動通信系統(tǒng)的數(shù)據(jù)鏈路層的剩余層傳輸數(shù)據(jù),由于服務器本身是通過OSI中高于全球移動通信系統(tǒng)的數(shù)據(jù)鏈路層的剩余層傳輸數(shù)據(jù),這樣就可以直接從基站中獲取根據(jù)歷史的無線空口信息得到的可用帶寬,提高了交互過程的效率。
優(yōu)選的,本發(fā)明實施例的流媒體業(yè)務帶寬估算的方法中,步驟502具體包括:
步驟5021,在預設周期內(nèi),按照時間順序多次獲取歷史的無線空口信息。
本步驟的多次獲取歷史的無線空口信息,也是實時多次獲取歷史的無線空口信息,這樣可以及時準確的得到無線空口信息,為后續(xù)估算帶寬做好良好的基礎。
還有,所述預設周期是根據(jù)需求進行設定的,可以是幾百毫秒到10秒內(nèi),在此不作限定。所述預設周期的限定是為了確定當前時間之前的預定時間內(nèi)的無線空口信息,這樣避免了過期太久的數(shù)據(jù),影響使用帶寬的估算。
步驟5022,根據(jù)所述無線空口信息,確定所述時間順序內(nèi)相鄰可用帶寬的變化量。
本步驟5022具體包括:
通過自回歸滑動平均模型公式獲 取當前滑動窗口的無線空口信息的波動幅度。
通過公式獲取滑動窗口內(nèi)的無線空口信息的均值。
通過公式γ=D(t)/M(t),確定所述可用帶寬的變化量。
其中,所述D(t)為無線空口信息為X時的第t采樣時間的波動幅度,所述t為采樣時間點,t>0,所述Δt為多個采樣時間t的間隔,所述M(t)為在n個時隙內(nèi)的無線空口信息為X時的均值,所述n是滑動均值窗口的大小,所述n的取值與網(wǎng)絡變化幅度成反比,所述γ為可用帶寬的變化量的參數(shù),所述X(i)為采樣無線空口信息為X時的第i個采樣點。
步驟5023,在所述變化量處于第一預設范圍內(nèi)時,將所有的可用帶寬取平均值,確定一使用帶寬;或者
在所述變化量處于第二預設范圍內(nèi)時,將當前時間之前的預設數(shù)量個可用帶寬取平均值,確定一使用帶寬,其中,所述第一預設范圍內(nèi)的數(shù)值小于所述第二預設范圍內(nèi)的數(shù)值。
需要說明的是:上述第一預設范圍及第二預設范圍是用來判斷變化量的變化狀況。在變化量較大的時候,說明了網(wǎng)絡狀態(tài)不穩(wěn)定,此時取預設數(shù)量個與當前時間接近的可用帶寬來確定使用帶寬,這樣通過取較近的值去預測網(wǎng)絡狀態(tài),也使得預測的使用帶寬可信;在變化量較小的時候,說明了網(wǎng)絡狀態(tài)穩(wěn)定,此時可以將多次收集的可用帶寬取平均值,得到一使用帶寬。
上述第一預設范圍及上述第二預設范圍,均是根據(jù)變化量需要進行設定的。
上述預定數(shù)量個可以是指在1到10的范圍內(nèi)的數(shù)值,也可以是所有的一半,具體的預定數(shù)量根據(jù)需求而定,在此不做限定,任何其他數(shù)量的均屬于本發(fā)明實施例的保護范圍。
本發(fā)明實施例中,通過與基站建立連接,直接從基站獲取多個可用帶寬,然后再確定一使用帶寬,這樣可以更加準確的進行帶寬估算,也可以通過多次獲取歷史的無線空口信息,實時的網(wǎng)絡狀況估算帶寬,提高了估算的準確率,不需要通過下載狀況來估算帶寬。
如圖6所示,對于本發(fā)明實施例還需要說明的是終端、服務器及基站之間的交互,由服務器從Radio_API獲取無線空口信息,進行帶寬估算的流程如下。 步驟601,服務器建立與終端的連接。
步驟602,服務器向基站發(fā)起無線空口信息的請求,所述請求中攜帶著終端ID。
步驟603,基站接收到請求后,從Radio_API查詢周期t4內(nèi)的用戶可用帶寬(比如周期t4為20毫秒)。
步驟604,基站在周期t5內(nèi)實時統(tǒng)計的可用帶寬。
步驟605,基站將反饋統(tǒng)計的帶寬信息實時存儲在Radio_API,以供其他設備查詢。
步驟606,服務器接收到基站的Radio_API反饋實時的可用帶寬。
步驟607,服務器在周期t6內(nèi)估算終端的使用帶寬,選擇碼率(比如周期t6為2秒)。
(可選的)步驟608,終端接收到基站的Radio_API反饋實時的可用帶寬。
(可選的)步驟609,終端在周期t3內(nèi)估算帶寬(比如,t3為2秒)。
(可選的)步驟610,終端通過估算的帶寬進行碼率選擇。
(可選的)步驟611,終端根據(jù)碼率選擇向服務器發(fā)起實時的碼率請求。(這些可選步驟說明可以通過終端來請求從服務器下發(fā)碼率塊,也可以由服務器下發(fā)對應的碼率塊)
步驟612,服務器下發(fā)對應的碼率塊給終端,由終端進行播放。
如圖7所示,本發(fā)明實施例還提供一種流媒體業(yè)務帶寬估算的裝置,應用于終端,其中,所述流媒體業(yè)務帶寬估算的裝置包括:
第一獲取模塊701,用于獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬。
第一估算模塊702,用于根據(jù)所述可用帶寬,估算和/或調(diào)整所述終端的使用帶寬。
本發(fā)明實施例中,通過第一獲取模塊701獲取由基站提供的可用帶寬,然后再經(jīng)過第一估算模塊702估算一個終端的使用帶寬,或者調(diào)整終端的使用帶寬,或者估算同時調(diào)整終端的使用帶寬,這樣通過基站利用歷史無線空口信息提供的可用帶寬,使得終端實時得到使用帶寬,解決了帶寬估算的時效性問題,從而可以對網(wǎng)絡狀況的變化做出及時響應。
需要說明的是,本發(fā)明提供的裝置是應用上述流媒體業(yè)務帶寬估算的方法的裝置,則上述流媒體業(yè)務帶寬估算的方法的所有實施例均適用于該裝置,且均能達到相同或相似的有益效果。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置還包括:
第一選擇模塊,用于根據(jù)所述使用帶寬,選擇流媒體業(yè)務的實時編碼率;
第一處理模塊,用于向服務器發(fā)送攜帶有所述實時編碼率的實時碼率請求,并根據(jù)所述實時碼率請求從所述服務器下載與所述實時編碼率對應的流媒體業(yè)務的編碼塊。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置中,所述第一獲取模塊701包括:獲取單元,用于與服務器建立連接,并獲取所述服務器發(fā)送的第一交互包,其中,所述第一交互包攜帶有可用帶寬,所述可用帶寬來自通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù)的基站。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置中,所述第一估算模塊702包括:
第一獲取單元,用于根據(jù)時間順序在預設周期內(nèi),多次獲取歷史的無線空口信息;
第一判斷單元,用于根據(jù)所述無線空口信息,判斷所述時間順序內(nèi)相鄰可用帶寬的變化量;
第一確定單元,用于在所述變化量在第一預設范圍內(nèi),將所有的可用帶寬取平均值,確定一使用帶寬;或者
在所述變化量在第二預設范圍內(nèi),將當前時間之前的預設數(shù)量個可用帶寬取平均值,確定一使用帶寬,其中,所述第一預設范圍內(nèi)的數(shù)值小于所述第二預設范圍內(nèi)的數(shù)值。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置,所述第一判斷單元包括:
通過自回歸滑動平均模型公式獲取當前滑動窗口的無線空口信息的波動幅度;
通過公式獲取滑動窗口內(nèi)的無線空口信息的均值;
通過公式γ=D(t)/M(t),確定所述可用帶寬的變化量;
其中,所述D(t)為無線空口信息為X時的第t采樣時間的波動幅度,所述t為采樣時間點,t>0,所述Δt為多個采樣時間t的間隔,所述M(t)為在n個時隙內(nèi)的無線空口信息為X時的均值,所述n是滑動均值窗口的大小,所述n的取值與網(wǎng)絡變化幅度成反比,所述γ為可用帶寬的變化量的參數(shù),所述X(i)為采樣無線空口信息為X時的第i個采樣點。
如圖8所示,本發(fā)明實施例還提供一種流媒體業(yè)務帶寬估算的裝置,應用于服務器,其中,所述流媒體業(yè)務帶寬估算的裝置包括:
第二獲取模塊801,用于獲取由基站根據(jù)歷史的無線空口信息提供的可用帶寬。
第二估算模塊802,用于根據(jù)所述可用帶寬,估算和/或調(diào)整與所述服務器建立連接的終端的使用帶寬。
本發(fā)明實施例中,通過第二估算模塊802估算得到的使用帶寬,選擇對應的流媒體碼率塊并下發(fā)至終端,就可以在網(wǎng)絡狀況的實時變化時,及時調(diào)整流媒體碼率,使得終端的流媒體播放更流暢,更清晰。
需要說明的是,本發(fā)明提供的裝置是應用上述流媒體業(yè)務帶寬估算的方法的裝置,則上述流媒體業(yè)務帶寬估算的方法的所有實施例均適用于該裝置,且均能達到相同或相似的有益效果。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置還包括:
第二選擇模塊,用于根據(jù)所述使用帶寬,選擇流媒體業(yè)務的實時編碼率;
第二處理模塊,用于將與所述實時編碼率對應的流媒體業(yè)務的編碼塊下發(fā)至所述終端。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置中,所述獲取所述基站針對所述請求返回的可用帶寬,具體為:
與所述終端建立連接,并獲取所述終端發(fā)送的第二交互包,其中,所述第二交互包為攜帶有可用帶寬,所述可用帶寬來自于通過全球移動通信系統(tǒng)的物理層及數(shù)據(jù)鏈路層傳輸數(shù)據(jù)的基站。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置中,所根據(jù)所述可用帶寬,估算和/或調(diào)整與所述服務器建立連接的終端的使用帶寬,具體包括:
第二獲取單元,用于根據(jù)時間順序在預設周期內(nèi),多次獲取歷史的無線空口信息;
第二判斷單元,用于根據(jù)所述無線空口信息,判斷所述時間順序內(nèi)相鄰可用帶寬的變化量;
第二確定單元,用于在所述變化量在第一預設范圍內(nèi),將所有的可用帶寬取平均值,確定一使用帶寬;或者
在所述變化量在第二預設范圍內(nèi),將當前時間之前的預設數(shù)量個可用帶寬取平均值,確定一使用帶寬,其中,所述第一預設范圍內(nèi)的數(shù)值小于所述第二預設范圍內(nèi)的數(shù)值。
本發(fā)明又一實施例的流媒體業(yè)務帶寬估算的裝置,所述第二判斷單元包括:
通過自回歸滑動平均模型公式獲取當前滑動窗口的無線空口信息的波動幅度;
通過公式獲取滑動窗口內(nèi)的無線空口信息的均值;
通過公式γ=D(t)/M(t),確定所述可用帶寬的變化量;
其中,所述D(t)為無線空口信息為X時的第t采樣時間的波動幅度,所述t為采樣時間點,t>0,所述Δt為多個采樣時間t的間隔,所述M(t)為在n個時隙內(nèi)的無線空口信息為X時的均值,所述n是滑動均值窗口的大小,所述n的取值與網(wǎng)絡變化幅度成反比,所述γ為可用帶寬的變化量的參數(shù),所述X(i)為采樣無線空口信息為X時的第i個采樣點。
本發(fā)明實施例還提供一種終端,包括如上述的流媒體業(yè)務帶寬估算的裝置。
相應的由于本發(fā)明實施例的流媒體業(yè)務帶寬估算的裝置,應用于終端,因此,本發(fā)明實施例還提供了一種終端,其中,上述流媒體業(yè)務帶寬估算的裝置的所述實現(xiàn)實施例均適用于該終端的實施例中,也能達到相同的技術(shù)效果。
本發(fā)明實施例還提供一種服務器,包括如上述流媒體業(yè)務帶寬估算的裝置。
如圖9所示,終端上可以設置有DASH客戶端,對應的服務器為DASH服務器。
Radio_API是部署在基站邊緣的無線信息開放平臺,與相鄰的基站有固定的IP連接,提供基于用戶ID的實時無線空口信息查詢。
基站eNB可以根據(jù)實時的無線信息來估算用戶的實時可用帶寬。
終端和服務器都可以根據(jù)用戶ID查詢實時無線空口信息,然后進行帶寬估計,然后進行碼率選擇,獲取相應的視頻編碼塊。
相應的由于本發(fā)明實施例的流媒體業(yè)務帶寬估算的裝置,應用于服務器,因此,本發(fā)明實施例還提供了一種服務器,其中,上述流媒體業(yè)務帶寬估算的裝置的所述實現(xiàn)實施例均適用于該服務器的實施例中,也能達到相同的技術(shù)效果。
以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。