本発明の第1の態様にかかるコンテンツ受信方法は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツの一覧リストから選択されたコンテンツを受信するコンテンツ受信方法において、前記位置依存コンテンツが分布する地理的空間の全領域を第一のメッシュエリアで表現し、前記第一のメッシュエリアを構成する第一の単位メッシュに対応するコンテンツのURIが付与されている広域情報コンテンツを受信する広域情報受信ステップと、地理空間における地点を示す地点位置情報を定期的に取得し、前記地点位置情報を基準とする地理的領域を検索領域として設定する検索領域設定ステップと、受信した前記広域情報コンテンツから前記検索領域と地理的に重なる前記第一の単位メッシュを検索し、検索された前記第一の単位メッシュに対応するURIを取得する広域情報検索ステップと、取得した前記URIが示すコンテンツであり、かつ、前記広域情報コンテンツを構成する一つの単位メッシュが規定する地理的空間を第二のメッシュエリアで表現し、前記第二のメッシュエリアを構成する第二の単位メッシュにその単位メッシュが規定する地理的空間に含まれる位置情報を有する前記位置依存コンテンツのメタデータが列挙されている地域情報コンテンツを受信する地域情報受信ステップと、受信した前記地域情報コンテンツから前記検索領域と地理的に重なる前記第二の単位メッシュを検索し、検索された前記第二の単位メッシュから、前記検索領域に内包される位置情報を有する前記位置依存コンテンツのメタデータを取得する地域情報検索ステップと、を具備した構成を採る。
これにより、地域情報へのURIが記されている広域情報コンテンツを参照することによって、検索領域に関連する地域情報が記述されている地域情報コンテンツのみを選択的に受信した上で、現在地周辺情報の検索処理を実行するので、検索処理に必要なリソースを削減し、検索処理時間を短縮することができる。
本発明の第2の態様は、第1の態様にかかるコンテンツ受信方法において、前記広域情報コンテンツは、前記第一のメッシュエリアのメッシュ分割方法に関する情報が記載されている第一のメッシュエリア定義を有し、前記第一の単位メッシュには、前記第一のメッシュエリア定義から算出された第一のメッシュインデックス番号が付加されており、前記地域情報コンテンツは、前記第二のメッシュエリアのメッシュ分割方法に関する情報が記載されている第二のメッシュエリア定義を有し、前記第二の単位メッシュには、前記第二のメッシュエリア定義から算出された第二のメッシュインデックス番号が付加されており、前記第一のメッシュエリア定義を参照して、前記検索領域と地理的に重なる前記第一の単位メッシュに対応する前記第一のメッシュインデックス番号を算出し、算出された前記第一のメッシュインデックス番号を有する前記第一の単位メッシュを検索し、前記第二のメッシュエリア定義を参照して、前記検索領域と地理的に重なる前記第二の単位メッシュに対応する前記第二のメッシュインデックス番号を算出し、算出された前記第二のメッシュインデックス番号を有する前記第二の単位メッシュを検索する。
このように、広域情報コンテンツ、および、地域情報コンテンツに付与されているメッシュエリア定義を参照することによって、検索領域と地理的に重なるメッシュエリアを特定するので、広域情報コンテンツ、および、地域情報コンテンツに含まれる単位メッシュを全件検索すること無く、位置依存コンテンツの検索対象となるメッシュエリアのみにアクセスし、効率的にコンテンツ検索を行うことができる。
本発明の第3の態様は、第2の態様にかかるコンテンツ受信方法において、前記広域情報コンテンツは、前記第一の単位メッシュに、当該の前記第一の単位メッシュに対応する地理的空間に属する前記位置依存コンテンツの個数を示す第一のコンテンツ個数情報が付加されており、前記地域情報コンテンツは、前記第二の単位メッシュに、当該の前記第二の単位メッシュに対応する地理的空間に属する前記位置依存コンテンツの個数を示す第二のコンテンツ個数情報が付加されており、検索する前記位置依存コンテンツの個数を検索コンテンツ数として設定し、前記第一のコンテンツ個数情報を参照することによって、前記検索領域と重なる前記第一の単位メッシュに含まれる前記位置依存コンテンツの個数をコンテンツ概数として算出し、前記コンテンツ概数と前記検索コンテンツ数とを比較することによって前記検索領域の大きさを調整し、前記第二のコンテンツ個数情報を参照することによって、前記検索領域と重なる前記第二の単位メッシュに含まれる前記位置依存コンテンツの個数をコンテンツ概数として算出し、前記コンテンツ概数と前記検索コンテンツ数とを比較することによって前記検索領域の大きさを調整する。
このように、広域情報コンテンツおよび地域情報コンテンツに記述されている情報から算出できる検索領域と重なる単位メッシュに対応する地理的領域に属する位置依存コンテンツの個数を利用することによって、詳細なコンテンツ検索処理を行う前にコンテンツ検索領域の大きさを調整するので、検索件数が指定される場合における、現在地周辺のコンテンツ検索を効率的に実行することができる。
本発明の第4の態様は、第2の態様にかかるコンテンツ受信方法において、新たに受信した前記広域情報コンテンツを蓄積する処理を行い、新たに受信した前記地域情報コンテンツを蓄積する処理を行うと共に、蓄積済みの前記広域情報コンテンツに対して当該地域情報コンテンツが対応する前記第一の単位メッシュに当該地域情報コンテンツの蓄積場所を示すURIを追加記述し、前記検索領域と地理的に重なる前記第一の単位メッシュに蓄積済みの前記地域情報コンテンツのURIが記述されている場合は、そのURIを検索結果として取得する。
このように、蓄積済みの広域情報コンテンツに、新たに取得した地域情報コンテンツの蓄積場所を示すURIを追記することにより、検索対象となる地域情報コンテンツが蓄積済みであるか否かを容易に確認できるようにしているので、移動中の端末が定期的に現在地周辺のコンテンツを検索する場合に、不要なコンテンツ受信を繰り返すこと無く、効率的にコンテンツ検索処理を実行することができる。
本発明の第5の態様は、第2の態様にかかるコンテンツ受信方法において、前記広域情報コンテンツのデータ構造を解析し、そのデータ構造解析結果をキャッシュしておき、新たな前記検索領域が設定された場合には、キャッシュ済みのデータ構造解析結果を利用して、前記検索領域と地理的に重なる前記第一の単位メッシュに対応するURIを取得し、前記広域情報検索ステップにおいて取得されたURIに対応する前記地域情報コンテンツを既に受信済みの場合には、前記地域情報コンテンツの受信処理を実行せず、前記地域情報コンテンツのデータ構造を解析し、そのデータ構造解析結果をキャッシュしておき、新たな前記検索領域を設定し、かつ、前記地域情報コンテンツのキャッシュ済みのデータ構造解析結果が存在する場合には、そのデータ構造解析結果を利用して、前記検索領域に内包される位置情報を有する前記位置依存コンテンツのメタデータを取得する。
このように、広域情報コンテンツおよび地域情報コンテンツの解析結果をキャッシュしておき、これを再利用するので、同一の広域情報コンテンツもしくは地域情報コンテンツを対象として、検索条件のみを変更してコンテンツの検索処理を繰り返す場合における検索処理速度が向上する。
本発明の第6の態様は、第2の態様にかかるコンテンツ受信方法において、前記地域情報コンテンツは、前記広域情報コンテンツのURIが記載されているファイル関係情報を有し、前記広域情報受信ステップと前記広域情報検索ステップとが未実行の状態で、前記地域情報検索ステップを実行する際に、前記検索領域設定ステップにおいて新たな前記検索領域が、前記地域情報コンテンツに対応する地理的領域に内包されない場合には、前記広域情報受信ステップは、前記地域情報コンテンツの前記ファイル関係情報を参照して、前記地域情報コンテンツに対応する前記広域情報コンテンツを受信する。
このように、地域情報コンテンツに記述されている広域情報コンテンツへのリンク情報を参照して、地域情報コンテンツから広域情報コンテンツにアクセスすることができるので、広域情報コンテンツと地域情報コンテンツの取得順序を規定せずに、データ受信処理と、現在地周辺の位置依存コンテンツの検索処理を実行することができる。
本発明の第7の態様は、第6の態様にかかるコンテンツ受信方法において、新たに受信した前記地域情報コンテンツを蓄積する処理を行い、当該の前記地域情報コンテンツに対応する蓄積済みの前記広域情報コンテンツが存在する場合に、前記地域情報コンテンツの前記ファイル関係情報に、当該の蓄積済みの前記広域情報コンテンツのURIを追加記述し、前記地域情報コンテンツの前記ファイル関係情報に、蓄積済みの前記広域情報コンテンツのURIが記載されている場合には、その蓄積済みの前記広域情報コンテンツを取得する。
このように、地域情報コンテンツに、蓄積済みの広域情報コンテンツへのリンク情報を追記し、地域情報コンテンツから広域情報コンテンツに再アクセスする際には、蓄積済みの広域情報コンテンツを利用するので、不要なコンテンツ受信処理が繰り返されるのを回避し、効率的にコンテンツ検索処理を行うことができる。
本発明の第8の態様は、第2の態様にかかるコンテンツ受信方法において、取得された前記位置依存コンテンツのメタデータには、当該位置依存コンテンツのURIが含まれており、前記位置依存コンテンツのURIがハイパーリンクとして記述され、前記位置依存コンテンツが取得可能である検索結果一覧リストを生成し、前記検索結果一覧リストから指定された前記位置依存コンテンツの取得および表示を行う。
このように、コンテンツ検索結果から生成した、検索された位置依存コンテンツへのリンクを含む表示可能なコンテンツを表示するので、ユーザは、コンテンツ検索結果を確認した後に、所望の位置依存コンテンツを選択して閲覧することができる。
本発明の第9の態様にかかるコンテンツ配信方法は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツのメタデータを配信するコンテンツ配信方法において、前記位置依存コンテンツと関連付けられる地理的位置情報とURIとを含む位置依存コンテンツのメタデータを蓄積する蓄積ステップと、蓄積済みである複数個の前記位置依存コンテンツのメタデータを解析して前記位置依存コンテンツが分布する地理的空間を規定する分布領域算出ステップと、前記位置依存コンテンツが分布する地理的空間に第一のメッシュエリアを設定し前記第一のメッシュエリアを構成する第一の単位メッシュが規定する地理的空間に第二のメッシュエリアを設定するエリア設定ステップと、前記第二のメッシュエリアに対して、個々の第二の単位メッシュにその単位メッシュが規定する地理的空間に含まれる位置情報を有する前記位置依存コンテンツのメタデータが列挙したデータ構造を持つ地域情報コンテンツを生成する地域情報生成ステップと、前記第一のメッシュエリアに対して個々の第一の単位メッシュにその単位メッシュに対応する前記地域情報コンテンツのURIを付与したデータ構造を持つ広域情報コンテンツを生成する広域情報生成ステップと、前記広域情報コンテンツを配信する広域情報配信ステップと、前記地域情報コンテンツを配信する地域情報配信ステップと、を具備した構成を採る。
これにより、位置依存コンテンツの分布領域を表現したメッシュエリアと位置依存コンテンツの地理的位置関係を記述した情報を、一つの広域情報コンテンツと複数個の地域情報コンテンツとに分割して配信するので、コンテンツ受信装置は、広域情報コンテンツを参照することによって、現在地周辺の情報を含む地域情報コンテンツのみを受信することが可能であり、現在地周辺の位置依存コンテンツを効率良く検索することができる。
本発明の第10の態様は、第9の態様にかかるコンテンツ配信方法において、前記広域情報コンテンツに、前記第一のメッシュエリアのメッシュ分割方法に関する情報を記載した第一のメッシュエリア定義を付加し、かつ、前記第一の単位メッシュに、前記第一のメッシュエリア定義から算出した第一のメッシュインデックス番号を付加し、前記地域情報コンテンツに、前記第二のメッシュエリアのメッシュ分割方法に関する情報を記載した第二のメッシュエリア定義を付加し、かつ、前記第二の単位メッシュに、前記第二のメッシュエリア定義から算出した第二のメッシュインデックス番号を付加する。
このように、広域情報コンテンツおよび地域情報コンテンツには、コンテンツ分布領域のメッシュ分割方法が記述されたメッシュエリア定義を有し、各メッシュにメッシュエリア定義から算出可能なインデックス番号が付与されているので、広域情報コンテンツ、および、地域情報コンテンツのデータ量が削減されると共に、コンテンツ受信装置における検索処理時間を短縮することができる。また、広域情報コンテンツと地域情報コンテンツは、それぞれ独立してメッシュエリア定義を有するので、コンテンツ受信端末は、地域情報コンテンツ単体によるコンテンツ検索も実行することができる。
本発明の第11の態様は、第10の態様にかかるコンテンツ配信方法において、前記広域情報コンテンツの前記第一の単位メッシュに、当該の前記第一の単位メッシュに対応する地理的空間に属する前記位置依存コンテンツの個数を示す第一のコンテンツ個数情報を付加し、前記地域情報コンテンツの前記第二の単位メッシュに、当該の前記第二の単位メッシュに対応する地理的空間に属する前記位置依存コンテンツの個数を示す第二のコンテンツ個数情報を付加する。
このように、広域情報コンテンツおよび地域情報コンテンツには、各単位メッシュエリアに対応する地理的領域に属する位置依存コンテンツの個数が記述されているので、コンテンツ受信装置は、検索領域に内包される位置情報を有する位置依存コンテンツを地域情報コンテンツから実際に検索しなくても、位置依存コンテンツの概数を把握することができる。
本発明の第12の態様は、第10の態様にかかるコンテンツ配信方法において、前記地域情報コンテンツに、当該地域情報コンテンツに対応する前記広域情報コンテンツのURIが記載されているファイル関係情報を付加する。
このように、地域情報コンテンツには、その地域情報コンテンツに対応する広域情報コンテンツのURIが記述されているので、コンテンツ受信装置は、最初に地域情報コンテンツを取得した場合においても、広域情報コンテンツを参照することによって、最初に取得した地域情報コンテンツに対応する地理的領域の周辺エリアの情報が記載されている地域情報コンテンツに容易にアクセスすることができる。
本発明の第13の態様は、第10の態様にかかるコンテンツ配信方法において、前記位置依存コンテンツとそのメタデータとを有するサーバより、前記位置依存コンテンツのメタデータを収集する。
このように、ネットワーク上に散在するサーバからコンテンツ情報を収集するので、広い地理的領域に分布する位置依存コンテンツを対象とする広域情報コンテンツ、および、地域情報コンテンツを生成することが容易であり、ユーザに対して利便性の高い情報を提供することができる。
本発明の第14の態様は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツの一覧リストから選択されたコンテンツを受信するコンテンツ受信装置において、地理空間における地点を示す地点位置情報を定期的に取得し前記地点位置情報を基準とする地理的領域を検索領域として設定する検索条件設定部と、前記位置依存コンテンツが分布する地理的空間の全領域を第一のメッシュエリアで表現し前記第一のメッシュエリアを構成する第一の単位メッシュに対応するコンテンツのURIが付与されているデータ構造を持つ広域情報コンテンツを受信する広域情報受信処理と、前記広域情報コンテンツに記載されたURIに対応するコンテンツであり、かつ、前記広域情報コンテンツを構成する一つの単位メッシュが規定する地理的空間を第二のメッシュエリアで表現し、前記第二のメッシュエリアを構成する第二の単位メッシュが規定する地理的空間に含まれる位置情報を有する前記位置依存コンテンツのメタデータが列挙されているデータ構造を持つ地域情報コンテンツを受信する地域情報受信処理とを実行するコンテンツ受信部と、前記広域情報コンテンツに含まれる前記第一の単位メッシュから前記検索領域と地理的に重なる前記第一の単位メッシュを検索し、検索された前記第一の単位メッシュに対応するURIを取得する広域情報検索処理と、前記地域情報コンテンツを構成する前記第二の単位メッシュから、前記検索領域と地理的に重なる前記第二の単位メッシュを検索し検索された前記第二の単位メッシュから前記検索領域に内包される位置情報を有する前記位置依存コンテンツのメタデータを取得する地域情報検索処理とを実行するコンテンツ処理部と、を具備したことを特徴とするコンテンツ受信装置である。
本発明の第15の態様は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツのメタデータを配信するコンテンツ配信装置において、前記位置依存コンテンツと関連付けられる地理的位置情報とURIとを含む位置依存コンテンツのメタデータを蓄積する蓄積部と、蓄積済みである複数個の前記位置依存コンテンツのメタデータを解析して前記位置依存コンテンツが分布する地理的空間を規定し前記位置依存コンテンツが分布する地理的空間に第一のメッシュエリアを設定し前記第一のメッシュエリアを構成する第一の単位メッシュが規定する地理的空間に第二のメッシュエリアを設定するデータ構造決定部と、前記第二のメッシュエリアに対して個々の第二の単位メッシュにその単位メッシュが規定する地理的空間に含まれる位置情報を有する前記位置依存コンテンツのメタデータが列挙したデータ構造を持つ地域情報コンテンツを生成する地域情報生成処理と、前記第一のメッシュエリアに対して個々の第一の単位メッシュに対応する前記地域情報コンテンツのURIを付与したデータ構造を持つ広域情報コンテンツを生成する広域情報生成処理とを行うコンテンツ生成部と、前記広域情報コンテンツおよび前記地域情報コンテンツを配信するコンテンツ配信部と、を具備したことを特徴とするコンテンツ配信装置である。
本発明の第16の態様は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツの一覧リストから選択されたコンテンツを受信するコンテンツ受信プログラムにおいて、前記位置依存コンテンツが分布する地理的空間の全領域を第一のメッシュエリアで表現し、前記第一のメッシュエリアを構成する第一の単位メッシュに対応するコンテンツのURIが付与されているデータ構造を持つ広域情報コンテンツを受信する広域情報受信ステップと、地理空間における地点を示す地点位置情報を定期的に取得し前記地点位置情報を基準とする地理的領域を検索領域として設定する検索領域設定ステップと、前記広域情報コンテンツに含まれる前記第一の単位メッシュから前記検索領域と地理的に重なる前記第一の単位メッシュを検索し、検索された前記第一の単位メッシュに対応するURIを取得する広域情報検索ステップと、前記広域情報検索ステップにおいて取得されたURIが示すコンテンツであり、かつ、前記広域情報コンテンツを構成する一つの単位メッシュに規定する地理的空間を第二のメッシュエリアで表現し、前記第二のメッシュエリアを構成する第二の単位メッシュにその単位メッシュが規定する地理的空間に含まれる位置情報を有する前記位置依存コンテンツのメタデータが列挙されているデータ構造を持つ地域情報コンテンツを受信する地域情報受信ステップと、前記地域情報コンテンツから前記検索領域と地理的に重なる前記第二の単位メッシュを検索し、検索された前記第二の単位メッシュから前記検索領域に内包される位置情報を有する前記位置依存コンテンツのメタデータを取得する地域情報検索ステップと、をコンピュータに行わせることを特徴とするプログラムである。
本発明の第17の態様は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツのメタデータを配信するコンテンツ配信プログラムにおいて、位置依存コンテンツと関連付けられる地理的位置情報とURIとを含む位置依存コンテンツのメタデータを蓄積する蓄積ステップと、蓄積済みである複数個の前記位置依存コンテンツのメタデータを解析して前記位置依存コンテンツが分布する地理的空間を規定する分布領域算出ステップと、前記位置依存コンテンツが分布する地理的空間に第一のメッシュエリアを設定し前記第一のメッシュエリアを構成する第一の単位メッシュが規定する地理的空間に第二のメッシュエリアを設定するエリア設定ステップと、前記第二のメッシュエリアに対して個々の第二の単位メッシュにその単位メッシュが規定する地理的空間に含まれる位置情報を有する前記位置依存コンテンツのメタデータが列挙したデータ構造を持つ地域情報コンテンツを生成する地域情報生成ステップと、前記第一のメッシュエリアに対して個々の第一の単位メッシュにその単位メッシュに対応する前記地域情報コンテンツのURIを付与したデータ構造を持つ広域情報コンテンツを生成する広域情報生成ステップと、前記広域情報コンテンツを配信する広域情報配信ステップと、前記地域情報コンテンツを配信する地域情報配信ステップと、をコンピュータに行わせることを特徴とするプログラムである。
本発明の第18の態様は、第16の態様または第17の態様に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
本発明の第19の態様は、地理的な位置情報と関連付けられるコンテンツである位置依存コンテンツに関して前記位置情報に基づいて前記位置依存コンテンツのメタデータを階層的に整理したコンテンツ一覧リストを配信するサーバと、前記コンテンツ一覧リストを受信し前記コンテンツ一覧リストを用いてユーザの関心領域に限定したコンテンツ情報を生成する端末と、を具備したことを特徴とするコンテンツ適応配信システムである。
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の一実施の形態にかかるコンテンツ適応配信システムの構成図である。このコンテンツ適応配信システムは、サーバが端末に対して、位置情報を有するコンテンツである位置依存コンテンツに関する広域的な情報を提供し、端末において位置依存コンテンツの検索および表示を行うものである。図1は、本実施の形態にかかるコンテンツ適応配信システムのシステム構成図である。
本実施の形態のコンテンツ適応配信システム100には、コンテンツ放送サーバ101、コンテンツ通信サーバ102(102a〜102b)、一般Webサーバ103(103a〜103c)、コンテンツ受信端末104(104a〜104c)、通信ネットワーク105、無線基地局106、GPS衛星107が設けられている。
コンテンツ放送サーバ101は、放送受信機能を有する端末に対して、一般的なデジタル放送を行うと同時に、カルーセル方式のデータ放送によるコンテンツ配信を行うことが可能な放送局である。本実施の形態においては、コンテンツ放送サーバ101は、例えば、地上デジタル放送によって、位置依存コンテンツに関する情報を配信する。また、本実施の形態においては、コンテンツ放送サーバ101は、通信ネットワーク105に接続されているものとする。
コンテンツ通信サーバ102は、インターネットプロトコルを利用して、通信機能を有する端末に対して、コンテンツを配信するサーバである。コンテンツ通信サーバ102の具体的例としては、インターネット上のWebサーバ(HTTPサーバ)を挙げることができる。本実施の形態においては、なお、コンテンツ通信サーバ102の数は限定しない。
一般Webサーバ103は、コンテンツ通信サーバ102と同様にインターネットプロトコルを利用して、通信機能を有する端末に対して、コンテンツを提供するサーバである。
コンテンツ受信端末104は、デジタル放送を受信する機能と、通信ネットワークにアクセスする機能と、GPS(Global Positioning System)等の位置情報を取得する機能を有する移動端末である。コンテンツ受信端末104は、コンテンツ放送サーバ101およびコンテンツ通信サーバ102、一般Webサーバ103からコンテンツを受信する。また、コンテンツ受信端末103は、PDA(Personal Digital Assistant)やカーナビゲーションシステムなどの任意の端末で良い。
通信ネットワーク105は、サーバ(コンテンツ放送サーバ101、コンテンツ通信サーバ102、一般Webサーバ103)とコンテンツ受信端末104との間で相互通信可能なネットワークであり、インターネットやWAN(Wide Area Network)、LAN(Local Area Network)、無線ネットワーク、あるいは、それらが複合したネットワークなど任意のネットワークである。
無線基地局106は、通信ネットワーク105と移動型のコンテンツ受信端末104との間の通信を中継する。
GPS衛星107は、船舶や飛行機、自動車などのナビゲーション(測位)に利用される衛星である。移動型のコンテンツ受信端末104は、複数個のGPS衛星107からの電波を受信して、端末の現在地の緯度・経度座標値を算出する。
次に、コンテンツ適応配信システム100において、送受信されるデータについて説明する。コンテンツ適応配信システム100では、インターネット上に存在する一般的な任意のコンテンツを送受信することが可能であるが、特に、位置依存コンテンツとそのメタデータ、リストコンテンツ、を送受信する。
位置依存コンテンツとは、地理的な位置情報、あるいは、地理的な配信範囲を有するコンテンツである。例えば、緯度・経度や住所を持つ店舗や施設などに関する内容が記載されたコンテンツや、配信地域が限定される広告などのコンテンツが、これに相当する。本実施の形態においては、緯度・経度座標値に対応付けられるHTMLコンテンツを位置依存コンテンツとする。ただし、位置依存コンテンツは、HTML以外の記述言語で記述されたコンテンツやMPEGなどの動画コンテンツなどでも良い。
この位置依存コンテンツは、一般Webサーバ103に保持されるものであり、任意のHTTPクライアント端末から自由にアクセスすることが可能である。すなわち、位置依存コンテンツは、URL(Uniform Resource Locator)を有する。これ以降、緯度・経度座標値や住所を地理的空間内の地点や領域を規定する情報であると定義し、これを地理的位置情報と呼ぶ。同様に、URL(もしくはURI)を通信ネットワーク105におけるコンテンツの位置を示す情報であると定義し、これをネットワーク位置情報と呼ぶこととする。すなわち、位置依存コンテンツは、地理的位置情報およびネットワーク位置情報を有する。
位置依存コンテンツを有する一般Webサーバ103は、位置依存コンテンツに付随するデータとしてメタデータも有する。本実施の形態においては、位置依存コンテンツのメタデータは、XML準拠の記述言語によって記述され、少なくとも、コンテンツ実態の地理的位置情報とネットワーク位置情報が含まれるものとする。これらのほかに、メタデータには、コンテンツのタイトルやカテゴリ、概要を記述したテキスト、連絡先、更新日時などを含むことができる。また、“位置依存コンテンツのメタデータをまとめたコンテンツ”を“メタ情報コンテンツ”と呼ぶ。さらに、メタ情報コンテンツから抽出した情報をコンテンツ情報と呼ぶこととする。
次にリストコンテンツについて説明する。リストコンテンツとは、位置依存コンテンツの所在を示すアドレス(URI)の一覧リストが記述されているコンテンツである。本実施の形態においては、リストコンテンツはXML準拠の記述言語で記述され、地理的位置情報によって位置依存コンテンツのコンテンツ情報が分類されているフォーマットをしている。すなわち、リストコンテンツに記載されている地理的位置情報を検索すると、その地理的位置情報と関連がある位置依存コンテンツのコンテンツ情報を参照することができる。
次に、図1のコンテンツ適応配信システムのうち、コンテンツ放送サーバ101とコンテンツ受信端末104に関して詳細な説明を行う。コンテンツ通信サーバ102と一般Webサーバ103は、ごく一般的なWebサーバ(HTTPサーバ)であるので説明を省略する。同様に、無線基地局106およびGPS衛星107に関しても、一般的な通信設備であるので説明を省略する。
まず、図2を参照しながら、コンテンツ放送サーバ101の内部構成を説明する。コンテンツ放送サーバ101は、通信ネットワーク105を介して、一般Webサーバ103からWebコンテンツのメタ情報コンテンツを収集し、収集したメタ情報コンテンツからリストコンテンツを生成し、そのリストコンテンツを放送によって配信する。
通信インタフェース部201は、通信ネットワーク105を介して、他の通信装置とデータ送受信を行うための通信手段である。
メタ情報コンテンツ収集部202は、一般Webサーバ103から送信されてくるWebコンテンツのメタ情報コンテンツを収集し、収集したメタ情報コンテンツを蓄積部208へ保存する。このメタ情報コンテンツには、Webコンテンツに関するメタデータが記述されており、少なくとも、Webコンテンツに関連する位置情報が含まれているものとする。このメタ情報コンテンツの詳細については後述する。また、メタ情報コンテンツ収集部202は、ロボット型のサーチエンジンによって、通信ネットワーク105に接続されている一般Webサーバ103を探索し、能動的にメタ情報コンテンツを取得するものとしても良い。
ツリー構造生成部203は、蓄積部208に蓄積されているメタ情報コンテンツを解析し、コンテンツ分布領域内における位置依存コンテンツの地理的な位置関係を階層的に表現したツリー構造データを生成する。このツリー構造データの生成は、(1)全ての位置依存コンテンツが含まれるコンテンツ分布領域を求める、(2)コンテンツ分布領域をメッシュエリアに分割する、(3)メッシュエリアと位置依存コンテンツの地理的位置関係を階層的に表現したツリー構造を生成する、という3つの過程から構成される。メッシュエリアと位置依存コンテンツの関係を表現したツリー構造の詳細については後述する。
リストコンテンツ生成部204は、メタ情報コンテンツ収集部202が収集したWebコンテンツのメタ情報コンテンツと、ツリー構造生成部203が生成したツリー構造データとを参照して、リストコンテンツを生成する。リストコンテンツは、一つのファイルのみから構成される場合と、複数ファイルから構成される場合の2通りがある。コンテンツ分布領域内に含まれるメタ情報コンテンツが少ないとき、リストコンテンツ生成部204は、ツリー構造データを一つのリストコンテンツとして記述して、これを一つのファイルとして出力する。一方、コンテンツ分布領域内に含まれるメタ情報コンテンツが多いときは、リストコンテンツ生成部204は、ツリー構造データを一つのルートツリーと複数個の部分ツリーとに分離し、各ツリーをリストコンテンツとして出力する。リストコンテンツのデータフォーマットの詳細については後述する。
GUI部205は、管理者がコンテンツ放送サーバ101を制御するためのGUI(Graphical User Interface)である。コンテンツ放送サーバ101の管理者は、GUI部205を介して、リストコンテンツを生成するために必要な各種パラメータ(例:コンテンツの検索件数や検索領域などの条件)の設定やリストコンテンツ生成の指示、あるいは、Webコンテンツのメタデータやリストコンテンツの内容確認を行うことができる。
コンテンツ配信部206は、リストコンテンツ生成部204において生成したリストコンテンツをカルーセル方式のデータ放送によって配信する。
放送インタフェース部207は、通常のデジタル放送を行う機能に加え、カルーセル方式のデータ放送を実行するための放送手段である。
蓄積部208は、Webコンテンツのメタ情報コンテンツやツリー構造データ、リストコンテンツを蓄積するためのデータ記憶手段であり、メタ情報コンテンツ収集部202と、ツリー構造生成部203、リストコンテンツ生成部204、コンテンツ配信部206とが接続される。
制御部209は、コンテンツ配信サーバ101の全ての構成要素を制御し、リストコンテンツの生成や配信などのスケジューリングを行う。
なお、コンテンツ放送サーバ101は、ハードウェアのみで構成されても良いし、あるいは、ソフトウェアプログラムの実行環境を有するハードウェアであっても良い。例えば、コンテンツ放送サーバ101の構成要素のうち、メタ情報コンテンツ収集部202や、ツリー構造生成部203、リストコンテンツ生成部204、コンテンツ配信部206などはソフトウェアプログラムとして搭載することが可能である。
また、本実施の形態においては、コンテンツ放送サーバ101は、通信インタフェース201およびメタ情報コンテンツ収集部202を搭載しているが、オフラインでメタ情報コンテンツを収集し、収集したメタ情報コンテンツを蓄積部208に蓄積する場合には、通信インタフェース201およびメタ情報コンテンツ収集部202は、無くても良い。
次に、コンテンツ受信端末104の内部構成を図3を用いて説明する。コンテンツ受信端末104は、GPS等によって取得した位置情報とコンテンツ放送サーバ101から取得したリストコンテンツを利用することによって、コンテンツ受信端末104の現在地周辺に関連するWebコンテンツを効率的に視聴することが可能なクライアント端末である。
放送インタフェース301は、地上デジタル放送や衛星放送、ケーブルテレビなどの放送を受信するためのデータ受信手段であり、カルーセル方式のデータ放送を受信できる。
通信インタフェース302は、通信ネットワーク105に接続される任意の通信装置と双方向通信を行うためのデータ送受信手段であり、インターネットプロトコル、特に、HTTPによって、サーバよりコンテンツを取得するために使用される。
コンテンツ処理部303は、制御部308からの指示に従って、放送インタフェース301もしくは通信インタフェース302からデータ(制御メッセージもしくはコンテンツ)を取得し、HTTPプロキシ処理、もしくは、リストコンテンツに対するコンテンツ適応処理を実行する。また、コンテンツ処理部303において処理されたデータは、コンテンツ表示制御部305に出力される。
コンテンツ構造解析部304は、コンテンツ処理部303からの指示に従ってリストコンテンツの構造解析を実行する。このリストコンテンツの構造解析では、リストコンテンツをツリー構造データとして表現し、ツリー構造データからの部分データを抽出するなどのデータ処理を行う。リストコンテンツの構造解析の結果として得られたツリー構造データは、コンテンツ適応処理の中間データとして蓄積部307に一時保存される。
コンテンツ表示制御部305は、コンテンツ処理部303から取得したデータ(コンテンツ)をブラウザ部306で表示可能なフォーマットに変換する。例えば、ブラウザ部306がXHTMLブラウザである場合は、XSLTなどを利用してXHTMLコンテンツを生成し、生成されたHTMLコンテンツをブラウザ部306に出力する。
ブラウザ部306は、コンテンツ表示制御部305から取得したコンテンツを表示するものであり、一般的なWebブラウザ(HTMLブラウザ)と同等の機能を持つ。ブラウザ部306は、制御部308を介してコンテンツ処理部303に対してコンテンツ配信に関わるメッセージ(HTTPメッセージ)を出力し、その応答としてHTMLコンテンツを受信する。また、ブラウザ部306は、コンテンツ放送サーバ101から取得したコンテンツも、コンテンツ通信サーバから取得したコンテンツと同様に表示することが可能である。
蓄積部307は、コンテンツ処理部303やコンテンツ構造解析部304が処理中のコンテンツを一時蓄積するために使用されるデータ記憶手段であり、メモリやハードディスクから構成されるものである。例えば、コンテンツ適応処理の対象となるコンテンツや放送から受信したコンテンツは、蓄積部307に一時蓄積され、所定の処理がなされた後に、コンテンツ表示制御部305を介してブラウザ部306へ送信される。
制御部308は、コンテンツ受信端末104の全体制御を行う。制御部308の主な機能は、位置情報取得部309から取得した位置情報をコンテンツ処理部303へ通知することである。また、制御部308は、コンテンツ処理部303やコンテンツ表示制御部305、ブラウザ部306に対して、コンテンツ取得やコンテンツ表示を指示する。例えば、制御部308は、コンテンツ処理部303に対して、コンテンツ放送サーバ101からのコンテンツを取得するために必要なパラメータ(受信チャネルや番組識別子など)を通知する、あるいは、ブラウザ部306に対して、一般Webサーバ103の有するコンテンツのアドレス(URL)や、蓄積部307に蓄積されているコンテンツのアドレス(ファイル名)を通知し、そのコンテンツの表示を指示するなどの処理を行う。
位置情報取得部309は、GPSなどによって地理的な位置情報(緯度・経度座標値)を取得し、取得した位置情報を制御部308へ出力する。この位置情報は、移動型のコンテンツ受信端末104の現在地を示すものである。これ以降、位置情報取得部309が出力する位置情報を関心地点位置情報と呼ぶ。
地図処理部310は、例えば、地図描画、地図の表示エリア変更・拡大・縮小、地図検索などの一般的な地図表示アプリケーションが有する機能を持つものである。この地図処理部310は、コンテンツ受信端末104の現在地を表示する、あるいは、ユーザが任意の場所(例:目的地)を検索するために使用される。また、地図処理部310は、地図上の特定地点の位置情報(=関心地点位置情報)を制御部308に出力することも可能である。なお、コンテンツ受信端末104が地図表示機能を必要としない場合は、地図処理部310は無くても良い。
GUI部311は、コンテンツ視聴や地図表示、地図検索に関わるユーザからの指示を取得する機能や、コンテンツ放送サーバ101から受信するコンテンツを選択する機能(受信チャネル選択など)、コンテンツ通信サーバ102や一般Webサーバ103から取得するコンテンツのアドレスを指定する機能、コンテンツ放送サーバ101から受信したリストコンテンツに含まれる情報をユーザに提示する機能、ユーザからの各種情報入力を受け付ける機能などを備えたGUI(Graphical User Interface)である。
ここで、コンテンツ処理部303、コンテンツ表示制御部305、ブラウザ部306、制御部308の関係について補足する。前述のように、コンテンツ処理部303は、制御部308からの指示に従って、放送インタフェース301もしくは通信インタフェース302からデータを取得し、HTTPプロキシ処理、もしくは、リストコンテンツに対するコンテンツ適応処理を実行し、処理後のデータをコンテンツ表示制御部305に出力する。
本実施の形態においては、ブラウザ部306はHTMLブラウザであり、HTTPによって取得したコンテンツを表示する。この際のWebサーバとブラウザ部306との間のHTTPメッセージの送受信は、通信インタフェース部302、コンテンツ処理部303、コンテンツ表示制御部304を経由して実行される。すなわち、コンテンツ処理部303は、HTTPメッセージを中継するHTTPプロキシに準じる機能を有する。
制御部308は、コンテンツ処理部303に対して、(1)データ放送からのデータ取得の指示、(2)リストコンテンツの取得および位置適応処理の指示、(3)関心地点位置情報の定期通知、を行う。
(1)においては、コンテンツ処理部303は、放送インタフェース301を介して、カルーセル方式のデータ放送中に含まれるコンテンツを取得する。コンテンツ処理部303は、カルーセル方式のデータ放送の仕様に従ってデータを受信し、受信データを蓄積部307に一時蓄積する。そして、コンテンツ処理部303は、分割送信されてくるコンテンツの受信・蓄積が完了したら、蓄積部307に蓄積したコンテンツのアドレス(ファイル名)を制御部308へ通知する。このコンテンツのアドレスが、制御部308からブラウザ部306へ通知されることによって、コンテンツ放送サーバ101から受信し、蓄積部307に蓄積されたコンテンツがブラウザ部306に表示される。
(2)においては、コンテンツ処理部303は、コンテンツ放送サーバ101もしくはコンテンツ通信サーバ102より取得したリストコンテンツに対する位置適応処理を実行する。位置適応処理とは、Webコンテンツの位置情報の一覧リストであるリストコンテンツから、関心地点位置情報が示す地点を中心に設定した関心領域に含まれるWebコンテンツの一覧リスト、すなわち、局所領域リストコンテンツを生成する処理を指す。
本実施の形態において、局所領域リストコンテンツは、ブラウザ部306に直接表示が不可能なコンテンツである。コンテンツ処理部303は、局所領域リストコンテンツをコンテンツ表示制御部305に送信する。コンテンツ表示制御部305は、取得した局所領域リストコンテンツを、XSLT等を利用してブラウザ表示可能なコンテンツに変換し、ブラウザ部306へ出力する。
(3)においては、コンテンツ処理部303は、制御部から定期的に通知されてくる関心地点位置情報を取得し、蓄積部307に蓄積済みのリストコンテンツを読み出し、最新の関心地点位置情報が示す地点を中心とする円領域を検索領域として設定して位置適応処理を実行し、局所領域リストコンテンツを生成する。生成した局所領域リストコンテンツは、(2)の場合と同様に、コンテンツ表示制御部305へ出力する。なお、円領域の半径は、コンテンツ処理部303において適切に設定するか、GUI部311を介してユーザが設定するものとする。
このように、コンテンツ処理部303は、ブラウザ部306もしくは制御部308からの指示に従って、HTTPメッセージの中継処理やコンテンツに対する位置適応処理を実行する。
次に、コンテンツ適応配信システム100においてコンテンツ受信端末104に提供されるサービスの概要を説明する。図4は、本実施の形態において想定する、位置依存コンテンツが分布する地理的な空間、すなわち、コンテンツ分布領域を示したものである。
図4のコンテンツ分布領域400は、x軸方向に4分割、y軸方向に3分割と矩形メッシュ状に分割されている。これ以降、個々の矩形メッシュを地理的コンテンツエリアと呼ぶ。また、図4のx軸方向およびy軸方向に0から始まる番号を振り、個々の矩形メッシュをxy座標値で表すこととする。例えば、x座標=2、y座標=1の矩形メッシュを地理的コンテンツエリア(2,1)と記載する。
個々の地理的コンテンツエリアの内部には、店舗や施設などの地物(feature)が分布している。ここで、地物とは、地理情報システム(GIS:Geographic Information System)分野で使用される専門用語であり、「地球上のある地点に関連付けられた実世界の現象」を指す。本実施の形態においては、“地点”や“領域”として地図上にマッピングされるものの総称を「地物」と呼ぶ。「地物」の具体例としては、建造物や公園、道路などを挙げることができる。
ここで、図4のエリア(0,2)に属する地物Aを店舗Aと置き換えて説明する。店舗Aは、その店舗が扱う商品に関する情報を掲載したコンテンツを有する。そのコンテンツは、店舗の場所(緯度・経度座標値)と関連付けられるので、位置依存コンテンツと言うことができる。店舗Aは、一般Webサーバ103を有し、そのサーバのURLを公開して、店舗Aの位置依存コンテンツとそのメタ情報コンテンツをコンテンツ受信端末104に対して提供している。
すなわち、一般Webサーバ103は、地物Aに関連する位置依存コンテンツとそのメタ情報コンテンツを保持する。そして、地物Aに関連する位置依存コンテンツは、ネットワーク位置情報(URL)を有し、地物Aが存在する地点の緯度・経度座標値を地理的位置情報に対応付けられる。
なお、図4中には、コンテンツ放送サーバ101やコンテンツ通信サーバ102、一般Webサーバ103は記載していない。これらのサーバは、コンテンツ受信端末104からアクセス可能であれば、任意の位置に存在していて良い。また、地物の地理的位置とその地物に対応する一般Webサーバ103の地理的位置とは、必ずしも一致しなくて良い。すなわち、地物Aの位置に、その地物Aの一般Webサーバ103が存在する必要は無く、一般Webサーバ103は全く別の場所に存在しても構わない。また、図4では、12個の地理的コンテンツエリアを提示しているが、地理的コンテンツエリアの個数は任意で良い。同様に、個々の地理的コンテンツエリアに含まれる地物の数も任意で良い。
次に、図4を参照しながら、コンテンツ受信端末104におけるコンテンツ受信の概要を説明する。図4において、コンテンツ受信端末104は、地点401Pから地点402Pを経由して地点403Pまで移動し、移動中にコンテンツ受信端末104のユーザが、現在地周辺に関する情報を探すと仮定する。
図4において、それぞれの地点401P、402P、403Pを中心として設定されている円領域401R、402R、403Rは、関心領域ROI(Region Of Interrest)である。この関心領域ROIは、例えば、コンテンツ受信端末104の現在地を基準に設定される領域であり、位置依存コンテンツの探索範囲を規定するものである。本実施の形態においては、関心領域ROIを円領域とするが、円以外の形状としても良い。
コンテンツ受信端末104は、図4に示す経路を移動中に、コンテンツ放送サーバ101が配信するリストコンテンツを受信し、そのリストコンテンツから局所領域リストコンテンツを生成する。リストコンテンツには、コンテンツ分布領域400内に存在する全ての位置依存コンテンツに関する情報が含まれているのに対し、局所領域リストコンテンツには、関心領域内の位置依存コンテンツに関する情報のみが含まれている。
例えば、コンテンツ受信端末104が、地点401Pに存在するとき、関心領域401Rの中には、地物Aと地物Bが存在するので、局所領域リストコンテンツにも地物Aと地物Bのみの情報が記述されている。コンテンツ受信端末104が地点402Pに移動すると、局所領域リストコンテンツは地物Cおよび地物Dの情報のみを含むものに更新される。さらに、コンテンツ受信端末104が地点403Pに移動すると、局所領域リストコンテンツは地物E、地物Fおよび地物Gの情報のみを含むものに更新される。
図5は、コンテンツ受信端末104のブラウザ部306に表示される局所領域リストコンテンツの一例を示したものであり、局所領域リストコンテンツ501、502、503は、コンテンツ受信端末104が地点401P、402P、403Pに位置する場合に対応するものである。ユーザがブラウザ部306に表示された局所領域リストコンテンツから視聴を希望するコンテンツを選択すると、コンテンツ受信端末104は、選択されたコンテンツに対応する一般Webサーバ103にアクセスし、ブラウザ部306に位置依存コンテンツを表示する。
このように、コンテンツ受信端末104が、放送により配信されるリストコンテンツから局所領域リストコンテンツを生成し、位置移動と共に、ユーザに提示する局所領域リストコンテンツを逐次更新することによって、効率的に位置依存コンテンツを検索することができる。
次に、本実施の形態にかかるコンテンツのフォーマットについて説明する。
まず、位置依存コンテンツのメタ情報コンテンツについて図6を用いて説明する。位置依存コンテンツのメタ情報コンテンツ情報は、XML準拠の記述言語によって記述される。本実施の形態においては、ConentInfoという架空の名前空間を定義して、メタ情報コンテンツを記述する。名前空間接頭辞(Namespace prefix)は“ci”とする。なお、本実施の形態において提示する全てのXMLによる記述例は、XML宣言、名前空間の宣言などが省略されている不完全なXML文書である。
図6のメタ情報コンテンツ600には、ContentInfo要素の開始タグ601と終了タグ610との間に、位置依存コンテンツに関する数種類の情報が記載されている。メタ情報コンテンツの記述内容に関しては、特に制限を設けず、任意の情報を記述できるものとする。
605に示すものは、コンテンツの位置情報を記述したLocation要素である。Location要素は、子要素として、Coordinate要素とAddress要素とZipCode要素とを持つ。Coordinate要素には、位置依存コンテンツに対応する地物が存在する地点の緯度・経度座標値が記述される。Address要素とZipCode要素は、それぞれ、位置依存コンテンツに対応する地物が存在する地点の住所と郵便番号を記述する要素である。なお、地理的位置情報に相当するものは、Coordinate要素である。これに対し、607に示すものは、コンテンツの参照先をURLによって記述するReference要素であり、これはネットワーク位置情報に相当する。図6の例のうち、地理的位置情報であるCoordinate要素と、ネットワーク位置情報であるReference要素が、コンテンツ放送サーバ101におけるリストコンテンツ生成のために必須の情報である。
図6に記述されているその他の要素を簡単に説明する。602に示すものは、コンテンツの内容を記述している言語を示すLanguage要素である。603では、コンテンツのタイトルやカテゴリ、検索時に使用されるキーワードが記述されている。604に示すものは、コンテンツの作成日、有効期間、更新日を示す情報をまとめたDate要素である。606に示すものは、コンテンツに関連する連絡先(電話番号および電子メールアドレス)を記述するContactAddress要素である。608に示すものは、コンテンツの配信範囲を記述するためのDistributionRange要素である。609に示すものは、コンテンツの概要をテキストで記述するAbstract要素である。
図7は、コンテンツ情報の記述例である。このコンテンツ情報700は、メタ情報コンテンツ600から抽出した情報から構成され、少なくともネットワーク位置情報を含んでいる。コンテンツ情報700のContentInfo要素には、子要素として、Title要素、Category要素、地理的位置情報としてのCoordinate要素、ネットワーク位置情報としてのReference要素、そして、Metadata要素が含まれる。ここで、Metadata要素とは、Reference要素に記述されたコンテンツのメタデータの参照先を記述する要素である。すなわち、コンテンツ情報700には、メタ情報コンテンツ600へのリンク情報が含まれている。
コンテンツ放送サーバ101は、複数のメタ情報コンテンツを収集し、それらのメタ情報コンテンツからコンテンツ情報を生成し、さらに、リストコンテンツを生成する。このリストコンテンツには、地理的位置情報によって分類されたコンテンツ情報が列挙される。リストコンテンツには、図6に示すような多様な情報を含むメタ情報コンテンツ600ではなく、図7に示すような情報量を減らしたコンテンツ情報700を記述する。これは、リストコンテンツの総データ量を削減することを目的としたものである。従って、リストコンテンツの総データ量に制限が無い場合は、リストコンテンツ中にメタ情報コンテンツ600をそのまま記述することとしてもよい。また、コンテンツ情報700に含まれるMetadata要素は、メタ情報コンテンツ600を参照できるようにすることを目的としたものである。
次に、図8〜図25を参照しながら、リストコンテンツの構造と記述例について説明する。
リストコンテンツは、XML準拠の記述言語で記述される、地理的位置情報によって分類されたコンテンツ情報を列挙したコンテンツである。これ以降、リストコンテンツを記述するための記述言語を、仮にCLML(Contents List Markup Language)と呼び、名前空間接頭辞を“cl”とする。
図8は、リストコンテンツの構造を示す図である。リストコンテンツ800は、リストコンテンツ要素810によって記述される。このリストコンテンツ要素810は、一つのメッシュエリア定義820と一つのエリア位置情報830、複数個のエリア情報ブロック831から構成される。そして、リストコンテンツ要素810の中に含まれる各エリア情報ブロック831は、一つのエリア位置情報840と複数個のコンテンツ情報ブロック841から構成される。さらに、図8に示すリストコンテンツ800においては、各エリア情報ブロック841は、一つのエリア位置情報850と複数個のエリア情報ブロック851から構成される。このように、一つのエリア情報ブロックは、その中に複数個のエリア情報ブロックが含むという階層構造をしている。
ここで、エリア情報ブロックとは、地理的コンテンツエリア内の情報を記述した要素である。また。エリア位置情報とは、地理的コンテンツエリアの位置情報(例:基準地点の位置座標と形状情報)を記述した要素であり、絶対的な位置情報記述と相対的な位置情報記述が可能である。絶対的な位置情報とは、例えば、コンテンツエリアの代表基準点の緯度・経度座標とエリア形状を定義するパラメータから成るデータである。一方、相対的な位置情報とは、コンテンツ分布領域をメッシュ分割して、各メッシュに割り当てたインデックス番号(=メッシュインデックス番号)である。図8のメッシュエリア定義820は、コンテンツ分布領域とメッシュエリア分割を規定する情報である。
リストコンテンツ800において最下層に位置するエリア情報ブロック851は、エリア位置情報860と複数個のコンテンツ情報ブロック861から構成される。そして、コンテンツ情報ブロック861は、地理的位置情報870とコンテンツ情報871から構成され、コンテンツ情報871には、少なくとも、ネットワーク位置情報880が含まれる。ここで、コンテンツ情報ブロックとは、一つの位置依存コンテンツのメタ情報を記述した要素である。なお、図8のリストコンテンツは、3階層のエリア情報ブロックから構成されているが、エリア情報ブロックは任意の階層数として良い。
図8の例では、リストコンテンツ800は一つのファイルから構成されるが、リストコンテンツを複数ファイルに分割することも可能である。図9および図10は、複数ファイルから構成されるリストコンテンツの構造を示す図である。図9のリストコンテンツには、図8のリストコンテンツ800の第2階層までのエリア情報ブロックと、第3階層のエリア情報ブロックへのリンク情報が記述されている。一方、図10のリストコンテンツには、第3階層以下のエリア情報ブロックが記述されている。
図8、図9、図10はいずれもリストコンテンツであるが、これらを区別する場合には、図8を全体ツリーリストコンテンツと呼び、図9をルートツリーリストコンテンツと呼び、図10を部分ツリーリストコンテンツと呼ぶ。また、図9および図10から構成される全体ツリーリストコンテンツは、一つのルートツリーリストコンテンツと、複数個の部分ツリーリストコンテンツから構成される。なお、全体ツリーリストコンテンツは、任意の階層のエリア情報ブロックにおいてもルートツリーと部分ツリーに分割しても良く、部分ツリーリストコンテンツは、さらに部分ツリーに分割することも可能である。
次に、図9のルートツリーに相当するリストコンテンツ900について説明する。リストコンテンツ900は、リストコンテンツ要素910によって記述される。このリストコンテンツ要素910は、一つのメッシュエリア定義920と、一つのファイル関係情報930と、一つのエリア位置情報940と、複数個のエリア情報ブロック941とから構成される。そして、リストコンテンツ要素910の中に含まれる各エリア情報ブロック941は、一つのエリア位置情報950と複数個のエリア情報ブロック951から構成される。さらに、各エリア情報ブロック951は、一つのエリア位置情報960と複数個のエリア情報URI961から構成される。
ここで、エリア情報URI961は、部分ツリーリストコンテンツへのリンク情報である。例えば、部分ツリーリストコンテンツがWebコンテンツである場合は、エリア情報URI961には、そのコンテンツのURLが記述される。また、ファイル関係情報930は、ルートツリーリストコンテンツと部分ツリーリストコンテンツの関係を記述する要素である。例えば、部分ツリーリストコンテンツのファイル関係情報930には、ルートツリーに相当するリストコンテンツのURIを記述する。同様に、部分ツリーを有するルートツリーリストコンテンツのファイル関係情報930には、部分ツリーの有無を示す情報を記述する。なお、リストコンテンツが、ルートツリーと部分ツリーに分離されず、一つのファイルから構成されている場合は、ファイル関係情報930は無くても良い。
次に、図10の部分ツリーに相当するリストコンテンツ1000について説明する。リストコンテンツ1000は、リストコンテンツ要素1010によって記述される。このリストコンテンツ要素1010は、一つのメッシュエリア定義1020と、一つのファイル関係情報1030と、一つのエリア位置情報1040と、複数個のエリア情報ブロック1041とから構成される。そして、リストコンテンツ要素1010の中に含まれる各エリア情報ブロック1041は、一つのエリア位置情報1050と複数個のコンテンツ情報ブロック1051から構成される。各コンテンツ情報ブロック1051は、一つの地理的位置情報1060とコンテンツ情報1061から構成され、コンテンツ情報1061には、少なくとも、ネットワーク位置情報1070が含まれる。なお、メッシュエリア定義がルートツリーリストコンテンツと共通である場合は、メッシュエリア定義1020は無くても良い。また、部分ツリーからルートツリーを参照する必要がない場合は、部分ツリーリストコンテンツには、ファイル関係情報930は無くても良い。また、部分ツリーリストコンテンツがメッシュエリア定義を有する場合、その部分ツリーリストコンテンツは、全体ツリーの一部であると同時に、単体で全体ツリーリストコンテンツとしても機能する。すなわち、コンテンツ受信端末104は、ルートツリーリストコンテンツを参照せず、部分ツリーリストコンテンツのみを利用してもコンテンツを検索することが可能である。
次に、メッシュエリアとエリア情報ブロックの関係について補足する。図11は、コンテンツ分布領域とメッシュエリアの地理的関係を示す図である。図11では、8×8のメッシュに分割したコンテンツ分布領域1100について、2×2のメッシュをまとめたものを上位メッシュと定め、その上位メッシュに関して、さらに2×2のメッシュをまとめることによって、3階層のメッシュ階層構造を規定している。この改造構造は、図8で提示したリストコンテンツのエリア情報ブロックの階層構造に対応する。
図11のメッシュ階層構造1110とメッシュ階層構造1120は、それぞれ、図9のルートツリーリストコンテンツと図10の部分ツリーリストコンテンツとのエリア情報ブロックを図示したものである。メッシュ階層構造1110は、図9のルートツリーリストコンテンツ900の第1階層および第2階層のエリア情報ブロックの関係を表している。ルートツリーリストコンテンツ900は、第1階層として4つのエリア情報ブロックが含まれる。これは、図11中の1111に相当する。そして、第1階層の4つのエリア情報ブロックは、それぞれ、4つのエリア情報ブロックを持つ。これは、図11中の1112に相当する。
図9において、第2階層のエリア情報ブロックは、部分ツリーリストコンテンツへのリンク情報(エリア情報URI961)を持つ。このリンク情報は、図11のメッシュ階層構造1120を指し示すものである。このメッシュ構造1120は、図10の部分ツリーリストコンテンツ1000のエリア情報ブロックとコンテンツ情報ブロックの関係を表している。部分ツリーリストコンテンツ1000には、4つのエリア情報ブロックが含まれる。これは、図11中の1121に相当する。そして、各エリア情報ブロックは、複数個のコンテンツ情報ブロックを持つ。このコンテンツ情報ブロックが、メッシュエリア中の位置依存コンテンツのメタ情報に相当する。
このように、本実施の形態においては、コンテンツ分布領域を階層化メッシュエリアに分割して、これをツリー構造で表現し、そのツリー構造をルートツリーと部分ツリーに分割する。さらに、階層構造を持つメッシュエリアと位置依存コンテンツとの地理的位置関係は、XML文書として記述される。
ここで、メッシュエリア分割を行う理由を示す。図8や、図9および図10で提示したリストコンテンツは、コンテンツ分布領域内に存在する位置依存コンテンツのメタ情報を管理するものである。コンテンツ分布領域内に含まれる位置依存コンテンツを一括して管理する場合、位置依存コンテンツの個数が増大すると検索に要する処理時間が長くなり、また、コンテンツの管理が煩雑になる。そこで、図11の1100の様に、コンテンツ分布領域をメッシュ分割して、メッシュ単位でコンテンツを管理する。このようにすると、位置情報に基づいて位置依存コンテンツを検索する場合、該当メッシュエリア検索とメッシュ内のコンテンツ検索という2段階の検索処理によって処理効率を向上することができる。
次に、メッシュエリアを階層化する理由を示す。コンテンツ分布領域が広大であり、かつ、その中に含まれる位置依存コンテンツの個数が膨大である場合、コンテンツ分布領域のメッシュ分割数を多くする必要がある。メッシュエリアの個数が増大すると、メッシュエリアの検索に要する処理時間が長くなる。そこで、さらなる処理時間の効率化を図るために、メッシュエリアを階層化して、段階的に検索領域を絞り込むことが可能なデータ構造としている。
次に、リストコンテンツをルートツリーと部分ツリーに分割する理由を示す。コンテンツ分布領域が広くなり、位置依存コンテンツの個数が増加すると共に、リストコンテンツの階層構造が深くなり、ツリーの分岐数も増大する。例えば、日本の国土全体をコンテンツ分布領域をとするリストコンテンツを考える。ある限定された地域のみを移動範囲とするコンテンツ受信端末104は、日本全域に関する情報を必要とせず、移動範囲に相当する地理的領域の情報だけを保持すれば十分である。このような場合を想定すると、一つのリストコンテンツですべての情報を管理するより、エリア単位でファイルを分割して情報を管理することが望ましいと言える。そこで、リストコンテンツを、メッシュエリアの階層構造を記述したルートツリーと、下位層のメッシュエリアの情報を記述した(複数個の)部分ツリーに分割し、個々のコンテンツ受信端末104が必要とするリストコンテンツのみを取得できるようにしている。また、リストコンテンツをルートツリーと部分ツリーに分割することは、地域毎に位置依存コンテンツを分散管理できるという利点もある。すなわち、ルートツリーリストコンテンツは、地域情報へのURIが記述されている広域情報であり、部分ツリーリストコンテンツは、地域毎に分散管理される地域情報として機能する。また、地域毎に作成したリストコンテンツを収集し、それらのリストコンテンツを部分ツリーリストコンテンツとし、部分ツリーリストコンテンツを統合するルートツリーリストコンテンツを作成すること可能である。
なお、図11の例では、2×2のメッシュを基本するツリー構造を持ったリストコンテンツとしているが、位置依存コンテンツの個数やコンテンツ分布領域のメッシュ分割数に応じて、任意のツリー構造(階層数、部分ツリー分割位置など)を持ったリストコンテンツを構築しても良い。
このように、位置依存コンテンツの分布領域を表現したメッシュエリアと位置依存コンテンツの地理的位置関係を記述した情報を、一つのルートツリーリストコンテンツと複数個の部分ツリーリストコンテンツとに分割して配信するので、コンテンツ受信装置は、ルートツリーリストコンテンツを参照することによって、現在地周辺の情報を含む部分ツリーリストコンテンツのみを受信することが可能であり、現在地周辺の位置依存コンテンツを効率良く検索することができる。
引き続いて、CLMLによる記述例を参照しながら、リストコンテンツを説明する。図12は、CLMLコンテンツの基本構造を示したものである。図12のリストコンテンツ1200は、Clml開始タグとClml終了タグによって囲まれており、その中にComponent要素1201がある。このComponent要素1201は、子要素として、位置に関する条件を記述するLocationCondition要素1202と、位置に関する条件を満たす場合に選択(抽出)されるテキストデータを記述するContainer要素1203を持つ。すなわち、位置適応処理の際には、LocationCondition要素1201に記述されている位置条件を参照し、この条件を満たす場合には、Container要素の中身を出力する。その結果、CLMLのタグを含まないドキュメントが生成される。
図12の例では、Clml要素の中にComponent要素が一つしか存在しないが、Component要素を列挙して記述することが可能である。また、Container要素は、子要素として、Component要素を持つことができる。このような、Component要素の並列記述とComponent要素の入れ子記述を組み合わせると、図8や図9および図10で提示したリストコンテンツをXML文書として表現することが可能である。なお、LocationCondition要素は単独で使用できないのに対し、Container要素は単独で使用することも可能とする。この場合、位置に関する条件が常に“真”であるため、Conponent要素およびLocationCondition要素を省略し、Container要素のみを記述したことを意味する。
図13は、CLMLで記述したリストコンテンツの基本構造を示したものである。この例は、図8に示すような一つのファイルから構成されるリストコンテンツに相当する。図13のリストコンテンツ1300は、Clml開始タグ1301とClml終了タグ1304に囲まれ、その中に、一つのMeshAreaDef要素1302と一つのComponent要素1303が含まれる。
図13のMeshAredDef要素1302について説明する。MeshAreaDef要素1302は、リストコンテンツの先頭部分において一度だけ記述される要素であり、コンテンツ分布領域のメッシュ分割方法を定義するパラメータ、すなわち、メッシュエリア定義が記述される。図13の例では、MeshAreaDef要素1302は、MeshAreaDef開始タグ1305とMeshAreaDef終了タグ1310によって囲まれた部分全体を指す。MeshAreaDef開始タグ1305は、メッシュ基本単位の形状を示すためのtype属性を持つ。この例では、メッシュ基本単位を矩形(Rectangle)としている。また、MeshAreaDef要素1302は、子要素として、MeshOrigin要素1306とAreaSize要素1307とNumOfMesh要素1308とTreeStructure要素1309を持つ。
MeshOrigin要素1306には、メッシュ分割の基準点(=コンテンツ分布領域の基準点)が記述される。MeshOrigin開始タグはpos属性を持ち、このpos属性により矩形のいずれかの頂点を指定する。そして、子要素のCoordinate要素によって、pos属性が示す地点の緯度・経度座標を定義する。図13の例では、矩形領域の右上の頂点を基準点としている。
AreaSize要素1307には、コンテンツ分布領域の辺の長さが記述される。ここで、メッシュ基本単位は地理的コンテンツエリアに相当するものである。図13の例では、unit属性によって長さの単位を指定し、x属性およびy属性によって、コンテンツ分布領域の縦横の辺の長さを4000mと定義している。
NumOfMesh要素1308には、x軸方向およびy軸方向に並ぶメッシュ基準単位の個数が記述される。この例では、x属性およびy属性によって、x軸方向に8個、y軸方向に8個の矩形メッシュが並ぶことが定義されている。
TreeStructure要素1309には、メッシュエリアのツリー構造情報が記述される。この例では、TreeStructure要素1309のNumOfLayer属性によってメッシュエリアの階層数を定義し、子要素であるLayerInfo要素によって、第1階層および第2階層のメッシュ数を定義している。LayerInfo要素は、レイヤ番号を示すlayer属性と、x、y方向に並ぶメッシュ数を示すx属性およびy属性を持つ。図13の例では、第1階層は4×4、第2階層は2×2のメッシュエリアから構成されることが記述されている。
メッシュエリア定義は、リストコンテンツに含まれる各メッシュエリアのエリア位置情報を相対的に表現することによって、コンテンツの記述量を削減し、コンテンツの可読性(readability)を向上することができるという利点を持つ。また、メッシュエリア定義には、リストコンテンツ全体を解析せずに、コンテンツ分布領域に存在する地理的コンテンツエリアの配置を把握できるという利点もある。
また、ルートツリーリストコンテンツと部分ツリーリストコンテンツは、それぞれ独立してメッシュエリア定義を有するので、コンテンツ受信端末104は、部分ツリーリストコンテンツ単体によるコンテンツ検索も実行することができる。さらに、コンテンツ受信端末104は、リストコンテンツに付与されているメッシュエリア定義を参照することによって、検索領域と地理的に重なるメッシュエリアを特定するので、リストコンテンツに含まれる単位メッシュを全件検索すること無く、位置依存コンテンツの検索対象となるメッシュエリアのみにアクセスし、効率的にコンテンツ検索を行うことができる。
なお、図13の例では、簡単のために、経度線および緯度線と平行な辺を持つ矩形領域を設定しているが、経度線および緯度線に対して傾きを持ったメッシュ基本単位を設定できるようにMeshAreaDef要素1302の記述方法を拡張することも可能である。
次に、図13のComponent要素1303について説明する。Component要素1303の中には、LocationCondition要素1311とComponent要素1312が含まれ、Component要素1312には、4つのComponent要素1313a〜1313dが含まれる。
図13のLocationCondition要素1311は、図8におけるエリア位置情報830に相当し、Container要素1312に対応付けられる地理的位置情報を記述する要素である。図13のリストコンテンツはメッシュエリア定義1302を有するので、エリア位置情報は、MeshPosition要素を用いて、レイヤ番号とレイヤ内メッシュインデックス番号によって記述される。Component要素1303は、コンテンツ分布領域全体、すなわち、最上位層のメッシュエリアに相当するので、レイヤ番号=0とし、レイヤ内メッシュインデックス番号は無しと定義する。従って、LocationCondition要素1311では、MeshPosition要素のlayer属性によりレイヤ番号のみが記述されている。
図13のComponent要素1313a〜1313dは、図8におけるエリア情報ブロック831に相当する。ここでは、Component要素1313aを例として説明する。Component要素1313aは、レイヤ番号=1、レイヤ内メッシュインデックス番号(0,0)のメッシュエリアに関する情報を記述するエリア情報ブロックである。このComponent要素1313aの中には、エリア位置情報とエリア内に含まれるエリア情報ブロックもしくはコンテンツ情報ブロックが記述される。Component要素1313aの中に含まれるのがエリア情報ブロックである場合は、エリア位置情報としてレイヤ番号とメッシュインデックス番号が記述される。一方、Component要素1313aの中に含まれるのがコンテンツ情報ブロックである場合は、エリア位置情報として位置依存コンテンツに対応する地物の緯度・経度座標値が記述される。
図14は、コンテンツ情報ブロックの骨格構造を示したものである。コンテンツ情報ブロック1400は、Component開始タグとComponent終了タグによって囲まれた部分全体を指し、その中には、地理的位置情報を記述したLocationCondition要素1401と、コンテンツ情報に相当するContainer要素1402とが含まれる。
地理的位置情報1401には、コンテンツ情報1402に対応する位置依存コンテンツに関連する地理的な位置情報が記述される。例えば、位置依存コンテンツが店舗である場合は、地理的位置情報1401には、その店舗が所在する地点を示す緯度・経度座標値を記述する。なお、地理的位置情報1401に記載する情報は、図6で提示した位置依存コンテンツのメタ情報コンテンツより抽出される。
一方、コンテンツ情報1402には、Container要素の中において、ConentInfo要素により位置依存コンテンツのメタデータが記述される。コンテンツ情報1402には、少なくとも、Referece要素で記述されたネットワーク位置情報が含まれる。また、コンテンツ情報1402には、地理的位置情報1401と同じ情報、すなわち、位置依存コンテンツが関連する地理的な位置を示す情報が含まれていても良い。
次に、ルートツリーと部分ツリーに分割されたリストコンテンツの具体例を示す。図15〜図20は、ルートツリーリストコンテンツであり、図21〜図25は、部分ツリーリストコンテンツである。
図15〜図20で示すルートツリーリストコンテンツについて説明する。これ以降、図15〜図20に示す1500−1〜1500−6から構成されるコンテンツをルートツリーリストコンテンツ1500と呼ぶこととする。このルートツリーリストコンテンツ1500は、図9のようなデータ構造をXML文書として記述したものであり、その先頭に、ファイル関係情報を記述したRelationship要素1501と、メッシュエリア定義を記述したMeshAreaDef要素1502を持つ。
Relationship要素1501は、ルートツリーと部分ツリーに分割されたリストコンテンツの関係を記述するための要素であり、この例では、親ツリーが無く、子ツリーである部分ツリーが存在することが記述されている。すなわち、ルートツリーリストコンテンツ1500は、別ファイルとして存在する部分ツリーリストコンテンツへのリンク情報(URI)を有する。
MeshAreaDef要素1502では、コンテンツ分布領域のメッシュエリア分割方法が記述されている。この例では、1辺が4000mの正方形であるコンテンツ分布領域を4×4のメッシュに分割し、これに2階層のツリー構造を与えている。ツリーの第1階層は、2×2のメッシュエリア(単位メッシュの1辺の長さ2000m)から構成され、ツリーの第2階層は、2×2のメッシュエリア(単位メッシュの1辺の長さ1000m)から構成される。従って、別ファイルで定義される部分ツリーリストコンテンツが管理するコンテンツ分布領域は、1辺の長さが1000mの正方形領域となる。
なお、部分ツリーリストコンテンツでは、1000m×1000mの領域を2×2のメッシュエリアに分割し、最小単位である500m×500mの正方形領域のメッシュエリアの中には、それぞれ2個ずつの位置依存コンテンツが存在するものと仮定する。このとき、コンテンツ分布領域全体としては、最小単位のメッシュエリアが8×8=64個存在するので、その中には合計128個の位置依存コンテンツが存在することになる。
ルートツリーリストコンテンツ1500は、メッシュエリア定義1502の後に、コンテンツ分布領域全域、すなわち、Layer番号=0に対応するComponent要素を持つ。このComponent要素は、エリア位置情報が記述されるLocationCondition要素と、エリア内情報を含むContainer要素を持つ。前述のように、Container要素は、子要素としてComponent要素を持つことができ、Component要素の並列記述と入れ子記述によって、メッシュエリアの階層構造を表現する。
ここでは、図15におけるLocationCondition要素1503、および、LocationCondition要素1504について補足する。これらのLocationCondition要素は、子要素としてMeshPosition要素とNumberOfContents要素を持つ。ただし、NumberOfContents要素は無くても良い。
LocationCondition要素1503は、コンテンツ分布領域全体に対応するので、第0階層のメッシュエリアとなる。第0階層のメッシュエリアは、メッシュ個数が1個であり、メッシュインデックス番号は不要である。従って、MeshPosition要素は空要素とし、Layer属性によって第0階層であることのみが記述される。また、NumberOfContents要素には、第0階層のメッシュエリアに含まれる位置依存コンテンツの個数(=128)が記述される。なお、このNumberOfContents要素は、コンテンツ検索時にコンテンツの個数の概数を確認するために参照するものである。
このように、広域情報コンテンツおよび地域情報コンテンツには、各単位メッシュエリアに対応する地理的領域に属する位置依存コンテンツの個数が記述されているので、コンテンツ受信装置は、検索領域に内包される位置情報を有する位置依存コンテンツを地域情報コンテンツから実際に検索しなくても、位置依存コンテンツの概数を把握することができる。
メッシュエリア定義1502には、第1階層のメッシュエリアは2×2に分割されることが定義されている。すなわち、LocationCondition要素1503に対応するContainer要素の中には、メッシュインデックス番号が(0,0)(0,1)(1,0)(1,1)である4つのメッシュエリアが存在する。
LocationCondition要素1504は、第1階層の最初のメッシュエリアに相当するエリア位置情報である。従って、メッシュインデックス番号を記述するMeshPosition要素の内容は“0,0”であり、Layer属性はLayer=“1”となる。また、NumberOfContent要素には、第0階層のメッシュエリアに含まれる位置依存コンテンツの個数(=32)が記述される。
次に、図16のComponent要素1601について説明する。このComponent要素1601は、第2階層のメッシュインデックス番号(0,0)のメッシュエリアに相当する。また、図9においては、Component要素1601はエリア情報ブロック951に相当し、子要素であるLocationCondition要素はエリア位置情報960に相当し、Container要素はエリア情報URI961に相当する。
エリア情報URIは、Reference要素によって記述する。Component要素1601の子要素であるContainer要素には、2つのReference要素1602および1603が含まれている。Reference要素は、部分ツリーリストコンテンツのURIを記述する要素であり、URIの種別を示すtype属性を持つ。type属性の属性値としては、“source”と“cache”がある。属性値“source”は、URIがオリジナルの部分ツリーリストコンテンツの所在を示すことを意味し、属性値“cache”は、URIがコンテンツ受信端末104に受信・蓄積済みの部分ツリーリストコンテンツの所在を示すことを意味する。
図16のReference要素1603については、type属性が“cache”であり、かつ、データの存在を示すexistance要素が“no”となっている。これは、コンテンツ受信端末104が、Reference要素1602が示す部分ツリーリストコンテンツを未受信であることを示す。コンテンツ受信端末104が、部分ツリーリストコンテンツを受信・蓄積したら、Reference要素1603を更新し、蓄積済みの部分ツリーリストコンテンツのURIを記述しておくと、部分ツリーリストコンテンツの受信を繰り返す必要がなり、リストコンテンツを利用した位置依存コンテンツの検索処理を効率的に実行できる。なお、リストコンテンツの配信時には、type属性値が“cache”であるReference要素1603は記述されていなくても構わない。コンテンツ受信端末104は、部分ツリーリストコンテンツの受信・蓄積時に、必要に応じて、ルートツリーリストコンテンツに、type属性値が“cache”であるReference要素を追加記述する。このようにすると、ルートツリーリストコンテンツおよび部分ツリーリストコンテンツを受信・蓄積した後に、コンテンツ受信端末の電源を一旦オフとして再起動した際に、蓄積済みの部分ツリーリストコンテンツを再利用することができる。
コンテンツ受信端末104は、まず、ルートツリーリストコンテンツ1500を取得し、メッシュエリアの上位階層から下位階層へと順に参照していき、関心領域ROIと重なるメッシュエリアを限定していく。そして、参照すべきエリア情報URIが決定したら、コンテンツ受信端末104は、コンテンツ放送サーバ101もしくはコンテンツ通信サーバ102から部分ツリーリストコンテンツを取得する。
引き続いて、図21〜図25で示す部分ツリーリストコンテンツについて説明する。これ以降、図21〜図25に示す2100−1〜2100−5から構成されるコンテンツを部分ツリーリストコンテンツ2100と呼ぶこととする。ルートツリーリストコンテンツ1500に対応する部分ツリーリストコンテンツは16個存在し、そのうちの一つが部分ツリーリストコンテンツ2100である。
この部分ツリーリストコンテンツ2100は、図10のようなデータ構造をXML文書として記述したものであり、その先頭に、ファイル関係情報を記述したRelationship要素2101と、メッシュエリア定義を記述したMeshAreaDef要素2102を持つ。Relationship要素、および、MeshAreaDef要素は、図15に記載のものと同じである。
Relationship要素2101は、子要素であるParent要素によって、ルートツリーリストコンテンツの存在の有無を示し、同じく子要素であるChild要素によって、部分ツリーリストコンテンツ2100の下位階層に、さらにファイル分割された部分ツリーリストコンテンツが存在するか否かを示している。図21の例では、部分ツリーリストコンテンツ2100の上位階層に存在するルートツリーリストコンテンツのURIが記述され、下位階層には部分ツリーリストコンテンツが存在しないことが示されている。このように、部分ツリーリストコンテンツに、上位階層にあたるルートツリーリストコンテンツのURIが記述されていると、コンテンツ受信端末104が、最初に部分ツリーリストコンテンツを受信した場合においても、その部分ツリーリストコンテンツに対応するルートツリーリストコンテンツを参照することによって、最初に受信した部分ツリーリストコンテンツに対応するメッシュエリアに隣接する位置に相当する部分ツリーリストコンテンツにも容易にアクセスすることが可能である。すなわち、コンテンツ受信端末104は、ルートツリーリストコンテンツと部分ツリーリストコンテンツの取得順序を規定せずに、データ受信処理と、現在地周辺の位置依存コンテンツの検索処理を実行することができる。
また、Relationship要素2101に関して、type属性の属性値が“source”となっているParent要素には、部分ツリーリストコンテンツ2100に対応するルートツリーリストコンテンツのURIが記載されており、type属性の属性値が“cache”となっているParent要素は、受信・蓄積済みのルートツリーリストコンテンツが存在しないことを示している。コンテンツ受信端末104は、ルートツリーリストコンテンツを受信・蓄積した後に、部分ツリーリストコンテンツを受信したら、Relationship要素2101の子要素であるParent要素として、ルートツリーリストコンテンツの蓄積場所を示すURI(ファイル名)を追加記述する。このように、部分ツリーリストコンテンツに、受信・蓄積済みのルートツリーリストコンテンツのURIを記述することによって、受信処理を繰り返すことなく、部分ツリーリストコンテンツからルートツリーリストコンテンツを効率的に参照することが可能となる。
MeshAreaDef要素2102には、部分ツリーリストコンテンツ2100の管理下にあるコンテンツ分布領域に関するメッシュエリア分割方法が記述されている。この例では、1辺が1000mの正方形であるコンテンツ分布領域を2×2のメッシュに分割している。
部分ツリーリストコンテンツ2100は、メッシュエリア定義2102の後に、Layer番号=0に対応するComponent要素2103を持つ。このComponent要素は、エリア位置情報が記述されるLocationCondition要素と、エリア内情報を含むContainer要素を持つ。Component要素、LocationCondition要素、および、Container要素は、図15に記載のものと同じであり、これらによってメッシュエリアの階層構造が記述される。
ここでは、図22におけるLocationCondition要素2201、および、Component要素2202について補足する。LocationCondition要素2201は、第1階層におけるメッシュインデックス番号(0,0)のメッシュエリアのエリア位置情報を記述した要素である。このLocationCondition要素2201と対になるCotainer要素には、メッシュエリア内に含まれるコンテンツ情報が列挙され、そのコンテンツ情報のうちの一つがComponent要素2202である。
Component要素2202は、図10におけるコンテンツ情報ブロック1051に相当し、位置依存コンテンツの地理的位置情報を示すLocationCondition要素と、位置依存コンテンツのメタ情報を含むコンテンツ情報から構成される。このコンテンツ情報の中には、位置依存コンテンツのURIが含まれる。
引き続いて、図15〜図20、および、図21〜図25で提示したリストコンテンツに対するコンテンツ適応処理について説明する。コンテンツ受信端末104は、ルートツリーリストコンテンツ1500から関心領域ROIに含まれる情報を有する部分ツリーリストコンテンツ2100を特定し、その部分ツリーリストコンテンツ2100から関心領域ROIに含まれるコンテンツ情報を抽出する。このコンテンツ情報に含まれるURIが、関心領域ROI内に含まれる位置依存コンテンツへのリンク情報である。
コンテンツ受信端末104は、(1)関心領域ROIの設定、(2)ルートツリーリストコンテンツの解析、(3)部分ツリーリストコンテンツの取得、(4)部分ツリーリストコンテンツの解析、(5)関心領域ROIに含まれる位置依存コンテンツのURIの取得、(6)位置依存コンテンツの取得・表示、という一連の処理を繰り返す。
(2)および(4)のリストコンテンツの解析とは、リストコンテンツに対する位置適応処理に相当する。ここで、コンテンツ受信端末104の位置適応処理について補足する。
コンテンツ受信端末104は、まず、ルートツリーリストコンテンツ1500の先頭に記述されているメッシュエリア定義1502を参照して、コンテンツ分布領域のメッシュ分割方法、メッシュエリアの階層構造に関する情報を取得する。
次に、コンテンツ受信端末104は、ルートツリーリストコンテンツの最も外側に位置する(最上位階層の)Component要素のLocationCondition要素1503を解析する。LocationCondition要素1503はLayer属性を持ち、内容としてメッシュインデックス番号を持つ。このLaryer属性の属性値およびメッシュインデックス番号とメッシュエリア定義とから、メッシュエリアの地理的位置情報(基準点の緯度・経度座標とエリア形状)を算出することができる。コンテンツ受信端末104は、関心領域ROIとメッシュエリアが地理的に重なり合うかを判断し、それらが重なり合うと判定された場合は、解析対象となっているLocationCondition要素1503に対応するContainer要素の内容の解析を実行する。
そのContanier要素の中には、第1階層のメッシュエリアに対応する4つのComponent要素が含まれているおり、それらの各Component要素は、LocationCondition要素を持つ。コンテンツ受信端末104は、前述と同様に、LocationCondition要素とメッシュエリア定義から各エリアの位置情報を算出し、関心領域ROIとメッシュエリアの重なり判定を行う。同様の処理を再帰的に繰り返していくと、ルートツリーリストコンテンツの最下層のエリア情報ブロックに含まれるエリア情報URIに到達する。
コンテンツ受信端末104は、部分ツリーコンテンツに関しても、ルートツリーリストコンテンツと同様の処理を行い、関心領域ROIと重なる最下層のメッシュエリアに相当するComponent要素から、コンテンツ情報を抽出する。
図26は、コンテンツ分布領域とメッシュエリアの一例を図示したものである。図26のコンテンツ分布領域は、ルートツリーリストコンテンツ1500に合わせて4×4のメッシュエリアに分割されている。その4×4のメッシュエリアのうち、右上のメッシュエリア2601は、部分ツリーリストコンテンツ2100に対応し、さらに2×2のメッシュエリアに分割されている。また、このメッシュエリア2601に関しては、その中に分布する位置依存コンテンツC1〜C8を表示している。
このような条件のもと、図26のメッシュエリアに関心領域ROI2602を設定して位置適応処理を行う。このときの位置適応処理の出力結果、すなわち、局所領域リストコンテンツを図27に示す。図26では関心領域ROI2602の内部に位置依存コンテンツC2およびC5が存在する。部分ツリーリストコンテンツ2100に対して適切に位置適応処理が実行されると、図27のように、局所領域リストコンテンツには、位置依存コンテンツC2およびC5のコンテンツ情報のみが含まれる。なお、図27の局所領域リストコンテンツは不完全なXML文書であるが、実運用の際には、コンテンツ受信端末104は、整形式のXML文書として局所領域リストコンテンツを出力するものとする。
以上、CLMLで記述したリストコンテンツの具体例を提示しながら、コンテンツ受信端末104の位置適応処理を説明した。
次に、図28〜36を参照しながら、コンテンツ放送サーバ101、および、コンテンツ受信端末104の具体的な動作について説明する。
まず、図28〜図31の流れ図を参照しながら、コンテンツ放送サーバ101の動作について説明する。
図28は、コンテンツ放送サーバ101のメタ情報コンテンツ収集処理を示す流れ図である。コンテンツ放送サーバ101は、インターネット上に存在する一般Webサーバ103から位置依存コンテンツのメタデータ、すなわち、メタ情報コンテンツを収集する。メタ情報コンテンツの収集方法としては、(1)一般Webサーバ103から送信されてくるメタ情報コンテンツを受動的に取得する方法、と、(2)ロボット型のサーチエンジンを搭載し、一般Webサーバを探索して、能動的にコンテンツ情報を取得する方法、とが考えられるが、本実施の形態においては、(1)の方法とする。また、メタ情報コンテンツのフォーマットは、図6で提示したフォーマットに準じるものとする。
図28のメタ情報コンテンツ収集処理は、コンテンツ放送サーバ101のメタ情報コンテンツ収集部202が実行する。まず、メタ情報コンテンツ収集部202は、ステップS2801において、一般Webサーバ103から送信されてくるメタデータ登録要求を受信する。当ステップにおいて、メタデータ登録要求が無い場合は、メタ情報コンテンツ収集部202は受信待ち状態で待機し、メタデータ登録要求を受信した場合は次のステップに移行する。
S2802において、メタ情報コンテンツ収集部202は、メタデータ登録要求の内容を確認し、メタデータ登録要求の送信元に登録結果を通知する応答を返す。メタデータ登録要求には、コンテンツ放送サーバ101の運営者と一般Webサーバの運営者との間の契約内容など、位置依存コンテンツのメタデータ中に記述する必要がない情報、あるいは、記述すべきでない情報が含まれている。当ステップでは、メタ情報コンテンツ収集部202は、メタデータ登録要求の内容を確認し、メタデータ登録の許可/拒絶を決定し、一般Webサーバ103へ応答を返す。
S2803は、メタデータの受信処理ステップである。当ステップにおいては、メタ情報コンテンツ収集部202は、S2802においてメタデータの登録許可を通知した一般Webサーバ103が送信してくるメタ情報コンテンツを受信する。
S2804は、メタデータの登録処理ステップである。当ステップにおいては、メタ情報コンテンツ収集部202は、S2803において受信したメタ情報コンテンツの内容を確認した後に、蓄積部208にメタ情報コンテンツを蓄積する。なお、所定の書式を満たさないメタ情報コンテンツについては、蓄積部208に蓄積しない。
S2805は、メタデータの登録完了通知ステップである。当ステップにおいては、メタ情報コンテンツ収集部202は、S2804のメタデータ登録処理の結果をメタデータの送信元である一般Webサーバ103に通知する。
S2806は、メタ情報コンテンツ収集処理の終了判定ステップである。当ステップにおいては、メタ情報コンテンツ収集部202は、メタ情報コンテンツ収集の継続/終了判定を行う。収集を継続する場合は、S2801へ戻って一連の処理を繰り返す。収集の終了条件は任意のものでよい。
メタ情報コンテンツ収集部202は、S2801〜S2806のステップを実行することによって、一般Webサーバ103から多数のメタ情報コンテンツを収集する。なお、メタデータ登録要求の受信方法、および、メタデータの受信方法は、任意の方法でよい。例えば、コンテンツ放送サーバ101がデータ登録用のWebページを公開し、一般Webサーバの管理者が登録用Webページを利用してメタ情報コンテンツを登録する。また、図28の流れ図において、S2801およびS2802を省略し、直接メタ情報コンテンツを受信することとしても良い。
このように、本実施の形態のコンテンツ放送サーバ101は、ネットワーク上に散在するサーバからコンテンツ情報を収集するので、広い地理的領域に分布する位置依存コンテンツを対象とする広域情報コンテンツ、および、地域情報コンテンツを生成することが容易であり、ユーザに対して利便性の高い情報を提供することができる。
次に、コンテンツ放送サーバ101のリストコンテンツ生成処理について説明する。リストコンテンツ生成処理は、コンテンツ放送サーバ101のツリー構造生成部203、および、コンテンツ生成部204が実行する。このリストコンテンツ生成処理は、一般Webサーバ103から収集したメタ情報コンテンツからリストコンテンツを生成する処理であり、メタ情報コンテンツの収集状況に応じて、定期的に実行される。また、リストコンテンツ生成処理では、図15〜図20、および、図21〜図25で提示したようなリストコンテンツが生成され、それらのリストコンテンツは蓄積部208に蓄積される。図29は、リストコンテンツ生成処理を示す流れ図である。
図29において、S2901およびS2902では、リストコンテンツ生成のために必要なパラメータを決定する。
S2901は、コンテンツ分布範囲算出処理である。当ステップにおいて、ツリー構造生成部203は、蓄積部208に蓄積されているメタ情報コンテンツを解析する。メタ情報コンテンツには、位置依存コンテンツの地理的な位置情報を示すデータが含まれている。図6のメタ情報コンテンツの場合は、Location要素605に含まれるCoodinate要素(緯度・経度座標値)が、これに相当する。ツリー構造生成部203は、リストコンテンツ生成に関連する全てのメタ情報コンテンツから、位置依存コンテンツの位置情報を抽出し、それらの全てのデータが含まれる矩形領域を求める。本実施の形態においては、緯度・経度座標系を直交座標系と近似して、緯線もしくは経線と平行な線から構成される矩形を決定する。ここでは、矩形の左上と右下の頂点の緯度・経度座標によって、コンテンツ分布領域を定義するものとする。
S2902は、メッシュ領域分割処理ステップである。当ステップにおいて、ツリー構造生成部203は、S2901において決定したコンテンツ分布領域をメッシュ状に分割する。本実施の形態においては、メッシュの基本単位を矩形とする。また、メッシュの大きさは、位置依存コンテンツの分布密度を考慮して設定する。一つの部分ツリーリストコンテンツのデータサイズは、その中に含まれる位置依存コンテンツの個数に比例する。部分ツリーリストコンテンツに含まれる位置依存コンテンツの個数が適切でないと、コンテンツ受信端末104におけるコンテンツ受信およびコンテンツ検索が効率的に実行できないので、位置依存コンテンツの分布密度に応じて、コンテンツ分布領域を適切にメッシュ分割する必要がある。
S2903は、メタ情報コンテンツのエリア分類処理である。当ステップにおいて、ツリー構造生成部203は、リストコンテンツ生成に関連する全てのメタ情報コンテンツを、S2902において設定したメッシュエリア(=地理的コンテンツエリア)に振り分ける。すなわち、各メタ情報コンテンツに記述されている地理的な位置情報を参照して、位置依存コンテンツがどの地理的コンテンツエリアに属するかを判定し、メタ情報コンテンツをエリア毎に分類する。
S2904は、リストコンテンツのツリー構造生成処理である。当ステップにおいて、ツリー構造生成部203は、S2902において設定したメッシュエリアを参照して、図11で提示したようなツリー構造を生成する。このツリー構造は、メッシュの最小単位を基準として、2×2のメッシュから成る上位メッシュを階層的に(ピラミッド状に)定義したものであり、このツリー構造の最下層にはメタ情報コンテンツが位置付けられる。コンテンツ分布領域内に含まれるメタ情報コンテンツが少ない場合は、図8のようにメッシュエリアと位置依存コンテンツの関係を一つのツリー構造で表現し、リストコンテンツを一つのファイルで記述する。一方、コンテンツ分布領域内に含まれるメタ情報コンテンツが多い場合は、メッシュエリアと位置依存コンテンツの関係を定義したツリー構造を、ルートツリーと部分ツリーに分離し、それぞれをリストコンテンツとする。S2904においては、ルートツリーに相当するリストコンテンツを生成する。
図29のS2905〜S2906のループ処理は、部分ツリーに相当するリストコンテンツを生成する処理である。本実施の形態においては、部分ツリーに相当するリストコンテンツの個数回だけ、S2905〜S2906のループ処理を繰り返す。
ツリー構造生成部203およびリストコンテンツ生成部204が、図29のリストコンテンツ生成処理を実行すると、図15〜図20に示すようなルートツリーに相当するリストコンテンツと、図21〜図25に示すような部分ツリーに相当するリストコンテンツが生成される。この例では、ルートツリーのリストコンテンツは1個、部分ツリーのリストコンテンツは16個である。なお、ルートツリーと部分ツリーのリストコンテンツには、両者の構造を結び付けるリンク情報が付加される。
次に、コンテンツ放送サーバ101のコンテンツ配信処理について説明する。リストコンテンツ配信処理は、コンテンツ放送サーバ101のコンテンツ配信部206が実行する。このコンテンツ配信処理は、リストコンテンツ生成部204が生成したリストコンテンツをカルーセル方式のデータ放送によって、コンテンツ受信端末104に配信する処理である。図30は、コンテンツ放送サーバ101のコンテンツ配信処理を示す流れ図である。
S3001は、コンテンツ配信の前処理である。当ステップでは、コンテンツ配信部206は、蓄積部208からのリストコンテンツの読み込みや、データ送信スケジュールの設定など、データ放送開始に必要な処理を実行する。
S3002とS3003によって構成される処理ループは、カルーセル方式のデータ放送によって、実際にリストコンテンツを配信する処理に相当する。なお、実際のデータ放送においては、複数のコンテンツが多重化されて配信される。すなわち、S3002およびS3003において、コンテンツ配信部206は、リストコンテンツの終端に到達するまで、所定単位に分割したリストコンテンツの送信を繰り返す。また、本実施の形態では、リストコンテンツは17個のファイル(ルートツリーおよび16個の部分ツリーに相当するリストコンテンツ)から構成されるので、それら17個のファイルを1セットとして、データ送信処理が実行される。
さらに、コンテンツ配信部206は、S3004において送信終了が検知されない限り、S3001に戻って、リストコンテンツの配信処理を繰り返す。
以上のように、コンテンツ放送サーバ101は、一般Webサーバ103より収集したメタ情報コンテンツから図15〜図20、および、図21〜図25で提示したようなリストコンテンツを生成し、コンテンツ受信端末104に対して、リストコンテンツを配信する。
なお、コンテンツ通信サーバ102にコンテンツ放送サーバ101と同等の機能を持たせ、コンテンツ通信サーバ102が、図28のメタ情報コンテンツ収集処理、および、図29のリストコンテンツ生成処理を実行し、通信によってリストコンテンツをコンテンツ受信端末104に配信するものとしても良い。また、コンテンツ放送サーバ101とコンテンツ通信サーバ102が共に、図28〜図30に相当する処理を行っても良い。さらには、コンテンツ放送サーバ101において、部分ツリーリストコンテンツの分散配置を考慮して、ルートツリーリストコンテンツおよび部分ツリーリストコンテンツを生成し、部分ツリーリストコンテンツを複数個のコンテンツ通信サーバ102に分散配置してもよい。あるいは、複数個のコンテンツ通信サーバ102において、各コンテンツ通信サーバ102の管理下にある地域について、メタ情報コンテンツ収集処理と部分ツリーリストコンテンツの生成を行い、コンテンツ放送サーバ101において、各コンテンツ通信サーバ102が生成した部分ツリーリストコンテンツに対応するルートツリーリストコンテンツを生成することとしても良い。
次に、図31〜図35の流れ図を参照しながら、コンテンツ受信端末104の動作について説明する。
まず、コンテンツ受信端末104のメッセージ処理手順について図31を用いて説明する。図31は、本実施の形態にかかるコンテンツ処理部303におけるメッセージ処理手順を示す流れ図である。図31で示すメッセージ処理は、コンテンツ処理部303が、ブラウザ部306もしくは制御部308から通知されるメッセージを処理するものであり、メッセージの種別によって、位置情報処理、もしくは、コンテンツ配信処理を実行する。
コンテンツ処理部303は、S3101において、ブラウザ部306もしくは制御部308からメッセージ受信を待つ。コンテンツ処理部303がメッセージを受信した場合は、次のステップに移行する。コンテンツ処理部303が受信するメッセージは、HTTPメッセージのGET命令、もしくは、位置情報を通知する拡張HTTPメッセージ、放送受信を要求する拡張HTTPメッセージのいずれかである。
S3102では、コンテンツ処理部303は、受信したメッセージを解析し、そのメッセージが位置情報を通知するメッセージであるか否かを判定する。メッセージが位置情報を通知するメッセージである場合は、S3103の位置情報処理へ移行し、それ以外のメッセージの場合は、S3104へ移行する。
S3103では、コンテンツ処理部303は位置情報処理を実行する。ここで、位置情報処理とは、制御部308から通知される位置情報に対する処理である。この処理が終わると次のS3107へ移行する。位置情報処理の詳細は後述する。
S3104では、コンテンツ処理部303は、受信したメッセージがデータ放送受信を要求するメッセージであるか否かを判定する。メッセージが放送受信を要求するものである場合はS3105へ移行し、それ以外のメッセージ、すなわち、HTTPのGET命令の場合はS3106へ移行する。
S3105では、コンテンツ処理部303はデータ放送処理を実行する。ここで、データ放送処理とは、コンテンツ放送サーバ101がカルーセル方式のデータ放送によって配信するコンテンツを取得する処理である。データ放送処理の詳細は後述する。
S3106では、コンテンツ処理部303は、コンテンツ配信処理を実行する。ここで、コンテンツ取得処理とは、コンテンツ表示制御部305を介してサーバから受信したコンテンツをブラウザ部306へ配信する処理である。コンテンツ取得処理の詳細は後述する。
そして、最後のS3107では処理終了判定を行う。すなわち、メッセージ処理を終了する指示がない限り、S3101のメッセージ受信待ちループへ戻り、メッセージ処理を継続する。
このように、コンテンツ処理部303は、ブラウザ部306もしくは制御部308から通知されるメッセージの種別によって、位置情報処理、データ放送処理、コンテンツ配信処理を繰り返し実行する。
次に、図31のS3105に相当するデータ放送処理について説明する。図32は、本実施の形態にかかるコンテンツ処理部303におけるデータ放送処理を示す流れ図である。
コンテンツ放送サーバ101は、データ放送によって、リストコンテンツを含む任意のコンテンツを配信することができる。データ放送処理において、コンテンツ処理部303は、コンテンツ放送サーバ101から受信したコンテンツを一時蓄積し、一時蓄積したコンテンツを指すURI(ファイル名)を制御部308に通知する。
S3201では、コンテンツ処理部303は、制御部308から受信したメッセージより放送受信パラメータを取得する。ここで、放送受信パラメータとは、受信チャネルや番組識別子などの放送受信に必要な情報を指す。
次のS3202〜S3204では、コンテンツ処理部303がカルーセル方式のデータ放送を受信し、指定されたチャネルに含まれるコンテンツを蓄積部308に蓄積する。このデータ放送は、データファイルを周期的に繰り返し配信するものであり、データファイルの先頭から受信・蓄積処理が開始されるとは限らない。そこで、コンテンツ処理部303は、データ放送のフォーマット仕様に従って、所定単位毎にデータを受信し(S3202)、受信データを連結しながら一時蓄積する処理(S3203)を、コンテンツ全体を受信するまで繰り返す(S3204)。
S3204においてデータ受信が完了すると、コンテンツ処理部303は、次の処理のS3205へ移行する。
次のS3205では、コンテンツ処理部303は、放送受信命令に対する応答メッセージを生成し、そのメッセージを制御部308へ送信する。この応答メッセージには、蓄積部307に蓄積したコンテンツのURI(ファイル名)を記述する。コンテンツ処理部303は、後に実行されるコンテンツ配信処理のために、このURIを記憶しておく。
以上のようなS3201〜S3205の処理を実行することによって、データ放送から受信し、蓄積部307に蓄積したコンテンツのURI(ファイル名)が、コンテンツ処理部303から制御部306へ通知される。なお、後に実行されるコンテンツ配信処理によって、蓄積部307に蓄積されたコンテンツ(=放送コンテンツ)は、コンテンツ処理部303からコンテンツ表示制御部305を介して、ブラウザ部306に配信される。
次に、図31のS3106のコンテンツ配信処理について説明する。図33は、本実施の形態にかかるコンテンツ処理部303におけるコンテンツ配信処理を示す流れ図である。このコンテンツ配信処理では、コンテンツ処理部303は、ブラウザ部306から送信されてくるHTTP GET命令(コンテンツ取得要求)に従って、HTTP通信の中継処理、もしくは、キャッシュコンテンツの配信処理を実行する。
S3301では、コンテンツ処理部303は、受信したHTTP GET命令を解析して実行すべき処理を決定する。具体的には、コンテンツ処理部303は、GET命令に含まれているURL文字列と、図32のデータ放送処理のS3205において、記憶したURL文字列とを比較する。二つのURLが一致する場合は、コンテンツ処理部303は、既に蓄積部307にデータ放送から受信・蓄積済みであるコンテンツを送信すればよいのでS3308へ移行する。これに対し、二つのURL文字列が一致しない場合は、コンテンツ処理部303は、コンテンツ通信サーバ102からコンテンツを取得する必要があるのでS3302へ移行する。
S3302〜S3305においては、コンテンツ処理部303は、HTTP GET命令の中継転送を行う。
S3302では、コンテンツ処理部303は、受信したコンテンツ取得要求メッセージを参照して、コンテンツ通信サーバ102へ送信するメッセージを生成する。このメッセージは、サーバに対してコンテンツ取得を要求するHTTP GETメッセージである。そして、コンテンツ処理部303は、生成したメッセージを適切なコンテンツ通信サーバ102へ送信する。
S3303では、コンテンツ処理部303は、サーバに送信したHTTP GET命令に対する応答を待ち、応答を受信したら次のS3304に移行する。この応答メッセージには、コンテンツが含まれている。ここで、不正なメッセージを受信する、あるいは、所定時間が経過しても応答がない場合には、適切なエラー処理を行う。
S3304では、コンテンツ処理部303は、S3303において受信したコンテンツがリストコンテンツであるか否かを(ファイル名の拡張子によって)判定する。受信したコンテンツがリストコンテンツである場合はS3306へ移行し、リストコンテンツではない場合はS3305へ移行する。
S3305では、コンテンツ処理部303は、S3303においてサーバから受信した応答メッセージを、コンテンツ取得要求メッセージの送信元(すなわちブラウザ部306)へ転送する。この処理は、HTTPの中継転送処理である。
S3306〜S3307においては、コンテンツ処理部303は、リストコンテンツの蓄積処理を実行する。コンテンツ処理部303は、S3303においてサーバから受信した応答メッセージに含まれるリストコンテンツを、蓄積部307に保存し(S3306)、リストコンテンツを蓄積したことを制御部308へ通知する(S3307)。
S3308〜S3309においては、コンテンツ処理部303は、キャッシュコンテンツの配信処理を実行する。コンテンツ処理部303は、コンテンツ放送サーバ101より受信済みのコンテンツを蓄積部307から読み出して(S3308)、このコンテンツを含む応答メッセージを生成し、生成した応答メッセージをブラウザ部306へ送信する(S3309)。
以上のように、本実施の形態におけるコンテンツ配信処理では、HTTP GET命令に含まれるURLに応じて、HTTP通信の中継処理と、リストコンテンツの蓄積処理と、蓄積済み放送コンテンツの配信処理との何れかを実行する。
次に、図31のS3103で実行される位置情報処理手順について図34を用いて説明する。この位置情報処理では、最新の位置情報に基づいて、取得済みリストコンテンツに対して位置適応コンテンツ処理を実行する。図34は、本実施の形態にかかる位置情報処理手順を示す流れ図である。
S3401では、コンテンツ処理部303は、制御部308から定期的に通知されてくる最新のROI情報を保存する。ここで、ROI情報は、コンテンツ受信端末104の現在地を示す緯度・経度座標値と、コンテンツの検索範囲に相当数円領域の半径とを指す。
S3402では、コンテンツ処理部303は、制御部からROI情報と共に通知されるコンテンツの検索件数を保存する。なお、S3401およびS3402で保存するROI情報およびコンテンツ検索件数は、コンテンツ受信端末104のGUI部311によりユーザから指定され、制御部308を介してコンテンツ処理部303へ通知される。ただし、ROI情報およびコンテンツ検索件数は、ユーザが指定するのではなく、制御部308が自動的に推奨値を設定するものとしても良い。
S3403では、コンテンツ処理部303は、既にリストコンテンツを取得済みであるか否かを確認する。リストコンテンツを未取得の場合、コンテンツ処理部303は、位置情報処理を終了する。リストコンテンツを取得済みの場合は、コンテンツ処理部303は、次のステップであるS3404に移行する。
S3404では、コンテンツ処理部303は位置適応コンテンツ処理を実行する。位置適応コンテンツ処理では、最新のROI情報およびコンテンツ検索件数を参照して、取得済みのリストコンテンツから局所領域リストコンテンツを生成する。位置適応コンテンツ処理の詳細については後述する。
S3405では、コンテンツ処理部303は、S3404において生成した局所領域リストコンテンツをコンテンツ表示制御部305へ送信する。局所領域リストコンテンツは、図27に示すようなコンテンツ情報が列挙されたコンテンツであり、直接ブラウザに表示することはできない。コンテンツ表示制御部305は、局所領域リストコンテンツをブラウザ部306に表示可能なフォーマット、例えば、HTMLコンテンツに変換して、ブラウザ部306へ送信する。
以上のように、図34で示す位置情報処理では、コンテンツ処理部303は、新たな位置情報通知を受ける度にリストコンテンツから局所領域リストコンテンツを生成し、コンテンツ表示制御部305を介して、生成した局所領域リストコンテンツをブラウザ部306へ送信する。このような処理によって、端末の現在地周辺に関連するコンテンツの一覧リストがユーザに提示される。このとき、ブラウザ部306に表示されるコンテンツは、局所領域リストコンテンツに含まれるコンテンツ情報のネットワーク位置情報、すなわち、URLがハイパーリンクとして記述され、画面上でクリックすると位置依存コンテンツを取得・表示できるようになっている。なお、ブラウザに表示する情報は、コンテンツ情報に含まれるタイトルやカテゴリである。また、図7のコンテンツ情報に含まれるMetadata要素を参照してメタ情報コンテンツを取得し、その中に含まれるAddress要素で記述されている住所や、Abstract要素で記述されているテキストデータをブラウザに表示しても良い。
このように、コンテンツ受信端末104は、コンテンツ検索結果から生成した、検索された位置依存コンテンツへのリンクを含む表示可能なコンテンツを表示するので、ユーザは、コンテンツ検索結果を確認した後に、所望の位置依存コンテンツを選択して閲覧することができる。
次に、図34のS3404に相当する位置適応コンテンツ処理について説明する。位置適応コンテンツ処理では、コンテンツ処理部303は、制御部308から通知されるROI情報およびコンテンツ検索件数に基づいて、リストコンテンツから局所領域リストコンテンツを生成する。図35は、本実施の形態にかかるコンテンツ処理部303における位置適応コンテンツ処理を示す流れ図の一例である。この位置適応コンテンツ処理は、主として、コンテンツ処理部303、および、コンテンツ構造解析部304が実行する。
S3501では、コンテンツ処理部303は、蓄積部307に蓄積済みのリストコンテンツに対するツリー構造解析が完了しているか否かを確認する。コンテンツ受信端末104は、位置移動に応じて、同一のリストコンテンツに対して位置適応コンテンツ処理を行い、その結果として生成された局所領域リストコンテンツをユーザに提示する。すなわち、同一のリストコンテンツに対するツリー構造解析は1回で良い。従って、ツリー構造解析が完了している場合はS3503に移行し、完了していない場合はS3502に移行する。
このように、コンテンツ受信端末104は、ルートツリーリストコンテンツおよび部分ツリーリストコンテンツの解析結果をキャッシュしておき、これを再利用するので、同一のリストコンテンツを対象として、検索条件のみを変更してコンテンツの検索処理を繰り返す場合における検索処理速度が向上する。
S3502では、コンテンツ処理部303は、コンテンツ構造解析部304に対して、リストコンテンツのツリー構造解析を行わせる。コンテンツ構造解析部304で実行されるツリー構造解析は、図15〜図20、および、図21〜図25のような構造を持つリストコンテンツを解析し、図9〜図10のようなツリー構造データとして保持する処理である。リストコンテンツのツリー構造データは、蓄積部307、もしくは、コンテンツ構造解析部304の内部に保持される。
S3503〜S3505のループでは、コンテンツ処理部303は、指定されたコンテンツ検索件数に適したROI情報の半径データの調整を行う。位置適応コンテンツ処理では、ユーザが指定したROI情報とコンテンツ検索件数に基づいて、局所領域リストコンテンツを生成するが、コンテンツの分布状況によっては、ROIと重なるメッシュエリア内に含まれるコンテンツの数が、ユーザが指定したコンテンツ検索件数に満たない場合がある。
そこで、コンテンツ処理部303は、所定の条件に従ってROIの半径を調整し(S3503)、コンテンツ構造解析部304が保持するツリー構造データを参照して、ROIと重なるメッシュエリアを選択するエリア情報ブロック選択処理を実行し、(S3504)、ROIと重なるメッシュエリア内に含まれるコンテンツの数が所定のしきい値以上の数であるかを判定する(S3505)。この条件を満たす場合は、次のステップであるS3506へ移行し、この条件を満たさない場合は、S3503へ戻り、ROIの半径の調整を繰り返す。
このS3503〜S305のループ処理によって、ユーザが指定したコンテンツ検索件数に関する要求を満たすようにROI半径を調整することができる。なお、コンテンツの検索件数が指定されていない場合や、コンテンツ検索件数よりROIの半径を優先とする場合は、ROIの半径を固定し、S3503のROI調整やS3505のコンテンツ検索件数の確認処理を実行しなくても良い。
なお、S3504のエリア情報ブロック選択処理では、コンテンツ処理部303は、リストコンテンツに含まれるメッシュエリア定義とROI情報を参照して、ROIと重なるメッシュエリアのメッシュインデックス番号を特定し、そのメッシュインデックス番号を有するメッシュエリア情報ブロックをリストコンテンツから抽出する。
また、S3503における1回目のループ処理では、ROIの半径は調整せずに、半径の初期値をそのまま使用する。また、S3503のROI半径の調整では、例えば、半径の値を10%大きくする、あるいは、ROIがより多くのメッシュエリアと重なるようにROIの半径を大きくするなどの調整を行う。同様に、S3505におけるメッシュエリア内に含まれるコンテンツの数は、リストコンテンツのLocationCondition要素に含まれるNumberOfContent要素を参照することによって取得可能である。
このように、コンテンツ受信端末104は、リストコンテンツに記述されている情報から算出できる検索領域と重なる単位メッシュに対応する地理的領域に属する位置依存コンテンツの個数を利用することによって、詳細なコンテンツ検索処理を行う前にコンテンツ検索領域の大きさを調整するので、検索件数が指定される場合における、現在地周辺のコンテンツ検索を効率的に実行することができる。
S3506では、コンテンツ処理部303は、未取得のリストコンテンツがあるか否かを確認する。リストコンテンツは、図8に示すような1個のファイルから構成されている場合と、図9および図10のようにルートツリーと部分ツリーに分割され、複数ファイルから構成されている場合がある。後者の場合、ルートツリーのリストコンテンツだけでなく、部分ツリーのリストコンテンツも必要となる。部分ツリーリストコンテンツの存在は、ルートツリーリストコンテンツに他のファイルへのリンクの有無を確認することによって判別可能である。また、図15のようにRelationship要素によって、リストコンテンツのファイル間の親子関係が記述されている場合には、これによって部分ツリーリストコンテンツの存在を判別することができる。S3506においては、コンテンツ処理部303は、複数ファイルから構成されているか否かを確認し、未取得のリストコンテンツが存在する場合にはS3507に移行し、存在しない場合には、S3507〜S3509をスキップしてS3510へ移行する。
S3507〜S3509では、部分ツリーリストコンテンツを取得する。このリストコンテンツは、コンテンツ放送サーバ101、もしくは、コンテンツ通信サーバ102が配信する。ルートツリーリストコンテンツには、部分ツリーリストコンテンツへのリンクが記述されており、これを参照すれば放送と通信の何れの方法で部分ツリーリストコンテンツを取得すれば良いかを判別できる。
S3507では、コンテンツ処理部303は、部分ツリーリストコンテンツの取得先を判別する。リストコンテンツを放送から取得する場合にはS3508へ移行し、通信から取得する場合はS3509へ移行する。
S3508では、コンテンツ処理部303は、コンテンツ放送サーバ101から部分ツリーリストコンテンツを取得する。放送からのコンテンツ取得処理は、図32のデータ放送処理手順に従う。S3508において取得する部分ツリーリストコンテンツが複数個である場合は、データ放送処理手順を繰り返して、必要なリストコンテンツを全て取得する。リストコンテンツの取得が完了したら、次のステップであるS3510へ移行する。
S3509では、コンテンツ処理部303は、コンテンツ通信サーバ102から部分ツリーリストコンテンツを取得する。通信からのコンテンツ取得処理は、図33のコンテンツ配信処理手順に従う。S3509において取得する部分ツリーリストコンテンツが複数個である場合は、コンテンツ配信処理手順を繰り返して、必要なリストコンテンツを全て取得する。リストコンテンツの取得が完了したら、次のステップであるS3510へ移行する。
なお、S3508およびS3509においては、リストコンテンツを構成する全ての部分ツリーリストコンテンツを必要とはせず、S3504において抽出されたエリア情報ブロックに関連する部分ツリーリストコンテンツのみを取得すればよい。また、S3508およびS3509では、コンテンツ構造解析部304において、部分ツリーのリストコンテンツのツリー構造解析を実行し、ツリー構造データの保持も行う。また、ルートツリーリストコンテンツ1500に蓄積済み部分ツリーリストコンテンツのURIをReference要素によって追記する処理や、部分ツリーリストコンテンツ2100に蓄積済みのルートツリーリストコンテンツのURIをRelationship要素の子要素であるParent要素によって追記する処理も、S3508およびS3509において実行する。なお、これらの追記処理は、ルートツリーリストコンテンツ、および、部分ツリーリストコンテンツのツリー構造解析結果であるツリー構造データに対しても実行する。
S3510〜S3512のループでは、コンテンツ処理部303は、指定されたコンテンツ検索件数に適したROI情報の半径データの調整を行う。位置適応コンテンツ処理では、ユーザが指定したROI情報とコンテンツ検索件数に基づいて、局所領域リストコンテンツを生成するが、コンテンツの分布状況によっては、ROI内に含まれるコンテンツの数が、ユーザが指定したコンテンツ検索件数を大きく上回る場合がある。
そこで、コンテンツ処理部303は、所定の条件に従ってROIの半径を調整し(S3510)、コンテンツ構造解析部304が保持するツリー構造データを参照して、ROI内のコンテンツ情報を抽出するコンテンツ情報ブロック選択処理を実行し、(S3511)、ROI内に含まれるコンテンツの数が所定のしきい値以下の数であるかを判定する(S3512)。この条件を満たす場合は、次のステップであるS3513へ移行し、この条件を満たさない場合は、S3510へ戻り、ROIの半径の調整を繰り返す。
このS3510〜S312のループ処理によって、ユーザが指定したコンテンツ検索件数に関する要求を満たすようにROI半径を調整することができる。なお、コンテンツの検索件数が指定されていない場合や、コンテンツ検索件数よりROIの半径を優先とする場合は、ROIの半径を固定し、S3510のROI調整やS3512のコンテンツ検索件数の確認処理を実行しなくても良い。
また、S3511のコンテンツ情報ブロック選択処理では、コンテンツ処理部303は、S3504において選択されたエリア情報ブロックを処理対象として、ROI内に含まれるコンテンツ情報ブロックを選択する。コンテンツ情報ブロックのLoactionCondition要素には、そのコンテンツ情報ブロックに含まれるコンテンツ情報に対応する地理的位置情報が記述されている。コンテンツ処理部303は、LoactionCondition要素に記述されている位置情報を参照して、ROI内に含まれる位置情報を有するコンテンツ情報ブロックを選択する。
なお、S3510における1回目のループ処理では、ROIの半径は調整せずに、半径の初期値、もしくは、S3503において決定されたROI半径をそのまま使用する。また、S3510のROI半径の調整では、例えば、半径の値を10%小さくするなどの調整を行う。
S3513では、コンテンツ処理部303は、S3512におけるコンテンツ情報ブロック選択処理の結果に基づいて、リストコンテンツから局所領域リストコンテンツを生成する。局所領域リストコンテンツは、選択したコンテンツ情報ブロックのContainer要素に含まれるコンテンツ情報から構成される。
以上のように、図35の位置適応コンテンツ処理によって、CLMLで記述したリストコンテンツから、関心領域ROIに適応した局所領域リストコンテンツが生成される。
以上説明したように、本実施の形態によれば、地域情報へのURIが記されているルートツリーリストコンテンツを参照することによって、検索領域に関連する地域情報が記述されている部分ツリーリストコンテンツのみを選択的に受信した上で、現在地周辺情報の検索処理を実行するので、検索処理に必要なリソースを削減し、検索処理時間を短縮することができる。
また、コンテンツ受信端末104の行う処理をプログラムにし、汎用のコンピュータが読み取り可能な記憶媒体に記憶し、通信機能と放送受信機能と位置情報取得機能とを有する汎用のコンピュータがこのプログラムを実行する形態であっても良い。