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

支持媒體文件中的高級編碼格式的制作方法

文檔序號:7860032閱讀:282來源:國知局
專利名稱:支持媒體文件中的高級編碼格式的制作方法
技術領域
一般來說,本發(fā)明涉及多媒體文件格式的視聽內容的存儲和檢索,具體來說,涉及與ISO媒體文件格式兼容的文件格式。
著作權聲明/許可本專利文檔的公開的一部分包含受到著作權保護的資料。著作權所有者不反對任何人傳真復制本專利文檔或專利公開,因為它出現(xiàn)在專利和商標局專利文件或記錄中,但在其它方面仍保留所有著作權。以下聲明適用于以下所述以及與此相關的附圖中的軟件和數(shù)據(jù)Copyright2001,Sony Electronics,Inc.,版權所有,不得翻印。
背景技術
隨著對網(wǎng)絡、多媒體、數(shù)據(jù)庫和其它數(shù)字容量的迅速增長的需求,已經(jīng)開發(fā)了許多多媒體編碼及存儲方案。用于對視聽數(shù)據(jù)進行編碼和存儲的眾所周知的文件格式之一是Apple Computer Inc開發(fā)的QuickTime文件格式。QuickTime文件格式用作創(chuàng)建國際標準化組織(ISO)多媒體文件格式、ISO/IEC 14496-12、信息技術--視聽對象的編碼--第12部分ISO媒體文件格式(又稱作ISO文件格式)的起點,ISO媒體文件格式又用作兩個標準文件格式的模板(1)用于活動圖像專家組開發(fā)的MPEG-4文件格式,稱作MP4(ISO/IEC 14496-14,信息技術-視聽對象的編碼-第14部分MP4文件格式);以及(2)JPEG 2000的文件格式(ISO/IEC 15444-1),由聯(lián)合圖像專家組(JPEG)開發(fā)。
ISO媒體文件格式由稱作盒(又稱作原子或對象)的面向對象的結構組成。兩個重要的頂層盒包含媒體數(shù)據(jù)或元數(shù)據(jù)。大部分盒描述了提供關于實際媒體數(shù)據(jù)的說明、結構和時間信息的元數(shù)據(jù)的分層結構。盒的這個集合包含在稱作電影盒的盒中。媒體數(shù)據(jù)本身可位于媒體數(shù)據(jù)盒中或外部。提供關于特定媒體數(shù)據(jù)的信息的元數(shù)據(jù)盒的集合分級結構稱作軌道。
主要元數(shù)據(jù)為電影對象。電影盒包括軌道盒,它描述短暫呈現(xiàn)的媒體數(shù)據(jù)。用于軌道的媒體數(shù)據(jù)可以是各種類型的(例如視頻數(shù)據(jù)、音頻數(shù)據(jù)、二進制格式屏幕表示(BIFS)等)。各軌道還分為若干樣本(又稱作存取單元或圖片)。樣本表示在特定時間點的媒體數(shù)據(jù)單元。樣本元數(shù)據(jù)包含在樣本盒集合中。各軌道盒包含樣本表盒元數(shù)據(jù)盒,它包含提供各樣本的時間、以字節(jié)表示的樣本大小等的盒。樣本是可表示定時、位置及其它元數(shù)據(jù)信息的最小數(shù)據(jù)實體。樣本可分組為包含連續(xù)樣本集合的組塊。組塊可以是不同大小的,并且包含不同大小的樣本。
最近,MPEG的視頻小組和國際電信聯(lián)盟(ITU)的視頻編碼專家組(VCEG)開始作為聯(lián)合視頻組(JVT)合作開發(fā)新的視頻編碼/解碼(編解碼器)標準,稱作ITU建議H.264或MPEG-4第10部分,“高級視頻編解碼器(AVC)或JVT編解碼器”。這些術語及其縮寫,如H.264、JVT和AVC,在這里可交替使用。
JVT編解碼器設計區(qū)分兩個不同的概念層,視頻編碼層(VCL)和網(wǎng)絡提取層(NAL)。VCL包含編解碼器的編碼相關部分,例如運動補償、系數(shù)的變換編碼以及熵編碼。VCL的輸出是一些條,其中的每個包含一系列宏塊及相關標題信息。NAL從用于攜帶VCL數(shù)據(jù)的傳輸層的詳細信息中提取VCL。它定義條級以上的信息的傳輸無關的一般表示。NAL定義視頻編解碼器本身與外部世界之間的接口。在內部,NAL使用NAL包。NAL包含有指明凈荷類型的類型字段加上凈荷中的位組。單條內的數(shù)據(jù)可進一步分為不同的數(shù)據(jù)分區(qū)。
在許多現(xiàn)有的視頻編碼格式中,編碼流數(shù)據(jù)包括各種標題,其中包含控制解碼過程的參數(shù)。例如,MPEG-2視頻標準包括序列標題、增強圖像組(GOP)以及對應那些項的視頻數(shù)據(jù)之前的圖像標題。在JVT中,對VCL數(shù)據(jù)解碼所需的信息被分組為參數(shù)集。各參數(shù)集被賦予一個標識符,該標識符隨后被用作條中的參考。不是在流內(帶內)發(fā)送參數(shù)集,而是可在流外(帶外)發(fā)送。
現(xiàn)有的文件格式?jīng)]有提供存儲與編碼媒體數(shù)據(jù)相關的參數(shù)集的工具;它們也沒有提供用于把媒體數(shù)據(jù)(即樣本或子樣本)與參數(shù)集有效地鏈接、使得可以有效地檢索及傳送參數(shù)集的方法。
在ISO媒體文件格式中,不經(jīng)過剖析媒體數(shù)據(jù)即可存取的最小單位是樣本,即AVC中的完整圖片。在許多編碼格式中,樣本還可分為稱作子樣本(又稱作樣本段或存取單元段)的更小單元。在AVC的情況下,子樣本對應于條。但是,現(xiàn)有的文件格式不支持存取樣本的子部分。對于需要靈活地把存儲在文件中的數(shù)據(jù)組成數(shù)據(jù)包供流式傳輸?shù)南到y(tǒng),缺乏存取子樣本的能力阻礙了JVT媒體數(shù)據(jù)的靈活分包以便流式傳輸。
現(xiàn)有存儲格式的另一個限制必須處理具有不同帶寬的已存儲流之間隨著流式傳輸媒體數(shù)據(jù)時變化的網(wǎng)絡條件而進行的交換。在典型的流式傳輸情況中,關鍵要求之一是隨著變化的網(wǎng)絡條件來縮放壓縮數(shù)據(jù)的比特率。這通常通過對具有不同帶寬以及典型網(wǎng)絡條件的質量設定的多個流進行編碼、并將其存儲在一個或多個文件中來實現(xiàn)。然后,服務器可響應網(wǎng)絡條件在這些預先編碼的流之間進行交換。在現(xiàn)有的文件格式中,流之間的交換只有在不依賴先前樣本來重構的樣本上才是可行的。這些樣本稱作I幀。目前沒有在依賴先前樣本來重構的那些樣本(即與供參考的多個樣本相關的P幀或B幀)上對流間交換提供任何支持。
AVC標準提供一種稱為交換圖像(稱作SI圖像和SP圖像)的工具來實現(xiàn)流間有效交換、隨機存取和錯誤復原以及其它功能。交換圖像是一種特殊的圖像,它的重構值完全等于它預期要交換到的圖像。交換圖像可使用與用于預測它們所匹配的圖像的那些圖像不同的參考圖像,從而提供比利用I幀更有效的編碼。為了有效地使用存儲在文件中的交換圖像,必須知道哪些圖像集是等效的,還必須知道哪些圖像被用于預測。現(xiàn)有的文件格式不提供這個信息,因此這個信息必須通過剖析編碼流來提取,這是低效且緩慢的。
因此,需要增強存儲方法,以便應付新出現(xiàn)的視頻編碼標準所提供的新功能,以及解決那些存儲方法的現(xiàn)有限制。
發(fā)明概述與多媒體數(shù)據(jù)有關的一個或多個描述被識別,并被包含在與多媒體數(shù)據(jù)相關的補充增強信息(SEI)中。隨后,把包含這些描述的SEI傳送給解碼系統(tǒng),以便可選地用于多媒體數(shù)據(jù)的解碼中。
附圖簡介在附圖中,通過舉例而不是限定的方式對本發(fā)明進行說明,各附圖中類似的參考標號表示類似的元件,附圖中

圖1是編碼系統(tǒng)的一個實施例的框圖;圖2是解碼系統(tǒng)的一個實施例的框圖;圖3是適合實施本發(fā)明的計算機環(huán)境的框圖;圖4是在編碼系統(tǒng)中存儲子樣本元數(shù)據(jù)的方法的流程圖;圖5是在解碼系統(tǒng)中利用子樣本元數(shù)據(jù)的方法的流程圖;圖6說明具有子樣本的擴展MP4媒體流模型;圖7A-7K說明用于存儲子樣本元數(shù)據(jù)的示范數(shù)據(jù)結構;
圖8是在編碼系統(tǒng)中存儲參數(shù)集元數(shù)據(jù)的方法的流程圖;圖9是在解碼系統(tǒng)中利用參數(shù)集元數(shù)據(jù)的方法的流程圖;圖10A-10E說明用于存儲參數(shù)集元數(shù)據(jù)的示范數(shù)據(jù)結構;圖11說明示范的增強圖像組(GOP);圖12是在編碼系統(tǒng)中存儲序列元數(shù)據(jù)的方法的流程圖;圖13是在解碼系統(tǒng)中利用序列元數(shù)據(jù)的方法的流程圖;圖14A-14E說明用于存儲序列元數(shù)據(jù)的示范數(shù)據(jù)結構;圖15A和1 5B說明用于比特流交換的交換樣本集的使用;圖15C是用于確定要執(zhí)行兩個比特流之間交換的點的方法的一個實施例的流程圖;圖16是在編碼系統(tǒng)中存儲交換樣本元數(shù)據(jù)的方法的流程圖;圖17是在解碼系統(tǒng)中利用交換樣本元數(shù)據(jù)的方法的流程圖;圖18說明用于存儲交換樣本元數(shù)據(jù)的示范數(shù)據(jù)結構;圖19A和19B說明實現(xiàn)比特流的隨機存取入口點的交換樣本集的使用;圖19C是用于確定樣本的隨機存取點的方法的一個實施例的流程圖;圖20A和20B說明實現(xiàn)錯誤恢復的交換樣本集的使用;圖20C是用于實現(xiàn)發(fā)送樣本時的錯誤恢復的方法的一個實施例的流程圖;圖21和22說明根據(jù)本發(fā)明的一些實施例的參數(shù)集元數(shù)據(jù)的存儲;以及圖23-26說明根據(jù)本發(fā)明的一些實施例的補充增強信息(SEI)的存儲。
本發(fā)明的詳細說明在本發(fā)明的實施例的以下詳細說明中,參照附圖,圖中類似的參考標號表示相似的元件,圖中以舉例說明的方式給出可實施本發(fā)明的具體實施例。對這些實施例進行了詳細描述,足以使本領域的技術人員能夠實施本發(fā)明,并且要理解,可采用其它實施例,在不背離本發(fā)明范圍的前提下可進行邏輯、機械、電氣、功能及其它變更。因此,以下詳細說明不是限制性的,本發(fā)明的范圍僅由所附權利要求來定義。
概述以本發(fā)明的操作的概述開始,圖1說明編碼系統(tǒng)100的一個實施例。編碼系統(tǒng)100包括媒體編碼器104、元數(shù)據(jù)生成器106和文件創(chuàng)建器108。媒體編碼器104接收媒體數(shù)據(jù),其中可包含視頻數(shù)據(jù)(例如從自然源視頻場景創(chuàng)建的視頻對象以及其它外部視頻對象)、音頻數(shù)據(jù)(例如從自然源音頻場景創(chuàng)建的音頻對象以及其它外部音頻對象)、合成對象或以上各項的任何組合。媒體編碼器104可由許多單個編碼器組成或者包括子編碼器以處理各種媒體數(shù)據(jù)。媒體編碼器104對媒體數(shù)據(jù)進行編碼,并將它傳遞給元數(shù)據(jù)生成器106。元數(shù)據(jù)生成器106根據(jù)媒體文件格式產(chǎn)生提供關于媒體數(shù)據(jù)的信息的元數(shù)據(jù)。媒體文件格式可來源于ISO媒體文件格式(或它的任何衍生物,如MPEG-4、JPEG 2000等)、QuickTime或其它任何媒體文件格式,并且還包括一些附加數(shù)據(jù)結構。在一個實施例中,附加數(shù)據(jù)結構被定義為存儲與媒體數(shù)據(jù)內子樣本有關的元數(shù)據(jù)。在另一個實施例中,附加數(shù)據(jù)結構被定義為存儲把媒體數(shù)據(jù)的若干部分(如樣本或子樣本)與包含以傳統(tǒng)方式存儲在媒體數(shù)據(jù)中的解碼信息的對應參數(shù)集鏈接的元數(shù)據(jù)。在又一個實施例中,附加數(shù)據(jù)結構被定義為存儲與元數(shù)據(jù)中各種樣本組有關的元數(shù)據(jù),它們是根據(jù)媒體數(shù)據(jù)中樣本之間的相關性來創(chuàng)建的。在又一個實施例中,附加數(shù)據(jù)結構被定義為存儲與媒體數(shù)據(jù)相關的交換樣本集有關的元數(shù)據(jù)。交換樣本集表示具有相同解碼值、但可能與不同樣本相關的一組樣本。在又一些實施例中,在所使用的文件格式中定義附加數(shù)據(jù)結構的各種組合。下面更詳細地描述這些附加數(shù)據(jù)結構及其功能性。
文件創(chuàng)建器108負責存儲編碼媒體數(shù)據(jù)和元數(shù)據(jù)。在一個實施例中,編碼媒體數(shù)據(jù)及相關元數(shù)據(jù)(例如子樣本元數(shù)據(jù)、參數(shù)集元數(shù)據(jù)、組樣本元數(shù)據(jù)或交換樣本元數(shù)據(jù))存儲在同一個文件中。這個文件的結構由媒體文件格式來定義。
在另一個實施例中,全部或一部分類型的元數(shù)據(jù)與媒體數(shù)據(jù)分開存儲。例如,參數(shù)集元數(shù)據(jù)可與媒體數(shù)據(jù)分開存儲。明確地說,文件創(chuàng)建器108可包括媒體數(shù)據(jù)文件創(chuàng)建器114,形成具有編碼媒體數(shù)據(jù)的文件;元數(shù)據(jù)文件創(chuàng)建器112,形成具有元數(shù)據(jù)的文件;以及同步器116,使媒體數(shù)據(jù)與對應的元數(shù)據(jù)同步。下面更詳細地述述分開的元數(shù)據(jù)的存儲以及它與媒體數(shù)據(jù)的同步。
在一個實施例中,元數(shù)據(jù)文件創(chuàng)建器112負責存儲與媒體數(shù)據(jù)相關的補充增強信息(SEI)消息,作為與媒體數(shù)據(jù)分開的元數(shù)據(jù)。SEI消息表示用于媒體數(shù)據(jù)解碼中的可選數(shù)據(jù)。解碼器不一定使用SEI數(shù)據(jù),因為沒有它也不會妨礙解碼操作。在一個實施例中,SEI消息用來包含媒體數(shù)據(jù)的描述。描述是根據(jù)MPEG-7標準來定義的,并且由描述符和描述方案組成。描述符表示視聽內容的特征,并且定義各特征表示的語法和語義。描述符的實例包括色彩描述符、紋理描述符、運動描述符等。描述方案(DS)指定其成分之間關系的結構和語義。這些成分可以是描述符和描述方案兩者。描述的使用改進了經(jīng)過解碼的媒體數(shù)據(jù)的搜索和查看。由于SEI消息的可選性,因此把描述包含在SEI消息中不會負面影響解碼操作,因為解碼器不一定要使用SEI消息,除非它具有允許這樣使用的能力和特定配置。下面更詳細地論述SEI消息作為元數(shù)據(jù)存儲。
文件創(chuàng)建器108建立的文件可提供在信道110上以便存儲或傳輸。
圖2說明解碼系統(tǒng)200的一個實施例。解碼系統(tǒng)200包括元數(shù)據(jù)提取器204、媒體數(shù)據(jù)流處理器206、媒體解碼器210、合成器212以及呈現(xiàn)器214。解碼系統(tǒng)200可駐留在客戶機裝置中,以及可用于本地重放。或者,解碼系統(tǒng)200可用于流式傳輸數(shù)據(jù),以及具有通過網(wǎng)絡(例如因特網(wǎng))208相互通信的服務器部分和客戶機部分。服務器部分可包括元數(shù)據(jù)提取器204和媒體數(shù)據(jù)流處理器206。客戶機部分可包括媒體解碼器210、合成器212和呈現(xiàn)器214。
元數(shù)據(jù)提取器204負責從存儲在數(shù)據(jù)庫216或者通過網(wǎng)絡(例如從編碼系統(tǒng)100)接收的文件中提取元數(shù)據(jù)。文件可包含、也可不包含與正被提取的元數(shù)據(jù)相關的媒體數(shù)據(jù)。從該文件中提取的元數(shù)據(jù)包含一個或多個上述附加數(shù)據(jù)結構。
提取的元數(shù)據(jù)被傳遞給媒體數(shù)據(jù)流處理器206,它還接收相關的編碼媒體數(shù)據(jù)。媒體數(shù)據(jù)流處理器206采用元數(shù)據(jù)來形成待發(fā)送到媒體解碼器210的媒體數(shù)據(jù)流。在一個實施例中,媒體數(shù)據(jù)流處理器206采用有關子樣本的元數(shù)據(jù)來查找媒體數(shù)據(jù)中子樣本的位置(例如用于分包)。在另一個實施例中,媒體數(shù)據(jù)流處理器206采用有關參數(shù)集的元數(shù)據(jù)把媒體數(shù)據(jù)的若干部分鏈接到其對應的參數(shù)集。在又一個實施例中,媒體數(shù)據(jù)流處理器206采用元數(shù)據(jù)內定義各種樣本組的元數(shù)據(jù)來訪問具體組中的樣本(例如,通過丟棄包含沒有其它樣本與之相關的樣本的組、以便響應傳輸條件而降低傳輸比特率,實現(xiàn)可縮放性)。在又一個實施例中,媒體數(shù)據(jù)流處理器206采用定義交換樣本集的元數(shù)據(jù)來查找具有與預期要交換的樣本相同的解碼值、但不依靠所得樣本將與其相關的樣本的交換樣本(例如允許交換到P幀或B幀上具有不同比特率的流)。
一旦媒體數(shù)據(jù)流形成,它直接地(例如對于本地重放)或者通過網(wǎng)絡208(例如對于流式傳輸數(shù)據(jù))發(fā)送到媒體解碼器210,用于解碼。合成器212接收媒體解碼器210的輸出,并合成將由呈現(xiàn)器214呈現(xiàn)在用戶顯示裝置上的場景。
圖3的以下描述用于提供適合實現(xiàn)本發(fā)明的計算機硬件和其它工作部件的概況,但并非意在限定可適用的環(huán)境。圖3說明適合用作圖1的元數(shù)據(jù)生成器106和/或文件創(chuàng)建器108或者圖2的元數(shù)據(jù)提取器204和/或媒體數(shù)據(jù)流處理器206的計算機系統(tǒng)的一個實施例。
計算機系統(tǒng)340包括與系統(tǒng)總線365耦合的處理器350、存儲器355和輸入/輸出功能360。存儲器355配置成存儲指令,這些指令在由處理器350執(zhí)行時執(zhí)行本文所述的方法。輸入/輸出360還包含各種計算機可讀媒體,其中包括可由處理器350存取的任何類型的存儲裝置。本領域的技術人員馬上會意識到,術語“計算機可讀媒體”還包含對數(shù)據(jù)信號編碼的載波。還會理解,系統(tǒng)340通過在存儲器355中執(zhí)行的操作系統(tǒng)軟件來控制。輸入/輸出及相關媒體360存儲用于操作系統(tǒng)以及本發(fā)明的方法的計算機可執(zhí)行指令。圖1和圖2中所示的元數(shù)據(jù)生成器106、文件創(chuàng)建器108、元數(shù)據(jù)提取器204以及媒體數(shù)據(jù)流處理器206的每一個可以是耦合到處理器350的獨立組件,或者可包含在處理器350執(zhí)行的計算機可執(zhí)行指令中。在一個實施例中,計算機系統(tǒng)340可以是ISP(因特網(wǎng)服務提供商)的一部分或者通過輸入/輸出360與ISP耦合,從而通過因特網(wǎng)發(fā)送或接收媒體數(shù)據(jù)。顯然,本發(fā)明不限于因特網(wǎng)接入以及基于因特網(wǎng)的站點;還設想了直接耦合的以及專用的網(wǎng)絡。
可以理解,計算機系統(tǒng)340是具有不同體系結構的許多可能的計算機系統(tǒng)的一個實例。典型的計算機系統(tǒng)通常至少包括處理器、存儲器以及把存儲器耦合到處理器的總線。本領域的技術人員將會知道,本發(fā)明可采用其它計算機系統(tǒng)配置來實施,其中包括多處理器系統(tǒng)、小型計算機、大型計算機等等。本發(fā)明還可在分布式計算環(huán)境中實施,在這些環(huán)境中,任務由通過通信網(wǎng)絡鏈接的遠程處理裝置來執(zhí)行。
子樣本可存取性圖4和圖5說明存儲和檢索子樣本元數(shù)據(jù)的過程,這些過程分別由編碼系統(tǒng)100和解碼系統(tǒng)200執(zhí)行。這些過程可通過可包括硬件(例如電路、專用邏輯等)、軟件(例如運行于通用計算機系統(tǒng)或專用機器)或者它們兩者的組合的處理邏輯來執(zhí)行。對于軟件實現(xiàn)的過程,流程圖的描述使本領域的技術人員能夠開發(fā)這類程序,其中包含在適當配置的計算機中執(zhí)行這些過程的指令(計算機的處理器從包括存儲器在內的計算機可讀媒體中執(zhí)行這些指令)。計算機可執(zhí)行指令可使用計算機編程語言來編寫,或者可包含在固件邏輯中。如果以符合公認標準的編程語言編寫,則這些指令可在各種硬件平臺上執(zhí)行以及用于與各種操作系統(tǒng)接口。另外,本發(fā)明的實施例沒有參照任何特定編程語言來描述。應當理解,各種編程語言可用來實現(xiàn)本文所述的理論。此外,本領域常以采取動作或產(chǎn)生結果的形式講述一種或另一種形式的軟件(如程序、過程、進程、應用程序、模塊、邏輯...)。這些表達方式只是講述計算機執(zhí)行軟件使得計算機的處理器執(zhí)行動作或產(chǎn)生結果的一種簡化方式。應當理解,或多或少的操作可結合到圖4和圖5所述的過程中,而沒有背離本發(fā)明的范圍,本文所示及所述的框的安排不是意味著任何特定順序。
圖4是用于在編碼系統(tǒng)100中創(chuàng)建子樣本元數(shù)據(jù)的方法400的一個實施例的流程圖。首先,方法400以接收具有編碼媒體數(shù)據(jù)的文件的處理邏輯開始(處理框402)。隨后,處理邏輯提取標識媒體數(shù)據(jù)中子樣本的邊界的信息(處理框404)。根據(jù)所用的文件格式,可附加時間屬性的數(shù)據(jù)流的最小單元稱作樣本(由ISO媒體文件格式或QuickTime定義)、存取單元(由MPEG-4定義)或者圖像(由JVT定義)等。子樣本表示低于樣本級的數(shù)據(jù)流的連續(xù)部分。子樣本的定義取決于編碼格式,但一般來說,子樣本是可作為獨立實體解碼的樣本的有意義的子單元,或者作為子單元的組合以得到樣本的部分重構。子樣本也可稱作存取單元段。子樣本通常表示樣本的數(shù)據(jù)流的分割,使得各子樣本與同一樣本中的其它子樣本具有極少或沒有相關性。例如,在JVT中,子樣本為NAL包。同樣,對于MPEG-4視頻,子樣本為視頻包。
在一個實施例中,編碼系統(tǒng)100在如上所述的JVT定義的網(wǎng)絡提取層工作。JVT媒體數(shù)據(jù)流由一系列NAL包組成,其中各NAL包(又稱作NAL單元)包含標題部分和凈荷部分。一種NAL包用來包含各條的編碼VCL數(shù)據(jù)或者條的單個數(shù)據(jù)分區(qū)。另外,NAL包可以是包含SEI消息的信息包。在JVT中,子樣本可以是具有標題和凈荷的完整NAL包。
在處理框406,處理邏輯建立定義媒體數(shù)據(jù)中的子樣本的子樣本元數(shù)據(jù)。在一個實施例中,子樣本元數(shù)據(jù)被組織成預定數(shù)據(jù)結構的集合(例如盒的集合)。預定數(shù)據(jù)結構的集合可包括包含關于各子樣本大小的信息的數(shù)據(jù)結構、包含關于各樣本中子樣本總數(shù)的信息的數(shù)據(jù)結構、包含描述各子樣本(例如什么被定義為子樣本)的信息的數(shù)據(jù)結構、包含關于各組塊中子樣本總數(shù)的信息的數(shù)據(jù)結構、包含關于各子樣本的優(yōu)先級的信息的數(shù)據(jù)結構、或者包含有關子樣本的數(shù)據(jù)的其它任何數(shù)據(jù)結構。
隨后,在一個實施例中,處理邏輯確定任何數(shù)據(jù)結構是否包含重復的數(shù)據(jù)序列(判定框408)。如果這個判定為肯定,則處理邏輯把各重復的數(shù)據(jù)序列轉換為序列出現(xiàn)的參考以及重復序列出現(xiàn)的次數(shù)(處理框410)。
然后,在處理框412,處理邏輯利用特定媒體文件格式(例如JVT文件格式)把子樣本元數(shù)據(jù)包含到與媒體數(shù)據(jù)相關的文件中。根據(jù)媒體文件格式,子樣本元數(shù)據(jù)可與樣本元數(shù)據(jù)一起存儲(例如子樣本數(shù)據(jù)結構可包含在包含樣本數(shù)據(jù)結構的樣本表盒中)或者與樣本元數(shù)據(jù)分開存儲。
圖5是用于在解碼系統(tǒng)200中使用子樣本元數(shù)據(jù)的方法500的一個實施例的流程圖。首先,方法500以接收與編碼媒體數(shù)據(jù)相關的文件的處理邏輯開始(處理框502)。該文件可從(本地或外部)數(shù)據(jù)庫、編碼系統(tǒng)100或者從網(wǎng)絡上的其它任何裝置接收。該文件包括定義媒體數(shù)據(jù)中的子樣本的子樣本元數(shù)據(jù)。
隨后,處理邏輯從文件中提取子樣本元數(shù)據(jù)(處理框504)。如上所述,子樣本元數(shù)據(jù)可存儲在數(shù)據(jù)結構集合(例如盒集合)中。
此外,在處理框506,處理邏輯利用已提取的元數(shù)據(jù)來標識編碼媒體數(shù)據(jù)中的子樣本(存儲在相同文件或不同文件中),以及把各種子樣本組成包以便發(fā)送到媒體解碼器,從而實現(xiàn)媒體數(shù)據(jù)的靈活分包,以便流式傳輸(例如為了支持錯誤復原、縮放性等)。
下面參照擴展ISO媒體文件格式(稱作擴展MP4)來描述示范子樣本元數(shù)據(jù)結構。本領域的技術人員十分清楚,其它媒體文件格式可以容易地擴展,以便結合用來存儲子樣本元數(shù)據(jù)的類似數(shù)據(jù)結構。
圖6說明具有子樣本的擴展MP4媒體流模型。呈現(xiàn)數(shù)據(jù)(例如包含同步音頻和視頻的呈現(xiàn))由影片602表示。影片602包含一組軌道604。各軌道604表示媒體數(shù)據(jù)流。各媒體數(shù)據(jù)流被分為樣本606。各樣本606表示特定時間點的媒體數(shù)據(jù)單元。樣本606還被分為子樣本608。在JVT標準中,子樣本608可表示NAL包或單元,例如圖像的單個條、具有多個數(shù)據(jù)分區(qū)的條的一個數(shù)據(jù)分區(qū)、帶內參數(shù)集或者SEI信息包?;蛘?,子樣本606可表示樣本的其它任何結構化元素,例如表示媒體中空間或時間區(qū)域的編碼數(shù)據(jù)。在一個實施例中,根據(jù)某種結構或語義標準的編碼媒體數(shù)據(jù)的任何分區(qū)可作為子樣本來處理。
當電影段用來提供關于各樣本的持續(xù)時間和大小的信息、指定各樣本的惡化優(yōu)先級以及其它樣本信息時,軌道擴展盒用來標識軌道段中的樣本。惡化優(yōu)先級定義樣本的重要性,即定義樣本的缺少(例如因其在傳輸過程中丟失)會如何影響影片質量。在一個實施例中,軌道擴展盒被擴展為包含關于軌道段盒中的子樣本的缺省信息。這個信息可包括例如子樣本大小以及子樣本描述的參考。
軌道可被分為若干段。各段可包含樣本的零或多個連續(xù)游程。軌道段游程盒標識軌道段中的樣本,提供關于軌道段中的各樣本的持續(xù)時間和大小的信息以及與軌道段中存儲的樣本有關的其它信息。軌道段標題盒標識用于軌道段游程盒中的缺省數(shù)據(jù)值。在一個實施例中,軌道段游程盒以及軌道段標題盒被擴展為包含關于軌道段中的子樣本的信息。軌道段游程盒中的擴展信息可包括例如存儲在軌道段中的各樣本的子樣本數(shù)量、各子樣本的大小、子樣本描述的參考以及標志集。標志集表明軌道段是否在樣本或子樣本的組塊中存儲媒體數(shù)據(jù),子樣本數(shù)據(jù)是否在軌道段游程盒中存在,以及各子樣本是否具有在軌道段游程盒中存在的大小數(shù)據(jù)和/或描述參考數(shù)據(jù)。軌道段標題盒中的擴充信息可包含例如表明各子樣本是否具有存在的大小數(shù)據(jù)和/或描述參考數(shù)據(jù)的標志的缺省值。
圖7A-7L說明用于存儲子樣本元數(shù)據(jù)的示范數(shù)據(jù)結構。
參照圖7A,包含ISO媒體文件格式所定義的樣本元數(shù)據(jù)盒的樣本表盒700被擴展為包含子樣本存取盒,例如子樣本大小盒702、子樣本描述關聯(lián)盒704、子樣本到樣本盒706以及子樣本描述盒708。在一個實施例中,子樣本存取盒還包括子樣本到組塊盒和優(yōu)先級盒。在一個實施例中,子樣本存取盒的使用是可選的。
參照圖7B,樣本710可以例如可分為例如條712的條、例如分區(qū)714的數(shù)據(jù)分區(qū)以及例如ROI(關注的區(qū)域)716的ROI。這些實例中的每個表示樣本到子樣本的不同分割種類。單個樣本內的子樣本可具有不同的大小。
子樣本大小盒718包含指定子樣本大小盒718的版本的版本字段、指定缺省子樣本大小的子樣本大小字段、提供軌道中子樣本數(shù)量的子樣本計數(shù)字段以及指定各子樣本大小的條目大小字段。如果子樣本大小字段設置為0,則子樣本具有不同大小,它們存儲在子樣本大小表720中。如果子樣本大小字段沒有設置為0,則它指定恒定的子樣本大小,指明子樣本大小表720為空的。表720可具有32位的固定大小或者用于表示子樣本大小的變長字段。如果該字段為可變長度的,則子樣本表包含以字節(jié)數(shù)表示子樣本大小字段的長度的字段。
參照圖7C,子樣本到樣本盒722包含指定子樣本到樣本盒722的版本的版本字段以及提供表723中條目數(shù)量的條目計數(shù)字段。子樣本到樣本表中的各條目包含提供共享每個樣本相同數(shù)量的子樣本的樣本游程中的第一樣本的索引的第一樣本字段以及提供樣本游程內各樣本中子樣本數(shù)量的每個樣本的子樣本字段。
表723可用于通過計算游程中的樣本數(shù)量、把此數(shù)量與適當?shù)拿繕颖镜淖訕颖鞠喑?、并把所有游程的結果相加,得到軌道中的子樣本總數(shù)。
在其它實施例中,子樣本可分組為組塊而不是樣本。然后,子樣本到組塊盒用來標識組塊中的子樣本。子樣本到組塊盒存儲關于共享相同數(shù)量的子樣本的組塊游程中的第一組塊的索引、各組塊中的子樣本數(shù)量以及子樣本描述的索引的信息。子樣本到組塊盒可用來查找包含特定子樣本的組塊、組塊中子樣本的位置以及這個子樣本的描述。在一個實施例中,當子樣本分組為組塊時,子樣本到樣本盒722不存在。同樣,當子樣本分組為樣本時,子樣本到組塊盒不存在。
如上所述,子樣本存取盒可包括指定各子樣本的惡化優(yōu)先級的優(yōu)先級盒。惡化優(yōu)先級定義子樣本的重要性,即定義子樣本的缺少(例如因其在傳輸過程中丟失)會如何影響解碼媒體數(shù)據(jù)的質量。優(yōu)先級盒的大小由軌道中的子樣本數(shù)量來定義,如可從子樣本到樣本盒722或者子樣本到組塊盒確定。
參照圖7D,子樣本描述關聯(lián)盒724包括指定子樣本描述關聯(lián)盒724的版本的版本字段、指明所描述的子樣本的類型(例如NAL包、關注的區(qū)域等)的描述類型標識符以及提供表726中的條目數(shù)量的條目計數(shù)字段。表726中的各條目包括表明子樣本描述ID的子樣本描述類型標識符字段以及提供共享相同子樣本描述ID的子樣本游程中的第一子樣本的索引的第一子樣本字段。
子樣本描述類型標識符控制子樣本描述ID字段的使用。也就是說,根據(jù)描述類型標識符中指定的類型,子樣本描述ID字段本身可指定直接對ID本身中的子樣本描述編碼的描述ID,或者子樣本描述ID字段可用作不同表(即以下描述的子樣本描述表)的索引?例如,如果描述類型標識符指明JVT描述,則子樣本描述ID字段可包含指定JVT子樣本特性的代碼。在這種情況下,子樣本描述ID字段可以是32位字段,其中8個最低有效位用作位掩碼以便表示子樣本中存在預定數(shù)據(jù)分區(qū),以及較高的24位用來表示NAL包類型或用于以后的擴展。
參照圖7E,子樣本描述盒728包括指定子樣本描述盒728的版本的版本字段、提供表730中條目數(shù)量的條目計數(shù)字段、提供子樣本描述字段(該字段用于提供關于子樣本特征的信息)的描述類型的描述類型標識符字段、以及包含一個或多個子樣本描述條目730的表。子樣本描述類型標識與描述信息有關的類型,并對應于子樣本描述關聯(lián)表724中的相同字段。表730中的各條目包含子樣本描述條目,其中具有關于與此描述條目相關的子樣本的特征的信息。描述條目的信息和格式取決于描述類型字段。例如,當描述類型為參數(shù)集時,則各描述條目將包含參數(shù)集的值。
描述信息可涉及參數(shù)集信息、與ROI有關的信息或者表現(xiàn)子樣本的特征所需的其它任何信息。對于參數(shù)集,子樣本描述關聯(lián)表724表明與各子樣本相關的參數(shù)集。在這種情況下,子樣本描述ID對應于參數(shù)集標識符。同樣,子樣本可表示以下不同的受關注區(qū)。把子樣本定義為一個或多個編碼宏塊,然后再使用子樣本描述關聯(lián)表來表示視頻幀或圖像的編碼宏塊分割到不同區(qū)域。例如,某個幀中的編碼宏塊可分為具有兩個子樣本描述ID(即1和2的子樣本描述ID)的前景和背景宏塊,分別表明到前景和背景區(qū)域的分配。
圖7F說明不同類型的子樣本。子樣本可表示沒有分區(qū)的條732、具有多個數(shù)據(jù)分區(qū)的條734、條內標題736、條中部的數(shù)據(jù)分區(qū)738、條的最后數(shù)據(jù)分區(qū)740、SEI信息包742等。這些子樣本類型中的每個可與圖7G所示的8位掩碼744的特定值相關。8位掩碼可組成32位子樣本描述ID字段的8個最低有效位,如上所述。圖7H說明具有等于“jvtd”的描述類型標識符的子樣本描述關聯(lián)盒724。表726包括存儲圖7G所示的值的32位子樣本描述ID字段。
圖7H-7K說明子樣本描述關聯(lián)表中的數(shù)據(jù)的壓縮。
參照圖7I,未壓縮表726包括重復序列748的子樣本描述ID的序列750。在壓縮表746中,重復序列750已經(jīng)壓縮成序列748的參考以及此序列出現(xiàn)的次數(shù)。
在圖7J所示的一個實施例中,序列出現(xiàn)可通過利用它的最高有效位作為序列標志754的游程、它的隨后23位作為出現(xiàn)索引756以及它的較低有效位作為出現(xiàn)長度758,被編碼在子樣本描述ID字段中。如果標志754設置為1,則它表明這個條目為重復序列的出現(xiàn)。否則,這個條目為子樣本描述ID。出現(xiàn)索引756為序列的第一次出現(xiàn)的子樣本描述關聯(lián)盒724中的索引,以及長度758表明重復序列出現(xiàn)的長度。
在圖7K所示的另一個實施例中,重復序列出現(xiàn)表760用來表示重復的序列出現(xiàn)。子樣本描述ID字段的最高有效位被用作序列標志762的游程,表明該條目在屬于子樣本描述關聯(lián)盒724的組成部分的重復序列出現(xiàn)表760中是條目的子樣本描述ID還是序列索引764。重復序列出現(xiàn)表760包括指定重復序列中的第一項的子樣本描述關聯(lián)盒724中索引的出現(xiàn)索引字段以及指定重復序列的長度的長度字段。
參數(shù)集在某些媒體格式、如JVT中,包含對媒體數(shù)據(jù)正確解碼所需的關鍵控制值的“標題”信息與編碼數(shù)據(jù)的其余部分分開/分離,并存儲在參數(shù)集中。然后,不是在流中把這些控制值與編碼數(shù)據(jù)混合在一起,而是編碼數(shù)據(jù)可利用例如唯一標識符等機制來引用必要的參數(shù)集。這個方法使高級編碼參數(shù)的傳輸與編碼數(shù)據(jù)分離。同時,它還通過共享作為參數(shù)集的控制值的公共集合來減少冗余度。
為了支持使用參數(shù)集的已存儲媒體流的有效傳輸,發(fā)送者或播放者必須能夠迅速把編碼數(shù)據(jù)鏈接到對應的參數(shù),以便知道必須傳送或訪問參數(shù)集的時間和位置。本發(fā)明的一個實施例通過以媒體文件格式存儲指定參數(shù)集與媒體數(shù)據(jù)的對應部分之間關聯(lián)的數(shù)據(jù)作為參數(shù)集元數(shù)據(jù)來提供這種功能。
圖8和圖9說明存儲和檢索參數(shù)集元數(shù)據(jù)的過程,它們分別由編碼系統(tǒng)100和解碼系統(tǒng)200執(zhí)行。這些過程可通過可包括硬件(例如電路、專用邏輯等)、軟件(例如運行于通用計算機系統(tǒng)或專用機器上)或者它們兩者的組合的處理邏輯來執(zhí)行。
圖8是用于在編碼系統(tǒng)100中創(chuàng)建參數(shù)集元數(shù)據(jù)的方法800的一個實施例的流程圖。首先,方法800以接收具有編碼媒體數(shù)據(jù)的文件的處理邏輯開始(處理框802)。該文件包括指定如何對媒體數(shù)據(jù)的各部分解碼的編碼參數(shù)集。隨后,處理邏輯檢查稱作參數(shù)集的編碼參數(shù)集與媒體數(shù)據(jù)的對應部分之間的關系(處理框804),以及創(chuàng)建定義參數(shù)集以及它們與媒體數(shù)據(jù)部分的關聯(lián)的參數(shù)集元數(shù)據(jù)(處理框806)。媒體數(shù)據(jù)部分可由樣本或子樣本表示。
在一個實施例中,參數(shù)集元數(shù)據(jù)被組織成預定數(shù)據(jù)結構集合(例如盒集合)。預定數(shù)據(jù)結構集合可包括包含關于參數(shù)集的描述信息的數(shù)據(jù)結構以及包含定義樣本與對應參數(shù)集之間關聯(lián)的信息的數(shù)據(jù)結構。在一個實施例中,預定數(shù)據(jù)結構集合還包括包含定義子樣本與對應參數(shù)集之間關聯(lián)的信息的數(shù)據(jù)結構。包含子樣本與參數(shù)集關聯(lián)信息的數(shù)據(jù)結構可以忽略、也可以不忽略包含樣本與參數(shù)集關聯(lián)信息的數(shù)據(jù)結構。
隨后,在一個實施例中,處理邏輯確定任何參數(shù)集數(shù)據(jù)結構是否包含重復的數(shù)據(jù)序列(判定框808)。如果這個判定為肯定,則處理邏輯把各重復的數(shù)據(jù)序列轉換為序列出現(xiàn)的參考以及序列出現(xiàn)的次數(shù)(處理框810)。
之后,在處理框812,處理邏輯利用特定媒體文件格式(例如JVT文件格式)把參數(shù)集元數(shù)據(jù)包含到與媒體數(shù)據(jù)相關的文件中。根據(jù)媒體文件格式,參數(shù)集元數(shù)據(jù)可與軌道元數(shù)據(jù)和/或樣本元數(shù)據(jù)一起被存儲(例如,包含關于參數(shù)集的描述信息的數(shù)據(jù)結構可包含在軌道盒中,以及包含關聯(lián)信息的數(shù)據(jù)結構可包含在樣本表盒中)或者與軌道元數(shù)據(jù)和/或樣本元數(shù)據(jù)分開存儲。
圖9是用于在解碼系統(tǒng)200中使用參數(shù)集元數(shù)據(jù)的方法900的一個實施例的流程圖。首先,方法900以接收與編碼媒體數(shù)據(jù)相關的文件的處理邏輯開始(處理框902)。該文件可從(本地或外部)數(shù)據(jù)庫、編碼系統(tǒng)100或者從網(wǎng)絡上的其它任何裝置接收。該文件包括定義媒體數(shù)據(jù)的參數(shù)集以及參數(shù)集與媒體數(shù)據(jù)的對應部分(例如對應樣本或子樣本)之間關聯(lián)的參數(shù)集元數(shù)據(jù)。
隨后,處理邏輯從文件中提取參數(shù)集元數(shù)據(jù)(處理框904)。如上所述,參數(shù)集元數(shù)據(jù)可存儲在數(shù)據(jù)結構集合(例如盒集合)中。
此外,在處理框906,處理邏輯利用所提取的元數(shù)據(jù)來確定哪個參數(shù)集與特定媒體數(shù)據(jù)部分(例如樣本或子樣本)相關。然后,這個信息可用來控制媒體數(shù)據(jù)部分及對應參數(shù)集的傳送時間。也就是說,要用于對特定樣本或子樣本解碼的參數(shù)集必須在包含樣本或子樣本的數(shù)據(jù)包之前被發(fā)送,或者與包含樣本或子樣本的數(shù)據(jù)包一起發(fā)送。
因此,參數(shù)集元數(shù)據(jù)的使用使參數(shù)集能夠在更可靠的信道上獨立傳送,減少導致媒體流部分丟失的錯誤或數(shù)據(jù)丟失的可能性。
下面參照擴展ISO媒體文件格式(稱作擴展ISO)來描述示范參數(shù)集元數(shù)據(jù)結構。但是,應當指出,其它媒體文件格式可以擴展為結合用于存儲參數(shù)集元數(shù)據(jù)的各種數(shù)據(jù)結構。
圖10A-10E說明用于存儲參數(shù)集元數(shù)據(jù)的示范數(shù)據(jù)結構。
參照圖10A,包含ISO文件格式定義的軌道元數(shù)據(jù)盒的軌道盒1002被擴展為包括參數(shù)集描述盒1004。另外,包含ISO文件格式定義的樣本元數(shù)據(jù)盒的樣本表盒1006被擴展為包括樣本到參數(shù)集盒1008。在一個實施例中,樣本表盒1006包括子樣本到參數(shù)集盒,它可忽略樣本到參數(shù)集盒1008,下面會更詳細的論述。
在一個實施例中,參數(shù)集元數(shù)據(jù)盒1004和1008是強制性的。在另一個實施例中,只有參數(shù)集描述盒1004是強制性的。在又一個實施例中,所有參數(shù)集元數(shù)據(jù)盒都是可選的。
參照圖10B,參數(shù)集描述盒1010包含指定參數(shù)集描述盒1010的版本的版本字段、提供表1012中的條目數(shù)量的參數(shù)集描述計數(shù)字段以及包含參數(shù)集本身的條目的參數(shù)集條目字段。
參數(shù)集可以從樣本級或子樣本級引用。參照圖10C,樣本到參數(shù)集盒1014從樣本級提供對參數(shù)集的引用。樣本到參數(shù)集盒1014包括指定樣本到參數(shù)集盒1014的版本的版本字段、指定缺省參數(shù)集ID的缺省參數(shù)集ID字段以及提供表1016中的條目數(shù)量的條目計數(shù)字段。表1016中的各條目包含提供共享相同參數(shù)集的樣本的游程中的第一樣本的索引的第一樣本字段以及指定參數(shù)集描述盒1010的索引的參數(shù)集索引。如果缺省參數(shù)集ID等于0,則樣本具有不同的參數(shù)集,它們存儲在表1016中。否則,使用恒定參數(shù)集,并且之后沒有任何陣列。
在一個實施例中,通過把各重復序列轉換為原始序列的參考以及此序列出現(xiàn)的次數(shù)來壓縮表1016中的數(shù)據(jù),如以上結合子樣本描述關聯(lián)表的更詳細論述。
參數(shù)集可通過定義參數(shù)集與子樣本之間關聯(lián)而從子樣本級引用。在一個實施例中,利用上述子樣本描述關聯(lián)盒來定義參數(shù)集與子樣本之間的關聯(lián)。圖10D說明子樣本描述關聯(lián)盒1018,其中具有引用參數(shù)集的描述類型標識符(例如描述類型標識符等于“pars”)。根據(jù)這個描述類型標識符,表1020中的子樣本描述ID指明參數(shù)集描述盒1010中的索引。
在一個實施例中,當存在具有引用參數(shù)集的描述類型標識符的子樣本描述關聯(lián)盒1018時,它忽略樣本到參數(shù)集盒1014。
參數(shù)集可在創(chuàng)建參數(shù)集的時間與參數(shù)集用于對媒體數(shù)據(jù)的相應部分解碼的時間之間變化。如果這種變化出現(xiàn),則解碼系統(tǒng)200接收指出對參數(shù)集的改變的參數(shù)更新包。參數(shù)集元數(shù)據(jù)包含標識參數(shù)集在更新之前和更新之后的狀態(tài)的數(shù)據(jù)。
參照圖10E,參數(shù)集描述盒1010包括在時間t0創(chuàng)建的原始參數(shù)集1022的條目以及響應在時間t1接收的參數(shù)更新包1026而創(chuàng)建的更新參數(shù)集1024的條目。子樣本描述關聯(lián)盒1018把兩個參數(shù)集與對應的子樣本相關。
樣本組當軌道內的樣本可具有樣本到表示媒體數(shù)據(jù)中的高級結構的序列(可能不連續(xù))的各種邏輯分組(分區(qū))時,現(xiàn)行文件格式不提供用于表示和存儲這些分組的方便機制。例如,高級編碼格式、如JVT把單軌道內的樣本根據(jù)其彼此相關性組織為若干組。這些組(本文中稱作序列或樣本組)在網(wǎng)絡條件需要時可用來標識可任意處理的樣本鏈,從而支持時間縮放性。以某種文件格式存儲定義樣本組的元數(shù)據(jù)使媒體的發(fā)送者能夠方便有效地實現(xiàn)上述功能。
樣本組的一個實例是其幀間相關性允許它們與其它樣本無關地被解碼的樣本集。在JVT中,這種樣本組稱作增強圖像組(增強GOP)。在增強GOP中,樣本可分為子序列。各子序列包含彼此相關的樣本集,并且可作為一個單元來處理。另外,增強GOP的樣本可以按照分層方式構造為若干層,使得上層中的樣本僅根據(jù)下層的樣本來預測,從而允許最高層的樣本可在不影響對其它樣本解碼的能力時被處理。包含與其它任何層中樣本不相關的樣本的最低層稱作基層。除基層以外的其它任何層稱作增強層。
圖11說明一個示范增強GOP,其中,樣本分為兩層、即基層1102和增強層1104以及兩個子序列1106和1108。兩個子序列1106和1108可彼此無關地被丟棄。
圖12和圖13說明存儲和檢索樣本組元數(shù)據(jù)的過程,它們分別由編碼系統(tǒng)100和解碼系統(tǒng)200執(zhí)行。這些過程可通過可包括硬件(例如電路、專用邏輯等)、軟件(例如運行于通用計算機系統(tǒng)或專用機器上)或者它們兩者的組合的處理邏輯來執(zhí)行。
圖12是用于在編碼系統(tǒng)100中創(chuàng)建樣本組元數(shù)據(jù)的方法1200的一個實施例的流程圖。首先,方法1200以接收具有編碼媒體數(shù)據(jù)的文件的處理邏輯開始(處理框1202)。媒體數(shù)據(jù)的軌道內的樣本具有某些彼此相關性。例如,軌道可包括I幀,與其它任何樣本不相關;P幀,與單個先前樣本相關;以及B幀,與包括I幀、P幀和B幀的任何組合的兩個先前樣本有關。根據(jù)它們的彼此相關性,軌道中的樣本在邏輯上可組合成樣本組(例如增強GOP、層、子序列等)。
隨后,處理邏輯檢查媒體數(shù)據(jù)以識別各軌道中的樣本組(處理框1204),創(chuàng)建描述樣本組并定義各樣本組中包含哪些樣本的樣本組元數(shù)據(jù)(處理框1206)。在一個實施例中,樣本組元數(shù)據(jù)被組織成預定數(shù)據(jù)結構集合(例如盒集合)。預定數(shù)據(jù)結構集合可包括包含關于各樣本組的描述信息的數(shù)據(jù)結構、包含標識各樣本組中包含的樣本的信息的數(shù)據(jù)結構、包含描述子序列的信息的數(shù)據(jù)結構以及包含描述層的信息的數(shù)據(jù)結構。隨后,在一個實施例中,處理邏輯確定任何樣本組數(shù)據(jù)結構是否包含重復的數(shù)據(jù)序列(判定框1208)。如果這個判定為肯定,則處理邏輯把各重復的數(shù)據(jù)序列轉換為序列出現(xiàn)的參考以及序列出現(xiàn)的次數(shù)(處理框1210)。
之后,在處理框1212,處理邏輯利用特定媒體文件格式(例如JVT文件格式)把樣本組元數(shù)據(jù)包含到與媒體數(shù)據(jù)相關的文件中。根據(jù)媒體文件格式,樣本組元數(shù)據(jù)可與樣本元數(shù)據(jù)一起存儲(例如樣本組數(shù)據(jù)結構可包含在樣本表盒中)或者與樣本元數(shù)據(jù)分開存儲。
圖13是用于在解碼系統(tǒng)200中使用樣本組元數(shù)據(jù)的方法1300的一個實施例的流程圖。首先,方法1300以接收與編碼媒體數(shù)據(jù)相關的文件的處理邏輯開始(處理框1302)。該文件可從(本地或外部)數(shù)據(jù)庫、編碼系統(tǒng)100或者從網(wǎng)絡上的其它任何裝置接收。該文件包括定義媒體數(shù)據(jù)中的樣本組的樣本組元數(shù)據(jù)。
隨后,處理邏輯從文件中提取樣本組元數(shù)據(jù)(處理框1304)。如上所述,樣本組元數(shù)據(jù)可存儲在數(shù)據(jù)結構集合(例如盒集合)中。
此外,在處理框1306,處理邏輯利用所提取的樣本組元數(shù)據(jù)來識別可在不影響對其它樣本解碼的能力的前提下處理的樣本鏈。在一個實施例中,這個信息可用來存取特定樣本組中的樣本,以及響應網(wǎng)絡容量的變化而確定哪些樣本可被丟棄。在其它實施例中,樣本組元數(shù)據(jù)用來過濾樣本,使得軌道中只有一部分樣本被處理或呈現(xiàn)。
因此,樣本組元數(shù)據(jù)有助于對樣本的選擇性存取以及縮放性。
下面參照擴展ISO媒體文件格式(稱作擴展MP4)來描述示范樣本組元數(shù)據(jù)結構。但是,應當指出,其它媒體文件格式可以經(jīng)過擴展,以結合用來存儲樣本組元數(shù)據(jù)的各種數(shù)據(jù)結構。
圖14A-14E說明用于存儲樣本組元數(shù)據(jù)的示范數(shù)據(jù)結構;參照圖14A,包含MP4定義的樣本元數(shù)據(jù)盒的樣本表盒1400被擴展為包括樣本組盒1402和樣本組描述盒1404。在一個實施例中,樣本組元數(shù)據(jù)盒1402和1404是可選的。在一個實施例(未示出)中,樣本表盒1400包括其它可選樣本組元數(shù)據(jù)盒,例如子序列描述條目盒和層描述條目盒。
參照圖14B,樣本組盒1406用來查找特定樣本組中包含的樣本集。允許樣本組盒1406的多個示例對應于不同類型的樣本組(例如增強GOP、子序列、層、參數(shù)集等)。樣本組盒1406包含指定樣本組盒1406的版本的版本字段、提供表1408中條目數(shù)量的條目計數(shù)字段、標識樣本組的類型的樣本組標識符字段、提供相同樣本組中包含的樣本的游程中的第一樣本的索引的第一樣本字段、以及指定樣本組描述盒的索引的樣本組描述索引。
參照圖14C,樣本組描述盒1410提供關于樣本組的特征的信息。樣本組描述盒1410包含指定樣本組描述盒1410的版本的版本字段、提供表1412中的條目數(shù)量的條目計數(shù)字段、標識樣本組的類型的樣本組標識符字段、以及提供樣本組描述符的樣本組描述字段。
參照圖14D,說明用于層(“l(fā)ayr”)樣本組類型的樣本組盒1416的使用。樣本1到11根據(jù)樣本的彼此相關性分為三層。在層0(基層),樣本(樣本1、6和11)僅彼此相關,但與其它任何層中的樣本不相關。在層1,樣本(樣本2、5、7、10)與下層(即層0)中的樣本以及與這個層1中的樣本相關。在層2,樣本(樣本3、4、8、9)與下層(即層0和1)中的樣本以及與這個層2中的樣本相關。因此,層2的樣本可在沒有影響對來自下層0和1的樣本解碼的能力的情況下被處理。
樣本組盒1416中的數(shù)據(jù)說明樣本與層之間的上述關聯(lián)。如圖所示,這個數(shù)據(jù)包含重復層模式1414,它可通過把各重復層模式轉換為原始層模式的參考以及該模式出現(xiàn)的次數(shù)來壓縮,如以上更詳細的論述。
參照圖14E,說明用于子序列(“sseq”)樣本組類型的樣本組盒1418的使用。樣本1到11根據(jù)樣本的彼此相關性被分為四個子序列。除層0上的子序列0之外的每個子序列包括沒有其它子序列與其相關的樣本。因此,子序列中的樣本在需要時可作為一個單元來處理。
樣本組盒1418中的數(shù)據(jù)說明樣本與子序列之間的關聯(lián)。這個數(shù)據(jù)允許在對應子序列開始時對樣本的隨機存取。
在一個實施例中,子序列描述條目盒用來描述GOP中的樣本的各子序列。子序列描述條目盒提供與子序列標識符數(shù)據(jù)、平均比特率數(shù)據(jù)、平均幀速率數(shù)據(jù)、參考標號數(shù)據(jù)以及包含關于參考數(shù)據(jù)的信息的陣列有關的相關性信息。
相關性信息標識用作此條目中描述的子序列的參考的子序列。子序列標識符數(shù)據(jù)提供此條目中描述的子序列的標識符。平均比特率數(shù)據(jù)包含此子序列的平均比特率(例如以位或秒為單位)。在一個實施例中,平均比特率的計算考慮凈荷和凈荷標題。在一個實施例中,如果平均比特率未定義,則平均比特率等于零。
平均幀速率數(shù)據(jù)包含條目的子序列的幀中的平均幀速率。在一個實施例中,如果平均幀速率未定義,則平均幀速率等于零。
引用數(shù)量數(shù)據(jù)提供條目的子序列中的直接引用子序列的數(shù)量。引用數(shù)據(jù)的陣列提供引用子序列的標識信息。
在一個實施例中,附加層描述條目盒用來提供層信息。層描述條目盒提供層的數(shù)量、層的平均比特率以及平均幀速率。對于基層,層的數(shù)量可等于零,對于各增強層,可為一或更多。當平均比特率未定義時,平均比特率可等于零,當平均幀速率未定義時,平均幀速率可等于零。
流交換在典型的流式傳輸情況中,關鍵要求之一是響應變化的網(wǎng)絡條件而縮放壓縮數(shù)據(jù)的比特率。實現(xiàn)這個目的的最簡便方法是對于典型網(wǎng)絡條件采用不同比特率和質量設定對多個流進行編碼。然后,服務器可響應網(wǎng)絡條件在這些預先編碼的流之間轉換。
JVT標準提供一種新圖像類型、稱作交換圖像,它允許一個圖像完全一致地被重構為另一個,而不需要這兩個圖像使用相同的幀用于預測。具體來說,JVT提供兩種交換圖像SI圖像,象I幀一樣,與其它任何圖像無關地編碼;以及SP圖像,參考其它圖像進行編碼。交換圖像可用來響應變化的傳輸條件而實現(xiàn)具有不同比特率和質量設定的流之間的交換,從而提供錯誤復原,以及實現(xiàn)例如快進和快退等特技模式。
但是,為了在實現(xiàn)流交換、錯誤復原、特技模式及其它功能時有效地使用JVT交換圖像,播放者必須知道存儲媒體數(shù)據(jù)中哪些樣本具有一些備選表示以及它們的相關性是什么?,F(xiàn)有文件格式不提供這種能力。
本發(fā)明的一個實施例通過定義交換樣本集來解決上述限制。交換樣本集表示一組樣本,它們的解碼值相同,但可能使用不同的參考樣本。參考樣本是用來預測另一個樣本的值的樣本。交換樣本集的各成員稱作交換樣本。圖15A說明比特流交換的交換樣本集的使用。
參照圖15A,流1和流2是具有不同質量和比特率參數(shù)的相同內容的兩種編碼。樣本S12為SP圖像,沒有出現(xiàn)在任一個流中,它用來實現(xiàn)從流1到流2的交換(交換有方向性)。樣本S12和S2包含在交換樣本集中。S1和S12都根據(jù)軌道1中的樣本P12預測,S2根據(jù)軌道2中的樣本P22預測。雖然樣本S12和S2使用不同的參考樣本,但它們的解碼值是相同的。因此,從流1到流2的交換(在流1中的樣本S1以及流2中的S2)可經(jīng)由交換樣本S12來得到。
圖16和圖17說明存儲和檢索交換樣本元數(shù)據(jù)的過程,它們分別由編碼系統(tǒng)100和解碼系統(tǒng)200執(zhí)行。這些過程可通過可包括硬件(例如電路、專用邏輯等)、軟件(例如運行于通用計算機系統(tǒng)或專用機器上)或者它們兩者的組合的處理邏輯來執(zhí)行。
圖16是用于在編碼系統(tǒng)100中創(chuàng)建交換樣本元數(shù)據(jù)的方法1600的一個實施例的流程圖。首先,方法1600以接收具有編碼媒體數(shù)據(jù)的文件的處理邏輯開始(處理框1602)。文件包括媒體數(shù)據(jù)的一個或多個備選編碼(例如對于典型網(wǎng)絡條件的不同帶寬和質量設定)。備選編碼包括一個或多個交換圖像。這些圖像可包含在備選媒體數(shù)據(jù)流內部或者作為實現(xiàn)例如錯誤復原或特技模式等特殊功能的獨立實體。用于創(chuàng)建這些軌道和交換圖像的方法不是本發(fā)明指定的,本領域的技術人員非常清楚各種可能性。例如,交換樣本在每對軌道之間的定期(例如每隔1秒)放置包含備選編碼。
隨后,處理邏輯檢查文件以創(chuàng)建包含具有相同解碼值但使用不同參考樣本的那些樣本的交換樣本集(處理框1604),以及創(chuàng)建定義媒體數(shù)據(jù)的交換樣本集并描述交換樣本集內的樣本的交換樣本元數(shù)據(jù)(處理框1606)。在一個實施例中,交換樣本元數(shù)據(jù)被組織成一種預定數(shù)據(jù)結構,例如包含嵌套表集合的表盒。
隨后,在一個實施例中,處理邏輯確定交換樣本元數(shù)據(jù)結構是否包含重復的數(shù)據(jù)序列(判定框1608)。如果這個判定為肯定,則處理邏輯把各重復的數(shù)據(jù)序列轉換為序列出現(xiàn)的參考以及序列出現(xiàn)的次數(shù)(處理框1610)。
之后,在處理框1612,處理邏輯利用特定媒體文件格式(例如JVT文件格式)把交換樣本元數(shù)據(jù)包含到與媒體數(shù)據(jù)相關的文件中。在一個實施例中,交換樣本元數(shù)據(jù)可存儲在為流交換指定的獨立軌道中。在另一個實施例中,交換樣本元數(shù)據(jù)與樣本元數(shù)據(jù)一起存儲(例如序列數(shù)據(jù)結構可包含在樣本表盒中)。
圖17是用于在解碼系統(tǒng)200中使用交換樣本元數(shù)據(jù)的方法1700的一個實施例的流程圖。首先,方法1700以接收與編碼媒體數(shù)據(jù)相關的文件的處理邏輯開始(處理框1702)。該文件可從(本地或外部)數(shù)據(jù)庫、編碼系統(tǒng)100或者從網(wǎng)絡上的其它任何裝置接收。該文件包括定義與媒體數(shù)據(jù)相關的交換樣本集的交換樣本元數(shù)據(jù)。
隨后,處理邏輯從文件中提取交換樣本元數(shù)據(jù)(處理框1704)。如上所述,交換樣本元數(shù)據(jù)可存儲在一種數(shù)據(jù)結構、例如包含嵌套表集合的表盒中。
此外,在處理框1706,處理邏輯利用所提取的元數(shù)據(jù)來查找包含特定樣本的交換樣本集以及從交換樣本集中選擇備選樣本。然后,具有與原始樣本相同的解碼值的備選樣本可用于響應變化的網(wǎng)絡條件而在兩個不同編碼的比特流之間交換,從而提供到比特流中的隨機存取入口點,以及幫助錯誤復原等。
下面參照擴展ISO媒體文件格式(稱作擴展MP4)來描述示范交換樣本元數(shù)據(jù)結構。但是,應當指出,其它媒體文件格式可以擴展為結合用于存儲交換樣本元數(shù)據(jù)的各種數(shù)據(jù)結構。
圖18說明用于存儲交換樣本元數(shù)據(jù)的示范數(shù)據(jù)結構。示范數(shù)據(jù)結構為包含嵌套表集合的交換樣本表盒的形式。表1802中的每個條目標識一個交換樣本集。每個交換樣本集包括一組交換樣本,它們的重構客觀上相同(或感覺上相同),但它們可根據(jù)可能在、也可能不在與交換樣本相同的軌道(流)中的不同參考樣本來預測。表1802中的每個條目鏈接到對應的表1804。表1804標識包含在交換樣本集中的各交換樣本。表1804中的每個條目還鏈接到對應的表1806,表1806定義交換樣本的位置(即它的軌道和樣本號)、包含交換樣本所用的參考樣本的軌道、交換樣本所用的參考樣本的總數(shù)以及交換樣本所用的每個參考樣本。
如圖15A所示,在一個實施例中,交換樣本元數(shù)據(jù)可用于在同樣內容的不同編碼形式之間進行交換。在MP4中,各備選編碼作為獨立MP4軌道來存儲,以及軌道標題中的“備選組”表明它是特定內容的備選編碼。
圖15B說明包含定義由根據(jù)圖15A的樣本S2和S12組成的交換樣本集1502的元數(shù)據(jù)的表。
圖15C是用于確定要執(zhí)行兩個比特流之間交換的點的方法1510的一個實施例的流程圖。假定要從流1到流2執(zhí)行交換,則方法1510以搜索交換樣本元數(shù)據(jù)開始,查找包含具有流1的參考軌道的交換樣本以及具有流2的交換樣本軌道的交換樣本的所有交換樣本集(處理框1512)。隨后,評估所得交換樣本集,以選擇其中具有流1的參考軌道的交換樣本的所有參考樣本均可用的交換樣本集(處理框1514)。例如,如果具有流1的參考軌道的交換樣本為P幀,則交換之前的一個樣本要求是可用的。此外,所選交換樣本集中的樣本用來確定交換點(處理框1516)。也就是說,交換點被認為緊接具有流1的參考軌道的交換樣本的最高參考樣本之后,經(jīng)由具有流1的參考軌道的交換樣本,到達緊接具有流2的交換樣本軌道的交換樣本的樣本。
在另一個實施例中,交換樣本元數(shù)據(jù)可用來實現(xiàn)到比特流中的隨機存取入口點,如圖19A-19C所示。
參照圖19A和19B,交換樣本1902由樣本S2和S12組成。S2為根據(jù)P22預測的P幀,在普通流重放過程中使用。S12用作隨機存取點(例如用于剪接)。一旦S12被解碼,流重放繼續(xù)進行P24的解碼,好象P24是在S2之后被解碼一樣。
圖19C是用于確定樣本(例如軌道T上的樣本S)的隨機存取點的方法1910的一個實施例的流程圖。方法1910以搜索交換樣本元數(shù)據(jù)從而查找包含具有交換樣本軌道T的交換樣本的所有交換樣本集開始(處理框1912)。隨后,評估所得交換樣本集,以選擇其中具有交換樣本軌道T的交換樣本為在解碼順序中在樣本S之前的最接近樣本的交換樣本集(處理框1914)。此外,從用于樣本S的隨機存取點的所選交換樣本集中選擇具有交換樣本軌道T的交換樣本以外的交換樣本(樣本SS)(處理框1916)。在流重放過程中,把樣本SS而不是樣本S解碼(之后跟隨樣本SS的條目中指定的任何參考樣本的解碼)。
在又一個實施例中,交換樣本元數(shù)據(jù)可用來幫助錯誤復原,如圖20A-20C所示。
參照圖20A和20B,交換樣本2002由樣本S2、S12和S22組成。樣本S2根據(jù)樣本P4來預測。樣本S12根據(jù)樣本S1預測。如果在樣本P2與P4之間出現(xiàn)錯誤,則交換樣本S12而不是S2可被解碼。流式傳輸則從樣本P6照常繼續(xù)進行。如果錯誤也影響到樣本S1,則交換樣本S22而不是樣本S2可被解碼,然后流式傳輸從樣本P6照常繼續(xù)進行。
圖20C是用于幫助發(fā)送樣本(例如樣本S)時的錯誤恢復的方法2010的一個實施例的流程圖。方法2010以搜索交換樣本元數(shù)據(jù)從而查找包含等于樣本S或在解碼順序中跟隨樣本S的交換樣本的所有交換樣本集開始(處理框2012)。隨后,評估所得交換樣本集,以選擇具有最接近樣本S且其參考樣本已知(經(jīng)由反饋或其它某個信息源)為正確的交換樣本SS的交換樣本集(處理框2014)。此外,交換樣本SS而不是樣本S被發(fā)送(處理框2016)。
參數(shù)集和補充增強信息的存儲如上所述,某種元數(shù)據(jù)、如參數(shù)集元數(shù)據(jù)可與相關媒體數(shù)據(jù)分開存儲。圖21說明根據(jù)本發(fā)明的一個實施例的參數(shù)集元數(shù)據(jù)的獨立存儲。參照圖21,媒體數(shù)據(jù)存儲在視頻軌道2102中,以及參數(shù)集元數(shù)據(jù)存儲在獨立的參數(shù)軌道2104中,它可被標記為“不活動”以表明它沒有存儲媒體數(shù)據(jù)。定時信息2106提供視頻軌道2102與參數(shù)軌道2104之間的同步。在一個實施例中,定時信息存儲在視頻軌道2102和參數(shù)集軌道2104的每一個的樣本表盒中。在一個實施例中,各參數(shù)集由一個參數(shù)集樣本表示,如果媒體樣本的定時信息等于參數(shù)集樣本的定時信息,則實現(xiàn)同步。
在另一個實施例中,對象描述符(OD)消息被用來包含參數(shù)集元數(shù)據(jù)。根據(jù)MPEG-4標準,對象描述符表示一個或多個基本流描述符,它們提供與單個對象(媒體對象或畫面描述)有關的流的配置或其它信息。對象描述符消息在對象描述符流中發(fā)送。如圖22所示,參數(shù)集作為對象描述符消息2204被包含到對象描述符流2202中。對象描述符流2202與攜帶媒體數(shù)據(jù)的視頻基本流同步。
下面更詳細地論述SEI的存儲。
在一個實施例中,SEI數(shù)據(jù)與媒體數(shù)據(jù)一起存儲在基本流中。圖23說明與媒體數(shù)據(jù)一起直接嵌入基本流數(shù)據(jù)2303的SEI消息2304。
在另一個實施例中,SEI消息作為樣本存儲在獨立的SEI軌道中。圖24和25說明根據(jù)本發(fā)明的一些實施例的SEI消息在獨立軌道中的存儲。
參照圖24,媒體數(shù)據(jù)存儲在視頻軌道2402中,SEI消息存儲在獨立的SEI軌道2404中作為樣本。定時信息2406提供視頻軌道2402與SEI軌道2404之間的同步。
參照圖25,媒體數(shù)據(jù)存儲在視頻軌道2502中,SEI消息存儲在對象內容信息(OCI)軌道2504中。定時信息2506提供視頻軌道2502與OCI軌道2504之間的同步。根據(jù)MPEG-4標準,OCI軌道2504被指定為存儲常用于提供關于畫面事件的文本描述信息的OCI數(shù)據(jù)。各SEI消息存儲在OCI軌道2504中,作為對象描述符。在一個實施例中,通常指定OCI軌道中存儲的數(shù)據(jù)類型的OCI描述符元素字段用來攜帶SEI消息。
在又一個實施例中,SEI數(shù)據(jù)作為元數(shù)據(jù)與媒體數(shù)據(jù)分開存儲。圖26說明根據(jù)本發(fā)明的一個實施例的SEI數(shù)據(jù)作為元數(shù)據(jù)存儲。
參照圖26,ISO媒體文件格式定義的用戶數(shù)據(jù)盒2602用來存儲SEI消息。明確地說,各SEI消息存儲在軌道或電影盒中包含的用戶數(shù)據(jù)盒2602中的SEI用戶數(shù)據(jù)盒2604中。
在一個實施例中,包含在SEI消息中的元數(shù)據(jù)包含媒體數(shù)據(jù)的描述。這些描述可表示MPEG-7標準所定義的描述符和描述方案。在一個實施例中,SEI消息支持包含基于XML的數(shù)據(jù)、如基于XML的描述。另外,SEI消息支持不同類型的增強信息的登記。例如,SEI消息可支持匿名用戶數(shù)據(jù)而不需要登記新類型。這種數(shù)據(jù)可設計為專用于特定應用或機構。在一個實施例中,在比特流環(huán)境中由指定起始碼指明SEI的存在。
在一個實施例中,解碼器提供SEI消息中描述的任一個或全部增強功能的能力通過外部手段(例如建議H.245或SDP)來發(fā)信號通知。不提供增強功能的解碼器可以只是丟棄SEI消息。
在一個實施例中,利用SEI消息的凈荷標題中的指定字段來提供媒體數(shù)據(jù)(例如視頻編碼層數(shù)據(jù))與包含媒體數(shù)據(jù)的描述的SEI消息的同步,下面將會更詳細地論述。
在一個實施例中,網(wǎng)絡適配層支持在基礎傳輸系統(tǒng)中傳送補充增強信息消息的方法。網(wǎng)絡適配可允許用于發(fā)出SEI消息的帶內(與視頻編碼層相同的傳輸流中)或者帶外方法。
在一個實施例中,MPEG-7元數(shù)據(jù)包含到SEI消息中是通過把SEI用作MPEG-7元數(shù)據(jù)的傳遞層來實現(xiàn)的。具體來說,SEI消息封裝表示一個或多個描述段的MPEG-7系統(tǒng)存取單元(段)。MPEG-7存取單元與媒體數(shù)據(jù)的同步可利用SEI消息的凈荷標題中的指定字段來提供。
在另一個實施例中,MPEG-7元數(shù)據(jù)包含到SEI消息中是通過允許描述單元在SEI消息中以文本或二進制編碼形式發(fā)送來實現(xiàn)的。描述單元可以是單個MPEG-7描述符或描述方案,并且可用來表示來自完整描述的部分信息。例如,以下給出可縮放色彩描述符的XML語法<Mpeg7>
<DescriptionUnit xsi:type=″ScalableColorType″numOfCoeff=″16″numOfBitplanesDiscarded=″O″>
<Coeff>1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6</Coeff>
</DescriptionUnit></Mpeg7>
描述符或描述方案示例可通過SEI消息標題與媒體數(shù)據(jù)的對應部分(例如子樣本、樣本、段等)相關,下面將更詳細地論述。這個實施例允許例如單幀的二進制或文本編碼色彩描述符作為SEI消息來發(fā)送。利用SEI消息,可提供視頻編碼流的隱式描述。隱式描述是視頻編碼流的完整描述,其中隱含了描述單元。隱式描述可具有以下形式<Mpeg7>
<Description xsi:type=″ContentEntityType″>
<MultimediaContent xsi:type=″VideoType″>
<Video>
<CreationInformation>
<Creation>
<Title>Worldcup Soccer</Title>
</Creation>
</Creationlnformation>
<MediaTime>
<MediaTimePoint>TOO:OO:OO</MediaTimePoint>
<MediaDuration>PT1M30S</MediaDuration>
</MediaTime>
<VisualDescriptor xsi:type=″GoFGoPColorType″aggregation=″Average″>
<ScalableColor numOfCoeff=″16″numOfBitplanesDiscarded=″O″>
<Coeff>123 4 567 8 9 0 1 2 3 4 5 6</Coeff>
</ScalableColor>
</VisualDescriptor>
</Video>
</MultimediaContent>
</Description>
</Mpeg7>
在一個實施例中,提供SEI的修訂格式以支持描述包含到SEI消息中。明確地說,SEI表示為一組SEI消息。在一個實施例中,SEI被封裝為數(shù)據(jù)的組塊。各SEI組塊可包含一個或多個SEI消息。各SEI消息包含SEI標題和SEI凈荷。SEI標題以自SEI組塊的第一字節(jié)或自前一個SEI消息之后的第一字節(jié)的字節(jié)對準位置開始。凈荷緊接SEI標題,在SEI標題之后的字節(jié)處開始。
SEI標題包括消息類型、媒體數(shù)據(jù)部分(例如子樣本、樣本和段)的可選標識符以及凈荷長度。SEI標題的語法可如下所示<pre listing-type="program-listing"><![CDATA[aligned(8)SupplementalEnhancementInformation{aligned unsigned int(13)MessageType;aligned unsigned int(2}MessageScopeif(MessageScope==O){//Message is related to a sample unsigned int(16)SampleID; }else{//Reserved}aligned unsigned int(16)PayloadLength;aligned unsigned int(8)Payload[PayloadLength];}]]></pre>MessageType字段表示凈荷中的消息類型。示范SEI消息類型代碼在表1中規(guī)定如下
表1
PayloadLength字段以字節(jié)數(shù)為單位指定SEI消息的長度。SEI標題還包括表明這個SEI消息是否與特定樣本相關的樣本同步標志以及表明這個SEI消息是否與特定子樣本相關的子樣本同步標志(如果子樣本同步標志被設置,則樣本同步標志也被設置)。SEI凈荷還包括指定這個消息相關的樣本的可選樣本標識符字段以及指定消息相關的子樣本的可選子樣本標識符字段。樣本標識符字段僅在設置了樣本同步標志時才存在。同樣,子樣本標識符字段僅在設置了子樣本同步標志時才存在。樣本標識符和子樣本標識符字段允許SEI消息與媒體數(shù)據(jù)的同步。
在一個實施例中,各SEI消息在SEI消息描述符中發(fā)送。SEI描述符被封裝到包含一個或多個SEI消息的SEI單元中。SEI消息單元的語法如下aligned(8)class SEIMessageUnit{SEIMessageDescriptor descriptor
;}SEI消息描述符的語法如下abstract expandable(2**16-1) aligned(8) classSEIMessageDescriptor:tag unsigned int(16){unsigned int(16)type=tag;}類型字段表示SEI消息的類型。示范SEI消息類型在表2中提供,如下所示
表2下面更詳細地描述表2所示的各種類型的SEI消息。
SEIXMLDescriptor類型指的是一種描述符,它封裝可能包含例如完整XML文檔或者來自更大文檔的XML段的基于XML的數(shù)據(jù)。SEIXMLDescriptor的語法如下class SEIXMLDescriptor:SEIMessageDescriptor(SEIXMLDescriptorTag){unsigned int(8)xmlData□;{SEIMetadataDescriptor類型指的是包含元數(shù)據(jù)的描述符。SEIMetadataDescriptor的語法如下class SEIMetadataDescriptor:SEIMessageDescriptor(SEIXMLDescriptorTag){unsigned int(8) metadataFormat;unsigned int(8) metadataContent□;}metadataFormat字段標識元數(shù)據(jù)的格式。元數(shù)據(jù)格式的示范值在表3中說明如下
表3值0x10標識MPEG-7定義的數(shù)據(jù)。從0x40直到0xFF的范圍中的值可用于對專用格式的使用發(fā)出信號。
metadataContent字段包含metadataFormat字段指定的格式的元數(shù)據(jù)的表示。
SEIMetadataRefDescriptor類型表示指定指向元數(shù)據(jù)的位置的URL的描述符。SEIMetadataRefDescriptor的語法如下class SEIMetadataRefDescriptor:SEIMessageDescriptor(SEIMetdataRefDescriptorTag){bit(8)URLString□;}URLString字段包含指向元數(shù)據(jù)的位置的UTF-8編碼的URL。
SEITextDescriptor類型表示包含描述視頻內容或與其有關的文本的描述符。SEITextDescriptor的語法如下Class SEIMessageDescriptor:SEIMessageDescriptor(SEIXMLDescriptorTag){unsigned int(24) languageCode;unsigned int(8) text□;}languageCode字段包含以下文本字段的語言的語言代碼。文本字段包含UTF-8編碼的文本數(shù)據(jù)。
SEIURIDescriptor類型表示包含與視頻內容有關的統(tǒng)一資源標識符(URI)的描述符。SEIURIDescriptor的語法如下
class SEIURIDescriptor:SEIMessageDescriptor(SEIURIDescriptorTag){unsigned int(16)uriString□;}uriString字段包含視頻內容的URI。
SEIOCIDescriptor類型涉及包含表示對象內容信息(OCI)描述符的SEI消息的描述符。SEIOCIDescriptor的語法如下class SEIOCIDescriptor:SEIMessageDescriptor(SEIOCIDescriptorTag){OCI_Descriptor ociDescr;}ociDescr字段包含OCI描述符。
SEIStartSegmentDescriptor類型涉及表明段起始的描述符,它則可在其它SEI消息中被引用。段起始與此SEI描述符所應用的某個層(例如樣本組、段、樣本或子樣本)相關。SEIStartSegmentDescriptor的語法如下class SEIStartSegmentDescriptor:
SEIMessageDescriptor(SEIStartSegmentDescriptorTag){unsigned int(32) segmentID;}segmentID字段表示該段的這個流內的唯一二進制標識符。這個值可用來引用其它SEI消息中的段。
SEIEndSegmentDescriptor類型涉及表明段結束的描述符。必須存在包含相同segmentID值的在前SEIStartSegment消息。如果出現(xiàn)不匹配,則解碼器必須忽略這個消息。段結束與此SEI描述符所應用的某個層(例如樣本組、段、樣本或子樣本)相關。SEIStartSegmentDescriptor的語法如下class SEIEndsegmentDescriptor
SEIMessageDescriptor(SEIEndSegmentDescriptorTag){unsigned int(32) segmentID;}segmentID字段表示該段的這個流中的唯一二進制標識符。這個值可用來引用其它SEI消息中的段。
已經(jīng)描述了視聽元數(shù)據(jù)的存儲和檢索。雖然本文已經(jīng)說明和描述了具體實施例,但本領域的技術人員會了解,適合用于實現(xiàn)相同目的的任何配置均可取代所述具體實施例。本申請意在涵蓋本發(fā)明的任何修改或變更。
權利要求
1.一種方法,包括識別定義多媒體數(shù)據(jù)的多個部分的一個或多個參數(shù)集的參數(shù)集元數(shù)據(jù);以及把所述參數(shù)集元數(shù)據(jù)與所述多媒體數(shù)據(jù)分開存儲,所述分開的參數(shù)集元數(shù)據(jù)隨后被傳送到解碼系統(tǒng),用于對所述多媒體數(shù)據(jù)進行解碼。
2.如權利要求1所述的方法,其特征在于所述多媒體數(shù)據(jù)的多個部分中的每一個是所述多媒體數(shù)據(jù)內的樣本。
3.如權利要求1所述的方法,其特征在于所述多媒體數(shù)據(jù)的多個部分中的每一個是所述多媒體數(shù)據(jù)的一部分內的子樣本。
4.如權利要求1所述的方法,其特征在于所述多媒體數(shù)據(jù)存儲在視頻軌道中;以及所述參數(shù)集元數(shù)據(jù)存儲在參數(shù)軌道中。
5.如權利要求4所述的方法,其特征在于還包括使所述參數(shù)軌道與所述視頻軌道同步。
6.如權利要求4所述的方法,其特征在于所述參數(shù)軌道是未激活的。
7.如權利要求4所述的方法,其特征在于各參數(shù)集存儲在所述參數(shù)軌道中作為參數(shù)集樣本。
8.如權利要求1所述的方法,其特征在于還包括在視頻基本流中傳送所述多媒體數(shù)據(jù);以及把所述參數(shù)集元數(shù)據(jù)作為對象描述符流來傳送。
9.如權利要求8所述的方法,其特征在于各參數(shù)集在所述對象描述符流中作為對象描述符消息來發(fā)送。
10.如權利要求8所述的方法,其特征在于還包括使所述對象描述符流與所述視頻基本流同步。
11.如權利要求1所述的方法,其特征在于還包括在所述解碼系統(tǒng)中接收所述多媒體數(shù)據(jù)以及所述分開的參數(shù)集元數(shù)據(jù),所述分開的參數(shù)集元數(shù)據(jù)隨后被用來識別對所述多媒體數(shù)據(jù)的至少一部分解碼所需要的所述一個或多個參數(shù)集中的任一個。
12.一種方法,包括識別與多媒體數(shù)據(jù)有關的一個或多個描述;以及把所述一個或多個描述包含在與所述多媒體數(shù)據(jù)相關的補充增強信息中,包含所述一個或多個描述的SEI隨后被傳送到解碼系統(tǒng),以便可選地用于所述多媒體數(shù)據(jù)的解碼。
13.如權利要求12所述的方法,其特征在于所述SEI作為元數(shù)據(jù)與所述多媒體數(shù)據(jù)分開存儲。
14.如權利要求13所述的方法,其特征在于所述SEI元數(shù)據(jù)包括多個SEI消息。
15.如權利要求14所述的方法,其特征在于所述多個SEI消息中的每一個作為盒存儲在電影盒的軌道中。
16.如權利要求13所述的方法,其特征在于所述多媒體數(shù)據(jù)存儲在視頻軌道中;以及所述SEI元數(shù)據(jù)存儲在SEI軌道中。
17.如權利要求16所述的方法,其特征在于還包括使所述SEI軌道與所述視頻軌道同步。
18.如權利要求17所述的方法,其特征在于所述SEI軌道在樣本中包含多個SEI消息。
19.如權利要求13所述的方法,其特征在于還包括在視頻基本流中傳送所述多媒體數(shù)據(jù);以及在對象內容信息(OCI)流中傳送所述SEI元數(shù)據(jù)。
20.如權利要求19所述的方法,其特征在于所述多個SEI消息中的每一個在OCI流中作為OCI描述符來發(fā)送。
21.如權利要求12所述的方法,其特征在于一個或多個描述中的每一個是描述符和描述符方案中的任一項。
22.如權利要求14所述的方法,其特征在于,所述多個SEI消息中的每一個包括凈荷標題,其中具有把所述多個SEI消息中每一個與所述多媒體數(shù)據(jù)的對應部分相關聯(lián)的數(shù)據(jù)。
23.如權利要求22所述的方法,其特征在于所述多媒體數(shù)據(jù)的對應部分是樣本、子樣本和樣本組中的任一項。
24.如權利要求12所述的方法,其特征在于把一個或多個描述包含到所述SEI中包括把MPEG-7系統(tǒng)存取單元封裝到多個SEI消息其中之一中。
25.如權利要求12所述的方法,其特征在于還包括在多個SEI消息其中之一中傳送所述一個或多個描述中的每一個。
26.如權利要求25所述的方法,其特征在于所述一個或多個描述中的每一個以文本或二進制編碼。
27.一種裝置,包括媒體文件創(chuàng)建器,形成包含多媒體數(shù)據(jù)的第一文件;以及元數(shù)據(jù)文件創(chuàng)建器,識別定義所述多媒體數(shù)據(jù)的多個部分的一個或多個參數(shù)集的參數(shù)集元數(shù)據(jù),以及形成包含所述參數(shù)集元數(shù)據(jù)的第二文件,所述第二文件隨后由解碼系統(tǒng)對所述多媒體數(shù)據(jù)解碼時使用。
28.一種裝置,包括媒體文件創(chuàng)建器,形成包含多媒體數(shù)據(jù)的第一文件;以及元數(shù)據(jù)文件創(chuàng)建器,識別與多媒體數(shù)據(jù)有關的一個或多個描述,以及把所述一個或多個描述包含在與所述多媒體數(shù)據(jù)相關的補充增強信息中,包含所述一個或多個描述的所述SEI隨后被傳送到解碼系統(tǒng),以便可選地用于所述多媒體數(shù)據(jù)的解碼。
29.一種裝置,包括用于識別定義多媒體數(shù)據(jù)的多個部分的一個或多個參數(shù)集的參數(shù)集元數(shù)據(jù)的部件;以及用于把所述參數(shù)集元數(shù)據(jù)與所述多媒體數(shù)據(jù)分開存儲的部件,所述分開的參數(shù)集元數(shù)據(jù)隨后被傳送到解碼系統(tǒng),用于對所述多媒體數(shù)據(jù)進行解碼。
30.一種裝置,包括用于識別與多媒體數(shù)據(jù)有關的一個或多個描述的部件;以及用于把所述一個或多個描述包含在與所述多媒體數(shù)據(jù)相關的補充增強信息中的部件,包含所述一個或多個描述的所述SEI隨后被傳送到解碼系統(tǒng),以便可選地用于所述多媒體數(shù)據(jù)的解碼。
31.一種系統(tǒng),包括存儲器;以及連接到所述存儲器的至少一個處理器,所述至少一個處理器執(zhí)行指令集,從而使所述至少一個處理器識別定義多媒體數(shù)據(jù)的多個部分的一個或多個參數(shù)集的參數(shù)集元數(shù)據(jù),以及把所述參數(shù)集元數(shù)據(jù)與所述多媒體數(shù)據(jù)分開存儲,所述分開的參數(shù)集元數(shù)據(jù)隨后被傳送到解碼系統(tǒng),用于對所述多媒體數(shù)據(jù)進行解碼。
32.一種系統(tǒng),包括存儲器;以及連接到所述存儲器的至少一個處理器,所述至少一個處理器執(zhí)行指令集,從而使所述至少一個處理器識別與多媒體數(shù)據(jù)有關的一個或多個描述,以及把所述一個或多個描述包含在與所述多媒體數(shù)據(jù)相關的補充增強信息中,包含所述一個或多個描述的所述SEI隨后被傳送到解碼系統(tǒng),以便可選地用于所述多媒體數(shù)據(jù)的解碼。
33.一種提供指令的計算機可讀媒體,在處理器中執(zhí)行所述指令時,使所述處理器執(zhí)行包括以下步驟的方法識別定義多媒體數(shù)據(jù)的多個部分的一個或多個參數(shù)集的參數(shù)集元數(shù)據(jù);以及把所述參數(shù)集元數(shù)據(jù)與所述多媒體數(shù)據(jù)分開存儲,所述分開的參數(shù)集元數(shù)據(jù)隨后被傳送到解碼系統(tǒng),用于對所述多媒體數(shù)據(jù)進行解碼。
34.一種提供指令的計算機可讀媒體,在處理器中執(zhí)行所述指令時,使所述處理器執(zhí)行包括以下步驟的方法識別與多媒體數(shù)據(jù)有關的一個或多個描述;以及把所述一個或多個描述包含在與所述多媒體數(shù)據(jù)相關的補充增強信息中,包含所述一個或多個描述的所述SEI隨后被傳送到解碼系統(tǒng),以便可選地用于所述多媒體數(shù)據(jù)的解碼。
全文摘要
識別與多媒體數(shù)據(jù)有關的一個或多個描述(圖1),并將其包含在與多媒體數(shù)據(jù)相關的補充增強信息(SEI)中(圖24)。因此,包含一個或多個描述的SEI被傳送給解碼系統(tǒng),以便可選地用于所述多媒體數(shù)據(jù)的解碼(圖2)。
文檔編號H04N7/24GK1666195SQ03815202
公開日2005年9月7日 申請日期2003年4月29日 優(yōu)先權日2002年4月29日
發(fā)明者M·Z·維沙拉姆, A·塔巴塔拜, T·沃爾克 申請人:索尼電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
卢湾区| 健康| 苏州市| 佛教| 江门市| 喀喇沁旗| 四平市| 衡阳县| 太和县| 海阳市| 新宁县| 济南市| 思南县| 嘉兴市| 富川| 溧阳市| 四会市| 都安| 德惠市| 南宁市| 合肥市| 梁山县| 饶平县| 保亭| 阿鲁科尔沁旗| 聂荣县| 姚安县| 青川县| 股票| 安顺市| 东兰县| 米易县| 武鸣县| 唐海县| 章丘市| 赤壁市| 齐齐哈尔市| 古浪县| 北京市| 陵水| 华坪县|