(57)【要約】【課題】動き探索処理を高速化するために探索ポイントを減らすと、処理速度は向上するものの、動き探索の精度は悪化し、結果として符号化効率が低下してしまう。また、特に水平方向の動き検出に適した探索アルゴリズムを用いる場合には、手ブレ等によって撮影画像に垂直方向の動きが生ずると、動き検出精度が著しく劣化してしまう。【解決手段】撮影筐体が固定された定点撮影であるか否かを示す撮影状態指示信号に応じて、定点撮影に特化した水平探索モードあるいは通常の２次元探索モードのいずれかを選択することにより、最適な動きベクトル探索を行う。特に水平探索モード時には、複数の相関度算出部１３１２ａ，１３１２ｂを用いて複数の探索ポイントに対する並列処理を行うことにより、高速処理が実現される。【選択図】  図３
2010021892.tif 000002
【特許請求の範囲】
【請求項１】
動画像のフレームをブロックに分割し、現フレーム内の現処理対象ブロックについて、参照フレーム内で予測ブロックを順次移動させてブロックマッチングを行うことにより動きベクトルを探索する動きベクトル探索装置であって、
前記参照フレームにおける前記現処理対象ブロックの動き探索範囲に相当する画素データを保持する動き探索範囲保持手段と、
前記動き探索範囲保持手段から前記予測ブロックに相当する画素データを入力して、前記現処理対象ブロックの画素データとの相関度を算出する相関度算出手段と、
前記相関度算出手段で算出された相関度に基づき、前記現処理対象ブロックに対して最も高い相関を示す前記予測ブロックの位置により動きベクトルを決定する動きベクトル検出手段と、
前記動画像が撮影範囲を固定した定点撮影によるものであるか否かを示す撮影状態指示手段と、を有し、
前記動きベクトル検出手段は、前記撮影状態指示手段によって前記動画像が前記定点撮影によるものであると示された場合に、１次元方向への動き探索を行う第１の探索モードによる動きベクトル探索を行い、それ以外の場合には、２次元方向への動き探索を行う第２の探索モードによる動きベクトル探索を行うことを特徴とする動きベクトル探索装置。
【請求項２】
前記動きベクトル検出手段は、動きベクトル探索における単位時間あたりのブロックマッチングの回数が、前記第１の探索モード時と前記第２の探索モード時とで異なることを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項３】
複数の前記相関度算出手段を備え、
前記動きベクトル検出手段は、前記第１の探索モード時には複数の前記相関度算出手段を並列に動作させ、前記第２の探索モード時には複数の前記相関度算出手段のいずれか１つを動作させるように制御することを特徴とする請求項１または２に記載の動きベクトル探索装置。
【請求項４】
前記動きベクトル検出手段は、動きベクトル探索における前記参照フレーム内で処理される前記予測ブロックの位置の順序が、前記第１の探索モード時と前記第２の探索モード時とで異なることを特徴とする請求項３に記載の動きベクトル探索装置。
【請求項５】
前記動きベクトル検出手段は、前記第１の探索モード時には複数の前記相関度算出手段のそれぞれが、連続する前記予測ブロックに対応する相関度を同時に算出するように制御することを特徴とする請求項３に記載の動きベクトル探索装置。
【請求項６】
前記撮影状態指示手段は、ユーザ指示に基づいて、前記動画像が前記定点撮影によるものであるか否かを示すことを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項７】
前記撮影状態指示手段は、撮影時に検出されたブレ度合いに基づいて、前記動画像が前記定点撮影によるものであるか否かを示すことを特徴とする請求項１に記載の動きベクトル探索装置。
【請求項８】
請求項１乃至７のいずれか１項に記載の動きベクトル探索装置を構成として含む動画像撮像装置であって、
被写体を撮像して動画像データを得る撮像手段と、
該撮像された動画像データに対して、前記動きベクトル探索装置によって動きベクトルを探索して動き補償予測符号化を施す符号化手段と、
該符号化された動画像データを記録媒体へと記録する記録手段と、
を有することを特徴とする動画像撮像装置。
【請求項９】
前記動きベクトル探索装置における前記撮影状態指示手段は、当該動画像撮像装置の筐体が固定されている場合に、前記動画像が前記定点撮影によるものであると示すことを特徴とする請求項８に記載の動画像撮像装置。
【請求項１０】
前記撮像手段は、撮影時に発生した手ブレによるブレ度合いを検出し、
前記動きベクトル探索装置における前記撮影状態指示手段は、前記撮像手段において検出されたブレ度合いに基づいて、前記動画像が前記定点撮影によるものであるか否かを示すことを特徴とする請求項８に記載の動画像撮像装置。
【請求項１１】
動画像のフレームをブロックに分割し、現フレーム内の現処理対象ブロックについて、参照フレーム内で予測ブロックを順次移動させてブロックマッチングを行うことにより動きベクトルを探索するために、前記参照フレームにおける前記現処理対象ブロックの動き探索範囲に相当する画素データを保持する動き探索範囲保持手段を有する動きベクトル探索装置の制御方法であって、
前記動画像が撮影範囲を固定した定点撮影によるものであるか否かを示す撮影状態指示ステップと、
前記動き探索範囲保持手段から前記予測ブロックに相当する画素データを入力して、前記現処理対象ブロックの画素データとの相関度を算出する相関度算出ステップと、
前記相関度算出ステップにおいて算出された相関度に基づき、前記現処理対象ブロックに対して最も高い相関を示す前記予測ブロックの位置により動きベクトルを決定する動きベクトル検出ステップと、を有し、
前記動きベクトル検出ステップにおいては、前記撮影状態指示ステップによって前記動画像が前記定点撮影によるものであることが示された場合に、１次元方向への動き探索を行う第１の探索モードによる動きベクトル探索を行い、それ以外の場合には、２次元方向への動き探索を行う第２の探索モードによる動きベクトル探索を行うことを特徴とする動きベクトル探索装置の制御方法。
【請求項１２】
前記動きベクトル検出ステップにおいては、前記第１の探索モード時には、前記相関度算出ステップに対し複数の予測ブロックに対する相関度算出を並列に実行させ、前記第２の探索モード時には、前記相関度算出ステップに対し１つの予測ブロックに対する相関度算出を実行させるように制御すること特徴とする請求項１１に記載の動きベクトル探索装置の制御方法。
【請求項１３】
コンピュータを請求項１乃至７のいずれか１項に記載の動きベクトル探索装置として機能させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル動画像における動きベクトルを探索する動きベクトル探索装置及びその制御方法、及び動画像撮像装置に関する。
【背景技術】
【０００２】
動画像を撮影する動画像撮像装置は、一般に図４に示す構成からなる。動きを伴う被写体像は、ＣＣＤ等の固体撮像素子を含む撮像部４１で撮像され、電気信号に変換された画像情報は、画像処理部４２においてデジタル変換された後、適宜必要な画像処理が施される。その後、符号化部４３において圧縮符号化処理され、ディジタル信号を記録可能な記録媒体４４に記録される。なお、これらの動作は制御部４５によって統括的に制御される。
【０００３】
近年、このような動画像撮像装置においては、より高解像度化及び高フレームレート化が求められている。また、より長時間の撮影を可能にするため、いかに動画像を効率よく圧縮するかという点についても様々な工夫がなされている。動画像の効率的な圧縮方法としては、ＭＰＥＧ（Moving Picture Experts Group）の国際標準動画像符号化方式に代表されるような、動画像圧縮符号化方式が普及している。この動画像圧縮符号化方式においては、現フレームの入力信号ブロックと動き補償により得られた参照フレームの局部復号信号ブロックとのフレーム間予測誤差信号を、ＤＣＴ変換によって符号化しているため、動き補償予測符号化方式と呼ばれる。動き補償予測符号化方式においては、動画像のフレームをブロックに分割し、該ブロック単位でのマッチングを行う、所謂ブロックマッチング法により動きベクトルの探索が行なわれる。
【０００４】
ここで図７を用いて、一般的なブロックマッチング法における動きベクトル探索について説明する。図７に示すように、現フレームは例えば、１６画素×１６ラインのブロックに分割され、該ブロックを処理対象ブロックとして、ブロック毎に動きベクトルを探索する。動きベクトルは、参照フレーム内において現フレームの処理対象ブロックに対応する位置にあるブロックを基準に、該基準ブロックを含む周囲の画素群を動き探索範囲として、該動き探索範囲内から、最も相関度の大きいブロックの相対位置として求める。ここで相関度とは、現フレームの処理対象ブロックと、該動き探索範囲内から現処理対象ブロックと同サイズの領域（すなわち、動き予測用の予測ブロックであり、以下、参照ブロックと称する）とをずらしながら比較することによって求める。また、相関度の測定には、ブロック内における互いに対応する位置の画素の差分絶対値和等がよく用いられ、該差分絶対値和の値が小さいほど相関が高いと評価される。
【０００５】
上記図４に示す構成からなる従来の動画像撮像装置においても、符号化部４３において動きベクトル探索が行われる。ここで図５に、符号化部４３の詳細ブロック構成例を示す。符号化部４３に入力された入力画像情報は、動き探索部４３１と予測誤差生成部４３３に入力される。動き探索部４３１においては、参照フレームバッファ４３２から動き探索範囲の参照画像データを受け取って動きベクトル探索処理を行い、該探索結果を動きベクトル情報として、参照フレームバッファ４３２及び符号化部４３４へ随時出力する。
【０００６】
参照フレームバッファ４３２は、動き探索部４３１より出力された動き探索ベクトルが示す位置の参照ブロックデータを取り出し、動き探索部４３１へと出力する。また、符号化部４３４より出力される再構成画像を受け取り、蓄積する。また、動き探索部４３１が出力する動きベクトルが示す位置の参照ブロックデータを、予測画像として予測誤差生成部４３３へと出力する。
【０００７】
予測誤差生成部４３３においては、参照フレームバッファ４３２から上記のように算出された動きベクトルに対応する予測画像を入力し、入力画像情報と予測画像との予測誤差を生成し、予測誤差画像として符号化部４３４へ出力する。そして符号化部４３４においては、該予測誤差画像を動きベクトル情報とともに符号化し、符号化データとして出力する。符号化部４３４はまた、予測誤差画像を動きベクトル情報とともに符号化する一方で、該符号化した予測誤差画像を復号して再構成画像を生成し、参照フレームバッファ４３２へと出力する。参照フレームバッファ４３２は、参照フレームを格納しておくためのバッファであり、現フレームに対する参照フレームが常に参照可能となるように、不図示の制御手段によって制御される。
【０００８】
図６に、動き探索部４３１の詳細ブロック構成を示し、以下に説明する。なおここでは、図９に示すように処理対象ブロックのサイズを１６画素×１６画素とし、動き探索範囲のサイズを４８画素×４８画素とする。
【０００９】
図６において、４３１１はカレントブロックバッファであり、入力となる現フレームの入力画像情報を、処理対象ブロック毎に保持する。また、現処理対象ブロックのデータは、少なくとも該現処理対象ブロックの動き探索処理が終了するまで保持され、検出処理が終了する度毎に新たな現処理対象ブロックデータが格納されるよう、制御される。
【００１０】
相関度算出部４３１２は、カレントブロックバッファ４３１１及び参照ブロックバッファ４３１４より随時、処理対象ブロックデータ及び参照ブロックデータを受け取る。そして、動きベクトル決定部４３１３の出力する制御信号に基づいて、相関度を示す情報を動きベクトル決定部４３１３へ出力する。
【００１１】
動きベクトル決定部４３１３では、カレントブロックバッファ４３１１に処理対象ブロックが格納されると、現フレーム内における処理対象ブロックの位置情報に基づく制御信号を、参照ブロックバッファ４３１４へ出力する。参照ブロックバッファ４３１４はこの制御信号により、参照フレーム内の対応する動き探索範囲の画素データを格納するように制御される。動きベクトル決定部４３１３はまた、動き探索範囲の中から現処理対象ブロックと同サイズの領域の位置を随時決定していき、該位置に基いて参照ブロックバッファ４３１４及び相関度算出部４３１２の制御信号を生成し、出力する。また、相関度算出部４３１２の出力する相関度情報を受けて、該情報を基に次なる探索位置を決定し、さらに該探索位置に対応する相関度情報を入力する。以上の処理を繰り返し、最も相関度が高いと判断した位置情報を基に、動きベクトルを生成して出力する。
【００１２】
参照ブロックバッファ４３１４は、動きベクトル決定部４３１３の出力する制御信号を基に、参照フレームバッファ４３２より適切な動き探索範囲の画素データを取り出し、格納する。また、同じく動きベクトル決定部４３１３の出力する制御信号を基に、適切な画素データを相関度算出部４３１２へと出力する。
【００１３】
一般に、動画像の符号化処理においては、装置構成の実現コスト、符号化効率、及び処理速度等の観点から、上述した動き探索部４３１において、動きベクトル探索をどのようなアルゴリズムで実現し、どのように実装するかが重要なポイントの一つとなる。
【００１４】
周知の動き探索のアルゴリズムとして、Logarithmic search と呼ばれる方法がある（非特許文献１参照）。以下、これを２次元探索アルゴリズムとし、図８を用いて説明する。なお、図８における各黒点は、探索ポイントを表している。
【００１５】
まず第１のステップとして、探索範囲の中心にある探索ポイントと、該中心の探索ポイントを±４画素ずつ、周囲８方向ににずらした位置の探索ポイント（図中（１））を探索する。次に第２のステップとして、第１のステップで探索した９ポイントのうち、最も相関の高かったポイント（図中二重丸の（１））を中心として、該ポイントと、該ポイントから±２画素ずつ、周囲８方向にずらした位置の探索ポイント（図中（２））を探索する。第３ステップでも同様に、直前のステップで探索した９ポイントのうち、最も相関の高かったポイント（図中二重丸の（２））を中心として、該ポイントと、該ポイントから±１画素ずつ、周囲８方向にずらした位置の探索ポイント（図中（３））を探索する。ここで最も相関の高かったポイント（図中二重丸の（３））が、整数画素単位での最終的な動きベクトルとして求まる。
【００１６】
尚、半画素単位での動きベクトルを求める際には、上記整数画素単位での処理に対してさらに第４のステップを設ければよい。すなわち第４のステップでは、第３のステップにおいて最も相関の高かったポイント（図中二重丸の（３））を中心として、該ポイントと、該ポイントから±０．５画素ずつ、周囲８方向にずらした位置の探索ポイントを探索する。そして、該探索されたポイントのうち、最も相関の高かったポイントが、半画素単位での最終的な動きベクトルとして求まる。
【００１７】
また、他の動き探索アルゴリズムの例として、図１０を用いて水平探索アルゴリズムを説明する。同図に示すように、動き探索範囲を４８画素×１６画素に絞り、水平方向のみの探索を、左端から右端（あるいは右端から左端）へ向けて、半画素精度の探索であれば０．５画素単位で、整数画素精度の探索であれば１画素単位でずらしながら、探索を行う。この場合、半画素精度の探索では３２ポイント、整数画素単位での探索では１６ポイント分のブロックマッチングを行うことになり、その中で最も相関の高かったポイントが、動きベクトルとして求まる。尚、探索範囲の大きさによって探索のステップ数を適宜変更することにより、探索範囲の大きさにかかわらず同様の探索性能を得ることができる。
【００１８】
この水平探索アルゴリズムによれば、水平方向の動きを精度よく捉えることができるため、特に三脚等を利用して撮影範囲を固定とした定点撮影のような用途において、効果的な動きベクトル検出が可能となる。
【特許文献１】特開平6-38195号公報
【非特許文献１】ISO/IEC 11172-2 International Standard (Part 2: Video)
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上述したように動画像撮像装置においては、より高解像度化及び高フレームレート化が進んでおり、動き探索処理におけるさらなる処理性能の向上が求められている。動き探索処理を高速化する手法として、単純に探索ポイントを減らすことが考えられる。
【００２０】
しかしながら、探索ポイントの数を減らした場合、動き探索の処理スピードは向上するものの、動き探索の精度は悪化し、結果として符号化効率が低下してしまうという問題がある。
【００２１】
また、処理速度を向上させるために相関度算出部を複数設け、一度に複数の探索ポイントの評価を行う方法も考えられるが、この場合、互いに離れた複数ポイント分の参照ブロックデータが同時に必要となる。したがって、参照ブロックバッファを複数設けるか、または容量を大きく取る必要があり、ＲＡＭの容量の増加を招いてしまうという問題があった。
【００２２】
また、特に上記水平探索アルゴリズムを用いた動きベクトル探索を行う場合には、手ブレ等によって撮影画像に垂直方向の動きが生ずると、動き検出精度が著しく劣化してしまうという問題があった。
【００２３】
本発明は上述した問題を解決するためになされたものであり、以下のような機能を有する動きベクトル探索装置およびその制御方法、及び動画像撮像装置を提供することを目的とする。すなわち、動画像の撮影状態に応じた最適な動きベクトル探索を可能とする。また、特に定点撮影を行う場合に、動き探索処理の精度を低下させることなく、動きベクトル探索の処理速度を向上させる。
【課題を解決するための手段】
【００２４】
上記目的を達成するための一手段として、本発明の動きベクトル探索装置は以下のような構成を有する。
【００２５】
すなわち、動画像のフレームをブロックに分割し、現フレーム内の現処理対象ブロックについて、参照フレーム内で予測ブロックを順次移動させてブロックマッチングを行うことにより動きベクトルを探索する動きベクトル探索装置であって、前記参照フレームにおける前記現処理対象ブロックの動き探索範囲に相当する画素データを保持する動き探索範囲保持手段と、前記動き探索範囲保持手段から前記予測ブロックに相当する画素データを入力して、前記現処理対象ブロックの画素データとの相関度を算出する相関度算出手段と、前記相関度算出手段で算出された相関度に基づき、前記現処理対象ブロックに対して最も高い相関を示す前記予測ブロックの位置により動きベクトルを決定する動きベクトル検出手段と、前記動画像が撮影範囲を固定した定点撮影によるものであるか否かを示す撮影状態指示手段と、を有し、前記動きベクトル検出手段は、前記撮影状態指示手段によって前記動画像が前記定点撮影によるものであると示された場合に、１次元方向への動き探索を行う第１の探索モードによる動きベクトル探索を行い、それ以外の場合には、２次元方向への動き探索を行う第２の探索モードによる動きベクトル探索を行うことを特徴とする。
【００２６】
さらに、複数の前記相関度算出手段を備え、前記動きベクトル検出手段は、前記第１の探索モード時には複数の前記相関度算出手段を並列に動作させ、前記第２の探索モード時には複数の前記相関度算出手段のいずれか１つを動作させるように制御することを特徴とする。
【発明の効果】
【００２７】
上記構成からなる本発明によれば、動画像の撮影状態に応じた最適な動きベクトル探索を行うことができる。
【００２８】
また、特に定点撮影を行う場合に、動き探索処理の精度を低下させることなく、動きベクトル探索の処理速度を向上させることで、高解像度化及び高フレームレート化に対応可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００３０】
＜第１実施形態＞
●システム構成
図１は、本実施形態における動画像撮像装置の構成を示すブロック図である。同図に示すように本実施形態の動画像撮像装置においては、動きを伴う被写体像が、ＣＣＤ等の固体撮像素子を含む撮像部１１で撮像され、電気信号に変換された動画像データは、画像処理部１２においてデジタル変換された後、適宜必要な画像処理が施される。その後、符号化部１３において圧縮符号化処理され、ディジタル信号を記録可能な記録媒体１４に記録される。なお、これらの動作は制御部１５によって統括的に制御される。
【００３１】
ここで、一般に動画像撮像装置本体を撮影者が手で保持して撮影を行う場合、装置本体にブレが生じ、結果として撮像画像全体がそのブレに影響され、動き量が大きくなるという傾向がある。一方、撮像装置本体を三脚等を用いて固定して撮影を行う場合、装置本体のブレがない分、撮像した動画像の動き量は比較的少ない。本実施形態では、このような撮影状態の特徴に応じて、動きベクトル探索のアルゴリズムを選択的に用いることを特徴とする。
【００３２】
本実施形態の動画像撮像装置においては、現在の撮影の状態を示す撮影状態指示信号が、符号化部１３及び制御部１５に入力され、それぞれが該撮影状態指示信号に応じて所定の動作を行うことを特徴とする。本実施形態における撮影状態指示信号は、撮影状態指示信号発生部１０において生成される。撮影状態指示信号としては上述したように、動画像撮影装置の筐体が三脚に固定される等によって撮影範囲が固定された撮影状態（以下、定点撮影状態）と、撮影者が手で筐体を保持している状態（以下、手持ち撮影状態）、のいずれかの状態を示すものとする。撮影状態指示信号発生部１０においては、ユーザが不図示のボタン等によって直接設定した撮影モードに応じて、撮影状態指示信号を発生する。すなわち、ユーザ指示に基づいて定点撮影モードが設定された場合に、上記定点撮影状態を示す信号を発生し、それ以外の撮影モードが設定された場合には、上記手持ち撮影状態を示す信号を発生する。なお、撮影状態指示信号発生部１０における撮影信号状態の発生は、ユーザ指示に基づく撮影モード設定によるものとは限らない。例えば、撮影時の手ブレを検知し、そのブレ度合いに応じて定点撮影であるのか、手持ち撮影であるかを判定し、該判定結果に応じて撮影状態信号を発生するようにしても良い。
【００３３】
本実施形態の動画像撮像装置では、符号化部１３において動きベクトル探索が行われる。本実施形態の動きベクトル探索は、動画像のフレームをブロックに分割し、現フレーム内の現処理対象ブロックについて、参照フレーム内で予測ブロックを順次移動させて動き補償を行う。
ここで図２に、符号化部１３の詳細ブロック構成例を示す。符号化部１３に入力された入力画像情報は、動き探索部１３１と予測誤差生成部１３３に入力される。動き探索部１３１には撮影状態指示信号が入力され、撮影状態指示信号が示す状態に応じた動き探索を行う。すなわち、撮影状態指示信号が示す状態に応じて動き探索モードを選択し、参照フレームバッファ１３２から動き探索範囲の参照画像データを受け取ると、該選択された動き探索モードに応じた探索アルゴリズムによって動きベクトル探索処理を行う。該探索結果を動きベクトル情報として、参照フレームバッファ１３２および符号化部４３４へ随時出力する。
【００３４】
参照フレームバッファ１３２は、動き探索部１３１より出力された動き探索ベクトルが示す位置の参照ブロックデータを取り出し、動き探索部１３１へと出力する。また、符号化部１３４より出力される再構成画像を受け取り、蓄積する。また、動き探索部１３１が出力する動きベクトルが示す位置の参照ブロックデータを、予測画像として予測誤差生成部１３３へと出力する。
【００３５】
予測誤差生成部１３３においては、参照フレームバッファ１３２から上記のように算出された動きベクトルに対応する予測画像を入力し、入力画像情報と予測画像との予測誤差を生成し、予測誤差画像として符号化部１３４へ出力する。
【００３６】
符号化部１３４においては、予測誤差生成部１３３が出力する予測誤差画像と、動き探索部１３１が出力する動きベクトル情報を符号化し、符号化データとして出力する。符号化部１３４はまた、予測誤差画像を動きベクトル情報とともに符号化する一方で、該符号化した予測誤差画像を復号して再構成画像を生成し、参照フレームバッファ１３２へと出力する。参照フレームバッファ１３２は、参照フレームを格納しておくためのバッファであり、現フレームに対する参照フレームが常に参照可能となるように、不図示の制御手段によって制御される。
【００３７】
図３に、動き探索部１３１の詳細ブロック構成を示し、以下に説明する。
【００３８】
図３において、１３１１はカレントブロックバッファであり、入力となる現フレームの入力画像情報を、処理対象ブロック毎に保持する。また、現処理対象ブロックのデータは、少なくとも該現処理対象ブロックの動き探索処理が終了するまで保持され、検出処理が終了する度毎に新たな現処理対象ブロックデータが格納されるよう、制御される。
【００３９】
１３１２ａ，１３１２ｂはそれぞれ相関度算出部であり、カレントブロックバッファ１３１１及び参照ブロックバッファ１３１４より随時、処理対象ブロックデータ及び参照ブロックデータを受け取る。そして、動きベクトル決定部１３１３の出力する制御信号に基づいて、相関度を示す情報を動きベクトル決定部１３１３へ出力する。
【００４０】
動きベクトル決定部１３１３では、カレントブロックバッファ１３１１に処理対象ブロックが格納されると、撮影状態指示信号が示す情報に基づいて第１の探索モードと第２の探索モードのいずれかを選択する。そして、該選択した探索モードに従って、動きベクトル探索のための制御信号を生成する。本実施形態においては、撮影状態指示信号が定点撮影状態を示している場合、第１の探索モードとして、１次元方向すなわち水平方向のみの動き探索を行うモード（以下、水平探索モード）を選択する。また、撮影状態指示信号が手持ち撮影状態を示している場合、第２の探索モードとして、２次元方向すなわち水平垂直両方向に動き探索を行うモード（以下、２次元探索モード）を選択する。ここで水平探索モードとは、上記従来例において図１０を用いて説明した水平探索アルゴリズムによる探索方法であり、２次元探索モードとは、図８を用いて説明した２次元探索アルゴリズムによる探索方法（Logarithmic Search）である。
【００４１】
動きベクトル決定部１３１３は、選択された探索モードに従って、現フレーム内における処理対象ブロックの位置情報に基づき、参照フレーム内の対応する動き探索範囲の画素データを格納するように、参照ブロックバッファ１３１４へ制御信号を出力する。
【００４２】
動きベクトル決定部１３１３はまた、選択した探索モードが水平探索モードである場合には、動き探索範囲の中から現処理対象ブロックと同サイズの領域の位置を図１０に示したように随時決定していく。そして、該決定された領域の位置に基いて参照ブロックバッファ１３１４及び相関度算出部１３１２ａ，１３１２ｂに対する制御信号を生成し、出力する。この際、互いに隣り合う連続する２つの探索ポイントに対応する参照ブロックの相関度評価を、２つの相関度算出部１３１２ａ，１３１２ｂより同時に出力する。一方、選択した探索モードが２次元探索モードである場合には、動き探索範囲の中から現処理対象ブロックと同サイズの領域の位置を図８に示したように随時決定していく。そして、該決定された領域の位置に基いて参照ブロックバッファ１３１４及び相関度算出部１３１２ａに対する制御信号を生成し、出力する。この際、水平探索モードのように２つの探索ポイントに対応する相関度算出を並行して行うのではなく、１つの相関度算出部１３１２ａのみを用いて、探索ポイントひとつずつの評価を順次行う。
【００４３】
動きベクトル決定部１３１３はまた、選択した探索モードに従って、相関度算出部１３１２ａ，１３１２ｂの出力する相関度情報を受けて、該情報を基に次なる探索位置を決定し、さらに該探索位置に対応する相関度情報を入力する。以上の処理を繰り返し、最も相関度が高いと判断した位置情報を基に、動きベクトルを生成して出力する。
【００４４】
参照ブロックバッファ１３１４は、本実施形態における探索範囲保持手段として機能し、動きベクトル決定部１３１３の出力する制御信号を基に、参照フレームバッファ１３２より適切な動き探索範囲に相当する画素データを取り出し、格納する。また、同じく動きベクトル決定部１３１３の出力する制御信号を基に、適切な画素データを相関度算出部１３１２ａ，１３１２ｂへと出力する。
【００４５】
上述したように本実施形態においては、動き探索モードとして水平探索モードと２次元探索モードのいずれかを選択して実行する。以下、水平探索モードと２次元探索モードのそれぞれにおいて、参照ブロックバッファ１３１４及び相関度算出部１３１２ａ，１３１２ｂにおける処理について、更に詳細に説明する。
【００４６】
●水平探索モード
まず、水平探索モードにおける参照ブロックバッファ１３１４の動作について、詳細に説明する。参照ブロックバッファ１３１４は、内部がバンク＃０〜＃２に３分割されており、動き探索範囲の画素データは、該３つのバンクに分割して対応するように格納される。それぞれのバンク＃０〜＃２には、参照フレームバッファ１３２より入力した参照ブロックデータが、動きベクトル決定部１３１３からの制御信号に従って振り分けられて格納される。
【００４７】
ここで図１１に、水平探索モード時における、動き探索範囲内のデータ領域、及び現処理対象ブロックに対応する参照ブロックの位置の例を示す。本実施形態における水平探索モード時には、図１１に示すように、処理対象ブロックのサイズを１６画素×１６画素とし、動き探索範囲のサイズを４８画素×１６画素とする。また、各画素値は８ビット表現されるものとして、以下説明する。なお、探索は整数画素単位で行われるものとする。
【００４８】
この４８画素×１６画素の動き探索範囲は、図示されるようにそれぞれ８画素×１６画素からなる６個の短冊領域に分割され、左よりそれぞれ、短冊領域０〜短冊領域５のように番号付けられている。それぞれの短冊領域は、水平方向に連続する８画素をひとつの単位とする画素群が、垂直方向に１６ライン並んだ形式で構成される。
【００４９】
これら６つの短冊領域は、上記のように３分割されたバンクにそれぞれ割り当てられる。この割り当て方法としては、水平方向に連続する３つの短冊領域が、互いに異なるバンクに割り当てられるようにすることが望ましい。なぜならば、探索に必要な参照ブロックを得るために、上述したような水平方向に連続する３つの短冊領域に対して同時にアクセスして、同時にデータを読み出すことが可能となるからである。例えば、短冊領域０及び３はバンク＃０に、短冊領域１及び４はバンク＃１に、そして短冊領域２及び５はバンク＃２に、といった具合に割り当てれば良い。なお、この割り当ては、水平方向に連続する３つの短冊領域が互いに異なるバンクに割り当てられてさえいれば、上述した具体的な割り当て例にとらわれる必要はない。また、その割り当ては、現処理対象ブロックの位置が変わる毎に変更されるようにしてもよい。なおこの例の場合、各バンクにおいて短冊領域に含まれる、水平方向に連続する８画素をひとつの単位としてひとつのアドレスに格納するものとしている。
【００５０】
水平探索モードの場合、水平方向に連続する２つの探索ポイントのブロックマッチングを並行して行う。例えば、本実施形態において１回の探索ポイントのペアを｛（ｘ1，ｙ1）,（ｘ2，ｙ2）｝の形式で表すとすると、動きベクトル決定部１３１では、以下のような順番で探索ポイントが指示されていく。すなわち、｛（−１６，０），（−１５，０）｝，｛（−１４，０），（−１３，０）｝，｛（−１２，０），（−１１，０）｝，・・・，｛（＋１２，０），（＋１３，０）｝，｛（＋１４，０），（＋１５，０）｝、の順となる。
【００５１】
いま、動きベクトル決定部１３１３において、図１２に示されるように、探索ポイント｛（−１４，０），（−１３，０）｝の位置に参照ブロックが決定されたとする。この場合、該参照ブロックが全て含まれる領域として、各バンクより実際に読み出されるデータは、図１２においての網掛けが施された領域となる。該網掛け部分の領域は、短冊領域０〜２にまたがる水平方向に連続する２４画素ずつ、順に１６回読み出しを行うことによって得ることができる。
【００５２】
次に、水平探索モードにおける相関度算出部１３１２の動作について、詳細に説明する。
【００５３】
参照ブロックバッファ１３１４より読み出された参照ブロックデータは、相関度算出部１３１２ａ，１３１２ｂへと入力される。上述したように相関度算出部１３１２ａ，１３１２ｂには、参照ブロックバッファ１３１４から２４画素ずつのデータが入力される。相関度算出部１３１２ａでは、動きベクトル決定部１３１３より出力された制御信号に基づいて、該入力された２４画素から探索ポイント（−１４，０）に対応する１６画素（図１２の破線で囲まれた領域）が選択される。また相関度算出部１３１２ｂでは、動きベクトル決定部１３１３より出力された制御信号に基づいて、入力された２４画素から探索ポイント（−１３，０）に対応する１６画素（図１２の一点鎖線で囲まれた領域）が選択される。
【００５４】
一方、参照ブロックデータの入力タイミングにあわせて、カレントブロックバッファ１３１１より現処理対象ブロックの読み出しが行われ、相関度算出部１３１２ａ，１３１２ｂへと入力される。すると相関度算出部１３１２ａ，１３１２ｂにおいては、該１６画素（１ライン）分の、該参照ブロックデータとカレントブロックデータとの差分絶対値和を得る。そして、この差分絶対値和の１６ライン分を、それぞれ内部で累積加算し、１６サイクル目に２５６画素分の差分絶対値和（相関度）としてそれぞれ出力する。
【００５５】
本実施形態の水平探索モードによれば、上述した並列処理を、探索ポイントのペアの数ぶんだけ繰り返すことにより、処理対象ブロックの動きベクトルを決定していく。本実施形態の場合、探索ポイント数３２に対し、１６回の動作で動きベクトルを探索することになる。
【００５６】
このように、定点撮影に特化した水平探索モードにおいては、探索順序として連続する探索ポイントが互いに隣り合っているため、参照ブロックバッファ４３１４から、隣接する複数の探索ポイントの参照ブロックデータを同時に読み出すことが容易である。したがって、複数の相関度算出部１３１２ａ，１３１２ｂを設け、並列に処理することによって、複数の探索ポイントの評価を同時に行うことができ、高速探索が可能となる。また、参照ブロックバッファ１３１４からの、２つの探索ポイントの探索領域の読み出しを、その重複領域を利用して効率的に行うことにより、参照ブロックバッファ１３１４の容量を増やすことなく、高速処理が容易に可能となる。
【００５７】
●２次元探索モード
次に、２次元探索モードにおける参照ブロックバッファ１３１４の動作について、詳細に説明する。参照ブロックバッファ１３１４は、水平探索モード時と同様に、内部がバンク＃０〜＃２に３分割されており、動き探索範囲の画素データは、該３つのバンクに分割して対応するように格納される。それぞれのバンク＃０〜＃２には、参照フレームバッファ１３２より入力した参照ブロックデータが、動きベクトル決定部１３１３からの制御信号に従って振り分けられて格納される。
【００５８】
ここで図９に、２次元探索モード時における、動き探索範囲内のデータ領域、及び現処理対象ブロックに対応する参照ブロックの位置の例を示す。本実施形態における２次元探索モード時には、図９に示すように、処理対象ブロックのサイズを１６画素×１６画素とし、動き探索範囲のサイズを４８画素×４８画素とする。また、各画素値は８ビット表現されるものとして、以下説明する。なお、探索は整数画素単位で行われるものとする。
【００５９】
この４８画素×４８画素の動き探索範囲は、図示されるようにそれぞれ８画素×４８画素からなる６個の短冊領域に分割され、左よりそれぞれ、短冊領域０〜短冊領域５のように番号付けられている。それぞれの短冊領域は、水平方向に連続する８画素をひとつの単位とする画素群が、垂直方向に４８ライン並んだ形式で構成される。
【００６０】
これら６つの短冊領域は、上記のように３分割されたバンクにそれぞれ割り当てられる。この割り当て方法としては、水平方向に連続する３つの短冊領域が、互いに異なるバンクに割り当てられるようにすることが望ましい。なぜならば、探索に必要な参照ブロックを得るために、上述したような水平方向に連続する３つの短冊領域に対して同時にアクセスして、同時にデータを読み出すことが可能となるからである。例えば、短冊領域０及び３はバンク＃０に、短冊領域１及び４はバンク＃１に、そして短冊領域２及び５はバンク＃２に、といった具合に割り当てれば良い。なお、この割り当ては、水平方向に連続する３つの短冊領域が互いに異なるバンクに割り当てられてさえいれば、上述した具体的な割り当て例にとらわれる必要はない。また、その割り当ては、現処理対象ブロックの位置が変わる毎に変更されるようにしてもよい。なおこの例の場合、各バンクにおいて短冊領域に含まれる、水平方向に連続する８画素をひとつの単位としてひとつのアドレスに格納するものとしている。
【００６１】
２次元探索モードの場合、１回の探索動作につき、１つの探索ポイントのブロックマッチングを行う。例えば本実施形態においては、図８に示した順番で、探索ポイントが動きベクトル決定部１３１３において指示されていく。
【００６２】
いま、動きベクトル決定部１３１３において、図９に示されるように、探索ポイント（−１４，０）の位置に参照ブロックが決定されたとする。するとこの場合、該参照ブロックが全て含まれる領域として、各バンクより実際に読み出されるデータは、図９において網掛けが施された領域となる。該網掛け部分の領域は、短冊領域０〜２にまたがる水平方向に連続する２４画素ずつ、順に１６回読み出しを行うことによって得ることができる。
【００６３】
次に、２次元探索モードにおける相関度算出部１３１２の動作について、詳細に説明する。
【００６４】
参照ブロックバッファ１３１４より読み出された参照ブロックデータは、相関度算出部１３１２ａへと入力される。上述したように、参照ブロックバッファ１３１４からは２４画素ずつのデータが入力される。相関度算出部１３１２ａでは、動きベクトル決定部１３１３より出力された制御信号に基づいて、そのうちの探索ポイント（−１４，０）に対応する１６画素を選択する。該１６画素はすなわち、参照ブロックを構成する画素であり、例えば、図９に示される参照ブロックに対応する。
【００６５】
一方、参照ブロックデータの入力タイミングにあわせて、カレントブロックバッファ１３１１より現処理対象ブロックの読み出しが行われ、相関度算出部１３１２ａへと入力される。すると相関度算出部１３１２ａにおいては、該１６画素（１ライン）分の、該参照ブロックデータとカレントブロックデータとの差分絶対値和を得る。そして、この差分絶対値和の１６ライン分を内部で累積加算し、１６サイクル目に２５６画素分の差分絶対値和（相関度）として出力する。
【００６６】
本実施形態の２次元探索モードによれば、上述した処理を探索ポイントの数ぶんだけ繰り返すことにより、処理対象ブロックの動きベクトルを決定していく。本実施形態の場合、探索ポイント数２５に対し、２５回の動作で動きベクトルを探索することになる。
【００６７】
以上説明した様に本実施形態によれば、装置筐体が固定であるか手持ちであるかの撮影状態を示す情報に応じて、定点撮影に特化した水平動き探索を行う第１の探索モードあるいは通常の２次元動き探索を行う第２の探索モードのいずれかで動作する。動きベクトル探索における単位時間あたりのブロックマッチングの回数は、これら第１の探索モード時と第２の探索モード時とで異なるため、本実施形態によれば撮影状態に応じた最適な動き探索が可能となる。
【００６８】
特に定点撮影の場合、動き探索処理の精度を低下させることなく、動きベクトル探索の処理速度を向上させることができるため、高解像度化及び高フレームレート化に対応した、動画画像撮像装置における長時間撮影が可能となる。
【００６９】
＜他の実施形態＞
本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮影装置、webアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７０】
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したコンピュータ可読のプログラムである。
【００７１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００７３】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【００７４】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００７５】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【００７６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【００７８】
【図１】本発明に係る一実施形態における動画像撮像装置の構成を示すブロック図である。
【図２】本実施形態における符号化部の構成を示すブロック図である。
【図３】本実施形態における動き探索部の構成を示すブロック図である。
【図４】従来の動画像撮像装置の構成を示すブロック図である。
【図５】従来の符号化部の構成を示すブロック図である。
【図６】従来の動き探索部の構成を示すブロック図である。
【図７】一般的なブロックマッチングによる動きベクトル探索の概念を示す図である。
【図８】本実施形態における２次元探索モードによる探索方法を説明するための図である。
【図９】２次元探索モード時における、動き探索範囲内のデータ領域、及び現処理対象ブロックに対応する参照ブロックの位置の例を示す図である。
【図１０】本実施形態における、水平探索モードによる探索方法を説明するための図である。
【図１１】水平探索モード時における、動き探索範囲内のデータ領域、及び現処理対象ブロックに対応する参照ブロックの位置の例を示す図である。
【図１２】水平探索モード時における参照ブロックの位置の例を詳細に示す図である。
【図１】
2010021892.tif 000003
【図２】
2010021892.tif 000004
【図３】
2010021892.tif 000005
【図４】
2010021892.tif 000006
【図５】
2010021892.tif 000007
【図６】
2010021892.tif 000008
【図７】
2010021892.tif 000009
【図８】
2010021892.tif 000010
【図９】
2010021892.tif 000011
【図１０】
2010021892.tif 000012
【図１１】
2010021892.tif 000013
【図１２】
2010021892.tif 000014