專利名稱:從屬數(shù)據(jù)流傳輸方法
專利說明從屬數(shù)據(jù)流傳輸方法 本發(fā)明的領(lǐng)域是一個或幾個以數(shù)據(jù)流的形式的數(shù)據(jù)傳輸,每個數(shù)據(jù)流由基本碼流單元組成。更特別地,當后者由一個或幾個其它數(shù)據(jù)流單元決定或與其有關(guān)時,本發(fā)明涉及這些基本碼流單元的優(yōu)化處理。
當信號,例如多媒體型信號,以同步的方式傳過單信道時,數(shù)據(jù)流的處理很少出現(xiàn)或沒有出現(xiàn)問題。必需的數(shù)據(jù)預先接收。
另一方面,在異步系統(tǒng)中不是這種情況所述的異步系統(tǒng)可以實現(xiàn)幾個傳輸信道,和/或幾個服務器,每個傳輸一部分預想得到的信號。該種情況是,例如,通過IP型網(wǎng)絡傳輸或廣播。
在這種情況下,我們可以接收到流單元,其應該完成其它沒有被接收的流單元。例如,這可以是更高層級的數(shù)據(jù)增加信息,其中利用分層編碼(流可以因此與給定的層級相對應)來編碼數(shù)據(jù)。增補數(shù)據(jù)的處理將因而給出隨機的結(jié)果,通常會使得復原的信號顯著劣化,或者甚至完全阻塞解碼器。
多媒體同步方面的背景技術(shù)其實質(zhì)上是由基于RTP的傳輸協(xié)議和MPEG-4(同步層)描述的。在使用的方法中,同步機制主要是為暫時同步化音頻和視頻流而設(shè)計的,使得它們可以沒有滯后地出現(xiàn)。該數(shù)據(jù)是利用時間標記系統(tǒng)(基準時鐘、解碼和表示標記)來傳送的。
隨著分層編碼的出現(xiàn),其中不同的時間和空間增加層被用于生成可以表示的幀,本發(fā)明人已經(jīng)注意到對同步化新需求的出現(xiàn)。
的確,在流被解碼之前(不只是在它們表示期間)必須使它們同步。這種約束比表示同步更復雜,因為為了生成正確的幀,解碼該單元所需要的那些單元必須被識別。單獨一個滯后就可以使得整個流以及所有基于該流的流不能用。這個由本發(fā)明人發(fā)現(xiàn)的問題是新的,但不明顯的。
當使用終端應當接收但沒有接收的數(shù)據(jù)(例如解碼密鑰),接收到的流單元必須被解碼或解密時,就會出現(xiàn)相同的問題。再一次,解碼程序的結(jié)果將會至少效率低下,總的來講將會有害(就復原信號而言),并可以導致終端的堵塞。在這兩種情況下,不希望有的并且討厭的過程將會執(zhí)行。
另一個在廣播(多點廣播或廣播)系統(tǒng)中發(fā)現(xiàn)的重要的問題是相同數(shù)據(jù)必須被多點廣播,來允許任何情況下連接的用戶接收所有他們選定的流。具體的方面已在專利申請EP-014600462中以本發(fā)明的標題持有者的名義做了討論,但還沒有公開。依照該技術(shù),在傳輸層執(zhí)行處理,這強制每個流單元的處理考慮到不同的傳輸型的規(guī)范。
就以廣播和多點廣播情景形式的多媒體描述而言的現(xiàn)有技術(shù),是以“輪播(carousel)MPEG-4”的規(guī)范的形式描述的,因此,一定量的功能被禁止或變成高數(shù)據(jù)比率的消耗者。在這兩個所考慮的情景中,對多媒體表示的輸入點在任何時候必須被指示。關(guān)于描述的場景二進制格式場景、紋理,被轉(zhuǎn)化為數(shù)據(jù)的重復。
一旦多媒體內(nèi)容變得豐富,簡單的重復就無法接受并導致過長的下載時間。而且,這種規(guī)范并不允許廣播某些多媒體元素(短的音頻/視頻選段)。
發(fā)明內(nèi)容
特別地,本發(fā)明的目的是克服背景技術(shù)所述的各種不便。
更具體地,本發(fā)明的目的是提供一種技術(shù),當后者依賴一個或幾個其它流單元或與其有關(guān)時,該技術(shù)允許有效地處理流單元。
而且,本發(fā)明的目的是提供這樣一種技術(shù),其允許對鏈接(關(guān)聯(lián))的流的管理,特別是在數(shù)據(jù)是由分層編碼或包括有與底層數(shù)據(jù)和增強數(shù)據(jù)有聯(lián)系的編碼的編碼編碼后的數(shù)據(jù)的情況下。
本發(fā)明的另一個目的是提供這樣一種技術(shù),其允許確保有效地管理流單元的解碼或解密。
本發(fā)明的另一個目的是提供這樣一種技術(shù),其允許優(yōu)化多點廣播場景的傳輸,并且特別是減少使用的資源量而不用降低接收的質(zhì)量。
換句話說,本發(fā)明的目的是在數(shù)量和質(zhì)量方面優(yōu)化在終端執(zhí)行的處理。
這些目的以及其它下面將要簡述的目的,依照本發(fā)明是通過使用將至少一個數(shù)據(jù)流傳到至少一個終端的傳輸方法來實現(xiàn)的,其中所述的一個或多個流以流單元的形式組織,其特征在于所述的流單元中至少一些流單元包括至少一個指針,該指針指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元,使得如果必須的在先單元沒有被接收,在所述終端中不執(zhí)行對所述流單元的處理。
因此,可以利用邏輯同步系統(tǒng),其可以使得流單元的管理更簡單,通過限制終端的處理來改善分辨的質(zhì)量等。
依照本發(fā)明由此確定的數(shù)據(jù)的格式不但可以用于流的傳輸和接收,也可以用于他們的廣播、記錄和存儲。
特別地,本發(fā)明是基于對流或流單元的“后面”同步這一新問題的識別,以及基于不明顯的觀察當并非所有的這樣做的元素是可用時大多數(shù)有效的方法沒有處理該流單元。的確,就復原信號而言,忽略流單元比將其解碼看起來更可取,將其解碼將會導致復原的信號顯著劣化,或者甚至阻塞終端。
作為優(yōu)點,本發(fā)明的方法包括獨立傳輸?shù)闹辽賰蓚€數(shù)據(jù)流的傳輸、初始流的一個數(shù)據(jù)流單元,初始流指向至少一個第二流的至少一個必須的在先單元,其中初始流的所述的流單元包括包含在所述的第二流中的數(shù)據(jù)的增補數(shù)據(jù)。
在這種情況下,這些數(shù)據(jù)流可以方便地與分層編碼的不同層級相對應,其中如果較低層級的流單元已被接收,只執(zhí)行給定的層級的流單元的處理。
該流單元可以指向至少一個在先的單元,其確定了必須的在先單元的序列。
依照本發(fā)明的有利特點,這些指針中至少一個指針允許找到至少一個必須的在先單元,該單元包括允許解碼和/或解密所考慮的流單元的數(shù)據(jù)。
優(yōu)選地,所述的必須的在先單元包括有數(shù)據(jù),該數(shù)據(jù)允許終端確定是否所考慮的流單元的數(shù)據(jù)必須被解碼和/或解密,并解碼后顯示。
依照本發(fā)明的另一個有利的實施,這些指針中至少其中之一指向那些可以從所述的終端了解的數(shù)據(jù),使得該終端可以確定其有能力或無能力來處理相應的流單元。
有利地,依照本發(fā)明的另一個方面,這些流單元中至少其中之一包括有至少一個指針,該指針指向所述的流的或可以隨后被接收的另一個流的流單元。
優(yōu)選地,這個或這些可以隨后被接收的流單元具有標記符,其允許生成與所述的指針的鏈接。
因此,便利地,在不同的時間傳輸?shù)闹辽賰蓚€相似的流單元的指針可以指向隨后被接收的同一個流單元。
優(yōu)選地,本發(fā)明的程序?qū)崿F(xiàn)一個指示符,其可以從至少兩個作用中指示指針的作用,所述的至少兩個作用屬于一個組,該組包括 -指定至少一個在先的流單元,為了允許計及所考慮的流單元,該在先的流單元必須被解碼; -指定至少一個在先流單元,其包括有解碼和/或解密該所考慮的流單元所必須的數(shù)據(jù),和/或保護系統(tǒng)狀態(tài)的一個參考。
-指定至少一個隨后的流單元。
有利地,這些流單元中至少其中一些包括有用于確定該作用的相關(guān)性描述符。
有利地,這些流單元中至少其中一些包括有相關(guān)性標記符,其允許其識別作為必須的在先單元和/或所述的流中的所述的流單元的識別標記符。
優(yōu)選地,本發(fā)明的程序在同步層被實施,因此接受到的流單元的預先處理不是必要的。
本發(fā)明也涉及一個或幾個依照上述的傳輸方法被傳輸?shù)臄?shù)據(jù)流。如提到的,這樣的數(shù)據(jù)格式可以用于數(shù)據(jù)的傳輸、廣播、接收、記錄(例如使用視頻記錄器或光盤記錄器)和存儲(例如,在光驅(qū)上、錄音帶上、遠程服務器上等)。
也應當注意本發(fā)明允許這些方面輕易組合。例如,一些數(shù)據(jù)流可以被廣播,其它的設(shè)置在光驅(qū)上或通過服務器設(shè)置,其中為了解碼(或優(yōu)化)第一種的必須要知道第二種的。
將這樣的數(shù)據(jù)流組織成被相互獨立傳輸?shù)牧鲉卧渲羞@些流單元中至少其中一些包括至少一個指針,其指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元,如果必須的在先流單元沒有被接收,使得在所述的終端內(nèi)不執(zhí)行該流單元的處理。
本發(fā)明也涉及用于數(shù)據(jù)的服務器,該數(shù)據(jù)以被組織成流單元的至少一個數(shù)據(jù)流的形式被指定傳輸?shù)街辽僖粋€終端,所述的流單元是互相獨立傳輸?shù)模@些流單元中至少其中一些包括至少一個指針,其指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一數(shù)據(jù)流的至少一個流單元,該流單元被稱作在先的必須的流單元。
本發(fā)明也涉及終端,該終端可以接收至少一個被組織進流單元的數(shù)據(jù)流,所述的流單元是互相獨立傳輸?shù)?,這些流單元中的其中一些包括至少一個指針,其指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一數(shù)據(jù)流的至少一個流單元,該流單元被稱作在先的必須的流單元。
本發(fā)明也涉及被組織成流單元的至少一個數(shù)據(jù)流的接收方法,所述的流單元是互相獨立傳輸?shù)?,這些流單元中的其中一些包括至少一個指針,其指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一數(shù)據(jù)流的至少一個流單元,該流單元被稱作在先的必須的流單元,并且接收程序包括下列步驟 -分析流單元的所述指針。
-如果所述的必須的在先單元已經(jīng)被接收,處理所述的流單元。
最后,本發(fā)明涉及傳輸方法的應用,特別是用于 -在訪問由用戶選定的節(jié)目之前,對消息系統(tǒng)廣播。
-有限制的訪問節(jié)目的特定質(zhì)量級和/或特定具體選項。
-交互式電視。
根據(jù)下面的關(guān)于本發(fā)明的作為描述性實例的優(yōu)選實施例的說明書和附圖,本發(fā)明的其它特點和優(yōu)點將會更加清楚,其中 -圖1描述的是依照本發(fā)明的數(shù)據(jù)流和關(guān)于另外一個數(shù)據(jù)流的相關(guān)性管理的原理。
-圖2表示在以時間交互對話的形式廣播流(廣播)和由終端接收流的情況下,本發(fā)明的實施。
-圖3描述的是鏈接到流單元的解碼或解密(IPMP)的同步的情況。
-圖4表示的是圖3的情況的替換,帶有兩個保護點(解碼和交付)。
具體實施例方式 下面描述的優(yōu)選實施例特別涉及多媒體系統(tǒng),特別是MPEG-4型系統(tǒng)中的流的傳輸。
現(xiàn)有技術(shù)的回顧 現(xiàn)有技術(shù)沒有允許重視多點傳送或廣播情景中多媒體場景的有效傳輸(就比特率和功能性而言),也沒有考慮到被鏈接來訪問控制關(guān)鍵詞型(key type)內(nèi)容的元素的相互依賴流的同步。
以廣播和多點傳送情景描述的多媒體 在“輪播MPEG-4”的規(guī)范中建議了一個方法。然而,有些功能被禁止或者變成高比特率消耗功能。在考慮過的提供的情景中,對多媒體圖像的輸入點在任何時候必須要被指明。這導致了關(guān)于所描述的場景的數(shù)據(jù)的接收,所描述的場景為二進制格式場景,紋理等。
多媒體內(nèi)容一變得豐富,簡單的重復就無法接受并導致過長的下載時間。而且,這種規(guī)范并不允許廣播某些多媒體元素(短的音頻/視頻選段)。
而且在未公開的專利申請EP-014600462中,數(shù)據(jù)在傳輸層傳送。與此相反,依照本發(fā)明,全部都設(shè)置在稱為同步層上,其中同步層是與傳輸層是獨立的。
這提供了將不同型的傳輸清除和將時間、邏輯同步數(shù)據(jù)以及隨機訪問標記符統(tǒng)一成單一的點上的優(yōu)點,單一的點允許在唯一點上計劃保留或者刪除該單元的決定。這使得進一步了解關(guān)于該流的更多信息,其允許通過流的類型來專門研究關(guān)于二進制格式場景的視頻/音頻等的決定。
多媒體同步化 在多媒體同步方面的現(xiàn)有技術(shù)實質(zhì)上由基于RTP的傳輸協(xié)議和MPEG-4同步層描述的。在所用的方法中,所用的同步機制主要被用來同步化音頻流和視頻流,所以它們可以沒有滯后地出現(xiàn)。通過時間標記系統(tǒng)(基準時鐘、解碼和表述標記)這些數(shù)據(jù)可以被傳輸。
隨著分層編碼的出現(xiàn),其中不同的時間和空間增加層被用于生成可以表示的幀,出現(xiàn)了對新的同步化的需要。的確,在流被解碼之前(不只是在它們表示時)使它們同步是必要的。這種約束比同步的表示更復雜,因為為了生成正確的幀,解碼該單元所需要的那些單元必須被識別。單獨一個滯后就可以使得整個流以及所有基于該流的流不能用。這個由本發(fā)明人發(fā)現(xiàn)的問題是新的,但不明顯的。可以看出,這是一個將被解碼的單元之間的邏輯相關(guān)性問題。
在視頻MPEG-4中已經(jīng)考慮了減少的時間間隔,但是在該系統(tǒng)的層中,這是難以達到的。
數(shù)據(jù)保護 在現(xiàn)有技術(shù)中,同步化的第三種情況沒有考慮鏈接到多媒體流的數(shù)據(jù)保護流的同步化。
在這種情況中,必須要保證在解碼之前任何多媒體流單元通過正確的密鑰來被解密(否則,結(jié)果可能會災難性的)。流沒有保證同步,同步化工具就不能保證同步。
這次,解碼器的輸入和輸出是同步化點(被解碼的幀又可以被加密)。
本發(fā)明的原理 本發(fā)明的目的特別是允許 -多點傳送并且廣播多媒體場景。
-多媒體解碼的邏輯同步化。
該目的是通過使用信號機制來得到的,所述的信號機制允許達到這兩個目標 -允許配置流的機制,使得每次組成流的單元以可配置的方式來被識別。
-用于廣播情景的前部鏈機制。
本發(fā)明的基本的技術(shù)元素是 -幾個流的元素之間的或者同一流(視頻、音頻以及數(shù)據(jù)保護系統(tǒng))內(nèi)的邏輯同步化元素。
-對于每個類型流,該方法允許指示所取決于的元素以及所取決于的具體的元素。幾種實現(xiàn)是可能的。
以下是特別用于任何類型的實現(xiàn) -相關(guān)性描述符 -相關(guān)性標記符(可選的) -相關(guān)性指針 -標記符(識別流單元)(可選的) 至少一個實施模式的詳細描述 MPEG-4規(guī)范 附圖1以MPEG-4規(guī)范的形式表示本發(fā)明的MPEG型數(shù)據(jù)的實施的詳細實例。
接收器的特性 終端接收IOD(初始化對象描述符),其使用它們的描述符(對象描述符)給至少一個圖形場景對象(二進制格式場景流F_BIFS)加上參考符號,并且可選地,它給至少一個圖形對象描述對象加上參考符號(OD流F_OD)。基于下面描述的信息終端將打開流。
每個這些對象描述符包括基本碼流(ES)描述符,其由ESDescriptor組成。每個ESDescriptor包括dependsOnESID字段和SLConfigDescriptor。
dependsOnESID字段允許構(gòu)建由它們的ESID所識別的流之間的相關(guān)性的圖表。
SLConfigDescriptor對象允許配置同步化工具。
在SLConfigDescriptor對象內(nèi)部,存在配置接收器的可能性,使得其以下述的方式來驗證不同的相關(guān)性 DependencyMarker //為了識別其信息包,其允許配置流?! int(5)maker Length; } DependencyDescriptor //允許描述相關(guān)性鏈接?! int(2)mode; //0DTS的版本模式 //1ID的版本模式 //2可度量的模式 //3IPMP模式 //如果mode==1相關(guān)性在流中的標記符處被處 理。 //如果mode==3相關(guān)性以不透明的方式處理 (IPMP系統(tǒng)必須理解該相關(guān)性并驗證是否是解碼/解 密)?! ?/或者,通過使用標記符。因而其是一個代碼,該 代碼允許保護系統(tǒng)來分辨其是否是可解密的單元, //如果mode==0或mode==2,相關(guān)性通過DTS 來核算。因此,在相應的SLConfig中depLength= dtsLength。<!-- SIPO <DP n="9"> --><dp n="d9"/> Int(5)depLength; If(mode==1‖mode==0) { int(depLength)value; //被搜索的第一個單元的值?! } 因而,流可以被聲明依賴另一個流(其本身是正常的媒體或IPMP)。在這種情況下,其描述了在其SL配置中其將如何利用四個不同的模式指示該相關(guān)性(相關(guān)性描述符)的 DTS和ID版本模式(0和1模式) 該流將在其自身中為每個這些訪問單元(AU)指示前相關(guān)性。換句話說,AU(n)指示接下來哪個訪問單元(Accessunit)將被解碼。該信號是由每個包中標記符來處理的,其中該包描述了或者在0模式中下一個訪問單元(唯一的)DTS或者1模式中的下一個訪問單元的ID。
在這種情況下,將被復原的第一個元素的值被增加。
例如,這可以是廣播/多點廣播模式中的BIFS流。
可度量模式(模式2) 該流將為每個這些訪問單元指示關(guān)于其所依賴的流的相關(guān)性。假定該流是唯一的。
該原理由圖1描述。相關(guān)的流10的流單元11通常包括標題(SLHesder)111和數(shù)據(jù)字段(SL有效載荷)112。標題111包括,特別是兩個指針Dep1和Dep2,其確定了與基本流14的流單元141和142的相關(guān)性鏈接12和13,為了處理流單元11必須要了解基本流14。
IPMP模式(模式3) 該流將會為每個這些訪問單元(AccessUnits)指示標識符,該標識符允許數(shù)據(jù)保護系統(tǒng)解碼該單元。這個給定后,該標記符可以響應它是否可以解密該單元。
SLConfigDescriptor可以包括一個或幾個DependencyDescriptor以及一個或幾個DependencyMarker,其允許調(diào)整流中不同的相關(guān)性情況。(一個優(yōu)先的、單個DependencyMarker就夠了,但是也可能存在幾個。) 因而,如果SLConfig包括DependencyMarker,它將會為它的每個信息包指示版本ID(模式1和3)。
在與訪問單元相對應的SL包的標題中,可以發(fā)現(xiàn)下面的 -SLConfigDescriptor的每個DependencyMarker的長度標記符(MarkerLength)。
-給每個相關(guān)性標記符(DependencyMarker)的,depLength長度的DependencyPointer(相關(guān)性指針)。
一旦這些不同的標記被執(zhí)行,該系統(tǒng)可以 a)由于模式0和1,在“廣播”模式中操作; b)管理可調(diào)節(jié)的相關(guān)性 c)管理IPMP相關(guān)性 以及a)、b)、c)的組合。
IPMP模式中的操作描述 當接收到對象的ObjectDescritor(對象描述符)時,終端檢查每個相關(guān)流的SLConfigDescriptor。這將會允許解碼每個流的SL包的標題;特別是解碼標記符。
在IPMP情況下,將會存在DTS和/或DependencyPointer,如圖3所描述。
對于每個流AU,在其被解碼之前,它是通過向它提供至少下面的流標識符數(shù)據(jù)ESID、DTS、DependencyPointer(IPM)31,由IPMP系統(tǒng)32來處理的。如果其可以通過考慮關(guān)于解碼的信息311(DEC碼)來處理(解密)AU,IPMP系統(tǒng)然后作出反應。如果不是這樣,并且該單元的DTS終止,則AU被破壞。因而,不會嘗試解碼不一致的AU。
在圖4的實例中,一方面,存在圖3的元素,另一方面,在其被解碼后,還存在鏈接到圖像復原的處理。的確,利用字段312(CodeComp)可以傳輸關(guān)于組成的數(shù)據(jù),例如增加的紋身(tattoo)或增加的圖像上的信息。如果數(shù)據(jù)保護系統(tǒng)32不知道如何管理組成(它不知道如何顯示圖像(42)),例如因為解碼器不具有所需的紋身(tattoo),圖像不會被顯示(43)。
也可以預見幀將被標記,例如用標志圖標識,如果解碼器具有正確的密鑰其就會消失。
在多點傳送/廣播模式中的操作描述 在附圖2中對該操作做了描述,其如下所示 -被傳輸?shù)牧?1。
-由第一接收器22(話路1)接收的流。
-由第一接收器23(話路2)接收的流。
話路1開始于包211,然后考慮到流單元213,依據(jù)指向24,然后是流單元215,依據(jù)鏈接25。
稍后開通的話路2以流單元212開始,其指向(26)流單元214。
依照本發(fā)明,兩個(或更多)流單元可以指向相同的下一個流單元。合并機制是流單元213和214都指向流單元215。因此,盡管兩個話路開始于不同的時間,但在“復原”階段,它們使用相同的流單元215。這明顯地改善了性能。
該操作會被特別地描述。
當接收到ObjectDescritor時,終端檢查每個相關(guān)流的SLConfigDescriptor。這會允許解碼每個流的SL包的標題;特別是解碼標記符。
因而,在多點傳送/廣播情況下,對于DTS在模式0或1中將會存在至少一個相關(guān)性指針(DependencyPointer)和標記符(“通過ID”的模式1)。終端因而知道哪個是每個流的將被復原的第一單元。因而,將會試圖復原與每個流相對應的第一單元。
如果接收到第一單元,然后其可以開始顯示該內(nèi)容。在相關(guān)性指針(DependencyPointer)中每個單元描述將被接收的下一個單元,并且DTS/標記符以唯一的方式識別每個單元。
如果終端沒有接收到第一單元(可以通過利用暫停或當接收到該流單元的RAP=1的型時來明白這一點,其中該流單元并不與預期的標記符相對應)。終端斷開(完全關(guān)閉話路)并且設(shè)法重新連接。
注意該機制考慮到了話路的合并。
也注意到當下一個單元的DTS沒有預先知道時,需要“通過ID”的模式。
該機制特別適用于MPEG-4中的BIFS、OD、紋理、聲音素材和視頻素材。其將不再適用于串流的音頻和視頻。
可變模式中的操作描述 當接收到ObjectDescritor時,終端檢查每個相關(guān)流的SLConfigDescriptor。這會允許解碼每個流的SL包標題。對于可變視頻,一個流將被用作基本流,一個或幾個其它流將依靠該流。每個依靠基本流的流將聲明相關(guān)性描述符(dependencyDescritor)。
對于改進流的每個AU,其將會利用其所依賴的基本流的AUDTS的相關(guān)性指針(dependencyPointer)來加上參考。
大多數(shù)情況下,為了指向基本視頻的兩個參考AU,在改進的流中將會存在兩個相關(guān)性指針(dependencyPointer)。
在廣播+IPMP模式中的操作描述 例如,在這種情況下,在SL配置中BIFS將包括兩個dependencyDescritor。一個用于廣播模式,一個用于IPMP模式。如果廣播模式是通過ID的,其將包含有標記符。
應用實例 在開始節(jié)目之前廣播廣告 在Internet流式中有幾種情況,內(nèi)容提供者在發(fā)送內(nèi)容之前系統(tǒng)地發(fā)送廣告。因為因特網(wǎng)情景是單播(客戶端-服務器),這是同步處理的下載廣告,并且廣告的結(jié)束使得裝入視頻流。
在多點傳送或廣播情景中,沒有客戶端-服務器操作的資源,就沒有請求提示。同樣,用戶通常只訪問描述的當前的狀態(tài)。
由于前參考機制,該情景在多點傳送或廣播中變得可能。
的確,廣告可以以循環(huán)的方式發(fā)送,并且當前的節(jié)目可以在廣告結(jié)束時合并。
這允許例如保證所有的用戶在開始時將會看到廣告(在這期間,內(nèi)容可以高效并且遞增的方式來下載)。
對于每個廣播電影,相同類的應用可以是電影的種類的公告(父母引導、不滿16歲等)。
可變的條件訪問 這里的想法是發(fā)送相同的視頻和音頻流(唯一的),其可以依靠用戶的權(quán)利來被不同地觀看。關(guān)于保護密鑰的視頻幀相關(guān)性的信令允許只解碼那些用戶具有密鑰的。對于取得全部密鑰的人所有的圖像可以被解碼,——一些具有更小權(quán)限的圖像。這允許以更可變的方式來創(chuàng)建條件訪問(這里指時間的可變性)。
最復雜和有用的場景是那些其中存在幾個流并且其中時間可度量性和分辨率是可以調(diào)節(jié)的。
有了幀相關(guān)性系統(tǒng),因而以幾乎連續(xù)的方式來調(diào)節(jié)對媒體的訪問是可能的。
因而,可以想象一些用戶將具有允許通過5個信道接收聲音的密鑰(空間音樂),以及其它的只允許接收立體聲的密鑰。這也允許更詳細的貨品計價。
MPEG-4交互式電視 不是考慮到“置頂盒”應用是靜態(tài)的,可以考慮到任何這些類型的應用是允許獲得不同信道(內(nèi)嵌機制)的MPEG-4應用。該MPEG-4應用是激活的24h×24h,并且將允許完全重新配置圖像界面等。
這種情景廣播技術(shù)將允許有效地下載圖形界面(BIFS/紋理/OD)以及應用部分(MPEG-J)。
這允許更快的配置。
附錄 依照本發(fā)明MPEG-4型規(guī)范的實例 1.定義 1.1流單元(AU訪問單元) 在基本碼流中可被單獨訪問的數(shù)據(jù)單元。流單元(或訪問單元)是最小的實體,其具有時間數(shù)據(jù)元素。
1.2視聽對象 表示自然的或合成的(虛擬的)對象,其以音頻和/或可視的方式來顯示。該表示與BIFS序列描述中的節(jié)點或一組節(jié)點相對應。每個視聽對象與零、一個或幾個使用一個或幾個對象描述符的基本碼流相關(guān)聯(lián)。
1.3視聽序列(AV場景) 帶有描述場景并定義視聽對象的空間或時間屬性的數(shù)據(jù)元素的一系列視聽對象,包括對象的結(jié)果操作和用戶的互動。
1.4場景的二進制格式 參量場景描述格式的編碼表示。
1.5終端 一個系統(tǒng),其可以發(fā)送或接收并展示象由ISO/IEC14496-1確定的交互式視聽場景的編碼表示。其可以是獨立的系統(tǒng)或者是與ISO/IEC14496相適應的應用系統(tǒng)的一部分。
2.縮寫和符號 AU 訪問單元,或流單元 AV 視聽 BIFS 場景的二進制格式 CM 組合存儲器 CTS合成時間標記 CU 合成單元 DAIDMIF應用界面(見ISO/IEC14496-6) DB 解碼緩存器 DTS 解碼時間標記 ES 基本碼流 ESI 基本碼流界面 ESID基本碼流標識符 FAP 面部動畫參數(shù) FAPUFAP單元 NCT 節(jié)點編碼表 NDT 節(jié)點數(shù)據(jù)類型 OCI 對象內(nèi)容信息 OCR 對象時鐘參考 OD 對象描述符 ODID對象描述符標識符 OTB 對象時鐘基礎(chǔ) PLL 鎖相環(huán) QoS 服務質(zhì)量 SDM 系統(tǒng)解碼器模型 SL 同步層 SL-Packet 同步層包 SPS SL包裝的流 STB 系統(tǒng)時鐘基礎(chǔ) TTs 文字轉(zhuǎn)換成語音 URL 通用資源定位器 VOP 視頻對象平面 VRML虛擬現(xiàn)實建模語言 3.SL包標題配置 3.1語法 class SLConfigDescriptor extends BaseDescriptorbit(8) tag=SLConfigDescrTag{bit(8)predefined;if(predefined==0){ bit(1)useAccessUnitStartFlag; bit(1)useAccessUnitEndFlag; bit(1)useRandomAccessPointFlag; bit(1)hasRandomAccessUnitsOnlyFlag; bit(1)usePaddingFlag; bit(1)useTimeStampsFlag; bit(1)useIdleFlag; bit(1)durationFlag; bit(32)timeStampResolution; bit(32)OCRResolution;bit(8)timeStampLength; //must be≤64bit(8)OCRLength;//must be≤64bit(8)AU_Length;//must be≤32bit(8)instantBitrateLength; bit(4)degradationPriorityLength; bit(5)AU_seqNumLength; //must be≤16 bit(5)pacxetSeqNumLength; //must be≤16 bit(2)extension_field_control; } if(durationFlag){ bit(32)timeScale; bit(16)accessUnitOuration; bit(16)compositionUnitDuration; } if(!useTimeStampsFlag){ bit(timeStampLength)startDecodingTimeStamp;<!-- SIPO <DP n="17"> --><dp n="d17"/> bit(timeStampLength)startCompositionTimeStamp; } if(hasNextAU)( bit(timeStampLength)nextDecodingTimeStamp; } if(extension_field_control==0b10) { MarkerDescriptor
markerDescriptors; DependencyDescriptor
dependencyDescriptors; } dependencyMarkersCount=0; while(true) { bit(1)hasMoreMarkers; if(!hasMoreMarkers)break; DependencyMarker dependencyMarkers[dependencyMarkersCount++]; } dependencyDescriptorCount=0; while(true) { bit(1)hasMoreDependencyDescriptor; if(!hasMoreDependencyDescriptor)break; DependencyDescriptor dependencyDescriptor {dependencyDescriptorCount++]; } } 3.2語義 可以依照每個單獨的基本碼流的需要來配置SL包標題??梢员贿x擇的參數(shù)包括真實感、分辨率和時間標記的精確度以及時鐘參考。這種靈活性允許例如SL包標題內(nèi)容的小的增加。
對于每個基本碼流以SLConfigDescriptor的形式被傳送,它是與對象描述符相關(guān)的ES_Descriptor的一部分。
可以在SL包標題中配置的參數(shù)可以被分成兩類用于每個SL包的參數(shù)(例如,OCR、序號)以及那些只在訪問單元中顯示的參數(shù)(例如時間標記、訪問單元長度、瞬間比特率、降級優(yōu)先權(quán)等)。
預先確定的列允許固定一組預先確定的參數(shù)的缺省值,這些下面會詳細描述。該列表可以通過ISO/IEC14496修正來更新,以包括預先確定的設(shè)置,例如將來的輪廓所需的設(shè)置。
表1-一組SLConfigDescriptor預先確定的值預先確定值字段描述0×00用戶0×01空SL包標題0×02預備用于MP4字段中0×03-0×FF預備用于ISO中 表2-SLConfigDescriptor預先確定的值的細目 預先確定值字段 0×01 0×02UseAccessUnitStartFlag 0 0UseAccessUnitEndFlag 0 0UseRandomAccessPointFlag 0 0UsePaddingFlag 0 0UseTimeStampsFlag 0 1UseIdleFlag 0 0DurationFlag00TimeStampResolution1000-OCRResolution--TimeStampLength320OCRlength-0AU_length00InstantBitrateLength-0DeqradationPriorityLength00AU_seqNumLength00PacketSeqNumLength00預先確定值字段 0×01 0×02UseAccessUnitStartFlag 0 0UseAccessUnitEndFlag 0 0UseRandomAccessPointFlag 0 0UsePaddingFlag 0 0UseTimeStampsFlag 0 1UseIdleFlag 0 0DurationFlag - 0TimeStampResolution 1000 -OCRResolution - -TimeStampLength 32 0OCRlength - 0AU_length 0 0InstantBitrateLength - 0DegradationPriorityLength 0 0AU_seqNumLength 0 0PacketSeqNumLength 0 0TimeScale--AccessUnitDuration--CompositionUnitDuration--StartDecodingTimeStamp--StartCompositionTimeStamp-- useAccessUnitStartFlag——表示AccessUnitStartFlag出現(xiàn)在該基本碼流的每個SL包的標題中。
UseAccessUnitEndFlag——表示AccessUnitEndFlag出現(xiàn)在該基本碼流的每個SL包的標題中。
如果useAccessUnitStartFlag和UseAccessUnitEndFlag都不啟用,這意味著每個SL包與完整的訪問單元相對應。
useRandomAccessPointFlag——表示RandomAccessPointFlag出現(xiàn)在該基本碼流的每個SL包的標題中。
HasRandomAccessUnitsOnlyFlag——表示每個SL包對應隨機訪問點。在這種情況下,不需要使用RandomAccessPointFlag。
usepaddingFlag——表示paddingFlag出現(xiàn)在該基本碼流的每個SL包的標題中。
UseTimeStampFlag——表示時間標記用于使基本碼流同步。它們在SL包的標題中傳輸。否則,accessUnitRate、compositionUnitRate、startDecodingTimestamp以及在SL包的標題中傳輸?shù)膕tartCompositionTimeStamp參數(shù)必須用于同步化。
起始和持續(xù)時間標記的使用只在某種條件下才是可能的,包括在無錯的環(huán)境中。隨機的訪問不是容易的。
UseIdleFlag——表示IdleFlag用在基本碼流中。
DurationFlag——表示訪問單元的不變的持續(xù)時間,并且基本碼流的合成單元隨后被表示。
TimeStampResolution——以秒計的脈沖中的對象的時間基分辨率。
OCRResolution——以秒計的循環(huán)中的對象的時間基分辨率。
TimestampLength——SL包的標題中的時間標記字段的長度。TimestampLength必須具有從0至64比特的值。
OCRLength——SL包的標題中的objectclockrefence字段的長度。幾個零表示沒有objectClockReference出現(xiàn)在基本碼流中。如果OCRstreamFlag被定位,OCRLength必須是0。否則,OCRLength必須具有從0至64比特的值。
AU_Length——基本碼流的Sl包標題中的accessUnitLength字段的長度。AU_Length必須具有從0至64比特的值。
InstanBitrateLength——基本碼流的Sl包標題中的InstantBitrate的長度。
degradationPriortyLength——基本碼流的Sl包標題中的degradationPriorty字段的長度。
AU_SeqNumLength——基本碼流的Sl包標題中的AU_sequencenumber字段的長度。
PacketSeqNumLength——基本碼流的Sl包標題中的PacketSequenceNumber字段的長度。
TimeScale——用于表示訪問單元和合成單元的持續(xù)時間。將秒也分成幾個時間刻度部分。
accessUnitDuration——合成單元的持續(xù)時間是CompositionUnitDuration*1/時間刻度秒。
CompositionUnitDuration——合成單元的持續(xù)時間是CompositionUnitDuration*1/時間刻度秒。
StartDecodingTimeStamp——傳輸時間,在這段時間中基本碼流的第一訪問單元必須被解碼。其以由timeStampResolution指定的分辨率傳輸。
extension_field_control——該字段允許擴展SL。值01b0表示描述符必須設(shè)置在SLConfigDescriptor的末端。
MarkerDescriptors——該列表表示對用于識別流中的下一個訪問單元的標記符的描述。
DependencyDescriptors——該列表表示相關(guān)性描述符,其用于詳細說明前一個訪問單元或下一個單元如何必須被參照。
4.標記符描述符(MarkerDescriptor) 語法如下 class MarkerDescriptor extends BaseDescriptorbit(8) tag=DependencyMarkerTag{ int(5)encodedMarkerLength; MarkerLength=encodedMarkexLength+1; } 5.相關(guān)性描述符(dependencvdescriptor) 5.1語法 abstract class DependencyDescriptor extends BaseDescriptor{ }; class SimpleDependencyDescriptor extends BaseDescriptorbit(8) tag=SimpleDependencyTag{ bit(2)mode; bit(5)dependencyLength; if(mode==1||mode==0) { bit(dependencyLength)firstvalue; } }; class ComplateDependencyDescriptor extends BaseDescriptorbit(8) tag=CompleteDependencyTag{ bit(2)mode; bit(16)ESID; bit(5)dependencyLength; if(mode==1||mode==0) { int(dependencyLength)firstvalue; } }; 5.2語義 5.2.1模式 存在四種定義的模式 -模式0由DTS參照前部 -模式1由標記符參照前部 -模式2后部的可度量性參照 -模式3IPMP模式 模式0和1強制每個訪問單元參照下一個訪問單元。
模式2強制每個訪問單元參照需用于解碼該訪問單元的前一個訪問單元。(注意在幾種情況下,不止兩個dependencydescriptor是參照兩個或更多需要的訪問單元所必需的)。
模式3允許每個訪問單元包括不透明的標識符,其可以由IPMP系統(tǒng)用來確定解碼以及組合該訪問單元是否可能。
模式1和3需要流中具有MarkerDescriptor。
5.2.2 ESID 該可選的字段識別DependencyDescriptor所參照的流。
對于SimpleDependencyDescriptor,將ESID以下列的方式計劃 -模式0和1當前的流 -模式2依賴dependsOnESID -模式3不可用 dependencyLength——或者是標記符(如果存在)或者是解碼時間標記(decodingTimeStamp)的長度。
值——第一標記符的或下一個解碼的訪問單元的標識符的值。
6.SI包標題的詳述 6.1語法 aligned(8)class SL_PacketHeader(SLConfigDescriptor SL){ if(SL.useAccessUnitStartFlag) bit(1)accessUnitStartFlag; if(SL.useAccessUnitEndFlag) bit(1)accessUnitEndFlag; if(SL.OCRLength>0) bit(1)OCRflag; if(SL.useIdleFlag) bit(1)idleFlag; if(SL.usePaddingFlag) bit(1)paddingFlag; if(paddingFlag) bit(3)paddingBits;<!-- SIPO <DP n="24"> --><dp n="d24"/> if(!idleFlag &&(!paddingFlag||paddingBits!=0)){ if(SL.packetSegNumLength>0} bit(SL.packetSegNumLength)packetSequenceNumber; if(SL.degradationPriorityLength>0 bit(1)DegPrioflag; if(DegPrioflag) bit(SL.degradationPriorityLength)degradationPriority; if(OCRflag) bit(SL.OCRLength)objectClockReference; if(accessUnitStartFlag)( if(SL.useRandomAccessPointFlag) bit(1)randomAccessPointFlag; if(SL.AU_seqNumLength>0) bit(SL.AU_seqNumLength)AU_sequenceNumber; if(SL.useTimeStampsFlag){ bit(1)decodingTimeStampFlag; bit(1)compositionTimeStampFlag; } if(SL.instantBitrateLength>0) bit(1)instantBitrateFlag; if(decodingTimeStampFlag) bit(SL.timeStampLength}decodingTimeStamp; if(compositionTimeStampFlag) bit(SL.timeStampLength)compositionTimeStamp; if(SL.AU_Length>0) bit{SL.AU_Length) accessUnitLength; if(instantBitrateFlag) bit(SL.instantBitrateLength)instantBitrate; } } if{SL.hasMarker && beginningOfAU() } { for(iht I=0;I<markerDescriptorCount;I++) { bit(marker.length)markerValue<!-- SIPO <DP n="25"> --><dp n="d25"/> } } for(int I=0;I<dependencyDescriptorCount;I++) { if(dependencyDescriptor.mode>>1==0) { bit(dependencyDescriptor[I].depLength)dapendencypointerValue; } } } 6.2語義 accessUnitStartFlag——當?shù)扔?時,它表示SL包的負載的第一個字節(jié)是單元訪問的起始。如果該語法元素從SL包標題的配置中忽略,其缺省值依照下列規(guī)則從前一個SL包標題中了解 accessUnitStartFlag=(在accessunitendflag=1以前的SL包)?1:0。
accessUnitendFlag——當?shù)扔?時,其表示SL包的負載的最后一個字節(jié)是當前訪問單元的最后一個字節(jié)。如果該語法元素從SL包標題的配置中忽略,其缺省值只在接收到SL包標題后依照下列規(guī)則了解 accessUnitEndFlag=(在accessunitstartflag==1之后的SL包)?1:0。
如果accessUnitStartFlag既沒有accessUnitEndFlag也沒有配置在SL包標題中,意味著每個SL包標題對應單個訪問單元,其中每個accessUnitStartFlag=accessUnitEndFlag=1。
注意,當SL包標題被配置使用accessUnitStartFlag但不是accessUnitEndFlag也不是accessUnitLength,在下一個被接收之前不會保證終端將能夠確定訪問單元的結(jié)束。
OCRFlag——當?shù)扔?時,它表示對象時鐘參考(objectClockReference)將會跟隨。OCRFlag的缺省值是0。
idleFlag——表示對于未確定量的時間該基本碼流將是不活動的(即,缺少預期的數(shù)據(jù))。該信號可以被解碼器用來區(qū)別人為的缺少和由于在隨后的SL包中的錯誤而產(chǎn)生的缺少。
PaddingFlag-表示將在該SL包中使用的數(shù)據(jù)完成模式。PaddingFlag的缺省值為0。
PaddingBit-表示將在該SL包中使用的數(shù)據(jù)完成模式。PaddingBit的缺省值為0。
如果PaddingFlag被設(shè)置并且PaddingBit等于0,這表示該SL包的隨后的負載只由完成字節(jié)組成。如果PaddingFlag被設(shè)置并且PaddingBit等于0,則accessUnitStartFlag、randomAccessPointFlag以及Ocrflag一定不能被設(shè)置。
如果PaddingFlag被設(shè)置并且PaddingBit大于0,這表示該SL包的負載被跟隨。PaddingBit,由調(diào)整負載的字節(jié)的0位組成。
PacketSequenceNumber-如果存在,對于每個Sl包,其必須被連續(xù)增加以作為模數(shù)計數(shù)器。解碼器中的不連續(xù)與一個或幾個丟失的SL包相對應。在該情況下,錯誤必須被指示到同步層。如果該語法元素從該SL包標題的配置中漏掉,對于基本碼流來講,由同步層對流單元的連續(xù)性的控制不能被執(zhí)行。
SL包的復制在其SL包標題中具有序數(shù)字段的基本碼流必須使用SL包的復制來錯誤復原。復制的Sl包必須立刻跟隨最初的包。復制的SL包的包序數(shù)(packetSequenceNumber)必須具有相同的值,并且最初的SL包的每個字節(jié)必須被復制,對象時鐘參考(objectClockReference)字段除外,如果存在,其必須編碼復制的SL包的有效的值。
degPrioFlag-當?shù)扔?時,其表示降級優(yōu)先級(degradationPriority)存在于該包中。
degradationPriority-表示該SL包的負載的重要性。流優(yōu)先級定義了基本碼流(ES)的基礎(chǔ)優(yōu)先級。降級優(yōu)先級(degradationPriority)定義了關(guān)于基礎(chǔ)優(yōu)先級的SL包的優(yōu)先級遞減。SL包的該優(yōu)先級由下式給出 SL_PacketPriority=streamPriority-degradationPriority 降級優(yōu)先級(degradationPriority)保持該值直到下一個事件。該指示可以由基本碼流解碼器以及適配器,例如特定的分配層,來使用。不同的基本碼流的SL包中的降級的比例隨SL_packetPriority減少而增加。
對象時鐘參考(ObjectClockReference)——包括對象時間標記。該ORT t時間值依照下列公式從該OCR時間標記重建 t=(objectClockReference/SL.OCRResolution)+K*(2SL.OCRLength/SL.OCRResolution) 其中k是objectclockreference計數(shù)器已經(jīng)過的時間。
如果OCRFlag被設(shè)置,objectClockReference只出現(xiàn)在SL包標題中。
只有一個OCR只可以被傳輸而不用裝載在SL包內(nèi)部。
下面描述的是語法元素的語義,當所述的語法元素由二進制流中的accessUnitStartFlag專門表示時,其只出現(xiàn)在訪問單元的開始部分。
RandomAccessPointFlag——當?shù)扔?是,其表示對該基本碼流的內(nèi)容的訪問是可能的。如果accessunitstartFlag被設(shè)置,必須只有RandomaccesspointFlag被設(shè)置。如果該語義單元從SL包標題的配置中忽略,其缺省值是基本碼流的SlconfigDescriptor.hasRandomaccessunitonlyFlag值。
AU_sequenceNumber——如果存在,對于每個訪問單元,其必須被連續(xù)增加以作為模組計數(shù)器。解碼器中的不連續(xù)與一個或幾個丟失的訪問單元相對應。在該情況下,錯誤必須被指示到同步層的用戶。如果該語法元素從該SL包標題的配置中漏掉,對于基本碼流來講,由同步層對流單元的連續(xù)性的控制不能被執(zhí)行。
訪問單元的復制利用和AU相同的順序數(shù)立即發(fā)送的訪問單元必須被忽略。這樣的復制的訪問單元允許增加指向傳送流的隨機的訪問,其中復制的訪問單元的原始的單元沒有將RAP設(shè)置,而復制的訪問單元卻設(shè)置了RAP。這允許客戶端在流傳輸期間在確定的點進入流,而其它的客戶端已經(jīng)接收到該流。
DecodingTimeStampFlag——表示解碼時間標記出現(xiàn)在該包中。
CompositionTimeStampFlag——表示時間標記組成出現(xiàn)在該包中。
AccessUnitLengthFlag——表示訪問單元的長度出現(xiàn)在該包中。
InstantBitrateFlag——表示即時比特率出現(xiàn)在該包中。
DecodingTimeStamp——配置在相關(guān)的SLConfigDescriptor中的解碼時間標記。該訪問單元的解碼時間td依照下列公式從該時間標記重建 td= (decodingTimestamp/SL.timeStampResolution+K*2SL.timeStamLength/SL.timeStampResolution) 其中k是decodingTimestamp計數(shù)器已經(jīng)過的時間。
如果解碼器時間與該訪問單元的時間組成不同,必須只有decodingTimestamp出現(xiàn)。
CompositionTimeStamp(合成時間標記)——配置在相關(guān)的SLConfigDescriptor中的時間標記組成。第一時間單元的時間組成tc由該事實產(chǎn)生,該事實是該訪問單元是依照下列公式從該時間標記組成重建 Td=(compositionTimeStamp/SL.timeStampResolution+K*2SL.timeStamLength/SL.timeStampResolution) 其中k是compositiontimeStamp計數(shù)器已經(jīng)過的時間。
訪問單元長度(accessUnitLength)——以字節(jié)表示的訪問單元的長度。如果該語法元素沒有出現(xiàn)或其值是0,訪問單元的長度未知。
即時比特率(InstantbitrateFlag)——以每秒比特表示的基本碼流的即時的比特率,直到下一個比特率字段找到。
標記符值(markerValue)——允許識別訪問單元的標記符的值。如果標記符描述符(markerDescriptor)存在,該標記符被確定。
相關(guān)性指針值(DependencyPointerValue)——DTS或由相關(guān)性描述符(DependencyDescriptor)確定的標記符索引。
標記符描述符數(shù)量(markerDescriptorCount)標記符描述符的數(shù)量。
相關(guān)性描述符數(shù)量(DependencyDescriptorCount)相關(guān)的描述符的數(shù)量。
7.解碼語義 7.1前部參照機制(模式0和1) 與ES(基本碼流)相關(guān)的SlconfigDescriptor表示允許進入該流的第一訪問單元。
如果參照模式是DTS,則SlconfigDescriptor必須包括解碼時間標記(decodingTimeStamp)。
否則,標記符被用于標記每個訪問單元。0和-1具有特定的意義 //0意思是沒有訪問單元跟隨 //-1意思是可以使用任何訪問單元。
每個訪問單元必須包含標記符和相關(guān)性指針,該指針允許每個訪問單元指示下一個訪問單元。
7.2后部參照機制(模式2) SlconfigDescriptor將定義n個相關(guān)性描述符(DependencyDescriptor)型描述符,其將指示ESID參照的基本碼流(ES)中的訪問單元。
當前流的每個訪問單元將利用通過DTS參照ES_base訪問單元(由ESID識別)的相關(guān)性指針指向ES上的訪問單元,其中ES的標識符是ESID,稱作ES_base。
7.3 IPMO模式(模式3) 在解碼之前,相關(guān)性指針被傳送到IPMP系統(tǒng)。該不透明的指針允許IPMP源確定解碼訪問單元是否是可能的。如果密鑰沒有接收到或者如果權(quán)限不允許,其可以負面響應。解碼后該相關(guān)性指針被鏈接到合成單元。
在組合之前其被返回到IPMP系統(tǒng),IPMP源然后將確定該單元是否可以出現(xiàn)。
8.時鐘參者流 streamType=ClockReferenceStream基本碼流必須使用對象描述符來表示。它被用于傳送對象參照時間標記。姓名組中的多個基本碼流可以引用這種在SLConfigDescriptor中使用OCR_ES_ID語法元素的ClockReferenceStream,以避免時鐘參考信息的重復轉(zhuǎn)送??墒牵仨氉⒁?,基本碼流之間使用OCR_ES_ID的循環(huán)引用不被允許。
在同步層上,通過在SL水平配置用于數(shù)據(jù)流的數(shù)據(jù)包標題來執(zhí)行ClockReferenceStream,使得僅有OCCResolution的需要的OCR值和PCRLength存在于SL數(shù)據(jù)包標題中。
在streamType=ClockReferenceStream的數(shù)據(jù)包流-SL中沒有SL數(shù)據(jù)包負荷。
在用于時鐘參考流的DecoderConfigDescriptor中,objectTypeIndication必須設(shè)置在′0xFF′上,hasRandomAccessUnitsOnlyFlag超過1,bufferSizeDB超過′0′。
以下表示時鐘參考流的SLConfigDescriptor的建議值 表3-時鐘參考流(ClockReferenceStream)的SLConfigDescriptor的SLConfigDescriptor值 useAccessUnitStartFlag0 useAccessUnitEndFlag0 useRandomAccessPointFlag0 usePaddingFlag0 useTimeStampsFlag0 useIdleFlag0 useIdleFlag0 durationFlag0 timeStampResolution0 timeStampLength0 AU_Length0 degradationPriorityLength0 AU_seqNumLength0 9.對共享相同的時間基對象的基本碼流的限制 當通過OCR_ES_ID在幾個基本碼流之間共享時間基對象時,存在用于訪問這些基本碼流以及它們的過程的多個限制,如下所述 當幾個基本碼流共享簡單時間基目標時,即使它們是可訪問的,也不需要使用沒有集成時間引用信息的基本碼流,直到傳送目標時鐘參考信息的基本碼流變成可訪問的。
如果在傳送目標時鐘參考信息的基本碼流之后沒有集成時間引用信息的基本碼流變得對于終端來說是有效的,那么該基本碼流必須和其它流同步傳送。注意,這意味著依據(jù)時間基目標的當前值,不需要從開始就傳送這種流。
當基本碼流傳送目標時鐘參考信息變得不可利用了或其用于其它方面(例如備用模式)時,使用相同時間基對象的所有的其它的基本碼流必須遵循這個方案;即,它們必須變得不可利用或在相同方向上操作。
當沒有集成目標時鐘參考信息的基本碼流變得不可利用時,這沒有影響共享該時間基對象的其它的基本碼流。
10.使用用于時鐘參考和時間標記值的配置選擇 10.1解決時間基對象的復原中的模糊點 依據(jù)objectClockReference值的限定的長度,這些時間標記可能是模糊的。每次在SL數(shù)據(jù)包標題中傳送objectClockReference時,該OTB時間值可能依據(jù)下列公式被重建 toTB_reconstructed=(objectClockReference/SL.OCCResolution)+k*(2SL.OCRLength/SL.OCRResolution) 其中k是表示循環(huán)數(shù)的整數(shù)值。
結(jié)果時間基tOTB_reconstructed以秒鐘來測量。
當用于基本碼流的第一objectClockReference已知時,k值必須設(shè)置成1。對于objectClockReference的每個連續(xù)出現(xiàn),k值通過以下方式估算 終端必須知道用于在每一時刻估算時間基對象的值的手段。
每次接收objectClockReference時,該OTB tOTB_estimated的估算的當前值必須被采樣。因此,對k的不同值進行估算tOTB_res(k)。使持續(xù)時間_tOTB_estimated-tOTB_res(k)最小化的該k值必須被認為是tOTB_reconstructed的校正值。該值必須用作是對時間基對象估算進程的新的貢獻。
該應用必須確保這個程序處理k的非模糊值,這是通過在基本碼流中選擇對于objectClockReference元素的恰當?shù)拈L度和分辨率以及objectClockReference嵌入值的充分高的效率實現(xiàn)的。對該值的選擇依據(jù)SL數(shù)據(jù)包的傳送穩(wěn)定性以及在終端和接收機的時鐘之間的最大的被希望的延遲而定。
10.2解決時間標記的復原中的模糊點 依據(jù)decodingTimeStamp和compositionTimeStamp值,這些時間標記可能變得模糊,通過下列公式來表示 Tts(m)=(TimeStamp/SL.timeStampResolution)+m*(2SL.timeStampLength/SL.timeStampResolution) 其中TimeStamp(時間標記)或者是decodingTimeStamp(解碼時間標記)或者是compositionTimestamp(合成時間標記),并且m是表示循環(huán)數(shù)的整數(shù)值。
時間標記的校正ttimestamp值可以如下進行估算 每次接收TimeStamp時,必須對OTB tOTB_estimated的當前估算值進行采樣。對用于m的各種值的tts(m)進行估算。該m值被認為是ttimestamp的校正值,該值使term_tOTB_estimated-tts(m)_最小化。
該應用可以獨立地為每個單獨的基本碼流選擇該時間標記的長度和分辨率,這是為了符合關(guān)于時間事件的非模糊定位的需要。這個選擇根據(jù)在由TimeStamp指定的時刻后送出帶有TimeStamp的SL數(shù)據(jù)包的最大時間以及時間定位的所需要的精度。
10.3關(guān)于對象時鐘參考和時間標記的使用的評述 對象基礎(chǔ)時間的時間線允許通過大于/SL.OCCResolution來區(qū)分兩個隔開的時刻。必須選擇足夠大容量的OCCResolution,從而允許得到與一組基本碼流同步的該應用所需要的精度。
時間和合成標記允許區(qū)分通過大于/SL.OCCResolution而分隔開的兩個獨立時刻。根據(jù)得到用于給定基本碼流的訪問(access)單元,必須選擇足夠大容量的TimeStampResolution,以允許得到該應用所需要的精度。
大于OCCResolution的TimeStampResolution將允許得到事件之間的最好的區(qū)分。如果TimeStampResolution小于OCRResolution,不可能得到具有該給定OCCResolution的可能的最大精度的這個特定流的事件。
在SL標題的結(jié)構(gòu)中指出該OCRLength參數(shù)。在其循環(huán)之前,2SL.OCRLength/SL.OCRResolution是由objectClockReference計數(shù)器覆蓋的時間間隔。為了符合該應用的對于所有基本碼流的時間事件的非模糊定位的需要。
當該應用知道以上已定義的k值時,對于每個時間值OTB,時間線是清晰的。當該應用不能重建該k因數(shù)時,例如在允許沒有其它信息的隨機訪問的情況下,該OTB線對于模式2SL.OCRLength/SL.OCRResolution是模糊的。因此,引用該OTB的每個時間標記是模糊的??墒?,可以在應用情況內(nèi)是清晰的,該情況使用假定的最大振動和在持續(xù)時間上的限制的知識,其中可以在解碼之前傳送訪問單元。
必須注意,基本碼流僅能夠以非模糊方式得到兩個時間間隔的最小的時間間隔內(nèi)的時間事件,該基本碼流選擇時間間隔2SL.OCRLength/SL.TimeStampResolution大于2SL.OCRLength/SL.OCRResolution。
在一些情況下,當不能正確的估算k和m時,可能超越緩沖器模式,其導致解碼器的不希望的操作和結(jié)果。
例如,鑒于希望使具有1ms精度的基本碼流同步的應用,必須選擇OCRResolution等于或大于1000(因此兩個連續(xù)的OCT脈沖之間的時間等于1ms)??梢约俣∣CRResolution=2000。
該應用假定STB和OTB之間的0.1%的振動(即每秒鐘1ms)。因此必須至少每秒鐘(即在最糟糕的情況下,時鐘偏離1ms,其是精度抑制)調(diào)整時鐘??梢约俣?s傳送objectclockReference。
該應用可以希望具有24h的清楚的OTB時間線,而不需要重建該因數(shù)k。因此選擇OCRLength作為結(jié)果,即2SL.OCRLength/SL.OCRResolution=24h。
現(xiàn)在假定該應用希望除了10ms的精度外使基本碼流內(nèi)的事件同步。必須選擇TimeStampResolution等于或大于100(因此兩個連續(xù)的TimeStamp脈沖之間的時間等于10ms)。假定TimeStampResolution=200。
該應用希望該通行能力在它們的解碼器或合成時間之前最大的一分鐘時發(fā)送訪問單元。該因此選擇timeStampLength為2SL timeStampLength/SL.TimeStampResolution=2分鐘。
權(quán)利要求
1、一種用于將至少一個數(shù)據(jù)流傳輸?shù)街辽僖粋€終端的方法,其中所述的一個或多個流以流單元的形式組織,其特征在于所述的流單元中至少一些流單元包括至少一個指針,該指針指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元,使得如果必須的在先單元沒有被接收,在所述終端中不執(zhí)行對所述流單元的處理。
2、根據(jù)權(quán)利要求1所述的傳輸方法,其特征在于其包括至少兩個獨立傳輸?shù)臄?shù)據(jù)流的傳輸;第一流的一個流單元指向至少一個第二流的至少一個必須的在先單元,其中所述的第一流的流單元包括被包含在所述的第二流中的數(shù)據(jù)的增補數(shù)據(jù)。
3、根據(jù)權(quán)利要求2所述的傳輸方法,其特征在于所述的數(shù)據(jù)流與分層編碼的不同層級相對應,其中如果對應的較低層級的流單元已被接收,則只執(zhí)行給定的層級的流單元的處理。
4、根據(jù)權(quán)利要求2和3中任一權(quán)利要求所述的傳輸方法,其特征在于該流單元指向確定必須的在先單元的序列的至少一個在先單元。
5、根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的傳輸方法,其特征在于所述指針中至少一個指針允許復原至少一個必須的在先單元,該在先單元包括允許對所考慮的流單元解碼和/或解密的數(shù)據(jù)。
6、根據(jù)權(quán)利要求5所述的傳輸方法,其特征在于所述的必須的在先單元包括有數(shù)據(jù),所述數(shù)據(jù)允許終端確定所考慮的流單元的數(shù)據(jù)是否應被解碼和/或解密,并在解碼后顯示。
7、根據(jù)權(quán)利要求1-6中任一權(quán)利要求所述的傳輸方法,其特征在于所述的指針中至少一個指針指向那些可以由所述的終端知曉的數(shù)據(jù),使得該終端知能夠確定其有能力或無能力來處理相應的流單元。
8、根據(jù)權(quán)利要求1-7中任一權(quán)利要求所述的傳輸方法,其特征在于所述的流單元中至少其中之一包括有至少一個指針,該指針指向所述的流的或可以隨后被接收的另一個流的至少一個流單元。
9、根據(jù)權(quán)利要求8所述的傳輸方法,其特征在于所述的或可以隨后被接收的流單元具有標記符,其允許與所述的指針相關(guān)聯(lián)。
10、根據(jù)權(quán)利要求8和9中任一權(quán)利要求所述的傳輸方法,其特征在于在不同的時間傳輸?shù)闹辽賰蓚€相似的流單元的指針指向可以隨后被接收的同一個流單元。
11、根據(jù)權(quán)利要求1-10中任一權(quán)利要求所述的傳輸方法,其特征在于使用一個指示符,該指示符從至少兩個作用中指定指針的作用,所述的至少兩個作用屬于一個組,該組包括
-指定至少一個在先的流單元,為了允許計及所考慮的流單元,該在先的流單元必須被解碼;
-指定至少一個在先流單元,它包括有解碼和/或解密該所考慮的流單元所必須的數(shù)據(jù),和/或保護系統(tǒng)狀態(tài)下的一個參考。
-指定至少一個在后流單元。
12、根據(jù)權(quán)利要求11所述的傳輸方法,其特征在于所述的流單元中至少一些流單元包括有用于限定所述作用的相關(guān)性描述符。
13、根據(jù)權(quán)利要求1-12中任一權(quán)利要求所述的傳輸方法,其特征在于所述的流單元中至少一些流單元包括有相關(guān)性標記符,允許將其標識為必須的在先單元。
14、根據(jù)權(quán)利要求1-13中任一權(quán)利要求所述的傳輸方法,其特征在于所述的流單元中至少一些流單元包括所述流中所述流單元的識別標記符。
15、根據(jù)權(quán)利要求1-14中任一權(quán)利要求所述的傳輸方法,其特征在于其在同步層被實施,從而不需要對接收到的流單元進行任何預處理。
16、根據(jù)權(quán)利要求1-15中任一權(quán)利要求所述的傳輸方法傳輸?shù)臄?shù)據(jù)流。
17、傳輸?shù)街辽僖粋€終端和/或從至少一個終端接收的、并且以相互獨立傳輸?shù)牧鲉卧男问浇M織的數(shù)據(jù)流,其特征在于所述流單元中的至少一些流單元包括至少一個指針,該指針指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元,使得,如果必須的在先流單元沒有被接收,則在所述的終端內(nèi)不執(zhí)行對該流單元的處理。
18、一種數(shù)據(jù)服務器,該數(shù)據(jù)用于以被組織成流單元的至少一個數(shù)據(jù)流的形式被傳輸?shù)街辽僖粋€終端,所述的流單元是互相獨立傳輸?shù)模涮卣髟谟谒龅牧鲉卧兄辽僖恍┝鲉卧ㄖ辽僖粋€指針,其指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元。
19、一種適用于接收至少一個以流單元形式組織的數(shù)據(jù)流的終端,所述的流單元是互相獨立傳輸?shù)?,其特征在于所述的流單元中的至少一些流單元包括至少一個指針,該指針指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元。
20、一種以流單元形式組織的至少一個數(shù)據(jù)流的接收方法,所述的流單元是互相獨立傳輸?shù)?,其特征在于這些流單元中的至少其中一些包括至少一個指針,其指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元。
21、根據(jù)權(quán)利要求20所述的接收方法,其特征在于所述的指針中至少一個指針指向所述數(shù)據(jù)流的或可能以前已經(jīng)在終端被接收的另一個數(shù)據(jù)流的至少一個流單元,該流單元被稱作必須的在先流單元,其特征在于該接收方法包括下列步驟
-分析一個流單元的所述指針,
-如果必須的在先單元已經(jīng)被接收,則處理所述的流單元。
22、將根據(jù)權(quán)利要求1至15中任一權(quán)利要求所述的傳輸方法應用于下列應用之一
-在訪問由用戶選定的節(jié)目之前對消息的系統(tǒng)廣播,
-有條件的訪問節(jié)目的特定質(zhì)量級和/或特定選項,
-交互式電視。
全文摘要
用于傳輸數(shù)據(jù)流的方法;數(shù)據(jù)流、服務器、終端、接收方法以及其相應的應用。本發(fā)明涉及向至少一個終端傳輸至少一個數(shù)據(jù)流的方法,所述的數(shù)據(jù)流被以流單元的形式組織,其特征在于為了優(yōu)化終端的處理和/或所述流的有用的流量,所述的流單元中至少其中一些包括至少一個指向一個流單元或其它流的指針。
文檔編號H04N7/24GK1647536SQ0380839
公開日2005年7月27日 申請日期2003年3月7日 優(yōu)先權(quán)日2002年3月8日
發(fā)明者亞歷山大·克塔曼納克 申請人:法國電信公司