(57)【要約】【課題】広い探索範囲を維持しつつ、演算コストを抑え、かつ最適な予測値を導出することができる画像符号化装置、画像符号化方法及びそのプログラムを提供する。【解決手段】参照画像２００と符号化対象マクロブロック画像２０１はそれぞれ解像度変換および二値化される。解像度変換された画像同士でブロックマッチングを行い探索範囲限定部２０６で探索範囲を絞り込む。絞り込んだ範囲はそのまま参照画像の二値化画像に適用され、二値画像探索範囲限定部２０８にてさらに絞り込まれる。最終的に解像度変換画像と二値化画像により絞り込まれた範囲は、参照画像２００に適用され、符号化対象マクロブロック画像２０１とのブロックマッチングを行い、動きベクトルを検出する。【選択図】  図１
2008258769.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象画像と時間的に異なるフレームの画像を参照画像として用いて、前記符号化対象画像に含まれる各マクロブロック画像の動きベクトルを算出し、該動きベクトルに基づいてフレーム間符号化処理を行う動画像符号化装置であって、
前記参照画像を二値化して参照二値化画像を生成する参照画像二値化手段と、
前記参照画像を低解像度に変換して参照解像度変換画像を生成する参照解像度変換手段と、
前記マクロブロック画像を二値化してマクロブロック二値化画像を生成するマクロブロック画像二値化手段と、
前記マクロブロック画像を低解像度に変換してマクロブロック解像度変換画像を生成するマクロブロック解像度変換手段と、
前記参照解像度変換画像と前記マクロブロック解像度変換画像とのブロックマッチングに基づき、前記参照二値化画像から切り出す第１の範囲を決定する第１の範囲決定手段と、
前記参照二値化画像から、前記第１の範囲の画像を参照二値化ブロック画像として切り出す第１の切り出し手段と、
前記参照二値化ブロック画像と、前記マクロブロック二値化画像とのブロックマッチングに基づき、前記マクロブロック画像についての前記動きベクトルを算出する動きベクトル算出手段と
を備えることを特徴とする動画像符号化装置。
【請求項２】
前記動きベクトル算出手段は、
前記参照二値化ブロック画像と、前記マクロブロック二値化画像とのブロックマッチングに基づき、前記参照画像から切り出す、前記第１の範囲に含まれ、かつ、該第１の範囲より狭い第２の範囲を決定する第２の範囲決定手段と、
前記参照画像から、前記第２の範囲の画像を参照ブロック画像として切り出す第２の切り出し手段とを備え、
前記参照ブロック画像と、前記マクロブロック画像とのブロックマッチングに基づき、前記ブロック画像についての前記動きベクトルを算出することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記参照解像度変換手段は、
第１の解像度変換率に基づき、前記参照画像を、該参照画像の解像度より低い第１の解像度の第１の参照解像度変換画像に変換する第１の参照解像度変換手段と、
前記第１の解像度変換率よりも小さい第２の解像度変換率に基づき、前記参照画像を、前記第１の解像度よりも低い第２の解像度の第２の参照解像度変換画像に変換する第２の参照解像度変換手段とを備え、
前記マクロブロック解像度変換手段は、
前記第１の解像度変換率に基づき、前記マクロブロック画像を、前記第１の解像度の第１のマクロブロック解像度変換画像に変換する第１のマクロブロック解像度変換手段と、
前記第２の解像度変換率に基づき、前記マクロブロック画像を、前記第２の解像度の第２のマクロブロック解像度変換画像に変換する第２のマクロブロック解像度変換手段とを備え、
前記動画像符号化装置は、
前記第２の参照解像度変換画像と前記第２のマクロブロック解像度変換画像とのブロックマッチングに基づき、前記第１の参照解像度変換手段が前記第１の解像度で解像度変換を行う前記参照画像の第３の範囲を決定する第３の範囲決定手段を更に備え、
前記第３の範囲は、前記参照画像の解像度で換算した場合に前記第１の範囲よりも広い範囲に相当し、
前記第１の範囲決定手段は、
前記第１の参照解像度変換手段が前記参照画像の第３の範囲を解像度変換して生成した第１の解像度の参照ブロック画像と、前記第１のマクロブロック解像度変換画像とのブロックマッチングに基づき、前記第１の範囲を決定することを特徴とする請求項１または２に記載の動画像符号化装置。
【請求項４】
前記参照解像度変換手段は、
第１の解像度変換率に基づき、前記参照画像を、該参照画像の解像度より低い第１の解像度の第１の参照解像度変換画像に変換する第１の参照解像度変換手段と、
前記第１の解像度変換率に基づき、前記第１の参照解像度変換画像を、前記第１の解像度よりも低い第２の解像度の第２の参照解像度変換画像に変換する第２の参照解像度変換手段とを備え、
前記マクロブロック解像度変換手段は、
前記第１の解像度変換率に基づき、前記マクロブロック画像を、前記第１の解像度の第１のマクロブロック解像度変換画像に変換する第１のマクロブロック解像度変換手段と、
前記第１の解像度変換率に基づき、前記第１のマクロブロック解像度変換画像を、前記第２の解像度の第２のマクロブロック解像度変換画像に変換する第２のマクロブロック解像度変換手段とを備え、
前記動画像符号化装置は、
前記第２の参照解像度変換画像と前記第２のマクロブロック解像度変換画像とのブロックマッチングに基づき、前記第１の参照解像度変換画像から切り出す第３の範囲を決定する第３の範囲決定手段を更に備え、
前記第３の範囲は、前記参照画像の解像度で換算した場合に前記第１の範囲よりも広い範囲に相当し、
前記第１の範囲決定手段は、
前記第１の参照解像度変換手段において前記第１の参照解像度変換画像の第３の範囲から切り出された第１の解像度の参照ブロック画像と、前記第１のマクロブロック解像度変換画像とのブロックマッチングに基づき、前記第１の範囲を決定することを特徴とする請求項１または２に記載の動画像符号化装置。
【請求項５】
前記第１から第３の範囲の少なくともいずれかは、前記ブロックマッチングにおいて、マッチング対象間の相関が最も強いと判定された領域の中心を含む、予め定められた範囲として決定されることを特徴とする請求項３または４に記載の動画像符号化装置。
【請求項６】
前記第１から第３の範囲の少なくともいずれかは、前記ブロックマッチングにおいて、マッチング対象間の相関が予め定められた閾値以上に強いと判定された領域を含むように決定されることを特徴とする請求項３または４に記載の動画像符号化装置。
【請求項７】
符号化対象画像と時間的に異なるフレームの画像を参照画像として用いて、前記符号化対象画像に含まれる各マクロブロック画像の動きベクトルを算出し、該動きベクトルに基づいてフレーム間符号化処理を行う動画像符号化装置の制御方法であって、
前記参照画像を二値化して参照二値化画像を生成する参照画像二値化工程と、
前記参照画像を低解像度に変換して参照解像度変換画像を生成する参照画像解像度変換工程と、
前記マクロブロック画像を二値化してマクロブロック二値化画像を生成するマクロブロック画像二値化工程と、
前記マクロブロック画像を低解像度に変換してマクロブロック解像度変換画像を生成するマクロブロック画像解像度変換工程と、
前記参照解像度変換画像と前記マクロブロック解像度変換画像とのブロックマッチングに基づき、前記参照二値化画像から切り出す第１の範囲を決定する第１の範囲決定工程と、
前記参照二値化画像から、前記第１の範囲の画像を参照二値化ブロック画像として切り出す第１の切り出し工程と、
前記参照二値化ブロック画像と、前記マクロブロック二値化画像とのブロックマッチングに基づき、前記マクロブロック画像についての前記動きベクトルを算出する動きベクトル算出工程と
を備えることを特徴とする動画像符号化装置の制御方法。
【請求項８】
コンピュータを、請求項１乃至６のいずれか１項に記載の動画像符号化装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置及びその制御方法、並びに、コンピュータプログラムに関する。
【背景技術】
【０００２】
現在、フレーム間の相関性を利用してマクロブロック単位で動画像を圧縮符号化する方式としてＭＰＥＧ２、ＭＰＥＧ４あるいはＨ.２６４が主流となっている。これらの方式では、時間的に前もしくは後の参照画像と符号化対象マクロブロックとの画素の差分値を符号化することでデータ量を削減することが可能である。その際、常に符号化対象マクロブロックとフレーム内での相対的位置が同じ場所の画素同士の差分を取るのではなく、ブロックマッチングを行って差分値が最小となる位置を探索する。
【０００３】
符号化対象マクロブロックと参照画像のどの位置との差分を取ったかという情報は動きベクトルという形で差分値と別に符号化される。このような符号化方法をフレーム間予測という。つまり、符号化対象マクロブロック内の物体が画面上の位置においてどのように移動しているかを予測して符号化する方法である。
【０００４】
動きの速い被写体を符号化する場合、ブロックマッチングを行う範囲により符号化効率が変化する。符号化対象のマクロブロック内の被写体が、参照画像におけるブロックマッチングの探索範囲を越える位置に存在すると、最適なフレーム間予測が困難となる。このような場合、実際とは異なる被写体との差分値（比較的差分値が小さくなる部分）とのフレーム間予測を行うか、もしくはフレーム間予測自体を行わない。これに対して、ブロックマッチングを行う範囲が広げれば、参照画素との差分値が最小となる位置を検出する可能性が高くなるが、演算コストが増加することとなる。具体的に、探索範囲を広げることで、ブロックマッチングの計算回数、探索範囲の画素データを保持しておくメモリ等の増加が避けられない。
【０００５】
そこで、符号化を適用する製品に応じてフレーム間予測時の探索範囲を変えざるを得ない。例えば、ビデオカメラ等の製品の場合、探索範囲を大きく取れば消費電力が多くなってしまい、長時間の記録に対応できない。さらに、参照画像の転送量が膨大なものとなってしまい、メモリのバンド幅が足りなくなってしまう。
【０００６】
そのため、消費電力及びバスの転送能力を考慮して探索範囲を狭くする、もしくは広い探索範囲に対して粗くブロックマッチングを行うという方法が一般的である。しかしながら、前述した理由により、必ずしも最適な予測値を得られているとは言えない。
【０００７】
そこで、参照画像を複数の解像度へと変換して、低解像度の階層から徐々に探索範囲を絞り込んでいく方法が知られている（特許文献１を参照）。この技術によれば、探索範囲を狭くすることなく効率よくフレーム間予測が可能である、としている。
【０００８】
具体的に、当該方法では、低解像度の階層から極小値となる点の動きベクトルを複数検出し、次の階層の動きベクトル探索初期値として利用している。例えば、最初に１／６４の解像度に落とした画像を用意して探索を行い、探索初期値を求め、そこから更に１／３２の解像度に落とした画像に対して同じように探索初期値を求め、というように徐々に解像度を変化させる。このように、解像度を落とすことで画像メモリと演算回数が削減可能である。
【特許文献１】特開平７−１５４８０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記のような解像度を落とした画像を用いて探索範囲を絞っていく方法では、ある程度広い範囲から絞り込む際には有効であるが、範囲が狭くなるに従って予測精度が悪くなることが分かっている。そのため、ある程度まで範囲を絞り込んだ後は解像度を落としていない、通常の予測方法へと切り換える必要がある。さらに、絞り込みすぎると、最適な予測値が得られない可能性も出てくる。
【００１０】
本発明は、このような事情を考慮してなされたもので、広い探索範囲を維持しつつ、演算コストを抑え、かつ最適な予測値を導出することができる画像符号化装置、画像符号化方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明は、上述した課題を解決すべくなされたもので、符号化対象画像と時間的に異なるフレームの画像を参照画像として用いて、前記符号化対象画像に含まれる各マクロブロック画像の動きベクトルを算出し、該動きベクトルに基づいてフレーム間符号化処理を行う動画像符号化装置であって、
前記参照画像を二値化して参照二値化画像を生成する参照画像二値化手段と、
前記参照画像を低解像度に変換して参照解像度変換画像を生成する参照解像度変換手段と、
前記マクロブロック画像を二値化してマクロブロック二値化画像を生成するマクロブロック画像二値化手段と、
前記マクロブロック画像を低解像度に変換してマクロブロック解像度変換画像を生成するマクロブロック解像度変換手段と、
前記参照解像度変換画像と前記マクロブロック解像度変換画像とのブロックマッチングに基づき、前記参照二値化画像から切り出す第１の範囲を決定する第１の範囲決定手段と、
前記参照二値化画像から、前記第１の範囲の画像を参照二値化ブロック画像として切り出す第１の切り出し手段と、
前記参照二値化ブロック画像と、前記マクロブロック二値化画像とのブロックマッチングに基づき、前記マクロブロック画像についての前記動きベクトルを算出する動きベクトル算出手段と
を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、フレーム間予測演算において解像度変換画像と二値化画像の二種類の画像を用いた予測を行うことにより、メモリ容量を削減しつつ効率的な動画像符号化ができる。
【発明を実施するための最良の形態】
【００１３】
以下において、添付の図面を参照して、本発明の好適な実施の形態について説明する。
【００１４】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る画像処理装置としての動画像符号化装置の構成例を示すブロック図である。当該動画像符号化装置１００では、ＭＰＥＧ２、Ｈ２６４等の方式により、動画像符号化を行う。
【００１５】
図１において、動画像符号化装置１００は、以下の構成要素を備える。まず、レンズやCCD等のカメラ部を含む撮像部１０１、動きベクトル検出部１０２、動き補償部１０８、減算器１０３、DCT（直行変換）部１０４、量子化部１０５。また、可変長符号化部１０６、記録部１０７、記録媒体１０９、符号量制御部１１０、逆量子化部１１１。更には、IDCT（逆直行変換）部１１２、加算器１１３、表示部１１７、フレームメモリ１１８を備える構成としている。
【００１６】
更に、符号量制御部１１０をはじめとする各構成部の動作は、システムコントローラ１２０によって制御されるように構成されている。このシステムコントローラ１２０は、装置１００全体の動作制御を司るものであり、操作部１２１を利用したユーザからの指示に応じて装置１００全体の動作制御を行うこともできる。
【００１７】
本発明における撮像手段としての撮像部１０１にて被写体を撮像して得られた一連の画像信号は、第１フレーム、第２フレーム、第３フレーム、・・・の順で、順次フレームメモリ１１８に格納されていく。フレームメモリ１１８からは、例えば、第３フレーム、第１フレーム、第２フレーム、・・・といった符号化を行う順序で画像データが出力される。本実施形態における符号化方式には、フレーム内の画像データのみで符号化する"イントラ符号化"と、フレーム間予測も含めて符号化する"インター符号化"とが含まれる。
【００１８】
まず、イントラ符号化を行うピクチャは、Ｉピクチャという。符号化順がフレームの入力順と異なるのは、時間的に未来のフレームを使った予測（後方向予測）を可能にするためである。次に、インター符号化（フレーム間符号化処理）を行う符号化対象画像（ピクチャ）には、２つのピクチャがある。１つ目は、動き補償の単位（マクロブロック）に対して１枚の参照フレームとの前方向予測を行うＰピクチャである。２つ目は、マクロブロックに対して２枚までの参照フレームとの双方向予測を行うＢピクチャである。このように、本実施形態では、Ｉピクチャ、Ｐピクチャ及びＢピクチャという、第１、第２及び第３の種別の画像データにより動画像符号化を行う発明を記載する。
【００１９】
イントラ符号化がなされる場合、符号化単位となるブロックに分割された画像データはフレームメモリ１１８から読み出されて、直行変換部（ＤＣＴ）１０４で直行変換が施される。この直交変換としては、本実施形態ではＤＣＴ変換を行う。直行変換部１０４からの出力である変換係数は量子化部（Ｑ）１０５において量子化処理される。量子化部１０５からの出力である量子化された変換係数は、可変長符号化部１０６において可変長符号化がなされた後、記録部１０７によって記録媒体への記録信号が生成されて、記録媒体１０９へ記録される。
【００２０】
量子化部１０５における量子化係数は、可変長符号化部（ＶＬＣ）１０６が発生した符号量のフィードバックなどから符号量制御部１１０が算出する。また、量子化部１０５の出力である量子化された変換係数は、逆量子化部（ＩＱ）１１１において逆量子化される。逆直行変換部（ＩＤＣＴ）１１２において逆直行変換処理が施されて、復号された画像信号となり、その画像信号はフレームメモリ１１８に記憶される。
【００２１】
一方、インター符号化がなされる場合、符号化単位となるマクロブロックに分割された画像データはフレームメモリ１１８から読み出されて、動きベクトル検出部１０２へ入力される。同時に、動きベクトル検出部１０２は、時間的に異なるフレーム画像である参照画像をフレームメモリ１１８から読み出し、符号化画像と参照画像とを用いて動きベクトルを検出する。
【００２２】
動き補償部１０８は、動きベクトルにしたがって動き補償を行い予測画像を生成する。符号化画像と予測画像との差分は減算器１０３によって計算され、差分画像が生成される。差分画像は直行変換部１０４に出力され、直交変換される。この直交変換部１０４以降に行われる処理は上述のイントラ符号化の場合と同様であるので、省略する。
【００２３】
次に、動きベクトル検出部１０２の動作について詳細に説明する。図２は、動きベクトル検出部１０２の具体的な構成の一例を示した図である。
【００２４】
以下、図２の構成要素を説明する。２００は、フレームメモリ１１８から読み出された参照画像である。２０１は、符号化対象の画像から、所定のサイズ（例えば、１６×１６画素）で切り出されたマクロブロック（以下、ＭＢ）画像である。２０２は、参照画像を任意の閾値で二値化して参照二値化画像を生成する参照画像二値化部、２０３は、参照画像の解像度を落とした画像を生成する参照画像解像度変換部である。２０４は、符号化対象MB画像の解像度を落としたMB画像（マクロブロック解像度変換画像）を生成するMB解像度変換部（マクロブロック画像解像度変換部）である。２０５は、符号化対象MB画像を上記任意の閾値で二値化してＭＢ二値化画像（マクロブロック二値化画像）を生成するＭＢ画像二値化部（マクロブロック画像二値化部）である。
【００２５】
２０６は、探索範囲限定部（第１の範囲決定部）であり、参照画像解像度変換部２０３から得られる参照画像と、ＭＢ画像解像度変換部２０４から得られる符号化対象ＭＢとのブロックマッチングを行って探索範囲を絞り込みを行う。探索範囲限定部２０６はその上で、参照二値化画像から切り出す範囲（第１の範囲）を決定する。
【００２６】
２０７は、探索範囲限定部２０６での探索範囲の絞り込みにより決定された範囲に基づいて、参照画像二値化部２０２で生成された参照二値化画像から参照二値化ブロック画像を切り出す二値画像切り出し部（第１の切り出し部）である。
【００２７】
２０８は、二値画像探索範囲限定部（第２の範囲決定部）であり、まず、参照二値化ブロック画像と、ＭＢ画像二値化部２０５からの符号化対象ＭＢのＭＢ二値化画像とのブロックマッチングを行って探索範囲を絞り込む。二値画像探索範囲限定部２０８はその上で、参照画像２００から切り出す範囲（第２の範囲）を決定する。
【００２８】
２０９は、二値画像探索範囲限定部２０８での探索範囲の絞り込みにより決定された範囲に基づき、参照画像２００から参照ブロック画像を切り出す参照画像切り出し部（第２の切り出し部）である。２１０は、符号化対象MB画像２０１と、参照ブロック画像とのブロックマッチングを行って動きベクトル算出を行う予測生成部である。２１１は、予測生成部２１０で生成され、出力された、動きベクトルとしての予測値を示す。
【００２９】
以上の構成に基づく、第１の実施形態における動きベクトル検出部１０２の動作について、図３を併せて参照して説明する。図３は、本実施形態におけるマクロブロックのサイズ及び探索範囲のサイズの一例を記載する図である。
【００３０】
参照画像２００は、参照画像二値化部２０２において解像度はそのままで二値化される。８bitの２５６階調を持つ画像の場合を考えると、閾値値を例えば「１２５」とした場合、画素値が０から１２４までの画素については画素値が「０」となり、画素値が１２５から２５５までの画素については、画素値が「２５５」となる。この二値化によれば、データ量は１／８となる。この二値化方法はあくまで一例であって、これ以外の任意の閾値を用いて二値化したりフィルタを用いたりする方法が考えられるが、二値化方法自体が限定されるものではない。
【００３１】
このとき同時に参照画像２００は、参照画像解像度変換部２０３において任意の解像度へと変換される。解像度変換は階調はそのままで解像度のみを下げる（画素数を少なくする）方向で行い、これにより画像情報も削減される。解像度変換の手法は、例えば、単純に画素を間引いてもよい。この解像度変換の方法自体も特に限定されるものではない。例えば、１／６４（水平１／８、垂直１／８）の解像度へと変換した場合、情報量も１／６４に縮小することができる。このようにして解像度変換により生成された画像を本実施形態では「階層画像」と呼ぶ。但し、本実施形態では解像度変換を１段階しか行わないので、階層としては１階層である。
【００３２】
同様にして、符号化対象ＭＢ画像２０１も、ＭＢ画像二値化部２０５において上記と同様の手法により二値化されると共に、ＭＢ画像解像度変換部２０４で、上記と同様の解像度変換率により解像度変換される。本実施形態では、解像度変換率を一例として１／６４として、これ以降の説明を行う。１／６４の解像度変換により、１６×１６画素のマクロブロックは、２×２画素のサイズに縮小される。この時のマクロブロックのサイズは図３の３０１に示す通りである。
【００３３】
次に、探索範囲限定部２０６では、参照画像解像度変換部２０３で生成された参照解像度変換画像と、ＭＢ画像解像度変換部２０４で生成されたＭＢ解像度変換画像との間でブロックマッチングを行い、探索範囲を絞り込む。参照解像度変換画像においてブロックマッチングを行う範囲は、例えば、図３では８×８画素の領域３０２とすることができる。この際、解像度変換率が１／６４であるので、領域３０２は、参照画像の本来の解像度で換算して６４×６４画素の領域に相当する。領域３０２は、符号化対象画像におけるマクロブロック位置に対応する、参照画像における位置に基づいて設定される。なお、ブロックマッチングを行う領域３０２のサイズはあくまで一例であって、上記に限定されるものではない。
【００３４】
探索範囲限定部２０６における探索範囲の絞り込みは、例えば、以下のように行うことができる。即ち、解像度変換画像のうち、ＭＢ解像度変換画像と最も相関が強くなる領域を探索し、該領域の位置に基づいて所定サイズの探索範囲を出力する。この所定サイズの探索範囲は、例えば、相関が最も強い領域の中心に対して４×４画素の範囲とすることができるが、これはあくまで一例であって、これ以外のサイズの範囲に絞り込んでもよい。なお、相関の強さは、例えば解像度変換画像とＭＢ解像度変換画像との各画素ごとの差分絶対値を積算した値（ＭＡＥ）を用いて判定可能であり、検出範囲内でＭＡＥが最小となる領域の中心位置を決定する。
【００３５】
探索範囲限定部２０６で絞り込まれた範囲は、二値画像切り出し部２０７に与えられる。このとき探索範囲限定部２０６から与えられる情報として、例えば、二値化された参照画像から切り出すサイズと、切り出し領域の中心位置が与えられる。ここで、切り出しサイズは、解像度変換率１／６４に基づき４×４画素が３２×３２画素となる。なお、切り出しサイズが固定的な場合には、中心位置の情報のみが与えられてもよい。
【００３６】
二値画像切り出し部２０７では、二値化された参照画像から該範囲に対応する領域の参照二値化ブロック画像を切り出す。参照二値化ブロック画像は、例えば図３の３０４に示すようになり、３２×３２画素のサイズを有する。画像３０２の解像度は、符号化対象画像の本来の解像度であるが、画素値は２値で表現されている。
【００３７】
つぎに、二値画像探索範囲限定部２０８では、二値画像切り出し部２０７で生成された参照二値化ブロック画像と、ＭＢ画像二値化部２０５で生成されたＭＢ二値化画像との間でブロックマッチングを行い、二値化画像での探索範囲を絞り込む。図３の３０３はＭＢ二値化画像を示している。
【００３８】
この探索範囲の絞り込みは、例えば以下のように行うことができる。即ち、参照二値化ブロック画像のうち、ＭＢ二値化画像と最も相関が強くなる領域を探索し、該領域の位置に基づいて、所定サイズの探索範囲を出力する。この所定サイズの探索範囲は、例えば、相関が最も強い領域の中心に対して１８×１８画素の範囲とすることができるが、これはあくまで一例であって、これ以外のサイズの範囲に絞り込んでもよい。相関の強さは、例えば参照二値化ブロック画像３０４とＭＢ二値化画像３０３との各画素ごとの差分絶対値を積算したＭＡＥを用いて判定可能であり、検出範囲内でＭＡＥが最小となる領域の中心位置を決定する。
【００３９】
二値画像探索範囲限定部２０８で絞り込まれた範囲は、参照画像切り出し部２０９に与えられる。このとき二値画像探索範囲限定部２０８から与えられる情報として、例えば、参照画像２００において切り出すサイズと、切り出し領域の中心位置が与えられる。ここで、切り出しサイズは１８×１８画素となる。なお、切り出しサイズが固定的な場合には、中心位置の情報のみが与えられてもよい。
【００４０】
参照画像切り出し部２０９では、参照画像２００から該範囲に対応する領域を、参照ブロック画像として切り出す。参照ブロック画像は、例えば図３の３０５に示すようになり、１８×１８画素のサイズを有する。参照ブロック画像３０５の解像度は、符号化対象画像の本来の解像度であり、画素値の階調も２５６階調（８bit）で表現されている。
【００４１】
予測生成部２１０は、参照ブロック画像３０６と、ＭＢ画像２０１とのブロックマッチングを行う。具体的に、参照ブロック画像３０６のうち、ＭＢ画像２０１と最も相関が強くなる領域を探索し、該領域の中心位置を決定し、該中心位置と、ＭＢ画像２０１の符号化対象画像における位置とに基づいて、動きベクトルを決定することができる。相関の強さは、例えば参照ブロック画像３０６とＭＢ画像２０１との各画素ごとの差分絶対値を積算したＭＡＥを用いて判定可能であり、検出範囲内でＭＡＥが最小となる領域の中心位置を決定する。このようにして、最終的に予測値２１１として動きベクトルが得られ、動き補償部１０８に出力される。
【００４２】
本実施形態では、探索範囲の絞り込みにより決定される範囲は、探索範囲限定部２０６と、二値画像探索範囲限定部２０８とで、処理を経る毎に、参照画像の本来の解像度に換算して狭くなっていく点に特徴がある。例えば、図３に示すように、領域３０２は、本来の解像度では６４×６４画素サイズの領域であるのに対し、探索範囲限定部２０６で絞り込まれた領域３０４は３２×３２画素サイズと、狭くなっている。また、二値画像探索範囲限定部２０８で絞り込まれた領域３０５は、１８×１８画素と更に狭くなっている。
【００４３】
なお、図２では、動きベクトル検出部１０２の一つの構成例を示したにすぎない。例えば、予測生成部２１０における処理を省略して、二値画像探索範囲限定部２０８において、参照二値化画像とＭＢ二値化画像とのブロックマッチングに基づいて動きベクトルを算出してもよい。なお、動きベクトルの算出方法は、予測生成部２１０に関連して説明した内容と同様である。
【００４４】
メモリ量が同じならば、解像度を低くした方が広い範囲を探索することが可能であるが、解像度が低いために詳細な探索は困難になる。また、二値画像（階調を落とした画像）を用いることでデータ量を削減することができるが、画素を表す情報が１ビットでは、広範囲に用いた場合に誤検出してしまう可能性が高くなる。
【００４５】
これに対して本実施形態では、解像度の低い状態で広範囲を探索エリアとする一方、ある程度範囲を絞った後に、本来の解像度において二値画像を用いてデータ量を削減しながらさらに範囲を絞る。これにより、本来の解像度及び階調を用いて探索を行う範囲を効率的に絞り込むことが可能となる。
【００４６】
以上によれば、広い探索範囲を維持しつつ、参照画像のメモリ転送量や演算コストを抑え、かつ最適な動きベクトルの検出が可能となる。
【００４７】
＜第２の実施形態＞
次に、図４及び図５を参照して、発明の第２の実施形態について説明する。上述の第１の実施形態では、解像度変換の階層は１階層のみ、即ち、解像度変換率は１通りであったが、本実施形態では、複数（ｎ個）の解像度変換率を用いた複数の階層（ｎ階層）に対応した例を説明する。
【００４８】
図４において、２００から２１１までの参照番号を付した各構成要素は、図２において同一参照番号を有する各構成要素に対応する。また、４００ａは第１階層目の参照画像解像度変換部、４００ｂは第２階層目の参照画像解像度変換部、４００ｃは第ｎ階層目の参照画像解像度変換部である。同様に、４０１ａは第１階層目のＭＢ画像解像度変換部、４０１ｂは第２階層目のＭＢ画像解像度変換部、４０１ｃは第ｎ階層目のＭＢ画像解像度変換部である。４０２ａは第１階層目の探索範囲限定部、４０２ｂは第２階層目の探索範囲限定部、４０２ｃは第３階層目の探索範囲限定部である。
【００４９】
４００ａから４００ｃ及び４０１ａから４０１ｃにおいて、階層の数字が小さい方がより高解像度である（解像度変換率が大きい）ことを示している。ただし、第１階層においてでも、符号化対象画像や参照画像が本来有する解像度より高い解像度へは変換しない。ここで第ｎ階層における「ｎ」は正の整数である。参照画像２００は、参照画像解像度変換部４０１ａ〜４０１ｃにおいて、各階層で指定された解像度変換率を用いて所定の解像度へと変換される。
【００５０】
図４では、ｎが３以上の値をとらねばならないように表現されているが、これは一例であって実際にはｎは２以上であればよい。探索範囲の絞り込みは、最初に第ｎ階層、つまり最も低解像度の階層から行われる。第ｎ階層参照画像解像度変換部４００ｃと第ｎ階層ＭＢ画像解像度変換部４０１ｃとのブロックマッチングを行い、第ｎ階層探索範囲限定部４０２ｃにより第ｎ階層目における探索範囲の絞り込みが行われる。
【００５１】
第１の実施形態では、この結果が二値画像切り出し部２０７へと送られたが、本実施形態では次の階層、つまりｎ−１階層目の参照画像解像度変換部へと伝達される。ｎ−１階層目の参照画像解像度変換部では、絞り込みにより得られた探索範囲について、参照画像の解像度変換を行い、ｎ−１階層目の探索範囲限定部に出力する。ｎ−１階層目の探索範囲限定部では、この画像と、同一解像度のＭＢ画像を用いて、探索範囲の更なる絞り込みが行われ、その結果はさらにｎ−２階層目へと伝達される。これを繰り返して、最終的に第１階層目まで順次絞り込んでいく。
【００５２】
なお、各階層の探索範囲限定部４０２における処理は、解像度の違いを除き、第１の実施形態の探索範囲限定部２０２における処理と同様である。
【００５３】
第１階層探索範囲限定部４０２ａにおいて、第１階層参照画像解像度変換部４００ａで生成された参照解像度変換画像と、第１階層ＭＢ画像解像度変換部４０１ａで生成されたＭＢ解像度変換画像とのブロックマッチングが行われる。このブロックマッチングの結果は、二値画像切り出し部２０７へと伝送される。それ以降の動作は第１の実施形態と同様である。
【００５４】
次に、図５を参照して本実施形態の階層探索の手順を説明する。図５は、ｎ＝２として、２段階の解像度階層を設定した場合の、探索範囲限定部における参照解像度変換画像と、ＭＢ解像度変換画像との関係の一例を示す図である。
【００５５】
図５では、第２階層における解像度変換率を１／６４（第２の解像度変換率）とし、第１階層における解像度変換率を１／１６（第１の解像度変換率）としている。即ち、図４においてｎ＝２とした場合に相当する。
【００５６】
図５において、５０１は、第２階層における、ＭＢ解像度変換画像（第２のマクロブロック解像度変換画像）を示し、５０２は、第２階層における参照解像度変換画像（第２の参照解像度変換画像）を示す。ＭＢ解像度変換画像（第２のマクロブロック解像度変換画像）５０１は、１６×１６画素のマクロブロック画像を１／６４に解像度変換したものであって、２×２画素のサイズを有する。また、参照解像度変換画像（第２の参照解像度変換画像）５０２は、６４×６４画素領域を１／６４に解像度変換したものであって、８×８画素のサイズを有する。
【００５７】
以上のＭＢ解像度変換画像５０１と、参照解像度変換画像５０２とを用いて、第２階層探索範囲限定部（第３の範囲決定部）４０２ｂは、探索範囲（第３の範囲）の絞り込みを行う。この結果として、例えば、ＭＡＥが最小となる領域の中心位置に基づき所定の大きさの範囲（例えば、６×６画素）を設定する方法が考えられる。この場合、次の階層における探索範囲が一定となるので、ハードウェアでの実現が容易である。以下では、この例について説明する。
【００５８】
なお、ＭＡＥがある閾値以下となる、或いは、マッチング対象間の相関がある閾値以上に強くなる領域を全て包含するように範囲を設定することも可能である。また、ＭＡＥの少ない方から任意の数だけ包含するように、或いは、マクロブロックと一定以上の相関を有する領域を包含するように、範囲を設定することもできる。これらの場合、次の階層における探索範囲が可変となるが、より精度の高い探索範囲が策定できる。このようにして次階層のための探索範囲を限定するが、どのような方法をとる場合でも、次階層における探索範囲は現階層における探索範囲よりも小さくなる。なお、これ以外の絞り込みに関する処理の詳細は、第１の実施形態で既に説明しているので、ここでは省略する。
【００５９】
第１階層参照画像解像度変換部４００ａでは、第２階層探索範囲限定部４０２ｂから得られた探索範囲に基づいて、参照画像から所定領域を切り出し解像度変換したブロック画像を、第１階層探索範囲限定部４０３ａに出力する。このとき、第２階層探索範囲限定部４０２ｂから得られた探索範囲は、本来の解像度に換算して４８×４８画素領域であり、これを１／１６の解像度変換率により、解像度変換する。つまり１２×１２画素の第１階層における参照解像度変換画像が得られる。
【００６０】
図５の５０３は、第１階層におけるＭＢ解像度変換画像（第１のマクロブロック解像度変換画像）を示し、５０４は、この第１階層における参照解像度変換画像（第１の参照解像度変換画像）を示す。ＭＢ解像度変換画像５０３は、１６×１６画素のマクロブロック画像を１／１６に解像度変換したものであって、４×４画素のサイズを有する。また、参照解像度変換画像５０４は、上記の通り１２×１２画素のサイズを有する。
【００６１】
以上のＭＢ解像度変換画像５０３と、参照解像度変換画像５０４とを用いて、第１階層探索範囲限定部４０２ａは、探索範囲の絞り込みを行う。この結果として、例えば、８×８画素の探索範囲に絞り込みを行ってもよいが、これはあくまで一例であって、探索範囲のサイズはこれに限定されない。この絞り込みに関する処理の詳細は、第１の実施形態で既に説明しているので、ここでは省略する。
【００６２】
二値画像切り出し部２０７では、第１階層探索範囲限定部４０２ａから得られた探索範囲に基づいて、二値化された参照画像から所定領域を切り出して、二値画像探索範囲限定部２０８に出力する。このとき、第１階層探索範囲限定部４０２ａから得られた探索範囲は、本来の解像度に換算して３２×３２画素領域である。
【００６３】
以上のように、本実施形態によれば、解像度を可変として広い探索範囲を維持しつつ、参照画像のメモリ転送量や演算コストを抑え、かつ最適な動きベクトルの検出が可能となる。
【００６４】
＜第３の実施形態＞
次に、図６を参照して、発明の第３の実施形態について説明する。図６は、発明の第３の実施形態における動きベクトル検出部１０２の構成の一例を示した図である。
【００６５】
上述の第２の実施形態では、各解像度変換部において本来の解像度を有する参照画素から、各階層の解像度画像を個別に生成していた。そのため、自由な解像度への変換が可能な一方、各解像度変換画像を準備するためのフィルタが個別に必要となり演算コストの増加が避けられない。そこで、本実施形態では、まず第１階層参照画像解像度変換部６００ａにおいて、一番高い解像度を保持した状態の解像度変換を行い、次の階層はその出力を用いて解像度変換を行うようにする。それをｎ階層まで繰り返し、各解像度変換部が予め解像度変換画像を保持しておく。
【００６６】
その際に、階層間の解像度変換の割合を一定にすることで個別にフィルタを用意する必要がなく、一種類のフィルタを用いるだけでよい。例えば、第１階層参照画像解像度変換部６００ａで１／２の解像度へ、第２階層参照画像解像度変換部６００ｂで１／４の解像度へと変換すれば、利用するフィルタは解像度を１／２に変換するためのフィルタだけでよい。同様に階層が進むに従って１／８、１／１６・・・と１/２nの解像度変換を行うことができる。ＭＢ画像解像度変換部６０１ａ〜６０１ｃもそれぞれに同様の単一のフィルタを用いて解像度変換を行う。なお、マクロブロック内の画素数は２５６（１６×１６）画素であるので、解像度変換は１／２５６以上は行わない。
【００６７】
図６では、ｎが３以上の値をとらねばならないように表現されているが、これは一例であって実際にはｎは２以上であればよい。探索範囲の絞り込みは、最初に第ｎ階層、つまり最も低解像度の階層から行われる。第ｎ階層参照画像解像度変換部６００ｃと第ｎ階層ＭＢ画像解像度変換部６０１ｃとのブロックマッチングを行い、第ｎ階層探索範囲限定部４０２ｃにより第ｎ階層目における探索範囲の絞り込みが行われる。
【００６８】
この絞り込みの結果は次の階層、つまりｎ−１階層目の参照画像解像度変換部へと伝達される。ｎ−１階層目の参照画像解像度変換部では、絞り込みにより得られた探索範囲に基づき、ｎ−１階層目の参照解像度変換画像からブロック画像を切り出し、ｎ−１階層目の探索範囲限定部に出力する。ｎ−１階層目の探索範囲限定部では、この画像と、同一解像度のＭＢ画像を用いて、探索範囲の更なる絞り込みが行われ、その結果はさらにｎ−２階層目へと伝達される。これを繰り返して、最終的に第１階層目まで順次絞り込んでいく。
【００６９】
図６において、２００から２１１までの参照番号を付した各構成要素は、図２において同一参照番号を有する各構成要素に対応する。
【００７０】
また、６００ａは第１階層目の参照画像解像度変換部、６００ｂは第２階層目の参照画像解像度変換部、６００ｃは第ｎ階層目の参照画像解像度変換部である。同様に、６０１ａは第１階層目のＭＢ画像解像度変換部、６０１ｂは第２階層目のＭＢ画像解像度変換部、６０１ｃは第ｎ階層目のＭＢ画像解像度変換部である。４０２ａは第１階層目の探索範囲限定部、４０２ｂは第２階層目の探索範囲限定部、４０２ｃは第３階層目の探索範囲限定部である。また、４０２ａ〜４０２ｃ参照番号を付した各構成要素は、図４において同一参照番号を有する各構成要素に対応する。
【００７１】
図６において、６００ａは第１階層目の参照画像解像度変換部、６００ｂは第２階層目の参照画像解像度変換部、６００ｃは第ｎ階層目の参照画像解像度変換部である。同様に、６０１ａは第１階層目のＭＢ画像解像度変換部、６０１ｂは第２階層目のＭＢ画像解像度変換部、６０１ｃは第ｎ階層目のＭＢ画像解像度変換部である。上記のように、各解像度変換部は、共通のフィルタを用いて１階層上の解像度変換部における解像度変換結果を用いて、解像度変換を行う。
【００７２】
以上によれば、演算コストの増加を抑えた解像度変換が可能である。
【００７３】
＜その他の実施形態＞
上述のそれぞれの実施形態においては水平と垂直が同じ倍率や画素数で説明したがその限りでは無く、水平と垂直が異なる倍率や画素数であっても良い。
【００７４】
また、上述したそれぞれの実施形態において図１、図２、図４および図６に示した各構成要素における処理はハードウェアに限定するものではない。各処理部の機能を実現する為のプログラムをメモリから読み出してＣＰＵ（中央演算装置）が実行することによりその機能を実現させてもよい。
【００７５】
また、さらに上述した構成に限定されるものではない。図１、図２、図４及び図６に示した各構成要素における各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したＣＰＵがプログラムを読み出すメモリは、ＨＤＤ、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体でもよい。さらにＲＡＭ以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【００７６】
また、「コンピュータ読み取り、書き込み可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）も含む。その他、一定時間プログラムを保持しているものも含むものとする。
【００７７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００７８】
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７９】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
【００８０】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる
【図面の簡単な説明】
【００８１】
【図１】本発明の第１の実施形態に対応する画像符号化装置の構成の一例を示した図である。
【図２】本発明の第１の実施形態に対応する動きベクトル検出部１０２の構成の一例を示した図である。
【図３】本発明の第１の実施形態に対応するマクロブロックのサイズ及び探索範囲のサイズの一例を記載する図である。
【図４】本発明の第２の実施形態に対応する動きベクトル検出部１０２の構成の一例を示した図である。
【図５】本発明の第２の実施形態に対応するマクロブロックのサイズ及び探索範囲のサイズの一例を記載する図である。
【図６】本発明の第４の実施形態に対応する動きベクトル検出部１０２の構成の一例を示した図である。
【符号の説明】
【００８２】
２００  参照画像
２０１  符号化対象マクロブロック画像
２０２  参照画像二値化部
２０３  参照画像解像度変換部
２０４  ＭＢ画像解像度変換部
２０５  ＭＢ画像二値化部
２０６  二値画像切り出し部
２０７  探索範囲限定部
２０８  二値画像探索範囲限定部
２０９  参照画像切り出し部
２１０  予測生成部
２１１  予測値
【図１】
2008258769.tif 000003
【図２】
2008258769.tif 000004
【図３】
2008258769.tif 000005
【図４】
2008258769.tif 000006
【図５】
2008258769.tif 000007
【図６】
2008258769.tif 000008