JP2011191430A - 地図情報配信システム - Google Patents

地図情報配信システム Download PDF

Info

Publication number
JP2011191430A
JP2011191430A JP2010056426A JP2010056426A JP2011191430A JP 2011191430 A JP2011191430 A JP 2011191430A JP 2010056426 A JP2010056426 A JP 2010056426A JP 2010056426 A JP2010056426 A JP 2010056426A JP 2011191430 A JP2011191430 A JP 2011191430A
Authority
JP
Japan
Prior art keywords
information
map
cluster
component
component information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010056426A
Other languages
English (en)
Inventor
Akira Neyama
亮 根山
Hironobu Sugimoto
浩伸 杉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
Original Assignee
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp, Toyota InfoTechnology Center Co Ltd filed Critical Toyota Motor Corp
Priority to JP2010056426A priority Critical patent/JP2011191430A/ja
Publication of JP2011191430A publication Critical patent/JP2011191430A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Instructional Devices (AREA)

Abstract

【課題】データ伝送量の削減および地図要素ごとの柔軟な詳細度変更が可能な地図情報配信システムを提供する。
【解決手段】地図情報配信サーバでは地図部品情報を階層クラスタ化し、各クラスタに対してクラスタ内の要素を代表するクラスタ代表点を定義する。クライアントが地図部品を取得する場合、要求された部品そのもの、または、その部品が含まれるクラスタ(階層的に複数ある)の代表点がキャッシュメモリに内に存在するか判断する。キャッシュメモリ内のクラスタ代表点が所定の基準を満たす場合は、このクラスタ代表点を地図画像生成に用いる。一方、キャッシュメモリ内に対応する部品情報が格納されていないか、格納されていてもそれが基準を満たさない場合には、サーバから取得する。ここで、上記の基準は地図部品ごとに設定可能とし、詳細度が要求されるものについては基準を厳しく、データ伝送量の削減が優先されるものについては基準を緩くする。
【選択図】図5

Description

本発明は、地図情報を配信する地図情報配信システムに関する。
地図情報を利用するサービスでは、地図情報の鮮度と詳細度が高いことが求められる。このような地図情報サービスとして、車両に搭載されたカーナビゲーション装置にセンターから最新の地図情報を配信するサービスが考えられる。無線ネットワークの普及および高速化に伴って、センター型の地図情報配信サービスの活用が見込まれる。
特開2004−350006号公報 特開2008−28582号公報
Yushi Jing, Shumeet Baluja, "Pagerank for product image search", WWW 2008: 307-316. Wei-Ying Ma, B. S. Manjunath, "Texture Features and Learning Similarity", CVPR 1996: 425-430 Johan W. H. Tangelder, Remco C. Veltkamp, "A survey of content based 3D shape retrieval methods", Multimedia Tools Appl. (MTA) 39(3): 441-471 (2008) Rui Xu, Donald Wunsch II, "Survey of Clustering Algorithms", IEEE TRANSACTIONS ON NUETRAL NETWORKS, VOL. 16, No. 3, May 2005. Stefan Podlipnig, Laszlo Bozormenyi, "A Survey of Web Cache Replacement Strategies", ACM Computing Surveys, Vol. 35, No. 4, December 2003, pp. 374-398.
センター型の地図情報配信サービスでは扱う地図情報の詳細度が高いため、地図情報配信サーバ(センター)の管理する地図情報の全体をクライアントが保持することはできない。また、仮にクライアントが地図情報全体を保持したとしても、鮮度を維持するためには大部分の地図情報は使われないまま新しい地図情報に置き換えられることとなる。これではサーバやネットワークの無駄が大きいため、やはりクライアントが全ての最新の地図情報を持つことにはデメリットがある。
したがって、クライアントが全ての地図情報を保持せずに、必要に応じて地図情報配信サーバからリアルタイムに取得することが望まれる。高速な地図表示を達成するため、および、限られたネットワーク資源を有効活用するためには、クライアントがサーバから取得するデータ量を減らすことが望まれる。なお、地図情報配信サービスにおいてクライアント・サーバ間のデータ伝送量を減らすことは、無線ネットワークを利用する場合だけでなく有線ネットワークを利用する場合にも有効である。
データ伝送量削減のためには、類似する地図要素(地物等のポリゴンやテクスチャ等)を同一のデータとして扱うことで使用するデータ量を減らすことが考えられる。より多くの地図要素を同一データとして扱うことでデータ量がより削減されるが、反対に正確さ(
詳細度)が失われることになる。すなわち、ネットワークの使用帯域の節約と地図要素の詳細度はトレードオフの関係にある。ここで、データ伝送量の削減が詳細度よりも重要な場合もあるし、詳細度よりもデータ伝送量の削減が重要な場合もある。また、特定種類の地図要素に関しては詳細さが望まれるが、その他の種類の地図要素に関してはデータ伝送量の削減が望まれる場合もある。したがって、条件に応じて柔軟に地図要素の詳細度を変更できることが望まれる。
本発明では、データ伝送量を削減するとともに、地図要素ごとに柔軟に詳細度を変更することができる地図情報配信システムを提供することを目的とする。
上記課題を解決するために、本発明の地図情報配信システムでは、地図情報配信サーバが、地図情報を構成する部品情報を記憶するとともに、この部品情報に階層クラスタ化処理を施して得られる階層クラスタの構造と、階層クラスタのそれぞれのクラスタについて、当該クラスタに属する部品情報を代表する代表点(クラスタ代表部品情報)を記憶する。ここでは、階層クラスタの構造と各クラスタの代表部品情報を管理情報と呼ぶ。また、部品情報は、たとえば、画像、テクスチャ、線、面、ポリゴン、形状、地物のうちの少なくともいずれかである。また、クラスタ代表部品情報は、クラスタに属する部品情報の重心であってもよく、重心に最も近い要素(部品情報)であっても良い。
クライアント装置は、部品情報を格納するキャッシュメモリを有しており、このキャッシュメモリを活用してクライアント・サーバ間のデータ伝送量を削減する。クライアント装置は、管理情報の少なくとも一部を記憶する記憶手段と、生成対象の地図画像に含まれる部品情報を特定し、特定された部品情報のそれぞれに対応する部品情報を取得して、取得された部品情報を用いて地図画像を生成する制御手段を備える。ここで、地図情報取得手段は、指定された部品情報に対応して地図画像の生成に用いる部品情報を取得するものである。
このような地図情報配信システムにおいて、地図情報取得手段は、指定された部品情報そのものまたは指定された部品情報が属する複数のクラスタ(各部品情報は複数階層のクラスタのそれぞれに属する)のクラスタ代表部品情報がキャッシュメモリに格納されているか判断する。指定された部品情報または対応するクラスタ代表部品情報がキャッシュメモリに格納されている場合は、その部品情報またはクラスタ代表部品情報を、指定された部品情報に対応する部品情報として取得する。なお、管理情報には、指定された部品情報と、地図情報取得手段が取得する部品情報とが満たすべき基準が格納されている。そして、キャッシュメモリに格納されているクラスタ代表部品情報がこの基準を満たさない場合は、地図情報配信サーバから指定された部品情報に対応する部品情報を取得する。もちろん、指定された部品情報または対応するクラスタ代表部品情報がキャッシュメモリに存在しない場合も、地図情報配信サーバから指定された部品情報に対応する部品情報を取得する。
ここで、上記の基準として、指定された部品情報とクラスタ代表部品情報の類似度が所定値以内であるという基準や、クラスタ代表部品情報のクラスタの階層が所定数の階層以内であるという基準などを採用できる。
このように、部品情報を階層クラスタ化し、クライアント装置では指定された部品情報自体がキャッシュメモリ内に格納されていない場合であっても、上位のクラスタのクラスタ代表部品情報がキャッシュメモリ内に格納されている場合には、これを用いて地図情報を生成できる。したがって、クライアント・サーバ間のデータ伝送量を削減することができる。なお、クラスタ処理を行っているので、クラスタ代表部品情報はクラスタの階層が
下位であるほど指定された部品情報との類似度が大きく、上位のクラスタになるほどクラスタ代表部品情報は詳細度が失われ(平均化されるため)指定された部品情報の部品情報との類似度が小さくなる。したがって、指定された部品情報の代わりとして利用するクラスタ代表部品情報として、より上位のクラスタ代表部品情報を許容すれば地図部品の詳細度が失われる代わりに、1つのクラスタ代表部品情報が多くの部品情報を代替できるのでクライアント・サーバ間のデータ伝送量をより削減できる。一方、指定された部品情報代わりとして利用するクラスタ代表部品情報としてより下位のクラスタ代表部品情報のみを許容するようにすれば、キャッシュヒットの確率が下がるのでクライアント・サーバ間のデータ伝送量は増える代わりに、地図部品の詳細度を上げることができる。このように生成する地図の詳細度とデータ伝送量の間にはトレードオフの関係があるが、本発明に係る地図情報配信システムによれば、上記の基準を変更するだけで柔軟に詳細度と伝送量のバランスを決定することができる。
上記の基準はクライアント装置または地図情報配信サーバが変更可能であることが好ましい。たとえば、クライアント装置では地図画像を利用するアプリケーションからの要求に応じて基準を変更することが考えられる。また、地図情報配信サーバはネットワークの混雑度合いやサーバの負荷などに応じて基準を変更することが考えられる。また、上記の基準は、地図部品の種類(たとえば、画像、テクスチャ、ポリゴン等)ごとに異なる基準として良く、または同じ種類の地図部品であっても部品情報ごとに異なる基準としても良い。
地図情報取得手段は、指定された部品情報自体がキャッシュメモリに格納されていれば、この部品情報をキャッシュメモリから取得すればよい。このようにすれば、地図画像の詳細度を犠牲にすることなくクライアント・サーバ間のデータ伝送量を減らせる。ただし、このような場合であっても、地図情報取得手段が、上位のクラスタのクラスタ代表部品情報をキャッシュメモリや地図情報配信サーバから取得しても構わない。
また、指定された部品情報がキャッシュメモリに格納されておらず、上位クラスタのクラスタ代表部品情報がキャッシュメモリに複数格納されている場合に、地図情報取得手段はこれら複数のクラスタ代表部品情報のうち最も下位のクラスタに対応するクラスタ代表部品情報を取得することが好ましい。このようにすればキャッシュを有効に利用しつつ地図の詳細度を保つことができる。
地図情報配信サーバの地図情報配信手段は、クライアント装置から部品情報の取得要求を受け付けた場合には、要求された部品情報またはこの部品情報が属するクラスタのクラスタ代表部品情報のうち上記基準を満たすいずれかのクラスタ代表部品情報をクライアント装置に配信することが好ましい。このようにすれば、上記基準を満たす範囲の詳細度を保ってクライアント装置側で地図画像の生成が行える。ここで、上記基準を満たすクラスタ代表部品情報あるいは要求された部品情報のうち、いずれの部品情報をクライアント装置に配するかはいくつかの方針が考えられる。たとえば、基準を満たす部品情報のうち最も下位のものをクライアント装置に送信するようにすれば地図画像の詳細度を上げることができる。一方、基準を満たす部品情報のうち最も上位のものをクライアント装置に送信するようにすれば、クライアント装置でキャッシュヒット確率が上がりクライアント・サーバ間のデータ伝送量を減らすことができる。
クライアント装置におけるキャッシュメモリの置換戦略は、部品情報やクラスタの出現頻度を考慮したアルゴリズムや、部品情報やクラスタ代表部品情報のサイズを考慮したアルゴリズム、これら両方を考慮したアルゴリズムを採用することができる。より良いキャッシュ置換戦略を用いることでキャッシュヒット率を高めることが可能であり、クライアント・サーバ間のデータ伝送量を減らすことができる。なお、上記の出現頻度やサイズに
関する情報は、管理情報に含めて地図情報配信サーバからクライアント装置へ配布すればよい。
本発明は、上記処理の少なくとも一部を含む地図情報配信方法、または、これらの方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
本発明によれば、地図情報配信システムにおいてデータ伝送量を削減するとともに、地図要素ごとに柔軟に詳細度を変更することができる。
第1の実施形態に係る地図情報配信システムの構成を示す図である。 第1の実施形態に係る地図情報配信システムにおける地図情報の配信を説明する図である。 第1の実施形態において地図情報配信サーバで利用する地図情報の作成方法を説明する図である。 階層化クラスタ処理を説明する図であり、(A)はデータの散布図、(B)は(A)のデータのデンドログラム(樹形図)、(C)は(A)のクラスタを表すデータの構造を示す図である。 第1および第2の実施形態におけるクライアントでの地図部品情報取得処理の流れを示すフローチャートである。 第1の実施形態におけるクライアントでの地図情報部品情報取得処理の擬似プログラムコードである。 クラスタリストを説明する図である。 第2の実施形態に係る地図情報配信システムの構成を示す図である。 第2の実施形態において地図情報配信サーバで利用する地図情報の作成方法を説明する図である。 第2の実施形態におけるクライアントでの地図情報部品情報取得処理の擬似プログラムコードである。
本実施形態に係る地図情報配信システムでは、地図情報配信サーバが地図を構成する部品を類似度により階層的にクラスタリングし、クライアント側でクラスタ処理によって得られる類似度を利用してキャッシュを有効に活用することで、サーバ・クライアント間のデータ伝送量を削減する。本実施形態に係る地図情報配信システムでは、類似する地図部品を利用することでキャッシュを有効に活用する。また、地図部品に応じて必要な詳細度を柔軟に実現することができるものである。
(第1の実施形態)
〈構成〉
図1に本実施形態に係る地図情報配信システムの構成を示す。本実施形態に係る地図情報配信システムは、大略、無線ネットワークを介して双方向に通信可能な地図情報配信サーバ100とクライアント200から構成される。クライアント200は、車両に搭載されたナビゲーション装置や持ち運び可能な携帯情報端末である。地図情報配信サーバ100は1台または複数台のコンピュータから構成される。
なお、代替の実施形態として、クライアント200が据え置き型のコンピュータであったり、クライアント200が有線ネットワークを介して地図情報配信サーバ100と通信したりする構成を採用してもよい。このような構成であっても、本実施形態と同様の効果
を得ることができる。
地図情報配信サーバ100は、無線通信部101、地図情報配信部102、地図情報記憶部103を備える。無線通信部101は無線ネットワークを介してクライアント200と通信するためのものであり、その通信方式等は任意のものを採用してよい。地図情報配信部102は、クライアント200からの要求に応じて、地図情報記憶部103に格納された各種の地図情報を配信する。地図情報記憶部103には、主に、構成情報104、部品情報105、キャッシュ管理情報106が記憶される。部品情報105は、地図を構成する部品を種類ごとにデータ化したものである。部品情報105の種類には、たとえば、画像、テクスチャ、線、面、ポリゴン、形状(線、面、ポリゴンの組み合わせ)、地物(画像、テクスチャ、形状の組み合わせ)などがある。この部品情報105がクライアント側でキャッシュするデータの最小単位となる。構成情報104は、地図構成部品間の関係や地図構成部品の属性、地図構成部品と領域(位置)との対応などが含まれる。キャッシュ管理情報106は、地図構成部品に対して階層化クラスタ処理を施して得られるクラスタ構造を含む。また、キャッシュ管理情報106は、各クラスタについて、クラスタを代表する部品要素を含む。後述するように本実施形態においてはクライアント200が地図部品を利用するときに上位クラスタのクラスタ代表点で代替を可能とする。キャッシュ管理情報106には、部品要素のそれぞれついて、当該部品要素を代替可能なクラスタ代表点の基準が格納される。これはアプリケーションの要件に応じて事前に与えられる。
クライアント200は、無線通信部201、地図情報取得部202、地図情報キャッシュ203、制御部204、入力部205、表示部206を備える。入力部205から入力された領域における地図画像を制御部204が生成し、それを表示部206に表示する。制御部204は、地図画像を生成するために描画する領域に含まれる地図要素を地図情報取得部202から取得する。地図情報取得部202は、描画する領域内に含まれる地図がどのような地図構成部品から構成するかを判断し、地図情報キャッシュ203に格納されている地図部品データを利用可能である場合にはそれを利用し、キャッシュされていない場合には無線通信部201を介して地図情報配信サーバ100から地図部品データを取得する。地図情報キャッシュ203は、あらかじめ決められたサイズの情報を保持できる記憶領域(RAMなどの揮発性メモリ、フラッシュメモリや磁気ディスクなどの不揮発性メモリなど)であり、特定のキャッシュ置換戦略に従って管理される。
図2に、地図情報配信サーバ100とクライアント200の間のデータのやりとりを示す。構成情報104は、少なくともクライアント200が描画しようとしている領域についての情報が地図情報配信サーバ100からクライアント200に転送される。キャッシュ管理情報106は、あらかじめ全てのデータがクライアント200に転送される。キャッシュ管理情報106は他の情報と比較してそれほどデータ容量が大きいものではないため、全てのデータをクライアント200に転送しても問題は生じないと言える。キャッシュ管理情報106は地図が更新されるたびに変更されるので、地図更新に応じて全部あるいは更新部分のみをクライアント200が地図情報配信サーバ100から取得する。もちろん、地図描画領域に応じて必要なキャッシュ管理情報106、すなわち地図描画領域に存在する地図部品が属するクラスタに関する情報だけをクライアント200に転送するようにしても良い。部品情報105は容量が大きなデータであるため、クライアント200が実際に地図描画に使用するときにサーバから取得し、かつ、キャッシュを活用してクライアント・サーバ間のデータ伝送量を削減する。
〈サーバ側地図データ生成処理〉
次に、図3を参照して、入力となる地図情報から、構成情報104、部品情報105、キャッシュ管理情報106を生成する処理について説明する。このデータ生成処理は地図情報配信サーバ100自体が行っても良いし、データ生成処理は別の装置が行って処理結
果のデータを地図情報配信サーバ100が利用しても構わない。
入力地図情報301には、3次元地図情報302と2次元地図情報303がある。入力地図情報は、基本地図データ、道路ネットワークデータ、地物ポリゴンなどを持つ従来の地図情報を想定する。地図部品分離処理304は、入力地図情報301を構成情報104と部品情報105に分離する。部品情報105は、地図情報中に現れる画像、テクスチャ、線、面、ポリゴン、形状(線、面、ポリゴンの組み合わせ)、地物(画像、テクスチャ、形状の組み合わせ)などである。構成情報104は、地図構成部品間の関係や地図構成部品の属性、地物の位置などを表す。ここで作成される構成情報104と部品情報105は相互に関連付けられる。
なお、地図構成部品分離処理は、入力地図情報があらかじめ意味づけや構造化がなされていて、部品情報を簡単に取り出せる場合には不要である。一方、位置情報つきのカメラ画像やレーザスキャナ画像などのような意味づけや構造化が不十分な地図情報が入力の場合には、この処理が必要となる。また、地図構成部品分離処理は、コンピュータが自動的に行ってもよいし、人間が手動で行っても良い。
階層クラスタ化処理305では、部品情報に対して、その種類ごとに階層クラスタ情報106を作成する。階層クラスタ化処理は、類似度の計算と類似度に基づくクラスタリングとからなる。
類似度の計算は部品情報の種類に応じて異なるアルゴリズムを用いる。画像やテクスチャには、画像に対するランキング法(非特許文献1)、Gabor waveletによるテクスチャ
分析法(非特許文献1,2)などを用いる。ただし、画像やテクスチャの類似を求めるその他のアルゴリズムを採用しても構わない。線、面、ポリゴン、形状には、コンテンツに基づく3次元形状検索手法(非特許文献3)などを用いる。地物には、それを構成する部品間の類似度を組み合わせる評価関数を用いる。
クラスタリングには、階層的なクラスタリング・アルゴリズム(非特許文献4)を用いる。ただし、非階層的なクラスタリング・アルゴリズムを用いても良い。この場合は、単に1階層しか持たないクラスタとして後の処理を進めればよい。階層的なクラスタリング処理により、地図の構成部品の集合が木構造として構造化される。
クラスタ代表点抽出処理307では、クラスタリングの結果を用いて、クラスタの重心または重心に最も近い要素などを代表要素として求め、結果の集合をクラスタ代表点情報308として出力する。この結果、ある構成部品に注目した場合、木構造の葉ノードから枝と辿って根ノードに近づくに従って、注目構成部品と各ノード(クラスタ)の代表要素との類似度が小さくなり、同時に、クラスタに含まれる要素の数が大きくなるような性質を持つデータ構造ができる。
図4A〜図4Cを参照して、階層クラスタ化処理305およびクラスタ代表点抽出処理307をより具体的に説明する。図4Aには、ある種類の部品データの分布とクラスタリングの結果を示している。図4Aには、A〜Gの7つの部品データが存在する。ここで、部品間の距離は類似度に相当し距離が近いほど類似していることを表している。類似度の高いデータ同士をまとめることでクラスタができあがる。クラスタC1はデータAとデータBを含み、クラスタC2はクラスタC1とデータCを含む。クラスタC3はデータDとデータEを含み、クラスタC4はデータFとデータGを含み、クラスタC5はクラスタC3とクラスタC4を含む。このようにして得られる階層化クラスタは、図4Bに示すデンドログラム(樹形図)のように木構造として表せる。なお、ここでは二分木構造となるようにクラスタリング処理を行っているが、各クラスタが3つ以上の要素を持つような構造
としてもよく、クラスタに含まれる要素数が一定でなくても良い。
クラスタ代表点は、各クラスタについて定められる。たとえば、クラスタC1については、データAまたはデータBのいずれか一方や、データAとデータBの平均(クラスタC1の重心)として求めることができる。また、クラスタ代表点を各クラスタについて1つに限る必要はなく、たとえば、クラスタC1の代表点をデータAとデータBの両方としても構わない。その他のより上位階層のクラスタについても同様に代表点を定める。たとえば、クラスタC2に関しては、その要素であるデータA,B,Cの重心や、重心に最も近い要素などを代表点として採用する。
図4Cは、このようにして作成された階層化クラスタおよび各クラスタの代表点を表すデータ構造である。それぞれのクラスタ(クラスタID)について、親ノードと子ノードおよびクラスタ代表点の部品IDが格納される。データ表現は図4Cに限られるものではないが、階層化クラスタの構造および各クラスタの代表点の情報が、本実施形態におけるキャッシュ管理情報106に相当する。
〈クライアント側処理〉
次に、クライアント200における地図画像描画処理について、図5のフローチャートおよび図6の擬似プログラムコードを参照して説明する。図6の擬似プログラムコードは図5のフローチャートにおける地図部品取得処理(フローチャートからステップS2とS20を除いた処理)に対応する。この擬似プログラムコード自体は、関数の定義が不足しているなどの理由によりそれ自体実行可能なものではないが、省略されたプログラムの実装は当業者であれば容易に理解できるであろう。
前提として、クライアント200は、少なくともキャッシュ管理情報106を地図情報配信サーバ100から既に取得済みであるとする。未取得の場合は、地図画像描画処理に先立って最新のキャッシュ管理情報106を地図情報配信サーバ100から取得する。また、構成情報104に関しても地図情報配信サーバ100から取得済みであることが好ましいが、これは必ずしも前提とはしない。地図構成情報(map_metainfo)、キャッシュ管理情報(cache_metainfo)、キャッシュ空間(cache_space)はあらかじめ大域変数とし
て与えられている(コード1〜3行目)。
クライアント200は、まず、表示すべき地図の領域(range)を取得する(S2)。
描画する地図の領域は、入力部205を介してユーザから位置や施設名等の入力を受け付けたり、GPS装置などによる現在位置から定めることができる。ここで、描画する地図の領域に対応した構成情報(map_metainfo)をクライアント200が持っていない場合は、地図情報配信サーバ100から取得する。
ステップS4からステップS20の前までの処理は、描画する地図に含まれる地図構成部品の部品データを取得する処理である。この処理は図6の擬似プログラムコードでget_map_elements_for(range)関数として表されている。擬似プログラムコード中map_elementsは結果として返す部品データを格納するための配列である。まず、構成情報(map_metainfo)を参照して、領域(range)内に含まれる構成部品のID(map_element_ids)を特定す
る(S4、コード11行目)。このようにして特定した構成部品のそれぞれについて、以下の処理を実行する(S6のループ、コード14〜36行目のeach文)。
構成部品(element_id)のそれぞれについて、キャッシュ管理情報(cache_metainfo)を参照してクラスタリストを取得する(S8、コード16行目)。ここで、クラスタリストとは、図7に示すように、階層化クラスタにおける葉ノードである構成部品から根ノードに向かって辿って得られるクラスタのリストである。図7においては、部品Aに対応す
るクラスタリストとして、[C1,C2,C3,C4]が得られる。ここで得られるクラスタのリストは、下位のものから順番に並んでいるものとする。
得られたクラスタリストに含まれる各クラスタについて、葉ノード側(下位側)から順番に、クラスタに対応するクラスタ代表点がキャッシュ内に存在するか確認する(S10のループ、コード21〜26行目)。この処理は、キャッシュ内に格納されている最も下位(葉ノード側)のクラスタ代表点を求める処理である。この際、部品A自体がキャッシュ内に格納されているか確認することが好ましい。実装としては部品Aそれ自体も一つのクラスタ(木構造の一部)として扱い、そのクラスタ代表点が部品Aであるとするとプログラム処理が容易になる。部品A自体がキャッシュ内にあるか判断し、無ければクラスタC1の代表点がキャッシュ内にあるか判断し、と順番に判断していく。クラスタリストに含まれるクラスタの代表点がキャッシュ内にある場合(S12−YES)には、キャッシュからこの代表点を取得してmap_elementsに格納してループを抜け(コード23〜24行目)、ステップS14で進む。一方、クラスタリストに含まれるクラスタの代表点がキャッシュ内に見つからなかった場合はmap_elementsがnilのままループが終了してステップ
S16に進む。
クラスタリスト内のクラスタに対応するクラスタ代表点がキャッシュ内に存在する場合は、そのクラスタ代表点が基準を満たすか否か判断する(S14、コード30〜31行目のif文)。ここで基準とは、要求された部品を別の部品で代替する場合にどの程度異なっても良いかを表す基準である。この基準を緩くすると、地図部品の詳細度が低下するが、キャッシュを有効活用できクライアント・サーバ間のデータ伝送量を少なくすることができる。一方、この基準を厳しくすると、クライアント・サーバ間のデータ伝送量は増えるが、地図部品の詳細度が上がることになる。この基準は、部品の種類(テクスチャ、ポリゴン等)ごとに変えることができる。また、同じ部品の種類内でも部品IDごとに変えることもできる。さらには、クライアント・サーバ間のネットワークの利用状況に応じて変更したり、ユーザ設定により変更しても構わない。基準の具体例として、「n階層以内のクラスタ代表点なら許容する」「要求した部品との類似度が所定値以内のクラスタ代表点ならば許容する」などを挙げることができる。
キャッシュ内にあるクラスタ代表点が基準を満たす場合(S14ーYES)は、そのクラスタ代表点の部品データを用いて地図を描画できるので、次の地図部品についての処理に進む。一方、キャッシュ内にクラスタリストのクラスタ代表点が存在しないか、存在しても基準を満たさない場合には、クライアントは地図情報配信サーバから部品データを取得する(S16、コード32行目のcache_space.select_and_load関数)。クライアント
は、サーバから渡された部品データをmap_elementに格納するとともに、キャッシュにも
格納する。
地図情報配信サーバはクライアントからある部品(element_id)の部品データを要求されたときに、要求された部品の部品データを返す必要はなく、この部品の上位のクラスタのクラスタ代表点に対応する部品データを返しても良い。このとき、サーバ側でも上記の基準を把握して、基準を満たす範囲内での部品データを返すことが好ましい。クライアント側とサーバ側とで同一の基準を使うことが好ましく、ともにキャッシュ管理情報106に格納されている条件を用いる。具体的には、上記基準が、2階層以内のクラスタ階層であるという条件である場合に、部品Aを要求されたときに、部品A、クラスタC1の代表点、クラスタC2の代表点のいずれかをクライアントに返す。データの伝送量を削減するためには、より上位のクラスタ代表点(ここではクラスタC2の代表点)を返せばよい。
このようにして地図構成部品element_idに対応し、地図の描画に用いられる部品データを取得することができる。この処理を領域range内に含まれる全ての構成部品に対して実
行する(S6のループ)。そして、得られた部品データを用いて地図画像を作成する(S20)。この地図画像生成処理は従来の手法により行えばよいので、ここでは説明を省略する。
〈本実施形態による作用/効果〉
本実施形態によれば、地図を構成する部品データが必要な場合に、この部品データ自体がキャッシュされていなくても上位クラスタの代表点(部品データ)がキャッシュされていれば、この代表点に対応する部品データを用いて地図画像を生成できる。ここで、地図情報に求められる詳細度や、利用可能なサーバやネットワークの資源に応じて、代替するクラスタ代表点の基準を変更することで柔軟な対応が可能である。すなわち、詳細度があまり必要ではない場合には、より上位のクラスタ代表点で代替可能な基準を設定すればよい。この場合、キャッシュを効率的に利用できるためネットワークやサーバの資源をあまり消費しない。反対に、高い詳細度が求められる場合は、下位のクラスタ代表点(最も極端な場合には地図構成部品そのもの)で代替するような基準を選べば、資源を消費する見返りとして、求める詳細度が得られる。このような選択は、地図構成部品やクラスタごとに行えるため、アプリケーションの要求に応じて、ある地物は詳細度を高め、別の地物は詳細度を低めるような、選択的な構成も可能である。すなわち、地図情報に求められる詳細度と資源に対する要件に応じて、非常に柔軟に対応できるといえる。
(第2の実施形態)
上記第1の実施形態では、クライアント200に1つのキャッシュ空間が存在するものとして説明した。本実施形態においては、クライアント200に複数のキャッシュ空間を用意し、部品データの出現頻度に応じて利用するキャッシュ空間を異ならせる。これにより、出現頻度が高い部品データのキャッシュヒット率を高めることができ、キャッシュをより有効に活用できるようになる。
〈構成〉
図8に本実施形態に係る地図情報配信システムの構成を示す。第1の実施形態との大きな違いは、クライアント200に複数の地図情報キャッシュ203が備えられている点である。それぞれのキャッシュは、あらかじめ決められたサイズの情報を保持できる記憶領域(RAMなどの揮発性メモリ、フラッシュメモリや磁気ディスクなどの不揮発性メモリなど)であり、特定のキャッシュ置換戦略に従って管理される。クライアント200は、これら複数のキャッシュ空間を、保持する地図構成情報や地図構成要素の性質に応じて使い分ける。なお、各キャッシュ空間のサイズはそれぞれ異なるものであっても良いし、全て同じであっても構わない。
また、本実施形態においてはキャッシュ管理情報106としてどの地図部品データ(クラスタ代表点)をどのキャッシュ空間に格納するかを表すキャッシュ空間対応情報が含まれる。また、クライアント200が有しているキャッシュ空間の編成情報もキャッシュ管理情報106に含まれる。
〈サーバ側地図データ生成処理〉
どの部品データをどのキャッシュ空間に格納するかを示すキャッシュ空間対応情報は、地図部品要素の性質に応じて生成されるため、構成情報や部品情報と合わせて生成する。図9に入力となる地図情報から、構成情報104、部品情報105、キャッシュ管理情報106(キャッシュ空間対応情報を含む)を生成する処理を説明する。なお、構成情報104、部品情報105や階層クラスタ情報106、クラスタ代表点情報308の生成処理は、第1の実施形態で説明した処理と同様であるためここでは詳しい説明は省略する。
本実施形態においては、地図部品ごとの出現頻度を算出するために、入力データとして
入力地図情報301以外に利用頻度予測元情報901を利用する。利用頻度予測元情報901には、統計情報902と利用者属性903が含まれる。統計情報902は、場所ごとに地図データが要求される頻度を表す情報であり、たとえば、場所ごとの人口密度や交通量、実際の地図情報の要求履歴などが該当する。利用者属性903は、利用者(個人)ごとの地図データ要求頻度を表す情報であり、たとえば、利用者の活動地域や自宅住所、勤務地などの情報を用いる。利用者属性903として、利用者の嗜好を用いても良い。なお、統計情報902と利用者属性903の両方を必ずしも用いる必要はなく、いずれか一方のみを使用しても構わない。
部品頻度出現処理904では、地図部品分離処理304によって得られたそれぞれの部品データの出現頻度(部品出現頻度情報905)を、利用頻度予測元情報901に基づいて求める。たとえば、利用者の活動地域に近く、人口密度の高い地域に近いほど、地図構成部品の出現頻度を高くする。部品出現頻度抽出処理905以降の処理は、利用者属性を用いない場合には1回の処理で済むが、利用者属性を用いる場合は利用者ごとに行う必要がある。
クラスタ出現頻度抽出処理906では、階層クラスタ化処理305によって得られた階層クラスタそれぞれの出現頻度、部品出現頻度情報905に基づいて求める。たとえば、階層化されたクラスタ内に含まれる各地図構成部品の出現頻度を足し合わせることで、各クラスタの出現頻度が求められる。各クラスタのクラスタ出現頻度情報907は、クラスタを一意に表すクラスタIDと出現頻度の組の列となる。
キャッシュ空間対応付け処理909では、各クラスタの出現頻度907とクラスタ代表点のサイズを用いて、キャッシュ空間編成情報908により定義されたキャッシュ空間から、そのクラスタ代表点を格納するのに相応しいキャッシュ空間を選択する。ここでは、出現頻度の高いクラスタ代表点ほどキャッシュヒット率が高まるようにキャッシュ空間を選択することが望まれる。たとえば、出現頻度の高いクラスタ代表点ほどサイズの大きいキャッシュ空間に割り当てることが考えられる。また、全てのクラスタ代表点をキャッシュに格納する必要はなく、出現頻度の低いクラスタについてはキャッシュしないという選択もあり得る。
なお、キャッシュ空間編成情報908は、キャッシュ空間を定義する情報であり、キャッシュ空間のサイズや使用するキャッシュ置換戦略を定義する。また、地物の種類ごとにキャッシュ空間を分ける場合などのために、クラスタ代表点を紐付ける際のヒントを付与しても良い。
以上のようにして、クラスタごとの代表点をどのキャッシュ空間に格納するかを表すキャッシュ空間対応情報910を作成することができる。
〈クライアント側処理〉
次に、クライアント側での地図画像描画処理について説明する。この処理のフローチャート自体は第1の実施形態における図5と同様である。ただし、本実施形態では、キャッシュ空間が複数存在しクラスタごとに格納されるキャッシュが異なるため、プログラムの実装に変更がある。本実施形態におけるクライアント側の地図データ取得処理の擬似プログラムコードを図10に示す。
第1の実施形態(図6)との相違として、キャッシュ空間を表す大域変数cache_spacesが配列型となっている(3行目)。そして、キャッシュ内にクラスタ代表点が存在するかを判定する処理(23行目)において、まずクラスタIDに対応するキャッシュ空間を取得し(cache_spaces.get(clauster.cache_space_id))、このキャッシュ空間内にクラス
タ代表点があるか判定している。また、サーバから地図部品データを取得する処理(32行目)もcache_spaces.select_and_load関数を呼び出し、サーバから取得された地図部品データ(クラスタ代表点)は、対応するキャッシュ空間に格納される。キャッシュ置換戦略としては、一般的な、LRU, LFUの他、サイズを考慮したSIZE, PSS, Partitioned Caching, HYPER-G, LRU-SP, GD-Size、サイズと出現頻度を考慮したLUVなどを用いることがで
きる(非特許文献5)。
〈本実施形態の作用/効果〉
本実施形態では第1の実施形態と同様の効果に加えて、以下のような効果を得ることが得きる。すなわち、地図構成要素の出現頻度に基づいてクラスタ代表点を複数のキャッシュ空間のいずれかに対応付けているため、出現頻度の高いクラスタ代表点ほどキャッシュ内に存在する確率を高くすることができる。これにより、キャッシュを効率的に利用でき、サーバ・クライアント間のデータ伝送量を減らすことができる。
〈変形〉
部品の出現頻度を用いたキャッシュ置換戦略は、キャッシュ空間が一つの場合であっても利用可能である。したがって、図9に示される第2の実施形態の方法で地図データを生成し、この地図データを一つのキャッシュ空間だけを有するクライアントで利用することも好ましい。
100 地図情報配信サーバ
102 地図情報配信部
104 構成情報
106 部品情報
108 キャッシュ管理情報
200 クライアント
202 地図情報取得部
203 地図情報キャッシュ
204 制御部
306 階層クラスタ情報
308 クラスタ代表点情報

Claims (11)

  1. クライアント装置が地図情報を地図情報配信サーバから取得して利用する地図情報配信システムであって、
    前記地図情報配信サーバは、
    地図情報を構成する部品情報を記憶する部品情報記憶手段と、
    部品情報に階層クラスタ化処理を施して得られる階層クラスタの構造と、各クラスタについて当該クラスタに属する部品情報を代表する部品情報であるクラスタ代表部品情報とを含む管理情報を記憶する管理情報記憶手段と、
    部品情報および管理情報を前記クライアント装置へ配信する地図情報配信手段と、
    を有し、
    前記クライアント装置は、
    管理情報を記憶する記憶手段と、
    部品情報を格納するキャッシュメモリと、
    指定された部品情報に対応する部品情報であって地図画像の生成に用いる部品情報をキャッシュメモリまたは地図情報配信サーバから取得する地図情報取得手段と、
    地図画像に含まれる部品情報を特定し、当該部品情報に対応する部品情報を地図情報取得手段によって取得し、取得された部品情報を用いて地図画像を生成する制御手段と、
    を有し、
    管理情報には、地図情報取得手段が取得する部品情報と指定された部品情報とが満たすべき基準がさらに含まれており、
    地図情報取得手段は、
    管理情報を参照して指定された部品情報を含む複数のクラスタを取得し、
    前記複数のクラスタに対応するクラスタ代表部品情報がキャッシュメモリに格納されているか否か判断し、
    キャッシュメモリに格納されているクラスタ代表部品情報が前記基準を満たす場合には、当該クラスタ代表部品情報を指定された部品情報に対応する部品情報として取得し、
    前記複数のクラスタに対応するクラスタ代表部品情報がキャッシュメモリに格納されていない場合、または、キャッシュメモリに格納されているクラスタ代表部品情報が前記基準を満たさない場合には、指定された部品情報に対応する部品情報を地図情報配信サーバから取得する
    地図情報配信システム。
  2. 前記基準は、クライアント装置または地図情報配信サーバが変更可能である
    請求項1に記載の地図情報配信システム。
  3. 地図情報取得手段は、指定された部品情報がキャッシュメモリに格納されている場合には、当該指定された部品情報を、指定された部品情報に対応する部品情報として取得する
    請求項1または2に記載の地図情報配信システム。
  4. 地図情報取得手段は、指定された部品情報がキャッシュメモリに格納されておらず、指定された部品情報を含むクラスタに対応するクラスタ代表部品情報がキャッシュメモリに複数格納されている場合には、キャッシュメモリに格納されているこれらのクラスタ代表部品情報のうち最も下位のクラスタに対応するクラスタ代表部品情報を、指定された部品情報に対応する部品情報として取得する
    請求項3に記載の地図情報配信システム。
  5. 地図情報配信サーバの地図情報配信手段は、クライアント装置の地図情報取得手段から部品情報の取得要求を受けた場合には、当該部品情報または当該部品情報が属するクラスタのクラスタ代表部品情報のうちの前記基準を満たすいずれかのクラスタ代表部品情報を
    前記クライアント装置に配信する
    請求項1〜4のいずれかに記載の地図情報配信システム。
  6. 地図情報配信サーバの地図情報配信手段は、クライアント装置の地図情報取得手段から部品情報の取得要求を受けた場合には、当該部品情報または当該部品情報が属するクラスタのクラスタ代表部品情報のうち、前記基準を満たし、かつ、最も上位のクラスタに対応するクラスタ代表部品情報を前記クライアント装置に配信する
    請求項5に記載の地図情報配信システム。
  7. 前記部品情報は、画像、テクスチャ、線、面、ポリゴン、形状、または地物の少なくともいずれかである
    請求項1〜6のいずれかに記載の地図情報配信システム。
  8. 管理情報には、部品情報およびクラスタの出現頻度がさらに含まれており、
    前記クライアント装置は、部品情報およびクラスタの出現頻度を考慮した、キャッシュ置換戦略を利用する
    請求項1〜7のいずれかに記載の地図情報配信システム。
  9. 管理情報には、部品情報およびクラスタ代表部品情報のサイズがさらに含まれており、
    前記クライアント装置は、部品情報およびクラスタ代表部品情報のサイズを考慮したキャッシュ置換戦略を利用する
    請求項1〜8のいずれかに記載の地図情報配信システム。
  10. 前記キャッシュメモリはキャッシュメモリ空間を複数有しており、
    管理情報には、部品情報およびクラスタごとに、いずれのキャッシュメモリ空間に部品情報およびクラスタ代表部品情報を格納するかを示すキャッシュメモリ空間対応情報が格納されており、
    前記クライアント装置は、管理情報に示されるキャッシュメモリ空間に部品情報およびクラスタ代表部品情報を格納する
    請求項1〜9のいずれかに記載の地図情報配信システム。
  11. キャッシュメモリ空間対応情報は、部品情報およびクラスタの出現頻度に応じて設定される
    請求項10に記載の地図情報配信システム。
JP2010056426A 2010-03-12 2010-03-12 地図情報配信システム Withdrawn JP2011191430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010056426A JP2011191430A (ja) 2010-03-12 2010-03-12 地図情報配信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010056426A JP2011191430A (ja) 2010-03-12 2010-03-12 地図情報配信システム

Publications (1)

Publication Number Publication Date
JP2011191430A true JP2011191430A (ja) 2011-09-29

Family

ID=44796451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010056426A Withdrawn JP2011191430A (ja) 2010-03-12 2010-03-12 地図情報配信システム

Country Status (1)

Country Link
JP (1) JP2011191430A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215926A (ja) * 2013-04-26 2014-11-17 オムロン株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215926A (ja) * 2013-04-26 2014-11-17 オムロン株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体

Similar Documents

Publication Publication Date Title
KR102198680B1 (ko) 확장 가능한 멀티-스테이지 데이터 처리 시스템들에서의 효율적인 데이터 캐싱 관리
US9860316B2 (en) Routing network traffic based on social information
CN101692229B (zh) 基于数据内容的三维空间数据自适应多级缓存系统
CN106898047B (zh) 倾斜模型和多元模型动态融合的自适应网络可视化方法
JP6258975B2 (ja) 低レイテンシデータアクセス用のデータストリーム分割
CN106790324B (zh) 内容分发方法、虚拟服务器管理方法、云平台和系统
KR102338208B1 (ko) 데이터를 처리하기 위한 방법, 장치 및 시스템
CN102880557B (zh) 一种异构数据源的多级分布式高速缓存的查找方法
US10922316B2 (en) Using computing resources to perform database queries according to a dynamically determined query size
US20120047107A1 (en) System and method for implementing on demand cloud database
Chockler et al. Design and implementation of caching services in the cloud
US9292454B2 (en) Data caching policy in multiple tenant enterprise resource planning system
US11099893B1 (en) Systems and methods for orchestrating seamless, distributed, and stateful high performance computing
CN112905175A (zh) 一种页面生成方法、装置及设备
CN115827907B (zh) 基于分布式内存的跨云多源数据立方体发现与集成方法
Li et al. A replication strategy for a distributed high-speed caching system based on spatiotemporal access patterns of geospatial data
CN104301354B (zh) 一种基于云计算的空间类业务数据gis化服务的实现方法和系统
KR20080071228A (ko) 지도 제공방법 및 지도 서비스 제공 시스템
CN114697683A (zh) 流媒体文件的智能调度方法、设备和计算机程序产品
Nam et al. Multiple query scheduling for distributed semantic caches
US20230281101A1 (en) Auto insights into data changes
KR20160072305A (ko) 동적 환경에서 대규모 시멘틱 웹 데이터 분산 저장을 위한 분할 시스템 및 방법
JP2011191430A (ja) 地図情報配信システム
EP2765517B1 (en) Data stream splitting for low-latency data access
Kufer et al. Hybrid quantized resource descriptions for geospatial source selection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130626

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20131217