(57)【要約】 【課題】  インターネット内に配置された所在の判明している複数の基準装置との通信に要する時間等から、その位置を推定する位置推定装置等を提供する。【解決手段】  位置推定装置２０１は、コンピュータ通信網を介して複数の基準装置のそれぞれと通信し、測定部３０１は、当該複数の基準装置のそれぞれとの通信距離（典型的には通信時間）を、当該基準装置との通信を行うことにより測定し、推定部３０２は、測定された複数の基準装置のそれぞれとの通信距離に推定される係数（典型的にはパケット移動速度）を乗じて得られる推定距離と、当該基準装置から当該位置推定装置２０１の推定される位置への距離と、の差とともに単調増加するパラメータを最小とするように、当該係数と当該位置推定装置２０１の位置とを最尤推定する。【選択図】  図３
2006275785.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ通信網を介して複数の基準装置のそれぞれと通信する位置推定装置であって、
当該複数の基準装置のそれぞれとの通信距離を、当該基準装置との通信を行うことにより測定する測定部、
前記測定された複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小とするように、当該係数と当該位置推定装置の位置とを最尤推定する推定部
を備えることを特徴とする物。
【請求項２】
請求項１に記載の位置推定装置であって、
当該通信距離は、当該基準装置との通信に要した時間である
ことを特徴とする物。
【請求項３】
請求項１に記載の位置推定装置であって、
当該通信距離は、当該基準装置との通信に要したホップ数である
ことを特徴とする物。
【請求項４】
請求項１から３のいずれか１項に記載の位置推定装置であって、
前記推定部は、「複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小」とするように最尤推定するのにかえて、「複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差の、当該基準装置から当該位置推定装置の推定される位置への距離に対する比とともに単調増加するパラメータを最小」とするように最尤推定する
ことを特徴とする物。
【請求項５】
請求項１から４のいずれか１項に記載の位置推定装置であって、
前記推定部は、前記複数の基準装置のそれぞれと、前記位置推定装置と、はいずれも地球上に配置されるものとして、最尤推定する
ことを特徴とする物。
【請求項６】
コンピュータ通信網を介して複数の基準装置のそれぞれと通信し、測定部、推定部を備える位置推定装置にて実行される位置推定方法であって、
前記測定部が、当該複数の基準装置のそれぞれとの通信距離を、当該基準装置との通信を行うことにより測定する測定工程、
前記推定部が、前記測定された複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小とするように、当該係数と当該位置推定装置の位置とを最尤推定する推定工程
を備えることを特徴とする方法。
【請求項７】
コンピュータ通信網を介して複数の基準装置のそれぞれと通信するコンピュータを、
当該複数の基準装置のそれぞれとの通信距離を、当該基準装置との通信を行うことにより測定する測定部、
前記測定された複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小とするように、当該係数と当該コンピュータの位置とを最尤推定する推定部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ通信網内に配置された所在の判明している複数の基準装置との通信に要する時間等から、その位置を推定する位置推定装置、位置推定方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、各種の通信端末の位置を推定する技術が提案されている。このような位置推定の技術については、以下の文献に開示がある。
【特許文献１】特公昭６３−４８０２３号公報
【０００３】
本文献に開示される技術では、人工衛星から送信されるＧＰＳ（Global Positioning System）電波を受信して、船の位置や向きを推定する技術が開示されている。ＧＰＳ衛星を用いた位置の推定では、電波が到達するのに要する時間や、当該電波のドップラ変位を用いるものとしている。
【０００４】
一方で、今日広く用いられている通信機器として、インターネットに接続されるコンピュータの重要性がますます高まってきている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、一般的なコンピュータは、インターネットを介して世界各地のコンピュータにアクセスすることができる一方で、ＧＰＳなどは塔載していないことが多い。
【０００６】
また、サービスを受ける人が住む国によって文化や法制度、各種の規制が異なるため、サービスを地域ごとに変更するために、サービスを受けるコンピュータの位置を簡易に推定したいとの要望は大きい。
本発明は、上記のような課題を解決するためになされたもので、コンピュータ通信網内に配置された所在の判明している複数の基準装置との通信に要する時間等から、その位置を推定する位置推定装置、位置推定方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第１の観点に係る位置推定装置は、コンピュータ通信網を介して複数の基準装置のそれぞれと通信し、測定部、推定部を備え、以下のように構成する。
【０００８】
まず、測定部は、複数の基準装置のそれぞれとの通信距離を、当該基準装置との通信を行うことにより測定する。
【０００９】
ここで、複数の基準装置は、その位置があらかじめ判明しているものとする。
【００１０】
また、「通信距離」としては、「基準装置との通信に要した時間」や、「基準装置との通信に要したホップ数」など、遠くにあれば値が大きくなると想定される各種の通信パラメータを採用することができる。
【００１１】
一方、推定部は、測定された複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小とするように、当該係数と当該位置推定装置の位置とを最尤推定する。
【００１２】
ここで「係数」とは通信速度に相当するパラメータである。上記のように、各基準装置の位置は判明しているから、「位置推定装置の推定された位置と基準装置との距離」が、できるだけ、「推定された係数」と「通信に要する時間」の積に近くなるように、最尤推定するのである。
【００１３】
また、ここで「最小化されるパラメータ」として典型的であるものは、「差の自乗の総和」や「差の絶対値の総和」である。
【００１４】
本発明によれば、たとえば各地（宇宙空間を含む。）に配置された主要なサーバ機と通信を行うことによって、当該コンピュータがどこに配置されているか、（少なくとも、どこに配置されたアクセスポイントを利用しているのか）を簡易に推定することができる。
【００１５】
また、本発明の位置推定装置において、推定部は、「複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小」とするように最尤推定するのにかえて、「複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差の、当該基準装置から当該位置推定装置の推定される位置への距離に対する比とともに単調増加するパラメータを最小」とするように最尤推定するように構成することができる。
【００１６】
すなわち、距離の誤差に関するパラメータを最小化しているが、本発明では、距離の誤差率に関するパラメータを最小化しているのである。また、ここで「最小化されるパラメータ」として典型的であるものは、「比の自乗の総和」や「比の絶対値の総和」である。
【００１７】
本発明によっても、たとえば各地（宇宙空間を含む。）に配置された主要なサーバ機と通信を行うことによって、当該コンピュータがどこに配置されているか、（少なくとも、どこに配置されたアクセスポイントを利用しているのか）を簡易に推定することができる。
【００１８】
また、本発明の位置推定装置において、推定部は、複数の基準装置のそれぞれと、位置推定装置と、はいずれも地球上に配置されるものとして、最尤推定するように構成することができる。
【００１９】
本発明は、好適実施形態に係るものであり、すべての通信機器が地球上に存在するものという制約を課して最尤推定するものである。
【００２０】
本発明によれば、たとえば地球上に配置された主要なサーバ機と通信を行うことによって、当該コンピュータが地球上のどこに配置されているか、（少なくとも、地球上のどこに配置されたアクセスポイントを利用しているのか）を簡易に推定することができる。
【００２１】
本発明のその他の観点に係る位置推定方法は、コンピュータ通信網を介して複数の基準装置のそれぞれと通信し、測定部、推定部を備える位置推定装置にて実行され、測定工程、推定工程を備え、以下のように構成する。
【００２２】
まず、測定工程では、測定部が、当該複数の基準装置のそれぞれとの通信距離を、当該基準装置との通信を行うことにより測定する。
【００２３】
一方、推定工程では、推定部が、測定された複数の基準装置のそれぞれとの通信距離に推定される係数を乗じて得られる推定距離と、当該基準装置から当該位置推定装置の推定される位置への距離と、の差とともに単調増加するパラメータを最小とするように、当該係数と当該位置推定装置の位置とを最尤推定する。
【００２４】
本発明のその他の観点に係るプログラムは、コンピュータを上記の位置推定装置として機能させ、または、コンピュータに上記の位置推定方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２５】
本発明によれば、コンピュータ通信網内に配置された所在の判明している複数の基準装置との通信に要する時間等から、その位置を推定する位置推定装置、位置推定方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００２７】
図１は、本発明の実施形態に係る位置推定装置が実現されるゲーム用の情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２８】
図１は、プログラムを実行することにより、本発明の位置推定装置の機能を果たす典型的なゲーム用の情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２９】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
【００３０】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の位置推定装置が実現される。
【００３１】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３２】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３３】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３４】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがレーシングゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【００３５】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、レーシングゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、チャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３６】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３７】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００３８】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００３９】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００４０】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００４１】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４２】
インターネット内のＳＮＴＰサーバにＮＩＣ  １０９を介して接続し、ここから情報を得ることによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【００４３】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００４４】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００４５】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００４６】
なお、リアルタイムクロックにより、本体の電源がオフにされても現在の日時情報を適切に更新できるようにしたゲーム装置も存在するが、本実施形態では、必ずしもリアルタイムクロックは必要とされない。ゲーム装置がリアルタイムクロックを備えているとしても、ユーザがその時刻を正しく設定しているとは限らないこと、ネットワークゲームの形態によっては、各ゲーム装置が管理する時刻情報にずれがあると、正しくゲームが進行しないこと、などの要因があるため、本発明を適用するにあたっては、ＮＩＣ  １０９を介して接続された各種のサーバから、ゲームを開始する際に、現在の日時情報を得るからである。
【００４７】
一旦日時情報が得られれば、情報処理装置１００が動作中はタイマ割込によりリアルタイムクロックと同様の機能を果たすカウンタを更新することとしてもよいし、情報処理装置１００がリアルタイムクロックを有する場合は、その日時情報を修正する態様を採用することもできる。この際に、修正するか否かをユーザに問い合わせてもよい。内蔵するリアルタイムクロックを修正しない場合には、リアルタイムクロックの情報と実際にサーバから得られた情報との差分を保持し、日時情報が必要な場合には、リアルタイムクロックから得られた情報にその差分を加算すればよい。
【００４８】
図２は、本実施形態に係る位置推定装置の使用の様子を示す説明図である。以下、本図を参照して説明する。
【００４９】
本図に示すように、位置推定装置２０１は、インターネット２３１を介して、複数の基準装置２６１と通信可能に接続されている。基準装置２６１は、ＳＮＰサービス等種々のネットワークサービスを提供するサーバ機とするのが典型的であるが、たとえば、ＰＩＮＧやＥＣＨＯに対して応答するのみのサーバ機であっても、本発明に適用することができる。
【００５０】
なお、本実施形態では、位置推定装置２０１ならびに基準装置２６１はいずれも地球上にあるものとし、地球表面は半径Rの球面であると近似する。
【００５１】
図３は、本実施形態に係る位置推定装置の概要構成を示す模式図である。図４は、本実施形態に係る位置推定装置にて実行される位置推定処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００５２】
本実施形態の位置推定装置２０１は、インターネット２３１を介して複数の基準装置２６１のそれぞれと通信し、測定部３０１、推定部３０２を備える。
【００５３】
本発明では、「通信距離」というパラメータを使用するが、これは、基準装置２６１との通信に要したホップ数など、遠くにあれば値が大きくなると想定される各種の通信パラメータである。なお、本実施形態では、基準装置２６１との通信に要した時間を採用することとするが、その他の通信パラメータを採用した場合も、同様の処理を行えば良い。
【００５４】
本処理が開始されると、まず、測定部３０１は、複数の基準装置２６１のそれぞれとの通信に要する通信時間を、当該基準装置２６１との通信を行うことにより測定する（ステップＳ４０１）。
【００５５】
具体的には、測定部３０１からＰＩＮＧパケットやＥＣＨＯパケット等を基準装置２６１に対して送信してから、その応答が到達するまでに要した時間を用いる。
【００５６】
なお、通信パラメータとしてホップ数を採用する場合には、ＴＲＡＣＥＲＯＵＴＥなどにより取得することも可能である。
【００５７】
通信には、ＮＩＣ  １０９を利用し、測定結果は、ＲＡＭ  １０３などの記憶装置に記憶するので、ＣＰＵ  １０１がこれらと共働して、測定部３０１として機能することとなる。
【００５８】
次に、要した通信時間が最小の基準装置２６１を選択し（ステップＳ４０２）、当該通信時間が所定の下限閾値より小さいか否かを判定する（ステップＳ４０３）。
【００５９】
そして、これが、所定の下限閾値より小さければ（ステップＳ４０３；Ｙｅｓ）、当該位置推定装置２０１の位置として、「当該最小通信時間で通信できた基準装置２６１の近傍」を出力して（ステップＳ４０４）、本処理を終了する。
【００６０】
所定の下限閾値は、適用分野や利用するパケットの種類、サービスの種類によって適宜変更することができるが、後述の上限閾値と比較すると、極めて小さい値とすることになる。
【００６１】
たとえば、一般的なＰＩＮＧを用いた場合、通信時間の最小単位は10ms程度であるから、下限閾値としては、この最小単位、もしくは、最小単位の数倍程度（20ms〜30ms程度）を採用することが望ましい。
【００６２】
なお、ステップＳ４０３〜ステップＳ４０４の処理は、各基準装置２６１に対してＴＲＡＣＥＲＯＵＴＥ等を適用して得られる通信経路上に配置される通信中継機器のうち、その設置位置が判明しているものとの通信時間のうち最小のものと、下限閾値を比較して、最小通信時間の方が短かければ、当該設置位置が判明している通信中継機器の設置位置の近傍を、当該位置推定装置２０１の位置として推定しても良い。
【００６３】
下限閾値時間以上である場合（ステップＳ４０３；Ｎｏ）、すなわち、近傍の基準装置２６１が単純に経路情報から決定できない場合が、本発明が特に効果を奏する場合である。
【００６４】
この場合、所定の上限閾値よりも小さい通信時間で応答した基準装置２６１を複数選択する（ステップＳ４０５）。本実施形態の場合、「所定の上限閾値」とは、いわゆるタイムアウト時間に相当する。したがって、ホップ数を採用する場合は、応答がなかった基準装置２６１を除去する処理に相当する。
【００６５】
そして、推定部３０２が、以下に説明する最尤推定により、位置推定装置２０１の位置を推定する（ステップＳ４０６）。
【００６６】
図５は、基準装置と位置推定装置の地球上における位置関係を示す説明図である。以下、本図を参照して説明する。
【００６７】
所定の上限閾値よりも小さい通信時間で応答したi番目の基準装置２６１の地球上における緯度ならび経度をそれぞれθ[i]、φ[i]とする。すると、地球の中心を原点とし、北極の座標を(0,0,R)、赤道上の東経０度の地点の座標を(R，0，0)とするユークリッド座標系では、当該基準装置２６１の座標は、
A[i] = (R cosθ[i] cosφ[i]，R sinθ[i] cosφ[i]，R sinφ[i])
= (X[i]，Y[i]，Z[i])
となる。
【００６８】
同様に、位置推定装置２０１の座標を
B = (R x,R y,R z)；x2+y2+z2 = 1
とすると、地球の中心からこの両者を見込む角Ω[i]は、この２つの位置ベクトルのなす角となるから、
cos Ω[i] = A・B/(|A||B|)
= X[i]x + Y[i]y + Z[i]z
より、arccos(・)を適用すれば求めることができる。
【００６９】
さて、本実施形態では、係数としてパケットの移動速度R cを考える。cは、地球半径を単位とした場合の速度に相当する。i番目の基準装置２６１との通信に要した通信時間をT[i]とおくと、当該基準装置２６１と、位置推定装置２０１との間の道のりは、R c T[i]となる。
【００７０】
そこで、i番目の基準装置２６１について差のパラメータR ε[i]を、
R ε[i] = (R Ω[i] - R c T[i])2；
ε[i] = (Ω[i] - c T[i])2；
のように定義する。そして、最尤推定の際の最小化すべきパラメータEを、所定の上限閾値よりも小さい通信時間で応答した基準装置２６１が全部でN個あるとして、
E = Σi=1Nε[i]
とする。
【００７１】
上記のように、θ[i]，φ[i]，T[i]，Rは、測定によって得られ、変数はx，y，z，cの４つである。
【００７２】
したがって、本最尤推定は、４つの変数x，y，z，cの４つから計算されるパラメータEを、拘束条件x2+y2+z2 = 1のもとで最小化するようなx，y，z，cを解くことに帰着される。
【００７３】
この計算には、従来から広く用いられているラグランジュの未定乗数法を利用すれば良い。すなわち、パラメータλを利用して、
h(x,y,z,c) = E + λ(x2+y2+z2 - 1)
の極値を求めることとなる。
【００７４】
したがって、MATHEMATICA（登録商標）のような数式処理ソフトウェアと同様の処理を上記数式に対して適用することとして、関数h(x,y,z,c)を各変数x,y,z,c,λで偏微分し、それを０とおいた連立方程式を解けば、x，y，z，c，λが得られることになる。
【００７５】
また、本手法では、arccosの計算が必要となる等解析的に偏微分をしたり連立方程式を解くのに時間を要したりして、解を求めるのが難しい場合もあるので、このような場合には、非線形計画法で用いられる技術である数値微分ならびに最急降下法等の数値計算法を適用すれば良い。
【００７６】
最急降下法を用いるには、拘束条件x2+y2+z2 = 1を使用せずにすませるために、位置推定装置２０１の緯度τおよび経度σを未知の変数として、
x = cosτ cosσ；
y = sinτ cosσ；
z = sinσ
とし、３つの変数τ，σ，cから計算されるパラメータEを最小化する。
【００７７】
これによって、x，y，zが得られれば、位置推定装置２０１の位置の推定結果(Rx，Ry，Rz)を出力して（ステップＳ４０７）、本処理を終了する。
【００７８】
なお、最小化用パラメータとしては、
ε[i] = (Ω[i] - c T[i])2；
のほか、
ε[i] = |Ω[i] - c T[i]|；
ε[i] = (Ω[i]/(c T[i]) - 1)2；
ε[i] = |Ω[i]/(c T[i]) - 1|；
ε[i] = (1 - c T[i]/Ω[i])2；
ε[i] = |1 - c T[i]/Ω[i]|
などを採用しても良い。これらはいずれも、Ω[i]とc T[i]の差や、差の比率が大きくなると単調増加するパラメータである。
【００７９】
また、上記実施形態では、基準装置２６１と位置推定装置２０１との間の道のりをRΩ[i]としたが、基準装置２６１や位置推定装置２０１の位置を地球上に限定しない場合には、X[i]，Y[i]，Z[i]，x，y，zからRを用いた拘束条件を外して、両者の距離を
|A[i] - B|
とすれば良い。
【００８０】
このようなラグランジュの未定乗数法や最急降下法の計算は、ＲＡＭ  １０３に記憶された通信時間の測定結果やＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤ−ＲＯＭに記録された基準装置の位置情報などを参照して、ＣＰＵ  １０１が行うので、ＣＰＵ  １０１が、これら各部と共働して、推定部３０２として機能することとなる。
【００８１】
本実施形態によれば、たとえば各地に配置された主要なサーバ機と通信を行うことによって、当該コンピュータがどこに配置されているか、（少なくとも、どこに配置されたアクセスポイントを利用しているのか）を簡易に推定することができる。
【産業上の利用可能性】
【００８２】
以上説明したように、本発明によれば、インターネット２３１内に配置された所在の判明している複数の基準装置２６１との通信に要する時間等から、その位置を推定する位置推定装置２０１、位置推定方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係る位置推定装置が実現されるゲーム用の情報処理装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係る位置推定装置の概要構成を示す模式図である。
【図３】本実施形態に係る位置推定装置の概要構成を示す模式図である。
【図４】本実施形態に係る位置推定装置にて実行される位置推定処理の制御の流れを示すフローチャートである。
【図５】基準装置と位置推定装置の地球上における位置関係を示す説明図である。
【符号の説明】
【００８４】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２０１  位置推定装置
２３１  インターネット
２６１  基準装置
３０１  測定部
３０２  推定部
【図１】
2006275785.tif 000003
【図２】
2006275785.tif 000004
【図３】
2006275785.tif 000005
【図４】
2006275785.tif 000006
【図５】
2006275785.tif 000007