(57)【要約】【課題】  従来のキャリブレーション操作は直感的でなかった。【解決手段】  撮像手段と、方位情報を取得する方位取得手段と、自機の位置情報を取得する第１の位置取得手段と、画像データから被写体を検出する検出手段と、検出の結果に応じて、被写体の位置情報を取得する第２の位置取得手段と、前記第１の位置取得手段により得られる位置情報と前記第２の位置取得手段により得られる位置情報とに基づき決定される方向と、前記方位取得手段により取得される方位情報の示す方向との差を決定する決定手段と、前記方位取得手段により取得される方位情報を、前記差を用いて補正する補正手段とを有する撮像装置。【選択図】  図５
2014236319.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して画像データを生成する撮像手段と、
方位情報を取得する方位取得手段と、
自機の位置情報を取得する第１の位置取得手段と、
前記画像データから前記被写体を検出する検出手段と、
前記検出手段による検出の結果に応じて、前記被写体の位置情報を取得する第２の位置取得手段と、
前記第１の位置取得手段により得られる位置情報と前記第２の位置取得手段により得られる前記被写体の位置情報とに基づき決定される方向と、前記方位取得手段により取得される方位情報の示す方向との差を決定する決定手段と、
前記決定手段により決定された差を保持する保持手段と、
前記方位取得手段により取得される方位情報を、前記保持手段により保持されている差を用いて補正する補正手段と、
前記補正手段により補正された方位情報と、前記撮像手段により生成された画像データとを記録媒体に記録する記録制御手段とを有する撮像装置。
【請求項２】
前記画像データを表示領域に表示する表示手段と、
前記検出手段により検出された前記被写体の表示位置が、前記表示領域のうち、所定の領域内に含まれるか否かを判断する判断手段とを更に有し、
前記第２の位置取得手段は、前記判断手段により前記被写体の表示位置が所定の領域内に含まれると判断されたことに応じて、前記被写体の位置情報を取得することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第２の位置取得手段は、前記判断手段により前記被写体の表示位置が所定の領域内に含まれると判断されたタイミングに基づき、前記被写体の位置情報を取得することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記画像データを表示領域に表示する表示手段を更に有し、
前記検出手段は、前記表示領域のうち、前記被写体の表示位置を検出し、
前記第２の位置取得手段は、前記検出手段により前記被写体の表示位置が検出されたことに応じて、前記被写体の位置情報を取得することを特徴とする請求項１に記載の撮像装置。
【請求項５】
前記画像データの表示領域における前記被写体の表示位置に応じて、前記第１の位置取得手段により得られる位置情報と前記第２の位置取得手段により得られる位置情報とに基づき決定される方位情報を修正する修正手段を更に有する請求項４に記載の撮像装置。
【請求項６】
前記第２の位置取得手段は、前記検出手段による検出の結果と、現在時刻とに応じて、前記被写体の位置情報を取得することを特徴とする請求項１に記載の撮像装置。
【請求項７】
所定の天体の軌道に関する情報を保持する手段と、
撮像時の時刻を取得する手段を更に有し、
前記検出手段は、前記画像データから前記所定の天体を前記被写体として検出し、
前記第２の位置取得手段は、前記撮像時の時刻と前記天体の軌道に関する情報とに基づき、前記天体の位置を決定することで、前記被写体の位置情報を取得することを特徴とする請求項１に記載の撮像装置。
【請求項８】
前記第２の位置取得手段は、前記検出手段による検出の結果に応じて、予め記録媒体に記録されている位置情報を読み出すことにより、前記被写体の位置情報を取得することを特徴とする請求項１に記載の撮像装置。
【請求項９】
複数のランドマークに関する情報を保持する手段と、
前記保持されているランドマークのうち、前記検出手段により検出された被写体に対応するランドマークに関する情報を特定する特定手段とを更に有し、
前記第２の位置取得手段は、前記検出された被写体に対応するランドマークに関する情報に基づき、前記ランドマークの位置を決定することで、前記被写体の位置情報を取得することを特徴とする請求項１に記載の撮像装置。
【請求項１０】
撮像された画像データに重畳して、所定のガイドを表示する表示制御手段を更に有し、
前記所定の領域は、前記表示制御手段により表示されるガイドによって示される領域であることを特徴とする請求項１に記載の撮像装置。
【請求項１１】
前記方位取得手段は地磁気を検出することにより前記方位情報を取得することを特徴とする請求項１乃至１０のいずれか１項に記載の撮像装置。
【請求項１２】
前記方位取得手段は地磁気を検出することにより前記方位情報を取得し、
前記方位取得手段により検出される地磁気の変化が所定の条件を満たす場合、前記表示制御手段は、前記方位取得手段の出力に補正が必要である旨をユーザに通知することを特徴とする請求項１０に記載の撮像装置。
【請求項１３】
被写体を撮像して画像データを生成する撮像ステップと、
方位情報を取得する方位取得ステップと、
自機の位置情報を取得する第１の位置取得ステップと、
前記被写体の位置情報を取得する第２の位置取得ステップと、
前記画像データから前記被写体を検出する検出ステップと、
前記第１の位置取得ステップで得られる位置情報と前記第２の位置取得ステップで得られる位置情報とに基づき決定される方位情報の示す方向と、前記方位取得ステップで取得される方位情報の示す方向との差を決定する決定ステップと、
前記決定ステップで決定された差を保持する保持ステップと、
前記方位取得ステップで取得される方位情報を、前記保持ステップで保持される差で補正する補正ステップと、
前記補正ステップで補正された方位情報と、前記撮像ステップで生成された画像データとを記録媒体に記録する記録制御ステップとを有する撮像装置の制御方法。
【請求項１４】
コンピュータを請求項１乃至１２のいずれか１項に記載の撮像装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直感的なキャリブレーション方法を提供するデジタルカメラに関する。
【背景技術】
【０００２】
近年、デジタルカメラに地磁気を検出することで方位情報を出力可能な電子コンパスを搭載し、撮像方向を示す方位情報を画像と共に記録することが行われている。例えば、特許文献１ではデジタルカメラに地磁気を検出することで方位を算出することが可能な方位センサを搭載し、撮像した画像に撮像方向を示す方位情報を付加することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１１−５３０８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的に方位センサは地磁気のみならず、周囲の環境磁場の影響を受けやすい。そのため、方位センサが検出する磁界のうち、環境磁場の磁気成分を補正しなければ、正確な方位を算出することできない。この補正のためには、方位センサを３次元的に異なる複数の姿勢にして、磁界の成分のうち３次元の各軸方向の磁界成分を検出し、環境磁場の影響を取り除くためのパラメータを算出する必要があった。つまり、ユーザは方位センサを搭載する筺体を８の字に振る、いわゆるキャリブレーションの操作が必要であった。
【０００５】
しかしながら、筺体を様々な姿勢に変化させるキャリブレーションの操作は、必ずしも簡単な操作であるとは言えず、むしろデジタルカメラを扱うユーザにとって手間のかかる操作であると考えられる。例えば、カメラを首からストラップでぶら下げた状態であれば、カメラを大きく振ることが困難な場合があるし、カメラを手に持った状態で振れば、滑って落としてしまう恐れもある。特に、デジタルカメラは、大きなストロボや三脚といった周辺機器を取り付けて使用するシーンがあるため、従来のキャリブレーション操作を行うことが現実的ではない場合があった。
【０００６】
そこで、本発明では、より簡単な操作でキャリブレーションを可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本願発明の撮像装置は、被写体を撮像して画像データを生成する撮像手段と、方位情報を取得する方位取得手段と、自機の位置情報を取得する第１の位置取得手段と、前記画像データから前記被写体を検出する検出手段と、前記検出手段による検出の結果に応じて、前記被写体の位置情報を取得する第２の位置取得手段と、前記第１の位置取得手段により得られる位置情報と前記第２の位置取得手段により得られる前記被写体の位置情報とに基づき決定される方向と、前記方位取得手段により取得される方位情報の示す方向との差を決定する決定手段と、前記決定手段により決定された差を保持する保持手段と、前記方位取得手段により取得される方位情報を、前記保持手段により保持されている差を用いて補正する補正手段と、前記補正手段により補正された方位情報と、前記撮像手段により生成された画像データとを記録媒体に記録する記録制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、より簡単な操作でキャリブレーションが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態におけるデジタルカメラのブロック図である。
【図２】第１の実施形態におけるデジタルカメラのライブビュー画面の一例を示す図である。
【図３】（ａ）、（ｂ）第１の実施形態におけるデジタルカメラの電子コンパスの機能に関するメニュー画面の一例を示す図である。
【図４】（ａ）、（ｂ）第１の実施形態におけるデジタルカメラでのキャリブレーション時のガイダンス画面の一例である。
【図５】第１の実施形態におけるデジタルカメラにおいて方位情報の補正量を算出する手順を説明するための図である。
【図６】第１の実施形態におけるデジタルカメラでのキャリブレーション時の動作を示すフローチャートである。
【図７】第１の実施形態におけるデジタルカメラの撮像時の動作を示すフローチャートである。
【図８】第１の実施形態におけるデジタルカメラのキャリブレーションの必要性を通知するための画面の一例を示す図である。
【図９】（ａ）、（ｂ）第２の実施形態におけるデジタルカメラのキャリブレーションの手順を説明するための図である。
【図１０】第２の実施形態におけるデジタルカメラの撮像時の動作を示すフローチャートである。
【図１１】その他の実施形態におけるデジタルカメラのキャリブレーションの手順を説明するための図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【００１１】
［第１の実施形態］
＜デジタルカメラの構成＞
図１は、本実施形態の撮像装置の一例であるデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは撮像装置の一例としてデジタルカメラについて述べるが、撮像装置はこれに限られない。例えば撮像装置はカメラ付きの携帯電話や、いわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
【００１２】
制御部１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１３】
撮像部１０２は、例えば、着脱可能な光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光（映像）を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）や、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）が利用される。撮像部１０２は、制御部１０１に制御されることにより、撮像部１０２に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ１００では、画像データは、ＤＣＦ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  ｓｙｓｔｅｍ）の規格に従ったファイル形式で生成され、記録媒体１１０に記録される。
【００１４】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。
【００１５】
作業用メモリ１０４は、撮像部１０２で撮像された画像データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１６】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮像を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がＯＮとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮像準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がＯＮとなる。これにより、撮像を行うための指示を受け付ける。
【００１７】
表示部１０６は、撮像の際のビューファインダー画像の表示、撮像した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００が内蔵する必要はない。デジタルカメラ１００は内部又は外部の表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００１８】
方位取得部１０７は、デジタルカメラ１００がどの方角を向いているかを検出し、方位情報を取得する。方位取得部１０７は例えば電子コンパスで構成される。電子コンパスとは、地磁気センサ、方位センサなどとも呼ばれ、地球の地磁気を検出することができるデバイスの総称である。電子コンパスは、地磁気を２次元、または、３次元で検出し、地磁気に対して、電子コンパスのデバイス自体がどの方角を向いているかを検出することができる。この方位情報は、定期的に取得され、作業用メモリ１０４に記録される。既に作業用メモリ１０４に方位情報が記録されている場合は、新たに取得した方位情報で上書きする。このような処理により、作業用メモリ１０４には、常に最新の方位情報が保持されることとなる。なお、方位取得部１０７は、ジャイロセンサ等の動き検出センサ、または電子コンパスと動き検出センサとの組み合わせで構成されてもよい。本実施形態では、この方位取得部１０７は、デジタルカメラ１００のレンズ光軸方向を示すよう撮りつけられているものとする。
【００１９】
位置取得部１０８は、測位処理を行う。測位処理とは、ＧＰＳ衛星から信号を受信し、受信した信号からデジタルカメラ１００の位置を示す位置情報を取得する処理である。本実施形態では、位置情報は、緯度・経度の座標で表される。この位置情報は、定期的に取得され、作業用メモリ１０４に記録される。既に作業用メモリ１０４に位置情報が記録されている場合は、新たに取得した位置情報で上書きする。このような処理により、作業用メモリ１０４には、常に最新の位置情報が保持されることとなる。なお、位置取得部１０８は、例えば携帯電話の基地局といった外部装置などから位置情報を取得する装置や、加速度センサとＧＰＳとの組み合わせで構成されてもよい。この位置取得部１０８にて取得された位置情報は、デジタルカメラ１００の現在位置を示す現在位置情報として用いたり、撮像部１０２により取得された画像に撮像位置を示す撮像位置情報として付加したりすることができる。
【００２０】
姿勢検出部１０９は、デジタルカメラ１００の姿勢を検出する。姿勢検出部１０９には例えば加速度センサを用いることができる。
【００２１】
記録媒体１１０は、撮像部１０２から出力された画像データを記録することができる。制御部１０１は、記録媒体１１０にデータを記録するための記録制御を実行する。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００２２】
アクセサリ装着部１１１は、外部アクセサリをデジタルカメラ１００に固定するための固定具である。例えば、アクセサリ装着部１１１は、ストロボ装置等の周辺機器を固定可能なアクセサリシュー等である。なお、このアクセサリ装着部１１１は、制御部１０１と電気的に接続し通信するための接点も有する。これにより制御部から外部アクセサリを制御することができる。
【００２３】
ＲＴＣ１１２は現在時刻を計時する計時部である。制御部１０１は、必要に応じてＲＴＣ１１２から現在時刻を示す時刻情報を読み出す。
【００２４】
＜ライブビュー表示＞
次に、デジタルカメラ１００の表示部１０６に表示されるライブビュー画面について説明する。撮像モードのデジタルカメラ１００では、撮像部１０２を常時駆動し、一定の間隔で撮像動作を行う。制御部１０１は撮像動作に同期して画像処理を行い、表示部１０６にスルー画像として出力する。この結果、表示部１０６に表示される画像は順次リアルタイムに更新され、ライブビュー画面が実現する。
【００２５】
本実施形態のデジタルカメラ１００におけるライブビュー画面では、方位取得部１０７で取得された方位に関する情報や、位置取得部１０８で取得された位置に関する情報がリアルタイムに表示される。例えば、図２のような画面が表示される。
【００２６】
図２の例では、左下の領域２０１に位置取得部１０８から出力された、緯度／経度／高度／測位時間等の情報を文字で表示する。また、右上の領域２０２に方位取得部１０７および姿勢検出部１０９から出力されたデータを演算して得られる方位情報が表示される。本実施形態では、得られた撮像方向の方位情報はコンパスを模した態様で表示する。これにより、ユーザが直感的に撮像方向を把握できる。
【００２７】
＜キャリブレーション操作の概要＞
次に、本実施形態におけるキャリブレーションの際にユーザが行う操作について、その概要を説明する。
【００２８】
まず、ユーザが操作部１０５を操作して、表示部１０６に表示された設定メニューから、方位取得部の設定メニューを選択する。図３（ａ）は方位取得部の設定メニューの表示例である。図３（ａ）のメニューから、キャリブレーションメニュー３０１を選択すると、図３（ｂ）のようなダイアログ画面が表示される。この画面で、ユーザが操作部１０５を介してＯＫボタンを選択することでキャリブレーションモードがスタートする。
【００２９】
続いて、キャリブレーションモードについて説明する。図４（ａ）はキャリブレーションモードにおいて表示部１０６に表示される画面の一例である。キャリブレーションモードにおいて、表示部１０６には、いわゆるライブビュー画面が表示される。更に、キャリブレーションモードにおける表示部１０６の表示では、撮像モードとは異なり、キャリブレーションのための操作を促すガイダンスメッセージと、画面中央部にフレーミング補助用の枠をスルー画像に重畳して表示する。
【００３０】
本実施形態のデジタルカメラでは、位置が既知の被写体をフレーミング補助用のガイド枠内に写るようにカメラを構えることでキャリブレーションを行う。デジタルカメラでは一般に、通常レンズでの撮像においては、撮像画像の中心が光軸の向きと一致するようになっている。そのため、位置が既にわかっている被写体を画面の中心に来るように撮像すれば、位置取得部１０８により得られる自機の位置と、被写体の位置とから、光軸がどちらを向いているかを正確に算出することができる。
【００３１】
ここで、算出方法について説明する。なお、本実施形態では、位置が既に分かっている被写体として、太陽を利用する場合を例に挙げて説明する。
【００３２】
図５は、本実施例における方位の補正方法の原理を説明する概念図である。図５では、撮像位置を中心とし、半径を規格化した球体を考える。
【００３３】
撮像位置から見た太陽の方向は、位置取得手段の出力に含まれる、撮像位置の位置情報と撮像時の時刻情報があれば、既知の太陽の軌道の演算式を用いて正確に算出可能である。これが、被写体の向きＳベクトルとなる。
【００３４】
上記のように、本実施形態の説明では太陽を例に挙げて説明するが、位置が既知であるものならば、これに限られるものではない。例えば、月や他の天体を被写体としたときも、天体の軌道の演算式から、同様に方位が算出可能である。太陽や月のように地上から大きく見える天体は、形状や背景とのコントラスト等、被写体として認識しやすいため、特定の被写体として都合が良い。もちろん、特定の被写体としてはこのような天体に限定されなくてもよく、被写体の位置が得られるものであれば他の被写体を採用しても構わない。例えば、東京タワーやエッフェル塔、自由の女神等、ランドマークの位置情報を予め記録しておき、撮像時の位置情報と、ランドマークの位置情報とから、被写体方位を算出するようにしてもよい。なお、ランドマークを利用する場合には、画像認識によりランドマークを自動的に決定するようにしてもよいし、予め記録してあるランドマークから任意のランドマークを選び、ユーザがそのランドマークの被写体を撮像するようにしてもよい。
【００３５】
さらに、撮像時の加速度センサの出力から、重力加速度の向きＧベクトルを算出し、Ｇベクトルを法線として持つ水平面を考える。被写体の向きＳベクトルの水平面上のベクトルが被写体の方位を示すベクトルである。そして、被写体の方位をもとに、基準となる真北の方位を示すベクトル（Ｎベクトル）を算出する。
【００３６】
以上のように、まずは、現在位置と被写体位置とから、撮像方向を求める。
【００３７】
次に、方位取得部１０７の出力から撮影方向を求める。具体的には、方位取得部１０７の出力ベクトルの水平面の成分を算出する。算出された値は、環境磁場の影響を受けた磁北の向きＮ‘ベクトルとなる。なお、方位取得部１０７は地磁気を検出するため、仮に環境磁場の影響をキャンセルしたとしても、真北ではなく磁北を「北」として決定する。本実施形態では、この真北と磁北の差も、環境磁場の影響と併せて補正する。
【００３８】
最後に、上記の手順で求められた、ＮベクトルとＮ’ベクトルのなす角を求める。この角度が、補正すべき補正量となる。
【００３９】
以上が、算出方法の説明である。
【００４０】
続いて、この太陽を利用したキャリブレーションの際のユーザ操作について説明する。
【００４１】
キャリブレーションモードがスタートすると、ユーザは、図４（ａ）の表示領域中のガイダンスに従い、横位置にカメラを構え、フレーミング補助用のガイド枠４０１の中に太陽が表示されるようにカメラの姿勢や向きを調整する。カメラがガイド枠４０１内に太陽があることを認識すると、上記の手順によって、ガイド枠４０１内に太陽が収まったと判断されたタイミングでの時刻や自機の位置が読み出され、カメラ横位置における補正量を算出する。なお、太陽の認識には、例えば輝度やコントラストの差等を用いた既存のアルゴリズムを利用する。続いて、画面は図４（ｂ）に移行する。続いて、ユーザは図４（ｂ）のガイダンスに従い、縦位置にカメラを構えて、フレーミング補助表示の中に太陽が表示されるようにフレーミングをする。そして、同様に上記の手順によって、カメラ縦位置における補正量を算出する。各補正量の算出が完了すると、キャリブレーションモードが終了する。なお、ここで縦位置と横位置の二種類の姿勢でフレーミングさせるのは、環境磁場の影響をより正確に補正するためである。というのも、環境磁場とは、カメラ筺体の周囲の磁界のみならず、カメラ本体が内部に保有する磁界も含まれ、それらが加算されたものだからである。つまり、カメラ筺体が縦位置であるか横位置であるかに応じて、カメラ周囲の磁界とカメラ本体の磁界との関係が変化し、その結果、方位取得部１０７により検出される磁界も変化することになる。この違いを検出するために、本実施形態では、デジタルカメラ１００が撮影の際に利用される頻度の高い横位置と縦位置について、それぞれの補正量を算出する。
【００４２】
キャリブレーションモードによって、縦位置／横位置での補正量が求められると、以降、この補正量を用いて方位取得部１０７の出力を補正することで、真北を基準にした正確な方位を求めることが可能となる。カメラの姿勢がキャリブレーションモードにおける横位置撮像／縦位置撮像の角度と同一にならない場合には、算出した横位置／縦位置の補正量の両方を用いて、撮像時のカメラの姿勢に応じた補正量を求めて補正する。
【００４３】
＜キャリブレーション時のカメラの動作＞
次に、上記の動作を実現するためのデジタルカメラにおいて実行される処理について説明する。図６はキャリブレーションモードのときのカメラの動作を示すフローチャートである。なお、本フローチャートに示す処理は、デジタルカメラ１００の制御部１０１が入力信号やプログラムに従い、デジタルカメラ１００の各部を制御することにより実現される。特に断らない限り、デジタルカメラ１００の処理を示す他のフローチャートでも同様である。
【００４４】
また、本フローチャートは、例えば操作部１０５を介したユーザのメニュー操作等によって、キャリブレーションモード開始の指示を受け付けることに応じて開始される。
【００４５】
まず、ユーザ操作に従ってキャリブレーションモードが開始されると、制御部１０１は、ステップＳ６０１で横位置における補正量の取得のためのキャリブレーションガイダンス画面を、表示部１０６に表示させる。これにより、例えば図４（ａ）のような画面が表示される。
【００４６】
続いて、ステップＳ６０２では、制御部１０１は、更新されるスルー画像に対して画像認識の処理を実行し、表示領域内の太陽の位置を検出する。前述のように、ここではスルー画像中の被写体が太陽か否かを判断するために、既知のアルゴリズムを用いる。そして制御部１０１は、この検出結果に従って、画面の所定領域内に太陽が表示されているか否かを判断する。なお、本実施形態における所定領域とは、例えば図４（ａ）のフレーミング補助用のガイド枠４０１内の領域である。具体的には、検出された太陽の表示領域中の位置と、ガイド枠内の領域とに基づき、太陽の位置がガイド枠内に収まっているかどうかを判断する。
【００４７】
制御部１０１が、所定領域内に太陽が表示されていると判断すると、処理はステップＳ６０３に進む。
【００４８】
ステップＳ６０３では、制御部１０１は、ＲＴＣ１１２が計時する現在時刻を読み出し、現在時刻に対応する太陽の位置を計算する。なお、太陽の軌道を計算するための演算式は、予め記録媒体１１０に保持しているものとする。
【００４９】
続いて、ステップＳ６０４では、制御部１０１は、位置取得部１０８の出力を読み出し、自機の現在位置を算出する。
【００５０】
ステップＳ６０５にて制御部１０１は、ステップＳ６０３で得た太陽の位置と、ステップＳ６０４で得た自機の位置とに基づき、自機の向いている方向、すなわちレンズ光軸方向を算出する。
【００５１】
続くステップＳ６０６にて、制御部１０１は、方位取得部１０７からの出力に基づき、方位情報を算出する。
【００５２】
そして、ステップＳ６０７にて、制御部１０１は、ステップＳ６０５で算出したレンズ光軸方向と、ステップＳ６０６で算出した方位情報との差分を計算し、横位置の補正量を求める。具体的な算出方法は、図５を用いて前述したとおりである。
【００５３】
続いて、ステップＳ６０８〜ステップＳ６１４では、縦位置での補正量を算出するために、ステップＳ６０１〜ステップＳ６０７と同様の処理が実行される。
【００５４】
最後に、ステップＳ６１５にて、制御部１０１は、ステップＳ６０７およびステップＳ６１４で得られた横位置／縦位置におけるそれぞれの補正量を作業用メモリ１０４に記録し、処理を終了する。
【００５５】
＜撮像処理＞
続いて、上記の処理によって求められた補正量の利用について、撮像処理を例に挙げて説明する。
【００５６】
図７は撮像モードのときのカメラの動作を示すフローチャートである。本フローチャートは、デジタルカメラ１００が撮像モードとなることに応じて開始される。
【００５７】
まず、ステップＳ７０１にて、制御部１０１は、撮像部１０２から出力される画像データを、表示部１０６にスルー画像として表示する。このステップの処理は後述のステップＳ７０２〜ステップＳ７０９と並行して実行される。
【００５８】
次に、ステップＳ７０２では、制御部１０１は、ＳＷ１がＯＮとなったか否かを判断する。制御部１０１が、ＳＷ１がＯＮとなっていないと判断した場合、処理はステップＳ７０２に戻る。一方、制御部１０１が、ＳＷ１がＯＮとなったと判断した場合、処理はステップＳ７０３に進む。ステップＳ７０３では、制御部１０１は、撮像部１０２を用いてＡＦ処理やＡＥ処理等の撮像準備を行う。
【００５９】
次に、ステップＳ７０４にて制御部１０１は、ＳＷ２がＯＮとなったか否かを判断する。制御部１０１がＳＷ２がＯＮとなっていないと判断した場合、処理はステップＳ７０５に進む。
【００６０】
ステップＳ７０５では、制御部１０１は、ＳＷ１がＯＮとなっているか否かを判断する。制御部１０１が、ＳＷ１がＯＮとなっていないと判断した場合、処理はステップＳ７０２に戻る。一方、制御部１０１が、ＳＷ１がＯＮとなっていると判断した場合、処理はステップＳ７０４に戻る。
【００６１】
ステップＳ７０５にて、制御部１０１が、ＳＷ２がＯＮとなったと判断した場合、処理はステップＳ７０６に進む。ステップＳ７０６では、制御部１０１は、撮像部１０２を用いて撮像を行い、画像データを取得する。
【００６２】
ステップＳ７０７では、制御部１０１は、方位取得部１０７から方位情報を取得する。続くステップＳ７０８で、制御部１０１は、予め算出しておいた補正量を作業用メモリ１０４から読み出し、ステップＳ７０７で取得された方位情報を補正する。
【００６３】
最後にステップＳ７０９にて、制御部１０１は、ステップＳ２０７で得られた画像データを、ステップＳ７０８で補正済みの方位情報と共に、記録媒体１１０に保存する。このステップの処理が終了すると、処理はステップＳ２０１に戻る。
【００６４】
なお、本フローチャートの処理は、他のモードに遷移する指示を受け付けたことや、電源ＯＦＦの指示を受け付けたこと、電池残量が所定量以下となったこと等をトリガとして、終了する。
【００６５】
以上が、撮像モードにおけるデジタルカメラの動作である。
【００６６】
なお、上記のように求めた補正量は、常に使用可能とは限らない。たとえば、キャリブレーションを行った位置から遠く離れた場所に移動した場合は、磁北と真北のなす角（偏角）が移動前の偏角と異なるため、正確な補正ができなくなる。また、デジタル一眼レフカメラ等では、レンズやストロボなどのアクセサリを着脱した場合に環境磁場が大きく変化する可能性があり、変化前の補正量では正確な補正が不可能となる。これらの場合、再び正確な方位を利用するためには、再度キャリブレーションを行い、現在の（すなわち変化後の）環境磁場の影響を補正する必要がある。そこで、方位取得手段により検出される磁界の変化が所定の条件を満たすか否かを判断し、ユーザにキャリブレーションの実行を促す警告表示を行うようにしてもよい。図８は警告表示の一例である。図８の例では、通常時に方位情報を表示していた領域に、アイコン８０１を併せて表示することで、キャリブレーショの必要性をユーザに通知する。ユーザは警告表示を確認した後、再度ＧＵＩを操作してキャリブレーションモードを実行することで、再び正確な方位を得ることが可能になる。なお、所定の条件とは、例えば磁界の変化の程度（変化量等）が所定のレベルを超えるか否か等である。
【００６７】
このように、本実施形態では、位置が既知の被写体と、自機の位置とを利用して、方位センサのキャリブレーションを行う。これにより、デジタルカメラ本体を様々な姿勢にすることなく、簡単な操作でキャリブレーションが可能となる。特に、カメラを利用するユーザにとって自然な、撮像という行為を以てキャリブレーションを行うことができる。
【００６８】
［第２の実施形態］
本実施形態では、通常の撮像時に、自動的に方位情報を補正する方法について説明する。
【００６９】
通常の撮像においては、撮像画像中にその方位が算出可能な被写体が含まれていたとしても、画面中央に該当する被写体が含まれているとは限らない。そこで、本実施形態においては、撮像するレンズの画角と、撮像素子の大きさと、画像と、画像上で該当する被写体が画面中心（光軸方向）からどの程度ずれているかを計算することによって、レンズ光軸方向を算出する。
【００７０】
図９は撮像画像中の特定被写体認識、および特定被写体方位算出方法を説明する概念図である。本実施形態においても、第１の実施形態と同様に、特定の被写体として太陽を例に挙げる。
【００７１】
まず、デジタルカメラ１００は、図９の画像に対して、画像認識の処理を実行し、画像から太陽を検出する。検出においては、被写体が太陽であるか否かだけでなく、その表示位置も検出される。なお、この検出に関して、位置取得部１０８から出力された位置情報や時刻情報、さらにレンズの情報を用いて、おおよその被写体の大きさや明るさを判断し、画像認識の精度を高めるようにしてもよい。
【００７２】
その後、第１の実施形態と同様に、被写体の方位を算出する。ここで注意が必要なのは、本実施形態では、被写体が画角中央に表示されていないため、被写体の方位と、実際のレンズ光軸方向とにズレが生じる点である。この時点では、まだ実際のレンズ光軸方向は求められない。
【００７３】
そこで、本実施形態のデジタルカメラ１００では、被写体を認識した後、光軸中心から、認識した被写体への向きからレンズ光軸方向がどのくらいの角度ずれているかを算出する。通常のレンズを使用して撮像した画像では、図９（ａ）のように、光軸中心と画像の中心は一致する。姿勢検出部１０９を用いてデジタルカメラ１００の姿勢を検出すると、画像上に地面と水平な線を引くことができる。光軸中心から検出した被写体へ向かうベクトルに対し、水平な線上の成分を求め、画像上の表示位置とレンズの画角との関係から角度に換算し、光軸中心からの角度のずれΔθを算出する。図９（ｂ）は図９（ａ）の画面が写っているデジタルカメラ１００のレンズ光軸方向と、被写体の方向のずれを図示したものである。
【００７４】
このようにして求めたΔθを用いてレンズ光軸方向の値を補正することで、光軸中心の方位を算出する。
【００７５】
上記の処理を実現するためのデジタルカメラ１００の動作について説明する。
【００７６】
図１０は、本実施形態におけるデジタルカメラ１００の動作を示すフローチャートである。
【００７７】
ステップＳ１００１〜ステップＳ１００６は、図７のステップＳ７０１〜ステップＳ７０６と同様の処理が実行される。
【００７８】
ステップＳ１００７〜ステップＳ１００９では、図６のステップＳ６０３〜ステップＳ６０５と同様の処理が実行される。
【００７９】
続くステップＳ１０１０では、制御部１０１は、ステップＳ１００６で得られた画像に対して画像認識の処理を実行する。ここでは、図９で説明したように、太陽の表示の位置を計算し、自機の位置から太陽の位置への方向とレンズ光軸方向とのズレ量を算出する。
【００８０】
そして、ステップＳ１０１１にて、制御部１０１は、ステップＳ１０１０で算出したズレ量を用いて、ステップＳ１００９で算出したレンズ光軸方向を修正する。
【００８１】
続くステップＳ１０１２では、制御部１０１は、ステップＳ１０１１で修正したレンズ光軸方向と、方位取得部１０７から取得される方位との差を、補正量として算出する。そして、ステップＳ１２１３では、制御部１０１は、算出した補正量を作業用メモリ１０４に記録する。
【００８２】
ステップＳ１０１４〜ステップＳ１０１５では、ステップＳ１０１２で算出された補正量を用いて補正された方位取得部１０７の出力を、ステップＳ１００６で得られた画像と共に、記録媒体１１０に記録し、処理はステップＳ１００１に戻る。
【００８３】
なお、本フローチャートの処理は、他のモードに遷移する指示を受け付けたことや、電源ＯＦＦの指示を受け付けたこと、電池残量が所定量以下となったこと等をトリガとして、終了する。また、本実施形態では、横位置撮像時を例に挙げて説明したが、縦位置撮像でも同様の手順であるため、説明は省略する。
【００８４】
以上のように、本実施形態のデジタルカメラ１００では、撮像の際に写った画像上の被写体から、方位を補正するための補正量を算出する。そのため、ユーザはキャリブレーションの操作を意識することなく、正確な方位を利用することができる。
【００８５】
［その他の実施形態］
上述の実施形態において、ステップＳ６０２では、太陽を認識することをトリガとして処理を進めたが、この態様に限られるものではない。例えば、太陽がフレーミング補助表示枠内に表示されただけでは処理を進めず、その状態でレリーズスイッチの押下を検知したことに応じて処理を進めてもよい。
【００８６】
また、上述の第１の実施形態では画像全体に画像認識を行い、表示領域内の太陽の表示位置を検出する例について述べた。これについては、例えば所定の領域内のみに画像認識を行うようにしてもよい。このように画像認識を行う範囲を限定することで、所定の領域内に太陽が表示されているか否かを判断することと、処理の負荷を低減することとを両立することができる。
【００８７】
また、上述の実施形態では太陽を用いてキャリブレーション撮像を行う例について述べた。太陽を利用する場合、光学ファインダーを誤ってのぞき込むとユーザの目に強い光が集光される恐れがある。そこで、キャリブレーションモードにおいては、強制的に光学ファインダーへの入光を行わないよう制御してもよい。あるいは、表示部１０６に表示される太陽の写る画面がまぶしく感じられる可能性も考えられる。そこで、例えばキャリブレーションモードでは、ユーザの設定を無視して、表示部１０６の輝度を一般にユーザがまぶしくないと感じられる所定の値以下に低下させるよう制御してもよい。なお、当然キャリブレーションモードから、例えば撮影モードや再生モードに遷移した場合、表示部１０６の輝度を元に戻す。
【００８８】
また、太陽を被写体として用いる場合、ＣＣＤに対しても影響を与える恐れがある。そこで、例えばキャリブレーションモードでは、被写体である太陽にピントを合わせないよう制御してもよい。これにより、受光部の一部に光が集中することを防ぐことができる。更に、キャリブレーションモードでは、絞り値（Ｆ値）を、調整することにより入光量を制御してもよい。これにより、太陽の光量によるＣＣＤへの影響を低減することができる。
【００８９】
上述の第２の実施形態では、通常の撮像時に被写体の認識を行う場合を例に挙げて説明したが、第１の実施形態に示すキャリブレーションモードにおいて同様の被写体認識を行い、光軸中心からの角度のずれ量Δθを補正してもよい。
【００９０】
また、上述の第２の実施形態ではレンズ光軸中心と画像の中心とが一致していることを前提にして説明した。しかしながら、シフトレンズやチルトレンズでは、撮像装置の姿勢に対して、光軸中心と画像の中心が一致しないことがある。そこで、デジタルカメラ１００に装着されているレンズがシフトレンズやチルトレンズであるか否かを判断し、シフトレンズやチルトレンズが装着されている場合は、シフト量、チルト量を考慮に入れて計算するようにしてもよい。図１１はシフトレンズを使用した場合の原理を説明する概念図である。図１１において、画面上方向にシフトしているため、画像において画像中心の下方向に光軸中心が存在する。この距離がシフト量となる。図９の時と同様に画像認識によって被写体を認識した後、画像中心と被写体とのずれ量を算出するのではなく、シフト量分だけシフトした光軸中心から、角度のずれ量Δθを算出する。場合によっては、画像の範囲外に光軸中心がシフトしてしまうこともあるが、その場合は画像を拡大して考えて、ずれ量Δθを算出する。なお、撮像レンズにはディストーション等の収差が存在し、撮像画像にゆがみが生じ、画像において見掛け上の被写体の位置がずれる場合がある。この場合には、必要に応じてその補正を行う必要がある。具体的には、撮像レンズと通信を行い、レンズの種類／ズーム位置／フォーカス位置等の情報を入手する。カメラ本体には、レンズの種類毎、状態毎に補正量のテーブルを持っており、それに従って撮像画像上の所望の被写体の位置を補正する。
【００９１】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014236319.tif 000003
【図２】
2014236319.tif 000004
【図３】
2014236319.tif 000005
【図４】
2014236319.tif 000006
【図５】
2014236319.tif 000007
【図６】
2014236319.tif 000008
【図７】
2014236319.tif 000009
【図８】
2014236319.tif 000010
【図９】
2014236319.tif 000011
【図１０】
2014236319.tif 000012
【図１１】
2014236319.tif 000013