(57)【特許請求の範囲】
【請求項１】
符号化対象画像を、参照画像と動きベクトルとを用いてインター予測符号化する動画像符号化装置における、動きベクトル決定装置であって、
前記動きベクトルの候補となる複数の候補ベクトルのうち、いずれか１つを順次選択して設定するベクトル設定手段と、
前記符号化対象画像のブロック画像と、前記参照画像のうち、前記ベクトル設定手段が設定した前記候補ベクトルに対応するブロックの画像との画素値の差分を算出する差分算出手段と、
前記複数の候補ベクトルの全てについて算出された前記差分のうち、値の小さい順に所定数の差分を記憶する順位記憶手段と、
前記順位記憶手段に記憶された差分に対応する、前記所定数の候補ベクトルを格納するベクトル記憶手段と、
前記ベクトル記憶手段が記憶する前記所定数の候補ベクトルのうち、前記順位記憶手段が記憶する最小の差分に対応する候補ベクトルと、それ以外の各候補ベクトルとの距離に基づいて、前記符号化対象画像のブロック画像が繰り返しパターンを含むか否かを判定する判定手段と、
前記複数の候補ベクトルのそれぞれのベクトル符号量を算出するベクトル符号量算出手段と、
前記複数の候補ベクトルのそれぞれにつき、前記ベクトル符号量と重み係数とを乗算した結果に、対応する差分を加算してコストを算出し、該コストが最小となる候補ベクトルを、前記符号化対象画像のブロック画像についての動きベクトルに決定する動きベクトル決定手段と
を備え、
前記動きベクトル決定手段は、
前記判定手段が、前記ブロック画像が繰り返しパターンを含まないと判定した場合には、前記重み係数として第１の重み係数を用いて算出された前記コストに基づいて前記動きベクトルを決定し、
前記判定手段が、前記ブロック画像が繰り返しパターンを含むと判定した場合には、前記重み係数として、前記第１の重み係数よりも大きい第２の重み係数を用いて算出された前記コストに基づいて前記動きベクトルを決定する、
ことを特徴とする動きベクトル決定装置。
【請求項２】
前記判定手段は、前記最小の差分に対応する候補ベクトルと、それ以外の各候補ベクトルとの距離を合算して距離総和を算出し、該距離総和が閾値よりも大きい場合に、前記符号化対象画像のブロック画像が繰り返しパターンを含むと判定する
ことを特徴とする請求項１に記載の動きベクトル決定装置。
【請求項３】
前記判定手段における判定結果に従い、前記第１の重み係数と前記第２の重み係数とのいずれかを選択する選択手段をさらに備え、
前記動きベクトル決定手段は、前記選択手段が選択した前記第１の重み係数または前記第２の重み係数を用いて算出された前記コストに基づいて、前記動きベクトルを決定する
ことを特徴とする請求項１または２に記載の動きベクトル決定装置。
【請求項４】
前記動きベクトル決定手段は、
前記複数の候補ベクトルのそれぞれにつき、前記重み係数として前記第１の重み係数を用いて前記コストを算出して最小となるコストを決定する第１コスト算出手段と、
前記複数の候補ベクトルのそれぞれにつき、前記重み係数として前記第２の重み係数を用いて前記コストを算出して最小となるコストを決定する第２コスト算出手段と
を備え、
前記判定手段の判定結果に応じて、前記第１コスト算出手段と前記第２コスト算出手段とで算出された前記最小となるコストのうち、いずれか一方に基づいて前記動きベクトルを決定する
ことを特徴とする請求項１または２に記載の動きベクトル決定装置。
【請求項５】
符号化対象画像を、参照画像と動きベクトルとを用いてインター予測符号化する動画像符号化装置における、動きベクトル決定方法であって、
ベクトル設定手段が、前記動きベクトルの候補となる複数の候補ベクトルのうち、いずれか１つを順次選択して設定するベクトル設定工程と、
差分算出手段が、前記符号化対象画像のブロック画像と、前記参照画像のうち、前記ベクトル設定工程で設定された前記候補ベクトルに対応するブロックの画像との画素値の差分を算出する差分算出工程と、
順位記憶手段が、前記複数の候補ベクトルの全てについて算出された前記差分のうち、値の小さい順に所定数の差分を記憶する順位記憶工程と、
ベクトル記憶手段が、前記順位記憶手段に記憶された差分に対応する、前記所定数の候補ベクトルを格納するベクトル記憶工程と、
判定手段が、前記ベクトル記憶手段が記憶する前記所定数の候補ベクトルのうち前記順位記憶手段が記憶する最小の差分に対応する候補ベクトルと、それ以外の各候補ベクトルとの距離に基づいて、前記符号化対象画像のブロック画像が繰り返しパターンを含むか否かを判定する判定工程と、
ベクトル符号量算出手段が、前記複数の候補ベクトルのそれぞれのベクトル符号量を算出するベクトル符号量算出工程と、
ベクトル決定手段が、前記複数の候補ベクトルのそれぞれにつき、前記ベクトル符号量と重み係数とを乗算した結果に、対応する差分を加算してコストを算出し、該コストが最小となる候補ベクトルを、前記符号化対象画像のブロック画像についての動きベクトルに決定する動きベクトル決定工程と
を備え、
前記動きベクトル決定工程では、
前記判定工程において、前記ブロック画像が繰り返しパターンを含まないと判定された場合には、前記重み係数として第１の重み係数を用いて算出された前記コストに基づいて前記動きベクトルが決定され、
前記判定工程において、前記ブロック画像が繰り返しパターンを含むと判定された場合には、前記重み係数として、前記第１の重み係数よりも大きい第２の重み係数を用いて算出された前記コストに基づいて前記動きベクトルが決定される、
ことを特徴とする動きベクトル決定方法。
【請求項６】
コンピュータを、請求項１乃至４のいずれか１項に記載の動きベクトル決定装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置における動きベクトル決定装置及び動きベクトル決定方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
被写体を撮影し、撮影により得られた動画像データを圧縮符号化して記録するカメラ一体型動画像記録装置として、デジタルビデオカメラがよく知られている。近年では、動画像データを記録する記録媒体は、従来の磁気テープからランダムアクセス性などの利便性が高いディスク媒体や半導体メモリなどに移り変わってきている。また、圧縮方式としては、フレーム間で動き予測を用いて高い圧縮率で圧縮可能なＭＰＥＧ２方式が一般的に用いられており、さらに近年では、より高圧縮に圧縮可能なＨ．２６４方式なども用いられている。
【０００３】
このような圧縮方式の符号化装置では、フレーム画像を分割した符号化単位であるマクロブロック単位にフレーム間の動きベクトルを探索し、動き補償することによって情報量を削減している。
【０００４】
動き補償することによって画像信号の情報量は削減されるが、動画像符号化の場合には動き情報も符号化する必要がある。そこで、動きベクトルを探索するときは、画像の類似度（歪量）だけではなく、動きベクトルなどの符号量も考慮する必要がある。一般的には、以下の（１）式のような評価関数を用いて、動きベクトルを決定するための符号化コスト（Ｃ）を求めて、この符号化コストに基づき動きベクトルを探索している。
【０００５】
Ｃ＝Ｄ＋λＲ・・・（１）
ここで、Ｄは符号化歪、Ｒは発生符号量、λは係数を示している。符号化歪Ｄは原画像と予測画像との差分量が用いられ、差分二乗和や差分絶対値和などが使われる。また発生符号量Ｒは動きベクトルの符号量、λは量子化ステップが一般的には使われている。
【０００６】
動きベクトルの発生符号量Ｒは、上記圧縮方式では周囲の動きベクトルから求められる推定動きベクトルとの差分量を基に算出される。動きベクトルの探索時は必ずしも周囲の動きベクトルが正確に求められず、動きベクトルの符号量Ｒが正しく評価できない場合があり、それに対処するための方法が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１５４０７２公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１が開示する方法では符号量の評価に関しては改善される。しかしながら、ビルの窓など繰り返しパターンのある画像では適切な動きベクトルを探索できず、復号画像で窓枠がちらつくなど、視覚的に非常に劣化が目立ってしまうという問題がある。
【０００９】
本発明は上記の問題に鑑み、繰り返しパターンのある画像に対しても、適切な動きベクトルを探索可能にすることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための本発明は、符号化対象画像を、参照画像と動きベクトルとを用いてインター予測符号化する動画像符号化装置における、動きベクトル決定装置であって、
前記動きベクトルの候補となる複数の候補ベクトルのうち、いずれか１つを順次選択して設定するベクトル設定手段と、
前記符号化対象画像のブロック画像と、前記参照画像のうち、前記ベクトル設定手段が設定した前記候補ベクトルに対応するブロックの画像との画素値の差分を算出する差分算出手段と、
前記複数の候補ベクトルの全てについて算出された前記差分のうち、値の小さい順に所定数の差分を記憶する順位記憶手段と、
前記順位記憶手段に記憶された差分に対応する、前記所定数の候補ベクトルを格納するベクトル記憶手段と、
前記ベクトル記憶手段が記憶する前記所定数の候補ベクトルのうち、前記順位記憶手段が記憶する最小の差分に対応する候補ベクトルと、それ以外の各候補ベクトルとの距離に基づいて、前記符号化対象画像のブロック画像が繰り返しパターンを含むか否かを判定する判定手段と、
前記複数の候補ベクトルのそれぞれのベクトル符号量を算出するベクトル符号量算出手段と、
前記複数の候補ベクトルのそれぞれにつき、前記ベクトル符号量と重み係数とを乗算した結果に、対応する差分を加算してコストを算出し、該コストが最小となる候補ベクトルを、前記符号化対象画像のブロック画像についての動きベクトルに決定する動きベクトル決定手段と
を備え、
前記動きベクトル決定手段は、
前記判定手段が、前記ブロック画像が繰り返しパターンを含まないと判定した場合には、前記重み係数として第１の重み係数を用いて算出された前記コストに基づいて前記動きベクトルを決定し、
前記判定手段が、前記ブロック画像が繰り返しパターンを含むと判定した場合には、前記重み係数として、前記第１の重み係数よりも大きい第２の重み係数を用いて算出された前記コストに基づいて前記動きベクトルを決定する、
ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、繰り返しパターンのある画像に対しても、適切な動きベクトルを探索することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る動画像符号化装置の構成例を示すブロック図。
【図２】実施形態１に係る動きベクトル決定部の構成例を示すブロック図。
【図３】繰り返し判定部２０５の動作を説明するフローチャート。
【図４】画素差分と候補ベクトルとの関係を示すグラフ。
【図５】実施形態２に係る動きベクトル決定部の構成例を示すブロック図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について添付する図面を参照して説明する。
【００１４】
（実施形態１）
図１は、本実施形態に係る動画像符号化装置１００の構成例を示すブロック図である。ここでは、レンズやＣＣＤ等のカメラ部を含む撮像部１０１と、フレームメモリ１０２と、動きベクトルを探索する動きベクトル決定部１０３と、動きベクトルに基づきインター予測画像データを生成するフレーム間動き補償部１０４を備える。また、イントラ予測画像データを生成するイントラ予測部１０５、インター予測画像データとイントラ予測画像データとのいずれかを選択する選択部１０６と、減算器１０７と、整数変換部１０８と、量子化部１０９とを備えている。さらに、逆量子化部１１０と、逆整数変換部１１１と、加算器１１２と、ループ内フィルタ１１３と、エントロピー符号化部１１５と、量子化制御部１１６と、符号量制御部１１７と、記録部１１８とを備えている。また、動画像符号化装置１００には記録媒体１１９が装着されており、フレームメモリ１０２は、インター予測に用いる参照画像を記憶する参照画像メモリ１１４を備えている。
【００１５】
図１の動画像符号化装置１００において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵが実行することにより、ソフトウェア的に構成されてもよい。
【００１６】
撮像部１０１により撮像して得られた動画像データは、第１フレーム、第２フレーム、第３フレーム、・・・のように生成順序で、フレームメモリ１０２に順次格納される。フレームメモリ１０２からは、例えば、第３フレーム、第１フレーム、第２フレーム、・・・と、符号化を行う順序で画像データを取り出していく。
【００１７】
ここで、符号化方法には、フレーム内の画像データのみで符号化するイントラ予測符号化と、フレーム間での予測も含めて符号化するインター予測符号化とがある。インター予測符号化を行うピクチャは、動き補償の単位（ＭＣブロック）に対して１枚の参照フレームとの予測を行うＰピクチャと、ＭＣブロックに対して２枚までの参照フレームとの予測を行うＢピクチャとがある。一方、イントラ予測符号化を行うピクチャは、Ｉピクチャである。なお、符号化するフレームの順番が入力されたフレームの順番と異なるのは、過去のフレームだけではなく、時間的に未来のフレームとの予測（後方予測）を可能にするためである。
【００１８】
イントラ予測符号化を行う場合、符号化単位となる符号化対象ブロックの画像データがフレームメモリ１０２から読み出されて、イントラ予測部１０５へ入力される。本実施形態では、１つの符号化対象ブロックの単位を横１６画素×縦１６画素とする。また、読み出された符号化対象ブロックに隣接する画素のデータもフレームメモリ１０２から読み出されて、イントラ予測部１０５へ入力される。
【００１９】
イントラ予測部１０５は、符号化対象ブロックと、その符号化対象ブロックに隣接する画素のデータから生成される複数のイントラ予測画像データとのブロックマッチングをそれぞれに行う。そして、最も相関の高いイントラ予測画像データを選択して選択部１０６へ出力する。イントラ予測符号化を行う場合は、選択部１０６は常にイントラ予測部１０５からの出力を選択し、イントラ予測画像データを減算器１０７に出力する。
【００２０】
減算器１０７には、イントラ予測画像データとフレームメモリ１０２から読み出される符号化対象画像のブロック画像データとが入力され、符号化対象画像のブロック画像とイントラ予測画像との画素値の差分画像データを整数変換部１０８へ出力する。整数変換部１０８は、入力された画素値の差分画像データに整数変換を施し、量子化部１０９は、整数変換部１０８により整数変換された信号に対して量子化処理を行う。
【００２１】
エントロピー符号化部１１５は、量子化部１０９により量子化された変換係数をエントロピー符号化し、データストリームとして記録部１１８に出力する。ここで、量子化部１０９における量子化係数は、エントロピー符号化部１１５で発生した符号量や、符号量制御部１１７から設定される目標符号量などから量子化制御部１１６が算出する。記録部１１８は、エントロピー符号化部１１５から出力されたデータストリームを記録媒体１１９に記録する。
【００２２】
また、量子化部１０９により量子化された変換係数は、逆量子化部１１０にも入力される。逆量子化部１１０は、入力された変換係数を逆量子化し、逆整数変換部１１１は、逆量子化された信号に対して逆整数変換処理を施す。
【００２３】
加算器１１２には、逆整数変換されたデータと、イントラ予測部１０５で生成されたイントラ予測画像データとが入力されて加算される。加算後のデータは復号された再構成画像データとなり、イントラ予測部１０５に入力されてイントラ予測画像データの生成に用いられる。また、再構成画像データは、ループ内フィルタ１１３によって符号化歪の軽減処理が施され、後述するインター予測符号化の際に用いる参照画像データとして参照画像メモリ１１４に記憶される。
【００２４】
一方、インター予測符号化を行う場合、符号化単位となる符号化対象画像のブロック画像がフレームメモリ１０２から読み出されて、動きベクトル決定部１０３へ入力される。また、動きベクトル決定部１０３は、参照画像データを参照画像メモリ１１４から読み出し、符号化対象画像のブロック画像と参照画像とから動きベクトルを決定して、フレーム間動き補償部１０４に通知する。
【００２５】
フレーム間動き補償部１０４は、動きベクトル決定部１０３で決定された動きベクトルと、フレームメモリ１０２から得られた参照画像とを用いてインター予測画像データを生成し、動きベクトルと共に選択部１０６に提供する。選択部１０６は、インター予測符号化を行う場合には、インター予測画像データを選択して減算器１０７に提供する。
【００２６】
なお、フレームによっては、符号化対象ブロックごとにインター予測かイントラ予測かを選択することができる。イントラ予測を行う場合は前述のように動作し、イントラ予測の結果を選択部１０６へ通知する。インター予測を行う場合、選択部１０６はフレーム間動き補償部１０４からのインター予測画像データを選択して減算器１０７に出力する。選択部１０６は、動きベクトル決定部１０３におけるインター予測結果とイントラ予測部１０５におけるイントラ予測結果とに基づき、例えば、差分値が小さい方の予測方法を選択することができる。
【００２７】
減算器１０７では、符号化対象画像のブロック画像と予測画像との差分を計算し、差分画像データが生成される。差分画像データは整数変換部１０８に出力され、その後の処理は前述したイントラ予測符号化の場合と同様である。
【００２８】
次に、動きベクトルを算出する動きベクトル決定部１０３の動作について詳細に説明する。図２は、本実施形態における動きベクトル決定部１０３の詳細な構成例を示すブロック図である。
【００２９】
図２において、符号化画像取得部２０１は、符号化対象画像のブロック画像をフレームメモリ１０２から取得する。また、動きベクトル設定部２０６は、複数の動きベクトル候補の中から、１つの動きベクトルを候補ベクトルとして順次選択し、参照画像取得部２０２へ設定する。
【００３０】
参照画像取得部２０２は、動きベクトル設定部２０６により設定された動きベクトルに対応する参照画像のブロック画像をフレームメモリ１０２の参照画像メモリ１１４から取得する。取得した符号化対象画像のブロック画像び参照画像のブロック画像は、画素差分算出部２０８へ入力される。
【００３１】
画素差分算出部２０８は、符号化対象画像のブロック画像と参照画像のブロック画像との画素値の差分絶対値和を算出し、画素差分を算出する。なお、本実施形態では画素差分算出部２０８は差分絶対値和を算出しているが、例えば、画素値の差分値をアダマール変換した係数値の絶対値和を算出するなど、画素値の差分に基づいて算出される値を算出してもよい。複数の候補ベクトルに対する画素差分は順次算出されて、繰り返し判定部２０５へ送信されるとともに、画素差分記憶部２１０に記憶される。
【００３２】
繰り返し判定部２０５は、順位記憶部２０５Ａと候補ベクトル記憶部２０５Ｂとを含む。順位記憶部２０５Ａは、画素差分算出部２０８で算出された画素差分のうち、小さい値から順に所定数分（例えば、５つ）を記憶する。候補ベクトル記憶部２０５Ｂは、順位記憶部２０５Ａに記憶された画素差分に対応する所定数の候補ベクトルを記憶する。
【００３３】
次に、繰り返し判定部２０５の動作について詳細に説明する。図３は繰り返し判定部２０５の動作を説明するフローチャートである。繰り返し判定部２０５は、符号化対象のブロック画像について処理が開始されると、Ｓ３０１にて画素差分の順位記憶部２０５Ａを最大値で初期化する。続くＳ３０２では、繰り返し判定部２０５に入力される画素差分と順位記憶部２０５Ａに記憶されている画素差分の最大値とを順次比較する。入力された画素差分の方が小さい場合（Ｓ３０２で「ＹＥＳ」）、Ｓ３０３に移行する。それ以外の場合（Ｓ３０２で「ＮＯ」）、Ｓ３０４に移行する。Ｓ３０３では、順位記憶部２０５Ａに記憶されている画素差分値と、候補ベクトル記憶部２０５Ｂに記憶されている対応する動きベクトルを、それぞれ更新する。
【００３４】
続くＳ３０４では、複数の候補ベクトルの全てについて画素差分が算出されたか否かを判定する。当該判定は、例えば画素差分の入力数と候補ベクトルの合計数とが一致したか否かにより行うことができる。もし、全ての画素差分が算出されていなければ（Ｓ３０４で「ＮＯ」）、Ｓ３０２に戻って処理を継続する。一方、全ての画素差分が算出された場合（Ｓ３０４で「ＹＥＳ」）、Ｓ３０５に移行する。このとき順位記憶部２０５Ａに記憶されている画素差分は、全ての候補ベクトルに対する画素差分のうち小さい順に所定数（上記の例では５つ）となる。
【００３５】
ここで図４を参照して、候補ベクトルと画素差分との関係について説明する。図４は、候補ベクトルとそれに対応する画素差分の関係をグラフトして示したものである。横軸は、候補ベクトルの大きさを水平変位量として表し、縦軸は、各候補ベクトルについて算出された画素差分を示している。なお、実際の候補ベクトルは二次元的に選択されるが、図４では説明しやすいように、水平方向の変位のみを示している。図４（ａ）は符号化対象画像のブロック画像に繰り返しパターンが含まれる場合の画素差分と候補ベクトルとの関係の一例を示している。一方、図４（ｂ）は符号化対象画像のブロック画像に繰り返しパターンが含まれない場合の画素差分と候補ベクトルとの関係の一例を示している。図４（ａ）及び（ｂ）で、白丸で囲まれた画素差分が、全候補ベクトルに対する画素差分のうち小さい順に５つ分に相当する画素差分である。
【００３６】
図３の説明に戻ると、Ｓ３０５では、順位記憶部２０５Ａに記憶されている所定数の画素差分のうち、最小となる画素差分を検出し、それに対応する候補ベクトルを基準ベクトルに決定する。続くＳ３０６では、候補ベクトル記憶部２０５Ｂに記憶されている基準ベクトル以外の他の各候補ベクトルと、基準ベクトルとの距離総和を算出する。ここで基準ベクトルと他の候補ベクトルとの各距離は、ベクトルの水平成分の差、および、垂直成分の差を加算した値として算出できる。距離総和は、各候補ベクトルについて算出した距離の合算結果である。
【００３７】
続くＳ３０７では、距離総和と閾値とを比較し、閾値より大きい場合（Ｓ３０７で「ＹＥＳ」）、Ｓ３０８に移行して"繰り返し"と判定する。一方、閾値以下の場合（Ｓ３０７で「ＮＯ」）、Ｓ３０９に移行して"繰り返しではない"と判定する。
【００３８】
図４を参照して説明すると、図４（ａ）の場合、白丸４０１で示される画素差分が最小値となり、対応する候補ベクトルが基準ベクトルとなる。それ以外の候補ベクトルと、基準ベクトルとの距離は、Ｌ１、Ｌ２、Ｌ３、Ｌ４で表されている。よって、距離総和Ｌtotal＝Ｌ１＋Ｌ２＋Ｌ３＋Ｌ４で表される。
【００３９】
一方の図４（ｂ）の場合、白丸４０２で示される画素差分が最小値となり、対応する候補ベクトルが基準ベクトルとなる。それ以外の候補ベクトルと、基準ベクトルとの距離は、Ｌ１’、Ｌ２’、Ｌ３’、Ｌ４’で表されている。よって、距離総和Ｌtotal’＝Ｌ１’＋Ｌ２’＋Ｌ３’＋Ｌ４’で表される。このときＬtotal＞Ｌtotal’となり、図４（ａ）の繰り返しパターンを含む場合は、図４（ｂ）の繰り返しパターンを含まない場合にくらべて距離の総和が大きくなることがわかる。このように、基準ベクトルと他の候補ベクトルとの距離を用いることで、繰り返しパターンを検出することが可能となる。
【００４０】
図３のフローチャートに従った繰り返し判定の処理を終えると、繰り返し判定部２０５は、重み係数算出部２１１に対して、“繰り返し”又は、“繰り返しではない”ことを示す信号（フラグ値）を出力する。重み係数算出部２１１は、“繰り返しではない”を表すフラグ値が入力された場合、所定の第１の重み係数（Ｗ１）をコスト算出・比較部２０７に出力する。一方、“繰り返し”を表すフラグ値が入力された場合、所定の第２の重み係数（Ｗ２）を出力する。ここで、Ｗ１＜Ｗ２の関係が成立する。なお、Ｗ２は、ベクトル符号量の重み付けを大きくする一方で、画素差分のコストに対する影響を完全に排除しないような値に設定することが望ましく、シミュレーション等により最適な値を求めることができる。
【００４１】
繰り返し判定部２０５は、繰り返し判定の処理の完了を動きベクトル設定部２０６にも通知し、動きベクトル設定部２０６は当該通知に従って、再度同じ候補ベクトルの設定を順次行い、ベクトル符号量算出部２０９へ候補ベクトルを出力する。ベクトル符号量算出部２０９は、入力された候補ベクトルに対するベクトル符号量を公知の符号量算出方法に従って算出する。なお、候補ベクトルのベクトル符号量は、各候補ベクトルに対応する画素差分が画素差分算出部２０８により算出されるのと同様のタイミングで算出されてもよい。
【００４２】
最後に、コスト算出・比較部２０７において、各候補ベクトルについてのコストが算出・比較され、動きベクトル決定処理が行われる。そのために、まず画素差分記憶部２１０からは各候補ベクトルに対応する画素差分がコスト算出・比較部２０７に読み出される。また、ベクトル符号量算出部２０９からは、各候補ベクトルのベクトル符号量が、候補ベクトルと共にコスト算出・比較部２０７に読み出される。コスト算出・比較部２０７は、重み係数算出部２１１から取得した重み係数をベクトル符号量に乗算し、乗算値に対応する画素差分を加算して、各候補ベクトルのコストを算出する。
【００４３】
コスト算出・比較部２０７は順次算出されるコスト値が、それまでに算出されたコスト値の最小値より小さいかどうかを判定し、小さい場合には最小値を更新するとともに、対応する候補ベクトルのベクトル情報もあわせて記憶する。全候補ベクトルについてコストの算出および比較が終わった時点で記憶されている候補ベクトルを、符号化対象ブロックに対する動きベクトルとして決定する。
【００４４】
以上のように、本実施形態では、候補ベクトルのコストを算出する際に、各候補ベクトルのベクトル符号量に乗算される重み係数を、符号化対象画像が繰り返しパターンを含む場合と、含まない場合とで異ならせることを特徴とする。具体的には、繰り返しパターンを含む場合には、ベクトル符号量の重みを大きくする。これにより、ベクトル符号量が小さい候補ベクトルがより選択されやすくなる。このようにして、繰り返しパターンが含まれる場合は、繰り返しパターンを含まない場合に比べて、ベクトル符号量が小さい候補ベクトルが、動きベクトルとしてより選択されやすくなる。以上により、符号化対象ブロックが繰り返し画像の一部であっても、符号化効率を犠牲にせず、適切な動きベクトルを探索することが可能となる。
【００４５】
（実施形態２）
以下、本発明の実施形態２に係る動画像符号化装置について説明する。図５は、本実施形態に係る動きベクトル決定部５００３の詳細な構成例を示すブロック図である。動画像符号化装置の構成は実施形態１と同様であり、図１中の動きベクトル決定部１０３を、図５に示す動きベクトル決定部５００３に置き換えることによって、実施形態２に係る画像符号化装置は構成される。
【００４６】
図５において、符号化画像取得部２０１は、符号化対象画像のブロック画像をフレームメモリ１０２から取得する。また、動きベクトル設定部２０６は、複数の候補ベクトルの中から、１つの候補ベクトルを順次選択し、参照画像取得部２０２へ設定する。
【００４７】
参照画像取得部２０２は、動きベクトル設定部２０６により設定された候補ベクトルに対応する参照画像データをフレームメモリ１０２の参照画像メモリ１１４から取得する。そして、取得した符号化対象ブロックの画像データ及び参照画像データは、画素差分算出部２０８へ入力される。
【００４８】
画素差分算出部２０８は、符号化対象ブロックの画像と参照画像との画素値の差分絶対値和を算出し、画素差分を算出する。なお、本実施形態では画素差分算出部２０８は差分絶対値和を算出しているが、例えば、画素値の差分値をアダマール変換した係数値の絶対値和を算出するなど、画素値の差分に基づいて算出される値を算出してもよい。また、動きベクトル設定部２０６が出力する候補ベクトルは、ベクトル符号量算出部２０９へ入力され、候補ベクトルに対するベクトル符号量が算出される。
【００４９】
画素差分とベクトル符号量は、第１コスト算出・比較部２０７−１、第２コスト算出・比較部２０７−２にそれぞれ入力される。第１、第２の２つのコスト算出・比較部２０７には、それぞれ異なる重み係数Ｗ１、Ｗ２（Ｗ１＜Ｗ２）が設定されている。なお、Ｗ２の設定方法については、実施形態１と同様である。各コスト算出・比較部は、ベクトル符号量に設定されている各重み係数を乗算し、画素差分を加算して、候補ベクトルに対応するコストを算出する。また、順次算出されるコストが、これまでに算出されたコストの最小値より小さいかどうかを判定し、小さい場合には最小値を更新するとともに、対応する動きベクトル情報もあわせて記憶する。そして、すべての候補ベクトルについてコストの算出が終わった時点で記憶されている候補ベクトルを、符号化対象ブロックに対する動きベクトルに決定する。すなわち、コスト算出・比較部２０７から２つの動きベクトルが出力されることになる。２つの動きベクトルは動きベクトル選択部３０１に入力される。
【００５０】
一方、各候補ベクトルについて算出された画素差分は、画素差分算出部２０８から繰り返し判定部２０５へも出力される。動きベクトル設定部２０６で設定された各候補ベクトルも繰り返し判定部２０５へ出力される。繰り返し判定部２０５は、実施形態１と同様に繰り返し判定を行い、符号化対象画像に繰り返しパターンが含まれるか否かを示すフラグ信号を動きベクトル選択部３０１に出力する。動きベクトル選択部３０１はスイッチとして構成可能で、繰り返し判定部２０５における判定結果に応じ、"繰り返し"と判定された場合には、第２コスト算出・比較部２０７−２が算出した動きベクトルを選択する。一方、"繰り返しではない"と判定された場合には、第１コスト算出・比較部２０７−１が算出した動きベクトルを選択する。このようにして選択された動きベクトルを、符号化対象ブロックに対する動きベクトルとして決定する。
【００５１】
本実施形態においても、符号化対象ブロックが繰り返し画像の一部であっても、符号化効率を犠牲にせず、適切な動きベクトルを探索することができる。
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005441803.tif 000002
【図２】
0005441803.tif 000003
【図３】
0005441803.tif 000004
【図４】
0005441803.tif 000005
【図５】
0005441803.tif 000006