(57)【要約】【課題】地理上の特定の場所を一シーンとして含むコンテンツを地図情報と関連づけて提供することは一般的に困難である。【解決手段】マーキング処理部２０は、ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づける。ナビゲーション処理部１０は、ナビゲーション空間内の目的位置までユーザをナビゲートするユーザインタフェースを提供する。マーカー特定部３０は、目的位置から所定の範囲内に存在するマーカーを特定する。エミュレーション実行部４０は、特定されたマーカーに対応づけられたコンテンツについて、マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、コンテンツを当該シーンから実行可能な状態にする。【選択図】図４
2008146232.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキングステップと、
前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーションステップと、
前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定ステップと、
特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーションステップとを含むことを特徴とするコンテンツ表示方法。
【請求項２】
前記ナビゲーション空間は、地理データを含む平面であり、
前記マーキングステップは、地理上の特定位置をマーキング箇所として前記マーカーを設け、その地理上の特定位置に関連するシーンを含むコンテンツを当該マーカーに対応づけることを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項３】
前記ナビゲーション空間は、地理データを含む３次元空間であり、
前記マーキングステップは、地理上の特定位置をマーキング箇所として前記マーカーを設け、その地理上の特定位置に関連するシーンを含むコンテンツを当該マーカーに対応づけることを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項４】
前記マーキングステップは、地表面から離れた特定位置をマーキング箇所として前記マーカーを設けることを特徴とする請求項３に記載のコンテンツ表示方法。
【請求項５】
前記ナビゲーション空間は、３次元仮想空間であり、
前記マーキングステップは、前記仮想空間内の特定オブジェクトをマーキング箇所として前記マーカーを設け、その特定オブジェクトに関連するシーンを含むコンテンツを当該マーカーに対応づけることを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項６】
前記ナビゲーションステップは、ユーザが入力する検索キーワードにもとづいて前記目的位置までユーザをナビゲートするためのユーザインタフェースを提供することを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項７】
前記コンテンツは、プログラムコードを含むデータであり、
前記エミュレーションステップは、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートして前記プログラムコードの少なくとも一部を実行することにより、当該シーンから前記コンテンツの実行を開始させることを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項８】
前記コンテンツは、プログラムコードを含むゲームコンテンツであり、前記マーキング箇所に関連するシーンは、ゲームの特定の設定条件に対応するシーンであり、
前記エミュレーションステップは、そのゲームの特定の設定条件を入力する操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にすることを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項９】
前記コンテンツは、ビデオデータであり、
前記エミュレーションステップは、前記ビデオを再生するために必要なプログラムを起動し、そのプログラムに対して前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから再生可能な状態にすることを特徴とする請求項１に記載のコンテンツ表示方法。
【請求項１０】
ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキング処理部と、
前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーション処理部と、
前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定部と、
特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行部とを含むことを特徴とするコンテンツ表示装置。
【請求項１１】
前記エミュレーション実行部によるエミュレーションの過程では、前記コンテンツを表示することなく、前記エミュレーションが終わった後、当該シーンから前記コンテンツの表示を開始する表示制御部をさらに含むことを特徴とする請求項１０に記載のコンテンツ表示装置。
【請求項１２】
ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキング処理機能と、
前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーション処理機能と、
前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定機能と、
特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項１３】
前記コンピュータは、複数のプロセッサを一つのパッケージに集積したマルチコアプロセッサを含み、
一のプロセッサに少なくとも前記ナビゲーション処理機能を実現させ、別のプロセッサに少なくとも前記エミュレーション実行機能を実現させることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
ユーザが探索する空間内のマーキング箇所にマーカーが設けられ、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツが対応づけられたナビゲーション空間内の目的位置までユーザをナビゲートするナビゲーション処理機能が実現された第１のプロセッサと、
前記目的位置から所定の範囲内に存在する前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行機能が実現された第２のプロセッサとを含むことを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ナビゲーション空間において関連するコンテンツを表示する方法および装置に関する。
【背景技術】
【０００２】
複数のサーバが提供する異なるコンテンツを複合して一つのサービスとして提供するマッシュアップ（Mashup）と呼ばれる技術が利用されている。マッシュアップでは、複数のＡＰＩ（Application Program Interface）を組み合わせてあたかも一つのサービスであるかのように見せることができる。たとえば、地図データをサーバから取得し、その地図データ上の特定の位置にマーカーを設け、そのマーカーにさらに、当該特定の位置に関連するデータ、たとえば、その位置に存在する施設の名称やＵＲＬ情報を対応づける。ディスプレイに表示された地図上を探索するためのユーザインタフェースが提供され、ユーザは地図上の目的位置までナビゲートされる。その目的位置もしくはその付近にマーカーが設定されている場合、マーカーが地図上に表示されることにより、ユーザは、目的位置もしくはその付近に何らかの関連情報があることを知ることができる。
【０００３】
このように、地図検索サービスにおいてマッシュアップ技術を用いれば、地図の表示画面に地理上の特定位置に関連する情報を合成して提示することができ、ユーザは地図上を探索しながら、マーキング箇所においては関連する情報を合わせて閲覧することができる。たとえば、地図検索サービスにおいてユーザが特定の住所を入力して、その住所付近の地図が画面に表示されたとする。ユーザがキーワードとして映画館を入力すると、画面上の地図には、映画館のある場所にマーカーが合成されて表示される。ユーザがマーカーをマウス等のポインティングデバイスで選択すると、選択されたマーカーに関連づけられた情報がポップアップ表示される。具体的には、マーカーの位置の住所、緯度・経度情報、映画館のＵＲＬや電話番号など関連情報が表示される。ユーザは表示されたＵＲＬをクリックすることにより、映画館のＷｅｂページを閲覧することができる。
【０００４】
従来のＷｅｂアプリケーションでは、ユーザ端末がサーバにリクエストを送信し、サーバからのレスポンスを新たなＷｅｂページとして受信し、ユーザ端末のディスプレイに表示されたＷｅｂページを更新していた。それに対して、最近のＷｅｂアプリケーションでは、データをサーバに要求する際、Ｗｅｂページ全体をリロードするのではなく、ＵＲＬからＸＭＬドキュメントを読み込む機能を用いて、ユーザ操作や画面描画と並行してサーバと非同期の通信を行い、必要とされるデータのみをサーバから取り込み、ユーザの端末で必要に応じて画面を描画することが可能である。この技術はＡｊａｘ（Asynchronous Java Script+XML）（Javaは登録商標）と呼ばれ、ユーザにサーバの存在を感じさせないインタラクティブで操作性の高いＷｅｂアプリケーションを実現することができる。たとえば、上述の地図検索サービスでは、画面に表示された地図をユーザがマウスで動かすと、次に読み込むべき地図データが非同期通信により取得され、Ｗｅｂページがロードされることなく、マウスの動きに応じて地図が即座に描画される。
【０００５】
特許文献１には、必要な場所を検索する際に、ガイド情報に正確な地図を簡単に含めて表示する情報提供方法が開示されている。
【特許文献１】特開平９−３１１８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、最近のＷｅｂアプリケーションでは、地図情報と関連情報を統合してシームレスなサービスを提供することができる。一方、Ｗｅｂで提供されるコンテンツには、ビデオ、音楽あるいはゲームなどがあり、これらのコンテンツには地理情報が含まれているものが多い。たとえば、あるカーレースゲームでは、実際の場所をレーシングコースとして選択するものがあり、フライトシミュレーションでは、実際の空域を飛行する設定のものがある。またビデオでも一つのドキュメンタリ番組の一場面で、パリ郊外の教会といった特定の建築物を紹介していることがある。このような地理上の特定の場所を一シーンとして含むコンテンツを地図情報と関連づけて提供することは一般的に困難である。新たに製作されるビデオコンテンツであれば、ビデオコンテンツの中にメタデータを挿入することによって、ビデオコンテンツの中から特定の場所を示すシーンをサーチしてそのシーンからビデオを再生することも可能である。しかしながら、そのようなメタデータが挿入されていないビデオやゲームなどの既存のコンテンツの場合は、最初から実行して該当するシーンが出てくるのを待つしかなく、地図情報と効果的に連携させることが難しかった。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ナビゲーション空間において関連するコンテンツを表示するための技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様のコンテンツ表示方法は、ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキングステップと、前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーションステップと、前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定ステップと、特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーションステップとを含む。
【０００９】
本発明の別の態様は、コンテンツ表示装置である。この装置は、ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキング処理部と、前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーション処理部と、前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定部と、特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行部とを含む。
【００１０】
本発明のさらに別の態様は、マルチプロセッサシステムである。このマルチプロセッサシステムは、ユーザが探索する空間内のマーキング箇所にマーカーが設けられ、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツが対応づけられたナビゲーション空間内の目的位置までユーザをナビゲートするナビゲーション処理機能が実現された第１のプロセッサと、前記目的位置から所定の範囲内に存在する前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行機能が実現された第２のプロセッサとを含む。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、ナビゲーション空間において関連するコンテンツを効果的に表示することができる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施の形態を図面を参照して説明する。
図１は、実施の形態に係るコンテンツ表示システムの構成図である。クライアントコンピュータ２００とコンテンツサーバ５００と地図サーバ６００がネットワーク７００で相互に接続されている。地図サーバ６００は、ユーザが探索するナビゲーション空間に関するデータをクライアントコンピュータ２００に提供する。ナビゲーション空間は、地理データを含む平面または３次元空間である。
【００１４】
コンテンツサーバ５００は、動画や音楽、ゲームなどのコンテンツを管理するサーバであり、クライアントコンピュータ２００からの要求に応じてコンテンツデータを提供する。特に本実施の形態では、地図サーバ６００が提供するナビゲーション空間内の特定のマーキング箇所にマーカーが設けられ、そのマーキング箇所に関連するシーンを含むコンテンツがコンテンツサーバ５００からクライアントコンピュータ２００に提供される。たとえば、マーキング箇所として地理上の特定位置が設定されている場合、コンテンツサーバ５００は、その特定位置に関連するシーンを含むコンテンツをクライアントコンピュータ２００に提供する。
【００１５】
図２は、図１のクライアントコンピュータ２００の構成図である。クライアントコンピュータ２００は、ＣＰＵ２２０、メモリ２１０、グラフィックスプロセッサ２３０、サウスブリッジ２５０、ハードディスク２４０、ネットワークインタフェース２６０、ＵＳＢインタフェース２７０、ＰＣＩインタフェース２８０、オーディオＤ／Ａコンバータ２９０、オーディオ出力端子３１０、およびＵＳＢインタフェース２７０に接続されたオーディオ入力端子３２０を含む。グラフィックスプロセッサ２３０の出力はディスプレイ３００に供給され、画面に表示される。ＵＳＢインタフェース２７０にはＵＳＢデバイス３３０、ＰＣＩインタフェース２８０にはＰＣＩデバイス３４０が接続可能である。
【００１６】
図３は、図１のＣＰＵ２２０の実装例として好適なマルチコアプロセッサ４００の構成図である。マルチコアプロセッサ４００は、複数のプロセッサを一つのパッケージに集積したものであり、一つのメインプロセッサ４１０、複数（ここでは４つ）のサブプロセッサ４２０ａ〜４２０ｄ、メモリインタフェース４５０、Ｉ／Ｏインタフェース４４０がリングバス４３０で接続された構成である。このマルチコアプロセッサ４００において、起動時にメインプロセッサ４１０が動作し、メインプロセッサ４１０によって、各サブプロセッサ４２０ａ〜４２０ｄに対してタスクが割り当てられる。
【００１７】
マルチコアプロセッサ４００は、並列動作する複数のプログラムを含むソフトウェアを実行するのに適した構成である。本実施の形態では、以下に述べるナビゲーション処理を一つのサブプロセッサで実行し、エミュレーション処理を別のサブプロセッサで実行するといった並列処理を行う。
【００１８】
図４は、本実施の形態に係るコンテンツ表示装置１００の機能構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現することができる。すなわち、これらの機能構成ブロックの少なくとも一部は、図２で説明したクライアントコンピュータ２００のハードウェア構成により実現され、ハードウェア構成で実現されない機能ブロックは、メモリ２１０にロードされたプログラムをＣＰＵ２２０が実行することにより実現される。
【００１９】
ナビゲーション処理部１０は、地図サーバ６００からユーザが探索するナビゲーション空間に関するデータを受け取り、ナビゲーションデータ６２として記憶部６０に保持する。ナビゲーション処理部１０は、ナビゲーション空間内の目的位置までユーザをナビゲートするユーザインタフェースを提供する。たとえば、ナビゲーション空間が２次元平面地図である場合、ユーザに住所や施設の名称などを検索キーワードとして入力させ、地図を検索して表示し、マウス操作などにより地図を上下左右にスクロールしたり、縮尺を変更するためのユーザインタフェースを提供することで、ユーザを地図上の目的位置までナビゲートする。ナビゲーション空間が３次元空間である場合は、ユーザが視点を変えながら３次元空間を自由に移動することのできるユーザインタフェースを提供する。
【００２０】
マーキング処理部２０は、ナビゲーション空間内の特定のマーキング箇所にマーカーを設定し、マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づける処理を行う。マーキング処理部２０は、コンテンツサーバ５００からマーカー表示情報６４とエミュレーション信号シーケンス６６を取得して記憶部６０に記憶する。マーカー表示情報６４は、ナビゲーション空間のマーキング箇所、そのマーキング箇所に設定すべきマーカーに関する情報、およびマーカーに対応づけるコンテンツに関する情報を含む。
【００２１】
エミュレーション信号シーケンス６６は、マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートするための信号シーケンスである。マーカーに対応づけられたコンテンツは、マーキング箇所に関連するシーンを含んでおり、エミュレーション信号シーケンス６６を実行することにより、そのシーンに至るまでの過程をスキップしてコンテンツを当該シーンから実行可能な状態に設定することができる。
【００２２】
ナビゲーション処理部１０は、記憶部６０に記憶されたマーカー表示情報６４を参照して、ユーザが探索しているナビゲーション空間内のマーキング箇所にマーカーを重ね合わせて表示する。
【００２３】
マーカー特定部３０は、ナビゲーション空間内の目的位置もしくはその近傍にあるマーカーを特定する。目的位置付近に複数のマーカーがある場合はユーザにいずれかのマーカーを選択させてもよい。マーカー特定部３０は目的位置付近で特定したマーカーの情報をエミュレーション実行部４０に与える。
【００２４】
エミュレーション実行部４０は、マーカー特定部３０により特定されたマーカーに対応づけられたコンテンツをコンテンツサーバ５００からダウンロードし、記憶部６０にコンテンツデータ６８として保持する。エミュレーション実行部４０は、記憶部６０に記憶されたエミュレーション信号シーケンス６６を読み取り、コンテンツデータ６８に対してそのエミュレーション信号シーケンス６６を実行して、マーキング箇所に関連するシーンに至るまでのユーザの操作をエミュレーションしてコンテンツを当該シーンを開始点として実行できるように前処理を行う。
【００２５】
コンテンツデータにはプログラムが含まれていてもよく、コンテンツデータを再生するための別のプログラムが用いられてもよい。コンテンツを実行するためのプロセスが起動されると、エミュレーション実行部４０は、ユーザの入力操作をエミュレートするための信号列をプロセスに入力する。これは、コンテンツ実行プロセスへの入力を、マウスやキーボードなどの入力手段からエミュレーションプログラムに切り替え、エミュレーションプログラムが発生する信号列をユーザ入力の代わりにコンテンツ実行プロセスに供給することで実現される。このような入力のリダイレクションは、エミュレーション処理の実行が終わると元に戻される。すなわち、コンテンツの実行プロセスへの入力は元のマウスやキーボードなどの入力手段に切り替えられる。
【００２６】
また、エミュレーション実行部４０は、コンテンツ実行プロセスの出力もリダイレクトする。ユーザの入力操作のエミュレーションを実行している間は、出力をエミュレーションプログラムにリダイレクトし、表示手段であるディスプレイ３００には出力しないようにする。エミュレーション処理の実行が終わると、出力のリダイレクションを元に戻し、コンテンツの実行結果をディスプレイ３００に出力する。これにより、ディスプレイ３００には、ユーザの操作をエミュレーションしている間のコンテンツの実行結果が表示されない。
【００２７】
表示制御部５０は、エミュレーション処理終了後のコンテンツの実行結果がディスプレイ３００に出力されるようにグラフィックスの出力をディスプレイ３００に供給する。
【００２８】
図５は、本実施の形態に係るコンテンツ表示方法の手順を説明するシーケンス図である。クライアントコンピュータ２００は、アプリケーションソフトウエアを実行する。このアプリケーションソフトウエアは地図サーバ６００と通信し、地図データを要求する（Ｓ１０）。クライアントコンピュータ２００は、アプリケーションソフトウェアの実行に合わせて、非同期に地図データを地図サーバ６００から取得する（Ｓ２０）。
【００２９】
初期段階では、アプリケーションソフトウェアは、地図の中心座標を指定して地図サーバ６００にリクエストを出すことにより、地図サーバ６００からその中心座標から所定の範囲にある地図データを受信する。ユーザがアプリケーションソフトウェア上でマウスの操作などを行ってイベントが発生すると、イベントが地図サーバ６００に送信され、必要とされる処理が地図サーバ６００で実行され、必要に応じて新たな地図データがクライアントコンピュータ２００に送信される。クライアントコンピュータ２００が地図サーバ６００に地図データのリクエストを送信し、地図サーバ６００から新しい地図データを受信するプロセスは、アプリケーションソフトウェアにおけるユーザの入出力操作とは並行して実行される。このために既に述べたＡｊａｘ技術を用いてもよい。
【００３０】
また、クライアントコンピュータ２００は、地図サーバ６００からの地図データの送受信とは並行して、コンテンツサーバ５００と通信し、地図に設定すべきマーカーを要求する（Ｓ３０）。クライアントコンピュータ２００は、コンテンツサーバ５００からマーカー表示情報を取得する（Ｓ４０）。クライアントコンピュータ２００上のアプリケーションソフトウェアはマーカーを地図にして表示する（Ｓ５０）。このために既に述べたマッシュアップ技術を用いてもよい。
【００３１】
クライアントコンピュータ２００のナビゲーション処理部１０は、ユーザの操作に応じたナビゲーション処理を実行する（Ｓ６０）。ユーザがナビゲーション空間における目的位置にまでナビゲートされると、マーカー特定部３０は、目的位置付近にあるマーカーを特定する（Ｓ７０）。
【００３２】
クライアントコンピュータ２００は、特定されたマーカーに対応づけられたコンテンツをコンテンツサーバ５００に要求し（Ｓ８０）、コンテンツをコンテンツサーバ５００からダウンロードする（Ｓ９０）。
【００３３】
エミュレーション実行部４０は、ユーザの操作をエミュレートしてマーカーの設けられた地理上の位置に関連する特定のシーンに至るまでコンテンツを実行する（Ｓ１００）。その後、コンテンツはその特定シーンから実行され（Ｓ１１０）、それまで閲覧していた地図画面からコンテンツの表示画面に切り替わる（Ｓ１２０）。
【００３４】
上記の説明では、マーカーで指定されたコンテンツをクライアントコンピュータ２００にダウンロードしてコンテンツを実行する方法を説明したが、コンテンツの実行はコンテンツサーバ５００において行うようにしてもよい。その場合、コンテンツサーバ５００は、実行結果として生成された画像情報をクライアントコンピュータ２００に送信し、クライアントコンピュータ２００からの入力はコンテンツサーバ５００に送信される。
【００３５】
図６（ａ）〜（ｃ）は、マーキング箇所に関連した特定のシーンからゲームコンテンツを実行する方法を説明する図である。図６（ａ）は、ゲーム起動時の画面であり、ここでは、グランプリレースをスタートさせるために「スタート」ボタン８００を押すように、ユーザに要求している。ユーザがこのボタンを押すことにより、「スタート」信号が発生する。ゲームプログラムは、「スタート」信号が発生するかどうか、ユーザからの入力待ちをするように構成されているため、「スタート」信号を検出することによって、次の画面をロードする。
【００３６】
図６（ｂ）は、「スタート」信号が実行された後に表示されるゲームの選択画面である。ここでは、３つのレースコース（「東京」、「ベルギー」、「モナコ」）の選択をユーザに促している。ゲームプログラムは、最初は左のコースを選択した状態で、ユーザが「確定」ボタン８０２を押したかどうかを待ちながら、入力待ち状態に入る。この状態で、ユーザがマウスやゲームコントローラの「左」ボタンや「右」ボタンを押すと、その信号を受信したゲームプログラムは、３つのレースコースの間でカーソルポジションを左右に移動させる。
【００３７】
ここでは、ユーザが「右」ボタンを２回押した後、「確定」ボタン８０２を押して「モナコ」を選択したとする。ゲームプログラムは、「右ボタン」信号を２回受信し、その後、「確定」信号を受信するため、３番目のレースコース「モナコ」が選択された状態に遷移する。図６（ｃ）は、レースコースの選択後のゲームのスタート画面であり、「モナコグランプリ」が開始される。
【００３８】
ここでカーレースゲームの「モナコグランプリ」は、地理上の「モナコ公国」に関連するため、地図上で「モナコ公国」近辺が表示されたとき、ゲームプログラムを図６（ａ）に初期画面からではなく、図６（ｃ）のように既にゲームの設定条件として「モナコグランプリ」が設定された後のゲーム開始画面から開始することが望ましい。そこで、本実施の形態のコンテンツ表示システムでは、クライアントコンピュータ２００において「モナコ公国」周辺が地図上に表示された場合、クライアントコンピュータ２００が、あたかもユーザがゲームコンテンツに対して図６（ａ）から図６（ｃ）に遷移するまでの入力操作を行ったかのように、信号列を発生させ、ゲームプログラムにその信号列を入力する。これにより、ユーザの入力操作がエミュレーションされ、図６（ｃ）の「モナコグランプリ」画面からゲームを開始可能な状態となる。
【００３９】
このために、クライアントコンピュータ２００は、ゲームプログラムをロードした後、画面表示する前の段階で、次のようなエミュレーション信号列をゲームプログラムに入力する。
信号列：｛「スタート」信号，「右ボタン」信号，「右ボタン」信号，「確定」信号｝
【００４０】
このエミュレーション信号列が実行される間は、ディスプレイ３００にはゲームコンテンツの画面は表示されないように制御し、エミュレーション信号列の実行後は、ゲームコンテンツの画面が表示されるようにすることで、ユーザは地図で「モナコ公国」近辺を探索したときに、その地理情報に関連した「モナコグランプリ」のカーレースゲームを実行することができる。
【００４１】
図７（ａ）、（ｂ）は、マーキング箇所に関連した特定のシーンからビデオコンテンツを再生する方法を説明する図である。図７（ａ）は、ビデオコンテンツの時間０における初期画面であり、図７（ｂ）は、時間Ｔにおける画面である。このビデオコンテンツは東京の観光名所を案内するものであり、時間Ｔから「東京タワー」を紹介する内容となる。地図上で「東京タワー」付近が表示され、東京タワーにはマーカーが表示されたとする。そのマーカーには、当該ビデオコンテンツが関連づけられている場合、マーカーを選択することで、ビデオコンテンツが「東京タワー」のシーンから再生されるようにすることが望ましい。そのためには、時刻Ｔまでビデオコンテンツを先送りするエミュレーション信号を発生させてビデオ再生プログラムに入力すればよい。なお、ビデオコンテンツが蓄積型ではなく、ストリーム配信されるリアルタイム型のものであっても、「先送り」のように任意の時間にジャンプして再生を開始するメカニズムがサポートされている。
【００４２】
コンテンツの実行を特定シーンに至るまで進めるためのエミュレーション信号列は、コンテンツの提供者が作成してもよく、ユーザが作成してもよい。特に、既存のコンテンツの場合、コンテンツを閲覧したユーザがエミュレーション信号列を作成し、公開するようにしてもよい。最近では、動画のサイトが増えており、不特定多数のユーザが、コンテンツ内の特定のシーンからスタートするためのエミュレーション信号列を作成してネットワーク上で公開することにより、既存のコンテンツの利用が一層広がる。
【００４３】
図８（ａ）は、図４のマーカー表示情報６４を説明する図である。マーカー表示情報６４は、一例としてＸＭＬ（Extensible Markup Language）で記述される。この例では、マーカー表示情報６４は、３つのマーカーが定義されており、各タグの第１〜第３列はそれぞれ第１〜第３のマーカーに対応する情報である。
【００４４】
最初のタグ<markers>で括られた部分（符号８１２）には、地理上の位置情報として緯度・経度情報が記されている。第２のタグ<titles>で括られた部分（符号８１４）には、コンテンツのタイトルが記されており、タグ<title>の第１引数はタイトルの文字列であり、第２引数はコンテンツのタイプである。第３のタグ<urls>で括られた部分（符号８１６）には、コンテンツのネットワーク上の格納位置であるＵＲＬが記されている。第４のタグ<posIDs>で括られた部分（符号８１８）には、コンテンツの特定シーンを示すＩＤが記されている。
【００４５】
第１のマーカーは、緯度ＸＡ、経度ＹＡのマーキング箇所に設定されており、ゲームコンテンツ「グランプリレース」が対応づけられており、ゲームコンテンツのＵＲＬはＬＯＣＡであり、コンテンツの開始位置である特定シーンのＩＤ（以下、「開始位置ＩＤ」という）はＡ＿ＳＣＥＮＥ＿ＩＤ１である。第１のマーカーは、緯度ＸＡ、経度ＹＡのマーキング箇所に設定されており、ゲームコンテンツ「グランプリレース」が対応づけられており、ゲームコンテンツのＵＲＬはＬＯＣＡであり、開始位置ＩＤはＡ＿ＳＣＥＮＥ＿ＩＤ１である。第３のマーカーは、緯度ＸＡ＋１００、経度ＹＡ＋１０のマーキング箇所に設定されており、ビデオコンテンツ「日本の風景」が対応づけられており、ビデオコンテンツのＵＲＬはＬＯＣＢであり、開始位置ＩＤはＢ＿ＳＣＥＮＥ＿ＩＤ１である。
【００４６】
図８（ｂ）は、図４のエミュレーション信号シーケンス６６を説明する図である。図８（ａ）の各コンテンツの開始位置ＩＤ毎にコンテンツに入力されるエミュレーション信号シーケンスが記載されている。たとえば、第１のマーカーに対応づけられたゲームコンテンツの開始位置ＩＤであるＡ＿ＳＣＥＮＥ＿ＩＤ１には、信号列：｛「スタート」信号，「右ボタン信号」，「右ボタン信号」，「確定」信号｝が記載されている。第２のマーカーに対応づけられたゲームコンテンツの開始位置ＩＤであるＡ＿ＳＣＥＮＥ＿ＩＤ２には、信号列：｛「スタート」信号，「右ボタン信号」，「確定」信号｝が記載されている。第３のマーカーに対応づけられたビデオコンテンツの開始位置ＩＤであるＢ＿ＳＣＥＮＥ＿ＩＤ１には、信号列：｛「時間Ｔのポジションへ先送り」信号｝が記載されている。
【００４７】
図９は、ナビゲーションアプリケーションの実行開始からコンテンツ実行プロセス起動までの処理の流れを説明するフローチャートである。ナビゲーションアプリケーションとして、地図や仮想美術館などが考えられる。本実施の形態では、ナビゲーション空間中の特定箇所あるいは一定の領域内で提供される情報に関連するコンテンツが自動的あるいは選択的に実行される。
【００４８】
ナビゲーションアプリケーションが起動されると、まず、マーカー検出範囲が指定される（Ｓ２００）。このマーカー検出範囲はユーザによって指定されてもよく、システムによってあらかじめ規定されてもよい。マーカー検出範囲は、ナビゲーション空間が２次元の場合は、矩形領域や円形領域などであり、ナビゲーション空間が３次元の場合は、立方体領域や球形領域である。矩形領域は縦横の距離により指定され、円形領域は中心からの半径により指定される。
【００４９】
次に、ナビゲーション空間情報、たとえば地図データや仮想空間データが取得される（Ｓ２０２）。このナビゲーション空間情報は、ローカルコンピュータから直接アクセス可能なローカルストレージから取得される場合と、リモートサーバ、たとえば地図サーバから取得される場合とがある。さらに、ナビゲーション空間内の位置データに関連づけられたマーカー情報をローカルストレージあるいはリモートサーバから取得して、ナビゲーション空間内にマッピングする（Ｓ２０３）。
【００５０】
ここで、ナビゲーション空間情報の処理（Ｓ２０２）とマーカー情報の処理（Ｓ２０３）とは並列に実行されてもよい。たとえば、図３のようなマルチプロセッサで処理する場合、一つのサブプロセッサでナビゲーション空間情報の処理を行い、別のサブプロセッサでマーカー情報の処理を行ってもよい。
【００５１】
ナビゲーションアプリケーションは、マウス移動などのイベントを検出し、ユーザの操作に応じたナビゲーション処理を実行する（Ｓ２０４）。アプリケーションは、マウス位置からマーカー検出範囲内にあるマーカーを取得する（Ｓ２０６）。
【００５２】
マーカーが全く存在しなければ（Ｓ２０８のＮ）、ステップＳ２０４に戻り、再びユーザの入力イベントを待つ状態に入る。マーカーが１つ以上存在する場合（Ｓ２０８のＹ）、マーカーが２つ以上存在するかどうかのチェックを行う（Ｓ２１０）。なお、マーカーが２つ以上存在するかどうかのチェックは省略して、ステップＳ２１２に進むように手順を変更してもよい。
【００５３】
マーカーが２つ以上存在する場合（Ｓ２１０のＹ）、マーカーに対応するコンテンツを選択するためのマーカー表示を行う（Ｓ２１２）。マーカーは、吹き出し形式で表示されてもよく、マーカー情報として記憶されているコンテンツを表現するアイコン、サムネイル画像、あるいはタイトルを表示するようにしてもよい。ただし、ユーザがどのコンテンツを選択したかがわかるような態様でマーカー表示を行う。
【００５４】
ユーザがいずれかのマーカーを選択するまで、ユーザからの入力待ち状態になる（Ｓ２１４のＮ）。ユーザが一つのマーカーすなわち対応するコンテンツを選択したと判断される場合（Ｓ２１４のＹ）、マーカーの指定するコンテンツを実行するためのプロセスを起動する（Ｓ２１６）。コンテンツ実行プロセスは、ゲーム、ビデオ、オーディオなどのコンテンツタイプによって異なる処理を実行する。このために、コンテンツタイプ毎にプログラムが用意されてもよく、一つのプログラムの中でコンテンツタイプを選別して異なる処理を実行するように構成されてもよい。
【００５５】
実施例の一つとして、ステップＳ２１０において、マーカーが１つしか存在しない場合（Ｓ２１０のＮ）、ステップＳ２１６に進み、マーカーに対応するコンテンツを実行するためのプロセスの起動を自動的に始めることができる。すなわち、ナビゲーションアプリケーションが地図ナビゲーションであり、コンテンツがゲームであるとして、たとえば、モナコ公国付近が表示された場合、ユーザにマーカーを選択させることなく、モナコグランプリのゲーム画面に自動的に切り替わるようにしてもよい。さらにこの場合は、マーカーは地図に表示しても表示しなくてもよい。
【００５６】
コンテンツ実行プロセスにおける処理手順を説明する。コンテンツがコンテンツサーバ５００によって提供されるから、コンテンツ実行プロセスは、まず、コンテンツに関連づけられたＵＲＬからコンテンツをダウンロードする。クライアントコンピュータ２００は、画像出力はオフにした状態でダウンロードされたコンテンツを実行状態にする。すなわち、コンテンツが生成する画像をグラフィックスプロセッサ２３０へ出力しないように制御する。
【００５７】
次に、クライアントコンピュータ２００は、コンテンツ選択用のマーカーにあらかじめ関連付けられている開始位置ＩＤで特定されるエミュレーション信号シーケンスをハードディスク、外部ディスク装置、メモリデバイスなどのストレージから取り出し、この信号シーケンスを実行状態で入力待ちとなっているコンテンツに対して入力する。信号シーケンスがすべて入力し終わった後で、画像出力をオンにする。これによって、コンテンツが特定シーンから実行されるようになる。
【００５８】
図１０は、クライアントコンピュータ２００のディスプレイ３００に表示されるナビゲーション空間とマーカーを説明する図である。ここではナビゲーション空間の一例としてナビゲーション地図８６０が表示されている。このナビゲーション地図８６０は、ユーザが検索キーワードとして「モナコ公国」を入力し（符号８３０）、地図検索ボタン８３２を押したことによって表示されたものである。ユーザはこのナビゲーション地図８６０に対して、縮尺バー８４０を操作することで地図の縮尺を変更したり、上下左右の矢印ボタン（８４０ａ〜８４０ｄ）を押すことで地図の表示範囲を変更することができる。
【００５９】
ナビゲーション地図８６０には２つのマーカー８５０ａ、８５０ｂが表示されている。第１のマーカー８５０ａは、地理上の位置「モンテカルロ」に設定されており、このマーカー８５０ａは、モンテカルロのカジノのシーンを含む映画コンテンツに対応づけられている。第２のマーカー８５０ｂは、モナコ公国の中心位置に設定されており、このマーカー８５０ｂは、モナコグランプリのゲームを含むゲームコンテンツに対応づけられている。
【００６０】
ユーザが第２のマーカー８５０ｂにマウスを合わせると吹き出し８５２が現れ、このマーカー８５０ｂにはモナコグランプリを含むゲームコンテンツが対応していることが示される。また、ナビゲーション地図８６０の右側には、マーカー一覧８７０が表示され、各マーカーに対応づけられたコンテンツが表示される。
【００６１】
ユーザは、マーカー一覧８７０においていずれかのマーカーを選択するか、ナビゲーション地図８６０においていずれかのマーカーをクリックすることでマーカーを特定する。特定されたマーカーに対応するコンテンツに対して、エミュレーション信号シーケンスが入力され、特定シーンに至るまでのユーザの入力操作がエミュレートされ、コンテンツは特定シーンから実行が開始される。たとえば、ユーザが第２のマーカー８５０ｂを選択すると、ゲームコンテンツに対して「モナコグランプリ」を設定するためのエミュレート信号シーケンスが入力され、ゲームコンテンツは図６（ｃ）に示す「モナコグランプリ」画面から実行が開始される。
【００６２】
上記では、コンテンツがクライアントコンピュータ２００で実行される実施例を説明したが、コンテンツはコンテンツサーバ５００で実行されてもよい。
【００６３】
図１１は、コンテンツサーバ５００でコンテンツが実行される場合におけるコンテンツ表示方法の手順を説明するシーケンス図である。ステップＳ１０からステップＳ７０までは図５の手順と同じである。
【００６４】
クライアントコンピュータ２００は。マーカーで指定されるコンテンツとその開始位置ＩＤを指定して、コンテンツサーバ５００上のＣＧＩプログラムを呼び出す（Ｓ１２０）。このとき、クライアントコンピュータ２００側のグラフィックスプロセッサ２３０への出力はオフに設定される。
【００６５】
次に、コンテンツサーバ５００において、指定されたＣＧＩプログラムの中で指定されたコンテンツの実行プロセスを起動する。コンテンツ実行プロセスは、クライアントコンピュータ２００から受信された開始位置ＩＤで特定されるエミュレーション信号シーケンスをハードディスク、外部ディスク装置、メモリデバイスなどのストレージから取り出し、この信号シーケンスを実行状態で入力待ちとなっているコンテンツに対して入力する（Ｓ１３０）。信号シーケンスがすべて入力し終わった後で、コンテンツサーバ５００は、クライアントコンピュータ２００にコンテンツ再生が可能になったことを通知する信号を送信し、その後、特定シーンからコンテンツを実行する（Ｓ１４０）。コンテンツサーバ５００はコンテンツの実行の結果得られる画像データをクライアントコンピュータ２００に送信する（Ｓ１５０）。
【００６６】
クライアントコンピュータ２００では、コンテンツサーバ５００からコンテンツ再生が可能になったことを通知する信号を受信して、グラフィックスプロセッサ２３０への出力をオンに設定し、コンテンツを表示する（Ｓ１６０）。これにより、コンテンツが特定シーンから実行されるようになる。
【００６７】
以上述べたように、本実施の形態のコンテンツ表示システムによれば、メタ情報をもたない既存のコンテンツであっても、ユーザの入力操作をエミュレートすることにより、マーキング箇所に関連するシーンからコンテンツを開始することができる。
【００６８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６９】
上記の説明では、ナビゲーション空間の特定の場所に対して、その場所に関連するシーンを含むコンテンツが対応づけられたが、ナビゲーション空間が３次元美術館のような仮想空間の場合は、仮想空間内の特定のオブジェクトをマーキング箇所として、そのオブジェクトに関連するシーンを含むコンテンツが対応づけられてもよい。たとえば、３次元美術館に展示された「モナリザ」の絵に対してモナリザを一シーンに含む映画コンテンツが対応づけられてもよい。
【００７０】
また、コンテンツが配置された仮想空間をユーザが探索する「コンテンツクルーズ」のようなアプリケーションの場合、コンテンツの配置された場所をマーキング箇所としてマーカーを設け、そのコンテンツに関連するシーンを含む別のコンテンツをマーカーに対応づけてもよい。たとえば、写真が展示されている仮想空間において、写真が設置された箇所にマーカーを設定し、写真の人物が登場するシーンを含む映画コンテンツをマーカーに対応づけてもよい。これにより、ユーザが関心をもつコンテンツを起点としてそのコンテンツに関連する別のコンテンツにユーザをナビゲートすることができる。
【００７１】
また、３次元地図ナビゲーションアプリケーションの場合、地表面から離れた位置をマーキング箇所としてマーカーを設けてもよい。この場合、空中から地上までを含む立方体空間をマーカー検出範囲として定義することで、たとえば、東京上空に来たときに、ゲームの設定条件として羽田空港が選択されたフライトシミュレータが自動的に起動されるように構成することができる。
【図面の簡単な説明】
【００７２】
【図１】実施の形態に係るコンテンツ表示システムの構成図である。
【図２】図１のクライアントコンピュータの構成図である。
【図３】図１のＣＰＵの実装例として好適なマルチコアプロセッサの構成図である。
【図４】実施の形態に係るコンテンツ表示装置の機能構成図である。
【図５】実施の形態に係るコンテンツ表示方法の手順を説明するシーケンス図である。
【図６】図６（ａ）〜（ｃ）は、マーキング箇所に関連した特定のシーンからゲームコンテンツを実行する方法を説明する図である。
【図７】図７（ａ）、（ｂ）は、マーキング箇所に関連した特定のシーンからビデオコンテンツを再生する方法を説明する図である。
【図８】図８（ａ）は、図４のマーカー表示情報を説明する図であり、図８（ｂ）は、図４のエミュレーション信号シーケンスを説明する図である。
【図９】ナビゲーションアプリケーションの実行開始からコンテンツ実行プロセス起動までの処理の流れを説明するフローチャートである。
【図１０】クライアントコンピュータのディスプレイに表示されるナビゲーション空間とマーカーを説明する図である。
【図１１】コンテンツサーバでコンテンツが実行される場合におけるコンテンツ表示方法の手順を説明するシーケンス図である。
【符号の説明】
【００７３】
１  ナビゲーション処理部、  ２０  マーキング処理部、  ３０  マーカー特定部、  ４０  エミュレーション実行部、  ５０  表示制御部、  ６０  記憶部、  ６２  ナビゲーションデータ、  ６４  マーカー表示情報、  ６６  エミュレーション信号シーケンス、  ６８  コンテンツデータ、  １００  コンテンツ表示装置、  ２００  クライアントコンピュータ、  ４００  マルチコアプロセッサ、  ４１０  メインプロセッサ、  ４２０  サブプロセッサ、  ５００  コンテンツサーバ、  ６００  地図サーバ、  ７００  ネットワーク。  
【図１】
2008146232.tif 000003
【図２】
2008146232.tif 000004
【図３】
2008146232.tif 000005
【図４】
2008146232.tif 000006
【図５】
2008146232.tif 000007
【図６】
2008146232.tif 000008
【図７】
2008146232.tif 000009
【図８】
2008146232.tif 000010
【図９】
2008146232.tif 000011
【図１０】
2008146232.tif 000012
【図１１】
2008146232.tif 000013