移動情報処理装置及び情報処理方法及びプログラム
【課題】移動体情報端末において、現在位置の周囲領域に関するコンテンツは常時読み込み完了状態となるようにする。
【解決手段】コンテンツデータベース102は、メッシュごとにメッシュに関連するコンテンツデータを記憶し、データ読込み制御装置101は、位置検出装置100で移動体情報端末300の現在位置が検出される度に、コンテンツが常時読み込み完了状態であることが要求される全保持領域を判定し、全保持領域に対応するメッシュを全保持メッシュ集合とし、更に、間もなく全保持領域に移行すると予測される先読み領域を判定し、先読み領域に対応するメッシュを先読みメッシュ集合とし、以前の全保持メッシュ集合及び先読みメッシュ集合と比較し、未読込みの全保持メッシュ及び先読みメッシュを特定し、先読み処理装置106が、未読込みの全保持メッシュ及び先読みメッシュのコンテンツに対する読込みを行う。
【解決手段】コンテンツデータベース102は、メッシュごとにメッシュに関連するコンテンツデータを記憶し、データ読込み制御装置101は、位置検出装置100で移動体情報端末300の現在位置が検出される度に、コンテンツが常時読み込み完了状態であることが要求される全保持領域を判定し、全保持領域に対応するメッシュを全保持メッシュ集合とし、更に、間もなく全保持領域に移行すると予測される先読み領域を判定し、先読み領域に対応するメッシュを先読みメッシュ集合とし、以前の全保持メッシュ集合及び先読みメッシュ集合と比較し、未読込みの全保持メッシュ及び先読みメッシュを特定し、先読み処理装置106が、未読込みの全保持メッシュ及び先読みメッシュのコンテンツに対する読込みを行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置に関連するコンテンツデータ(以下、コンテンツともいう)をローカルのデータベースやネットワーク経由でコンテンツサーバーから取得し、提示する移動端末装置等に関するものである。
【背景技術】
【0002】
近年、無線通信技術の発達に伴い、移動体に搭載されている情報処理端末(以下、移動体情報端末)に様々なコンテンツを提供するサービスが展開されている。特に移動体が持つ可搬性故に従来のPC(Personal Computer)とは異なり、様々な場所で移動体情報端末は利用される。そのため移動体情報端末が現在、存在している物理的位置を情報(以下、位置情報)として取得し、その位置情報に関連するコンテンツを提供する事が出来るのが望ましい。
また、移動体情報端末は常時移動する事が可能であるため、その移動に追随してその時々の位置情報に関連するコンテンツをリアルタイムに提供できる事が重要となる。そのため、移動体の移動量に応じて逐次、関連するコンテンツをリアルタイムに更新する必要がある。
移動体情報端末の位置情報に関連するコンテンツを提供する従来技術としては、特許文献1に開示される技術が知られている。
【0003】
この特許文献1に開示されている技術では、移動情報端末の移動予定経路が設定されているかどうかに関わらず、またコンテンツデータのサイズが大きい場合であっても、適切にコンテンツを取得する事が可能な移動体用の端末装置を提供する。
この端末装置では、
(1)現在の位置に関連するコンテンツとこのコンテンツに対応する位置との組を少なくとも一つ以上格納したコンテンツリストを記憶し、
(2)現在の位置に基づいたコンテンツを取得するコンテンツ取得領域を決定し、
(3)決定したコンテンツ取得領域に対応する位置をもつコンテンツをコンテンツリストから選択し、
(4)選択したコンテンツの一部を先立って取得し、
(5)選択したコンテンツの一部を取得した後の位置に基づいて前記選択したコンテンツの残りの部分が今後参照されるか否かを判断する事により、
(6)残りの部分を取得すると判断した場合に、残りの部分を取得するようにしている。
【0004】
そして、特許文献1では、コンテンツデータのサイズが大きい場合でもコンテンツを二回に分割して取得するため、コンテンツの一部を先立って表示可能とし、移動によって位置が大きく変化した場合であっても、位置に応じた適切なコンテンツを取得・提示可能としている。
【特許文献1】国際公開WO2003/033998号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、この従来技術では移動体情報端末のコンテンツリストが単一の場合のみを想定しているため、複数領域にまたがった場合の処理ができないという問題点がある。
そのため広範囲(例えば日本全国)の位置に関連するコンテンツが存在した場合、それら全てに関連する情報を格納した一つのコンテンツリストが必要となり、検索負荷が非常に高いものとなる。
そして空間情報を管理する場合、通常は上記負荷を軽減するため、全体の空間を複数にメッシュ分割し分割された空間単位で空間情報を管理する方法が一般的であるが、その方法を利用する事が出来ない。もし、分割された領域で実施する場合にはデータ放送等によりその放送電波を受信できる領域に入ると取得される方式を利用しなければならず、放送局や電波塔、サーバといった設備や維持に掛かるコストが非常に大きい問題がある。
また、コンテンツデータの取りうるサイズがほぼ一定の場合、分割取得しない方が効率的である。
また、コンテンツがメッシュ管理されている場合には、各メッシュに含まれるコンテンツ数等の変動に応じた取得方法を考えた方が効率がよい。
【0006】
本発明は、上記従来技術の課題点を考慮し、広範囲の領域に存在する多量の位置に関連するコンテンツの中から、移動体情報端末の周辺に存在するコンテンツのみを検索する機能を有する情報処理端末において、全てのコンテンツを単一の管理テーブルで管理せずに、ある規則に従って空間を分割し、分割された領域単位でコンテンツを管理する管理装置が存在した状況で、ある特定領域に含まれるコンテンツが常時読み込み完了状態であるように移動体情報端末に保持にすることを主な目的とする。
ここで、常時読み込み完了状態とは、移動体情報端末がそのコンテンツを直ぐに使える状態にしておく事であり、メモリ上に格納したり、高速な二次記憶媒体にバッファリングすること等を指す。
【課題を解決するための手段】
【0007】
本発明に係る移動情報処理装置は、
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから、コンテンツデータに対する情報読み出しを行う移動情報処理装置であって、
移動情報処理装置の現在位置を任意の間隔で検出する位置検出部と、
前記位置検出部により移動情報処理装置の現在位置が検出される度に、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定部と、
前記領域メッシュ判定部により第一領域メッシュ及び第二領域メッシュが判定される度に、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定部と、
前記未読み出しメッシュ指定部により指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定部により指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出し部とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、新たな第一領域メッシュ及び新たな第二領域メッシュと、以前の第一領域メッシュ及び以前の第二領域メッシュとを比較して、第一未読み出しメッシュと第二未読み出しメッシュを指定するため、コンテンツデータに対する情報読み出し量を抑えることができ、メモリ容量が限られている移動情報処理装置においても効率的かつリアルタイムにコンテンツデータの表示を行うことができる。
【発明を実施するための最良の形態】
【0009】
実施の形態1.
(1−1)移動体情報端末の構成例
図1は、本実施の形態に係る移動体情報端末300(移動情報処理装置)の構成例を示す。
本実施の形態に係る移動体情報端末300は、移動体に搭載される情報端末である。移動体としては、例えば、自動車、バイク等の他、人間(歩行者)であってもよい。
本実施の形態に係る移動体情報端末300の各要素の動作、特徴については、後に詳述するが、以下にて、各要素の主な機能を概説する。
【0010】
コンテンツデータベース102は、所定の領域を複数のメッシュに分割して管理し、メッシュごとにメッシュに関連するコンテンツデータ及びコンテンツデータが対応する施設等の位置情報を記憶する。なお、コンテンツデータとは、後述するように、メッシュにより表象される領域(実際の地理的領域)に存在する施設等に関するコンテンツである。
なお、コンテンツデータを空間情報ともいう。
また、コンテンツデータ(空間情報)とコンテンツデータが対応する施設等の位置情報とを対応付けた情報を空間情報テーブル又は単にテーブルという。
【0011】
位置検出装置100は、移動体情報端末300の現在位置を任意の間隔で検出する。位置検出装置100は、位置検出部の例である。
【0012】
データ読込み制御装置101は、位置検出装置100により移動体情報端末300の現在位置が検出される度に、移動体情報端末300の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を全保持領域(第一領域)として判定し、全保持領域に対応する複数のメッシュを全保持メッシュ集合(第一領域メッシュ)として判定する。また、データ読込み制御装置101は、移動体情報端末300の移動により所定時間内に全保持領域に移行すると予測される領域を先読み領域(第二領域)として判定し、先読み領域に対応する複数のメッシュを先読みメッシュ集合(第二領域メッシュ)として判定する。なお、先読み領域の判定基準となる上記の所定時間は、例えば、位置検出装置100による位置検出周期でもよいし、他の時間でもよい。また、移動体の移動速度に応じて変動させてもよい。
なお、全保持領域とは、その領域に含まれている全空間情報は常時保持できている必要がある領域であり、例えば、移動体情報端末300の所在位置から半径Nメートルの円の範囲内の領域については、その領域に対する空間情報の全てが常にデータ記憶装置105内に保持されていなければならない。移動体情報端末300の移動に伴って移動体情報端末300の所在位置から半径Nメートルの円に含まれる領域は徐々に変化していくことになるが、当該円の範囲に含まれるに至った領域の空間情報は必ず事前にデータ記憶装置105に読み込まれていなければならない。
【0013】
また、データ読込み制御装置101は、全保持メッシュ集合及び先読みメッシュ集合を判定する度に、新たに判定した新たな全保持メッシュ集合及び新たな先読みメッシュ集合と、以前に判定した以前の全保持メッシュ集合及び以前の先読みメッシュ集合とを比較し、新たな全保持メッシュ集合に含まれるメッシュのうち以前の全保持メッシュ集合及び以前の先読みメッシュ集合のいずれにも含まれていないメッシュを読み込み対象の全保持メッシュ(第一領域未読み出しメッシュ)として指定する。また、新たな先読みメッシュ集合に含まれるメッシュのうち以前の全保持メッシュ集合及び以前の先読みメッシュ集合のいずれにも含まれていないメッシュを読み込み対象の先読みメッシュ(第二領域未読み出しメッシュ)として指定する。データ読込み制御装置101は、未読み出しメッシュ指定部及び領域メッシュ判定部の例である。
【0014】
先読み処理装置106は、データ読込み制御装置101により指定された読み込み対象の全保持メッシュのコンテンツデータに対する情報読み出しを行い、更に、データ読込み制御装置101により指定された読み込み対象の先読みメッシュのコンテンツデータに対する情報読み出しを行う。
先読み処理装置106が行うコンテンツデータに対する情報読み出しとは、詳細は後述するが、空間情報テーブルを読み出すことにより、空間情報テーブルに含まれるコンテンツデータ自体又はコンテンツデータの格納領域を示すポインタ情報を読み出すことである。
先読み処理装置106は、情報読み出し部の例である。
【0015】
データ記憶装置105は、各種情報を記憶する。
記憶する情報としては、先読み処理装置106により読み出された全保持メッシュ集合情報、先読みメッシュ集合情報、全保持テーブル管理リスト、先読みテーブル管理リストである。
全保持メッシュ集合情報は、データ読込み制御装置101により全保持メッシュ集合として判定された各々のメッシュを示す。全保持メッシュ集合情報は、例えば図38に示す形式である。図38では、全保持メッシュとして5つのメッシュが示され、それぞれのメッシュの識別情報が示される。
先読みメッシュ集合情報は、データ読込み制御装置101により先読みメッシュ集合として判定された各々のメッシュを示す。先読みメッシュ集合情報は、例えば図38の全保持メッシュ集合情報と同様の形式である。
全保持テーブル管理リストには、先読み処理装置106により読み出された各メッシュの空間情報テーブルが含まれる。全保持テーブル管理リストは、読み出された空間情報テーブルが全保持メッシュ集合のメッシュに属することを示す。また、空間情報テーブルは、メッシュごとに、当該メッシュに属するコンテンツデータを示す。全保持テーブル管理リストは、例えば、図13に示すように、全保持メッシュの識別情報(1401〜1405)及び各全保持メッシュに対応するコンテンツデータが含まれる空間情報テーブル(1406〜1407)へのポインタ等が示される。なお、図13の構成の詳細は後述する。
先読みテーブル管理リストには、先読み処理装置106により読み出された各メッシュの空間情報テーブルが含まれる。先読みテーブル管理リストは、読み出された空間情報テーブルが先読みメッシュ集合のメッシュに属することを示す。先読みテーブル管理リストは、例えば図13の全保持テーブル管理リストと同様の形式である。
全保持メッシュ集合情報及び先読みメッシュ集合情報は、領域メッシュ情報の例であり、全保持テーブル管理リスト及び先読みテーブル管理リストは、コンテンツデータ管理情報の例である。
また、データ記憶装置105は、領域メッシュ情報記憶部及びコンテンツデータ管理情報記憶部の例である。
【0016】
コンテンツ処理装置は、データ記憶装置105に記憶されているコンテンツデータを、地図データ上の対応する施設の位置に重畳させて表示する。
【0017】
なお、図1では、コンテンツデータベース102が、移動体情報端末300の内部に配置されている例を示しているが、図34に示すように、コンテンツデータベースを外部に配置するとともに、コンテンツデータベースと通信可能な通信装置107(通信部)を移動体情報端末300に設け、先読み処理装置106が通信装置107を通じてコンテンツデータベースからコンテンツデータを取得するようにしてもよい。
【0018】
(1−2)移動体端末装置を使う基本的なアプリケーション
次に、本実施の形態に係る移動体情報端末300が使用される状況について図3を用いて説明する。
図3は、本実施の形態に係る移動体情報端末300が使用される状況やアプリケーションについて模式的に表現した図である。
【0019】
移動体情報端末300は、移動体301に搭載され、移動可能となっている。
この時、移動体301は自動車、バイク、バス等の様な高速な移動体や、自転車等の様な比較的低速な移動体など移動できるものであれば何でも構わない。また、人間を移動体301とみなしてその人間が移動体情報端末300を移動中に所持する形式でも構わない。
移動体情報端末300は、図1に示すように位置検出装置100を搭載しており、移動体情報端末300が現在位置している位置情報を取得可能である。この位置情報は緯度、経度に基づく情報、それらに加えて高度にも基づく情報、その他ある地点からの相対座標など位置関係が分かる情報であれば何でも良い。位置検出装置100は、例えばGPS(Global Positioning System)衛星からのGPS信号を捕捉して、移動体情報端末300の現在位置を測位するようにしてもよい。
【0020】
以下、位置情報を基準として空間情報302〜318の中から半径Nkmの検索領域円319内に含まれる空間情報302〜306を検索し、表示するアプリケーションを例に挙げる。
空間情報302〜318は、コンテンツデータベース102に格納されている。空間情報について、およびコンテンツデータベースでのデータ格納方法については後述する。
前述したように、コンテンツデータベースは移動体情報端末300内部に実装されていてもよいし、移動体情報端末300外部に存在していてもよい。外部に存在する場合には、図34に示すように、コンテンツデータベース102と移動体情報端末300は有線もしくは無線のネットワークを利用して接続されており、移動体情報端末300はそのネットワークにアクセスするための通信装置107が実装されることになる。
ここで、検索領域円319に含まれている空間情報に関しては、移動体情報端末300の表示画面に現在位置からの距離順でソートされて表示する等の方法でユーザに情報提供する。
【0021】
図4は、取得した空間情報の移動体情報端末300への表示画面例である。
画面左に移動体情報端末300周辺の地図400が表示され、地図上に移動体情報端末300の位置が記号401で表示される。
そして、検索領域円319に含まれている空間情報で、表示されている地図400に表示可能な位置に存在している空間情報は記号402〜405で空間情報が保持する位置に表示される。
画面右には検索領域円319に含まれている空間情報のコンテンツ内容の簡易表示を行う表を表示する。ここに表示されるコンテンツは移動体情報端末300からの距離でソートされた順に表示されている。
もし、この表に収まりきらない場合には、ユーザ操作によって表の更新が行えるようになっていても構わない。
また、地図上に表示された空間情報に対応するコンテンツのみが表に表示されるようにしても構わない。
また、コンテンツの簡易表示の中から、項目を選択する事によって、そのコンテンツの詳細表示を閲覧可能としてもよい。
また、検索領域円319に含まれている空間情報が少ない場合には、簡易表示は省略して、直接詳細表示を行っても構わない。
【0022】
(1−3)空間情報の管理方法についての説明
図2は、位置情報とコンテンツの組となる情報を空間全体で管理した場合(図2(a))と、メッシュ分割した領域単位で管理した場合(図2(b))の比較を行うための図である。
灰色の円状の記号は、あるコンテンツが関連している施設等の地理位置(位置情報)を二次元空間にプロットしたものである。全体で一つのテーブルで管理を行う場合には、対象となる空間全体に存在するコンテンツに関連する位置情報全てを一つのテーブルで管理する事になる。そのため、位置情報が多数になった場合、その中から目的の位置情報を検索する処理負担が非常に大きくなる。
一方、対象となる空間をメッシュ分割し、1メッシュに含まれる位置情報のみで一つのテーブルを構成する方法を図2(b)に図示している。
【0023】
この図2(b)の方法では、テーブルがメッシュ数と同数だけ生成される事になるが、各テーブルで管理するデータ数を低く抑えることが出来る。
特に、空間的に連続した特定領域に含まれるデータを検索する場合、
(1)その領域と重なりがあるメッシュに対応するテーブルを取得し、
(2)上記(1)で取得した管理テーブルから特定領域内のデータを検索
する処理を行う事で、検索対象となるデータ数を(1)の段階で絞る事が出来るため、全体管理を行った場合と比較して検索の処理負担が軽くなる利点がある。また、(1)で管理テーブルを検索する処理は、各テーブルに対応する領域の任意の位置座標から求める事が可能な識別情報を持たせる事によって存在するテーブル全てがある特定領域に含まれるか否かを判定する処理を行わなくて済む。
【0024】
次に、位置座標から対応するテーブルを検索する方法を図33を利用して説明する。
この例では、取り扱う空間を二次元とし、分割された領域が同一サイズの長方形で縦がLyメートル、横がLxメートルであると仮定する。また、取り扱う領域全てを含む最小の長方形の基準点を左下の頂点3401とし、その座標を(0,0)とする。
その時、ある任意の点3402の座標が(x,y)とすると、基準点からの単位をメートルとした座標系で表現している場合、その点が基準点から数えて右、上に何個目のメッシュに含まれるかを以下の式を利用する事で求める事が可能である。
【0025】
【数1】
【0026】
上記の式において、右辺の記号は囲まれた値以下で最大の整数値を意味する。
この式を利用する事で、例えば管理テーブルをRDB(Relational Data Base)で表現している場合、管理テーブルの検索処理が不要となる。各管理テーブルに対応するメッシュが基準点から数えて右、上に何個目のメッシュであるかの情報を付加(例えば、右に10個、上に3個のメッシュに対応する管理テーブルの名称をTable10x3等と命名)する事で、任意の点を含むメッシュに対応する管理テーブルの名称は上記式を利用する事によって一意に求める事ができ、管理テーブルの検索処理が不要となる。
【0027】
空間全体のメッシュ分割方法は上記の方法に限らず、メッシュ分割された領域の論理和が空間全体と等しくならなくてもよいし、分割されたメッシュ同士で重なりがあるように分割してもよいし、メッシュ分割を再帰的に実施する方式でもよく、どのような分割方式を用いても構わない。
同様に位置情報からその位置を包含するメッシュの求め方は上記の方法に限らず、その他の方法を用いて実施しても構わない。
【0028】
(1−4)空間情報のデータ構造
以下ではコンテンツデータベース102内における空間情報テーブルの具体的なデータ構造について説明する。
【0029】
図5は、空間情報テーブルの具体例の一例である。
第1列、第2列で空間情報の位置情報(コンテンツデータが関連する施設等の地理位置を示す)を表現している。
第3列で空間情報の位置と関連付けられているコンテンツ本体(コンテンツデータ)が格納されている。このような場合には、空間情報テーブルのサイズが大きくなるため、空間情報テーブルをメモリ上に展開する処理に時間がかかる反面、位置情報からそれに関連付けられているコンテンツ本体(コンテンツデータ)を取得する処理は短時間で行える。
【0030】
図6は、別の空間情報テーブルの具体例である。
この空間情報テーブルは二つのテーブルに分割されており、左側のテーブルは空間情報の位置情報、その位置情報に関連付けられているコンテンツ本体の一部および残りのコンテンツへのポインタが格納されている。
この場合には、左側の空間情報テーブルのコンテンツ格納部分には、コンテンツの名称や概要情報等を格納し、右側の空間情報テーブルにコンテンツの詳細な内容を記述した情報を格納する様に分離する事で、図4の様に空間情報の位置情報や名称といったコンテンツの一部だけがすぐに必要となる場合には、その情報だけでコンテンツ部を構成することで、管理テーブル取得時間を短縮する事が可能である。
空間情報テーブルを取得する場合には、最初に左側の空間情報テーブルのみを取得し、その後、詳細なコンテンツ本体が必要になった場合には左側のテーブルにアクセスを試みる方法を取る事が可能となる。当然、二つのテーブルに対して同時に、もしくは直列に取得処理を行っても構わない。
ポインタに関しては、プログラムで使用されるようなポインタばかりではなく、どこに残りのコンテンツが格納されているのかが分かる情報であれば何でも良い。例えば、残りのコンテンツが格納されているファイル名と格納されている位置を示すオフセット値の組や、ファイル名が左側の管理テーブルから対応付け可能な場合には単純にファイル中のオフセット値だけ、そのほかURL(Uniform Resource Locator)等でも良い。
【0031】
図7は、また別の空間情報テーブルの具体例である。
この具体例は、図6の場合と同様に空間情報テーブルを二つに分割している点では同じであるが、左側の空間情報テーブルには位置情報に対応するコンテンツデータの全てもしくは一部は含まれておらず、対応するコンテンツデータへのポインタ情報が付加されている点が異なる。
この場合、図6と比較して左側の空間情報テーブルのサイズが小さくなるため、コンテンツデータ自体はすぐに必要とならずに、位置情報のみが必要な場合や、位置情報から実際に必要となるコンテンツデータを更にフィルタリングして最終的に少数のコンテンツのみが実際に必要になる場合には不要なコンテンツデータ取得を行わない有効なデータ構造である。
【0032】
(1−5)移動体情報端末の各要素の詳細な説明
次に、図1に示した移動体情報端末300の各構成要素を詳細に説明する。
【0033】
(a)位置検出装置100の説明
移動体情報端末300は位置検出装置100から任意の間隔にて移動体情報端末300の位置情報を取得する。なお、定期的に位置情報を取得するようにしてもよい。
この位置情報は前述の通り、緯度・経度に従う形式でも、他の形式でもよく、空間もしくは平面上のどの位置、もしくはどの領域であるか一意に判別可能な情報を含んでいれば良い。
【0034】
(b)データ読込み制御装置101の説明
データ読込み制御装置101は、例えば定期的に位置検出装置100から位置情報を取得し、その位置情報をもとにコンテンツデータベース102からどの空間情報テーブルの先読み処理を開始するか、どの空間情報テーブルを常に保持しなければならないのかを判定する装置である。
その判定結果を元にコンテンツ管理装置103に対して、現在全保持領域にかかるメッシュの集合である全保持メッシュ集合と先読み領域にかかるメッシュの集合である先読みメッシュ集合をコンテンツ管理装置103に通知し、全保持テーブル管理リスト及び先読みテーブル管理リストの更新を行う。
【0035】
ここで、全保持領域が先読み領域で囲まれる様に設定することによって、先読み領域に接したメッシュから先読み処理が開始されるため、その先読み処理が全て完了するまでに、そのメッシュが全保持領域に到達しないように先読み領域の大きさを調整する事によって、全保持領域に接しているメッシュに対応する空間情報テーブルは全て移動体情報端末に保持されることが保証される。
つまり、先読み領域の大きさは調整可能であり、移動体301の移動速度が速く、先読み領域が頻繁に全保持領域に移行する場合は、先読み領域が狭いと先読み領域が全保持領域に移行した時点で先読み処理が完了していないという事態が生じる可能性がある。このため、移動体301の移動速度が速い場合には、先読み領域を大きくしておくことで、全保持領域に移行したときに該当するメッシュのコンテンツデータが確実に先読み処理済となっているようにする。
【0036】
データ読込み制御装置101が新たに先読み処理を行わなければならないと判定した空間情報テーブルは、先読み処理装置106に対して、その空間情報テーブルを一意に識別するための情報と共に先読み要求を行う。
先読み処理が完了した空間情報テーブルを先読み処理装置106から受け取った場合、コンテンツ管理装置103に対して、データ記憶装置105への登録要求を行う。
全保持テーブル管理リスト及び先読みテーブル管理リストのどちらに登録を行うかはコンテンツ管理装置103が決定してもよいし、データ読込み制御装置101が決定し、その情報を要求に記述して、コンテンツ管理装置103がその情報に従って処理を行っても構わない。
【0037】
(c)先読み処理装置106の説明
先読み処理装置106はデータ読込み制御装置101からの要求を受けて、コンテンツデータベース102から指定された空間情報のテーブルを読み込む処理を行う装置である。
コンテンツデータベース102が移動体情報端末300内に内蔵されている場合には、先読み処理装置106はコンテンツデータベース102に対して、直接もしくはファイルシステム等を介してアクセスし、空間情報テーブルを取得する。
コンテンツデータベース102が移動体情報端末300内に内蔵されておらず、例えば外部のネットワーク上に接続されているコンテンツデータベースサーバ上に存在する場合には、移動体情報端末300内に無線もしくは有線の通信装置107を内蔵する必要があるが、その通信装置107を介してコンテンツデータベースサーバにアクセスし、空間情報テーブルを取得する。
先読み処理装置106は、データ読込み制御装置101とは独立して並行動作可能となっていてもよい。
【0038】
(d)コンテンツデータベース102の説明
コンテンツデータベース102は、各メッシュに対応する空間情報テーブルを全て記憶・管理している装置である。
コンテンツデータベース102は単独で全ての機能を実現している必要はなく、複数存在し、それぞれでメッシュの位置等に応じて処理を分担させても構わない。
コンテンツデータベース102はファイルシステムを直接利用した単純な管理方式でも、RDB(Relational Data Base)、XMLDB(eXtensible Markup Language Data Base)等のデータ管理に特化したモジュールを用いた管理方式でも構わない。
RDBやXMLDBを用いる事で空間情報テーブルへのデータの追加、変更、削除といった操作、また空間情報テーブル内でのデータ検索のためのインデックス管理等が容易になる利点がある。
コンテンツデータベース102は、先読み処理装置106の要求を受け、指定された空間情報テーブルを先読み処理装置106に返す。この時に、コンテンツデータベース102は先読み処理装置106間で決められた形式で空間情報テーブルを引き渡す。
例えば、コンテンツデータベース102が移動体情報端末300内に存在するのであれば、移動体情報端末300内に実装されているメモリ領域に指定された空間情報テーブル分の領域を確保し、その領域に空間情報テーブルの情報を記述し、領域の先頭へのポインタを先読み処理装置106に返す方法でも構わない。また、空間情報テーブルのファイル記述子(ファイルポインタ)を返す方法でも構わない。その場合には、先読み処理装置106側でメモリ上に展開する作業を追加しても構わない。
また、コンテンツデータベース102が移動体情報端末300の外部に存在する場合、HTTP(Hyper Text Transfer Protocol)等の通信プロトコルを双方で利用し、空間情報テーブルを先読み処理装置106に引き渡す。
【0039】
(e)コンテンツ管理装置103の説明
コンテンツ管理装置103は、コンテンツデータベース102から取得してきた空間情報テーブルおよび、その空間情報テーブルを管理するためのテーブル管理リストをデータ読込み制御装置の判定に従って、管理方法を決定する装置である。
テーブル管理リストには、全保持メッシュ集合の要素となるメッシュに対応する空間情報テーブルを管理するための全保持テーブル管理リストと、先読みメッシュ集合の要素となるメッシュに対応する空間情報テーブルを管理するための先読みテーブル管理リストがあり、データ読込み制御装置101から渡される全保持メッシュ集合情報及び先読みメッシュ集合情報を利用して、どちらのテーブル管理リストで管理すべきかを決定する。
また、全保持メッシュ集合及び先読みメッシュ集合の少なくとも一つの構成要素が変更された場合には、速やかに対応するテーブル管理リストの構成要素も同様の構成になるように変更処理を行う。
【0040】
(f)データ記憶装置105の説明
データ記憶装置105は、コンテンツデータベース102から取得してきた空間情報テーブルおよび、その空間情報テーブルを管理するためのテーブル管理リストを記憶するための記憶領域である。
【0041】
(g)コンテンツ処理装置104の説明
コンテンツ処理装置104は、取得された空間情報テーブルやそのテーブル要素である空間情報を利用し、利用者にサービスを提供するための装置である。
データ記憶装置105に格納されている空間情報テーブルは、全保持領域をコンテンツ管理装置103経由でデータ記憶装置105に記憶されている様々な情報を取得し、ユーザにサービスを提供する。その具体例は、図4の様な移動体情報端末300のリアルタイム周辺検索などが挙げられる。
【0042】
以上のこれらの装置によって、どのような場合であっても、全保持テーブル管理リストに登録されているメッシュに対応する空間情報テーブルはデータ記憶装置105に全て格納されるように、先読みテーブル管理リストを利用して、前もって必要となるであろう空間情報テーブルを先読みする事が本実施の形態の主な目的である。
【0043】
(1−6)起動直後の先読み処理フローの説明
図8および図9を利用して、初回実行時の本実施の形態に係る読込み空間情報テーブルの決定方法(情報処理方法)について説明する。
実行直後に、移動体情報端末300が存在する位置の位置情報を検出するために、データ読込み制御装置101は位置検出装置100に問い合わせを行い、位置検出装置100が移動体情報端末300の現在位置を検出する(処理801)(位置検出ステップ)。
位置検出装置100から受け取った位置情報を元に、データ読込み制御装置101は、全ての空間情報を保持すべき全保持領域901を決定する(処理802)(領域メッシュ判定ステップ)。
図9では位置検出装置100から受け取った移動体情報端末300の位置を中心とした一定半径を持った円として全保持領域901を決定している。つまり、この場合、移動体情報端末300の移動量に応じて全保持領域901も移動する。その他の全保持領域901としては楕円や、円の中心以外に移動体情報端末300が位置する様に設定する場合や、一定の辺の長さを持った正方形や長方形、その他任意の形状でも構わない。
次に、データ読込み制御装置101は、決定した全保持領域901が含む全ての空間情報を保持する、メッシュ領域の最小集合である全保持メッシュ集合を求める(処理803)(領域メッシュ判定ステップ)。ここで求めた全保持メッシュ集合を示す全保持メッシュ集合情報は、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。
図9では、領域を同一正方形でメッシュ分割している。図中の左下のメッシュを基準メッシュとして、座標形式で一意に識別可能するメッシュ識別情報を構成している。左下のメッシュを(1,1)として表現し、(1,1)に上隣接したメッシュを(1,2)、(1,1)の右隣接したメッシュを(2,1)の様に表現する。この場合には、全保持領域901が含む全ての空間情報を保持するメッシュ領域の最小集合は、言い換えると全保持領域901を覆い隠すメッシュの最小集合の事であるため、全保持メッシュ集合は、
{(6,2)、(6,3)、(6,4)、(6,5)、(7,2)、(7,3)、(7,4)、(7,5)、(8,2)、(8,3)、(8,4)、(8,5)}
となる。
【0044】
次に、データ読込み制御装置101は、処理803で決定した全保持メッシュ集合を元に、全保持メッシュ集合に含まれるメッシュのうち空間情報の読み込みがなされていないメッシュ(第一領域未読み出しメッシュ)を判断し、全保持テーブル管理リストを作成する(処理804)(未読み出しメッシュ指定ステップ)。この全保持テーブル管理リストは、全保持メッシュ集合に属するメッシュに対応する空間情報テーブルの管理を行うためのリストである。この全保持テーブル管理リストは、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。なお、ここでは、起動直後なので、全保持メッシュ集合の全てのメッシュにつき空間情報テーブルの読み込みが行われていないので、全てのメッシュの空間情報テーブルの読み込みが必要である。
【0045】
図13は全保持テーブル管理リストを模式的に表現した図である。
この図の場合には、全保持メッシュ集合の要素が、
{(1,1)、(1,2)、(1,3)、(2,3)、(2,4)}
であった場合の全保持テーブル管理リスト1400である。
各リスト要素1401〜1405には少なくともメッシュ識別情報、次のリスト要素を参照するポインタ領域、このリスト要素の持つメッシュ識別情報に対応するメッシュに関連付けられた空間情報テーブルを参照するポインタ領域を保持している。
図13では、空間情報テーブル管理リスト1400はリスト要素1401〜1405を保持し、各リスト要素は上から順にメッシュ識別情報、次のリスト要素ポインタ、空間情報テーブルポインタの情報を表している。ポインタに関しては、何も矢印が出ていない場合にはNULLポインタである事を意味する。全保持管理テーブル管理リスト1400の要素数は全保持メッシュ集合の要素数に一致する。
また、空間情報テーブルを参照するポインタでNULLポインタとなっている場合には、関連付けられた空間情報テーブルがまだ読込み完了していない事を意味し、NULLポインタでない場合には既に関連付けられた空間情報テーブルの読込みが完了している事を意味する。
処理804を実行した直後では読込み処理は開始されていないため、全ての空間情報テーブルポインタはNULLポインタとなっている。図13では、リスト要素1401、1403、1404は関連する空間情報テーブルの読込みが完了し、リスト要素1402、1405は空間情報テーブルの読込みが完了していない状態を示している。
この全保持テーブル管理リストはリスト表現でなく、配列で表現しても構わない。この場合には、各リスト要素の次のリスト要素を参照するポインタ領域が必要なくなる。また、各リスト要素に格納する情報は前述のメッシュ識別情報、次のリスト要素ポインタ、空間情報テーブルポインタ以外の情報を保持させても構わない。
【0046】
次にデータ読込み制御装置101は、処理803で求めた全保持メッシュ集合の全要素に関連する空間情報テーブルをコンテンツデータベース102から読み込むよう先読み処理装置106に指示し、先読み処理装置106は指示された空間情報テーブルの読み込みを行う(処理805)(情報読み出しステップ)。
前述したように、空間情報テーブルには、コンテンツデータ本体又はコンテンツデータの格納領域を示すポインタ情報が含まれ、先読み処理装置106は、空間情報テーブルを読み出すことにより、空間情報テーブルに含まれているコンテンツデータ本体又はポインタ情報を読み出す。
なお、この処理805は、この処理工程の中で全ての空間情報テーブルの読み込みが完了するまで次の処理806に遷移できないのではなく、データ読込み制御装置101から先読み処理装置106に対して、全要素に対応する空間情報テーブルの読込み要求を渡し終えればよい。つまり、データ読込み制御装置101と先読み処理装置106は相互に独立した並列処理を行えるものとする。
データ読込み制御装置101から先読み処理装置106に対する読込み要求には、少なくとも読込みを行う空間情報テーブルのテーブル識別情報が記述されている。この記述されているテーブル識別情報を元に先読み処理装置106は対応する空間情報テーブルをコンテンツデータベース102から、データ読込み制御装置101の処理とは独立に並行して、読込み処理を行う。
【0047】
次に、位置検出装置100から受け取った位置情報と、処理802で決定した全保持領域または、全保持領域に関するパラメータを元に、データ読込み制御装置101は先読み領域を決定する(処理806)(領域メッシュ判定ステップ)。
図9では位置検出装置100から受け取った移動体情報端末300の位置を中心とし全保持領域901の半径よりも大きい半径を持った円から、全保持領域901を削除したドーナツ状領域として先読み持領域902を決定している。
次にデータ読込み制御装置101は、処理806で決定した先読み領域を元に、先読みメッシュ集合を決定する(処理807)(領域メッシュ判定ステップ)。この先読みメッシュ集合を示す先読みメッシュ集合情報は、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。先読みメッシュ集合の決定方法は、全保持メッシュ集合と同様のアルゴリズムでメッシュ集合を求め、そこから全保持メッシュ集合に登録されている要素を削除する事で求める事が可能である。図9では、先読みメッシュ集合は、
{(4,3)、(4,4)、(5,1)、(5,2)、(5,3)、(5,4)、(5,5)、(5,6)、(6,1)、(6,6)、(7,1)、(7,6)、(8,1)、(8,6)、(9,2)、(9,3)、(9,4)、(9,5)}
となる。
【0048】
次に、データ読込み制御装置101は、処理807で決定した先読みメッシュ集合を元に、先読みメッシュ集合に含まれるメッシュのうち空間情報の読み込みがなされていないメッシュ(第二領域未読み出しメッシュ)を判断し、先読みテーブル管理リストを作成する(処理808)(未読み出しメッシュ指定ステップ)。この先読みテーブル管理リストは、先読みメッシュ集合に属するメッシュに対応する空間情報テーブルの管理を行うためのリストであり、データ構造上は全保持テーブル管理リストのリスト要素をそのまま利用する事が可能である。ただし、この先読みテーブル管理リストは、全保持テーブル管理リストとは独立したリストとして存在させる。この先読みテーブル管理リストは、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。なお、ここでは、起動直後なので、先読みメッシュ集合の全てのメッシュにつき空間情報テーブルの読み込みが行われていないので、全てのメッシュの空間情報テーブルの読み込みが必要である。
先読みテーブル管理リストが生成された直後、全リストの空間情報テーブルポインタはNULLポインタとなっている。
【0049】
最後にデータ読込み制御装置101は、処理807で決定した先読みメッシュ集合の全要素に関連する空間情報テーブルをコンテンツデータベース102から読み込むよう先読み処理装置106に指示し、先読み処理装置106は指示された空間情報テーブルの読み込みを行う(処理809)(情報読み出しステップ)。
処理805と同様にデータ読込み制御装置101は先読み処理装置106に対して、先読みメッシュ集合の全要素に対応する空間情報テーブル読込み要求を渡す処理を行う。この要求には少なくとも読込みを行う空間情報テーブルのテーブル識別情報が記述されている。この記述されているテーブル識別情報を元に先読み処理装置106は対応する空間情報テーブルをコンテンツデータベース102から、データ読込み制御装置101の処理とは独立に並行して、読込み処理を行う。
【0050】
以上が初回実行時の本実施の形態の読込み対象の空間情報テーブルの決定方法の一例である。
【0051】
(1−7)円形の全保持領域から全保持メッシュ集合の求め方の説明
以下では、処理803で図9の様な正方形のメッシュ分割が行なわれた空間に対し、円形の全保持領域から、全保持メッシュ集合を求める具体的な方法の一例を示す。今回説明する例では、日本全国を一辺がMkmの正方形によって、重複や抜けが無く、隣接するメッシュ同士は頂点同士の位置が重なるように分割した状況を前提する。
また、移動体情報端末300が存在する位置を位置検出装置100は緯度経度を単位として検出するものとし、基準となるメッシュを日本全国領域の一番左下のメッシュとする。例えば図9のメッシュ構成で日本全国領域をカバーしている場合には基準となるメッシュは(1,1)となる。この基準となるメッシュの左下の頂点を基点とし、その基点の緯度・経度は既知とする。そうすると、任意の地点の緯度・経度が分かれば、基点までの距離は球面余弦定理や半正矢法等を利用する事で求める事が可能となる。この距離を求める方法は上記の二種類以外の方法でも構わない。よって、移動体情報端末300の位置情報を利用する事で、移動体情報端末300と基点までの距離のx成分とy成分を求める事が可能となる。
ここでメッシュの各辺はMkmに固定されているため、距離のx成分とy成分をMで割り算を行い、商に1加算した値の組み合わせがメッシュの識別情報となり、余りで、そのメッシュの左下頂点から移動体情報端末300までの位置関係を示す値となる。ここで移動体情報端末300が含まれるメッシュの識別情報を(Ix,Iy)とし、そのメッシュ内にx方向にDxkm、y方向にDykmの位置に移動体情報端末300が存在すると仮定する。
図14では、全保持領域となる半径Nkmの円と重なるメッシュ分割された領域が全保持メッシュ集合の要素となるが、各要素で円周線を含むものを薄い灰色、円周線を含まないものを濃い灰色で区別して表現した図である。円周線を含む薄い灰色のメッシュが識別できれば、それ以外の濃い灰色のメッシュを特定するのは容易であるため、まず円周線を含むメッシュを特定する。
始めに、メッシュ(Ix,Iy)のy軸方向で円周線を含むメッシュの識別情報を求める。この場合には移動体情報端末300の位置からy軸方向にNkmの地点を含むメッシュを求めればよいので、y軸の正の方向の円を含むメッシュの識別情報は数2に示すとおりであり、負の方向の円を含むメッシュの識別情報は数3に示す通りである。
【0052】
【数2】
【0053】
【数3】
【0054】
以上より、移動体情報端末300が含まれるメッシュのy軸方向で全保持メッシュ集合に含まれるメッシュの集合は以下のようになる。
【0055】
【数4】
【0056】
次に、それ以外の円周線を含むメッシュを求める。基本的な原理は同一で、移動体情報端末300の位置からNkmの地点を含むメッシュを求める。ただし、今回はNkmの地点がy軸方向に垂直に移動した位置にないため、ピタゴラスの定理等を利用する点が異なる。
メッシュ(Ix,Iy)の左側の全保持メッシュ集合に含まれるメッシュの集合は以下の通りである。
【0057】
【数5】
【0058】
右側の全保持メッシュ集合に含まれるメッシュの集合は以下の通りである。
【0059】
【数6】
【0060】
以上、三つの集合の論理和が全保持メッシュ集合となる。
この方法は全保持メッシュアルゴリズムだけではなく、先読みメッシュ集合を求める際に利用しても構わない。その場合には、同様のアルゴリズムで求めた集合から全保持メッシュ集合の要素を削除したものが、先読みメッシュ集合となる。
【0061】
(1−8)その他の全保持メッシュ集合、先読みメッシュ集合の求め方の説明
ここまでで説明してきた全保持メッシュ集合、先読みメッシュ集合を求める処理は、全保持メッシュ集合の結果を求めてからでないと求める事が出来ない方法であるが、2集合間の要素比較する必要が無いように先読みメッシュ集合の定義で、従来の定義から全保持メッシュ集合の要素を除いたものを再定義して利用して構わない。その場合、初回実行時の本実施の形態の読込み空間情報テーブルの決定方法は図15の通りとなる。
位置検出装置100で移動体情報端末300の位置情報を取得する(処理1601)(位置検出ステップ)。
次に、データ読込み制御装置101が、取得した位置情報より全保持領域及び先読み領域を決定する(処理1602)(領域メッシュ判定ステップ)。
次に、データ読込み制御装置101は、全保持領域から全保持メッシュ集合、先読み領域から先読みメッシュ集合を決定する(処理1603)(領域メッシュ判定ステップ)。
次に、データ読込み制御装置101は、未読込みのメッシュを判断するとともに、全保持テーブル管理リスト及び先読みテーブル管理リストを作成する(処理1604)(未読み出しメッシュ指定ステップ)。
その後に、先読み処理装置106が、全保持メッシュの読込み開始(処理1604)、先読みメッシュの読込み開始(処理1605)を順次実施する(情報読み出しステップ)。
以上の処理は全保持メッシュ集合、先読みメッシュ集合の求め方の一例であるが、ここまでで説明した方法以外の手法によって求めたとしても構わない。
【0062】
(1−9)先読み処理装置の動作について 以下では先読み処理装置106の動作(情報読み出しステップ)の説明を行う。
先読み処理装置106は、データ読込み制御装置101からの要求を受けてコンテンツデータベース102から要求された空間情報テーブルを取得する処理を行う装置である。
この時、先読み処理装置106とデータ読込み制御装置101は、独立して並行処理可能な作りとなっている事とする。そのため、データ読込み制御装置101は先読み処理装置106に空間情報テーブルを要求する場合、要求を先読み処理装置106に渡し終えると、その直後から自身の処理を再開可能であり、先読み処理装置106の応答を待機する必要はない。
先読み処理装置106はデータ読込み制御装置101の要求を受付順で整列して保持できるように待ち行列機構を保持している。
先読み処理装置106はデータ読込み制御装置101から要求を受けると待ち行列の最後尾にその要求を登録する。そして、その要求は自身よりも前に存在する要求が終了するまでは待機状態となる。また、この待ち行列に要素が無い場合には先読み処理装置106は待機状態を維持し続け、待ち行列に要素が入った時点から処理を開始し、待ち行列の要素が全て処理完了するまで処理を継続する。
【0063】
図16は、先読み処理装置106の動作フローを図式化したものである。
先読み処理装置106は起動直後に自身が持つ待ち行列に要求が存在するかチェックする(処理1701、処理1702)。
待ち行列に要求が存在する場合には、待ち行列の先頭の要求を取り出し(処理1703)、その要求に記述されているメッシュに対応する空間情報テーブルをコンテンツデータベース102から読み出す処理を開始する(処理1704)。
コンテンツデータベース102から空間情報テーブルの読み出しが完了した後、その空間情報テーブルをデータ読込み制御装置101に返す(処理1705)。この時、空間情報テーブルがそのメッシュに対応するかを示す情報や全保持領域、先読み領域の区別が出来る情報等と共に返してもよい。
その後、処理1701へとループする。また、処理1702で待ち行列に要求が存在しない場合には、処理すべき事がないため先読み処理装置106は待機状態となる(処理1706)。
待機状態から動作を再開させるタイミングは待ち行列に要求が入ったタイミングとするのが、一番効率がよいが、一定時間で待機状態から処理状態に戻り処理1701を再開する方法もある。
【0064】
(1−10)処理結果を受け取ったデータ読込み制御装置の説明
先読み処理装置106から読込みが完了した空間情報テーブルを受け取ったデータ読込み制御装置101の動作を以下で説明する。
空間情報テーブルを受け取ったデータ読込み制御装置101は、空間情報テーブルを、コンテンツ管理装置103を介して、先読みテーブル管理リストもしくは全保持テーブル管理リストの対応するリスト要素に登録する。
例えば図13のような先読みテーブル管理リストが存在した状況で、メッシュ(1,2)の空間情報テーブルをデータ読込み制御装置101が受け取った場合、データ読込み制御装置101はメッシュ(1,2)に対応する空の要素にその空間情報テーブルを格納しようとする。この時に、格納する情報は空間情報テーブル自身でもよいし、その空間情報テーブルを一意に識別可能な情報として、空間情報テーブルはデータ記憶装置105の別領域に格納してもよい。この時、データ読込み制御装置101はコンテンツ管理装置103にその空間情報テーブルを書き込む様に要求を行う。その要求には書き込む空間情報テーブル自身以外に、メッシュ識別情報や先読み、全保持区別情報等を含んでいても良い。
【0065】
図17は、データ読込み制御装置101からコンテンツ管理装置103に空間情報テーブルとメッシュ識別情報が含まれた書き込み要求があった場合のコンテンツ管理装置103の処理フローである。
要求を受けたコンテンツ管理装置103は、要求に含まれているメッシュ識別情報と一致する要素が先読みテーブル管理リストに存在し、かつその要素が空要素であるかをチェックする(処理1801)。その結果を受け、処理を分岐させる(処理1802)。
条件に合致する要素が存在する場合には、先読みテーブル管理リストの対応する要素に空間情報テーブルを登録(処理1803)し終了する。逆に、条件に合致する要素が存在しなかった場合には、次の処理に移行する。
次に、全保持テーブル管理リストに対して同様の条件で検索を実施する(処理1804)。その結果を受け、処理を分岐させる(処理1805)。
条件に合致する要素が存在する場合には、全保持テーブル管理リストの対応する要素に空間情報テーブルを登録(処理1806)し終了する。逆に条件に合致する要素が存在しなかった場合には、その空間情報テーブルは現時点では不要であることを意味するため、装置上からは解放する(処理1807)。
また、データ読込み制御装置101からコンテンツ管理装置103に空間情報テーブルとメッシュ識別情報及び先読み、全保持区別情報が含まれた書き込み要求があった場合には、図17よりも処理は簡単になる。先読み、全保持区別情報によって、処理1801、処理1804のどちらを実施するかが決定し、その結果条件に合致する要素が見つかった場合にはそれぞれ処理1803、処理1806の対応する処理を行い、合致する要素が存在しない場合には、処理1807を実施する事になる。
【0066】
(1−11)初回動作以降の処理の説明
以上までの処理で、初回の動作が説明され、ここで記述された動作が全て完了する事で、初回動作時の移動体情報端末300が存在した位置における全保持メッシュ集合、先読みメッシュ集合に対応する空間情報テーブル全てを全保持、先読みを区別して取得する事が可能となる。
以上までで説明した処理だけでは、移動体情報端末300が移動しているため、時間が経過するに従い、全保持領域と移動体情報端末300の位置にずれが生じる。そのため、断続的に以下で説明する処理を行い、そのずれを補正する処理が必要となる。処理の間隔は一定間隔でもよいし、状況に応じて間隔を変更しても構わない。
【0067】
図10は、初回動作以降のデータ読込み制御装置101の動作フロー図である。
位置検出装置100が移動体情報端末300の現在位置を検出し、データ読込み制御装置101は、位置検出装置100から現在の位置情報を取得する(処理1101)(位置検出ステップ)。
取得した位置情報により、データ読込み制御装置101は、初回動作と同様に全保持領域、先読み領域を決定する(処理1102)。
次に、移動体情報端末300の現在位置及び全保持領域から更新全保持メッシュ集合を、移動体情報端末300の現在位置及び先読み領域から更新先読みメッシュ集合を決定する(処理1103、処理1104)(領域メッシュ判定ステップ)。更新全保持メッシュ集合および更新先読みメッシュ集合は全保持メッシュ集合及び先読みメッシュ集合とは同じ構造を持った集合であるが、完全に独立した集合として決定される。
【0068】
次に、データ読込み制御装置101は、更新全保持メッシュ集合、更新先読みメッシュ集合、全保持メッシュ集合、先読みメッシュ集合を利用して、先読み処理、テーブル管理リストの更新処理を行う(処理1105)(未読み出しメッシュ指定ステップ)(情報読み出しステップ)。
以下で具体的な処理方法について説明するが、本処理では、データ読込み制御装置101が、更新全保持メッシュ集合(新たな第一領域メッシュ)に含まれるメッシュのうち全保持メッシュ集合(以前の第一領域メッシュ)及び先読みメッシュ集合(以前の第二領域メッシュ)のいずれにも含まれていないメッシュを読み出し対象のメッシュ(第一領域未読み出しメッシュ)として指定し、更新先読みメッシュ集合(新たな第二領域メッシュ)に含まれるメッシュのうち全保持メッシュ集合(以前の第一領域メッシュ)及び先読みメッシュ集合(以前の第二領域メッシュ)のいずれにも含まれていないメッシュを読み出し対象のメッシュ(第二領域未読み出しメッシュ)として指定し、先読み処理装置106が、これら読み出し対象のメッシュの空間情報テーブルの読み出しを行うことを主な内容とする。
【0069】
図11は、図9の図から移動体情報端末300が移動した状態で、この瞬間の全保持メッシュ集合、先読みメッシュ集合、更新全保持メッシュ集合、そして更新先読みメッシュ集合の内容を示した模式図である。
この処理の目的は移動体情報端末300が移動した事により、新たに全保持テーブル管理リストや先読みテーブル管理リストに含まれるべき要素や削除すべき要素を調査し、各リストを更新する事にある。そのために、全保持メッシュ集合、先読みメッシュ集合、更新全保持メッシュ集合、そして更新先読みメッシュ集合を比較し、どのような違いが生じたかをチェックする。
【0070】
まず全保持メッシュ集合と更新全保持メッシュ集合を比較すると、全保持メッシュ集合の要素(6,2)、(6,5)は更新全保持メッシュ集合にはなく、更新先読みメッシュ集合に含まれている。この事は、前回まではコンテンツデータの表示のために必須なメッシュ要素であったが、この時点では必須ではなく、先読みをしておくべきメッシュ要素になった事を意味する。そのため、このメッシュに対応する空間情報テーブルは必須ではないものの、先読みテーブル管理リストで管理すべきテーブルに変更する必要がある。
次に、更新全保持メッシュ集合の要素で(9,3)、(9,4)は全保持メッシュ集合には含まれていない要素である。この要素は、新たに必須となったメッシュ要素である事を意味しており、先読みテーブル管理リストから対応する要素を全保持テーブル管理リストへ移動させる必要がある。
次に、先読みメッシュ集合において、(4,3)、(4,4)、(5,1)、(5,6)は更新全保持メッシュ集合にも更新先読みメッシュ集合にも含まれない要素である。この要素は、前回までは先読みテーブル管理リストで管理すべき空間情報テーブルを保持するメッシュであったが、この時点では管理する必要が無くなった空間情報テーブルを保持するメッシュを意味する。そのため、これらのメッシュは、先読みテーブル管理リストから削除し、対応する空間情報テーブルをデータ記憶装置105から解放する必要がある。
最後に、更新先読みメッシュ集合の(9,1)、(9,6)、(10,2)、(10,3)、(10,4)、(10,5)は先読みメッシュ集合にも全保持メッシュ集合にも含まれていない要素である。これらの要素は、前回では対応する空間情報テーブルを保持する必要性がないメッシュであったが、この時点では、先読み処理を開始すべきメッシュを意味する。そのため、これらのメッシュは、先読みテーブル管理リストに対応する要素を新規追加し、対応する空間情報テーブルの先読み要求を先読み処理装置106に対して実行すべき事を意味する。
【0071】
以上で説明した通りの処理を処理フローで図式化すると図12、図18の通りになる。始めに先読みテーブル管理リストの更新処理について説明する。
なお、図12及び図18に示す処理は、未読み出しメッシュ指定ステップに相当する。
【0072】
図12において、データ読込み制御装置101は、更新先読みメッシュ集合から要素を一つ取り出しxとする(処理1301)。その要素が先読みメッシュ集合かチェック(処理1302)し、先読みメッシュ集合の要素の場合には処理1305へ移行し、要素ではなければ処理1303に移行する。
処理1303では、データ読込み制御装置101は、xが全保持メッシュ集合の要素かチェックし、全保持メッシュ集合の要素の場合には処理1306へ移行し、要素ではなければ処理1304へ移行する。
処理1304では、xが新たに追加された先読み対象となるメッシュである事が分かったので、データ読込み制御装置101は、xに対応する先読みテーブル管理リストの要素を追加し、先読み処理要求を先読み処理装置に行い、処理1308へ移行する。
処理1305では、xが前回から引き続いて先読みメッシュ集合の要素である事が分かったため、データ読込み制御装置101は、xに対応する先読みメッシュ集合の要素を削除する。xに対応する先読みメッシュ集合の要素を削除するのは、既に以前に当該要素の空間情報テーブルが読み込み済だからである。
処理1306では、xは前回、全保持メッシュ集合の要素だが、今回は先読みメッシュ集合の要素になった事が分かるので、データ読込み制御装置101は、xに対応する全保持テーブル管理リストの要素を先読みテーブル管理リストに移動し、処理1307に移行し、xに対応する全保持メッシュ集合の要素を削除する(処理1307)。xに対応する全保持メッシュ集合の要素を削除するのは、既に以前に当該要素の空間情報テーブルが読み込み済だからである。
処理1308では、データ読込み制御装置101は、更新先読みメッシュ集合に処理が行われていない要素があるかどうかチェックし、ある場合には処理1301へ移行し、ない場合には処理1309に移行する。
【0073】
処理1309では、データ読込み制御装置101は、先読みメッシュ集合から要素を一つ取り出しxとする。その後、xが更新全保持メッシュ集合であるかチェック(処理1310)し、要素である場合には処理1311へ移行し、要素ではない場合には、処理1312へ移行する。
処理1311では、xが前回先読みメッシュ集合のメッシュが今回全保持メッシュ集合の要素に変更になったと判明しているため、データ読込み制御装置101は、xに対応する先読みテーブル管理リストの要素を全保持テーブル管理リストに移動し、処理1313に移行する。
処理1312では、データ読込み制御装置101は、前回先読みメッシュ集合のメッシュであったが、今回はどの集合にも属さない事が判明しているため、xに対応する先読みテーブル管理リストの要素を削除し、処理1313へ移行する。
処理1313では、データ読込み制御装置101は、先読みメッシュ集合に未処理の要素があるかどうかチェックし、ある場合には処理1309へ、ない場合には図18の処理1901に移行する。
【0074】
処理1901では、データ読込み制御装置101は、更新全保持メッシュ集合から要素を一つ取り出しxとする。次に、そのxが全保持メッシュ集合の要素であるかどうかチェック(処理1902)する。全保持メッシュ集合の要素である場合には処理1903へ、要素ではない場合には処理1904へ移行する。
処理1903では、xが前回から全保持メッシュ集合の要素のままである事が判明しているため、データ読込み制御装置101は、xに対応する全保持メッシュ集合の要素を削除し、処理1906へ移行する。xに対応する全保持メッシュ集合の要素を削除するのは、既に以前に当該要素の空間情報テーブルが読み込み済だからである。
処理1904では、データ読込み制御装置101は、xが先読みメッシュ集合の要素であるかチェックし、先読みメッシュ集合の要素である場合には、前回先読みメッシュ集合で今回全保持メッシュ集合になった要素である事が判明しているので、処理1906へ移行し、要素でない場合には処理1905へ移行する。
【0075】
処理1905では、データ読込み制御装置101は、xが前回、どの集合にも属さなかったが今回先読み領域を飛ばして、直接全保持メッシュ集合の要素になった事が判明したので、xに対応する全保持テーブル管理リストの要素を追加し、先読み処理要求を先読み処理装置に行い、処理1906へ移行する。
処理1906では、データ読込み制御装置101は、更新全保持メッシュ集合に未処理の要素があるかチェックし、ある場合には処理1901へ、ない場合には処理1907へ移行する。
処理1907では、データ読込み制御装置101は、全保持メッシュ集合から要素を一つ取り出しxとする。その後、そのxが更新先読みメッシュ集合の要素かチェック(処理1908)し、要素の場合には処理1910へ、要素ではない場合には処理1909へ移行する。
処理1909では、xが前回全保持メッシュ集合の要素であったが、今回はどの集合にも属さない要素となった事が判明したため、データ読込み制御装置101は、xに対応する全保持テーブル管理リストの要素を削除し、処理1910へ移行する。
処理1910では、データ読込み制御装置101は、全保持メッシュ集合に未処理の要素があるかチェックし、ある場合には処理1907へ、ない場合には処理を終了する。
最後に、データ読込み制御装置101は、更新全保持メッシュ集合を新たな全保持メッシュ集合に、そして更新先読みメッシュ集合を新たな先読みメッシュ集合に指定することによって、次に行なわれる処理に対応するための準備を行う。
【0076】
以上までの処理を断続的に行う事によって、その時点での全保持テーブル管理リスト及び先読みテーブル管理リストを最新の状態に更新する事が可能となり、その最新の情報を利用して、先読み処理を行う事が可能となる。
【0077】
(1−12)従来技術との比較
前述した従来技術(特許文献1)の記述をメッシュ分割した空間情報に適用すると、一つのコンテンツリストとは、メッシュ分割された領域内の空間情報の集合一つと解釈される。また、そのコンテンツリストを同時に複数管理するという記述、および複数のコンテンツリストを結合して一つのコンテンツリストとして取り扱う、コンテンツリストから一部削除するという記述は従来技術にはない。
つまり、メッシュ分割して管理された空間情報を取り扱う場合、従来技術では同時に取り扱えるメッシュ領域は最大で一つだけとなる。よって、日本全国を対象としたコンテンツを同時に処理する場合、コンテンツリストとして「日本全国の空間情報の集合」とするしかなくなる。
従来技術と本実施の形態との大きな差異の一つとして、「複数のコンテンツリストを取り扱う能力」が挙げられる。そのため、本実施の形態であれば日本全国を対象としたコンテンツを同時に処理する場合、一つのコンテンツリストとして処理する必要がなく、まず荒いフィルタリングとしてメッシュ単位でのフィルタリングを行い、対象となるコンテンツリストの絞込みを行い、その後、絞込みをパスしたコンテンツリストに含まれる空間情報のみのフィルタリングするため、従来技術よりも効率のよい処理が可能となる。
【0078】
従来技術(特許文献1)はコンテンツリストを一つしか保持できず、コンテンツリストの結合、一部削除といった処理が出来ない。
従来技術において、もしメッシュ分割された空間情報を利用する場合、メッシュの境界線上で前に持っていたコンテンツリストと次のメッシュに対応するコンテンツリストの入れ替えが発生する。つまり、図35の様に、ユーザが位置xにおいてメッシュAに対応するコンテンツリストを保持している場合、どんなにメッシュBに近くてもメッシュAからメッシュBへのコンテンツリスト切り替えを行わない限り、メッシュBに対応するコンテンツリストに含まれる空間情報を処理する事は出来ない。また、同様にメッシュAからメッシュBに移動したユーザが位置yにいる場合に関しても一旦保持するコンテンツリストをメッシュAからメッシュBに切り替えると、その時点でメッシュAのコンテンツリストを処理する事が出来ない。
【0079】
この問題を解決する方法の一つとして、本実施の形態に示したように、ユーザ位置を中心とした領域を動的に作成し、対応するコンテンツリストも同様に動的に作成する方法が考えられる。図36はその一例であり、四角3801はユーザ位置xを中心とした全保持領域、四角3802はユーザ位置yを中心とした全保持領域を表しており、ユーザが移動するたびに全保持領域は対応するユーザを中心とするように更新することが考えられる。
先読み領域についても同様にユーザの移動に伴って移動・更新させることができる。
【0080】
しかし、従来技術(特許文献1)ではそのような記述はないため、端末単体でその機能を実現する事が出来ない。そうなると、従来技術に記載されている放送や通信でデータを取得する先のサーバ側でユーザの位置を元にユーザを中心としたメッシュに含まれるコンテンツリストを作成しなければいけなくなる。
【0081】
また、従来技術(特許文献1)では、県や市といったある程度大きな単位でメッシュ分割する事を想定している。そのため、日本全国で空間情報は3千万件程度あることから考えると、一つのメッシュには大まかに見積もっても数万〜数十万単位のデータが含まれており、それを一括して管理できる物理メモリを搭載した端末を想定していると考えられる。一方、本実施の形態ではそのような物理メモリは搭載できない端末にも適用可能であり、メッシュ分割サイズも県や市単位ではなく、一辺数m〜数km程度の正方形の領域をも想定しており、このような場合には、ユーザが移動するたびにメッシュの切り替えがある程度頻繁に行われる事も想定される。
そのため、従来技術では本実施の形態で想定している小さいメッシュ分割に適用した場合、処理自体でメッシュ切り替え時の負荷を想定していない(切り替えに関する記述が見当たらない)ため、処理のオーバーヘッドや隣のメッシュ領域のデータを取り扱えなくなるなどの問題が挙げられる。
【0082】
本実施の形態では、このような問題点を解決しつつ、頻繁にメッシュの入れ替えが発生しても、最小限のコンテンツリスト入れ替えで済み、かつ全保持領域に入る空間情報の保持率を従来技術よりも高める事が出来るような処理方式となっている。
また、本実施の形態ではデータの読込み時間が非常に長い場合をも想定しており、読込み時間が無視できない場合も想定している。カーナビゲーション・システム等の組込み機器に適用した場合には、データの保管先がネットワーク越しに存在している場合があり、このような場合には、データ保管先との通信は無線通信(主に携帯電話)で行うため、通信速度は非常に遅く、またデータがローカルに保存されていたとしても、カーナビゲーション・システム等は劣悪環境で動作する事を前提とした信頼性重視の実装のため、HDD(Hard Disc Drive)やDVDなどからの転送速度は非常に遅い事が一般的である。
【0083】
従来技術(特許文献1)との差異に関しては、コンテンツリスト単独で扱うのか、複数を扱えるようにするのかと言う大きな差異があり、まずデータ構造に特徴が出る。
従来技術では、「位置に関連するコンテンツとこのコンテンツに対応する位置との組を少なくとも一つ以上格納したコンテンツリストを記憶し」とあり、データ構造としては図37の様に表現できる。
つまり、一つのコンテンツリストで読み込んだ全てのデータを内部管理する事になり、仮にメッシュ分割のデータを扱えるものと仮定しても、「どのデータがどのメッシュ領域に格納されていたものか」と言う情報は読み込んでコンテンツリストに登録した時点で消失する事になる。また、格納する際に、どのメッシュ領域から取得されたデータかという情報を付加するといった記述もない。
ただ、データ自体が位置情報を持っているため、どのメッシュ領域に格納されていたものかを逆算する事はメッシュの構築方法によっては可能であるが、保持データ全てに逆算を適用する必要があるため、上記の「どのデータがどのメッシュ領域に格納されていたものか」を処理上で利用する事は考えにくい構造となっている。実際、従来技術にはそのような処理の記載はない。
【0084】
一方、本実施の形態の場合は、読み込んだデータがどのメッシュ領域に格納されていたものかという情報は保持する。
今回、全保持領域に関するものだけを例に挙げるが、本実施の形態では、全保持領域となるメッシュの識別情報のリスト(全保持メッシュ集合情報)、先読みしたメッシュ単位でのコンテンツリストを管理するリスト(全保持テーブル管理リスト)の二種類のデータが必要となり、全保持メッシュ集合情報、全保持テーブル管理リストを図示するとそれぞれ図38、図39の様になる。図39の全保持テーブル管理リストは、図13とは異なる形式で示されているが、これは図37の従来技術のコンテンツリストとの対比のためであり、図39の全保持テーブル管理リストは、本質的には、図13の全保持テーブル管理リストと同様な構成である。
また、先読みメッシュ集合情報、先読みテーブル管理リストは、図38及び図39と同様な構成である。
【0085】
まず、全保持テーブル管理リストについては、図39からも読み取れる通り、従来技術のコンテンツリストと同等ではなく、従来技術のコンテンツリストを一つの要素として保持する上位のリスト構造となっている。本実施の形態ではデータの取得単位はメッシュ単位となっており、そのメッシュ単位で一つのコンテンツリストを生成する。そのため、内部管理中であっても、どのデータが同一メッシュから取得されたものか判別が容易になっている。
次に、全保持メッシュ集合については、図38では、上述の通り二次元の識別情報でメッシュを唯一に判別できるため、その情報を保持している。なお、この集合に類似する記述は従来技術には記載されていない。この集合は全保持テーブル管理リストとリンク(図40)する事によって、どのコンテンツリストがどのメッシュから取得されたものかを内部的に判別する事を可能とするためのデータ集合である。
以上の説明は先読み領域の場合にも同様のデータ構造となる。
【0086】
そして、本実施の形態では、内部管理するデータのデータ構造の違い(メッシュ集合、コンテンツリストを管理するテーブル管理リスト)が従来技術とは明らかに異なるため、その生成過程および処理中のデータ管理方法が従来処理とは異なっている。
そして、上述の様なデータ構造を持たせる事による、従来技術では実現し得ない処理上の利点を以下で説明する。
また、以下では、従来技術には本来備わっていない複数のメッシュに分かれた複数のコンテンツリストを読み込んだのち、一つのコンテンツリストに統合する機能が従来技術にはあると仮定して話を進める。
大きく分けて以下の通りの利点がある。
(1)移動時のデータ読込みを最小限で抑えられる。
(2)移動時の不要データの判定を高速化できる。
(3)どのメッシュのコンテンツリストが読み込み完了していないか判別可能である。
(4)メッシュ毎の保持データ数を知る事が可能である。
【0087】
(1)移動時のデータ読込みを最小限で抑えられる、及び(2)移動時の不要データの判定を高速化できる、の二つの利点は、ユーザを中心とした領域のデータを常時保持することを考えた場合に発生する。
図41はその状況の模式図である。点線の円が前回の全保持領域であり、実線の円が今回全保持領域とする。
従来技術(特許文献1)の場合は、前回から保持しているコンテンツはどのメッシュに含まれているコンテンツか判別できず、かつ前回はどのメッシュからデータを取得したのかについての情報を保持していないため、毎回どのメッシュが取得領域と重なっているかを判別し、重なっているメッシュの全データを取得してくる必要がある。そうしなければ、新規に必要になったメッシュのコンテンツを取得できず、かつ不要になったメッシュのコンテンツを解放する事が出来ない。
この問題点は従来技術がメッシュの切り替えを想定していない事に起因する。
【0088】
一方、本実施の形態では、現在保持しているメッシュの識別情報を全保持メッシュ集合情報及び先読みメッシュ集合情報に保持しているため、前回と今回を比較して不要になったメッシュ、保持すべきメッシュ、新たに読み込むべきメッシュを判別可能であるため、新たに読み込むべきメッシュがなければ、移動毎に読込み作業は発生せず、読込み処理回数の削減が実現できる。
同様に不要なメッシュが発生しなければ、現在保持しているメッシュのコンテンツリストはテーブル管理リストで保持し続け、不要なメッシュが発生して初めて、テーブル管理リストから対応するコンテンツリストを解放すればよく、データ管理を効率的に実装できる利点がある。
図41では、前回は(1,1)、(1,2)、(2,1)、(2,2)のメッシュのコンテンツリストを保持し、今回は(2,1)、(2,2)、(3,1)、(3,2)のメッシュのコンテンツリストを保持しなければいけない事が分かるため、新たに取得しなければいけないのは(3,1)、(3,2)、前回から引き続き保持すべきメッシュは(2,1)、(2,2)、解放すべきメッシュは(1,1)、(1,2)と判別する事が可能である。
【0089】
以上より、従来技術ではコンテンツ単位で行っていた位置関係の比較処理をメッシュ単位で行う事によって、読み込み処理回数の削減およびデータ管理の効率化を実現できる。
【0090】
次に、(3)どのメッシュのコンテンツリストが読み込み完了していないか判別可能、について説明する。
データ構造として、メッシュ集合とテーブル管理リストをリンクしており、メッシュ集合には毎回の判定で領域に重なったメッシュの識別情報が格納され、テーブル管理リストにはそのメッシュ集合に格納されたメッシュに対応するコンテンツリストを取得した時の格納領域が用意されている。そのため、新たに領域に重なったメッシュがある場合、メッシュ集合にはその識別情報、テーブル管理リストには格納領域が用意されるが、当然格納領域にはコンテンツリスト自体はまだ存在しないためC言語のポインタでいう所のNULLが設定される。そのため、処理系では取得すべきメッシュのうちどのメッシュが読み込みを完了し、どのメッシュが未完了か、判別が可能となる。
その特性を生かして応用として読込みが終わっていないメッシュを優先的に処理することが可能となる。これは、読み込んだデータを一つのコンテンツリストにまとめて管理せずに、メッシュ単位で分割してコンテンツを管理する本実施の形態にしか出来ない手法である。
【0091】
次に、(4)メッシュ毎の保持データ数を知る事が可能、については、利点(3)と同様に、メッシュ単位で分けて管理するため、メッシュ単位でどの方向に行くとコンテンツ量がどのように増減するかを算出する事が可能となる。それを利用した応用として、データ数の変化に応じた先読み領域の設定方法があり、後の実施の形態において説明する。
【0092】
以上より、従来技術と比較して本実施の形態は、
複数のコンテンツリストを区別可能なデータ管理方式、
所属メッシュ情報を保持するデータ管理方式、
という二点に関して処理上の大きな差異があり、その差異が元となって、
データ読込み処理回数の削減、
データ管理処理の効率化、 メッシュ単位でのコンテンツ数や読込み完了/未完了の識別を可能とする応用的な先読み領域の再設定の実現、
といった従来技術では実現できない機能面での差異もある。
【0093】
以上のように、本実施の形態では、位置情報とコンテンツが組になっている空間情報を、空間全体をメッシュ分割し、メッシュ単位で空間情報を管理しているコンテンツデータベースがあり、空間情報を提示可能な移動体情報端末において、
(1)移動体情報端末の位置を検出する位置検出装置、
(2)(1)で検出した位置に応じて、その領域に含まれている全空間情報は常時保持できている必要がある領域とする全保持領域を決定する全保持領域決定装置、
(3)(2)で決定した全保持領域に応じて、その領域に含まれている全空間情報を管理するテーブル取得処理を開始する先読み領域を決定する先読み領域決定装置、
(4)(2)で決定した全保持領域を覆い隠す最小のメッシュ集合である全保持メッシュ集合を決定する全保持メッシュ決定装置、
(5)(3)で決定した先読み領域を覆い隠す最小のメッシュ集合から全保持メッシュ集合に含まれるメッシュを取り除いた先読みメッシュ集合を決定する先読みメッシュ決定装置、
(6)全保持メッシュ集合、先読みメッシュ集合、全保持メッシュ集合に含まれるメッシュに対応するテーブルを管理する全保持テーブル管理リストと、先読みメッシュ集合に含まれるメッシュに対応するテーブルを管理する先読みテーブル管理リストを記憶する記憶装置、
(7)テーブルの先読みを行う先読み装置、
(8)(4)で求めた全保持メッシュ集合が(6)で記憶されている全保持メッシュ集合および(5)で求めた先読みメッシュ集合が(6)で記憶されている先読みメッシュ集合に応じて全保持テーブル管理リストと先読み管理リストを更新し、必要があればテーブルの先読み処理を先読み装置に要求するテーブル管理リスト維持装置、
を具備した移動体情報端末について説明した。
【0094】
また、本実施の形態では、空間情報管理装置が移動体情報端末内に存在する例についても説明した。
【0095】
更に、本実施の形態では、空間情報管理装置が移動体情報端末外のサーバに存在する場合には、先読み処理を行う時に空間情報管理装置と通信するための通信装置を備える例についても説明した。
【0096】
実施の形態2.
本実施の形態では、先読み処理装置106がコンテンツデータベース102から空間情報テーブルを先読みする際に、複数の先読み処理を同時に並行処理することが出来ない場合に、どの空間情報テーブルを先に先読みするかを決定するための制御方法を説明する。
【0097】
図27は、先読み処理装置106における先読み処理要求の処理順番を決定するための処理フローである。
先読み処理装置106が複数の先読み処理要求を抱えている場合、先読み処理要求から先読みを行うメッシュを取得(処理2801)し、それぞれのメッシュから移動体情報端末300までの最短距離を求める(処理2802)。求めた距離を基準に距離順に先読み要求をソートする(処理2803)。処理する場合にはソートされた順番(つまり移動体情報端末300との距離が短い順)に先読み処理を開始する(処理2804)。
この処理は、一定期間に実施することによって、最新の状況での距離を基準とした処理順序に更新するようにしてもよい。
また、その際に、現在先読み処理中の要求はソートの対象外としても良い。
また、移動体情報端末300の現在位置と各メッシュの最短距離の他に、例えば、各メッシュの左下の隅や中心点に対応する地理位置と移動体情報端末300との距離を求めるようにしてもよい。
【0098】
このように、本実施の形態に係る移動体情報端末300において、先読み処理装置106(情報読み出し部)は、コンテンツデータに対する情報読み出しを行う際に、読み出し対象の各メッシュの対応地理位置と移動体情報端末の現在位置との間の距離に応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行う。
この場合に、先読み処理装置106は、情報読み出しを行う順序をメッシュ単位で決定し、決定した順序に基づいてメッシュ単位でコンテンツデータに対する情報読み出しを行う。
【0099】
また、上記の方法で示した移動体情報端末300の位置と各メッシュとの間の距離に代えて、先読み順序の別の尺度として、二つのベクトルを利用することも可能である。
図29は、移動体情報端末300がベクトル3003の方向と速度で移動している場合の全保持領域3001と先読み領域3002を表した模式図である。
この時に、移動体情報端末と各メッシュ間の距離を用いる前記の方法を利用すると、先読みの順番は距離順なので、
(3,1)、(3,2)、(2,3)、(1,3)
となる。
一方、二つのベクトルを用いる本方法の場合であれば、ある基点を例えば移動体情報端末300とし、進行方向ベクトルと、移動体情報端末300とメッシュ間または全保持領域とメッシュ間の最短方向ベクトルをそれぞれ正規化したベクトルの内積を求め、その値の大きい順に並べる方法を取ると、
(2,3)、(1,3)、(3,2)、(3,1)
となる。
この尺度は、移動体情報端末の移動方向と各メッシュが存在する方向の一致度を求めている。
その他に、上記の内積に対して、移動体情報端末とメッシュとの最短距離の逆数、またはメッシュと全保持領域の最短距離の逆数を重み付けすることによって、方向の一致度と距離を考慮した尺度とすることが可能となる。
また、基点を移動体情報端末300以外にも現在全保持メッシュ集合の要素となっているメッシュの中から選択されたメッシュ内の点を基点としてもよい。
この場合には、例えば、移動体情報端末300の位置からy軸方向に進行方向とは逆方向に垂線を下ろし、最も遠いメッシュの辺との交点を基点とする方法などである。図30は、上記方法による基点の位置関係を示した図である。
移動体情報端末の位置を3101、移動体情報端末の移動ベクトルを3102とし、灰色のメッシュが全保持メッシュ集合の要素とした場合、基点は位置3103となる。
【0100】
このように、本実施の形態に係る移動体情報端末300において、先読み処理装置106(情報読み出し部)は、コンテンツデータに対する情報読み出しを行う際に、移動体情報端末300の移動方向ベクトルと、所定の基点から読み出し対象の各メッシュに対するベクトルとに応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行う。
この場合に、先読み処理装置106は、移動体情報端末300の現在位置を基点として用いることも可能であるし、先読み領域の読み込み対象メッシュ(第二領域未読み出しメッシュ)のコンテンツデータに対する情報読み出しを行う際に、全保持メッシュに含まれるメッシュのうち移動体情報端末の移動方向とは逆方向であって移動体情報端末の現在位置から最も遠いメッシュの中心点を基点として用いることも可能である。
【0101】
上記の二つの方法(距離を用いる方法、ベクトルを用いる方法)では、移動体情報端末300が移動するたびに更新するか、新たな先読みメッシュが登録された時点か、または、ある一定間隔で実行する事によって、先読み処理順序を更新する事が可能であるが、移動体情報端末の移動ベクトルの変化を考慮できないため、突然の方向転換が行われた場合等に対処できない。
そのため、以下では方向転換に対する尺度を設け、尺度を超えた場合に、再度先読み処理順序を更新する方法について記述する。
【0102】
図31は、移動方向ベクトルを利用した先読み順序更新を行う際の処理フローを図式化したものである。
最初に、先読み処理装置106は、現在の移動体情報端末300の移動方向ベクトルを取得し、そのベクトルを正規化したものをxとする(処理3201)。その後、例えば前述した方法により先読み順序を決定する処理(処理3202)を行い、所定間隔経過するまで処理を中断する(処理3203)。この所定間隔は、データ読込み制御装置101が位置検出装置100から位置情報を取得する間隔でもよいし、一定間隔でも毎回変動するような間隔でもよい。所定間隔経過後、先読み処理装置106は、再度移動体情報端末300のその時点の移動方向ベクトルを取得し、そのベクトルを正規化したものをyとする(処理3204)。その後、先読み処理装置106は、xとyの内積を求め、その値がある基準値α以下となっているかチェック(処理3205)し、αより大きい場合には処理3203へ移行し、α以下の場合には、yをxとし(処理3206)、処理3202へ移行する。
上記の処理はxが先読み順序を決定した際の移動体情報端末300の移動方向を表し、yが現時点での移動体情報端末300の移動方向を表している。
つまり、処理3205において現在の移動方向が、先読み順序を決定した時点の移動方向と比較して、一定以上の変化しているかどうかを判定している事になる。
【0103】
図32は、本手法による先読み順序更新処理が起こらない場合の移動経路と起こる場合の移動経路の例を模式図で表した図である。
矢印は移動体情報端末300の移動方向ベクトルを現しており、実線の矢印は先読み順序更新が発生した時のベクトルで、点線は先読み順序更新が発生しなかった場合のベクトルである。
図32(a)の様に、緩やかな蛇行道路を移動体情報端末300が移動した場合、この手法によって先読み順序更新が発生することはないが、図32(b)の様な一方向に曲がっている道路や、図32(c)の様に交差点を移動体情報端末300が曲がった場合に閾値αよりも小さくなれば、先読み順序更新処理が発生する。
図32(a)の様な移動経路をとった場合には、二つのベクトルを利用するだけでは新たに先読み処理要求されたメッシュの処理順序が決定できないため、要求が新たに入ったタイミングで先読み順序の更新処理を併用するとより効果がある。
【0104】
このように、本実施の形態に係る移動体情報端末300において、先読み処理装置106(情報読み出し部)は、コンテンツデータに対する情報読み出しを行う際に、移動体情報端末300の移動方向ベクトルの向きが所定量変化した場合に、情報読み出しを行う順序を再度決定する。
【0105】
以上、本実施の形態では、複数の先読み処理を同時に並行処理できない環境の場合に、移動体情報端末とメッシュの最短距離を求め、移動体情報端末との距離が近い順に先読み処理を行う先読み処理装置について説明した。
【0106】
また、本実施の形態では、複数の先読み処理を同時に並行処理できない環境の場合に、移動体情報端末の移動方向ベクトルとある基点とメッシュの最短距離を示すベクトルを利用して先読み処理の順番を決定する先読み処理装置について説明した。
そして、この基点とは、移動体情報端末の位置か、もしくは、全保持メッシュで移動体情報端末の進行方向とは逆方向で一番遠いメッシュの中心点等が考えられる。
【0107】
また、本実施の形態では、複数の先読み処理を同時に並行処理できない環境の場合に、移動体情報端末の移動方向ベクトルの向きがある一定量変化した時に、先読み処理の順番を再度決定しなおす先読み処理装置について説明した。
【0108】
実施の形態3.
図19は、本実施の形態に係る移動体情報端末の構成例を示す図である。
図19の移動体情報端末300では、図1に示す構成に比べて新たに不揮発性記憶装置2001を実装している。
また、図34のように、コンテンツデータベースを外部に配置し、通信装置107を設ける場合においても不揮発性記憶装置2001を実装することが可能である。
【0109】
この不揮発性記憶装置2001を実装しているため、常に最新の先読みメッシュ集合、全保持メッシュ集合、先読みテーブル管理リスト、全保持テーブル管理リスト、読み込み完了したテーブル情報、その他、処理に必要な情報を不揮発性記憶装置2001にコピーする事により、移動体情報端末300の電源が落とされて、再度電源が投入された時に、移動体情報端末300が電源断の時点と現在位置が大きく変わっていなければ、不揮発性記憶装置2001に記憶されている情報の一部または全てをデータ記憶装置105にコピーして再利用する事で、電源投入後の処理の軽減を図る事が可能となる。
また、ここでデータ記憶装置105を取り除き、その代わりに不揮発性記憶装置2001を処理中利用する方法もありうる。その場合には、新たな情報が作成されるたびにコピーを行う必要はない。
【0110】
本実施の形態では、例えば、位置情報、全保持メッシュ集合情報および全保持テーブル管理リストのコピーを不揮発性記憶装置2001に記憶し、電源投入後に位置検出装置100から取得した位置情報と不揮発性記憶装置2001に記憶されている位置情報が一致した場合には不揮発性記憶装置2001に記憶されている全保持メッシュ集合情報及び全保持テーブル管理リストをデータ記憶装置105にコピーを行う。
【0111】
つまり、本実施の形態では、移動体情報端末300は、位置検出装置100により検出された移動体情報端末300の現在位置を示す位置情報と、データ記憶装置105に記憶されている全保持メッシュ集合情報の複製を不揮発性記憶装置2001に記憶させ、更に、データ読込み制御装置101は、移動体情報端末300の電源断後に移動体情報端末300の電源投入がなされた際に、電源投入後に位置検出装置100により検出された移動体情報端末300の現在位置と不揮発性記憶装置2001に記憶されている位置情報に示される位置とを比較し、両者が一致する場合に、不揮発性記憶装置2001に記憶されている全保持メッシュ集合情報の複製に示されている全保持メッシュ集合に基づいて電源投入後の新たな全保持メッシュ集合を判定する。
また、不揮発性記憶装置2001は、先読み処理装置106により読み出された空間情報テーブルを示す全保持テーブル管理リスト(読み出し情報)を記憶し、データ読込み制御装置101は、電源投入後の新たな全保持メッシュ集合に対して全保持テーブル管理リストを不揮発性記憶装置2001から読み出す。
【0112】
また、上記のような全保持メッシュ集合情報及び全保持テーブル管理リストとともに、不揮発性記憶装置2001に記憶する情報として、先読みメッシュ集合情報及び先読みテーブル管理リストも記憶し、位置情報が一致した場合には不揮発性記憶装置2001に記憶されている全保持メッシュ集合情報、全保持テーブル管理リスト、先読みメッシュ集合情報、先読みテーブル管理リストをデータ記憶装置105にコピーを行う。
【0113】
つまり、本実施の形態では、移動体情報端末300は、データ記憶装置105に記憶されている先読みメッシュ集合情報の複製も不揮発性記憶装置2001に記憶させ、データ読込み制御装置101は、移動体情報端末300の電源断後に移動体情報端末300の電源投入がなされた際に、電源投入後に位置検出装置100により検出された移動体情報端末300の現在位置と不揮発性記憶装置2001に記憶されている位置情報に示される位置とを比較し、両者が一致する場合に、不揮発性記憶装置2001に記憶されている先読みメッシュ集合情報の複製に示されている先読みメッシュ集合に基づいて電源投入後の新たな先読みメッシュ集合を判定する。
また、不揮発性記憶装置2001は、先読み処理装置106により読み出された空間情報テーブルを示す先読みテーブル管理リスト(読み出し情報)も記憶し、データ読込み制御装置101は、電源投入後の新たな全保持メッシュ集合に対して先読みテーブル管理リストを不揮発性記憶装置2001から読み出す。
【0114】
また、電源投入後に位置検出装置100から取得した位置情報と不揮発性記憶装置2001に記憶されている位置情報の比較条件を一致条件ではなく、周辺近傍一致条件に変更してもよい。
つまり、位置検出装置100から取得した位置情報の予め定められた範囲内に不揮発性記憶装置2001に記憶されている位置情報が含まれる場合には、不揮発性記憶装置2001に記憶されている全保持メッシュ集合、全保持テーブル管理リスト、先読みメッシュ集合、先読みテーブル管理リストの全て又は一部をデータ記憶装置105にコピーを行う。
【0115】
電源投入後に行う処理は図20の通りに図式化できる。
電源投入後、データ読込み制御装置101は、位置情報検出装置から現在の位置情報を検出(処理2100)し、続いて不揮発性記憶装置から前回の電源断時に保持していた位置情報を取得(処理2101)する。
次に、データ読込み制御装置101は、現在の位置情報と不揮発性記憶装置から取得した位置情報の一致度を判定する(処理2102)。処理2102で用いる具体的な一致判定処理としては、双方の位置情報が同一の値の場合に一致している、それ以外は一致していないと判断する完全一致判定処理を行ってもよいし、双方の位置情報の距離、例えばユークリッド距離がある特定の値α以下である場合は完全一致、αよりも大きくβ以下の場合には部分一致、βよりも大きい場合には完全不一致とする3段階判定処理を用いても、それ以外の方法を用いてもよい。以下では3段階判定処理を一致判定処理とした場合を想定して説明を行う。
処理2102で完全一致と判定された場合、不揮発性記憶装置の全保持メッシュ集合、先読みメッシュ集合、全保持テーブル管理リスト、先読みテーブル管理リストを記憶装置に複製し、その情報をそのまま継続する処理で利用できるようにする(処理2103)。
処理2102で完全不一致と判定された場合、不揮発性記憶装置に記憶されている情報を利用する価値はないと判断し、データ読込み制御装置101は、通常の電源投入時の処理を実施する(処理2104)。
処理2102で部分一致と判定された場合、不揮発性記憶装置に記憶されている一部の情報を継続する処理で起用できるようにするため、データ読込み制御装置101は、以下の処理を行う。
部分一致の場合、処理2100で検出した位置情報を利用して全保持領域、先読み領域を決定(処理2105)し、全保持メッシュ集合、全保持テーブル管理リスト、先読みメッシュ集合、先読みテーブル管理リストを生成する(処理2106、処理2107)。
不揮発性記憶装置に記憶されている全保持テーブル管理リストの要素の内、処理2106で生成した全保持テーブル管理リストにも同一のテーブルの要素があるテーブル情報を処理2106で生成した全保持テーブル管理リストに複製を行う(処理2108)。同様に処理2107で生成した先読みテーブル管理リストに同一のテーブルの要素があるテーブル情報を処理2107で生成した先読みテーブル管理リストに複製を行う(処理2109)。
次に、不揮発性記憶装置に記憶されている先読みテーブル管理リストの要素の内、処理2106で生成した全保持テーブル管理リストにも同一のテーブルの要素があるテーブル情報を処理2106で生成した全保持テーブル管理リストに複製を行う(処理2110)。同様に処理2107で生成した先読みテーブル管理リストに同一のテーブルの要素があるテーブル情報を処理2107で生成した先読みテーブル管理リストに複製を行う(処理2111)。
次に、2106で生成した全保持テーブル管理リストの空要素のテーブルの読込み処理を開始(処理2112)し、同様に2107で生成した先読みテーブル管理リストの空要素のテーブルの読込み処理を開始(処理2113)し、部分一致の際に不揮発性記憶装置に保存されていない、テーブル情報の先読み処理を全て開始させる。
【0116】
なお、処理2102での現在位置と前回電源断時に保持していた位置情報との一致度を測る際に、位置情報ではなく、現在の全保持メッシュ集合と前回電源断時に保持していた全保持メッシュ集合を利用して一致度を測っても構わない。その場合、完全一致は双方が保持するメッシュ要素が過不足する事無く一致する場合であり、完全不一致は双方が保持するメッシュ要素が全て一致する事がない場合であり、部分一致は完全一致でも、完全不一致でもない場合であるとする事が可能である。また同様に全保持メッシュ集合ではなく先読みメッシュ集合、先読みテーブル管理リスト、全保持テーブル管理リストを代わりに使用しても構わない。
この場合、処理2105、2106、2107が処理2102の前に実行される事になり、処理2102で部分一致と判定された場合、次に行う処理は処理2108となる。
【0117】
以上、本実施の形態では、電源投入直後に全保持テーブル管理リストに一切のテーブルが格納されていない事を防ぐための方法として、不揮発性記憶装置を保持した移動体情報端末の場合、全保持メッシュ集合、全保持テーブル管理リストに格納されている全テーブルとその時の位置情報を不揮発性記憶装置にもコピーしておき、電源断後に再度、電源投入された時に、その時の現在位置と不揮発性記憶装置に記憶されている位置情報を比較し、一致する場合には、不揮発性記憶装置に記憶されているコピーを全保持テーブル管理リストに格納し、全保持テーブル管理リストの不完全状態である時間を短縮する。
この時、現在位置から求めた更新全保持メッシュ集合と不揮発性記憶装置に記憶されている全保持メッシュ集合を比較するようにしてもよい。
【0118】
また、上記と同様の方法を先読みメッシュ集合、先読みテーブル管理リストにも適用することも可能である。
同様に、この時、現在位置から求めた更新全保持メッシュ集合、更新先読みメッシュ集合と不揮発性記憶装置に記憶されている全保持メッシュ集合、先読みメッシュ集合を比較する方法を取っても良い。
【0119】
また、上記の二方法に対して、不揮発性記憶装置に記憶されている位置情報と現在位置情報がある一定距離内にある場合には不揮発性記憶装置に記憶されているコピーを全保持テーブルリストもしくは/かつ先読みテーブル管理リストに格納することも可能である。
同様に、この時、現在位置から求めた更新全保持メッシュ集合、更新先読みメッシュ集合と不揮発性記憶装置に記憶されている全保持メッシュ集合、先読みメッシュ集合を比較し、一致したもののみを採用する方法を取っても良い。
【0120】
実施の形態4.
図21は、本実施の形態に係る移動体情報端末300の構成例を示す図である。
図21に示す移動体情報端末300は、図1に示す構成に対して新たにデータ抽出整列装置2101を実装し、データ記憶装置105に記憶される情報の個数が一つ増えている。
また、図34のように、コンテンツデータベースを外部に配置し、通信装置107を設ける場合においてもデータ抽出整列装置2101を実装することが可能である。
【0121】
このデータ抽出整列装置2101は、データ読込み制御装置101が処理を完了し、最新の全保持テーブル管理リストが作成された直後に、データ読込み制御装置101がデータ抽出整列装置2101に対して処理開始命令を行う。
データ抽出整列装置2101は、データ読込み制御装置101により指定された読み込み対象の全保持メッシュ(第一領域未読み出しメッシュ)の各コンテンツデータの地理位置と移動体情報端末の現在位置との間の距離に応じて情報読み出しを行う順序をコンテンツデータ単位で決定する。データ抽出整列装置2101は、情報読み出し順序決定部の例である。
そして、先読み処理装置106は、データ抽出整列装置2101により決定された順序に基づいてコンテンツデータに対する情報読み出しを行う。
【0122】
図22は、データ抽出整列装置2101の動作を表す動作フロー図である。
処理開始命令を受けたデータ抽出整列装置2101は、コンテンツ管理装置103経由でデータ記憶装置105に格納されている全保持テーブル管理リストを取得(処理2301)し、全保持テーブル管理リストから要素を一つ取り出す(処理2302)。
取り出した要素から空間情報テーブルを取得(処理2303)し、その空間情報テーブルから一つ空間情報を取り出す(処理2304)。
そして、データ抽出整列装置2101は、取り出した空間情報の位置情報を利用して、その空間情報が全保持領域内に存在するかをチェックする(処理2305、処理2306)。全保持領域が移動体情報端末300の位置を中心とした円である場合には、単純に移動体情報端末300と空間情報の位置との距離を求め、その値が円の半径以内であるかどうかでチェックが可能である。
チェックの結果、全保持領域内であると判断された場合には、データ抽出整列装置2101は、その空間情報自身と、空間情報と移動体情報端末300との距離を最低限保持する要素として、データ抽出整列装置2101が管理する領域内空間情報リスト(図示せず)に登録(処理2307)し、処理2308へ移行する。なお、空間情報自身と、空間情報と移動体情報端末300との距離以外の要素を領域内空間情報リストに登録してもよい。
この時に、領域内空間情報リストの要素に含まれる空間情報は実体をそのまま代入するのでもよいし、元々所属していた空間情報テーブル内の対応する領域へのポインタ値を代入する方法でも構わない。
【0123】
他方、処理2306において全保持領域内にない場合には、データ抽出整列装置2101は、処理2308へ移行し、現在処理中の空間情報テーブル内に処理されていない空間情報が存在するか判定(処理2308)し、処理されていない空間情報が存在する場合には処理2304へ、存在しない場合には処理2309へ移行する。
処理2309では、現在処理中の空間情報テーブルの全要素の処理が完了したため、未処理の空間情報テーブルがあるかチェック(処理2309)し、存在する場合には、処理2302へ、存在しない場合には処理2310へ移行する。
処理2310では、領域内空間情報リストの全要素を要素に含まれている距離情報を利用して距離順にソートを行い、その結果を領域内空間情報とする(処理2310)。
最後に、領域内空間情報リストをコンテンツ管理装置103経由でデータ記憶装置105に記憶させ(処理2310)、終了する。
【0124】
この処理を追加する事により、全保持領域に含まれている空間情報のみで構成されるリストを作成する事が可能となり、コンテンツ処理装置104側で抽出、整列処理を行う必要がなく、複数のコンテンツ処理装置104からアクセスされる場合には効率的な実装となる。
【0125】
また、本実施の形態では移動体情報端末300と各空間情報との距離でソートを行ったが、距離だけではなく他の測度を利用したソートを行っても良い。
その場合には、処理2307でソートに利用する尺度で求めた値を距離の代わりに登録し、処理2310では距離に代わって登録された情報を利用してソート処理を行う事になる。
また、ソートを全く行わなくても良く、その場合には、処理2307では距離を登録する処理は必要なくなり、処理2310も実施しないでよくなる。
【0126】
このように、本実施の形態では、データ読込み制御装置101で求めた全保持領域に含まれる空間情報を全保持テーブル管理リストに格納されている全テーブルから抽出する全保持空間情報抽出装置を具備する例について説明した。
【0127】
実施の形態5.
ここまでで説明した実施の形態では先読み領域が固定されていたが、本実施の形態では、先読み領域の大きさを変動させる事によって、出来る限り先読み領域を小さく、かつ先読み処理が対応するメッシュが全保持メッシュ集合に含まれる前に全て完了するようにする方法を提供する。
この方法を取る事により、先読みを行うべきメッシュ集合も小さくなり、データ記憶装置105に格納する空間情報テーブルも少なくなるため、記憶装置の格納容量の効率化を向上させる効果がある。
そのために先読み処理の時間に関連するパラメータを利用するため、各先読みテーブル管理リストおよび、全保持テーブル管理リストの要素に経過時間を記録するための時間領域を新たに設定する。
また、本実施の形態では、データ読込み制御装置101、先読み処理装置106又はその他の装置が、時間を計測する機能を持ち、時間計測部としての役割を有するものとする。
時間計測機能が計測する時間としては、例えば、コンテンツデータに対する情報読み出しを行うのに要する時間である先読込み完了時間(読み出し所要時間)や、データ読込み制御装置101により先読み領域と判定された領域が先読み領域と判定されてから全保持領域と判定されるまでの時間である先読み余裕時間(領域移行所要時間)がある。
【0128】
図24は、本実施の形態における先読み完了時の動作フローである。
先読み処理装置106は、一つの空間情報テーブルの先読み処理が完了した場合、空間情報テーブル等と共に先読込み完了時間をデータ読込み制御装置101に返す(処理2501)。
データ読込み制御装置101は、受け取った空間情報テーブル等と先読込み完了時間をデータ記憶装置105に格納する要求をコンテンツ管理装置103に行う(処理2502)。コンテンツ管理装置103は、従来の方法で格納するべきテーブル管理リストとその要素を選択し、空間情報テーブル等と共に先読込み完了時間を格納する。
最後にデータ読込み制御装置101は、読込み時間から先読み領域の半径を更新する(処理2503)。
そして、次回の先読み領域の決定処理においては、更新後の半径に基づいて先読み領域を決定する。
【0129】
本実施の形態で用いる方式は、空間情報テーブルの先読み処理開始から終了までに掛かった時間を利用し、その時間が長くなれば、先読み領域を大きくし、その時間が短くなれば、先読み領域を小さくする方式である。
図23は、先読み領域を円とし、その大きさを半径で表現した場合の先読み処理時間と先読み領域の加算サイズの関係を示したグラフの一例である。
先読み領域の半径は全保持領域に対して、このグラフより求められる加算サイズを足した値とする。このグラフは、線形の1次式であるが、定数、非線形や対数関数でも構わない。
先読み処理時間が0秒であっても、予備領域を持たせるために、ある一定の半径を持つ様に先読み領域を設定し、先読み処理時間と先読み半径の間に正の比例関係を持っている。このグラフの式に先読みが完了した際にその先読み時間をパラメータとして与える事で先読み領域の大きさを更新する事が出来る。
【0130】
また他の方法として、現在先読み処理が完了しているテーブル全ての先読み完了時間に重み付けを行い、その合計値を先読み完了したメッシュ数で割った値を利用してもよい。この場合には、先読み完了している全てのメッシュの先読み時間を考慮できるため、より周辺の状況を反映しやすいパラメータとなる。この時の重み付けも、移動体情報端末300の進行方向に近いメッシュほど重みを大きく、遠くなるにつれて小さくする様に設定する事によってもより周辺状況を反映しやすいパラメータとなる。
【0131】
また、先読み領域の半径をどの方向に対しても同じ値で更新する必要はなく、例えば、移動体情報端末300を交点とする分割線を引き分割された領域に含まれる先読み完了したメッシュの先読み完了時間を利用し、その領域に関する半径を決定する方法も可能である。
【0132】
図25は、分割領域単位での半径の更新方法を図示したものである。
図25(a)は、半径の更新前の状態で、移動体情報端末300を中心に領域を縦、横に分割線を引き4つの領域に分割した例である。この時、左上と、右下の領域で先読み処理が完了したメッシュの先読み完了時間を利用したパラメータは平均的で、左下の領域で先読み処理が完了したメッシュの先読み完了時間を利用したパラメータは平均よりも大きく、右上は平均よりも小さいとする。
その場合には、図25(b)のように次回利用する先読み領域を左下の方向に半径を大きく、右上は半径が短くなるように先読み領域を更新する。
また、半径を変更するのではなく、先読み完了時間から求めたパラメータの値が大きい領域に先読み領域の中心点を移動させる事で、先読み領域の調整を行う方法も可能である。この方法において重要となるメッシュの位置関係を判定する方法であるが、今回の実施の形態で挙げたメッシュ識別情報であれば、比較する二つのメッシュの識別情報において、各項の大小関係で位置関係を識別可能である。
【0133】
また、上記の方法の他に、先読み完了時間ではなく、先読み処理が完了してから、その空間情報テーブルを保持する先読みテーブル管理リストの要素が、全保持テーブル管理リストの要素になるまでの時間である先読み余裕時間を利用することも可能である。
つまり、先読みが完了してから、本当に必須の空間情報テーブルとなるまでの時間であり、その先読み処理がどの程度余裕を持って処理を完了できたかを示す値を利用する事となる。
【0134】
基本的なアルゴリズムは、上記の先読込み完了時間を利用する方式と同じであり、パラメータとして利用するものが先読み完了時間から先読み余裕時間に変更になったものと考えてよい。
ただし、先読み完了時間をパラメータとして利用した場合には、そのパラメータ値と先読み領域の半径や重心の移動量は比例していたが、先読み余裕時間をパラメータで利用するこの方法では、先読み余裕時間が大きければ、それだけ無駄にデータ記憶装置105の記憶領域を長い間使用することになるため、先読み領域を小さくする方向に更新する事が処理の効率化に繋がるため、比例関係にはなく、負の相関や反比例の関係が正しくなる。
【0135】
このように、本実施の形態では、テーブルの先読み開始から完了までに掛かる時間の実測値の変動によって先読み領域を変更する移動体情報端末について説明した。
具体的には、ある位置を中心として特定方向に存在するメッシュに対応するテーブルの先読み開始から完了までの処理時間の実測値の変動によって、先読み領域を調整することを説明した。
【0136】
また、本実施の形態では、先読み完了から全保持テーブル管理リストに登録されるまでの平均時間の変動に応じて、先読み領域のサイズを変更する様に先読み領域決定装置を制御する移動体情報端末について説明した。
【0137】
また、先読み領域の変更方法として、半径を一律に変更、パラメータの値とそのパラメータを求めたメッシュと移動体情報端末等の基準地点からの方向を考慮して方向毎に半径の変動量を変更する方法、先読み領域の重心となる点を基準にする方法等がある。
【0138】
実施の形態6.
本実施の形態では、先読み処理が完了する前に、対応するメッシュが全保持領域に掛かってしまった場合、つまり先読み処理が期待通りに先読みできなかった場合の対処に関して記述している。
【0139】
例えば、先読み完了していない空間情報テーブルに対応する要素を先読みテーブル管理リストから全保持テーブル管理リストへ移動させる際に、現時点で行われている先読み処理のうち、上記先読み未完了の空間情報テーブルに対応する先読み処理以外の全ての先読み処理を一旦停止する。
他の先読み処理を停止させる事により、コンテンツデータベース102と先読み処理装置106の間のデータ転送路を未完了空間情報テーブルのためだけに利用し、転送速度の向上を実現する。
【0140】
つまり、先読みメッシュ集合に含まれるメッシュであってコンテンツデータに対する情報読み出しが完了していないメッシュがデータ読込み制御装置101の判定により先読みメッシュから全保持メッシュに移行した場合に、先読み処理装置106は、全保持メッシュと判定された当該メッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して優先読み出しコンテンツデータに対する情報読み出しを行う。
【0141】
上記処理は、処理1305を図26の通りに変更する事で対応可能となる。
データ読込み制御装置101は、xに対応する要素を先読みテーブル管理リストから取得する(処理2701)。次に、データ読込み制御装置101は、取得した要素の空間情報テーブルは先読み完了しているかチェック(処理2702、処理2703)し、完了している場合には従来通りに要素を全保持テーブル管理リストに移動(処理2704)し、完了していない場合にはデータ読込み制御装置101は先読み処理装置106に要素に対応している空間情報テーブル以外の先読み処理の一時停止要求を行う(処理2705)。
一時停止要求を受けた先読み処理装置106は、指定された空間情報テーブル以外の先読み処理を一旦停止する。
【0142】
また、上記の処理において一時停止されている先読み処理を再開させる手段について説明する。
再開させるタイミングとしては、唯一の先読み処理を行っている空間情報テーブルの先読み処理が完了した時点で一時停止状態の先読み処理を再開させてもよいし、一時停止されている先読み処理に対応する空間情報テーブルを持つメッシュが全保持領域に掛かった場合には、そのメッシュに対応する先読み処理のみを再開させるようにしてもよい。
後者の場合は、再開を行う前に行われている先読み処理は、全保持領域に含まれているメッシュだが対応する空間情報テーブルの先読み処理が完了していないテーブルの処理であるため、処理は中断させなくてもよい。
【0143】
また、先読み処理が完了しないうちに全保持テーブル管理リストの要素となった要素が、今度は全保持テーブル管理リストから、先読みテーブル管理リストに移動になった場合は、他の先読み処理を再開させる。
全保持テーブル管理リストから先読みテーブル管理リストに移動するという事は優先的に先読み処理を行う必要性がなくなった事を意味するため、他の先読み処理を再開させる。
つまり、先読み処理装置106は、優先読み出しコンテンツデータに対する情報読み出し中に優先読み出しコンテンツデータのメッシュがデータ読込み制御装置101の判定により全保持メッシュから先読みメッシュに移行した場合に、優先読み出しコンテンツデータに対する情報読み出しを終了する。
【0144】
また、先読みに失敗するのは先読み領域の設定方法に問題があるとして、先読み領域に変更を行うようにしてもよい。
例えば、データ読込み制御装置101、先読み処理装置106又はその他の装置が、実施の形態5に示した時間計測機能を有し、時間計測機能により、優先読み出しコンテンツデータのメッシュが全保持メッシュと判定されてから先読みメッシュと判定されるまでの時間(領域移行所要時間)を計測し、データ読込み制御装置101は、計測された時間に基づき、先読み領域の範囲を変更することが考えられる。
【0145】
この場合に、基本的な変更方法に関しては、実施の形態5に記載の方法を利用可能であり、先読み領域に変更を及ぼす処理の開始タイミングは、先読み未完了の要素を先読みテーブル管理リストから全保持テーブル管理リストに移動させるタイミングとなる。
この場合の先読み領域の変更方法に関しては、先読み未完了の要素を全保持テーブル管理リストに移動させる事がわかった時点から、全保持テーブル管理リストの先読み未完了の要素全てが先読み処理を完了したか、先読みテーブル管理リストに移動するまでの期間、加算サイズに一定量加算する方法でもよい。
これらの方法では、全保持テーブル管理リストの複数の要素が先読み処理未完了となる事や、優先的に先読み処理をしている途中で、新たなメッシュが先読み領域にかかったため、新たな先読み要求が来た場合に対処するため、先読み処理装置106は現在処理中の先読み処理のうち、どの処理を優先的に行うべき処理かを判別する情報も管理し、複数の優先的な先読み処理の実施や、その途中に新たな先読み処理要求が来た場合、その要求に対する先読み処理を最初から一時停止状態とする事を実現する。
【0146】
また、以下では、並行して複数の先読み処理を実現できない場合に、先読みが完了していない複数の要素が全保持テーブル管理リストにある場合の処理について説明する。
このような状況では、先読みが完了していないメッシュと移動体情報端末300との最短距離を計測し、移動体情報端末300と近い順に先読み処理を行う。
この時、移動体情報端末300がそのメッシュに含まれている場合には距離は0とする。
この時、一定間隔で移動体情報端末300と複数の先読み未完了のメッシュとの距離を算出し、最短のメッシュが変化した場合には、今まで行っていた先読み処理を中断し、最短となったメッシュの空間情報テーブルの先読み処理を開始させる処理を行い、常に一番近いメッシュを優先的に先読み処理を行えるようにしてもよい。
また、移動体情報端末300の現在位置と各メッシュの最短距離の他に、例えば、各メッシュの左下の隅や中心点に対応する地理位置と移動体情報端末300との距離を求めるようにしてもよい。
【0147】
このように、先読み処理装置106は、優先読み出しコンテンツデータが複数存在する場合に、各々の優先読み出しコンテンツデータのメッシュの対応地理位置と移動情報処理装置の現在位置との間の距離に応じて複数の優先読み出しコンテンツデータ間の優先順位を決定し、決定した優先順位に基づいて各々の優先読み出しコンテンツデータに対する情報読み出しを行う。
【0148】
以上、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブル以外の実施中の先読み処理を中断し、該当するテーブルの先読み完了を早める制御を行う移動体情報端末について説明した。
【0149】
また、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブルの先読みが完了したら中断されている先読み処理を再開する移動体情報端末について説明した。
【0150】
また、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブルに対応する要素が全保持テーブル管理リストから先読みテーブル管理リストに移動した場合、全て、または一部の中断されている先読み処理を再開する移動体情報端末について説明した。
【0151】
また、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブルの先読みが中断されている場合、そのテーブルの先読みを再開させる制御を行う移動体情報端末について説明した。
【0152】
また、本実施の形態では、先読みが完了していない複数の要素が全保持テーブル管理リストにある場合、移動体情報端末との距離の近い順に先読み処理を行う制御を行う移動体情報端末について説明した。
【0153】
また、本実施の形態では、先読み領域のサイズをこれまでより大きくなるように先読み領域を制御する移動体情報端末について説明した。
【0154】
実施の形態7.
実施の形態6に示した方法では、優先的に先読み処理を開始するタイミングを「先読みテーブル管理リストから先読み未完了の要素を全保持テーブル管理リストへ移動する時」としていた。
つまり、実施の形態6に示した方法は先読み処理が失敗した時の対処法であり、先読み処理が失敗する事を防止する処理ではない。
そこで、本実施の形態では、先読み処理が失敗する事を防止する目的の処理に関して説明を行う。
【0155】
本実施の形態では、例えば、データ読込み制御装置101が、先読み処理装置106による情報読み出しが完了していない先読みメッシュの各々に対して、各メッシュの対応地理位置と移動体情報端末の現在位置との間の距離を算出し、移動体情報端末の現在位置との間の距離が閾値以下であるメッシュを優先読み出しメッシュとして指定し、先読み処理装置106が、データ読込み制御装置101により指定された優先読み出しメッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して優先読み出しコンテンツデータに対する情報読み出しを行うことが考えられる。
【0156】
また、本実施の形態では、データ読込み制御装置101は、優先読出しメッシュの地理的位置と移動体情報端末300の現在位置との間の距離が閾値を上回った場合に、当該優先読出しメッシュの指定を解除し、先読み処理装置106は、優先読出しコンテンツデータの読出し中に優先読み出しメッシュの指定が解除された場合に、優先読み出しコンテンツデータに対する情報読み出しを終了することが考えられる。
【0157】
また、本実施の形態では、優先読み出しコンテンツデータの優先読み出しのために情報読み出しが中断されたコンテンツデータが存在する場合に、先読み処理装置106が、優先読み出しコンテンツデータに対する情報読み出しが終了した際に、当該中断されたコンテンツデータに対する情報読み出しを再開することが考えられる。
【0158】
また、本実施の形態では、データ読込み制御装置101、先読み処理装置106又はその他の装置が、実施の形態5で説明した時間計測の機能を持ち、優先読み出しコンテンツデータに対する情報読み出しを行うのに要する時間を先読み完了時間(読み出し所要時間)として計測し、データ読込み制御装置101が、先読み処理装置106により計測された先読み完了時間に基づき、先読み領域の範囲を変更することが考えられる。
【0159】
また、時間計測機能が、優先読み出しメッシュとの指定がなされてから当該優先読み出しメッシュの指定が解除されるまでの時間(領域移行所要時間)を計測し、データ読込み制御装置101が、先読み処理装置106により計測された時間に基づき、先読み領域の範囲を変更することも考えられる。
【0160】
本実施の形態に係る移動体情報端末300の処理の内容としては、実施の形態6に示したものと同様であるが、処理を行うタイミングが異なり、ある特定の位置から先読み処理中の空間情報テーブルを持つメッシュとのある尺度に基づいて算出される距離がある閾値以下となった場合としている点で異なる。
つまり、データ読込み制御装置101が定期的に位置検出装置100から位置情報を取得し、先読みテーブル管理リストおよび全保持テーブル管理リストを更新する処理を実施後、読み込み中となっている先読みテーブル管理リストの空間情報テーブルに対応するメッシュに対して、距離を算出し、閾値以下となっているかどうかをチェックする処理が追加される。
上記の尺度に関する具体的な例としては、移動体情報端末300とメッシュとのユークリッド距離に基づいて算出される最短距離が全保持領域の半径+α(α>0)以下となった場合等が考えられる。
また、算出した距離が閾値を越える場合は、全て、または一部の中断されている先読み処理を再開する。
【0161】
このように、本実施の形態では、先読みに失敗しそうな先読み対象テーブルがあった場合に対処する機能を説明しており、先読みテーブル管理リストで先読みが完了していないテーブルを対象に、ある位置(例えば、移動体情報処理装置の現在位置)とそのテーブルに対応するメッシュとのある尺度に基づく距離(例えば、ある位置とメッシュとの最短距離)が、ある距離以下となった場合に、該当するテーブル以外の実施中の先読み処理を中断し、該当するテーブルの先読み処理完了を早める移動体情報端末について説明した。
【0162】
また、本実施の形態では、該当するテーブルの先読みが完了したら中断されている先読み処理を再開する移動体情報端末について説明している。
【0163】
また、本実施の形態では、該当するテーブルに対応する要素のメッシュがある距離以上となった場合、全て、または一部の中断されている先読み処理を再開する移動体情報端末について説明している。
【0164】
また、本実施の形態では、複数のテーブルが該当する場合、最短距離のテーブルのみ先読み処理を継続する移動体情報端末について説明している。
【0165】
また、本実施の形態では、該当するテーブルが複数ある場合、移動体情報端末との距離の近い順に先読み処理を行う制御を行う移動体情報端末について説明している。
【0166】
また、本実施の形態では、該当するテーブルがある場合には先読み領域のサイズをこれまでより大きくなるように先読み領域決定装置を制御する移動体情報端末について説明している。
【0167】
実施の形態8.
実施の形態6及び7に記載の方法は、先読み処理時間に関連するパラメータを利用して、先読み領域の大きさを決定する方法であった。
一方、本実施の形態では、先読み処理が完了した空間情報テーブルをパラメータとして利用して先読み領域の大きさを決定する方法について説明する。
この方法は先読み処理時間よりも、移動体情報端末300周辺の空間情報数を正確に求める事が出来る利点がある。
【0168】
多くの場合、近傍の空間情報テーブルが保持する空間情報数は極端な開きが出来る事は少なく、多くの場合、都市部周辺に近づくにつれ、一つの空間情報テーブルが保持する空間情報数は増加する傾向にあり、逆に離れるにつれ、減少する傾向にある。
つまり、先読み完了した空間情報テーブルが保持する空間情報数の分布から、どの方向に進むとより多くの空間情報を持つ空間情報テーブルを取得する必要があるのかが推測可能である。
【0169】
図28は、空間情報の分布状況を利用した先読み領域の更新例を模式図で表した図である。
図28(a)の各メッシュにある縦棒はそのメッシュが保持している空間情報数を表しており、縦棒が縦に長いほど空間情報を多く保持している事を表している。
移動体情報端末300を中心に内側の円が全保持領域、外側の円が先読み領域である。
白色のメッシュ(メッシュ(1.1)、(1.2)、(2.1)、(2.2))は全保持メッシュ集合の要素であり、灰色のメッシュ(メッシュ(1.3)、(2.3)、(3.1)、(3.2))は先読みメッシュ集合の要素である。
また、矢印は移動体情報端末300の進行方向を示している。
また、左端のメッシュが基準メッシュであり、そのメッシュ識別情報は(1,1)であり、右下に向かう毎にメッシュ識別情報の第1項が増加し、右上に向かう毎にメッシュ識別情報の第2項が増加する。
この時、メッシュ識別情報の第1項を固定し、第2項を変数とする(1、*)および(2、*)は各空間情報テーブルの空間情報数の変化を見ると増加傾向にある事が分かる。
また、メッシュ識別情報第2項を固定し、第1項を変数し、かつ先読み処理が完了したメッシュが要素となる集合(*、1)、(*、2)は各空間情報テーブルの空間情報数の変化は殆どないが、(*、3)に関しては増加傾向にある事が分かる。
よって、この場合にはメッシュ識別情報第2項が増加する方向は今後より多くの空間情報を保持する空間情報テーブルが存在する可能性がある。よって、その方向に先読み領域を大きくする制御を行い、例えば、図28(b)の様な先読み領域に更新する。
【0170】
このように、本実施の形態では、データ読込み制御装置101は、先読み処理装置106によりコンテンツデータに対する情報読み出しが完了したメッシュ(読み出し済メッシュ)の各々に対して、それぞれのメッシュの対応地理位置とそれぞれメッシュのコンテンツデータ数とを判定し、判定結果に基づき、先読み領域の範囲を変更する。
つまり、本実施の形態では、データ読込み制御装置101は、メッシュ間のコンテンツデータ数の変動傾向と対応地理位置との相関を解析し、解析したコンテンツデータ数の変動傾向と地理的位置との相関と、移動体情報端末300の移動方向とに基づき、先読み領域の範囲を変更する。
【0171】
次に、図28を用いて説明した本実施の形態に係る移動体情報端末300の処理を具体的に表現すると、メッシュ(i,j)の空間情報数をN(i,j)と表記する場合、(k,*)の空間情報テーブルの空間情報数変動量Z(k,*)を例えば、以下のように定義する。
【0172】
【数7】
【0173】
ここで、mhは集合(k,*)に属して、かつ先読み処理が完了しているメッシュの第二項の識別番号であり、その個数をgとしている。この方法であれば、メッシュ識別情報の第二項が増加する方向に対し、空間情報数が増加傾向であれば正の値、減少傾向の場合には負の値をとる事になる。
同様に(*,k)の空間情報テーブルの空間情報数変動量Z(*,k)も、以下のように定義できる。
【0174】
【数8】
【0175】
以上のZ(k,*)およびZ(*,k)の値をパラメータとして先読み領域の大きさを更新する事が可能となる。
【0176】
より、詳細な変動をパラメータとしたい場合には、次に示す方法を利用しても良い。
移動体情報端末300が属するメッシュの識別情報を(a,b)とした時に、メッシュ識別情報第2項を変数とした集合(k,*)の空間情報数の変動を図る尺度として、以下の二つを定義する。
【0177】
【数9】
【0178】
これらは、移動体情報端末300が属するメッシュを基点として第二項が増加する方向に対して、空間情報数が増加傾向にあるか判別するための尺度Zyplus(k,*)と、第二項が減少する方向に対して空間情報が増加傾向にあるか判別するための尺度Zyminus(k,*)となっている。
前述のZ(k,*)が一方向に対する増加傾向のみを見ているため、例えば移動体情報端末300が属するメッシュの空間情報数がちょうど極小値の場合には、その事を判別できなかったが、Zyplus(k,*)およびZyminus(k,*)を利用する事によって判別可能となる。
同様に(*,k)に対しても、以下の二つの尺度を定義できる。
【0179】
【数10】
【0180】
尺度としては、上記の方法以外にも先読み完了したメッシュの隣接する8個のメッシュで先読み完了したメッシュとの空間情報数の比較を行い、そのメッシュに対する8方向の空間情報の変動状況を把握する方法を利用しても良いし、メッシュが保持する空間情報数を利用する方法であれば何でも良い。
【0181】
このように、本実施の形態では、現在取得できているテーブルの位置関係とそのテーブルに含まれる空間情報の個数によって先読み領域を変更する例について説明をした。
【0182】
本実施の形態では、具体的には、現在取得完了しているテーブルの位置関係と空間情報数の変動に応じてベクトル方向の先読み領域を変更する移動体情報端末について説明した。
【0183】
また、本実施の形態では、移動体情報端末の移動するベクトルと空間情報数が変動しているあるベクトル方向の類似度に応じて先読み領域の変動幅を変更する移動体情報端末について説明した。
【0184】
なお、最後に、実施の形態1〜8に示した移動体情報端末300のハードウェア構成例について説明する。
図42は、本実施の形態1〜8に示す移動体情報端末300のハードウェア資源の一例を示す図である。なお、図2の構成は、あくまでも移動体情報端末300のハードウェア構成の一例を示すものであり、移動体情報端末300のハードウェア構成は図2に記載の構成に限らず、他の構成であってもよい。
図2において、移動体情報端末300は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、マウス903、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続可能としてもよい。また、磁気ディスク装置920の代わりに、フラッシュメモリ、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0185】
通信ボード915は、例えば、無線ネットワークに接続される。例えば、通信ボード915は、無線ネットワークの他、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続可能なように構成されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0186】
上記プログラム群923には、本実施の形態1〜8の説明において「〜部」、「〜装置」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1〜8の説明において、「〜の判定」、「〜の計算」、「〜の比較」、「〜の決定」、「〜の更新」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜8で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0187】
また、本実施の形態1〜8の説明において「〜部」、「〜装置」として説明しているものは、「〜回路」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜装置」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態1〜8の「〜部」、「〜装置」としてコンピュータを機能させるものである。あるいは、本実施の形態1〜8の「〜部」、「〜装置」の手順や方法をコンピュータに実行させるものである。
【0188】
このように、本実施の形態1〜8に示す移動体情報端末300は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜装置」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【0189】
【図1】実施の形態1に係る移動体情報端末の構成例を示す図。
【図2】メッシュ分割管理の例を示す図。
【図3】実施の形態1〜8に係る移動体情報端末のアプリケーション例を示す図。
【図4】実施の形態1〜8に係る移動体情報端末のアプリケーション画面例を示す図。
【図5】実施の形態1〜8に係る管理テーブルの構成例を示す図。
【図6】実施の形態1〜8に係る管理テーブルの構成例を示す図。
【図7】実施の形態1〜8に係る管理テーブルの構成例を示す図。
【図8】実施の形態1に係る移動体情報端末の起動直後の動作例を示すフローチャート図。
【図9】実施の形態1〜8に係る全保持メッシュ集合及び先読みメッシュ集合の例を示す図。
【図10】実施の形態1に係る移動体情報端末の初回動作時以降の動作例を示すフローチャート図。
【図11】実施の形態1〜8に係る更新全保持メッシュ集合及び更新先読みメッシュ集合の例を示す図。
【図12】実施の形態1に係る移動体情報端末の先読みテーブル管理リスト更新処理例を示すフローチャート図。
【図13】実施の形態1〜8に係る空間情報テーブル管理リストの例を示す図。
【図14】メッシュ構造による円領域の表現方法の例を示す図。
【図15】実施の形態1に係る移動体情報端末の起動直後の動作例を示すフローチャート図。
【図16】実施の形態1に係る移動体情報端末の先読み処理装置の動作例を示すフローチャート図。
【図17】実施の形態1に係る移動体情報端末のコンテンツ管理装置の動作例を示すフローチャート図。
【図18】実施の形態1に係る移動体情報端末の全保持テーブル管理リスト更新処理例を示すフローチャート図。
【図19】実施の形態3に係る移動体情報端末の構成例を示す図。
【図20】実施の形態3に係る移動体情報端末の電源投入時の動作例を示すフローチャート図。
【図21】実施の形態4に係る移動体情報端末の構成例を示す図。
【図22】実施の形態4に係る移動体情報端末のデータ抽出整列装置の動作例を示すフローチャート図。
【図23】先読み処理時間と先読み半径の関係の一例を示す図。
【図24】実施の形態5に係る移動体情報端末の先読み完了時の動作例を示すフローチャート図。
【図25】実施の形態5に係る分割領域単位での先読み領域の半径の更新方法を説明する図。
【図26】実施の形態6に係る移動体情報端末の動作例を示すフローチャート図。
【図27】実施の形態2に係る移動体情報端末の先読み処理装置の動作例を示すフローチャート図。
【図28】実施の形態8に係る空間情報数の分布を利用した先読み領域の更新例を示す図。
【図29】実施の形態2に係る移動体の移動方向ベクトルと全保持領域と先読み領域とを示す図。
【図30】実施の形態2に係る基点の例を示す図。
【図31】実施の形態2に係る移動体情報端末の移動方向ベクトルによる先読み順序更新処理フローを示すフローチャート図。
【図32】実施の形態2に係る先読み順序更新が起こる例と起こらない例を示す図。
【図33】位置情報とメッシュとの関係を示す図。
【図34】実施の形態1に係る移動体情報端末の構成例を示す図。
【図35】移動体の所在位置とメッシュとの関係を示す図。
【図36】移動体の所在位置とメッシュと全保持領域の関係を示す図。
【図37】従来技術のコンテンツリストの例を示す図。
【図38】実施の形態1〜8に係る全保持メッシュ集合情報の例を示す図。
【図39】実施の形態1〜8に係る全保持テーブル管理リストの例を示す図。
【図40】実施の形態1〜8に係る全保持メッシュ集合と全保持テーブル管理リストとのリンク関係の例を示す図。
【図41】移動体の移動時のデータ切り替えの例を示す図。
【図42】実施の形態1〜8に係る移動体情報端末のハードウェア構成例を示す図。
【符号の説明】
【0190】
100 位置検出装置、101 データ読込み制御装置、102 コンテンツデータベース、103 コンテンツ管理装置、104 コンテンツ処理装置、105 データ記憶装置、106 先読み処理装置、107 通信装置、300 移動体情報端末、301 移動体、2001 不揮発性記憶装置、2010 データ抽出整列装置。
【技術分野】
【0001】
本発明は、位置に関連するコンテンツデータ(以下、コンテンツともいう)をローカルのデータベースやネットワーク経由でコンテンツサーバーから取得し、提示する移動端末装置等に関するものである。
【背景技術】
【0002】
近年、無線通信技術の発達に伴い、移動体に搭載されている情報処理端末(以下、移動体情報端末)に様々なコンテンツを提供するサービスが展開されている。特に移動体が持つ可搬性故に従来のPC(Personal Computer)とは異なり、様々な場所で移動体情報端末は利用される。そのため移動体情報端末が現在、存在している物理的位置を情報(以下、位置情報)として取得し、その位置情報に関連するコンテンツを提供する事が出来るのが望ましい。
また、移動体情報端末は常時移動する事が可能であるため、その移動に追随してその時々の位置情報に関連するコンテンツをリアルタイムに提供できる事が重要となる。そのため、移動体の移動量に応じて逐次、関連するコンテンツをリアルタイムに更新する必要がある。
移動体情報端末の位置情報に関連するコンテンツを提供する従来技術としては、特許文献1に開示される技術が知られている。
【0003】
この特許文献1に開示されている技術では、移動情報端末の移動予定経路が設定されているかどうかに関わらず、またコンテンツデータのサイズが大きい場合であっても、適切にコンテンツを取得する事が可能な移動体用の端末装置を提供する。
この端末装置では、
(1)現在の位置に関連するコンテンツとこのコンテンツに対応する位置との組を少なくとも一つ以上格納したコンテンツリストを記憶し、
(2)現在の位置に基づいたコンテンツを取得するコンテンツ取得領域を決定し、
(3)決定したコンテンツ取得領域に対応する位置をもつコンテンツをコンテンツリストから選択し、
(4)選択したコンテンツの一部を先立って取得し、
(5)選択したコンテンツの一部を取得した後の位置に基づいて前記選択したコンテンツの残りの部分が今後参照されるか否かを判断する事により、
(6)残りの部分を取得すると判断した場合に、残りの部分を取得するようにしている。
【0004】
そして、特許文献1では、コンテンツデータのサイズが大きい場合でもコンテンツを二回に分割して取得するため、コンテンツの一部を先立って表示可能とし、移動によって位置が大きく変化した場合であっても、位置に応じた適切なコンテンツを取得・提示可能としている。
【特許文献1】国際公開WO2003/033998号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、この従来技術では移動体情報端末のコンテンツリストが単一の場合のみを想定しているため、複数領域にまたがった場合の処理ができないという問題点がある。
そのため広範囲(例えば日本全国)の位置に関連するコンテンツが存在した場合、それら全てに関連する情報を格納した一つのコンテンツリストが必要となり、検索負荷が非常に高いものとなる。
そして空間情報を管理する場合、通常は上記負荷を軽減するため、全体の空間を複数にメッシュ分割し分割された空間単位で空間情報を管理する方法が一般的であるが、その方法を利用する事が出来ない。もし、分割された領域で実施する場合にはデータ放送等によりその放送電波を受信できる領域に入ると取得される方式を利用しなければならず、放送局や電波塔、サーバといった設備や維持に掛かるコストが非常に大きい問題がある。
また、コンテンツデータの取りうるサイズがほぼ一定の場合、分割取得しない方が効率的である。
また、コンテンツがメッシュ管理されている場合には、各メッシュに含まれるコンテンツ数等の変動に応じた取得方法を考えた方が効率がよい。
【0006】
本発明は、上記従来技術の課題点を考慮し、広範囲の領域に存在する多量の位置に関連するコンテンツの中から、移動体情報端末の周辺に存在するコンテンツのみを検索する機能を有する情報処理端末において、全てのコンテンツを単一の管理テーブルで管理せずに、ある規則に従って空間を分割し、分割された領域単位でコンテンツを管理する管理装置が存在した状況で、ある特定領域に含まれるコンテンツが常時読み込み完了状態であるように移動体情報端末に保持にすることを主な目的とする。
ここで、常時読み込み完了状態とは、移動体情報端末がそのコンテンツを直ぐに使える状態にしておく事であり、メモリ上に格納したり、高速な二次記憶媒体にバッファリングすること等を指す。
【課題を解決するための手段】
【0007】
本発明に係る移動情報処理装置は、
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから、コンテンツデータに対する情報読み出しを行う移動情報処理装置であって、
移動情報処理装置の現在位置を任意の間隔で検出する位置検出部と、
前記位置検出部により移動情報処理装置の現在位置が検出される度に、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定部と、
前記領域メッシュ判定部により第一領域メッシュ及び第二領域メッシュが判定される度に、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定部と、
前記未読み出しメッシュ指定部により指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定部により指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出し部とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、新たな第一領域メッシュ及び新たな第二領域メッシュと、以前の第一領域メッシュ及び以前の第二領域メッシュとを比較して、第一未読み出しメッシュと第二未読み出しメッシュを指定するため、コンテンツデータに対する情報読み出し量を抑えることができ、メモリ容量が限られている移動情報処理装置においても効率的かつリアルタイムにコンテンツデータの表示を行うことができる。
【発明を実施するための最良の形態】
【0009】
実施の形態1.
(1−1)移動体情報端末の構成例
図1は、本実施の形態に係る移動体情報端末300(移動情報処理装置)の構成例を示す。
本実施の形態に係る移動体情報端末300は、移動体に搭載される情報端末である。移動体としては、例えば、自動車、バイク等の他、人間(歩行者)であってもよい。
本実施の形態に係る移動体情報端末300の各要素の動作、特徴については、後に詳述するが、以下にて、各要素の主な機能を概説する。
【0010】
コンテンツデータベース102は、所定の領域を複数のメッシュに分割して管理し、メッシュごとにメッシュに関連するコンテンツデータ及びコンテンツデータが対応する施設等の位置情報を記憶する。なお、コンテンツデータとは、後述するように、メッシュにより表象される領域(実際の地理的領域)に存在する施設等に関するコンテンツである。
なお、コンテンツデータを空間情報ともいう。
また、コンテンツデータ(空間情報)とコンテンツデータが対応する施設等の位置情報とを対応付けた情報を空間情報テーブル又は単にテーブルという。
【0011】
位置検出装置100は、移動体情報端末300の現在位置を任意の間隔で検出する。位置検出装置100は、位置検出部の例である。
【0012】
データ読込み制御装置101は、位置検出装置100により移動体情報端末300の現在位置が検出される度に、移動体情報端末300の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を全保持領域(第一領域)として判定し、全保持領域に対応する複数のメッシュを全保持メッシュ集合(第一領域メッシュ)として判定する。また、データ読込み制御装置101は、移動体情報端末300の移動により所定時間内に全保持領域に移行すると予測される領域を先読み領域(第二領域)として判定し、先読み領域に対応する複数のメッシュを先読みメッシュ集合(第二領域メッシュ)として判定する。なお、先読み領域の判定基準となる上記の所定時間は、例えば、位置検出装置100による位置検出周期でもよいし、他の時間でもよい。また、移動体の移動速度に応じて変動させてもよい。
なお、全保持領域とは、その領域に含まれている全空間情報は常時保持できている必要がある領域であり、例えば、移動体情報端末300の所在位置から半径Nメートルの円の範囲内の領域については、その領域に対する空間情報の全てが常にデータ記憶装置105内に保持されていなければならない。移動体情報端末300の移動に伴って移動体情報端末300の所在位置から半径Nメートルの円に含まれる領域は徐々に変化していくことになるが、当該円の範囲に含まれるに至った領域の空間情報は必ず事前にデータ記憶装置105に読み込まれていなければならない。
【0013】
また、データ読込み制御装置101は、全保持メッシュ集合及び先読みメッシュ集合を判定する度に、新たに判定した新たな全保持メッシュ集合及び新たな先読みメッシュ集合と、以前に判定した以前の全保持メッシュ集合及び以前の先読みメッシュ集合とを比較し、新たな全保持メッシュ集合に含まれるメッシュのうち以前の全保持メッシュ集合及び以前の先読みメッシュ集合のいずれにも含まれていないメッシュを読み込み対象の全保持メッシュ(第一領域未読み出しメッシュ)として指定する。また、新たな先読みメッシュ集合に含まれるメッシュのうち以前の全保持メッシュ集合及び以前の先読みメッシュ集合のいずれにも含まれていないメッシュを読み込み対象の先読みメッシュ(第二領域未読み出しメッシュ)として指定する。データ読込み制御装置101は、未読み出しメッシュ指定部及び領域メッシュ判定部の例である。
【0014】
先読み処理装置106は、データ読込み制御装置101により指定された読み込み対象の全保持メッシュのコンテンツデータに対する情報読み出しを行い、更に、データ読込み制御装置101により指定された読み込み対象の先読みメッシュのコンテンツデータに対する情報読み出しを行う。
先読み処理装置106が行うコンテンツデータに対する情報読み出しとは、詳細は後述するが、空間情報テーブルを読み出すことにより、空間情報テーブルに含まれるコンテンツデータ自体又はコンテンツデータの格納領域を示すポインタ情報を読み出すことである。
先読み処理装置106は、情報読み出し部の例である。
【0015】
データ記憶装置105は、各種情報を記憶する。
記憶する情報としては、先読み処理装置106により読み出された全保持メッシュ集合情報、先読みメッシュ集合情報、全保持テーブル管理リスト、先読みテーブル管理リストである。
全保持メッシュ集合情報は、データ読込み制御装置101により全保持メッシュ集合として判定された各々のメッシュを示す。全保持メッシュ集合情報は、例えば図38に示す形式である。図38では、全保持メッシュとして5つのメッシュが示され、それぞれのメッシュの識別情報が示される。
先読みメッシュ集合情報は、データ読込み制御装置101により先読みメッシュ集合として判定された各々のメッシュを示す。先読みメッシュ集合情報は、例えば図38の全保持メッシュ集合情報と同様の形式である。
全保持テーブル管理リストには、先読み処理装置106により読み出された各メッシュの空間情報テーブルが含まれる。全保持テーブル管理リストは、読み出された空間情報テーブルが全保持メッシュ集合のメッシュに属することを示す。また、空間情報テーブルは、メッシュごとに、当該メッシュに属するコンテンツデータを示す。全保持テーブル管理リストは、例えば、図13に示すように、全保持メッシュの識別情報(1401〜1405)及び各全保持メッシュに対応するコンテンツデータが含まれる空間情報テーブル(1406〜1407)へのポインタ等が示される。なお、図13の構成の詳細は後述する。
先読みテーブル管理リストには、先読み処理装置106により読み出された各メッシュの空間情報テーブルが含まれる。先読みテーブル管理リストは、読み出された空間情報テーブルが先読みメッシュ集合のメッシュに属することを示す。先読みテーブル管理リストは、例えば図13の全保持テーブル管理リストと同様の形式である。
全保持メッシュ集合情報及び先読みメッシュ集合情報は、領域メッシュ情報の例であり、全保持テーブル管理リスト及び先読みテーブル管理リストは、コンテンツデータ管理情報の例である。
また、データ記憶装置105は、領域メッシュ情報記憶部及びコンテンツデータ管理情報記憶部の例である。
【0016】
コンテンツ処理装置は、データ記憶装置105に記憶されているコンテンツデータを、地図データ上の対応する施設の位置に重畳させて表示する。
【0017】
なお、図1では、コンテンツデータベース102が、移動体情報端末300の内部に配置されている例を示しているが、図34に示すように、コンテンツデータベースを外部に配置するとともに、コンテンツデータベースと通信可能な通信装置107(通信部)を移動体情報端末300に設け、先読み処理装置106が通信装置107を通じてコンテンツデータベースからコンテンツデータを取得するようにしてもよい。
【0018】
(1−2)移動体端末装置を使う基本的なアプリケーション
次に、本実施の形態に係る移動体情報端末300が使用される状況について図3を用いて説明する。
図3は、本実施の形態に係る移動体情報端末300が使用される状況やアプリケーションについて模式的に表現した図である。
【0019】
移動体情報端末300は、移動体301に搭載され、移動可能となっている。
この時、移動体301は自動車、バイク、バス等の様な高速な移動体や、自転車等の様な比較的低速な移動体など移動できるものであれば何でも構わない。また、人間を移動体301とみなしてその人間が移動体情報端末300を移動中に所持する形式でも構わない。
移動体情報端末300は、図1に示すように位置検出装置100を搭載しており、移動体情報端末300が現在位置している位置情報を取得可能である。この位置情報は緯度、経度に基づく情報、それらに加えて高度にも基づく情報、その他ある地点からの相対座標など位置関係が分かる情報であれば何でも良い。位置検出装置100は、例えばGPS(Global Positioning System)衛星からのGPS信号を捕捉して、移動体情報端末300の現在位置を測位するようにしてもよい。
【0020】
以下、位置情報を基準として空間情報302〜318の中から半径Nkmの検索領域円319内に含まれる空間情報302〜306を検索し、表示するアプリケーションを例に挙げる。
空間情報302〜318は、コンテンツデータベース102に格納されている。空間情報について、およびコンテンツデータベースでのデータ格納方法については後述する。
前述したように、コンテンツデータベースは移動体情報端末300内部に実装されていてもよいし、移動体情報端末300外部に存在していてもよい。外部に存在する場合には、図34に示すように、コンテンツデータベース102と移動体情報端末300は有線もしくは無線のネットワークを利用して接続されており、移動体情報端末300はそのネットワークにアクセスするための通信装置107が実装されることになる。
ここで、検索領域円319に含まれている空間情報に関しては、移動体情報端末300の表示画面に現在位置からの距離順でソートされて表示する等の方法でユーザに情報提供する。
【0021】
図4は、取得した空間情報の移動体情報端末300への表示画面例である。
画面左に移動体情報端末300周辺の地図400が表示され、地図上に移動体情報端末300の位置が記号401で表示される。
そして、検索領域円319に含まれている空間情報で、表示されている地図400に表示可能な位置に存在している空間情報は記号402〜405で空間情報が保持する位置に表示される。
画面右には検索領域円319に含まれている空間情報のコンテンツ内容の簡易表示を行う表を表示する。ここに表示されるコンテンツは移動体情報端末300からの距離でソートされた順に表示されている。
もし、この表に収まりきらない場合には、ユーザ操作によって表の更新が行えるようになっていても構わない。
また、地図上に表示された空間情報に対応するコンテンツのみが表に表示されるようにしても構わない。
また、コンテンツの簡易表示の中から、項目を選択する事によって、そのコンテンツの詳細表示を閲覧可能としてもよい。
また、検索領域円319に含まれている空間情報が少ない場合には、簡易表示は省略して、直接詳細表示を行っても構わない。
【0022】
(1−3)空間情報の管理方法についての説明
図2は、位置情報とコンテンツの組となる情報を空間全体で管理した場合(図2(a))と、メッシュ分割した領域単位で管理した場合(図2(b))の比較を行うための図である。
灰色の円状の記号は、あるコンテンツが関連している施設等の地理位置(位置情報)を二次元空間にプロットしたものである。全体で一つのテーブルで管理を行う場合には、対象となる空間全体に存在するコンテンツに関連する位置情報全てを一つのテーブルで管理する事になる。そのため、位置情報が多数になった場合、その中から目的の位置情報を検索する処理負担が非常に大きくなる。
一方、対象となる空間をメッシュ分割し、1メッシュに含まれる位置情報のみで一つのテーブルを構成する方法を図2(b)に図示している。
【0023】
この図2(b)の方法では、テーブルがメッシュ数と同数だけ生成される事になるが、各テーブルで管理するデータ数を低く抑えることが出来る。
特に、空間的に連続した特定領域に含まれるデータを検索する場合、
(1)その領域と重なりがあるメッシュに対応するテーブルを取得し、
(2)上記(1)で取得した管理テーブルから特定領域内のデータを検索
する処理を行う事で、検索対象となるデータ数を(1)の段階で絞る事が出来るため、全体管理を行った場合と比較して検索の処理負担が軽くなる利点がある。また、(1)で管理テーブルを検索する処理は、各テーブルに対応する領域の任意の位置座標から求める事が可能な識別情報を持たせる事によって存在するテーブル全てがある特定領域に含まれるか否かを判定する処理を行わなくて済む。
【0024】
次に、位置座標から対応するテーブルを検索する方法を図33を利用して説明する。
この例では、取り扱う空間を二次元とし、分割された領域が同一サイズの長方形で縦がLyメートル、横がLxメートルであると仮定する。また、取り扱う領域全てを含む最小の長方形の基準点を左下の頂点3401とし、その座標を(0,0)とする。
その時、ある任意の点3402の座標が(x,y)とすると、基準点からの単位をメートルとした座標系で表現している場合、その点が基準点から数えて右、上に何個目のメッシュに含まれるかを以下の式を利用する事で求める事が可能である。
【0025】
【数1】
【0026】
上記の式において、右辺の記号は囲まれた値以下で最大の整数値を意味する。
この式を利用する事で、例えば管理テーブルをRDB(Relational Data Base)で表現している場合、管理テーブルの検索処理が不要となる。各管理テーブルに対応するメッシュが基準点から数えて右、上に何個目のメッシュであるかの情報を付加(例えば、右に10個、上に3個のメッシュに対応する管理テーブルの名称をTable10x3等と命名)する事で、任意の点を含むメッシュに対応する管理テーブルの名称は上記式を利用する事によって一意に求める事ができ、管理テーブルの検索処理が不要となる。
【0027】
空間全体のメッシュ分割方法は上記の方法に限らず、メッシュ分割された領域の論理和が空間全体と等しくならなくてもよいし、分割されたメッシュ同士で重なりがあるように分割してもよいし、メッシュ分割を再帰的に実施する方式でもよく、どのような分割方式を用いても構わない。
同様に位置情報からその位置を包含するメッシュの求め方は上記の方法に限らず、その他の方法を用いて実施しても構わない。
【0028】
(1−4)空間情報のデータ構造
以下ではコンテンツデータベース102内における空間情報テーブルの具体的なデータ構造について説明する。
【0029】
図5は、空間情報テーブルの具体例の一例である。
第1列、第2列で空間情報の位置情報(コンテンツデータが関連する施設等の地理位置を示す)を表現している。
第3列で空間情報の位置と関連付けられているコンテンツ本体(コンテンツデータ)が格納されている。このような場合には、空間情報テーブルのサイズが大きくなるため、空間情報テーブルをメモリ上に展開する処理に時間がかかる反面、位置情報からそれに関連付けられているコンテンツ本体(コンテンツデータ)を取得する処理は短時間で行える。
【0030】
図6は、別の空間情報テーブルの具体例である。
この空間情報テーブルは二つのテーブルに分割されており、左側のテーブルは空間情報の位置情報、その位置情報に関連付けられているコンテンツ本体の一部および残りのコンテンツへのポインタが格納されている。
この場合には、左側の空間情報テーブルのコンテンツ格納部分には、コンテンツの名称や概要情報等を格納し、右側の空間情報テーブルにコンテンツの詳細な内容を記述した情報を格納する様に分離する事で、図4の様に空間情報の位置情報や名称といったコンテンツの一部だけがすぐに必要となる場合には、その情報だけでコンテンツ部を構成することで、管理テーブル取得時間を短縮する事が可能である。
空間情報テーブルを取得する場合には、最初に左側の空間情報テーブルのみを取得し、その後、詳細なコンテンツ本体が必要になった場合には左側のテーブルにアクセスを試みる方法を取る事が可能となる。当然、二つのテーブルに対して同時に、もしくは直列に取得処理を行っても構わない。
ポインタに関しては、プログラムで使用されるようなポインタばかりではなく、どこに残りのコンテンツが格納されているのかが分かる情報であれば何でも良い。例えば、残りのコンテンツが格納されているファイル名と格納されている位置を示すオフセット値の組や、ファイル名が左側の管理テーブルから対応付け可能な場合には単純にファイル中のオフセット値だけ、そのほかURL(Uniform Resource Locator)等でも良い。
【0031】
図7は、また別の空間情報テーブルの具体例である。
この具体例は、図6の場合と同様に空間情報テーブルを二つに分割している点では同じであるが、左側の空間情報テーブルには位置情報に対応するコンテンツデータの全てもしくは一部は含まれておらず、対応するコンテンツデータへのポインタ情報が付加されている点が異なる。
この場合、図6と比較して左側の空間情報テーブルのサイズが小さくなるため、コンテンツデータ自体はすぐに必要とならずに、位置情報のみが必要な場合や、位置情報から実際に必要となるコンテンツデータを更にフィルタリングして最終的に少数のコンテンツのみが実際に必要になる場合には不要なコンテンツデータ取得を行わない有効なデータ構造である。
【0032】
(1−5)移動体情報端末の各要素の詳細な説明
次に、図1に示した移動体情報端末300の各構成要素を詳細に説明する。
【0033】
(a)位置検出装置100の説明
移動体情報端末300は位置検出装置100から任意の間隔にて移動体情報端末300の位置情報を取得する。なお、定期的に位置情報を取得するようにしてもよい。
この位置情報は前述の通り、緯度・経度に従う形式でも、他の形式でもよく、空間もしくは平面上のどの位置、もしくはどの領域であるか一意に判別可能な情報を含んでいれば良い。
【0034】
(b)データ読込み制御装置101の説明
データ読込み制御装置101は、例えば定期的に位置検出装置100から位置情報を取得し、その位置情報をもとにコンテンツデータベース102からどの空間情報テーブルの先読み処理を開始するか、どの空間情報テーブルを常に保持しなければならないのかを判定する装置である。
その判定結果を元にコンテンツ管理装置103に対して、現在全保持領域にかかるメッシュの集合である全保持メッシュ集合と先読み領域にかかるメッシュの集合である先読みメッシュ集合をコンテンツ管理装置103に通知し、全保持テーブル管理リスト及び先読みテーブル管理リストの更新を行う。
【0035】
ここで、全保持領域が先読み領域で囲まれる様に設定することによって、先読み領域に接したメッシュから先読み処理が開始されるため、その先読み処理が全て完了するまでに、そのメッシュが全保持領域に到達しないように先読み領域の大きさを調整する事によって、全保持領域に接しているメッシュに対応する空間情報テーブルは全て移動体情報端末に保持されることが保証される。
つまり、先読み領域の大きさは調整可能であり、移動体301の移動速度が速く、先読み領域が頻繁に全保持領域に移行する場合は、先読み領域が狭いと先読み領域が全保持領域に移行した時点で先読み処理が完了していないという事態が生じる可能性がある。このため、移動体301の移動速度が速い場合には、先読み領域を大きくしておくことで、全保持領域に移行したときに該当するメッシュのコンテンツデータが確実に先読み処理済となっているようにする。
【0036】
データ読込み制御装置101が新たに先読み処理を行わなければならないと判定した空間情報テーブルは、先読み処理装置106に対して、その空間情報テーブルを一意に識別するための情報と共に先読み要求を行う。
先読み処理が完了した空間情報テーブルを先読み処理装置106から受け取った場合、コンテンツ管理装置103に対して、データ記憶装置105への登録要求を行う。
全保持テーブル管理リスト及び先読みテーブル管理リストのどちらに登録を行うかはコンテンツ管理装置103が決定してもよいし、データ読込み制御装置101が決定し、その情報を要求に記述して、コンテンツ管理装置103がその情報に従って処理を行っても構わない。
【0037】
(c)先読み処理装置106の説明
先読み処理装置106はデータ読込み制御装置101からの要求を受けて、コンテンツデータベース102から指定された空間情報のテーブルを読み込む処理を行う装置である。
コンテンツデータベース102が移動体情報端末300内に内蔵されている場合には、先読み処理装置106はコンテンツデータベース102に対して、直接もしくはファイルシステム等を介してアクセスし、空間情報テーブルを取得する。
コンテンツデータベース102が移動体情報端末300内に内蔵されておらず、例えば外部のネットワーク上に接続されているコンテンツデータベースサーバ上に存在する場合には、移動体情報端末300内に無線もしくは有線の通信装置107を内蔵する必要があるが、その通信装置107を介してコンテンツデータベースサーバにアクセスし、空間情報テーブルを取得する。
先読み処理装置106は、データ読込み制御装置101とは独立して並行動作可能となっていてもよい。
【0038】
(d)コンテンツデータベース102の説明
コンテンツデータベース102は、各メッシュに対応する空間情報テーブルを全て記憶・管理している装置である。
コンテンツデータベース102は単独で全ての機能を実現している必要はなく、複数存在し、それぞれでメッシュの位置等に応じて処理を分担させても構わない。
コンテンツデータベース102はファイルシステムを直接利用した単純な管理方式でも、RDB(Relational Data Base)、XMLDB(eXtensible Markup Language Data Base)等のデータ管理に特化したモジュールを用いた管理方式でも構わない。
RDBやXMLDBを用いる事で空間情報テーブルへのデータの追加、変更、削除といった操作、また空間情報テーブル内でのデータ検索のためのインデックス管理等が容易になる利点がある。
コンテンツデータベース102は、先読み処理装置106の要求を受け、指定された空間情報テーブルを先読み処理装置106に返す。この時に、コンテンツデータベース102は先読み処理装置106間で決められた形式で空間情報テーブルを引き渡す。
例えば、コンテンツデータベース102が移動体情報端末300内に存在するのであれば、移動体情報端末300内に実装されているメモリ領域に指定された空間情報テーブル分の領域を確保し、その領域に空間情報テーブルの情報を記述し、領域の先頭へのポインタを先読み処理装置106に返す方法でも構わない。また、空間情報テーブルのファイル記述子(ファイルポインタ)を返す方法でも構わない。その場合には、先読み処理装置106側でメモリ上に展開する作業を追加しても構わない。
また、コンテンツデータベース102が移動体情報端末300の外部に存在する場合、HTTP(Hyper Text Transfer Protocol)等の通信プロトコルを双方で利用し、空間情報テーブルを先読み処理装置106に引き渡す。
【0039】
(e)コンテンツ管理装置103の説明
コンテンツ管理装置103は、コンテンツデータベース102から取得してきた空間情報テーブルおよび、その空間情報テーブルを管理するためのテーブル管理リストをデータ読込み制御装置の判定に従って、管理方法を決定する装置である。
テーブル管理リストには、全保持メッシュ集合の要素となるメッシュに対応する空間情報テーブルを管理するための全保持テーブル管理リストと、先読みメッシュ集合の要素となるメッシュに対応する空間情報テーブルを管理するための先読みテーブル管理リストがあり、データ読込み制御装置101から渡される全保持メッシュ集合情報及び先読みメッシュ集合情報を利用して、どちらのテーブル管理リストで管理すべきかを決定する。
また、全保持メッシュ集合及び先読みメッシュ集合の少なくとも一つの構成要素が変更された場合には、速やかに対応するテーブル管理リストの構成要素も同様の構成になるように変更処理を行う。
【0040】
(f)データ記憶装置105の説明
データ記憶装置105は、コンテンツデータベース102から取得してきた空間情報テーブルおよび、その空間情報テーブルを管理するためのテーブル管理リストを記憶するための記憶領域である。
【0041】
(g)コンテンツ処理装置104の説明
コンテンツ処理装置104は、取得された空間情報テーブルやそのテーブル要素である空間情報を利用し、利用者にサービスを提供するための装置である。
データ記憶装置105に格納されている空間情報テーブルは、全保持領域をコンテンツ管理装置103経由でデータ記憶装置105に記憶されている様々な情報を取得し、ユーザにサービスを提供する。その具体例は、図4の様な移動体情報端末300のリアルタイム周辺検索などが挙げられる。
【0042】
以上のこれらの装置によって、どのような場合であっても、全保持テーブル管理リストに登録されているメッシュに対応する空間情報テーブルはデータ記憶装置105に全て格納されるように、先読みテーブル管理リストを利用して、前もって必要となるであろう空間情報テーブルを先読みする事が本実施の形態の主な目的である。
【0043】
(1−6)起動直後の先読み処理フローの説明
図8および図9を利用して、初回実行時の本実施の形態に係る読込み空間情報テーブルの決定方法(情報処理方法)について説明する。
実行直後に、移動体情報端末300が存在する位置の位置情報を検出するために、データ読込み制御装置101は位置検出装置100に問い合わせを行い、位置検出装置100が移動体情報端末300の現在位置を検出する(処理801)(位置検出ステップ)。
位置検出装置100から受け取った位置情報を元に、データ読込み制御装置101は、全ての空間情報を保持すべき全保持領域901を決定する(処理802)(領域メッシュ判定ステップ)。
図9では位置検出装置100から受け取った移動体情報端末300の位置を中心とした一定半径を持った円として全保持領域901を決定している。つまり、この場合、移動体情報端末300の移動量に応じて全保持領域901も移動する。その他の全保持領域901としては楕円や、円の中心以外に移動体情報端末300が位置する様に設定する場合や、一定の辺の長さを持った正方形や長方形、その他任意の形状でも構わない。
次に、データ読込み制御装置101は、決定した全保持領域901が含む全ての空間情報を保持する、メッシュ領域の最小集合である全保持メッシュ集合を求める(処理803)(領域メッシュ判定ステップ)。ここで求めた全保持メッシュ集合を示す全保持メッシュ集合情報は、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。
図9では、領域を同一正方形でメッシュ分割している。図中の左下のメッシュを基準メッシュとして、座標形式で一意に識別可能するメッシュ識別情報を構成している。左下のメッシュを(1,1)として表現し、(1,1)に上隣接したメッシュを(1,2)、(1,1)の右隣接したメッシュを(2,1)の様に表現する。この場合には、全保持領域901が含む全ての空間情報を保持するメッシュ領域の最小集合は、言い換えると全保持領域901を覆い隠すメッシュの最小集合の事であるため、全保持メッシュ集合は、
{(6,2)、(6,3)、(6,4)、(6,5)、(7,2)、(7,3)、(7,4)、(7,5)、(8,2)、(8,3)、(8,4)、(8,5)}
となる。
【0044】
次に、データ読込み制御装置101は、処理803で決定した全保持メッシュ集合を元に、全保持メッシュ集合に含まれるメッシュのうち空間情報の読み込みがなされていないメッシュ(第一領域未読み出しメッシュ)を判断し、全保持テーブル管理リストを作成する(処理804)(未読み出しメッシュ指定ステップ)。この全保持テーブル管理リストは、全保持メッシュ集合に属するメッシュに対応する空間情報テーブルの管理を行うためのリストである。この全保持テーブル管理リストは、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。なお、ここでは、起動直後なので、全保持メッシュ集合の全てのメッシュにつき空間情報テーブルの読み込みが行われていないので、全てのメッシュの空間情報テーブルの読み込みが必要である。
【0045】
図13は全保持テーブル管理リストを模式的に表現した図である。
この図の場合には、全保持メッシュ集合の要素が、
{(1,1)、(1,2)、(1,3)、(2,3)、(2,4)}
であった場合の全保持テーブル管理リスト1400である。
各リスト要素1401〜1405には少なくともメッシュ識別情報、次のリスト要素を参照するポインタ領域、このリスト要素の持つメッシュ識別情報に対応するメッシュに関連付けられた空間情報テーブルを参照するポインタ領域を保持している。
図13では、空間情報テーブル管理リスト1400はリスト要素1401〜1405を保持し、各リスト要素は上から順にメッシュ識別情報、次のリスト要素ポインタ、空間情報テーブルポインタの情報を表している。ポインタに関しては、何も矢印が出ていない場合にはNULLポインタである事を意味する。全保持管理テーブル管理リスト1400の要素数は全保持メッシュ集合の要素数に一致する。
また、空間情報テーブルを参照するポインタでNULLポインタとなっている場合には、関連付けられた空間情報テーブルがまだ読込み完了していない事を意味し、NULLポインタでない場合には既に関連付けられた空間情報テーブルの読込みが完了している事を意味する。
処理804を実行した直後では読込み処理は開始されていないため、全ての空間情報テーブルポインタはNULLポインタとなっている。図13では、リスト要素1401、1403、1404は関連する空間情報テーブルの読込みが完了し、リスト要素1402、1405は空間情報テーブルの読込みが完了していない状態を示している。
この全保持テーブル管理リストはリスト表現でなく、配列で表現しても構わない。この場合には、各リスト要素の次のリスト要素を参照するポインタ領域が必要なくなる。また、各リスト要素に格納する情報は前述のメッシュ識別情報、次のリスト要素ポインタ、空間情報テーブルポインタ以外の情報を保持させても構わない。
【0046】
次にデータ読込み制御装置101は、処理803で求めた全保持メッシュ集合の全要素に関連する空間情報テーブルをコンテンツデータベース102から読み込むよう先読み処理装置106に指示し、先読み処理装置106は指示された空間情報テーブルの読み込みを行う(処理805)(情報読み出しステップ)。
前述したように、空間情報テーブルには、コンテンツデータ本体又はコンテンツデータの格納領域を示すポインタ情報が含まれ、先読み処理装置106は、空間情報テーブルを読み出すことにより、空間情報テーブルに含まれているコンテンツデータ本体又はポインタ情報を読み出す。
なお、この処理805は、この処理工程の中で全ての空間情報テーブルの読み込みが完了するまで次の処理806に遷移できないのではなく、データ読込み制御装置101から先読み処理装置106に対して、全要素に対応する空間情報テーブルの読込み要求を渡し終えればよい。つまり、データ読込み制御装置101と先読み処理装置106は相互に独立した並列処理を行えるものとする。
データ読込み制御装置101から先読み処理装置106に対する読込み要求には、少なくとも読込みを行う空間情報テーブルのテーブル識別情報が記述されている。この記述されているテーブル識別情報を元に先読み処理装置106は対応する空間情報テーブルをコンテンツデータベース102から、データ読込み制御装置101の処理とは独立に並行して、読込み処理を行う。
【0047】
次に、位置検出装置100から受け取った位置情報と、処理802で決定した全保持領域または、全保持領域に関するパラメータを元に、データ読込み制御装置101は先読み領域を決定する(処理806)(領域メッシュ判定ステップ)。
図9では位置検出装置100から受け取った移動体情報端末300の位置を中心とし全保持領域901の半径よりも大きい半径を持った円から、全保持領域901を削除したドーナツ状領域として先読み持領域902を決定している。
次にデータ読込み制御装置101は、処理806で決定した先読み領域を元に、先読みメッシュ集合を決定する(処理807)(領域メッシュ判定ステップ)。この先読みメッシュ集合を示す先読みメッシュ集合情報は、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。先読みメッシュ集合の決定方法は、全保持メッシュ集合と同様のアルゴリズムでメッシュ集合を求め、そこから全保持メッシュ集合に登録されている要素を削除する事で求める事が可能である。図9では、先読みメッシュ集合は、
{(4,3)、(4,4)、(5,1)、(5,2)、(5,3)、(5,4)、(5,5)、(5,6)、(6,1)、(6,6)、(7,1)、(7,6)、(8,1)、(8,6)、(9,2)、(9,3)、(9,4)、(9,5)}
となる。
【0048】
次に、データ読込み制御装置101は、処理807で決定した先読みメッシュ集合を元に、先読みメッシュ集合に含まれるメッシュのうち空間情報の読み込みがなされていないメッシュ(第二領域未読み出しメッシュ)を判断し、先読みテーブル管理リストを作成する(処理808)(未読み出しメッシュ指定ステップ)。この先読みテーブル管理リストは、先読みメッシュ集合に属するメッシュに対応する空間情報テーブルの管理を行うためのリストであり、データ構造上は全保持テーブル管理リストのリスト要素をそのまま利用する事が可能である。ただし、この先読みテーブル管理リストは、全保持テーブル管理リストとは独立したリストとして存在させる。この先読みテーブル管理リストは、コンテンツ管理装置103を介してデータ記憶装置105に記憶される。なお、ここでは、起動直後なので、先読みメッシュ集合の全てのメッシュにつき空間情報テーブルの読み込みが行われていないので、全てのメッシュの空間情報テーブルの読み込みが必要である。
先読みテーブル管理リストが生成された直後、全リストの空間情報テーブルポインタはNULLポインタとなっている。
【0049】
最後にデータ読込み制御装置101は、処理807で決定した先読みメッシュ集合の全要素に関連する空間情報テーブルをコンテンツデータベース102から読み込むよう先読み処理装置106に指示し、先読み処理装置106は指示された空間情報テーブルの読み込みを行う(処理809)(情報読み出しステップ)。
処理805と同様にデータ読込み制御装置101は先読み処理装置106に対して、先読みメッシュ集合の全要素に対応する空間情報テーブル読込み要求を渡す処理を行う。この要求には少なくとも読込みを行う空間情報テーブルのテーブル識別情報が記述されている。この記述されているテーブル識別情報を元に先読み処理装置106は対応する空間情報テーブルをコンテンツデータベース102から、データ読込み制御装置101の処理とは独立に並行して、読込み処理を行う。
【0050】
以上が初回実行時の本実施の形態の読込み対象の空間情報テーブルの決定方法の一例である。
【0051】
(1−7)円形の全保持領域から全保持メッシュ集合の求め方の説明
以下では、処理803で図9の様な正方形のメッシュ分割が行なわれた空間に対し、円形の全保持領域から、全保持メッシュ集合を求める具体的な方法の一例を示す。今回説明する例では、日本全国を一辺がMkmの正方形によって、重複や抜けが無く、隣接するメッシュ同士は頂点同士の位置が重なるように分割した状況を前提する。
また、移動体情報端末300が存在する位置を位置検出装置100は緯度経度を単位として検出するものとし、基準となるメッシュを日本全国領域の一番左下のメッシュとする。例えば図9のメッシュ構成で日本全国領域をカバーしている場合には基準となるメッシュは(1,1)となる。この基準となるメッシュの左下の頂点を基点とし、その基点の緯度・経度は既知とする。そうすると、任意の地点の緯度・経度が分かれば、基点までの距離は球面余弦定理や半正矢法等を利用する事で求める事が可能となる。この距離を求める方法は上記の二種類以外の方法でも構わない。よって、移動体情報端末300の位置情報を利用する事で、移動体情報端末300と基点までの距離のx成分とy成分を求める事が可能となる。
ここでメッシュの各辺はMkmに固定されているため、距離のx成分とy成分をMで割り算を行い、商に1加算した値の組み合わせがメッシュの識別情報となり、余りで、そのメッシュの左下頂点から移動体情報端末300までの位置関係を示す値となる。ここで移動体情報端末300が含まれるメッシュの識別情報を(Ix,Iy)とし、そのメッシュ内にx方向にDxkm、y方向にDykmの位置に移動体情報端末300が存在すると仮定する。
図14では、全保持領域となる半径Nkmの円と重なるメッシュ分割された領域が全保持メッシュ集合の要素となるが、各要素で円周線を含むものを薄い灰色、円周線を含まないものを濃い灰色で区別して表現した図である。円周線を含む薄い灰色のメッシュが識別できれば、それ以外の濃い灰色のメッシュを特定するのは容易であるため、まず円周線を含むメッシュを特定する。
始めに、メッシュ(Ix,Iy)のy軸方向で円周線を含むメッシュの識別情報を求める。この場合には移動体情報端末300の位置からy軸方向にNkmの地点を含むメッシュを求めればよいので、y軸の正の方向の円を含むメッシュの識別情報は数2に示すとおりであり、負の方向の円を含むメッシュの識別情報は数3に示す通りである。
【0052】
【数2】
【0053】
【数3】
【0054】
以上より、移動体情報端末300が含まれるメッシュのy軸方向で全保持メッシュ集合に含まれるメッシュの集合は以下のようになる。
【0055】
【数4】
【0056】
次に、それ以外の円周線を含むメッシュを求める。基本的な原理は同一で、移動体情報端末300の位置からNkmの地点を含むメッシュを求める。ただし、今回はNkmの地点がy軸方向に垂直に移動した位置にないため、ピタゴラスの定理等を利用する点が異なる。
メッシュ(Ix,Iy)の左側の全保持メッシュ集合に含まれるメッシュの集合は以下の通りである。
【0057】
【数5】
【0058】
右側の全保持メッシュ集合に含まれるメッシュの集合は以下の通りである。
【0059】
【数6】
【0060】
以上、三つの集合の論理和が全保持メッシュ集合となる。
この方法は全保持メッシュアルゴリズムだけではなく、先読みメッシュ集合を求める際に利用しても構わない。その場合には、同様のアルゴリズムで求めた集合から全保持メッシュ集合の要素を削除したものが、先読みメッシュ集合となる。
【0061】
(1−8)その他の全保持メッシュ集合、先読みメッシュ集合の求め方の説明
ここまでで説明してきた全保持メッシュ集合、先読みメッシュ集合を求める処理は、全保持メッシュ集合の結果を求めてからでないと求める事が出来ない方法であるが、2集合間の要素比較する必要が無いように先読みメッシュ集合の定義で、従来の定義から全保持メッシュ集合の要素を除いたものを再定義して利用して構わない。その場合、初回実行時の本実施の形態の読込み空間情報テーブルの決定方法は図15の通りとなる。
位置検出装置100で移動体情報端末300の位置情報を取得する(処理1601)(位置検出ステップ)。
次に、データ読込み制御装置101が、取得した位置情報より全保持領域及び先読み領域を決定する(処理1602)(領域メッシュ判定ステップ)。
次に、データ読込み制御装置101は、全保持領域から全保持メッシュ集合、先読み領域から先読みメッシュ集合を決定する(処理1603)(領域メッシュ判定ステップ)。
次に、データ読込み制御装置101は、未読込みのメッシュを判断するとともに、全保持テーブル管理リスト及び先読みテーブル管理リストを作成する(処理1604)(未読み出しメッシュ指定ステップ)。
その後に、先読み処理装置106が、全保持メッシュの読込み開始(処理1604)、先読みメッシュの読込み開始(処理1605)を順次実施する(情報読み出しステップ)。
以上の処理は全保持メッシュ集合、先読みメッシュ集合の求め方の一例であるが、ここまでで説明した方法以外の手法によって求めたとしても構わない。
【0062】
(1−9)先読み処理装置の動作について 以下では先読み処理装置106の動作(情報読み出しステップ)の説明を行う。
先読み処理装置106は、データ読込み制御装置101からの要求を受けてコンテンツデータベース102から要求された空間情報テーブルを取得する処理を行う装置である。
この時、先読み処理装置106とデータ読込み制御装置101は、独立して並行処理可能な作りとなっている事とする。そのため、データ読込み制御装置101は先読み処理装置106に空間情報テーブルを要求する場合、要求を先読み処理装置106に渡し終えると、その直後から自身の処理を再開可能であり、先読み処理装置106の応答を待機する必要はない。
先読み処理装置106はデータ読込み制御装置101の要求を受付順で整列して保持できるように待ち行列機構を保持している。
先読み処理装置106はデータ読込み制御装置101から要求を受けると待ち行列の最後尾にその要求を登録する。そして、その要求は自身よりも前に存在する要求が終了するまでは待機状態となる。また、この待ち行列に要素が無い場合には先読み処理装置106は待機状態を維持し続け、待ち行列に要素が入った時点から処理を開始し、待ち行列の要素が全て処理完了するまで処理を継続する。
【0063】
図16は、先読み処理装置106の動作フローを図式化したものである。
先読み処理装置106は起動直後に自身が持つ待ち行列に要求が存在するかチェックする(処理1701、処理1702)。
待ち行列に要求が存在する場合には、待ち行列の先頭の要求を取り出し(処理1703)、その要求に記述されているメッシュに対応する空間情報テーブルをコンテンツデータベース102から読み出す処理を開始する(処理1704)。
コンテンツデータベース102から空間情報テーブルの読み出しが完了した後、その空間情報テーブルをデータ読込み制御装置101に返す(処理1705)。この時、空間情報テーブルがそのメッシュに対応するかを示す情報や全保持領域、先読み領域の区別が出来る情報等と共に返してもよい。
その後、処理1701へとループする。また、処理1702で待ち行列に要求が存在しない場合には、処理すべき事がないため先読み処理装置106は待機状態となる(処理1706)。
待機状態から動作を再開させるタイミングは待ち行列に要求が入ったタイミングとするのが、一番効率がよいが、一定時間で待機状態から処理状態に戻り処理1701を再開する方法もある。
【0064】
(1−10)処理結果を受け取ったデータ読込み制御装置の説明
先読み処理装置106から読込みが完了した空間情報テーブルを受け取ったデータ読込み制御装置101の動作を以下で説明する。
空間情報テーブルを受け取ったデータ読込み制御装置101は、空間情報テーブルを、コンテンツ管理装置103を介して、先読みテーブル管理リストもしくは全保持テーブル管理リストの対応するリスト要素に登録する。
例えば図13のような先読みテーブル管理リストが存在した状況で、メッシュ(1,2)の空間情報テーブルをデータ読込み制御装置101が受け取った場合、データ読込み制御装置101はメッシュ(1,2)に対応する空の要素にその空間情報テーブルを格納しようとする。この時に、格納する情報は空間情報テーブル自身でもよいし、その空間情報テーブルを一意に識別可能な情報として、空間情報テーブルはデータ記憶装置105の別領域に格納してもよい。この時、データ読込み制御装置101はコンテンツ管理装置103にその空間情報テーブルを書き込む様に要求を行う。その要求には書き込む空間情報テーブル自身以外に、メッシュ識別情報や先読み、全保持区別情報等を含んでいても良い。
【0065】
図17は、データ読込み制御装置101からコンテンツ管理装置103に空間情報テーブルとメッシュ識別情報が含まれた書き込み要求があった場合のコンテンツ管理装置103の処理フローである。
要求を受けたコンテンツ管理装置103は、要求に含まれているメッシュ識別情報と一致する要素が先読みテーブル管理リストに存在し、かつその要素が空要素であるかをチェックする(処理1801)。その結果を受け、処理を分岐させる(処理1802)。
条件に合致する要素が存在する場合には、先読みテーブル管理リストの対応する要素に空間情報テーブルを登録(処理1803)し終了する。逆に、条件に合致する要素が存在しなかった場合には、次の処理に移行する。
次に、全保持テーブル管理リストに対して同様の条件で検索を実施する(処理1804)。その結果を受け、処理を分岐させる(処理1805)。
条件に合致する要素が存在する場合には、全保持テーブル管理リストの対応する要素に空間情報テーブルを登録(処理1806)し終了する。逆に条件に合致する要素が存在しなかった場合には、その空間情報テーブルは現時点では不要であることを意味するため、装置上からは解放する(処理1807)。
また、データ読込み制御装置101からコンテンツ管理装置103に空間情報テーブルとメッシュ識別情報及び先読み、全保持区別情報が含まれた書き込み要求があった場合には、図17よりも処理は簡単になる。先読み、全保持区別情報によって、処理1801、処理1804のどちらを実施するかが決定し、その結果条件に合致する要素が見つかった場合にはそれぞれ処理1803、処理1806の対応する処理を行い、合致する要素が存在しない場合には、処理1807を実施する事になる。
【0066】
(1−11)初回動作以降の処理の説明
以上までの処理で、初回の動作が説明され、ここで記述された動作が全て完了する事で、初回動作時の移動体情報端末300が存在した位置における全保持メッシュ集合、先読みメッシュ集合に対応する空間情報テーブル全てを全保持、先読みを区別して取得する事が可能となる。
以上までで説明した処理だけでは、移動体情報端末300が移動しているため、時間が経過するに従い、全保持領域と移動体情報端末300の位置にずれが生じる。そのため、断続的に以下で説明する処理を行い、そのずれを補正する処理が必要となる。処理の間隔は一定間隔でもよいし、状況に応じて間隔を変更しても構わない。
【0067】
図10は、初回動作以降のデータ読込み制御装置101の動作フロー図である。
位置検出装置100が移動体情報端末300の現在位置を検出し、データ読込み制御装置101は、位置検出装置100から現在の位置情報を取得する(処理1101)(位置検出ステップ)。
取得した位置情報により、データ読込み制御装置101は、初回動作と同様に全保持領域、先読み領域を決定する(処理1102)。
次に、移動体情報端末300の現在位置及び全保持領域から更新全保持メッシュ集合を、移動体情報端末300の現在位置及び先読み領域から更新先読みメッシュ集合を決定する(処理1103、処理1104)(領域メッシュ判定ステップ)。更新全保持メッシュ集合および更新先読みメッシュ集合は全保持メッシュ集合及び先読みメッシュ集合とは同じ構造を持った集合であるが、完全に独立した集合として決定される。
【0068】
次に、データ読込み制御装置101は、更新全保持メッシュ集合、更新先読みメッシュ集合、全保持メッシュ集合、先読みメッシュ集合を利用して、先読み処理、テーブル管理リストの更新処理を行う(処理1105)(未読み出しメッシュ指定ステップ)(情報読み出しステップ)。
以下で具体的な処理方法について説明するが、本処理では、データ読込み制御装置101が、更新全保持メッシュ集合(新たな第一領域メッシュ)に含まれるメッシュのうち全保持メッシュ集合(以前の第一領域メッシュ)及び先読みメッシュ集合(以前の第二領域メッシュ)のいずれにも含まれていないメッシュを読み出し対象のメッシュ(第一領域未読み出しメッシュ)として指定し、更新先読みメッシュ集合(新たな第二領域メッシュ)に含まれるメッシュのうち全保持メッシュ集合(以前の第一領域メッシュ)及び先読みメッシュ集合(以前の第二領域メッシュ)のいずれにも含まれていないメッシュを読み出し対象のメッシュ(第二領域未読み出しメッシュ)として指定し、先読み処理装置106が、これら読み出し対象のメッシュの空間情報テーブルの読み出しを行うことを主な内容とする。
【0069】
図11は、図9の図から移動体情報端末300が移動した状態で、この瞬間の全保持メッシュ集合、先読みメッシュ集合、更新全保持メッシュ集合、そして更新先読みメッシュ集合の内容を示した模式図である。
この処理の目的は移動体情報端末300が移動した事により、新たに全保持テーブル管理リストや先読みテーブル管理リストに含まれるべき要素や削除すべき要素を調査し、各リストを更新する事にある。そのために、全保持メッシュ集合、先読みメッシュ集合、更新全保持メッシュ集合、そして更新先読みメッシュ集合を比較し、どのような違いが生じたかをチェックする。
【0070】
まず全保持メッシュ集合と更新全保持メッシュ集合を比較すると、全保持メッシュ集合の要素(6,2)、(6,5)は更新全保持メッシュ集合にはなく、更新先読みメッシュ集合に含まれている。この事は、前回まではコンテンツデータの表示のために必須なメッシュ要素であったが、この時点では必須ではなく、先読みをしておくべきメッシュ要素になった事を意味する。そのため、このメッシュに対応する空間情報テーブルは必須ではないものの、先読みテーブル管理リストで管理すべきテーブルに変更する必要がある。
次に、更新全保持メッシュ集合の要素で(9,3)、(9,4)は全保持メッシュ集合には含まれていない要素である。この要素は、新たに必須となったメッシュ要素である事を意味しており、先読みテーブル管理リストから対応する要素を全保持テーブル管理リストへ移動させる必要がある。
次に、先読みメッシュ集合において、(4,3)、(4,4)、(5,1)、(5,6)は更新全保持メッシュ集合にも更新先読みメッシュ集合にも含まれない要素である。この要素は、前回までは先読みテーブル管理リストで管理すべき空間情報テーブルを保持するメッシュであったが、この時点では管理する必要が無くなった空間情報テーブルを保持するメッシュを意味する。そのため、これらのメッシュは、先読みテーブル管理リストから削除し、対応する空間情報テーブルをデータ記憶装置105から解放する必要がある。
最後に、更新先読みメッシュ集合の(9,1)、(9,6)、(10,2)、(10,3)、(10,4)、(10,5)は先読みメッシュ集合にも全保持メッシュ集合にも含まれていない要素である。これらの要素は、前回では対応する空間情報テーブルを保持する必要性がないメッシュであったが、この時点では、先読み処理を開始すべきメッシュを意味する。そのため、これらのメッシュは、先読みテーブル管理リストに対応する要素を新規追加し、対応する空間情報テーブルの先読み要求を先読み処理装置106に対して実行すべき事を意味する。
【0071】
以上で説明した通りの処理を処理フローで図式化すると図12、図18の通りになる。始めに先読みテーブル管理リストの更新処理について説明する。
なお、図12及び図18に示す処理は、未読み出しメッシュ指定ステップに相当する。
【0072】
図12において、データ読込み制御装置101は、更新先読みメッシュ集合から要素を一つ取り出しxとする(処理1301)。その要素が先読みメッシュ集合かチェック(処理1302)し、先読みメッシュ集合の要素の場合には処理1305へ移行し、要素ではなければ処理1303に移行する。
処理1303では、データ読込み制御装置101は、xが全保持メッシュ集合の要素かチェックし、全保持メッシュ集合の要素の場合には処理1306へ移行し、要素ではなければ処理1304へ移行する。
処理1304では、xが新たに追加された先読み対象となるメッシュである事が分かったので、データ読込み制御装置101は、xに対応する先読みテーブル管理リストの要素を追加し、先読み処理要求を先読み処理装置に行い、処理1308へ移行する。
処理1305では、xが前回から引き続いて先読みメッシュ集合の要素である事が分かったため、データ読込み制御装置101は、xに対応する先読みメッシュ集合の要素を削除する。xに対応する先読みメッシュ集合の要素を削除するのは、既に以前に当該要素の空間情報テーブルが読み込み済だからである。
処理1306では、xは前回、全保持メッシュ集合の要素だが、今回は先読みメッシュ集合の要素になった事が分かるので、データ読込み制御装置101は、xに対応する全保持テーブル管理リストの要素を先読みテーブル管理リストに移動し、処理1307に移行し、xに対応する全保持メッシュ集合の要素を削除する(処理1307)。xに対応する全保持メッシュ集合の要素を削除するのは、既に以前に当該要素の空間情報テーブルが読み込み済だからである。
処理1308では、データ読込み制御装置101は、更新先読みメッシュ集合に処理が行われていない要素があるかどうかチェックし、ある場合には処理1301へ移行し、ない場合には処理1309に移行する。
【0073】
処理1309では、データ読込み制御装置101は、先読みメッシュ集合から要素を一つ取り出しxとする。その後、xが更新全保持メッシュ集合であるかチェック(処理1310)し、要素である場合には処理1311へ移行し、要素ではない場合には、処理1312へ移行する。
処理1311では、xが前回先読みメッシュ集合のメッシュが今回全保持メッシュ集合の要素に変更になったと判明しているため、データ読込み制御装置101は、xに対応する先読みテーブル管理リストの要素を全保持テーブル管理リストに移動し、処理1313に移行する。
処理1312では、データ読込み制御装置101は、前回先読みメッシュ集合のメッシュであったが、今回はどの集合にも属さない事が判明しているため、xに対応する先読みテーブル管理リストの要素を削除し、処理1313へ移行する。
処理1313では、データ読込み制御装置101は、先読みメッシュ集合に未処理の要素があるかどうかチェックし、ある場合には処理1309へ、ない場合には図18の処理1901に移行する。
【0074】
処理1901では、データ読込み制御装置101は、更新全保持メッシュ集合から要素を一つ取り出しxとする。次に、そのxが全保持メッシュ集合の要素であるかどうかチェック(処理1902)する。全保持メッシュ集合の要素である場合には処理1903へ、要素ではない場合には処理1904へ移行する。
処理1903では、xが前回から全保持メッシュ集合の要素のままである事が判明しているため、データ読込み制御装置101は、xに対応する全保持メッシュ集合の要素を削除し、処理1906へ移行する。xに対応する全保持メッシュ集合の要素を削除するのは、既に以前に当該要素の空間情報テーブルが読み込み済だからである。
処理1904では、データ読込み制御装置101は、xが先読みメッシュ集合の要素であるかチェックし、先読みメッシュ集合の要素である場合には、前回先読みメッシュ集合で今回全保持メッシュ集合になった要素である事が判明しているので、処理1906へ移行し、要素でない場合には処理1905へ移行する。
【0075】
処理1905では、データ読込み制御装置101は、xが前回、どの集合にも属さなかったが今回先読み領域を飛ばして、直接全保持メッシュ集合の要素になった事が判明したので、xに対応する全保持テーブル管理リストの要素を追加し、先読み処理要求を先読み処理装置に行い、処理1906へ移行する。
処理1906では、データ読込み制御装置101は、更新全保持メッシュ集合に未処理の要素があるかチェックし、ある場合には処理1901へ、ない場合には処理1907へ移行する。
処理1907では、データ読込み制御装置101は、全保持メッシュ集合から要素を一つ取り出しxとする。その後、そのxが更新先読みメッシュ集合の要素かチェック(処理1908)し、要素の場合には処理1910へ、要素ではない場合には処理1909へ移行する。
処理1909では、xが前回全保持メッシュ集合の要素であったが、今回はどの集合にも属さない要素となった事が判明したため、データ読込み制御装置101は、xに対応する全保持テーブル管理リストの要素を削除し、処理1910へ移行する。
処理1910では、データ読込み制御装置101は、全保持メッシュ集合に未処理の要素があるかチェックし、ある場合には処理1907へ、ない場合には処理を終了する。
最後に、データ読込み制御装置101は、更新全保持メッシュ集合を新たな全保持メッシュ集合に、そして更新先読みメッシュ集合を新たな先読みメッシュ集合に指定することによって、次に行なわれる処理に対応するための準備を行う。
【0076】
以上までの処理を断続的に行う事によって、その時点での全保持テーブル管理リスト及び先読みテーブル管理リストを最新の状態に更新する事が可能となり、その最新の情報を利用して、先読み処理を行う事が可能となる。
【0077】
(1−12)従来技術との比較
前述した従来技術(特許文献1)の記述をメッシュ分割した空間情報に適用すると、一つのコンテンツリストとは、メッシュ分割された領域内の空間情報の集合一つと解釈される。また、そのコンテンツリストを同時に複数管理するという記述、および複数のコンテンツリストを結合して一つのコンテンツリストとして取り扱う、コンテンツリストから一部削除するという記述は従来技術にはない。
つまり、メッシュ分割して管理された空間情報を取り扱う場合、従来技術では同時に取り扱えるメッシュ領域は最大で一つだけとなる。よって、日本全国を対象としたコンテンツを同時に処理する場合、コンテンツリストとして「日本全国の空間情報の集合」とするしかなくなる。
従来技術と本実施の形態との大きな差異の一つとして、「複数のコンテンツリストを取り扱う能力」が挙げられる。そのため、本実施の形態であれば日本全国を対象としたコンテンツを同時に処理する場合、一つのコンテンツリストとして処理する必要がなく、まず荒いフィルタリングとしてメッシュ単位でのフィルタリングを行い、対象となるコンテンツリストの絞込みを行い、その後、絞込みをパスしたコンテンツリストに含まれる空間情報のみのフィルタリングするため、従来技術よりも効率のよい処理が可能となる。
【0078】
従来技術(特許文献1)はコンテンツリストを一つしか保持できず、コンテンツリストの結合、一部削除といった処理が出来ない。
従来技術において、もしメッシュ分割された空間情報を利用する場合、メッシュの境界線上で前に持っていたコンテンツリストと次のメッシュに対応するコンテンツリストの入れ替えが発生する。つまり、図35の様に、ユーザが位置xにおいてメッシュAに対応するコンテンツリストを保持している場合、どんなにメッシュBに近くてもメッシュAからメッシュBへのコンテンツリスト切り替えを行わない限り、メッシュBに対応するコンテンツリストに含まれる空間情報を処理する事は出来ない。また、同様にメッシュAからメッシュBに移動したユーザが位置yにいる場合に関しても一旦保持するコンテンツリストをメッシュAからメッシュBに切り替えると、その時点でメッシュAのコンテンツリストを処理する事が出来ない。
【0079】
この問題を解決する方法の一つとして、本実施の形態に示したように、ユーザ位置を中心とした領域を動的に作成し、対応するコンテンツリストも同様に動的に作成する方法が考えられる。図36はその一例であり、四角3801はユーザ位置xを中心とした全保持領域、四角3802はユーザ位置yを中心とした全保持領域を表しており、ユーザが移動するたびに全保持領域は対応するユーザを中心とするように更新することが考えられる。
先読み領域についても同様にユーザの移動に伴って移動・更新させることができる。
【0080】
しかし、従来技術(特許文献1)ではそのような記述はないため、端末単体でその機能を実現する事が出来ない。そうなると、従来技術に記載されている放送や通信でデータを取得する先のサーバ側でユーザの位置を元にユーザを中心としたメッシュに含まれるコンテンツリストを作成しなければいけなくなる。
【0081】
また、従来技術(特許文献1)では、県や市といったある程度大きな単位でメッシュ分割する事を想定している。そのため、日本全国で空間情報は3千万件程度あることから考えると、一つのメッシュには大まかに見積もっても数万〜数十万単位のデータが含まれており、それを一括して管理できる物理メモリを搭載した端末を想定していると考えられる。一方、本実施の形態ではそのような物理メモリは搭載できない端末にも適用可能であり、メッシュ分割サイズも県や市単位ではなく、一辺数m〜数km程度の正方形の領域をも想定しており、このような場合には、ユーザが移動するたびにメッシュの切り替えがある程度頻繁に行われる事も想定される。
そのため、従来技術では本実施の形態で想定している小さいメッシュ分割に適用した場合、処理自体でメッシュ切り替え時の負荷を想定していない(切り替えに関する記述が見当たらない)ため、処理のオーバーヘッドや隣のメッシュ領域のデータを取り扱えなくなるなどの問題が挙げられる。
【0082】
本実施の形態では、このような問題点を解決しつつ、頻繁にメッシュの入れ替えが発生しても、最小限のコンテンツリスト入れ替えで済み、かつ全保持領域に入る空間情報の保持率を従来技術よりも高める事が出来るような処理方式となっている。
また、本実施の形態ではデータの読込み時間が非常に長い場合をも想定しており、読込み時間が無視できない場合も想定している。カーナビゲーション・システム等の組込み機器に適用した場合には、データの保管先がネットワーク越しに存在している場合があり、このような場合には、データ保管先との通信は無線通信(主に携帯電話)で行うため、通信速度は非常に遅く、またデータがローカルに保存されていたとしても、カーナビゲーション・システム等は劣悪環境で動作する事を前提とした信頼性重視の実装のため、HDD(Hard Disc Drive)やDVDなどからの転送速度は非常に遅い事が一般的である。
【0083】
従来技術(特許文献1)との差異に関しては、コンテンツリスト単独で扱うのか、複数を扱えるようにするのかと言う大きな差異があり、まずデータ構造に特徴が出る。
従来技術では、「位置に関連するコンテンツとこのコンテンツに対応する位置との組を少なくとも一つ以上格納したコンテンツリストを記憶し」とあり、データ構造としては図37の様に表現できる。
つまり、一つのコンテンツリストで読み込んだ全てのデータを内部管理する事になり、仮にメッシュ分割のデータを扱えるものと仮定しても、「どのデータがどのメッシュ領域に格納されていたものか」と言う情報は読み込んでコンテンツリストに登録した時点で消失する事になる。また、格納する際に、どのメッシュ領域から取得されたデータかという情報を付加するといった記述もない。
ただ、データ自体が位置情報を持っているため、どのメッシュ領域に格納されていたものかを逆算する事はメッシュの構築方法によっては可能であるが、保持データ全てに逆算を適用する必要があるため、上記の「どのデータがどのメッシュ領域に格納されていたものか」を処理上で利用する事は考えにくい構造となっている。実際、従来技術にはそのような処理の記載はない。
【0084】
一方、本実施の形態の場合は、読み込んだデータがどのメッシュ領域に格納されていたものかという情報は保持する。
今回、全保持領域に関するものだけを例に挙げるが、本実施の形態では、全保持領域となるメッシュの識別情報のリスト(全保持メッシュ集合情報)、先読みしたメッシュ単位でのコンテンツリストを管理するリスト(全保持テーブル管理リスト)の二種類のデータが必要となり、全保持メッシュ集合情報、全保持テーブル管理リストを図示するとそれぞれ図38、図39の様になる。図39の全保持テーブル管理リストは、図13とは異なる形式で示されているが、これは図37の従来技術のコンテンツリストとの対比のためであり、図39の全保持テーブル管理リストは、本質的には、図13の全保持テーブル管理リストと同様な構成である。
また、先読みメッシュ集合情報、先読みテーブル管理リストは、図38及び図39と同様な構成である。
【0085】
まず、全保持テーブル管理リストについては、図39からも読み取れる通り、従来技術のコンテンツリストと同等ではなく、従来技術のコンテンツリストを一つの要素として保持する上位のリスト構造となっている。本実施の形態ではデータの取得単位はメッシュ単位となっており、そのメッシュ単位で一つのコンテンツリストを生成する。そのため、内部管理中であっても、どのデータが同一メッシュから取得されたものか判別が容易になっている。
次に、全保持メッシュ集合については、図38では、上述の通り二次元の識別情報でメッシュを唯一に判別できるため、その情報を保持している。なお、この集合に類似する記述は従来技術には記載されていない。この集合は全保持テーブル管理リストとリンク(図40)する事によって、どのコンテンツリストがどのメッシュから取得されたものかを内部的に判別する事を可能とするためのデータ集合である。
以上の説明は先読み領域の場合にも同様のデータ構造となる。
【0086】
そして、本実施の形態では、内部管理するデータのデータ構造の違い(メッシュ集合、コンテンツリストを管理するテーブル管理リスト)が従来技術とは明らかに異なるため、その生成過程および処理中のデータ管理方法が従来処理とは異なっている。
そして、上述の様なデータ構造を持たせる事による、従来技術では実現し得ない処理上の利点を以下で説明する。
また、以下では、従来技術には本来備わっていない複数のメッシュに分かれた複数のコンテンツリストを読み込んだのち、一つのコンテンツリストに統合する機能が従来技術にはあると仮定して話を進める。
大きく分けて以下の通りの利点がある。
(1)移動時のデータ読込みを最小限で抑えられる。
(2)移動時の不要データの判定を高速化できる。
(3)どのメッシュのコンテンツリストが読み込み完了していないか判別可能である。
(4)メッシュ毎の保持データ数を知る事が可能である。
【0087】
(1)移動時のデータ読込みを最小限で抑えられる、及び(2)移動時の不要データの判定を高速化できる、の二つの利点は、ユーザを中心とした領域のデータを常時保持することを考えた場合に発生する。
図41はその状況の模式図である。点線の円が前回の全保持領域であり、実線の円が今回全保持領域とする。
従来技術(特許文献1)の場合は、前回から保持しているコンテンツはどのメッシュに含まれているコンテンツか判別できず、かつ前回はどのメッシュからデータを取得したのかについての情報を保持していないため、毎回どのメッシュが取得領域と重なっているかを判別し、重なっているメッシュの全データを取得してくる必要がある。そうしなければ、新規に必要になったメッシュのコンテンツを取得できず、かつ不要になったメッシュのコンテンツを解放する事が出来ない。
この問題点は従来技術がメッシュの切り替えを想定していない事に起因する。
【0088】
一方、本実施の形態では、現在保持しているメッシュの識別情報を全保持メッシュ集合情報及び先読みメッシュ集合情報に保持しているため、前回と今回を比較して不要になったメッシュ、保持すべきメッシュ、新たに読み込むべきメッシュを判別可能であるため、新たに読み込むべきメッシュがなければ、移動毎に読込み作業は発生せず、読込み処理回数の削減が実現できる。
同様に不要なメッシュが発生しなければ、現在保持しているメッシュのコンテンツリストはテーブル管理リストで保持し続け、不要なメッシュが発生して初めて、テーブル管理リストから対応するコンテンツリストを解放すればよく、データ管理を効率的に実装できる利点がある。
図41では、前回は(1,1)、(1,2)、(2,1)、(2,2)のメッシュのコンテンツリストを保持し、今回は(2,1)、(2,2)、(3,1)、(3,2)のメッシュのコンテンツリストを保持しなければいけない事が分かるため、新たに取得しなければいけないのは(3,1)、(3,2)、前回から引き続き保持すべきメッシュは(2,1)、(2,2)、解放すべきメッシュは(1,1)、(1,2)と判別する事が可能である。
【0089】
以上より、従来技術ではコンテンツ単位で行っていた位置関係の比較処理をメッシュ単位で行う事によって、読み込み処理回数の削減およびデータ管理の効率化を実現できる。
【0090】
次に、(3)どのメッシュのコンテンツリストが読み込み完了していないか判別可能、について説明する。
データ構造として、メッシュ集合とテーブル管理リストをリンクしており、メッシュ集合には毎回の判定で領域に重なったメッシュの識別情報が格納され、テーブル管理リストにはそのメッシュ集合に格納されたメッシュに対応するコンテンツリストを取得した時の格納領域が用意されている。そのため、新たに領域に重なったメッシュがある場合、メッシュ集合にはその識別情報、テーブル管理リストには格納領域が用意されるが、当然格納領域にはコンテンツリスト自体はまだ存在しないためC言語のポインタでいう所のNULLが設定される。そのため、処理系では取得すべきメッシュのうちどのメッシュが読み込みを完了し、どのメッシュが未完了か、判別が可能となる。
その特性を生かして応用として読込みが終わっていないメッシュを優先的に処理することが可能となる。これは、読み込んだデータを一つのコンテンツリストにまとめて管理せずに、メッシュ単位で分割してコンテンツを管理する本実施の形態にしか出来ない手法である。
【0091】
次に、(4)メッシュ毎の保持データ数を知る事が可能、については、利点(3)と同様に、メッシュ単位で分けて管理するため、メッシュ単位でどの方向に行くとコンテンツ量がどのように増減するかを算出する事が可能となる。それを利用した応用として、データ数の変化に応じた先読み領域の設定方法があり、後の実施の形態において説明する。
【0092】
以上より、従来技術と比較して本実施の形態は、
複数のコンテンツリストを区別可能なデータ管理方式、
所属メッシュ情報を保持するデータ管理方式、
という二点に関して処理上の大きな差異があり、その差異が元となって、
データ読込み処理回数の削減、
データ管理処理の効率化、 メッシュ単位でのコンテンツ数や読込み完了/未完了の識別を可能とする応用的な先読み領域の再設定の実現、
といった従来技術では実現できない機能面での差異もある。
【0093】
以上のように、本実施の形態では、位置情報とコンテンツが組になっている空間情報を、空間全体をメッシュ分割し、メッシュ単位で空間情報を管理しているコンテンツデータベースがあり、空間情報を提示可能な移動体情報端末において、
(1)移動体情報端末の位置を検出する位置検出装置、
(2)(1)で検出した位置に応じて、その領域に含まれている全空間情報は常時保持できている必要がある領域とする全保持領域を決定する全保持領域決定装置、
(3)(2)で決定した全保持領域に応じて、その領域に含まれている全空間情報を管理するテーブル取得処理を開始する先読み領域を決定する先読み領域決定装置、
(4)(2)で決定した全保持領域を覆い隠す最小のメッシュ集合である全保持メッシュ集合を決定する全保持メッシュ決定装置、
(5)(3)で決定した先読み領域を覆い隠す最小のメッシュ集合から全保持メッシュ集合に含まれるメッシュを取り除いた先読みメッシュ集合を決定する先読みメッシュ決定装置、
(6)全保持メッシュ集合、先読みメッシュ集合、全保持メッシュ集合に含まれるメッシュに対応するテーブルを管理する全保持テーブル管理リストと、先読みメッシュ集合に含まれるメッシュに対応するテーブルを管理する先読みテーブル管理リストを記憶する記憶装置、
(7)テーブルの先読みを行う先読み装置、
(8)(4)で求めた全保持メッシュ集合が(6)で記憶されている全保持メッシュ集合および(5)で求めた先読みメッシュ集合が(6)で記憶されている先読みメッシュ集合に応じて全保持テーブル管理リストと先読み管理リストを更新し、必要があればテーブルの先読み処理を先読み装置に要求するテーブル管理リスト維持装置、
を具備した移動体情報端末について説明した。
【0094】
また、本実施の形態では、空間情報管理装置が移動体情報端末内に存在する例についても説明した。
【0095】
更に、本実施の形態では、空間情報管理装置が移動体情報端末外のサーバに存在する場合には、先読み処理を行う時に空間情報管理装置と通信するための通信装置を備える例についても説明した。
【0096】
実施の形態2.
本実施の形態では、先読み処理装置106がコンテンツデータベース102から空間情報テーブルを先読みする際に、複数の先読み処理を同時に並行処理することが出来ない場合に、どの空間情報テーブルを先に先読みするかを決定するための制御方法を説明する。
【0097】
図27は、先読み処理装置106における先読み処理要求の処理順番を決定するための処理フローである。
先読み処理装置106が複数の先読み処理要求を抱えている場合、先読み処理要求から先読みを行うメッシュを取得(処理2801)し、それぞれのメッシュから移動体情報端末300までの最短距離を求める(処理2802)。求めた距離を基準に距離順に先読み要求をソートする(処理2803)。処理する場合にはソートされた順番(つまり移動体情報端末300との距離が短い順)に先読み処理を開始する(処理2804)。
この処理は、一定期間に実施することによって、最新の状況での距離を基準とした処理順序に更新するようにしてもよい。
また、その際に、現在先読み処理中の要求はソートの対象外としても良い。
また、移動体情報端末300の現在位置と各メッシュの最短距離の他に、例えば、各メッシュの左下の隅や中心点に対応する地理位置と移動体情報端末300との距離を求めるようにしてもよい。
【0098】
このように、本実施の形態に係る移動体情報端末300において、先読み処理装置106(情報読み出し部)は、コンテンツデータに対する情報読み出しを行う際に、読み出し対象の各メッシュの対応地理位置と移動体情報端末の現在位置との間の距離に応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行う。
この場合に、先読み処理装置106は、情報読み出しを行う順序をメッシュ単位で決定し、決定した順序に基づいてメッシュ単位でコンテンツデータに対する情報読み出しを行う。
【0099】
また、上記の方法で示した移動体情報端末300の位置と各メッシュとの間の距離に代えて、先読み順序の別の尺度として、二つのベクトルを利用することも可能である。
図29は、移動体情報端末300がベクトル3003の方向と速度で移動している場合の全保持領域3001と先読み領域3002を表した模式図である。
この時に、移動体情報端末と各メッシュ間の距離を用いる前記の方法を利用すると、先読みの順番は距離順なので、
(3,1)、(3,2)、(2,3)、(1,3)
となる。
一方、二つのベクトルを用いる本方法の場合であれば、ある基点を例えば移動体情報端末300とし、進行方向ベクトルと、移動体情報端末300とメッシュ間または全保持領域とメッシュ間の最短方向ベクトルをそれぞれ正規化したベクトルの内積を求め、その値の大きい順に並べる方法を取ると、
(2,3)、(1,3)、(3,2)、(3,1)
となる。
この尺度は、移動体情報端末の移動方向と各メッシュが存在する方向の一致度を求めている。
その他に、上記の内積に対して、移動体情報端末とメッシュとの最短距離の逆数、またはメッシュと全保持領域の最短距離の逆数を重み付けすることによって、方向の一致度と距離を考慮した尺度とすることが可能となる。
また、基点を移動体情報端末300以外にも現在全保持メッシュ集合の要素となっているメッシュの中から選択されたメッシュ内の点を基点としてもよい。
この場合には、例えば、移動体情報端末300の位置からy軸方向に進行方向とは逆方向に垂線を下ろし、最も遠いメッシュの辺との交点を基点とする方法などである。図30は、上記方法による基点の位置関係を示した図である。
移動体情報端末の位置を3101、移動体情報端末の移動ベクトルを3102とし、灰色のメッシュが全保持メッシュ集合の要素とした場合、基点は位置3103となる。
【0100】
このように、本実施の形態に係る移動体情報端末300において、先読み処理装置106(情報読み出し部)は、コンテンツデータに対する情報読み出しを行う際に、移動体情報端末300の移動方向ベクトルと、所定の基点から読み出し対象の各メッシュに対するベクトルとに応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行う。
この場合に、先読み処理装置106は、移動体情報端末300の現在位置を基点として用いることも可能であるし、先読み領域の読み込み対象メッシュ(第二領域未読み出しメッシュ)のコンテンツデータに対する情報読み出しを行う際に、全保持メッシュに含まれるメッシュのうち移動体情報端末の移動方向とは逆方向であって移動体情報端末の現在位置から最も遠いメッシュの中心点を基点として用いることも可能である。
【0101】
上記の二つの方法(距離を用いる方法、ベクトルを用いる方法)では、移動体情報端末300が移動するたびに更新するか、新たな先読みメッシュが登録された時点か、または、ある一定間隔で実行する事によって、先読み処理順序を更新する事が可能であるが、移動体情報端末の移動ベクトルの変化を考慮できないため、突然の方向転換が行われた場合等に対処できない。
そのため、以下では方向転換に対する尺度を設け、尺度を超えた場合に、再度先読み処理順序を更新する方法について記述する。
【0102】
図31は、移動方向ベクトルを利用した先読み順序更新を行う際の処理フローを図式化したものである。
最初に、先読み処理装置106は、現在の移動体情報端末300の移動方向ベクトルを取得し、そのベクトルを正規化したものをxとする(処理3201)。その後、例えば前述した方法により先読み順序を決定する処理(処理3202)を行い、所定間隔経過するまで処理を中断する(処理3203)。この所定間隔は、データ読込み制御装置101が位置検出装置100から位置情報を取得する間隔でもよいし、一定間隔でも毎回変動するような間隔でもよい。所定間隔経過後、先読み処理装置106は、再度移動体情報端末300のその時点の移動方向ベクトルを取得し、そのベクトルを正規化したものをyとする(処理3204)。その後、先読み処理装置106は、xとyの内積を求め、その値がある基準値α以下となっているかチェック(処理3205)し、αより大きい場合には処理3203へ移行し、α以下の場合には、yをxとし(処理3206)、処理3202へ移行する。
上記の処理はxが先読み順序を決定した際の移動体情報端末300の移動方向を表し、yが現時点での移動体情報端末300の移動方向を表している。
つまり、処理3205において現在の移動方向が、先読み順序を決定した時点の移動方向と比較して、一定以上の変化しているかどうかを判定している事になる。
【0103】
図32は、本手法による先読み順序更新処理が起こらない場合の移動経路と起こる場合の移動経路の例を模式図で表した図である。
矢印は移動体情報端末300の移動方向ベクトルを現しており、実線の矢印は先読み順序更新が発生した時のベクトルで、点線は先読み順序更新が発生しなかった場合のベクトルである。
図32(a)の様に、緩やかな蛇行道路を移動体情報端末300が移動した場合、この手法によって先読み順序更新が発生することはないが、図32(b)の様な一方向に曲がっている道路や、図32(c)の様に交差点を移動体情報端末300が曲がった場合に閾値αよりも小さくなれば、先読み順序更新処理が発生する。
図32(a)の様な移動経路をとった場合には、二つのベクトルを利用するだけでは新たに先読み処理要求されたメッシュの処理順序が決定できないため、要求が新たに入ったタイミングで先読み順序の更新処理を併用するとより効果がある。
【0104】
このように、本実施の形態に係る移動体情報端末300において、先読み処理装置106(情報読み出し部)は、コンテンツデータに対する情報読み出しを行う際に、移動体情報端末300の移動方向ベクトルの向きが所定量変化した場合に、情報読み出しを行う順序を再度決定する。
【0105】
以上、本実施の形態では、複数の先読み処理を同時に並行処理できない環境の場合に、移動体情報端末とメッシュの最短距離を求め、移動体情報端末との距離が近い順に先読み処理を行う先読み処理装置について説明した。
【0106】
また、本実施の形態では、複数の先読み処理を同時に並行処理できない環境の場合に、移動体情報端末の移動方向ベクトルとある基点とメッシュの最短距離を示すベクトルを利用して先読み処理の順番を決定する先読み処理装置について説明した。
そして、この基点とは、移動体情報端末の位置か、もしくは、全保持メッシュで移動体情報端末の進行方向とは逆方向で一番遠いメッシュの中心点等が考えられる。
【0107】
また、本実施の形態では、複数の先読み処理を同時に並行処理できない環境の場合に、移動体情報端末の移動方向ベクトルの向きがある一定量変化した時に、先読み処理の順番を再度決定しなおす先読み処理装置について説明した。
【0108】
実施の形態3.
図19は、本実施の形態に係る移動体情報端末の構成例を示す図である。
図19の移動体情報端末300では、図1に示す構成に比べて新たに不揮発性記憶装置2001を実装している。
また、図34のように、コンテンツデータベースを外部に配置し、通信装置107を設ける場合においても不揮発性記憶装置2001を実装することが可能である。
【0109】
この不揮発性記憶装置2001を実装しているため、常に最新の先読みメッシュ集合、全保持メッシュ集合、先読みテーブル管理リスト、全保持テーブル管理リスト、読み込み完了したテーブル情報、その他、処理に必要な情報を不揮発性記憶装置2001にコピーする事により、移動体情報端末300の電源が落とされて、再度電源が投入された時に、移動体情報端末300が電源断の時点と現在位置が大きく変わっていなければ、不揮発性記憶装置2001に記憶されている情報の一部または全てをデータ記憶装置105にコピーして再利用する事で、電源投入後の処理の軽減を図る事が可能となる。
また、ここでデータ記憶装置105を取り除き、その代わりに不揮発性記憶装置2001を処理中利用する方法もありうる。その場合には、新たな情報が作成されるたびにコピーを行う必要はない。
【0110】
本実施の形態では、例えば、位置情報、全保持メッシュ集合情報および全保持テーブル管理リストのコピーを不揮発性記憶装置2001に記憶し、電源投入後に位置検出装置100から取得した位置情報と不揮発性記憶装置2001に記憶されている位置情報が一致した場合には不揮発性記憶装置2001に記憶されている全保持メッシュ集合情報及び全保持テーブル管理リストをデータ記憶装置105にコピーを行う。
【0111】
つまり、本実施の形態では、移動体情報端末300は、位置検出装置100により検出された移動体情報端末300の現在位置を示す位置情報と、データ記憶装置105に記憶されている全保持メッシュ集合情報の複製を不揮発性記憶装置2001に記憶させ、更に、データ読込み制御装置101は、移動体情報端末300の電源断後に移動体情報端末300の電源投入がなされた際に、電源投入後に位置検出装置100により検出された移動体情報端末300の現在位置と不揮発性記憶装置2001に記憶されている位置情報に示される位置とを比較し、両者が一致する場合に、不揮発性記憶装置2001に記憶されている全保持メッシュ集合情報の複製に示されている全保持メッシュ集合に基づいて電源投入後の新たな全保持メッシュ集合を判定する。
また、不揮発性記憶装置2001は、先読み処理装置106により読み出された空間情報テーブルを示す全保持テーブル管理リスト(読み出し情報)を記憶し、データ読込み制御装置101は、電源投入後の新たな全保持メッシュ集合に対して全保持テーブル管理リストを不揮発性記憶装置2001から読み出す。
【0112】
また、上記のような全保持メッシュ集合情報及び全保持テーブル管理リストとともに、不揮発性記憶装置2001に記憶する情報として、先読みメッシュ集合情報及び先読みテーブル管理リストも記憶し、位置情報が一致した場合には不揮発性記憶装置2001に記憶されている全保持メッシュ集合情報、全保持テーブル管理リスト、先読みメッシュ集合情報、先読みテーブル管理リストをデータ記憶装置105にコピーを行う。
【0113】
つまり、本実施の形態では、移動体情報端末300は、データ記憶装置105に記憶されている先読みメッシュ集合情報の複製も不揮発性記憶装置2001に記憶させ、データ読込み制御装置101は、移動体情報端末300の電源断後に移動体情報端末300の電源投入がなされた際に、電源投入後に位置検出装置100により検出された移動体情報端末300の現在位置と不揮発性記憶装置2001に記憶されている位置情報に示される位置とを比較し、両者が一致する場合に、不揮発性記憶装置2001に記憶されている先読みメッシュ集合情報の複製に示されている先読みメッシュ集合に基づいて電源投入後の新たな先読みメッシュ集合を判定する。
また、不揮発性記憶装置2001は、先読み処理装置106により読み出された空間情報テーブルを示す先読みテーブル管理リスト(読み出し情報)も記憶し、データ読込み制御装置101は、電源投入後の新たな全保持メッシュ集合に対して先読みテーブル管理リストを不揮発性記憶装置2001から読み出す。
【0114】
また、電源投入後に位置検出装置100から取得した位置情報と不揮発性記憶装置2001に記憶されている位置情報の比較条件を一致条件ではなく、周辺近傍一致条件に変更してもよい。
つまり、位置検出装置100から取得した位置情報の予め定められた範囲内に不揮発性記憶装置2001に記憶されている位置情報が含まれる場合には、不揮発性記憶装置2001に記憶されている全保持メッシュ集合、全保持テーブル管理リスト、先読みメッシュ集合、先読みテーブル管理リストの全て又は一部をデータ記憶装置105にコピーを行う。
【0115】
電源投入後に行う処理は図20の通りに図式化できる。
電源投入後、データ読込み制御装置101は、位置情報検出装置から現在の位置情報を検出(処理2100)し、続いて不揮発性記憶装置から前回の電源断時に保持していた位置情報を取得(処理2101)する。
次に、データ読込み制御装置101は、現在の位置情報と不揮発性記憶装置から取得した位置情報の一致度を判定する(処理2102)。処理2102で用いる具体的な一致判定処理としては、双方の位置情報が同一の値の場合に一致している、それ以外は一致していないと判断する完全一致判定処理を行ってもよいし、双方の位置情報の距離、例えばユークリッド距離がある特定の値α以下である場合は完全一致、αよりも大きくβ以下の場合には部分一致、βよりも大きい場合には完全不一致とする3段階判定処理を用いても、それ以外の方法を用いてもよい。以下では3段階判定処理を一致判定処理とした場合を想定して説明を行う。
処理2102で完全一致と判定された場合、不揮発性記憶装置の全保持メッシュ集合、先読みメッシュ集合、全保持テーブル管理リスト、先読みテーブル管理リストを記憶装置に複製し、その情報をそのまま継続する処理で利用できるようにする(処理2103)。
処理2102で完全不一致と判定された場合、不揮発性記憶装置に記憶されている情報を利用する価値はないと判断し、データ読込み制御装置101は、通常の電源投入時の処理を実施する(処理2104)。
処理2102で部分一致と判定された場合、不揮発性記憶装置に記憶されている一部の情報を継続する処理で起用できるようにするため、データ読込み制御装置101は、以下の処理を行う。
部分一致の場合、処理2100で検出した位置情報を利用して全保持領域、先読み領域を決定(処理2105)し、全保持メッシュ集合、全保持テーブル管理リスト、先読みメッシュ集合、先読みテーブル管理リストを生成する(処理2106、処理2107)。
不揮発性記憶装置に記憶されている全保持テーブル管理リストの要素の内、処理2106で生成した全保持テーブル管理リストにも同一のテーブルの要素があるテーブル情報を処理2106で生成した全保持テーブル管理リストに複製を行う(処理2108)。同様に処理2107で生成した先読みテーブル管理リストに同一のテーブルの要素があるテーブル情報を処理2107で生成した先読みテーブル管理リストに複製を行う(処理2109)。
次に、不揮発性記憶装置に記憶されている先読みテーブル管理リストの要素の内、処理2106で生成した全保持テーブル管理リストにも同一のテーブルの要素があるテーブル情報を処理2106で生成した全保持テーブル管理リストに複製を行う(処理2110)。同様に処理2107で生成した先読みテーブル管理リストに同一のテーブルの要素があるテーブル情報を処理2107で生成した先読みテーブル管理リストに複製を行う(処理2111)。
次に、2106で生成した全保持テーブル管理リストの空要素のテーブルの読込み処理を開始(処理2112)し、同様に2107で生成した先読みテーブル管理リストの空要素のテーブルの読込み処理を開始(処理2113)し、部分一致の際に不揮発性記憶装置に保存されていない、テーブル情報の先読み処理を全て開始させる。
【0116】
なお、処理2102での現在位置と前回電源断時に保持していた位置情報との一致度を測る際に、位置情報ではなく、現在の全保持メッシュ集合と前回電源断時に保持していた全保持メッシュ集合を利用して一致度を測っても構わない。その場合、完全一致は双方が保持するメッシュ要素が過不足する事無く一致する場合であり、完全不一致は双方が保持するメッシュ要素が全て一致する事がない場合であり、部分一致は完全一致でも、完全不一致でもない場合であるとする事が可能である。また同様に全保持メッシュ集合ではなく先読みメッシュ集合、先読みテーブル管理リスト、全保持テーブル管理リストを代わりに使用しても構わない。
この場合、処理2105、2106、2107が処理2102の前に実行される事になり、処理2102で部分一致と判定された場合、次に行う処理は処理2108となる。
【0117】
以上、本実施の形態では、電源投入直後に全保持テーブル管理リストに一切のテーブルが格納されていない事を防ぐための方法として、不揮発性記憶装置を保持した移動体情報端末の場合、全保持メッシュ集合、全保持テーブル管理リストに格納されている全テーブルとその時の位置情報を不揮発性記憶装置にもコピーしておき、電源断後に再度、電源投入された時に、その時の現在位置と不揮発性記憶装置に記憶されている位置情報を比較し、一致する場合には、不揮発性記憶装置に記憶されているコピーを全保持テーブル管理リストに格納し、全保持テーブル管理リストの不完全状態である時間を短縮する。
この時、現在位置から求めた更新全保持メッシュ集合と不揮発性記憶装置に記憶されている全保持メッシュ集合を比較するようにしてもよい。
【0118】
また、上記と同様の方法を先読みメッシュ集合、先読みテーブル管理リストにも適用することも可能である。
同様に、この時、現在位置から求めた更新全保持メッシュ集合、更新先読みメッシュ集合と不揮発性記憶装置に記憶されている全保持メッシュ集合、先読みメッシュ集合を比較する方法を取っても良い。
【0119】
また、上記の二方法に対して、不揮発性記憶装置に記憶されている位置情報と現在位置情報がある一定距離内にある場合には不揮発性記憶装置に記憶されているコピーを全保持テーブルリストもしくは/かつ先読みテーブル管理リストに格納することも可能である。
同様に、この時、現在位置から求めた更新全保持メッシュ集合、更新先読みメッシュ集合と不揮発性記憶装置に記憶されている全保持メッシュ集合、先読みメッシュ集合を比較し、一致したもののみを採用する方法を取っても良い。
【0120】
実施の形態4.
図21は、本実施の形態に係る移動体情報端末300の構成例を示す図である。
図21に示す移動体情報端末300は、図1に示す構成に対して新たにデータ抽出整列装置2101を実装し、データ記憶装置105に記憶される情報の個数が一つ増えている。
また、図34のように、コンテンツデータベースを外部に配置し、通信装置107を設ける場合においてもデータ抽出整列装置2101を実装することが可能である。
【0121】
このデータ抽出整列装置2101は、データ読込み制御装置101が処理を完了し、最新の全保持テーブル管理リストが作成された直後に、データ読込み制御装置101がデータ抽出整列装置2101に対して処理開始命令を行う。
データ抽出整列装置2101は、データ読込み制御装置101により指定された読み込み対象の全保持メッシュ(第一領域未読み出しメッシュ)の各コンテンツデータの地理位置と移動体情報端末の現在位置との間の距離に応じて情報読み出しを行う順序をコンテンツデータ単位で決定する。データ抽出整列装置2101は、情報読み出し順序決定部の例である。
そして、先読み処理装置106は、データ抽出整列装置2101により決定された順序に基づいてコンテンツデータに対する情報読み出しを行う。
【0122】
図22は、データ抽出整列装置2101の動作を表す動作フロー図である。
処理開始命令を受けたデータ抽出整列装置2101は、コンテンツ管理装置103経由でデータ記憶装置105に格納されている全保持テーブル管理リストを取得(処理2301)し、全保持テーブル管理リストから要素を一つ取り出す(処理2302)。
取り出した要素から空間情報テーブルを取得(処理2303)し、その空間情報テーブルから一つ空間情報を取り出す(処理2304)。
そして、データ抽出整列装置2101は、取り出した空間情報の位置情報を利用して、その空間情報が全保持領域内に存在するかをチェックする(処理2305、処理2306)。全保持領域が移動体情報端末300の位置を中心とした円である場合には、単純に移動体情報端末300と空間情報の位置との距離を求め、その値が円の半径以内であるかどうかでチェックが可能である。
チェックの結果、全保持領域内であると判断された場合には、データ抽出整列装置2101は、その空間情報自身と、空間情報と移動体情報端末300との距離を最低限保持する要素として、データ抽出整列装置2101が管理する領域内空間情報リスト(図示せず)に登録(処理2307)し、処理2308へ移行する。なお、空間情報自身と、空間情報と移動体情報端末300との距離以外の要素を領域内空間情報リストに登録してもよい。
この時に、領域内空間情報リストの要素に含まれる空間情報は実体をそのまま代入するのでもよいし、元々所属していた空間情報テーブル内の対応する領域へのポインタ値を代入する方法でも構わない。
【0123】
他方、処理2306において全保持領域内にない場合には、データ抽出整列装置2101は、処理2308へ移行し、現在処理中の空間情報テーブル内に処理されていない空間情報が存在するか判定(処理2308)し、処理されていない空間情報が存在する場合には処理2304へ、存在しない場合には処理2309へ移行する。
処理2309では、現在処理中の空間情報テーブルの全要素の処理が完了したため、未処理の空間情報テーブルがあるかチェック(処理2309)し、存在する場合には、処理2302へ、存在しない場合には処理2310へ移行する。
処理2310では、領域内空間情報リストの全要素を要素に含まれている距離情報を利用して距離順にソートを行い、その結果を領域内空間情報とする(処理2310)。
最後に、領域内空間情報リストをコンテンツ管理装置103経由でデータ記憶装置105に記憶させ(処理2310)、終了する。
【0124】
この処理を追加する事により、全保持領域に含まれている空間情報のみで構成されるリストを作成する事が可能となり、コンテンツ処理装置104側で抽出、整列処理を行う必要がなく、複数のコンテンツ処理装置104からアクセスされる場合には効率的な実装となる。
【0125】
また、本実施の形態では移動体情報端末300と各空間情報との距離でソートを行ったが、距離だけではなく他の測度を利用したソートを行っても良い。
その場合には、処理2307でソートに利用する尺度で求めた値を距離の代わりに登録し、処理2310では距離に代わって登録された情報を利用してソート処理を行う事になる。
また、ソートを全く行わなくても良く、その場合には、処理2307では距離を登録する処理は必要なくなり、処理2310も実施しないでよくなる。
【0126】
このように、本実施の形態では、データ読込み制御装置101で求めた全保持領域に含まれる空間情報を全保持テーブル管理リストに格納されている全テーブルから抽出する全保持空間情報抽出装置を具備する例について説明した。
【0127】
実施の形態5.
ここまでで説明した実施の形態では先読み領域が固定されていたが、本実施の形態では、先読み領域の大きさを変動させる事によって、出来る限り先読み領域を小さく、かつ先読み処理が対応するメッシュが全保持メッシュ集合に含まれる前に全て完了するようにする方法を提供する。
この方法を取る事により、先読みを行うべきメッシュ集合も小さくなり、データ記憶装置105に格納する空間情報テーブルも少なくなるため、記憶装置の格納容量の効率化を向上させる効果がある。
そのために先読み処理の時間に関連するパラメータを利用するため、各先読みテーブル管理リストおよび、全保持テーブル管理リストの要素に経過時間を記録するための時間領域を新たに設定する。
また、本実施の形態では、データ読込み制御装置101、先読み処理装置106又はその他の装置が、時間を計測する機能を持ち、時間計測部としての役割を有するものとする。
時間計測機能が計測する時間としては、例えば、コンテンツデータに対する情報読み出しを行うのに要する時間である先読込み完了時間(読み出し所要時間)や、データ読込み制御装置101により先読み領域と判定された領域が先読み領域と判定されてから全保持領域と判定されるまでの時間である先読み余裕時間(領域移行所要時間)がある。
【0128】
図24は、本実施の形態における先読み完了時の動作フローである。
先読み処理装置106は、一つの空間情報テーブルの先読み処理が完了した場合、空間情報テーブル等と共に先読込み完了時間をデータ読込み制御装置101に返す(処理2501)。
データ読込み制御装置101は、受け取った空間情報テーブル等と先読込み完了時間をデータ記憶装置105に格納する要求をコンテンツ管理装置103に行う(処理2502)。コンテンツ管理装置103は、従来の方法で格納するべきテーブル管理リストとその要素を選択し、空間情報テーブル等と共に先読込み完了時間を格納する。
最後にデータ読込み制御装置101は、読込み時間から先読み領域の半径を更新する(処理2503)。
そして、次回の先読み領域の決定処理においては、更新後の半径に基づいて先読み領域を決定する。
【0129】
本実施の形態で用いる方式は、空間情報テーブルの先読み処理開始から終了までに掛かった時間を利用し、その時間が長くなれば、先読み領域を大きくし、その時間が短くなれば、先読み領域を小さくする方式である。
図23は、先読み領域を円とし、その大きさを半径で表現した場合の先読み処理時間と先読み領域の加算サイズの関係を示したグラフの一例である。
先読み領域の半径は全保持領域に対して、このグラフより求められる加算サイズを足した値とする。このグラフは、線形の1次式であるが、定数、非線形や対数関数でも構わない。
先読み処理時間が0秒であっても、予備領域を持たせるために、ある一定の半径を持つ様に先読み領域を設定し、先読み処理時間と先読み半径の間に正の比例関係を持っている。このグラフの式に先読みが完了した際にその先読み時間をパラメータとして与える事で先読み領域の大きさを更新する事が出来る。
【0130】
また他の方法として、現在先読み処理が完了しているテーブル全ての先読み完了時間に重み付けを行い、その合計値を先読み完了したメッシュ数で割った値を利用してもよい。この場合には、先読み完了している全てのメッシュの先読み時間を考慮できるため、より周辺の状況を反映しやすいパラメータとなる。この時の重み付けも、移動体情報端末300の進行方向に近いメッシュほど重みを大きく、遠くなるにつれて小さくする様に設定する事によってもより周辺状況を反映しやすいパラメータとなる。
【0131】
また、先読み領域の半径をどの方向に対しても同じ値で更新する必要はなく、例えば、移動体情報端末300を交点とする分割線を引き分割された領域に含まれる先読み完了したメッシュの先読み完了時間を利用し、その領域に関する半径を決定する方法も可能である。
【0132】
図25は、分割領域単位での半径の更新方法を図示したものである。
図25(a)は、半径の更新前の状態で、移動体情報端末300を中心に領域を縦、横に分割線を引き4つの領域に分割した例である。この時、左上と、右下の領域で先読み処理が完了したメッシュの先読み完了時間を利用したパラメータは平均的で、左下の領域で先読み処理が完了したメッシュの先読み完了時間を利用したパラメータは平均よりも大きく、右上は平均よりも小さいとする。
その場合には、図25(b)のように次回利用する先読み領域を左下の方向に半径を大きく、右上は半径が短くなるように先読み領域を更新する。
また、半径を変更するのではなく、先読み完了時間から求めたパラメータの値が大きい領域に先読み領域の中心点を移動させる事で、先読み領域の調整を行う方法も可能である。この方法において重要となるメッシュの位置関係を判定する方法であるが、今回の実施の形態で挙げたメッシュ識別情報であれば、比較する二つのメッシュの識別情報において、各項の大小関係で位置関係を識別可能である。
【0133】
また、上記の方法の他に、先読み完了時間ではなく、先読み処理が完了してから、その空間情報テーブルを保持する先読みテーブル管理リストの要素が、全保持テーブル管理リストの要素になるまでの時間である先読み余裕時間を利用することも可能である。
つまり、先読みが完了してから、本当に必須の空間情報テーブルとなるまでの時間であり、その先読み処理がどの程度余裕を持って処理を完了できたかを示す値を利用する事となる。
【0134】
基本的なアルゴリズムは、上記の先読込み完了時間を利用する方式と同じであり、パラメータとして利用するものが先読み完了時間から先読み余裕時間に変更になったものと考えてよい。
ただし、先読み完了時間をパラメータとして利用した場合には、そのパラメータ値と先読み領域の半径や重心の移動量は比例していたが、先読み余裕時間をパラメータで利用するこの方法では、先読み余裕時間が大きければ、それだけ無駄にデータ記憶装置105の記憶領域を長い間使用することになるため、先読み領域を小さくする方向に更新する事が処理の効率化に繋がるため、比例関係にはなく、負の相関や反比例の関係が正しくなる。
【0135】
このように、本実施の形態では、テーブルの先読み開始から完了までに掛かる時間の実測値の変動によって先読み領域を変更する移動体情報端末について説明した。
具体的には、ある位置を中心として特定方向に存在するメッシュに対応するテーブルの先読み開始から完了までの処理時間の実測値の変動によって、先読み領域を調整することを説明した。
【0136】
また、本実施の形態では、先読み完了から全保持テーブル管理リストに登録されるまでの平均時間の変動に応じて、先読み領域のサイズを変更する様に先読み領域決定装置を制御する移動体情報端末について説明した。
【0137】
また、先読み領域の変更方法として、半径を一律に変更、パラメータの値とそのパラメータを求めたメッシュと移動体情報端末等の基準地点からの方向を考慮して方向毎に半径の変動量を変更する方法、先読み領域の重心となる点を基準にする方法等がある。
【0138】
実施の形態6.
本実施の形態では、先読み処理が完了する前に、対応するメッシュが全保持領域に掛かってしまった場合、つまり先読み処理が期待通りに先読みできなかった場合の対処に関して記述している。
【0139】
例えば、先読み完了していない空間情報テーブルに対応する要素を先読みテーブル管理リストから全保持テーブル管理リストへ移動させる際に、現時点で行われている先読み処理のうち、上記先読み未完了の空間情報テーブルに対応する先読み処理以外の全ての先読み処理を一旦停止する。
他の先読み処理を停止させる事により、コンテンツデータベース102と先読み処理装置106の間のデータ転送路を未完了空間情報テーブルのためだけに利用し、転送速度の向上を実現する。
【0140】
つまり、先読みメッシュ集合に含まれるメッシュであってコンテンツデータに対する情報読み出しが完了していないメッシュがデータ読込み制御装置101の判定により先読みメッシュから全保持メッシュに移行した場合に、先読み処理装置106は、全保持メッシュと判定された当該メッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して優先読み出しコンテンツデータに対する情報読み出しを行う。
【0141】
上記処理は、処理1305を図26の通りに変更する事で対応可能となる。
データ読込み制御装置101は、xに対応する要素を先読みテーブル管理リストから取得する(処理2701)。次に、データ読込み制御装置101は、取得した要素の空間情報テーブルは先読み完了しているかチェック(処理2702、処理2703)し、完了している場合には従来通りに要素を全保持テーブル管理リストに移動(処理2704)し、完了していない場合にはデータ読込み制御装置101は先読み処理装置106に要素に対応している空間情報テーブル以外の先読み処理の一時停止要求を行う(処理2705)。
一時停止要求を受けた先読み処理装置106は、指定された空間情報テーブル以外の先読み処理を一旦停止する。
【0142】
また、上記の処理において一時停止されている先読み処理を再開させる手段について説明する。
再開させるタイミングとしては、唯一の先読み処理を行っている空間情報テーブルの先読み処理が完了した時点で一時停止状態の先読み処理を再開させてもよいし、一時停止されている先読み処理に対応する空間情報テーブルを持つメッシュが全保持領域に掛かった場合には、そのメッシュに対応する先読み処理のみを再開させるようにしてもよい。
後者の場合は、再開を行う前に行われている先読み処理は、全保持領域に含まれているメッシュだが対応する空間情報テーブルの先読み処理が完了していないテーブルの処理であるため、処理は中断させなくてもよい。
【0143】
また、先読み処理が完了しないうちに全保持テーブル管理リストの要素となった要素が、今度は全保持テーブル管理リストから、先読みテーブル管理リストに移動になった場合は、他の先読み処理を再開させる。
全保持テーブル管理リストから先読みテーブル管理リストに移動するという事は優先的に先読み処理を行う必要性がなくなった事を意味するため、他の先読み処理を再開させる。
つまり、先読み処理装置106は、優先読み出しコンテンツデータに対する情報読み出し中に優先読み出しコンテンツデータのメッシュがデータ読込み制御装置101の判定により全保持メッシュから先読みメッシュに移行した場合に、優先読み出しコンテンツデータに対する情報読み出しを終了する。
【0144】
また、先読みに失敗するのは先読み領域の設定方法に問題があるとして、先読み領域に変更を行うようにしてもよい。
例えば、データ読込み制御装置101、先読み処理装置106又はその他の装置が、実施の形態5に示した時間計測機能を有し、時間計測機能により、優先読み出しコンテンツデータのメッシュが全保持メッシュと判定されてから先読みメッシュと判定されるまでの時間(領域移行所要時間)を計測し、データ読込み制御装置101は、計測された時間に基づき、先読み領域の範囲を変更することが考えられる。
【0145】
この場合に、基本的な変更方法に関しては、実施の形態5に記載の方法を利用可能であり、先読み領域に変更を及ぼす処理の開始タイミングは、先読み未完了の要素を先読みテーブル管理リストから全保持テーブル管理リストに移動させるタイミングとなる。
この場合の先読み領域の変更方法に関しては、先読み未完了の要素を全保持テーブル管理リストに移動させる事がわかった時点から、全保持テーブル管理リストの先読み未完了の要素全てが先読み処理を完了したか、先読みテーブル管理リストに移動するまでの期間、加算サイズに一定量加算する方法でもよい。
これらの方法では、全保持テーブル管理リストの複数の要素が先読み処理未完了となる事や、優先的に先読み処理をしている途中で、新たなメッシュが先読み領域にかかったため、新たな先読み要求が来た場合に対処するため、先読み処理装置106は現在処理中の先読み処理のうち、どの処理を優先的に行うべき処理かを判別する情報も管理し、複数の優先的な先読み処理の実施や、その途中に新たな先読み処理要求が来た場合、その要求に対する先読み処理を最初から一時停止状態とする事を実現する。
【0146】
また、以下では、並行して複数の先読み処理を実現できない場合に、先読みが完了していない複数の要素が全保持テーブル管理リストにある場合の処理について説明する。
このような状況では、先読みが完了していないメッシュと移動体情報端末300との最短距離を計測し、移動体情報端末300と近い順に先読み処理を行う。
この時、移動体情報端末300がそのメッシュに含まれている場合には距離は0とする。
この時、一定間隔で移動体情報端末300と複数の先読み未完了のメッシュとの距離を算出し、最短のメッシュが変化した場合には、今まで行っていた先読み処理を中断し、最短となったメッシュの空間情報テーブルの先読み処理を開始させる処理を行い、常に一番近いメッシュを優先的に先読み処理を行えるようにしてもよい。
また、移動体情報端末300の現在位置と各メッシュの最短距離の他に、例えば、各メッシュの左下の隅や中心点に対応する地理位置と移動体情報端末300との距離を求めるようにしてもよい。
【0147】
このように、先読み処理装置106は、優先読み出しコンテンツデータが複数存在する場合に、各々の優先読み出しコンテンツデータのメッシュの対応地理位置と移動情報処理装置の現在位置との間の距離に応じて複数の優先読み出しコンテンツデータ間の優先順位を決定し、決定した優先順位に基づいて各々の優先読み出しコンテンツデータに対する情報読み出しを行う。
【0148】
以上、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブル以外の実施中の先読み処理を中断し、該当するテーブルの先読み完了を早める制御を行う移動体情報端末について説明した。
【0149】
また、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブルの先読みが完了したら中断されている先読み処理を再開する移動体情報端末について説明した。
【0150】
また、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブルに対応する要素が全保持テーブル管理リストから先読みテーブル管理リストに移動した場合、全て、または一部の中断されている先読み処理を再開する移動体情報端末について説明した。
【0151】
また、本実施の形態では、先読みテーブル管理リストから全保持テーブル管理リストにテーブルを移動させようとした時に先読みテーブル管理リストに該当するテーブルがない場合に、なかったテーブルの先読みが中断されている場合、そのテーブルの先読みを再開させる制御を行う移動体情報端末について説明した。
【0152】
また、本実施の形態では、先読みが完了していない複数の要素が全保持テーブル管理リストにある場合、移動体情報端末との距離の近い順に先読み処理を行う制御を行う移動体情報端末について説明した。
【0153】
また、本実施の形態では、先読み領域のサイズをこれまでより大きくなるように先読み領域を制御する移動体情報端末について説明した。
【0154】
実施の形態7.
実施の形態6に示した方法では、優先的に先読み処理を開始するタイミングを「先読みテーブル管理リストから先読み未完了の要素を全保持テーブル管理リストへ移動する時」としていた。
つまり、実施の形態6に示した方法は先読み処理が失敗した時の対処法であり、先読み処理が失敗する事を防止する処理ではない。
そこで、本実施の形態では、先読み処理が失敗する事を防止する目的の処理に関して説明を行う。
【0155】
本実施の形態では、例えば、データ読込み制御装置101が、先読み処理装置106による情報読み出しが完了していない先読みメッシュの各々に対して、各メッシュの対応地理位置と移動体情報端末の現在位置との間の距離を算出し、移動体情報端末の現在位置との間の距離が閾値以下であるメッシュを優先読み出しメッシュとして指定し、先読み処理装置106が、データ読込み制御装置101により指定された優先読み出しメッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して優先読み出しコンテンツデータに対する情報読み出しを行うことが考えられる。
【0156】
また、本実施の形態では、データ読込み制御装置101は、優先読出しメッシュの地理的位置と移動体情報端末300の現在位置との間の距離が閾値を上回った場合に、当該優先読出しメッシュの指定を解除し、先読み処理装置106は、優先読出しコンテンツデータの読出し中に優先読み出しメッシュの指定が解除された場合に、優先読み出しコンテンツデータに対する情報読み出しを終了することが考えられる。
【0157】
また、本実施の形態では、優先読み出しコンテンツデータの優先読み出しのために情報読み出しが中断されたコンテンツデータが存在する場合に、先読み処理装置106が、優先読み出しコンテンツデータに対する情報読み出しが終了した際に、当該中断されたコンテンツデータに対する情報読み出しを再開することが考えられる。
【0158】
また、本実施の形態では、データ読込み制御装置101、先読み処理装置106又はその他の装置が、実施の形態5で説明した時間計測の機能を持ち、優先読み出しコンテンツデータに対する情報読み出しを行うのに要する時間を先読み完了時間(読み出し所要時間)として計測し、データ読込み制御装置101が、先読み処理装置106により計測された先読み完了時間に基づき、先読み領域の範囲を変更することが考えられる。
【0159】
また、時間計測機能が、優先読み出しメッシュとの指定がなされてから当該優先読み出しメッシュの指定が解除されるまでの時間(領域移行所要時間)を計測し、データ読込み制御装置101が、先読み処理装置106により計測された時間に基づき、先読み領域の範囲を変更することも考えられる。
【0160】
本実施の形態に係る移動体情報端末300の処理の内容としては、実施の形態6に示したものと同様であるが、処理を行うタイミングが異なり、ある特定の位置から先読み処理中の空間情報テーブルを持つメッシュとのある尺度に基づいて算出される距離がある閾値以下となった場合としている点で異なる。
つまり、データ読込み制御装置101が定期的に位置検出装置100から位置情報を取得し、先読みテーブル管理リストおよび全保持テーブル管理リストを更新する処理を実施後、読み込み中となっている先読みテーブル管理リストの空間情報テーブルに対応するメッシュに対して、距離を算出し、閾値以下となっているかどうかをチェックする処理が追加される。
上記の尺度に関する具体的な例としては、移動体情報端末300とメッシュとのユークリッド距離に基づいて算出される最短距離が全保持領域の半径+α(α>0)以下となった場合等が考えられる。
また、算出した距離が閾値を越える場合は、全て、または一部の中断されている先読み処理を再開する。
【0161】
このように、本実施の形態では、先読みに失敗しそうな先読み対象テーブルがあった場合に対処する機能を説明しており、先読みテーブル管理リストで先読みが完了していないテーブルを対象に、ある位置(例えば、移動体情報処理装置の現在位置)とそのテーブルに対応するメッシュとのある尺度に基づく距離(例えば、ある位置とメッシュとの最短距離)が、ある距離以下となった場合に、該当するテーブル以外の実施中の先読み処理を中断し、該当するテーブルの先読み処理完了を早める移動体情報端末について説明した。
【0162】
また、本実施の形態では、該当するテーブルの先読みが完了したら中断されている先読み処理を再開する移動体情報端末について説明している。
【0163】
また、本実施の形態では、該当するテーブルに対応する要素のメッシュがある距離以上となった場合、全て、または一部の中断されている先読み処理を再開する移動体情報端末について説明している。
【0164】
また、本実施の形態では、複数のテーブルが該当する場合、最短距離のテーブルのみ先読み処理を継続する移動体情報端末について説明している。
【0165】
また、本実施の形態では、該当するテーブルが複数ある場合、移動体情報端末との距離の近い順に先読み処理を行う制御を行う移動体情報端末について説明している。
【0166】
また、本実施の形態では、該当するテーブルがある場合には先読み領域のサイズをこれまでより大きくなるように先読み領域決定装置を制御する移動体情報端末について説明している。
【0167】
実施の形態8.
実施の形態6及び7に記載の方法は、先読み処理時間に関連するパラメータを利用して、先読み領域の大きさを決定する方法であった。
一方、本実施の形態では、先読み処理が完了した空間情報テーブルをパラメータとして利用して先読み領域の大きさを決定する方法について説明する。
この方法は先読み処理時間よりも、移動体情報端末300周辺の空間情報数を正確に求める事が出来る利点がある。
【0168】
多くの場合、近傍の空間情報テーブルが保持する空間情報数は極端な開きが出来る事は少なく、多くの場合、都市部周辺に近づくにつれ、一つの空間情報テーブルが保持する空間情報数は増加する傾向にあり、逆に離れるにつれ、減少する傾向にある。
つまり、先読み完了した空間情報テーブルが保持する空間情報数の分布から、どの方向に進むとより多くの空間情報を持つ空間情報テーブルを取得する必要があるのかが推測可能である。
【0169】
図28は、空間情報の分布状況を利用した先読み領域の更新例を模式図で表した図である。
図28(a)の各メッシュにある縦棒はそのメッシュが保持している空間情報数を表しており、縦棒が縦に長いほど空間情報を多く保持している事を表している。
移動体情報端末300を中心に内側の円が全保持領域、外側の円が先読み領域である。
白色のメッシュ(メッシュ(1.1)、(1.2)、(2.1)、(2.2))は全保持メッシュ集合の要素であり、灰色のメッシュ(メッシュ(1.3)、(2.3)、(3.1)、(3.2))は先読みメッシュ集合の要素である。
また、矢印は移動体情報端末300の進行方向を示している。
また、左端のメッシュが基準メッシュであり、そのメッシュ識別情報は(1,1)であり、右下に向かう毎にメッシュ識別情報の第1項が増加し、右上に向かう毎にメッシュ識別情報の第2項が増加する。
この時、メッシュ識別情報の第1項を固定し、第2項を変数とする(1、*)および(2、*)は各空間情報テーブルの空間情報数の変化を見ると増加傾向にある事が分かる。
また、メッシュ識別情報第2項を固定し、第1項を変数し、かつ先読み処理が完了したメッシュが要素となる集合(*、1)、(*、2)は各空間情報テーブルの空間情報数の変化は殆どないが、(*、3)に関しては増加傾向にある事が分かる。
よって、この場合にはメッシュ識別情報第2項が増加する方向は今後より多くの空間情報を保持する空間情報テーブルが存在する可能性がある。よって、その方向に先読み領域を大きくする制御を行い、例えば、図28(b)の様な先読み領域に更新する。
【0170】
このように、本実施の形態では、データ読込み制御装置101は、先読み処理装置106によりコンテンツデータに対する情報読み出しが完了したメッシュ(読み出し済メッシュ)の各々に対して、それぞれのメッシュの対応地理位置とそれぞれメッシュのコンテンツデータ数とを判定し、判定結果に基づき、先読み領域の範囲を変更する。
つまり、本実施の形態では、データ読込み制御装置101は、メッシュ間のコンテンツデータ数の変動傾向と対応地理位置との相関を解析し、解析したコンテンツデータ数の変動傾向と地理的位置との相関と、移動体情報端末300の移動方向とに基づき、先読み領域の範囲を変更する。
【0171】
次に、図28を用いて説明した本実施の形態に係る移動体情報端末300の処理を具体的に表現すると、メッシュ(i,j)の空間情報数をN(i,j)と表記する場合、(k,*)の空間情報テーブルの空間情報数変動量Z(k,*)を例えば、以下のように定義する。
【0172】
【数7】
【0173】
ここで、mhは集合(k,*)に属して、かつ先読み処理が完了しているメッシュの第二項の識別番号であり、その個数をgとしている。この方法であれば、メッシュ識別情報の第二項が増加する方向に対し、空間情報数が増加傾向であれば正の値、減少傾向の場合には負の値をとる事になる。
同様に(*,k)の空間情報テーブルの空間情報数変動量Z(*,k)も、以下のように定義できる。
【0174】
【数8】
【0175】
以上のZ(k,*)およびZ(*,k)の値をパラメータとして先読み領域の大きさを更新する事が可能となる。
【0176】
より、詳細な変動をパラメータとしたい場合には、次に示す方法を利用しても良い。
移動体情報端末300が属するメッシュの識別情報を(a,b)とした時に、メッシュ識別情報第2項を変数とした集合(k,*)の空間情報数の変動を図る尺度として、以下の二つを定義する。
【0177】
【数9】
【0178】
これらは、移動体情報端末300が属するメッシュを基点として第二項が増加する方向に対して、空間情報数が増加傾向にあるか判別するための尺度Zyplus(k,*)と、第二項が減少する方向に対して空間情報が増加傾向にあるか判別するための尺度Zyminus(k,*)となっている。
前述のZ(k,*)が一方向に対する増加傾向のみを見ているため、例えば移動体情報端末300が属するメッシュの空間情報数がちょうど極小値の場合には、その事を判別できなかったが、Zyplus(k,*)およびZyminus(k,*)を利用する事によって判別可能となる。
同様に(*,k)に対しても、以下の二つの尺度を定義できる。
【0179】
【数10】
【0180】
尺度としては、上記の方法以外にも先読み完了したメッシュの隣接する8個のメッシュで先読み完了したメッシュとの空間情報数の比較を行い、そのメッシュに対する8方向の空間情報の変動状況を把握する方法を利用しても良いし、メッシュが保持する空間情報数を利用する方法であれば何でも良い。
【0181】
このように、本実施の形態では、現在取得できているテーブルの位置関係とそのテーブルに含まれる空間情報の個数によって先読み領域を変更する例について説明をした。
【0182】
本実施の形態では、具体的には、現在取得完了しているテーブルの位置関係と空間情報数の変動に応じてベクトル方向の先読み領域を変更する移動体情報端末について説明した。
【0183】
また、本実施の形態では、移動体情報端末の移動するベクトルと空間情報数が変動しているあるベクトル方向の類似度に応じて先読み領域の変動幅を変更する移動体情報端末について説明した。
【0184】
なお、最後に、実施の形態1〜8に示した移動体情報端末300のハードウェア構成例について説明する。
図42は、本実施の形態1〜8に示す移動体情報端末300のハードウェア資源の一例を示す図である。なお、図2の構成は、あくまでも移動体情報端末300のハードウェア構成の一例を示すものであり、移動体情報端末300のハードウェア構成は図2に記載の構成に限らず、他の構成であってもよい。
図2において、移動体情報端末300は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、マウス903、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続可能としてもよい。また、磁気ディスク装置920の代わりに、フラッシュメモリ、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0185】
通信ボード915は、例えば、無線ネットワークに接続される。例えば、通信ボード915は、無線ネットワークの他、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続可能なように構成されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0186】
上記プログラム群923には、本実施の形態1〜8の説明において「〜部」、「〜装置」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1〜8の説明において、「〜の判定」、「〜の計算」、「〜の比較」、「〜の決定」、「〜の更新」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜8で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0187】
また、本実施の形態1〜8の説明において「〜部」、「〜装置」として説明しているものは、「〜回路」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜装置」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態1〜8の「〜部」、「〜装置」としてコンピュータを機能させるものである。あるいは、本実施の形態1〜8の「〜部」、「〜装置」の手順や方法をコンピュータに実行させるものである。
【0188】
このように、本実施の形態1〜8に示す移動体情報端末300は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜装置」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【0189】
【図1】実施の形態1に係る移動体情報端末の構成例を示す図。
【図2】メッシュ分割管理の例を示す図。
【図3】実施の形態1〜8に係る移動体情報端末のアプリケーション例を示す図。
【図4】実施の形態1〜8に係る移動体情報端末のアプリケーション画面例を示す図。
【図5】実施の形態1〜8に係る管理テーブルの構成例を示す図。
【図6】実施の形態1〜8に係る管理テーブルの構成例を示す図。
【図7】実施の形態1〜8に係る管理テーブルの構成例を示す図。
【図8】実施の形態1に係る移動体情報端末の起動直後の動作例を示すフローチャート図。
【図9】実施の形態1〜8に係る全保持メッシュ集合及び先読みメッシュ集合の例を示す図。
【図10】実施の形態1に係る移動体情報端末の初回動作時以降の動作例を示すフローチャート図。
【図11】実施の形態1〜8に係る更新全保持メッシュ集合及び更新先読みメッシュ集合の例を示す図。
【図12】実施の形態1に係る移動体情報端末の先読みテーブル管理リスト更新処理例を示すフローチャート図。
【図13】実施の形態1〜8に係る空間情報テーブル管理リストの例を示す図。
【図14】メッシュ構造による円領域の表現方法の例を示す図。
【図15】実施の形態1に係る移動体情報端末の起動直後の動作例を示すフローチャート図。
【図16】実施の形態1に係る移動体情報端末の先読み処理装置の動作例を示すフローチャート図。
【図17】実施の形態1に係る移動体情報端末のコンテンツ管理装置の動作例を示すフローチャート図。
【図18】実施の形態1に係る移動体情報端末の全保持テーブル管理リスト更新処理例を示すフローチャート図。
【図19】実施の形態3に係る移動体情報端末の構成例を示す図。
【図20】実施の形態3に係る移動体情報端末の電源投入時の動作例を示すフローチャート図。
【図21】実施の形態4に係る移動体情報端末の構成例を示す図。
【図22】実施の形態4に係る移動体情報端末のデータ抽出整列装置の動作例を示すフローチャート図。
【図23】先読み処理時間と先読み半径の関係の一例を示す図。
【図24】実施の形態5に係る移動体情報端末の先読み完了時の動作例を示すフローチャート図。
【図25】実施の形態5に係る分割領域単位での先読み領域の半径の更新方法を説明する図。
【図26】実施の形態6に係る移動体情報端末の動作例を示すフローチャート図。
【図27】実施の形態2に係る移動体情報端末の先読み処理装置の動作例を示すフローチャート図。
【図28】実施の形態8に係る空間情報数の分布を利用した先読み領域の更新例を示す図。
【図29】実施の形態2に係る移動体の移動方向ベクトルと全保持領域と先読み領域とを示す図。
【図30】実施の形態2に係る基点の例を示す図。
【図31】実施の形態2に係る移動体情報端末の移動方向ベクトルによる先読み順序更新処理フローを示すフローチャート図。
【図32】実施の形態2に係る先読み順序更新が起こる例と起こらない例を示す図。
【図33】位置情報とメッシュとの関係を示す図。
【図34】実施の形態1に係る移動体情報端末の構成例を示す図。
【図35】移動体の所在位置とメッシュとの関係を示す図。
【図36】移動体の所在位置とメッシュと全保持領域の関係を示す図。
【図37】従来技術のコンテンツリストの例を示す図。
【図38】実施の形態1〜8に係る全保持メッシュ集合情報の例を示す図。
【図39】実施の形態1〜8に係る全保持テーブル管理リストの例を示す図。
【図40】実施の形態1〜8に係る全保持メッシュ集合と全保持テーブル管理リストとのリンク関係の例を示す図。
【図41】移動体の移動時のデータ切り替えの例を示す図。
【図42】実施の形態1〜8に係る移動体情報端末のハードウェア構成例を示す図。
【符号の説明】
【0190】
100 位置検出装置、101 データ読込み制御装置、102 コンテンツデータベース、103 コンテンツ管理装置、104 コンテンツ処理装置、105 データ記憶装置、106 先読み処理装置、107 通信装置、300 移動体情報端末、301 移動体、2001 不揮発性記憶装置、2010 データ抽出整列装置。
【特許請求の範囲】
【請求項1】
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから、コンテンツデータに対する情報読み出しを行う移動情報処理装置であって、
移動情報処理装置の現在位置を任意の間隔で検出する位置検出部と、
前記位置検出部により移動情報処理装置の現在位置が検出される度に、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定部と、
前記領域メッシュ判定部により第一領域メッシュ及び第二領域メッシュが判定される度に、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定部と、
前記未読み出しメッシュ指定部により指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定部により指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出し部とを有することを特徴とする移動情報処理装置。
【請求項2】
前記移動情報処理装置は、更に、
前記領域メッシュ判定部により第一領域メッシュとして判定された各メッシュ及び第二領域メッシュとして判定された各メッシュを示す領域メッシュ情報を記憶する領域メッシュ情報記憶部と、
前記情報読み出し部により情報読み出しが行われた各コンテンツデータが第一領域未読み出しメッシュ及び第二領域未読み出しメッシュのいずれに属するのかを示すコンテンツデータ管理情報を記憶するコンテンツデータ管理情報記憶部とを有し、
前記未読み出しメッシュ指定部は、
前記領域メッシュ判定部により第一領域メッシュ及び第二領域メッシュが判定される度に、新たな第一領域メッシュ及び新たな第二領域メッシュと、前記領域メッシュ情報に示される以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、比較の結果に基づき前記コンテンツデータ管理情報を更新することを特徴とする請求項1に記載の移動情報処理装置。
【請求項3】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しとして、少なくともコンテンツデータの読み出し及びコンテンツデータの格納領域を示すポインタ情報の読み出しのいずれかを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項4】
前記移動情報処理装置は、
前記コンテンツデータベースを内部に備えることを特徴とする請求項1に記載の移動情報処理装置。
【請求項5】
前記移動情報処理装置は、更に、
外部に所在する前記コンテンツデータベースと通信を行う通信部を有し、
前記情報読み出し部は、
前記通信部を通じて前記コンテンツデータベースからコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項6】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、読み出し対象の各メッシュの対応地理位置と移動情報処理装置の現在位置との間の距離に応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項7】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、移動情報処理装置の移動方向ベクトルと、所定の基点から読み出し対象の各メッシュに対するベクトルとに応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項8】
前記情報読み出し部は、
移動情報処理装置の現在位置を前記基点として用いることを特徴とする請求項7に記載の移動情報処理装置。
【請求項9】
前記情報読み出し部は、
前記第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う際に、前記第一領域メッシュに含まれるメッシュのうち移動情報処理装置の移動方向とは逆方向であって移動情報処理装置の現在位置から最も遠いメッシュの中心点を前記基点として用いることを特徴とする請求項7に記載の移動情報処理装置。
【請求項10】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、移動情報処理装置の移動方向ベクトルの向きが所定量変化した場合に、情報読み出しを行う順序を再度決定することを特徴とする請求項6又は7に記載の移動情報処理装置。
【請求項11】
前記コンテンツデータベースは、一つのメッシュに対して複数のコンテンツデータを記憶している場合があり、
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、情報読み出しを行う順序をメッシュ単位で決定し、決定した順序に基づいてメッシュ単位でコンテンツデータに対する情報読み出しを行うことを特徴とする請求項6又は7に記載の移動情報処理装置。
【請求項12】
前記移動情報処理装置は、更に、
前記位置検出部により検出された移動情報処理装置の現在位置を示す位置情報と、前記領域メッシュ情報記憶部に記憶されている領域メッシュ情報の複製とを記憶する不揮発性記憶装置を有し、
前記領域メッシュ判定部は、
移動情報処理装置の電源断後に移動情報処理装置の電源投入がなされた際に、電源投入後に前記位置検出部により検出された移動情報処理装置の現在位置と前記不揮発性記憶装置に記憶されている位置情報に示される位置とを比較し、両者が所定の範囲内で一致する場合に、前記不揮発性記憶装置に記憶されている領域メッシュ情報の複製に示されている第一領域メッシュに基づいて新たな第一領域メッシュを判定することを特徴とする請求項2に記載の移動情報処理装置。
【請求項13】
前記領域メッシュ判定部は、
移動情報処理装置の電源断後に移動情報処理装置の電源投入がなされた際に、電源投入後に前記位置検出部により検出された移動情報処理装置の現在位置と前記不揮発性記憶装置に記憶されている位置情報に示される位置とを比較し、両者が所定の範囲内で一致する場合に、前記不揮発性記憶装置に記憶されている領域メッシュ情報の複製に示されている第二領域メッシュに基づいて新たな第二領域メッシュを判定することを特徴とする請求項12に記載の移動情報処理装置。
【請求項14】
前記不揮発性記憶装置は、
前記情報読み出し部により読み出された読み出し情報とを記憶し、
前記情報読み出し部は、
前記未読み出しメッシュ指定部により判定された新たな第一領域メッシュに属するコンテンツデータについての読み出し情報を前記不揮発性記憶装置から読み出すことを特徴とする請求項12に記載の移動情報処理装置。
【請求項15】
前記不揮発性記憶装置は、
前記情報読み出し部により読み出された読み出し情報とを記憶し、
前記情報読み出し部は、
前記未読み出しメッシュ指定部により判定された新たな第二領域メッシュに属するコンテンツデータについての読み出し情報を前記不揮発性記憶装置から読み出すことを特徴とする請求項13に記載の移動情報処理装置。
【請求項16】
前記コンテンツデータベースは、一つのメッシュに対して複数のコンテンツデータを記憶している場合があり、各コンテンツデータには、関連する地理位置が設定されており、
前記移動情報処理装置は、更に、
前記未読み出しメッシュ指定部により指定された第一領域未読み出しメッシュの各コンテンツデータの地理位置と移動情報処理装置の現在位置との間の距離に応じて情報読み出しを行う順序をコンテンツデータ単位で決定する情報読み出し順序決定部を有し、
前記情報読み出し部は、
前記情報読み出し順序決定部により決定された順序に基づいてコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項17】
前記移動情報処理装置は、更に、
前記情報読み出し部がコンテンツデータに対する情報読み出しを行うのに要する時間を読み出し所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された読み出し所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項1に記載の移動情報処理装置。
【請求項18】
前記移動情報処理装置は、更に、
前記領域メッシュ判定部により第二領域と判定された領域が第二領域と判定されてから第一領域と判定されるまでの時間を領域移行所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された領域移行所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項1に記載の移動情報処理装置。
【請求項19】
前記情報読み出し部は、
第二領域未読み出しメッシュのコンテンツデータに対する情報読み出し中に第二領域未読み出しメッシュに含まれるメッシュであってコンテンツデータに対する情報読み出しが完了していないメッシュが前記領域メッシュ判定部の判定により第二領域メッシュから第一領域メッシュに移行した場合に、前記領域メッシュ判定部により第一領域メッシュと判定された当該メッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して前記優先読み出しコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項20】
前記領域メッシュ判定部は、
前記情報読み出し部によるコンテンツデータに対する情報読み出しが完了していない第二領域未読み出しメッシュの各々に対して、各メッシュの対応地理位置と移動情報処理装置の現在位置との間の距離を算出し、移動情報処理装置の現在位置との間の距離が閾値以下であるメッシュを優先読み出しメッシュとして指定し、
前記情報読み出し部は、
前記領域メッシュ判定部により指定された優先読み出しメッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して前記優先読み出しコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項21】
前記情報読み出し部は、
優先読み出しコンテンツデータが複数存在する場合に、各々の優先読み出しコンテンツデータのメッシュの対応地理位置と移動情報処理装置の現在位置との間の距離に応じて複数の優先読み出しコンテンツデータ間の優先順位を決定し、決定した優先順位に基づいて各々の優先読み出しコンテンツデータに対する情報読み出しを行うことを特徴とする請求項19又は20に記載の移動情報処理装置。
【請求項22】
前記情報読み出し部は、
優先読み出しコンテンツデータに対する情報読み出し中に前記優先読み出しコンテンツデータのメッシュが前記領域メッシュ判定部の判定により第一領域メッシュから第二領域メッシュに移行した場合に、前記優先読み出しコンテンツデータに対する情報読み出しを終了することを特徴とする請求項19に記載の移動情報処理装置。
【請求項23】
前記領域メッシュ判定部は、
前記優先読み出しメッシュの地理的位置と移動情報処理装置の現在位置との間の距離が前記閾値を上回った場合に、当該優先読み出しメッシュの指定を解除し、
前記情報読み出し部は、
優先読み出しコンテンツデータの読み出し中に前記領域メッシュ判定部により優先読み出しメッシュの指定が解除された場合に、前記優先読み出しコンテンツデータに対する情報読み出しを終了することを特徴とする請求項20に記載の移動情報処理装置。
【請求項24】
前記情報読み出し部は、
前記優先読み出しコンテンツデータの優先読み出しのために情報読み出しが中断されたコンテンツデータが存在する場合に、前記優先読み出しコンテンツデータに対する情報読み出しが終了した際に、当該中断されたコンテンツデータに対する情報読み出しを再開することを特徴とする請求項19、20、22及び23のいずれかに記載の移動情報処理装置。
【請求項25】
前記移動情報処理装置は、更に、
前記情報読み出し部が優先読み出しコンテンツデータに対する情報読み出しを行うのに要する時間を読み出し所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された読み出し所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項19又は20に記載の移動情報処理装置。
【請求項26】
前記移動情報処理装置は、更に、
優先読み出しコンテンツデータのメッシュが前記領域メッシュ判定部により第一領域と判定されてから第二領域と判定されるまでの時間を領域移行所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された領域移行所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項22に記載の移動情報処理装置。
【請求項27】
前記移動情報処理装置は、更に、
前記領域メッシュ判定部により優先読み出しメッシュとの指定がなされてから当該優先読み出しメッシュの指定が解除されるまでの時間を領域移行所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された領域移行所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項23に記載の移動情報処理装置。
【請求項28】
前記コンテンツデータベースは、一つのメッシュに対して複数のコンテンツデータを記憶している場合があり、
前記領域メッシュ判定部は、
前記情報読み出し部によりコンテンツデータに対する情報読み出しが完了した読み出し済メッシュの各々に対して、読み出し済メッシュの対応地理位置と読み出し済メッシュのコンテンツデータ数とを判定し、判定結果に基づき、第二領域の範囲を変更することを特徴とする請求項23に記載の移動情報処理装置。
【請求項29】
前記領域メッシュ判定部は、
読み出し済メッシュ間のコンテンツデータ数の変動傾向と対応地理位置との相関を解析し、解析したコンテンツデータ数の変動傾向と地理的位置との相関と、移動情報処理装置の移動方向とに基づき、第二領域の範囲を変更することを特徴とする請求項28に記載の移動情報処理装置。
【請求項30】
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから移動情報処理装置がコンテンツデータに対する情報読み出しを行う情報処理方法であって、
前記移動情報処理装置が、自身の現在位置を任意の間隔で検出する位置検出ステップと、
前記位置検出ステップにより移動情報処理装置の現在位置が検出される度に、前記移動情報処理装置が、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定ステップと、
前記領域メッシュ判定ステップにより第一領域メッシュ及び第二領域メッシュが判定される度に、前記移動情報処理装置が、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定ステップと、
前記移動情報処理装置が、前記未読み出しメッシュ指定ステップにより指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定ステップにより指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出しステップとを有することを特徴とする情報処理方法。
【請求項31】
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから、コンテンツデータに対する情報読み出しを行う移動情報処理装置に、
移動情報処理装置の現在位置を任意の間隔で検出する位置検出処理と、
前記位置検出処理により移動情報処理装置の現在位置が検出される度に、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定処理と、
前記領域メッシュ判定処理により第一領域メッシュ及び第二領域メッシュが判定される度に、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定処理と、
前記未読み出しメッシュ指定処理により指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定処理により指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出し処理とを実行させることを特徴とするプログラム。
【請求項1】
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから、コンテンツデータに対する情報読み出しを行う移動情報処理装置であって、
移動情報処理装置の現在位置を任意の間隔で検出する位置検出部と、
前記位置検出部により移動情報処理装置の現在位置が検出される度に、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定部と、
前記領域メッシュ判定部により第一領域メッシュ及び第二領域メッシュが判定される度に、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定部と、
前記未読み出しメッシュ指定部により指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定部により指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出し部とを有することを特徴とする移動情報処理装置。
【請求項2】
前記移動情報処理装置は、更に、
前記領域メッシュ判定部により第一領域メッシュとして判定された各メッシュ及び第二領域メッシュとして判定された各メッシュを示す領域メッシュ情報を記憶する領域メッシュ情報記憶部と、
前記情報読み出し部により情報読み出しが行われた各コンテンツデータが第一領域未読み出しメッシュ及び第二領域未読み出しメッシュのいずれに属するのかを示すコンテンツデータ管理情報を記憶するコンテンツデータ管理情報記憶部とを有し、
前記未読み出しメッシュ指定部は、
前記領域メッシュ判定部により第一領域メッシュ及び第二領域メッシュが判定される度に、新たな第一領域メッシュ及び新たな第二領域メッシュと、前記領域メッシュ情報に示される以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、比較の結果に基づき前記コンテンツデータ管理情報を更新することを特徴とする請求項1に記載の移動情報処理装置。
【請求項3】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しとして、少なくともコンテンツデータの読み出し及びコンテンツデータの格納領域を示すポインタ情報の読み出しのいずれかを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項4】
前記移動情報処理装置は、
前記コンテンツデータベースを内部に備えることを特徴とする請求項1に記載の移動情報処理装置。
【請求項5】
前記移動情報処理装置は、更に、
外部に所在する前記コンテンツデータベースと通信を行う通信部を有し、
前記情報読み出し部は、
前記通信部を通じて前記コンテンツデータベースからコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項6】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、読み出し対象の各メッシュの対応地理位置と移動情報処理装置の現在位置との間の距離に応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項7】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、移動情報処理装置の移動方向ベクトルと、所定の基点から読み出し対象の各メッシュに対するベクトルとに応じて情報読み出しを行う順序を決定し、決定した順序に基づいてコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項8】
前記情報読み出し部は、
移動情報処理装置の現在位置を前記基点として用いることを特徴とする請求項7に記載の移動情報処理装置。
【請求項9】
前記情報読み出し部は、
前記第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う際に、前記第一領域メッシュに含まれるメッシュのうち移動情報処理装置の移動方向とは逆方向であって移動情報処理装置の現在位置から最も遠いメッシュの中心点を前記基点として用いることを特徴とする請求項7に記載の移動情報処理装置。
【請求項10】
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、移動情報処理装置の移動方向ベクトルの向きが所定量変化した場合に、情報読み出しを行う順序を再度決定することを特徴とする請求項6又は7に記載の移動情報処理装置。
【請求項11】
前記コンテンツデータベースは、一つのメッシュに対して複数のコンテンツデータを記憶している場合があり、
前記情報読み出し部は、
コンテンツデータに対する情報読み出しを行う際に、情報読み出しを行う順序をメッシュ単位で決定し、決定した順序に基づいてメッシュ単位でコンテンツデータに対する情報読み出しを行うことを特徴とする請求項6又は7に記載の移動情報処理装置。
【請求項12】
前記移動情報処理装置は、更に、
前記位置検出部により検出された移動情報処理装置の現在位置を示す位置情報と、前記領域メッシュ情報記憶部に記憶されている領域メッシュ情報の複製とを記憶する不揮発性記憶装置を有し、
前記領域メッシュ判定部は、
移動情報処理装置の電源断後に移動情報処理装置の電源投入がなされた際に、電源投入後に前記位置検出部により検出された移動情報処理装置の現在位置と前記不揮発性記憶装置に記憶されている位置情報に示される位置とを比較し、両者が所定の範囲内で一致する場合に、前記不揮発性記憶装置に記憶されている領域メッシュ情報の複製に示されている第一領域メッシュに基づいて新たな第一領域メッシュを判定することを特徴とする請求項2に記載の移動情報処理装置。
【請求項13】
前記領域メッシュ判定部は、
移動情報処理装置の電源断後に移動情報処理装置の電源投入がなされた際に、電源投入後に前記位置検出部により検出された移動情報処理装置の現在位置と前記不揮発性記憶装置に記憶されている位置情報に示される位置とを比較し、両者が所定の範囲内で一致する場合に、前記不揮発性記憶装置に記憶されている領域メッシュ情報の複製に示されている第二領域メッシュに基づいて新たな第二領域メッシュを判定することを特徴とする請求項12に記載の移動情報処理装置。
【請求項14】
前記不揮発性記憶装置は、
前記情報読み出し部により読み出された読み出し情報とを記憶し、
前記情報読み出し部は、
前記未読み出しメッシュ指定部により判定された新たな第一領域メッシュに属するコンテンツデータについての読み出し情報を前記不揮発性記憶装置から読み出すことを特徴とする請求項12に記載の移動情報処理装置。
【請求項15】
前記不揮発性記憶装置は、
前記情報読み出し部により読み出された読み出し情報とを記憶し、
前記情報読み出し部は、
前記未読み出しメッシュ指定部により判定された新たな第二領域メッシュに属するコンテンツデータについての読み出し情報を前記不揮発性記憶装置から読み出すことを特徴とする請求項13に記載の移動情報処理装置。
【請求項16】
前記コンテンツデータベースは、一つのメッシュに対して複数のコンテンツデータを記憶している場合があり、各コンテンツデータには、関連する地理位置が設定されており、
前記移動情報処理装置は、更に、
前記未読み出しメッシュ指定部により指定された第一領域未読み出しメッシュの各コンテンツデータの地理位置と移動情報処理装置の現在位置との間の距離に応じて情報読み出しを行う順序をコンテンツデータ単位で決定する情報読み出し順序決定部を有し、
前記情報読み出し部は、
前記情報読み出し順序決定部により決定された順序に基づいてコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項17】
前記移動情報処理装置は、更に、
前記情報読み出し部がコンテンツデータに対する情報読み出しを行うのに要する時間を読み出し所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された読み出し所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項1に記載の移動情報処理装置。
【請求項18】
前記移動情報処理装置は、更に、
前記領域メッシュ判定部により第二領域と判定された領域が第二領域と判定されてから第一領域と判定されるまでの時間を領域移行所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された領域移行所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項1に記載の移動情報処理装置。
【請求項19】
前記情報読み出し部は、
第二領域未読み出しメッシュのコンテンツデータに対する情報読み出し中に第二領域未読み出しメッシュに含まれるメッシュであってコンテンツデータに対する情報読み出しが完了していないメッシュが前記領域メッシュ判定部の判定により第二領域メッシュから第一領域メッシュに移行した場合に、前記領域メッシュ判定部により第一領域メッシュと判定された当該メッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して前記優先読み出しコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項20】
前記領域メッシュ判定部は、
前記情報読み出し部によるコンテンツデータに対する情報読み出しが完了していない第二領域未読み出しメッシュの各々に対して、各メッシュの対応地理位置と移動情報処理装置の現在位置との間の距離を算出し、移動情報処理装置の現在位置との間の距離が閾値以下であるメッシュを優先読み出しメッシュとして指定し、
前記情報読み出し部は、
前記領域メッシュ判定部により指定された優先読み出しメッシュのコンテンツデータを優先読み出しコンテンツデータとし、他のコンテンツデータに優先して前記優先読み出しコンテンツデータに対する情報読み出しを行うことを特徴とする請求項1に記載の移動情報処理装置。
【請求項21】
前記情報読み出し部は、
優先読み出しコンテンツデータが複数存在する場合に、各々の優先読み出しコンテンツデータのメッシュの対応地理位置と移動情報処理装置の現在位置との間の距離に応じて複数の優先読み出しコンテンツデータ間の優先順位を決定し、決定した優先順位に基づいて各々の優先読み出しコンテンツデータに対する情報読み出しを行うことを特徴とする請求項19又は20に記載の移動情報処理装置。
【請求項22】
前記情報読み出し部は、
優先読み出しコンテンツデータに対する情報読み出し中に前記優先読み出しコンテンツデータのメッシュが前記領域メッシュ判定部の判定により第一領域メッシュから第二領域メッシュに移行した場合に、前記優先読み出しコンテンツデータに対する情報読み出しを終了することを特徴とする請求項19に記載の移動情報処理装置。
【請求項23】
前記領域メッシュ判定部は、
前記優先読み出しメッシュの地理的位置と移動情報処理装置の現在位置との間の距離が前記閾値を上回った場合に、当該優先読み出しメッシュの指定を解除し、
前記情報読み出し部は、
優先読み出しコンテンツデータの読み出し中に前記領域メッシュ判定部により優先読み出しメッシュの指定が解除された場合に、前記優先読み出しコンテンツデータに対する情報読み出しを終了することを特徴とする請求項20に記載の移動情報処理装置。
【請求項24】
前記情報読み出し部は、
前記優先読み出しコンテンツデータの優先読み出しのために情報読み出しが中断されたコンテンツデータが存在する場合に、前記優先読み出しコンテンツデータに対する情報読み出しが終了した際に、当該中断されたコンテンツデータに対する情報読み出しを再開することを特徴とする請求項19、20、22及び23のいずれかに記載の移動情報処理装置。
【請求項25】
前記移動情報処理装置は、更に、
前記情報読み出し部が優先読み出しコンテンツデータに対する情報読み出しを行うのに要する時間を読み出し所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された読み出し所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項19又は20に記載の移動情報処理装置。
【請求項26】
前記移動情報処理装置は、更に、
優先読み出しコンテンツデータのメッシュが前記領域メッシュ判定部により第一領域と判定されてから第二領域と判定されるまでの時間を領域移行所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された領域移行所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項22に記載の移動情報処理装置。
【請求項27】
前記移動情報処理装置は、更に、
前記領域メッシュ判定部により優先読み出しメッシュとの指定がなされてから当該優先読み出しメッシュの指定が解除されるまでの時間を領域移行所要時間として計測する時間計測部を有し、
前記領域メッシュ判定部は、
前記時間計測部により計測された領域移行所要時間に基づき、第二領域の範囲を変更することを特徴とする請求項23に記載の移動情報処理装置。
【請求項28】
前記コンテンツデータベースは、一つのメッシュに対して複数のコンテンツデータを記憶している場合があり、
前記領域メッシュ判定部は、
前記情報読み出し部によりコンテンツデータに対する情報読み出しが完了した読み出し済メッシュの各々に対して、読み出し済メッシュの対応地理位置と読み出し済メッシュのコンテンツデータ数とを判定し、判定結果に基づき、第二領域の範囲を変更することを特徴とする請求項23に記載の移動情報処理装置。
【請求項29】
前記領域メッシュ判定部は、
読み出し済メッシュ間のコンテンツデータ数の変動傾向と対応地理位置との相関を解析し、解析したコンテンツデータ数の変動傾向と地理的位置との相関と、移動情報処理装置の移動方向とに基づき、第二領域の範囲を変更することを特徴とする請求項28に記載の移動情報処理装置。
【請求項30】
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから移動情報処理装置がコンテンツデータに対する情報読み出しを行う情報処理方法であって、
前記移動情報処理装置が、自身の現在位置を任意の間隔で検出する位置検出ステップと、
前記位置検出ステップにより移動情報処理装置の現在位置が検出される度に、前記移動情報処理装置が、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定ステップと、
前記領域メッシュ判定ステップにより第一領域メッシュ及び第二領域メッシュが判定される度に、前記移動情報処理装置が、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定ステップと、
前記移動情報処理装置が、前記未読み出しメッシュ指定ステップにより指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定ステップにより指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出しステップとを有することを特徴とする情報処理方法。
【請求項31】
所定の領域を複数のメッシュに分割して管理しメッシュごとにメッシュに関連するコンテンツデータを記憶するコンテンツデータベースから、コンテンツデータに対する情報読み出しを行う移動情報処理装置に、
移動情報処理装置の現在位置を任意の間隔で検出する位置検出処理と、
前記位置検出処理により移動情報処理装置の現在位置が検出される度に、移動情報処理装置の現在位置に基づき、コンテンツデータに対する情報読み出しが既に完了していることが要求される領域を第一領域として判定し、前記第一領域に対応する複数のメッシュを第一領域メッシュとして判定し、移動情報処理装置の移動により所定時間内に前記第一領域に移行すると予測される領域を第二領域として判定し、前記第二領域に対応する複数のメッシュを第二領域メッシュとして判定する領域メッシュ判定処理と、
前記領域メッシュ判定処理により第一領域メッシュ及び第二領域メッシュが判定される度に、新たに判定された新たな第一領域メッシュ及び新たな第二領域メッシュと、以前に判定された以前の第一領域メッシュ及び以前の第二領域メッシュとを比較し、新たな第一領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第一領域未読み出しメッシュとして指定し、新たな第二領域メッシュに含まれるメッシュのうち以前の第一領域メッシュ及び以前の第二領域メッシュのいずれにも含まれていないメッシュを第二領域未読み出しメッシュとして指定する未読み出しメッシュ指定処理と、
前記未読み出しメッシュ指定処理により指定された第一領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行い、更に、前記未読み出しメッシュ指定処理により指定された第二領域未読み出しメッシュのコンテンツデータに対する情報読み出しを行う情報読み出し処理とを実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【公開番号】特開2008−123325(P2008−123325A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2006−307650(P2006−307650)
【出願日】平成18年11月14日(2006.11.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願日】平成18年11月14日(2006.11.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]