説明

コンテンツ表示方法、コンテンツ表示装置、およびマルチプロセッサシステム

【課題】地理上の特定の場所を一シーンとして含むコンテンツを地図情報と関連づけて提供することは一般的に困難である。
【解決手段】マーキング処理部20は、ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づける。ナビゲーション処理部10は、ナビゲーション空間内の目的位置までユーザをナビゲートするユーザインタフェースを提供する。マーカー特定部30は、目的位置から所定の範囲内に存在するマーカーを特定する。エミュレーション実行部40は、特定されたマーカーに対応づけられたコンテンツについて、マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、コンテンツを当該シーンから実行可能な状態にする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ナビゲーション空間において関連するコンテンツを表示する方法および装置に関する。
【背景技術】
【0002】
複数のサーバが提供する異なるコンテンツを複合して一つのサービスとして提供するマッシュアップ(Mashup)と呼ばれる技術が利用されている。マッシュアップでは、複数のAPI(Application Program Interface)を組み合わせてあたかも一つのサービスであるかのように見せることができる。たとえば、地図データをサーバから取得し、その地図データ上の特定の位置にマーカーを設け、そのマーカーにさらに、当該特定の位置に関連するデータ、たとえば、その位置に存在する施設の名称やURL情報を対応づける。ディスプレイに表示された地図上を探索するためのユーザインタフェースが提供され、ユーザは地図上の目的位置までナビゲートされる。その目的位置もしくはその付近にマーカーが設定されている場合、マーカーが地図上に表示されることにより、ユーザは、目的位置もしくはその付近に何らかの関連情報があることを知ることができる。
【0003】
このように、地図検索サービスにおいてマッシュアップ技術を用いれば、地図の表示画面に地理上の特定位置に関連する情報を合成して提示することができ、ユーザは地図上を探索しながら、マーキング箇所においては関連する情報を合わせて閲覧することができる。たとえば、地図検索サービスにおいてユーザが特定の住所を入力して、その住所付近の地図が画面に表示されたとする。ユーザがキーワードとして映画館を入力すると、画面上の地図には、映画館のある場所にマーカーが合成されて表示される。ユーザがマーカーをマウス等のポインティングデバイスで選択すると、選択されたマーカーに関連づけられた情報がポップアップ表示される。具体的には、マーカーの位置の住所、緯度・経度情報、映画館のURLや電話番号など関連情報が表示される。ユーザは表示されたURLをクリックすることにより、映画館のWebページを閲覧することができる。
【0004】
従来のWebアプリケーションでは、ユーザ端末がサーバにリクエストを送信し、サーバからのレスポンスを新たなWebページとして受信し、ユーザ端末のディスプレイに表示されたWebページを更新していた。それに対して、最近のWebアプリケーションでは、データをサーバに要求する際、Webページ全体をリロードするのではなく、URLからXMLドキュメントを読み込む機能を用いて、ユーザ操作や画面描画と並行してサーバと非同期の通信を行い、必要とされるデータのみをサーバから取り込み、ユーザの端末で必要に応じて画面を描画することが可能である。この技術はAjax(Asynchronous Java Script+XML)(Javaは登録商標)と呼ばれ、ユーザにサーバの存在を感じさせないインタラクティブで操作性の高いWebアプリケーションを実現することができる。たとえば、上述の地図検索サービスでは、画面に表示された地図をユーザがマウスで動かすと、次に読み込むべき地図データが非同期通信により取得され、Webページがロードされることなく、マウスの動きに応じて地図が即座に描画される。
【0005】
特許文献1には、必要な場所を検索する際に、ガイド情報に正確な地図を簡単に含めて表示する情報提供方法が開示されている。
【特許文献1】特開平9−311873号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述のように、最近のWebアプリケーションでは、地図情報と関連情報を統合してシームレスなサービスを提供することができる。一方、Webで提供されるコンテンツには、ビデオ、音楽あるいはゲームなどがあり、これらのコンテンツには地理情報が含まれているものが多い。たとえば、あるカーレースゲームでは、実際の場所をレーシングコースとして選択するものがあり、フライトシミュレーションでは、実際の空域を飛行する設定のものがある。またビデオでも一つのドキュメンタリ番組の一場面で、パリ郊外の教会といった特定の建築物を紹介していることがある。このような地理上の特定の場所を一シーンとして含むコンテンツを地図情報と関連づけて提供することは一般的に困難である。新たに製作されるビデオコンテンツであれば、ビデオコンテンツの中にメタデータを挿入することによって、ビデオコンテンツの中から特定の場所を示すシーンをサーチしてそのシーンからビデオを再生することも可能である。しかしながら、そのようなメタデータが挿入されていないビデオやゲームなどの既存のコンテンツの場合は、最初から実行して該当するシーンが出てくるのを待つしかなく、地図情報と効果的に連携させることが難しかった。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ナビゲーション空間において関連するコンテンツを表示するための技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様のコンテンツ表示方法は、ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキングステップと、前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーションステップと、前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定ステップと、特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーションステップとを含む。
【0009】
本発明の別の態様は、コンテンツ表示装置である。この装置は、ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキング処理部と、前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーション処理部と、前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定部と、特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行部とを含む。
【0010】
本発明のさらに別の態様は、マルチプロセッサシステムである。このマルチプロセッサシステムは、ユーザが探索する空間内のマーキング箇所にマーカーが設けられ、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツが対応づけられたナビゲーション空間内の目的位置までユーザをナビゲートするナビゲーション処理機能が実現された第1のプロセッサと、前記目的位置から所定の範囲内に存在する前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行機能が実現された第2のプロセッサとを含む。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明によれば、ナビゲーション空間において関連するコンテンツを効果的に表示することができる。
【発明を実施するための最良の形態】
【0013】
本発明の実施の形態を図面を参照して説明する。
図1は、実施の形態に係るコンテンツ表示システムの構成図である。クライアントコンピュータ200とコンテンツサーバ500と地図サーバ600がネットワーク700で相互に接続されている。地図サーバ600は、ユーザが探索するナビゲーション空間に関するデータをクライアントコンピュータ200に提供する。ナビゲーション空間は、地理データを含む平面または3次元空間である。
【0014】
コンテンツサーバ500は、動画や音楽、ゲームなどのコンテンツを管理するサーバであり、クライアントコンピュータ200からの要求に応じてコンテンツデータを提供する。特に本実施の形態では、地図サーバ600が提供するナビゲーション空間内の特定のマーキング箇所にマーカーが設けられ、そのマーキング箇所に関連するシーンを含むコンテンツがコンテンツサーバ500からクライアントコンピュータ200に提供される。たとえば、マーキング箇所として地理上の特定位置が設定されている場合、コンテンツサーバ500は、その特定位置に関連するシーンを含むコンテンツをクライアントコンピュータ200に提供する。
【0015】
図2は、図1のクライアントコンピュータ200の構成図である。クライアントコンピュータ200は、CPU220、メモリ210、グラフィックスプロセッサ230、サウスブリッジ250、ハードディスク240、ネットワークインタフェース260、USBインタフェース270、PCIインタフェース280、オーディオD/Aコンバータ290、オーディオ出力端子310、およびUSBインタフェース270に接続されたオーディオ入力端子320を含む。グラフィックスプロセッサ230の出力はディスプレイ300に供給され、画面に表示される。USBインタフェース270にはUSBデバイス330、PCIインタフェース280にはPCIデバイス340が接続可能である。
【0016】
図3は、図1のCPU220の実装例として好適なマルチコアプロセッサ400の構成図である。マルチコアプロセッサ400は、複数のプロセッサを一つのパッケージに集積したものであり、一つのメインプロセッサ410、複数(ここでは4つ)のサブプロセッサ420a〜420d、メモリインタフェース450、I/Oインタフェース440がリングバス430で接続された構成である。このマルチコアプロセッサ400において、起動時にメインプロセッサ410が動作し、メインプロセッサ410によって、各サブプロセッサ420a〜420dに対してタスクが割り当てられる。
【0017】
マルチコアプロセッサ400は、並列動作する複数のプログラムを含むソフトウェアを実行するのに適した構成である。本実施の形態では、以下に述べるナビゲーション処理を一つのサブプロセッサで実行し、エミュレーション処理を別のサブプロセッサで実行するといった並列処理を行う。
【0018】
図4は、本実施の形態に係るコンテンツ表示装置100の機能構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現することができる。すなわち、これらの機能構成ブロックの少なくとも一部は、図2で説明したクライアントコンピュータ200のハードウェア構成により実現され、ハードウェア構成で実現されない機能ブロックは、メモリ210にロードされたプログラムをCPU220が実行することにより実現される。
【0019】
ナビゲーション処理部10は、地図サーバ600からユーザが探索するナビゲーション空間に関するデータを受け取り、ナビゲーションデータ62として記憶部60に保持する。ナビゲーション処理部10は、ナビゲーション空間内の目的位置までユーザをナビゲートするユーザインタフェースを提供する。たとえば、ナビゲーション空間が2次元平面地図である場合、ユーザに住所や施設の名称などを検索キーワードとして入力させ、地図を検索して表示し、マウス操作などにより地図を上下左右にスクロールしたり、縮尺を変更するためのユーザインタフェースを提供することで、ユーザを地図上の目的位置までナビゲートする。ナビゲーション空間が3次元空間である場合は、ユーザが視点を変えながら3次元空間を自由に移動することのできるユーザインタフェースを提供する。
【0020】
マーキング処理部20は、ナビゲーション空間内の特定のマーキング箇所にマーカーを設定し、マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づける処理を行う。マーキング処理部20は、コンテンツサーバ500からマーカー表示情報64とエミュレーション信号シーケンス66を取得して記憶部60に記憶する。マーカー表示情報64は、ナビゲーション空間のマーキング箇所、そのマーキング箇所に設定すべきマーカーに関する情報、およびマーカーに対応づけるコンテンツに関する情報を含む。
【0021】
エミュレーション信号シーケンス66は、マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートするための信号シーケンスである。マーカーに対応づけられたコンテンツは、マーキング箇所に関連するシーンを含んでおり、エミュレーション信号シーケンス66を実行することにより、そのシーンに至るまでの過程をスキップしてコンテンツを当該シーンから実行可能な状態に設定することができる。
【0022】
ナビゲーション処理部10は、記憶部60に記憶されたマーカー表示情報64を参照して、ユーザが探索しているナビゲーション空間内のマーキング箇所にマーカーを重ね合わせて表示する。
【0023】
マーカー特定部30は、ナビゲーション空間内の目的位置もしくはその近傍にあるマーカーを特定する。目的位置付近に複数のマーカーがある場合はユーザにいずれかのマーカーを選択させてもよい。マーカー特定部30は目的位置付近で特定したマーカーの情報をエミュレーション実行部40に与える。
【0024】
エミュレーション実行部40は、マーカー特定部30により特定されたマーカーに対応づけられたコンテンツをコンテンツサーバ500からダウンロードし、記憶部60にコンテンツデータ68として保持する。エミュレーション実行部40は、記憶部60に記憶されたエミュレーション信号シーケンス66を読み取り、コンテンツデータ68に対してそのエミュレーション信号シーケンス66を実行して、マーキング箇所に関連するシーンに至るまでのユーザの操作をエミュレーションしてコンテンツを当該シーンを開始点として実行できるように前処理を行う。
【0025】
コンテンツデータにはプログラムが含まれていてもよく、コンテンツデータを再生するための別のプログラムが用いられてもよい。コンテンツを実行するためのプロセスが起動されると、エミュレーション実行部40は、ユーザの入力操作をエミュレートするための信号列をプロセスに入力する。これは、コンテンツ実行プロセスへの入力を、マウスやキーボードなどの入力手段からエミュレーションプログラムに切り替え、エミュレーションプログラムが発生する信号列をユーザ入力の代わりにコンテンツ実行プロセスに供給することで実現される。このような入力のリダイレクションは、エミュレーション処理の実行が終わると元に戻される。すなわち、コンテンツの実行プロセスへの入力は元のマウスやキーボードなどの入力手段に切り替えられる。
【0026】
また、エミュレーション実行部40は、コンテンツ実行プロセスの出力もリダイレクトする。ユーザの入力操作のエミュレーションを実行している間は、出力をエミュレーションプログラムにリダイレクトし、表示手段であるディスプレイ300には出力しないようにする。エミュレーション処理の実行が終わると、出力のリダイレクションを元に戻し、コンテンツの実行結果をディスプレイ300に出力する。これにより、ディスプレイ300には、ユーザの操作をエミュレーションしている間のコンテンツの実行結果が表示されない。
【0027】
表示制御部50は、エミュレーション処理終了後のコンテンツの実行結果がディスプレイ300に出力されるようにグラフィックスの出力をディスプレイ300に供給する。
【0028】
図5は、本実施の形態に係るコンテンツ表示方法の手順を説明するシーケンス図である。クライアントコンピュータ200は、アプリケーションソフトウエアを実行する。このアプリケーションソフトウエアは地図サーバ600と通信し、地図データを要求する(S10)。クライアントコンピュータ200は、アプリケーションソフトウェアの実行に合わせて、非同期に地図データを地図サーバ600から取得する(S20)。
【0029】
初期段階では、アプリケーションソフトウェアは、地図の中心座標を指定して地図サーバ600にリクエストを出すことにより、地図サーバ600からその中心座標から所定の範囲にある地図データを受信する。ユーザがアプリケーションソフトウェア上でマウスの操作などを行ってイベントが発生すると、イベントが地図サーバ600に送信され、必要とされる処理が地図サーバ600で実行され、必要に応じて新たな地図データがクライアントコンピュータ200に送信される。クライアントコンピュータ200が地図サーバ600に地図データのリクエストを送信し、地図サーバ600から新しい地図データを受信するプロセスは、アプリケーションソフトウェアにおけるユーザの入出力操作とは並行して実行される。このために既に述べたAjax技術を用いてもよい。
【0030】
また、クライアントコンピュータ200は、地図サーバ600からの地図データの送受信とは並行して、コンテンツサーバ500と通信し、地図に設定すべきマーカーを要求する(S30)。クライアントコンピュータ200は、コンテンツサーバ500からマーカー表示情報を取得する(S40)。クライアントコンピュータ200上のアプリケーションソフトウェアはマーカーを地図にして表示する(S50)。このために既に述べたマッシュアップ技術を用いてもよい。
【0031】
クライアントコンピュータ200のナビゲーション処理部10は、ユーザの操作に応じたナビゲーション処理を実行する(S60)。ユーザがナビゲーション空間における目的位置にまでナビゲートされると、マーカー特定部30は、目的位置付近にあるマーカーを特定する(S70)。
【0032】
クライアントコンピュータ200は、特定されたマーカーに対応づけられたコンテンツをコンテンツサーバ500に要求し(S80)、コンテンツをコンテンツサーバ500からダウンロードする(S90)。
【0033】
エミュレーション実行部40は、ユーザの操作をエミュレートしてマーカーの設けられた地理上の位置に関連する特定のシーンに至るまでコンテンツを実行する(S100)。その後、コンテンツはその特定シーンから実行され(S110)、それまで閲覧していた地図画面からコンテンツの表示画面に切り替わる(S120)。
【0034】
上記の説明では、マーカーで指定されたコンテンツをクライアントコンピュータ200にダウンロードしてコンテンツを実行する方法を説明したが、コンテンツの実行はコンテンツサーバ500において行うようにしてもよい。その場合、コンテンツサーバ500は、実行結果として生成された画像情報をクライアントコンピュータ200に送信し、クライアントコンピュータ200からの入力はコンテンツサーバ500に送信される。
【0035】
図6(a)〜(c)は、マーキング箇所に関連した特定のシーンからゲームコンテンツを実行する方法を説明する図である。図6(a)は、ゲーム起動時の画面であり、ここでは、グランプリレースをスタートさせるために「スタート」ボタン800を押すように、ユーザに要求している。ユーザがこのボタンを押すことにより、「スタート」信号が発生する。ゲームプログラムは、「スタート」信号が発生するかどうか、ユーザからの入力待ちをするように構成されているため、「スタート」信号を検出することによって、次の画面をロードする。
【0036】
図6(b)は、「スタート」信号が実行された後に表示されるゲームの選択画面である。ここでは、3つのレースコース(「東京」、「ベルギー」、「モナコ」)の選択をユーザに促している。ゲームプログラムは、最初は左のコースを選択した状態で、ユーザが「確定」ボタン802を押したかどうかを待ちながら、入力待ち状態に入る。この状態で、ユーザがマウスやゲームコントローラの「左」ボタンや「右」ボタンを押すと、その信号を受信したゲームプログラムは、3つのレースコースの間でカーソルポジションを左右に移動させる。
【0037】
ここでは、ユーザが「右」ボタンを2回押した後、「確定」ボタン802を押して「モナコ」を選択したとする。ゲームプログラムは、「右ボタン」信号を2回受信し、その後、「確定」信号を受信するため、3番目のレースコース「モナコ」が選択された状態に遷移する。図6(c)は、レースコースの選択後のゲームのスタート画面であり、「モナコグランプリ」が開始される。
【0038】
ここでカーレースゲームの「モナコグランプリ」は、地理上の「モナコ公国」に関連するため、地図上で「モナコ公国」近辺が表示されたとき、ゲームプログラムを図6(a)に初期画面からではなく、図6(c)のように既にゲームの設定条件として「モナコグランプリ」が設定された後のゲーム開始画面から開始することが望ましい。そこで、本実施の形態のコンテンツ表示システムでは、クライアントコンピュータ200において「モナコ公国」周辺が地図上に表示された場合、クライアントコンピュータ200が、あたかもユーザがゲームコンテンツに対して図6(a)から図6(c)に遷移するまでの入力操作を行ったかのように、信号列を発生させ、ゲームプログラムにその信号列を入力する。これにより、ユーザの入力操作がエミュレーションされ、図6(c)の「モナコグランプリ」画面からゲームを開始可能な状態となる。
【0039】
このために、クライアントコンピュータ200は、ゲームプログラムをロードした後、画面表示する前の段階で、次のようなエミュレーション信号列をゲームプログラムに入力する。
信号列:{「スタート」信号,「右ボタン」信号,「右ボタン」信号,「確定」信号}
【0040】
このエミュレーション信号列が実行される間は、ディスプレイ300にはゲームコンテンツの画面は表示されないように制御し、エミュレーション信号列の実行後は、ゲームコンテンツの画面が表示されるようにすることで、ユーザは地図で「モナコ公国」近辺を探索したときに、その地理情報に関連した「モナコグランプリ」のカーレースゲームを実行することができる。
【0041】
図7(a)、(b)は、マーキング箇所に関連した特定のシーンからビデオコンテンツを再生する方法を説明する図である。図7(a)は、ビデオコンテンツの時間0における初期画面であり、図7(b)は、時間Tにおける画面である。このビデオコンテンツは東京の観光名所を案内するものであり、時間Tから「東京タワー」を紹介する内容となる。地図上で「東京タワー」付近が表示され、東京タワーにはマーカーが表示されたとする。そのマーカーには、当該ビデオコンテンツが関連づけられている場合、マーカーを選択することで、ビデオコンテンツが「東京タワー」のシーンから再生されるようにすることが望ましい。そのためには、時刻Tまでビデオコンテンツを先送りするエミュレーション信号を発生させてビデオ再生プログラムに入力すればよい。なお、ビデオコンテンツが蓄積型ではなく、ストリーム配信されるリアルタイム型のものであっても、「先送り」のように任意の時間にジャンプして再生を開始するメカニズムがサポートされている。
【0042】
コンテンツの実行を特定シーンに至るまで進めるためのエミュレーション信号列は、コンテンツの提供者が作成してもよく、ユーザが作成してもよい。特に、既存のコンテンツの場合、コンテンツを閲覧したユーザがエミュレーション信号列を作成し、公開するようにしてもよい。最近では、動画のサイトが増えており、不特定多数のユーザが、コンテンツ内の特定のシーンからスタートするためのエミュレーション信号列を作成してネットワーク上で公開することにより、既存のコンテンツの利用が一層広がる。
【0043】
図8(a)は、図4のマーカー表示情報64を説明する図である。マーカー表示情報64は、一例としてXML(Extensible Markup Language)で記述される。この例では、マーカー表示情報64は、3つのマーカーが定義されており、各タグの第1〜第3列はそれぞれ第1〜第3のマーカーに対応する情報である。
【0044】
最初のタグ<markers>で括られた部分(符号812)には、地理上の位置情報として緯度・経度情報が記されている。第2のタグ<titles>で括られた部分(符号814)には、コンテンツのタイトルが記されており、タグ<title>の第1引数はタイトルの文字列であり、第2引数はコンテンツのタイプである。第3のタグ<urls>で括られた部分(符号816)には、コンテンツのネットワーク上の格納位置であるURLが記されている。第4のタグ<posIDs>で括られた部分(符号818)には、コンテンツの特定シーンを示すIDが記されている。
【0045】
第1のマーカーは、緯度XA、経度YAのマーキング箇所に設定されており、ゲームコンテンツ「グランプリレース」が対応づけられており、ゲームコンテンツのURLはLOCAであり、コンテンツの開始位置である特定シーンのID(以下、「開始位置ID」という)はA_SCENE_ID1である。第1のマーカーは、緯度XA、経度YAのマーキング箇所に設定されており、ゲームコンテンツ「グランプリレース」が対応づけられており、ゲームコンテンツのURLはLOCAであり、開始位置IDはA_SCENE_ID1である。第3のマーカーは、緯度XA+100、経度YA+10のマーキング箇所に設定されており、ビデオコンテンツ「日本の風景」が対応づけられており、ビデオコンテンツのURLはLOCBであり、開始位置IDはB_SCENE_ID1である。
【0046】
図8(b)は、図4のエミュレーション信号シーケンス66を説明する図である。図8(a)の各コンテンツの開始位置ID毎にコンテンツに入力されるエミュレーション信号シーケンスが記載されている。たとえば、第1のマーカーに対応づけられたゲームコンテンツの開始位置IDであるA_SCENE_ID1には、信号列:{「スタート」信号,「右ボタン信号」,「右ボタン信号」,「確定」信号}が記載されている。第2のマーカーに対応づけられたゲームコンテンツの開始位置IDであるA_SCENE_ID2には、信号列:{「スタート」信号,「右ボタン信号」,「確定」信号}が記載されている。第3のマーカーに対応づけられたビデオコンテンツの開始位置IDであるB_SCENE_ID1には、信号列:{「時間Tのポジションへ先送り」信号}が記載されている。
【0047】
図9は、ナビゲーションアプリケーションの実行開始からコンテンツ実行プロセス起動までの処理の流れを説明するフローチャートである。ナビゲーションアプリケーションとして、地図や仮想美術館などが考えられる。本実施の形態では、ナビゲーション空間中の特定箇所あるいは一定の領域内で提供される情報に関連するコンテンツが自動的あるいは選択的に実行される。
【0048】
ナビゲーションアプリケーションが起動されると、まず、マーカー検出範囲が指定される(S200)。このマーカー検出範囲はユーザによって指定されてもよく、システムによってあらかじめ規定されてもよい。マーカー検出範囲は、ナビゲーション空間が2次元の場合は、矩形領域や円形領域などであり、ナビゲーション空間が3次元の場合は、立方体領域や球形領域である。矩形領域は縦横の距離により指定され、円形領域は中心からの半径により指定される。
【0049】
次に、ナビゲーション空間情報、たとえば地図データや仮想空間データが取得される(S202)。このナビゲーション空間情報は、ローカルコンピュータから直接アクセス可能なローカルストレージから取得される場合と、リモートサーバ、たとえば地図サーバから取得される場合とがある。さらに、ナビゲーション空間内の位置データに関連づけられたマーカー情報をローカルストレージあるいはリモートサーバから取得して、ナビゲーション空間内にマッピングする(S203)。
【0050】
ここで、ナビゲーション空間情報の処理(S202)とマーカー情報の処理(S203)とは並列に実行されてもよい。たとえば、図3のようなマルチプロセッサで処理する場合、一つのサブプロセッサでナビゲーション空間情報の処理を行い、別のサブプロセッサでマーカー情報の処理を行ってもよい。
【0051】
ナビゲーションアプリケーションは、マウス移動などのイベントを検出し、ユーザの操作に応じたナビゲーション処理を実行する(S204)。アプリケーションは、マウス位置からマーカー検出範囲内にあるマーカーを取得する(S206)。
【0052】
マーカーが全く存在しなければ(S208のN)、ステップS204に戻り、再びユーザの入力イベントを待つ状態に入る。マーカーが1つ以上存在する場合(S208のY)、マーカーが2つ以上存在するかどうかのチェックを行う(S210)。なお、マーカーが2つ以上存在するかどうかのチェックは省略して、ステップS212に進むように手順を変更してもよい。
【0053】
マーカーが2つ以上存在する場合(S210のY)、マーカーに対応するコンテンツを選択するためのマーカー表示を行う(S212)。マーカーは、吹き出し形式で表示されてもよく、マーカー情報として記憶されているコンテンツを表現するアイコン、サムネイル画像、あるいはタイトルを表示するようにしてもよい。ただし、ユーザがどのコンテンツを選択したかがわかるような態様でマーカー表示を行う。
【0054】
ユーザがいずれかのマーカーを選択するまで、ユーザからの入力待ち状態になる(S214のN)。ユーザが一つのマーカーすなわち対応するコンテンツを選択したと判断される場合(S214のY)、マーカーの指定するコンテンツを実行するためのプロセスを起動する(S216)。コンテンツ実行プロセスは、ゲーム、ビデオ、オーディオなどのコンテンツタイプによって異なる処理を実行する。このために、コンテンツタイプ毎にプログラムが用意されてもよく、一つのプログラムの中でコンテンツタイプを選別して異なる処理を実行するように構成されてもよい。
【0055】
実施例の一つとして、ステップS210において、マーカーが1つしか存在しない場合(S210のN)、ステップS216に進み、マーカーに対応するコンテンツを実行するためのプロセスの起動を自動的に始めることができる。すなわち、ナビゲーションアプリケーションが地図ナビゲーションであり、コンテンツがゲームであるとして、たとえば、モナコ公国付近が表示された場合、ユーザにマーカーを選択させることなく、モナコグランプリのゲーム画面に自動的に切り替わるようにしてもよい。さらにこの場合は、マーカーは地図に表示しても表示しなくてもよい。
【0056】
コンテンツ実行プロセスにおける処理手順を説明する。コンテンツがコンテンツサーバ500によって提供されるから、コンテンツ実行プロセスは、まず、コンテンツに関連づけられたURLからコンテンツをダウンロードする。クライアントコンピュータ200は、画像出力はオフにした状態でダウンロードされたコンテンツを実行状態にする。すなわち、コンテンツが生成する画像をグラフィックスプロセッサ230へ出力しないように制御する。
【0057】
次に、クライアントコンピュータ200は、コンテンツ選択用のマーカーにあらかじめ関連付けられている開始位置IDで特定されるエミュレーション信号シーケンスをハードディスク、外部ディスク装置、メモリデバイスなどのストレージから取り出し、この信号シーケンスを実行状態で入力待ちとなっているコンテンツに対して入力する。信号シーケンスがすべて入力し終わった後で、画像出力をオンにする。これによって、コンテンツが特定シーンから実行されるようになる。
【0058】
図10は、クライアントコンピュータ200のディスプレイ300に表示されるナビゲーション空間とマーカーを説明する図である。ここではナビゲーション空間の一例としてナビゲーション地図860が表示されている。このナビゲーション地図860は、ユーザが検索キーワードとして「モナコ公国」を入力し(符号830)、地図検索ボタン832を押したことによって表示されたものである。ユーザはこのナビゲーション地図860に対して、縮尺バー840を操作することで地図の縮尺を変更したり、上下左右の矢印ボタン(840a〜840d)を押すことで地図の表示範囲を変更することができる。
【0059】
ナビゲーション地図860には2つのマーカー850a、850bが表示されている。第1のマーカー850aは、地理上の位置「モンテカルロ」に設定されており、このマーカー850aは、モンテカルロのカジノのシーンを含む映画コンテンツに対応づけられている。第2のマーカー850bは、モナコ公国の中心位置に設定されており、このマーカー850bは、モナコグランプリのゲームを含むゲームコンテンツに対応づけられている。
【0060】
ユーザが第2のマーカー850bにマウスを合わせると吹き出し852が現れ、このマーカー850bにはモナコグランプリを含むゲームコンテンツが対応していることが示される。また、ナビゲーション地図860の右側には、マーカー一覧870が表示され、各マーカーに対応づけられたコンテンツが表示される。
【0061】
ユーザは、マーカー一覧870においていずれかのマーカーを選択するか、ナビゲーション地図860においていずれかのマーカーをクリックすることでマーカーを特定する。特定されたマーカーに対応するコンテンツに対して、エミュレーション信号シーケンスが入力され、特定シーンに至るまでのユーザの入力操作がエミュレートされ、コンテンツは特定シーンから実行が開始される。たとえば、ユーザが第2のマーカー850bを選択すると、ゲームコンテンツに対して「モナコグランプリ」を設定するためのエミュレート信号シーケンスが入力され、ゲームコンテンツは図6(c)に示す「モナコグランプリ」画面から実行が開始される。
【0062】
上記では、コンテンツがクライアントコンピュータ200で実行される実施例を説明したが、コンテンツはコンテンツサーバ500で実行されてもよい。
【0063】
図11は、コンテンツサーバ500でコンテンツが実行される場合におけるコンテンツ表示方法の手順を説明するシーケンス図である。ステップS10からステップS70までは図5の手順と同じである。
【0064】
クライアントコンピュータ200は。マーカーで指定されるコンテンツとその開始位置IDを指定して、コンテンツサーバ500上のCGIプログラムを呼び出す(S120)。このとき、クライアントコンピュータ200側のグラフィックスプロセッサ230への出力はオフに設定される。
【0065】
次に、コンテンツサーバ500において、指定されたCGIプログラムの中で指定されたコンテンツの実行プロセスを起動する。コンテンツ実行プロセスは、クライアントコンピュータ200から受信された開始位置IDで特定されるエミュレーション信号シーケンスをハードディスク、外部ディスク装置、メモリデバイスなどのストレージから取り出し、この信号シーケンスを実行状態で入力待ちとなっているコンテンツに対して入力する(S130)。信号シーケンスがすべて入力し終わった後で、コンテンツサーバ500は、クライアントコンピュータ200にコンテンツ再生が可能になったことを通知する信号を送信し、その後、特定シーンからコンテンツを実行する(S140)。コンテンツサーバ500はコンテンツの実行の結果得られる画像データをクライアントコンピュータ200に送信する(S150)。
【0066】
クライアントコンピュータ200では、コンテンツサーバ500からコンテンツ再生が可能になったことを通知する信号を受信して、グラフィックスプロセッサ230への出力をオンに設定し、コンテンツを表示する(S160)。これにより、コンテンツが特定シーンから実行されるようになる。
【0067】
以上述べたように、本実施の形態のコンテンツ表示システムによれば、メタ情報をもたない既存のコンテンツであっても、ユーザの入力操作をエミュレートすることにより、マーキング箇所に関連するシーンからコンテンツを開始することができる。
【0068】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0069】
上記の説明では、ナビゲーション空間の特定の場所に対して、その場所に関連するシーンを含むコンテンツが対応づけられたが、ナビゲーション空間が3次元美術館のような仮想空間の場合は、仮想空間内の特定のオブジェクトをマーキング箇所として、そのオブジェクトに関連するシーンを含むコンテンツが対応づけられてもよい。たとえば、3次元美術館に展示された「モナリザ」の絵に対してモナリザを一シーンに含む映画コンテンツが対応づけられてもよい。
【0070】
また、コンテンツが配置された仮想空間をユーザが探索する「コンテンツクルーズ」のようなアプリケーションの場合、コンテンツの配置された場所をマーキング箇所としてマーカーを設け、そのコンテンツに関連するシーンを含む別のコンテンツをマーカーに対応づけてもよい。たとえば、写真が展示されている仮想空間において、写真が設置された箇所にマーカーを設定し、写真の人物が登場するシーンを含む映画コンテンツをマーカーに対応づけてもよい。これにより、ユーザが関心をもつコンテンツを起点としてそのコンテンツに関連する別のコンテンツにユーザをナビゲートすることができる。
【0071】
また、3次元地図ナビゲーションアプリケーションの場合、地表面から離れた位置をマーキング箇所としてマーカーを設けてもよい。この場合、空中から地上までを含む立方体空間をマーカー検出範囲として定義することで、たとえば、東京上空に来たときに、ゲームの設定条件として羽田空港が選択されたフライトシミュレータが自動的に起動されるように構成することができる。
【図面の簡単な説明】
【0072】
【図1】実施の形態に係るコンテンツ表示システムの構成図である。
【図2】図1のクライアントコンピュータの構成図である。
【図3】図1のCPUの実装例として好適なマルチコアプロセッサの構成図である。
【図4】実施の形態に係るコンテンツ表示装置の機能構成図である。
【図5】実施の形態に係るコンテンツ表示方法の手順を説明するシーケンス図である。
【図6】図6(a)〜(c)は、マーキング箇所に関連した特定のシーンからゲームコンテンツを実行する方法を説明する図である。
【図7】図7(a)、(b)は、マーキング箇所に関連した特定のシーンからビデオコンテンツを再生する方法を説明する図である。
【図8】図8(a)は、図4のマーカー表示情報を説明する図であり、図8(b)は、図4のエミュレーション信号シーケンスを説明する図である。
【図9】ナビゲーションアプリケーションの実行開始からコンテンツ実行プロセス起動までの処理の流れを説明するフローチャートである。
【図10】クライアントコンピュータのディスプレイに表示されるナビゲーション空間とマーカーを説明する図である。
【図11】コンテンツサーバでコンテンツが実行される場合におけるコンテンツ表示方法の手順を説明するシーケンス図である。
【符号の説明】
【0073】
1 ナビゲーション処理部、 20 マーキング処理部、 30 マーカー特定部、 40 エミュレーション実行部、 50 表示制御部、 60 記憶部、 62 ナビゲーションデータ、 64 マーカー表示情報、 66 エミュレーション信号シーケンス、 68 コンテンツデータ、 100 コンテンツ表示装置、 200 クライアントコンピュータ、 400 マルチコアプロセッサ、 410 メインプロセッサ、 420 サブプロセッサ、 500 コンテンツサーバ、 600 地図サーバ、 700 ネットワーク。

【特許請求の範囲】
【請求項1】
ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキングステップと、
前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーションステップと、
前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定ステップと、
特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーションステップとを含むことを特徴とするコンテンツ表示方法。
【請求項2】
前記ナビゲーション空間は、地理データを含む平面であり、
前記マーキングステップは、地理上の特定位置をマーキング箇所として前記マーカーを設け、その地理上の特定位置に関連するシーンを含むコンテンツを当該マーカーに対応づけることを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項3】
前記ナビゲーション空間は、地理データを含む3次元空間であり、
前記マーキングステップは、地理上の特定位置をマーキング箇所として前記マーカーを設け、その地理上の特定位置に関連するシーンを含むコンテンツを当該マーカーに対応づけることを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項4】
前記マーキングステップは、地表面から離れた特定位置をマーキング箇所として前記マーカーを設けることを特徴とする請求項3に記載のコンテンツ表示方法。
【請求項5】
前記ナビゲーション空間は、3次元仮想空間であり、
前記マーキングステップは、前記仮想空間内の特定オブジェクトをマーキング箇所として前記マーカーを設け、その特定オブジェクトに関連するシーンを含むコンテンツを当該マーカーに対応づけることを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項6】
前記ナビゲーションステップは、ユーザが入力する検索キーワードにもとづいて前記目的位置までユーザをナビゲートするためのユーザインタフェースを提供することを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項7】
前記コンテンツは、プログラムコードを含むデータであり、
前記エミュレーションステップは、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートして前記プログラムコードの少なくとも一部を実行することにより、当該シーンから前記コンテンツの実行を開始させることを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項8】
前記コンテンツは、プログラムコードを含むゲームコンテンツであり、前記マーキング箇所に関連するシーンは、ゲームの特定の設定条件に対応するシーンであり、
前記エミュレーションステップは、そのゲームの特定の設定条件を入力する操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にすることを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項9】
前記コンテンツは、ビデオデータであり、
前記エミュレーションステップは、前記ビデオを再生するために必要なプログラムを起動し、そのプログラムに対して前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから再生可能な状態にすることを特徴とする請求項1に記載のコンテンツ表示方法。
【請求項10】
ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキング処理部と、
前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーション処理部と、
前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定部と、
特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行部とを含むことを特徴とするコンテンツ表示装置。
【請求項11】
前記エミュレーション実行部によるエミュレーションの過程では、前記コンテンツを表示することなく、前記エミュレーションが終わった後、当該シーンから前記コンテンツの表示を開始する表示制御部をさらに含むことを特徴とする請求項10に記載のコンテンツ表示装置。
【請求項12】
ユーザが探索するナビゲーション空間内のマーキング箇所にマーカーを設け、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツを対応づけるマーキング処理機能と、
前記ナビゲーション空間内の目的位置までユーザをナビゲートするためのユーザインタフェースを提供するナビゲーション処理機能と、
前記目的位置から所定の範囲内に存在する前記マーカーを特定するマーカー特定機能と、
特定された前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項13】
前記コンピュータは、複数のプロセッサを一つのパッケージに集積したマルチコアプロセッサを含み、
一のプロセッサに少なくとも前記ナビゲーション処理機能を実現させ、別のプロセッサに少なくとも前記エミュレーション実行機能を実現させることを特徴とする請求項12に記載のプログラム。
【請求項14】
ユーザが探索する空間内のマーキング箇所にマーカーが設けられ、前記マーカー毎にそのマーキング箇所に関連するシーンを含むコンテンツが対応づけられたナビゲーション空間内の目的位置までユーザをナビゲートするナビゲーション処理機能が実現された第1のプロセッサと、
前記目的位置から所定の範囲内に存在する前記マーカーに対応づけられたコンテンツについて、前記マーキング箇所に関連するシーンの表示に至るまでのユーザの入力操作をエミュレートすることにより、前記コンテンツを当該シーンから実行可能な状態にするエミュレーション実行機能が実現された第2のプロセッサとを含むことを特徴とするマルチプロセッサシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2008−146232(P2008−146232A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2006−330765(P2006−330765)
【出願日】平成18年12月7日(2006.12.7)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】