(57)【要約】  本開示は、カメラの動きによって大きなブレを含んだ画像が撮影されてしまうことを抑制し、ブレの少ない画像を撮影することができるようにする撮影装置、および撮影方法、並びにプログラムに関する。カメラの動きを検出し、カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較し、比較結果に基づいて、露光の開始および終了を制御するようにする。本開示は、撮影装置に適用することができる。
2017090458.tif 000002
【特許請求の範囲】
【請求項１】
カメラの動きを検出するカメラ動き検出部と、
前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較する比較部と、
前記比較部の比較結果に基づいて、露光の開始および終了を制御する露光制御部と
を含む撮影装置。
【請求項２】
前記比較部は、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、共分散の第一主成分を算出し、前記所定の閾値と比較する
請求項１に記載の撮影装置。
【請求項３】
前記比較部は、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、前記カメラ動き検出結果に対するPSF（Point Spread Function）画像を生成し、周波数解析することにより、前記所定の閾値と比較する
請求項１に記載の撮影装置。
【請求項４】
前記比較部は、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、現在時刻から所定の時刻まで遡った一定範囲の前記検出結果を多項式で近似しておき、前記多項式より未来時刻での動きを外挿（補外）して計測し、前記所定の閾値と比較する
請求項１に記載の撮影装置。
【請求項５】
前記カメラ動き検出部は、ジャイロセンサ、加速度センサ、地磁気センサ、高度センサ、振動センサ、並びに、撮像に用いるカメラとは異なる、撮像に用いるカメラの動きを検出するためのサブカメラから物体のマーカーを追跡して動きを計測するモーションキャプチャを含む
請求項１に記載の撮影装置。
【請求項６】
前記露光制御部は、前記比較部の比較結果に基づいて、前記露光が開始されてから最小露光時間より長く、かつ、最大露光時間内であって、前記比較結果によりブレが所定よりも大きいとみなされたとき、前記露光を終了するように制御する
請求項１に記載の撮影装置。
【請求項７】
前記露光制御部は、前記比較部の比較結果に基づいて、前記露光が開始されてから前記最大露光時間になったとき、前記露光を終了するように制御する
請求項１に記載の撮影装置。
【請求項８】
前記露光制御部は、前記比較部の比較結果に基づいて、前記露光が開始されるタイミングにおいて、前記比較結果によりブレが所定よりも大きいとみなされたとき、前記比較結果によりブレが所定よりも小さいとみなされるまで、前記露光が開始されるタイミングを遅延させるように制御する
請求項１に記載の撮影装置。
【請求項９】
前記露光制御部は、前記比較部の比較結果に基づいて、SNR（Signal to Noise Ratio）を考慮して、前記露光を終了するように制御する
請求項１に記載の撮影装置。
【請求項１０】
前記カメラにより所定の間隔で撮像された複数の画像を積算して、画像のノイズを除去するノイズ除去部をさらに含む
請求項１に記載の撮影装置。
【請求項１１】
前記ノイズ除去部は、前記カメラにより撮像された複数の画像のうち、ブレの大きさが所定の大きさよりも小さい画像のみを積算し前記画像のノイズを除去するノイズ除去部をさらに含む
請求項１０に記載の撮影装置。
【請求項１２】
前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、露光時間に応じて重みを付加して積算し前記画像のノイズを除去する
請求項１０に記載の撮影装置。
【請求項１３】
前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、各画像のブレの方向を加味した重みを付加して積算し前記画像のノイズを除去する
請求項１０に記載の撮影装置。
【請求項１４】
前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、均等の重みを付加して積算し前記画像のノイズを除去する
請求項１０に記載の撮影装置。
【請求項１５】
前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、FFT（Fast Fourier Transform）を掛けて、周波数成分毎に所定の振幅の成分を集めて、逆FFTを掛けて画像を生成することで、前記画像のノイズを除去する
請求項１０に記載の撮影装置。
【請求項１６】
前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、FFTを掛けて、周波数成分毎に最大値の振幅の成分を集めて、逆FFTを掛けて画像を生成することで、前記画像のノイズを除去する
請求項１５に記載の撮影装置。
【請求項１７】
カメラの動きを検出し、
カメラの動きの検出結果に基づいて、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較し、
比較結果に基づいて、露光の開始および終了を制御するステップ
を含む撮影方法。
【請求項１８】
カメラの動きを検出するカメラ動き検出部と、
前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較する比較部と、
前記比較部の比較結果に基づいて、露光の開始および終了を制御する露光制御部としてコンピュータを機能させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、撮影装置、および撮影方法、並びにプログラムに関し、特に、カメラの動きによって大きなブレを含んだ画像が撮影されてしまうことを抑制し、ブレの少ない画像を撮影できるようにした撮影装置、および撮影方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、露光中のカメラの動きの角速度を計測し、その角速度量が所定量に達したら露光を終了する技術が提案されている（特許文献１参照）。【０００３】
この特許文献１の技術は、カメラの動きを、その「角速度値」または「角速度の積算値」として取得し、その値が所定の値を超えた場合に露光を終了するものである。【０００４】
また、露光中のカメラの動き量が所定量に達したら露光を規定よりも早めに打ち切り、所望の回数だけこれを繰り返して得られた画像群を合成してブレとノイズの少ない画像を得る技術が提案されている（特許文献２参照）。【０００５】
この特許文献２の技術では所定の明るさの画像を撮影するために、動きが小さければ一回で露光を完了し、動きが大きければ複数回に分けて露光を行い、それらを合成することで動きブレの少ない画像を撮影している。露光時間を短くすることでブレが少なくなる代わりにノイズが増えてしまうことに対して、複数枚撮影した画像を重ね合わせることでノイズを低減している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２８８４２６２号
【特許文献２】特開２００７−０８１４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許技術１において、角速度の積算値はカメラの像面上での露光中の画素の移動量に比例していると考えられるが、移動速度が一定という前提がなければ積算値が大きいがブレ量が小さいといったケースを検出できない。【０００８】
その結果、露光を継続しても画像がブレないにも関わらず露光を終了してしまい、結果としてブレは少ないがノイズの多い画像が撮影されてしまうことがある。【０００９】
また、特許技術２においては、現実にブレの少ない画像を得ようとする場合、一回の露光で許容できる動き量を小さく設定する必要があり、多数の撮影回数が必要となって、その分の撮影コスト、および画像処理演算コストが増大する。【００１０】
本開示は、このような状況に鑑みてなされたものであり、特に、カメラの動きによって大きなブレを含んだ画像が撮影されてしまうことを抑制し、ブレの少ない画像を撮影できるようにするものである。
【課題を解決するための手段】
【００１１】
本開示の一側面の撮影装置は、カメラの動きを検出するカメラ動き検出部と、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較する比較部と、前記比較部の比較結果に基づいて、露光の開始および終了を制御する露光制御部とを含む撮影装置である。【００１２】
前記比較部には、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、共分散の第一主成分を算出させ、前記所定の閾値と比較させるようにすることができる。【００１３】
前記比較部には、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、前記カメラ動き検出結果に対するPSF（Point Spread Function）画像を生成させ、周波数解析することにより、前記所定の閾値と比較させるようにすることができる。【００１４】
前記比較部には、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、現在時刻から所定の時刻まで遡った一定範囲の前記検出結果を多項式で近似させ、前記多項式より未来時刻での動きを外挿（補外）して計測させ、前記所定の閾値と比較させるようにすることができる。【００１５】
前記カメラ動き検出部には、ジャイロセンサ、加速度センサ、地磁気センサ、高度センサ、振動センサ、並びに、撮像に用いるカメラとは異なる、撮像に用いるカメラの動きを検出するためのサブカメラから物体のマーカーを追跡して動きを計測するモーションキャプチャを含ませるようにすることができる。【００１６】
前記露光制御部には、前記比較部の比較結果に基づいて、前記露光が開始されてから最小露光時間より長く、かつ、最大露光時間内であって、前記比較結果によりブレが所定よりも大きいとみなされたとき、前記露光を終了するように制御させるようにすることができる。【００１７】
前記露光制御部には、前記比較部の比較結果に基づいて、前記露光が開始されてから前記最大露光時間になったとき、前記露光を終了するように制御させるようにすることができる。【００１８】
前記露光制御部には、前記比較部の比較結果に基づいて、前記露光が開始されるタイミングにおいて、前記比較結果によりブレが所定よりも大きいとみなされたとき、前記比較結果によりブレが所定よりも小さいとみなされるまで、前記露光が開始されるタイミングを遅延させるように制御させるようにすることができる。【００１９】
前記露光制御部には、前記比較部の比較結果に基づいて、SNR（Signal to Noise Ratio）を考慮して、前記露光を終了するように制御させるようにすることができる。【００２０】
前記カメラにより所定の間隔で撮像された複数の画像を積算して、画像のノイズを除去するノイズ除去部をさらに含ませるようにすることができる。【００２１】
前記ノイズ除去部には、前記カメラにより撮像された複数の画像のうち、ブレの大きさが所定の大きさよりも小さい画像のみを積算し前記画像のノイズを除去するノイズ除去部をさらに含ませるようにすることができる。【００２２】
前記ノイズ除去部には、前記カメラにより撮像された複数の画像について、露光時間に応じて重みを付加して積算し前記画像のノイズを除去させるようにすることができる。【００２３】
前記ノイズ除去部には、前記カメラにより撮像された複数の画像について、各画像のブレの方向を加味した重みを付加して積算し前記画像のノイズを除去させるようにすることができる。【００２４】
前記ノイズ除去部には、前記カメラにより撮像された複数の画像について、均等の重みを付加して積算し前記画像のノイズを除去させるようにすることができる。【００２５】
前記ノイズ除去部には、前記カメラにより撮像された複数の画像について、FFT（Fast Fourier Transform）を掛けて、周波数成分毎に所定の振幅の成分を集めて、逆FFTを掛けて画像を生成することで、前記画像のノイズを除去させるようにすることができる。【００２６】
前記ノイズ除去部には、前記カメラにより撮像された複数の画像について、FFTを掛けて、周波数成分毎に最大値の振幅の成分を集めて、逆FFTを掛けて画像を生成することで、前記画像のノイズを除去させるようにすることができる。【００２７】
本開示の一側面の撮影方法は、カメラの動きを検出し、カメラの動きの検出結果に基づいて、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較し、比較結果に基づいて、露光の開始および終了を制御するステップを含む撮影方法である。【００２８】
本開示の一側面のプログラムは、カメラの動きを検出するカメラ動き検出部と、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較する比較部と、前記比較部の比較結果に基づいて、露光の開始および終了を制御する露光制御部としてコンピュータを機能させるプログラムである。【００２９】
本開示の一側面においては、カメラの動きが検出され、前記カメラ動きの検出結果に基づいた、前記カメラ動き軌跡の分布度合いが計算され、所定の閾値と比較され、比較結果に基づいて、露光の開始および終了が制御される。
【発明の効果】
【００３０】
本開示の一側面によれば、カメラの動きによって大きなブレを含んだ画像が撮影されてしまうことを抑制することにより、ブレの少ない画像を撮影することが可能となる。
【図面の簡単な説明】
【００３１】
【図１】角速度の積算値が同一でも、ブレが発生する場合と、ブレが発生しない場合とが存在することを説明する図である。
【図２】本開示の技術を適用した撮影装置の第１の実施の形態の構成例を説明する図である。
【図３】図２の撮影装置のカメラ動き検出部の構成例を説明する図である。
【図４】図３のカメラ動き検出部によるカメラ動き検出処理を説明するフローチャートである。
【図５】図３のカメラ動き検出部の動き判定部の第１の構成例を説明する図である。
【図６】図５の動き判定部による動き判定処理を説明するフローチャートである。
【図７】図３のカメラ動き検出部の動き判定部の第２の構成例を説明する図である。
【図８】図７の動き判定部による動き判定処理を説明するフローチャートである。
【図９】図２の撮影装置の画像撮影部の構成例を説明する図である。
【図１０】図９の画像撮影部による撮影処理を説明するフローチャートである。
【図１１】図９の画像撮影部による撮影処理における露光時間を説明する図である。
【図１２】図２の撮影装置のデータ保持部の構成例を説明する図である。
【図１３】図２の撮影装置のブレ補正画像合成部の構成例を説明する図である。
【図１４】図１３のブレ補正画像合成部によるブレ補正画像合成処理の第１の処理例を説明するフローチャートである。
【図１５】図１３のブレ補正画像合成部によるブレ補正画像合成処理の第２の処理例を説明するフローチャートである。
【図１６】動きブレ量の第一主成分とカメラ動き判定閾値との関係を説明する図である。
【図１７】動きブレ量の第一主成分とカメラ動き判定閾値との関係を説明する図である。
【図１８】動きの方向別の積算ベクトルを説明する図である。
【図１９】図５の動き判定部による方向別閾値を用いた動き判定処理を説明するフローチャートである。
【図２０】本開示の技術を適用した撮影装置の第２の実施の形態の構成例を説明する図である。
【図２１】図１の撮影装置のノイズ低減部の構成例を説明する図である。
【図２２】図２１のノイズ低減処理部によるノイズ低減処理を説明するフローチャートである。
【図２３】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための形態】
【００３２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３３】
また、以下の順序で説明を行う。
１．第１の実施の形態
２．第２の実施の形態
３．応用例
【００３４】
＜＜１．第１の実施の形態＞＞
＜従来の撮影装置＞
特許文献１の技術は、露光を開始すると共に、撮影部であるカメラの動きを、その「角速度値」または「角速度の積算値」として取得を開始し、「角速度値」または「角速度の積算値」が所定値を超えた場合に露光を終了するというものである。
【００３５】
ここで、角速度の積算値はカメラの像面上での露光中の画素の移動量に比例していると考えられるが、移動速度が一定という前提がなければ積算値が大きいがブレ量が小さいといったケースを検出できないことがある。
【００３６】
すなわち、図１の左上部は、時間方向に等間隔で動きがある場合の動きの軌跡と、各タイミングにおける位置（黒丸印）の変位を示したものであり、左下部は、各変位間のPSF（Point Spread Function）を示している。また、図１の右上部および右下部は、それぞれ時間方向の間隔に偏りがある状態で動きがある場合の軌跡および各変位間のPSFを示している。
【００３７】
図１の上部の左右を比較すると動きの軌跡は同一であるので、動きの積算値における比較では同一であるが、図１の左下部に対して、図１の右下部のPSFには、偏りがあり画像のブレが小さいことが示されている。
【００３８】
すなわち、図１の場合においては、カメラの動きを、共分散を用いて評価した場合、時間方向に等間隔で等しく動きがある場合に比べると、等間隔ではない動きの場合の方が、分散が小さく、ブレが小さいことがわかる。
【００３９】
＜第１の実施の形態の構成例＞
そこで、本開示の撮影装置においては、カメラの動きから、共分散を求め、動き軌跡点列における共分散の第一主成分に基づいて動きを評価する。
【００４０】
図２は、本開示の撮影装置１１の第１の実施の形態の構成例を示すブロック図である。
【００４１】
図２の撮影装置（カメラ）１１は、シーンを撮影する画像撮影部３２と、撮影装置１１の動きを検出するカメラ動き検出部３１と、撮影した画像と計測したカメラ動きを保存するデータ保持部３３と、保存した画像とカメラ動きを複数読み出してブレ補正しながら合成するブレ補正画像合成部３４とからなる。
【００４２】
カメラ動き検出部３１は、画像撮影部３２から露光開始の信号を受信し、露光中のカメラ動きを計測して、撮影装置（カメラ）１１の動きが既定値を超えたかどうかを判定し、その判定結果を画像撮影部３２に出力する。また、カメラ動き検出部３１は、データ保持部へフレーム画像の撮影中のカメラ動きデータを送信する。
【００４３】
画像撮影部３２は、撮影シーンを露光して画像データを計測し、その露光開始タイミングをカメラ動き検出部３１に送信し、カメラ動き検出部３１から動き判定結果を受信する。そして、画像撮影部３２は、その動き判定結果に応じて、露光終了を判断して、撮影した画像を露光時間に応じてゲイン補正して、その補正した画像データをデータ保持部３３に出力する。
【００４４】
データ保持部３３は、フレーム画像を画像撮影部３２より受信し、また、そのフレーム画像のカメラ動きデータをカメラ動き検出部３１より受信して、それらデータを保持する。データ保持部３３は、記録した所定の枚数のフレーム画像とカメラ動きデータをブレ補正画像合成部に出力する。
【００４５】
ブレ補正画像合成部３４は、データ保持部３３より画像とカメラ動きデータを受信し、カメラ動きデータに基づいて、各フレーム画像の位置を合わせて、全てのフレーム画像を選択的にブレンド処理する。これによりノイズを減らしたブレンド済ブレ補正画像が撮影されることになる。
【００４６】
＜カメラ動き検出部の構成例＞
次に、図３を参照して、カメラ動き検出部３１の構成例について説明する。
【００４７】
カメラ動き検出部３１は、動き検出部５１および動き判定部５２を備えている。動き検出部５１は、露光中のカメラ動きを定期的に計測して画サイズや焦点距離といったカメラパラメータを用いてカメラの像面上での移動位置点列を計算して、その点列を動き判定部５２に出力する。動き判定部５２は、動き検出部５１より移動位置点列を受信し、所定のカメラ動き判定閾値パラメータを用いて、動きによるブレが許容量に収まるか否かを判定し、その判定結果を画像撮影部３２に出力する。
【００４８】
動き検出部５１は、カメラ動きの計測を、例えば、角速度を計測するジャイロセンサを用いて行う。尚、動き検出部５１による計測方法は、このジャイロセンサに限定されるものではなく、カメラの動きが分かるものであれば何でもよい。すなわち、カメラ動き検出部３１は、カメラ動きを計測するにあたって、ジャイロセンサに代えて、例えば、加速度を計測する加速度センサ、北の方角を計測する地磁気センサ、気圧から高度を計測する高度センサ、振動を計測する振動センサ、外部カメラから物体のマーカーを追跡して動きを計測するモーションキャプチャなどを利用するようにしてもよい。
【００４９】
＜カメラ動き検出処理＞
次に、図４のフローチャートを参照して、カメラ動き検出部３１によるカメラ動き検出処理について説明する。尚、カメラ動き検出処理は、ジャイロセンサを用いて角速度を計測することにより求められるものであるため、カメラの動きを回転運動として捉えることを前提とする。
【００５０】
ステップＳ１１において、動き検出部５１は、カメラの動きのうち、回転運動成分をジャイロセンサによって角速度（ｇｘ，ｇｙ，ｇｚ）として所定の時間間隔で計測する。時間間隔は、例えば、１ミリ秒間隔などであり、ジャイロセンサからなる動き検出部５１は、角速度を、所定の時間間隔でサンプリングする。
【００５１】
ステップＳ１２において、動き検出部５１は、その角速度を積算して、角回転量（ａｘ，ａｙ，ａｚ）に変換する。
【００５２】
ステップＳ１３において、動き検出部５１は、現在位置座標（ｘ，ｙ）を取得する。現在位置座標（ｘ，ｙ）は、初期値を、例えば、カメラ像面上の中心（０，０）とし、以降において、順次、直前の処理で計算された位置が現在位置座標（ｘ，ｙ）とされる。
【００５３】
ステップＳ１４において、動き検出部５１は、角回転量（ａｘ，ａｙ，ａｚ）を用いて、現在位置座標（ｘ，ｙ）を回転移動させる。
【００５４】
回転移動は、以下の式（１）のようにオイラー角αβγを用いて行列の乗算計算として求める。例えば、αはピッチ、βはヨー、γはロール方向の角回転量とする。ｘ，ｙは現在の座標位置でありｚは像面までの距離で焦点距離を用いる。
【００５５】
【数１】
2017090458.tif 000003
・・・（１）
【００５６】
そして、動き検出部５１は、像面上でのブレを正確に計算するために、以下の式（２）で示されるように、ｘ’とｙ’をそれぞれｚ’で割り算してｘ’’，ｙ’’を回転移動後の座標とする。
【００５７】
【数２】
2017090458.tif 000004
・・・（２）
【００５８】
尚、上述した式（１）については、一般式で表現すると、以下の式（３）のように表現される。
【００５９】
【数３】
2017090458.tif 000005
・・・（３）
【００６０】
ここで、ｉは、ｘ，ｙの時系列の関係を示すものである。また、Rotateは、回転公式を示すものである。
【００６１】
ステップＳ１５において、動き検出部５１は、こうした写像位置計算を連続的に行い、点写像位置列（ｘ０，ｙ０），（ｘ１，ｙ１），・・・，（ｘｉ，ｙｉ）を得て、動き判定部５２に出力する。動き判定部５２は、点写像位置列（ｘ０，ｙ０），（ｘ１，ｙ１），・・・，（ｘｉ，ｙｉ）を取得し、保持する。
【００６２】
ステップＳ１６において、動き判定部５２は、動き判定処理を実行し、この点写像位置列（ｘｉ、ｙｉ）を入力とした計算を行う。尚、動き判定処理については、詳細を後述する。
【００６３】
ステップＳ１７において、動き判定部５２は、動き判定結果に応じて、例えば、ブレ（ボケ）が閾値以下であるときには０を、ブレ（ボケ）が閾値以上であるときは１を出力する。
【００６４】
ここで動き判定は点写像位置列の共分散の第一主成分を求めて、その第一主成分を閾値判定することで行われる。共分散行列は以下の式（４）の通り、Σｉｊを成分とする２×２の行列であり、Ｘｉは、点写像位置列のｘ座標ｘｉ、Ｙｉは、点写像位置列のｙ座標ｙｉ、μｉ，μｊはそれぞれの期待値である。
【００６５】
【数４】
2017090458.tif 000006
・・・（４）
【００６６】
第一主成分は、共分散行列を特異値分解することで得られる。第一主成分は共分散行列の最大の分散の大きさを示し、これはすなわち最大ブレの大きさを表すと考えられる。
【００６７】
ステップＳ１８において、動き判定部５２は、動き判定結果としてブレが閾値以上である、または、最長露光時間であるか否かに基づいて、処理が終了か否かを判定し、終了ではないと見なされた場合、処理は、ステップＳ１１に戻り、以降の処理を実行する。
【００６８】
また、ステップＳ１８において、動き判定結果としてブレが閾値以上である、または、最長露光時間である場合、カメラ動き検出処理は終了する。
【００６９】
以上の処理により、順次、カメラ動きが検出されて、カメラの動き判定結果が出力され続けることになる。
【００７０】
＜動き判定部の第１の構成例＞
次に、図５のブロック図を参照して、動き判定部５２の第１の構成例について説明する。動き判定部５２は、共分散行列固有値計算部７１および閾値計算部７２からなる。
【００７１】
共分散行列固有値計算部７１は、点写像位置列を入力として、上述した手法により第一主成分（＝最大の固有値）を求めて閾値計算部７２へ出力する。
【００７２】
閾値計算部７２は、共分散行列固有値計算部７１より第一主成分を受信し、劣化閾値をパラメータとする閾値処理を行って、その計算結果を動き判定結果として出力する。
【００７３】
画像の劣化はブレによって起こるが、ブレを無くすために露光時間を短く制御すると、ノイズを増やしてしまう。そのため、劣化を最適に防ぐにはブレとノイズの両方を考慮して閾値計算する必要がある。
【００７４】
＜図５の動き判定部による動き判定処理＞
次に、図６のフローチャートを参照して、図５の動き判定部５２による動き判定処理について説明する。
【００７５】
ステップＳ３１において、共分散行列固有値計算部７１は、点写像位置列（ｘｉ、ｙｉ）の入力を受け付ける。
【００７６】
ステップＳ３２において、共分散行列固有値計算部７１は、式（４）で示される共分散行列を計算する。
【００７７】
ステップＳ３３において、共分散行列固有値計算部７１は、第一主成分を計算し、閾値計算部７２に供給する。
【００７８】
ステップＳ３４において、閾値計算部７２は、第一主成分、すなわち、最大のブレの大きさが劣化閾値よりも小さい場合、ブレが劣化閾値より小さいことを示す判定結果として０を出力し、ブレの大きさが劣化閾値よりも大きい場合、ブレが劣化閾値より大きいことを示す判定結果として１を出力する。
【００７９】
ステップＳ３５において、閾値計算部７２は、判定結果を出力する。
【００８０】
ここで、閾値計算部７２により使用される劣化閾値について説明する。
【００８１】
ブレの程度は点写像位置列の共分散の第一主成分の大きさで近似でき、また、ノイズの主要因であるショットノイズや熱雑音は輝度依存性のあるガウス分布で近似できる。そこで本開示においては、ブレとノイズを加味した評価式を定義して、その値を閾値処理するようにする。
【００８２】
ノイズの分散量Ｎ（ｘ）は、例えば、以下の式（５）で示されるように、輝度ｘに線形の関係でモデル化する。
【００８３】
【数５】
2017090458.tif 000007
・・・（５）
【００８４】
ここで、ａとｂはモデルのパラメータである。
【００８５】
さらに、ブレおよびノイズによる画像の劣化度合いスコアの評価Ｃは、以下の式（６）を用いて行うようにする。
【００８６】
【数６】
2017090458.tif 000008
・・・（６）
【００８７】
ここで、分散量Ｎ（ｘ）は輝度に応じたノイズ分散、σはノイズ分散の影響度を制御するパラメータ、ｘは輝度、Ｂはブラーの第一主成分、γは調整パラメータである。
【００８８】
式（６）によれば露光時間が短い間は、輝度ｘが小さいためノイズ分散Ｎの影響が大きくexp評価値が0に近づき、ブラーＢがある程度大きくても許容される。露光時間が伸びてノイズ分散Ｎの影響が小さくなってくると、expの評価値が1に近づきブラーＢの大きさがそのまま評価されるようになってくる。このようにノイズとブレを同時に評価して重みを可変にすることによって、画像の劣化を最適に制御する露光時間を決定できる。
【００８９】
こうして求めた劣化度合いスコアＣを劣化閾値として閾値処理を実行し、露光を継続するか終了するかを判断する動き判定結果を求める。
【００９０】
＜動き判定部の第２の構成例＞
以上においては、点写像位置列から共分散行列を求め、第一主成分を計算して閾値と比較することにより、動きが所定の閾値よりも大きいか否かを判定する例について説明してきたが、点写像位置列からPSF（Point Spread Function（点像分布関数））を求めて、その周波数を解析して、動き判定結果を解析してもよい。
【００９１】
図７は、点写像位置列からPSFを求めて、その周波数を解析して、動き判定結果を求めるようにした動き判定部５２の構成例を示している。
【００９２】
図７の動き判定部５２は、PSF画像生成部９１、および周波数解析部９２を備えている。
【００９３】
PSF画像生成部９１は、点写像位置列からPSF画像を生成して周波数解析部９２に出力する。周波数解析部９２は、PSF画像を受信して周波数解析を行い、周波数の成分が一定の閾値以下か否かで動き判定結果を計算し、出力する。
【００９４】
PSF画像は、動き点列（点写像位置列）を順に折れ線として小画像にレンダリングして得られるグレー画像であり、例えば、図７の右部の画像Ｐである。動きが無い場合は点画像となる。周波数解析はこのPSF画像をFFT変換して得られる周波数成分を低周波から高周波まで一次元にプロットして、各周波数成分が所定の値以上になっているかどうかを判定する。
【００９５】
動きが大きい場合、PSF画像では高周波成分が欠落していくので、一定以上の高周波成分に注目してその成分の積算値が一定以上か否か劣化閾値を比較することで動き判定結果を計算することができる。
【００９６】
＜図７の動き判定部による動き判定処理＞
次に、図８のフローチャートを参照して、図７の動き判定部５２による動き判定処理について説明する。
【００９７】
ステップＳ５１において、PSF画像生成部９１は、点写像位置列（ｘｉ、ｙｉ）の入力を受け付ける。
【００９８】
ステップＳ５２において、PSF画像生成部９１は、PSF画像を生成し、周波数解析部９２に出力する。
【００９９】
ステップＳ５３において、周波数解析部９２は、PSF画像をFFT変換して得られる周波数成分を低周波から高周波まで一次元にプロットすることで周波数解析する。
【０１００】
ステップＳ５４において、周波数解析部９２は、プロットして、各周波数成分が所定の値以上になっているか否かにより閾値判定する。より具体的には、動きが大きい場合、PSF画像では高周波成分が欠落していくので、一定以上の高周波成分に注目して、その成分の積算値が一定以上か否か劣化閾値を比較することで動き判定結果を計算する。
【０１０１】
これにより、周波数解析部９２は、ブレの大きさが所定の閾値よりも小さい場合、ブレが閾値より小さいことを示す判定結果として０を出力し、ブレの大きさが所定の閾値よりも大きい場合、ブレが閾値より大きいことを示す判定結果として１を出力する。
【０１０２】
ステップＳ５５において、周波数解析部９２は、判定結果を出力する。
【０１０３】
以上の処理により、点写像位置列（ｘｉ、ｙｉ）よりPSF画像を求めて、周波数解析することで動き判定結果を出力することが可能となる。
【０１０４】
＜画像撮影部の構成例＞
次に、図９のブロック図を参照して、画像撮影部３２の構成例について説明する。
【０１０５】
画像撮影部３２は、露光制御部１０１、露光部１０２、およびゲイン補正部１０３を備えている。
【０１０６】
露光部１０２は、撮影シーンを露光して画像データを出力する。より詳細には、露光部１０２は、撮影シーンを露光してゲイン補正部１０３へ画像データを出力する。露光部１０２は、露光の開始と終了の制御を露光制御部１０１から受信する。
【０１０７】
露光制御部１０１は、露光の開始と終了を制御する。より詳細には、露光制御部１０１は、カメラのシャッタボタン押下など露光開始の信号を受信し、露光部１０２へ露光開始の制御を行う。また、露光制御部１０１は、カメラ動き検出部３１へ露光開始のタイミングを通知する。露光開始後、カメラ動き検出部３１からの動き判定結果を受信して、内部タイマーによって計測した露光時間が、予め設定された最小露光時間以上で、かつ、最大露光時間以下であれば、所定の動きより大きな動きが検出されたことを示す動き判定結果である（判定結果が１である）とき、露光部１０２の露光を終了するよう制御する。また、露光時間が最大露光時間以上であれば、露光制御部１０１は、露光部１０２の露光を終了するよう制御する。さらに、露光制御部１０１は、露光開始から終了するまでの露光時間をゲイン補正部１０３に送信する。
【０１０８】
ゲイン補正部１０３は、画像データのゲインを補正する。より詳細には、ゲイン補正部１０３は、露光部１０２から受信した画像データを露光時間に応じて、ゲイン倍した画像データを出力する。
【０１０９】
＜撮影処理＞
次に、図１０のフローチャートを参照して、画像撮影部３２による撮影処理について説明する。
【０１１０】
ステップＳ７１において、露光制御部１０１は、露光部１０２へ露光開始の信号を送信し、露光部１０２は、露光を開始する。
【０１１１】
ステップＳ７２において、露光制御部１０１は、露光開始をカメラ動き検出部３１へ送信する。
【０１１２】
ステップＳ７３において、露光制御部１０１は、内部タイマーを用いて露光時間を計測し、予め設定された最小露光時間が経過したか否かを判定し、露光時間が最小露光時間未満であれば時間の計測を継続する。そして、ステップＳ７３において、予め設定された最小露光時間が経過したとみなされた場合、処理は、ステップＳ７４に進む。
【０１１３】
ステップＳ７４において、露光制御部１０１は、内部タイマーを用いて露光時間を計測し、予め設定された最大露光時間が経過したか否かを判定する。ステップＳ７４において、露光時間が最大露光時間未満であれば、処理は、ステップＳ７５に進む。
【０１１４】
ステップＳ７５において、露光制御部１０１は、カメラ動き判定部３１からの動き判定結果が、ブレの閾値よりも小さく、ブレの発生はないとみなされているか否かを判定する。ステップＳ７５において、ブレの発生はないとみなされた場合、処理は、ステップＳ７４に戻る。
【０１１５】
すなわち、ステップＳ７４において、露光時間が最大露光時間を経過しておらず、かつ、ステップＳ７５において、動き判定結果が、露光完了（ブレ大）を受信しなければ、ステップＳ７４，Ｓ７５の処理が繰り返されて、動き判定結果による判定動作と、最大露光時間の判定が継続される。すなわち、この間、露光が継続され続ける。
【０１１６】
ステップＳ７４において、露光時間が最大露光時間を経過しているとみなされるか、または、ステップＳ７５において、動き判定結果が大きいとみなされた場合、処理は、ステップＳ７６に進む。
【０１１７】
ステップＳ７６において、露光制御部１０１は、露光部１０２に対して、露光完了を送信し、露光部１０２は撮影シーンの露光を完了し、画像データをゲイン補正部１０３に供給する。このとき、露光制御部１０１は、露光部１０２における露光時間の情報をゲイン補正部１０３に供給する。
【０１１８】
ステップＳ７７において、ゲイン補正部１０３は画像データを露光制御部１０１から受信した露光時間に応じて、ゲイン倍して補正する。
【０１１９】
ステップＳ７８において、ゲイン補正部１０３は、ゲインを補正した画像データを出力する。
【０１２０】
すなわち、図１１で示されるように、画像の最上位ラインの読み出しが時刻ｔ１１に開始される場合、最小露光時間ｔｍｉｎが経過する時刻ｔ１２までは、露光は必ず継続され、それ以降においては、動き判定結果に応じて、最長露光時間ｔｍａｘを最大とする時刻ｔ１４までの間に、動き判定結果によりブレが大きいことが通知されるまで露光が継続される。図１１においては、時刻ｔ１３において、動き判定結果によりブレが大きいことが通知され、露光が終了していることが示されている。
【０１２１】
尚、図１１においては、図中下方向に向かって画像ラインが最上位ラインより離れている。このため、露光開始時刻ｔ１１を基準として、下位のラインに向かうに従って遅延し、実質的に、露光開始ラインＬ１に沿って、露光の開始時刻が遅延されることが示されている。同様にして、最小露光時間ｔｍｉｎについても、露光開始ラインＬ１を基準に下位のラインに従って遅延するため、時刻ｔ１２を基準として最小露光ラインＬ２に沿って遅延して設定される。同様に、最長露光時間ｔｍａｘについても、時刻ｔ１４を基準として最長露光ラインＬ４に沿って遅延して設定される。そして、図１１においては、最上位ラインにおいて時刻ｔ１３で、露光終了とされるため、時刻ｔ１３を基準として、下位のラインに従って、露光終了ラインＬ３が設定されている。すなわち、図１１においては、斜線で示される範囲が、最小露光時間ｔｍｉｎよりも長く露光された時間として表されている。
【０１２２】
尚、以上においては、露光開始は、そのタイミングになるとカメラ動き検出部３１からの判定結果によらず、開始されていたが、開始のタイミングにおいて、カメラ動き検出部３１からの判定結果で、ブレが大きくなることが示されることも考えられ、その状態から露光を開始すると、最小露光時間ｔｍｉｎにおいて、大きくブレのある画像が撮影されてしまう恐れがある。
【０１２３】
そこで、露光制御部１０１は、カメラ動き検出部３１から受け取る判定結果を用いて、露光開始のタイミングを変化させるようにしてもよい。例えば、露光開始のタイミングとなったがカメラ動きが大きい状態の場合、カメラ動きが収まってから露光を開始するように遅延することでブレを低減させることができる。
【０１２４】
この場合、露光部１０２は、露光開始より前のタイミングで動き判定を開始させる露光開始信号を出力しておき、実際の露光開始タイミングの時点で動き判定結果を参照する。このとき、露光制御部１０１は、動き判定結果によりブレが大きければ、露光部１０２の露光開始を遅延させ、動き判定結果にブレがなくなった時点で露光部の露光を開始させるようにしてもよい。
【０１２５】
さらに、露光部１０２は、露光開始から最小露光時間ｔｍｉｎ内に動き判定結果によりブレが大きいと検出された場合、すなわち、露光時間が短く、このタイミングで露光を終了させても、十分なSNR（Signal to Noise Ratio）が稼げない状態でブレが大きいと検出された場合、露光を一旦終了して、それまでの露光結果を破棄し、再度、ブレがなくなってから、十分なSNRが稼げるように、露光をやり直すようにしてもよい。
【０１２６】
また、所定の時刻までに計測された動きから未来の動きを予測して露光開始や露光終了を制御してもよい。例えば、現在時刻から所定の時刻まで遡った一定範囲の動きデータを多項式で近似しておいて、その多項式より未来時刻での動きを外挿（補外）して計測し、動きが閾値を上回る時刻を予測する。そのような予測を用いれば画像の上ラインで判定していた露光終了タイミングを、画面下端ラインでの露光終了タイミングを測ることができるようになり、画像全体が所定のボケに収まるように撮影を制御できる。
【０１２７】
＜データ保持部の構成例＞
次に、図１２のブロック図を参照して、データ保持部３３の構成例について説明する。
【０１２８】
データ保持部３３は、メモリ１２１から構成されており、画像と動きを受信して、それぞれを対応付けて、複数フレーム分のデータを内部のメモリ１２１に蓄えておき、後段のブレ補正画像合成部３４へ画像と動きのデータを出力する。
【０１２９】
＜ブレ補正画像合成部の構成例＞
次に、図１３のブロック図を参照して、ブレ補正画像合成部３４の構成例について説明する。
【０１３０】
ブレ補正画像合成部３４は、先頭画像を基準とした位置へ後続する画像の位置を揃えるのに必要な位置合わせパラメータを計算してデータ保持部３３から受信した画像を変形する画像位置合わせ部１４１、位置合わせ済の画像を受信して積算途中の積算画像へ加算ブレンドするブレンド処理部１４２、ブレンド画像を受信して蓄えてブレンド処理部１４２へ積算画像を供給するフレームメモリ１４３、および、フレームメモリ１４３から積算画像を受信して出力する補正画出力部１４４を備えている。
【０１３１】
画像位置合わせ部１４１は、データ保持部３３のメモリ１２１から動きデータを受信し、カメラパラメータを使って先頭画像の位置へ後続の画像を揃える位置合わせパラメータを計算する。
【０１３２】
画像位置合わせ部１４１は、例えば、動きデータとしてジャイロセンサで取得したフレーム画像間のカメラの角回転量を入力とする。カメラ回転移動による移動をキャンセルして位置を合わせることは、画像の各画素位置の移動量をそれぞれ求めることに相当するので、前述の式（１）のオイラー角による回転行列を用いることにより実現できる。
【０１３３】
ここでｘ，ｙは画像の各画素位置であり、ｚはカメラパラメータで与えられる焦点距離である。画像の縦横画素数、画像中心、および画素サイズもカメラパラメータとして与えられる。こうして先頭画像に位置合わせされた画像が出力される。
【０１３４】
ブレンド処理部１４２は、位置合わせされた画像とフレームメモリ１４３に蓄えた積算途中の積算画像をブレンドして積算画像を更新してフレームメモリ１４３に送出する。最も単純な手法としては、積算する各フレーム画像の重みは等しくして積算すればよく、例えば、８枚の積算であれば各画像の重みは１／８となる。
【０１３５】
別の積算方法として、例えば、各フレーム画像の露光時間の逆数を重みとする方法がある。各フレーム画像は前述の動き検出手段によって一定以下のブレ量に抑えられているとすると、画像のノイズの量は露光時間に応じて減少すると考えられ、露光時間が長いほど大きくなる重みを採用することで、さらなる低ノイズ化が実現できる。さらには、ブレ量が大きく、積算する画像として不適切な画像は捨てて、ブレ量が小さい、積算する画像として適切な画像のみを抽出して積算するようにしてもよい。
【０１３６】
より具体的には、以下の式（７）を用いて演算する。
【０１３７】
【数７】
2017090458.tif 000009
・・・（７）
【０１３８】
ここで、ｉはフレーム画像番号である。ｗ（ｉ）はフレーム画像ｉの重みである。分母は全フレーム画像の露光時間の総和であり、分子はフレーム画像ｉの露光時間ｔ（ｉ）である。
【０１３９】
＜ブレ補正画像合成処理の第１の処理例＞
次に、図１４のフローチャートを参照して、ブレ補正画像合成処理の第１の処理例について説明する。
【０１４０】
ステップＳ９１において、画像位置合わせ部１４１は、データ保持部３３のメモリ１２１よりフレーム画像と、対応する動きデータを受信する。
【０１４１】
ステップＳ９２において、画像位置合わせ部１４１は、先頭フレームへの位置合わせパラメータを計算する。すなわち、画像位置合わせ部１４１は、現フレーム画像の各画素位置が先頭画像のどこに対応するかを計算する。
【０１４２】
ステップＳ９３において、画像位置合わせ部１４１は、現フレーム画像と先頭フレーム画像の位置対応に基づいて、現フレーム画像を変形させる。
【０１４３】
ステップＳ９４において、ブレンド処理部１４２は、積算画像をフレームメモリ１４３から読み出す。
【０１４４】
ステップＳ９５において、ブレンド処理部１４２は、変形済みの現フレーム画像と積算画像を計算した重みに基づいてブレンドする。
【０１４５】
ステップＳ９６において、ブレンド処理部１４２は、規定のブレンド枚数に達しているか否かを判定し、達していないとみなされた場合、処理は、ステップＳ９１に戻る。すなわち、次のフレーム画像と動きが入力され、規定のブレンド枚数に達するまで、ステップＳ９１乃至Ｓ９６の処理が繰り返される。そして、ステップＳ９６において、規定のブレンド枚数に達しているとみなされた場合、処理は、ステップＳ９６に進む。
【０１４６】
ステップＳ９７において、ブレンド処理部１４２は、現積算画像をブレンド済・ブレ補正済画像として出力し、処理を終了する。
【０１４７】
以上の処理により、位置合わせされ、形状が揃えられた画像が、積算されることにより、ブレンドされてブレが補正される。また、この際、積算される画像の露光時間に応じた重みを付して積算することで、さらに、ブレを補正することが可能となる。
【０１４８】
＜ブレ補正画像合成処理の第２の処理例＞
以上においては、位置合わせした画像を積算することで、ブレを補正する例について説明してきたが、“Burst Deblurring: Removing Camera Shake Through Fourier Burst Accumulation”, Mauricio Delbracioに記載されているような、複数枚のブレの方向や大きさの異なる画像を撮影しておいて、それぞれの画像からブレの無い成分を選択的に合成してブレを減らした画像を得る方法が提案されているので、この手法を適用してもよい。
【０１４９】
そこで、図１５のフローチャートを参照して、複数枚のブレの方向や大きさの異なる画像を撮影しておいて、それぞれの画像からブレの無い成分を選択的に合成してブレを低減させる場合のブレ補正画像合成処理を、第２の処理例として説明する。
【０１５０】
この方法では各画像を先頭画像位置へ位置合わせした上で周波数空間へ変換し、周波数空間の各周波数において振幅の大きい成分を優先的に選択し、それら成分を集めて画像空間へ変換して戻すことで、複数の画像合成によってブレの少ない画像を得る方法である。
【０１５１】
すなわち、ステップＳ１１１において、画像位置合わせ部１４１は、データ保持部３３のメモリ１２１よりフレーム画像と、対応する動きデータを受信する。
【０１５２】
ステップＳ１１２において、画像位置合わせ部１４１は、先頭フレームへの位置合わせパラメータを計算する。すなわち、画像位置合わせ部１４１は、現フレーム画像の各画素位置が先頭画像のどこに対応するかを計算する。
【０１５３】
ステップＳ１１３において、画像位置合わせ部１４１は、現フレーム画像と先頭フレーム画像の位置対応に基づいて、現フレーム画像を変形させる。
【０１５４】
ステップＳ１１４において、ブレンド処理部１４２は、現フレームにFFT（Fast Fourier Transform）を掛けて、周波数成分に変換する。
【０１５５】
ステップＳ１１５において、ブレンド処理部１４２は、周波数成分に変換された状態の積算画像をフレームメモリ１４３から読み出す。
【０１５６】
ステップＳ１１６において、ブレンド処理部１４２は、各周波数成分の、例えば、最大値を選択的に合成する。
【０１５７】
ステップＳ１１７において、ブレンド処理部１４２は、規定のブレンド枚数に達しているか否かを判定し、達していないとみなされた場合、処理は、ステップＳ１１１に戻る。すなわち、次のフレーム画像と動きが入力され、規定のブレンド枚数に達するまで、ステップＳ１１１乃至Ｓ１１７の処理が繰り返される。そして、ステップＳ１１７において、規定のブレンド枚数に達しているとみなされた場合、処理は、ステップＳ１１８に進む。
【０１５８】
ステップＳ１１８において、補正画出力部１４４は、ブレンド枚数に達したブレンド画像に２次元逆FFT変換を掛ける。
【０１５９】
ステップＳ１１９において、補正画出力部１４４は、現積算画像をブレンド済・ブレ補正済画像として出力し、処理を終了する。
【０１６０】
以上の処理により、位置合わせされた画像が、FFT変換され、各周波数成分のうち、大きな振幅の成分を選択的に合成し、逆FFTを掛けて、ブレンドされることで、ブレを補正することが可能となる。
【０１６１】
その際、それぞれ画像は異なるブレ方（動き量、動き方向）が撮影されることが最適であり、画像のブレ方が異なるように露光を制御することができれば好適なブレンド画像集合を得ることができる。すなわち、既に撮影されている画像のブレ方向の情報が得られていれば、ブレの無い元画像を復元するのに不足しているブレ方向が分かり、不足しているブレ方向にブレ過ぎないように露光時間を制御できる。この制御も本開示の撮影装置１１において適用できる。
【０１６２】
共分散行列の第一主成分が閾値を超えるか否かを判定することは、図１６で示されるように、カメラ動き判定閾値を直径とする円ｔｈに、第一主成分ベクトルＦ１が収まっているか否かを判定することと等価である。
【０１６３】
本開示の撮影装置１１におけるブレ方向ごとに閾値を変化させて所望の方向のブレを抑えた露光制御を行うために、カメラ動き判定閾値を方向ごとに非等方的に変化させて閾値処理を行う。これにより、画像のブレ方が異なるように露光を制御し、好適なブレンド画像集合を得ることが可能となる。
【０１６４】
図１７で示されるように、ここでは縦横斜めの４方向にカメラ動き閾値ｔｈ１を設定している。フレーム１動き判定の先頭フレーム時は等方的な値となっている。フレーム１においては、第一主成分Ｆ１は、右斜め方向に近い方向のベクトルであるが、閾値ｔｈ１内であるので、動き判定結果は、大きな動きがなくブレがないものとみなされる。
【０１６５】
フレーム２の判定時にはフレーム１の動きブレ結果に応じて、カメラ動き判定閾値を方向ごとに変えた閾値ｔｈ２としている。閾値ｔｈ２では、右斜め方向の閾値を小さくしている。フレーム２においては、第一主成分Ｆ１は、水平方向に近い方向のベクトルであるが、閾値ｔｈ２内であるので、動き判定結果は、大きな動きがなくブレがないものとみなされる。
【０１６６】
フレーム３の判定時にはフレーム２までの動きブレ結果に応じて、カメラ動き判定閾値を変えた閾値ｔｈ３としている。閾値ｔｈ３では、右斜め方向に閾値を、閾値ｔｈ２よりも大きくし、縦方向に閾値を閾値ｔｈ２よりも小さくしている。フレーム３においては、第一主成分Ｆ１は、左斜め方向に近い方向のベクトルであるが、閾値ｔｈ３内であるので、動き判定結果は、大きな動きがなくブレがないものとみなされる。
【０１６７】
方向ごとの閾値の決定は、点写像位置列の各点間の移動ベクトルＭＶ（Δｘ，Δｙ）のヒストグラムを計算することで行う。図１８で示されるように、移動ベクトルＭＶ集合から４方向のヒストグラムを計算している。図中の白丸は移動ベクトルＭＶをプロットしたものである。これを図中灰色で定義する方向ごとの有効領域Ｚ１乃至Ｚ４のそれぞれに含まれるものを集めて積算して、その積算した移動ベクトルである積算ベクトルＳＶ１乃至ＳＶ４の長さを、それぞれの方向のヒストグラム値とする。
【０１６８】
図１８の最左部では右斜め上方向と左斜め下方向の有効領域Ｚ１における移動ベクトルを積算（左下方向のベクトルは符号を反転して）して太黒矢印のヒストグラム値からなる積算ベクトルＳＶ１を得る。有効領域は、注目する方向を、中心として一定の角度の広がりを持たせて定義されている。
【０１６９】
図１８の左から２番目では上方向と下方向の有効領域Ｚ２における移動ベクトルを積算（下方向のベクトルは符号を反転して）して太黒矢印のヒストグラム値からなる積算ベクトルＳＶ２を得る。
【０１７０】
図１８の左から３番目では左斜め上方向と右斜め下方向の有効領域Ｚ３における移動ベクトルを積算（右下方向のベクトルは符号を反転して）して太黒矢印のヒストグラム値からなる積算ベクトルＳＶ３を得る。
【０１７１】
図１８の最右部では左方向と右方向の有効領域Ｚ４における移動ベクトルを積算（左方向のベクトルは符号を反転して）して太黒矢印のヒストグラム値からなる積算ベクトルＳＶ４を得る。
【０１７２】
尚、有効領域は、これ以外のパターンによるものであってもよいし、隣接する方向と重複があったり隙間があったりしてもよい。
【０１７３】
このヒストグラム値が大きい方向に画像の面内ブレが多く含まれるため、以降のフレーム撮影ではこのブレ方向にブレが小さくなるように閾値を設定する。そのため、以下の式（８）で表す、方向別の閾値を計算する。
【０１７４】
【数８】
2017090458.tif 000010
・・・（８）
【０１７５】
ここで、ｄは方向を表し、図１８の例では縦、横、右上がり斜め、右下がり斜めである。Thは閾値でユーザが設定するパラメータである。γは調整パラメータで、値が小さいほど閾値が小さくなり、その方向のブレを厳しく制限するようになる。ｈ（ｄ）は方向ｄのヒストグラム値である。
【０１７６】
＜方向別閾値を用いた動き判定処理＞
次に、図１９のフローチャートを参照して、方向別閾値を用いた動き判定処理について説明する。
【０１７７】
ステップＳ１３１において、共分散行列固有値計算部７１は、時刻ｔのフレーム画像の点写像位置列（ｘｉ，ｙｉ）を入力する。
【０１７８】
ステップＳ１３２において、共分散行列固有値計算部７１は、点写像位置列（ｘｉ，ｙｉ）から共分散行列を計算する。
【０１７９】
ステップＳ１３３において、共分散行列固有値計算部７１は、共分散行列から第一主成分と第一主成分方向を計算し、閾値計算部７２に出力する。
【０１８０】
ステップＳ１３４において、閾値計算部７２は、時刻ｔ−１までのフレーム画像の点写像位置列（ｘｉｊ，ｙｉｊ）を入力する。
【０１８１】
ステップＳ１３５において、閾値計算部７２は、点写像位置列（ｘｉｊ，ｙｉｊ）の各点間の差分（Δｘ＝ｘｉ，ｊ−１−ｘｉ，ｊ，Δｙ＝ｙｉ，ｊ−１−ｙｉ，ｊ）を計算して移動ベクトルを求める。
【０１８２】
ステップＳ１３６において、閾値計算部７２は、各方向のそれぞれについて移動ベクトルを積算して各方向のヒストグラム値（積算ベクトルの大きさ）を求める。
【０１８３】
ステップＳ１３７において、閾値計算部７２は、各方向のそれぞれについてヒストグラム値から各方向の閾値を計算する。
【０１８４】
ステップＳ１３８において、閾値計算部７２は、各方向のそれぞれについて閾値をつないで得られる多角形領域内にフレーム画像ｔの第一主成分ベクトル（長さが第一主成分、方向が第一主成分方向）が収まるか否かにより閾値判定する。
【０１８５】
ステップＳ１３９において、閾値計算部７２は、多角形領域内に第一主成分ベクトルが収まれば０を、はみ出せば１を、それぞれ動き判定結果として出力する。
【０１８６】
以上の処理により、移動ベクトルに基づいて、４方向について適切に閾値を設定することが可能となり、第一主成分の方向と大きさを加味して、適切な動き判定を実現することが可能となる。
【０１８７】
このように動きの方向に応じて閾値を設定するようにすることができるので、例えば、顔画像の検出などでは、水平方向よりも垂直方向への耐性が高いことが知られているので、垂直方向に対しては閾値を緩く設定し、水平方向に対しては厳しい閾値を設定するようにしてもよい。また、車載カメラの場合、水平方向よりも垂直方向に対しての振動の影響を受けやすいので、水平方向に対しては緩めの閾値を設定し、垂直方向に対しては、厳しい閾値を設定するようにしてもよい。さらに、デプスカメラなどの場合、水平方向の解像度の方が高いことが望ましいので、水平方向の閾値を厳しくする設定するようにするしてもよい。
【０１８８】
＜＜２．第２の実施の形態＞＞
以上においては、静止画の撮影について説明してきたが、動画の撮影にも応用することができる。
【０１８９】
図２０は、本開示の技術を適用した動画を撮影する撮影装置１１の第２の実施の形態の構成例を示している。尚、図２の撮影装置１１における構成と同一の機能を備えた構成については、同一の名称、および同一の符号を付しており、その説明は適宜省略するものとする。
【０１９０】
すなわち、図２０の撮影装置１１は、シーンを撮影する画像撮影部３２、カメラの動きを検出するカメラ動き検出部３１、および、露光時間に合わせてパラメータを調整してノイズ低減処理を行うノイズ低減部１７１を備えている。つまり、図２０の撮影装置１１において、図２の撮影装置１１と異なる点は、データ保持部３３、およびブレ補正画像合成部３４に代えて、ノイズ低減部１７１が設けられている点である。
【０１９１】
カメラ動き検出部３１は、画像撮影部３２から露光開始の信号を受信し、露光中のカメラ動きを計測して、カメラの動きが既定値を超えたかどうかを判定して、その判定結果を画像撮影部３２に出力する。また、カメラ動き検出部３１は、ノイズ低減部１７１へフレーム画像の撮影中のカメラ露光時間を送信する。
【０１９２】
画像撮影部３２は、撮影シーンを露光して画像データを計測し、その露光開始タイミングをカメラ動き検出部３１に送信し、カメラ動き検出部３１から動き判定結果を受信し、その動き判定結果に応じて露光終了を判断して、撮影した画像を露光時間に応じてゲイン補正して、その補正した画像データをノイズ低減部１７１に出力する。
【０１９３】
ノイズ低減部１７１は、露光時間と画像データから画像データのノイズ低減処理を行い、ブレ補正した動画フレーム画像を出力する。画像は画像撮影部３２におけるゲイン補正処理によって明るさは揃えられているが露光時間が異なるためノイズ量が異なる。ノイズの多少による動画像のちらつきを抑えるために、ノイズ低減部１７１は、露光時間に応じた強度でノイズ低減処理を行う。
【０１９４】
＜ノイズ低減処理部の構成例＞
ノイズ低減部１７１は、フィルタ生成部１９１およびノイズ低減処理部１９２を備えている。
【０１９５】
フィルタ生成部１９１は、カメラ動き検出部３１から露光時間を受信し、ノイズ低減用のフィルタを生成してノイズ低減処理部１９２に出力する。
【０１９６】
ノイズ低減処理部１９２は、画像撮影部３２から画像データを受信し、フィルタ生成部１９１から受信したフィルタを使って画像データのノイズ低減処理を実施し、ブレ補正動画フレーム画像を出力する。
【０１９７】
フィルタ生成部１９１で生成する露光時間に応じたフィルタは、例えば、メディアンフィルタを用いることができる。メディアンフィルタは、注目画素の周囲の画素値を集めて、その中央値で注目画素の画素値を置き換えるものである。この置き換えた画素値をそのまま出力すると、ノイズだけでなく元の画像のテクスチャも潰してしまうため、中央値と元の画素値をブレンドして出力するなどの方法がよく取られる。このブレンドのブレンド割合を露光時間に応じて変化させることができる。
【０１９８】
＜ノイズ低減処理＞
次に、図２２のフローチャートを参照して、ノイズ低減処理について説明する。
【０１９９】
ステップＳ１５１において、フィルタ生成部１９１は、カメラ動き検出部３１から露光時間を受信する。
【０２００】
ステップＳ１５２において、フィルタ生成部１９１は、ノイズ低減用の露光時間に応じたフィルタを生成し、ノイズ低減処理部１９２に出力する。
【０２０１】
ステップＳ１５３において、ノイズ低減処理部１９２は、画像撮影部３２から画像データを受信し、フィルタ生成部１９１から受信したフィルタを使って画像データのノイズ低減処理を実施する。
【０２０２】
ステップＳ１５４において、ノイズ低減処理部１９２は、ブレ補正動画フレーム画像を出力する。
【０２０３】
以上の処理により、露光時間が短くノイズが多いと予想される場合、メディアンフィルタの中央値を強くブレンドするようなブレンド値にしたり、露光時間が長くノイズが小さいと予想される場合、元の画素値を強くブレンドすることができる。もちろん、ノイズ低減フィルタは、メディアンフィルタに限定されるものではなく、ウィーナフィルタやバイラテラルフィルタなどノイズ削減効果のあるフィルタを用いてもよい。また、元の画素値とフィルタ後の画素値のブレンド割合を変化させるだけでなく、フィルタの係数そのものを露光時間に応じて変化させるようにしてもよい。すなわち、露光時間が短い場合は強く、長い場合は弱いノイズ削減効果を持つようにフィルタ係数を切り替えればよい。
【０２０４】
以上の処理により、動き軌跡点列（点写像位置列）の主成分分析によって「ブレ量合計絶対値」が大きくてもブレを抑えて、露光時間を長くすることができるケースを検出することが可能となり、その時には、適切に露光時間を長くすることが可能となる。
【０２０５】
また、「動き軌跡点列の第一主成分」の範囲を面内ブレ補正後処理で補正可能な程度に収めることができる。さらに、既定の「動き軌跡点列の第一主成分の分散量」に収める制御で、特定のブレ方向に対して垂直方向の元の画像の周波数成分を残し、異なるブレ方向を集めて高精度なブレ補正結果画像を得ることが可能となる。
【０２０６】
＜＜３．応用例＞＞
＜ソフトウェアにより実行させる例＞
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２０７】
図２３は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタ-フェイス１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０２０８】
入出力インタ-フェイス１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０２０９】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１ら読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２１０】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０２１１】
コンピュータ（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０２１２】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記憶部１００８に、あらかじめインストールしておくことができる。
【０２１３】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２１４】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２１５】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０２１６】
例えば、本開示は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２１７】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２１８】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２１９】
尚、本開示は、以下のような構成も取ることができる。
＜１＞  カメラの動きを検出するカメラ動き検出部と、
前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較する比較部と、
前記比較部の比較結果に基づいて、露光の開始および終了を制御する露光制御部と
を含む撮影装置。
＜２＞  前記比較部は、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、共分散の第一主成分を算出し、前記所定の閾値と比較する
＜１＞に記載の撮影装置。
＜３＞  前記比較部は、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、前記カメラ動き検出結果に対するPSF（Point Spread Function）画像を生成し、周波数解析することにより、前記所定の閾値と比較する
＜１＞に記載の撮影装置。
＜４＞  前記比較部は、前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いとして、現在時刻から所定の時刻まで遡った一定範囲の前記検出結果を多項式で近似しておき、前記多項式より未来時刻での動きを外挿（補外）して計測し、前記所定の閾値と比較する
＜１＞に記載の撮影装置。
＜５＞  前記カメラ動き検出部は、ジャイロセンサ、加速度センサ、地磁気センサ、高度センサ、振動センサ、並びに、撮像に用いるカメラとは異なる、撮像に用いるカメラの動きを検出するためのサブカメラから物体のマーカーを追跡して動きを計測するモーションキャプチャを含む
＜１＞乃至＜４＞のいずれかに記載の撮影装置。
＜６＞  前記露光制御部は、前記比較部の比較結果に基づいて、前記露光が開始されてから最小露光時間より長く、かつ、最大露光時間内であって、前記比較結果によりブレが所定よりも大きいとみなされたとき、前記露光を終了するように制御する
＜１＞乃至＜５＞のいずれかに記載の撮影装置。
＜７＞  前記露光制御部は、前記比較部の比較結果に基づいて、前記露光が開始されてから前記最大露光時間になったとき、前記露光を終了するように制御する
＜１＞乃至＜６＞のいずれかに記載の撮影装置。
＜８＞  前記露光制御部は、前記比較部の比較結果に基づいて、前記露光が開始されるタイミングにおいて、前記比較結果によりブレが所定よりも大きいとみなされたとき、前記比較結果によりブレが所定よりも小さいとみなされるまで、前記露光が開始されるタイミングを遅延させるように制御する
＜１＞乃至＜７＞のいずれかに記載の撮影装置。
＜９＞  前記露光制御部は、前記比較部の比較結果に基づいて、SNR（Signal to Noise Ratio）を考慮して、前記露光を終了するように制御する
＜１＞乃至＜８＞のいずれかに記載の撮影装置。
＜１０＞  前記カメラにより所定の間隔で撮像された複数の画像を積算して、画像のノイズを除去するノイズ除去部をさらに含む
＜１＞乃至＜９＞のいずれかに記載の撮影装置。
＜１１＞  前記ノイズ除去部は、前記カメラにより撮像された複数の画像のうち、ブレの大きさが所定の大きさよりも小さい画像のみを積算し前記画像のノイズを除去するノイズ除去部をさらに含む
＜１０＞に記載の撮影装置。
＜１２＞  前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、露光時間に応じて重みを付加して積算し前記画像のノイズを除去する
＜１０＞に記載の撮影装置。
＜１３＞  前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、各画像のブレの方向を加味した重みを付加して積算し前記画像のノイズを除去する
＜１０＞に記載の撮影装置。
＜１４＞  前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、均等の重みを付加して積算し前記画像のノイズを除去する
＜１０＞に記載の撮影装置。
＜１５＞  前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、FFT（Fast Fourier Transform）を掛けて、周波数成分毎に所定の振幅の成分を集めて、逆FFTを掛けて画像を生成することで、前記画像のノイズを除去する
＜１０＞に記載の撮影装置。
＜１６＞  前記ノイズ除去部は、前記カメラにより撮像された複数の画像について、FFTを掛けて、周波数成分毎に最大値の振幅の成分を集めて、逆FFTを掛けて画像を生成することで、前記画像のノイズを除去する
＜１５＞に記載の撮影装置。
＜１７＞  カメラの動きを検出し、
カメラの動きの検出結果に基づいて、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較し、
比較結果に基づいて、露光の開始および終了を制御するステップ
を含む撮影方法。
＜１８＞  カメラの動きを検出するカメラ動き検出部と、
前記カメラ動き検出結果に基づいた、前記カメラ動き軌跡の分布度合いを計算し、所定の閾値と比較する比較部と、
前記比較部の比較結果に基づいて、露光の開始および終了を制御する露光制御部としてコンピュータを機能させる
プログラム。
【符号の説明】
【０２２０】
１１  撮影装置，  ３１  カメラ動き検出部，  ３２  画像撮影部，  ３３  データ保持部，  ３４  ブレ補正画像合成部，  ５１  動き検出部，  ５２  動き判定部，  ７１  共分散行列固有値計算部，  ７２  閾値計算部，  ９１  PSF画像生成部，  ９２  周波数解析部，  １０１  露光制御部，  １０２  露光部，  １０３  ゲイン補正部，  １２１  メモリ，  １４１  画像位置合わせ部，  １４２  ブレンド処理部，  １４３  フレームメモリ，  １４４  補正画出力部，  １７１  ノイズ低減部，  １９１  フィルタ生成部，  １９２  ノイズ低減処理部
【図１】
2017090458.tif 000011
【図２】
2017090458.tif 000012
【図３】
2017090458.tif 000013
【図４】
2017090458.tif 000014
【図５】
2017090458.tif 000015
【図６】
2017090458.tif 000016
【図７】
2017090458.tif 000017
【図８】
2017090458.tif 000018
【図９】
2017090458.tif 000019
【図１０】
2017090458.tif 000020
【図１１】
2017090458.tif 000021
【図１２】
2017090458.tif 000022
【図１３】
2017090458.tif 000023
【図１４】
2017090458.tif 000024
【図１５】
2017090458.tif 000025
【図１６】
2017090458.tif 000026
【図１７】
2017090458.tif 000027
【図１８】
2017090458.tif 000028
【図１９】
2017090458.tif 000029
【図２０】
2017090458.tif 000030
【図２１】
2017090458.tif 000031
【図２２】
2017090458.tif 000032
【図２３】
2017090458.tif 000033
【国際調査報告】
2017090458.tif 000034
2017090458.tif 000035
2017090458.tif 000036
2017090458.tif 000037