(57)【要約】【課題】画像符号化および画像復号の際のワーピング用動きベクトル算出処理における演算処理負荷を軽減する。【解決手段】基準ワーピング予測画像作成部１０３は，領域の予測画像を，２つ以上の動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って求める。参照ワーピング予測画像作成部１０４は，領域の予測画像を，基準ワーピング予測画像作成部１０３で使用した動きベクトルと，領域の横画素数Ｍと縦画素数Ｎを使って求める。符号化モード符号化部１１１により基準ワーピング予測画像作成部１０３で作成した予測画像を使うのか参照ワーピング予測画像作成部１０４で作成した予測画像を使うのかを示す符号化モードを符号化し，また，動きベクトル符号化部１０９により基準ワーピング予測画像作成部１０３で使用した動きベクトルを符号化する。【選択図】          図２
2004173130.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を矩形領域に分割し，フレーム間予測符号化方法を使って符号化する画像符号化方法において，
領域Ａの予測画像を，２つ以上の動きベクトルと領域Ａの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う基準ワーピング予測符号化ステップと，
前記領域Ａとは異なる領域Ｂの予測画像を，前記領域Ａの動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測符号化ステップとを有する
ことを特徴とする画像符号化方法。
【請求項２】
入力画像を矩形領域に分割し，フレーム間予測符号化方法を使って符号化する画像符号化方法において，
ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）の各予測画像を，２つ以上の動きベクトルと領域Ａｉの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う基準ワーピング予測符号化ステップと，
前記領域Ａｉとは異なる領域Ｂの予測画像を，前記複数の領域Ａｉに対する基準ワーピング予測符号化ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測符号化ステップとを有する
ことを待徴とする画像符号化方法。
【請求項３】
入力画像を矩形領域に分割し，フレーム間予測符号化方法を使って符号化する画像符号化方法において，
ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）の各予測画像を，２つ以上の動きベクトルと領域Ａｉの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う基準ワーピング予測符号化ステップと，
前記領域Ａｉとは異なる領域Ｂの予測画像を，前記複数の領域Ａｉのうち，１つ以上の特定の領域に対する基準ワーピング予測符号化ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測符号化ステップとを有する
ことを特徴とする画像符号化方法。
【請求項４】
現フレームの画像を分割した領域毎の符号化データをフレーム間予測符号化方法を使って復号する画像復号方法において，
領域Ａの予測画像を，２つ以上の動きベクトルと領域Ａの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う基準ワーピング予測復号ステップと，
前記領域Ａとは異なる領域Ｂの予測画像を，前記領域Ａの動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測復号ステップとを有する
ことを特徴とする画像復号方法。
【請求項５】
現フレームの画像を分割した領域毎の符号化データをフレーム間予測符号化方法を使って復号する画像復号方法において，
ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）の各予測画像を，２つ以上の動きベクトルと領域Ａｉの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う基準ワーピング予測復号ステップと，
前記領域Ａとは異なる領域Ｂの予測画像を，前記複数の領域Ａｉに対する基準ワーピング予測復号ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う参照ワーピング予測復号ステップとを有する
ことを特徴とする画像復号方法。
【請求項６】
現フレームの画像を分割した領域毎の符号化データをフレーム間予測符号化方法を使って復号する画像復号方法において，
ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）の各予測画像を，２つ以上の動きベクトルと領域Ａｉの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う基準ワーピング予測復号ステップと，
前記領域Ａとは異なる領域Ｂの予測画像を，前記複数の領域Ａｉのうち，１つ以上の特定の領域に対する基準ワーピング予測復号ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う参照ワーピング予測復号ステップとを有する
ことを特徴とする画像復号方法。
【請求項７】
入力画像を矩形領域に分割し，フレーム間予測符号化方法を使って符号化する画像符号化装置において，
現フレームの画像を入力する画像入力部と，
領域の２つ以上の動きベクトルを探索するワーピング動き探索部と，
領域の予測画像を，２つ以上の動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って求める基準ワーピング予測画像作成部と，
前記基準ワーピング予測画像作成部で使用した動きベクトルを蓄積する動きベクトル蓄積部と，
領域の予測画像を，前記動きベクトル蓄積部に蓄積された動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って求める参照ワーピング予測画像作成部と，
予測画像を使ってフレーム間予測符号化を行う予測誤差符号化部と，
前記基準ワーピング予測画像作成部で作成した予測画像を使うのか前記参照ワーピング予測画像作成部で作成した予測画像を使うのかを示す符号化モードを符号化する符号化モード符号化部と，
前記基準ワーピング予測画像作成部で使用した動きベクトルを符号化する動きベクトル符号化部と，
予測誤差符号化データを復号する復号部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像符号化装置。
【請求項８】
請求項７記載の画像符号化装置において，
前記動きベクトル蓄積部に複数領域分の動きベクトルを蓄積しておき，
前記参照ワーピング予測画像作成部が，前記動きベクトル蓄積部に蓄積された複数の動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を求める
ことを特徴とする画像符号化装置。
【請求項９】
請求項８記載の画像符号化装置において，
前記参照ワーピング予測画像作成部で使用する動きベクトルとして，前記動きベクトル蓄積部に蓄積された複数の動きベクトルのうち，１つ以上の特定の領域の動きベクトルを選択する動きベクトル選択部と，
前記動きベクトル選択部で選択した動きベクトルを指定する動きベクトル選択情報を符号化する動きベクトル選択情報符号化部とを備え，
前記参照ワーピング予測画像作成部が，前記動きベクトル選択部で選択した動きベクトルと，領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を求める
ことを特徴とする画像符号化装置。
【請求項１０】
現フレームの画像を分割した領域毎の符号化データをフレーム間予測符号化方法を使って復号する画像復号装置において，
動きベクトルを復号する動きベクトル復号部と，
予測誤差符号化データを復号し復号画像を作成する予測誤差復号部と，
２つ以上の動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を求め，フレーム間予測復号を行う基準ワーピング予測復号部と，
前記基準ワーピング予測復号部で使用した動きベクトルを蓄積する動きベクトル蓄積部と，
前記動きベクトル蓄積部に蓄積された動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を求め，フレーム間予測復号を行う参照ワーピング予測復号部と，
前記基準ワーピング予測復号部で作成する復号画像を出力するのか前記参照ワーピング予測復号部で作成する復号画像を出力するのかを示す符号化モードを復号する符号化モード復号部と，
復号画像を蓄積する参照画像メモリとを備える
ことを特徴とする画像復号装置。
【請求項１１】
請求項１０記載の画像復号装置において，
前記動きベクトル蓄積部に複数領域分の動きベクトルを蓄積しておき，
前記参照ワーピング予測復号部が，前記動きベクトル蓄積部に蓄積された複数の動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を求め，フレーム間予測復号を行う
ことを特徴とする画像復号装置。
【請求項１２】
請求項１１記載の画像復号装置において，
前記参照ワーピング予測復号部で使用する動きベクトルとして，前記動きベクトル蓄積部に蓄積された複数の動きベクトルのうち，どの領域の動きベクトルを選択するのかを示す動きベクトル選択情報を復号する動きベクトル選択情報復号部を備え，
前記参照ワーピング予測復号部が，動きベクトル選択情報で指定された動きベクトルと，領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を求め，フレーム間予測復号を行う
ことを特徴とする画像復号装置。
【請求項１３】
請求項１，請求項２または請求項３記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。
【請求項１４】
請求項４，請求項５または請求項６記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。
【請求項１５】
請求項１，請求項２または請求項３記載の画像符号化方法をコンピュータに実行させるためのプログラムを記録した
ことを特徴とする画像符号化プログラムの記録媒体。
【請求項１６】
請求項４，請求項５または請求項６記載の画像復号方法をコンピュータに実行させるためのプログラムを記録した
ことを特徴とする画像復号プログラムの記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，動画像符号化の技術に関し，特にフレーム間予測符号化方法を用いる画像符号化および画像復号の際のワーピング用動きベクトル算出処理における演算処理負荷を軽減することを可能とした画像符号化方法，画像復号方法，画像符号化装置，画像復号装置，画像符号化プログラム，画像復号プログラムおよびそれらのプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
画面全体の動きベクトル（グローバル動きベクトルと呼ぶ）を使ってフレーム間予測符号化をするグローバル動き補償符号化方法がある。マクロブロック毎の動きベクトルを使う通常の動き補償符号化方法に対して，この方法では，パンやズームといったカメラパラメータをグローバル動きベクトルで表現できるため，カメラパラメータのある動画像を符号化する際に，マクロブロック毎の動きベクトルをまとめてグローバル動きベクトルとして符号化でき，符号化効率を向上できる。
【０００３】
グローバル動きベクトルとしては，例えば画面の四頂点の動きベクトルを符号化する方法や，下記の非特許文献１に記載されるようなカメラパラメータ（ｘ，ｙ，ｚ）を符号化する方法が挙げられる。
【０００４】
画面の四頂点の動きベクトルを符号化する方法では，画面全体が一様に横方向にパンする画像の場合，四頂点の動きベクトルを画面が横方向にパンするように符号化すればよい。画面全体で動きベクトルをまとめて符号化するため，マクロブロック毎の動きベクトルは０ベクトルとなり動きベクトルを符号化しない。
【０００５】
図９に，グローバル動きベクトルから動きベクトルを算出する例を示す。動きベクトルは，画素毎あるいは複数の画素で構成されるブロック毎にグローバル動きベクトルから求めることができる。ブロック毎に求める場合には，例えばブロック左上の画素の動きベクトルをグローバル動きベクトルから算出し，ブロック内のすべての画素の動きベクトルを，算出した左上の画素と同じものにする。画面四隅のグローバル動きベクトル（（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４））から各画素の動きベクトル（Ｘ，Ｙ）は，以下の式（１）に従って求めることができる。ＭおよびＮは，画面横および縦方向の画素数を示す。（ｐ，ｑ）は画素の画面左上からの横方向，縦方向の位置を示す。
【０００６】
【数１】
2004173130.tif 000003
【０００７】
このように各画素の動きベクトルを，その画素を含む領域のグローバルな動きベクトルから算出する手法をワーピングと呼ぶ。
【０００８】
ＭＰＥＧ−４ｐａｒｔ２に採用されているグローバル動き補償符号化方法では，図１０に示されるように，横と縦がＭとＮを超える２のべき乗で計算される枠を想定し，その枠に対応したグローバル動きベクトルから各画素の動きベクトルを求める。
【０００９】
まず，四隅のグローバル動きベクトル（（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４））から，下記の式（２）によって計算されるグローバル動きベクトル（（ｖｘ１，ｖｙ１），（ｖｘ２，ｖｙ２），（ｖｘ３，ｖｙ３），（ｖｘ４，ｖｙ４））を使って，各画素の動きベクトル（Ｘ，Ｙ）を式（３）によって計算する。
【００１０】
【数２】
2004173130.tif 000004
【００１１】
【数３】
2004173130.tif 000005
【００１２】
式（３）において，「Ａ＞＞Ｂ」は，Ａの値をＢビット右へシフトする演算を表している。この方法では，上記の式（１）で使用する割り算をビットシフト演算で実行することができ，グローバル動きベクトルから画素の動きベクトルを計算する処理を高速で実行でき，処埋量を削減することができる。
【００１３】
ここでワーピングの動きモデルにより，（ｖｘ２，ｖｙ２）または（ｖｘ３，ｖｙ３）または（ｖｘ４，ｖｙ４）の値を予め０に設定する手法もある。（ｖｘ２，ｖｙ２），（ｖｘ３，ｖｙ３），（ｖｘ４，ｖｙ４）のすべてを０にすると，（ｖｘ１，ｖｙ１）で示される平行移動を表す。（ｖｘ３，ｖｙ３）と（ｖｘ４，ｖｙ４）を０にすると，（ｖｘ１，ｖｙ１）と（ｖｘ２，ｖｙ２）で示される平行移動と横方向の拡大縮小を表す。（ｖｘ２，ｖｙ２）と（ｖｘ４，ｖｙ４）を０にすると，（ｖｘ１，ｖｙ１）と（ｖｘ３，ｖｙ３）で示される平行移動と縦方向の拡大縮小を表す。（ｖｘ４，ｖｙ４）を０にすると，（ｖｘ１，ｖｙ１）と（ｖｘ２，ｖｙ２）と（ｖｘ３，ｖｙ３）で示される平行移動と回転と拡大縮小を表す。このように予め０に設定することにより，動きベクトル符号量の削減を行うことができる。
【００１４】
また，カメラパラメータを求める方法として，撮影時のカメラの状態を使う方法もあるが，動画像の画像情報から求める方法もある。例えば，まず全マクロブロックの動きベクトルを求め，画面全体で最も多い動きベクトルをグローバル動きベクトルとする方法もある。マクロブロックの動きベクトルを求める方法としては，マクロブロック内画素と参照画像画素との絶対値差分和が最小となる位置を動きベクトルとする方法などが挙げられる。
【００１５】
グローバル動き補償符号化方法では，さらにマクロブロック毎にグローバル動きベクトルを使って符号化するかどうかを選択することが可能である。これは，画面内に異なる動きを持つ背景と前景がある場合に有効である，例えば，背景領域のマクロブロックはグローバル動きベクトルを使い，前景領域のマクロブロックはグローバル動きベクトルを使わずにマクロブロックの動きベクトルを使うことができる。
【００１６】
また，画素やブロックの動きベクトルに，グローバル動きベクトルから求められる値をそのまま使うのではなく，グローバル動きベクトルから得られる値に，さらに補正値を加算して動きベクトルを求める方法もある。この方法では，一旦グローバル動き補償により作成した予測画像内を再探索して，より予測誤差や予測誤差の変化の少ない動きベクトルを求める。この動きベクトルによって予測画像を作成する方法をグローバル動き再補償方法と呼ぶこととする。この方法を使う場合の各画素の動きベクトルは，式（４）によって計算される。（ｍｖｘ，ｍｖｙ）は，再探索によって求めた動きベクトルである。ｒまたはｓは，式（４−３）または式（４−４）で計算される。
【００１７】
【数４】
2004173130.tif 000006
【００１８】
ＭＰＥＧ−４ｐａｒｔ２と同様に割り算をビットシフト演算で行う場合には，式（４）の代わりに，式（５）によって計算する。
【００１９】
【数５】
2004173130.tif 000007
【００２０】
このように補正を加えることにより，グローバル動き補償だけでは予測誤差が多く発生する場合に，より予測誤差を低減することが可能である。また，この場合，グローバル動き補償によって拡大や回転された画像内を探索するため，通常の動き補償方式のように平行移動によって作成される予測画像よりも，予測誤差の少ない予測画像を作成することが可能である。この方法は，撮影時のカメラパラメータが得られず正確なグローバル動きベクトルが得られない場合に，より予測誤差の少ない探索位置を求めることができ，符号化効率を向上させることができる。なお，式（５）に従って動きベクトルを求めるのではなく，参照画像から一旦グローバル動き補償した画像を作り，その画像上で動きベクトル（ｍｖｘ，ｍｖｙ）が示す画像情報を予測画像に使う方法もある，
グローバル動き補償に関しては，ＭＰＥＧ−４文書の他に，下記の非特許文献１にも記載されているが，いずれも画像内画素数以上での割算を行う必要がある。また，下記の特許文献１において，３個または４個の代表点からの内挿と外挿に関する記述があるが，画面全体に対して１組のグローバル動きベクトルを符号化する仕組みのみ記述されており，本発明のように，本質的に限られたビット数で動きベクトルを計算することはできない。
【００２１】
【非特許文献１】
上倉，渡辺著「動画像符号化におけるグローバル動き補償法」信学論（Ｂ−Ｉ），  Ｖｏｌ．Ｊ７６−Ｂ−Ｉ，  Ｎｏ．１２，  ｐｐ．９４４−９５２（１９９３）
【特許文献１】
特開２００１−３５２５４８
【００２２】
【発明が解決しようとする課題】
式（３）または式（５）によってグローバル動きベクトルから画素の動きベクトルを計算する場合には，分子または分母が画面の画素数以上の値となる。そのため，数値を表現するレジスタのビット数が少ないシステム上では，画素数が多い場合に分子または分母の値を表現できない場合がある。例えば縦横２５６画素の画面の場合には，分子または分母の値が１６ビットで表現できないため，数値を１６ビットで表現する演算処理では計算を実行することができない。符号化側では，処理を必ずしも実時間で行う必要はないため，例えば数値を１６ビットレジスタ２個で表現するなどにより，処理を行うことは可能である。しかし，復号側では符号化データを実時間で復号し出力し続ける必要があるため，このようなレジスタ数を増やす処理は大きな処理負荷となる。
【００２３】
本発明は上記問題点の解決を図り，フレーム間予測符号化方法を用いる画像符号化および画像復号の際のワーピング用動きベクトル算出処理における演算処理負荷を軽減することを目的とする。
【００２４】
【課題を解決するための手段】
以上の課題を解決するため，本発明は以下の方法を用いる。
【００２５】
第１の発明は，入力画像を矩形領域に分割し，フレーム間予測符号化方法を使って符号化する動画像符号化方法において，領域Ａの予測画像を，２つ以上の動きベクトルと領域Ａの横画素数Ｍと縦画素数Ｎとを使って求め，フレーム間予測符号化を行う基準ワーピング予測符号化ステップと，領域Ｂの予測画像を，前記領域Ａの動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測符号化ステップとを実行することを特徴とする。
【００２６】
第２の発明は，前記第１の発明に対して，ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）において基準ワーピング予測符号化ステップを実行し，領域Ｂの予測画像を，前記複数の領域Ａｉに対する基準ワーピング予測符号化ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測符号化ステップを実行することを特徴とする。
【００２７】
第３の発明は，前記第２の発明に対して，ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）において基準ワーピング予測符号化ステップを実行し，領域Ｂの予測画像を，前記複数の領域Ａｉのうち，１つ以上の特定の領域に対する基準ワーピング予測符号化ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測符号化ステップを実行することを特徴とする。
【００２８】
第４の発明は，前記画像を分割した領域毎の符号化データをフレーム間予測符号化方法を使って復号する動画像復号方法において，領域Ａの予測画像を，２つ以上の動きベクトルと領域Ａの横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う基準ワーピング予測復号ステップと，領域Ｂの予測画像を，前記領域Ａの動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測符号化を行う参照ワーピング予測復号ステップとを実行することを特徴とする。
【００２９】
第５の発明は，前記第４の発明に対して，ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）において基準ワーピング予測復号ステップを実行し，領域Ｂの予測画像を，前記複数の領域Ａｉに対する基準ワーピング予測復号ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う参照ワーピング予測復号ステップを実行することを特徴とする。
【００３０】
第６の発明は，前記第５の発明に対して，ｎ個の複数の領域Ａｉ（ｉ＝１，２，…，ｎ）において基準ワーピング予測復号ステップを実行し，領域Ｂの予測画像を，前記複数の領域Ａｉのうち，１つ以上の特定の領域に対する基準ワーピング予測復号ステップで使用した動きベクトルと横画素数Ｍと縦画素数Ｎを使って求め，フレーム間予測復号を行う参照ワーピング予測復号ステップを実行することを特徴とする。
【００３１】
本発明の作用は以下のとおりである。第１の発明と第４の発明によれば，他の領域の動きベクトを外挿して，現領域の動きベクトルを求めることができる。
【００３２】
例えば縦横１６画素のマクロブロックＡでは基準ワーピング予測符号化ステップで予測画像を求め，その右に隣接するマクロブロックＢでは参照ワーピング予測符号化ステップで予測画像を求める場合には，次のように符号化する。
【００３３】
図１に，基準ワーピング予測符号化ステップで使用する動きベクトル位置の例を示す。マクロブロックＡの動きベクトルとして（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）の４つの動きベクトルが与えられているものとする。（ｘ１，ｙ１）は左上の画素の動きベクトルであり，（ｘ２，ｙ２）は右上の画素から１画素右に移動した位置における動きベクトルであり，（ｘ３，ｙ３）は左下の画素から１画素下に移動した位置における動きベクトルであり，（ｘ４，ｙ４）は右下の画素から１画素右１画素下に移動した位置における動きベクトルであるとする。（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）の位置関係は，図１に示すとおりである。
【００３４】
マクロブロックＡでは，基準ワーピング予測符号化ステップにて，これらの動きベクトルと縦画素数１６と横画素数１６とから，式（３）を使って各画素の動きベクトルを算出する。ここで，式（３）においてｍ＝４，ｎ＝４であるため，１６ビットのレジスタを持つ演算器であれば，式（３）の計算は可能である。
【００３５】
次にマクロブロックＡの右隣のマクロブロックＢでは，参照ワーピング予測符号化ステップにて，上記の動きベクトルと縦画素数１６と横画素数１６とから，式（３）を使って各画素の動きベクトルを算出する。ここで，式（３）においてｐとｑの値は，マクロブロックＡの左上の画素位置から測定した値を設定する。また，式（３）において，動きベクトルを算出する画素の横方向の位置が，動きベクトル蓄積部に蓄積されているワーピング用動きベクトルの画素位置よりも左にある場合には，式（３）のｐの値は，そのワーピング用動きベクトルの画素位置を原点としたマイナスの値を設定するものとする。
【００３６】
ここで領域を縦横１６画素のマクロブロックとしたが，これよりも小さいブロックを単位にしてもよい。ブロックのサイズが小さいほど，シフトするビット数が小さくなり，よりビット数の少ないレジスタで計算することが可能となる。
【００３７】
式（３）におけるｐとｑの値は，マクロブロックＡの左上の画素位置から測定した値を設定するため，現マクロブロックとマクロブロックＡの間の画素数が大きくなると，式（３）におけるシフトする対象の数値も大きくなる。従って，予め設定したビット数のレジスタで計算を行うためには，適当な頻度で基準ワーピング予測符号化ステップを実行し，参照ワーピング予測符号化ステップでの式（３）の計算におけるｐとｑの値を小さく設定する必要がある。
【００３８】
また，マクロブロックＡの動きベクトルとしてワーピング動き補償用の（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）の４つの動きベクトルと，さらにワーピングした画像からの補正値を示す（ｘ５，ｙ５）の１つの動きベクトルが与えられている場合もある。この場合には，マクロブロックＢの動きベクトルを求める参照ワーピング予測符号化ステップでは，ワーピング用の動きベクトル（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）のみ使用する。
【００３９】
また，ワーピング用の動きベクトルとしては，（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３），（ｘ４，ｙ４）の代わりに，式（２）によって計算されるグローバル動きベクトル（（ｖｘ１，ｖｙ１），（ｖｘ２，ｖｙ２），（ｖｘ３，ｖｙ３），（ｖｘ４，ｖｙ４））を使う方法もある。これによれば，（ｖｘ２，ｖｙ２）または（ｖｘ３，ｖｙ３）または（ｖｘ４，ｖｙ４）を予め０に設定することによって，動きベクトル符号量の削減を行うことができる。
【００４０】
このマクロブロックＡの４つの動きベクトルを求める方法としては，画面全体のグローバル動きベクトルを求めておき，グローバル動きベクトルから式（１）または式（３）を使って求める方法も好適である。
【００４１】
以上のように復号側でシフトするビット数を減らした符号化データを，動画像符号化方法で作成し，動画像復号方法で復号することができる。
【００４２】
第２の発明と第５の発明によれば，前記第１の発明および第４の発明に対して，複数の領域の動きベクトルの外挿値を平均することにより，参照ワーピング予測符号化ステップにて求める動きベクトルを求めることが可能である。
【００４３】
例えば画面左端の縦横１６画素のマクロブロックＡでは基準ワーピング予測符号化ステップで予測画像を求め，同じ列の画面右端のマクロブロックＢでも基準ワーピング予測符号化ステップで予測画像を求め，マクロブロックＡの下の列で，画面横方向の中間に位置するマクロブロックＣでは参照ワーピング予測符号化ステップで予測画像を求める場合には，次のように符号化する。
【００４４】
第１の発明と同様に，マクロブロックＡとマクロブロックＢでは，基準ワーピング予測符号化ステップで予測画像を作成し符号化する。各マクロブロック符号化の際に使用した動きベクトルを記憶しておく。続いてマクロブロックＣでは，まずマクロブロックＡの動きベクトルと縦画素数１６と横画素数１６とから，式（３）を使って各画素の動きベクトルを算出する。これを（ｍｖａ＿ｘ，ｍｖａ＿ｙ）とする。そして，マクロブロックＢの動きベクトルと縦画素数１６と横画素数１６とから，式（３）を使って各画素の動きベクトルを算出する。これを（ｍｖｂ＿ｘ，ｍｖｂ＿ｙ）とする。そして，（ｍｖａ＿ｘ，ｍｖａ＿ｙ）と（ｍｖｂ＿ｘ，ｍｖｂ＿ｙ）から，式（６）に従って最終的な動きベクトル（ｍｖｔ＿ｘ，ｍｖｔ＿ｙ）を求める。
【００４５】
【数６】
2004173130.tif 000008
【００４６】
このように，位置の離れた複数のマクロブロックから外挿した動きベクトルを平均することにより，中間位置のマクロブロックの動きベクトルを求めることができる。この方法によれば，１つのマクロブロックから外挿して得られる動きベクトルの予測効率がよくない場合に，複数のマクロブロックからの平均値を使うことができるため，予測効率を向上することができる。
【００４７】
第３の発明と第６の発明によれば，前記第２の発明と第５の発明に対して，複数の領域の動きベクトルの外挿値を平均する際に，使用する動きベクトルを選択することができる。
【００４８】
例えば画面左端の縦横１６画素のマクロブロックＡでは基準ワーピング予測符号化ステップで予測画像を求め，同じ列の画面右端のマクロブロックＢでも基準ワーピング予測符号化ステップで予測画像を求め，マクロブロックＡの下の列で，画面左端に位置するマクロブロックＣでは参照ワーピング予測符号化ステップで予測画像を求める場合には，次のように符号化する。
【００４９】
第１の発明と同様に，マクロブロックＡとマクロブロックＢでは，基準ワーピング予測符号化ステップで予測画像を作成し符号化する。各マクロブロック符号化の際に使用した動きベクトルを記憶しておく。
【００５０】
続いてマクロブロックＣでは，マクロブロックＣとマクロブロックＡの間の距離と，マクロブロックＣとマクロブロックＢの間の距離を計算し，距離の近い方の動きベクトルを参照ワーピング予測符号化ステップにて使用するように選択する。距離はマクロブロック左上の画素の間の画素数で計算することにする。この例ではマクロブロックＣはマクロブロックＡの方が近いので，マクロブロックＡの動きベクトルと縦画素数１６と横画素数１６とから，式（３）を使って各画素の動きベクトルを算出し予測画像を作成する。
【００５１】
このように，より距離の近い方のマクロブロックの動きベクトルを外挿することができる。この方法によれば，距離の遠いマクロブロックから外挿して得られる動きベクトルの予測効率がよくない場合に，近い方のマクロブロックからのみ外挿するため，複数のマクロブロックからの動きベクトルを平均するよりも，予測効率を向上することができる。
【００５２】
ここで，マクロブロックＣが，マクロブロックＡからの外挿を選択するのか，マクロブロックＢからの外挿を選択するのか，あるいは両方の平均を選択するのかを示す，動きべクトル選択情報を符号化する方法も好適である。これにより，どちらを使うのかを復号側に明示的に示すことができるため，より符号化効率が高い動きベクトルを選択することができる。
【００５３】
【発明の実施の形態】
以下，図面を用いて本発明の実施の形態を説明する。マクロブロック単位に予測画像を，基準ワーピング予測画像作成部で行うのか，参照ワーピング予測画像作成部で行うのか，通常の平行移動のみによる動き補償によるのかを選択するものとする。
【００５４】
〔第１の実施の形態〕
第１の実施の形態では，参照ワーピング予測画像作成部で動きベクトルを算出する際には，動きベクトル蓄積部で蓄積されている動きベクトルをすべて使用する場合の動作例を示す。まず，画像符号化装置の説明を行う。
【００５５】
図２に，本発明の第１の実施の形態に係る画像符号化装置の概要を示す。現フレームの画像を入力する画像入力部１０１と，マクロブロックについて４つのワーピング用動きベクトルを探索するワーピング動き探索部１０２と，２つ以上の動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って予測画像を求める基準ワーピング予測画像作成部１０３と，基準ワーピング予測画像作成部１０３で使用した動きベクトルを蓄積する動きベクトル蓄積部１０８と，動きベクトル蓄積部１０８に蓄積された動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って予測画像を求める参照ワーピング予測画像作成部１０４と，予測画像を使ってフレーム間予測符号化を行う予測誤差符号化部１１０と，基準ワーピング予測画像作成部１０３で使用した動きベクトルを符号化する動きベクトル符号化部１０９と，予測誤差符号化データを復号する復号部１１２と，復号画像を蓄積する参照画像メモリ１１３と，マクロブロック単位に平行移動量を探索する動き探索部１０５と，動き探索部１０５で得られる動きベクトルを使って動き補償を行い予測誤差を作成する動き補償部１０６と，動き補償部１０６で作成した予測画像を使用して符号化するのか，基準ワーピング予測画像作成部１０３で作成した予測画像を使用して符号化するのか，参照ワーピング予測画像作成部１０４で作成した予測画像を使用して符号化するのかを決定する予測方法決定部１０７と，予測画像を動き補償部１０６で作成したのか基準ワーピング予測画像作成部１０３で作成したのか参照ワーピング予測画像作成部１０４で作成したのかを示す符号化モードを符号化する符号化モード符号化部１１１とを備える。
【００５６】
ワーピング動き探索部１０２では，一旦画面全体のグローバル動き探索を行った後，現マクロブロックについて，基準ワーピング予測画像作成部１０３で使用するためのワーピング用動きべクトルを算出する。動き探索部１０５では，ブロックマッチング方法を使って動きベクトルを求めるものとする。
【００５７】
予測方法決定部１０７では，絶対値差分コストＷが最も小さくなる予測方法を選択するものとする。各予測方式における絶対値差分コストＷ１，Ｗ２，Ｗ３は，式（７）に従って計算する。Ｗ１は，基準ワーピング予測画像作成部１０３で作成した予測画像による絶対値差分コストを示し，Ｗ２は，参照ワーピング予測画像作成部１０４で作成した予測画像による絶対値差分コストを示し，Ｗ３は，動き補償部１０６で作成した予測画像による絶対値差分コストを示す。ここで，ｆ（ｉ，ｊ，ｔ）は，時刻ｔにおけるマクロブロック内位置（ｉ，ｊ）の画素の画像情報を示し，Ｘ，Ｙは，式（３）でｍ＝ｎ＝４とした値を示す。Ｎｍｖ（ｘ１，ｙ１，ｘ２，ｙ２，ｘ３，ｙ３，ｘ４，ｙ４）は，ワーピング用動きべクトル（ｘ１，ｙ１，ｘ２，ｙ２，ｘ３，ｙ３，ｘ４，ｙ４）を符号化するために必要な符号量を示す。同様に，Ｎｍｖ（ｘ，ｙ）は，通常の動きベクトル（ｘ，ｙ）を符号化するために必要な符号量を示す。
【００５８】
【数７】
2004173130.tif 000009
【００５９】
動きベクトル符号化部１０９は，図３に示すルックアップテーブルを使って動きベクトル情報を可変長符号化し，符号化モード符号化部１１１は，図４に示すルックアップテーブルを使って動きべクトル情報を可変長符号化する。なお，動きベクトル符号化部１０９は，ワーピング用動きベクトルの他にも，動き補償部１０６で作成された予測画像が選択される場合には，動き補償部１０６で使われる動きベクトルも符号化する。
【００６０】
このような前提で現フレームは，次のように符号化される。まず，ワーピング動き探索部１０２は，画面全体に対してグローバル動き探索を行い，画面四隅の位置に動きベクトルを想定するグローバル動きベクトルを求める。
【００６１】
続いてマクロブロック毎に，次のように符号化される。まず，最初のマクロブロックについて説明する，ワーピング動き探索部１０２は，グローバル動きベクトルから，符号化対象マクロブロックのワーピング用動きベクトルを算出する。ワーピング用動きベクトルは，図１に示した位置の動きベクトルであり，グローバル動きベクトルから式（３）に従って求める。
【００６２】
基準ワーピング予測画像作成部１０３では，ワーピング用動きベクトルからマクロブロック内の各画素の動きベクトルを算出し，予測画像を作成する。参照ワーピング予測画像作成部１０４は，動きベクトル蓄積部１０８にワーピング用動きベクトルが蓄積されていないため何も行わない。動き探索部１０５は，動き探索を行い動きベクトルを求め，動き補償部１０６は，求められた動きベクトルを使い，予測画像を作成する。
【００６３】
予測方法決定部１０７では，式（７）に従って絶対値差分和Ｗ１とＷ３を計算して，その大小を比較する。Ｗ１の方が小さい場合には，予測方法を基準ワーピング予測と決定し，Ｗ３の方が小さい場合には，予測方法を動き補償と決定する。予測誤差符号化部１１０は，決定された予測方法による予測画像を使って予測誤差を求め，その予測誤差を符号化する。符号化モード符号化部１１１は，予測方法決定部１０７によって決定された予測方法に従って，符号化モードを可変長符号化する。
【００６４】
動きベクトル符号化部１０９は，予測方法が基準ワーピング予測の場合には４つのワーピング用動きベクトルを符号化し，予測方法が動き補償の場合には１つの動きベクトルを符号化する。予測方法が基準ワーピング予測の場合には４つのワーピング用動きベクトルを動きベクトル蓄積部１０８に蓄積する。復号部１１２は，予測誤差符号化データを復号して復号画像を作成し，参照画像メモリ１１３に蓄積する。
【００６５】
次に，２番目以後のマクロブロックについて説明する。ワーピング動き探索部１０２は，グローバル動きベクトルから，符号化対象マクロブロックのワーピング用動きベクトルを算出する。基準ワーピング予測画像作成部１０３では，ワーピング用動きベクトルからマクロブロック内の各画素の動きベクトルを算出し，予測画像を作成する。参照ワーピング予測画像作成部１０４は，動きベクトル蓄積部１０８にワーピング用動きベクトルが蓄積されている場合には，その動きベクトルを使い，式（３）に従って各画素の動きベクトルを算出し，予測画像を作成する。動き探索部１０５は，動き探索を行って動きベクトルを求め，動き補償部１０６は，求められた動きベクトルを使い予測画像を作成する。
【００６６】
予測方法決定部１０７では，式（７）に従って絶対値差分和Ｗ１とＷ２とＷ３を計算して大小を比較する。Ｗ１が最も小さい場合には，予測方法を基準ワーピング予測と決定し，Ｗ２が最も小さい場合には，予測方法を参照ワーピング予測と決定し，Ｗ３が最も小さい場合には，予測方法を動き補償と決定する。予測誤差符号化部１１０は，予測方法決定部１０７によって決定された予測方法による予測画像を使って予測誤差を求めて，予測誤差を符号化する。符号化モード符号化部１１１は，予測方法決定部１０７によって決定された予測方法に従って符号化モードを可変長符号化する。
【００６７】
動きベクトル符号化部１０９は，予測方法が基準ワーピング予測の場合には，４つのワーピング用動きベクトルを符号化し，予測方法が動き補償の場合には，１つの動きベクトルを符号化する。予測方法が基準ワーピング予測の場合には，４つのワーピング用動きベクトルを動きベクトル蓄積部１０８に蓄積する。復号部１１２は，予測誤差符号化データを復号して復号画像を作成し，参照画像メモリ１１３に蓄積する。
【００６８】
以上の手順をすべてのマクロブロックに対して繰り返し処埋する。
【００６９】
次に復号装置の説明を行う。図５に，本発明の第１の実施の形態に係る画像復号装置の概要を示す。画像復号装置２００は，動きベクトルを復号する動きベクトル復号部２０１と，予測誤差符号化データを復号し復号画像を作成する予測誤差復号部２０７と，符号化モードが動き補償を示す場合に予測画像を作成する動き補償部２０４と，４つのワーピング用動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を作成する基準ワーピング予測画像作成部２０５と，基準ワーピング予測画像作成部２０５で使用した動きベクトルを蓄積する動きベクトル蓄積部２０２と，動きベクトル蓄積部２０２に蓄積された動きベクトルと領域の横画素数Ｍと縦画素数Ｎを使って，領域の予測画像を作成する参照ワーピング予測画像作成部２０６と，動き補償部２０４で作成する復号画像を出力するのか基準ワーピング予測画像作成部２０５で作成する復号画像を出力するのか参照ワーピング予測画像作成部２０６で作成する復号画像を出力するのかを示す符号化モードを復号する符号化モード復号部２０３と，復号画像を蓄積する参照画像メモリ２０８とを備える。
【００７０】
図２で説明した画像符号化装置１００で得られた符号化データを，図５に示す画像復号装置２００によって復号する手順を示す。
【００７１】
符号化データは，マクロブロック毎に次のように復号される。まず，符号化モード復号部２０３は，符号化モードを復号する。続いて符号化モードに従って予測画像を作成するが，以下に３例の復号手順を示す。
（１）符号化モードが動き補償を示す場合
動きベクトル復号部２０１は，１つの動きベクトルを復号して，動き補償部２０４は，予測画像を作成する。
（２）符号化モードが基準ワーピング予測を示す場合
動きベクトル復号部２０１は，４つのワーピング用動きベクトルを復号して，基準ワーピング予測画像作成部２０５は，予測画像を作成する。ワーピング用動きベクトルは，動きベクトル蓄積部２０２に蓄積する。
（３）符号化モードが参照ワーピング予測を示す場合
参照ワーピング予測画像作成部２０６は，動きベクトル蓄積部２０２に蓄積されている４つのワーピング用動きベクトルを使い，予測画像を作成する。
【００７２】
以上により予測画像を作成した後，予測画像復号部２０７は，予測誤差符号化データを復号して復号画像を作成する。復号画像は，参照画像メモリ２０８に蓄積する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００７３】
なお，ワーピング用動きベクトルを複数マクロブロック分蓄積し，参照ワーピング予測画像作成部２０６は，これらのワーピング用動きベクトルを使い予測画像を作成する方法も好適である。この場合には，まず基準ワーピング予測を行った各マクロブロック位置からの動きベクトルを算出した後に，これらの動きベクトルを平均して最終的な動きベクトルを得る。
【００７４】
このように本実施の形態によれば，他のマクロブロックのワーピング用動きベクトルを外挿して，現マクロブロックのワーピング用動きベクトルを求めることができる。したがって，従来のグローバル動き補償に比べて，動きベクトル算出に必要な数値演算における数値を少ないビット数で表現することができる。
【００７５】
〔第２の実施の形態〕
第２の実施の形態では，参照ワーピング予測画像作成部で動きベクトルを算出する際に，動きベクトル蓄積部で蓄積されている動きベクトルの中から使用する動きベクトルを選択する場合の例を示す。
【００７６】
まず，画像符号化装置の説明を行う。図６に，本発明の第２の実施の形態に係る画像符号化装置の概要を示す。第２の実施の形態では，第１の実施の形態における装置構成の他に，参照ワーピング予測画像作成部３０４で使用する動きベクトルとして，動きベクトル蓄積部３０８に蓄積された複数の動きベクトルのうち，１つ以上の特定の領域の動きベクトルを選択する動きベクトル選択部３１４と，動きベクトル選択部３１４で選択した動きベクトルを指定する動きベクトル選択情報を符号化する動きベクトル選択情報符号化部３１５とを備える。
【００７７】
ワーピング動き探索部３０２，動き探索部３０５，動きベクトル符号化部３０９，符号化モード符号化部３１１の動作は，第１の実施の形態と同じである。動きベクトル選択部３１４は，動きベクトル蓄積部３０８に蓄積されているワーピング用動きベクトルを順次，参照ワーピング予測画像作成部３０４で使用するワーピング用動きベクトルに設定する。
【００７８】
予測方法決定部３０７では，まず参照ワーピング予測画像作成部３０４で使用するワーピング用動きベクトルを変更しながら，絶対値差分和Ｗ２の値が最も小さくなる場合のワーピング用動きベクトルを求める。その後，基準ワーピング予測画像作成部３０３と動き補償部３０６で作成される予測画像に対する絶対値差分和Ｗ１とＷ３を求めて，絶対値差分和Ｗ１とＷ２とＷ３とを比較する。
【００７９】
動きベクトル選択情報符号化部３１５は，絶対値差分和Ｗ２の値が最も小さくなる場合のワーピング用動きベクトルを指定する動きベクトル選択情報を符号化する。動きベクトル選択情報は，画面内で間近に符号化されたワーピング用動きベクトルほど値が小さくなるように設定した正の整数で表される。動きベクトル選択情報符号化部３１５は，図７に示したルックアップテープルを使用して動きベクトル選択情報を符号化する。絶対値差分和Ｗ２の計算は，式（８）に従う。ここでＮｓｅｌは動きベクトル選択情報の符号量を示す。
【００８０】
【数８】
2004173130.tif 000010
このような前提で現フレームは，次のように符号化される。まず，ワーピング動き探索部３０２は，画面全体に対してグローバル動き探索を行い，画面四隅の位置に動きベクトルを想定するグローバル動きベクトルを求める。
【００８１】
続いてマクロブロック毎に次のように符号化される。最初のマクロブロックについては，第１の実施の形態と同様である。２番目以後のマクロブロックについて説明する。
【００８２】
ワーピング動き探索部３０２は，グローバル動きベクトルから，符号化対象マクロブロックのワーピング用動きベクトルを算出する。動きベクトル選択部３１４は，動きベクトル蓄積部３０８にワーピング用動きベクトルが蓄積されている場合には，ワーピング用動きベクトルを動きベクトル選択情報の値の小さいほうから順次選択し，参照ワーピング予測画像作成部３０４は，その動きベクトルを使い，式（３）に従って各画素の動きベクトルを算出し予測画像を作成する。
【００８３】
予測方法決定部３０７では，式（８）に従って，各ワーピング用動きベクトルに対して，絶対値差分和Ｗ２を計算し，Ｗ２の値が最も小さい場合のワーピング用動きベクトルを求める。この場合のＷ２の値をＷ２ｓと書くことにする。
【００８４】
次に，基準ワーピング予測画像作成部３０３では，ワーピング用動きベクトルからマクロブロック内の各画素の動きベクトルを算出し，予測画像を作成する。動き探索部３０５は，動き探索を行い動きベクトルを求め，動き補償部３０６は，求められた動きベクトルを使い，予測画像を作成する。
【００８５】
予測方法決定部３０７では，式（７）に従って絶対値差分和Ｗ１とＷ３を計算して，Ｗ１とＷ３と，既に求めたＷ２ｓの値の大小を比較する。Ｗ１が最も小さい場合には，予測方法を基準ワーピング予測と決定し，Ｗ２ｓが最も小さい場合には，予測方法を参照ワーピング予測と決定し，Ｗ３が最も小さい場合には予測方法を動き補償と決定する。予測誤差符号化部３１０は，決定された予測方法による予測画像を使って予測誤差を求めて予測誤差を符号化する。符号化モード符号化部３１１は，決定された予測方法に従って符号化モードを可変長符号化する。
【００８６】
動きベクトル符号化部３０９は，予測方法が基準ワーピング予測の場合には，４つのワーピング用動きベクトルを符号化し，予測方法が動き補償の場合には，１つの動きベクトルを符号化する。予測方法が参照ワーピング予測の場合には，動きベクトル選択情報符号化部３１５は，Ｗ２ｓの値が得られたワーピング用動きベクトルを指定する動きベクトル選択情報を符号化する。予測方法が基準ワーピング予測の場合には，４つのワーピング用動きベクトルを動きベクトル蓄積部３０８に蓄積する。復号部３１２は，予測誤差符号化データを復号して復号画像を作成し，参照画像メモリ３１３に蓄積する。
【００８７】
以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００８８】
次に，復号装置の説明を行う。図８に，本発明の第２の実施の形態に係る画像符号化装置の概要を示す。第２の実施の形態では，第１の実施の形態における装置構成の他に，参照ワーピング予測画像作成部４０６で使用する動きベクトルとして，動きベクトル蓄積部４０２に蓄積された複数の動きベクトルのうち，どの動きベクトルを選択するのかを示す動きべクトル選択情報を復号する動きベクトル選択情報復号部４０９を備える。図６で説明した画像符号化装置３００で得られた符号化データを復号する手順を示す。
【００８９】
画像符号化装置３００が符号化した符号化データは，画像復号装置４００によってマクロブロック毎に次のように復号される。まず，符号化モード復号部４０３は，符号化モードを復号する。続いて符号化モードに従って予測画像を作成するが，以下に３例の復号手順を示す。
（１）符号化モードが動き補償を示す場合
動きベクトル復号部４０１は，１つの動きベクトルを復号して，動き補償部４０４は，予測画像を作成する。
（２）符号化モードが基準ワーピング予測を示す場合
動きベクトル復号部４０１は，４つのワーピング用動きベクトルを復号して，基準ワーピング予測画像作成部４０５は，予測画像を作成する。ワーピング用動きベクトルは，動きベクトル蓄積部４０２に蓄積する。
（３）符号化モードが参照ワーピング予測を示す場合
動きベクトル選択情報復号部４０９は，動きベクトル選択情報を復号する。参照ワーピング予測画像作成部４０６は，動きベクトル蓄積部４０２に蓄積されているワーピング用動きベクトルのうち，動きベクトル選択情報によって指定されるワーピング用動きベクトルを使い予測画像を作成する。
【００９０】
以上により予測画像を作成した後，予測誤差復号部４０７は，予測誤差符号化データを復号して復号画像を作成する。復号画像は，参照画像メモリ４０８に蓄積する。以上の手順をすべてのマクロブロックに対して繰り返し処理する。
【００９１】
なお，動きベクトル蓄積部４０２からワーピング用動きベクトルを選択する方法が，画像符号化装置３００と画像復号装置４００の間で予め同じになるように設定しておくことも可能である。例えば元々基準ワーピング予測を行ったマクロブロックとの距離が近い方を選択することも可能である。この場合には，画像符号化装置３００に動きベクトル選択情報符号化部３１５を備える必要はなく，画像復号装置４００に動きベクトル選択情報復号部４０９を備える必要はない。
【００９２】
このように本実施の形態によれば，他のマクロブロックのワーピング用動きベクトルを外挿して，現マクロブロックのワーピング用動きベクトルを求める際に，より符号化効率のよいワーピング用動きベクトルを選択することができる。したがって，直前に算出したワーピング用動きベクトルを使う場合よりも，符号化効率を向上することができる。
【００９３】
なお，上記第１および第２の実施の形態では，基準ワーピング予測と参照ワーピング予測の際に，画素単位に動きベクトルを算出したが，縦横８画素のブロック毎に動きベクトルを算出してもよい。この場合には，動きベクトルを計算するための演算処理量を削減することができる。また，基準ワーピング予測と参照ワーピング予測の際に，４つのワーピング用動きベクトルではなく，２つまたは３つのワーピング用動きベクトルを使ってもよい。この場合には，ワーピング用動きベクトルとして，式（２）で計算される（ｖｘ１，ｖｙ１）の他に（ｖｘ２，ｖｙ２）または（ｖｘ３，ｖｙ３）または（ｖｘ４，ｖｙ４）を使用して，各画素の動きベクトルを算出する。また，基準ワーピング予測の際に，ワーピング用動きベクトルにさらに１つの動きベクトルを使用してもよい。この場合には，基準ワーピング予測画像作成部では，式（３）の代わりに式（５）を使用する。参照ワーピング予測画像作成部では，式（３）を使用する。
【００９４】
また，上記第１および第２の実施の形態における動き補償部では，平行移動だけではなく，回転や拡大を行うことも好適である。例えば文献「石川他，“マルチパラメータ動き補償を用いた動画像の３Ｄ／２Ｄハイブリッド符号化”，信学技報ＩＥ２００１−７６，ｐｐ．１５−２２，２００１」では，回転運動に対して回転角度を示す情報によって予測画像を作成して回転角度情報を符号化する方法や，拡大運動に対して拡大率を示す情報によって予測画像を作成して拡大率情報を符号化する方法を用いている。
【００９５】
以上の動画像符号化および復号の処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【００９６】
本発明による効果を，従来技術と比較して説明する。従来技術では，式（３）に示すとおり，画面内画素数に依存して必要ビット数が変化する。例えば，縦３５２画素横２８８画素の画面の場合，式（３）におけるｍ，ｎは，ｍ＝９，ｎ＝９となり，動きべクトルが８ビットで表現される場合には，ビットシフトする対象として少なくとも２６ビット必要になる。すなわち，２６ビット以上のレジスタが必要となる。
【００９７】
また，縦横１６画素のマクロブロックの動きベクトルを外挿する方式を適用すると，外挿の基点となる画素位置からの距離に応じて必要なビット数が増加するため，画面内で１組のグローバル動きベクトルを符号化する仕組みではレジスタの必要ビット数が増加する問題がある（特許文献１「特開２００１−３５２５４８」を参照）。
【００９８】
本発明による方法では，例えば縦横１６画素のマクロブロック単位にワーピング動きベクトルを計算するとなると，式（３）におけるｍ，ｎは，ｍ＝４，ｎ＝４となり，動きベクトルが８ビットで表現される場合には，ビットシフトする対象として１６ビット必要である。すなわち，１６ビットのシフトレジスタのみでよい。従来方法でも，最小マクロブロックサイズの画面が必要となるため，本発明による方法では，常に従来方法よりも少ないビット数で計算することが可能である。
【００９９】
また，特許文献１のものに比べて，本発明による方法では，ワーピング動きベクトルを随時更新することができるため，動きベクトル演算に必要なビット数を限られた範囲内に限定することができる。
【０１００】
【発明の効果】
以上説明したように，本発明によれば，他の領域のワーピング用動きベクトルを外挿して，現領域のワーピング用動きベクトルを求めることができる。したがって，従来のグローバル動き補償に比べて，動きベクトル算出に必要な数値演算における数値を少ないビット数で表現することができ，演算処理負荷を軽減することができる。
【０１０１】
具体的には，例えば動きベクトルが８ビットで表現される場合に，従来技術では，少なくとも２６ビットのレジスタが必要であったのに対し，本発明を用いることにより，１６ビットのシフトレジスタのみで動きベクトル演算を実現できるようになる。
【図面の簡単な説明】
【図１】基準ワーピング予測符号化ステップで使用する動きベクトル位置の例を示す図である。
【図２】第１の実施の形態における画像符号化装置の構成図である。
【図３】動きベクトルの可変長符号の例を示す図である。
【図４】符号化モードの可変長符号の例を示す図である。
【図５】第１の実施の形態における画像復号装置の構成図である。
【図６】第２の実施の形態における画像符号化装置の構成図である。
【図７】動きベクトル選択情報の可変長符号の例を示す図である。
【図８】第２の実施の形態における画像復号装置の構成図である。
【図９】グローバル動きベクトルから動きベクトルを算出する例を示す図である。
【図１０】２のべき乗の位置のグローバル動きベクトルから動きベクトルを算出する例を示す図である。
【符号の説明】
１００，３００  画像符号化装置
１０１，３０１  画像入力部
１０２，３０２  ワーピング動き探索部
１０３，３０３  基準ワーピング予測画像作成部
１０４，３０４  参照ワーピング予測画像作成部
１０５，３０５  動き探索部
１０６，３０６  動き補償部
１０７，３０７  予測方法決定部
１０８，３０８  動きベクトル蓄積部
１０９，３０９  動きベクトル符号化部
１１０，３１０  予測誤差符号化部
１１１，３１１  符号化モード符号化部
１１２，３１２  復号部
１１３，３１３  参照画像メモリ
３１４          動きベクトル選択部
３１５          動きベクトル選択情報符号化部
２００，４００  画像復号装置
２０１，４０１  動きベクトル復号部
２０２，４０２  動きベクトル蓄積部
２０３，４０３  符号化モード復号部
２０４，４０４  動き補償部
２０５，４０５  基準ワーピング予測画像作成部
２０６，４０６  参照ワーピング予測画像作成部
２０７，４０７  予測誤差復号部
２０８，４０８  参照画像メモリ
４０９          動きベクトル選択情報復号部
【図１】
2004173130.tif 000011
【図２】
2004173130.tif 000012
【図３】
2004173130.tif 000013
【図４】
2004173130.tif 000014
【図５】
2004173130.tif 000015
【図６】
2004173130.tif 000016
【図７】
2004173130.tif 000017
【図８】
2004173130.tif 000018
【図９】
2004173130.tif 000019
【図１０】
2004173130.tif 000020