(57)【要約】【課題】被写体位置補正を精度よく行うことができる撮像装置を提供すること。【解決手段】被写体像から撮像画像を生成する撮像手段と、静止固定した状態で撮影する固定撮影モードと、手持ちで撮影する通常撮影モードと、を切り替え可能な切替手段と、撮影時に検出した振れ情報に基づいて、撮像画像を補正する第１の補正手段と、通常撮影モードでは、第１の補正手段を用いて撮像画像の補正を行い、固定撮影モードでは、第１の補正手段を用いた撮像画像の補正を停止する制御手段と、を有する。【選択図】図２
2015186169.tif 000002
【特許請求の範囲】
【請求項１】
被写体像から撮像画像を生成する撮像手段と、
静止固定した状態で撮影する固定撮影モードと、手持ちで撮影する通常撮影モードと、を切り替え可能な切替手段と、
撮影時に検出した振れ情報に基づいて、前記撮像画像を補正する第１の補正手段と、
前記通常撮影モードでは、前記第１の補正手段を用いて前記撮像画像の補正を行い、前記固定撮影モードでは、前記第１の補正手段を用いた前記撮像画像の補正を停止する制御手段と、を有することを特徴とする撮像装置。
【請求項２】
前記撮像画像間の被写体位置のズレを補正する第２の補正手段と、を更に有し、
前記制御手段は、前記固定撮影モードでは、前記第２の補正手段を用いて前記撮像画像の補正を行うことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第１の補正手段は、前記振れ情報に基づいて、前記撮像画像の切り出し位置を算出し、前記撮像画像の切り出し領域を変更することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記撮像画像から画像の動きを示す動きベクトルを検出する動きベクトル検出手段と、を更に有し、
前記第２の補正手段は、前記撮像画像のうち動きベクトルの大きさが第１の閾値より小さい第１の固定被写体領域を検出し、前記第１の固定被写体領域の動きベクトルから求められた第１の代表ベクトルに基づいて、前記撮像画像の切り出し位置を算出することを特徴とする請求項２または３に記載の撮像装置。
【請求項５】
前記第１の固定被写体領域は、第１の時刻の第１の動きベクトルの大きさと、前記第１の時刻から所定の時間が経過した第２の時刻の第２の動きベクトルの大きさがともに前記第１の閾値より小さい領域であることを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記第１の代表ベクトルは、前記第１の固定被写体領域の動きベクトルの中央値または平均値であることを特徴とする請求項４または５に記載の撮像装置。
【請求項７】
前記第１の代表ベクトルを使用可能であるかどうかを判定する判定手段を更に有することを特徴とする請求項４から６のいずれか１項に記載の撮像装置。
【請求項８】
前記判定手段は、前記第１の固定被写体領域の動きベクトルのうち、最も多い大きさを有する第１の代表候補ベクトルの大きさが前記第１の閾値より小さく、個数が第２の閾値より大きいときに前記第１の代表候補ベクトルを前記第１の代表ベクトルとして使用可能であると判定することを特徴とする請求項７に記載の撮像装置。
【請求項９】
前記第２の補正手段は、前記判定手段が前記第１の代表候補ベクトルを前記代表ベクトルとして使用不可であると判定したときに、前記第１の固定被写体領域を検出した時刻の間の時刻において、前記撮像画像のうち動きベクトルの大きさが前記第１の閾値より小さい第２の固定被写体領域を検出し、前記第２の固定被写体領域の動きベクトルにより求められた第２の代表ベクトルに基づいて、前記撮像画像の切り出し位置を算出することを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記第２の補正手段は、前記判定手段が前記第２の固定被写体領域の動きベクトルのうち、最も多い大きさを有する第２の代表候補ベクトルを前記第２の代表ベクトルとして使用不可であると判定したときに、前記第２の代表ベクトルをゼロとすることを特徴とする請求項９に記載の撮像装置。
【請求項１１】
コンピュータを請求項１から１０のいずれか１項に記載の撮像装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に生じた振れによる撮像画像のブレを補正する撮像装置に関する。
【背景技術】
【０００２】
デジタルカメラ、デジタルビデオカメラなどの撮像装置において、ブレ補正機能を有することが主流となっている。ブレ補正機能とは、例えば角速度センサや動きベクトルで撮像装置の振れを検出し、検出した振れに基づいて撮像画像の読み出し位置をシフトさせることで、撮影画像にブレを生じさせない機能である。特許文献１では、撮影時に検出した振れ情報を記録しておき、再生時に検出した振れ情報を用いてブレ補正を行っている。
【０００３】
ところで、近年、観察対象物を所定の時間間隔で断続的に撮影し、断続的な画像から動画像を生成するタイムラプス動画生成機能を有する撮像装置が知られている。特許文献２では、タイムラプス動画生成において、撮像画像の読み出し領域をシフトさせることで、各画像間の被写体位置補正を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０４４４１８号公報
【特許文献２】特開２００９−１５２８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、再生時にブレ補正を行う機能を有する撮像装置にタイムラプス動画生成機能を加えた場合、ブレ補正と被写体位置補正はいずれも撮像画像の読み出し位置を変更する制御を行う。そのため、これらを排他制御しなければ、いずれの補正も正しく行われない可能性がある。また、タイムラプス動画生成のように断続的な撮影に限らずカメラを静止固定させて任意の観察対象物を撮影する場合にも、ブレ補正を行わず被写体（観察対象物）位置補正を行うことが好ましい。
【０００６】
このような課題を鑑みて、本発明は、被写体位置補正を精度よく行うことができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面としての撮像装置は、被写体像から撮像画像を生成する撮像手段と、静止固定した状態で撮影する固定撮影モードと、手持ちで撮影する通常撮影モードと、を切り替え可能な切替手段と、撮影時に検出した振れ情報に基づいて、前記撮像画像を補正する第１の補正手段と、前記通常撮影モードでは、前記第１の補正手段を用いて前記撮像画像の補正を行い、前記固定撮影モードでは、前記第１の補正手段を用いた前記撮像画像の補正を停止する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体位置補正を精度よく行うことができる撮像装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１のビデオカメラの撮像装置および記録装置としての構成を示すブロック図である。
【図２】実施例１のビデオカメラの映像再生装置としての構成を示すブロック図である。
【図３】画像の切り出し位置の変更による画像補正の説明図である。
【図４】固定被写体領域検出に用いる動きベクトルを表す図である。
【図５】固定被写体領域検出部が行う処理を説明するフローチャートである。
【図６】実施例２のビデオカメラの映像再生装置としての構成を示すブロック図である。
【図７】タイムラプス動画の説明および固定被写体領域検出に用いる動きベクトルの説明図である。
【図８】固定被写体領域内で検出された動きベクトルで生成したヒストグラムである。
【図９】固定被写体領域検出に用いる画像の説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【００１１】
最初に、本発明において使用する言葉の定義について説明する。本発明の説明においては、撮像装置に加えられる振動を「振れ」とし、撮像装置に加えられる振れによって発生する撮像画像のフレーム間の被写体位置ずれ、もしくは被写体像のボケを「ブレ」とする。
【実施例１】
【００１２】
図１，２を用いて、本実施例の撮像装置の一例であるビデオカメラ１００の各構成部とその動作について具体的に説明する。図１は、ビデオカメラ１００の撮像装置および記録装置としての構成を示すブロック図である。図２は、ビデオカメラ１００の映像再生装置としての構成を示すブロック図である。ビデオカメラ１００は、映像撮影時に生じる振れをセンサで検出し、検出した振れを振れデータとして映像データとともに記録し、映像再生時に記録した振れデータを利用してブレを補正する機能を有している。
【００１３】
撮像光学系１０１は被写体像を結像し、撮像素子１０２は被写体像を撮像画像信号としての電気信号に変換し、信号処理部１０３に供給する。信号処理部１０３は、撮像素子１０２により得られた電気信号から、例えばＮＴＳＣフォーマットに準拠したビデオ信号（映像信号）を生成して記録制御部１０４に供給する。記録制御部１０４は、記録開始や終了の指示に用いる操作部（不図示）によって映像信号の記録が指示された場合、信号処理部１０３から供給された映像信号を記録媒体１０５に出力し、記録させる。記録媒体１０５は、半導体メモリ等の情報記録媒体やハードディスク等の磁気記録媒体である。
【００１４】
角速度センサ１０６は、ビデオカメラ１００に加わる振れを角速度信号として検出し、検出した角速度信号をＡ／Ｄ変換器１０７に供給する。Ａ／Ｄ変換器１０７は、角速度センサ１０６からの角速度信号をデジタル化してマイクロコンピュータ１０８内部の振れデータ設定部１０９に供給する。振れデータ設定部１０９は、デジタル化された角速度信号を画素単位に換算してメタデータ設定部１１１に供給する。なお、振れデータ設定部１０９から出力される画素単位に換算された角速度データを振れデータとして定義する。
【００１５】
撮影モード切替部１１０は、ブレ補正撮影モード（通常撮影モード）と固定撮影モードを切り替える。ブレ補正撮影モードとは、手持ちで撮影することを前提とした撮影モードであり、ブレ補正モードが選択された場合は、撮影時に取得した振れデータに基づいて再生時にブレ補正を行う。固定撮影モードとは、任意の被写体（観察対象物）を撮影し続けるモードであり、被写体が表示装置１２１上で略一定位置に表示されるように、被写体位置補正を行う。撮影モード切替部１１０による切り替え方法は、モード切替用スイッチ（不図示）によって撮影者が選択する方法でも、装置固定検出部（不図示）によってビデオカメラ１００が静止固定されていることを検出し自動でモードを切り替える方法でもよい。撮影モード切替部１１０は、現在の撮影モード情報をメタデータ設定部１１１に供給する。なお、撮影モード切替部１１０は、切り替え可能なモードとして、上述した２つのモード以外のモードを有してもよい。
【００１６】
メタデータ設定部１１１は、振れデータおよび撮影モード情報をメタデータとして記録制御部１０４に供給する。記録制御部１０４は、信号処理部１０３から供給された映像信号にメタデータ設定部１１１から供給されたメタデータを付加して記録媒体１０５に記録する。ただし、撮影モードが固定撮影モードである場合は、角速度センサ１０６による振れ検出を停止させ、振れデータ設定部１０９は角速度センサ１０６が停止している状態であることを示す値をメタデータ設定部１１１に供給してもよい。これにより、角速度センサ１０６で無駄な電力消費を回避することが可能となる。
【００１７】
図２に示すように、撮像画像の再生時には、記録制御部１０４は、記録媒体１０５に記録された映像信号およびメタデータの読み出しを行い、画像メモリ１１２に供給する。画像メモリ１１２に供給されたデータのうち、メタデータがメタデータ読出部１１３によって読み出される。メタデータ読出部１１３に読み出されたメタデータのうち、振れデータが振れデータ取得部１１５に、撮影モード情報が画像補正切替部１１４に供給される。振れデータ取得部１１５は振れデータを画像切り出し位置演算部１１９に供給し、画像補正切替部１１４は撮影モード情報に基づいて、画像補正方法を選択し、画像切り出し位置演算部１１９に供給する。画像補正切替部１１４で選択可能な画像補正方法の一例として、ブレ補正と被写体位置補正がある。
【００１８】
動きベクトル検出部１１６は、画像メモリ１１２に格納された１フィールド間（または１フレーム間）の２枚の撮像画像の輝度信号に基づいて、撮像画像の動きベクトルを検出する。動きベクトルの検出方法は、例えば従来提案されているブロックマッチング法などを用いる。ブロックマッチング法は、撮像画像をブロックと呼ばれる領域に分割し、例えば１フレーム前の撮像画像と現在の撮像画像の類似箇所をブロック単位で検出する方法である。１フレーム前の撮像画像内の任意の範囲において、現在の撮像画像内の任意ブロックとの相関値が最も大きい個所を類似ブロック位置とする。現在の撮像画像内の任意ブロック位置と１フレーム前の撮像画像内の類似ブロック位置との変位量を求め、撮像画像のフレーム間の動き情報、すなわち動きベクトルを検出する。なお、ブロックマッチング法は動きベクトル検出部１１６における動きベクトル検出方法の一例であり、動きベクトルはブロックマッチング法以外の方法を用いて検出してもよい。また、マッチング演算については、尾上守夫等により、情報処理Ｖｏｌ.１７,Ｎｏ.７,ｐ.６３４〜６４０  Ｊｕｌｙ  １９７６で詳しく論じられている。
【００１９】
動きベクトル検出部１１６で検出された動きベクトルは、マイクロコンピュータ１０８内部の固定被写体領域検出部１１７と代表ベクトル検出部１１８に供給される。固定被写体領域検出部１１７は、供給された動きベクトルに基づいて撮像画像内から被写体の動き量が小さい固定被写体を撮影している領域（固定被写体撮影領域）を検出し、代表ベクトル検出部１１８に固定被写体領域情報を供給する。代表ベクトル検出部１１８は、供給された動きベクトルのうち、固定被写体領域検出部１１７で検出された固定被写体領域内で検出した動きベクトルに基づいて代表ベクトルを決定する。代表ベクトルは、具体的には、固定被写体領域内に存在するブロック単位の動きベクトルの中央値または平均値である。
【００２０】
画像切り出し位置演算部１１９は、画像補正切替部１１４で画像補正方法としてブレ補正が選択された場合、振れデータに基づいて画像の切り出し位置を決定する。また、画像補正切替部１１４で画像補正方法として被写体位置補正が選択された場合、代表ベクトルに基づいて被写体位置補正を行うための画像の切り出し位置を決定する。画像の切り出し位置とは、画像メモリ１１２に記録されている撮像画像から表示用に設定する領域の切り出し位置である。画像切り出し位置演算部１１９は、演算した画像の切り出し位置を画像補正部１２０に供給する。
【００２１】
図３を用いて、画像の切り出し位置の変更による画像補正について説明する。図３（ａ）は任意の時刻ｔにおける撮像画像、図３（ｂ）は時刻ｔから所定の時間が経過した時刻ｔ＋１における撮像画像を示している。図中の点線で示す表示画像とは、解像度が撮像画像の解像度より小さく、表示装置１２１に表示する画像である。具体的には、表示画像用の解像度とは、例えばフルＨＤにおける１９２０×１０８０である。また、本実施例では、撮像画像における表示画像以外の領域を余剰領域と定義する。撮像画像の左上端を（０，０）としたとき、図３（ａ）では、画像切り出し位置演算部１１９で決定する表示画像の切り出し位置は、切り出し位置の左上端（ｍ，ｎ）で示す。ｍとｎは任意の整数値とし、単位は画素とする。図３（ｂ）では、図３（ａ）から撮像画像内の被写体位置が図中右方向にズレてしまっていることを示している。なお、説明を簡単にするため、時刻ｔと時刻ｔ＋１との間における撮像画像のブレはビデオカメラ１００の振れにのみ起因するものとし、被写体は移動していないものとする。例えば、時刻ｔから時刻ｔ＋１におけるビデオカメラ１００の振れ量が角速度センサ１０６で検出された場合、前述したように、振れデータ取得部１１５が振れ量を画素単位に換算した振れデータを位置演算部１１９に供給する。振れデータをｂｌｕｒとすると、画像切り出し位置演算部１１９は、時刻ｔ＋１における表示画像の切り出し位置を（ｍ＋ｂｌｕｒ，ｎ）として、画像補正部１２０に供給する。画像補正部１２０は、切り出し位置（ｍ＋ｂｌｕｒ，ｎ）を左上端とした表示画像用の解像度の画像を撮像画像から切り出し、表示装置１２１に供給する。そのため、表示装置１２１は、ビデオカメラ１００の振れによる被写体位置ずれを打ち消した映像を表示することが可能となる。また、画像補正部１２０は、表示装置１２１に表示するだけでなく、記録制御部１０４に出力して記録媒体１０５に記録させてもよい。
【００２２】
図４を用いて、固定被写体領域検出部１１７の固定被写体領域検出方法を説明する。図４（ａ）では、時刻ｔ−１と時刻ｔにおける撮像画像を記録媒体１０５から選出し、画像間の動き量を時刻ｔにおける動きベクトルとして検出している。同様に、図４（ｂ）では、時刻ｓ−１と時刻ｓにおける撮像画像を記録媒体１０５から選出し、画像間の動き量を時刻ｓにおける動きベクトルとして検出している。時刻ｔと時刻ｓは任意の時刻であり、時刻ｔと時刻ｓとは十分な時間間隔が空いている。図中のＢ０１〜Ｂ０９はブロックマッチング法の説明で述べたブロックを表し、各ブロックにおいて検出した動きベクトルをＶ０１〜Ｖ０９、Ｖ０１´〜Ｖ０９´で表している。なお、説明を簡単にするために９つのブロックを図示しているが、ブロック数および検出する動きベクトル数はこれ以外であってもよい。ここで、時刻ｔにおいて検出した動きベクトルＶ０１〜Ｖ０９のうち、動きベクトルＶ０１，Ｖ０３，Ｖ０４，Ｖ０７，Ｖ０８の大きさが第１の閾値より小さいとする。また、図（ｂ）に示す時刻ｓにおいて検出した動きベクトルＶ０１’〜Ｖ０９’のうち、動きベクトルＶ０１’，Ｖ０４’，Ｖ０７’，Ｖ０８’，Ｖ０９’の大きさが第１の閾値より小さいとする。したがって、時刻ｔと時刻ｓとでともに動きベクトルの大きさが第１の閾値より小さいブロックは、Ｂ０１，Ｂ０４，Ｂ０７，Ｂ０８である。固定被写体領域検出部１１７は、これらのブロックを含む領域を固定被写体領域として決定し、代表ベクトル検出部１１８に供給する。なお、第１の閾値とは、ビデオカメラ１００を固定撮影したときに、通常の風景（建物などの静物）を撮影した場合に検出される動きベクトルが第１の閾値以上とならないような値とする。
【００２３】
以上述べたように、本実施例において、固定被写体領域検出部１１７は、所定の時刻ｔと、時刻ｔから所定の時間が経過した時刻ｓにおける動きベクトルを検出している。そして、時刻が異なるにも関わらず動きベクトルが小さい領域が存在した場合、固定被写体領域検出部１１７は、そのような領域は記録媒体１０５に記録されている動画全域にわたって固定被写体撮影領域であると判断している。
【００２４】
図５のフローチャートを用いて、固定被写体領域検出部１１７が行う処理について説明する。なお、図中のｉはブロックのナンバー用の変数であり、任意の値とする。ステップＳ１００では、固定被写体領域の判定を行ったブロック数である変数ｉが全ブロック数に達したか否かを判定する。ブロック全ての動きベクトルが判定済みであればステップＳ１０５に進み、未判定のブロックがあればステップＳ１０１に進む。ステップＳ１０１では、時刻ｔにおける動きベクトルＶｉが第１の閾値より小さいかを判定する。動きベクトルＶｉが第１の閾値より小さい場合、ステップＳ１０２に進み、動きベクトルＶｉが第１の閾値以上である場合、ステップＳ１０４に進む。ステップＳ１０２では、時刻ｓにおける動きベクトルＶｉ’が第１の閾値より小さいかを判定する。動きベクトルＶｉ’が第１の閾値より小さい場合、ステップＳ１０２に進み、動きベクトルＶｉ’が第１の閾値以上である場合、ステップＳ１０４に進む。ステップＳ１０３では、時刻ｔ，ｓにおける撮像画像の動きベクトルがともに固定被写体によって検出される大きさ程度であるため、ブロックＢｉは固定被写体領域であると判断し、登録する。固定被写体領域の登録処理として、例えば固定被写体領域の判定用の配列ＦｉｘＡｒｅａ［ｉ］の値を１にしてもよい。この場合、配列の値は初期値を０とし、ブロックＢｉが固定被写体領域であるときは１となるようにすればよい。ステップＳ１０４では、変数ｉをインクリメントし、次の動きベクトルに対して同様の判定を行うようにして処理を終了する。ステップＳ１０５では、全ブロックに対し固定被写体領域の判定が終了したので、固定被写体領域の情報を代表ベクトル検出部１１８に供給し、ステップＳ１０６に進む。この処理は、具体的には先に述べたとおり、固定被写体領域の判定用の配列ＦｉｘＡｒｅａを代表ベクトル検出部１１８に供給する処理である。ステップＳ１０６では、変数ｉを０に戻し、処理を終了する。
【００２５】
以上説明してきたように、本実施例では、画像の切り出し位置の変更による画像補正をブレ補正撮影モードではブレ補正に、固定撮影モードでは被写体位置補正を用いるように切り替えている。そうすることで、撮影者が所望する映像を表示装置１２１で再生することが可能となる。
【００２６】
本実施例では、記録媒体１０５に記録されている画像の数枚から固定被写体領域を検出しているため、処理量が大きくならない。また、固定被写体領域をあらかじめ算出し、被写体位置補正を行う場合は、固定被写体領域内で検出した動きベクトルのみを用いることで、観察対象以外の動きベクトルに左右されずに精度良い補正を行うことが可能となる。これは、観察対象は多少の位置ズレはあるが、常に画面内でメインに撮影されるため、所定のタイミングでフレーム間の動き量を確認した場合は、ほとんど動きがないと考えられるためである。
【００２７】
また、本実施例では、ビデオカメラ１００の振れ検出に、角速度センサ１０６の出力を用いたが、これは種々の変形が可能である。例えば、加速度センサを用いてもよい。また、動きベクトル検出部１１６で検出した動きベクトル全てから求めた代表ベクトルによって、ビデオカメラ１００の振れを検出してもよい。この場合、角速度センサ１０６とＡ／Ｄ変換器１０７を削除できる。
【実施例２】
【００２８】
図６は、本実施例の撮像装置の一例であるビデオカメラ２００の映像再生装置としての構成を示すブロック図である。なお、図６において、図２と同様の構成には、同じ参照番号を付し、説明は省略する。また、撮像装置および記録装置としての構成は図１に示した構成と同じであるため、説明は省略する。
【００２９】
本実施例のビデオカメラ２００は、実施例１のビデオカメラ１００の構成に対し、代表ベクトル判定部２０３を追加している。また、ビデオカメラ２００は、タイムラプス動画撮影機能を備えている。すなわち、撮影モード切替部１１０は、実施例１のブレ補正撮影モードと固定撮影モードに加え、タイムラプス動画モードとの切り替えも可能となる。ただし、タイムラプス動画モードを別途備えずに、固定撮影モードの一部としてもよい。
【００３０】
タイムラプス動画を構成する画像の一例を、図７（ａ），（ｂ）に示す。図７（ａ），（ｂ）は、建築物、木などの静物と、雲といった移動被写体を同時に映しており、本構図で任意の時間間隔で撮影された複数枚の画像を動画として再生したとき、雲が高速に移動して見える。このようなタイムラプス動画を撮影する場合、任意の時間間隔で撮影されることから、画像間の被写体位置のズレが目立ってしまう。本実施例では、図７（ａ），（ｂ）に示すような、建築物、木などの静物の表示位置を略一定位置にすることを目的とする。
【００３１】
撮影者が撮影モードにタイムラプス動画モードを選択したとき、同じく撮影者によって設定される画像取得のインターバル時間に基づいて撮像素子１０２から撮像画像信号が信号処理部１０３に出力される。すなわち、タイムラプス動画モードが選択された場合、記録媒体１０５に記録される画像は、撮影者が設定したインターバルで撮影された画像となる。再生時には、記録制御部１０４は、記録媒体１０５に記録されている撮像画像から時刻ｔにおける撮像画像と、時刻ｓにおける撮像画像とを画像メモリ１１２に読み出す。時刻ｔと時刻ｓは任意の時刻であり、時刻ｔと時刻ｓとは十分な時間間隔が空いている。
【００３２】
動きベクトル検出部１１６は、２枚の撮像画像間で動きベクトルを検出する。動きベクトルの検出結果を図７（ｃ）に示す。動きベクトル検出部１１６で検出された動きベクトルは、固定被写体領域検出部２０４と代表ベクトル検出部２０２に供給される。固定被写体領域検出部２０４は、供給された動きベクトルのうち第２の閾値より小さい動きベクトルが検出されたブロックが含まれる領域を固定被写体領域として代表ベクトル検出部２０２に供給する。なお、第２の閾値とは、ビデオカメラ１００を固定撮影したときに、通常の風景（建物などの静物）を撮影した場合に検出される動きベクトルが第２の閾値以上とならないような値とし、時間間隔が大きい分、被写体位置のズレが大きいことを考慮した値とする。本実施例においても、実施例１と同様に、固定被写体領域の動きベクトルに基づいて画像切り出し位置演算部１１９で画像の切り出し位置を算出し、画像補正部１２０が切り出し位置に基づいて撮像画像から表示用画像を切り出す。そして、表示装置１２１が被写体位置補正を行った映像を出力する。
【００３３】
代表ベクトル判定部２０３は、代表ベクトル検出部２０２で決定した代表ベクトルが固定被写体領域での被写体位置ずれを示す動きベクトルとして使用可能か使用不可であるかの判定を行う。図８を用いて、代表ベクトル判定部２０３の判定方法の一例を説明する。
【００３４】
図８は、代表ベクトル検出部２０２において、固定被写体領域内で検出された動きベクトルで生成したヒストグラムを示している。図８中のヒストグラムにおいて、横軸は各々の動きベクトル値、縦軸は同じベクトル値を持つ動きベクトルの個数を示している。なお、動きベクトル値における正負は１次元の方向を示しており、前提として、検出した動きベクトルは縦横方向に成分分解したものとする。
【００３５】
代表ベクトル検出部２０２で生成したヒストグラムは代表ベクトル判定部２０３に出力され、代表ベクトル判定部２０３はヒストグラムを用いて代表ベクトルの判定を行う。図８（ａ）は、代表ベクトルが固定被写体領域での被写体位置ずれを示していると判断できる例である。本実施例では、最も多くのブロックで検出された動きベクトル値を第１の代表候補ベクトル、次に多くのブロックで検出された動きベクトル値を第２の代表候補ベクトルと定義する。図８（ａ）では第１の代表候補ベクトルが第２の閾値より小さく、また第１の代表候補ベクトルが検出されたブロック数が第３の閾値より大きくなっている。なお、第３の閾値とは、固定被写体領域内の動きベクトルにバラツキがなく一意の値となっていることを判定できる値とし、一例としては固定被写体領域で検出する全動きベクトル数の８割とする。すなわち、図８（ａ）では固定被写体領域内の動きベクトルのバラツキは小さく、また固定被写体領域内の動きベクトルが十分に小さいことを表している。そのため、代表ベクトル判定部２０３で代表ベクトルが使用可能（代表ベクトルが固定被写体領域での被写体位置ずれを示す）と判定される。このとき、固定被写体領域検出部２０４は、固定被写体領域の変更は行わない。
【００３６】
図８（ｂ），（ｃ）は、代表ベクトル判定部２０３が代表ベクトルを使用不可であると判定する場合の例である。図８（ｂ）では、第１の代表候補ベクトルの動きベクトル値が第２の閾値より小さいが、動きベクトル値が検出されたブロック数が第３の閾値に満たない。そのため、代表ベクトル判定部２０３が固定被写体領域内で検出される動きベクトルにバラツキがあり一意の動きを示していないと判断し、固定被写体領域検出部２０４は固定被写体領域の再検出を行う。図８（ｃ）は、第１の代表候補ベクトルの動きベクトル値が検出されたブロック数が第３の閾値より大きいため、検出される動きベクトルのバラツキという点では問題ない。しかし、第１の代表候補ベクトルの動きベクトル値が第２の閾値より大きいため、例えば移動被写体が横切っているなどの懸念点がある。そのため、固定被写体領域検出部２０４は、固定被写体領域を再検出する。
【００３７】
ここで、固定被写体領域の再検出について説明する。最初に検出された固定被写体領域を第１の固定被写体領域と定義する。第１の固定被写体領域内の動きベクトルから求めた代表ベクトルが代表ベクトル判定部２０３で使用不可であると判定された場合、固定被写体領域検出部２０４は第２の固定被写体領域を検出する。第２の固定被写体領域も第１の固定被写体領域と同じく、動きベクトル値が第２の閾値より小さくなっているブロックが含まれる領域とする。例えば、使用不可であると判定された撮像画像の撮像時刻が時刻ｕであったとする。第２の固定被写体領域は、時刻ｔと時刻ｓとの時間間隔よりも短い時間間隔で時刻ｕより前の時刻ｖと、時刻ｔと時刻ｓとの時間間隔よりも短い時間間隔で時刻ｕより後の時刻ｗとの画像を用いて動きベクトル検出を行うことで、検出される。第１、第２の固定被写体領域検出に用いる撮像画像を図９に示す。以下、撮像画像が撮像された時刻が時刻ｕであった場合、画像ｕと呼ぶこととする。第２の固定被写体領域の検出方法では、画像ｕと画像ｖとの動きベクトル、画像ｗと画像ｕとの動きベクトルがともに第２の閾値より小さくなっているブロックが含まれる領域を第２の固定被写体領域としている。そのため、第１の固定被写体領域の検出方法に比べて、検出の信頼性をより高めている。ただし、ここで示した方法は、第２の固定被写体領域の検出方法の一例であり、画像３枚で検出することに限定するものではない。
【００３８】
第２の固定被写体領域内で検出した動きベクトルから求めた代表ベクトルが代表ベクトル判定部２０３において使用可能であると判定された場合、代表ベクトル検出部２０２はその代表ベクトルを画像切り出し位置演算部１１９に供給する。また、固定被写体領域検出部２０４は、第１の固定被写体領域を第２の固定被写体領域に更新し、以後は更新した第１の固定被写体領域内の動きベクトルから代表ベクトルを求めるようにする。また、第２の固定被写体領域内で検出した動きベクトルから求めた代表ベクトルが代表ベクトル判定部２０３において使用不可であると判定された場合、代表ベクトルの動きベクトル値をゼロとして画像切り出し位置演算部１１９に供給する。このとき、画像切り出し位置演算部１１９は、前回演算した切り出し位置と同じ位置を画像補正部１２０に出力する。これは、時刻ｕ近辺において撮像された撮像画像は、固定被写体領域がないと判断し、移動被写体の動きに基づいて検出された動きベクトル値で画像切り出し位置が変更されることを防ぐための処理である。
【００３９】
以上説明してきたように、本実施例では、ビデオカメラ２００は、代表ベクトル検出部２０２で求められた代表ベクトルの信頼性を判定する代表ベクトル判定部２０３を備えることで、より正確に固定被写体領域の被写体位置ずれを補正することが可能となる。
【００４０】
また、本実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、あるいは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム、または装置に供給し、そのプログラムを実行する場合も本発明に含む。したがって、本発明の機能処理をコンピュータで実現するために、コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【００４１】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００４２】
１００  撮像装置
１０２  撮像素子（撮像手段）
１０８  マイクロコンピュータ（制御手段）
１１０  撮影モード切替部（切替手段）
１１５  振れデータ取得部（第１の補正手段）
１１９  画像切り出し位置演算部（第１の補正手段）
【図１】
2015186169.tif 000003
【図２】
2015186169.tif 000004
【図３】
2015186169.tif 000005
【図４】
2015186169.tif 000006
【図５】
2015186169.tif 000007
【図６】
2015186169.tif 000008
【図７】
2015186169.tif 000009
【図８】
2015186169.tif 000010
【図９】
2015186169.tif 000011