(57)【特許請求の範囲】
【請求項１】
過去に符号化したフレームの画像情報から予測画像を作成して、領域毎に画像情報を符号化する画像符号化方法であって、
時間スケーラブル符号化、または、多視点符号化、ステレオ符号化のために分けられたレイヤであって、符号化対象のフレームの属するレイヤ情報を使い、レイヤ毎に、
前記レイヤ情報により定められたレイヤで選択可能な予め蓄積した複数の動きベクトルから、画面内の領域の位置情報に従って、動きベクトルを選択する動きベクトル選択ステップと、
前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと、
現領域の画像情報と予測画像との差分を符号化する差分符号化ステップとを実行する
ことを特徴とする画像符号化方法。
【請求項２】
請求項１に記載の画像符号化方法において、
前記動きベクトル選択ステップで選択する動きベクトルを指定する情報を符号化する動きベクトル指定符号化ステップを実行する
ことを特徴とする画像符号化方法。
【請求項３】
過去に符号化した複数のフレームの画像情報から参照画像を選択し、予測画像を作成して、領域毎に画像情報を符号化する画像符号化方法であって、
時間スケーラブル符号化、または、多視点符号化、ステレオ符号化のために分けられたレイヤであって、符号化対象のフレームの属するレイヤ情報を使い、レイヤ毎に、
前記レイヤ情報により定められたレイヤで選択可能な予め蓄積した複数の動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定ステップと、
参照画像を選択する参照画像選択ステップと、
参照画像を指定する参照画像指定情報を符号化する参照画像指定符号化ステップと、
前記予め蓄積した複数の動きベクトルから、参照画像指定情報に対応した動きベクトルを選択する動きベクトル選択ステップと、
前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと、
現領域の画像情報と予測画像との差分を符号化する差分符号化ステップとを実行する
ことを特徴とする画像符号化方法。
【請求項４】
請求項１から請求項３までのいずれか１項に記載の画像符号化方法において、
現領域の画像情報と参照画像を使って動きベクトルを探索する動き探索ステップと、
前記動きベクトル選択ステップで選択した動きベクトルと前記動き探索ステップで得られる動きベクトルのうち、いずれかを選択する探索動きベクトル選択ステップと、
前記探索動きベクトル選択ステップにおいて、前記動き探索ステップで得られる動きベクトルを選択した場合に、その動きベクトルを符号化する探索動きベクトル符号化ステップと、
前記探索動きベクトル選択ステップで選択した動きベクトルを指定する情報を符号化する探索動きベクトル指定符号化ステップとを実行する
ことを特徴とする画像符号化方法。
【請求項５】
請求項１から請求項３までのいずれか１項に記載の画像符号化方法において、
現領域の画像情報と参照画像を使って動きベクトルを探索する動き探索ステップと、
前記動きベクトル選択ステップで選択した動きベクトルと前記動き探索ステップで得られる動きベクトルの差分を符号化する差分動きベクトル符号化ステップとを実行する
ことを特徴とする画像符号化方法。
【請求項６】
請求項４または請求項５に記載の画像符号化方法において、
動きベクトルを蓄積する動きベクトル蓄積ステップと、
動きベクトルを蓄積するかどうかを決定する動きベクトル蓄積決定ステップと、
動きベクトルを蓄積するかどうかを指定する情報を符号化する動きベクトル蓄積指定符号化ステップとを実行する
ことを特徴とする画像符号化方法。
【請求項７】
請求項４または請求項５に記載の画像符号化方法において、
動きベクトルを蓄積する動きベクトル蓄積ステップと、
動きベクトルスケール情報を使って動きベクトルの値を変更する動きベクトルスケールステップとを実行する
ことを特徴とする画像符号化方法。
【請求項８】
請求項７に記載の画像符号化方法において、
動きベクトルスケール情報を符号化するスケール符号化ステップを実行する
ことを特徴とする画像符号化方法。
【請求項９】
過去に復号したフレームの画像情報から予測画像を作成して、領域毎に画像情報を復号する画像復号方法であって、
時間スケーラブル符号化、または、多視点符号化、ステレオ符号化のために分けられたレイヤであって、復号対象のフレームの属するレイヤ情報を使い、レイヤ毎に、
前記レイヤ情報により定められたレイヤで選択可能な予め蓄積した複数の動きベクトルから、画面内の領域の位置情報に従って、動きベクトルを選択する動きベクトル選択ステップと、
前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと、
現領域の画像情報と予測画像との差分を復号して復号画像を作成する復号画像作成ステップとを実行する
ことを特徴とする画像復号方法。
【請求項１０】
請求項９に記載の画像復号方法において、
前記動きベクトル選択ステップで選択する動きベクトルを指定する情報を復号する動きベクトル指定復号ステップを実行する
ことを特徴とする画像復号方法。
【請求項１１】
過去に復号した複数のフレームの画像情報から参照画像を選択し、予測画像を作成して、領域毎に画像情報を復号する画像復号方法であって、
時間スケーラブル符号化、または、多視点符号化、ステレオ符号化のために分けられたレイヤであって、復号対象のフレームの属するレイヤ情報を使い、レイヤ毎に、
前記レイヤ情報により定められたレイヤで選択可能な予め蓄積した複数の動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定ステップと、
参照画像を指定する参照画像指定情報を復号する参照画像指定復号ステップと、
参照画像を選択する参照画像選択ステップと、
前記予め蓄積した複数の動きベクトルから、参照画像指定情報に対応した動きベクトルを選択する動きベクトル選択ステップと、
前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと、
現領域の画像情報と予測画像との差分を復号して復号画像を作成する復号画像作成ステップとを実行する
ことを特徴とする画像復号方法。
【請求項１２】
請求項９から請求項１１までのいずれか１項に記載の画像復号方法において、
動きベクトルが符号化されているかどうかを指定する情報を復号する探索動きベクトル指定復号ステップと、
動きベクトルが符号化されている場合に動きベクトルを復号する探索動きベクトル復号ステップとを実行する
ことを特徴とする画像復号方法。
【請求項１３】
請求項９から請求項１１までのいずれか１項に記載の画像復号方法において、
差分動きベクトルを復号する差分動きベクトル復号ステップと、
差分動きベクトルと前記動きベクトル選択ステップで選択した動きベクトルとから動きベクトルを算出する差分動きベクトル算出ステップとを実行する
ことを特徴とする画像復号方法。
【請求項１４】
請求項１２または請求項１３に記載の画像復号方法において、
動きベクトルを蓄積する動きベクトル蓄積ステップと、
動きベクトルを蓄積するかどうかを指定する情報を復号する動きベクトル蓄積指定復号ステップとを実行する
ことを特徴とする画像復号方法。
【請求項１５】
請求項１２または請求項１３に記載の画像復号方法において、
動きベクトルを蓄積する動きベクトル蓄積ステップと、
動きベクトルスケール情報を使って動きベクトルの値を変更する動きベクトルスケールステップとを実行する
ことを特徴とする画像復号方法。
【請求項１６】
請求項１５に記載の画像復号方法において、
動きベクトルスケール情報を復号するスケール復号ステップを実行する
ことを特徴とする画像復号方法。
【請求項１７】
過去に符号化したフレームの画像情報から予測画像を作成して、領域毎に画像情報を符号化する画像符号化装置であって、
時間スケーラブル符号化、または、多視点符号化、ステレオ符号化のために分けられたレイヤであって、符号化対象のフレームの属するレイヤ情報を使い、レイヤ毎に、
前記レイヤ情報により定められたレイヤで選択可能な予め蓄積した複数の動きベクトルから、画面内の領域の位置情報に従って、動きベクトルを選択する動きベクトル選択部と、
前記動きベクトル選択部で選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成部と、
現領域の画像情報と予測画像との差分を符号化する差分符号化部とを備える
ことを特徴とする画像符号化装置。
【請求項１８】
過去に復号したフレームの画像情報から予測画像を作成して、領域毎に画像情報を復号する画像復号装置であって、
時間スケーラブル符号化、または、多視点符号化、ステレオ符号化のために分けられたレイヤであって、復号対象のフレームの属するレイヤ情報を使い、レイヤ毎に、
前記レイヤ情報により定められたレイヤで選択可能な予め蓄積した複数の動きベクトルから、画面内の領域の位置情報に従って、動きベクトルを選択する動きベクトル選択部と、
前記動きベクトル選択部で選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成部と、
現領域の画像情報と予測画像との差分を復号して復号画像を作成する復号画像作成部とを備える
ことを特徴とする画像復号装置。
【請求項１９】
請求項１から請求項８までのいずれか１項に記載の画像符号化方法を，コンピュータに実行させるための画像符号化プログラム。
【請求項２０】
請求項９から請求項１６までのいずれか１項に記載の画像復号方法を，コンピュータに実行させるための画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，フレーム間予測符号化方式を使った，複数フレームの画像符号化の技術に関するものである。
本願は，２００４年８月１６日に出願された特願２００４−２３６５２０号に対して優先権を主張するものであって，その内容をここに援用する。
【背景技術】
【０００２】
ＭＰＥＧ−１，ＭＰＥＧ−２や，Ｈ．２６１，Ｈ．２６３といった国際標準動画像符号化では，各フレームの出力時刻を符号化する。これらの時刻情報はＴＲ（Temporal Reference）と呼ばれ，フレーム毎に固定長符号化される。システムで基準となる時間間隔を予め設定しておき，その時間間隔とＴＲの積でシーケンス先頭からの時刻を示す。エンコーダでは，入力画像の時刻情報をＴＲに設定して各フレームを符号化し，デコーダでは，各フレームの復号画像をＴＲで指定された時刻に出力する。【０００３】
他方，一般的に動画像符号化では時間方向の相関を使って高い符号化効率を実現するため，フレーム間予測符号化を用いている。フレームの符号化モードには，フレーム間の相関を使わずに符号化するＩフレームと，過去に符号化した１フレームから予測するＰフレームと，過去に符号化した２フレームから予測することができるＢフレームがある。【０００４】
Ｂフレームでは，参照画像メモリに２フレーム分の復号画像を蓄積しておく必要がある。特に，映像符号化方式Ｈ．２６３とＨ．２６４では，参照画像メモリに２フレーム以上の複数フレーム分の復号画像を蓄積しておき，そのメモリから参照画像を選択して予測することができる。参照画像はブロック毎に選択することができ，参照画像を指定する参照画像指定情報を符号化する。参照画像メモリには，短時間用（ＳＴＲＭ）と長時間用（ＬＴＲＭ）があり，ＳＴＲＭには現フレームの復号画像を蓄積していき，ＬＴＲＭにはＳＴＲＭに蓄積されている画像を選択して蓄積する。ＬＴＲＭとＳＴＲＭの制御方法について記載している文献としては，例えば下記の非特許文献１が挙げられる。【０００５】
ＭＰＥＧ−１，ＭＰＥＧ−２のＢフレームでは，より過去のフレームから予測する方法を前方向フレーム間予測と呼び，より未来のフレームから予測する方法を後方向フレーム間予測と呼ぶ。後方向フレーム間予測における参照フレームの表示時刻は，現フレームよりも未来である。この場合には，現フレームを表示した後に後方向フレーム間予測の参照フレームを出力することになる。Ｂフレームで２フレームから予測する場合（両方向フレーム間予測）には，２フレームからの画像情報を補間して１フレーム分の画像情報を作成し，これを予測画像とする。【０００６】
図１に，後方向フレーム間予測における参照フレームの表示時刻が未来の場合の，動画像の予測関係の例を示す。第１フレームから第７フレームの符号化モードをＩＢＢＰＢＢＰの順序で符号化する場合には，図１の上側に示す予測関係（ＩＢＢＰＢＢＰ）があるため，実際に符号化する場合には，図１の下側に示すように，１４２３７５６の順序でフレームを符号化する。この場合の符号化されるＴＲの順序は，符号化フレームと同様に１４２３７５６に対応した値となる。【０００７】
Ｈ．２６４のＢフレームでは，後方向フレーム間予測の概念をＭＰＥＧ−１，ＭＰＥＧ−２よりも拡張しており，後方向フレーム間予測における参照フレームの表示時刻は，現フレームよりも過去であってもよい。この場合には，後方向フレーム間予測の参照フレームの方を先に出力することになる。上記したが，Ｈ．２６４では参照画像メモリに複数の復号画像を蓄積することができる。そこで前方向フレーム間予測用の参照画像指定情報Ｌ０と，後方向フレーム間予測用の参照画像指定情報Ｌ１を定義しておき，それぞれ独立に前方向フレーム間予測用の参照画像と後方向フレーム間予測用の参照画像を指定する。【０００８】
ブロック毎に参照画像を指定するため，まずブロックの予測モード（前方向フレーム間予測または後方向フレーム間予測または両方向フレーム間予測）を符号化しておき，予測モードが前方向フレーム間予測の場合には，参照画像指定情報Ｌ０を符号化し，後方向フレーム間予測の場合には，参照画像指定情報Ｌ１を符号化し，両方向フレーム間予測の場合には，参照画像指定情報Ｌ０と参照画像指定情報Ｌ１とを符号化する。【０００９】
このように定義すると，後方向フレーム間予測における参照フレームの表示時刻は，現フレームよりも未来である必要は無い。Ｈ．２６４のＢフレームでは，このように後方向フレーム間予測も過去のフレームを参照画像に指定でき，さらに指定はブロック単位に変更できるため，両方向フレーム間予測の場合を除いて，Ｐフレームと同様な予測画像を作成することができる。【００１０】
図２に，後方向フレーム間予測における参照フレームの表示時刻が過去の場合の，動画像の予測関係の例を示す。図１の場合と異なり，第１フレームから第７フレームの符号化モードをＩＢＢＰＢＢＰの順序で符号化する場合であっても，図２の上側に示す予測関係（ＩＢＢＰＢＢＰ）があるため，図２の下側に示すように１４２３５６７の順序でフレームを符号化する。【００１１】
Ｂフレームの動きベクトル符号化方法として，時間ダイレクトモード手法が提案されている。この技術は，例えば国際標準方式Ｈ．２６４に採用されている。これは符号化順序で直近のＰフレームの動きベクトルを蓄積しておき，その動きベクトル情報を時間間隔でスケールして動きベクトルを算出する方法である。【００１２】
例えば図３に示すフレームａ，ｂ，ｃについて，フレームａ，フレームｃ，フレームｂの順序で符号化し，フレームａとフレームｃがＰフレームで符号化され，フレームｂがＢフレームで符号化されているとする。Ｐフレームの同位置ブロックの動きベクトルをｍｖとすると，Ｂフレームの現ブロックの前方向予測動きベクトルｆｍｖと後方向予測動きベクトルｂｍｖは，式（１）によって計算される。【００１３】
ｆｍｖ＝（ｍｖ×ＴＲab）／ＴＲac
ｂｍｖ＝（ｍｖ×ＴＲbc）／ＴＲac                      ……  （１）
ＴＲab，ＴＲbc，ＴＲacは，それぞれフレームａとフレームｂの時間間隔，フレームｂとフレームｃの時間間隔，フレームａとフレームｃの時間間隔を示す。これを応用した技術として，下記の非特許文献２では，符号化順序で直近のＰフレームの動きベクトルを蓄積しておき，現Ｐフレームの動きベクトルとして利用する方法が提案されている。これらの手法によれば，連続して符号化する複数フレームの間に動きの連続性がある場合に，動きベクトルを符号化効率よく符号化することができる。【００１４】
このようなＢフレームの復号画像を参照画像メモリに蓄積しない構成にすると，Ｂフレームを復号しなくても，次のフレームを復号することができる。これによりＢフレームを復号しないことでフレームレートを下げることができ，時間スケーラブル機能を実現することができる。【００１５】
またＨ．２６４では，図４に示すように，マクロブロックを２分割または４分割し，４分割した場合には，縦横８画素の領域をさらに２分割または４分割できる木構造を構成することができる。この分割した領域毎に異なる動きベクトルを持つことが可能である。参照画像はマクロブロックを２分割または４分割した単位で選択可能である。このようなマクロブロックの分割パターンは符号化モード情報として符号化される。【００１６】
また，時間スケーラブル符号化を実現する手法として，ＭＣＴＦ（Motion Compensated Temporal Filtering）符号化がある。このＭＣＴＦ符号化方法は，映像データに対して時間方向にフィルタリング（サブバンド分割）し，映像データの時間方向の相関を利用して，映像データのエネルギーをコンパクト化する手法である。【００１７】
図５に時間方向で低域をオクターブ分割する概念図を示す。ＧＯＰ（Group Of Picture）を設定してＧＯＰ内で時間方向にフィルタリングする。時間方向のフィルタを適用するにあたり，動き補償を行っても良い。時間方向のフィルタには，Ｈａａｒ基底が一般的に提案されている（非特許文献３参照）。【００１８】
また，Ｈａａｒ基底には一般的に，図６Ａ〜図６Ｂに示すようなリフティング・スキーム（Lifting Scheme）を適用できる。この手法により，演算量を少なくフィルタリングすることができる。このリフティング・スキームにおいて，「predict 」は通常の予測符号化と同様な処理であり，予測画像と原画像との残差を求める処理である。
【非特許文献１】Thomas Wiegand，Xiaozheng Zhang ，and Bernd Girod, "Long-Term Memory Motion-Compensated Prediction," IEEE Transactions on Circuits and Systems for Video Technology ，vol.9 ，no.1，pp.70-84，Feb. 1999
【非特許文献２】Alexis Michael Tourapis, "Direct Prediction for Predictive(P) and Bidirectionally Predictive(B) frames in Video Coding," JVT-C128 ，Joint Video Team(JVT) of ISO/IEC MPEG&ITU-T VCEG Meeting，May ，2002
【非特許文献３】Jens-Rainer Ohm, "Three-Dimensional Subband Coding with Motion Compensation," IEEE Trans. Image Proc. ，vol.3 ，no.5，pp.559-571，1994
【発明の開示】
【発明が解決しようとする課題】
【００１９】
従来のダイレクトモードでは，直前に符号化したフレームの動きベクトルを蓄積しておき，その動きベクトルを時間間隔でスケールして動きベクトルを算出する。そのためフレーム間で動きの連続性が無い場合には，効率の良い動きベクトルを算出することができない。【００２０】
本発明は上記問題点の解決を図り，画像符号化において予め蓄積しておいた動きベクトル候補から動きベクトルを選択し，符号化効率を向上させることを目的とする。
【課題を解決するための手段】
【００２１】
以上の課題を解決するため，第１の発明は，過去に符号化したフレームの画像情報から予測画像を作成して，領域毎に画像情報を符号化する画像符号化方法であって，予め蓄積した複数の動きベクトルから，動きベクトルを選択する動きベクトル選択ステップと，前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと，現領域の画像情報と予測画像との差分を符号化する差分符号化ステップとを実行することを特徴とする画像符号化方法である。【００２２】
第２の発明は，上記第１の発明における画像符号化方法において，前記動きベクトル選択ステップは，画面内の領域の位置情報に従って，前記複数の動きベクトルから動きベクトルを選択することを特徴とする。
第３の発明は，上記第１または第２の発明における画像符号化方法において，前記動きベクトル選択ステップで選択する動きベクトルを指定する情報を符号化する動きベクトル指定符号化ステップを実行することを特徴とする。【００２３】
第４の発明は，過去に符号化した複数のフレームの画像情報から参照画像を選択し，予測画像を作成して，領域毎に画像情報を符号化する画像符号化方法であって，予め蓄積した複数の動きベクトルと，参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定ステップと，参照画像を選択する参照画像選択ステップと，参照画像を指定する参照画像指定情報を符号化する参照画像指定符号化ステップと，予め蓄積した複数の動きベクトルから，参照画像指定情報に対応した動きベクトルを選択する動きベクトル選択ステップと，前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと，現領域の画像情報と予測画像との差分を符号化する差分符号化ステップとを実行することを特徴とする画像符号化方法である。【００２４】
第５の発明は，上記第１，第３または第４の発明における画像符号化方法において，現領域の画像情報と参照画像を使って動きベクトルを探索する動き探索ステップと，前記動きベクトル選択ステップで選択した動きベクトルと前記動き探索ステップで得られる動きベクトルのうち，いずれかを選択する探索動きベクトル選択ステップと，前記探索動きベクトル選択ステップにおいて，前記動き探索ステップで得られる動きベクトルを選択した場合に，その動きベクトルを符号化する探索動きベクトル符号化ステップと，前記探索動きベクトル選択ステップで選択した動きベクトルを指定する情報を符号化する探索動きベクトル指定符号化ステップとを実行することを特徴とする。【００２５】
第６の発明は，上記第１，第３または第４の発明における画像符号化方法において，現領域の画像情報と参照画像を使って動きベクトルを探索する動き探索ステップと，前記動きベクトル選択ステップで選択した動きベクトルと前記動き探索ステップで得られる動きベクトルの差分を符号化する差分動きベクトル符号化ステップとを実行することを特徴とする。【００２６】
第７の発明は，上記第５または第６の発明における画像符号化方法において，動きベクトルを蓄積する動きベクトル蓄積ステップと，動きベクトルを蓄積するかどうかを決定する動きベクトル蓄積決定ステップと，動きベクトルを蓄積するかどうかを指定する情報を符号化する動きベクトル蓄積指定符号化ステップとを実行することを特徴とする。【００２７】
第８の発明は，上記第５または第６の発明における画像符号化方法において，動きベクトルを蓄積する動きベクトル蓄積ステップと，動きベクトルスケール情報を使って動きベクトルの値を変更する動きベクトルスケールステップとを実行することを特徴とする。【００２８】
第９の発明は，上記第８の発明における画像符号化方法において，動きベクトルスケール情報を符号化するスケール符号化ステップを実行することを特徴とする。【００２９】
第１０の発明は，過去に復号したフレームの画像情報から予測画像を作成して，領域毎に画像情報を復号する画像復号方法であって，予め蓄積した複数の動きベクトルから，動きベクトルを選択する動きベクトル選択ステップと，前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと，現領域の画像情報と予測画像との差分を復号して復号画像を作成する復号画像作成ステップとを実行することを特徴とする画像復号方法である。【００３０】
第１１の発明は，上記第１０の発明における画像復号方法において，前記動きベクトル選択ステップは，画面内の領域の位置情報に従って，前記複数の動きベクトルから動きベクトルを選択することを特徴とする。
第１２の発明は，上記第１０または第１１の発明における画像復号方法において，前記動きベクトル選択ステップで選択する動きベクトルを指定する情報を復号する動きベクトル指定復号ステップを実行することを特徴とする。【００３１】
第１３の発明は，過去に復号した複数のフレームの画像情報から参照画像を選択し，予測画像を作成して，領域毎に画像情報を復号する画像復号方法であって，予め蓄積した複数の動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定ステップと，参照画像を指定する参照画像指定情報を復号する参照画像指定復号ステップと，参照画像を選択する参照画像選択ステップと，予め蓄積した複数の動きベクトルから，参照画像指定情報に対応した動きベクトルを選択する動きベクトル選択ステップと，前記動きベクトル選択ステップで選択した動きベクトルを使って参照画像から予測画像を作成する予測画像作成ステップと，現領域の画像情報と予測画像との差分を復号して復号画像を作成する復号画像作成ステップとを実行することを特徴とする画像復号方法である。【００３２】
第１４の発明は，上記第１０，第１２または第１３の発明における画像復号方法において，動きベクトルが符号化されているかどうかを指定する情報を復号する探索動きベクトル指定復号ステップと，動きベクトルが符号化されている場合に動きベクトルを復号する探索動きベクトル復号ステップとを実行することを特徴とする。【００３３】
第１５の発明は，上記第１０，第１２または第１３の発明における画像復号方法において，差分動きベクトルを復号する差分動きベクトル復号ステップと，差分動きベクトルと前記動きベクトル選択ステップで選択した動きベクトルとから動きベクトルを算出する差分動きベクトル算出ステップとを実行することを特徴とする。【００３４】
第１６の発明は，上記第１４または第１５の発明における画像復号方法において，動きベクトルを蓄積する動きベクトル蓄積ステップと，動きベクトルを蓄積するかどうかを指定する情報を復号する動きベクトル蓄積指定復号ステップとを実行することを特徴とする。【００３５】
第１７の発明は，上記第１４または第１５の発明における画像復号方法において，動きベクトルを蓄積する動きベクトル蓄積ステップと，動きベクトルスケール情報を使って動きベクトルの値を変更する動きベクトルスケールステップとを実行することを特徴とする。【００３６】
第１８の発明は，上記第１７の発明における画像復号方法において，動きベクトルスケール情報を復号するスケール復号ステップを実行することを特徴とする。【００３７】
第１の発明による画像符号化方法あるいは第１０の発明による画像復号方法によれば，予め蓄積しておいた複数の動きベクトルから，使用する動きベクトルを選択して予測画像を作成することができる。従来のダイレクトモードでは，過去に符号化したフレームの動きベクトルを１フレーム分蓄積しておき，画面内の同位置の領域の動きベクトルを使用して予測画像を作成するため，動きベクトルを選択することはできなかった。本発明によれば動きベクトル候補から動きベクトルを選択できるため，符号化効率を向上させることができる。また，この方法によれば，連続するフレーム間で動きの連続性が無い場合であっても，複数の動きベクトル候補から動きベクトルを選択するため，効率の良い動きベクトルを選択することができる。【００３８】
動きベクトルは符号化対象フレームを符号化する前に予め蓄積しても良いし，符号化対象領域を符号化する前に予め蓄積しても良い。例えば，一定速度で移動するカメラで撮影した動画像を符号化する場合には，予めフレーム間の画像内容の移動距離を計測しておき，それを動きベクトルとして蓄積しておいても良い。また，複数のカメラで撮影した場合にはカメラ間の空間的な距離を計測しておき，それを動きベクトルとして蓄積しておいても良い。このように予め測定可能な動き量が得られる場合には，その動き量を動きベクトルとして蓄積しても良い。そしてこのような動きベクトル候補を複数持っておき，これを領域ごとに選択する。【００３９】
複数の予め蓄積された動きベクトルから，一つの動きベクトルを選択する基準として，例えば領域の画面内での位置を利用しても良い。これは，第２の発明による画像符号化方法あるいは第１１の発明による画像復号方法により実現できる。例えば，カメラの動き情報から，動きベクトルを算出する場合には，画面の上側と下側とでは動きベクトルが異なる場合がある。このような場合に，予め画面の上側と下側に合わせて動きベクトルを算出しておいてメモリに蓄積しておけば，各領域を符号化する際に，領域の位置情報を使って複数の動きベクトルから一つの動きベクトルを選択すると効率よく符号化することができる。また，動きベクトルを選択する基準として，スケーラブル符号化の場合には，符号化対象のフレームの属するレイヤ情報を利用しても良い。【００４０】
例えば，図７に示すような，基本レイヤと拡張レイヤを使って時間スケーラブル符号化を行う場合には，各レイヤに対応した動きベクトルを蓄積するメモリを用意しておき，各フレームを符号化する際に，そのフレームの属するレイヤ用のメモリに蓄積されている動きベクトルを選択しても良い。この方法は，図５に示すＭＣＴＦ符号化でも同様であり，各レイヤに対応した動きベクトルメモリを用意して，レイヤ情報を使って動きベクトルを選択すれば良い。【００４１】
また，このような動きベクトル情報をフレームまたは複数の領域ごとに符号化しても良い。この動きベクトル情報は画像復号側で復号して蓄積しておく。【００４２】
第３の発明による画像符号化方法あるいは第１２の発明による画像復号方法によれば，複数の動きベクトルから選択した，動きベクトルを指定する情報を符号化することにより，画像符号化側で符号化効率の良い動きベクトルを選択することができる。【００４３】
また，通常動きベクトル符号化では，縦成分と横成分を独立に符号化するため２シンボルを符号化するが，このように複数の動きベクトルから一つを選択する場合には動きベクトルを指定する情報を符号化するため，１シンボルのみを符号化することになり，符号化効率が向上する。【００４４】
第４の発明による画像符号化方法あるいは第１３の発明による画像復号方法によれば，複数のフレームから参照画像を選択して符号化する場合に，その参照画像を指定する情報を使って，動きベクトルも同時に指定でき，動きベクトルを指定する情報の符号量を削減することができる。予め蓄積する動きベクトルは複数のカテゴリに分類されており，各カテゴリは各参照画像に対応する。よって，参照画像を指定する情報に対して，一つの動きベクトルのカテゴリが対応付けられる。このカテゴリに属する動きベクトルのうち，従来のダイレクトモードと同様に，フレーム内の同位置の動きベクトルを選択する。なお，参照動きベクトル設定ステップは各領域で行う必要は無く，フレームまたは複数の領域ごとに一度実行するだけで良い。【００４５】
参照画像を指定する参照画像指定情報と参照画像との対応関係は複数設定することが可能であり，例えばＢフレームでは，前方向予測用の対応関係と，後方向予測用の対応関係をそれぞれ別に設定することができる。この場合，参照動きベクトル設定ステップは，前方向予測用と後方向予測用で二回実行する。【００４６】
第５の発明による画像符号化方法あるいは第１４の発明による画像復号方法によれば，動き探索を行って動きベクトルを求めて，この動きベクトルと予め蓄積する動きベクトルのうちから，動きベクトルを一つ選択して符号化する。これにより，予め蓄積した動きベクトルでは符号化効率が悪い領域においても，符号化効率を向上させることができる。探索動きベクトル指定符号化ステップでは，探索した動きベクトルを使用するのか，予め蓄積した動きベクトルを使用するのかを指定する情報を符号化するが，これを単独で符号化しても良いし，符号化モードと組み合わせて符号化しても良い。符号化モードでは，領域をイントラ符号化するのかどうか，または領域を再分割するかどうか，Ｂフレームの場合には予測方向はどちらか，などの情報が含まれている。この符号化モードの一つとして，例えば予め蓄積した動きベクトルを使用するかどうかを示しても良い。また，動きベクトル指定符号化ステップで，予め蓄積した動きベクトルのうちから選択する動きベクトルを指定する情報を符号化する場合には，この情報に，動き探索で得られる動きベクトルを選択するかどうかを指定する情報を組み合わせても良い。例えば，予め蓄積した動きベクトルが２つあり，これらのうちから選択する動きベクトルを指定する情報として，それぞれ数値０と１を適用するとすると，動き探索で得られる動きベクトルを数値２として指定するようにしても良い。【００４７】
第６の発明による画像符号化方法あるいは第１５の発明による画像復号方法によれば，動き探索を行って動きベクトルを求めて，この動きベクトルと予め蓄積する動きベクトルとの差分を符号化することにより，予め蓄積した動きベクトルでは符号化効率が悪い場合に，効率の良い動きベクトルを設定することができる。【００４８】
第７の発明による画像符号化方法あるいは第１６の発明による画像復号方法によれば，動き探索を行って求めた動きベクトルを蓄積することができる。これにより，予め蓄積した動きベクトルを更新することができる。動きベクトルを更新する方法として，例えば最も古く蓄積されている動きベクトルを廃棄して，新規に動きベクトルを蓄積しても良い。また，第４の発明による画像符号化方法あるいは第１３の発明による画像復号方法のように，参照画像を指定する情報を使って，動きベクトルも同時に指定する場合には，選択される参照画像内で同位置の動きベクトルを廃棄して，新規に動きベクトルを蓄積しても良い。さらに，動き探索を行って求めた動きベクトルを蓄積するかどうかを判定することができる。蓄積した動きベクトルは次フレーム以後で使用されるため，次フレーム以後の符号化効率を向上できる動きベクトルのみを蓄積すると，動きベクトルを蓄積するメモリ量を削減することができる。【００４９】
第８の発明による画像符号化方法あるいは第１７の発明による画像復号方法によれば，動き探索を行って求めた動きベクトルを蓄積する場合に，動きベクトルスケール情報を使って値を変更してから蓄積することができる。例えば動き探索では１／４画素精度の動きベクトルを求めておき，蓄積する際には整数画素精度の動きベクトルに変更しても良い。この時，整数画素以下の精度の動きベクトル情報が失われるが，動きベクトルを表現する数値を小さくすることができる。これにより，動きベクトルを蓄積するメモリ量を削減することができる。【００５０】
第９の発明による画像符号化方法あるいは第１８の発明による画像復号方法によれば，動きベクトルスケール情報を符号化することにより，蓄積する動きベクトルの精度をフレームまたは領域ごとに変更することが可能である。これにより，より適切に動きベクトルを蓄積するメモリ量を削減することができる。例えば，テクスチャの細かな領域では１／４画素のような細かな精度の動きベクトルを蓄積し，テクスチャの無い領域では整数画素のような荒い精度の動きベクトルを蓄積しても良い。【００５１】
本発明での差分符号化ステップでは，差分情報をロスレス符号化しても良いし，ロッシー符号化しても良い。
【発明の効果】
【００５２】
本発明によれば，予め蓄積しておいた複数の動きベクトルから，使用する動きベクトルを選択して予測画像を作成することができる。従来のダイレクトモードでは，過去に符号化したフレームの動きベクトルを１フレーム分蓄積しておき，画面内の同位置の領域の動きベクトルを使用して予測画像を作成するため，動きベクトルを選択することはできなかった。本発明によれば動きベクトル候補から動きベクトルを選択できるため，符号化効率を向上させることができる。また，この方法によれば，連続するフレーム間で動きの連続性が無い場合であっても，複数の動きベクトル候補から動きベクトルを選択するため，効率の良い動きベクトルを選択することができる。
【図面の簡単な説明】
【００５３】
【図１】予測関係の例１を示す図であって，上側はＩＢＢＰＢＢＰの予測関係を示し，下側は符号化順序を示している。
【図２】予測関係の例２を示す図であって，上側はＩＢＢＰＢＢＰの予測関係を示し，下側は符号化順序を示している。
【図３】ダイレクトモードでの動きベクトルを説明する図である。
【図４】Ｈ．２６４のブロック分割の模式図である。
【図５】ＭＣＴＦ符号化における時間方向のフィルタを説明する図である。
【図６Ａ】Ｈａａｒ基底でのリフティング・スキーム（Lifting Scheme）を説明する図であって，分析（符号化）側処理を示したものである。
【図６Ｂ】Ｈａａｒ基底でのリフティング・スキームを説明する図であって，合成（復号）側処理を示したものである。
【図７】スケーラブル符号化のフレーム構成例を示す図である。
【図８】本発明の第１の実施の形態による画像符号化装置の構成を示すブロック図である。
【図９】本発明の第１の実施の形態による画像復号装置の構成を示すブロック図である。
【図１０】本発明の第２の実施の形態による画像符号化装置の構成を示すブロック図である。
【図１１】本発明の第２の実施の形態による画像復号装置の構成を示すブロック図である。
【図１２】本発明の第３の実施の形態による画像符号化装置の構成を示すブロック図である。
【図１３】本発明の第３の実施の形態による画像復号装置の構成を示すブロック図である。
【図１４】本発明の第４の実施の形態による第３の実施の形態をもとにした画像符号化装置の構成を示すブロック図であって，スケール情報の符号化を行う場合の構成を示したものである。
【図１５】本発明の第４の実施の形態による第３の実施の形態をもとにした画像復号装置の構成を示すブロック図であって，スケール情報の復号を行う場合の構成を示したものである。
【図１６】本発明の第４の実施の形態による第１の実施の形態をもとにした画像符号化装置の構成を示すブロック図であって，スケール情報の符号化を行う場合の構成を示したものである。
【図１７】本発明の第４の実施の形態による第１の実施の形態をもとにした画像復号装置の構成を示すブロック図であって，スケール情報の復号を行う場合の構成を示したものである。
【図１８】本発明の第４の実施の形態による第２の実施の形態をもとにした画像符号化装置の構成を示すブロック図であって，スケール情報の符号化を行う場合の構成を示したものである。
【図１９】本発明の第４の実施の形態による第２の実施の形態をもとにした画像復号装置の構成を示すブロック図であって，スケール情報の復号を行う場合の構成を示したものである。
【図２０】本発明の第４の実施の形態による第３の実施の形態をもとにした画像符号化装置の構成を示すブロック図であって，スケール情報の符号化を行わない場合の構成を示したものである。
【図２１】本発明の第４の実施の形態による第３の実施の形態をもとにした画像復号装置の構成を示すブロック図であって，スケール情報の復号を行わない場合の構成を示したものである。
【図２２】本発明の第４の実施の形態による第１の実施の形態をもとにした画像符号化装置の構成を示すブロック図であって，スケール情報の符号化を行わない場合の構成を示したものである。
【図２３】本発明の第４の実施の形態による第１の実施の形態をもとにした画像復号装置の構成を示すブロック図であって，スケール情報の復号を行わない場合の構成を示したものである。
【図２４】本発明の第４の実施の形態による第２の実施の形態をもとにした画像符号化装置の構成を示すブロック図であって，スケール情報の符号化を行わない場合の構成を示したものである。
【図２５】本発明の第４の実施の形態による第２の実施の形態をもとにした画像復号装置の構成を示すブロック図であって，スケール情報の復号を行わない場合の構成を示したものである。
【図２６】本発明の第５の実施の形態による画像符号化装置の構成を示すブロック図である。
【図２７】本発明の第５の実施の形態による画像復号装置の構成を示すブロック図である。
【図２８】本発明の第６の実施の形態による画像符号化装置の構成を示すブロック図である。
【図２９】本発明の第６の実施の形態による画像復号装置の構成を示すブロック図である。
【図３０】本発明の第９の実施の形態による画像符号化装置の構成を示すブロック図である。
【図３１】本発明の第９の実施の形態による画像復号装置の構成を示すブロック図である。
【図３２】本発明の第９の実施の形態において，複数の動きベクトルから符号量が最小となるように動きベクトルを選択するようにした場合の画像符号化装置の構成を示すブロック図である。
【図３３】本発明の第９の実施の形態において，複数の動きベクトルから符号量が最小となるように動きベクトルを選択するようにした場合の画像復号装置の構成を示すブロック図である。
【図３４】本発明の第１０の実施の形態による画像符号化装置の構成を示すブロック図である。
【図３５】本発明の第１０の実施の形態による画像復号装置の構成を示すブロック図である。
【符号の説明】
【００５４】
１０１  画像入力部
１０２  動き探索部
１０３  差分符号化部
１０４  予測画像作成部
１０５  復号部
１０６  参照画像メモリ
１０７  動きベクトル蓄積メモリ
１０８  探索動きベクトル選択部
１０９  動きベクトル選択部
１１０  動きベクトル指定符号化部
１１１  探索動きベクトル指定符号化部
１１２  探索動きベクトル符号化部
１１３  符号量計測部
１１４  参照画像選択部
１１５  参照画像指定符号化部
１１６  参照動きベクトル設定部
１１７  差分動きベクトル符号化部
１１８  動きベクトル蓄積部
１１９  動きベクトル蓄積決定部
１２０  動きベクトル蓄積指定符号化部
１２１  動きベクトルスケール部
１２２  スケール符号化部
１２３  参照動きベクトル対応符号化部
１２４  動きベクトル生成部
１２５  生成動きベクトル符号化部
２０１  復号画像作成部
２０２  探索動きベクトル復号部
２０３  探索動きベクトル指定復号部
２０４  動きベクトル指定復号部
２０５  予測画像作成部
２０６  参照画像メモリ
２０７  動きベクトル蓄積メモリ
２０８  探索動きベクトル選択部
２０９  動きベクトル選択部
２１０  参照画像選択部
２１１  参照画像指定復号部
２１６  参照動きベクトル設定部
２１７  差分動きベクトル復号部
２１８  差分動きベクトル算出部
２１９  動きベクトル蓄積部
２２０  動きベクトル蓄積指定復号部
２２１  動きベクトルスケール部
２２２  スケール復号部
２２３  参照動きベクトル対応復号部
２２４  生成動きベクトル復号部
【発明を実施するための最良の形態】
【００５５】
図面を用いて本発明の画像符号化装置と画像復号装置の実施の形態を説明する。画像を複数のブロックに分割して符号化する場合の手順を示す。３つの動きベクトルを蓄積しておき，それらから１つを選択して符号化するものとする。【００５６】
〔第１の実施の形態〕
第１の実施の形態に係る画像符号化装置の説明を行う。図８に装置概要を示す。画像情報を取り込む画像入力部１０１と，予測画像を作成する予測画像作成部１０４と，入力画像情報と予測画像との差分を符号化する差分符号化部１０３と，動き探索を行う動き探索部１０２と，動きベクトルを蓄積する動きベクトル蓄積メモリ１０７と，動きベクトル蓄積メモリ１０７から１つの動きベクトルを選択する動きベクトル選択部１０９と，動きベクトル選択部１０９で選択した動きベクトルを指定する動きベクトル指定情報を符号化する動きベクトル指定符号化部１１０と，動き探索部１０２で探索された動きベクトルまたは動きベクトル選択部１０９で選択した動きベクトルのいずれかを選択する探索動きベクトル選択部１０８と，探索動きベクトル選択部１０８で選択した動きベクトルを指定する探索動きベクトル指定情報を符号化する探索動きベクトル指定符号化部１１１と，動き探索部１０２で探索された動きベクトルを符号化する探索動きベクトル符号化部１１２と，復号画像を蓄積する参照画像メモリ１０６と，差分符号化部１０３で作成された差分符号化データを復号して復号画像を作成する復号部１０５と，差分符号化部１０３で作成された差分符号化データの符号量と動きベクトルの符号量の合計を計測する符号量計測部１１３とを備える。【００５７】
動きベクトル蓄積メモリ１０７には，予め３つの動きベクトルが蓄積されているものとする。また，動きベクトル指定符号化部１１０では，動きベクトル蓄積メモリ１０７に蓄積された３つの動きベクトルを指定する動きベクトル指定情報について，それぞれ０，１０，１１の符号を出力するものとする。また，探索動きベクトル指定符号化部１１１では，動き探索部１０２で探索された動きベクトルの場合に０を，動きベクトル選択
部１０９で選択した動きベクトルの場合に１を出力するものとする。探索動きベクトル符号化部１１２では，動きベクトルの各成分をＭＰＥＧ−４で採用されている動きベクトル符号化方法を使って符号化するものとする。また，前フレームが既に符号化されており，参照画像メモリ１０６に復号画像が蓄積されているものとする。【００５８】
このような前提で入力画像を次のように符号化する。まず，画像入力部１０１はフレームを取り込み，マクロブロックに分割する。次にマクロブロック毎に次のように符号化する。【００５９】
動き探索部１０２は，現マクロブロックについて動き探索を行う。探索動きベクトル選択部１０８は，動き探索で得られた動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００６０】
次に，動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から第１の動きベクトルを選択する。探索動きベクトル選択部１０８は，動きベクトル選択部１０９で選択された動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００６１】
次に，動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から第２の動きベクトルを選択する。探索動きベクトル選択部１０８は，動きベクトル選択部１０９で選択された動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００６２】
次に，動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から第３の動きベクトルを選択する。探索動きベクトル選択部１０８は，動きベクトル選択部１０９で選択された動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００６３】
探索動きベクトル選択部１０８は，符号量計測部１１３で得られた発生符号量が最も少ない場合の動きベクトルを選択する。動きベクトル選択部１０９で選択された動きベクトルが選択される場合には，さらに動きベクトル選択部１０９は，符号量計測部１１３で得られた発生符号量が最も少ない場合の動きベクトルを選択する。【００６４】
以上により得られた動きベクトルを用いて，予測画像作成部１０４は予測画像を作成し，差分符号化部１０３は差分を符号化する。探索動きベクトル指定符号化部１１１は，探索動きベクトル指定情報を符号化する。探索動きベクトル指定情報が動きベクトル選択部１０９で選択される動きベクトルを指定する場合には，動きベクトル指定符号化部１１０は，動きベクトル指定情報を符号化する。探索動きベクトル指定情報が動き探索部１０２で得られる動きベクトルを指定する場合には，探索動きベクトル符号化部１１２は，動きベクトルを符号化する。【００６５】
以上の処理を全てのマクロブロックで実行する。復号部１０５は，符号化された差分を復号し，予測画像を使って復号画像を作成し，復号画像を参照画像メモリ１０６に蓄積する。以上により，現フレームを符号化することができる。【００６６】
次に，復号装置の説明を行う。図９に装置概要を示す。予測画像を作成する予測画像作成部２０５と，差分情報を復号して予測画像を使って復号画像を作成する復号画像作成部２０１と，動きベクトルを蓄積する動きベクトル蓄積メモリ２０７と，動きベクトル指定情報を復号する動きベクトル指定復号部２０４と，動きベクトル指定情報を使って動きベクトル蓄積メモリ２０７から１つの動きベクトルを選択する動きベクトル選択部２０９と，探索動きベクトル指定情報を復号する探索動きベクトル指定復号部２０３と，探索動きベクトル指定情報を使って動きベクトルを選択する探索動きベクトル選択部２０８と，動きベクトルを復号する探索動きベクトル復号部２０２と，復号画像を蓄積する参照画像メモリ２０６とを備える。【００６７】
動きベクトル蓄積メモリ２０７には，予め３つの動きベクトルが蓄積されているものとする。また，前フレームは既に復号されており，参照画像メモリ２０６に復号画像が蓄積されているものとする。【００６８】
このような前提で前記画像符号化装置で符号化された符号化データを次のように復号する。まず，マクロブロック毎に次のように復号画像を作成する。探索動きベクトル指定復号部２０３は，探索動きベクトル指定情報を復号する。探索動きベクトル選択部２０８は，探索動きベクトル指定情報を使って，動きベクトルを復号するか，動きベクトル指定情報を復号するかを選択する。動きベクトルを復号する場合には，探索動きベクトル復号部２０２は，動きベクトルを復号する。動きベクトル指定情報を復号する場合には，動きベクトル指定復号部２０４は，動きベクトル指定情報を復号し，動きベクトル選択部２０９は，動きベクトル指定情報を使って動きベクトル蓄積メモリ２０７から１つの動きベクトルを選択する。そして，予測画像作成部２０５は，動きベクトルを使って予測画像を作成し，復号画像作成部２０１は，差分情報を復号して予測画像を使って復号画像を作成する。【００６９】
以上の処理を全てのマクロブロックで実行する。復号画像作成部２０１は，復号画像を参照画像メモリ２０６に蓄積する。以上により，現フレームを復号することができる。【００７０】
本実施の形態によれば，動きベクトル蓄積メモリ１０７に映像の動き情報を良く反映した動きベクトルが蓄積されている場合であって，動き探索部１０２で探索される動きベクトルの符号量が多い場合に，動きベクトルを符号化する代わりに動きベクトル指定情報を符号化することにより，動きベクトルの符号量を削減することができる。【００７１】
〔第２の実施の形態〕
上記第１の実施の形態では，動き探索部１０２で探索された動きベクトルまたは動きベクトル蓄積メモリ１０７に蓄積された動きベクトルのいずれかを選択したが，探索された動きベクトルと，動きベクトル蓄積メモリ１０７に蓄積された動きベクトルとの差分を符号化するようにしても良い。図１０及び図１１に装置概要を示す。この場合には，図１０に示すように，画像符号化装置に探索動きベクトル符号化部１１２と探索動きベクトル指定符号化部１１１と探索動きベクトル選択部１０８を備えず，代わりに動きベクトルの差分を符号化する差分動きベクトル符号化部１１７を備える。【００７２】
また，図１１に示すように，画像復号装置に探索動きベクトル復号部２０２と探索動きベクトル指定復号部２０３と探索動きベクトル選択部２０８を備えず，差分動きベクトルを復号する差分動きベクトル復号部２１７と，差分動きベクトルと動きベクトル選択部２０９で選択した動きベクトルとから動きベクトルを算出する差分動きベクトル算出部２１８とを備える。【００７３】
画像符号化装置では，マクロブロック毎に次のようにして動きベクトルを求める。動き探索部１０２は，現マクロブロックについて動き探索を行う。予測画像作成部１０４は，探索された動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。そして，動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から第１の動きベクトルを選択する。差分動きベクトル符号化部１１７は，動き探索で得られた動きベクトルと第１の動きベクトルとの差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００７４】
動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から第２の動きベクトルを選択する。差分動きベクトル符号化部１１７は，動き探索で得られた動きベクトルと第２の動きベクトルとの差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００７５】
動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から第３の動きベクトルを選択する。差分動きベクトル符号化部１１７は，動き探索で得られた動きベクトルと第３の動きベクトルとの差分を符号化する。符号量計測部１１３は，発生符号量を計測する。動きベクトル選択部１０９は，符号量計測部１１３で得られた発生符号量が最も少ない場合の動きベクトルを選択する。【００７６】
画像復号装置では，マクロブロック毎に次のようにして動きベクトルを求める。動きベクトル指定復号部２０４は，動きベクトル指定情報を復号し，動きベクトル選択部２０９は，動きベクトル指定情報を使って動きベクトル蓄積メモリ２０７から１つの動きベクトルを選択する。差分動きベクトル復号部２１７は，差分動きベクトルを復号し，差分動きベクトル算出部２１８は，差分動きベクトルと動きベクトル選択部２０９で選択した動きベクトルとから動きベクトルを作成する。【００７７】
第１および第２の実施の形態において，画像符号化装置は，動き探索部１０２で得られる動きベクトルを動きベクトル蓄積メモリ１０７に上書きで蓄積しても良い。【００７８】
〔第３の実施の形態〕
以上の実施の形態において，動きベクトル蓄積メモリ１０７に蓄積するかどうかを指定する情報を符号化しても良い。第１の実施の形態をもとに本実施の形態を実現した場合の装置概要を図１２及び図１３に示す。この場合には，図１２に示すように，動きベクトルを蓄積する動きベクトル蓄積部１１８と，動きベクトルを蓄積するかどうかを決定する動きベクトル蓄積決定部１１９と，動きベクトルを蓄積するかどうかを指定する情報を符号化する動きベクトル蓄積指定符号化部１２０を，図８の構成に加えて新たに備える。【００７９】
動きベクトル蓄積決定部１１９では，例えば探索動きベクトル選択部１０８で，動き探索で得られる動きベクトルが選択される場合に，その動きベクトルを蓄積するように決定する。この動きベクトル蓄積決定部１１９で動きベクトルを蓄積すると決定した場合には，動きベクトル蓄積部１１８は，動きベクトル蓄積メモリ１０７に動きベクトルを蓄積する。動きベクトル蓄積指定符号化部１２０は，動きベクトルを蓄積するかどうかを指定する情報を符号化する。動きベクトル蓄積指定符号化部１２０は，マクロブロック毎に動きベクトル蓄積指定情報を符号化しても良いし，スライスやフレーム等の複数マクロブロックを単位に動きベクトル蓄積指定情報を符号化しても良い。【００８０】
このようにして作成される符号化データを復号するためには，図１３に示すように，画像復号装置は，動きベクトルを蓄積する動きベクトル蓄積部２１９と，動きベクトルを蓄積するかどうかを指定する情報を復号する動きベクトル蓄積指定復号部２２０を，図９の構成に加えて備える。動きベクトル蓄積指定復号部２２０は，動きベクトルを蓄積するかどうかを指定する情報を復号し，蓄積すると指定された場合に，動きベクトル蓄積部２１９は，動きベクトル蓄積メモリ２０７に動きベクトルを蓄積する。【００８１】
〔第４の実施の形態〕
以上の実施の形態において，さらに動きベクトル蓄積メモリ１０７に蓄積する前に，動きベクトルをスケールすることによって動きベクトルの成分の値を小さくして，蓄積に要するメモリ量を減らすことも可能である。第３の実施の形態をもとに本実施の形態を実現した場合の装置概要を図１４及び図１５に示す。【００８２】
本実施の形態を実現するためには，図１４に示すように，画像符号化装置に，動きベクトルスケール情報を使って動きベクトルの値を変更する動きベクトルスケール部１２１を備えれば良い。予め精度の低い，例えば整数画素精度にスケールした動きベクトルを動きベクトル蓄積メモリ１０７に蓄積しておき，動きベクトル選択部１０９で動きベクトルを選択した後で，動きベクトルスケール部１２１が動きベクトルをより精度の高い，例えば半画素精度や１／４画素精度の動きベクトルにスケールしても良い。また，動きベクトルを蓄積する場合には，動きベクトル蓄積部１１８で動きベクトル蓄積メモリ１０７に動きベクトルを蓄積する前に，動きベクトルスケール部１２１が動きベクトルを精度の高い半画素精度や１／４画素精度の動きベクトルから精度の低い整数画素精度の動きベクトルにスケールしても良い。【００８３】
さらに，この動きベクトルのスケール計算に必要な情報である動きベクトルスケール情報を符号化してもよい。動きベクトルスケール情報は，例えば動きベクトルスケール部１２１が動きベクトルを整数画素精度から半画素精度にスケールする場合には，そのスケールした値を得るための計算式を指定する情報であっても良い。これによって，例えばマクロブロックや複数マクロブロックの単位で，スケールの計算式を変更することが可能である。この場合には，画像符号化装置は，動きベクトルスケール情報を符号化するスケール符号化部１２２を備える。【００８４】
一方，図１５に示すように，画像復号装置では，動きベクトルスケール情報を使って動きベクトルの値を変更する動きベクトルスケール部２２１と，動きベクトルスケール情報を復号するスケール復号部２２２とを備える。動きベクトルスケール部２２１の動作は，画像符号化装置の動きベクトルスケール部１２１と同じである。また，スケール復号部２２２は，動きベクトルのスケール計算に必要な動きベクトルスケール情報を復号して，スケールの計算式を変更する。【００８５】
なお，上述した説明では、第３の実施の形態をもとに本実施の形態を実現するものとしたが，例えば第１の実施の形態あるいは第２の実施の形態をもとに実現しても良い。第１の実施の形態をもとにした場合の装置概要を図１６及び図１７に示す。また，第２の実施の形態をもとにした場合の装置概要を図１８及び図１９に示す。これらの図では、第１の実施の形態または第２の実施の形態に対して、動きベクトルスケール部１２１及びスケール符号化部１２２（画像符号化装置側），ならびに，動きベクトルスケール部２２１及びスケール復号部２２２（画像復号装置側）を追加している。【００８６】
また，上述した説明から分かるように、スケール情報の符号化（画像符号化装置の場合）または復号（画像復号装置の場合）は行わなくとも良く、この場合の装置概要を図２０〜図２５に示す。これら図２０〜図２５はそれぞれ図１４〜図１９に対応しており、図１４〜図１９からスケール符号化部１２２（画像符号化装置の場合）またはスケール復号部２２２（画像復号装置の場合）を削除している。【００８７】
〔第５の実施の形態〕
次に第５の実施の形態として，２フレーム分の復号画像を蓄積する参照画像メモリと，２フレーム分の動きベクトルを蓄積する動きベクトル蓄積メモリを備えておき，参照画像指定情報で参照画像と同時に動きベクトルも指定する方法の例を示す。画像を複数のブロックに分割して符号化する場合の手順を示す。【００８８】
第５の実施の形態の画像符号化装置の説明を行う。図２６に装置概要を示す。画像情報を取り込む画像入力部１０１と，予測画像を作成する予測画像作成部１０４と，入力画像情報と予測画像との差分を符号化する差分符号化部１０３と，動き探索を行う動き探索部１０２と，動きベクトルを蓄積する動きベクトル蓄積メモリ１０７と，動きベクトル蓄積メモリ１０７から１つの動きベクトルを選択する動きベクトル選択部１０９と，復号画像を蓄積する参照画像メモリ１０６と，参照画像を選択する参照画像選択部１１４と，参照画像指定情報を符号化する参照画像指定符号化部１１５と，動きベクトル蓄積メモリ１０７に蓄積した動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定部１１６と，動き探索部１０２で探索された動きベクトルまたは動きベクトル選択部１０９で選択した動きベクトルのいずれかを選択する探索動きベクトル選択部１０８と，探索動きベクトル選択部１０８で選択した動きベクトルを指定する探索動きベクトル指定情報を符号化する探索動きベクトル指定符号化部１１１と，動き探索部１０２で探索された動きベクトルを符号化する探索動きベクトル符号化部１１２と，差分符号化部１０３で作成された差分符号化データを復号して復号画像を作成する復号部１０５と，差分符号化部１０３で作成された差分符号化データの符号量と動きベクトルの符号量の合計を計測する符号量計測部１１３とを備える。【００８９】
動きベクトル蓄積メモリ１０７には，予め２フレーム分の動きベクトルが蓄積されているものとする。ここで１フレームは複数のマクロブロックで構成されるため，２フレーム中の総マクロブロック数分だけ動きベクトルを蓄積する。参照画像メモリ１０６には，予め２フレーム分の復号画像が蓄積されているものとする。また，参照画像指定符号化部１１５は，参照画像指定情報について１ビット固定長符号化するものとする。また，探索動きベクトル指定符号化部１１１では，動き探索部１０２で探索された動きベクトルの場合に０を，動きベクトル選択部１０９で選択した動きベクトルの場合に１を出力するものとする。探索動きベクトル符号化部１１２では，動きベクトルの各成分をＭＰＥＧ−４で採用されている動きベクトル符号化方法を使って符号化するものとする。また，動きベクトル選択部１０９は，参照画像指定情報で指定されるフレームの動きベクトルのうち，現マクロブロックと同位置の動きベクトルを選択するものとする。【００９０】
参照動きベクトル設定部１１６は，第１の参照画像を指定する参照画像指定情報を第１の動きベクトルに対応付けて，第２の参照画像を指定する参照画像指定情報を第２の動きベクトルに対応付けるものとする。【００９１】
このような前提で入力画像を次のように符号化する。まず，参照動きベクトル設定部１１６は，参照画像指定情報と動きベクトルとの対応付けを行う。そして，画像入力部１０１はフレームを取り込み，マクロブロックに分割する。次にマクロブロック毎に次のように符号化する。【００９２】
参照画像選択部１１４は，第１の参照画像を参照画像メモリ１０６から選択する。動き探索部１０２は，現マクロブロックについて動き探索を行う。探索動きベクトル選択部１０８は，動き探索で得られた動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。探索動きベクトル符号化部１１２は，動きベクトルを符号化する。符号量計測部１１３は，発生符号量を計測する。【００９３】
次に，動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から，参照画像指定情報で対応付けられた，第１の動きベクトルを選択する。探索動きベクトル選択部１０８は，動きベクトル選択部１０９で選択された動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００９４】
次に，参照画像選択部１１４は，第２の参照画像を参照画像メモリ１０６から選択する。動き探索部１０２は，現マクロブロックについて動き探索を行う。探索動きベクトル選択部１０８は，動き探索で得られた動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。探索動きベクトル符号化部１１２は，動きベクトルを符号化する。符号量計測部１１３は，発生符号量を計測する。【００９５】
次に，動きベクトル選択部１０９は，動きベクトル蓄積メモリ１０７から，参照画像指定情報で対応付けられた，第２の動きベクトルを選択する。探索動きベクトル選択部１０８は，動きベクトル選択部１０９で選択された動きベクトルを選択する。予測画像作成部１０４は，動きベクトルを用いて予測画像を作成する。差分符号化部１０３は，現画像と予測画像の差分を符号化する。符号量計測部１１３は，発生符号量を計測する。【００９６】
参照画像選択部１１４は，符号量計測部１１３で得られた発生符号量が最も少ない場合の参照画像を選択し，探索動きベクトル選択部１０８は，符号量計測部１１３で得られた発生符号量が最も少ない場合の動きベクトルを選択する。得られた動きベクトルと参照画像を用いて，予測画像作成部１０４は予測画像を作成し，差分符号化部１０３は差分を符号化する。参照画像指定符号化部１１５は，参照画像指定情報を符号化する。探索動きベクトル指定符号化部１１１は，探索動きベクトル指定情報を符号化する。探索動きベクトル選択部１０８で動き探索部１０２で得られた動きベクトルを符号化すると選択された場合には，探索動きベクトル符号化部１１２は，動きベクトルを符号化する。【００９７】
以上の処理を全てのマクロブロックで実行する。復号部１０５は，符号化された差分を復号し，予測画像を使って復号画像を作成し，復号画像を参照画像メモリ１０６に蓄積する。以上により，現フレームを符号化することができる。【００９８】
次に復号装置の説明を行う。図２７に装置概要を示す。予測画像を作成する予測画像作成部２０５と，差分情報を復号して予測画像を使って復号画像を作成する復号画像作成部２０１と，動きベクトルを蓄積する動きベクトル蓄積メモリ２０７と，復号画像を蓄積する参照画像メモリ２０６と，参照画像指定情報を復号する参照画像指定復号部２１１と，動きベクトル蓄積メモリ２０７に蓄積した動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定部２１６と，参照画像指定情報を使って参照画像メモリ２０６から参照画像を選択する参照画像選択部２１０と，参照画像指定情報を使って動きベクトル蓄積メモリ２０７から１つの動きベクトルを選択する動きベクトル選択部２０９と，探索動きベクトル指定情報を復号する探索動きベクトル指定復号部２０３と，探索動きベクトル指定情報を使って動きベクトルを選択する探索動きベクトル選択部２０８と，動きベクトルを復号する探索動きベクトル復号部２０２とを備える。【００９９】
動きベクトル蓄積メモリ２０７には，予め２フレーム分の動きベクトルが蓄積されているものとする。参照画像メモリ２０６には，予め２フレーム分の復号画像が蓄積されているものとする。【０１００】
このような前提で前記画像符号化装置で符号化された符号化データを次のように復号する。まず参照動きベクトル設定部２１６は，参照画像指定情報と動きベクトルの対応付けを行う。次にマクロブロック毎に次のように復号画像を作成する。【０１０１】
参照画像指定復号部２１１は，参照画像指定情報を復号する。参照画像選択部２１０は，参照画像を選択する。探索動きベクトル指定復号部２０３は，探索動きベクトル指定情報を復号する。探索動きベクトル選択部２０８は，探索動きベクトル指定情報を使って，動きベクトルを復号するかどうかを選択する。動きベクトルを復号する場合には，探索動きベクトル復号部２０２は，動きベクトルを復号する。動きベクトルを復号しない場合には，動きベクトル選択部２０９は，動きベクトル蓄積メモリ２０７から，参照画像指定情報で対応付けられた動きベクトルを選択する。そして予測画像作成部２０５は，動きベクトルを使って予測画像を作成し，復号画像作成部２０１は，差分情報を復号して予測画像を使って復号画像を作成する。【０１０２】
以上の処理を全てのマクロブロックで実行する。復号画像作成部２０１は，復号画像を参照画像メモリ２０６に蓄積する。以上により，現フレームを復号することができる。【０１０３】
〔第６の実施の形態〕
上記第５の実施の形態では，参照動きベクトル設定部１１６，２１６において，参照画像指定情報と動きベクトルとの対応付けは予め設定されていたが，この対応付け情報を符号化しても良い。第５の実施の形態をもとに本実施の形態を実現した場合の装置概要を図２８及び図２９に示す。この場合には，図２８に示されるように，画像符号化装置に参照動きベクトル対応符号化部１２３を備え，図２９に示されるように，画像復号装置に参照動きベクトル対応復号部２２３を備える。このような対応付け情報の更新は，マクロブロックや複数マクロブロック，または複数フレーム単位に行っても良い。【０１０４】
また，動きベクトル蓄積メモリ１０７には，２フレーム分の動きベクトルを蓄積した。すなわち，参照画像指定情報と，マクロブロックの画面内での位置情報の組み合わせに対して，動きベクトルを対応付けた。このようにマクロブロック毎に異なる動きベクトルを対応付けるのではなく，例えばスライス単位で動きベクトルを対応付けても良い。例えば画面が２つのスライスに分割される場合には，スライス番号と参照画像指定情報の組み合わせに対して動きベクトルを対応付けても良い。【０１０５】
また，動きベクトルと参照画像指定情報の対応付けは１つのみ設定したが，複数の対応付けを設定しても良い。この場合には，適用する対応付けを選択する情報を符号化または復号すれば良い。例えばＭＰＥＧ−２のＢフレームのように，マクロブロックについて前方向予測モードと後方向予測モードを定義しておき，前方向予測モードの場合の対応付けと後方向予測モードの場合の対応付けを設定する。前方向予測モードでは，参照画像指定情報１に対して第１の動きベクトルを対応付けて，参照画像指定情報２に対して第２の動きベクトルを対応付ける。そして，後方向予測モードでは，参照画像指定情報１に対して第２の動きベクトルを対応付けて，参照画像指定情報２に対して第１の動きベクトルを対応付ける。この場合には，マクロブロック毎に前方向予測モードか後方向予測モードかを指定する符号化モード情報を符号化または復号する。
【０１０６】
〔第７の実施の形態〕
図２６と図２７に示した実施の形態の構成で，本発明を時間スケーラブル符号化に適用することも可能である。基本レイヤの復号画像を第１の参照画像メモリに蓄積し，拡張レイヤの復号画像を第２の参照画像メモリに蓄積する。そして，基本レイヤのフレームは第１の参照画像メモリを参照画像とし，拡張レイヤのフレームは第２の参照画像メモリと第１の参照画像メモリから参照画像を選択する。【０１０７】
動きベクトル蓄積メモリ１０７に蓄積された動きベクトルについて，上記第５の実施の形態と同様に，第１の参照画像指定情報は，第１の動きベクトルに対応付けられ，第２の参照画像指定情報は，第２の動きベクトルに対応付けられる。このようにすると，基本レイヤのフレームを符号化または復号する場合には，第１の参照画像メモリのみ使用するため，第１の動きベクトルを選択することになる。また，拡張レイヤのフレームを符号化または復号する場合で，第２の参照画像メモリから参照画像を選択する場合には，第２の動きベクトルを選択することになる。【０１０８】
さらに，動きベクトル蓄積メモリ１０７，２０７に１フレーム分追加して，拡張レイヤのフレームを符号化または復号する場合で，第１の参照画像メモリから参照画像を選択する場合に，この動きベクトルを選択するようにしても良い。このように，時間スケーラブル符号化に適用すると，レイヤごとに別の動きベクトルを選択することができる。基本レイヤではフレーム時間間隔が大きく，拡張レイヤではフレーム時間間隔が小さい傾向があるため，このように別の動きベクトルを選択できると有効である。【０１０９】
〔第８の実施の形態〕
また，図２６と図２７に示した実施の形態の構成で，本発明を多視点符号化やステレオ符号化に適用することも可能である。ＭＰＥＧ−２マルチビュープロファイルに採用されているステレオ符号化では，１視点（視点Ａ）の映像を基本レイヤとし，別視点（視点Ｂ）の映像を拡張レイヤとして，上記の時間スケーラブル符号化と同様な方法を適用する。すなわち，視点Ａの復号画像を第１の参照画像メモリに蓄積し，視点Ｂの復号画像を第２の参照画像メモリに蓄積する。そして，視点Ａのフレームは第１の参照画像メモリを参照画像とし，視点Ｂのフレームは第２の参照画像メモリと第１の参照画像メモリから参照画像を選択する。【０１１０】
動きベクトル蓄積メモリ１０７に蓄積された動きベクトルについて，第５の実施の形態と同様に，第１の参照画像指定情報は第１の動きベクトルに対応付けられ，第２の参照画像指定情報は第２の動きベクトルに対応付けられる。このようにすると，視点Ａのフレームを符号化または復号する場合には，第１の参照画像メモリのみ使用するため，第１の動きベクトルを選択することになる。また，視点Ｂのフレームを符号化または復号する場合で，第２の参照画像メモリから参照画像を選択する場合には，第２の動きベクトルを選択することになる。【０１１１】
さらに，動きベクトル蓄積メモリ１０７に１フレーム分追加して，視点Ｂのフレームを符号化または復号する場合で，第１の参照画像メモリから参照画像を選択する場合に，この動きベクトルを選択するようにしても良い。このように，視点ごとに別の動きベクトルを選択することができる。視点ごとに動き情報が異なる場合に有効である。また，視点間の動き情報（視差情報）も，動きベクトル蓄積メモリ１０７に蓄積できるため，視差が時間によって変わらない場合に，動きベクトル（視差ベクトル）の符号量を削減することができる。【０１１２】
また，前述した実施の形態と同様に，動き探索部１０２で探索された動きベクトルを蓄積したり，また蓄積する際にスケールすることで動きベクトル蓄積メモリ１０７のメモリ量を軽減することも好適である。また，動き探索部１０２で得られる動きベクトルと，動きベクトル蓄積メモリ１０７に蓄積された動きベクトルとの差分を符号化するようにしても良い。【０１１３】
〔第９の実施の形態〕  第９の実施の形態として，１フレーム分の復号画像を蓄積する参照画像メモリと，３フレーム分の動きベクトルを蓄積する動きベクトル蓄積メモリを備えておき，領域の画面内位置情報に従って動きベクトルを選択する方法の例を示す。本実施の形態はカメラで撮影した画像を符号化する例であり，動きベクトル蓄積メモリにはＧＰＳ（Global Positioning System）等を利用して得られるカメラの位置情報変化から，動き量を測定して得られる動きベクトルを蓄積する例を示す。ＧＰＳ等を利用して得られるカメラの動き情報は，画面全体のグローバルな動き量に対応する。本実施の形態ではマクロブロックごとに符号化するものとする。
【０１１４】
まず，画像符号化装置の説明を行う。図３０に装置概要を示す。画像符号化装置は，画像情報を取り込む画像入力部１０１と，予測画像を作成する予測画像作成部１０４と，入力画像情報と予測画像との差分を符号化する差分符号化部１０３と，動きベクトルを蓄積する動きベクトル蓄積メモリ１０７と，動きベクトル蓄積メモリ１０７から１つの動きベクトルを選択する動きベクトル選択部１０９と，差分符号化部１０３で作成された差分符号化データを復号して復号画像を作成する復号部１０５と，復号画像を蓄積する参照画像メモリ１０６と，動きベクトルを生成する動きベクトル生成部１２４と，生成した動きベクトルを符号化する生成動きベクトル符号化部１２５を備える。
【０１１５】
動きベクトル生成部１２４では，カメラの位置情報変化から，画面上部領域と画面中部領域と画面下部領域に対応した動き量を推定し，３つの動きベクトルを生成し，動きベクトル蓄積メモリ１０７に蓄積するものとする。ここで，画面上部の領域に対する動きベクトルは第一の動きベクトルとして動きベクトルメモリ１０７に蓄積し，画面中部の領域に対する動きベクトルは第二の動きベクトルとして動きベクトルメモリ１０７に蓄積し，画面下部の領域に対する動きベクトルは第三の動きベクトルとして動きベクトルメモリ１０７に蓄積するものとする。動きベクトル選択部１０９は符号化対象マクロブロックの画面内位置に従って動きベクトル蓄積メモリ１０７から動きベクトルを選択する。画面上部であれば第一の動きベクトルを選択し，画面中部であれば第二の動きベクトルを選択し，画面下部であれば第三の動きベクトルを選択する。
【０１１６】
このような前提で入力画像を次のように符号化する。
まず動きベクトル生成部１２４は３つの動きベクトルを生成して動きベクトル蓄積メモリ１０７に蓄積する。生成動きベクトル符号化部１２５は動きベクトル生成部１２４が生成した３つの動きベクトルを符号化する。画像入力部１０１はフレームを取り込み，マクロブロックに分割する。次にマクロブロック毎に次のように符号化する。
【０１１７】
動きベクトル選択部１０９は各マクロブロックの画面内位置に従って動きベクトル蓄積メモリ１０７から動きベクトルを選択する。予測画像作成部１０４は動きベクトルを用いて予測画像を作成する。差分符号化部１０３は現画像と予測画像の差分を符号化する。以上の処理を全てのマクロブロックで実行する。復号部１０５は符号化された差分を復号し，予測画像を使って復号画像を作成し，復号画像を参照画像メモリ１０６に蓄積する。
以上により，現フレームを符号化することが出来る。
【０１１８】
次に復号装置の説明を行う。図３１に装置概要を示す。画像復号装置は，予測画像を作成する予測画像作成部２０５と，差分情報を復号して予測画像を使って復号画像を作成する復号画像作成部２０１と，動きベクトルを蓄積する動きベクトル蓄積メモリ２０７と，復号画像を蓄積する参照画像メモリ２０６と，動きベクトル蓄積メモリ２０７から１つの動きベクトルを選択する動きベクトル選択部２０９と，生成動きベクトルを復号する生成動きベクトル復号部２２４を備える。
生成動きベクトル復号部２２４は，３つの動きベクトルを復号し，得られた動きベクトルを動きベクトル蓄積メモリ２０７に蓄積する。
【０１１９】
このような前提で前記画像符号化装置で符号化された符号化データを次のように復号する。まず生成動きベクトル復号部２２４は動きベクトルを復号して動きベクトル蓄積メモリ２０７に蓄積する。
【０１２０】
次にマクロブロック毎に次のように復号画像を作成する。動きベクトル選択部２０９は動きベクトル蓄積メモリ２０７から，マクロブロックの画面内位置情報に従って動きベクトルを選択する。そして予測画像作成部２０５は，選択された動きベクトルを使って予測画像を作成し，復号画像作成部２０１は差分情報を復号して予測画像を使って復号画像を作成する。
以上の処理を全てのマクロブロックで実行する。復号画像作成部２０１は復号画像を参照画像メモリ２０６に蓄積する。
以上により，現フレームを復号することが出来る。
【０１２１】
本実施の形態ではマクロブロックの位置情報に従って一意に動きベクトルを選択したが，複数の動きベクトルから，符号量が最小となるように動きベクトルを選択するようにしても良い。この場合の画像符号化装置の構成を図３２に示す。図３０の構成に加えて，符号量を計測する符号量計測部１１３と，動きベクトルを指定する情報を符号化する動きベクトル指定符号化部１１０を備える。この構成では，マクロブロック毎に，動きベクトル蓄積メモリ１０７に蓄積されている３つの動きベクトルに対する符号量を測定して，符号量が最も少ない場合の動きベクトルを指定する情報を動きベクトル指定符号化部１１０で符号化する。また，画像復号装置の構成を図３３に示す。図３１の構成に加えて，動きベクトルを指定する情報を復号する動きベクトル指定復号部２０４を備える。動きベクトル指定復号部２０４で動きベクトルを指定する情報を復号して得ることで，マクロブロック毎に動きベクトルを選択することができる。
【０１２２】
〔第１０の実施の形態〕  次に第１０の実施の形態として，２フレーム分の復号画像を蓄積する参照画像メモリと，２フレーム分の動きベクトルを蓄積する動きベクトル蓄積メモリを備えておき，参照画像指定情報で参照画像と同時に動きベクトルも指定する方法の例を示す。本実施の形態はカメラで撮影した画像を符号化する例であり，動きベクトル蓄積メモリにはＧＰＳ等を利用して得られるカメラの位置情報変化から，参照画像メモリに蓄積した各フレームと現フレームとの動き量を測定して得られる動きベクトルを蓄積する例を示す。ＧＰＳ等を利用して得られるカメラの動き情報は，画面全体のグローバルな動き量に対応する。本実施の形態ではマクロブロックごとに符号化するものとする。
【０１２３】
まず，画像符号化装置の説明を行う。図３４に装置概要を示す。画像符号化装置は，画像情報を取り込む画像入力部と１０１，予測画像を作成する予測画像作成部１０４と，入力画像情報と予測画像との差分を符号化する差分符号化部１０３と，動きベクトルを蓄積する動きベクトル蓄積メモリ１０７と，動きベクトル蓄積メモリ１０７から１つの動きベクトルを選択する動きベクトル選択部１０９と，復号画像を蓄積する参照画像メモリ１０６と，参照画像を選択する参照画像選択部１１４と，参照画像指定情報を符号化する参照画像指定符号化部１１５と，動きベクトル蓄積メモリ１０７に蓄積した動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定部１１６と，差分符号化部１０３で作成された差分符号化データを復号して復号画像を作成する復号部１０５と，動きベクトルを生成する動きベクトル生成部１２４と，生成した動きベクトルを符号化する生成動きベクトル符号化部１２５と，符号量を計測する符号量計測部１１３を備える。
【０１２４】
動きベクトル生成部１２４では，カメラの位置情報変化から，参照画像メモリ１０６に蓄積した各フレームと現フレームとの間の動きベクトルを生成し，動きベクトル蓄積メモリ１０７に蓄積するものとする。参照動きベクトル設定部１１６では，第一の参照画像には第一の動きベクトルを対応づけし，第二の参照画像には第二の動きベクトルを対応づけしているものとする。１フレーム符号化後に，第一の参照画像の画像は第二の参照画像として参照画像メモリ１０６に蓄積され，復号画像は第一の参照画像として参照画像メモリ１０６に蓄積されるものとする。
【０１２５】
このような前提で入力画像を次のように符号化する。
まず参照動きベクトル設定部１１６は，参照画像指定情報と動きベクトルの対応付けを行う。画像入力部１０１は入力画像をマクロブロックに分割する。動きベクトル生成部１２４は入力画像に対して２つの動きベクトルを生成して動きベクトル蓄積メモリ１０７に蓄積する。生成動きベクトル符号化部１２５は動きベクトル生成部１２４が生成した２つの動きベクトルを符号化する。次にマクロブロック毎に次のように符号化する。
【０１２６】
参照画像選択部１１４は第一の参照画像を選択する。動きベクトル選択部１０９は，参照動きベクトル設定部１１６で対応づけられた参照画像指定情報に従って，動きベクトル蓄積メモリ１０７から動きベクトルを選択する。予測画像作成部１０４は動きベクトルを用いて予測画像を作成する。差分符号化部１０３は現画像と予測画像の差分を符号化する。符号量計測部１１３は符号量を計測する。
【０１２７】
次に，参照画像選択部１１４は第二の参照画像を選択する。動きベクトル選択部１０９は，参照動きベクトル設定部１１６で対応づけられた参照画像指定情報に従って，動きベクトル蓄積メモリ１０７から動きベクトルを選択する。予測画像作成部１０４は選択された動きベクトルを用いて予測画像を作成する。差分符号化部１０３は現画像と予測画像の差分を符号化する。符号量計測部１１３は符号量を計測する。
【０１２８】
そして参照画像選択部１１４は符号量計測部１１３で得られる符号量の少ない方を現フレームの符号化に用いる参照画像として選択する。動きベクトル選択部１０９は，参照動きベクトル設定部１１６で対応づけられた参照画像指定情報に従って，現フレームの符号化に用いる参照画像に対応した動きベクトルを動きベクトル蓄積メモリ１０７から選択する。予測画像作成部１０４は動きベクトルを用いて予測画像を作成する。差分符号化部１０３は現画像と予測画像の差分を符号化する。
【０１２９】
以上の処理を全てのマクロブロックで実行する。復号部１０５は符号化された差分を復号し，予測画像を使って復号画像を作成し，復号画像を第一の参照画像として参照画像メモリ１０６に蓄積する。
以上により，現フレームを符号化することが出来る。
【０１３０】
次に復号装置の説明を行う。図３５に装置概要を示す。画像復号装置は，予測画像を作成する予測画像作成部２０５と，差分情報を復号して予測画像を使って復号画像を作成する復号画像作成部２０１と，動きベクトルを蓄積する動きベクトル蓄積メモリ２０７と，復号画像を蓄積する参照画像メモリ２０６と，参照画像指定情報を復号する参照画像指定復号部２１１と，動きベクトル蓄積メモリ２０７に蓄積した動きベクトルと参照画像を指定する参照画像指定情報との対応関係を設定する参照動きベクトル設定部２１６と，参照画像指定情報を使って参照画像メモリ２０６から参照画像を選択する参照画像選択部２１０と，参照画像指定情報を使って動きベクトル蓄積メモリ２０７から１つの動きベクトルを選択する動きベクトル選択部２０９と，生成動きベクトルを復号する生成動きベクトル復号部２２４を備える。
【０１３１】
参照画像メモリ２０６には予め２フレーム分の復号画像が蓄積されているものとする。
このような前提で前記画像符号化装置で符号化された符号化データを次のように復号する。まず参照動きベクトル設定部２１６は，参照画像指定情報と動きベクトルの対応付けを行う。生成動きベクトル復号部２２４は動きベクトルを復号して動きベクトル蓄積メモリ２０７に蓄積する。
【０１３２】
次にマクロブロック毎に次のように復号画像を作成する。参照画像指定復号部２１１は参照画像指定情報を復号する。参照画像選択部２１０は復号された参照画像指定情報に従って参照画像を選択する。動きベクトル選択部２０９は動きベクトル蓄積メモリ２０７から，参照画像指定情報で対応付けられた動きベクトルを選択する。そして予測画像作成部２０５は，選択された動きベクトルを使って予測画像を作成し，復号画像作成部２０１は差分情報を復号して予測画像を使って復号画像を作成する。
以上の処理を全てのマクロブロックで実行する。復号画像作成部２０１は復号画像を第一の参照画像として参照画像メモリ２０６に蓄積する。
以上により，現フレームを復号することが出来る。
【０１３３】
以上の実施の形態では，差分データを不可逆符号化したが，可逆符号化しても良い。この場合には，画像符号化装置に復号部１０５を備えず，参照画像メモリ１０６に復号画像を蓄積するのではなく，原画像を蓄積しても良い。【０１３４】
以上説明した画像符号化および復号の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。【０１３５】
また，以上の実施の形態では画像符号化装置及び画像復号装置を中心に説明したが，これら画像符号化装置及び画像復号装置の各部の動作に対応したステップによって本発明の画像符号化方法及び画像復号方法を実現することができる。【０１３６】
以上，図面を参照して本発明の実施の形態を説明してきたが，上記実施の形態は本発明の例示に過ぎず，本発明が上記実施の形態に限定されるものでないことは明らかである。したがって，本発明の精神および範囲を逸脱しない範囲で構成要素の追加，省略，置換，その他の変更を行っても良い。例えば，上述した実施の形態の構成要素同士を適宜組み合わせてもよい。
【産業上の利用可能性】
【０１３７】
本発明は，フレーム間予測符号化方式を使った複数フレームの画像符号化に用いることができる。本発明では，予め蓄積しておいた複数の動きベクトルから，使用する動きベクトルを選択して予測画像を作成するため，動きベクトル候補から動きベクトルを選択でき，符号化効率を向上させることができる。また，連続するフレーム間で動きの連続性が無い場合であっても，複数の動きベクトル候補から動きベクトルを選択するため，効率の良い動きベクトルを選択することができる。
【図１】
0005052134.tif 000002
【図２】
0005052134.tif 000003
【図３】
0005052134.tif 000004
【図４】
0005052134.tif 000005
【図５】
0005052134.tif 000006
【図６Ａ】
0005052134.tif 000007
【図６Ｂ】
0005052134.tif 000008
【図７】
0005052134.tif 000009
【図８】
0005052134.tif 000010
【図９】
0005052134.tif 000011
【図１０】
0005052134.tif 000012
【図１１】
0005052134.tif 000013
【図１２】
0005052134.tif 000014
【図１３】
0005052134.tif 000015
【図１４】
0005052134.tif 000016
【図１５】
0005052134.tif 000017
【図１６】
0005052134.tif 000018
【図１７】
0005052134.tif 000019
【図１８】
0005052134.tif 000020
【図１９】
0005052134.tif 000021
【図２０】
0005052134.tif 000022
【図２１】
0005052134.tif 000023
【図２２】
0005052134.tif 000024
【図２３】
0005052134.tif 000025
【図２４】
0005052134.tif 000026
【図２５】
0005052134.tif 000027
【図２６】
0005052134.tif 000028
【図２７】
0005052134.tif 000029
【図２８】
0005052134.tif 000030
【図２９】
0005052134.tif 000031
【図３０】
0005052134.tif 000032
【図３１】
0005052134.tif 000033
【図３２】
0005052134.tif 000034
【図３３】
0005052134.tif 000035
【図３４】
0005052134.tif 000036
【図３５】
0005052134.tif 000037