專利名稱:用于構造可伸縮視頻的參考圖像列表的方法和設備的制作方法
技術領域:
本發明涉及一種為可伸縮視頻的空間增強層構造參考圖像列表的方法和設備。
背景技術:
視頻編碼中,圖像可以是幀內編碼的(I幀),預測的(P幀)或雙向預測的(B幀)。P幀和B幀是基于預先編碼/解碼的參考幀進行預測,因而要提供參考圖像列表,P幀具有一個列表(list0),B幀具有兩個列表(list0,list1)。因為參考圖像是用來解碼其他圖像,所以要對參考圖像自身解碼,然后將其存儲起來。可伸縮視頻編碼(SVC)提供了參考圖像列表重排序(reference picture list reordering,RPLR)功能。空間可伸縮視頻編碼(scalable video coding,SVC)具有一個基本層(base layer,BL)和一個或多個增強層(enhancement layer,EL)。目前,增強層的更新(UPDATE)剛剛從可伸縮視頻編碼中移除,即增強層同樣具有層級B幀結構,且和基本層在時間上具有極其類似的語法。
然而,層級B幀結構不是必需的,但解碼器必須支持所有的圖像組(GOP)結構。所以說,基本層和增強層允許任何形式的參考圖像列表的構造。但是,為了更好地利用兩個不同空間層中對應圖像之間的冗余,構造增強層參考圖像列表(初始化或RPLR)的目的就是使增強層參考圖像列表(list_0或list_1)與基本層列表(或通常的較低的空間層)相匹配。
目前,聯合可伸縮視頻模型(JSVM)提出了強制的RPLR命令,用來確定實際使用的參考圖像列表,而不是僅僅使用如AVC說明書第8.2.4.2節“參考圖像列表的初始化方法”中和SVC工作草案(working draft,WD)的8.2.4.2節中定義的默認的參考圖像列表構造方法。
在基本層和空間增強層具有相同的幀頻的情況下,實際上編碼器應對兩個層使用相同的RPLR命令。但是,當增強層幀頻是基本層幀頻的兩倍時,RPLR命令則是不同的。
發明內容
本方案中,引入了一種新的解碼方法,其應用于構造空間增強層的參考幀列表的過程中。僅通過修改一個語法標記,該方案提供了一種更簡單、直接地構造參考圖像列表的方法。通過使用該方法,可以省略/跳過復雜的RPLR以及其他語法,也可以避免在空間增強層使用RPLR方法。另外,該方法還可用來提供與JSVM相同的解碼的YUV序列,并且在編碼效率方面有一點提高。當空間增強層的條帶丟失時,該方法也可作為差錯隱藏的強有力工具。
例如,如果兩個層的GOP大小等于32,基本層幀頻為15Hz,增強層幀頻為30Hz(等于輸入幀頻),那么在第一圖像組中,圖像序列號(POC)為2,6,10,14,18,22,26,30的基本層幀則處于最高時間層次(temporallevel)上,且具有相同的frame_num值,這是因為它們均是由等于0的nal_ref_idc依次進行編碼的。然而,在增強層中,具有以上圖像序列號(POC)的圖像不屬于最高時間層次,且由于這些幀的nal_ref_idc值大于0(它們也可被稱為B存儲圖像),所以這些圖像的frame_num值將會增加。當使用frame_num值來衡量一個幀/圖像在作為其他幀/圖像的參考幀/參考圖像的“重要性”時,圖像序列號對應于圖像的顯示次序,即,POC=0的圖像被最先顯示,然后顯示POC=1的圖像,等等。在H.264中,解碼的參考圖像被標記為“短期參考圖像”或“長期參考圖像”,短期的解碼參考圖像用frame_num值進行標記。
如上例所示,對于圖像序列號(POC)為2(2m+1)的每個幀/圖像來說,其增強層和基本層的RPLR命令是不同的。在層間預測期間,當對應于具有相同圖像序列號(POC)(或相同顯示時間)的輸入幀的、增強層幀的ref_idx_lx值和基本層幀的ref_idx_lx的值相等時,基本層參考圖像列表和增強層參考圖像列表需要相互匹配。圖像通常也指幀。
本發明的示例實施例是參照附圖加以描述的,其中 圖1示出了圖像組(GOP)大小為16時,基本層幀和增強層幀的時間層次;以及 圖2示出了參考圖像列表的層間預測。
具體實施例方式 下面的例子(對比圖1)首先示出了常規編碼/解碼方法。基本層幀頻為15Hz,增強層幀頻為30Hz。圖像組(group of picture,GOP)大小等于16。
表1基本層幀 表2增強層幀 如果用POC來指示基本層圖像的參考圖像列表,那么,當POC等于6時,RefPicList0為{4,0},RefPicList1為{8,12,16},見圖1,幀6把幀0和幀4作為在其前顯示的(前向預測的)可能的參考幀(即,低時間層次上的圖像),把幀8,幀12,幀16做為在其后顯示(后向預測)的可能的參考幀。但是,如果用frame_num值來指示參考圖像列表,則如表1中所列,RefPicList0為{3,0}(例如,POC=4時frame_num=3),RefPicList1為{2,4,1}。POC=6時,當前的frame_num值為5。
list_0(基本層)的RPLR命令為 這表示當前的frame_num=5時,所傳輸/接收的兩個值為reordering_of_pic_nums_idc類型=0,值=1。由此,解碼器可以推導出下一個frame_num值是3,即,POC=4(見表1)。同理,當前frame_num=3時的一對數值為reordering_of_pic_nums_idc類型=0和值=2,其表示,下一個frame_num為0.下一個reordering_of_pic_nums_idc類型為3,其表示,已完成了對參考圖像列表進行重排序的循環(對比H.264中的表7-4)。因此,如圖2所示,幀6的前向參考幀是幀4和幀0(用它們的POC表示)。
list_1(基本層)的RPLR命令為 POC=6的增強層圖像(見表2)的列表和基本層的列表相同(當用POC指示時)RefPicList0={4,0},RefPicList1={8,12,16}.如果用frame_num值來指示,則RefPicList0為{3,0},RefPicList1為{2,4,1}。但是,對于POC=6的增強層,其當前的frame_num值為6(而在基層上為5)。因此,需采取不同的方法來構造參考幀列表/參考圖像列表,且需要為每一個幀傳送所有的RPLR命令。
list_0(增強層)的RPLR命令為 list_1(增強層)的RPLR命令為 因此,所有這些RPLR命令都很復雜,而且增強層和基本層需要采用不同的RPLR命令。本發明中的方案是通過基本層參考圖像列表來預測增強層的參考圖像列表。因而,通過參照POC值,而非frame_num值,則可以使參考圖像列表的構造更為簡單,并且可以節省比特數。本發明的一個方面,是向條帶頭(slice header)引入一個表示所述預測的標記。該標記僅需要為空間增強層使用一個簡單的參考圖像列表的構造方法。
本發明的另一方面,提供了一種對具有一個第一空間低層或基本層、和至少一個第二空間高層或增強層的視頻圖像進行編碼的方法,其中幀是根據參考幀預測或雙向預測,該方法包括通過參照第一層的參考幀來指示第二層的參考幀。
進一步地,該方法是把指示或標記包含在信號中,用于表明,第二層繼承了第一層的參考圖像列表。
本發明的另一方面,提供了一種對具有一個第一空間低層或基本層、和至少一個第二空間高層或增強層的視頻圖像進行解碼的方法,其中,幀是根據參考幀預測的或雙向預測的,該方法包括通過評估第一層的參考幀列表來確定第二層的參考幀。
進一步地,該解碼方法是在解碼過程中檢測指示,其中,僅基于所述檢測步驟就可以確定第二層的參考幀。
該編碼或解碼方法進一步明確了,該指示指向一個圖像的條帶(slice)。
進一步地,該解碼方法是,在進行了數據丟失檢測之后,根據空間低層的參考圖像列表來重構空間高層的丟失的參考圖像列表。
一個對應的視頻編碼設備包括一個用于執行該編碼方法的裝置。
一個對應的視頻解碼設備包括一個用于執行該解碼方法的裝置。
一個對應的視頻信號包括一個第一空間低層或基本層、和至少一個第二空間高層或增強層,這兩層包括預測的和/或雙向預測的幀以及各參考幀的指示,其中,第二層圖像的參考幀的指示表明了第一層圖像的參考幀將被再利用。
所述視頻信號進一步明確了,該指示指向一個圖像的條帶。
用于構造參考圖像列表的語法 基于以上的原理,提供了一個關于空間增強層的RPLR命令的方案。一個實施例中,在一個條帶頭語法中嵌入一個標記(如JVT-Q201的G.7.3.3條款中所限定的),進而引入一個新的處理方法。該方法中,先生成一些參考圖像列表的大小,然后再根據基本層參考圖像列表生成這些參考圖像列表,如果把標記設為“真”,則不使用如JVT-Q201的G.8.2.4.3條款“參考圖像列表重排序方法”中所規定的RPLR命令。這樣,就可以跳過以上命令,從而降低傳輸數據量、并且簡化編碼器和解碼器中的操作。
通過這一修改,該JSVM解碼器能夠輕易地構造本來應由RPLR命令提供的參考圖像列表。
雖然目前來說,該JSVM解碼器提供了一個默認的參考圖像列表初始化方法,而且該默認方法對應于由必要的RPLR命令生成的基本層參考圖像列表,但是,如G.8.2.4.2.1中所述,以后該解碼方法將會和基本層的解碼方法相同。該圖像的語法元素temporal_level值等于或小于當前圖像的語法元素temporal_level值。
因此,雖然我們已知RPLR的效果,但是,通常情況下,要想支持層間(inter layer)預測的良好效果,增強層必須基于基本層參考圖像列表使用RPLR來調整自身的參考圖像列表。新提出的方案是一個更好的方法,它提供了相同的參考圖像列表,相同的信號-噪音功率比(PSNR),且節省了RPLR的比特數,省時省力。如果每個幀都被編碼成很多條帶,其優勢也就增強了。一個幀包含的條帶越多,節省的比特數也越多,也更省力。
語法修改 通過小的語法修改,可以在JVT中示例性地應用所提出的構造參考圖像列表的方法,如表3,其示出了在可伸縮范圍內的條帶頭。
在表中插入第46-48行,即使用了標記“ref_pic_list_inherit_flag”,則很多幀都可以跳過接下來第49-57行中的傳統操作,包括傳統的RPLR(第57行的ref_pic_list_reordering())。
可以明確的是,通過修改語法,能夠節省參考圖像列表大小的比特數,且省略了ref_pic_list_reordering語法,這是因為,如果把ref_pic_list_inherit_flag設為“真”(見表3中的第48行),那么就可以跳過上述語法部分。
表3可伸縮范圍內條帶的頭部 表3(續) 表3(續) 語義修改 ref_pic_list_inherit_flag只能用于增強層的P條帶和B條帶(EP條帶和EB條帶) ref_pic_list_inherit_flag等于0時,則表示,寫入 num_ref_idx_active_override_flag,num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1和ref_pic_list_reordering()語法,并使用與其相關的解碼方法。
ref_pic_list_inherit_flag等于1時,則表示,不寫入 num_ref_idx_active_override_flag,num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1和ref_pic_list_reordering()語法。當前條帶的num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1與低空間層條帶的值相同,且調用新的參考圖像列表構造方法來替代參考圖像列表初始化方法,也可能替代RPLR方法。
構造空間增強層中的參考圖像列表時所使用的解碼方法 如果增強層的ref_pic_list_inherit_flag值為真,則調用新的解碼方法,所使用的方法如下 針對P條帶或B條帶,使用基本層參考列表list_0來構造當前增強層的列表list_0. 針對B條帶,同樣使用基本層參考列表list_1來構造當前增強層的列表list_1。
假設我們具有一個條帶,其對應的基本層列表list_X是由LxB={f0,f1,...,fn}構成的,并且我們需要構造增強層的有序列表list_X,LxE。目前我們具有一個備用增強層列表LE,其將被用來組成當前增強層條帶的參考圖像列表。列表LE通常是由短期列表和長期列表中的項組成的。那么,列表LxE(初始化為空)的生成方法則如下所述 for(i=0;i<=n;i++) { 得出
,使得fEi和fi具有相同的POC數值 把fEi插入參考圖像列表LxE } 該方法簡單直接,恰好是層間預測中所需要的。該方法產生的結果與在空間增強層中的傳統的強制RPLR命令所產生的結果相同,但所使用的數據更少、方法更簡單。該方法優于第一參考圖像列表初始化方法加上RPLR方法。
圖2示出了另一實例,其中兩個空間層具有不同的幀頻。輸入的圖像組大小為8,基本層幀頻是增強層幀頻的一半。假設我們具有基本層參考圖像列表list_0且希望構造增強層的參考圖像列表list_0。那么,我們應該把第一參考圖像設為幀4(用POC表示時),把第二參考圖像設為幀0。上述操作可以由RPLR實現。然而,基于基本層列表list_0中的參考圖像的POC值,我們就可以輕易地構造增強層的參考列表list_0。
構造隔行伸縮圖像的空間增強層參考圖像列表中所使用的解碼方法 這里介紹的語法,還可以延伸到圖像級自適應幀場(picture adaptiveframe field,PAFF)編碼。此處,給出了基層和增強層都是場編碼時,隔行情況下的解碼方法。而在編碼器中生成RPLR命令則是更為復雜的。
假設我們具有一個條帶,其對應的基層列表list_X是由有序字段列表LxB={f0,f1,...,fn}組成的,同時我們需要構造有序增強層列表list_X LxE。現在具有用于構成當前增強層條帶的參考圖像列表的備用增強層列表LE。通常列表LE由從短期列表和長期列表生成的字段構成。那么,列表LxE的生成方法則如下所述 for(i=0;i<=n;i++) { 得出
,使得fEi和fi具有相同的POC數值和同奇偶性; 在參考圖像列表LxE中插入fEi } 在列表LxE,LxB,LE中的項(fi)是字段。
用于差錯隱藏的解碼方法 所提出的參考圖像列表的構造方法還可以用于構造空間增強層中一個丟失包(差錯隱藏)的參考圖像列表。
如JVT-Q046(Chen Ying,Jill Boyce,Xie Kai“Frame Loss ErrorConcealment for SVC”,JVT-Q046,JVT of ISO/IEC MPEG & ITU-T VCEG,Nice,Oct.2005)中所限定的,一種BLSkip差錯隱藏方法被引入到JSVM中,且其在所有提出的方法中效果最好。如果空間增強層包丟失,該方法可借助于對應的基本層的運動信息。該方法還適用于多參考圖像的情況,這是因為當前的JSVM解碼器提供了一種使增強層參考圖像列表和基本層參考圖像列表相匹配的默認方法,而事實上增強層像基本層一樣不使用RPLR。在實施差錯隱藏過程中,只有關鍵圖像需要考慮RPLR事宜,從而確保增強層中一個丟失的關鍵圖像可以參照前一關鍵圖像。
但是,如JVT-Q201的G.8.2.4.2.1中所定義的,用來確保用于非關鍵圖像的上述默認方法的限制被移除,并且初始化方法與AVC中的方法相同。
為了進行準確的BLSkip差錯隱藏,后來的JSVM版本需要為空間增強層丟失的包生成虛擬RPLR命令。但是,如上所述,不同空間層的RPLR命令是不同的,所以基于所接收到的基本層的RPLR命令并不能直接預測到丟失的增強層的RPLR的R命令。這是因為兩個層中的參考圖像列表的核心關系是基于POC數值。
通過限定一個構造參考圖像列表的新方法,可更容易確保為空間增強層的丟失包所構造的參考圖像列表與對應的基本層的參考圖像列表相匹配,從而也可確保良好的BLSkip差錯隱藏。
本發明可應用于視頻編碼和/或視頻解碼,其最適用于空間可伸縮性視頻,尤其是在基本層和增強層具有不同的時間分辨率的時候。
權利要求
1.一種用于對具有一個第一空間低層(基本層)和至少一個第二空間高層(增強層)的視頻圖像進行編碼的方法,其中,層內預測是用來通過同一層的一個或多個參考圖像來預測(P幀,B幀)第一層(基本層)和第二層(增強層)中的圖像,而且,其中使用了參考圖像列表,該方法包括以下步驟
-基于第一層中對應圖像的參考圖像列表,生成第二層中一個圖像的參考圖像列表
-生成一個指示(ref_pic_list_inherit_flag),所述指示用于表明由第一層中對應圖像的參考圖像列表可以和/或如何推斷出第二層中所述圖像的參考圖像列表;以及
-把所述指示與其相關的第二層(增強層)的編碼圖像聯系起來。
2.如權利要求1所述的方法,其中,(ref_pic_list_inherit_flag)包含在信號中,用于表明第二層繼承了第一層的參考圖像列表。
3.一種用于對具有一個第一空間低層(基本層)和至少一個第二空間高層(增強層)的視頻圖像進行解碼的方法,其中,第二層(增強層)中的一個圖像在第一層(基本層)中具有一個對應圖像,且由所述第二層(增強層)中的一個或多個參考圖像進行預測(P幀,B幀),該方法包括以下步驟
-檢測一個指示(ref_pic_list_inherit_flag),該指示用于表明由第一層中對應圖像的參考圖像列表可以和/或如何推斷出第二層中一個圖像的參考圖像列表;以及
-根據第一層中對應圖像的參考圖像列表,生成或預測第二層中所述圖像的參考圖像列表。
4.如權利要求3所述的方法,其中,在解碼期間檢測出一個指示(ref_pic_list_inherit_flag),而且其中,基于所述檢測步驟來執行所述第二層中參考圖像列表的生成或預測步驟。
5.如權利要求2或4所述的方法,其中,該指示指向圖像的條帶。
6.如權利要求3至5的任一項所述的視頻圖像的解碼方法,其中,在進行了數據丟失檢測之后,根據空間低層中的參考圖像列表來重新重構空間高層中的丟失的參考圖像列表。
7.如前述任一項權利要求所述的方法,其中,低空間層的時間分辨率低于高空間層的時間分辨率。
8.一種對具有一個第一空間低層(基本層)和至少一個第二空間高層(增強層)的視頻圖像進行編碼的設備,其中,層內預測是用來通過同一層的一個或多個參考圖像來預測(P幀,B幀)第一層(基本層)和第二層(增強層)中的圖像,并且,其中使用了參考圖像列表,該設備包括
-基于第一層中對應圖像的參考圖像列表來生成第二層中圖像的參考圖像列表的裝置;
-用于生成指示(ref_pic_list_inherit_flag)的裝置,所述指示用于表明由第一層中對應圖像的參考圖像列表可以和/或如何推斷出第二層中所述圖像的參考圖像列表;以及
-用于把所述指示與其相關的第二層(增強層)中的編碼圖像聯系起來的裝置。
9.一種對具有一個第一空間低層(基本層)和至少一個第二空間高層(增強層)的視頻圖像進行解碼的設備,其中,第二層(增強層)中的一個圖像在第一層(基本層)中具有一個對應圖像,且由所述第二層(增強層)中的一個或多個參考圖像進行預測(P幀,B幀),該設備包括
-用于檢測指示(ref_pic_list_inherit_flag)的裝置,所述指示用于表明可以和/或如何由第一層中對應圖像的參考圖像列表推斷出第二層中所述圖像的參考圖像列表;以及
-用于根據第一層中對應圖像的參考圖像列表來生成或預測第二層中所述圖像的參考圖像列表的裝置。
10.一種包括一個第一空間低層(基本層)和至少一個第二空間高層(增強層)的視頻信號,包括預測的(P幀)和雙向預測的(B幀)的圖像,以及各個參考圖像的指示,其中,第二層圖像的參考圖像的指示表明了第一層圖像的參考圖像將被再利用。
11.如權利要求10所述的視頻信號,其中,該指示指向圖像的條帶。
12.如權利要求10或11所述的視頻信號,其中,低空間層的時間分辨率低于高空間層的時間分辨率。
全文摘要
視頻編碼中,基于參考幀進行P幀和B幀預測,該參考幀用參考圖像列表表示。可伸縮視頻編碼(SVC)中,基本層和增強層都需要進行預測。本發明描述了一種在構造空間增強層的參考圖像列表時所使用的解碼方法。僅通過修改一個語法標記,本發明提供了一個更簡單、直接的參考圖像列表的構造方法。通過使用該方法,可以跳過復雜的參考圖像列表重排序語法以及其他語法,也可以避免在空間增強層使用參考圖像列表重排序方法。當空間增強層的條帶丟失時,該方法還可以用來進行差錯隱藏。
文檔編號H04N7/68GK101356822SQ200680050517
公開日2009年1月28日 申請日期2006年12月5日 優先權日2006年1月10日
發明者穎 陳, 愛德華·弗朗索瓦, 凱 謝 申請人:湯姆遜許可公司