(57)【要約】【課題】動きベクトル探索を行うときの探索点数を増やすことなく、再生画像の品質を改善すること。【解決手段】インター予測回路１０１は、動きベクトル探索を実行し、前予測ベクトルｍｖ＿ｆｗ、後予測ベクトルｍｖ＿ｂｗにより、前予測ＭＢコストｃｏｓｔ＿ｆｗ、後予測ＭＢコストｃｏｓｔ＿ｂｗ、双予測ＭＢコストｃｏｓｔ＿ｂｉを算出する。次に、ダイレクト予測を実行し、前予測ダイレクトベクトルｍｖＬ０、後予測ダイレクトベクトルｍｖＬ１を算出する。このベクトルにより前予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ０、後予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ１、ダイレクト予測ＭＢコストｃｏｓｔ＿ｄｉを算出する。次に、ＭＢコストｃｏｓｔ＿ｆｗ、ｃｏｓｔ＿ｂｗ、ｃｏｓｔ＿ｂｉ、ｃｏｓｔ＿Ｌ０、ｃｏｓｔ＿Ｌ１、ｃｏｓｔ＿ｄｉの中から、最小のＭＢコストを含むインター予測タイプ（最適なインター予測タイプ）を選択する。【選択図】図２
2010268199.tif 000002
【特許請求の範囲】
【請求項１】
対象画像データをマトリックス状に分割して複数のマクロブロック（以下、ＭＢ）を生成し、前記複数のＭＢのうちの対象ＭＢを参照画像データ上に設定し、前記対象ＭＢとの誤差を最小にする周辺ＭＢを探索し、前記対象ＭＢと前記周辺ＭＢとのずれを求めることで、前記対象ＭＢの移動位置を決定する予測処理を実行するステップと、
前記予測処理の実行結果に基づいて、前記対象ＭＢを符号化するステップと
を具備し、
前記予測処理を実行するステップは、
前記対象ＭＢに対して最適なインター予測タイプを決定するステップ
を備え、
前記最適なインター予測タイプを決定するステップは、
前記対象ＭＢと前記周辺ＭＢとの動きベクトル探索を実行し、前記対象ＭＢの前予測ベクトルと後予測ベクトルとを出力するステップと、
前記前予測ベクトルを用いた前予測に必要なＭＢコストである前予測ＭＢコストを算出するステップと、
前記後予測ベクトルを用いた後予測に必要なＭＢコストである後予測ＭＢコストを算出するステップと、
前記前予測ベクトルと前記後予測ベクトルとを用いた双予測符号化に必要なＭＢコストである双予測ＭＢコストを算出するステップと、
ダイレクト予測を実行し、前記ダイレクト予測における前予測ベクトルである前予測ダイレクトベクトルと、前記ダイレクト予測における後予測ベクトルである後予測ダイレクトベクトルとを算出するステップと、
前記前予測ダイレクトベクトルを用いた前予測に必要なＭＢコストである前予測ダイレクトＭＢコストを算出するステップと、
前記後予測ダイレクトベクトルを用いた後予測に必要なＭＢコストである後予測ダイレクトＭＢコストを算出するステップと、
前記前予測ダイレクトベクトルと前記後予測ダイレクトベクトルとを用いた双予測符号化によるＭＢコストであるダイレクト予測ＭＢコストを算出するステップと、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと前記後予測ダイレクトＭＢコストの少なくとも１つのＭＢコストと、前記ダイレクト予測ＭＢコストとの複数種類のＭＢコストの中から、最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして選択するステップと
を含む動画像符号化方法。
【請求項２】
前記選択するステップは、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと、前記後予測ダイレクトＭＢコストと、前記ダイレクト予測ＭＢコストとの６種類のＭＢコストを比較するステップと、
前記６種類のＭＢコストの中から、最小のＭＢコストを選択するステップと、
前記最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして決定するステップと
を含む請求項１に記載の動画像符号化方法。
【請求項３】
前記選択するステップは、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと前記後予測ダイレクトＭＢコストのいずれかを表す選択ダイレクト予測ＭＢコストと、前記ダイレクト予測ＭＢコストとの５種類のＭＢコストを比較するステップと、
前記５種類のＭＢコストの中から、最小のＭＢコストを選択するステップと、
前記最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして決定するステップと
を含む請求項１に記載の動画像符号化方法。
【請求項４】
ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）勧告  Ｈ．２６４／ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式に適用される
請求項１〜３のいずれかに記載の動画像符号化方法。
【請求項５】
対象画像データをマトリックス状に分割して複数のマクロブロック（以下、ＭＢ）を生成し、前記複数のＭＢのうちの対象ＭＢを参照画像データ上に設定し、前記対象ＭＢとの誤差を最小にする周辺ＭＢを探索し、前記対象ＭＢと前記周辺ＭＢとのずれを求めることで、前記対象ＭＢの移動位置を決定する予測処理を実行する予測処理実行部と、
前記予測処理の実行結果に基づいて、前記対象ＭＢを符号化する符号化制御部と
を具備し、
前記予測処理実行部は、
前記対象ＭＢに対して最適なインター予測タイプを決定するインター予測回路
を備え、
前記インター予測回路は、
前記対象ＭＢと前記周辺ＭＢとの動きベクトル探索を実行し、前記対象ＭＢの前予測ベクトルと後予測ベクトルとを出力する動きベクトル探索回路と、
前記前予測ベクトルを用いた前予測に必要なＭＢコストである前予測ＭＢコストを算出する前予測ＭＢコスト算出回路と、
前記後予測ベクトルを用いた後予測に必要なＭＢコストである後予測ＭＢコストを算出する後予測ＭＢコスト算出回路と、
前記前予測ベクトルと前記後予測ベクトルとを用いた双予測符号化に必要なＭＢコストである双予測ＭＢコストを算出する双予測ＭＢコスト算出回路と、
ダイレクト予測を実行し、前記ダイレクト予測における前予測ベクトルである前予測ダイレクトベクトルと、前記ダイレクト予測における後予測ベクトルである後予測ダイレクトベクトルとを算出するダイレクトベクトル算出回路と、
前記前予測ダイレクトベクトルを用いた前予測に必要なＭＢコストである前予測ダイレクトＭＢコストを算出する前予測ＭＢコスト算出回路と、
前記後予測ダイレクトベクトルを用いた後予測に必要なＭＢコストである後予測ダイレクトＭＢコストを算出する後予測ＭＢコスト算出回路と、
前記前予測ダイレクトベクトルと前記後予測ダイレクトベクトルとを用いた双予測符号化によるＭＢコストであるダイレクト予測ＭＢコストを算出するダイレクトＭＢコスト算出回路と、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと前記後予測ダイレクトＭＢコストの少なくとも１つのＭＢコストと、前記ダイレクト予測ＭＢコストとの複数種類のＭＢコストの中から、最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして選択するインターＭＢタイプ選択回路と
を含む動画像符号化装置。
【請求項６】
前記インターＭＢタイプ選択回路は、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと、前記後予測ダイレクトＭＢコストと、前記ダイレクト予測ＭＢコストとの６種類のＭＢコストを比較し、
前記６種類のＭＢコストの中から、最小のＭＢコストを選択し、
前記最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして決定する
請求項５に記載の動画像符号化装置。
【請求項７】
前記インターＭＢタイプ選択回路は、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと前記後予測ダイレクトＭＢコストのいずれかを表す選択ダイレクト予測ＭＢコストと、前記ダイレクト予測ＭＢコストとの５種類のＭＢコストを比較し、
前記５種類のＭＢコストの中から、最小のＭＢコストを選択し、
前記最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして決定する
請求項５に記載の動画像符号化装置。
【請求項８】
ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）勧告  Ｈ．２６４／ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式に適用される
請求項５〜７のいずれかに記載の動画像符号化装置。
【請求項９】
対象画像データをマトリックス状に分割して複数のマクロブロック（以下、ＭＢ）を生成し、前記複数のＭＢのうちの対象ＭＢを参照画像データ上に設定し、前記対象ＭＢとの誤差を最小にする周辺ＭＢを探索し、前記対象ＭＢと前記周辺ＭＢとのずれを求めることで、前記対象ＭＢの移動位置を決定する予測処理を実行するステップと、
前記予測処理の実行結果に基づいて、前記対象ＭＢを符号化するステップと
の各ステップをコンピュータに実行させ、
前記予測処理を実行するステップは、
前記対象ＭＢに対して最適なインター予測タイプを決定するステップ
を備え、
前記最適なインター予測タイプを決定するステップは、
前記対象ＭＢと前記周辺ＭＢとの動きベクトル探索を実行し、前記対象ＭＢの前予測ベクトルと後予測ベクトルとを出力するステップと、
前記前予測ベクトルを用いた前予測に必要なＭＢコストである前予測ＭＢコストを算出するステップと、
前記後予測ベクトルを用いた後予測に必要なＭＢコストである後予測ＭＢコストを算出するステップと、
前記前予測ベクトルと前記後予測ベクトルとを用いた双予測符号化に必要なＭＢコストである双予測ＭＢコストを算出するステップと、
ダイレクト予測を実行し、前記ダイレクト予測における前予測ベクトルである前予測ダイレクトベクトルと、前記ダイレクト予測における後予測ベクトルである後予測ダイレクトベクトルとを算出するステップと、
前記前予測ダイレクトベクトルを用いた前予測に必要なＭＢコストである前予測ダイレクトＭＢコストを算出するステップと、
前記後予測ダイレクトベクトルを用いた後予測に必要なＭＢコストである後予測ダイレクトＭＢコストを算出するステップと、
前記前予測ダイレクトベクトルと前記後予測ダイレクトベクトルとを用いた双予測符号化によるＭＢコストであるダイレクト予測ＭＢコストを算出するステップと、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと前記後予測ダイレクトＭＢコストの少なくとも１つのＭＢコストと、前記ダイレクト予測ＭＢコストとの複数種類のＭＢコストの中から、最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして選択するステップと
を含む動画像符号化プログラム。
【請求項１０】
前記選択するステップは、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと、前記後予測ダイレクトＭＢコストと、前記ダイレクト予測ＭＢコストとの６種類のＭＢコストを比較するステップと、
前記６種類のＭＢコストの中から、最小のＭＢコストを選択するステップと、
前記最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして決定するステップと
を含む請求項９に記載の動画像符号化プログラム。
【請求項１１】
前記選択するステップは、
前記前予測ＭＢコストと、前記後予測ＭＢコストと、前記双予測ＭＢコストと、前記前予測ダイレクトＭＢコストと前記後予測ダイレクトＭＢコストのいずれかを表す選択ダイレクト予測ＭＢコストと、前記ダイレクト予測ＭＢコストとの５種類のＭＢコストを比較するステップと、
前記５種類のＭＢコストの中から、最小のＭＢコストを選択するステップと、
前記最小のＭＢコストを含むインター予測タイプを前記最適なインター予測タイプとして決定するステップと
を含む請求項９に記載の動画像符号化プログラム。
【請求項１２】
ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）勧告  Ｈ．２６４／ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式に適用される
請求項９〜１１のいずれかに記載の動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ；国際電気通信連合  電気通信標準化部門）勧告  Ｈ．２６４／ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、Ｈ．２６４／ＡＶＣと略す）のインター予測タイプに適用される画像符号化処理方法、画像符号化装置、及び、画像符号化プログラムに関する。
【背景技術】
【０００２】
ＭＰＥＧ−２符号化方式は、動画像データの圧縮技術として規格化され、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）やデジタル放送などに用いられている。近年では、ＭＰＥＧ−２符号化方式の次の圧縮技術として、非特許文献１に示されるようなＨ．２６４／ＡＶＣ符号化方式が規格化されている。Ｈ．２６４／ＡＶＣ符号化方式は、ＭＰＥＧ−２符号化方式に比べて符号化効率が良い。
【０００３】
まず、Ｈ．２６４／ＡＶＣ符号化方式について簡単に説明する。
【０００４】
動画像データは、複数の画像データ（フレーム）を含んでいる。複数の画像データにおいて、連続する２つの画像データのうちの、先行する画像データを参照画像データとし、その後方の画像データを対象画像データとする。参照画像データと対象画像データとの差分により予測誤差を決定し、これを符号化することにより高い圧縮効率が得られる。
【０００５】
しかし、被写体の早い運動や移動によっては、上記の差分が大きくなってしまい、高い圧縮効率が得られない。そこで、既に符号化された参照画像データを用意し、対象画像データをマトリックス状に分割して複数のマクロブロック（以下、ＭＢ）を生成する。次に、複数のＭＢのうちの、対象とする対象ＭＢの座標を表す対象ＭＢ位置（ｘ、ｙ）（例えば左上端の座標）を参照画像データ上に設定し、対象ＭＢとの誤差を最小にする周辺ＭＢを探索する。次に、対象ＭＢ位置（ｘ、ｙ）と、周辺ＭＢの座標を表す周辺ＭＢ位置（ｘ’、ｙ’）とのずれを表す動きベクトルｍｖ＝（ｘ’−ｘ、ｙ’−ｙ）を求めることで、対象ＭＢの移動位置を決定する。これを動き予測処理（又は予測処理）という。この処理によって、移動した被写体を追跡する。また、予測誤差を計算する処理を動き補償処理という。
【０００６】
被写体が対象画像データにおける対象ＭＢから逸脱した場合、あるいは、参照画像データにはない新たな被写体が対象画像データに表れた場合、周辺ＭＢと対象ＭＢとの差分が複雑化して、符号量を増大させてしまう危険性がある。よって、予測誤差がある基準値よりも大きい場合、周辺ＭＢとの差分を用いずに対象ＭＢの画素値を用いることでこれを回避する。この画素値を符号化する処理をイントラ符号化処理といい、動き補償の後に予測誤差を符号化する場合をインター符号化処理という。
【０００７】
次に、Ｈ．２６４／ＡＶＣ符号化方式について、非特許文献１を用いて説明する。
【０００８】
Ｈ．２６４／ＡＶＣのＭＢタイプ（以降ｍｂ＿ｔｙｐｅ）には、Ｉ＿ＰＣＭタイプ、イントラ予測タイプ、インター予測タイプが定義されている。そこで、イントラ予測タイプでは、上述のイントラ符号化処理を行うためのイントラ予測を実行する。インター予測タイプでは、上述のインター符号化処理を行うためのインター予測を実行する。
【０００９】
Ｈ．２６４／ＡＶＣの画像データ構造には、イントラ予測のみの画像データであるＩスライス（非特許文献１  ３．５９）と、イントラ予測と前予測が利用可能なＰスライス（非特許文献１  ３．９８）と、イントラ予測、前予測、後予測、双予測が利用可能なＢスライス（非特許文献１  ３．８）とが定義されている。インター予測は、前予測、後予測、双予測を合わせたものである。
【００１０】
Ｈ．２６４／ＡＶＣのインター予測タイプは、ＭＰＥＧ−２が１６ｘ１６、１６ｘ８のＭＢサイズしか利用できないのに対し、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８、８ｘ４、４ｘ８、４ｘ４の７種類のＭＢサイズを利用することが可能で、対象画像データの特性に合わせてＭＢサイズを選択することで符号化効率を向上することが可能となる。そのインター予測タイプでは、上述の動きベクトルと、対象ＭＢの周辺ＭＢから求めた予測ベクトルとの差分ベクトルを求め、その差分ベクトルを符号化する。更に、ＭＰＥＧ−２方式が左側のＭＢの動きベクトルから予測ベクトルを生成していたのに対し、Ｈ．２６４／ＡＶＣ方式では、図７に示されるように、対象ＭＢの左の周辺ＭＢをｍｂＡとし、対象ＭＢの上の周辺ＭＢをｍｂＢとし、対象ＭＢの右上の周辺ＭＢをｍｂＣ｛あるいは左上の周辺ＭＢをｍｂＤ）｝とし、その３カ所の周辺ＭＢの動きベクトルの中央値を予測ベクトルとして利用することにより（非特許文献１  ８．４．１．３参照）、符号化効率を向上させている。
【００１１】
Ｈ．２６４／ＡＶＣではＭＢタイプ情報は前述のＭＢサイズと、予測方向をまとめて符号化したもので、非特許文献１  Ｔａｂｌｅ７−１１、Ｔａｂｌｅ７−１３、Ｔａｂｌｅ７−１４に示されるように、画像データ構造ごとに同じｍｂ＿ｔｙｐｅ番号で異なる定義がなされている。例えば、Ｂスライス、ｍｂ＿ｔｙｐｅ＝１３に示されるＢ＿Ｌ０＿Ｂｉ＿１６ｘ８はＭＢサイズ１６ｘ８、１６ｘ８上ブロックは前予測、１６ｘ８下ブロックは双予測を意味している。
【００１２】
更に、Ｈ．２６４／ＡＶＣのＢスライスで用いるインター予測はダイレクト予測と呼ばれるＭＰＥＧ−２にはないインター予測タイプが新しく定義されている。ダイレクト予測は、ＭＢタイプ情報以外の参照番号情報、差分ベクトルの符号化の必要がない。更に、ダイレクト予測モード時、符号化する係数値が量子化によりなくなると、Ｂ＿Ｓｋｉｐというスキップ予測タイプとなるため、符号化圧縮の観点から非常に効率の良い符号化タイプである。
【００１３】
ダイレクト予測には時間的な予測を行うテンポラルダイレクト予測（非特許文献１  ８．４．１．２．３）と空間的な予測を行うスペーシャルダイレクト予測（非特許文献１  ８．４．１．２．２）の２種類が用意されており、ｄｉｒｅｃｔ＿ｓｐａｔｉａｌ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ（非特許文献１  ７．４．３）フラグを用いて画像データごとにいずれか一方のダイレクト予測を選択することができる。
【００１４】
テンポラルダイレクト予測について図８を用いて説明する。対象画像データの一番近い後予測参照画像データをアンカー画像データとし、対象画像データと同じ位置のＭＢ位置をコロケーテッドＭＢとして、コロケーテッドＭＢのベクトル情報ｍｖＣｏｌと、対象画像データと前予測参照画像データの時間距離ｔｂと、前予測参照画像データと後予測参照画像データの時間距離ｔｄとを用いて前予測ダイレクトベクトルｍｖＬ０、後ろ方向ダイレクトベクトルｍｖＬ１を以下のように求める。
【００１５】
ｍｖＬ０＝ｍｖＣｏｌ×ｔｂ／ｔｄ  （式１）
ｍｖＬ１＝ｍｖＬ０−ｍｖＣｏｌ  （式２）
【００１６】
テンポラルダイレクト予測では、予測は常にｍｖＬ０、ｍｖＬ１の双予測により行われる。
【００１７】
スペーシャルダイレクト予測は、ＭＢサイズ１６ｘ１６の空間的な予測ベクトルを先に述べたコロケーテッドＭＢ情報に従って処理を行う。
【００１８】
まず、ＭＢサイズ１６ｘ１６の対象ＭＢの参照番号ｒｅｆｉｄｘＬ０、ｒｅｆｉｄｘＬ１を求める。ｒｅｆｉｄｘＬ０は周辺ＭＢ  ｍｂＡ、ｍｂＢ、ｍｂＣの参照位置のそれぞれの前予測の参照番号ｒｅｆｉｄｘＬ０Ａ、ｒｅｆｉｄｘＬ０Ｂ、ｒｅｆｉｄｘＬ０Ｃのうちの一番小さな０以上の値とし、ｒｅｆｉｄｘＬ１はｍｂＡ、ｍｂＢ、ｍｂＣの参照位置のそれぞれの後予測の参照番号ｒｅｆｉｄｘＬ１Ａ、ｒｅｆｉｄｘＬ１Ｂ、ｒｅｆｉｄｘＬ１Ｃのうちの一番小さな０以上の値とする。また、ｄｉｒｅｃｔＺｅｒｏＰｒｅｄｉｃｔｉｏｎＦｌａｇは初期値を０とする。
【００１９】
ｒｅｆｉｄｘＬ０＝ｍｉｎＰｏｓ（ｒｅｆｉｄｘＬ０Ａ、ｒｅｆｉｄｘＬ０Ｂ、ｒｅｆｉｄｘＬ０Ｃ）  （式３）
ｒｅｆｉｄｘＬ１＝ｍｉｎＰｏｓ（ｒｅｆｉｄｘＬ１Ａ、ｒｅｆｉｄｘＬ１Ｂ、ｒｅｆｉｄｘＬ１Ｃ）  （式４）
ｄｉｒｅｃｔＺｅｒｏＰｒｅｄｉｃｔｉｏｎＦｌａｇ＝０  （式５）
【００２０】
式３、式４より、ｒｅｆｉｄｘＬ０＝＝−１かつ、ｒｅｆｉｄｘＬ１＝＝−１のとき、ｒｅｆｉｄｘＬ０、ｒｅｆｉｄｘＬ１、ｄｉｒｅｃｔＺｅｒｏＰｒｅｄｉｃｔｉｏｎＦｌａｇは次式とする。
【００２１】
ｒｅｆｉｄｘＬ０＝０  （式６）
ｒｅｆｉｄｘＬ１＝０  （式７）
ｄｉｒｅｃｔＺｅｒｏＰｒｅｄｉｃｔｉｏｎＦｌａｇ＝１  （式８）
【００２２】
次に、３つの条件（ａ）〜（ｃ）を満たすとき、ｃｏｌＺｅｒｏＦｌａｇ＝１、それ以外のときｃｏｌＺｅｒｏＦｌａｇ＝０とする。ここで、コロケーテッドＭＢの参照番号をｒｅｆｉｄｘＣｏｌ、動きベクトルをｍｖＣｏｌとする。
【００２３】
（ａ）  Ｌ０で最小の参照番号の参照画像データが短期間参照画像データ（ｓｈｏｒｔ−ｔｅｒｍ  ｒｅｆｅｒｅｎｃｅ）であること。
（ｂ）  コロケーテッドＭＢの参照番号がｒｅｆｉｄｘＣｏｌ＝０であること。
（ｃ）  コロケーテッドＭＢの動きベクトルのｍｖＣｏｌの水平、垂直成分のいずれもが±１画素以内にあること。
【００２４】
次に、ｍｂＡ、ｍｂＢ、ｍｂＣの周辺ＭＢからＭＢサイズ１６ｘ１６の予測ベクトルｐｍｖＬ０、ｐｍｖＬ１を非特許文献１  ８．４．１．３に従って中央値（Ｍｅｄｉａｎ値）を算出する。
【００２５】
ｐｍｖＬ０＝Ｍｅｄｉａｎ（ｍｖＬ０Ａ、ｍｖＬ０Ｂ、ｍｖＬ０Ｃ）  （式９）
ｐｍｖＬ１＝Ｍｅｄｉａｎ（ｍｖＬ１Ａ、ｍｖＬ１Ｂ、ｍｖＬ１Ｃ）  （式１０）
【００２６】
ｍｖＬ０はｒｅｆｉｄｘＬ０＝＝−１のときに使用せず、ｄｉｒｅｃｔＺｅｒｏＰｒｅｄｉｃｔｉｏｎＦｌａｇ＝＝１、または、または、ｒｅｆｉｄｘＬ０＝＝０かつｃｏｌＺｅｒｏＦｌａｇ＝＝１のときにｍｖＬ０＝（０、０）、それ以外のときにｍｖＬ０＝ｐｍｖＬ０とする。ｍｖＬ１はｒｅｆｉｄｘＬ１＝＝−１のときに使用せず、ｄｉｒｅｃｔＺｅｒｏＰｒｅｄｉｃｔｉｏｎＦｌａｇ＝＝１、または、ｒｅｆｉｄｘＬ１＝＝０かつｃｏｌＺｅｒｏＦｌａｇ＝＝１のときにｍｖＬ１＝（０、０）、それ以外のときにｍｖＬ１＝ｐｍｖＬ１とする。
【００２７】
テンポラルダイレクト予測が常にｍｖＬ０とｍｖＬ１の双予測で行われるのに対し、スペーシャルダイレクト予測は、周辺ＭＢ情報から算出されるｒｅｆｉｄｘＬ０、ｒｅｆｉｄｘＬ１の値によりｍｖＬ０のみを使用する前予測、ｍｖＬ１のみを使用する後予測、ｍｖＬ０とｍｖＬ０の双予測のいずれかで行われる。
【００２８】
次に、Ｈ．２６４／ＡＶＣのインター予測タイプの決定方法について述べる。ＭＰＥＧ−２まではインター予測タイプの決定に動き補償後の予測残差の絶対値和や二乗和を用いてきたが、この方式は、低ビットレートになったとき、ＭＢタイプの情報量や動きベクトルの情報量が考慮されていないため、最適なＭＢタイプが選択されないという問題があった。
【００２９】
Ｈ．２６４／ＡＶＣ方式の符号化タイプの決定方法は、非特許文献２に示すＲＤ（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ）最適化方法が一般的に用いられており、予測残差のコスト以外のオーバーヘッド情報を考慮して符号化タイプを決定する。
【００３０】
あるインター予測タイプのトータルＭＢコストは式１１より、動きベクトルｍｖにより動き補償を行った後の予測残差のアダマール変換係数値の絶対値和ＳＡＴＤと、ＭＢ内の差分ベクトル和の発生情報量Ｒ（ｄｍｖ）にラグランジュ乗数λをかけたものの和とする。
【００３１】
ＭＢタイプが複数の動きベクトル（Ｎ個）を持つ場合、ｉ番目動きベクトルｍｖ［ｉ]とｉ番目の予測ベクトルｐｍｖ［ｉ]の差分ベクトルの絶対値和ｄｍｖを求める。ここで、ＭＢ内のベクトルの本数はＭＢサイズが１６ｘ１６のとき１本、１６ｘ８あるいは８ｘ１６のとき２本、８ｘ８のとき４本となる。
【００３２】
Ｈ．２６４／ＡＶＣでは、差分ベクトルの発生情報量Ｒは、指数ゴロム符号を評価値として用いられることが一般的であり、図１１に示されるような指数ゴロム符号長テーブルを用いて求められる。この場合、指数ゴロム符号長テーブルは、差分ベクトルの範囲（１／４画素単位で求めた差分ベクトルを４倍した値）と指数ゴロム符号長とを複数対応付け、指数ゴロム符号長テーブルを用いて指数ゴロム符号長に対応する値を求める。λは式１３に示されるような量子化スケール値Ｑｐから定まる値とする。
【００３３】
ＭＢｃｏｓｔ＝ＳＡＴＤ  ＋  λ×Ｒ（ｄｍｖ）  （式１１）
ｄｍｖ＝Σ（ｉ＝０．．Ｎ−１）（ａｂｓ（ｍｖ［ｉ]  −  ｐｍｖ［ｉ]））  （式１２）
λ＝０．８５×２（Ｑｐ−１２）／４  （式１３）
【００３４】
例えばＭＢサイズ１６ｘ１６である場合に図７を用いて説明する。この場合、ｍｖ＝（−１１、−２）のとき、ｍｖＡ＝（−１２、４）、ｍｖＢ＝（−１０、３）、ｍｖＣ＝（−１１、−１１）とすると、予測ベクトルｐｍｖのｘ成分は−１１、−１２、−１１のメディアン値から−１１となり、ｙ成分は４、−３、−１１のメディアン値から−３となり、ｐｍｖ＝（−１１、−３）となる。よって、ｄｍｖ＝（−１１、−２）−（−１１、−３）＝（０、１）となる。ｄｍｖのｘ成分の指数ゴロム符号は図１１より０のときに１となり、ｙ成分が１のときに３となり、Ｒ（ｄｍｖ）＝１＋３＝４となる。仮に、λ＝１０とすると、ベクトルコストは１０ｘ４＝４０といった値となり、この値と予測残差信号のＳＡＴＤをたしたものがＭＢコストとなる。
【００３５】
先に述べたように、Ｈ．２６４／ＡＶＣのダイレクト予測の差分ベクトルは符号化する必要がないため、ＳＡＴＤのみがＭＢコストとなる。Ｑｐが大きなとき、すなわち、低ビットレートのとき、差分ベクトルのコストは大きくなるため、ＳＡＴＤが同じであっても通常のインター予測タイプよりダイレクト予測が選ばれやすくなる。
【先行技術文献】
【非特許文献】
【００３６】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ４  ＡＶＣ:  ＩＳＯ／ＩＥＣ１４４９６  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  −  Ｐａｒｔ．１０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ．
【非特許文献２】“Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  ＶＩＤＥＯ  ＣＯＭＰＲＥＳＳＩＯＮ”、ＩＥＥＥ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍａｇａｚｉｎｅ、Ｎｏｖ．  １９９８
【発明の概要】
【発明が解決しようとする課題】
【００３７】
Ｈ．２６４／ＡＶＣのインター予測は複数のＭＢサイズ予測を含んでいる。これらのＭＢサイズから最適な符号化モードを決定するためには莫大な演算を必要とするが、リアルタイム処理を行う画像符号化装置では、１画像データの処理時間内に動きベクトル探索できる範囲が一定である。このため、参照画像データ数が２枚であるＢスライスでは、参照画像データ数が１枚であるＰスライスと比べると、画像データ１枚あたりの動きベクトル探索範囲が半分になってしまうという問題がある。
【００３８】
一般的に、画像の時間相関は、シーンチェンジがない連続画像では時間距離に反比例する。このため、時間距離の短い参照画像データに狭い探索範囲を、時間距離の長い参照画像データに広い探索範囲を割当てることで、均等に探索範囲を分割するより性能劣化を抑えることができる。しかし、動きの大きな画像データの場合、狭い探索範囲の参照画像データの動きベクトルは最適でない可能性が高い。
【００３９】
図８を例にすると、対象画像データＢ（６）は前予測参照画像データＰ（５）と１画像データ分だけ離れていて、後予測参照画像データＰ（８）と２画像データ分だけ離れているため、Ｐスライスの動きベクトル探索範囲の１／３を前予測参照画像データＰ（５）の動きベクトル探索にあて、２／３を後予測参照画像データＰ（８）に割当てる。
【００４０】
このような動きベクトル探索方法は、対象画像データＢ（６）の探索範囲は後予測参照画像データＰ（８）の探索の１／３しかないため、後予測参照画像データＰ（８）で見つかる最良の動きベクトルが見つからないという問題がある。
【００４１】
本発明の課題は、動きベクトル探索を行うときの探索点数を増やすことなく、再生画像の品質を改善する動画像符号化方法、動画像符号化装置、及び、画像符号化プログラムを提供することである。
【課題を解決するための手段】
【００４２】
以下に、発明を実施するための形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００４３】
本発明の動画像符号化方法は、例えば、後述の動画像符号化装置に適用される。動画像符号化装置は、予測処理実行部（１００〜１０２）と、符号化制御部（１０３〜１１２）とを具備している。予測処理実行部（１００〜１０２）は、対象画像データをマトリックス状に分割して複数のマクロブロック（以下、ＭＢ）を生成し、複数のＭＢのうちの対象ＭＢを参照画像データ上に設定し、対象ＭＢとの誤差を最小にする周辺ＭＢを探索し、対象ＭＢと周辺ＭＢとのずれを求めることで、対象ＭＢの移動位置を決定する予測処理を実行する。符号化制御部（１０３〜１１２）は、予測処理の実行結果に基づいて、対象ＭＢを符号化する。
予測処理実行部（１００〜１０２）は、対象ＭＢに対して最適なインター予測タイプを決定するインター予測回路（１０１）を備えている。インター予測回路（１０１）は、動きベクトル探索回路（２００）と、前予測ＭＢコスト算出回路（２０６）と、後予測ＭＢコスト算出回路（２０７）と、双予測ＭＢコスト算出回路（２０８）と、ダイレクトベクトル算出回路（２０２）と、前予測ＭＢコスト算出回路（２１２）と、後予測ＭＢコスト算出回路（２１３）と、ダイレクトＭＢコスト算出回路（２１４）と、インターＭＢタイプ選択回路（２１５）（２１９）とを含んでいる。
動きベクトル探索回路（２００）は、対象ＭＢと周辺ＭＢとの動きベクトル探索を実行し、対象ＭＢの前予測ベクトル（ｍｖ＿ｆｗ）と後予測ベクトル（ｍｖ＿ｂｗ）とを出力する。前予測ＭＢコスト算出回路（２０６）は、前予測ベクトル（ｍｖ＿ｆｗ）を用いた前予測に必要なＭＢコストである前予測ＭＢコスト（ｃｏｓｔ＿ｆｗ）を算出する。後予測ＭＢコスト算出回路（２０７）は、後予測ベクトル（ｍｖ＿ｂｗ）を用いた後予測に必要なＭＢコストである後予測ＭＢコスト（ｃｏｓｔ＿ｂｗ）を算出する。双予測ＭＢコスト算出回路（２０８）は、前予測ベクトル（ｍｖ＿ｆｗ）と後予測ベクトル（ｍｖ＿ｂｗ）とを用いた双予測符号化に必要なＭＢコストである双予測ＭＢコスト（ｃｏｓｔ＿ｂｉ）を算出する。
ダイレクトベクトル算出回路（２０２）は、ダイレクト予測を実行し、ダイレクト予測における前予測ベクトルである前予測ダイレクトベクトル（ｍｖＬ０）と、ダイレクト予測における後予測ベクトルである後予測ダイレクトベクトル（ｍｖＬ１）とを算出する。前予測ＭＢコスト算出回路（２１２）は、前予測ダイレクトベクトル（ｍｖＬ０）を用いた前予測に必要なＭＢコストである前予測ダイレクトＭＢコスト（ｃｏｓｔ＿Ｌ０）を算出する。後予測ＭＢコスト算出回路（２１３）は、後予測ダイレクトベクトル（ｍｖＬ１）を用いた後予測に必要なＭＢコストである後予測ダイレクトＭＢコスト（ｃｏｓｔ＿Ｌ１）を算出する。ダイレクトＭＢコスト算出回路（２１４）は、前予測ダイレクトベクトル（ｍｖＬ０）と後予測ダイレクトベクトル（ｍｖＬ１）とを用いた双予測符号化によるＭＢコストであるダイレクト予測ＭＢコスト（ｃｏｓｔ＿ｄｉ）を算出する。
インターＭＢタイプ選択回路（２１５）（２１９）は、前予測ＭＢコスト（ｃｏｓｔ＿ｆｗ）と、後予測ＭＢコスト（ｃｏｓｔ＿ｂｗ）と、双予測ＭＢコスト（ｃｏｓｔ＿ｂｉ）と、前予測ダイレクトＭＢコスト（ｃｏｓｔ＿Ｌ０）と後予測ダイレクトＭＢコスト（ｃｏｓｔ＿Ｌ１）の少なくとも１つのＭＢコストと、ダイレクト予測ＭＢコスト（ｃｏｓｔ＿ｄｉ）との複数種類のＭＢコストの中から、最小のＭＢコストを含むインター予測タイプを最適なインター予測タイプとして選択する。
【発明の効果】
【００４４】
以上により、本発明では、従来のインター予測回路の４対１インターＭＢタイプ選択回路（２１６）に代えて、前予測ダイレクトＭＢコスト算出回路（２１２）と、後予測ダイレクトＭＢコスト算出回路（２１３）と、インターＭＢタイプ選択回路（２１５）（２１９）とを具備し、インターＭＢタイプ選択回路（２１５）（２１９）が複数種類のインター予測タイプから最適なインター予測タイプを選択している。上述のように、参照画像データの探索範囲が狭い場合、動きベクトル探索回路（２００）から出力される前予測ベクトルあるいは後予測ベクトルが正しくないベクトルを表しているとき、コロケーテッドＭＢの動きベクトルが正しいベクトルであれば、ダイレクト予測よりも、ダイレクト予測で用いる前予測ベクトル（ｍｖＬ０）あるいは後予測ベクトル（ｍｖＬ１）の方方向予測を通常のインター予測タイプとして評価することで、より、符号化ｂｉｔ数の少ないＭＢタイプを選択できる可能性があるため、符号化効率の向上が期待できる。
【００４５】
このように、本発明によれば、動きベクトルの探索範囲が小さくなるＢスライスにおいて、動きベクトル探索を行うときの探索点数を増やすことなく、ベクトル候補点を増やすことができるため、再生画像の品質を改善することができる。
【図面の簡単な説明】
【００４６】
【図１】図１は、本発明の第１、２実施形態による動画像符号化装置の構成を示している。
【図２】図２は、本発明の第１実施形態による動画像符号化装置のインター予測回路として、図１のインター予測回路１０１の構成を示している。
【図３】図３は、従来のインター予測回路として、非特許文献２を考慮したインター予測回路１０１の構成を示している。
【図４】図４は、図２、図３の動きベクトル探索回路２００の構成を示している。
【図５】図５は、図４の最小ＳＡＤ探索回路３１１〜３１９の構成を示している。
【図６】図６は、本発明の第１、２実施形態による動画像符号化装置をコンピュータプログラムで実施するときのハードウェア構成例である。
【図７】図７は、予測ベクトルと周辺ＭＢ位置の関係を記した図である。
【図８】図８は、Ｂスライスのインター予測のピクチャと探索範囲の関係を示した図である。
【図９】図９は、動きベクトル探索回路のＭＢあたりの参照ピクチャ処理割り当てを示した図である。
【図１０】図１０は、ＭＢサイズの関係を示した図である。
【図１１】図１１は、指数ゴロム符号長テーブルである。
【図１２】図１２は、本発明の第２実施形態による動画像符号化装置のインター予測回路として、図１のインター予測回路１０１の構成を示している。
【発明を実施するための形態】
【００４７】
以下に添付図面を参照して、本発明の実施形態による動画像符号化方法に適用される動画像符号化装置について詳細に説明する。
【００４８】
本発明は、Ｂスライスで利用されるものであるため、動画像符号化装置の構成や動作はＢスライスのみ記述する。
【００４９】
Ｈ．２６４／ＡＶＣでは、参照画像データが複数枚の画像データのとき、符号化ストリームには参照画像データの参照番号が符号化されるが、本発明では前予測の参照画像データ数を１枚とし、後予測の参照画像データ数を１枚とし、参照画像データの参照番号については説明を省略する。また、ＭＢサイズに関しては、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８を用いるものとして説明を行う。ＭＢコスト等の演算式についてはＭＢサイズ１６ｘ１６としてときの値を示しているが、ＭＢサイズ内に複数本のベクトルが存在するとき、式１２のように各ベクトルの差分和を求めるものとする。
【００５０】
ＭＢサイズ内の名称について図１０を用いて説明する。ＭＢは１６画素ｘ１６ラインで構成され、８画素ｘ８ライン単位で区切ってＭＢ内オフセット位置が（０、０）−（７、７）のブロックを８ｘ８Ｕｌとし、（８、０）−（１５、７）のブロックを８ｘ８Ｕｒとし、（０、８）−（７、１５）のブロックを８ｘ８Ｌｌとし、（８、８）−（１５、１５）のブロックを８ｘ８Ｌｒとする。ＭＢサイズ１６ｘ８はブロック１６ｘ８Ｕが８ｘ８Ｕｌと８ｘ８Ｕｒとで構成され、１６ｘ８Ｌが８ｘ８Ｌｌと８ｘ８Ｌｒとで構成され、ＭＢサイズ８ｘ１６はブロック８ｘ１６ｌが８ｘ８Ｕｌと８ｘ８Ｌｌとで構成され、ブロック８ｘ１６ｒが８ｘ８Ｕｒと８ｘ８Ｌｒとで構成されるものとする。
【００５１】
（第１実施形態）
図１は、本発明の第１実施形態による動画像符号化装置の構成を示している。その動画像符号化装置は、参照画像メモリ１００と、インター予測回路１０１と、イントラ予測回路１０２と、ＭＢタイプ決定回路１０３と、予測残差生成回路１０４と、直交変換回路（ＤＣＴ）１０５と、量子化回路（Ｑ）１０６と、エントロピー符号化回路１０７と、逆量子化回路（ＩＱ）１０８と、逆直交変換回路（ＩＤＣＴ）１０９と、動き補償回路１１０と、ループ内フィルタ回路１１１と、符号化制御回路１１２とを具備している。参照画像メモリ１００とインター予測回路１０１とイントラ予測回路１０２は、予測処理実行部（１００〜１０２）を構成し、ＭＢタイプ決定回路１０３と予測残差生成回路１０４と直交変換回路１０５と量子化回路１０６とエントロピー符号化回路１０７と逆量子化回路１０８と逆直交変換回路１０９と動き補償回路１１０とループ内フィルタ回路１１１と符号化制御回路１１２は、符号化制御部（１０３〜１１２）を構成する。
【００５２】
まず、予測処理実行部（１００〜１０２）について説明する。
【００５３】
予測処理実行部（１００〜１０２）は、予測処理を実行する。まず、対象画像データをマトリックス状に分割して複数のマクロブロック（以下、ＭＢ）を生成する。次に、複数のＭＢのうちの、対象とする対象ＭＢの座標を表す対象ＭＢ位置（ｘ、ｙ）（例えば左上端の座標）を参照画像データ上に設定し、対象ＭＢとの誤差を最小にする周辺ＭＢを探索する。参照画像データは、対象画像データに先行する画像データであり、既に符号化されている。次に、対象ＭＢ位置（ｘ、ｙ）と、周辺ＭＢの座標を表す周辺ＭＢ位置（ｘ’、ｙ’）とのずれを表す動きベクトルｍｖ＝（ｘ’−ｘ、ｙ’−ｙ）を求めることで、対象ＭＢの移動位置を決定する。予測処理実行部（１００〜１０２）は、この予測処理の実行結果を符号化制御部（１０３〜１１２）に出力する。
【００５４】
インター予測回路１０１、イントラ予測回路１０２には、入力画像データとして対象画像データが供給される。
【００５５】
インター予測回路１０１は、符号化制御回路１１２の制御に従って、参照画像メモリ１００から参照画像データを読み出して、対象ＭＢに対して、インター予測モードの評価を行い、最適なインター予測タイプを決定する。即ち、対象ＭＢに対して前述のインター符号化処理を行うための予測処理として、インター予測を実行する。インター予測回路１０１は、この予測処理を実行したときの最適なインター予測タイプをＭＢタイプ決定回路１０３に出力する。最適なインター予測タイプは、そのＭＢタイプ、ＭＢコスト、動きベクトル、インター予測画像データを含んでいる。最適なインター予測タイプのＭＢタイプは、対象ＭＢを符号化するときに用いられるタイプを指定する。
【００５６】
イントラ予測回路１０２は、対象ＭＢに対して、最良の予測方向と、マクロブロック全体の予測コストから最適なイントラ予測タイプを決定する。即ち、対象ＭＢに対して前述のイントラ符号化処理を行うための予測処理として、イントラ予測を実行する。イントラ予測回路１０２は、この予測処理を実行したときの最適なイントラ予測タイプをＭＢタイプ決定回路１０３に出力する。最適なイントラ予測タイプは、そのＭＢタイプ、ＭＢコスト、イントラ予測方向、イントラ予測画像データを含んでいる。最適なイントラ予測タイプのＭＢタイプは、対象ＭＢを符号化するときに用いられるタイプを指定する。
【００５７】
次に、符号化制御部（１０３〜１１２）について説明する。符号化制御部（１０３〜１１２）は、予測処理の実行結果に基づいて、対象ＭＢを符号化する。
【００５８】
ＭＢタイプ決定回路１０３は、インター予測回路１０１からインター予測タイプのＭＢコストを受け取り、イントラ予測回路１０２からイントラ予測タイプのＭＢコストを受け取る。ＭＢタイプ決定回路１０３は、インター予測タイプ、イントラ予測タイプに含まれるＭＢコストのうちの最小のＭＢコストを含む予測タイプを決定する。上記の予測タイプとしてインター予測タイプが選択されたとき、ＭＢタイプ決定回路１０３は、インター予測画像データを予測画像データとして予測残差生成回路１０４に出力し、ＭＢタイプ、動きベクトルをＭＢ符号化情報としてエントロピー符号化回路１０７に出力する。上記の予測タイプとしてイントラ予測タイプが選択されたとき、ＭＢタイプ決定回路１０３は、イントラ予測画像データを予測画像データとして予測残差生成回路１０４に出力し、ＭＢタイプ、イントラ予測方向をＭＢ符号化情報としてエントロピー符号化回路１０７に出力する。
【００５９】
予測残差生成回路１０４には、入力画像データとして対象画像データが供給される。予測残差生成回路１０４は、供給される対象画像データと、ＭＢタイプ決定回路１０３からの予測画像データとの差分をとり（計算し）、それを予測残差画像データとして直交変換回路１０５に出力する。
【００６０】
直交変換回路１０５は、予測残差画像データに対してＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ；離散コサイン変換）を施してＤＣＴ係数を生成し、量子化回路１０６に出力する。
【００６１】
量子化回路１０６は、符号化制御回路１１２からの量子化スケール値を用いて、ＤＣＴ係数に対して量子化を施し、量子化係数値を生成し、エントロピー符号化回路１０７と逆量子回路１０８に出力する。
【００６２】
エントロピー符号化回路１０７は、符号化規格に準拠するよう、シーケンスや画像データのヘッダ、符号化の動作モードなどを符号化し、ＭＢ単位では、ＭＢタイプにより、規格準拠となるように、参照画像データの参照番号、動きベクトル、イントラ予測方向、量子化スケール値などのエントロピー符号化を行い、ビットストリームとして出力する。ここで、エントロピー符号化の方式として、Ｈ．２６４／ＡＶＣではＣＡＶＬＣとＣＡＢＡＣの２種類を利用することができる。ビットストリームの符号化ビット数は発生符号量情報として符号化制御回路１１２に出力される。
【００６３】
逆量子化回路１０８は、量子化に用いた量子化スケール値を用いて、逆量子化を施し、復号された変換係数値を逆直交変換回路１０９に出力する。
【００６４】
逆直交変換回路１０９は、復号された変換係数値の逆ＤＣＴを施して、復号された予測残差画像データを動き補償回路１１０に出力する。
【００６５】
動き補償回路１１０は、ＭＢタイプ決定回路１０３からの予測画像データと、逆直交変換回路１０９からの予測残差画像データとを加算することで、復号された対象画像データを生成し、ループ内フィルタ回路１１１に出力する。
【００６６】
ループ内フィルタ回路１１１は、復号された対象画像データに対し、量子化スケール値や、周辺ＭＢのＭＢタイプ情報、量子化係数値の有無などにより、フィルタ強度を適応的に変化させ、直交変換回路のブロックサイズ周辺にフィルタリングを行うことで、ブロック単位で近くされる格子状ノイズを低減し、参照画像メモリ１００に出力する。
【００６７】
参照画像メモリ１００は、複数枚の参照画像データを記憶しており、インター予測回路１０１のアドレス指定により参照画像データをブロック単位で出力する機能を備える。
【００６８】
符号化制御回路１１２は、入力画像の画像データのタイプを決定し、エントロピー符号化回路１０７より出力される発生符号量情報により、符号化装置全体の制御を行うよう符号化制御情報を出力する。Ｂスライスのとき、インター予測回路１０１は前予測参照画像データと後予測参照画像データの最適な動きベクトルを探索するが、探索できる範囲は一定であるため、例えば図９に示されるような処理を行う。後予測参照画像データＰ（８）のとき全ての処理時間を１枚の参照画像データに対して行っていたのに対し、対象画像データＢ（６）では、前予測参照画像データと後予測参照画像データの画像データ間隔が３であり、前予測画像データと対象画像データの画像データ間隔が１であり、後予測画像データと対象画像データの画像データ間隔が２であるので、前予測画像データ、即ち、前予測参照画像データＰ（５）の動きベクトル探索に１／３の処理時間を配分し、後予測画像データ、即ち、後予測参照画像データＰ（８）の動きベクトル探索に２／３の処理時間を配分する。同様に、後予測参照画像データＰ（７）は前予測参照画像データＰ（５）との画像データ間隔が２であり、後予測参照画像データＰ（８）との画像データ間隔が１なので、前予測参照画像データＰ（５）の動きベクトル探索に２／３配分し、後予測参照画像データＰ（８）の動きベクトル探索に１／３の処理時間を配分する。
【００６９】
符号化制御情報としては、対象画像データの画像データタイプ、対象ＭＢの画面内位置（ｘ、ｙ）、前予測参照画像データの参照画像メモリ基準位置、後予測参照画像データの参照画像メモリ基準位置、前予測の探索範囲、後予測の探索範囲、量子化ステップ値から求めたλ値などがある。
【００７０】
図２は、本発明の第１実施形態による動画像符号化装置のインター予測回路として、図１のインター予測回路１０１の構成を示している。そのインター予測回路１０１は、動きベクトル探索回路２００と、メモリアドレス生成回路２０１と、ダイレクトベクトル算出回路２０２と、前予測動き補償回路（ＦＷＭＣ）２０３、２０９と、後予測動き補償回路（ＢＷＭＣ）２０４、２１０と、双予測動き補償回路（ＢＩＭＣ）２０５、２１１と、前予測ＭＢコスト算出回路（ＦＷ  ｃｏｓｔ）２０６、２１２と、後予測ＭＢコスト算出回路（ＢＷ  ｃｏｓｔ）２０７、２１３と、双予測ＭＢコスト算出回路（ＢＩ  ｃｏｓｔ）２０８と、ダイレクトＭＢコスト算出回路（ＤＩ  ｃｏｓｔ）２１４と、６対１インターＭＢタイプ選択回路２１５と、を具備している。
【００７１】
動きベクトル探索回路２００は、参照画像データと、符号化制御回路１１２からの符号化制御情報に含まれる探索範囲に従って、対象画像データの対象ＭＢと参照画像データの参照ＭＢとの動きベクトル探索を実行する。この場合、動きベクトル探索回路２００は、探索範囲内でコスト最小なベクトルを探索し、前予測ベクトルｍｖ＿ｆｗをメモリアドレス生成回路２０１、前予測動き補償回路２０３、前予測ＭＢコスト算出回路２０６に出力し、後予測ベクトルｍｖ＿ｂｗをメモリアドレス生成回路２０１、後予測動き補償回路２０４、後予測ＭＢコスト算出回路２０７に出力する。動きベクトル探索回路２００について詳細に説明する。
【００７２】
図４は、動きベクトル探索回路２００の構成を示している。動きベクトル探索回路２００は、探索範囲設定回路３００、インターＭＢタイプ選択回路３０１と、８ｘ８Ｕｌ  ＳＡＤ算出回路（８ｘ８Ｕｌ  ＳＡＤ）３０２と、８ｘ８Ｕｒ  ＳＡＤ算出回路（８ｘ８Ｕｒ  ＳＡＤ）３０３と、８ｘ８Ｌｌ  ＳＡＤ算出回路（８ｘ８Ｌｌ  ＳＡＤ）３０４と、８ｘ８Ｌｒ  ＳＡＤ算出回路（８ｘ８Ｌｒ  ＳＡＤ）３０５と、加算回路３０６、３０７、３０８、３０９、３１０、３２１、３２２、３２３、３２４、３２５と、１６ｘ１６最小ＳＡＤ探索回路（１６ｘ１６  ｍｉｎ）３１１と、１６ｘ８Ｕ最小ＳＡＤ探索回路（１６ｘ８Ｕ  ｍｉｎ）３１２と、１６ｘ８Ｌ最小ＳＡＤ探索回路（１６ｘ８Ｌ  ｍｉｎ）３１３と、８ｘ１６ｌ最小ＳＡＤ探索回路（８ｘ１６ｌ  ｍｉｎ）３１４と、８ｘ１６ｒ最小ＳＡＤ探索回路（８ｘ１６ｒ  ｍｉｎ）３１５と、８ｘ８Ｕｌ最小ＳＡＤ探索回路（８ｘ８Ｕｌ  ｍｉｎ）３１６と、８ｘ８Ｕｒ最小ＳＡＤ探索回路（８ｘ８Ｕｒ  ｍｉｎ）３１７と、８ｘ８Ｌｌ最小ＳＡＤ探索回路（８ｘ８Ｌｌ  ｍｉｎ）３１８と、８ｘ８Ｌｒ最小ＳＡＤ探索回路（８ｘ８Ｌｒ  ｍｉｎ）３１９とを具備している。
【００７３】
探索範囲設定回路３００は、符号化制御回路１１２からの符号化制御情報に含まれる探索範囲に従って、ベクトル情報を生成し、メモリアドレス生成回路２０１に出力する。
【００７４】
メモリアドレス生成回路２０１は、符号化制御回路１１２からの参照画像データのバンク（基準位置）、対象ＭＢ位置と、探索範囲設定回路３００からの動きベクトルから画像データ内メモリアドレスを算出し、８ｘ８のブロック単位で画像データの読み出しを行うよう参照画像メモリ１００に読み出しアドレスを出力する。
【００７５】
８ｘ８Ｕｌ  ＳＡＤ算出回路３０２は、対象画像データのブロック８ｘ８Ｕｌと参照画像データのブロック８ｘ８Ｕｌの差分絶対値和（ＳＡＤ：Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を８ｘ８ブロック単位で算出し、加算回路３０６、３０９と８ｘ８Ｕｌ最小ＳＡＤ探索回路３１６に８ｘ８ＵｌのＳＡＤ値ｓａｄ＿８ｘ８Ｕｌを出力する。
【００７６】
８ｘ８Ｕｒ  ＳＡＤ算出回路３０３は、対象画像データのブロック８ｘ８Ｕｒと参照画像データのブロック８ｘ８ＵｒのＳＡＤを８ｘ８ブロック単位で算出し、加算回路３０６、３１０と８ｘ８Ｕｒ最小ＳＡＤ探索回路３１７に８ｘ８ＵｒのＳＡＤ値ｓａｄ＿８ｘ８Ｕｌを出力する。
【００７７】
８ｘ８Ｌｌ  ＳＡＤ算出回路３０４は、対象画像データのブロック８ｘ８Ｌｌと参照画像データのブロック８ｘ８ＬｌのＳＡＤを８ｘ８ブロック単位で算出し、加算回路３０７、３０９と８ｘ８Ｌｌ最小ＳＡＤ探索回路３１８に８ｘ８ＬｌのＳＡＤ値ｓａｄ＿８ｘ８Ｌｌを出力する。
【００７８】
８ｘ８Ｌｒ  ＳＡＤ算出回路３０５は、対象画像データのブロック８ｘ８Ｌｒと参照画像データのブロック８ｘ８ＬｒのＳＡＤを８ｘ８ブロック単位で算出し、加算回路３０７、３０９と８ｘ８Ｌｌ最小ＳＡＤ探索回路３１９に８ｘ８Ｌｒ  ＳＡＤ値ｓａｄ＿８ｘ８Ｌｒを出力する。
【００７９】
ＳＡＤ算出回路の回路構成は全て同じもので、８ｘ８Ｕｌ  ＳＡＤ算出回路３０２は式１４の演算を行い、８ｘ８Ｕｒ  ＳＡＤ算出回路３０３は式１５の演算を行い、８ｘ８Ｌｌ  ＳＡＤ算出回路３０４は式１６の演算を行い、８ｘ８Ｌｒ  ＳＡＤ算出回路３０５は式１７の演算を行う。
【００８０】
８ｘ８Ｕｌ  ＳＡＤ＝Σ（ｉ＝０．．７、ｊ＝０．．７）ａｂｓ（ｓ（ｘ＋ｉ、ｙ＋ｊ）−ｒ（ｘ＋ｉ＋ｍｖｘ、ｙ＋ｊ＋ｍｖｙ））  （式１４）
８ｘ８Ｕｒ  ＳＡＤ＝Σ（ｉ＝０．．７、ｊ＝０．．７）ａｂｓ（ｓ（ｘ＋ｉ＋８、ｙ＋ｊ）−ｒ（ｘ＋ｉ＋８＋ｍｖｘ、ｙ＋ｊ＋ｍｖｙ））  （式１５）
８ｘ８Ｌｌ  ＳＡＤ＝Σ（ｉ＝０．．７、ｊ＝０．．７）ａｂｓ（ｓ（ｘ＋ｉ、ｙ＋ｊ＋８）−ｒ（ｘ＋ｉ＋ｍｖｘ、ｙ＋ｊ＋８＋ｍｖｙ））  （式１６）
８ｘ８Ｌｒ  ＳＡＤ＝Σ（ｉ＝０．．７、ｊ＝０．．７）ａｂｓ（ｓ（ｘ＋ｉ＋８、ｙ＋ｊ＋８）−ｒ（ｘ＋ｉ＋８＋ｍｖｘ、ｙ＋ｊ＋８＋ｍｖｙ））  （式１７）
【００８１】
加算回路３０６は、ｓａｄ＿８ｘ８Ｕｌ  とｓａｄ＿８ｘ８Ｕｒの加算を行い、加算回路３０８と１６ｘ８Ｕ最小ＳＡＤ探索回路３１２に１６ｘ８ＵのＳＡＤ値ｓａｄ＿１６ｘ８Ｕを出力する。
【００８２】
加算回路３０７は、ｓａｄ＿８ｘ８Ｌｌとｓａｄ＿８ｘ８Ｌｒの加算を行い、加算回路３０８と１６ｘ８Ｌ最小ＳＡＤ探索回路３１３に１６ｘ８ＬのＳＡＤ値ｓａｄ＿１６ｘ８Ｌを出力する。
【００８３】
加算回路３０８は、ｓａｄ＿１６ｘ８Ｕとｓａｄ＿１６ｘ８Ｌの加算を行い、１６ｘ１６最小ＳＡＤ探索回路３１１に１６ｘ１６のＳＡＤ値ｓａｄ＿１６ｘ１６を出力する。
【００８４】
加算回路３０９は、ｓａｄ＿８ｘ８Ｕｌとｓａｄ＿８ｘ８Ｌｌの加算を行い、８ｘ１６ｌ最小ＳＡＤ探索回路３１４に８ｘ１６ｌのＳＡＤ値ｓａｄ＿８ｘ１６ｌを出力する。
【００８５】
加算回路３１０は、ｓａｄ＿８ｘ８Ｕｒとｓａｄ＿８ｘ８Ｌｒの加算を行い、８ｘ１６ｒ最小ＳＡＤ探索回路３１５に８ｘ１６ｒのＳＡＤ値ｓａｄ＿８ｘ１６ｒを出力する。
【００８６】
１６ｘ１６最小ＳＡＤ探索回路３１１は、ブロック１６ｘ１６の探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ１６ｘ１６とＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ１６ｘ１６をインターＭＢタイプ選択回路３０１に出力する。
【００８７】
１６ｘ８Ｕ最小ＳＡＤ探索回路３１２は、ブロック１６ｘ８Ｕの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ１６ｘ８Ｕを加算回路３２０に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ１６ｘ８ＵをインターＭＢタイプ選択回路３０１に出力する。
【００８８】
１６ｘ８Ｌ最小ＳＡＤ探索回路３１３は、ブロック１６ｘ８Ｌの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ１６ｘ８Ｌを加算回路３２０に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ１６ｘ８ＬをインターＭＢタイプ選択回路３０１に出力する。
【００８９】
加算回路３２０は、ｓａｄ＿ｍｉｎ１６ｘ８Ｕとｓａｄ＿ｍｉｎ１６ｘ８Ｌを加算し、ブロックサイズ１６ｘ８のＳＡＤ最小値ｓａｄ＿ｍｉｎ１６ｘ８をインターＭＢタイプ選択回路３０１に出力する。
【００９０】
８ｘ１６ｌ最小ＳＡＤ探索回路３１４は、ブロック８ｘ１６ｌの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ１６ｌを加算回路３２１に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ８ｘ１６ｌをインターＭＢタイプ選択回路３０１に出力する。
【００９１】
８ｘ１６ｒ最小ＳＡＤ探索回路３１５は、ブロック８ｘ１６ｒの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ１６ｒを加算回路３２１に出力し、ＳＡＤ値最小のときのベクトル値ｍｖ＿ｍｉｎ８ｘ１６ｒをインターＭＢタイプ選択回路３０１に出力する。
【００９２】
加算回路３２１は、ｓａｄ＿ｍｉｎ８ｘ１６ｌとｓａｄ＿ｍｉｎ８ｘ１６ｒ加算し、ブロックサイズ８ｘ１６のＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ１６をインターＭＢタイプ選択回路３０１に出力する。
【００９３】
８ｘ８Ｕｌ最小ＳＡＤ探索回路３１６は、ブロック８ｘ８Ｕｌの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ８Ｕｌを加算回路３２２に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ８ｘ８ＵｌをインターＭＢタイプ選択回路３０１に出力する。
【００９４】
８ｘ８Ｕｒ最小ＳＡＤ探索回路３１７は、ブロック８ｘ８Ｕｒの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ８Ｕｒを加算回路３２２に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ８ｘ８ＵｒをインターＭＢタイプ選択回路３０１に出力する。
【００９５】
８ｘ８Ｌｌ最小ＳＡＤ探索回路３１８は、ブロック８ｘ８Ｌｌの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ８Ｌｌを加算回路３２３に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ８ｘ８ＬｌをインターＭＢタイプ選択回路３０１に出力する。
【００９６】
８ｘ８Ｌｒ最小ＳＡＤ探索回路３１９は、ブロック８ｘ８Ｌｒの探索範囲内のＳＡＤ最小のベクトル値を探索するもので、ＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ８Ｌｒを加算回路３２３に出力し、ＳＡＤ値最小のベクトル値ｍｖ＿ｍｉｎ８ｘ８ＬｒをインターＭＢタイプ選択回路３０１に出力する。
【００９７】
加算回路３２２は、ｓａｄ＿ｍｉｎ８ｘ８Ｕｌとｓａｄ＿ｍｉｎ８ｘ８Ｕｒの加算を行い、ｓａｄ＿ｍｉｎ８ｘ８ＵｌＵｒを加算回路３２４に出力する。
【００９８】
加算回路３２３は、ｓａｄ＿ｍｉｎ８ｘ８Ｌｌとｓａｄ＿ｍｉｎ８ｘ８Ｌｒの加算を行い、ｓａｄ＿ｍｉｎ８ｘ８ＬｌＬｒを加算回路３２４に出力する。
【００９９】
加算回路３２４は、ｓａｄ＿ｍｉｎ８ｘ８ＵｌＵｒとｓａｄ＿ｍｉｎ８ｘ８ＬｌＬｒの加算を行い、ブロックサイズ８ｘ８のＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ８をインターＭＢタイプ選択回路３０１に出力する。
【０１００】
図５は、最小ＳＡＤ探索回路３１１〜３１９の構成を示している。最小ＳＡＤ探索回路３１１〜３１９は、ＳＡＤレジスタ５００と、ベクトルレジスタ５０１と、比較器５０２と、ＳＡＤセレクタ５０３と、ベクトルセレクタ５０４とを具備している。
【０１０１】
コストレジスタ５００、ベクトルレジスタ５０１は、初期化信号ｒｅｓｅｔが供給されると初期化される。ここで、それぞれの初期値は、コストのｂｉｔ幅が１６ｂｉｔのときコスト最小値ｓａｄ＿ｍｉｎ＝６５５３５、コスト最小のベクトル値ｍｖ＿ｍｉｎ＝（０、０）とする。比較器５０２は、コスト入力値ｓａｄ＿ｉｎと、コスト最小値ｓａｄ＿ｍｉｎを比較し、ｓａｄ＿ｉｎがｓａｄ＿ｍｉｎより小さいとき、１を、それ以外のとき０をコストセレクタ５０３とベクトルセレクタ５０４に選択信号ｓｅｌを出力する。コストセレクタ５０３はｓｅｌ＝０のときｓａｄ＿ｍｉｎを、ｓｅｌ＝１のときコスト入力値ｓａｄ＿ｉｎをコストレジスタ５００に出力する。ベクトルセレクタ５０４はｓｅｌ＝０のときｍｖ＿ｍｉｎを、ｓｅｌ＝１のときベクトル入力値ｍｖ＿ｉｎをベクトルレジスタ５０１に出力する。
【０１０２】
探索範囲内のＳＡＤ算出が終了すると、ブロックサイズ１６ｘ１６のＳＡＤ最小値ｓａｄ＿ｍｉｎ１６ｘ１６とＳＡＤ最小ベクトル値ｍｖ＿ｍｉｎ１６ｘ１６とが求まる。更に、ブロックサイズ１６ｘ８のＳＡＤ最小値ｓａｄ＿ｍｉｎ１６ｘ８とＳＡＤ最小ベクトル値ｍｖ＿ｍｉｎ１６ｘ８Ｕ、ｍｖ＿ｍｉｎ１６ｘ８Ｌとが求まる。更に、ブロックサイズ８ｘ１６のＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ１６とＳＡＤ最小ベクトル値ｍｖ＿ｍｉｎ８ｘ１６ｌ、ｍｖ＿ｍｉｎ８ｘ１６ｒとが求まる。更に、ブロックサイズ８ｘ８のＳＡＤ最小値ｓａｄ＿ｍｉｎ８ｘ８とＳＡＤ最小ベクトル値ｍｖ＿ｍｉｎ８ｘ８Ｕｌ、ｍｖ＿ｍｉｎ８ｘ８Ｕｒ、ｍｖ＿ｍｉｎ８ｘ８Ｌｌ、ｍｖ＿ｍｉｎ８ｘ８Ｌｒとが求まる。このため、インターＭＢタイプ選択回路３０１でＳＡＤ最小のベクトル値を求める。
【０１０３】
予測方向が前予測のとき、ｓａｄ＿ｍｉｎ１６ｘ１６、ｓａｄ＿ｍｉｎ１６ｘ８、ｓａｄ＿ｍｉｎ８ｘ１６、ｓａｄ＿ｍｉｎ８ｘ８からＳＡＤ最小のＭＢサイズを決定し、ＭＢサイズに対応するベクトルをｍｖ＿ｆｗとして、メモリアドレス生成回路２０１と前予測ＭＢコスト算出回路２０６に出力する。
【０１０４】
予測方向が後予測のとき、ｓａｄ＿ｍｉｎ１６ｘ１６、ｓａｄ＿ｍｉｎ１６ｘ８、ｓａｄ＿ｍｉｎ８ｘ１６、ｓａｄ＿ｍｉｎ８ｘ８からＳＡＤ最小のＭＢサイズを決定し、ＭＢサイズに対応するベクトルをｍｖ＿ｂｗとして、メモリアドレス生成回路２０１と後予測ＭＢコスト算出回路２０７に出力する。
【０１０５】
前予測動き補償回路２０３は、対象ＭＢと前予測ベクトルｍｖ＿ｆｗが示す参照画像データＭＢの動き補償処理を行い、前予測残差データｄ＿ｍｖ＿ｆｗを双予測動き補償回路２０５と前予測ＭＢコスト算出回路２０６に出力する。予測残差データｄ＿ｍｖ＿ｆｗは対象ＭＢの画素値ｓ（ｘ、ｙ）と、ｍｖ＿ｆｗが示す参照画像データＭＢの画素値ｒ＿ｆｗ（ｘ＋ｍｖ＿ｆｗ［ｘ]、ｙ＋ｍｖ＿ｆｗ［ｙ]）より、式１８を用いて求める。ここで、ｍｖ＿ｆｗ［ｘ]はｍｖ＿ｆｗのｘ成分、ｍｖ＿ｆｗ［ｙ]はｍｖ＿ｆｗのｙ成分を意味する。
【０１０６】
ｄ＿ｍｖ＿ｆｗ＝ｓ（ｘ、ｙ）−ｒ＿ｆｗ（ｘ＋ｍｖ＿ｆｗ［ｘ]、ｙ＋ｍｖ＿ｆｗ［ｙ]）  （式１８）
【０１０７】
後予測動き補償回路２０４は、対象ＭＢと後予測ベクトルｍｖ＿ｂｗが示す参照画像データＭＢの動き補償処理を行い、後予測残差データｄ＿ｍｖ＿ｂｗを双予測動き補償回路２０５と後予測ＭＢコスト算出回路２０７に出力する。後予測残差データｄ＿ｍｖ＿ｂｗは式１９を用いて求める。
【０１０８】
ｄ＿ｍｖ＿ｂｗ＝ｓ（ｘ、ｙ）−ｒ＿ｂｗ（ｘ＋ｍｖ＿ｂｗ［ｘ]、ｙ＋ｍｖ＿ｂｗ［ｙ]）  （式１９）
【０１０９】
双予測動き補償回路２０５は、前予測残差データｄ＿ｍｖ＿ｆｗと後予測残差データｄ＿ｍｖ＿ｂｗの双予測処理を行って、双予測残差データｄ＿ｍｖ＿ｂｉを双予測ＭＢコスト算出回路２０８に出力する。後予測残差データｄ＿ｍｖ＿ｂｗは式２０を用いて求める。
【０１１０】
ｄ＿ｍｖ＿ｂｉ＝（ｄ＿ｍｖ＿ｆｗ＋ｄ＿ｍｖ＿ｂｗ）／２  （式２０）
【０１１１】
前予測ＭＢコスト算出回路２０６は、前予測ベクトルｍｖ＿ｆｗを用いた前予測に必要なＭＢコストである前予測ＭＢコストｃｏｓｔ＿ｆｗを算出する。まず、前予測ＭＢコスト算出回路２０６は、前予測残差データｄ＿ｍｖ＿ｆｗのアダマール変換処理を行い、変換係数値のＭＢ絶対値和ｓａｔｄ＿ｍｖ＿ｆｗを求める。前予測ベクトルｍｖ＿ｆｗと、周辺ＭＢから得られる予測ベクトルｐｍｖ＿ｆｗの差分ベクトルｄｍｖ＿ｆｗについては式２１を用いて求める。次に、差分ベクトルｄｍｖ＿ｆｗの指数ゴロム符号長Ｒ（ｄｍｖ＿ｆｗ）を求めてλとの乗算を行い、前予測ベクトルコストｃｏｓｔ＿ｍｖ＿ｆｗは式２２を用いて求める。次に、ｓａｔｄ＿ｍｖ＿ｆｗとｃｏｓｔ＿ｍｖ＿ｆｗの加算を行い、前予測ＭＢコストｃｏｓｔ＿ｆｗについては式２３を用いて求める。次に、前予測ベクトルコストｃｏｓｔ＿ｍｖ＿ｆｗを双予測ＭＢコスト算出回路２０８に出力し、前予測ＭＢコストｃｏｓｔ＿ｆｗと動きベクトルｍｖ＿ｆｗとを６対１インターＭＢタイプ選択回路２１５に出力する。
【０１１２】
ｄｍｖ＿ｆｗ＝ｍｖ＿ｆｗ−ｐｍｖ＿ｆｗ  （式２１）
ｃｏｓｔ＿ｍｖ＿ｆｗ＝λ×Ｒ（ｄｍｖ＿ｆｗ）  （式２２）
ｃｏｓｔ＿ｆｗ＝ｓａｔｄ＿ｍｖ＿ｆｗ＋ｃｏｓｔ＿ｍｖ＿ｆｗ  （式２３）
【０１１３】
後予測ＭＢコスト算出回路２０７は、後予測ベクトルｍｖ＿ｂｗを用いた後予測に必要なＭＢコストである後予測ＭＢコストｃｏｓｔ＿ｂｗを算出する。まず、後予測ＭＢコスト算出回路２０７は、後予測残差データｄ＿ｍｖ＿ｂｗのアダマール変換処理を行い、変換係数値のＭＢ絶対値和ＳＡＴＤ＿ｍｖ＿ｂｗを求める。後予測ベクトルｍｖ＿ｂｗと、周辺ＭＢから得られる予測ベクトルｐｍｖ＿ｂｗとの差分ベクトルｄｍｖ＿ｂｗについては式２４を用いて求める。次に、差分ベクトルｄｍｖ＿ｂｗの指数ゴロム符号長Ｒ（ｄｍｖ＿ｂｗ）を求めてλとの乗算を行い、後予測ベクトルコストｃｏｓｔ＿ｍｖ＿ｂｗについては式２５を用いて求める。次に、ＳＡＴＤ＿ｍｖ＿ｂｗとｃｏｓｔ＿ｍｖ＿ｂｗの加算を行い、後予測ＭＢコストｃｏｓｔ＿ｂｗについては式２６を用いて求める。次に、後予測ベクトルコストｃｏｓｔ＿ｍｖ＿ｂｗを双予測ＭＢコスト算出回路２０８に出力し、後予測ＭＢコストｃｏｓｔ＿ｂｗと動きベクトルｍｖ＿ｂｗとを６対１インターＭＢタイプ選択回路２１５に出力する。
【０１１４】
ｄｍｖ＿ｂｗ＝ｍｖ＿ｂｗ−ｐｍｖ＿ｂｗ  （式２４）
ｃｏｓｔ＿ｍｖ＿ｂｗ＝λ×Ｒ（ｄｍｖ＿ｂｗ）  （式２５）
ｃｏｓｔ＿ｂｗ＝ＳＡＴＤ＿ｍｖ＿ｂｗ＋ｃｏｓｔ＿ｍｖ＿ｂｗ  （式２６）
【０１１５】
双予測ＭＢコスト算出回路２０８は、前予測ベクトルｍｖ＿ｆｗと後予測ベクトルｍｖ＿ｂｗとを用いた双予測符号化に必要なＭＢコストである双予測ＭＢコストｃｏｓｔ＿ｂｉを算出する。まず、双予測ＭＢコスト算出回路２０８は、双予測残差データｄ＿ｍｖ＿ｂｉのアダマール変換処理を行い、変換係数値のＭＢ絶対値和ＳＡＴＤ＿ｍｖ＿ｂｉを求める。双予測のベクトルコストは、前予測ベクトルコストｃｏｓｔ＿ｍｖ＿ｆｗと後予測ベクトルコストの和なので、双予測ＭＢコストｃｏｓｔ＿ｂｉについては式２７を用いて求める。
【０１１６】
ｃｏｓｔ＿ｂｉ＝ＳＡＴＤ＿ｍｖ＿ｂｉ＋ｃｏｓｔ＿ｍｖ＿ｆｗ＋ｃｏｓｔ＿ｍｖ＿ｂｗ  （式２７）
【０１１７】
ダイレクトベクトル算出回路２０２は、符号化制御回路１１２からの符号化制御情報に含まれる探索範囲に従って、ダイレクト予測を実行する。この場合、ダイレクトベクトル算出回路２０２は、ダイレクト予測における前予測ベクトルである前予測ダイレクトベクトルｍｖＬ０と、ダイレクト予測における後予測ベクトルである後予測ダイレクトベクトルｍｖＬ１とを算出し、前予測ダイレクトベクトルｍｖＬ０をメモリアドレス生成回路２０１、前予測ＭＢコスト算出回路２１２に出力し、後予測ダイレクトベクトルｍｖＬ１をメモリアドレス生成回路２０１、後予測ＭＢコスト算出回路２１３に出力する。
【０１１８】
前予測動き補償回路２０９は、対象ＭＢデータと前予測ダイレクトベクトルｍｖＬ０が示す参照画像データＭＢの動き補償処理を式２８により行い、前予測ダイレクト残差データｄ＿ｍｖ＿Ｌ０を双予測動き補償回路２１１と前予測ダイレクトＭＢコスト算出回路２１２に出力する。
【０１１９】
ｄ＿ｍｖ＿Ｌ０＝ｓ（ｘ、ｙ）−ｒ＿ｆｗ（ｘ＋ｍｖ＿Ｌ０［ｘ]、ｙ＋ｍｖ＿Ｌ０［ｙ]）  （式２８）
【０１２０】
後予測動き補償回路２１０は、対象ＭＢデータと後予測ダイレクトベクトルｍｖＬ１が示す参照画像データＭＢデータの動き補償処理を式２９により行い、後予測ダイレクト残差データｄ＿ｍｖ＿Ｌ１を双予測動き補償回路２１１と後予測ダイレクトＭＢコスト算出回路２１３に出力する。
【０１２１】
ｄ＿ｍｖ＿Ｌ１＝ｓ（ｘ、ｙ）−ｒ＿ｂｗ（ｘ＋ｍｖ＿Ｌ１［ｘ]、ｙ＋ｍｖ＿Ｌ１［ｙ]）  （式２９）
【０１２２】
双予測動き補償回路２１１は、前予測ダイレクト予測残差データｄ＿ｍｖ＿Ｌ０と後予測ダイレクト予測残差データｄ＿ｍｖ＿Ｌ１の双予測処理を式３０により行い、ダイレクト残差データｄ＿ｍｖ＿ｄｉをダイレクトＭＢコスト算出回路２１４に出力する。
【０１２３】
ｄ＿ｍｖ＿ｄｉ＝（ｄ＿ｍｖ＿Ｌ０＋ｄ＿ｍｖ＿Ｌ１）／２  （式３０）
【０１２４】
前予測ＭＢコスト算出回路２１２は、前予測ダイレクトベクトルｍｖＬ０を用いた前予測に必要なＭＢコストである前予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ０を算出する。まず、前予測ＭＢコスト算出回路２１２は、前予測ダイレクト予測残差データｄ＿ｍｖ＿Ｌ０のアダマール変換処理を行い、変換係数値のＭＢ絶対値和ｓａｔｄ＿ｍｖ＿Ｌ０を求める。前予測ダイレクトベクトルｍｖ＿Ｌ０と、周辺ＭＢから得られる予測ベクトルｐｍｖ＿Ｌ０の差分ベクトルｄｍｖ＿Ｌ０については式３１を用いて求める。次に、差分ベクトルｄｍｖ＿Ｌ０の指数ゴロム符号長Ｒ（ｄｍｖ＿Ｌ０）を求めてλとの乗算を行い、前予測ダイレクトベクトルコストｃｏｓｔ＿ｍｖ＿Ｌ０については式３２を用いて求める。次に、ｓａｔｄ＿ｍｖ＿Ｌ０とｃｏｓｔ＿ｍｖ＿Ｌ０の加算を行い、前予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ０については式３３を用いて求める。
【０１２５】
ｄｍｖ＿Ｌ０＝ｍｖ＿Ｌ０−ｐｍｖ＿Ｌ０  （式３１）
ｃｏｓｔ＿ｍｖ＿Ｌ０＝λ×Ｒ（ｄｍｖ＿Ｌ０）  （式３２）
ｃｏｓｔ＿Ｌ０＝ｓａｔｄ＿ｍｖ＿Ｌ０＋ｃｏｓｔ＿ｍｖ＿Ｌ０  （式３３）
【０１２６】
後予測ＭＢコスト算出回路２１３は、後予測ダイレクトベクトルｍｖＬ１を用いた後予測に必要なＭＢコストである後予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ１を算出する。まず、後予測ＭＢコスト算出回路２１３は、後予測ダイレクト予測残差データｄ＿ｍｖ＿Ｌ１のアダマール変換処理を行い、変換係数値のＭＢ絶対値和ｓａｔｄ＿ｍｖ＿Ｌ１を求める。後予測ダイレクトベクトルｍｖ＿Ｌ１と、周辺ＭＢから得られる予測ベクトルｐｍｖ＿Ｌ１との差分ベクトルｄｍｖ＿Ｌ１については式３４を用いて求める。次に、差分ベクトルｄｍｖ＿Ｌ１の指数ゴロム符号長Ｒ（ｄｍｖ＿Ｌ１）を求めてλとの乗算を行い、後予測ダイレクトベクトルコストｃｏｓｔ＿ｍｖ＿Ｌ１については式３５を用いて求める。次に、ｓａｔｄ＿ｍｖ＿Ｌ１とｃｏｓｔ＿ｍｖ＿Ｌ１の加算を行い、後予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ１については式３６を用いて求める。
【０１２７】
ｄｍｖ＿Ｌ１＝ｍｖ＿Ｌ１−  ｐｍｖ＿Ｌ１  （式３４）
ｃｏｓｔ＿ｍｖ＿Ｌ１＝λ×Ｒ（ｄｍｖ＿Ｌ１）  （式３５）
ｃｏｓｔ＿Ｌ１＝ｓａｔｄ＿ｍｖ＿Ｌ１＋ｃｏｓｔ＿ｍｖ＿Ｌ１  （式３６）
【０１２８】
ダイレクトＭＢコスト算出回路２１４は、前予測ダイレクトベクトルｍｖＬ０と後予測ダイレクトベクトルｍｖＬ１とを用いた双予測符号化によるＭＢコストであるダイレクト予測ＭＢコストｃｏｓｔ＿ｄｉを算出する。まず、ダイレクトＭＢコスト算出回路２１４は、ダイレクト予測残差データｄ＿ｍｖ＿ｄｉのアダマール変換処理を行い、変換係数値のＭＢ絶対値和ＳＡＴＤ＿ｍｖ＿ｄｉを求める。ダイレクト予測は、差分ベクトルを符号化する必要がないため、ダイレクト予測ＭＢコストｃｏｓｔ＿ｄｉは、式３７に示すＳＡＴＤ＿ｍｖ＿ｄｉのみとなる。
【０１２９】
ｃｏｓｔ＿ｄｉ＝ＳＡＴＤ＿ｍｖ＿ｄｉ  （式３７）
【０１３０】
６対１インターＭＢタイプ選択回路２１５は、前予測ＭＢコストｃｏｓｔ＿ｆｗと、後予測ＭＢコストｃｏｓｔ＿ｂｗと、双予測ＭＢコストｃｏｓｔ＿ｂｉと、前予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ０と、後予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ１と、ダイレクト予測ＭＢコストｃｏｓｔ＿ｄｉとの６種類のコストを比較する。次に、６対１インターＭＢタイプ選択回路２１５は、６種類のＭＢコストの中から、最小のコストを選択し、最小のＭＢコストを含むインター予測タイプを最適なインター予測タイプとして決定する（式３８）。次に、６対１インターＭＢタイプ選択回路２１５は、そのときのインター予測タイプ（ＭＢタイプ、ＭＢコスト、動きベクトル、インター予測画像データ）をＭＢタイプ決定回路１０３に出力する。
【０１３１】
ここで、ＭＢコストの値が同じである場合、式３８はｃｏｓｔ＿ｄｉ、ｃｏｓｔ＿ｆｗ、ｃｏｓｔ＿ｂｗ、ｃｏｓｔ＿Ｌ０、ｃｏｓｔ＿Ｌ１、ｃｏｓｔ＿ｂｉの優先順位でモードを選択するものとする。ダイレクト予測を優先するのは、Ｈ．２６４／ＡＶＣで用いるＣＡＢＡＣ方式を利用するとき、実際の符号長は指数ゴロム符号を用いたＭＢコスト評価と同じ評価値とならないため、符号化情報のより少ないダイレクト予測モードを優先することで、実際の発生符号量も他のＭＢタイプを選択するより少なくなる可能性が高いためである。同様の理由で、動きベクトル本数が前予測、後予測の２倍になる双予測は優先順位を最も低くすることで、評価値と実際の符号量の差が発生したときのペナルティを減らすことができる。
【０１３２】
ｍｉｎ＿ｉｎｔｅｒ＿ｃｏｓｔ＝ｍｉｎ６（ｃｏｓｔ＿ｄｉ、ｃｏｓｔ＿ｆｗ、ｃｏｓｔ＿ｂｗ、ｃｏｓｔ＿Ｌ０、ｃｏｓｔ＿Ｌ１、ｃｏｓｔ＿ｂｉ）  （式３８）
【０１３３】
図３は、従来のインター予測回路として、非特許文献２を考慮したインター予測回路１０１の構成を示している。本発明と同じ機能の回路ブロックには同じ符号を付している。
【０１３４】
従来技術のインター予測回路１０１では、第１実施形態におけるインター予測回路１０１の前予測ダイレクトＭＢコスト算出回路２１２、後予測ダイレクトＭＢコスト算出回路２１３、６対１インターＭＢタイプ選択回路２１５に代えて、４対１インターＭＢタイプ選択回路２１６を具備している。このように、従来技術のインター予測回路１０１では、前予測ダイレクトＭＢコスト算出回路２１２、後予測ダイレクトＭＢコスト算出回路２１３の演算回路がないため、４対１インターＭＢタイプ選択回路２１６では、式３９のようにｃｏｓｔ＿ｄｉ、ｃｏｓｔ＿ｆｗ、ｃｏｓｔ＿ｂｗ、ｃｏｓｔ＿ｂｉの４種類のインターＭＢタイプ候補から選択される。
【０１３５】
ｍｉｎ＿ｉｎｔｅｒ＿ｃｏｓｔ＝ｍｉｎ４（ｃｏｓｔ＿ｄｉ、ｃｏｓｔ＿ｆｗ、ｃｏｓｔ＿ｂｗ、ｃｏｓｔ＿ｂｉ）  （式３９）
【０１３６】
本発明の第１実施形態による動画像符号化装置によれば、従来のインター予測回路の４対１インターＭＢタイプ選択回路２１６に代えて、前予測ダイレクトＭＢコスト算出回路２１２と、後予測ダイレクトＭＢコスト算出回路２１３と、６対１インターＭＢタイプ選択回路２１５とを具備し、６対１インターＭＢタイプ選択回路２１５が６種類のインター予測タイプから最適なインター予測タイプを選択している。上述のように、参照画像データの探索範囲が狭い場合、動きベクトル探索回路２００から出力される前予測ベクトルあるいは後予測ベクトルが正しくないベクトルを表しているとき、コロケーテッドＭＢの動きベクトルが正しいベクトルであれば、ダイレクト予測よりも、ダイレクト予測で用いる前予測ベクトルｍｖＬ０あるいは後予測ベクトルｍｖＬ１の方方向予測を通常のインター予測タイプとして評価することで、より、符号化ｂｉｔ数の少ないＭＢタイプを選択できる可能性があるため、符号化効率の向上が期待できる。
【０１３７】
このように、本発明の第１実施形態による動画像符号化装置によれば、動きベクトルの探索範囲が小さくなるＢスライスにおいて、動きベクトル探索を行うときの探索点数を増やすことなく、ベクトル候補点を増やすことができるため、再生画像の品質を改善することができる。
【０１３８】
ＭＢコスト算出回路はＳＡＴＤを用いて説明したが、精度は劣るがＳＡＤを用いて予測残差のコストを計算しても、本発明の効果は変わらない。
【０１３９】
（第２実施形態）
第２実施形態では、予測残差のコスト評価にＳＡＴＤを用いるとき、ＳＡＴＤの回路数を削減し、Ｂスライスの探索範囲の小さな参照画像のみ、ダイレクト予測から求まるベクトルを用いて評価をする。第２実施形態では、第１実施形態に重複する説明を省略する。
【０１４０】
図１２は、本発明の第２実施形態による動画像符号化装置のインター予測回路として、図１のインター予測回路１０１の構成を示している。そのインター予測回路１０１では、第１実施形態におけるインター予測回路１０１の前予測ダイレクトＭＢコスト算出回路２１２、後予測ダイレクトＭＢコスト算出回路２１３、６対１インターＭＢタイプ選択回路２１５に代えて、選択回路２１７と、ＭＢコスト算出回路２１８と、５対１インターＭＢタイプ選択回路２１９とを具備している。
【０１４１】
図８、図９より対象画像データがＢ（６）である場合、前予測の動きベクトル探索範囲が小さいため、選択回路２１７は、前予測ダイレクトベクトルｍｖＬ０と前予測ダイレクト予測残差ｄ＿ｍｖ＿Ｌ０とを選択し、対象画像データがＢ（７）のときに後予測ダイレクトベクトルｍｖＬ１と後予測ダイレクト予測残差ｄ＿ｍｖ＿Ｌ１とを選択し、ＭＢコスト算出回路２１８に選択したベクトルｍｖ＿ｓｅｌと予測残差ｄ＿ｓｅｌとを出力する。ＭＢコスト算出回路２１８は、前予測ダイレクトベクトルｍｖＬ０が選択されたときに前予測ＭＢコスト算出回路２１２と等価の処理を行う。即ち、前予測ダイレクトベクトルｍｖＬ０を用いた前予測に必要なＭＢコストである前予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ０を算出する。一方、ＭＢコスト算出回路２１８は、後予測ダイレクトベクトルｍｖＬ１が選択されたときに後予測ＭＢコスト算出回路２１３と等価の処理を行う。即ち、後予測ダイレクトベクトルｍｖＬ１を用いた後予測に必要なＭＢコストである後予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ１を算出する。ＭＢコスト算出回路２１８は、前予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ０と後予測ダイレクトＭＢコストｃｏｓｔ＿Ｌ１のいずれかを表す選択ダイレクト予測ＭＢコストｃｏｓｔ＿ｓｅｌを５対１インターＭＢタイプ選択回路２１９に出力する。
【０１４２】
５対１インターＭＢタイプ選択回路２１９は、前予測ＭＢコストｃｏｓｔ＿ｆｗと、後予測ＭＢコストｃｏｓｔ＿ｂｗと、双予測ＭＢコストｃｏｓｔ＿ｂｉと、ダイレクト予測ＭＢコストｃｏｓｔ＿ｄｉと、選択ダイレクト予測ＭＢコストｃｏｓｔ＿ｓｅｌの５種類のコストを比較する。次に、５対１インターＭＢタイプ選択回路２１９は、５種類のＭＢコストの中から、最小のコストを選択し、最小のＭＢコストを含むインター予測タイプを最適なインター予測タイプとして決定する（式４０）。次に、５対１インターＭＢタイプ選択回路２１９は、そのときのインター予測タイプ（ＭＢタイプ、ＭＢコスト、動きベクトル、インター予測画像データ）をＭＢタイプ決定回路１０３に出力する。ここで、選択ダイレクト予測ＭＢコストｃｏｓｔ＿ｓｅｌが選択されたとき、選択回路２１７で選ばれたダイレクトベクトルがＭＢタイプ決定回路１０３に出力される。
【０１４３】
ｍｉｎ＿ｉｎｔｅｒ＿ｃｏｓｔ＝ｍｉｎ５（ｃｏｓｔ＿ｄｉ、ｃｏｓｔ＿ｆｗ、ｃｏｓｔ＿ｂｗ、ｃｏｓｔ＿ｂｉ、ｃｏｓｔ＿ｓｅｌ）  （式４０）
【０１４４】
本発明の第２実施形態による動画像符号化装置によれば、選択回路２１７が付加されるが、回路規模の比較的大きなＭＢコスト算出回路が１つ削減されることにより、従来のインター予測回路に比べて、探索範囲の狭い参照画像データの性能劣化を改善することが可能である。
【０１４５】
同様に、従来技術を用いたインター予測に対しても有効な方式であるため、詳細な説明は省くが、本発明の第２実施形態による動画像符号化装置によれば、動きベクトル探索より得られたｍｖ＿ｆｗ、ｍｖ＿ｂｗを用いたＭＢコスト算出も前予測、後予測、双予測の３つを常に処理するのではない。上述のように、動きベクトル探索回路２００のＳＡＤ評価結果から、前予測の最小ＳＡＤが後予測の最小ＳＡＤと比較して１／２以下のとき前予測のみを選択し、後予測の最小ＳＡＤが前予測の最小ＳＡＤの１／２以下のとき後予測のみを選択し、それ以外のとき双予測を選択するような回路を付加し、ＭＢコスト算出をＳＡＤが最良のもののみ評価するようにすれば、ＭＢコスト算出回路は１個で処理することができる。
【０１４６】
また、前予測の最小ＳＡＤが後予測の最小ＳＡＤ以下のとき、前予測と双予測の２種類についてＭＢコスト算出を行い、それ以外のとき、後予測と双予測のＭＢコスト算出を行うようにすれば、ＭＢコスト算出回路は２つで処理することができる。
【０１４７】
符号化効率に関しては、前予測、後予測、双予測を全て評価する方式より劣るが、回路規模は削減することが可能である。
【０１４８】
（補足）
次に、本発明の第１、２実施形態による動画像符号化装置をコンピュータプログラム（以下、動画像符号化プログラムと称する）により実現する場合について説明する。この場合、動画像符号化装置はコンピュータであり、動画像符号化プログラムは、上述の動画像符号化装置の各構成が実行する処理をコンピュータに実行させる。このコンピュータ（コンピュータシステム）の構成例について、図６を用いて説明する。
【０１４９】
符号化プログラム処理を実行するシステムは、４個のＣＰＵを備え、４個のＣＰＵはＣＰＵバス６０４を経由してＩｎｐｕｔ／Ｏｕｔｐｕｔ（以下Ｉ／Ｏと略す）コントローラ６０５に接続される。４個のＣＰＵのうちの第１〜４のＣＰＵをそれぞれＣＰＵ６００〜６０４と称する。
【０１５０】
Ｉ／Ｏコントローラ６０５は、ＣＰＵが要求する入出力データの制御を行うもので、通常、高速な外部メモリ６０６や、Ｉ／Ｏバス６０７経由で接続された映像入力インターフェース（以下Ｉ／Ｆと略す）６０８やストリーム出力Ｉ／Ｆ６０９、ＨＤＤ  Ｉ／Ｆ６１０の制御を行う。
【０１５１】
外部メモリ６０６は、本発明の動画像符号化プログラムを納めたソフトウェアを一時的に展開したり、符号化プログラムで必要となる対象画像データ、参照画像データの一時蓄積や出力ストリームバッファとして利用されたりする。
【０１５２】
ＨＤＤ  Ｉ／Ｆ６１０はＨＤＤ６１１を制御する。ＨＤＤ  ６１１には本発明の動画像符号化プログラムが格納されている。
【０１５３】
映像入力Ｉ／Ｆ６０８は、本発明の動画像符号化プログラムにリアルタイムに画像データを入力するものであるが、その動画像符号化プログラムはＨＤＤ  ６１１に蓄えられた画像データファイルを読出して処理することを行うことも可能である。
【０１５４】
ストリーム出力Ｉ／Ｆ  ６０９は符号化出力データを外部にシステムの外部に出力するときに利用するものであるが、符号化出力データはファイルとしてＨＤＤ  ６１１に出力することも可能である。
【０１５５】
本発明の動画像符号化プログラムと図１の動画像符号化装置との関係について説明する。Ｈ．２６４／ＡＶＣではインター予測回路１０１とＣＡＢＡＣを用いたときのエントロピー符号化回路１０７の処理量が多い。本発明の第１、２実施形態では、４個のＣＰＵを持つ構成のときの処理割当てについて説明するが、高速な処理が可能なＣＰＵである場合、インター予測回路１０１とエントロピー符号化回路１０７は異なるＣＰＵに処理を割当てればリアルタイム処理を行うことも可能である。
【０１５６】
ＣＰＵ６００は、インター予測回路１０１と同等の処理を行うプログラムが割当てられる。
【０１５７】
ＣＰＵ６０１は、イントラ予測回路１０２、ＭＢタイプ決定回路１０３、予測残差生成回路１０４、ＤＣＴ変換回路１０５、量子化回路１０６、符号化制御回路１１２と同等の処理を行うプログラムが割当てられる。
【０１５８】
ＣＰＵ６０２は、逆量子化回路１０８、逆ＤＣＴ回路１０９、動き補償回路１１０、ループ内フィルタ回路１１１と同等の処理を行うプログラムが割当てられる。
【０１５９】
ＣＰＵ６０３は、エントロピー符号化回路１０７と同等の処理を行うプログラムが割当てられる。
【０１６０】
外部メモリ６０６は、参照画像メモリ１００や符号化プログラムの内容を記憶する。
【０１６１】
以上により、本発明は、動画像符号化方法、動画像符号化装置として実現することができるだけでなく、このような動画像符号化装置の各構成が実行する処理を動画像符号化プログラムとして実現することができる。
【符号の説明】
【０１６２】
１００    参照画像メモリ、
１０１    インター予測回路、
１０２    イントラ予測回路、
１０３    ＭＢタイプ決定回路、
１０４    予測残差生成回路、
１０５    直交変換回路（ＤＣＴ）、
１０６    量子化回路（Ｑ）、
１０７    エントロピー符号化回路、
１０８    逆量子化回路（ＩＱ）、
１０９    逆直交変換回路（ＩＤＣＴ）、
１１０    動き補償回路、
１１１    ループ内フィルタ回路、
１１２    符号化制御回路、
２００    動きベクトル探索回路、
２０１    メモリアドレス生成回路、
２０２    ダイレクトベクトル算出回路、
２０３、２０９    前予測動き補償回路（ＦＷＭＣ）、
２０４、２１０    後予測動き補償回路（ＢＷＭＣ）、
２０５、２１１    双予測動き補償回路（ＢＩＭＣ）、
２０６、２１２    前予測ＭＢコスト算出回路（ＦＷ  ｃｏｓｔ）、
２０７、２１３    後予測ＭＢコスト算出回路（ＢＷ  ｃｏｓｔ）、
２０８    双予測ＭＢコスト算出回路（ＢＩ  ｃｏｓｔ）、
２１４    ダイレクトＭＢコスト算出回路（ＤＩ  ｃｏｓｔ）、
２１５    ６対１インターＭＢタイプ選択回路（第１実施形態）、
２１６    ４対１インターＭＢタイプ選択回路（従来技術）、
２１７    選択回路（第２実施形態）、
２１８    ＭＢコスト算出回路（第２実施形態）、
２１９    ５対１インターＭＢタイプ選択回路（第２実施形態）、
３００    探索範囲設定回路、
３０１    インターＭＢタイプ選択回路、
３０２    ８ｘ８Ｕｌ  ＳＡＤ算出回路（８ｘ８Ｕｌ  ＳＡＤ）、
３０３    ８ｘ８Ｕｒ  ＳＡＤ算出回路（８ｘ８Ｕｒ  ＳＡＤ）、
３０４    ８ｘ８Ｌｌ  ＳＡＤ算出回路（８ｘ８Ｌｌ  ＳＡＤ）、
３０５    ８ｘ８Ｌｒ  ＳＡＤ算出回路（８ｘ８Ｌｒ  ＳＡＤ）、
３０６、３０７、３０８、３０９、３１０、３２１、３２２、３２３、３２４、３２５    加算回路、
３１１    １６ｘ１６最小ＳＡＤ探索回路（１６ｘ１６  ｍｉｎ）、
３１２    １６ｘ８Ｕ最小ＳＡＤ探索回路（１６ｘ８Ｕ  ｍｉｎ）、
３１３    １６ｘ８Ｌ最小ＳＡＤ探索回路（１６ｘ８Ｌ  ｍｉｎ）、
３１４    ８ｘ１６ｌ最小ＳＡＤ探索回路（８ｘ１６ｌ  ｍｉｎ）、
３１５    ８ｘ１６ｒ最小ＳＡＤ探索回路（８ｘ１６ｒ  ｍｉｎ）、
３１６    ８ｘ８Ｕｌ最小ＳＡＤ探索回路（８ｘ８Ｕｌ  ｍｉｎ）、
３１７    ８ｘ８Ｕｒ最小ＳＡＤ探索回路（８ｘ８Ｕｒ  ｍｉｎ）、
３１８    ８ｘ８Ｌｌ最小ＳＡＤ探索回路（８ｘ８Ｌｌ  ｍｉｎ）、
３１９    ８ｘ８Ｌｒ最小ＳＡＤ探索回路（８ｘ８Ｌｒ  ｍｉｎ）、
５００    ＳＡＤレジスタ、
５０１    ベクトルレジスタ、
５０２    比較器、
５０３    ＳＡＤセレクタ、
５０４    ベクトルセレクタ、
６００、６０１、６０２、６０３    ＣＰＵ、
６０４    ＣＰＵバス、
６０５    Ｉ／Ｏコントローラ、
６０６    メモリ、
６０７    Ｉ／Ｏバス、
６０８    入力Ｉ／Ｆ、
６０９    出力Ｉ／Ｆ、
６１０    ＨＤＤ  Ｉ／Ｆ、
６１１    ＨＤＤ
【図１】
2010268199.tif 000003
【図２】
2010268199.tif 000004
【図３】
2010268199.tif 000005
【図４】
2010268199.tif 000006
【図５】
2010268199.tif 000007
【図６】
2010268199.tif 000008
【図７】
2010268199.tif 000009
【図８】
2010268199.tif 000010
【図９】
2010268199.tif 000011
【図１０】
2010268199.tif 000012
【図１１】
2010268199.tif 000013
【図１２】
2010268199.tif 000014