"入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化手段と、上記量子化手段から出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化手段とを備えた画像符号化装置。評価値算出手段は、空間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする請求項1記載の画像符号化装置。評価値算出手段は、空間ダイレクトモードの評価値として、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出する一方、時間ダイレクトモードの評価値として、符号化対象のブロックの時間的に近傍にある符号化済みピクチャにおいて、符号化対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出することを特徴とする請求項1記載の画像符号化装置。ダイレクトベクトル選択手段は、選択対象のダイレクトモードを示すダイレクトモード切替フラグを入力すると、評価値算出手段により算出された評価値の比較結果に拘らず、上記ダイレクトモード切替フラグが示すダイレクトモードのダイレクトベクトルを選択し、可変長符号化手段は、上記ダイレクトモード切替フラグと量子化手段から出力された量子化係数を可変長符号化して、上記ダイレクトモード切替フラグ及び上記量子化係数の符号化データを出力することを特徴とする請求項1記載の画像符号化装置。符号化データから量子化係数を復号する可変長復号手段と、上記可変長復号手段により復号された量子化係数を逆量子化する逆量子化手段と、復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記逆量子化手段の逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算手段とを備えた画像復号装置。評価値算出手段は、空間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする請求項5記載の画像復号装置。評価値算出手段は、空間ダイレクトモードの評価値として、復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出する一方、時間ダイレクトモードの評価値として、復号対象のブロックの時間的に近傍にある復号済みピクチャにおいて、復号対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出することを特徴とする請求項5記載の画像復号装置。可変長復号手段は、符号化データから量子化係数及びダイレクトモード切替フラグを復号し、ダイレクトベクトル選択手段は、評価値算出手段により算出された評価値の比較結果に拘らず、上記可変長復号手段により復号されたダイレクトモード切替フラグが示すダイレクトモードのダイレクトベクトルを選択することを特徴とする請求項5記載の画像復号装置。ダイレクトベクトル生成手段が入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、量子化手段が上記予測画像生成処理ステップで生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化処理ステップと、可変長符号化手段が上記量子化処理ステップで出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化処理ステップとを備えた画像符号化方法。可変長復号手段が符号化データから量子化係数を復号する可変長復号処理ステップと、逆量子化手段が上記可変長復号処理ステップで復号された量子化係数を逆量子化する逆量子化処理ステップと、ダイレクトベクトル生成手段が復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、画像加算手段が上記予測画像生成処理ステップで生成された予測画像と上記逆量子化処理ステップにおける逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算処理ステップとを備えた画像復号方法。従来の画像符号化装置は以上のように構成されているので、スライスヘッダに設けられたフラグであるdirect_spatial_mv_pred_flagを参照すれば、スライス単位で、時間ダイレクトモードと空間ダイレクトモードを切り替えることができる。しかし、マクロブロック単位では、時間ダイレクトモードと空間ダイレクトモードを切り替えることができないため、或るスライスに属している或るマクロブロックに対する最適なダイレクトモードが例えば空間ダイレクトモードであっても、当該スライスに対応するダイレクトモードが時間ダイレクトモードに決められていれば、当該マクロブロックに対して時間ダイレクトモードを使用しなければならず、最適なダイレクトモードを選択することができない。このような場合、最適なダイレクトモードを選択することができないため、不必要な動きベクトルを符号化しなければならず、符号量が増加してしまうなどの課題があった。この発明は上記のような課題を解決するためになされたもので、所定のブロック単位に最適なダイレクトモードを選択することができる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法を得ることを目的とする。この発明に係る画像符号化装置は、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する評価値算出手段と、評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段とを設け、予測画像生成手段がダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するようにしたものである。この発明によれば、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する評価値算出手段と、評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段とを設け、予測画像生成手段がダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、所定のブロック単位に最適なダイレクトモードを選択することができるようになり、その結果、不必要な動きベクトルの符号化を避けて、符号量の増加を防止することができる効果がある。以下、この発明をより詳細に説明するために、この発明の実施するための形態について、添付の図面に従って説明する。実施の形態1.図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。図1の画像符号化装置では、AVC/H.264規格で採用されている符号化方式を用いている例を説明する。図1において、動きベクトルメモリ1は符号化済みマクロブロックあるいは、マクロブロックを分割したサブマクロブロックの動きベクトルを格納している例えばRAMなどの記録媒体である。動き補償予測部2はフレームメモリ9に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、入力画像を構成しているマクロブロックあるいは、マクロブロックを分割したサブマクロブロックの単位で、動き補償予測処理を実行して、当該マクロブロック符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成し、それぞれのマクロブロック毎に選択した参照画像の識別番号、動きベクトル及び予測画像等を出力する処理を実施する。ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。ただし、動き補償予測部2は符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する際、入力画像を構成しているマクロブロック毎に、当該マクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトル動きベクトルメモリ1に格納されている動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該マクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトル動きベクトルメモリ1に格納されている動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。また、動き補償予測部2は空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する処理を実施する。また、動き補償予測部2は空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。さらに、動き補償予測部2は選択したダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。減算器3は動き補償予測部2により生成された予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部4に出力する処理を実施する。符号化モード判定部4は減算器3から出力された予測差分信号の予測効率を評価して、減算器3から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択し、動き補償予測部2で当該予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む及び参照画像の識別番号を符号化モード情報として可変長符号化部10に出力し、また、最も予測効率が高い予測差分信号を圧縮部5に出力する処理を実施する。圧縮部5は符号化モード判定部4から出力された予測差分信号に対するDCT離散コサイン変換処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化して、量子化後のDCT係数である圧縮データを局部復号部6及び可変長符号化部10に出力する処理を実施する。なお、減算器3、符号化モード判定部4及び圧縮部5から量子化手段が構成されている。局部復号部6は圧縮部5から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT逆離散コサイン変換処理を実施することで、符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号を算出する処理を実施する。加算器7は局部復号部6により算出された予測誤差信号と動き補償予測部2により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。ループフィルタ8は加算器7から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ9に出力する処理を実施する。フレームメモリ9はループフィルタ8から出力された参照画像を格納するRAMなどの記録媒体である。可変長符号化部10は圧縮部5から出力された圧縮データ及び動き補償予測部2から出力された符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号をエントロピー符号化して、その符号化結果を示すビットストリーム符号化データを生成し、そのビットストリームを出力する処理を実施する。なお、可変長符号化部10は可変長符号化手段を構成している。図2はこの発明の実施の形態1による画像符号化装置の動き補償予測部2を示す構成図である。図2において、動きベクトル探索部21は符号化モードがインターモードである旨を示す情報を受信例えば、外部からインターモードを使用する旨を示す情報を受信すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部23に出力する処理を実施する。ダイレクトベクトル生成部22は符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部23に出力する処理を実施する。動き補償処理部23は動きベクトル探索部21又はダイレクトベクトル生成部22から出力された動きベクトルとフレームメモリ9に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。なお、動き補償処理部23は予測画像生成手段を構成している。図3は動き補償予測部2を構成しているダイレクトベクトル生成部22を示す構成図である。図3において、空間ダイレクトベクトル生成部31は動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。時間ダイレクトベクトル生成部32は動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。なお、空間ダイレクトベクトル生成部31及び時間ダイレクトベクトル生成部32からダイレクトベクトル生成手段が構成されている。ダイレクトベクトル判定部33は空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。図4はダイレクトベクトル生成部22を構成しているダイレクトベクトル判定部33を示す構成図である。図4において、動き補償部41は空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。類似度算出部42は空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。なお、動き補償部41及び類似度算出部42から評価値算出手段が構成されている。ダイレクトベクトル選択部43は類似度算出部42により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。なお、ダイレクトベクトル選択部43はダイレクトベクトル選択手段を構成している。図5はこの発明の実施の形態1による画像復号装置を示す構成図である。図5の画像復号装置では、AVC/H.264規格で採用されている符号化方式を用いている例を説明する。図5において、動きベクトルメモリ51は復号済みマクロブロックあるいは、マクロブロックを分割したサブマクロブロックの動きベクトルを格納している例えばRAMなどの記録媒体である。可変長復号部52は図1の画像符号化装置から出力されたビットストリーム符号化データを入力し、そのビットストリームから圧縮データ及び符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号をエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報を動き補償予測部54に出力する処理を実施する。なお、可変長復号部52は可変長復号手段を構成している。予測誤差復号部53は可変長復号部52から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号図1の符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号を算出する処理を実施する。なお、予測誤差復号部53は逆量子化手段を構成している。動き補償予測部54はフレームメモリ57に格納されている1フレーム以上の参照画像の中から、可変長復号部52から出力された識別番号が示す参照画像を読み出し、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部52から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。一方、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、図1の画像符号化装置における動き補償予測部2と同様にして、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。加算器55は動き補償予測部54により生成された予測画像と予測誤差復号部53から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器7から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する処理を実施する。ループフィルタ56は加算器55により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ57に格納するとともに、その復号画像を外部に出力する処理を実施する。なお、加算器55及びループフィルタ56から画像加算手段が構成されている。フレームメモリ57はループフィルタ56から出力された参照画像を格納するRAMなどの記録媒体である。図6はこの発明の実施の形態1による画像復号装置の動き補償予測部54を示す構成図である。図6において、ダイレクトベクトル生成部61は可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部62に出力する処理を実施する。動き補償処理部62はフレームメモリ57に格納されている1フレーム以上の参照画像の中から、可変長復号部52から出力された識別番号が示す参照画像を読み出し、マクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部52から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成し、マクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、ダイレクトベクトル生成部61から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する処理を実施する。なお、動き補償処理部62は予測画像生成手段を構成している。図7は動き補償予測部54を構成しているダイレクトベクトル生成部61を示す構成図である。図7において、空間ダイレクトベクトル生成部71は動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。時間ダイレクトベクトル生成部72は動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。なお、空間ダイレクトベクトル生成部71及び時間ダイレクトベクトル生成部72からダイレクトベクトル生成手段が構成されている。ダイレクトベクトル判定部73は空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。図8はダイレクトベクトル生成部61を構成しているダイレクトベクトル判定部73を示す構成図である。図8において、動き補償部81は空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。類似度算出部82は空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。なお、動き補償部81及び類似度算出部82から評価値算出手段が構成されている。ダイレクトベクトル選択部83は類似度算出部82により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。なお、ダイレクトベクトル選択部83はダイレクトベクトル選択手段を構成している。図1では、画像符号化装置の構成要素である動き補償予測部2、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部10のそれぞれが専用のハードウェア例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどで構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部2、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部10の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。図12はこの発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。図5では、画像復号装置の構成要素である可変長復号部52、予測誤差復号部53、動き補償予測部54、加算器55及びループフィルタ56のそれぞれが専用のハードウェア例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどで構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部52、予測誤差復号部53、動き補償予測部54、加算器55及びループフィルタ56の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。図13はこの発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。次に動作について説明する。最初に、図1の画像符号化装置の処理内容を説明する。動き補償予測部2は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位あるいは、サブマクロブロック単位に分割する。動き補償予測部2は、動画像信号をマクロブロック単位あるいは、サブマクロブロック単位に分割すると、フレームメモリ9に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロック単位あるいは、サブマクロブロック単位で、動き補償予測処理を実行することで、符号化対象のマクロブロックあるいは、サブマクロブロックの動きベクトルを生成して予測画像を生成する。動き補償予測部2は、符号化対象のマクロブロックあるいは、サブマクロブロックの動きベクトルを生成して予測画像を生成すると、その予測画像を減算器3に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ例えば、当該マクロブロックあるいは、サブマクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む及び参照画像の識別番号を符号化モード判定部4に出力する。以下、動き補償予測部2の処理内容を具体的に説明する。ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。動き補償予測部2の動きベクトル探索部21は、符号化モードがインターモードである旨を示す情報を受信例えば、外部からインターモードを使用する旨を示す情報を受信すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部23に出力する。インターモードで最適な動きベクトルを探索する処理自体は公知の技術であるため詳細な説明を省略する。動き補償予測部2のダイレクトベクトル生成部22は、符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部23に出力する。即ち、ダイレクトベクトル生成部22の空間ダイレクトベクトル生成部31は、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する図12のステップST1。また、ダイレクトベクトル生成部22の時間ダイレクトベクトル生成部32は、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するステップST2。ここで、図9は時間ダイレクトモードで動きベクトル時間ダイレクトベクトルを生成する方法を示す模式図である。例えば、ピクチャB2の中のマクロブロックMB1が符号化対象のマクロブロックであり、マクロブロックMB1を時間ダイレクトモードで符号化する場合を想定する。この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2の動きベクトルMVを用いる。この動きベクトルMVはピクチャP0を参照しており、マクロブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式3で求められる。時間ダイレクトベクトル生成部32は、動きベクトルMVL0,MVL1を算出すると、その動きベクトルMVL0,MVL1を時間ダイレクトモードの時間ダイレクトベクトルとしてダイレクトベクトル判定部33に出力する。ただし、時間ダイレクトベクトル生成部32における時間ダイレクトベクトルの生成方法は、図9に示すようなH.264方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。図10は空間ダイレクトモードで動きベクトル空間ダイレクトベクトルを生成する方法を示す模式図である。図10において、currentMBは、符号化対象のマクロブロックを表している。このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックAの動きベクトルをMVa、符号化対象のマクロブロックの上の符号化済マクロブロックBの動きベクトルをMVb、符号化対象のマクロブロックの右上の符号化済マクロブロックCの動きベクトルをMVcとすると、下記の式4に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン中央値を求めることにより、符号化対象のマクロブロックの動きベクトルMVを算出することができる。MV=medianMVa、MVb、MVc4空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。空間ダイレクトベクトル生成部31は、上記のようにして、前方及び後方の動きベクトルMVを算出すると、前方及び後方の動きベクトルMVを空間ダイレクトモードの空間ダイレクトベクトルとしてダイレクトベクトル判定部33に出力する。ただし、空間ダイレクトベクトル生成部31における空間ダイレクトベクトルの生成方法は、図10に示すようなH.264方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。ダイレクトベクトル生成部22のダイレクトベクトル判定部33は、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。また、ダイレクトベクトル判定部33は、時間ダイレクトベクトル生成部32が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。ダイレクトベクトル判定部33は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、以下に記載するような判定手段によってダイレクトモードのダイレクトベクトルを選択して動き補償処理部23に出力する。以下、ダイレクトベクトル判定部33の処理内容を具体的に説明する。ダイレクトベクトル判定部33の動き補償部41は、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルMVL0,MVL1を生成すると、図11に示すように、その空間ダイレクトベクトルMVL0を用いて、空間ダイレクトモードの前方予測画像fspatialを生成し、その空間ダイレクトベクトルMVL1を用いて、空間ダイレクトモードの後方予測画像gspatialを生成するステップST3。また、動き補償部41は、時間ダイレクトベクトル生成部32が前方及び後方の動きベクトルMVである時間ダイレクトベクトルを生成すると、図11に示すように、前方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像ftemporalを生成し、後方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの後方予測画像gtemporalを生成するステップST4。ダイレクトベクトル判定部33の類似度算出部42は、動き補償部41が空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialを生成すると、空間ダイレクトモードの評価値SADspatialとして、その前方予測画像fspatialと後方予測画像gspatialの類似度を算出するステップST5。SADspatial=|fspatial-gspatial|5また、類似度算出部42は、動き補償部41が時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalを生成すると、時間ダイレクトモードの評価値SADtemporalとして、その前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出するステップST6。SADtemporal=|ftemporal-gtemporal|6なお、前方予測画像と後方予測画像間の差分が大きい程、2つの画像間の類似度が低くなり2つの画像の差分絶対値和を示す評価値SADが大きくなる、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、2つの画像間の類似度が高くなり2つの画像の差分絶対値和を示す評価値SADが小さくなる、時間的な相関が高くなる。ダイレクトベクトル判定部33のダイレクトベクトル選択部43は、類似度算出部42が空間ダイレクトモードの評価値SADspatialと、時間ダイレクトモードの評価値SADtemporalとを算出すると、その評価値SADspatialと評価値SADtemporalを比較することで、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度と、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度とを比較するステップST7。ダイレクトベクトル選択部43は、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度が、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度より高い場合SADspatial≦SADtemporal、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力するステップST8。一方、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度が、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度より高い場合SADspatial>SADtemporal、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力するステップST9。動き補償処理部23は、符号化モードがダイレクトモードでないときステップST10、動きベクトル探索部21から動きベクトルを受けると、その動きベクトルとフレームメモリ9に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成するステップST11。一方、符号化モードがダイレクトモードであるときステップST10、ダイレクトベクトル生成部22から動きベクトルダイレクトベクトル選択部43により選択されたダイレクトベクトルを受けると、その動きベクトルとフレームメモリ9に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成するステップST12。なお、動き補償処理部23の動き補償予測処理は公知の技術であるため詳細な説明を省略する。ここでは、類似度算出部42が差分絶対値和である評価値SADを算出し、ダイレクトベクトル選択部43が評価値SADを比較するものについて示したが、類似度算出部42が評価値として、前方予測画像と後方予測画像間の差分二乗和SSEを算出し、ダイレクトベクトル選択部43が差分二乗和SSEを比較するようにしてもよい。SSEを用いることにより処理量は増えるが、より正確に類似度を算出することが可能となる。減算器3は、動き補償予測部2が予測画像を生成すると、その予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部4に出力するステップST13。符号化モード判定部4は、減算器3から予測差分信号を受ける毎に、その予測差分信号の予測効率を評価して、減算器3から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する。符号化モード判定部4における予測差分信号の予測効率を評価する処理自体は公知の技術であるため詳細な説明を省略する。符号化モード判定部4は、最も予測効率が高い予測差分信号を選択すると、動き補償予測部2において、その予測差分信号に係る予測画像の生成に用いられた動きベクトルと、マクロブロックタイプ/サブマクロブロックタイプ例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含むと、参照画像の識別番号とを含む符号化モード情報を可変長符号化部10に出力する。また、符号化モード判定部4は、最も予測効率が高い予測差分信号を圧縮部5に出力するステップST14。ただし、符号化モード判定部4は、符号化モードがインターモードであれば、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めて、その動きベクトルを含んでいる符号化モード情報を可変長符号化部10に出力するが、符号化モードがダイレクトモードである場合には、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めずに、その動きベクトルを含んでいない符号化モード情報を可変長符号化部10に出力する。圧縮部5は、符号化モード判定部4から予測差分信号を受けると、その予測差分信号に対するDCT処理を実施することで、DCT係数を算出して、そのDCT係数を量子化するステップST15。圧縮部5は、量子化後のDCT係数である圧縮データを局部復号部6及び可変長符号化部10に出力する。局部復号部6は、圧縮部5から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号を算出する。加算器7は、局部復号部6が予測誤差信号を復号すると、その予測誤差信号と動き補償予測部2により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。ループフィルタ8は、次の符号化処理に備えるため、加算器7から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ9に格納する。可変長符号化部10は、圧縮部5から圧縮データを受けると、その圧縮データと動き補償予測部2から出力された符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル符号化モードがインターモードの場合、参照画像の識別番号をエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力するステップST16。次に、図5の画像復号装置の処理内容を説明する。可変長復号部52は、図1の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ及び符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル符号化モードがインターモードの場合、参照画像の識別番号をエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報を動き補償予測部54に出力する図13のステップST21。予測誤差復号部53は、可変長復号部52から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号図1の符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号を算出するステップST22。動き補償予測部54は、可変長復号部52から参照画像の識別番号を受けると、フレームメモリ57に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。また、動き補償予測部54は、可変長復号部52からマクロブロックタイプ/サブマクロブロックタイプを受けると、そのマクロブロックタイプ/サブマクロブロックタイプを参照して、図1の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別するステップST23。動き補償予測部54は、図1の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部52から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成するステップST24。一方、図1の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、図1の画像符号化装置における動き補償予測部2と同様にして、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成するステップST25。以下、動き補償予測部54の処理内容を具体的に説明する。動き補償予測部54のダイレクトベクトル生成部61は、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部62に出力する。即ち、ダイレクトベクトル生成部61の空間ダイレクトベクトル生成部71は、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。ただし、空間ダイレクトベクトル生成部71における空間ダイレクトベクトルの生成方法は、図3の空間ダイレクトベクトル生成部31における空間ダイレクトベクトルの生成方法と同様であるため詳細な説明を省略する。ダイレクトベクトル生成部61の時間ダイレクトベクトル生成部72は、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。ただし、時間ダイレクトベクトル生成部72における時間ダイレクトベクトルの生成方法は、図3の時間ダイレクトベクトル生成部32における時間ダイレクトベクトルの生成方法と同様であるため詳細な説明を省略する。ダイレクトベクトル生成部61のダイレクトベクトル判定部73は、空間ダイレクトベクトル生成部71が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。また、ダイレクトベクトル判定部73は、時間ダイレクトベクトル生成部72が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。ダイレクトベクトル判定部73は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、適正な方のダイレクトモードのダイレクトベクトルを選択して動き補償処理部62に出力する。以下、ダイレクトベクトル判定部73の処理内容を具体的に説明する。ダイレクトベクトル判定部73の動き補償部81は、空間ダイレクトベクトル生成部71が空間ダイレクトベクトルMVL0,MVL1を生成すると、図11に示すように、その空間ダイレクトベクトルMVL0を用いて、空間ダイレクトモードの前方予測画像fspatialを生成し、その空間ダイレクトベクトルMVL1を用いて、空間ダイレクトモードの後方予測画像gspatialを生成する。また、動き補償部81は、時間ダイレクトベクトル生成部72が前方及び後方の動きベクトルMVである時間ダイレクトベクトルを生成すると、図11に示すように、前方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像ftemporalを生成し、後方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの後方予測画像gtemporalを生成する。ダイレクトベクトル判定部73の類似度算出部82は、動き補償部81が空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialを生成すると、図4の類似度算出部42と同様に、空間ダイレクトモードの評価値SADspatialとして、その前方予測画像fspatialと後方予測画像gspatialの類似度を算出する。また、類似度算出部82は、動き補償部81が時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalを生成すると、図4の類似度算出部42と同様に、時間ダイレクトモードの評価値SADtemporalとして、その前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出する。なお、前方予測画像と後方予測画像間の差分が大きい程、2つの画像間の類似度が低くなり2つの画像の差分絶対値和を示す評価値SADが大きくなる、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、2つの画像間の類似度が高くなり2つの画像の差分絶対値和を示す評価値SADが小さくなる、時間的な相関が高くなる。ダイレクトベクトル判定部73のダイレクトベクトル選択部83は、類似度算出部82が空間ダイレクトモードの評価値SADspatialと、時間ダイレクトモードの評価値SADtemporalとを算出すると、図4のダイレクトベクトル選択部43と同様に、その評価値SADspatialと評価値SADtemporalを比較することで、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度と、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度とを比較する。ダイレクトベクトル選択部83は、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度が、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度より高い場合SADspatial≦SADtemporal、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。一方、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度が、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度より高い場合SADspatial>SADtemporal、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。動き補償処理部62は、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部52から出力された動きベクトルとフレームメモリ9に格納されている1フレームの参照画像可変長復号部52から出力された識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。一方、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、ダイレクトベクトル生成部61から出力された動きベクトルとフレームメモリ9に格納されている1フレームの参照画像可変長復号部52から出力された識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。なお、動き補償処理部62の動き補償予測処理は公知の技術であるため詳細な説明を省略する。ここでは、類似度算出部82が差分絶対値和である評価値SADを算出し、ダイレクトベクトル選択部83が評価値SADを比較するものについて示したが、類似度算出部82が評価値として、前方予測画像と後方予測画像間の差分二乗和SSEを算出し、ダイレクトベクトル選択部83が差分二乗和SSEを比較するようにしてもよい。なお、類似度算出部82は符号化器の類似度算出部46と同一の評価値を用いる。加算器55は、動き補償予測部54が予測画像を生成すると、その予測画像と予測誤差復号部53から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器7から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成するステップST26。ループフィルタ56は、加算器55が復号画像信号を生成すると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ57に格納するとともに、その復号画像を外部に出力するステップST27。以上で明らかなように、この実施の形態1によれば、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成部22と、ダイレクトベクトル生成部22により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部42と、類似度算出部42により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部43とを設け、動き補償処理部23がダイレクトベクトル選択部43により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、マクロブロック単位に最適なダイレクトモードを選択することができるようになり、その結果、不必要な動きベクトルの符号化を避けて、符号量の増加を防止することができる画像符号化装置が得られる効果を奏する。また、この実施の形態1によれば、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成部61と、ダイレクトベクトル生成部61により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部82と、類似度算出部82により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部83とを設け、動き補償処理部62がダイレクトベクトル選択部83により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、マクロブロック単位に最適なダイレクトモードを選択することができるような符号化データを符号化可能な画像復号装置が得られる効果を奏する。実施の形態2.上記実施の形態1では、類似度算出部42,82が、空間ダイレクトモードの評価値SADspatialとして、空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialの類似度を算出する一方、時間ダイレクトモードの評価値SADtemporalとして、時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出するものについて示したが、空間ダイレクトモードの評価値として、符号化対象復号対象のマクロブロックの周囲に位置している符号化済みマクロブロック復号済みマクロブロックの動きベクトルの分散値σspatialを算出する一方、時間ダイレクトモードの評価値として、符号化対象のマクロブロック復号済みマクロブロックの時間的に近傍にある符号化済みピクチャ復号済みピクチャにおいて、符号化対象のマクロブロック復号済みマクロブロックと空間的に同じ位置にあるマクロブロックの周囲に位置している符号化済みブロック復号済みマクロブロックの動きベクトルの分散値σtemporalを算出するようにしてもよく、上記実施の形態1と同様の効果を奏することができる。即ち、類似度算出部42,82が、空間ダイレクトモードの評価値SADspatialとして、空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialの類似度を算出する代わりに、図14aに示すように、符号化対象復号対象のマクロブロックの周囲に位置している符号化済みマクロブロック復号済みマクロブロックの動きベクトルの分散値σspatialを算出する下記の式7を参照。また、類似度算出部42,82が、時間ダイレクトモードの評価値SADtemporalとして、時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出する代わりに、図14bに示すように、符号化対象のマクロブロック復号済みマクロブロックの時間的に近傍にある符号化済みピクチャ復号済みピクチャにおいて、符号化対象のマクロブロック復号済みマクロブロックと空間的に同じ位置にあるマクロブロックの周囲に位置している符号化済みブロック復号済みマクロブロックの動きベクトルの分散値σtemporalを算出する下記の式7を参照。ただし、は周囲の動きベクトルを示し、は周囲の動きベクトルの平均を示している。また、mはspatial又はtemporalを示す記号である。ダイレクトベクトル選択部43,83は、動きベクトルの分散値σspatialと動きベクトルの分散値σtemporalとを比較し、動きベクトルの分散値σspatialが動きベクトルの分散値σtemporalより大きい場合、空間ダイレクトモードの動きベクトル空間ダイレクトベクトルの信頼性が低いと判断して、時間ダイレクトモードの動きベクトル時間ダイレクトベクトルを選択する。一方、動きベクトルの分散値σtemporalが動きベクトルの分散値σspatialより大きい場合、時間ダイレクトモードの動きベクトル時間ダイレクトベクトルの信頼性が低いと判断して、空間ダイレクトモードの動きベクトル空間ダイレクトベクトルを選択する。実施の形態3.上記実施の形態1では、符号化モードがダイレクトモードであれば、マクロブロック単位に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを用いて、予測画像を生成するものについて示したが、例えば、スライスヘッダに含まれているダイレクトモード切替フラグであるdirect_spatial_mv_pred_flagが無意例えば、0である場合に限り、上記実施の形態1と同様な予測画像生成処理を実施し、そのダイレクトモード切替フラグが有意例えば、1又は2である場合、そのダイレクトモード切替フラグが指示するダイレクトモードのダイレクトベクトルを選択する例えば、フラグ=1の場合、空間ダイレクトモードの空間ダイレクトベクトルを選択し、フラグ=2の場合、時間ダイレクトモードの時間ダイレクトベクトルを選択するようにしてもよい。以下、この実施の形態3の処理内容を具体的に説明する。ここでは、説明の便宜上、スライスヘッダに含まれているダイレクトモード切替フラグが0であれば、上記実施の形態1と同様な予測画像生成処理を実施するものとするマクロブロック単位に、空間ダイレクトベクトル又は時間ダイレクトベクトルを選択する。ダイレクトモード切替フラグが1であれば、当該スライスにおいては、全てのマクロブロックに対して、空間ダイレクトモードの空間ダイレクトベクトルを選択するものとする。また、ダイレクトモード切替フラグが2であれば、当該スライスにおいては、全てのマクロブロックに対して、時間ダイレクトモードの時間ダイレクトベクトルを選択するものとする。この実施の形態3では、ダイレクトモード切替フラグが1又は2である場合、スライス単位で、空間ダイレクトベクトル又は時間ダイレクトベクトルに切り替えることになるが、これに限るものではなく、例えば、ピクチャ単位やシーケンス単位で、空間ダイレクトベクトル又は時間ダイレクトベクトルに切り替えるようにしてもよい。なお、この実施の形態3では、ダイレクトモード切替フラグが、3つの状態0、1、2を表すものとして説明するが、これに限るものではなく、例えば、ダイレクトモード切替フラグがON有意又はOFF無意のみを表す場合、更に、別のフラグ例えば、プロファイル情報や、constraint_set_flagなどを入力するようにしてもよい。即ち、ダイレクトモード切替フラグがOFFである場合、上記実施の形態1と同様な予測画像生成処理を実施する。一方、ダイレクトモード切替フラグがONである場合、例えば、別のフラグ情報が0であれば、空間ダイレクトモードの空間ダイレクトベクトルを選択し、別のフラグが1であれば、時間ダイレクトモードの時間ダイレクトベクトルを選択するようにする。図15はこの発明の実施の形態3による画像符号化装置を示す構成図であり、図において、図1と同一符号は同一又は相当部分を示すので説明を省略する。動き補償予測部11はスライスヘッダに含まれているダイレクトモード切替フラグが0である場合、図1の動き補償予測部2と同様の処理を実施する。また、動き補償予測部11はスライスヘッダに含まれているダイレクトモード切替フラグが1である場合、空間ダイレクトモードの空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。また、動き補償予測部11はスライスヘッダに含まれているダイレクトモード切替フラグが2である場合、時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。ただし、動き補償予測部11は、図1の動き補償予測部2と同様に、動きベクトル探索部21、ダイレクトベクトル生成部22及び動き補償処理部23から構成されている図2を参照。可変長符号化部12は圧縮部5から出力された圧縮データと、動き補償予測部11から出力された符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号及びダイレクトモード切替フラグとをエントロピー符号化して、その符号化結果を示すビットストリーム符号化データを生成し、そのビットストリームを出力する処理を実施する。なお、可変長符号化部12は可変長符号化手段を構成している。図16は動き補償予測部11を構成しているダイレクトベクトル生成部22を示す構成図であり、図において、図3と同一符号は同一又は相当部分を示すので説明を省略する。ダイレクトベクトル判定部34はスライスヘッダに含まれているダイレクトモード切替フラグが0である場合、図3のダイレクトベクトル判定部33と同様に、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。また、ダイレクトベクトル判定部34はダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する処理を実施する。また、ダイレクトベクトル判定部34はダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する処理を実施する。図17はダイレクトベクトル生成部22を構成しているダイレクトベクトル判定部34を示す構成図である。図17において、動き補償部44はスライスヘッダに含まれているダイレクトモード切替フラグが0である場合、図4の動き補償部41と同様に、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。また、動き補償部44はダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを類似度算出部45に出力し、そのダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを類似度算出部45に出力する処理を実施する。類似度算出部45はダイレクトモード切替フラグが0である場合、図4の類似度算出部42と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。また、類似度算出部45はダイレクトモード切替フラグが1である場合、動き補償部44から出力された空間ダイレクトベクトルをダイレクトベクトル選択部46に出力し、ダイレクトモード切替フラグが2である場合、動き補償部44から出力された時間ダイレクトベクトルをダイレクトベクトル選択部46に出力する処理を実施する。なお、動き補償部44及び類似度算出部45から評価値算出手段が構成されている。ダイレクトベクトル選択部46はダイレクトモード切替フラグが0である場合、図4のダイレクトベクトル選択部43と同様に、類似度算出部45により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。また、ダイレクトベクトル選択部46はダイレクトモード切替フラグが1である場合、類似度算出部45から出力された空間ダイレクトベクトルを選択して動き補償処理部23に出力し、ダイレクトモード切替フラグが2である場合、類似度算出部45から出力された時間ダイレクトベクトルを選択して動き補償処理部23に出力する処理を実施する。なお、ダイレクトベクトル選択部46はダイレクトベクトル選択手段を構成している。図18はこの発明の実施の形態3による画像復号装置を示す構成図であり、図において、図5と同一符号は同一又は相当部分を示すので説明を省略する。可変長復号部58は図15の画像符号化装置から出力されたビットストリーム符号化データを入力し、そのビットストリームから圧縮データ、符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号及びダイレクトモード切替フラグをエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報及びダイレクトモード切替フラグを動き補償予測部59に出力する処理を実施する。なお、可変長復号部58は可変長復号手段を構成している。動き補償予測部59はフレームメモリ57に格納されている1フレーム以上の参照画像の中から、可変長復号部58から出力された識別番号が示す参照画像を読み出し、可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部58から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。また、動き補償予測部59は可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部58から出力されたダイレクトモード切替フラグが0である場合、図15の画像符号化装置における動き補償予測部11と同様に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。また、動き補償予測部59は可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部58から出力されたダイレクトモード切替フラグが1である場合、空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。また、動き補償予測部59は可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部58から出力されたダイレクトモード切替フラグが2である場合、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。ただし、動き補償予測部59は、図6の動き補償予測部54と同様に、ダイレクトベクトル生成部61及び動き補償処理部62から構成されている図6を参照。図19は動き補償予測部59を構成しているダイレクトベクトル生成部61を示す構成図であり、図において、図7と同一符号は同一又は相当部分を示すので説明を省略する。ダイレクトベクトル判定部74は可変長復号部58から出力されたダイレクトモード切替フラグが0である場合、図7のダイレクトベクトル判定部73と同様に、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。また、ダイレクトベクトル判定部74はダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する処理を実施する。また、ダイレクトベクトル判定部74はダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する処理を実施する。図20はダイレクトベクトル生成部61を構成しているダイレクトベクトル判定部74を示す構成図である。図20において、動き補償部84は可変長復号部58から出力されたダイレクトモード切替フラグが0である場合、図8の動き補償部81と同様に、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。また、動き補償部84はダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを類似度算出部85に出力し、そのダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを類似度算出部85に出力する処理を実施する。類似度算出部85はダイレクトモード切替フラグが0である場合、図8の類似度算出部82と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。また、類似度算出部85はダイレクトモード切替フラグが1である場合、動き補償部84から出力された空間ダイレクトベクトルをダイレクトベクトル選択部86に出力し、ダイレクトモード切替フラグが2である場合、動き補償部84から出力された時間ダイレクトベクトルをダイレクトベクトル選択部86に出力する処理を実施する。なお、動き補償部84及び類似度算出部85から評価値算出手段が構成されている。ダイレクトベクトル選択部86はダイレクトモード切替フラグが0である場合、図8のダイレクトベクトル選択部83と同様に、類似度算出部85により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。また、ダイレクトベクトル選択部86はダイレクトモード切替フラグが1である場合、類似度算出部85から出力された空間ダイレクトベクトルを選択して動き補償処理部62に出力し、ダイレクトモード切替フラグが2である場合、類似度算出部85から出力された時間ダイレクトベクトルを選択して動き補償処理部62に出力する処理を実施する。なお、ダイレクトベクトル選択部86はダイレクトベクトル選択手段を構成している。図15では、画像符号化装置の構成要素である動き補償予測部11、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部12のそれぞれが専用のハードウェア例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどで構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部11、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部12の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。図18では、画像復号装置の構成要素である可変長復号部58、予測誤差復号部53、動き補償予測部59、加算器5及びループフィルタ56のそれぞれが専用のハードウェア例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなどで構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部58、予測誤差復号部53、動き補償予測部59、加算器55及びループフィルタ56の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。次に動作について説明する。最初に、図15の画像符号化装置の処理内容を説明する。ただし、動き補償予測部11及び可変長符号化部12以外は、図1の画像符号化装置と同様であるため、動き補償予測部11及び可変長符号化部12の処理内容についてのみ説明する。動き補償予測部11は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位あるいは、サブマクロブロック単位に分割する。動き補償予測部11は、動画像信号をマクロブロック単位あるいは、サブマクロブロック単位に分割すると、フレームメモリ9に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロック単位あるいは、サブマクロブロックで、色成分毎に動き補償予測処理を実行することで、符号化対象のマクロブロックあるいは、サブマクロブロックの動きベクトルを生成して予測画像を生成する。動き補償予測部11は、符号化対象のマクロブロックあるいは、サブマクロブロックの動きベクトルを生成して予測画像を生成すると、その予測画像を減算器3に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ例えば、当該マクロブロックあるいは、サブマクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む及び参照画像の識別番号を符号化モード判定部4に出力する。以下、動き補償予測部11の処理内容を具体的に説明する。ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。動き補償予測部11の動きベクトル探索部21は、符号化モードがインターモードである旨を示す情報を受信例えば、外部からインターモードを使用する旨を示す情報を受信すると、上記実施の形態1と同様に、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部23に出力する。動き補償予測部11のダイレクトベクトル生成部22は、符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部23に出力する。即ち、ダイレクトベクトル生成部22の空間ダイレクトベクトル生成部31は、上記実施の形態1と同様に、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。また、ダイレクトベクトル生成部22の時間ダイレクトベクトル生成部32は、上記実施の形態1と同様に、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。ダイレクトベクトル生成部22のダイレクトベクトル判定部34は、スライスヘッダに含まれているダイレクトモード切替フラグが0である場合、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出し、また、時間ダイレクトベクトル生成部32が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。そして、ダイレクトベクトル判定部34は、図3のダイレクトベクトル判定部33と同様に、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。ダイレクトベクトル判定部34は、ダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。また、ダイレクトベクトル判定部34は、ダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。例えば、画像全体がパンしているような入力画像であれば、時間ダイレクトモードを選択する旨を示す2のダイレクトモード切替フラグが与えられ、画面内で動きが異なる入力画像であれば、空間ダイレクトモードを選択する旨を示す1のダイレクトモード切替フラグが与えられることが考えられる。以下、ダイレクトベクトル判定部34の処理内容を具体的に説明する。ダイレクトベクトル判定部34の動き補償部44は、ダイレクトモード切替フラグが0である場合、図4の動き補償部41と同様に、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する。また、動き補償部44は、ダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを類似度算出部45に出力し、そのダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを類似度算出部45に出力する。ダイレクトベクトル判定部34の類似度算出部45は、ダイレクトモード切替フラグが0である場合、図4の類似度算出部42と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する。また、類似度算出部45は、ダイレクトモード切替フラグが1である場合、動き補償部44から出力された空間ダイレクトベクトルをダイレクトベクトル選択部46に出力し、ダイレクトモード切替フラグが2である場合、動き補償部44から出力された時間ダイレクトベクトルをダイレクトベクトル選択部46に出力する。ダイレクトベクトル判定部34のダイレクトベクトル選択部46は、ダイレクトモード切替フラグが0である場合、図4のダイレクトベクトル選択部43と同様に、類似度算出部45により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択し、そのダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。また、ダイレクトベクトル選択部46は、ダイレクトモード切替フラグが1である場合、類似度算出部45から出力された空間ダイレクトベクトルを入力し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。また、ダイレクトベクトル選択部46は、ダイレクトモード切替フラグが2である場合、類似度算出部45から出力された時間ダイレクトベクトルを入力し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。可変長符号化部12は、圧縮部5から圧縮データを受け、動き補償予測部11から符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号を受けると、その圧縮データ、符号化モード情報及びダイレクトモード切替フラグをエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する。次に、図18の画像復号装置の処理内容を説明する。ただし、動き補償予測部59及び可変長復号部58以外は、図5の画像復号装置と同様であるため、動き補償予測部59及び可変長復号部58の処理内容についてのみ説明する。可変長復号部58は、図15の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ、符号化モード情報マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル符号化モードがインターモードの場合、参照画像の識別番号及びダイレクトモード切替フラグをエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報及びダイレクトモード切替フラグを動き補償予測部59に出力する。動き補償予測部59は、可変長復号部58から参照画像の識別番号を受けると、フレームメモリ57に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。また、動き補償予測部59は、可変長復号部58からマクロブロックタイプ/サブマクロブロックタイプを受けると、そのマクロブロックタイプ/サブマクロブロックタイプを参照して、図15の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する。動き補償予測部59は、図15の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部58から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。また、動き補償予測部59は、図15の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部58から出力されたダイレクトモード切替フラグが0であれば、図15の画像符号化装置における動き補償予測部11と同様に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。動き補償予測部59は、図15の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部58から出力されたダイレクトモード切替フラグが1であれば、空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。また、動き補償予測部59は、図15の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部58から出力されたダイレクトモード切替フラグが2であれば、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。以下、動き補償予測部59の処理内容を具体的に説明する。動き補償予測部59のダイレクトベクトル生成部61は、可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、上記実施の形態1と同様に、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部62に出力する。即ち、ダイレクトベクトル生成部61の空間ダイレクトベクトル生成部71は、上記実施の形態1と同様に、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。ダイレクトベクトル生成部61の時間ダイレクトベクトル生成部72は、上記実施の形態1と同様に、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。ダイレクトベクトル生成部61のダイレクトベクトル判定部74は、可変長復号部58から出力されたダイレクトモード切替フラグが0である場合、空間ダイレクトベクトル生成部71が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出し、また、時間ダイレクトベクトル生成部72が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。そして、ダイレクトベクトル判定部74は、図7のダイレクトベクトル判定部73と同様に、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。ダイレクトベクトル判定部74は、ダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。また、ダイレクトベクトル判定部74は、ダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。以下、ダイレクトベクトル判定部74の処理内容を具体的に説明する。ダイレクトベクトル判定部74の動き補償部84は、可変長復号部58から出力されたダイレクトモード切替フラグが0である場合、図8の動き補償部81と同様に、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する。また、動き補償部84は、ダイレクトモード切替フラグが1である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを類似度算出部85に出力し、そのダイレクトモード切替フラグが2である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを類似度算出部85に出力する。類似度算出部85は、ダイレクトモード切替フラグが0である場合、図8の類似度算出部82と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する。また、類似度算出部85は、ダイレクトモード切替フラグが1である場合、動き補償部84から出力された空間ダイレクトベクトルをダイレクトベクトル選択部86に出力し、ダイレクトモード切替フラグが2である場合、動き補償部84から出力された時間ダイレクトベクトルをダイレクトベクトル選択部86に出力する。ダイレクトベクトル選択部86は、ダイレクトモード切替フラグが0である場合、図8のダイレクトベクトル選択部83と同様に、類似度算出部85により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択し、そのダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。また、ダイレクトベクトル選択部86は、ダイレクトモード切替フラグが1である場合、類似度算出部85から出力された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力し、ダイレクトモード切替フラグが2である場合、類似度算出部85から出力された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。以上で明らかなように、この実施の形態3によれば、スライスヘッダに含まれているダイレクトモード切替フラグであるdirect_spatial_mv_pred_flagが無意例えば、0である場合に限り、上記実施の形態1と同様な予測画像生成処理を実施し、そのダイレクトモード切替フラグが有意例えば、1又は2である場合、そのダイレクトモード切替フラグが指示するダイレクトモードのダイレクトベクトルを選択する例えば、フラグ=1の場合、空間ダイレクトモードの空間ダイレクトベクトルを選択し、フラグ=2の場合、時間ダイレクトモードの時間ダイレクトベクトルを選択するように構成したので、単位時間当たりに行える演算量や使用可能なメモリ量に応じて適切なモードを選択できる効果を奏する。また、画像符号化装置及び画像復号装置における処理の揺らぎを吸収して、適切な処理量で符号化や復号を行うことが可能になる。"