(57)【要約】【課題】  不要な処理負荷を低減しつつ最適な動き検出を行う画像処理装置を提供する。【解決手段】  被写体を撮影する撮影手段において得られた動画像データと該撮影時における前記撮影手段の状況に関する撮影時情報とを取得する取得手段と、前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、符号化する符号化手段と、前記撮影時情報に基づいて、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを判定する判定手段とを備え、前記判定手段により、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段は、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする。【選択図】図１
2006254370.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影する撮影手段において得られた動画像データと該撮影時における前記撮影手段の状況に関する撮影時情報とを取得する取得手段と、
前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、符号化する符号化手段と、
前記撮影時情報に基づいて、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを判定する判定手段とを備え、
前記判定手段により、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段は、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記撮影時情報に基づいて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第１の決定手段を備え、
前記符号化手段は、前記判定手段により前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第１の決定手段により決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記撮影時情報の値が属する範囲を判定し、前記撮影時情報の属する範囲に応じて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第２の決定手段を備え、
前記符号化手段は、前記判定手段により前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第２の決定手段により決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記符号化手段は、前記複数種類の画素ブロック形状のそれぞれに対応する動き検出手段を備え、
前記第１の決定手段又は第２の決定手段により決定された画素ブロック形状を用いて前記動き検出を行う場合に、前記決定された画素ブロック形状に対応する動き検出手段のみを動作させ、他の動き検出手段の動作を停止させることを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記判定手段により前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段において前記動き検出のために用いられる画素ブロック形状には、前記複数種類の画素ブロック形状のうち少なくとも最小の画素ブロック形状は含まれないことを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記撮影時情報は、前記撮影手段における、フォーカス制御に関する情報、防振及びパン・チルトに関する情報、露出制御に関する情報、前記撮影手段の起動開始から経過した時間情報のうち、いずれかを含むことを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
被写体を撮影する撮影部において得られた動画像データと該撮影時における前記撮影部の状況に関する撮影時情報とを取得する取得工程と、
前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、符号化する符号化工程と、
前記撮影時情報に基づいて、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを判定する判定工程とを備え、
前記判定工程において、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化工程では、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする画像処理方法。
【請求項８】
前記判定工程では、前記撮影時情報に基づいて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第１の決定工程を備え、
前記符号化工程では、前記判定工程において前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第１の決定工程において決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項７に記載の画像処理方法。
【請求項９】
前記判定工程は、前記撮影時情報の値が属する範囲を判定し、前記撮影時情報の属する範囲に応じて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第２の決定工程を備え、
前記符号化工程では、前記判定工程において前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第２の決定工程において決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項７に記載の画像処理方法。
【請求項１０】
前記符号化工程は、前記複数種類の画素ブロック形状のそれぞれに対応する動き検出工程を備え、
前記第１の決定工程又は第２の決定工程において決定された画素ブロック形状を用いて前記動き検出を行う場合に、前記決定された画素ブロック形状に対応する動き検出工程のみを動作させ、他の動き検出工程を停止させることを特徴とする請求項８又は９に記載の画像処理方法。
【請求項１１】
前記判定工程において前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化工程において前記動き検出のために用いられる画素ブロック形状には、前記複数種類の画素ブロック形状のうち少なくとも最小の画素ブロック形状は含まれないことを特徴とする請求項７乃至１０のいずれかに記載の画像処理方法。
【請求項１２】
前記撮影時情報は、前記撮影部における、フォーカス制御に関する情報、防振及びパン・チルトに関する情報、露出制御に関する情報、前記撮影部の起動開始から経過した時間情報のうち、いずれかを含むことを特徴とする請求項７乃至１１のいずれかに記載の画像処理方法。
【請求項１３】
請求項７乃至１２のいずれかに記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、方法、コンピュータプログラム及び記憶媒体に関する。
【背景技術】
【０００２】
画像を高能率符号化するための技術として、ＪＰＥＧやＭＰＥＧ１，２といった符号化方式が確立されている。各メーカーはこれらの符号化方式を利用して画像を記録可能としたディジタルカメラやディジタルビデオカメラといった撮像装置或いはＤＶＤレコーダーなどを開発し、製品化しており、ユーザーはこれらの装置或いはパーソナルコンピュータやＤＶＤプレーヤーなどを用いて簡単に画像を視聴することが可能となっている。
【０００３】
また上記したＭＰＥＧ１，２などよりも更なる高圧縮が望める動画像の符号化方式が研究され続けてきており、近年ＩＴＵ−Ｔ（国際電気通信連合  電気通信標準化部門）とＩＳＯ（国際標準化機構）によりＨ．２６４／ＭＰＥＧ−４  ｐａｒｔ１０という符号化方式（以下、Ｈ．２６４と称す）が標準化された。
【０００４】
そのＨ．２６４における動画像圧縮符号化装置の一般的な全体構成について図１１のブロック図を参照して説明する。この動画像圧縮符号化装置は、カメラ部２００、減算器２００１、整数変換部２００２、量子化部２００３、エントロピー符号化部２００４、逆量子化部２００５、逆整数変換部２００６、加算器２００７、フレームメモリ２００８及び２０１２、イントラ予測部２００９、スイッチ２０１０及び２０１５、デブロッキングフィルタ２０１１、インター予測部２０１３、動き検出部２０１４から構成され、カメラ部２００から入力された画像データを分割することによりブロックを構成し、ブロック単位に符号化処理を行い符号化データを出力する。続いて、Ｈ．２６４の符号化処理について説明する。
【０００５】
まず、減算器２００１はカメラ部からの入力される画像データから予測画像データを減算し画像残差データを出力する。予測画像データの生成については後述する。整数変換部２００２は、減算器２００１から出力された画像残差データを、ＤＣＴ変換等により直交変換処理して変換係数を出力する。そして、量子化部２００３は上記変換係数を所定の量子化パラメータを用いて量子化する。エントロピー符号化部２００４は、量子化部２００３で量子化された変換係数を入力し、これをエントロピー符号化して符号化データとして出力する。
【０００６】
一方、量子化部２００３で量子化された変換係数は予測画像データの生成にも使われる。逆量子化部２００５は、量子化部２００３で量子化された変換係数を逆量子化する。さらに、逆整数変換部２００６は逆量子化部２００５で逆量子化された変換係数を、逆ＤＣＴ変換等により逆整数変換し、復号画像残差データとして出力する。加算器２００７は、復号画像残差データと予測画像データとを加算し、再構成画像データとして出力する。
【０００７】
再構成画像データはフレームメモリ２００８に記録されるとともに、デブロッキングフィルタ処理を行う場合はデブロッキングフィルタ２０１１を介して、デブロッキングフィルタ処理を行わない場合はデブロッキングフィルタ２０１１を介さずフレームメモリ２０１２に記録される。スイッチ２０１０は、デブロッキングフィルタ処理を行うか行わないか選択する選択部である。再構成画像データの中で、以降の予測で参照される可能性があるデータは、フレームメモリ２００８または２０１２に参照フレームデータとして暫くの期間保存される。また、デブロッキングフィルタ２０１１はノイズを除去する為に用いられる。
【０００８】
イントラ予測部２００９は、フレームメモリ２００８に記録された画像データを用いてフレーム内予測処理を行い、予測画像データを生成する。また、インター予測部２０１３はフレームメモリ２０１２に記録された参照フレーム画像データを用いて動き検出部２０１４によって検出された動きベクトル情報に基づいてフレーム間予測処理を行い予測画像データを生成する。動き検出部２０１４は入力画像データにおける動きベクトルを検出し、検出した動きベクトル情報をインター予測部２０１３とエントロピー符号化部２００４へ出力する。スイッチ２０１５は、イントラ予測、インター予測のどちらを用いるか選択するための選択部である。イントラ予測部２００９からの出力とインター予測部２０１３からの出力の一方を選択して、選択された予測画像データを減算器２００１、加算器２００７へ出力する。以上が図１１の画像圧縮符号化装置に関する説明である。
【０００９】
ここで、Ｈ．２６４における動き検出部２０１４の動作について説明する。Ｈ．２６４では図１２に示すように、符号化対象フレーム（ＣＦ）内のマクロブロック毎に複数の参照フレーム（ＲＦ１〜ＲＦ５）から符号化効率の良い参照フレームを選択し、どのフレームを用いるかを指定することが可能である。このとき、符号化対象フレームＣＦ内のマクロブロックについて、複数の参照フレームを選択しても良いし、また、同一フレーム内のマクロブロックであっても、異なる参照フレームを選択しても良い。
【００１０】
また図１３（ａ）に示すように画像中の１つのマクロブロックは図１３（ｂ）に示すように１６×１６画素、１６×８画素、８×１６画素、８×８画素のいずれかに分割し、それぞれのマクロブロックパーティションで独立に動きベクトル及び参照フレームを持つことが可能である。８×８画素の場合には図１３（ｃ）に示すようにさらにそれぞれのマクロブロックパーティションを８×４画素、４×８画素、４×４画素のザブマクロブロックパィテーションに分割することが可能である。また動きベクトルの精度は６タップのＦＩＲフィルタ処理等を行い１／４画素精度で求めることも可能である（特許文献１を参照）。
【００１１】
以上説明したようにＨ．２６４では、図１３に示したように予測符号化を行う画素ブロック形状を複数用意し、細かい画素単位の動き検出を行う技術も導入されている。ここで、画素ブロックが細かくなれば、予測符号化のブロック数は増大する。また図１２に示したように複数のフレームの中から符号化効率のよい参照画像フレームを選択するには、参照候補となる複数のフレーム全部に対して、フレーム間予測をする必要があり、処理負荷が増大している。
【００１２】
しかしながら、圧縮対象となる画像データを出力するカメラ部の状態によっては、複数種類ある画素ブロック形状を全て用いて動き検出を行う必要が無い場合もある。例えばフォーカスが合焦してない場合やカメラ部がパン、チルト動作をしている場合等は画像データ全体がぼやけていたり、極端に動いていたりするので細かな画素ブロック形状を用いて動き検出を行っても制度の高い動き情報が検出できない場合が多い。
【００１３】
同様に画像が暗い場合やカメラのアンプゲインを上げたことにより画像データ中にノイズが多く発生している場合は細かな画素ブロック形状を用いて動き検出を行っても正しい動き情報を検出できない場合が多い。またカメラ部の起動直後もカメラの画角が不安定だったり、露出レベルが不安定だったりする為に細かな画素ブロック形状を用いて動き検出を行っても正しい動き情報を検出できない場合が多い。
【００１４】
同符号化アルゴリズムを用いて、高画質画像データをよりコンパクトに記録するニーズの高いビデオカメラシステムにおいては、不要な動き検出を行うことは直接、モバイル機器を駆動するバッテリー消費量の増大に結びつくので、撮影時間の長期化に大きな障害となる。また同符号化アルゴリズムをソフトウェアで行う場合にも処理時間が不必要に長くなる等の問題が生じる。
【特許文献１】特開２００４−３２８６３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は、かかる問題点に鑑みなされたものであり、不要な処理負荷を低減しつつ最適な動き検出を行う画像処理装置を提供しようとするものである。
【課題を解決するための手段】
【００１６】
そこで本発明は、被写体を撮影する撮影手段において得られた動画像データと該撮影時における前記撮影手段の状況に関する撮影時情報とを取得する取得手段と、前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、符号化する符号化手段と、前記撮影時情報に基づいて、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを判定する判定手段とを備え、前記判定手段により、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段は、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、不要な処理負荷を低減しつつ最適な動き検出を行う画像処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、添付する図面を参照して、本発明の実施形態について説明する。
【００１９】
［第１の実施形態］
以下、本発明の第１の実施形態について説明する。図１は本発明が適用される画像処理装置の構成を示すブロック図である。ここで図１において、１００は被写体を撮像し画像データとカメラ情報を出力する撮像手段としてのカメラ部である。本実施形態において、画像処理装置はカメラ部１００を含む構成であっても良いし、カメラ部１００と接続される構成であってもよい。
【００２０】
まず、このカメラ部１００の構成について図２を用いて説明する。図２において、被写体の光学像は１０１に示すバリアングルプリズム（以下、ＶＡＰと記す）により撮影者の手ぶれによる振動が光学的に補正される。次に１０２のズームレンズによりズームやフォーカス調整が行われる。そして絞り１０３にて光量が調節され、１０４のＣＣＤ上に結像される。
【００２１】
ＣＣＤは１０５に示すタイミングジェネレータ（以下、ＴＧと記す）にて所定のシャッター速度で駆動される。ＣＣＤ１０４からの信号は１０６のＡ/Ｄ部で２重相関サンプリング（ＣＤＳ）およびゲインコントロール（ＡＧＣ）とＡ/Ｄ変換が行われる。ここで１０７はＶＡＰ１０１、ズームレンズ１０２、絞り１０３をそれぞれ駆動するドライブ回路である。
【００２２】
１０８はカメラ部１００に対し各種の操作を行うスイッチ類が含まれる操作部、１０９は撮像装置１００全体を統合的に制御するカメラＣＰＵである。１１０は１０６でＡ／Ｄ変換された画像データに対して色補間処理、γ補正や各色信号のレベル調整等の処理を行いカメラ画像データを出力するカメラ信号処理部である。またＣＰＵ１０９内には撮像装置１００におけるカメラ部（図２中１０１〜１１０）の各種制御を行うカメラ制御モジュールを有している。
【００２３】
カメラＣＰＵ１０９内のフォーカス制御部１０９ａはズームレンズ１０２を制御しフォーカス調整やズーム調整を行うレンズ制御信号をドライブ回路１０７に対して出力する。防振制御部１０９ｂは画像処理や図示しないジャイロセンサーなど既知の方法によりカメラ部１００の振動成分を求めＶＡＰレンズ１０１を制御する防振制御信号をドライブ回路１０７に対して出力する。露出制御部１０９ｃは絞りやＣＣＤのシャッター速度、ゲインコントロール（ＡＧＣ）を制御して映像信号の露出レベルが適正になるように制御を行う。露出制御信号はドライブ回路１０７、ＴＧ１０５、Ａ/Ｄ部１０６に対して出力される。
【００２４】
これらの制御モジュールの制御情報は、カメラ部１００における撮影時における該カメラ部１００の状況に関するカメラ情報として後述する画像処理装置にも出力される。次にこれらのカメラ情報を用いた本発明の画像処理装置の動作について図１、図３乃至図５を用いて説明する。
【００２５】
図１において、１００１は後述する予測画像情報を減算する減算器、１００２は画像の差分データに対して、ＤＣＴ変換等により４×４の整数直交変換をする直交変換部、１００３は整数直交変換された変換係数に対して所定の量子化スケールで量子化を施す量子化部、１００４は量子化された変換係数に対して、エントロピー符号化処理を行ってデータ圧縮するエントロピー符号化部である。
【００２６】
１００５は量子化された変換係数に対して所定の逆量子化処理を施す逆量子化部、１００６は逆量子化された変換係数を逆ＤＣＴ変換等により元の画像データ空間に戻す逆整数直交変換をする逆直交変換部、１００７は画像データ空間に戻された画像差分情報に予測画像情報を加算する加算部である。１００８は現フレーム中の既符号化済みとなった画像データを格納するフレームメモリであり、フレーム内予測符号化を行う際の参照データを格納するためのものである。１００９はフレームメモリ１００８に保持された画像データから予測データを生成するイントラ用予測データ生成部である。
【００２７】
１０１１は加算部１００７により復元された画像データに対して所定のブロック単位の境界データにおける不連続性を補正するデブロッキングフィルタ部、１０１２はブロック境界補正処理が行われた復元画像データを予測画像情報の参照画像として利用するために保持するフレームメモリである。実施形態では、Ｈ．２６４に適用した例を説明しているので、このフレームメモリ１０１２は最大５フレーム分の画像データを記憶する容量を有する。
【００２８】
１０１４は入力された現在の画像データを複数形状のマクロブロック単位に分割し、各マクロブロック形状において参照フレームと相関の高い位置を検出する動き探索処理を行い、その位置の差分データをフレーム間の動き情報として検出する動き検出部である。１０１３は、動き検出部１０１４からの情報に基づき、フレームメモリ１０１２内の参照フレーム（５フレーム）中から、現フレーム中の注目ブロックのデータの予測画像情報を生成し、出力するインター予測部である。
【００２９】
１０１５は予測情報を選択するスイッチ部である。所定タイミングに応じて、入力端子１０１５ａ、１０１５ｂのいずれか一方を選択する。ここで、入力端子１０１５ａが選択された場合には、イントラ（フレーム内）予測符号化が行われることになり、入力端子１０１５ｂが選択された場合にはインター（フレーム間）予測符号化が行われることになる。
【００３０】
なお、上記の１００１乃至１０１５までの各ブロックに対応する機能は、例えば、各機能に対応するプログラムを画像処理装置内のＣＰＵにおいて実行する形式において、又は、各機能を実現するために専用に設計されたハードウェアモジュールの形式において、更には、各機能を実現するようにプログラムされたプログラム可能な論理回路の形式において、実現することができる。
【００３１】
まず、本実施形態の画像処理装置全体の動作に関して説明する。カメラ部１００から入力された画像データ（Ｄ１）に対しては、減算器１００１により予測画像情報（Ｄ３）との間で減算処理が行われ、予測画像情報との差分データ（Ｄ２）が生成される。この差分データ（Ｄ２）は、変換部１００２でＤＣＴ変換等により整数直交変換が施され、一般の画像空間からエネルギー集中を高めた変換係数の空間に直交変換される（Ｄ４）。変換された差分データ（Ｄ４）の変換係数は量子化部１００３で所定のステップ幅で直交変換成分に応じて量子化される（Ｄ５）。量子化された変換係数データ（Ｄ５）はエントロピー符号化部１００４で圧縮符号化される（Ｄ６）。さらに、エントロピー符号化部１００４では、後述するインター符号化で参照されたフレーム番号の識別子もまた、多重化して圧縮符号化する。
【００３２】
次に、予測画像情報の処理について説明する。予測画像情報を生成する方式には、入力時の現画像内のデータから予測画像情報を生成するイントラ予測符号化方式と、入力時の現画像以外のフレーム画像データから予測画像情報を生成するインター符号化方式との二つがある。
【００３３】
まず、現入力画像内で処理が閉じているイントラ符号化予測方式について説明する。図１の量子化部１００３で量子化された変換係数（Ｄ５）に対して、逆量子化部１００５で逆量子化処理を行い変換係数（Ｄ７）を復元する。復元された変換係数（Ｄ７）は、逆整数直交変換部１００６で逆ＤＣＴ変換等により元の画像データ空間に戻され、予測画像情報との差分データ（Ｄ８）として復元される。この復元された差分データ（Ｄ８）に対して、減算器１００１において差分データを生成する元となった予測画像情報（Ｄ３）を加算器１００７で加算することにより、符号化対象ブロックの復元画像データ（Ｄ９）が得られる。但し、この時点の復元画像データ（Ｄ９）は、入力画像データ（Ｄ１）に対応する画像データであるものの、後述する予測情報の誤差や量子化処理における量子化誤差によって、入力画像データ（Ｄ１）よりも僅かに劣化している画像となっている。
【００３４】
この復元画像データ（Ｄ９）は、フレームメモリ１００８に一旦取り込まれる。フレームメモリ１００８に取り込まれた復元画像データ（Ｄ９）に対して、イントラ予測符号化部１００９で所定のブロック単位に分割され、その後に入力される符号化対象ブロックの入力画像データ（Ｄ１）をの予測画像情報を生成するために利用される。イントラ予測符号化部１００９において得られた予測画像情報は、スイッチ１０１５に送られる。
【００３５】
スイッチ１０１５では図示しないコントローラによって、予測画像情報の予測方法に応じて、スイッチを切り替える。前述してきたイントラ予測符号化方式の場合、スイッチは１０１５ａに接続され、予測画像情報はイントラ予測方式による算出方法で得られたデータが送出される。このイントラ方式の予測画像情報は、減算器１００１や加算器１００７に送られ、画像データと予測画像差分データとの変換に使われる。
【００３６】
次に、現入力画像とは別の参照フレーム画像を用いて予測画像情報を生成するインター符号化予測方式について説明する。
【００３７】
イントラ予測符号化方式と、加算器１００７までは同じなので説明を省略する。加算器１００７で得られた復元画像データ（Ｄ９）は、後述するブロック単位の境界におけるデータの不連続性を排除するために、デブロッキングフィルタ部１０１１に送られる。デブロッキングフィルタ部１０１１では、ブロック境界に隣接する画素データに対して所定のフィルタ処理を施し、ブロック境界のデータの不連続性を抑圧する。
【００３８】
先に述べたように、加算器１００７において復元される画像データ（Ｄ９）は入力画像よりも劣化した画像となっており、特に各処理において所定のブロック単位で処理される画像データは、ブロック境界でデータの不連続性が生じやすくブロック歪として画像認識されてしまう。そこで、デブロッキングフィルタ部１０１１におけるフィルタ処理よりブロック歪を低減させている。境界処理されたこの復元画像データ（Ｄ１０）は、フレームメモリ１０１２に一旦取り込まれる。このフレームメモリ１０１２は、複数枚（本実施形態では５フレーム）の復元画像データを保持することが可能となっている。
【００３９】
一方、動き検出部１０１４では、入力画像（Ｄ１）を所定のブロック単位に分割し、複数の参照フレームとの相関の強い位置を探索する。
【００４０】
従来例でも説明したように、Ｈ．２６４では図１２に示すようにマクロブロック毎に複数の参照フレームから符号化効率の良い参照フレームを選択し、どのフレームを用いるかを指定することが可能である。
【００４１】
また図１３（ａ）に示すような画像において、画像中の１つのマクロブロック１３０１を、図１３（ｂ）に示すような画素ブロック形状（マクロブロックパーティション）により分割する。分割される画素ブロック形状には、１６×１６画素（１３０２）、１６×８画素（１３０３）、８×１６画素（１３０４）及び８×８画素（１３０５）が含まれる。また、分割されたマクロブロックパーティション毎に、独立に動きベクトル及び参照フレームを持つことが可能である。更に、マクロブロックパーティションのサイズが８×８画素（１３０５）の場合には、各マクロブロックパーティション（８×８画素）を、図１３（ｃ）に示すように８×４画素（１３０６）、４×８画素（１３０７）、４×４画素（１３０８）のサブマクロブロックパーティションに更に分割することが可能である。
【００４２】
動き検出部１０１４において、最も相関が強いと判断された位置と現行処理中のブロック位置との差分データは、動き情報としてインター予測部１０１３とエントロピー符号化部１００４に送出される。また、同時に動き情報の生成に使った参照フレームの識別情報もまた、インター予測部１０１３とエントロピー符号化部１００８に送出する。
【００４３】
インター予測部１０１３では、参照フレーム識別情報に応じた参照フレームの復元画像データをフレームメモリ１０１２から呼出し、復元画像データと動き情報から、現行画面の予測画像情報を予測する。
【００４４】
このように、インター予測符号化では、現行画像とは別のフレームの参照して、予測画像情報を作り出すところが、イントラ予測符号化とは異なる。
【００４５】
生成されたインター方式の予測符号化は、スイッチ１０１５で１０１５ｂに接続され、減算器１００１や加算器１００７に送られ、画像データと予測画像差分データとの変換に使われる。
【００４６】
以上のようにしてカメラ部１００から入力された画像データ（Ｄ１）が圧縮符号化されるが、この中で、処理が比較的重いとされているのは動き検出部１０１４における動き検出情報の算出処理であり、本実施形態における特徴となる部分である。本実施形態に対応する動き検出情報の算出処理について、図３のフローチャートを参照して説明する。
【００４７】
動き検出処理が開始されると、ステップＳ３０１において、符号化対象フレームにおける最初の動き検出動作であるかどうかの判定をおこなう。即ち、本ステップでは、当該符号化対象フレームにおける最初のマクロブロックについての動き検出処理であるかが判定される。もし、最初の動き検出動作でないと判定された場合には（ステップＳ３０１において「ＮＯ」）、ステップＳ３１０に移行する。一方、新しい画像フレームに対する最初の動き検出動作であると判定された場合には（ステップＳ３０１において「ＹＥＳ」）、ステップＳ３０２に移行して、カメラ部１００からフォーカス制御、防振制御、露出制御等のカメラ情報の読み込みを行う。
【００４８】
次に、Ｓ３０３では読み込んだカメラ情報のうちフォーカス制御に関する情報よりフォーカスが合焦状態か否かの判定を行う。もし、合焦状態であれば（ステップＳ３０３で「ＮＯ」）、ステップＳ３０４へ移行する。一方、合焦状態でなければ（ステップＳ３０３で「ＹＥＳ」）ステップＳ３０９へ移行する。
【００４９】
ここで、フォーカスが合焦状態か否かの判定は、例えば以下のように行うことができる。カメラＣＰＵ１０９は、カメラ信号処理部１１０から得られる画像データを高周波成分のみ通過させるハイパスフィルターに通し、ハイパスフィルターから出力される１画面分の出力信号を積分した値（以降"ハイパスフィルター積分値"と記す）の大きさで合焦状態を判定することができる。より具体的に、もしフォーカスが合焦しておらず、画像全体がぼやけている場合には画像信号中の高周波成分は少ない。
【００５０】
よって、ハイパスフィルターからの出力は低くなり、ハイパスフィルター積分値も小さくなる。一方、フォーカスが合焦している場合は、画像全体がくっきりとしているので画像信号中の高周波成分が多い。よって、ハイパスフィルターからの出力は高くなりハイパスフィルター積分値も大きくなる。このようにフォーカス制御情報としてハイパスフィルター積分値を用い、その値が所定のスレッシュ値よりも大きい場合は合焦状態と判定し、小さい場合は非合焦状態と判定することができる。
【００５１】
次に、ステップＳ３０４では、防振制御に関する情報に基づいてカメラ部１００がパン・チルト状態か否かの判定を行う。もし、パン・チルト状態でなければ（ステップＳ３０４で「ＮＯ」）、ステップＳ３０５へ移行する。一方、パン・チルト状態であれば（ステップＳ３０４で「ＹＥＳ」）ステップＳ３０９へ移行する。
【００５２】
ここで、パン・チルト状態か否かの判定は、カメラ部１００のジャイロセンサー（図２には不図示）からの出力を利用して、例えば以下のようにして行うことができる。このジャイロセンサーはカメラの手ぶれ補正のための振動検出に一般的に用いられており、カメラ部１００には、縦方向の回転成分検出用と横方向の回転成分検出用の２つが取り付けられる。撮影時において、撮影者の手ぶれがある場合、ジャイロセンサーにおいては通常、周期的な上下方向や左右方向の回転成分が検出される。一方、パンやチルトが行われた場合には、ジャイロセンサーにおいては周期的な回転成分は検出されず、一定方向への回転成分が連続して検出される。
【００５３】
即ち、上方向への回転成分が連続して検出されれば、カメラ部１００は上方向へチルトしていると判定することができる。また、右方向への回転成分が連続して検出される場合には、カメラ部１００は右方向へパンしていると判定することができる。このようにジャイロセンサーからの出力を用いて、一定方向への回転成分が所定時間以上連続して検出された場合に、パン・チルト状態と判定することができる。
【００５４】
なお、手ぶれのような周期的な回転成分が検出されていても、その周期が所定値より長い場合や回転成分の大きさが所定値よりも大きいに場合には、手ぶれではなくパン・チルト状態と判定してもよい。
【００５５】
次に、ステップＳ３０５では露出制御に関する情報より被写体が低輝度か否かの判定を行う。もし、被写体が低輝度でなければ（ステップＳ３０５で「ＮＯ」）、ステップＳ３０６へ移行する。一方、被写体が低輝度であれば（ステップＳ３０５で「ＹＥＳ」）ステップＳ３０９へ移行する。
【００５６】
ここで、被写体が低輝度か否かの判定は、例えば、画像信号中の輝度信号成分を１画面分を積分した値（以降"輝度積分値"と記す）を用いて判定することが可能である。即ち、輝度積分値が所定の閾値値よりも小さい場合には、被写体が低輝度状態と判定することができる。
【００５７】
次にステップＳ３０６では、露出制御に関する情報よりカメラ部１００がゲインアップ中であるか否かの判定を行う。もし、ゲインアップ中でなければ（ステップＳ３０６で「ＮＯ」）、ステップＳ３０７へ移行する。一方、ゲインアップ中であれば（ステップＳ３０６で「ＹＥＳ」）ステップＳ３０９へ移行する。
【００５８】
ここで、ゲインアップ中か否かの判定は、例えば、図２におけるカメラ部１００のＡＧＣ（オートゲインコントロール）１０６からの制御情報を用いて行うことができる。一般的に被写体が暗くレンズの絞りを開放しても画像信号のレベルが小さい場合には、ＡＧＣの増幅率（ゲイン）を上げて電気的に画像信号のレベルを大きくする、所謂ゲインアップ状態となる。即ち、ＡＧＣへの制御情報を調べてＡＧＣの増幅率が所定の値よりも高い場合はゲインアップ中と判定することができる。
【００５９】
次に、ステップＳ３０７ではカメラ部起動時間に関する情報よりカメラ部１００が起動直後か否かの判定を行う。もし、カメラ部１００が起動直後でなければ（ステップＳ３０７で「ＮＯ」）、ステップＳ３０８へ移行する。一方、起動直後であれば（ステップＳ３０７で「ＹＥＳ」）ステップＳ３０９へ移行する。
【００６０】
ここで、カメラ部が起動直後か否かの判定は、例えば、図２に示すカメラＣＰＵ１０９内のタイマー（図２では不図示）を用いて行うことができる。より具体的には、カメラ部１００が起動、即ちカメラＣＰＵ１０９に電力が供給されると、カメラＣＰＵ１０９を、カメラＣＰＵ１０９内部のリセット処理によりタイマーの値をリセットし、その後時間の経過に応じてタイマーを自動的にカウントアップするように予め設定しておく。この場合に、カメラＣＰＵ１０９でカウントアップされたタイマーの値を調べ、タイマーの値が所定値よりも小さい場合はカメラ部が起動直後であると判定することができる。
【００６１】
ステップＳ３０９では、ステップＳ３０３乃至ステップＳ３０７における判定処理により、カメラ部１００が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、或いは、起動直後のいずれかの状態であると判断された場合に、図１３（ｃ）で示したサブマクロブロックパーティションによる動き検出処理を許可する「サブマクロブロックパーティション使用許可フラグ」を禁止状態（Ｌｏ）に設定する。
【００６２】
一方、ステップＳ３０３乃至ステップＳ３０７における判定処理により、カメラ部１００が、フォーカス合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態及び起動直後のいずれでもないと判断された場合には、ステップＳ３０８の処理に移行し「サブマクロブロックパーティション使用許可フラグ」を許可状態（Ｈｉ）に設定する。
【００６３】
このように、本実施形態においては、カメラ情報に基づいて、複数種類の画素ブロック形状の全てを用いて動き検出処理を行うべきか否か、言い換えれば、複数種類の画素ブロック形状のうち一部のみを用いて動き検出処理を行うべきか否かを、ステップＳ３０３乃至ステップＳ３０９において判定している。
【００６４】
なお、本実施形態においては、１フレームの画像データに対し、カメラ情報の読み込み及び「サブマクロブロックパーティション使用許可フラグ」の設定処理を１回行っているが、カメラ情報を読み込む間隔はこれに限られない。例えば、数フレームに１回の割合でカメラ情報を読み込むようにしても良い。
【００６５】
以上のようにして、符号化対象画像フレームに対する「サブマクロブロックパーティション使用許可フラグ」の設定が終了すると、ステップＳ３１０へ移行する。Ｓ３１０では１６×１６画素のマクロブロックによる動き検出処理を行う。
【００６６】
この動き検出処理では、予測符号化ブロックの参照が可能な参照フレーム全てに対して動き検出を行う。Ｈ．２６４の規格によれば、最大で５枚の参照フレームに対して動き検出を行う。そして、各参照フレームに対して整数画素精度の動き情報、半画素精度の動き情報、１／４画素精度の動き情報を算出し、最も相関の強いものを選択して各参照フレームの動き情報とする。全参照フレームについての動き情報の算出が完了すると参照フレーム毎の動き情報を評価し、最も相関の強いものを選択して予測符号化ブロックの動き情報ＭＶ１を求める。
【００６７】
同様にステップＳ３１１では１６×８画素のマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ２を求める。次にステップＳ３１２では８×１６画素のマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ３を求める。更にステップＳ３１３で８×８画素のマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ４を求める。
【００６８】
続いてステップＳ３１４では「サブマクロブロックパーティション使用許可フラグ」の状態をみて許可状態（Ｈｉ）か、禁止状態（Ｌｏ）であるかの判定を行う。「サブマクロブロックパーティション使用許可フラグ」が許可状態（Ｈｉ）である場合は（ステップＳ３１４において「ＹＥＳ」）、ステップＳ３１５に移行して８×４画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ＿Ｓ１を求める。続くステップＳ３１６では、４×８画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ＿Ｓ２を求める。更に、ステップＳ３１７にて、４×４画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ＿Ｓ３を求める。
【００６９】
一方「サブマクロブロックパーティション使用許可フラグ」が禁止状態（Ｌｏ）である場合には（ステップＳ３１４において「ＮＯ」）、ステップＳ３１５乃至ステップＳ３１７におけるサブマクロブロックパーティションによる動き検出処理をステップを行わず、ステップＳ３１８に移行する。
【００７０】
このように、本実施形態では、カメラ部１００が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、及び、起動直後のいずれかの状態に該当する場合には、細かな形状であるサブマクロブロックパーティションによる動き検出処理を行っても正しい動き情報が得られないため、当該動き検出処理を行わないように制御することができる。
【００７１】
その後、ステップＳ３１８では、ステップＳ３１０乃至ステップＳ３１３の処理において求められた各マクロブロックパーティションによる動き情報ＭＶ１乃至ＭＶ４、及び、「サブマクロブロックパーティション使用許可フラグ」が許可状態（Ｈｉ）の場合に、ステップＳ３１５〜Ｓ３１７の処理において求められた各サブマクロブロックパーティションによる情報ＭＶ＿Ｓ１乃至ＭＶ＿Ｓ３を評価する。
【００７２】
ここでの評価は、動き情報ＭＶ１乃至ＭＶ４及びＳＭＶ１乃至ＳＭＶ３を算出した時の参照フレームとの相関が強いマクロブロック、及び、サブマクロブロックのパーティションの種類を選ぶことになる。動き情報が適宜選択されたら、ステップＳ３１９で選択されたマクロブロックパーティションにおける動き情報に基づいて、全ての予測符号化ブロックの参照関係を管理する参照リストを作成する。これらの処理を対象フレーム全ての画素に施して１フレーム分の動き検出処理が終了する。
【００７３】
以上説明したように、本実施形態では、カメラ部１００から得られた情報によって、カメラ部１００が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、起動直後のいずれかの状態にあり、細かなサブマクロブロックパーティションによる動き検出処理を行っても正しい動き情報が得られない場合に、不要な動き検出処理を抑制することができる。従って、動き検出における処理の負荷を低減することが可能となる。
【００７４】
なお、本実施形態において、図１ではカメラ情報が、カメラ部１００からの画像データとは別個に、動き検出部１０１４へ直接入力される構成になっている。これに対し、図４に示すように、多重化部４０１と多重分離部４０２とをカメラ部１００の出力側に配置して、カメラ部１００から出力されるカメラ情報を画像データの付加データとすることで多重化部４０１において多重化し、その後、多重分離部４０２において、カメラ情報を画像データから分離する構成としても良い。
【００７５】
更に、本実施形態に対応する画像処理装置では、画像データとそれに対応するカメラ情報は必ずしも図１に示すようにカメラ部１００から直接入力される必要はなく、符号化圧縮処理において画像データとカメラ情報とが利用可能で有ればよい。従って、図５に示すように、カメラ部１００により撮影した画像データと、それに対応する付加データとしてのカメラ情報とを記録媒体５０１に記録し、記録媒体５０１から画像データとカメラ情報とを読み出して、符号化圧縮処理を行う構成としても良い。
【００７６】
また、本実施形態では、図３のステップＳ３０１乃至ステップＳ３０９で示したように、カメラ部１００より得られたカメラ情報からサブマクロブロックパーティションの使用を許可するか、或いは、禁止するかを判定していた。しかし、これに限られることなく、例えば、当該許可／禁止の判定を予めカメラ部１００の内部で行い、判定結果をカメラ情報の代わりにカメラ部１００から得る構成としても良い。
【００７７】
また、本実施形態では、カメラ情報から細かな画素ブロック形状による動き検出処理を行っても正しい動き情報が得られないと予想される場合、３つの形状のサブマクロブロックパーティション全ての動き検出処理を行わないようにしたが、特に３つの形状でなくてもよいことは言うまでもない。例えば、一番小さな４×４画素のサブマクロブロックパーティションによる動き検出のみを行わないようにしてもよい。また、動き検出処理の抑制対象となるブロックはサブマクロブロックパーティションに限られるものではなく、マクロブロックパーティションについても動き検出処理を抑制し、一番大きな１６×１６画素のマクロブロックによる動き検出のみを行うようにしてもよい。
【００７８】
更に、正しい動き検出が行えない画素ブロック形状が特定できる情報であれば、使用するカメラ情報は前述したものに限らずとも良いのであり、例えば撮像素子のシャッター速度情報等を用いても良い。
【００７９】
［第２の実施形態］
以下、本発明の第２の実施形態について説明する。
【００８０】
第２の実施形態では、特に複数の画素ブロック形状に対応した動き検出を行う「動き検出部１０１４」をデジタル回路等のハードウェアにより実施した場合の消費電力低減に好適な本発明の実施形態について説明する。第２の実施形態におけるカメラ部をはじめとする全体の構成は、図１に示す第１の実施形態とほぼ一致するので詳細な説明は省略する。
【００８１】
本実施形態では、カメラ情報により複数の画素ブロック形状のうち、どの画素ブロック形状を用いて動き検出を行うかを決める「画素ブロック形状許可ビット」の設定を、画像処理装置内の不図示のＣＰＵにより実施し、複数の画素ブロックによる動き検出、動きベクトルの評価はハードウェアにより実施する場合で説明する。
【００８２】
なお、ＣＰＵでの「画素ブロック形状許可ビット」の設定処理を図６のフローチャートに示し、それに対応して動作する動き検出部（図１における１０１４に相当）の詳細構成を示すハードウェアブロックを図７及び図８に示す。
【００８３】
まず、ＣＰＵでの「画素ブロック形状許可ビット」の設定処理を図６のフローチャートで説明する。図６において、ステップＳ６０１で画像フレームにおける最初の動き検出動作であるかどうかの判定をおこなう。もし、新しい画像フレームに対して最初に動き検出を行う場合（ステップＳ６０１において「ＹＥＳ」）には、ステップＳ６０２に移行し、最初の動き検出でない場合（ステップＳ６０１において「ＮＯ」）には、ステップＳ６０９に移行する。ステップＳ６０２では、フォーカス制御、防振制御、露出制御等のカメラ情報の読み込み処理を行う。
【００８４】
続いて、ステップＳ６０３では、ステップＳ６０２において読み込んだカメラ情報のうち、フォーカス制御に関する情報よりフォーカスが合焦状態か否かの判定を行う。ステップＳ６０４では防振制御に関する情報より、カメラ部１００がパン・チルト状態か否かの判定を行う。ステップＳ６０５では露出制御に関する情報より、被写体が低輝度か否かの判定を行う。ステップＳ６０６では、露出制御に関する情報よりカメラ部１００がゲインアップ中であるか否かの判定を行う。ステップＳ６０７では、カメラ部１００の起動時間に関する情報よりカメラ部１００が起動直後か否かの判定を行う。
【００８５】
尚、これらステップＳ６０３乃至ステップＳ６０７における各判定処理は、第１の実施形態における図３のステップＳ３０３乃至ステップＳ３０７と同様であるので、詳細な説明は省略する。
【００８６】
以上のステップＳ６０３乃至ステップＳ６０７における判定処理により、カメラ部１００が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は、起動直後のいずれかの状態にあると判定された場合には、ステップＳ６０９の処理に移行し「画素ブロック形状許可ビット」をＭＳＢ"０００１１１１"ＬＳＢとする。
【００８７】
ここで各ビットはそれぞれＭＳＢ側より４×４画素、４×８画素、８×４画素、８×８画素、８×１６画素、１６×８画素、１６×１６画素のサブマクロブロックパーティションやマクロブロックパーティションに対応する動き検出部の動作を許可するビットとなっており、ビットの値が"１"の場合は対応するマクロブロックパーティションによる動き検出部の動作を許可し、"０"の場合は禁止する。
【００８８】
一方、ステップＳ６０３乃至ステップＳ６０７の判定処理により、カメラ部１００が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は、起動直後のいずれの状態でもないと判定された場合には、ステップＳ６０８の処理に移行し、「画素ブロック形状許可ビット」をＭＳＢ"１１１１１１１"ＬＳＢとする。そしてステップＳ６１０の処理では、以上により決定された「画素ブロック形状許可ビット」を動き検出部１０１４へ出力する。
【００８９】
このように、本実施形態においては、カメラ情報に基づいて、複数種類の画素ブロック形状のうち動き検出に用いるべき画素ブロック形状を、ステップＳ６０３乃至ステップＳ６０９において決定している。
【００９０】
次に、本実施形態に対応する動き検出部１０１４の構成について、図７を参照して説明する。図７は、複数の画素ブロック形状による動き検出と評価を行う動き検出部１０１４の詳細な構成の一例を示すブロックである。
【００９１】
図７において、７００は複数の参照画像が記憶されている参照フレームメモリ（図１における１０１２に相当）、７０１は各動き検出部と参照フレームメモリとの間でデータのやりとりを行うデータバス、７０２は動きベクトルを求める対象マクロブロックの画像データが記憶されているマクロブロックメモリ、７０３は各動き検出部とマクロブロックメモリとの間でデータのやりとりを行うデータバスである。
【００９２】
７０４は、１６×１６画素のマクロブロックにより動き検出を行う動き検出部である。動き検出の動作は第１の実施形態と同様に最大で５枚の参照フレームに対して動き検出を行う。そして、各参照フレームに対して整数画素精度の動き情報、半画素精度の動き情報、１／４画素精度の動き情報を算出し、最も相関の強いものを選択して各参照フレームの動き情報とする。全参照フレームについての動き情報の算出が完了すると参照フレーム毎の動き情報を評価し、最も相関の強いものを選択して、予測符号化ブロックの動き情報ＭＶ１と参照フレーム情報とを出力する。
【００９３】
７０５は、１６×８画素のマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報ＭＶ２と参照フレーム情報を出力する。７０６は、８×１６画素のマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報ＭＶ３と参照フレーム情報とを出力する。７０７は、８×８画素のマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報ＭＶ４と参照フレーム情報を出力する。７０８は、８×４画素のサブマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報ＭＶ＿Ｓ１と参照フレーム情報を出力する。７０９は、４×８画素のサブマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報ＭＶ＿Ｓ２と参照フレーム情報を出力する。７１０は、４×４画素のサブマクロブロックパーティションによる動き検出を行う動き検出部であり、動き情報ＭＶ＿Ｓ３と参照フレーム情報を出力する。
【００９４】
７１１は、７０４乃至７１０の各動き検出部を動作させる為のクロックを分配するクロック分配器である。７１２は、動きベクトルの評価を行う動きベクトル評価部で、動き情報ＭＶ１〜ＭＶ４、ＳＭＶ１〜ＳＭＶ３を算出した時の参照フレームとの相関が強いマクロブロック及びサブマクロブロックのパーティションの種類を選択する。
【００９５】
動きベクトル評価部７１２において動き情報が適宜選択されると、選択されたマクロブロックパーティションにおける動き情報に基づいて、全ての予測符号化ブロックの参照関係を管理する参照リスト情報も出力される。これらの処理を対象フレーム全ての画素に施して、１フレーム分の動き検出処理が終了する。
【００９６】
ここで、クロック分配器７１１と動きベクトル評価部７１２には、図６のフローチャートに基づく処理で求められた「画素ブロック形状許可ビット」の値がそれぞれ入力される。
【００９７】
ここで、クロック分配器７１１の構成例を図８に示す。図８においてクロック入力は、ＳＷ１〜ＳＷ７で示すスイッチへ接続される。また、スイッチＳＷ１〜ＳＷ７からの各出力は、それぞれ図７の７０４乃至７１０で示した複数の動き検出部へ出力される。スイッチＳＷ１〜ＳＷ７は、対応する「マクロブロック形状許可ビット」が"１"の場合にオン状態となり、入力されたクロックを接続された動き検出部へ出力する。また、対応するマクロブロック形状許可ビットが"０"の場合にはスイッチがオフ状態となり入力されたクロックは動き検出部へ出力されない。
【００９８】
このように、動き検出部７０４乃至７１０は、複数種類の画素ブロック形状のそれぞれに対応する動き検出部であり、画素ブロック形状許可ビットに応じてクロックが入力された動き検出部のみが動作し、クロックが入力されない動き検出部は動作を停止する。また図７中、動きベクトル評価部７１２は入力された「画素ブロック形状許可ビット」の値が"１"である動き検出部からの動き情報と参照フレーム情報のみ用いて動き情報を評価する。
【００９９】
即ち、カメラ部１００が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は起動直後のいずれかの状態にあると判定された場合には、ＣＰＵが「画素ブロック形状許可ビット」の値をＭＳＢ"０００１１１１"ＬＳＢとして、動き検出部１０１４へ出力する。動き検出部は対応する「画素ブロック形状許可ビット」が"１"である動き検出部のみ動作し、その他の動き検出部は動作を停止する。この場合は、図７における、４×４画素動き検出部７１０、４×８画素動き検出部７０９及び８×４画素動き検出部７０８にはクロックが入力されない為動作が停止し、不要な電力消費を低減することが可能となる。
【０１００】
また、カメラ部１００が、フォーカス合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態又は起動直後のいずれの状態でもないと判定された場合には、ＣＰＵが「画素ブロック形状許可ビット」の値をＭＳＢ"１１１１１１１"ＬＳＢとして、動き検出部１０１４へ出力する。この場合は、全ての動き検出部７０４乃至７１０へクロックが供給される為、全ての動き検出部が動作する。
【０１０１】
以上説明したように、カメラ部１００から得られたカメラ情報によって、カメラ部１００がフォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は、起動直後のいずれかの状態にあり、細かな画素ブロックによる動き検出処理を行っても正しい動き情報が得られないと予測される場合、不要な当該動き検出処理を抑制して、電力消費を低減することが可能となる。
【０１０２】
また、本実施形態では、図６のステップＳ６０１乃至ステップＳ６１０で示したように、取得されたカメラ情報から画像処理装置内のＣＰＵ（不図示）が「画素ブロック形状許可ビット」を設定していたが、図９に示すように、カメラ部１００のカメラＣＰＵ１０９を画像ブロック形状許可ビット設定処理部９０１として機能させることにより、カメラ部１００において画素ブロック形状許可ビットの設定を予め行い、「画素ブロック形状許可ビット」の値のみを動き検出部１０１４に入力する構成にしても良い。
【０１０３】
また、本実施形態では、動き検出部１０１４の動作を停止させる手段としてクロックを供給しない例を説明した。しかし、本実施形態に対応する本発明の目的は、不要な動き検出部の動作を停止し、電力消費を低減させることにあり、その実現手段がクロック供給を制御する構成のみに限定されることはない。例えば、動き検出部１０１４へ供給する電源をカットする構成にしても良い。また、各動き検出部へクロックの供給は継続しても、実質的に動き検出部の内部動作を停止する構成にしても電力消費は低減できる。例えば、デジタル回路で広く用いられるフリップフロップ回路のイネーブル信号等を用いても動作を停止する構成にしても良い。
【０１０４】
［第３の実施形態］
以下、本発明の第３の実施形態について説明する。
【０１０５】
第３実施形態におけるカメラ部をはじめとする全体の構成は、図１に示す第１の実施形態と概略一致するので詳細な説明は省略する。本実施形態では、動き検出に用いる画素ブロック形状の種類をカメラ情報よって変更する際に、所定のカメラ情報のレベルに応じて、動き検出に用いない「一部の画素ブロック形状」の種類を随時変化させる点に特徴を有する。
【０１０６】
ここで、カメラ情報には第１の実施形態で示したようにフォーカス制御、防振制御、露出制御など様々な情報があるが、本実施形態では説明を簡単化するために、防振制御に関する情報のみを用いた場合を説明する。
【０１０７】
本実施形態に対応する動き検出処理について、図１０のフローチャートを参照して以下に説明する。動き検出処理が開始されると、ステップＳ１００１において、符号化対象フレームにおける最初の動き検出動作であるかどうかの判定をおこなう。もし、最初の動き検出動作でないと判定された場合には（ステップＳ１００１において「ＮＯ」）、ステップＳ１００３に移行する。一方、新しい画像フレームに対する最初の動き検出動作であると判定された場合には（ステップＳ１００１において「ＹＥＳ」）、ステップＳ１００２に移行して、防振制御に関する情報の読み込み処理を行う。
【０１０８】
次に、ステップＳ１００３では、１６×１６画素のマクロブロックによる動き検出処理を行う。動き検出処理では、予測符号化ブロックの参照が可能な参照フレーム全てに対して動き検出を行う。Ｈ．２６４の規格によれば、最大で５枚の参照フレームに対して動き検出を行う。そして、各参照フレームに対して整数画素精度の動き情報、半画素精度の動き情報、１／４画素精度の動き情報を算出し、最も相関の強いものを選択して各参照フレームの動き情報とする。全参照フレームについての動き情報の算出が完了すると参照フレーム毎の動き情報を評価し、最も相関の強いものを選択して予測符号化ブロックの動き情報ＭＶ１を求める。
【０１０９】
次に、ステップＳ１００４では、ステップＳ１００２において読み込んだ防振制御に関する情報より、カメラ部１００がパン・チルト状態であるか否かの判定を行う。この判定には、カメラ部１００の「手ぶれ量」を所定の判定閾値ＴＨ３と比較することにより行う。なお「手ぶれ量」としては第１の実施形態で説明したように、図２のカメラ部１００に一般的に設けられるジャイロセンサー（不図示）の出力を用いることができる。即ち、撮影者の手ぶれによる、周期的な上下方向や左右方向の回転成分の大きさや周期等を用いるとよい。
【０１１０】
ここで、もし「手ぶれ量」が非常に大きく、ステップＳ１００４において「手ぶれ量」がＴＨ３より大きいと判定された場合には（ステップＳ１００４において「ＹＥＳ」）、ステップＳ１０１４へ移行して、他の画素ブロック形状を利用した動き検出処理は行わない。一方、「手ぶれ量」がＴＨ３より大きくないと判定された場合には（ステップＳ１００４において「ＮＯ」）、ステップＳ１００５へ移行する。なお、図１０における「手ぶれ量」と比較される各判定閾値ＴＨ１、ＴＨ２及びＴＨ３の大きさの関係は、以下に示す式１のようになる。
ＴＨ３  ＞＞  ＴＨ２  ＞  ＴＨ１          （式１）
ステップＳ１００５では、１６×８画素のマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ２を求める。次にステップＳ１００６では８×１６画素のマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ３を求める。更に、ステップＳ１００７では、「手ぶれ量」が所定の判定閾値ＴＨ２より大きいか否かの判定を行う。ここで、もし「手ぶれ量」が大きく「手ぶれ量」がＴＨ２より大きいと判定された場合には（ステップＳ１００７において「ＹＥＳ」）、ステップＳ１０１４へ移行し、他の画素ブロック形状を利用した動き検出処理は行わない。一方、「手ぶれ量」がＴＨ２より大きくないと判定された場合には（ステップＳ１００７において「ＮＯ」）、ステップＳ１００８へ移行する。
【０１１１】
ステップＳ１００８では、８×８画素のマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ４を求める。更に、ステップＳ１００９では、「手ぶれ量」が所定の判定閾値ＴＨ１より大きいか否かの判定を行う。ここで、もし「手ぶれ量」がＴＨ１より大きいと判定された場合には（ステップＳ１００９において「ＹＥＳ」）、ステップＳ１０１４へ移行し、他の画素ブロック形状を利用した動き検出処理は行わない。一方、「手ぶれ量」がＴＨ１より大きくないと判定された場合には（ステップＳ１００９において「ＮＯ」）、ステップＳ１０１０へ移行する。
【０１１２】
ステップＳ１０１０では、８×４画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ＿Ｓ１を求める。次に、ステップＳ１０１１では４×８画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ＿Ｓ２を求める。次に、ステップＳ１０１２では「手ぶれ量」が０であるか否かの判定を行う。もし、「手ぶれ量」が０でない場合には（ステップＳ１０１２において「ＮＯ」）、ステップＳ１０１４へ移行して、ステップＳ１０１３における４×４画素のサブマクロブロックパーティションによる動き検出処理を行わない。一方、「手ぶれ量」が０の場合には（ステップＳ１０１２において「ＹＥＳ」）、ステップＳ１０１３へ移行する。ステップＳ１０１３では、４×４画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報ＭＶ＿Ｓ３を求める。
【０１１３】
以上説明したように、本実施形態に対応する画像処理装置では、防振制御に関する「手ぶれ量」を所定の判定閾値ＴＨ１、ＴＨ２、ＴＨ３と比較して「手ぶれ量」のレベルを判定し、判定された「手ぶれ量」のレベルに応じて動き検出に用いる画素ブロック形状の種類を随時選択する。
【０１１４】
即ち、本実施形態に対応する本発明では、「手ぶれ量」が下記の（式２）に示す関係の場合は１６×１６画素のマクロブロックのみによる動き検出処理を行う。
【０１１５】
また、「手ぶれ量」が下記の（式３）に示す関係の場合は１６×１６画素、１６×８画素、８×１６画素のマクロブロックパーティションによる動き検出処理を行う。
【０１１６】
更に、「手ぶれ量」が下記の（式４）に示す関係の場合は１６×１６画素、１６×８画素、８×１６画素、８×８画素のマクロブロックパーティションによる動き検出処理を行う。
【０１１７】
そして、「手ぶれ量」が下記の（式５）に示す関係の場合は１６×１６画素、１６×８画素、８×１６画素、８×８画素のマクロブロックパーティションと、８×４画素、４×８画素のサブマクロブロックパーティションによる動き検出処理を行う。
【０１１８】
最後に、「手ぶれ量」が下記の（式６）に示す関係の場合は全ての形状のマクロブロックパーティションとサブマクロブロックパーティションによる動き検出処理を行う。
「手ぶれ量」  ＞  ＴＨ３                          （式２）
ＴＨ３≧「手ぶれ量」  ＞  ＴＨ２          （式３）
ＴＨ２≧「手ぶれ量」  ＞  ＴＨ１          （式４）
ＴＨ１≧「手ぶれ量」  ＞  ０              （式５）
「手ぶれ量」  ＝  ０                              （式６）
その後、ステップＳ１０１４の処理では、上記演算により求められた動き情報ＭＶ１〜ＭＶ４、ＭＶ＿Ｓ１〜ＭＶ＿Ｓ３を評価する。ここでの評価では、動き情報ＭＶ１〜ＭＶ４、ＳＭＶ１〜ＳＭＶ３を算出した時の参照フレームとの相関が強いマクロブロック及びサブマクロブロックのパーティションを選ぶことになる。
【０１１９】
動き情報が適宜選択されると、ステップＳ１０１５で選択されたマクロブロックパーティションにおける動き情報に基づいて、全ての予測符号化ブロックの参照関係を管理する参照リストを作成する。これらの処理を対象フレーム全ての画素に施して１フレーム分の動き検出処理が終了する。
【０１２０】
このように、本実施形態においては、カメラ情報の値が属する範囲を判定し、該カメラ情報の属する範囲に応じて、複数種類の画素ブロック形状のうち動き検出に用いるべき画素ブロック形状を、ステップＳ１００３乃至ステップＳ１０１３において決定している。
【０１２１】
以上説明したように、動き検出に用いる画素ブロック形状の種類をカメラ情報よって変更する際に、所定のカメラ情報の大きさやレベルに応じて、随時変更させることで、処理を行っても実際には正しい動き情報が得られないような不要な動き検出処理を抑制することができる。よって、動き検出における処理の負荷を低減することが可能となる。
【０１２２】
また、本実施形態では「手ぶれ量」が式６に示す関係の場合に、全ての形状のマクロブロックパーティションとサブマクロブロックパーティションによる動き検出処理を行うようにしていたが、三脚で固定撮影したような状態と同等なことが判別できる情報がカメラ部から得られればその情報を用いるようにしてもよい。
【０１２３】
また「手ぶれ量」が、式６に示した関係を所定の時間以上継続した場合、全ての形状のマクロブロックパーティションとサブマクロブロックパーティションによる動き検出処理を行うようにしても良い。
【０１２４】
また本実施形態では、防振制御に関する情報のみを用いて説明したが、例えばカメラ部のアンプゲインのレベル、オートフォーカスの合焦レベルなどを用いて連続的に変化させてもよいし、それら複数のカメラ情報を演算し得られた値のレベルに応じて連続的に変化させるようにしても本実施形態の範疇に含まれることは言うまでもない。
【０１２５】
［その他の実施形態］
また、本発明はカメラ部の信号処理や画像圧縮符号化処理等をハードウェアにより実施した場合でも、コンピュータを用いたソフトウェア処理にて実施した場合でも適用することができ、同様な効果を得ることが可能である。この場合、ソフトウェアのプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１２６】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施の形態で説明機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等の共同して上述の実施の形態で示した機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１２７】
更に、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合にも本発明に含まれる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施形態に対応する画像処理装置の構成の一例を示すブロック図である。
【図２】本発明の実施形態に対応するカメラ部１００の構成の一例を示すブロック図である。
【図３】本発明の第１の実施形態に対応する動き検出処理の一例に対応するフローチャートである。
【図４】本発明の実施形態に対応する画像処理装置の他の構成例を示すブロック図である。
【図５】本発明の実施形態に対応する画像処理装置の更に他の構成例を示すブロック図である。
【図６】本発明の第２の実施形態に対応する動き検出処理一例に対応するフローチャートである。
【図７】本発明の第２の実施形態に対応する動き検出部１０１４の構成の一例を示すブロック図である。
【図８】本発明の第２の実施形態に対応するクロック分配器７１１の構成の一例を示すブロック図である。
【図９】本発明の第２の実施形態に対応する画像処理装置の他の構成例を示すブロック図である。
【図１０】本発明の第３の実施形態に対応する動き検出処理の一例に対応するフローチャートである。
【図１１】従来の画像処理装置の構成例を示すブロック図である。
【図１２】複数の参照フレームから動き情報を検出する概念を説明するための図である。
【図１３】予測符号化のマクロブロック、サブマクロブロックパーティションの分割パターンを示す図である。
【図１】
2006254370.tif 000003
【図２】
2006254370.tif 000004
【図３】
2006254370.tif 000005
【図４】
2006254370.tif 000006
【図５】
2006254370.tif 000007
【図６】
2006254370.tif 000008
【図７】
2006254370.tif 000009
【図８】
2006254370.tif 000010
【図９】
2006254370.tif 000011
【図１０】
2006254370.tif 000012
【図１１】
2006254370.tif 000013
【図１２】
2006254370.tif 000014
【図１３】
2006254370.tif 000015