技術領域
本發明涉及運動圖像編碼方法及運動圖像解碼方法。
背景技術:
在運動圖像編碼處理中,通常利用運動圖像所具有的空間方向及時間方向的冗余性來進行信息量的壓縮。在此,作為利用空間方向的冗余性的方法,通常使用向頻域的變換。此外,作為利用時間方向的冗余性的方法,使用圖片間預測(以后稱為“幀間預測”)編碼處理。在幀間預測編碼處理中,對某圖片進行編碼時,將相對于編碼對象圖片在顯示時間順序上位于前方或后方的已編碼的圖片作為參照圖片使用。然后,通過編碼對象圖片相對于對該參照圖片的運動檢測,導出運動矢量。然后,計算基于導出的運動矢量進行運動補償而得到的預測圖像數據與編碼對象圖片的圖像數據之間的差分,從而除去時間方向的冗余性(例如參照非專利文獻1)。在此,在運動檢測中,計算編碼圖片內的編碼對象塊與參照圖片內的塊之間的差分值,將差分值最小的參照圖片內的塊決定為參照塊。然后,使用編碼對象塊和參照塊檢測運動矢量。
在先技術文獻
非專利文獻
非專利文獻1:ITU-T Recommendation H.264“Advanced video coding for generic audiovisual services”,2010年3月
非專利文獻2:JCT-VC,“WD3:Working Draft 3of High-Efficiency Video Coding”,JCTVC-E603,March 2011.
發明的概要
發明所要解決的課題
但是,在上述以往的技術中,在使用幀間預測的圖像編碼及解碼中,希望提高容錯性。
技術實現要素:
因此,本發明的目的在于,提供一種圖像編碼方法及圖像解碼方法,在使用幀間預測的圖像編碼及解碼中,能夠提高容錯性。
解決課題所采用的手段
本發明的一個方式的圖像解碼方法,按每個塊對編碼比特流中包含的圖像數據進行解碼,包括以下步驟:合并候選取得步驟,對應于取得2以上的固定數量的合并候選的情況,該合并候選是在解碼對象塊的解碼中參照的預測方向編號、運動矢量及參照圖片索引的候選;索引取得步驟,從所述編碼比特流取得下述索引,該索引用于從所述2以上的固定數量的合并候選中確定在所述解碼對象塊的解碼中參照的合并候選;以及解碼步驟,使用所取得的所述索引來確定所述合并候選,使用所確定的所述合并候選將所述解碼對象塊解碼;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述解碼對象塊在空間上或時間上相鄰的相鄰塊的解碼中使用的預測方向編號、運動矢量及參照圖片索引而被導出,該第二候選具有預先決定的固定值,所述至少1個第二候選具有:具有第一固定值的運動矢量、以及具有第二固定值的參照圖片索引,所述2以上的固定數量在包含所述解碼對象塊的切片中固定。
本發明的一個方式的圖像編碼方法,按每個塊對圖像進行編碼從而生成編碼比特流,包括以下步驟:合并候選取得步驟,對應于取得2以上的固定數量的合并候選的情況,該合并候選是在編碼對象塊的編碼中參照的預測方向編號、運動矢量及參照圖片索引的候選;以及編碼步驟,將下述索引附加到所述編碼比特流中,該索引用于從所述2以上的固定數量的合并候選中確定在所述編碼對象塊的編碼中參照的所述合并候選;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述編碼對象塊在空間上或時間上相鄰的相鄰塊的編碼中使用的預測方向編號、運動矢量及參照圖片索引而被導出,該第二候選具有預先決定的固定值,所述至少1個第二候選具有:具有第一固定值的運動矢量、以及具有第二固定值的參照圖片索引,所述2以上的固定數量在包含所述編碼對象塊的切片中固定。
本發明的一個方式的圖像解碼裝置,按每個塊對編碼比特流中包含的圖像數據進行解碼,該圖像解碼裝置具備:合并候選取得部,對應于取得2以上的固定數量的合并候選的情況,該合并候選是在解碼對象塊的解碼中參照的預測方向編號、運動矢量及參照圖片索引的候選;索引取得部,從所述編碼比特流取得下述索引,該索引用于從所述2以上的固定數量的合并候選中確定在所述解碼對象塊的解碼中參照的合并候選;以及解碼部,使用所取得的所述索引來確定所述合并候選,使用所確定的所述合并候選將所述解碼對象塊解碼;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述解碼對象塊在空間上或時間上相鄰的相鄰塊的解碼中使用的預測方向編號、運動矢量及參照圖片索引而被導出,該第二候選具有預先決定的固定值,所述至少1個第二候選具有:具有第一固定值的運動矢量、以及具有第二固定值的參照圖片索引,所述2以上的固定數量在包含所述解碼對象塊的切片中固定。
本發明的一個方式的圖像編碼裝置,按每個塊對圖像進行編碼從而生成編碼比特流,該圖像編碼裝置具備:合并候選取得部,對應于取得2以上的固定數量的合并候選的情況,該合并候選是在編碼對象塊的編碼中參照的預測方向編號、運動矢量及參照圖片索引的候選;以及編碼部,將下述索引附加到所述編碼比特流中,該索引用于從所述2以上的固定數量的合并候選中確定在所述編碼對象塊的編碼中參照的所述合并候選;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述編碼對象塊在空間上或時間上相鄰的相鄰塊的編碼中使用的預測方向編號、運動矢量及參照圖片索引而被導出,該第二候選具有預先決定的固定值,所述至少1個第二候選具有:具有第一固定值的運動矢量、以及具有第二固定值的參照圖片索引,所述2以上的固定數量在包含所述編碼對象塊的切片中固定。
本發明的一個方式的圖像編解碼裝置,具備上述的圖像解碼裝置以及上述的圖像編碼裝置。
另外,這些整體或具體的方式可以通過系統、方法、集成電路、計算機程序或計算機可讀取的CD-ROM(Compact Disc Read Only Memory)等記錄介質來實現,也可以通過系統、方法、集成電路、計算機程序及記錄介質的任意組合來實現。
發明效果
根據本發明的一個方式,在使用幀間預測的圖像編碼及解碼中,能夠提高容錯性。
附圖說明
圖1A是用于說明B圖片中的參照圖片列表的一例的圖。
圖1B是表示B圖片中的預測方向0的參照圖片列表的一例的圖。
圖1C是表示B圖片中的預測方向1的參照圖片列表的一例的圖。
圖2是用于說明時間預測運動矢量模式中的運動矢量的圖。
圖3是表示在合并模式中使用的相鄰塊的運動矢量的一例的圖。
圖4是用于說明合并塊候選列表的一例的圖。
圖5是表示合并塊候選尺寸與對合并塊索引分配的比特串之間的關系的圖。
圖6是表示使用合并模式的情況下的編碼處理的一例的流程圖。
圖7是表示圖像編碼裝置的構成的模塊圖。
圖8是表示使用合并模式的情況下的解碼處理的流程圖。
圖9是表示圖像解碼裝置的構成的模塊圖。
圖10是表示將合并塊索引附加于編碼比特流時的語法的圖。
圖11是表示實施方式1的圖像編碼裝置的構成的模塊圖。
圖12是表示實施方式1的圖像編碼裝置的處理動作的流程圖。
圖13A是表示實施方式1中的合并塊候選列表的一例的圖。
圖13B是表示實施方式的變形例中的合并塊候選列表的一例的圖。
圖13C是表示實施方式的變形例中的合并塊候選列表的一例的圖。
圖14A是表示實施方式1中的合并塊候選及合并塊候選列表尺寸的計算處理的流程圖。
圖14B是表示實施方式的變形例中的合并塊候選及合并塊候選列表尺寸的計算處理的流程圖。
圖14C是表示實施方式的變形例中的合并塊候選及合并塊候選列表尺寸的計算處理的流程圖。
圖15A是表示實施方式1中的判定合并塊候選是否為可合并候選、并更新可合并候選數的處理的流程圖。
圖15B是表示實施方式的變形例中的判定合并塊候選是否為可合并候選、并更新可合并候選數的處理的流程圖。
圖16是表示實施方式1中的新候選的追加處理的流程圖。
圖17是表示實施方式的變形例中的第二候選的追加處理的流程圖。
圖18是表示實施方式1中的與合并塊候選的選擇有關的處理的流程圖。
圖19是表示實施方式2的圖像解碼裝置的構成的模塊圖。
圖20是表示實施方式2的圖像解碼裝置的處理動作的流程圖。
圖21是表示實施方式2中的判定合并塊候選是否為可合并候選、并更新可合并候選數的處理的流程圖。
圖22是表示實施方式2中的生成合并塊候選列表的處理的流程圖。
圖23是表示將合并塊索引附加于編碼比特流時的語法的一例的圖。
圖24是表示將合并塊候選列表尺寸固定為合并塊候選數的最大值的情況下的語法的一例的圖。
圖25是實現內容分發服務的內容供給系統的整體結構圖。
圖26是數字廣播用系統的整體結構圖。
圖27是表示電視機的結構例的模塊圖。
圖28是表示對作為光盤的記錄介質進行信息的讀寫的信息再現/記錄部的結構例的模塊圖。
圖29是表示作為光盤的記錄介質的構造例的圖。
圖30A是表示便攜電話的一例的圖。
圖30B是表示便攜電話的結構例的模塊圖。
圖31是表示復用數據的結構的圖。
圖32是示意地表示各流在復用數據中怎樣被復用的圖。
圖33是更詳細地表示在PES包序列中視頻流怎樣被保存的圖。
圖34是表示復用數據的TS包和源包的構造的圖。
圖35是表示PMT的數據結構的圖。
圖36是表示復用數據信息的內部結構的圖。
圖37是表示流屬性信息的內部結構的圖。
圖38是表示識別影像數據的步驟的圖。
圖39是表示實現各實施方式的運動圖像編碼方法及運動圖像解碼方法的集成電路的結構例的模塊圖。
圖40是表示切換驅動頻率的結構的圖。
圖41是表示識別影像數據、切換驅動頻率的步驟的圖。
圖42是表示將影像數據的標準與驅動頻率建立了對應的查找表的一例的圖。
圖43A是表示將信號處理部的模塊共用的結構的一例的圖。
圖43B是表示將信號處理部的模塊共用的結構的另一例的圖。
具體實施方式
(本發明的基礎知識)
在已經標準化的被稱為H.264的運動圖像編碼方式中,為了進行信息量的壓縮,使用I圖片、P圖片、B圖片這3種圖片類型。
I圖片在幀間預測編碼處理中不被編碼。即,I圖片在圖片內預測(以后稱為“幀內預測”)編碼處理中被編碼。P圖片參照按照顯示時間順序位于編碼對象圖片的前方或后方的已編碼的1個圖片來進行幀間預測編碼。B圖片參照按照顯示時間順序位于編碼對象圖片的前方或后方的已編碼的2個圖片來進行幀間預測編碼。
在幀間預測編碼中,生成用于確定參照圖片的參照圖片列表。參照圖片列表是對幀間預測中參照的已編碼的參照圖片分配參照圖片索引而成的列表。例如,在B圖片中能夠參照2個圖片進行編碼,所以生成2個參照圖片列表(L0、L1)。
圖1A是用于說明B圖片中的參照圖片列表的一例的圖。圖1B表示雙向預測中的預測方向0的參照圖片列表0(L0)的一例。在此,在參照圖片列表0中,參照圖片索引0的值0被分配給顯示順序2的參照圖片0。此外,參照圖片索引0的值1被分配給顯示順序1的參照圖片1。此外,參照圖片索引0的值2被分配給顯示順序0的參照圖片2。即,相對于編碼對象圖片,按照顯示順序越是時間上接近的參照圖片,則分配具有越小的值的參照圖片索引。
另一方面,圖1C表示雙向預測中的預測方向1的參照圖片列表1(L1)的一例。在此,在參照圖片列表1中,參照圖片索引1的值0被分配給顯示順序1的參照圖片1。此外,參照圖片索引1的值1被分配給顯示順序2的參照圖片0。此外,參照圖片索引1的值2被分配給顯示順序0的參照圖片2。
這樣,能夠對各參照圖片分配每個預測方向上不同的參照圖片索引的值(圖1A的參照圖片0、1)或分配相同的參照圖片索引的值(圖1A的參照圖片2)。
此外,在被稱為H.264的運動圖像編碼方式(非專利文獻1)中,作為B圖片中的各編碼對象塊的幀間預測的編碼模式,使用運動矢量檢測模式。在運動矢量檢測模式中,對預測圖像數據與編碼對象塊的圖像數據的差分值以及在預測圖像數據生成中使用的運動矢量進行編碼。此外,在運動矢量檢測模式中,作為預測方向,能夠選擇雙向預測和單向預測。在雙向預測中,參照位于編碼對象圖片的前方或后方的已編碼的2個圖片來生成預測圖像。在單向預測中,參照位于前方或后方的已編碼的1個圖片來生成預測圖像。
此外,在被稱為H.264的運動圖像編碼方式中,在B圖片的編碼中,在導出運動矢量時,能夠選擇被稱為時間預測運動矢量模式的編碼模式。使用圖2說明時間預測運動矢量模式中的幀間預測編碼方法。圖2是用于說明時間預測運動矢量模式中的運動矢量的圖。具體地說,圖2表示以時間預測運動矢量模式對圖片B2的塊a進行編碼的情況。
在此,利用位于圖片B2的后方的參照圖片即圖片P3內的、位于與塊a相同位置的塊b(以下稱為“co-located(相同位置)塊”)的編碼所使用的運動矢量vb。運動矢量vb是參照圖片P1而將塊b編碼時所使用的運動矢量。
使用平行于運動矢量vb的運動矢量,從作為前方參照圖片的圖片P1和作為后方參照圖片的圖片P3取得用于塊a的2個參照塊。然后,基于取得的2個參照塊進行2方向預測,從而將塊a編碼。即,對塊a進行編碼時所使用的運動矢量,對圖片P1來說是運動矢量va1,對圖片P3來說是運動矢量va2。
此外,作為B圖片或P圖片中的各編碼對象塊的幀間預測模式,討論了合并模式(非專利文獻2)。在合并模式中,將編碼對象塊的相鄰塊的編碼中使用的預測方向、運動矢量及參照圖片索引拷貝而進行編碼對象塊的編碼。這時,在拷貝時使用的相鄰塊的索引等被附加到編碼比特流(以下適當地簡稱為“比特流”)中。由此,能夠在解碼側選擇編碼時使用的運動方向、運動矢量及參照圖片索引。參照圖3說明具體例。
圖3是表示在合并模式中使用的相鄰塊的運動矢量的一例的圖。在圖3中,相鄰塊A是編碼對象塊的左相鄰的已編碼塊。相鄰塊B是編碼對象塊的上相鄰的已編碼塊。相鄰塊C是編碼對象塊的右上相鄰的已編碼塊。相鄰塊D是編碼對象塊的左下相鄰的已編碼塊。
此外,相鄰塊A是通過預測方向0的單向預測被編碼的塊。相鄰塊A具有預測方向0的運動矢量MvL0_A作為相對于預測方向0的參照圖片索引RefL0_A所示的參照圖片的運動矢量。在此,MvL0表示參照由參照圖片列表0(L0)確定的參照圖片的運動矢量。此外,MvL1表示參照由參照圖片列表1(L1)確定的參照圖片的運動矢量。
此外,相鄰塊B是通過預測方向1的單向預測而被編碼的塊。相鄰塊B具有預測方向1的運動矢量MvL1_B作為相對于預測方向1的參照圖片索引RefL1_B所示的參照圖片的運動矢量。
此外,相鄰塊C是通過幀內預測被編碼的塊。
此外,相鄰塊D是通過預測方向0的單向預測被編碼的塊。相鄰塊D具有預測方向0的運動矢量MvL0_D作為相對于預測方向0的參照圖片索引RefL0_D所示的參照圖片的運動矢量。
這種情況下,例如在相鄰塊A~D的預測方向、運動矢量及參照圖片索引、以及使用co-located塊求出的時間預測運動矢量模式下的預測方向、運動矢量及參照圖片索引中,選擇編碼效率最高者作為編碼對象塊的預測方向、運動矢量及參照圖片索引。然后,將合并塊索引附加到比特流中,該合并塊索引表示所選擇的預測方向、運動矢量及參照圖片索引的塊。
例如在選擇了相鄰塊A的情況下,編碼對象塊使用預測方向0的運動矢量MvL0_A及參照圖片索引RefL0_A而被編碼。然后,僅將表示使用圖4所示的相鄰塊A的合并塊索引的值0附加到比特流中。由此,能夠削減預測方向、運動矢量及參照圖片索引的信息量。
此外,如圖4所示,在合并模式中,將無法在編碼中使用的候選(以下稱為“不可合并候選”)或者預測方向、運動矢量及參照圖片索引的組合相互一致的候選(以下稱為“重復候選”)從合并塊候選刪除。
這樣,通過削減合并塊候選數,削減對合并塊索引分配的碼量。在此,無法合并指的是,合并塊候選是(1)通過幀內預測被編碼的塊、(2)包含編碼對象塊的切片或圖片邊界外的塊、或(3)尚未編碼的塊等。
在圖4的例中,相鄰塊C通過幀內預測被編碼。因此,合并塊索引3的合并塊候選是不可合并候選,從合并塊候選列表刪除。此外,相鄰塊D與相鄰塊A的預測方向、運動矢量及參照圖片索引一致。因此,將合并塊索引4的合并塊候選從合并塊候選列表刪除。其結果,最終合并塊候選數成為3,合并塊候選列表的列表尺寸被設定為3。
如圖5所示,根據合并塊候選列表尺寸的大小,對合并塊索引分配比特串并進行可變長度編碼。這樣,在合并模式中,根據合并塊候選列表尺寸的大小使對合并模式索引分配的比特串變化,從而削減碼量。
圖6是表示使用合并模式的情況下的編碼處理的一例的流程圖。在步驟S1001中,從相鄰塊及co-located塊取得合并塊候選的運動矢量、參照圖片索引及預測方向。在步驟S1002中,從合并塊候選將重復候選及不可合并候選刪除。在步驟S1003中,將刪除處理后的合并塊候選數設定為合并塊候選列表尺寸。在步驟S1004中,決定在編碼對象塊的編碼中使用的合并塊索引。在步驟S1005中,使用由合并塊候選列表尺寸決定的比特串對決定的合并塊索引進行可變長度編碼。
圖7是表示使用合并模式的情況下的圖像編碼裝置的一例的模塊圖。在圖7中,合并塊候選計算部導出合并塊候選列表(步驟S1001、S1002),并將合并塊候選數發送給可變長度編碼部。可變長度編碼部將合并塊候選數設定為合并塊候選列表尺寸(步驟S1003)。進而,可變長度編碼部決定在編碼對象塊的編碼中使用的合并塊索引(步驟S1004)。進而,可變長度編碼部使用與合并塊候選列表尺寸相應的比特串,對所決定的合并塊索引進行可變長度編碼(步驟S1005)。
圖8是表示使用合并模式的情況下的解碼處理的一例的流程圖。在步驟S2001中,從相鄰塊及co-located塊取得合并塊候選的運動矢量、參照圖片索引及預測方向。在步驟S2002中,從合并塊候選將重復候選及不可合并候選刪除。在步驟S2003中,將刪除處理后的合并塊候選數設定為合并塊候選列表尺寸。在步驟S2004中,使用合并塊候選列表尺寸,從比特流將在解碼對象塊的解碼中使用的合并塊索引解碼。在步驟S2005中,使用解碼后的合并塊索引所示的合并塊候選,生成預測圖像并進行解碼處理。
圖9是表示使用合并模式的情況下的圖像解碼裝置的一例的模塊圖。在圖9中,合并塊候選計算部導出合并塊候選列表(步驟S2001、步驟S2002),并將合并塊候選數發送給可變長度解碼部。可變長度解碼部將合并塊候選數設定為合并塊候選列表尺寸(步驟S2003)。進而,可變長度解碼部使用合并塊候選列表尺寸,從比特流將在解碼對象塊的解碼中使用的合并塊索引解碼(步驟S2004)。
圖10表示將合并塊索引附加于比特流時的語法。在圖10中,merge_idx表示合并塊索引。merge_flag表示合并標志。NumMergeCand表示合并塊候選列表尺寸。在該NumMergeCand中,設定了從合并塊候選將不可合并候選及重復候選刪除后的合并塊候選數。
如以上那樣,使用合并模式對圖像進行編碼或解碼。
如上述那樣,在以往的合并模式中,使用包含co-located塊等的參照圖片信息將不可合并候選及重復候選刪除而導出合并塊候選列表。然后,將刪除后的合并塊候選列表的合并塊候選數設定為合并塊候選列表尺寸。因此,在圖像編碼裝置和圖像解碼裝置中發生合并塊候選數不一致的情況下等,在圖像編碼裝置和圖像解碼裝置中對合并塊索引分配的比特串發生不一致,產生無法將比特流正確解碼的問題。
例如,由于在傳送路等中發生的丟包等而丟失了作為co-located塊參照的參照圖片的信息的情況下,co-located塊的運動矢量及參照圖片索引不確定,所以從co-located塊生成的合并塊候選的信息不確定。這樣,在解碼時無法從合并塊候選將不可合并候選及重復候選正確地刪除,無法正確地求出合并塊候選列表尺寸,無法將合并塊索引正常地解碼。
另外,對于上述問題,考慮將合并塊候選列表尺寸固定。如果將合并塊候選列表尺寸固定,則不需要求出合并塊候選列表尺寸。
但是,如果將合并塊候選列表尺寸固定,從空間上相鄰的塊導出的候選(除去重復候選之外的可合并候選)及從時間上相鄰的塊(co-located塊)導出的候選(第一候選)的總數為合并塊候選列表尺寸以下的情況下,在合并塊候選列表中產生空要素。這種情況下存在以下問題:在圖像解碼裝置中由于發生錯誤等而參照了空要素的情況下,可能會執行預期之外的動作。
因此,本發明的一個方式的圖像解碼方法,是按每個塊對編碼比特流中包含的圖像數據進行解碼的圖像解碼方法,包括以下步驟:合并候選取得步驟,取得2以上的固定數量的合并候選,該合并候選是在解碼對象塊的解碼中參照的預測方向、運動矢量及參照圖片索引的候選;索引取得步驟,從所述編碼比特流取得用于從所述2以上的固定數量的合并候選中確定在所述解碼對象塊的解碼中參照的合并候選的索引;以及解碼步驟,使用取得的所述索引來確定所述合并候選,使用確定的所述合并候選將所述解碼對象塊解碼;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述解碼對象塊在空間上或時間上相鄰的相鄰塊的解碼中使用的預測方向、運動矢量及參照圖片索引而被導出,該第二候選具有預先決定的固定值。
根據上述構成的圖像解碼方法,在取得2以上的固定數量的合并候選、即固定合并塊候選列表尺寸(以下適當地簡稱為“候選列表尺寸”)且導出第一候選等之后的空要素中加入第二候選,所以在參照空要素的情況下,也能夠防止執行預期之外的動作,能夠提高容錯性。
另外,“具有預先決定的固定值”指的是,在同一合并塊候選列表內存在多個第二候選的情況下,該多個第二候選具有相同的預測方向、運動矢量及參照圖片索引。即,不同的合并塊候選列表的第二候選的預測方向、運動矢量及參照圖片索引可以不同。
另外,在上述構成的圖像解碼方法中,也可以追加用于提高編碼效率的第三候選。這種情況下,在導出第一候選及第三候選之后產生了空候選的情況下,通過在合并塊候選列表(以下適當簡稱為“候選列表”)的空要素中加入第二候選,能夠提高容錯性。另外,第三候選是用于提高編碼效率的候選,所以與第二候選不同,在同一合并塊候選列表內存在多個第三候選的情況下,在第三候選之間不存在預測方向、運動矢量及參照圖片索引全部一致的候選(與第一候選及第二候選有時在結果上可能存在相同的候選)。
此外,例如也可以是,所述合并候選取得步驟包括:第一導出步驟,導出所述第一候選,并作為所述2以上的固定數量的合并候選的一部分追加;第二導出步驟,在所述第一候選的數量小于所述2以上的固定數量的情況下,導出至少1個第三候選,并作為所述2以上的固定數量的合并候選的一部分追加,該第三候選具有與在所述解碼對象塊的解碼中能夠參照的圖片對應的圖片索引;以及第三導出步驟,在所述第一候選的數量及所述第三候選的數量的合計小于所述2以上的固定數量的情況下,將至少1個所述第二候選作為所述2以上的固定數量的合并候選的一部分追加,以使所述第一候選的數量、所述第二候選的數量及所述第三候選的數量的合計與所述2以上的固定數量相等。
此外,例如也可以是,在所述第二導出步驟中,從預先準備的多個不同候選按照規定的優先順序選擇至少1個候選,從而導出至少1個所述第三候選。
此外,例如也可以是,所述合并候選取得步驟具有:初始化步驟,通過對所述2以上的固定數量的合并候選全部設定所述第二候選,將所述2以上的固定數量的合并候選初始化;第一導出步驟,導出至少1個所述第一候選,作為所述2以上的固定數量的合并候選的一部分而更新;以及第二導出步驟,在所述第一候選的數量小于所述2以上的固定數量的情況下,導出至少1個第三候選,并作為所述2以上的固定數量的合并候選的一部分而更新,該第三候選具有與在所述解碼對象塊的解碼中能夠參照的圖片對應的圖片索引。
因此,本發明的一個方式的圖像編碼方法,是按每個塊對圖像進行編碼而生成編碼比特流的圖像編碼方法,包括以下步驟:合并候選取得步驟,取得2以上的固定數量的合并候選,該合并候選是在編碼對象塊的編碼中參照的預測方向、運動矢量及參照圖片索引的候選;以及編碼步驟,將用于從所述2以上的固定數量的合并候選確定在所述編碼對象塊的編碼中參照的所述合并候選的索引附加到所述編碼比特流中;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述編碼對象塊在空間上或時間上相鄰的相鄰塊的編碼中使用的預測方向、運動矢量及參照圖片索引而導出,該第二候選具有預先決定的固定值。
此外,例如也可以是,所述合并候選取得步驟包括:第一導出步驟,導出所述第一候選,并作為所述2以上的固定數量的合并候選的一部分追加;第二導出步驟,在所述第一候選的數量小于所述2以上的固定數量的情況下,導出至少1個第三候選,并作為所述2以上的固定數量的合并候選的一部分追加,該第三候選具有與在所述編碼對象塊的編碼中能夠參照的圖片對應的圖片索引;以及第三導出步驟,在所述第一候選的數量及所述第三候選的數量的合計小于所述2以上的固定數量的情況下,將至少1個所述第二候選作為所述2以上的固定數量的合并候選的一部分追加,以使所述第一候選的數量、所述第二候選的數量及所述第三候選的數量的合計與所述2以上的固定數量相等。
此外,例如也可以是,在所述第二導出步驟中,從預先準備的多個不同候選按照規定的優先順序選擇至少1個候選,從而導出至少1個所述第三候選。
此外,例如也可以是,所述合并候選取得步驟具有:初始化步驟,通過對所述2以上的固定數量的合并候選全部設定所述第二候選,將所述2以上的固定數量的合并候選初始化;第一導出步驟,導出至少1個所述第一候選,作為所述2以上的固定數量的合并候選的一部分而更新;以及第二導出步驟,在所述第一候選的數量小于所述2以上的固定數量的情況下,導出至少1個第三候選,并作為所述2以上的固定數量的合并候選的一部分而更新,該第三候選具有與在所述編碼對象塊的編碼中能夠參照的圖片對應的圖片索引。
因此,本發明的一個方式的圖像解碼裝置,是按每個塊對編碼比特流中包含的圖像數據進行解碼的圖像解碼裝置,該圖像解碼裝置具備:合并候選取得部,取得2以上的固定數量的合并候選,該合并候選是在解碼對象塊的解碼中參照的預測方向、運動矢量及參照圖片索引的候選;索引取得部,從所述編碼比特流取得用于從所述2以上的固定數量的合并候選中確定在所述解碼對象塊的解碼中參照的合并候選的索引;以及解碼部,使用取得的所述索引來確定所述合并候選,使用確定的所述合并候選將所述解碼對象塊解碼;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述解碼對象塊在空間上或時間上相鄰的相鄰塊的解碼中使用的預測方向、運動矢量及參照圖片索引而導出,該第二候選具有預先決定的固定值。
因此,本發明的一個方式的圖像編碼裝置,是按每個塊對圖像進行編碼而生成編碼比特流的圖像編碼裝置,該圖像編碼裝置具備:合并候選取得部,取得2以上的固定數量的合并候選,該合并候選是在編碼對象塊的編碼中參照的預測方向、運動矢量及參照圖片索引的候選;以及編碼部,將用于從所述2以上的固定數量的合并候選確定在所述編碼對象塊的編碼中參照的所述合并候選的索引附加到所述編碼比特流中;所述2以上的固定數量的合并候選包括至少1個第一候選和至少1個第二候選,該第一候選基于與所述編碼對象塊在空間上或時間上相鄰的相鄰塊的編碼中使用的預測方向、運動矢量及參照圖片索引而導出,該第二候選具有預先決定的固定值。
因此,本發明的一個方式的圖像編解碼裝置具備上述圖像解碼裝置和上述圖像編碼裝置。
另外,這些整體或具體的方式可以通過系統、方法、集成電路、計算機程序或計算機可讀取的CD-ROM等記錄介質來實現,也可以通過系統、方法、集成電路、計算機程序或記錄介質的任意組合來實現。
以下,參照附圖來具體說明本發明的一個方式的圖像編碼裝置及圖像解碼裝置。
另外,以下說明的實施方式都只是示出本發明的一個具體例。以下的實施方式中示出的數值、形狀、材料、構成要素、構成要素的配置位置及連接形態、步驟、步驟的順序等只是一例,不意圖限定本發明。此外,以下的實施方式的構成要素中的、未記載于表示最上位概念的獨立權利要求中的構成要素作為任意的構成要素來說明。
(實施方式1)
基于圖11~圖18說明本實施方式的使用了圖像編碼方法的圖像編碼裝置。圖11是表示本實施方式的圖像編碼裝置的構成的模塊圖。圖像編碼裝置100通過按每個塊對圖像進行編碼而生成比特流。
如圖11所示,圖像編碼裝置100具備:減法部101、正交變換部102、量化部103、逆量化部104、逆正交變換部105、加法部106、塊存儲器107、幀存儲器108、幀內預測部109、幀間預測部110、幀間預測控制部111、圖片類型決定部112、開關113、合并塊候選計算部114、colPic(相同位置圖片)存儲器115、可變長度編碼部116。
減法部101按每個塊從輸入圖像列所包含的輸入圖像數據減去預測圖像數據,從而生成預測誤差數據。
正交變換部102對生成的預測誤差數據進行從圖像域向頻域的變換。
量化部103對變換至頻域的預測誤差數據進行量化處理。
逆量化部104對由量化部103進行了量化處理后的預測誤差數據進行逆量化處理。
逆正交變換部105對逆量化處理后的預測誤差數據進行從頻域向圖像域的變換。
加法部106按每個塊將預測圖像數據和由逆正交變換部105進行逆量化處理后的預測誤差數據相加,從而生成重構圖像數據。
在塊存儲器107中以塊為單位保存有重構圖像數據。
在幀存儲器108中以幀為單位保存有重構圖像數據。
圖片類型決定部112決定以I圖片、B圖片及P圖片的哪個圖片類型對輸入圖像數據進行編碼。然后,圖片類型決定部112生成表示所決定的圖片類型的圖片類型信息。
幀內預測部109使用保存在塊存儲器107中的塊單位的重構圖像數據進行幀內預測,從而生成編碼對象塊的幀內預測圖像數據。
幀間預測部110使用保存在幀存儲器108中的幀單位的重構圖像數據和通過運動檢測等導出的運動矢量來進行幀間預測,從而生成編碼對象塊的幀間預測圖像數據。
在編碼對象塊被進行幀內預測編碼的情況下,開關113將由幀內預測部109生成的幀內預測圖像數據作為編碼對象塊的預測圖像數據而輸出至減法部101及加法部106。另一方面,在編碼對象塊被進行幀間預測編碼的情況下,開關113將由幀間預測部110生成的幀間預測圖像數據作為編碼對象塊的預測圖像數據而輸出至減法部101及加法部106。
在本實施方式中,合并塊候選計算部114制作具備固定數量的合并塊候選的合并塊候選列表。
具體地說,合并塊候選計算部114使用編碼對象塊的相鄰塊的運動矢量等及保存在colPic存儲器115中的co-located塊的運動矢量等(colPic(相同位置圖片)信息)導出合并模式的合并塊候選(第一候選)。進而,合并塊候選計算部114將導出的合并塊候選追加到合并塊候選列表中。
此外,在合并塊候選列表中存在空項的情況下,為了提高編碼效率,合并塊候選計算部114從預先決定的合并塊候選中選擇新候選(第三候選)。進而,合并塊候選計算部114將導出的新候選作為新的合并塊候選追加到合并塊候選列表中。進而,合并塊候選計算部114計算合并塊候選數。
此外,合并塊候選計算部114對導出的各合并塊候選分配合并塊索引的值。然后,合并塊候選計算部114將合并塊候選和合并塊索引發送給幀間預測控制部111。此外,合并塊候選計算部114將計算出的合并塊候選數發送給可變長度編碼部116。
幀間預測控制部111在使用由運動檢測導出的運動矢量的預測模式(運動檢測模式)和使用從合并塊候選導出的運動矢量的預測模式(合并模式)中,選擇能夠得到最小的預測誤差的預測模式。此外,幀間預測控制部111將表示預測模式是否為合并模式的合并標志發送給可變長度編碼部116。此外,在選擇了合并模式作為預測模式的情況下,幀間預測控制部111將與決定的合并塊候選對應的合并塊索引發送給可變長度編碼部116。進而,幀間預測控制部111將包含編碼對象塊的運動矢量等的colPic信息轉送給colPic存儲器115。
可變長度編碼部116通過對量化處理后的預測誤差數據和合并標志及圖片類型信息進行可變長度編碼處理,生成比特流。此外,可變長度編碼部116將合并塊候選數設定為合并塊候選列表尺寸。然后,可變長度編碼部116對編碼中使用的合并塊索引分配與合并塊候選列表尺寸相應的比特串,并對分配的比特串進行可變長度編碼。
圖12是表示本實施方式的圖像編碼裝置100的處理動作的流程圖。
在步驟S101中,合并塊候選計算部114從編碼對象塊的相鄰塊及co-located塊導出合并塊候選。此外,在合并塊候選列表尺寸被設定為可變的情況下,合并塊候選計算部114通過后述的方法計算合并塊候選列表尺寸。
例如,在如圖3的情況下,合并塊候選計算部114選擇相鄰塊A~D作為合并塊候選。進而,合并塊候選計算部114計算co-located合并塊作為合并塊候選,該co-located合并塊具有根據co-located塊的運動矢量通過時間預測模式計算的運動矢量、參照圖片索引及預測方向。
合并塊候選計算部114對各合并塊候選分配合并塊索引。圖13A的(a)是表示對相鄰塊分配了合并塊索引的狀態下的合并塊候選列表的表。在圖13A的(a)的合并塊候選列表中,左欄表示合并塊索引。此外,右欄表示預測方向、參照圖片索引及運動矢量。此外,合并塊候選計算部114通過后述的方法進行不可合并候選及重復候選的刪除、以及新候選追加,從而更新合并塊候選列表,計算合并塊候選列表尺寸。圖13A的(b)表示進行不可合并候選及重復候選的刪除、新候選的追加之后的合并塊候選列表。另外,在本實施方式中,相鄰塊A與相鄰塊D重復而刪除相鄰塊D,但是也可以刪除相鄰塊A。
合并塊索引的值越小則分配越短的碼。即,合并塊索引的值小的情況下,合并塊索引所需的信息量變少。
另一方面,合并塊索引的值變大時,合并塊索引所需的信息量變大。因此,對于具有更高精度的運動矢量及參照圖片索引的可能性高的合并塊候選,如果分配值小的合并塊索引,則編碼效率變高。
因此,例如也可以是,合并塊候選計算部114按每個合并塊候選計測被選擇為合并塊的次數,針對該次數多的塊,分配值小的合并塊索引。具體地說,可以考慮預先確定在相鄰塊中選擇的合并塊,在對象塊的編碼時,減小與所確定的合并塊對應的合并塊索引的值。
另外,在合并塊候選不具有運動矢量等信息的情況下(是通過幀內預測被編碼的塊的情況、是位于圖片或切片的邊界外等的塊的情況、或者是尚未編碼的塊的情況等),無法用于編碼。
在本實施方式中,將無法用于編碼的合并塊候選稱為不可合并候選。此外,將能夠用于編碼的合并塊候選稱為可合并候選。此外,在多個合并塊候選中,將與其他某個合并塊候選的運動矢量、參照圖片索引及預測方向全部一致的候選稱為重復候選。
圖3的情況下,相鄰塊C是通過幀內預測被編碼的塊,所以作為不可合并候選。此外,相鄰塊D與相鄰塊A的運動矢量、參照圖片索引及預測方向全部一致,所以作為重復候選。
在步驟S102中,幀間預測控制部111通過后述的方法,比較使用由運動檢測導出的運動矢量來生成的預測圖像的預測誤差和使用從合并塊候選得到的運動矢量來生成的預測圖像的預測誤差,選擇預測模式。在此,如果選擇的預測模式是合并模式,則幀間預測控制部111將合并標志設置為1,否則將合并標志設置為0。
在步驟S103中,判定合并標志是否為1(即預測模式是否為合并模式)。
在此,如果步驟S103的判定結果為“是”(S103:是),則在步驟S104中,可變長度編碼部116將合并標志附加到比特流中。進而,在步驟S105中,可變長度編碼部116對編碼中使用的合并塊候選的合并塊索引分配與圖5所示的合并塊候選列表尺寸相應的比特串。然后,可變長度編碼部116對分配的比特串進行可變長度編碼。
另一方面,如果步驟S103的判定結果為“否”(S103:否),則在步驟S106中,可變長度編碼部116將合并標志及運動檢測矢量模式的信息附加到比特流中。
在本實施方式中,如圖13A(a)所示,作為與相鄰塊A對應的合并塊索引的值而分配“0”。此外,作為與相鄰塊B對應的合并塊索引的值而分配“1”。此外,作為與co-located合并塊對應的合并塊索引的值而分配“2”。此外,作為與相鄰塊C對應的合并塊索引的值而分配“3”。此外,作為與相鄰塊D對應的合并塊索引的值而分配“4”。
另外,合并塊索引的值的分配方法不限于該例。例如,使用后述的方法而追加了新候選的情況下等,可變長度編碼部116也可以對原來的合并塊候選分配小的值,對新候選分配大的值。即,可變長度編碼部116可以優先對原來的合并塊候選分配小的值的合并塊索引。
此外,合并塊候選不限于相鄰塊A~D的位置。例如,可以將位于左下相鄰塊D之上的相鄰塊等作為合并塊候選使用。此外,并不是必須將全部相鄰塊作為合并塊候選使用。例如,可以僅將相鄰塊A、B作為合并塊候選使用。
此外,在本實施方式中,在圖12的步驟S105中,可變長度編碼部116將合并塊索引附加于比特流,但是并不是必須將合并塊索引附加于比特流。例如,在合并塊候選列表尺寸為“1”的情況下,可變長度編碼部116也可以不將合并塊索引附加于比特流。由此,能夠削減合并塊索引的信息量。
圖14A是表示圖12的步驟S101的詳細處理的流程圖。具體地說,圖14A表示計算合并塊候選及合并塊候選列表尺寸的方法。以下說明圖14A。
在圖14A的處理之前,合并塊候選計算部114如圖13A的(a)所示,對相鄰塊(相鄰塊A~D、co-located合并塊)分配索引值。
在此,N是用于表示各合并塊候選的索引值。在本實施方式中,N取0~4的值。具體地說,對合并塊候選[0]分配圖3的相鄰塊A。此外,對合并塊候選[1]分配圖3的相鄰塊B。此外,對合并塊候選[2]分配co-located合并塊。此外,對合并塊候選[3]分配圖3的相鄰塊C。此外,對合并塊候選[4]分配圖3的相鄰塊D。
合并塊候選計算部114對相鄰塊分配索引值之后,對于合并塊候選[0]~[4]分別判定是否為可合并候選(步驟S111),以及取得圖13A所示的合并塊候選列表的右欄的信息(步驟S112)。
在步驟S111中,合并塊候選計算部114通過后述的方法判定合并塊候選[N]是否為可合并候選,導出合并塊候選數。
在步驟S112中,合并塊候選計算部114取得合并塊候選[N]的運動矢量、參照圖片索引及預測方向,并追加到合并塊候選列表(右欄)。
在步驟S113中,合并塊候選計算部114如圖13A的(b)所示,從合并塊候選列表檢索不可合并候選及重復候選并刪除。進而,合并塊候選計算部114從合并塊候選數減去重復候選數。
在步驟S114中,合并塊候選計算部114通過后述的方法在合并塊候選列表中追加新候選(第三候選)。在此,也可以是,追加新候選時,以優先對原有的合并塊候選分配小的值的合并塊索引的方式,進行合并塊索引的值的再分配。即,也可以是,合并塊候選計算部114以對新候選分配值大的合并塊索引的方式,進行合并塊索引的值的再分配。由此,能夠削減合并塊索引的碼量。
在步驟S115中,合并塊候選計算部114將新候選追加后的合并塊候選數設定為合并塊候選列表尺寸。在圖13A的(b)的例子中,通過后述的方法,將合并塊候選數計算為“5”,對合并塊候選列表尺寸設定“5”。另外,例如合并塊候選列表尺寸不是可變而設定為2以上的固定數量的情況下,對合并塊候選列表尺寸設定該2以上的固定數量。
另外,步驟S114中的新候選指的是,通過后述的方法,在合并塊候選數未到達最大合并塊候選數的情況下,對合并塊候選新追加的候選。例如,可以考慮將如下的塊作為新候選:位于圖3中的左下相鄰塊D之上的相鄰塊、包含有co-located塊的參照圖片中的與相鄰塊A、B、C、D對應的塊、具備根據參照圖片的畫面全體、或者一定的區域的運動矢量、參照圖片索引及預測方向的統計等計算的值等的塊。此外,也可以將相對于能夠參照的各參照圖片而具備值0的運動矢量的zero(零)候選作為新候選。進而,也可以通過將導出的相互不同的合并塊候選所具備的預測方向0的運動矢量及參照圖片索引與預測方向1的運動矢量及參照圖片索引組合,而將2方向預測的合并塊候選(以下稱為“combined(組合)合并塊候選”)作為新候選。
這樣,在合并塊候選數未達到最大合并塊候選數的情況下,圖像編碼裝置100通過追加新候選,能夠提高編碼效率。
圖15A是表示圖14A的步驟S111的詳細處理的流程圖。具體地說,圖15A表示判定合并塊候選[N]是否為可合并候選并更新可合并候選數的方法。以下說明圖15A。
在步驟S121中,合并塊候選計算部114判定合并塊候選[N]是否為(1)通過幀內預測被編碼的塊、或(2)位于包含編碼對象塊的切片或圖片邊界外的塊、或(3)尚未編碼的塊。
在此,如果步驟S121的判定結果為“是”(步驟S121:是),則在步驟S122中,合并塊候選計算部114將合并塊候選[N]設定為不可合并候選。另一方面,如果步驟S121的判定結果為“否”(步驟S121:否),則在步驟S123中,合并塊候選計算部114將合并塊候選[N]設定為可合并候選。
在步驟S124中,合并塊候選計算部114判定合并塊候選[N]是否為可合并候選或co-located合并塊候選。
如果步驟S124的判定結果為“是”(步驟S124:是),則合并塊候選計算部114在步驟S125中,將合并塊候選數加1而更新值。如果步驟S124的判定結果為“否”(步驟S124:否),則合并塊候選計算部114不更新合并塊候選數。
像這樣,在本實施方式中,合并塊候選計算部114在合并塊候選為co-located合并塊的情況下,無論co-located塊是可合并候選還是不可合并候選,都將合并塊候選數加1。由此,即使在由于丟包等而co-located合并塊的信息丟失的情況下,也能夠防止在圖像編碼裝置和圖像解碼裝置中發生合并塊候選數不一致。合并塊候選計算部114在圖14A的步驟S115中,將合并塊候選數設定為合并塊候選列表尺寸。此外,合并塊候選計算部114在圖12的步驟S105中,分配與合并塊候選列表尺寸相應的比特串,對合并塊索引進行可變長度編碼。由此,即使在丟失了包含co-located塊等的參照圖片信息的情況下,也能夠生成能夠將合并塊索引正常解碼的比特流。
圖16是表示圖14A的步驟S114的詳細處理的流程圖。具體地說,圖16表示追加用于提高編碼效率的新候選(第三候選)的方法。以下說明圖16。
在步驟S131中,合并塊候選計算部114判定合并塊候選數是否小于合并塊候選列表尺寸。更具體地說,合并塊候選計算部114在合并塊候選列表尺寸為可變的情況下,判定合并塊候選數是否未到達候選列表尺寸的最大值(最大合并塊候選數)。另一方面,在合并塊候選列表尺寸固定的情況下(合并塊候選列表尺寸為2以上的固定數量的情況),判定合并塊候選數是否未到達2以上的固定數量。
如果步驟S131的判定結果為“是”(步驟S131:是),則在步驟S132中,合并塊候選計算部114判定是否存在能夠作為合并塊候選追加到合并塊候選列表的新候選。
在此,新候選是預先準備的候選。新候選例如是相對于能夠參照的各參照圖片具備值0的運動矢量的zero候選。這種情況下,能夠參照的參照圖片的數量是能夠作為新候選追加的候選的總數。另外,新候選如上述那樣,也可以是combined候選等其他候選。
如果步驟S132的判定結果為“是”(步驟S132:是),則在步驟S133中,合并塊候選計算部114向新候選分配合并塊索引的值并追加到合并塊候選列表中。
進而,在步驟S134中,合并塊候選計算部114將合并塊候選數加1。
另一方面,如果步驟S131或步驟S132的判定結果為“否”(步驟S131或步驟S132:否),則結束新候選的追加處理。即,合并塊候選數達到最大合并塊候選數或沒有新候選的情況下(將全部新候選作為合并塊候選追加到候選列表之后),結束新候選的追加處理。
圖18是表示圖12的步驟S102的詳細處理的流程圖。具體地說,圖18表示與合并塊候選的選擇有關的處理。以下說明圖18。
在步驟S151中,幀間預測控制部111對合并塊候選索引設置0,對最小預測誤差設置運動矢量檢測模式的預測誤差(成本),對合并標志設置0。在此,成本例如通過R-D最優化模型的下式來計算。
(式1)
Cost=D+λR
在式1中,D表示編碼失真。例如,將使用由某運動矢量生成的預測圖像對編碼對象塊進行編碼及解碼而得到的像素值與編碼對象塊的原來的像素值之間的差分絕對值和等作為D使用。此外,R表示產生碼量。將對預測圖像生成中使用的運動矢量進行編碼所需的碼量等作為R使用。此外,λ是拉格朗日待定乘數。
在步驟S152中,幀間預測控制部111判定合并塊候選索引的值是否小于編碼對象塊的合并塊候選數。即,幀間預測控制部111判定是否存在尚未進行以下的步驟S153~步驟S155的處理的合并塊候選。
在此,如果步驟S152的判定結果為“是”(S152:是),則在步驟S153中,幀間預測控制部111計算被分配了合并塊候選索引的合并塊候選的成本。然后,在步驟S154中,幀間預測控制部111判定計算出的合并塊候選的成本是否小于最小預測誤差。
在此,如果步驟S154的判定結果為“是”(S154:是),則在步驟S155中,幀間預測控制部111更新最小預測誤差、合并塊索引及合并標志的值。另一方面,如果步驟S154的判定結果為“否”(S154:否),則幀間預測控制部111不更新最小預測誤差、合并塊索引及合并標志的值。
在步驟S156中,幀間預測控制部111將合并塊候選索引的值加1,重復進行步驟S152~步驟S156。
另一方面,如果步驟S152的判定結果為“否”(S152:否)、即不再有未處理的合并塊候選,則在步驟S157中,幀間預測控制部111確定最終設定的合并標志及合并塊索引的值。
像這樣,根據本實施方式的圖像編碼裝置100,通過不依賴于包含co-located塊等的參照圖片信息的方法,計算對合并塊索引進行編碼或解碼時使用的合并塊候選列表尺寸,從而能夠提高容錯性。更具體地說,在本實施方式的圖像編碼裝置100中,無論co-located合并塊是可合并候選還是不可合并候選,都總是將合并塊候選數加1。然后,根據合并塊候選數,決定對合并塊索引分配的比特串。由此,即使丟失了包含co-located塊的參照圖片信息,在圖像編碼裝置100和圖像解碼裝置300中合并塊候選數相同,能夠生成能夠將合并塊索引正常解碼的比特流。此外,在合并塊候選數未達到可合并候選數的情況下,通過追加具備新的運動矢量、參照圖片索引及預測方向的新候選,能夠提高編碼效率。
另外,在本實施方式中,如圖15A的步驟S125及步驟S126所示,僅對于co-located合并塊,無論是可合并候選還是不可合并候選,都總是將合并塊候選數加1,但是不限于此。對于其他塊,也可以無論是可合并候選還是不可合并候選都總是將合并塊候選數加1。
此外,在本實施方式中,也可以將合并塊候選列表尺寸設為2以上的固定數量的情況下,2以上的固定數量可以是合并塊候選數的最大值Max。即,也可以將全部相鄰塊中的合并塊候選看作可合并候選,將合并塊候選列表尺寸固定為合并候選塊候選數的最大值Max,而對合并塊索引進行編碼。例如,在本實施方式中,合并塊候選數的最大值Max為5(相鄰塊A、相鄰塊B、co-located合并塊、相鄰塊C、相鄰塊D),所以也可以總是對合并塊候選列表尺寸設定“5”而對合并塊索引進行編碼。
此外,例如在不參照co-located合并塊的圖片(參照I圖片的B圖片或P圖片)的情況等、合并塊候選數的最大值Max為4(相鄰塊A、相鄰塊B、相鄰塊C、相鄰塊D)的情況下,也可以總是對合并塊候選列表尺寸設定“4”而對合并塊索引進行編碼。
像這樣,在合并塊候選列表尺寸為2以上的固定數量的情況下,也可以對2以上的固定數量設定合并塊候選數的最大值Max,根據2以上的固定數量來決定合并塊候選列表尺寸。這種情況下,圖像編碼裝置100在圖12的步驟S105中使用2以上的固定數量來進行可變長度編碼。
由此,能夠生成圖像解碼裝置的可變長度解碼部不參照相鄰塊或co-located塊的信息就能夠將比特流中的合并塊索引解碼的比特流,能夠削減可變長度解碼部的處理量。此外,也可以將2以上的固定數量(例如合并塊候選數的最大值Max)嵌入SPS(Sequence Parameter Set;序列參數集)、PPS(Picture Parameter Set;圖片參數集)或切片頭等。由此,能夠根據編碼對象圖片來切換2以上的固定數量,能夠實現處理量的削減及編碼效率的提高。
另外,在本實施方式中,示出了在合并模式中總是將合并標志附加于比特流的例子,但是不限于此。例如,也可以基于在編碼對象塊的幀間預測中使用的參照塊的形狀等強制地選擇合并模式。這種情況下,可以不將合并標志附加于比特流而削減信息量。
另外,在本實施方式中,示出了使用合并模式的例子,該合并模式從編碼對象塊的相鄰塊拷貝預測方向、運動矢量及參照圖片索引而進行編碼對象塊的編碼,但是不限于此。例如,也可以使用跳過合并模式。在跳過合并模式中,使用像圖13A的(b)那樣制作的合并塊候選列表,與合并模式同樣地從編碼對象塊的相鄰塊拷貝預測方向、運動矢量及參照圖片索引而進行編碼對象塊的編碼。結果,如果編碼對象塊的全部預測誤差數據為0,則將跳過標志設置為1,將跳過標志及合并塊索引附加于比特流。此外,如果預測誤差數據不為0,則將跳過標志設置為0,將跳過標志、合并標志、合并塊索引及預測誤差數據附加于比特流。
另外,在本實施方式中,示出了使用合并模式的例子,該合并模式從編碼對象塊的相鄰塊拷貝預測方向、運動矢量及參照圖片索引而進行編碼對象塊的編碼,但是不限于此。例如,也可以使用像圖13A的(b)那樣制作的合并塊候選列表而對運動矢量檢測模式的運動矢量進行編碼。即,通過從運動矢量檢測模式的運動矢量減去由合并塊索引指定的合并塊候選的運動矢量而求出差分。然后,將求出的差分及合并塊索引附加于比特流亦可。
此外,也可以使用運動檢測模式的參照圖片索引RefIdx_ME和合并塊候選的參照圖片索引RefIdx_Merge對合并塊候選的運動矢量MV_Merge進行縮放,從運動檢測模式的運動矢量減去縮放后的合并塊候選的運動矢量scaledMV_Merge而求出差分。然后,將求出的差分及合并塊索引附加于比特流亦可。縮放的公式的例子如下所示。
(式2)
scaledMV_Merge=MV_Merge×(POC(RefIdx_ME)-curPOC)/(POC(RefIdx_Merge)-curPOC)···(2)
在此,POC(RefIdx_ME)表示參照圖片索引RefIdx_ME所示的參照圖片的顯示順序。POC(RefIdx_Merge)表示參照圖片索引RefIdx_Merge所示的參照圖片的顯示順序。curPOC表示編碼對象圖片的顯示順序。
另外,在本實施方式中,在圖12的步驟S105中,根據合并塊候選列表尺寸而進行可變長度編碼(參照圖5),但是例如也可以根據由圖14A的步驟S111(圖15A)計算的合并塊候選數(可合并候選數=第一候選+重復候選數)等其他參數來進行可變長度編碼。
(實施方式2)
基于圖19~圖22說明使用本實施方式的圖像解碼方法的圖像解碼裝置。圖19是表示本實施方式的圖像解碼裝置300的構成的模塊圖。該圖像解碼裝置300是與實施方式1的圖像編碼裝置100對應的裝置。圖像解碼裝置300例如按每個塊對由實施方式1的圖像編碼裝置100生成的比特流中包含的編碼圖像進行解碼。
如圖19所示,圖像解碼裝置300具備:可變長度解碼部301、逆量化部302、逆正交變換部303、加法部304、塊存儲器305、幀存儲器306、幀內預測部307、幀間預測部308、幀間預測控制部309、開關310、合并塊候選計算部311和colPic存儲器312。
可變長度解碼部301對輸入的比特流進行可變長度解碼處理,生成圖片類型信息、合并標志及量化系數。此外,可變長度解碼部301使用合并塊候選計算部311所計算出的合并塊候選數,進行合并塊索引的可變長度解碼處理。
逆量化部302對于通過可變長度解碼處理得到的量化系數進行逆量化處理。
逆正交變換部303通過將由逆量化處理得到的正交變換系數從頻域向圖像域變換,生成預測誤差數據。
在塊存儲器305中,以塊為單位保存將預測誤差數據和預測圖像數據相加而生成的解碼圖像數據。
在幀存儲器306中以幀為單位保存解碼圖像數據。
幀內預測部307使用保存在塊存儲器305中的塊單位的解碼圖像數據進行幀內預測,從而生成解碼對象塊的預測圖像數據。
幀間預測部308使用保存在幀存儲器306中的幀單位的解碼圖像數據進行幀間預測,從而生成解碼對象塊的預測圖像數據。
在解碼對象塊被進行幀內預測解碼的情況下,開關310將由幀內預測部307生成的幀內預測圖像數據作為解碼對象塊的預測圖像數據輸出至加法部304。另一方面,在解碼對象塊被進行幀間預測解碼的情況下,開關310將由幀間預測部308生成的幀間預測圖像數據作為解碼對象塊的預測圖像數據輸出至加法部304。
合并塊候選計算部311使用解碼對象塊的相鄰塊的運動矢量等、以及保存在colPic存儲器312中的co-located塊的運動矢量等(colPic信息),導出合并塊候選。進而,合并塊候選計算部311將導出的合并塊候選追加到合并塊候選列表。
此外,合并塊候選計算部311通過后述的方法,例如導出具備靜止區域用的運動矢量及參照圖片索引的合并塊候選,作為用于提高編碼效率的新候選(第三候選)。然后,合并塊候選計算部311將導出的新候選作為新的合并塊候選而追加到合并塊候選列表。進而,在合并塊候選列表尺寸為可變的情況下,合并塊候選計算部311計算合并塊候選數。
此外,合并塊候選計算部311對導出的各合并塊候選分配合并塊索引的值。然后,合并塊候選計算部311將被分配了合并塊索引的值的合并塊候選發送給幀間預測控制部309。此外,在合并塊候選列表尺寸為可變的情況下,合并塊候選計算部311將計算出的合并塊候選數發送給可變長度解碼部301。
如果解碼后的合并標志為“0”,則幀間預測控制部309使用運動矢量檢測模式的信息,使幀間預測部308生成幀間預測圖像。另一方面,如果合并標志為“1”,則幀間預測控制部309從多個合并塊候選中,基于解碼后的合并塊索引決定在幀間預測中使用的運動矢量、參照圖片索引及預測方向。然后,幀間預測控制部309使用所決定的運動矢量、參照圖片索引及預測方向,使幀間預測部308生成幀間預測圖像。此外,幀間預測控制部309將包含解碼對象塊的運動矢量等的colPic信息轉送給colPic存儲器312。
最后,加法部304將預測圖像數據和預測誤差數據相加,從而生成解碼圖像數據。
圖20是表示本實施方式的圖像解碼裝置300的處理動作的流程圖。
在步驟S301中,可變長度解碼部301對合并標志進行解碼。
在步驟S302中,如果合并標志為“1”(步驟S302:是),則在步驟S303中,合并塊候選計算部311計算合并塊候選數,作為合并塊候選列表尺寸。
在步驟S304中,可變長度解碼部301使用計算出的合并塊候選列表尺寸,對比特流中的合并塊索引進行可變長度解碼。
在步驟S305中,合并塊候選計算部311通過與圖12的步驟S101同樣的方法,生成合并塊候選(合并塊候選列表)。此外,幀間預測控制部309基于解碼后的合并塊索引,從合并塊候選計算部311所生成的合并塊候選列表中,確定在解碼對象塊的解碼中使用的合并塊候選。
在步驟S306中,幀間預測控制部309使用由步驟S305確定的合并塊候選的運動矢量、參照圖片索引及預測方向,使幀間預測部308生成幀間預測圖像。
在步驟S302中,如果合并標志為0(步驟S302:否),則在步驟S307中,幀間預測部308使用由可變長度解碼部301解碼的運動矢量檢測模式的信息生成幀間預測圖像。
另外,由步驟S303計算的合并塊候選列表尺寸為“1”的情況下,合并塊索引也可以不進行解碼而推測為“0”。
圖21及圖22是表示圖20的步驟S303的詳細處理的流程圖。在此,在執行圖21的處理之后執行圖22的處理。
具體地說,圖21表示計算合并塊候選[N]及合并塊候選列表尺寸的方法。以下簡單說明圖21。
合并塊候選計算部311在開始處理時將N初始化為0。進而,合并塊候選計算部311對相鄰塊(相鄰塊A~D、co-located合并塊)分配索引值。
在步驟S311中,合并塊候選計算部311判定合并塊候選[N]是否為(1)通過幀內預測被解碼的塊、或(2)位于包含解碼對象塊的切片或圖片邊界外的塊、或(3)尚未解碼的塊。
如果步驟S311的判定結果為“是”(步驟S311:是),則在步驟S312中,合并塊候選計算部311將合并塊候選[N]設定為不可合并候選。另一方面,如果步驟S311的判定結果為“否”(步驟S311:否),則在步驟S313中,合并塊候選計算部311將合并塊候選[N]設定為可合并候選。
在步驟S314中,合并塊候選計算部311判定合并塊候選[N]是否為可合并候選或co-located合并塊候選。
如果步驟S314的判定結果為“是”(步驟S314:是),則在步驟S315中,合并塊候選計算部311將合并塊候選數加1而更新值。如果步驟S314的判定結果為“否”(步驟S314:否),則不更新合并塊候選數。
像這樣,在本實施方式中,合并塊候選計算部311在合并塊候選為co-located合并塊的情況下,無論co-located塊是可合并候選還是不可合并候選,都將合并塊候選數加1。由此,即使在由于丟包等而丟失了co-located合并塊的信息的情況下,也能夠防止在圖像編碼裝置和圖像解碼裝置中發生合并塊候選數不一致。
接著,執行圖22所示的處理。圖22表示計算合并塊候選的方法。以下說明圖22。
在步驟S321中,合并塊候選計算部311取得合并塊候選[N]的運動矢量、參照圖片索引及預測方向,并追加到合并塊候選列表。
在步驟S322中,合并塊候選計算部311如圖13A的(a)及(b)所示,從合并塊候選列表檢索不可合并候選及重復候選并刪除。進而,合并塊候選計算部311從合并塊候選數減去重復候選數。
在步驟S323中,合并塊候選計算部311通過與圖像編碼裝置100中的圖16同樣的方法,向合并塊候選列表追加新候選。這時,合并塊候選數成為第一候選數+新候選數。
另外,在合并塊候選列表尺寸為可變的情況下,合并塊候選計算部311在圖20的步驟S303中將該合并塊候選數設定為合并塊候選列表尺寸。此外,在合并塊候選列表尺寸為2以上的固定數量的情況下,合并塊候選計算部311在圖20的步驟S303中將2以上的固定數量設定為合并塊候選列表尺寸。
進而,合并塊候選計算部311在圖20的步驟S304中使用合并塊候選列表尺寸對合并塊索引進行可變長度解碼。由此,在本實施方式的圖像解碼裝置300中,即使在丟失了包含co-located塊等的參照圖片信息的情況下,也能夠將合并塊索引正常解碼。
圖23是表示將合并塊索引附加于比特流時的語法的一例的圖。在圖23中,merge_idx表示合并塊索引。此外,merge_flag表示合并標志。此外,NumMergeCand表示合并塊候選列表尺寸。在本實施方式中,合并塊候選列表尺寸被設定為通過圖21所示的處理而計算出的合并塊候選數。
這樣,根據本實施方式的圖像解碼裝置300,通過不依賴于包含co-located塊等的參照圖片信息的方法,計算對合并塊索引進行編碼或解碼時使用的合并塊候選列表尺寸。由此,圖像解碼裝置300能夠將提高了容錯性的比特流適當地解碼。更具體地說,無論co-located合并塊是否為可合并候選,都總是將合并塊候選數加1。使用這樣計算的合并塊候選數來決定對合并塊索引分配的比特串。由此,即使在丟失了包含co-located塊的參照圖片信息的情況下,圖像解碼裝置300也能夠將合并塊索引正常解碼。此外,圖像解碼裝置300在合并塊候選數未達到可合并候選數的情況下,通過追加具備新的運動矢量、參照圖片索引及預測方向的新候選,能夠將提高了編碼效率的比特流適當地解碼。
另外,在本實施方式中,僅對于co-located合并塊,無論是可合并候選還是不可合并候選,都總是將合并塊候選數加1,但是不限于此。例如,在圖21的步驟S314中,對于co-located合并塊以外的合并塊候選,也可以總是將合并塊候選數加1。
此外,在本實施方式中,也可以將合并塊候選列表尺寸設為2以上的固定數量的情況下,2以上的固定數量也可以是合并塊候選數的最大值Max。即,也可以將全部合并塊候選看作可合并候選,而將合并塊候選列表尺寸固定為合并塊候選數的最大值Max。例如,在本實施方式中,合并塊候選數的最大值Max為5(相鄰塊A、相鄰塊B、co-located合并塊、相鄰塊C、相鄰塊D),因此也可以總是對合并塊候選列表尺寸設定“5”而對合并塊索引進行解碼。
此外,例如在不參照co-located合并塊的圖片(參照I圖片的B圖片或P圖片)的情況等、合并塊候選數的最大值Max為4(相鄰塊A、相鄰塊B、相鄰塊C、相鄰塊D)的情況下,也可以總是對合并塊候選列表尺寸設定“4”而對合并塊索引進行解碼。
由此,圖像解碼裝置300的可變長度解碼部301能夠不參照相鄰塊或co-located塊的信息而將比特流中的合并塊索引解碼。這種情況下,例如能夠省略圖21的步驟S314、步驟S315的處理,能夠削減可變長度解碼部301的處理量。
此外,圖24是表示將合并塊候選列表尺寸固定為合并塊候選數的最大值Max的情況下的語法的一例的圖。如圖24所示,將合并塊候選列表尺寸設為2以上的固定數量(例如合并塊候選數的最大值Max)的情況下,能夠將NumMergeCand從語法中刪除。即,能夠不使用NumMergeCand而進行處理。此外,也可以使用將2以上的固定數量(例如合并塊候選數的最大值Max)嵌入SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)或切片頭等的值。由此,根據解碼對象圖片切換2以上的固定數量,從而能夠將來自圖像編碼裝置100的比特流正確地解碼。這種情況下,也可以從SPS、PPS或切片頭等將2以上的固定數量解碼,并使用該值對合并塊索引進行解碼。
另外,在本實施方式中,在圖20的步驟S304中進行與合并塊候選列表尺寸相應的可變長度解碼(參照圖5),但是也可以根據其他參數進行可變長度編碼。例如,在實施方式1的圖像編碼裝置100中,使用由圖14A的步驟S111(圖15A)計算的合并塊候選數(可合并候選數=第一候選+重復候選數)的情況下,也可以使用由圖21所示的處理計算出的合并塊候選數進行可變長度解碼。這種情況下,也可以在步驟S305中執行圖22所示的處理。
在此,在圖21所示的處理中,基于合并塊候選[N]是否為(1)通過幀內預測被解碼的塊、或(2)位于包含解碼對象塊的切片或圖片邊界外的塊、或(3)尚未解碼的塊,來進行判定。即,不使用預測方向、運動矢量及參照圖片索引的信息,就能夠求出在可變長度解碼中使用的合并塊候選數。因此,在獨立執行求取預測方向、運動矢量及參照圖片索引的處理和求取合并塊索引的處理的情況下,不等待求取預測方向、運動矢量及參照圖片索引的處理的執行結果,就能夠進行求取合并塊索引的處理,能夠提高處理速度。
(實施方式1及實施方式2的變形例)
在上述實施方式1及實施方式2中,在將合并塊候選列表尺寸設為2以上的固定數量的情況下,在合并塊候選列表中存在空項時,為了提高容錯性,也可以在合并塊候選列表的空部分加入規定的提高容錯性用的合并塊候選(第二候選)。
作為第二候選,例如也可以是,如果對象圖片(編碼對象圖片或解碼對象圖片)為B圖片,則在雙向預測中,將預測方向0的參照圖片索引為0且運動矢量為(0、0)的合并塊候選、以及預測方向1的參照圖片索引為0且運動矢量為(0、0)的合并塊候選作為第二候選分配。此外,也可以是,如果編碼對象圖片為P圖片,則在單向預測中,將預測方向0的參照圖片索引為0且運動矢量為(0、0)的合并塊候選作為第二候選分配。第二候選是用于提高容錯性的候選,所以在追加多個第二候選的情況下,也可以全部設定為相同的值。另外,第三候選是用于提高編碼效率的候選,所以在追加多個第三候選的情況下,追加不同的候選。但是,第三候選在與第一候選及第二候選之間在結果上也可以存在相同的候選。
另外,作為分配第二候選的方法,可以想到(1)在追加了新候選(第三候選)之后向空候選分配第二候選,或者(2)向合并塊候選列表的全部要素加入第二候選并初始化。
首先,說明在圖像編碼裝置100中(1)追加新候選(第三候選)之后向空候選分配第二候選的情況。
在此,圖13B是表示在追加新候選(第三候選)之后向空候選分配第二候選的情況的合并塊候選列表的表。在圖13B中,例示了合并塊候選數的最大值Max為6的情況。
此外,圖14B是表示圖12所示的步驟S101的詳細處理的流程圖。另外,在圖14B中,步驟S111~S114的處理與實施方式1的圖像編碼裝置100中的圖14A的步驟S111~S114的處理相同,因此省略說明。
在步驟S111~S114中,圖像編碼裝置100的合并塊候選計算部114從相鄰塊求出第一候選,將不可合并候選及重復候選刪除后,追加新候選。在新候選的追加后,如圖13B的(b)所示,合并塊候選數為6,所以未對合并塊候選[5]分配合并塊候選。
在步驟S116中,合并塊候選計算部114對空的候選列表分配第二候選。圖17是表示圖14B所示的步驟S116的詳細處理的流程圖。
在步驟S141中,合并塊候選計算部114判定合并塊候選數是否小于合并塊候選列表尺寸(在圖17中簡稱為候選列表尺寸)。即,判定是否存在空要素。
如果步驟S141的判定結果為“是”(步驟S141:是),則在步驟S142中,合并塊候選計算部114向空候選列表(空要素)追加第二候選。如上述那樣,在剛追加了新候選之后的情況下,未向合并塊候選[5]分配合并塊候選。這時,合并塊候選計算部114向合并塊候選[5]追加第二候選。作為第二候選,如上述那樣,例如在雙向預測中,可以是作為預測方向0的參照圖片索引為0且運動矢量為(0、0)、預測方向1的參照圖片索引為0且運動矢量為(0、0)的合并塊候選。進而,在步驟S143中,合并塊候選計算部114將合并塊候選數加1。
如果步驟S141的判定結果為“否”(步驟S141:否),則結束處理。
圖13B的(c)是表示第二候選追加后的合并塊候選列表的一例的表。
接著,說明在圖像編碼裝置100中,(2)向合并塊候選列表的全部要素加入第二候選并初始化的情況。
在此,圖13C是表示以第二候選將合并塊候選列表初始化的情況下的合并塊候選列表的表。在圖13C中,例示了合并塊候選數的最大值Max為6的情況。
此外,圖14C是表示圖12所示的步驟S101的詳細處理的流程圖。
在步驟S117中,合并塊候選計算部114將合并塊候選列表(候選列表)初始化。圖13C的(a)示出了初始化后的候選列表的一例。在圖13C的(a)中,向合并塊候選[0]~[5]全部加入了第二候選。另外,雖然在圖13C的(a)中未明確示出,但是第二候選全部相同。
在步驟S118中,合并塊候選計算部114導出第一候選,將第一候選的數量更新為合并塊候選數。N1是表示相鄰塊的值。在此,相鄰塊是相鄰塊A~D及co-located合并塊這6個,因此以0~5規定。此外,這里的第一候選是去除了不可合并候選及重復候選后的候選。進而,合并塊候選計算部114將第一候選追加到候選列表,取得運動矢量、參照圖片索引及預測方向。圖13C的(b)是表示第一候選追加后的合并塊候選列表的表。
在步驟S114中,合并塊候選計算部114通過與實施方式1相同的方法追加新候選。圖13C的(c)是表示新候選追加后的合并塊候選列表的表。
圖15B是表示圖14C的步驟S118的詳細處理的流程圖。
在步驟S126中,合并塊候選計算部114判定相鄰塊是否為(1)通過幀內預測被編碼的塊、或(2)位于包含編碼對象塊的切片或圖片邊界外的塊、或(3)尚未編碼的塊、或(4)具有與已經追加到候選列表的合并塊候選中的某一個合并塊候選相同的預測方向、運動矢量及參照圖片索引的塊(重復候選)。
步驟S126的判定結果為“是”的情況下(步驟S126:是),合并塊候選計算部114判定為不可合并候選。另一方面,步驟S126的判定結果為“否”的情況下(步驟S126:否),合并塊候選計算部114判定為可合并候選。
在步驟S124中,步驟S126的針對相鄰塊的判定結果為可合并候選的情況下或相鄰塊為co-located合并塊的情況下,向合并塊候選列表追加合并塊候選并將合并塊候選數加1。
另外,圖13C的(c)與圖13B的(c)相同,無論是在追加新候選后追加第二候選的情況下,還是在最初就以第二候選將合并塊候選列表初始化的情況下,都能夠得到相同的合并塊候選列表。
在圖像解碼裝置300中,也能夠通過同樣的方法制作合并塊候選列表,從而將合并塊索引正常地解碼。
在合并塊候選列表中存在空要素的情況下,在圖像解碼裝置300中,在刪除合并塊候選的重復候選時可能會發生錯誤,重復候選未被刪除而殘留。這種情況下,合并塊候選列表尺寸為2以上的固定數量的情況下,在合并塊候選列表中可能存在未分配合并塊候選的候選。
在該變形例中,向全部空候選列表追加第二候選,所以能夠避免存在未分配合并塊候選的候選的狀況。
另外,在本變形例中,示出了對未分配合并塊候選的合并塊索引分配參照圖片為0且運動矢量為(0、0)的合并塊候選(第二候選)的例子,但是不限于此。作為其他的第二候選,例如可以拷貝其他相鄰塊的參照圖片索引、運動矢量及預測方向并作為合并塊候選。此外,也可以求取從相鄰塊得到的候選的平均等、根據-從相鄰塊得到的候選來生成。
另外,在上述變形例中,作為分配第二候選的方法,說明了(1)在追加新候選(第三候選)之后向空候選分配第二候選、或者(2)向合并塊候選列表的全部要素加入第二候選而初始化的方法,但是不限于此。
例如可以是,在圖像解碼裝置300中,在圖20的步驟S306中,判定是否未向解碼后的合并塊索引分配合并塊候選,如果判定結果為“是”,則追加第二候選。即,在步驟S305中,不制作沒有空要素的合并塊候選列表,而是僅在解碼后的合并塊索引所示的要素為空要素的情況下,僅對該空要素追加第二候選。這種情況下,能夠削減處理量。
另外,作為第二候選,也可以使用參照圖片為0且運動矢量為(0、0)的合并塊候選、向其他合并塊索引分配的合并塊候選、或者根據向其他合并塊索引分配的合并塊候選生成的合并塊候選等。
此外,例如也可以是,在圖像解碼裝置300中,在圖20的步驟S306中,判定解碼后的合并塊索引是否為在步驟S303中求出的合并塊候選數以上,如果判定結果為“是”,則追加第二候選。即,解碼后的合并塊索引為在步驟S303中求出的合并塊候選數以下的情況下,省略追加第二候選的處理。這種情況下,能夠削減處理量。
另外,作為第二候選,可以使用參照圖片為0且運動矢量為(0、0)的合并塊候選、向其他合并塊索引分配的合并塊候選、或者根據向其他合并塊索引分配的合并塊候選生成的合并塊候選等。
此外,例如也可以是,在圖像解碼裝置300中,在圖20的步驟S306中,判定解碼后的合并塊索引是否為在步驟S303中求出的合并塊候選數以上,如果判定結果為“是”,以合并塊候選數的值來削減合并塊索引的值,以使合并塊索引的值小于合并塊候選數的值。
根據本實施方式的圖像編碼裝置100及圖像解碼裝置300,通過執行這樣的處理,例如在已將合并塊索引正常解碼的情況下,即使在刪除合并塊候選的重復候選時發生了錯誤,也能夠避免未向解碼后的合并塊索引分配合并塊候選的狀況。由此,能夠提高容錯性。
(實施方式3)
通過將用來實現上述各實施方式所示的運動圖像編碼方法(圖像編碼方法)或運動圖像解碼方法(圖像解碼方法)的結構的程序記錄到存儲介質中,能夠將上述各實施方式所示的處理在獨立的計算機系統中簡單地實施。存儲介質是磁盤、光盤、光磁盤、IC卡、半導體存儲器等,只要是能夠記錄程序的介質就可以。
進而,這里說明在上述各實施方式中示出的運動圖像編碼方法(圖像編碼方法)及運動圖像解碼方法(圖像解碼方法)的應用例和使用它的系統。該系統的特征在于,具有由使用圖像編碼方法的圖像編碼裝置及使用圖像解碼方法的圖像解碼裝置構成的圖像編碼解碼裝置。關于系統的其他結構,可以根據情況而適當變更。
圖25是表示實現內容分發服務的內容供給系統ex100的整體結構的圖。將通信服務的提供區劃分為希望的大小,在各小區內分別設置有作為固定無線站的基站ex106、ex107、ex108、ex109、ex110。
該內容供給系統ex100在因特網ex101上經由因特網服務提供商ex102及電話網ex104、及基站ex107~ex110連接著計算機ex111、PDA(Personal Digital Assistant)ex112、照相機ex113、便攜電話ex114、游戲機ex115等的各設備。
但是,內容供給系統ex100并不限定于圖25那樣的結構,也可以將某些要素組合連接。此外,也可以不經由作為固定無線站的基站ex107~ex110將各設備直接連接在電話網ex104上。此外,也可以將各設備經由近距離無線等直接相互連接。
照相機ex113是能夠進行數字攝像機等的運動圖像攝影的設備,照相機ex116是能夠進行數字照相機等的靜止圖像攝影、運動圖像攝影的設備。此外,便攜電話ex114是GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、或LTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)的便攜電話機、或PHS(Personal Handyphone System)等,是哪種都可以。
在內容供給系統ex100中,通過將照相機ex113等經由基站ex109、電話網ex104連接在流媒體服務器ex103上,能夠進行現場轉播等。在現場轉播中,對用戶使用照相機ex113攝影的內容(例如音樂會現場的影像等)如在上述各實施方式中說明那樣進行編碼處理(即,作為本發明的一個方式的圖像編碼裝置發揮作用),向流媒體服務器ex103發送。另一方面,流媒體服務器ex103將發送來的內容數據對有請求的客戶端進行流分發。作為客戶端,有能夠將上述編碼處理后的數據解碼的計算機ex111、PDAex112、照相機ex113、便攜電話ex114、游戲機ex115等。在接收到分發的數據的各設備中,將接收到的數據解碼處理而再現(即,作為本發明的一個方式的圖像解碼裝置發揮作用)。
另外,攝影的數據的編碼處理既可以由照相機ex113進行,也可以由進行數據的發送處理的流媒體服務器ex103進行,也可以相互分擔進行。同樣,分發的數據的解碼處理既可以由客戶端進行,也可以由流媒體服務器ex103進行,也可以相互分擔進行。此外,并不限于照相機ex113,也可以將由照相機ex116攝影的靜止圖像及/或運動圖像數據經由計算機ex111向流媒體服務器ex103發送。此情況下的編碼處理由照相機ex116、計算機ex111、流媒體服務器ex103的哪個進行都可以,也可以相互分擔進行。
此外,這些編碼解碼處理一般在計算機ex111或各設備具有的LSIex500中處理。LSIex500既可以是單芯片,也可以是由多個芯片構成的結構。另外,也可以將運動圖像編碼解碼用的軟件裝入到能夠由計算機ex111等讀取的某些記錄介質(CD-ROM、軟盤、硬盤等)中、使用該軟件進行編碼解碼處理。進而,在便攜電話ex114是帶有照相機的情況下,也可以將由該照相機取得的運動圖像數據發送。此時的運動圖像數據是由便攜電話ex114具有的LSIex500編碼處理的數據。
此外,也可以是,流媒體服務器ex103是多個服務器或多個計算機,是將數據分散處理、記錄、及分發的。
如以上這樣,在內容供給系統ex100中,客戶端能夠接收編碼的數據而再現。這樣,在內容供給系統ex100中,客戶端能夠將用戶發送的信息實時地接收、解碼、再現,即使是沒有特別的權利或設備的用戶也能夠實現個人廣播。
另外,并不限定于內容供給系統ex100的例子,如圖26所示,在數字廣播用系統ex200中也能夠裝入上述實施方式的至少運動圖像編碼裝置(圖像編碼裝置)或運動圖像解碼裝置(圖像解碼裝置)的某個。具體而言,在廣播站ex201中,將對影像數據復用了音樂數據等而得到的復用數據經由電波向通信或廣播衛星ex202傳送。該影像數據是通過上述各實施方式中說明的運動圖像編碼方法編碼后的數據(即,通過本發明的一個方式的圖像編碼裝置編碼后的數據)。接受到該數據的廣播衛星ex202發出廣播用的電波,能夠對該電波進行衛星廣播接收的家庭的天線ex204接收該電波,通過電視機(接收機)ex300或機頂盒(STB)ex217等的裝置將接收到的復用數據解碼并將其再現(即,作為本發明的一個方式的圖像解碼裝置發揮作用)。
此外,也可以是,在將記錄在DVD、BD等的記錄介質ex215中的復用數據讀取并解碼、或將影像數據編碼再根據情況與音樂信號復用而寫入記錄介質ex215中的讀取器/記錄器ex218中也能夠安裝上述各實施方式所示的運動圖像解碼裝置或運動圖像編碼裝置。在此情況下,可以將再現的影像信號顯示在監視器ex219上,通過記錄有復用數據的記錄介質ex215在其他裝置或系統中能夠再現影像信號。此外,也可以是,在連接在有線電視用的線纜ex203或衛星/地面波廣播的天線ex204上的機頂盒ex217內安裝運動圖像解碼裝置,將其用電視機的監視器ex219顯示。此時,也可以不是在機頂盒、而在電視機內裝入運動圖像解碼裝置。
圖27是表示使用在上述各實施方式中說明的運動圖像解碼方法及運動圖像編碼方法的電視機(接收機)ex300的圖。電視機ex300具備經由接收上述廣播的天線ex204或線纜ex203等取得或者輸出對影像數據復用了聲音數據的復用數據的調諧器ex301、將接收到的復用數據解調或調制為向外部發送的編碼數據的調制/解調部ex302、和將解調后的復用數據分離為影像數據、聲音數據或將在信號處理部ex306中編碼的影像數據、聲音數據復用的復用/分離部ex303。
此外,電視機ex300具備:具有將聲音數據、影像數據分別解碼、或將各自的信息編碼的聲音信號處理部ex304和影像信號處理部ex305(即,作為本發明的一個方式的圖像編碼裝置或圖像解碼裝置發揮作用)的信號處理部ex306;具有將解碼后的聲音信號輸出的揚聲器ex307及顯示解碼后的影像信號的顯示器等的顯示部ex308的輸出部ex309。進而,電視機ex300具備具有受理用戶操作的輸入的操作輸入部ex312等的接口部ex317。進而,電視機ex300具有合并控制各部的控制部ex310、對各部供給電力的電源電路部ex311。接口部ex317也可以除了操作輸入部ex312以外,還具有與讀取器/記錄器ex218等的外部設備連接的橋接部ex313、用來能夠安裝SD卡等的記錄介質ex216的插槽部ex314、用來與硬盤等的外部記錄介質連接的驅動器ex315、與電話網連接的調制解調器ex316等。另外,記錄介質ex216是能夠通過收存的非易失性/易失性的半導體存儲元件電氣地進行信息的記錄的結構。電視機ex300的各部經由同步總線相互連接。
首先,對電視機ex300將通過天線ex204等從外部取得的復用數據解碼、再現的結構進行說明。電視機ex300接受來自遙控器ex220等的用戶操作,基于具有CPU等的控制部ex310的控制,將由調制/解調部ex302解調的復用數據用復用/分離部ex303分離。進而,電視機ex300將分離的聲音數據用聲音信號處理部ex304解碼,將分離的影像數據用影像信號處理部ex305使用在上述各實施方式中說明的解碼方法解碼。將解碼后的聲音信號、影像信號分別從輸出部ex309朝向外部輸出。在輸出時,可以暫時將這些信號儲存到緩沖器ex318、ex319等中,以使聲音信號和影像信號同步再現。此外,電視機ex300也可以不是從廣播等、而從磁/光盤、SD卡等的記錄介質ex215、ex216讀出編碼的復用數據。接著,對電視機ex300將聲音信號或影像信號編碼、向外部發送或寫入到記錄介質等中的結構進行說明。電視機ex300接受來自遙控器ex220等的用戶操作,基于控制部ex310的控制,由聲音信號處理部ex304將聲音信號編碼,由影像信號處理部ex305將影像信號使用在上述各實施方式中說明的編碼方法編碼。將編碼后的聲音信號、影像信號用復用/分離部ex303復用,向外部輸出。在復用時,可以暫時將這些信號儲存到緩沖器ex320、ex321等中,以使聲音信號和影像信號同步再現。另外,緩沖器ex318、ex319、ex320、ex321既可以如圖示那樣具備多個,也可以是共用一個以上的緩沖器的結構。進而,在圖示以外,也可以是,在例如調制/解調部ex302或復用/分離部ex303之間等也作為避免系統的上溢、下溢的緩沖部而在緩沖器中儲存數據。
此外,電視機ex300除了從廣播等或記錄介質等取得聲音數據、影像數據以外,也可以具備受理麥克風或照相機的AV輸入的結構,對從它們中取得的數據進行編碼處理。另外,這里,將電視機ex300作為能夠進行上述編碼處理、復用、及外部輸出的結構進行了說明,但也可以是,不能進行這些處理,而是僅能夠進行上述接收、解碼處理、外部輸出的結構。
此外,在由讀取器/記錄器ex218從記錄介質將復用數據讀出、或寫入的情況下,上述解碼處理或編碼處理由電視機ex300、讀取器/記錄器ex218的哪個進行都可以,也可以是電視機ex300和讀取器/記錄器ex218相互分擔進行。
作為一例,將從光盤進行數據的讀入或寫入的情況下的信息再現/記錄部ex400的結構表示在圖28中。信息再現/記錄部ex400具備以下說明的單元ex401、ex402、ex403、ex404、ex405、ex406、ex407。光頭ex401對作為光盤的記錄介質ex215的記錄面照射激光斑而寫入信息,檢測來自記錄介質ex215的記錄面的反射光而讀入信息。調制記錄部ex402電氣地驅動內置在光頭ex401中的半導體激光器,根據記錄數據進行激光的調制。再現解調部ex403將由內置在光頭ex401中的光檢測器電氣地檢測到來自記錄面的反射光而得到的再現信號放大,將記錄在記錄介質ex215中的信號成分分離并解調,再現所需要的信息。緩沖器ex404將用來記錄到記錄介質ex215中的信息及從記錄介質ex215再現的信息暫時保持。盤馬達ex405使記錄介質ex215旋轉。伺服控制部ex406一邊控制盤馬達ex405的旋轉驅動一邊使光頭ex401移動到規定的信息軌道,進行激光斑的追蹤處理。系統控制部ex407進行信息再現/記錄部ex400整體的控制。上述的讀出及寫入的處理由系統控制部ex407利用保持在緩沖器ex404中的各種信息、此外根據需要而進行新的信息的生成、追加、并且一邊使調制記錄部ex402、再現解調部ex403、伺服控制部ex406協調動作、一邊通過光頭ex401進行信息的記錄再現來實現。系統控制部ex407例如由微處理器構成,通過執行讀出寫入的程序來執行它們的處理。
以上,假設光頭ex401照射激光斑而進行了說明,但也可以是使用近場光進行高密度的記錄的結構。
在圖29中表示作為光盤的記錄介質ex215的示意圖。在記錄介質ex215的記錄面上,以螺旋狀形成有導引槽(溝),在信息軌道ex230中,預先通過溝的形狀的變化而記錄有表示盤上的絕對位置的地址信息。該地址信息包括用來確定作為記錄數據的單位的記錄塊ex231的位置的信息,通過在進行記錄及再現的裝置中將信息軌道ex230再現而讀取地址信息,能夠確定記錄塊。此外,記錄介質ex215包括數據記錄區域ex233、內周區域ex232、外周區域ex234。為了記錄用戶數據而使用的區域是數據記錄區域ex233,配置在比數據記錄區域ex233靠內周或外周的內周區域ex232和外周區域ex234用于用戶數據的記錄以外的特定用途。信息再現/記錄部ex400對這樣的記錄介質ex215的數據記錄區域ex233進行編碼的聲音數據、影像數據或復用了這些數據的編碼數據的讀寫。
以上,舉1層的DVD、BD等的光盤為例進行了說明,但并不限定于這些,也可以是多層構造、在表面以外也能夠記錄的光盤。此外,也可以是在盤的相同的地方使用不同波長的顏色的光記錄信息、或從各種角度記錄不同的信息的層等、進行多維的記錄/再現的構造的光盤。
此外,在數字廣播用系統ex200中,也可以由具有天線ex205的車ex210從衛星ex202等接收數據、在車ex210具有的車載導航儀ex211等的顯示裝置上再現運動圖像。另外,車載導航儀ex211的結構可以考慮例如在圖27所示的結構中添加GPS接收部的結構,在計算機ex111及便攜電話ex114等中也可以考慮同樣的結構。
圖30A是表示使用在上述實施方式中說明的運動圖像解碼方法和運動圖像編碼方法的便攜電話ex114的圖。便攜電話ex114具有由用來在與基站ex110之間收發電波的天線ex350、能夠拍攝影像、靜止圖像的照相機部ex365、顯示將由照相機部ex365攝影的影像、由天線ex350接收到的影像等解碼后的數據的液晶顯示器等的顯示部ex358。便攜電話ex114還具有包含操作鍵部ex366的主體部、用來進行聲音輸出的揚聲器等的聲音輸出部ex357、用來進行聲音輸入的麥克風等的聲音輸入部ex356、保存拍攝到的影像、靜止圖像、錄音的聲音、或者接收到的影像、靜止圖像、郵件等的編碼后的數據或者解碼后的數據的存儲器部ex367、或者作為與同樣保存數據的記錄介質之間的接口部的插槽部ex364。
進而,使用圖30B對便攜電話ex114的結構例進行說明。便攜電話ex114對于合并控制具備顯示部ex358及操作鍵部ex366的主體部的各部的主控制部ex360,將電源電路部ex361、操作輸入控制部ex362、影像信號處理部ex355、照相機接口部ex363、LCD(Liquid Crystal Display:液晶顯示器)控制部ex359、調制/解調部ex352、復用/分離部ex353、聲音信號處理部ex354、插槽部ex364、存儲器部ex367經由總線ex370相互連接。
電源電路部ex361如果通過用戶的操作使通話結束及電源鍵成為開啟狀態,則通過從電池組對各部供給電力,便攜電話ex114起動為能夠動作的狀態。
便攜電話ex114基于具有CPU、ROM及RAM等的主控制部ex360的控制,在語音通話模式時,將由聲音輸入部ex356集音的聲音信號通過聲音信號處理部ex354變換為數字聲音信號,將其用調制/解調部ex352進行波譜擴散處理,由發送/接收部ex351實施數字模擬變換處理及頻率變換處理后經由天線ex350發送。此外,便攜電話ex114在語音通話模式時,將由天線ex350接收到的接收數據放大并實施頻率變換處理及模擬數字變換處理,用調制/解調部ex352進行波譜逆擴散處理,通過聲音信號處理部ex354變換為模擬聲音數據后,將其經由聲音輸出部ex357輸出。
進而,在數據通信模式時發送電子郵件的情況下,將通過主體部的操作鍵部ex366等的操作輸入的電子郵件的文本數據經由操作輸入控制部ex362向主控制部ex360送出。主控制部ex360將文本數據用調制/解調部ex352進行波譜擴散處理,由發送/接收部ex351實施數字模擬變換處理及頻率變換處理后,經由天線ex350向基站ex110發送。在接收電子郵件的情況下,對接收到的數據執行上述處理的大致逆處理,并輸出到顯示部ex350。
在數據通信模式時,在發送影像、靜止圖像、或者影像和聲音的情況下,影像信號處理部ex355將從照相機部ex365供給的影像信號通過上述各實施方式所示的運動圖像編碼方法進行壓縮編碼(即,作為本發明的一個方式的圖像編碼裝置發揮作用),將編碼后的影像數據送出至復用/分離部ex353。另外,聲音信號處理部ex354對通過照相機部ex365拍攝影像、靜止圖像等的過程中用聲音輸入部ex356集音的聲音信號進行編碼,將編碼后的聲音數據送出至復用/分離部ex353。
復用/分離部ex353通過規定的方式,對從影像信號處理部ex355供給的編碼后的影像數據和從聲音信號處理部ex354供給的編碼后的聲音數據進行復用,將其結果得到的復用數據用調制/解調部(調制/解調電路部)ex352進行波譜擴散處理,由發送/接收部ex351實施數字模擬變換處理及頻率變換處理后,經由天線ex350發送。
在數據通信模式時接收到鏈接到主頁等的運動圖像文件的數據的情況下,或者接收到附加了影像或者聲音的電子郵件的情況下,為了對經由天線ex350接收到的復用數據進行解碼,復用/分離部ex353通過將復用數據分離,分為影像數據的比特流和聲音數據的比特流,經由同步總線ex370將編碼后的影像數據向影像信號處理部ex355供給,并將編碼后的聲音數據向聲音信號處理部ex354供給。影像信號處理部ex355通過與上述各實施方式所示的運動圖像編碼方法相對應的運動圖像解碼方法進行解碼,由此對影像信號進行解碼(即,作為本發明的一個方式的圖像解碼裝置發揮作用),經由LCD控制部ex359從顯示部ex358顯示例如鏈接到主頁的運動圖像文件中包含的影像、靜止圖像。另外,聲音信號處理部ex354對聲音信號進行解碼,從聲音輸出部ex357輸出聲音。
此外,上述便攜電話ex114等的終端與電視機ex300同樣,除了具有編碼器、解碼器兩者的收發型終端以外,還可以考慮只有編碼器的發送終端、只有解碼器的接收終端的3種安裝形式。另外,在數字廣播用系統ex200中,設為發送、接收在影像數據中復用了音樂數據等得到的復用數據而進行了說明,但除聲音數據之外復用了與影像關聯的字符數據等的數據也可以,不是復用數據而是影像數據本身也可以。
這樣,將在上述各實施方式中表示的運動圖像編碼方法或運動圖像解碼方法用在上述哪種設備、系統中都可以,通過這樣,能夠得到在上述各實施方式中說明的效果。
此外,本發明并不限定于這樣的上述實施方式,能夠不脫離本發明的范圍而進行各種變形或修正。
(實施方式4)
也可以通過將在上述各實施方式中示出的運動圖像編碼方法或裝置、與依據MPEG-2、MPEG4-AVC、VC-1等不同的標準的運動圖像編碼方法或裝置根據需要而適當切換,來生成影像數據。
這里,在生成分別依據不同的標準的多個影像數據的情況下,在解碼時,需要選擇對應于各個標準的解碼方法。但是,由于不能識別要解碼的影像數據依據哪個標準,所以產生不能選擇適當的解碼方法的問題。
為了解決該問題,在影像數據中復用了聲音數據等的復用數據采用包含表示影像數據依據哪個標準的識別信息的結構。以下,說明包括通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據在內的復用數據的具體的結構。復用數據是MPEG-2傳輸流形式的數字流。
圖31是表示復用數據的結構的圖。如圖31所示,復用數據通過將視頻流、音頻流、演示圖形流(PG)、交互圖形流中的1個以上進行復用而得到。視頻流表示電影的主影像及副影像,音頻流(IG)表示電影的主聲音部分和與該主聲音混合的副聲音,演示圖形流表示電影的字幕。這里,所謂主影像,表示顯示在畫面上的通常的影像,所謂副影像,是在主影像中用較小的畫面顯示的影像。此外,交互圖形流表示通過在畫面上配置GUI部件而制作的對話畫面。視頻流通過在上述各實施方式中示出的運動圖像編碼方法或裝置、依據以往的MPEG-2、MPEG4-AVC、VC-1等標準的運動圖像編碼方法或裝置編碼。音頻流由杜比AC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、或線性PCM等的方式編碼。
包含在復用數據中的各流通過PID被識別。例如,對在電影的影像中使用的視頻流分配0x1011,對音頻流分配0x1100到0x111F,對演示圖形分配0x1200到0x121F,對交互圖形流分配0x1400到0x141F,對在電影的副影像中使用的視頻流分配0x1B00到0x1B1F,對與主聲音混合的副聲音中使用的音頻流分配0x1A00到0x1A1F。
圖32是示意地表示復用數據怎樣被復用的圖。首先,將由多個視頻幀構成的視頻流ex235、由多個音頻幀構成的音頻流ex238分別變換為PES包序列ex236及ex239,并變換為TS包ex237及ex240。同樣,將演示圖形流ex241及交互圖形ex244的數據分別變換為PES包序列ex242及ex245,再變換為TS包ex243及ex246。復用數據ex247通過將這些TS包復用到1條流中而構成。
圖33更詳細地表示在PES包序列中怎樣保存視頻流。圖33的第1段表示視頻流的視頻幀序列。第2段表示PES包序列。如圖33的箭頭yy1、yy2、yy3、yy4所示,視頻流中的多個作為Video Presentation Unit的I圖片、B圖片、P圖片按每個圖片被分割并保存到PES包的有效載荷中。各PES包具有PES頭,在PES頭中,保存有作為圖片的顯示時刻的PTS(Presentation Time-Stamp)及作為圖片的解碼時刻的DTS(Decoding Time-Stamp)。
圖34表示最終寫入在復用數據中的TS包的形式。TS包是由具有識別流的PID等信息的4字節的TS頭和保存數據的184字節的TS有效載荷構成的188字節固定長度的包,上述PES包被分割并保存到TS有效載荷中。在BD-ROM的情況下,對于TS包賦予4字節的TP_Extra_Header,構成192字節的源包,寫入到復用數據中。在TP_Extra_Header中記載有ATS(Arrival_Time_Stamp)等信息。ATS表示該TS包向解碼器的PID濾波器的轉送開始時刻。在復用數據中,源包如圖34下段所示排列,從復用數據的開頭起遞增的號碼被稱作SPN(源包號)。
此外,在復用數據所包含的TS包中,除了影像、聲音、字幕等的各流以外,還有PAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)等。PAT表示在復用數據中使用的PMT的PID是什么,PAT自身的PID被登記為0。PMT具有復用數據所包含的影像、聲音、字幕等的各流的PID、以及與各PID對應的流的屬性信息,還具有關于復用數據的各種描述符。在描述符中,有指示許可/不許可復用數據的拷貝的拷貝控制信息等。PCR為了取得作為ATS的時間軸的ATC(Arrival Time Clock)與作為PTS及DTS的時間軸的STC(System Time Clock)的同步,擁有與該PCR包被轉送至解碼器的ATS對應的STC時間的信息。
圖35是詳細地說明PMT的數據構造的圖。在PMT的開頭,配置有記述了包含在該PMT中的數據的長度等的PMT頭。在其后面,配置有多個關于復用數據的描述符。上述拷貝控制信息等被記載為描述符。在描述符之后,配置有多個關于包含在復用數據中的各流的流信息。流信息由記載有用來識別流的壓縮編解碼器的流類型、流的PID、流的屬性信息(幀速率、縱橫比等)的流描述符構成。流描述符存在復用數據中存在的流的數量。
在記錄到記錄介質等中的情況下,將上述復用數據與復用數據信息文件一起記錄。
復用數據信息文件如圖36所示,是復用數據的管理信息,與復用數據一對一地對應,由復用數據信息、流屬性信息以及入口映射構成。
復用數據信息如圖36所示,由系統速率、再現開始時刻、再現結束時刻構成。系統速率表示復用數據的向后述的系統目標解碼器的PID濾波器的最大轉送速率。包含在復用數據中的ATS的間隔設定為成為系統速率以下。再現開始時刻是復用數據的開頭的視頻幀的PTS,再現結束時刻設定為對復用數據的末端的視頻幀的PTS加上1幀量的再現間隔的值。
流屬性信息如圖37所示,按每個PID登記有關于包含在復用數據中的各流的屬性信息。屬性信息具有按視頻流、音頻流、演示圖形流、交互圖形流而不同的信息。視頻流屬性信息具有該視頻流由怎樣的壓縮編解碼器壓縮、構成視頻流的各個圖片數據的分辨率是多少、縱橫比是多少、幀速率是多少等的信息。音頻流屬性信息具有該音頻流由怎樣的壓縮編解碼器壓縮、包含在該音頻流中的聲道數是多少、對應于哪種語言、采樣頻率是多少等的信息。這些信息用于在播放器再現之前的解碼器的初始化等中。
在本實施方式中,使用上述復用數據中的、包含在PMT中的流類型。此外,在記錄介質中記錄有復用數據的情況下,使用包含在復用數據信息中的視頻流屬性信息。具體而言,在上述各實施方式示出的運動圖像編碼方法或裝置中,設置如下步驟或單元,該步驟或單元對包含在PMT中的流類型、或視頻流屬性信息,設定表示是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據的固有信息。通過該結構,能夠識別通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據、和依據其他標準的影像數據。
此外,在圖38中表示本實施方式的運動圖像解碼方法的步驟。在步驟exS100中,從復用數據中取得包含在PMT中的流類型、或包含在復用數據信息中的視頻流屬性信息。接著,在步驟exS101中,判斷流類型、或視頻流屬性信息是否表示是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的復用數據。并且,在判斷為流類型、或視頻流屬性信息是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的復用數據情況下,在步驟exS102中,通過在上述各實施方式中示出的運動圖像解碼方法進行解碼。此外,在流類型、或視頻流屬性信息表示是依據以往的MPEG-2、MPEG4-AVC、VC-1等的標準的復用數據的情況下,在步驟exS103中,通過依據以往的標準的運動圖像解碼方法進行解碼。
這樣,通過在流類型、或視頻流屬性信息中設定新的固有值,在解碼時能夠判斷是否能夠通過在上述各實施方式中示出的運動圖像解碼方法或裝置解碼。因而,在被輸入了依據不同的標準的復用數據的情況下,也能夠選擇適當的解碼方法或裝置,所以能夠不發生錯誤地進行解碼。此外,將在本實施方式中示出的運動圖像編碼方法或裝置、或者運動圖像解碼方法或裝置用在上述任何設備、系統中。
(實施方式5)
在上述各實施方式中示出的運動圖像編碼方法及裝置、運動圖像解碼方法及裝置典型地可以由作為集成電路的LSI實現。作為一例,在圖39中表示1芯片化的LSIex500的結構。LSIex500具備以下說明的單元ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509,各單元經由總線ex510連接。電源電路部ex505通過在電源是開啟狀態的情況下對各部供給電力,起動為能夠動作的狀態。
例如在進行編碼處理的情況下,LSIex500基于具有CPUex502、存儲器控制器ex503、流控制器ex504、驅動頻率控制部ex512等的控制部ex501的控制,通過AV I/Oex509從麥克風ex117及照相機ex113等輸入AV信號。被輸入的AV信號暫時儲存在SDRAM等的外部的存儲器ex511中。基于控制部ex501的控制,將儲存的數據根據處理量及處理速度適當地分為多次等,向信號處理部ex507發送,在信號處理部ex507中進行聲音信號的編碼及/或影像信號的編碼。這里,影像信號的編碼處理是在上述各實施方式中說明的編碼處理。在信號處理部ex507中,還根據情況而進行將編碼的聲音數據和編碼的影像數據復用等的處理,從流I/Oex506向外部輸出。將該輸出的比特流向基站ex107發送、或寫入到記錄介質ex215中。另外,在復用時,可以暫時將數據儲存到緩沖器ex508中以使其同步。
另外,在上述中,設存儲器ex511為LSIex500的外部的結構進行了說明,但也可以是包含在LSIex500的內部中的結構。緩沖器ex508也并不限定于一個,也可以具備多個緩沖器。此外,LSIex500既可以形成1個芯片,也可以形成多個芯片。
此外,在上述中,假設控制部ex510具有CPUex502、存儲器控制器ex503、流控制器ex504、驅動頻率控制部ex512等,但控制部ex510的結構并不限定于該結構。例如,也可以是信號處理部ex507還具備CPU的結構。通過在信號處理部ex507的內部中也設置CPU,能夠進一步提高處理速度。此外,作為其他例,也可以是CPUex502具備信號處理部ex507、或作為信號處理部ex507的一部分的例如聲音信號處理部的結構。在這樣的情況下,控制部ex501為具備具有信號處理部ex507或其一部分的CPUex502的結構。
另外,這里設為LSI,但根據集成度的差異,也有稱作IC、系統LSI、超級(super)LSI、特級(ultra)LSI的情況。
此外,集成電路化的方法并不限定于LSI,也可以由專用電路或通用處理器實現。也可以利用在LSI制造后能夠編程的FPGA(Field Programmable Gate Array)、或能夠重構LSI內部的電路單元的連接及設定的可重構處理器。
進而,如果因半導體技術的進步或派生的其他技術而出現代替LSI的集成電路化的技術,則當然也可以使用該技術進行功能模塊的集成化。有可能是生物技術的應用等。
(實施方式6)
在將通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據解碼的情況下,考慮到與將依據以往的MPEG-2、MPEG4-AVC、VC-1等標準的影像數據的情況相比處理量會增加。因此,在LSIex500中,需要設定為比將依據以往的標準的影像數據解碼時的CPUex502的驅動頻率更高的驅動頻率。但是,如果將驅動頻率設得高,則發生消耗電力變高的問題。
為了解決該問題,電視機ex300、LSIex500等的運動圖像解碼裝置采用識別影像數據依據哪個標準、并根據標準切換驅動頻率的結構。圖40表示本實施方式的結構ex800。驅動頻率切換部ex803在影像數據是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的情況下,將驅動頻率設定得高。并且,對執行在上述各實施方式中示出的運動圖像解碼方法的解碼處理部ex801指示將影像數據解碼。另一方面,在影像數據是依據以往的標準的影像數據的情況下,與影像數據是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的數據的情況相比,將驅動頻率設定得低。并且,對依據以往的標準的解碼處理部ex802指示將影像數據解碼。
更具體地講,驅動頻率切換部ex803由圖39的CPUex502和驅動頻率控制部ex512構成。此外,執行在上述各實施方式中示出的運動圖像解碼方法的解碼處理部ex801、以及依據以往的標準的解碼處理部ex802對應于圖39的信號處理部ex507。CPUex502識別影像數據依據哪個標準。并且,基于來自CPUex502的信號,驅動頻率控制部ex512設定驅動頻率。此外,基于來自CPUex502的信號,信號處理部ex507進行影像數據的解碼。這里,可以考慮在影像數據的識別中使用例如在實施方式4中記載的識別信息。關于識別信息,并不限定于在實施方式4中記載的信息,只要是能夠識別影像數據依據哪個標準的信息就可以。例如,在基于識別影像數據利用于電視機還是利用于盤等的外部信號,來能夠識別影像數據依據哪個標準的情況下,也可以基于這樣的外部信號進行識別。此外,CPUex502的驅動頻率的選擇例如可以考慮如圖42所示的將影像數據的標準與驅動頻率建立對應的查找表進行。將查找表預先保存到緩沖器ex508、或LSI的內部存儲器中,CPUex502通過參照該查找表,能夠選擇驅動頻率。
圖41表示實施本實施方式的方法的步驟。首先,在步驟exS200中,在信號處理部ex507中,從復用數據中取得識別信息。接著,在步驟exS201中,在CPUex502中,基于識別信息識別影像數據是否是通過在上述各實施方式中示出的編碼方法或裝置生成的數據。在影像數據是通過在上述各實施方式中示出的編碼方法或裝置生成的數據的情況下,在步驟exS202中,CPUex502向驅動頻率控制部ex512發送將驅動頻率設定得高的信號。并且,在驅動頻率控制部ex512中設定為高的驅動頻率。另一方面,在表示是依據以往的MPEG-2、MPEG4-AVC、VC-1等的標準的影像數據的情況下,在步驟exS203中,CPUex502向驅動頻率控制部ex512發送將驅動頻率設定得低的信號。并且,在驅動頻率控制部ex512中,設定為與影像數據是通過在上述各實施方式中示出的編碼方法或裝置生成的數據的情況相比更低的驅動頻率。
進而,通過與驅動頻率的切換連動而變更對LSIex500或包括LSIex500的裝置施加的電壓,由此能夠進一步提高節電效果。例如,在將驅動頻率設定得低的情況下,隨之,可以考慮與將驅動頻率設定得高的情況相比,將對LSIex500或包括LSIex500的裝置施加的電壓設定得低。
此外,驅動頻率的設定方法只要是在解碼時的處理量大的情況下將驅動頻率設定得高、在解碼時的處理量小的情況下將驅動頻率設定得低就可以,并不限定于上述的設定方法。例如,可以考慮在將依據MPEG4-AVC標準的影像數據解碼的處理量大于將通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據解碼的處理量的情況下,與上述的情況相反地進行驅動頻率的設定。
進而,驅動頻率的設定方法并不限定于使驅動頻率低的結構。例如,也可以考慮在識別信息是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據的情況下,將對LSIex500或包括LSIex500的裝置施加的電壓設定得高,在表示是依據以往的MPEG-2、MPEG4-AVC、VC-1等的標準的影像數據的情況下,將對LSIex500或包括LSIex500的裝置施加的電壓設定得低。此外,作為另一例,也可以考慮在識別信息表示是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據的情況下,不使CPUex502的驅動停止,在表示是依據以往的MPEG-2、MPEG4-AVC、VC-1等的標準的影像數據的情況下,由于在處理中有富余,所以使CPUex502的驅動暫停。也可以考慮在識別信息表示是通過在上述各實施方式中示出的運動圖像編碼方法或裝置生成的影像數據的情況下,也只要在處理中有富余則使CPUex502的驅動暫停。在此情況下,可以考慮與表示是依據以往的MPEG-2、MPEG4-AVC、VC-1等的標準的影像數據的情況相比,將停止時間設定得短。
這樣,根據影像數據所依據的標準來切換驅動頻率,由此能夠實現節電化。此外,在使用電池來驅動LSIex500或包括LSIex500的裝置的情況下,能夠隨著節電而延長電池的壽命。
(實施方式7)
在電視機、便攜電話等上述的設備、系統中,有時被輸入依據不同的標準的多個影像數據。這樣,為了使得在被輸入了依據不同的標準的多個影像數據的情況下也能夠解碼,LSIex500的信號處理部ex507需要對應于多個標準。但是,如果單獨使用對應于各個標準的信號處理部ex507,則發生LSIex500的電路規模變大、此外成本增加的問題。
為了解決該問題,采用將用來執行在上述各實施方式中示出的運動圖像解碼方法的解碼處理部、和依據以往的MPEG-2、MPEG4-AVC、VC-1等的標準的解碼處理部一部分共用的結構。圖43A的ex900表示該結構例。例如,在上述各實施方式中示出的運動圖像解碼方法和依據MPEG4-AVC標準的運動圖像解碼方法在熵編碼、逆量化、解塊濾波器、運動補償等的處理中有一部分處理內容共通。可以考慮如下結構:關于共通的處理內容,共用對應于MPEG4-AVC標準的解碼處理部ex902,關于不對應于MPEG4-AVC標準的本發明的一個方式所特有的其他的處理內容,使用專用的解碼處理部ex901。關于解碼處理部的共用,也可以是如下結構:關于共通的處理內容,共用用來執行在上述各實施方式中示出的運動圖像解碼方法的解碼處理部,關于MPEG4-AVC標準所特有的處理內容,使用專用的解碼處理部。
此外,用圖43B的ex1000表示將處理一部分共用的另一例。在該例中,采用使用與本發明的一個方式所特有的處理內容對應的專用的解碼處理部ex1001、和與其他的以往標準所特有的處理內容對應的專用的解碼處理部ex1002、和與在本發明的一個方式的運動圖像解碼方法和其他的以往標準的運動圖像解碼方法中共通的處理內容對應的共用的解碼處理部ex1003的結構。這里,專用的解碼處理部ex1001、ex1002并不一定是為本發明的一個方式、或者其他的以往標準所特有的處理內容而特殊化的,可以是能夠執行其他的通用處理的結構。此外,也能夠由LSIex500安裝本實施方式的結構。
這樣,對于在本發明的一個方式的運動圖像解碼方法和以往的標準的運動圖像解碼方法中共通的處理內容,共用解碼處理部,由此能夠減小LSI的電路規模并且降低成本。
工業實用性
本發明的一個方式的圖像解碼方法及圖像編碼方法能夠有效應用于運動圖像的解碼方法及編碼方法。
標號說明:
100 圖像編碼裝置
101 減法部
102 正交變換部
103 量化部
104、302 逆量化部
105、303 逆正交變換部
106、304 加法部
107、305 塊存儲器
108、306 幀存儲器
109、307 幀內預測部
110、308 幀間預測部
111、309 幀間預測控制部
113、310 開關
114、311 合并塊候選計算部
115、312 colPic存儲器
116 可變長度編碼部
300 圖像解碼裝置
301 可變長度解碼部