(57)【要約】【課題】平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させる。【解決手段】復号部２５０は、符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する。切替制御部２１４は、復号部２５０により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、平行移動動き補償予測部２０４による予測方法と、幾何学変換動き補償予測部２０５による予測方法とのいずれを用いるか指定する。復号部２５０は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号する。【選択図】図７
2011151775.tif 000002
【特許請求の範囲】
【請求項１】
平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号部と、
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測部と、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測部と、
前記復号部により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償予測部による予測方法と、前記幾何学変換動き補償予測部による予測方法とのいずれを用いるか指定する制御部と、
前記制御部により指定された予測方法により生成された予測信号、および前記復号部により復号された予測誤差信号から画像信号を生成する画像信号生成部と、を備え、
前記対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、
前記復号部は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号することを特徴とする画像復号装置。
【請求項２】
前記対象ブロックは、複数の代表画素が選定され、それぞれの代表画素の動きベクトルが予測符号化されて前記符号化ストリームに含まれており、
前記幾何学変換動き補償予測部は、前記対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の復号された動きベクトルを用いた内挿および外挿の少なくともいずれか一方により算出することを特徴とする請求項１に記載の画像復号装置。
【請求項３】
前記代表画素は、前記対象ブロックを小ブロックに分割した場合の前記小ブロックの略中心または略重心に相当する画素に選定されていることを特徴とする請求項２に記載の画像復号装置。
【請求項４】
前記対象ブロックは、正方形の領域であり、
前記幾何学変換動き補償予測部による動き補償予測を指定する予測方法情報には、前記対象ブロックが十字に四等分された四つの正方形の小ブロックの四つの前記代表画素ごとに動きベクトルが検出される第１モードと、前記対象ブロックが横に二等分された二つの縦長長方形の小ブロックの二つの前記代表画素ごとに動きベクトルが検出される第２モードと、前記対象ブロックが縦に二等分された二つの横長長方形の小ブロックの二つの前記代表画素ごとに動きベクトルが検出される第３モードのいずれかが指定されていることを特徴とする請求項２または３に記載の画像復号装置。
【請求項５】
平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号ステップと、
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測ステップと、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測ステップと、
前記復号ステップにより復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償による予測方法と、前記幾何学変換動き補償による予測方法とのいずれを用いるか指定する指定ステップと、
前記指定ステップにより指定された予測方法により生成された予測信号、および前記復号ステップにより復号された予測誤差信号から画像信号を生成する画像信号生成ステップと、を備え、
前記対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、
前記復号ステップは、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号することを特徴とする画像復号方法。
【請求項６】
平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号処理と、
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測処理と、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測処理と、
前記復号処理により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償による予測方法と、前記幾何学変換動き補償による予測方法とのいずれを用いるか指定する指定処理と、
前記指定処理により指定された予測方法により生成された予測信号、および前記復号処理により復号された予測誤差信号から画像信号を生成する画像信号生成処理と、をコンピュータに実行させ、
前記対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、
前記復号処理は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号することを特徴とする画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動き補償予測が利用されて符号化された符号化ストリームを復号する画像復号装置、画像復号方法および画像復号プログラムに関する。
【背景技術】
【０００２】
動画像の圧縮符号化方式の代表的なものとして、ＭＰＥＧシリーズの規格がある。ＭＰＥＧシリーズの規格では、フレームを複数のブロックに分割し、他のフレームからの動きを予測する動き補償が用いられている。ＭＰＥＧ−４やＡＶＣ／Ｈ．２６４では、複数の動き補償ブロックサイズの中から、最適なものを切り替えて用いる仕組みが導入されている。
【０００３】
ブロック単位の動き補償予測では、対象ブロックと参照ブロックとの間の平行移動を補償する方式が一般的である。これに加えて、ブロックの変形（たとえば、拡大、縮小、回転）を補償する方式も検討されている。たとえば、特許文献１では、フレーム間の予測を用いた画像符号化方式として、平行移動によって予測画像を求めるモードと幾何学変換によって予測画像を求めるモードをブロックごとに適応的に切り替えて、予測効率の向上を図っている。この方式では、平行移動の動きベクトルと格子点の動きベクトル（すなわち、幾何学変換で用いる動きベクトル）を符号化するとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−６８６８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような状況下、本発明者は、平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、動きベクトル情報を圧縮することにより、さらに全体の符号量を圧縮する手法を見出した。
【０００６】
本発明はこうした状況に鑑みなされたものであり、その目的は、平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様の画像復号装置は、平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号部と、対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測部と、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測部と、復号部により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、平行移動動き補償予測部による予測方法と、幾何学変換動き補償予測部による予測方法とのいずれを用いるか指定する制御部と、制御部により指定された予測方法により生成された予測信号、および復号部により復号された予測誤差信号から画像信号を生成する画像信号生成部と、を備える。対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、復号部は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号する。
【０００８】
対象ブロックは、複数の代表画素が選定され、それぞれの代表画素の動きベクトルが予測符号化されて符号化ストリームに含まれており、幾何学変換動き補償予測部は、対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の復号された動きベクトルを用いた内挿および外挿の少なくともいずれか一方により算出してもよい。
【０００９】
代表画素は、対象ブロックを小ブロックに分割した場合の小ブロックの略中心または略重心に相当する画素に選定されていてもよい。
【００１０】
対象ブロックは、正方形の領域であり、幾何学変換動き補償予測部による動き補償予測を指定する予測方法情報には、対象ブロックが十字に四等分された四つの正方形の小ブロックの四つの代表画素ごとに動きベクトルが検出される第１モードと、対象ブロックが横に二等分された二つの縦長長方形の小ブロックの二つの代表画素ごとに動きベクトルが検出される第２モードと、対象ブロックが縦に二等分された二つの横長長方形の小ブロックの二つの代表画素ごとに動きベクトルが検出される第３モードのいずれかが指定されていてもよい。
【００１１】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１に係る画像符号化装置の構成を示すブロック図である。
【図２】図２（ａ）〜（ｈ）は、マクロブロック・パーティションおよびサブマクロブロック・パーティションを説明するための図である。
【図３】図３（ａ）〜（ｃ）は、幾何学変換の第１モード、第２モード、および第３モードの代表点を説明するための図である。
【図４】図４（ａ）〜（ｄ）は、動きベクトルの予測符号化を説明するための図である。
【図５】動きベクトル値のスケーリング処理の一例を説明するための図である。
【図６】本発明の実施の形態１に係る画像符号化装置における、マクロブロックの符号化処理手順を示すフローチャートである。
【図７】本発明の実施の形態２に係る画像復号装置の構成を示すブロック図である。
【図８】本発明の実施の形態２に係る画像復号装置における、マクロブロックの復号処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面と共に本発明の実施の形態を説明する。以下の実施の形態では、ＡＶＣ／Ｈ．２６４符号化方式をベースとして符号化／復号する例を説明する。
【００１５】
図１は、本発明の実施の形態１に係る画像符号化装置１００の構成を示すブロック図である。画像符号化装置１００は、画像バッファ１０１、平行移動動き補償予測部１０２、幾何学変換動き補償予測部１０３、予測方法決定部１０４、予測誤差信号生成部１０５および符号化部１５０を備える。符号化部１５０は、予測誤差信号符号化部１０６、第１符号化ビット列生成部１０７、第２符号化ビット列生成部１０８、第３符号化ビット列生成部１０９、予測誤差信号復号部１１０、復号画像信号生成部１１１、復号画像バッファ１１２および出力スイッチ１１３を含む。
【００１６】
これらの構成は、ハードウェア的には、任意のプロセッサ、メモリ、その他のＬＳＩで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１７】
画像バッファ１０１は、撮影／表示時間順に供給された符号化対象の画像信号を一時格納する。画像バッファ１０１は、格納された符号化対象の画像信号を、所定の画素ブロック単位（ここでは、マクロブロック単位）で、平行移動動き補償予測部１０２、幾何学変換動き補償予測部１０３および予測誤差信号生成部１０５に並列に供給する。その際、撮影／表示時間順に供給された画像は、符号化順序に並び替えられて画像バッファ１０１から出力される。
【００１８】
ＭＰＥＧシリーズでは、マクロブロックとは１６×１６画素の輝度信号と、それに対応する２つの色差信号のブロックを指す。色差フォーマットのＹＵＶが４：２：０の場合、色差信号は８×８画素のサイズである。
【００１９】
本実施の形態では、参照画像を用いずに画面内で符号化するイントラ符号化方式、参照画像を用いた平行移動による動き補償予測方式、および参照画像を用いた幾何学変換による動き補償予測方式を用いる。ここで、参照画像は局部復号された復号画像である。なお、本実施の形態ではイントラ符号化方式には注目しないため、図１ではその構成を省略して描いている。これらの符号化方式のモードを、マクロブロック単位で単独あるいは組み合わせて適応的に切り替える。なお、すべてのマクロブロックを、参照画像を用いた幾何学変換による動き補償予測方式を用いて符号化する方式も可能である。
【００２０】
平行移動動き補償予測部１０２は、対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の、動きベクトルおよび予測信号を生成する。本実施の形態では、平行移動動き補償予測部１０２は、ＡＶＣ／Ｈ.２６４方式などに規定されている既存の動き補償予測と同様の、平行移動による動き補償予測を行う。
【００２１】
動き補償予測は、後述する復号画像バッファ１１２から供給される表示順序で、前方または後方の復号画像を参照画像とする。平行移動動き補償予測部１０２は、参照画像内の所定の検出範囲内で、画像バッファ１０１から供給されるマクロブロック信号と、復号画像バッファ１１２から供給される参照画像信号との間でブロックマッチングを行う。平行移動動き補償予測部１０２は、ブロックマッチングにより、当該マクロブロック信号と最も誤差が小さい、参照画像信号内の参照ブロック信号を特定し、当該マクロブロック信号と当該参照ブロック信号との間の動きベクトルを検出する。
【００２２】
このブロックマッチングを、規定された複数のモードで行う。複数のモードはそれぞれ、参照インデックス、動き補償ブロックのサイズ、Ｌ０／Ｌ１予測などが異なる。参照インデックスとは参照ピクチャを示すインデックスである。なお、Ｌ０／Ｌ１予測はＢスライスでのみ選択可能である。ブロックサイズの具体例は後述する。
【００２３】
また、動き補償予測を行う際、１画素未満の画素精度で動き補償することができる。たとえば、ＡＶＣ／Ｈ.２６４方式などでは、輝度信号は１画素の１／４の精度まで、色差信号は１画素の１／８の精度までの動き補償を行うことができる。１画素未満の画素精度で動き補償する場合、参照画像内の整数画素の信号を用いて、１画素未満の画素精度の信号を周囲の信号から補間により生成する。
【００２４】
平行移動動き補償予測部１０２は、それぞれのモードにて動き補償予測を行い、それぞれのモードにおける予測信号（より具体的には、動き補償予測ブロック信号）および動きベクトルを、予測方法決定部１０４に供給する。
【００２５】
つぎに、ＡＶＣ／Ｈ．２６４方式における動き補償ブロックサイズについて説明する。
図２は、マクロブロック・パーティションおよびサブマクロブロック・パーティションを説明するための図である。ここでは説明を簡略化するため、輝度信号の画素ブロックのみ描いている。ＡＶＣ／Ｈ．２６４方式を含むＭＰＥＧシリーズでは、マクロブロックは正方形領域で規定される。一般的にＡＶＣ／Ｈ．２６４方式を含むＭＰＥＧシリーズでは、１６×１６画素（水平１６画素、垂直１６画素）で規定されるブロックをマクロブロックという。さらに、ＡＶＣ／Ｈ．２６４方式では、８×８画素で規定されるブロックをサブマクロブロックという。マクロブロック・パーティションとは、マクロブロックを動き補償予測のために、さらに分割したそれぞれの小ブロックをいう。サブマクロブロック・パーティションとは、サブマクロブロックを動き補償予測のために、さらに分割したそれぞれの小ブロックをいう。
【００２６】
図２（ａ）は、マクロブロックが１６×１６画素の輝度信号とそれに対応する２つの色差信号から構成される１つのマクロブロック・パーティションで構成されていることを示す図である。ここでは、この構成を１６×１６モードのマクロブロック・タイプと呼ぶ。
【００２７】
図２（ｂ）は、マクロブロックが１６×８画素（水平１６画素、垂直８画素）の輝度信号とそれに対応する２つの色差信号から構成される２つのマクロブロック・パーティションで構成されていることを示す図である。この２つのマクロブロック・パーティションは縦に並べられている。ここでは、この構成を１６×８モードのマクロブロック・タイプと呼ぶ。
【００２８】
図２（ｃ）は、マクロブロックが８×１６画素（水平８画素、垂直１６画素）の輝度信号とそれに対応する２つの色差信号から構成される２つのマクロブロック・パーティションで構成されていることを示す図である。この２つのマクロブロック・パーティションは横に並べられている。ここでは、この構成を８×１６モードのマクロブロック・タイプと呼ぶ。
【００２９】
図２（ｄ）は、マクロブロックが８×８画素の輝度信号とそれに対応する２つの色差信号から構成される４つのマクロブロック・パーティションで構成されていることを示す図である。この４つのマクロブロック・パーティションは縦横２つずつ並べられている。この構成を８×８モードのマクロブロック・タイプと呼ぶ。なお、この８×８画素の輝度信号とそれに対応する２つの色差信号からなるマクロブロック・パーティションをサブマクロブロックと呼ぶ。
【００３０】
図２（ｅ）は、サブマクロブロックが８×８画素の輝度信号とそれに対応する２つの色差信号から構成される１つのサブマクロブロック・パーティションで構成されていることを示す図である。ここでは、この構成を８×８モードのサブマクロブロック・タイプと呼ぶ。
【００３１】
図２（ｆ）は、サブマクロブロックが８×４画素（水平８画素、垂直４画素）の輝度信号とそれに対応する２つの色差信号から構成される２つのサブマクロブロック・パーティションで構成されていることを示す図である。この２つのサブマクロブロック・パーティションは縦に並べられている。この構成を８×４モードのサブマクロブロック・タイプと呼ぶ。
【００３２】
図２（ｇ）は、サブマクロブロックが４×８画素（水平４画素、垂直８画素）の輝度信号とそれに対応する２つの色差信号から構成される２つのマクロブロック・パーティションで構成されていることを示す図である。この２つのマクロブロック・パーティションは横に並べられている。ここでは、この構成を４×８モードのサブマクロブロック・タイプと呼ぶ。
【００３３】
図２（ｈ）は、サブマクロブロックが４×４画素の輝度信号とそれに対応する２つの色差信号から構成される４つのサブマクロブロック・パーティションで構成されていることを示す図である。この４つのサブマクロブロック・パーティションは縦横２つずつ並べられている。ここでは、この構成を４×４モードのサブマクロブロック・タイプと呼ぶ。
【００３４】
ＡＶＣ／Ｈ．２６４符号化方式では、以上の動き補償ブロックサイズの中から、最適なものを切り替えて用いる仕組みが取り入れられている。まず、マクロブロック単位の動き補償ブロックサイズとして、１６×１６、１６×８、８×１６および８×８モードのマクロブロック・タイプの中からいずれかが選択される。８×８モードのマクロブロック・タイプが選択された場合、サブマクロブロック単位の動き補償ブロックサイズとして、８×８、８×４、４×８、４×４モードのサブマクロブロック・タイプの中からいずれかが選択される。
【００３５】
輝度信号は、選択されたサイズの画素数で動き補償される。色差信号は、色差フォーマットが４：２：０の場合、水平、垂直ともにその半分の画素数で動き補償される。このように、動き補償ブロックサイズの情報は、マクロブロック・タイプおよびサブマクロブロック・タイプと呼ばれるシンタックス要素で符号化される。シンタックスとは符号化ビット列の表現規則であり、シンタックス要素とは、シンタックスで伝送することが規定されている情報である。
【００３６】
１６×１６、１６×８、８×１６および８×８モードのいずれのマクロブロック・タイプでも、Ｌ０予測、Ｌ１予測の場合、マクロブロック・パーティションごとに１つの動きベクトルが符号化・復号される。すなわち、１６×１６モードのマクロブロック・タイプでは１つの動きベクトルが、１６×８および８×１６モードのマクロブロック・タイプでは２つの動きベクトルが、および８×８モードのマクロブロック・タイプでは４つの動きベクトルが、それぞれ符号化・復号される。
【００３７】
各マクロブロック・パーティションの輝度信号および色差信号の各画素は、そのマクロブロック・パーティションの１つの動きベクトルに応じて、動き補償される。すなわち、当該各画素は、同じ動きベクトルを用いて動き補償される。
【００３８】
図１に戻り、幾何学変換動き補償予測部１０３は、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の、動きベクトルおよび予測信号を生成する。より具体的には、幾何学変換動き補償予測部１０３は、対象ブロックを仮想的に複数の小ブロックに分割した場合の、小ブロックごとに代表画素を設定して、それぞれの代表画素の動きベクトルを検出する。その際、幾何学変換動き補償予測部１０３は、小ブロックの略中心または略重心の画素を代表画素に設定する。
【００３９】
また、幾何学変換動き補償予測部１０３は、複数の代表画素の動きベクトルから内挿および外挿の少なくとも一方を用いて、対象ブロックの複数の代表画素以外の画素の動きベクトルを算出する。なお、本発明の実施の形態に係る以下の説明においては、内挿・外挿との表記を内挿および外挿の少なくともいずれか一方のという意味で用いる。幾何学変換動き補償予測部１０３は、対象ブロックの４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モード（後述する図３（ａ）参照）と、対象ブロックの縦方向における２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モード（後述する図３（ｂ）参照）と、対象ブロックの横方向における２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モード（後述する図３（ｃ）参照）を実行することができる。ここで、第１モードは対象ブロックを仮想的に十字に４等分して４つの正方形の小ブロックに分割した場合の、４つの小ブロックごとの中心または略中心を代表画素とし、第２モードは対象ブロックを仮想的に縦に２等分して２つの横長長方形の小ブロックに分割した場合の、２つの小ブロックごとの中心または略中心を代表画素とし、第３モードは対象ブロックを仮想的に横に２等分して２つの縦長長方形の小ブロックに分割した場合の、２つの小ブロックごとの中心または略中心を代表画素とする。
【００４０】
ここで、本発明の実施の形態に係る説明においては上記対象ブロックを１６×１６画素のマクロブロックとして説明するが、当該対象ブロックのサイズは１６×１６画素に限定されるものではなく、８×８画素のサブマクロブロックであってもよいし、３２×３２画素、４８×４８画素、６４×６４画素等のブロックであってもよい。上記小ブロックがマクロブロック・パーティションとして説明するが、それに限定されるものではなく、上記ブロックがサブマクロブロック、上記小ブロックがサブマクロブロック・パーティションであってもよい。
【００４１】
予測方法決定部１０４は、幾何学変換動き補償予測部１０３による予測方法として、上述した第１モード、第２モードおよび第３モードのいずれかを採用することができる。予測方法決定部１０４の詳細な処理については後述する。
【００４２】
以下、幾何学変換動き補償予測部１０３について、より具体的に説明する。幾何学変換動き補償予測部１０３は、ＡＶＣ／Ｈ.２６４方式などに規定された既存の平行移動による動き補償予測と異なり、平行移動に加えて、拡大・縮小／回転などを含む変形を伴う幾何学変換による動き補償予測を行う。
【００４３】
本実施の形態に係る幾何学変換による動き補償予測では、マクロブロック、マクロブロック・パーティション、サブマクロブロックの輝度信号、色差信号の各画素をそれぞれ同じ動きベクトルで動き補償するのではなく、画素ごとに異なる動きベクトルを作成して動き補償を行う。幾何学変換動き補償予測の第１モードは８×８モードのマクロブロック・タイプに、第２モードは１６×８のマクロブロック・タイプに、第３モードは８×１６のマクロブロック・タイプに対応する。つまり、幾何学変換による動き補償予測ではマクロブロック・タイプは、画素ブロックの形状により規定されるのではなく、動きベクトルの数、代表画素の位置および動きベクトルの内挿・外挿演算方法により規定される。非代表画素の動きベクトルは、代表画素の動きベクトルにより内挿および外挿の少なくともいずれか一方により算出される。
【００４４】
幾何学変換動き補償予測部１０３は、サブマクロブロックを含む各マクロブロック・パーティションの中心または中心近傍の画素を代表画素に選定し、その動きベクトルを求める。マクロブロック・パーティションの場合、その縦横の画素数が偶数であるため、厳密な中心画素は存在しない。そこで、中心に位置する４画素のうちの特定の１画素を代表画素に設定するか、補間演算により厳密な中心画素の座標を求めて仮想的な画素を代表画素に設定する。
【００４５】
幾何学変換動き補償予測部１０３は、各マクロブロック・パーティションの代表画素の動きベクトルとして、オプティカルフロー法等により画素単位で算出した動きベクトルを用いてもよいし、画像のエッジやコーナー等の信頼性の高いと判断できる特徴点の動きベクトルから内挿・外挿演算により補正してもよい。平行移動動き補償予測部１０２により生成された、対応するマクロブロック・パーティションの動きベクトルを用いてもよい。なお、対応するマクロブロック・パーティションの動きベクトルを用いる場合、その動きベクトルの値を当該代表画素にあてはめて、その動きベクトルの値を増加方向および減少方向に調整しながら検証することにより、動きベクトルの値を補正してもよい。
【００４６】
つぎに、幾何学変換動き補償予測部１０３は、代表画素の動きベクトルからマクロブロック内の非代表画素の動きベクトルを線形内挿・外挿（本実施の形態では、バイリニア内挿・外挿）により算出する。
【００４７】
縦方向の２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モードの場合、幾何学変換動き補償予測部１０３は、垂直方向の２つの代表画素ｅ、ｆの動きベクトルから、これら２点を結ぶ直線上の画素の動きベクトルを内挿および外挿の少なくともいずれか一方により算出する。そして、その他の画素の動きベクトルを、線形内挿・外挿された各画素の動きベクトルを水平方向にそのまま当てはめる。動きベクトルをそのまま当てはめた演算も内挿・外挿に含むものとする。横方向の２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モードの場合、幾何学変換動き補償予測部１０３は、水平方向の２つの代表画素の動きベクトルから、これら２点を結ぶ直線上の画素の動きベクトルを内挿および外挿の少なくともいずれか一方により算出し、その他の画素の動きベクトルを、線形内挿・外挿された各画素の動きベクトルを垂直方向にそのまま当てはめる。
【００４８】
４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モードの場合、幾何学変換動き補償予測部１０３は、水平方向及び垂直方向の双方に内挿および外挿の少なくともいずれか一方により非代表画素の動きベクトルを算出する。後述する方法により水平方向および垂直方向の双方に一度に内挿・外挿してもよいし、水平方向の２つの代表画素の動きベクトルから、これら２点を結ぶ直線上の画素の動きベクトルを内挿・外挿することにより非代表画素の動きベクトルを算出し、その他の画素の動きベクトルを、既に算出された各画素の動きベクトルを用いて、さらに垂直方向に内挿・外挿することにより算出してもよい。
【００４９】
なお、縦方向の２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モードにおいては、代表画素ｅの動きベクトルの値を代表画素ａ、ｂの動きベクトルの値に設定し、代表画素ｆの動きベクトルの値を代表画素ｃ、ｄの動きベクトルの値に設定する。そして、４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モードと同様に、非代表画素の動きベクトルを算出することができる。
【００５０】
同様に、横方向の２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モードにおいては、代表画素ｇの動きベクトルの値を代表画素ａ、ｃの動きベクトルの値に設定し、第２代表画素ｈの動きベクトルの値を代表画素ｂ、ｄの動きベクトルの値に設定する。そして、４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モードと同様に、非代表画素の動きベクトルを算出することができる。
【００５１】
幾何学変換動き補償予測部１０３は、算出された画素ごとの動きベクトルを用いて、画素ごとに動き補償を行う。以上の説明では、マクロブロックに含まれる各画素の動きベクトルを算出する例を説明したが、サブマクロブロックに含まれる各画素の動きベクトルも同様に算出することができる。このような処理により、拡大・縮小／回転などを含む変形を表現することができ、幾何学変換と等価の処理を実現することができる。
【００５２】
この画素単位の動きベクトルの算出処理および各画素の動き補償処理を、規定された複数のモードで行う。複数のモードはそれぞれ、参照インデックス、動き補償ブロックのサイズ、Ｌ０／Ｌ１予測などが異なる。なお、Ｌ０／Ｌ１予測はＢスライスでのみ選択可能である。
【００５３】
幾何学変換動き補償予測部１０３は、それぞれのモードにて動き補償予測を行い、それぞれのモードにおける予測信号（より具体的には、動き補償予測ブロック信号）および動きベクトルを、予測方法決定部１０４に供給する。
【００５４】
以下、幾何学変換動き補償予測における、各画素の動きベクトルの算出方法について具体例を挙げながら説明する。
図３（ａ）は、対象ブロックの４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モードのマクロブロック・タイプの各画素の動きベクトルを算出する方法を説明するための図である。図３（ａ）では、代表画素を黒丸、非代表画素を白丸で表し、代表画素を、各マクロブロック・パーティションの中心近傍である画素ａ（３,３）、画素ｂ（１１,３）、画素ｃ（３,１１）および画素ｄ（１１,１１）に設定している。ここでは、各画素の座標を（ｉ，ｊ）で表し、水平方向の座標を１画素単位でｉで表し、垂直方向の座標を１画素単位でｊで表している。マクロブロック中の最も左上の画素を原点（０，０）とし、右方向、及び下方向を正とする。
【００５５】
まず、これら画素ａ、画素ｂ、画素ｃおよび画素ｄの動きベクトルが割り当てられ、つぎに、それ以外の画素の動きベクトルが、線形内挿・外挿により算出される。
【００５６】
４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モードでは、これら画素ａ、画素ｂ、画素ｃおよび画素ｄの動きベクトルが割り当てられる。２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モードでは、これら画素ｅおよび画素ｆの動きベクトルが割り当てられ、画素ｅの動きベクトルは画素ａ、ｂの動きベクトルでもあり、画素ｆの動きベクトルは画素ｃ、ｄの動きベクトルでもある。２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モードでは、これら画素ｇおよび画素ｈの動きベクトルが割り当てられ、画素ｇの動きベクトルは画素ａ、ｃの動きベクトルでもあり、画素ｈの動きベクトルは画素ｂ、ｄの動きベクトルでもある。
【００５７】
次に、４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルＶａ、Ｖｂ、Ｖｃ、Ｖｄからそれ以外の画素の動きベクトルＶ（ｉ，ｊ）が、線形内挿・外挿により算出される。
Ｖ（ｉ，ｊ）＝｛（１５−ｉ−３）（１５−ｊ−３）Ｖａ＋ｉ（１５−ｊ−３）Ｖｂ＋（１５−ｉ−３）（ｊ−３）・Ｖｃ＋（ｉ−３）・（ｊ−３）・Ｖｄ｝  ・・・式（１）
以上により、第１モード、第２モード、第３モードでの各画素毎の動きベクトルを算出する。なお、下記の方法により算出することもできる。
【００５８】
画素ａの動きベクトルＶａ＝Ｖ（３，３）、画素ｂの動きベクトルＶｂ＝Ｖ（１１，３）、画素ｃの動きベクトルＶｃ＝Ｖ（３，１１）、および画素ｄの動きベクトルＶｄ＝Ｖ（１１，１１）とすると、画素ａと画素ｂを通るライン上の各画素の動きベクトルＶ（ｉ，３）は、下記式（２）により算出される。
Ｖ（ｉ，３）＝Ｖａ＋（Ｖｂ−Ｖａ）＊（ｉ−３）／８  ・・・式（２）
【００５９】
同様に、画素ｃと画素ｄを通るライン上の各画素の動きベクトルＶ（ｉ，１１）は、下記式（３）により算出される。
Ｖ（ｉ，１１）＝Ｖｃ＋（Ｖｄ−Ｖｃ）＊（ｉ−３）／８  ・・・式（３）
【００６０】
さらに、残りの画素の動きベクトルＶ（ｉ，ｊ）は、下記式（４）により算出される。
Ｖ（ｉ，ｊ）＝Ｖ（ｉ，３）＋（Ｖ（ｉ，１１）−Ｖ（ｉ，３））＊（ｊ−３）／８    ・・・式（４）
【００６１】
以上により、第１モード、第２モードおよび第３モードにおける各画素の動きベクトルを算出することができる。なお、第２モードおよび第３モードでは下記の方法により算出することもできる。
【００６２】
図３（ｂ）は、対象ブロックの２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モードのマクロブロック・タイプの各画素の動きベクトルを算出する方法を説明するための図である。図３（ｂ）では、代表画素を、各マクロブロック・パーティションの中心近傍である画素ｅ（７,３）および画素ｆ（７,１１）に設定している。
【００６３】
まず、これら画素ｅおよび画素ｆの動きベクトルが割り当てられ、つぎに、それ以外の画素の動きベクトルが、線形内挿・外挿により算出される。
【００６４】
画素ｅの動きベクトルＶｅ＝Ｖ（７，３）、画素ｆの動きベクトルをＶｆ＝Ｖ（７，１１）とすると、画素ｅと画素ｆを通るライン上の各画素の動きベクトルＶ（７，ｊ）は、下記式（５）により算出される。
Ｖ（７，ｊ）＝Ｖｅ＋（Ｖｆ−Ｖｅ）＊（ｊ−３）／８  ・・・式（５）
【００６５】
つぎに下記式（６）に示すように、式（５）により算出された動きベクトルＶ（７，ｊ）の値を水平方向に拡張して、動きベクトルＶ（７，ｊ）の値を残りの画素の動きベクトルＶ（ｉ，ｊ）に代入する。
Ｖ（ｉ，ｊ）＝Ｖ（７，ｊ）  ・・・式（６）
【００６６】
残りの画素の動きベクトルＶ（ｉ，ｊ）は、下記式（７）により算出されてもよい。
Ｖ（ｉ，ｊ）＝Ｖｅ＋（Ｖｆ−Ｖｅ）＊（ｊ−３）／８  ・・・式（７）
【００６７】
図３（ｃ）は、対象ブロックの横方向における２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モードのマクロブロック・タイプの各画素の動きベクトルを算出する方法を説明するための図である。図３（ｃ）では、代表画素を、各マクロブロック・パーティションの中心近傍である画素ｇ（３,７）および画素ｈ（１１,７）に設定している。
【００６８】
まず、これら画素ｇおよび画素ｈの動きベクトルが割り当てられ、つぎに、それ以外の画素の動きベクトルが、線形内挿・外挿により算出される。
【００６９】
画素ｇの動きベクトルＶｇ＝Ｖ（３，７）、画素ｈの動きベクトルＶｈ＝Ｖ（１１，７）とすると、画素ｇと画素ｈを通るライン上の各画素の動きベクトルＶ（ｉ，７）は、下記式（８）により算出される。
Ｖ（ｉ，７）＝Ｖｇ＋（Ｖｈ−Ｖｇ）＊（ｉ−３）／８  ・・・式（８）
【００７０】
つぎに下記式（９）に示すように、式（８）により算出された動きベクトルＶ（ｉ，７）の値を垂直方向に拡張して、動きベクトルＶ（ｉ，７）の値を残りの画素の動きベクトルＶ（ｉ，ｊ）に代入する。
Ｖ（ｉ，ｊ）＝Ｖ（ｉ，７）  ・・・式（９）
【００７１】
残りの画素の動きベクトルＶ（ｉ，ｊ）は、下記式（１０）により算出されてもよい。
Ｖ（ｉ，ｊ）  ＝Ｖｇ＋（Ｖｈ−Ｖｇ）＊（ｉ−３）／８  ・・・式（１０）
【００７２】
幾何学変換動き補償予測部１０３は、算出された各画素の動きベクトルに応じて各画素を動き補償予測する。より具体的には、各画素の動きベクトルが指し示す参照画像の画素から補間信号を生成することにより動き補償予測する。なお、各画素の動きベクトルの精度、演算過程で必要となる数値のまるめ方などは、どの復号装置で復号しても同じ値になるように規定する必要がある。なお、動きベクトルにより指定される予測画素の座標が小数点以下で表される場合、動き補償の際に周囲の画素から当該画素を補間する。その補間方法には４〜６タップのフィルタリングや線形補間などを用いることができる。
【００７３】
４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モードでは、４つの動きベクトルで拡大・縮小、回転、平行移動など、第２モード、第３モードでは表現できない変形を表すことができる。
【００７４】
対象ブロックの縦方向における２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モードでは、２つの動きベクトルで平行移動に加えて垂直方向に均一な変形を表すことができる。変形の表現力は第１モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。対象ブロックの横方向における２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モードでは、２つの動きベクトルで平行移動に加えて水平方向に均一な変形を表すことができる。変形の表現力は第１モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。
【００７５】
図１に戻り、予測方法決定部１０４は、対象画像内の対象ブロックごとに、平行移動動き補償予測部１０２による予測方法と、幾何学変換動き補償予測部１０３による予測方法とのいずれを採用するか決定する。より具体的には、いずれの予測方法の、いずれのモードを採用するかを決定する。以下、モードの選択を含めて予測方法の選択という。
【００７６】
すなわち、予測方法決定部１０４は、平行移動による動き補償予測または幾何学変換による動き補償予測のどちらを、どの参照画像を用いて、どの画素ブロック単位で符号化するかを選択することにより、予測方法を決定する。幾何学変換による動き補償予測の場合は、第１モード、第２モードおよび第３モードのいずれかを選択する。その際、それらの項目の、どの組み合わせが、最も効率的な符号化を実現できる予測方法であるかを判定することにより、予測方法を決定する。予測方法を決定する基準として、たとえば、符号量と歪の関係を考慮したレート歪理論を用いることができる。より具体的には、マクロブロックの符号量（すなわち、予測方法情報、動きベクトルおよび予測信号の合計符号量）を算出するとともに、符号化対象画像と復号画像の差から歪量を算出し、当該符号量および当該歪量を入力変数とするレート歪関数を最小化する予測方法を選択する。なお、予測方法はマクロブロック・タイプで記述される。平行移動動き補償の場合、１６×１６／１６×８／８×１６／８×８モードのいずれを用いるかに関してマクロブロック・タイプで記述され、幾何学変換動き補償の場合、第１モード、第２モードおよび第３モードのいずれを用いるかに関してマクロブロック・タイプで記述される。幾何学変換動き補償予測の第１モードは４本の動きベクトルを符号化する８×８モードのマクロブロック・タイプに、第２モードは２本の動きベクトルを符号化する１６×８のマクロブロック・タイプに、第３モードは同じく２本の動きベクトルを符号化する８×１６のマクロブロック・タイプとして記述される。
【００７７】
予測方法決定部１０４は、採用したマクロブロック・タイプで記述される予測方法情報およびその予測方法により生成された動きベクトルを第１符号化ビット列生成部１０７、及び第２符号化ビット列生成部１０８に、採用した予測方法に応じた動きベクトルを第２符号化ビット列生成部１０８に供給する。それとともに、予測方法決定部１０４は、採用した予測方法により生成された予測信号を予測誤差信号生成部１０５に供給する。
【００７８】
予測誤差信号生成部１０５は、予測方法決定部１０４により採用された予測方法で生成された予測信号と、対象ブロックの画像信号との差分を算出し、予測誤差信号を生成する。より具体的には、予測誤差信号生成部１０５は、画像バッファ１０１から供給される符号化対象の画像信号から、予測方法決定部１０４から供給される予測信号を減算することにより、予測誤差信号を生成し、予測誤差信号符号化部１０６に供給する。
【００７９】
符号化部１５０は、予測方法決定部１０４により採用された予測方法を特定するための予測方法情報、当該予測方法により生成された動きベクトル、および予測誤差信号生成部１０５により生成された予測誤差信号を符号化する。符号化部１５０の第２符号化ビット列生成部１０８は、対象ブロックの動きベクトルを符号化する際、隣接ブロックの動きベクトルを参照して予測符号化する。その際、当該隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、両者を共通に扱い、参照すべき隣接ブロックの動きベクトルを決定する。したがって、対象ブロックの動きベクトルと隣接ブロックの動きベクトルとの参照関係は、平行移動動き補償予測方法が採用されたブロックの動きベクトルと、幾何学変換動き補償予測が採用された動きベクトルとの間でも成立する。すなわち、動きベクトルの予測符号化において、両者が混在している関係になる。
【００８０】
ここで、幾何学変換による動き補償予測が採用された対象ブロックでは、その代表画素の動きベクトルが予測符号化の対象となる。たとえば、平行移動による動き補償予測が採用された対象ブロックの動きベクトルを、幾何学変換による動き補償予測が採用された隣接ブロックの動きベクトルを参照して予測符号化する場合、その隣接ブロックの代表画素の動きベクトルを参照する。
【００８１】
以下、符号化部１５０の処理を詳細に説明する。予測誤差信号符号化部１０６は、予測誤差信号生成部１０５から供給される予測誤差信号に対して、直交変換、量子化などの圧縮符号化処理を行い、符号化された予測誤差信号を生成し、第３符号化ビット列生成部１０９および予測誤差信号復号部１１０に供給する。
【００８２】
第１符号化ビット列生成部１０７は、予測方法決定部１０４から供給されるマクロブロック・タイプで記述される予測方法情報を、算術符号化などのエントロピー符号化により符号化し、符号化ビット列を生成する。なお、予測方法情報に含めるべき、予測ブロックサイズ、Ｌ０／Ｌ１予測の区別なども組み合わせてマクロブロック・タイプとして符号化する。また、予測方法情報に含めるべき、平行移動による動き補償予測と幾何学変換による動き補償予測のいずれを用いるかを識別するための情報に関しては、以下の記述方法を用いることができる。例えば、マクロブロックタイプの符号化方法は共通化して平行移動による動き補償予測と幾何学変換による動き補償予測を判別するためのシンタックス要素を別途に用意して記述してもよいし、他のマクロブロック・タイプとして符号化する情報と組み合わせることで、マクロブロック・タイプを拡張して記述してもよい。
【００８３】
第２符号化ビット列生成部１０８は、予測方法決定部１０４から供給される動きベクトルを符号化し、符号化ビット列を生成する。その際、動きベクトルを予測符号化する。対象ブロックの動きベクトルを符号化する際、すでに符号化または復号済みの周囲の隣接ブロックの動きベクトルとの相関を利用して、当該隣接ブロックから動きベクトルを予測することにより予測ベクトルを算出する。なお、周囲の隣接ブロックの動きベクトルとの相関は、予測方法決定部１０４から供給される予測方法情報に基づき特定できる。そして、この予測ベクトルと対象ブロックまたは対象画素の動きベクトルとの差分である差分ベクトルを算出し、その差分ベクトルを符号化することにより、動きベクトルの符号量を削減する。ここで、幾何学変換による動き補償予測が採用された対象ブロックでは、その代表画素の動きベクトルが符号化の対象となる。
【００８４】
図４は、動きベクトルの予測方法を説明するための図である。図４（ａ）は、パーティションが設定されていないマクロブロック間において、動きベクトルを予測する例を示す。図４（ｂ）は、パーティションが設定されているマクロブロック間において、動きベクトルを予測する例を示す。図４（ｃ）は、１６×８画素のマクロブロックにおいて、動きベクトルを予測する例を示す。図４（ｄ）は、８×１６画素のマクロブロックにおいて、動きベクトルを予測する例を示す。以下、図４（ａ）〜（ｄ）を参照して、ＡＶＣ／Ｈ．２６４方式などに採用されている動きベクトルの予測方法について説明する。この動きベクトルの予測方法は、周囲の隣接ブロックの動きベクトルの中央値を用いて、対象ブロックの動きベクトルを予測する。
【００８５】
図４（ａ）〜（ｄ）にて、グレーで塗られているブロックの動きベクトルが符号化対象である。図４（ａ）にて、対象ブロックの動きベクトルを、その対象ブロックの左隣のブロックＡ、上隣のブロックＢおよび右斜上隣のブロックＣの３つの動きベクトルを用いて予測する。より具体的には、それら３つの動きベクトルから水平成分および垂直成分それぞれについて中央値をとって予測ベクトルとする。なお、Ｂピクチャーにおいては、Ｌ０予測のための動きベクトルとＬ１予測のための動きベクトルをそれぞれ別々に扱う。その対象ブロックの左隣のブロックＡ、上隣のブロックＢおよび右斜上隣のブロックＣの３つのＬ０予測のための動きベクトルを用いて予測することにより、対象ブロックのＬ０予測のための予測ベクトルを算出する。同様に、その対象ブロックの左隣のブロックＡ、上隣のブロックＢおよび右斜上隣のブロックＣの３つのＬ１予測のための動きベクトルを用いて予測することにより、対象ブロックのＬ１予測のための予測ベクトルを算出する。ここで、上隣のブロックＢおよび右斜上隣のブロックＣが共に利用できず、ブロックＡだけが利用できる場合、ブロックＡの動きベクトルを予測ベクトルとして採用する。また、左隣のブロックＡ、上隣のブロックＢ、右斜上隣のブロックＣの参照インデックスのうちひとつだけが符号化対象ブロックの参照インデックスと値が等しい（参照ピクチャが等しい）場合、そのブロックの動きベクトルを予測に用いる。
【００８６】
図４（ｂ）に示すように、マクロブロックにパーティションが設定されている場合、マクロブロックの小ブロックごとに動きベクトルが異なる。その場合、対象ブロックの左隣のブロックでは、対象ブロックと接している小ブロックのうち、最も上の小ブロックＡの動きベクトルを採用する。上隣のブロックでは、対象ブロックと接している小ブロックのうち、最も左のブロックＢを採用する。右斜上隣のブロックでは、最も左下の小ブロックＣを採用する。
【００８７】
図４（ｃ）に示すように、符号化するブロックが８×１６の場合、３つのブロックの動きベクトルの中央値ではなく、左のブロックは左隣のブロックＡ、右のブロックは右斜上隣のブロックＣの動きベクトルを予測ベクトルとして採用する。また、図４（ｄ）に示すように、符号化するブロックが１６×８の場合も、３つのブロックの動きベクトルの中央値ではなく、上のブロックは上隣のブロックＢ、下のブロックは左隣のブロックＡの動きベクトルを予測ベクトルとして採用する。
【００８８】
なお、図４に示す動きベクトルの予測方法は一例であり、それに限られるものではない。符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、他の方法を用いることもできる。たとえば、隣接ブロックの位置および数が異なっていてもよい。また、隣接ブロックの複数の動きベクトルの中央値ではなく、平均値を用いてもよい。規定の条件や優先順位を設けて、単独の隣接ブロックの動きベクトルをそのまま用いてもよい。また、隣接ブロックは対象ブロックと必ずしも接していなくてもよい。また、図４ではマクロブロック単位の動きベクトルを予測する例を説明したが、サブマクロブロック単位の動きベクトルを予測する場合も、同様に処理することができる。
【００８９】
また、上記図４において説明した動きベクトルの予測方法において、隣接画素の動きベクトルをそのまま候補とするのではなく、スケーリングした動きベクトル値Ｖａｂｃｄ’を予測ベクトルの算出に用いてもよい。スケーリングした動きベクトル値Ｖａｂｃｄ’は、符号化対象画像と当該符号化対象ブロックの動きベクトルが指し示す参照画像との間の距離（時間）Ｔ１、及び符号化対象画像と隣接ブロックまたは隣接画素の動きベクトルＶａｂｃｄが指し示す参照画像との距離（時間）Ｔ２との違いに応じてスケーリングした動きベクトル値である。スケーリングした動きベクトル値Ｖａｂｃｄ’は下記式（１１）により算出される。
Ｖａｂｃｄ’＝Ｖａｂｃｄ＊（Ｔ１／Ｔ２）  ・・・式（１１）
【００９０】
符号化対象ブロックの動き補償予測で参照する参照画像と、隣接ブロックの動き補償予測で参照する参照画像が異なる場合、互いの動きベクトルの大きさに差が生じるため、そのミスマッチを解消するために動きベクトルをスケーリングする。例えば、物体が変形せず、等速運動をしていれば、動きベクトルの大きさはフレーム間隔が長くなるほど大きくなる。符号化対象画像−参照画像間のフレーム間隔Ｔ１、Ｔ２の比率に応じて隣接ブロック（隣接画素）の動きベクトルＶａｂｃｄをスケーリングしてＶａｂｃｄ’を算出する。
【００９１】
図５は、動きベクトル値のスケーリング処理の一例を説明するための図である。図５では、符号化対象画像の符号化対象ブロックの参照画像が画像Ｒｅｆ２であり、隣接ブロック（隣接画素）の動き補償予測の参照画像が画像Ｒｅｆ３である例を示している。図５ではＴ１：Ｔ２＝２：３であるから、画像Ｒｅｆ３を参照している隣接ブロック（隣接画素）の動きベクトルを２／３にスケーリングする。これにより、仮に隣接ブロック（隣接画素）が画像Ｒｅｆ２を参照して動き補償予測をした場合の動きベクトルの値に近くなり、結果的に画像Ｒｅｆ２を参照する符号化対象ブロックの動きベクトルの値に近くなる。図５の例では、隣接ブロックの動き補償予測の際の参加画像が画像Ｒｅｆ３でその動きベクトルの値が（２４，−９）の場合、それを２／３にスケーリングした（１６，６）を、符号化対象ブロックが参照する画像Ｒｅｆ２の動きベクトルの値とするとよい。
【００９２】
図１に戻り、第２符号化ビット列生成部１０８は、予測ベクトルと対象ブロックの動きベクトルとの差分を計算することにより求めた差分ベクトルを算術符号化などのエントロピー符号化により符号化する。その際、平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出する。したがって、幾何学変換による動き補償予測で用いる動きベクトルから、平行移動による動き補償予測で用いる動きベクトルを予測して符号化したり、反対に、平行移動による動き補償予測で用いる動きベクトルから、幾何学変換による動き補償予測で用いる動きベクトルを予測して符号化する場合も発生する。平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出することにより、差分ベクトルの符号化効率を向上させる効果がある。
【００９３】
上述したように、幾何学変換による動き補償予測で符号化・復号の対象となる動きベクトルは、マクロブロック・パーティションまたはサブマクロブロック・パーティションの、各中心に位置する画素の動きベクトルに設定される。各中心に位置する画素の動きベクトルは、各パーティションに含まれる全画素の動きベクトルの平均値とみなすことができ、平行移動による動き補償予測で用いる動きベクトルと強い相関を持つ。したがって、幾何学変換による動き補償予測で用いる動きベクトルと、平行移動による動き補償予測で用いる動きベクトルとの差分ベクトルも小さな値になる可能性が高い。
【００９４】
第３符号化ビット列生成部１０９は、予測誤差信号符号化部１０６から供給される符号化された予測誤差信号を、算術符号化などのエントロピー符号化を用いて順次符号化し、符号化ビット列を生成する。
【００９５】
第１符号化ビット列生成部１０７、第２符号化ビット列生成部１０８および第３符号化ビット列生成部１０９により生成された符号化ビット列は、予測方法情報、動きベクトル、予測誤差信号以外の情報が符号化されたその他の符号化ビット列とともに、出力スイッチ１１３を介して多重化され、符号化ストリームが生成される。
【００９６】
また、予測誤差信号復号部１１０は、予測誤差信号符号化部１０６により符号化された予測誤差信号に対して、逆量子化、逆直交変換などの伸張復号処理を行い、当該予測誤差信号を復号する。予測誤差信号復号部１１０は、復号した予測誤差信号を復号画像信号生成部１１１に供給する。復号画像信号生成部１１１は、予測誤差信号符号化部１０６から供給される予測誤差信号と、予測方法決定部１０４から供給される予測信号を重畳して、復号画像信号を生成する。復号画像信号生成部１１１は、その復号画像信号を画素ブロック単位で復号画像バッファ１１２に順次格納する。この復号画像バッファ１１２に格納される復号画像は、必要に応じて、符号化順序で後続する画像を動き補償予測する際の参照画像として利用される。
【００９７】
図６は、本発明の実施の形態１に係る画像符号化装置１００における、マクロブロックの符号化処理手順を示すフローチャートである。まず、平行移動動き補償予測部１０２および幾何学変換動き補償予測部１０３は、画像バッファ１０１からマクロブロック信号を取り出す（Ｓ１０１）。
【００９８】
平行移動動き補償予測部１０２は、画像バッファ１０１から供給されるマクロブロック信号と、復号画像バッファ１１２から供給される参照画像信号との間で、平行移動による動き補償予測を行う（Ｓ１０２）。この平行移動による動き補償予測をモードごとに行う。幾何学変換動き補償予測部１０３は、画像バッファ１０１から供給されるマクロブロック信号と、復号画像バッファ１１２から供給される参照画像信号との間で、幾何学変換による動き補償予測を行う（Ｓ１０３）。この幾何学変換による動き補償予測をモードごとに行う。
【００９９】
予測方法決定部１０４は、平行移動による動き補償予測方法と、幾何学変換による動き補償予測とのいずれを採用するか決定する（Ｓ１０４）。その際、どのモードを採用するかも決定する。予測誤差信号生成部１０５は、画像バッファ１０１から供給される対象画像信号から、予測方法決定部１０４から供給される予測信号を減算し、予測誤差信号を生成する（Ｓ１０５）。予測誤差信号符号化部１０６は、当該予測誤差信号を符号化する（Ｓ１０６）。
【０１００】
第１符号化ビット列生成部１０７は、予測方法決定部１０４から供給される予測方法情報を符号化し、符号化ビット列を生成する（Ｓ１０７）。第２符号化ビット列生成部１０８は、予測方法決定部１０４から供給される動きベクトルを符号化し、符号化ビット列を生成する（Ｓ１０８）。第３符号化ビット列生成部１０９は、予測誤差信号符号化部１０６により符号化された予測誤差信号を算術符号化等を用いてエントロピー符号化し、符号化ビット列を生成する（Ｓ１０９）。
【０１０１】
予測誤差信号復号部１１０は、予測誤差信号符号化部１０６により符号化された予測誤差信号を復号する（Ｓ１１０）。復号画像信号生成部１１１は、予測誤差信号復号部１１０により復号された予測誤差信号と、予測方法決定部１０４から供給される予測信号とを重畳して、復号画像信号を生成する（Ｓ１１１）。復号画像信号生成部１１１は、生成した復号画像信号を復号画像バッファ１１２に蓄積する（Ｓ１１２）。
【０１０２】
以上説明したように実施の形態１によれば、幾何学変換による動き補償予測を使用する画像符号化方式にて、符号量の圧縮効率を向上させることができる。すなわち、幾何学変換による動き補償予測を使用する動きベクトルを予測符号化することにより、符号量を削減することができる。また、平行移動による動き補償予測と幾何学変換による動き補償予測とを併用すれば、符号量の圧縮効率をさらに向上させることができる。その際、平行移動による動き補償予測に係る動きベクトルと、幾何学変換による動き補償予測に係る動きベクトルの符号化方法を共通化することにより、これら２つの予測方法が混在しても、既存の動きベクトルの予測符号化方法をそのまま転用することができる。
【０１０３】
また、幾何学変換による動き補償予測方法が採用された画素ブロックでは、その画素ブロックを分割したパーティションの中心またはその中心近傍の画素の動きベクトルが、その画素ブロックの動きベクトルとして扱われる。各中心に位置する画素の動きベクトルは、各パーティションに含まれる全画素の動きベクトルの平均値とみなすことができる。したがって、その画素ブロックに隣接する、平行移動による動き補償予測方法が採用された画素ブロックの動きベクトルとの相関も高くなる。よって、平行移動による動き補償予測と幾何学変換による動き補償予測を併用しても、動きベクトルの符号量の増大を抑制することができる。
【０１０４】
また、本実施の形態に係る幾何学変換による動き補償予測は、８×８モードのマクロブロック・タイプ（このタイプでは、動きベクトルが４つ生成される）にも、８×１６モードおよび１６×８モードのマクロブロック・タイプ（これらのタイプでは、動きベクトルが２つ生成される）にも、対応することができる。同様に、４×４モードのサブマクロブロック・タイプ（このタイプでは、動きベクトルが４つ生成される）にも、４×８モードおよび８×４モードのサブマクロブロック・タイプ（これらのタイプでは、動きベクトルが２つ生成される）にも、対応することができる。このように、ＡＶＣ／Ｈ．２６４などで採用されているマクロブロック・パーティションおよびサブマクロブロック・パーティションにすべて対応し、既存の符号化方式との調和性および互換性が高い。したがって、導入コストも抑制することができる。
【０１０５】
図７は、本発明の実施の形態２に係る画像復号装置２００の構成を示すブロック図である。当該画像復号装置２００は、実施の形態１に係る画像符号化装置１００により生成された符号化ストリームを復号する。当該符号化ストリームにおいて、上述したように、平行移動による動き補償予測と幾何学変換による動き補償予測が併用されている場合もあるし、幾何学変換による動き補償予測が単独で使用されている場合もある。なお、イントラ符号化については考慮していない。
【０１０６】
画像復号装置２００は、入力スイッチ２０９、復号部２５０、平行移動動き補償予測部２０４、幾何学変換動き補償予測部２０５、復号画像信号生成部２０７、復号画像バッファ２０８、切替制御部２１４、第１予測部スイッチ２１０、第２予測部スイッチ２１１、第３予測部スイッチ２１２および第４予測部スイッチ２１３を備える。復号部２５０は、第１符号化ビット列復号部２０１、第２符号化ビット列復号部２０２、第３符号化ビット列復号部２０３および予測誤差信号復号部２０６を含む。
【０１０７】
これらの構成は、ハードウェア的には、任意のプロセッサ、メモリ、その他のＬＳＩで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【０１０８】
復号部２５０は、符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する。上述したように、符号化ストリームには差分ベクトルが符号化されている。差分ベクトルは、対象ブロックの動きベクトルと、その隣接ブロックまたはその隣接画素の動きベクトルから予測された予測ベクトルとの差分である。復号部２５０は、動きベクトルを復号する際、当該隣接ブロックまたは当該隣接画素の動きベクトルから予測ベクトルを算出し、当該予測ベクトルに、復号された差分ベクトルを加算することにより、予測符号化された対象ブロックの動きベクトルを復号する。上述したように、対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されている。復号部２５０は、動きベクトルを復号する際、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号する。なお、幾何学変換動き補償の場合、対象ブロックの動きベクトルが代表画素の動きベクトルとなる。
【０１０９】
平行移動動き補償予測部２０４は、対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する。幾何学変換動き補償予測部２０５は、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する。
【０１１０】
上述したように、上記対象ブロックは、複数の小ブロックに分割され、小ブロックごとに代表画素が選定されている。当該代表画素は、当該小ブロックの略中心または略重心の画素に選定されており、上記符号化ストリームには、それぞれの代表画素の動きベクトルが含まれる。幾何学変換動き補償予測部２０５は、対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の動きベクトルを用いた内挿および外挿の少なくともいずれか一方により算出する。たとえば、代表画素以外の画素の動きベクトルは、上述した式（１）〜式（１０）に示した演算式により算出される。
【０１１１】
切替制御部２１４は、復号部２５０により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、平行移動動き補償予測部２０４による予測方法と、幾何学変換動き補償予測部２０５による予測方法とのいずれを用いるか指定する。
【０１１２】
その際、切替制御部２１４は、どのモードが指定されているかも指定する。たとえば、幾何学変換動き補償予測部２０５による動き補償予測を指定する予測方法情報には、対象ブロックが十字に４等分されて４つの正方形の小ブロックに分割され、４つの動きベクトルが検出される第１モードと、対象ブロックが横に２等分されて２つの縦長長方形の小ブロックに分割され、２つの動きベクトルが検出される第２モードと、対象ブロックが縦に２等分されて２つの横長長方形の小ブロックに分割され、２つの動きベクトルが検出される第３モードのいずれかが指定されている。
【０１１３】
以下、より具体的に説明する。第１符号化ビット列復号部２０１、第２符号化ビット列復号部２０２、および第３符号化ビット列復号部２０３には、実施の形態１に係る画像符号化装置１００により生成された符号化ストリームに含まれる符号化ビット列が、入力スイッチ２０９を介して選択的に入力される。
【０１１４】
第１符号化ビット列復号部２０１は、入力スイッチ２０９を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、予測方法情報を取得する。上述したように、この予測方法情報には平行移動／幾何学変換のどちらで符号化されているかが含まれているとともに、平行移動動き補償の場合、１６×１６／１６×８／８×１６／８×８モードのいずれを用いるかという情報が含まれている。幾何学変換の場合、４つの代表画素ａ、ｂ、ｃ、ｄの動きベクトルを符号化・復号する第１モード、対象ブロックの縦方向における２つの代表画素ｅ、ｆの動きベクトルを符号化・復号する第２モード、対象ブロックの横方向における２つの代表画素ｇ、ｈの動きベクトルを符号化・復号する第３モードのどのモードで符号化されているかの情報等が含まれている。第２符号化ビット列復号部２０２は、入力スイッチ２０９を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、動きベクトルを取得する。前述の通り、この動きベクトルの符号化に際しては、隣接ブロックの動きベクトルから算出される予測ベクトルと復号対象ブロックの動きベクトルとの差分ベクトルで記述されている。具体的には、第２符号化ビット列復号部２０２は、入力スイッチ２０９を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、差分ベクトルを取得する。さらに、第２符号化ビット列復号部２０２は、第１符号化ビット列復号部２０１から供給される予測方法情報に応じて、すでに符号化・復号されている周囲の隣接ブロック、または隣接画素の動きベクトルから対象ブロックの動きベクトルを予測することにより予測ベクトルを算出する。この第２符号化ビット列復号部２０２での予測ベクトルの算出は、画像符号化装置１００の第２符号化ビット列生成部１０８での予測ベクトルの算出と同一の方法で行う。そして、当該予測ベクトルに、符号化ビット列から復号された前記差分ベクトルを加算することにより動きベクトルを取得する。なお、符号化側で、平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出しているので、同様に復号側でも平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出し、その予測ベクトルに復号された差分ベクトルを加算することで、動きベクトルを取得する。平行移動動き補償予測の場合、当該ブロックの動きベクトルが取得でき、幾何学変換動き補償予測の場合、当該ブロックの代表画素の動きベクトルが取得できる。
【０１１５】
第１符号化ビット列復号部２０１により復号された予測方法情報により、復号対象の画素ブロックがイントラ符号化、平行移動による動き補償予測および幾何学変換による動き補償予測のどの手法を、どの参照画像を用いて、どのような画素ブロック単位で選択、組み合わせられているかが分かる。
【０１１６】
切替制御部２１４は、第１符号化ビット列復号部２０１から供給される予測方法情報に応じて、第１予測部スイッチ２１０、第２予測部スイッチ２１１、第３予測部スイッチ２１２および第４予測部スイッチ２１３を切り替える。対象ブロックの予測方法として、平行移動による動き補償予測方法が選択されている場合、平行移動動き補償予測部２０４の経路が選択されるよう切り替え、幾何学変換による動き補償予測方法が選択されている場合、幾何学変換動き補償予測部２０５の経路が選択されるよう切り替える。
【０１１７】
平行移動動き補償予測部２０４は、復号画像バッファ２０８から第４予測部スイッチ２１３を介して供給される参照画像とすべき復号画像、および第２符号化ビット列復号部２０２から第２予測部スイッチ２１１を介して供給される復号された動きベクトルを用いて、平行移動による動き補償予測を行う。
【０１１８】
幾何学変換動き補償予測部２０５は、復号画像バッファ２０８から第４予測部スイッチ２１３を介して供給される参照画像とすべき復号画像、および第２符号化ビット列復号部２０２から第２予測部スイッチ２１１を介して供給される復号された複数の代表画素の動きベクトルを用いて、上記式（１）〜（４）により代表画素以外の全画素の動きベクトルを内挿および外挿のいずれか一方により算出し、それらの画素毎の動きベクトルに応じて画素毎に動き補償を行うことで幾何学変換による動き補償予測を行う。
【０１１９】
第３符号化ビット列復号部２０３は、入力スイッチ２０９を介して供給される符号化ビット列を順次復号し、符号化された予測誤差信号を取得する。予測誤差信号復号部２０６は、第３符号化ビット列復号部２０３から供給された符号化された予測誤差信号に対して、逆量子化、逆直交変換などの伸張復号処理を行い、復号された予測誤差信号を取得する。
【０１２０】
復号画像信号生成部２０７は、予測信号、および予測誤差信号から画像信号を生成する。より具体的には、復号画像信号生成部２０７は、切替制御部２１４により指定された予測方法に応じて、平行移動動き補償予測部２０４または幾何学変換動き補償予測部２０５から第３予測部スイッチ２１２を介して供給される予測信号に、予測誤差信号復号部２０６から供給される予測誤差信号を重畳して、復号画像信号を生成する。復号画像信号生成部２０７は、その復号画像信号を画素ブロック単位で、復号画像バッファ２０８に順次格納する。
【０１２１】
図８は、本発明の実施の形態２に係る画像復号装置２００における、マクロブロックの復号処理手順を示すフローチャートである。第１符号化ビット列復号部２０１は、入力スイッチ２０９を介して供給される符号化ビット列を復号して、予測方法情報を取得する（Ｓ２０１）。第２符号化ビット列復号部２０２は、入力スイッチ２０９を介して供給される符号化ビット列を復号して、差分ベクトルを取得する（Ｓ２０２）。第２符号化ビット列復号部２０２は、周辺ブロックまたは周辺画素から予測ベクトルを算出し（Ｓ２０２）、その予測ベクトルに予測方法決定部１０４から供給される差分ベクトルを加算して、対象ブロックまたは対象画素の動きベクトルを算出する（Ｓ２０２）。
【０１２２】
切替制御部２１４は、復号された予測方法情報を参照して、対象ブロックの動き補償予測方法を特定する（Ｓ２０３）。その予測方法が、平行移動による動き補償予測方法の場合（Ｓ２０３の平行移動）、平行移動動き補償予測部２０４は、復号画像バッファ２０８から供給される参照画像信号とすべき復号画像信号を、第２符号化ビット列復号部２０２から供給される動きベクトル用いて、平行移動による動き補償し、予測信号を生成する（Ｓ２０４）。
【０１２３】
切替制御部２１４により特定された予測方法が、幾何学変換による動き補償予測方法の場合（Ｓ２０３の幾何学変換）、幾何学変換動き補償予測部２０５は、復号画像バッファ２０８から供給される参照画像信号とすべき復号画像信号を、第２符号化ビット列復号部２０２から供給される動きベクトルを用いて、幾何学変換による動き補償し、予測信号を生成する（Ｓ２０５）。
【０１２４】
第３符号化ビット列復号部２０３は、入力スイッチ２０９を介して供給される符号化ビット列を復号して、符号化された予測誤差信号を取得する（Ｓ２０６）。復号画像信号生成部２０７は、取得された予測誤差信号を復号する（Ｓ２０７）。復号画像信号生成部２０７は、復号画像信号生成部２０７により復号された予測誤差信号と、平行移動動き補償予測部２０４または幾何学変換動き補償予測部２０５により生成された予測信号とを重畳して、復号画像信号を生成する（Ｓ２０８）。復号画像信号生成部２０７は、生成した復号画像信号を、復号画像バッファ２０８に蓄積する（Ｓ２０９）。この復号画像バッファ２０８に蓄積された復号画像信号は、平行移動動き補償予測部２０４および幾何学変換動き補償予測部２０５における参照画像信号として利用される。
【０１２５】
以上説明したように実施の形態２によれば、実施の形態１に係る画像符号化装置１００により生成された符号化ストリームを、効率的に復号することができる。これにより、上述した実施の形態１に係る画像符号化装置１００により実現される効果を、復号側からサポートし、その効果を担保することができる。すなわち、幾何学変換による動き補償予測を使用する画像符号化方式にて、符号量の圧縮効率を向上させる効果を、復号側からサポートし、その効果を担保することができる。また、平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させる効果を、復号側からサポートし、その効果を担保することができる。また、既存の画像復号装置との調和性および互換性が高く、導入コストを抑制することができる。
【０１２６】
以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１２７】
上述した実施の形態では、対象ブロックの形状が正方形である例を説明した。この点、対象ブロックの形状は、三角形、平行四辺形、台形など、他の形状でもよい。また、上述した実施の形態では、小ブロック（すなわち、マクロブロック・パーティションおよびサブマクロブロック・パーティション）の形状も、正方形および長方形に限るものではなく、三角形、平行四辺形、台形など、他の形状でもよい。この場合、上記代表画素は、当該形状の重心または重心近傍に設定されることが好ましい。
【０１２８】
上述した実施の形態では、小ブロック（すなわち、マクロブロック・パーティションおよびサブマクロブロック・パーティション）の略中心、略重心画素を代表画素としたが、それに限るものではなく、中心、または重心に相当する座標に位置する補間画素を代表画素としてもよいし、マクロブロックの頂点に相当する補間画素あるいはその周辺画素を代表画素としてもよい。
【符号の説明】
【０１２９】
１００  画像符号化装置、  １０１  画像バッファ、  １０２  平行移動動き補償予測部、  １０３  幾何学変換動き補償予測部、  １０４  予測方法決定部、  １０５  予測誤差信号生成部、  １０６  予測誤差信号符号化部、  １０７  第１符号化ビット列生成部、  １０８  第２符号化ビット列生成部、  １０９  第３符号化ビット列生成部、  １１０  予測誤差信号復号部、  １１１  復号画像信号生成部、  １１２  復号画像バッファ、  １１３  出力スイッチ、  １５０  符号化部、  ２００  画像復号装置、  ２０１  第１符号化ビット列復号部、  ２０２  第２符号化ビット列復号部、  ２０３  第３符号化ビット列復号部、  ２０４  平行移動動き補償予測部、  ２０５  幾何学変換動き補償予測部、  ２０６  予測誤差信号復号部、  ２０７  復号画像信号生成部、  ２０８  復号画像バッファ、  ２０９  入力スイッチ、  ２１０  第１予測部スイッチ、  ２１１  第２予測部スイッチ、  ２１２  第３予測部スイッチ、  ２１３  第４予測部スイッチ、  ２１４  切替制御部、  ２５０  復号部。
【図１】
2011151775.tif 000003
【図２】
2011151775.tif 000004
【図３】
2011151775.tif 000005
【図４】
2011151775.tif 000006
【図５】
2011151775.tif 000007
【図６】
2011151775.tif 000008
【図７】
2011151775.tif 000009
【図８】
2011151775.tif 000010