(57)【特許請求の範囲】
【請求項１】
光学系と該光学系を通して入射する画像を画像データとして出力する撮像素子とを備えた撮像装置であって、
該撮像装置に生じる３軸方向の加速度を検出して加速度信号を出力する加速度センサと、
前記撮像装置に生じる３軸の周りの角速度を検出して角速度信号を出力する角速度センサと、
前記加速度センサから出力される加速度信号のうち低周波成分を通過させるローパスフィルタと、
前記角速度センサから出力される角速度信号のうち高周波成分を通過させるハイパスフィルタと、を備え、
前回の撮像装置の姿勢状態から重力方向を算出し、該重力方向と前記ローパスフィルタを通過した加速度信号から重力方向の誤差を算出し、該重力方向の誤差に基づいて、前記ハイパスフィルタを通過した角速度信号を補正し、現在の撮像装置の姿勢状態を算出する姿勢状態算出手段と、
前記姿勢状態算出手段で得た現在の撮像装置の姿勢状態に基づいて、前記撮像素子から得られる画像データを補正して出力する画像制御手段と、を有する
撮像装置。
【請求項２】
前記撮像装置は、全天球の撮像を行うものである、
請求項１に記載の撮像装置。
【請求項３】
前記ローパスフィルタの遮断周波数は１Ｈｚであり、
前記ハイパスフィルタの遮断周波数は０．１Ｈｚである、
請求項１又は２に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、撮像装置に関し、特に、デジタルカメラの画像補正に関する。
【背景技術】
【０００２】
特許文献１のように、デジタルカメラにおいて、デジタルカメラの傾きに応じて画像補正をすることによって、水平方向が正しく描写されるようにする技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２１４９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記先行技術においては、加速度センサで重力方向を検出することでデジタルカメラの姿勢を推定している。しかし、加速度センサは速度変化を伴う並進移動も検出するため、デジタルカメラに並進移動が発生すると姿勢の誤推定を起こす問題がある。この問題に対し本願発明者は、並進移動による姿勢の誤推定を抑制しながら、実際の回転による姿勢変化を精度良く推定することの意義を認識した。
【課題を解決するための手段】
【０００５】
上記課題を解決するための例示的実施形態は、例えば以下のように実現され得る。撮像装置は、光学系と該光学系を通して入射する画像を画像データとして出力する撮像素子とを備えた撮像装置であって、該撮像装置に生じる３軸方向の加速度を検出して加速度信号を出力する加速度センサと、前記撮像装置に生じる３軸の周りの角速度を検出して角速度信号を出力する角速度センサと、前記加速度センサから出力される加速度信号のうち低周波成分を通過させるローパスフィルタと、前記角速度センサから出力される角速度信号のうち高周波成分を通過させるハイパスフィルタと、を備え、前回の撮像装置の姿勢状態から重力方向を算出し、該重力方向と前記ローパスフィルタを通過した加速度信号から重力方向の誤差を算出し、該重力方向の誤差に基づいて、前記ハイパスフィルタを通過した角速度信号を補正し、現在の撮像装置の姿勢状態を算出する姿勢状態算出手段と、前記姿勢状態算出手段で得た現在の撮像装置の姿勢状態に基づいて、前記撮像素子から得られる画像データを補正して出力する画像制御手段と、を有する。
【発明の効果】
【０００６】
並進移動による姿勢の誤推定を抑制しながら、実際の回転による姿勢変化を精度良く推定できる。
【図面の簡単な説明】
【０００７】
【図１】本開示の例示的実施形態による撮像装置の概略図である。
【図２】撮像装置を上から見たときの断面図である。
【図３】撮像装置のハードウェアの構造を示すブロック図である。
【図４】撮像装置の機能ブロック図である。
【図５】姿勢算出部及び姿勢補正量算出部の機能ブロック図である。
【図６】姿勢算出部及び姿勢補正量算出部の処理を示すフロー図である。
【図７】角速度センサが出力するｘ，ｙ，ｚ軸の周りの角速度と、加速度センサが出力するｘ，ｙ，ｚ軸方向の加速度と、重力加速度との関係を示す図である。
【図８】静止時の加速度センサの出力を示す図である。
【図９】並進加速時の加速度センサの出力を示す図である。
【図１０】並進加速時の加速度センサの出力を示す図である。
【図１１】並進加速時のＬＰＦの出力を示す図である。
【図１２】並進加速時の角速度センサの出力を示す図である。
【図１３】回転時の角速度センサの出力を示す図である。
【図１４】撮像装置が並進加速している状態での速度V、加速度a、角速度g、及び図４〜６の補正を施さない状態の画像を示す図である。
【発明を実施するための形態】
【０００８】
以下の説明において同じ参照番号は同一の構成要素を示す。
【０００９】
システムの全体構成
図１は、本開示の例示的実施形態による撮像装置１００の概略図である。撮像装置１００は、例えば、実質的に全天球の撮像を行う、いわゆる全天球カメラである。撮像装置１００は、典型的には撮影者が手で持って撮影できる形状及び大きさを有する筐体１１０を備える。筐体１１０の平行な２つの主平面のそれぞれの上には、光学系１２０が設けられる。図１では光学系１２０は、１つしか見えないが、筐体１１０の反対側に光学系１２０に対応するもう一つの光学系が存在する。筐体１１０には、典型的には銘板１３０が設けられる。本明細書では銘板１３０が設けられる面を表（おもて）面という。
【００１０】
図２は、撮像装置１００を上から見たときの断面図である。光学系１２０及び１２２は、典型的には全天球の実質的に半分であり、互いに実質的に重複しない領域の画像を、それぞれ撮像素子２２０及び２２２上で結像させる。すなわち、光学系１２０及び撮像素子２２０の組合せ、及び光学系１２２及び撮像素子２２２の組合せによって得られる画像の画角は、それぞれ実質的に１８０°である。例えば、撮像素子２２０は、筐体１１０の上から見た角度θが０°〜１８０°の半球を撮像し、撮像素子２２２は、筐体１１０の上から見た角度θが１８０°〜３６０°の半球を撮像する。撮像素子２２０及び２２２によって撮像された画像を合成すれば全天球の画像が得られる。光学系１２０及び撮像素子２２０の組合せ、及び光学系１２２及び撮像素子２２２の組合せによって得られる画像の領域は、全天球の半分より、微小量、大きくても小さくてもよい。光学系１２０及び撮像素子２２０の組合せ、及び光学系１２２及び撮像素子２２２の組合せによって得られる画像の領域を全天球の半分より、微小量、大きくすれば、得られた２つの領域の画像を合成する（つなぎ合わせる、スティッチするともいう）ときに有利であり得る。撮像素子２２０及び２２２は、例えばＣＭＯＳ（相補型金属酸化膜半導体）センサ又はＣＣＤ（電荷結合素子）のようなエリア型の蓄積型光電変換素子である。
【００１１】
ハードウェア
図３は、撮像装置１００のハードウェアの構造を示すブロック図である。撮像装置１００は、ＣＰＵ（central processing unit）３１０、ＲＯＭ（read-only memory）３１２、ＲＡＭ（random access memory）３１４、外部メモリ３１６、図４を参照して後述する加速度センサ４３０、角速度センサ４４０を備え、これらの要素は、バス３１８を介して動作可能に接続される。
【００１２】
信号処理回路３２０は、撮像素子２２０によって出力された画像信号Ａを受け取る。信号処理回路３２０は、受け取られた画像信号Ａに必要な画像補正を行い、評価回路３３０に転送する。評価回路３３０は、自動露出及び自動ホワイトバランスのうちの少なくとも１つを行うための、画像信号Ａについての評価Ａを生成し、ＣＰＵ３１０に転送する。
【００１３】
信号処理回路３２２は、撮像素子２２２によって出力された画像信号Ｂを受け取る。信号処理回路３２２は、受け取られた画像信号Ｂに必要な画像補正を行い、評価回路３３２に転送する。評価回路３３２は、自動露出及び自動ホワイトバランスのうちの少なくとも１つを行うための、画像信号Ｂについての評価Ｂを生成し、ＣＰＵ３１０に転送する。
【００１４】
ＣＰＵ３１０は、評価Ａに基づいて画像信号Ａの画像補正のためのパラメータＡを生成し、評価Ｂに基づいて画像信号Ｂの画像補正のためのパラメータＢを生成する。
【００１５】
信号処理回路３２０は、パラメータＡを受け取り、パラメータＡに基づいてレベルを補正する。信号処理回路３２２は、パラメータＢを受け取り、パラメータＢに基づいてレベルを補正する。
【００１６】
合成処理回路３５０は、補正された画像信号Ａ及びＢを受け取り、一つの画像に合成し、合成された画像を例えば外部メモリ３１６に出力する。すなわち画像信号Ａ及びＢのレベルは、必要に応じて調整されてから合成処理がなされる。
【００１７】
評価回路３３０は、画像を評価領域に分割し、その明るさ（自動露出の場合）又は色調（自動ホワイトバランスの場合）を評価する。評価回路は、画像を評価領域に分割し、その明るさ（自動露出の場合）又は色調（自動ホワイトバランスの場合）を評価する。
【００１８】
明るさの評価としては、順光及び逆光がある。例えば領域のうち、画像中央領域の明るさと、画像上部領域の明るさとがほぼ等しいときには、順光であると判断できる。逆に、例えば領域のうち、画像中央領域の明るさに対して、画像上部領域の明るさが大幅に大きいときには、例えば空に対応する領域に太陽があるとみなして、逆光であると判断できる。色調の評価としては、太陽光、白熱電球光、蛍光灯光等のうちどの種類の光であるかに基づいて、撮影モードを変更できる。これらの明るさ又は色調についての評価は、評価回路３３０及び３３２が同様に行うことができる。
【００１９】
評価Ａ、Ｂ及びパラメータＡ、Ｂは、上述の例に限定されず、任意の適切な評価及びパラメータであり得る。
【００２０】
図４は、撮像装置１００の機能ブロック図である。図４のイメージセンサ４２０及びイメージセンサ４２２は、図２の撮像素子２２０及び２２２にそれぞれ対応する。以下の記載で「カメラ」とは、より具体的には全天球カメラを指し、撮像装置１００の一例である。画像合成部４２６は、イメージセンサ４２０及びイメージセンサ４２２からの出力を合成することによって、全天球の画像を出力する。画像合成部４２６は、合成処理回路３５０によって実現され得る。
【００２１】
撮像装置１００は、姿勢算出部４５０、姿勢補正量算出部４６０、及び姿勢補正量記録部４７０を有する。姿勢算出部４５０、姿勢補正量算出部４６０、及び姿勢補正量記録部４７０は、典型的にはＣＰＵ３１０と、ソフトウェアとの組み合わせによって実現され得るが、これには限定されずハードウェアだけで実現してもよい。
【００２２】
角速度センサ４３０は、ｘ，ｙ，ｚ軸の周りの角速度gx, gy, gz [rad/sec]を出力する。加速度センサ４４０は、ｘ，ｙ，ｚ軸方向の加速度ax, ay, az [G]（1[G]≒9.8[m/s2]
）を出力する。角速度センサ４３０及び加速度センサ４４０は、筐体１１０内に設けられる。
【００２３】
撮像装置１００が静止している状態では、加速度センサ４４０は、重力加速度を各軸方向に分解した成分を出力する。これによって撮像装置１００の姿勢を正確に推定することができる。
【００２４】
これに対して撮像装置１００が、速度変化がある（すなわち加速度が非ゼロであるか、又は微小ではない）並進移動をしている状態では、加速度センサ４４０の出力は、重力加速度と並進加速度が合わさったものとなる。その結果、加速度センサ４４０の出力だけを用いても、正確に撮像装置１００の姿勢を推定することができない。
【００２５】
図５は、姿勢算出部４５０の機能ブロック図である。姿勢算出部４５０は、ハイパスフィルタ（ＨＰＦ）５３０、ローパスフィルタ（ＬＰＦ）５４０、重力方向誤差算出部５５０、加算要素５６０、姿勢クオータニオン算出部５７０を有する。姿勢算出部４５０は、上述の場合においても、角速度センサ４３０の出力と、加速度センサ４４０の出力とを併用することによって撮像装置１００の姿勢を推定する。
【００２６】
具体的には、加速度センサ４４０の並進加速度成分を低減するために、加速度センサ４４０の出力にはＬＰＦ５４０を適用し、加速度センサ４４０の出力に基づいて大局的な姿勢推定を行う。微小時間における撮像装置１００姿勢変化は、角速度センサ４３０の出力を積算することで推定する。各センサ出力を併用するために、角速度センサ４３０による姿勢推定の積算誤差を、ＬＰＦ５４０を通った加速度センサ４４０の出力によって補正する。角速度センサ４３０の出力には、ドリフト成分による積算誤差を低減するために、ＨＰＦ５３０を適用する。本明細書及び特許請求の範囲において「低減する」という語は、除去する、すなわちある量をゼロにする場合も含む。
【００２７】
アルゴリズム
図６は、姿勢算出部４５０の処理６００を示すフロー図である。
【００２８】
６１０において、角速度センサ４３０の出力gx, gy, gz [rad/sec]にＨＰＦ５３０を適用することで、角速度センサ４３０のドリフト成分（オフセット成分）を低減する。
【００２９】
６２０において、加速度センサ４４０の出力ax, ay, az [G]にＬＰＦ５４０を適用することで、並進移動による並進加速度成分を低減する。
【００３０】
６３０において、前回のカメラ姿勢を表すクオータニオンから重力方向を算出する。クオータニオンをq=[q0,q1,q2,q3]Tで表すと、重力方向ベクトルv=[vx,vy,vz]Tは、次式で
算出できる。
【００３１】
【数１】
0006725106.tif 000002
【００３２】
６４０において、クオータニオンから算出された重力方向ベクトルvと、加速度センサ
出力のベクトルa=[ax,ay,az]Tの誤差を算出する。誤差ベクトルe=[ex,ey,ez]Tは、ベクトルの外積を用いてe=a×vによって求められる。ここで、誤差ベクトルeの成分は、ベクト
ルa及びvがなす角度成分を表す。
【００３３】
６５０において、数２によって、誤差成分に基づいて角速度センサ４３０の出力を補正する。
【００３４】
【数２】
0006725106.tif 000003
【００３５】
ここで、Δt [sec]は角速度センサ４３０のサンプリング周期であり、kは補正係数である。補正係数kは、誤差に対してどの程度補正を行うかを表す。例えば補正係数k=0.001等の値が用いられ得る。
【００３６】
６６０において、数３によって、時刻tにおけるクオータニオンをq(t)、角速度センサ
のサンプリング周期をΔt [sec]として、時刻(t+Δt)のカメラ姿勢クオータニオンを算出し、得られた姿勢量を姿勢補正量算出部４６０に出力する。
【００３７】
【数３】
0006725106.tif 000004
【００３８】
姿勢補正量算出部４６０は、算出された姿勢量から、撮像装置１００の傾きに基づく画像の傾きを実際に補正する量を算出する。
【００３９】
姿勢補正量記録部４７０は、例えば撮像装置１００に有線又は無線によって結合された外部デバイスに、全天球画像と併せて、姿勢補正量を記録する。これによりユーザは、姿勢補正量が適用された全天球画像をビューワーソフトウェア等で鑑賞することができる。
【００４０】
システムの動作
図７は、角速度センサ４３０が出力するｘ，ｙ，ｚ軸の周りの角速度gx, gy, gz [rad/sec]と、加速度センサ４４０が出力するｘ，ｙ，ｚ軸方向の加速度ax, ay, az [G]と、重力加速度との関係を示す図である。図８は、静止時の加速度センサ４４０の出力を示す図である。加速度センサ４４０の出力は、重力加速度と一致する。
【００４１】
図９は、並進加速時の加速度センサ４４０の出力を示す図である。加速度センサ４４０は、ｘ軸方向の加速度axとして並進加速度apを出力し、ｚ軸方向の加速度azとして重力加速度Ｇを出力する。合成加速度acは、加速度axと加速度azとが合成されたものなので、合成加速度acは、重力加速度Ｇそのものとは、向き及び大きさにおいて異なる。本明細書において並進加速とは、並進加速度が負である場合も含む。すなわち並進加速という語は、撮像装置が減速する場合も含む。
【００４２】
並進加速時には、カメラの姿勢を加速度センサ４４０の出力だけによって推定し、画像の水平を補正すると、イメージセンサ４２０及び４２２の水平方向が重力加速度の向きと垂直であるにもかかわらず、画像に不必要な回転補正が行われてしまう。このような現象を本明細書では「並進加速時の姿勢の誤推定」又は単に「誤推定」という。図４〜６を用いて上述した装置及び方法は、この誤推定の影響を低減することによって、撮像装置１００の姿勢の変化をより良い精度で推定できる。
【００４３】
図１０は、並進加速時の加速度センサ４４０の出力を示す図である。並進移動により加速度成分axが発生するのがわかる。
【００４４】
図１１は、並進加速時のＬＰＦ５４０の出力を示す図である。ＬＰＦ５４０は、並進移動により発生した加速度成分axの大きさを低減し、加速度成分axLを重力方向誤差算出部
５５０に出力する。
【００４５】
図１２は、並進加速時の角速度センサ４３０の出力を示す図である。並進移動時は、角速度センサ４３０の出力は比較的、小さい。図１３は、回転時の角速度センサ４３０の出力を示す図である。回転時は、角速度センサ４３０の出力は比較的、大きい。よって例えば手ブレに起因する比較的、細かい揺れは、角速度センサ４３０の出力に基づいて補正を行うことが妥当である。ここで、角速度センサによる傾き補正は、時間経過で誤差が蓄積するため、加速度センサにＬＰＦを適用した出力値を用いて角速度センサの蓄積誤差を補正する。
【００４６】
図１４は、撮像装置１００が並進加速している状態での速度V、並進加速度成分a、角速度g、図４〜６の補正を施さない状態の画像、及び補正を施した状態の画像を示す図であ
る。このような並進加速は、例えばカメラを水平にパンニングするとき等に起こる。カメラが水平に並進移動する場合は、並進加速度成分ａは、例えばｘ軸方向の加速度ａｘである。
【００４７】
時刻ｔ１〜ｔ２（期間１４１０）においては、パンニング開始に該当し、撮像装置１００は加速するので、並進加速度成分ａは、正の値ａ１を有し、この値ａ１に基づいて姿勢が推定されると、上述の補正なしでは画像１４１２のように、本来は水平な線が角度１４１４だけ斜めになるよう、姿勢が誤推定されてしまう。
【００４８】
時刻ｔ３〜ｔ４（期間１４２０）においては、パンニング終了に該当し、撮像装置１００は減速するので、並進加速度ａは、負の値ａ２を有し、この値ａ２に基づいて姿勢が推定されると、上述の補正なしでは画像１４２２のように、本来は水平な線が角度１４２４だけ斜めになるよう、姿勢が誤推定されてしまう。画像１４１２の状態では加速度が正なので、水平の線は、例えば反時計回りの向きに角度１４１４だけ誤推定される。画像１４２２の状態では加速度が負なので、水平の線は、例えば時計回りの向きに角度１４２４だけ誤推定される。
【００４９】
補正前の画像１４１２及び１４２２には、並進移動による誤推定に加えて、図１３に示されるような手ブレによる角速度（例えばｙ軸の周りの角速度）の変化も反映されている。すなわち、画像１４１２においては、誤推定された角度１４１４に加えて、比較的、細かい揺れ１４１６が写ってしまう。画像１４２２においては、誤推定された角度１４２４に加えて、比較的、細かい揺れ１４２６が写ってしまう。
【００５０】
姿勢算出部４５０は、図１４に示されるように、角速度ｇの大きさが小さい場合（ゼロを含む）、すなわち角速度ｇの絶対値が所定値ｔｈより小さい場合には、数３で算出される姿勢クオータニオンが加速度センサの出力方向と一致するように次第に変化させていく。ここで所定値ｔｈは、ゼロに近い正の数である。補正前の画像１４１２は、姿勢算出部４５０によって補正され、画像１４６２となる。同様に、補正前の画像１４２２は、姿勢算出部４５０によって補正され、画像１４７２となる。上述の動作によって姿勢算出部４５０は、加速度ａと角速度ｇとに基づいて、撮像装置１００の傾きに基づく画像の傾きを補正することができる。
【００５１】
姿勢算出部４５０は、ＬＰＦ５４０を通して加速度を表す信号のうち低域成分（例えば周波数１Ｈｚ以下）を受け取り、ＨＰＦ５３０を通して角速度を表す信号のうち高域成分（例えば周波数５〜１０Ｈｚ）を受け取ることによって、加速度に基づいて画像の傾きの低域成分（主に誤推定に起因する）を補正し、角速度に基づいて画像の傾きの高域成分（主に手ブレに起因する）を補正することができる。
【００５２】
例示的な実施形態において、ＨＰＦ５３０の遮断周波数は、好ましくは０．１Ｈｚである。これにより主に手ブレに起因する回転による画像の揺れをより効果的に低減できる。
例示的な実施形態において、ＬＰＦ５４０の遮断周波数は、好ましくは１Ｈｚである。これにより並進加速時の誤推定をより効果的に低減できる。上記具体的な遮断周波数を採用するのが好ましいが、これらには限定されない。主に図４〜６を参照して説明された装置又は方法は、カメラの並進加速時の誤推定と、手ブレとの両方を効果的に低減できる。すなわち、並進移動による姿勢の誤推定を抑制しながら、実際の回転による姿勢変化を精度良く推定できる。
【００５３】
上述のようにある実施形態によれば、手振れのような短い期間（第一期間）における補正は、角速度に基づき行い、手振れの補正誤差が蓄積されるような長い期間（第二期間）における補正は、加速度に基づき行う。
【００５４】
本発明（またはその任意の部分（群）または機能（群））は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実現され得て、１つ以上のコンピュータシステムまたは他の処理システムにおいて実現され得る。
【００５５】
上に説明されてきたものには、本発明のさまざまな例が含まれる。本発明を記載する目的では、要素や手順の考えられるあらゆる組み合わせを記載することは当然のことながら不可能であるが、当業者なら本発明の多くのさらなる組み合わせおよび順列が可能であることがわかるだろう。したがって本発明は、特許請求の範囲の精神および範囲に入るそのような改変、変更および変形例を全て含むよう意図される。
【符号の説明】
【００５６】
４５０  姿勢算出部
４６０  姿勢補正量算出部
５３０  ハイパスフィルタ（ＨＰＦ）
５４０  ローパスフィルタ（ＬＰＦ）
５５０  重力方向誤差算出部５５０
５６０  加算要素
５７０  姿勢クオータニオン算出部
【図１】
0006725106.tif 000005
【図２】
0006725106.tif 000006
【図３】
0006725106.tif 000007
【図４】
0006725106.tif 000008
【図５】
0006725106.tif 000009
【図６】
0006725106.tif 000010
【図７】
0006725106.tif 000011
【図８】
0006725106.tif 000012
【図９】
0006725106.tif 000013
【図１０】
0006725106.tif 000014
【図１１】
0006725106.tif 000015
【図１２】
0006725106.tif 000016
【図１３】
0006725106.tif 000017
【図１４】
0006725106.tif 000018