(57)【要約】  デジタル写真に地理的位置データを記述したタグを付けるための方法およびカメラに関する。このカメラは、撮像ユニット、無線周波数／中間周波数（ＲＦ／ＩＦ）フロントエンドおよびメモリを含む。撮像ユニットは、デジタル写真を生成するように構成される。ＲＦ／ＩＦフロントエンドは、衛星測位システム信号を受信し、その信号からデジタルサンプルを生成するように構成される。メモリは、ＲＦ／ＩＦフロントエンドによって生成された一組のデジタルサンプルを、撮像ユニットによって生成されたそれぞれのデジタル写真とともに記憶するように構成される。ＲＦ／ＩＦフロントエンドによって生成されたデジタルサンプルは、中間周波数サンプルであってもよく、同相サンプルおよび直交サンプルの両方を含んでもよい。特に、メモリは、位置データではなく、ＧＰＳ信号のデジタルサンプルを記憶する。【選択図】図１
2008503191.tif 000002
【特許請求の範囲】
【請求項１】
デジタル写真を生成する撮像ユニットと、
衛星測位システム信号を受信し、その信号からデジタルサンプルを生成するフロントエンドと、
前記フロントエンドによって生成された一組のデジタルサンプルを、前記撮像ユニットによって生成されたそれぞれのデジタル写真とともに記憶するメモリと、
を備えるデジタルカメラ。
【請求項２】
前記メモリに記憶されたデジタルサンプルのそれぞれの組が、同相サンプルおよび直交サンプルを備える、請求項１に記載のデジタルカメラ。
【請求項３】
デジタル写真を撮るように前記撮像ユニットに命令し、かつ、一組のデジタルサンプルを捕獲するように前記フロントエンドに命令する制御ユニット、
をさらに備える、請求項１に記載のデジタルカメラ。
【請求項４】
タイムオブデイを追跡するクロックをさらに備え、
前記クロックによって生成されるタイムオブデイ値が、前記一組のデジタルサンプルとともにメモリに記憶される、請求項４に記載のデジタルカメラ。
【請求項５】
前記フロントエンドが、
アンテナと、
前記衛星測位システム信号を中間周波数に変換するために前記アンテナに結合された同調器と、
前記変換された衛星測位システム信号をデジタル化し、前記デジタルサンプルを生成するアナログ−デジタル変換器と
を備える、請求項１に記載のデジタルカメラ。
【請求項６】
デジタル写真を編成するシステムであって、
デジタル写真を生成する撮像ユニット、
衛星測位システム信号を受信し、その信号からデジタルサンプルを生成するフロントエンド、
前記フロントエンドによって生成された一組のデジタルサンプルを、前記撮像ユニットによって生成されたそれぞれのデジタル写真とともに記憶するメモリ、および、
前記メモリと通信するように構成されたデータポート、を備えるデジタルカメラと、
少なくとも１つのデジタル写真およびそれに対応する一組のデジタルサンプルを前記メモリから検索するために、かつ、検索されたデジタルサンプルのそれぞれの組を処理し、位置データを生成するために、前記データポートに結合されたコンピュータと、
を具備するシステム。
【請求項７】
前記コンピュータが、前記メモリから検索されたデジタルサンプルのそれぞれの組を擬似ランダム基準コードと相関し、擬似距離データを生成するように構成された、請求項６に記載のシステム。
【請求項８】
前記コンピュータが、前記少なくとも１つのデジタル写真に対応する環境データに応じて、１つ以上の相関パラメータを調節するように構成された、請求項７に記載のシステム。
【請求項９】
前記コンピュータが、ネットワークと通信するように構成された通信ポートを含み、前記コンピュータが、前記ネットワークから衛星軌道データを受信するように構成された、請求項７に記載のシステム。
【請求項１０】
前記コンピュータが、前記擬似距離データおよび前記衛星軌道データに応じて、位置データを計算するようにさらに構成された、請求項９に記載のシステム。
【請求項１１】
前記コンピュータが、前記擬似距離データおよび前記衛星軌道データを位置および時間変数の更新に関連づける数学的モデルを用いて前記位置データを計算するように構成された、請求項１０に記載のシステム。
【請求項１２】
デジタルカメラにおいて１つ以上のデジタル写真を生成するステップと、
前記デジタルカメラにおいて複数の衛星測位システム信号から１つ以上の組のデジタルサンプルを生成するステップと、
前記１つ以上の組のデジタルサンプルを、それぞれ、前記１つ以上のデジタル写真とともにメモリに記憶するステップと、
を備える方法。
【請求項１３】
前記１つ以上の組のデジタルサンプルのそれぞれが、同相サンプルおよび直交サンプルを備える、請求項１２に記載の方法。
【請求項１４】
タイムオブデイ値を前記１つ以上の組のデジタルサンプルのそれぞれとともに記憶するステップをさらに備える、請求項１２に記載の方法。
【請求項１５】
前記１つ以上の組のデジタルサンプルを生成する前記ステップが、
前記衛星測位システム信号を中間周波数に変換する工程と、
前記変換された衛星測位システム信号をデジタル化する工程と、
を備える、請求項１２に記載の方法。
【請求項１６】
前記１つ以上のデジタル写真および前記１つ以上の組のデジタルサンプルを前記メモリから検索するステップと、
前記１つ以上の組のデジタルサンプルのそれぞれを擬似ランダム基準コードと相関し、擬似距離データを生成するステップと、
をさらに備える、請求項１６に記載の方法。
【請求項１７】
１つ以上のデジタル写真に対応する環境データに応じて１つ以上の相関パラメータを調節するステップをさらに備える、請求項１６に記載の方法。
【請求項１８】
ネットワークから衛星軌道データを検索するステップと、
前記擬似距離データおよび前記衛星軌道データに応じて位置データを計算するステップと、
をさらに備える、請求項１６に記載の方法。
【請求項１９】
位置を計算する前記ステップが、数学的モデルを用いて前記擬似距離データおよび前記衛星軌道データを位置および時間変数の更新に関連づける工程を備える、請求項１８に記載の方法。
【請求項２０】
１つ以上のデジタル写真を生成する撮像ユニットと、
前記デジタルカメラにおいて複数の衛星測位システム信号から１つ以上の組のデジタルサンプルを生成する手段と、
前記１つ以上の組のデジタルサンプルを、それぞれ、前記１つ以上のデジタル写真とともにメモリに記憶する手段と、
を備えるデジタルカメラ。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001]本発明は、一般的には、デジタル写真システムに関し、より詳細には、デジタル写真に地理的位置データを記述したタグを付けることに関する。
【関連技術の説明】
【０００２】
[0002]全地球測位システム（ＧＰＳ）装置は、位置を計算するために、いくつかの衛星からの測定値を使用する。ＧＰＳ装置は、通常、衛星から送信された送信信号と地球の表面上または表面の近くで受信機によって受信された受信信号との間の時間遅延を計算することによって、これらの位置を決定する。光の速度×時間遅延は、受信機から、その受信機から見える所に存在するそれぞれの衛星までの距離を提供する。
【０００３】
[0003]より詳細には、商業目的に利用することのできるそれぞれのＧＰＳ信号は、１．０２３ＭＨｚの拡散率を有する固有の擬似ランダム雑音（ＰＮ）コード（粗捕捉（Ｃ／Ａ）コードと呼ばれる）によって定義される直接拡散スペクトル拡散信号を使用する。それぞれのＰＮコードは、１５７５．４２ＭＨｚの搬送波信号（Ｌ１搬送波と呼ばれる）を２値位相変調し、特定の衛星を固有に識別する。ＰＮコード系列長は、１０２３個のチップであり、１ミリ秒の時間に対応する。１０２３個のチップからなる１サイクルは、ＰＮフレームまたはＰＮエポックと呼ばれる。
【０００４】
[0004]信号の送信と受信との間の時間遅延は、受信されたＰＮコード信号系列と内部生成されたＰＮ信号系列との時刻シフトを比較することによって、決定されてもよい。これらの測定された時間遅延は、「サブミリ秒擬似距離」と呼ばれる。なぜなら、これらは、１ミリ秒のＰＮフレーム境界を法とする既知のモジュロであるからである。それぞれの衛星ごとの、それぞれの遅延に対応する整数のミリ秒を解くことによって、真の曖昧でない擬似距離が得られる。４つで一組の擬似距離は、ＧＰＳ信号の送信の既知の絶対時刻とこれらの絶対時刻に関連する既知の衛星位置とを組み合わせれば、ＧＰＳ装置の位置を決定するのに十分なものである。
【０００５】
[0005]したがって、ＧＰＳ衛星のそれぞれは、衛星航法メッセージとして既知である衛星軌道およびクロックデータのモデルを放送する。衛星航法メッセージは、５０ビット／秒（ｂｐｓ）のデータストリームであり、それは、ＰＮフレームの開始点に整合されたビット境界を備えるＰＮコードにモジュロ２加算される。２０個のＰＮフレーム／データビット期間（２０ミリ秒）が、正確に存在する。衛星航法メッセージは、「エフェメリス」データとして知られている衛星測位データを含み、それは、衛星およびこれらの軌道、さらには、衛星信号に関連する絶対時刻情報（本明細書では、「ＧＰＳ時刻」または「タイムオブデイ」とも呼ばれる）を識別する。絶対時刻情報は、タイムオブウィーク（ＴＯＷ）と呼ばれる秒からなるウィーク信号の形を有する。この絶対時刻信号は、受信されたそれぞれの信号がいつそれぞれの衛星によって送信されたかに関する時刻タグを受信機が曖昧さを伴うことなく決定するのを可能にする。
【０００６】
[0006]ＧＰＳ衛星は、約３．９ｋｍ／ｓで移動し、したがって、地球から観測される衛星の距離は、最大で±８００ｍ／ｓの割合で変化する。絶対タイミング誤差は、タイミング誤差のミリ秒ごとに最大で０．８ｍの距離誤差を発生させる。これらの距離誤差は、ＧＰＳ受信機位置において同様の大きさの誤差をもたらす。したがって、１０ｍｓの絶対時刻精度は、約１０ｍの位置精度を得るには十分なものである。１０ｍｓよりもかなり大きな絶対時刻誤差は、大きな位置誤差を発生させ、そのために、典型的なＧＰＳ受信機は、約１０ミリ秒の精度かまたはそれよりも良好な絶対時刻を必要としてきた。
【０００７】
[0007]ＧＰＳ測位に密接に関係する別の時刻パラメータは、サブミリ秒擬似距離を測定するのに使用される時刻基準におけるサブミリ秒オフセットである。このオフセットは、すべての測定値に等しく悪影響を及ぼし、この理由から、それは、「共通モード誤差」として知られている。共通モード誤差は、絶対時刻誤差と混同されてはならない。上述したように、１ミリ秒の絶対時刻誤差は、最大で０．８メートルの距離誤差をもたらし、１マイクロ秒の絶対時刻誤差は、１ミリメートル以下のほとんど観測できない距離誤差をもたらす。しかしながら、１ミリ秒の共通モード誤差は、１ミリ秒×光の速度の擬似距離誤差（すなわち、３００メートル）を発生させる。共通モード誤差は、擬似距離の計算に大きな影響を及ぼし、現実面において、共通モード誤差を較正するのは極めて難しい。このようなものとして、伝統的なＧＰＳ受信機は、十分な数の擬似距離が特定の受信機において測定されると、位置とともに決定されなければならない未知数として共通モード誤差を取り扱う。
【０００８】
[0008]ＧＰＳの出現とともに、位置決定能力をデジタルカメラのような様々な携帯用電子機器に組み込むことが、強く要求されている。伝統的なＧＰＳ受信機は、位置を決定するために、デジタルカメラに結合されてきた。しかしながら、このようなＧＰＳ受信機は、デジタルカメラの位置を突き止めるのに使用される。位置決定処理は、時間がかかり、かつ、デジタルカメラ内において大規模な処理を必要とする。
【０００９】
[0009]したがって、デジタルカメラにおいて位置を突き止めることなくデジタル写真に地理的位置を記述したタグを付ける方法および装置が、当分野において必要とされている。
【発明の概要】
【００１０】
[0010]デジタル写真に地理的位置データを記述したタグを付けるための方法および装置が説明される。一実施形態においては、デジタルカメラは、撮像ユニット、無線周波数／中間周波数（ＲＦ／ＩＦ）フロントエンド、およびメモリを含む。撮像ユニットは、デジタル写真を生成するように構成される。ＲＦ／ＩＦフロントエンドは、衛星測位システム信号を受信し、その信号からデジタルサンプルを生成するように構成される。メモリは、ＲＦ／ＩＦフロントエンドによって生成された一組のデジタルサンプルを、撮像ユニットによって生成されたそれぞれのデジタル写真とともに記憶するように構成される。ＲＦ／ＩＦフロントエンドによって生成されたデジタルサンプルは、中間周波数サンプルであってもよく、また、同相サンプルおよび直交サンプルの両方を含んでもよい。特に、メモリは、位置データではなく、ＧＰＳ信号のデジタルサンプルを記憶する。デジタルＧＰＳサンプルは、位置データを生成するために、コンピュータのようなオフライン処理ユニットによって処理されてもよい。
【００１１】
[0011]本発明の上述した特徴を詳細に理解できるように、上で簡単に説明された本発明のより詳細な説明が、実施形態を参照してなされ、これらの実施形態のいくつかは、添付の図面に示される。しかしながら、添付の図面は、本発明の例示的な実施形態のみを示し、したがって、これらは、本発明の範囲を限定するものとみなされるべきではないことに注意されたい。なぜなら、本発明には、同等の効果を有するその他の実施形態が含まれるからである。
【００１２】
[0018]理解を容易にするために、可能な限り、同一の符号が、図面を通して共通する同一の構成要素を示すのに使用される。
【発明の詳細な説明】
【００１３】
[0019]デジタル写真に地理的位置を記述したタグを付けるための方法および装置が説明される。本発明の１つ以上の態様が、デジタルスチール写真を撮ることのできるデジタルカメラに関して説明される。しかしながら、当業者には、本発明がデジタルビデオカメラなどのような、その他の種類のデジタルカメラとともに使用されるように適合されてもよいことがわかる。
【００１４】
[0020]図１は、本発明の１つ以上の態様に基づいて構成された例示的な実施形態によるデジタルカメラ１００を示すブロック図である。デジタルカメラ１００は、撮像ユニット１０２、制御ユニット１０４、メモリ１０６、データポート１０８、クロック１１０、ＧＰＳフロントエンド１１２、アンテナ１１６、およびユーザインタフェース１１４を含む。撮像ユニット１０２のデータおよび制御インタフェースは、制御ユニット１０４に結合される。撮像ユニット１０２は、電子画像データを生成する一般的な電荷結合素子（ＣＣＤ）アレイを備えてもよい。ＧＰＳフロントエンド１１２のデータおよび制御インタフェースは、制御ユニット１０４に結合される。ＧＰＳフロントエンド１１２は、アンテナ１１６を介して受信されたＧＰＳ信号のデジタルサンプルを生成する。例示的な実施形態によるＧＰＳフロントエンド１１２が図２に示される。制御ユニット１０４は、マイクロプロセッサー、命令セットプロセッサー（例えば、マイクロコントローラ）、または、当分野において既知であるこれらに類似する種類の処理エレメントを備えてもよい。あるいは、制御ユニット１０４は、ディスクリート回路、特定用途向け集積回路（ＡＳＩＣ）のような集積回路（ＩＣ）に内蔵されたロジック、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）のようなプログラマブルロジックデバイス（ＰＬＤ）内において構成されたロジックを備えてもよい。
【００１５】
[0021]制御ユニット１０４のインタフェースは、データポート１０８、ユーザインタフェース１１４、およびメモリ１０６に結合される。データポート１０８は、制御ユニット１０４を介してメモリ１０６へ外部からアクセスすることを提供するように構成される。あるいは、データポート１０８は、メモリ１０６に直接にアクセスするように構成されてもよい。いずれの場合においても、データポート１０８は、シリアルポート、ユニバーサルシリアルバス（ＵＳＢ）ポート、ＩＥＥＥ１３９４ＦｉｒｅＷｉｒｅポート、赤外線ポート（例えば、赤外線通信協会（ＩｒＤＡ）ポート）、および無線周波数（ＲＦ）ポート（例えば、ＢＬＵＥＴＯＯＴＨポート）のような当分野において既知である様々な有線通信ポートまたは無線通信ポートのいずれかから構成されてもよい。ユーザインタフェース１１４は、デジタルカメラ１００のユーザからコマンドを受信するように構成される。特に、ユーザインタフェース１１４は、デジタル写真を撮ることを引き起こすためのシャッターボタン１１５を含む。メモリ１０６は、１つ以上のランダムアクセスメモリ（ＲＡＭ）、磁気抵抗読み込み／書き込みメモリ、光学的読み込み／書き込みメモリ、キャッシュメモリ、磁気的読み込み／書き込みメモリなどを含んでもよい。特に、メモリ１０６は、当分野において既知であるフラッシュメモリから構成されてもよい。
【００１６】
[0022]動作中、ユーザインタフェース１１４によって生成された命令データが、制御ユニット１０４によって受信される。命令データに応じて、制御ユニット１０４は、制御信号を撮像ユニット１０２およびＧＰＳフロントエンド１１２の制御インタフェースに結合する。命令データは、デジタル写真を撮るために、撮像ユニット１０２に特有の命令を備えてもよく、あるいは、ＧＰＳ信号のデジタルサンプルを捕獲するために、ＧＰＳフロントエンド１１２に特有の命令を備えてもよい。あるいは、命令データは、撮像ユニット１０２にデジタル写真を撮らせ、かつ、ＧＰＳフロントエンド１１２にＧＰＳ信号のデジタルサンプルを捕獲させる単一命令を備えてもよい。例えば、シャッターボタン１１５の作動は、撮像ユニット１０２がデジタル写真を撮ること、およびＧＰＳフロントエンド１１２がＧＰＳ信号を捕獲することを引き起こしてもよい。
【００１７】
[0023]デジタル写真を定義する電子画像データは、撮像ユニット１０２のデータインタフェースおよび制御ユニット１０４を介してメモリ１０６内に記憶される。あるいは、電子画像データは、撮像ユニット１０２からメモリ１０６に直接に結合されてもよい。ＧＰＳ信号のデジタル信号サンプルは、ＧＰＳフロントエンド１１２のデータインタフェースおよび制御ユニット１０４を介してメモリ１０６内に記憶される。あるいは、デジタル信号サンプルは、ＧＰＳフロントエンド１１２からメモリ１０６内に直接に記憶されてもよい。
【００１８】
[0024]図２は、図１のＧＰＳフロントエンド１１２の例示的な実施形態を示すブロック図である。ＧＰＳフロントエンド１１２は、例として、増幅器２０３、同調器２０４、発振器２０８、フィルター段２１０、アナログ−デジタル（Ａ／Ｄ）変換器２０６、およびサンプルクロック２１２を備える。増幅器２０３の入力インタフェースは、アンテナ１１６に結合される。増幅器２０３の出力インタフェースは、同調器２０４に結合される。増幅器２０３は、同調器２０４によって処理される前に、アンテナ１１６によって受信されたＧＰＳ信号を増幅するように構成される。増幅器２０３は、例えば、低雑音増幅器（ＬＮＡ）から構成されてもよい。
【００１９】
[0025]同調器２０４の別の入力インタフェースは、発振器２０８の出力インタフェースに結合される。同調器２０４は、発振器２０８によって生成された局部発振器（ＬＯ）信号に応じて、ＧＰＳ信号を中間周波数（ＩＦ）に周波数シフト（ダウンコンバート）する。一実施形態においては、同調器２０４は、同相（Ｉ）出力信号および直交（Ｑ）出力信号の両方を生成する直交混合器を備えてもよい。あるいは、同調器２０４は、狭帯域出力信号を生成してもよい。発振器２０８は、温度補償水晶発振器（ＴＣＸＯ）のような当分野において既知であるいかなる種類の発振器から構成されてもよい。
【００２０】
[0026]同調器２０４の出力インタフェースは、フィルター段２１０の入力インタフェースに結合される。フィルター段２１０は、同調器２０４によって生成されるＤＣ成分および虚像成分を除去するために、高域通過フィルターと低域通過フィルターとを組み合わせたもの（または、帯域通過フィルター）を備えてもよい。フィルター段２１０の出力インタフェースは、Ａ／Ｄ変換器２０６の入力インタフェースに結合される。Ａ／Ｄ変換器２０６の別の入力インタフェースは、サンプルクロック２１２に結合される。Ａ／Ｄ変換器２０６は、サンプルクロック２１２によって生成されたサンプルクロック信号に応じて、同調器２０４によって生成された出力信号（１つかまたは複数）をデジタル化する。例えば、Ａ／Ｄ変換器２０６は、ＩデジタルサンプルおよびＱデジタルサンプルの両方を生成してもよい。あるいは、Ａ／Ｄ変換器２０６は、狭帯域サンプルを生成してもよい。本発明の一実施形態においては、Ａ／Ｄ変換器２０６は、生成されたサンプルごとにマルチビット量子化を使用する。例えば、Ａ／Ｄ変換器２０６は、２ビットのサンプルを生成してもよい。あるいは、Ａ／Ｄ変換器２０６は、１ビットバイナリー比較器から構成されてもよい。
【００２１】
[0027]図１に戻ると、制御ユニット１０４からの制御信号に応じて、ＧＰＳフロントエンド１１２は、一組のデジタル信号を生成するために、特定の時間にわたってデジタルサンプルを捕獲するように構成されてもよい。時間は、予め定義されてもよく（デフォルトの時間）、あるいは、制御ユニット１０４からの制御信号を介して設定されてもよい（例えば、ユーザが選択した時間）。例えば、ＧＰＳフロントエンド１１２は、数百ミリ秒（例えば、２５０ミリ秒）のデータを捕獲してもよい。デジタルサンプルのそれぞれの組は、撮像ユニット１０２によって撮られたデジタル写真に対応づけられてもよい。したがって、メモリ１０６は、デジタル写真と一組のデジタルサンプルとからなる対を記憶してもよい。特に、ＧＰＳフロントエンド１１２は、ＧＰＳ信号のサンプルを生成するだけであり、デジタルカメラ１００の位置を突き止めることはしない。位置を突き止めるために、ＧＰＳフロントエンド１１２によって生成されたサンプルは、その後に、コンピュータのようなオフライン処理装置によって処理されてもよい。
【００２２】
[0028]クロック１１０は、タイムオブデイを追跡するように構成され、ＧＰＳフロントエンド１１２によって生成されたデジタルサンプルの組ごとに時刻タグを提供するのに使用されてもよい。例えば、クロック１１０は、リアルタイムクロック（ＲＴＣ）であってもよい。一実施形態においては、クロック１１０は、おおよそのタイムオブデイを提供するように構成される。例えば、クロック１１０は、２秒以下かまたはそれよりも良い精度でＧＰＳ時刻を追跡してもよい。クロック１１０は、コンピュータのようなオフライン処理装置によって定期的に較正されてもよい。以下で説明するように、時刻タグを付けられたデジタルサンプルの組のそれぞれは、位置結果を生成するために、コンピュータによって外部で処理されてもよい。
【００２３】
[0029]図４は、本発明の１つ以上の態様に基づいて、デジタル写真に地理的位置データを記述したタグを付けるための処理４００の例示的な実施形態を示すフローチャートである。処理４００の態様は、図１を参照して理解されてもよい。処理４００は、ステップ４０２において開始する。ステップ４０４において、デジタル写真が、デジタルカメラ１００の撮像ユニット１０２によって撮られる。ステップ４０６において、ＧＰＳ信号の一組のデジタルサンプルが、デジタルカメラ１００のＧＰＳフロントエンド１１２によって捕獲される。ＧＰＳ信号サンプルは、複素数サンプルまたは狭帯域サンプルであってもよい。ステップ４０４および４０６は、同時に実行されてもよい。ステップ４０８において、デジタル写真およびそれに対応する一組のデジタルサンプルは、メモリ３０６に記憶される。ステップ４１０において、さらに多くのデジタル写真が撮られるべきかどうかに関する決定がなされる。撮られるのであれば、処理４００は、ステップ４０４に戻り、反復する。撮らないのであれば、処理４００は、終了ステップ４１２に進む。
【００２４】
[0030]図３は、ネットワーク３２０に接続されたコンピュータ３００の例示的な実施形態を示すブロック図である。コンピュータ３００は、図１のデジタルカメラ１００内に記憶されたデータを処理するのに適したものである。コンピュータ３００は、中央演算処理装置（ＣＰＵ）３０１、メモリ３０３、様々な支援回路３０４、およびＩ／Ｏインタフェース３０２を含む。ＣＰＵ３０１は、当分野において既知であるいかなる種類のマイクロプロセッサーであってもよい。ＣＰＵ３０１の支援回路３０４は、一般的なキャッシュ、電源、クロック回路、データレジスタ、Ｉ／Ｏインタフェースなどを含む。Ｉ／Ｏインタフェース３０２は、メモリ３０３に直接に結合されてもよく、あるいは、ＣＰＵ３０１を介して結合されてもよい。Ｉ／Ｏインタフェース３０２は、ディスプレイ３１４に加えて、一般的なキーボート、マウス、プリンター、ディスプレイなどのような様々な入力装置３１２および出力装置３１１に結合されてもよい。
【００２５】
[0031]Ｉ／Ｏインタフェース３０２は、デジタルカメラ１００のデータポート１０８と通信する通信ポート３１６を含む。通信ポート３１６は、シリアルポート、ＵＳＢポート、ＩＥＥＥ１３９４ＦｉｒｅＷｉｒｅポート、赤外線ポート（例えば、ＩｒＤＡポート）、およびＲＦポート（例えば、ＢＬＵＥＴＯＯＴＨポート）のような当分野において既知であるいかなる種類のポートから構成されてもよい。特に、コンピュータ３００は、通信ポート３１６を用いて、デジタルカメラ１００のメモリ１０６からデジタル写真データおよびＧＰＳデジタルサンプルデータを検索してもよい。また、Ｉ／Ｏインタフェース３０２は、ネットワーク３２０と通信する通信ポート３１８を含む。例えば、通信ポート３１８は、当分野において既知であるＥｔｈｅｒｎｅｔポートまたはそれに類似する種類のネットワークポートであってもよい。コンピュータ３００は、外部支援ソース３２２からネットワーク３２０を介して衛星軌道経路データ（例えば、エフェメリスデータ、アルマナックデータなど）を検索してもよい。例えば、コンピュータ３００は、ウェブサーバーからインターネットを介して衛星軌道経路データを検索してもよい。外部支援ソース３２２は、当分野において既知であるように、ＧＰＳ衛星から放送される衛星航法メッセージからデータを収集する衛星追跡ステーションのネットワークから構成されてもよく、あるいは、衛星追跡ステーションのネットワークと通信できる状態にあってもよい。以下で説明するように、衛星軌道データは、ＧＰＳデジタルサンプルを用いて位置を突き止めるのに必要とされる。
【００２６】
[0032]メモリ３０３は、本明細書で説明される処理および方法を実施するための１つ以上のプログラムおよび／またはデータのすべてかまたは一部を記憶してもよい。特に、メモリ３０３は、ＧＰＳ信号のデジタルサンプルを処理し、処理されたサンプルから位置結果を生成するソフトウェア３５０を記憶してもよい。本発明の１つ以上の態様が、コンピュータ実行ソフトウェアプログラムとして実施されるようなものとして開示されるが、当業者には、本発明はハードウェア、ソフトウェア、または、ハードウェアとソフトウェアとを組み合わせたもので実施されてもよいことがわかるはずである。このような実施形態は、ＡＳＩＣのような様々なプログラムを独立して実行するいくつかのプロセッサーおよび専用ハードウェアを含んでもよい。
【００２７】
[0033]コンピュータ３００は、オペレーティングシステムとともにプログラムされてもよく、そのオペレーティングシステムは、その他の知られているプラットフォームもあるが、特に、ＯＳ／２、Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、Ｕｎｉｘ、Ｗｉｎｄｏｗｓ、Ｗｉｎｄｏｗｓ９５、Ｗｉｎｄｏｗｓ９８、ＷｉｎｄｏｗｓＮＴ、Ｗｉｎｄｏｗｓ２０００、ＷｉｎｄｏｗｓＭＥ、およびＷｉｎｄｏｗｓＸＰであってもよい。オペレーティングシステムの少なくとも一部分は、メモリ３０３に配置されてもよい。メモリ３０３は、以下で説明するような信号保持媒体に加えて、ランダムアクセスメモリ、リードオンリーメモリ、磁気抵抗読み込み／書き込みメモリ、光学的読み込み／書き込みメモリ、キャッシュメモリ、磁気的読み込み／書き込みメモリなどの中から１つかまたは複数を含んでもよい。
【００２８】
[0034]図５は、記憶されたＧＰＳ信号サンプルから地理的位置データを計算する処理５００の例示的な実施形態を示すフローチャートである。処理５００は、メモリ３０３に記憶されたソフトウェアとして実施されてもよく、図３に示されるコンピュータ３００のＣＰＵ３０１によって実行されてもよい。あるいは、処理５００は、ハードウェア、または、ハードウェアとソフトウェアとを組み合わせたものとして実施されてもよい。処理５００は、記憶されたＧＰＳ信号サンプル５０２によって開始し、そのＧＰＳ信号サンプル５０２は、処理のためにカメラ１００から受け取られたものである。ＧＰＳ信号サンプル５０２は、上述したように、複素数信号サンプルかまたは狭帯域サンプルであってもよい。
【００２９】
[0035]ステップ５０４において、ＧＰＳ信号サンプル５０２は、コード位相データ５０６を生成するために、相関器５０４によって処理される。コード位相データ５０６は、ＧＰＳ信号サンプルによって表現されるＰＮコード信号系列と基準ＰＮ信号系列との間のサブミリ秒時刻シフトを備える。当分野において既知であるように、コード位相データ５０６は、ＧＰＳ信号サンプル５０２によって表現されるＧＰＳ衛星までの擬似距離のサブミリ秒部分を提供する。相関処理の例示的な実施形態が、図６を参照して以下に説明される。一実施形態においては、相関器５０４は、コード位相データ５０６を計算するのを助けるために、位置推定値５１２を使用してもよい。特に、位置推定値５１２は、期待コード位相データ（すなわち、期待擬似距離データ）を生成するために、エフェメリス５１０とともに使用されてもよい。相関器５０４は、コード位相データ５０６を計算するとき、コード位相サーチ空間（すなわち、サーチ窓）およびそのための処理時間を減少させるために、期待コード位相データを使用してもよい。特に、コード位相サーチ窓を制限するために、相関器５０４は、最初に、おおよその受信機クロックバイアス（すなわち、共通モード誤差）を決定または推定しなければならない。なぜなら、このような受信機クロックバイアスは、最初は未知であるからである。当分野において周知であるように、おおよその受信機クロックバイアスは、１つかまたは２つの衛星信号からのデータを用いて推定されてもよい。
【００３０】
[0036]さらに、相関器５０４は、相関処理を改善するために、環境データ５１１を受け取ってもよい。特に、環境データ５１１は、ＧＰＳ信号サンプル５０２に対応する写真が屋内環境と対照して屋外環境で撮られたかどうかに関する知識を提供してもよい。相関器５０４は、環境データ５１１に応じて、コヒーレント積分時間および非コヒーレント積分時間のような相関パラメータを変化させてもよい。例えば、環境データ５１１が、屋内環境においてＧＰＳ信号サンプル５０２が捕獲されたことの指示を提供するならば、相関器５０４は、信号対雑音比を増加させるために、非コヒーレント積分期間を通常の期間から増加させてもよい。環境データ５１１は、ＧＰＳ信号サンプル５０２に対応するデジタル写真を解析することによって得られてもよい。例えば、デジタル写真は、カメラ１００が写真を撮った環境の種類を指示する照明またはその他の写真パラメータを決定するために、処理されてもよい。さらなる例においては、デジタル写真を撮るのにカメラ１００のフラッシュが使用されたかどうかが、カメラ１００が屋外環境と対照して屋内環境に存在したかどうかを指示するのに使用されてもよい。
【００３１】
[0037]ステップ５０８において、コード位相データ５０６、エフェメリスデータ５１０、位置推定値５１２、および時刻タグデータ５１４が、地理的位置データ５１６を生成するために、位置計算器５０８によって処理される。エフェメリスデータ４１０は、当分野において既知であるような衛星軌道情報を含む。時刻タグデータ５１４は、ＧＰＳ信号サンプル５０２がカメラ１００によって捕獲されたおおよそのタイムオブデイを含む（例えば、クロック１１０によって提供される時刻タグ）。特に、カメラ１００内におけるメモリの制約のために、ＧＰＳ信号サンプル５０２は、衛星航法メッセージ内のＴＯＷを突き止めて復号化するための十分な情報を含まなくてもよい。当分野において周知であるように、ＴＯＷを復号化するためには、少なくとも６秒のサンプルが、カメラ１００によって捕獲されなければならない。しかしながら、カメラ１００は、メモリ１０６の大きさの制約のために、１秒以下（例えば、２５０ミリ秒）のデータを捕獲するように構成されてもよい。
【００３２】
[0038]位置推定値５１２は、ＧＰＳ信号サンプルが捕獲されたカメラ１００のおおよその位置を提供する。一実施形態においては、現在の写真に対応するＧＰＳ信号サンプル５０２のために、位置推定値５１２は、以前の写真に対応するＧＰＳ信号サンプルから計算された地理的位置データから得られてもよい。現在の写真と以前の写真との間で経過した時間長（時刻タグデータから決定される）が、以前の地理的位置データが位置推定値５１２に有効なおおよその位置として使用されてもよいかどうかを決定するのに使用されてもよい。あるいは、位置推定値５１２は、ユーザの住所または活動領域（例えば、活動している州または国）の位置であってもよい。
【００３３】
[0039]一実施形態においては、ステップ５０８において、コード位相データ５０６、エフェメリスデータ５１０、時刻タグデータ５１４、および位置推定値５１２は、地理的位置データ５１６を生成するための数学的モデルを用いて処理される。特に、位置計算器５０８は、エフェメリスデータ５１０、時刻タグデータ５１４、および位置推定値５１２を用いて、擬似距離の整数部分を計算する。計算された整数部分は、完全な擬似距離を計算するために、コード位相データ５０６と組み合わせられる。整数ミリ秒不確定性を解くための処理は、当分野において周知である。整数ミリ秒不確定性を解くための例示的な処理は、２００４年５月１１日に発行された同一出願人による米国特許第６，７３４，８２１号に説明されており、この米国特許第６，７３４，８２１号は、その全体が参照として本明細書に組み込まれる。
【００３４】
[0040]数学的モデルは、実際の擬似距離と期待擬似距離との間の残留差分を、位置（例えば、ｘ位置、ｙ位置、およびｚ位置）および時刻（例えば、ローカルクロックバイアス（ｔｃ）およびタイムオブデイ誤差（ｔｓ））の更新に関連づけるのに使用される。期待擬似距離は、位置推定値５１２に基づくものである。一実施形態においては、数学的モデルは、以下のように定義されてもよい。
【数１】
2008503191.tif 000003
【００３５】
[0041]ここで、ｕは、擬似距離残差（期待擬似距離と実際の擬似距離との差分）のベクトルであり、Ｈマトリックスは、位置更新（ｘ、ｙ、ｚ）を擬似距離残差に関連づける周知の視線ベクトル（最初の３つの列）、ローカルクロックバイアス（ｔｃ）を擬似距離残差に関連づける定数（光の速度ｃ）の周知の列、およびタイムオブデイ誤差（ｔｓ）を擬似距離残差に関連づけるレンジレートの列を含む。上述した数学的モデルを詳細に理解するには、同一出願人による米国特許第６，７３４，８２１号を参照されたい。ある位置に収束させるために、上述した数学的モデルが、何回か反復されてもよい。処理５００は、カメラ１００から検索されたＧＰＳ信号サンプルのそれぞれの組ごとに反復されてもよい。
【００３６】
[0042]図６は、本発明とともに使用する相関処理６００の例示的な実施形態を示すフローチャートである。ステップ６０２において、記憶されたＧＰＳ信号サンプルが、処理のために受け取られる。ＧＰＳ信号サンプルは、上述したように、複素数サンプルかまたは狭帯域サンプルであってもよい。相関処理６００は、図５に示される処理５００のステップ５０４において使用されてもよい。処理６００は、２つの主たるプロセッサー、すなわち、信号検出処理６０１および信号計測処理６０２からなる。信号検出処理６０１は、ＧＰＳ信号およびその信号のおおよそのＰＮコード位相が存在するかしないかを決定する。上述したように、ＰＮコード位相は、位置を突き止めるための擬似距離を決定するのに使用される。次いで、信号計測処理６０２において、ＰＮコード位相の正確な値が決定される。
【００３７】
[0043]信号検出処理６０１は、以下に簡単に説明するようないくつかのステップからなる。ステップ６１１において、第１の位相は、搬送周波数補正項を適用することを必要とする。補正を適用するために、入力サンプルは、搬送周波数補正の複素共役に等しい複素指数項を乗算される。搬送周波数補正項は、ドップラー（すなわち、衛星の移動および受信機の移動によるＧＰＳ信号の周波数における見掛け上のシフト）およびＧＰＳフロントエンド１１２に固有の公称同調オフセットを補償する。
【００３８】
[0044]ステップ６１２において、信号対雑音比（ＳＮＲ）を改善するために、かつ、処理負荷を減少させるために、入力サンプルの和が、処理の前に事前に計算される。事前和処理は、ＧＰＳ信号が少なくとも２０個の同一エポック（それぞれのエポックは、ＰＮコードの１サイクルからなり、２０個のエポックは、衛星航法メッセージのデータビット期間である）からなることをうまく利用する。すべてのエポックを表現するただ１つの組のサンプルを提供するために、後続のエポックからなる小さなグループ内における同一相対位置において得られるサンプルの和が計算されてもよい。一実施形態においては、事前和処理は、９個のエポックからなるグループにわたって実行され、データビットがＧＰＳ搬送波上で遷移することを保証する値は、通常、事前和の量に影響を及ぼすことはない。それとは対照的に、より長い期間にわたる事前和は、データビット遷移のためにゼロとなる傾向がある。
【００３９】
[0045]次いで、入力信号と既知の衛星信号との間の相関点を識別するために、畳み込み処理（マルチステップ処理６２０）が実行される。この畳み込みは、様々な技術によって実行されてもよいが、高速畳み込みとして一般的に知られているＦＦＴに基づいたアプローチが、計算処理的に効率がよい。より詳細には、高速畳み込み処理６２０は、ステップ６２１において、入力サンプルのブロックにＦＦＴを実行することによって開始する。ステップ６２３において、その結果は、ＰＮコード波形６２２のＦＦＴを乗算される。次いで、ステップ６２４において、処理６００は、その積に時刻ドリフト補正６２６を乗算する。ステップ６２５において、結果の逆ＦＦＴが、所望の畳み込みを得るために計算される。計算処理的な負荷を節減するために、すべての衛星に対するＰＮコードのＦＦＴは、事前に計算され、コンピュータ３００のメモリ３０３に記憶される。
【００４０】
[0046]ＳＮＲを改善するために、多くの高速畳み込みの結果の和が、非コヒーレント積分ステップ６３０において、個々の畳み込みの２乗振幅の和を計算することによって、計算される。その結果は、畳み込みの改善されたＳＮＲ２乗振幅推定値である。非コヒーレント積分ステップ６３０は、事前に和を計算されたグループ間におけるＰＮコードのドリフトを補償するために、個々の畳み込みが時間整合されることを必要とする。それぞれの事前和グループ間の期待時刻ドリフトが、計算されてもよい。なぜなら、期待コード周波数は、そのサーチにとって既知であるからである（コード周波数は、常に、搬送周波数の１／１５４０である）。時刻ドリフトは、ステップ６２４で時刻ドリフト補正６２６を適用することによって、畳み込み処理中にうまい具合に補償される。ステップ６２４において、畳み込みの変換領域表現が、線形位相特性を備える複素指数を乗算され、それは、畳み込み出力を時間的にシフトする作用を有する。それぞれのグループが、処理されると、ステップ６２６における線形位相項の傾きは、第１のグループに対するＰＮコードの期待時刻シフトを補償するために、増加させられる。このようにして、すべての畳み込み出力は、時間的にほぼ整合させられ、そして、和が計算される。一実施形態において、非コヒーレント積分ステップ６３０の長さは、環境データ（例えば、屋外と対照して屋内）を用いて決定される。例えば、非コヒーレント積分期間は、環境データがＩＦサンプル６１０が屋内環境（例えば、低いＳＮＲ環境）において捕獲されたことを指示すれば、公称期間から増加してもよい。
【００４１】
[0047]非コヒーレント積分の後に、ステップ６４０が続き、ピーク検出が、実行され、相関ピークを得るために、非コヒーレント積分の結果が、スキャンされる。結果として得られたピークのリストが、ステップ６５０におけるピーク識別でさらに解析される。リストは、相関サイドローブから結果的に得られる可能性のある誤りピークを除去される。処理６００の高速畳み込み技術およびピーク識別技術は、衛星のおおよその遅延値、例えば、おおよそのピーク位置を識別することだけを意図したものであることに注意されたい。より良好な精度を得るために、処理６００は、信号計測処理６０２へ進む。信号計測処理６０２は、衛星の遅延値の正確な計測を実行し、例えば、正確なピーク位置が、決定される。
【００４２】
[0048]信号計測処理６０２は、最初に記憶されたＩＦサンプルによって開始し、次いで、ステップ６６２において、ステップ６１１と体系的に同一である搬送波補正ステップを開始する。搬送波補正ステップの出力は、早期−晩期（Ｅ−Ｌ）相関器６６０に結合される。搬送波を補正されたＩＦサンプルは、ステップ６６１のＰＮ発生器によって生成されたＰＮ基準コードの早期バージョンおよび晩期バージョンの両方を乗算される。早期の積および晩期の積は、差が計算され、早期信号から晩期信号を引いたものが形成され、それは、いくつかのエポックにわたるサンプルに対して積算される。積算器出力の複素２乗振幅値が、ステップ６７３において形成され、これらの値は、ステップ６７５の非コヒーレント積算器において、さらに、より長い時間スパンにわたって積算される。その結果は、Ｅ−Ｌ相関をうまく平均した値である。
【００４３】
[0049]Ｅ−Ｌ出力をもたらす積算は、コヒーレント和および非コヒーレント和（２乗振幅）の両方からなる。一実施形態においては、コヒーレント和間隔は、９個のエポックとして選択される。この値は、ＧＰＳ航法メッセージによるデータビット遷移が平均されるときに大きな損失を発生させないことを保証できるほどに十分に短い（上の説明を参照）。さらに、コヒーレント平均化時間を制限することは、搬送波補正処理は高い精度でなければならないという要件を緩和する。
【００４４】
[0050]ステップ６６１のＰＮ発生器は、早期−晩期相関器６６０において使用される基準コードを提供する。最初に、コードオフセット、例えば、記憶された入力サンプルに対するコードの開始点が、ステップ６５０のピーク識別処理から結果として得られた値に設定される。ステップ６６３において、コード発生のレートが、数値制御コード発振器（コードＮＣＯ）によって、期待コードレートに設定される。搬送波レートおよびコードレートは、Ｌ１周波数と１．０２３ＭｈｚのＣ／Ａコードチップ化レートとの比に基づいて互いに比例する。期待搬送波およびコードレートは、推定された位置およびおおよそのタイムオブデイとともにエフェメリスを用いて決定されてもよい。期待搬送波およびコードレートの精度に依存して、いくつかの候補周波数を得るために、周波数のサーチを実行すること、すなわち、様々な周波数補正のために、信号計測処理６０２を再試行することを必要とする可能性がある。
【００４５】
[0051]Ｅ−Ｌ相関の平均値は、ＰＮコード発生器を入力信号により良好に整合させるために、ＮＣＯの位相を更新するのに使用される。最良の整合が、達成されると、Ｅ−Ｌ相関器出力値は最小となる。ＮＣＯの位相更新は、Ｅ−Ｌ相関器出力値が許容できる小さなレベル（すなわち、ステップ６８０におけるしきい値）に達するまで、反復する形で継続する。しきい値に達してしまえば、ステップ６６５において生成された遅延推定値が、ステップ６９０において出力されたＰＮコード位相の最終的な値とみなされる。別の実施形態においては、Ｅ−Ｌ相関ではなく、遅延推定値が、相関応答を横切る一組の相関値を決定することによって、かつ、データに最も良好に一致する応答三角形を微細化するために（すなわち、応答三角形のピークが、真の遅延の推定値である）、曲線近似処理を実行することによって、計算されてもよい。ＧＰＳ信号処理をより詳細に理解するためには、２００２年９月１７日に発行された同一出願人による米国特許第６，４５３，２３７号を参照されたい。この米国特許第６，４５３，２３７号は、その全体が参照として本明細書に組み込まれる。
【００４６】
[0052]これまでの説明において、本発明が、米国全地球測位システム（ＧＰＳ）への応用を参照して説明された。しかしながら、これらの方法は、類似する衛星システム、特に、ロシアＧＬＯＮＡＳＳシステム、欧州ＧＡＬＩＬＥＯシステム、これらのシステムを互いに組み合わせたもの、およびこれらのシステムをＧＰＳに類似する信号を提供する広域補強システム（ＷＡＡＳ）およびＳＢＡＳのような類似する信号を提供するその他の衛星と組み合わせたものに同等に適用できることは明らかなことである。本明細書で使用される「ＧＰＳ」という用語は、ロシアＧＬＯＮＡＳＳシステム、欧州ＧＡＬＩＬＥＯシステム、ＷＡＡＳシステム、およびＳＢＡＳシステム、さらに、これらを組み合わせたものを含めて、このような代替の衛星測位システムを含む。
【００４７】
[0053]上述したことは、本発明の実施形態を説明することを意図したものであり、本発明のその他のおよびさらなる実施形態が、本発明の基本的な範囲から逸脱することなく工夫されてもよく、本発明の範囲は、特許請求の範囲に規定される。
【図面の簡単な説明】
【００４８】
【図１】本発明の１つ以上の態様に基づいて構成されたデジタルカメラの例示的な実施形態を示すブロック図である。
【図２】図１のＧＰＳフロントエンドの例示的な実施形態を示すブロック図である。
【図３】図１のデジタルカメラ内に記憶されたデータを処理するのに適したコンピュータの例示的な実施形態を示すブロック図である。
【図４】本発明の１つ以上の態様に基づいて、デジタル写真に地理的位置データを記述したタグを付けるための処理の例示的な実施形態を示すフローチャートである。
【図５】記憶されたＧＰＳ信号サンプルから地理的位置データを計算する処理の例示的な実施形態を示すフローチャートである。
【図６】本発明とともに使用する相関処理の例示的な実施形態を示すフローチャートである。
【図１】
2008503191.tif 000004
【図２】
2008503191.tif 000005
【図３】
2008503191.tif 000006
【図４】
2008503191.tif 000007
【図５】
2008503191.tif 000008
【図６】
2008503191.tif 000009
【国際調査報告】
2008503191.tif 000010