情報処理装置および情報処理方法
【課題】表示画像の特定の領域へのユーザによるズームアップを支援する。
【解決手段】画像中に設定されたリンク領域352をズームアップする場合、画像に対する仮想的な視点は上から下へ移動し、視点368が最終的な目標となる。ユーザが画像の拡大操作を行っている期間において視点が誘導範囲364または準誘導範囲366にある場合、視点に水平方向の動きを加え、リンク領域352に画面を誘導する。準誘導範囲366内の視点372の単位時間あたりの移動量(矢印B)の水平方向成分は、誘導範囲364内の視点370の単位時間あたりの移動量(矢印A)の水平方向成分に比べ小さくする。各範囲に対する視点の内外判定を、ユーザが拡大操作を行っている期間で常時実行して、誘導の開始、停止、誘導力の変更を、視点の移動とともにリアルタイムで行う。
【解決手段】画像中に設定されたリンク領域352をズームアップする場合、画像に対する仮想的な視点は上から下へ移動し、視点368が最終的な目標となる。ユーザが画像の拡大操作を行っている期間において視点が誘導範囲364または準誘導範囲366にある場合、視点に水平方向の動きを加え、リンク領域352に画面を誘導する。準誘導範囲366内の視点372の単位時間あたりの移動量(矢印B)の水平方向成分は、誘導範囲364内の視点370の単位時間あたりの移動量(矢印A)の水平方向成分に比べ小さくする。各範囲に対する視点の内外判定を、ユーザが拡大操作を行っている期間で常時実行して、誘導の開始、停止、誘導力の変更を、視点の移動とともにリアルタイムで行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示画像に応じたユーザの入力指示に従い情報処理を行う情報処理技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【0003】
一方、高精細な写真などのディジタル画像から生成された複数の解像度のタイル画像を用いて、表示画像の拡大/縮小処理や、上下左右方向の移動処理を行う技術が提案されている。この画像処理技術では、原画像サイズを複数段階に縮小して異なる解像度の画像を生成し、各階層の画像を一又は複数のタイル画像に分割して、原画像を階層構造で表現する。通常、最も解像度の低い画像は1つのタイル画像で構成され、最も解像度の高い原画像は、最も多い数のタイル画像で構成される。画像処理装置は、表示画像の拡大処理または縮小処理時に、使用しているタイル画像を、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行うようにしている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年は携帯端末などでも表示画面のサイズが拡大し、情報処理装置の種類によらず高精細画像を表示することが可能となってきている。そのため視覚に訴える様々なコンテンツがより身近なものとなった。しかし表示すべき情報が複雑化、高度化すると、それを使いこなすための操作も複雑になってくる。キーの割り付けを理解したり、複数のキーを同時に操作したりする状況は、装置の扱いに不慣れなユーザにとっては特に、負担がかかりやすかった。
【0006】
本発明はこのような課題に鑑みてなされたものであり、その目的は、表示画像に対するユーザの操作を支援する技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様は情報処理装置に関する。この情報処理装置は、ズームアップすべき対象を表す特定領域を含む画像のデータを保持する記憶装置と、画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける入力情報取得部と、視点の移動要求に応じて表示する領域を変化させて画像のデータから表示画像を生成する表示画像処理部と、ユーザが画像の拡大操作を行っているときに、視点が、特定領域と、視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、視点に水平方向の動きを加えることにより、画面に映る領域を特定領域方向へ誘導するように表示画像処理部を制御する誘導制御部と、を備えたことを特徴とする。
【0008】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力するステップと、画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付けるステップと、視点の移動要求に応じて表示装置に表示する領域を変化させるステップと、ユーザが画像の拡大操作を行っているときに、視点が、特定領域と、視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、視点に水平方向の動きを加えることにより、画面に映る領域を特定領域方向へ誘導するステップと、を含むことを特徴とする。
【0009】
本発明のさらに別の態様はコンテンツのデータ構造に関する。このコンテンツのデータ構造は、画像のデータと、画像のうちズームアップすべき対象を表す特定領域のデータと、ユーザが画像の拡大操作を行っているときに、画面に映る領域を特定領域方向へ誘導するために、画像平面および画像平面からの距離によって定義される仮想空間における視点に水平方向の動きを加える条件であって、特定領域と画面に映る領域との位置関係に対して設定した誘導条件と、を対応づけたことを特徴とする。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によると、表示画像に対する操作においてユーザにかかる負担を軽減できる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態にかかる画像処理システムの使用環境を示す図である。
【図2】図1の画像処理システムに適用できる入力装置の外観構成を示す図である。
【図3】本実施の形態において使用する画像データの階層構造例を示す図である。
【図4】本実施の形態における情報処理装置の構成を示す図である。
【図5】本実施の形態における画像データの流れを模式的に示す図である。
【図6】本実施の形態において表示対象となる複数の階層データの関係を模式的に示す図である。
【図7】本実施の形態においてリンクが設定されている画像の例を示す図である。
【図8】本実施の形態における制御部の構成を詳細に示す図である。
【図9】本実施の形態において、視点の違いによる、リンク領域と画面の位置関係の変化を説明する図である。
【図10】本実施の形態における誘導範囲と準誘導範囲の関係を模式的に示す図である。
【図11】リンク領域の中心線からの、視点の水平方向の距離に対する誘導力の設定例を示す図である。
【図12】本実施の形態において情報処理装置が行う、リンク領域への画面の誘導およびリンクの実行に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
図1は、本発明の実施の形態にかかる情報処理システム1の使用環境を示す。情報処理システム1は、画像処理、動画再生、音声再生、通信などの機能の少なくともいずれかを含むコンテンツを処理する情報処理装置10と、情報処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。表示装置12は、情報処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。
【0014】
情報処理システム1において、情報処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像のデータを含むコンテンツのソフトウェアなどをダウンロードして取得してもよい。なお情報処理装置10は、無線通信により外部ネットワークに接続してもよい。なお情報処理装置10は、ゲーム装置やパーソナルコンピュータなどであってもよく、ソフトウェアを各種記録媒体からロードすることで後述する機能を実現してもよい。
【0015】
ユーザが、表示装置12に表示された画像を見ながら、表示領域の拡大/縮小、上下左右方向へのスクロールを要求する入力を入力装置に対して行うと、入力装置はそれに応じて、表示領域の移動および拡大縮小の要求信号を情報処理装置10に送信する。情報処理装置10は当該信号に応じて、表示装置12の画面内の画像を変化させる。このような表示領域の移動および拡大縮小は、表示画像に対するユーザの仮想的な視点の移動とも捉えることができるため、以後、「視点の移動」と総称する。情報処理装置10は、あらかじめ定めた規則に従い、画像中の所定の領域と対応づけられた処理をさらに実行してもよい。例えばユーザが所定の領域をズームアップすると、情報処理装置10は当該領域に対応づけておいた動作を開始する。
【0016】
図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25で構成される。
【0017】
情報処理システム1において、入力装置20の操作手段には、視点の移動、すなわち表示領域の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示領域の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示領域の縮小要求を入力でき、また手前から押すことで、表示領域の拡大要求を入力できる。また、表示領域のスクロールの入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向へのスクロール要求を入力できる。なお、視点移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
【0018】
入力装置20は、入力された視点移動要求信号を情報処理装置10に伝送する機能をもち、本実施の形態では情報処理装置10との間で無線通信可能に構成される。入力装置20と情報処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、情報処理装置10とケーブルを介して接続して、視点移動要求信号を情報処理装置10に伝送してもよい。
【0019】
図3は、本実施の形態において使用する画像データの階層構造例を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
【0020】
図3に示す階層データは4分木の階層構造を有し、各階層は、1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0021】
情報処理装置10において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、コンテンツの起動に際し記憶装置から読み出されてデコードされる。本実施の形態の情報処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばS3TC形式、JPEG形式、JPEG2000形式の圧縮データをデコード可能とする。階層データにおいて、圧縮処理は、タイル画像単位に行われていてもよく、また同一階層または複数の階層に含まれる複数のタイル画像単位に行われていてもよい。
【0022】
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。情報処理装置10は、入力装置20から供給される視点移動要求信号から表示領域の移動量を導出すると、その移動量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。仮想空間におけるフレーム座標は、表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、情報処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0023】
階層データに含まれる各階層の画像データは仮想空間のZ軸に対して離散的に存在する。そのため、画像データがない階層間の縮尺率で画像を表示する場合は、Z軸方向で近傍にある画像データを用いる。例えば、表示画像の縮尺率が第2階層34の近傍にある場合、表示画像は当該第2階層の画像データを用いて作成する。これを実現するためには、各階層の間、例えば中間にソース画像の切り替え境界を設定する。表示画像の縮尺率が当該切り替え境界を越えると、表示画像の生成に用いる画像データを切り替え、当該画像を拡大したり縮小したりして表示する。
【0024】
図4は情報処理装置10の構成を示している。情報処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0025】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、階層化された圧縮画像データと、当該画像を用いて様々な機能を実現するための設定ファイルとを含むコンテンツファイルを受信してもよい。コンテンツファイルには、様々な機能を実行するために必要なデータ、例えば圧縮符号化された動画データ、音楽データ、ウェブサイトの名前とURL(Uniform Resource Locator)との対応づけデータなどがさらに含まれていてもよい。
【0026】
またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された視点移動要求信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0027】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信された各種データは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読み出し専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。コンテンツファイルはこれらの記録媒体に格納されていてもよい。
【0028】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。
【0029】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0030】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた処理結果を出力する。
【0031】
本実施の形態の情報処理装置10は、視点の移動に伴い表示画像を円滑に変更するために、あらかじめ圧縮画像データの少なくとも一部をハードディスクドライブ50からメインメモリ60にロードしておく。また、ユーザからの視点移動要求をもとに、将来表示させる領域を予測し、メインメモリ60にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ70に格納してもよい。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【0032】
図5は本実施の形態における画像データの流れを模式的に示している。まずコンテンツファイルに含まれる階層データはハードディスクドライブ50に格納されている。ハードディスクドライブ50に代わり、記録媒体装着部52やディスクドライブ54に装着された記録媒体が保持していてもよい。あるいは、情報処理装置10がネットワークを介して接続した画像サーバから階層データをダウンロードするようにしてもよい。ここでの階層データは上述のとおり、S3TC形式などによる固定長圧縮、あるいはJPEG形式などによる可変長圧縮がなされている。
【0033】
この階層データのうち、少なくとも一部の画像データを圧縮した状態のままメインメモリ60にロードする(S10)。ここでロードする領域は、現在の表示画像の仮想空間における近傍や、画像の内容、ユーザの閲覧履歴等に基づいて、高頻度で表示要求がなされると予測される領域など、あらかじめ定めた規則によって決定する。ロードは、視点移動要求がなされたときのみならず、例えば所定の時間間隔で随時行う。これによりロード処理が一時期に集中しないようにする。
【0034】
次に、メインメモリ60に格納されている圧縮画像データのうち、表示に必要な領域の画像、または必要と予測される領域の画像のデータをデコードし、バッファメモリ70に格納する(S12)。バッファメモリ70は、少なくとも2つのバッファ領域72、74を含む。各バッファ領域72、74のサイズは、フレームメモリ76のサイズよりも大きく設定され、入力装置20から視点移動の要求信号が入力された場合に、ある程度の量の移動に対しては、バッファ領域72、74に展開した画像データで表示画像を生成できるようにする。
【0035】
バッファ領域72、74の一方は、表示画像の生成に用いる画像を保持するために利用される表示用バッファであり、他方は、以後、必要と予測される画像を準備するために利用されるデコード用バッファである。図5の例では、バッファ領域72が表示用バッファ、バッファ領域74がデコード用バッファで、表示領域68が表示されているものとする。
【0036】
次に、表示用バッファであるバッファ領域72に格納された画像のうち表示領域68の画像を、フレームメモリ76に描画する(S14)。この間に、新たな領域の画像が必要に応じてデコードされ、バッファ領域74に格納される。格納が完了したタイミングや表示領域68の移動量などに応じて、表示用バッファとデコード用バッファを切り替える(S16)。これにより、表示領域の移動や縮尺率の変更などに対し表示画像をスムーズに切り替えることができる。
【0037】
これまで述べた処理は、ある画像の表示領域の移動、拡大縮小を行うために、図3で示したような一つの階層データによって構成される仮想空間において、ユーザからの視点移動要求に従いフレーム座標を移動させる態様であった。一方、複数の階層データを表示対象として用意し、表示画像が階層データ間を行き来するようにしてもよい。図6はそのような態様において表示対象となる複数の階層データの関係を模式的に示している。
【0038】
図中、2つの三角形は異なる階層データ150および152を示している。それぞれの階層データ150、152は実際には、図3に示すように解像度の異なる複数の画像データが図のZ軸方向に離散的に存在する構成を有する。ユーザが入力装置20によって表示領域の拡大/縮小を要求すると、表示領域、ひいては視点が、図のZ軸方向に移動することになる。一方、表示領域を上下左右に移動させる要求を行うと、図の水平面を移動することになる。このような仮想空間において、2つの階層データ150および152が図のように重なり合った画像データを構築する。
【0039】
そして階層データ150の画像を表示中、ユーザが継続的に拡大要求を行うと、視点が矢印aのように移動し、階層データ152の領域に入る、すなわち階層データ間を移動することになる。異なる階層データの領域に進入すると、表示画像を生成するためのデータが階層データ150から階層データ152へと切り替わる。この処理は、これまで述べた画像表示の処理手順において、メインメモリ60へロードする対象の階層データを変更するのみで実現できる。
【0040】
図6のような複数の階層データからなる画像データを構築するために、階層データ150と階層データ152を切り替えるときの画像の解像度および位置をあらかじめ設定しておく。この設定は図6中、線154で表され、これにより階層データの重なり具合が決定できる。同図の例では、Z軸がz1なる解像度、線154が表す位置において、階層データ150から階層データ152への切り替えが行われる。以後、このような階層データ間の切り替えを「リンク」と呼ぶ。なお切り替えを行う階層データの画像は縮尺率の異なる同一の画像でもよいし、全く異なる画像でもよい。
【0041】
さらに、階層データ152への表示画像の切り替えに代わり、動画再生、音声再生、表示の加工、表示領域の移動、といった処理を行うようにしてもよい。この場合も、線154のように、階層データ150に対しリンク領域を設定しておき、視点が当該領域に到達したらそれに対応づけておいた処理を開始する。
【0042】
このようにすると、ユーザが階層データ150の画像を見ながら、ある領域に視点を近づけていくと、その領域に対応づけた情報が表示されたり、動画再生やアプリケーション起動がなされたりする、といった態様を実現できる。このようなリンク領域を一つの画像データに複数設定すれば、複数の処理の中から選択して動作させるメニュー画面を構築することができる。このように、視点の移動により開始する処理を「埋め込みオブジェクト」と呼ぶ。そして画像データと埋め込みオブジェクトとの関連づけもまた、「リンク」と呼ぶ。
【0043】
図7はリンクが設定されている画像の例を示している。表示画像350にはリンク領域352a、352b、352cなど複数のリンク領域が設定されている。例えばユーザが、表示画像350を初期画像としてリンク領域352aへズームインしていくと、当該リンク領域352aが画面全体に表示された時点で、対応する処理、すなわち画像生成に用いる階層データを切り替えたり埋め込みオブジェクトを実行したりする。このためには、図3に示した仮想空間における、リンク領域352aが画面全体に表示されるときのフレーム座標と、当該リンクによって実行する処理の識別情報および、動画データやプログラムなど処理に必要なデータの識別情報やアドレスなどを対応づけた設定ファイルを、階層データに対応づけて作成しておく。
【0044】
このようにリンク領域への視点の移動をきっかけとして画像の切り替えや埋め込みオブジェクトの実行などを行う態様は、単にポインティングデバイスの操作によって選択肢リストから選択する場合と比べ、元の画像からの連続性を感じることができ、デザイン性に優れたコンテンツを様々な形で実現できる。このように特定の領域をズームアップしていく必要があるとき、ユーザは、入力装置を用いて水平方向に位置合わせをしながら拡大操作を行うことになるが、このような操作はできるだけ簡略化できることが望ましい。
【0045】
図7の例ではリンク領域352a、352b、352cなどは整列して離れて配置されているためリンク領域の範囲を認識しやすいが、一枚の絵や写真など全体として連続している画像にリンク領域を設定することも考えられる。このような場合、リンク領域の範囲がわかりづらいため、画面とリンク領域との位置合わせにさらに手間がかかることになる。そこで本実施の形態では、ある視点の範囲では、ユーザが拡大操作をしているときに水平方向に微調整を加えて画面をリンク領域へ誘導することにより、ユーザの入力を支援する。なお誘導先の領域はリンク領域でなくてもよく、コンテンツ作成者が意図的に視点を誘導したい領域などでもよいが、以下の説明ではリンク領域を例にとる。
【0046】
図8は制御部100の構成を詳細に示している。制御部100は入力装置20からユーザが入力した情報を取得する入力情報取得部102、表示対象の階層データをハードディスクドライブ50からロードするロード部103、入力に応じて表示領域を決定する表示領域決定部104、圧縮画像データをデコードするデコード部106、表示画像を描画する表示画像処理部114を含む。制御部100はさらに、画面がリンク領域に誘導されるように表示領域決定部104が決定する表示領域を修正する誘導制御部116と、リンク領域に対し設定された処理を実行するリンク実行部を含む。
【0047】
図8において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0048】
ハードディスクドライブ50には、階層データと上述の設定ファイルを含むコンテンツファイルを格納しておく。リンクを設定した複数の階層データからなる画像データを表示する場合は、複数の階層データとそれぞれに対応する設定ファイルを格納する。コンテンツファイルにはさらに、動画データやアプリケーションプログラムなど埋め込みオブジェクトの処理に必要なデータを必要に応じて含めてよい。
【0049】
入力情報取得部102は、入力装置20のユーザによる操作に従い、コンテンツの起動/終了、視点の移動などの要求に係る情報を入力装置20より取得し、当該情報をロード部103、表示領域決定部104、誘導制御部116に通知する。ロード部103は、入力情報取得部102からコンテンツの起動要求がなされたことを通知されたら、コンテンツの初期画像の階層データおよびその設定ファイルをハードディスクドライブ50から読み出し、メインメモリ60に格納する。ロード部103はさらに、視点の移動先の階層データや埋め込みオブジェクトの実行に必要なデータなどを、必要に応じてハードディスクドライブ50から読み出し、メインメモリ60に格納する。
【0050】
表示領域決定部104は、入力情報取得部102から視点の移動要求がなされたことを通知されたら、視点の移動量を階層データの仮想空間における座標に変換し、表示すべき移動先のフレーム座標を決定する。誘導制御部116は、設定ファイルに設定されたリンク領域に対して所定の範囲に視点がある間は、画面を当該リンク領域に誘導するように、表示領域決定部104が決定したフレーム座標を修正する。この誘導は、入力装置20に対してユーザが視点の移動要求を行っている期間中、当該要求に対する微調整として実施する。詳細は後に述べる。
【0051】
デコード部106は、メインメモリ60から圧縮画像データの一部を読み出しデコードし、バッファメモリ70にデコード後のデータを格納する。デコード部106がデコードするデータは、表示領域を含む所定サイズの画像データでよい。あらかじめ広範囲の画像データをデコードし、バッファメモリ70に格納しておくことにより、メインメモリ60からの読み出し回数を削減でき、円滑な視点移動を実現できる。表示画像処理部114は、表示領域決定部104が決定した、表示すべき領域のフレーム座標を取得し、バッファメモリ70から対応する画像データを読み出し、表示処理部44のフレームメモリ76に描画する。
【0052】
リンク実行部118は、メインメモリ60に格納した、表示中の階層データに対応づけられた設定ファイルを参照し、移動先の視点がリンクの条件を満たしている場合に、リンク領域に対して設定された処理を実行する。ここで「リンクの条件」とは、上述のとおり画面全体にリンク領域が表示されるときの視点でもよいし、リンク領域の所定の割合が画面内に入っているときの視点の範囲などでもよい。さらに拡大率などにしきい値を設けてもよい。このような条件は、リンク領域の配置などに鑑み、コンテンツ作成者などがあらかじめ設定する。
【0053】
埋め込みオブジェクトを実行するためのプログラムやデータがメインメモリ60に格納されていなければ、リンク実行部118はロード部103に、当該プログラムやデータの識別情報とともに、ハードディスクドライブ50からメインメモリ60へのロード要求を発行する。
【0054】
別の階層データへ表示を切り替える場合も、必要に応じてロード部103に対しロード要求を発行する。さらにリンク実行部118は表示領域決定部104に対して、階層データの切り替え要求を発行する。これに応じて表示領域決定部104は、フレーム座標を切り替え後の階層データのものに変換し、当該階層データの識別情報とともにデコード部106に通知する。デコード部106はそれに応じて、リンク先の階層データをデコード処理対象とする。
【0055】
次に、誘導制御部116が画面をリンク領域に誘導する機構について説明する。上述のように本実施の形態では、画像内にリンク領域を設け、その領域に画面を合わせることによって様々な処理を実現する。このような態様においてユーザは多くの場合、入力装置20のアナログスティック27bのような拡大縮小キーによる画像のズームアップと、十字キー21のような方向指示キーによる水平方向の位置合わせとを繰り返しながら、目標とする領域をズームアップしていく。
【0056】
このような操作中、画像がある程度拡大された段階で画面内の多くの面積を一つのリンク領域が占めている場合などは、多少位置がずれていたとしても、ユーザが当該リンク領域を目標としていることが予測できる。この性質を利用し、画面内におけるリンク領域の見え方によって、ユーザがどのリンク領域を目標としているかを予測する。そして画像の拡大操作と連動するように、水平方向に微調整をかけて画面を当該リンク領域へ誘導する。
【0057】
具体的には、誘導条件として、表示画像の拡大率およびリンク領域が画面からはみ出している割合にそれぞれしきい値を設定する。リンク領域が画面からはみ出している割合とは、リンク領域が画面からはみ出している方向におけるリンク領域の幅に対する、はみ出している長さの割合である。縦横2方向にはみ出している場合は当該割合の大きい方とする。そして拡大率がしきい値を超え、かつあるリンク領域が画面からはみ出している割合がしきい値より小さい場合、ユーザがそのリンク領域を目標としていると予測する。
【0058】
そのような予測ができる状態においてユーザが拡大縮小キーによって画像を拡大する操作を行ったら、それに応じて表示画像の拡大率を増加させると同時に、目標としていると予測したリンク領域へ近づくように、水平方向に表示領域を移動していく。なお誘導条件を満たしているか否かの監視は、ユーザが視点移動要求を行っている期間においては常時行う。また誘導条件は、上記の設定ファイルに、リンク領域ごと、あるいは全リンク領域で共通に設定してもよいし、誘導制御部116が階層データによらず保持するパラメータとしてもよい。さらに、ユーザが拡大操作とともに水平方向の移動操作も行っているときは、誘導処理を行わなくてもよい。
【0059】
図9は、視点の違いによる、リンク領域と画面の位置関係の変化を説明する図である。図の縦方向が画像に対する視点の高さを表し、最も下の線が画像平面である。画像平面上、リンク領域352を太線で表している。まず視点360aから画像を見ると、視界を表す三角形からわかるように、リンク領域352ははみ出さずに視界、すなわち画面内に入る。一方、視点360bから画像を見ると、リンク領域352の一部は画面からはみ出す。
【0060】
また、視点が画像平面に近づくほど、画面に対してリンク領域352の大きさが大きくなるため、リンク領域352は画面からはみ出しやすくなる。したがって、例えばリンク領域352が画面からはみ出さないような視点の範囲は、視点範囲362のような形状となる。はみ出す割合に対するしきい値を変化させても、視点範囲の形状は視点範囲362と同様である。すなわち上述のように誘導条件を設定すると、それに合致する視点範囲が視点範囲362のように定まる。
【0061】
また図9において視点363は、リンク領域352がちょうど画面全体に表示される視点、すなわちリンクによる処理を実行するときの視点である。誘導制御部116は、ユーザが画像を拡大している期間において、視点363を目指して視点、ひいては画面の誘導制御を行う。なおリンク領域352は、リンクが設定されている領域、すなわちズームアップしていくと画像が切り替わったり動画が表示されたりする領域と厳密に同じ領域でなくてもよい。例えば当該リンクが設定されている領域とその周囲を含む領域などでもよい。
【0062】
ここで誘導条件を一つ設定すると、当該誘導条件によって定まる視点範囲に対する視点の内外判定によって、誘導する/しないの二者択一の態様が実現される。本実施の形態ではさらに、誘導条件によって定まる視点範囲の周囲に中間的な視点範囲を設けてもよい。以後、前者の視点範囲を「誘導範囲」、後者の視点範囲を「準誘導範囲」とする。準誘導範囲に視点があるときは、誘導範囲に視点があるときより小さい誘導力で誘導を行う。ここで「誘導力」とは、例えばユーザの操作による画像の拡大速度に対する、誘導による画像の水平方向の移動速度の割合である。
【0063】
図10は、誘導範囲と準誘導範囲の関係を模式的に示している。図の表し方は図9と同様であり、最も下にリンク領域352が存在する。また同図上部には、各範囲を上から見た様子も示している。同図において誘導範囲364は図9の視点範囲362に対応し、誘導の目標となる視点が視点368である。このような誘導範囲364の周囲に、準誘導範囲366を設定する。準誘導範囲366は例えば、誘導範囲364と同じ中心線を有し水平面方向に所定の割合だけ広げた領域のうち、誘導範囲364以外の範囲とする。準誘導範囲および各範囲の誘導力は、設定ファイルにリンク領域ごと、あるいは全リンク領域で共通に設定してもよいし、階層データに関わらず誘導制御部116が保持していてもよい。
【0064】
ユーザによる画像の拡大速度が同じであっても、視点が誘導範囲にあるか準誘導範囲にあるかによって、誘導による画面、ひいては視点の水平方向の移動速度が異なる。例えば、準誘導範囲366内の視点372の単位時間あたりの移動量(矢印B)の水平方向成分は、誘導範囲364内の視点370の単位時間あたりの移動量(矢印A)の水平方向成分に比べ小さくなる。
【0065】
また同図の例のように準誘導範囲366にある視点372が矢印Bのように誘導されながら画像平面に近づいていく途中で準誘導範囲366から逸脱した場合は、矢印Cのように誘導対象から除外し、ユーザの操作による画像拡大のみを行う。すなわち各範囲に対する視点の内外判定は、ユーザが拡大操作を行っている期間で常時実行するため、誘導の開始、停止、誘導力の変更を、視点の移動とともにリアルタイムで実行する。
【0066】
準誘導範囲は誘導範囲と比べ、同じ拡大率でリンク領域が画面からはみ出す量が多い視点の範囲と考えることができる。したがってこのように誘導範囲と準誘導範囲を設けることにより、リンク領域が画面に入っている程度に応じて細かく誘導力を調整することがでる。結果として、目標としていないリンク領域に強く誘導されたり、わずかな画面の振れによって誘導されるされないが切り替わったりといった、誘導によってユーザが感じる違和感を少なくすることができる。
【0067】
誘導範囲364、準誘導範囲366のそれぞれにおいて、誘導力は一定でなくてもよい。図11は、リンク領域の中心線からの、視点の水平方向の距離に対する誘導力の設定例を示している。図中、縦軸は誘導力であり、横軸の中心がリンク領域の中心線に対応する。この図では、誘導範囲においては誘導力を一定値aとし、準誘導範囲では中心線からの距離に応じて誘導力が値aから単調減少し、中心線から最も離れた境界において0となる設定がなされている。同様に、誘導範囲においても中心線からの距離に応じて誘導力を変化させてもよい。
【0068】
さらに誘導範囲、準誘導範囲の2つの範囲に分けずに連続的に誘導力が変化するようにしてもよいし、3つ以上の範囲に分けてもよい。いずれの場合も、リンク領域の中心線から視点までの水平方向の距離が短いほど、ユーザが当該リンク領域を目標としている可能性が高いと考えることができるため、その値に応じて誘導力を変化させることにより、自然な動きでユーザの視点移動を支援することができる。
【0069】
誘導範囲を規定する誘導条件として、リンク領域が画面からはみ出す割合にしきい値を設ける代わりに、誘導範囲を直接設定するようにしてもよい。例えば、視点の高さの変化に対する、リンク領域の中心線から視点までの距離の変化の割合を設定することにより、図10の誘導範囲に代わり、断面形状が円形である円錐状の誘導範囲を設定できる。準誘導範囲も同様に設定でき、断面形状は誘導範囲の周囲を形成する中空円形状となる。この場合も、これまでの説明と同様の機構で同様の効果を得ることができる。
【0070】
さらに、誘導範囲または準誘導範囲が、複数のリンク領域で重複する領域をもつ場合、当該領域に入った視点に対する誘導力は、各リンク領域への誘導力を、当該視点から各リンク領域の中心線までの距離によって重み付け平均した値としてもよい。ここで誘導力および中心線までの距離は、ベクトル計算であり、縦方向成分、横方向成分ごとに算出する。このような場合でも、視点が画像に近づく途中で、距離が遠いなど誘導力の弱いリンク領域の誘導範囲や準誘導範囲からはやがて逸脱し、最終的には視点に最も近いリンク領域へと誘導される。
【0071】
次にこれまで述べた構成による情報処理装置10の動作について説明する。図12は情報処理装置10が行う、リンク領域への画面の誘導およびリンクの実行に係る処理手順を示すフローチャートである。まずユーザが情報処理装置10に対してコンテンツの起動要求を行うと、図7に示した表示画像350のような初期画像が表示される(S18)。この状態で、ユーザが入力装置20を用いて視点移動要求を行うと、入力情報取得部102がその情報を取得する(S20)。当該移動要求が、画像平面に視点を近づける要求、すなわち画像の拡大要求であったら(S22のY)、誘導制御部116は、視点が準誘導範囲内にあるか否かを判定する(S24)。
【0072】
視点が準誘導範囲内にある場合(S24のY)、誘導制御部116は、準誘導範囲に対して設定された誘導力に基づき、表示領域決定部104が決定した拡大方向の画面の動きに対し、水平方向の動きを追加することにより画面を誘導する(S26)。このときの誘導力は上述のとおり、視点が誘導範囲内にあるときより弱い。視点が準誘導範囲内になく誘導範囲内にある場合は(S24のN、S28のY)、S26と同様、拡大方向の画面の動きに対し、水平方向の動きを追加して画面を誘導するが、このときの誘導力はS26より強い(S30)。なおS26およびS30の処理は、実際には、デコード部106、表示画像処理部114などにより画像が描画される。以後の表示領域移動処理も同様である。
【0073】
視点が準誘導範囲にも誘導範囲にもない場合は(S24のN、S28のN)、表示領域決定部104が決定した拡大方向の画面の動きをそのまま採用する(S32)。S20で取得した視点移動要求が拡大要求のみでなければ(S22のN)、表示領域決定部104は当該視点移動要求どおりに表示領域を移動させる(S34)。S20〜S34の処理を場合によっては繰り返し行うことにより、視点は徐々に、あるリンク領域に近づいていく。リンク実行部118は、例えば画面全体にリンク領域が表示されるなど、リンクの条件が満たされるまで視点の移動結果を監視し(S36のN)、当該条件が満たされた時点で(S36のY)、当該リンク領域に対して設定された処理を実行する(S38)。
【0074】
以上述べた本実施の形態によれば、表示画像の拡大縮小を含む視点の移動をユーザから受け付けて表示領域を更新する情報処理装置において、画像中の特定の領域と画面に映る領域との位置関係によって、当該領域をズームアップする意図がユーザにあるか否かを判断する。ズームアップする意図があると判断した場合は表示領域の誘導を行う。具体的には、ユーザが画像の拡大要求を行っている場合に、表示領域を拡大するとともに水平方向の移動を追加する。これにより、所望の領域をズームアップする際にユーザに必要とされる操作の一部を省略でき、ユーザの負担が減る。特に、あらかじめ設定された領域に画面を合わせることにより、当該領域に対応づけられた処理を開始するような態様において、ユーザが表示領域を微調整せずとも効率よく当該処理を開始することができる。
【0075】
誘導に際しては、ユーザが画像の拡大要求を行っている期間において、当該拡大要求による拡大速度に対応するように水平方向に調整を行う。すなわち調整幅がユーザの拡大要求のための操作の強さに連動しているため、勝手に視点が移動してしまうといった感覚を与えることなく、自然な動きでの誘導が実現できる。
【0076】
また、誘導を行う条件として視点範囲を2種類以上設定することにより、誘導を段階的に行う。すなわち、特定の領域と画面とのずれが比較的大きい段階では、ユーザが当該特定の領域をズームアップしようとしている可能性がそれほど高くないと判断し、誘導力を小さくしておき、ずれが小さくなったら本格的な誘導を行う。このようにすることで、適切なタイミングで適切な量だけ誘導を行うことができる。
【0077】
さらに、隣り合う複数の領域の間に視点がある場合などは、各領域までの距離に応じて最終的な誘導量を決定する。具体的には、各領域への誘導量を距離によって重み付け平均する。このようにすると、ズームアップすべき領域が近接していても適切な誘導力を求めることができるため、様々なレイアウトの画像に対し本実施の形態を適用することが可能となる。
【0078】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0079】
1 情報処理システム、 10 情報処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 36 第3階層、 38 タイル画像、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 76 フレームメモリ、 100 制御部、 102 入力情報取得部、 103 ロード部、 104 表示領域決定部、 106 デコード部、 114 表示画像処理部、 116 誘導制御部、 118 リンク実行部、 364 誘導範囲、 366 準誘導範囲。
【技術分野】
【0001】
本発明は、表示画像に応じたユーザの入力指示に従い情報処理を行う情報処理技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPUがポリゴンを用いた三次元画像を生成する(例えば特許文献1参照)。
【0003】
一方、高精細な写真などのディジタル画像から生成された複数の解像度のタイル画像を用いて、表示画像の拡大/縮小処理や、上下左右方向の移動処理を行う技術が提案されている。この画像処理技術では、原画像サイズを複数段階に縮小して異なる解像度の画像を生成し、各階層の画像を一又は複数のタイル画像に分割して、原画像を階層構造で表現する。通常、最も解像度の低い画像は1つのタイル画像で構成され、最も解像度の高い原画像は、最も多い数のタイル画像で構成される。画像処理装置は、表示画像の拡大処理または縮小処理時に、使用しているタイル画像を、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行うようにしている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年は携帯端末などでも表示画面のサイズが拡大し、情報処理装置の種類によらず高精細画像を表示することが可能となってきている。そのため視覚に訴える様々なコンテンツがより身近なものとなった。しかし表示すべき情報が複雑化、高度化すると、それを使いこなすための操作も複雑になってくる。キーの割り付けを理解したり、複数のキーを同時に操作したりする状況は、装置の扱いに不慣れなユーザにとっては特に、負担がかかりやすかった。
【0006】
本発明はこのような課題に鑑みてなされたものであり、その目的は、表示画像に対するユーザの操作を支援する技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様は情報処理装置に関する。この情報処理装置は、ズームアップすべき対象を表す特定領域を含む画像のデータを保持する記憶装置と、画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける入力情報取得部と、視点の移動要求に応じて表示する領域を変化させて画像のデータから表示画像を生成する表示画像処理部と、ユーザが画像の拡大操作を行っているときに、視点が、特定領域と、視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、視点に水平方向の動きを加えることにより、画面に映る領域を特定領域方向へ誘導するように表示画像処理部を制御する誘導制御部と、を備えたことを特徴とする。
【0008】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力するステップと、画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付けるステップと、視点の移動要求に応じて表示装置に表示する領域を変化させるステップと、ユーザが画像の拡大操作を行っているときに、視点が、特定領域と、視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、視点に水平方向の動きを加えることにより、画面に映る領域を特定領域方向へ誘導するステップと、を含むことを特徴とする。
【0009】
本発明のさらに別の態様はコンテンツのデータ構造に関する。このコンテンツのデータ構造は、画像のデータと、画像のうちズームアップすべき対象を表す特定領域のデータと、ユーザが画像の拡大操作を行っているときに、画面に映る領域を特定領域方向へ誘導するために、画像平面および画像平面からの距離によって定義される仮想空間における視点に水平方向の動きを加える条件であって、特定領域と画面に映る領域との位置関係に対して設定した誘導条件と、を対応づけたことを特徴とする。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によると、表示画像に対する操作においてユーザにかかる負担を軽減できる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態にかかる画像処理システムの使用環境を示す図である。
【図2】図1の画像処理システムに適用できる入力装置の外観構成を示す図である。
【図3】本実施の形態において使用する画像データの階層構造例を示す図である。
【図4】本実施の形態における情報処理装置の構成を示す図である。
【図5】本実施の形態における画像データの流れを模式的に示す図である。
【図6】本実施の形態において表示対象となる複数の階層データの関係を模式的に示す図である。
【図7】本実施の形態においてリンクが設定されている画像の例を示す図である。
【図8】本実施の形態における制御部の構成を詳細に示す図である。
【図9】本実施の形態において、視点の違いによる、リンク領域と画面の位置関係の変化を説明する図である。
【図10】本実施の形態における誘導範囲と準誘導範囲の関係を模式的に示す図である。
【図11】リンク領域の中心線からの、視点の水平方向の距離に対する誘導力の設定例を示す図である。
【図12】本実施の形態において情報処理装置が行う、リンク領域への画面の誘導およびリンクの実行に係る処理手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
図1は、本発明の実施の形態にかかる情報処理システム1の使用環境を示す。情報処理システム1は、画像処理、動画再生、音声再生、通信などの機能の少なくともいずれかを含むコンテンツを処理する情報処理装置10と、情報処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。表示装置12は、情報処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。
【0014】
情報処理システム1において、情報処理装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続し、階層化された圧縮画像のデータを含むコンテンツのソフトウェアなどをダウンロードして取得してもよい。なお情報処理装置10は、無線通信により外部ネットワークに接続してもよい。なお情報処理装置10は、ゲーム装置やパーソナルコンピュータなどであってもよく、ソフトウェアを各種記録媒体からロードすることで後述する機能を実現してもよい。
【0015】
ユーザが、表示装置12に表示された画像を見ながら、表示領域の拡大/縮小、上下左右方向へのスクロールを要求する入力を入力装置に対して行うと、入力装置はそれに応じて、表示領域の移動および拡大縮小の要求信号を情報処理装置10に送信する。情報処理装置10は当該信号に応じて、表示装置12の画面内の画像を変化させる。このような表示領域の移動および拡大縮小は、表示画像に対するユーザの仮想的な視点の移動とも捉えることができるため、以後、「視点の移動」と総称する。情報処理装置10は、あらかじめ定めた規則に従い、画像中の所定の領域と対応づけられた処理をさらに実行してもよい。例えばユーザが所定の領域をズームアップすると、情報処理装置10は当該領域に対応づけておいた動作を開始する。
【0016】
図2は、入力装置20の外観構成例を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25で構成される。
【0017】
情報処理システム1において、入力装置20の操作手段には、視点の移動、すなわち表示領域の拡大/縮小要求、および上下左右方向へのスクロール要求を入力するための機能が割り当てられる。たとえば、表示領域の拡大/縮小要求の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示領域の縮小要求を入力でき、また手前から押すことで、表示領域の拡大要求を入力できる。また、表示領域のスクロールの入力機能は、十字キー21に割り当てられる。ユーザは十字キー21を押下することで、十字キー21を押下した方向へのスクロール要求を入力できる。なお、視点移動要求の入力機能は別の操作手段に割り当てられてもよく、たとえばアナログスティック27aに、スクロール要求の入力機能が割り当てられてもよい。
【0018】
入力装置20は、入力された視点移動要求信号を情報処理装置10に伝送する機能をもち、本実施の形態では情報処理装置10との間で無線通信可能に構成される。入力装置20と情報処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、情報処理装置10とケーブルを介して接続して、視点移動要求信号を情報処理装置10に伝送してもよい。
【0019】
図3は、本実施の形態において使用する画像データの階層構造例を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有する。なお同図においては4階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
【0020】
図3に示す階層データは4分木の階層構造を有し、各階層は、1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第3階層36の原画像を複数段階に縮小して、第2階層34、第1階層32、第0階層30の画像データが生成される。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0021】
情報処理装置10において、階層データは、所定の圧縮形式で圧縮された状態で記憶装置に保持されており、コンテンツの起動に際し記憶装置から読み出されてデコードされる。本実施の形態の情報処理装置10は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばS3TC形式、JPEG形式、JPEG2000形式の圧縮データをデコード可能とする。階層データにおいて、圧縮処理は、タイル画像単位に行われていてもよく、また同一階層または複数の階層に含まれる複数のタイル画像単位に行われていてもよい。
【0022】
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。情報処理装置10は、入力装置20から供給される視点移動要求信号から表示領域の移動量を導出すると、その移動量を用いて仮想空間におけるフレームの4隅の座標(フレーム座標)を導出する。仮想空間におけるフレーム座標は、表示画像の生成処理に利用される。なお、仮想空間におけるフレーム座標の代わりに、情報処理装置10は、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【0023】
階層データに含まれる各階層の画像データは仮想空間のZ軸に対して離散的に存在する。そのため、画像データがない階層間の縮尺率で画像を表示する場合は、Z軸方向で近傍にある画像データを用いる。例えば、表示画像の縮尺率が第2階層34の近傍にある場合、表示画像は当該第2階層の画像データを用いて作成する。これを実現するためには、各階層の間、例えば中間にソース画像の切り替え境界を設定する。表示画像の縮尺率が当該切り替え境界を越えると、表示画像の生成に用いる画像データを切り替え、当該画像を拡大したり縮小したりして表示する。
【0024】
図4は情報処理装置10の構成を示している。情報処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0025】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ケーブル14を介して外部ネットワークに接続し、階層化された圧縮画像データと、当該画像を用いて様々な機能を実現するための設定ファイルとを含むコンテンツファイルを受信してもよい。コンテンツファイルには、様々な機能を実行するために必要なデータ、例えば圧縮符号化された動画データ、音楽データ、ウェブサイトの名前とURL(Uniform Resource Locator)との対応づけデータなどがさらに含まれていてもよい。
【0026】
またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された視点移動要求信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0027】
ハードディスクドライブ50は、データを記憶する記憶装置として機能する。スイッチ42を介して受信された各種データは、ハードディスクドライブ50に格納される。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読み出し専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよい。コンテンツファイルはこれらの記録媒体に格納されていてもよい。
【0028】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。
【0029】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。
【0030】
メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施の形態の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた処理結果を出力する。
【0031】
本実施の形態の情報処理装置10は、視点の移動に伴い表示画像を円滑に変更するために、あらかじめ圧縮画像データの少なくとも一部をハードディスクドライブ50からメインメモリ60にロードしておく。また、ユーザからの視点移動要求をもとに、将来表示させる領域を予測し、メインメモリ60にロードした圧縮画像データのさらに一部をデコードしてバッファメモリ70に格納してもよい。これにより、後の必要なタイミングで、表示画像の生成に使用する画像を瞬時に切り替えることが可能となる。
【0032】
図5は本実施の形態における画像データの流れを模式的に示している。まずコンテンツファイルに含まれる階層データはハードディスクドライブ50に格納されている。ハードディスクドライブ50に代わり、記録媒体装着部52やディスクドライブ54に装着された記録媒体が保持していてもよい。あるいは、情報処理装置10がネットワークを介して接続した画像サーバから階層データをダウンロードするようにしてもよい。ここでの階層データは上述のとおり、S3TC形式などによる固定長圧縮、あるいはJPEG形式などによる可変長圧縮がなされている。
【0033】
この階層データのうち、少なくとも一部の画像データを圧縮した状態のままメインメモリ60にロードする(S10)。ここでロードする領域は、現在の表示画像の仮想空間における近傍や、画像の内容、ユーザの閲覧履歴等に基づいて、高頻度で表示要求がなされると予測される領域など、あらかじめ定めた規則によって決定する。ロードは、視点移動要求がなされたときのみならず、例えば所定の時間間隔で随時行う。これによりロード処理が一時期に集中しないようにする。
【0034】
次に、メインメモリ60に格納されている圧縮画像データのうち、表示に必要な領域の画像、または必要と予測される領域の画像のデータをデコードし、バッファメモリ70に格納する(S12)。バッファメモリ70は、少なくとも2つのバッファ領域72、74を含む。各バッファ領域72、74のサイズは、フレームメモリ76のサイズよりも大きく設定され、入力装置20から視点移動の要求信号が入力された場合に、ある程度の量の移動に対しては、バッファ領域72、74に展開した画像データで表示画像を生成できるようにする。
【0035】
バッファ領域72、74の一方は、表示画像の生成に用いる画像を保持するために利用される表示用バッファであり、他方は、以後、必要と予測される画像を準備するために利用されるデコード用バッファである。図5の例では、バッファ領域72が表示用バッファ、バッファ領域74がデコード用バッファで、表示領域68が表示されているものとする。
【0036】
次に、表示用バッファであるバッファ領域72に格納された画像のうち表示領域68の画像を、フレームメモリ76に描画する(S14)。この間に、新たな領域の画像が必要に応じてデコードされ、バッファ領域74に格納される。格納が完了したタイミングや表示領域68の移動量などに応じて、表示用バッファとデコード用バッファを切り替える(S16)。これにより、表示領域の移動や縮尺率の変更などに対し表示画像をスムーズに切り替えることができる。
【0037】
これまで述べた処理は、ある画像の表示領域の移動、拡大縮小を行うために、図3で示したような一つの階層データによって構成される仮想空間において、ユーザからの視点移動要求に従いフレーム座標を移動させる態様であった。一方、複数の階層データを表示対象として用意し、表示画像が階層データ間を行き来するようにしてもよい。図6はそのような態様において表示対象となる複数の階層データの関係を模式的に示している。
【0038】
図中、2つの三角形は異なる階層データ150および152を示している。それぞれの階層データ150、152は実際には、図3に示すように解像度の異なる複数の画像データが図のZ軸方向に離散的に存在する構成を有する。ユーザが入力装置20によって表示領域の拡大/縮小を要求すると、表示領域、ひいては視点が、図のZ軸方向に移動することになる。一方、表示領域を上下左右に移動させる要求を行うと、図の水平面を移動することになる。このような仮想空間において、2つの階層データ150および152が図のように重なり合った画像データを構築する。
【0039】
そして階層データ150の画像を表示中、ユーザが継続的に拡大要求を行うと、視点が矢印aのように移動し、階層データ152の領域に入る、すなわち階層データ間を移動することになる。異なる階層データの領域に進入すると、表示画像を生成するためのデータが階層データ150から階層データ152へと切り替わる。この処理は、これまで述べた画像表示の処理手順において、メインメモリ60へロードする対象の階層データを変更するのみで実現できる。
【0040】
図6のような複数の階層データからなる画像データを構築するために、階層データ150と階層データ152を切り替えるときの画像の解像度および位置をあらかじめ設定しておく。この設定は図6中、線154で表され、これにより階層データの重なり具合が決定できる。同図の例では、Z軸がz1なる解像度、線154が表す位置において、階層データ150から階層データ152への切り替えが行われる。以後、このような階層データ間の切り替えを「リンク」と呼ぶ。なお切り替えを行う階層データの画像は縮尺率の異なる同一の画像でもよいし、全く異なる画像でもよい。
【0041】
さらに、階層データ152への表示画像の切り替えに代わり、動画再生、音声再生、表示の加工、表示領域の移動、といった処理を行うようにしてもよい。この場合も、線154のように、階層データ150に対しリンク領域を設定しておき、視点が当該領域に到達したらそれに対応づけておいた処理を開始する。
【0042】
このようにすると、ユーザが階層データ150の画像を見ながら、ある領域に視点を近づけていくと、その領域に対応づけた情報が表示されたり、動画再生やアプリケーション起動がなされたりする、といった態様を実現できる。このようなリンク領域を一つの画像データに複数設定すれば、複数の処理の中から選択して動作させるメニュー画面を構築することができる。このように、視点の移動により開始する処理を「埋め込みオブジェクト」と呼ぶ。そして画像データと埋め込みオブジェクトとの関連づけもまた、「リンク」と呼ぶ。
【0043】
図7はリンクが設定されている画像の例を示している。表示画像350にはリンク領域352a、352b、352cなど複数のリンク領域が設定されている。例えばユーザが、表示画像350を初期画像としてリンク領域352aへズームインしていくと、当該リンク領域352aが画面全体に表示された時点で、対応する処理、すなわち画像生成に用いる階層データを切り替えたり埋め込みオブジェクトを実行したりする。このためには、図3に示した仮想空間における、リンク領域352aが画面全体に表示されるときのフレーム座標と、当該リンクによって実行する処理の識別情報および、動画データやプログラムなど処理に必要なデータの識別情報やアドレスなどを対応づけた設定ファイルを、階層データに対応づけて作成しておく。
【0044】
このようにリンク領域への視点の移動をきっかけとして画像の切り替えや埋め込みオブジェクトの実行などを行う態様は、単にポインティングデバイスの操作によって選択肢リストから選択する場合と比べ、元の画像からの連続性を感じることができ、デザイン性に優れたコンテンツを様々な形で実現できる。このように特定の領域をズームアップしていく必要があるとき、ユーザは、入力装置を用いて水平方向に位置合わせをしながら拡大操作を行うことになるが、このような操作はできるだけ簡略化できることが望ましい。
【0045】
図7の例ではリンク領域352a、352b、352cなどは整列して離れて配置されているためリンク領域の範囲を認識しやすいが、一枚の絵や写真など全体として連続している画像にリンク領域を設定することも考えられる。このような場合、リンク領域の範囲がわかりづらいため、画面とリンク領域との位置合わせにさらに手間がかかることになる。そこで本実施の形態では、ある視点の範囲では、ユーザが拡大操作をしているときに水平方向に微調整を加えて画面をリンク領域へ誘導することにより、ユーザの入力を支援する。なお誘導先の領域はリンク領域でなくてもよく、コンテンツ作成者が意図的に視点を誘導したい領域などでもよいが、以下の説明ではリンク領域を例にとる。
【0046】
図8は制御部100の構成を詳細に示している。制御部100は入力装置20からユーザが入力した情報を取得する入力情報取得部102、表示対象の階層データをハードディスクドライブ50からロードするロード部103、入力に応じて表示領域を決定する表示領域決定部104、圧縮画像データをデコードするデコード部106、表示画像を描画する表示画像処理部114を含む。制御部100はさらに、画面がリンク領域に誘導されるように表示領域決定部104が決定する表示領域を修正する誘導制御部116と、リンク領域に対し設定された処理を実行するリンク実行部を含む。
【0047】
図8において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0048】
ハードディスクドライブ50には、階層データと上述の設定ファイルを含むコンテンツファイルを格納しておく。リンクを設定した複数の階層データからなる画像データを表示する場合は、複数の階層データとそれぞれに対応する設定ファイルを格納する。コンテンツファイルにはさらに、動画データやアプリケーションプログラムなど埋め込みオブジェクトの処理に必要なデータを必要に応じて含めてよい。
【0049】
入力情報取得部102は、入力装置20のユーザによる操作に従い、コンテンツの起動/終了、視点の移動などの要求に係る情報を入力装置20より取得し、当該情報をロード部103、表示領域決定部104、誘導制御部116に通知する。ロード部103は、入力情報取得部102からコンテンツの起動要求がなされたことを通知されたら、コンテンツの初期画像の階層データおよびその設定ファイルをハードディスクドライブ50から読み出し、メインメモリ60に格納する。ロード部103はさらに、視点の移動先の階層データや埋め込みオブジェクトの実行に必要なデータなどを、必要に応じてハードディスクドライブ50から読み出し、メインメモリ60に格納する。
【0050】
表示領域決定部104は、入力情報取得部102から視点の移動要求がなされたことを通知されたら、視点の移動量を階層データの仮想空間における座標に変換し、表示すべき移動先のフレーム座標を決定する。誘導制御部116は、設定ファイルに設定されたリンク領域に対して所定の範囲に視点がある間は、画面を当該リンク領域に誘導するように、表示領域決定部104が決定したフレーム座標を修正する。この誘導は、入力装置20に対してユーザが視点の移動要求を行っている期間中、当該要求に対する微調整として実施する。詳細は後に述べる。
【0051】
デコード部106は、メインメモリ60から圧縮画像データの一部を読み出しデコードし、バッファメモリ70にデコード後のデータを格納する。デコード部106がデコードするデータは、表示領域を含む所定サイズの画像データでよい。あらかじめ広範囲の画像データをデコードし、バッファメモリ70に格納しておくことにより、メインメモリ60からの読み出し回数を削減でき、円滑な視点移動を実現できる。表示画像処理部114は、表示領域決定部104が決定した、表示すべき領域のフレーム座標を取得し、バッファメモリ70から対応する画像データを読み出し、表示処理部44のフレームメモリ76に描画する。
【0052】
リンク実行部118は、メインメモリ60に格納した、表示中の階層データに対応づけられた設定ファイルを参照し、移動先の視点がリンクの条件を満たしている場合に、リンク領域に対して設定された処理を実行する。ここで「リンクの条件」とは、上述のとおり画面全体にリンク領域が表示されるときの視点でもよいし、リンク領域の所定の割合が画面内に入っているときの視点の範囲などでもよい。さらに拡大率などにしきい値を設けてもよい。このような条件は、リンク領域の配置などに鑑み、コンテンツ作成者などがあらかじめ設定する。
【0053】
埋め込みオブジェクトを実行するためのプログラムやデータがメインメモリ60に格納されていなければ、リンク実行部118はロード部103に、当該プログラムやデータの識別情報とともに、ハードディスクドライブ50からメインメモリ60へのロード要求を発行する。
【0054】
別の階層データへ表示を切り替える場合も、必要に応じてロード部103に対しロード要求を発行する。さらにリンク実行部118は表示領域決定部104に対して、階層データの切り替え要求を発行する。これに応じて表示領域決定部104は、フレーム座標を切り替え後の階層データのものに変換し、当該階層データの識別情報とともにデコード部106に通知する。デコード部106はそれに応じて、リンク先の階層データをデコード処理対象とする。
【0055】
次に、誘導制御部116が画面をリンク領域に誘導する機構について説明する。上述のように本実施の形態では、画像内にリンク領域を設け、その領域に画面を合わせることによって様々な処理を実現する。このような態様においてユーザは多くの場合、入力装置20のアナログスティック27bのような拡大縮小キーによる画像のズームアップと、十字キー21のような方向指示キーによる水平方向の位置合わせとを繰り返しながら、目標とする領域をズームアップしていく。
【0056】
このような操作中、画像がある程度拡大された段階で画面内の多くの面積を一つのリンク領域が占めている場合などは、多少位置がずれていたとしても、ユーザが当該リンク領域を目標としていることが予測できる。この性質を利用し、画面内におけるリンク領域の見え方によって、ユーザがどのリンク領域を目標としているかを予測する。そして画像の拡大操作と連動するように、水平方向に微調整をかけて画面を当該リンク領域へ誘導する。
【0057】
具体的には、誘導条件として、表示画像の拡大率およびリンク領域が画面からはみ出している割合にそれぞれしきい値を設定する。リンク領域が画面からはみ出している割合とは、リンク領域が画面からはみ出している方向におけるリンク領域の幅に対する、はみ出している長さの割合である。縦横2方向にはみ出している場合は当該割合の大きい方とする。そして拡大率がしきい値を超え、かつあるリンク領域が画面からはみ出している割合がしきい値より小さい場合、ユーザがそのリンク領域を目標としていると予測する。
【0058】
そのような予測ができる状態においてユーザが拡大縮小キーによって画像を拡大する操作を行ったら、それに応じて表示画像の拡大率を増加させると同時に、目標としていると予測したリンク領域へ近づくように、水平方向に表示領域を移動していく。なお誘導条件を満たしているか否かの監視は、ユーザが視点移動要求を行っている期間においては常時行う。また誘導条件は、上記の設定ファイルに、リンク領域ごと、あるいは全リンク領域で共通に設定してもよいし、誘導制御部116が階層データによらず保持するパラメータとしてもよい。さらに、ユーザが拡大操作とともに水平方向の移動操作も行っているときは、誘導処理を行わなくてもよい。
【0059】
図9は、視点の違いによる、リンク領域と画面の位置関係の変化を説明する図である。図の縦方向が画像に対する視点の高さを表し、最も下の線が画像平面である。画像平面上、リンク領域352を太線で表している。まず視点360aから画像を見ると、視界を表す三角形からわかるように、リンク領域352ははみ出さずに視界、すなわち画面内に入る。一方、視点360bから画像を見ると、リンク領域352の一部は画面からはみ出す。
【0060】
また、視点が画像平面に近づくほど、画面に対してリンク領域352の大きさが大きくなるため、リンク領域352は画面からはみ出しやすくなる。したがって、例えばリンク領域352が画面からはみ出さないような視点の範囲は、視点範囲362のような形状となる。はみ出す割合に対するしきい値を変化させても、視点範囲の形状は視点範囲362と同様である。すなわち上述のように誘導条件を設定すると、それに合致する視点範囲が視点範囲362のように定まる。
【0061】
また図9において視点363は、リンク領域352がちょうど画面全体に表示される視点、すなわちリンクによる処理を実行するときの視点である。誘導制御部116は、ユーザが画像を拡大している期間において、視点363を目指して視点、ひいては画面の誘導制御を行う。なおリンク領域352は、リンクが設定されている領域、すなわちズームアップしていくと画像が切り替わったり動画が表示されたりする領域と厳密に同じ領域でなくてもよい。例えば当該リンクが設定されている領域とその周囲を含む領域などでもよい。
【0062】
ここで誘導条件を一つ設定すると、当該誘導条件によって定まる視点範囲に対する視点の内外判定によって、誘導する/しないの二者択一の態様が実現される。本実施の形態ではさらに、誘導条件によって定まる視点範囲の周囲に中間的な視点範囲を設けてもよい。以後、前者の視点範囲を「誘導範囲」、後者の視点範囲を「準誘導範囲」とする。準誘導範囲に視点があるときは、誘導範囲に視点があるときより小さい誘導力で誘導を行う。ここで「誘導力」とは、例えばユーザの操作による画像の拡大速度に対する、誘導による画像の水平方向の移動速度の割合である。
【0063】
図10は、誘導範囲と準誘導範囲の関係を模式的に示している。図の表し方は図9と同様であり、最も下にリンク領域352が存在する。また同図上部には、各範囲を上から見た様子も示している。同図において誘導範囲364は図9の視点範囲362に対応し、誘導の目標となる視点が視点368である。このような誘導範囲364の周囲に、準誘導範囲366を設定する。準誘導範囲366は例えば、誘導範囲364と同じ中心線を有し水平面方向に所定の割合だけ広げた領域のうち、誘導範囲364以外の範囲とする。準誘導範囲および各範囲の誘導力は、設定ファイルにリンク領域ごと、あるいは全リンク領域で共通に設定してもよいし、階層データに関わらず誘導制御部116が保持していてもよい。
【0064】
ユーザによる画像の拡大速度が同じであっても、視点が誘導範囲にあるか準誘導範囲にあるかによって、誘導による画面、ひいては視点の水平方向の移動速度が異なる。例えば、準誘導範囲366内の視点372の単位時間あたりの移動量(矢印B)の水平方向成分は、誘導範囲364内の視点370の単位時間あたりの移動量(矢印A)の水平方向成分に比べ小さくなる。
【0065】
また同図の例のように準誘導範囲366にある視点372が矢印Bのように誘導されながら画像平面に近づいていく途中で準誘導範囲366から逸脱した場合は、矢印Cのように誘導対象から除外し、ユーザの操作による画像拡大のみを行う。すなわち各範囲に対する視点の内外判定は、ユーザが拡大操作を行っている期間で常時実行するため、誘導の開始、停止、誘導力の変更を、視点の移動とともにリアルタイムで実行する。
【0066】
準誘導範囲は誘導範囲と比べ、同じ拡大率でリンク領域が画面からはみ出す量が多い視点の範囲と考えることができる。したがってこのように誘導範囲と準誘導範囲を設けることにより、リンク領域が画面に入っている程度に応じて細かく誘導力を調整することがでる。結果として、目標としていないリンク領域に強く誘導されたり、わずかな画面の振れによって誘導されるされないが切り替わったりといった、誘導によってユーザが感じる違和感を少なくすることができる。
【0067】
誘導範囲364、準誘導範囲366のそれぞれにおいて、誘導力は一定でなくてもよい。図11は、リンク領域の中心線からの、視点の水平方向の距離に対する誘導力の設定例を示している。図中、縦軸は誘導力であり、横軸の中心がリンク領域の中心線に対応する。この図では、誘導範囲においては誘導力を一定値aとし、準誘導範囲では中心線からの距離に応じて誘導力が値aから単調減少し、中心線から最も離れた境界において0となる設定がなされている。同様に、誘導範囲においても中心線からの距離に応じて誘導力を変化させてもよい。
【0068】
さらに誘導範囲、準誘導範囲の2つの範囲に分けずに連続的に誘導力が変化するようにしてもよいし、3つ以上の範囲に分けてもよい。いずれの場合も、リンク領域の中心線から視点までの水平方向の距離が短いほど、ユーザが当該リンク領域を目標としている可能性が高いと考えることができるため、その値に応じて誘導力を変化させることにより、自然な動きでユーザの視点移動を支援することができる。
【0069】
誘導範囲を規定する誘導条件として、リンク領域が画面からはみ出す割合にしきい値を設ける代わりに、誘導範囲を直接設定するようにしてもよい。例えば、視点の高さの変化に対する、リンク領域の中心線から視点までの距離の変化の割合を設定することにより、図10の誘導範囲に代わり、断面形状が円形である円錐状の誘導範囲を設定できる。準誘導範囲も同様に設定でき、断面形状は誘導範囲の周囲を形成する中空円形状となる。この場合も、これまでの説明と同様の機構で同様の効果を得ることができる。
【0070】
さらに、誘導範囲または準誘導範囲が、複数のリンク領域で重複する領域をもつ場合、当該領域に入った視点に対する誘導力は、各リンク領域への誘導力を、当該視点から各リンク領域の中心線までの距離によって重み付け平均した値としてもよい。ここで誘導力および中心線までの距離は、ベクトル計算であり、縦方向成分、横方向成分ごとに算出する。このような場合でも、視点が画像に近づく途中で、距離が遠いなど誘導力の弱いリンク領域の誘導範囲や準誘導範囲からはやがて逸脱し、最終的には視点に最も近いリンク領域へと誘導される。
【0071】
次にこれまで述べた構成による情報処理装置10の動作について説明する。図12は情報処理装置10が行う、リンク領域への画面の誘導およびリンクの実行に係る処理手順を示すフローチャートである。まずユーザが情報処理装置10に対してコンテンツの起動要求を行うと、図7に示した表示画像350のような初期画像が表示される(S18)。この状態で、ユーザが入力装置20を用いて視点移動要求を行うと、入力情報取得部102がその情報を取得する(S20)。当該移動要求が、画像平面に視点を近づける要求、すなわち画像の拡大要求であったら(S22のY)、誘導制御部116は、視点が準誘導範囲内にあるか否かを判定する(S24)。
【0072】
視点が準誘導範囲内にある場合(S24のY)、誘導制御部116は、準誘導範囲に対して設定された誘導力に基づき、表示領域決定部104が決定した拡大方向の画面の動きに対し、水平方向の動きを追加することにより画面を誘導する(S26)。このときの誘導力は上述のとおり、視点が誘導範囲内にあるときより弱い。視点が準誘導範囲内になく誘導範囲内にある場合は(S24のN、S28のY)、S26と同様、拡大方向の画面の動きに対し、水平方向の動きを追加して画面を誘導するが、このときの誘導力はS26より強い(S30)。なおS26およびS30の処理は、実際には、デコード部106、表示画像処理部114などにより画像が描画される。以後の表示領域移動処理も同様である。
【0073】
視点が準誘導範囲にも誘導範囲にもない場合は(S24のN、S28のN)、表示領域決定部104が決定した拡大方向の画面の動きをそのまま採用する(S32)。S20で取得した視点移動要求が拡大要求のみでなければ(S22のN)、表示領域決定部104は当該視点移動要求どおりに表示領域を移動させる(S34)。S20〜S34の処理を場合によっては繰り返し行うことにより、視点は徐々に、あるリンク領域に近づいていく。リンク実行部118は、例えば画面全体にリンク領域が表示されるなど、リンクの条件が満たされるまで視点の移動結果を監視し(S36のN)、当該条件が満たされた時点で(S36のY)、当該リンク領域に対して設定された処理を実行する(S38)。
【0074】
以上述べた本実施の形態によれば、表示画像の拡大縮小を含む視点の移動をユーザから受け付けて表示領域を更新する情報処理装置において、画像中の特定の領域と画面に映る領域との位置関係によって、当該領域をズームアップする意図がユーザにあるか否かを判断する。ズームアップする意図があると判断した場合は表示領域の誘導を行う。具体的には、ユーザが画像の拡大要求を行っている場合に、表示領域を拡大するとともに水平方向の移動を追加する。これにより、所望の領域をズームアップする際にユーザに必要とされる操作の一部を省略でき、ユーザの負担が減る。特に、あらかじめ設定された領域に画面を合わせることにより、当該領域に対応づけられた処理を開始するような態様において、ユーザが表示領域を微調整せずとも効率よく当該処理を開始することができる。
【0075】
誘導に際しては、ユーザが画像の拡大要求を行っている期間において、当該拡大要求による拡大速度に対応するように水平方向に調整を行う。すなわち調整幅がユーザの拡大要求のための操作の強さに連動しているため、勝手に視点が移動してしまうといった感覚を与えることなく、自然な動きでの誘導が実現できる。
【0076】
また、誘導を行う条件として視点範囲を2種類以上設定することにより、誘導を段階的に行う。すなわち、特定の領域と画面とのずれが比較的大きい段階では、ユーザが当該特定の領域をズームアップしようとしている可能性がそれほど高くないと判断し、誘導力を小さくしておき、ずれが小さくなったら本格的な誘導を行う。このようにすることで、適切なタイミングで適切な量だけ誘導を行うことができる。
【0077】
さらに、隣り合う複数の領域の間に視点がある場合などは、各領域までの距離に応じて最終的な誘導量を決定する。具体的には、各領域への誘導量を距離によって重み付け平均する。このようにすると、ズームアップすべき領域が近接していても適切な誘導力を求めることができるため、様々なレイアウトの画像に対し本実施の形態を適用することが可能となる。
【0078】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0079】
1 情報処理システム、 10 情報処理装置、 12 表示装置、 20 入力装置、 30 第0階層、 32 第1階層、 34 第2階層、 36 第3階層、 38 タイル画像、 44 表示処理部、 50 ハードディスクドライブ、 60 メインメモリ、 70 バッファメモリ、 76 フレームメモリ、 100 制御部、 102 入力情報取得部、 103 ロード部、 104 表示領域決定部、 106 デコード部、 114 表示画像処理部、 116 誘導制御部、 118 リンク実行部、 364 誘導範囲、 366 準誘導範囲。
【特許請求の範囲】
【請求項1】
ズームアップすべき対象を表す特定領域を含む画像のデータを保持する記憶装置と、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける入力情報取得部と、
前記視点の移動要求に応じて表示する領域を変化させて前記画像のデータから表示画像を生成する表示画像処理部と、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導するように前記表示画像処理部を制御する誘導制御部と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記特定領域のうち、前記画面に映る領域からはみ出す領域の割合が設定値以下であることを前記誘導条件とすることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記視点が、前記特定領域に対し所定の範囲に入ったときに、当該特定領域に対して設定した処理を実行するリンク実行部をさらに備えたことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記誘導条件を一の前記特定領域に対し複数設け、
前記誘導制御部は、ユーザの拡大操作による拡大速度に対する、前記水平方向の動きの速度を、前記視点がどの誘導条件を満たすかによって異ならせることを特徴とする請求項1から3のいずれかに記載の情報処理装置。
【請求項5】
前記誘導制御部は、特定領域の中心線からの前記視点の距離に応じて、ユーザの拡大操作による拡大速度に対する、前記水平方向の動きの速度を変化させることを特徴とする請求項1から4のいずれかに記載の情報処理装置。
【請求項6】
前記視点が、複数の前記特定領域に対する前記誘導条件を同時に満たすとき、前記誘導制御部は、ユーザの拡大操作による拡大速度に対する、各特定領域方向への誘導のために加えるべき前記水平方向の動きの速度を、各特定領域の中心線からの前記視点の距離に基づき重み付け平均した動きの速度で、前記視点に水平方向の動きを加えることを特徴とする請求項1から5のいずれかに記載の情報処理装置。
【請求項7】
ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力するステップと、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付けるステップと、
前記視点の移動要求に応じて前記表示装置に表示する領域を変化させるステップと、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導するステップと、
を含むことを特徴とする情報処理方法。
【請求項8】
ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力する機能と、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける機能と、
前記視点の移動要求に応じて前記表示装置に表示する領域を変化させる機能と、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項9】
ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力する機能と、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける機能と、
前記視点の移動要求に応じて前記表示装置に表示する領域を変化させる機能と、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項10】
画像のデータと、
前記画像のうちズームアップすべき対象を表す特定領域のデータと、
ユーザが画像の拡大操作を行っているときに、画面に映る領域を前記特定領域の方向へ誘導するために、画像平面および画像平面からの距離によって定義される仮想空間における視点に水平方向の動きを加える条件であって、前記特定領域と前記画面に映る領域との位置関係に対して設定した誘導条件と、
を対応づけたことを特徴とするコンテンツのデータ構造。
【請求項11】
請求項10に記載のコンテンツのデータ構造を記録した記録媒体。
【請求項1】
ズームアップすべき対象を表す特定領域を含む画像のデータを保持する記憶装置と、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける入力情報取得部と、
前記視点の移動要求に応じて表示する領域を変化させて前記画像のデータから表示画像を生成する表示画像処理部と、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導するように前記表示画像処理部を制御する誘導制御部と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記特定領域のうち、前記画面に映る領域からはみ出す領域の割合が設定値以下であることを前記誘導条件とすることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記視点が、前記特定領域に対し所定の範囲に入ったときに、当該特定領域に対して設定した処理を実行するリンク実行部をさらに備えたことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記誘導条件を一の前記特定領域に対し複数設け、
前記誘導制御部は、ユーザの拡大操作による拡大速度に対する、前記水平方向の動きの速度を、前記視点がどの誘導条件を満たすかによって異ならせることを特徴とする請求項1から3のいずれかに記載の情報処理装置。
【請求項5】
前記誘導制御部は、特定領域の中心線からの前記視点の距離に応じて、ユーザの拡大操作による拡大速度に対する、前記水平方向の動きの速度を変化させることを特徴とする請求項1から4のいずれかに記載の情報処理装置。
【請求項6】
前記視点が、複数の前記特定領域に対する前記誘導条件を同時に満たすとき、前記誘導制御部は、ユーザの拡大操作による拡大速度に対する、各特定領域方向への誘導のために加えるべき前記水平方向の動きの速度を、各特定領域の中心線からの前記視点の距離に基づき重み付け平均した動きの速度で、前記視点に水平方向の動きを加えることを特徴とする請求項1から5のいずれかに記載の情報処理装置。
【請求項7】
ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力するステップと、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付けるステップと、
前記視点の移動要求に応じて前記表示装置に表示する領域を変化させるステップと、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導するステップと、
を含むことを特徴とする情報処理方法。
【請求項8】
ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力する機能と、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける機能と、
前記視点の移動要求に応じて前記表示装置に表示する領域を変化させる機能と、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項9】
ズームアップすべき対象を表す特定領域を含む画像のデータをメモリより読み出し表示装置に出力する機能と、
画像平面および画像平面からの距離によって定義される仮想空間における視点の移動要求をユーザから受け付ける機能と、
前記視点の移動要求に応じて前記表示装置に表示する領域を変化させる機能と、
ユーザが画像の拡大操作を行っているときに、前記視点が、前記特定領域と、前記視点によって定まる画面に映る領域との位置関係に対して設定した誘導条件を満たすときは、前記視点に水平方向の動きを加えることにより、画面に映る領域を前記特定領域の方向へ誘導する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した記録媒体。
【請求項10】
画像のデータと、
前記画像のうちズームアップすべき対象を表す特定領域のデータと、
ユーザが画像の拡大操作を行っているときに、画面に映る領域を前記特定領域の方向へ誘導するために、画像平面および画像平面からの距離によって定義される仮想空間における視点に水平方向の動きを加える条件であって、前記特定領域と前記画面に映る領域との位置関係に対して設定した誘導条件と、
を対応づけたことを特徴とするコンテンツのデータ構造。
【請求項11】
請求項10に記載のコンテンツのデータ構造を記録した記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−230734(P2010−230734A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−75267(P2009−75267)
【出願日】平成21年3月25日(2009.3.25)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願日】平成21年3月25日(2009.3.25)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]