(57)【要約】【課題】フレームレートが高くなっても高品位な画像を高速に得る。【解決手段】カメラシステム制御部５によって撮影の際のフレームレートを制御され、画像処理部７は複数の画像を所定の時間間隔でサンプリングして複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する。画像処理部は間引き画像の間において被写体の移動方向および移動量を示す移動ベクトルを検出する。一方、カメラシステム制御部７は移動ベクトルの絶対値に応じてサンプリングを行う際の間引き条件を変更する。画像処理部は移動ベクトルに基づいて複数の画像を位置合わせした後、合成して合成画像とする。【選択図】図１
2014039223.tif 000002
【特許請求の範囲】
【請求項１】
連続的に被写体を撮影して得られた複数の画像を位置合わせした後、合成して合成画像を得る撮像装置であって、
前記撮影の際のフレームレートを制御するフレームレート制御手段と、
前記複数の画像を所定の時間間隔でサンプリングして前記複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する画像間引き手段と、
前記間引き画像の間において前記被写体の移動方向および移動量を示す移動ベクトルを検出する移動ベクトル検出手段と、
前記移動ベクトル検出手段の出力である前記移動ベクトルの絶対値に応じて前記間引き手段によるサンプリングを行う際の間引き条件を変更する間引き制御手段と、
前記移動ベクトル検出手段の出力に基づいて前記複数の画像を位置合わせした後、合成して前記合成画像を得る合成手段と、
を有することを特徴とする撮像装置。
【請求項２】
前記画像間引き手段によるサンプリングが行われると、当該サンプリングされた画像について予め定められた数の画素データを間引いて前記画像を縮小する画素間引き手段を有することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記間引き変更手段は、前記移動ベクトルの絶対値が予め規定された規定値を超えている場合に、前記間引き条件を変更することを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記間引き変更手段は、前記サンプリングの間隔が予め設定された設定値を超えている場合に、前記間引き条件を変更することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記移動ベクトル検出手段は、前記サンプリングの間隔が前記設定値以下でかつ前記移動ベクトルの絶対値が前記規定値以下であると、移動ベクトルの検出を打ち切るようにしたことを特徴とする請求項４に記載の撮像装置。
【請求項６】
予め設定された露光時間よりも長い時間の間で撮影された前記複数の画像を保持するバッファ手段を有することを特徴とする請求項１〜５のいずれか１項に記載の撮像装置。
【請求項７】
前記バッファ手段は、２の累乗枚の画像を保持することを特徴とする請求項６に記載の撮像装置。
【請求項８】
連続的に被写体を撮影して得られた複数の画像を位置合わせした後、合成して合成画像を得る撮像装置の制御方法であって、
前記撮影の際のフレームレートを制御するフレームレート制御ステップと、
前記複数の画像を所定の時間間隔でサンプリングして前記複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する画像間引きステップと、
前記間引き画像の間において前記被写体の移動方向および移動量を示す移動ベクトルを検出する移動ベクトル検出ステップと、
前記移動ベクトル検出ステップで得られた前記移動ベクトルの絶対値に応じて前記間引きステップによるサンプリングを行う際の間引き条件を変更する間引き制御ステップと、
前記移動ベクトル検出ステップで得られた移動ベクトルに基づいて前記複数の画像を位置合わせした後、合成して前記合成画像を得る合成ステップと、
を有することを特徴とする制御方法。
【請求項９】
連続的に被写体を撮影して得られた複数の画像を位置合わせした後、合成して合成画像を得る撮像装置で用いられる制御プログラムであって、
前記撮像装置が備えるコンピュータに、
前記撮影の際のフレームレートを制御するフレームレート制御ステップと、
前記複数の画像を所定の時間間隔でサンプリングして前記複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する画像間引きステップと、
前記間引き画像の間において前記被写体の移動方向および移動量を示す移動ベクトルを検出する移動ベクトル検出ステップと、
前記移動ベクトル検出ステップで得られた前記移動ベクトルの絶対値に応じて前記間引きステップによるサンプリングを行う際の間引き条件を変更する間引き制御ステップと、
前記移動ベクトル検出ステップで得られた移動ベクトルに基づいて前記複数の画像を位置合わせした後、合成して前記合成画像を得る合成ステップと、
を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高フレームレートで撮影可能な撮像装置、その制御方法、および制御プログラムに関し、特に、高フレームレートで撮影された画像を用いて手ぶれによる画像の劣化を抑制する技術に関する。
【背景技術】
【０００２】
一般に、デジタルカメラなどの撮像装置において、複数のフレームの画像を位置合わせした後、画像合成することによって手ぶれによる画像の劣化を抑制するようにしたものがある。ここで、フレームとは、動画におけるフレームばかりでなく、所謂連写機能によって複数の静止画を撮影した際の当該複数枚の静止画の各々をフレームということもある。
【０００３】
上記の位置合わせは、被写体の移動に起因するぶれ（所謂被写体ぶれ）の影響を低減するために行われ、例えば、時間的に隣接したフレーム間における移動ベクトル（動きベクトルともいう）を求める。この移動ベクトルはフレーム間における被写体などの位置の相違を示すものである。そして、移動ベクトルに基づいて複数の画像の位置合わせを行い（レジストレーション処理と呼ばれる）、位置合わせの後、複数の画像の合成が行われる。
【０００４】
なお、レジストレーション処理の際には、予め定められた探索範囲で位置合わせが行われる。
【０００５】
一方、演算負荷を低減して手ぶれ補正を行うため、時間的に隣接しないフレームにおいて移動ベクトルを求めるようにしたものがある（特許文献１参照）。ここでは、て、メモリに格納された複数のフレームにおいて最も古いフレームと最新のフレームとの間で移動ベクトルを演算するようにしている。
【０００６】
さらに、移動ベクトル検出に要する演算負荷の軽減を図るため、（Ｎ−１）フレームとＮフレームとによって求めた移動ベクトルに基づいて、Ｎフレームから（Ｎ＋１）フレームとの間の移動ベクトルを求める際の探索範囲を決定するようにしたものがある（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２１４６６６号公報
【特許文献２】特開２００７−２６７２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、特許文献１および２に記載の手法では、フレームレートが高くなって合成すべき画像が増大すると、フレームレートが高くなるに伴ってその演算量（処理時間）が飛躍的に増大してしまうことになる。その結果、処理時間の増加によってユーザの利便性が低下してしまう。
【０００９】
従って、本発明の目的は、フレームレートが高くなっても高品位な画像を高速に得ることができる撮像装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明による撮像装置は、連続的に被写体を撮影して得られた複数の画像を位置合わせした後、合成して合成画像を得る撮像装置であって、前記撮影の際のフレームレートを制御するフレームレート制御手段と、前記複数の画像を所定の時間間隔でサンプリングして前記複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する画像間引き手段と、前記間引き画像の間において前記被写体の移動方向および移動量を示す移動ベクトルを検出する移動ベクトル検出手段と、前記移動ベクトル検出手段の出力である前記移動ベクトルの絶対値に応じて前記間引き手段によるサンプリングを行う際の間引き条件を変更する間引き制御手段と、前記移動ベクトル検出手段の出力に基づいて前記複数の画像を位置合わせした後、合成して前記合成画像を得る合成手段と、を有することを特徴とする。
【００１１】
本発明による制御方法は、連続的に被写体を撮影して得られた複数の画像を位置合わせした後、合成して合成画像を得る撮像装置の制御方法であって、前記撮影の際のフレームレートを制御するフレームレート制御ステップと、前記複数の画像を所定の時間間隔でサンプリングして前記複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する画像間引きステップと、前記間引き画像の間において前記被写体の移動方向および移動量を示す移動ベクトルを検出する移動ベクトル検出ステップと、前記移動ベクトル検出ステップで得られた前記移動ベクトルの絶対値に応じて前記間引きステップによるサンプリングを行う際の間引き条件を変更する間引き制御ステップと、前記移動ベクトル検出ステップで得られた移動ベクトルに基づいて前記複数の画像を位置合わせした後、合成して前記合成画像を得る合成ステップと、を有することを特徴とする。
【００１２】
本発明による制御プログラムは、連続的に被写体を撮影して得られた複数の画像を位置合わせした後、合成して合成画像を得る撮像装置で用いられる制御プログラムであって、前記撮像装置が備えるコンピュータに、前記撮影の際のフレームレートを制御するフレームレート制御ステップと、前記複数の画像を所定の時間間隔でサンプリングして前記複数の画像よりも少ない枚数の少なくとも２枚以上の画像を間引き画像として選択する画像間引きステップと、前記間引き画像の間において前記被写体の移動方向および移動量を示す移動ベクトルを検出する移動ベクトル検出ステップと、前記移動ベクトル検出ステップで得られた前記移動ベクトルの絶対値に応じて前記間引きステップによるサンプリングを行う際の間引き条件を変更する間引き制御ステップと、前記移動ベクトル検出ステップで得られた移動ベクトルに基づいて前記複数の画像を位置合わせした後、合成して前記合成画像を得る合成ステップと、を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、フレームレートが高くなっても高品位な合成画像を高速に得ることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態による撮像装置の一例についてその構成を説明するための図であり、（ａ）はその構造を示す断面図、（ｂ）はその制御系を説明するためのブロック図である。
【図２】図１に示すカメラにおける画像処理の一例を説明するためのフローチャートである。
【図３】図１に示すカメラにおける画像処理の他の例を説明するためのフローチャートである。
【図４】図２で説明した画像処理を具体的に説明するための図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態による撮像装置の一例について図面を参照して説明する。
【００１６】
図１は本発明の実施の形態による撮像装置の一例についてその構成を説明するための図である。そして、図１（ａ）はその構造を示す断面図であり、図１（ｂ）はその制御系を説明するためのブロック図である。なお、ここでは、撮像装置として、所謂一眼レフのデジタルカメラ（以下単にカメラと呼ぶ）について説明する。
【００１７】
図示のカメラはカメラ本体１およびレンズユニット２を有しており、レンズユニット２はカメラ本体１に対して着脱可能である。そして、レンズユニット２をカメラ本体１に装着した際には、レンズユニット２は電気接点１１によってカメラ本体１と電気的に接続される。
【００１８】
図示のように、レンズユニット２には、撮影光学系３、レンズシステム制御部１２、およびレンズ駆動部１３が備えられている。また、カメラ本体１には、クイックリターンミラー機構１４、撮像素子６、画像処理部７、メモリ部８、測距部１５、カメラシステム制御部５、表示部９、および操作検出部１０が備えられている。
【００１９】
前述のように、レンズユニット２をカメラ本体１に装着した際には、電気接点１１を介してカメラシステム制御部５とレンズシステム制御部１２とが接続される。そして、レンズシステム制御部１２はカメラシステム制御部５の制御下でレンズ駆動部１３によって撮影光学系３を駆動制御する。なお、撮影光学系３には焦点レンズ、ぶれ補正レンズ、および絞りなどが含まれている。
【００２０】
撮影光学系３の光軸４上にはクイックリターンミラー機構１４が位置し、クイックリターンミラー機構１４の後段には撮像素子６が配置されている。
【００２１】
エイミングの際には、クイックリターンミラー機構１４によって、撮影光学系３からの光が測距部１５および光学ファインダ１６に導かれる。一方、撮影の際には（つまり、撮影の瞬間に）、クイックリターンミラー機構１４によってミラーを上げて、光学像を撮像素子６に導いて光学像を撮像素子６に結像させる。そして、撮影が終了すると、クイックリターンミラーは元の位置に戻る。
【００２２】
撮像素子６は光学像に応じたアナログ信号を出力する。画像処理部７はカメラシステム制御部５の制御下でアナログ信号をデジタル信号に変換した後画像処理し画像データとして出力する。そして、この画像データはメモリ部８に記録される。
【００２３】
カメラシステム制御部５は、画像処理部７から直接画像データを受けるか又はメモリ部８から画像データを読み出して、画像データに応じた画像を液晶モニタなどの表示部９に画像を表示する。従って、連写又は動画撮影の場合には、ユーザは表示部９によって画像を確認しつつ撮影を行うことができる。
【００２４】
画像処理部７は、例えば、Ａ／Ｄ変換器、ホワイトバランス処理回路、ガンマ補正回路、および補間演算回路などを備えている。さらに、図示はしないが、ここでは、画像処理部７は、後述するフレーム間引き部、移動ベクトル検出部、画像合成部、画素間引き部、および移動ベクトル算出制御部を有している。
【００２５】
メモリ部８は画像データを記録する記憶部に加えて、画像データの記録に必要な処理回路を備えている。メモリ部８は記録部に画像データを記録するとともに、表示部９に出力する画像の生成を行って保存する。さらに、メモリ部８は、予め定められた手法を用いて画像データ（動画データを含む）および音声などの圧縮を行う。なお、ここでは、メモリ部８には、後述するバッファ部が備えられている。
【００２６】
カメラシステム制御部５は外部操作に応じてカメラ本体１およびレンズユニット２を制御する。例えば、シャッターレリーズ釦（図示せず）の押下を操作検出部１０が検出すると、カメラシステム制御部５は撮像素子６の駆動、画像処理部７の動作、メモリ部８における圧縮処理などを制御する。さらに、カメラシステム制御部５は表示部９に各種の情報表示を行ってセグメントの状態を制御する。
【００２７】
図示のように、カメラシステム制御部５には測距部１５および測光部（図示せず）が接続されており、当該測距部１５および測光部で得られた測距結果および測光結果に応じて焦点位置および絞り位置を求める。そして、カメラシステム制御部５は、焦点位置および絞り位置に応じて電気接点１１を介してレンズシステム制御部１２を制御する。レンズシステム制御部１２はレンズ駆動部１３を駆動制御して、焦点位置および絞り位置に応じて焦点レンズおよび絞りを調整する。
【００２８】
レンズシステム制御部１２には手ぶれ検出センサ（図示せず）が接続されている。手ぶれ補正モードが選択されると、レンズシステム制御部１２は手ぶれ検出センサによる手ぶれ検出結果に応じてレンズ駆動部１３を介してぶれ補正レンズを駆動制御する。
【００２９】
図示のカメラにおいては、カメラシステム制御部５は撮像素子６において画像を取得するレート（所謂フレームレート）を制御する。つまり、ここでは、フレームレート制御手段としてカメラシステム制御部５は動作する。さらに、カメラシステム制御部５は、後述する間引き制御部を有している。
【００３０】
ところで、静止画又は動画を撮影する祭には、フレームレートを適切に制御することが重要である。なお、静止画においても連写などで連続的に画像を取得して画像の位置合わせを行うことがあるので、静止画についても連写の間隔をフレームレートという。
【００３１】
画像を取得する際に、所謂手ぶれなどが起こると被写体像の劣化が生じる。このような被写体像の劣化を避けるためにはフレームレートを上げて画像の各々について露光時間を短くすればよい。
【００３２】
この場合、露出の不足を補うためゲインを上げるとノイズが増加してしまうので、所望の露光時間に相当するように複数の画像を位置合わせした後、合成して合成画像とする。つまり、カメラシステム制御部５は撮影の際の露光時間よりも速いフレームレートで複数の画像の取得し、後述の画像処理によって所望の露光時間に相当する画像を合成して出力する。
【００３３】
例えば、１／３０［ｓ］の露光時間の静止画を１枚撮影する際、カメラシステム制御部５はフレームレートを２４０ｆｐｓ（１／３０よりも速い速度の一例）に設定して８枚の画像を得る。そして、カメラシステム制御部５はこれら８枚の画像を合成して１／３０［ｓ］の露光時間に相当の静止画１枚を出力する。この際、手ぶれによって画像の位置がずれることがあるので、カメラシステム制御部５は８枚の画像の相対的な位置合わせを行った後、画像の合成を行う。
【００３４】
ところで、複数の画像の位置合わせを行って合成する際には、所定の演算量が必要となる。そして、画像を取得する際のフレームレートを上げて多数の画像を合成しようとすると、その演算量が飛躍的に増大してしまうことになる。
【００３５】
一方、フレーム毎の画像で発生するぶれを十分に低減するためには、フレームレートを上げる必要がある。さらには、近年の技術的な進歩によって単一時間に処理可能なデータ量は増加する傾向にあり、画像を取得する再のフレームレート上げることが可能となっている。
【００３６】
図２は、図１に示すカメラにおける画像処理の一例を説明するためのフローチャートである。なお、図２においては、時間間引きを行って画像合成を行う際の処理が示されている。ここでは、時間的に連続するフレームを間引いて、時間方向におけるサンプリング周波数を下げることを時間間引きという。また、以下の説明では、例えば、２４０ｆｐｓのフレームレートで取得した画像から１／３０［ｓ］の露光時間に相当する静止画を合成する場合について説明する。
【００３７】
画像処理を開始すると、カメラシステム制御部５は、画像撮影の際のフレームフレームレート設定値を取得する（ステップＳ２）。このフレームレート設定値は、例えば、ユーザ操作を検知する操作検知部１０から取得する。
【００３８】
続いて、カメラシステム制御部５はフレームレート設定値に応じて時間間引き条件を設定する（ステップＳ３）。ここでは、フレームレート設定価が高い程、疎となるように間引きの初期値が設定される。一方、フレームレートが低い程、密となるように間引きの初期値が設定される。
【００３９】
ユーザがカメラを構えている場合には、一般的には手ぶれの速度はある程度抑制されている。つまり、人間の手は柔らかいので高周波で大きく動くようなことは考えにくい。このため、高フレームレートで撮影した際に間引きを少なくして密となるようにすると、フレーム間の時間間隔が小さくなって無駄な演算を施すことになってしまう。このため、上述のように、フレームレート設定値に応じて時間間引き条件を設定する。
【００４０】
例えば、８０００ｆｐｓなどの非常に高速なフレームレートで撮影し、１／８［Ｓ］の露光時間となるように間引いた場合には、間引き後の画像においても時間方向のサンプリングレートは１０００ｆｐｓとなる。カメラをユーザが構えた場合には、前述のように高周波で大きく動くことはないので、つまり、低速の角速度であるので、フレームレートが１０００ｆｐｓである場合には、焦点距離が長いレンズでなければぶれは目立たない。
【００４１】
静止画においては、（１／焦点距離）の露光時間であればぶれが目立たないといわれているので、フレームレートが１０００ｆｐｓであれば、焦点距離が１０００ｍｍ相当のレンズでなければ、ぶれは目立たないことになる。なお、一般的な撮影にはこのような焦点距離の長いレンズを用いることは極めて少ない。
【００４２】
よって、フレームレートが極めて高速である場合には、間引きを大きくして（１／焦点距離）の程度となるまで間引きを行うことが望ましい。この程度の時間サンプリングであると、撮像素子上でフレーム間の画像に数画素程度のずれが生じることがある。ここで、数画素とは代表的な数値であって、ずれが生じないこともあれば１０画素程度のずれが生じることもある。
【００４３】
具体的には、焦点距離が３５ｍｍのレンズを用いて撮影を行っている場合には、１／２５６程度まで間引きを行えば、フレームレートは３１．２５ｆｐｓとなる。
【００４４】
ステップＳ３における時間サンプリング（間引き）と撮影光学系の焦点距離とからずれの最大値をおおよそ推定することができる。このことは静止画においては（１／焦点距離）の露光時間であればぶれが目立たないということ同義である。そして、上記のずれの最大値を、後述するステップＳ５における移動ベクトル検出の際の探索範囲として用いることができる。
【００４５】
次に、画像処理部７は、カメラシステム制御部５の制御下で、時間間引き条件に応じて時間間引きを行う（ステップＳ４）。ステップＳ４における間引き処理では、単純に間引きを行うようにしてもよいが、後述するように、加算を行って時間方向のエイリアシングを抑制するようにしてもよい。
【００４６】
続いて、画像処理部７は、カメラシステム制御部５の制御下で、間引き後の画像間の移動ベクトル（被写体の動きベクトル）を求める（ステップＳ５）。ステップＳ５においては、画像の位置合わせを行うため、２つの画像間における移動方向および距離を求める。
【００４７】
なお、移動ベクトルを求める際の手法はどのような手法を用いてもよいが、ここでは、所謂ブロックマッチングを用いて移動ベクトルの検出が行われる。
【００４８】
次に、画像処理部７は、カメラシステム制御部５の制御下で、時間間引き条件による時間サンプリングの間隔と移動ベクトルの絶対値（つまり、移動量）とがそれぞれ所定の設定値以下および所定の規定値以下であるか否かを判定する（ステップＳ６）。時間サンプリングの間隔が設定値以下でかつ移動ベクトルの絶対値が規定値以下（例えば、±２画素以下）の場合には、当該サンプリングにおいて被写体などの移動がなかったものとみなすことができる。
【００４９】
このことは、前述したように、カメラを人間が構えた場合には所定の角速度以下のぶれのみが生じることと同義である。この結果、後述するようにあるフレーム間では被写体などの移動がなかったものとしてその後の演算を中止することができることになる。
【００５０】
時間サンプリングの間隔と移動ベクトルの絶対値とがそれぞれ所定の設定値以下および規定値以下であると（ステップＳ６において、ＹＥＳ）、つまり、全てのフレームにおいて演算の打ち切り条件に達した場合又は時間サンプリングの間隔が画像を取得した際のフレームレートと等しくなると、画像処理部７は、カメラシステム制御部５の制御下で移動ベクトルに基づいて各フレームの画像の位置合わせを行って画像合成を行う（ステップＳ７）。そして、カメラは画像合成処理を終了する。
【００５１】
全てのフレームにおいて演算の打ち切り条件に達せずかつ時間サンプリングの間隔が画像を取得した際のフレームレートと等しくないと（ステップＳ６において、ＮＯ）、カメラシステム制御部５は時間間引き条件を変更する（ステップＳ８）。ここでは、カメラシステム制御部５は時間間引き条件が密となるように時間間引き条件を変更する。なお、再帰的に演算を行いつつ前回の演算結果を活用するため時間間引きは２の累乗で行う。つまり、ステップＳ８においては時間間引き後の時間サンプリング周波数を２倍とする（演算に用いるフレームを２倍にする）。
【００５２】
続いて、カメラシステム制御部５は移動ベクトル探索範囲を設定する（ステップＳ９）。初期では全てのフレーム間で移動ベクトルを検出する必要があるが、ステップＳ６において打ち切り条件に達したフレームについては、移動ベクトルの検出を行う必要がないので、当該フレームを除いて移動ベクトル探索範囲の設定が行われる。
【００５３】
その後、再度ステップＳ４およびＳ５の処理が行われる。なお、ステップＳ５において、前回の演算結果（検出結果）が存在する場合には、後述するように、移動ベクトルの半分を初期値とすることができる。
【００５４】
図３は、図１に示すカメラにおける画像処理の他の例を説明するためのフローチャートである。なお、図３においては、時間間引きおよび空間間引きを行って画像合成を行う際の処理が示されている。ここでは、サンプリングの間隔を変更して空間方向のサンプリング周波数を下げることを空間間引きという。また、図３において、図２に示すステップと同一の処理については同一の参照部号を付す。
【００５５】
ステップＳ２においてフレームレート設定値を取得した後、カメラシステム制御部５は時間間引き条件および空間間引き条件を設定する（ステップＳ１３）。なお、時間間引き条件に合わせて空間間引き条件の密度を設定するようにしてもよいし、時間間引き条件および空間間引き条件を互いに独立に設定するようにしてもよい。
【００５６】
但し、時間間引きにおいて時間方向のサンプリング間隔を下げる際には、空間方向のサンプリング間隔も下げることが望ましい。つまり、時間的に飛び飛びにサンプリングして粗いモザイク画のような状態としておおまかな位置合わせを行う。そして、次第に時間的および空間的に密な状態にして精密な位置合わせを行う。
【００５７】
ステップＳ４において時間間引きを行った後、画像処理部７は、カメラシステム制御部５の制御下で空間間引きを行う（ステップＳ１４）。ここでは、空間間引き条件に応じて画像における画素データ（以下単に画素ともいう）が間引かれる。これによって、画像は画素数の少ない縮小された画像となる。なお、ステップＳ１４においては、単純に画素の間引きを行ってもよいが、加算を行って空間方向のエイリアシングを抑制することが望ましい。
【００５８】
ステップＳ６において、全てのフレームにおいて演算の打ち切り条件に達せずかつ時間サンプリングの間隔が画像を取得した際のフレームレートと等しくないと、カメラシステム制御部５は時間間引き条件および空間間引き条件を変更する（ステップＳ１７）。ここでは、前述のように空間方向のサンプリングも密になるように空間間引き条件が変更されることになる。
【００５９】
図４は、図２で説明した画像処理を具体的に説明するための図である。
【００６０】
図４において、いま、第０から第１６のフレーム（つまり、画像）を取得したものとする。また、ユーザの手ぶれの大きさは時間に応じて変化するが、ここでは、手ぶれを「大」、「中」、および「小」に分類して、時間方向に「大」、「中」、「小」、「中」、「大」、および「中」の順に変化するものとした。
【００６１】
さらに、時間間引き条件として、「１／８時間間引き」、「１／４時間間引き」、「１／２時間間引き」、および「時間間引き無し」を選択的に設定するものとした。なお、ここでは、撮影レンズの焦点距離を８０ｍｍとして１／３０［ｓ］の露光時間に相当する画像を合成する場合について説明する。当該焦点距離および露光時間の関係は、（１／焦点距離）よりも長い時間露光しているので、一般的には手ぶれによる画像の劣化に注意が必要となる条件である。
【００６２】
いま、第０〜第１６のフレーム、つまり、１７枚の画像を合成するとする。例えば、フレームレート４８０ｆｐｓでサンプリングした画像から１／３０［ｓ］の露光時間に相当する静止画を生成する場合にあたる。この場合、加算枚数を包含する２の累乗枚又は（２の累乗＋１）の枚数の画像を一旦メモリ部８にバッファリングする。つまり、出力画像の露光時間以上であってフレームレート×（２の累乗＋１）の時間分の画像をバッファリングする。
【００６３】
ここでは、図２に示すステップＳ２において、カメラシステム制御部５はフレームレート設定値として４８０ｆｐｓを取得する。そして、カメラシステム制御部５は、ステップＳ３において時間間引き条件として１／８時間間引きを設定したものとする。この結果、間引き後のフレームレートは６０ｆｐｓとなる。
【００６４】
１／８時間間引きにおいては、第０、第８、および第１６のフレームが選択されることになる（少なくとも２枚以上の画像が選択される）。つまり、第０のフレームを必ず選択するものとすると、１／８時間間引きにおいては、第０のフレームから１／８となるようにフレームが選択されて時間方向に間引きが行われる。
【００６５】
なお、図４の例では、第０、第８、および第１６のフレームを単に選択する場合が示されているが、周辺のフレームを加算するなどの手法を用いるようにしてもよい。この場合に、バッファリングするフレームの数を１７よりも多くする必要がある。
【００６６】
例えば、第０のフレームの代わりに第０のフレームから第７のフレームを加算した画像を用い、第８のフレームの代わりに第８のフレーム８から第１５のフレーム１５を加算した画像を用いる。この際には、第１６のフレーム１６の代わりに第１６のフレームから第２３のフレーム２３を加算した画像を用いる必要がある。このため、ここでは、第０〜第２３のフレームがメモリ部8にバッファリングされることになる。
【００６７】
また、図４に示す例は、（２の累乗＋１）の枚数の画像をバッファリングした場合について示されているが、メモリの制約上、２の累乗の方が、都合がよい場合第１６のフレームに代えて第１６のフレーム１５を用いるようにしてもよい。つまり、第１５のフレームと第１６のフレームとは同一の画像で有るとし、第１５のフレームから第１６のフレームの移動ベクトルは正確に０になる。このようにすることでバッファする画像を２の累乗に制限することもできる。
【００６８】
ステップＳ５では、第０、第８、および第１６のフレーム間における移動ベクトルが検出される。図４においては移動ベクトルを検出するフレームについては実線でフレーム間が繋がれている。つまり、１／８時間間引きにおいては第０のフレームと第８のフレーム、そして、第８のフレームと第１６のフレーム１６との間で移動ベクトルを求めることになる。
【００６９】
移動ベクトルを検出した後、ステップＳ６で演算の打ち切り判定が行われる。前述のように、打ち切り条件として間引き後のフレームレートと移動ベクトルの絶対値とが用いられる。
【００７０】
フレームレートが非常に低くなるように間引きが行われると（例えば、１ｆｐｓ）、一旦ぶれた後に元の位置に戻ることが考えられる。このような状態でぶれがなかったと判定すると、画像の位置合わせがうまくいかない。そこで、前述の設定値および規定値又は撮影時における手ぶれ検出センサの出力に応じて手ぶれの速度を予測して打ち切りを始めるフレームレートを決定することが望ましい。
【００７１】
図４に示す１／８時間間引きでは、打ち切り判定の結果、ステップＳ８の処理に移行する。そして、ステップＳ８において時間間引き条件が変更される。ここでは、１／８時間間引きから１／４時間間引きに変更されるものとする。さらに、ステップＳ９において移動ベクトルの探索範囲が設定される。
【００７２】
１／４時間間引きにおいては、第０、第４、第８、第１２、および第１６のフレームが選択され、これらフレームについて移動ベクトルが検出される。そして、ステップＳ６において再度打ち切り判定が行われる。
【００７３】
図４に示す例では、第４のフレームと第８フレームの間において打ち切り条件が成就されている。つまり、第４のフレームと第８フレームの間ではぶれが「小」であるので、第４のフレームと第８のフレームとの間で求められた移動ベクトルはその絶対値が十分に小さいと考えられる。この場合には、画像合成を行う際の位置合わせの誤差が許容範囲である。従って、この場合には第４のフレームと第８のフレームとの間では移動ベクトルの検出を行うことなく、ステップＳ９で移動ベクトルの探索範囲を設定すれば移動ベクトルの補間処理が行われることになる。
【００７４】
図４に示す１／４時間間引きでは、打ち切り判定の結果、ステップＳ８の処理に移行する。そして、ステップＳ８において時間間引き条件が変更される。ここでは、１／４時間間引きから１／２時間間引きに変更されるものとする。さらに、前述のように、ステップＳ９において移動ベクトルの探索範囲が設定される。
【００７５】
１／２時間間引きにおいては、第０、第２、第４、第６、第８、第１０、第１２、第１４、および第１６のフレームが選択され、これらフレームについて移動ベクトルが検出される。そして、ステップＳ６において再度打ち切り判定が行われる。
【００７６】
なお、前述のように、第０のフレームと第２のフレームの移動ベクトル探索範囲は第０フレームから第４のフレームの移動ベクトル探索範囲の半分に設定すればよい。また、第４のフレームと第６のフレームの移動ベクトル探索範囲は第４のフレームから第８のフレームの移動ベクトル探索範囲の半分に設定すればよい。
【００７７】
つまり、移動ベクトルが正確に求められている状況においては、第０のフレームおよび第２のフレームの移動ベクトルと第２のフレームおよび第４のフレームの移動ベクトルとを合成すると、第０のフレームおよび第４のフレームの移動ベクトルとなるはずである。よって、第０のフレームと第２のフレームの移動ベクトルの初期値は第０のフレームと第４のフレームの半分を中心値としてその周辺のみ探索すればよく、検出の際の演算量を削減することができる。なお、最初の探索においては、探索の中心値を０として余裕を持って探索範囲を設定すればよい。
【００７８】
このようにすれば、検出を打ち切った第４のフレームから第８フレームの移動ベクトルを補間するように移動ベクトルが設定される。具体的には、第４のフレームから第８フレーム８に＋２画素のずれがあるとすると、第４のフレームから第６のフレーム６については＋１画素のずれが設定される。同様に、第６のフレームから第８のフレーム８についても＋１画素のずれが設定される。
【００７９】
移動ベクトル検出の際には、検出が打ち切られた第４フレームから第６のフレームと第６のフレームから第８のフレームについては検出は行われず、１／４時間間引きで得られた移動ベクトル（初期値）が保持される。
【００８０】
そして、ステップＳ６の処理では、ぶれの大きい区間を除いて移動ベクトルの検出が打ち切りに達する。その後、ステップＳ８の処理に進んで、時間間引き条件として時間間引き無しが設定される。この結果、ステップＳ５の移動ベクトル検出においては、第０フレームから第２のフレームおよび第１０のフレームから第１４のフレームの間において移動ベクトルの検出が行われることになる。
【００８１】
図示の例では、時間間引き条件が時間間引き無しとなると、全てのフレームにおいて演算の打ち切り条件に達し、ステップＳ７の処理に進んで画像の位置合わせと合成処理とが行われる。
【００８２】
図４に示す例では、まず時間間引き条件として１／８時間間引きを行うようにしたが、フレームレートが高くなって多数の画像となると、間引きはより疎な状態から開始される。この結果、時間間引き条件として時間間引き無しが設定される前に、つまり早い段階で打ち切り条件に達すると考えられる。この結果、フレームレートが高くなると演算量を効果的に抑制することができる。
【００８３】
言い換えると、高フレームレートにおける撮影では、ほぼ同一の画像が大量に取得されるので、許容錯乱円に入る範囲においては個別に移動ベクトルを求める必要がなく、演算量を大幅に削減することができる。
【００８４】
なお、図４では、図２に示すフローチャートによる処理に応じて説明を行ったが、図３に示すフローチャートでは時間間引きに合わせて空間間引きを行えばよいので、図４の説明に基づいて容易に行うことができる。つまり、１／８時間間引きなどの時間間引き条件において画素を間引けばよい。
【００８５】
以上のように、本発明の実施の形態では、高フレームレートで撮影した画像をその演算量を削減して位置合わせ合成を行うことができる。その結果、高品位な画像を高速に得ることができることになる。
【００８６】
上述の説明から明らかなように、図１に示す例においては、カメラシステム制御部５がフレームレート制御手段および間引き制御手段として機能する。また、カメラシステム制御部５および画像処理部７は画像間引き手段、移動ベクトル検出手段、合成手段、および画素間引き手段として機能する。なお、メモリ部８はバッファ手段として機能する。
【００８７】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００８８】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を撮像装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを撮像装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【００８９】
上記の制御方法および制御プログラムの各々は、少なくともフレームレート制御ステップ、画像間引きステップ、移動ベクトル検出ステップ、間引き制御ステップ、および合成ステップを有している。
【００９０】
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵなど）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９１】
３  撮影光学系
５  カメラシステム制御部
６  撮像素子
７  画像処理部
８  メモリ部
９  表示部
１０  操作検出部
１２  レンズシステム制御部
１３  レンズ駆動部
１５  測距部
【図１】
2014039223.tif 000003
【図２】
2014039223.tif 000004
【図３】
2014039223.tif 000005
【図４】
2014039223.tif 000006