(57)【特許請求の範囲】
【請求項１】
被写体を撮像して画像データを取得する撮像手段と、
前記撮像手段により画像データを取得するための準備動作を開始する指示を受け付ける第１の撮像指示受け付け手段と、
前記撮像手段により画像データを取得する指示を受け付ける第２の撮像指示受け付け手段と、
前記第２の撮像指示受け付け手段により指示を受け付けた場合、第１の位置情報を取得する第１の位置取得手段と、
前記撮像手段により取得した画像データと、前記第１の位置情報とを対応付けて記録媒体に記録する対応付け手段と、
前記第１の撮像指示受け付け手段により指示が受け付けられた後であり、かつ前記第２の撮像指示受け付け手段により指示が受け付けられる前に、第２の位置情報を取得する第２の位置取得手段と、
前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れているか否かを判断する判断手段と、
前記第１の位置情報を、前記画像データに対応づけるか否かを選択するための指示を受け付ける選択受け付け手段とを有し、
前記対応付け手段は、前記選択受け付け手段により、前記第１の位置情報を前記画像データに対応づける指示が受け付けられたことに応じて、前記画像データを前記第１の位置情報と対応づけて記録媒体に記録し、
前記対応付け手段は、前記選択受け付け手段により、前記第１の位置情報を前記画像データに対応づけない指示が受け付けられたことに応じて、前記画像データを前記第１の位置情報と対応づけずに記録媒体に記録し、
前記選択受け付け手段は、前記判断手段により前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れていると判断された場合に、前記指示を受け付けることを特徴とする撮像装置。
【請求項２】
前記判断手段により前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れていると判断された場合、ユーザにその旨を通知する通知手段を更に有することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記判断手段により前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れていると判断された場合、前記第１の位置取得手段は、再度、第１の位置情報を取得することを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記第２の撮像指示受け付け手段により指示が受け付けられた場合、第１の計時を開始する第１の計時手段をさらに有し、
前記第１の計時手段により計時が開始されてから所定の時間以上が経過している場合、前記第１の位置取得手段は、再度、前記第１の位置情報を取得しないことを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記第１の撮像指示受け付け手段により指示が受け付けられた場合、第２の計時を開始する第２の計時手段と、
前記第２の位置情報を保持する保持手段とをさらに有し、
前記第２の計時手段により計時が開始されてから所定の時間が経過する前に前記第１の撮像指示受け付け手段により指示が受け付けられた場合、前記第２の計時手段は新たに計時を開始せず所定の時間が経過するまで計時を継続し、
前記第２の計時手段により計時が開始されてから所定の時間が経過する前であり、かつ前記保持手段に前記第２の位置情報が保持されていた場合、
前記判断手段は、前記第１の位置情報が示す位置と前記保持手段に保持されている第２の位置情報が示す位置とが所定の距離以上離れているか否かを判断することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記第１の位置取得手段は、複数の位置情報を取得し、
前記判断手段は、前記第１の位置取得手段により取得される複数の位置情報が示す位置のうち、前記第２の位置情報が示す位置に最も近い位置が前記第２の位置情報が示す位置から所定の距離以上離れているか否かを判断することを特徴とする請求項１乃至５のいずれか１項に記載された撮像装置。
【請求項７】
前記対応付け手段は、前記画像データと、前記第２の位置取得手段により取得された位置情報とを対応付けることを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記第２の位置取得手段は、記第１の撮像指示受け付け手段により指示が受け付けられた後であり、かつ前記第２の撮像指示受け付け手段により指示が受け付けられる前に、取得される複数の位置情報に基づき前記第２の位置情報を決定することによって取得することを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
前記対応付け手段は、前記画像データと、前記第２の位置情報を決定するために利用した複数の位置情報とを対応づけることを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記第１の位置情報、及び前記第２の位置情報は、緯度と経度の値を含むことを特徴とする請求項１乃至９のいずれか１項に記載された撮像装置。
【請求項１１】
前記第２の位置取得手段は、複数の位置情報の緯度の平均値、および複数の位置情報の経度の平均値を、第２の位置情報として取得することを特徴とする請求項１０に記載の撮像装置。
【請求項１２】
前記第２の位置取得手段は、複数の位置情報の緯度の中央値、および複数の位置情報の経度の中央値を、第２の位置情報として取得することを特徴とする請求項１０に記載の撮像装置。
【請求項１３】
被写体を撮像して画像データを取得する撮像工程と、
前記撮像工程にて画像データを取得するための準備動作を開始する指示を受け付ける第１の撮像指示受け付け工程と、
前記撮像工程にて画像データを取得する指示を受け付ける第２の撮像指示受け付け工程と、
前記第２の撮像指示受け付け工程にて指示を受け付けた場合、第１の位置情報を取得する第１の位置取得工程と、
前記撮像工程にて取得した画像データと、前記第１の位置情報とを対応付けて記録媒体に記録する対応付け工程と、
前記第１の撮像指示受け付け工程にて指示が受け付けられた後であり、かつ前記第２の撮像指示受け付け工程にて指示が受け付けられる前に、第２の位置情報を取得する第２の位置取得工程と、
前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れているか否かを判断する判断工程と、
前記第１の位置情報を、前記画像データに対応づけるか否かを選択するための指示を受け付ける選択受け付け工程とを有し、
前記対応付け工程では、前記選択受け付け工程で前記第１の位置情報を前記画像データに対応づける指示が受け付けられたことに応じて、前記画像データを前記第１の位置情報と対応づけて記録媒体に記録し、前記選択受け付け工程で前記第１の位置情報を前記画像データに対応づけない指示が受け付けられたことに応じて、前記画像データを前記第１の位置情報と対応づけずに記録媒体に記録し、
前記選択受け付け工程は、前記判断工程で前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れていると判断された場合に、実行されることを特徴とする撮像装置の制御方法。
【請求項１４】
コンピュータを請求項１乃至１２のいずれか１項に記載の撮像装置として動作させるためのコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置情報を取り扱い可能な撮像装置、及びその制御方法とそのプログラムに関するものである。
【背景技術】
【０００２】
近年、デジタルカメラ等の電子機器において、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等の位置情報を取得できる装置により、撮影された画像データに位置情報を撮影位置として対応付ける技術が提案されている（特許文献１参照）。このように、画像データに撮影位置を対応付けることによって、画像データを再生する際に、撮影した場所を知ることができる。しかしながら、実際に画像データを撮影した位置と画像データに対応付けされた位置情報が示す位置との間に予期せぬ誤差が生じる場合がある。例えば、ＧＰＳは複数の衛星から電波を受信して位置情報を算出している。その際、電離層や対流圏での電波特性の変化により電波伝播速度の遅延の影響や、ビル等による電波の反射の影響を受ける。これらの影響により、実際の撮影位置から大きく離れた位置を示す位置情報が画像データに対応付けられることがあった。
【０００３】
特許文献２では、このような課題に対して、画像に対応付けされた位置情報の誤差を補正する手法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２０１６６公報
【特許文献２】特開２００７−２７４２４５公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２に記載の発明では位置情報の誤差をユーザが手動で補正するものであった。すなわち、画像データに対応付けられた位置情報に誤差があるのかは、ユーザが一つ一つの画像データに対応づけられた位置情報を確認して判断しなくてはならず、煩雑であった。
【０００６】
本発明は、このような問題を鑑みてなされたものであり、位置情報に誤差がある可能性をユーザに知らせることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の撮像装置は、被写体を撮像して画像データを取得する撮像手段と、前記撮像手段により画像データを取得するための準備動作を開始する指示を受け付ける第１の撮像指示受け付け手段と、前記撮像手段により画像データを取得する指示を受け付ける第２の撮像指示受け付け手段と、前記第２の撮像指示受け付け手段により指示を受け付けた場合、第１の位置情報を取得する第１の位置取得手段と、前記撮像手段により取得した画像データと、前記第１の位置情報とを対応付けて記録媒体に記録する対応付け手段と、前記第１の撮像指示受け付け手段により指示が受け付けられた後であり、かつ前記第２の撮像指示受け付け手段により指示が受け付けられる前に、第２の位置情報を取得する第２の位置取得手段と、前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れているか否かを判断する判断手段と、前記第１の位置情報を、前記画像データに対応づけるか否かを選択するための指示を受け付ける選択受け付け手段とを有し、前記対応付け手段は、前記選択受け付け手段により、前記第１の位置情報を前記画像データに対応づける指示が受け付けられたことに応じて、前記画像データを前記第１の位置情報と対応づけて記録媒体に記録し、前記対応付け手段は、前記選択受け付け手段により、前記第１の位置情報を前記画像データに対応づけない指示が受け付けられたことに応じて、前記画像データを前記第１の位置情報と対応づけずに記録媒体に記録し、前記選択受け付け手段は、前記判断手段により前記第１の位置情報が示す位置と前記第２の位置情報が示す位置とが所定の距離以上離れていると判断された場合に、前記指示を受け付けることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザは、画像データに対応付けるための位置情報に誤差が生じている可能性があることを知ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明におけるデジタルカメラのブロック図の一例である。
【図２】第１の実施形態におけるデジタルカメラの動作を示すフローチャートである。
【図３】第２の実施形態におけるデジタルカメラの動作を示すフローチャートである。
【図４】第３の実施形態におけるデジタルカメラの動作を示すフローチャートである。
【図５】平均位置の算出方法の一例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
【００１１】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態は適宜組み合わされることも可能である。
【００１２】
［第１の実施形態］
本実施形態では、本発明が適用される撮像装置について述べる。
【００１３】
はじめに、本実施形態の、測位装置を備えた撮像装置の一例である、ＧＰＳを備えたデジタルカメラについて説明する。該デジタルカメラの構成を図１に示す。
【００１４】
デジタルカメラ１００において、中央演算装置（ＣＰＵ）１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、デジタルカメラ１００の制御は本実施形態のＣＰＵ１０１のように一つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。
【００１５】
撮像部１０２は撮影処理を行う。撮影処理とは、撮像部１０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行い、デジタルデータを画像データとして出力する処理である。また、この撮影処理を行うための準備動作も、ＣＰＵ１０１が後述するプログラムに従って撮像部１０２を制御することにより実行される。準備動作はレンズの焦点を被写体に合わせるＡＦ（オートフォーカス）処理、被写体輝度を演算するＡＥ（自動露出）処理、ホワイトバランスを適正な値にするＡＷＢ（オートホワイトバランス）処理、適切に調光するためのＥＦ（フラッシュプリ発光）処理を含む。
【００１６】
不揮発性メモリ１０３は電気的に消去・記録可能なメモリであり、例えばＥＥＰＲＯＭで構成される。不揮発性メモリ１０３は、デジタルカメラ１００の各部を制御するためのプログラム（ファームウェア）や各種の設定情報を記憶している。後述する各フローチャートに示す処理をＣＰＵ１０１の制御により実行するためのプログラムも、この不揮発性メモリ１０３に記録されている。
【００１７】
作業用メモリ１０４は、不揮発性メモリ１０３に保存されているプログラムを、展開・実行するためのメモリである。作業用メモリ１０４はＣＰＵ１０１のワークエリアとして使用される。
【００１８】
表示部１０５は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０５はデジタルカメラ１００が備える必要はなく、デジタルカメラ１００は表示部１０５と接続することができ、表示部１０５の表示を制御する表示制御機能を少なくとも有していればよい。
【００１９】
操作部１０６はユーザがデジタルカメラの動作を指示するために用いられる。操作部１０６は、例えば、デジタルカメラの電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮影した画像データを閲覧するための指示を受け付ける再生ボタン等の操作部材を含むよう構成される。さらに操作部１０６は、撮影指示を行うためのレリーズスイッチを含む。レリーズスイッチは、操作途中いわゆる半押しでＯＮとなるＳＷ１と、操作完了いわゆる全押しでＯＮとなるＳＷ２を含む。ＳＷ１がＯＮとなった場合、前述の準備動作のうちＡＦ処理、ＡＥ処理、ＡＷＢ処理が開始される。ＳＷ２がＯＮとなった場合、ＥＦ処理及び撮影処理が開始される。
【００２０】
記録媒体１０７には、撮像部１０２から出力された画像データや、後述のＧＰＳ１０８にて取得した位置情報を記録することができる。また、本実施形態で扱う画像データは、ヘッダ領域に属性情報として位置情報を記録することができるよう構成される。例えば画像データは、Ｅｘｉｆ形式のようなデータ構造で構成される。記録媒体１０７は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１０７にアクセスする手段を有していればよい。
【００２１】
ＧＰＳ１０８は、測位処理を行う。測位処理とは、ＧＰＳ衛星から信号を受信し、受信した信号からＧＰＳ１０８の位置情報を取得する処理である。ＧＰＳ１０８で取得された位置情報は、画像データに対応づけて記録することができる。本実施形態では、位置情報は、緯度・経度の座標で表される。なお、本実施形態ではＧＰＳを用いたが、必ずしもＧＰＳには限定されず、例えば携帯電話の基地局といった外部装置や加速度センサなどから位置情報を取得する装置であってもよい。また、ＧＰＳ１０８はデジタルカメラ１００に着脱可能でも、内蔵されていてもよい。つまり、デジタルカメラ１００は、少なくとも位置情報を取得する機能を備えていればよい。
【００２２】
計時部１１０は、必要に応じて計時を行う。
【００２３】
以上が、本実施形態におけるデジタルカメラの構成である。
【００２４】
次に、本実施形態におけるデジタルカメラの動作について説明する。本実施形態のデジタルカメラでは、画像に対応付けるための位置情報に対して、自動的に誤差判定を行う。その結果、画像データに対応づけるための位置情報の誤差が大きいと判断された場合は、その旨をユーザに通知する。誤差判定については後述する。このような処理を行うデジタルカメラの動作を示すフローチャートを、図２に示す。
【００２５】
図２のフローチャートの各ステップに示す処理は、ＣＰＵ１０１が、不揮発性メモリ１０３に保存されているプログラムを読み出し、作業用メモリ１０４に展開してプログラムに従いデジタルカメラ１００の各部を制御することで実現される。以降のフローチャートに示す各処理についても同様である。また、このフローチャートに示す処理は、レリーズスイッチのＳＷ１がＯＮとなることに応じて開始される。ＳＷ１は、第１の撮像指示受け付け手段の一例である。
【００２６】
まず、ステップＳ２０１にて、ＣＰＵ１０１は、撮像部１０２に電源を供給して起動する。既に撮像部１０２が起動している場合は、この処理は行わずに次のステップに移る。
【００２７】
次に、ステップＳ２０２〜ステップＳ２０４にて、ＣＰＵ１０１は撮影処理のための準備動作を行う。具体的には、ステップＳ２０２にて、ＣＰＵ１０１は、撮像部１０２に含まれるレンズの焦点を被写体に合わせるＡＦ処理を行う。ステップＳ２０３では、ＣＰＵ１０１は、被写体輝度を演算するＡＥ処理を行う。ステップＳ２０４では、ＣＰＵ１０１は、ホワイトバランスを適正な値にするＡＷＢ処理を行う。
【００２８】
本実施形態のデジタルカメラ１００は、次のステップＳ２０５にて、ＣＰＵ１０１はＧＰＳ１０８により所定の回数だけ測位処理を行い、複数の位置情報を取得する。ここでは、３回測位処理を行い、３つの位置情報を取得する。本実施形態では、位置情報は緯度・経度の座標で表される。このステップにて取得される位置情報は、第２の位置情報の一例であり、このステップの処理は、第２の位置取得手段の一例である。
【００２９】
次にステップＳ２０６にて、ＣＰＵ１０１は、ステップＳ２０５にて取得した複数の位置情報から平均位置を算出する。具体的には、ＣＰＵ１０１は、ステップＳ２０５にて取得した３つの位置情報の緯度の値の平均値および経度の値の平均値を求め、それぞれの平均値を緯度・経度の座標としてもつ位置情報を、平均位置として算出する。また、平均位置は第３の位置情報の一例であり、このステップの処理は、第３の位置取得手段の一例である。
【００３０】
ここで、図５を用いて算出方法の一例を説明する。図５おいて、縦軸は緯度方向、横軸は経度方向を示す。ステップＳ２０５にて取得されたそれぞれの位置情報の座標を（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）、（Ｘ３，Ｙ３）とし、この３つの座標から求められる平均位置の座標を（ＡＶＥＸ，ＡＶＥＹ）とする。この場合、平均位置の座標は、ＡＶＥＸ＝（Ｘ１＋Ｘ２＋Ｘ３）／３及びＡＶＥＹ＝（Ｙ１＋Ｙ２＋Ｙ３）／３から求めることができる。
【００３１】
図２の説明に戻る。このステップの処理にて算出された平均位置は、不揮発性メモリ１０３に一旦保存される。ここで保存された平均位置は、後述する誤差判定に用いられる。なお、ステップ２０５およびステップＳ２０６の処理は、必ずしも前述のステップＳ２０１〜ステップＳ２０４の処理の後に実行する必要はない。例えば、ステップ２０５およびステップＳ２０６の処理は、ステップＳ２０１〜ステップＳ２０４の処理の前に実行しても、ステップＳ２０１〜ステップＳ２０４の処理と並行して実行してもよい。すなわち、ステップＳ２０５及びステップＳ２０６の処理はＳＷ１の押下に応じて開始されるよう制御されればよい。
【００３２】
次に、ステップＳ２０７にて、ＣＰＵ１０１は、レリーズスイッチのＳＷ２がＯＮとなっているか否かを判断する。すなわち、ＣＰＵ１０１は画像データを撮影して取得する指示を受け付けたか否かを判断する。ＣＰＵ１０１が、ＳＷ２がＯＦＦとなっていると判断した場合、すなわち画像データを撮影して取得する指示を受け付けていないと判断した場合、処理はステップＳ２０８に進む。ＣＰＵ１０１が、ＳＷ２がＯＮとなっていると判断した場合、すなわち画像データを撮影して取得する指示を受け付けたと判断した場合、処理はステップＳ２０９に進む。このステップの処理は、前述のステップＳ２０１〜ステップＳ２０６の処理と並行して実行される。また、このステップの処理は第２の撮像指示受け付け手段の一例である。
【００３３】
なお、このステップＳ２０７においてＣＰＵ１０１が、ステップＳ２０１〜ステップＳ２０６における処理の実行中にＳＷ２がＯＦＦであると判断した場合は、実行中の処理と並行してステップＳ２０８の処理を実行する。一方、ＣＰＵ１０１が、ステップＳ２０１〜ステップＳ２０５の処理中にＳＷ２がＯＮとなったと判断した場合、すなわち測位回数が所定の回数に達しないうちにＳＷ２がＯＮとなったと判断された場合は、実行中の処理を中止し、処理はステップＳ２０９へ移る。そしてステップＳ２０９〜ステップＳ２１０と並行して、ＳＷ２がＯＮとなった時点で既に取得されている位置情報の平均位置を取得する。ここで、ステップＳ２０５にて位置情報が一つだけ取得されている場合は、ＣＰＵ１０１はその位置情報を平均位置とする。ステップＳ２０５にて位置情報が一つも取得されていない場合、すなわちＳＷ２がＯＮとなったと判断されたタイミングが、ステップＳ２０１〜ステップＳ２０４の処理中やステップＳ２０５での最初の測位処理中であった場合は、平均位置は取得されない。また、ステップＳ２０６における平均位置の算出中にＳＷ２がＯＮとなったとＣＰＵ１０１が判断した場合は平均位置の算出を継続し、ステップＳ２０６の処理は後述のステップＳ２０９〜ステップＳ２１０と並行して実行される。
【００３４】
ステップＳ２０８では、ＣＰＵ１０１は、レリーズスイッチのＳＷ１がＯＮとなっているか否かを判断する。すなわち、ＣＰＵ１０１は、ユーザによりレリーズスイッチが半押しされた状態であるか否かを判断する。ＣＰＵ１０１が、ＳＷ１がＯＦＦとなっていると判断した場合、すなわちレリーズスイッチが半押しされた状態でないと判断した場合、本処理を終了する。一方、ＣＰＵ１０１が、ＳＷ１がＯＮとなっていると判断した場合、すなわちレリーズスイッチが半押しされた状態であると判断した場合、ステップＳ２０６に戻る。このステップの処理も、ステップＳ２０７と同様に、ステップＳ２０５及びステップＳ２０６と並行して実行される。
【００３５】
ステップＳ２０９では、ＣＰＵ１０１は適切に調光するためのＥＦ処理を行う。
【００３６】
ＥＦ処理が完了すると、ステップＳ２１０にて、ＣＰＵ１０１は撮影処理を行い、画像データを取得する。
【００３７】
次に、ステップＳ２１１にて、ＣＰＵ１０１は、ステップＳ２１０にて得られた画像データに対応付けるための位置情報をＧＰＳ１０８により取得する。なお、このステップＳ２１１の処理は、ステップＳ２０９及びステップＳ２１０の処理の前に行っても、ステップＳ２０９及びステップＳ２１０の処理と並行して行ってもよい。すなわち、ステップＳ２１１の処理は、ＳＷ２の押下に応じて開始されるよう制御されればよい。また、このステップにて取得された位置情報は第１の位置情報の一例であり、このステップの処理は、第１の位置取得手段の一例である。
【００３８】
次いで、ステップＳ２１２にて、ＣＰＵ１０１は、ステップＳ２０６などで予め取得しておいた平均位置と、ステップＳ２１１にて取得した位置情報とに基づいて誤差判定を行う。具体的には、ＣＰＵ１０１は、ステップＳ２０６にて取得した平均位置を不揮発性メモリ１０３から読み出し、該平均位置の座標とステップＳ２１１にて取得した位置情報の座標から、両位置間の距離を誤差として算出する。前記距離をＤ、平均位置の座標を（ＡＶＥＸ，ＡＶＥＹ）とし、ステップＳ２１１にて取得した位置情報の座標を（Ｘ４，Ｙ４）とすると、距離Ｄは、Ｄ＝√｛（Ｘ４−ＡＶＥＸ）＾２＋（Ｙ４−ＡＶＥＹ）＾２｝のように求められる。そして、前記距離が所定の閾値以上であるか否かを判断する。すなわち、画像データに対応付けるための位置情報が示す位置と、平均位置が示す位置とが、所定の距離以上離れているか否かを判断する。
【００３９】
ＣＰＵ１０１が、前記距離が所定の閾値未満であると判断した場合は、誤差が小さいと判断する。この場合、処理はステップＳ２１３に進む。ステップＳ２１３では、ＣＰＵ１０１は、前記画像データに対応付けるための位置情報をステップＳ２１０にて取得した画像データに対応付ける。その後、処理はステップＳ２１７に進む。
【００４０】
一方、ＣＰＵ１０１が、前記距離が所定の閾値以上であると判断した場合は、誤差が大きいと判断する。この場合、処理はステップＳ２１４に進む。ステップＳ２１４では、ＣＰＵ１０１は、ステップＳ２１１にて取得された位置情報に誤差が生じている可能性がある旨をユーザに通知する。例えば、表示部１０５に、「測位誤差が大きい可能性があります」というメッセージを表示する。
【００４１】
次いで、ステップＳ２１５では、ＣＰＵ１０１は、ステップＳ２１２にて誤差が大きいと判断された位置情報をステップＳ２１０にて取得された画像データに対応づけるか否かを選択する指示を受け付ける処理を実行する。また、該指示を受け付ける処理と並行して、例えば「位置情報を画像に付加しますか？」というメッセージとともに「はい」・「いいえ」などのボタンを表示部１０５に表示し、ユーザに選択を促す。ユーザは操作部１０６を介して、「はい」・「いいえ」のボタンを選択することにより、位置情報を画像データに対応づけるか否かを選択することができる。ステップＳ２１５にて、ＣＰＵ１０１が、位置情報を画像データに対応づける指示を受け付けたと判断した場合、処理はステップＳ２１３に進む。一方、ＣＰＵ１０１が、位置情報を画像データに対応づけない指示を受け付けた場合、処理はステップＳ２１６に進む。このステップの処理は、選択受け付け手段の一例である。
【００４２】
ステップＳ２１６にてＣＰＵ１０１は、ステップＳ２１０にて取得した画像データに、測位の誤差のため位置情報を対応付けることができなかった旨を示すフラグを立てる。具体的には、画像データのヘッダ領域の一部を、該画像データには測位の誤差のため位置情報を対応付けることができなかったか否かを示す値を記録するための領域として用いる。そして、この領域に記録される値は初期状態を０とし、本ステップの処理にて１が設定されることによりフラグが立てられる。すなわちフラグが立てられた画像データは、測位の誤差のため位置情報を対応づけられなかった画像データである。このフラグは、位置情報が対応付けられていない画像データのうち、位置情報を対応付ける予定であったが対応付けできなかった画像データを検索するため等に用いることができる。なお、上述のステップＳ２１１〜ステップＳ２１６の処理は、ステップＳ２０６にて平均位置が算出されていない場合は行われない。ステップＳ２０６にて平均位置が算出されていない場合は、処理はステップＳ２１０からステップＳ２１７に移る。
【００４３】
最後に、ステップＳ２１７にて、ＣＰＵ１０１は、ステップＳ２１０にて取得された画像データを記録媒体１０７に記録し、本処理は終了する。
【００４４】
以上が、本実施形態における撮像装置の動作の説明である。上述のように本実施形態の撮像装置では、画像データに対応付けるための位置情報に対して、自動的に誤差判定を行い、誤差が大きいと判断された場合はその旨をユーザに通知するよう構成した。これにより、ユーザは撮影した画像データに対応づけるために取得した位置情報がずれている可能性があるということを認識できる。さらに、誤差が大きいと判断された位置情報はユーザの選択により画像データに対応づけるか否かが決定されるため、誤差が大きい可能性のある位置情報がユーザの許可なく画像データに対応付けられることを防ぐことができる。また、誤差が大きいと判断されたために位置情報が画像データに対応付けされない場合には、該画像データにはその旨を示すフラグを立てる。このため、位置情報が対応付けられていない画像データのうち、位置情報を対応付けるはずだった画像データと、もともと位置情報を対応付けしない画像データとを区別することができる。これにより、例えば後から位置情報を対応付ける際に、該フラグを参照することで位置情報を対応付けしたい画像のみを検索することができる。
【００４５】
［第２の実施形態］
第１の実施形態では、画像データに対応づけるための位置情報に誤差が生じていると判断された場合、その誤差が偶然生じてしまったものであっても、以降の処理に進んでしまっていた。しかし、このような偶然生じた誤差は、再度測位処理を行うことによって適切な位置情報を取得できる可能性がある。そこで本実施形態では、ＳＷ２がＯＮとなってから一定時間以内であれば、画像データに対応づけるための位置情報に誤差が生じていると判断された場合に、画像データに対応付けるための位置情報を取得しなおし、再度誤差判定を行う場合について述べる。
【００４６】
本実施形態は、第１の実施形態および第２の実施形態と共通する部分が多いため、本実施形態に特有の部分を中心に説明する。
【００４７】
まず、本実施形態における撮像装置の動作について、図３を用いて説明する。
【００４８】
図３は、本実施形態における撮影の際の、デジタルカメラ１００の動作を示すフローチャートである。このフローチャートに示す処理は、レリーズスイッチのＳＷ１がＯＮとなることに応じて開始される。
【００４９】
ステップＳ３０１からステップＳ３０８までの処理は、図２のステップＳ２０１からステップＳ２０６までの処理と同様であるため説明は省略する。
【００５０】
まず、ＳＷ２がＯＮとなることに応じて開始されるステップＳ３０９の処理では、ＣＰＵ１０１は計時部１１０により計時を開始する。これにより、ＳＷ２がＯＮとなってからの経過時間を測る。
【００５１】
次に、ステップＳ３１０〜ステップＳ３１４では、図２のＳ２０９〜ステップＳ２１３と同様の処理を行う。
【００５２】
ステップＳ３１３の誤差判定にて、ＣＰＵ１０１が、ステップＳ３１２にて取得された位置情報の誤差が大きいと判断した場合、処理はステップＳ３１５に進む。ステップＳ３１５では、ＣＰＵ１０１は、ステップＳ３０９にて計時が開始されてから一定時間が経過しているか否かを判断する。ここで、一定時間とは予め設定されている値により定められる。この値は不揮発性メモリ１０３に保存されている。なお、この値にはユーザがＳＷ２をＯＮにすることで撮影指示を行ってから移動し始めるまでの時間よりも短いと予想される時間を定める値が設定されていることが望ましい。これは、ユーザが移動を開始してしまっては、後述する処理にて画像データに対応づけるための位置情報を取得しなおす位置が、実際の撮影位置とずれてしまうためである。つまり、このステップの処理にて、ＣＰＵ１０１は、デジタルカメラ１００のユーザが撮影後に移動を開始している可能性が高いか否かを判断している。
【００５３】
ＣＰＵ１０１が、ＳＷ２がＯＮとなってから一定時間以内でないと判断した場合は、ユーザは移動を開始している可能性が高いと判断する。したがって、処理はステップＳ３１６に進む。ステップＳ３１６以降の処理は、図２のステップＳ２１４以降の処理と同様であるため説明は省略する。
【００５４】
一方、ステップＳ３１５にて、ＣＰＵ１０１が、ＳＷ２がＯＮとなってから一定時間以内であると判断した場合は、ユーザは移動を開始していない可能性が高いと判断する。したがって、処理はステップＳ３１２に戻り、ＣＰＵ１０１は画像に対応付けるための位置情報を再度取得しなおす。
【００５５】
続くステップＳ３１３では、ステップＳ３１２にて取得しなおした位置情報に対して再度誤差判定を行う。この際に用いられる平均位置は、既にステップＳ３０６にて算出された平均位置を用いる。ステップＳ３１３にて誤差が大きいと判断された場合は、上記の位置情報を取得しなおし、誤差判定を再度行う処理を繰り返す。一方、ステップＳ３１３にて、誤差が小さいと判断された場合、ステップＳ３１４にて画像データに位置情報を対応づけ、ステップＳ３１９にて画像データを記録媒体１０７に記録し、処理を終了する。
【００５６】
以上が、本実施形態における撮像装置の動作の説明である。上述のように、第３の実施形態では、誤差判定により誤差が大きいと判断されても、ＳＷ２がＯＮとなってから一定時間以内であれば、画像に対応付けるための位置情報を取得しなおし、再度誤差判定を行うよう構成した。これにより、誤差の大きな位置情報が偶然取得されてしまった場合でも、適切な位置情報を再度取得しなおすことが可能となる。
【００５７】
［第３の実施形態］
前述した第１の実施形態および第２の実施形態では、ＳＷ１がＯＮとなるたびに平均位置を算出するために複数回測位処理を行っていた。しかし、測位処理はある程度の時間がかかり、また電力の消費量も比較的多いため、ＳＷ１がＯＮとなるたびに、毎回複数回測位処理を行うのは効率が良くない。例えば、ユーザがレリーズスイッチを半押しすることに応じて、複数回測位処理を行い得られた位置情報から平均位置が算出される。その後、ユーザが、レリーズスイッチを全押しすることなく手を離し、さらにその後、ユーザがほとんど移動せずにもう一度レリーズスイッチを半押しする、といった操作が行われることは少なくない。この場合、一度目のレリーズスイッチの半押しによりＳＷ１がＯＮとなることに応じて取得される複数の位置情報及び平均位置は、二度目のレリーズスイッチの半押しに応じて取得される複数の位置情報及び平均位置とほぼ変わらない。このように、同じ位置で何度もＳＷ１がＯＮとなるたびに複数回の測位処理を行うという構成は、無駄な処理時間および無駄な電力消費量の増加を招く一因となる。
【００５８】
これに対し、本実施形態では前回の撮影から一定時間以内であれば、ユーザが移動していないと判断し、新たに平均位置を取得しないよう構成する場合について述べる。この場合、誤差判定には前回取得した平均位置を用い、新たに複数の位置情報を取得しない。したがって、複数回測位処理を行うための処理時間及び電力消費量が削減されることとなる。
【００５９】
本実施形態は、第１の実施形態および第２の実施形態と共通する部分が多いため、本実施形態に特有の部分を中心に説明する。
【００６０】
図４は、本実施形態における撮影の際の、デジタルカメラ１００の動作を示すフローチャートである。このフローチャートに示す処理は、レリーズスイッチのＳＷ１がＯＮとなることに応じて開始される。
【００６１】
本フローチャートにおける処理では、最後のステップＳ４２２にてＣＰＵ１０１が、計時部１１０により第２の計時を開始するよう制御する。第２の計時は本処理が終了しても継続され、次にレリーズスイッチが押下されて本フローチャートが実行された場合でも、各ステップの処理と並行して実行される。なお第２の計時が継続されている場合、ステップＳ４２２にて改めて計時を開始することはしない。また、第２の計時は後述のステップＳ４１１にて開始される第１の計時とは独立して実行される。ステップＳ４１２にて開始される第１の計時とは、第２の実施形態にて説明した図３におけるステップＳ３１０の計時と同様の処理である。本実施形態では、ステップＳ４１２の計時とステップＳ４２２の計時とを区別するためにそれぞれ第１の計時、第２の計時と呼ぶ。以下の説明では、前回の撮影にてステップＳ４２２の処理が実行されていることを考慮して説明する。
【００６２】
ステップＳ４０１〜ステップＳ４０４の処理は、図３のステップＳ３０１〜ステップＳ３０４の処理と同様のため説明は省略する。
【００６３】
ステップＳ４０５にて、ＣＰＵ１０１は、前回取得した平均位置が、不揮発性メモリ１０３に保存されているか否かを判断する。ＣＰＵ１０１が、前回取得した平均位置が不揮発性メモリ１０３に保存されていると判断した場合、処理はステップＳ４０６に進む。ＣＰＵ１０１が、前回取得した平均位置が不揮発性メモリ１０３に保存されていないと判断した場合、処理はステップＳ４０７に進む。
【００６４】
ステップＳ４０６では、ＣＰＵ１０１は、第２の計時が開始されてから、一定時間経過しているか否かを判断する。即ち、前回の撮影から一定時間経過しているか否かを判断する。この場合の一定時間は、ユーザが前回の撮影を行ってから移動を開始すると考えられるタイミングまでの時間よりも短い時間が設定されていることが望ましい。なぜなら、ユーザが移動を開始していなければ、今回取得される平均位置と前回取得された平均位置とはどちらも同じ場所で取得されることになるからである。この場合、今回取得される平均位置と前回取得された平均位置とを等しいとみなすことができ、前回取得した平均位置を用いて誤差判定を行うことができる。つまり、本ステップの処理にてＣＰＵ１０１は、前回取得した平均位置が今回の誤差判定に用いることができるか否かを判断する。
【００６５】
ＣＰＵ１０１が前回の撮影から一定時間経過していると判断した場合は、デジタルカメラ１００のユーザは前回の撮影位置から移動している可能性があるため、前回の平均位置を使って誤差判定をすることはできないと判断される。したがって処理はステップＳ４０７に進み、新たに位置情報を取得する。一方、ＣＰＵ１０１が、前回の撮影から一定時間経過していないと判断した場合は、デジタルカメラ１００のユーザは前回の撮影位置から移動していない可能性があるため、新たに算出される平均位置は前回算出された平均位置とあまり変わらないと判断できる。そのため、前回の撮影にて取得した平均位置を誤差判定に用いることができると判断される。この場合は、新たに平均位置を算出する必要も、新たに平均位置を算出するための位置情報を取得する必要もない。したがって、ステップＳ４０７およびステップＳ４０８の処理は行われることなく、ステップＳ４０９に進む。
【００６６】
ステップＳ４０７では、図３のステップＳ３０５と同様に、ＣＰＵ１０１がＧＰＳ１０８により複数の位置情報を取得する。次いで、ステップＳ４０８にてＣＰＵ１０１は、図３のステップＳ３０６と同様に、ステップＳ４０７にて取得した複数の位置情報から平均位置を取得し、不揮発性メモリ１０３に記録する。この際、不揮発性メモリ１０３に前回の平均位置が記録されていた場合は上書きする。ここで記録された平均位置は、本処理が終了しても消去されない。その後、処理はステップＳ４０９に進む。なお、ステップＳ４０５〜ステップＳ４０８の処理は、ステップＳ４０１〜ステップＳ４０４の処理と並行して実行されてもよい。
【００６７】
ステップＳ４０９にてＣＰＵ１０１は、ＳＷ２がＯＮであるか否かを判断する。ＣＰＵ１０１が、ＳＷ２がＯＦＦであると判断した場合、処理はステップＳ４１０に進む。ステップＳ４１０では、図３のステップＳ３０８と同様の処理を行う。なお、ステップＳ４０９およびステップＳ４１０の処理は、ステップＳ４０５〜ステップＳ４０８の処理と並行して実行される。
【００６８】
一方、ステップＳ４０９にてＣＰＵ１０１が、ＳＷ２がＯＮであると判断した場合、処理はステップＳ４１１に進む。ステップＳ４１１〜ステップＳ４１４の処理は、図３のステップＳ３０９〜ステップＳ３１２の処理と同様であるため説明は省略する。
【００６９】
次いで、ステップＳ４１５にて、ＣＰＵ１０１は、図３のステップＳ３１３と同様の処理を行う。すなわち、平均位置を不揮発性メモリ１０３から取得し、ステップＳ４１４にて取得した位置情報に対して誤差判定を行う。ここで、ステップＳ４０６の処理にて前回の平均位置を用いることができると判断されている場合は、不揮発性メモリ１０３には、前回取得された平均位置が記録されている。そのため、該前回の平均位置を用いて誤差判定を行うこととなる。それ以外の場合は、ステップＳ４０８にて算出された平均位置を用いて誤差判定を行うこととなる。
【００７０】
ステップＳ４１７〜ステップＳ４２１の処理は、図３のステップＳ３１５〜ステップＳ３１９の処理と同様であるため説明は省略する。
【００７１】
ステップＳ４２２では前述したように、ＣＰＵ１０１は計時部１１０により第２の計時を開始し、本処理を終了する。
【００７２】
以上が、本実施形態におけるデジタルカメラの動作の説明である。上述のように、第３の実施形態では、前回の撮影から一定時間以内であれば、前回取得した平均位置を用いて誤差判定を行う。これにより前回の撮影から一定時間以内では新たに平均位置を算出する必要が無くなり、平均位置のために新たに複数の位置情報を取得する必要もなくなる。つまり、無駄な処理時間や無駄な消費電力を低減することができる。
【００７３】
［その他の実施形態］
なお、平均位置や、平均位置を算出するために取得した複数の位置情報も画像データに対応づけるよう構成してもよい。これにより、例えば手動で画像データに位置情報を対応づける場合に、誤差判断に用いた平均位置や、平均位置を算出するために取得された位置情報が示す位置を参照しながら修正することができる。
【００７４】
また、上述の実施形態では、ＳＷ２がＯＮとなる前に、測位処理が所定の回数に達した場合、所定の回数分の位置情報から平均位置を算出していた（例えば図２のステップＳ２０５およびステップＳ２０６）。これについて、ＳＷ１がＯＮとなってからＳＷ２がＯＮとなるまでは所定の回数に達しても測位処理を継続し、作業用メモリ１０４に所定の回数分の複数の位置情報を保持するよう構成してもよい。この保持されている複数の位置情報は、取得順に記録されている。そして、保持されている複数の位置情報は、新たな位置情報が取得される度に、古い位置情報から順に削除され、代わりに新たに取得された位置情報が記録される。つまり、保持されている位置情報のうち、古い位置情報から順に、新たな位置情報に更新される。これにより、作業用メモリ１０４は、常に最新の複数の位置情報を保持する。そして、ＳＷ２がＯＮとなることに応じて、作業用メモリ１０４に保持されている最新の複数の位置情報が読み出され、該最新の複数の位置情報を用いて平均位置が算出される。これにより、例えばユーザがＳＷ１を押下したまま移動して、移動後にＳＷ２を押下するような場合でも、適切な誤差判定を行うことができる。
【００７５】
また、上述の実施形態では、画像データに対応づけるための位置情報を一つだけ取得していた（例えば図２のステップＳ２１１）。これについては、画像データに対応づけるための位置情報を複数取得するよう構成してもよい。このように構成した場合、例えばステップＳ２１２では、ＣＰＵ１０１は平均位置と、画像データに対応づけるための複数の位置情報のうち最も平均位置に近い位置情報とに基づき誤差判定をする。そして、ステップＳ２１３にてＣＰＵ１０１は、画像データに対応づけるための複数の位置情報のうち最も平均位置に近い位置情報を画像データに対応づける。このように構成することにより、画像データに対応づけるために複数取得された位置情報のうち、予期せぬ誤差が生じなかった位置情報が少なくとも一つあれば画像データに位置情報を対応づけることができる。したがって、予期せぬ誤差により画像データに位置情報が対応づけられない可能性をより低減することができる。
【００７６】
また、上述の実施形態では、複数の位置情報から平均位置を算出していた。これについては、平均位置に限らず、例えば複数の位置情報の座標の中央値を座標としてもつ中央位置でもよい。
【００７７】
なお、上述の実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005836651.tif 000002
【図２】
0005836651.tif 000003
【図３】
0005836651.tif 000004
【図４】
0005836651.tif 000005
【図５】
0005836651.tif 000006