專利名稱:用于轉(zhuǎn)換數(shù)據(jù)流的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于將復(fù)用的數(shù)據(jù)流從一種復(fù)用格式轉(zhuǎn)換成另一種復(fù)用格式(復(fù)用轉(zhuǎn)換)的方法和裝置。本發(fā)明找到了特定的應(yīng)用,例如將視頻和音頻流從一個(gè)節(jié)目流格式復(fù)用轉(zhuǎn)換成一個(gè)符合MPEG-2規(guī)范(ITU-T建議H.222.0|ISO/IEC 13818-1)的傳輸流格式。
上面提到的MPEG-2標(biāo)準(zhǔn)指定了用于多媒體復(fù)用、同步和時(shí)基恢復(fù)的一般方法。該規(guī)范提供了一個(gè)基于分組的多媒體復(fù)用,其中每一種基本比特流(視頻、音頻、其它數(shù)據(jù))被分割成一個(gè)分組化的基本流(PES),之后各自的分組被復(fù)用成兩種不同流類型中的任一種。節(jié)目流(PS)是可變長PES分組的復(fù)用,它被設(shè)計(jì)用于無差錯(cuò)的環(huán)境,例如在盤上錄制。傳輸流(TS)包括188字節(jié)的固定長度的分組,具有復(fù)用多個(gè)節(jié)目的功能和復(fù)用一個(gè)節(jié)目內(nèi)不同PES分組的功能,并且它被設(shè)計(jì)用于易出錯(cuò)的環(huán)境,例如廣播。多媒體同步和時(shí)基恢復(fù)通過使用用于系統(tǒng)時(shí)鐘和表達(dá)/解碼的時(shí)間戳來獲得。
因?yàn)槊糠N流類型在不同環(huán)境下都有優(yōu)點(diǎn)和缺點(diǎn),所以MPEG-2規(guī)范認(rèn)識(shí)到最好在兩種格式之間進(jìn)行轉(zhuǎn)換。然而,由于這兩種格式之間的差別,特別是定義諸如緩沖區(qū)大小、時(shí)延、數(shù)據(jù)速率等等約束條件的“目標(biāo)解碼器”模型之間的差別,不同基本流不能在一種格式下被安排成與在另一種格式下一樣。所以當(dāng)從一種流類型轉(zhuǎn)換到另一種流類型時(shí),需要解復(fù)用和重新復(fù)用該基本流數(shù)據(jù)。這也是TS廣播中通常缺乏將一種結(jié)構(gòu)置于PS數(shù)據(jù)內(nèi)用于隨機(jī)接入、編輯等的系統(tǒng)信息的原因。
EP-A-0 833 514(索尼)建議了一個(gè)記錄器/播放器裝置和表達(dá)(顯示裝置)的系統(tǒng)。該播放器,例如,從一個(gè)盤上讀取PS格式數(shù)據(jù)并將它轉(zhuǎn)換成TS格式來顯示。另一方面,它的實(shí)施方案中出現(xiàn)的緩沖區(qū)大小看來并不能說明不同的約束條件,即要求重新調(diào)度不同的基本流以便從一個(gè)有效的PS格式轉(zhuǎn)換成一個(gè)有效的TS格式。事實(shí)上,可以看到TS規(guī)范本身提出的約束條件就需要一個(gè)緩沖器用于至少一秒鐘的視頻信息,以及需要與從擦痕(scratch)構(gòu)成流所需的一樣的處理效果。
本發(fā)明的目的是當(dāng)在例如MPEG節(jié)目流和傳輸流的格式之間轉(zhuǎn)換數(shù)據(jù)流時(shí),減少計(jì)算負(fù)荷和/或所需的存儲(chǔ)空間。應(yīng)理解本發(fā)明可應(yīng)用于MPEG-2兼容流的嚴(yán)格的限制之外,因?yàn)楫?dāng)在任何兩個(gè)格式之間轉(zhuǎn)換復(fù)用的流時(shí)通常會(huì)產(chǎn)生類似的問題。
本發(fā)明人已認(rèn)識(shí)到盡管從一種格式轉(zhuǎn)換成另一種格式時(shí)重新調(diào)度是不可避免的,但是源格式中固有的約束條件能被利用以便減少緩沖的大小,和/或轉(zhuǎn)換中所需的處理量。
本發(fā)明提供了一種將具有節(jié)目流(PS)格式的輸入數(shù)據(jù)流轉(zhuǎn)換成具有傳輸流(TS)格式的輸出數(shù)據(jù)流的方法,該方法包括(a)從所述的輸入數(shù)據(jù)流中讀取連續(xù)的數(shù)據(jù)塊,該輸入數(shù)據(jù)流包括按照一個(gè)PS解碼器模型來形成和復(fù)用的第一和第二基本數(shù)據(jù)流的數(shù)據(jù);(b)在第一和第二隊(duì)列結(jié)構(gòu)中分別累積第一和第二基本流的數(shù)據(jù);(c)建立一個(gè)TS目標(biāo)解碼器模型,該模型包括假設(shè)的第一和第二緩沖器分別用于第一和第二基本流;(d)參考所述的目標(biāo)解碼器模型,生成一連串傳輸分組以形成所述的輸出數(shù)據(jù)流,用于以所述的TS格式傳送該第一和第二數(shù)據(jù)流;以及(e)更新位于所述TS目標(biāo)解碼器內(nèi)的假設(shè)的第一緩沖器和第二緩沖器的狀態(tài)以響應(yīng)每個(gè)生成的傳輸分組和預(yù)定的所述解碼器模型的屬性;其中,每個(gè)傳輸分組包括來自第一隊(duì)列或第二隊(duì)列,或者不屬于這兩個(gè)隊(duì)列的數(shù)據(jù),這要取決于輸入數(shù)據(jù)流內(nèi)所述基本流的調(diào)度和所述TS目標(biāo)解碼器模型內(nèi)第一和第二緩沖器的狀態(tài),其中,該方法包括當(dāng)在目標(biāo)解碼器模型內(nèi)缺少空位給所述的第二基本流的數(shù)據(jù)的情況下,所述輸入數(shù)據(jù)流的時(shí)鐘參考超過所述輸出數(shù)據(jù)流的時(shí)鐘參考一個(gè)預(yù)定的等待門限值時(shí),禁止從該流中讀取另外的數(shù)據(jù)塊。
本發(fā)明還提供一種方法,其中在PS格式下,至少所述第一和第二基本流數(shù)據(jù)已被編碼、分割成帶分組頭的基本流分組,且分組被整體交織,而在TS格式下,這樣的基本流分組被進(jìn)一步細(xì)分成多個(gè)更小的傳輸分組,且第一和第二基本流的傳輸分組彼此交織并和攜帶不是來自這兩個(gè)流的數(shù)據(jù)的傳輸分組相交織。
在這里所描述的本發(fā)明的實(shí)施方案中,在輸入和輸出流中同樣地將每個(gè)基本流細(xì)分成基本流分組。
在本發(fā)明的實(shí)施方案中,TS格式的數(shù)據(jù)流可以有恒定的數(shù)據(jù)速率,所述的傳輸分組有統(tǒng)一大小和周期。
在本發(fā)明的實(shí)施方案中,輸入流能夠以塊為單位來讀取,每個(gè)塊包括至少一個(gè)完整基本流分組,且只能包含來自一個(gè)基本流的分組。
在本發(fā)明的實(shí)施方案中,每個(gè)塊可以包含一個(gè)PS傳送時(shí)間碼,一個(gè)TS傳輸時(shí)間碼最初與PS傳送時(shí)間碼同步并提前于每一傳輸分組的生成。
在本發(fā)明的一個(gè)實(shí)施方案中,PS和TS格式定義的約束條件為(i)在具有一個(gè)公共表達(dá)時(shí)間的第一和第二基本流內(nèi)各個(gè)表達(dá)單元的傳送時(shí)間之間的最大時(shí)間差(“偏差”);以及以下至少其中之一(ii)用于在傳送和解碼之間緩沖每個(gè)基本流數(shù)據(jù)的容量;以及(iii)按一個(gè)存取單元的等級(jí)從傳輸流傳送每個(gè)基本流數(shù)據(jù)到緩沖器用于解碼的速率。
在一個(gè)特定的實(shí)施方案中,對(duì)第二基本流來說,在TS格式下所述緩沖器的約束條件(ii)比在PS格式下所述緩沖器的約束條件(ii)要嚴(yán)格,所述的等待門限值足夠容納一些額外數(shù)據(jù),該數(shù)據(jù)對(duì)應(yīng)于PS目標(biāo)解碼器中緩沖器內(nèi)所能容納的數(shù)據(jù)和TS目標(biāo)解碼器中所能容納的數(shù)據(jù)之差。
在另一個(gè)實(shí)施方案中,對(duì)第二基本流來說,在TS格式下所述的最小速率約束條件(iii)比在PS格式下所述的最小速率約束條件(iii)要嚴(yán)格,所述的等待門限值足夠允許額外的時(shí)間用于傳輸?shù)诙玖鲀?nèi)的一個(gè)存取單元,該額外的時(shí)間對(duì)應(yīng)于用于傳送PS格式約束條件內(nèi)的這樣一個(gè)存取單元的最短可能時(shí)間和用于傳送TS格式約束條件內(nèi)的相同存取單元的最長可能時(shí)間之差。
PS和TS格式可以允許在所述的第二基本流內(nèi)實(shí)現(xiàn)不同的編碼參數(shù)以便改變被傳送數(shù)據(jù)的數(shù)量和每個(gè)存取單元的表達(dá)周期或兩者之一,而所述的等待門限值依照允許的編碼參數(shù)中所需的最大額外時(shí)間是固定的。
在這里所描述的本發(fā)明的特定實(shí)施方案中,等待門限值可以小于節(jié)目流中允許偏差的五分之一。
在一個(gè)特定的實(shí)施方案中,存取單元包括一個(gè)壓縮了的音頻幀。
本發(fā)明還提供一種方法,該方法用于重新復(fù)用第一和第二基本流數(shù)據(jù)以便生成一個(gè)符合第二預(yù)定的目標(biāo)解碼器模型的傳輸分組的連續(xù)流,所述的第一和第二流的數(shù)據(jù)先前已經(jīng)依照一個(gè)不同的、第一預(yù)定的目標(biāo)解碼器模型被復(fù)用,其中假設(shè)所述的讀取被判別超前于重新復(fù)用第二基本流的進(jìn)程足夠遠(yuǎn)以補(bǔ)償?shù)谝缓偷诙繕?biāo)解碼器模型之間的差別,則所述的數(shù)據(jù)按要求從一個(gè)輸入信道中被讀取并且該數(shù)據(jù)的讀取通過參考重新復(fù)用第二基本流的進(jìn)程被限制,而與第二目標(biāo)解碼器模型中給第一個(gè)流的數(shù)據(jù)的空位無關(guān)。
在本發(fā)明的一個(gè)實(shí)施方案中,第一和第二目標(biāo)解碼器模型中的每一個(gè)都為每一基本流定義了一個(gè)有限大小的相應(yīng)緩沖器用于要解碼的數(shù)據(jù),其中至少對(duì)第二基本流來說,TS目標(biāo)解碼器內(nèi)的緩沖器小于PS目標(biāo)解碼器內(nèi)的緩沖器。
在本發(fā)明的一個(gè)實(shí)施方案中,第一基本流的平均數(shù)據(jù)速率基本上大于第二基本流的平均數(shù)據(jù)速率。
在此處描述的特定的實(shí)施方案中,第一基本流的數(shù)據(jù)包括已編碼的視頻圖像而第二基本流的數(shù)據(jù)包括已編碼的音頻幀。
本發(fā)明還提供將一個(gè)具有節(jié)目流(PS)格式的輸入數(shù)據(jù)流轉(zhuǎn)換成一個(gè)具有傳輸流(TS)格式的輸出數(shù)據(jù)流的方法,其中TS格式符合MPEG-2傳輸流規(guī)范,而所述的PS格式符合MPEG-2節(jié)目流規(guī)范,兩者都在ITU-T建議H.222.0和150/IEC13818-1中被定義。
本發(fā)明提供一種方法,該方法再生一個(gè)錄制的音視頻節(jié)目,其中一個(gè)PS格式的數(shù)據(jù)流從一個(gè)數(shù)據(jù)信道中被讀取,并通過上面描述的方法轉(zhuǎn)換成TS格式,經(jīng)另一個(gè)信道送入一個(gè)TS兼容的解碼器。
在本發(fā)明的一個(gè)實(shí)施方案中,該信道包括在一個(gè)錄制載體上所述的輸入數(shù)據(jù)流的錄制。
本發(fā)明還提供設(shè)備,該設(shè)備包括特別適合于實(shí)現(xiàn)上述的根據(jù)本發(fā)明的任一種方法的裝置。這種設(shè)備例如可以形成一個(gè)獨(dú)立的解碼器設(shè)備(機(jī)頂盒),一個(gè)表達(dá)設(shè)備(例如一臺(tái)電視機(jī))或一個(gè)錄制和再生設(shè)備(數(shù)字VCR)中的一部分。
除上面標(biāo)識(shí)出的那些特征和優(yōu)點(diǎn)外,本發(fā)明的其它特征和優(yōu)點(diǎn)以及本發(fā)明的許多變體和修改對(duì)有技術(shù)的讀者而言通過思考下面特定實(shí)施方案的描述將會(huì)很清楚。
附圖
簡(jiǎn)述現(xiàn)在僅通過例子并參考附圖來描述本發(fā)明的實(shí)施方案,其中圖-1舉例說明了一個(gè)應(yīng)用本發(fā)明實(shí)施方案的數(shù)字視頻娛樂系統(tǒng)的例子;圖-2舉例說明了傳輸流(TS)格式中的數(shù)據(jù)格式;圖-3舉例說明了節(jié)目流格式中的數(shù)據(jù)格式;圖-4示出按照本發(fā)明的一個(gè)實(shí)施方案,將一個(gè)PS格式信號(hào)轉(zhuǎn)換成TS格式的關(guān)鍵數(shù)據(jù)路徑和功能塊;圖-5舉例說明了一個(gè)不使用輸入流約束條件知識(shí)的假設(shè)的調(diào)度進(jìn)程;圖-6舉例說明了按照本發(fā)明的一個(gè)實(shí)施方案的一種調(diào)度方法。
實(shí)施方案詳述示例系統(tǒng)圖-1舉例說明了一個(gè)家用數(shù)字視頻娛樂系統(tǒng)的例子,該系統(tǒng)包括一個(gè)數(shù)字電視調(diào)諧器100、一個(gè)“機(jī)頂盒”102用于解碼數(shù)字視頻信號(hào)并控制接入到付費(fèi)信道等等、一個(gè)數(shù)字視頻回放和錄制設(shè)備104,例如一個(gè)已知的光盤視頻系統(tǒng)或未來的DVR錄像機(jī)、以及存儲(chǔ)媒體本身(盤106)。在此例中,一臺(tái)傳統(tǒng)的模擬電視機(jī)108用于該配置中以顯示來自衛(wèi)星、有線或地面廣播的圖像,或來自盤106上記錄的圖像。在數(shù)字調(diào)諧器100和機(jī)頂盒102之間,MPEG兼容的傳輸流(TS)格式信號(hào)攜帶多個(gè)數(shù)字電視頻道,其中一些頻道可被加擾以便用特定條件接入(付費(fèi)電視)的設(shè)備來解碼。標(biāo)準(zhǔn)的數(shù)字廣播格式,例如DVB、ATSC和ARIB是MPEG-2傳輸流格式的特定應(yīng)用。
機(jī)頂盒102也從傳輸流TS內(nèi)解碼一個(gè)想要的節(jié)目,以提供模擬的音視頻信號(hào)給電視機(jī)108。這些模擬信號(hào)當(dāng)然能被一臺(tái)傳統(tǒng)的錄像機(jī)(VCR)錄制。另一方面,為了獲得最佳質(zhì)量和功能,直接的數(shù)字到數(shù)字錄像機(jī)例如已知的光盤視頻系統(tǒng)或DVR錄像機(jī)104是優(yōu)選的。這要經(jīng)一個(gè)數(shù)字接口例如IEEE1394(“火線”)與機(jī)頂盒相連。它攜帶“部分TS”,其中選定的節(jié)目與更大的TS復(fù)用相分離,且仍以TS格式來表達(dá)。另一方面,為了利用增強(qiáng)的目錄結(jié)構(gòu)和隨機(jī)接入的特征,播放器/錄制器104被安排將TS格式轉(zhuǎn)換成PS格式以便錄制在盤106上,并將錄制在盤106上的PS格式流轉(zhuǎn)換成部分的TS格式以便經(jīng)數(shù)字接口和機(jī)頂盒102在電視機(jī)108上進(jìn)行回放。
本說明主要涉及從節(jié)目流(PS)格式轉(zhuǎn)換成傳輸流(TS)格式的過程,而另一方向上的轉(zhuǎn)換是當(dāng)前共同未決的另一申請(qǐng)的主題,該申請(qǐng)的標(biāo)題為“Method and Apparatus for Converting DataStreams(用于轉(zhuǎn)換數(shù)據(jù)流的方法和裝置)”,且其要求于1999年12月30日提交的英國第9930788.6號(hào)專利申請(qǐng)的優(yōu)先權(quán)(PHB34446)。在詳細(xì)研究應(yīng)用于這兩種格式之間有效轉(zhuǎn)換的技術(shù)之前,將參考圖-2和圖-3詳細(xì)描述這兩種格式。
傳輸流(TS)格式圖-2舉例說明了MPEG-2傳輸流(TS)格式的關(guān)鍵特征和結(jié)構(gòu)。在圖中,傳輸流TS是一個(gè)以T-PKT為標(biāo)記的傳輸分組的連續(xù)流,每一T-PKT包括188字節(jié)的數(shù)據(jù),并具有示于圖頂部的格式。MPEG-2傳輸流的全部細(xì)節(jié),包括語法、語義和適用的約束條件可以在ITU-T建議H.262|ISO/IEC13818-12中找到。關(guān)于MPEG-2系統(tǒng)的信息可在網(wǎng)上http//www.mpeg.org處獲得。簡(jiǎn)要來說,每個(gè)傳輸分組包括一個(gè)頭標(biāo)部分和一個(gè)凈荷部分,該凈荷在圖中用字節(jié)DAT-0到DAT-N來指示。頭標(biāo)起始于一個(gè)特殊的同步字節(jié)SYNC,后面跟著各種標(biāo)志和控制字段,包括一個(gè)傳輸錯(cuò)誤指示器TEI、一個(gè)凈荷單元起始指示器USI、一個(gè)傳輸優(yōu)先級(jí)指示器TPI、一個(gè)分組標(biāo)識(shí)PID、傳輸加擾控制字段TSC、適配字段控制AFC和連續(xù)計(jì)數(shù)器CC。根據(jù)字段AFC的內(nèi)容,可以存在一個(gè)適配字段AF,占據(jù)否則將分配給凈荷數(shù)據(jù)的一些空間。
在DVB數(shù)字廣播格式的例子中,TS流的數(shù)據(jù)速率大約為40(Mbits/s),而一個(gè)音視頻節(jié)目的典型的數(shù)據(jù)速率要小于10Mbits/s。因此,如示于圖-2中的TS,各個(gè)節(jié)目PROG1、PROG3可被多路復(fù)用進(jìn)單個(gè)傳輸流。每個(gè)傳輸分組的PID字段指示該分組涉及的一個(gè)基本流,這些以傳輸分組為單位的分組與其它多個(gè)流交織。一個(gè)節(jié)目可以包括例如一個(gè)視頻流(在例中PID=‘005’),一個(gè)音頻流(PID=‘006’)和圖文電視數(shù)據(jù)流(PID=‘007’)。PID值和節(jié)目間的對(duì)應(yīng)關(guān)系以及與各個(gè)PID一起被攜帶的數(shù)據(jù)類型以節(jié)目特定信息(PSI)表的形式來保存。在傳輸流內(nèi)一個(gè)節(jié)目聯(lián)系表PAT被周期性地?cái)y帶在一個(gè)PID=0的特定的傳輸分組流內(nèi)。PAT進(jìn)而又向PROG1,PROG3等等指示,哪個(gè)流攜帶一個(gè)節(jié)目映射表PMT,該表列舉了涉及單個(gè)節(jié)目的全部不同的PID值,并描述了每個(gè)節(jié)目(視頻、音頻、可選的語言音頻等等)的內(nèi)容。這些表和用于控制目的的其它數(shù)據(jù)在此稱為系統(tǒng)信息。
為了從傳輸流中再生或錄制一個(gè)給定的節(jié)目(PROG1),具有那個(gè)PID的連續(xù)的傳輸分組的凈荷DAT-0到DAT-N連接成一個(gè)流,并且這個(gè)流攜帶分組化的基本流分組PES-PKT,它們?cè)贛PEG-2規(guī)范中進(jìn)一步被定義。每個(gè)PES分組起始于一個(gè)特殊的分組起始碼前綴PSCP。在PES分組頭中,接下來是一個(gè)流標(biāo)識(shí)符SID用來標(biāo)識(shí)基本流的類型(例如視頻、音頻、填充流或?qū)S辛?。PES分組沒有一個(gè)固定長度,除非在一個(gè)特定的應(yīng)用中指定,一個(gè)PES分組長度字段LEN指定在PES分組中的字節(jié)數(shù)。然后接下來是不同的控制和標(biāo)志字段C&F,包括例如一個(gè)數(shù)據(jù)對(duì)準(zhǔn)指示器DAI和一個(gè)頭標(biāo)長度字段HLEN。接著根據(jù)C&F字段內(nèi)相關(guān)標(biāo)志的值,在頭標(biāo)HDAT內(nèi)存在各種可選擇的字段,例如可存在一個(gè)表達(dá)時(shí)間戳PTS用于通過參考一個(gè)系統(tǒng)時(shí)鐘來指定在當(dāng)前PES分組內(nèi)開始的一個(gè)“表達(dá)單元”(圖像、音頻幀等等)何時(shí)到期應(yīng)被呈現(xiàn)。在某種情況下,表達(dá)單元以一種不同于它們表達(dá)次序的順序來解碼,在這種情況下,解碼時(shí)間戳DTS也應(yīng)存在。
具有相同SID的連續(xù)PES分組的凈荷PY-O到PY-N形成一個(gè)示意性地示于圖-2中ES的數(shù)據(jù)的連續(xù)基本流。在一個(gè)視頻基本流ES-VIDEO的情況下,存在剪輯的多個(gè)圖像序列SEQ,每個(gè)SEQ都在它的起始包括一個(gè)序列頭SEQH。解碼器的不同參數(shù)包括量化矩陣、緩沖器大小等都在序列頭中指定。因此,視頻流的正確的回放只能通過在序列頭的位置處啟動(dòng)解碼器來獲得。每個(gè)序列的數(shù)據(jù)內(nèi)是視頻數(shù)據(jù)的一個(gè)或多個(gè)“存取單元”,每一單元對(duì)應(yīng)一幅圖像(取決于應(yīng)用可以是場(chǎng)或幀)。每幅圖像的前面是一個(gè)圖像起始碼PSC。一組圖像GOP的前面是一個(gè)組起始碼GSC,后面都跟著一個(gè)特定的序列頭SEQH。
眾所周知,MPEG-2和其它現(xiàn)代數(shù)字格式的圖像都通過彼此參考來被編碼以便減少時(shí)間冗余。運(yùn)動(dòng)補(bǔ)償從一個(gè)相鄰圖像或圖像組的已解碼的圖像內(nèi)容來提供一個(gè)圖像內(nèi)容的估計(jì)。所以一組圖像GOP可包括一個(gè)幀內(nèi)編碼“I”幀,它不參考其它圖像的編碼;“P”(預(yù)測(cè))編碼圖像,它利用基于前面一個(gè)I幀的運(yùn)動(dòng)矢量來編碼;和雙向預(yù)測(cè)“B”圖像,它通過從序列中其前和其后的I和/或P幀進(jìn)行預(yù)測(cè)編碼。一幅B圖像所需的數(shù)據(jù)量少于一幅P圖像所需的數(shù)據(jù)量,后者進(jìn)而又少于一幅I圖像所需的數(shù)據(jù)量。另一方面,因?yàn)镻和B圖像只通過參考其它圖像來編碼,所以只有I圖像提供一個(gè)給定序列的起動(dòng)回放實(shí)際進(jìn)入點(diǎn)。還有,應(yīng)注意到GOP數(shù)據(jù),在對(duì)應(yīng)的B圖像編碼之前對(duì)I和P圖像進(jìn)行編碼,解碼之后重新排序以便獲得正確的表達(dá)順序。因此,B和P圖像就是表達(dá)時(shí)間戳PTS和解碼時(shí)間戳DTS不同的例子。
最后,在圖-2中,示出一個(gè)音頻基本流ES-AUDIO的表達(dá)。它包括簡(jiǎn)化的帶有幀起始碼的數(shù)據(jù)FRM幀。允許有不同的音頻格式,在抽樣速率(32kHz,48kHz等等)還有數(shù)據(jù)速率(例如每秒32kbit,或可變值)方面改變。視音頻流的這些或其它屬性被編碼進(jìn)節(jié)目特定信息PSI和PES分組頭中。
具有相同表達(dá)時(shí)間戳PTS的音頻幀和視頻圖像是那些將在解碼器的輸出中被同時(shí)給出的幀和圖像。另一方面,對(duì)來自不同基本流的數(shù)據(jù)分組的調(diào)度有更大的自由度,這樣具有相同PTS值的音頻和視頻存取單元能夠在傳輸流TS中最多相隔一秒到達(dá)。
節(jié)目流(PS)格式圖-3舉例說明了指定給MPEG信號(hào)的另一主要格式類型,節(jié)目流(PS)。在圖的頂部示出,PS傳送與圖-2舉例說明的傳輸流相同的基本流ES-視頻和ES-音頻,并且還是以PES分組PES-PKT的格式。節(jié)目流不是正好如TS地分隔和分組化,并且通常只攜帶單個(gè)表達(dá)所需的流。整個(gè)PES分組PES-PKT被打包在一個(gè)或多個(gè)組中形成節(jié)目流包PACK,該節(jié)目流包帶有一個(gè)基本頭,包括一個(gè)特殊的包起始碼PSC、一個(gè)系統(tǒng)時(shí)鐘參考時(shí)間戳SCR和一個(gè)節(jié)目_復(fù)用_速率指示PMR,該速率是節(jié)目流PS打算傳向一個(gè)解碼器時(shí)的比特率。一個(gè)典型的節(jié)目_復(fù)用_速率,例如在已知的光盤視頻系統(tǒng)規(guī)范中,是10.08Mbits/s??蛇x地,一個(gè)節(jié)目流包包括填充的STF和一個(gè)系統(tǒng)頭標(biāo)SYSH。正如圖-3頂部舉例說明的,在任何視頻包V或音頻流包A1、A2等等被發(fā)送之前,節(jié)目流起始于一個(gè)大的系統(tǒng)頭標(biāo),該頭標(biāo)指定編碼和解碼器的各個(gè)參數(shù)、序列頭目錄和它們的位置,例如在攜帶節(jié)目流的一張盤上或其它存儲(chǔ)媒體,以便解碼器被正常設(shè)置來解碼一個(gè)特定節(jié)目。由于沒有帶PID碼的傳輸分組結(jié)構(gòu),所以在節(jié)目流的PES分組中的流標(biāo)識(shí)符SID來指定攜帶在給定PES分組內(nèi)的基本流類型,并且如有必要,還指定攜帶的是此類型的幾個(gè)流中的哪一個(gè)流(音頻1、音頻2等等),以便找到正確的那一個(gè)流并傳到解碼器。在系統(tǒng)頭標(biāo)SYSH中的系統(tǒng)信息提供進(jìn)一步的描述。
如已知的光盤視頻系統(tǒng)的應(yīng)用指定節(jié)目流中的每個(gè)包只攜帶一個(gè)節(jié)目流的PES分組,并且實(shí)際上典型地是每個(gè)包攜帶單個(gè)PES分組。在一張光盤或類似的錄制媒體上進(jìn)行存儲(chǔ)的情況下,每個(gè)PES包一般對(duì)應(yīng)一個(gè)檢索單元或盤文件結(jié)構(gòu)的“扇區(qū)”。通常,MPEG-2標(biāo)準(zhǔn)允許不同類型和數(shù)量的PES分組混合在各個(gè)包內(nèi),且包的大小允許在其它應(yīng)用中改變。
系統(tǒng)目標(biāo)解碼器為了確保一個(gè)真正解碼器的緩沖和其它方面能夠在不中斷被傳送的音視頻節(jié)目的情況下來解碼每種類型的流,MPEG-2標(biāo)準(zhǔn)指定了一個(gè)傳輸流“系統(tǒng)目標(biāo)解碼器”(T-STD)模型和一個(gè)節(jié)目流系統(tǒng)目標(biāo)解碼器(P-STD)模型。廣義地講,每個(gè)系統(tǒng)目標(biāo)解碼器是一個(gè)假定的真正解碼器的模型,該解碼器包含用于解復(fù)用TS或PS格式的不同基本流的裝置、包含用于音頻、視頻和系統(tǒng)控制類型數(shù)據(jù)中各種數(shù)據(jù)的解碼器、以及包含輸入流和解碼器之間的緩沖器以便在從數(shù)據(jù)信道到達(dá)的時(shí)間與解碼和表達(dá)的實(shí)際時(shí)間之間保存每個(gè)能量流的數(shù)據(jù)。
T-STD和P-STD在一般形式上是類似的,正如在MPEG-2規(guī)范中更充分解釋的那樣。然而,T-STD和P-STD之間的差別意味著,大體上,一個(gè)傳輸流不經(jīng)過至少在PES分組級(jí)上的重新調(diào)度,就不能被直接映射成一個(gè)節(jié)目流,同樣從PS到TS格式的轉(zhuǎn)換也是這樣。舉個(gè)例子,TS格式的音頻解碼器內(nèi)的緩沖器比P-STD內(nèi)的緩沖器要小。另一個(gè)例子是,在T-STD內(nèi)的每個(gè)主緩沖器之前是一個(gè)傳輸緩沖器,其作用是平滑傳輸流自身中有些“突發(fā)的”數(shù)據(jù)。而一個(gè)給定流的數(shù)據(jù)可能以40Mbits/s峰值速率的幾個(gè)傳輸分組突發(fā)到達(dá),當(dāng)考慮到整個(gè)傳輸流的復(fù)用時(shí),這樣一個(gè)流的平均速率低得很。假定有數(shù)據(jù)要傳進(jìn)主緩沖器時(shí),給傳輸緩沖器定義一個(gè)“漏出速率”以便將輸入的數(shù)據(jù)調(diào)節(jié)到2Mbits/s的速率。
從節(jié)目流到傳輸流的轉(zhuǎn)換圖-4舉例說明了用于將已知的光盤視頻系統(tǒng)回放的節(jié)目流復(fù)用轉(zhuǎn)換成圖-1所舉應(yīng)用中的數(shù)字電視解碼器102所需的DVB標(biāo)準(zhǔn)傳輸流的基本方法。已知的光盤視頻系統(tǒng)節(jié)目流被分成適合2048字節(jié)扇區(qū)(PS包)的PES分組。每一扇區(qū)起始于一個(gè)包頭標(biāo),攜帶該包的SCR。每一包攜帶單種數(shù)據(jù)類型的一個(gè)PES分組和可選地一個(gè)填充分組。(一個(gè)已知的攜帶MPEG-2音頻的光盤視頻系統(tǒng)流是一個(gè)例外——基本和擴(kuò)展分組可在一個(gè)包內(nèi)交織。)分析已知的光盤視頻系統(tǒng)PES分組非常簡(jiǎn)單。已知的光盤視頻系統(tǒng)PES分組結(jié)構(gòu)可在整個(gè)復(fù)用轉(zhuǎn)換過程中保持,因?yàn)橐阎墓獗P視頻系統(tǒng)對(duì)PES分組結(jié)構(gòu)的約束條件比DVB加在要生成的傳輸流上的約束條件(類似ATSC等等)嚴(yán)得多。另—方面,應(yīng)理解此處提出的技術(shù)一般能夠經(jīng)合適的適配被應(yīng)用于MPEG-2兼容的流,以及以其它具有相似屬性的格式攜帶的數(shù)據(jù)的分組化基本流。
總之,輸入的已知光盤視頻系統(tǒng)流PS(來自圖-1例子中的盤106)在402處被分析并被分成每種數(shù)據(jù)類型流-標(biāo)識(shí)符SID(視頻流404、音頻流406)的PES分組的并行流。包括在已知的光盤視頻系統(tǒng)復(fù)用中的圖形流在此不專門考慮,因?yàn)樗鼈兓蛘弑蛔儞Q碼型成MPEG視頻或者被“深印于”主要的同一視頻流中的圖像數(shù)據(jù)中,以便在解碼的圖像中顯示。然而,原則上,圖形的更多的流和/或其它的信息類型也可存在,并以與所舉例的音頻和視頻流類似的方式被處理。每一個(gè)并行的A/V PES流都分別進(jìn)入一個(gè)隊(duì)列(緩沖器)408、410。在一個(gè)調(diào)度器412的控制下,排隊(duì)的數(shù)據(jù)流接著在414被分成188字節(jié)的傳輸分組(T-PKT)并交織形成傳輸流TS,之后TS被調(diào)度并發(fā)送到播放器輸出接口。
盡管復(fù)用轉(zhuǎn)換器的關(guān)鍵功能組成部分和過程以分離的塊被示出和描述,但是應(yīng)理解此處描述的各個(gè)緩沖器和過程可在一個(gè)通用處理器和一個(gè)共享存儲(chǔ)器中實(shí)現(xiàn),也可用于播放器104或其它裝置的其它目的。同樣地,按照正常的設(shè)計(jì)考慮,特定的數(shù)字信號(hào)處理器和/或?qū)S玫挠布稍谶m當(dāng)?shù)奈恢檬褂谩?br>
現(xiàn)在將詳細(xì)描述調(diào)度器412。一個(gè)初始的想法是保持與在節(jié)目流中使用的相同的數(shù)據(jù)調(diào)度,該調(diào)度被假定為符合PS要求。在這種情況下,基本數(shù)據(jù)在傳輸流中被傳輸?shù)臅r(shí)間將與在節(jié)目流中被傳輸?shù)臅r(shí)間盡可能相同。這樣做的優(yōu)點(diǎn)是減少了對(duì)完全重新復(fù)用的需要,在該過程中MPEG STD(系統(tǒng)目標(biāo)解碼器)模型必須始終保持,且必須提供大緩沖器。不幸地是,在MPEG-2中至少有兩個(gè)約束條件使得從PS到TS不可能僅應(yīng)用同樣的調(diào)度,而同時(shí)保持符合TS格式·TS音頻緩沖器大小為3584字節(jié)。在已知的光盤視頻系統(tǒng)節(jié)目流中,它是4096字節(jié),這意味著用于音頻數(shù)據(jù)的機(jī)頂解碼器緩沖器可能會(huì)不時(shí)地溢出,而音頻抽樣會(huì)丟失。
·TS音頻STD模型具有由傳輸緩沖器的“漏出速率”定義的最大瞬時(shí)速率2Mbits/s。這可以超出512字節(jié)。已知的光盤視頻系統(tǒng)PS允許一個(gè)10.08Mbits/s(由“節(jié)目_復(fù)用_速率”定義)的最大音頻比特率持續(xù)4098字節(jié)(兩個(gè)分組)的時(shí)長。因此,已知的光盤視頻系統(tǒng)復(fù)用可能以比MPEG-2傳輸流(TS)所能傳送的更高的速率傳送更長的數(shù)據(jù)脈沖串。
這兩個(gè)限制條件提出必須分離并重新復(fù)用基本流,并按照加在輸出流上的不同的約束條件重新調(diào)度數(shù)據(jù)。因此,再次參考圖-4,調(diào)度器412保持指定用于TS格式的每個(gè)基本流的系統(tǒng)目標(biāo)解碼器(T-STD)模型416和418。應(yīng)理解這些模型實(shí)際上并不存儲(chǔ)或解碼流數(shù)據(jù)。然而,通過建立不同的計(jì)數(shù)器和列表并按照在MPEG-2系統(tǒng)標(biāo)準(zhǔn)中指定的行為不時(shí)地更新它們,模型可跟蹤數(shù)據(jù)的假設(shè)的運(yùn)動(dòng),特別是確保在一個(gè)兼容的真正解碼器中的流緩沖器不會(huì)上溢出或下溢出,使得數(shù)據(jù)不會(huì)丟失并總是能及時(shí)且以正確的順序獲得,以便解碼并表達(dá)給用戶。為此,一個(gè)TS系統(tǒng)時(shí)鐘是重新復(fù)用功能的關(guān)鍵時(shí)基,它同步于持續(xù)生成的傳輸流。輸入的節(jié)目流攜帶它自己的系統(tǒng)時(shí)鐘參考(SCR),兩者都以27MHz時(shí)鐘為單位來表達(dá)。每一TS分組周期就生成TS分組。原則上它們能在剛好需要時(shí)被生成,或可送入一個(gè)短FIFO緩沖器中以放松對(duì)分組的實(shí)際調(diào)度和生成的定時(shí)約束條件。用于下面描述目的的系統(tǒng)時(shí)鐘的當(dāng)前值就是當(dāng)前TS分組被生成的時(shí)間,與任一后續(xù)的緩沖延遲無關(guān)。
為了給基本流維持STD模型416、418,調(diào)度器也知道每一存取單元的大小,以及視頻的一些參數(shù)(幀速率、重復(fù)第一字段標(biāo)志、圖像類型等等)以便為沒有明確在PES分組頭中編碼的存取單元計(jì)算PTS/DTS。應(yīng)注意已知的光盤視頻系統(tǒng),例如只需要在每一個(gè)GOP的第一個(gè)I圖像時(shí)對(duì)PES頭標(biāo)內(nèi)的PTS/DTS進(jìn)行明確的編碼。為每一個(gè)圖像編碼PTS/DTS是非強(qiáng)迫性的并且也不普遍。同樣,具有音頻流參數(shù)(抽樣速率、幀大小等等)是有利的。
所以,盡管PES分組的內(nèi)容沒被打亂(除了例如將SID/PID重新映射成一個(gè)方便的節(jié)目結(jié)構(gòu)),仍需要在向下到圖像頭標(biāo)/擴(kuò)展/幀頭標(biāo)的級(jí)別上分析全部活動(dòng)流內(nèi)的基本數(shù)據(jù)。應(yīng)注意這些能被包含在PES分組內(nèi)的任意字節(jié)位置處,所以起始碼甚至可以在PES分組之間被分開。音頻可以是可變比特率。同樣地,盡管視頻流中的不同的起始碼在MPEG-兼容的比特流中是唯一的,但是音頻同步碼可在較小概率下在音頻凈荷數(shù)據(jù)內(nèi)模擬。所以分析音頻流需要一個(gè)狀態(tài)機(jī)方法來確認(rèn)幾個(gè)幀上的同步,而不是簡(jiǎn)單地掃描一個(gè)唯一的比特組合。
調(diào)度器412方法1現(xiàn)在描述第一個(gè)示例過程(“方法1”)用于確定何時(shí)發(fā)送TS分組,以及來自哪一個(gè)基本流。這個(gè)過程能應(yīng)用在節(jié)目流從例如盤上以比實(shí)時(shí)更快地速度被讀取時(shí)。它也能應(yīng)用在PS必須被實(shí)時(shí)處理時(shí),例如當(dāng)它經(jīng)一個(gè)接口被傳送時(shí),但是在這種情況下重新復(fù)用器插進(jìn)多達(dá)1秒的時(shí)延。方法1優(yōu)于方法2(圖-6,見下)之處是簡(jiǎn)單,但卻使用更多的存儲(chǔ)器用于中間隊(duì)列并且如果PS被實(shí)時(shí)傳送則需要更多的時(shí)延。
圖-5以一個(gè)流程圖的形式示出了調(diào)度器的過程。這個(gè)流程圖的一個(gè)主循環(huán)為每個(gè)TS分組周期至少執(zhí)行一次,并且實(shí)際上該主循環(huán)或在它里面的子過程在每個(gè)TS周期可以被重復(fù)執(zhí)行幾次。該轉(zhuǎn)換過程起始于步驟500并在其后的步驟中繼續(xù)。
502從節(jié)目流中讀取一個(gè)扇區(qū)(PS包)。它被解析以識(shí)別SID和PES長度。如果SID指示不要它,該數(shù)據(jù)即被丟棄。應(yīng)注意到通常MPEG-2允許每個(gè)包內(nèi)有多個(gè)PES分組,甚至允許每個(gè)包內(nèi)有多個(gè)SID。該(或每個(gè))PES分組被完整地發(fā)送到合適的隊(duì)列(圖-4中的408、410)。連接符B引導(dǎo)至步驟502,用于無論何時(shí)從PS讀取一個(gè)新的扇區(qū)。
504自然,當(dāng)不再有PS包被讀取時(shí),該過程結(jié)束(這可通過盤上的目錄結(jié)構(gòu)提前被指示出來)。
506從流,即PES分組中的頭標(biāo)和可選的系統(tǒng)字段,可確定系統(tǒng)信息(已知的光盤視頻系統(tǒng)中的SI,MPEG-2中的術(shù)語PSI)是否需要插進(jìn)TS以便正確地控制解碼器。如果這樣,在508處,SI數(shù)據(jù)被加進(jìn)一個(gè)SI隊(duì)列中(未在圖-4中示出)。在510處,按照STD的當(dāng)前狀態(tài),檢查在假設(shè)的解碼器的一個(gè)SI緩沖器中是否有空間給SI數(shù)據(jù)。如果是,則在512處生成一個(gè)傳輸分組。如果不是,則SI數(shù)據(jù)仍在隊(duì)列中,過程繼續(xù)。
520現(xiàn)在進(jìn)入主循環(huán),它被不斷執(zhí)行以生成傳輸分組,第一隊(duì)列被檢查以確定在相關(guān)的隊(duì)列中有數(shù)據(jù)ES在等待。在本例中,盡管所有流按次序被檢查,但優(yōu)選地先檢查音頻流。
522假定有等待被發(fā)送的第一個(gè)ES數(shù)據(jù),系統(tǒng)目標(biāo)解碼器被檢查以查看是否這個(gè)流的緩沖器能再接收一個(gè)傳輸分組。如果是,在524處,一個(gè)傳輸分組被加進(jìn)輸出流。連接符A再引導(dǎo)至主循環(huán)的開始。
526如果第一隊(duì)列中沒有分組被生成(因?yàn)殛?duì)列為空,或相關(guān)的STD緩沖器416/418是滿的),則類似于步驟502-524的步驟對(duì)每個(gè)基本流重復(fù)執(zhí)行,檢查各自的隊(duì)列中的數(shù)據(jù),檢查STD模型中相應(yīng)緩沖器的滿度,如果可能,就發(fā)送一個(gè)傳輸分組。一旦一個(gè)分組已被生成,控制經(jīng)連接符A返回到主循環(huán)的頂部。最后一個(gè)流的步驟示于528-532。
534如果沒有流能夠調(diào)度一個(gè)傳輸分組,就要檢查看以查是否任一隊(duì)列都是空的。如果有一個(gè)空流,則連接B就跟著從輸入流中取出一個(gè)新的扇區(qū)的數(shù)據(jù)。
536如果沒有隊(duì)列為空,則結(jié)論是STD的所有的緩沖區(qū)都是滿的,并且通過把一個(gè)填充(空)分組寫進(jìn)傳輸流來影響“等待”動(dòng)作。應(yīng)記住TS格式包括固定速率的分組,是否有給它們的數(shù)據(jù)以及填充分組出現(xiàn)以“填充”想要的數(shù)據(jù)都是非常有規(guī)律的。因?yàn)檫@個(gè)目的,填充分組在MPEG-2的規(guī)范內(nèi)被定義,并且一旦被解碼器接收到就被丟棄。出于同樣的原因,填充分組對(duì)解碼器模型STD內(nèi)的緩沖器的滿度沒有影響。接著控制傳向步驟520,過程重復(fù),必要時(shí)等待和填充直到其中一個(gè)緩沖器有空間給一個(gè)新的傳輸分組。
注意在圖-5所示的方案中,第一個(gè)流(在實(shí)施方案中為音頻)接收到一種優(yōu)先級(jí)。那就是說,只要第一隊(duì)列有數(shù)據(jù)并且STD內(nèi)的第一個(gè)緩沖器有空間,那么從那個(gè)流中來的傳輸分組就優(yōu)于其它流中的傳輸分組被發(fā)送。在本例中,發(fā)明人已選擇實(shí)施這樣的一個(gè)優(yōu)先級(jí),因?yàn)榱鞯臄?shù)量有限且音頻流中的調(diào)度肯定有最少的自由度。精確的算法不重要,但是,可設(shè)想有其他的選項(xiàng)以適合不同的環(huán)境。例如,要把具有類似特征的不同流中的數(shù)據(jù)進(jìn)行交織最大化,只需將連接改變成從步驟524引導(dǎo)至步驟526,而不是返回到A,以此類推直到最后一個(gè)流。那樣,只有當(dāng)全部流都試過了,且其中可能發(fā)送了一個(gè)分組,循環(huán)才到步驟520,再從第一個(gè)流開始試。同樣的考慮應(yīng)用于下面被描述的方法2。
方法1分析以上的調(diào)度算法在無論何時(shí)其中一個(gè)基本流隊(duì)列為空時(shí),都去取出另一個(gè)PS分組。這意味著TS調(diào)度器412總是有對(duì)基本數(shù)據(jù)的不受限的選擇以便找到一個(gè)符合TS復(fù)用約束條件的分組。這樣PS分組的調(diào)度對(duì)TS復(fù)用的調(diào)度沒有影響。
由于輸入流的調(diào)度和輸出流的調(diào)度之間沒有依賴性,并且我們知道一個(gè)TS復(fù)用器總能找到一個(gè)有效的調(diào)度,所以很明顯這個(gè)算法沒有死鎖條件。然而,這種簡(jiǎn)單性的代價(jià)就是需要緩沖,在PS不能比實(shí)時(shí)更快速地被讀取時(shí),會(huì)有大約1秒的碼型轉(zhuǎn)換的時(shí)延。隊(duì)列占有率和緩沖時(shí)延的“最壞的情況”是在基本流之間有最大偏差的時(shí)候。
考慮例如一個(gè)音頻流和一個(gè)視頻流。假定PS(就在解碼時(shí)間TDS之前)發(fā)送某一個(gè)音頻幀N很晚,而同一個(gè)流的前一個(gè)音頻幀(N-1)早就被發(fā)送了。TS調(diào)度器將在N-1幀到達(dá)碼型轉(zhuǎn)換器后的某個(gè)時(shí)間將它插進(jìn)傳輸流TS。之后就不再調(diào)度任何分組,不管是音頻還是視頻,直到音頻幀N被從PS中讀取出來。
然而,在其間的所有視頻幀都將被取出,并且它們必須在復(fù)用轉(zhuǎn)換器中排隊(duì)。
最壞情況下的隊(duì)列長度和時(shí)延可通過使用MPEG的“一秒規(guī)則”來獲得。這個(gè)規(guī)則講的是任一存取單元(例如幀N-1)的最大解碼時(shí)延為1秒。這樣1秒就是在幀N-1和幀N的傳輸之間的最大可能時(shí)間(可以獲得極限上更嚴(yán)格的約束)。所以1秒是延遲的上限,可被用于計(jì)算隊(duì)列長度。這樣需要大約230千字節(jié)的緩沖器用于1秒的視頻流,實(shí)際上接近300千字節(jié)。
調(diào)度器412方法2圖-6示出一個(gè)修改過的過程用于調(diào)度傳輸流,而只需較小的緩沖器。步驟600-634的過程與圖-5(方法1)中的步驟500-534一樣。然而,修改過的方法有效地使用了輸入流是一個(gè)帶有合法PS復(fù)用調(diào)度的節(jié)目流的知識(shí)以便在兩個(gè)調(diào)度間引進(jìn)一種依賴性從而減少時(shí)延。
新步驟在638處,將系統(tǒng)時(shí)鐘參考(SCR)值(包含在最近取出的PS包中)與系統(tǒng)時(shí)鐘TSC相比較。記住TSC指示傳輸流生成的進(jìn)程,而SCR指示取出輸入流PS的進(jìn)程。然在方法1中,只要有任一個(gè)隊(duì)列被發(fā)現(xiàn)是空的,新數(shù)據(jù)就被從輸入流中取出,而在附加的638/640步驟中,允許只要SCR超前TSC小于一個(gè)預(yù)定的門限值MIN時(shí)就取出新數(shù)據(jù)。換句話說,即使有一個(gè)空隊(duì)列緩沖器,只要輸入流已被超過一個(gè)足夠的量先讀取,新數(shù)據(jù)就不被取出。注意TSC總是居先,甚至在填充分組生成時(shí),而SCR只在新數(shù)據(jù)被從輸入流PS(盤)中取出時(shí)才居先。如果在步驟638中的時(shí)間差MIN能被設(shè)置成基本上小于MPEG-2允許的1秒最大時(shí)延,那么我們能立刻發(fā)現(xiàn)隊(duì)列所需的緩沖將成比例地減小。它有效地意味著在上面所舉的例子中,在我們等待下一個(gè)音頻幀時(shí),能發(fā)送多個(gè)視頻分組。
在將一個(gè)已知的光盤視頻系統(tǒng)兼容的MPEG-2節(jié)目流轉(zhuǎn)換成一個(gè)傳輸流的例子中,重新調(diào)度分組有兩個(gè)原因,正如上面已經(jīng)提到的。一個(gè)是在一個(gè)傳輸流中對(duì)音頻傳輸緩沖器的漏出速率的2Mbits/s的限制。另一個(gè)是傳輸流和節(jié)目流(3584對(duì)4096字節(jié))間主音頻緩沖器大小的差別。如果我們檢查這兩種情況,我們就會(huì)發(fā)現(xiàn)假定輸入是一個(gè)符合條件的節(jié)目流,TS分組調(diào)度器需要多少自由度以便找到一個(gè)符合條件的調(diào)度。
假如音頻是有一個(gè)24ms幀時(shí)長的48kHz MPEG。只要知道幀大小,有技術(shù)的讀者就容易發(fā)現(xiàn)怎樣歸納相對(duì)其它假設(shè)的結(jié)論,例如不同的抽樣速率、或AC3編碼。已知的光盤視頻系統(tǒng)允許MPEG音頻比特率位于32kbits/s和448kbits/s之間。在32kbits/s上一存取單元大小(一個(gè)壓縮幀的大小)是0.024×32000/8=96字節(jié)。在448kbits/s上一存取單元大小(一個(gè)壓縮幀的大小)是0.024×448000/8=1344字節(jié)。
已知的光盤視頻系統(tǒng)的節(jié)目_復(fù)用_速率(在輸入流中單個(gè)幀被傳送的速率)是10.08Mbits/s。TS音頻TB緩沖器漏出速率是2 Mbits/s(Rleak)。在最壞的情況下它表達(dá)了可由TS復(fù)用傳輸?shù)淖畲笠纛l幀速率。分別考慮這兩種情況中的每種情況2 Mbits/s TB限制考慮在最近可能的時(shí)間-剛好在解碼時(shí)間之前-DTSn由PS發(fā)送的最大尺寸Bn(1344字節(jié))的音頻幀N。幀N的第一個(gè)字節(jié)將在PS內(nèi)被傳送,當(dāng)Tps<=DTSn-Bn/(Rmux)在最壞的情況下,需至少△Tts=(Bn/Rleak)來發(fā)送傳輸流內(nèi)的這個(gè)幀。所以,幀的第一字節(jié)必須在以下時(shí)刻被發(fā)送Tts=DTSn-△Tts節(jié)目流必須要在復(fù)用轉(zhuǎn)換器中被緩沖至少(Tts-Tps)秒以便給予調(diào)度器解決這個(gè)問題所需的自由度。
考慮上面提到的已知的光盤視頻系統(tǒng)值,Bn/Rleak=1344/(2×106/8)=5.376msBn/Rmux=1344/(10.08×106/8)=1.067ms因此,所需的根據(jù)這個(gè)約束條件給出調(diào)度自由度的最小復(fù)用轉(zhuǎn)換時(shí)延是4.31ms。
緩沖器尺寸差別考慮一個(gè)帶有一個(gè)分組調(diào)度的節(jié)目流,剛好在某個(gè)時(shí)間填滿PS音頻緩沖器。因?yàn)門S音頻緩沖器較小,所以不可能立刻發(fā)送這些音頻幀中的一些。它們必須要被延遲直到TS音頻緩沖器被清空到一定程度以允許它們被調(diào)度。要保持A/V同步以及避免在其它流中的下溢出,全部流必須要延遲相同的時(shí)間。
緩沖器大小之差是4096-3584字節(jié)=512字節(jié)。這代表數(shù)據(jù)速率最低時(shí)的最壞的情況(最長的時(shí)間)。當(dāng)數(shù)據(jù)速率是32Kbits/s時(shí),幀大小為96字節(jié)。512/96=5.33幀,約等于六幀,因?yàn)榘凑誐PEG模型在幀的解碼時(shí)間,整個(gè)幀必須存在于緩沖器中。六個(gè)幀代表144ms。
這樣要給予TS調(diào)度器克服這個(gè)約束條件的自由度,我們需加入一個(gè)六音頻幀的時(shí)延(144ms),這也超過漏出速率限制所建議的約束條件4.31ms。因此,大致說來,方法2允許從PS到TS格式用單獨(dú)考慮TS格式的約束條件所希望時(shí)延的大約六分之一來重新調(diào)度PES分組。如果輸入流可以以小于實(shí)時(shí)的速度被讀取到復(fù)用轉(zhuǎn)換器中,則144ms的時(shí)延可被減少一些。
注意在這種情況下,給予音頻流(流程圖中的第一個(gè)流,但在介紹和權(quán)利要求中,對(duì)應(yīng)為“第二個(gè)流”)的優(yōu)先級(jí)對(duì)確保當(dāng)需要滿足標(biāo)識(shí)的約束條件時(shí)使用144ms的時(shí)延是重要的。另一方面,不同的算法可用于提供所需的優(yōu)先級(jí),而當(dāng)其它流本身的進(jìn)程變得更重要時(shí),允許它們獲得優(yōu)先。一個(gè)方案用于給其STD緩沖器有最低的百分比滿度的流分配優(yōu)先級(jí),它是同樣有效的。一個(gè)不太嚴(yán)格的優(yōu)先級(jí)方案可與等待門限值的上定標(biāo)一起被應(yīng)用以提供可測(cè)量的額外的自由度。
權(quán)利要求
1.一種將具有節(jié)目流(PS)格式的輸入數(shù)據(jù)流轉(zhuǎn)換成具有傳輸流(TS)格式的輸出數(shù)據(jù)流的方法,該方法包括(a)從所述的輸入數(shù)據(jù)流中讀取連續(xù)的數(shù)據(jù)塊,該輸入數(shù)據(jù)流包括按照一個(gè)PS解碼器模型來形成和復(fù)用的至少第一和第二基本數(shù)據(jù)流的數(shù)據(jù);(b)在第一和第二隊(duì)列結(jié)構(gòu)中分別累積第一和第二基本流的數(shù)據(jù);(c)建立一個(gè)TS目標(biāo)解碼器模型,該模型包括假設(shè)的第一和第二緩沖器分別用于第一和第二基本流;(d)參考所述的目標(biāo)解碼器模型,生成一連串傳輸分組以形成所述的輸出數(shù)據(jù)流,用于以所述的TS格式傳送該第一和第二數(shù)據(jù)流;以及(e)更新位于所述TS目標(biāo)解碼器內(nèi)假設(shè)的第一緩沖器和第二緩沖器的狀態(tài)以響應(yīng)每個(gè)生成的傳輸分組和預(yù)定的所述解碼器模型的屬性;其中,每個(gè)傳輸分組包括來自第一隊(duì)列或第二隊(duì)列,或者不屬于兩個(gè)隊(duì)列的數(shù)據(jù),這要取決于輸入數(shù)據(jù)流內(nèi)所述基本流的調(diào)度和所述TS目標(biāo)解碼器模型內(nèi)第一和第二緩沖器的狀態(tài),其中,該方法包括當(dāng)目標(biāo)解碼器模型內(nèi)缺少空位給所述的第二基本流的數(shù)據(jù)的情況下,所述輸入數(shù)據(jù)流的時(shí)鐘參考超過所述輸出數(shù)據(jù)流的時(shí)鐘參考一個(gè)預(yù)定的等待門限值時(shí),禁止從該流中讀取另外的數(shù)據(jù)塊。
2.如權(quán)利要求1中要求的方法,其中在PS格式下,至少所述第一和第二基本流數(shù)據(jù)已被編碼、分割成帶分組頭的基本流分組,且分組被整體交織,而在TS格式下,這樣的基本流分組被進(jìn)一步細(xì)分成多個(gè)更小的傳輸分組,且第一和第二基本流的傳輸分組彼此交織并和攜帶不是來自這兩個(gè)流的數(shù)據(jù)的傳輸分組相交織。
3.如權(quán)利要求2中要求的方法,其中在輸入和輸出流中同樣地將每個(gè)基本流細(xì)分成基本流分組。
4.如權(quán)利要求1、2或3中要求的方法,其中TS格式的數(shù)據(jù)流有恒定的數(shù)據(jù)速率或分段固定的數(shù)據(jù)速率,所述的傳輸分組有統(tǒng)一大小和周期。
5.如上述權(quán)利要求中的任一個(gè)要求的方法,其中輸入流以塊為單位來讀取,每個(gè)塊包括至少一個(gè)完整的基本流分組,和只能包含來自一個(gè)基本流的分組。
6.如上述權(quán)利要求中的任一個(gè)要求的方法,其中每個(gè)塊包含一個(gè)PS傳送時(shí)間碼,并且其中一個(gè)TS傳輸時(shí)間碼最初與PS傳送時(shí)間碼同步并提前于每一傳輸分組的生成。
7.如上述權(quán)利要求中的任一個(gè)要求的方法,其中PS和TS格式中每一個(gè)都定義約束條件為(i)在具有一個(gè)公共表達(dá)時(shí)間的第一和第二基本流內(nèi)各個(gè)表達(dá)單元的傳送時(shí)間之間的最大時(shí)間差(“偏差”)的一個(gè)上限;以及以下至少其中之一(ii)用于在傳送和解碼之間緩沖每個(gè)基本流數(shù)據(jù)的容量;以及(iii)按一個(gè)存取單元的等級(jí)從傳輸流傳送每個(gè)基本流數(shù)據(jù)到緩沖器用于解碼的速率。
8.如權(quán)利要求7中要求的方法,其中對(duì)第二基本流來說,在TS格式下所述緩沖器的約束條件(ii)比在PS格式下所述緩沖器的約束條件(ii)要嚴(yán)格,并且其中所述的等待門限值足夠容納一些額外數(shù)據(jù),該數(shù)據(jù)對(duì)應(yīng)于PS目標(biāo)解碼器中緩沖器內(nèi)所能容納的數(shù)據(jù)和TS目標(biāo)解碼器中緩沖器內(nèi)所能容納的數(shù)據(jù)之差。
9.如權(quán)利要求7或8中要求的方法,其中對(duì)第二基本流來說,在TS格式下所述的最小速率約束條件(iii)比在PS格式下所述的最小速率約束條件(iii)要嚴(yán)格,并且所述的等待門限值足夠允許額外的時(shí)間用于傳輸?shù)诙玖鲀?nèi)的一個(gè)存取單元,該額外的時(shí)間對(duì)應(yīng)于用于傳送PS格式約束條件內(nèi)的這樣一個(gè)存取單元的最短可能時(shí)間和用于傳送TS格式約束條件內(nèi)的相同存取單元的最長可能時(shí)間之差。
10.如權(quán)利要求9中要求的方法,其中所述的PS和TS格式允許在所述的第二基本流內(nèi)實(shí)現(xiàn)不同的編碼參數(shù)以便改變被傳送數(shù)據(jù)的數(shù)量和每個(gè)存取單元的表達(dá)周期或兩者之一,而所述的等待門限值依照允許的編碼參數(shù)中所需的最大額外時(shí)間是固定的。
11.如權(quán)利要求7到10中的任一個(gè)要求的方法,其中所述的等待門限值小于節(jié)目流中允許偏差的五分之一。
12.如權(quán)利要求7到10中的任一個(gè)要求的方法,其中所述的存取單元包括一個(gè)壓縮了的音頻幀。
13.一種用于重新復(fù)用第一和第二基本流數(shù)據(jù)以便生成一個(gè)符合第二預(yù)定目標(biāo)解碼器模型的傳輸分組的連續(xù)流的方法,所述的第一和第二流的數(shù)據(jù)先前已經(jīng)依照一個(gè)不同的、第一預(yù)定的目標(biāo)解碼器模型被復(fù)用,其中,假設(shè)所述的讀取被判別超前于重新復(fù)用第二基本流的進(jìn)程足夠遠(yuǎn)以補(bǔ)償?shù)谝缓偷诙繕?biāo)解碼器模型之間的差別,則所述的數(shù)據(jù)按要求從一個(gè)輸入信道中被讀取并且該數(shù)據(jù)的讀取通過參考重新復(fù)用第二基本流的進(jìn)程被限制,而與第二目標(biāo)解碼器模型中給第一個(gè)流的數(shù)據(jù)的空位無關(guān)。
14.如權(quán)利要求13中要求的方法,其中第一和第二目標(biāo)解碼器模型中的每一個(gè)都為每一基本流定義了一個(gè)有限大小的相應(yīng)緩沖器用于要解碼的數(shù)據(jù),并且其中至少對(duì)第二基本流來說,TS目標(biāo)解碼器內(nèi)的緩沖器小于PS目標(biāo)解碼器內(nèi)的緩沖器。
15.如上述權(quán)利要求中的任一個(gè)要求的方法,其中第一基本流的平均數(shù)據(jù)速率基本上大于第二基本流的平均數(shù)據(jù)速率。
16.如上述權(quán)利要求中的任一個(gè)要求的方法,其中第一基本流的數(shù)據(jù)包括已編碼的視頻圖像而第二基本流的數(shù)據(jù)包括已編碼的音頻幀。
17.如上述權(quán)利要求中的任一個(gè)要求的方法,其中所述的TS格式符合MPEG-2傳輸流規(guī)范,而所述的PS格式符合MPEG-2節(jié)目流規(guī)范,兩者都在ITU-T建議H.222.0和150/IEC13818-1中被定義。
18.一種再生一個(gè)錄制的音視頻節(jié)目的方法,其中一個(gè)PS格式的數(shù)據(jù)流從一個(gè)數(shù)據(jù)信道中被讀取,通過如上述權(quán)利要求中任一個(gè)要求的方法轉(zhuǎn)換成TS格式,并經(jīng)另一個(gè)信道送入一個(gè)TS兼容的解碼器。
19.如權(quán)利要求18中要求的方法,其中所述的數(shù)據(jù)信道包括一個(gè)錄制載體上所述的輸入數(shù)據(jù)流的錄制。
20.一種設(shè)備,該設(shè)備包括用于接收一個(gè)第一種格式的輸入數(shù)據(jù)流的裝置,其中至少數(shù)據(jù)的兩個(gè)基本流被復(fù)用,和用于將該數(shù)據(jù)轉(zhuǎn)換成第二種格式從而生成一個(gè)輸出流的裝置,所述的轉(zhuǎn)換裝置包括特別適合于實(shí)現(xiàn)前述權(quán)利要求中的任一個(gè)要求的方法的裝置。
21.如權(quán)利要求20中要求的設(shè)備,該設(shè)備包括以下中的一個(gè)一個(gè)用于數(shù)字視頻節(jié)目的獨(dú)立的解碼器設(shè)備,一個(gè)具有用于視頻節(jié)目的顯示器的表達(dá)設(shè)備,和一個(gè)用于播放以及可選地還用于錄制數(shù)字視頻節(jié)目的再生設(shè)備。
全文摘要
一個(gè)數(shù)字視頻錄像機(jī)或類似設(shè)備實(shí)現(xiàn)了一種方法,該方法用于將具有一個(gè)MPEG-2節(jié)目流(PS)格式的輸入數(shù)據(jù)流轉(zhuǎn)換成一個(gè)具有MPEG-2傳輸流(TS)格式的輸出數(shù)據(jù)流。所述的輸入數(shù)據(jù)流(PS)包括依照一個(gè)PS解碼器模型被形成和復(fù)用的至少第一和第二基本數(shù)據(jù)流(404、406)的數(shù)據(jù)。該設(shè)備內(nèi)的一個(gè)調(diào)度器(412)在一個(gè)目標(biāo)解碼器模型(418)內(nèi)缺少空位給一個(gè)音頻基本流的數(shù)據(jù)的情況下,所述輸入數(shù)據(jù)流的時(shí)鐘參考(SCR)超過所述輸出數(shù)據(jù)流的時(shí)鐘參考一個(gè)預(yù)定的等待門限值時(shí),禁止從輸入流中讀取另外的數(shù)據(jù)塊。
文檔編號(hào)H04N5/00GK1349715SQ00806989
公開日2002年5月15日 申請(qǐng)日期2000年12月4日 優(yōu)先權(quán)日1999年12月30日
發(fā)明者O·J·莫里斯 申請(qǐng)人:皇家菲利浦電子有限公司