(57)【要約】【課題】  回路規模の削減が可能な回路構成を有する動き検出回路を提供することにある。【解決手段】  サブブロックに、符号化対象画像及び参照画像を分割し、それらの画像の差分情報に基づいて、符号化対象画像の動きを検出する動き検出回路であって、参照画像データを用いて、それらの画像の差分を求める第１動き検出回路と、差分が最小となる画像間の、第１動きベクトルを抽出する第１ベクトル抽出回路と、差分が最小となる画像をさらにサブブロックに分割し、参照画像データに対して、仮想データを求めるフィルタ回路と、仮想データよりなる画像を構成し、前記符号化対象画像との差分情報を検出する第２動き検出回路と、差分情報に基づいて符号化対象画像と、参照画素データによる差分より小さい仮想データによる差分を有する画像との間の第２動きベクトルを抽出する第２ベクトル抽出回路と、を備えることを特徴とする動き検出回路が提供される。【選択図】    図２
2010192984.tif 000002
【特許請求の範囲】
【請求項１】
矩形形状において複数種類のパーティションの形状、又は、すべてのパーティションに内包されうる矩形の内の最大矩形の形状に、符号化対象画像及び参照画像を分割し、分割した前記符号化対象画像と、分割した前記参照画像との差分を表す差分情報に基づいて、参照画像内における符号化対象画像の動きを検出する動き検出回路であって、
前記参照画像中の参照画像データを用いて、前記パーティションの形状に前記符号化対象画像を分割して得た第１画像と前記パーティションの形状に前記参照画像を分割して得た第２画像との差分を表す第１差分情報を求める第１動き検出回路と、
前記第１画像との前記第１差分情報の情報量が最小となる前記第２画像について、前記第１画像の原画像中の位置、及び、前記第２画像の前記参照画像中の位置とに応じた第１動きベクトルを抽出する第１パーティション／ベクトル抽出回路と、
第１差分情報の情報量が最小となる前記第２画像を、前記最大矩形と同じ形状に分割して得られた画像内の各前記参照画像データに対して、前記参照画像データから内挿法により求めた複数種類の仮想画素データを求めるフィルタ回路と、
前記仮想画素データを用いて、各種類の前記仮想画素データよりなる第３画像を構成し、前記第３画像と、前記最大矩形と同じ形状に分割された前記符号化対象画像との第２差分情報を検出する第２動き検出回路と、
前記第２差分情報に基づいて求められる、前記符号化対象画像と、前記第３画像の合体による得られる画像との第３差分情報であって、前記第１差分情報より小さい前記第３差分情報を検出し、
前記符号化対象画像と、前記第３差分情報を有する前記第３画像の合体により得られる画像との間の第２動きベクトルを、前記第１動きベクトル及び前記仮想画像データの種類に応じて決定する第２パーティション／ベクトル抽出回路と、
を備えることを特徴とする動き検出回路。
【請求項２】
前記最大矩形と同じ形状に分割された前記符号化対象画像それぞれについて、前記第２差分情報の内、情報量が小さいほうから所定数の前記第２差分情報を記憶する小数探索結果保持回路を備え、
前記第２パーティション／ベクトル抽出回路において、前記第３画像の合体に用いられる、前記第３画像は小数探索結果保持回路に記憶された前記第２差分情報を備えることを特徴とする請求項１記載の動き検出回路。
【請求項３】
前記参照画像データを用いて求めた、前記最大矩形と同じ形状に分割された前記符号化対象画像と、前記最大矩形と同じ形状に分割された前記参照画像との差分情報よりも、前記第２差分情報が小さい場合に、前記第３画像に対して１ｂｉｔのｆｌａｇをたて、各前記第３画像に対する１ｂｉｔのｆｌａｇを記憶する小数探索結果保持回路を備え、
前記第２パーティション／ベクトル抽出回路において、前記第３画像の合体が行われる時に、前記第３画像に対する１ｂｉｔのｆｌａｇ同士の論理和を行って前記３差分情報とし、１ｂｉｔのｆｌａｇ同士の論理和が“１”であった時に、前記第３差分情報は第１差分情報より小さいと判断することを特徴とする請求項１記載の動き検出回路。
【請求項４】
予測画像と原画像中の符号化対象画像の差分情報を抽出する減算回路と、
前記差分情報を有する第１差分情報信号を変換係数とコサイン関数との積からなる項、複数の和として表し、前記コサイン関数の変換係数の情報を有する第１変換係数信号を出力する直交変換回路と、
前記第１変換係数信号を受け、前記コサイン関数の変換係数を離散的なものとする量子化処理をおこない、量子化された変換係数の情報を有する第１信号を出力する量子化回路と、
前記第１信号を受け、前記量子化された変換係数を可変長符号に変換し、前記可変長符号の情報を有する信号を出力する可変長符号化回路と、
前記可変長符号の情報を有する信号を受け、前記量子化された変換係数を再現し、逆変換により前記コサイン関数の変換係数を再現し、前記変換係数の情報を有する第１変換係数信号を出力する逆量子化回路と、
前記第１変換係数信号を受け、逆変換により前記第１差分情報を再現し、出力する逆直交変換回路と、
第１差分情報信号を受け、参照画像に前記第１差分情報に応じて前記参照画像を更新する加算回路と、
更新後の前記参照画像を記憶する参照画像メモリと、
前記参照画像内において、原画像中の符号化対象画像の動きを検出する請求項１乃至請求項３の内の一つに記載された動き検出回路と、
前記参照画像を、前記第１差分情報に応じて、前記符号化対象画像の動きを加えて前記予測画像を形成する動き補償回路と、
を備える動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
参照画像における符号化対象画像の動きを検出する動き検出回路を有する動画像符号化装置に関する。
【背景技術】
【０００２】
次世代の動画像符号化方式、例えば、動画像の符号化方式標準化機関、ＩＴＵ（InternationalTelecommunication Union）で制定されている規格、ｈ．２６４は、細かい複雑な動きをする画像に対応するものである。そのため、規格ｈ．２６４において、符号化対象画像を１６×１６画素からなるブロックに分割するだけでなく、さらに、１６×８画素、８×１６画素、８×８画素等からなるパーティションに分割し、参照画像における符号化対象画像の動き検出が行われている。また、規格ｈ．２６４において、１次元あたり整数精度の画素６個、最大３６個の画素を用いて、いわゆるフィルタ処理、すなわち内挿処理によって、仮想的に求めた１／２精度の画素や、さらに、１／２精度の画素及び整数精度の画素の平均をとることにより求めた１／４精度の画素を使用して、参照画像における符号化対象画像の動き検出が行われている。
【０００３】
そのため、すべての整数精度の画素及びその画素に対するすべての１／２精度及び１／４精度の画素を用いて、参照画像における符号化対象画像の動き検出を行うのでは、演算量が膨大となる。また、その演算に用いる演算回路や、画像データを記憶するメモリが増加するため、規格ｈ．２６４を実現する動画画像符号化装置における動き検出回路の回路規模が大きくなる。
【０００４】
そこで、演算量の削減のため、参照画像における符号化対象画像の動き検出において、整数位置の画素を用いて動きベクトルの検索を行い、次いで、その検索結果に応じて、１／２精度及び１／４精度の画素を用いて行う検索に使用するパーティションを決定し、１／２精度及び１／４精度の画素を用いて動きベクトルの検索を行う方法が提案されている（特許文献１参照。）。
しかし、整数精度の画素を用いた検索結果に応じて、１／２精度及び１／４精度の画素を用いて行う検索に使用するパーティションを決定してはいるが、使用する可能性のあるパーティションが減少するわけではない。
従って、一番大きなパーティションを含む、すべての種類のパーティションを考慮する必要がある点にはかわりがなく、動き検出回路の演算回路の個数の削減や、記憶回路の規模の削減には寄与しないと考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１６５８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、回路規模の削減が可能な回路構成を有する動き検出回路と、それを含む動画符号化装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明の一側面によれば、
矩形形状において複数種類のパーティションの形状、又は、すべてのパーティションに内包されうる矩形の内の最大矩形の形状に、符号化対象画像及び参照画像を分割し、分割した前記符号化対象画像と、分割した前記参照画像との差分を表す差分情報に基づいて、参照画像内における符号化対象画像の動きを検出する動き検出回路であって、
参照画像中の参照画像データを用いて、パーティションの形状に前記符号化対象画像を分割して得た第１画像とパーティションの形状に参照画像を分割して得た第２画像との差分を表す第１差分情報を求める第１動き検出回路と、
第１画像との第１差分情報の情報量が最小となる第２画像について、第１画像の原画像中の位置、及び、第２画像の前記参照画像中の位置とに応じた第１動きベクトルを抽出する第１パーティション／ベクトル抽出回路と、
第１差分情報の情報量が最小となる第２画像を、最大矩形と同じ形状に分割して得られた画像内の各参照画像データに対して、参照画像データから内挿法により求めた複数種類の仮想画素データを求めるフィルタ回路と、
仮想画素データを用いて、各種類の仮想画素データよりなる第３画像を構成し、第３画像と、最大矩形と同じ形状に分割された符号化対象画像との第２差分情報を検出する第２動き検出回路と、
第２差分情報に基づいて求められる、符号化対象画像と、第３画像の合体による得られる画像との第３差分情報であって、第１差分情報より小さい第３差分情報を検出し、
符号化対象画像と、第３差分情報を有する第３画像の合体により得られる画像との間の第２動きベクトルを、第１動きベクトル及び仮想画像データの種類に応じて決定する第２パーティション／ベクトル抽出回路と、
を備えることを特徴とする動き検出回路が提供される。
【発明の効果】
【０００８】
回路規模の削減が可能な回路構成を有する動き検出回路と、それを含む動画符号化装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は実施例１の動画像符号化装置１０を示した図である。
【図２】図２は実施例１の動き検出回路２０を示す。
【図３】図３は実施例１の動き検出回路２０が行う動き検出方法について示すフローチャート３０を示す図である。
【図４】図４は上記の検索動作の詳細を示すフローチャート４０について説明する図である。
【図５】図５は上記の仮パーティション／ベクトル決定動作の詳細を示すフローチャート５０について説明する図である。
【図６】図６は上記の矩形を設定する動作の詳細を示すフローチャート６０について説明する図である。
【図７Ａ】図７Ａは上記の小数精度画像データを作成する動作の詳細を示すフローチャート７０について説明する図である。
【図７Ｂ】図７Ｂは、整数精度の画像ＡからＰまで、Ｒ、Ｓ、Ｔ、Ｙと、小数精度の画像ａからｋまで、ｍ、ｎ、ｐ、ｑ、ｒ、ｓ、ａａ、ｂｂ、ｃｃ、ｄｄ、ｅｅ、ｆｆ、ｇｇ、ｈｈとを示す図である。
【図８】図８は、小数精度の動き検索動作を示すフローチャート８０について説明する図である。
【図９】図９は、パーティションコストが最小となるパーティション相当の小数精度参照画像の特定、及び、ベクトルの計算を行うことを示すフローチャート９０を説明する図である。
【図１０】図１０は実施例２の動き検出回路の動作に含まれるオペレーション７を説明するフローチャート１００を示す図である。
【発明を実施するための形態】
【００１０】
本発明は、以下に説明する実施例に対し、当業者が想到可能な、設計上の変更が加えられたもの、及び、実施例に現れた構成要素の組み換えが行われたものも含む。また、本発明は、その構成要素が同一の作用効果を及ぼす他の構成要素へ置き換えられたもの等も含み、以下の実施例に限定されない。
【実施例１】
【００１１】
図１は実施例１の動画像符号化装置１０を、それを制御するＣＰＵ（central processingunit）３０及び原画像を蓄積している原画像メモリ４０とともに示した図である。
動画像符号化装置１０は、直交変換回路１１、量子化回路１２、可変長符号化回路１３、逆量子化回路１４、逆直交変換回路１５、参照画像メモリ１６、動き補償回路１７、減算回路１８、加算回路１９、動き検出回路２０を含む。動画像符号化装置１０は、後に説明する予測画像における符号化対象画像と原画像における符号化対象画像の差分と、小数精度の動きベクトルの双方を圧縮して出力する装置である。
【００１２】
直交変換回路１１は、画像の差分に関わる信号を変換係数とコサイン関数との積からなる項、複数の和として表す、周知のＤＣＴ（Discrete Cosine Transform:離散コサイン変換）を行って、その変換係数を出力する回路である。
量子化回路１２は、変換係数を量子化する回路、すなわち、変換係数を離散的なものとする回路である。
可変長符号化回路１３は、量子化された変換係数を、可変長の圧縮符号に変換する回路である。
逆量子化回路１４は、量子化された変換係数を受け、逆量子化、すなわち、量子化された変換係数をもとの変換係数に戻す回路である。
逆直交変換回路１５は、逆量子化回路１４からの変換係数を受け、ＤＣＴを再現し、画像の差分に関わる信号を再現する回路である。
参照画像メモリ１６は、画像の差分に関わる信号と動き補償回路１７からの画像に関わる信号が足しあわされて形成された参照画像の画素データを記憶する回路である。
動き補償回路１７は、参照画像メモリ１６内の参照画像に、符号化対象画像について求められた動きベクトルに対応する補償を加えてできる予測画像を形成する回路である。
減算回路１８は．原画像と予測画像の差分を抽出する回路である。加算回路１９は、差分に予測画像を加えて、参照画像とする回路である。
動き検出回路２０は、参照画像メモリ１６に格納された画像データからなる参照画像を用いて、原画像メモリ４０に格納されている画像データからなる符号化対象画像を分割したブロック単位で動きベクトルを検出する回路である。
原画像メモリ４０は、符号化対象画像の画像データが格納されている記憶回路である。原画像メモリ４０から、ＣＰＵ３０の制御により、動き検出回路２０に対して、符号化対象画像を分割したブロック単位で、バスを介して画像データが出力される。
ＣＰＵ３０は、動画像符号化装置１０及び原画像メモリ４０の動作の制御を行う。そのような制御は、ＣＰＵ３０からバスを介して送られる、原画像メモリ４０制御命令及び動画像符号化装置１０への制御信号によって実行される。
【００１３】
図２は実施例１の動き検出回路２０を示す。動き検出回路２０は整数探索配意メモリ２１０、１／２画素生成フィルタ２２０、小数探索範囲メモリ２３０、１／４画素生成フィルタ２４０、第１動き検出回路２５０、仮パーティション／ベクトル決定部２６０、第２動き検出回路２７０、小数探索結果保持回路２８０、最終パーティション／ベクトル決定部２９０、及び、カレントＭＢメモリ２９５を備える。
【００１４】
カレントＭＢメモリ２９５は、原画像メモリ４０から出力された符号化対象画像の画像データであって、整数精度の画像データを格納するメモリである。
整数探索範囲メモリ２１０は、参照画像を記憶する参照画像メモリ１６からの整数精度の画像データを格納するメモリである。
第１動き検出回路２５０は、整数探索範囲メモリ２１０からの参照画像の整数精度の画像データと、カレントＭＢメモリ２９５からの符号化対象画像の整数精度の画像データを用いて、参照画像の各分割部分と、符号化対象画像との差分情報を抽出する回路であり、仮パーティション／ベクトル決定部２６０へその結果を出力する回路である。なお、上記の参照画像の分割部分とは、符号化対象画像と同じ画素領域をもつ画像である。また、画像間の差分情報が大きければ画像同士の近似度は小さく、差分情報が小さければ画像同士の近似度は小さい。
【００１５】
仮パーティション／ベクトル決定部２６０は、参照画像の分割部分の内、もっとも符号化対象画像との差分情報が少ない分割部分を特定し、その動きベクトル（整数精度の動きベクトル）及び差分情報の抽出に用いた仮パーティションを決定し、その結果を第２動き検出回路２７０へ出力する回路である。なお、パーティションとは規格ｈ．２６４により決められた画像領域であり、符号化対象画像及び参照画像の分割部分をより小さく分割することを目的とした画像領域である。符号化対象画像及び参照画像の分割部分をより小さく分割すれば、より細かい画像領域について差分情報が得られ、より細かい部分の画像の動きを検出することが可能になる。
１／２画素フィルタ２２０は、整数探索範囲メモリ２１０からの整数精度の画像データを使用して、内挿法により３種類の１／２精度の画像データ（Ｘ方向（横軸方向）だけ１／２精度である画像データ、Ｙ方向（縦軸方向）だけ１／２精度である画像データ、Ｘ方向及びＹ方向について１／２精度である画像データ）を形成し、小数探索範囲メモリ２３０へ出力する回路である。
ここで、内挿法とは、一般的には、与えられた変数と関数値から、あてはまる関数を導き出し、求めたい変数に対する関数値を計算する手法をいう。ただし、画素データを扱うフィルタ回路では、あてはまる関数は、フィルタ関数として、予め与えられている。
また、整数精度の画像データとは、原画像又は参照画像を構成する画素データをいい、１／２精度の画像データ及び１／４精度の画像データ等の小数精度の画素データは、内挿法や補完により求めた仮想の画像データである。
小数探索範囲メモリ２３０は、３種類の１／２精度の画素データ（Ｘ方向だけ１／２精度である画像データ、Ｙ方向だけ１／２精度である画像データ、Ｘ方向及びＹ方向について１／２精度である画像データ）と、整数探索範囲メモリ２１０からの整数精度の画像データを記憶するメモリである。
１／４画素フィルタ２４０は、小数探索範囲メモリ２３０から１／２精度の画像データを受け、１／４精度の画像データを形成する回路である。
【００１６】
第２動き検出回路２７０は、パーティションを構成できる矩形の内最大の矩形によって、符号化対象画像と参照画像の分割部分とを細分化し、１／４画素フィルタ２４０からの１／４精度の画像データ、小数探索範囲メモリ２３０からの１／２精度の画像データ、整数精度の画像データを用いて、細分化した部分同士の差分情報を抽出回路である。
小数探索結果保持回路２８０は、第２動き検出回路２７０からの差分情報を取得し、第１動き検出回路２５０が検出した、参照画像の各分割部分と、符号化対象画像との差分情報に応じて選択した、第２動き検出回路２７０からの差分情報の一部を保持する回路である。
最終パーティション／ベクトル決定部２９０は、小数探索結果保持回路２８０が保持する結果に基づいて、１／４精度、又は、１／２精度の画像データから構成されている参照画像のパーティションすべてについての差分情報を求め、さらに、１／４精度、又は、１／２精度の画像データから構成されている参照画像の分割部分の差分情報を求め、もっとも符号化対象画像との差分情報が少ない分割部分を決定し、その動きベクトル（小数精度の動きベクトル）及び差分情報の抽出に用いたパーティションを決定する回路である。
【００１７】
図３は実施例１の動き検出回路２０が行う動き検出方法について示すフローチャート３０である。オペレーション１から８から成り立っている。
オペレーション１：図３を参照し、整数探索範囲メモリ２３０は参照画像メモリ１６から参照画像の画像データを読み込む。
オペレーション２：図３を参照し、カレントＭＢメモリ２９５は原画像メモリ４０から符号化対象画像の画像データを読み込む。
【００１８】
オペレーション３：図３を参照し、第１動き検出回路２５０は整数精度の画像データを用いて、第１動き検索動作を行う。
図４は上記の検索動作の詳細を示すフローチャート４０、参照画像の画像領域４１、符号化対象画像の画像領域４２、第１パーティション４３、第２パーティション４４、第３パーティション４５について説明する図であり、図４を参照しながら、上記の検索動作を説明する。
【００１９】
図４のフローチャートに示すオペレーション３−１においては、第１動き検出回路２５０は符号化対象画像の画像領域４２における高さ方向の画素数、及び、横方向の画素数を特定し、画像領域を認識する。本実施例では、例えば、符号化対象画像の画像領域４２は１６×１６の画素を含む。次いで、第１動き検出回路２５０は参照画像の画像領域４１を同様に特定する。次いで、第１動き検出回路２５０は符号化対象画像の画像領域４２と同じの大きさに参照画像の画像領域４１を分割部分Ｓに分割し、それぞれの分割部分Ｓを認識する。
【００２０】
オペレーション３−２においては、第１動き検出回路２５０はさらに細かい動きの補足のため、ｈ．２６４規格に定められる第１パーティション４３、第２パーティション４４、第３パーティション４５によって符号化対象画像をパーティション部分に細分化する。例えば、符号化対象画像は第１パーティション４３によれば画素領域８×１６に分割され、第２パーティション４４によれば画素領域１６×８に分割され、第３パーティション４５によれば画素領域８×８に分割される。すなわち、符号化対象画像の画像領域は、第１パーティション４３によれば、左右に２つの部分画像に分割され、第２パーティション４４によれば、上下に２つの部分画像に分割され、第３パーティション４５によれば均等な大きさの４つの部分画像に分割される。一方、参照画像についても、上記と同様に参照画像の分割部分Ｓを、第１パーティション４３、第２パーティション４４、第３パーティション４５によって、分割部分Ｐｎ（ｎ＝１、２、３）に細分化する。分割部分Ｐ１は第１パーティション４３に対応し、分割部分Ｐ２は第２パーティション４４に対応し、分割部分Ｐ３は第３パーティション４５に対応する。
なお、上記では、パーティションに関わる画素領域は８×１６、１６×８、８×８としているが、４×８、８×４、４×４とさらに細分化された画像領域であってもよい。より細分化すれば、より細かい動作にも対応可能となる。
【００２１】
オペレーション３−３においては、当初、ｎ＝１と設定し、カレントＭＢメモリ２９５に記憶されている符号化対象画像の画像データと、整数探索範囲メモリ２３０に記憶されている参照画像の画像データを用いて、第１動き検出回路２５０は第ｎパーティションに対応する、分割部分Ｐｎについて検索時のコストＰＣｎ（ｎ＝１、２、３）を計算する。
ここで、一般的には、「検索時のコスト」とは、一方の画像と、その画素領域に相当する他方の画像との差分情報を符号化したときの符号化量をいう。したがって、一方の画像と、他方の画像とにおいて、画素データ間の差分をあらわす情報及びその他の付属情報からなる差分情報が小さいほど、符号化量は小さくなる。しかし、符号化量を見積もる際に、画像データの差分をあらわす情報だけではなく、その他の付属情報についても実際に符号化する必要があり、多量の演算をしなければ符号化量を見積もることができない。そこで、第１動き検出回路２５０は、簡単に「検索時のコスト」を見積もるため、符号化対象画像の部分画像と参照画像の分割部分Ｐｎとの画像データの差分をあらわす情報である、ＳＡＤ値（Sum of the Absolute Differences）、または、ＳＡＴＤ値（Sumof the Absolute Transformed Differences）を計算でもとめ、その結果を「検索時のコスト」としている。従って、符号化量と関係があるその他の指標を検索時のコストとしてもよい。
なお、ＳＡＤ値とは、画像を構成している各画像データの差分をとり、さらに、その差分の絶対値をとり、画像を構成する画像データすべてについて和をとった値をいう。また、ＳＡＴＤ値とは画像を構成する画像データの差分をとり、さらに、アダマール変換を施し、その絶対値をとり、画像を構成する画像データすべてについて和をとった値をいう。
【００２２】
オペレーション３−４においては、第１動き検出回路２５０は分割部分Ｓの検索時の整数精度コストＳＣｎ（ｎ＝１、２、３）を、分割部分Ｓを構成する分割部分Ｐｎの検索時のコストＰＣｎ（ｎ＝１、２、３）の合算により計算する。ここで、整数精度とは、カレントＭＢメモリ２９５に記憶されている画素データをそのまま使用しおり、内挿法によって得た画素データを使用していないという意味である。次いで、第ｎパーティションに対する分割部分Ｓの検索時の整数精度コストＳＣｎ（ｎ＝１、２、３）を記憶する。
【００２３】
オペレーション３−５においては、第１動き検出回路２５０はすべての第ｎパーティションについて、分割部分Ｓの検索時の整数精度コストＳＣｎ（ｎ＝１、２、３）に対する計算を判断する。すべてについて整数精度コストＳＣｎ（ｎ＝１、２、３）に対する計算が終了していない場合は、ｎ＝ｎ＋１と設定して、オペレーション３−３に戻る。一方、すべての整数精度コストＳＣｎ（ｎ＝１、２、３）に対する計算が終了している場合は、オペレーション３を終了する。
【００２４】
オペレーション４：図３を参照し、仮パーティション／ベクトル決定部２６０は、第１動き検出回路２５０による整数精度の動き検索結果を用いて、第２動き検出回路２７０による小数精度動き検索に用いる仮パーシションを決定し、仮パーティションを含む分割部分Ｓのベクトルを決定する動作を行う。
図５は上記の仮パーティション／ベクトル決定動作の詳細を示すフローチャート５０、符号化対象画像５１、参照画像５２、予測画像５３、整数精度ベクトル５４について説明する図であり、図５を参照しながら、上記の仮パーティション／ベクトル決定動作を説明する。
【００２５】
オペレーション４−１においては、仮パーティション／ベクトル決定部２６０は各分割部分Ｓに対する検索時の整数精度コストＳＣｎ（ｎ＝１、２、３）を受け取る。また、仮パーティション／ベクトル決定部２６０は分割部分Ｓを構成する分割部分Ｐｎの検索時のコストＰＣｎ（ｎ＝１、２、３）を受け取る。
【００２６】
オペレーション４−２においては、仮パーティション／ベクトル決定部２６０は各符号化対象画像に対して、最小値となる整数精度コストＳＣｎ（ｎ＝１、２、３）を決定し、最小値となる整数精度コストＳＣｎ（ｎ＝１、２、３）を有する分割部分Ｓを特定する。すなわち、最小値となる整数精度コストＳＣｎ（ｎ＝１、２、３）を有する分割部分Ｓを構成する分割部分Ｐｎも特定でき、その分割部分Ｐｎの検索時のコストＰＣｎ（ｎ＝１、２、３）も最小となる。上記の特定により、整数精度で、原画像中の符号化対象画像に一番近似する参照画像中の分割部分を検出するとともに、第１から第３のパーティションの内、どれを用いた場合に一番近似するかを仮に決定することができる。
【００２７】
オペレーション４−３においては、仮パーティション／ベクトル決定部２６０は原画像中の符号化対象画像の位置と、その符号化対象画像に対して、最小値となる整数精度コストＳＣｍ（１、２、３の内のいずれか一つ）を有する分割部分Ｓの参照画像中の位置を特定する。すなわち、分割部分Ｐｎの参照画像中の位置も特定される。
【００２８】
オペレーション４−４においては、仮パーティション／ベクトル決定部２６０は符号化対象画像の位置と分割部分Ｓの参照画像中の位置とから、符号化対象画像に対応する予測画像中の画像の整数精度の動きベクトルを計算する。すなわち、パーティションの形状に分割した符号化対象画像の位置と、分割部分Ｐｎの参照画像中の位置とから、パーティションの形状に分割した符号化対象画像に対応する予測画像中の画像の整数精度の動きベクトルも計算される。
ここで、参照画像は時間的に過去の画像である。原画像は時間的に現在の画像である。予測画像は、参照画像中の符号化対象画像が現在においてどのように動いたかを予測した結果を表した画像である。従って、予測画像における符号化対象画像に対応する画像と、原画像における符号化対象画像は、かならずしも一致していない。
なお、実施例１の動画像符号化装置１０では、後に説明する小数精度の予測画像における符号化対象画像と原画像における符号化対象画像の差分と小数精度の動きベクトルの双方を直交変換及び量子化をして圧縮し、符号化して出力するものである。そして、上記の整数精度の予測画像及び整数精度の動きベクトルと、小数精度の予測画像及び小数精度の動きベクトルとは異なるものである。
【００２９】
オペレーション５：図３を参照し、１／２画素フィルタ２２０、小数探索範囲メモリ２３０、及び、１／４画素フィルタ２４０は全種類のパーティションを構成できる矩形の中で、最も大きな矩形を設定し、仮パーティションからなる分割部分Ｓを含む所定範囲内の 領域の参照画像データを用いて、上記矩形について、小数精度の第２動き検索を行うために必要な小数精度画像データを、作成する動作を行う。
【００３０】
オペレーション５−１においては、１／２画素フィルタ２２０は全種類のパーティションを構成できる矩形の中で、最も大きな矩形を設定する動作を行う。
図６は上記の矩形を設定する動作の詳細を示すフローチャート６０、第１パーティション４３、第２パーティション４４、第３パーティション４５及び矩形６１について説明する図であり、図６を参照しながら、上記の矩形を設定する動作を説明する。
【００３１】
オペレーション５−１−１においては、１／２画素フィルタ２２０は各パーティションの縦方向、横方向の画素数を認識する。第１パーティション４３はａ×ｃの画素、例えば１６×８の画素からなる。第２パーティション４４はｂ×ｄの画素、例えば８×１６の画素からなる。第３パーティション４５はｂ×ｃの画素、例えば８×８の画素からなる。
【００３２】
オペレーション５−１−２においては、１／２画素フィルタ２２０は第１、第２、第３パーティションの縦方向の画素数の最小公倍数ｂを求める。例えば、上記の最小公倍数は８である。
【００３３】
オペレーション５−１−３においては、１／２画素フィルタ２２０は第１、第２、第３パーティションの横方向の画素数の最小公倍数ｃを求める。例えば、上記の最小公倍数は８である。
オペレーション５−１−４においては、１／２画素フィルタ２２０は縦方向の画素数が最小公倍数ｂ、横方向の画素数が最小公倍数ｃとなる矩形６１を設定する。すなわち、上記の矩形は、すべてのパーティションに内包されうる矩形の内、最大の矩形６１の形状を有する。
【００３４】
オペレーション５−２においては、図３を参照して、１／２画素フィルタ２２０及び１／４画素フィルタ２４０は仮パーティションからなる分割部分Ｓを含む拡張領域の参照画像の画像データ、すなわち、整数精度の画像データを用いて、上記矩形について、小数精度の第２動き検索を行うために必要な小数精度の画像データを作成する動作を行う。
図７Ａ、図７Ｂは上記の小数精度画像データを作成する動作の詳細を示すフローチャート７０、拡張領域７１、参照画像矩形７２、拡張矩形領域７３、内挿用隣接画素データ７４、整数精度の画素Ｆ、Ｇ、Ｈ、Ｃ、Ｍの画素データ、１／２精度の画素ｂ、ｈ、ｊの画素データ、１／４精度の画素ｄ、ａ、ｅの画素データについて説明する図である。なお、整数精度の画素データとは、原画像又は参照画像を構成する画素データであり、１／２精度の画素データ、１／４精度の画素データ等の小数精度の画素データとは、整数精度の画素データから内挿法又は補完により形成された仮想の画素データである。
【００３５】
オペレーション５−２−１においては、１／２画素フィルタ２２０は最小値となる整数精度コストＳＣｍ（１、２、３の内のいずれか一つ）を有する分割部分Ｓに対して、左に２画素、上に２画素、右に３画素、下に３画素分、大きな拡張領域７１を特定する。なお、拡張領域７１の分割部分Ｓに対する拡張部分は、整数精度の画素データに対して、どの範囲の小数精度の画素データを作成するか依存する。従って、上記の拡張部分（左に２画素、上に２画素、右に３画素、下に３画素）は、下記に示すように、（＋０．５、０）、（０、＋０．５）、（＋０．５、＋０．５）の範囲の小数精度の画素データを作成するためのものである。そこで、（−０．５、０）というようにマイナス方向の小数精度の画素データを作成するときには、拡張部分は、左に３画素、上に３画素、右に２画素、下に２画素となる。すなわち、拡張領域７１の拡張部分は、上記の拡張部分（左に２画素、上に２画素、右に３画素、下に３画素）とは限られない。
【００３６】
オペレーション５−２−２においては、１／２画素フィルタ２２０は分割部分Ｓを、矩形６１と同様な大きさの領域に分割して参照画像矩形７２とし、それに対して、拡張領域７１と同様な条件で拡張矩形領域７３を特定し、拡張矩形領域７３に関する画素データに限って、１／２画素生成フィルタに読み込む。
【００３７】
オペレーション５−２−３においては、１／２画素フィルタ２２０は参照画像矩形７２内の注目する画素Ｇと、それに隣接する画素Ｈ、Ｍとの中間の画素ｂ、ｈ、ｊの１／２精度の画素データを、６個の画素Ｇ及び隣接する画素７４から作成する。画素ｂは画素Ｇに対して横方向に１／２、縦方向に０ずれた位置の画素であり、小数探索範囲メモリ２３０は、その画素データを、８×８ｋ小数探索範囲１／２精度メモリ（＋０．５、０）に格納する。
ここで、整数精度の画素データからなる画素Ｇと、１／２精度の画素データからなる画素ｂ、ｈ、ｊと、同時に２次元的に表すことはできない。しかし、整数精度の画素データをもつ画素Ｇは整数座標に配置され、１／２精度の画素データをもつ画素ｂ、ｈ、ｊは整数座標から０．５ずれた座標に配置されていると仮定すると、整数精度の画素データからなる画素Ｇ、１／２精度の画素データからなる画素ｂ、ｈ、ｊは、概念的に、２次元上で、０．５ずれているとして表すことができる。
そうすると、画素ｈは画素Ｇに対して横方向に０、縦方向に１／２ずれた位置の画素であり、小数探索範囲メモリ２３０はその画素データをの８×８ｋ小数探索範囲１／２精度メモリ（０、＋０．５）に格納する。画素Ｕは画素Ａに対して横方向に１／２、縦方向に１／２ずれた位置の画素であり、小数探索範囲メモリ２３０はその画素データを８×８ｋ小数探索範囲１／２精度メモリ（＋０．５、＋０．５）に格納する。
なお、注目する画素を、画素Ｇから画素Ｆ、画素Ｍ等の他の画素へ移すことにより、参照画像矩形７２内のすべての画素について、上記３種類の１／２精度の画素データが作成される。その結果、すべての画素と、その隣接画素間の１／２精度の画素データが作成される。
また、小数探索範囲メモリ２３０は参照画像矩形７２を構成する整数精度の画素データを８×８ｋ小数探索範囲１／２精度メモリ（＋０、＋０）に格納する。
【００３８】
１／２画素フィルタ２２０は、注目する画素と、それに隣接する、上３画素、下２画素分の参照画像の整数精度の画像を使用して、縦方向に１／２ずれた１／２精度の画素について、内挿法により１／２精度の画像データを形成する。また、１／２画素フィルタ２２０は、注目する画素と、それに隣接する、左２画素、右３画素分の参照画像の整数位置の画像を使用して、横方向に１／２ずれた１／２精度の画素について、内挿法により１／２精度の画像データを形成する。また、１／２画素フィルタ２２０は、注目する画素Ｇ、上２画素、下３画素、左２画素、右３画素を使用して、内挿法により横方向にも縦方向にも１／２ずれた１／２精度の画素を形成する。ここで、内挿法とは、与えられた変数と関数値があてはまる関数を導き出し、求めたい変数に対する関数値を計算する手法をいう。そして、１／２画素フィルタ２２０では、あてはまる関数は、フィルタ関数として、予め与えられている。
図７Ｂは、整数精度の画像ＡからＰまで、Ｒ、Ｓ、Ｔ、Ｙと、小数精度の画像ａからｋまで、ｍ、ｎ、ｐ、ｑ、ｒ、ｓ、ａａ、ｂｂ、ｃｃ、ｄｄ、ｅｅ、ｆｆ、ｇｇ、ｈｈとを示す図である。図７Ｂにおいては、概念的に、整数位置に整数精度の画像が配置され、その間の小数位置に小数精度の画像が配置されているところを示す。
ここで、例えば、画素Ｇ等の画像データはＧｚというように、画素Ｇ等の画像データを小文字のｚをつけて表す。
そうすると、Ｈ．２６４の規格によれば、整数精度の画像Ｇ、Ｈ等の画像データＧｚ、Ｈｚ等は、１／２精度の画像データｂｚ、ｈｚ等と以下のような関係にある。
まず、縦方向、又は、横方向の内の一つが整数位置から１／２ずれている小数精度の画像の画像データｂｚ、ｈｚについては、以下である。
ｂｚ１＝（Ｅｚ−５×Ｆ＋２０×Ｇ＋２０×Ｈ−５×Ｉ＋Ｊ）
ｈｚ１＝（Ａｚ−５×Ｃ＋２０×Ｇ＋２０×Ｍ−５×Ｒ＋Ｔ）
ｂｚ＝Ｃｌｉｐ（（ｂｚ１＋１６）＞＞５）
ｈｚ＝Ｃｌｉｐ（（ｈｚ１＋１６）＞＞５）
ここで、Ｃｌｉｐは引数を０から２５５の範囲に切り取る関数である。すなわち、括弧内の引数が０から２５５であるときは、そのままの値を関数値とし、括弧内の引数が０以下なら０を関数値とし、引数が２５５以上なら２５５を関数値とする。また、（引数）＞＞ｎ（ｎは整数）は２のｎ乗で引数を割り算をし、余りは切り捨てることを意味する。従って、上記の式では、２の５乗、すなわち、３２で割り算をし、余りを切り捨てることとなる。
さらに、（１、−５、２０、２０、−５、１）は１／２画素フィルタ２２０において使用される６ｔａｐフィルタの係数であり、係数の総和は３２である。
従って、上記の式によれば、その小数精度の画素を挟む、左右３個ずつの整数精度の画素の画素データについて１次元のフィルタ処理を行い、フィルタ係数の総和で割った結果を０から２５５の範囲に切り取ることにより、横方向（横軸方向）に整数位置から１／２ずれている小数精度の画素の画素データを求めことができる。また、その小数精度の画素を挟む、上下３個ずつの整数精度の画素の画素データについて１次元のフィルタ処理を行い、フィルタ係数の総和で割った結果を０から２５５の範囲に切り取ることにより、縦方向（縦軸方向）に整数位置から１／２ずれている小数精度の画素の画素データを求めことができる。
次いで、縦方向、横方向ともに整数位置から１／２ずれている小数精度の画素の画素データｊｚについては、以下である。
ｍｚ１＝（Ｂｚ−５×Ｄ＋２０×Ｈ＋２０×Ｎ−５×Ｓ＋Ｙ）
ｓｚ１＝（Ｋｚ−５×Ｌ＋２０×Ｍ＋２０×Ｎ−５×Ｐ＋Ｏ）
ｊｚ１＝ｃｃｚ−５×ｄｄｚ＋２０×ｈｚ１＋２０×ｍｚ１−５×ｅｅｚ＋ｆｆｚ
又は
ｊｚ１＝ａａｚ−５×ｂｂｚ＋２０×ｂｚ１＋２０×ｓｚ１−５×ｇｇｚ＋ｈｈｚ
Ｊｚ＝Ｃｌｉｐ（（ｊｚ１＋５１２）＞＞１０）
従って、上記の式によれば、縦方向、横方向ともに整数位置から１／２ずれている小数精度の画素は、横方向の１次元フィルタ処理によって求めた、横方向（横軸方向）に整数位置から１／２ずれている小数精度の画素の画素データ６個を使用して、縦方向（縦軸方向）の１次元フィルタ処理を行い、横方向の１次元フィルタ処理と縦方向の１次元フィルタ処理のフィルタ係数の総和でフィルタ処理結果を割り、さらにその結果を０から２５５の範囲に切り取ることにより、求めることができる。すなわち、整数精度の画素を１次元あたり６個、最大３６個の整数精度の画素を用いて、フィルタ処理及び演算処理を行うことにより、縦方向、横方向ともに整数位置から１／２ずれている小数精度の画素の画素データは求められる。
【００３９】
上記より、１／２精度の画素データを作成するにあたり、参照画像の整数精度のすべての画像データを、同時に使用して１／２精度の画素データを形成するのではなく、参照矩形領域７２に対する拡張矩形領域７３内の整数精度の画像データのみを使用して、１／２精度の画素データを形成する。そうすると、限られた時間内で演算を行う必要があるため、内挿法の計算を並列して行う場合に、１／２画素フィルタ２２０における必要な演算回路の数を少なくすることができる。また、使用する画像データが拡張矩形領域７３内の整数精度の画像データのみとなるため、小数探索範囲メモリ２３０のメモリ領域を小さくすることができる。
【００４０】
図７Ａを参照し、オペレーション５−２−４においては、１／４画素フィルタ２４０は、注目する画素Ｇと隣接する１／２精度の画素ｂ、ｈ、ｊ等との中間の画素ａ、ｄ、ｅ等の１／４画素精度の画素データａｚ、ｄｚ、ｅｚ等を、整数精度の画素データＧｚ等と１／２精度の画素データａｚ、ｄｚ、ｅｚ等とから補完により作成する。
図７Ｂを参照し、図７Ｂに示す位置にある、１／４画素精度の画素データａｚ、ｄｚ、ｅｚ等は以下のようにして、求められる。
まず、
ｍｚ＝Ｃｌｉｐ（（ｍｚ１＋１６）＞＞５）
ｓｚ＝Ｃｌｉｐ（（ｓｚ１＋１６）＞＞５）
次いで、
ａｚ＝（Ｇｚ＋ｂｚ＋１）＞＞１
ｃｚ＝（Ｈｚ＋ｂｚ＋１）＞＞１
ｄｚ＝（Ｇｚ＋ｈｚ＋１）＞＞１
ｎｚ＝（Ｍｚ＋ｈｚ＋１）＞＞１
ｆｚ＝（ｂｚ＋ｊｚ＋１）＞＞１
ｉｚ＝（ｈｚ＋ｊｚ＋１）＞＞１
ｅｚ＝（ｂｚ＋ｈｚ＋１）＞＞１
ｇｚ＝（ｂｚ＋ｍｚ＋１）＞＞１
ｐｚ＝（ｈｚ＋ｓｚ＋１）＞＞１
ｒｚ＝（ｍｚ＋ｓｚ＋１）＞＞１
上記の場合においても、限られた時間内で上記の補完演算を行う必要があるため、演算回路を複数用いて上記の演算を行う。しかし、１／４画素精度の画素データを形成するにあたり、扱う画素データが拡張矩形領域７３内の整数位置の画像データと、その画像データから形成された１／２精度の画像データのみでよいため、並列演算に必要な演算回路を少なくすることができる。
【００４１】
オペレーション６：図３を参照し、第２動き検出回路２７０は、小数精度の画像データを用いた、第２動き検索動作を行う。
図８は、小数精度の動き検索動作を示すフローチャート８０、１／２画素データから形成される小数精度参照画像矩形８２、１／４画素データから形成される小数精度参照画像矩形８３、参照画像矩形７２（整数精度）を示す。以下、図８を用いて、第２動き検索動作を説明する。
【００４２】
オペレーション６−１において、第２動き検出回路２７０は、符号化対象画像の画像領域を矩形６１に相当する大きさをもつ、複数個の符号化対象矩形に分割する。なお、複数の符号化対象矩形について、番号１からｎ（ｎは正の整数）まで番号を振る。そして、第２動き検出回路２７０は、複数個の符号化対象矩形の内、第ｍ番目（ｍは１からｎまでの正の整数の内の一つ）の符号化対象矩形を選択する。
【００４３】
オペレーション６−２において、第２動き検出回路２７０は、符号化対象矩形の動きを検索するために使用する、参照画像矩形７２について、１／２画像データから形成された小数精度参照矩形８２、及び、１／４画像データから形成された小数精度参照画像矩形８３を形成する。
ここで、整数精度の画素データからなる画像と、１／２精度の画素データからなる画像と、１／４精度の画素データからなる画像とは、同時に２次元的に表すことはできない。しかし、画素領域８１に示すように、整数精度の画素データは整数座標に配置され、１／２精度の画素データは整数座標から０．５ずれた座標に配置され、１／４精度の画素データは整数座標から０．２５ずれた座標に配置されていると仮定すると、整数精度の画素データからなる整数精度参照画像矩形７２、１／２精度の画素データからなる小数精度参照画像矩形８２、１／４精度の画素データからなる小数精度参照画像矩形８３は、相互に、仮想的に、２次元上で、０．５、又は、０．２５ずれた画像矩形として表すことができる。
そうすると、一つの整数精度参照画像矩形７２からは、配置位置が（０．５、０）、（０、０．５）、（０．５、０．５）ずれた１／２精度の画素データからなる、３個の小数精度参照画像矩形８２が形成されることになる。さらに、配置位置が（−０．２５、−０．２５）、（０、−０．２５）、（０．２５、−０．２５）、（０．５、−０．２５）、（−０．２５、０）、（０．２５、０）、（−０．２５、０．２５）、（０、０．２５）、（０．２５、０．２５）、（０．５、０．２５）、（−０．２５、０．５）、（０．２５、０．５）ずれた１／４精度の画素データからなる、１２個の小数精度参照画像矩形８３が形成されることになる。
【００４４】
オペレーション６−３において、第２動き検出回路２７０は、整数精度の参照画像矩形７２、小数精度参照画像矩形８２、８３、合計１６画像について、選択した第ｍ番目の符号化対象矩形に対する、「検索時のコスト」を計算する。次いで、第２動き検出回路２７０は、小数精度参照画像矩形８２、８３の動きベクトルを、元になった整数精度参照画像矩形７２の動きベクトルと、その整数精度参照画像矩形７２からの仮想上の位置ずれを考慮して、計算する。次いで、第２動き検出回路２７０は、整数精度の参照画像矩形７２、小数精度参照画像８２、８３それぞれについての動きベクトル、及び検索時のコストを記憶する。
【００４５】
オペレーション６−４において、すべての符号化対象矩形に対して、整数精度の参照画像矩形７２、小数精度参照画像矩形８２、８３の「検索時のコスト」の計算、及び、動きベクトルの計算が終了したかを判断する。すべての符号化対象矩形について計算が終了していれば、オペレーション６は終了し、オペレーション７へ進む。一方、すべての符号化対象矩形について計算が終了していなければ、ｍ＝ｍ＋１として、（すなわち、次の符号化対象矩形を選択して）オペレーション６−２に進む。
【００４６】
オペレーション７：図３を参照し、小数探索結果保持回路２８０及び最終パーティション／ベクトル決定部２９０は、各パーティション相当の各符号化対象画像に対して、パーティションコストが最小となるパーティションと同じ形状（パーティション相当）の小数精度参照画像の特定、及び、ベクトルの計算を行う。
図９は、パーティションコストが最小となるパーティション相当の小数精度参照画像の特定、及び、ベクトルの計算を行うことを示すフローチャート９０、符号化対象矩形（１、０）用レジスタ９１、符号化対象矩形（０、０）用レジスタ９２、符号化対象矩形（０、１）用レジスタ９３、符号化対象矩形（１、１）用レジスタ９４を説明する図である。実施例１の小数探索結果保持回路２８０は、符号化対象矩形（１、０）用レジスタ９１、符号化対象矩形（０、０）用レジスタ９２、符号化対象矩形（０、１）用レジスタ９３、符号化対象矩形（１、１）用レジスタ９４を備える。以下、図９を用いて、パーティションコストが最小となるパーティション相当の小数精度参照画像の特定、及び、ベクトルの計算について説明する。
ここで、パーティションコストとは、検索時のコストに加えてそれぞれのパーティションに設定されているオフセット値を加えたものをいう。パーティションコストが最小になるようにするのは、パーティションに付随するベクトルの個数が増加することによって符号化後のデータ量が増加する。そこで、検索時のコスト（差分画像の類似度）及びパーティションに付随するベクトルの情報量の双方を考えて全体として符号化後のデータ量が小さくなるように制御するためである。
なお、第１パーティション４３の場合、上記のオフセット値は、分割領域Ｓの左側に対しては小さく、右側に対しては大きい。第２パーティション４４の場合、オフセット値は、分割領域Ｓの上側に対しては小さく、下側に対しては大きい。第３パーティション４５の場合、オフセット値は、分割領域Ｓの左上、右下、左下、右下の順に大きくなる。
【００４７】
オペレーション７−１において、符号化対象画像が、例えば、縦方向に２個分、横方向に２個分、すなわち、４個の符号化対象矩形によって分割される場合に、平面的な位置において、左下の符号化対象矩形を符号化矩形（１、０）、右下の符号化対象矩形を符号化対象矩形（１、１）、左上の符号化対象矩形を符号化矩形（０、０）、右上の符号化対象矩形を符号化対象矩形（０、１）とする（縦方向にｋ個分、横方向にｌ個分からなるｋ×ｌ個の符号化対象矩形によって、すなわち、符号化対象矩形（ｔ、ｓ）（ｔ、ｓはそれぞれ、ｋ、ｌまでの正の整数）に分割される。）。
【００４８】
そこで、オペレーション７−１において、小数探索結果保持回路２８０は、符号化対象矩形（０、０）、（０、１）、（１、０）、（１、１）それぞれについて、１／２又は１／４精度の画素データから形成される小数精度参照画像矩形８２、８３の内、検索時コストが小さい方から所定数、例えば、５個選択し、動きベクトルとともに記憶する。
符号化対象矩形（１、０）用レジスタ９１は符号化対象矩形（１、０）に関して検索時コストが小さい小数精度参照画像矩形８２、８３の検索時コスト及び動きベクトルを記憶する。符号化対象矩形（０、０）用レジスタ９２は符号化対象矩形（０、０）に関して検索時コストが小さい小数精度参照画像矩形８２、８３の検索時コスト及び動きベクトルを記憶する。符号化対象矩形（０、１）用レジスタ９３は符号化対象矩形（０、１）に関して検索時コストが小さい小数精度参照画像矩形８２、８３の検索時コスト及び動きベクトルを記憶する。符号化対象矩形（１、１）用レジスタ９４は符号化対象矩形（１、１）に関して検索時コストが小さい小数精度参照画像矩形８２、８３の検索時コスト及び動きベクトルを記憶する。
ここで、小数精度参照画像矩形８２、８３の小数精度の動きベクトルは、小数精度参照画像矩形８２、８３に関わる整数精度参照画像矩形７２の動きベクトルと、整数精度参照画像矩形７２からの小数精度参照画像矩形８２、８３の変位ベクトルの和をとることにより求める。
【００４９】
オペレーション７−２において、最終パーティション／ベクトル決定部２９０は符号化対象矩形（０、０）、（０、１）、（１、０）、（１、１）それぞれについて、小数精度参照画像矩形８２又は８３を２つ組み合わせて、小数精度の第１パーティション４３、小数精度の第２パーティション４４を形成し、また、小数精度参照画像矩形８２又は８３そのものを小数精度の第３パーティション４５とする。そして、小数精度の第１パーティショ４３、第２パーティション４４、第３パーティション４５の検索時コストは、それに含まれる小数精度参照画像矩形８２又は８３の検索時コストの合算により求める。
次いで、最終パーティション／ベクトル決定部２９０は小数精度の第１パーティション４３同士を組み合わせて、小数精度の第２パーティション４４同士を組み合わせて、又は、小数精度の第３パーティション４５を組み合わせて、小数精度の分割部分Ｓを形成する。そして、小数精度の分割部分Ｓのパーティションコストを、それを構成する第１パーティション４３、第２パーティション４４、第３パーティション４５の合算により求めた検索時コストに各パーティションに対する重みを加算して求める。
次いで、最終パーティション／ベクトル決定部２９０は小数精度の分割部分Ｓの内、整数精度の画素データを用いた、仮パーティション（オペレーション３において、第１動き検出回路による動き検索を用いて、仮に決定したパーティション）の組合せからなる分割部分Ｓの検索時のコストより、検索時のコストが小さくなる小数精度の分割部分Ｓを検索する。
【００５０】
オペレーション７−３において、最終パーティション／ベクトル決定部２９０は上記のパーティションコストが小さい小数精度の分割部分Ｓの内、それを構成する小数精度参照画像矩形８２、８３の動きベクトルが一致するものを特定し、その分割部分Ｓを構成するパーティションを最終パーティションとする。次いで、最終パーティションの動きベクトルを、それを構成する小数精度参照画像矩形８２、８３の動きベクトルと、元になった整数精度参照画像矩形７２の動きベクトルとから、その整数精度参照画像矩形７２からの仮想上の位置すれを考慮して、計算する。
【００５１】
上記より、実施例１の動き検出回路は、矩形形状において複数種類のパーティションの形状（第１パーティション４３、第２パーティション４４、第３パーティション４５）、又は、すべてのパーティションに内包されうる矩形の内の最大矩形（矩形６１）の形状に、符号化対象画像及び参照画像を分割し、分割した符号化対象画像と、分割した参照画像との差分を表す差分情報に基づいて、参照画像内における符号化対象画像の動きを検出する動き検出回路であって、
参照画像中の参照画像データを用いて、パーティションの形状に分割した符号化対象画像とパーティションの形状に分割した参照画像（分割部分Ｐｎ）との差分を表す第１差分情報（検索時のコストＰＣｎ）を求める第１動き検出回路（第１動き検出回路２５０）と、
第１差分情報の情報量が最小となる、パーティションの形状に分割した符号化対象画像とパーティションの形状に分割した参照画像について、パーティションの形状に分割した符号化対象画像の原画像中の位置、及び、パーティションの形状に分割した参照画像の参照画像中の位置とに応じた第１動きベクトル（整数精度ベクトル５４）を抽出する第１パーティション／ベクトル抽出回路（仮パーティション／ベクトル決定部２６０）と、
第１差分情報の情報量が最小となるパーティションの形状に分割した参照画像を、最大矩形と同じ形状に分割して得られた画像（参照矩形領域７２）内の各参照画像データ（整数精度の画素データ７５）に対して、参照画像データから内挿法により求めた複数種類の仮想画素データ（１／２精度の画素データ７６、１／４精度の画素データ７７）を求めるフィルタ回路（１／２画素フィルタ２２０、１／４画素フィルタ２４０）と、
仮想画素データを用いて、各種類の仮想画素データよりなる画像（小数精度参照矩形８２，８３）を構成し、仮想画素データよりなる画像と、最大矩形と同じ形状に分割された符号化対象画像との第２差分情報（小数精度参照画像矩形８２、８３の「検索時のコスト」）を検出する第２動き検出回路（第２動き検出回路２７０）と、
【００５２】
第２差分情報に基づいて求められる、符号化対象画像と、仮想画素データよりなる画像の合体による得られる画像（小数精度の第１パーティション４３、小数精度の第２パーティション４４、小数精度の第３パーティション４５）との第３差分情報（小数精度の第１パーティショ４３、第２パーティション４４、第３パーティション４５の検索時コスト）であって、第１差分情報より小さい第３差分情報を検出し、
符号化対象画像と、第３差分情報を有する仮想画素データよりなる画像の合体により得られる画像との間の第２動きベクトル（最終パーティションの動きベクトル）を、第１動きベクトル及び仮想画像データの種類に応じて決定する第２ベクトル／パーティション抽出回路（最終パーティション／ベクトル決定部２９０）と、
を備えることを特徴とする動き検出回路。
【００５３】
上記の動き検出回路においては、１／２精度の画素データを作成するにあたり、参照画像の整数精度のすべての画像データを、同時に使用して１／２精度の画素データを形成するのではなく、参照矩形領域７２に対する拡張矩形領域７３内の整数精度の画像データのみを使用して、１／２精度の画素データを形成する。そうすると、限られた時間内で演算を行う必要があるため、内挿法の計算を並列して行う場合に、１／２画素フィルタ２２０における必要な演算回路の数を少なくすることができる。また、使用する画像データが拡張矩形領域７３内の整数精度の画像データのみとなるため、小数探索範囲メモリ２３０のメモリ領域を小さくすることができる。
同様に、１／４画素精度の画素データを形成するにあたり、扱う画素データが拡張矩形領域７３内の整数位置の画像データと、その画像データから形成された１／２精度の画像データのみでよいため、並列演算に必要な演算回路を少なくすることができる。
【００５４】
実施例１の動き検出回路は、さらに、最大矩形と同じ形状に分割された符号化対象画像それぞれについて、第２差分情報の内、情報量が小さいほうから所定数の第２差分情報を記憶し、最大矩形と同じ形状に分割された符号化対象画像と、記憶された第２差分情報を備える仮想画素データよりなる画像との第３動きベクトルを記憶する小数探索結果保持回路（小数探索結果保持回路２８０）を備え、
第２ベクトル／パーティション抽出回路において、仮想画素データよりなる画像の合体に用いられる、仮想画素データよりなる画像は小数探索結果保持回路に記憶された第２差分情報を備えることを特徴とする動き検出回路である。
上記の動き検出回路においては、第２差分情報の一部を記憶する小数探索結果保持回路を有する。従って、第２差分情報に基づいて求められる、符号化対象画像と、仮想画素データよりなる画像の合体による得られる画像（小数精度の第１パーティション４３、小数精度の第２パーティション４４、小数精度の第３パーティション４５）との第３差分情報（小数精度の第１パーティショ４３、第２パーティション４４、第３パーティション４５の検索時コスト）であって、第１差分情報より小さい第３差分情報を検出するときに、小数探索結果保持回路中に保持された第２差分情報のみを扱うことになるため、第２差分情報の数が限定される。そうすると、第３差分情報の検出を行う第２ベクトル／パーティション抽出回路の演算回路の規模を少なくすることができる。また、第２差分情報を記憶する記憶回路を少なくすることができる。
【実施例２】
【００５５】
図１０は実施例２の動き検出回路の動作に含まれるオペレーション７を説明するフローチャート１００を示す図である。
実施例２の動き検出回路３０は整数探索配意メモリ２１０、１／２画素生成フィルタ２２０、小数探索範囲メモリ２３０、１／４画素生成フィルタ２４０、第１動き検出回路２５０、仮パーティション／ベクトル決定部２６０、第２動き検出回路２７０、小数探索結果保持回路３８０、最終パーティション／ベクトル決定部３９０、及び、カレントＭＢメモリ２９５を備える。
整数探索配意メモリ２１０、１／２画素生成フィルタ２２０、小数探索範囲メモリ２３０、１／４画素生成フィルタ２４０、第１動き検出回路２５０、仮パーティション／ベクトル決定部２６０、第２動き検出回路２７０、及び、カレントＭＢメモリ２９５は実施例１の動き検出回路２０におけるものと同じ回路であるため、説明を省略する。
また、実施例２の動き検出回路３０が行う動き検出方法は図３のフローチャート３０に示された動き検出方法と同じ方法である。
ただし、フローチャート３０中のオペレーション７の詳細については小数探索結果保持回路３８０、最終パーティション／ベクトル決定部３９０により行われるため、実施例１の動き検出回路２０が行う動き検出方法におけるオペレーション７とは異なる。
【００５６】
小数探索結果保持回路３８０は第２動き検出回路２７０からの差分情報の形式に変更を加えて、その結果を保持する回路である。
最終パーティション／ベクトル決定部３９０は、小数探索結果保持回路３８０が保持する結果に基づいて、１／４精度、又は、１／２精度の画像データから構成されている参照画像のパーティションすべてについての差分情報を求め、さらに、１／４精度、又は、１／２精度の画像データから構成されている参照画像の分割部分の差分情報を求め、もっとも符号化対象画像との差分情報が少ない分割部分を決定し、その動きベクトル（小数精度の動きベクトル）及び差分情報の抽出に用いたパーティションを決定する回路である。
【００５７】
実施例２のオペレーション７においては、図３を参照し、小数探索結果保持回路３８０及び最終パーティション／ベクトル決定部３９０は、各パーティション相当の各符号化対象画像に対して、パーティションコストが最小となるパーティション相当の小数精度参照画像の特定、及び、ベクトルの計算を行う。
【００５８】
図１０は、パーティションコストが最小となるパーティション相当の小数精度参照画像の特定、及び、ベクトルの計算を行うことを示すフローチャート１００、参照画像矩形（０、０）用レジスタ１０１、参照画像矩形（１、０）用レジスタ１０２、参照画像矩形（０、１）用レジスタ１０３、参照画像矩形（１、１）用レジスタ１０４、第１パーティション用レジスタ１０５、第２パーティション用レジスタ１０６、第３パーティション用レジスタ１０７、第４パーティション用レジスタ１０８、第１パーティションのベクトル用レジスタ１０９、第２パーティションのベクトル用レジスタ１１０、第３パーティションのベクトル用レジスタ１１１、第４パーティションのベクトル用レジスタ１１２、及び、最小コストパーティション用レジスタ１１３を示す。
【００５９】
小数探索結果保持回路３８０は、小数精度の参照画像矩形（０、０）用レジスタ１０１、小数精度の参照画像矩形（１、０）用レジスタ１０２、小数精度の参照画像矩形（０、１）用レジスタ１０３、及び、小数精度の参照画像矩形（１、１）用レジスタ１０４等、複数個の参照画像矩形用レジスタを備える。
また、最終パーティション／ベクトル決定部３９０は複数個の第１パーティション用レジスタ１０５、複数個の第２パーティション用レジスタ１０６、複数個の第３パーティション用レジスタ１０７、複数個の第４パーティション用レジスタ１０８、複数個の第１パーティションのベクトル用レジスタ１０９、複数個の第２パーティションのベクトル用レジスタ１１０、複数個の第３パーティションのベクトル用レジスタ１１１、複数個の第４パーティションのベクトル用レジスタ１１２、及び、最小コストパーティション用レジスタ１１３を備える。
以下、図１０を用いて、パーティションコストが最小となるパーティション相当の小数精度参照画像の特定、及び、ベクトルの計算について説明する。
【００６０】
実施例２のオペレーション７−１１において、小数探索結果保持回路３８０は矩形と同じ形状に符号化対象画像を分割して得た符号化対象矩形それぞれと、矩形と同じ形状に参照画像を分割して得た参照画像矩形７２それぞれとの検索時のコストを第２動き検出回路２７０から受け取る。次いで、小数探索結果保持回路３８０は小数精度参照矩形８２、８３それぞれとの検索時のコストを受け取る。
次いで、小数探索結果保持回路３８０は小数精度参照矩形８２、８３それぞれの検索時のコストと参照画像矩形７２の検索時のコストとを比較し、参照画像矩形７２の検索時のコストより、小数精度参照矩形８２、８３の検索時のコストが小さい場合に、その小数精度参照矩形８２、８３に、“１”の論理を有する１ｂｉｔのｆｌａｇをたて、参照画像矩形（０、０）用レジスタ１０１、参照画像矩形（１、０）用レジスタ１０２、参照画像矩形（０、１）用レジスタ１０３、及び、参照画像矩形（１、１）用レジスタ１０４等、参照画像矩形用レジスタに記憶する。一方、参照画像矩形７２の検索時のコストより、小数精度参照矩形８２、８３の検索時のコストが大きい場合には、その小数精度参照矩形８２、８３に、“０”の論理を有する１ｂｉｔのｆｌａｇをたてる。
なお、参照画像矩形（０、０）用レジスタ１０１、参照画像矩形（１、０）用レジスタ１０２、参照画像矩形（０、１）用レジスタ１０３、及び、参照画像矩形（１、１）用レジスタ１０４等は、元になった整数精度の参照矩形７２に対する、小数精度参照矩形８２、８３それぞれに対応して複数個存在する。（０、０）、（１、０）等のサフィックスは元になった整数精度の参照矩形７２の原点の参照画像における位置を表す。
【００６１】
オペレーション７−１２において、最終パーティション／ベクトル決定部３９０は、小数精度参照画像矩形８２又は８３を２つ組み合わせて（合体させて）、小数精度の第１パーティション４３、小数精度の第２パーティション４４を形成し、また、小数精度参照画像矩形８２又は８３そのものを小数精度の第３パーティション４５とする。そして、小数精度の第１パーティショ４３、第２パーティション４４の１ｂｉｔのｆｌａｇを、それに含まれる小数精度参照画像矩形８２又は８３の１ｂｉｔのｆｌａｇのアンド（ＡＮＤ）により求める。その結果を複数個の第１パーティション用レジスタ１０５、複数個の第２パーティション用レジスタ１０６、複数個の第３パーティション用レジスタ１０７、複数個の第４パーティション用レジスタ１０８に記憶する。
次いで、最終パーティション／ベクトル決定部３９０は、各パーティションについて動きベクトルを、その参照画像中の位置に応じて求め、第１パーティションのベクトル用レジスタ１０９、第２パーティションのベクトル用レジスタ１１０、第３パーティションのベクトル用レジスタ１１１、第４パーティションのベクトル用レジスタ１１２に記憶する。
【００６２】
オペレーション７−１３において、最終パーティション／ベクトル決定部３９０は、１ｂｉｔのｆｌａｇが“１”となっている、小数精度の第１パーティション４３同士を組み合わせて、小数精度の第２パーティション４４同士を組み合わせて、又は、小数精度の第３パーティション４５を組み合わせて、小数精度の分割部分Ｓを形成する。そして、小数精度の分割部分Ｓの１ｂｉｔのｆｌａｇは、それを構成するパーティションの１ｂｉｔのｆｌａｇのＡＮＤをとって形成する。
次いで、最終パーティション／ベクトル決定部３９０は、パーティションそれぞれについて、論理“１”の１ｂｉｔのｆｌａｇが立っている小数精度の分割部分Ｓ内から一つを選択する。ここで、論理“１”の１ｂｉｔのｆｌａｇが立っている小数精度の分割部分Ｓが複数個ある場合は、それらの小数精度の分割部分Ｓの内、小数精度の分割部分Ｓの動きベクトルが予測ベクトルに近いものが選ばれるように、小数精度の分割部分Ｓを形成するパーティションの動きベクトルを考慮して、パーティションそれぞれについて、一つの小数精度の分割部分Ｓを選択する。
なお、「予測ベクトル」とは、ｈ．２６４規格に定められる予測ベクトルをいい、その中の一つの例では、予測対象の画像領域に対する予測ベクトルは、周辺の画像領域の動きベクトルの中央値をとって求められる。（参考文献１：情報源符号化部  「Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ  規格の概要」：社団法人  電波産業会  Ｐ９、参考文献２：社団法人  電子情報通信学会、信学技報「Ｈ２６Ｌに向けたコンテクストに基づく動きベクトル適応的符号化方式」  Ｐ２）
動きベクトルを符号化するときに、予測ベクトルに近い動きベクトルを符号化すると、一般的に、符号長が短くなる。そこで、「予測ベクトルに近いもの」とは、符号化した時に符号長が最小の動きベクトルをいうが、例えば、予測対象画像に対する予測ベクトルと、予測対象画像の動きベクトルの差分が小さいものをいう。
【００６３】
オペレーション７−１４において、最終パーティション／ベクトル決定部３９０は上記の選択された小数精度の分割部分Ｓの内、パーティションコストの合算が最小の分割部分を選択し、その分割部分Ｓを構成するパーティションを最終パーティションとする。次いで、最終パーティションの動きベクトルを、それを構成する小数精度参照画像矩形８２、８３の動きベクトルと、元になった整数精度参照画像矩形７２の動きベクトルとから、その整数精度参照画像矩形７２からの仮想上の位置ずれを考慮して、計算する。次いで、最小コストパーティション用レジスタ１１３に結果を記憶させる。
【００６４】
上記より、実施例２の動き検出回路は、矩形形状において複数種類のパーティションの形状、又は、すべてのパーティションに内包されうる矩形の内の最大矩形の形状に、符号化対象画像及び参照画像を分割し、分割した符号化対象画像と、分割した参照画像との差分を表す差分情報に基づいて、参照画像内における符号化対象画像の動きを検出する動き検出回路であって、
参照画像中の参照画像データを用いて、パーティションの形状に分割した符号化対象画像とパーティションの形状に分割した参照画像との差分を表す第１差分情報を求める第１動き検出回路と、
第１差分情報の情報量が最小となる、パーティションの形状に分割した符号化対象画像とパーティションの形状に分割した参照画像について、パーティションの形状に分割した符号化対象画像の原画像中の位置、及び、パーティションの形状に分割した参照画像の参照画像中の位置とに応じた第１動きベクトルを抽出する第１パーティション／ベクトル抽出回路と、
第１差分情報の情報量が最小となるパーティションの形状に分割した参照画像を、最大矩形と同じ形状に分割して得られた画像内の各参照画像データに対して、参照画像データから内挿法により求めた複数種類の仮想画素データを求めるフィルタ回路と、
仮想画素データを用いて、各種類の仮想画素データよりなる画像を構成し、仮想画素データよりなる画像と、最大矩形と同じ形状に分割された符号化対象画像との第２差分情報を検出する第２動き検出回路と、
第２差分情報に基づいて求められる、符号化対象画像と、仮想画素データよりなる画像の合体による得られる画像との第３差分情報であって、第１差分情報より小さい第３差分情報を検出し、
符号化対象画像と、第３差分情報を有する仮想画素データよりなる画像の合体による得られる画像との間の第２動きベクトルを、第１動きベクトル及び仮想画像データの種類に応じて決定する第２パーティション／ベクトル抽出回路（最終パーティション／ベクトル決定部３９０）と、
を備えることを特徴とする動き検出回路。
【００６５】
上記は、実施例１の動き検出回路と同様な構成をしているため、実施例１の動き検出回路と同様な効果を生じる。
実施例２の動き検出回路は、さらに、参照画像データを用いて求めた、最大矩形と同じ形状に分割された符号化対象画像と、最大矩形と同じ形状に分割された参照画像との差分情報よりも、第２差分情報が小さい場合に、仮想画素データよりなる画像に対して１ｂｉｔのｆｌａｇをたて、各仮想画素データよりなる画像に対する１ｂｉｔのｆｌａｇを記憶する小数探索結果保持回路を備え、
第２パーティション／ベクトル抽出回路において、仮想画素データよりなる画像の合体が行われる時に、仮想画素データよりなる画像に対する１ｂｉｔのｆｌａｇ同士の論理和を行って第３差分情報とし、１ｂｉｔのｆｌａｇ同士の論理和が“１”であった時に、第３差分情報は第１差分情報より小さいと判断することを特徴とする動き検出回路。
上記の動き検出回路は、予め、第２差分情報と最大矩形と同じ形状に分割された参照画像との差分情報との比較を行い、その結果を１ｂｉｔのｆｌａｇにより表し、１ｂｉｔのｆｌａｇを記憶する小数探索結果保持回路をさらに有するため、第２差分情報の情報量のすべてを記憶しない。従って、第２差分情報に基づいて求められる、符号化対象画像と、仮想画素データよりなる画像の合体による得られる画像（小数精度の第１パーティション４３、小数精度の第２パーティション４４、小数精度の第３パーティション４５）との第３差分情報（小数精度の第１パーティショ４３、第２パーティション４４、第３パーティション４５の検索時コスト）であって、第１差分情報より小さい第３差分情報を検出するときに、小数探索結果保持回路中に保持された第２差分情報のみを扱うことになるため、第２差分情報の情報量が限定される。そうすると、第３差分情報の検出を行う第２ベクトル／パーティション抽出回路の演算回路の規模を少なくすることができる。また、第２差分情報を記憶する記憶回路を少なくすることができる。
【産業上の利用可能性】
【００６６】
本発明によれば、回路規模の削減が可能な回路構成を有する動き検出回路と、それを含む動画符号化装置を提供することができる。
【符号の説明】
【００６７】
１０  動画符号化装置
１１  直交変換回路
１２  量子化回路
１３  可変長符号化回路
１４  逆量子化回路
１５  逆直交変換回路
１６  参照画像メモリ
１７  動き補償回路
１８  減算回路
１９  加算回路
２０、３０  動き検出回路
４０  原画像メモリ
４３  第１パーティション
４４  第２パーティション
４５  第３パーティション
５２  参照画像
５３  予測画像
７２  参照画像矩形
７３  拡張矩形領域
８２、８３  小数精度参照画像矩形
２１０  整数探索範囲メモリ
２２０  １／２画素フィルタ回路
２３０  小数探索範囲メモリ
２４０  １／４画素フィルタ回路
２５０  第１動き検出回路
２６０  仮パーティション／ベクトル決定部
２７０  第２動き検出回路
２８０、３８０  小数探索結果保持回路
２９０、３９０  最終パーティション／ベクトル決定部
２９５  カレントＭＢメモリ
【図１】
2010192984.tif 000003
【図２】
2010192984.tif 000004
【図３】
2010192984.tif 000005
【図４】
2010192984.tif 000006
【図５】
2010192984.tif 000007
【図６】
2010192984.tif 000008
【図７Ａ】
2010192984.tif 000009
【図７Ｂ】
2010192984.tif 000010
【図８】
2010192984.tif 000011
【図９】
2010192984.tif 000012
【図１０】
2010192984.tif 000013