(57)【特許請求の範囲】
【請求項１】
衛星からの信号を受信して現在位置を算出する測位機能を有する撮像装置の位置算出方法であって、
前記撮像装置の撮像部の手ぶれ振動を検出することと、
現在時刻を保持することと、
前記撮像装置の少なくとも加速度情報を含むセンサーデータを計測することと、
前記信号に基づいて前記撮像装置の絶対位置を算出することと、
前記検出された手ぶれ振動に基づく、単位時間あたりの手ぶれ補正信号検出回数が所定の回数を超えたか否かを判定することと、
前記手ぶれ補正信号検出回数が前記所定の回数を超えたと判定した場合に、前記所定の回数を超えたと判定した時刻以降の前記現在時刻と前記センサーデータとを対応付けて保存することと、
前記所定の回数を超えたと判定した時刻以降の撮影が実行された時刻以降に前記算出された絶対位置と、前記保存されたセンサーデータとを用いて、前記撮影が実行された時刻における前記撮像装置の位置を算出することと、
を含む、
位置算出方法。
【請求項２】
前記撮像装置の位置を算出することは、
前記保存されたセンサーデータを用いて移動方向及び移動距離を含む移動情報を算出することと、
前記撮影が実行された時刻以降に算出された絶対位置と前記移動情報とを用いて前記撮影が実行された時刻における前記撮像装置の位置を算出することと、
を含む、
請求項１に記載の位置算出方法。
【請求項３】
前記絶対位置を算出することは、
前記撮像部の電源供給量が所定値以下になった場合に開始される、
請求項１または２に記載の位置算出方法。
【請求項４】
衛星からの信号を受信して現在位置を算出する測位機能を有する撮像装置であって、
前記撮像装置の撮像部の手ぶれ振動を検出する手ぶれ検出部と、
前記撮像装置の少なくとも加速度情報を含むセンサーデータを計測するセンサー部と、
前記信号に基づいて前記撮像装置の絶対位置を算出する絶対位置取得部と、
処理部と、を含み、
前記処理部は、
単位時間あたりの手ぶれ補正信号検出回数が所定の回数を超えたと判定した場合に、前記所定の回数を超えたと判定した時刻以降の現在時刻と前記センサーデータとを対応付けて保存することと、
前記所定の回数を超えたと判定した時刻以降の撮影が実行された時刻以降に前記算出された絶対位置と、前記保存されたセンサーデータとを用いて、前記撮影が実行された時刻における前記撮像装置の位置を算出することと、
を行う、撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置算出方法に関する。
【背景技術】
【０００２】
測位用信号を利用した測位システムとしては、ＧＰＳ（Global Positioning System）が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。ＧＰＳでは、複数のＧＰＳ衛星の位置や各ＧＰＳ衛星から位置算出装置までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【０００３】
位置算出装置は、携帯型電話機やカーナビゲーション装置といった電子機器の他にも、種々の電子機器に内蔵されて利用されている。例えば、位置算出装置を搭載したデジタルカメラにおいて、撮影画像のデータと位置情報のデータとを対応付けて記録する技術が考案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３０７９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＧＰＳを利用して位置算出計算を行うためには、ＧＰＳ衛星の衛星軌道データが必要となる。しかし、衛星軌道データを保持していない状態で測位を開始する、いわゆるコールドスタート等の状態では、ＧＰＳ衛星から衛星軌道データを取得するために一定の時間が必要となる。一方で、上述したデジタルカメラを例に挙げると、撮影は短時間で終了する。そのため、撮影時刻に位置算出を完結させることには時間的な問題がある。他の電子機器についても同様に考えると、所与の希望時刻に位置算出を完結させることには時間的な問題があると言える。
【０００６】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、後刻において、過去の希望時刻における位置算出を可能とする技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］本適用例に係る位置算出方法は、衛星からの信号を受信して現在位置を算出する測位機能を有する撮像装置の位置算出方法であって、前記撮像装置の撮像部の手ぶれ振動を検出することと、現在時刻を保持することと、前記撮像装置の少なくとも加速度情報を含むセンサーデータを計測することと、前記検出した手ぶれ振動が所定の状態であるか判断することと、前記検出した手ぶれ振動が所定の状態であると判断したときに、前記現在時刻と前記センサーデータとを対応付けて保存し、かつ前記衛星からの信号に基づいて測位した前記撮像装置の絶対位置及び前記センサーデータを使って前記撮像装置の位置を算出することと、を含むことを特徴とする。
【０００９】
本適用例によれば、手ぶれ検出の検出状態が所定値を超えると、それ以降のデータを撮影位置を計算するために使用するセンサーデータと認識し、センサーデータが出力された時刻と関連づけて保存する。その後絶対位置検出部で絶対位置を検出する。そして、前記センサーデータと絶対位置とを使って、撮影位置を算出する。こうすることで、後刻においても正確な撮影位置を把握することができる。
【００１０】
［適用例２］上記適用例に記載の位置算出方法において、前記撮像装置の位置を算出することは、前記検出した手ぶれ振動が所定の状態であると判断した時点以降に撮影を実行した時刻を起点時刻として、前記絶対位置と前記センサーデータとを使って前記起点時刻における撮像装置の位置を算出することを特徴とする。
【００１１】
本適用例によれば、手ぶれ検出状態が所定値を超えた時刻以降に撮影が実行された時刻を起点時刻として位置算出を行うので、撮像時の位置取得のために記憶するセンサーデータを最小限にすることができる。
【００１２】
［適用例３］上記適用例に記載の位置算出方法において、前記絶対位置と前記センサーデータとを使って前記起点時刻における撮像装置の位置を算出することは、前記センサーデータを用いて移動方向及び移動距離を含む移動情報を算出し、前記絶対位置と前記移動情報を使って前記起点時刻における前記撮像装置の位置を算出することを特徴とする。
【００１３】
本適用例によれば、センサーデータを用いて絶対位置が検出されるまでの移動方向及び移動距離でなる移動情報を算出できるので、後刻に取得した絶対位置からと移動情報を使って時間をさかのぼって起点時刻における位置を算出することができる。
【００１４】
［適用例４］上記適用例に記載の位置算出方法において、前記手ぶれ振動の所定の状態とは、単位時間あたりの手ぶれ補正信号検出回数が所定の回数以上であることを特徴とする。
【００１５】
本適用例によれば、センサーデータを保存開始するためのタイミングを容易に把握することができる。
【００１６】
［適用例５］上記適用例に記載の位置算出方法において、前記手ぶれ検出の検出状態は、少なくとも前記手ぶれ検出の時間間隔又は単位時間あたりの検出回数のいずれかを含むことを含むことを特徴とする。
【００１７】
本適用例によれば、センサーデータを保存開始するためのタイミングを容易に把握することができる。
【００１８】
［適用例６］上記適用例に記載の位置算出方法において、前記絶対位置の測位は、前記撮像部の電源供給量が所定条件以下になった場合に開始することを特徴とする。
【００１９】
本適用例によれば、絶対位置を検出する際の撮像部からのノイズを低減することができ、より正確な絶対位置を検出することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るデジタルカメラの機能構成の一例を示すブロック図。
【図２】本実施形態に係る記憶部のデータ構成の一例を示す図。
【図３】本実施形態に係る全体的な処理の流れを示すフローチャート。
【図４】本実施形態に係る時刻と移動ベクトルとの概念図。
【図５】本実施形態に係る移動ベクトル算出処理の流れを示すフローチャート。
【図６】本実施形態に係る撮影位置算出処理の一例である撮影位置算出処理の流れを示すフローチャート。
【図７】本実施形態に係る撮影画像ＤＢに格納されるデータの一例を示す図。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、電子機器の一種であるデジタルカメラの位置算出を行うシステムである位置算出システムの実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２２】
１．機能構成
図１は、本実施形態に係るデジタルカメラの機能構成の一例を示すブロック図である。本実施形態に係わるデジタルカメラ２は、処理部１０と、ＧＰＳ受信部１２と、センサー部１４と、操作部１６と、表示部１８と、撮像部２０と、計時部２２と、記憶部２４と、撮影画像ＤＢ２６と、手ぶれ検出部２８と、手ぶれ補正部３０とを備えて構成される。
【００２３】
処理部１０は、記憶部２４に記憶されているシステムプログラム等の各種プログラムに従ってデジタルカメラの各部を統括的に制御する制御装置であり、ＣＰＵ（Central Processing Unit）等のプロセッサーを有して構成される。処理部１０は、デジタルカメラ２の本質的な機能を実現するために、操作部１６を介して入力された指示操作に従って、デジタルカメラ２の正面方向の画像を撮像部２０に撮影させる撮影処理を実行したり、撮影された画像を表示部１８に表示させたりする処理を行う。また手ぶれ検出部２８からの信号を元に手ぶれ状態の検知や手ぶれ補正量を決定し、手ぶれ補正部３０による手ぶれ補正処理の実行指示なども行う。
【００２４】
また、処理部１０は、デジタルカメラ２に位置算出機能を実現させるために、次のような処理を行う。すなわち、手ぶれ検出部２８からの信号を元に、センサー部１４のデータと計時部２２の時刻とを関連づけた有効センサーデータの記憶部２４への保存を開始する（第１処理）。次にデジタルカメラ２によって撮影処理を実行した時刻（希望時刻）を記憶部２４に保存する。その後、撮像部２０への電源供給量が所定値以下になると、ＧＰＳ受信部１２を起動させ、取得された絶対位置を取得時刻と対応付けて記憶部２４に記憶させる処理を実行する（第２処理）。そして、センサー部１４の検出結果を用いてデジタルカメラ２の移動方向及び移動距離を示す移動ベクトルを算出し、算出した移動ベクトルと取得した絶対位置とを用いて、希望時刻におけるデジタルカメラ２の位置を算出する処理を行う。
【００２５】
手ぶれ検出部２８は撮影者の手ぶれによる振動量（以下、手ぶれ量）を検出する。検出方式には、手ぶれによる撮像部（装置自体）２０の振動をセンサーによって検出する方式（以下、センサー方式）と、撮影した画像に基づいて手ぶれ量を検出する方式（以下、動きベクトル方式）とがある。
【００２６】
センサー方式では、コリオリの力を応用した角速度センサーなどの検出器を装置に組み込んで、手ぶれによる撮像部（装置自体）２０の振動量を検出することにより、デジタルカメラ２の手ぶれによる動きがリアルタイムに検出されるので、手ぶれ量を検出するときに被写体の状況（被写体の種類、明るさ、動き） に影響されないという特徴がある。
【００２７】
一方、動きベクトル方式は、撮像レンズを介して投影される被写体の画像（光の信号）を撮像素子で検出し、画像信号としてメモリーに記憶しておき、次に検出する画像信号と比較して画像のぶれを動きベクトルデータとして検出する。つまり、直近の２つの画像信号の違いを動きベクトルデータとして検出するので、手ぶれ量を検出するときに撮影倍率の変化などの光学系の状態に影響を受けないという特徴がある。
【００２８】
本実施形態において、手ぶれ検出方法はどちらの方式を採用しても良い。またこれらを組み合わせて手ぶれを検出する方法でも良い。
【００２９】
手ぶれ検出部２８は手ぶれを検出すると、手ぶれ信号として検出した手ぶれ量を処理部１０へ伝送する。処理部１０は手ぶれ信号を元に補正量を決定し、手ぶれ補正部３０に補正を実行させる。処理部１０では、手ぶれ信号を受信して補正量を決定する動作を所定以上の頻度で実施した場合に、有効センサーデータを記憶部２４に保存する処理を行う。
【００３０】
ＧＰＳ受信部１２は、不図示のＧＰＳアンテナにより受信されたＧＰＳ衛星信号に基づいてデジタルカメラ２の位置を計測する位置算出回路或いは位置算出装置であり、いわゆるＧＰＳ受信機に相当する機能ブロックである。図示を省略するが、ＧＰＳ位置算出部は、ＲＦ受信回路部と、ベースバンド処理回路部とを備えて構成される。なお、ＲＦ受信回路部と、ベースバンド処理回路部とは、それぞれ別のＬＳＩ（Large Scale Integration）として製造することも、１チップとして製造することも可能である。
【００３１】
ＧＰＳ受信部１２は、受信信号からＧＰＳ衛星信号を捕捉して絶対位置情報を取得する図示しない絶対位置取得部を機能部として有している。絶対位置取得部は、受信したＧＰＳ衛星信号の拡散符号である受信ＣＡコードと、装置内部で発生させた擬似的なＣＡコードであるレプリカＣＡコードとの相関演算を行ってＧＰＳ衛星信号を捕捉する。この際、ＧＰＳ衛星信号の受信周波数を特定するためにサーチ周波数を変化させながら、受信ＣＡコードとレプリカＣＡコードとの相関演算を行う。
【００３２】
また、ＧＰＳ受信部１２は、受信ＣＡコードに乗算するレプリカＣＡコードの位相（コード位相）を変化させながら相関演算を行う。絶対位置取得部は、相関演算により計算される相関値が最大となる受信周波数及びコード位相を検出し、これらを信号の測定結果、つまりメジャメント情報として処理部１０に出力する。メジャメント情報のうち、受信周波数は、主としてＧＰＳ衛星信号の捕捉やデジタルカメラ２の速度算出計算に用いられる。また、コード位相は、主としてデジタルカメラ２の位置算出計算に用いられる。
【００３３】
センサー部１４は、デジタルカメラ２の移動状態を検出するためのセンサーで構成される回路部であり、例えば、加速度センサーと、ジャイロセンサーと、方位センサーとを有して構成される。
【００３４】
加速度センサーは、デジタルカメラ２の加速度を検出するセンサーであり、歪みゲージ式や圧電式のいずれであってもよく、またＭＥＭＳ（Micro Electro Mechanical Systems）センサーであってもよい。また、ジャイロセンサーは、デジタルカメラ２の角速度を検出するセンサーであり、加速度センサーと軸方向が同一となるように配置設定されている。
【００３５】
加速度センサー及びジャイロセンサーは、予めセンサーに対応付けて定められたローカルな座標系であるセンサー座標系の直交３軸、それぞれの軸方向の加速度及び各軸の軸周りの角速度を検出して出力するように設計されている。なお、加速度センサー及びジャイロセンサーは、それぞれが独立したセンサーであってもよいし、一体型のセンサーであってもよい。
【００３６】
方位センサーは、デジタルカメラ２の移動方向を検出するセンサーであり、例えば地磁気センサーを有して構成される。地磁気センサーは、いわゆる電子コンパスであり、地磁気を検知することにより北の方位を検出可能に構成されたセンサーである。
【００３７】
操作部１６は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部１０に出力する。この操作部１６の操作により、撮影指示操作や撮影画像閲覧指示操作、撮影場所解析指示操作等の各種指示操作がなされる。
【００３８】
表示部１８は、ＬＣＤ（Liquid Crystal Display）等により構成され、処理部１０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部１８には、ファインダー画像や撮影画像等が表示される。
【００３９】
撮像部２０は、処理部１０からの指示信号に従って、デジタルカメラ２の正面方向（レンズが向けられている方向）の画像を撮像する回路部であり、ＣＣＤ（Charge Coupled Device）イメージセンサー等の撮像素子を有して構成される。
【００４０】
計時部２２は、デジタルカメラ２の内部時計であり、計時時刻を処理部１０に出力する。計時誤差の存在により、計時部２２の計時時刻は時間経過に伴って正確な時刻からずれる。そのため、位置算出計算により算出された計時誤差を用いて、計時部２２の計時誤差が較正され、正確な時刻を計時するように調整される。処理部１０は、計時部２２の計時時刻に基づいて、絶対位置情報の取得時刻や移動ベクトルの算出時刻、撮影時刻といった時刻を判定する。
【００４１】
記憶部２４は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置によって構成され、デジタルカメラ２のシステムプログラムや、撮影機能、撮影画像表示機能、撮影場所解析機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【００４２】
撮影画像ＤＢ（Data Base）２６は、処理部１０が撮影処理を実行することで撮影した画像が蓄積的に記憶されるデータベースである。
【００４３】
２．データ構成
図２は、本実施形態に係る記憶部２４に格納されたデータの一例を示す図である。記憶部２４には、処理部１０により読み出され、メイン処理として実行されるメインプログラム３２が記憶されている。メインプログラム３２には、移動ベクトル算出処理（図５参照）として実行される移動ベクトル算出プログラム３４と、撮影位置算出処理（図６参照）として実行される位置算出プログラム３６とがサブルーチンとして含まれている。
【００４４】
また、メイン処理には、処理部１０が、撮影機能や撮影画像表示機能等といったデジタルカメラ２としての本質的な機能を発揮するための処理の他、撮影位置算出処理により算出した位置に基づいて撮影場所を解析する処理が含まれる。撮影場所の解析を行った後は、処理部１０は、解析した撮影場所等の情報を撮影画像と対応付けて撮影画像ＤＢ２６に記憶させ、撮影画像表示処理において、撮影場所等の情報も併せて表示させる。
【００４５】
移動ベクトル算出処理とは、処理部１０が、有効センサーデータを用いてデジタルカメラ２の移動方向及び移動距離を示す移動ベクトルを算出して記憶部２４に記憶させる処理である。
【００４６】
撮影位置算出処理とは、処理部１０が、記憶部２４に記憶されている絶対位置情報と移動ベクトルとを用いて、希望時刻におけるデジタルカメラ２の位置を算出する処理である。
【００４７】
次いで、図３を参照して本実施形態における全体的な処理の流れについて説明する。
図３は、本実施形態に係る全体的な処理の流れを示すフローチャートである。まず、ステップＳ１０において定常的に稼動しているセンサー部１４から出力されるセンサーデータを記憶部２４に保存する。このデータは撮影位置の算出には必要のないデータのため、一時的に記憶部２４に保存される。
【００４８】
次に、処理部１０が手ぶれ検出部２８からの手ぶれ信号を受信し、ステップＳ２０において手ぶれ信号の検出状態が所定条件を超えたか否かを判断する。超えていると判断した場合（ステップＳ２０（Ｙｅｓ））は、それ以降のセンサーデータを有効センサーデータとして、ステップＳ２０において当該時刻と関連づけて記憶部２４に保存する。手ぶれ信号の検出状態が所定条件以下であった場合（ステップＳ２０（Ｎｏ））には、ステップＳ１０において引き続きセンサーデータの一時保存を行う。
【００４９】
次に、ステップＳ４０において撮影者により撮影動作が実行されたら、その時刻を撮影時刻と判断し記憶する。次に、ステップＳ５０において有効センサーデータを保存する。ステップＳ６０において撮影後、ＧＰＳ受信部１２の絶対位置取得部により絶対位置が検出されたか否かを判断する。絶対位置が検出されていると判断した場合（ステップＳ６０（Ｙｅｓ））は、ステップＳ７０において絶対位置と有効センサーデータを使って撮影時刻における位置を決定する。絶対位置が未検出の場合（ステップＳ６０（Ｎｏ））は、ステップＳ５０において有効センサーデータの取得を継続する。
【００５０】
図４を参照して、本実施形態における撮影位置算出処理について説明する。
図４は、本実施形態に係る時刻と移動ベクトルとの概念図であり、図４（Ａ）は、各種の時刻と移動ベクトルとを模式的に示した図であり、横軸は時間を示している。図４（Ｂ）は位置算出の説明図である。時間軸のｔ-6，ｔ-5，・・・，ｔ0、・・・，ｔ9はセンサーデータ出力時刻を、点線上向き矢印はセンサーから定期的に出力されるセンサーデータを、実線上向き矢印は有効センサーデータを、手ぶれ判定時刻は処理部１０で手ぶれ状況を判定した時刻を、撮影時刻はデジタルカメラ２によって撮影処理を実行した時刻を、絶対位置取得時刻は絶対位置を取得した時刻をそれぞれ示している。手ぶれ判定時刻から絶対位置取得時刻までの間にセンサーから出力されるデータを有効センサーデータとし、特に撮影時刻から絶対位置取得時刻の間のセンサーデータを移動ベクトル算出用データとする。また、時間軸の上に示した実線の矢印は、その向き及び長さによって当該算出時刻において算出された移動ベクトルを示しており、当該算出時刻から次の算出時刻までの移動状態を示すベクトルとして図示している。
【００５１】
まず、手ぶれ判定時刻を決定する。手ぶれ判定時刻とは、手ぶれ検出部２８から処理部１０に送られる手ぶれ信号が所定条件を超えたときの時刻である。所定条件とは、例えば手ぶれ信号検出の頻度や時間的間隔、又は手ぶれ信号の大きさなどである。図４ではｔ-4とｔ-3との間で所定条件を超えたため、処理部１０により「ｔ-3」は手振れ判定時刻と判定される。手ぶれ判定時刻「ｔ-3」以前のセンサーデータは図２のセンサーデータ一時記憶部３８へ保存をされており、蓄積データ量に応じて順次古いデータは自動的に破棄される（ｔ-6からｔ-4）。一方、手ぶれ判定時刻「ｔ-3」以降のセンサーデータは、有効センサーデータとして有効センサーデータ記憶部４０に保存される（ｔ-2からｔ7）。有効センサーデータは絶対位置取得が完了するまで、又はメモリー領域の制限やユーザーからの指示があるまで、データは破棄されない。
【００５２】
本実施形態ではセンサー部１４からは常にデータが出力されていると想定している。実施形態によっては断続的にセンサーが起動するように制御することも可能である。また、センサーデータ一時記憶部３８や有効センサーデータ記憶部４０など、保存するデータの用途毎にブロックを分けて説明しているが、同一のメモリー内で保存し、データフラグを立てることでデータ種を識別できるようにしても良い。
【００５３】
次に、撮影処理が時刻「ｔ0」において実行されたものとする。すなわち、撮影時刻（希望時刻）は「ｔ0」である。撮影時刻「ｔ0」以降のデータは特に移動ベクトル算出用データとして後述の移動ベクトル算出プログラム３４で使用される。撮影時刻「ｔ0」の次のセンサーデータ取得時刻「ｔ1」における有効センサーデータを取得したら、「ｔ0」と「ｔ1」とのデータから移動ベクトル「ａ」を算出する。移動ベクトル「ａ」はその長さ、方向により「ｔ0」を起点とした相対的な移動情報を示す。算出された移動ベクトル「ａ」は図２の移動ベクトルデータ記憶部４２に時刻「ｔ0」と対応付けて保存される。時刻「ｔ2」における有効センサーデータを取得すると、「ｔ1」と「ｔ2」との有効センサーデータから移動ベクトル「ｂ」を算出する。そして時刻「ｔ1」と移動ベクトル「ｂ」とを対応付けて、移動ベクトルデータ記憶部４２に保存される。上記動作がＧＰＳ受信部１２の図示しない絶対位置取得部により絶対位置が取得されるまで繰り返し実行される。
【００５４】
次いで、絶対位置取得部により絶対位置が検出された時刻を絶対位置取得時刻「ｔ7」として保存される。絶対位置検出時刻「ｔ7」までのセンサーデータを有効センサーデータとしてデータ保存し、それ以降のセンサーデータ「ｔ8」「ｔ9」は通常のセンサーデータとしてセンサーデータ一時記憶部３８に保存される。仮に時刻「ｔ7」「ｔ8」の間で絶対位置が取得された場合は、どちらか近い方の時刻を絶対位置取得時刻と見なし、それに対応するセンサーデータまでを有効センサーデータとして保存する。
【００５５】
絶対位置取得部は手ぶれ判定時刻以降の任意のタイミングで起動して、絶対位置を測定することができる。デジタルカメラ２など動作中のデバイス内ノイズが大きい用途においては、他の機能ブロックが停止している状態、又はスタンバイ状態であるときに絶対位置取得部を起動し、絶対位置検出を行うことが、より安定した検出を助けるために望ましい。
【００５６】
ここで、本実施形態では手ぶれ検出時刻を起点として有効センサーデータの保存開始、絶対位置取得部の起動を実施しているが、これは手ぶれ検出時刻を撮影者が位置情報を要求したタイミングであると判断しているためである。例えば、手ぶれ検出頻度をもって手ぶれ検出時刻を決定する場合、撮影者がデジタルカメラ２を構えているときには小さな手ぶれ振動が短い周期で観測される傾向がある。これはデジタルカメラ２が動かないように両腕に力を入れてデジタルカメラ２を支えているために生じる現象である。したがって、処理部１０は手ぶれ検出部２８からの手ぶれ信号を解析して、手ぶれ信号の発生頻度と強度が所定条件を満たした場合、撮影者がデジタルカメラ２で撮影する意思を持ったと判断する。
【００５７】
又は、手ぶれ信号の時間変化パターンで判定する構成にしても良い。この構成では処理部１０は撮影者の手ぶれパターンを事前に記憶しているか、学習することで、手ぶれ検出部２８からの手ぶれ信号に対する参照パターンを取得し、それらを比較することで撮影者の撮影意思を判定するようにしても良い。いずれにしても、手ぶれ検出時刻を撮影者の撮影意思表示タイミングとして捉え、センサーデータの抽出や絶対位置取得部の起動の基準とする。
【００５８】
次いで、図４（Ｂ）に示すように、時刻「ｔ7」にて取得した絶対位置情報と保存された移動ベクトルデータとを用いて、撮影時刻「ｔ0」における位置を決定する。まず、絶対位置情報と、時刻「ｔ7」に最も近い時刻「ｔ6」における移動ベクトルｇとから、時刻「ｔ6」における位置を決定する。概念的に説明すると、移動ベクトルｇの終点（矢印の先端）を絶対位置に合わせて配置したとき、移動ベクトルｇの始点の位置が時刻「ｔ6」における絶対位置とする。これを時刻を遡りながら各々の移動ベクトルの端点を繋ぎあわせていくと、最終的に時刻「ｔ0」における絶対位置が決定される。算出された絶対位置は絶対位置記憶部４４に時刻「ｔ0」と対応付けて保存される。
【００５９】
図２のデータ構成の説明に戻って、記憶部２４には、地図データ部４６と、センサーデータ一時記憶部３８と、有効センサーデータ記憶部４０と、移動ベクトルデータ記憶部４２と、絶対位置記憶部４４とから構成されている。
【００６０】
地図データは、位置座標と対応付けて駅や公園、寺社、ショッピングモールといった各種の施設が登録されたデータベースである。地図データは、処理部１０が撮影場所の解析を行うために使用される。
【００６１】
センサーデータ一時記憶部３８は、センサー部１４の検出結果が時系列に記憶されたデータが保存される。センサーデータは、センサー部１４の検出時刻と対応付けて、加速度センサーにより検出された３軸の加速度と、ジャイロセンサーにより検出された３軸の軸周りの角速度と、方位センサーにより検出された方位とが記憶される。手ぶれ判定時刻より前のセンサーデータはセンサーデータ一時記憶部３８に保存され、保存領域がいっぱいになったり処理部１０からの指示があったりすると、古いデータを削除しながら新しい情報を保存するように動作する。
【００６２】
有効センサーデータ記憶部４０は、手ぶれ判定時刻から絶対位置取得時刻までの期間に出力されるセンサーデータを保存する記憶部である。有効センサーデータ記憶部４０に保存されたデータを使って、移動ベクトルデータが算出される。
【００６３】
移動ベクトルデータ記憶部４２は、デジタルカメラ２の移動状態を示す移動ベクトルが時系列に記憶されたデータである。移動ベクトルデータには、移動ベクトルの算出時刻と対応付けて、例えば直交座標系における移動ベクトルの成分が時系列に記憶される。図４（Ａ）では、簡単のためにセンサーデータの出力周期と移動ベクトル算出周期が同じになるように図示しているが、センサー部１４の検出時間間隔は、移動ベクトルの算出時間間隔より短い。したがって、センサー部１４の所定検出回数分（例えば１０回分）のデータによって、１回分の移動ベクトルが算出される。
【００６４】
３．処理の流れ
図５は、本実施形態に係る移動ベクトル算出処理の流れを示すフローチャートである。
先ず、処理部１０は、ステップＳ１００において移動ベクトルの算出タイミングであるか否かを判定する。移動ベクトルの算出タイミングは、手ぶれ判定時刻以降の任意のタイミングであり、有効センサーデータを使って移動ベクトルを算出するかどうかを判断する。また、センサー部１４の検出時間間隔よりも長い時間間隔毎のタイミングである。移動ベクトルの算出周期は、例えば撮影者の移動速度により設定しても良い。
【００６５】
移動ベクトルの算出タイミングであると判定した場合（Ｙｅｓ）、処理部１０は、ステップＳ１１０において所定時間分のセンサー部の検出結果に基づいて移動ベクトルを算出する。移動ベクトルの大きさは、加速度センサーの検出結果を積分することで算出される。また、移動ベクトルの向きは、ジャイロセンサーの検出結果の積分値と、方位センサーの検出結果とを用いて算出される。
【００６６】
次いで、処理部１０は、ステップＳ１２０において算出した移動ベクトルを算出に使用した有効センサーデータの時刻と対応付けて記憶部２４の移動ベクトルデータ記憶部４２に保存する。そして、処理部１０は、先頭の処理に戻り、上記の処理を繰り返し実行する。
【００６７】
図６は、本実施形態に係る撮影位置算出処理の一例である撮影位置算出処理の流れを示すフローチャートである。先ず、ステップＳ２００においてＧＰＳにより絶対位置を取得すると、ステップＳ２１０において絶対位置取得時刻に最も近い時刻の移動ベクトルデータを移動ベクトルデータ記憶部４２から読み出す。図４（Ａ）で説明すると、時刻「ｔ6」対応する移動ベクトルデータ「ｇ」を読み出す。ステップＳ２２０において絶対位置と移動ベクトルデータとを用いて時刻「ｔ6」における絶対位置を算出する。この算出された時刻「ｔ6」における絶対位置を起点に、時刻「ｔ5」に対応する移動ベクトルデータを使って、時刻「ｔ5」における絶対位置を算出する。
【００６８】
移動ベクトルデータ記憶部４２に保存されているデータは、絶対位置取得時刻に近い順に読み出され、上述のように順次計算に柿葉される。ステップＳ２３０において移動ベクトルデータ記憶部４２に保存されたデータ全てを使用したら撮影位置算出処理は終了し、撮影時刻における撮影位置が決定される。
【００６９】
移動ベクトルデータ記憶部４２に保存されるデータは、移動ベクトルデータ記憶部４２の内部で処理することで、一つのベクトルに合成し、絶対位置取得部からの絶対位置と組み合わせることで、撮影時刻における位置を算出しても良い。
【００７０】
撮影位置算出処理を行った後、処理部１０は、撮影場所添付処理を行う。具体的には、撮影位置算出処理で求めた撮影位置と記憶部２４の地図データとを照査して、算出位置の位置座標が含まれる施設名を特定する。そして、特定した施設名を撮影画像と対応付けて、撮影画像ＤＢ２６に記憶させる。
【００７１】
図７は、本実施形態に係る撮影画像ＤＢ２６に格納されるデータの一例を示す図である。撮影画像ＤＢ２６には、撮影画像のデータファイル名と、当該撮影画像の撮影日時と、当該撮影画像の撮影方向と、当該撮影画像の撮影時刻におけるデジタルカメラ２の位置として算出された算出位置と、当該算出位置が含まれる施設の名称である施設名とが対応付けて記憶される。なお、撮影のみが行われ、撮影場所の解析処理が行われていない場合には、当該撮影画像には、未だ算出位置と施設名とが対応付けられていない状態となる。
【符号の説明】
【００７２】
２…デジタルカメラ  １０…処理部  １２…ＧＰＳ受信部  １４…センサー部  １６…操作部  １８…表示部  ２０…撮像部  ２２…計時部  ２４…記憶部  ２６…撮影画像ＤＢ  ２８…手ぶれ検出部  ３０…手ぶれ補正部  ３２…メインプログラム  ３４…移動ベクトル算出プログラム  ３６…位置算出プログラム  ３８…センサーデータ一時記憶部  ４０…有効センサーデータ記憶部  ４２…移動ベクトルデータ記憶部  ４４…絶対位置記憶部  ４６…地図データ部。
【図１】
0005857504.tif 000002
【図２】
0005857504.tif 000003
【図３】
0005857504.tif 000004
【図４】
0005857504.tif 000005
【図５】
0005857504.tif 000006
【図６】
0005857504.tif 000007
【図７】
0005857504.tif 000008