(57)【要約】【課題】メモリバス帯域を増加させることなく、高い検出精度で動きベクトルを検出することができる画像処理装置及び画像処理方法を提供する。【解決手段】入力画像の直流成分をハイパスフィルタ部により除去し、ハイパスフィルタ部の出力に応じて、出力の高周波成分の階調を保持し低周波成分の階調を圧縮するようにして階調圧縮部で階調を圧縮する階調圧縮処理を施し、階調を圧縮した入力画像とその入力画像に対応する参照画像とを用いて相関演算を行い画像の動きベクトルを検出するようにして、メモリバス帯域を増加させることなく、高い検出精度での動きベクトルの検出を可能にする。【選択図】図１
2014158074.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像の直流成分を除去するフィルタ手段と、
前記フィルタ手段の出力に階調圧縮処理を施して階調を変化させる階調圧縮手段と、
前記階調圧縮手段により階調を圧縮した入力画像と、当該入力画像に対応する参照画像とから、画像の動きベクトルを検出する動きベクトル検出手段とを有し、
前記階調圧縮手段は、前記フィルタ手段の出力に応じて階調の圧縮率を変化させ前記階調圧縮処理を施すことを特徴とする画像処理装置。
【請求項２】
前記階調圧縮手段での前記階調圧縮処理に係る前記フィルタ手段の出力の高周波成分に対する圧縮率が、前記フィルタ手段の出力の低周波成分に対する圧縮率よりも低いことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記階調圧縮手段は、前記フィルタ手段の出力における高周波成分の階調を保持し、前記フィルタ手段の出力における低周波成分の階調を圧縮することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記参照画像を含むデータを保持するメモリに係るメモリバス帯域を観測する観測手段を有し、
前記階調圧縮手段は、観測された前記メモリバス帯域に応じて階調の圧縮率を変化させ前記階調圧縮処理を施すことを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記階調圧縮手段は、観測された前記メモリバス帯域が低い場合には前記フィルタ手段の出力に対して前記階調圧縮処理を施さず、前記メモリバス帯域が高い場合には前記フィルタ手段の出力に対して前記階調圧縮処理を施すことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記フィルタ手段の出力の分布を示す分布情報を生成する生成手段と、
前記生成手段により生成された前記分布情報に応じて、前記階調圧縮手段による前記階調圧縮処理での階調の圧縮率を制御する階調圧縮制御手段とを有することを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記生成手段は、前記フィルタ手段の出力の度数分布を生成し、
前記階調圧縮制御手段は、前記生成手段により生成された前記度数分布に応じて、前記度数分布にて度数が高い周波数成分に対する圧縮率を低く変更し、前記度数分布にて度数が低い周波数成分に対する圧縮率を高く変更するように前記階調圧縮手段を制御することを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記生成手段は、前記フィルタ手段の出力の度数分布を生成し、
前記階調圧縮制御手段は、前記生成手段により生成された前記度数分布に応じて、前記度数分布にて度数が高い周波数成分の階調を保持し、前記度数分布にて度数が低い周波数成分の階調を圧縮するように前記階調圧縮手段を制御することを特徴とする請求項６記載の画像処理装置。
【請求項９】
前記生成手段は、前記フィルタ手段より出力され得る値の範囲を複数の区間に分けて前記度数分布を生成することを特徴とする請求項７又は８記載の画像処理装置。
【請求項１０】
前記生成手段は、前記フィルタ手段の出力の値が高周波成分の区間に含まれる場合、加重加算して度数分布を生成することを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記入力画像に含まれる低周波成分を検知する低周波検知手段を有し、
前記階調圧縮手段は、前記低周波検知手段での検知結果に応じて階調の圧縮率を変化させ前記階調圧縮処理を施すことを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記低周波検知手段により前記入力画像に低周波成分が多く含まれていると判断された場合には、前記階調圧縮手段は、前記フィルタ手段の出力の低周波成分に対する圧縮率を低く変更することを特徴とする請求項１１記載の画像処理装置。
【請求項１３】
前記低周波検知手段により前記入力画像に低周波成分が多く含まれていると判断された場合には、前記階調圧縮手段は、前記フィルタ手段の出力における低周波成分の階調を保持することを特徴とする請求項１１記載の画像処理装置。
【請求項１４】
前記低周波検知手段は、前記フィルタ手段より出力され得る値の範囲を複数の区間に分けて前記フィルタ手段の出力に係る度数分布を生成し、低周波成分が含まれる区間の度数が大きい場合に前記入力画像に低周波成分が多く含まれると判断することを特徴とする請求項１２又は１３記載の画像処理装置。
【請求項１５】
前記低周波検知手段は、前記画像処理装置を備えるカメラの動きを検出する角速度センサの積分値が閾値より大きい場合に、前記入力画像に低周波成分が多く含まれると判断することを特徴とする請求項１２又は１３記載の画像処理装置。
【請求項１６】
前記階調圧縮手段は、前記フィルタ手段の出力を入力とする１次関数に従って前記フィルタ手段の出力に階調圧縮処理を施すことを特徴とする請求項１〜１５の何れか１項に記載の画像処理装置。
【請求項１７】
入力される画像にフィルタ処理を施して直流成分を除去するフィルタ工程と、
前記フィルタ処理後の出力に階調圧縮処理を施して階調を変化させる階調圧縮工程と、
前記階調圧縮処理により階調を圧縮した入力画像と、当該入力画像に対応する参照画像とから、画像の動きベクトルを検出する動きベクトル検出工程とを有し、
前記階調圧縮工程では、前記フィルタ処理後の出力に応じて階調の圧縮率を変化させ前記階調圧縮処理を施すことを特徴とする画像処理方法。
【請求項１８】
入力される画像にフィルタ処理を施して直流成分を除去するフィルタステップと、
前記フィルタ処理後の出力に階調圧縮処理を施して階調を変化させる階調圧縮ステップと、
前記階調圧縮処理により階調を圧縮した入力画像と、当該入力画像に対応する参照画像とから、画像の動きベクトルを検出する動きベクトル検出ステップとをコンピュータに実行させ、
かつ前記階調圧縮ステップでは、前記フィルタ処理後の出力に応じて階調の圧縮率を変化させ前記階調圧縮処理を施すことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関し、画像の動き検知技術に関する。
【背景技術】
【０００２】
手振れ補正に対する画像の動き検知技術の代表的な手法としてブロックマッチング法がある。照明変化やカメラのゲイン調整により画像の明るさがフレーム毎に変化すると、通常のブロックマッチングでは、検出する動きベクトルの精度が落ちてしまい、ぶれの検知性能が低下してしまう。そこで特許文献１では、画像の明るさは画像全体の輝度値が一定レベルだけ変化すると考え、直流成分をハイパスフィルタで除去してブロックマッチングを行う技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３５５７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
入力画像にハイパスフィルタ処理を施すことで、輝度変動に対するロバスト性は向上し、動きベクトルを良好に検出することが可能になる。しかしながら、フィルタ方式によっては、各画素のビット数が入力のビット数に対して増加することがある。そのため、ハイパスフィルタを用いることで、メモリアクセスする際のビット長が増加することとなり、メモリバス帯域（バスレート）が増加するという課題が生じてしまう。
【０００５】
一方、ハイパスフィルタを用いるがメモリバス帯域を増加させないように、フィルタ結果に対して一律の除算を行うことで、出力データのビット数を抑えることも考えられる。しかし、信号相関の一致度を利用するブロックマッチングでは、一律の除算を行うことでエッジ等についての情報量が減少してしまい、相関がとりにくくなってしまうために動きベクトルの検出精度の低下を引き起こしてしまう。
【０００６】
本発明の目的は、メモリバス帯域を増加させることなく、高い検出精度で動きベクトルを検出することができる画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、入力される画像の直流成分を除去するフィルタ手段と、前記フィルタ手段の出力に階調圧縮処理を施して階調を変化させる階調圧縮手段と、前記階調圧縮手段により階調を圧縮した入力画像と、当該入力画像に対応する参照画像とから、画像の動きベクトルを検出する動きベクトル検出手段とを有し、前記階調圧縮手段は、前記フィルタ手段の出力に応じて階調の圧縮率を変化させ前記階調圧縮処理を施すことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、フィルタの出力に階調圧縮処理を施して動きベクトルの検出を行うことで、メモリバス帯域を増加させることなく、高い検出精度での動きベクトルの検出が可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係る画像処理装置の構成例を示す図である。
【図２】第１の実施形態における階調圧縮部の構成例を示す図である。
【図３】第１の実施形態における階調圧縮処理の入力と出力の関係を示す図である。
【図４】第１の実施形態における動きベクトル検出部の動作例を示すフローチャートである。
【図５】第１の実施形態における階調圧縮処理の入力と出力の関係の他の例を示す図である。
【図６】本発明の第２の実施形態に係る画像処理装置の構成例を示す図である。
【図７】第２の実施形態における階調圧縮処理の入力と出力の関係を示す図である。
【図８】第２の実施形態における階調圧縮の制御を説明するための図である。
【図９】第２の実施形態における階調圧縮の制御を説明するための図である。
【図１０】第２の実施形態における動きベクトル検出部の動作例を示すフローチャートである。
【図１１】第２の実施形態における階調圧縮の制御の他の例を説明するための図である。
【図１２】本発明の第３の実施形態に係る画像処理装置の構成例を示す図である。
【図１３】第３の実施形態における階調圧縮の制御を説明するための図である。
【図１４】第３の実施形態における動きベクトル検出部の動作例を示すフローチャートである。
【図１５】本発明の第４の実施形態に係る画像処理装置の構成例を示す図である。
【図１６】ブロックマッチング処理を説明するための図である。
【図１７】ハイパスフィルタの係数を示す図である。
【図１８】本実施例における画像処理装置を実現可能なコンピュータ機能を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
【００１１】
（第１の実施形態）
本発明の第１の実施形態について説明する。
図１は、第１の実施形態に係る画像処理装置の構成例を示すブロック図である。図１において、イメージセンサ（以下、単に「センサ」とも称す。）１０１は、レンズ１００を通して入力される光信号をアナログの電気信号に変換し、動画信号として出力する。センサ補正部１０２は、センサ１０１より出力される、入力された光信号に応じたアナログの電気信号をデジタル化するアナログ−デジタル（Ａ／Ｄ）変換処理やセンサのキズの補正処理等を行う。現像部１０３は、センサ補正部１０２の出力であるＲＡＷ信号（ＲＧＢ信号）をＹＣＣ信号に変換して出力する。記録部１０４は、現像部１０３の出力信号に対して符号化処理及び記録処理を行う。表示部１０５は、現像部１０３の出力信号に対して縮小処理等を行い、パネル等の図示しない表示装置に出力する。
【００１２】
ＣＰＵ（Central Processing Unit）１１１は、ＣＰＵバス１１４を介して動きベクトル検出部１２０Ａに対する各種レジスタの設定に係る制御を行うとともに、画像処理装置全体の制御を行う。メモリコントローラ１１２は、動きベクトル検出部１２０Ａを始めとした各機能部からのデータのライト命令やリード命令を受けて、メモリ１１３に対するライト動作やリード動作の制御を行う。メモリコントローラ１１２は、各機能部との間でデータやコマンドを送受信するためのバスを有する。メモリ１１３は、例えばＤＲＡＭ（Dynamic Random Access Memory）である。
【００１３】
動きベクトル検出部１２０Ａは、センサ１０１により得られた動画信号（現像部１０３の出力信号）に対して、ハイパスフィルタ処理及び階調圧縮処理を施し、連続した二つのフレーム間での動きベクトルの検出を行う。動きベクトル検出部１２０Ａは、ハイパスフィルタ部１０７、階調圧縮部１０８、相関演算部１０９、及びＣＰＵインタフェース部（ＣＰＵ−Ｉ／Ｆ）１１０を有する。
【００１４】
ハイパスフィルタ部１０７は、動き検出対象画像に対してハイパスフィルタ処理を行う。ハイパスフィルタ部１０７は、画像においてフレーム間の輝度変動があっても精度良く動きベクトルの検出を行うために、ハイパスフィルタ処理によりフレーム間の輝度変動成分である画像の直流成分を除去する。なお、このときに使用するハイパスフィルタのフィルタ係数は、ハイパスフィルタを実現するものであれば係数の内容は問わないが、例えばソーベルフィルタやラプラシアンフィルタの係数を適用すれば良い。本実施形態では、図１７に示す係数のハイパスフィルタ８０１を使用するものとする。図１７に示すハイパスフィルタ８０１のフィルタ係数は、縦線検知に用いられる縦方向のソーベルフィルタ係数と横線検知に用いられる横方向のソーベルフィルタ係数を合わせたものである。
【００１５】
階調圧縮部１０８は、ハイパスフィルタ部１０７の出力に対して階調圧縮処理を行う。階調圧縮処理は、入力データ（indata）のビット数に対して出力データ（outdata）のビット数を圧縮する処理である。階調圧縮部１０８は、例えば区間毎に決定される傾き（grad）及びｙ切片（ysep）を用いて、outdata=indata*grad+ysepのように表現できる区間１次関数を利用して階調圧縮処理を行う。傾き（grad）は圧縮率に相当する。各区間の傾き及びｙ切片は、ＣＰＵ１１１によって設定され、入力データの信号値及び閾値に応じて階調圧縮処理に用いられる傾き及びｙ切片が決定される。例えば、３つの区間に分けた場合、各区間の傾き（grad00〜grad02）及びｙ切片（ysep00〜ysep02）が設定され、入力データの信号値及び閾値に応じて、対応する区間に設定された傾き及びｙ切片が選択される。
【００１６】
相関演算部１０９は、階調圧縮部１０８の出力の一部であるＮ×Ｎ画素の動き検出対象ブロック（テンプレートブロック）について、ブロックマッチング法を始めとした相関演算を行い動きベクトルを検出する。例えば相関演算部１０９は、Ｎ×Ｎ画素のテンプレートブロックと、前フレームでメモリ１１３に保持された画像の一部である、（Ｎ＋ｎ）×（Ｎ＋ｎ）画素の探索範囲内の画像（サーチエリア）を用いて、相関演算を行い動きベクトルを検出する。ブロックマッチング法では、画像をＮ×Ｎ画素の動き検出対象ブロック（テンプレートブロック）に分ける。そして、テンプレートブロックと、それに対応する（Ｎ＋ｎ）×（Ｎ＋ｎ）画素の探索範囲内の画像（サーチエリア）とを用いて、画素単位にすべての位置で相関演算を行い、最も相関度の高い位置を動きベクトルとする。つまり、図１６に示す動き検出対象フレームの画素値Ｆ（ｉ，ｊ）と参照フレームの画素値Ｇ（ｉ，ｊ）とから下記式（１）に示す差分絶対値和Ｓ（ｄｘ，ｄｙ）を計算する。（ｄｘ，ｄｙ）を変えて差分絶対値和Ｓ（ｄｘ，ｄｙ）を計算し、差分絶対値和Ｓ（ｄｘ，ｄｙ）の値が最小となる（ｄｘ，ｄｙ）を動きベクトルとする。
【００１７】
【数１】
2014158074.tif 000003
【００１８】
ＣＰＵ−ＩＦ１１０は、ＣＰＵ１１１で指示されたレジスタアドレス及びレジスタ値に基づいて、動きベクトル検出部１２０Ａの機能部が有するレジスタの設定を行うためのインタフェースである。
【００１９】
図２は、第１の実施形態における階調圧縮部の構成例を示す図である。図２には、３つの区間に分けて階調圧縮処理を行う階調圧縮部を一例として示している。階調圧縮部２００は、セレクタ２１１、２１３、乗算器２１２、加算器２１４、及び閾値判定部２１５を有する。セレクタ２１１は、各区間の傾きgrad00、grad01、grad02が入力され、これらの中から１つを閾値判定部２１５からの選択信号に応じて選択し乗算器２１２に出力する。また、セレクタ２１３は、各区間のｙ切片ysep00、ysep01、ysep02が入力され、これらの中から１つを閾値判定部２１５からの選択信号に応じて選択し加算器２１４に出力する。
【００２０】
乗算器２１２は、入力データindataとして入力されるハイパスフィルタ部２０２の出力とセレクタ２１１から出力された傾きgradとを乗算して出力する。また、加算器２１４は、乗算器２１２の出力とセレクタ２１３から出力されたｙ切片ysepとを加算して出力する。加算器２１４の出力は、出力データoutdataとして相関演算部２０３に出力される。閾値判定部２１５は、閾値th1、th2が入力されるとともに、入力データindataとしてハイパスフィルタ部２０２の出力が入力される。閾値判定部２１５は、入力データindataと閾値th1、th2とを比較して、比較結果に応じた選択信号を出力する。
【００２１】
ここで、閾値th1は閾値th2より小さく、閾値th1が第１区間と第２区間との境界の値であり、閾値th2が第２区間と第３区間との境界の値であるとする。また、grad00及びysep00が第１区間における傾き及びｙ切片であり、grad01及びysep01が第２区間における傾き及びｙ切片であり、grad02及びysep02が第３区間における傾き及びｙ切片であるとする。なお、各区間の傾き（grad00〜grad02）及びｙ切片（ysep00〜ysep02）や閾値th1、th2は、ＣＰＵによりＣＰＵ−Ｉ／Ｆ２０１を介してレジスタ等に設定され、セレクタ２１１、２１３、閾値判定部２１５に供給される。ＣＰＵ−Ｉ／Ｆ２０１、ハイパスフィルタ部２０２、及び相関演算部２０３のそれぞれは、図１に示したＣＰＵ−Ｉ／Ｆ１１０、ハイパスフィルタ部１０７、及び相関演算部１０９に対応する。なお、図２には、３つの区間に分けて階調圧縮処理を行う階調圧縮部を示したが、区間の数に応じて、閾値を適宜設定し、階調圧縮処理に用いる１次関数の傾きとｙ切片を各区間に対して設定して選択可能にすることで、任意の区間数に適用可能である。
【００２２】
図２に示す階調圧縮部２００において、入力データindataが閾値th1より小さい場合には、閾値判定部２１５からの選択信号に応じて、セレクタ２１１より傾きgrad00が出力され、セレクタ２１３よりｙ切片ysep00が出力される。したがって、入力データindataが閾値th1より小さい場合には、outdata=indata*grad00+ysep00で示される１次関数に基づき階調圧縮処理される。また、入力データindataが閾値th1以上で、かつ閾値th2より小さい場合には、閾値判定部２１５からの選択信号に応じて、セレクタ２１１より傾きgrad01が出力され、セレクタ２１３よりｙ切片ysep01が出力される。したがって、入力データindataが閾値th1以上で、かつ閾値th2より小さい場合には、outdata=indata*grad01+ysep01で示される１次関数に基づき階調圧縮処理される。また、入力データindataが閾値th2以上である場合には、閾値判定部２１５からの選択信号に応じて、セレクタ２１１より傾きgrad02が出力され、セレクタ２１３よりｙ切片ysep02が出力される。したがって、入力データindataが閾値th2以上である場合には、outdata=indata*grad02+ysep02で示される１次関数に基づき階調圧縮処理される。
【００２３】
第１の実施形態における階調圧縮処理について図３を用いて説明する。図３は、第１の実施形態における階調圧縮部１０８での階調圧縮処理の入力と出力の関係の一例を示す図である。図３において、横軸が階調圧縮部１０８への入力データを示し、縦軸が階調圧縮部１０８からの出力データを示す。また、入力画像の１画素のビット数を８ビットとすると、本実施形態では図１７に示したフィルタ係数を有するハイパスフィルタ８０１を用いるため、ハイパスフィルタ部１０７からの入力データは、−７６５から７６５の値をとることになる。しかし、各種処理を行いやすくするために、全体に７６５のオフセットを付加して、０から１５３０の値をとるように入力データを変換している。そのため、図３においては、中央の値である７６５が直流成分となり、中央の値７６５から両端の値０、１５３０に近づくにつれて低周波成分から高周波成分になる。
【００２４】
階調圧縮部１０８は、図１７に示したハイパスフィルタ８０１からの１１ビットの入力に対して、出力を８ビットとする階調圧縮処理を行う。ブロックマッチングでは、相関の一致度を用いて動きベクトルを算出するため、エッジ等の画像の特徴を表現する高周波成分の情報を保持することが重要となる。一方、直流成分に近い低周波成分については、多少の情報量が失われたとしても、相関演算に対して大きな影響はない。
【００２５】
そこで、第１の実施形態では、高周波成分である第１区間及び第３区間の入力データに対しては階調を保持して、低周波成分である第２区間の入力データに対しては階調を圧縮するようにする。このように周波数成分に応じて圧縮率を変化させて階調圧縮処理を行うことで出力が８ビットとなるが、画像の特徴となる高周波成分の情報は保持していることになる。本実施形態では３区間の１次関数を例として示しているが、区間は３区間以上であってもよい。なお、この階調圧縮処理は、１枚の画像に対して高輝度と低輝度の階調を保持して、中間輝度の階調を圧縮することでダイナミックレンジの広い画像を生成する処理である。また、階調圧縮部１０８の出力は、次のフレームの動きベクトルの検出で参照画像として使用されるので、メモリコントローラ１１２を介してメモリ１１３に保持される。
【００２６】
次に、第１の実施形態に係る画像処理装置の動作について説明する。図４は、第１の実施形態における動きベクトル検出部１２０Ａの動作例を示すフローチャートである。
【００２７】
不図示の操作部により画像処理装置の電源が投入されると、ステップＳ１０１にて、ＣＰＵ１１１が、動きベクトル検出部１２０Ａを始めとする各機能部に対してパラメータを設定する。動きベクトル検出部１２０Ａに対して設定されるパラメータには、ハイパスフィルタ部１０７でのフィルタ係数、階調圧縮部１０８での処理に用いる各区間の１次関数の傾きとｙ切片、相関演算部１０９でのサーチ範囲等の動きベクトル検出に必要な値などがある。
また、ＣＰＵ１１１は、センサ補正部１０２、現像部１０３に対し、動画の撮影を開始する様に指示すると共に、撮影された動画信号を表示部１０５に出力して表示する。
【００２８】
このように、ＣＰＵ１１１は、不図示の操作部からの動画信号の記録開始の指示があるまで待機する。ステップＳ１０２でユーザにより動画信号の記録開始の指示が与えられると、ＣＰＵ１１１は、現像部１０３からの動画信号を記録部１０４や表示部１０５に入力し、記録部１０４による動画信号の記録を開始する。また、ＣＰＵ１１１は、現像部１０３からの動画信号を、動き検出の対象の画像として動きベクトル検出部１２０Ａに入力する。なお、記録部１０４や表示部１０５への入力、及び動きベクトル検出部１２０Ａへの入力は、ともに１画素当たり８ビットの信号であるものとする。
【００２９】
続いて、ステップＳ１０４にて、ハイパスフィルタ部１０７は、ＣＰＵ１１１により設定されたフィルタ係数のハイパスフィルタを用いて、入力画像に対しフィルタ処理を行う。ここでは、図１７に示したフィルタ係数のハイパスフィルタ８０１を用いるものとし、ハイパスフィルタ部１０７の出力は、１サンプル（画素）あたり１１ビットとする。ステップＳ１０５にて、階調圧縮部１０８は、ハイパスフィルタ部１０７の出力とＣＰＵ１１１により設定された閾値th1、th2とを比較し、比較結果に基づいて、どの区間の傾きとｙ切片を使って階調圧縮処理を行うかを決定する。そして、ステップＳ１０６にて、階調圧縮部１０８は、ステップＳ１０５において決定した傾きとｙ切片を用いて入力データに階調圧縮処理を施す。これにより、１サンプル１１ビットの入力データが８ビットの出力データに変更される。
【００３０】
次に、ステップＳ１０７にて、動きベクトル検出部１２０Ａは、階調圧縮部１０８の出力から動き検出対象ブロック（テンプレートブロック）を生成して相関演算部１０９に入力する。ステップＳ１０８にて、動きベクトル検出部１２０Ａは、前フレームの処理により参照画像としてメモリ１１３に書き込まれた画像を、メモリ１１３から読み出して探索範囲の画像（サーチエリア）として相関演算部１０９に入力する。なお、メモリ１１３に書き込むデータ、及びメモリ１１３から読み出すデータともに１画素当たり８ビットのデータである。そして、ステップＳ１０９にて、相関演算部１０９は、テンプレートブロックとサーチエリアのデータとを用いてブロックマッチングによる相関演算を行い動きベクトルを算出してステップＳ１１０に移行する。
【００３１】
ステップＳ１１０にて、動きベクトル検出部１２０Ａは、動き検出の対象の画像内に含まれるすべてのテンプレートブロックに対して動きベクトルの検出が終了したか否かを判定する。判定の結果、すべてのテンプレートブロックについての動きベクトルの検出が終了していればステップＳ１１１に移行する。一方、すべてのテンプレートブロックについての動きベクトルの検出が終了していなければステップＳ１０７に移行して、未完了のテンプレートブロックについてステップＳ１０７〜Ｓ１０９の処理を繰り返す。
【００３２】
ステップＳ１１１にて、動きベクトル検出部１２０Ａは、すべてのテンプレートブロックの動きベクトルを、ＣＰＵ−Ｉ／Ｆ１１０及びＣＰＵバス１１４を介してＣＰＵ１１１に渡す。そして、続く、ステップＳ１１２にて、ＣＰＵ１１１は、動画信号の記録終了の指示が与えられれば処理を終了し、そうでなければステップＳ１０３に移行して、次のフレームに対してステップＳ１０３〜Ｓ１１２の処理を繰り返す。
【００３３】
第１の実施形態によれば、ハイパスフィルタ部１０７の出力に応じて階調の圧縮率を変化させて、ハイパスフィルタ部１０７の出力に対して階調圧縮処理を施した後に動きベクトルの検出を行う。これにより、メモリコントローラ１１２におけるメモリバス帯域を増加させることなく、高い検出精度での動きベクトルの検出を行うことができ、消費電力の削減や回路規模の減少によるコスト削減が可能となる。
【００３４】
前述したように、階調圧縮部１０８での階調圧縮処理により、入力のビット数に対して出力のビット数を減少させることで、メモリバス帯域を増加させることなく、高い検出精度で動きベクトルを算出することができる。ここで、画素数の多い画像を扱う場合には、動きベクトル検出部１２０Ａだけでなく、センサ補正部１０２、現像部１０３、記録部１０４、表示部１０５がメモリにアクセスする際のデータ量も増加し、画像処理装置全体のメモリバス帯域が増加してしまう。そこで、図１に破線１１５で示すように、ＣＰＵ１１１が、メモリコントローラ１１２におけるメモリバスが送受信するデータ量を観測できるようにＣＰＵ１１１とメモリコントローラ１１２とを通信可能に接続する。そして、観測された単位時間あたりに送受信されるデータ量に応じて、階調圧縮部１０８の動作を変化させるようにしても良い。
【００３５】
メモリバスを使って送受信されるデータ量に応じて階調圧縮部１０８の動作を変化させる場合には、ＣＰＵ１１１は、例えば以下のように動きベクトル検出部１２０Ａを動作させる。メモリコントローラ１１２は、メモリ１１３に対するアクセス量やデータ転送量等の情報をＣＰＵ１１１に出力する。
【００３６】
ＣＰＵ１１１は、この単位時間あたりのデータ量が閾値より大きいと判断した場合には、図３に示した入出力関係に従って階調圧縮処理を行うように階調圧縮部１０８を制御する。これにより、メモリバスにより送受信されるデータ量が閾値よりも低い場合には、階調圧縮部１０８は、１１ビットの入力を８ビットの出力にする階調圧縮処理を行う。
【００３７】
また、メモリバスにより送受信されるデータ量が閾値以上である場合には、ＣＰＵ１１１は、メモリバスにより送受信されるデータ量が多くならないように、階調圧縮部１０８の階調圧縮処理を制御する。メモリバスにより送受信されるデータ量が閾値以上であると判断された場合には、ＣＰＵ１１１は、図５（Ａ）に示した入出力関係に従って階調圧縮処理を行うように、階調圧縮部１０８を制御する。そして、相関演算部１０９は、少ないビット数のデータを用いて動きベクトルの検出を行う。図５（Ａ）は、メモリバスにより送受信されるデータ量が閾値以上である時の階調圧縮部１０８での階調圧縮処理の入力と出力の関係の例を示す図であり、１１ビットの入力を７ビットの出力に圧縮する例を示している。図５（Ａ）において、横軸が階調圧縮部１０８への入力データ（オフセット付加後）を示し、縦軸が階調圧縮部１０８からの出力データを示す。
【００３８】
また、メモリバスにより送受信されるデータ量が閾値よりも少ない場合、ＣＰＵ１１１は、階調圧縮処理を行わずに１１ビットの入力をそのまま出力するように階調圧縮部１０８を制御する。つまり、メモリバスにより送受信されるデータ量が少ない場合には、階調圧縮部１０８における入力と出力は図５（Ｂ）に示した関係となる。そして、相関演算部１０９は、１１ビットのデータを用いて動きベクトルの検出を行う。図５（Ｂ）は、メモリバスにより送受信されるデータ量が閾値よりも少ない時の階調圧縮部１０８での階調圧縮処理の入力と出力の関係の例を示す図であり、１１ビットの入力をそのまま出力する例を示している。図５（Ｂ）において、横軸が階調圧縮部１０８への入力データ（オフセット付加後）を示し、縦軸が階調圧縮部１０８からの出力データを示す。
【００３９】
なお、階調圧縮部１０８での階調圧縮処理に用いる各区間の１次関数の傾きとｙ切片は、メモリバス帯域毎にパラメータとして用意するようにしても良い。また、１１ビットの入力を８ビットの出力に階調圧縮する傾きとｙ切片を基準として、メモリバス帯域に応じてその値を一律に変化させるようにしても良い。なお、画像処理装置全体のメモリバス帯域は、扱う画像サイズや処理内容によって予め計算できることもあるので、画像処理装置全体の処理内容に応じて階調圧縮部１０８での階調圧縮処理に用いる傾きとｙ切片を一意に決定しても良い。このように、画像処理装置全体のメモリバス帯域に応じて階調圧縮部１０８の動作を変化させることで、メモリバス帯域に応じた適切な階調圧縮処理を行うことができる。
【００４０】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
図６は、第２の実施形態に係る画像処理装置の構成例を示すブロック図である。図６において、図１に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。動きベクトル検出部１２０Ｂは、図１に示した第１の実施形態における動きベクトル検出部１２０Ａに対応する。
【００４１】
動きベクトル検出部１２０Ｂは、センサ１０１により得られた動画信号（現像部１０３の出力信号）に対して、ハイパスフィルタ処理及び階調圧縮処理を施し、連続した二つのフレーム間での動きベクトルの検出を行う。動きベクトル検出部１２０Ｂは、ハイパスフィルタ部１０７、階調圧縮部１０８、相関演算部１０９、及びＣＰＵ−Ｉ／Ｆ１１０に加え、ヒストグラム生成部１２１、係数変更部１２２、及びメモリ１２３を有する。
【００４２】
階調圧縮部１０８は、第１の実施形態と同様にハイパスフィルタ部１０７の出力に対して階調圧縮処理を行うが、第２の実施形態では、一例として５つの区間に分けて各区間の傾きとｙ切片が設定されるものとする。第２の実施形態における階調圧縮処理について図７を一例に説明する。図７は、第２の実施形態における階調圧縮部１０８での階調圧縮処理の入力と出力の関係の一例を示す図であり、横軸が階調圧縮部１０８への入力データを示し、縦軸が階調圧縮部１０８からの出力データを示している。階調圧縮部１０８への入力データは、第１の実施形態と同様に全体に７６５のオフセットを付加し、０から１５３０の値をとるように変換している。
【００４３】
また、図７において、閾値th1、th2、th3、th4は、th1＜th2＜th3＜th4の関係を満たし、閾値thi（iは添え字であり、i＝1,2,3,4）が第i区間と第（i+1）区間との境界の値であるとする。図７に示す例では、高周波成分である第１区間及び第５区間の入力データに対しては階調を保持して、低周波成分である第２区間、第３区間、及び第４区間の入力データに対しては階調を圧縮するようにする。このように周波数成分に応じて圧縮率を変化させて階調圧縮処理を行うことで出力が８ビットとなるが、高周波成分の情報は保持していることになる。なお、第２の実施形態では、５区間に分けて階調圧縮処理を制御する例を示すが、区間の数は５区間に限定されるものではなく、任意の複数である。
【００４４】
ヒストグラム生成部１２１は、ハイパスフィルタ部１０７の出力値を用いて、その度数分布であるヒストグラムを分布情報として生成する。係数変更部１２２は、ヒストグラム生成部１２１により得られた結果に応じて、階調圧縮部１０８での階調圧縮処理に用いる係数（１次関数の傾きとｙ切片）を変更する。係数変更部１２２は、階調圧縮制御手段の一例である。メモリ１２３は、データの遅延を調整するために使用する。動きベクトル検出部１２０Ｂでは、ヒストグラム生成部１２１で分布情報としてのヒストグラムを生成する画像と同じ画像に対して、階調圧縮部１０８で階調圧縮処理を施す必要がある。そのため、ヒストグラム生成部１２１での処理と係数変更部１２２での処理が終了するまで、階調圧縮部１０８での階調圧縮処理は行えないので、メモリ１２３にハイパスフィルタ部１０７の出力を保持しておく。
【００４５】
ここで、図７に示したように高周波成分の階調を保持して低周波成分の階調を圧縮するように階調圧縮を行うと、木の葉のようなテクスチャが多い画像は高周波成分が集中しているため、低周波成分の階調が圧縮されても相関演算への影響が少ない。それに対して、空のような平坦部が多い画像は高周波成分が少なく低周波成分が集中しているため、図７に示した入出力関係に従って階調圧縮を行うと、画像において少ない高周波成分の階調を保持して、画像に多く含まれる低周波部分の階調を圧縮してしまう。そのため、画像の情報量が失われてしまうことになり、ブロックマッチングにおける相関の一致度が取りづらくなる。
【００４６】
そこで、第２の実施形態では、階調圧縮処理を行う際に、画像が持つ周波数成分に応じて階調圧縮の制御を変更することにより、相関演算への階調圧縮処理による影響を抑制し、相関の一致度を取り易くする。対象画像に、どの周波数成分が多く含まれるかの判断は、ハイパスフィルタ部１０７及びヒストグラム生成部１２１によって行う。ハイパスフィルタ部１０７の出力が、０又は１５３０に近い値であれば高周波成分であり、７６５に近い値であれば低周波成分であると考えられる。したがって、その度数分布であるヒストグラムをヒストグラム生成部１２１が生成することで、どの周波数成分が多く含まれているかの判断が行える。なお、度数については各画素値に対するものではなく、予め定めた各区間に対する度数を用いるものとし、以下に説明する例では、図７と同様に分けた５つの区間に対する度数を用いるものとする。
【００４７】
図８及び図９は、第２の実施形態における階調圧縮の制御を説明するための図である。図８（Ａ）及び図９（Ａ）は、ハイパスフィルタ部１０７の出力の分布の一例を示す図である。図８（Ａ）及び図９（Ａ）において、横軸がハイパスフィルタ部１０７の出力データを示し、縦軸がその個数（画素数）を示している。ハイパスフィルタ部１０７の出力データは、前述のように−７６５から７６５の値をとることとなるが、全体に７６５のオフセットを付加し、０から１５３０の値をとるように変換している。また、図８（Ｂ）及び図９（Ｂ）は、階調圧縮部１０８での階調圧縮処理の入力と出力の関係の一例を示す図である。図８（Ｂ）及び図９（Ｂ）において、横軸がオフセット付加後の階調圧縮部１０８への入力データ（ハイパスフィルタ部１０７の出力）を示し、縦軸が階調圧縮部１０８からの出力データを示している。
【００４８】
図８（Ａ）にヒストグラムが示される画像は、高周波成分である第１区間及び第５区間の周波数成分が多く含まれおり、また第４区間の周波数成分も多く含まれている。一方、第２区間及び第３区間の周波数成分はあまり含まれていない。このような場合には、第１区間及び第５区間に対する階調圧縮での入出力の関係は、その区間に対応する周波数成分が少なくないので、図７に示したものと同じ関係にする。また、第４区間に対しては、対応する周波数成分が多いので、図７に示したものよりも階調を保持するように変更し、第２区間及び第３区間に対しては、対応する周波数成分が少ないので、図４に示したものよりも階調を圧縮するように変更する。図８（Ａ）に示したヒストグラムに基づき変更された階調圧縮の入出力の関係は、図８（Ｂ）に実線で示したようになる。なお、図８（Ｂ）に点線で示した階調圧縮の入出力の関係は、図７に示したものである。
【００４９】
それに対して、図９（Ａ）にヒストグラムが示される画像は、高周波成分である第１区間及び第５区間の周波数成分があまり含まれていないが、第２区間、第３区間、及び第４区間の周波数成分は多く含まれている。このような場合には、第１区間及び第５区間に対する階調圧縮は、その区間に対応する周波数成分が少ないので、図７に示したものよりも階調を圧縮するように変更する。一方、第２区間、第３区間、及び第４区間に対しては、対応する周波数成分が多いので、図７に示したものよりも階調を保持するように変更する。図９（Ａ）に示したヒストグラムに基づき変更された階調圧縮の入出力の関係は、図９（Ｂ）に実線で示したようになる。なお、図９（Ｂ）に点線で示した階調圧縮の入出力の関係は、図７に示したものである。
【００５０】
次に、第２の実施形態に係る画像処理装置の動作について説明する。図１０は、第２の実施形態における動きベクトル検出部１２０Ｂの動作例を示すフローチャートである。
【００５１】
不図示の操作部により画像処理装置の電源が投入された後のステップＳ１０１〜Ｓ１０４の処理は、図４に示した第１の実施形態におけるステップＳ１０１〜Ｓ１０４の処理と同様である。ただし、第２の実施形態では、ステップＳ１０４にて、フィルタ処理後のハイパスフィルタ部１０７の出力データは、ヒストグラム生成部１２１に出力されるとともに、メモリ１２３に保持される。
【００５２】
続いて、ステップＳ２０１にて、ヒストグラム生成部１２１は、ハイパスフィルタ部１０７の出力を用いて、出力値の分布を示す分布情報としてヒストグラムを生成する。次に、ステップＳ２０２にて、係数変更部１２２は、ヒストグラム生成部１２１で生成されたヒストグラム結果から、画像にどの周波数成分が多く含まれているかを判断する。そして、係数変更部１２２は、周波数成分が多く含まれている区間に対する階調を保持し、あまり含まれていない区間に対する階調を圧縮するように、階調圧縮部１０８での階調圧縮処理で用いる傾きとｙ切片を設定する。言い換えれば、係数変更部１２２は、周波数成分が多く含まれている区間に対する階調の圧縮率を低く変更し、あまり含まれていない区間に対する階調の圧縮率を高く変更するように階調圧縮部１０８を制御する。
【００５３】
ステップＳ２０２の後に行うステップＳ１０６〜Ｓ１１２の処理は、図４に示した第１の実施形態におけるステップＳ１０６〜Ｓ１１２の処理と同様である。ただし、ステップＳ１１０での判定の結果、すべてのテンプレートブロックについての動きベクトルの検出が終了していなければステップＳ２０１に移行する。そして、未完了のテンプレートブロックについてステップＳ２０１、Ｓ２０１、Ｓ１０６〜Ｓ１０９の処理を繰り返す。
【００５４】
第２の実施形態によれば、ハイパスフィルタ部１０７の出力の分布を示すヒストグラムを生成して画像に多く含まれる周波数成分を検出し、検出結果に応じて階調の変化を制御して階調圧縮処理を施した後に動きベクトルの検出を行う。これにより、メモリコントローラ１１２におけるメモリバス帯域を増加させることなく、高い検出精度での動きベクトルの検出を行うことができ、消費電力の削減や回路規模の減少によるコスト削減が可能となる。
【００５５】
なお、ヒストグラムを生成する際に高周波成分の度数に重み付けを行って度数を計算し、その結果に応じて階調圧縮の制御を変更するようにしても良い。このようにすることで、画像に細いエッジしかなかった場合に、高周波成分として検出されるが、その度数が少ないために高周波成分に対する階調を圧縮するように変更することを防ぐことができる。例えば、重み付けをしない単純な度数では図１１（Ａ）に示すようなヒストグラムが得られるハイパスフィルタ部１０７の出力に対して、高周波成分である第１区間及び第５区間に対して重みを付けることで図１１（Ｂ）に示すようなヒストグラムが得られる。重み付けは、例えばハイパスフィルタ部１０７の出力が第１区間又は第５区間に含まれるときには１画素を１画素以上（例えば１．２画素）として計算することで加重加算し、第２区間、第３区間、又は第４区間に含まれるときには１画素として計算する。
【００５６】
このように重み付けして得られたヒストグラムに応じて階調圧縮の制御を変更することで、階調圧縮処理における入出力の関係は、例えば図１１（Ｃ）に点線で示す関係から、図１１（Ｃ）に実線で示す関係に変更される。これにより、画像の高周波成分の度数が少なかったとしても、高周波成分の階調が圧縮されすぎないようになる。
【００５７】
前述のように入力画像にハイパスフィルタ処理を施すことで、輝度変動に対するロバスト性は向上し、動きベクトルの検出精度が低下するのを抑制できる。しかしながら、動き検出対象画像が、空や模様のない壁等の低周波成分が多く含まれる画像である場合、画像の信号相関の一致度を利用するブロックマッチングでは、相関が取りにくくなってしまうため、動きベクトルの検出精度の低下を引き起こしてしまう。また、木の葉のような高周波成分が多く含まれる画像を撮影しても、パンやチルトなどのカメラワークを行いながら撮影すると、高周波成分が減衰し、低周波成分が多く含まれる画像として撮像されることになり、動きベクトルの検出精度の低下が発生してしまう。そこで、以下に説明する第３及び第４の実施形態では、ハイパスフィルタ処理による輝度変動に対するロバスト性は維持したまま、画像に低周波成分が多く含まれていても高い検出精度で動きベクトルの検出を行えるようにする。
【００５８】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
図１２は、第３の実施形態に係る画像処理装置の構成例を示すブロック図である。図１２において、図１、図６に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。動きベクトル検出部１２０Ｃは、センサ１０１により得られた動画信号（現像部１０３の出力信号）に対して、ハイパスフィルタ処理及び階調圧縮処理を施し、連続した二つのフレーム間での動きベクトルの検出を行う。動きベクトル検出部１２０Ｃは、ハイパスフィルタ部１０７、階調圧縮部１０８、相関演算部１０９、及びＣＰＵ−Ｉ／Ｆ１１０に加え、メモリ１２３及び低周波検知部１２４を有する。
【００５９】
第３の実施形態における階調圧縮部１０８は、第２の実施形態における階調圧縮部１０８と同様に、５つの区間に分けて各区間の傾きとｙ切片が設定され、ハイパスフィルタ部１０７の出力に対する階調圧縮処理を行う。なお、第３の実施形態では、５区間に分けて階調圧縮処理を制御する例を示すが、区間の数は５区間に限定されるものではなく、任意の複数である。メモリ１２３は、ハイパスフィルタ部１０７の出力を保持し、データの遅延を調整する。低周波検知部１２４は、ハイパスフィルタ部１０７の出力、又は相関演算部１０９の出力である動きベクトルを用いて、画像に低周波成分が多く含まれるか否かの判定を行う。
【００６０】
第３の実施形態における階調圧縮の制御について図１３を用いて説明する。図１３（Ａ）は、第３の実施形態における階調圧縮部１０８での階調圧縮処理の入力と出力の関係の一例を示す図であり、横軸が階調圧縮部１０８への入力データを示し、縦軸が階調圧縮部１０８からの出力データを示している。階調圧縮部１０８への入力データは、前述した実施形態と同様に全体に７６５のオフセットを付加し、０から１５３０の値をとるように変換している。第３の実施形態における階調圧縮部１０８は、基本的には高周波成分である第１区間及び第５区間の入力データに対しては階調を保持し、低周波成分である第２区間、第３区間、及び第４区間の入力データに対しては階調を圧縮するようにして階調圧縮を行う。つまり、階調圧縮部１０８は、図７に示したものと同様の関係である、図１３（Ａ）に示す階調圧縮での入出力の関係３０１に従って１１ビットの入力を８ビットの出力に圧縮する。
【００６１】
しかしながら、空のような平坦部が多い画像は高周波成分が少なく低周波成分が集中しているため、図１３（Ａ）に示した入出力の関係３０１に従って階調圧縮を行うと、少ない高周波成分の階調を保持して、多く含まれる低周波部分の階調を圧縮してしまう。その結果、画像の情報量が失われてしまうことになり、ブロックマッチングにおける相関の一致度が取りづらくなる。そこで、第３の実施形態では、階調圧縮処理を行う際に、画像が低周波成分を多く含んでいるか否かを判断し、画像に含まれる低周波成分に応じて階調圧縮の制御を変更することで、相関演算への階調圧縮処理による影響を抑制し相関の一致度を取り易くする。対象画像に低周波成分が多く含まれるかの判断は、低周波検知部１２１によって行う。低周波検知部１２１は、例えば次の２つの手法によって低周波成分が多く含まれるかを判断する。
【００６２】
１つ目の手法は、１フレーム前のハイパスフィルタ部１０７の出力を使用する手法である。ハイパスフィルタ部１０７は、画像の直流成分を除去する目的で設けているが、ハイパスフィルタ部１０７の出力自体が画像に含まれる周波数分布を示している。よって、ハイパスフィルタ部１０７の出力の度数分布を生成した結果、低周波成分である７６５に近い値の度数が高ければ、画像に低周波成分が多く含まれているという判断が行える。
【００６３】
２つ目の手法は、相関演算部１０９から出力される１フレーム前の動きベクトルを用いる手法である。例えば、ある被写体に対してカメラを固定して撮像した場合、エッジ等は高周波成分を持っているが、パンやチルトのようなカメラワークを行いながら撮像するとぶれを含む画像となる。このような画像は、元々の周波数成分に対して、高周波成分が減衰するために全体的に低周波成分が多く含まれることになる。よって、カメラワークを行った場合、画面内の大多数の動きベクトルが大きいことと相関が高いため、動きベクトルをヒストグラム処理して、最頻値の動きベクトルの大きさによって、画像に低周波成分が多く含まれているという判断が行える。
【００６４】
動きベクトルの大きさと数から画像に低周波成分が多く含まれているかの判断を行い、階調圧縮の特性を変更する例を説明する。低周波検知部１２１が、画面内で検出された動きベクトルのヒストグラム処理を行った結果、図１３（Ｂ）において３１１、３１２、３１３に例示したように、ヒストグラムの最頻値をとる動きベクトルが得られたとする。なお、図１３（Ｂ）において、原点（０，０）が動きベクトルがゼロ、±vx_max、±vy_maxが動きベクトルで取り得るｘ成分、ｙ成分の最大値を示している。また、±vx_th1、±vx_th2は、動きベクトルにおけるｘ成分に対して設定した閾値であり、第１の閾値±vx_th1の絶対値は第２の閾値±vx_th2の絶対値よりも小さい。また、±vy_th1、±vy_th2は、動きベクトルにおけるｙ成分に対して設定した閾値であり、第１の閾値±vy_th1の絶対値は第２の閾値±vy_th2の絶対値よりも小さい。
【００６５】
ヒストグラムの最頻値をとる動きベクトルのｘ成分の絶対値がvx_th1以下であり、かつｙ成分の絶対値がvy_th1以下である（例えば、図１３（Ｂ）に示す３１１である）場合、画像内の動きベクトルは全体的に小さい傾向であることを意味する。この場合、低周波検知部１２１は、カメラワークは起きておらず、画像に低周波成分が多く含まれていないと判断する。そして、階調圧縮部１０８は、通常時における階調圧縮処理での入出力の関係である、図１３（Ａ）に示す階調圧縮処理での入出力の関係３０１に従って階調圧縮を行う。
【００６６】
一方、ヒストグラムの最頻値をとる動きベクトルのｘ成分の絶対値がvx_th2より大きく、かつｙ成分の絶対値がvy_th2より大きい（例えば、図１３（Ｂ）に示す３１３である）場合、画像内の動きベクトルは全体的に大きい傾向であることを意味する。この場合、低周波検知部１２１は、カメラワークが起きて、画像に低周波成分が多く含まれていると判断する。そして、階調圧縮部１０８は、通常時よりも低周波成分の階調を保持し、高周波成分の階調を圧縮するように変更された、図１３（Ａ）に示す階調圧縮処理での入出力の関係３０３に従って階調圧縮を行う。
【００６７】
また、ヒストグラムの最頻値をとる動きベクトルのｘ成分の絶対値及びｙ成分の絶対値が前述した条件を満たさない（例えば、図１３（Ｂ）に示す３１２である）場合、低周波検知部１２１は、画像に低周波成分が若干多く含まれていると判断する。そして、階調圧縮部１０８は、通常時よりも若干低周波成分の階調を保持し、高周波成分の階調を圧縮するように変更された、図１３（Ａ）に示す階調圧縮処理での入出力の関係３０２に従って階調圧縮を行う。図１３（Ａ）に示した階調圧縮処理での入出力の関係３０２は、画像の低周波成分については、３０１よりも階調を保持し３０３よりも階調を圧縮し、画像の高周波成分については、３０１よりも階調を圧縮し３０３よりも階調を保持するものである。
【００６８】
次に、第３の実施形態に係る画像処理装置の動作について説明する。図１４は、第３の実施形態における動きベクトル検出部１２０Ｃの動作例を示すフローチャートである。
【００６９】
不図示の操作部により画像処理装置の電源が投入された後のステップＳ１０１〜Ｓ１０４の処理は、図４に示した第１の実施形態におけるステップＳ１０１〜Ｓ１０４の処理と同様である。次に、ステップＳ３０１にて、階調圧縮部１０８は、低周波検知部１２１での検知結果に応じて各区間に対する傾きとｙ切片を決定する。ステップＳ３０１の後に行うステップＳ１０６〜Ｓ１１２の処理は、図４に示した第１の実施形態におけるステップＳ１０６〜Ｓ１１２の処理と同様である。
【００７０】
第３の実施形態によれば、ハイパスフィルタ部１０７の出力や動きベクトル量の大きさと数から低周波成分が多く含まれる画像であるか否かを判断して、前述した階調圧縮処理を行う。これにより、低周波成分が多く含まれる画像に対して、メモリコントローラ１１２におけるメモリバス帯域を増加させることなく、高い検出精度での動きベクトルの検出を行うことが可能となる。
【００７１】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。
第４の実施形態に係る画像処理装置は、外部センサを用いてパンやチルトなどのカメラワークが起きたことを検出することで、画像に低周波成分が多く含まれているか否かを判断する。図１５は、第４の実施形態に係る画像処理装置の構成例を示すブロック図である。図１５において、図１、図６に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【００７２】
動きベクトル検出部１２０Ｄは、センサ１０１により得られた動画信号（現像部１０３の出力信号）に対して、ハイパスフィルタ処理及び階調圧縮処理を施し、連続した二つのフレーム間での動きベクトルの検出を行う。動きベクトル検出部１２０Ｄは、ハイパスフィルタ部１０７、階調圧縮部１０８、相関演算部１０９、ＣＰＵ−Ｉ／Ｆ１１０、及びメモリ１２３を有する。ジャイロセンサ（角速度センサ）１２５は、カメラワークが起きたことを検出するための外部センサであり、ヨー（ｙａｗ）やピッチ（ｐｉｔｃｈ）の情報を出力する。
【００７３】
前述したように、パンやチルトなどのカメラワークを行いながら撮像した場合、撮像される画像は蓄積ブレが発生するために、結果として低周波成分が多く含まれることになる。よって、大きなカメラワークを行った場合、角速度センサであるジャイロセンサ１２５の積分値である角度ブレは大きな値を示すため、ジャイロセンサ１２５の積分値に基づいて画像に低周波成分が多く含まれているか否かの判断を行うことが可能である。ジャイロセンサ１２５の積分値に基づいて画像に低周波成分が含まれていないと判断した場合には、図１３（Ａ）に示した階調圧縮処理での入出力の関係３０１に従って階調圧縮を行う。一方、ジャイロセンサ１２５の積分値に基づいて画像に低周波成分が多く含まれていると判断した場合には、図１３（Ａ）に示した階調圧縮処理での入出力の関係３０２、３０３のように、低周波成分に対する階調を保持するように変更して階調圧縮を行う。図１３（Ａ）に示した階調圧縮処理での入出力の関係３０２、３０３の選択は、角度ブレの大きさ、すなわち角速度センサであるジャイロセンサ１２５の積分値の大きさに応じて切り替えれば良い。
【００７４】
第４の実施形態によれば、外部センサ１２５の積分値から低周波成分が多く含まれる画像であるか否かを判断して、前述した階調圧縮処理を行う。これにより、低周波成分が多く含まれる画像に対して、メモリコントローラ１１２におけるメモリバス帯域を増加させることなく、高い検出精度での動きベクトルの検出を行うことが可能となる。
【００７５】
（本発明の他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７６】
例えば、前述した各実施形態に示した画像処理装置は、図１８に示すようなコンピュータ機能７００を有し、そのＣＰＵ７０１により前述した各実施形態での動作が実施される。コンピュータ機能７００は、図１８に示すように、ＣＰＵ７０１と、ＲＯＭ７０２と、ＲＡＭ７０３とを備える。また、操作部（ＣＯＮＳ）７０９のコントローラ（ＣＯＮＳＣ）７０５と、ＣＲＴやＬＣＤ等の表示部としてのディスプレイ（ＤＩＳＰ）７１０のディスプレイコントローラ（ＤＩＳＰＣ）７０６とを備える。さらに、ハードディスク（ＨＤ）７１１、及びフレキシブルディスク等の記憶デバイス（ＳＴＤ）７１２のコントローラ（ＤＣＯＮＴ）７０７と、ネットワークインタフェースカード（ＮＩＣ）７０８とを備える。それら機能部７０１、７０２、７０３、７０５、７０６、７０７、７０８は、システムバス７０４を介して互いに通信可能に接続された構成としている。
【００７７】
ＣＰＵ７０１は、ＲＯＭ７０２又はＨＤ７１１に記憶されたソフトウェア、又はＳＴＤ７１２より供給されるソフトウェアを実行することで、システムバス７０４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ７０１は、前述したような動作を行うための処理プログラムを、ＲＯＭ７０２、ＨＤ７１１、又はＳＴＤ７１２から読み出して実行することで、各実施形態での動作を実現するための制御を行う。ＲＡＭ７０３は、ＣＰＵ７０１の主メモリ又はワークエリア等として機能する。ＣＯＮＳＣ７０５は、ＣＯＮＳ７０９からの指示入力を制御する。ＤＩＳＰＣ７０６は、ＤＩＳＰ７１０の表示を制御する。ＤＣＯＮＴ７０７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び各実施形態における前記処理プログラム等を記憶するＨＤ７１１及びＳＴＤ７１２とのアクセスを制御する。ＮＩＣ７０８はネットワーク７１３上の他の装置と双方向にデータをやりとりする。
【００７８】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７９】
１０７  ハイパスフィルタ部、１０８  階調圧縮部、１０９  相関演算部、１１０  ＣＰＵインタフェース部、１１１  ＣＰＵ、１１２  メモリコントローラ、１１３  メモリ、１１４  ＣＰＵバス、１２０  動きベクトル検出部、１２１  ヒストグラム生成部、１２２  係数変更部、１２３  メモリ、１２４  低周波検知部、１２５  ジャイロセンサ
【図１】
2014158074.tif 000004
【図２】
2014158074.tif 000005
【図３】
2014158074.tif 000006
【図４】
2014158074.tif 000007
【図５】
2014158074.tif 000008
【図６】
2014158074.tif 000009
【図７】
2014158074.tif 000010
【図８】
2014158074.tif 000011
【図９】
2014158074.tif 000012
【図１０】
2014158074.tif 000013
【図１１】
2014158074.tif 000014
【図１２】
2014158074.tif 000015
【図１３】
2014158074.tif 000016
【図１４】
2014158074.tif 000017
【図１５】
2014158074.tif 000018
【図１６】
2014158074.tif 000019
【図１７】
2014158074.tif 000020
【図１８】
2014158074.tif 000021