專利名稱:Mpeg-4系統(tǒng)一致的體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種MPEG-4系統(tǒng)一致的體系結(jié)構(gòu)。本發(fā)明具有涉及該MPEG-4標(biāo)準的用于對MPEG-4多媒體數(shù)據(jù)進行流水化處理的應(yīng)用。
背景技術(shù):
該MPEG-4標(biāo)準的系統(tǒng)部分定義了訪問MPEG多媒體數(shù)據(jù)(視頻,音頻,2D和3D圖形)的體系結(jié)構(gòu)。在文件“MPEG-4系統(tǒng)”(ISO/IECJTC1/SC29/WG11 N 1901,1997年11月21日)中對MPEG-4系統(tǒng)進行了更精確的描述。這一體系結(jié)構(gòu)是復(fù)雜的,因為它提供了對來自大量數(shù)據(jù)源(網(wǎng)絡(luò),廣播,存儲器…)的任意數(shù)量的數(shù)據(jù)流(諸如音頻和視頻數(shù)據(jù)流)的訪問。具體地,該標(biāo)準對于音頻和視頻的同步規(guī)定了一種機制,允許通過時間標(biāo)記將時序信息引入所述不同的數(shù)據(jù)流中。
大多數(shù)涉及的潛在的產(chǎn)品將使用在比特率方面具有任意類型的穩(wěn)定性的網(wǎng)絡(luò)技術(shù)(例如,移動網(wǎng)絡(luò),因特網(wǎng))。在這些網(wǎng)絡(luò)中,比特率是變化的(對于因特網(wǎng),取決于一天中的時間;對于移動網(wǎng)絡(luò),取決于離最近的基站的距離)。由于一個MPEG-4一致的體系結(jié)構(gòu)不得不應(yīng)付大量的、分別不同具體組織的存儲緩沖器,其拓撲結(jié)構(gòu)不得不要處理所謂的結(jié)構(gòu)(該結(jié)構(gòu)可以是固定的,但在該期間通常是動態(tài)進化的),一種優(yōu)化的體系結(jié)構(gòu)的實現(xiàn)必須保證一種適當(dāng)?shù)木彌_器管理。在這一上下文中要解決的問題涉及在所述體系結(jié)構(gòu)的不同模塊之間信息的交換,以避免以下缺點-“流水線”效果的中斷,比如在數(shù)據(jù)流中可導(dǎo)致失去同步的丟失(對于視頻流,音頻流的中斷或音頻信號的失去同步終端用戶是可察覺的,并且是因此不可接受的);-對于比如視頻會議的交互式應(yīng)用可能太長的處理時間;-如果使用規(guī)模過大的緩沖器,造成的存儲器資源的浪費。
很難在這些問題的解決方案之間實現(xiàn)折衷,因為減少網(wǎng)絡(luò)的這種效果的唯一方式是增加緩沖器的大小,而這又增加了延遲和處理的時間,如此等等。還有,在該體系結(jié)構(gòu)實現(xiàn)之前的一個較早階段預(yù)測緩沖器的大小似乎是不現(xiàn)實的,在以前的應(yīng)用中就是這種情況(比如在TV廣播領(lǐng)域中具有MPEG-2標(biāo)準的例子)。
發(fā)明概述因此本發(fā)明的一個目的是避免上述這些缺點。
為此,本發(fā)明涉及的一種體系結(jié)構(gòu),其特征在于其被進一步分成多個關(guān)鍵模塊,由一個多線程操作系統(tǒng)管理的一個具體任務(wù)被分配給所述體系結(jié)構(gòu)的每一部件,以及根據(jù)由該多線程操作系統(tǒng)提供的特殊的同步原語優(yōu)化對緩沖器管理的策略。
MPEG-4系統(tǒng)的實現(xiàn)要能夠動態(tài)例示一個配置的不同部分,不管這一配置是非常簡單的(比如由音頻流和視頻流組成的電影),或非常復(fù)雜的(例如對于具有電訊會議的交互式多用戶虛擬現(xiàn)實的應(yīng)用)。根據(jù)本發(fā)明的技術(shù)方案,其根據(jù)具有一個多線程的操作系統(tǒng)的一個或多個微處理器對于MPEG-4系統(tǒng)的每一實現(xiàn)定義了一個通用的體系結(jié)構(gòu),這也是對這一問題的回答。所建議的體系結(jié)構(gòu)使用在所有多線程環(huán)境中提供的基本原語,該體系結(jié)構(gòu)確確實實是標(biāo)準設(shè)計的,靈活的,動態(tài)的,可擴展的,以及易于實現(xiàn)和管理。還有,可以針對目標(biāo)處理器對多線程操作系統(tǒng)進行優(yōu)化,并且可以被構(gòu)造成能有效地管理多個任務(wù)的同步。
附圖的簡要描述現(xiàn)在參照下面的描述以及結(jié)合附圖對本發(fā)明的這些以及其他特征進行描述,其中
圖1顯示了(在所謂的Win32操作系統(tǒng)上)一個MPEG-4系統(tǒng)的緩沖器劃分模型的一個實現(xiàn);圖2顯示了利用用來保持不同的線程的效率的信號量的控制管理。
本發(fā)明的描述所提出的解決方案針對以下問題。首先,定義用于一個優(yōu)化緩沖器管理的關(guān)鍵模塊,其隱含著對MPEG-4系統(tǒng)的具體的普通的劃分。這些模塊的每一個然后作為一個任務(wù)實現(xiàn),由一個多線程操作系統(tǒng)管理(為了以一種優(yōu)化的方式管理該緩沖器的填充,要使用由該所述多線程操作系統(tǒng)提供的特定的同步原語)。最后,定義用于該緩沖器管理的策略。
為了定義該MPEG-4系統(tǒng)的關(guān)鍵模塊,建議將所述多路分解器分成三個不同的級,以將一個特定的任務(wù)分配給該MPEG-4多路分解器的每一部分,如圖1所示TransMux,F(xiàn)lexMux,Elementary Stream(基本流)。也定義一個(音頻,視頻,…)譯碼器緩沖器,并且在圖1中示出,以讀取訪問單元(AU)和產(chǎn)生可被播放的幀(圖象,聲音),但是這一任務(wù)不是由該多路分解器執(zhí)行的任務(wù)的一部分。
圖1的方案作為例子實現(xiàn)在Win32操作系統(tǒng)(=Windows 95)上,該操作系統(tǒng)提供多線程功能。將每一個進程分配給一個線程-一個TransMux線程(TMX),用于讀取盤DK上的數(shù)據(jù)或者在網(wǎng)絡(luò)NW上的數(shù)據(jù),以及存儲N個FlexMux分組數(shù)據(jù)單元(=FM-PDU);-一個FlexMux線程(FMX),用于讀取在一個FM-PDU緩沖器中的這些FM-PDU,存儲N個訪問單元層分組數(shù)據(jù)單元(=AL-PDU)以及重構(gòu)N個訪問單元,F(xiàn)lexMux FMX和基本流ELS在該實現(xiàn)中被組織在一個單一的線程中。
-一個譯碼器線程(DEC),用于利用該譯碼器的訪問單元(AU)建立N個幀。
這些線程中的每一個彼此相互獨立。如圖1所示,將該緩沖器實現(xiàn)為沒有任何固定長度的隊列,即作為FIFO(先進先出)存儲器(因此推薦控制這些緩沖器的狀態(tài)以避免使得緩沖器過大或使得任務(wù)沒有緩沖器可用)。
然而,這些任務(wù)必須使用所謂的同步原語相互監(jiān)視,這是通過信號量(或計數(shù)器)而進行的,使得不同的線程具有較高的效率。由操作系統(tǒng)提供的這些信號量的每一個控制該多路分解器中的每個相應(yīng)的緩沖器(FM-PDU,AL-PDU,AU)。對于每個譯碼器,也有一個控制該譯碼器緩沖器的信號量,以及在該AU緩沖器變得太大時通知該TransMux必須停止下來的另外一個信號量。
這些動作描述在圖2中,圖2示出了利用信號量的控制管理。步驟(1)和(2)對應(yīng)于下列測試(1)“如果N大于0,則工作”,以及(2)“如果N大于Max,則停止”。
根據(jù)該操作系統(tǒng)的同步功能,根據(jù)下列的緩沖器管理策略執(zhí)行這一控制功能(a)在運行時由TransMux TMX進行讀取在本地磁盤DK中的數(shù)據(jù)或者在網(wǎng)絡(luò)NW上的數(shù)據(jù),這是第一操作;(b)該FlexMux FMX監(jiān)視TransMux TMX;(c)該基本流ELS監(jiān)視FlexMux FMX;(d)在AU出現(xiàn)在AU緩沖器中時該實時譯碼進程啟動;(e)該TransMux TMX的調(diào)節(jié)由控制該AU緩沖器不在臨界狀態(tài)的AU反饋信號量進行。
該緩沖器管理策略的原則是使該緩沖器的規(guī)模盡可能地小。在AL-PDU的數(shù)量足以重構(gòu)一個AU時,就要立即進行這種重構(gòu)。從而總是有用于譯碼的數(shù)據(jù)。
另外,一個重要之處是考慮所使用的TransMux的類型??梢詤^(qū)別兩類TransMux一種是較慢的(網(wǎng)絡(luò)訪問),一種是快速的(磁盤訪問)。磁盤的訪問快速,并且在延遲方面是穩(wěn)定的,采用這種訪問,就不需要在不同的緩沖器中存儲許多數(shù)據(jù),因為不會出現(xiàn)丟失,并且該最大臨界值可以相當(dāng)?shù)?。相反,網(wǎng)絡(luò)訪問引入許多延遲(例如因特網(wǎng)),因此在緩沖器中存儲較多的數(shù)據(jù)以便不使該譯碼器處于等待狀態(tài)是重要的。
然而在有多于一個譯碼器的情況下,必須指出的是只有在所有AU緩沖器已到達該臨界最大值時才停止該TransMux,以便不使譯碼線程處于等待狀態(tài)(因此假定該多路復(fù)用策略已經(jīng)為該目的在發(fā)送側(cè)進行了改造)。
權(quán)利要求
1.一種MPEG-4系統(tǒng)一致的體系結(jié)構(gòu),其特征在于其被進一步分成多個關(guān)鍵模塊,由一個多線程操作系統(tǒng)管理的一個具體任務(wù)被分配給所述體系結(jié)構(gòu)的每一部件,以及根據(jù)由該多線程操作系統(tǒng)提供的特殊的同步原語優(yōu)化對緩沖器管理的策略。
2.根據(jù)權(quán)利要求1的體系結(jié)構(gòu),其特征在于該MPEG-4多路分解器被分成三級不同的進程第一級是TransMux,其用于讀取在一個本地磁盤上的數(shù)據(jù)或者在一個網(wǎng)絡(luò)上的數(shù)據(jù),并且按照分組數(shù)據(jù)單元存儲該數(shù)據(jù);第二級是FlexMux,其用于讀取所述分組數(shù)據(jù)單元,以及存儲訪問單元層分組數(shù)據(jù)單元;以及第三級,用于重構(gòu)訪問單元。
3.根據(jù)權(quán)利要求2的體系結(jié)構(gòu),其特征在于每個進程彼此相互獨立,為了彼此相互監(jiān)視,通過控制每個緩沖器的信號量由所述操作系統(tǒng)提供同步原語,以使得該緩沖器的大小被保持得盡可能地小的。
全文摘要
本發(fā)明涉及一種MPEG-4系統(tǒng)一致的體系結(jié)構(gòu),該體系結(jié)構(gòu)被分成多個關(guān)鍵模塊,所述關(guān)鍵模塊具有的特定的任務(wù)由一個多線程操作系統(tǒng)管理。該MPEG-4多路分解器被分成三級進程。每一進程之間相互獨立,但由操作系統(tǒng)以控制緩沖器的信號量的形式提供同步原語,以將緩沖器的規(guī)模保持得盡可能地小。該發(fā)明可應(yīng)用于所有種類的工業(yè)MPEG-4設(shè)備(桌面設(shè)備,機頂盒)。
文檔編號H04N7/50GK1256047SQ99800066
公開日2000年6月7日 申請日期1999年1月14日 優(yōu)先權(quán)日1998年1月27日
發(fā)明者P·根特里克, L·赫爾曼恩 申請人:皇家菲利浦電子有限公司