專利名稱:用于視頻編碼和解碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及視頻編碼領(lǐng)域,并且更具體地,涉及對(duì)解碼經(jīng)編碼數(shù)據(jù)的高效啟動(dòng)。
背景技術(shù):
本部分旨在提供針對(duì)在權(quán)利要求中敘述的本發(fā)明的背景或者上下文。這里的描述可以包括可能被實(shí)現(xiàn)的概念,但并不必是在此之前已經(jīng)被構(gòu)想出或者實(shí)現(xiàn)過的概念。因此, 除非在此另行指出,在本部分中描述的并非是本申請(qǐng)中的描述和權(quán)利要求的現(xiàn)有技術(shù),并且并不由于被包括在本部分中而被承認(rèn)為現(xiàn)有技術(shù)。為了促進(jìn)視頻內(nèi)容在一個(gè)或者多個(gè)網(wǎng)絡(luò)上的傳輸,已經(jīng)開發(fā)了若干編碼標(biāo)準(zhǔn)。 視頻編碼標(biāo)準(zhǔn)包括 ITU-T H. 261, IS0/IEC MPEG-lVideo, ITU-T H. 262 或者 IS0/IEC MPEG-2Video、ITU-T H. 263、IS0/IEC MPEG-4 Visual、ITU-T H. 264(也被稱為 IS0/IEC MPEG-4AVC)、以及H. ^4/AVC的可分級(jí)視頻編碼(SVC)擴(kuò)展。此外,當(dāng)前正在努力開發(fā)新的視頻編碼標(biāo)準(zhǔn)。正在開發(fā)之中的一個(gè)此類標(biāo)準(zhǔn)是多視點(diǎn)視頻編碼(MVC)標(biāo)準(zhǔn),其將成為對(duì) H. 264/AVC的另一個(gè)擴(kuò)展。高級(jí)視頻編碼(H. 264/AVC)標(biāo)準(zhǔn)被稱為ITU-T推薦H. 264和IS0/IEC國(guó)際標(biāo)準(zhǔn) 14496-10,也被稱為MPEG-4第10部分高級(jí)視頻編碼(AVC)。已經(jīng)存在了 H. 264/AVC標(biāo)準(zhǔn)的若干版本,每個(gè)版本都向規(guī)范合并了新的特征。版本8指代包括可分級(jí)視頻編碼(SVC)修正案的標(biāo)準(zhǔn)。當(dāng)前正在審批的新版本包括多視點(diǎn)視頻編碼(MVC)修正案。建議使用由H. ^4/AVC和SVC支持的多級(jí)時(shí)間分級(jí)層級(jí),這是由于它們的壓縮效率顯著提高。然而,多級(jí)層級(jí)也導(dǎo)致解碼的開始與渲染的開始之間的顯著延遲。該延遲是由以下事實(shí)造成的,即必須將經(jīng)解碼圖像從它們的解碼順序重新排序成輸出/顯示順序。因此,當(dāng)從隨機(jī)位置對(duì)流進(jìn)行訪問時(shí),啟動(dòng)延遲增加,并且類似地,與非層級(jí)時(shí)間分級(jí)的情況相比,對(duì)多播或者廣播的調(diào)諧延遲增加。
發(fā)明內(nèi)容
在本發(fā)明的一個(gè)方面中,一種方法包括接收包括訪問單元序列在內(nèi)的比特流;對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼。在一個(gè)實(shí)施方式中,該方法還包括跳過對(duì)依賴于該下一可解碼訪問單元的任何訪問單元的解碼。在一個(gè)實(shí)施方式中,該方法還包括基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前可以被解碼而對(duì)該下一可解碼訪問單元進(jìn)行解碼??梢詫?duì)該確定以及跳過解碼或者對(duì)該下一可解碼訪問單元進(jìn)行解碼進(jìn)行重復(fù),直到該比特流不再包括訪問單元。在一個(gè)實(shí)施方式中,對(duì)該第一可解碼訪問單元進(jìn)行解碼可以包括在相對(duì)于先前的解碼位置的非連續(xù)位置處開始解碼。在本發(fā)明的另一方面中,一種方法包括從接收器接收針對(duì)包括訪問單元序列的比特流的請(qǐng)求;封裝該比特流的第一可解碼訪問單元以供傳輸;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝;以及向該接收器傳輸該比特流。在本發(fā)明的又一方面中,一種方法包括生成用于對(duì)包括訪問單元序列的比特流進(jìn)行解碼的指令,該指令包括對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼。在本發(fā)明的另一方面中,一種方法包括基于指令對(duì)包括訪問單元序列的比特流進(jìn)行解碼,該指令包括對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼。 在本發(fā)明的又一方面中,一種方法包括生成用于對(duì)包括訪問單元序列的比特流進(jìn)行封裝的指令,該指令包括封裝該比特流的第一可解碼訪問單元以供傳輸;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝。在本發(fā)明的另一方面中,一種方法包括基于指令封裝包括訪問單元序列的比特流,該指令包括封裝該比特流的第一可解碼訪問單元以供傳輸;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝。在本發(fā)明的又一方面中,一種方法包括從比特流中選擇經(jīng)編碼數(shù)據(jù)單元的第一集合,其中包括不含該經(jīng)編碼數(shù)據(jù)單元結(jié)果的第一集合的該比特流的子比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第一集合,該比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第二集合,第一緩沖資源足以將該經(jīng)解碼數(shù)據(jù)單元的第一集合布置為輸出順序(output order),第二緩沖資源足以將該經(jīng)解碼數(shù)據(jù)單元的第二集合布置為輸出順序,并且該第一緩沖資源少于該第二緩沖資源。在一個(gè)實(shí)施方式中,該第一緩沖資源和該第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始時(shí)間而言的。在另一實(shí)施方式中,該第一緩沖資源和該第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始緩沖占有而言的。在本發(fā)明的另一方面中,一種裝置包括解碼器,該解碼器配置用于對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼。在本發(fā)明的又一方面中,一種裝置包括編碼器,該編碼器配置用于封裝該比特流
5的第一可解碼訪問單元以供傳輸;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝。在本發(fā)明的另一方面中,一種裝置包括文件生成器,該文件生成器配置用于生成指令以對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼。在本發(fā)明的又一方面中,一種裝置包括文件生成器,該文件生成器配置用于生成指令以封裝該比特流的第一可解碼訪問單元以供傳輸;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝。在本發(fā)明的另一方面中,一種裝置包括處理器以及可通信地連接至該處理器的存儲(chǔ)器單元。該存儲(chǔ)器單元包括用于對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼的計(jì)算機(jī)代碼;用于確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼的計(jì)算機(jī)代碼;以及用于基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼的計(jì)算機(jī)代碼。在本發(fā)明的又一方面中,一種裝置包括處理器以及可通信地連接至該處理器的存儲(chǔ)器單元。該存儲(chǔ)器單元包括用于封裝針對(duì)該比特流的第一可解碼訪問單元以供傳輸?shù)挠?jì)算機(jī)代碼;用于確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝的計(jì)算機(jī)代碼;以及用于基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝的計(jì)算機(jī)代碼。在本發(fā)明的另一方面中,一種計(jì)算機(jī)程序產(chǎn)品體現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上并且包括用于對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼的計(jì)算機(jī)代碼;用于確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼的計(jì)算機(jī)代碼;以及用于基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼的計(jì)算機(jī)代碼。在本發(fā)明的又一方面中,一種計(jì)算機(jī)程序產(chǎn)品體現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上并且包括用于封裝該比特流的第一可解碼訪問單元以供傳輸?shù)挠?jì)算機(jī)代碼;用于確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的傳輸時(shí)間之前是否可以被封裝的計(jì)算機(jī)代碼;以及用于基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的該傳輸時(shí)間之前無法被封裝而跳過對(duì)該下一可解碼訪問單元的封裝的計(jì)算機(jī)代碼。本發(fā)明的各種實(shí)施方式的這些和其他優(yōu)點(diǎn)和特征,連同其操作的組織與方式,將通過結(jié)合附圖的以下詳細(xì)描述而變得顯而易見。
通過參考附圖描述本發(fā)明的實(shí)施方式,其中圖1圖示了具有時(shí)間分級(jí)的示例性層級(jí)編碼結(jié)構(gòu);圖2圖示了根據(jù)ISO基礎(chǔ)媒體文件格式的示例性盒;圖3是圖示了樣本編組的示例性盒;圖4圖示了容納包括SampletoToGroup盒的電影片段的示例性盒;圖5圖示了用于數(shù)字視頻廣播-手持式(DVB-H)的協(xié)議棧;圖6圖示了多協(xié)議封裝前向糾錯(cuò)(MPE-FEC)幀的結(jié)構(gòu);圖7(a)-圖7(c)圖示了具有5個(gè)時(shí)間級(jí)別的示例層級(jí)可分級(jí)比特流;圖8是圖示了根據(jù)本發(fā)明的實(shí)施方式的示例實(shí)現(xiàn)的流程圖;圖9圖示了圖8的方法對(duì)圖7的序列的示例應(yīng)用;圖10圖示了根據(jù)本發(fā)明的實(shí)施方式的另一示例序列;圖11(a)-圖11(c)圖示了根據(jù)本發(fā)明的實(shí)施方式的又一示例序列;圖12是在其中可以實(shí)現(xiàn)本發(fā)明的各種實(shí)施方式的系統(tǒng)的概覽圖;圖13圖示了可以根據(jù)本發(fā)明的各種實(shí)施方式利用的示例性電子設(shè)備的透視圖;圖14是可以包括在圖13的電子設(shè)備中的電路的示意圖;以及圖15是在其中可以實(shí)現(xiàn)各種實(shí)施方式的一般多媒體通信系統(tǒng)的圖示。
具體實(shí)施例方式在以下描述中,出于說明而非限制的目的,為了提供對(duì)本發(fā)明的徹底理解而闡明了細(xì)節(jié)和描述。然而,對(duì)本領(lǐng)域技術(shù)人員而言,很明顯地,本發(fā)明可以在脫離這些細(xì)節(jié)和描述的其他實(shí)施方式中實(shí)踐。如上所述,高級(jí)視頻編碼(H. 264/AVC)標(biāo)準(zhǔn)被稱為ITU-T推薦H. 264和IS0/IEC 國(guó)際標(biāo)準(zhǔn)14496-10,也被稱為MPEG-4第10部分高級(jí)視頻編碼(AVC)。已經(jīng)存在了 H. 264/ AVC標(biāo)準(zhǔn)的若干版本,每個(gè)版本都向規(guī)范合并了新的特征。版本8指代包括可分級(jí)視頻編碼 (SVC)修正案的標(biāo)準(zhǔn)。當(dāng)前正在審批的新版本包括多視點(diǎn)視頻編碼(MVC)修正案。類似于較早的視頻編碼標(biāo)準(zhǔn),在H. 264/AVC中指定了用于無誤比特流的解碼過程以及比特流語法和語義。編碼過程未被指定,但是編碼器必須生成一致的比特流??梢杂眉僭O(shè)參考解碼器(HRD)來驗(yàn)證比特流與解碼器一致性,HRD在H. 264/AVC的附錄C中指定。 該標(biāo)準(zhǔn)包含有助于應(yīng)對(duì)傳輸錯(cuò)誤和損失的編碼工具,但是在編碼中對(duì)該工具的使用是可選的并且尚未針對(duì)錯(cuò)誤比特流指定解碼過程。H. 264/AVC編碼器的輸入以及H. 264/AVC解碼器的輸出的基本單位是圖像。圖像可以是幀或者場(chǎng)。幀包括亮度樣本和相應(yīng)色度樣本的矩陣。場(chǎng)是幀的交替樣本行的集合并且在源信號(hào)被交織時(shí)可以被用作編碼器輸入。宏塊是亮度樣本的16x16塊和相應(yīng)的色度樣本的塊。圖像被分為一個(gè)或多個(gè)片組,并且片組包括一個(gè)或多個(gè)片。片包括整數(shù)個(gè)宏塊,這些宏塊在特定片組內(nèi)的光柵掃描中連續(xù)排列。H. 264/AVC編碼器的輸出和H. 264/AVC解碼器的輸入的基本單位是網(wǎng)絡(luò)抽象層 (NAL)單元。對(duì)部分或者毀壞的NAL單元的解碼非常困難。為了通過面向分組的網(wǎng)絡(luò)進(jìn)行傳播或者向結(jié)構(gòu)化文件中進(jìn)行存儲(chǔ),通常將NAL單元封裝到分組或者類似結(jié)構(gòu)中。在H. 264/ AVC中已經(jīng)針對(duì)不提供成幀結(jié)構(gòu)的傳輸或者存儲(chǔ)環(huán)境指定了字節(jié)流格式。字節(jié)流格式通過在每個(gè)NAL單元前面附加起始碼而將NAL單元相互分離。為了避免對(duì)NAL單元邊界的錯(cuò)誤檢測(cè),編碼器必須運(yùn)行面向字節(jié)的起始碼預(yù)防歧義(emulation prevention)算法,其在未出現(xiàn)起始碼時(shí)向NAL單元凈荷添加預(yù)防歧義字節(jié)。為了支持面向分組的系統(tǒng)與面向流的系統(tǒng)之間的直接網(wǎng)關(guān)操作,無論是否正在使用字節(jié)流格式,總是執(zhí)行起始碼預(yù)防歧義。H. 264/AVC的比特流語法指示特定圖像是否為用于任何其他圖像的幀間預(yù)測(cè)的參考圖像。因此,不用于預(yù)測(cè)的圖像(非參考圖像)可以被安全地處置。任何編碼類型(I、P、 B)的圖像都可以是H. 264/AVC中的非參考圖像。NAL單元頭指示NAL單元的類型以及包含在該NAL單元中的經(jīng)編碼片是參考圖像還是非參考圖像的一部分。H. 264/AVC指定用于經(jīng)解碼參考圖像標(biāo)記的過程以便控制解碼器中的存儲(chǔ)器消耗。在序列參數(shù)集合中確定被稱為M的用于幀間預(yù)測(cè)的參考圖像的最大數(shù)目。當(dāng)參考圖像被解碼時(shí),其被標(biāo)記為“用于參考”。如果參考圖像的解碼使得多于M個(gè)圖像被標(biāo)記為“用于參考”,則至少一個(gè)圖像必須被標(biāo)記為“未用于參考(unused for reference) 針對(duì)經(jīng)解碼參考圖像標(biāo)記存在兩種類型的操作自適應(yīng)存儲(chǔ)器控制和滑動(dòng)窗口?;趫D像來選擇用于經(jīng)解碼參考圖像標(biāo)記的操作模式。自適應(yīng)存儲(chǔ)器控制使得能夠明確表示哪個(gè)圖像被標(biāo)記為“未用于參考”并且還可以向短期參考圖像分配長(zhǎng)期索引。自適應(yīng)存儲(chǔ)器控制要求在比特流中存在存儲(chǔ)器管理控制操作(MMCO)參數(shù)。如果滑動(dòng)窗口操作模式在使用中并且有 M個(gè)圖像被標(biāo)記為“用于參考”,則在被標(biāo)記為“用于參考”的那些短期參考圖像之中的作為被首先解碼的圖像的短期參考圖像被標(biāo)記為“未用于參考”。換言之,滑動(dòng)窗口操作模式導(dǎo)致短期參考圖像之中的先進(jìn)先出緩沖操作。H. 264/AVC中的存儲(chǔ)器管理控制操作之一使得除了當(dāng)前圖像以外的所有參考圖像被標(biāo)記為“未用于參考”。即時(shí)解碼刷新(instantaneous decoding refresh, IDR)圖像僅包含幀內(nèi)編碼片并且導(dǎo)致參考圖像的類似的“重置”。使用對(duì)參考圖像列表的索引來指示用于幀間預(yù)測(cè)的參考圖像。該索引使用可變長(zhǎng)度編碼進(jìn)行編碼,即,索引越小則相應(yīng)的語法元素變得越短。針對(duì)H. 264/AVC的每個(gè)雙向預(yù)測(cè)片(bi-predictive slice)生成兩個(gè)參考圖像列表,并且針對(duì)H. ^4/AVC的每個(gè)幀間編碼片形成一個(gè)參考圖像列表。以兩個(gè)步驟來構(gòu)建參考圖像列表首先生成初始參考圖像列表,并且繼而可以通過包含在片頭(slice header)中的參考圖像列表重新排序(RPLR)命令對(duì)初始參考圖像列表進(jìn)行重新排序。RPLR命令指示被排序到相應(yīng)的參考圖像列表的開端的圖像。framejum語法元素用于與多個(gè)參考圖像有關(guān)的各種解碼過程。要求IDR圖像的 frame_num的值為0。要求非IDR圖像的framejum的值等于在解碼順序中的前一參考圖像的framejum遞增1 (以模運(yùn)算的形式,即在framejum的最大值之后framejum的值繞回0)。在H. 264/AVC的附錄C中指定的假設(shè)參考解碼器(HRD)用于檢查比特流和解碼器一致性。HRD包含經(jīng)編碼圖像緩沖器(CPB)、即時(shí)解碼過程、經(jīng)解碼圖像緩沖器(DPB)以及輸出圖像修剪塊(cropping block)。CPB和即時(shí)解碼過程被類似地指定給任何其他視頻編碼標(biāo)準(zhǔn),并且輸出圖像修剪塊簡(jiǎn)單地修剪來自位于以信令通信的輸出圖像范圍之外的經(jīng)解碼圖像的那些樣本。將DPB引入H. 264/AVC中以便控制用于對(duì)一致的比特流進(jìn)行解碼所需的存儲(chǔ)器資源。出于兩個(gè)原因而緩存經(jīng)解碼圖像,為了在幀間預(yù)測(cè)中參考和為了將經(jīng)解碼圖像重新排序?yàn)檩敵鲰樞?。由于H. ^4/AVC為參考圖像標(biāo)記和輸出重新排序兩者提供了極大的靈活性,因此用于參考圖像緩沖和輸出圖像緩沖的分立的緩沖器可能是對(duì)存儲(chǔ)器資源的浪費(fèi)。因此,DPB包括用于參考圖像和輸出重新排序的統(tǒng)一經(jīng)解碼圖像緩沖過程。當(dāng)經(jīng)解碼圖像不再用作參考和需要將其輸出時(shí),將其從DPB移除。允許比特流使用的DPB的最大尺寸在H. 264/AVC的級(jí)別定義(附錄A)中指定。 對(duì)于解碼器存在兩種類型的一致性輸出時(shí)序一致性和輸出順序一致性。對(duì)于輸出時(shí)序一致性,解碼器必須以與HRD比較而言相同的時(shí)間輸出圖像。對(duì)于輸出順序一致性, 僅僅考慮輸出圖像的正確順序。假設(shè)輸出順序DPB包含最大允許數(shù)目的幀緩沖器。當(dāng)一個(gè)幀不再用作參考并且需要將其輸出時(shí)將其從DPB移除。當(dāng)DPB變滿時(shí),輸出順序中的最早幀被輸出,直到至少一個(gè)幀緩沖器變?yōu)槲幢徽加谩?可以將NAL單元分類為視頻編碼層(VCL) NAL單元和非VCLNAL單元。VCL NAL單元是經(jīng)編碼片NAL單元、經(jīng)編碼片數(shù)據(jù)分塊NAL單元或者VCL前綴NAL單元。經(jīng)編碼片NAL 單元包含代表一個(gè)或多個(gè)經(jīng)編碼宏塊的語法元素,其中每個(gè)經(jīng)編碼宏塊對(duì)應(yīng)于未壓縮圖像中的樣本塊。存在4種類型的經(jīng)編碼片NAL單元即時(shí)解碼刷新(IDR)圖像中的經(jīng)編碼片、 非IDR圖像中的經(jīng)編碼片、輔助經(jīng)編碼圖像(諸如alpha平面)的經(jīng)編碼片以及可分級(jí)擴(kuò)展(SVC)中的經(jīng)編碼片。三個(gè)經(jīng)編碼片數(shù)據(jù)分塊NAL單元的集合包含相同的語法元素作為經(jīng)編碼片。經(jīng)編碼片數(shù)據(jù)分塊A包括片的運(yùn)動(dòng)向量以及宏塊頭,而經(jīng)編碼片數(shù)據(jù)分塊B和C 分別包括用于幀內(nèi)宏塊和幀間宏塊的經(jīng)編碼殘留數(shù)據(jù)。應(yīng)當(dāng)注意,在H. 264/AVC的基本應(yīng)用規(guī)范或高級(jí)應(yīng)用規(guī)范中沒有包括對(duì)片數(shù)據(jù)分塊的支持。VCL前綴NAL單元先于SVC比特流中的基礎(chǔ)層的經(jīng)編碼片,并且包含相關(guān)聯(lián)的經(jīng)編碼片的可分級(jí)層級(jí)的指示。非VCL NAL單元可以是以下類型之一序列參數(shù)集合、圖像參數(shù)集合、補(bǔ)充增強(qiáng)信息(SEI) NAL單元、訪問單元定界符、序列NAL單元的末端、流NAL單元的末端或者填充符數(shù)據(jù)NAL單元。參數(shù)集合對(duì)于經(jīng)解碼圖像的重建而言是必要的,而其他非VCL NAL單元對(duì)于經(jīng)解碼樣本值的重建而言不是必需的并且服務(wù)于以下介紹的其他目的。在下述段落中深入地評(píng)述參數(shù)集合以及SEI NAL單元。其他非VCL NAL單元對(duì)于本文的范圍而言不是必要的并因此而未被描述。為了魯棒地傳遞不頻繁改變的編碼參數(shù),對(duì)H. ^4/AVC采用參數(shù)集合機(jī)制。通過經(jīng)編碼視頻序列而保持不變的參數(shù)被包括在序列參數(shù)集合中。除了對(duì)于解碼過程而言必要的參數(shù),序列參數(shù)集合可選地可以包含視頻可用性信息(VUI),其包括對(duì)于緩沖、圖像輸出時(shí)序、渲染和資源保留而言重要的參數(shù)。圖像參數(shù)集合包含很可能在若干經(jīng)編碼圖像中都不改變的此類參數(shù)。在HJ64/AVC比特流中不存在圖像頭,但是頻繁改變的圖像級(jí)數(shù)據(jù)在每個(gè)片頭中重復(fù)并且圖像參數(shù)集攜載剩余的圖像級(jí)參數(shù)。H. ^4/AVC語法允許圖像參數(shù)集合和序列的許多實(shí)例,并且使用唯一的標(biāo)識(shí)符來標(biāo)識(shí)每個(gè)實(shí)例。每個(gè)片頭包括對(duì)于包含該片的圖像的解碼而言為活躍的圖像參數(shù)集合的標(biāo)識(shí)符,并且每個(gè)圖像參數(shù)集合包含活躍序列參數(shù)集合的標(biāo)識(shí)符。因此,圖像和序列參數(shù)集合的傳輸并不必須與片的傳輸準(zhǔn)確同步。相反,在活躍序列和圖像參數(shù)集合被參考前的任何時(shí)刻接收它們就足夠了,這允許使用與用于片數(shù)據(jù)的協(xié)議相比更為可靠的傳輸機(jī)制來傳輸參數(shù)集合。例如,參數(shù)集合可以被包括作為用于HJ64/AVC RTP會(huì)話的會(huì)話描述中的參數(shù)。推薦只要有可能,就在正使用的應(yīng)用中使用頻帶外的可靠的傳輸機(jī)制。如果參數(shù)集合在頻帶內(nèi)傳輸,則可以對(duì)它們進(jìn)行重復(fù)以改進(jìn)錯(cuò)誤魯棒性。一個(gè)SEI NAL單元包含一個(gè)或者多個(gè)SEI消息,其并非是對(duì)輸出圖像的解碼所需要的但是有助于相關(guān)過程,諸如圖像輸出時(shí)序、渲染、錯(cuò)誤檢測(cè)、錯(cuò)誤隱藏以及資源保留。在 H. 264/AVC中指定了若干SEI消息,并且用戶數(shù)據(jù)SEI消息支持團(tuán)體和公司為了它們自己的使用而指定SEI消息。H. ^4/AVC包含用于指定的SEI消息的語法和語義,但是沒有定義用于對(duì)接收方的消息進(jìn)行處理的過程。因此,當(dāng)編碼器創(chuàng)建SEI消息時(shí)它們必須遵循H. 264/ AVC標(biāo)準(zhǔn),而對(duì)于為了輸出順序一致性而處理SEI消息則并不需要解碼器與H. ^4/AVC標(biāo)準(zhǔn)一致。在H. 264/AVC中包括SEI消息的語法和語義的原因之一是為了允許不同系統(tǒng)規(guī)范同一地解釋補(bǔ)充信息并且因而互操作。旨在讓系統(tǒng)規(guī)范可以在編碼端和在解碼端兩者中要求使用特定SEI消息,并且附加地可以指定用于處理接收方的特定SEI消息的過程。經(jīng)編碼圖像包括對(duì)該圖像進(jìn)行解碼所必需的VCL NAL單元。經(jīng)編碼圖像可以是主編碼圖像或者冗余編碼圖像。主編碼圖像在有效比特流的解碼過程中使用,而冗余編碼圖像是冗余表示,其僅當(dāng)主編碼圖像無法被成功解碼時(shí)才應(yīng)當(dāng)被解碼。訪問單元包括主編碼圖像和與其相關(guān)聯(lián)的那些NAL單元。訪問單元內(nèi)的NAL單元的出現(xiàn)順序被限定如下。可選訪問單元定界符NAL單元可以指示訪問單元的開始。其后接有0個(gè)或更多個(gè)SEI NAL單元。接著出現(xiàn)主編碼圖像的經(jīng)編碼片或者片數(shù)據(jù)分塊,其后接有0個(gè)或者更多個(gè)冗余編碼圖像的經(jīng)編碼片。經(jīng)編碼視頻序列被定義為按照解碼順序的連續(xù)訪問單元序列,該順序?yàn)閺囊粋€(gè) IDR訪問單元(含該單元)到下一 IDR訪問單元(不含該單元)或者到該比特流的末端,以更早出現(xiàn)的情況為準(zhǔn)。在H.264/AVC 的最新發(fā)布(ITU-T 推薦H. 264(11/2007) ,"Advanced video coding for generic audiovisual services,,)的附錄 G 中指定了 SVC。在可分級(jí)視頻編碼中,視頻信號(hào)可以被編碼為構(gòu)建的基礎(chǔ)層以及一個(gè)或多個(gè)增強(qiáng)層。增強(qiáng)層增強(qiáng)時(shí)間分辨率(即,幀速率)、空間分辨率或者簡(jiǎn)單地增強(qiáng)由另一層或其部分代表的視頻內(nèi)容的質(zhì)量。每個(gè)層連同其所有從屬層是在某個(gè)空間分辨率、時(shí)間分辨率和質(zhì)量級(jí)別的視頻信號(hào)的一個(gè)表示。在本文中,將可分級(jí)層連同其所有從屬層稱為“可分級(jí)層表示”。對(duì)應(yīng)于可分級(jí)層表示的可分級(jí)比特流的部分可以被提取和解碼以產(chǎn)生在某個(gè)保真度的原始信號(hào)的表示。在某些情況中,可以在某個(gè)位置乃至任意位置之后將增強(qiáng)層中的數(shù)據(jù)截短,每個(gè)截短位置可以包括表示逐漸增強(qiáng)的視覺質(zhì)量的附加數(shù)據(jù)。此類分級(jí)可以被稱為細(xì)粒度(粒度)(fine-grained (granularity))分級(jí)(TOS)。應(yīng)當(dāng)指出,在最新的SVC草案中已經(jīng)放棄了對(duì)FGS的支持,但該支持在較早的SVC草案中可用,例如,在JVT-U201, “Joint Draft 8 of SVC Amendment,,(21st JVT meeting, Hangzhou, China, October 2006,其可從 http://ftp3. itu. ch/av-arch/jvt-site/2006_10_Hangzhou/JVT-U201. zip獲得)中可用。與res相反,由不能被截短的那些增強(qiáng)層提供的分級(jí)被稱為粗粒度(粒度)(coarse-grained(granularity))分級(jí)(CGS)。其共同地包括傳統(tǒng)的質(zhì)量(SNR)可分級(jí)性和空間可分級(jí)性。SVC草案標(biāo)準(zhǔn)還支持所謂的中等粒度(粒度) (medium-grained(granularity))分級(jí)(MGS),其中通過使 quality_id 語法元素大于 0,將質(zhì)量增強(qiáng)圖像類似地編碼為SNR可分級(jí)層圖像但是由高級(jí)語法元素類似地指示為res層圖像。SVC使用層間預(yù)測(cè)機(jī)制,其中某些信息可以從除了當(dāng)前重新構(gòu)建的層或下一較低層以外的層預(yù)測(cè)??梢员粚娱g預(yù)測(cè)的信息包括幀內(nèi)紋理(intra texture)、運(yùn)動(dòng)和殘留數(shù)據(jù)。層間運(yùn)動(dòng)預(yù)測(cè)包括塊編碼模式、頭信息等的預(yù)測(cè),其中來自較低層的運(yùn)動(dòng)可以用于較高層的預(yù)測(cè)。在幀內(nèi)編碼的情況下,可以根據(jù)周圍宏塊或者來自較低層的同等位置的宏塊來進(jìn)行預(yù)測(cè)。這些預(yù)測(cè)技術(shù)沒有使用來自較早編碼的訪問單元的信息并且因此被稱為幀內(nèi)預(yù)測(cè)技術(shù)。此外,來自較低層的殘留數(shù)據(jù)也可以用于當(dāng)前層的預(yù)測(cè)。SVC指定被稱為單循環(huán)解碼的概念。其通過使用受限的幀內(nèi)紋理預(yù)測(cè)模式而被支持,從而層間幀內(nèi)紋理預(yù)測(cè)可以被應(yīng)用于宏塊(MB),對(duì)于該宏塊,基礎(chǔ)層的相應(yīng)塊位于幀內(nèi) MB內(nèi)。同時(shí),基礎(chǔ)層中的這些幀內(nèi)MB使用受限幀內(nèi)預(yù)測(cè)(例如,使語法元素“constrainecL intra_pred_flag”等于1)。在單循環(huán)解碼中,解碼器僅針對(duì)期望用于回放的可分級(jí)層(稱為“期望層”或者“目標(biāo)層”)執(zhí)行運(yùn)動(dòng)補(bǔ)償和完全圖像重建,從而極大地降低了解碼復(fù)雜性。 除了期望層之外的所有層均不需要被完全解碼,這是因?yàn)閷?duì)于期望層的重建而言不需要不用于層間預(yù)測(cè)(無論是層間幀內(nèi)紋理預(yù)測(cè)、層間運(yùn)動(dòng)預(yù)測(cè)還是層間殘留預(yù)測(cè))的MB的全部數(shù)據(jù)或部分?jǐn)?shù)據(jù)。對(duì)于大多數(shù)圖像的解碼需要單個(gè)解碼循環(huán),而第二解碼循環(huán)選擇性地應(yīng)用于重建基礎(chǔ)表示,其需要用作預(yù)測(cè)參考而不是用于輸出或者顯示,并且僅針對(duì)所謂的關(guān)鍵圖像 (針對(duì)關(guān)鍵圖像,“st0re_base_i^p_flag”等于1)而被重建。SVC草案中的可分級(jí)結(jié)構(gòu)以三個(gè)語法元素表征“ temporal_id”、“ dependency, id”和“qualityjd”。語法元素“temporaljd”用于指示時(shí)間可分級(jí)層級(jí)或間接地指示幀速率。包括較小最大“temporaljd”值的圖像的可分級(jí)層表示比包括較大最大“temporal id”的圖像的可分級(jí)層表示具有更小的幀速率。給定的時(shí)間層通常取決于較低時(shí)間層 (即,具有較小“temporaljd”值的時(shí)間層)而并不取決于任何較高時(shí)間層。語法元素 “cbpendencyjd”用于指示CGS層間編碼從屬層級(jí)(其如前文所提及,包括SNR和空間可分級(jí)性兩者)。在任何時(shí)間層位置,較小“d印endencyjd”值的圖像可以用于針對(duì)具有較大 “cbpendencyjd”值的圖像的編碼的層間預(yù)測(cè)。語法元素“qualityjd”用于指示TOS或者 MGS層的質(zhì)量級(jí)別層級(jí)。在任何時(shí)間位置,并且伴隨相同的“cbpendencyjd”值,具有等于 QL的“qualityjd”的圖像使用具有等于QL-I的“qualityjd”的圖像用于層間預(yù)測(cè)。具有大于0的“qualityjd”的經(jīng)編碼片可以被編碼為可截短TOS片或者不可截短MGS片。為簡(jiǎn)單起見,一個(gè)訪問單元中具有相同的“cbpendencyjd”值的所有數(shù)據(jù)單元 (例如,SVC上下文中的網(wǎng)絡(luò)抽象層單元或者NAL單元)被稱為從屬單元或者從屬表示。在一個(gè)從屬單元內(nèi),具有相同的“quality_id”值的所有數(shù)據(jù)單元被稱為質(zhì)量單元或者層表
7J\ ο基礎(chǔ)表示(也稱為經(jīng)解碼基礎(chǔ)圖像)是通過對(duì)具有等于0的“quality_id”并且 “st0re_base_i^p_flag”設(shè)置為等于1的從屬單元的視頻編碼層(VCL) NAL單元進(jìn)行解碼而產(chǎn)生的經(jīng)解碼圖像。增強(qiáng)表示(也稱為經(jīng)解碼圖像)是通過常規(guī)解碼過程而產(chǎn)生的,在該過程中對(duì)為了最高從屬表示而存在的所有的層表示進(jìn)行解碼。在SVC比特流中,每個(gè)H. ^4/AVC VCL NAL單元(NAL單元類型在1至5的范圍中) 之前是前綴NAL單元。兼容的H. ^4/AVC解碼器實(shí)現(xiàn)方式忽略前綴NAL單元。前綴NAL單元包括“temporaljd”值并且因此對(duì)基礎(chǔ)層進(jìn)行解碼的SVC解碼器可以從前綴NAL單元得知時(shí)間可分級(jí)層級(jí)。此外,前綴NAL單元包括用于基礎(chǔ)表示的參考圖像標(biāo)記命令。SVC使用與H. 264/AVC相同的機(jī)制來提供時(shí)間可分級(jí)性。時(shí)間可分級(jí)性通過給予調(diào)整幀速率的靈活性而在時(shí)間域中提供對(duì)視頻質(zhì)量的精細(xì)化。在隨后的段落中提供對(duì)時(shí)間可分級(jí)性的評(píng)述。向視頻編碼標(biāo)準(zhǔn)引入的最早的可分級(jí)性是在MPEG-I Visual中伴隨B圖像的時(shí)間可分級(jí)性。在這個(gè)B圖像概念中,從兩個(gè)圖像雙向預(yù)測(cè)出B圖像,一個(gè)圖像在B圖像之前而另一個(gè)圖像在B圖像之后,它們二者都按照顯示順序。在雙向預(yù)測(cè)中,對(duì)兩個(gè)參考圖像中的兩個(gè)預(yù)測(cè)塊進(jìn)行采樣寬度求平均以獲得最終的預(yù)測(cè)塊。傳統(tǒng)上,B圖像是非參考圖像(即, 其不由其他圖像用于圖像間預(yù)測(cè)參考)。因此,B圖像可以被丟棄以實(shí)現(xiàn)具有較低幀速率的時(shí)間可分級(jí)點(diǎn)。在MPEG-2 Video、H. 263和MPEG-4 Visual中保留了同樣的機(jī)制。在H. 264/AVC中,B圖像或者B片的概念已經(jīng)被改變。B片的定義如下使用至多兩個(gè)運(yùn)動(dòng)向量和參考索引預(yù)測(cè)每個(gè)塊的樣本值,可以使用幀內(nèi)預(yù)測(cè)從同一片內(nèi)的經(jīng)解碼樣本或使用幀間預(yù)測(cè)從之前解碼的參考圖像進(jìn)行解碼的片。傳統(tǒng)的B圖像概念的雙向預(yù)測(cè)性質(zhì)和非參考圖像性質(zhì)兩者均不再有效。可以從按照顯示順序的相同方向上的兩個(gè)參考圖像預(yù)測(cè)B片中的塊,并且包括B片的圖像可以由其他圖像參考以供圖像間預(yù)測(cè)。在H. 264/AVC, SVC和MVC中,時(shí)間可分級(jí)性可以通過使用非參考圖像和/或?qū)蛹?jí)圖像間預(yù)測(cè)結(jié)構(gòu)實(shí)現(xiàn)。通過丟棄非參考圖像,僅使用非參考圖像能夠?qū)崿F(xiàn)類似于使用 MPEG-V2/4中的傳統(tǒng)B圖像的時(shí)間可分級(jí)性。層級(jí)編碼結(jié)構(gòu)可以實(shí)現(xiàn)更靈活的時(shí)間可分級(jí)性。現(xiàn)在參考圖1,其示出了具有4級(jí)時(shí)間可分級(jí)性的示例性層級(jí)編碼結(jié)構(gòu)。顯示順序由被表示為圖像順序計(jì)數(shù)(P0C)210的值指示。I或P圖像(諸如I/P圖像212,也被稱為關(guān)鍵圖像)被編碼成按照解碼順序的圖像組(GOP) 214的第一圖像。當(dāng)關(guān)鍵圖像(例如, 關(guān)鍵圖像216、218)被幀間編碼時(shí),之前的關(guān)鍵圖像212、216被用作針對(duì)圖像間預(yù)測(cè)的參考。這些圖像對(duì)應(yīng)于時(shí)間可分級(jí)結(jié)構(gòu)中的最低時(shí)間級(jí)別220(在圖中表示為TL)并且與最低幀速率相關(guān)聯(lián)。較高時(shí)間級(jí)別的圖像可以僅使用相同或者更低時(shí)間級(jí)別的圖像以供圖像間預(yù)測(cè)。使用此類層級(jí)編碼結(jié)構(gòu),可以通過丟棄某些時(shí)間級(jí)別值和超過部分的圖像來實(shí)現(xiàn)對(duì)應(yīng)于不同幀速率的不同時(shí)間可分級(jí)性。在圖1中,圖像0、8和16是最低時(shí)間級(jí)別的,而圖像1、3、5、7、9、11、13和15是最高時(shí)間級(jí)別的。其他圖像被分層地分配有其他時(shí)間級(jí)別。 這些不同時(shí)間級(jí)別的圖像組成不同幀速率的比特流。當(dāng)對(duì)所有時(shí)間級(jí)別進(jìn)行解碼時(shí),獲得 30Hz的幀速率。通過丟棄某些時(shí)間級(jí)別的圖像可以獲得其他幀速率。最低時(shí)間級(jí)別的圖像與3. 75Hz的幀速率相關(guān)聯(lián)。具有較低時(shí)間級(jí)別或者較低幀速率的時(shí)間可分級(jí)層也被稱為較低時(shí)間層。以上描述的層級(jí)B圖像編碼結(jié)構(gòu)是最典型的時(shí)間可分級(jí)性的編碼結(jié)構(gòu)。然而,應(yīng)當(dāng)注意,靈活得多的編碼結(jié)構(gòu)是可能的。例如,隨著時(shí)間的推移GOP尺寸可能不是恒定的。 在另一示例中,時(shí)間增強(qiáng)層圖像并不必須被編碼為B片,它們也可以被編碼為P片。在H. 264/AVC中,可以通過子序列信息補(bǔ)充增強(qiáng)信息(SEI)消息用信令發(fā)送時(shí)間級(jí)別。在SVC中,在網(wǎng)絡(luò)抽象層(NAL)單元頭中通過語法元素“temporaljd”用信令發(fā)送時(shí)間級(jí)別。在可分級(jí)性信息SEI消息中用信令發(fā)送針對(duì)每個(gè)時(shí)間級(jí)別的比特率和幀速率信肩、ο子序列代表可以被去除而不會(huì)影響剩余比特流的解碼的相互從屬圖像的數(shù)目。經(jīng)編碼比特流中的圖像可以按照多種方式組織為子序列。在大多數(shù)應(yīng)用中,單一結(jié)構(gòu)的子序列就足夠了。如前文所提及,CGS包括空間可分級(jí)性和SNR可分級(jí)性兩者。空間可分級(jí)性被初始地設(shè)計(jì)用于支持具有不同分辨率的視頻的表示。對(duì)于每個(gè)時(shí)間實(shí)例,在同一訪問單元中對(duì)VCL NAL單元進(jìn)行編碼并且這些VCL NAL單元可以對(duì)應(yīng)于不同的分辨率。在解碼期間, 低分辨率VCL NAL單元提供運(yùn)動(dòng)場(chǎng)(motion field)和殘留,其可以可選地被高分辨率圖像的最終解碼和重建所繼承。當(dāng)與更早的視頻壓縮標(biāo)準(zhǔn)比較時(shí),SVC的空間可分級(jí)性被概括為支持基礎(chǔ)層成為增強(qiáng)層的經(jīng)修剪和經(jīng)縮放版本。與res質(zhì)量層類似地用“qimlity_id”指示MGS質(zhì)量層。對(duì)于每個(gè)從屬單元(具有相同的“(1印拙如11(^_丨(1”),存在具有等于0的“9皿1行7_丨(1”的層并且可以有“9皿1行又_ id”大于0的其它層。這些“qualityjd”大于0的層是MGS層或者TOS層,這取決于片是否被編碼為可截短的片。在res增強(qiáng)層的基本形式中,僅使用層間預(yù)測(cè)。因此,res增強(qiáng)層可以被自由地截短而不會(huì)在經(jīng)解碼序列中引起任何錯(cuò)誤傳播。然而,res的基本形式遭受低壓縮效率之害。 該問題由于僅有低質(zhì)量圖像用于幀間預(yù)測(cè)參考而產(chǎn)生。因此,已經(jīng)提議將res增強(qiáng)圖像用做幀間預(yù)測(cè)參考。然而,當(dāng)某些res數(shù)據(jù)被丟棄時(shí),這引起編碼-解碼不匹配,也稱為漂移 (drift)。SVC的一個(gè)重要特征在于reS NAL單元可以被自由地放棄或者截短,并且MGS NAL 單元可以被自由地放棄(但是無法被截短)而不會(huì)影響比特流的一致性。如以上討論的, 當(dāng)這些res或者M(jìn)GS數(shù)據(jù)在編碼期間用于幀間預(yù)測(cè)參考時(shí),數(shù)據(jù)的放棄或者截短將導(dǎo)致解碼器側(cè)中和編碼器側(cè)中的經(jīng)解碼圖像之間的不匹配。這種不匹配也稱為漂移。為了控制由于對(duì)res或者M(jìn)GS數(shù)據(jù)的放棄或者截短而產(chǎn)生的漂移,SVC應(yīng)用以下解決方案在某個(gè)從屬單元中,將基本表示(通過僅對(duì)“quality_id”等于0的CGS圖像和所有從屬的較低層數(shù)據(jù)進(jìn)行解碼)存儲(chǔ)在經(jīng)解碼圖像緩沖器中。當(dāng)對(duì)具有相同“dependency, id”值的隨后的從屬單元進(jìn)行編碼時(shí),包括i^GS或者M(jìn)GS NAL單元在內(nèi)的所有NAL單元使用基本表示以供幀間預(yù)測(cè)參考。因此,在較早的訪問單元中由于KiS或者M(jìn)GS NAL單元的放棄或者截短而產(chǎn)生的所有漂移均在這一訪問單元中被停止。對(duì)于具有相同“d印endenCy_ id”值的其他從屬單元,為了高編碼效率,所有NAL單元均使用經(jīng)解碼圖像以供幀間預(yù)測(cè)參考。每個(gè)NAL單元在NAL單元頭中包括語法元素“use_base_prediction_flag”。當(dāng)這一元素的值等于1時(shí),對(duì)NAL單元的解碼在幀間預(yù)測(cè)過程中使用參考圖像的基本表示。語法元素“Store_base_i^p_flag”指定是(當(dāng)?shù)扔?時(shí))否(當(dāng)?shù)扔?時(shí))存儲(chǔ)當(dāng)前圖像的基本表示以供將來的圖像用于幀間預(yù)測(cè)。具有大于0的“qualityjd”的NAL單元不包含關(guān)于參考圖像列表構(gòu)建和加權(quán)預(yù)測(cè)的語法元素,即,不存在語法元素“num_ref_active_lX_minuSl”(x = 0或者1)、參考圖像列表重新排序語法表以及加權(quán)預(yù)測(cè)語法表。因此,MGS或者res層在需要時(shí)必須從同一從屬單元的具有等于0的“qualityjd”的NAL單元繼承這些語法元素。通過使用基本表示和經(jīng)解碼圖像的加權(quán)組合預(yù)測(cè)res數(shù)據(jù),漏預(yù)測(cè)技術(shù)利用基本表示和經(jīng)解碼圖像(對(duì)應(yīng)于最高經(jīng)解碼“quality_id”)兩者。加權(quán)因數(shù)可以用于控制增強(qiáng)層圖像中的潛在漂移的衰減。在H. C. Huang,C. N. Wang和T. Chiang,“A robust fine granularity scalability using trellis-based predictive leak, ” (IEEE Trans. Circuits Syst. Video Technol.,vol. 12,pp. 372-385,Jun. 2002)中可以找到關(guān)于漏預(yù)測(cè)的更多信息。當(dāng)使用漏預(yù)測(cè)時(shí),SVC的res特征通常被稱為自適應(yīng)參考res(ar-fgs)。ar-fgs 是用于在編碼效率與漂移控制之間進(jìn)行平衡的工具。AR-FGS通過加權(quán)因數(shù)的MB級(jí)別自適應(yīng)和片級(jí)別信令發(fā)送來支持漏預(yù)測(cè)。關(guān)于AR-FGS的成熟版本的更多細(xì)節(jié)可以在以下文獻(xiàn)中找到JVT-W119 Yiliang Bao,Marta Karczewicz, Yan Ye "CEl report :FGS simplification, " (JVT-W119, 23rd JVT meeting, San Jose, USA, April 2007,可以從 ftp3· itu. ch/av-arch/jvt-site/2007_04_SanJose/JVT-W119. zip 獲得)。隨機(jī)訪問是指解碼器在除了流的開端之外的點(diǎn)開始對(duì)流進(jìn)行解碼以及恢復(fù)經(jīng)解碼圖像的精確的或者近似的表示的能力。隨機(jī)訪問點(diǎn)和恢復(fù)點(diǎn)表征了隨機(jī)訪問操作。隨機(jī)訪問點(diǎn)是在該處可以發(fā)起解碼的任何經(jīng)編碼圖像。按照輸出順序的位于恢復(fù)點(diǎn)或者在恢復(fù)點(diǎn)之后的所有經(jīng)解碼圖像在內(nèi)容上是正確的或者近似正確的。如果隨機(jī)訪問點(diǎn)與恢復(fù)點(diǎn)相同,則隨機(jī)訪問操作是即時(shí)的,否則是逐步的。隨機(jī)訪問點(diǎn)支持本地存儲(chǔ)的視頻流中的尋找、快進(jìn)和快退操作。在視頻點(diǎn)播流 (video on-demand streaming)中,服務(wù)器可以通過從最接近尋找操作的所請(qǐng)求目的地的隨機(jī)訪問點(diǎn)開始傳輸數(shù)據(jù)來響應(yīng)該尋找請(qǐng)求。在不同比特率的經(jīng)編碼流之間切換是通常在單播流中使用以供因特網(wǎng)對(duì)傳輸比特率和預(yù)期的網(wǎng)絡(luò)吞吐量進(jìn)行匹配并且避免網(wǎng)絡(luò)中的擁塞的方法。在隨機(jī)訪問點(diǎn)可以切換到另一流。此外,隨機(jī)訪問點(diǎn)支持調(diào)諧到廣播或者多播。另外,隨機(jī)訪問點(diǎn)可以被編碼為對(duì)來源序列中的場(chǎng)景切換(scene cut)的響應(yīng)或者編碼為對(duì)幀內(nèi)圖像更新請(qǐng)求的響應(yīng)。傳統(tǒng)上,每個(gè)幀內(nèi)圖像是經(jīng)編碼序列中的隨機(jī)訪問點(diǎn)。針對(duì)幀間預(yù)測(cè)引入多個(gè)參考圖像使得幀內(nèi)圖像可能不足以用于隨機(jī)訪問。例如,按照解碼順序在幀內(nèi)圖像之前的經(jīng)解碼圖像可以用作對(duì)于按照解碼順序在幀內(nèi)圖像之后的幀間預(yù)測(cè)的參考圖像。因此,如在 H. ^4/AVC標(biāo)準(zhǔn)中指定的IDR圖像或者具有與IDR圖像類似性質(zhì)的幀內(nèi)圖像必須被用作隨機(jī)訪問點(diǎn)。封閉圖像組(GOP)是這樣的圖像組即,在其中所有圖像均可以被正確解碼。在 H. ^4/AVC中,封閉GOP從IDR訪問單元開始(或者伴隨將所有之前的參考圖像標(biāo)記為未使用的存儲(chǔ)器管理控制操作,從幀內(nèi)經(jīng)編碼圖像開始)。開放圖像組(GOP)是這樣的圖像組即,在其中按照輸出順序在初始幀內(nèi)圖像之前的圖像可能無法被正確解碼但在初始幀內(nèi)圖像之后的圖像可被正確解碼。H. ^4/AVC解碼器可以識(shí)別從H. 264/AVC比特流中的恢復(fù)點(diǎn)SEI消息開始開放GOP的幀內(nèi)圖像。在開始開放GOP的初始幀內(nèi)圖像之前的圖像被稱為引導(dǎo)圖像(leading picture) 0存在兩種類型的引導(dǎo)圖像可解碼的和不可解碼的??山獯a引導(dǎo)圖像是這樣的引導(dǎo)圖像即,當(dāng)從開始開放GOP的初始幀內(nèi)圖像開始解碼時(shí)其可以被正確解碼。換言之,可解碼引導(dǎo)圖像僅使用按照解碼順序的初始幀內(nèi)圖像或者后續(xù)圖像作為幀間預(yù)測(cè)中的參考。不可解碼引導(dǎo)圖像是這樣的引導(dǎo)圖像即,當(dāng)從開始開放GOP的初始幀內(nèi)圖像開始解碼時(shí)其無法被正確解碼。換言之,不可解碼引導(dǎo)圖像使用按照解碼順序的在開始開放GOP的初始幀內(nèi)圖像之前的圖像作為幀間預(yù)測(cè)中的參考。ISO基本媒體文件格式(版本幻的草案修正案1包括對(duì)于指示可解碼和不可解碼引導(dǎo)圖像的支持。應(yīng)當(dāng)注意,在隨機(jī)訪問的上下文中使用的術(shù)語GOP與在SVC的上下文中使用的不同。在SVC中,GOP是指從具有等于0(含)的temporaljd的圖像到具有等于0(不含)的 temporal_id的下一圖像的圖像組。在隨機(jī)訪問上下文中,GOP是無論按照解碼順序的任何較早圖像是否已經(jīng)被解碼,都可以被解碼的圖像組。逐步解碼刷新(OTR)是指在非IDR圖像開始解碼以及在對(duì)某個(gè)數(shù)量的圖像進(jìn)行解碼之后恢復(fù)在內(nèi)容上正確的經(jīng)解碼圖像的能力。即,GDR可以用于從非幀內(nèi)圖像實(shí)現(xiàn)隨機(jī)訪問。用于幀間預(yù)測(cè)的某些參考圖像可能在隨機(jī)訪問點(diǎn)與恢復(fù)點(diǎn)之間不可用,并且因此在逐步解碼刷新周期中的經(jīng)解碼圖像的某些部分無法被正確重建。然而,這些圖像不用于在恢復(fù)點(diǎn)處或在恢復(fù)點(diǎn)之后的預(yù)測(cè),其結(jié)果是從恢復(fù)點(diǎn)開始的無錯(cuò)經(jīng)解碼圖像。很明顯地,與即時(shí)解碼刷新相比,逐步解碼刷新對(duì)于編碼器和解碼器兩者而言都更加不便。然而,由于以下兩個(gè)事實(shí),逐步解碼刷新在容易出現(xiàn)錯(cuò)誤的環(huán)境中可能是期望的第一,經(jīng)解碼幀內(nèi)圖像通常顯著地大于經(jīng)解碼非幀內(nèi)圖像。這使得幀內(nèi)圖像比非幀內(nèi)圖像更容易出現(xiàn)錯(cuò)誤,并且錯(cuò)誤很可能隨時(shí)間傳播,直到損壞的宏塊位置被幀內(nèi)編碼。第二, 在容易出現(xiàn)錯(cuò)誤的環(huán)境中使用幀內(nèi)編碼的宏塊以停止誤差傳播。因此,在例如運(yùn)作在容易出現(xiàn)錯(cuò)誤的傳輸信道上的視頻會(huì)議和廣播視頻應(yīng)用中組合用于隨機(jī)訪問和用于誤差傳播阻止的幀內(nèi)宏塊編碼是有意義的。在逐步解碼刷新中利用這種結(jié)論。可以使用隔離區(qū)域編碼(isolated region coding)方法來實(shí)現(xiàn)逐步解碼刷新。圖像中的隔離區(qū)域可以包含任何宏塊位置,并且圖像可以包含不重疊的0個(gè)或更多個(gè)隔離區(qū)域。殘余區(qū)域是未被圖像的任何隔離區(qū)域覆蓋的圖像區(qū)域。當(dāng)對(duì)隔離區(qū)域進(jìn)行編碼時(shí),不能跨其邊界進(jìn)行圖像內(nèi)預(yù)測(cè)??梢詮耐粓D像的隔離區(qū)域預(yù)測(cè)殘余區(qū)域??梢栽诓淮嬖谕唤?jīng)編碼圖像的任何其他隔離區(qū)域或者殘余區(qū)域的情況下對(duì)經(jīng)編碼隔離區(qū)域進(jìn)行解碼??赡鼙仨殞?duì)圖像在殘余區(qū)域之前的所有隔離區(qū)域進(jìn)行解碼。隔離區(qū)域或者殘余區(qū)域包括至少一個(gè)片。將根據(jù)彼此來預(yù)測(cè)隔離區(qū)域的圖像編組為隔離區(qū)域圖像組。一個(gè)隔離區(qū)域可以從同一隔離區(qū)域圖像組內(nèi)的其他圖像中的相應(yīng)隔離區(qū)域幀間預(yù)測(cè)出,而從其他隔離區(qū)域或者隔離區(qū)域圖像組外的幀間預(yù)測(cè)是不允許的。殘余區(qū)域可以從任何隔離區(qū)域幀間預(yù)測(cè)。耦合的隔離區(qū)域的形狀、位置和尺寸可以從隔離區(qū)域圖像組中的一個(gè)圖像到下一圖像演進(jìn)。演進(jìn)的隔離區(qū)域可以用于提供逐步解碼刷新。在圖像中的隨機(jī)訪問點(diǎn)建立新的演進(jìn)隔離區(qū)域,并且隔離區(qū)域中的宏塊被幀內(nèi)編碼。隔離區(qū)域的形狀、尺寸和位置從一個(gè)圖像到下一圖像演進(jìn)。一個(gè)隔離區(qū)域可以從逐步解碼刷新周期中的較早圖像中的相應(yīng)隔離區(qū)域幀間預(yù)測(cè)出。當(dāng)隔離區(qū)域覆蓋整個(gè)圖像區(qū)時(shí),當(dāng)從隨機(jī)訪問點(diǎn)開始解碼時(shí)獲得在內(nèi)容上完全正確的圖像。這一過程也可以概括為包括最終覆蓋整個(gè)圖像區(qū)的不止一個(gè)演進(jìn)隔離區(qū)域。可能存在諸如恢復(fù)點(diǎn)SEI消息之類的特制頻帶內(nèi)信令以指示用于解碼器的逐步隨機(jī)訪問點(diǎn)和恢復(fù)點(diǎn)。此外,恢復(fù)點(diǎn)SEI消息包括是否在隨機(jī)訪問點(diǎn)和恢復(fù)點(diǎn)之間使用演進(jìn)隔離區(qū)域以提供逐步解碼刷新的指示。RTP用于傳輸連續(xù)媒體數(shù)據(jù),諸如基于因特網(wǎng)協(xié)議(IP)的網(wǎng)絡(luò)中的經(jīng)編碼音頻和視頻流。實(shí)時(shí)傳輸控制協(xié)議(RTCP)是RTP的配套,即當(dāng)網(wǎng)絡(luò)和應(yīng)用基礎(chǔ)結(jié)構(gòu)允許使用RTCP 時(shí),應(yīng)當(dāng)使用RTCP來補(bǔ)充RTP。RTP和RTCP通常通過用戶數(shù)據(jù)報(bào)協(xié)議(UDP)傳遞,UDP又通過因特網(wǎng)協(xié)議(IP)傳遞。RTCP用于監(jiān)控網(wǎng)絡(luò)提供的服務(wù)質(zhì)量以及傳遞關(guān)于在正進(jìn)行的會(huì)話中的參與者的信息。RTP和RTCP設(shè)計(jì)用于范圍從一對(duì)一通信到數(shù)千個(gè)端點(diǎn)的大型多播組的會(huì)話。為了控制由多方會(huì)話中的RTCP分組產(chǎn)生的總比特率,由單個(gè)端點(diǎn)傳輸?shù)腞TCP分組的傳輸間隔與會(huì)話中的參與者數(shù)目成比例。每個(gè)媒體編碼格式具有特定RTP凈荷格式, 其指定如何將媒體數(shù)據(jù)構(gòu)建到RTP分組的凈荷中??捎妹襟w文件格式標(biāo)準(zhǔn)包括ISO基本媒體文件格式(IS0/IEC14496-12)、MPEG-4 文件格式(IS0/IEC 14996-14,也稱為 MP4 格式)、AVC 文件格式(IS0/IEC 14496-15)、3GPP 文件格式(3GPP TS 26. 244,也稱為3GP格式)和DVB文件格式。ISO文件格式是用于衍生所有上述文件格式(除了 ISO文件格式自身以外)的基礎(chǔ)。這些文件格式(包括ISO文件格式自身)被稱為ISO文件格式族。圖2示出了根據(jù)ISO基本媒體文件格式的簡(jiǎn)化文件結(jié)構(gòu)230。ISO基本媒體文件格式中的基本構(gòu)造塊(building block)被稱為盒(box)。每個(gè)盒具有頭和凈荷。盒頭指示盒的類型以及以字節(jié)為單位的盒的大小。一個(gè)盒可以封入其它盒,并且ISO文件格式指定在某種類型的盒中允許哪些盒類型。此外,某些盒必須存在于每個(gè)文件中,而其他盒是可選的。此外,對(duì)于某些盒類型,允許在一個(gè)文件中存在不止一個(gè)盒??梢酝茢喑鯥SO基本媒體文件格式指定盒的層級(jí)結(jié)構(gòu)。根據(jù)ISO文件格式族,文件包括被分別封入獨(dú)立的盒(媒體數(shù)據(jù)(mdat)盒與電影 (moov)盒)中的媒體數(shù)據(jù)和元數(shù)據(jù)。為使文件具有可操作性,這些盒必須全都存在。電影盒可以包含一個(gè)或者多個(gè)軌道,并且每個(gè)軌道位于一個(gè)軌道盒中。軌道可以是以下類型之一媒體、提示(hint)、定時(shí)元數(shù)據(jù)。媒體軌道是指根據(jù)媒體壓縮格式(及其對(duì)ISO基本媒體文件格式的封裝)格式化的樣本。提示軌道是指提示樣本,其包含用于針對(duì)通過所指示的通信協(xié)議的傳輸來構(gòu)建分組的細(xì)則指令(coolcbook instruction) 0細(xì)則指令可以包含用于分組頭構(gòu)建并且包括分組凈荷構(gòu)建的指導(dǎo)。在分組凈荷構(gòu)建中,位于其他軌道或者項(xiàng)目中的數(shù)據(jù)可以被參考,即,通過參考來指示在分組構(gòu)建過程期間將特定軌道或者項(xiàng)目中的哪部分?jǐn)?shù)據(jù)復(fù)制到分組中。定時(shí)元數(shù)據(jù)軌道是指描述所參考的媒體和/或提示樣本的樣本。為了表示一個(gè)媒體類型,通常選擇一個(gè)媒體軌道。軌道的樣本隱式地與按照樣本的所指示的解碼順序遞增1的樣本編號(hào)相關(guān)聯(lián)。軌道中的第一樣本與樣本編號(hào)1相關(guān)聯(lián)。應(yīng)當(dāng)注意,這一假定影響以下某些公式, 并且對(duì)于本領(lǐng)域技術(shù)人員而言,相應(yīng)地針對(duì)樣本編號(hào)的其他起始偏移(諸如0)而修改公式是顯而易見的。應(yīng)當(dāng)注意,ISO基本媒體文件格式并未將表示限制為包含在一個(gè)文件中,而是可以包含在幾個(gè)文件中。一個(gè)文件包含用于整個(gè)表示的元數(shù)據(jù)。這種文件也可以包含所有媒體數(shù)據(jù),因此該表示是自包含的。其他文件(如果使用的話)并不需要格式化為ISO基本媒體文件格式,而是用于包含媒體數(shù)據(jù),并且還可以包含未使用媒體數(shù)據(jù)或者其他信息。ISO 基本媒體文件格式僅涉及表示文件的結(jié)構(gòu)。媒體數(shù)據(jù)文件的格式限于ISO基本媒體文件格式或其衍生格式之處僅僅在于媒體文件中的媒體數(shù)據(jù)必須被按照ISO基本媒體文件格式或其衍生格式所指定的那樣進(jìn)行格式化。當(dāng)將內(nèi)容記錄至ISO文件時(shí)可以使用電影片段,以便在一旦記錄應(yīng)用崩潰、耗盡磁盤或者發(fā)生某些其他事件發(fā)生時(shí)避免丟失數(shù)據(jù)。如果沒有電影片段,則可能發(fā)生數(shù)據(jù)丟失,這是因?yàn)槲募袷揭髮⑺性獢?shù)據(jù)(電影盒)寫入文件的一個(gè)連續(xù)區(qū)域。此外,當(dāng)記錄文件時(shí),可能不存在足夠量的隨機(jī)訪問存儲(chǔ)器(RAM)以緩存針對(duì)可用存儲(chǔ)尺寸的電影盒,并且在電影被關(guān)閉時(shí)重新計(jì)算電影盒的內(nèi)容過于緩慢。此外,電影片段可以使用常規(guī) ISO文件分析器支持文件的同時(shí)記錄和回放。最后,對(duì)于漸進(jìn)的下載(即,當(dāng)使用電影片段并且初始電影盒與具有相同媒體內(nèi)容但沒有使用電影片段進(jìn)行構(gòu)建的文件相比更小時(shí),文件的同時(shí)接收和回放)需要較小持續(xù)時(shí)間的初始緩沖。電影片段特征使得能夠?qū)鹘y(tǒng)上會(huì)位于moov盒中的元數(shù)據(jù)分為多個(gè)片,其中每個(gè)對(duì)應(yīng)于軌道的某個(gè)時(shí)段。換言之,電影片段特征使得能夠交織文件元數(shù)據(jù)和媒體數(shù)據(jù)。因此,可以限制moov盒的大小并且可以實(shí)現(xiàn)上述用例。如果電影片段的媒體樣本與moov盒位于同一文件中,則它們通常位于mdat盒中。 然而,對(duì)于電影片段的元數(shù)據(jù),提供了 moof盒。其包括在回放時(shí)間的某個(gè)持續(xù)時(shí)間內(nèi)之前已經(jīng)在moov盒中的信息。moov盒獨(dú)立地表示有效電影,但是除此之外,其包括指示電影片段將在同一文件中后接的mvex盒。電影片段及時(shí)擴(kuò)展與moov盒相關(guān)聯(lián)的表示??梢园ㄔ趍oof盒中的元數(shù)據(jù)限于可以包括在moov盒中的元數(shù)據(jù)的子集并且在某些情況下被不同地編碼??梢园ㄔ趍oof盒中的盒的細(xì)節(jié)可以從ISO基本媒體文件格式規(guī)范中找到?,F(xiàn)在參照?qǐng)D3和圖4,其示出了對(duì)盒中的樣本編組的使用。在ISO基本媒體文件格式及其衍生格式(諸如AVC文件格式和SVC文件格式)中的樣本分組是基于編組準(zhǔn)則的對(duì)軌道中將成為一個(gè)樣本組的成員的每個(gè)樣本的分配。樣本編組過程中的樣本組不限于是連續(xù)的樣本并且可以包括非相鄰樣本。由于對(duì)于軌道中的樣本可能存在不止一種樣本編組,每個(gè)樣本編組均具有類型字段以指示編組的類型。樣本編組由兩種鏈接的數(shù)據(jù)結(jié)構(gòu)表示dDSampleToGroup盒(sbgp盒)表示向樣本組分配樣本;以及(2) SampleGroupDescription盒(sgpd盒)包含每個(gè)樣本組的描述該組的性質(zhì)的樣本組條目。 基于不同的分組準(zhǔn)則,可以存在SampleToGroup盒和SampleGroupDescription盒的多種實(shí)例。它們由用于指示編組的類型的類型字段來區(qū)分。圖3提供了指示樣本分組盒的嵌套結(jié)構(gòu)的簡(jiǎn)化的盒層級(jí)。樣本組盒 (SampleGroupDescription盒和Sample^ToGroup盒)位于樣本表(stbl)盒內(nèi),其封入到電影(moov)盒內(nèi)的媒體信息(minf)盒、媒體(mdia)盒和軌道(trak)盒中(按照此順序)。允許SampleToGroup盒位于電影片段中。因此,可以片段接片段地完成樣本編組。 圖4示出了包含有包括SampleToGroup盒的電影片段的文件的示例。糾錯(cuò)是指完美地恢復(fù)有錯(cuò)誤數(shù)據(jù)使得如同沒有錯(cuò)誤曾經(jīng)存在于所接收的比特流中一樣的能力。錯(cuò)誤隱藏是指隱藏由于傳輸錯(cuò)誤產(chǎn)生的劣化從而使得它們?cè)谥亟ǖ拿襟w信號(hào)中變得幾乎不能被察覺的能力。前向糾錯(cuò)(FEC)是指發(fā)射機(jī)向所傳輸數(shù)據(jù)添加冗余(通常被稱為奇偶校驗(yàn)或者修復(fù)符號(hào))以支持接收機(jī)在即使有傳輸錯(cuò)誤的情況下恢復(fù)所傳輸數(shù)據(jù)的那些技術(shù)。在系統(tǒng)
17FEC代碼中,原始比特流表現(xiàn)為與經(jīng)編碼符號(hào)中的一樣,而使用非系統(tǒng)代碼進(jìn)行的編碼并不重建原始比特流作為輸出。將在其中附加冗余提供用于對(duì)丟失內(nèi)容進(jìn)行近似估算的裝置的方法分類為前向錯(cuò)誤隱藏技術(shù)。在信源編碼層之下操作的前向錯(cuò)誤控制方法通常是不知曉編解碼器或媒體的,即冗余是這樣的其不需要分析語法或者對(duì)經(jīng)編碼媒體進(jìn)行解碼。在不知曉媒體的前向錯(cuò)誤控制中,糾錯(cuò)代碼(諸如Reed-Solomon代碼)用于修改發(fā)送器側(cè)的信源信號(hào),從而使得所傳輸信號(hào)變得魯棒(即,即使某些錯(cuò)誤攻擊了所傳輸?shù)男盘?hào),接收方也可以恢復(fù)信源信號(hào))。如果所傳輸?shù)男盘?hào)包含這樣的信源信號(hào),則糾錯(cuò)代碼是系統(tǒng)的,否則它是非系統(tǒng)的。不知曉媒體的前向錯(cuò)誤控制方法通常由以下因子表征k =在其上計(jì)算代碼的塊中的元素(通常是字節(jié)或者分組)的數(shù)目;η=被發(fā)送的元素的數(shù)目;因此n-k是糾錯(cuò)代碼帶來的開銷;k’ =在不存在傳輸錯(cuò)誤的條件下需要被接收以重建源塊的元素的必需數(shù)目;以及t =代碼可以恢復(fù)的(每個(gè)塊的)被擦除元素的數(shù)目不知曉媒體的錯(cuò)誤控制方法還可以按照自適應(yīng)方式應(yīng)用(其也可以是知曉媒體的),從而使得僅使用糾錯(cuò)代碼處理一部分源樣本。例如,視頻比特流的非參考圖像可以不受保護(hù),因?yàn)楣舴菂⒖紙D像的任何傳輸錯(cuò)誤均不向其他圖像傳播。知曉媒體的前向錯(cuò)誤控制方法和不知曉媒體的前向錯(cuò)誤控制方法中重建源塊所不需要的n-k’個(gè)元素的冗余表示在本文中被統(tǒng)稱為前向錯(cuò)誤控制開銷。當(dāng)傳輸為時(shí)間片形式的或者當(dāng)FEC編碼已經(jīng)應(yīng)用在多路訪問單元上時(shí),本發(fā)明可應(yīng)用于接收器。因此,在本部分中介紹兩個(gè)系統(tǒng)數(shù)字視頻廣播-手持(DVB-H)和3GPP多媒體廣播/多播服務(wù)(MBMS)。DVB-H基于DVB-地面(DVB-T)并與其兼容。DVB-H中關(guān)于DVB-T的擴(kuò)展使得在手持設(shè)備中接收廣播服務(wù)成為可能。在圖5中呈現(xiàn)了用于DVB-H的協(xié)議棧。IP分組被封裝到用于在介質(zhì)訪問(MAC)子層上傳輸?shù)亩鄥f(xié)議封裝(MPE)部分。每個(gè)MPE部分包括頭、作為凈荷的IP數(shù)據(jù)報(bào)以及用于凈荷完整性驗(yàn)證的32字節(jié)循環(huán)冗余校驗(yàn)(CRC)。MPE部分頭包含尋址數(shù)據(jù)和其他數(shù)據(jù)。MPE 部分可以被邏輯地布置到邏輯鏈接控制(LLC)子層中的應(yīng)用數(shù)據(jù)表,在該LLC子層上計(jì)算 Reed-Solomon (RS)FEC代碼并且形成MPE-FEC部分。以下更為詳細(xì)地說明用于MPE-FEC構(gòu)建的過程。MPE和MPE-FEC部分被映射到MPEG-2傳輸流(TS)分組上。MPE-FEC被包括在DVB-H中用于對(duì)抗在物理層中無法被有效糾正的長(zhǎng)突發(fā)錯(cuò)誤 (long burst error)。由于Reed-Solomon代碼是系統(tǒng)代碼(即,源數(shù)據(jù)在FEC編碼中保持不變),因此MPE-FEC解碼對(duì)于DVB-H終端而言是可選的。在IP分組上計(jì)算MPE-FEC修復(fù)數(shù)據(jù)并且并將其封裝到MPE-FEC部分中,其以這樣的方式傳輸即,不知道MPE-FEC的接收器可以僅僅接收未受保護(hù)的數(shù)據(jù)而忽略接下來的修復(fù)數(shù)據(jù)。為了計(jì)算MPE-FEC修復(fù)數(shù)據(jù),IP分組按列填充到N χ 191矩陣中,其中該矩陣的每個(gè)單元包含一個(gè)字節(jié)并且N表示矩陣中的行的數(shù)目。該標(biāo)準(zhǔn)將N的值限定為256、512、768 或IOM之一。針對(duì)每行計(jì)算RS代碼并將其連結(jié)起來,從而使得矩陣的最終大小為N χ255 這一大小。矩陣的N χ 191部分被稱為應(yīng)用數(shù)據(jù)表(ADT)并且矩陣的接下來的N χ 64部分被稱為RS數(shù)據(jù)表(RSDT)。ADT不需要被完全填充,必須使用ADT來避免兩個(gè)MPE-FEC幀之間的IP分組碎裂,并且其還可以被用于控制比特率和錯(cuò)誤保護(hù)強(qiáng)度。ADT的未填充部分被稱為補(bǔ)白(padding)。為了控制FEC保護(hù)的強(qiáng)度,無需傳輸RSDT的所有64列,即RSDT可以被穿刺(puncture)。在圖6中示出了 MPE-FEC幀的結(jié)構(gòu)。移動(dòng)設(shè)備具有有限的功率源。在對(duì)標(biāo)準(zhǔn)全帶寬DVB-T信號(hào)進(jìn)行的接收、解碼和解調(diào)中消耗的功率將在短時(shí)間內(nèi)使用大量電池壽命。對(duì)MPE-FEC幀的時(shí)間分片用于解決這一問題。數(shù)據(jù)被突發(fā)地接收,從而使得使用控制信號(hào)的接收器在沒有要接收的脈沖(burst) 時(shí)保持不活動(dòng)。以與在脈沖中攜帶的媒體流的比特率相比顯著更高的比特率發(fā)送該脈沖。MBMS可以被功能性地分為載體服務(wù)和用戶服務(wù)。MBMS載體服務(wù)指定IP層之下的傳輸過程,而MBMS用戶服務(wù)指定IP層之上的協(xié)議和過程。MBMS用戶服務(wù)包括兩種遞送方法下載和流式。本部分提供了 MBMS流式遞送方法的簡(jiǎn)短概述。MBMS的流式遞送方法使用基于RTP的協(xié)議棧。由于服務(wù)的廣播/多播性質(zhì),沒有使用諸如中繼之類的交互式錯(cuò)誤控制特征。作為替代,MBMS包括用于流媒體的應(yīng)用層FEC 方案。該方案基于具有兩種分組類型(FEC源分組和FEC修復(fù)分組)的FEC RTP凈荷格式。 FEC源分組包含根據(jù)后接有源FEC凈荷ID字段的媒體RTP凈荷格式的媒體數(shù)據(jù)。FEC修復(fù)分組包含修復(fù)FEC凈荷ID和FEC編碼符號(hào)(即,修復(fù)數(shù)據(jù))。FEC凈荷ID指示凈荷與哪個(gè) FEC源塊相關(guān)聯(lián)以及FEC源塊中的分組的頭和凈荷的位置。FEC源塊包含條目,每個(gè)條目具有1字節(jié)的流標(biāo)識(shí)符、2字節(jié)長(zhǎng)度的后接UDP凈荷,以及UDP凈荷,即,包括RTP頭但不包括任何底層分組頭的RTP分組。對(duì)于每對(duì)目的地UDP端口數(shù)目和目的地IP地址是唯一的流標(biāo)識(shí)符支持對(duì)具有相同F(xiàn)EC編碼的多個(gè)RTP流的保護(hù)。這與由相同時(shí)間段內(nèi)的單一 RTP流組成的FEC源塊相比支持更大的FEC源塊,并且因此可以改進(jìn)錯(cuò)誤魯棒性。然而,接收器必須接收全部的捆綁流(bundled flow)(即RTP流),即使只有流的子集屬于相同的多媒體服務(wù)。發(fā)送器中的處理可以被概況如下由媒體編碼器和封裝器生成的原始媒體RTP分組被修改成指示FEC凈荷的RTP凈荷類型并且附加有源FEC凈荷ID。使用普通RTP機(jī)制發(fā)送經(jīng)修改的RTP分組。原始媒體RTP分組還被復(fù)制到FEC源塊中。一旦FEC源塊被RTP 分組填充,則應(yīng)用FEC編碼算法來計(jì)算同樣使用普通RTP機(jī)制發(fā)送的FEC修復(fù)分組的數(shù)目。 系統(tǒng)Raptor代碼被用作MBMS的FEC編碼算法。在接收器處,與相同F(xiàn)EC源塊相關(guān)聯(lián)的所有FEC源分組和FEC修復(fù)分組被收集并且FEC源塊被重建。如果存在丟失的FEC源分組,則可以基于FEC修復(fù)分組和FEC源塊來應(yīng)用FEC解碼。當(dāng)所接收的FEC修復(fù)分組的恢復(fù)能力足夠時(shí),F(xiàn)EC解碼導(dǎo)致任何丟失的FEC 源分組的重建。繼而由媒體凈荷解封裝器和解碼器常規(guī)地處理所接收或者所恢復(fù)的媒體分組。自適應(yīng)媒體播放是指根據(jù)其捕捉速率以及因此預(yù)期的播放速率對(duì)媒體播放的速率進(jìn)行自適應(yīng)。在文獻(xiàn)記載中,自適應(yīng)媒體播放主要用于消除低延遲會(huì)話應(yīng)用(網(wǎng)絡(luò)電話、 視頻電話和多方語音/視頻會(huì)議)中的傳輸延遲抖動(dòng)以及調(diào)整來源與播放設(shè)備之間的時(shí)鐘漂移。在流式和電視類的廣播應(yīng)用中,初始緩沖用于消除潛在的延遲抖動(dòng)以及因此自適應(yīng)媒體播放未用于這些目的(但仍可以用于時(shí)鐘漂移調(diào)整)。音頻時(shí)標(biāo)修改(參見以下)在文獻(xiàn)記載中中還用于水印、數(shù)據(jù)嵌入以及視頻瀏覽。
實(shí)時(shí)媒體內(nèi)容(通常是音頻和視頻)可以被分類為連續(xù)的或者半連續(xù)的。連續(xù)媒體連續(xù)地并且活躍地改變,示例為電視節(jié)目或者電影的音樂和視頻流。半連續(xù)媒體的特征在于具有不活躍時(shí)段。具有靜音檢測(cè)的語音是廣泛使用的半連續(xù)媒體。從自適應(yīng)媒體播放的觀點(diǎn)來說,這兩種媒體內(nèi)容類型的主要差異在于半連續(xù)媒體的不活躍時(shí)段的持續(xù)時(shí)間可以被容易地調(diào)整。相反,連續(xù)音頻信號(hào)必須按照察覺不到的方式進(jìn)行修改,例如通過對(duì)各種時(shí)標(biāo)修改方法進(jìn)行采樣。對(duì)于連續(xù)和半連續(xù)音頻兩者的一個(gè)自適應(yīng)音頻播放算法的參考 ;^Y.J.Liang,N.F^rbei^BB.Girod,“Adaptive playout scheduling using time-scale modification in packet voice communications"(Proceedings of IEEE International Conference on Acoustics,Speech,and SignalProcessing,vol.3,pp. 1445—1448,May 2001)。用于連續(xù)音頻信號(hào)的時(shí)標(biāo)修改的各種方法可以在該文獻(xiàn)中找到。根據(jù)[J. Laroche, "Autocorrelation method for high-quality time/pitch-scaling", Proceedings of IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pp. 131-134, Oct. 1993],發(fā)現(xiàn)多達(dá)15%的時(shí)標(biāo)修改幾乎不生成可聽偽差。應(yīng)當(dāng)注意,視頻的自適應(yīng)播放是沒有問題的,這是因?yàn)橥ǔ8鶕?jù)音頻播放時(shí)鐘對(duì)經(jīng)解碼視頻圖像進(jìn)行定速。已經(jīng)注意到,自適應(yīng)媒體播放不僅對(duì)于消除傳輸延遲抖動(dòng)而言是需要的,而且其還需要在使用中與前向糾錯(cuò)方案一起被優(yōu)化。換言之,當(dāng)對(duì)媒體的播放進(jìn)度進(jìn)行確定時(shí),必須考慮接收針對(duì)FEC塊的所有數(shù)據(jù)的固有延遲。關(guān)于此主題的一篇文章是J. Rosenberg, Q.Lili 禾口 H. Schulzrinne,“Integrating packet FEC into adaptive voice playout buffer algorithms on the Internet"(Proceedings of the IEEE Computer and Communications Societies Conference (INF0C0M),vol. 3,pp. 1705-1714)。就發(fā)明人所知,在科學(xué)文獻(xiàn)中僅僅針對(duì)會(huì)話應(yīng)用考慮了針對(duì)FEC塊接收延遲和傳輸延遲抖動(dòng)而聯(lián)合設(shè)計(jì)的自適應(yīng)媒體播放算法。建議使用由H. ^4/AVC和SVC支持的多級(jí)時(shí)間分級(jí)層級(jí),這是由于它們的壓縮效率顯著提高。然而,多級(jí)層級(jí)還導(dǎo)致解碼的開始與渲染的開始之間的顯著延遲。該延遲是由于經(jīng)解碼圖像必須從其解碼順序重新排序成輸出/顯示順序這一事實(shí)而造成的。因此,當(dāng)從隨機(jī)位置對(duì)流進(jìn)行訪問時(shí),啟動(dòng)延遲增加,并且類似地,與非層級(jí)時(shí)間分級(jí)的情況相比, 對(duì)多播或者廣播的調(diào)諧延遲增加。圖7(a)-圖7(c)示出了具有5個(gè)時(shí)間級(jí)別(也稱為GOP尺寸16)的典型層級(jí)可分級(jí)比特流。在時(shí)間級(jí)別0處的圖像根據(jù)時(shí)間級(jí)別0處的先前圖像來預(yù)測(cè)。時(shí)間級(jí)別N(N >0)處的圖像根據(jù)按照輸出順序在時(shí)間級(jí)別< N處的先前和隨后的圖像來預(yù)測(cè)。假設(shè)在這一示例中,對(duì)一個(gè)圖像的解碼持續(xù)一個(gè)圖像間隔。盡管這是幼稚的假設(shè),其也能服務(wù)于說明問題而不喪失一般性的目的。圖7a示出了按照輸出順序的示例序列。在盒中封入的值指示圖像的frame_num 值。斜體字的值指示非參考圖像而其他圖像是參考圖像。圖7b示出了按照解碼順序的示例序列。圖7c示出了當(dāng)假設(shè)輸出時(shí)間線與解碼時(shí)間線一致時(shí)按照輸出順序的示例序列。換言之,在圖7c中,圖像的最早輸出時(shí)間在跟隨圖像的解碼的下一圖像間隔中??梢钥吹剑骰胤诺拈_始比流解碼的開始晚5個(gè)圖像間隔。如果以25Hz對(duì)圖像進(jìn)行采樣,則圖像間隔是40毫秒,并且回放延遲0. 2秒。層級(jí)時(shí)間可分級(jí)性在現(xiàn)代視頻編碼(H. ^4/AVC和SVC)中的應(yīng)用改進(jìn)了壓縮效率但由于將經(jīng)解碼圖像從編碼(解碼)順序重新排序?yàn)檩敵鲰樞蚨黾恿私獯a延遲。在層級(jí)時(shí)間可分級(jí)性中可以省略對(duì)所謂的子序列的解碼。根據(jù)本發(fā)明的實(shí)施方式,當(dāng)解碼或者傳輸在隨機(jī)訪問后開始、在流起始處開始或者當(dāng)調(diào)諧到廣播/多播時(shí),省略對(duì)所選擇子序列的解碼或者傳輸。因此,避免了用于將這些所選擇的經(jīng)解碼圖像重新排序成它們的輸出順序的延遲并且減小了啟動(dòng)延遲。因此,本發(fā)明的實(shí)施方式可以在訪問視頻流或者切換廣播的信道時(shí)改進(jìn)響應(yīng)時(shí)間(并且因而改進(jìn)用戶體驗(yàn))。本發(fā)明的實(shí)施方式可應(yīng)用于其中對(duì)比特流的開頭的訪問快于導(dǎo)致以普通速率回放的比特流的自然解碼速率的播放器。此類播放器的示例是來自大容量存儲(chǔ)器的流回放、 接收時(shí)分復(fù)用突發(fā)傳輸(諸如DVB-H移動(dòng)電視)以及對(duì)其中已在若干媒體幀上應(yīng)用前向糾錯(cuò)(FEC)并且執(zhí)行FEC解碼的流的接收(例如,MBMS接收器)。播放器選擇不對(duì)比特流的哪個(gè)子序列進(jìn)行解碼。本發(fā)明的實(shí)施方式還可以由服務(wù)器或者發(fā)送器應(yīng)用以供單播遞送。當(dāng)接收器開始接收比特流或者從期望的位置訪問比特流時(shí),發(fā)送器選擇向接收器傳遞比特流的哪個(gè)子序列。本發(fā)明的實(shí)施方式還可以由創(chuàng)建指令以供從所選擇的隨機(jī)訪問位置訪問多媒體文件的文件生成器應(yīng)用。該指令可以在本地回放中應(yīng)用或者在封裝比特流以供單播遞送時(shí)應(yīng)用。當(dāng)接收器加入多播或者廣播時(shí)也可以應(yīng)用本發(fā)明的實(shí)施方式。作為對(duì)加入多播或者廣播的響應(yīng),接收器可以通過單播遞送獲得關(guān)于為了加速啟動(dòng)而應(yīng)當(dāng)對(duì)哪個(gè)子序列進(jìn)行解碼的指令。在某些實(shí)施方式中,關(guān)于為了加速啟動(dòng)而應(yīng)當(dāng)對(duì)哪個(gè)子序列進(jìn)行解碼的指令可以包括在多播或者廣播流中。現(xiàn)在參考圖8,其示出了本發(fā)明的一個(gè)實(shí)施方式的示例實(shí)現(xiàn)方式。在塊810處,在處理單元可以訪問的那些訪問單元中標(biāo)識(shí)第一可解碼訪問單元??梢园凑绽缫韵路绞街械囊环N或多種方式來定義可解碼訪問單元-IDR訪問單元;-具有IDR從屬表示的SVC訪問單元,其cbpendency_id小于訪問單元的最大 dependency_id ;-包含錨定圖像的MVC訪問單元;-包含恢復(fù)點(diǎn)SEI消息的訪問單元,即,開始開放G0P(當(dāng)recovery_frame_cnt等于0時(shí))或者逐步解碼刷新時(shí)段(當(dāng)recOVery_frame_cnt大于0時(shí))的訪問單元;-包含冗余IDR圖像的訪問單元;-包含與恢復(fù)點(diǎn)SEI消息相關(guān)聯(lián)的冗余經(jīng)編碼圖像的訪問單元。在最寬泛的意義上,可解碼訪問單元可以是任何訪問單元。繼而,可以例如忽略在解碼過程中丟失的預(yù)測(cè)參考或者由缺省值來代替。在其中標(biāo)識(shí)第一可解碼訪問單元的訪問單元取決于本發(fā)明所實(shí)現(xiàn)于的功能塊。如果本發(fā)明應(yīng)用于對(duì)大容量存儲(chǔ)器中的比特流進(jìn)行訪問的播放器或者發(fā)送器,則第一可解碼訪問單元可以是從期望的訪問位置開始的任何訪問單元或者其可以是位于或先于期望訪問位置的第一可解碼訪問單元。如果本發(fā)明應(yīng)用于訪問所接收的比特流的播放器,則第一可解碼訪問單元是第一所接收數(shù)據(jù)脈沖或者FEC源矩陣中的訪問單元之一。
第一可解碼訪問單元可以通過包括以下的多種方式標(biāo)識(shí)-視頻比特流中的指示,諸如nal_imit_type等于5,idr_flag等于1,或者比特流中存在的恢復(fù)點(diǎn)SEI消息。-由傳輸協(xié)議指示,諸如SVCRTP凈荷格式的PACSI NAL單元的A比特。A比特指示可以執(zhí)行在非IDR層表示(nal_imit_type不等于5并且idr_flag不等于1的層表示) 的空間層切換還是CGS。在具有某些圖像編碼結(jié)構(gòu)的情況下,非IDR幀內(nèi)層表示可以用于隨機(jī)訪問。與僅使用IDR層表示相比較,可以實(shí)現(xiàn)更高的編碼效率。用于指示非IDR幀內(nèi)層表示的隨機(jī)可訪問性的H. 264/AVC或者SVC解決方案使用恢復(fù)點(diǎn)SEI消息。A比特提供對(duì)這一信息的直接訪問而不需要分析恢復(fù)點(diǎn)SEI消息,該SEI消息可能深埋在SEI NAL單元中。此外,SEI消息可能不存在于比特流中。-在容器文件中指示。例如,可以在與ISO基本媒體文件格式兼容的文件中使用同步樣本盒、陰影同步樣本盒、隨機(jī)訪問恢復(fù)點(diǎn)樣本編組,軌道片段隨機(jī)訪問盒。-在經(jīng)分組化的基本流中指示。再次參考圖8,在塊820處,對(duì)第一可解碼訪問單元進(jìn)行處理。處理的方法取決于圖8的示例過程所實(shí)現(xiàn)于其中的功能塊。如果過程實(shí)現(xiàn)于播放器中,則處理包括解碼。如果過程實(shí)現(xiàn)于發(fā)送器中,則處理可以包括將訪問單元封裝為一個(gè)或多個(gè)傳輸分組并且傳輸訪問單元以及(潛在假設(shè)的)對(duì)針對(duì)訪問單元的傳輸分組進(jìn)行接收和解碼。如果過程實(shí)現(xiàn)于文件創(chuàng)建器中,則處理包括編寫(例如寫入文件中)關(guān)于應(yīng)當(dāng)在加速的啟動(dòng)過程中解碼或者傳遞哪個(gè)子序列的指令。在塊830處,初始化并且啟動(dòng)輸出時(shí)鐘。與輸出時(shí)鐘的啟動(dòng)同時(shí)發(fā)生的附加操作可以取決于該過程實(shí)現(xiàn)于其中的功能塊。如果過程實(shí)現(xiàn)于播放器中,則產(chǎn)生于對(duì)第一可解碼訪問單元的解碼的經(jīng)解碼圖像可以同步于輸出時(shí)鐘的開始進(jìn)行顯示。如果過程實(shí)現(xiàn)于發(fā)送器中,則產(chǎn)生于對(duì)第一可解碼訪問單元的解碼的(假設(shè)的)經(jīng)解碼圖像可以同步于輸出時(shí)鐘的開始進(jìn)行(假設(shè)的)顯示。如果過程實(shí)現(xiàn)于文件創(chuàng)建器中,則輸出時(shí)鐘可能不實(shí)時(shí)表示掛鐘滴答聲(wall clock ticking),而是可以與訪問單元的解碼或者合成時(shí)間同步。在各種的實(shí)施方式中,塊820和塊830的操作的順序可以互換。在塊840處,做出關(guān)于按照解碼順序的下一訪問單元是否可以在輸出時(shí)鐘達(dá)到下一訪問單元的輸出時(shí)間之前進(jìn)行處理的確定。處理的方法取決于過程實(shí)現(xiàn)于其中的功能塊。如果過程實(shí)現(xiàn)于播放器中,則處理包括解碼。如果過程實(shí)現(xiàn)于發(fā)送器中,則處理通常包括將訪問單元封裝為一個(gè)或多個(gè)傳輸分組并且傳輸訪問單元以及(潛在假設(shè)的)對(duì)針對(duì)訪問單元的傳輸分組進(jìn)行接收和解碼。如果過程實(shí)現(xiàn)于文件創(chuàng)建器中,則根據(jù)指令是針對(duì)播放器還是發(fā)送器而創(chuàng)建,相應(yīng)地如上所述針對(duì)播放器或者發(fā)送器定義處理。應(yīng)當(dāng)注意,如果過程實(shí)現(xiàn)于創(chuàng)建用于比特流傳輸?shù)闹噶畹陌l(fā)送器或者文件創(chuàng)建器中,則解碼順序可以由不需要與解碼順序相同的傳輸順序來代替。在另一實(shí)施方式中,當(dāng)過程實(shí)現(xiàn)于創(chuàng)建用于傳輸?shù)闹噶畹陌l(fā)送器或者文件創(chuàng)建器中時(shí),對(duì)輸出時(shí)鐘和處理進(jìn)行不同解釋。在該實(shí)施方式中,將輸出時(shí)鐘視為傳輸時(shí)鐘。在塊840處,確定訪問單元的預(yù)定解碼時(shí)間是否先于訪問單元的輸出時(shí)間(即,傳輸時(shí)間)出現(xiàn)?;驹瓌t在于,訪問單元應(yīng)當(dāng)在其解碼時(shí)間之前被傳輸或者被命令傳輸(例如,在文件內(nèi))。術(shù)語“處理”包括將訪問單元封裝為一個(gè)或者多個(gè)傳輸分組并且傳遞訪問單元,其在
22文件創(chuàng)建器的情況下是當(dāng)遵循在文件中給出的指令時(shí)發(fā)送器將進(jìn)行的假設(shè)操作。如果在塊840處做出的確定是按照解碼順序的下一訪問單元可以在輸出時(shí)鐘達(dá)到與下一訪問單元相關(guān)聯(lián)的輸出時(shí)間之前被處理,則過程進(jìn)行到塊850。在塊850處,對(duì)下一訪問單元進(jìn)行處理。按照與塊820中相同的方式定義處理。在塊850處進(jìn)行處理之后, 將指向按照解碼順序的下一訪問單元的指針遞增一個(gè)訪問單元,并且過程返回塊840。另一方面,如果在塊840處做出的確定是按照解碼順序的下一訪問單元無法在輸出時(shí)鐘達(dá)到與下一訪問單元相關(guān)聯(lián)的輸出時(shí)間之前被處理,則過程進(jìn)行到塊860。在塊860 處,省略對(duì)按照解碼順序的下一訪問單元的處理。此外,在解碼中省略對(duì)依賴于下一訪問單元的訪問單元的處理。換言之,不處理以按照解碼順序的下一訪問單元為根的子序列。繼而,將指向按照解碼順序的下一訪問單元的指針遞增一個(gè)訪問單元(假設(shè)被省略的訪問單元不再存在于解碼順序中),并且過程返回塊840。如果在比特流中不再存在訪問單元,則過程在塊840處停止。在下文中,作為示例,將圖8的過程示出為應(yīng)用于圖7的序列。在圖9a中,示出了被選擇用于處理的訪問單元。在圖%中,呈現(xiàn)了產(chǎn)生于對(duì)圖9a中的訪問單元的解碼的經(jīng)解碼圖像。圖9a和圖9b以這樣的方式水平對(duì)齊即,經(jīng)解碼圖像可以在圖9b中的解碼器輸出中出現(xiàn)的最早時(shí)隙是相對(duì)于圖9a中的相應(yīng)訪問單元的處理時(shí)隙的下一時(shí)隙。在圖8的塊810處,將framejum等于0的訪問單元標(biāo)識(shí)為第一可解碼訪問單元。在圖8的塊820處,對(duì)frame_num等于0的訪問單元進(jìn)行處理。在圖8的塊830處,輸出時(shí)鐘開始,并且輸出產(chǎn)生于對(duì)framejum等于0的訪問單元的(假設(shè)的)解碼的經(jīng)解碼圖像。針對(duì)frame_num等于1、2和3的訪問單元反復(fù)重復(fù)圖8的塊840和塊850,因?yàn)榭梢栽谳敵鰰r(shí)鐘到達(dá)它們的輸出時(shí)間之前對(duì)它們進(jìn)行處理。當(dāng)framejum等于4的訪問單元是解碼順序中的下一個(gè)時(shí),其輸出時(shí)間已經(jīng)過去了。因此,跳過framejum等于4的訪問單元和framejum等于5的包含非參考圖像的訪問單元(圖8的塊860)。繼而,針對(duì)按照解碼順序的所有后續(xù)訪問單元反復(fù)重復(fù)圖8的塊840和塊850,因?yàn)榭梢栽谳敵鰰r(shí)鐘到達(dá)它們的輸出時(shí)間之前對(duì)它們進(jìn)行處理。在本示例中,當(dāng)應(yīng)用圖8的過程時(shí),圖像渲染的開始與之前描述的傳統(tǒng)方式相比早4個(gè)圖像間隔。當(dāng)圖像速率是25Hz時(shí),在啟動(dòng)延遲中的節(jié)省是160毫秒。啟動(dòng)延遲中的節(jié)省伴隨著在比特流開始處的更長(zhǎng)圖像間隔的缺點(diǎn)。在備選實(shí)現(xiàn)方式中,在輸出時(shí)鐘開始前處理不止一個(gè)幀。輸出時(shí)鐘可以不從第一經(jīng)解碼訪問單元的輸出時(shí)間開始,而是可以選擇較晚的訪問單元。相應(yīng)地,當(dāng)輸出時(shí)鐘開始時(shí),同時(shí)傳輸或者播放所選擇的較晚幀。在一個(gè)實(shí)施方式中,即使訪問單元可以在其輸出時(shí)間之前被處理,也可以不選擇該訪問單元用于處理。如果省略了在相同時(shí)間級(jí)別中對(duì)多個(gè)連續(xù)子序列的解碼,則情況尤為如此。圖10示出了根據(jù)本發(fā)明的實(shí)施方式的另一示例序列。在本示例中,產(chǎn)生于frame_ num等于2的訪問單元的經(jīng)解碼圖像是被輸出/傳輸?shù)牡谝粋€(gè)圖像。省略對(duì)包含依賴于 frame_num等于3的訪問單元的訪問單元的子序列的解碼,并且還省略對(duì)第一GOP的后一半內(nèi)的非參考圖像的解碼。因此,第一 GOP的輸出圖像速率是正常圖像速率的一半,但顯示過程比之前描述的傳統(tǒng)解決方案中早兩個(gè)幀間隔開始(在25Hz的圖像速率時(shí)為80毫秒)。當(dāng)對(duì)比特流的處理開始自開始開放GOP的幀內(nèi)圖像時(shí),省略對(duì)不可解碼引導(dǎo)圖像的處理。此外,也可以省略對(duì)可解碼引導(dǎo)圖像的處理。此外,省略按照輸出順序的在開始開放GOP的幀內(nèi)圖像之后出現(xiàn)的一個(gè)或多個(gè)子序列。圖Ila示出了示例序列,其按照解碼順序的第一訪問單元包含開始開放GOP的幀內(nèi)圖像。將針對(duì)此圖像的framejum選擇為等于1 (但是假如隨后的framejum值已經(jīng)相應(yīng)地發(fā)生了變化,則framejum的任何其他值也是同樣有效的)。圖Ila中的序列與圖7a 中的序列相同但是不存在初始IDR訪問單元(例如,由于接收在初始IDR訪問單元的傳輸之后開始而沒有接收到)。經(jīng)解碼圖像具有從2 (含)到8 (含)的framejum,并且frame_ num等于9的經(jīng)解碼非參考圖像因而出現(xiàn)在按照輸出順序在framejum等于1的經(jīng)解碼圖像之前并且為不可解碼引導(dǎo)圖像。如可從圖lib觀察到的,因而省略對(duì)它們的解碼。此外, 以上關(guān)于圖8所呈現(xiàn)的過程應(yīng)用于剩余訪問單元。因此,省略對(duì)framejum等于12的訪問單元以及framejum等于13的包含非參考圖像的訪問單元的處理。在圖Ilc中呈現(xiàn)了在圖lib所處理的訪問單元以及在解碼器輸出處所獲得的圖像序列。在本示例中,經(jīng)解碼圖像輸出比傳統(tǒng)的實(shí)現(xiàn)方式早開始19個(gè)圖像間隔(即,在25Hz的圖像速率時(shí)為760毫秒)。如果沒有輸出按照輸出順序的最早經(jīng)解碼圖像(例如,作為類似于在圖10和圖 Ila-圖Ilc中示出的處理的結(jié)果),則根據(jù)本發(fā)明的實(shí)施方式所實(shí)現(xiàn)于其中的功能塊,可能必須執(zhí)行附加操作。-如果本發(fā)明的實(shí)施方式實(shí)現(xiàn)于實(shí)時(shí)(S卩,平均而言不快于解碼或者回放速率)接收視頻比特流和與視頻比特流同步的一個(gè)或多個(gè)比特流的播放器中,則可能必須省略對(duì)其他比特流的第一訪問單元中的某些訪問單元的處理以便具有所有流的同步播放,并且可能必須調(diào)整流的回放速率(減速)。如果沒有調(diào)整回放速率,則下一接收的傳輸脈沖或者下一經(jīng)解碼FEC源塊可能晚于第一接收的傳輸脈沖或者第一經(jīng)解碼FEC源塊的最后經(jīng)解碼樣本可用,即,在回放中可能存在間隔或者中斷??梢允褂萌魏巫赃m應(yīng)媒體播放算法。-如果本發(fā)明的實(shí)施方式實(shí)現(xiàn)于編寫用于傳輸流的指令的發(fā)送器或者文件創(chuàng)建器中,則選擇來自與視頻比特流同步的比特流的第一訪問單元以盡可能接近地匹配輸出時(shí)間中的第一經(jīng)解碼圖像。如果本發(fā)明的實(shí)施方式應(yīng)用于其中第一可解碼訪問單元包含逐步解碼刷新時(shí)段的第一圖像的序列,則只有temporaljd等于0的訪問單元被解碼。此外,在逐步解碼刷新時(shí)段內(nèi)只有可靠隔離區(qū)域可被解碼。如果使用質(zhì)量、空間或者其他可分級(jí)性方式對(duì)訪問單元進(jìn)行編碼,則只有選定的從屬表示和層表示可以被解碼,以便加速解碼過程并且進(jìn)一步減少啟動(dòng)延遲。現(xiàn)在將描述使用ISO基本媒體文件格式實(shí)現(xiàn)的本發(fā)明的實(shí)施方式的示例。當(dāng)訪問從同步樣本開始的軌道時(shí),如果某些子序列沒有被解碼,則對(duì)經(jīng)解碼圖像的輸出可以更早開始。根據(jù)本發(fā)明的實(shí)施方式,樣本編組機(jī)制可以用于指示是否應(yīng)當(dāng)按照隨機(jī)訪問處理加速的經(jīng)解碼圖像緩沖(DPB)的樣本。備選啟動(dòng)序列包含從同步樣本開始的某個(gè)時(shí)段內(nèi)的軌道的樣本的子集。通過處理樣本的該子集,處理樣本的輸出可以比當(dāng)處理所有樣本的情況中更早開始?!產(chǎn)lst’樣本組描述條目指示備選啟動(dòng)序列中的樣本的數(shù)目,在其后所有樣本都應(yīng)當(dāng)被處理。在媒體軌道的情況中,處理包括分析和解碼。在提示軌道的情況中,處理包括根據(jù)提示樣本中的指令形成分組以及潛在地傳輸所形成的分組。
class AIternativeStartupEntry<) extends VisualSampleGroupEntry Calst') I
unsigned in.t (16) roll_count; unsigned int (16) first_output_sample; for (i=I; i <= roll—count,* i++) unsigned int(32) ssmple_offset[i
}rollcoimt指示備選啟動(dòng)序列中樣本的數(shù)目。如果r0ll_C0imt等于0,則相關(guān)聯(lián)的樣本不屬于任何備選啟動(dòng)序列并且firSt_0UtpUt_Sample的語義未指定。對(duì)于一個(gè)備選啟動(dòng)序列,映射到這個(gè)樣本組條目的樣本的數(shù)目應(yīng)當(dāng)?shù)扔趓oll_COimt。first_output_sample指示旨在針對(duì)備選啟動(dòng)序列中的樣本中的輸出的第一樣本的索引。開始備選啟動(dòng)序列的同步樣本的索引為1,并且對(duì)于按照解碼順序的備選啟動(dòng)序列中的每個(gè)樣本,將索引遞增1。sample_offset[i]指示相對(duì)于源自解碼時(shí)間到樣本盒或者軌道片段頭盒的樣本的傳統(tǒng)解碼時(shí)間的備選啟動(dòng)序列中的第i個(gè)樣本的解碼時(shí)間差。開始備選啟動(dòng)序列的同步樣本是它的第一個(gè)樣本。在另一實(shí)施方式中,Sample_0ffSet[i]是標(biāo)記的合成時(shí)間偏移(相對(duì)于源自解碼時(shí)間到樣本盒或者軌道片段頭盒的樣本的正常解碼時(shí)間)。在另一實(shí)施方式中,可以使用DVB樣本編組機(jī)制并且給出Sample_0ffSet[i]作為 index_payl0ad而不是在樣本組描述條目中提供sample_0ffset[i]。這種解決方案可以減少所需的樣本組描述條目的數(shù)目。在一個(gè)實(shí)施方式中,根據(jù)本發(fā)明的文件分析器如下所述從非連續(xù)位置訪問軌道。 選擇從其開始處理的同步樣本。所選擇的同步樣本可以位于期望的非連續(xù)位置,可以是相對(duì)于期望的非連續(xù)位置的最接近的之前的同步樣本,或者是相對(duì)于期望的非連續(xù)位置的最接近的后續(xù)同步樣本?;谙鄳?yīng)的樣本組標(biāo)識(shí)備選啟動(dòng)序列內(nèi)的樣本。處理備選啟動(dòng)序列內(nèi)的樣本。在媒體軌道的情況下,處理包括解碼以及潛在地包括渲染。在提示軌道的情況下,處理包括根據(jù)提示樣本中的指令形成分組以及潛在地傳輸所形成的分組。可以如 sample_offset[i]的值所指示的那樣修改處理的時(shí)序。以上討論的指示(艮口,roll_count、first_output_sample 以及 sample— offset[i])可以包括在比特流中(例如作為SEI消息)、包括在分組凈荷結(jié)構(gòu)中、包括在分組頭結(jié)構(gòu)中、包括在分組化基本流結(jié)構(gòu)中以及包括在文件格式中或者由其他方式指示。在本部分中討論的指示可以例如由編碼器創(chuàng)建、由分析比特流的單元?jiǎng)?chuàng)建或者由文件創(chuàng)建器創(chuàng)建。在一個(gè)實(shí)施方式中,根據(jù)本發(fā)明的解碼器從可解碼訪問單元(AU)開始解碼。解碼器例如通過SEI消息接收關(guān)于備選啟動(dòng)序列的信息。如果訪問單元被指示為屬于備選啟動(dòng)序列,則解碼器選擇它們以供解碼并且跳過對(duì)不在備選啟動(dòng)序列中的那些訪問單元的解碼(只要備選啟動(dòng)序列還持續(xù))。當(dāng)完成了備選啟動(dòng)序列的解碼后,解碼器對(duì)所有訪問單元進(jìn)行解碼。為了協(xié)助解碼器、接收器或者播放器選擇從解碼中省略哪個(gè)子序列,可以提供比特流的時(shí)間可分級(jí)性結(jié)構(gòu)的指示。一個(gè)示例是指示是否使用如圖2中所示的常規(guī)“二分 (bifuractive)”嵌套結(jié)構(gòu)以及存在多少時(shí)間級(jí)別(或者GOP尺寸是多少)的標(biāo)志(flag)。 指示的另一示例是temporaljd值的序列,其中每個(gè)指示按照解碼順序的訪問單元的 temporal_id。任何圖像的temporaljd可以通過重復(fù)temporaljd值的所指示序列來推斷出,S卩,temporaljd值的序列指示temporaljd值的重復(fù)行為。根據(jù)本發(fā)明的解碼器、 接收器或者播放器基于指示選擇所省略的和經(jīng)解碼的子序列。可以指示用于輸出的預(yù)期的第一經(jīng)解碼圖像。這一指示協(xié)助解碼器、接收器或者播放器如由發(fā)送器或者文件創(chuàng)建器期望的那樣運(yùn)作。例如,可以指示frame_nUm等于2的經(jīng)解碼圖像是在圖10的示例中預(yù)期用于輸出的第一個(gè)。否則,解碼器、接收器或者播放器可以首先輸出framejum等于0的經(jīng)解碼圖像并且輸出過程將與由發(fā)送器或者文件創(chuàng)建器預(yù)期的不同并且啟動(dòng)延遲中的節(jié)省可能不是最理想的??梢灾甘居糜趶南嚓P(guān)聯(lián)的第一可解碼訪問單元開始解碼(而不是更早,例如從比特流的起始處)的HRD參數(shù)。這些HRD參數(shù)指示當(dāng)解碼從相關(guān)聯(lián)的第一可解碼訪問單元開始時(shí)可應(yīng)用的初始CPB和DPB延遲。因此,根據(jù)本發(fā)明的實(shí)施方式,可以實(shí)現(xiàn)高達(dá)幾百毫秒的對(duì)時(shí)間可分級(jí)視頻比特流的解碼的調(diào)諧/啟動(dòng)延遲的減少。從比特率方面來說,時(shí)間可分級(jí)視頻比特流可以提高壓縮效率達(dá)至少25%。圖12示出了在其中可以使用本發(fā)明的各種實(shí)施方式的系統(tǒng)10,其包括多個(gè)可以通過一個(gè)或多個(gè)網(wǎng)絡(luò)進(jìn)行通信的通信設(shè)備。系統(tǒng)10可以包括有線或者無線網(wǎng)絡(luò)的任何組合,該有線或者無線網(wǎng)絡(luò)包括但不限于移動(dòng)電話網(wǎng)絡(luò)、無線局域網(wǎng)(LAN)、藍(lán)牙個(gè)域網(wǎng)、以太網(wǎng)LAN、令牌環(huán)LAN、廣域網(wǎng)、因特網(wǎng)等。系統(tǒng)10可以同時(shí)包括有線和無線通信設(shè)備。為了舉例,圖12中示出的系統(tǒng)10包括移動(dòng)電話網(wǎng)絡(luò)11和因特網(wǎng)觀。到因特網(wǎng) 28的連接可以包括但不限于遠(yuǎn)距離無線連接、短距離無線連接,而各種有線連接包括但不限于電話線、電纜線、電源線等。系統(tǒng)10的示例性通信設(shè)備可以包括但不限于采取以下形式的電子設(shè)備12 移動(dòng)電話、組合式個(gè)人數(shù)字助理(PDA)和移動(dòng)電話14、PDA 16、集成消息設(shè)備(IMD) 18、臺(tái)式計(jì)算機(jī)20、筆記本計(jì)算機(jī)22等。通信設(shè)備可以是固定的或者如當(dāng)由正在移動(dòng)的個(gè)人攜帶時(shí)那樣是移動(dòng)的。通信設(shè)備也可以位于運(yùn)輸模式中,包括但不限于汽車、卡車、出租車、公共汽車、 火車、船、飛機(jī)、自行車、摩托車等。某些或者全部通信設(shè)備可以通過到基站M的無線連接 25來發(fā)送和接收呼叫和消息以及與服務(wù)提供商進(jìn)行通信。基站M可以連接到網(wǎng)絡(luò)服務(wù)器 26,網(wǎng)絡(luò)服務(wù)器16允許移動(dòng)電話網(wǎng)絡(luò)11與因特網(wǎng)28之間的通信。系統(tǒng)10可以包括附加通信設(shè)備和不同類型的通信設(shè)備。通信設(shè)備可以使用各種傳輸技術(shù)進(jìn)行通信,這些技術(shù)包括但不限于碼分多址 (CDMA)、全球移動(dòng)通信系統(tǒng)(GSM)、通用移動(dòng)電信服務(wù)(UMTS)、時(shí)分多址(TDMA)、頻分多址 (FDMA)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、短消息服務(wù)(SMS)、多媒體消息服務(wù)(MMS)、 電子郵件、即時(shí)消息服務(wù)(IMS)、藍(lán)牙、IEEE 802. 11等。在實(shí)現(xiàn)本發(fā)明的各種實(shí)施方式中涉及的通信設(shè)備可以使用包括但不限于無線電、紅外線、激光、電纜連接等各種介質(zhì)進(jìn)行通圖13和圖14示出了一個(gè)有代表性的電子設(shè)備觀,根據(jù)本發(fā)明的各種實(shí)施方式,電子設(shè)備觀可以用作網(wǎng)絡(luò)節(jié)點(diǎn)。然而,應(yīng)當(dāng)理解,本發(fā)明的范圍并非旨在限制到一種特定類型的設(shè)備。圖13和圖14的電子設(shè)備觀包括外殼30、采取液晶顯示器形式的顯示器32、小鍵盤34、麥克風(fēng)36、聽筒38、電池40、紅外線端口 42、天線44、根據(jù)一個(gè)實(shí)施方式采取UICC 形式的智能卡46、讀卡器48、無線電接口電路52、編解碼器電路M、控制器56和存儲(chǔ)器58。 上述組件使電子設(shè)備觀能夠向根據(jù)本發(fā)明的實(shí)施方式可以位于網(wǎng)絡(luò)上的其他設(shè)備發(fā)送各種消息或從其接收各種消息。單個(gè)電路和元件全都是本領(lǐng)域中公知的類型,例如在諾基亞系列移動(dòng)電話中的類型。圖15是在其中可以實(shí)現(xiàn)各種實(shí)施方式的一般多媒體通信系統(tǒng)的圖示。如圖15中所示,數(shù)據(jù)源100按照模擬、未壓縮數(shù)字、經(jīng)壓縮數(shù)字格式或這些格式的任何組合提供源信號(hào)。編碼器110將源信號(hào)編碼為經(jīng)編碼媒體比特流。應(yīng)當(dāng)注意,待解碼比特流可以直接地或者間接地從位于幾乎任何類型的網(wǎng)絡(luò)內(nèi)的遠(yuǎn)程設(shè)備接收。附加地,比特流可以從本地硬件或者軟件接收。編碼器110可以能夠?qū)χT如音頻和視頻之類的不止一種媒體類型進(jìn)行編碼,或者可能需要不止一個(gè)編碼器110對(duì)源信號(hào)的不同媒體類型進(jìn)行編碼。編碼器110還可以獲得合成產(chǎn)生的輸入(諸如圖形和文本),或者其可以能夠產(chǎn)生合成媒體的經(jīng)編碼比特流。在下文中,僅僅考慮對(duì)一種媒體類型的一個(gè)經(jīng)編碼媒體比特流的處理以簡(jiǎn)化描述。 然而,應(yīng)當(dāng)注意,典型的實(shí)時(shí)廣播服務(wù)包括若干個(gè)流(通常至少一個(gè)音頻、視頻和文本字幕流)。還應(yīng)當(dāng)注意,該系統(tǒng)可以包括許多編碼器,但在圖15中僅僅描繪了一個(gè)編碼器110以在不缺少一般性的情況下簡(jiǎn)化描述。應(yīng)當(dāng)進(jìn)一步理解,雖然在此包括的正文和示例可以具體描述編碼過程,但本領(lǐng)域技術(shù)人員將理解,相同的概念和原理同樣適用于相應(yīng)的解碼過程并且反之亦然。向存儲(chǔ)器120傳遞經(jīng)編碼媒體比特流。存儲(chǔ)器120可以包括任何類型的大容量存儲(chǔ)器以存儲(chǔ)經(jīng)編碼媒體比特流。存儲(chǔ)器120中的經(jīng)編碼媒體比特流的格式可以是基本自包含比特流格式,或者一個(gè)或多個(gè)經(jīng)編碼媒體比特流可以被封裝為容器文件。某些系統(tǒng)“現(xiàn)場(chǎng)”操作,即省略存儲(chǔ)器并且從編碼器110直接向發(fā)送器130傳遞經(jīng)編碼媒體比特流。繼而,在需要時(shí)向發(fā)送器130(也稱為服務(wù)器)傳遞經(jīng)編碼媒體比特流。在傳輸中使用的格式可以是基本自包含比特流格式、分組流格式或者可以被封裝為容器文件的一個(gè)或多個(gè)經(jīng)編碼媒體比特流。編碼器110、存儲(chǔ)器120和發(fā)送器130可以位于同一物理設(shè)備中,或者它們可以被包括在分離的設(shè)備中。編碼器110和發(fā)送器130可以使用現(xiàn)場(chǎng)實(shí)時(shí)內(nèi)容進(jìn)行操作, 在該情況中經(jīng)編碼媒體比特流通常不被永久存儲(chǔ),而是在內(nèi)容編碼器110和/或發(fā)送器130 中緩存一小段時(shí)間,從而消除處理延遲、傳遞延遲和經(jīng)編碼比特流中的變化。發(fā)送器130使用通信協(xié)議棧發(fā)送經(jīng)編碼媒體比特流。該棧可以包括但不限于實(shí)時(shí)傳輸協(xié)議(RTP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)以及因特網(wǎng)協(xié)議(IP)。當(dāng)通信協(xié)議棧為面向分組時(shí),發(fā)送器130將經(jīng)解碼媒體比特流封裝為分組。例如,當(dāng)使用RTP時(shí),發(fā)送器130根據(jù)RTP 凈荷格式將經(jīng)編碼媒體比特流封裝為RTP分組。通常,每種媒體類型具有專用的RTP凈荷格式。應(yīng)當(dāng)再次注意,系統(tǒng)可以包含不止一個(gè)發(fā)送器130,但是為簡(jiǎn)單起見,以下描述僅考慮一個(gè)發(fā)送器130。
如果針對(duì)存儲(chǔ)器120或者為了向發(fā)送器130輸入數(shù)據(jù)而將媒體內(nèi)容封裝為容器文件,發(fā)送器130可以包括或者操作地附接到“發(fā)送文件分析器”(在圖中未示出)。特別地,如果容器文件沒有照這樣被傳輸?shù)侵辽僖粋€(gè)所包含的經(jīng)編碼媒體比特流被封裝以供通過通信協(xié)議傳輸,則發(fā)送文件分析器定位經(jīng)編碼媒體比特流的應(yīng)通過通信網(wǎng)絡(luò)傳遞的適當(dāng)部分。發(fā)送文件分析器還可以有助于創(chuàng)建針對(duì)通信協(xié)議的正確格式,諸如分組頭和凈荷。 多媒體容器文件可以包含封裝指令(諸如ISO基本媒體文件格式中的提示軌道)以對(duì)通信協(xié)議上的至少一個(gè)包含的媒體流進(jìn)行封裝。發(fā)送器130可以或可以不通過通信網(wǎng)絡(luò)連接到網(wǎng)關(guān)140。網(wǎng)關(guān)140可以執(zhí)行不同類型的功能,諸如將根據(jù)一個(gè)通信協(xié)議棧的分組流翻譯為另一通信協(xié)議棧,合并或者分開數(shù)據(jù)流,以及根據(jù)下行鏈路和/或接收器能力來操控?cái)?shù)據(jù)流,諸如根據(jù)占優(yōu)的下行鏈路網(wǎng)絡(luò)狀況控制轉(zhuǎn)發(fā)的流的比特率。網(wǎng)關(guān)140的示例包括MCU、電路交換和分組交換視頻電話之間的網(wǎng)關(guān)。蜂窩式一鍵通(PoC)服務(wù)器、數(shù)字視頻廣播-手持(DVB-H)系統(tǒng)中的IP封裝器、 或者將廣播傳輸本地轉(zhuǎn)發(fā)到家庭無線網(wǎng)絡(luò)的機(jī)頂盒。當(dāng)使用RTP時(shí),網(wǎng)關(guān)140被稱為RTP 混合器或者RTP翻譯器并且通常充當(dāng)RTP連接的端點(diǎn)。該系統(tǒng)包括一個(gè)或者多個(gè)接收器150,其通常能夠?qū)λ鶄鬏數(shù)男盘?hào)進(jìn)行接收、解調(diào)并將其解封裝為經(jīng)編碼媒體比特流。向記錄存儲(chǔ)器巧5傳遞經(jīng)編碼媒體比特流。記錄存儲(chǔ)器155可以包括任何類型的大容量存儲(chǔ)器以存儲(chǔ)經(jīng)編碼媒體比特流。記錄存儲(chǔ)器155可以備選地或者附加地包括計(jì)算存儲(chǔ)器,諸如隨機(jī)訪問存儲(chǔ)器。記錄存儲(chǔ)器155中的經(jīng)編碼媒體比特流的格式可以是基本自包含比特流格式,或者一個(gè)或者多個(gè)經(jīng)編碼媒體比特流可以被封裝為容器文件。如果存在相互相關(guān)聯(lián)的多個(gè)經(jīng)編碼媒體比特流(諸如音頻流和視頻流),則通常使用容器文件并且接收器150包括或者附接到從輸入流產(chǎn)生容器文件的文件生成器。某些系統(tǒng)“現(xiàn)場(chǎng)”操作,即省略記錄存儲(chǔ)器155并且從接收器150直接向解碼器160 傳遞經(jīng)編碼媒體比特流。在某些系統(tǒng)中,在記錄存儲(chǔ)器155中僅僅維持所記錄流的最新部分,例如所記錄流的最近10分鐘摘錄,而從記錄存儲(chǔ)器155丟棄任何更早記錄的數(shù)據(jù)。從記錄存儲(chǔ)器155向解碼器160傳遞經(jīng)編碼媒體比特流。如果存在相互關(guān)聯(lián)并且被封裝為容器文件的多個(gè)經(jīng)編碼媒體比特流(諸如音頻流和視頻流),則文件分析器(圖中未示出)用于從容器文件解封裝每個(gè)經(jīng)編碼媒體比特流。記錄存儲(chǔ)器155或者解碼器160 可以包括文件分析器,或者文件分析器附接到記錄存儲(chǔ)器巧5或者解碼器160。經(jīng)編碼媒體比特流通常進(jìn)一步由解碼器160處理,其輸出為一個(gè)或多個(gè)未壓縮媒體流。最后,渲染器170可以使用例如揚(yáng)聲器或者顯示器再現(xiàn)未壓縮媒體流。接收器150、 記錄存儲(chǔ)器155、解碼器160以及渲染器170可以位于同一物理設(shè)備中,或者它們可以被包括在分離的設(shè)備中。在此描述的各種實(shí)施方式在方法步驟或者過程的一般上下文中進(jìn)行了描述,在一個(gè)實(shí)施方式中該方法步驟或者過程可以由計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn),該產(chǎn)品體現(xiàn)在計(jì)算機(jī)可讀介質(zhì)中,其包括由聯(lián)網(wǎng)環(huán)境中的計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令(諸如程序代碼)。計(jì)算機(jī)可讀介質(zhì)可以包括可移除和不可移除存儲(chǔ)設(shè)備,其包括但不限于只讀存儲(chǔ)器(ROM)、隨機(jī)訪問存儲(chǔ)器(RAM)、壓縮盤(⑶)、數(shù)字多功能盤(DVD)等。通常,程序模塊可以包括執(zhí)行特定任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。計(jì)算機(jī)可執(zhí)行指令、相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)以及程序模塊代表用于執(zhí)行在此公開的方法的步驟的程序代碼的示例。此類可執(zhí)行指令的特定序列或者相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)代表用于實(shí)現(xiàn)在此類步驟或者過程中描述的功能的相應(yīng)動(dòng)作的示例。本發(fā)明的實(shí)施方式可以在軟件、硬件、應(yīng)用邏輯或者軟件、硬件和應(yīng)用邏輯的組合中實(shí)現(xiàn)。該軟件、應(yīng)用邏輯和/或硬件可以例如位于芯片組、移動(dòng)設(shè)備、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或者服務(wù)器上。各種實(shí)施方式的軟件和web實(shí)現(xiàn)可以使用具有基于規(guī)則的邏輯以及其他邏輯的標(biāo)準(zhǔn)編程技術(shù)來實(shí)現(xiàn),從而實(shí)現(xiàn)各種數(shù)據(jù)庫搜索步驟或者過程、關(guān)聯(lián)步驟或者過程、比較步驟或者過程以及決策步驟或者過程。各種實(shí)施方式也可以完全地或者部分地在網(wǎng)絡(luò)元件或者模塊內(nèi)實(shí)現(xiàn)。應(yīng)當(dāng)注意,如在此以及在以下的權(quán)利要求書中使用的,詞語 “組件”和“模塊”旨在包括使用一行或者多行軟件代碼的實(shí)現(xiàn)和/或硬件實(shí)現(xiàn)和/或用于接收人工輸入的設(shè)備。已經(jīng)出于說明和描述的目的呈現(xiàn)了本發(fā)明的實(shí)施方式的上述描述。其并非旨在是詳盡的或者將本發(fā)明限制到所公開的精確形式,修改或者變型根據(jù)以上教示是可能的或者可以通過對(duì)本發(fā)明的實(shí)踐而獲得。實(shí)施方式被選擇和描述以便說明本發(fā)明的原理及其實(shí)際應(yīng)用,從而使得本領(lǐng)域技術(shù)人員能夠按照各種實(shí)施方式并且運(yùn)用適合于所預(yù)期的特定使用的各種修改來利用本發(fā)明。
權(quán)利要求
1.一種方法,包括接收包括訪問單元序列的比特流;對(duì)所述比特流中的第一可解碼訪問單元進(jìn)行解碼;確定所述比特流中跟隨所述第一可解碼訪問單元的下一可解碼訪問單元在所述下一可解碼訪問單元的輸出時(shí)間之前是否能夠被解碼;基于確定所述下一可解碼訪問單元在所述下一可解碼訪問單元的所述輸出時(shí)間之前無法被解碼而跳過對(duì)所述下一可解碼訪問單元的解碼;以及跳過對(duì)依賴于所述下一可解碼訪問單元的任何訪問單元的解碼。
2.根據(jù)權(quán)利要求1所述的方法,還包括從所述比特流中選擇經(jīng)編碼數(shù)據(jù)單元的第一集合,其中子比特流包括所述比特流的、包括所述經(jīng)編碼數(shù)據(jù)單元的第一集合在內(nèi)的部分, 所述子比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第一集合,并且所述比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第二集合,其中第一緩沖資源足以將所述經(jīng)解碼數(shù)據(jù)單元的第一集合布置為輸出順序,第二緩沖資源足以將所述經(jīng)解碼數(shù)據(jù)單元的第二集合布置為輸出順序,并且所述第一緩沖資源少于所述第二緩沖資源。
3.根據(jù)權(quán)利要求2所述的方法,其中所述第一緩沖資源和所述第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始時(shí)間而言的。
4.根據(jù)權(quán)利要求2所述的方法,其中所述第一緩沖資源和所述第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始緩沖占用而言的。
5.根據(jù)權(quán)利要求1所述的方法,其中每個(gè)訪問單元是IDR訪問單元、SVC訪問單元或者包含錨定圖像的MVC訪問單元之一。
6.一種裝置,包括 處理器;以及存儲(chǔ)器單元,其可通信地連接至所述處理器并且包括 用于接收包括訪問單元序列的比特流的計(jì)算機(jī)代碼; 用于對(duì)所述比特流中的第一可解碼訪問單元進(jìn)行解碼的計(jì)算機(jī)代碼; 用于確定所述比特流中跟隨所述第一可解碼訪問單元在所述下一可解碼訪問單元的下一可解碼訪問單元的輸出時(shí)間之前是否能夠被解碼的計(jì)算機(jī)代碼;用于基于確定所述下一可解碼訪問單元在所述下一可解碼訪問單元的所述輸出時(shí)間之前無法被解碼而跳過對(duì)所述下一可解碼訪問單元的解碼的計(jì)算機(jī)代碼;以及用于跳過對(duì)依賴于所述下一可解碼訪問單元的任何訪問單元的解碼的計(jì)算機(jī)代碼。
7.根據(jù)權(quán)利要求6所述的裝置,還包括用于從所述比特流中選擇經(jīng)編碼數(shù)據(jù)單元的第一集合的計(jì)算機(jī)代碼, 其中子比特流包括所述比特流的、包括所述經(jīng)編碼數(shù)據(jù)單元的第一集合在內(nèi)的部分, 所述子比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第一集合,并且所述比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第二集合,其中第一緩沖資源足以將所述經(jīng)解碼數(shù)據(jù)單元的第一集合布置為輸出順序,第二緩沖資源足以將所述經(jīng)解碼數(shù)據(jù)單元的第二集合布置為輸出順序,并且所述第一緩沖資源少于所述第二緩沖資源。
8.根據(jù)權(quán)利要求7所述的裝置,其中所述第一緩沖資源和所述第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始時(shí)間而言的。
9.根據(jù)權(quán)利要求7所述的裝置,其中所述第一緩沖資源和所述第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始緩沖占用而言的。
10.根據(jù)權(quán)利要求6所述的裝置,其中每個(gè)訪問單元是IDR訪問單元、SVC訪問單元或者包含錨定圖像的MVC訪問單元之一。
11.一種計(jì)算機(jī)可讀介質(zhì),具有存儲(chǔ)在其上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括用于接收包括訪問單元序列的比特流的計(jì)算機(jī)代碼;用于對(duì)所述比特流中的第一可解碼訪問單元進(jìn)行解碼的計(jì)算機(jī)代碼;用于確定所述比特流中跟隨所述第一可解碼訪問單元在所述下一可解碼訪問單元的下一可解碼訪問單元的輸出時(shí)間之前是否能夠被解碼的計(jì)算機(jī)代碼;用于基于確定所述下一可解碼訪問單元在所述下一可解碼訪問單元的所述輸出時(shí)間之前無法被解碼而跳過對(duì)所述下一可解碼訪問單元的解碼的計(jì)算機(jī)代碼;以及用于跳過對(duì)依賴于所述下一可解碼訪問單元的任何訪問單元的解碼的計(jì)算機(jī)代碼。
12.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),還包括用于從所述比特流中選擇經(jīng)編碼數(shù)據(jù)單元的第一集合的計(jì)算機(jī)代碼,其中子比特流包括所述比特流的、包括所述經(jīng)編碼數(shù)據(jù)單元的第一集合在內(nèi)的部分, 所述子比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第一集合,并且所述比特流可解碼為經(jīng)解碼數(shù)據(jù)單元的第二集合,其中第一緩沖資源足以將所述經(jīng)解碼數(shù)據(jù)單元的第一集合布置為輸出順序,第二緩沖資源足以將所述經(jīng)解碼數(shù)據(jù)單元的第二集合布置為輸出順序,并且所述第一緩沖資源少于所述第二緩沖資源。
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中所述第一緩沖資源和所述第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始時(shí)間而言的。
14.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其中所述第一緩沖資源和所述第二緩沖資源是相對(duì)于用于經(jīng)解碼數(shù)據(jù)單元緩沖的初始緩沖占用而言的。
15.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其中每個(gè)訪問單元是IDR訪問單元、SVC 訪問單元或者包含錨定圖像的MVC訪問單元之一。
全文摘要
一種方法,包括接收包括訪問單元序列的比特流;對(duì)該比特流中的第一可解碼訪問單元進(jìn)行解碼;確定該比特流中的下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前是否可以被解碼;以及基于確定該下一可解碼訪問單元在該下一可解碼訪問單元的輸出時(shí)間之前無法被解碼而跳過對(duì)該下一可解碼訪問單元的解碼。
文檔編號(hào)H04N21/643GK102342127SQ201080010422
公開日2012年2月1日 申請(qǐng)日期2010年1月27日 優(yōu)先權(quán)日2009年1月28日
發(fā)明者M·安尼克塞拉 申請(qǐng)人:諾基亞公司