(57)【要約】【課題】入力される画像の手ぶれを精度よく検出して補正する撮像装置を提供する。【解決手段】手ぶれ検出部５０は、複数の入力画像を比較して所定の領域毎の動きを検出する動き検出部５１と、入力画像の画像的特徴に基づいて主要被写体を検出する主要被写体検出部５２と、主要被写体が含まれる領域で検出される動きと、これ以外の領域で検出される動きと、を加重加算して手ぶれを求める手ぶれ取得部５３と、を備える。手ぶれ取得部５３は、主要被写体の入力画像中の大きさが閾値以上となる場合、主要被写体が含まれる領域で検出された動きを主とした入力画像の手ぶれを求め、主要被写体の入力画像中の大きさが閾値より小さくなる場合、主要被写体が含まれる領域以外の領域で検出された動きを主とした入力画像の手ぶれを求める。【選択図】図２
2011155582.tif 000002
【特許請求の範囲】
【請求項１】
撮像により画像を生成する撮像部と、
複数の画像を比較することで所定の領域毎に動きを検出する動き検出部と、
画像的特徴に基づいて画像内の主要被写体を検出する主要被写体検出部と、
主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域で検出される動きを主とした手ぶれを求め、主要被写体の画像内の大きさが所定の大きさより小さくなる場合、主要被写体が含まれる領域以外の領域で検出される動きを主とした手ぶれを求める手ぶれ取得部と、
前記手ぶれ取得部で求められた手ぶれに対応した位置で画像を切り出す切り出し部と、
を備えることを特徴とする撮像装置。
【請求項２】
前記手ぶれ取得部が、主要被写体の画像内の大きさが大きくなるほど、主要被写体が含まれる領域で検出される動きの重みを大きくして手ぶれを求めることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記手ぶれ取得部が、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域で検出される動きのみを用いて手ぶれを求め、
主要被写体の画像内の大きさが所定の閾値より小さくなる場合、主要被写体が含まれる領域以外の領域で検出される動きのみを用いて手ぶれを求めることを特徴とする請求項１に記載の撮像装置。
【請求項４】
前記手ぶれ取得部が、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域で検出される動きの重みを、これ以外の領域で検出される動きの重み以上にして手ぶれを求め、
主要被写体の画像内の大きさが所定の大きさより小さくなる場合、主要被写体が含まれる領域で検出される動きの重みを、これ以外の領域で検出される動きの重みより小さくして手ぶれを求めることを特徴とする請求項１または請求項２に記載の撮像装置。
【請求項５】
前記手ぶれ取得部が、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域以外の領域で検出される動きの重みを０にして手ぶれを求め、
主要被写体の画像内の大きさが所定の大きさより小さくなる場合、主要被写体が含まれる領域の重みを０にして手ぶれを求めることを特徴とする請求項３に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力される画像から手ぶれを検出して補正する撮像装置に関する。
【背景技術】
【０００２】
撮像装置を固定せずに（例えば、ユーザが手に持って）撮像する場合、撮像装置に動き（手ぶれ）が生じやすくなる。撮像装置に手ぶれが生じると、例えば、動画を構成する各画像（フレーム）において、主要被写体（人や物など、撮像者が特に撮像しようとする物体）や背景（主要被写体以外）の位置が一定にならずに振動するなどの、種々の問題を引き起こす。
【０００３】
この問題を解決するために、種々の撮像装置が提案されている。例えば、特許文献１では、フレームをブロック毎に比較することで各ブロックの動きベクトルを検出し、当該動きベクトルに基づいて主要被写体を表示するブロックを識別して、当該ブロックの動き（ぶれ）を抑制するように光学補正を行う撮像装置が提案されている。
【０００４】
特許文献１で提案されている撮像装置は、ユーザが主要被写体を追って（主要被写体をフレーム内の所定の位置や範囲に収まるように維持して）撮像する場合に、主要被写体のぶれ（即ち、手ぶれ）を抑制することを可能とするものである。なお、この撮像装置は、動きベクトルを一定時間加算することで、主要被写体の領域（各ブロックの動きベクトルがランダムであるため、加算値が小さくなる領域）と、背景の領域（各ブロックの動きベクトルがランダムではないため、加算値が大きくなる領域）と、を区別する。
【０００５】
また例えば、特許文献２では、フレームを比較することで手ぶれベクトルと画像動きベクトル（主要被写体の動きを示す動きベクトル）とをそれぞれ検出し、画像動きベクトルを露光時間の制御に用いる撮像装置が提案されている。この撮像装置は、画像動きベクトルを検出する際に手ぶれベクトルの影響を抑制することにより、精度よく画像動きベクトルを検出することを可能とする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−２８９１５９号公報
【特許文献２】特開平６−２１７１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の撮像装置では、主要被写体及び背景のそれぞれの領域の加算値が共に小さくなる場合（例えば、主要被写体が静止する場合や一方向に移動しない場合など）に、主要被写体と背景の区別が困難になる。そのため、主要被写体のぶれ（即ち、手ぶれ）を精度よく検出することができなくなり、問題となる。
【０００８】
また、特許文献２の撮像装置では、主要被写体と背景とを区別することなく、フレームを比較することで手ぶれベクトル及び画像動きベクトルを検出する。そのため、主要被写体の画像的特徴や動き、手ぶれの状態などによっては、手ぶれベクトルや画像動きベクトルの検出精度が低下し、問題となる。
【０００９】
以上のように、フレームを比較することで検出される動きから手ぶれを求める場合、主要被写体の画像的特徴や動き、手ぶれの状態によっては、検出精度が低下する。そして、精度が低い方法で検出された手ぶれを用いた種々の処理（例えば、手ぶれを抑制する処理）が行われると、不適切な処理によって得られる画像が不自然になるなどの問題が生じる。
【００１０】
そこで本発明は、入力される画像の手ぶれを精度よく検出して補正する撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明における撮像装置は、撮像により画像を生成する撮像部と、複数の画像を比較することで所定の領域毎に動きを検出する動き検出部と、画像的特徴に基づいて画像内の主要被写体を検出する主要被写体検出部と、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域で検出される動きを主とした手ぶれを求め、主要被写体の画像内の大きさが所定の大きさより小さくなる場合、主要被写体が含まれる領域以外の領域で検出される動きを主とした手ぶれを求める手ぶれ取得部と、前記手ぶれ取得部で求められた手ぶれに対応した位置で画像を切り出す切り出し部と、を備えることを特徴とする。
【００１２】
特に、上記構成の撮像装置において、前記手ぶれ取得部が、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域で検出される動きの重みを、これ以外の領域で検出される動きの重み以上にして手ぶれを求め、主要被写体の画像内の大きさが所定の大きさより小さくなる場合、主要被写体が含まれる領域で検出される動きの重みを、これ以外の領域で検出される動きの重みより小さくして手ぶれを求めることとしても構わない。
【００１３】
また、上記構成の撮像装置において、前記手ぶれ取得部が、主要被写体の画像内の大きさが大きくなるほど、主要被写体が含まれる領域で検出される動きの重みを大きくして手ぶれを求めることとしても構わない。
【００１４】
このように構成すると、主要被写体の大きさが所定の大きさを超えて変動し、手ぶれを求める主たる対象が切り替わったとしても、スムーズに切り替えを行うことが可能となる。そのため、求められる手ぶれに基づいて手ぶれ補正処理を行う際に、手ぶれを抑制する主たる対象が切り替わることで画像が不自然に変動することを、抑制することが可能となる。
【００１５】
また、上記構成の撮像装置において、前記手ぶれ取得部が、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域で検出される動きのみを用いて手ぶれを求め、主要被写体の画像内の大きさが所定の閾値より小さくなる場合、主要被写体が含まれる領域以外の領域で検出される動きのみを用いて手ぶれを求めることとしても構わない。
【００１６】
特に、上記構成の撮像装置において、前記手ぶれ取得部が、主要被写体の画像内の大きさが所定の大きさ以上となる場合、主要被写体が含まれる領域以外の領域で検出される動きの重みを０にして手ぶれを求め、主要被写体の画像内の大きさが所定の大きさより小さくなる場合、主要被写体が含まれる領域の重みを０にして手ぶれを求めることとしても構わない。
【００１７】
このように構成すると、手ぶれを求める対象を限定して明確化することが可能となる。そのため、例えば上記のようにして求められる手ぶれに基づいて手ぶれ補正処理を行う場合に、対象の手ぶれを効果的に抑制することが可能となる。
【発明の効果】
【００１８】
本発明の構成とすると、画像的特徴に基づいて検出された主要被写体が含まれる領域から求められる動きと、それ以外の領域から求められる動きと、に基づいて手ぶれを求めることとなる。そのため、精度よく手ぶれを検出することが可能となる。
【００１９】
また、被写体の状況（主要被写体が画像の主題になっているか、これ以外（背景）が画像の主題になっているか）に応じた手ぶれを精度良く求めることが可能となる。したがって、求められる手ぶれに基づいて手ぶれ補正処理を行うことで、画像の主題となっている主要被写体または背景のぶれを、効果的に抑制することが可能となる。
【００２０】
本発明の意義ないし効果は、以下に示す実施の形態の説明によりさらに明らかとなろう。ただし、以下の実施の形態は、あくまでも本発明の実施の形態の一つであって、本発明ないし各構成要件の用語の意義は、以下の実施の形態に記載されたものに制限されるものではない。
【図面の簡単な説明】
【００２１】
【図１】は、本発明の実施の一形態である撮像装置の全体構成例を示すブロック図である。
【図２】は、手ぶれ検出部の構成例を示すブロック図である。
【図３】は、手ぶれ検出部を含む撮像装置の動作の一例を示すフローチャートである。
【図４】は、入力画像に設定される小領域の一例を示す図である。
【図５】は、２つの入力画像のそれぞれから検出される主要被写体領域を示す図である。
【図６】は、図５に示す２つの入力画像から求められる動きベクトルの一例を示す図である。
【図７】は、手ぶれベクトルを求める方法について説明する図である。
【図８】は、手ぶれ補正処理の一例について説明する図である。
【発明を実施するための形態】
【００２２】
本発明の実施の形態について、以下図面を参照して説明する。最初に、本発明の実施の一形態である撮像装置について説明する。なお、以下に説明する撮像装置は、デジタルカメラなどの音、動画及び静止画の記録が可能なものである。
【００２３】
＜＜撮像装置＞＞
まず、本発明の実施の一形態である撮像装置の全体構成例について、図１を参照して説明する。図１は、本発明の実施の一形態である撮像装置の全体構成例を示すブロック図である。
【００２４】
図１に示すように、撮像装置１は、入射される光学像を電気信号に変換するＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complimentary Metal Oxide Semiconductor）センサなどの固体撮像素子から成るイメージセンサ２と、対象物の光学像をイメージセンサ２に結像させるとともに光量などの調整を行うレンズ部３と、を備える。レンズ部３とイメージセンサ２とで撮像部Ｓが構成され、この撮像部Ｓによって画像信号が生成される。なお、レンズ部３は、ズームレンズやフォーカスレンズなどの各種レンズ（不図示）や、イメージセンサ２に入力される光量を調整する絞り（不図示）などを備える。
【００２５】
さらに、撮像装置１は、イメージセンサ２から出力されるアナログ信号である画像信号をデジタル信号に変換するとともにゲインの調整を行うＡＦＥ（Analog Front End）４と、ＡＦＥ４から出力されるデジタルの画像信号に対して階調補正処理などの各種画像処理を施す画像処理部５と、入力される音を電気信号に変換する集音部６と、集音部６から出力されるアナログ信号である音響信号をデジタル信号に変換するＡＤＣ（Analog to Digital Converter）７と、ＡＤＣ７から出力される音響信号に対してノイズ除去などの各種音響処理を施して出力する音響処理部８と、画像処理部５から出力される画像信号と音響処理部８から出力される音響信号のそれぞれに対してＭＰＥＧ（Moving Picture Experts Group）圧縮方式などの動画用の圧縮符号化処理を施したり画像処理部５から出力される画像信号にＪＰＥＧ（Joint Photographic Experts Group）圧縮方式などの静止画用の圧縮符号化処理を施したりする圧縮処理部９と、圧縮処理部９で圧縮符号化された圧縮符号化信号を記録する外部メモリ１０と、圧縮符号化信号を外部メモリ１０に記録したり読み出したりするドライバ部１１と、ドライバ部１１において外部メモリ１０から読み出した圧縮符号化信号を伸長して復号する伸長処理部１２と、を備える。
【００２６】
画像処理部５は、入力される画像信号から手ぶれを検出する手ぶれ検出部５０を備える。なお、手ぶれ検出部５０の構成の詳細については、後述する。
【００２７】
また、撮像装置１は、伸長処理部１２で復号されて得られる画像信号をモニタなどの表示装置（不図示）で表示可能な信号に変換する画像信号出力回路部１３と、伸長処理部１２で復号されて得られる音響信号をスピーカなどの再生装置（不図示）で再生可能な信号に変換する音響信号出力回路部１４と、を備える。
【００２８】
また、撮像装置１は、撮像装置１内全体の動作を制御するＣＰＵ（Central Processing Unit）１５と、各処理を行うための各プログラムを記憶するとともにプログラム実行時のデータの一時保管を行うメモリ１６と、撮像を開始するボタンや撮像条件などを調整するボタン等ユーザからの指示が入力される操作部１７と、各部の動作タイミングを一致させるためのタイミング制御信号を出力するタイミングジェネレータ（ＴＧ）部１８と、ＣＰＵ１５と各ブロックとの間でデータのやりとりを行うためのバス１９と、メモリ１６と各ブロックとの間でデータのやりとりを行うためのバス２０と、を備える。なお、以下では説明の簡略化のため、各ブロックのやりとりにおいてバス１９，２０を省略する。
【００２９】
なお、動画と静止画の画像信号を生成可能な撮像装置１を一例として示したが、撮像装置１が、静止画の画像信号のみ生成可能な構成であっても構わない。この場合、集音部６やＡＤＣ７、音響処理部８、音響信号出力回路部１４などを備えない構成としても構わない。また、表示装置や再生装置は、撮像装置１と一体となっているものであっても構わないし、別体となっており撮像装置１に備えられる端子とケーブル等を用いて接続されるようなものであっても構わない。
【００３０】
また、外部メモリ１０は画像信号や音響信号を記録することができればどのようなものでも構わない。例えば、ＳＤ（Secure Digital）カードのような半導体メモリ、ＤＶＤなどの光ディスク、ハードディスクなどの磁気ディスクなどをこの外部メモリ１０として使用することができる。また、外部メモリ１０を撮像装置１から着脱自在としても構わない。
【００３１】
次に、撮像装置１の全体動作について図１を用いて説明する。まず、撮像装置１は、レンズ部３より入射される光をイメージセンサ２において光電変換することによって、電気信号である画像信号を取得する。そして、イメージセンサ２は、ＴＧ部１８から入力されるタイミング制御信号に同期して、所定のタイミングでＡＦＥ４に画像信号を出力する。
【００３２】
そして、ＡＦＥ４によってアナログ信号からデジタル信号へと変換された画像信号は、画像処理部５に入力される。画像処理部５では、入力されるＲ（赤）Ｇ（緑）Ｂ（青）の成分を備える画像信号を、輝度信号（Ｙ）と色差信号（Ｕ，Ｖ）の成分を備える画像信号に変換するとともに、階調補正や輪郭強調等の各種画像処理を施す。また、メモリ１６はフレームメモリとして動作し、画像処理部５が処理を行なう際に画像信号を一時的に保持する。
【００３３】
また、このとき画像処理部５に入力される画像信号に基づき、レンズ部３において、各種レンズの位置が調整されてフォーカスの調整が行われたり、絞りの開度が調整されて露出の調整が行われたりする。このフォーカスや露出の調整は、それぞれ最適な状態となるように所定のプログラムに基づいて自動的に行われたり、ユーザの指示に基づいて手動で行われたりする。
【００３４】
また、画像処理部５に備えられる手ぶれ検出部５０は、入力される画像信号に基づいて手ぶれを検出する。また、手ぶれ検出部５０で検出される手ぶれは、種々の処理に利用され得る。例えば、画像処理部５が、画像信号の手ぶれを抑制する処理を行う際に、手ぶれ検出部５０で検出される手ぶれを利用しても構わない。なお、手ぶれ検出部５による手ぶれを検出する処理の詳細や、検出される手ぶれを利用する処理の詳細については、後述する。
【００３５】
動画の画像信号を生成する場合、集音部６において集音を行う。集音部６で集音されてアナログの電気信号に変換される音響信号は、ＡＤＣ７に入力される。ＡＤＣ７は、入力される音響信号をデジタル信号に変換し、音響処理部８に入力する。音響処理部８は、入力されるデジタルの音響信号にノイズ除去や強度制御などの各種音響処理を施す。そして、画像処理部５から出力される画像信号と、音響処理部８から出力される音響信号と、がともに圧縮処理部９に入力され、圧縮処理部９において所定の圧縮方式で圧縮される。このとき、画像信号と音響信号とが時間的に関連付けられ、再生時に画像と音とがずれないように構成される。そして、圧縮処理部９から出力される圧縮符号化信号は、ドライバ部１１を介して外部メモリ１０に記録される。
【００３６】
一方、静止画の画像信号を生成する場合、画像処理部５から出力される画像信号が圧縮処理部９に入力され、圧縮処理部９において所定の圧縮方式で圧縮される。そして、圧縮処理部９から出力される圧縮符号化信号が、ドライバ部１１を介して外部メモリ１０に記録される。
【００３７】
外部メモリ１０に記録された動画の圧縮符号化信号は、ユーザの指示に基づいて伸長処理部１２に読み出される。伸長処理部１２は、圧縮符号化信号を伸長及び復号することで画像信号及び音響信号を生成し、出力する。そして、画像信号出力回路部１３が、伸長処理部１２から出力される画像信号を表示装置で表示可能な形式に変換して出力し、音響信号処理回路部１４が、伸長処理部１２から出力される音響信号を再生装置で再生可能な形式に変換して出力する。また、外部メモリ１０に記録された静止画の圧縮符号化信号も同様に処理される。即ち、伸長処理部１２が圧縮符号化信号を伸長及び復号して画像信号を生成し、画像信号出力回路部１３が当該画像信号を表示装置で再生可能な形式に変換して出力する。
【００３８】
なお、画像信号の記録を行わずに表示装置などに表示される画像をユーザが確認する、いわゆるプレビューモードである場合に、画像処理部５から出力される画像信号を圧縮せずに画像信号出力回路部１３に出力することとしても構わない。また、画像信号を記録する際に、圧縮処理部９で圧縮して外部メモリ１０に記録する動作と並行して、画像信号出力回路部１３を介して表示装置などに画像信号を出力することとしても構わない。
【００３９】
また、手ぶれ検出部５０が画像処理部５に備えられ、画像信号の記録時に手ぶれを検出する構成について例示したが、手ぶれ検出部５０が備えられる場所や手ぶれを検出するタイミングは、上述の限りではない。例えば、手ぶれ検出部５０を伸長処理部１２の後段かつ画像信号出力回路部１３の前段に備え、再生時（外部メモリ１０から伸長処理部１２に読み出されて伸長された後、画像信号出力回路部１３に入力される前）や、編集時（外部メモリ１０から伸長処理部１２に読み出されて伸長された後、外部メモリ１０に再度記録するために圧縮処理部９に入力される前）に、画像信号から手ぶれを検出しても構わない。
【００４０】
また、手ぶれを利用した処理を行うタイミングや、当該処理を実現する部分が備えられる場所についても、手ぶれ検出部５０と同様である。さらに、手ぶれを検出するタイミング（例えば、記録時や編集時）と、手ぶれを利用した処理を行うタイミング（例えば、編集時や再生時）とは、ずれても構わない。ただし、手ぶれを検出するタイミングの方が早いものとし、検出した手ぶれの情報を画像信号を含むファイルのヘッダ領域に記録したり、外部メモリ１０に別のファイルとして記録したりすることとする。
【００４１】
さらに、図１では撮像機能、再生機能、編集機能を備える撮像装置１を例示して説明したが、いずれかの機能を備えない装置（例えば、撮像装置、再生装置、編集装置など）であっても構わない。
【００４２】
＜＜手ぶれ検出部＞＞
次に、上述した手ぶれ検出部５０の詳細について、図面を参照して説明する。また、以下では説明の具体化のために、手ぶれ検出部５０が手ぶれを検出する画像信号を画像として表現し、当該画像信号を「入力画像」とする。また、手ぶれ検出部５０で検出された手ぶれは、当該手ぶれの向きや大きさ（手ぶれベクトル）を示す情報である「手ぶれ情報」として出力され、上述のように種々の処理に利用されることとする。
【００４３】
まず、手ぶれ検出部５０の構成について、図面を参照して説明する。図２は、手ぶれ検出部の構成例を示すブロック図である。図２に示すように、手ぶれ検出部５０は、順次入力される入力画像中の動きを検出し動き情報として出力する動き検出部５１と、順次入力される入力画像から主要被写体が含まれる領域を検出し主要被写体領域情報として出力する主要被写体検出部５２と、動き検出部５１から出力される動き情報と主要被写体検出部５２から出力される主要被写体領域情報とに基づいて入力画像の手ぶれを求めて手ぶれ情報として出力する手ぶれ取得部５３と、を備える。
【００４４】
次に、図２に示す手ぶれ検出部５０の動作（手ぶれ検出部５０に関連する撮像装置１の一部の動作を含む）について、図面を参照して説明する。図３は、手ぶれ検出部を含む撮像装置の動作の一例を示すフローチャートである。なお、図３では、撮像装置１が撮像した画像（動画の各フレーム）を外部メモリ１０に記録する録画動作中に手ぶれ検出部５０が手ぶれを検出し、画像処理部５が手ぶれ情報に基づいて画像の手ぶれを抑制する手ぶれ補正処理を行う場合について説明する。
【００４５】
図３に示すように、例えばＣＰＵ１５は、撮像装置１の動作を終了する旨を示す指示が入力されているか否かを確認する（ＳＴＥＰ１）。撮像装置１の動作を終了する指示が入力されていることが確認される場合は（ＳＴＥＰ１、ＹＥＳ）、撮像装置１の動作を終了する。
【００４６】
一方、撮像装置１の動作を終了する指示が入力されていない場合（ＳＴＥＰ１、ＮＯ）、例えばＣＰＵ１５は、撮像した画像の記録を開始する指示（録画モードを開始する指示）が入力されているか否かを、確認する（ＳＴＥＰ２）。なお、ＳＴＥＰ１の終了の指示やＳＴＥＰ２の画像の記録を開始する指示は、例えばユーザが操作部１７を操作することで入力されたり、所定のプログラムにしたがって自動的に入力されたりする。
【００４７】
画像の記録を開始する指示が入力されていない場合（ＳＴＥＰ２、ＮＯ）、その他の処理を行い（ＳＴＥＰ３）、ＳＴＥＰ１に戻って終了するか否かを再度確認する。なお、その他の処理とは、例えば撮像した画像を記録せずにユーザに対して表示するプレビューモードでの処理や、外部メモリ１０に記録してある画像を表示装置を用いて表示する表示モードでの処理などである。
【００４８】
一方、画像の記録を開始する指示が入力されている場合（ＳＴＥＰ２、ＹＥＳ）、画像の記録を開始する（ＳＴＥＰ４）。最初に、撮像部Ｓが外部メモリ１０に記録するための画像（入力画像）を撮像し、画像処理部５及び手ぶれ検出部５０がこれを取得する（ＳＴＥＰ５）。
【００４９】
手ぶれ検出部５０の動き検出部５１は、取得した入力画像の動きを検出する（ＳＴＥＰ６）。この動き検出処理の具体例について、図面を参照して説明する。図４は、入力画像に設定される小領域の一例を示す図である。図４では、入力画像Ｐの水平方向に３個、垂直方向に３個、合計９個の小領域が設定される場合について示している。
【００５０】
小領域Ａｘｙについて、水平方向の右方ほどｘが大きく、垂直方向の下方ほどｙが大きくなるように表現する。ただし、図４に示す例では、１≦ｘ≦３、１≦ｙ≦３とする。なお、図４の小領域について、それぞれの小領域Ａｘｙが離間して設定されるように図示しているが、隣接して設定されるようにしても構わない。また、設定される小領域Ａｘｙの数は９個に限られず、９個以上でも９個以下でも構わない。ただし、以下では説明の具体化のため、入力画像に対して図４に示す９個の小領域Ａｘｙが設定されることとする。
【００５１】
動き検出部５１は、図４に示す小領域毎に動きを検出する。例えば、代表点マッチングやブロックマッチングなどの種々のマッチング方法に代表される、公知の動き検出方法を適用することで、小領域の動きを検出することができる。
【００５２】
具体的に例えば、時間的に連続する撮像によって得られた２枚の入力画像について、時間的に前（または後）に撮像された入力画像のある小領域Ａｘｙの一部または全部である基準部分が、時間点に後（または前）に撮像された入力画像のどの部分（候補部分）に相当するかを求めることで行う。このとき例えば、基準部分及び候補部分の輝度値の相関値（差分の絶対値和や２乗和、小さいほど相関が高い）を算出することにより、基準部分に相当する候補部分を探索する。そして、基準部分の位置と、基準部分に相当すると認められる候補部分の位置とのずれにより、動きの方向及び大きさ（動きベクトル）を求めることができる。
【００５３】
また、手ぶれ検出部５０の主要被写体検出部５２は、順次取得される入力画像から主要被写体を検出（追尾）する（ＳＴＥＰ７）。追尾対象である主要被写体は、ユーザによって指定されるものでも、自動的に設定されるものであっても構わない。ただし、主要被写体は、画像の記録開始（ＳＴＥＰ４）前に設定されていると好ましい。例えばＳＴＥＰ３のプレビューモード時に、操作部１７を介してユーザに主要被写体を指定させたり、自動的に検出した主要被写体やその候補を提示（表示装置に表示）してユーザに確認や選択をさせたりしても構わない。
【００５４】
自動的に主要被写体やその候補を検出する場合、例えば、検出すべき画像に対して顔検出処理を行い、検出された顔を有する物体を主要被写体やその候補としても構わない。具体的に例えば、検出された顔の下方（眉間から口の方向）であり顔と隣接する部分を主要被写体の胴体とみなし、胴体（または顔及び胴体）を含む領域を、主要被写体領域またはその候補領域とする。
【００５５】
顔検出処理の方法として、公知の顔検出方法を適用することができる。例えば、Adaboost（Yoav Freund, Robert E. Schapire,"A decision-theoretic generalization of on-line learning and an application to boosting", European Conference on Computational Learning Theory, September 20, 1995．）を利用して大量の教師サンプル（顔及び非顔のサンプル画像）から作成した重みテーブルと、主要被写体を検出するための画像と、を比較することで顔検出を行っても構わない。
【００５６】
主要被写体検出部５２は、設定された主要被写体の画像的特徴である輝度情報（例えば、輝度信号Ｙの信号値）や色情報（例えば、色差信号ＵＶやＲＧＢ信号、Ｈ（Hue）Ｓ（Saturation）Ｂ（Brightness）のＨの信号など、色を示す信号値。特に、胴体部分）を記憶しており、順次入力される入力画像からそれぞれの情報を示す領域（即ち、主要被写体領域）を検出することで、追尾処理を行う。このとき、時間的に前に撮像された入力画像から検出される主要被写体領域の位置を、時間的に後に撮像された入力画像から主要被写体を検出する際に利用しても構わない。例えば、後の入力画像において主要被写体を検出する範囲を、前の入力画像で検出された主要被写体領域及びその周辺領域に相当する領域の範囲としても構わない。
【００５７】
動き検出処理及び追尾処理の結果の具体例を、図５及び図６に示す。図５は、２つの入力画像のそれぞれから検出される主要被写体領域を示す図である。また、図６は、図５に示す２つの入力画像から求められる動きベクトルの一例を示す図である。
【００５８】
図５に示す入力画像Ｐ１，Ｐ２は、入力画像Ｐ１が時間的に前に撮像されたものであり、入力画像Ｐ２が時間的に後に撮像されたものである。また、入力画像Ｐ１から主要被写体領域Ｔ１が検出され、入力画像Ｐ２から主要被写体領域Ｔ２が検出される。図５に示す例では、入力画像Ｐ２中の主要被写体領域Ｔ２の位置が、入力画像Ｐ１中の主要被写体領域Ｔ１の位置よりも右上となっている。
【００５９】
また、例えば上述した方法により、入力画像Ｐ１，Ｐ２から図６に示すような小領域毎の動きベクトルが求められる。図６では、主要被写体領域Ｔ２（またはＴ１）が含まれる小領域Ａ１２，Ａ２２，Ａ１３，Ａ２３の動きベクトルＶ１２，Ｖ２２，Ｖ１３，Ｖ２３を黒塗りの矢印で図示し、それ以外の領域（背景領域）が含まれる小領域Ａ１１，Ａ２１，Ａ３１，Ａ３２，Ａ３３の動きベクトルＶ１１，Ｖ２１，Ｖ３１，Ｖ３２，Ｖ３３を白塗りの矢印で図示している。なお、主要被写体領域が含まれる小領域とは、例えば、所定の割合以上が主要被写体領域によって占められる小領域である。
【００６０】
手ぶれ取得部５３は、図６に示す小領域毎に算出された動きベクトルを用いて入力画像Ｐ２（またはＰ１）の手ぶれベクトルを求め、当該手ぶれベクトルを示す手ぶれ情報を生成する。このとき、手ぶれ取得部５３は、主要被写体領域Ｔ２（またはＴ１）の大きさに応じて手ぶれベクトルを求める方法を異ならせる（ＳＴＥＰ８）。この手ぶれベクトルを求める方法の一例について、図面を参照して説明する。図７は、手ぶれベクトルを求める方法について説明する図である。
【００６１】
図７（ａ）に示すように、入力画像Ｐ１１内の主要被写体領域Ｔ１１の大きさが閾値以上である場合（ＳＴＥＰ８、ＹＥＳ）、手ぶれ取得部５３は、主要被写体領域Ｔ１１が含まれる小領域で検出される動きベクトルを主とした手ぶれベクトルを求める（ＳＴＥＰ９）。主要被写体領域Ｔ１１が含まれる小領域で検出される動きベクトルを主とする手ぶれベクトルとは、例えば、主要被写体領域Ｔ１１が含まれる小領域で検出される動きベクトルの重みを、これ以外の領域（背景領域）が含まれる小領域で検出される動きベクトルの重み以上として加重加算をすることで得られる手ぶれベクトルである。
【００６２】
一方、図７（ｂ）に示すように、入力画像Ｐ１２の主要被写体領域Ｔ１２の大きさが小さい（閾値よりも小さい）場合（ＳＴＥＰ８、ＮＯ）、手ぶれ取得部５３は、主要被写体領域Ｔ１２以外の領域（背景領域）が含まれる小領域で検出される動きベクトルを主とした手ぶれベクトルを求める（ＳＴＥＰ１０）。背景領域が含まれる小領域で検出される動きベクトルを主とする手ぶれベクトルとは、例えば、主要被写体領域Ｔ１２が含まれる小領域で検出される動きベクトルの重みを、これ以外の領域（背景領域）が含まれる小領域で検出される動きベクトルの重みより小さいものとして加重加算をすることで得られる手ぶれベクトルである。
【００６３】
上述のようにして求められる手ぶれベクトルを用いて、例えば、画像処理部５が手ぶれ補正処理を行う（ＳＴＥＰ１１）。手ぶれ補正処理の一例について、図面を参照して説明する。図８は、手ぶれ補正処理の一例について説明する図である。なお、図８に示す手ぶれ補正処理を実現する画像処理部５は、イメージセンサ２で撮像されて得られる広角のイメージセンサ画像Ｗ１，Ｗ２の一部である切り出し領域Ｑ１，Ｑ２を切り出すことで、外部メモリ１０に記録する画像を生成するものである。
【００６４】
図８では、時間的に前に撮像されたイメージセンサ画像Ｗ１に対して設定される切り出し領域をＱ１、時間的に後に撮像されたイメージセンサ画像Ｗ２に対して設定される切り出し領域をＱ２として示している。また、イメージセンサ画像Ｗ２（または、Ｗ１）に対応する入力画像から求められる手ぶれベクトルが、右上方向である場合について示している。
【００６５】
図８に例示する手ぶれ補正処理は、画像処理部５が、手ぶれベクトルに基づいて切り出し領域のＱ１，Ｑ２の位置を調整することにより、手ぶれを抑制する処理である。例えば図８に示すように、右上方向の手ぶれベクトルが検出される場合（画像が見かけ上、右上にずれる場合）は、切り出し領域Ｑ２の位置を、切り出し領域Ｑ１よりも右上方向に移動させることで、手ぶれを抑制する。なお、上述の手ぶれ検出を行う入力画像は、イメージセンサ画像Ｗ１，Ｗ２の全部であっても構わないし、一部であっても構わない。
【００６６】
ＳＴＥＰ１１で手ぶれ補正処理が行われると、ユーザから画像の記録を終了する旨を示す指示が入力されているか否かを、例えばＣＰＵ１５が確認する（ＳＴＥＰ１２）。画像の記録を終了する指示が入力されていることが確認される場合（ＳＴＥＰ１２、ＹＥＳ）、ＳＴＥＰ１に戻って終了するか否かを確認する。
【００６７】
一方、画像の記録を終了する指示が入力されていない場合（ＳＴＥＰ１２、ＮＯ）、ＳＴＥＰ５に戻り新たな入力画像を取得し、当該新たな入力画像に対して上述した手ぶれ検出処理（ＳＴＥＰ５〜１０）を行うとともに、手ぶれ補正処理（ＳＴＥＰ１１）を行う。
【００６８】
以上のように構成すると、入力画像内の主要被写体領域及び背景領域を、主要被写体の画像的特徴を検出することによって区別し、それぞれの領域から求められる動きを区別して処理することによって、入力画像の手ぶれを求めることとなる。そのため、主要被写体の画像的特徴や動き、手ぶれの状態などによって、入力画像の手ぶれの検出精度が低下することを抑制することが可能となる。したがって、精度よく手ぶれを検出することが可能となる。
【００６９】
また、主要被写体領域が大きい場合に、主要被写体領域が含まれる小領域から検出される動きを主とした手ぶれを求め、主要被写体の領域が小さい場合に、背景領域が含まれる小領域から検出される動きを主とした手ぶれを求める。そのため、被写体の状況（主要被写体が画像の主題になっているか、背景が画像の主題になっているか）に応じた手ぶれを求めることが可能となる。したがって、例えば上記のようにして求められる手ぶれに基づいて手ぶれ補正処理を行う場合に、画像の主題となっている主要被写体または背景のぶれを、効果的に抑制することが可能となる。
【００７０】
また、図８に示すように、イメージセンサ画像Ｗ１，Ｗ２を切り出すことによって手ぶれ補正処理を行うこととすると、画像処理のみで手ぶれの検出と補正とを実行することが可能となる。そのため、手ぶれの検出と補正とを容易に行うことが可能となるとともに、撮像装置１の装置構成を簡略化することが可能となる。
【００７１】
なお、図３に示すフローチャートでは、撮像して得られた画像を記録する際に手ぶれを求めて補正処理を行う例について示したが、上述のように、編集時や再生時などに手ぶれを求めることとしても構わない。この場合、ＳＴＥＰ２、４、１２のそれぞれの「記録」を、「編集」や「再生」と読み替えることとする。また、画像の記録を開始する前（例えば、ＳＴＥＰ３のプレビューモード時）であっても、ＳＴＥＰ５〜１０と同様に手ぶれを求めても構わないし、ＳＴＥＰ１１と同様に手ぶれ補正処理を行っても構わない。
【００７２】
また、図３に示すフローチャートでは、手ぶれ補正処理に手ぶれ情報を利用する例について示したが、他の処理に手ぶれ情報を利用しても構わない。例えば、シャッタ速度を設定する処理に手ぶれ情報を利用しても（例えば、手ぶれが大きいほどシャッタ速度を速くする）構わない。ただし、当該処理は画像を撮像する際に行う。
【００７３】
また、図３のフローチャートに示す各ステップは一例に過ぎず、矛盾なき限り適宜変更しても構わない。例えば、ＳＴＥＰ６の動き検出処理とＳＴＥＰ７の追尾処理とを実行する順番の前後を入れ替えたり、並行して実行したりしても構わない。
【００７４】
また、図５及び図７では、主要被写体が１つである場合について例示したが、主要被写体は複数であっても構わない。この場合、例えば複数の主要被写体を囲うように主要被写体領域を設定しても構わないし、それぞれの主要被写体を含むように複数の主要被写体領域を設定しても構わない。
【００７５】
また、図８では、画像処理的な方法によって手ぶれを抑制する手ぶれ補正処理について例示したが、撮像部Ｓの光軸を移動させるなどの光学的な方法によって手ぶれを抑制する手ぶれ補正処理を採用しても構わない。ただし、当該処理は画像を撮像する際に行う。
【００７６】
また、図８に示す画像処理的な方法による手ぶれ補正処理は、記録時だけに限られず、編集時や再生時に行うことも可能である。ただしこの場合、外部メモリ１０に記録された画像が切り出しの対象となる。
【００７７】
また、図７において、主要被写体領域Ｔ１１，Ｔ１２の動きベクトルと背景領域の動きベクトルとを加重加算することで手ぶれベクトルを求めると述べたが、加重加算に用いる重みを、主要被写体領域Ｔ１１，Ｔ１２の大きさに基づいて変動する値としても構わない。特に、主要被写体領域Ｔ１１，Ｔ１２の大きさが大きいほど、主要被写体領域Ｔ１１，Ｔ１２が含まれる小領域で検出される動きベクトルの重みが大きくなるように設定しても構わない。
【００７８】
このように構成すると、主要被写体領域Ｔ１１，Ｔ１２の大きさが閾値を超えて変動し、手ぶれを求める主たる対象が切り替わったとしても、スムーズに切り替えを行うことが可能となる。そのため、例えば上記のようにして求められる手ぶれに基づいて手ぶれ補正処理を行う場合に、手ぶれを抑制する主たる対象が切り替わることで画像が不自然に変動することを、抑制することが可能となる。
【００７９】
一方、図７（ａ）に示すように主要被写体領域Ｔ１１の大きさが閾値以上の場合、背景領域が含まれる小領域で検出される動きベクトルの重みを０としても構わない。同様に、図７（ｂ）に示すように主要被写体領域Ｔ１２の大きさが閾値より小さい場合、主要被写体領域Ｔ１２が含まれる小領域で検出される動きベクトルの重みを０としても構わない。
【００８０】
このように構成すると、手ぶれを求める対象を限定して明確化することが可能となる。そのため、例えば手ぶれ補正処理を行う場合に、対象の手ぶれを効果的に抑制することが可能となる。
【００８１】
＜変形例＞
本発明の実施形態における撮像装置１について、画像処理部５や手ぶれ検出部５０などのそれぞれの動作を、マイコンなどの制御装置が行うこととしても構わない。さらに、このような制御装置によって実現される機能の全部または一部をプログラムとして記述し、該プログラムをプログラム実行装置（例えばコンピュータ）上で実行することによって、その機能の全部または一部を実現するようにしても構わない。
【００８２】
また、上述した場合に限らず、図１に示す撮像装置１や、図２に示す手ぶれ検出部５０は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。また、ソフトウェアを用いて撮像装置１や手ぶれ検出部５０の一部を構成する場合、ソフトウェアによって実現される部位についてのブロックは、その部位の機能ブロックを表すこととする。
【００８３】
以上、本発明における実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【産業上の利用可能性】
【００８４】
本発明は、入力される画像から手ぶれを検出して補正する撮像装置に関する。
【符号の説明】
【００８５】
５０    手ぶれ検出部
５１    動き検出部
５２    主要被写体検出部
５３    手ぶれ取得部
【図１】
2011155582.tif 000003
【図２】
2011155582.tif 000004
【図３】
2011155582.tif 000005
【図４】
2011155582.tif 000006
【図５】
2011155582.tif 000007
【図６】
2011155582.tif 000008
【図７】
2011155582.tif 000009
【図８】
2011155582.tif 000010