欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種用于數(shù)字視頻廣播傳輸網(wǎng)絡(luò)的均勻復(fù)用方法

文檔序號:8005484閱讀:567來源:國知局
專利名稱:一種用于數(shù)字視頻廣播傳輸網(wǎng)絡(luò)的均勻復(fù)用方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是一種用于MPEG-2/DVB傳輸網(wǎng)絡(luò)的均勻復(fù)用方法,尤其是用于支持DVB網(wǎng)絡(luò)及IP與DVB互連網(wǎng)絡(luò)中傳輸流的復(fù)用。
背景領(lǐng)域數(shù)字視頻廣播標(biāo)準(zhǔn)DVB(Digital Video Broadcast)是一個關(guān)于數(shù)字電視的通用國際標(biāo)準(zhǔn)。DVB標(biāo)準(zhǔn)以MPEG-2編碼系統(tǒng)為基礎(chǔ),應(yīng)用領(lǐng)域涉及到衛(wèi)星、電纜、地面各種傳輸模式。
均勻復(fù)用問題源于MPEG-2/DVB傳輸流復(fù)用器的設(shè)計。MPEG-2系統(tǒng)標(biāo)準(zhǔn)定義復(fù)用器的功能為采用時分復(fù)用的形式復(fù)用輸入的音頻、視頻、數(shù)據(jù)流以及相關(guān)信令表,最后產(chǎn)生包長為188字節(jié)的傳輸流,復(fù)用要求滿足一定的實時要求。輸入流具有恒碼率或分段恒碼率的特性。復(fù)用流進(jìn)入調(diào)制器或直接進(jìn)入數(shù)據(jù)傳輸網(wǎng)絡(luò)(如SDH,SONET)。復(fù)用流的總碼率受到一個預(yù)先設(shè)定的傳輸碼率限制。如果復(fù)用流有效數(shù)據(jù)的碼率小于傳輸碼率,則應(yīng)插入空包以填充剩余的帶寬。
為了避免解碼器的上溢和下溢,應(yīng)當(dāng)使輸入流的TS包均勻地分配到復(fù)用輸出流中。解碼器對于各種輸入流的處理能力應(yīng)符合MPEG-2/DVB標(biāo)準(zhǔn)的規(guī)定并且依賴于具體實現(xiàn)。
復(fù)用決定了傳輸流進(jìn)入解碼器緩沖區(qū)的模式。為了確保高品質(zhì)呈現(xiàn),MPEG-2系統(tǒng)定義了一個用于解碼處理的概念定時模型。在這一模型中,視頻基本流、音頻基本流及系統(tǒng)數(shù)據(jù)的傳輸緩沖區(qū)大小均為512字節(jié)。當(dāng)緩沖區(qū)中有數(shù)據(jù)時,分別以18Mbps(MP@ML),2Mbps和1Mbps的速率取走數(shù)據(jù)。這些緩沖區(qū)應(yīng)當(dāng)避免上溢并每秒鐘至少應(yīng)清空一次。后續(xù)的緩沖區(qū)一般也應(yīng)當(dāng)避免上溢和下溢。如果在組合的傳輸流(如38Mbps的一路DVB傳輸流)中的組份流分布不均勻,那么突發(fā)與稀疏就會引起緩沖區(qū)的上溢和下溢,導(dǎo)至呈現(xiàn)質(zhì)量的下降。
復(fù)用決定了組份傳輸流進(jìn)入緩沖區(qū)的次序,以時戳同步機(jī)制確定了取走緩沖區(qū)數(shù)據(jù)的方式。例如,編碼器的系統(tǒng)時鐘采樣周期性地轉(zhuǎn)化為傳輸流中的系統(tǒng)時鐘參考(PCR)域。用于解碼器重建編碼器系統(tǒng)時鐘,呈現(xiàn)時戳(PTS)指示從緩沖區(qū)取出數(shù)據(jù)的時間。解碼器根據(jù)由PCR生成的解碼時鐘和呈現(xiàn)時戳控制獲取數(shù)據(jù)的過程。復(fù)用和同步基本上是兩個獨(dú)立的機(jī)制(沒有一種能夠完全決定另一種)。因為同步信息由傳輸流承載,但其位置(也就是延時與抖動)是由復(fù)用決定的,因而復(fù)用會影響同步。
多次復(fù)用會使原本十分準(zhǔn)確的PCR值變得不精確。隨意的復(fù)用方法可能嚴(yán)重影響PCR的準(zhǔn)確性,遠(yuǎn)遠(yuǎn)超出PCR的容許范圍500ns。因而保持PCR的準(zhǔn)確是復(fù)用過程的必要條件,然而即使PCR是準(zhǔn)確的,隨意復(fù)用仍可能無法滿足T-STD的緩沖區(qū)操作要求。如果能夠使復(fù)用足夠均勻,除了可能產(chǎn)生一個恒定的延時外,組份流在復(fù)用流中的分布與其原始分布相似。PCR的誤差總能控制在容許的范圍內(nèi),因而PCR校正就不是必要的了,特別是針對一些定時要求不很嚴(yán)格的應(yīng)用。針對PCR還有其他的規(guī)定,MPEG-2系統(tǒng)標(biāo)準(zhǔn)規(guī)定每個節(jié)目兩個連續(xù)的PCR之間的間隔不應(yīng)超過100ms。而DVB建議間隔應(yīng)不大于40ms。因而承載PCR的傳送流必須均勻分布。
DVB采用MPEG-2作為源編碼規(guī)范。為了輔助用戶通過服務(wù)/事件瀏覽以及自動配置集成接收/解碼器。DVB將MPEG-2系統(tǒng)規(guī)范擴(kuò)展以產(chǎn)生完全的服務(wù)信息。特別是DVB規(guī)定了PSI/SI的最小重復(fù)速率。例如PMT和PAT最大重復(fù)間隔不應(yīng)大于100ms。全部NIT段應(yīng)至少每10秒傳送一次;所有BAT段(section)應(yīng)當(dāng)至少每10秒傳送一次。針對實際復(fù)用的SDT段應(yīng)當(dāng)至少每2秒傳送一次。針對其它傳輸流的SDT段應(yīng)每10秒傳送一次。TDT和TOT應(yīng)每30秒傳送一次。因而SI表應(yīng)當(dāng)傳送的足夠快,但也不要太快。如前所述,因為不適當(dāng)?shù)腟I數(shù)據(jù)復(fù)用導(dǎo)致的瞬時突發(fā)會引起解碼器緩沖區(qū)上溢。
實際實現(xiàn)解碼器時,也要求輸入傳輸流是均勻的。例如,ST5500芯片組支持最多32個slot;每一個slot可配置成過濾基本流PES包或PSI/SI表。過濾出的數(shù)據(jù)通過DMA傳送到長度為8K的循環(huán)FIFO中。因為CPU不得不支持實時計算、人與解碼器的交互、及其它I/O操作,只留下有限時間處理FIFO中的數(shù)據(jù)。因而瞬時突發(fā)輸入可能導(dǎo)致FIFO溢出并進(jìn)而丟失數(shù)據(jù),這將嚴(yán)重影響后續(xù)解碼過程。
MPEG-2視音頻流的復(fù)用中一般要求為視音頻流分配固定的帶寬;而對于數(shù)據(jù)流來說,分配每路PID承載的帶寬,一方面是資源管理的需要,另一方面是平衡每路PID的負(fù)載情況,避免解碼緩沖區(qū)上溢。
在面向IP與廣電網(wǎng)絡(luò)互連的系統(tǒng)中,用戶端接收設(shè)備的種類和型號很多,如面向計算機(jī)的數(shù)據(jù)接收卡,交互式機(jī)頂盒等,由于其選用的器件不同、主CPU的處理能力不同,實現(xiàn)機(jī)制不同,對于單路PID流的過濾能力不同。如果相同PID數(shù)據(jù)流突發(fā)性過強(qiáng),會超過接收設(shè)備的過濾能力,導(dǎo)致數(shù)據(jù)丟失。而IP網(wǎng)絡(luò)本身的數(shù)據(jù)又具有突發(fā)性的特點(diǎn),這一方面是由于象TCP這樣的數(shù)據(jù)傳輸協(xié)議本身就會造成數(shù)據(jù)突發(fā),另一方面,即使在發(fā)送端均勻發(fā)出的數(shù)據(jù),經(jīng)過路由、交換等設(shè)備后,同樣會變得具有突發(fā)性。
數(shù)據(jù)服務(wù)對帶寬的要求不同于MPEG-2視音頻,其數(shù)據(jù)具有突發(fā)性。為每路數(shù)據(jù)服務(wù)分配固定的帶寬,一方面不適應(yīng)數(shù)據(jù)突發(fā)性要求,在數(shù)據(jù)帶寬要求高時導(dǎo)致數(shù)據(jù)丟失;另一方面當(dāng)數(shù)據(jù)帶寬要求小于分配帶寬時,又會浪費(fèi)部分帶寬。統(tǒng)計復(fù)用是提高帶寬利用率的有效途徑,然而在DVB網(wǎng)絡(luò)中,由于接收設(shè)備的性能不同,要求每路PID承載的數(shù)據(jù)流的位率要受到一個上限的限制。
復(fù)用設(shè)備用于IP over DVB服務(wù)時,將每個IP地址或者網(wǎng)絡(luò)地址映射到一個目的PID上,進(jìn)行多協(xié)議封裝后傳輸。傳統(tǒng)的先進(jìn)先出(FIFO)方法無法消除IP數(shù)據(jù)的突發(fā)性,而IP網(wǎng)絡(luò)中應(yīng)用的一些調(diào)度方法如加權(quán)公平隊列(WFQ)、加權(quán)輪循(WRR)等雖然可以完成流的隔離功能,但它們調(diào)度的結(jié)果是按相對權(quán)重分配資源,在活動流較少的情況下,單個流的準(zhǔn)許速率可以很高,甚至達(dá)到整個鏈路速率,造成延時抖動的上升,不適用于DVB網(wǎng)絡(luò)特性的要求。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于MPEG-2/DVB傳輸網(wǎng)絡(luò)的均勻復(fù)用方法,是簡單易行的復(fù)用算法,保證復(fù)用流中每路PID流承載的MPEG-2視音頻流、信令流以及其它數(shù)據(jù)流具有均勻性。減小多路復(fù)用不均勻性對后續(xù)通信節(jié)點(diǎn)設(shè)備,包括終端設(shè)備的緩沖區(qū)造成上溢或下溢的概率?;蛟谙嗤邮召|(zhì)量下減小緩沖區(qū)容量。本發(fā)明另一個目的在于將信令信息(PSI、SI、PCR等)納入一個以帶寬為唯一控制參數(shù)的統(tǒng)一調(diào)度框架,簡化數(shù)據(jù)復(fù)用調(diào)度操作,同時保證信令信息實時性要求。
技術(shù)方案本發(fā)明主要包括三部分內(nèi)容,1.支持均勻復(fù)用的調(diào)度算法eMUX;2.適用于均勻復(fù)用的信令帶寬分配方案;3.基于測量的時變帶寬分配方案。本發(fā)明采用固定與時變兩種帶寬分配方式,并且在復(fù)用流的均勻性控制方面具有良好性能。其中eMUX均勻復(fù)用調(diào)度算法是本發(fā)明的核心內(nèi)容。本發(fā)明將復(fù)用問題抽象轉(zhuǎn)化為實時調(diào)度問題,從而設(shè)計了一種eMUX均勻調(diào)度算法。采用這種調(diào)度算法,使每個流的TS包均勻地分布在復(fù)用流中,理論證明其均勻性優(yōu)于傳統(tǒng)的PFair調(diào)度算法,如PF、PD、PD2等。
1.用于均勻復(fù)用的eMUX調(diào)度算法傳統(tǒng)的MPEG2復(fù)用方法對于信令信息的復(fù)用往往采用優(yōu)先級調(diào)度,給承載信令信息的TS流以高優(yōu)先權(quán),然而由于信令流的插入,會改變其它流TS包的時序特征,而且優(yōu)先權(quán)調(diào)度的方法經(jīng)過多級復(fù)用后會使一些流具有突發(fā)性。為了簡化調(diào)度輸出,本發(fā)明將通過帶寬分配,將信令調(diào)度與視音頻流和數(shù)據(jù)流納入統(tǒng)一的eMUX調(diào)度方案。
設(shè)鏈路傳輸位率為kbps,第i個復(fù)用流的位率為ki。滿足∑1≤i≤nki≤k,n為流的個數(shù)。均勻復(fù)用的目標(biāo)是使MPEG-2視、音頻流及信令表的TS包均勻地分布在整個復(fù)用流中,使其比特率最大限度保持恒定。對于數(shù)據(jù)流則根據(jù)實時性要求保證流的峰值速率不超過某一限定,避免接收緩沖區(qū)上溢。
調(diào)度算法的調(diào)度單位為長度為188字節(jié)的TS包。引入虛擬時間參考系統(tǒng),一個TS包的傳輸時間抽象為1。則對于一個位率為kibps的復(fù)用流,可以抽象成一個周期性任務(wù)實例τi={(Ii,Gi,Di,Pi)};其中Ii為任務(wù)起始時間,Gi為單個任務(wù)執(zhí)行時間,Di為相對死限(deadline),Pi為任務(wù)周期。對于定長TS包的復(fù)用,Ci=1;Pi=k/ki;Di=Pi。EMUX算法描述如下
(1) 初始化vt=0;dm=0;for(i=1 to n){ri=0;ci=0;fi=ri+k/ki;HeapActive.Insert(i)}(2)每一個調(diào)度周期Ts執(zhí)行m=Ts*k/188/8;//求出本調(diào)度周期需要調(diào)度的TS包個數(shù)m=m+dm; //記下非整數(shù)部分 for(j=1 to m){if(IsEmpty(HeapActive)){輸出一個空包;}else{i=HeapActive.Delete();ri=fi;fi=ri+k/ki;Heap Wait.Insert(i);//堆插入if(q[i].Length()<>0){q[i].OutPut();//調(diào)度輸出隊首包;ci=ci+1;//輸出包計數(shù)}else{輸出一個空包;}
}vt=vt+1;while(!Heap Wait.IsEmpty()){i=Heap Wait.Look(); //取優(yōu)先權(quán)最高元素的TS隊列索引 {//堆非空i=Heap Wait.Delete();//堆刪除操作HeapActive.Insert(i);}else break;}if(vt=Max_VT){//調(diào)整vt;避免溢出vt=0;for(i=1 to n){ri=ri-Max_VT;fi=fi-Max_VT;}}}其中n復(fù)用流個數(shù);vt虛擬參考時間;ri流i隊首包的可調(diào)度輸出時間;fi流i隊首包的傳輸完成時間;ci復(fù)用流i調(diào)度輸出的TS包數(shù),不含空包,每個帶寬分配周期清零一次;Ts調(diào)度周期。根據(jù)具體實現(xiàn)環(huán)境中的處理器能力,時鐘精度等確定,體現(xiàn)了調(diào)度粒度;dm記錄上次調(diào)度的剩余的非整數(shù)部分包Max_VT給定的常數(shù),當(dāng)參考時鐘數(shù)值等于此常數(shù)時,進(jìn)行時鐘調(diào)整,避免溢出。
HeapWait實現(xiàn)以可調(diào)度輸出時間為優(yōu)先權(quán)的隊列的堆,此堆中元素對應(yīng)復(fù)用TS流隊列隊首包可調(diào)度輸出時間上取整小于參考時鐘當(dāng)前值vt,稱此堆為待調(diào)度堆。
HeapActive實現(xiàn)以傳輸完成時間為優(yōu)先權(quán)隊列的堆,此堆中元素對應(yīng)復(fù)用TS流隊列隊首包的可調(diào)度輸出時間上取整大于或等于參考時鐘當(dāng)前值vt,也就是代表活動包,稱為活動堆。
eMUX均勻復(fù)用算法的復(fù)雜度主要體現(xiàn)在確定下一個調(diào)度輸出包的操作上,本發(fā)明采用兩個堆進(jìn)行優(yōu)先權(quán)隊列的具體實現(xiàn),為待調(diào)度堆HeapWait,另一個活動堆HeapActive。調(diào)度器從活動堆中取優(yōu)先級最高的元素(傳輸完成時間最小的元素),從相對應(yīng)TS隊列調(diào)度輸出一個TS包,并生成一個新的待調(diào)度元素插入待調(diào)度堆,更新參考時鐘后,檢查待調(diào)度堆中是否有元素處于活動狀態(tài),如有,依次從待調(diào)度堆中移出,插入活動堆。堆的實現(xiàn)建議采用數(shù)組,元素包含TS隊列編號TSQueneNo,優(yōu)先權(quán)分別為流隊首包的可調(diào)度輸出時間rTSQueneNo和流TSQueneNo隊首包的傳輸完成時間fTSQueneNo采用這一實現(xiàn)方式,eMUX算法復(fù)雜度為log(n),n為復(fù)用流數(shù)。
均勻性分析為了分析本發(fā)明的均勻復(fù)用調(diào)度算法性能,本發(fā)明首先定義如下概念L上的覆蓋數(shù)對于以時隙為單位的時間間隔L=[t,t+l)中屬于同一流數(shù)據(jù)項出現(xiàn)的次數(shù)稱為此數(shù)據(jù)項在時間間隔L內(nèi)的覆蓋數(shù),記為Cover(S,i,t,l),S為一個調(diào)度產(chǎn)生的序列。
s上的間隔屬于同一流的數(shù)據(jù)項的第j次出現(xiàn)與第(j+s)次出現(xiàn)的距離。記為Space(i,j,s)。
l上的最小覆蓋數(shù)cvr(S,i,l)=min{Cover(S, i,t,l)|t∈N0},簡記為cvri,l;l上的最大覆蓋數(shù)CVR(S,i,l)=max{Cover(S,i,t,l)|t∈N0},簡記為CVRi,l;稀疏覆蓋偏離
突發(fā)覆蓋偏離 s上的最小間隔spc(S,i,s)=min{Space(S,i,j,s)| j∈N0},簡記為spci,ss上的最大間隔SPC(S,i,s)=max{Space(S,i,j,s)|j∈N0},簡記為SPCi,s;稀疏間隔偏離 突發(fā)間隔偏離 稀疏覆蓋偏離、突發(fā)覆蓋偏離、稀疏間隔偏離、突發(fā)間隔偏離是用于體現(xiàn)復(fù)用均勻性的指標(biāo),其值越小,表明組分流數(shù)據(jù)在服用流中的分布越均勻。
定理1將復(fù)用流看作一個可行的單位周期性任務(wù)集,τi={(Ii,Ci,Di,Pi)};Ci=1;當(dāng)采用eMUX調(diào)度時,有如下結(jié)論成立 (證明從略)定理2給定一個均勻復(fù)用實例(k;k1,k2,...,kn)或等價表示(w1,w2,...,wn),其中wi=ki/k,∑l≤i≤nwi≤1。將此實例建模為實時調(diào)度問題{τi}={(Ii,Ci,Di,Pi)|Ii=0,Ci=1,Di=Pi=1/Wi,∑1 ≤i≤nwi≤1},那么采用eMUX將產(chǎn)生如下屬性的調(diào)度 (4)cvr-devi≤1.
(證明從略)
采用傳統(tǒng)的Pfair調(diào)度方法如PF、PD、PD2等,其均勻性屬性如下 比較而言,采用eMUX調(diào)度,spci,s,SPCi,s,cvri,l,CVRi,l的變化范圍均小于傳統(tǒng)的Pfair調(diào)度方法。eMUX具有更好的均勻性屬性。
2.適用于均勻復(fù)用的信令帶寬分配方法為了簡化調(diào)度過程,將信令流、視音頻流、數(shù)據(jù)流納入一個統(tǒng)一的eMUX調(diào)度框架,本發(fā)明建立了DVB規(guī)范中信令表重復(fù)周期約束與使用eMUX調(diào)度時帶寬要求之間的關(guān)系,按照下面所述的信令表傳輸帶寬分配方法進(jìn)行信令帶寬分配,然后利用eMUX算法進(jìn)行調(diào)度輸出,將同時滿足均勻性與信令表傳輸實時性要求,并且不會對其它流的約束條件滿足性造成破壞。
本發(fā)明中所涉及的信令信息主要包括PSI/SI表,PCR等。針對解碼過程所選的節(jié)目,包含系統(tǒng)信息的完整傳送流分組進(jìn)入系統(tǒng)傳送緩沖區(qū),TBsys。這類分組有PID值為0或1的傳送流分組和由PAT表識別的具有program_map_PID值的傳送流分組。
分配PAT、PMT及CAT表帶寬RPAT、RPMT、RCAT應(yīng)滿足如下約束 RPAT+ RPMT+ RCAT≤ Rsys(5)
其中 R傳輸流帶寬;Rxsys緩沖區(qū)數(shù)據(jù)處理速率;T’ 緩沖區(qū)清空周期;Tslot傳輸一個TS包的時間;NPAT 承載PAT表的TS包數(shù);NPMT 承載PMT表的TS包數(shù);NCAT 承載CAT表的TS包數(shù);TPAT PAT表出現(xiàn)的最大重復(fù)周期約束;TPMT PMT表出現(xiàn)的最大重復(fù)周期約束;TCAT CAT表出現(xiàn)的最大重復(fù)周期約束。
按照滿足上述約束(1)、(2)、(3)、(4)、(5)分配信令表帶寬,采用均勻復(fù)用調(diào)度算法eMUX,復(fù)用結(jié)果可嚴(yán)格滿足相關(guān)表的最小重復(fù)周期要求,并保證在任意時間段內(nèi)緩沖區(qū)不上溢。為了節(jié)約帶寬,本發(fā)明建議取 對于其他的信令表帶寬分配應(yīng)滿足約束 其中Tslot傳輸一個TS包的時間Ntab 承載某類信令表的TS包數(shù)Ttab 信令表出現(xiàn)的最大重復(fù)時間間隔約束最大重復(fù)周期約束取值可參考DVB相關(guān)標(biāo)準(zhǔn)要求,為了節(jié)約帶寬,建議取 PCR編碼頻率確定如果PCR由一個獨(dú)立的流承載,那么應(yīng)當(dāng)使
其中RPCR 承載PCR流帶寬;Tslot傳輸一個TS包的時間;R傳輸流帶寬;TPCR 標(biāo)準(zhǔn)規(guī)定的PCR最大重復(fù)時間間隔;為了節(jié)約帶寬,本發(fā)明建議取 如果PCR用某路基本流承載,那么應(yīng)當(dāng)使 其中M連續(xù)兩個含有PCR的TS包間隔(以TS包為單位);Ri承載PCR的TS流帶寬;Tslot傳輸一個TS包的時間;R傳輸流帶寬;TPCR標(biāo)準(zhǔn)規(guī)定的PCR最大重復(fù)時間間隔。建議取 3.基于測量的時變帶寬分配方法本發(fā)明使用基于測量的時變帶寬分配方案,與均勻復(fù)用算法一起應(yīng)用,解決速率受限的復(fù)用流統(tǒng)計復(fù)用問題,適應(yīng)DVB網(wǎng)絡(luò)傳輸,提高帶寬利用率。
設(shè)共有n個流共享容量為r的鏈路。第i個復(fù)用流具有保證帶寬gi,最高帶寬hi。帶寬統(tǒng)計復(fù)用的原則為按gi保證第i個復(fù)用流帶寬,剩余帶寬在復(fù)用流之間平等共享,但復(fù)用流i獲得的帶寬ki受hi限制。∑1≤i≤ngi≤r;gi≥0;hi≥ki≥gi;首先確定hi。hi受到兩個約束,第一是接收端的處理能力的約束Hc1,第二為在發(fā)送端人為設(shè)定的最高速率的約束Hc2,則hi=min(Hc1,Hc2)。
每一個帶寬分配周期Tb執(zhí)行如下算法<pre listing-type="program-listing"><![CDATA[ for(i=1 to n){ ni=(ci+qi)*188*8/Tb;//計算復(fù)用流i所需帶寬 ci=0;ki=gi;//分配確保帶寬 r=r-gi } while(r>0){ N={Si|ki<ni∧ki<hi,1≤i≤n};//確定帶寬要求未滿足流 if (|N|==0)break; arv=r|N|;//計算均分額度 ki=ki+max{0,min{min{ni-ki,hi-ki},arv}}; r=r-max{0,min{min{ni-ki,hi-ki},arv}};}]]></pre>其中g(shù)i復(fù)用流i的確保速率;hi復(fù)用流i的最高速率;ni復(fù)用流i的需求速率;qi帶寬分配時復(fù)用流i隊列TS包數(shù);ci自上次帶寬分配后復(fù)用流i調(diào)度輸出的TS包數(shù),不含空包;ki復(fù)用流i分配的帶寬;r 剩余可分配帶寬;Tb帶寬分配周期,為Ts的整數(shù)倍;arv數(shù)據(jù)流可得到的均分額度;N帶寬要求未滿足流集合。
復(fù)用流所需帶寬的計算綜合兩個測量信息后確定,一為自上一次帶寬分配后調(diào)度輸出數(shù)據(jù)的平均位率,帶寬分配時復(fù)用流i隊列TS包數(shù),使用公式ni=(ci+qi)*188*8/Tb計算得到自上一次帶寬分配后的數(shù)據(jù)到達(dá)速率,作為本次帶寬分配所須帶寬的依據(jù)。
完成帶寬分配后,使用均勻復(fù)用算法,實現(xiàn)以帶寬分配周期為粒度的時變均勻復(fù)用。在提高帶寬利用率的同時,各流公平共享剩余帶寬,并且有效地控制每路PID承載數(shù)據(jù)流的突發(fā)速率。上述帶寬分配算法可統(tǒng)一處理固定帶寬要求與可變帶寬要求兩種情況,對于要求固定帶寬的復(fù)用流,只需令hi=gi,這保證了固定比特率傳輸?shù)牧鞯囊蟆?br> 以下結(jié)合附圖及一較佳實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明


圖1是本發(fā)明用于IP-DVB網(wǎng)關(guān)的均勻復(fù)用的邏輯框圖;圖2是本發(fā)明用于IP-DVB網(wǎng)關(guān)帶寬分配模塊與均勻復(fù)用調(diào)度的控制流程圖;圖3是帶寬分配模塊的處理流程圖;圖4是調(diào)度模塊完成TS包的調(diào)度輸出流程圖。
圖1為本發(fā)明一實施例的用于IP-DVB網(wǎng)關(guān)的均勻復(fù)用的邏輯框圖,本網(wǎng)關(guān)同時支持MPEG-2復(fù)用功能。
如圖1所示的本發(fā)明用于IP-DVB網(wǎng)關(guān)均勻復(fù)用調(diào)度的系統(tǒng)模型,復(fù)用流包括PSI,SI表信息、MPEG-2視音頻流、數(shù)據(jù)服務(wù)流(IP及其它)等。圖1中設(shè)置有計數(shù)器(未示出)。圖1中的各模塊工作機(jī)制如下IP數(shù)據(jù)輸入模塊從IP數(shù)據(jù)輸入接口(如以太網(wǎng)接口)讀入IP數(shù)據(jù),進(jìn)行封裝后數(shù)據(jù)轉(zhuǎn)化為MPEG-2 TS包的形式,然后根據(jù)規(guī)定的流映射規(guī)則(如目的地址為159.226.42.1的IP數(shù)據(jù)包封裝后進(jìn)入PID為1001的TS流隊列)將TS包送入對應(yīng)TS包隊列,等待調(diào)度輸出。
TS流輸入模塊從TS流輸入接口(如ASI接口)讀入TS流數(shù)據(jù),消除PID沖突后,依據(jù)PID的不同,將TS流送入相應(yīng)TS流隊列,等待調(diào)度輸出。
信令數(shù)據(jù)生成模塊根據(jù)MPEG-2/DVB標(biāo)準(zhǔn)規(guī)定生成信令數(shù)據(jù),因為同類信令流有同樣的周期約束要求,同類信令流(如不同節(jié)目的PMT表)依次進(jìn)入同一TS流隊列,等待調(diào)度輸出。
以上三類數(shù)據(jù)傳送過程可獨(dú)立進(jìn)行,在軟件實現(xiàn)的情況下,采用不同的線程進(jìn)行并行處理。
每一個帶寬分配周期,流量測量與緩沖區(qū)監(jiān)視模塊將把上一周期調(diào)度輸出的流量與隊列中現(xiàn)存待輸出的數(shù)據(jù)量通知帶寬分配模塊。
帶寬分配模塊主要完成兩部分帶寬分配功能。首先檢查產(chǎn)生用于產(chǎn)生信令信息的原始數(shù)據(jù)和設(shè)置是否有變化,如果有變化,檢查是否引起信令表大小變化,如果有變化,依據(jù)MPEG-2/DVB標(biāo)準(zhǔn)規(guī)定及新的大小調(diào)整變化信令表流的帶寬。如沒有變化,則進(jìn)入數(shù)據(jù)及視音頻流帶寬分配過程。時變均勻復(fù)用帶寬分配器收集流量測量模塊統(tǒng)計的流輸出速率及隊列管理模塊監(jiān)視的隊列長度情況,計算各個復(fù)用流的所需帶寬,結(jié)合確保速率信息、約束條件等,完成復(fù)用流的時變帶寬分配。
帶寬分配的結(jié)果送入eMUX均勻復(fù)用調(diào)度器,在每一個調(diào)度周期,eMUX均勻復(fù)用調(diào)度模塊根據(jù)帶寬參數(shù),采用eMUX調(diào)度算法,調(diào)度輸出各個TS隊列的TS包,送入輸出接口。
圖2為本發(fā)明一實施例的用于IP-DVB網(wǎng)關(guān)帶寬分配模塊與均勻復(fù)用調(diào)度的控制流程圖。帶寬分配與均勻復(fù)用調(diào)度采用定時器驅(qū)動,設(shè)調(diào)度例程的啟動周期為Ts,帶寬分配例程的啟動周期為Tb=n*Ts,通過調(diào)整帶寬分配周期的大小,可以調(diào)整調(diào)度器對流量變化的反應(yīng)速度。由于規(guī)定Tb為Ts的整數(shù)倍,則可用一個超時周期為Ts的定時器控制兩個例程的執(zhí)行。具體如圖2。其過程簡要說明如下(1)判斷計數(shù)器C是否為0,如果為0,轉(zhuǎn)入帶寬分配過程(2),否則轉(zhuǎn)入(3);(2)進(jìn)行帶寬分配;(3)執(zhí)行eMUX調(diào)度(4)計數(shù)器加1,并以n取模,轉(zhuǎn)1。
帶寬分配模塊的處理流程如圖3。其過程說明如下(1)判斷是否首次帶寬分配,如果不是,轉(zhuǎn)入(3);(2)為所有信令表流分配帶寬,依據(jù)公式 如果PCR由一個獨(dú)立的流承載,為承載PCR流分配帶寬,依據(jù)公式 其中RPCR承載PCR流帶寬;TPCR標(biāo)準(zhǔn)規(guī)定的PCR最大重復(fù)時間間隔;然后轉(zhuǎn)步驟(5);(3)判斷是否有某類信令長度發(fā)生變化,如無變化,轉(zhuǎn)(5);(4)為發(fā)生長度變化的信令重新分配帶寬,依據(jù)公式同步驟(2);(5)計算未分配剩余帶寬r,依據(jù)公式
r=R-&Sigma;i=1MRtabi-RPCR]]>(6)分配視音頻及數(shù)據(jù)流確保帶寬(如某流未規(guī)定確保帶寬,視為確保帶寬為0),依據(jù)如下算法for(i=1 to n){ni=(ci+qi)*188*8/Tb;//計算復(fù)用流i所需帶寬ci=0;ki=gi;//分配確保帶寬r=r-gi}(7)分配剩余帶寬,依據(jù)如下算法while(r>0){N={Si|ki<ni∧ki<hi,1≤i≤n};//確定帶寬要求未滿足流if(|N|==0)break;arv=r|N|;//計算均分額度ki=ki+max{0,min{min{ni-ki,hi-ki},arv}};r=r-max{0,min{min{ni-ki,hi-ki},arv}};}帶寬分配過程描述所用符號意義如下Tslot傳輸一個TS包的時間;R傳輸流帶寬,下同;Ntab 承載某類信令表的TS包數(shù)Ttab 信令表出現(xiàn)的最大重復(fù)時間間隔約束M信令表種類。
ni復(fù)用流i的需求速率;qi帶寬分配時復(fù)用流i隊列TS包數(shù);ci上次帶寬分配后復(fù)用流i調(diào)度輸出的TS包數(shù),不含空包;ki復(fù)用流i分配的帶寬;r 剩余可分配帶寬;gi復(fù)用流i的確保速率;
Tb帶寬分配周期,為Ts的整數(shù)倍;arv數(shù)據(jù)流可得到的均分額度;N帶寬要求未滿足流集合;eMUX調(diào)度模塊完成TS包的調(diào)度輸出,如圖4。算法采用雙堆實現(xiàn)以可調(diào)度輸出時間和傳輸完成時間為優(yōu)先級的隊列,管理TS包由等待調(diào)度到可調(diào)度狀態(tài)的轉(zhuǎn)換及調(diào)度輸出TS包的選擇。其具體步驟如下(1)判斷是否首次執(zhí)行調(diào)度,如果不是,轉(zhuǎn)入(3);(2)變量初始化,過程如下vt=0;dm=0;for(i=1 to n){ri=0;ci=0;fi=ri+k/ki;HeapActive.Insert(i)}(3)求出本次調(diào)度應(yīng)調(diào)度輸出的TS包數(shù)m,依據(jù)算法如下m=Ts*k/188/8+dm; //記下非整數(shù)部分 (4)置計數(shù)器j等于1;(5)判斷活動堆是否為空,如果非空,轉(zhuǎn)第(10)步;(6)從活動堆刪除一個元素,得到對應(yīng)隊列索引ii=HeapActive.Delete();(7)計算隊列i對應(yīng)的下一個輸出包可調(diào)度時間和傳輸完成時間,隊列索引進(jìn)入等待堆;ri=fi;fi=ri+k/ki;Heap Wait.Insert(i);
(8)如果第隊列i為空,則轉(zhuǎn)(10);(9)從隊列i中調(diào)度輸出一個TS包,相應(yīng)輸出計數(shù)器加1,轉(zhuǎn)(11);(10)調(diào)度輸出一個空包;(11)調(diào)整虛擬時鐘vt=vt+1;(12)將隊首包可調(diào)度輸出時間上取整,如果大于系統(tǒng)虛擬時間,將對應(yīng)隊列索引從等待隊列移出,以傳輸完成時間為優(yōu)先級進(jìn)入活動隊列,算法如下while(!Heap Wait.IsEmpty()){i=Heap Wait.Look();//取優(yōu)先權(quán)最高元素的TS隊列索引 {//堆非空i=Heap Wait.Delete();//堆刪除操作HeapActive.Insert(i);}else break;}(13)判斷系統(tǒng)系統(tǒng)虛擬時鐘是否達(dá)到設(shè)定最大值MAX_VT,如果不是,轉(zhuǎn)(15);(14)調(diào)整系統(tǒng)虛擬時間及各隊列隊?wèi)?yīng)待傳送包的可調(diào)度時間和傳輸完成時間vt=0;for(i=1 to n){ri=ri-Max_VT;fi=fi-Max_VT;}(15)計數(shù)器j加1;(16)如果j大于m,退出,否則轉(zhuǎn)(5)。EMUX復(fù)用調(diào)度過程描述涉及符號意義如下n復(fù)用流個數(shù);vt虛擬參考時間;
ri流i隊首包的可調(diào)度輸出時間;fi流i隊首包的傳輸完成時間;ci復(fù)用流i調(diào)度輸出的TS包數(shù),不含空包,每個帶寬分配周期清零一次;Ts調(diào)度周期。根據(jù)具體實現(xiàn)環(huán)境中的處理器能力,時鐘精度等確定,體現(xiàn)了調(diào)度粒度;dm記錄上次調(diào)度的剩余的非整數(shù)部分包;qTS包隊列;Max_VT給定的常數(shù),當(dāng)參考時鐘數(shù)值等于此常數(shù)時,進(jìn)行時鐘調(diào)整,避免溢出。
HeapWait實現(xiàn)以可調(diào)度輸出時間為優(yōu)先權(quán)的隊列的堆,此堆中元素對應(yīng)復(fù)用TS流隊列隊首包可調(diào)度輸出時間上取整小于參考時鐘當(dāng)前值vt,稱此堆為待調(diào)度堆。
HeapActive實現(xiàn)以傳輸完成時間為優(yōu)先權(quán)隊列的堆,此堆中元素對應(yīng)復(fù)用TS流隊列隊首包的可調(diào)度輸出時間上取整大于或等于參考時鐘當(dāng)前值vt,也就是代表活動包,稱為活動堆。
權(quán)利要求
1.一種用于MPEG-2/DVB傳輸網(wǎng)絡(luò)的均勻復(fù)用方法,包括如下步驟(1)判斷計數(shù)器C是否為0,如果為0,轉(zhuǎn)入帶寬分配步驟(2),否則轉(zhuǎn)入步驟(3);(2)進(jìn)行帶寬分配,首先檢查產(chǎn)生用于產(chǎn)生信令信息的原始數(shù)據(jù)和設(shè)置是否有變化,如果有變化,檢查是否引起信令表大小變化,如果有變化,依據(jù)MPEG-2/DVB標(biāo)準(zhǔn)規(guī)定及新的大小調(diào)整變化信令表流的帶寬;如沒有變化,則進(jìn)入數(shù)據(jù)及視音頻流帶寬分配過程;(3)執(zhí)行eMUX調(diào)度,帶寬分配的結(jié)果送入eMUX均勻復(fù)用調(diào)度器,在每一個調(diào)度周期,eMUX均勻復(fù)用調(diào)度模塊根據(jù)帶寬參數(shù),采用eMUX調(diào)度算法,調(diào)度輸出各個TS隊列的TS包,送入輸出接口;(4)計數(shù)器加1,并以n取模,轉(zhuǎn)1。
2.根據(jù)權(quán)利要求1的用于MPEG-2/DVB傳輸網(wǎng)絡(luò)的均勻復(fù)用方法,其特征在于,帶寬分配步驟包括(1)判斷是否首次帶寬分配,如果不是,轉(zhuǎn)入(3);(2)為所有信令表流分配帶寬,依據(jù)公式 如果PCR由一個獨(dú)立的流承載,為承載PCR流分配帶寬,依據(jù)公式 其中RPCR承載PCR流帶寬;TPCR標(biāo)準(zhǔn)規(guī)定的PCR最大重復(fù)時間間隔;然后轉(zhuǎn)步驟(5);(3)判斷是否有某類信令長度發(fā)生變化,如無變化,轉(zhuǎn)(5);(4)為發(fā)生長度變化的信令重新分配帶寬,依據(jù)公式同步驟(2);(5)計算未分配剩余帶寬r,依據(jù)公式r=R-&Sigma;i=1MRtabi-RPCR]]>(6)分配視音頻及數(shù)據(jù)流確保帶寬(如某流未規(guī)定確保帶寬,視為確保帶寬為0),依據(jù)如下算法for(i=1 to n){ni=(ci+qi)*188*8/Tb;//計算復(fù)用流i所需帶寬ci=0;ki=gi;//分配確保帶寬r=r-gi}(7)分配剩余帶寬,依據(jù)如下算法while(r>0){N={Si|ki<ni∧ki<hi,1≤i≤n};//確定帶寬要求未滿足流if(|N|==0)break;arv=r/|N|;//計算均分額度ki=ki+max{0,min{min{ni-ki,hi-ki},arv}};r=r-max{0,min{min{ni-ki,hi-ki},arv}};}
3.根據(jù)權(quán)利要求1的用于MPEG-2/DVB傳輸網(wǎng)絡(luò)的均勻復(fù)用方法,其特征在于,eMUX調(diào)度步驟包括(1)判斷是否首次執(zhí)行調(diào)度,如果不是,轉(zhuǎn)入(3);(2)變量初始化,過程如下vt=0;dm=0;for(i=1 ton n){ri=0;ci=0;fi=ri+k/ki;HeapActive.Insert(i)}(3)求出本次調(diào)度應(yīng)調(diào)度輸出的TS包數(shù)m,依據(jù)算法如下m=Ts*k/188/8+dm; //記下非整數(shù)部分 (4)置計數(shù)器j等于1;(5)判斷活動堆是否為空,如果非空,轉(zhuǎn)第(10)步;(6)從活動堆刪除一個元素,得到對應(yīng)隊列索引ii=HeapActive.Delete();(7)計算隊列i對應(yīng)的下一個輸出包可調(diào)度時間和傳輸完成時間,隊列索引進(jìn)入等待堆;ri=fi;fi=ri+k/ki;Heap Wait.Insert(i);(8)如果第隊列i為空,則轉(zhuǎn)(10);(9)從隊列i中調(diào)度輸出一個TS包,相應(yīng)輸出計數(shù)器加1,轉(zhuǎn)(11);(10)調(diào)度輸出一個空包;(11)調(diào)整虛擬時鐘vt=vt+1;(12)將隊首包可調(diào)度輸出時間上取整,如果大于系統(tǒng)虛擬時間,將對應(yīng)隊列索引從等待隊列移出,以傳輸完成時間為優(yōu)先級進(jìn)入活動隊列,算法如下while(!Heap Wait.IsEmpty()){i=Heap Wait.Look();//取優(yōu)先權(quán)最高元素的TS隊列索引 {//堆非空i=Heap Wait.Delete();//堆刪除操作HeapActive.Insert(i);}else break;}(13)判斷系統(tǒng)系統(tǒng)虛擬時鐘是否達(dá)到設(shè)定最大值MAX VT,如果不是,轉(zhuǎn)(15);(14)調(diào)整系統(tǒng)虛擬時間及各隊列隊?wèi)?yīng)待傳送包的可調(diào)度時間和傳輸完成時間vt=0;for(i=1 to n){ri=ri-Max_VT;fi=fi-Max_VT;}(15)計數(shù)器j加1;(16)如果j大于m,退出,否則轉(zhuǎn)(5)。
全文摘要
本發(fā)明通信技術(shù)中的一種用于MPEG-2/DVB網(wǎng)絡(luò)的均勻復(fù)用方法,主要包括eMUX均勻復(fù)用調(diào)度算法、適用于均勻復(fù)用的信令帶寬分配方法、基于測量的數(shù)據(jù)時變帶寬分配方法等三部分,其中eMUX均勻復(fù)用調(diào)度算法是本發(fā)明的核心內(nèi)容。方法步驟包括(1)判斷計數(shù)器C是否為0,(2)進(jìn)行帶寬分配,(3)執(zhí)行eMUX調(diào)度,(4)計數(shù)器加1?;趀MUX的均勻復(fù)用算法適用于面向廣電網(wǎng)絡(luò)接入的應(yīng)用,適應(yīng)異種接入設(shè)備以及輸入流特征復(fù)雜的DVB以及DVB與IP網(wǎng)絡(luò)互連的網(wǎng)絡(luò)。復(fù)用算法可嚴(yán)格保證信令信息實時性,數(shù)據(jù)流的均勻性,避免接收端緩沖區(qū)瞬時溢出,確保接收質(zhì)量。或在同等條件下減小緩沖區(qū)的大小,節(jié)約資源。
文檔編號H04N7/015GK1489387SQ0317869
公開日2004年4月14日 申請日期2003年7月22日 優(yōu)先權(quán)日2003年7月22日
發(fā)明者賀思敏, 趙巍, 孫書韜, 高文 申請人:中國科學(xué)院計算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
大新县| 汽车| 湟中县| 曲松县| 拉萨市| 明光市| 江源县| 西藏| 平乐县| 齐河县| 文水县| 淮北市| 郧西县| 周宁县| 塔河县| 百色市| 景谷| 鹤壁市| 尚志市| 丰宁| 阿巴嘎旗| 德兴市| 息烽县| 漾濞| 宣恩县| 昌吉市| 安阳市| 江西省| 湘阴县| 高安市| 正阳县| 京山县| 潼关县| 木兰县| 泰和县| 巴南区| 商都县| 郴州市| 新密市| 大渡口区| 佛学|