(57)【要約】【課題】動きベクトルを簡単な構成で精度よく算出できるようにする。【解決手段】低ビット基準画像生成部３１-cは、基準画像から低ビット深度の低ビット基準画像を生成する。低ビット参照画像生成部３１-rは、参照画像から低ビット深度の低ビット参照画像を生成する。特徴量算出部４１は、基準画像のブロック毎に輝度情報の非平坦度を表す特徴量を算出する。コスト値算出部４２は、特徴量と予測動きベクトルを用いて、低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を算出する。ブロックマッチング処理部４３は、参照ブロック位置毎に、算出したコスト値を用いて低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する。【選択図】        図１
2013005400.tif 000002
【特許請求の範囲】
【請求項１】
基準画像から低ビット深度の低ビット基準画像を生成する低ビット基準画像生成部と、
参照画像から低ビット深度の低ビット参照画像を生成する低ビット参照画像生成部と、
前記基準画像における輝度情報の非平坦度を表す特徴量を算出する特徴量算出部と、
前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出するコスト値算出部と、
前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出するブロックマッチング処理部と
を備える情報処理装置。
【請求項２】
前記コスト値算出部は、前記予測動きベクトルとして、ブロックマッチングを行う低ビット基準画像のブロックに隣接するブロックの動きベクトルを用いる請求項１記載の情報処理装置。
【請求項３】
前記ブロックマッチング処理部は、前記ブロックマッチングにより得られた評価値に基づいて前記低ビット基準画像のブロック毎に動きベクトルの仮算出を行い、
前記コスト値算出部は、前記予測動きベクトルとして、前記隣接するブロックの前記仮算出されている動きベクトルを用いる請求項２記載の情報処理装置。
【請求項４】
前記コスト値算出部は、前記予測動きベクトルとして、前記隣接するブロックの動きベクトルを用いて統計処理を行うことにより算出した動きベクトルを用いる請求項２記載の情報処理装置。
【請求項５】
前記コスト値算出部は、前記予測動きベクトルとしてゼロベクトルを用いる請求項２記載の情報処理装置。
【請求項６】
前記コスト値算出部は、前記低ビット基準画像のブロックと参照ブロック間の動きベクトルと前記予測動きベクトルとの差分を示す差分関数を用いて、前記コスト値の算出を行う請求項２記載の情報処理装置。
【請求項７】
前記コスト値算出部は、前記差分の上限を予め設定した値に制限する請求項６記載の情報処理装置。
【請求項８】
前記特徴量算出部は、前記特徴量として、前記低ビット基準画像のブロックに対応する前記基準画像の領域における輝度情報のダイナミックレンジまたは偏差を用いる請求項１記載の情報処理装置。
【請求項９】
前記特徴量算出部は、フィルタ処理された基準画像を用いて特徴量を算出する請求項１記載の情報処理装置。
【請求項１０】
基準画像から低ビット深度の低ビット基準画像を生成する工程と、
参照画像から低ビット深度の低ビット参照画像を生成する工程と、
前記基準画像における輝度情報の非平坦度を表す特徴量を算出する工程と、
前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出する工程と、
前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する工程と
含む情報処理方法。
【請求項１１】
動きベクトルの算出をコンピュータで実行させるプログラムであって、
基準画像から低ビット深度の低ビット基準画像を生成する手順と、
参照画像から低ビット深度の低ビット参照画像を生成する手順と、
前記基準画像における輝度情報の非平坦度を表す特徴量を算出する手順と、
前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出する手順と、
前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する手順と
を前記コンピュータで実行させるプログラム。
【請求項１２】
動きベクトルの算出をコンピュータで実行させるためのプログラムを記録したコンピュータによって読み取り可能な記録媒体であって、
基準画像から低ビット深度の低ビット基準画像を生成する手順と、
参照画像から低ビット深度の低ビット参照画像を生成する手順と、
前記基準画像における輝度情報の非平坦度を表す特徴量を算出する手順と、
前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出する手順と、
前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する手順と
を前記コンピュータで実行させるためのプログラムを記録したコンピュータによって読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この技術は、情報処理装置と情報処理方法およびプログラムと記録媒体に関する。詳しくは、動きベクトルを容易かつ精度よく算出できるようにする。
【背景技術】
【０００２】
従来、時間的に異なる画像中の物体の動きベクトルを検出して、検出した動きベクトルに基づき、画像の高能率符号化における動き補償フレーム間符号化や、フレーム間時間領域フィルタによる雑音低減化等が行われている。
【０００３】
このような動きベクトルを検出する方法としては、例えば特許文献１のようにブロックマッチング法が用いられている。ブロックマッチング法では、１つの画面を数画素からなるブロックに分割する。次に、ブロック化された画像と、この画像が動いた領域を検索するために時間的に異なる画面に設定した探索領域内の画像との間で、所定の評価関数を用いて画像の類似度を示す評価値を算出する。さらに、算出された評価値に基づき動きベクトルを検出する。
【０００４】
このようなブロックマッチング法では、動きベクトル検出対象のブロックと探索範囲内の各ブロックとの類似度をブロック位置毎に求める必要があり、動きベクトルの検出における計算量が大きくなってしまう。このため、特許文献２では、各画素のビット数を削減したビット深度の低い低ビット画像を用いて動きベクトルを検出することが行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１３６１８４号公報
【特許文献２】米国特許第５７９３９８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、低ビット画像を用いて動きベクトルの検出を行う場合、ビット数の削減によって画像情報が減少していることから、動きベクトルの検出精度が低下してしまうおそれがある。特に、画像の平坦部では、ビット数が削減されて画像情報が減少すると、評価値例えば差分絶対値和（ＳＡＤ: Sum of Absolute Difference）の違いが少なくなる。このため、正しい動きベクトルを安定して検出することができなくなり、例えば動きベクトルあばれを生じてしまう。
【０００７】
そこで、この技術では、動きベクトルの算出を簡単な構成でより良い精度で可能とする情報処理装置と情報処理方法およびプログラムと記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この技術の第１の側面は、基準画像から低ビット深度の低ビット基準画像を生成する低ビット基準画像生成部と、参照画像から低ビット深度の低ビット参照画像を生成する低ビット参照画像生成部と、前記基準画像における輝度情報の非平坦度を表す特徴量を算出する特徴量算出部と、前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出するコスト値算出部と、前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出するブロックマッチング処理部とを備える情報処理装置にある。
【０００９】
この技術においては、例えばｍビットの基準画像に対してビット数削減を行い、ｍビットよりも低ビット深度であるｎビットの低ビット基準画像が生成される。参照画像に対しても同様にビット数削減が行われて低ビット参照画像が生成される。また、基準画像を用いてブロック毎に輝度情報の非平坦度を表す特徴量が算出される。例えば、平均フィルタまたはバンドパスフィルタでフィルタ処理された基準画像を用いて、ブロック毎に輝度情報のダイナミックレンジまたは偏差が特徴量として算出される。この特徴量と予測動きベクトルを用いて、低ビット基準画像と低ビット参照画像のブロックマッチングにおけるブロック位置毎のコスト値が算出される。コスト値の算出では、ブロックマッチングにおける低ビット基準画像と低ビット参照画像のブロック間の動きベクトルと予測動きベクトルとの差分を示す差分関数が用いられる。また、差分の上限は予め設定された値に制限される。予測動きベクトルとしては、例えば基準画像における動きベクトル算出対象であるカレントブロックに隣接するブロックの動きベクトル、基準画像における各ブロックについて仮算出されている動きベクトルから、カレントブロックに隣接するブロックの動きベクトル、隣接するブロックの動きベクトルを用いて統計処理を行うことにより算出した動きベクトル、ゼロベクトル等が用いられる。さらに、ブロック位置毎に算出したコスト値を用いて、低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた例えば差分絶対値和等の評価値が補正されて、補正後の評価値が最小となるカレントブロックに対する参照ブロック位置に基づいて動きベクトルが算出される。
【００１０】
この技術の第２の側面は、基準画像から低ビット深度の低ビット基準画像を生成する工程と、参照画像から低ビット深度の低ビット参照画像を生成する工程と、前記基準画像における輝度情報の非平坦度を表す特徴量を算出する工程と、前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出する工程と、前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する工程と含む情報処理方法にある。
【００１１】
この技術の第３の側面は、動きベクトルの算出をコンピュータで実行させるプログラムであって、基準画像から低ビット深度の低ビット基準画像を生成する手順と、参照画像から低ビット深度の低ビット参照画像を生成する手順と、前記基準画像における輝度情報の非平坦度を表す特徴量を算出する手順と、前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出する手順と、前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する手順とを前記コンピュータで実行させるプログラムにある。
【００１２】
この技術の第４の側面は、動きベクトルの算出をコンピュータで実行させるためのプログラムを記録したコンピュータによって読み取り可能な記録媒体であって、基準画像から低ビット深度の低ビット基準画像を生成する手順と、参照画像から低ビット深度の低ビット参照画像を生成する手順と、前記基準画像における輝度情報の非平坦度を表す特徴量を算出する手順と、前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出する手順と、前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する手順とを前記コンピュータで実行させるためのプログラムを記録したコンピュータによって読み取り可能な記録媒体にある。
【００１３】
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
【発明の効果】
【００１４】
この技術によれば、基準画像におけるブロック毎に輝度情報の非平坦度を表す特徴量が算出されて、この特徴量と予測動きベクトルを用いて、低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値が算出される。この参照ブロック位置毎に、算出したコスト値を用いて低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値が補正されて、補正後の評価値に基づき動きベクトルの算出が行われる。このように、ロックマッチングにより得られた評価値だけでなく、輝度情報の非平坦度や隣接するブロックの予測動きベクトル等を考慮して動きベクトルの算出が行われる。したがって、ビット数削減前の基準画像や参照画像を用いてブロックマッチングを行う場合やブロックマッチングにより得られた評価値のみに基づいて動きベクトルを算出する場合に比べて、動きベクトルを簡単な構成で精度よく算出できるようになる。
【図面の簡単な説明】
【００１５】
【図１】情報処理装置の構成を示す図である。
【図２】情報処理装置の動作を示すフローチャートである。
【図３】１ビット画像を生成する場合の低ビット基準画像生成部の構成を示す図である。
【図４】１ビット画像を生成する場合の低ビット基準画像生成部の動作を示すフローチャートである。
【図５】２ビット画像を生成する場合の低ビット基準画像生成部の構成を示す図である。
【図６】２ビット画像を生成する場合の低ビット基準画像生成部の動作を示すフローチャートである。
【図７】ｎビット画像を生成する場合の低ビット基準画像生成部の構成を示す図である。
【図８】ｎビット画像を生成する場合の低ビット基準画像生成部の動作を示すフローチャートである。
【図９】比較結果と画素値の関係を例示した図である。
【図１０】特徴量算出動作を示すフローチャートである。
【図１１】隣接ブロックの算出済みの動きベクトルを例示した図である。
【図１２】ブロックマッチング処理部の構成を示す図である。
【図１３】ブロックマッチング処理部の動作を示すフローチャートである。
【図１４】ＸＯＲ値計算処理を説明するための図である。
【図１５】コンピュータのハードウェアの構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本技術を実施するための形態について説明する。本技術の情報処理装置では、画素に割り当てるビット数を削減するビット数削減処理を基準画像と参照画像に対して行い、低ビット深度の低ビット基準画像と低ビット参照画像を生成する。次に、情報処理装置は、基準画像から特徴量を算出して、算出した特徴量と予測動きベクトルを用いてブロックマッチングの参照ブロック位置毎にコスト値を算出する。このコスト値を用いてブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出する。なお、説明は以下の順序で行う。
１．情報処理装置の構成
２．情報処理装置の処理動作
３．低ビット画像生成部の構成と動作
４．特徴量算出部の動作
５．コスト値算出部の動作
６．ブロックマッチング処理部の構成と動作
７．処理をプログラムにより実行する場合について
【００１７】
＜１．情報処理装置の構成＞
図１は、情報処理装置の構成を示している。情報処理装置１０は、入力された画像データを記憶する画像メモリ部２１を有している。また、情報処理装置１０は、画素に割り当てるビット数の削減を行う低ビット基準画像生成部３１-c、低ビット参照画像生成部３１-rを有している。また、情報処理装置１０は、特徴量算出部４１とコスト値算出部４２およびブロックマッチング処理部４３を有している。なお、情報処理装置１０には、算出された動きベクトルを用いて動き補償を行う動き補償部５１が設けられている。
【００１８】
画像メモリ部２１は、基準画像と参照画像の画像データを記憶する。画像メモリ部２１は、記憶している基準画像の画像データＤＶ-cを低ビット基準画像生成部３１-cに出力する。画像メモリ部２１は、記憶している参照画像の画像データＤＶ-rを低ビット参照画像生成部３１-rと動き補償部５１に出力する。
【００１９】
低ビット基準画像生成部３１-cは、基準画像の画像データＤＶ-cに対してビット数削減処理を行い、基準画像よりも低ビット深度である低ビット基準画像の画像データＤＶ-cbを生成する。また、低ビット基準画像生成部３１-cは、生成した低ビット基準画像の画像データＤＶ-cbをブロックマッチング処理部４３に出力する。例えば、低ビット基準画像生成部３１-cは、基準画像の８ビットの画像データに対してビット数削減処理を行い、１ビットである低ビット基準画像の画像データＤＶ-cbを生成してブロックマッチング処理部４３に出力する。また、低ビット基準画像生成部３１-cは、ビット数削減処理において生成したフィルタ処理後の基準画像の画像データＤＶ’-cを特徴量算出部４１に出力する。
【００２０】
低ビット参照画像生成部３１-rは、参照画像の画像データＤＶ-rに対してビット数削減処理を行い、参照画像よりも低ビット深度で例えば低ビット基準画像と等しいビット深度の低ビット参照画像の画像データＤＶ-rbを生成する。また、低ビット参照画像生成部３１-rは、生成した低ビット参照画像の画像データＤＶ-rbをブロックマッチング処理部４３に出力する。例えば、低ビット参照画像生成部３１-rは、参照画像の８ビットの画像データに対してビット数削減処理を行い、１ビットである低ビット参照画像の画像データＤＶ-rbを生成してブロックマッチング処理部４３に出力する。
【００２１】
特徴量算出部４１は、低ビット基準画像のブロック毎に、このブロックに対応する基準画像の領域における輝度情報を用いて、輝度の非平坦度に応じた特徴量ＦＤを算出してコスト値算出部４２に出力する。コスト値算出部４２は、ブロックマッチングにおける参照ブロック位置毎に、低ビット基準画像のブロック（カレントブロック）と参照画像における探索範囲内の参照ブロック間の動きベクトル（以下「探索位置動きベクトル」という）と予測動きベクトルとの差分を示す差分関数および特徴量ＦＤを用いてコスト値Ｃｏｓｔを算出する。また、コスト値算出部４２は、参照ブロック位置毎に、算出したコスト値Ｃｏｓｔをブロックマッチング処理部４３に出力する。
【００２２】
ブロックマッチング処理部４３は、低ビット基準画像生成部３１-cから出力された低ビット基準画像の画像データＤＶ-cbと、低ビット参照画像生成部３１-rから出力された低ビット参照画像の画像データＤＶ-rbを用いてブロックマッチングを行う。また、ブロックマッチング処理部４３は、参照ブロック位置毎に、ブロックマッチングによって得られた評価値を、コスト値を用いて補正して、補正後の評価値が最小となるブロック位置から動きベクトルＭＶを算出する。ブロックマッチング処理部４３は、算出した動きベクトルＭＶを動き補償部５１に出力する。
【００２３】
動き補償部５１は、ブロックマッチング処理部４３で算出された動きベクトルＭＶに基づき参照画像の動き補償を従来の情報処理装置と同様に行って、動き補償画像の画像データＤＶ-mcを出力する。
【００２４】
＜２．情報処理装置の動作＞
図２は、情報処理装置の動作を示すフローチャートである。ステップＳＴ１で低ビット基準画像生成部３１-c，低ビット参照画像生成部３１-rは、低ビット画像の生成を行う。低ビット基準画像生成部３１-cは、基準画像の画像データＤＶ-cに対してビット数削減処理を行い、低ビット基準画像の画像データＤＶ-cbを生成する。低ビット参照画像生成部３１-rは、参照画像の画像データＤＶ-rに対してビット数削減処理を行い、低ビット参照画像の画像データＤＶ-rbを生成する。このように、低ビット基準画像生成部３１-c，低ビット参照画像生成部３１-rは、低ビット画像の生成を行ってステップＳＴ２に進む。
【００２５】
ステップＳＴ２で特徴量算出部４１は、特徴量を算出する。特徴量算出部４１は、低ビット基準画像のブロック毎に、輝度情報に応じた特徴量を算出してステップＳＴ３に進む。
【００２６】
ステップＳＴ３でコスト値算出部４２は、コスト値を算出する。コスト値算出部４２は、ブロックマッチングにおける参照ブロック位置毎に、低ビット基準画像のブロックと参照ブロック間の探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数および算出されている特徴量を用いてコスト値を算出してステップＳＴ４に進む。
【００２７】
ステップＳＴ４でブロックマッチング処理部４３は、ブロックマッチング処理を行う。ブロックマッチング処理部４３は、低ビット基準画像の画像データＤＶ-cbと低ビット参照画像の画像データＤＶ-rbをブロック単位で用いてブロックマッチング処理を行い参照ブロック位置毎に評価値を算出する。さらに、ブロックマッチング処理部４３は、参照ブロック位置毎に、算出されているコスト値を用いて評価値を補正する。さらに、ブロックマッチング処理部４３は、補正後の評価値が最小となる基準画像のカレントブロックと参照画像の参照ブロック位置から動きベクトルＭＶを求めてステップＳＴ５に進む。
【００２８】
ステップＳＴ５で動き補償部５１は、動き補償画像の生成を行う。動き補償部５１は、ステップＳＴ４で算出された動きベクトルＭＶに応じて参照画像の動き補償を行い、動き補償画像の画像データＤＶ-mcを生成して処理を終了する。
【００２９】
＜３．低ビット画像生成部の構成と動作＞
次に、低ビット画像の生成について説明する。低ビット基準画像生成部３１-cは、基準画像のフィルタ処理を行い、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から低ビット基準画像の画像データＤＶ-cbを生成する。同様に、低ビット参照画像生成部３１-rは、参照画像のフィルタ処理を行い、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から低ビット参照画像の画像データＤＶ-rbを生成する。
【００３０】
図３は、１ビット画像を生成する場合の低ビット基準画像生成部３１-cの構成を示している。なお、低ビット基準画像生成部３１-cと同様に低ビット参照画像生成部３１-rが構成されており、低ビット参照画像生成部３１-rは、参照画像に対して低ビット基準画像生成部３１-cと同様な処理を行う。
【００３１】
低ビット基準画像生成部３１-cは、フィルタ処理部３１１と画像比較部３１２を有している。フィルタ処理部３１１は、基準画像の画像データＤＶ-cのフィルタ処理を行う。フィルタ処理部３１１は、例えば平均フィルタ（Mean Filter）やバンドパスフィルタ（Band-pass Filter）あるいは疑似平均フィルタ等の何れかを用いて、基準画像の画像データＤＶ-cのフィルタ処理を行う。
【００３２】
フィルタ処理部３１１は、平均フィルタを用いる場合、式（１）の演算を行い、画素位置（ｘ，ｙ）のフィルタ処理後の画素データＩ'（ｘ，ｙ）を算出する。なお、Ｉ（ｉ，ｊ）は基準画像の画素データを示しており、Ｎは画素数である。
【００３３】
【数１】
2013005400.tif 000003
【００３４】
フィルタ処理部３１１は、バンドパスフィルタを用いる場合、式（２）の演算を行い、画素位置（ｘ，ｙ）のフィルタ処理後の画素データＩ'（ｘ，ｙ）を算出する。なお、式（２）において「Ｋ」はフィルタ特性を決定するための係数であり、例えば式（３）に示す値とする。
【００３５】
【数２】
2013005400.tif 000004
【００３６】
【数３】
2013005400.tif 000005
【００３７】
フィルタ処理部３１１は、疑似平均フィルタを用いる場合、式（４）の演算を行い、画素位置（ｘ，ｙ）のフィルタ処理後の画素データＩ'（ｘ，ｙ）を算出する。
【００３８】
【数４】
2013005400.tif 000006
【００３９】
画像比較部３１２は、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を低ビット基準画像の画像データとする。
【００４０】
図４は、１ビット画像を生成する場合の低ビット基準画像生成部３１-cの動作を示すフローチャートである。ステップＳＴ１１で低ビット基準画像生成部３１-cは、基準画像のフィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データＤＶ-cに対して平均フィルタやバンドパスフィルタ等のフィルタ処理を行ってステップＳＴ１２に進む。
【００４１】
ステップＳＴ１２で低ビット基準画像生成部３１-cは、フィルタ処理結果が基準画像以下であるか否か判別する。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データと基準画像の画像データに対して、各画像位置での画素データの比較を行う。低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データ以下である場合ステップＳＴ１３に進む。また、低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データよりも大きい場合ステップＳＴ１４に進む。  ステップＳＴ１３で低ビット基準画像生成部３１-cは、画素値を「１」に設定してステップＳＴ１５に進む。
【００４２】
ステップＳＴ１４で低ビット基準画像生成部３１-cは、画素値を「０」に設定してステップＳＴ１５に進む。
【００４３】
ステップＳＴ１５で低ビット基準画像生成部３１-cは、全画素の比較が完了したか否か判別する。低ビット基準画像生成部３１-cは、全画素の比較が完了していない場合ステップＳＴ１２に戻り、次の画素について比較を行う。また、低ビット基準画像生成部３１-cは、全画素の比較が完了した場合処理を終了する。
【００４４】
このように、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から画素に割り当てるビット数が１ビットとされた基準画像の画像データＤＶ-cbを生成できる。また、低ビット参照画像生成部３１-rは、低ビット基準画像生成部３１-cと同様な処理を行うことで、低ビット参照画像の画像データＤＶ-rbを生成できる。  
次に、低ビット基準画像生成部３１-cで、２ビットの画像を生成する場合やｎビットの画像を生成する場合について説明する。図５は、２ビット画像を生成する場合の低ビット基準画像生成部３１-cの構成を示している。
【００４５】
低ビット基準画像生成部３１-cは、フィルタ処理部３１１ａ，３１１ｂと、画像比較部３１２ａ，３１２ｂを有している。フィルタ処理部３１１ａは、基準画像の画像データのフィルタ処理を行う。フィルタ処理部３１１ａは、上述のように平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等の何れかを用いて、基準画像の画像データのフィルタ処理を行う。画像比較部３１２ａは、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を２ビット画像の最下位ビットデータとする。フィルタ処理部３１１ｂは、フィルタ処理部３１１ａと異なるフィルタ特性で基準画像の画像データのフィルタ処理を行う。フィルタ処理部３１１ｂは、フィルタ処理部３１１ａと同様に、平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等の何れかを用いて、基準画像の画像データのフィルタ処理を行う。画像比較部３１２ｂは、基準画像の画像データとフィルタ処理後の画像データを比較して、比較結果を示す１ビットの信号を２ビット画像の最上位ビットデータとする。
【００４６】
このように、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から画素に割り当てるビット数が２ビットとされた画像データＤＶ-cbを生成できる。
【００４７】
図６は、２ビット画像を生成する場合の低ビット基準画像生成部３１-cの動作示すフローチャートである。ステップＳＴ２１で低ビット基準画像生成部３１-cは、基準画像の第１フィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して平均フィルタやバンドパスフィルタ等の第１フィルタ処理を行ってステップＳＴ２２に進む。
【００４８】
ステップＳＴ２２で低ビット基準画像生成部３１-cは、第１フィルタ処理結果が基準画像以下であるか否か判別する。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データと基準画像の画像データを用いて、各画像位置での画素データの比較を行う。低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データ以下である場合ステップＳＴ２３に進む。また、低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データよりも大きい場合ステップＳＴ２４に進む。
【００４９】
ステップＳＴ２３で低ビット基準画像生成部３１-cは、画素値を「１」に設定して、２ビット画像の最下位ビットデータとしてステップＳＴ２５に進む。
【００５０】
ステップＳＴ２４で低ビット基準画像生成部３１-cは、画素値を「０」に設定して、２ビット画像の最下位ビットデータとしてステップＳＴ２５に進む。
【００５１】
ステップＳＴ２５で低ビット基準画像生成部３１-cは、基準画像の第２フィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して、ステップＳＴ２１とは異なるフィルタ特性で平均フィルタやバンドパスフィルタ等の第２フィルタ処理を行ってステップＳＴ２６に進む。
【００５２】
ステップＳＴ２６で低ビット基準画像生成部３１-cは、第２フィルタ処理結果が基準画像以下であるか否か判別する。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データと基準画像の画像データを用いて、各画像位置での画素データの比較を行う。低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データ以下である場合ステップＳＴ２７に進む。また、低ビット基準画像生成部３１-cは、フィルタ処理結果の画素データが基準画像の画素データよりも大きい場合ステップＳＴ２８に進む。
【００５３】
ステップＳＴ２７で低ビット基準画像生成部３１-cは、画素値を「１」に設定して、２ビット画像の最上位ビットデータとしてステップＳＴ２９に進む。
【００５４】
ステップＳＴ２８で低ビット基準画像生成部３１-cは、画素値を「０」に設定して、２ビット画像の最上位ビットデータとしてステップＳＴ２９に進む。
【００５５】
ステップＳＴ２９で低ビット基準画像生成部３１-cは、全画素の比較が完了したか否か判別する。低ビット基準画像生成部３１-cは、全画素の比較が完了していない場合ステップＳＴ２２に戻り、次の画素について比較を行う。また、低ビット基準画像生成部３１-cは、全画素の比較が完了した場合に処理を終了する。
【００５６】
このように、フィルタ処理前とフィルタ処理後で画像データの比較を画素毎に行って、比較結果から画素に割り当てるビット数が２ビットとされた基準画像の画像データＤＶ-cbを生成できる。また、低ビット参照画像生成部３１-rは、低ビット基準画像生成部３１-cと同様な処理を行うことで、低ビット参照画像の画像データＤＶ-rbを生成できる。  
次に、ｎビットの画像を生成する場合について説明する。図７は、ｎビット画像を生成する場合の低ビット基準画像生成部３１-cの構成を示している。
【００５７】
低ビット基準画像生成部３１-cは、フィルタ処理部３１１と、閾値設定部３１３と画像比較部３１４を有している。フィルタ処理部３１１は、基準画像の画像データＤＶ-cのフィルタ処理を行う。フィルタ処理部３１１は、上述のように平均フィルタやバンドパスフィルタあるいは疑似平均フィルタ等の何れかを用いて、基準画像のフィルタ処理を行う。
【００５８】
閾値設定部３１３は、フィルタ処理後の画像データのシフト処理を行い、フィルタ処理後の画像データやシフト処理後の画像データを閾値として設定する。また、閾値設定部３１３は、設定した閾値を画像比較部３１４に出力する。
【００５９】
画像比較部３１４は、基準画像の画像データと画像比較部３１４から出力された閾値を画素毎に比較して、比較結果を示すｎビットの信号を低ビット基準画像の画像データＤＶ-cbとする。
【００６０】
図８は、ｎビット画像を生成する場合の低ビット基準画像生成部３１-cの動作を示すフローチャートである。ステップＳＴ３１で低ビット基準画像生成部３１-cは、基準画像のフィルタ処理を行う。低ビット基準画像生成部３１-cは、基準画像の画像データに対して平均フィルタやバンドパスフィルタ等のフィルタ処理を行ってステップＳＴ３２に進む。
【００６１】
ステップＳＴ３２で低ビット基準画像生成部３１-cは閾値の設定を行う。低ビット基準画像生成部３１-cは、フィルタ処理後の画像データのシフト処理を行い、フィルタ処理後の画像データやシフト処理後の画像データを閾値として設定してステップＳＴ３３に進む。例えば２ビットの画像を生成する場合、低ビット基準画像生成部３１-cは、フィルタ処理後の画像データから予め設定したシフト量だけ減少させた画像データを第１の閾値とする。また、低ビット基準画像生成部３１-cは、フィルタ処理後の画像データを第２の閾値、フィルタ処理後の画像データから予め設定したシフト量だけ増加させた画像データを第３の閾値とする。また、ｎビットの画像を生成する場合、低ビット基準画像生成部３１-cは、フィルタ処理後の画像データに基づき（２ｎ−１）個の閾値を設定する。
【００６２】
ステップＳＴ３３で低ビット基準画像生成部３１-cは、基準画像の画像データと閾値を画素毎に比較する。低ビット基準画像生成部３１-cは、基準画像の画像データが第１の閾値Ｔｈ1よりも小さい場合、ステップＳＴ３４に進む。低ビット基準画像生成部３１-cは、基準画像の画像データが第１の閾値Ｔｈ1以上で第２の閾値Ｔｈ2よりも小さい場合、ステップＳＴ３５に進む。低ビット基準画像生成部３１-cは、基準画像の画像データが第２の閾値Ｔｈ2以上で第３の閾値Ｔｈ3よりも小さい場合、ステップＳＴ３６に進む。低ビット基準画像生成部３１-cは、基準画像の画像データが第３の閾値Ｔｈ3以上である場合、ステップＳＴ３７に進む。
【００６３】
ステップＳＴ３４で低ビット基準画像生成部３１-cは、画素値を「０」に設定してステップＳＴ３８に進む。
【００６４】
ステップＳＴ３５で低ビット基準画像生成部３１-cは、画素値を「１」に設定してステップＳＴ３８に進む。
【００６５】
ステップＳＴ３６で低ビット基準画像生成部３１-cは、画素値を「２」に設定してステップＳＴ３８に進む。
【００６６】
ステップＳＴ３７で低ビット基準画像生成部３１-cは、画素値を「３」に設定してステップＳＴ３８に進む。
【００６７】
ステップＳＴ３８で低ビット基準画像生成部３１-cは、全画素の比較が完了したか否か判別する。低ビット基準画像生成部３１-cは、全画素の比較が完了していない場合ステップＳＴ３２に戻り、次の画素について比較を行う。また、低ビット基準画像生成部３１-cは、全画素の比較が完了した場合に処理を終了する。
【００６８】
図９は、比較結果と画素値の関係を例示している。画素位置が領域ＰＡ1である場合、基準画像の画素値は第２の閾値Ｔｈ2以上で第３の閾値Ｔｈ3よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ1の画素値を「２」とする。画素位置が領域ＰＡ2である場合、基準画像の画素値は第３の閾値Ｔｈ3以上である。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ2の画素値を「３」とする。画素位置が領域ＰＡ3である場合、基準画像の画素値は第２の閾値Ｔｈ2以上で第３の閾値Ｔｈ3よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ3の画素値を「２」とする。画素位置が領域ＰＡ4である場合、基準画像の画素値は第１の閾値Ｔｈ1以上で第２の閾値Ｔｈ2よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ4の画素値を「１」とする。画素位置が領域ＰＡ5である場合、基準画像の画素値は第１の閾値Ｔｈ1よりも小さい。したがって、低ビット基準画像生成部３１-cは、領域ＰＡ5の画素値を「０」とする。
【００６９】
このように、フィルタ処理後の画像データに換えて、フィルタ処理後の画像データに基づいて設定した閾値を用いて、閾値とフィルタ処理前の画素レベルの比較を画素毎に行って、比較結果から画素に割り当てるビット数がｎビットとされた基準画像の画像データＤＶ-cbを生成できる。また、低ビット参照画像生成部３１-rは、低ビット基準画像生成部３１-cと同様な処理を行うことで、低ビット参照画像の画像データＤＶ-rbを生成できる。
【００７０】
＜４．特徴量算出部の動作＞
特徴量算出部４１は、低ビット基準画像生成部３１-cから供給されたフィルタ処理後の低ビット基準画像のブロック毎に、輝度情報の非平坦度を表す特徴量ＦＤを算出する。特徴量算出部４１は、例えばダイナミックレンジ、標準偏差、擬似標準偏差等を輝度情報の非平坦度を表す特徴量ＦＤとして算出する。
【００７１】
特徴量算出部４１は、特徴量ＦＤとしてダイナミックレンジＤＲを算出する場合、式（５）の演算を行う。なお、式（５）において、Ｍａｘ（Ｉ'）はブロック内のフィルタ処理後の画素データＩ'の最大値、Ｍｉｎ（Ｉ'）はブロック内のフィルタ処理後の画素データＩ'の最小値である。
【００７２】
【数５】
2013005400.tif 000007
【００７３】
特徴量算出部４１は、特徴量ＦＤとして標準偏差Ｓｔｄを算出する場合、式（６）の演算を行う。なお、式（６）において、「ａｖｅ（Ｉ'）」はブロック内の画素データＩ'の平均値であり、「ｎ」はブロック内の画素数である。
【００７４】
【数６】
2013005400.tif 000008
【００７５】
特徴量算出部４１は、特徴量ＦＤとして擬似標準偏差ＰｓｅｕｄｏＳｔｄを算出する場合、式（７）の演算を行う。なお、式（７）において、「ａｖｅ（Ｉ'）」はブロック内の画素データＩ'の平均値である。式（７）では、式（６）に示すように２乗演算やルート演算を行う必要がないことから、式（６）に比べて実装しやすい。
【００７６】
【数７】
2013005400.tif 000009
【００７７】
図１０は、特徴量算出動作を示すフローチャートである。ステップＳＴ４１で特徴量算出部４１は、フィルタ処理後の基準画像を取得する。特徴量算出部４１は、低ビット基準画像生成部３１-cでフィルタ処理が行われた基準画像の画像データを取得してステップＳＴ４２に進む。
【００７８】
ステップＳＴ４２で特徴量算出部４１は、ブロックの選択を行う。特徴量算出部４１は、特徴量の算出を行うブロックを選択してステップＳＴ４３に進む。なお、基準画像のブロックは、低ビット基準画像において動きベクトルの算出を行うブロックに対応する画像領域とされている。
【００７９】
ステップＳＴ４３で特徴量算出部４１は、特徴量算出を行う。特徴量算出部４１は、式（５）や式（６）または式（７）の演算を行い、特徴量を算出してステップＳＴ４４に進む。
【００８０】
ステップＳＴ４４で特徴量算出部４１は、全ブロックの処理が完了したか判別する。特徴量算出部４１は、特徴量の算出が行われていないブロックが残っている場合にはステップＳＴ４２に戻り、特徴量の算出が行われていない新たなブロックをステップＳＴ４２で選択して、特徴量の算出を行う。また、特徴量算出部４１は、特徴量の算出が行われていないブロックが残っていない場合には処理を終了する。
【００８１】
＜５．コスト値算出部の動作＞
コスト値算出部４２は、低ビット基準画像のカレントブロックと探索範囲の低ビット参照画像間で、参照ブロック位置毎に探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数および、カレントブロックに対応する特徴量ＦＤを用いてコスト値Ｃｏｓｔを算出する。
【００８２】
コスト値算出部４２は、ブロックマッチングを行う際に、動きベクトルの算出対象である基準画像のカレントブロックと参照画像における探索範囲内の参照ブロック間の動きベクトルである探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数、および算出されているカレントブロックに対応する特徴量を用いて、探索範囲内の参照ブロック位置毎にコスト値を算出する。
【００８３】
以下、各ブロックについて動きベクトルの算出を１回とする場合と、基準画像の各ブロックについて動きベクトルの仮算出を従来と同様にブロックマッチングにより得られた評価値に基づいて行い、仮算出されている各ブロックの動きベクトルを利用して再度基準画像の各ブロックについて動きベクトルを算出しなおす場合について説明する。なお、以下の説明では、探索位置動きベクトルＭＶを（ＭＶx，ＭＶy）とする。
【００８４】
コスト値算出部４２は、予測動きベクトルとして、カレントブロックに対する隣接ブロックの算出済みの動きベクトルや隣接ブロックの算出済みの動きベクトルの統計処理結果等を予測動きベクトルとして用いる。また、コスト値算出部４２は、静止している被写体の画像を考慮して、予測動きベクトルにゼロベクトルを含める。図１１は、隣接ブロックの算出済みの動きベクトルを例示した図である。
【００８５】
図１１の（Ａ）は、基準画像において、動きベクトルを算出するカレントブロックＢcrと、カレントブロックに対する隣接ブロックを示している。例えば左上側に隣接するブロックをブロックＢLU、上側に隣接するブロックをブロックＢU、右上側に隣接するブロックをブロックＢRUとする。また、例えば左側に隣接するブロックをブロックＢL、右側に隣接するブロックをブロックＢRとする。さらに、左下側に隣接するブロックをブロックＢLD、下側に隣接するブロックをブロックＢD、右下側に隣接するブロックをブロックＢRDとする。
【００８６】
動きベクトルの算出を１回とする場合、例えば、水平方向に順次ブロック順に動きベクトルを算出する。図１１の（Ｂ）に示すように、カレントブロックの動きベクトル算出時には、左上側に隣接するブロックＢLUの動きベクトルＭＶLU、上側に隣接するブロックＢUの動きベクトルＭＶU、右上側に隣接するブロックＢRUの動きベクトルＭＶRU、左側に隣接するブロックＢLの動きベクトルＭＶLが算出されている。したがって、コスト値算出部４２は、図１１の（Ｂ）に示す算出済みの動きベクトルを用いてコスト値の算出を行う。
【００８７】
動きベクトルの算出を２回とする場合、１回目の動きベクトルの仮算出を行うことで、図１１の（Ｃ）に示すように、ブロックＢLUの動きベクトルＭＶLU1、ブロックＢUの動きベクトルＭＶU1、ブロックＢRUの動きベクトルＭＶRU1、ブロックＢLの動きベクトルＭＶL1、ブロックＢRの動きベクトルＭＶR1、ブロックＢLDの動きベクトルＭＶLD1、ブロックＢDの動きベクトルＭＶD1、ブロックＢRDの動きベクトルＭＶRD1が仮算出されている。したがって、コスト値算出部４２は、図１１の（Ｃ）に示す各隣接ブロックの動きベクトルを用いてコスト値の算出を行う。
【００８８】
動きベクトルの算出を１回とする場合、コスト値算出部４２は、ゼロベクトルと隣接ブロックの仮算出済みの動きベクトルを予測動きベクトルとして用いる。また、コスト値算出部４２は、隣接ブロックの仮算出済みの動きベクトルを用いて統計処理を行うことにより算出した動きベクトルを予測動きベクトルとして用いる。例えば隣接するブロックの動きベクトルの中央値（median）を動きベクトルＭＶmed、隣接するブロックの動きベクトルの平均値(mean)を動きベクトルＭＶmeanとして、予測動きベクトルとする。
【００８９】
コスト値算出部４２は、探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数と特徴量算出部４１で算出された特徴量を用いてコスト値Ｃｏｓｔを参照ブロック位置毎に算出する。コスト値算出部４２は、探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数「Ｄｉｆｆ（ＭＶ１，ＭＶ２）」を式（８）または式（９）のように定義する。なお、式（８）はＬ１ノルム、式（９）はＬ２ノルムに相当する。
【００９０】
【数８】
2013005400.tif 000010
【００９１】
さらに、コスト値算出部４２は、式（１０）に示すように、差分に上限値ＬＭuを設定して、差分関数の関数値による影響を制限する。例えば、１ビットの基準画像と参照画像のブロックマッチングを８画素×８画素のブロックサイズで行うと差分絶対値和ＳＡＤは最大「６４」であり、動きベクトルの差分が大きいと、差分絶対値和ＳＡＤに対してコスト値Ｃｏｓｔの比率が高くなりすぎてしまう。したがって、差分に上限値ＬＭuを設定して、コスト値Ｃｏｓｔの比率が高くなりすぎてしまうことを防止する。
Ｆｕｎｃ（ＭＶ１，ＭＶ２）＝ｍｉｎ（ＬＭu，Ｄｉｆｆ（ＭＶ１，ＭＶ２））・・・（１０）
【００９２】
コスト値算出部４２は、予測動きベクトル毎の関数値を用いて式（１１）の演算を行いコスト値Ｃｏｓｔを算出する。なお、式（１１）において、α，β1〜β4、γ1，γ2は、調整パラメータであり「０」または正数値である。
【００９３】
【数９】
2013005400.tif 000011
【００９４】
動きベクトルの算出を２回とする場合、コスト値算出部４２は、ゼロベクトルと隣接ブロックの仮算出済みの動きベクトルを予測動きベクトルとして用いる。なお、動きベクトルの算出を２回とする場合、１回目の動きベクトルの算出ではブロックマッチングにより得られた評価値に基づいて各ブロックの動きベクトルを仮算出する。また、各ブロックの動きベクトルが仮算出されていることから、カレントブロックに対して隣接する８個のブロックの動きベクトルが予測動きベクトルとして用いられる。また、コスト値算出部４２は、隣接ブロックの算出済みの動きベクトルを用いて統計処理を行うことにより算出した動きベクトルを予測動きベクトルとして用いる。例えば隣接するブロックの動きベクトルの中央値（median）を動きベクトルＭＶmed、隣接するブロックの動きベクトルの平均値(mean)を動きベクトルＭＶmeanとして、予測動きベクトルとする。
【００９５】
コスト値算出部４２は、探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数と特徴量算出部４１で算出された特徴量を用いてコスト値Ｃｏｓｔを算出する。コスト値算出部４２は、探索位置動きベクトルと予測動きベクトルとの差分を示す差分関数「Ｄｉｆｆ（ＭＶ１，ＭＶ２）」を、上述の式（８）または式（９）のように定義する。さらに、コスト値算出部４２は、上述の式（１０）に示すように、コスト値の上限値ＬＭuを設定して、差分関数の関数値による影響を制限する。
【００９６】
コスト値算出部４２は、予測動きベクトル毎の関数値を用いて式（１２）の演算を行いコスト値Ｃｏｓｔを参照ブロック位置毎に算出する。なお、式（１２）において、α，β1〜β8、γ1，γ2は、調整パラメータであり「０」または正数値である。
【００９７】
【数１０】
2013005400.tif 000012
【００９８】
このようにして算出されるコスト値Ｃｏｓｔは、探索位置動きベクトルと予測動きベクトルとの差が小さいとコスト値Ｃｏｓｔが小さくなる。また、ブロック内の輝度情報の非平坦度が高い場合には、コスト値Ｃｏｓｔが小さくなる。さらに、基準画像の各ブロックについて動きベクトルの仮算出を行うことで、右側や下側等に隣接ブロックの動きベクトルも予測動きベクトルとして利用できるようになる。なお、コスト値Ｃｏｓｔの算出は、式（１１）（１２）に示した予測動きベクトルの一部のみを用いて、演算量を少なくしてもよい。
【００９９】
＜６．ブロックマッチング処理部の構成と動作＞
次に、ブロックマッチング処理部４３について説明する。ブロックマッチング処理部４３は、低ビット基準画像と低ビット参照画像を用いて、低ビット基準画像のカレントブロックに対して参照画像の探索範囲における参照ブロック位置毎に評価値を算出する。また、ブロックマッチング処理部４３は、参照ブロック位置毎にコスト値算出部４２で算出されたコスト値を用いて評価値を補正して、補正後の評価値に基づき動きベクトルを算出する。すなわち、ブロックマッチング処理部４３は、補正後の評価値に基づき基準画像のブロックと参照画像のブロックの画像が最も類似するブロック位置を検出して、検出したブロック位置の座標値から動きベクトルを算出する。
【０１００】
図１２は、ブロックマッチング処理部４３の構成を示している。ブロックマッチング処理部４３は、低ビット基準画像の画像データＤＶ-cbと低ビット参照画像の画像データＤＶ-rbおよびコスト値Ｃｏｓｔを用いて動きベクトルＭＶの算出を行う。
【０１０１】
基準ブロック指定部４３１は、低ビット基準画像に対して動きベクトルの算出を行うカレントブロックを指定して、指定したブロック内の画像データを評価値算出部４３３に出力する。
【０１０２】
参照ブロック指定部４３２は、低ビット参照画像から動きベクトルの探索範囲を指定して、指定した範囲の画像データを評価値算出部４３３に出力する。
【０１０３】
評価値算出部４３３は、基準ブロック指定部４３１で指定されたカレントブロックと、参照ブロック指定部４３２で指定された探索範囲内の参照ブロックとの間で評価値ＥＶａを算出する。評価値ＥＶａの算出は、探索範囲内で参照ブロックを順次移動させて各参照ブロック位置毎に行う。評価値算出部４３３は、低ビット基準画像と低ビット参照画像のブロック間の類似度が高くなるに伴い値が低下する評価値ＥＶａを用いる。例えば、評価値ＥＶａとして差分絶対値和ＳＡＤやＸＯＲ加算値ＳＯＸを用いる。また、差分自乗和（ＳＳＤ：Sum of Squared Difference）、正規化相互相関（ＮＣＣ:Normalized Cross Correlation）等を評価値として用いることもできる。
【０１０４】
評価値算出部４３３は、評価値ＥＶａとして差分絶対値和ＳＡＤを用いる場合、式（１３）の演算を行う。なお、式（１３）において、Ｔ（ｉ，ｊ）は低ビット基準画像のブロック内おける位置（ｉ，ｊ）の画素データ、Ｓ（ｉ，ｊ）は低ビット参照画像のブロック内おける位置（ｉ，ｊ）の画素データを示している。
【０１０５】
【数１１】
2013005400.tif 000013
【０１０６】
評価値算出部４３３は、評価値ＥＶａとしてＸＯＲ加算値ＳＯＸを用いる場合、式（１４）（１５）の演算を行う。なお、ＸＯＲ値を求める式（１５）において、Ｔ（ｉ，ｊ）は低ビット基準画像のブロック内おける位置（ｉ，ｊ）の画素データ、Ｓ（ｉ，ｊ）は低ビット画像のブロック内おける位置（ｉ，ｊ）の画素データを示している。
【０１０７】
【数１２】
2013005400.tif 000014
【０１０８】
また、評価値算出部４３３は、評価値ＥＶａとしてＸＯＲ加算値ＳＯＸを用いる場合、低ビット基準画像と低ビット参照画像の画像データがｎビットである場合は、ｎビットのＸＯＲ値の計算として式（１６）の演算を行う。すなわち式（１６）の演算によって、画素データが等しい場合は「ＸＯＲ＝０」、等しくない場合は「ＸＯＲ＝１」とする。なお、式（１６）において、「ｋ」は画素に割り当てるビット数の第ｋ位を示している。
【０１０９】
【数１３】
2013005400.tif 000015
【０１１０】
さらに、評価値算出部４３３は、例えば式（１７）に示すように、算出した差分絶対値和ＳＡＤまたはＸＯＲ加算値ＳＯＸに対してコスト値Ｃｏｓｔを加算して評価値ＥＶａの補正を行い、補正後の評価値ＥＶｃを算出して動きベクトル算出部４３４に出力する。
ＥＶｃ＝ＥＶａ（ＳＡＤor ＳＯＸ等）＋Ｃｏｓｔ      ・・・（１７）
【０１１１】
動きベクトル算出部４３４は、補正後の評価値ＥＶｃに基づき基準画像のブロックと最も類似度が高い参照画像のブロック位置、すなわち評価値ＥＶｃが最小となる参照画像のブロック位置を検出する。さらに、基準画像のブロックと最も類似度が高い参照画像のブロックとの座標差から動きベクトルＭＶを算出する。
【０１１２】
図１３は、ブロックマッチング処理部４３の動作を示すフローチャートである。ステップＳＴ５１でブロックマッチング処理部４３は、低ビット基準画像のブロックの指定を行う。ブロックマッチング処理部４３は、低ビット基準画像における動きベクトルの算出対象であるカレントブロックを指定してステップＳＴ５２に進む。
【０１１３】
ステップＳＴ５２でブロックマッチング処理部４３は、探索範囲の設定を行う。ブロックマッチング処理部４３は、低ビット参照画像に対して探索範囲を設定してステップＳＴ５３に進む。
【０１１４】
ステップＳＴ５３でブロックマッチング処理部４３は、参照ブロック位置の指定を行う。ブロックマッチング処理部４３は、探索範囲に動きベクトルの検出における参照ブロックの位置を指定してステップＳＴ５４に進む。
【０１１５】
ステップＳＴ５４でブロックマッチング処理部４３は、評価値の算出と補正を行う。ブロックマッチング処理部４３は、カレントブロックと参照ブロックの画素データから評価値ＥＶａを算出する。ブロックマッチング処理部４３は、評価値ＥＶａとして差分絶対値和ＳＡＤやＸＯＲ加算値ＳＯＸ等を算出する。さらに、ブロックマッチング処理部４３は、算出した差分絶対値和ＳＡＤやＸＯＲ加算値ＳＯＸにコスト値を加算して補正後の評価値ＥＶｃを算出する。
【０１１６】
なお、低ビット基準画像と低ビット参照画像がｎビットである場合、図１４に示すＸＯＲ値計算処理を行うことで、ブロック内の画素毎にＸＯＲ値を算出できる。
【０１１７】
ステップＳＴ６１でブロックマッチング処理部４３は、ビット位置を示すパラメータｋを「ｋ＝１」とする。ブロックマッチング処理部４３は、ビット位置を示すパラメータｋを、低ビット基準画像と低ビット参照画像における画素データの最下位ビットを示す値「ｋ＝１」に設定してステップＳＴ６２に進む。
【０１１８】
ステップＳＴ６２でブロックマッチング処理部４３は、パラメータｋがｎより大きくなったか否か判別する。ブロックマッチング処理部４３は、パラメータｋが低ビット基準画像と低ビット参照画像における画素データの最上位ビットよりも大きくない場合はステップＳＴ６３に進む。また、ブロックマッチング処理部４３は、パラメータｋが低ビット基準画像と低ビット参照画像における画素データの最上位ビットよりも大きくなった場合ステップＳＴ６８に進む。
【０１１９】
ステップＳＴ６３でブロックマッチング処理部４３は、第ｋ位ビットの読み出しを行う。ブロックマッチング処理部４３は、低ビット基準画像と低ビット参照画像における画素データから第ｋ位ビットのデータを読み出してステップＳＴ６４に進む。
【０１２０】
ステップＳＴ６４でブロックマッチング処理部４３は、ＸＯＲ計算を行う。ブロックマッチング処理部４３は、ステップＳＴ６３で読み出した第ｋ位ビットのデータについて排他論理和を算出してステップＳＴ６５に進む。
【０１２１】
ステップＳＴ６５でブロックマッチング処理部４３は、第ｋ位が「ＸＯＲ＝１」であるか否か判別する。ブロックマッチング処理部４３は、ステップＳＴ６４で計算した第ｋ位ビットの排他論理和が「０」である場合ステップＳＴ６６に進む。また、ブロックマッチング処理部４３は、ステップＳＴ６４で計算した第ｋ位ビットの排他論理和が「１」である場合ステップＳＴ６７に進む。
【０１２２】
ステップＳＴ６６でブロックマッチング処理部４３は、「ｋ＝ｋ＋１」の演算を行い、パラメータｋを更新してステップＳＴ６２に戻る。
【０１２３】
ステップＳＴ６７でブロックマッチング処理部４３は、ｎビットのＸＯＲ値として「ＸＯＲ＝１」として処理を終了する。
【０１２４】
ステップＳＴ６８でブロックマッチング処理部４３は、ｎビットのＸＯＲ値として「ＸＯＲ＝０」として処理を終了する。
【０１２５】
このような処理を行うと、低ビット基準画像と低ビット参照画像における画素データは、最下位ビットから最上位ビット方向に、各ビットの値が等しいか否かが判別される。ここで、ビットの値が等しくない場合、ＸＯＲ値は「ＸＯＲ＝１」となる。また、全ビットの値が等しい場合、ＸＯＲ値は「ＸＯＲ＝０」となる。すなわち、低ビット基準画像と低ビット参照画像におけるｎビットの画素データが等しくない場合、ｎビットのＸＯＲ値は「ＸＯＲ＝１」、ｎビットの画素データが等しい場合、ｎビットのＸＯＲ値は「ＸＯＲ＝０」となる。
【０１２６】
このようにして、低ビット基準画像と低ビット参照画像における画像データがｎビットである場合のＸＯＲ値を算出できる。
【０１２７】
図１３に戻り、ステップＳＴ５５でブロックマッチング処理部４３は、探索範囲内の全ブロックについて評価値の算出と補正が完了したか否か判別する。ブロックマッチング処理部４３は、探索範囲内の各参照ブロック位置について評価値の算出と補正が完了していない場合にはステップＳＴ５６に進み、探索範囲内の各参照ブロック位置ついて評価値の算出と補正が完了した場合にはステップＳＴ５７に進む。
【０１２８】
ステップＳＴ５６でブロックマッチング処理部４３は、参照ブロックの新たな位置の指定を行う。ブロックマッチング処理部４３は、探索範囲内で評価値の算出と補正が完了していない参照ブロックの位置を新たに指定してステップＳＴ５４に戻る。
【０１２９】
ステップＳＴ５７でブロックマッチング処理部４３は、基準ブロックに対する動きブロックの検出を行う。ブロックマッチング処理部４３は、算出した評価値ＥＶｃから基準画像のブロックと類似度が最も高くなる参照ブロック位置を判別する。この判別した参照ブロック位置と基準画像のカレントブロック位置との座標差からローカル動きベクトルを算出してステップＳＴ５８に進む。
【０１３０】
ステップＳＴ５８でブロックマッチング処理部４３は、低ビット基準画像の全てのブロックについて処理が完了したか否か判別する。ブロックマッチング処理部４３は、処理が完了していないブロックが残っている場合ステップＳＴ５９に進む、また、ブロックマッチング処理部４３は、低ビット基準画像の全ブロックについて処理が完了した場合、ブロックマッチング処理を終了する。
【０１３１】
ステップＳＴ５９でブロックマッチング処理部４３は、新たなブロックの指定を行う。ブロックマッチング処理部４３は、動きベクトルの算出が完了していないブロックを新たに指定してステップＳＴ５２に戻る。
【０１３２】
本技術では、上述のように、探索位置動きベクトルと予測動きベクトルとの差に基づいてコスト値Ｃｏｓｔを算出して、このコスト値Ｃｏｓｔを用いてブロックマッチングの評価値ＥＶａを補正する。また、補正後の評価値ＥＶｃが最小となるブロック位置に基づき動きベクトルを算出する。したがって、近傍のブロックと類似した動きベクトルが算出されやすくなり、コスト値を用いることなく動きベクトルの算出を行う場合に比べて、動きベクトルのあばれを少なくできる。
【０１３３】
さらに、基準画像のブロック内の輝度情報の非平坦度が高い場合、すなわち特徴量ＦＤが大きい場合にはコスト値Ｃｏｓｔが小さくなり、非平坦度が低い場合、すなわち特徴量ＦＤが小さい場合にはコスト値Ｃｏｓｔが大きくなる。このため、基準画像のブロックが平坦な画像である場合には、コスト値Ｃｏｓｔが大きくなり、評価値ＥＶａに対するコスト値Ｃｏｓｔの寄与が大きくなる。したがって、基準画像のブロックが平坦な画像であるために探索範囲における評価値ＥＶａの変化が小さく正しい動きベクトルを算出することが困難な場合、隣接ブロックの動きベクトルを利用して動きベクトルが算出されるので、動きベクトルのあばれを少なくできる。また、基準画像のブロックが複雑な画像である場合にはコスト値Ｃｏｓｔが小さくなり、評価値ＥＶａに対するコスト値Ｃｏｓｔの寄与が小さくなる。したがって、基準画像のブロックが複雑な画像で探索範囲における評価値ＥＶａの変化が大きく正しく動きベクトルを算出することができる場合には、ブロックマッチング結果に基づいた動きベクトルを算出できる。したがって、コスト値を用いることなく動きベクトルの算出を行う場合に比べて、動きベクトルのあばれが少なく精度よく動きベクトルを算出できる。
【０１３４】
また、ブロックマッチング処理部は、低ビット画像を用いることから簡単な構成で動きベクトルの算出を行うことができる。
【０１３５】
＜７．処理をプログラムにより実行する場合について＞
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータを用いる。または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどを用いて、記録媒体からプログラムをインストールする。
【０１３６】
図１５は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
【０１３７】
コンピュータ８０において、ＣＰＵ（Central Processing Unit）８１、ＲＯＭ（Read Only Memory）８２、ＲＡＭ（Random Access Memory）８３は、バス８４により相互に接続されている。
【０１３８】
バス８４には、さらに、入出力インタフェース部８５が接続されている。入出力インタフェース部８５には、キーボード、マウスなどよりなるユーザインタフェース部８６、画像データを入力するための入力部８７、ディスプレイなどよりなる出力部８８、ハードディスクや不揮発性のメモリなどよりなる記録部８９等が接続される。さらに、入出力インタフェース部８５には、ネットワークインタフェースなどよりなる通信部９０、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア９５を駆動するドライブ９１が接続されている。
【０１３９】
以上のように構成されるコンピュータでは、ＣＰＵ８１が、例えば、記録部８９に記録されているプログラムを、入出力インタフェース部８５およびバス８４を介して、ＲＡＭ８３にロードして実行することにより、上述した一連の処理が行われる。
【０１４０】
コンピュータ（ＣＰＵ８１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（ＣＤ−ＲＯＭ(Compact Disc-Read Only Memory),ＤＶＤ(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア９５に記録して提供される。または、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１４１】
そして、プログラムは、プログラムが記録された記録媒体であるリムーバブルメディア９５をドライブ９１に装着することにより、入出力インタフェース部８５を介して、記録部８９にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部９０で受信し、記録部８９にインストールすることができる。その他、プログラムは、ＲＯＭ８２や記録部８９に、予めインストールしておくことができる。
【０１４２】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能であり、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【０１４３】
また、本技術の情報処理装置は、以下のような構成も取ることができる。
（１）  基準画像から低ビット深度の低ビット基準画像を生成する低ビット基準画像生成部と、
参照画像から低ビット深度の低ビット参照画像を生成する低ビット参照画像生成部と、
前記基準画像における輝度情報の非平坦度を表す特徴量を算出する特徴量算出部と、
前記低ビット基準画像と低ビット参照画像のブロックマッチングにおける参照ブロック位置毎のコスト値を、前記低ビット基準画像のブロックに対応する前記基準画像のブロックの特徴量と前記低ビット基準画像のブロックに対して設定した予測動きベクトルを用いて算出するコスト値算出部と、
前記参照ブロック位置毎に、前記算出したコスト値を用いて前記低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値を補正して、補正後の評価値に基づき動きベクトルを算出するブロックマッチング処理部と
を備える情報処理装置。
（２）  前記コスト値算出部は、前記予測動きベクトルとして、ブロックマッチングを行う低ビット基準画像のブロックに隣接するブロックの動きベクトルを用いる（１）に記載の情報処理装置。
（３）  前記ブロックマッチング処理部は、前記ブロックマッチングにより得られた評価値に基づいて前記低ビット基準画像のブロック毎に動きベクトルの仮算出を行い、
前記コスト値算出部は、前記予測動きベクトルとして、前記隣接するブロックの前記仮算出されている動きベクトルを用いる（２）に記載の情報処理装置。
（４）  前記コスト値算出部は、前記予測動きベクトルとして、前記隣接するブロックの動きベクトルを用いて統計処理を行うことにより算出した動きベクトルを用いる（２）または（３）に記載の情報処理装置。
（５）  前記コスト値算出部は、前記予測動きベクトルとしてゼロベクトルを用いる（１）乃至（４）の何れかに記載の情報処理装置。
（６）  前記コスト値算出部は、前記低ビット基準画像のブロックと参照ブロック間の動きベクトルと前記予測動きベクトルとの差分を示す差分関数を用いて、前記コスト値の算出を行う（１）乃至（５）の何れかに記載の情報処理装置。
（７）  前記コスト値算出部は、前記差分の上限を予め設定した値に制限する（６）に記載の情報処理装置。
（８）  前記特徴量算出部は、前記特徴量として、前記低ビット基準画像のブロックに対応する前記基準画像の領域における輝度情報のダイナミックレンジまたは偏差を用いる（１）乃至（７）の何れかに記載の情報処理装置。
（９）  前記特徴量算出部は、フィルタ処理された基準画像を用いて特徴量を算出する（１）乃至（８）の何れかに記載の情報処理装置。
【産業上の利用可能性】
【０１４４】
この技術の情報処理装置と情報処理方法およびプログラムと記録媒体では、基準画像における所定のブロック毎に輝度情報の非平坦度を表す特徴量が算出されて、この特徴量と予測動きベクトルを用いて、低ビット基準画像と低ビット参照画像のブロックマッチングにおけるブロック位置毎のコスト値が算出される。このブロック位置毎に算出したコスト値を用いて低ビット基準画像と低ビット参照画像のブロックマッチングにより得られた評価値が補正されて、補正後の評価値に基づき動きベクトルの算出が行われる。このため、動きベクトルを簡単な構成で精度よく算出できることから、画像符号化機能を有する電子機器、例えば撮像装置や画像記録装置、画像編集装置等に適している。
【符号の説明】
【０１４５】
１０・・・情報処理装置、２１・・・画像メモリ部、３１-c・・・低ビット基準画像生成部、３１-r・・・低ビット参照画像生成部、４１・・・特徴量算出部、４２・・・コスト値算出部、４３・・・ブロックマッチング処理部、５１・・・動き補償部、８０・・・コンピュータ、８１・・・ＣＰＵ、８２・・・ＲＯＭ、８３・・・ＲＡＭ、８４・・・バス、８５・・・入出力インタフェース部、８６・・・ユーザインタフェース部、８７・・・入力部、８８・・・出力部、８９・・・記録部、９０・・・通信部、９１・・・ドライブ、９５・・・リムーバブルメディア、３１１，３１１ａ，３１１ｂ・・・フィルタ処理部、３１２，３１２ａ，３１２ｂ・・・画像比較部、３１３・・・閾値設定部、３１４・・・画像比較部、４３１・・・基準ブロック指定部、４３２・・・参照ブロック指定部、４３３・・・評価値算出部、４３４・・・動きベクトル算出部
【図１】
2013005400.tif 000016
【図２】
2013005400.tif 000017
【図３】
2013005400.tif 000018
【図４】
2013005400.tif 000019
【図５】
2013005400.tif 000020
【図６】
2013005400.tif 000021
【図７】
2013005400.tif 000022
【図８】
2013005400.tif 000023
【図９】
2013005400.tif 000024
【図１０】
2013005400.tif 000025
【図１１】
2013005400.tif 000026
【図１２】
2013005400.tif 000027
【図１３】
2013005400.tif 000028
【図１４】
2013005400.tif 000029
【図１５】
2013005400.tif 000030