位置算出方法及び位置算出装置
【課題】後刻において、過去の希望時刻における位置算出を可能とする技術の提供。
【解決手段】デジタルカメラ3において、メジャメント取得部21は、GPS衛星からGPS衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて記憶部90に記憶させる第1処理を断続的に実行する。その一方で、処理部10は、センサー部30の検出結果を用いて移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる第2処理を継続的に実行する。そして、撮影時刻に最近接する取得時刻に取得されたメジャメント情報と、当該取得時刻から撮影時刻までの間に算出された移動ベクトルとを用いて、撮影時刻における位置を算出する。
【解決手段】デジタルカメラ3において、メジャメント取得部21は、GPS衛星からGPS衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて記憶部90に記憶させる第1処理を断続的に実行する。その一方で、処理部10は、センサー部30の検出結果を用いて移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる第2処理を継続的に実行する。そして、撮影時刻に最近接する取得時刻に取得されたメジャメント情報と、当該取得時刻から撮影時刻までの間に算出された移動ベクトルとを用いて、撮影時刻における位置を算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置算出方法及び位置算出装置に関する。
【背景技術】
【0002】
測位用信号を利用した測位システムとしては、GPS(Global Positioning System)が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。GPSでは、複数のGPS衛星の位置や各GPS衛星から位置算出装置までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【0003】
位置算出装置は、携帯型電話機やカーナビゲーション装置といった電子機器の他にも、種々の電子機器に内蔵されて利用されている。例えば、位置算出装置を搭載したデジタルカメラにおいて、撮影画像のデータと位置情報のデータとを対応付けて記録する技術が考案されている(例えば特許文献1。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−307913号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
GPSを利用して位置算出計算を行うためには、GPS衛星の衛星軌道データが必要となる。しかし、衛星軌道データを保持していない状態で測位を開始する、いわゆるコールドスタート等の状態では、GPS衛星から衛星軌道データを取得するために一定の時間が必要となる。一方で、上述したデジタルカメラを例に挙げると、撮影は短時間で終了する。そのため、撮影時刻に位置算出を完結させることには時間的な問題がある。他の電子機器についても同様に考えると、所与の希望時刻に位置算出を完結させることには時間的な問題があると言える。
【0006】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、後刻において、過去の希望時刻における位置算出を可能とする技術を提供することにある。
【課題を解決するための手段】
【0007】
以上の課題を解決するための第1の形態は、測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行することと、少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行することと、所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出することと、を含む位置算出方法である。
【0008】
また、他の形態として、測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行する第1処理実行部と、少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行する第2処理実行部と、所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出する位置算出部と、を備えた位置算出装置を構成してもよい。
【0009】
この第1の形態等によれば、測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶させておく。メジャメント情報は、位置算出を行うために必要な情報である。その一方で、少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶させておく。このようにして予め記憶させておいたメジャメント情報と移動情報とを用いることで、後刻において、過去の任意の希望時刻における位置算出を実現することができる。
【0010】
また、第2の形態として、第1の形態の位置算出方法であって、前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報を用いて基点位置を求め、当該基点位置に対する相対位置を前記移動情報を用いて算出することで、前記希望時刻における位置を算出することを含む、位置算出方法を構成してもよい。
【0011】
この第2の形態によれば、取得時刻が近接時刻条件を満たすメジャメント情報を用いて基点位置を求める。そして、当該基点位置に対する相対位置を第2記憶部に記憶されている移動情報を用いて算出することで、希望時刻における位置を算出する。
【0012】
また、第3の形態として、第1又は第2の形態の位置算出方法であって、前記位置を算出することは、前記希望時刻の直前又は直後の取得時刻を前記近接時刻条件として前記第1記憶部からメジャメント情報を読み出すことを含む、位置算出方法を構成してもよい。
【0013】
この第3の形態によれば、希望時刻の直前又は直後の取得時刻を近接時刻条件として第1記憶部からメジャメント情報を読み出すことで、希望時刻により近い取得時刻に取得されたメジャメント情報を用いて希望時刻における位置を求めることができる。
【0014】
また、第4の形態として、第1又は第2の形態の位置算出方法であって、前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報であって、所定の高信頼性条件を満たすメジャメント情報を前記第1記憶部から読み出すことを含む、位置算出方法を構成してもよい。
【0015】
この第4の形態によれば、取得時刻が近接時刻条件を満たすメジャメント情報であって、所定の高信頼性条件を満たすメジャメント情報を第1記憶部から読み出す。信頼性の高いメジャメント情報を第1記憶部から読み出して位置算出計算に利用することで、位置算出の正確性を向上させることができる。
【0016】
また、第5の形態として、第1〜第4の何れかの形態の位置算出方法であって、前記希望時刻は、所定の撮影処理が実行された時刻である、位置算出方法を構成してもよい。
【0017】
この第5の形態によれば、例えば撮影機能を有する電子機器において、撮影処理実行時における当該電子機器の位置を適切に求めることができる。
【0018】
また、第6の形態として、第1〜第5の何れかの形態の位置算出方法であって、前記測位用衛星はGPS衛星であり、前記GPS衛星の精密暦を取得することを更に含み、前記位置を算出することは、前記精密暦を更に用いて位置を算出することである、位置算出方法を構成してもよい。
【0019】
GPS衛星の精密暦は、GPS衛星の過去の衛星軌道に関する精確なデータである。第6の形態によれば、この精密暦を取得して位置算出計算に利用することで、希望時刻における位置をより正確に求めることが可能となる。
【図面の簡単な説明】
【0020】
【図1】位置算出システムのシステム構成の一例を示す図。
【図2】デジタルカメラの機能構成の一例を示すブロック図。
【図3】記憶部のデータ構成の一例を示す図。
【図4】(A)は時刻と移動ベクトルの概念図。(B)は位置算出の説明図。
【図5】(A)は時刻と移動ベクトルの概念図。(B)は位置算出の説明図。
【図6】センサーデータのデータ構成の一例を示す図。
【図7】移動ベクトルデータのデータ構成の一例を示す図。
【図8】衛星別メジャメントデータのデータ構成の一例を示す図。
【図9】撮影画像DBのデータ構成の一例を示す図。
【図10】メイン処理の流れを示すフローチャート。
【図11】メイン処理の流れを示すフローチャート。
【図12】移動ベクトル算出処理の流れを示すフローチャート。
【図13】位置算出処理の流れを示すフローチャート。
【図14】(A)は時刻と移動ベクトルの概念図。(B)は位置算出の説明図。
【発明を実施するための形態】
【0021】
以下、図面を参照して、電子機器の一種であるデジタルカメラの位置算出を行うシステムである位置算出システムの実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【0022】
1.システム構成
図1は、本実施形態における位置算出システム1のシステム構成の一例を示す図である。位置算出システム1は、サーバー2と、デジタルカメラ3とを備え、サーバー2とデジタルカメラ3とがネットワークNによって通信接続されて構成される。
【0023】
サーバー2は、デジタルカメラ3が、それぞれネットワークNを介して通信可能なサーバーであり、GPS衛星の精密暦94を保持している。精密暦94とは、GPS衛星の実際の位置である実績位置及びGPS衛星に搭載された原子時計の実際の誤差である時計実績誤差を含む精密な衛星軌道データであり、米国測地局や国際GPS(Global Positioning System)サービス等が実際にGPS衛星を観測して作成・提供しているデータである。サーバー2は、精密暦を提供している民間や公営のコンピュータシステム、或いはそのコンピュータシステムから随時又は定期的に精密暦を取得するコンピュータシステムである。
【0024】
デジタルカメラ3は、ユーザー操作に従って、撮像素子で撮影した画像をデジタルデータとして記録し、撮影画像の表示や印刷等を実行可能に構成された電子機器である。本実施形態において、デジタルカメラ3はGPS機能を有しており、GPS衛星から発信されているGPS衛星信号を受信することによって、位置算出計算に利用する諸量としてのメジャメント情報を取得する処理を行う。
【0025】
GPS衛星信号は、拡散符号の一種であるCA(Coarse and Acquisition)コードによって、スペクトラム拡散方式として知られるCDMA(Code Division Multiple Access)方式によって変調された1.57542[GHz]の通信信号である。CAコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号であり、GPS衛星毎に異なるものである。
【0026】
本実施形態において、メジャメント情報には、受信したGPS衛星信号のCAコード(以下、「受信CAコード」と称す。)の位相であるコード位相と、受信したGPS衛星信号の周波数である受信周波数との2種類の情報が含まれる。デジタルカメラ3は、内蔵されたGPS受信機を間欠動作させることによりメジャメント情報を取得し、記憶部に記憶させる処理(第1処理)を断続的に行う。
【0027】
また、本実施形態において、デジタルカメラ3は、加速度センサーやジャイロセンサー等の慣性センサーを有するセンサー部を具備している。そして、センサー部の検出結果を用いて、デジタルカメラ3の移動方向及び移動距離でなる移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部に記憶する処理(第2処理)を継続的に実行する。そして、撮影後の任意のタイミングで、断続的に取得して記憶させておいたメジャメント情報と、継続的に算出して記憶させておいた移動ベクトルとを用いて、過去の撮影時刻(希望時刻)におけるデジタルカメラ3の位置を算出する。
【0028】
2.機能構成
図2は、デジタルカメラ3の機能構成の一例を示すブロック図である。デジタルカメラ3は、処理部10と、GPS受信部20と、センサー部30と、操作部40と、表示部50と、通信部60と、撮像部70と、時計部80と、記憶部90と、撮影画像DB(Data Base)100とを備えて構成される。
【0029】
処理部10は、記憶部90に記憶されているシステムプログラム等の各種プログラムに従ってデジタルカメラ3の各部を統括的に制御する制御装置であり、CPU(Central Processing Unit)等のプロセッサーを有して構成される。処理部10は、デジタルカメラ3の本質的な機能を実現するために、操作部40を介して入力された指示操作に従って、デジタルカメラ3の正面方向の画像を撮像部70に撮影させる撮影処理を実行したり、撮影された画像を表示部50に表示させる処理を行う。
【0030】
また、処理部10は、デジタルカメラ3に位置算出機能を実現させるために、次のような処理を行う。すなわち、GPS受信部20により取得されたメジャメント情報を取得時刻と対応付けて記憶部90に記憶させる処理(第1処理)を断続的に実行する。また、センサー部30の検出結果を用いてデジタルカメラ3の移動方向及び移動距離を示す移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる処理(第2処理)を継続的に実行する。そして、記憶部90に記憶されたメジャメント情報と移動ベクトルとを用いて、後刻において、撮影処理を実行した時刻(希望時刻)におけるデジタルカメラ3の位置を算出する処理を行う。
【0031】
GPS受信部20は、不図示のGPSアンテナにより受信されたGPS衛星信号に基づいてデジタルカメラ3の位置を計測する位置算出回路或いは位置算出装置であり、いわゆるGPS受信機に相当する機能ブロックである。図示を省略するが、GPS位置算出部20は、RF受信回路部と、ベースバンド処理回路部とを備えて構成される。なお、RF受信回路部と、ベースバンド処理回路部とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0032】
GPS受信部20は、受信信号からGPS衛星信号を捕捉してメジャメント情報を取得するメジャメント取得部21を機能部として具備している。メジャメント取得部21は、受信したGPS衛星信号の拡散符号である受信CAコードと、装置内部で発生させた擬似的なCAコードであるレプリカCAコードとの相関演算を行ってGPS衛星信号を捕捉する。この際、GPS衛星信号の受信周波数を特定するためにサーチ周波数を変化させながら、受信CAコードとレプリカCAコードとの相関演算を行う。
【0033】
また、メジャメント取得部21は、受信CAコードに乗算するレプリカCAコードの位相(コード位相)を変化させながら相関演算を行う。メジャメント取得部21は、相関演算により計算される相関値が最大となる受信周波数及びコード位相を検出し、これらをメジャメント情報として処理部10に出力する。メジャメント情報のうち、受信周波数は、主としてGPS衛星信号の捕捉やデジタルカメラ3の速度算出計算に用いられる。また、コード位相は、主としてデジタルカメラ3の位置算出計算に用いられる。
【0034】
センサー部30は、デジタルカメラ3の移動状態を検出するための慣性センサーを有して構成され、例えば、加速度センサー31と、ジャイロセンサー33と、方位センサー35とを具備している。
【0035】
加速度センサー31は、デジタルカメラ3の加速度を検出するセンサーであり、歪みゲージ式や圧電式の何れであってもよく、またMEMS(Micro Electro Mechanical Systems)センサーであってもよい。また、ジャイロセンサー33は、デジタルカメラ3の角速度を検出するセンサーであり、加速度センサー31と軸方向が同一となるように配置設定されている。
【0036】
加速度センサー31及びジャイロセンサー33は、予めセンサーに対応付けて定められたローカルな座標系であるセンサー座標系の直交3軸それぞれの軸方向の加速度及び各軸の軸周りの角速度を検出して出力するように設計されている。なお、加速度センサー31及びジャイロセンサー33は、それぞれが独立したセンサーであってもよいし、一体型のセンサーであってもよい。
【0037】
方位センサー35は、デジタルカメラ3の移動方向を検出するセンサーであり、例えば地磁気センサーを有して構成される。地磁気センサーは、いわゆる電子コンパスであり、地磁気を検知することにより北の方位を検出可能に構成されたセンサーである。
【0038】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部10に出力する。この操作部40の操作により、撮影指示操作や撮影画像閲覧指示操作、撮影場所解析指示操作等の各種指示操作がなされる。
【0039】
表示部50は、LCD(Liquid Crystal Display)等により構成され、処理部10から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、ファインダー画像や撮影画像等が表示される。
【0040】
通信部60は、処理部10からの指示信号に従って、サーバー2や他のデジタルカメラ3との間で通信を行うための通信装置である。この機能は、例えば、IEEE802.11によるワイヤレスLANやBluetooth(登録商標)等の無線通信モジュール等により実現される。
【0041】
撮像部70は、処理部10からの指示信号に従って、デジタルカメラ3の正面方向(レンズが向けられている方向)の画像を撮像する回路部であり、CCD(Charge Coupled Device)イメージセンサー等の撮像素子を有して構成される。
【0042】
時計部80は、デジタルカメラ3の内部時計であり、計時時刻を処理部10に出力する。計時誤差の存在により、時計部80の計時時刻は時間経過に伴って正確な時刻からずれる。そのため、位置算出計算により算出された計時誤差を用いて、時計部80の計時誤差が較正され、正確な時刻を計時するように調整される。処理部10は、時計部80の計時時刻に基づいて、メジャメント情報の取得時刻や移動ベクトルの算出時刻、撮影時刻といった時刻を判定する。
【0043】
記憶部90は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置によって構成され、デジタルカメラ3のシステムプログラムや、撮影機能、撮影画像表示機能、撮影場所解析機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0044】
撮影画像DB100は、処理部10が撮影処理を実行することで撮影した画像が蓄積的に記憶されるデータベースである。
【0045】
3.データ構成
図3は、記憶部90に格納されたデータの一例を示す図である。記憶部90には、プログラムとして、処理部10により読み出され、メイン処理(図10及び図11参照)として実行されるメインプログラム91が記憶されている。また、メインプログラム91には、移動ベクトル算出処理(図12参照)として実行される移動ベクトル算出プログラム911と、位置算出処理(図13参照)として実行される位置算出プログラム913とがサブルーチンとして含まれている。
【0046】
メイン処理には、処理部10が、撮影機能や撮影画像表示機能等といったデジタルカメラ3としての本質的な機能を発揮するための処理の他、位置算出処理により算出した位置に基づいて撮影場所を解析する処理が含まれる。撮影場所の解析を行った後は、処理部10は、解析した撮影場所等の情報を撮影画像と対応付けて撮影画像DB100に記憶させ、撮影画像表示処理において撮影場所等の情報も併せて表示部50に表示させる。
【0047】
移動ベクトル算出処理とは、処理部10が、センサー部30の検出結果を用いて、デジタルカメラ3の移動方向及び移動距離を示す移動ベクトルを継続的に算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる処理である。
【0048】
また、位置算出処理とは、処理部10が、記憶部90に蓄積的に記憶されたメジャメント情報と移動ベクトルとを用いて、後刻において、撮影処理を実行した時刻(撮影時刻)におけるデジタルカメラ3の位置を算出する処理である。
【0049】
図4及び図5を参照して、本実施形態における位置算出処理について説明する。図4(A)は、各種の時刻と移動ベクトルとを模式的に示した図であり、横軸は時間を示している。時間軸の下に示した点線の矢印は移動ベクトルの算出時刻を、実線の矢印はメジャメント情報の取得時刻を、白抜きの矢印は撮影時刻をそれぞれ示している。また、時間軸の上に示した太実線の矢印は、その向き及び長さによって当該算出時刻において算出された移動ベクトルを示しており、当該算出時刻から次の算出時刻までの移動状態を示すベクトルとして図示している。
【0050】
また、本実施形態では、移動ベクトルの算出時間間隔が、メジャメント情報の取得時間間隔よりも短いものとして説明する。図4(A)においては、時刻「h1」〜「h12」の12個の時刻を示しており、移動ベクトルの算出は毎時刻行われ、メジャメント情報の取得は5時刻毎に行われたものとして説明する。
【0051】
撮影処理が時刻「h8」において実行されたものとする。すなわち、撮影時刻は「h8」である。先ず、撮影時刻「h8」に最近接しているメジャメント取得時刻を判定する。図4(A)に示すように、撮影時刻「h8」の前後には、メジャメント取得時刻として「h6」及び「h11」の2時刻が存在するが、時間的に近接しているのは時刻「h6」であるため、時刻「h6」を最近接しているメジャメント取得時刻と判定する。この場合、メジャメント取得時刻「h6」において取得されたメジャメント情報を用いて位置算出計算を行う。
【0052】
位置算出計算は、デジタルカメラ3とGPS衛星間の擬似距離を利用して、例えば最小二乗法やカルマンフィルターを用いた公知の収束演算を行うことで実現することができる。擬似距離は、次のようにして算出する。すなわち、サーバー2から取得した精密暦94から計算されるGPS衛星の精密な衛星位置と、デジタルカメラ3の最新の算出位置とを用いて、擬似距離の整数部分を算出する。また、メジャメント情報に含まれるコード位相を用いて、擬似距離の端数部分を算出する。このようにして求めた整数部分と端数部分とを合算することで擬似距離を求める。
【0053】
次いで、位置算出計算で算出したメジャメント取得時刻「h6」におけるデジタルカメラ3の位置を基点位置として、メジャメント取得時刻「h6」から撮影時刻「h8」までの間に算出された移動ベクトルを用いて、撮影時刻「h8」におけるデジタルカメラ3の位置を算出する。具体的には、図4(B)に示すように、メジャメント取得時刻「h6」における算出位置を基点位置として、算出時刻「h6」における移動ベクトル「V6」及び算出時刻「h7」における移動ベクトル「V7」で示される移動方向及び移動距離に基づいて基点位置をシフトさせることで、撮影時刻「h8」における位置を算出する。
【0054】
図5は、位置算出処理の別例を説明するための図である。図の見方は、図4と同じである。ここでは、撮影時刻が「h9」であるものとして説明する。先ず、撮影時刻「h9」に最近接しているメジャメント取得時刻を判定する。図5(A)に示すように、撮影時刻「h9」の前後には、メジャメント取得時刻として「h6」及び「h11」の2時刻が存在するが、時間的に近接しているのは時刻「h11」である。この場合、メジャメント取得時刻「h11」において取得されたメジャメント情報を用いて位置算出計算を行う。
【0055】
次いで、メジャメント取得時刻「h11」におけるデジタルカメラ3の位置を基点位置として、撮影時刻「h9」からメジャメント取得時刻「h11」までの間に算出された移動ベクトルを用いて、撮影時刻「h9」におけるデジタルカメラ3の位置を算出する。具体的には、図5(B)に示すように、メジャメント取得時刻「h11」における算出位置を基点位置として、算出時刻「h9」における移動ベクトル「V9」を反転させたベクトル「−V9」及び算出時刻「h10」における移動ベクトル「V10」を反転させたベクトル「−V10」で示される移動方向及び移動距離に基づいて基点位置をシフトさせることで、撮影時刻「h9」における位置を算出する。
【0056】
図3のデータ構成の説明に戻って、記憶部90には、データとして、地図データ92と、メジャメント信頼度判定用テーブル93と、精密暦94と、センサーデータ95と、移動ベクトルデータ96と、衛星別メジャメントデータ97とが記憶される。記憶部90は、メジャメント情報が取得時刻と対応付けて記憶される格納領域(第1記憶部)と、移動ベクトルが算出時刻と対応付けて記憶される格納領域(第2記憶部)とを有する。
【0057】
地図データ92は、位置座標と対応付けて駅や公園、寺社、ショッピングモールといった各種の施設が登録されたデータベースである。地図データ92は、処理部10が撮影場所の解析処理を行うために使用される。
【0058】
メジャメント信頼度判定用テーブル93は、メジャメント取得部21により取得されたメジャメント情報の信頼性を示す指標値(以下、「メジャメント信頼度」と称す。)を判定するために用いられるテーブルである。メジャメント信頼度は、例えば「0〜1」の範囲の値で表現され、「0」がメジャメント情報の信頼性が最も低く、「1」がメジャメント情報の信頼性が最も高いことを意味する。
【0059】
メジャメント信頼度は、種々の観点から判定することができる。例えば、GPS衛星から受信したGPS衛星信号の信号強度に基づいて判定することができる。受信信号の信号強度が大きいほど、相関演算により得られる相関値のパワーが大きくなり、相関値のピーク検出(衛星信号捕捉)の正確性が高まる。そのため、受信信号の信号強度が大きいほど、取得されるメジャメント情報の信頼性は高くなると言える。このことから、受信信号の信号強度とメジャメント信頼度とが正の相関を有する条件を定めておけばよい。勿論、別の観点から判定してもよい。変形例で後述するが、例えばGPS衛星の仰角に応じて、仰角が高い方がメジャメント情報の信頼性が高いと判定してもよい。
【0060】
精密暦94は、各々のGPS衛星の精密な衛星軌道についてのデータであり、通信部60を介してサーバー2から取得されるデータである。精密暦94には、例えば、各GPS衛星の所定期間分の実績位置及び時計実績誤差が時系列に格納されている。
【0061】
センサーデータ95は、センサー部30の検出結果が時系列に記憶されたデータであり、そのデータ構成例を図6に示す。センサーデータ95には、センサー部30の検出時刻951と対応付けて、加速度センサー31により検出された3軸の加速度953と、ジャイロセンサー33により検出された3軸の軸周りの角速度955と、方位センサー35により検出された方位957とが記憶される。
【0062】
移動ベクトルデータ96は、デジタルカメラ3の移動状態を示す移動ベクトルが時系列に記憶されたデータであり、そのデータ構成例を図7に示す。移動ベクトルデータ96には、移動ベクトルの算出時刻961と対応付けて、例えば直交座標系における移動ベクトル963の成分が時系列に記憶される。センサー部30の検出時間間隔は、移動ベクトルの算出時間間隔より短い。従って、センサー部30の所定検出回数分(例えば10回分)のデータによって、1回分の移動ベクトルが算出される。
【0063】
衛星別メジャメントデータ97は、メジャメント取得部21により取得されたメジャメント情報がGPS衛星別に記憶されたデータであり、そのデータ構成例を図8に示す。衛星別メジャメントデータ97には、GPS衛星の番号971と対応付けて、メジャメント情報の取得時刻972と、メジャメント情報973と、受信信号の信号強度974と、メジャメント信頼度975とでなるメジャメントデータが記憶されている。
【0064】
本実施形態では、メジャメント取得部21が、移動ベクトルの算出時間間隔よりも長い時間間隔でメジャメント情報を取得するように設計・構成されているものとして説明する。すなわち、メジャメント情報の取得時刻972の時間間隔は、移動ベクトルデータ96の算出時刻961の時間間隔よりも長くなる。
【0065】
メジャメント情報973には、当該GPS衛星から受信したCAコード(受信CAコード)の位相であるコード位相と、当該GPS衛星からGPS衛星信号を受信した際の周波数である受信周波数とが含まれる。信号強度974は、当該GPS衛星から受信したGPS衛星信号の強度であり、例えばC/N比(Carrier to Noise ratio)といった指標値で表される。また、メジャメント信頼度975は、当該GPS衛星について取得されたメジャメント情報973の信頼性を示す指標値である。
【0066】
図9は、撮影画像DB100に格納されるデータの一例を示す図である。撮影画像DB100には、撮影画像のデータファイル名101と、当該撮影画像の撮影日時103と、当該撮影画像の撮影方向105と、当該撮影画像の撮影時刻におけるデジタルカメラ3の位置として算出された算出位置107と、当該算出位置107が含まれる施設の名称である施設名109とが対応付けて記憶される。なお、撮影のみが行われ、撮影場所の解析処理が行われていない場合には、当該撮影画像には、未だ算出位置107と施設名109とが対応付けられていない状態となる。
【0067】
4.処理の流れ
図10及び図11は、記憶部90に記憶されているメインプログラム91が処理部10により読み出されて実行されることで、デジタルカメラ3において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、デジタルカメラ3の初期電源投入後に実行される処理である。
【0068】
最初に、処理部10は、デジタルカメラ3をアクティブモードで起動する(ステップA1)。本実施形態では、デジタルカメラ3が撮影機能や撮影画像閲覧機能、撮影場所解析機能等を実行可能な状態として動作しているモードを「アクティブモード」として説明する。その一方、上記の機能が実行不能な状態として休止しているモードを「スリープモード」として説明する。「スリープモード」とは、処理部10が省電力状態で稼働しているモードであり、電源OFFとされていない待機モードとも言える。
【0069】
起動した後、処理部10は、記憶部90に記憶されている移動ベクトル算出プログラム911を読み出して実行することで、移動ベクトル算出処理を開始する(ステップA2)。以後、移動ベクトル算出処理は常駐的に実行され、移動ベクトルの算出が継続的に行われる。
【0070】
図12は、移動ベクトル算出処理の流れを示すフローチャートである。
先ず、処理部10は、移動ベクトルの算出タイミングであるか否かを判定する(ステップB1)。移動ベクトルの算出タイミングは、センサー部30の検出時間間隔よりも長い時間間隔毎のタイミングである。
【0071】
そして、移動ベクトルの算出タイミングであると判定した場合は(ステップB1;Yes)、処理部10は、所定時間分のセンサー部30の検出結果に基づいて移動ベクトルを算出する(ステップB3)。移動ベクトルの大きさは、加速度センサー31の検出結果を積分することで算出される。また、移動ベクトルの向きは、ジャイロセンサー33の検出結果の積分値と、方位センサー35の検出結果とを用いて算出される。
【0072】
次いで、処理部10は、ステップB3で算出した移動ベクトル963を算出時刻961と対応付けて記憶部90の移動ベクトルデータ96に記憶させる(ステップB5)。そして、処理部10は、ステップB1に戻り、上記の処理を繰り返し実行する。
【0073】
図10のメイン処理に戻って、移動ベクトル算出処理を開始した後、処理部10は、操作部40を介してなされたデジタルカメラ3の切替操作を判定する(ステップA3)。そして、切替操作が撮影指示操作であると判定した場合は(ステップA3;撮影指示操作)、処理部10は、撮影処理を開始する(ステップA5)。
【0074】
具体的には、撮影モードに移行し、デジタルカメラ3の正面方向のファインダー画像を表示部50に表示させる。そして、操作部40を介してシャッター操作がなされた場合に、撮像部70に撮影を実行させ、撮影された画像のデータ101を撮影日時103と対応付けて撮影画像DB100に記憶させる。また、ジャイロセンサー33及び方位センサー35の検出結果に基づいて撮影方向105を算出し、併せて撮影画像DB100に記憶させる。
【0075】
なお、撮影処理では、手ぶれ補正処理を行うことにすれば好適である。例えば、ジャイロセンサー33の検出結果を用いて、レンズシフト方式やイメージセンサーシフト方式、レンズユニットスイング方式などの光学式の補正方式に従って手ぶれ補正処理を実行すればよい。
【0076】
次いで、処理部10は、メジャメント情報の取得タイミングであるか否かを判定する(ステップA7)。そして、取得タイミングであると判定した場合は(ステップA7;Yes)、処理部10は、GPS受信部20を起動する(ステップA9)。本実施形態では、GPS受信部20を定期的に起動させてメジャメント情報を取得させるいわゆるオールウェイズトラッキングにより、断続的なメジャメント情報の取得・記憶を実現する。
【0077】
その後、処理部10は、GPS受信部20からメジャメント情報973を入力し(ステップA11)、当該メジャメント情報973の信頼度を判定する(ステップA13)。具体的には、GPS受信部20から信号強度974を入力し、記憶部90に記憶されているメジャメント信頼度判定用テーブル93を参照して、当該メジャメント情報973のメジャメント信頼度975を判定する。そして、これらの情報を対応付けて記憶部90の衛星別メジャメントデータ97に記憶させる。
【0078】
次いで、処理部10は、GPS受信部20を停止させる(ステップA15)。そして、撮影処理を終了するか否かを判定し(ステップA17)、まだ終了しないと判定した場合は(ステップA17;No)、ステップA7に戻る。また、撮影処理を終了すると判定した場合は(ステップA17;Yes)、撮影処理を終了して、ステップA31へと処理を移行する。
【0079】
一方、ステップA3において切替操作が撮影画像閲覧指示操作であると判定した場合は(ステップA3;撮影画像閲覧指示操作)、処理部10は、撮影画像表示処理を開始する(ステップA19)。すなわち、撮影画像閲覧モードに移行し、操作部40を介したユーザーの選択操作に従って、撮影画像DB100に記憶されているデータファイル名101の撮影画像データを読み出して表示部50に表示させる。この際、例えば、当該撮影画像に対応付けられている撮影日時103、撮影方向105及び施設名109を併せて表示させる。なお、算出位置107を示す位置座標も併せて表示させることとしてもよい。
【0080】
次いで、処理部10は、ステップA7〜A15の処理を行う。そして、撮影画像表示処理を終了するか否かを判定し(ステップA21)、まだ終了しないと判定した場合は(ステップA21;No)、ステップA19の後のステップA7に戻る。また、撮影画像表示処理を終了すると判定した場合は(ステップA21;Yes)、撮影画像表示処理を終了して、ステップA31へと処理を移行する。
【0081】
一方、ステップA3において切替操作が撮影場所解析指示操作であると判定した場合は(ステップA3;撮影場所解析指示操作)、処理部10は、通信部60の通信状態が「ON」になっているか否かを判定する(ステップA23)。そして、通信状態が「OFF」であると判定した場合は(ステップA23;No)、ステップA31へと処理を移行する。
【0082】
また、通信状態が「ON」であると判定した場合は(ステップA23;Yes)、処理部10は、サーバー2にアクセスして精密暦94を取得し、記憶部90に記憶させる(ステップA25)。そして、処理部10は、記憶部90に記憶されている位置算出プログラム913に従って位置算出処理を行う(ステップA27)。
【0083】
図13は、位置算出処理の流れを示すフローチャートである。先ず、処理部10は、撮影場所の解析対象とする各撮影画像それぞれについてループAの処理を実行する(ステップC1〜C15)。
【0084】
ループAの処理では、処理部10は、衛星別メジャメントデータ97を参照して、当該撮影画像の撮影時刻の直前及び直後のメジャメント取得時刻972を判定する(ステップC3)。そして、直前及び直後のメジャメント取得時刻のうち、当該撮影画像の撮影時刻に近い方のメジャメント取得時刻を選択し(ステップC5)、選択したメジャメント取得時刻972に取得されたメジャメント情報973を、記憶部90の衛星別メジャメントデータ97から読み出す(ステップC7)。
【0085】
その後、処理部10は、ステップC7で読み出したメジャメント情報973と、記憶部90に記憶されている精密暦94とを用いて、基点位置を算出するための位置算出計算を実行する(ステップC9)。
【0086】
その一方で、処理部10は、当該撮影画像の撮影時刻と、ステップC5で選択したメジャメント取得時刻との間の算出時刻961に算出された移動ベクトル963を、記憶部90の移動ベクトルデータ96から読み出す(ステップC11)。
【0087】
そして、処理部10は、ステップC9で算出した基点位置と、ステップC11で読み出した移動ベクトルとを用いて、撮影時刻におけるデジタルカメラ3の位置を算出する(ステップC13)。そして、処理部10は、次の撮影画像へと処理を移行する。
【0088】
撮影場所の解析対象とする全ての撮影画像についてステップC3〜C13の処理を行った後、処理部10は、ループAの処理を終了する(ステップC15)。そして、処理部10は、位置算出処理を終了する。
【0089】
図10のメイン処理に戻って、位置算出処理を行った後、処理部10は、撮影場所添付処理を行う(ステップA29)。具体的には、位置算出処理で求めた算出位置と記憶部90の地図データ92とを照査して、算出位置の位置座標が含まれる施設名を特定する。そして、特定した施設名109を撮影画像と対応付けて撮影画像DB100に記憶させる。
【0090】
ステップA17、A21又はA29の処理を行った後、処理部10は、スリープモードに移行するか否かを判定する(ステップA31)。すなわち、操作部40を介してユーザーによりデジタルカメラ3をスリープモードにする指示操作がなされたか否かを判定する。そして、スリープモードに移行すると判定した場合は(ステップA31;Yes)、アクティブモードからスリープモードへと移行した後(ステップA33)、ステップA7〜A15の処理を実行する。
【0091】
次いで、処理部10は、スリープモードを解除するか否かを判定する(ステップA35)。すなわち、操作部40を介してユーザーによりアクティブモードに切り替える指示操作がなされたか否かを判定する。
【0092】
スリープモードを解除しないと判定した場合は(ステップA35;No)、処理部10は、ステップA33の次のステップA7に戻る。また、スリープモードを解除すると判定した場合は(ステップA35;Yes)、処理部10は、アクティブモードに移行する(ステップA37)。そして、ステップA3に戻る。
【0093】
5.作用効果
デジタルカメラ3において、メジャメント取得部21は、GPS衛星からGPS衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて記憶部90に記憶させる第1処理を断続的に実行する。その一方で、処理部10は、センサー部30の検出結果を用いて移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる第2処理を継続的に実行する。そして、撮影時刻に最近接する取得時刻に取得されたメジャメント情報と、当該取得時刻から撮影時刻までの間に算出された移動ベクトルとを用いて、撮影時刻における位置を算出する。
【0094】
メジャメント情報を断続的に取得して記憶部90に記憶させておくとともに、移動ベクトルを継続的に算出して記憶部90に記憶させておく。そして、撮影時刻に最近接する取得時刻において取得されたメジャメント情報を用いて基点位置を求め、当該基点位置に対する相対位置を、当該取得時刻と撮影時刻との間に算出された移動ベクトルを用いて算出する。これは、撮影時に位置算出を完結させる方式ではなく、撮影時における位置算出用の情報を記憶させておいて、事後的に撮影位置を算出するという新たな方式である。
【0095】
また、本実施形態において、デジタルカメラ3は、サーバー2と通信を行って、GPS衛星の精密な衛星軌道のデータである精密暦を取得し、メジャメント情報を用いた位置算出計算に利用する。精密な衛星軌道データを用いて位置算出計算を行うため、撮影位置を正確に求めることができる。
【0096】
6.変形例
6−1.電子機器
上述した実施形態では、電子機器の一種であるデジタルカメラに本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。同じ撮影機能を有する電子機器として、例えば携帯型電話機やPDA(Personal Digital Assistant)に本発明を適用し、これらの電子機器で撮影処理を実行した時刻における位置算出を行うこととしてもよい。また、撮影機能を有しない電子機器についても本発明を同様に適用可能である。
【0097】
6−2.希望時刻
上記と関連して、撮影機能を有する電子機器において撮影処理を実行した時刻を希望時刻として位置算出を行うのではなく、他の処理時刻を希望時刻として位置算出を行うこととしてもよい。例えば、位置算出装置を具備する携帯型電話機において、通話処理を実行した時刻やメールの送受信処理を実行した時刻を希望時刻として位置算出を行ってもよい。また、PDAやノート型パソコン等の通信機能を有する電子機器において、通信処理を実行した時刻を希望時刻として位置算出を行ってもよい。
【0098】
6−3.衛星測位システム
また、上述した実施形態では、衛星測位システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムであってもよい。
【0099】
6−4.メジャメント情報の読み出し
上述した実施形態では、撮影時刻に最近接する取得時刻において取得されたメジャメント情報を記憶部90から読み出して、基点位置を算出するものとして説明した。しかし、メジャメント信頼度も加味してメジャメント情報を読み出して、基点位置を算出することとしてもよい。例えば、撮影時刻の前後のメジャメント取得時刻のうち、メジャメント信頼度が高い方のメジャメント取得時刻におけるメジャメント情報を記憶部90から読み出して、基点位置を算出することとしてもよい。
【0100】
6−5.位置算出
図14は、変形例における位置算出の原理の説明図である。図の見方は、図4及び図5と同じである。ここでは、撮影時刻を「h8」として説明する。先ず、撮影時刻「h8」の前後のメジャメント取得時刻を判定する。撮影時刻「h8」の前後のメジャメント取得時刻として「h6」及び「h11」の2つの時刻が該当する。ここでは便宜的に、時刻「h6」を第1メジャメント取得時刻とし、時刻「h11」を第2メジャメント取得時刻とする。
【0101】
次に、第1メジャメント取得時刻「h6」において取得されたメジャメント情報を用いて位置算出計算を行い、第1メジャメント取得時刻「h6」におけるデジタルカメラ3の位置を算出して第1基点位置とする。そして、算出時刻「h6」及び「h7」において算出された移動ベクトル「V6」及び「V7」を記憶部から読み出し、第1基点位置と、読み出した移動ベクトル「V6」及び「V7」とを用いて、撮影時刻「h8」におけるデジタルカメラ3の位置を算出する。このようにして求めた位置を第1算出位置とする。
【0102】
その一方で、第2メジャメント取得時刻「h11」において取得されたメジャメント情報を用いて位置算出計算を行い、第2メジャメント取得時刻「h11」におけるデジタルカメラ3の位置を算出して第2基点位置とする。そして、算出時刻「h8」〜「h10」において算出された移動ベクトルを記憶部から読み出し、第2基点位置と、読み出した移動ベクトル「V8」〜「V10」を反転させた移動ベクトル「−V8」〜「−V10」とを用いて、撮影時刻「h8」におけるデジタルカメラ3の位置を算出する。このようにして求めた位置を第2算出位置とする。
【0103】
次いで、第1算出位置と第2算出位置とを用いて、撮影時刻における最終的な位置を求める。具体的には、第1算出位置と第2算出位置との平均処理を行って最終的な位置を求める。平均処理としては、単純な算術平均を適用してもよいし、加重平均を適用してもよい。加重平均を適用する場合は、例えば、第1メジャメント取得時刻と撮影時刻との時刻差、及び、第2メジャメント取得時刻と撮影時刻との時刻差に基づく重み付けを行って加重平均を行う。
【0104】
例えば、図14においては、第1メジャメント取得時刻「h6」と撮影時刻「h8」との時刻差は「2時刻」であり、第2メジャメント取得時刻「h11」と撮影時刻「h8」との時刻差は「3時刻」である。撮影時刻との時刻差が小さい取得時刻において取得されたメジャメント情報の方が、算出される位置の正確性は高くなると考えられる。そのため、例えば、第1算出位置と第2算出位置とを結ぶ線分を2:3に内分することで求められる位置を、撮影時刻「h8」における最終的な算出位置とする。
【0105】
また、別の考え方として、メジャメント信頼度に基づく重み付けを行って加重平均してもよい。メジャメント信頼度が大きいほど、メジャメント情報の信頼性が高く、算出される位置の正確性は高くなると考えられる。そのため、メジャメント信頼度の大きいメジャメント情報を利用して算出した位置ほど重みを高く設定することが適切である。
【0106】
例えば、第1メジャメント取得時刻におけるメジャメント情報の信頼度が「0.8」であり、第2メジャメント取得時刻におけるメジャメント情報の信頼度が「0.6」であるものとする。但し、メジャメント信頼度は「0」〜「1」の範囲の値であり、数値が大きいほどメジャメント情報の信頼性が高いことを意味する。この場合は、第1算出位置と第2算出位置とを結ぶ線分を1:2(=(1−0.8):(1−0.6))に内分することで求められる位置を、撮影時刻における最終的な算出位置とする。
【0107】
なお、上述したメジャメント取得時刻と撮影時刻との時刻差に基づく重み付けと、メジャメント信頼度に基づく重み付けとの両方を併用して加重平均を行うことにすれば、位置算出の正確性をより一層向上させることができる。
【0108】
6−6.メジャメント信頼度の判定方法
上述した実施形態では、GPS衛星信号を受信した受信信号の信号強度に基づいてメジャメント信頼度を判定するものとして説明したが、他の指標値に基づいてメジャメント信頼度を判定してもよい。例えば、GPS衛星信号の受信環境に基づいて判定してもよい。インドア環境(屋内環境)といった受信環境ではメジャメント信頼度は低くなるが、アウトドア環境(屋外環境)といった受信環境ではメジャメント信頼度は高くなる。
【0109】
他には、GPS衛星の仰角に基づいて判定してもよい。GPS衛星の仰角が高いほど、マルチパス等の影響を受けにくい高品質な信号が受信されるため、メジャメント信頼度は高くなる。また、GPS衛星の天空配置の指標値であるPDOP(Position Dilution Of Precision)値に基づいて判定してもよい。PDOP値が小さいほどGPS衛星の天空配置が良好であるため、メジャメント信頼度は高くなる。これらの条件を判定条件として、記憶部90のメジャメント信頼度判定用テーブル93に定めておけばよい。
【0110】
6−7.速度算出処理
上述した実施形態では、位置算出処理に着目した説明を行ったが、速度算出処理も同様に行うことができる。GPS衛星の移動とデジタルカメラ3の移動とに起因して、ドップラーが発生する。GPS衛星の精密な移動速度は、精密暦94から計算することができる。その一方で、ドップラー周波数は、メジャメント情報に含まれる受信周波数から計算することができる。そのため、公知の計算手法により、デジタルカメラ3の移動速度を算出することができる。
【符号の説明】
【0111】
1 位置算出システム、 2 サーバー、 3 デジタルカメラ、 10 処理部、 20 GPS受信部、 21 メジャメント取得部、 30 センサー部、 31 加速度センサー、 33 ジャイロセンサー、 35 方位センサー、 40 操作部、 50 表示部、 60 通信部、 70 撮像部、 80 時計部、 90 記憶部、 100 撮影画像DB
【技術分野】
【0001】
本発明は、位置算出方法及び位置算出装置に関する。
【背景技術】
【0002】
測位用信号を利用した測位システムとしては、GPS(Global Positioning System)が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された位置算出装置に利用されている。GPSでは、複数のGPS衛星の位置や各GPS衛星から位置算出装置までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【0003】
位置算出装置は、携帯型電話機やカーナビゲーション装置といった電子機器の他にも、種々の電子機器に内蔵されて利用されている。例えば、位置算出装置を搭載したデジタルカメラにおいて、撮影画像のデータと位置情報のデータとを対応付けて記録する技術が考案されている(例えば特許文献1。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−307913号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
GPSを利用して位置算出計算を行うためには、GPS衛星の衛星軌道データが必要となる。しかし、衛星軌道データを保持していない状態で測位を開始する、いわゆるコールドスタート等の状態では、GPS衛星から衛星軌道データを取得するために一定の時間が必要となる。一方で、上述したデジタルカメラを例に挙げると、撮影は短時間で終了する。そのため、撮影時刻に位置算出を完結させることには時間的な問題がある。他の電子機器についても同様に考えると、所与の希望時刻に位置算出を完結させることには時間的な問題があると言える。
【0006】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、後刻において、過去の希望時刻における位置算出を可能とする技術を提供することにある。
【課題を解決するための手段】
【0007】
以上の課題を解決するための第1の形態は、測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行することと、少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行することと、所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出することと、を含む位置算出方法である。
【0008】
また、他の形態として、測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行する第1処理実行部と、少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行する第2処理実行部と、所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出する位置算出部と、を備えた位置算出装置を構成してもよい。
【0009】
この第1の形態等によれば、測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶させておく。メジャメント情報は、位置算出を行うために必要な情報である。その一方で、少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶させておく。このようにして予め記憶させておいたメジャメント情報と移動情報とを用いることで、後刻において、過去の任意の希望時刻における位置算出を実現することができる。
【0010】
また、第2の形態として、第1の形態の位置算出方法であって、前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報を用いて基点位置を求め、当該基点位置に対する相対位置を前記移動情報を用いて算出することで、前記希望時刻における位置を算出することを含む、位置算出方法を構成してもよい。
【0011】
この第2の形態によれば、取得時刻が近接時刻条件を満たすメジャメント情報を用いて基点位置を求める。そして、当該基点位置に対する相対位置を第2記憶部に記憶されている移動情報を用いて算出することで、希望時刻における位置を算出する。
【0012】
また、第3の形態として、第1又は第2の形態の位置算出方法であって、前記位置を算出することは、前記希望時刻の直前又は直後の取得時刻を前記近接時刻条件として前記第1記憶部からメジャメント情報を読み出すことを含む、位置算出方法を構成してもよい。
【0013】
この第3の形態によれば、希望時刻の直前又は直後の取得時刻を近接時刻条件として第1記憶部からメジャメント情報を読み出すことで、希望時刻により近い取得時刻に取得されたメジャメント情報を用いて希望時刻における位置を求めることができる。
【0014】
また、第4の形態として、第1又は第2の形態の位置算出方法であって、前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報であって、所定の高信頼性条件を満たすメジャメント情報を前記第1記憶部から読み出すことを含む、位置算出方法を構成してもよい。
【0015】
この第4の形態によれば、取得時刻が近接時刻条件を満たすメジャメント情報であって、所定の高信頼性条件を満たすメジャメント情報を第1記憶部から読み出す。信頼性の高いメジャメント情報を第1記憶部から読み出して位置算出計算に利用することで、位置算出の正確性を向上させることができる。
【0016】
また、第5の形態として、第1〜第4の何れかの形態の位置算出方法であって、前記希望時刻は、所定の撮影処理が実行された時刻である、位置算出方法を構成してもよい。
【0017】
この第5の形態によれば、例えば撮影機能を有する電子機器において、撮影処理実行時における当該電子機器の位置を適切に求めることができる。
【0018】
また、第6の形態として、第1〜第5の何れかの形態の位置算出方法であって、前記測位用衛星はGPS衛星であり、前記GPS衛星の精密暦を取得することを更に含み、前記位置を算出することは、前記精密暦を更に用いて位置を算出することである、位置算出方法を構成してもよい。
【0019】
GPS衛星の精密暦は、GPS衛星の過去の衛星軌道に関する精確なデータである。第6の形態によれば、この精密暦を取得して位置算出計算に利用することで、希望時刻における位置をより正確に求めることが可能となる。
【図面の簡単な説明】
【0020】
【図1】位置算出システムのシステム構成の一例を示す図。
【図2】デジタルカメラの機能構成の一例を示すブロック図。
【図3】記憶部のデータ構成の一例を示す図。
【図4】(A)は時刻と移動ベクトルの概念図。(B)は位置算出の説明図。
【図5】(A)は時刻と移動ベクトルの概念図。(B)は位置算出の説明図。
【図6】センサーデータのデータ構成の一例を示す図。
【図7】移動ベクトルデータのデータ構成の一例を示す図。
【図8】衛星別メジャメントデータのデータ構成の一例を示す図。
【図9】撮影画像DBのデータ構成の一例を示す図。
【図10】メイン処理の流れを示すフローチャート。
【図11】メイン処理の流れを示すフローチャート。
【図12】移動ベクトル算出処理の流れを示すフローチャート。
【図13】位置算出処理の流れを示すフローチャート。
【図14】(A)は時刻と移動ベクトルの概念図。(B)は位置算出の説明図。
【発明を実施するための形態】
【0021】
以下、図面を参照して、電子機器の一種であるデジタルカメラの位置算出を行うシステムである位置算出システムの実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【0022】
1.システム構成
図1は、本実施形態における位置算出システム1のシステム構成の一例を示す図である。位置算出システム1は、サーバー2と、デジタルカメラ3とを備え、サーバー2とデジタルカメラ3とがネットワークNによって通信接続されて構成される。
【0023】
サーバー2は、デジタルカメラ3が、それぞれネットワークNを介して通信可能なサーバーであり、GPS衛星の精密暦94を保持している。精密暦94とは、GPS衛星の実際の位置である実績位置及びGPS衛星に搭載された原子時計の実際の誤差である時計実績誤差を含む精密な衛星軌道データであり、米国測地局や国際GPS(Global Positioning System)サービス等が実際にGPS衛星を観測して作成・提供しているデータである。サーバー2は、精密暦を提供している民間や公営のコンピュータシステム、或いはそのコンピュータシステムから随時又は定期的に精密暦を取得するコンピュータシステムである。
【0024】
デジタルカメラ3は、ユーザー操作に従って、撮像素子で撮影した画像をデジタルデータとして記録し、撮影画像の表示や印刷等を実行可能に構成された電子機器である。本実施形態において、デジタルカメラ3はGPS機能を有しており、GPS衛星から発信されているGPS衛星信号を受信することによって、位置算出計算に利用する諸量としてのメジャメント情報を取得する処理を行う。
【0025】
GPS衛星信号は、拡散符号の一種であるCA(Coarse and Acquisition)コードによって、スペクトラム拡散方式として知られるCDMA(Code Division Multiple Access)方式によって変調された1.57542[GHz]の通信信号である。CAコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号であり、GPS衛星毎に異なるものである。
【0026】
本実施形態において、メジャメント情報には、受信したGPS衛星信号のCAコード(以下、「受信CAコード」と称す。)の位相であるコード位相と、受信したGPS衛星信号の周波数である受信周波数との2種類の情報が含まれる。デジタルカメラ3は、内蔵されたGPS受信機を間欠動作させることによりメジャメント情報を取得し、記憶部に記憶させる処理(第1処理)を断続的に行う。
【0027】
また、本実施形態において、デジタルカメラ3は、加速度センサーやジャイロセンサー等の慣性センサーを有するセンサー部を具備している。そして、センサー部の検出結果を用いて、デジタルカメラ3の移動方向及び移動距離でなる移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部に記憶する処理(第2処理)を継続的に実行する。そして、撮影後の任意のタイミングで、断続的に取得して記憶させておいたメジャメント情報と、継続的に算出して記憶させておいた移動ベクトルとを用いて、過去の撮影時刻(希望時刻)におけるデジタルカメラ3の位置を算出する。
【0028】
2.機能構成
図2は、デジタルカメラ3の機能構成の一例を示すブロック図である。デジタルカメラ3は、処理部10と、GPS受信部20と、センサー部30と、操作部40と、表示部50と、通信部60と、撮像部70と、時計部80と、記憶部90と、撮影画像DB(Data Base)100とを備えて構成される。
【0029】
処理部10は、記憶部90に記憶されているシステムプログラム等の各種プログラムに従ってデジタルカメラ3の各部を統括的に制御する制御装置であり、CPU(Central Processing Unit)等のプロセッサーを有して構成される。処理部10は、デジタルカメラ3の本質的な機能を実現するために、操作部40を介して入力された指示操作に従って、デジタルカメラ3の正面方向の画像を撮像部70に撮影させる撮影処理を実行したり、撮影された画像を表示部50に表示させる処理を行う。
【0030】
また、処理部10は、デジタルカメラ3に位置算出機能を実現させるために、次のような処理を行う。すなわち、GPS受信部20により取得されたメジャメント情報を取得時刻と対応付けて記憶部90に記憶させる処理(第1処理)を断続的に実行する。また、センサー部30の検出結果を用いてデジタルカメラ3の移動方向及び移動距離を示す移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる処理(第2処理)を継続的に実行する。そして、記憶部90に記憶されたメジャメント情報と移動ベクトルとを用いて、後刻において、撮影処理を実行した時刻(希望時刻)におけるデジタルカメラ3の位置を算出する処理を行う。
【0031】
GPS受信部20は、不図示のGPSアンテナにより受信されたGPS衛星信号に基づいてデジタルカメラ3の位置を計測する位置算出回路或いは位置算出装置であり、いわゆるGPS受信機に相当する機能ブロックである。図示を省略するが、GPS位置算出部20は、RF受信回路部と、ベースバンド処理回路部とを備えて構成される。なお、RF受信回路部と、ベースバンド処理回路部とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0032】
GPS受信部20は、受信信号からGPS衛星信号を捕捉してメジャメント情報を取得するメジャメント取得部21を機能部として具備している。メジャメント取得部21は、受信したGPS衛星信号の拡散符号である受信CAコードと、装置内部で発生させた擬似的なCAコードであるレプリカCAコードとの相関演算を行ってGPS衛星信号を捕捉する。この際、GPS衛星信号の受信周波数を特定するためにサーチ周波数を変化させながら、受信CAコードとレプリカCAコードとの相関演算を行う。
【0033】
また、メジャメント取得部21は、受信CAコードに乗算するレプリカCAコードの位相(コード位相)を変化させながら相関演算を行う。メジャメント取得部21は、相関演算により計算される相関値が最大となる受信周波数及びコード位相を検出し、これらをメジャメント情報として処理部10に出力する。メジャメント情報のうち、受信周波数は、主としてGPS衛星信号の捕捉やデジタルカメラ3の速度算出計算に用いられる。また、コード位相は、主としてデジタルカメラ3の位置算出計算に用いられる。
【0034】
センサー部30は、デジタルカメラ3の移動状態を検出するための慣性センサーを有して構成され、例えば、加速度センサー31と、ジャイロセンサー33と、方位センサー35とを具備している。
【0035】
加速度センサー31は、デジタルカメラ3の加速度を検出するセンサーであり、歪みゲージ式や圧電式の何れであってもよく、またMEMS(Micro Electro Mechanical Systems)センサーであってもよい。また、ジャイロセンサー33は、デジタルカメラ3の角速度を検出するセンサーであり、加速度センサー31と軸方向が同一となるように配置設定されている。
【0036】
加速度センサー31及びジャイロセンサー33は、予めセンサーに対応付けて定められたローカルな座標系であるセンサー座標系の直交3軸それぞれの軸方向の加速度及び各軸の軸周りの角速度を検出して出力するように設計されている。なお、加速度センサー31及びジャイロセンサー33は、それぞれが独立したセンサーであってもよいし、一体型のセンサーであってもよい。
【0037】
方位センサー35は、デジタルカメラ3の移動方向を検出するセンサーであり、例えば地磁気センサーを有して構成される。地磁気センサーは、いわゆる電子コンパスであり、地磁気を検知することにより北の方位を検出可能に構成されたセンサーである。
【0038】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部10に出力する。この操作部40の操作により、撮影指示操作や撮影画像閲覧指示操作、撮影場所解析指示操作等の各種指示操作がなされる。
【0039】
表示部50は、LCD(Liquid Crystal Display)等により構成され、処理部10から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、ファインダー画像や撮影画像等が表示される。
【0040】
通信部60は、処理部10からの指示信号に従って、サーバー2や他のデジタルカメラ3との間で通信を行うための通信装置である。この機能は、例えば、IEEE802.11によるワイヤレスLANやBluetooth(登録商標)等の無線通信モジュール等により実現される。
【0041】
撮像部70は、処理部10からの指示信号に従って、デジタルカメラ3の正面方向(レンズが向けられている方向)の画像を撮像する回路部であり、CCD(Charge Coupled Device)イメージセンサー等の撮像素子を有して構成される。
【0042】
時計部80は、デジタルカメラ3の内部時計であり、計時時刻を処理部10に出力する。計時誤差の存在により、時計部80の計時時刻は時間経過に伴って正確な時刻からずれる。そのため、位置算出計算により算出された計時誤差を用いて、時計部80の計時誤差が較正され、正確な時刻を計時するように調整される。処理部10は、時計部80の計時時刻に基づいて、メジャメント情報の取得時刻や移動ベクトルの算出時刻、撮影時刻といった時刻を判定する。
【0043】
記憶部90は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置によって構成され、デジタルカメラ3のシステムプログラムや、撮影機能、撮影画像表示機能、撮影場所解析機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【0044】
撮影画像DB100は、処理部10が撮影処理を実行することで撮影した画像が蓄積的に記憶されるデータベースである。
【0045】
3.データ構成
図3は、記憶部90に格納されたデータの一例を示す図である。記憶部90には、プログラムとして、処理部10により読み出され、メイン処理(図10及び図11参照)として実行されるメインプログラム91が記憶されている。また、メインプログラム91には、移動ベクトル算出処理(図12参照)として実行される移動ベクトル算出プログラム911と、位置算出処理(図13参照)として実行される位置算出プログラム913とがサブルーチンとして含まれている。
【0046】
メイン処理には、処理部10が、撮影機能や撮影画像表示機能等といったデジタルカメラ3としての本質的な機能を発揮するための処理の他、位置算出処理により算出した位置に基づいて撮影場所を解析する処理が含まれる。撮影場所の解析を行った後は、処理部10は、解析した撮影場所等の情報を撮影画像と対応付けて撮影画像DB100に記憶させ、撮影画像表示処理において撮影場所等の情報も併せて表示部50に表示させる。
【0047】
移動ベクトル算出処理とは、処理部10が、センサー部30の検出結果を用いて、デジタルカメラ3の移動方向及び移動距離を示す移動ベクトルを継続的に算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる処理である。
【0048】
また、位置算出処理とは、処理部10が、記憶部90に蓄積的に記憶されたメジャメント情報と移動ベクトルとを用いて、後刻において、撮影処理を実行した時刻(撮影時刻)におけるデジタルカメラ3の位置を算出する処理である。
【0049】
図4及び図5を参照して、本実施形態における位置算出処理について説明する。図4(A)は、各種の時刻と移動ベクトルとを模式的に示した図であり、横軸は時間を示している。時間軸の下に示した点線の矢印は移動ベクトルの算出時刻を、実線の矢印はメジャメント情報の取得時刻を、白抜きの矢印は撮影時刻をそれぞれ示している。また、時間軸の上に示した太実線の矢印は、その向き及び長さによって当該算出時刻において算出された移動ベクトルを示しており、当該算出時刻から次の算出時刻までの移動状態を示すベクトルとして図示している。
【0050】
また、本実施形態では、移動ベクトルの算出時間間隔が、メジャメント情報の取得時間間隔よりも短いものとして説明する。図4(A)においては、時刻「h1」〜「h12」の12個の時刻を示しており、移動ベクトルの算出は毎時刻行われ、メジャメント情報の取得は5時刻毎に行われたものとして説明する。
【0051】
撮影処理が時刻「h8」において実行されたものとする。すなわち、撮影時刻は「h8」である。先ず、撮影時刻「h8」に最近接しているメジャメント取得時刻を判定する。図4(A)に示すように、撮影時刻「h8」の前後には、メジャメント取得時刻として「h6」及び「h11」の2時刻が存在するが、時間的に近接しているのは時刻「h6」であるため、時刻「h6」を最近接しているメジャメント取得時刻と判定する。この場合、メジャメント取得時刻「h6」において取得されたメジャメント情報を用いて位置算出計算を行う。
【0052】
位置算出計算は、デジタルカメラ3とGPS衛星間の擬似距離を利用して、例えば最小二乗法やカルマンフィルターを用いた公知の収束演算を行うことで実現することができる。擬似距離は、次のようにして算出する。すなわち、サーバー2から取得した精密暦94から計算されるGPS衛星の精密な衛星位置と、デジタルカメラ3の最新の算出位置とを用いて、擬似距離の整数部分を算出する。また、メジャメント情報に含まれるコード位相を用いて、擬似距離の端数部分を算出する。このようにして求めた整数部分と端数部分とを合算することで擬似距離を求める。
【0053】
次いで、位置算出計算で算出したメジャメント取得時刻「h6」におけるデジタルカメラ3の位置を基点位置として、メジャメント取得時刻「h6」から撮影時刻「h8」までの間に算出された移動ベクトルを用いて、撮影時刻「h8」におけるデジタルカメラ3の位置を算出する。具体的には、図4(B)に示すように、メジャメント取得時刻「h6」における算出位置を基点位置として、算出時刻「h6」における移動ベクトル「V6」及び算出時刻「h7」における移動ベクトル「V7」で示される移動方向及び移動距離に基づいて基点位置をシフトさせることで、撮影時刻「h8」における位置を算出する。
【0054】
図5は、位置算出処理の別例を説明するための図である。図の見方は、図4と同じである。ここでは、撮影時刻が「h9」であるものとして説明する。先ず、撮影時刻「h9」に最近接しているメジャメント取得時刻を判定する。図5(A)に示すように、撮影時刻「h9」の前後には、メジャメント取得時刻として「h6」及び「h11」の2時刻が存在するが、時間的に近接しているのは時刻「h11」である。この場合、メジャメント取得時刻「h11」において取得されたメジャメント情報を用いて位置算出計算を行う。
【0055】
次いで、メジャメント取得時刻「h11」におけるデジタルカメラ3の位置を基点位置として、撮影時刻「h9」からメジャメント取得時刻「h11」までの間に算出された移動ベクトルを用いて、撮影時刻「h9」におけるデジタルカメラ3の位置を算出する。具体的には、図5(B)に示すように、メジャメント取得時刻「h11」における算出位置を基点位置として、算出時刻「h9」における移動ベクトル「V9」を反転させたベクトル「−V9」及び算出時刻「h10」における移動ベクトル「V10」を反転させたベクトル「−V10」で示される移動方向及び移動距離に基づいて基点位置をシフトさせることで、撮影時刻「h9」における位置を算出する。
【0056】
図3のデータ構成の説明に戻って、記憶部90には、データとして、地図データ92と、メジャメント信頼度判定用テーブル93と、精密暦94と、センサーデータ95と、移動ベクトルデータ96と、衛星別メジャメントデータ97とが記憶される。記憶部90は、メジャメント情報が取得時刻と対応付けて記憶される格納領域(第1記憶部)と、移動ベクトルが算出時刻と対応付けて記憶される格納領域(第2記憶部)とを有する。
【0057】
地図データ92は、位置座標と対応付けて駅や公園、寺社、ショッピングモールといった各種の施設が登録されたデータベースである。地図データ92は、処理部10が撮影場所の解析処理を行うために使用される。
【0058】
メジャメント信頼度判定用テーブル93は、メジャメント取得部21により取得されたメジャメント情報の信頼性を示す指標値(以下、「メジャメント信頼度」と称す。)を判定するために用いられるテーブルである。メジャメント信頼度は、例えば「0〜1」の範囲の値で表現され、「0」がメジャメント情報の信頼性が最も低く、「1」がメジャメント情報の信頼性が最も高いことを意味する。
【0059】
メジャメント信頼度は、種々の観点から判定することができる。例えば、GPS衛星から受信したGPS衛星信号の信号強度に基づいて判定することができる。受信信号の信号強度が大きいほど、相関演算により得られる相関値のパワーが大きくなり、相関値のピーク検出(衛星信号捕捉)の正確性が高まる。そのため、受信信号の信号強度が大きいほど、取得されるメジャメント情報の信頼性は高くなると言える。このことから、受信信号の信号強度とメジャメント信頼度とが正の相関を有する条件を定めておけばよい。勿論、別の観点から判定してもよい。変形例で後述するが、例えばGPS衛星の仰角に応じて、仰角が高い方がメジャメント情報の信頼性が高いと判定してもよい。
【0060】
精密暦94は、各々のGPS衛星の精密な衛星軌道についてのデータであり、通信部60を介してサーバー2から取得されるデータである。精密暦94には、例えば、各GPS衛星の所定期間分の実績位置及び時計実績誤差が時系列に格納されている。
【0061】
センサーデータ95は、センサー部30の検出結果が時系列に記憶されたデータであり、そのデータ構成例を図6に示す。センサーデータ95には、センサー部30の検出時刻951と対応付けて、加速度センサー31により検出された3軸の加速度953と、ジャイロセンサー33により検出された3軸の軸周りの角速度955と、方位センサー35により検出された方位957とが記憶される。
【0062】
移動ベクトルデータ96は、デジタルカメラ3の移動状態を示す移動ベクトルが時系列に記憶されたデータであり、そのデータ構成例を図7に示す。移動ベクトルデータ96には、移動ベクトルの算出時刻961と対応付けて、例えば直交座標系における移動ベクトル963の成分が時系列に記憶される。センサー部30の検出時間間隔は、移動ベクトルの算出時間間隔より短い。従って、センサー部30の所定検出回数分(例えば10回分)のデータによって、1回分の移動ベクトルが算出される。
【0063】
衛星別メジャメントデータ97は、メジャメント取得部21により取得されたメジャメント情報がGPS衛星別に記憶されたデータであり、そのデータ構成例を図8に示す。衛星別メジャメントデータ97には、GPS衛星の番号971と対応付けて、メジャメント情報の取得時刻972と、メジャメント情報973と、受信信号の信号強度974と、メジャメント信頼度975とでなるメジャメントデータが記憶されている。
【0064】
本実施形態では、メジャメント取得部21が、移動ベクトルの算出時間間隔よりも長い時間間隔でメジャメント情報を取得するように設計・構成されているものとして説明する。すなわち、メジャメント情報の取得時刻972の時間間隔は、移動ベクトルデータ96の算出時刻961の時間間隔よりも長くなる。
【0065】
メジャメント情報973には、当該GPS衛星から受信したCAコード(受信CAコード)の位相であるコード位相と、当該GPS衛星からGPS衛星信号を受信した際の周波数である受信周波数とが含まれる。信号強度974は、当該GPS衛星から受信したGPS衛星信号の強度であり、例えばC/N比(Carrier to Noise ratio)といった指標値で表される。また、メジャメント信頼度975は、当該GPS衛星について取得されたメジャメント情報973の信頼性を示す指標値である。
【0066】
図9は、撮影画像DB100に格納されるデータの一例を示す図である。撮影画像DB100には、撮影画像のデータファイル名101と、当該撮影画像の撮影日時103と、当該撮影画像の撮影方向105と、当該撮影画像の撮影時刻におけるデジタルカメラ3の位置として算出された算出位置107と、当該算出位置107が含まれる施設の名称である施設名109とが対応付けて記憶される。なお、撮影のみが行われ、撮影場所の解析処理が行われていない場合には、当該撮影画像には、未だ算出位置107と施設名109とが対応付けられていない状態となる。
【0067】
4.処理の流れ
図10及び図11は、記憶部90に記憶されているメインプログラム91が処理部10により読み出されて実行されることで、デジタルカメラ3において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、デジタルカメラ3の初期電源投入後に実行される処理である。
【0068】
最初に、処理部10は、デジタルカメラ3をアクティブモードで起動する(ステップA1)。本実施形態では、デジタルカメラ3が撮影機能や撮影画像閲覧機能、撮影場所解析機能等を実行可能な状態として動作しているモードを「アクティブモード」として説明する。その一方、上記の機能が実行不能な状態として休止しているモードを「スリープモード」として説明する。「スリープモード」とは、処理部10が省電力状態で稼働しているモードであり、電源OFFとされていない待機モードとも言える。
【0069】
起動した後、処理部10は、記憶部90に記憶されている移動ベクトル算出プログラム911を読み出して実行することで、移動ベクトル算出処理を開始する(ステップA2)。以後、移動ベクトル算出処理は常駐的に実行され、移動ベクトルの算出が継続的に行われる。
【0070】
図12は、移動ベクトル算出処理の流れを示すフローチャートである。
先ず、処理部10は、移動ベクトルの算出タイミングであるか否かを判定する(ステップB1)。移動ベクトルの算出タイミングは、センサー部30の検出時間間隔よりも長い時間間隔毎のタイミングである。
【0071】
そして、移動ベクトルの算出タイミングであると判定した場合は(ステップB1;Yes)、処理部10は、所定時間分のセンサー部30の検出結果に基づいて移動ベクトルを算出する(ステップB3)。移動ベクトルの大きさは、加速度センサー31の検出結果を積分することで算出される。また、移動ベクトルの向きは、ジャイロセンサー33の検出結果の積分値と、方位センサー35の検出結果とを用いて算出される。
【0072】
次いで、処理部10は、ステップB3で算出した移動ベクトル963を算出時刻961と対応付けて記憶部90の移動ベクトルデータ96に記憶させる(ステップB5)。そして、処理部10は、ステップB1に戻り、上記の処理を繰り返し実行する。
【0073】
図10のメイン処理に戻って、移動ベクトル算出処理を開始した後、処理部10は、操作部40を介してなされたデジタルカメラ3の切替操作を判定する(ステップA3)。そして、切替操作が撮影指示操作であると判定した場合は(ステップA3;撮影指示操作)、処理部10は、撮影処理を開始する(ステップA5)。
【0074】
具体的には、撮影モードに移行し、デジタルカメラ3の正面方向のファインダー画像を表示部50に表示させる。そして、操作部40を介してシャッター操作がなされた場合に、撮像部70に撮影を実行させ、撮影された画像のデータ101を撮影日時103と対応付けて撮影画像DB100に記憶させる。また、ジャイロセンサー33及び方位センサー35の検出結果に基づいて撮影方向105を算出し、併せて撮影画像DB100に記憶させる。
【0075】
なお、撮影処理では、手ぶれ補正処理を行うことにすれば好適である。例えば、ジャイロセンサー33の検出結果を用いて、レンズシフト方式やイメージセンサーシフト方式、レンズユニットスイング方式などの光学式の補正方式に従って手ぶれ補正処理を実行すればよい。
【0076】
次いで、処理部10は、メジャメント情報の取得タイミングであるか否かを判定する(ステップA7)。そして、取得タイミングであると判定した場合は(ステップA7;Yes)、処理部10は、GPS受信部20を起動する(ステップA9)。本実施形態では、GPS受信部20を定期的に起動させてメジャメント情報を取得させるいわゆるオールウェイズトラッキングにより、断続的なメジャメント情報の取得・記憶を実現する。
【0077】
その後、処理部10は、GPS受信部20からメジャメント情報973を入力し(ステップA11)、当該メジャメント情報973の信頼度を判定する(ステップA13)。具体的には、GPS受信部20から信号強度974を入力し、記憶部90に記憶されているメジャメント信頼度判定用テーブル93を参照して、当該メジャメント情報973のメジャメント信頼度975を判定する。そして、これらの情報を対応付けて記憶部90の衛星別メジャメントデータ97に記憶させる。
【0078】
次いで、処理部10は、GPS受信部20を停止させる(ステップA15)。そして、撮影処理を終了するか否かを判定し(ステップA17)、まだ終了しないと判定した場合は(ステップA17;No)、ステップA7に戻る。また、撮影処理を終了すると判定した場合は(ステップA17;Yes)、撮影処理を終了して、ステップA31へと処理を移行する。
【0079】
一方、ステップA3において切替操作が撮影画像閲覧指示操作であると判定した場合は(ステップA3;撮影画像閲覧指示操作)、処理部10は、撮影画像表示処理を開始する(ステップA19)。すなわち、撮影画像閲覧モードに移行し、操作部40を介したユーザーの選択操作に従って、撮影画像DB100に記憶されているデータファイル名101の撮影画像データを読み出して表示部50に表示させる。この際、例えば、当該撮影画像に対応付けられている撮影日時103、撮影方向105及び施設名109を併せて表示させる。なお、算出位置107を示す位置座標も併せて表示させることとしてもよい。
【0080】
次いで、処理部10は、ステップA7〜A15の処理を行う。そして、撮影画像表示処理を終了するか否かを判定し(ステップA21)、まだ終了しないと判定した場合は(ステップA21;No)、ステップA19の後のステップA7に戻る。また、撮影画像表示処理を終了すると判定した場合は(ステップA21;Yes)、撮影画像表示処理を終了して、ステップA31へと処理を移行する。
【0081】
一方、ステップA3において切替操作が撮影場所解析指示操作であると判定した場合は(ステップA3;撮影場所解析指示操作)、処理部10は、通信部60の通信状態が「ON」になっているか否かを判定する(ステップA23)。そして、通信状態が「OFF」であると判定した場合は(ステップA23;No)、ステップA31へと処理を移行する。
【0082】
また、通信状態が「ON」であると判定した場合は(ステップA23;Yes)、処理部10は、サーバー2にアクセスして精密暦94を取得し、記憶部90に記憶させる(ステップA25)。そして、処理部10は、記憶部90に記憶されている位置算出プログラム913に従って位置算出処理を行う(ステップA27)。
【0083】
図13は、位置算出処理の流れを示すフローチャートである。先ず、処理部10は、撮影場所の解析対象とする各撮影画像それぞれについてループAの処理を実行する(ステップC1〜C15)。
【0084】
ループAの処理では、処理部10は、衛星別メジャメントデータ97を参照して、当該撮影画像の撮影時刻の直前及び直後のメジャメント取得時刻972を判定する(ステップC3)。そして、直前及び直後のメジャメント取得時刻のうち、当該撮影画像の撮影時刻に近い方のメジャメント取得時刻を選択し(ステップC5)、選択したメジャメント取得時刻972に取得されたメジャメント情報973を、記憶部90の衛星別メジャメントデータ97から読み出す(ステップC7)。
【0085】
その後、処理部10は、ステップC7で読み出したメジャメント情報973と、記憶部90に記憶されている精密暦94とを用いて、基点位置を算出するための位置算出計算を実行する(ステップC9)。
【0086】
その一方で、処理部10は、当該撮影画像の撮影時刻と、ステップC5で選択したメジャメント取得時刻との間の算出時刻961に算出された移動ベクトル963を、記憶部90の移動ベクトルデータ96から読み出す(ステップC11)。
【0087】
そして、処理部10は、ステップC9で算出した基点位置と、ステップC11で読み出した移動ベクトルとを用いて、撮影時刻におけるデジタルカメラ3の位置を算出する(ステップC13)。そして、処理部10は、次の撮影画像へと処理を移行する。
【0088】
撮影場所の解析対象とする全ての撮影画像についてステップC3〜C13の処理を行った後、処理部10は、ループAの処理を終了する(ステップC15)。そして、処理部10は、位置算出処理を終了する。
【0089】
図10のメイン処理に戻って、位置算出処理を行った後、処理部10は、撮影場所添付処理を行う(ステップA29)。具体的には、位置算出処理で求めた算出位置と記憶部90の地図データ92とを照査して、算出位置の位置座標が含まれる施設名を特定する。そして、特定した施設名109を撮影画像と対応付けて撮影画像DB100に記憶させる。
【0090】
ステップA17、A21又はA29の処理を行った後、処理部10は、スリープモードに移行するか否かを判定する(ステップA31)。すなわち、操作部40を介してユーザーによりデジタルカメラ3をスリープモードにする指示操作がなされたか否かを判定する。そして、スリープモードに移行すると判定した場合は(ステップA31;Yes)、アクティブモードからスリープモードへと移行した後(ステップA33)、ステップA7〜A15の処理を実行する。
【0091】
次いで、処理部10は、スリープモードを解除するか否かを判定する(ステップA35)。すなわち、操作部40を介してユーザーによりアクティブモードに切り替える指示操作がなされたか否かを判定する。
【0092】
スリープモードを解除しないと判定した場合は(ステップA35;No)、処理部10は、ステップA33の次のステップA7に戻る。また、スリープモードを解除すると判定した場合は(ステップA35;Yes)、処理部10は、アクティブモードに移行する(ステップA37)。そして、ステップA3に戻る。
【0093】
5.作用効果
デジタルカメラ3において、メジャメント取得部21は、GPS衛星からGPS衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて記憶部90に記憶させる第1処理を断続的に実行する。その一方で、処理部10は、センサー部30の検出結果を用いて移動ベクトルを算出し、算出した移動ベクトルを算出時刻と対応付けて記憶部90に記憶させる第2処理を継続的に実行する。そして、撮影時刻に最近接する取得時刻に取得されたメジャメント情報と、当該取得時刻から撮影時刻までの間に算出された移動ベクトルとを用いて、撮影時刻における位置を算出する。
【0094】
メジャメント情報を断続的に取得して記憶部90に記憶させておくとともに、移動ベクトルを継続的に算出して記憶部90に記憶させておく。そして、撮影時刻に最近接する取得時刻において取得されたメジャメント情報を用いて基点位置を求め、当該基点位置に対する相対位置を、当該取得時刻と撮影時刻との間に算出された移動ベクトルを用いて算出する。これは、撮影時に位置算出を完結させる方式ではなく、撮影時における位置算出用の情報を記憶させておいて、事後的に撮影位置を算出するという新たな方式である。
【0095】
また、本実施形態において、デジタルカメラ3は、サーバー2と通信を行って、GPS衛星の精密な衛星軌道のデータである精密暦を取得し、メジャメント情報を用いた位置算出計算に利用する。精密な衛星軌道データを用いて位置算出計算を行うため、撮影位置を正確に求めることができる。
【0096】
6.変形例
6−1.電子機器
上述した実施形態では、電子機器の一種であるデジタルカメラに本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。同じ撮影機能を有する電子機器として、例えば携帯型電話機やPDA(Personal Digital Assistant)に本発明を適用し、これらの電子機器で撮影処理を実行した時刻における位置算出を行うこととしてもよい。また、撮影機能を有しない電子機器についても本発明を同様に適用可能である。
【0097】
6−2.希望時刻
上記と関連して、撮影機能を有する電子機器において撮影処理を実行した時刻を希望時刻として位置算出を行うのではなく、他の処理時刻を希望時刻として位置算出を行うこととしてもよい。例えば、位置算出装置を具備する携帯型電話機において、通話処理を実行した時刻やメールの送受信処理を実行した時刻を希望時刻として位置算出を行ってもよい。また、PDAやノート型パソコン等の通信機能を有する電子機器において、通信処理を実行した時刻を希望時刻として位置算出を行ってもよい。
【0098】
6−3.衛星測位システム
また、上述した実施形態では、衛星測位システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムであってもよい。
【0099】
6−4.メジャメント情報の読み出し
上述した実施形態では、撮影時刻に最近接する取得時刻において取得されたメジャメント情報を記憶部90から読み出して、基点位置を算出するものとして説明した。しかし、メジャメント信頼度も加味してメジャメント情報を読み出して、基点位置を算出することとしてもよい。例えば、撮影時刻の前後のメジャメント取得時刻のうち、メジャメント信頼度が高い方のメジャメント取得時刻におけるメジャメント情報を記憶部90から読み出して、基点位置を算出することとしてもよい。
【0100】
6−5.位置算出
図14は、変形例における位置算出の原理の説明図である。図の見方は、図4及び図5と同じである。ここでは、撮影時刻を「h8」として説明する。先ず、撮影時刻「h8」の前後のメジャメント取得時刻を判定する。撮影時刻「h8」の前後のメジャメント取得時刻として「h6」及び「h11」の2つの時刻が該当する。ここでは便宜的に、時刻「h6」を第1メジャメント取得時刻とし、時刻「h11」を第2メジャメント取得時刻とする。
【0101】
次に、第1メジャメント取得時刻「h6」において取得されたメジャメント情報を用いて位置算出計算を行い、第1メジャメント取得時刻「h6」におけるデジタルカメラ3の位置を算出して第1基点位置とする。そして、算出時刻「h6」及び「h7」において算出された移動ベクトル「V6」及び「V7」を記憶部から読み出し、第1基点位置と、読み出した移動ベクトル「V6」及び「V7」とを用いて、撮影時刻「h8」におけるデジタルカメラ3の位置を算出する。このようにして求めた位置を第1算出位置とする。
【0102】
その一方で、第2メジャメント取得時刻「h11」において取得されたメジャメント情報を用いて位置算出計算を行い、第2メジャメント取得時刻「h11」におけるデジタルカメラ3の位置を算出して第2基点位置とする。そして、算出時刻「h8」〜「h10」において算出された移動ベクトルを記憶部から読み出し、第2基点位置と、読み出した移動ベクトル「V8」〜「V10」を反転させた移動ベクトル「−V8」〜「−V10」とを用いて、撮影時刻「h8」におけるデジタルカメラ3の位置を算出する。このようにして求めた位置を第2算出位置とする。
【0103】
次いで、第1算出位置と第2算出位置とを用いて、撮影時刻における最終的な位置を求める。具体的には、第1算出位置と第2算出位置との平均処理を行って最終的な位置を求める。平均処理としては、単純な算術平均を適用してもよいし、加重平均を適用してもよい。加重平均を適用する場合は、例えば、第1メジャメント取得時刻と撮影時刻との時刻差、及び、第2メジャメント取得時刻と撮影時刻との時刻差に基づく重み付けを行って加重平均を行う。
【0104】
例えば、図14においては、第1メジャメント取得時刻「h6」と撮影時刻「h8」との時刻差は「2時刻」であり、第2メジャメント取得時刻「h11」と撮影時刻「h8」との時刻差は「3時刻」である。撮影時刻との時刻差が小さい取得時刻において取得されたメジャメント情報の方が、算出される位置の正確性は高くなると考えられる。そのため、例えば、第1算出位置と第2算出位置とを結ぶ線分を2:3に内分することで求められる位置を、撮影時刻「h8」における最終的な算出位置とする。
【0105】
また、別の考え方として、メジャメント信頼度に基づく重み付けを行って加重平均してもよい。メジャメント信頼度が大きいほど、メジャメント情報の信頼性が高く、算出される位置の正確性は高くなると考えられる。そのため、メジャメント信頼度の大きいメジャメント情報を利用して算出した位置ほど重みを高く設定することが適切である。
【0106】
例えば、第1メジャメント取得時刻におけるメジャメント情報の信頼度が「0.8」であり、第2メジャメント取得時刻におけるメジャメント情報の信頼度が「0.6」であるものとする。但し、メジャメント信頼度は「0」〜「1」の範囲の値であり、数値が大きいほどメジャメント情報の信頼性が高いことを意味する。この場合は、第1算出位置と第2算出位置とを結ぶ線分を1:2(=(1−0.8):(1−0.6))に内分することで求められる位置を、撮影時刻における最終的な算出位置とする。
【0107】
なお、上述したメジャメント取得時刻と撮影時刻との時刻差に基づく重み付けと、メジャメント信頼度に基づく重み付けとの両方を併用して加重平均を行うことにすれば、位置算出の正確性をより一層向上させることができる。
【0108】
6−6.メジャメント信頼度の判定方法
上述した実施形態では、GPS衛星信号を受信した受信信号の信号強度に基づいてメジャメント信頼度を判定するものとして説明したが、他の指標値に基づいてメジャメント信頼度を判定してもよい。例えば、GPS衛星信号の受信環境に基づいて判定してもよい。インドア環境(屋内環境)といった受信環境ではメジャメント信頼度は低くなるが、アウトドア環境(屋外環境)といった受信環境ではメジャメント信頼度は高くなる。
【0109】
他には、GPS衛星の仰角に基づいて判定してもよい。GPS衛星の仰角が高いほど、マルチパス等の影響を受けにくい高品質な信号が受信されるため、メジャメント信頼度は高くなる。また、GPS衛星の天空配置の指標値であるPDOP(Position Dilution Of Precision)値に基づいて判定してもよい。PDOP値が小さいほどGPS衛星の天空配置が良好であるため、メジャメント信頼度は高くなる。これらの条件を判定条件として、記憶部90のメジャメント信頼度判定用テーブル93に定めておけばよい。
【0110】
6−7.速度算出処理
上述した実施形態では、位置算出処理に着目した説明を行ったが、速度算出処理も同様に行うことができる。GPS衛星の移動とデジタルカメラ3の移動とに起因して、ドップラーが発生する。GPS衛星の精密な移動速度は、精密暦94から計算することができる。その一方で、ドップラー周波数は、メジャメント情報に含まれる受信周波数から計算することができる。そのため、公知の計算手法により、デジタルカメラ3の移動速度を算出することができる。
【符号の説明】
【0111】
1 位置算出システム、 2 サーバー、 3 デジタルカメラ、 10 処理部、 20 GPS受信部、 21 メジャメント取得部、 30 センサー部、 31 加速度センサー、 33 ジャイロセンサー、 35 方位センサー、 40 操作部、 50 表示部、 60 通信部、 70 撮像部、 80 時計部、 90 記憶部、 100 撮影画像DB
【特許請求の範囲】
【請求項1】
測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行することと、
少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行することと、
所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出することと、
を含む位置算出方法。
【請求項2】
前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報を用いて基点位置を求め、当該基点位置に対する相対位置を前記移動情報を用いて算出することで、前記希望時刻における位置を算出することを含む、
請求項1に記載の位置算出方法。
【請求項3】
前記位置を算出することは、前記希望時刻の直前又は直後の取得時刻を前記近接時刻条件として前記第1記憶部からメジャメント情報を読み出すことを含む、
請求項1又は2に記載の位置算出方法。
【請求項4】
前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報であって、所定の高信頼性条件を満たすメジャメント情報を前記第1記憶部から読み出すことを含む、
請求項1又は2に記載の位置算出方法。
【請求項5】
前記希望時刻は、所定の撮影処理が実行された時刻である、
請求項1〜4の何れか一項に記載の位置算出方法。
【請求項6】
前記測位用衛星はGPS衛星であり、
前記GPS衛星の精密暦を取得することを更に含み、
前記位置を算出することは、前記精密暦を更に用いて位置を算出することである、
請求項1〜5の何れか一項に記載の位置算出方法。
【請求項7】
測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行する第1処理実行部と、
少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行する第2処理実行部と、
所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出する位置算出部と、
を備えた位置算出装置。
【請求項1】
測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行することと、
少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行することと、
所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出することと、
を含む位置算出方法。
【請求項2】
前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報を用いて基点位置を求め、当該基点位置に対する相対位置を前記移動情報を用いて算出することで、前記希望時刻における位置を算出することを含む、
請求項1に記載の位置算出方法。
【請求項3】
前記位置を算出することは、前記希望時刻の直前又は直後の取得時刻を前記近接時刻条件として前記第1記憶部からメジャメント情報を読み出すことを含む、
請求項1又は2に記載の位置算出方法。
【請求項4】
前記位置を算出することは、前記取得時刻が前記近接時刻条件を満たすメジャメント情報であって、所定の高信頼性条件を満たすメジャメント情報を前記第1記憶部から読み出すことを含む、
請求項1又は2に記載の位置算出方法。
【請求項5】
前記希望時刻は、所定の撮影処理が実行された時刻である、
請求項1〜4の何れか一項に記載の位置算出方法。
【請求項6】
前記測位用衛星はGPS衛星であり、
前記GPS衛星の精密暦を取得することを更に含み、
前記位置を算出することは、前記精密暦を更に用いて位置を算出することである、
請求項1〜5の何れか一項に記載の位置算出方法。
【請求項7】
測位用衛星から衛星信号を受信することによってメジャメント情報を取得し、取得したメジャメント情報を取得時刻と対応付けて第1記憶部に記憶する第1処理を断続的に実行する第1処理実行部と、
少なくとも加速度センサーを有するセンサー部の検出結果を用いて移動方向及び移動距離でなる移動情報を算出し、算出した移動情報を算出時刻と対応付けて第2記憶部に記憶する第2処理を継続的に実行する第2処理実行部と、
所与の希望時刻に基づいて、前記取得時刻が所定の近接時刻条件を満たすメジャメント情報と、前記算出時刻が当該メジャメント情報の取得時刻と前記希望時刻との間となる前記移動情報とを少なくとも用いて、前記希望時刻における位置を算出する位置算出部と、
を備えた位置算出装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−220793(P2011−220793A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−89270(P2010−89270)
【出願日】平成22年4月8日(2010.4.8)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年4月8日(2010.4.8)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]