図1は、本発明の実施の形態にかかる情報処理システム1の使用環境を示す。情報処理システム1は、画像処理、動画再生、音声再生、通信などの機能の少なくともいずれかを含むコンテンツを処理する情報処理装置10と、情報処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。表示装置12は、情報処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。
情報処理システム1において、情報処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像のデータを含むコンテンツのソフトウェアなどをダウンロードして取得してもよい。なお情報処理装置10は、無線通信により外部ネットワークに接続してもよい。
なお情報処理装置10は、ゲーム装置やパーソナルコンピュータなどであってもよく、ソフトウェアを各種記録媒体からロードすることで後述する機能を実現してもよい。本実施の形態では、後述する画像処理機構によって、表示装置12に表示した画像をユーザインターフェースとする。ユーザは入力装置によって表示画像を変化させることにより、情報処理装置10に対し指示入力を行う。当該指示入力に対し情報処理装置10が実行する処理は、コンテンツによって異なってよい。具体例は後に述べる。
ユーザが、表示装置12に表示された画像を見ながら、表示領域の拡大/縮小、上下左右方向へのスクロールを要求する入力を入力装置に対して行うと、入力装置はそれに応じて、表示領域の移動および拡大縮小の要求信号を情報処理装置10に送信する。情報処理装置10は当該信号に応じて、表示装置12の画面内の画像を変化させる。このような表示領域の移動および拡大縮小は、ユーザの仮想的な視点の移動とも捉えることができるため、以後、「視点の移動」と総称する。情報処理装置10はさらに、あらかじめ定めた規則に従い、画像中の所定の領域と対応づけられた処理を実行する。例えばユーザが所定の領域をズームアップすると、情報処理装置10は当該領域に対応づけておいた動作を開始する。
図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25で構成される。
情報処理システム1において、入力装置20の操作手段には、視点の移動、すなわち表示領域の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示領域の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示領域の縮小要求を入力でき、また手前から押すことで、表示領域の拡大要求を入力できる。また、表示領域のスクロールの入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向へのスクロール要求を入力できる。なお、視点移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
入力装置20は、入力された視点移動要求信号を情報処理装置10に伝送する機能をもち、本実施の形態では情報処理装置10との間で無線通信可能に構成される。入力装置20と情報処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、情報処理装置10とケーブルを介して接続して、視点移動要求信号を情報処理装置10に伝送してもよい。
図3は、本実施の形態において使用する画像データの階層構造例を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
図3に示す階層データは4分木の階層構造を有し、各階層は、1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
情報処理装置10において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、コンテンツの起動に際し記憶装置から読み出されてデコードされる。本実施の形態の情報処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばS3TC形式、JPEG形式、JPEG2000形式の圧縮データをデコード可能とする。階層データにおいて、圧縮処理は、タイル画像単位に行われていてもよく、また同一階層または複数の階層に含まれる複数のタイル画像単位に行われていてもよい。
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。情報処理装置10は、入力装置20から供給される視点移動要求信号から表示領域の移動量を導出すると、その移動量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。仮想空間におけるフレーム座標は、表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、情報処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
階層データに含まれる各階層の画像データは仮想空間のZ軸に対して離散的に存在する。そのため、画像データがない階層間の縮尺率で画像を表示する場合は、Z軸方向で近傍にある画像データを用いる。例えば、表示画像の縮尺率が第2階層34の近傍にある場合、表示画像は当該第2階層の画像データを用いて作成する。これを実現するためには、各階層の間、例えば中間にソース画像の切り替え境界を設定する。表示画像の縮尺率が当該切り替え境界を越えると、表示画像の生成に用いる画像データを切り替え、当該画像を拡大したり縮小したりして表示する。
図4は情報処理装置10の構成を示している。情報処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、階層化された圧縮画像データと、当該画像を用いて様々な機能を実現するための設定ファイルとを含むコンテンツファイルを受信してもよい。コンテンツファイルには、様々な機能を実行するために必要なデータ、例えば圧縮符号化された動画データ、音楽データ、ウェブサイトの名前とURL(Uniform Resource Locator)との対応づけデータなどがさらに含まれていてもよい。
またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された視点移動要求信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信された各種データは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読み出し専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。コンテンツファイルはこれらの記録媒体に格納されていてもよい。
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた処理結果を出力する。
本実施の形態の情報処理装置10は、視点の移動に伴い表示画像を円滑に変更するために、あらかじめ圧縮画像データの少なくとも一部をハードディスクドライブ50からメインメモリ60にロードしておいてもよい。また、ユーザからの視点移動要求をもとに、将来表示させる領域を予測し、メインメモリ60にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ70に格納してもよい。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
図5は本実施の形態における画像データの流れを模式的に示している。まずコンテンツファイルに含まれる階層データはハードディスクドライブ50に格納されている。ハードディスクドライブ50に代わり、記録媒体装着部52やディスクドライブ54に装着された記録媒体が保持していてもよい。あるいは、情報処理装置10がネットワークを介して接続した画像サーバから階層データをダウンロードするようにしてもよい。ここでの階層データは上述のとおり、S3TC形式などによる固定長圧縮、あるいはJPEG形式などによる可変長圧縮がなされている。
この階層データのうち、一部の画像データを圧縮した状態のままメインメモリ60にロードする(S10)。ここでロードする領域は、現在の表示画像の仮想空間における近傍や、画像の内容、ユーザの閲覧履歴等に基づいて、高頻度で表示要求がなされると予測される領域など、あらかじめ定めた規則によって決定する。ロードは、視点移動要求がなされたときのみならず、例えば所定の時間間隔で随時行う。これによりロード処理が一時期に集中しないようにする。
次に、メインメモリ60に格納されている圧縮画像データのうち、表示に必要な領域の画像、または必要と予測される領域の画像のデータをデコードし、バッファメモリ70に格納する(S12)。バッファメモリ70は、少なくとも2つのバッファ領域72、74を含む。各バッファ領域72、74のサイズは、フレームメモリ76のサイズよりも大きく設定され、入力装置20から視点移動の要求信号が入力された場合に、ある程度の量の移動に対しては、バッファ領域72、74に展開した画像データで表示画像を生成できるようにする。
バッファ領域72、74の一方は、表示画像の生成に用いる画像を保持するために利用される表示用バッファであり、他方は、以後、必要と予測される画像を準備するために利用されるデコード用バッファである。図5の例では、バッファ領域72が表示用バッファ、バッファ領域74がデコード用バッファで、表示領域68が表示されているものとする。
次に、表示用バッファであるバッファ領域72に格納された画像のうち表示領域68の画像を、フレームメモリ76に描画する(S14)。この間に、新たな領域の画像が必要に応じてデコードされ、バッファ領域74に格納される。格納が完了したタイミングや表示領域68の移動量などに応じて、表示用バッファとデコード用バッファを切り替える(S16)。これにより、表示領域の移動や縮尺率の変更などに対し表示画像をスムーズに切り替えることができる。
これまで述べた処理は、ある画像の表示領域の移動、拡大縮小を行うために、図3で示したような一つの階層データによって構成される仮想空間において、ユーザからの視点移動要求に従いフレーム座標を移動させる態様であった。一方、複数の階層データを表示対象として用意し、表示画像が階層データ間を行き来するようにしてもよい。図6はそのような態様において表示対象となる複数の階層データの関係を模式的に示している。
図中、2つの三角形は異なる階層データ150および152を示している。それぞれの階層データ150、152は実際には、図3に示すように解像度の異なる複数の画像データが図のZ軸方向に離散的に存在する構成を有する。ユーザが入力装置20によって表示領域の拡大/縮小を要求すると、表示領域、ひいては視点が、図のZ軸方向に移動することになる。一方、表示領域を上下左右に移動させる要求を行うと、図の水平面を移動することになる。このような仮想空間において、2つの階層データ150および152が図のように重なり合った画像データを構築する。
そして階層データ150の画像を表示中、ユーザが継続的に拡大要求を行うと、視点が矢印aのように移動し、階層データ152の領域に入る、すなわち階層データ間を移動することになる。異なる階層データの領域に進入すると、表示画像を生成するためのデータが階層データ150から階層データ152へと切り替わる。この処理は、これまで述べた画像表示の処理手順において、メインメモリ60へロードする対象の階層データを変更するのみで実現できる。
図6のような複数の階層データからなる画像データを構築するために、階層データ150と階層データ152を切り替えるときの画像の解像度および位置をあらかじめ設定しておく。この設定は図6中、線154で表され、これにより階層データの重なり具合が決定できる。同図の例では、Z軸がz1なる解像度、線154が表す位置において、階層データ150から階層データ152への切り替えが行われる。以後、このような階層データ間の切り替えを「リンク」と呼ぶ。なお切り替えを行う階層データの画像は縮尺率の異なる同一の画像でもよいし、全く異なる画像でもよい。
さらに、階層データ152への表示画像の切り替えに代わり、動画再生、音声再生、表示の加工、表示領域の移動、といった処理を行うようにしてもよい。この場合も、線154のように、階層データ150に対しリンクポイントを設定しておき、視点が当該ポイントに到達したらそれに対応づけておいた処理を開始する。
このようにすると、ユーザが階層データ150の画像を見ながら、ある領域に視点を近づけていくと、その領域に対応づけた情報が表示されたり、動画再生がなされたりする、といった態様を実現できる。このようなポイントを一つの画像データに複数設定すれば、複数の処理の中から選択して動作させるメニュー画面を構築することができる。このように、視点の移動により開始する処理を「埋め込みオブジェクト」と呼ぶ。そして画像データと埋め込みオブジェクトとの関連づけもまた、「リンク」と呼ぶ。
図7は制御部100の構成を詳細に示している。制御部100は入力装置20からユーザが入力した情報を取得する入力情報取得部102、表示対象の階層データをハードディスクドライブ50からロードするロード部103、入力に応じて表示領域を決定する表示領域決定部104、圧縮画像データをデコードするデコード部106、表示画像を描画する表示画像処理部114を含む。制御部100はさらに、視点が設定されたリンクの条件を満たしているか判定するリンク判定部116、埋め込みオブジェクトを実行するオブジェクト実行部117を含む。
図7において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
ハードディスクドライブ50には、階層データ、当該階層データに設定されたリンクの情報などを記載した設定ファイルを含むコンテンツファイルを格納しておく。複数の階層データからなる画像データを表示する場合は、複数の階層データとそれぞれに対応する設定ファイルを格納する。コンテンツファイルにはさらに、埋め込みオブジェクトの処理に必要な動画データ、音声データ、画像モジュールデータ、ゲームなどのアプリケーションプログラムなどを必要に応じて含めてよい。
入力情報取得部102は、入力装置20のユーザによる操作に従い、コンテンツの起動/終了、視点の移動などの要求に係る情報を入力装置20より取得し、当該情報を必要に応じて表示領域決定部104、ロード部103に通知する。ロード部103は、入力情報取得部102からコンテンツの起動要求がなされたことを通知されたら、コンテンツの初期画像の階層データおよびその設定ファイルをハードディスクドライブ50から読み出し、メインメモリ60に格納する。
ロード部103はさらに、視点の移動先の階層データや埋め込みオブジェクトの実行に必要なデータなどを、必要に応じてハードディスクドライブ50から読み出し、メインメモリ60に格納する。表示領域決定部104は、入力情報取得部102から視点の移動要求がなされたことを通知されたら、視点の移動量を階層データの仮想空間における座標に変換し、表示すべき移動先のフレーム座標を決定する。
デコード部106は、メインメモリ60から圧縮画像データの一部を読み出しデコードし、バッファメモリ70にデコード後のデータを格納する。デコード部106がデコードするデータは、表示領域を含む所定サイズの画像データでよい。あらかじめ広範囲の画像データをデコードし、バッファメモリ70に格納しておくことにより、メインメモリ60からの読み出し回数を削減でき、円滑な視点移動を実現できる。
表示画像処理部114は、表示領域決定部104が決定した、表示すべき領域のフレーム座標を取得し、バッファメモリ70から対応する画像データを読み出し、表示処理部44のフレームメモリ76に描画する。リンク判定部116は、メインメモリ60に格納した、表示中の階層データに対応づけられた設定ファイルを参照し、移動先の視点がリンクの条件を満たしているか否かを判定する。本実施の形態で設定するリンク先は上述のとおり、別の階層データへのリンクと、埋め込みオブジェクトへのリンクがある。
オブジェクト実行部117は、リンク判定部116が埋め込みオブジェクトへのリンク条件を満たすと判定した場合に、該当する埋め込みオブジェクトを実行する。当該埋め込みオブジェクトを実行するためのプログラムやデータがメインメモリ60に格納されていなければ、ロード部103がハードディスクドライブ50からメインメモリ60へロードする。オブジェクト実行部117が実行する処理の内容は限定されない。したがってオブジェクト実行部117は、視点の位置および設定ファイルの設定に従い、異なる種類の処理を適宜実行してよい。
埋め込みオブジェクトの一つとして、表示中の画像に加工を施す場合は、オブジェクト実行部117が表示画像処理部114へその旨の要求を行い、表示画像処理部114が加工画像を描画する。また、埋め込みオブジェクトの一つとして、表示中の画像に対する視点を移動させる場合は、オブジェクト実行部117が表示領域決定部104にその旨の要求を行い、表示領域決定部104が移動先の表示領域を決定する。動画再生や音声再生を行う場合は、オブジェクト実行部117がメインメモリ60より動画データ、音声データを読み出し、デコードして表示処理部44に出力したり、表示装置12のスピーカに出力したりする。
リンク判定部116によって、別の階層データへのリンク条件を満たすと判定された場合は、メインメモリ60にリンク先の階層データが格納されていなければロード部103がハードディスクドライブ50よりロードする。表示領域決定部104は、リンク判定部116から当該判定結果を取得し、フレーム座標をリンク先の階層データのものに変換し、当該階層データの識別情報とともにデコード部106に通知する。デコード部106はそれに応じて、リンク先の階層データを処理対象とする。
次に設定ファイルの設定例について説明する。図8〜11は設定ファイルにおける各データの定義例を説明する図である。図8はターゲット矩形および境界矩形の定義例を示している。図中、ターゲット矩形82は、画像中、リンクを設定する対象が表示されている領域、あるいはそれに外接する矩形領域である。境界矩形84は、リンクを有効とする視点の範囲を表す矩形である。すなわち、境界矩形84に視点が入った場合、ターゲット矩形82に対するリンクが有効となり、リンク先の別の階層のデータへ表示を切り替えたり、埋め込みオブジェクトが作動したりする。
この例では、左上の頂点の座標を(0,0)、右下の頂点の座標を(W,H)とする基準座標系を表す基準矩形80に対し、ターゲット矩形82および境界矩形84を設定している。ここで基準矩形80は表示対象の画像全体ととらえることができ、座標の単位は例えば画素数とすることができる。まず、基準矩形80の左上の頂点(0,0)からターゲット矩形82の中心までの距離をパラメータ「center」、ターゲット矩形82の高さをパラメータ「height」、幅をパラメータ「width」とし、これら3つのパラメータでターゲット矩形82を定義する。
また、ターゲット矩形82の中心から境界矩形84の中心までの距離をパラメータ「offset」、ターゲット矩形82に対する境界矩形84の倍率をパラメータ「scale」とし、これら2つのパラメータで境界矩形84を定義する。このとき図に示すように、境界矩形84の高さはheight×scale、幅はwidth×scaleとなる。なおパラメータ「center」およびパラメータ「offsett」は横方向、縦方向の成分を有するが同図ではそれをまとめて表している。
図9は境界矩形の倍率の定義例を示している。本実施の形態では、単にある平面上で表示領域を移動するのみならず、画像を拡大、縮小させる、という上記仮想空間内でのZ軸方向の動きを受け付ける。そこでその動きをリンクの設定に活かすことにより、豊富なバリエーションでユーザが理解しやすいリンクをきめ細かく設定することが可能になる。その設定手法のひとつとして、境界矩形の倍率に上限や下限を設定可能とする。
図9において高さh、幅wの矩形は表示装置の画面86を表す。このとき、境界矩形84を画面86のアスペクト比、すなわちh:wになるように縦方向または横方向に伸長した矩形88の、画面86に対する倍率を、境界矩形84の倍率を表すパラメータ「zoom」とする。このとき、図に示すように矩形88の縦および横の長さはそれぞれh×zoom、w×zoomとなる。
図10、11は境界矩形と画面に映る領域(以後、単に「画面」と呼ぶ)との位置関係の定義例を示している。図10は、画面が境界矩形からはみ出す割合を表すパラメータ「overshoot」の定義を説明する図である。図中、画面として3つのパターン、画面86a、画面86b、画面86cを示している。同図において、「a」は画面が境界矩形84から横方向にはみ出した長さ(画面86a、86b)、「b」は縦方向にはみ出した長さ(画面86c)である。このときパラメータ「overshoot」をmax(a/w,b/h)と定義する。すなわち横方向、縦方向のいずれかにはみ出しているときはその方向における、はみ出した長さ(aまたはb)の画面の長さ(wまたはh)に対する割合、両方向にはみ出しているときはその割合の大きい方とする。
図11は、境界矩形が画面からはみ出す割合を表すパラメータ「invisibility」の定義を説明する図である。図中、境界矩形として3つのパターン、境界矩形84a、境界矩形84b、境界矩形84cを示している。同図において、「c」は境界矩形が画面86から横方向にはみ出した長さ(境界矩形84a、84b)、「d」は縦方向にはみ出した長さ(画面86c)である。このときパラメータ「invisibility」をmax(c/width×scale,d/height×scale)と定義する。すなわち横方向、縦方向のいずれかにはみ出しているときはその方向における、はみ出した長さ(cまたはd)の境界矩形の長さ(width×scaleまたはheight×scale)に対する割合、両方向にはみ出しているときはその割合の大きい方とする。
図12は上記のようなパラメータを用いた設定ファイルとして、XMLでの記述例を示している。設定ファイル例200において(1)〜(4)行目は、対応する階層データのホームポジションに係る記述であり、(3)行目の「view」属性において、パラメータ「zoom」によりホームポジション表示時の倍率を設定している。ここで「ホームポジション」とは、コンテンツの初期画像であり、さらに、入力装置20の所定のボタンを押下することにより表示させることが可能な表示領域である。この例では、0.85倍の倍率での画像をホームポジションとして設定している。
(6)〜(9)行目は表示が可能な範囲に係る記述であり、(8)行目の「boundary」属性で視点の範囲を設定している。ここでパラメータ「stretch」は、階層データのうち最も高解像度の階層の1画素が、画面上で何画素に引き延ばされるかを表す倍率、すなわち表示装置の解像度と画像の解像度の比率である。例えば1920×1080画素の解像度を有する表示装置に、全体で19200×10800画素の画像のうち960×540画素の領域を表示する場合、パラメータ「strech」は「2.0」となる。図12の例では当該パラメータに対する上限を「max_stretch」として設定している。
このような設定を行うことにより、画面上に表示可能な最大倍率は表示装置の解像度によって自動で調整されることになり、表示装置の解像度によらず同様の画質で画像を表示することができる。また表示可能な範囲としてさらに、上述のパラメータ「zoom」の下限値である「min_zoom」と上述のパラメータ「overshoot」の上限値である「max_overshoot」を設定している。ここでは、パラメータ「zoom」によって定義される倍率の下限を「0.85」、画面が画像からはみ出す割合を「0.5」としている。ユーザはこれらの設定の範囲内で、表示領域の移動、拡大/縮小を行うことができる。
(11)〜(16)行目は、別の階層データへのリンクに係る記述である。(12)、(13)行目は当該リンクのターゲット矩形を設定しており、「target」属性でリンク先の設定ファイルのパスを、「direction」属性で拡大、縮小のいずれの方向でリンク先の階層データへ切り替えるかを設定している。図12の例では、リンク先の階層データの属性ファイルを「a.xml」、リンクの方向が「forward」、すなわち拡大していく際に切り替える設定としている。なお属性ファイルと階層データは、例えば拡張子を除くファイル名を統一することによって対応づければよい。
さらにターゲット矩形の位置を、上述のパラメータ「center」の横方向成分、縦方向成分である「center_x」、「center_y」で設定し、大きさを、上述のパラメータ「width」および「hight」で設定している。
また(14)、(15)行目は「boundary」属性で当該リンクを有効とする「リンク境界」を設定している。「リンク境界」は、画像平面における「境界矩形」を「boundary」属性における設定により仮想空間のZ軸方向に拡張したものであり、視点がリンク境界に入ったらリンクの条件を満たしている、とする。(14)行目で「action」属性を「jump」とすることで、この設定のリンク境界内に視点が移動した場合に階層データの切り替えを行う設定としている。
図13はターゲット矩形82、境界矩形84、およびリンク境界の関係を示している。同図においてターゲット矩形82を含む水平面が画像平面、縦方向が図の拡大、縮小、すなわち画像平面に対する視点の距離を表している。ターゲット矩形82に内接する矩形90がリンク先の階層データの画像である。また、境界矩形84はターゲット矩形82の画像平面において図9のように設定する。
本実施の形態では図のような空間を視点が移動し、ターゲット矩形82に近づいたときにリンクを有効とする。従って画像平面上での位置のみならず、視点の近さによってもリンクの有効、無効を設定できる。そのため同図に示すようにリンク境界は画像平面に対し立体的になる。
図12に戻り、設定ファイルの(15)行目は、境界矩形の大きさを上述のパラメータ「scale」で、位置を上述のパラメータ「offset」の横方向成分、縦方向成分である「offset_x」、「offset_y」で設定している。さらに視点の近さによってリンク境界を定義するために、画面が境界矩形からはみ割合の上限「max_overshoot」および境界矩形の最小倍率「min_zoom」を設定している。パラメータ「max_overshoot」の設定による効果については後に説明する。
(18)〜(23)行目は、埋め込みオブジェクトのうち動画再生に係る記述である。(19)行目では「source」属性で埋め込む動画ファイルを「b.mp4」と設定している。(20)行目では(13)行目と同様にターゲット矩形を設定している。また(21)、(22)行目は、「boundary」属性で動画再生を実施するリンク境界を設定している。リンク境界は図13で示したのと同様である。動画はターゲット矩形の中央に内接する位置と大きさで表示する。
ここで「action」属性を「show」としている(21)行目は、実際に動画像を表示する前に予備的な画像へ表示を切り替える条件を設定している。予備的な画像表示としては例えば動画の第1フレームを静止画像として表示する。「action」属性を「play」としている(22)行目は、動画を再生して動画像として表示する条件を設定している。これにより、動画タイトルを表示したターゲット矩形をズームアップしていくとまず第1フレームの静止画像が表示され、さらに拡大すると動画が再生される、といった態様を実現できる。
図12の設定例はこのような場合であり、パラメータ「min_zoom」が「0.20」のとき第1フレームを表示((21)行目)、パラメータ「min_zoom」が「0.35」のとき動画再生としている。このように2段階の動作を設定可能とすることにより、視点を近づけたのみでむやみに動画像が表示されるといった煩わしさがなくなる。また動画像を表示するまでのタイムラグを第1段階の静止画像表示で吸収することができる。動画再生のリンク境界から視点が脱した場合は動画再生も停止する。このとき、第1段階の静止画像表示に対するリンク境界に視点があるうちは、再生を停止した時点のフレームを静止画像として表示する。
(21)、(22)行目ではさらに、それぞれの「action」属性に対し、画面が境界矩形からはみ出す割合の上限「max_overshoot」および、境界矩形が画面からはみ出す割合の上限「max_invisibility」を設定している。パラメータ「max_invisibility」の設定による効果については後に説明する。
(25)〜(29)行目は、埋め込みオブジェクトのうち音声再生に係る記述である。(26)行目では「source」属性で埋め込む音声ファイルを「c.mp3」と設定している。(27)行目では(20)行目と同様に埋め込みオブジェクトのターゲット矩形を設定している。また(28)行目は動画再生と同様、「boundary」属性で音声再生を実施するリンク境界を設定している。ただし「action」属性は再生を表す「play」のみ設定している。
音声再生も動画再生と同様、リンク境界に視点が進入すると再生が開始し、脱出すると再生を停止させる。あるいは元々別の音声が流れていれば、音声を切り替える。なお動画、音声ともに、再生を停止した際に、動画または音声のデータストリーム上の停止ポイントをメインメモリ60などに記憶しておき、視点が再度リンク境界に進入した場合は、当該位置から再生を開始するレジューム処理を行ってもよい。
(31)〜(35)行目は、埋め込みオブジェクトのうちネットワーク上の店舗へのリンク(ストアリンク)に係る記述である。(32)行目では「source」属性で店舗の名称などの識別情報を「store:AAA」と設定している。(33)行目ではこれまでと同様、ストアリンクのターゲット矩形を設定している。なお店舗の識別情報とURLなどネットワーク上の位置は、別の対応づけファイルをメインメモリ60などに格納しておく。
また(34)行目は「boundary」属性で店舗のサイトへの移動を可能とするリンク境界をこれまでと同様に設定している。ここで「action」属性を「show_link」とすることにより、店舗へのリンクに係る処理を行う設定をしている。リンクに係る処理とは、例えば、店舗のウェブサイトへの移動が可能であることを示すインジケータの表示など、表示画像の加工である。なお(31)〜(35)行目の設定は、店舗へのリンクでなくてもよく、ネットワーク上で公開されている店舗以外のサイトやハードディスクに格納したファイルへのリンクなどでもよい。
(37)〜(67)行目は、埋め込みオブジェクトのうち選択受付表示に係る記述である。選択受付表示とは、リンクが設定されている領域など、拡大対象となり得る領域を選択肢として強調表示し、ユーザがそのいずれかを選択したら当該領域へ画像を移動する処理である。例えば画像内に複数のリンク設定領域がある場合、それらの領域が選択可能な倍率となった時点で各領域の色を変化させ、選択可能であることを示す。その状態で入力装置20の十字キー21などの方向指示キーを押下すると選択対象が移動するようにする。そして○ボタン22などで選択操作を行うと、選択された領域が画面の中央に来るように視点を移動させたり、ズームアップしたりする。このようにすることで視点の移動を簡略化でき、所望のリンク先や画像の一部へ効率よく移動できる。
(39)行目は「boundary」属性で選択を受け付ける「リンク境界」を設定している。設定するパラメータはこれまでの説明と同様である。(40)〜(43)行目、(44)〜(47)行目、(48)〜(51)行目、(52)〜(66)行目はそれぞれ、「option」属性により選択肢の矩形を指定している。各選択肢は「frame_color」属性で色の指定を行う。これにより選択肢の矩形を強調表示する。また、各矩形の位置および大きさをターゲット矩形と同様に設定する。
さらに、「view」属性により、当該選択肢が選択された場合の表示における視点を設定している。設定に用いるパラメータは上述と同様である。なお(52)〜(66)行目の設定による選択肢には、(55)〜(65)行目に設定される下位の選択肢があることを示している。これを明示することにより、上位の選択肢の選択受付時には、下位の選択肢を選択肢から除外できる。
次にパラメータ「max_overshoot」およびパラメータ「max_invisibility」について説明する。図14はパラメータ「max_overshoot」を変化させたときのリンク境界の変化を説明するための図である。枠94に示すように、同図は視点96からの視界98と境界矩形84の位置関係を横から見た様子を表しており、パラメータ「max_overshoot」が0.0、0.25、0.5、0.75、1.0と変化したときのリンク境界の変化を示している。
まず「max_overshoot」が0.0の場合、すなわち画面が境界矩形からはみ出さないように設定すると、視点96aでは視界を表す三角形の底辺、すなわち画面が境界矩形84の上方の領域に入っているため、画面が境界矩形からはみ出しておらず、当該視点96aはリンク境界内となる。一方、視点96bでは、視界を表す三角形の底辺が境界矩形84の上方の領域からはみ出している、すなわち画面内に境界矩形84の周囲の領域が入り込んでいるため、当該視点96bはリンク境界外である。なお視点がリンク境界内であれば視点に「○」印、リンク境界外であれば視点に「×」印を記している。
このように考えると、「max_overshoot」が0.0を満たす視点集合の境界であるリンク境界はリンク境界92aのような形状を有する。パラメータ「max_overshoot」が0.25、0.5、0.75、1.0の場合も同様に考える。「max_overshoot」が0.25の場合は、画面が境界矩形84から1/4はみ出していてもリンクを有効とする。すなわちより高い視点から俯瞰して境界矩形84の周囲が見えていても許容される場合があるため、パラメータ「max_overshoot」が0.25のリンク境界92bはリンク境界92aに対して高い形状となる。
同様に、「max_overshoot」が0.5、0.75、1.0と大きくなるとリンク境界92c、92d、92eのように形状が変化する。すなわち、視点が高くなるほど境界矩形84が画面に入りやすくなり、画面のはみ出し量を許容すれば、高い視点ほど条件を満たす視点の範囲が増えていくため、リンク境界は視点が高くなるほど広がる形状となる。このように、パラメータ「max_overshoot」を導入することにより、高さ方向を含む3次元空間での視点の移動による、境界矩形、ひいてはリンクを設定した領域の、見かけ上の変化に対し、リンクの有効/無効の境界を設けることができる。
表示領域を縦横方向に移動させようと入力装置20のアナログスティック27aなどを操作する場合、視点の高低によって同じ操作量でも画像の振れ幅が異なる。パラメータ「max_overshoot」によって、リンクを有効とする範囲を視点の高さに応じて容易に変化させることができ、視点の高さを加味した動作が可能となる。
図15はパラメータ「max_invisibility」を変化させたときのリンク境界の変化を説明するための図である。同図の表し方は図14と同様である。まず「max_invisibility」が0.0の場合、すなわち境界矩形が画面からはみ出さないように設定すると、視点96cでは視界を表す三角形の底辺、すなわち画面の、下方の領域に境界矩形が入っているため、境界矩形が画面からはみ出しておらず、当該視点96cはリンク境界内となる。一方、視点96dでは、視界を表す三角形の底辺の下方の領域から境界矩形84がはみ出している、すなわち画面内に境界矩形の周囲の領域が入り込んでいるため、当該視点96dはリンク境界外である。
パラメータ「max_invisibility」もパラメータ「max_overshoot」と同様、境界矩形が画面に入っているときにリンクを有効とするためのパラメータであるが、視点の高さの変化に対するリンク境界の範囲の変化がパラメータ「max_overshoot」とは異なる。例えば「max_invisibility」が0.0の場合、視点が低くなり境界矩形84をアップにしすぎると、境界矩形が画面からはみ出すようになるため、そのような視点はリンク境界内に含まれない。逆に視点が高くなるほど境界矩形が画面からはみ出しにくくなるため、リンク境界内に入る視点の範囲が広くなる。
このように考えると、パラメータ「max_invisibility」が0.0を満たす視点集合の境界であるリンク境界はリンク境界92fのような形状を有する。パラメータ「max_invisibility」が0.25、0.5、0.75、1.0の場合も同様に考える。パラメータ「max_invisibility」が0.25、0.5、0.75、1.0と大きくなるほど、視点が低くなっても境界矩形84の画面からのはみ出しが許容されるため、リンク境界の幅が広がっていき、リンク境界92g、92h、92i、92jのように形状が変化する。
本実施の形態では、所定の範囲内であれば、高さ方向を含む3次元空間において自由に視点を移動させることができる。したがって大きな拡大率で表示領域を水平方向に移動させる場合もあり得る。このような操作で偶然、画面が埋め込みオブジェクトを設定した領域内に進入した場合、意図しないタイミングで動画が再生されてしまったりストアリンクの画面が表示されてしまったりすることが考えられる。境界矩形の画面に対するはみ出し割合は、ユーザが意図して境界矩形に画面を合わせたか否かを判断する指標となる。
埋め込みオブジェクトを動作させたいときにはユーザは通常、意図して境界矩形に画面を合わせるため、埋め込みオブジェクトのリンク境界の設定にはパラメータ「max_invisibility」が導入されている。一方、別の階層データの画像への切り替えは、高い拡大率における水平方向の視点移動であってもシームレスに実施されることが望ましいため、パラメータ「max_overshoot」が有効となる。
次にこれまで述べた構成による情報処理装置10の動作を説明する。図16は情報処理装置10によって表示装置12に表示される画像の例を示している。表示画像300は、例えばコンテンツの初期画像である。コンテンツは、例えばゲームなどのソフトウェア、音楽、映画などのプロモーション表示用コンテンツ、ネットワーク上の店舗からなる仮想デパートのコンテンツ、本の内容を表示する仮想図書館のコンテンツや、それらを組み合わせたコンテンツなど様々な態様が考えられる。
設定ファイルにおいて表示画像300をホームポジションと設定することにより、当該画像を初期画像とする。表示画像300中には矩形領域301、302、304、306、308a、310の6つのリンク、すなわち選択肢が設定されている。リンクの種類は、別の階層データの画像への表示切り替えでも埋め込みオブジェクトでもよい。ターゲット矩形はこれらの矩形領域に外接するように、設定ファイルにおいてリンクごとに設定する。境界矩形やリンク境界も上述のように設定するが、表示画像300には明示していない。
ユーザは表示画像300を見ながら入力装置20を用いて視点を移動させ、興味のある矩形領域をズームアップする。そして視点が当該矩形領域に対して設定されたリンク境界に進入した際、階層データの切り替えや埋め込みオブジェクトの作動など、矩形領域に対応した処理を実施する。
図17は埋め込みオブジェクトとして動画再生の処理を実施する処理手順を示す。図12の設定ファイルの例では、動画再生のオブジェクトは、あるフレームを静止画像として表示する段階と、動画像を表示する段階の2段階で実施する。静止画像表示に対し設定したリンク境界を「第1リンク境界」、動画像表示に対し設定したリンク境界を「第2リンク境界」と呼ぶ。まず、視点が第1リンク境界外にある状態において、動画のタイトル画像や広告など、あらかじめ定めておいた標準画像を表示する(S18)。この標準画像は初期画像など現在表示中の画像の階層データの一部であり、図16の表示画像300中、矩形領域301などにおける画像に相当する。
この状態においてリンク判定部116は、視点が第1リンク境界に入ったか否かを監視する(S20)。ユーザが入力装置20を操作し、視点が第1リンク境界に入ったら(S20のY)、その旨をオブジェクト実行部117に通知し、オブジェクト実行部117はメインメモリ60の所定の領域を参照してレジュームすべき情報があるか否かを確認する(S22)。以前に同じ動画が再生されていた場合、そのときの停止箇所がレジュームポイントとしてメインメモリ60に格納されている。当該情報があれば(S22のY)、その情報を読み出す(S24)。レジュームすべき情報がなければ(S22のN)、メインメモリ60から読み出した動画データの最初のフレームを、レジューム情報があれば(S22のY、S24)レジュームポイントのフレームを描画し、静止画像として表示装置12に表示する(S26)。
それと並行してリンク判定部116は、視点が第2リンク境界に入ったか否かを監視する(S28)。視点が第2リンク境界に入ったら(S28のY)、オブジェクト実行部117は動画の再生および表示を開始する(S30)。ここでもS24でレジュームポイントを読み出していれば当該ポイントから動画を再生する。なお、視点が第2リンク境界に入る前の段階で、静止画像を表示しつつ動画再生処理を投機的に開始してもよい。これによりS28で視点が第2リンク境界に入った時点で円滑に動画を表示できる。
リンク判定部116は動画表示と並行して、視点が第2リンク境界から出たか否かを監視する(S32)。視点が第2リンク境界から出たら(S32のY)、オブジェクト実行部117は動画再生を停止し、停止させたときのフレームを静止画像として表示する(S34)。さらに停止箇所をレジュームポイントとしてメインメモリ60に記憶させる(S36)。さらにリンク判定部116は、視点が第1リンク境界から出たか否かを判定する(S38)。視点が第1リンク境界から出たら(S38のY)、表示領域決定部104に当該情報が通知され、元の階層データの画像、すなわちS18で表示したタイトル画像などの標準画像が表示される(S40)。以上の動作で、リンクが設定された領域がズームアップされたことに対応して、2段階で表示を切り替え、動画再生を行う態様を実現できる。
なおリンク判定部116は実際には常に視点の位置を監視し、設定されたリンク領域に対する内外判定を行っているため、例えばS26であるフレームを表示中、視点が第2リンク境界に入らず第1リンク境界から出た場合はそのままS40の標準画像表示のステップへ移行する。
音声再生の処理手順も同様である。このとき、図12の設定ファイルの例のように、リンク境界を1つとして音声再生、非再生のみの切り替えを行うようにしてもよいし、複数の段階を設け、再生する音声データや音量などを切り替えるようにしてもよい。また図16の画像が表示されているときにもBGMとして音声を再生しているときは、音声を切り替える際、クロスフェードするように加工を行ってもよい。
また動画および音声のいずれの場合も、元の階層データの画像中、埋め込みオブジェクトが設定されている複数の領域で同じ動画や音声を再生する場合は、レジュームポイントを共通の情報としてもよい。例えば図16の表示画像300中、矩形領域301〜310のいずれをズームアップしていっても、同じ音楽に切り替えるようにし、さらにレジュームポイントを共通とすることにより、矩形領域に関わらず音楽の連続性が保たれ統一感が生まれる。
レジュームするか否か、レジュームポイントを共通にするか否かは、埋め込みオブジェクトごとにユーザやコンテンツ作成者が設定できるようにしてもよい。また、図17のS26で、あるフレームを表示する際は、それまで同矩形領域に表示していた標準画像とクロスフェードするように表示してもよい。同様に、隣の矩形領域へ視点を移動した場合にも、表示している静止画像または動画像をクロスフェードさせてもよい。
図18は埋め込みオブジェクトとしてストアリンクを動作させる際に表示する画像の例を示している。表示画像312は、図16の表示画像300のうち、ストアリンクを設定した矩形領域308aに対して設定されたリンク境界に視点が入ったときの画像である。図12の「action」属性を「show_link」とすることにより、オブジェクト実行部117は、視点がリンク境界へ入った際、図16の矩形領域308aの画像を図18の矩形領域308bの画像へ切り替える。
矩形領域308bの画像では、当該店舗のウェブサイトへの移動が可能であることを示す「ストアへGO!」と記載されたインジケータ314と、移動を決定するための操作方法として「○ボタンを押して下さい」と記載されたインジケータ316とを、元から表示していた店舗情報に加えて表示している。加える画像の内容や配置はデザイン性や入力装置などに鑑み適宜決定する。例えばインジケータ314は図16の表示画像300の段階で表示しておき、矩形領域308aがズームアップされたら色のみを変化させることにより、ユーザにリンク先への移動が可能であることを示してもよい。
ユーザは、リンク先への移動が可能となるまで矩形領域308aをズームアップしていき、矩形領域308bの画像になったらインジケータ316の表示に従い入力装置20の「○ボタン」などを押下することによって、当該店舗のウェブサイト画面を表示させる。ウェブサイトへのアクセスや表示は一般的な技術を適用することができる。
図16の表示画像300において、矩形領域301〜310は、何らかのリンクが設定された「選択肢」と考えることができる。したがって、図12に例示した選択受付表示の設定に従い、あるタイミングで矩形領域301〜310の色を変化させるなどの強調表示を行い、それらが選択肢であることを示すようにしてもよい。強調表示させるタイミングは、設定しておいたリンク境界に視点が入ったときでもよいし、入力装置20によって所定の入力が行われたときでもよい。
画面に表示された画像上で選択肢を明らかにし、ユーザによる選択操作を受け付けることにより、ユーザは効率よく所望の矩形領域を選択することができる。また選択された矩形領域が画面中央に移動させたりズームアップしたりするなどの視点の移動を自動で行うことにより、最低限の操作ですぐに階層データの切り替えや埋め込みオブジェクトの処理開始に至ることができる。
このような動作は、ユーザが画像から矩形領域を選択し、画像の拡大率を上げる方向にショートカットを行うものであるが、拡大率に対し双方向にショートカットを行えるようにしてもよい。例えば、ユーザが選択した矩形領域を自動でズームアップしたあと、入力装置20の×ボタン23など所定のキーを操作すると、拡大率を下げて元の表示に戻すようにする。このようにすることで、また別の矩形領域を選択したい場合などに操作の効率が上がる。
この場合、オブジェクト実行部117は、選択入力がなされる都度、その時点でのフレーム座標など表示領域を表すパラメータをメインメモリ60に記憶させる。そしてユーザが表示を戻すための入力を行った場合に、メインメモリ60から前の表示領域を表すパラメータを読み出し、表示領域決定部104に通知することにより該当領域を表示する。ある選択肢にさらに下位の選択肢がある場合など複数回の選択入力がなされた場合は、その時点での表示領域を表すパラメータを順に記憶しておき、LIFO(Last In First Out)の方式で読み出していく。以後、このようにして記憶した表示領域を表すパラメータのリストを「パンくずリスト」と呼ぶ。
図19は、埋め込みオブジェクトとして選択受付表示を行った場合の情報処理装置10の処理手順を示している。まず図16に示した表示画像300が表示された状態で、ユーザは入力装置20を用いて視点を移動させる。このときリンク判定部116は選択受付表示のためのリンク境界に視点が入ったか否かを監視する(S50)。視点がリンク境界に入ったら(S50のY)、オブジェクト実行部117は設定ファイルの設定に従い、矩形領域301〜310の色を変化させるなどの強調表示を行う(S52)。そして、ユーザが入力装置20の十字キー21などの方向指示キーおよび○ボタン22などの決定ボタンを操作することによりいずれかの矩形領域が選択されるのを待機する(S54)。
選択入力がなされたら(S54のY)、オブジェクト実行部117はその時点での表示領域に係るパラメータをメインメモリ60のパンくずリストに書き込む(S56)。そして設定ファイルに設定された視点の移動についての情報を表示領域決定部104に通知することにより、選択された矩形領域をズームアップするなど表示領域を移動させる(S58)。この際、単に表示領域を移動させるばかりでなく、選択された矩形領域に関する説明や広告の画像を追加で表示したり、色を変化させたりといった、当該矩形領域に対応づけて設定した所定の加工を施すようにしてもよい。追加で表示する画像のデータは、矩形領域に対応させてコンテンツに含めておく。その後、当該矩形領域をさらにズームアップするなど視点の移動を行う指示がユーザよりなされた場合は、それに応じた処理を適宜行うが、図19では図示を省略している。
ユーザが入力装置20の×ボタン23など所定のキーを操作して表示領域を戻す指示入力を行ったら(S60のY)、オブジェクト実行部117は、メインメモリ60のパンくずリストから最近書き込まれたパラメータを読み出し(S62)、表示領域決定部104に通知することにより、当該パラメータによって決まる表示領域へ表示を移動する(S64)。このような動作により、ユーザの選択入力という明確な意思表示がある場合に効率を重視した表示を行うことができる。
またユーザの選択入力に応じて、ホームポジション以外の表示領域にもマーキングを行うことにより、高倍率の画像表示で移動先を見失ったり、最初からやり直しになったり、といった非効率な自体を避けることができる。結果として、入力方法に自由度が増すとともに、深い階層構造で選択肢を設けても所望の情報へ効率よく到達できる。
図19の動作は選択受付表示に係るものであったが、表示領域を戻す処理は選択受付表示と関係なく実施するようにしてもよい。例えば表示領域決定部104が、階層データの切り替え処理とともに戻すポイントのマーキングを行う。図20は視点を任意に移動させたときに表示領域を戻す態様を説明するための図である。図の表し方は図6と同様であり、階層データ400は、階層データ402、404、406とリンクが設定されている。また階層データ404は階層データ407とリンクが設定されている。このような画像データを表示するコンテンツにおいて、まずホームポジションの画像410の情報をメインメモリ60のパンくずリスト408に格納する。ここで格納する情報は、フレーム座標でもよいし階層データの識別情報などでもよい。
ユーザが入力装置20のアナログスティック27a、27bなどによって仮想空間における視点を矢印A、矢印Bのように移動させ、階層データ404の領域に入ったとする。これにより表示画像が階層データ404のものに切り替わったら、階層データ404のホームポジションともいうべき、最も解像度の低い階層の画像412の情報をパンくずリスト408に追記する。さらにユーザが矢印C、矢印Dのように視点を移動させ、階層データ407の領域に入ったら、階層データ407の最も解像度の低い階層の画像414の情報をパンくずリスト408に追記する。
そしてユーザが表示を戻す入力を行ったら、パンくずリスト408からLIFOの方式で最近の画像情報を読み出し、矢印Eのように視点を移動させる。このとき途中経過を表示しながら文字通り視点を「移動」させてもよいし、即座に表示画像を切り替えてもよい。こうすることで、続けて階層データ404へ表示を切り替えることもできるし、再度階層データ407内で視点を移動させることもできる。図20の例では、画像414を表示後、ユーザが画像を縮小するなどして階層データ404へ表示を切り替えている(矢印F)。
そして再度、表示を戻す入力を行ったら、パンくずリスト408から画像412の情報を読み出し、矢印Gのように視点を移動させる。そしてユーザがさらに画像を縮小し、階層データ400の画像内で矢印Hのように視点を移動させたあと、表示を戻す入力を行ったら、パンくずリスト408から画像410の情報を読み出し、矢印Iのように視点を移動させる。
このような動作によって、同一階層データ内でユーザがいかなる視点の移動を行ったかに関わらず、表示を戻す指示入力のみで、同階層データにおいて最低の解像度の画像を表示させることができる。低解像度の画像は、当該階層データの全体を見渡しやすい画像であるとともに、一つ上の階層データへ即座に表示を切り替えることのできる画像である。ユーザは、いきなり初期画像まで戻ってしまうなど大幅な画像の変化によって思考が途切れることなく、階層データごとに統一された画像まで小幅に縮小することができ、移動先を見失わずに効率よく所望の領域へ到達できる。また、戻す指示入力を2回連続して行えば、2つ前の階層データまで戻れる、といったように、視点の移動履歴をおよそ辿りながら段階的に元に戻すことができる。
なお、図20の例では、各階層データのうち最低解像度の画像の情報をパンくずリストとして記憶したが、視点の範囲ごとに、最も低解像度の一の基準表示領域を定めればよく、例えば同じ階層データ内で複数の基準表示領域を定めてもよい。この場合も、視点が新たな範囲に入ったら当該範囲に対応する基準表示領域に係る情報をパンくずリストに書き込めば、同様の態様を実現できる。また、選択肢を強調表示する図19の態様と組み合わせてもよい。この場合、画像410、412、414の情報に加え、選択入力がなされた時点の表示領域の情報を戻り先として記憶する。
以上述べた本実施の形態によれば、表示画像の拡大縮小を含む視点の移動をきっかけとして、別の階層データへの表示の切り替え、動画再生、音声再生、ネットワーク上の別のサイトへのリンク、選択肢の強調表示などの処理を行う。これによりユーザは、画像を楽しみながら、視点の移動というより感覚的、かつ容易な操作で、所望の処理を情報処理装置に行わせることができる。またこのような多機能なコンテンツを、設定ファイルによる容易な設定で作成できる。
また画像に対する視点に着目しているため、視点の位置によって細かい設定ができ、単に機能の選択/非選択の2値判定でなく、段階的な処理が可能となる。画面が矩形領域からはみ出す割合、矩形領域が画像からはみ出す割合などを取得することにより、処理の内容に応じて適切なタイミングで所望の処理を動作させることができる。また処理の切り替えにあっては、クロスフェードなどの加工を行うことにより、切り替え前後の画像や音声をシームレスにつなげることができる。これによりユーザは、画像表示の延長上で動画再生などを気軽に試してみることができる。これらのことから、カーソルを用いて処理を選択する場合と比べ、デザイン性に優れ、かつユーザに優しいコンテンツを実現できる。
さらに選択肢を強調表示して選択可能とすることにより、操作を直接的に行いたい場合にも外観上に大きな変化なく、ユーザのニーズや状況に応じた態様を実現できる。またそのような直接的な選択を行ったか否かに関わらず、現在表示中の画像より低い解像度に戻り先の表示領域を記憶しておき、入力装置の所定の操作により当該領域へ直接戻ることができるようにすることで、画像内の移動を円滑に行え、結果として所望の領域へ到達する効率が上がる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば本実施の形態では、画像平面と解像度で形成する3次元の仮想空間での表示画面の移動を、画像に対する視点の移動に対応づけて説明したが、2次元の画像平面のうち表示する領域の中心位置と当該領域の大きさを変化させて表示画面とする場合も、当該表示画面を、ユーザの仮想的な視点の移動と捉えることができる。すなわち、2次元平面の表示領域の移動にも本実施の形態を適用でき、同様の効果を得ることができる。