專利名稱:以可伸縮方式對視頻數(shù)據(jù)進行編碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種以可伸縮方式對—見頻lt據(jù)進4于編碼的方法。
背景技術(shù):
本發(fā)明主要涉及當能夠以可伸縮方式對數(shù)據(jù)進行編碼時的視頻 編碼領(lǐng)域。
當數(shù)據(jù)被傳輸至的終端具有不同的容量并且因此不能解碼全部 的數(shù)據(jù)流而只能解碼部分數(shù)據(jù)流時,根據(jù)若千層對視頻數(shù)據(jù)進行編 碼非常有用。當根據(jù)若干層以可伸縮的方式對視頻數(shù)據(jù)進行編碼時,
接收終端能夠根據(jù)數(shù)據(jù)簡檔(profile )從所接收的比特流中提取該數(shù)據(jù)。
現(xiàn)今,存在若千個4見頻編碼標準,其能夠才艮據(jù)不同的層和/或簡 檔對一見頻翁:才居進4亍編碼。在這些標準中, 一個標準可以引用 H.264/SVC,也一皮稱作ITU-T H.264標準。
然而,存在的一個問題是過載,其是由傳輸?shù)臄?shù)據(jù)多于末端側(cè) 通常所需的lt據(jù)而產(chǎn)生的。
實際上,例如在H.264/SVC或MVC ( SVC標準用于可伸縮一見 頻編碼而MVC標準用于多浮見點碎見頻編碼)中,若干層的傳輸要求 傳輸多個頭文件以傳輸不同層所要求的所有參凄t 。在當前發(fā)布的標 準中, 一個頭文件包括對應于所有層的參數(shù)。因此,當需要只傳輸
3基本層時,必須傳輸與增強層相關(guān)的所有信息。因而,在網(wǎng)絡(luò)上產(chǎn) 生了大的過載以傳輸所有層的所有參數(shù),即使所有層的數(shù)據(jù)不為數(shù) 據(jù)傳輸至的不同設(shè)備所需要。
本發(fā)明的提出可以解決這些缺點中的至少 一 個缺點。
發(fā)明內(nèi)容
為此,本發(fā)明提出一種才艮據(jù)H.264/SVC標準以可伸縮的方式對 一見頻數(shù)據(jù)進4亍編碼的方法。才艮據(jù)本發(fā)明,該方法包4舌以下步-驟
-嵌入用于據(jù)流每 一 層的可伸縮嵌套式補充增強信息 (Supplemental Enhancement Information )消息,其包4舌^t層的至少 一個引用和至補充增強信息消息的《連^妻,
-在嵌套式補充增強信息消息之后,嵌入用于每一個可伸縮嵌套 式補充增強信息消息的所述補充增強信息消息,其包括所述層的禍」 頻可用4言息。
根據(jù)一個優(yōu)選實施例,補充增強信息消息包括對所述層《連接至 的序歹'J參凄t集(Sequence Parameter Set) ( SPS )的參考。
根據(jù)一個優(yōu)選實施例,補充增強信息消息包括H264/SVC標準 中定義的浮見頻可用〗言息。
在一些編碼方法中,不i侖傳l命多少個層,所有層的參數(shù)都作為 整體被傳輸。因此,這在網(wǎng)絡(luò)上產(chǎn)生大的過載。這主要是由于一些 參數(shù)依賴于層而其他一些參^:是所有層共有的參^:,并且因此一個 頭文件被定義用于所有參數(shù),所有依賴于層的參數(shù)和不依賴層的參 數(shù)被一起傳輸。
4通過本發(fā)明,不依賴于層的參數(shù)只在需要時被傳輸,即傳輸根 據(jù)這些層而^皮編碼的數(shù)據(jù),而不是傳輸包括所有層的參數(shù)的整個頭 文件。
本發(fā)明的其它特征和優(yōu)點將參考附圖通過本發(fā)明非限定實施例 的描述而變4尋顯而易見。
圖1示出了根據(jù)現(xiàn)有技術(shù)的用于可伸縮式層編碼的NAL單元 的結(jié)構(gòu);
圖2示出了本發(fā)明所提出的結(jié)構(gòu)的實施例;
圖3示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的可伸縮視頻編碼的 才既^L圖4示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的數(shù)據(jù)流的概觀圖; 圖5示出了4艮據(jù)本發(fā)明的一個優(yōu)選實施例的比特流的示例。
具體實施例方式
才艮據(jù)本文所描述的優(yōu)選實施例,才艮據(jù)H264/SVC對浮見頻凄t據(jù)編 碼。SVC提出了才艮據(jù)若干個空間層、時間層和質(zhì)量層傳輸^L頻H據(jù)。 對于一個空間層,可以根據(jù)若干個時間層進行編碼,而且對于每一 個時間層可以才艮據(jù)若干個質(zhì)量層來進行編碼。因此,當定義了m個 空間層、n個時間層和O個質(zhì)量層時,可以才艮據(jù)m*n*0個不同的層 對視頻數(shù)據(jù)進行編碼。根據(jù)客戶機的容量,不同的層被傳輸達到對 應于客戶容量的最大值的某個層。如示出本發(fā)明現(xiàn)有技術(shù)的圖l所示,目前在SVC中,SPS是包
括語法元素的語法結(jié)構(gòu),所述語法元素應用于由存在于圖像參數(shù)集
中的seq_parameter_set—id語法元素的內(nèi)容所確定的零或更多的完整 的編碼— 見頻序列中,存在于每個程序片頭文件中的 pic_parameter—set—id語法元素參考該圖像參數(shù)集。在SVC中,SPS 中所傳送的一些語法元素的值是依賴于層。這些i吾法元素包4舌4旦不 限于定時信息(timing information )、 HRD (代表"虛擬參考解碼器" (Hypothetical Reference Decoder ))參凄史,比特流P艮制信息。因此, 允許每一層的上述語法元素的傳輸是必須的。
一個序列參數(shù)集(SPS)包括所有的用于所有對應空間(Di)、 時間(Ti)和質(zhì)量(Qi)層的所需的參數(shù),不論是否傳輸所有層。
SPS包4舌所有層的VUI (表示一見頻可用4言息(Video Usability Information))參數(shù)。VUI參數(shù)表示非常重要的數(shù)據(jù)質(zhì)量,因為VUI 參數(shù)包括所有層的HRD參數(shù)。在實際應用中,由于信道速率受到 限制,因此只有某些層可以傳輸通過網(wǎng)絡(luò)。因為APS表示SVC中 基本的語法元素,所以其作為整體—皮傳llr。因此,無i侖哪一層^皮傳 輸,都傳輸所有層的HRD參lt。
如圖2所示,為了減小可伸縮視頻編碼的序列參數(shù)集(SPS) 的過載,本發(fā)明才是出了4吏用nesting—sei prefix/suffix NAL和在SEI 消息中存儲VUI參數(shù)。
Scalable—nesting (也稱為嵌套式SEI (并在圖中表示為NSEI)) 用作指示層〗言息的前綴/后綴型NAL單元的頭文件。由于 vui一parameter一sei()字段,scalable—nesting鏈接至包括由嵌套式SEI 才旨定的層的戶斤有屬')"生的vui_parameter__sei消息-。
以下的表1示出了前纟晨/后纟褒NAL定義的scalable—nesting。
6scalable nesting( payloadSize ) {CDescriptor
aH pictures in au flag5
if (all pictures in au flag 二 二 0){
num pictures tninusl5ue(v)
for( i = 0; i <= num pictures minusl; i十十){
dependency—id| i J5u(3)
quality level( i |5U(2)
temporal level5u(3)
while( !byte aligned())
sei nesting—zero—bit /* equal to 0 */5f(l)
vui parameter sei ()5
表1
可伸縮嵌套式SEI消息涉及存耳又單元。當存在時,該SEI消息 在對應存取單元的^f壬意一個VCL NAL單元前出現(xiàn)。可伸縮嵌套式 SEI包括在NAL單元中。當存在時,嵌套式SEI消息應用的范圍由 語法元素all_pictures—in_au—flag和num_pictures、 dependency一id[i] 和quality—id[i]指示。
all—pictures—in—au—flag等于1指示嵌套式SEI消息應用于存耳又 單元的所有編碼圖像中。all_pictures—in—au_flag等于0指示嵌套式 SEI消息的應用范圍由num_pictures 、 dependency—id[i]和quality—id[i〗
語法元素以信號告知。
num—pictures—minusl指示嵌套式SEI消息應用至的編石馬圖^f象 的數(shù)目。
dependency—id[i和quality一id[i分別指示嵌套式SEI消息應
用至的第i個編碼圖4象的dependency—id[i](空間層)和quality—id[i]。
sei—nesting_zero__bit等于零。
下表示出了包括為每個層指定的參數(shù)的SEI消息。
7vui parameter_sei () {cDescriptorsequence—parameter—set—id0us(v)timing—info_present—flag0u(l)If( timing—info_present—flag ) {num units in tick0u(32)time—scae0u(32)fixed frame rate flag0u(l)nalhrdparameters—present—flag0u(l)If( nal_hrd_pammeters_present—flag )hrd_parameters()velhrd—parameters—present flag0u(l)lf( vcl—hrd—parameters_presentflag )hrd_parameters()lf( nal—hrd_parameters—present—flag 1 vcl hrd parameters_present打ag)lowdelay—hrd—flag0u(l)pic—struct—present—flag0bitstream—restriction_flag0u(l)lf( bitstream—restriction—flag) {motion vectors over pic boundaries—flag0u(l)max bytes per—pic_denom0ue(v)maxbks_per—mb—denom0ue(v)log2 max—mv—length—horizontal0ue(v)1og2一max—mv length—vertical0ue(v)numreorder—frames0ue(v)max—dec—framebuffering0表2sequence_parameter—set—id i只另)j當前vui_parameter—sei ^fl息-映射 至的序列參數(shù)集(SPS)并包括當前層的共有的序列參數(shù)屬性。表2提及的其他參數(shù)定義在標準H.264/SVC中。以下的表3示出了 ?寸當前在H.264/SVC才示準中定義的 sei—payload的5見有定義進4亍的寸務(wù) 支。Vui—parameter—sei #皮定義為類型30 。在本發(fā)明的其他實施例中,其可以為仍通過標準H.264/SVC 可得到的任何其他字段。
sei—payload( payloadType, payloadSize ) {cDescriptor
if(payloadType==0)cDescriptor
Buffering—period(pay,oadSize)
i〖(p a y 1 o a (1T y p e ==3 0 )
vui parameter—sei(payloadSize)
else
reserved_sei—message(payloadSize)
表3
圖3示出了根據(jù)本發(fā)明的可伸縮視頻編碼器1的實施例。 在可伸縮— 見頻編碼器1的輸入端接收視頻。
根據(jù)不同的空間層對視頻進行編碼。各空間層主要是指同 一視
頻的不同分辨率等^及。例如,力。可伸縮一見頻編;馬器的^r入端,其可
以具有表示每一個空間層的CIF序列(355每288 )或QCIF序列(176 每144 )。
每個空間層^I^皮發(fā)送至層纟及運動^卜J嘗予貞測(hierarchical motion compensated prediction )沖莫^:。
空間層1 一皮發(fā)送至層纟及運動誶H嘗予貞 測才莫塊2";空間層2被發(fā)送至層級運動補償預測才莫塊2,以及空間 層n被發(fā)送至層級運動補償預測模塊2。
用dependency—id將空間層編碼為3比特,因此空間層的最大
數(shù)目是8。
9一旦層級運動預測補償完成,就產(chǎn)生兩種^:據(jù), 一種凄1據(jù)是描述不同層間的不一致的運動,另 一種數(shù)據(jù)是估計誤差的結(jié)構(gòu)。對于每個空間層,才艮據(jù)基本層和增強層對數(shù)據(jù)進行編碼。對于空間層l,通過增強層編碼器3"和基本層編碼器4"對數(shù)據(jù)進行編 碼;對于空間層2,通過增強層編碼器3,和基本層編碼器4'對凄t 據(jù)進行編碼;對于空間層1,通過增強層編碼器3和基本層編碼器4 對數(shù)據(jù)進行編碼。編碼后,為空間層的每一層準備頭文件,創(chuàng)建SPS和PPS信息 以及若千NSEI-VUI—SEI消息。對于空間層1,如圖3所示,創(chuàng)建SPS和PPS 5"并才艮據(jù)本發(fā) 明的實施例還倉J建NSEI — VUI—SEI;, NSEI — VUI—SEI;,..., NSEI — VUI—SEI二。集。對于空間層2,如圖3所示,創(chuàng)建SPS和PPS5,并才艮據(jù)本發(fā) 明的實施<列還AJ建NSEI — VUI—SElf, NSEI — VUI—SEI;,..., NSEI — VUI—SEI二。集。對于空間層n,如圖3所示,創(chuàng)建SPS和PPS 5并才艮才居本發(fā)明 的實施侈'還倉J建NSEI — VUI—SEI;1, NSEI - VUI—SEI;,..., NSEI - VUI一SEI:;。集。由基本層編碼才莫塊和由增強層編碼才莫塊進4亍編碼的比特流在全 局t匕對爭^u中3艮卩逭多個SPS、 PPS和SUP—SPS頭文ff。在圖3中,8"包括SPS和PPS 5"、 NSEI-VUI—SEI;,NSEI-VUI—SEI;,.… NSEI-VUI—SEI:,,6"以及包括構(gòu)成與空間層1相關(guān)聯(lián)的所有編碼數(shù)據(jù) 的比特流7"。10在圖3中,8, 包4舌SPS禾口 PPS 5, 、 NSEI-VUI—SEI , NSEI-VUI—SEI; ,..., NSEI-VUI—SEI:n6, ,口包4舌牙勾成與空間層2沖目關(guān)耳關(guān) 的所有編碼lt據(jù)的比特 流7,。在圖3中,8包4舌SPS禾口 PPS 5 、 NSEI - VUI—SEI;' , NSEI — VUI—SEI;,…, NSEI - VUI—SEI二 6和包括構(gòu)成與空間層n相關(guān)聯(lián)的所有編碼數(shù)據(jù)的比 特流7。不同的NSEI-VUI_SEI頭文件遵乂人上述表中所描述的頭文件。圖4示出了由圖3的可伸縮視頻編碼器編碼的比特流。比特流包括用于空間層的每一層的一個SPS。當對m個空間層 進4亍編;馬時,比4爭流包4舌圖4中由10、 10,和10"表示的SPS1、 SPS2和SPSm。在比特流中,對與空間層相關(guān)的通用信息進行編碼的每個SPS 后跟隨著NSEI-VUI_SEI型的頭文件10,該頭文件本身之后^艮隨有 相應的編碼—見頻數(shù)據(jù),其中的每一個都對應于一個時間層和一個質(zhì)量層。因此,當不傳輸對應于一個質(zhì)量層的一個層時,也不傳輸對應 的頭文件,這是因為存在對應于每一層的一個頭文件 NSEI-VUI—SEI 。因此,我們來舉例以說明圖5中所示的數(shù)據(jù)流的傳輸。圖5示出了下列層的傳輸。比特流中指示的標號與圖2中所使 用的標號相對應。4專車lT以下層 空間層 空間層2 空間層3時間層1〇時間層2o時間層1o時間層1〇時間層2〇時間層3〇質(zhì)量層1質(zhì)量層質(zhì)量層質(zhì)量層1質(zhì)量層質(zhì)量層1因此,可以看出,并不是傳輸所有層的所有不同的參數(shù),而只 是傳輸對應所請求層的那些參數(shù),因為這些參數(shù)包括在 NSEI-VUI SEI消息中并且不再包4舌在SPS4言息中。
權(quán)利要求
1.一種用于根據(jù)H.264/SVC標準以可伸縮方式對視頻數(shù)據(jù)進行編碼的方法,其特征在于,包括以下步驟嵌入用于數(shù)據(jù)流每一層的可伸縮嵌套式補充增強信息消息,其包括對層的至少一個引用和至補充增強信息消息的鏈接;在嵌套式補充增強信息消息之后,嵌入用于每一個可伸縮嵌套式補充增強信息消息的所述補充增強信息消息,其包括所述層的視頻可用信息。
2. 才艮據(jù)權(quán)利要求i所述的方法,其特^正在于,所述補充增強信息 消息包括對所述層鏈接至的序列參數(shù)集(SPS)的引用。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述補充增強信息
全文摘要
本發(fā)明涉及一種根據(jù)H.264/SVC標準以可伸縮方式對視頻數(shù)據(jù)進行編碼的方法。該方法包括以下步驟嵌入用于數(shù)據(jù)流每一層的可伸縮嵌套式補充增強信息消息,其包括對層的至少一個引用和至補充增強信息消息的鏈接;在嵌套式補充增強信息消息之后,插入用于每一個可伸縮嵌套式補充增強信息消息的所述補充增強信息消息,其包括所述層的視頻可用信息。
文檔編號H04N7/26GK101653002SQ200780052621
公開日2010年2月17日 申請日期2007年6月29日 優(yōu)先權(quán)日2007年4月18日
發(fā)明者朱立華, 楊繼珩, 陳志波 申請人:湯姆遜許可公司