(57)【特許請求の範囲】
【請求項１】
コントローラに備えられ、該コントローラの姿勢情報を出力する姿勢情報出力手段と、
前記出力された姿勢情報に応じて、複数の表示要素が配置された仮想空間における視点位置を移動させる視点位置移動手段と、
前記仮想空間を前記視点位置から見た様子を示す空間画像を表示手段に表示させる空間画像表示手段と、
前記コントローラに対する操作に応じて、前記表示手段に表示されている前記複数の表示要素から１又は複数を選択表示要素として選択する表示要素選択手段と、
前記選択表示要素の前記仮想空間における位置に応じて決まる範囲に、前記視点位置の前記仮想空間における移動範囲を制限する移動範囲制限手段と、
を含むことを特徴とする画像表示装置。
【請求項２】
請求項１に記載の画像表示装置において、
前記姿勢情報出力手段は、前記コントローラに予め定められた基準方向の、水平面に対する傾きを検知し、当該傾きの情報を出力する加速度センサである
ことを特徴とする画像表示装置。
【請求項３】
請求項１又は２に記載の画像表示装置において、
前記移動範囲制限手段は、前記仮想空間における前記選択表示要素の位置から所定の距離以下の範囲に、前記視点位置の移動範囲を制限する
ことを特徴とする画像表示装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の画像表示装置において、
前記複数の表示要素は、当該各表示要素の特徴情報に応じて、前記仮想空間に配置される
ことを特徴とする画像表示装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の画像表示装置において、
前記コントローラは、方向を示す情報を出力する操作部材を備え、
前記画像表示装置は、前記操作部材に対する操作に応じて、前記空間画像内に配置されたポインタ画像を移動させるポインタ移動手段をさらに含み、
前記表示要素選択手段は、前記ポインタ画像の前記空間画像内の位置に基づいて、前記選択表示要素を選択する
ことを特徴とする画像表示装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の画像表示装置において、
前記移動範囲制限手段は、前記選択表示要素が前記空間画像内に含まれるように、前記視点位置の前記移動範囲を制限する
ことを特徴とする画像表示装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の画像表示装置において、
前記複数の表示要素は、互いに関連する表示要素ほど近い位置に配置されるように、前記仮想空間に配置される
ことを特徴とする画像表示装置。
【請求項８】
コントローラに備えられ、該コントローラの姿勢情報を出力する姿勢情報出力手段を含む画像表示装置の制御方法であって、
前記出力された姿勢情報に応じて、複数の表示要素が配置された仮想空間における視点位置を移動させるステップと、
前記仮想空間を前記視点位置から見た様子を示す空間画像を表示手段に表示させるステップと、
前記コントローラに対する操作に応じて、前記表示手段に表示されている前記複数の表示要素から１又は複数を選択表示要素として選択するステップと、
前記選択表示要素の前記仮想空間における位置に応じて決まる範囲に、前記視点位置の前記仮想空間における移動範囲を制限するステップと、
を含むことを特徴とする画像表示装置の制御方法。
【請求項９】
コントローラに備えられ、該コントローラの姿勢情報を出力する姿勢情報出力手段を含む画像表示装置としてコンピュータを機能させるプログラムであって、
前記出力された姿勢情報に応じて、複数の表示要素が配置された仮想空間における視点位置を移動させる視点位置移動手段、
前記仮想空間を前記視点位置から見た様子を示す空間画像を表示手段に表示させる空間画像表示手段、
前記コントローラに対する操作に応じて、前記表示手段に表示されている前記複数の表示要素から１又は複数を選択表示要素として選択する表示要素選択手段、及び
前記選択表示要素の前記仮想空間における位置に応じて決まる範囲に、前記視点位置の前記仮想空間における移動範囲を制限する移動範囲制限手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばコンテンツやサービスなどを示す表示要素を表示する画像表示装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ上の仮想空間に複数の表示要素をそれらの関連性に従って配置して、ユーザの操作に従って仮想空間を移動する視点から、視線方向を見た様子をモニタに表示する技術が知られている（例えば、特許文献１参照）。こうした技術によれば、ユーザは視点を移動させ、モニタの表示を更新させていくことで、所望の表示要素を見つけ出すことができる。
【特許文献１】特開２００４−３０１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来例の技術においては、例えば仮想空間に膨大な数の表示要素が配置された場合、モニタにも多数の表示要素が表示され、ユーザは所望の表示要素を見つけるのが困難となる。
【０００４】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、ユーザが所望の表示要素を見つけやすくすることのできる画像表示装置、その制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明に係る画像表示装置は、コントローラに備えられ、該コントローラの姿勢情報を出力する姿勢情報出力手段と、前記出力された姿勢情報に応じて、複数の表示要素が配置された仮想空間における視点位置を移動させる視点位置移動手段と、前記仮想空間を前記視点位置から見た様子を示す空間画像を表示手段に表示させる空間画像表示手段と、前記コントローラに対する操作に応じて、前記表示手段に表示されている前記複数の表示要素から１又は複数を選択表示要素として選択する表示要素選択手段と、前記選択表示要素の前記仮想空間における位置に応じて、前記視点位置の前記仮想空間における移動範囲を制限する移動範囲制限手段と、を含むことを特徴とする。
【０００６】
また、上記画像表示装置において、前記姿勢情報出力手段は、前記コントローラに予め定められた基準方向の、水平面に対する傾きを検知し、当該傾きの情報を出力する加速度センサであることとしてもよい。
【０００７】
また、上記画像表示装置において、前記移動範囲制限手段は、前記仮想空間における前記選択表示要素の位置から所定の距離以下の範囲に、前記視点位置の移動範囲を制限することとしてもよい。
【０００８】
また、上記画像表示装置において、前記複数の表示要素は、当該各表示要素の特徴情報に応じて、前記仮想空間に配置されることとしてもよい。
【０００９】
また、上記画像表示装置において、前記コントローラは、方向を示す情報を出力する操作部材を備え、前記画像表示装置は、前記操作部材に対する操作に応じて、前記空間画像内に配置されたポインタ画像を移動させるポインタ移動手段をさらに含み、前記表示要素選択手段は、前記ポインタ画像の前記空間画像内の位置に基づいて、前記選択表示要素を選択することとしてもよい。
【００１０】
また、本発明に係る画像表示装置の制御方法は、コントローラに備えられ、該コントローラの姿勢情報を出力する姿勢情報出力手段を含む画像表示装置の制御方法であって、前記出力された姿勢情報に応じて、複数の表示要素が配置された仮想空間における視点位置を移動させるステップと、前記仮想空間を前記視点位置から見た様子を示す空間画像を表示手段に表示させるステップと、前記コントローラに対する操作に応じて、前記表示手段に表示されている前記複数の表示要素から１又は複数を選択表示要素として選択するステップと、前記選択表示要素の前記仮想空間における位置に応じて、前記視点位置の前記仮想空間における移動範囲を制限するステップと、を含むことを特徴とする。
【００１１】
また、本発明に係るプログラムは、コントローラに備えられ、該コントローラの姿勢情報を出力する姿勢情報出力手段を含む画像表示装置としてコンピュータを機能させるプログラムであって、前記出力された姿勢情報に応じて、複数の表示要素が配置された仮想空間における視点位置を移動させる視点位置移動手段、前記仮想空間を前記視点位置から見た様子を示す空間画像を表示手段に表示させる空間画像表示手段、前記コントローラに対する操作に応じて、前記表示手段に表示されている前記複数の表示要素から１又は複数を選択表示要素として選択する表示要素選択手段、及び前記選択表示要素の前記仮想空間における位置に応じて、前記視点位置の前記仮想空間における移動範囲を制限する移動範囲制限手段、として前記コンピュータを機能させることを特徴とする。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００１３】
図１は、本実施形態に係るエンタテインメントシステム（画像表示装置）のハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム１０は、ＭＰＵ（Micro Processing Unit）１１と、メインメモリ２０と、画像処理部２４と、モニタ２６と、入出力処理部２８と、音声処理部３０と、スピーカ３２と、光ディスク読み取り部３４と、光ディスク３６と、ハードディスク３８と、インタフェース（Ｉ／Ｆ）４０，４４と、コントローラ４２と、カメラユニット４６と、ネットワークインタフェース４８と、を含んで構成されるコンピュータシステムである。
【００１４】
図２は、ＭＰＵ１１の構成を示す図である。同図に示すように、ＭＰＵ１１は、メインプロセッサ１２と、サブプロセッサ１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，１４ｈと、バス１６と、メモリコントローラ１８と、インタフェース（Ｉ／Ｆ）２２と、を含んで構成される。
【００１５】
メインプロセッサ１２は、図示しないＲＯＭ（Read Only Memory）に記憶されるオペレーティングシステム、例えばＤＶＤ（Digital Versatile Disk）−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ１４ａ乃至１４ｈに対する制御を行ったりする。
【００１６】
サブプロセッサ１４ａ乃至１４ｈは、メインプロセッサ１２からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム１０の各部を、例えばＤＶＤ−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
【００１７】
バス１６は、アドレス及びデータをエンタテインメントシステム１０の各部でやり取りするためのものである。メインプロセッサ１２、サブプロセッサ１４ａ乃至１４ｈ、メモリコントローラ１８、インタフェース２２は、バス１６を介して相互にデータ授受可能に接続される。
【００１８】
メモリコントローラ１８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、メインメモリ２０へのアクセスを行う。メインメモリ２０には、光ディスク３６やハードディスク３８から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ２０はメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈの作業用としても用いられる。
【００１９】
インタフェース２２には画像処理部２４及び入出力処理部２８が接続される。メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、画像処理部２４又は入出力処理部２８と、の間のデータ授受はインタフェース２２を介して行われる。
【００２０】
画像処理部２４は、ＧＰＵ（Graphical Processing Unit）とフレームバッファとを含んで構成される。ＧＰＵは、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ２６に出力される。モニタ２６は例えば家庭用テレビ受像機などであって、本発明における表示手段に相当する。
【００２１】
入出力処理部２８には、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０,４４が接続される。入出力処理部２８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０,４４、ネットワークインタフェース４８と、の間のデータ授受を制御する。
【００２２】
音声処理部３０は、ＳＰＵ（Sound Processing Unit）とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク３６やハードディスク３８から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。ＳＰＵは、これらの各種音声データを再生してスピーカ３２から出力させる。なお、スピーカ３２には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
【００２３】
光ディスク読み取り部３４は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、光ディスク３６に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム１０は、光ディスク３６以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成してもよい。
【００２４】
光ディスク３６は例えばＤＶＤ−ＲＯＭ等の一般的な光ディスク（コンピュータ読み取り可能な情報記憶媒体）である。また、ハードディスク３８は一般的なハードディスク装置である。光ディスク３６やハードディスク３８には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
【００２５】
インタフェース（Ｉ／Ｆ）４０，４４は、コントローラ４２やカメラユニット４６等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばＵＳＢ（Universal Serial Bus）インタフェースが用いられる。
【００２６】
コントローラ４２は汎用操作入力手段であり、ユーザが各種操作（例えばゲーム操作）を入力するために用いられる。入出力処理部２８は、所定時間（例えば１／６０秒）ごとにコントローラ４２の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈに供給する。メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム１０は複数のコントローラ４２を接続可能に構成されており、各コントローラ４２から入力される操作信号に基づいて、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈが各種処理を実行するようになっている。
【００２７】
コントローラ４２は、例えば図３の斜視図に示すような外観をなし、把持部５０Ｒ，５０Ｌを有している。ユーザは、把持部５０Ｒを右手で、把持部５０Ｌを左手でそれぞれ把持することになる。ユーザが把持部５０を把持した状態で、各親指にて操作可能な位置には、第１，第２の操作部５１，５２と、アナログ操作部５３Ｒ，５３Ｌとがそれぞれ設けられている。
【００２８】
ここで第１の操作部５１には、方向に関連づけられた操作部材である、上方向指示キー５１ａ、下方向指示キー５１ｂ、右方向指示キー５１ｃ及び左方向指示キー５１ｄが設けられている。ユーザはこれらの方向指示キー５１ａ、５１ｂ、５１ｃ及び５１ｄを利用して、例えば画面上の操作対象を特定する。また、第２の操作部５２には、三角（「△」）形状の刻印が設けられた三角ボタン５２ａと、Ｘ字（「×」）状の刻印が設けられたＸボタン５２ｂと、Ｏ字（「○」）状の刻印が設けられたＯボタン５２ｃと、矩形（「□」）形状の刻印が設けられた矩形ボタン５２ｄとが設けられている。これらのボタン５２ａ，５２ｂ，５２ｃ及び５２ｄは、例えば、方向指示キー５１ａ，５１ｂ，５１ｃ及び５１ｄにて特定された操作対象に応じて、それぞれ操作内容が割り当てられる。これによりユーザは、適切なボタン５２ａ，５２ｂ，５２ｃ及び５２ｄを選択し押下することで指示キー５１ａ，５１ｂ，５１ｃ及び５１ｄにて特定された操作対象に対する操作を行うことができることになる。
【００２９】
アナログ操作部５３Ｒ，５３Ｌは、傾倒操作が可能となっており、また、傾倒させた状態で、この回転操作が可能となっている。このアナログ操作部５３Ｒ，５３Ｌは、非傾倒操作時には、起立した状態（傾きのない状態）でそのポジションが保持されるようになっている（基準ポジション）。そして、アナログ操作部５３Ｒ或いはアナログ操作部５３Ｌを押圧操作しながら傾倒操作すると、上記基準ポジションに対する傾き量と傾き方向に応じたｘｙ座標上の座標値（ｘ,ｙ）が検出され、この座標値が操作出力として出力される。
【００３０】
また、このコントローラ４２は、プログラム実行開始の指示などを行うためのスタートボタンや、各種モードを切替える指示などを行うためのセレクトボタン等、他の操作部材を有することとしてもよい。
【００３１】
また本実施の形態においては、コントローラ４２は、当該コントローラ４２そのものの姿勢情報を出力する姿勢情報出力部４３を備えている。これにより、ユーザが例えばコントローラ４２を把持してその姿勢を変えることで、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは当該姿勢の変化に応じた処理を実行することができる。
【００３２】
姿勢情報出力部４３は、３軸加速度センサ４３ａ及びジャイロセンサ４３ｂを含んで構成されている。これらのセンサが出力するコントローラ４２の姿勢情報について、以下説明する。図３に示されるように、３軸加速度センサ４３ａは、コントローラ４２内に固定されており、互いに直交するｘ軸、ｙ軸、及びｚ軸の３つの基準軸が設定されている。ここで、ｘ軸はコントローラ４２の長手方向、ｙ軸はコントローラ４２の奥行方向、ｚ軸はコントローラ４２の厚み方向にそれぞれ対応している。そして、当該各基準軸に対する加速度を検知し、検知した加速度に応じた電圧値を出力する。
【００３３】
図４は、３軸加速度センサ４３ａが検知するいずれかの軸に対する加速度と、検知した加速度に応じて出力する電圧値と、の対応関係を模式的に示すグラフである。図４に示すように、３軸加速度センサ４３ａは加速度に略比例する電圧値を出力し、加速度を検知しない状態では基準電圧Ｖｏを出力する。出力される電圧値の基準電圧Ｖｏに対する高低により、各軸の正負いずれの方向に加速度が生じているかを検知することができる。なお、図において１Ｇは、重力加速度に相当する加速度を示している。
【００３４】
この３軸加速度センサ４３ａの出力のうち、ｘ軸及びｚ軸の加速度が、コントローラ４２のｙ軸を中心とした回転の角度θｙを表す。例えばコントローラ４２が図５（ａ）に示すように水平面に対して長手方向にθy1度傾いた姿勢となっている場合、ｘ軸の加速度はＧsinθy1となる。また、図５（ｂ）に示すようにコントローラ４２が図５（ａ）とは逆向きにθy2度傾いている場合、ｘ軸の加速度は−Ｇsinθy2となる。このようにｘ軸の加速度が、コントローラ４２の水平面に対する傾きを表す。さらに、ｙ軸を中心としてコントローラ４２を９０度以上回転させ、上下逆の状態にした場合には、ｚ軸の加速度の正負が反転するため、ｘ軸とｚ軸の加速度に基づいてこのような状態を識別することができる。
【００３５】
同様に、３軸加速度センサ４３ａが出力するｙ軸及びｚ軸の加速度が、コントローラ４２のｘ軸を中心とした回転の角度θｘを表す。例えばコントローラ４２が図６（ａ）に示すように水平面に対して奥行方向にθx1度傾いた姿勢となっている場合、ｙ軸の加速度はＧsinθx1となる。また、図６（ｂ）に示すように図６（ａ）とは逆向きにθx2度傾いている場合、ｙ軸の加速度は−Ｇsinθx2となる。また、ｘ軸を中心としてコントローラ４２を９０度以上回転させた場合にも、θｙの場合と同様にｚ軸の加速度の正負とｙ軸の加速度とに基づいて、このような状態を識別できる。
【００３６】
また、３軸加速度センサ４３ａの出力を十分短い間隔でサンプリングすることによって、エンタテインメントシステム１０は急激に大きな加速度がコントローラ４２にかかったことを検知することができる。例えば一時的に１Ｇを超える加速度がコントローラ４２にかかった場合には、ユーザがなんらかの力をコントローラ４２に対して加えたと考えられる。これにより、例えばユーザがコントローラ４２を叩いたり振ったりした場合に、エンタテインメントシステム１０は、３軸加速度センサ４３ａの出力を用いてこのようなユーザの動作を検知することができる。
【００３７】
具体的には、例えばエンタテインメントシステム１０は、事前にユーザにコントローラ４２を叩く動作を実行させ、その際に３軸加速度センサ４３ａが検知した加速度の情報を取得する。そして、当該取得した加速度の情報に応じて設定された閾値以上の加速度を検知した場合には、ユーザによりコントローラ４２を叩く動作があったと判定する。また、ユーザがコントローラ４２を叩く向きによって、３軸加速度センサ４３ａの各軸で検出される加速度は異なる。そのため、３軸加速度センサ４３ａが出力する各軸の加速度によって、ユーザがコントローラ４２をどの向きから叩いたかを識別することができる。そこでエンタテインメントシステム１０は、ユーザがコントローラ４２を叩く向きや強さによって、予め定められた異なる処理を実行することとしてもよい。また、このようなユーザの動作と、コントローラ４２の傾き、コントローラ４２の備えるボタン等の操作部材に対するユーザの操作の組み合わせによって、実行する処理を決定することとしてもよい。これにより、ユーザはコントローラ４２を用いて多様な処理をエンタテインメントシステム１０に実行させることができる。
【００３８】
ジャイロセンサ４３ｂは、コントローラ４２のｚ軸を中心とした回転の角速度を検知し、当該角速度の情報を出力する。このジャイロセンサ４３ｂの出力を、一定時間ごとでサンプリングし、積分する演算を行うことで、エンタテインメントシステム１０はコントローラ４２のｚ軸に対する回転の変位量を取得できる。
【００３９】
カメラユニット４６は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間（例えば１／６０秒）ごとに入力する。本実施の形態におけるカメラユニット４６は、撮影画像をＪＰＥＧ（Joint Photographic Experts Group）形式の画像データとして入力するようになっている。また、カメラユニット４６は、例えばレンズをプレイヤに向けた状態でモニタ２６の上に設置され、ケーブルを介してインタフェース４４に接続される。ネットワークインタフェース４８は入出力処理部２８とネットワーク５０とに接続されており、エンタテインメントシステム１０がネットワーク５０を介して他のエンタテインメントシステム１０とデータ通信するのを中継するようになっている。
【００４０】
以下、以上のハードウェア構成を有するエンタテインメントシステム１０を、複数の表示要素をユーザに提示する画像表示装置として構成する方法について説明する。
【００４１】
図７は、エンタテインメントシステム１０上に構築される仮想空間６０の一例を模式的に示している。同図に示すように、仮想空間６０には複数の表示要素６２が配置されている。各表示要素６２は、画面上に表示されてユーザによる選択対象となる要素を表しており、ここでは一例としてエンタテインメントシステム１０が提供するコンテンツ又はサービスにそれぞれ関連するものとする。また、各表示要素６２は、例えば関連するコンテンツ又はサービスに関するアイコンや動画像などがテクスチャとしてマッピングされた画像オブジェクトである。
【００４２】
ここで、表示要素６２は、各表示要素６２の特徴情報に応じて、仮想空間６０内に配置されることとしてもよい。この場合、各表示要素６２の仮想空間６０における位置座標が、各表示要素６２の特徴情報に従って決定される。具体的には、例えば特徴情報に基づいて各表示要素６２の特徴を示す特徴ベクトルを算出し、当該特徴ベクトルに従って表示要素６２の位置座標を決定する。そして、当該決定した位置座標に、各表示要素６２の代表点（例えば画像オブジェクトの原点位置）が一致するように、各表示要素が仮想空間６０内に配置される。
【００４３】
ここで、各表示要素６２の特徴情報は、例えば各表示要素６２に含まれる画像の内容（使用される色情報や、空間周波数の情報、顔認識等の認識結果）に基づいて得られる画像の特徴を示す情報である。また、例えば各表示要素６２がコンテンツやサービスに関連づけられている場合、特徴情報は、当該コンテンツやサービスの属性情報であってもよい。この場合の属性情報は、例えばコンテンツやサービスの種別を示す情報や、当該コンテンツやサービスが対象とするユーザの年齢、性別、居住地、職業等の情報などである。また、属性情報には、エンタテインメントシステム１０を利用するユーザが当該コンテンツやサービスを過去どの程度利用したかなどを示す履歴情報が含まれてもよい。これにより、仮想空間６０において、互いに関連する表示要素６２ほど、近い位置に配置されるように各表示要素６２の位置を決定できる。これにより、ユーザは仮想空間６０における各表示要素６２の位置関係を頼りに、所望のコンテンツやサービスに係る表示要素６２を探し出すことができる。
【００４４】
また、仮想空間６０には視点６４も配置されており、この視点６４には視線方向６６が設定されている。視点６４はコントローラ４２の姿勢を変化させるユーザの操作に従って、仮想空間６０内を移動できるようになっている。一例として、ユーザがコントローラ４２の把持部５０を把持した状態で、左手を上げて右手を下げると、この動作によって３軸加速度センサ４３ａはｘ軸に正方向の加速度がかかっていることを示す姿勢情報を出力する。この姿勢情報に応じて、視点６４は仮想空間６０内において視線方向６６に向かって右方向に移動する。逆にユーザが右手を上げて左手を下げると、視点６４は視線方向６６に向かって左方向に移動する。また、ユーザがコントローラ４２を前方に向けて倒すと、この動作によって３軸加速度センサ４３ａはｙ軸に正方向の加速度がかかっていることを示す姿勢情報を出力する。この姿勢情報に応じて、視点６４は仮想空間６０内において視線方向６６の方向に移動する。逆にユーザがコントローラ４２を手前に向けると、視点６４は視線方向６６の逆方向（画面手前方向）に移動する。さらにこの場合において、視点６４の移動量又は移動速度は、コントローラ４２の水平面に対する傾き度合いに応じて変化することとしてもよい。
【００４５】
さらに、視線方向６６もコントローラ４２による操作（例えばアナログ操作部５３に対する操作）に従って、任意の方向に変化することとしてもよい。また、各画像オブジェクト６２の姿勢は、視点６４の方向を向くようリアルタイムに決定され、視点６４が移動すると、それに応じて各画像オブジェクト６２の姿勢も変化するようになっていてもよい。
【００４６】
エンタテインメントシステム１０は、この視点６４の仮想空間６０における位置及び視線方向６６に基づいて、仮想空間６０の様子を画像化し、モニタ２６に表示する。すなわち、仮想空間６０において視点６４から視線方向６６を見た様子を示す空間画像を生成し、当該空間画像をモニタ２６に表示する。このようにユーザのコントローラ４２を傾ける動作によって視点６４が移動し、当該視点６４の位置に応じた空間画像がモニタ２６に表示されることにより、ユーザは直感的な操作で視点６４を移動させ、仮想空間６０内を自ら移動しているかのような操作感を得ることができる。
【００４７】
図８は、モニタ２６に表示される空間画像の一例を示している。同図に示すように、空間画像には仮想空間６０に配置された表示要素６２のうち一部が含まれている。また、表示要素６２のうち、後述する方法でユーザにより選択された選択表示要素６８は、例えば画像オブジェクトの周囲を囲む枠を表す所定の画像が付されるなどの方法で、他の表示要素６２と区別できるように表示されることとする。
【００４８】
図８に例示されるような空間画像がモニタ２６に表示された状態で、ユーザがコントローラ４２に対して所定の操作を行うと、これに応じて、モニタ２６に表示されている複数の表示要素６２の中から、１又は複数の表示要素６２が選択され、選択表示要素６８となる。この選択表示要素６８を決定する方法としては、以下に説明するように様々な方法を用いることができる。
【００４９】
一例として、エンタテインメントシステム１０は、モニタ２６に表示されている空間画像内に、所定のポインタ画像を配置する。このポインタ画像は、コントローラ４２に備えられた操作部材のうち、方向を示す情報を出力する操作部材である第１の操作部５１、アナログ操作部５３Ｒ、又はアナログ操作部５３Ｌのいずれかに対するユーザの操作に応じて、空間画像内を移動することとする。そして、ユーザが選択操作に対応づけられた操作部材（例えばＸボタン５２ｂ）を操作することにより、当該操作がなされた時点でのポインタ画像の空間画像内の位置に基づいて決定される表示要素６２が、選択表示要素６８として選択される。例えば選択操作がなされた時点でポインタ画像の最も近くに表示されている表示要素６２が、選択表示要素６８として選択される。
【００５０】
また、その他の表示要素６２の選択方法として、例えば以下のような方法がある。すなわち、まず空間画像に含まれている表示要素６２のうち、一つの表示要素６２に対してフォーカスが設定され、フォーカス対象表示要素となる。ここで、フォーカス対象表示要素は、前述したポインタ画像によってユーザが選択することとしてもよいし、あるいは所定の条件に応じてエンタテインメントシステム１０が決定することとしてもよい。また、フォーカス対象表示要素は、例えばハイライト表示されるなど、選択表示要素６８とは異なる態様で、他の表示要素６２と区別できるように表示されることとする。この状態において、ユーザがコントローラ４２に対して所定のフォーカス移動操作を行うことによって、フォーカス対象表示要素が、空間画像内に含まれる別の表示要素６２のいずれかに変更される。そして、ユーザは選択を行いたい表示要素６２にフォーカスが設定された状態で、所定の選択操作（例えばＸボタン５２ｂの押下）を行うことにより、その時点でのフォーカス対象表示要素を選択表示要素６８として選択できる。
【００５１】
ここで、フォーカス移動操作は、例えば第１の操作部５１に含まれる方向指示キーを押下する操作である。この場合、現在のフォーカス対象表示要素に対して、空間画像内において押下された方向指示キーによって示される方向に位置する表示要素６２に対して、順にフォーカスが設定される。
【００５２】
また、このようなコントローラ４２に備えられた操作部材に対する操作に代えて、ユーザはコントローラ４２の姿勢を所定のパターンで変化させることにより、フォーカス対象表示要素を変更することとしてもよい。例えば、ユーザはコントローラ４２を所定方向に一定量傾けてすぐにコントローラ４２の姿勢を元に戻す動作を行う。このような動作に応じて出力される姿勢情報に基づいて、エンタテインメントシステム１０は、例えば方向指示キーが押下された場合と同様に、傾けられた方向に対する指示操作があったものとして新たな表示要素６２にフォーカスを設定する処理を実行する。具体的に、例えば空間画像に含まれる表示要素６２が所定の順序で並べられ、リスト化されている場合、ユーザがコントローラ４２を右方向に傾けて戻す動作を行うことにより、リスト内において現在のフォーカス対象表示要素の一つ次に位置する表示要素６２が、新たなフォーカス対象表示要素として決定される。逆にユーザがコントローラ４２を左方向に傾けて戻す動作を行うことにより、リスト内において現在のフォーカス対象表示要素の一つ前に位置する表示要素６２が、新たなフォーカス対象表示要素として決定される。
【００５３】
また、このようにコントローラ４２を傾ける動作によってリスト内のフォーカスを移動させる処理を行う場合、以下のようにしてもよい。例えば、左方向、右方向にそれぞれ傾ける動作に代えて、ユーザから見て奥行方向、手前方向に傾ける動作によってリスト内のフォーカスを移動させる。また、傾ける時間や傾ける量によって、リスト内のフォーカスの移動量を変化させてもよい。すなわち、コントローラ４２を予め定められた閾値以上の角度に傾けてから元の位置に戻した場合、リスト内においてフォーカスを２つ隣の要素に変更するなどの処理を行う。
【００５４】
さらに、この場合のリストは、表示要素６２を空間画像内の配置順序に沿って並べたものであってもよい。例えば仮想空間６０内において奥行方向に沿って、視点位置６４に近い位置から順に表示要素６２をリスト化する。そして、コントローラ４２を奥行方向、手前方向に傾ける動作によって、リスト内におけるフォーカスを移動させる。これにより、ユーザがコントローラ４２を傾ける向きに応じて、空間画像内においてフォーカス対象表示要素を移動させることができる。
【００５５】
なお、以上説明した選択表示要素６８を選択する複数の方法については、任意に組み合わせて用いてもよい。
【００５６】
次に、複数の表示要素６２を選択表示要素６８として選択する方法について説明する。ユーザが明示的に選択対象としたい表示要素６２を指定する場合には、これまでに説明した選択表示要素６８を選択する操作と同様に例えばポインタ画像等を用いて表示要素６２を選ぶ。そして、選択操作に代えて、現在の選択表示要素６８を維持したまま選択表示要素６８を追加する追加選択操作を行うことで、複数の表示要素６２を選択表示要素６８として選択できる。この場合の追加選択操作は、例えば所定のボタン（例えば矩形ボタン５２ｄ）を押下する操作や、所定のボタンを押下しながら選択操作と同様の操作（例えばＸボタン５２ｂの押下）を行うなどの操作であってよい。
【００５７】
また、例えばユーザが所定の操作を行うことによって、現在の選択表示要素６８に応じて決まる他の表示要素６２を、選択表示要素６８として追加することとしてもよい。例えば、ユーザがコントローラ４２を振る動作を行うことによって、仮想空間６０において現在の選択表示要素６８から最も近い位置に配置された表示要素６２が、選択表示要素６８に追加されることとしてもよい。また、選択表示要素６８として追加される表示要素６２は、ユーザがコントローラ４２を振る方向によって決定されることとしてもよい。例えば、コントローラ４２を左右方向に振った場合には、仮想空間６０において視線方向６６に対して選択表示要素６８の左右方向に位置する表示要素６２が、選択表示要素６８として選択される。
【００５８】
さらに本実施形態においては、選択表示要素６８が選択された場合、当該選択表示要素６８の仮想空間６０における位置に応じて、視点６４の仮想空間６０における移動範囲が制限される。具体的には、例えば選択表示要素６８の仮想空間６０における位置から所定の距離以下となる範囲に、視点６４の移動範囲が制限される。これにより、ユーザが一旦ある表示要素６２を選択すると、当該選択された選択表示要素６８の近傍に視点６４の移動範囲が制限されるため、ユーザが仮想空間６０において選択表示要素６８の近くに配置された表示要素６２を探す場合に、探しやすくなる。特に前述したように選択表示要素６８に関連する表示要素６２が仮想空間６０において選択表示要素６８の近くに配置されている場合、ユーザはまず所望のコンテンツやサービスに近いコンテンツやサービスに関連づけられた表示要素６２を選択することで、当該選択された選択表示要素６８の近くに配置されている表示要素６２に関連づけられた所望のコンテンツやサービスを見つけやすくなる。また、こうすれば、ユーザが所望の表示要素６２を探す途中で、コントローラ４２の姿勢がユーザの意図に反して傾くことにより視点６４が移動してしまい、ユーザが仮想空間６０内において選択表示要素６８の位置を見失ってしまうことを防ぐことができる。
【００５９】
なお、選択表示要素６８が複数ある場合、視点６４の移動範囲は、全ての選択表示要素６８の位置に対して所定の距離以下となる範囲に制限されてもよい。あるいは、いずれかの選択表示要素６８の位置に対して所定の距離以下となる範囲に制限されてもよい。
【００６０】
また、視点６４の仮想空間６０における移動範囲は、例えば選択表示要素６８が空間画像内に含まれる範囲に制限されることとしてもよい。すなわち、エンタテインメントシステム１０が空間画像を生成する場合、視点６４の位置を頂点として、視点６４の前方、すなわち視線方向６６に向かって広がる四角錘状をなす視野範囲が設定される。この視野範囲に選択表示要素６８の位置座標が含まれるような範囲に視点６４の移動範囲を制限することにより、常に選択表示要素６８がモニタ２６に表示された状態を維持することができる。こうすれば、ユーザはコントローラ４２の姿勢を任意に変化させて視点６４の位置を移動させても、一旦選択した選択表示要素６８を見失ってしまうことがなくなる。
【００６１】
さらに、選択表示要素６８が選択されている状態で、ユーザがコントローラ４２に対して所定の選択解除操作（例えば三角ボタン５２ａの押下）を行うと、これに応じて、選択表示要素６８に対する選択が解除されて、選択されていない状態に戻ることとしてもよい。これにより、ユーザは再び制限を受けずに自由に視点６４の位置を移動させることができるようになる。
【００６２】
また、選択表示要素６８が選択されている状態で、ユーザがコントローラ４２に対して所定の処理開始操作（例えばＯボタン５２ｃの押下）を行うと、例えばコンテンツの再生など、選択表示要素６８に関連づけられた処理が実行されることとしてもよい。また、選択表示要素６８が静止画や動画などのコンテンツに関連づけられており、当該コンテンツを示す画像がマッピングされた画像オブジェクトである場合には、ユーザの処理開始操作に応じて、視点６４及び視線方向６６が当該選択表示要素６８をズームアップするように移動することとしてもよい。そして、ズームアップされた選択表示要素６８がモニタ２６に表示されることにより、当該選択表示要素６８に含まれる静止画や動画などのコンテンツがモニタ２６に表示される。こうすれば、ユーザは空間画像内を移動して所望の表示要素６２を見つけると、そのままシームレスにコンテンツを表示させ、観覧することができる。
【００６３】
あるいは、表示要素６２は、例えば複数のコンテンツやサービスなどを含むグループ（ディレクトリ）に関連づけられていてもよい。この場合、このような表示要素６２に対して処理開始操作がなされることによって、当該グループに属するコンテンツやサービスなどを示すアイコン等をユーザに提示する画面が、新たにモニタ２６に表示される。また、このような処理開始操作に代えて、ユーザが視点６６を移動させて仮想空間６０内においてグループに関連づけられた選択表示要素６８を通過させることにより、当該選択表示要素６８に関連づけられたグループに属するアイコン等をユーザに提示する画面が、モニタ２６に表示されることとしてもよい。
【００６４】
また、選択表示要素６８が選択された状態で、ユーザはコントローラ４２に対する操作により、仮想空間６０内において選択表示要素６８を移動させることができる。具体的には、例えば選択表示要素６８が選択された状態で、ユーザが所定のボタンを押下しながらコントローラ４２を傾けてその姿勢を変化させることにより、仮想空間６０において当該コントローラ４２の姿勢に応じた方向に、選択表示要素６８が移動する。そして、ユーザが当該ボタンから指を離すことにより、離した際の位置に選択表示要素６８の移動先の位置が決定する。これにより、ユーザはコントローラ４２を傾けることで、直感的な操作により選択表示要素６８を移動させることができる。また、選択表示要素６８に代えて、例えば前述したフォーカス対象表示要素を移動させることとしてもよい。
【００６５】
図９は、本エンタテインメントシステム１０の動作フローの一例を示すフロー図である。同図に示す処理は所定時間毎（例えば１／６０秒毎）に実行されるものであり、光ディスク３６やハードディスク３８から読み出されてメインメモリ２０に格納された画像表示プログラムを、ＭＰＵ１１が実行することにより実現されるものである。
【００６６】
同図に示すように、まずエンタテインメントシステム１０は、コントローラ４２により表示要素６２の選択操作が行われているか否かを判断する（Ｓ１）。そして、行われていれば当該選択操作の対象となる表示要素６２を選択表示要素６８として選択する（Ｓ２）。また、Ｓ１で選択操作が行われていないと判断された場合には、Ｓ２の処理をスキップする。
【００６７】
続いてエンタテインメントシステム１０は、コントローラ４２によりポインタ画像の位置を移動させる操作がされたか否かを判断する（Ｓ３）。そして、そのような操作が行われていれば、操作内容に従って空間画像内のポインタ画像の位置を新たな位置に変更する（Ｓ４）。Ｓ３で、ポインタ画像を移動させる操作がされていないと判断された場合には、Ｓ４の処理をスキップする。
【００６８】
次にエンタテインメントシステム１０は、視点６４の位置及び視線方向６６を、コントローラ４２から入力される操作信号に従って決定する（Ｓ５）。ここでコントローラ４２から入力される操作信号には、３軸加速度センサ３４ａ及びジャイロセンサ３４ｂが出力するコントローラ４２の姿勢情報を示す信号も含まれる。また、視点６４の位置及び視線方向６６は、直前の視点６４の位置及び視線方向６６に基づいて、徐々に変化するように決定される。
【００６９】
さらにエンタテインメントシステム１０は、Ｓ５で決定した視点６４の位置が、選択表示要素６８の位置に応じて決まる移動可能範囲内に含まれるか否かを判定する（Ｓ６）。具体例として、エンタテインメントシステム１０は、視点６４の位置と、選択表示要素６４の代表点の位置と、の間の距離が所定の値以下になるか否かを判定することにより、視点６４の位置が移動可能範囲内に含まれるかを判定する。含まれる場合には、Ｓ７の処理に進んで、Ｓ６で決定した位置に視点６４を移動させ、移動先の視点６４から見た空間画像を描画する処理を行う。一方、Ｓ６で決定した視点６４の位置が移動可能範囲を超える場合、Ｓ６で決定した位置への視点６４の移動は制限される。すなわち、視点６４の位置を変更するＳ７からＳ９までの処理は実行されず、エンタテインメントシステム１０は続いてＳ１０の処理を実行する。
【００７０】
Ｓ６の処理において視点６４を新たな位置に移動させると判定した場合、次にエンタテインメントシステム１０は、仮想空間６０内のすべての表示要素６２について、視点６４の位置及び各表示要素６２の位置に基づいて、それらの姿勢を決定する（Ｓ７）。この際、こうして決定される各表示要素６２の姿勢に従って、各表示要素６２の各頂点の座標が算出される。そして、それらの座標を視点座標系（視点６４の位置を原点とし、視線方向６６をＺ軸とする座標系）に変換するとともに（Ｓ８）、視野範囲から外れる表示要素６２を処理対象から除外する。また、視野範囲の縁を跨ぐ表示要素６２についてはクリッピング処理を施す（Ｓ９）。
【００７１】
その後、エンタテインメントシステム１０は、視野範囲内の表示要素６２を視点６４から見た様子を空間画像として画像処理部２４内のフレームバッファに描画する（Ｓ１０）。このとき、Ｓ２により選択表示要素６８として選択された表示要素６２については、選択されたことを示す枠線の画像等を付加して表示する。また、Ｓ４で変更された空間画像内の位置に、ポインタ画像を重ねて表示する。Ｓ１０の処理によりフレームバッファに描画された画像は、モニタ２６に表示される。
【００７２】
以上の実施形態によれば、選択表示要素６８の仮想空間６０における位置に応じて視点６４の移動範囲を制限し、この移動範囲が制限された視点６４から見た空間画像をモニタ２６に表示する。このため、ユーザは視点６４を移動させて仮想空間６０に配置された表示要素６２の中から所望の表示要素６２を探す場合に、一旦所望の表示要素６２に近い表示要素６２を選択し、その近傍を探すことができ、所望の表示要素６２を見つけやすくなる。
【００７３】
なお、本実施形態は種々の変形実施が可能である。
【００７４】
例えば、ユーザはコントローラ４２に備えられたボタンを押下する操作に代えて、コントローラ４２を叩いたり振ったりすることとし、エンタテインメントシステム１０は、これらのユーザの動作に応じて姿勢情報出力部４３が出力する情報に基づいて、各種処理を実行することとしてもよい。例えばユーザのコントローラ４２を所定の向きで叩く動作に応じて、表示要素６２を選択する選択操作を実行することとしてもよい。
【００７５】
また、上述したリスト内のフォーカスを移動させる処理において、コントローラ４２の姿勢を所定のパターンで変化させる動作に代えて、ユーザのコントローラ４２を叩く動作によって、エンタテインメントシステム１０はリスト内のフォーカスを移動することとしてもよい。この場合、例えば叩く方向によってリスト内のフォーカスの移動方向を変化させてもよい。また、叩く強さによって、リスト内のフォーカスの移動量を変化させてもよい。
【００７６】
またエンタテインメントシステム１０は、複数回コントローラ４２を叩く動作に応じて、所定の処理を実行することとしてもよい。例えば、ユーザが一定の間隔（リズム）で複数回コントローラ４２を叩くことにより、この叩く動作のパターンに応じて、表示要素６２の選択やフォーカスの移動、表示要素６２に関連づけられた処理の実行などを行う。これにより、例えばコントローラ４２に何らかの衝撃が加わった場合に、誤ってユーザの叩く動作があったと判定し、ユーザの意図に反した処理を実行してしまうことを防ぐことができる。
【００７７】
また、上記の説明においては、仮想空間６０が３次元空間であって、この仮想空間６０内の任意の位置に表示要素６２が配置される場合の例について説明したが、表示要素６２は仮想空間６０内の２次元空間（プレーン）に配置されることとしてもよい。さらに、仮想空間６０内に、複数の２次元空間が、奥行方向に沿って所定の順序で複数並べられており、当該各２次元空間に表示要素６２が配置されることとしてもよい。この場合、一例として第１の操作部５１に含まれる方向指示キーに対する操作によって、視点６２の位置が２次元空間に対して平行に移動する。これにより、モニタ２６に表示される空間画像が２次元空間上を移動することとなる。そして、例えばコントローラ４２を前に傾ける動作によって、当該動作時点でモニタ２６に空間画像が表示されている２次元空間に対して、一つ奥に配置された２次元空間に表示対象となる空間が変更される。逆にコントローラ４２を手前に傾ける動作によって、当該動作時点でモニタ２６に空間画像が表示されている２次元空間に対して、一つ手前に配置された２次元空間に表示対象となる空間が変更される。こうすれば、複数の２次元空間を、方向指示キーとコントローラ４２の姿勢の変化の組み合わせによって移動し、当該２次元空間に配置された表示要素６２をモニタ２６に表示させることができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態に係るエンタテインメントシステム（画像表示装置）のハードウェア構成図である。
【図２】ＭＰＵの詳細構成図である。
【図３】コントローラの一例を示す図である。
【図４】３軸加速度センサの出力値の一例を示すグラフ図である。
【図５】コントローラの姿勢に応じて出力される姿勢情報の一例を説明する説明図である。
【図６】コントローラの姿勢に応じて出力される姿勢情報の別の例を説明する説明図である。
【図７】表示要素が配置された仮想空間を模式的に示す図である。
【図８】表示画面の一例を示す図である。
【図９】本発明の実施形態に係るエンタテインメントシステムの動作の一例を示すフロー図である。
【符号の説明】
【００７９】
１０  エンタテインメントシステム、１１  ＭＰＵ、１２  メインプロセッサ、１４ａ〜１４ｈ  サブプロセッサ、１６  バス、１８  メモリコントローラ、２０  メインメモリ、２２，４０，４４  インタフェース、２４  画像処理部、２６  モニタ、２８  入出力処理部、３０  音声処理部、３２  スピーカ、３４  光ディスク読み取り部、３６  光ディスク、３８  ハードディスク、４２  コントローラ、４３  姿勢情報出力部、４３ａ  ３軸加速度センサ、４３ｂ  ジャイロセンサ、４６  カメラユニット、４８  ネットワークインタフェース、５０  把持部、５１  第１の操作部、５２  第２の操作部、５３  アナログ操作部、６０  仮想空間、６２  表示要素、６４  視点、６６  視線方向、６８  選択表示要素。
【図１】
0004799261.tif 000002
【図２】
0004799261.tif 000003
【図３】
0004799261.tif 000004
【図４】
0004799261.tif 000005
【図５】
0004799261.tif 000006
【図６】
0004799261.tif 000007
【図７】
0004799261.tif 000008
【図８】
0004799261.tif 000009
【図９】
0004799261.tif 000010