專利名稱:圖像編碼裝置、圖像編碼方法及圖像編碼程序、以及圖像解碼裝置、圖像解碼方法及圖像 ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及利用運(yùn)動補(bǔ)償預(yù)測對圖像進(jìn)行編碼的圖像編碼裝置、圖像編碼方法及圖像編碼程序,以及利用運(yùn)動補(bǔ)償預(yù)測對圖像進(jìn)行解碼的圖像解碼裝置、圖像解碼方法及圖像解碼程序。
背景技術(shù):
作為動圖像的壓縮編碼方式的代表性方式,有MPEG系列的標(biāo)準(zhǔn)。在MPEG系列的標(biāo)準(zhǔn)中,使用了將幀分割成多個塊,預(yù)測相對于其它幀的運(yùn)動的運(yùn)動補(bǔ)償。在MPEG — 4或 AVC / H. 264中,導(dǎo)入了從多個運(yùn)動補(bǔ)償塊尺寸中切換使用最佳者的方案。
在塊單位的運(yùn)動補(bǔ)償預(yù)測中,一般采用對對象塊與參照塊之間的平行移動進(jìn)行補(bǔ)償?shù)姆绞?。除此之外,還研究了補(bǔ)償塊的變形(例如、放大、縮小、旋轉(zhuǎn))的方式。例如在專利文獻(xiàn)I中,作為使用了幀間預(yù)測的圖像編碼方式,針對各塊分別自適應(yīng)地切換通過平行移動來求取預(yù)測圖像的模式和通過幾何變換來求取預(yù)測圖像的模式,以謀求預(yù)測效率的提高。在該方式中,對平行移動的運(yùn)動矢量和網(wǎng)格點(diǎn)的運(yùn)動矢量(即在幾何變換中使用的運(yùn)動矢量)進(jìn)行編碼。
〔在先技術(shù)文獻(xiàn)〕
〔專利文獻(xiàn)〕
〔專利文獻(xiàn)I〕日本特開平8- 65680號公報發(fā)明內(nèi)容
〔發(fā)明所要解決的課題〕
在這樣的狀況下,本發(fā)明人發(fā)現(xiàn)了通過以使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的圖像編碼方式對運(yùn)動矢量信息進(jìn)行壓縮,來進(jìn)一步壓縮整體的編碼量的方法。
本發(fā)明是鑒于這樣的狀況而研發(fā)的,其目的在于提供一種以使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的圖像編碼方式來使編碼量的壓縮效率提高的技術(shù)。
〔用于解決課題的手段〕
本發(fā)明一個方案的圖像編碼裝置是一種對動圖像進(jìn)行編碼的圖像編碼裝置,包括幾何變換運(yùn)動補(bǔ)償預(yù)測部,針對多個預(yù)測模式分別算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,在各預(yù)測模式中,將位于構(gòu)成對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素選為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值算出該代表像素以外的像素的運(yùn)動矢量,算出預(yù)測信號;預(yù)測方法決定部,針對對象圖像內(nèi)的各對象塊,分別選擇幾何變換運(yùn)動補(bǔ)償預(yù)測部的多 個預(yù)測模式中的一者;預(yù)測誤差信號生成部,算出按預(yù)測方法決定部所選擇的預(yù)測模式算出的預(yù)測信號與對象塊的圖像信號的差分,生成預(yù)測誤差信號;差分矢量生成部,利用對象塊內(nèi)外的運(yùn)動矢量算出按預(yù)測方法決定部所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,算出該預(yù)測運(yùn)動矢量與按所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的差分,生成代表像素的差分運(yùn)動矢量;以及編碼部,對用于確定預(yù)測方法決定部所選擇的預(yù)測模式的預(yù)測方法信息、由差分矢量生成部生成的差分運(yùn)動矢量、以及由預(yù)測誤差信號生成部生成的預(yù)測誤差信號進(jìn)行編碼。
本發(fā)明的另一方案也是一種圖像編碼裝置。該裝置是對動圖像進(jìn)行編碼的圖像編碼裝置,包括幾何變換運(yùn)動補(bǔ)償預(yù)測部,按照預(yù)測模式計算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,在該計算中,將位于構(gòu)成對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素選為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值算出該代表像素以外的像素的運(yùn)動矢量,算出預(yù)測信號;預(yù)測誤差信號生成部,算出由幾何變換運(yùn)動補(bǔ)償預(yù)測部算出的預(yù)測信號與對象塊的圖像信號的差分, 生成預(yù)測誤差信號;差分矢量生成部,利用對象塊內(nèi)外的運(yùn)動矢量算出由幾何變換運(yùn)動補(bǔ)償預(yù)測部算出的代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,并算出該預(yù)測運(yùn)動矢量與所算出的代表像素的運(yùn)動矢量的差分,生成代表像素的差分運(yùn)動矢量;以及編碼部,對由差分矢量生成部生成的差分運(yùn)動矢量、和由預(yù)測誤差信號生成部生成的預(yù)測誤差信號進(jìn)行編碼。
本發(fā)明一個方案的圖像解碼裝置包括解碼部,對被使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼了的編碼流中所包含的、用于確定預(yù)測模式的預(yù)測方法信息、與預(yù)測模式相應(yīng)的代表像素的差分運(yùn)動矢量及預(yù)測誤差信號進(jìn)行解碼;運(yùn)動矢量生成部,按照由預(yù)測方法信息確定的預(yù)測模式,利用對象塊內(nèi)外的運(yùn)動矢量算出代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,對該預(yù)測運(yùn)動矢量加上代表像素的差分運(yùn)動矢量來生成代表像素的運(yùn)動矢量;幾何變換運(yùn)動補(bǔ)償預(yù)測部,基于通過插值而算出的代表像素以外的運(yùn)動矢量及參照塊的圖像信號生成預(yù)測信號,所述插值是使用了該對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的代表像素的運(yùn)動矢量、代表像素的運(yùn)動矢量的插值;以及圖像信號生成部,基于預(yù)測信號和由解碼部解碼出的預(yù)測誤差信號生成圖像信號。對于代表像素,選擇位于構(gòu)成對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素、或位于頂點(diǎn)附近的插值像素。
本發(fā)明的另一 方案也是一種圖像解碼裝置。該裝置包括解碼部,對被使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼了的編碼流中所包含的、代表像素的差分運(yùn)動矢量及預(yù)測誤差信號進(jìn)行解碼;運(yùn)動矢量生成部,利用對象塊內(nèi)外的運(yùn)動矢量算出代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,對該預(yù)測運(yùn)動矢量加上代表像素的差分運(yùn)動矢量來算出代表像素的運(yùn)動矢量;幾何變換運(yùn)動補(bǔ)償預(yù)測部,基于通過插值而算出的代表像素以外的運(yùn)動矢量及參照塊的圖像信號來生成預(yù)測信號,所述插值是使用了對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的代表像素的運(yùn)動矢量、代表像素的運(yùn)動矢量的插值;以及圖像信號生成部,基于預(yù)測信號和由解碼部解碼出的預(yù)測誤差信號生成圖像信號。對于代表像素,選擇位于構(gòu)成對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素、或位于頂點(diǎn)附近的插值像素。
此外,將以上構(gòu)成要素的任意組合、本發(fā)明的表現(xiàn)形式在方法、裝置、系統(tǒng)、記錄介質(zhì)、計算機(jī)程序等間變換后的方案,作為本發(fā)明的方案也是有效的。
〔發(fā)明效果〕
通過使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的圖像編碼方式,能提高編碼量的壓縮效率。
圖1是表示本發(fā)明實(shí)施方式I的圖像編碼裝置的構(gòu)成的功能塊圖。
圖2的(a) (h)是用于說明宏塊分區(qū)(Partition)及亞宏塊分區(qū)的圖。
圖3是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其I)。
圖4是表示語法(syntax)構(gòu)造的一例的圖。
圖5的(a) (d)是用于說明對象塊和相鄰塊都選擇了基于平行移動的運(yùn)動補(bǔ)償預(yù)測時的運(yùn)動矢量的預(yù)測方法的圖。
圖6是用于說明編碼對象塊為基于平行移動的運(yùn)動補(bǔ)償預(yù)測、相鄰塊為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的預(yù)測矢量的預(yù)測方法的圖。
圖7的(a)、(b)是用于說明對象塊為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的預(yù)測矢量的預(yù)測方法的圖(其I)。
圖8是表示本發(fā)明實(shí)施方式I的圖像編碼裝置中的宏塊的編碼處理步驟的流程圖。
圖9是表示本發(fā)明實(shí)施方式2的圖像解碼裝置的構(gòu)成的功能塊圖。
圖10是表示本發(fā)明實(shí)施方式2的圖像解碼裝置中的宏塊的解碼處理步驟的流程圖。
圖11 圖12法的圖(其2)。圖13
圖14
圖15是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其2)。是用于說明對象塊為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的預(yù)測矢量的預(yù)測方是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其3)。是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其4)。是用于說明運(yùn)動矢量值的縮放(sealing)處理的一例的圖。
具體實(shí)施方式
以下同附圖一起說明本發(fā)明的實(shí)施方式。在以下的實(shí)施方式中,說明以AVC / H. 264編碼方式為基礎(chǔ)進(jìn)行編碼/解碼的例子。
圖1是表示本發(fā)明實(shí)施方式I的圖像編碼裝置100的構(gòu)成的功能塊圖。圖像編碼裝置100包括圖像緩存器101、平行移動運(yùn)動補(bǔ)償預(yù)測部102、幾何變換運(yùn)動補(bǔ)償預(yù)測部 103、預(yù)測方法決定部104、預(yù)測誤差信號生成部105、預(yù)測誤差信號編碼部106、第I編碼比特串生成部107、第2編碼比特串生成部108、第3編碼比特串生成部109、預(yù)測誤差信號解碼部110、解碼圖像信號生成部111、解碼圖像緩存器112及輸出開關(guān)113。
這些構(gòu)成在硬件上可通過任意的處理器、存儲器及其它LSI實(shí)現(xiàn),軟件上通過被載入存儲器的程序等實(shí)現(xiàn),但在此描繪了通過它們的協(xié)作而實(shí)現(xiàn)的功能塊。因此,本領(lǐng)域技術(shù)人員當(dāng)理解這些功能塊能夠僅由硬件、僅由軟件、或由它們的組合以各種各樣的形式實(shí)現(xiàn)。
圖像緩存器101暫時保存被按拍攝/顯示時間順序供給的編碼對象的圖像信號。 圖像緩存器101將所保存的編碼對象的圖像信號按預(yù)定的像素塊單位(在此為宏塊單位)并行地提供給平行移動運(yùn)動補(bǔ)償預(yù)測部102、幾何變換運(yùn)動補(bǔ)償預(yù)測部103及預(yù)測誤差信號生成部105。此時,被按拍攝/顯示時間順序供給的圖像按編碼順序重排后從圖像緩存器 101輸出。
在MPEG系列中,所謂宏塊是指16X16像素的亮度信號和與之對應(yīng)的2個色差信號的塊。色差格式的YUV為4 :2 :0時,色差信號為8X8像素尺寸。
在本實(shí)施方式中,采用不使用參照圖像地在畫面內(nèi)進(jìn)行編碼的幀內(nèi)編碼方式、使用參照圖像的基于平行移動的運(yùn)動補(bǔ)償預(yù)測方式、以及使用參照圖像的基于幾何變換的運(yùn)動補(bǔ)償預(yù)測方式。在此,參照圖像是被局部解碼了的解碼圖像。此外,在本實(shí)施方式中,由于不關(guān)注幀內(nèi)編碼方式,故在圖1中省略描繪其構(gòu)成。將這些編碼方式的模式按宏塊單位單獨(dú)或組合地自適應(yīng)地切換。此外,也可以是以利用了參照圖像的基于幾何變換的運(yùn)動補(bǔ)償預(yù)測方式對所有宏塊進(jìn)行編碼的方式。
平行移動運(yùn)動補(bǔ)償預(yù)測部102在從圖像緩存器101供給的編碼對象的宏塊信號與從解碼圖像緩存器112供給的參照圖像信號間進(jìn)行基于平行移動的運(yùn)動補(bǔ)償預(yù)測。平行移動運(yùn)動補(bǔ)償預(yù)測部102生成各個模式的對象圖像內(nèi)的對象塊與同該對象塊處于平行移動的關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,并提供給預(yù)測方法決定部104。 在本實(shí)施方式中,平行移動運(yùn)動補(bǔ)償預(yù)測部102進(jìn)行與AVC / H. 264方式等所規(guī)定的已有的運(yùn)動補(bǔ)償預(yù)測同樣的、基于平行移動的運(yùn)動補(bǔ)償預(yù)測。
運(yùn)動補(bǔ)償預(yù)測以按照后述的從解碼圖像緩存器112供給的顯示順序前方或后方的解碼圖像作為參照圖像。平行移動運(yùn)動補(bǔ)償預(yù)測部102在參照圖像內(nèi)的預(yù)定檢測范圍內(nèi),在從圖像緩存器101供給的宏塊信號與從解碼圖像緩存器112供給的參照圖像信號之間進(jìn)行塊匹配。平行移動運(yùn)動補(bǔ)償預(yù)測部102通過塊匹配確定與該宏塊信號誤差最小的、 參照圖像信號內(nèi)的參照塊信號,檢測該宏塊信號與該參照塊信號間的運(yùn)動矢量。
以所規(guī)定的多個模式進(jìn)行該塊匹配。多個模式各自在參照索引、運(yùn)動補(bǔ)償塊尺寸、 LO / LI /雙預(yù)測等方面不同。所謂參照索引,是表示參照圖像的索引。LO / LI /雙預(yù)測僅在B片(slice)中可選。在此,LO預(yù)測和LI預(yù)測為從單向進(jìn)行預(yù)測的單向預(yù)測,LO預(yù)測為使用LO的運(yùn)動矢量等信息的預(yù)測,LI預(yù)測為使用LI的運(yùn)動矢量等信息的預(yù)測。此外, 雙預(yù)測是使用LO的運(yùn)動矢量等信息及LI的運(yùn)動矢量等信息,從2個參照圖像進(jìn)行預(yù)測的雙向預(yù)測。塊尺寸的具體例子在后面敘述。
此外,在進(jìn)行運(yùn)動補(bǔ)償預(yù)測時,能以不足I像素的像素精度進(jìn)行運(yùn)動補(bǔ)償。例如在 AVC / H. 264方式等中,亮度信號能進(jìn)行到I像素之I / 4的精度的運(yùn)動補(bǔ)償,色差信號能進(jìn)行到I像素之I / 8的精度的運(yùn)動補(bǔ)償。在以不足I像素的像素精度進(jìn)行運(yùn)動補(bǔ)償時,基于參照圖像內(nèi)的周圍的整數(shù)像素的信號,通過插值來生成不足I像素的像素精度的信號。
平行移動運(yùn)動補(bǔ) 償預(yù)測部102以各種模式進(jìn)行運(yùn)動補(bǔ)償預(yù)測,將各模式下的預(yù)測信號(更具體來說是運(yùn)動補(bǔ)償預(yù)測塊信號)及運(yùn)動矢量提供給預(yù)測方法決定部104。
接下來說明AVC / H. 264方式中的運(yùn)動補(bǔ)償塊尺寸。
圖2的(a) (h)是用于說明宏塊分區(qū)和亞宏塊分區(qū)的圖。在此為簡化說明,僅描繪了亮度信號的像素塊。在MPEG系列中,宏塊被規(guī)定為正方形區(qū)域。一般在包含AVC /H. 264方式的MPEG系列中,將以16X 16像素(水平16像素、垂直16像素)規(guī)定的塊稱為宏塊。此外,在AVC / H. 264方式中,將以8X8像素規(guī)定的塊稱為亞宏塊。所謂宏塊分區(qū)是, 是指為進(jìn)行運(yùn)動補(bǔ)償預(yù)測而將宏塊進(jìn)一步分割后的各個小塊。所謂亞宏塊分區(qū),是指為進(jìn)行運(yùn)動補(bǔ)償預(yù)測而將亞宏塊進(jìn)一步分割后的各個小塊。
圖2的(a)是表示由I個宏塊分區(qū)構(gòu)成宏塊的圖,該I個宏塊分區(qū)由16 X 16像素的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。在此,將該構(gòu)成稱為16 X 16模式的宏塊類型。
圖2的(b)是表示由2個宏塊分區(qū)構(gòu)成宏塊的圖,該2個宏塊分區(qū)分別由16X8像素(水平16像素、垂直8像素)的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。該2個宏塊分區(qū)縱向排列。在此,將該構(gòu)成稱為16X8模式的宏塊類型。
圖2的(C)是表示由2個宏塊分區(qū)構(gòu)成宏塊的圖,該2個宏塊分區(qū)分別由8X16像素(水平8像素、垂直16像素)的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。該2個宏塊分區(qū)橫向排列。在此,將該構(gòu)成稱為8X 16模式的宏塊類型。
圖2的(d)是表示由4個宏塊分區(qū)構(gòu)成宏塊的圖,該4個宏塊分區(qū)分別由8X8像素的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。該4個宏塊分區(qū)縱橫各2個地排列。將該構(gòu)成稱作8X8模式的宏塊類型。
圖2的(e)是表示由I個亞宏塊分區(qū)構(gòu)成亞宏塊的圖,該I個亞宏塊分區(qū)由8X8 像素的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。在此,將該構(gòu)成稱作8X8模式的亞宏塊類型。
圖2的(f )表示由2個亞宏塊分區(qū)構(gòu)成亞宏塊的圖,該2個亞宏塊分區(qū)分別由8 X 4 像素(水平8像素、垂直4像素)的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。該2個亞宏塊分區(qū)縱向排列。將該構(gòu)成稱為8X4模式的亞宏塊類型。
圖2的(g)是表示由2個宏塊分區(qū)構(gòu)成亞宏塊的圖,該兩個宏塊分區(qū)分別由4X8 像素(水平4像素、垂直8像素)的亮度信號和與之對應(yīng)的2個色 差信號構(gòu)成。該2個宏塊分區(qū)橫向排列。在此,將該構(gòu)成稱作4X8模式的亞宏塊類型。
圖2的(h)是表示由4個亞宏塊分區(qū)構(gòu)成亞宏塊的圖,該4個亞宏塊分區(qū)分別由 4X4像素的亮度信號和與之對應(yīng)的2個色差信號構(gòu)成。該4個亞宏塊分區(qū)縱橫各2個地排列。在此,將該構(gòu)成稱作4X4模式的亞宏塊類型。
在AVC / H. 264編碼方式中,采用了從以上運(yùn)動補(bǔ)償塊尺寸中切換使用最佳者的方案。首先,作為宏塊單位的運(yùn)動補(bǔ)償塊尺寸,從16X 16、16X8、8X 16及8X8模式的宏塊類型中選擇某一者。當(dāng)8X8模式的宏塊類型被選擇時,作為亞宏塊單位的運(yùn)動補(bǔ)償塊尺寸,從8X8、8X4、4X8、4X4模式的亞宏塊類型中選擇某一者。
亮度信號被按所選擇的尺寸的像素數(shù)進(jìn)行運(yùn)動補(bǔ)償。在色差格式為4 :2 :0時,色差信號被按水平、垂直都為一半的像素數(shù)進(jìn)行運(yùn)動補(bǔ)償。這樣,運(yùn)動補(bǔ)償塊尺寸的信息按照被稱為宏塊類型及亞宏塊類型的語法要素進(jìn)行編碼。所謂語法,是編碼比特串的表達(dá)規(guī)則, 所謂語法要素,是規(guī)定了按語法傳輸?shù)男畔ⅰ?br>
在16X 16、16X8、8X16及8X8模式的任一宏塊類型中,都針對各宏塊分區(qū)分別檢測I個運(yùn)動矢量。即、在16 X 16模式的宏塊類型中,檢測I個運(yùn)動矢量,在16 X 8及8 X 16 模式的宏塊類型中,檢測2個運(yùn)動矢量,在8X8模式的宏塊類型中,檢測4個運(yùn)動矢量。
各宏塊分區(qū)的亮度信號及色差信號的各像素被根據(jù)該宏塊分區(qū)的I個運(yùn)動矢量而進(jìn)行運(yùn)動補(bǔ)償。即,該各像素被使用相同的運(yùn)動矢量進(jìn)行運(yùn)動補(bǔ)償。
回到圖1,幾何變換運(yùn)動補(bǔ)償預(yù)測部103在從圖像緩存器101供給的編碼對象的宏塊信號和從解碼圖像緩存器112供給的參照圖像信號之間,進(jìn)行基于除平行移動外,還伴有包括放大、縮小/旋轉(zhuǎn)等變形的幾何變換的運(yùn)動補(bǔ)償預(yù)測。幾何變換運(yùn)動補(bǔ)償預(yù)測部 103生成基于各模式的對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,提供給預(yù)測方法決定部104。更具體來說,幾何變換運(yùn)動補(bǔ)償預(yù)測部103將位于構(gòu)成對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素或位于頂點(diǎn)附近的插值像素選為代表像素,算出這些代表像素的運(yùn)動矢量。在此,由于該對象塊是四邊形 (例如、正方形、長方形)的區(qū)域,故該區(qū)域的頂點(diǎn)有4個。因此,存在4個代表像素。然后, 幾何變換運(yùn)動補(bǔ)償預(yù)測部103利用該代表像素的運(yùn)動矢量,通過插值算出該代表像素以外的像素的運(yùn)動矢量。根據(jù)這些像素各自的運(yùn)動矢量,針對每個像素分別預(yù)測出預(yù)測信號。
幾何變換運(yùn)動補(bǔ)償預(yù)測部103能夠執(zhí)行對對象塊的4個代表像素的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式、對對象塊的縱方向上的2個代表像素的運(yùn)動矢量進(jìn)行編碼和解碼的第2模式、對對象塊的橫方向上的2個代表像素的運(yùn)動矢量進(jìn)行編碼和解碼的第3模式、 以及對對象塊的3個代表像素的運(yùn)動矢量進(jìn)行編碼和解碼的第4模式。此外,幾何變換運(yùn)動補(bǔ)償預(yù)測部103未必需要執(zhí)行多個模式,可以根據(jù)處理能力及各模式的發(fā)生頻率,固定地使用一種模式,也可以僅具有一種模式。此外,也可以執(zhí)行4種模式內(nèi)的至少2種模式(也可以具備至少2種模式)。在這些情況下,能降低運(yùn)算量和用于識別各模式的信息的編碼量。
在本實(shí)施方式的說明中,說明了上述對象塊為16 X 16像素的宏塊的情況,但該對象塊的尺寸并不限定于16X16像素,既可以是8X8像素的亞宏塊,也可以是32X32像素、 48X48像素、64X64像素、128X 128像素等的塊。此外,在本實(shí)施方式的說明中,說明了上述對象塊為正方形的宏塊的情況,但該對象塊的形狀并不限定于正方形,也可以是16X8 像素、8X16像素的宏塊分區(qū)、8X4像素、4X8像素的亞宏塊分區(qū)、32X16像素、16X32像素等的塊。
預(yù)測方法決定部104能夠采用上述的第I模式、第2模式、第3模式及第4模式的任一者作為幾何變換運(yùn)動補(bǔ)償預(yù)測部103的預(yù)測方法。預(yù)測方法決定部104的詳細(xì)處理在后面敘述。
以下,更 具體地說明幾何變換運(yùn)動補(bǔ)償預(yù)測部103。同AVC / H. 264方式等所規(guī)定的已有的基于平行移動的運(yùn)動補(bǔ)償預(yù)測不同,幾何變換運(yùn)動補(bǔ)償預(yù)測部103進(jìn)行基于除平行移動外還伴有包括放大、縮小/旋轉(zhuǎn)等變形的幾何變換的運(yùn)動補(bǔ)償預(yù)測。
在本實(shí)施方式的基于幾何變換的運(yùn)動補(bǔ)償預(yù)測中,并非以各自相同的運(yùn)動矢量對宏塊、宏塊分區(qū)、亞宏塊的亮度信號、色差信號的各像素進(jìn)行運(yùn)動補(bǔ)償,而是生成各像素互不相同的運(yùn)動矢量,進(jìn)行運(yùn)動補(bǔ)償。幾何變換運(yùn)動補(bǔ)償預(yù)測部103將位于各宏塊的頂點(diǎn)、頂點(diǎn)附近的像素或位于該頂點(diǎn)附近的插值像素選為代表像素,求取其運(yùn)動矢量。
圖3是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其I)。在此,將對象塊的左上頂點(diǎn)或頂點(diǎn)附近記為頂點(diǎn)a,將右上頂點(diǎn)或頂點(diǎn)附近記為頂點(diǎn)b,將左下頂點(diǎn)或頂點(diǎn)附近記為頂點(diǎn)C,將右下頂點(diǎn)或頂點(diǎn)附近記為頂點(diǎn)d。在圖3所示的例子中,將分別位于左上、右上、左下及右下的頂點(diǎn)處的像素a、b、C、d分別設(shè)定為代表像素a、b、C、d。在圖3中, 以黑圓點(diǎn)表示代表像素,以白圓點(diǎn)表示非代表像素,將代表像素設(shè)定為存在于對象塊(在圖3中是16X16像素的宏塊)的頂點(diǎn)處的像素a (0,0)、像素b (胃,0)、像素。(0,!1)及像素(1 (W,H)。在此,W是水平方向的代表像素間(像素a與像素b之間、像素c與像素d之間)的距離(單位像素),H是垂直方向的代表像素間(像素a與像素c之間、像素b與像素d之間) 的距離(單位像素),在圖3所示的代表像素的設(shè)定中,W = 15 (像素)、H = 15 (像素)。以下,在本說明書中用(i,j)表示各像素的坐標(biāo),按I像素單位用i表示水平方向的坐標(biāo),按 I像素單位用j表示垂直方向的坐標(biāo)。此外,將對象塊的左上像素的坐標(biāo)記為原點(diǎn)(0,0)。
在對4個代表像素(第I代表像素a、第2代表像素b、第3代表像素c及第4代表像素d)的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式下,檢測該4個代表像素各自的運(yùn)動矢量。 此外,在對縱方向的2個代表像素(第I代表像素a及第3代表像素c)的運(yùn)動矢量進(jìn)行編碼和解碼的第2模式下,檢測該2個代表像素各自的運(yùn)動矢量。此外,在對橫方向的2個代表像素(第I代表像素a及第2代表像素b)的運(yùn)動矢量進(jìn)行編碼和解碼的第3模式下,檢測該2個代表像素各自的運(yùn)動矢量。此外,在對3個代表像素(第I代表像素a、第2代表像素b及第3代表像素c)的運(yùn)動矢量進(jìn)行編碼和解碼的第4模式下,檢測該3個代表像素各自的運(yùn)動矢量。
作為各宏塊的代表像素的運(yùn)動矢量,幾何變換運(yùn)動補(bǔ)償預(yù)測部103可以采用以光流(Optical Flow)法等按像素單位算出的運(yùn)動矢量,也可以采用基于圖像的邊或角等被判斷為可靠性高的特征點(diǎn)的運(yùn)動矢量,通過內(nèi)插或外插運(yùn)算進(jìn)行了修正的運(yùn)動矢量。此外,還可以修正由平行移動運(yùn)動補(bǔ)償預(yù)測部102生成的宏塊分區(qū)的運(yùn)動矢量來使用。在修正宏塊或宏塊分區(qū)的運(yùn)動矢量來使用的情況下,將其運(yùn)動矢量的值賦給該代表像素,一邊沿増加方向及減少方向調(diào)整該運(yùn)動矢量的值一邊進(jìn)行檢驗(yàn),由此修正運(yùn)動矢量的值。
接下來,幾何變換運(yùn)動補(bǔ)償預(yù) 測部103基于代表像素的運(yùn)動矢量,通過采用線性插值等插值來算出宏塊內(nèi)的所有像素的運(yùn)動矢量。
在對縱方向的2個代表像素(第I代表像素a及第3代表像素c)的運(yùn)動矢量進(jìn)行編碼和解碼的第2模式下,幾何變換運(yùn)動補(bǔ)償預(yù)測部103基于垂直方向的該2個代表像素 a、c的運(yùn)動矢量,通過插值算出連接這2點(diǎn)的直線上的像素的運(yùn)動矢量。然后針對其它像素的運(yùn)動矢量,沿水平方向原樣賦予被線性插值的各像素的運(yùn)動矢量。
在對橫方向的2個代表像素(第I代表像素a及第2代表像素b)的運(yùn)動矢量進(jìn)行編碼和解碼的第3模式下,幾何變換運(yùn)動補(bǔ)償預(yù)測部103基于水平方向的該2個代表像素 a、b的運(yùn)動矢量,通過插值算出連接這2點(diǎn)的直線上的像素的運(yùn)動矢量。然后針對其它像素的運(yùn)動矢量,沿垂直方向原樣賦予被線性插值的各像素的運(yùn)動矢量。
在對與4個頂點(diǎn)a、b、C、d對應(yīng)的4個代表像素a、b、C、d的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式、或?qū)εc3個頂點(diǎn)a、b、c對應(yīng)的3個代表像素a、b、c的運(yùn)動矢量進(jìn)行編碼和解碼的第4模式下,幾何變換運(yùn)動補(bǔ)償預(yù)測部103通過在水平方向及垂直方向的兩方向上進(jìn)行插值,來算出非代表像素的運(yùn)動矢量。既可以通過后述的方法在水平方向及垂直方向的兩方向上進(jìn)行一次插值,也可以基于水平方向的該2個代表像素的運(yùn)動矢量對連接這 2點(diǎn)的直線上的像素的運(yùn)動矢量進(jìn)行插值,由此算出非代表像素的運(yùn)動矢量,并使用已算出的各像素的運(yùn)動矢量進(jìn)一步在垂直方向上進(jìn)行插值,由此算出其它像素的運(yùn)動矢量。
此外,在對與3個頂點(diǎn)a、b、c對應(yīng)的3個代表像素a、b、c的運(yùn)動矢量進(jìn)行編碼和解碼的第4模式中,能夠基于第I代表像素a、第2代表像素b及第3代表像素c的運(yùn)動矢量算出第4代表像素d的運(yùn)動矢量。然后,能與對4個頂點(diǎn)a、b、C、d所對應(yīng)的4個代表像素的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式同樣地算出非代表像素的運(yùn)動矢量。
此外,在對與縱方向的2個頂點(diǎn)a、c對應(yīng)的2個代表像素a、c的運(yùn)動矢量進(jìn)行編碼和解碼的第2模式中,將第I代表像素a的運(yùn)動矢量的值設(shè)定為第2代表像素b的運(yùn)動矢量的值,將第3代表像素c的運(yùn)動矢量的值設(shè)定為第4代表像素d的運(yùn)動矢量的值。然后,能與對4個頂點(diǎn)a、b、c、d所對應(yīng)的4個代表像素a、b、c、d的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式同樣地算出非代表像素的運(yùn)動矢量。
同樣地,在對與橫方向的2個頂點(diǎn)a、b對應(yīng)的2個代表像素a、b的運(yùn)動矢量進(jìn)行編碼和解碼的第3模式中,將第I代表像素a的運(yùn)動矢量的值設(shè)定為第3代表像素c的運(yùn)動矢量的值,將第2代表像素b的運(yùn)動矢量的值設(shè)定為第4代表像素d的運(yùn)動矢量的值。然后,能與對4個頂點(diǎn)a、b、c、d所對應(yīng)的4個代表像素a、b、c、d的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式同樣地算出非代表像素的運(yùn)動矢量。
幾何變換運(yùn)動補(bǔ)償預(yù)測部103使用所算出的各像素的運(yùn)動矢量,針對各像素分別進(jìn)行運(yùn)動補(bǔ)償。在以上的說明中,說明了算出宏塊所含的各像素的運(yùn)動矢量的例子,同樣地,也能算出亞宏塊所含的各像素的運(yùn)動矢量。
在所規(guī)定的多個模式下進(jìn)行該像素單位的運(yùn)動矢量的算出處理及各像素的運(yùn)動補(bǔ)償處理。多個模式各自的參照索引、運(yùn)動補(bǔ)償塊尺寸、LO / LI /雙預(yù)測等不同。當(dāng)然, LO / LI /雙預(yù)測僅在B片中可選。
幾何變換運(yùn)動補(bǔ)償預(yù)測部103按各個模式進(jìn)行運(yùn)動補(bǔ)償預(yù)測,將各模式下的預(yù)測模式信息、運(yùn)動矢量、及預(yù)測信號(更具體來說是運(yùn)動補(bǔ)償預(yù)測塊信號)提供給預(yù)測方法決定部104。
以下舉出具體例子說明幾何變換運(yùn)動補(bǔ)償預(yù)測中的代表像素以外的各像素的運(yùn)動矢量的算出方法。
使用4個代表像素a、b、c、d的運(yùn)動矢量的值,針對各分量分別沿水平方向和垂直方向兩者進(jìn)行線性插值等插值,由此算出非代表像素的運(yùn)動矢量。在上述圖3的例子中,將代表像素設(shè)定為位于宏塊頂點(diǎn)的像素a (0,0)、像素b (W,0)、像素c (0,H)及像素d (W,H)。在此,用(i,j)表示各像素的坐標(biāo),按I像素單位用i表示水平方向的坐標(biāo),按I像素單位用j表示垂直方向的坐標(biāo)。將宏塊內(nèi)最左上方的像素定為原點(diǎn)(0,0),將右方向及下方向定為正的増加方向。
首先,這些像素a、像素b、像素c及像素d的運(yùn)動矢量被設(shè)定,然后通過線性插值算出這以外的像素的運(yùn)動矢量。
在對與4個頂點(diǎn)a、b、C、d對應(yīng)的4個代表像素a、b、C、d的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式中,這些像素a、像素b、像素c及像素d的運(yùn)動矢量被設(shè)定。在對與2個頂點(diǎn)a、c對應(yīng)的2個代表像素a、c的運(yùn)動矢量進(jìn)行編碼和解碼的第2模式中,這些像素a及像素c的運(yùn)動矢量被設(shè)定,像素a的運(yùn)動矢量也是像素b的運(yùn)動矢量,像素c的運(yùn)動矢量也是像素d的運(yùn)動矢量。在與2個頂點(diǎn)a、b對應(yīng)的2個代表像素a、b的運(yùn)動矢量進(jìn)行編碼和解碼的第3模式中,這些像素a及像素b的運(yùn)動矢量被設(shè)定,像素a的運(yùn)動矢量也是像素c 的運(yùn)動矢量,像素b的運(yùn)動矢量也是像素d的運(yùn)動矢量。
在對與3個頂點(diǎn)a、b 、c對應(yīng)的3個代表像素a、b、c的運(yùn)動矢量進(jìn)行編碼和解碼的第4模式中,這些像素a、像素b及像素c的運(yùn)動矢量被設(shè)定,基于這3點(diǎn)的運(yùn)動矢量算出與頂點(diǎn)d對應(yīng)的第4代表像素d的運(yùn)動矢量。基于像素a的運(yùn)動矢量Va = V (0,0)、像素 b的運(yùn)動矢量Vb = V (W, O)、像素c的運(yùn)動矢量Vc = V (O, H)、像素d的運(yùn)動矢量Vd = V (W,H)的關(guān)系,與頂點(diǎn)d對應(yīng)的代表像素d的運(yùn)動矢量Vd由下式(I)算出。
Vd = Vc + (Vb — Va)…式(I)
或者,由下式(2)算出。
Vd = Vb + (Vc — Va)…式(2)
接下來,基于4個代表像素a、b、C、d的4個運(yùn)動矢量Va、Vb, Vc, Vd,通過線性插值生成這以外的像素P (i, j)的運(yùn)動矢量V (i, j)。將水平方向的代表像素間(像素a與像素b間、以及像素c與像素d間)的距離(像素數(shù))記為W、將垂直方向的代表像素間(像素 a與像素c間、以及像素b與像素d間)的距離(像素數(shù))記為H時,這些代表像素a、b、C、d 以外的像素P (i,j)的運(yùn)動矢量V (i,j)通過下式(3)而算出。
V (i, j) = ((W — i) (H — j)Va + i (H — j)Vb + (ff -1) j *Vc + i *j *Vd} / (ff · H)…式(3)
在上述圖3所示的代表像素的設(shè)定中,W = 15 (像素)、H = 15 (像素)。
通過以上處理,能算出第I模式、第2模式、第3模式及第4模式中的各像素的運(yùn)動矢量。以上說明了在水平方向及垂直方向兩者上進(jìn)行一次(即二維)插值的方法,也可以通過基于水平方向的2個代表像素的運(yùn)動矢量對連接這2點(diǎn)的直線上的像素的運(yùn)動矢量進(jìn)行插值來算出非代表像素的運(yùn)動矢量,并利用已算出的各像素的運(yùn)動矢量,通過在垂直方向上進(jìn)一步插值而算出其它像素的運(yùn)動矢量。
下面說明該情況下的算出方法。使像素a的運(yùn)動矢量Va = V (0,0),使像素13的運(yùn)動矢量Vb = V (W,0),使像素C的運(yùn)動矢量Vc = V (0,H),使像素d的運(yùn)動矢量Vd = V (W,H)時,通過像素a和像素b的線上的各像素P (i,0)的運(yùn)動矢量V (i,0)由下式(4)算出。
V (i,0) = Va + (Vb — Va) * (i — O) / W…式(4)
同樣地,通過像素c和像素d的線上的各像素P (i,H)的運(yùn)動矢量V (i,H)由下式(5)算出。
V (i,H) = Vc + (Vd — Vc) * (i — O) / W…式(5)
進(jìn)而,其余的像素P (i,j)的運(yùn)動矢量V (i,j)由下式(6)算出。
V (i, j) = V (i,O) + {V (i, H) - V (i,0)}* (j - O) / H…式(6)
通過以上處理,能算出第I模式、第2模式、第3模式及第4模式中的各像素的運(yùn)動矢量。此外,在第2模式及第3模式下,也可以通過下述的方法來算出。
在第2模式中,像素a及像素c的運(yùn)動矢量被設(shè)定,通過線性插值算出通過像素a 和像素c的垂直線上的各像素的運(yùn)動矢量,并對水平方向上的各個像素代入相同的運(yùn)動矢量值。
使像素a的運(yùn)動矢量Va = V (O, O),使像素c的運(yùn)動矢量Vc = V (O,H)時,通過像素a和像素c的線上的各像素的運(yùn)動矢量V (0,j)由下式(7)算出。
V (O, j) = Va + (Vc — Va) * (j — O) / H…式(7)
然后,如下式(8)所示那樣將由上述式(7)算出的運(yùn)動矢量V (O, j)的值沿水平方向擴(kuò)展,將運(yùn)動矢量V (0,j)的值代入其余像素的運(yùn)動矢量V (i,j)。
V (i, j) = V (O, j)…式(8)
其余像素的運(yùn)動矢量V (i,j)可以由下式(9)算出。
V (i, j) = Va + (Vc — Va) * (j — O) / H…式(9)
在第3模式下,像素a及像素b的運(yùn)動矢量被設(shè)定,通過線性插值算出通過像素a 和像素b的垂直線上的各像素的運(yùn)動矢量,對水平方向上的各個像素代入相同的運(yùn)動矢量值。
使像素a的運(yùn)動矢量Va = V (O, O),像素b的運(yùn)動矢量Vb = V (W, O)時,通過像素a和像素b的線上的各像素的運(yùn)動矢量V (i,0)由下式(10)算出。
V (i,0) = Va + (Vb — Va) * (i — O) / W…式(10)
接下來,如下式(11)所示的那樣,將由上述式(10)算出的運(yùn)動矢量V (i,0)的值沿垂直方向擴(kuò)展,將運(yùn)動矢量V (i,o)的值代入其余像素的運(yùn)動矢量V (i,j)。
V (i, j) = V (i,O)…式(11)
其余像素的運(yùn)動矢量V (i,j)可以由下式(12)算出。
V (i, j) = Va + (Vb — Va) * (i — O) / W…式(12)
幾何變換運(yùn)動補(bǔ)償預(yù)測部103根據(jù)所算出的各像素的運(yùn)動矢量對各像素進(jìn)行運(yùn)動補(bǔ)償預(yù)測。更具體來說,基于各像素的運(yùn)動矢量所指示的參照圖像的像素生成插值信號, 由此進(jìn)行運(yùn)動補(bǔ)償預(yù)測。此外,需要規(guī)定各像素的運(yùn)動矢量的精度、運(yùn)算過程中所需要的數(shù)值的舍入方法等,以使得在任何解碼裝置中解碼后都是相同值。此外,在運(yùn)動矢量所指定的預(yù)測像素的坐標(biāo)由小數(shù)點(diǎn)以下表示的情況下,在運(yùn)動補(bǔ)償時基于周圍的像素對該像素進(jìn)行插值。其插值方法可以采用4 6抽頭的濾波或線性插值等。
在第I模式中,能用4個運(yùn)動矢量表示放大及縮小、旋轉(zhuǎn)、平行移動等在第2模式、 第3模式及第4模式中所無法表現(xiàn)的復(fù)雜的變形。在第4模式中,能用3個運(yùn)動矢量表示基于仿射(affine)變換的變形。變形的表現(xiàn)力與第I模式相比有所限定,但能夠減少應(yīng)編碼的運(yùn)動矢量(更具 體來說是差分矢量)的數(shù)量。
在第2模式中,能用2個運(yùn)動矢量除表現(xiàn)平行移動外,還表現(xiàn)垂直方向上不同的變形。變形的表現(xiàn)力與第I模式及第4模式相比有所限定,但能夠減少應(yīng)編碼的運(yùn)動矢量的數(shù)量。在第3模式中,能用2個運(yùn)動矢量除表現(xiàn)平行移動外,還表現(xiàn)水平方向上不同的變形。 變形的表現(xiàn)力與第I模式及第4模式相比有所限定,但能減少應(yīng)編碼的運(yùn)動矢量的數(shù)量。
回到圖1,預(yù)測方法決定部104針對對象圖像內(nèi)的各對象塊,分別決定采用平行移動運(yùn)動補(bǔ)償預(yù)測部102的預(yù)測方法、還是采用幾何變換運(yùn)動補(bǔ)償預(yù)測部103的預(yù)測方法。更具體來說,決定采用哪種預(yù)測方法的哪種模式。以下,將模式的選擇包含在內(nèi)地稱作預(yù)測方法的選擇。
S卩,預(yù)測方法決定部104通過選擇用哪個參照圖像、按什么像素塊單位對基于平行移動的運(yùn)動補(bǔ)償預(yù)測和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的哪一者進(jìn)行編碼,來決定預(yù)測方法。在選擇基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時,選擇第I模式、第2模式、第3模式及第4模式的某一者。此時,通過判斷這些項(xiàng)目的哪種組合是最能實(shí)現(xiàn)高效率編碼的預(yù)測方法,來決定預(yù)測方法。作為決定預(yù)測方法的基準(zhǔn),例如可以采用考慮了編碼量和畸變的關(guān)系的率失真理論。更具體來說,算出宏塊的編碼量(即預(yù)測方法信息、運(yùn)動矢量及預(yù)測信號的合計編碼量),并基于編碼對象圖像與解碼圖像的差算出畸變量,選擇使以該編碼量及該畸變量為輸入變量的率失真函數(shù)最小化的預(yù)測方法。
預(yù)測方法決定部104將所采用的預(yù)測方法信息提供給第I編碼比特串生成部107 及差分矢量計算部114,將與所采用的預(yù)測方法相應(yīng)的運(yùn)動矢量提供給差分矢量計算部 114。并且,預(yù)測方法決定部104將由所采用的預(yù)測方法生成的預(yù)測信號提供給預(yù)測誤差信號生成部105。
第I編碼比特串生成部107通過算術(shù)編碼等熵編碼對從預(yù)測方法決定部104供給的預(yù)測方法信息進(jìn)行編碼,生成編碼比特串。將應(yīng)包含于預(yù)測方法信息中的預(yù)測塊尺寸、 LO / LI /雙預(yù)測的區(qū)別等組合作為宏塊類型進(jìn)行編碼。此外,關(guān)于應(yīng)包含于預(yù)測方法信息中的、用于識別采用基于平行移動的運(yùn)動補(bǔ)償預(yù)測和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的哪一者、以及在幾何變換的情況下采用第I模式、第2模式、第3模式及第4模式的哪一者的信息,可以采用以下的記述方法。例如,可以另行準(zhǔn)備語法要素來記述,也可以通過與其它作為宏塊類型來編碼的信息進(jìn)行組合,來擴(kuò)展宏塊類型地進(jìn)行記述。
例如,針對切換是否進(jìn)行基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的每個塊單位,分別準(zhǔn)備 “ geom_type ”語法要素,將“ ge0m_type ”的值為“ O ”時表示基于平行移動的運(yùn)動補(bǔ)償預(yù)測、 將“ge0m_type”的值為“I”時表示基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的第I模式、將“geom_ type”的值為“2”時表示基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的第2模式、將“ge0m_type”的值為“3”時表示基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的第3模式、將“ge0m_type”的值為“4”時表示基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的第4模式,如此進(jìn)行編碼。
圖4是表示語法構(gòu)造的一例的圖。在圖4中,表示了針對各宏塊分別準(zhǔn)備一個 “ge0m_type”,對LO預(yù)測、LI預(yù)測、雙預(yù)測都以共通的模式進(jìn)行運(yùn)動補(bǔ)償預(yù)測的例子,但在從L0、LI兩者進(jìn)行預(yù)測的雙預(yù)測模式時,也可以通過準(zhǔn)備2個,來進(jìn)行LO預(yù)測、LI預(yù)測各自不同的運(yùn)動補(bǔ)償預(yù)測。
在對對象塊的運(yùn)動矢量進(jìn)行編碼時,利用與已編碼或解碼的周圍的相鄰塊或該相鄰塊的像素的運(yùn)動矢量的相關(guān),基于該相鄰塊或該相鄰塊的像素的運(yùn)動矢量而預(yù)測運(yùn)動矢量,由此算出預(yù)測矢量。然后,通過算出該預(yù)測矢量與對象塊或?qū)ο笙袼氐倪\(yùn)動矢量的差分、即差分矢量,來削減對象塊或?qū)ο笙袼氐倪\(yùn)動矢量的編碼量。在此,在采用了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的對象塊中,其代表像素的運(yùn)動矢量成為編碼對象。
因此,差分矢量計算部114根據(jù)從預(yù)測方法決定部104供給的預(yù)測方法信息,基于已被編碼的周圍的相鄰塊或該相鄰塊的像素的運(yùn)動矢量,預(yù)測對象塊或?qū)ο笙袼氐倪\(yùn)動矢量,由此算出預(yù)測矢量。然后,算出該預(yù)測矢量與從預(yù)測方法決定部104供給的運(yùn)動矢量的差 分,生成差分矢量,提供給第2編碼比特串生成部108。
在第I模式下,差分矢量計算部114為對與4個頂點(diǎn)a、b、c、d對應(yīng)的4個代表像素a、b、C、d的運(yùn)動矢量進(jìn)行編碼和解碼,算出其各自的預(yù)測矢量及差分矢量。在第2模式下,為對與2個頂點(diǎn)a、c對應(yīng)的2個代表像素a、c的運(yùn)動矢量進(jìn)行編碼和解碼,分別算出預(yù)測矢量及差分矢量。在第3模式下,為對與2個頂點(diǎn)a、b對應(yīng)的2個代表像素a、b的運(yùn)動矢量進(jìn)行編碼和解碼,算出其各自的預(yù)測矢量及差分矢量。在第4模式下,為對與3個頂點(diǎn) a、b、c對應(yīng)的3個代表像素a、b、c的運(yùn)動矢量進(jìn)行編碼和解碼,算出其各自的預(yù)測矢量及差分矢量。
此外,差分矢量計算部114保存從預(yù)測方法決定部104供給的對象塊的預(yù)測信息及運(yùn)動矢量,用于后續(xù)的對象塊的預(yù)測矢量的算出。
在此,說明了對編碼對象塊及相鄰塊都選擇了基于平行移動的運(yùn)動補(bǔ)償預(yù)測時的編碼對象塊的運(yùn)動矢量的預(yù)測方法。圖5是用于說明對編碼對象塊及相鄰塊都選擇了基于平行移動的運(yùn)動補(bǔ)償預(yù)測時的編碼對象塊的運(yùn)動矢量的預(yù)測方法的圖。圖5的(a)表示在未設(shè)定有分區(qū)的宏塊間預(yù)測運(yùn)動矢量的例子。圖5的(b)表示在設(shè)定有分區(qū)的宏塊間預(yù)測運(yùn)動矢量的例子。圖5的(c)表示在8X16像素的宏塊中預(yù)測運(yùn)動矢量的例子。圖5的(d) 表示在16X8像素的宏塊中預(yù)測運(yùn)動矢量的例子。以下,參照圖5的(a) (d),說明運(yùn)動矢量的預(yù)測方法。該運(yùn)動矢量的預(yù)測方法使用周圍的相鄰塊的運(yùn)動矢量的中央值來預(yù)測對象塊的運(yùn)動矢量。
在圖5的(a) (d)中,涂灰的塊的運(yùn)動矢量是編碼對象。在圖5的(a)中,對于對象塊的運(yùn)動矢量,將該對象塊左鄰的塊A、上鄰的塊B、以及右斜上鄰的塊C的3個運(yùn)動矢量用作候選來進(jìn)行預(yù)測。更具體來說,從這3個運(yùn)動矢量針對水平分量及垂直分量分別取中央值作為預(yù)測矢量。此外,在B圖像中,分別單獨(dú)地處理LO預(yù)測或雙預(yù)測所使用的LO的運(yùn)動矢量、以及LI預(yù)測或雙預(yù)測所使用的LI的運(yùn)動矢量。通過用該對象塊的左鄰的塊A、 上鄰的塊B及右斜上鄰的塊C的3個LO的運(yùn)動矢量進(jìn)行預(yù)測,算出對象塊的LO的預(yù)測矢量。同樣地,通過用該對象塊的左鄰的塊A、上鄰的塊B及右斜上鄰的塊C的3個LI的運(yùn)動矢量進(jìn)行預(yù)測,算出對象塊的LI的預(yù)測矢量。在此,當(dāng)上鄰的塊B及右斜上鄰的塊C都不能使用,僅能使用塊A時,采用塊A的運(yùn)動矢量作為預(yù)測矢量。另外,當(dāng)左鄰的塊A、上鄰的塊B、右斜上鄰的塊C的參照索引中僅有一個與編碼對象塊的參照索引的值相等(參照圖像相等)時,將該塊的運(yùn)動矢量用于預(yù)測。
如圖5的(b)所示,在相鄰的宏塊被設(shè)定了分區(qū)的情況下,宏塊的各小塊各自的運(yùn)動矢量不同。在該情況下,在對象塊的左鄰的塊中,采用與對象塊相接的小塊中最上方的小塊A的運(yùn)動矢量作為候選。在上鄰的塊中,采用與對象塊相接的小塊中最左方的塊B作為候選。在右斜上鄰的塊中,采用最左下方的小塊C作為候選。按照該規(guī)則,以下同圖5的(a) 一樣地算出預(yù)測矢量。
如圖5的(C)所示,當(dāng)要編碼的塊是8X16時,就不采用3個塊的運(yùn)動矢量的中央值,而是左邊的塊采用左鄰的塊A的運(yùn)動矢量作為預(yù)測矢量,右邊的塊采用右斜上鄰的塊C 的運(yùn)動矢量作為預(yù)測矢量。此外,如圖5的(d)所示,當(dāng)要編碼的塊是16X8時,也不 采用 3個塊的運(yùn)動矢量的中央值,而是上邊的塊采用上鄰的塊B的運(yùn)動矢量作為預(yù)測矢量,下邊的塊采用左鄰的塊A的運(yùn)動矢量作為預(yù)測矢量。
當(dāng)然,圖5的(a) (d)所示的運(yùn)動矢量的預(yù)測方法只是一例,并非限定于此。只要在編碼側(cè)和解碼側(cè)相同地規(guī)定運(yùn)動矢量的預(yù)測方法,也可以采用其它方法。例如,相鄰塊的位置及數(shù)量可以不同。此外,也可以不采用相鄰塊的多個運(yùn)動矢量的中央值,而是采用其平均值。還可以設(shè)置規(guī)定的條件或優(yōu)先順位,原樣使用單獨(dú)的相鄰塊的運(yùn)動矢量。此外,相鄰塊也并非要與對象塊相接。此外,在圖5的(a) (d)中說明了預(yù)測宏塊單位的運(yùn)動矢量的例子,在預(yù)測亞宏塊單位的運(yùn)動矢量時也可以同樣進(jìn)行處理。
接下來,說明對于編碼對象塊選擇基于平行移動的運(yùn)動補(bǔ)償預(yù)測,對于相鄰塊選擇基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的編碼對象塊的運(yùn)動矢量的預(yù)測方法。圖6是用于說明編碼對象塊為基于平行移動的運(yùn)動補(bǔ)償預(yù)測、相鄰塊為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的預(yù)測矢量的預(yù)測方法的圖。此外,如圖6所示,在相鄰塊為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時,對于對象塊的左鄰的塊,采用與對象塊相接的小塊中的最上方的小塊的最右上方的像素A的運(yùn)動矢量,作為計算預(yù)測矢量時的候選。對于上鄰的塊,采用與對象塊相接的小塊中的最左邊的塊的最左下方的像素B的運(yùn)動矢量,作為計算預(yù)測矢量時的候選。對于右斜上鄰的塊,采用最左下的小塊的最左下方的像素C的運(yùn)動矢量作為計算預(yù)測矢量時的候選。
當(dāng)然,圖6所示的運(yùn)動矢量的預(yù)測方法只是一例,并非限定于此。只要在編碼側(cè)和解碼側(cè)相同地規(guī)定運(yùn)動矢量的預(yù)測方法,也可以采用其它方法。例如,可以將對象塊的左鄰的塊的4個代表像素的平均值作為對象塊的左鄰的運(yùn)動矢量的候選。此外,可以將對象塊的上鄰的塊的4個代表像素的平均值作為對象塊的上鄰的運(yùn)動矢量的候選。還可以將對象塊的右上鄰的塊的4個代表像素的平均值作為對象塊的右上鄰的運(yùn)動矢量的候選。此外, 相鄰塊、相鄰塊的像素的位置及數(shù)量也可以不同。另外,也可以不使用相鄰塊的像素的多個運(yùn)動矢量的中央值,而是使用平均值。還可以原樣使用單獨(dú)的相鄰塊的像素的運(yùn)動矢量。另外,相鄰塊或相鄰塊的像素也可以不必與對象塊相接。另外,在圖6中說明了預(yù)測宏塊單位的運(yùn)動矢量的例子,但在預(yù)測亞宏塊單位的運(yùn)動矢量時,也可以同樣地進(jìn)行處理。
接下來,說明編碼對象塊及相鄰塊都選擇了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的編碼對象塊的運(yùn)動矢量的預(yù)測方法。圖7是用于說明編碼對象塊為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的預(yù)測矢量的預(yù)測方法的圖。在該情況下,也同樣根據(jù)相鄰塊的運(yùn)動矢量算出預(yù)測矢量。根據(jù)相鄰塊的像素的運(yùn)動矢量預(yù)測編碼對象塊的第I代表像素a、第2代表像素b及第3代表像素c的預(yù)測矢量。在圖7的(a)中,編碼對象塊的第I代表像素a的預(yù)測矢量通過參照左鄰的塊A的代表像素b的運(yùn)動矢量、上鄰的塊B的代表像素c的運(yùn)動矢量及左斜上鄰的塊D的代表像素d的運(yùn)動矢量而算出。關(guān)于此處的算出方法,當(dāng)候選存在多個時,設(shè)定預(yù)定的優(yōu)先順位并按優(yōu)先順位順序來采用,或者算出這些運(yùn)動矢量的中間值或平均值。編碼對象塊的第2代表像素b的預(yù)測矢量通過參照上鄰的塊B的代表像素d的運(yùn)動矢量、右斜上鄰的塊C的代表像素c的運(yùn)動矢量而算出。在以中間值為預(yù)測矢量時,編碼對象塊的第I代表像素a的運(yùn)動矢量也加入候選,從這3個運(yùn)動矢量算出中間值。編碼對象塊的第 3代表像素c的預(yù)測矢量以左鄰的塊A的代表像素c的運(yùn)動矢量為預(yù)測矢量。
接下來,說明對于編碼對象塊選擇基于幾何變換的運(yùn)動補(bǔ)償預(yù)測,對于相鄰塊選擇了基于平行移動的運(yùn)動補(bǔ)償預(yù)測時的編碼對象塊的運(yùn)動矢量的預(yù)測方法。如圖7的(b) 所示,當(dāng)相鄰塊為基于平行移動的運(yùn)動補(bǔ)償預(yù)測時,相鄰塊的運(yùn)動矢量在該相鄰塊內(nèi)的所有像素中是共通的。因此,雖然用與編碼對象塊及相鄰塊共都選擇了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的編碼對象塊的運(yùn)動矢量預(yù)測方法同樣的方法進(jìn)行計算,但卻是算出該塊的運(yùn)動矢量作為相鄰塊的代表像素的運(yùn)動矢量的。
當(dāng)然,圖7所示的選擇了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的運(yùn)動矢量的預(yù)測方法只是一例,并非限定于此。只要在編碼側(cè)和解碼側(cè)相同地規(guī)定運(yùn)動矢量的預(yù)測方法,也可以采用其它方法。例如,相鄰塊的代表像素的位置及數(shù)量可以不同。此外,可以不使用相鄰塊的代表像素的多個運(yùn)動矢量的中央值,而是使用平均值。也可以原樣使用單獨(dú)的相鄰塊的代表像素的運(yùn)動矢量。此外,相鄰塊的代 表像素也可以不必與對象像素相接。
關(guān)于以第I模式進(jìn)行編碼和解碼的第4代表像素d,采用第I代表像素a、第2代表像素b及第3代表像素c的運(yùn)動矢量的中央值作為預(yù)測矢量。此外,只要在編碼側(cè)和解碼側(cè)相同地規(guī)定運(yùn)動矢量的預(yù)測方法,則也可以采用其它方法。例如,可以不使用中央值, 而是使用平均值,也可以原樣使用單獨(dú)的任意像素的運(yùn)動矢量。
此外,關(guān)于以第I模式進(jìn)行編碼和解碼的第4代表像素d的預(yù)測矢量PVd,基于第I 代表像素a、第2代表像素b及第3代表像素c各自的運(yùn)動矢量Va、Vb、Vc而通過下式(13) 算出。
PVd = Vc + (Vb — Va)…式(13)
或者,也可以通過下式(14)算出。
PVd = Vb + (Vc — Va)…式(14)
作為以第I模式進(jìn)行編碼和解碼的第4代表像素d的預(yù)測矢量的計算式的上述式(13)及上述式(14),分別與作為以第4模式計算的第4代表像素d的計算式的上述式(I) 及上述式(2)相同。第I模式能表現(xiàn)用第2模式、第3模式及第4模式所無法表現(xiàn)的變形, 多是接近能以第4模式表現(xiàn)的仿射變換的變換。能用上述式(13)及上述式(14)算出的預(yù)測矢量,是基于與以第I模式進(jìn)行編碼和解碼的第4代表像素d的運(yùn)動矢量有較強(qiáng)相關(guān)這樣的考慮的。
此外,只要在編碼側(cè)和解碼側(cè)相同地規(guī)定運(yùn)動矢量的預(yù)測方法,則也可以采用其它方法。例如針對第4代表像素d,可以采用第I代表像素a、第2代表像素b及第3代表像素c的運(yùn)動矢量的中央值作為預(yù)測矢量?;蛘?,也可以采用平均值來代替中央值,還可以原樣使用單獨(dú)的任意像素的運(yùn)動矢量?;蛘?,也可以將由式(7)算出的預(yù)測矢量、第I代表像素a的運(yùn)動矢量、第2代表像素b的運(yùn)動矢量、第3代表像素c的運(yùn)動矢量、第I代表像素a、第2代表像素b及第3代表像素c的運(yùn)動矢量的中央值、第I代表像素a、第2代表像素b及第3代表像素c的運(yùn)動矢量的平均值作為預(yù)測矢量的候選,至少自適應(yīng)地切換兩者。在該情況下,在語法中準(zhǔn)備用于從多個候選中確定要用作預(yù)測矢量的運(yùn)動矢量的標(biāo)志 (flag),由第I編碼比特串生成部107對該標(biāo)志進(jìn)行編碼。
回到圖1,第2編碼比特串生成部108通過算術(shù)編碼等熵編碼對從差分矢量計算部 114供給的差分矢量進(jìn)行編碼,生成編碼比特串。
此外,在基于幾何變換的運(yùn)動補(bǔ)償預(yù)測中,根據(jù)第I 4模式對2 4個差分矢量進(jìn)行編碼。在第I模式下,對與4個頂點(diǎn)a、b、c、d對應(yīng)的4個代表像素a、b 、c、d各自的差分矢量進(jìn)行編碼。在第2模式下,對與2個頂點(diǎn)a、c對應(yīng)的代表像素a、c各自的差分矢量進(jìn)行編碼。在第3模式下,對與2個頂點(diǎn)a、b對應(yīng)的代表像素a、b各自的差分矢量進(jìn)行編碼。在第4模式下,對與3個頂點(diǎn)a、b、c對應(yīng)的3個代表像素a、b、c各自的差分矢量進(jìn)行編碼。
預(yù)測誤差信號生成部105算出按預(yù)測方法決定部104所采用的預(yù)測方法生成的預(yù)測信號與對象塊的圖像信號的差分,生成預(yù)測誤差信號。更具體來說,預(yù)測誤差信號生成部 105通過從圖像緩存器101所供給的編碼對象的圖像信號減去預(yù)測方法決定部104所供給的預(yù)測信號,來生成預(yù)測誤差信號,提供給預(yù)測誤差信號編碼部106。
預(yù)測誤差信號編碼部106對從預(yù)測誤差信號生成部105供給的預(yù)測誤差信號進(jìn)行正交變換、量化等壓縮編碼處理,生成被編碼了的預(yù)測誤差信號,提供給第3編碼比特串生成部109及預(yù)測誤差信號解碼部110。
第3編碼比特串生成部109利用算術(shù)編碼等熵編碼依次對從預(yù)測誤差信號編碼部 106供給的被編碼了的預(yù)測誤差信號進(jìn)行編碼,生成編碼比特串。
第I編碼比特串生成部107、第2編碼比特串生成部108及第3編碼比特串生成部 109所生成的編碼比特串同被編碼有預(yù)測方法信息、運(yùn)動矢量、預(yù)測誤差信號以外的信息的其它編碼比特串一起,介由輸出開關(guān)113而被多路化,生成編碼流。
預(yù)測誤差信號解碼部110對由預(yù)測誤差信號編碼部106編碼了的預(yù)測誤差信號進(jìn)行逆量化、逆正交變換等展開解碼處理,解碼該預(yù)測誤差信號。預(yù)測誤差信號解碼部110 將解碼后的預(yù)測誤差信號提供給解碼圖像信號生成部111。解碼圖像信號生成部111使從預(yù)測誤差信號編碼部106供給的預(yù)測誤差信號和從預(yù)測方法決定部104供給的預(yù)測信號重疊,生成解碼圖像信號。解碼圖像信號生成部111將該解碼圖像信號按塊單位依次保存在解碼圖像緩存器112中。保存在該解碼圖像緩存器112中的解碼圖像根據(jù)需要而被用作對編碼順序中后續(xù)的圖像進(jìn)行運(yùn)動補(bǔ)償預(yù)測時的參照圖像。
圖8是表示本發(fā)明實(shí)施方式I的圖像編碼裝置100中的宏塊的編碼處理步驟的流程圖。首先,平行移動運(yùn)動補(bǔ)償預(yù)測部102和幾何變換運(yùn)動補(bǔ)償預(yù)測部103從圖像緩存器 101取出編碼對象的宏塊信號(S101)。
平行移動運(yùn)動補(bǔ)償預(yù)測部102在從圖像緩存器101供給的編碼對象的宏塊信號與從解碼圖像緩存器112供給的參照圖像信號之間進(jìn)行基于平行移動的運(yùn)動補(bǔ)償預(yù)測 (S102)。針對各模式分別進(jìn)行該基于平行移動的運(yùn)動補(bǔ)償預(yù)測。幾何變換運(yùn)動補(bǔ)償預(yù)測部 103在從圖像緩存器101供給的編碼對象的宏塊信號與從解碼圖像緩存器112供給的參照圖像信號之間進(jìn)行基于幾何變換的運(yùn)動補(bǔ)償預(yù)測(S103)。針對各模式分別進(jìn)行該基于幾何變換的運(yùn)動補(bǔ)償預(yù)測。
預(yù)測方法決定部104決定采用基于平行移動的運(yùn)動補(bǔ)償預(yù)測方法和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的哪一者(S104)。此時,還決定采用哪種模式。
第I編碼比特串生成部107對從預(yù)測方法決定部104供給的預(yù)測方法信息進(jìn)行編碼,生成編碼比特串(S105)。差分矢量計算部114算出來自周邊塊或周邊像素的預(yù)測矢量 (S106),并算出該預(yù)測矢量與從預(yù)測方法決定部104供給的運(yùn)動矢量的差分矢量(S107)。
第2編碼比特串生 成部108對從差分矢量計算部114供給的差分矢量進(jìn)行編碼, 生成編碼比特串(S108)。預(yù)測誤差信號生成部105使圖像緩存器101所供給的對象圖像信號減去預(yù)測方法決定部104所供給的預(yù)測信號,生成預(yù)測誤差信號(S109)。預(yù)測誤差信號編碼部106對該預(yù)測誤差信號進(jìn)行編碼(S110)。第3編碼比特串生成部109用算術(shù)編碼等對預(yù)測誤差信號編碼部106所編碼了的預(yù)測誤差信號進(jìn)行熵編碼,生成編碼比特串 (Sm)。
預(yù)測誤差信號解碼部110對被預(yù)測誤差信號編碼部106編碼了的預(yù)測誤差信號進(jìn)行解碼(SI 12 )。解碼圖像信號生成部111將預(yù)測誤差信號解碼部110所解碼的預(yù)測誤差信號和從預(yù)測方法決定部104供給的預(yù)測信號重疊,生成解碼圖像信號(S113)。解碼圖像信號生成部111將生成的解碼圖像信號保存在解碼圖像緩存器112中(S114)。
如以上說明的那樣,通過實(shí)施方式I,能通過使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的圖像編碼方式,提高編碼量的壓縮效率。即,通過對使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的運(yùn)動矢量進(jìn)行預(yù)測編碼,能削減編碼量。此外,若并用基于平行移動的運(yùn)動補(bǔ)償預(yù)測和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測,則能夠進(jìn)一步提高編碼量的壓縮效率。此時,通過使基于平行移動的運(yùn)動補(bǔ)償預(yù)測的運(yùn)動矢量和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的運(yùn)動矢量的編碼方法共通化,即使這兩種預(yù)測方法混合存在,也能原樣轉(zhuǎn)用已有的運(yùn)動矢量的預(yù)測編碼方法。
此外,在采用了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測方法的塊中,也能同基于平行移動的運(yùn)動補(bǔ)償預(yù)測一樣,基于周圍的塊或周圍的像素的運(yùn)動矢量預(yù)測出預(yù)測矢量,并算出差分矢量。由此,即使并用基于平行移動的運(yùn)動補(bǔ)償預(yù)測和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測,也能抑制運(yùn)動矢量的編碼量的増大。特別是在基于幾何變換的運(yùn)動補(bǔ)償預(yù)測方法的第I模式下,基于第I代表像素a、第2代表像素b及第3代表像素C的運(yùn)動矢量,通過上述式(13) 或上述式(14)算出第4代表像素d的預(yù)測矢量,由此,能減小差分矢量的值,抑制運(yùn)動矢量的編碼量的増大。此外,在第4模式下,基于第I代表像素a、第2代表像素b及第3代表像素c的運(yùn)動矢量,通過上述式(I)或上述式(2)算出第4代表像素d的運(yùn)動矢量,由此,能進(jìn)一步抑制運(yùn)動矢量的編碼量的増大。
圖9是表示本發(fā)明實(shí)施方式2的圖像解碼裝置200的構(gòu)成的功能塊圖。該圖像解碼裝置200對由實(shí)施方式I的圖像編碼裝置100生成的編碼流進(jìn)行解碼。在該編碼流中, 如上述那樣,既有兼用基于平行移動的運(yùn)動補(bǔ)償預(yù)測和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的情況,也有單獨(dú)使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的情況(不考慮幀內(nèi)編碼)。
圖像解碼裝置200包括輸入開關(guān)209、第I編碼比特串解碼部201、第2編碼比特串解碼部202、第3編碼比特串解碼部203、運(yùn)動矢量計算部215、平行移動運(yùn)動補(bǔ)償預(yù)測部 204、幾何變換運(yùn)動補(bǔ)償預(yù)測部205、預(yù)測誤差信號解碼部206、解碼圖像信號生成部207、解碼圖像緩存器208、切換控制部214、第I預(yù)測部開關(guān)210、第2預(yù)測部開關(guān)211、第3預(yù)測部開關(guān)212、以及第4預(yù)測部開關(guān)213。
這些結(jié)構(gòu)在硬件上能用任意的處理器、存儲器、其它LSI實(shí)現(xiàn),軟件上通過被載入存儲器的程序等實(shí)現(xiàn),但在此描繪了通過它們的協(xié)作來實(shí)現(xiàn)的功能塊。因此,本領(lǐng)域技術(shù)人員當(dāng)理解這些功能塊能夠僅由硬件、僅由軟件、或者由它們的組合以各種各樣的形式實(shí)現(xiàn)。
第I編碼比特串解碼部201、第2編碼比特串解碼部202、第3編碼比特串解碼部 203對編碼流中所包含的預(yù)測方法信息、差分矢量及預(yù)測誤差信號進(jìn)行解碼。如上述那樣, 編碼流中編碼有差分矢量。差分矢量是對象塊的運(yùn)動矢量與從其相鄰塊或其相鄰塊的像素的運(yùn)動矢量預(yù)測出的預(yù)測矢量的差分。運(yùn)動矢量計算部215在解碼運(yùn)動矢量時,從該相鄰塊或該相鄰塊的像素的運(yùn)動矢量計算出預(yù)測矢量,對該預(yù)測矢量加上解碼出的差分矢量, 由此,將被預(yù)測編碼了的對象塊或其代表像素的運(yùn)動矢量解碼。
平行移動運(yùn)動補(bǔ)償預(yù)測部204根據(jù)對象圖像內(nèi)的對象塊與同該對象塊處于平行移動的關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量、和參照塊的圖像信號,生成預(yù)測信號。 幾何變換運(yùn)動補(bǔ)償預(yù)測部205根據(jù)對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量、和參照塊的圖像信號,生成預(yù)測信號。
如上所述,對象塊的頂點(diǎn)被選為代表像素,上述編碼流中包含各個代表像素的運(yùn)動矢量。幾何變換運(yùn)動補(bǔ)償預(yù)測部205通過使用了對象塊的多個代表像素的運(yùn)動矢量的插值,來算出該多個代表像素以外的像素的運(yùn)動矢量。例如,通過上述式(3) (12)所示的運(yùn)算式算出代表像素以外的像素的運(yùn)動矢量。
切換控制部214根據(jù)第I編碼比特串解碼部201所解碼出的預(yù)測方法信息,針對對象圖像內(nèi)的各個對象塊,分別指定使用基于平行移動運(yùn)動補(bǔ)償預(yù)測部204的預(yù)測方法和基于幾何變換運(yùn)動補(bǔ)償預(yù)測部205的預(yù)測方法的哪一者。
下面更具體地進(jìn)行說明。第I編碼比特串解碼部201、第2編碼比特串解碼部202、 及第3編碼比特串解碼部203被介由輸入開關(guān)209選擇性地輸入由實(shí)施方式I的圖像編碼裝置100生成的編碼流所包含的編碼比特串。
第I編碼比特串解碼部201通過算術(shù)解碼等熵解碼對介由輸入開關(guān)209供給來的編碼比特串進(jìn)行解碼,取得預(yù)測方法信息。如上所述該預(yù)測方法信息中含有表示是以平行移動/幾何變換的哪一者進(jìn)行的編碼的信息,在平行移動運(yùn)動補(bǔ)償?shù)那闆r下,含有表示是采用16X16 / 16X8 / 8X16 / 8X8模式的哪一者的信息,在幾何變換的情況下,含有表示是以對4個代表像素a、b、c、d的運(yùn)動矢量進(jìn)行編碼和解碼的第I模式、對對象塊的縱方向上的2個代表像素a、c的運(yùn)動矢量進(jìn)行編碼和解碼的第2模式、對對象塊的橫方向上的 2個代表像素a、b的運(yùn)動矢量進(jìn)行編碼和解碼的第3模式、以及對3個代表像素a、b、c的運(yùn)動矢量進(jìn)行編碼和解碼的第4模式中的哪個模式進(jìn)行了編碼的信息等。第2編碼比特串解碼部202通過算術(shù)解碼等熵解碼對介由輸入開關(guān)209供給來的編碼比特串進(jìn)行解碼,取得差分矢量。如前所述差分矢量是根據(jù)相鄰塊的運(yùn)動矢量算出的預(yù)測矢量與解碼對象塊的運(yùn)動矢量的差分。此外,在混合地編碼有在基于平行移動的運(yùn)動補(bǔ)償預(yù)測中使用的運(yùn)動矢量、和在基于幾何變換的運(yùn)動補(bǔ)償預(yù)測中使用的運(yùn)動矢量的情況下,同編碼側(cè)一樣,在解碼側(cè)也根據(jù)預(yù)測方法信息,從混合存在的差分矢量解碼出運(yùn)動矢量。
通過第I編碼比特串解碼部201所解碼出的預(yù)測方法信息,就知道解碼對象塊是利用哪個參照圖像、以什么樣的塊單位選擇并組合幀內(nèi)編碼、基于平行移動的運(yùn)動補(bǔ)償預(yù)測、以及基于幾何變換的運(yùn)動補(bǔ)償預(yù)測中的哪個方法的。
切換控制部214根據(jù)第I編碼比特串解碼部201所提供的預(yù)測方法信息,切換第 I預(yù)測部開關(guān)210、第2預(yù)測部開關(guān)211、第3預(yù)測部開關(guān)212及第4預(yù)測部開關(guān)213。在作為對象塊的預(yù)測方法而選擇了基于平行移動的運(yùn)動補(bǔ)償預(yù)測方法時,進(jìn)行切換使得平行移動運(yùn)動補(bǔ)償預(yù)測部204的路徑被選中,在選中了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測方法時,進(jìn)行切換使得幾何變換運(yùn)動補(bǔ)償預(yù)測部205的路徑被選中。
運(yùn)動矢量計算部215根據(jù)從第I編碼比特串解碼部201供給的預(yù)測方法信息,基于已編碼、解碼了的周圍的相鄰塊、或相鄰塊的像素的運(yùn)動矢量,預(yù)測對象塊的運(yùn)動矢量, 由此算出預(yù)測矢量。然后,對該預(yù)測矢量加上從第2編碼比特串解碼部202供給的差分矢量,由此算出運(yùn)動矢量。運(yùn)動矢量計算部215將該運(yùn)動矢量介由第2預(yù)測部開關(guān)211提供給平行移動運(yùn)動補(bǔ)償預(yù)測部204或幾何變換運(yùn)動補(bǔ)償預(yù)測部205。關(guān)于運(yùn)動矢量計算部215 中的預(yù)測矢量的計算,通過與圖像編碼裝置100的差分矢量計算部114中的預(yù)測矢量的計算相同的方法來進(jìn)行。在平行移動運(yùn)動補(bǔ)償預(yù)測的情況下,能取得該塊的運(yùn)動矢量,在幾何變換運(yùn)動補(bǔ)償?shù)那闆r下,該塊的代表像素的運(yùn)動矢量被算出。
平行移動運(yùn)動 補(bǔ)償預(yù)測部204利用從解碼圖像緩存器208介由第4預(yù)測部開關(guān) 213供給來的應(yīng)作為參照圖像的解碼圖像、以及從第2編碼比特串解碼部202介由第2預(yù)測部開關(guān)211供給來的解碼后的運(yùn)動矢量,進(jìn)行基于平行移動的運(yùn)動補(bǔ)償預(yù)測。
幾何變換運(yùn)動補(bǔ)償預(yù)測部205利用從解碼圖像緩存器208介由第4預(yù)測部開關(guān) 213供給來的應(yīng)作為參照圖像的解碼圖像、以及從運(yùn)動矢量計算部215介由第2預(yù)測部開關(guān)211供給來的解碼后的多個代表像素的運(yùn)動矢量,通過插值算出所有像素的運(yùn)動矢量。此時,可以使用與參照上述式(I) (14)說明的、圖像編碼裝置100的幾何變換運(yùn)動補(bǔ)償預(yù)測部103相同的處理方法。幾何變換運(yùn)動補(bǔ)償預(yù)測部205根據(jù)這些像素各自的運(yùn)動矢量, 針對各像素分別進(jìn)行運(yùn)動補(bǔ)償,由此進(jìn)行基于幾何變換的運(yùn)動補(bǔ)償預(yù)測。
第3編碼比特串解碼部203將介由輸入開關(guān)209供給來的編碼比特串依次解碼, 取得編碼出的預(yù)測誤差信號。預(yù)測誤差信號解碼部206對從第3編碼比特串解碼部203供給來的編碼后的預(yù)測誤差信號進(jìn)行逆量化、逆正交變換等展開解碼處理,取得解碼后的預(yù)測誤差信號。
解碼圖像信號生成部207基于預(yù)測信號和預(yù)測誤差信號生成圖像信號。更具體來說,解碼圖像信號生成部207根據(jù)切換控制部214所指定的預(yù)測方法,在從平行移動運(yùn)動補(bǔ)償預(yù)測部204或幾何變換運(yùn)動補(bǔ)償預(yù)測部205介由第3預(yù)測部開關(guān)212供給來的預(yù)測信號上重疊從預(yù)測誤差信號解碼部206供給來的預(yù)測誤差信號,生成解碼圖像信號。解碼圖像信號生成部207將該解碼圖像信號按塊單位依次保存在解碼圖像緩存器208中。
圖10是表示本發(fā)明實(shí)施方式2的圖像解碼裝置200中的宏塊的解碼處理步驟的流程圖。第I編碼比特串解碼部201將介由輸入開關(guān)209供給來的編碼比特串解碼,取得預(yù)測方法信息(S201)。第2編碼比特串解碼部202將介由輸入開關(guān)209供給的編碼比特串解碼,取得差分矢量(S202)。此外,在預(yù)測方法信息表示基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時, 根據(jù)該預(yù)測方法信息,解碼2 4個差分矢量。在第I模式中,對與4個頂點(diǎn)a、b、c、d對應(yīng)的4個代表像素a、b、C、d各自的差分矢量進(jìn)行解碼。在第2模式中,對與2個頂點(diǎn)a、c 對應(yīng)的代表像素a、c各自的差分矢量進(jìn)行解碼。在第3模式中,對與2個頂點(diǎn)a、b對應(yīng)的代表像素a、b各自的差分矢量進(jìn)行解碼。在第4模式中,對與3個頂點(diǎn)a、b、c對應(yīng)的3個代表像素a、b、c各自的差分矢量進(jìn)行解碼。運(yùn)動矢量計算部215從周邊塊或周邊像素算出預(yù)測矢量(S203)。按與圖像編碼裝置100的差分矢量計算部114中的預(yù)測矢量的計算相同的方法來進(jìn)行。進(jìn)而,運(yùn)動矢量計算部215根據(jù)從第I編碼比特串解碼部201供給的預(yù)測方法信息,對該預(yù)測矢量加上從第2編碼比特串解碼部202供給的差分矢量,算出對象塊或?qū)ο笙袼氐倪\(yùn)動矢量(S204)。但是,對于沒有在第2編碼比特串解碼部202中被解碼差分矢量的代表點(diǎn),將預(yù)測矢量作為運(yùn)動矢量。
切換控制部214根據(jù)解碼出的預(yù)測方法信息,確定對象塊的運(yùn)動補(bǔ)償預(yù)測方法 (S205)。該預(yù)測方法為基于平行移動的運(yùn)動補(bǔ)償預(yù)測方法時(S205的平行),平行移動運(yùn)動補(bǔ)償預(yù)測部204利用從第2編碼比特串解碼部202供給的運(yùn)動矢量對從解碼圖像緩存器 208供給的應(yīng)作為參照圖像信號的解碼圖像信號進(jìn)行基于平行移動的運(yùn)動補(bǔ)償,生成預(yù)測信號(S206)。
在由切換控制部214確定的預(yù)測方法為基于幾何變換的運(yùn)動補(bǔ)償預(yù)測方法時 (S205的幾何),幾何變換運(yùn)動補(bǔ)償預(yù)測部205利用從第2編碼比特串解碼部202供給的運(yùn)動矢量,對從解碼圖像緩存器208供給的應(yīng)作為參照圖像信號的解碼圖像信號進(jìn)行基于幾何變換的運(yùn)動補(bǔ)償,生成預(yù)測信號(S207)。
第3編碼比特串解碼部203對介由輸入開關(guān)209供給來的編碼比特串進(jìn)行解碼, 取得被編碼的預(yù)測誤差信號(S208)。解碼圖像信號生 成部207將所取得的預(yù)測誤差信號解碼(S209)。解碼圖像信號生成部207將預(yù)測誤差信號解碼部206所解碼出的預(yù)測誤差信號與平行移動運(yùn)動補(bǔ)償預(yù)測部204或幾何變換運(yùn)動補(bǔ)償預(yù)測部205所生成的預(yù)測信號重疊, 生成解碼圖像信號(S210)。解碼圖像信號生成部207將所生成的解碼圖像信號保存在解碼圖像緩存器208中(S211)。被保存在該解碼圖像緩存器208中的解碼圖像信號被作為平行移動運(yùn)動補(bǔ)償預(yù)測部204及幾何變換運(yùn)動補(bǔ)償預(yù)測部205中的參照圖像信號來使用。
如以上說明的那樣,通過實(shí)施方式2,能將由實(shí)施方式I的圖像編碼裝置100生成的編碼流高效地解碼。由此,能從解碼側(cè)支持上述實(shí)施方式I的圖像編碼裝置100所實(shí)現(xiàn)的效果,并確保其效果。即,能從解碼側(cè)支持以使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的圖像編碼方式來提高編碼量的壓縮效率的效果,并確保該效果。此外,在并用基于平行移動的運(yùn)動補(bǔ)償預(yù)測和基于幾何變換的運(yùn)動補(bǔ)償預(yù)測的圖像編碼方式中,也能從解碼側(cè)支持提高編碼量的壓縮效率的效果,并確保該效果。另外,與已有的圖像解碼裝置的協(xié)調(diào)性和兼容性得到提高,能抑制導(dǎo)入成本。
以上基于幾個實(shí)施方式說明了本發(fā)明。這些實(shí)施方式只是例示,本領(lǐng)域技術(shù)人員當(dāng)理解這些構(gòu)成要素和各處理過程的組合可以有各種各樣的變形例,并且這樣的變形例也包含在本發(fā)明的范圍內(nèi)。
在上述的實(shí)施方式中,說明了以對象塊(即宏塊分區(qū)或亞宏塊分區(qū))的頂點(diǎn)、頂點(diǎn)附近的像素為代表像素、代表像素被包含在對象塊中的例子(參照圖3)。該點(diǎn)并不限定于此,代表像素也可以在對象塊之外。
圖11是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其2)。在圖11所示的例子中,將位于左上頂點(diǎn)的像素a和位于右上、左下、右下頂點(diǎn)附近的像素b、C、d分別設(shè)定為代表像素a、b、c、d。在圖11中,用黑圓點(diǎn)表示代表像素,用白圓點(diǎn)表示非代表像素,將代表像素設(shè)定為處于對象塊(圖11中為16X16像素的宏塊)的頂點(diǎn)的像素a (0,0)和處于頂點(diǎn)附近的像素b (W,0)、像素c (0,H)、以及像素d (W,H)。這里,W是水平方向的代表像素之間(像素a與像素b之間、及像素c與像素d之間)的距離(單位像素),H是垂直方向的代表像素之間(像素a與像素c之間、及像素b與像素d之間)的距離(單位像素),在圖 11所示的代表像素的設(shè)定中,W= 16 (像素)、H=16 (像素)。在此,用(i,j)表示各像素的坐標(biāo),用i按I像素單位表示水平方向的坐標(biāo),用j按I像素單位表示垂直方向的坐標(biāo)。 將宏塊內(nèi)的最左上方的像素作為原點(diǎn)(0,0),將右方向及下方向定為正的増加方向。左上的第I代表像素a包含在對象塊內(nèi),但右上的第2代表像素b、左下的第3代表像素c及右下的第4代表像素d不包含在對象塊內(nèi)。
此時,基于4個代表像素a、b、C、d的運(yùn)動矢量Va、Vb, Vc, Vd,通過上述式(3)算出這之外的像素P (i,j)的運(yùn)動矢量V (i,j)。
在上述式(3)中,若是圖3所示的代表像素的設(shè)定,則以W ·Η= 225 (15X 15)來除,若是圖11所示的代表像素的設(shè)定,則以w· H= 256 (= 16X16)來除 。在以作為2的冪乘的256來除時,可通過8比特右移位(shift)的比特移位運(yùn)算來實(shí)現(xiàn),故能減輕處理量, 向硬件的安裝變得容易。通過將代表像素的間隔設(shè)定為2的冪乘數(shù),能利用比特移位運(yùn)算實(shí)現(xiàn)除法運(yùn)算。此外,未包含于對象塊的代表像素可以脫離于畫面,是實(shí)際不存在的虛擬的像素。
同樣地,在圖11所示的代表像素的設(shè)定的情況下,能同圖3所示的代表像素的設(shè)定一樣利用上述式(I)、(2)、(4) (12)來算出。
在上述式(4)、(5)、(10)、(12)中,若是圖3所示的代表像素的設(shè)定,則以W = 15 來除,但若是圖11所示的代表像素的設(shè)定,則以W= 16來除。進(jìn)而,在上述式(6)、(7)、(9) 中,若是圖3所示的代表像素的設(shè)定,則以H= 15來除,若是圖11所示的代表像素的設(shè)定, 則以H= 16來除。同上述一樣,在以作為2的冪乘的16來除時,能通過4比特右移位的比特移位運(yùn)算來實(shí)現(xiàn),故能減輕處理量,向硬件的安裝變得容易。通過使代表像素的間隔為2 的冪乘,在該情況下也能用比特移位運(yùn)算來置換除法運(yùn)算。
在圖11所示的代表像素的設(shè)定中,預(yù)測矢量的計算方法也能采用與參照圖7所說明的方法同樣的方法。以圖11所示的代表像素的設(shè)定為前提,利用圖12更具體地說明編碼對象塊和相鄰塊都選擇了基于幾何變換的運(yùn)動補(bǔ)償預(yù)測時的運(yùn)動矢量的預(yù)測。如圖11、 圖12所示那樣將代表像素間的間隔設(shè)定為16時,代表像素b、代表像素c及代表像素d分別從對象塊向外側(cè)溢出I像素量。因此,對象塊的代表像素a也是左鄰的塊A的代表像素 b,也是上鄰的塊B的代表像素C,還是左斜上鄰的塊D的代表像素d。對象塊的代表像素b 也是上鄰的塊B的代表像素d,還是右斜上鄰的塊C的代表像素C。對象塊的代表像素c也是左鄰的塊A的代表像素d。從相鄰塊的運(yùn)動矢量預(yù)測第I代表像素a、第2代表像素b及第3代表像素c的預(yù)測矢量。
在圖12中,對于編碼對象塊的第I代表像素a的預(yù)測矢量,在已編碼的相鄰塊中的、參照與對象塊的參照圖像相同的圖像的周邊塊中,參照左鄰的塊A的右上頂點(diǎn)像素的運(yùn)動矢量、上鄰的塊B的左下頂點(diǎn)像素的運(yùn)動矢量、以及左斜上鄰的塊D的右下頂點(diǎn)像素的運(yùn)動矢量來計算。對于第2代表像素b的預(yù)測矢量,從上鄰的塊B的右下頂點(diǎn)像素的運(yùn)動矢量、右斜上鄰的塊C的左下頂點(diǎn)像素的運(yùn)動矢量、以及該對象塊的第I代表像素a的運(yùn)動矢量中按預(yù)定的規(guī)則來選擇。對于第3代表像素c的預(yù)測矢量,將左鄰的塊A的右下頂點(diǎn)像素的運(yùn)動矢量作為預(yù)測矢量。對于第4代表像素d的預(yù)測矢量,如上所述能基于第I代表像素a、第2代表像素b及第3代表像素c各自的運(yùn)動矢量Va、Vb、Vc,通過上述式(13) 或上述式(14)而算出。
圖13是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其3)。在圖13所示的例子中,將位于左上、右上、左下的頂點(diǎn)附近的像素a、b、c和位于右下的頂點(diǎn)的像素d設(shè)定為代表像素a、b、c、d。在圖13的例子中,用黑圓點(diǎn)表示代表像素,用白圓點(diǎn)表示非代表像素,將代表像素設(shè)定為處于對象塊(圖13中為16X16像素的宏塊)的頂點(diǎn)附近的像素a (―1,一 I)、像素b (W — I, — I)、像素c (― LH — I)及處于頂點(diǎn)的像素d (W — Ι,Η —I)。這里, W是水平方向的代表像素間(像素a與像素b之間、及像素c與像素d之間)的距離(單位像素),H是垂直方向的代表像素間(像素a與像素c之間、及像素b與像素d之間) 的距離(單位像素),在圖11所示的代表像素的設(shè)定中,是W = 16 (像素)、H = 16 (像素)。 在此,用(i,j)表示各像素的坐標(biāo),用i按I像素單位表示水平方向的坐標(biāo),用j按I像素單位表示垂直方向的坐標(biāo)。將宏塊內(nèi)的最左上方的像素作為原點(diǎn)(0,0),將右方向及下方向定為正的増加方向。右下方的第4代表像素d包含于對象塊內(nèi),但左上、右上、左下的3個代表像素a、b、c不包含于對象塊。
此時,不通過上述式(3),而是通過下式(15),基于4個代表像素a、b、C、d的運(yùn)動矢量Va、Vb、Vc、Vd算出這之外的像素P (i,j)的運(yùn)動矢量V (i,j)。
V (i, j) = {(ff -1 -1) (H - j -1) Va + (i + I) (Η - j -1) Vb + (ff -i — I) (j + I) · Vc + (i + I) · (j + I) · Vd} / (ff · H)…式(15)
在上述式(15)中也用W ·Η = 256 (= 16X 16)來除,在用作為2的冪乘的256來除時,可通過8比特右移位的比特移位運(yùn)算來實(shí)現(xiàn),故能減輕處理量,向硬件的安裝變得容易。通過使代表像素的間隔為2的冪乘數(shù),能用移位運(yùn)算來實(shí)現(xiàn)除法運(yùn)算。此外,未包含于對象塊的代表像素可以是在畫面之外、實(shí)際不存在的虛擬的像素。
在上述的實(shí)施方式中,是將對象塊(即宏塊分區(qū)或亞宏塊分區(qū))的頂點(diǎn)、頂點(diǎn)附近的像素作為代表像素的,但并非限定于此,也可以將位于頂點(diǎn)或相當(dāng)于頂點(diǎn)的坐標(biāo)的插值像素作為代表像素。
圖14是用于說明與對象塊的4個頂點(diǎn)對應(yīng)的代表像素的圖(其4)。在圖14所示的例子中,將相當(dāng)于左上、右上、左下及右下的頂點(diǎn)位置的插值像素a、b、c、d設(shè)定為代表像素。不僅可以如之前的例子(圖3、圖11、圖13)那樣將實(shí)際存在的像素作為代表像素,還可以如本例(圖14)這樣將處于于被插值的位置的像素作為代表像素,基于該代表像素的運(yùn)動矢量,通過插值而算出實(shí)際存在的像素的運(yùn)動矢量。
此外,在利用上述圖5、圖6、圖7、圖12說明的運(yùn)動矢量的預(yù)測方法中,也可以不將相鄰塊或相鄰塊的像素的運(yùn)動矢量Vabcd原樣作為預(yù)測矢量的候選的,而是將根據(jù)編碼對象圖像與參照圖像間的距離(時間)對Vabcd縮放而算出的運(yùn)動矢量值Vabcd’用作預(yù)測矢量的候選??s放后的運(yùn)動矢量值Vabcd’是根據(jù)編碼對象圖像與該編碼對象塊的運(yùn)動矢量所指示的參照圖像之間的距離(時間)Tl、以及編碼對象圖像與相鄰塊或相鄰塊的像素的運(yùn)動矢量Vabcd所指示的參照圖像的距離(時間)T2縮放后的運(yùn)動矢量值??s放后的運(yùn)動矢量值Vabcd’由下式(16)算出。
Vabcd' =Vabcd* (Tl / T2)…式(16)
當(dāng)在編碼對象塊的運(yùn)動補(bǔ)償預(yù)測中參照的參照圖像與在相鄰塊的運(yùn)動補(bǔ)償預(yù)測中參照的參照圖像不同時,即使是相同的運(yùn)動,彼此的運(yùn)動矢量的值也會產(chǎn)生差異,故為消除該失配而縮放運(yùn)動矢量。例如若物體不變形地進(jìn)行了等速運(yùn)動,則幀間隔越長,運(yùn)動矢量的大小越大。根據(jù)編碼對象圖像一參照圖像間的幀間隔Tl、T2的比率縮放相鄰塊(相鄰塊的像素)的運(yùn)動矢量Vabcd而算出Vabcd’。
當(dāng)在編碼對象塊的運(yùn)動補(bǔ)償預(yù)測中參照的參照圖像與在相鄰塊的運(yùn)動補(bǔ)償預(yù)測中參照的參照圖像不同,這2個參照圖像從編碼對象圖像來看在顯示順序上都相當(dāng)于過去或都相當(dāng)于未來時,即這2個參照圖像從編碼對象圖像來看位于相同側(cè)時,向相同方向進(jìn)行縮放。為向相同方向縮放,以正值進(jìn)行縮放。通過該縮放處理,朝向相同、大小不同的運(yùn)動矢量成為預(yù)測矢量的候選。圖15是用于說明運(yùn)動矢量值的縮放處理的一例的圖。在圖 15中,當(dāng)編碼對象圖像的編碼對象塊的參照圖像是圖像Ref2,相鄰塊(相鄰塊的像素)的運(yùn)動補(bǔ)償預(yù)測的參照圖像是圖像Ref3時,由于Tl :T2 = 2 :3,故將參照圖像Ref3的相鄰塊(相鄰塊的像素 )的運(yùn)動矢量Vabcd縮放為2 / 3。由此,原本變得接近相鄰塊(相鄰塊的像素) 參照圖像Ref2進(jìn)行運(yùn)動補(bǔ)償預(yù)測時的運(yùn)動矢量的值,結(jié)果變得接近參照圖像Ref2的編碼對象塊的運(yùn)動矢量的值。在圖15的例子中,當(dāng)相鄰塊的運(yùn)動補(bǔ)償預(yù)測時的參照圖像為圖像 Ref3,其運(yùn)動矢量的值為(24,一 9)時,將使其縮放為2 / 3后的(16,一 6)作為預(yù)測矢量的候選。
此外,當(dāng)在編碼對象塊的運(yùn)動補(bǔ)償預(yù)測中參照的參照圖像與在相鄰塊的運(yùn)動補(bǔ)償預(yù)測中參照的參照圖像不同,這2個參照圖像從編碼對象圖像來看在顯示順序上相當(dāng)于過去和未來時、即這2個參照圖像夾著編碼對象圖像地位于兩側(cè)時,向相反方向進(jìn)行縮放。為向相反方向縮放,以負(fù)值進(jìn)行縮放。通過該縮放處理,朝向相反、大小不同的運(yùn)動矢量成為預(yù)測矢量的候選。在圖15中,編碼對象圖像的編碼對象塊的參照圖像為圖像Ref2,相鄰塊 (相鄰塊的像素)的運(yùn)動補(bǔ)償預(yù)測的參照圖像為圖像Ref5時,由于Tl :T2 = 2 : — 1,故將參照圖像Ref3的相鄰塊(相鄰塊的像素)的運(yùn)動矢量Vabcd縮放為2 /(— I)=一 2倍。由此,原本變得接近相鄰塊(相鄰塊的像素)參照圖像Ref2進(jìn)行運(yùn)動補(bǔ)償預(yù)測時的運(yùn)動矢量的值,結(jié)果變得接近參照圖像Ref2的編碼對象塊的運(yùn)動矢量的值。在圖15的例子中,相鄰塊的運(yùn)動補(bǔ)償預(yù)測時的參照圖像為圖像Ref5,其運(yùn)動矢量的值為(一 8,3)時,將使其縮放為一 2倍后的(16,- 6)作為預(yù)測矢量的候選。
在利用上述圖5、圖6、圖7、圖12說明的運(yùn)動矢量的預(yù)測方法中,在B圖像內(nèi),分別獨(dú)立地處理LO預(yù)測、或雙預(yù)測所用的LO的運(yùn)動矢量和LI預(yù)測、或者雙預(yù)測所用的LI的運(yùn)動矢量。即,基于相鄰塊或相鄰塊的像素的LO的運(yùn)動矢量算出LO的運(yùn)動矢量的預(yù)測矢量的候選,并基于相鄰塊或相鄰塊的像素的LI的運(yùn)動矢量算出LI的運(yùn)動矢量的預(yù)測矢量的候選。此外,當(dāng)相鄰塊為LO預(yù)測或LI預(yù)測的單向預(yù)測時,僅存在LO或LI的運(yùn)動矢量的一者。在計算LO的運(yùn)動矢量的預(yù)測矢量的候選時,若相鄰塊按LI預(yù)測無法得到相鄰塊或相鄰塊的像素的LO的運(yùn)動矢量,則通過前述的縮放處理來縮放LI的運(yùn)動矢量,由此能作為 LO的運(yùn)動矢量的預(yù)測矢量的候選。同樣地,在計算LI的運(yùn)動矢量的預(yù)測矢量的候選時,若相鄰塊按LO預(yù)測無法得到相鄰塊或相鄰塊的像素的LI的運(yùn)動矢量,則通過前述的縮放處理來縮放LO的運(yùn)動矢量,由此能作為LI的運(yùn)動矢量的預(yù)測矢量的候選。
在上述的實(shí)施方式中,說明了對象塊的形狀為正方形的例子。關(guān)于該點(diǎn),對象塊的形狀也可以是三角形、平行四邊形、梯形等其它形狀。在該情況下,優(yōu)選上述代表像素被設(shè)定為該形狀的頂點(diǎn)或頂點(diǎn)附近。
〔標(biāo)號說明〕
100圖像編碼裝置、101圖像緩存器、102平行移動運(yùn)動補(bǔ)償預(yù)測部、103幾何變換運(yùn)動補(bǔ)償預(yù)測部、104預(yù)測方法決定部、114差分矢量計算部、105預(yù)測誤差信號生成部、106 預(yù)測誤差信號編碼部、107第I編碼比特串生成部、108第2編碼比特串生成部、109第3編碼比特串生成部、110預(yù)測誤差信號解碼部、111解碼圖像信號生成部、112解碼圖像緩存器、113輸出開關(guān)、200圖像解碼裝置、201第I編碼比特串解碼部、202第2編碼比特串解碼部、203第3編碼比特串解碼部、215運(yùn)動矢量計算部、204平行移動運(yùn)動補(bǔ)償預(yù)測部、205幾何變換運(yùn)動補(bǔ)償預(yù)測部、206預(yù)測誤差信號解碼部、207解碼圖像信號生成部、208解碼圖像緩存器、209輸入開關(guān)、210第I預(yù)測部開關(guān)、 211第2預(yù)測部開關(guān)、212第3預(yù)測部開關(guān)、213 第4預(yù)測部開關(guān)、214切換控制部。
〔工業(yè)可利用性〕
能適用于利用運(yùn)動補(bǔ)償預(yù)測對圖像進(jìn)行編碼的領(lǐng)域。
權(quán)利要求
1.一種對動圖像進(jìn)行編碼的圖像編碼裝置,其特征在于,包括 幾何變換運(yùn)動補(bǔ)償預(yù)測部,針對多個預(yù)測模式分別算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,在各預(yù)測模式中,將位于構(gòu)成上述對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素選為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值算出該代表像素以外的像素的運(yùn)動矢量,算出上述預(yù)測信號, 預(yù)測方法決定部,針對對象圖像內(nèi)的各對象塊,分別選擇上述幾何變換運(yùn)動補(bǔ)償預(yù)測部的多個預(yù)測模式中的一者, 預(yù)測誤差信號生成部,算出按上述預(yù)測方法決定部所選擇的預(yù)測模式算出的預(yù)測信號與上述對象塊的圖像信號的差分,生成預(yù)測誤差信號, 差分矢量生成部,利用上述對象塊內(nèi)外的運(yùn)動矢量算出按上述預(yù)測方法決定部所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,算出該預(yù)測運(yùn)動矢量與按上述所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的差分,生成代表像素的差分運(yùn)動矢量,以及編碼部,對用于確定上述預(yù)測方法決定部所選擇的預(yù)測模式的預(yù)測方法信息、由上述差分矢量生成部生成的差分運(yùn)動矢量、以及由上述預(yù)測誤差信號生成部生成的預(yù)測誤差信號進(jìn)行編碼。
2.如權(quán)利要求1所述的圖像編碼裝置,其特征在于, 上述對象塊是四邊形區(qū)域; 上述幾何變換運(yùn)動補(bǔ)償預(yù)測部具有以下四種預(yù)測模式內(nèi)的至少兩種預(yù)測模式 第I模式,算出上述對象塊的4個代表像素的被編碼的運(yùn)動矢量, 第2模式,算出上述對象塊的縱方向上的2個代表像素的被編碼的運(yùn)動矢量, 第3模式,算出上述對象塊的橫方向上的2個代表像素的被編碼的運(yùn)動矢量,以及 第4模式,算出上述對象塊的3個代表像素的被編碼的運(yùn)動矢量。
3.如權(quán)利要求2所述的圖像編碼裝置,其特征在于, 上述幾何變換運(yùn)動補(bǔ)償預(yù)測部在上述第4模式下,算出四邊形的上述對象塊中的相當(dāng)于左上頂點(diǎn)的第I代表像素的運(yùn)動矢量、相當(dāng)于右上頂點(diǎn)的第2代表像素的運(yùn)動矢量、以及相當(dāng)于左下頂點(diǎn)的第3代表像素的運(yùn)動矢量。
4.如權(quán)利要求2所述的圖像編碼裝置,其特征在于, 上述差分矢量生成部在由上述預(yù)測方法決定部選擇了上述第I模式時,將從四邊形的上述對象塊中的相當(dāng)于右上頂點(diǎn)的第2代表像素的運(yùn)動矢量的值減去相當(dāng)于左上頂點(diǎn)的第I代表像素的運(yùn)動矢量的值后的差分,加到相當(dāng)于左下頂點(diǎn)的第3代表像素的運(yùn)動矢量中,由此算出相當(dāng)于右下頂點(diǎn)的第4代表像素的預(yù)測運(yùn)動矢量。
5.如權(quán)利要求2所述的圖像編碼裝置,其特征在于, 上述差分矢量生成部在由上述預(yù)測方法決定部選擇了上述第I模式時,將從四邊形的上述對象塊中的相當(dāng)于左下頂點(diǎn)的第3代表像素的運(yùn)動矢量的值減去相當(dāng)于左上頂點(diǎn)的第I代表像素的運(yùn)動矢量的值后的差分,加到相當(dāng)于右上頂點(diǎn)的第2代表像素的運(yùn)動矢量中,由此算出相當(dāng)于右下頂點(diǎn)的第4代表像素的預(yù)測運(yùn)動矢量。
6.一種對動圖像進(jìn)行編碼的圖像編碼裝置,其特征在于,包括 幾何變換運(yùn)動補(bǔ)償預(yù)測部,按照預(yù)測模式計算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,在該計算中,將位于構(gòu)成上述對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素選為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值算出該代表像素以外的像素的運(yùn)動矢量,算出上述預(yù)測信號, 預(yù)測誤差信號生成部,算出由上述幾何變換運(yùn)動補(bǔ)償預(yù)測部算出的預(yù)測信號與上述對象塊的圖像信號的差分,生成預(yù)測誤差信號, 差分矢量生成部,利用上述對象塊內(nèi)外的運(yùn)動矢量算出由上述幾何變換運(yùn)動補(bǔ)償預(yù)測部算出的代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,并算出該預(yù)測運(yùn)動矢量與所算出的代表像素的運(yùn)動矢量的差分,生成代表像素的差分運(yùn)動矢量,以及 編碼部,對由上述差分矢量生成部生成的差分運(yùn)動矢量、和由上述預(yù)測誤差信號生成部生成的預(yù)測誤差信號進(jìn)行編碼。
7.如權(quán)利要求1至5的任一項(xiàng)所述的圖像編碼裝置,其特征在于,還包括 平行移動運(yùn)動補(bǔ)償預(yù)測部,生成對象圖像內(nèi)的對象塊與同該對象塊處于平行移動關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號; 上述預(yù)測方法決定部針對對象圖像內(nèi)的各對象塊分別決定采用上述平行移動運(yùn)動補(bǔ)償預(yù)測部的預(yù)測方法和上述幾何變換運(yùn)動補(bǔ)償預(yù)測部的預(yù)測方法的哪一者,并選擇所采用的預(yù)測方法中的預(yù)測模式; 上述差分矢量生成部根據(jù)上述預(yù)測模式和與上述對象塊相鄰的相鄰塊的運(yùn)動補(bǔ)償預(yù)測方法,基于該相鄰塊或該相鄰塊所包含的像素的運(yùn)動矢量,生成上述對象塊的運(yùn)動矢量的預(yù)測運(yùn)動矢量,并在由上述預(yù)測方法決定部采用了上述平行移動運(yùn)動補(bǔ)償預(yù)測部的預(yù)測方法時,算出按由上述預(yù)測方法決定部選擇的預(yù)測模式算出的上述對象塊的運(yùn)動矢量與上述對象塊的運(yùn)動矢量的預(yù)測運(yùn)動矢量的差分,生成差分運(yùn)動矢量。
8.一種對動圖像進(jìn)行編碼的圖像編碼方法,其特征在于,包括 幾何變換運(yùn)動補(bǔ)償預(yù)測步驟,針對多個預(yù)測模式分別算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,在各預(yù)測模式中,將位于構(gòu)成上述對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素選為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值算出該代表像素以外的像素的運(yùn)動矢量,算出上述預(yù)測信號,預(yù)測方法決定步驟,針對對象圖像內(nèi)的各對象塊,分別選擇上述幾何變換運(yùn)動補(bǔ)償預(yù)測步驟的多個預(yù)測模式中的一者, 預(yù)測誤差信號生成步驟,算出按上述預(yù)測方法決定步驟所選擇的預(yù)測模式算出的預(yù)測信號與上述對象塊的圖像信號的差分,生成預(yù)測誤差信號, 差分矢量生成步驟,利用上述對象塊內(nèi)外的運(yùn)動矢量算出按上述預(yù)測方法決定步驟所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,并算出該預(yù)測運(yùn)動矢量與按上述所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的差分,生成代表像素的差分運(yùn)動矢量,以及 編碼步驟,對用于確定上述預(yù)測方法決定步驟所選擇的預(yù)測模式的預(yù)測方法信息、由上述差分矢量生成步驟生成的差分運(yùn)動矢量、以及由上述預(yù)測誤差信號生成步驟生成的預(yù)測誤差信號進(jìn)行編碼。
9.一種對動圖像進(jìn)行編碼的圖像編碼程序,其特征在于,使計算機(jī)執(zhí)行以下步驟 幾何變換運(yùn)動補(bǔ)償預(yù)測處理,針對多個預(yù)測模式分別算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量及預(yù)測信號,在各預(yù)測模式中,將位于構(gòu)成上述對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素選為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值算出該代表像素以外的像素的運(yùn)動矢量,算出上述預(yù)測信號,預(yù)測方法決定處理,針對對象圖像內(nèi)的各對象塊,分別選擇上述幾何變換運(yùn)動補(bǔ)償預(yù)測處理的多個預(yù)測模式中的一者, 預(yù)測誤差信號生成處理,算出按上述預(yù)測方法決定處理所選擇的預(yù)測模式算出的預(yù)測信號與上述對象塊的圖像信號的差分,生成預(yù)測誤差信號, 差分矢量生成處理,利用上述對象塊內(nèi)外的運(yùn)動矢量算出按上述預(yù)測方法決定處理所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,并算出該預(yù)測運(yùn)動矢量與按上述所選擇的預(yù)測模式算出的代表像素的運(yùn)動矢量的差分,生成代表像素的差分運(yùn)動矢量,以及 編碼處理,對用于確定上述預(yù)測方法決定處理所選擇的預(yù)測模式的預(yù)測方法信息、由上述差分矢量生成處理生成的差分運(yùn)動矢量、以及由上述預(yù)測誤差信號生成處理生成的預(yù)測誤差信號進(jìn)行編碼。
10.一種圖像解碼裝置,其特征在于,包括 解碼部,對被使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼了的編碼流中所包含的、用于確定預(yù)測模式的預(yù)測方法信息、與上述預(yù)測模式相應(yīng)的代表像素的差分運(yùn)動矢量及預(yù)測誤差號進(jìn)行解碼, 運(yùn)動矢量生成部,按照由上述預(yù)測方法信息確定的預(yù)測模式,利用對象塊內(nèi)外的運(yùn)動矢量算出代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,對該預(yù)測運(yùn)動矢量加上上述代表像素的差分運(yùn)動矢量來生成代表像素的運(yùn)動矢量, 幾何變換運(yùn)動補(bǔ)償預(yù)測部,基于通過插值而算出的上述代表像素以外的運(yùn)動矢量及上述參照塊的圖像信號生成預(yù)測信號,所述插值是使用了該對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的上述代表像素的運(yùn)動矢量、上述代表像素的運(yùn)動矢量的插值,以及 圖像信號生成部,基于上述預(yù)測信號和由上述解碼部解碼出的預(yù)測誤差信號生成圖像信號; 對于上述代表像素,選擇位于構(gòu)成上述對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素、或位于頂點(diǎn)附近的插值像素。
11.如權(quán)利要求10所述的圖像解碼裝置,其特征在于,還包括 控制部,參照由上述解碼部解碼出的預(yù)測方法信息,針對對象圖像內(nèi)的各對象塊,分別指定使用上述幾何變換運(yùn)動補(bǔ)償預(yù)測部的多個預(yù)測模式的哪一者; 上述對象塊是四邊形區(qū)域; 上述多個預(yù)測模式中包括以下四種預(yù)測模式內(nèi)的至少兩種預(yù)測模式 使用上述對象塊的4個代表像素的運(yùn)動矢量的第I模式, 使用上述對象塊的縱方向上的2個代表像素的運(yùn)動矢量的第2模式,使用上述對象塊的橫方向上的2個代表像素的運(yùn)動矢量的第3模式,以及 使用上述對象塊的3個上述代表像素的運(yùn)動矢量的第4模式。
12.如權(quán)利要求11所述的圖像解碼裝置,其特征在于, 當(dāng)由上述預(yù)測方法信息確定的預(yù)測模式是上述第4模式時,四邊形的上述對象塊中的相當(dāng)于左上頂點(diǎn)的第I代表像素的差分運(yùn)動矢量、相當(dāng)于右上頂點(diǎn)的第2代表像素的差分運(yùn)動矢量、以及相當(dāng)于左下頂點(diǎn)的第3代表像素的差分運(yùn)動矢量被作為代表像素的差分運(yùn)動矢量包含在編碼流中。
13.如權(quán)利要求11所述的圖像解碼裝置,其特征在于, 上述運(yùn)動矢量生成部在上述第I模式下,通過將從相當(dāng)于右上頂點(diǎn)的第2代表像素的運(yùn)動矢量的值減去相當(dāng)于左上頂點(diǎn)的第I代表像素的運(yùn)動矢量的值后的差分,加到相當(dāng)于左下頂點(diǎn)的第3代表像素的運(yùn)動矢量中,由此算出四邊形的上述對象塊中的相當(dāng)于右下頂點(diǎn)的第4代表像素的預(yù)測運(yùn)動矢量。
14.如權(quán)利要求11所述的圖像解碼裝置,其特征在于, 上述運(yùn)動矢量生成部在上述第I模式下,通過將從相當(dāng)于左下頂點(diǎn)的第3代表像素的運(yùn)動矢量的值減去相當(dāng)于左上頂點(diǎn)的第I代表像素的運(yùn)動矢量的值后的差分,加到相當(dāng)于右上頂點(diǎn)的第2代表像素的運(yùn)動矢量中,由此算出四邊形的上述對象塊中的相當(dāng)于右下頂點(diǎn)的第4代表像素的預(yù)測運(yùn)動矢量。
15.一種圖像解碼裝置,其特征在于,包括 解碼部,對被使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼了的編碼流中所包含的、代表像素的差分運(yùn)動矢量及預(yù)測誤差信號進(jìn)行解碼, 運(yùn)動矢量生成部,利用對象塊內(nèi)外的運(yùn)動矢量算出上述代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,對該預(yù)測運(yùn)動矢量加上上述代表像素的差分運(yùn)動矢量來算出代表像素的運(yùn)動矢量, 幾何變換運(yùn)動補(bǔ)償預(yù)測部,基于通過插值而算出的上述代表像素以外的運(yùn)動矢量及上述參照塊的圖像信號來生成預(yù)測信號,所述插值是使用了對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的上述代表像素的運(yùn)動矢量、上述代表像素的運(yùn)動矢量的插值,以及 圖像信號生成部,基于上述預(yù)測信號和由上述解碼部解碼出的預(yù)測誤差信號生成圖像信號; 對于上述代表像素,選擇位于構(gòu)成上述對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素、或位于頂點(diǎn)附近的插值像素。
16.如權(quán)利要求10或14所述的圖像解碼裝置,其特征在于,還包括 平行移動運(yùn)動補(bǔ)償預(yù)測部,基于對象圖像內(nèi)的對象塊與同該對象塊處于平行移動關(guān)系的參照圖像內(nèi)的參照塊之間的運(yùn)動矢量、及上述參照塊的圖像信號,生成預(yù)測信號,和 控制部,參照由上述解碼部解碼出的預(yù)測方法信息,針對對象圖像內(nèi)的各對象塊分別指定使用上述平行移動運(yùn)動補(bǔ)償預(yù)測部的預(yù)測方法和上述幾何變換運(yùn)動補(bǔ)償預(yù)測部的預(yù)測方法中的哪一者; 上述編碼流所包含的數(shù)據(jù)是被兼用上述基于平行移動的運(yùn)動補(bǔ)償預(yù)測和上述基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼的;上述運(yùn)動矢量生成部根據(jù)上述預(yù)測模式及與上述對象塊相鄰的相鄰塊的運(yùn)動補(bǔ)償預(yù)測方法,基于該相鄰塊或該相鄰塊所包含的像素的運(yùn)動矢量生成對象塊的預(yù)測運(yùn)動矢量。
17.一種圖像解碼方法,其特征在于,包括 解碼步驟,對被使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼了的編碼流中所包含的、用于確定預(yù)測模式的預(yù)測方法信息、與上述預(yù)測模式相應(yīng)的代表像素的差分運(yùn)動矢量及預(yù)測誤差信號進(jìn)行解碼, 運(yùn)動矢量生成步驟,按照由上述預(yù)測方法信息確定的預(yù)測模式,利用對象塊內(nèi)外的運(yùn)動矢量算出代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,對該預(yù)測運(yùn)動矢量加上上述代表像素的差分運(yùn)動矢量來生成代表像素的運(yùn)動矢量, 幾何變換運(yùn)動補(bǔ)償預(yù)測步驟,基于通過插值而算出的上述代表像素以外的運(yùn)動矢量及上述參照塊的圖像信號來生成預(yù)測信號,所述插值是使用了對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的上述代表像素的運(yùn)動矢量、上述代表像素的運(yùn)動矢量的插值,以及 圖像信號生成步驟,基于上述預(yù)測信號和由上述解碼步驟解碼出的預(yù)測誤差信號生成圖像信號; 對于上述代表像素,選擇位于構(gòu)成上述對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素、或位于頂點(diǎn)附近的插值像素。
18.一種圖像解碼程序,其特征在于,使計算機(jī)執(zhí)行以下處理 解碼處理,對被使用基于幾何變換的運(yùn)動補(bǔ)償預(yù)測而編碼了的編碼流中所包含的、用于確定預(yù)測模式的預(yù)測方法信息、與上述預(yù)測模式相應(yīng)的代表像素的差分運(yùn)動矢量及預(yù)測誤差信號進(jìn)行解碼, 運(yùn)動矢量生成處理,按照由上述預(yù)測方法信息確定的預(yù)測模式,利用對象塊內(nèi)外的運(yùn)動矢量算出代表像素的運(yùn)動矢量的預(yù)測運(yùn)動矢量,對該預(yù)測運(yùn)動矢量加上上述代表像素的差分運(yùn)動矢量來生成代表像素的運(yùn)動矢量, 幾何變換運(yùn)動補(bǔ)償預(yù)測處理,基于通過插值而算出的上述代表像素以外的運(yùn)動矢量及上述參照塊的圖像信號來生成預(yù)測信號,所述插值是使用了對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的上述代表像素的運(yùn)動矢量、上述代表像素的運(yùn)動矢量的插值,以及 圖像信號生成處理,基于上述預(yù)測信號和由上述解碼處理解碼出的預(yù)測誤差信號生成圖像信號; 對于上述代表像素,選擇位于構(gòu)成上述對象塊的頂點(diǎn)的像素、位于頂點(diǎn)附近的像素、或位于頂點(diǎn)附近的插值像素。
全文摘要
幾何變換運(yùn)動補(bǔ)償預(yù)測部(103)針對多個預(yù)測模式分別算出對象圖像內(nèi)的對象塊與同該對象塊處于幾何變換關(guān)系的參照圖像內(nèi)的參照塊之間的上述運(yùn)動矢量及預(yù)測信號,在各預(yù)測模式中,選擇位于構(gòu)成對象塊的頂點(diǎn)的像素、或位于該頂點(diǎn)附近的像素、或位于該頂點(diǎn)附近的插值像素作為相當(dāng)于頂點(diǎn)的代表像素,算出這些代表像素的運(yùn)動矢量,并通過使用了該代表像素的運(yùn)動矢量的插值而算出該代表像素以外的像素的運(yùn)動矢量,算出上述預(yù)測信號。
文檔編號H04N7/32GK103039075SQ201180025300
公開日2013年4月10日 申請日期2011年4月28日 優(yōu)先權(quán)日2010年5月21日
發(fā)明者中村博哉 申請人:Jvc建伍株式會社