(57)【要約】【課題】  画像符号化装置において、互いに異なる複数種類の符号化方式に対する符号化対象マクロブロックの符号量の大小関係を高精度で判断し、符号化効率の高い符号化方式を高精度で選択する。【解決手段】  符号化対象フレームの画像情報を単位ブロック毎に符号化する画像符号化装置であって、符号化方式選択部が、複数種類の符号化方式毎に、符号化対象ブロックの画像情報及び参照画像情報に基づいて予測誤差値を算出する誤差値算出部１１と、複数種類の符号化方式毎に、動きベクトルの情報及び予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出部１２と、複数種類の符号化方式毎に、予測誤差値、符号化対象動きベクトルの情報及び量子化値に基づいて評価値を算出する評価値算出部１３と、複数種類の符号化方式に１つずつ対応する複数の評価値を比較する方式間比較部１４とで構成されている。【選択図】  図１
2006074499.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択部と、前記選択符号化方式に従って、参照フレームの画像情報を参照して、前記符号化対象フレームの画像情報を前記単位ブロック毎に符号化する符号化部とを含む画像符号化装置であって、
前記符号化方式選択部が、
前記複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて前記参照フレームの画像情報から参照画像情報を抽出し、かつ前記符号化対象ブロックの画像情報及び前記参照画像情報に基づいて予測誤差値を算出する誤差値算出部と、
前記複数種類の符号化方式毎に、符号化方式の種類に応じた動きベクトルの情報及び符号化方式の種類に応じた予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出部と、
前記複数種類の符号化方式毎に、前記誤差値算出部で算出される符号化方式の種類に応じた予測誤差値、前記符号化ベクトル導出部で導出される符号化方式の種類に応じた符号化対象動きベクトルの情報及び符号化方式の種類に応じた量子化値に基づいて、評価値を算出する評価値算出部と、
前記評価値算出部で算出される、前記複数種類の符号化方式に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を前記選択符号化方式として決定する方式間比較部とを備えることを特徴とする画像符号化装置。
【請求項２】
前記複数種類の符号化方式の中に、複数種類の動き補償モードが含まれている請求項１に記載の画像符号化装置。
【請求項３】
符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択部と、前記選択符号化方式に従って、参照フレームの画像情報を参照して、前記符号化対象フレームの画像情報を前記単位ブロック毎に符号化する符号化部とを含む画像符号化装置であって、
前記符号化方式選択部が、
前記複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて前記参照フレームの画像情報から参照画像情報を抽出し、かつ前記符号化対象ブロックの画像情報及び前記参照画像情報に基づいて予測誤差値を算出する誤差値算出部と、
前記動き補償モードの種類毎に、前記誤差値算出部で算出される、前記複数種類の符号化方式のうち同一種類の動き補償モードに属する複数種類の符号化方式に１つずつ対応する複数の予測誤差値を比較し、前記同一種類の動き補償モード内で最小の予測誤差値をとる符号化方式をモード内最適符号化方式として選択するモード内比較部と、
前記動き補償モードの種類毎に、前記モード内最適符号化方式の動きベクトルの情報及び前記モード内最適符号化方式の予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出部と、
前記動き補償モードの種類毎に、前記モード内最適符号化方式の予測誤差値、前記モード内最適符号化方式の符号化対象動きベクトルの情報及び前記モード内最適符号化方式に応じた量子化値に基づいて、評価値を算出する評価値算出部と、
前記評価値算出部で算出される、前記動き補償モードの種類に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を前記選択符号化方式として決定するモード間比較部とを備え、
前記複数種類の符号化方式の中に、複数種類の動き補償モードが含まれている画像符号化装置。
【請求項４】
前記符号化対象動きベクトルが、前記動き補償モードの種類に応じた数の少なくとも１つのベクトルを含み、
前記符号化対象動きベクトルの情報が、前記少なくとも１つのベクトルの各々のｘ成分及びｙ成分の値を含み、
前記評価値が、前記少なくとも１つのベクトルの各々のｘ成分の絶対値の増加及びｙ成分の絶対値の増加に伴って単調に増加するベクトル換算関数で算出される符号化対象動きベクトル換算値と、前記予測誤差値の増加に伴って単調に増加する誤差換算関数で算出される予測誤差換算値とを、前記量子化値の増加により前記予測誤差換算値に対する前記符号化ベクトル換算値の荷重を大きくして加算した値である請求項１、２又は３に記載の画像符号化装置。
【請求項５】
前記動きベクトル換算値が、前記少なくとも１つのベクトルの各々のｘ成分の絶対値及びｙ成分の絶対値の総和であり、
前記予測誤差換算値が、前記予測誤差値と同一であり、
前記評価値が、前記予測誤差換算値と、定数値、前記動きベクトル換算値及び前記量子化値を乗じた乗算値とを加算した値である請求項４に記載の画像符号化装置。
【請求項６】
前記定数値が、０．２５である請求項５に記載の画像符号化装置。
【請求項７】
符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択処理と、前記選択符号化方式に従って、参照フレームの画像情報を参照して、前記符号化対象フレームの画像情報を前記単位ブロック毎に符号化する符号化処理とをコンピュータに実行させる画像符号化プログラムであって、
前記符号化方式選択処理において、
前記複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて前記参照フレームの画像情報から参照画像情報を抽出し、かつ前記符号化対象ブロックの画像情報及び前記参照画像情報に基づいて予測誤差値を算出する誤差値算出処理と、
前記複数種類の符号化方式毎に、符号化方式の種類に応じた動きベクトルの情報及び符号化方式の種類に応じた予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出処理と、
前記複数種類の符号化方式毎に、前記誤差値算出処理により算出される符号化方式の種類に応じた予測誤差値、前記符号化ベクトル導出処理により導出される符号化方式の種類に応じた符号化対象動きベクトルの情報及び符号化方式の種類に応じた量子化値に基づいて、評価値を算出する評価値算出処理と、
前記評価値算出処理により算出される、前記複数種類の符号化方式に１つずつ対応する複数の前記評価値を比較し、最小の評価値をとる符号化方式を前記選択符号化方式として決定する方式間比較処理とを行うことを特徴とする画像符号化プログラム。
【請求項８】
前記複数種類の符号化方式の中に、複数種類の動き補償モードが含まれている請求項７に記載の画像符号化プログラム。
【請求項９】
符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択処理と、前記選択符号化方式に従って、参照フレームの画像情報を参照して、前記符号化対象フレームの画像情報を前記単位ブロック毎に符号化する符号化処理とをコンピュータに実行させる画像符号化プログラムであって、
前記符号化方式選択処理において、
前記複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて前記参照フレームの画像情報から参照画像情報を抽出し、かつ前記符号化対象ブロックの画像情報及び前記参照画像情報に基づいて予測誤差値を算出する誤差値算出処理と、
前記動き補償モードの種類毎に、前記誤差値算出処理により算出される、前記複数種類の符号化方式のうちの同一種類の動き補償モードに属する複数種類の符号化方式に１つずつ対応する複数の予測誤差値を比較し、前記同一種類の動き補償モード内で最小の予測誤差値をとる符号化方式をモード内最適符号化方式として選択するモード内比較処理と、
前記動き補償モードの種類毎に、前記モード内最適符号化方式の動きベクトルの情報及び予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出処理と、
前記動き補償モードの種類毎に、前記モード内最適符号化方式の予測誤差値、前記モード内最適符号化方式の符号化対象動きベクトルの情報及び前記モード内最適符号化方式に応じた量子化値に基づいて、評価値を算出する評価値算出処理と、
前記評価値算出処理で算出される、前記動き補償モードの種類に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を前記選択符号化方式として決定するモード間比較処理とを行い、
前記複数種類の符号化方式の中に、複数種類の動き補償モードが含まれていることを特徴とする画像符号化プログラム。
【請求項１０】
請求項７、８又は９に記載の画像符号化プログラムが記録されているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化技術に関する。より詳しくは、動画像の符号化に際して複数種類の動き補償モードから最適な動き補償モードを選択する技術や、複数種類の動きベクトルから最適な動きベクトルを選択する技術を用いて、動画像の符号化における符号化効率を向上させる技術に関する。
【背景技術】
【０００２】
近年、ＡＶ情報のディジタル化が進み、映像信号をディジタル化して取り扱うことのできる機器が広く普及しつつある。このような機器においては、映像信号が膨大な情報量を有することにより、記録容量や伝送効率を考慮して情報量を削減しつつ符号化することが一般的に行われている。映像信号の符号化技術としては、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）という作業部会により策定された国際規格が広く利用されており、この国際規格は上記の作業部会名をとってＭＰＥＧと称されている。この国際規格としては、ＭＰＥＧ１と呼称される規格（ＩＳＯ／ＩＥＣ  １１１７２−２）、ＭＰＥＧ２と呼称される規格（ＩＳＯ／ＩＥＣ  １３８１８−２）及びＭＰＥＧ４と呼称される規格（ＩＳＯ／ＩＥＣ  １４４９６−２）が存在している。
【０００３】
ＭＰＥＧ１においては、動きベクトルを用いた動き補償予測が利用される。ＭＰＥＧ１における動き補償では、符号化対象フレームを垂直方向１６画素×水平方向１６画素のマクロブロックと呼ばれる処理単位に分割し、処理単位毎に、符号化対象マクロブロックと最も相関性の高いブロックを時間的に前後する参照フレームにおける所定の探索範囲内から検出する。すなわち、符号化対象フレーム及び参照フレーム上で定義された座標系において、符号化対象マクロブロックと相関性の高いブロックとの相対位置を示す最適な動きベクトルを検出する。符号化対象ブロックを符号化する際に、この最適な動きベクトルの情報と、最適な動きベクトルの情報、符号化対象フレームの画像情報及び参照フレームの画像情報から決定される参照画像（予測画像）の差分値とを用いれば、符号化対象フレームの画像情報の情報量を削減することができる。
【０００４】
動き補償は、参照フレームの相違によって、更に、前方向予測による前方向動き補償モード、後方向予測による後方向動き補償及び双方向予測による双方向動き補償に分類できる。したがって、ＭＰＥＧ１では、３通りの動き補償モードで動き補償を行うことができる。
【０００５】
ここで、動き補償について、図７（ａ）〜（ｃ）を参照しながら詳しく説明する。図７（ａ）〜（ｃ）は、前方向動き補償、後方向動き補償及び双方向動き補償を説明するための説明図である。図７（ａ）が前方向動き補償を表わし、図７（ｂ）が後方向動き補償を表わし、図７（ｃ）が双方向動き補償を表わしている。図７（ａ）に示されたように、前方向動き補償では、予測画像情報（参照画像情報）が、符号化対象フレームよりも時間的に過去の画像フレーム（以下において、前フレームと称する）の画像情報に基づいて生成される。また、図７（ｂ）に示されたように、後方向動き補償では、予測画像情報（参照画像情報）が、符号化対象フレームよりも時間的に未来の画像フレーム（以下において、後フレームと称する）の画像情報に基づいて生成される。また、図７（ｃ）に示されたように、予測画像情報が、双方向動き補償では、前フレームの画像情報と後フレームの画像情報とに基づいて生成される。なお、双方向動き補償の予測画像情報は、前フレームの参照画像情報及び後フレームの参照画像情報を補間することによって生成される。
【０００６】
また、ＭＰＥＧ２においては、フレーム動き補償やフィールド動き補償を行うことができる。フレーム動き補償及びフィールド動き補償の各々は、参照フレームの相違によって前方向予測、後方向予測又は双方向予測に更に分類できるため、ＭＰＥＧ２では、２×３＝６通りの動き補償モードで動き補償を行うことができる。
【０００７】
ここで、フレーム動き補償及びフィールド動き補償について、図８を参照しながら説明する。図８は、フレーム動き補償及びフィールド動き補償を説明するための説明図である。図８の左図に示されたように、フレーム動き補償では、垂直方向１６画素×水平方向１６画素のマクロブロック単位で動き補償を行う。なお、図８の左図においては、１つのベクトル（図中の太い矢印）が表されているが、フレーム動き補償で用いられる最適な動きベクトルは、参照フレーム数に応じて１つ又は２つのベクトルで構成される。一方、フィールド動き補償では、符号化対象マクロブロック（図７の左図参照）を右下段図に示されたような偶数ラインからなる動き補償単位ブロックと、図７の右上段図に示されたような奇数ラインからなる動き補償単位ブロックとに分割して、垂直方向１６画素×水平方向８画素のブロック単位で動き補償を行う。なお、図８の右上段図及び右下段図においては、２つのベクトルが表されているが、フィールド動き補償で用いられる動きベクトルは、参照フレーム数に応じて２つ又は４つのベクトルで構成される。フィールド動き補償は、入力がインターレース画像のときに有効である。
【０００８】
また、ＭＰＥＧ４においては、垂直方向８画素×水平方向８画素のブロック単位の動き補償（以下において、８×８動き補償と称する）や、垂直方向１６画素×水平方向１６画素のブロック単位の動き補償（以下において、１６×１６動き補償と称する）を行うことができる。１６×１６動き補償は、前方向予測、後方向予測及び双方向予測に更に分類でき、また、８×８動き補償は、前方向予測及び後方向予測に更に分類できるために、ＭＰＥＧ４では、３×２＝６通りの動き補償モードで動き補償を行うことができる。
【０００９】
ここで、８×８動き補償及び１６×１６動き補償について、図９（ａ）及び（ｂ）を参照しながら説明する。図９は、８×８動き補償及び１６×１６動き補償を説明するための説明図であり、図９（ａ）が１６×１６動き補償を表し、図９（ｂ）が８×８動き補償を表す。図９（ａ）に示されたように、１６×１６動き補償では、垂直方向１６画素×水平方向１６画素のマクロブロック単位で動き補償を行う。図９（ａ）においては１つのベクトル（図中の太い矢印）が表されているが、１６×１６動き補償で用いられる動きベクトルは、参照フレームの数に応じて１つ又は２つのベクトルで構成される。一方、８×８動き補償では、符号化対象マクロブロック（図９（ａ）参照）を、図９（ｂ）に示されたように、垂直方向８画素×水平方向８画素からなる４つの動き補償単位ブロックに分割して、動き補償単位ブロック毎に最適なベクトルを検出する。なお、８×８動き補償では、参照フレームは前フレーム又は後フレームのいずれか一方であり、双方向予測を行うことはできない。したがって、８×８動き補償で用いられる動きベクトルは、４つのベクトルで構成される。
【００１０】
更に、映像信号の符号化技術においては、垂直方向４画素×水平方向４画素のブロック単位、垂直方向４画素×水平方向８画素のブロック単位等で動き補償を行う方法の規格化が進められている。
【００１１】
上述の各動き補償では、符号化される動きベクトルを構成するベクトル数（以下においては、動きベクトル数と称する）が動き補償モードによって異なっている。主要な動き補償モードに対する最適な動きベクトルを構成するベクトル数をまとめて表１に示す。
【００１２】
【表１】
2006074499.tif 000003
【００１３】
上述の各動き補償モードでは、最適な動きベクトルの情報と誤差画像情報との２つの情報を符号化して、時間的な冗長度を削減している。以下に、各動き補償モードに対する最適な動きベクトルを決定する方法を説明する。
【００１４】
動き補償においては、一般的に、符号化対称マクロブロックと参照ブロックとの輝度値の差分絶対値和（ＳＡＤ：Sum of Absolute Difference）又は差分二乗和（ＳＳＤ：Sum of Square Difference）を評価値として用いて、評価値が最小となる最適な動きベクトルを選択する（従来の動きベクトルの選択方法）。符号化対象マクロブロックと参照ブロックとの輝度値の差分絶対値和（ＳＡＤ）及び差分二乗和（ＳＳＤ）を、それぞれ、下記の数１及び数２に示す。
【００１５】
【数１】
2006074499.tif 000004
【００１６】
【数２】
2006074499.tif 000005
【００１７】
上記の数１及び数２において、ＯＲＧ（ｘ，ｙ）は、符号化対象マクロブロック内で定義された座標（ｘ，ｙ）で特定される画素の輝度値を意味し、ＲＥＦ（ｘ，ｙ）は、参照ブロック内で定義された座標（ｘ，ｙ）で特定される画素の輝度値を意味する。
【００１８】
また、誤差画像情報は、符号化対象マクロブロックと最適な動きベクトルに対応する参照ブロックとの画素ごとの輝度値の差分で構成される。なお、差分絶対値和や差分二乗和の大小関係は、符号化対象マクロブロックの符号量の一部をなす誤差画像の符号量（差分値の符号量）の大小関係を表す指標となる。
【００１９】
上記の従来の動きベクトルの選択方法では、符号化対象マクロブロックと相関性の高い参照ブロックとを選択できる。しかし、符号化対象マクロブロックの全体的な符号量は、動きベクトルの符号量と差分値の符号量とに依存するため、差分値の符号量が小さくても符号化対象マクロブロックの全体的な符号量が大きくなる場合がある。つまり、通常、画像自体の相関性が高ければ差分値の符号量は小さくなるが、相関性の高い参照ブロックの位置を意味する動きベクトルの符号量が大きいと、結果的に符号化対象マクロブロックの符号量は大きくなり、最適な動きベクトルを選択する方法とはいえない。
【００２０】
時間的な冗長度を更に削減する方法として、複数種類の動き補償モードから相関性の高い動き補償モードを選択して、符号化対象マクロブロックの画像情報を符号化する方法が知られている。例えば、符号化対象マクロブロック毎に、ＭＰＥＧ１では３種類の動き補償モード、ＭＰＥＧ２では６種類の動き補償モード、ＭＰＥＧ４では５種類の動き補償モードからのいずれか１種類の動き補償モードを選択することができる。従来においては、まず、複数種類の動き補償モードごとに、上述の動きベクトルの選択方法を適用して、評価値が最も小さくなる動きベクトル（以下においては、モード内最適動きベクトルと称する）を選択する。そして、複数種類の動き補償モードから相関性の高い動き補償モードの選択に、上記の符号化対象マクロブロックとモード内最適動きベクトルに対応づけられた予測ブロックとの輝度値の差分絶対値和（ＳＡＤ）又は差分二乗和（ＳＳＤ）、つまり、モード内最適補償モードを選択する際の差分値を評価値として比較する方法（従来の第１の選択方法）を適用していた。したがって、誤差画像情報の符号量のみを比較していた。
【００２１】
更に、従来の第１の選択方法以外に、動き補償モードの選択方法として、複数種類の動き補償モードから符号化対象マクロブロックの符号化効率の高い動き補償モードを選択する方法が提案されている。例えば、符号化対象マクロブロックの動き補償モードを選択する際に、選択対象である複数の動き補償モードのうち動きベクトルの符号量が最も小さい動き補償モードに対する評価値が、量子化値や動きベクトル数より算出される閾値以下だった場合、他の動き補償モードの評価値の大小にかかわらず、動きベクトルの符号量が最も少ない動き補償モードを選択する方法（従来の第２の選択方法）が知られている（例えば、特許文献１参照）。この従来の第２の選択方法において、閾値は、量子化値が大きいほど大きく設定され、量子化値が小さいほど小さく設定されている。
【００２２】
従来の第１の選択方法では、符号化対象マクロブロックの符号量の一部をなす動きベクトルの符号量が考慮されていないため、符号化効率の低い動き補償モードが選択される可能性があった。例えば、動きベクトル数が異なる動き補償モードを比較する際において、動きベクトル数が多くなれば動きベクトルの符号量が増加するため、動きベクトル数の多い動き補償モードに対する差分値の符号量が動きベクトル数の少ない動き補償モードより小さくても、動きベクトル数の多い動き補償モードに対する総合的な符号化対象マクロブロックの符号量が動きベクトル数の少ない動き補償モードに対する総合的な符号化対象マクロブロックの符号量より大きくなる場合が発生するからである。
【００２３】
ここで、このような符号化効率の低い動き補償モードが選択される場合について、図１０を参照しながら具体的に説明する。図１０（ａ）及び（ｂ）は、前方向予測による動き補償モードと双方向予測による動き補償モードとに対する符号化対象マクロブロックの符号量の内訳を表す説明図である。図１０（ａ）が、前方向予測による動き補償モードを選択すべき場合を表し、図１０（ｂ）が、双方向予測による動き補償モードを選択すべき場合を表している。図１０（ａ）及び（ｂ）に示されたように、符号化対象マクロブロックの符号量は、前方向予測による動き補償モードの場合には、前方向予測によるモード内最適動きベクトル（以下において、前方向動きベクトルとも称する）の符号量と前方向予測による最小差分値（以下において、前方向差分値とも称する）の符号量との和であり、双方向予測による動き補償モードの場合には、前方向動きベクトルの符号量と後方向予測によるモード内最適動きベクトル（以下において、後方向動きベクトルとも称する）の符号量と双方向予測による最小の差分値（以下において、双方向差分値とも称する）の符号量との和である。ここで、双方向差分値の符号量は、前方向差分値の符号量と後方向差分値との和ではない。
【００２４】
図１０（ａ）に示されたように、前方向差分値の符号量と双方向差分値の符号量との大小関係が、前方向予測による動き補償モードに対する符号化対象マクロブロックの符号量と双方向予測による動き補償モードに対する符号化対象マクロブロックの符号量との大小関係と同一である場合には、従来の第１の選択方法によっても符号化効率の高い方の動き補償モードが選択されていた。つまり、双方向予測の動き補償モードが選択されていた。しかし、図１０（ｂ）に示されたように、前方向差分値の符号量と双方向差分値の符号量との大小関係が、前方向予測による動き補償モードに対する符号化対象マクロブロックの符号量と前方向予測による動き補償モードに対する符号化対象マクロブロックの符号量との大小関係と反対である場合には、従来の第１の選択方法によっては符号化効率の高い方の動き補償モードが選択されなかった。つまり、双方向予測モードが選択されていた。
【００２５】
また、従来の第１の選択方法では、符号化対象マクロブロックを符号化する際の符号化レートが低い場合（量子化値が大きい場合）には、符号化レートが高い場合（量子化値が小さい場合）に比べて、符号化効率の低い方の動き補償モードが選択され易くなる。この理由について、図１１を参照しながら説明する。図１１は、同一の符号化対象マクロブロックを符号化レートのみを異ならせて符号化した場合における２つの符号化対象マクロブロックの符号量に対する内訳の相違を説明するための説明図である。図１１に示されたように、最適な動きベクトルの符号量は、符号化レートによらず略一定であるが、差分値の符号量は、符号化レートが低い（量子化値が大きい）と小さくなるため、符号化対象マクロブロックの符号量に占める差分値の符号量の割合が小さくなり、上記の数１に示された差分絶対値和（ＳＡＤ）又は上記の数２に示された差分二乗和（ＳＳＤ）のみに基づいて算出された評価値と符号化対象マクロブロックの符号量との相関が弱くなるからである。
【００２６】
また、従来の第２の選択方法は、動きベクトルの符号量が小さな動き補償モード順に、各動き補償モードの評価値が所定の閾値以下であるかを順次に判断し、評価値が初めて閾値以下となった動き補償モードを選択するため、符号化対象マクロブロックの符号量から符号量の最も少ない動き補償モードを選択することは困難であった。この理由について、図１２を参照しながら説明する。図１２は、符号化対象マクロブロックの符号量の内訳を表わす説明図である。なお、図１２において、動き補償モードＡに対する最適な動きベクトルの符号量は、所定の閾値以下であるとする。図１２に示されたように、動き補償モードＡに対する最適な動きベクトルの符号量が動き補償モードＢに対する最適な動きベクトルの符号量より少なく、動き補償モードＡに対する符号化対象マクロブロックの符号量が動き補償モードＢに対する符号化対象マクロブロックの符号量よりも多い場合がある。この場合には、従来の第２の選択方法では、動き補償モードＡに対する符号化対象マクロブロックの符号量が多いにもかかわらず、動き補償モードＡが選択されていた。つまり、符号化効率が低下して、画質に悪影響を及ぼすこととなる。
【特許文献１】特開２０００−３２４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
上記の従来の動きベクトルの選択方法では、符号化対象マクロブロックと画像自体の相関性の高い参照ブロックを選択してモード内最適動き補償ベクトルを決定しているが、差分値の符号化量が、符号化対象マクロブロックと参照ブロックとの画像自体の相関性に厳密には依存しないことが考慮されておらず、符号化対象マクロブロックの符号量の大小関係を高精度で判断することは困難であった。
【００２８】
上記の従来の第１の選択方法では、符号化対象マクロブロックの符号量の一部をなすモード内最適動きベクトルの符号量が考慮されておらず、また、符号化対象マクロブロックの符号量の一部をなす差分値の符号量が量子化値によって変動することが考慮されていないため、異なる動き補償モードに対する符号化対象マクロブロックの符号量の大小関係を高精度で判断することは困難であった。
【００２９】
また、上記の従来の第２の選択方法では、符号化対象マクロブロックにおける差分値の符号量が量子化値によって変動することは考慮されているが、評価値が所定の閾値より小さいか否かを判断すること、及び、複数の動き補償モードに対する動きベクトルの符号量の大小関係の判断と評価値の２値判断とを個別に行うことにより、異なる動き補償モードに対する符号化対象マクロブロックの符号量の大小関係を高精度で判断することは困難であった。
【００３０】
そこで、動きベクトルの選択における符号化対象マクロブロックの符号量の大小関係を高精度で判断することによって、符号化効率の高い動きベクトルを選択する際の選択精度を向上させる（第１の課題）。
【００３１】
また、本発明では、互いに異なる複数種類の動き補償モードに対する符号化対象マクロブロックの符号量の大小関係を高精度で判断することによって、符号化効率の高い動き補償モードを選択する際の選択精度を向上させる（第２の課題）。
【課題を解決するための手段】
【００３２】
上記の第１の課題を解決するために、本発明に係る画像符号化装置は、符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択部と、選択符号化方式に従って、参照フレームの画像情報を参照して、符号化対象フレームの画像情報を単位ブロック毎に符号化する符号化部とを含む画像符号化装置であって、符号化方式選択部が、（１）複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて参照フレームの画像情報から参照画像情報を抽出し、かつ符号化対象ブロックの画像情報及び参照画像情報に基づいて予測誤差値を算出する誤差値算出部と、（２）複数種類の符号化方式毎に、符号化方式の種類に応じた動きベクトルの情報及び符号化方式の種類に応じた予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出部と、（３）複数種類の符号化方式毎に、誤差値算出部で算出される符号化方式の種類に応じた予測誤差値、符号化ベクトル導出部で導出される符号化方式の種類に応じた符号化対象動きベクトルの情報及び符号化方式の種類に応じた量子化値に基づいて、評価値を算出する評価値算出部と、（４）評価値算出部で算出される、複数種類の符号化方式に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を選択符号化方式として決定する方式間比較部とを備えることを特徴とする。なお、以下においては、上記の構成の符号化方式選択部を符号化方式選択部Ａとも称し、符号化方式選択部Ａを備えた画像符号化装置を画像符号化装置Ａとも称する。
【００３３】
上記の第２の課題を解決するために、本発明に係る画像符号化装置は、符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択部と、選択符号化方式に従って、参照フレームの画像情報を参照して、符号化対象フレームの画像情報を単位ブロック毎に符号化する符号化部とを含む画像符号化装置であって、符号化方式選択部が、（１）複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて参照フレームの画像情報から参照画像情報を抽出し、かつ符号化対象ブロックの画像情報及び参照画像情報に基づいて予測誤差値を算出する誤差値算出部と、（２）動き補償モードの種類毎に、誤差値算出部で算出される、複数種類の符号化方式のうち同一種類の動き補償モードに属する複数種類の符号化方式に１つずつ対応する複数の予測誤差値を比較し、同一種類の動き補償モード内で最小の予測誤差値をとる符号化方式をモード内最適符号化方式として選択するモード内比較部と、（３）動き補償モードの種類毎に、モード内最適符号化方式の動きベクトルの情報及びモード内最適符号化方式の予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出部と、（４）動き補償モードの種類毎に、モード内最適符号化方式の予測誤差値、モード内最適符号化方式の符号化対象動きベクトルの情報及びモード内最適符号化方式に応じた量子化値に基づいて、評価値を算出する評価値算出部と、（５）評価値算出部で算出される、動き補償モードの種類に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を選択符号化方式として決定するモード間比較部とを備え、複数種類の符号化方式の中に、複数種類の動き補償モードが含まれていることを特徴とする。なお、以下においては、上記の構成の符号化方式選択部を符号化方式選択部Ｂとも称し、また、符号化方式選択部Ｂを備えた画像符号化装置を画像符号化装置Ｂとも称する。
【００３４】
上記の第１の課題を解決するために、本発明に係る画像符号化プログラムは、本発明に係るコンピュータプログラムは、符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択処理と、選択符号化方式に従って、参照フレームの画像情報を参照して、符号化対象フレームの画像情報を単位ブロック毎に符号化する符号化処理とをコンピュータに実行させる画像符号化プログラムであって、符号化方式選択処理において、（１）複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて参照フレームの画像情報から参照画像情報を抽出し、かつ符号化対象ブロックの画像情報及び参照画像情報に基づいて予測誤差値を算出する誤差値算出処理と、（２）複数種類の符号化方式毎に、符号化方式の種類に応じた動きベクトルの情報及び符号化方式の種類に応じた予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出処理と、（３）複数種類の符号化方式毎に、誤差値算出処理により算出される符号化方式の種類に応じた予測誤差値、符号化ベクトル導出処理により導出される符号化方式の種類に応じた符号化対象動きベクトルの情報及び符号化方式の種類に応じた量子化値に基づいて、評価値を算出する評価値算出処理と、（４）評価値算出処理により算出される、複数種類の符号化方式に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を選択符号化方式として決定する方式間比較処理とを行い、複数種類の符号化方式が、複数種類の動き補償モードを含むことを特徴とする。以下においては、この構成の画像符号化プログラムを画像符号化プログラムＡとも称する。
【００３５】
上記の第２の課題を解決するために、符号化対象フレームを複数に分割した単位ブロック毎に、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される複数種類の符号化方式から１つの選択符号化方式を選択する符号化方式選択処理と、選択符号化方式に従って、参照フレームの画像情報を参照して、符号化対象フレームの画像情報を単位ブロック毎に符号化する符号化処理とをコンピュータに実行させる画像符号化プログラムであって、符号化方式選択処理において、（１）複数種類の符号化方式毎に、符号化対象ブロックの画像情報、符号化方式の種類に応じた参照フレームの画像情報及び符号化方式の種類に応じた動きベクトルの情報に基づいて参照フレームの画像情報から参照画像情報を抽出し、かつ符号化対象ブロックの画像情報及び参照画像情報に基づいて予測誤差値を算出する誤差値算出処理と、（２）動き補償モードの種類毎に、誤差値算出処理により算出される、複数種類の符号化方式のうちの同一種類の動き補償モードに属する複数種類の符号化方式に１つずつ対応する複数の予測誤差値を比較し、同一種類の動き補償モード内で最小の予測誤差値をとる符号化方式をモード内最適符号化方式として選択するモード内比較処理と、（３）動き補償モードの種類毎に、モード内最適符号化方式の動きベクトルの情報及び予測動きベクトルの情報に基づいて、符号化対象動きベクトルの情報を導出する符号化ベクトル導出処理と、（４）動き補償モードの種類毎に、モード内最適符号化方式の予測誤差値、モード内最適符号化方式の符号化対象動きベクトルの情報及びモード内最適符号化方式に応じた量子化値に基づいて、評価値を算出する評価値算出処理と、（５）評価値算出処理で算出される、動き補償モードの種類に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を選択符号化方式として決定するモード間比較処理とを行い、複数種類の符号化方式の中に、複数種類の動き補償モードが含まれていることを特徴とする。以下においては、この構成の画像符号化プログラムを画像符号化プログラムＢとも称する。
【００３６】
また、上記の第１又は第２の課題を解決するために、本発明に係るコンピュータ読み取り可能な記録媒体は、それぞれ、上記の本発明に係る画像符号化プログラムＡ又はＢが記録されていることを特徴とする。
【発明の効果】
【００３７】
本発明に係る画像符号化装置Ａであれば、符号化対象ブロックの符号量の指標として、符号化対象動きベクトルと予測誤差値と量子化値とを考慮した評価値を用いることによって、複数種類の符号化方式から符号化効率の高い１つの符号化方式を高精度で選択できる。つまり、複数種類の符号化方式に１つずつ対応する複数種類の動きベクトルから符号化効率の高い１つの動きベクトルを高精度で選択できる。更に、異なる種類の動き補償モードに属する符号化方式が複数種類の符号化方式に含まれるか否かに依存せず、符号化効率の高い符号化方式（動きベクトル）を高精度で選択できる。また、符号化方式を１種類の動き補償モードに設定することにより、同一種類の動き補償モードに属する符号化方式の中から、符号化効率の高い符号化方式（動きベクトル）を高精度で選択できることは、言うまでもない。
【００３８】
また、本発明に係る画像符号化装置Ｂであれば、上記と同じ評価値を用いることによって、複数種類の動き補償モードに１つずつ対応する複数種類のモード内最適符号化方式から符号化効率の高い１つのモード内最適符号化方式を高精度で選択できる。つまり、複数種類の動き補償モードから符号化効率の高い１つの動き補償モードを選択できる。
【００３９】
本発明に係る画像符号化プログラムＡによれば、上記と同じ評価値を用いることによって、複数種類の符号化方式から符号化効率の高い１つの符号化方式を高精度で選択する画像符号化処理を実現できる。
【００４０】
また、本発明に係る画像符号化プログラムＢによれば、上記と同じ評価値を用いることによって、複数種類の動き補償モードに１つずつ対応する複数種類のモード内最適符号化方式から符号化効率の高い１つのモード内最適符号化方式を高精度で選択する画像符号化処理を実現できる。
【００４１】
また、本発明に係る記録媒体であれば、記録された本発明に係る画像符号化プログラムをコンピュータに読み取らせることによって、上記と同じ評価値を用いて複数種類の符号化方式から符号化効率の高い１つの符号化方式を高精度で選択する画像符号化処理、又は、上記と同じ評価値を用いて複数種類の動き補償モードに１つずつ対応する複数種類のモード内最適符号化方式から符号化効率の高い１つのモード内最適符号化方式を高精度で選択する画像符号化処理をコンピュータに実行させることができる。
【発明を実施するための最良の形態】
【００４２】
本発明に係る画像符号化装置Ａは、上述のように、符号化方式選択部Ａと、符号化部とを含む。符号化方式選択部Ａは、予測誤差値算出部と、モード内比較部と、符号化ベクトル導出部と、評価値算出部と、モード間比較部とを含む。なお、符号化部は、公知のいかなる構成であってもよい。
【００４３】
本発明の画像符号化装置Ａでは、符号化対象フレームの画像情報と、参照フレームの画像情報とは外部装置（外部撮像装置等）から入力される。符号化方式選択部Ａは、入力された符号化対象フレームの画像情報と参照フレームの画像情報と予測動きベクトルの情報と量子化値の情報とに基づき、複数種類の符号化方式から１つの符号化方式（選択符号化方式）を選択する。
【００４４】
複数種類の符号化方式は、動き補償モードの種類と動きベクトルの種類との相違により互いに識別される。つまり、動き補償モードの種類及び動きベクトルの種類の双方が一致する場合には同一の符号化方式とみなし、その他の場合には異なる符号化方式とみなす。
【００４５】
複数種類の符号化方式のすべてが１種類の動き補償モードに属していてもよい。また、複数種類の符号化方式の各々が複数種類の動き補償モードのいずれか１つに属していてもよい。この場合、複数種類の符号化方式は、動き補償モードの種類によって分類される。なお、同一種類の動き補償モードに属する複数種類の符号化方式は、動きベクトルの相違によって互いに識別される。
【００４６】
動き補償モードの種類は、動き補償の種類（補償単位ブロックの種類）と、動き補償を行うために参照する参照フレームの種類（予測方向の種類）とによって識別される。動き補償の種類としては、例えば、ＭＰＥＧ１において規格化された動き補償、ＭＰＥＧ２において規格化されたフレーム補償及びフィールド補償、ＭＰＥＧ４において規格化された８×８動き補償が挙げられる。また、参照フレームの種類としては、例えば、符号化対象フレームよりも過去の画像フレームである前フレーム（前方向予測）、符号化対象フレームよりも未来の画像フレームである後フレーム（後方向予測）、及び、後フレームと前フレームとの双方（双方向予測）が挙げられる。なお、前方向予測で参照する前フレームと双方向予測で参照する前フレームは、同一の画像フレームであってもよいし、異なる画像フレームであってもよい。また、後方向予測で参照する後フレームと双方向予測で参照する後フレームは、同一の画像フレームであってもよいし、異なる画像フレームであってもよい。更に、前方向予測で参照する前フレーム及び後方向予測で参照する後フレームは、動き補償の種類に依存せず同一の画像フレームであってもよいし、動き補償の種類によって異なる画像フレームであってもよい。
【００４７】
符号化対象フレームの画像情報とは、順次に入力される画像フレームのうち符号化の対象となっている１つの画像フレームの画像情報である。また、符号化対象ブロックの画像情報とは、符号化対象フレームを構成する複数の単位ブロックのうち符号化の対象となっている１つの単位ブロックの画像情報である。また、参照フレームの画像情報とは、順次に入力される画像フレームのうち、符号化対象ブロックに対する動き補償において少なくとも１つの符号化方式で参照される全ての画像フレームの画像情報である。ここで、各種の画像情報には、画像を形成するする各画素の画素値を含む。画素値は、例えば、モノクロ表示の場合であれば、輝度値を意味し、フルカラー表示の場合であれば、輝度成分（Ｙ成分）の値（輝度値）及び２種類の色差成分（Ｉ成分及びＱ成分、又は、Ｃｒ成分及びＣｂ成分）の値や、３種類の色成分（Ｒ成分、Ｇ成分、Ｂ成分）の値を意味する。また、各種の画像情報には、画像を形成する各画素の画素ブロック内又は画像フレーム内での位置を特定するためのアドレスの情報が含まれていてもよい。
【００４８】
誤差値算出部は、符号化対象フレームを分割した複数の単位ブロックから、１つの単位ブロックを符号化対象ブロックとして選択する。以下においては、選択された符号化対象ブロックに対する処理について説明する。
【００４９】
誤差値算出部は、まず、複数種類の符号化方式から１つの符号化方式を選択する。符号化対象ブロックの画像情報、選択された符号化方式の種類に応じた参照フレームの画像情報及び選択された符号化方式の種類に応じた動きベクトル（一般的には、探索ベクトルとも称される）の情報に基づいて、参照フレームの画像情報から参照画像情報を抽出する。なお、参照画像情報は、公知のいかなる画像符号化装置の場合と同様にして抽出されてもよい。ここで、動きベクトルは、選択された符号化方式に応じた動き補償を行うために必要なベクトルであって、動きベクトルを構成するベクトル数は、上記の表１に示されたように、動き補償の種類や参照フレームの種類（予測方向の種類）に応じて異なる。
【００５０】
次に、符号化対象ブロックの画像情報及び参照画像情報に基づいて予測誤差値が算出される。予測誤差値は、公知のいかなる画像符号化装置の場合と同様にして算出されてもよい。ここで、予測誤差値としては、符号化対象ブロックの画素値と予測画像情報の画素値との差分絶対値和（数１参照）又は差分二乗和（数２参照）で表される値を用いることができる。画素値としては、輝度値のみを用いてもよいし、画素値に含まれる他の値を用いてもよい。なお、輝度値のみを用いた場合、輝度値が画像の輪郭に関する大半の情報を有していること及び演算量が少なくなることによって、予測誤差値を高精度かつ高速に算出できる。
【００５１】
選択された動きベクトルの情報は、符号化ベクトル導出部へ出力される。また、算出された予測誤差値は、評価値算出部へ出力される。なお、誤差値算出部では、複数種類の符号化方式が１つずつ順次に選択され、複数種類の符号化方式の種類と同数の動きベクトルの情報や導出された符号化方式の種類と同数の予測誤差値は順次に出力される。
【００５２】
誤差値算出部では、符号化単位ブロックの画像情報と参照画像情報とから予測画像情報を更に生成し、生成した予測画像情報を符号化部に出力してもよい。予測画像情報は、公知のいかなる画像符号化装置の場合と同様にして算出されてもよい。
【００５３】
符号化ベクトル導出部は、誤差値算出部で選択された符号化方式に対応する動きベクトルの情報及びその符号化方式に対応する予測動きベクトルの情報に基づいて、その符号化方式に対応する符号化対象動きベクトルの情報を導出する。符号化対象動きベクトルの情報は、公知のいかなる画像符号化装置の場合と同様にして導出されてもよい。また、予測動きベクトルの情報は、公知のいかなる画像符号化装置の場合と同様にして、画像符号化装置内で生成されてもよい。
【００５４】
予測動きベクトルは、通常、符号化対象ブロックの周囲に配置された符号化済み単位ブロックから求められる。例えば、ＭＰＥＧ１及びＭＰＥＧ２の場合には、図４に示されたように、予測動きベクトルは、符号化対象ブロックの直前に符号化された単位ブロック、つまり、符号化対象ブロックの左隣に隣接する単位ブロックの動きベクトル（ＭＶ１）である。また、ＭＰＥＧ４の１６×１６動き補償の場合には、図５に示されたように、符号化対象ブロックの左隣に隣接する単位ブロックの動きベクトル（ＭＶ１）、上に隣接する単位ブロックの動きベクトル（ＭＶ２）及び右上に隣接する単位ブロックの動きベクトル（ＭＶ３）から予測動きベクトルを求める。予測動きベクトルのｘ成分及びｙ成分は、それぞれ、３つの動きベクトル（ＭＶ１〜ＭＶ３）のｘ成分の中央値及びｙ成分の中央値である。また、ＭＰＥＧ４の８×８動き補償の場合、符号化対象ブロック（図中の破線）の左上の動き補償ブロックに対しては、図６（ａ）に示されたように、左に隣接する単位ブロックの右上の動き補償ブロックのベクトル（ＭＶ１）、上に隣接する単位ブロックの左下の動き補償ブロックのベクトル（ＭＶ２）及び符号化対象ブロックの右上に隣接する単位ブロックの左下の動き補償ブロック（ＭＶ３）から予測ベクトルを求める。符号化対象ブロックの右上の動き補償ブロックに対しては、図６（ｂ）に示されたように、符号化対象ブロックの左上の動き補償ブロックのベクトル（ＭＶ１）、上に隣接する単位ブロックの右下の動き補償ブロックのベクトル（ＭＶ２）及び右上に隣接する単位ブロックの左下の動き補償ブロック（ＭＶ３）から予測ベクトルを求める。符号化対象ブロックの左下の動き補償ブロックに対しては、図６（ｃ）に示されたように、左に隣接する単位ブロックの右上の動き補償ブロックのベクトル（ＭＶ１）、符号化対象ブロックの左上の動き補償ブロックのベクトル（ＭＶ２）及び符号化対象ブロックの右上の動き補償ブロック（ＭＶ３）から予測ベクトルを求める。また、符号化対象ブロックの右下の動き補償ブロックに対しては、図６（ｄ）に示されたように、符号化対象ブロックの左下の動き補償ブロックのベクトル（ＭＶ１）、符号化対象ブロックの左上の動き補償ブロックのベクトル（ＭＶ２）及び符号化対象ブロックの右上の動き補償ブロック（ＭＶ３）から予測ベクトルを求める。これにより、予測動きベクトルを構成する４つの予測ベクトルが求められる。なお、各動き補償ブロックに対する予測ベクトルのｘ成分及びｙ成分は、それぞれ、各動き補償ブロックで参照する３つの動き補償ブロック（ＭＶ１〜ＭＶ３）のｘ成分の中央値及びｙ成分の中央値である。
【００５５】
動きベクトルの情報及び導出された符号化対象動きベクトルの情報は、評価値算出部に出力される。なお、誤差値算出部で複数種類の符号化方式が１つずつ順次に選択されることによって、符号化ベクトル導出部では、符号化方式の種類と同数の対符号化対象動きベクトルが順次に導出され、導出された符号化方式の種類と同数の符号化対象動きベクトルは方式間比較部に出力される。
【００５６】
評価値算出部は、誤差値算出部で選択された符号化方式に対応する予測誤差値と、その符号化方式に対応して符号化ベクトル算出部で算出された符号化対象動きベクトルの情報と、その符号化方式に対応する量子化値とに基づいて、その符号化方式に対応する評価値を算出する。量子化値は、画像フレームや符号化対象フレームにおける符号化対象ブロックの位置や動き補償モードの種類に応じて変動する値である。
【００５７】
量子化値は、公知のいかなる画像符号化装置の場合と同様にして決定されてもよい。量子化値は、符号化部において、符号化対象ブロックに対応する情報をＤＣＴ変換した後に行う量子化処理で用いられる値であり、また、目標ビットレートに符号化レートを合わせるために、符号化対象ブロックまでの発生符号量と符号化に用いた量子化値から算出される値である。つまり、符号化対象ブロックまでの発生符号量が目標ビットレートより大きい場合には、画質を落として発生符号量を抑制するために、量子化値は大きくなり、逆に、発生符号量が少ない場合には、発生符号量を増やして画質を向上させるために、量子化値は小さくなる。
【００５８】
算出された評価値は、方式間比較部に出力される。なお、誤差値算出部で複数種類の符号化方式が１つずつ順次に選択されることによって、評価値算出部では、符号化方式の種類と同数の評価値が順次に算出され、算出された符号化方式の種類と同数の評価値は方式間比較部に出力される。
【００５９】
方式間比較部は、評価値算出部で算出された複数の評価値を比較して、評価値が最小となる１つの符号化方式（選択符号化方式）を選択する。方式間比較部は、動き補償に必要な選択符号化方式の情報を符号化部に出力する。ここで、選択符号化方式の情報には、選択符号化方式が属する動き補償モードの種類を表す情報及び選択符号方式に対応する動きベクトルの種類を表す情報を含む。選択符号化方式の情報には、更に、符号化対象ブロックのアドレスを表す情報が含まれていてもよい。
【００６０】
ここで、本発明に係る画像符号化装置Ｂについて説明する。本発明に係る画像符号化装置Ｂは、符号化方式選択部Ｂと、符号化部とを含む。本発明においては、符号化部の構成に本質的な特徴を有するため、以下においては、符号化部についてのみ詳細に説明する。なお、符号化部は、公知のいかなる構成であってもよい。
【００６１】
画像符号化装置Ｂにおいて、符号化方式選択部Ｂは、上述のように、予測誤差値算出部と、モード内比較部と、符号化ベクトル導出部と、評価値算出部と、方式比較部とを含む。なお、符号化方式選択部Ｂにおける誤差値算出部は、上記の符号化方式選択部Ａにおける誤差値算出部と同一の構成であるため、その説明を省略する。ただし、画像符号化装置Ｂにおける複数種類の符号化方式は、少なくとも２つの動き補償モードによって分類される。
【００６２】
モード内比較部には、誤差値算出部で複数種類の符号化方式が１つずつ順次に選択されることによって、符号化方式の種類と同数の予測誤差値が順次に入力される。モード内比較部は、１種類の動き補償モードを選択し、各符号化方式のうち選択された動き補償モードに属する複数種類の符号化方式に１つずつ対応する複数の予測誤差値を比較し、選択された動き補償モード内で最小の予測誤差値をとる符号化方式をモード内最適符号化方式として決定する。これは、同一動き補償モードに属する複数種類の符号化方式に対応する複数種類の動きベクトル（探索ベクトル）から動き補償モード内で最適な動きベクトル（以下、モード内最適ベクトルと称する）を選択することを意味する。なお、モード内最適動きベクトルは、公知のいかなる画像符号化装置の場合と同様にして選択されてもよい。
【００６３】
選択されたモード内最適動きベクトルの情報は符号化ベクトル導出部へ出力される。また、選択されたモード内符号化方式の予測誤差値（以下において、モード内最適予測誤差値と称する）は、評価値算出部へ出力される。なお、複数種類の動き補償モードが順次に１つずつ選択されるために、動き補償モードの種類と同数のモード内最適動きベクトルの情報と動き補償モードの種類と同数のモード内最適ベクトルとが出力される。
【００６４】
符号化ベクトル導出部は、モード内最適動きベクトルの情報と、モード内比較部で選択された符号化方式（動き補償モード）に対応する予測動きベクトルの情報とに基づいて、符号化対象動きベクトルの情報を導出する。符号化対象動きベクトルの情報は、公知のいかなる画像符号化装置の場合と同様にして導出されてもよい。なお、予測動きベクトルの情報は、公知のいかなる画像符号化装置の場合と同様にして、画像符号化装置内で生成されてもよい。
【００６５】
動きベクトルの情報及び導出された符号化対象動きベクトルの情報は、評価値算出部に出力される。なお、モード内比較部で、動き補償モードの種類と同数のモード内最適符号化方式が選択されるために、動き補償モードの種類と同数の符号化対象動きベクトルの情報と動き補償モードの種類と同数のモード内最適ベクトルとが出力される。
【００６６】
評価値算出部は、モード内比較部で選択されたモード内最適符号化方式の予測誤差値、モード内最適符号化方式の符号化対象動きベクトルの情報及びモード内最適符号化方式に応じた量子化値に基づいて、評価値を算出する。なお、評価値を算出する過程は、上記の画像符号化装置Ａの場合と同一である。
【００６７】
モード間比較部は、動き補償モードの種類に１つずつ対応する複数の評価値を比較し、最小の評価値をとる符号化方式を選択符号化方式として決定する。これにより、複数種類の動き補償モードから符号化効率の高い１つの動き補償モードを選択できる。
【００６８】
画像符号化装置Ａ及びＢにおいて、評価値算出部で算出される評価値は、符号化対象ブロックの符号量を構成する２つの符号量の双方に対して正確な指標を与えることができる。なぜなら、符号化ベクトル導出部で導出される符号化対象動きベクトルは、符号化対象ブロックの符号量における動きベクトルの符号量との相関が動きベクトルよりも高いため、動きベクトルを用いた場合よりも動きベクトルの符号量の正確な指標となるからである。また、符号化対象ブロックの符号量における差分値の符号量は、量子化値に応じて変動するために、量子化値を考慮した予測誤差値は、量子化値を考慮しない符号化対象ブロックの符号量における差分値の符号量の正確な指標となるからである。
【００６９】
したがって、画像符号化装置Ａであれば、予測誤差値と符号化対象動きベクトルと量子化値を考慮して決定された、符号化対象ブロックの総合的な符号化量を高精度で指標する評価値に基づいて、複数の符号化方式から１つの符号化方式を選択することによって、総合的な符号化量が小さい符号化方式を高精度で選択できる。なお、これは、複数種類の符号化方式に対応する複数の動きベクトルから、総合的な符号化量が小さくなる１つの動きベクトルを高精度で選択できることを意味する。
【００７０】
また、画像符号化装置Ｂであれば、予測誤差値と符号化対象動きベクトルと量子化値を考慮して決定された、符号化対象ブロックの総合的な符号化量を高精度で指標する評価値に基づいて、複数種類の動き補償モードから１つの動き補償モードを選択することによって、総合的な符号化量が小さい動き補償モードを高精度で選択できる。
【００７１】
画像符号化装置Ａでは、複数種類の符号化方式の中に、複数種類の動き補償モードが含まれている構成とすることができる。つまり、複数種類の符号化方式は、動き補償モードの種類によって複数種類の動き補償モードに分類されている構成とすることができる。この構成であれば、複数種類の動き補償モードから符号化効率の高い動き補償モードを同時に高精度で選択できる。また、この構成であっても、動き補償モードの種類に依存せず、総合的な符号化量が小さくなる１つの動きベクトルを高精度で選択できる。
【００７２】
本発明に係る画像符号化装置Ａ及びＢでは、符号化対象動きベクトルが、動き補償モードの種類に応じた数の少なくとも１つのベクトルを含み、符号化対象動きベクトルの情報が、少なくとも１つのベクトルの各々のｘ成分及びｙ成分の値を含み、評価値が、少なくとも１つのベクトルの各々のｘ成分の絶対値の増加及びｙ成分の絶対値の増加に伴って単調に増加するベクトル換算関数で算出される符号化対象動きベクトル換算値と、予測誤差値の増加に伴って単調に増加する誤差換算関数で算出される予測誤差換算値とを、量子化値の増加により予測誤差換算値に対する符号化ベクトル換算値の荷重を大きくして加算した値であることが好ましい。
【００７３】
一般的に、符号化動きベクトルを構成する各ベクトルに対して、ｘ成分の絶対値やｙ成分の絶対値が大きくなれば、符号化対象ブロックの符号量における動きベクトルの符号量も大きくなる。したがって、上記のベクトル換算関数によって算出された符号化対象動きベクトル換算値は、動きベクトルの符号量を正確に指標する値となる。また、一般的に、予測誤差値が大きくなれば、符号化対象ブロックの符号量における差分値の符号量も大きくなるからである。したがって、上記の誤差換算関数によって算出された予測誤差換算値は、差分値の符号量を正確に指標する値となる。また、差分値の符号量は量子化値によって変動するが、符号化対象動きベクトル換算値と予測誤差換算値とを量子化値の増加により予測誤差換算値に対する符号化ベクトル換算値の荷重を大きくして加算した値を用いることによって、符号化レートに依存せず、符号化対象ブロックの符号量における差分値の符号量と動きベクトルの符号量との割合を補正することができる。したがって、評価値は、符号化対象ブロックの符号量を正確に指標する値となる。
【００７４】
本発明に係る画像符号化装置Ａ及びＢでは、動きベクトル換算値が、少なくとも１つのベクトルの各々のｘ成分の絶対値及びｙ成分の絶対値の総和であり、予測誤差換算値が、予測誤差値と同一であり、評価値が、予測誤差換算値と、定数値、動きベクトル換算値及び量子化値を乗じた乗算値とを加算した値であることが好ましい。この構成であれば、評価値は、符号化対象ブロックの符号量を更に正確に指標する値となる。
【００７５】
本発明に係る画像符号化装置Ａ及びＢでは、定数値が、０．２５であることが好ましい。この構成であれば、評価値は、符号化対象ブロックの符号量を更に正確に指標する値となる。
【００７６】
本発明のコンピュータプログラムは、上述のように、なお、符号化対象動きベクトル導出処理と、予測誤差値算出処理と、評価値算出処理と、符号化方式選択処理は、それぞれ本発明の符号化対象動きベクトル導出部と、予測誤差値算出部と、評価値算出部と符号化方式選択部において実行される。
【００７７】
本発明のコンピュータ読み取り可能な記録媒体は、上述のように、本発明のコンピュータプログラムを記録した記録媒体である。
【００７８】
（実施の形態１）
本実施の形態１においては、複数種類の符号化方式から１つの符号化方式を選択する画像符号化装置Ａの一形態について、図１を参照しながら説明する。図１は、画像符号化装置Ａの一形態の構成を概念的に表すブロック図である。なお、本実施の形態１においては、選択可能な複数種類の符号化方式が、複数種類の動き補償モードのいずれか１つに属する場合について説明する。
【００７９】
また、本実施の形態１においては、複数種類の動き補償モードとして、符号化対象ブロックを動き補償単位として前方向予測を行う動き補償モード（動き補償モードＡ）と、符号化対象ブロックを動き補償単位として後方向予測を行う動き補償モード（動き補償モードＢ）と、符号化対象ブロックを動き補償単位として双方向予測を行う動き補償モード（動き補償モードＣ）と、符号化対象ブロックをｎ分割してなる動き補償ブロックを動き補償単位として前方向予測を行う動き補償モード（動き補償モードＤ）と、符号化対象ブロックをｎ分割してなる動き補償ブロックを動き補償単位として後方向予測を行う動き補償モード（動き補償モードＥ）と、符号化対象ブロックをｎ分割してなる動き補償ブロックを動き補償単位として双方向予測を行う動き補償モード（動き補償モードＦ）とが選択できるとする。なお、分割する方法は、図８に示された、奇数番目のラインと偶数番目のラインとを個別にまとめるフィールド動き補償のように、非連続の領域で分割する方法でもよいし、図９（ｂ）に示された８×８動き補償のように、連続する領域で分割してもよい。また、既知の如何なる分割方法でもよい。
【００８０】
また、本実施の形態１においては、前方向予測（動き補償モードＡ及びＤ）において参照される前フレームと双方向予測（動き補償モードＣ及びＦ）において参照される前フレームとは同一のフレームとし、後方向予測（動き補償モードＢ及びＥ）において参照される後フレームと双方向予測（動き補償モードＣ及びＦ）において参照される後フレームとは同一のフレームとする。
【００８１】
また、本実施の形態１においては、動き補償単位（動き補償ブロック）毎に選択可能な探索ベクトル（動きベクトル）の数は、各動き補償モードＡ〜Ｆで同数（Ｋ個）であるとする。この場合、各動き補償モードに属する符号化方式の数は、動き補償モードＡ及びＢでは動きベクトルを構成するベクトルの数（動きベクトル数）が１つであるためにＫ個であり、動き補償モードＣでは動きベクトル数が２つであるためにＫ2個であり、動き補償モードＤ及びＥでは動きベクトル数がｎ個であるためにＫn個であり、動き補償モードＦでは、動きベクトル数が２ｎ個であるためにＫ2n個である。なお、以下においては、各動き補償モードＡ〜Ｆに属する符号化方式及び動きベクトルは、それぞれ、符号化方式Ａｉ（ｉ＝１〜Ｋ）、符号化方式Ｂｉ（ｉ＝１〜Ｋ）、符号化方式Ｃｉ（ｉ＝１〜Ｋ2）、符号化方式Ｄｉ（ｉ＝１〜Ｋn）、符号化方式Ｅｉ（ｉ＝１〜Ｋn）、符号化方式Ｆｉ（ｉ＝１〜Ｋ2n）と表記することによって互いを区別する。
【００８２】
符号化方式Ａｉでは、１つの前方向予測用の動きベクトルfwdＭＶAiを用いて動き補償を行い、符号化方式Ｂｉでは、１つの後方向予測用の動きベクトルbwdＭＶBiを用いて動き補償を行い、符号化方式Ｃｉでは、１つの前方向予測用の動きベクトルfwdＭＶCiと、１つの後方向予測用の動きベクトルbwdＭＶCiを用いて動き補償を行い、動き補償モードＤｉでは、符号化対象ブロックをｎ分割したｎ個の動き補償ブロックに１つずつ対応するｎ個の前方向予測用のベクトルからなるベクトル群（動きベクトル）｛fwdＭＶ1,Di，fwdＭＶ2,Di，・・・，fwdＭＶn,Di｝を用いて動き補償を行い、符号化方式Ｅｉでは、符号化対象ブロックをｎ分割してなるｎ個の動き補償ブロックに１つずつ対応するｎ個の後方向予測用のベクトルからなるベクトル群（動きベクトル）｛bwdＭＶ1,Ei，bwdＭＶ2,Ei，・・・，bwdＭＶn,Ei｝を用いて動き補償を行い、符号化方式Ｆｉでは、符号化対象ブロックをｎ分割してなるｎ個の動き補償ブロックに１つずつ対応するｎ個の前方向予測用のベクトルからなるベクトル群（動きベクトル）｛fwdＭＶ1,Fi，fwdＭＶ2,Fi，・・・，fwdＭＶn,Fi｝と、ｎ個の後方向予測用のベクトルからなるベクトル群（動きベクトル）｛bwdＭＶ1,Fi，bwdＭＶ2,Fi，・・・，bwdＭＶn,Fi｝を用いて動き補償を行う。
【００８３】
図１に示された画像符号化装置は、誤差値算出部１１、符号化動きベクトル導出部１２、評価値算出部１３、方式間比較部１４、予測動きベクトル生成部１６、量子化値生成部１７と備える符号化方式選択部Ａと、符号化部１とを含む。
【００８４】
誤差値算出部１１には、外部装置から符号化対象フレームの画像情報と、参照フレームの画像情報とが入力される。参照フレームの画像情報は、前フレームの画像情報と後フレームの画像情報とを含む。誤差値算出部１１では、符号化対象フレームの画像情報から符号化対象ブロックの画像情報を抽出する。
【００８５】
誤差値算出部１１では、まず、動き補償モードＡに属する符号化方式Ａｉ（ｉ＝１〜Ｋ）に対して、符号化対象ブロックと符号化方式Ａｉの動きベクトルfwdＭＶAiで特定される参照ブロックの画像情報（参照画像情報）を抽出する。引き続き、抽出された参照ブロックの画像情報と符号化対象ブロックの画像情報とに基づいて、符号化方式Ａｉの予測誤差値fwdＤｉｆAi（ｉ＝１〜Ｋ）を算出する。
【００８６】
次に、動き補償モードＢに属する符号化方式Ｂｉ（ｉ＝１〜Ｋ）に対して、符号化対象ブロックと符号化方式Ｂｉの動きベクトルbwdＭＶBiで特定される参照ブロックの画像情報を抽出する。引き続き、抽出された参照ブロックの画像情報と符号化対象ブロックの画像情報とに基づいて、符号化方式Ｂｉの予測誤差値bwdＤｉｆBi（ｉ＝１〜Ｋ）を算出する。
【００８７】
次に、動き補償モードＣに属する符号化方式Ｃｉ（ｉ＝１〜Ｋ2）に対して、符号化対象ブロックと、符号化方式Ｃｉのベクトル群（動きベクトル）｛fwdＭＶCi，bwdＭＶCi｝の各々で特定される２つの参照ブロックの画像情報を抽出する。抽出された２つの参照ブロックの画像情報を画素毎に補間して予測ブロックの画像情報（予測画像情報）を生成する。引き続き、生成された予測ブロックの画像情報と符号化対象ブロックの画像情報とに基づいて、符号化方式Ｃｉの予測誤差値bothＤｉｆCi（ｉ＝１〜Ｋ2）を算出する。
【００８８】
次に、動き補償モードＤに属する符号化方式Ｄｉ（ｉ＝１〜Ｋn）に対して、符号化対象ブロックを分割してなるｎ個の動き補償ブロックと、符号化方式Ｄｉのベクトル群（動きベクトル）｛fwdＭＶ1,Di，fwdＭＶ2,Di，・・・，fwdＭＶn,Di｝（ｉ＝１〜Ｋn）の各々で特定されるｎ個の参照ブロックの画像情報を抽出する。各動き補償ブロックの画像情報と、各動き補償ブロックに対応する参照ブロックの画像情報とに基づいて、符号化方式Ｄｉの予測誤差値群｛fwdＤｉｆ1,Di，fwdＤｉｆ2,Di，・・・，fwdＤｉｆn,Di｝（ｉ＝１〜Ｋn）を算出する。なお、符号化方式Ｄｉの予測誤差値fwdＤｉｆDiは、予測誤差値群｛fwdＤｉｆ1,Di，fwdＤｉｆ2,Di，・・・，fwdＤｉｆn,Di｝の各要素の総和である。
【００８９】
次に、動き補償モードＥに属する符号化方式Ｅｉ（ｉ＝１〜Ｋn）に対して、符号化対象ブロックを分割してなるｎ個の動き補償ブロックと、符号化方式Ｅｉのベクトル群（動きベクトル）｛bwdＭＶ1,Ei，bwdＭＶ2,Ei，・・・，bwdＭＶn,Ei｝（ｉ＝１〜Ｋn）の各々で特定されるｎ個の参照ブロックの画像情報を抽出する。各動き補償ブロックの画像情報と、各動き補償ブロックに対応する参照ブロックの画像情報とに基づいて、符号化方式Ｅｉの予測誤差値群｛bwdＤｉｆ1,Ei，bwdＤｉｆ2,Ei，・・・，bwdＤｉｆn,Ei｝（ｉ＝１〜Ｋn）を算出する。なお、符号化方式Ｄｉの予測誤差値bwdＤｉｆEiは、予測誤差値群｛bwdＤｉｆ1,Ei，bwdＤｉｆ2,Ei，・・・，bwdＤｉｆn,Ei｝の各要素の総和である。
【００９０】
次に、動き補償モードＦに属する符号化方式Ｆｉ（ｉ＝１〜Ｋ2n）に対して、符号化対象ブロックを分割してなるｎ個の動き補償ブロックと、符号化方式Ｆｉのベクトル群（動きベクトル）｛fwdＭＶ1,Fi，fwdＭＶ2,Fi，・・・，fwdＭＶn,Fi、bwdＭＶ1,Fi，bwdＭＶ2,Fi，・・・，bwdＭＶn,Fi｝（ｉ＝１〜Ｋ2n）の各々で特定される２ｎ個の参照ブロックの画像情報を抽出する。｛fwdＭＶj,Fi，bwdＭＶj,Fi｝（ｉ＝１〜Ｋ2n，ｊ＝１〜ｎ）で特定される２つの参照ブロックの画像情報を動き補償ブロック毎に補間して予測ブロックの画像情報（予測画像情報）を生成する。各動き補償ブロックの画像情報と、各動き補償ブロックに対応する予測ブロックの画像情報とに基づいて、符号化方式Ｆｉの予測誤差値群｛bothＤｉｆ1,Fi，bothＤｉｆ2,Fi，・・・，bothＤｉｆn,Fi｝（ｉ＝１〜Ｋ2n）を算出する。なお、符号化方式Ｆｉの予測誤差値bothＤｉｆFiは、予測誤差値群｛bothＤｉｆ1,Fi，bothＤｉｆ2,Fi，・・・，bothＤｉｆn,Fi｝の各要素の総和である。
【００９１】
なお、誤差値算出部１１において、各符号化方式の予測誤差値は、差分絶対値和（ＳＡＤ）又は差分二乗和（ＳＳＤ）を用いて算出する。また、予測誤差値と予測誤差換算値とは、同一の値である。
【００９２】
予測動きベクトル生成部１６において、符号化方式Ａｉ（ｉ＝１〜Ｋ）に対する予測動きベクトルfwdＰＭＶA、符号化方式Ｂｉ（ｉ＝１〜Ｋ）に対する予測動きベクトルbwdＰＭＶB、符号化方式Ｃｉ（ｉ＝１〜Ｋ2）に対する予測ベクトル群（予測動きベクトル）｛fwdＰＭＶC，bwdＰＭＶC｝、符号化方式Ｄｉ（ｉ＝１〜Ｋn）に対する予測ベクトル群（予測動きベクトル）｛fwdＰＭＶ1,D，fwdＰＭＶ2,D，・・・，fwdＰＭＶn,D｝及び符号化方式Ｅｉ（ｉ＝１〜Ｋn）に対する予測ベクトル群（予測動きベクトル）｛bwdＰＭＶ1,E，bwdＰＭＶ2,E，・・・，bwdＰＭＶn,E｝及び符号化方式Ｆｉ（ｉ＝１〜Ｋ2n）に対する予測ベクトル群（予測動きベクトル）｛fwdＰＭＶ1,F，fwdＰＭＶ2,F，・・・，fwdＰＭＶn,F,bwdＰＭＶ1,F，bwdＰＭＶ2,F，・・・，bwdＰＭＶn,F｝が生成される。なお、予測動きベクトル生成部１６は、公知のいかなる画像符号化装置の場合と同様にして、各種の予測動きベクトルを生成してもよい。
【００９３】
符号化対象動きベクトル導出部１２には、各符号化方式に応じた動きベクトルが誤差値算出部１１から入力され、各動き補償モードに応じた予測動きベクトルが予測動きベクトル生成部１６から入力される。
【００９４】
符号化ベクトル導出部１２では、まず、符号化方式Ａｉ（ｉ＝１〜Ｋ）に対して、動きベクトルfwdＭＶAiと予測動きベクトルfwdＰＭＶAとの差分ベクトル（fwdＰＭＶA−fwdＭＶAi）を求めることによって、符号化方式Ａｉの符号化対象動きベクトルfwdｄＭＶAi（ｉ＝１〜Ｋ）を導出する。
【００９５】
次に、符号化方式Ｂｉ（ｉ＝１〜Ｋ）に対して、動きベクトルbwdＭＶBiと予測動きベクトルbwdＰＭＶBとの差分ベクトル（bwdＰＭＶB−bwdＭＶBi）を求めることによって、符号化方式Ｂｉの符号化対象動きベクトルbwdｄＭＶBi（ｉ＝１〜Ｋ）を導出する。
【００９６】
次に、符号化方式Ｃｉ（ｉ＝１〜Ｋ2）に対して、動き補償モードＣに対するベクトルfwdＭＶCiと動き補償モードＣに対する予測ベクトルfwdＰＭＶCとの差分ベクトル（fwdＰＭＶC−fwdＭＶCi）と、動きベクトルbwdＭＶCiと予測ベクトルbwdＰＭＶCとの差分ベクトル（bwdＰＭＶC−bwdＭＶCi）とを求めることによって、符号化方式Ｃｉの符号化対象ベクトル群（符号化対象動きベクトル）｛fwdｄＭＶCi，bwdｄＭＶCi｝（ｉ＝１〜Ｋ2）を導出する。
【００９７】
次に、符号化方式Ｄｉ（ｉ＝１〜Ｋn）に対して、動き補償モードＤに対するベクトル群を構成する各ベクトルfwdＭＶj,Di（ｊ＝１，２，・・・，ｎ）と、動き補償モードＤに対する予測ベクトル群を構成する各予測ベクトルfwdＰＭＶj,Di（ｊ＝１，２，・・・，ｎ）との差分ベクトル（fwdＰＭＶj,Di−fwdＭＶj,Di）を求めることによって、符号化対象ベクトル群（符号化対象動きベクトル）｛fwdｄＭＶ1,Di，fwdｄＭＶ2,Di，・・・，fwdｄＭＶn,Di｝（ｉ＝１〜Ｋn）を導出する。
【００９８】
次に、符号化方式Ｅｉ（ｉ＝１〜Ｋn）に対して、動き補償モードＥに対するベクトル群を構成する各ベクトルbwdＭＶj,Ei（ｊ＝１，２，・・・，ｎ）と、動き補償モードＥに対する予測ベクトル群を構成する各予測ベクトルbwdＰＭＶj,Ei（ｊ＝１，２，・・・，ｎ）との差分ベクトル（bwdＰＭＶj,Ei−bwdＭＶj,Ei）を求めることによって、符号化対象ベクトル群（符号化対象動きベクトル）｛bwdｄＭＶ1,Ei，bwdｄＭＶ2,Ei，・・・，bwdｄＭＶn,Ei｝（ｉ＝１〜Ｋn）を導出する。
【００９９】
次に、符号化方式Ｆｉ（ｉ＝１〜Ｋ2n）に対して、動き補償モードＦに対する前方ベクトル群を構成する各ベクトルfwdＭＶj,Fi（ｊ＝１，２，・・・，ｎ）と、動き補償モードＦに対する予測ベクトル群を構成する各予測ベクトルfwdＰＭＶj,Fi（ｊ＝１，２，・・・，ｎ）との差分ベクトル（fwdＰＭＶj,Fi−fwdＭＶj,Fi）と、各ベクトルbwdＭＶj,Fi（ｊ＝１，２，・・・，ｎ）と、動き補償モードＦに対する後方予測ベクトル群を構成する各予測ベクトルbwdＰＭＶj,Fi（ｊ＝１，２，・・・，ｎ）との差分ベクトル（bwdＰＭＶj,Fi−bwdＭＶj,Fi）を求めることによって、符号化対象ベクトル群（符号化対象動きベクトル）｛fwdｄＭＶ1,Fi，fwdｄＭＶ2,Fi，・・・，fwdｄＭＶn,Fi，bwdｄＭＶ1,Fi，bwdｄＭＶ2,Fi，・・・，bwdｄＭＶn,Fi｝（ｉ＝１〜Ｋ2n）を導出する。
【０１００】
また、符号化ベクトル導出部１１では、符号化方式毎に、符号化対象動きベクトルの情報に基づいて符号化動きベクトル換算値を算出する。具体的には、符号化方式Ａｉの符号化対象動きベクトル換算値は、符号化対象動きベクトルfwdｄＭＶAiのｘ成分とｙ成分の絶対値和（｜（fwdｄＭＶAi）ｘ｜＋｜（fwdｄＭＶAi）ｙ｜）である。また、符号化方式Ｂｉの符号化対象動きベクトル換算値は、bwdｄＭＶBiのｘ成分とｙ成分の絶対値和（｜（bwdｄＭＶBi）ｘ｜＋｜（bwdｄＭＶBi）ｙ｜）である。また、符号化方式Ｃｉの符号化対象動きベクトル換算値は、符号化対象ベクトルfwdｄＭＶCiのｘ成分及びｙ成分と、符号化動きベクトルbwdｄＭＶCiのｘ成分とｙ成分との絶対値和（｜（fwdｄＭＶCi）ｘ｜＋｜（fwdｄＭＶCi）ｙ｜＋｜（bwdｄＭＶCi）ｘ｜＋｜（bwdｄＭＶCi）ｙ｜である。また、符号化方式Ｄｉの符号化動きベクトル換算値は、符号化対象動きベクトル群を構成する各符号化対象ベクトルfwdｄＭＶj,Di（ｊ＝１，２，・・・，ｎ）のｘ成分とｙ成分の絶対値和（｜（fwdｄＭＶ1,Di）ｘ｜＋｜（fwdｄＭＶ1,Di）ｙ｜＋｜（fwdｄＭＶ2,Di）ｘ｜＋｜（fwdｄＭＶ2,Di）ｙ｜＋・・・＋｜（fwdｄＭＶn,Di）ｘ｜＋｜（fwdｄＭＶn,Di）ｙ｜）である。また、符号化方式Ｅｉの符号化対象動きベクトル換算値は、符号化動きベクトル群を構成する各符号化対象ベクトルbwdｄＭＶj,Ei（ｊ＝１，２，・・・，ｎ）のｘ成分とｙ成分の絶対値和（｜（bwdｄＭＶ1,Ei）ｘ｜＋｜（bwdｄＭＶ1,Ei）ｙ｜＋｜（bwdｄＭＶ2,Ei）ｘ｜＋｜（bwdｄＭＶ2,Ei）ｙ｜＋・・・＋｜（bwdｄＭＶn,Ei）ｘ｜＋｜（bwdｄＭＶn,Ei）ｙ｜）である。また、符号化方式Ｆｉの符号化対象動きベクトル換算値は、符号化動きベクトル群を構成する各符号化対象ベクトルfwdｄＭＶj,Fi（ｊ＝１，２，・・・，ｎ）とbwdｄＭＶj,Ei（ｊ＝１，２，・・・，ｎ）のｘ成分とｙ成分の絶対値和（｜（fwFｄＭＶ1,Fi）ｘ｜＋｜（fwdｄＭＶ1,Fi）ｙ｜＋｜（fwdｄＭＶ2,Fi）ｘ｜＋｜（fwdｄＭＶ2,Fi）ｙ｜＋・・・＋｜（fwdｄＭＶn,Fi）ｘ｜＋｜（fwdｄＭＶn,Fi）ｙ｜＋｜（bwdｄＭＶ1,Fi）ｘ｜＋｜（bwdｄＭＶ1,Fi）ｙ｜＋｜（bwdｄＭＶ2,Fi）ｘ｜＋｜（bwdｄＭＶ2,Fi）ｙ｜＋・・・＋｜（bwdｄＭＶn,Fi）ｘ｜＋｜（bwdｄＭＶn,Fi）ｙ｜）である。
【０１０１】
量子化値生成部１７では、符号化方式Ａｉ（ｉ＝１〜Ｋ）に対する量子化値ＱA、符号化方式Ｂｉ（ｉ＝１〜Ｋ）に対する量子化値ＱB、符号化方式Ｃｉ（ｉ＝１〜Ｋ2）に対する量子化値ＱC、符号化方式Ｄｉ（ｉ＝１〜Ｋn）に対する量子化値ＱD、符号化方式Ｅｉ（ｉ＝１〜Ｋn）に対する量子化値ＱE及び符号化方式Ｆｉ（ｉ＝１〜Ｋ2n）に対する量子化値ＱFが生成される。なお、量子化値生成部１７は、公知のいかなる画像符号化装置の場合と同様にして、各種の量子化値を生成してもよい。
【０１０２】
評価値算出部１３には、各符号化方式に応じた符号化対象動きベクトルの情報が符号化ベクトル導出部１２から入力され、各符号化方式に応じた予測誤差値が誤差値算出部１１から入力され、各動き補償モードに応じた量子化値が量子化値生成部１７から入力される。
【０１０３】
評価値算出部１３では、まず、下記の数３に示される動き補償モードＡ用の評価関数に従って、符号化方式Ａｉ（ｉ＝１〜Ｋ）に対する評価値ＶAi（ｉ＝１〜Ｋ）を算出する。
【０１０４】
【数３】
2006074499.tif 000006
【０１０５】
上記の数３によれば、評価値ＶAiとして、符号化方式Ａｉに対する予測誤差値fwdＤｉｆAiと、量子化値ＱAと、符号化対象動きベクトルfwdｄＭＶAiを構成するｘ成分（fwdｄＭＶAi）xの絶対値及びｙ成分（fwdｄＭＶAi）yの絶対値とに基づいた値が得られる。
【０１０６】
次に、符号化方式Ｂｉ（ｉ＝１〜Ｋ）に対しては、下記の数４に示される動き補償モードＢ用の評価関数に従って、動き補償モードＢｉに対する評価値ＶBi（ｉ＝１〜Ｋ）を算出する。
【０１０７】
【数４】
2006074499.tif 000007
【０１０８】
上記の数４によれば、評価値ＶBiとして、符号化方式Ｂｉに対する予測誤差値bwdＤｉｆBiと、量子化値ＱBと、符号化対象動きベクトルbwdｄＭＶBiを構成するｘ成分（bwdｄＭＶBi）xの絶対値及びｙ成分（bwdｄＭＶBi）yの絶対値とに基づいた値がえられる。
【０１０９】
次に、符号化方式Ｃｉ（ｉ＝１〜Ｋ2）に対しては、下記の数５に示される動き補償モードＣ用の評価関数に従って、動き補償モードに対する評価値ＶCi（ｉ＝１〜Ｋ2）を算出する。
【０１１０】
【数５】
2006074499.tif 000008
【０１１１】
上記の数５によれば、評価値ＶCiとして、符号化方式Ｃｉに対する予測誤差値bothＤｉｆCiと、量子化値ＱCと、符号化対象ベクトルfwdｄＭＶCiを構成するｘ成分（fwdｄＭＶCi）xの絶対値及びｙ成分（fwdｄＭＶCi）yの絶対値と、符号化対象ベクトルbwdｄＭＶCiを構成するｘ成分（bwdｄＭＶCi）xの絶対値及びｙ成分（bwdｄＭＶCi）yの絶対値とに基づいた値が得られる。
【０１１２】
次に、符号化方式Ｄｉ（ｉ＝１〜Ｋn）に対しては、下記の数６に示される動き補償モードＤ用の評価関数に従って、評価値ＶDi（ｉ＝１〜Ｋn）を算出する。
【０１１３】
【数６】
2006074499.tif 000009
【０１１４】
上記の数６によれば、評価値ＶDiとして、符号化方式Ｄｉに対する予測誤差値群を構成するfwdＤｉｆj,Di（ｊ＝１，２，・・・，ｎ）と、量子化値ＱDと、符号化対象ベクトル群を構成する各ベクトルfwdｄＭＶj,Di（ｊ＝１，２，・・・，ｎ）に対するｘ成分（fwdｄＭＶj,Di）xの絶対値及びｙ成分（fwdｄＭＶj,Di）yの絶対値とに基づいた値が得られる。
【０１１５】
次に、符号化方式Ｅｉ（ｉ＝１〜Ｋn）に対しては、下記の数７に示される動き補償モードＥ用の評価関数に従って、符号化方式Ｅｉに対する評価値ＶEi（ｉ＝１〜Ｋn）を算出する。
【０１１６】
【数７】
2006074499.tif 000010
【０１１７】
上記の数７によれば、評価値ＶEiとして、符号化方式Ｅｉに対する予測誤差値群を構成するbwdＤｉｆj,Ei（ｊ＝１，２，・・・，ｎ）と、量子化値ＱEと、符号化動きベクトル群を構成する各ベクトルbwdｄＭＶj,Eiに対するｘ成分（bwdｄＭＶj,Ei）xの絶対値及びｙ成分（bwdｄＭＶj,Ei）yの絶対値とに基づいた値が得られる。
【０１１８】
次に、符号化方式Ｆｉ（ｉ＝１〜Ｋ2n）に対しては、下記の数８に示される動き補償モードＦ用の評価関数に従って、符号化方式Ｆｉに対する評価値ＶFi（ｉ＝１〜Ｋ2n）を算出する。
【０１１９】
【数８】
2006074499.tif 000011
【０１２０】
上記の数８によれば、評価値ＶFiとして、符号化方式Ｆｉに対する予測誤差値群を構成するbothＤｉｆj,Fi（ｊ＝１，２，・・・，ｎ）と、量子化値ＱFと、符号化動きベクトル群を構成する各ベクトルfwdｄＭＶj,Fi及びbwdｄＭＶj,Fiに対するｘ成分（fwdｄＭＶj,Fi）x、（bwdｄＭＶj,Fi）xの絶対値、及びｙ成分（fwdｄＭＶj,Fi）y、（bwdｄＭＶj,Fi）yの絶対値とに基づいた値が得られる。
【０１２１】
上記の数３から数８におけるｋは、符号化方式に依存しない正の定数である。好ましくは、ｋの値を０．２５とする。
【０１２２】
また、ここでは、量子化値の増加に伴い、符号化動きベクトル換算値の割合を大きくする評価関数として上記の数３で示すような、量子化値を符号化動きベクトル換算値に乗算する関数を用いたが、下記の数９で示すような、予測誤差換算値を量子化値で除算する関数を用いてもよい。
【０１２３】
【数９】
2006074499.tif 000012
【０１２４】
動き補償モードＡ〜Ｆに対する量子化値が同一であれば、上記の数３と上記の数９とは等価である。
【０１２５】
方式間比較部１４では、評価値算出部１３で算出された、符号化方式ごとの評価値を比較して、評価値が最小値となる符号化方式を符号化対象ブロックに対する選択符号化方式として選択し、かつ選択符号化方式の情報を符号化部１に出力する。ここで、選択符号化方式の情報には、選択された符号化方式の動き補償モードの情報と選択符号化方式の動きベクトルの情報とが含まれている。
【０１２６】
符号化部１には、外部装置から符号化対象フレームの画像情報及び参照フレームの画像情報と、選択符号化方式の情報とが入力される。符号化部１では、選択符号化方式にしたがって、符号化対象ブロックの画像情報を符号化する。
【０１２７】
上記においては、複数種類の符号化方式が複数種類の動き補償モードで分類できる場合について説明したが、複数種類の符号化方式の全てが１つの動き補償モードに属していてもよい。
【０１２８】
上記においては、全ての符号化方式に対する評価値を一括して比較したが、同一の動き補償モードに属する符号化方式間で比較を行った後に、複数種類の動き補償モードに１つずつ対応する動き補償モードと同数の評価値を比較して、評価値が最小値となる１つの符号化方式を選択してもよい。
【０１２９】
上記においては、符号化部１には、外部装置から符号化対象フレームの画像情報及び参照フレームの画像情報が入力される場合について説明したが、図２に示されたように、誤差値算出部１１において符号化対象ブロックの画像情報の符号化に必要な参照画像情報又は予測画像情報を生成し、符号化部１には、符号化対象フレームの画像情報及び参照フレームの画像情報に代えて、参照画像情報又は予測画像情報が入力される構成であってもよい。特に、誤差値算出部１１において、差分絶対値和に基づいて各種の予測誤差値を算出する場合には、図２に示された構成とすることが好ましい。
【０１３０】
以上の実施の形態１においては、具体的な構成例を挙げて、画像符号化装置Ａについて説明したが、本発明は、上記の具体的な構成例に限定されるものではない。
【０１３１】
（実施の形態２）
本実施の形態２においては、複数種類の動き補償モードから１つの動き補償モードを選択する画像符号化装置Ｂの一形態について、図３を参照しながら説明する。図３は、画像符号化装置Ｂの一形態の構成を概念的に表すブロック図である。本実施の形態２においては、上記の実施の形態１の場合と同様に、複数種類の動き補償モードとして、動き補償モードＡ〜Ｆが選択できる場合について説明する。以下においては、上記の実施の形態１と相違する部分についてのみ詳細に説明する。
【０１３２】
図３に示された画像符号化装置Ｂは、符号化方式選択部Ｂと符号化部１とを備えている。符号化方式選択部Ｂは、誤差値算出部２１と、モード内比較部２５と、符号化ベクトル導出部２２と、評価値算出部２３と、モード間比較部２４とで構成されている。
【０１３３】
誤差値算出部２１は、上記の実施の形態１の画像符号化装置Ａの誤差値算出部１１（図１参照）と同一の構成であるため、その説明を省略する。
【０１３４】
モード内比較部２５は、まず、動き補償モードＡに属する全ての符号化方式の予測誤差値fwdＤｉｆAi（ｉ＝１〜Ｋ）を比較して、予測誤差値が最小となる符号化方式を、動き補償モードＡに対する最適符号化方式（モード内最適符号化方式）として選択する。以下において、動き補償モードＡに対する最適符号化方式の動きベクトルをfwdＭＶと表し、その最適符号化方式の予測誤差値をfwdＤｉｆと表す。
【０１３５】
次に、動き補償モードＢに属する全ての符号化方式の予測誤差値bwdＤｉｆBi（ｉ＝１〜Ｋ）を比較して、予測誤差値が最小となる符号化方式を、動き補償モードＢに対する最適符号化方式（モード内最適符号化方式）として選択する。以下において、動き補償モードＢに対する最適符号化方式の動きベクトルをbwdＭＶと表し、その最適符号化方式の予測誤差値をbwdＤｉｆと表す。
【０１３６】
次に、動き補償モードＣに属する全ての符号化方式の予測誤差値bothＤｉｆCi（ｉ＝１〜Ｋ2）を比較して、予測誤差値が最小となる符号化方式を、動き補償モードＣに対する最適符号化方式（モード内最適符号化方式）として選択する。以下において、動き補償モードＣに対する最適符号化方式の動きベクトル（ベクトル群）を｛fwdＭＶCi，bwdＭＶCi｝と表し、その最適符号化方式の予測誤差値をbothＤｉｆと表す。
【０１３７】
次に、動き補償モードＤに属する全ての符号化方式の予測誤差値fwdＤｉｆDi（ｉ＝１〜Ｋn）を比較して、予測誤差値が最小となる符号化方式を、動き補償モードＤに対する最適符号化方式（モード内最適符号化方式）として選択する。以下において、動き補償モードＤに対する最適符号化方式の動きベクトル（ベクトル群）を｛fwdＭＶ1，fwdＭＶ2，・・・，fwdＭＶn｝と表し、その最適符号化方式の予測誤差値群を｛fwdＤｉｆ1，fwdＤｉｆ2，・・・，fwdＤｉｆn｝と表す。
【０１３８】
次に、動き補償モードＥに属する全ての符号化方式の予測誤差値bwdＤｉｆEi（ｉ＝１〜Ｋn）を比較して、予測誤差値が最小となる符号化方式を、動き補償モードＥに対する最適符号化方式（モード内最適符号化方式）として選択する。以下において、動き補償モードＥに対する最適な符号化方式の動きベクトル（ベクトル群）を｛bwdＭＶ1，bwdＭＶ2，・・・，bwdＭＶn｝と表し、その最適符号化方式の予測誤差値群を｛bwdＤｉｆ1，bwdＤｉｆ2，・・・，bwdＤｉｆn｝と表す。
【０１３９】
次に、動き補償モードＦに属する全ての符号化方式の予測誤差値bothＤｉｆFi（ｉ＝１〜Ｋ2n）を比較して、予測誤差値が最小となる符号化方式を、動き補償モードＦに対する最適符号化方式（モード内最適符号化方式）として選択する。以下において、動き補償モードＦに対する最適な符号化方式の動きベクトル（ベクトル群）を｛fwdＭＶ1，fwdＭＶ2，・・・，fwdＭＶn，bwdＭＶ1，bwdＭＶ2，・・・，bwdＭＶn｝と表し、その最適符号化方式の予測誤差値群を｛fwdＤｉｆ1，fwdＤｉｆ2，・・・，fwdＤｉｆn，bwdＤｉｆ1，bwdＤｉｆ2，・・・，bwdＤｉｆn｝と表す。
【０１４０】
予測動きベクトル生成部２６では、動き補償モードＡに対する予測動きベクトルfwdＰＭＶ（上記の実施の形態１におけるfwdＰＭＶAに対応）と、動き補償モードＢに対する予測動きベクトルbwdＰＭＶ（上記の実施の形態１におけるbwdＰＭＶBに対応）と、動き補償モードＣに対する予測ベクトル群｛fwdＰＭＶ，bwdＰＭＶ｝（上記の実施の形態１における｛fwdＰＭＶC，bwdＰＭＶC｝に対応）と、動き補償モードＤに対する予測ベクトル群｛fwdＰＭＶ1，fwdＰＭＶ2，・・・，fwdＰＭＶn｝（上記の実施の形態１における｛fwdＰＭＶ1,Di，fwdＰＭＶ2,Di，・・・，fwdＰＭＶn,Di｝に対応）と、符号化方式Ｅに対する予測ベクトル群｛bwdＰＭＶ1，bwdＰＭＶ2，・・・，bwdＰＭＶn｝（上記の実施の形態１における｛bwdＰＭＶ1,Ei，bwdＰＭＶ2,Ei，・・・，bwdＰＭＶn,Ei｝に対応）と、符号化方式Ｆに対する予測ベクトル群｛bwdＰＭＶ1，bwdＰＭＶ2，・・・，bwdＰＭＶn｝（上記の実施の形態１における｛fwdＰＭＶ1,Fi，fwdＰＭＶ2,i，・・・，fwdＰＭＶn,Fi，bwdＰＭＶ1,Fi，bwdＰＭＶ2,Fi，・・・，bwdＰＭＶn,Fi｝に対応）とが生成される。なお、予測動きベクトル生成部２６は、公知のいかなる画像符号化装置の場合と同様にして、各種の予測動きベクトルを生成してもよい。
【０１４１】
符号化ベクトル導出部２２には、各動き補償モードに対する最適符号化方式の動きベクトルがモード内比較部２５から入力され、各動き補償モードに応じた予測動きベクトルが予測動きベクトル生成部２６から入力される。
【０１４２】
符号化ベクトル導出部２２では、まず、動き補償モードＡに対して、前方向予測用の動きベクトルfwdＭＶと前方向予測用の予測動きベクトルfwdＰＭＶとの差分ベクトル（fwdＰＭＶ−fwdＭＶ）を求めることによって、前方向予測用の符号化対象動きベクトルfwdｄＭＶを導出する。次に、動き補償モードＢに対して、後方向予測用の動きベクトルbwdＭＶと後方向予測用の予測動きベクトルbwdＰＭＶとの差分ベクトル（bwdＰＭＶ−bwdＭＶ）を求めることによって、後方向予測用の符号化対象動きベクトルbwdｄＭＶを導出する。次に、動き補償モードＣに対しては、動きベクトルを構成する前方向予測用のベクトルfwdＭＶと予測動きベクトルを構成する前方向予測用の予測ベクトルfwdＰＭＶとの差分ベクトル（fwdＰＭＶ−fwdＭＶ）と、動きベクトルを構成する後方向予測用のベクトルbwdＭＶと後方向予測用の予測ベクトルbwdＰＭＶとの差分ベクトル（bwdＰＭＶ−bwdＭＶ）を求めることによって、双方向予測用の符号化対象ベクトルfwdｄＭＶと符号化対象ベクトルbwdｄＭＶとを導出する。次に、動き補償モードＤに対して、前方向予測用の動きベクトル（ベクトル群）を構成する各ベクトルfwdＭＶiと、前方向予測用の予測動きベクトルを構成する各予測ベクトルfwdＰＭＶi（ｉ＝１，２，・・・，ｎ）との差分ベクトル（fwdＰＭＶi−fwdＭＶi）を求めることによって、符号化対象ベクトルfwdｄＭＶi（ｉ＝１，２，・・・，ｎ）を導出する。次に、動き補償モードＥに対して、後方向予測用の動きベクトル（ベクトル群）を構成する各動きベクトルbwdＭＶi（ｉ＝１，２，・・・，ｎ）と、後方向予測用の予測動きベクトルを構成する各予測ベクトルbwdＰＭＶi（ｉ＝１，２，・・・，ｎ）との差分ベクトル（bwdＰＭＶi−bwdＭＶi）を求めることによって、符号化対象ベクトルbwdｄＭＶi（ｉ＝１，２，・・・，ｎ）を導出する。次に、動き補償モードＦに対して、前方向予測用の動きベクトル（ベクトル群）を構成する各ベクトルfwdＭＶiと前方向予測用の予測動きベクトルを構成する各予測ベクトルfwdＰＭＶi（ｉ＝１，２，・・・，ｎ）との差分ベクトル（fwdＰＭＶi−fwdＭＶi）、及び、後方向予測用の動きベクトル（ベクトル群）を構成する各動きベクトルbwdＭＶi（ｉ＝１，２，・・・，ｎ）と、後方向予測用の予測動きベクトルを構成する各予測ベクトルbwdＰＭＶi（ｉ＝１，２，・・・，ｎ）との差分ベクトル（bwdＰＭＶi−bwdＭＶi）を求めることによって、符号化対象ベクトルfwdｄＭＶi（ｉ＝１，２，・・・，ｎ）及び符号化対象ベクトルbwdｄＭＶi（ｉ＝１，２，・・・，ｎ）を導出する。
【０１４３】
また、符号化ベクトル導出部２２では、動き補償モード毎に、符号化動きベクトルに基づいて符号化動きベクトル換算値を算出する。具体的には、動き補償モードＡの符号化動きベクトル換算値は、符号化動きベクトルfwdｄＭＶのｘ成分とｙ成分の絶対値和（｜（fwdｄＭＶ）ｘ｜＋｜（fwdｄＭＶ）ｙ｜）である。また、動き補償モードＢの符号化動きベクトル換算値は、bwdｄＭＶのｘ成分とｙ成分の絶対値和（｜（bwdｄＭＶ）ｘ｜＋｜（bwdｄＭＶ）ｙ｜）である。また、動き補償モードＣの符号化動きベクトル換算値は、前方方向の符号化動きベクトルfwdｄＭＶと後方方向の符号化動きベクトルbwdｄＭＶのｘ成分とｙ成分の絶対値和（｜（fwdｄＭＶ）ｘ｜＋｜（fwdｄＭＶ）ｙ｜＋｜（bwdｄＭＶ）ｘ｜＋｜（bwdｄＭＶ）ｙ｜）である。また、動き補償モードＤの符号化動きベクトル換算値は、前方方向の符号化動きベクトル群fwdｄＭＶi（ｉ＝１，２，・・・，ｎ）のｘ成分とｙ成分の絶対値和（｜（fwdｄＭＶ1）ｘ｜＋｜（fwdｄＭＶ1）ｙ｜＋｜（fwdｄＭＶ2）ｘ｜＋｜（fwdｄＭＶ2）ｙ｜＋・・・＋｜（fwdｄＭＶn）ｘ｜＋｜（fwdｄＭＶn）ｙ｜）である。また、動き補償モードＥの符号化動きベクトル換算値は、前方方向の符号化動きベクトル群bwdｄＭＶi（ｉ＝１，２，・・・，ｎ）のｘ成分とｙ成分の絶対値和（｜（bwdｄＭＶ1）ｘ｜＋｜（bwdｄＭＶ1）ｙ｜＋｜（bwdｄＭＶ2）ｘ｜＋｜（bwdｄＭＶ2）ｙ｜＋・・・＋｜（bwdｄＭＶn）ｘ｜＋｜（bwdｄＭＶn）ｙ｜）である。また、動き補償モードＦの符号化動きベクトル換算値は、前方方向の符号化動きベクトル群fwdｄＭＶi（ｉ＝１，２，・・・，ｎ）と、bwdｄＭＶi（ｉ＝１，２，・・・，ｎ）のｘ成分とｙ成分の絶対値和（｜（fwdｄＭＶ1）ｘ｜＋｜（fwdｄＭＶ1）ｙ｜＋｜（fwdｄＭＶ2）ｘ｜＋｜（fwdｄＭＶ2）ｙ｜＋・・・＋｜（fwdｄＭＶn）ｘ｜＋｜（fwdｄＭＶn）ｙ｜＋｜（bwdｄＭＶ1）ｘ｜＋｜（bwdｄＭＶ1）ｙ｜＋｜（bwdｄＭＶ2）ｘ｜＋｜（bwdｄＭＶ2）ｙ｜＋・・・＋｜（bwdｄＭＶn）ｘ｜＋｜（bwdｄＭＶn）ｙ｜）である。
【０１４４】
量子化値生成部２７では、動き補償モードＡに対する量子化値ＱA、動き補償モードＢに対する量子化値ＱB、動き補償モードＣに対する量子化値ＱC、動き補償モードＤに対する量子化値ＱD及び動き補償モードＥに対する量子化値ＱEが生成される。なお、予測動きベクトル生成部２７は、公知のいかなる画像符号化装置の場合と同様にして、各種の量子化値を生成してもよい。
【０１４５】
評価値算出部２３では、符号化ベクトル算出部２２からの符号化対象動きベクトル換算値と、誤差算出部２１からの予測誤差換算値と、量子化値生成部からの各動き補償モードに対応する量子化値とに基づいて、評価値を算出する。評価値の算出においては、まず、複数種類の動き補償モード毎に、符号化ベクトル導出部２２で求められた符号化対象動きベクトル換算値と、誤差算出部２１で求められた予測誤差換算値とを、量子化値の増加に伴い、符号化動きベクトル換算値の割合を大きくする加算関数を用いて、評価値Ｖを算出する。
【０１４６】
具体的には、まず、動き補償モードＡに対しては、上記の数３に示された動き補償モードＡ用の評価関数に従って、動き補償モードＡに対する評価値Ｖを算出する。上記の数３によれば、評価値Ｖとして、動き補償モードＡに対する予測誤差換算値fwdＤｉｆと量子化値Ｑ及び前方向予測用の符号化動きベクトルfwdｄＭＶを構成するｘ成分（fwdｄＭＶ）xの絶対値及びｙ成分（fwdｄＭＶ）yの絶対値に基づいた値が得られる。
【０１４７】
次に、動き補償モードＢに対しては、上記の数４に示された動き補償モードＢ用の評価関数に従って、動き補償モードＢに対する評価値Ｖを算出する。上記の数４によれば、評価値Ｖとして、動き補償モードＢに対する予測誤差換算値bwdＤｉｆと量子化値Ｑ及び後方向予測用の符号化動きベクトルbwdｄＭＶを構成するｘ成分（bwdｄＭＶ）xの絶対値及びｙ成分（bwdｄＭＶ）yの絶対値とに基づいた値がえられる。
【０１４８】
次に、動き補償モードＣに対しては、上記の数５に示された動き補償モードＣ用の評価関数に従って、動き補償モードＣに対する評価値Ｖを算出する。上記の数５によれば、評価値Ｖとして、動き補償モードＣに対する予測誤差換算値bothＤｉｆと量子化値Ｑと、前方向予測用の符号化動きベクトルfwdｄＭＶを構成するｘ成分（fwdｄＭＶ）xの絶対値及びｙ成分（fwdｄＭＶ）yの絶対値と、後方向予測用の符号化動きベクトルbwdｄＭＶを構成するｘ成分（bwdｄＭＶ）xの絶対値及びｙ成分（bwdｄＭＶ）yの絶対値とに基づいた値が得られる。
【０１４９】
次に、動き補償モードＤに対しては、上記の数６に示された動き補償モードＤ用の評価関数に従って、評価値Ｖを算出する。上記の数６によれば、評価値Ｖとして、動き補償モードＤに対する予測誤差値群を構成するfwdＤｉｆiと、量子化値Ｑと、動き補償モードＤに対する前方向予測用の符号化動きベクトル群を構成する符号化動きベクトルfwdｄＭＶiに対するｘ成分（fwdｄＭＶi）xの絶対値及びｙ成分（fwdｄＭＶi）yの絶対値とに基づいた値が得られる。
【０１５０】
次に、動き補償モードＥに対しては、上記の数７に示された動き補償モードＥ用の評価関数に従って、動き補償モードＥに対する評価値Ｖを算出する。上記の数７によれば、評価値Ｖとして、動き補償モードＥに対する予測誤差値群を構成するbwdＤｉｆiと、量子化値Ｑと、後方向予測用の符号化動きベクトル群を構成する符号化動きベクトルbwdｄＭＶiに対するｘ成分（bwdｄＭＶi）xの絶対値及びｙ成分（bwdｄＭＶi）yの絶対値とに基づいた値が得られる。
【０１５１】
次に、動き補償モードＦに対しては、上記の数８に示された動き補償モードＦ用の評価関数に従って、動き補償モードＦに対する評価値Ｖを算出する。上記の数８によれば、評価値Ｖとして、動き補償モードＦに対する予測誤差値群を構成するbothＤｉｆiと、量子化値Ｑと、後方向予測用の符号化動きベクトル群を構成する符号化動きベクトルfwdｄＭＶiに対するｘ成分（fwdｄＭＶi）xの絶対値及びｙ成分（fwdｄＭＶi）yの絶対値と、bwdｄＭＶiに対するｘ成分（bwdｄＭＶi）xの絶対値及びｙ成分（bwdｄＭＶi）yの絶対値とに基づいた値が得られる。
【０１５２】
また、ここでは、量子化値の増加に伴い、符号化動きベクトル換算値の割合を大きくする評価関数として上記の数３で示すような、量子化値を符号化動きベクトル換算値に乗算する評価関数を用いたが、上記の実施の形態１の場合と同様に、上記の数９で示すような、予測誤差換算値を量子化値で除算する評価関数を用いてもよい。
【０１５３】
モード間比較部２４では、評価値算出部２３で算出された、複数種類の動き補償モードごとの評価値Ｖを比較して、評価値Ｖが最小値をとる動き補償モードを符号化対象ブロックに対する最適動き補償モードに決定し、かつ選択された最適動き補償モードに関する最適動き補償モード情報を符号化部１に出力する。
【０１５４】
以上の実施の形態２においては、具体的な構成例を挙げて動き補償モードを選択する画像符号化装置について説明したが、本発明は、上記の具体的な構成例に限定されるものではない。
【産業上の利用可能性】
【０１５５】
本発明は、複数種類の符号化方式（複数種類の動きベクトル）から符号化効率の高い符号化方式（動きベクトル）を選択する際の選択精度が向上された画像符号化装置として利用できる。また、本発明は、複数種類の動き補償モードから符号化効率の高い動き補償モードを選択する際の選択精度が向上された画像符号化装置として利用できる。
【図面の簡単な説明】
【０１５６】
【図１】図１は、実施の形態１に係る画像符号化装置Ａの構成を概念的に表すブロック図である。
【図２】図２は、実施の形態１に係る画像符号化装置Ａの変化例の構成を概念的に表すブロック図である。
【図３】図３は、実施の形態２に係る画像符号化装置Ｂの構成を概念的に表すブロック図である。
【図４】図４は、本発明の一実施形態に係る画像符号化装置における、ＭＰＥＧ１及びＭＰＥＧ２に準じた予測動きベクトルを説明するための説明図である。
【図５】図５は、本発明の一実施形態に係る画像符号化装置における、１６×１６動き補償のＭＰＥＧ４準じた予測動きベクトルを説明するための説明図である。
【図６】図６（ａ）〜（ｄ）は、本発明の一実施形態に係る画像符号化装置における、８×８動き補償のＭＰＥＧ４に準じた予測動きベクトルを説明するための説明図である。
【図７】図７（ａ）〜（ｃ）は、従来における、前方向動き補償、後方向動き補償及び双方向動き補償を説明するための説明図である。
【図８】図８は、従来における、フレーム動き補償及びフィールド動き補償を説明するための説明図である。
【図９】図９（ａ）及び（ｂ）は、従来の８×８動き補償及び１６×１６動き補償を説明するための説明図である。
【図１０】図１０（ａ）及び（ｂ）は、従来における、前方向予測による動き補償モードと双方向予測による動き補償モードとに対する符号化対象マクロブロックの符号量の内訳を表す説明図である。
【図１１】図１１は、従来における、符号化レートのみを異ならせて符号化した場合における２つの符号化対象マクロブロックの符号量に対する内訳の相違を説明するための説明図である。
【図１２】図１２は、従来における符号化対象マクロブロックの符号量の内訳を表わす説明図である。
【符号の説明】
【０１５７】
１  符号化部
１１，２１  誤差値算出部
１２，２２  符号化ベクトル導出部
１３，２３  評価値算出部
１４  方式間比較部
２４  モード間比較部
２５  モード内比較部
【図１】
2006074499.tif 000013
【図２】
2006074499.tif 000014
【図３】
2006074499.tif 000015
【図４】
2006074499.tif 000016
【図５】
2006074499.tif 000017
【図６】
2006074499.tif 000018
【図７】
2006074499.tif 000019
【図８】
2006074499.tif 000020
【図９】
2006074499.tif 000021
【図１０】
2006074499.tif 000022
【図１１】
2006074499.tif 000023
【図１２】
2006074499.tif 000024