亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

動圖像編碼裝置、動圖像編碼方法以及記錄介質(zhì)與流程

文檔序號:11518173閱讀:496來源:國知局
動圖像編碼裝置、動圖像編碼方法以及記錄介質(zhì)與流程

本申請是基于申請?zhí)枮?01280026093.4、申請日為2012年5月30日、申請人為jvc建伍株式會社、發(fā)明名稱為“動圖像編碼裝置、動圖像編碼方法及動圖像編碼程序、以及動圖像解碼裝置、動圖像解碼方法及動圖像解碼程序”的發(fā)明提出的分案申請。

本發(fā)明涉及動圖像編碼及解碼技術(shù),特別涉及利用了運動補償預測的動圖像編碼及解碼技術(shù)。



背景技術(shù):

作為動圖像的壓縮編碼方式的代表,有mpeg-4avc/h.264標準。在mpeg-4avc/h.264中,采用了運動補償,即,將圖片分割成多個矩形塊,將已經(jīng)編碼、解碼了的圖片作為參照圖片,預測相對于參照圖片的運動。將該通過運動補償來預測運動的方法稱作幀間預測。在mpeg-4avc/h.264的幀間預測中,可使用多個圖片作為參照圖片,從這多個參照圖片中針對每塊選擇最適合的參照圖片進行運動補償。因此,各個參照圖片被分配參照索引,通過該參照索引來確定參照圖片。對于b圖片,可以從已編碼、已解碼的參照圖片中最多選擇2個用于幀間預測。將基于這2個參照圖片的預測區(qū)別為主要作為前向預測來使用的l0預測(列表0預測)、和主要作為后向預測來使用的l1預測(列表1預測)。

進而,還定義了同時使用l0預測和l1預測這兩個幀間預測的雙預測。在雙預測的情況下,進行雙向的預測,并對l0預測、l1預測各自的幀間預測出的信號乘以加權(quán)系數(shù),加上偏置值后進行重疊,生成最終的幀間預測信號。用于加權(quán)預測的加權(quán)系數(shù)和偏置值被按圖片單位對各列表的每個參照圖片設(shè)定代表值、進行編碼。在關(guān)于幀間預測的編碼信息中,針對每個塊,有區(qū)別l0預測、l1預測、雙預測的預測模式,針對每個塊的每個參照列表,有用于確定參照圖片的參照索引、表示塊的移動方向、移動量的運動矢量,對這些編碼信息進行編碼、解碼。

在進行運動補償?shù)膭訄D像編碼方式中,為削減在各塊中生成的運動矢量的碼量,針對運動矢量進行預測處理。在mpeg-4avc/h.264中,利用編碼對象的運動矢量與周圍的相鄰塊的運動矢量有較強的相關(guān)這一特點,進行基于周圍的相鄰塊的預測,由此導出預測運動矢量,并導出作為編碼對象的運動矢量與預測運動矢量的差分的差分運動矢量,通過對該差分運動矢量進行編碼來削減碼量。

具體來說,如圖48的(a)所示那樣,基于周圍的相鄰塊a,b,c的運動矢量導出中央值作為預測運動矢量,通過取運動矢量與該預測運動矢量的差分來削減運動矢量的碼量(非專利文獻1)。但是,在如圖48的(b)那樣,編碼對象塊與相鄰塊的形狀不同的情況下,左鄰有多個相鄰塊時,將其中最靠上的塊作為預測塊,上方有多個相鄰塊時,將其中最靠左的塊作為預測塊,在如圖48的(c)、(d)那樣,編碼對象塊被按16×8像素或8×16像素分割的情況下,不是取周圍的相鄰塊的運動矢量的中央值,而是根據(jù)運動補償塊的配置,針對如圖48的(c)、(d)的白箭頭所示那樣被分割的每個區(qū)域,決定參照目標預測塊,基于所決定的預測塊的運動矢量來實施預測。

〔在先技術(shù)文獻〕

〔非專利文獻〕

〔非專利文獻1〕iso/iec14496-10informationtechnology--codingofaudio-visualobjects--part10:advancedvideocoding



技術(shù)實現(xiàn)要素:

〔發(fā)明所要解決的課題〕

但在非專利文獻1所記載的方法中,僅能得到一個預測矢量,故根據(jù)圖像的不同,有時預測運動矢量的預測精度降低、編碼效率不佳。

在這樣的狀況下,本發(fā)明者認識到在使用運動補償預測的圖像編碼方式中,需要進一步壓縮編碼信息,削減整體的碼量。

本發(fā)明是鑒于這樣的狀況研發(fā)的,其目的在于提供一種通過導出預測運動矢量的候選,來謀求削減差分運動矢量的碼量、提高編碼效率的動圖像編碼及解碼技術(shù)。此外,另一目的在于提供一種通過導出編碼信息的候選,來謀求削減編碼信息的碼量、提高編碼效率的動圖像編碼及解碼技術(shù)。

〔用于解決課題的手段〕

為解決上述課題,本發(fā)明一個方案的動圖像編碼裝置是一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:預測運動矢量候選生成部(120、121),基于與編碼對象預測塊相同圖片內(nèi)的與上述編碼對象預測塊相鄰的第1已編碼預測塊、和與上述編碼對象預測塊不同圖片內(nèi)的位于上述編碼對象預測塊相同或周邊位置的第2已編碼預測塊的任一者的運動矢量進行預測,導出多個預測運動矢量的候選,將導出的預測運動矢量的候選登錄到預測運動矢量候選列表中;預測運動矢量選擇部(124),從上述預測運動矢量候選列表中選擇預測運動矢量;以及編碼部(109),對表示上述所選擇的預測運動矢量在上述預測運動矢量候選列表中的位置的信息進行編碼。上述預測運動矢量候選生成部(120、121)在為得到所設(shè)定數(shù)量的預測運動矢量的候選而賦予優(yōu)先順序地判定上述第1已編碼預測塊內(nèi)的哪個預測塊的運動矢量將成為用于導出預測運動矢量的候選的運動矢量時,針對左側(cè)的相鄰塊組及上側(cè)的相鄰塊組的各相鄰塊組,分別對預定順序的各預測塊按如下規(guī)則進行以下各條件的判定:條件1.在與按編碼對象預測塊而選擇的編碼模式相同的參照列表中、存在相同參照圖片的運動矢量;條件2.在與按編碼對象預測塊而選擇的編碼模式不同的參照列表中、存在相同參照圖片的運動矢量;條件3.在與按編碼對象預測塊而選擇的編碼模式相同的參照列表中、存在不同的參照圖片的運動矢量;條件4.在與按編碼對象預測塊而選擇的編碼模式不同的參照列表中、存在不同的參照圖片的運動矢量;所述規(guī)則為:首先,針對條件1、2,按該條件1、2的優(yōu)先順序?qū)Ω黝A測塊進行所述判定,然后針對條件3、4,按該條件3、4的優(yōu)先順序?qū)Ω黝A測塊進行所述判定。

本發(fā)明的另一方案是動圖像編碼方法。該方法是一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼方法,其特征在于,包括:預測運動矢量候選生成步驟,基于與編碼對象預測塊相同圖片內(nèi)的與上述編碼對象預測塊相鄰的第1已編碼預測塊、和與上述編碼對象預測塊不同圖片內(nèi)的位于上述編碼對象預測塊相同或周邊位置的第2已編碼預測塊的任一者的運動矢量進行預測,導出多個預測運動矢量的候選,將導出的預測運動矢量的候選登錄到預測運動矢量候選列表中;預測運動矢量選擇步驟,從上述預測運動矢量候選列表中選擇預測運動矢量;以及編碼步驟,對表示上述所選擇的預測運動矢量在上述預測運動矢量候選列表中的位置的信息進行編碼。在上述預測運動矢量候選生成步驟中,在為得到所設(shè)定數(shù)量的預測運動矢量的候選而賦予優(yōu)先順序地判定上述第1已編碼預測塊內(nèi)的哪個預測塊的運動矢量將成為用于導出預測運動矢量的候選的運動矢量時,針對左側(cè)的相鄰塊組及上側(cè)的相鄰塊組的各相鄰塊組,分別對預定順序的各預測塊按如下規(guī)則進行以下各條件的判定:條件1.在與按編碼對象預測塊而選擇的編碼模式相同的參照列表中、存在相同參照圖片的運動矢量;條件2.在與按編碼對象預測塊而選擇的編碼模式不同的參照列表中、存在相同參照圖片的運動矢量;條件3.在與按編碼對象預測塊而選擇的編碼模式相同的參照列表中、存在不同的參照圖片的運動矢量;條件4.在與按編碼對象預測塊而選擇的編碼模式不同的參照列表中、存在不同的參照圖片的運動矢量;所述規(guī)則為:首先,針對條件1、2,按該條件1、2的優(yōu)先順序?qū)Ω黝A測塊進行所述判定,然后針對條件3、4,按該條件3、4的優(yōu)先順序?qū)Ω黝A測塊進行所述判定。

本發(fā)明一個方案的動圖像解碼裝置是一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:預測運動矢量候選生成部(220、221),基于與解碼對象預測塊相同圖片內(nèi)的與上述解碼對象預測塊相鄰的第1已解碼預測塊、和與上述解碼對象預測塊不同圖片內(nèi)的位于上述解碼對象預測塊相同或周邊位置的第2已解碼預測塊的任一者的運動矢量進行預測,導出多個預測運動矢量的候選,將導出的預測運動矢量的候選登錄到預測運動矢量候選列表中;解碼部(202),解碼出表示應(yīng)選擇的預測運動矢量在上述預測運動矢量候選列表中的位置的信息;以及預測運動矢量選擇部(223),基于所解碼出的表示上述應(yīng)選擇的預測運動矢量的位置的信息,從上述預測運動矢量候選列表中選擇預測運動矢量。上述預測運動矢量候選生成部(220、221)在為得到所設(shè)定數(shù)量的預測運動矢量的候選而賦予優(yōu)先順序地判定上述第1已解碼預測塊內(nèi)的哪個預測塊的運動矢量將成為用于導出預測運動矢量的候選的運動矢量時,針對左側(cè)的相鄰塊組及上側(cè)的相鄰塊組的各相鄰塊組,分別對預定順序的各預測塊按如下規(guī)則進行以下各條件的判定:條件1.在與按解碼對象預測塊而選擇的編碼模式相同的參照列表中、存在相同參照圖片的運動矢量;條件2.在與按解碼對象預測塊而選擇的編碼模式不同的參照列表中、存在相同參照圖片的運動矢量;條件3.在與按解碼對象預測塊而選擇的編碼模式相同的參照列表中、存在不同參照圖片的運動矢量;條件4.在與按解碼對象預測塊而選擇的編碼模式不同的參照列表中、存在不同參照圖片的運動矢量;所述規(guī)則為:首先,針對條件1、2,按該條件1、2的優(yōu)先順序?qū)Ω黝A測塊進行所述判定,然后針對條件3、4,按該條件3、4的優(yōu)先順序?qū)Ω黝A測塊進行所述判定。

本發(fā)明的再一個方案是動圖像解碼方法。該方法是一種對編碼比特串進行解碼的動圖像解碼方法,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼方法的特征在于,包括:預測運動矢量候選生成步驟,基于與解碼對象預測塊相同圖片內(nèi)的與上述解碼對象預測塊相鄰的第1已解碼預測塊、和與上述解碼對象預測塊不同圖片內(nèi)的位于上述解碼對象預測塊相同或周邊位置的第2已解碼預測塊的任一者的運動矢量進行預測,導出多個預測運動矢量的候選,將導出的預測運動矢量的候選登錄到預測運動矢量候選列表中;解碼步驟,解碼出表示應(yīng)選擇的預測運動矢量在上述預測運動矢量候選列表中的位置的信息;以及預測運動矢量選擇步驟,基于所解碼出的表示上述應(yīng)選擇的預測運動矢量的位置的信息,從上述預測運動矢量候選列表中選擇預測運動矢量。在上述預測運動矢量候選生成步驟中,在為得到所設(shè)定數(shù)量的預測運動矢量的候選而賦予優(yōu)先順序地判定上述第1已解碼預測塊內(nèi)的哪個預測塊的運動矢量將成為用于導出預測運動矢量的候選的運動矢量時,針對左側(cè)的相鄰塊組及上側(cè)的相鄰塊組的各相鄰塊組,分別對預定順序的各預測塊按如下規(guī)則進行以下各條件的判定:條件1.在與按解碼對象預測塊而選擇的編碼模式相同的參照列表中、存在相同參照圖片的運動矢量;條件2.在與按解碼對象預測塊而選擇的編碼模式不同的參照列表中、存在相同參照圖片的運動矢量;條件3.在與按解碼對象預測塊而選擇的編碼模式相同的參照列表中、存在不同參照圖片的運動矢量;條件4.在與按解碼對象預測塊而選擇的編碼模式不同的參照列表中、存在不同參照圖片的運動矢量;所述規(guī)則為:首先,針對條件1、2,按該條件1、2的優(yōu)先順序?qū)Ω黝A測塊進行所述判定,然后針對條件3、4,按該條件3、4的優(yōu)先順序?qū)Ω黝A測塊進行所述判定。

此外,將以上構(gòu)成要素的任意組合、本發(fā)明的表現(xiàn)形式在方法、裝置、系統(tǒng)、記錄介質(zhì)、導出機程序等間變換后的方案,作為本發(fā)明的實施方式也是有效的。

〔發(fā)明效果〕

通過本發(fā)明,能導出多個預測運動矢量,并從這多個預測運動矢量中選擇最佳的預測運動矢量,削減差分運動矢量的產(chǎn)生碼量,提高編碼效率。此外,通過本發(fā)明,能導出多個編碼信息的候選,并從這多個編碼信息中選擇最佳的運動信息,削減要傳送的編碼信息的產(chǎn)生碼量,提高編碼效率。

附圖說明

圖1是表示執(zhí)行實施方式的運動矢量的預測方法的動圖像編碼裝置的構(gòu)成的功能塊圖。

圖2是表示執(zhí)行實施方式的運動矢量的預測方法的動圖像解碼裝置的構(gòu)成的功能塊圖。

圖3是說明編碼塊的圖。

圖4是說明預測塊的形狀的種類的圖。

圖5是說明預測塊組的圖。

圖6是說明預測塊組的圖。

圖7是說明預測塊組的圖。

圖8是說明預測塊組的圖。

圖9是說明預測塊組的圖。

圖10是說明與運動矢量的預測方法相關(guān)的片級別的比特流的句法的圖。

圖11是說明與運動矢量的預測方法相關(guān)的預測塊級別的比特流的句法的圖。

圖12是表示圖1的差分運動矢量導出部的詳細構(gòu)成的功能塊圖。

圖13是表示圖2的運動矢量導出部的詳細構(gòu)成的功能塊圖。

圖14是說明圖1的差分運動矢量導出部的動作的流程圖。

圖15是說明圖2的運動矢量導出部的動作的流程圖。

圖16是說明運動矢量的預測方法的流程圖。

圖17是說明預測運動矢量的候選導出方法的流程圖。

圖18是說明預測運動矢量的候選導出方法的流程圖。

圖19是說明預測運動矢量的候選導出方法的流程圖。

圖20是說明預測運動矢量的候選導出方法的流程圖。

圖21是說明預測運動矢量的候選導出方法的流程圖。

圖22是說明運動矢量的縮放方法的流程圖。

圖23是說明運動矢量的縮放的圖。

圖24是說明預測運動矢量的候選導出方法的流程圖。

圖25是說明預測運動矢量的候選導出方法的流程圖。

圖26是說明預測運動矢量的候選導出方法的流程圖。

圖27是說明預測運動矢量的候選導出方法的流程圖。

圖28是說明預測運動矢量的候選導出方法的流程圖。

圖29是說明預測運動矢量的候選導出方法的流程圖。

圖30是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖31是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖32是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖33是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖34是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖35是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖36是說明向預測運動矢量候選列表的預測運動矢量候選登錄方法的流程圖。

圖37是說明混合模式下的周邊的預測塊的圖。

圖38是表示圖1的幀間預測信息推定部的詳細構(gòu)成的功能塊圖。

圖39是表示圖2的幀間預測信息推定部的詳細構(gòu)成的功能塊圖。

圖40是說明混合模式的動作的流程圖。

圖41是說明混合模式的動作的流程圖。

圖42是說明混合模式的動作的流程圖。

圖43是說明混合模式的動作的流程圖。

圖44是說明混合模式的動作的流程圖。

圖45是說明混合模式的動作的流程圖。

圖46是說明混合模式的動作的流程圖。

圖47是說明混合模式的動作的流程圖。

圖48是說明以往的預測運動矢量的導出方法的圖。

具體實施方式

在實施方式中,關(guān)于動圖像的編碼,特別為提高將圖片分割成矩形塊、在圖片間按塊單位進行運動補償?shù)膭訄D像編碼中的編碼效率,基于已編碼的周圍的塊的運動矢量導出多個預測運動矢量,并導出編碼對象塊的運動矢量與所選擇的預測運動矢量的差分矢量進行編碼,由此削減碼量。或者,通過利用已編碼的周圍的塊的編碼信息來推定編碼對象塊的編碼信息,由此削減碼量。此外,在動圖像的解碼的情況下,基于已解碼的周圍的塊的運動矢量導出多個預測運動矢量,并根據(jù)從編碼流中解碼出的差分矢量和所選擇的預測運動矢量來導出解碼對象塊的運動矢量,進行解碼?;蛘?,通過利用已解碼的周圍的塊的編碼信息,來推定解碼對象塊的編碼信息。

圖1是表示實施方式的動圖像編碼裝置的構(gòu)成的功能塊圖。實施方式的動圖像編碼裝置具有圖像存儲器101、運動矢量檢測部102、差分運動矢量導出部103、幀間預測信息推定部104、運動補償預測部105、預測方法決定部106、殘差信號生成部107、正交變換·量化部108、第1編碼比特串生成部109、第2編碼比特串生成部110、多路化部111、逆量化·逆正交變換部112、解碼圖像信號重疊部113、編碼信息保存存儲器114、以及解碼圖像存儲器115。

圖像存儲器101暫時保存被按拍攝/顯示時間順序供給的編碼對象的圖像信號。圖像存儲器101將所保存的編碼對象的圖像信號按預定的像素塊單位提供給運動矢量檢測部102、預測方法決定部106、及殘差信號生成部107。此時,按拍攝/顯示時間順序保存的圖像被按編碼順序重排,并按像素塊單位從圖像存儲器101輸出。

運動矢量檢測部102在從圖像存儲器101供給的圖像信號與從解碼圖像存儲器115供給的解碼圖像(參照圖片)間,通過塊匹配等,按各預測塊單位檢測各預測塊尺寸、各預測模式的運動矢量,并將所檢測出的運動矢量提供給運動補償預測部105、差分運動矢量導出部103、及預測方法決定部106。在此,預測塊是進行運動補償?shù)膯挝?,詳細情況將在后文敘述。

差分運動矢量導出部103使用存儲在編碼信息保存存儲器114中的已被編碼的圖像信號的編碼信息,導出多個預測運動矢量的候選,登錄到后述的mvp列表中,并從mvp列表中所登錄的多個預測運動矢量的候選中選擇最佳的預測運動矢量,根據(jù)運動矢量檢測部102檢測到的運動矢量與預測運動矢量導出差分運動矢量,將所導出的差分運動矢量提供給預測方法決定部106。除這些編碼信息外,在如后述那樣針對每個預測塊切換用于加權(quán)預測的加權(quán)參數(shù)的情況下,還將所選擇的預測塊的加權(quán)預測的加權(quán)參數(shù)(要對運動補償圖像信號乘的加權(quán)系數(shù)值和要加的加權(quán)偏置值)提供給預測方法決定部106。此外,將用于確定從mvp列表所登錄的預測運動矢量的候選中選擇的預測運動矢量的mvp索引提供給預測方法決定部106。差分運動矢量導出部103的詳細構(gòu)成和動作將在后文敘述。

幀間預測信息推定部104推定混合模式的幀間預測信息。所謂混合模式,并非對該預測塊的預測模式、參照索引(用于從參照列表所登錄的多個參照圖像中確定用于運動補償預測的參照圖像的信息)、運動矢量等幀間預測信息進行編碼,而是利用已編碼的相鄰的被幀間預測出的預測塊、或不同圖像的被幀間預測出的預測塊的幀間預測信息的模式。利用編碼信息保存存儲器114中所存儲的已被編碼的預測塊的編碼信息,導出多個混合的候選(幀間預測信息的候選),登錄到后述的混合候選列表中,并從混合候選列表所登錄的多個混合候選中選擇最佳的混合候選,將所選擇的混合候選的預測模式、參照索引、運動矢量等幀間預測信息提供給運動補償預測部105,并將用于確定所選擇的混合候選的混合索引提供給預測方法決定部106。除這些編碼信息外,在如后述那樣針對各預測塊切換加權(quán)參數(shù)的情況下,將所選擇的混合候選的加權(quán)預測的加權(quán)參數(shù)也提供給運動補償預測部105。此外,將用于確定所選擇的混合候選的混合索引提供給預測方法決定部106。當然,除這些編碼信息外,所選擇的已編碼的預測塊的量化的量化參數(shù)等編碼信息也能作為預測值來使用,在進行預測的情況下,將要預測的編碼信息提供給預測方法決定部106。幀間預測信息推定部104的詳細構(gòu)成和動作將在后面敘述。

運動補償預測部105使用由運動矢量檢測部102和幀間預測信息推定部104檢測出的運動矢量,基于參照圖片,通過運動補償預測來生成預測圖像信號,并將預測圖像信號提供給預測方法決定部106。此外,在主要作為前向預測而使用的l0預測、和主要作為后向預測而使用的l1預測中,進行單向預測。在雙預測的情況下,進行雙向的預測,對主要作為前向預測而使用的l0預測、主要作為后向預測而使用的l1預測各自所幀間預測出的信號分別適應(yīng)性地乘以權(quán)重系數(shù),并加上偏置值后進行重疊,生成最終的預測圖像信號。由用于加權(quán)預測的加權(quán)系數(shù)、偏置值所構(gòu)成的加權(quán)參數(shù)可以按圖片單位來切換,也可以按片單位來切換,還可以按預測塊單位來切換。在按圖片單位或片單位來切換該加權(quán)參數(shù)的情況下,按圖片單位或片單位、針對各列表的每個參照圖片分別設(shè)定代表值進行編碼。在按預測塊單位進行切換的情況下,針對預測塊單位設(shè)定加權(quán)參數(shù)進行編碼。

預測方法決定部106通過評價差分運動矢量的碼量、運動補償預測信號與圖像信號之間的畸變量等,來從多個預測方法中決定最佳的預測塊尺寸(關(guān)于預測塊尺寸,將參照圖4在后面描述)、預測模式、是否混合(merge)模式等預測方法,將包含表示所決定的預測方法的信息、及與所決定的預測方法相應(yīng)的差分運動矢量等的編碼信息提供給第1編碼比特串生成部109。此外,將根據(jù)需要進行加權(quán)預測時所使用的加權(quán)參數(shù)、進行量化/逆量化時所使用的量化參數(shù)的編碼信息的預測值也提供給第1編碼比特串生成部109。

進而,預測方法決定部106將包含表示所決定的預測方法的信息、及與所決定的預測方法相應(yīng)的運動矢量等的編碼信息保存在編碼信息保存存儲器114中。此外,將根據(jù)需要而從預測方法決定部106供給的加權(quán)預測的加權(quán)參數(shù)保存在編碼信息保存存儲器114中。預測方法決定部106將與所決定的預測模式相應(yīng)的運動補償預測圖像信號提供給殘差信號生成部107和解碼圖像信號重疊部113。

殘差信號生成部107進行要編碼的圖像信號與預測信號的減法運算,生成殘差信號,提供給正交變換·量化部108。

正交變換·量化部108根據(jù)量化參數(shù)對殘差信號進行正交變換及量化,生成被正交變換、量化了的殘差信號,提供給第2編碼比特串生成部110和逆量化·逆正交變換部112。進而,正交變換·量化部108將量化參數(shù)保存在編碼信息保存存儲器114中。

第1編碼比特串生成部109除序列(sequence)、圖片、片(slice)、編碼塊單位的信息外,還將與針對各預測塊分別由預測方法決定部106決定的預測方法相應(yīng)的編碼信息編碼。具體來說,將判別是否為幀間預測的參數(shù)、幀間預測時的判別是否為混合模式的參數(shù)、混合模式時的混合索引、非混合模式時的預測模式、mvp索引、差分運動矢量的相關(guān)信息等編碼信息按照后述的規(guī)定的句法規(guī)則進行編碼,生成第1編碼比特串,提供給多路化部111。此外,在混合模式的情況下、若后述的混合候選列表中所登錄的混合候選為1個,則混合索引mergeidx能確定為0,故不進行編碼。同樣,在非混合模式的情況下、若后述的mvp列表中所登錄的預測運動矢量的候選為1個,則mvp索引mergeidx能確定為0,故不進行編碼。

在此,對mvp索引進行編碼時,越是在mvp列表中優(yōu)先順位高(即索引編號小)的mvp索引,越分配碼長較短的符號,進行可變長度編碼。同樣,在對混合索引進行編碼時,越是在混合列表中優(yōu)先順位高(即索引編號小)的混合索引,越分配碼長較短的符號,進行可變長度編碼。

此外,在按預測塊單位適應(yīng)性地切換加權(quán)預測的情況下,若非混合模式,則將從預測方法決定部106供給的加權(quán)預測的加權(quán)參數(shù)也編碼。將量化的量化參數(shù)編碼信息的預測值與實際所使用的值的差分編碼。

第2編碼比特串生成部110按照規(guī)定的句法(syntax)規(guī)則對被正交變換及量化后的殘差信號進行熵編碼,生成第2編碼比特串,提供給多路化部111。在多路化部111中,按照規(guī)定的句法規(guī)則對第1編碼比特串和第2編碼比特串進行多路化,輸出比特流。

逆量化·逆正交變換部112對從正交變換·量化部108供給來的被正交變換、量化了的殘差信號進行逆量化及逆正交變換,導出殘差信號,提供給解碼圖像信號重疊部113。解碼圖像信號重疊部113將與預測方法決定部106的決定相應(yīng)的預測信號和在逆量化·逆正交變換部112中被逆量化及逆正交變換后的殘差信號進行重疊,生成解碼圖像,保存在解碼圖像存儲器115中。此外,有時對解碼圖像施以使編碼所引起的塊畸變等畸變減少的濾波處理后,再保存在解碼圖像存儲器115中。在該情況下,根據(jù)需要而將用于識別alf或去塊濾波器(deblockingfilter)等后濾波器(postfilter)的信息的標志(flag)等所預測出的編碼信息保存在編碼信息保存存儲器114中。

圖2是表示與圖1的動圖像編碼裝置對應(yīng)的實施方式的動圖像解碼裝置的構(gòu)成的功能塊圖。實施方式的動圖像解碼裝置報考分離部201、第1編碼比特串解碼部202、第2編碼比特串解碼部203、運動矢量導出部204、幀間預測信息推定部205、運動補償預測部206、逆量化·逆正交變換部207、解碼圖像信號重疊部208、編碼信息保存存儲器209、以及解碼圖像存儲器210。

圖2的動圖像解碼裝置的解碼處理是與圖1的動圖像編碼裝置內(nèi)部所設(shè)的解碼處理對應(yīng)的處理,故圖2的運動補償預測部206、逆量化·逆正交變換部207、解碼圖像信號重疊部208、編碼信息保存存儲器209、及解碼圖像存儲器210的各構(gòu)成分別具有與圖1的動圖像編碼裝置的運動補償預測部105、逆量化·逆正交變換部112、解碼圖像信號重疊部113、編碼信息保存存儲器114、及解碼圖像存儲器115的各構(gòu)成對應(yīng)的功能。

提供給分離部201的比特流被按規(guī)定的句法規(guī)則分離,分離出的編碼比特串被提供給第1編碼比特串解碼部202、第2編碼比特串解碼部203。

第1編碼比特串解碼部202將供給來的編碼比特串解碼,得到序列、圖片、片、編碼塊單位的信息、以及預測塊單位的編碼信息。具體來說,將判別是否為幀間預測的參數(shù)、判別是否為幀間預測的參數(shù)、混合模式時的混合索引、非混合模式時的預測模式、mvp索引、差分運動矢量等相關(guān)編碼信息按后述的規(guī)定的句法規(guī)則進行解碼,將編碼信息提供給運動矢量導出部204或幀間預測信息推定部205、和運動補償預測部206,并將其保存在編碼信息保存存儲器209中。此外,在混合模式的情況下,若后述的混合候選列表中所登錄的混合候選為1個,則混合索引mergeidx能確定為0,故在編碼比特串中沒有被編碼,使mergeidx為0。因此,在混合模式的情況下,在第1編碼比特串解碼部202中,被提供由幀間預測信息推定部205導出的混合候選列表中所登錄的混合候選的數(shù)量。同樣地、在非混合模式的情況下,若后述的mvp列表中所登錄的預測運動矢量的候選為1個,則mvp索引mvpidx能確定為0,故未被編碼,使mvpidx為0。因此,在非混合模式的情況下,在第1編碼比特串解碼部202中,被提供由運動矢量導出部204導出的mvp列表中所登錄的預測運動矢量候選的數(shù)量。

第2編碼比特串解碼部203將供給來的編碼比特串解碼而導出被正交變換、量化了的殘差信號,將被正交變換、量化了的殘差信號提供給逆量化·逆正交變換部207。

在解碼對象預測塊為非混合模式時,運動矢量導出部204使用編碼信息保存存儲器209中所存儲的已被解碼的圖像信號的編碼信息,導出多個預測運動矢量的候選,登錄到后述的mvp列表中,并從mvp列表內(nèi)所登錄的多個預測運動矢量的候選中選擇與在第1編碼比特串解碼部202中被解碼供給的編碼信息相應(yīng)的預測運動矢量,基于在第1編碼比特串解碼部202中被解碼出的差分矢量和所選擇的預測運動矢量導出運動矢量,提供給運動補償預測部206,并提供給編碼信息保存存儲器209。進而,將由運動矢量導出部204導出的mvp列表中所登錄的預測運動矢量候選的數(shù)量提供給第1編碼比特串解碼部202。關(guān)于運動矢量導出部204的詳細構(gòu)成和動作,將在后面描述。

幀間預測信息推定部205在解碼對象預測塊為混合模式時,推定混合模式的幀間預測信息。使用編碼信息保存存儲器114中所存儲的已解碼的預測塊的編碼信息,導出多個混合的候選而登錄到后述的混合候選列表中,并從混合候選列表中所登錄的多個混合候選中選擇與由第1編碼比特串解碼部202解碼并供給的混合索引對應(yīng)的混合候選,將所選擇的混合候選的預測模式、參照索引、預測運動矢量等幀間預測信息提供給運動補償預測部206,并保存于編碼信息保存存儲器209。進而,將由幀間預測信息推定部205導出的混合候選列表中所登錄的混合候選的數(shù)量提供給第1編碼比特串解碼部202。除這些編碼信息外,在如后述那樣針對各預測塊分別切換加權(quán)參數(shù)的情況下,將所選擇的混合候選的加權(quán)預測的加權(quán)參數(shù)也提供給運動補償預測部206。此外,除所選擇的已編碼的預測塊的這些編碼信息外,還能將量化的量化參數(shù)的幀間預測信息以外的編碼信息也作為預測值來使用,在進行預測的情況下,還能將要進行預測的編碼信息提供給預測方法決定部106。幀間預測信息推定部205的詳細構(gòu)成和動作將在后面敘述。

運動補償預測部206使用由運動矢量導出部204導出的運動矢量,基于參照圖片,通過運動補償預測生成預測圖像信號,并將預測圖像信號提供給解碼圖像信號重疊部208。此外,在雙預測的情況下,對l0預測、l1預測的兩個運動補償預測圖像信號適應(yīng)性地乘以權(quán)重系數(shù)后進行重疊,生成最終的預測圖像信號。

逆量化·逆正交變換部207對由第1編碼比特串解碼部202解碼出的被正交變換、量化了的殘差信號進行逆正交變換和逆量化,得到被逆正交變換、逆量化后的殘差信號。

解碼圖像信號重疊部208通過將由運動補償預測部206運動補償預測出的預測圖像信號和被逆量化·逆正交變換部207逆正交變換、逆量化后的殘差信號重疊,來解碼出解碼圖像信號,保存到解碼圖像存儲器210中。在保存到解碼圖像存儲器210中時,也有時對解碼圖像施以用于減少編碼所引起的塊畸變等的濾波處理后,在保存到解碼圖像存儲器210中。

實施方式的運動矢量的預測方法在圖1的動圖像編碼裝置的差分運動矢量導出部103和圖2的動圖像解碼裝置的運動矢量導出部204中被實施。

在說明運動矢量的預測方法的實施例前,先定義在本實施例中使用的用語。

(關(guān)于編碼塊)

在實施方式中,如圖3所示那樣,將畫面內(nèi)按任意的同一尺寸的正方矩形單位進行均等分割。將該單位定義為樹塊(treeblock),作為用于確定圖像內(nèi)的編碼/解碼對象塊(在編碼中為編碼對象塊、在解碼中為解碼對象塊)的地址管理的基本單位。樹塊可根據(jù)畫面內(nèi)的紋理、為使編碼處理最佳化而根據(jù)需要將樹塊內(nèi)階層地地進行4分割,使之成為塊尺寸較小的塊。將該塊定義為編碼塊,作為進行編碼及解碼時的處理的基本單位。樹塊也是最大尺寸的編碼塊。將不能對編碼塊進一步進行4分割的最小尺寸的編碼塊稱作最小編碼塊。

(關(guān)于預測塊)

在將畫面內(nèi)分割成塊進行運動補償?shù)那闆r下,越使運動補償?shù)膲K尺寸更小,越能進行更精細的預測,故采取了從幾種塊形狀及尺寸中選擇最佳者、將編碼塊內(nèi)部分割來進行運動補償?shù)奶幚怼⒃撨M行運動補償?shù)膯挝环Q作預測塊。如圖4所示,將不對編碼塊內(nèi)部進行分割就視為1個預測塊的情況(圖4的(a))定義為2nx2n分割,將水平方向2分割而成為2個預測塊的情況(圖4的(b))定義為2nxn分割,將垂直方向進行分割而成為2個預測塊的情況(圖4的(c))定義為nx2n分割,將通過水平和垂直的均等分割而成為2個預測塊的情況(圖4的(d))定義為nxn分割。

在編碼塊內(nèi)部,為確定各預測塊,將從0開始的編號分配給編碼塊內(nèi)部所存在的預測塊。將該編號定義為預測塊索引pupartidx。記述在圖4的編碼塊的各預測塊中的數(shù)字表示該預測塊的預測塊索引pupartidx。

(關(guān)于預測塊組)

將由多個預測塊構(gòu)成的組定義為預測塊組。圖5是說明編碼/解碼對象的預測塊和在同一圖片內(nèi)相鄰于該編碼/解碼對象的預測塊的預測塊組的圖。圖9是說明編碼/解碼對象的預測塊和在時間上不同的圖片中與編碼/解碼對象的預測塊處于同一位置或其附近位置的已編碼/已解碼的預測塊組的圖。使用圖5、圖6、圖7、圖8、圖9來說明本發(fā)明的預測塊組。

將由編碼/解碼對象的預測塊、和在同一圖片內(nèi)相鄰于該編碼/解碼對象的預測塊的左側(cè)的預測塊a1、相鄰于編碼/解碼對象的預測塊的左下方的預測塊a0、以及相鄰于編碼/解碼對象的預測塊的左上方的預測塊a2(與后述的預測塊b2相同)所構(gòu)成的第1預測塊組定義為左側(cè)相鄰的預測塊組。

此外,如圖6所示那樣,在編碼/解碼對象的預測塊的左側(cè)相鄰的預測塊的尺寸比編碼/解碼對象的預測塊大的情況下,也按照上述條件,只要左側(cè)相鄰的預測塊a在該編碼/解碼對象的預測塊的左側(cè)相鄰,就作為預測塊a1,只要在編碼/解碼對象的預測塊的左下方相鄰,就作為預測塊a0,只要在編碼/解碼對象的預測塊的左上方相鄰,就作為預測塊a2。

此外,如圖7所示那樣,在編碼/解碼對象的預測塊的左側(cè)相鄰的預測塊的尺寸比編碼/解碼對象的預測塊小、且存在多個的情況下,僅將其中最下方的預測塊a10作為左側(cè)相鄰的預測塊a1而包含于左側(cè)相鄰的預測塊組中。但是,也可以僅將其中最上方的預測塊a12作為左側(cè)相鄰的預測塊a1而包含于左側(cè)相鄰的預測塊組中,還可以將最下方的預測塊a10和最上方的預測塊a12都包含于左側(cè)相鄰的預測塊組中,還可以將左側(cè)相鄰的所有預測塊a10、a11、a12都包含于左側(cè)相鄰的預測塊組中。將由編碼/解碼對象的預測塊、和在同一圖片內(nèi)相鄰于該編碼/解碼對象的預測塊的上側(cè)的預測塊b1、相鄰于編碼/解碼對象的預測塊的右上方的預測塊b0、以及相鄰于編碼/解碼對象的預測塊的左上方的預測塊b2(與預測塊a2相同)構(gòu)成的第2預測塊組定義為上側(cè)相鄰的預測塊組。

此外,在如圖8所示那樣,相鄰于編碼/解碼對象的預測塊的上側(cè)的預測塊的尺寸比編碼/解碼對象的預測塊大的情況下,也按照上述條件,只要上側(cè)相鄰的預測塊b相鄰于該編碼/解碼對象的預測塊的上側(cè),就作為預測塊b1,只要相鄰于編碼/解碼對象的預測塊的右上方,就作為預測塊b0,只要相鄰于編碼/解碼對象的預測塊的左上方,就作為預測塊b2。

此外,如圖7所示那樣,在編碼/解碼對象的預測塊的上側(cè)相鄰的預測塊的尺寸較小、且存在多個的情況下,僅將其中最右方的預測塊b10作為上側(cè)相鄰的預測塊b1而包含于上側(cè)相鄰的預測塊組中。但是,也可以僅將其中最左方的預測塊b12作為上側(cè)相鄰的預測塊b1而包含于上側(cè)相鄰的預測塊組中,還可以將最右方的預測塊b10和最左方的預測塊b12都包含于左側(cè)相鄰的預測塊組中,還可以將上側(cè)相鄰的預測塊全都包含于上側(cè)相鄰的預測塊組中。

此外,關(guān)于右上方相鄰的預測塊a2/b2,分別被包含在左側(cè)相鄰的預測塊組中和上側(cè)相鄰的預測塊組,在針對左側(cè)相鄰的預測塊組進行說明時為預測塊a2,在針對上側(cè)相鄰的預測塊組進行說明時為預測塊b2。

在本實施方式中,使左上方相鄰的預測塊所屬于左側(cè)相鄰的預測塊組和上側(cè)相鄰的預測塊組兩者中,從而增加了探索預測運動矢量的候選的機會。在進行并行處理的情況下,最大處理量不増加,但在重視串行處理中的處理量削減的情況下,可以使左上方相鄰的預測塊僅所屬于某一方的組中。

如圖9所示,在與編碼/解碼對象的預測塊時間上不同的圖片中,將由與編碼/解碼對象的預測塊處于同一位置或其附近位置的已編碼/已解碼的預測塊組t0,t1,t2,t3,及t4所構(gòu)成的第3預測塊組定義為不同時間的預測塊組。

(關(guān)于參照列表)

在進行編碼及解碼時,從各參照列表lx的參照索引指定參照圖片進行參照。準備有l(wèi)0和l1,x內(nèi)有0或1。將參照參照列表l0中所登錄的參照圖片的幀間預測稱為l0預測(pred_l0),將參照參照列表l1中所登錄的參照圖片的運動補償預測稱為l1預測(pred_l1)。l0預測主要用于前向預測,l1預測主要作為后向預測來使用,在p片僅使用l0預測,在b片能使用l0預測、l1預測、將l0預測和l1預測進行平均或加權(quán)相加的雙預測(pred_bi)。在以后的處理中,以對于輸出帶有后綴lx的值、針對l0預測和l1預測分別進行處理為前提。

(關(guān)于poc)

poc作為與要被編碼的圖像建立關(guān)聯(lián)的變量,被設(shè)定按輸出順序每次增加1的值。通過poc的值,能判別是否為相同圖像、判別輸出順序上的前后關(guān)系、判別圖像間的距離。例如,在2個圖像的poc具有相同值的情況下,能判斷為是相同圖像。在2個圖像的poc具有不同值的情況下,能判定poc值較小的圖像是先被輸出的圖像,2個圖像的poc的差表示幀間距離。

使用附圖來說明實施方式的運動矢量的預測方法。運動矢量的預測方法在編碼和解碼中都按構(gòu)成編碼塊的預測塊單位來實施。在運動補償?shù)膱D像間編碼(幀間預測)被選擇的情況下,對于編碼,在利用從編碼對象的運動矢量導出要編碼的差分運動矢量時所使用的已編碼的運動矢量來導出預測運動矢量時被實施,對于解碼,在利用導出解碼對象的運動矢量時所使用的已解碼運動矢量來導出預測運動矢量時被實施。

(關(guān)于句法)

首先,說明由具備本實施例的運動矢量預測方法的動圖像編碼裝置編碼的動圖像比特流的編碼和解碼的共通規(guī)則句法。

圖10表示按本發(fā)明所生成的比特流的片單位記述在片頭(sliceheader)中的第1句法模式(syntaxpattern)。在按片單位進行運動補償?shù)膱D像間預測(幀間預測)的情況下、即片類型為p(單向預測)或b(雙向預測)的情況下,設(shè)置第1標志mv_competition_temporal_flag,該第1標志mv_competition_temporal_flag表示在幀間預測的非混合模式的預測塊中,是否不僅利用同一圖片內(nèi)相鄰的周圍預測塊的運動矢量、還使用時間方向上不同的圖片中的與處理對象預測塊處于同一位置或附近的預測塊的運動矢量來進行運動矢量的預測,而在幀間預測的混合模式的預測塊中,表示是否不僅利用同一圖片內(nèi)相鄰的周圍預測塊的編碼信息、還利用時間方向上不同的圖片中的與處理對象預測塊處于同一位置或附近的預測塊的編碼信息來進行幀間預測。

進而,設(shè)置有第2標志mv_temporal_high_priority_flag,該第2標志mv_temporal_high_priority_flag在mv_competition_temporal_flag為真(1)的情況下,在幀間預測的非混合模式的預測塊中,表示時間方向上不同的圖片中的與處理對象預測塊處于同一位置或附近的預測塊的運動矢量的候選是否提高優(yōu)先順位后被登錄在后述的mvp列表中,而在幀間預測的混合模式的預測塊中,表示時間方向上不同的圖片中的與處理對象預測塊處于同一位置或附近的混合候選是否提高優(yōu)先順位后被登錄在后述的混合候選列表中。該值可以為簡化后述的判定處理而固定為真(1)或假(0),但為提高編碼效率,通過針對各幀分別適應(yīng)性地變更而進一步削減碼量。

在編碼/解碼對象圖片與最近的參照圖片間的距離較近的情況下,將mv_temporal_high_priority_flag設(shè)定為真(1),在編碼/解碼對象圖像與參照圖片間的距離較遠的情況下,將其設(shè)定為假(0),由此能削減后述的mvp索引、或混合索引的碼量。因為在該距離比較小的情況下,能判定來自不同時間的mvp的候選或混合的候選比較適合作為候選。例如,在幀率為30hz的情況下,若編碼/解碼對象圖片與最近的參照圖片間的距離在x幀以內(nèi)(x=1~3程度),則將mv_temporal_high_priority_flag設(shè)定為真(1),若編碼/解碼對象圖像與參照圖片間的距離比x幀大,則將其設(shè)定為假(0),由此能削減后述的mvp索引、或混合索引的碼量。在該距離較小的情況下,幀間預測的可靠性比距離較大時要高,判斷為適合作為候選。通過根據(jù)序列的內(nèi)容來變更該閾值x,能進一步削減碼量。在運動較大、較復雜的序列的情況下,減小閾值x來降低時間方向的mvp候選或混合候選的優(yōu)先順位,由此能提高編碼效率?;蛘撸材芑诰幋a處理過程中的統(tǒng)計量來控制優(yōu)先順位。在編碼處理時分別累計已編碼的選擇數(shù),在時間方向上不同的圖片中的與處理對象預測塊處于同一位置的預測塊的運動矢量的候選或混合候選比同一圖片內(nèi)左或上方相鄰的周圍預測塊的運動矢量多的情況下,將后續(xù)的編碼對象圖像的mv_temporal_high_priority_flag設(shè)定為真(1),在比其少的情況下,若編碼/解碼對象圖像與參照圖片間的距離較遠則將之設(shè)定為假(0),由此能削減后述的mvp索引、或混合索引的碼量。

進而,在片類型為b的情況下,設(shè)置第3標志collocated_from_l0_flag,其表示在導出時間方向的預測運動矢量的候選或混合候選時所使用的時間方向上不同的圖片colpic要使用被登錄在包含處理對象預測塊的圖片的l0的參照列表或l1的參照列表的哪一者中的參照圖像。

進而,設(shè)置第4標志mv_list_adaptive_idx_flag,在片類型為p(單向預測)或b(雙向預測)的情況下,表示是否針對各預測塊適應(yīng)性地變更后述的mvp列表、或混合候選列表內(nèi)的登錄順序。

以上句法要素可以設(shè)置在用于記述按圖片單位設(shè)定的句法要素的圖片參數(shù)集中。

此外,第1標志mv_competition_temporal_flag、第2標志mv_temporal_high_priority_flag、第3標志collocated_from_l0_flag、第4標志mv_list_adaptive_idx_flag可以按非混合模式的運動矢量預測用和混合模式用而分別準備獨立的不同標志,分別獨立地進行控制。

圖11表示預測塊單位所記述的句法模式。在預測塊的預測模式predmode的值表示圖像間預測(幀間預測)的mode_inter的情況下、設(shè)置表示是否為混合模式的merge_flag[x0][y0]。在此,x0、y0是表示預測塊的左上方像素在亮度信號的畫面內(nèi)的位置的索引,merge_flag[x0][y0]是表示是否為位于畫面內(nèi)的(x0,y0)的預測塊的混合模式的標志。

其次,在merge_flag[x0][y0]為1的情況下,表示是混合模式,在nummergecand超過1的情況下,設(shè)置作為要參照的預測運動矢量的候選列表的混合列表的索引的句法要素merge_idx[x0][y0]。這里,x0、y0是表示預測塊的左上方像素在畫面內(nèi)的位置的索引,merge_idx[x0][y0]是位于畫面內(nèi)的(x0,y0)的預測塊的混合索引。函數(shù)nummergecand表示混合候選的數(shù)量,將在后文進行說明。之所以該混合列表的索引的句法要素merge_idx[x0][y0]僅在混合候選數(shù)nummergecand大于1時被編碼,是因為若預測運動矢量的候選總數(shù)為1,則該1個候選成為混合候選,不傳送merge_idx[x0][y0]也能確定要參照的混合候選。

另一方面,在merge_flag[x0][y0]為0的情況下,表示非混合模式,在片類型為b的情況下,設(shè)置用于識別幀間預測模式的句法要素inter_pred_flag[x0][y0]。針對各參照列表lx(x=0或1),分別設(shè)置用于確定參照圖片的參照圖片索引的句法要素ref_idx_lx[x0][y0]、和由運動矢量檢測求得的預測塊的運動矢量與預測運動矢量的差分運動矢量的句法要素mvd_lx[x0][y0][j]。在此,x以0或1表示預測方向,排列的索引x0表示預測塊的x坐標、y0表示預測塊的y坐標、j表示差分運動矢量的分量、j=0表示x分量、j=1表示y分量。其次,若預測運動矢量的候選總數(shù)超過1,則設(shè)置作為要參照的預測運動矢量的候選列表的mvp列表的索引的句法要素mvp_idx_lx[x0][y0]。這里,x0、y0是表示預測塊的左上方像素在畫面內(nèi)的位置的索引,mvp_idx_lx[x0][y0]是位于畫面內(nèi)的(x0,y0)的預測塊的列表lx的mvp索引。后綴lx表示參照列表,準備有l(wèi)0和l1這兩者,x為0或1。函數(shù)nummvpcand(lx)表示按預測方向lx(x為0或1)導出預測塊的預測運動矢量的候選總數(shù)的函數(shù),將在后文說明。該mvp列表的索引mvp_idx_lx[x0][y0]根據(jù)運動矢量的預測方法,在預測運動矢量的候選總數(shù)nummvpcand(lx)大于1的情況下被編碼。這是因為若預測運動矢量的候選總數(shù)為1,則該1個候選成為預測運動矢量,故不傳送mvp_idx_lx[x0][y0]也能確定要參照的預測運動矢量的候選。

(編碼中的運動矢量的預測)

基于上述句法,說明在對動圖像的比特流進行編碼的動圖像編碼裝置中,實施方式的運動矢量的預測方法的動作。運動矢量的預測方法在按片單位進行基于運動補償?shù)膱D像間預測的情況下、即片類型為p片(單向預測片)或b片(雙向預測片)的情況下,片中的預測塊的預測模式被適用于圖像間預測(mode_inter)的預測塊。

圖12是表示圖1的動圖像編碼裝置的差分運動矢量導出部103的詳細構(gòu)成的圖。圖12的粗框線所包圍的部分表示了差分運動矢量導出部103。

此外,由其內(nèi)部的粗虛線包圍的部分表示后述的運動矢量的預測方法的動作部,在與實施方式的動圖像編碼裝置對應(yīng)的動圖像解碼裝置中也同樣設(shè)置,使得編碼和解碼中得到不相矛盾的同一判定結(jié)果。以下,使用該圖來說明編碼中的運動矢量的預測方法。

差分運動矢量導出部103包括預測運動矢量候選生成部120、預測運動矢量登錄部121、預測運動矢量候選相同判定部122、預測運動矢量候選碼量導出部123、預測運動矢量選擇部124、以及運動矢量減法部125。

該差分運動矢量導出部103中的差分運動矢量導出處理分別導出在按編碼對象塊所選擇的幀間預測方法中使用的運動矢量的差分運動矢量。具體來說,編碼對象塊為l0預測的情況下、導出l0的運動矢量的差分運動矢量,在編碼對象塊為l1預測的情況下、導出l1的運動矢量的差分運動矢量。在編碼對象塊為雙預測的情況下、l0預測和l1預測都被進行,分別導出l0的運動矢量的差分運動矢量、及l(fā)1的運動矢量的差分運動矢量。

預測運動矢量候選生成部120針對每個參照列表(l0、l1),基于上側(cè)相鄰的預測塊組(在與編碼對象預測塊相同圖片內(nèi)、相鄰于該預測塊的左側(cè)的預測塊組:圖5的a0,a1,a2)、左側(cè)相鄰的預測塊組(在與編碼對象預測塊相同圖片內(nèi)、相鄰于該預測塊的上側(cè)的預測塊組:圖5的b0,b1,b2)、不同時間的預測塊組(在與編碼對象預測塊時間上不同的圖片內(nèi)、位于與該預測塊相同位置或其附近位置的已編碼的預測塊組:圖9的t0,t1,t2,t3)這三個預測塊組,針對各預測塊組分別導出1個運動矢量mvlxa、mvlxb、mvlxcol,作為預測運動矢量候選而提供給預測運動矢量登錄部121。以下,將mvlxa及mvlxb稱為空間的運動矢量、將mvlxcol稱為時間的運動矢量。在導出該預測運動矢量候選時,使用被保存在編碼信息保存存儲器114中的已編碼的預測塊的預測模式、各個參照列表的參照索引、參照圖片的poc、運動矢量等編碼信息。

這些預測運動矢量的候選mvlxa、mvlxb、mvlxcol有時也根據(jù)編碼對象圖像的poc與參照圖片的poc關(guān)系而通過縮放導出。

預測運動矢量候選生成部120針對各預測塊組、按預定的順序、對各個預測塊組內(nèi)的預測塊進行后述的條件判定,選擇最先符合條件的預測塊的運動矢量,作為預測運動矢量的候選mvlxa、mvlxb、mvlxcol。

在從左側(cè)相鄰的預測塊組導出預測運動矢量時,按左側(cè)相鄰的預測塊組的從下至上的順序(從圖5的a0起按a0,a1,a2順序)對各預測塊進行后述的條件判定,在從上側(cè)相鄰的預測塊組導出預測運動矢量時,按上側(cè)相鄰的預測塊組的從右至左的順序(從圖5的b0起按b0,b1,b2順序)對各預測塊進行后述的條件判定,在從不同時間的預測塊組導出預測運動矢量時,從圖9的t0起按t0,t1,t2,t3順序?qū)Ω黝A測塊進行后述的條件判定,分別選擇最先符合條件的預測塊的運動矢量,將預測運動矢量的候選作為mvlxa、mvlxb、mvlxcol。

即、在左側(cè)的相鄰預測塊組中,最靠下的預測塊優(yōu)先順位最高,從下向上賦以優(yōu)先順位,在上側(cè)的相鄰預測塊組中,最靠右的預測塊優(yōu)先順位最高,從右向左賦以優(yōu)先順位。在不同時間的預測塊組中,t0的預測塊優(yōu)先順位最高,按t0,t1,t2,t3順序被賦以優(yōu)先順位。將該預測塊的位置所決定的優(yōu)先順位記為優(yōu)先順位a。

(空間預測塊的條件判定的循環(huán)(loop)的說明)

對左側(cè)的相鄰預測塊組及上側(cè)的相鄰預測塊組的各相鄰預測塊,按下述的條件判定1、2、3、4的優(yōu)先順序適用各自的條件判定。但僅后述的方法5為例外,是按條件判定1、3、2、4的優(yōu)先順序適用各自的條件判定。

條件判定1:在與編碼/解碼對象預測塊的差分運動矢量導出對象的運動矢量相同的參照列表中,在相鄰預測塊中也進行使用了相同參照索引、即參照幀的預測。

條件判定2:雖然是與編碼/解碼對象預測塊的差分運動矢量導出對象的運動矢量不同的參照列表,但在相鄰預測塊中進行使用了相同參照幀的預測。

條件判定3:在與編碼/解碼對象預測塊的差分運動矢量導出對象的運動矢量相同的參照列表中,在相鄰預測塊中進行使用了不同參照幀的預測。

條件判定4:在與編碼/解碼對象預測塊的差分運動矢量導出對象的運動矢量不同的參照列表中,在相鄰預測塊中進行使用了不同參照幀的預測。

將該優(yōu)先順位記為優(yōu)先順位b。在滿足這些條件中的任一者的情況下,判斷為該預測塊中存在符合條件的運動矢量,不再進行后續(xù)的條件判定。此外,在符合條件判定1或條件判定2的條件的情況下,相應(yīng)的相鄰預測塊的運動矢量是對應(yīng)于相同參照幀的,故直接作為預測運動矢量的候選,但在符合條件判定3或條件判定4的條件的情況下,相應(yīng)的相鄰預測塊的運動矢量是對應(yīng)于不同參照幀的,故基于該運動矢量通過縮放導出后作為預測運動矢量的候選。在非并行、而是串行地處理各相鄰預測塊的條件判定的情況下,在第二個進行的預測塊組的條件判定中(左側(cè)的相鄰預測塊組的條件判定在先的情況下、在上側(cè)的相鄰預測塊組的條件判定中),若該預測塊組的預測運動矢量的候選與在之前的預測塊組所決定的預測運動矢量的候選為相同值,則可以不采用該預測運動矢量的候選,進入下面的條件判定。通過像這樣進行下面的條件判定,能防止預測運動矢量的候選的減少。

作為空間預測塊的掃描的循環(huán)方式,可以根據(jù)上述四個條件判定的前進方式來設(shè)定下述的4種方法。根據(jù)各種方法的不同,預測矢量的相應(yīng)度和最大處理量也不同,考慮這些地從這些方法中選擇并設(shè)定。下面僅針對方法1,使用圖17~21的流程圖來詳細說明,對于其它方法2~4,本領(lǐng)域技術(shù)人員能夠基于實施方法1的步驟適當設(shè)計實施方法2~4的步驟,故省略詳細的說明。在此說明動圖像編碼裝置中的空間預測塊的掃描的循環(huán)處理,但在動圖像解碼裝置中當然也能進行同樣的處理。

方法1:

在4個條件判定中,針對每個預測塊分別進行1個條件判定,若不滿足條件,則轉(zhuǎn)移到相鄰的預測塊的條件判定。針對每個預測塊循環(huán)4周條件判定后結(jié)束。

具體來說,按以下的優(yōu)先順序進行條件判定。(n為a或b)

1.預測塊n0的條件判定1(相同參照列表、相同參照幀)

2.預測塊n1的條件判定1(相同參照列表、相同參照幀)

3.預測塊n2的條件判定1(相同參照列表、相同參照幀)

4.預測塊n0的條件判定2(不同參照列表、相同參照幀)

5.預測塊n1的條件判定2(不同參照列表、相同參照幀)

6.預測塊n2的條件判定2(不同參照列表、相同參照幀)

7.預測塊n0的條件判定3(相同參照列表、不同參照幀)

8.預測塊n1的條件判定3(相同參照列表、不同參照幀)

9.預測塊n2的條件判定3(相同參照列表、不同參照幀)

10.預測塊n0的條件判定4(不同參照列表、不同參照幀)

11.預測塊n1的條件判定4(不同參照列表、不同參照幀)

12.預測塊n2的條件判定4(不同參照列表、不同參照幀)

通過方法1,容易選擇使用了相同參照幀的未被縮放的預測運動矢量,故具有差分運動矢量的碼量減小的可能性變高這樣的效果。

方法2:

以使用了相同預測幀的未被縮放的預測運動矢量的判定為優(yōu)先,在4個條件判定中針對每個預測塊進行2個條件判定,若不滿足條件,則移到相鄰的預測塊的條件判定。在最初的周次中,進行條件判定1和條件判定2的條件判定,在下一預測塊的周次中進行條件判定3和條件判定4的條件判定。

具體來說,按以下的優(yōu)先順序進行條件判定。(n為a或b)

1.預測塊n0的條件判定1(相同參照列表、相同參照幀)

2.預測塊n0的條件判定2(不同參照列表、相同參照幀)

3.預測塊n1的條件判定1(相同參照列表、相同參照幀)

4.預測塊n1的條件判定2(不同參照列表、相同參照幀)

5.預測塊n2的條件判定1(相同參照列表、相同參照幀)

6.預測塊n2的條件判定2(不同參照列表、相同參照幀)

7.預測塊n0的條件判定3(相同參照列表、不同參照幀)

8.預測塊n0的條件判定4(不同參照列表、不同參照幀)

9.預測塊n1的條件判定3(相同參照列表、不同參照幀)

10.預測塊n1的條件判定4(不同參照列表、不同參照幀)

11.預測塊n2的條件判定3(相同參照列表、不同參照幀)

12.預測塊n2的條件判定4(不同參照列表、不同參照幀)

通過方法2,與方法1一樣,容易選出使用了相同參照幀的未被縮放的預測運動矢量,故具有差分運動矢量的碼量減小的可能性變高這樣的效果。此外,由于條件判定的周次數(shù)最大為2次,故在考慮向硬件的安裝時,對預測塊的編碼信息的存儲器訪問次數(shù)會比方法1減少,復雜性降低。

方法3:

在最初的周次中,針對每個預測塊進行條件判定1的條件判定,若不滿足條件,則移到相鄰的預測塊的條件判定。在下一周次中,針對每個預測塊按條件判定2、條件判定3、條件判定4的順序進行條件判定后,移向相鄰。

具體來說,按以下的優(yōu)先順序進行條件判定。(n為a或b)

1.預測塊n0的條件判定1(相同參照列表、相同參照幀)

2.預測塊n1的條件判定1(相同參照列表、相同參照幀)

3.預測塊n2的條件判定1(相同參照列表、相同參照幀)

4.預測塊n0的條件判定2(不同參照列表、相同參照幀)

5.預測塊n0的條件判定3(相同參照列表、不同參照幀)

6.預測塊n0的條件判定4(不同參照列表、不同參照幀)

7.預測塊n1的條件判定2(不同參照列表、相同參照幀)

8.預測塊n1的條件判定3(相同參照列表、不同參照幀)

9.預測塊n1的條件判定4(不同參照列表、不同參照幀)

10.預測塊n2的條件判定2(不同參照列表、相同參照幀)

11.預測塊n2的條件判定3(相同參照列表、不同參照幀)

12.預測塊n2的條件判定4(不同參照列表、不同參照幀)

通過方法3,在相同參照列表中容易選出使用了相同參照幀的未被縮放的預測運動矢量,故具有差分運動矢量的碼量減小的可能性變高這樣的效果。此外,由于條件判定的周次數(shù)為最大2次,故在考慮向硬件的安裝時、對預測塊的編碼信息的存儲器訪問次數(shù)會比方法1減少,復雜性被降低。

方法4:

使相同預測塊的條件判定優(yōu)先、在1個預測塊內(nèi)進行4個條件判定,在不符合所有條件的情況下,判斷為該預測塊中不存在符合條件的運動矢量,進行下面的預測塊的條件判定。

具體來說,按以下的優(yōu)先順序進行條件判定。(n為a或b)

1.預測塊n0的條件判定1(相同參照列表、相同參照幀)

2.預測塊n0的條件判定2(不同參照列表、相同參照幀)

3.預測塊n0的條件判定3(相同參照列表、不同參照幀)

4.預測塊n0的條件判定4(不同參照列表、不同參照幀)

5.預測塊n1的條件判定1(相同參照列表、相同參照幀)

6.預測塊n1的條件判定2(不同參照列表、相同參照幀)

7.預測塊n1的條件判定3(相同參照列表、不同參照幀)

8.預測塊n1的條件判定4(不同參照列表、不同參照幀)

9.預測塊n2的條件判定1(相同參照列表、相同參照幀)

10.預測塊n2的條件判定2(不同參照列表、相同參照幀)

11.預測塊n2的條件判定3(相同參照列表、不同參照幀)

12.預測塊n2的條件判定4(不同參照列表、不同參照幀)

通過方法4,條件判定的周次數(shù)最大為1次,故考慮向硬件的安裝時,對預測塊的編碼信息的存儲器訪問次數(shù)會比方法1、方法2、方法3減少,復雜性降低。

方法5:

同方法4一樣,使相同預測塊的條件判定優(yōu)先,在1個預測塊內(nèi)進行4個條件判定,在不符合所有條件的情況下,判定該預測塊內(nèi)不存在符合條件的運動矢量,進行下面的預測塊的條件判定。但是,在預測塊內(nèi)的條件判定中,方法4是使相同參照幀更加優(yōu)先的,而方法5是使相同參照列表優(yōu)先。

具體來說,按以下的優(yōu)先順序進行條件判定。(n為a或b)

1.預測塊n0的條件判定1(相同參照列表、相同參照幀)

2.預測塊n0的條件判定3(相同參照列表、不同參照幀)

3.預測塊n0的條件判定2(不同參照列表、相同參照幀)

4.預測塊n0的條件判定4(不同參照列表、不同參照幀)

5.預測塊n1的條件判定1(相同參照列表、相同參照幀)

6.預測塊n1的條件判定3(相同參照列表、不同參照幀)

7.預測塊n1的條件判定2(不同參照列表、相同參照幀)

8.預測塊n1的條件判定4(不同參照列表、不同參照幀)

9.預測塊n2的條件判定1(相同參照列表、相同參照幀)

10.預測塊n2的條件判定3(相同參照列表、不同參照幀)

11.預測塊n2的條件判定2(不同參照列表、相同參照幀)

12.預測塊n2的條件判定4(不同參照列表、不同參照幀)

通過方法5,與方法4相比能進一步減少預測塊的參照列表的參照次數(shù),通過削減對存儲器的訪問次數(shù)、條件判定等的處理量,能降低復雜性。此外,同方法4一樣,條件判定的周次數(shù)最大為1次,故考慮了向硬件的安裝時,對預測塊的編碼信息的存儲器訪問次數(shù)比方法1、方法2、方法3減少,復雜性降低。

接下來,預測運動矢量登錄部121評價預測運動矢量的候選mvlxa、mvlxb、mvlxcol的優(yōu)先順位,安與優(yōu)先順位相應(yīng)的順序保存到mvp列表mvplistlx中。關(guān)于該保存到mvp列表mvplistlx中的步驟,后面再詳細說明。

接下來,預測運動矢量候選相同判定部122從mvp列表mvplistlx所保存的預測運動矢量的候選中判定具有相同運動矢量值的矢量,針對被判定具有相同運動矢量值的預測運動矢量的候選,留下一個,將其它的從mvp列表mvplistlx中刪除,以使得預測運動矢量的候選不重復,來更新mvp列表mvplistlx。預測運動矢量候選相同判定部122將更新后的mvp列表mvplistlx提供給預測運動矢量候選碼量導出部123和預測運動矢量選擇部124。

另一方面,在圖1的運動矢量檢測部102中針對每個預測塊檢測運動矢量mv。該運動矢量mv同更新后的mvp列表mvplistlx的預測運動矢量的候選一起被輸入到預測運動矢量候選碼量導出部123。

預測運動矢量候選碼量導出部123導出運動矢量mv與mvp列表mvplistlx中所保存的各預測運動矢量的候選mvplistlx[i]的差分、即各個差分運動矢量,針對mvp列表mvplistlx的各要素分別導出將這些差分運動矢量編碼時的碼量,提供給預測運動矢量選擇部124。

預測運動矢量選擇部124將mvp列表mvplistlx所登錄的各要素中、預測運動矢量的各候選的碼量最小的預測運動矢量的候選mvplistlx[i]選為預測運動矢量mvp,當在mvp列表mvplistlx中成為最小產(chǎn)生碼量的預測運動矢量的候選存在多個時,選擇mvp列表mvplistlx中的索引i較小的編號所表示的預測運動矢量的候選mvplistlx[i]作為最佳預測運動矢量mvp。將所選擇的預測運動矢量mvp提供給運動矢量減法部125。進而,將與該選擇的預測運動矢量mvp對應(yīng)的mvp列表中的索引i作為lx(x=0或1)的mvp索引mvp_idx而輸出。

此外,預測運動矢量選擇部124根據(jù)需要,將mvp_idx指示的mvp列表中的預測塊所使用的編碼信息也輸出給圖1的預測方法決定部106。在此輸出的編碼信息包括加權(quán)預測的加權(quán)參數(shù)、量化的量化參數(shù)等。

最后,運動矢量減法部125通過使運動矢量mv減去所選擇的預測運動矢量mvp來導出差分運動矢量mvd,輸出差分運動矢量mvd。

mvd=mv-mvp

返回圖1,運動補償預測部105參照被保存在解碼圖像存儲器115中的解碼圖像,根據(jù)從運動矢量檢測部102供給的運動矢量mv來進行運動補償,得到運動補償預測信號,提供給預測方法決定部106。

預測方法決定部106決定預測方法。針對各個預測模式分別導出碼量和編碼畸變,決定成為最少產(chǎn)生碼量和編碼畸變的預測塊尺寸和預測模式。表示從差分運動矢量導出部103的運動矢量減法部125供給來的差分運動矢量mvd和從預測運動矢量選擇部124供給來的預測運動矢量的索引mvp_idx被進行編碼,導出運動信息的碼量。進而,導出將從運動補償預測部105供給的運動補償預測信號與從圖像存儲器101供給的編碼對象的圖像信號的預測殘差信號編碼后的預測殘差信號的碼量。導出運動信息的碼量和預測殘差信號的碼量相加后的總產(chǎn)生碼量,作為第1評價值。

此外,將這樣的差分圖像編碼后,為畸變量評價而解碼,通過表示與編碼所產(chǎn)生的元圖像的誤差的比率,來導出編碼畸變。針對各運動補償分別比較總產(chǎn)生碼量和編碼畸變,決定成為最少產(chǎn)生碼量和編碼畸變的預測塊尺寸和預測模式。對于與所決定的預測塊尺寸的預測模式相應(yīng)的運動矢量mv,進行上述的運動矢量的預測方法,表示預測運動矢量的索引被編碼為由預測塊單位的第2句法模式表示的標志mvp_idx_lx[i]。此外,關(guān)于此處所導出的產(chǎn)生碼量,希望是仿真編碼過程后的結(jié)果,但也可以簡單地近似或概算。

(解碼中的運動矢量的預測)

基于上述句法,在對被編碼了的動圖像的比特流進行解碼的動圖像解碼裝置中,說明本發(fā)明的運動矢量的預測方法的動作。

首先,說明在第1編碼比特串解碼部202中被解碼的比特流的各標志。圖10是按由本發(fā)明的動圖像編碼裝置生成、并被第1編碼比特串解碼部202解碼的比特流的片單位,記述在片頭中的第1句法模式。從記述在比特流的片頭中的標志中,解碼出第1標志mv_competition_temporal_flag,該第1標志mv_competition_temporal_flag在片類型為p或b的情況下、在幀間預測的非混合模式的預測塊中,表示是否不僅利用同一圖片內(nèi)相鄰的周圍預測塊的運動矢量,還利用時間方向上不同的圖片中的與處理對象預測塊處于同一位置或其附近的預測塊的運動矢量來進行運動矢量的預測,而在幀間預測的混合模式的預測塊中,表示是否不僅利用同一圖片內(nèi)相鄰的周圍預測塊的編碼信息、還利用時間方向上不同的圖片中的與處理對象預測塊處于同一位置或附近的預測塊的編碼信息來進行幀間預測;在mv_competition_temporal_flag為真(1)的情況下,在幀間預測的非混合模式的預測塊中,不僅利用同一圖片內(nèi)相鄰的周圍預測塊的運動矢量、還利用時間方向上不同的圖片中與處理對象預測塊處于同一位置或附近的預測塊來進行運動矢量的預測,而在幀間預測的混合模式的預測塊中,不僅利用同一圖片內(nèi)相鄰的周圍預測塊的編碼信息、還利用時間方向上不同的圖片中與處理對象預測塊處于同一位置或附近的預測塊的編碼信息來進行幀間預測。進而,在mv_competition_temporal_flag為真(1)的情況下,解碼出第2標志mv_temporal_high_priority_flag進行判定,該第2標志mv_temporal_high_priority_flag在幀間預測的非混合模式的預測塊中,表示時間方向上不同的圖片中的與處理對象預測塊處于同一位置的預測塊的運動矢量的候選是否提高優(yōu)先順位后登錄于后述的混合候選列表中,在其為真(1)的情況下,時間方向上不同的圖片中與處理對象預測塊處于同一位置的預測塊的運動矢量及混合候選提高優(yōu)先順位地分別登錄到mvp列表及混合候選列表中。

進而,在片類型為b的情況下,解碼出第3標志collocated_from_l0_flag,該第3標志collocated_from_l0_flag表示使用在導出時間方向的預測運動矢量的候選、或混合候選時所使用的時間方向上不同的圖片colpic被登錄在包含有處理對象預測塊的圖片的l0的參照列表或l1的參照列表的哪一者中的參照圖像,判別使用包含有處理對象預測塊的圖片的參照圖片的列表中的l0或l1的哪一者。

進而,在片類型為p或b的情況下,解碼出第4標志mv_list_adaptive_idx_flag,該第4標志mv_list_adaptive_idx_flag表示是否針對各預測塊分別自適應(yīng)地變更后述的mvp列表、或混合候選列表內(nèi)的登錄順序,由此判別是否針對各預測塊分別自適應(yīng)地變更mvp列表、或混合候選列表內(nèi)的登錄順序。

此外,以上的句法要素也可以設(shè)置成記述按圖片單位設(shè)定的句法要素的圖片參數(shù)集。

此外,第1標志mv_competition_temporal_flag、第2標志mv_temporal_high_priority_flag、第3標志collocated_from_l0_flag、第4標志mv_list_adaptive_idx_flag分別按非混合模式的運動矢量預測用和混合模式用而準備獨立的單獨標志,能分別獨立地進行控制。

圖11是按由本發(fā)明的動圖像編碼裝置生成、由第1編碼比特串解碼部202解碼的比特流的預測塊單位來記述的第2句法模式。表示按預測塊單位記述的句法模式。在幀間預測的情況下(表示預測塊是否為幀間預測的預測模式predmode為表示幀間預測的mode_inter的情況下),表示是否為混合模式的merge_flag[x0][y0]被解碼。在此,x0、y0是表示畫面內(nèi)的預測塊的左上像素的位置的索引,merge_flag[x0][y0]是表示位于畫面內(nèi)的(x0,y0)位置的預測塊是否為混合模式的標志。

接下來,在merge_flag[x0][y0]為1的情況下,若混合模式的候選總數(shù)nummergecand超過1,則作為要參照的預測運動矢量的候選列表的混合列表的索引的句法要素merge_idx[x0][y0]被解碼。在此,x0、y0是表示畫面內(nèi)的預測塊的左上像素的位置的索引,merge_idx[x0][y0]是位于畫面內(nèi)的(x0,y0)位置的預測塊的混合索引。

另一方面,在merge_flag[x0][y0]為0的情況下,針對各參照列表lx(x=0或1),分別解碼出在運動矢量檢測中求得的預測塊的運動矢量與預測運動矢量的差分運動矢量的句法要素mvd_lx[x0][y0][j]。在此,x以0或1表示預測方向,排列的索引x0表示預測塊的x坐標、y0表示預測塊的y坐標、j表示差分運動矢量的分量,j=0表示x分量、j=1表示y分量。接下來,若預測運動矢量的候選的總數(shù)超過1,則解碼出作為要參照的預測運動矢量的候選列表的mvp列表的索引的句法要素mvp_idx_lx[x0][y0]。在此,x0、y0是表示畫面內(nèi)的預測塊的左上像素的位置的索引,mvp_idx_lx[x0][y0]是位于畫面內(nèi)的(x0,y0)位置的預測塊的列表lx的mvp索引。后綴lx表示參照列表,準備有l(wèi)0和l1的兩個,x為0或1。函數(shù)nummvpcand(lx)表示按預測方向lx(x為0或1)導出預測塊的預測運動矢量的候選總數(shù)的函數(shù),將在后文說明。該mvp列表的索引mvp_idx_lx[x0][y0]通過運動矢量的預測方法,在預測運動矢量的候選總數(shù)nummvpcand(lx)大于1時被解碼。這是因為,若預測運動矢量的候選總數(shù)為1,則該1個成為預測運動矢量,故無需傳送mvp_idx_lx[x0][y0]也能確定要參照的預測運動矢量的候選。

在實施方式的運動矢量的預測方法被實施的情況下,在圖2的動圖像解碼裝置的運動矢量導出部204中執(zhí)行處理。圖13是表示與實施方式的動圖像編碼裝置對應(yīng)的圖2的動圖像解碼裝置的運動矢量導出部204的詳細構(gòu)成的圖。圖13的粗框線所包圍的部分表示了運動矢量導出部204。進而,其內(nèi)部的用粗虛線包圍的部分表示后述的運動矢量的預測方法的動作部,在對應(yīng)的動圖像編碼裝置中也同樣被設(shè)置,以使得在編碼和解碼中得到不相矛盾的同一判定結(jié)果。以下使用該圖來說明解碼中的運動矢量的預測方法。

運動矢量導出部204包括預測運動矢量候選生成部220、預測運動矢量登錄部221、預測運動矢量候選相同判定部222、預測運動矢量選擇部223及運動矢量加法部224。

規(guī)定運動矢量導出部204中的預測運動矢量候選生成部220、預測運動矢量登錄部221及預測運動矢量候選相同判定部222分別進行與編碼側(cè)的差分運動矢量導出部103中的預測運動矢量候選生成部120、預測運動矢量登錄部121及預測運動矢量候選相同判定部122相同的動作,從而能夠在編碼側(cè)及解碼側(cè)得到編碼和解碼不相矛盾的相同的預測運動矢量的候選。

預測運動矢量候選生成部220進行與圖12的編碼側(cè)的預測運動矢量候選生成部120相同的處理。預測運動矢量候選生成部220從編碼信息保存存儲器209讀出解碼后被記錄在編碼信息保存存儲器209中的、與解碼對象塊處于同一圖片內(nèi)的相鄰于解碼對象塊的已解碼的預測塊、及不同圖片內(nèi)的與解碼對象塊處于同一位置或其附近位置的已解碼的預測塊等的運動矢量?;趶木幋a信息保存存儲器209讀出的已解碼的其它塊的運動矢量,生成至少1個以上的預測運動矢量的候選mvlxa、mvlxb、mvlxcol,提供給預測運動矢量登錄部221。這些預測運動矢量的候選mvlxa、mvlxb、mvlxcol有時也通過根據(jù)參照索引進行縮放而導出。此外,預測運動矢量候選生成部220進行與圖12的編碼側(cè)的預測運動矢量候選生成部120相同的處理,故在圖12的編碼側(cè)的預測運動矢量候選生成部120中說明的用于導出預測運動矢量的方法1、2、3、4、5的條件判定,在預測運動矢量候選生成部220中也能適用,在此省略詳細說明。

接下來,預測運動矢量登錄部221進行與圖12的編碼側(cè)的預測運動矢量登錄部121相同的處理。預測運動矢量登錄部221評價預測運動矢量的候選mvlxa、mvlxb、mvlxcol的優(yōu)先順位,并按與優(yōu)先順位相應(yīng)的順序保存到mvp列表mvplistlx中。關(guān)于保存到該mvp列表mvplistlx中的步驟,將在后文詳細說明。

接下來,預測運動矢量候選相同判定部222進行與圖12的編碼側(cè)的預測運動矢量候選相同判定部122相同的處理。預測運動矢量候選相同判定部222從mvp列表mvplistlx所保存的預測運動矢量的候選中判定具有同一運動矢量值的候選,并針對被判定為具有同一運動矢量值的預測運動矢量的候選,只保留一個,將其它的從mvp列表mvplistlx中刪除,以使得預測運動矢量的候選不重復,來更新mvp列表mvplistlx。更新后的mvp列表mvplistlx被提供給預測運動矢量選擇部223。

另一方面,在第1編碼比特串解碼部202中被解碼后的差分運動矢量mvd被輸入到運動矢量加法部224。在被編碼有表示預測運動矢量的索引的mvp_idx的情況下,在第1編碼比特串解碼部202中解碼出的預測運動矢量的索引mvp_idx被輸入到預測運動矢量選擇部223。

這樣,預測運動矢量選擇部223被輸入mvp列表mvplistlx中剩下的預測運動矢量的候選,在被編碼有表示預測運動矢量的索引的mvp_idx的情況下,還被輸入解碼后的預測運動矢量的索引mvp_idx。

預測運動矢量選擇部223首先判定留在mvp列表mvplistlx中的預測運動矢量的候選是否為1個,在是1個的情況下,取出留在mvp列表mvplistlx中的預測運動矢量的候選作為預測運動矢量mvp。若mvp列表mvplistlx中留有多于1個的預測運動矢量的候選,則在第1編碼比特串解碼部202中解碼后的預測運動矢量的索引mvp_idx被讀入,從mvp列表mvplistlx取出與被讀入的索引mvp_idx對應(yīng)的預測運動矢量的候選。將所取出的預測運動矢量的候選作為預測運動矢量mvp提供給運動矢量加法部224。

最后,運動矢量加法部224將第1編碼比特串解碼部202所解碼供給的差分運動矢量mvd和預測運動矢量mvp相加,從而導出運動矢量mv,并輸出運動矢量mv。

mv=mvp+mvd

如上這樣針對每個預測塊導出運動矢量。使用該運動矢量,通過運動補償生成預測圖像,并與從比特流中解碼出的殘差信號相加,由此生成解碼圖像。

關(guān)于動圖像編碼裝置的差分運動矢量導出部103、動圖像解碼裝置的運動矢量導出部204的處理步驟,分別使用圖14、圖15的流程圖來進行說明。圖14是表示動圖像編碼裝置的差分運動矢量導出處理步驟的流程圖,圖15是表示動圖像解碼裝置的運動矢量導出處理步驟的流程圖。

首先,參照圖14說明編碼側(cè)的處理步驟。在編碼側(cè),由差分運動矢量導出部103中的預測運動矢量候選生成部120、預測運動矢量登錄部121、及預測運動矢量候選相同判定部122導出預測運動矢量的候選,將導出的預測運動矢量的候選追加到mvp列表中,并刪除不需要的預測運動矢量的候選,由此構(gòu)建mvp列表(s101)。

接下來,由預測運動矢量候選碼量導出部123導出作為運動矢量mv與mvp列表mvplistlx中所保存的各預測運動矢量的候選mvplistlx[i]的差分的各個差分運動矢量,并針對mvp列表mvplistlx的各要素分別導出編碼這些差分運動矢量時的碼量,由預測運動矢量選擇部124在mvp列表mvplistlx內(nèi)所登錄的各要素中選擇各預測運動矢量的候選的碼量最小的預測運動矢量的候選mvplistlx[i],作為預測運動矢量mvp,若mvp列表mvplistlx中成為最小產(chǎn)生碼量的預測運動矢量的候選存在多個,則將mvp列表mvplistlx中的索引i較小的編號所表示的預測運動矢量的候選mvplistlx[i]選為最佳預測運動矢量mvp。將所選擇的預測運動矢量mvp提供給運動矢量減法部125。進而,將與該選擇的預測運動矢量mvp對應(yīng)的mvp列表中的索引i作為lx(x=0或1)的mvp索引mvp_idx而輸出(s102)。

接下來,運動矢量減法部125通過導出運動矢量mv與所選擇的預測運動矢量mvp的差分,來導出差分運動矢量mvd,并輸出差分運動矢量mvd(s103)。

mvd=mv-mvp

下面參照圖15說明解碼側(cè)的處理步驟。在解碼側(cè)也如前述那樣,同編碼側(cè)一樣由運動矢量導出部204中的預測運動矢量候選生成部220、預測運動矢量登錄部221、及預測運動矢量候選相同判定部222導出預測運動矢量的候選,將導出的預測運動矢量的候選追加到mvp列表中,并刪除不需要的預測運動矢量的候選,由此構(gòu)建mvp列表(s201)。

接下來,由預測運動矢量選擇部223首先判定mvp列表mvplistlx中剩下的預測運動矢量的候選是否為1個,若為1個,則取出mvp列表mvplistlx中剩下的預測運動矢量的候選作為預測運動矢量mvp。若mvp列表mvplistlx中剩有多于1個的預測運動矢量的候選,則在第1編碼比特串解碼部202中解碼后的預測運動矢量的索引mvp_idx被讀入,從mvp列表mvplistlx取出與所讀入的索引mvp_idx對應(yīng)的預測運動矢量的候選(s202)。

接下來,由運動矢量加法部224將第1編碼比特串解碼部202所解碼并供給的差分運動矢量mvd和預測運動矢量mvp相加,從而導出運動矢量mv,輸出運動矢量mv(圖15的s203)。

mv=mvp+mvd

使用圖16的流程圖詳細說明在圖14的s101及圖15的s201中共通的預測運動矢量的導出及mvp列表構(gòu)建方法的處理步驟。

首先,說明在動圖像編碼裝置及動圖像解碼裝置中共通的運動矢量的預測方法。

(運動矢量的預測方法)

實施方式的預測運動矢量的導出及mvp列表構(gòu)建方法是按預測塊單位、在圖16所示的各過程中針對每個參照列表lx(x為0或1)被實施的。預測模式predmode為mode_inter(幀間預測),表示幀間預測方法的標志inter_pred_flag[x0][y0]為pred_l0(l0預測)或pred_bi(雙預測)時,導出參照列表l0用的預測運動矢量的候選,并構(gòu)建mvp列表。這里,x0、y0是表示畫面內(nèi)的預測塊的左上像素的位置的索引,inter_pred_flag[x0][y0]是表示位于畫面內(nèi)的(x0,y0)位置的預測塊的幀間預測方法的標志。inter_pred_flag[x0][y0]為pred_l1(l1預測)或pred_bi(雙預測)時,導出參照列表l1用的預測運動矢量的候選,并構(gòu)建mvp列表。即,inter_pred_flag[x0][y0]為pred_bi(雙預測)時,導出參照列表l0用和參照列表l1用各自的預測運動矢量的候選,構(gòu)建mvp列表。圖16是表示在動圖像編碼裝置的差分運動矢量導出部103及動圖像解碼裝置的運動矢量導出部204中具有共通的功能的預測運動矢量候選生成部120及220、預測運動矢量登錄部121及221、以及預測運動矢量候選相同判定部122及222的處理流程的流程圖。以下按順序說明各過程。

輸出表示能否導出并使用基于左側(cè)相鄰的預測塊的預測運動矢量的候選的標志availableflaglxa、及運動矢量mvlxa、參照圖片的pocpoclxa(圖16的s301)。設(shè)l0時x為0,l1時x為1(以下同樣)。接下來,導出表示能否導出并使用基于上側(cè)相鄰的預測塊的預測運動矢量的候選的標志availableflaglxb、及運動矢量mvlxb、參照圖片的pocpoclxb(圖16的s302)。圖16的s301和s302的處理是共通的,稍后使用圖17~22的流程圖詳細說明用于導出表示能否利用的標志availableflaglxn、及運動矢量mvlxn、參照圖片的pocpoclxn(n為a或b、以下同樣)的共通的導出處理步驟。

接下來,輸出表示能否導出并使用時間的預測運動矢量的候選的標志availableflaglxcol、及運動矢量mvlxcol、表示是否交叉的標志mvxcrossflag(圖16的s303)。稍后使用圖24~29和圖22的流程圖詳細說明它們的導出處理步驟。

接下來,生成mvp列表mvplistlx,追加預測矢量的候選mvlxn(n為a、b或col、以下同樣)(圖16的s304)。稍后使用圖30~36的流程圖詳細說明它們的導出處理步驟。

接下來,若在mvp列表mvplistlx內(nèi)、多個運動矢量具有相同值,則除最小順序的運動矢量外消除這些運動矢量(圖16的s305)。

接下來,回到圖15,若mvp列表mvplistlx內(nèi)的要素數(shù)nummvpcand(lx)為1,則將最終的mvp索引mvpidx置為0,此外的情況下使mvpidx為mvp_idx_lx[xp,yp](圖15的s202)。在此,xp、yp是表示畫面內(nèi)的預測塊的左上像素的位置的索引,mvp_idx_lx[xp][yp]是位于畫面內(nèi)的(xp,yp)位置的預測塊的列表lx(l0或l1)的mvp索引。后綴lx表示參照列表,準備有l(wèi)0和l1的2個,x為0或1。

接下來,lx的mvp列表內(nèi)的第mvpidx個登錄的運動矢量mvplistlx[mvpidx]被分配為最終的列表lx的預測運動矢量mvplx(圖15的s203)。

[從左側(cè)或上側(cè)相鄰的1個以上的預測塊分別導出預測運動矢量的候選(圖16的s301、s302)]

該處理中的輸入是作為編碼/解碼對象預測塊的起始的左上像素在編碼/解碼對象圖像內(nèi)的坐標(xp,yp)、以及編碼/解碼對象預測塊的寬度npsw和高度npsh、預測塊的各參照列表的參照索引refidxlx(x為0或1)。后綴lx表示參照列表,準備有l(wèi)0和l1的兩個,x為0或1。參照列表l0、l1是用于為從多個參照圖片的候選中按塊單位參照任意圖片進行運動補償而管理多個參照圖片的列表,參照索引refidxlx是為指定參照圖片而針對各參照列表分別分配給各參照圖片的索引。

該處理中的輸出是左側(cè)或上側(cè)相鄰的預測塊的運動矢量mvlxn、及表示預測塊組n的參照列表lx的編碼信息是否有效的標志availableflaglxn,后綴x為表示參照列表的0或1,n為表示相鄰的預測塊組的區(qū)域的a(左側(cè))或b(上側(cè))。

如圖5、圖6、圖7、圖8所示,從為對同一圖片內(nèi)的編碼塊內(nèi)部進行運動補償而定義的預測塊(圖12中の處理對象の預測塊)的相鄰周圍的預測塊中,導出預測運動矢量的候選。

圖5表示處理對象預測塊和與之相鄰的預測塊。關(guān)于預測運動矢量的候選,分別從由處理對象預測塊的左側(cè)相鄰的預測塊ak(k=0,1,2)構(gòu)成的預測塊組a、和由上方相鄰的預測塊bk(k=0,1,2)構(gòu)成的預測塊組b選出預測運動矢量的候選。

使用圖17的流程圖,說明圖16的s301及s302的處理步驟、即基于左側(cè)及上側(cè)相鄰的預測塊組n導出預測運動矢量的候選mvlxn的導出方法。后綴x為表示參照列表的0或1,n為表示相鄰的預測塊組的區(qū)域的a(左側(cè))或b(上側(cè))。

在圖17中,分別按以下步驟,使變量n=a而基于編碼/解碼對象預測塊的左側(cè)相鄰的1個以上的預測塊導出預測運動矢量的候選,使變量n=b而基于上側(cè)相鄰的1個以上的預測塊導出預測運動矢量的候選。

首先,確定相鄰于編碼/解碼對象預測塊的預測塊,在各個預測塊nk(k=0,1,2)能使用的情況下,取得編碼信息(s1101、s1102、s1103)。對于編碼/解碼對象預測塊的左側(cè)相鄰的預測塊組(n=a)的情況,確定左下相鄰的預測塊a0、左相鄰的預測塊a1、左上相鄰的預測塊a2來取得編碼信息,對于編碼/解碼對象預測塊的上側(cè)相鄰的預測塊組(n=b)的情況,確定右上相鄰的預測塊b0、上相鄰的預測塊b1、左上相鄰的預測塊b2來取得編碼信息(s1101、s1102、s1103)。此外,當相鄰的預測塊nk位于包含編碼/解碼對象預測塊的片的內(nèi)側(cè)時能夠使用,在位于外側(cè)時不能使用。

接下來,將表示是否從預測塊組n選出預測運動矢量的標志availableflaglxn設(shè)定為0,將代表預測塊組n的運動矢量mvlxn設(shè)定為(0,0),將表示代表預測塊組n的運動矢量未被縮放的標志mvxnnonscale設(shè)定為0(s1104、s1105、s1106)。

接下來,進行圖18所示的流程圖的處理(s1107)。在預測塊組n的相鄰預測塊n0、n1、n2中,搜索在編碼/解碼對象預測塊中成為當前對象的參照列表lx和在相同參照列表lx中具有相同參照索引的運動矢量。

圖18是表示圖17的步驟s1107的處理步驟的流程圖。針對相鄰的預測塊nk(k=0,1,2),按k為0,1,2的順序分別進行以下處理(s1201~s1210)。在n為a的情況下按從下至上的順序,在n為b的情況下按從右向左的順序分別進行以下處理。

在相鄰的預測塊nk能使用(s1202的yes)、預測塊nk的編碼模式predmode并非幀內(nèi)(mode_intra)(s1203的yes)、相鄰的預測塊nk的predflaglx(表示是否為lx預測的標志)為1的情況下(s1204的yes),對相鄰的預測塊nk的參照索引refidxlx[xnk][ynk]與處理對象預測塊的索引refidxlx進行比較(s1205)。若兩者的參照索引相同(s1205的yes),則將標志availableflaglxn設(shè)定為1(s1206)、將mvlxn設(shè)定為與mvlxn[xnk][ynk]相同的值(s1207),將refidxn設(shè)定為與refidxlx[xnk][ynk]相同的值(s1208)、將listn設(shè)定為lx(s1209),將表示未被縮放的標志mvxnnonscale設(shè)定為1(s1210)。

在本實施方式中,表示未被縮放的標志mvxnnonscale為1、即未被縮放地導出的運動矢量mvlxn,是基于參照與編碼/解碼對象預測塊的運動矢量相同的參照圖片的預測塊的運動矢量而預測出的運動矢量,判定作為編碼/解碼對象預測塊的預測運動矢量的候選比較合適。另一方面,標志mvxcross為0、即通過縮放而導出的運動矢量mvlxn,是基于參照與編碼/解碼對象預測塊的運動矢量不同的參照圖片的預測塊的運動矢量而預測出的運動矢量,判定較不適合作為編碼/解碼對象預測塊的預測運動矢量的候選。即,將表示未被縮放的標志mvxnnonscale作為判定是否適合當作預測運動矢量的候選的判斷指標之一來使用。

另一方面,在不符合這些條件的情況下(s1202的no,s1203的no,s1204的no,或s1205的no的情況下),將k增加1,進行下一相鄰預測塊的處理(s1202~s1209),反復執(zhí)行直到availableflaglxn變成1、或n2的處理結(jié)束。

接下來,回到圖17的流程圖,在availableflaglxn為0時(s1108的yes)進行圖19所示的流程圖的處理(s1109)。在預測塊組n的相鄰預測塊n0、n1、n2中,搜索在與編碼/解碼對象預測塊中作為當前對象的參照列表lx相反的參照列表ly(y=!x:作為當前對象的參照列表為l0時、相反的參照列表為l1,作為當前對象的參照列表為l1時、相反的參照列表為l0)中具有相同參照poc的運動矢量的預測塊。

圖19是表示圖17的步驟s1109的處理步驟的流程圖。針對相鄰的預測塊nk(k=0,1,2),按k為0,1,2的順序分別進行以下處理(s1301~s1310)。在n為a的情況下按從下至上的順序、在n為b的情況下按從右向左的順序分別進行以下處理。

在相鄰的預測塊nk能使用(s1302的yes)、預測塊nk的編碼模式predmode并非幀內(nèi)(mode_intra)(s1303的yes)、相鄰的預測塊nk的predflagly(表示是否為ly預測的標志)為1的情況下(s1304的yes),對與相鄰的預測塊nk的作為當前對象的參照列表lx相反的參照列表ly的參照圖片refpiclisty[refidxly[xnk][ynk]]的pocrefpicordercnt(currpic,refidxly[xnk][ynk],ly)和處理對象的預測塊的lx的參照圖片refpiclistx[refidxlx]的pocrefpicordercnt(currpic,refidxlx,lx)進行比較(s1305)。在兩者的參照圖片的poc相同的情況下(s1305的yes),將標志availableflaglxn設(shè)定為1(s1306)、將mvlxn設(shè)定為與mvlxn[xnk][ynk]相同的值(s1307)、將refidxn設(shè)定為與refidxly[xnk][ynk]相同的值(s1308)、將listn設(shè)定為ly(s1309)、將表示未被縮放的標志mvxnnonscale設(shè)定為1(s1310)。

另一方面,在不符合這些條件的情況下(s1302的no,s1303的no,s1304的no,或s1305的no的情況下),使k增加1,進行下一相鄰預測塊的處理(s1302~s1309),反復執(zhí)行直到availableflaglxn成為1、或n2的處理結(jié)束。

接下來,回到圖17的流程圖,在availableflaglxn為0時(s1110的yes),進行圖20所示的流程圖的處理(s1111)。在預測塊組n的相鄰預測塊n0、n1、n2中,搜索在與編碼/解碼對象預測塊中作為當前對象的參照列表lx相同的參照列表lx中具有不同的參照poc的運動矢量的預測塊。

圖20是表示圖17的步驟s1111的處理步驟的流程圖。針對相鄰的預測塊nk(k=0,1,2),按k為0,1,2的順序分別進行以下處理(s1401~s1409)。在n為a的情況下按從下至上的順序、在n為b的情況下按從右向左的順序分別進行以下處理。

在相鄰的預測塊nk能使用(s1402的yes)、預測塊nk的編碼模式predmode并非幀內(nèi)(mode_intra)(s1403的yes)、相鄰的預測塊nk的predflaglx(表示是否為lx預測的標志)為1的情況下(s1404的yes),將標志availableflaglxn設(shè)定為1(s1405)、將mvlxn設(shè)定為與mvlxn[xnk][ynk]相同的值(s1406)、將refidxn設(shè)定為與refidxlx[xnk][ynk]相同的值(s1407)、將listn設(shè)定為lx(s1408)。

另一方面,在不符合這些條件的情況下(s1402的no,s1403的no,或s1404的no的情況下),使k增加1,進行下一相鄰預測塊的處理(s1402~s1408),反復執(zhí)行直到availableflaglxn成為1、或n2的處理結(jié)束。

接下來,回到圖17的流程圖,在availableflaglxn為0時(s1112的yes),進行圖21所示的流程圖的處理(s1113)。(在預測塊組n的相鄰預測塊n0、n1、n2中,搜索在與編碼/解碼對象預測塊中作為當前對象的參照列表lx相反的參照列表ly(y=!x:作為當前對象的參照列表為l0時、相反的參照列表是l1,作為當前對象的參照列表為l1時、相反的參照列表為l0)中具有不同的參照poc的運動矢量的預測塊)

圖21是表示圖17的步驟s1113的處理步驟的流程圖。針對相鄰的預測塊nk(k=0,1,2),按k為0,1,2的順序分別進行以下處理(s1501~s1509)。在n為a的情況下按從下至上的順序、在n為b的情況下按從右向左的順序分別進行以下處理。

在相鄰的預測塊nk能使用(s1502的yes)、預測塊nk的編碼模式predmode并非幀內(nèi)(mode_intra)(s1503的yes)、相鄰的預測塊nk的predflagly(表示是否為ly預測的標志)為1的情況下(s1504的yes),將標志availableflaglxn設(shè)定為1(s1505)、將mvlxn設(shè)定為與mvlxn[xnk][ynk]相同的值(s1506)、將refidxn設(shè)定為與refidxly[xnk][ynk]相同的值(s1507)、將listn設(shè)定為ly(s1508)。

另一方面,在不符合這些條件的情況下(s1502的no,s1503的no,或s1504的no的情況下),使k增加1,進行下一相鄰預測塊的處理(s1502~s1508),反復執(zhí)行直到availableflaglxn成為1、或n2的處理結(jié)束。

接下來,回到圖17的流程圖,在availableflaglxn為1時(s1114的yes),進行圖22所示的mvlxn的縮放處理(s1115)。

圖22是表示圖17的步驟s1115的運動矢量的縮放處理步驟的流程圖。圖23是用具體例子說明運動矢量的時間方向的縮放的圖。如果要參照的預測塊的參照列表listn的參照圖片refpiclistn[refidxln]的pocrefpicordercnt(currpic,refidxn,listn)與lx的參照圖片refpiclistx[refidxlx]的pocrefpicordercnt(currpic,refidxlx,lx)不相等(s1601的yes),則原樣保持mvlxn的值(s1602),若并非如此(s1601的no),則通過下式進行縮放處理。

mvlxn=tb/td*mvlxn

td是當前的編碼/解碼對象圖像的pocpicordercnt(currpic)與相鄰預測塊的參照列表listn所參照的參照圖片refpiclistn[refidxn]的pocrefpicordercnt(currpic,refidxn,listn)的差。

td=picordercnt(currpic)-refpicordercnt(currpic,refidxn,listn)

tb是當前的編碼/解碼對象圖像的pocpicordercnt(currpic)與當前的編碼/解碼對象圖像的參照列表lx所參照的參照圖片的poc的差。

tb=picordercnt(currpic)-refpicordercnt(currpic,refidxlx,lx)

[導出時間方向的預測運動矢量的候選(圖16的s303)]

該處理中的輸入是作為編碼/解碼對象預測塊的起始的左上像素在編碼/解碼對象圖像內(nèi)的坐標(xp,yp)、以及編碼/解碼對象預測塊的寬度npsw和高度npsh、預測塊的各參照列表的參照索引refidxlx(x為0或1)。后綴lx表示參照列表,準備有l(wèi)0和l1的兩個,x為0或1。參照列表l0、l1是為從多個參照圖片的候選中按塊單位參照任意圖片進行運動補償而管理多個參照圖片的列表,參照索引refidxlx是為指定參照圖片而針對各參照列表分別分配給各參照圖片的索引。

該處理中的輸出是與預測塊同位置的其它圖片的預測塊的運動矢量mvlxcol、以及表示預測塊組col的參照列表lx的編碼信息是否有效的標志availableflaglxcol,后綴x為表示參照列表的0或1。

圖24是說明圖16的步驟s303的處理步驟的流程圖。

首先,通過slice_type和collocated_from_l0_flag導出成為基準的圖片colpic(圖24的s2101)。

圖25是說明圖24的步驟s2101的基準圖片colpic的導出處理步驟的流程圖。在slice_type為b、圖10的第3標志collocated_form_l0_flag為0的情況下(圖25的s2201的yes、s2202的yes),refpiclist1[0]、即參照圖片列表1的參照索引為0的圖片成為colpic(圖25的s2203)。若并非如此(圖25的s2201的no、s2202的no、s2204的no)、refpiclist0[0]、即參照圖片列表0的參照索引為0的圖片成為colpic(圖25的s2205)。

接下來回到圖24的流程圖,導出預測塊colpu,取得編碼信息(圖24的s2102)。

圖26是說明圖24的步驟s2102的預測塊colpu的導出處理步驟的流程圖。

首先,將在colpic內(nèi)位于與處理對象預測塊同一位置的右下方(外側(cè))的預測塊設(shè)定為colpu(圖26的s2301)。該預測塊相當于圖9的預測塊t0。

然后,取得預測塊colpu的編碼信息。在預測塊colpu的predmode為mode_intra、或不可使用的情況下(圖26的s2303、s2304),將在colpic內(nèi)位于與處理對象預測塊同一位置的左上方(內(nèi)側(cè))的預測塊設(shè)定為colpu(圖26的s2305)。該預測塊相當于圖9的預測塊t1。此外,雖然未圖示,但在預測塊colpu的predmode為mode_intra、或不可使用的情況下,按圖9的預測塊t2、t3的順序搜索能使用的predmode并非mode_intra的預測塊。

接下來回到圖24的流程圖,導出mvlxcol和availableflaglxcol(圖24的s2103)。

圖27是說明圖24的步驟s2103的幀間預測信息的導出處理的流程圖。

在預測塊colpu的predmode為mode_intra、或不可使用的情況下(圖27的s2401的no、s2402的no),使availableflaglxcol為0、使mvlxcol為(0,0)(圖27的s2403、s2404),結(jié)束處理。

在預測塊colpu能使用,predmode并非mode_intra的情況下(圖27的s2401的yes、s2402的yes),按以下步驟導出mvcol和refidxcol。

在預測塊colpu的l0預測標志predflagl0[xpcol][ypcol]為0的情況下(圖27的s2405的yes),預測塊colpu的預測模式為pred_l1,故將運動矢量mvcol和參照索引refidxcol分別設(shè)定為作為良預測塊colpu的l1的運動矢量的mvl1[xpcol][ypcol]和l1的參照索引refidxl1[xpcol][ypcol](圖27的s2406、s2407)。

進而,確認所設(shè)定的運動矢量mvcol是否橫穿了包含編碼/解碼對象預測塊的圖片,并設(shè)定mv1cross(圖27的s2408)。

下面參照圖29說明運動矢量mv的交叉(cross)判定。

圖29是說明用于確認colpu的運動矢量mvcol是否橫穿了包含編碼/解碼對象預測塊的圖片地指示參照圖像的確認處理的流程圖。在基準圖片colpic的pocpicordercnt(colpic)比編碼/解碼對象圖片的pocpicordercnt(currpic)小、mvcol指示的參照圖片的pocrefpicordercnt(colpic,refidxcollx,lx)比編碼/解碼對象圖片的pocpicordercnt(currpic)大的情況下(圖27的s2601的yes),由于是將編碼/解碼對象圖片夾在中間、基準圖片colpic處于過去、參照圖片處于未來,故判定運動矢量mvcol橫穿了包含編碼/解碼對象預測塊的圖片地指示參照圖像,使mvxcross為1(圖27的s2602)。若并非如此(圖27的s2601的no)、基準圖片colpic的pocpicordercnt(colpic)比編碼/解碼對象圖片的pocpicordercnt(currpic)大、mvcol指示的參照圖片的pocrefpicordercnt(colpic,refidxcollx,lx)比編碼/解碼對象圖片的pocpicordercnt(currpic)小的情況下(圖27的s2603的yes),由于是將編碼/解碼對象圖片夾在中間、基準圖片colpic位于未來、參照圖片位于過去,故判定運動矢量mvcol橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像,使mvxcross為1(圖27的s2602)。在不符合以上條件的情況下(圖27的s2601的no、s2603的no),判定運動矢量mvcol沒有橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像,使mvxcross為0(圖27的s2604)。

再次回到圖27,將mvcross設(shè)定為mv1cross的值(圖27的s2409)。

在本實施方式中,標志mvxcross為1、即基準圖片colpic的colpu的運動矢量mvcol橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像的情況下,判定該運動矢量mvcol作為編碼/解碼對象預測塊的預測運動矢量的候選比較合適。另一方面,在標志mvxcross為0、即基準圖片colpic的colpu的運動矢量mvcol未橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像的情況下,判定該運動矢量mvcol并不較適合作為編碼/解碼對象預測塊的預測運動矢量的候選。即,將標志mvxcross作為判定是否適合當作預測運動矢量的候選的判斷指標之一來使用。在預測塊colpu的l1預測標志predflagl1[xpcol][ypcol]不為0的情況下(圖27的s2410的yes),由于預測塊colpu的預測模式為pred_bi,故從兩個運動矢量中選擇一者(圖27的s2415)。

圖28是說明預測塊colpu的預測模式為pred_bi時的預測塊的幀間預測信息的取得處理方法的流程圖。

運動矢量mvcol和參照索引refidxcol分別設(shè)定為作為預測塊colpu的l0的運動矢量的mvl0[xpcol][ypcol]和l0的參照索引refidxl0[xpcol][ypcol](圖27的s2411、s2412)。

首先,對refidxcollx設(shè)定l0的參照索引refidxl0[xpcol][ypcol](圖28的s2502),確認l0的運動矢量是否橫穿包含編碼/解碼對象預測塊的圖片后設(shè)定mv0cross(圖28的s2503)。進而,對refidxcollx設(shè)定l1的參照索引refidxl1[xpcol][ypcol](圖28的s2502),確認l1的運動矢量是否橫穿包含編碼/解碼對象預測塊的圖片后設(shè)定mv1cross(圖28的s2503)。

在mv0cross為0且mv1cross為1的情況下(圖28的s2505的yes)、或者mv0cross與mv1cross相等、參照索引列表為l1的情況下(圖28のs2506的yes),選擇l1的幀間預測信息,運動矢量mvcol、參照索引refidxcol、列表listcol、mvcross分別設(shè)定為mvl1[xpcol][ypcol]、refidxcoll1及l(fā)1、mv0cross。

在并非如此的情況下(圖28的s2505的no、s2506的no),選擇l0的幀間預測信息,運動矢量mvcol、參照索引refidxcol、列表listcol、mvcross分別設(shè)定為mvl0[xpcol][ypcol]、refidxcoll0及l(fā)0、mv0cross。

回到圖27,取得幀間預測信息后將availableflaglxcol置為1(圖27的s2416)。

然后回到圖24的流程圖,在availableflaglxcol為1的情況下(圖24的s2104的yes),根據(jù)需要縮放mvlxcol。在該mvlxcol的縮放中使用與在圖22中說明過的方法同樣的方法(圖24的s2105)。

[將預測運動矢量的候選追加到mvp列表中(圖16的s304)]

將在圖16的s301、s302、及s303中導出的預測運動矢量的候選mvlxn(n=a,b,col)追加到mvp列表mvplistlx中(s304)。圖30是表示向mvp列表追加預測運動矢量的候選的追加處理步驟的流程圖。在本實施方式中,賦以優(yōu)先順位,從優(yōu)先順位高者起向mvp列表mvplistlx中登錄預測運動矢量的候選,由此削減mvp索引mvp_idx_lx[x0][y0]的碼量。通過將優(yōu)先順位高的要素配置在mvp列表的前方,來削減碼量。例如,在mvp列表mvplistlx的要素為3個的情況下,通過使mvp列表的索引0為“0”、使索引1為“10”、使索引2為“11”,表示索引0的碼量成為1比特,對索引0登錄認為發(fā)生頻率較高的要素,從而削減碼量。

mvp列表mvplistlx形成列表構(gòu)造,設(shè)有將表示mvp列表內(nèi)部的所在的索引和與索引對應(yīng)的預測運動矢量的候選作為要素來保存的存儲區(qū)域。索引的數(shù)字從0開始,在mvp列表mvplistlx的存儲區(qū)域內(nèi)保存預測運動矢量的候選。在以后的處理中,將登錄在mvp列表mvplistlx中的索引i的預測運動矢量的候選用mvplistlx[i]來表示,通過進行排列標記來與mvp列表mvplistlx相區(qū)別。

在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為0的情況下(s3101的yes、s3102的no),與基于左相鄰或上相鄰的預測塊的預測運動矢量的候選mvlxa、mvlxb相比,基于不同時間的圖片的同一位置或其附近的預測塊的預測運動矢量的候選mvlxcol被優(yōu)先,按圖31所示的流程圖的處理步驟,將預測運動矢量的候選登錄在mvp列表中(s3104)。

此外,在mv_temporal_high_priority_flag為0、mv_list_adaptive_idx_flag為0的情況下(s3101的no、s3103的no),與基于不同時間的圖片的同一位置或其附近的預測塊的預測運動矢量的候選mvlxcol相比,基于左相鄰或上相鄰的預測塊的預測運動矢量的候選mvlxa、mvlxb被優(yōu)先,按圖32所示的流程圖的處理步驟,將預測運動矢量的候選登錄在mvp列表中(s3105)。

此外,在mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為1的情況下(s3101的yes、s3102的yes),被判定為可靠性較高的預測運動矢量的候選被優(yōu)先,并且與基于左相鄰或上相鄰的預測塊的預測運動矢量的候選mvlxa、mvlxb相比,基于不同時間的圖片的同一位置或其附近的預測塊的預測運動矢量的候選mvlxcol被優(yōu)先,按圖33所示的流程圖的處理步驟,將預測運動矢量的候選登錄在mvp列表中(s3106)。

此外,在mv_temporal_high_priority_flag為0、mv_list_adaptive_idx_flag為1的情況下(s3101的no、s3103的yes),被判定可靠性較高的預測運動矢量的候選被優(yōu)先,并且與基于不同時間的圖片的同一位置或其附近的預測塊的預測運動矢量的候選mvlxcol相比,基于左相鄰或上相鄰的預測塊的預測運動矢量的候選mvlxa、mvlxb被優(yōu)先,按圖34所示的流程圖的處理步驟,將預測運動矢量的候選登錄在mvp列表中(s3107)。

如前所述,為提高編碼效率,按各幀或片自適應(yīng)地變更第2標志mv_temporal_high_priority_flag的值地進行編碼。在編碼/解碼對象圖片與最近的參照圖片之間的距離較近的情況下,使mv_temporal_high_priority_flag為真(1),在編碼/解碼對象圖像與參照圖片間的距離較遠的情況下,使其為假(0),由此能削減mvp索引的碼量。在該距離比較小的情況下,判定來自不同時間的mvp的候選比較適合作為候選。例如,在幀率為30hz的情況下,若編碼/解碼對象圖片與最近的參照圖片間的距離在x幀以內(nèi)(x=1~3程度),則將mv_temporal_high_priority_flag設(shè)定為真(1),若編碼/解碼對象圖像與參照圖片間的距離比x幀大,則將之設(shè)定為假(0),來削減mvp索引的碼量。通過根據(jù)序列的內(nèi)容設(shè)定該閾值x,能更加削減碼量。若是運動較大、較復雜的序列,則通過減小閾值來降低時間方向的mvp候選的優(yōu)先順位,由此能提高編碼效率。

圖31是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為0時(s3101的yes、s3102的no)、向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟的流程圖。

首先,在availableflaglxcol為1的情況下(s3201的yes),在mvp列表mvplistlx的起始登錄mvlxcol(s3202)。

接下來,在availableflaglxa為1的情況下(s3203的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3204)。

接下來,在availableflaglxb為1的情況下(s3205的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3206)。

圖32是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為0時(s3101的no、s3103的no)、向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟的流程圖。

首先,在availableflaglxa為1的情況下(s3301的yes),在mvp列表mvplistlx的起始登錄mvlxa(s3302)。

接下來,在availableflaglxb為1的情況下(s3303的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3304)。

接下來,在availableflaglxcol為1的情況下(s3305的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3306)。

圖33是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為1時(s3101的yes、s3102的yes)、向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟的流程圖。

首先,在availableflaglxcol為1、且mvcross為1的情況下(s3401的yes、s3402的yes),在mvp列表mvplistlx的起始登錄mvlxcol(s3403)。

接下來,在availableflaglxa為1、且mvxanonscale為1的情況下(s3404的yes、s3405的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3406)。

接下來,在availableflaglxb為1、且mvxbnonscale為1的情況下(s3407的yes、s3408的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3409)。

接下來,在availableflaglxcol為1、且mvcross為0的情況下(s3410的yes、s3411的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3412)。

接下來,在availableflaglxa為1、且mvxanonscale為0的情況下(s3413的yes、s3414的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3415)。

接下來,在availableflaglxb為1、且mvxbnonscale為0的情況下(s3417的yes、s3416的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3418)。

圖34是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為0、mv_list_adaptive_idx_flag為1時(s3101的no、s3103的yes),向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟的流程圖。

首先,在availableflaglxa為1、且mvxanonscale為1的情況下(s3501的yes、s3502的yes),在mvp列表mvplistlx的起始登錄mvlxa(s3503)。

接下來,在availableflaglxb為1、且mvxbnonscale為1的情況下(s3504的yes、s3505的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3506)。

接下來,在availableflaglxcol為1、且mvcross為1的情況下(s3507的yes、s3508的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3509)。

接下來,在availableflaglxa為1、且mvxanonscale為0的情況下(s3510的yes、s3511的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3512)。

接下來,在availableflaglxb為1、且mvxbnonscale為0的情況下(s3513的yes、s3514的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3515)。

接下來,在availableflaglxcol為1、且mvcross為0的情況下(s3516的yes、s3517的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3518)。

在圖30的向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟中,在mv_temporal_high_priority_flag為1時,將時間性的運動矢量mvlxcol優(yōu)先登錄在mvp列表的前方,在mv_temporal_high_priority_flag為0時,空間性的運動矢量mvlxa、mvlxb優(yōu)先登錄在mvp列表的前方,由此削減碼量。

在圖33及圖34的向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟中,判定從標志mvcross為1、即橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像的colpu的運動矢量mvcol導出的預測運動矢量的候選,與從標志mvcross為0、即沒有橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像的colpu的運動矢量mvcol導出的預測運動矢量的候選相比,多具有接近編碼/解碼對象的運動矢量的值、差分運動矢量的值多會變小,通過將預測塊col的預測運動矢量提高優(yōu)先順位而登錄在mvp列表的前方,來削減碼量。即,根據(jù)不同時間的圖像的預測塊col的編碼信息的值,變更優(yōu)先順位,變更向混合候選列表中登錄的順序,由此削減碼量。

此外,在預測塊n(n為a或b)中,判定從mvxnnonscale為1的運動矢量預測出的預測運動矢量的候選比從mvxnnonscale為0的運動矢量預測出的預測運動矢量的候選更適合作為編碼/解碼對象預測塊的預測運動矢量的候選,多具有接近編碼/解碼對象的運動矢量的值、差分運動矢量的值多會減小,通過將其優(yōu)先登錄到mvp列表中,來削減碼量。

當然,也可以不按圖33及圖34、而是按圖35及圖36的處理步驟登錄預測運動矢量的候選。

圖35是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為1時(s3101的yes、s3102的yes)、向第2mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟的流程圖。

首先,在availableflaglxcol為1、且在不同時間的預測塊組中右下的預測塊被選擇的情況下(s3601的yes、s3602的yes),在mvp列表mvplistlx的起始登錄mvlxcol(s3603)。

接下來,在availableflaglxa為1、且在左相鄰的預測塊組中左下或左方的預測塊被選擇的情況下(s3604的yes、s3605的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3606)。

接下來,在availableflaglxb為1、且在上相鄰的預測塊組中右上或上方的預測塊被選擇的情況下(s3607的yes、s3608的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3609)。

接下來,在availableflaglxcol為1、且在不同時間的預測塊組中中央的預測塊被選擇的情況下(s3610的yes、s3611的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3612)。

接下來,在availableflaglxa為1、且在左相鄰的預測塊組中左上的預測塊被選擇的情況下(s3613的yes、s3614的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3615)。

接下來,在availableflaglxb為1、且在上相鄰的預測塊組中左上的預測塊被選擇的情況下(s3617的yes、s3616的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3618)。

圖36是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為0、mv_list_adaptive_idx_flag為1時(s3101的no、s3103的yes)、向第2mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟的流程圖。

首先,在availableflaglxa為1、且在左相鄰的預測塊組中左下或左方的預測塊被選擇的情況下(s3701的yes、s3702的yes),在mvp列表mvplistlx的起始登錄mvlxa(s3703)。

接下來,在availableflaglxb為1、且在上相鄰的預測塊組中右上或上方的預測塊被選擇的情況下(s3704的yes、s3705的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3706)。

接下來,在availableflaglxcol為1、且在不同時間的預測塊組中右下的預測塊被選擇的情況下(s3707的yes、s3708的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3709)。

接下來,在availableflaglxa為1、且在左相鄰的預測塊組中左上的預測塊被選擇的情況下(s3710的yes、s3711的yes),在mvp列表mvplistlx的最后登錄mvlxa(s3712)。

接下來,在availableflaglxb為1、且在上相鄰的預測塊組中左上的預測塊被選擇的情況下(s3713的yes、s3714的yes),在mvp列表mvplistlx的最后登錄mvlxb(s3715)。

接下來,在availableflaglxcol為1、且在不同時間的預測塊組中中央的預測塊被選擇的情況下(s3716的yes、s3717的yes),在mvp列表mvplistlx的最后登錄mvlxcol(s3718)。

在圖35及圖36的向mvp列表mvplistlx登錄預測運動矢量的候選的登錄處理步驟中,在不同時間的預測塊組內(nèi)、基于右下的預測塊的運動矢量預測出的預測運動矢量的候選與在不同時間的預測塊組中基于中央的預測塊的運動矢量預測出的預測運動矢量的候選相比,多具有接近編碼對象的運動矢量的值,判定為差分運動矢量的值多會減小,將之優(yōu)先登錄到mvp列表中,由此來削減碼量。在左相鄰的預測塊組中,基于左下或左方的預測塊的運動矢量預測出的預測運動矢量的候選與基于左上的預測塊的運動矢量預測出的預測運動矢量的候選相比,多具有接近編碼對象的運動矢量的值,判定為差分運動矢量的值多會減小,通過將之優(yōu)先登錄到mvp列表中,來削減碼量。在上相鄰的預測塊組中,基于右上或上方的預測塊的運動矢量預測出的預測運動矢量的候選與基于左上的預測塊的運動矢量預測出的預測運動矢量的候選相比,多具有接近編碼對象的運動矢量的值,判定差分運動矢量的值多會減小,通過將之優(yōu)先登錄到mvp列表中,來削減碼量。

[刪除mvp列表中的具有相同值的預測運動矢量的候選(圖16的s305)]

在預測運動矢量的候選的mvp列表mvplistlx中,若存在具有相同運動矢量值的預測運動矢量的候選,則除mvp列表mvplistlx中具有最小的索引的預測運動矢量的候選外,將其它全部都刪除。刪除處理結(jié)束后,mvp列表mvplistlx中空出了已刪除的預測運動矢量的候選的保存區(qū)域,故以索引0為基準,按索引從小到大的預測運動矢量候選的順序填充。例如,在索引1、4的預測運動矢量的候選被刪除,索引0、2及3保留的情況下,索引0原樣不變,將索引2的預測運動矢量的候選移動到索引1的保存區(qū)域,將索引3的預測運動矢量的候選移動到索引2的保存區(qū)域,這樣更新mvp列表mvplistlx。

關(guān)于步驟s301、s302、s303,既可以切換處理順序,還能并行地進行處理。

下面說明混合模式。

以上敘述了動圖像編碼裝置的差分運動矢量導出部103和動圖像解碼裝置的運動矢量導出部204的預測運動矢量的導出方法、以及預測運動矢量列表的構(gòu)建方法,但在動圖像編碼裝置的幀間預測信息推定部104、及動圖像解碼裝置的幀間預測信息推定部205的混合模式下也進行同樣的處理。

如前所述,混合模式并非對該預測塊的預測模式、參照列表索引、運動矢量等幀間預測信息進行編碼/解碼,而是利用已編碼的相鄰的被幀間預測出的預測塊、或不同圖像的被幀間預測出的預測塊的幀間預測信息的模式。

圖37是說明混合模式下的相鄰的預測塊的位置的圖?;旌夏J揭宰笙噜彽念A測塊a、上相鄰的預測塊b、右上相鄰的預測塊c、左下相鄰的預測塊d、以及使用圖9說明的不同時間的同一位置或其附近的預測塊col(t0~t3的一者)的5個預測塊為候選。動圖像編碼裝置的幀間預測信息推定部104、及動圖像解碼裝置的幀間預測信息推定部205按在編碼側(cè)和解碼側(cè)共通的規(guī)定順序?qū)⑦@5個候選登錄于混合候選列表,動圖像編碼裝置的幀間預測信息推定部104決定用于確定混合候選列表的要素的混合索引后,經(jīng)由第1編碼比特串生成部進行編碼,動圖像解碼裝置的幀間預測信息推定部205被提供由第1編碼比特串解碼部202解碼后的混合索引,從混合候選列表中選擇與該混合索引相應(yīng)的預測塊,并利用該選擇的預測塊的預測模式、參照索引、運動矢量等幀間預測信息進行運動補償預測。

圖38是表示圖1的動圖像編碼裝置的幀間預測信息推定部104的詳細構(gòu)成的圖。此外,圖39是表示圖2的動圖像解碼裝置的幀間預測信息推定部205的詳細構(gòu)成的圖。

圖38和圖39的粗框線包圍的部分分別表示了幀間預測信息推定部104和幀間預測信息推定部205。

此外,其內(nèi)部的粗虛線包圍的部分表示了后述的幀間預測信息推定方法的動作部,在實施方式的與動圖像編碼裝置對應(yīng)的動圖像解碼裝置中也同樣設(shè)置,以使得得到在編碼和解碼中不矛盾的同一判定結(jié)果。

幀間預測信息推定部104包括混合候選生成部130、混合候選登錄部131、混合候選相同判定部132、以及編碼信息選擇部133。

幀間預測信息推定部205包括混合候選生成部230、混合候選登錄部231、混合候選相同判定部232、以及編碼信息選擇部233。

圖40是表示在動圖像編碼裝置的幀間預測信息推定部104及動圖像解碼裝置的幀間預測信息推定部205中具有共通的功能的混合候選的導出及混合候選列表的構(gòu)建處理的流程的流程圖。以下按順心說明各過程。

在動圖像編碼裝置的幀間預測信息推定部104的混合候選生成部130及動圖像解碼裝置的幀間預測信息推定部205的混合候選生成部230中,針對每個列表導出來自周圍相鄰的預測塊a,b,c,d的成為混合候選的預測塊,并輸出表示能否利用的標志availableflagn、以及運動矢量mvlxn、參照索引refidxlxn、表示是否進行l(wèi)n預測的ln預測標志predflaglxn(n=a,b,c,d)(圖40的s401)。此外,假定在l0時x為0、在l1時x為1(以下同樣)。使用圖41的流程圖在后詳細說明用于導出表示能否利用的標志availableflaglxn、及運動矢量mvlxn、參照索引refidxlxn、ln預測標志predflaglxn(n為a,b,c,d、以下同樣)的共通的導出處理步驟。

接下來,導出不同時間的混合候選。在使用不同時間的混合候選的編碼信息進行幀間預測的情況下,為進行雙預測,導出l0和l1的2個編碼信息。首先,在動圖像編碼裝置的幀間預測信息推定部104的混合候選生成部130及動圖像解碼裝置的幀間預測信息推定部205的混合候選生成部230中,決定并輸出不同時間的混合候選的參照索引refidxlxcol(圖40的s402)。這里,在l0、l1中,分別檢查已編碼的周圍的預測塊的編碼信息,將其中最多發(fā)生的參照索引的值設(shè)定為參照索引refidxlxcol的值。若最多發(fā)生的參照索引存在相同數(shù)量,則將參照索引值較小的設(shè)定為參照索引refidxlxcol的值,若不存在參照索引(不能利用周圍的預測塊、或幀內(nèi)預測模式的情況下),則使參照索引refidxlxcol的值為0。

接下來,在動圖像編碼裝置的幀間預測信息推定部104的混合候選生成部130及動圖像解碼裝置的幀間預測信息推定部205的混合候選生成部230中,導出來自不同時間的圖像的預測運動矢量的候選,輸出表示能否利用的標志availableflagcol、表示是否交叉的標志mvcrossflag、以及運動矢量mvlxcol(圖40的s403)。這些導出處理步驟是與使用圖24~29和圖22的流程圖說明過的同樣的方法。但在混合模式下的基于圖22的mv的縮放中,是根據(jù)在步驟s402中導出的參照索引refidxlxcol而導出的。

接下來,在動圖像編碼裝置的幀間預測信息推定部104的混合候選登錄部131及動圖像解碼裝置的幀間預測信息推定部205的混合候選登錄部231中,生成混合候選列表mergecandlist,追加預測矢量的候選mvlxn(n為a、b、c、d或col,以下同樣)(圖40的s404)。使用圖42~45的流程圖稍后詳細說明這些登錄處理步驟。

接下來,在動圖像編碼裝置的幀間預測信息推定部104的混合候選相同判定部132及動圖像解碼裝置的幀間預測信息推定部205的混合候選相同判定部232中,在混合候選列表mergecandlist內(nèi)、若混合候選相同的參照索引的運動矢量具有相同值,則除最小順序的混合候選外去除該運動矢量(圖40的s405)。

[從周邊的預測塊導出混合的候選(圖40的s401)]

使用圖41的流程圖說明作為圖40的s401的處理步驟的、基于周邊相鄰的預測塊組n的預測塊n的導出方法。后綴x為表示參照列表的0或1,n為表示相鄰的預測塊組的區(qū)域的a(左側(cè))、b(上側(cè))、c(右上)或d(左下)。

在圖40中,使變量n=a、檢查編碼/解碼對象的預測塊的左側(cè)相鄰的預測塊,使變量n=b、檢查上側(cè)相鄰的預測塊,使變量n=c檢查右上側(cè)相鄰的預測塊,使n=d、檢查左下側(cè)相鄰的預測塊后,分別按以下步驟導出預測運動矢量的候選(s4101~s4110)。

首先,確定與編碼/解碼對象預測塊相鄰的預測塊,在能利用各個預測塊n的情況下,取得編碼信息(s4102)。

在相鄰的預測塊n不能利用(s4103的yes)、或預測塊n的編碼模式predmode為幀內(nèi)(mode_intra)的情況下(s4104的yes),將標志availableflagn設(shè)定為0(s4105),將mvlxn設(shè)定為(0,0)(s4106)。

另一方面,在相鄰的預測塊n能利用(s4103的no)、預測塊n的編碼模式predmode非幀內(nèi)(mode_intra)的情況下(s4104的no),將標志availableflagn設(shè)定為1(s4107),并取得預測塊n的幀間預測信息。即、預測塊n的運動矢量mvlxn、參照索引refidxlx[xn,yn]、表示是否進行基于lx的預測的標志predflaglx[xn,yn]分別被分配給mvlxn、refidxlxn、predflaglxn(s4108、s4109、s4110)。這里,x是0和1,取得l0和l1的幀間預測信息。此外,在進行加權(quán)預測、按預測塊單位設(shè)定加權(quán)系數(shù)的情況下,還取得加權(quán)系數(shù)。此外,在進行交錯(interlace)編碼、并按預測塊單位切換幀模式和場模式的情況下,還取得幀/場的切換模式。此外,還能取得幀間預測信息以外的量化參數(shù)等。

針對n=a,b,c,d反復執(zhí)行以上步驟s4102~s4110的處理(s4101~s4111)。

[將預測塊的候選追加到混合候選列表中(圖40的s404)]

下面說明將使用圖37、圖9說明過的成為混合候選的預測塊的候選追加到混合候選列表的方法。圖42是表示向混合候選列表追加成為混合候選的預測塊的候選的追加處理步驟的流程圖。在本實施方式中,賦于優(yōu)先順位,從優(yōu)先順位高者起,向混合候選列表mergecandlist登錄預測運動矢量的候選,由此削減混合索引merge_idx[x0][y0]的碼量。通過將優(yōu)先順位高的要素配置在混合候選列表的前方,來削減碼量。例如,在混合候選列表mergecandlist的要素為5個的情況下,通過使混合候選列表的索引0為“0”、索引1為“10”、索引2為“110”、索引3為“1110”、索引4為“11110”,表示索引0的碼量成為1比特,對索引0登錄認為發(fā)生頻率高的要素,由此削減碼量。

混合候選列表mergecandlist呈列表構(gòu)造,設(shè)有將表示混合候選列表內(nèi)部的所在的混合索引、和與索引對應(yīng)的預測運動矢量的候選作為要素來保存的存儲區(qū)域?;旌纤饕臄?shù)字從0開始,在混合候選列表mergecandlist的存儲區(qū)域內(nèi)保存預測運動矢量的候選。在以后的處理中,已登錄在混合候選列表mergecandlist中的成為混合索引i的混合候選的預測塊用mergecandlist[i]來表示,通過進行排列標記來與混合候選列表mergecandlist相區(qū)別。

在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為0的情況下(s4201的yes、s4202的no),與右上或左下相鄰的預測塊c、d相比,不同時間的圖片的同一位置或其附近的預測塊col被優(yōu)先,按圖43所示的流程圖的處理步驟,成為混合候選的預測塊被登錄于混合候選列表(s4204)。

此外,在mv_temporal_high_priority_flag為0、mv_list_adaptive_idx_flag為0的情況下(s4201的no、s4203的no),與基于不同時間的圖片的同一位置或其附近的預測塊的成為混合候選的預測塊col相比,右上或左下相鄰的預測塊c、d被優(yōu)先,按圖44所示的流程圖的處理步驟,成為混合候選的預測塊被登錄于混合候選列表(s4205)。

此外,在mmv_list_adaptive_idx_flag為1的情況下(s4202的yes、s4203的yes),被判定可靠性較高的成為混合候選的預測塊被優(yōu)先,按圖45所示的流程圖的處理步驟,成為混合候選的預測塊被登錄于混合候選列表(s4206)。

如前所述,第2標志mv_temporal_high_priority_flag的值為提高編碼效率而被按幀或片自適應(yīng)變更地編碼。在編碼/解碼對象圖片與最近的參照圖片之間的距離較近時,將mv_temporal_high_priority_flag設(shè)定為真(1),在編碼/解碼對象圖像與參照圖片之間的距離較遠時,將之設(shè)定為假(0),由此能夠削減混合索引的碼量。在該距離比較小的情況下,判定來自不同時間的混合候選作為候選比較合適。例如,在幀率為30hz的情況下,若編碼/解碼對象圖片與最近的參照圖片之間的距離在x幀以內(nèi)(x=1~3程度),則將mv_temporal_high_priority_flag設(shè)定為真(1),若編碼/解碼對象圖像與參照圖片之間的距離大于x幀,則設(shè)定為假(0),由此削減混合索引的碼量。通過根據(jù)序列的內(nèi)容來設(shè)定該閾值x,能更加削減碼量。若是運動較大、較復雜的序列,則通過減小閾值、降低時間方向的混合候選的優(yōu)先順位,能提高編碼效率。

圖43是表示在按各片、序列或圖片編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為0的情況下(s4201的yes、s4202的no),向混合候選列表mergecandlist登錄成為混合候選的預測塊的登錄處理步驟的流程圖。

首先,在availableflaga為1的情況下(s4301的yes),在混合候選列表mergecandlist的起始登錄預測塊a作為混合候選(s4302)。

接下來,在availableflagb為1的情況下(s4303的yes),在混合候選列表mergecandlist的最后登錄預測塊b作為混合候選(s4304)。

接下來,在availableflagcol為1的情況下(s4305的yes),在混合候選列表mergecandlist的最后登錄預測塊col作為混合候選(s4306)。

接下來,在availableflagc為1的情況下(s4307的yes),在混合候選列表mergecandlist的最后登錄預測塊c作為混合候選(s4308)。

接下來,在availableflagd為1的情況下(s4309的yes),在混合候選列表mergecandlist的最后登錄預測塊d作為混合候選(s4310)。

圖44是表示在按各片、序列或圖片而編碼的標志mv_temporal_high_priority_flag為1、mv_list_adaptive_idx_flag為0的情況下(s4201的no、s4203的no),向混合候選列表mergecandlist登錄成為混合候選的預測塊的登錄處理步驟的流程圖。

首先,在availableflaga為1的情況下(s4401的yes),在混合候選列表mergecandlist的起始登錄預測塊a作為混合候選(s4402)。

接下來,在availableflagb為1的情況下(s4403的yes),在混合候選列表mergecandlist的最后登錄預測塊b作為混合候選(s4404)。

接下來,在availableflagc為1的情況下(s4405的yes),在混合候選列表mergecandlist的最后登錄預測塊c作為混合候選(s4406)。

接下來,在availableflagd為1的情況下(s4407的yes),在混合候選列表mergecandlist的最后登錄預測塊d作為混合候選(s4408)。

接下來,在availableflagcol為1的情況下(s4409的yes),在混合候選列表mergecandlist的最后登錄預測塊col作為混合候選(s4410)。

圖45是表示在按各片、序列或圖片編碼的標志mv_temporal_high_priority_flag為0或1、mv_list_adaptive_idx_flag為1的情況下(s4201的yes、s4202的yes),向混合候選列表mergecandlist登錄成為混合候選的預測塊的登錄處理步驟的流程圖。

首先,在availableflaga為1的情況下(s4501的yes),在混合候選列表mergecandlist的起始登錄預測塊a作為混合候選(s4502)。

接下來,在availableflagb為1的情況下(s4503的yes),在混合候選列表mergecandlist的最后登錄預測塊b作為混合候選(s4504)。

接下來,在availableflagcol為1、且mvxcross為1的情況下(s4505的yes、s4506的yes),在混合候選列表mergecandlist的最后登錄預測塊col作為混合候選(s4507)。

接下來,在availableflagc為1的情況下(s4508的yes),在混合候選列表mergecandlist的最后登錄預測塊c作為混合候選(s4509)。

接下來,在availableflagd為1的情況下(s4510的yes),在混合候選列表mergecandlist的最后登錄預測塊d作為混合候選(s4511)。

接下來,在availableflagcol為1、且mvxcross為0的情況下(s4511的yes、s4513的yes),在混合候選列表mergecandlist的最后登錄預測塊col作為混合候選(s4514)。

在圖42的向混合候選列表mergecandlist登錄預測運動矢量的候選的登錄處理步驟中,在mv_temporal_high_priority_flag為1時,與右上或左下相鄰的預測塊c、d相比,將時間性的預測塊col優(yōu)先登錄到混合候選列表的前方,在mv_temporal_high_priority_flag為0時,將右上或左下相鄰的預測塊c、d比時間性的預測塊col優(yōu)先地登錄到混合候選列表的前方,由此削減混合索引的碼量。

在圖45的向混合候選列表mergecandlist登錄預測塊的候選的登錄處理步驟中,判定標志mvcross為1、即使用基于橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像的colpu的運動矢量mvcol而導出的運動矢量的混合候選,比標志mvcross為0、即使用基于未橫穿包含編碼/解碼對象預測塊的圖片地指示參照圖像的colpu的運動矢量mvcol而導出的運動矢量的混合候選,更適合作為混合候選,在mvcross為1時,提高時間性的預測塊col的優(yōu)先順位而登錄到混合候選列表的前方,在mvcross為0時,降低時間性的預測塊col的優(yōu)先順位而登錄到混合候選列表的后方,由此來削減碼量。即,根據(jù)不同時間的圖像的預測塊col的編碼信息的值來變更優(yōu)先順位,變更登錄到混合候選列表的順序,由此來削減碼量。

此外,在混合模式下,左相鄰的預測塊a和上相鄰的預測塊b多數(shù)情況下會與編碼/解碼對象預測塊一體地運動,故在能取得幀間預測信息的情況下,將其比其它預測塊c、d、col更優(yōu)先地登錄到混合候選列表的前方。

此外,也可以不按圖45的處理步驟、而是按圖46的處理步驟登錄混合候選。

圖46是表示在按各片、序列或圖片編碼的標志mv_temporal_high_priority_flag為0或1、mv_list_adaptive_idx_flag為1的情況下(s4202的yes、s4203的yes),向混合候選列表mergecandlist登錄成為混合候選的預測塊的登錄處理步驟的流程圖。

首先,在availableflaga為1、predflagl0a和predflagl1a都為1的情況下(s4601的yes、s4602的yes),在混合候選列表mergecandlist的起始登錄雙預測的預測塊a作為混合候選(s4603)。

接下來,在availableflagb為1、predflagl0b和predflagl1b都為1的情況下(s4604的yes、s4605的yes),在混合候選列表mergecandlist的最后登錄雙預測的預測塊b作為混合候選(s4606)。

接下來,在availableflaga為1、predflagl0a和predflagl1a的某一者為0的情況下(s4607的yes、s4608的yes),在混合候選列表mergecandlist的最后登錄非雙預測的預測塊a作為混合候選(s4609)。

接下來,在availableflagb為1、predflagl0b和predflagl1b的某一者為0的情況下(s4610的yes、s4611的yes),在混合候選列表mergecandlist的最后登錄非雙預測的預測塊b作為混合候選(s4612)。

接下來,在availableflagc為1、predflagl0c和predflagl1c都為1的情況下(s4613的yes、s4614的yes),在混合候選列表mergecandlist的最后登錄雙預測的預測塊c作為混合候選(s4615)。

接下來,在availableflagd為1、predflagl0d和predflagl1d都為1的情況下(s4616的yes、s4617的yes),在混合候選列表mergecandlist的最后登錄雙預測的預測塊d作為混合候選(s4618)。

接下來,在availableflagcol為1的情況下(s4619的yes),在混合候選列表mergecandlist的最后登錄預測塊col作為混合候選(s4620)。

接下來,在availableflagc為1、predflagl0c和predflagl1c的某一者為0的情況下(s4621的yes、s4622的yes),在混合候選列表mergecandlist的最后登錄非雙預測的預測塊c作為混合候選(s4623)。

接下來,在availableflagd為1、predflagl0d和predflagl1d的某一者為0的情況下(s4624的yes、s4625的yes),在混合候選列表mergecandlist的最后登錄非雙預測的預測塊c作為混合候選(s4626)。

在圖46的向混合候選列表mergecandlist登錄預測塊的候選的登錄處理步驟中,判定周圍相鄰的預測塊n(n為a,b,c,d)的預測標志predflagl0n和predflagl1n都為1、即使用雙預測進行運動補償?shù)幕旌虾蜻x,比周圍相鄰的預測塊n(n為a,b,c,d)的預測標志predflagl0n和predflagl1n的某一者為0、即使用非雙預測的l0預測、l1預測等單向預測進行運動補償?shù)幕旌虾蜻x,更適合作為混合候選,提高進行雙預測的混合候選的優(yōu)先順位而登錄到混合候選列表的前方,并降低未進行雙預測的混合候選的優(yōu)先順位而登錄到混合候選列表的后方,由此來削減碼量。即,根據(jù)周圍相鄰的預測塊n的編碼信息的值來變更優(yōu)先順位,變更登錄到混合候選列表的順序,由此來削減碼量。

當然,也可以不按圖45、圖46,而是按照圖47的處理步驟,根據(jù)編碼/解碼對象圖像與混合候選的參照圖像的距離,來賦予優(yōu)先順位地登錄混合候選。

圖47是表示在按各片、序列或圖片編碼的標志mv_temporal_high_priority_flag為0或1、mv_list_adaptive_idx_flag為1的情況下(s4202的yes、s4203的yes),向混合候選列表mergecandlist登錄成為混合候選的預測塊的登錄處理步驟的流程圖。

首先,導出編碼/解碼對象圖像的poc與在預測塊a的幀間預測中使用的參照圖片的poc的差分的絕對值,作為幀間預測圖像間距離dista(s4701)。同樣地、分別導出編碼/解碼對象圖像的poc與在預測塊b、c、d、col的幀間預測中使用的參照圖片的poc的差分的絕對值,作為幀間預測圖像間距離distb,distc,distd,distcol(s4701~s4705)。在預測塊n(n=a,b,c,d或col)為雙預測的情況下,導出l0用的幀間預測圖像間距離和l1用的幀間預測圖像間距離,選擇較小者作為幀間預測圖像間距離distn(n=a,b,c,d或col)。在預測塊n(n=a,b,c,d或col)為l0預測或l1預測的情況下,導出所使用的l0用的幀間預測圖像間距離或l1用的幀間預測圖像間距離,選擇較小者作為幀間預測圖像間距離distn(n=a,b,c,d或col)。

此外,在預測塊n(n=a,b,c,d或col)不能利用的情況下及幀內(nèi)預測的情況下,將幀間預測圖像間距離distn(n=a,b,c,d或col)設(shè)定為distn所能取的最大值。

接下來,根據(jù)導出的預測塊a,b,c,d,col的幀間預測圖像間距離dista,distb,distc,distd,distcol的值,在混合候選列表mergecandlist中追加混合候選a,b,c,d,col(s4706~s4720)。

首先,從所導出的預測塊a,b的幀間預測圖像間距離dista,distb的值較小的預測塊起,依次向混合候選列表mergecandlist追加混合候選a,b(s4706~s4708)。

對預測塊a的幀間預測圖像間距離dista的值與預測塊b的幀間預測圖像間距離distb的值進行比較(s4706),若dista在distb以下,則按預測塊a,b的順序追加到混合候選列表mergecandlist中(s4707)。即,追加預測塊a后、在其后方追加預測塊b。若distb的值比dista的值小,則按預測塊b,a的順序追加到混合候選列表mergecandlist中(s4708)。

接下來,從所導出的預測塊c,d,col的幀間預測圖像間距離distc,distd,col的值較小的預測塊起,依次向混合候選列表mergecandlist追加混合候選c,d,col(s4709~s4720)。

在圖47的向混合候選列表mergecandlist登錄預測塊的候選的登錄處理步驟中,判定包含編碼/解碼對象預測塊的圖片與混合候選的參照圖片的距離較小的混合候選,比包含編碼/解碼對象預測塊的圖片與混合候選的參照圖片的距離較大的混合候選更適合作為混合候選,將距離小的混合候選的優(yōu)先順位提高得比距離大的混合候選的優(yōu)先順位高地登錄到混合候選列表的前方,由此削減碼量。即,根據(jù)周圍相鄰的預測塊n的編碼信息的值而變更優(yōu)先順位,變更登錄到混合候選列表的順序,由此來削減碼量。

此外,在混合模式下,也可以確認成為混合候選的預測塊的編碼信息,按從多到少的順序賦予優(yōu)先順位。

此外,在混合模式下,也可以確認成為混合候選的預測塊的大小,按從大到小的順序賦予優(yōu)先順位。

回到圖38,在動圖像編碼裝置的幀間預測信息推定部104的編碼信息選擇部133中,從已登錄于混合候選列表的混合候選中選擇最佳的候選,輸出混合索引及與混合索引對應(yīng)的編碼信息。

在最佳的候選的選擇中,可采用與預測方法決定部106同樣的方法。針對各個混合候選分別導出碼量和編碼畸變,確定成為最少產(chǎn)生碼量和編碼畸變的編碼信息。針對各個混合候選分別進行混合索引merge_idx的編碼,導出編碼信息的碼量。進而,針對各個混合候選,分別以與運動補償預測部105同樣的方法,導出對根據(jù)各混合候選的編碼信息分別運動補償后的運動補償預測信號、與從圖像存儲器101供給的編碼對象的圖像信號的預測殘差信號進行編碼后的預測殘差信號的碼量。導出編碼信息(混合索引)的碼量與預測殘差信號的碼量相加后的總產(chǎn)生碼量,作為第1評價值。

此外,在將這樣的差分圖像編碼后,為評價畸變量而解碼,通過表示編碼所產(chǎn)生的與元圖像的誤差的比率,來導出編碼畸變。針對每個混合候選比較這些總產(chǎn)生碼量和編碼畸變,由此確定成為最少產(chǎn)生碼量和編碼畸變的編碼信息。與所確定的編碼信息對應(yīng)的混合索引,被作為按預測塊單位的第2句法模式表示的標志merge_idx來編碼。此外,此處導出的產(chǎn)生碼量優(yōu)選是仿真編碼過程后的結(jié)果,但也可以簡易地近似或概算。

另一方面,在圖39中,在動圖像編碼裝置的幀間預測信息推定部205的編碼信息選擇部233中,從已登錄于混合候選列表的混合候選中選擇與所提供的混合索引對應(yīng)的編碼信息,提供給運動補償預測部206,并保存在編碼信息保存存儲器209中。

如上所述,根據(jù)實施方式的運動矢量的預測方法,將圖片分割成矩形塊,為提高在圖片間按塊單位進行運動推定、補償?shù)膭訄D像編碼中的運動矢量的編碼效率,基于已編碼的預測塊的運動矢量進行預測,并對處理對象塊的運動矢量與其預測值的差分矢量進行編碼,由此能夠削減碼量。此時,得到的多個預測運動矢量被賦予優(yōu)先順位地登錄到預測運動矢量列表中,但如在本實施例中說明過的那樣,也可以根據(jù)優(yōu)先順位變更登錄順序,還可以在按既定的順序登錄后、在列表內(nèi)根據(jù)優(yōu)先順位而重排,這些都包含在本發(fā)明中。例如,暫時對預測運動矢量列表的索引0登錄基于左側(cè)相鄰的第1預測塊組a導出的預測運動矢量、對索引1登錄基于上側(cè)相鄰的第2預測塊組b導出的預測運動矢量、對索引2登錄基于不同時間的第3預測塊組c導出的預測運動矢量,之后根據(jù)需要而按照優(yōu)先順位進行重新排序。

此外,根據(jù)實施方式的運動矢量的預測方法,將圖片分割成矩形塊,為提高在圖片間按塊單位進行運動推定、補償?shù)膭訄D像編碼中的編碼信息的編碼效率,利用已編碼的塊的編碼信息,由此能夠削減碼量。此時,得到的多個成為混合候選的預測塊被賦予優(yōu)先順位地登錄到混合候選列表中,但如在本實施例中說明過的那樣,也可以根據(jù)優(yōu)先順位而變更登錄順序,還可以在按既定的順序登錄后、在列表內(nèi)根據(jù)優(yōu)先順位而重新排序,這些也包含在本發(fā)明內(nèi)。例如,暫時在混合候選列表的索引為0的位置登錄混合候選a、在索引為1的位置登錄混合候選b、在索引為2的位置登錄混合候選col、在索引為3的位置登錄混合候選c、在索引為4的位置登錄混合候選d后,之后根據(jù)需要而按照優(yōu)先順位重新排序。另外,關(guān)于登錄到混合候選列表的混合候選的信息,具體來說,可以是該混合候選的全部編碼信息本身,也可以是能參照混合候選的編碼信息的存儲器的指針或地址信息。

作為本發(fā)明的動圖像編碼裝置的其它實施方式,有以下方案。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

預測運動矢量候選生成部,基于與編碼對象預測塊相同圖片內(nèi)的與上述編碼對象預測塊相鄰的已編碼預測塊、和與上述編碼對象預測塊不同圖片內(nèi)的位于上述編碼對象預測塊相同或周邊位置的已編碼預測塊的任一者進行預測,生成多個預測運動矢量的候選;

上述預測運動矢量候選生成部在將各預測運動矢量的候選登錄到預測運動矢量候選列表中時,按圖片或片單位、變更優(yōu)先順位地登錄到預測運動矢量候選列表中。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

預測運動矢量候選生成部,基于與編碼對象塊相同圖片內(nèi)的與上述編碼對象塊相鄰的已編碼塊、和與編碼對象塊不同圖片內(nèi)的位于與上述編碼對象塊相同或周邊位置的已編碼塊的任一者進行預測,生成多個預測運動矢量的候選;

上述預測運動矢量候選生成部在將各預測運動矢量的候選登錄到預測運動矢量候選列表中時,按塊單位、變更優(yōu)先順位地登錄到預測運動矢量候選列表中。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

幀間預測信息生成部,基于包含與編碼對象塊相同圖片內(nèi)的與上述編碼對象塊相鄰的已編碼塊和與編碼對象塊不同圖片內(nèi)的位于上述編碼對象塊相同或周邊位置的已編碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到預測混合候選列表中時,按圖片或片單位、變更優(yōu)先順位地登錄到混合候選列表中。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

幀間預測信息生成部,基于包含與編碼對象塊相同圖片內(nèi)的與上述編碼對象塊相鄰的已編碼塊、和與編碼對象塊不同圖片內(nèi)的位于上述編碼對象塊相同或周邊位置的已編碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到預測混合候選列表中時,按塊單位、變更優(yōu)先順位地登錄到混合候選列表中。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

幀間預測信息生成部,基于包含與編碼對象塊相同圖片內(nèi)的與上述編碼對象塊相鄰的已編碼塊、和與編碼對象塊不同圖片內(nèi)的位于上述編碼對象塊相同或周邊位置的已編碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到混合候選列表中時,若來自空間方向的混合候選是按雙預測被幀間預測的,則提高來自上述空間方向的混合候選的優(yōu)先順位地登錄到混合候選列表中。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

幀間預測信息生成部,基于包含與與編碼對象塊相同圖片內(nèi)的與上述編碼對象塊相鄰的已編碼塊、和與編碼對象塊不同圖片內(nèi)的位于上述編碼對象塊相同或周邊位置的已編碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到混合候選列表中時,將編碼對象圖像與參照圖像間的距離較短的混合候選比其它混合候選提高優(yōu)先順位地登錄到混合候選列表中。

一種按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像進行編碼的動圖像編碼裝置,其特征在于,包括:

預測運動矢量候選生成部,基于與編碼對象塊相同圖片內(nèi)的與上述編碼對象塊相鄰的已編碼塊、和與編碼對象塊不同圖片內(nèi)的位于上述編碼對象塊相同或周邊位置的已編碼塊的任一者進行預測,生成多個預測運動矢量的候選;

上述預測運動矢量候選生成部在按空間方向掃描預測塊時,針對左側(cè)的相鄰預測塊組、和上側(cè)的相鄰預測塊組的各相鄰預測塊,按以下優(yōu)先順序進行條件判定:

1.在與按編碼對象預測塊選擇的編碼模式相同的參照列表中、是否存在相同參照幀的運動矢量,

2.在與按編碼對象預測塊選擇的編碼模式不同的參照列表中、是否存在相同參照幀的運動矢量,

3.在與按編碼對象預測塊選擇的編碼模式相同的參照列表中,是否存在不同參照幀的運動矢量,以及

4.在與按編碼對象預測塊選擇的編碼模式不同的參照列表中,是否存在不同參照幀的運動矢量。

動圖像編碼裝置的特征在于,在上述空間方向的預測塊的掃描中,第1條件判定針對最初的預測塊結(jié)束后,依次推進至相鄰的預測塊進行相同的條件判定,之后,針對第2、第3、第4條件判定分別一邊推進預測塊一邊進行相同的條件判定。

動圖像編碼裝置的特征在于,在上述空間方向的預測塊的掃描中,在4個條件判定中的第1和第2條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定,然后在第3和第4條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定。

動圖像編碼裝置的特征在于,在上述空間方向的預測塊的掃描中,在4個條件判定中的第1條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定,然后在第2、第3、第4條件判定針對最初的預測塊結(jié)束后,依次前進到相鄰的預測塊進行相同的條件判定。

動圖像編碼裝置的特征在于,在上述空間方向的預測塊的掃描中,針對最初的預測塊若不符合4個條件判定的每一者,則判定該預測塊中不存在符合條件的運動矢量,依次推進至相鄰的預測塊判定是否符合4個條件判定的任一者。

作為本發(fā)明的動圖像解碼裝置其它實施方式,有以下方案。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

預測運動矢量候選生成部,基于與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的已解碼塊任一者進行預測,生成多個預測運動矢量的候選;

上述預測運動矢量候選生成部在將各預測運動矢量的候選登錄到預測運動矢量候選列表中時,按圖片或片單位、變更優(yōu)先順位地登錄到預測運動矢量候選列表中。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

預測運動矢量候選生成部,基于與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的已解碼塊的任一者進行預測,生成多個預測運動矢量的候選;

上述預測運動矢量候選生成部在將各預測運動矢量的候選登錄到預測運動矢量候選列表中時,按塊單位、變更優(yōu)先順位地登錄到預測運動矢量候選列表中。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

幀間預測信息生成部,基于包含與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的已解碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到預測混合候選列表中時,按圖片或片單位、變更優(yōu)先順位地登錄到混合候選列表中。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

幀間預測信息生成部,基于包含與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的近鄰的已解碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到預測混合候選列表中時,按塊單位、變更優(yōu)先順位地登錄到混合候選列表中。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

幀間預測信息生成部,基于包含與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的已解碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到混合候選列表中時,若來自空間方向的混合候選是按雙預測被幀間預測的、則提高上述來自空間方向的混合候選的優(yōu)先順位地登錄到混合候選列表中。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

幀間預測信息生成部,基于包含與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的已解碼塊的任一者的幀間預測信息的編碼信息,生成多個作為包含幀間預測信息的編碼信息的混合候選;

上述幀間預測信息生成部在將各混合候選登錄到混合候選列表中時,提高編碼對象圖像與參照圖像間的距離較短的混合候選的優(yōu)先順位地登錄到混合候選列表中。

一種對編碼比特串進行解碼的動圖像解碼裝置,所述編碼比特串是按將動圖像的各圖片分割后的塊單位、利用運動補償對上述動圖像編碼后的編碼比特串,該動圖像解碼裝置的特征在于,包括:

預測運動矢量候選生成部,基于與解碼對象塊相同圖片內(nèi)的與上述解碼對象塊相鄰的已解碼塊、和與解碼對象塊不同圖片內(nèi)的位于上述解碼對象塊相同或周邊位置的已解碼塊的任一者進行預測,生成多個預測運動矢量的候選;

上述預測運動矢量候選生成部在按空間方向掃描預測塊時,針對左側(cè)的相鄰預測塊組、和上側(cè)的相鄰預測塊組的各相鄰預測塊,按以下優(yōu)先順序進行條件判定:

1.在與按解碼對象預測塊選擇的編碼模式相同的參照列表中,是否存在相同參照幀的運動矢量,

2.在與按解碼對象預測塊選擇的編碼模式不同的參照列表中,是否存在相同參照幀的運動矢量,

3.在與按解碼對象預測塊選擇的編碼模式相同的參照列表中,是否存在不同參照幀的運動矢量,以及

4.在與按解碼對象預測塊選擇的編碼模式不同的參照列表中,是否存在不同參照幀的運動矢量。

動圖像解碼裝置的特征在于,在上述空間方向的預測塊的掃描中,在第1條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定,之后,針對第2、第3、第4條件判定,一邊依次推進預測塊一邊進行相同的條件判定。

動圖像解碼裝置的特征在于,在上述空間方向的預測塊的掃描中,在4個條件判定中的第1和第2條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定,然后在第3和第4條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定。

動圖像解碼裝置的特征在于,在上述空間方向的預測塊的掃描中,在4個條件判定中的第1條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定,然后在第2、第3、第4條件判定針對最初的預測塊結(jié)束后,依次推進到相鄰的預測塊進行相同的條件判定。

動圖像解碼裝置的特征在于,在上述空間方向的預測塊的掃描中,針對最初的預測塊若不符合4個條件判定的每一者,則判定該預測塊中不存在符合條件的運動矢量,依次推進到相鄰的預測塊判定是否符合4個條件判定的任一者。

以上所述的實施方式的動圖像編碼裝置所輸出的動圖像的編碼流具有特定的數(shù)據(jù)格式,以使得能根據(jù)實施方式中采用的編碼方法進行解碼,與動圖像編碼裝置對應(yīng)的動圖像解碼裝置能解碼該特定的數(shù)據(jù)格式的編碼流。

為在動圖像編碼裝置和動圖像解碼裝置之間傳輸編碼流,在使用有線或無線的網(wǎng)絡(luò)的情況下,也可以將編碼流變換成適合于通信路徑的傳送方式的數(shù)據(jù)形式來進行傳送。在該情況下,設(shè)置將動圖像編碼裝置輸出的編碼流變換成適于通信路徑的傳送方式的數(shù)據(jù)形式的編碼數(shù)據(jù)并發(fā)送于網(wǎng)絡(luò)的動圖像發(fā)送裝置、和從網(wǎng)絡(luò)接收編碼數(shù)據(jù)并恢復成編碼流提供給動圖像解碼裝置的動圖像接收裝置。

動圖像發(fā)送裝置包括用于緩存動圖像編碼裝置輸出的編碼流的存儲器、對編碼流進行打包的包處理部、以及介由網(wǎng)絡(luò)發(fā)送打包后的編碼數(shù)據(jù)的發(fā)送部。動圖像接收裝置包括介由網(wǎng)絡(luò)接收被打包了的編碼數(shù)據(jù)的接收部、緩存所接收到的編碼數(shù)據(jù)的存儲器、以及對編碼數(shù)據(jù)進行包處理而生成編碼流、并提供給動圖像解碼裝置的包處理部。

以上涉及編碼及解碼的處理當然可以作為使用了硬件的傳送、存儲、接收裝置來實現(xiàn),還可以通過被存儲于rom(只讀存儲器)或閃速存儲器等中的固件、導出機等的軟件來實現(xiàn)。既能將該固件程序、軟件程序記錄到導出機等可讀取的記錄介質(zhì)中來提供,也可以通過有線或無線的網(wǎng)絡(luò)從服務(wù)器提供,還可以作為地面波或衛(wèi)星數(shù)字廣播的數(shù)據(jù)廣播來提供。

以上基于實施方式說明了本發(fā)明。實施方式僅是例示,本領(lǐng)域技術(shù)人員當理解其各構(gòu)成要素和各處理過程的組合能有各種各樣的變形例,且這樣的變形例也包含在本發(fā)明的范圍內(nèi)。

〔標號說明〕

101圖像存儲器、102運動矢量檢測部、103差分運動矢量導出部、104幀間預測信息推定部、105運動補償預測部、106預測方法決定部、107殘差信號生成部、108正交變換·量化部、109第1編碼比特串生成部、110第2編碼比特串生成部、111多路化部、112逆量化·逆正交變換部、113解碼圖像信號重疊部、114編碼信息保存存儲器、115解碼圖像存儲器、120預測運動矢量候選生成部、121預測運動矢量登錄部、122預測運動矢量候選相同判定部、123預測運動矢量候選碼量導出部、124預測運動矢量選擇部、125運動矢量減法部、130混合候選生成部、131混合候選登錄部、132混合候選相同判定部、133編碼信息選擇部、201分離部、202第1編碼比特串解碼部、203第2編碼比特串解碼部、204運動矢量導出部、205幀間預測信息推定部、206補償預測部、207逆量化·逆正交變換部、208解碼圖像信號重疊部、209編碼信息保存存儲器、210解碼圖像存儲器、220預測運動矢量候選生成部、221預測運動矢量登錄部、222預測運動矢量候選相同判定部、223預測運動矢量選擇部、224運動矢量加法部、230混合候選生成部、231混合候選登錄部、232混合候選相同判定部、233編碼信息選擇部。

〔工業(yè)可利用性〕

本發(fā)明能適用于利用了運動補償預測的動圖像編碼及解碼技術(shù)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1