(57)【特許請求の範囲】
【請求項１】
オブジェクトが配置された仮想３次元空間において、該仮想３次元空間に配置された視点から、前記オブジェクトに向かう視線方向を見た様子を示す空間画像を表示する空間画像表示手段と、
前記視点又は前記オブジェクトの少なくとも一方の他方に対する相対的位置を前記仮想３次元空間において移動させて、前記視線方向を変更する視線方向変更手段と、
前記オブジェクトの前記仮想３次元空間における姿勢方向を取得するオブジェクト姿勢方向取得手段と、
所定時間毎に、前記オブジェクト姿勢方向取得手段により取得される現在の前記姿勢方向と現在の前記視線方向との差を示す方向差情報を算出する方向差情報算出手段と、
前記オブジェクトを操作するための操作デバイスの姿勢を示す姿勢情報を取得する操作デバイス姿勢情報取得手段と、
所定時間毎に、前記方向差情報と前記操作デバイス姿勢情報取得手段により取得される現在の前記姿勢情報とに応じた方向に、前記オブジェクトを前記仮想３次元空間において動作させるオブジェクト移動手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記姿勢情報は、前記操作デバイスの傾き方向を示す、
ことを特徴とする画像処理装置。
【請求項３】
オブジェクトが配置された仮想３次元空間において、該仮想３次元空間に配置された視点から、前記オブジェクトに向かう視線方向を見た様子を示す空間画像を表示する空間画像表示手段、
前記視点又は前記オブジェクトの少なくとも一方の他方に対する相対的位置を前記仮想３次元空間において移動させて、前記視線方向を変更する視線方向変更手段、
前記オブジェクトの前記仮想３次元空間における姿勢方向を取得するオブジェクト姿勢方向取得手段、
所定時間毎に、前記オブジェクト姿勢方向取得手段により取得される現在の前記姿勢方向と現在の前記視線方向との差を示す方向差情報を算出する方向差情報算出手段、
前記オブジェクトを操作するための操作デバイスの姿勢を示す姿勢情報を取得する操作デバイス姿勢情報取得手段、及び
所定時間毎に、前記方向差情報と前記操作デバイス姿勢情報取得手段により取得される現在の前記姿勢情報とに応じた方向に、前記オブジェクトを前記仮想３次元空間において動作させるオブジェクト移動手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及びプログラムに関し、特に、３次元コンピュータグラフィックスに関する。
【背景技術】
【０００２】
仮想３次元空間にオブジェクトを配置して、該仮想３次元空間に配置された視点から、オブジェクトに向かう視線方向を見た様子を示す空間画像を生成し、それをモニタに表示するとともに、操作デバイスから入力される操作信号に従って仮想３次元空間におけるオブジェクトの位置や姿勢を変更する技術が知られている。操作デバイスとしては、ボタンの押下の有無を検出するものや、スティック等の操作部材の姿勢を検出するものがあり、従来は、これらの検出結果を示す操作信号を使ってオブジェクトの位置や姿勢を変更していた。
【０００３】
さらに、操作デバイスにジャイロや加速度センサを取り付けて、操作デバイスの姿勢を検出して、この検出結果に従って仮想３次元空間におけるオブジェクトの位置や姿勢を変更することも検討されている。このようにすると、ユーザは、現実のオブジェクトたる操作デバイスを介して、あたかもモニタに表示されている仮想的なオブジェクトを直接的に操っているかのような感覚を得ることができ、直感的に理解し易いユーザインタフェースを実現できる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、操作デバイスの姿勢を用いる場合、空間画像を生成する際に用いる視線方向が変化すると、空間画像に表された仮想的なオブジェクトを違和感なく操作することが困難となる。例えば、空間画像に表されているオブジェクトは斜め手前を向いているのに対して、モニタに正対している操作デバイスをどのような姿勢とすれば、オブジェクトを仮想３次元空間において前方向に移動させることができるのか、ユーザは直感的に理解することが困難となる。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、操作デバイスの姿勢により仮想３次元空間内に配置されたオブジェクトを直感的に操作することができる画像処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、オブジェクトが配置された仮想３次元空間において、該仮想３次元空間に配置された視点から、前記オブジェクトに向かう視線方向を見た様子を示す空間画像を表示する空間画像表示手段と、前記視点又は前記オブジェクトの少なくとも一方の他方に対する相対的位置を前記仮想３次元空間において移動させて、前記視線方向を変更する視線方向変更手段と、前記オブジェクトの前記仮想３次元空間における姿勢方向を取得するオブジェクト姿勢方向取得手段と、前記オブジェクト姿勢方向取得手段により取得される前記姿勢方向と前記視線方向との差を示す方向差情報を算出する方向差情報算出手段と、前記オブジェクトを操作するための操作デバイスの姿勢を示す姿勢情報を取得する操作デバイス姿勢情報取得手段と、前記方向差情報と前記操作デバイス姿勢情報取得手段により取得される前記姿勢情報とに応じた方向に、前記オブジェクトを前記仮想３次元空間において動作させるオブジェクト移動手段と、を含むことを特徴とする。
【０００７】
また、本発明の一態様では、前記姿勢情報は、前記操作デバイスの傾き方向を示す。
【０００８】
また、本発明に係る画像処理方法は、オブジェクトが配置された仮想３次元空間において、該仮想３次元空間に配置された視点から、前記オブジェクトに向かう視線方向を見た様子を示す空間画像を表示する空間画像表示ステップと、前記視点又は前記オブジェクトの少なくとも一方の他方に対する相対的位置を前記仮想３次元空間において移動させて、前記視線方向を変更する視線方向変更ステップと、前記オブジェクトの前記仮想３次元空間における姿勢方向を取得するオブジェクト姿勢方向取得ステップと、前記オブジェクト姿勢方向取得ステップにより取得される前記姿勢方向と前記視線方向との差を示す方向差情報を算出する方向差情報算出ステップと、前記オブジェクトを操作するための操作デバイスの姿勢を示す姿勢情報を取得する操作デバイス姿勢情報取得ステップと、前記方向差情報と前記操作デバイス姿勢情報取得ステップにより取得される前記姿勢情報とに応じた方向に、前記オブジェクトを前記仮想３次元空間において動作させるオブジェクト移動ステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、オブジェクトが配置された仮想３次元空間において、該仮想３次元空間に配置された視点から、前記オブジェクトに向かう視線方向を見た様子を示す空間画像を表示する空間画像表示手段、前記視点又は前記オブジェクトの少なくとも一方の他方に対する相対的位置を前記仮想３次元空間において移動させて、前記視線方向を変更する視線方向変更手段、前記オブジェクトの前記仮想３次元空間における姿勢方向を取得するオブジェクト姿勢方向取得手段、前記オブジェクト姿勢方向取得手段により取得される前記姿勢方向と前記視線方向との差を示す方向差情報を算出する方向差情報算出手段、前記オブジェクトを操作するための操作デバイスの姿勢を示す姿勢情報を取得する操作デバイス姿勢情報取得手段、及び前記方向差情報と前記操作デバイス姿勢情報取得手段により取得される前記姿勢情報とに応じた方向に、前記オブジェクトを前記仮想３次元空間において動作させるオブジェクト移動手段としてコンピュータを機能させるためのプログラムである。このプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な情報記憶媒体に格納されてもよい。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１１】
図１は、本実施形態に係るエンタテインメントシステム（画像処理装置）のハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム１０は、ＭＰＵ（Micro Processing Unit）１１と、メインメモリ２０と、画像処理部２４と、モニタ２６と、入出力処理部２８と、音声処理部３０と、スピーカ３２と、光ディスク読み取り部３４と、光ディスク３６と、ハードディスク３８と、インタフェース（Ｉ／Ｆ）４０，４４と、操作デバイス４２と、カメラユニット４６と、ネットワークインタフェース４８と、を含んで構成されるコンピュータシステムである。
【００１２】
図２は、ＭＰＵ１１（プログラム実行手段）の構成を示す図である。同図に示すように、ＭＰＵ１１は、メインプロセッサ１２と、サブプロセッサ１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，１４ｈと、バス１６と、メモリコントローラ１８と、インタフェース（Ｉ／Ｆ）２２と、を含んで構成される。
【００１３】
メインプロセッサ１２は、図示しないＲＯＭ（Read Only Memory）に記憶されるオペレーティングシステム、例えばＤＶＤ（Digital Versatile Disk）−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ１４ａ乃至１４ｈに対する制御を行ったりする。
【００１４】
サブプロセッサ１４ａ乃至１４ｈは、メインプロセッサ１２からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム１０の各部を、例えばＤＶＤ−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
【００１５】
バス１６は、アドレス及びデータをエンタテインメントシステム１０の各部でやり取りするためのものである。メインプロセッサ１２、サブプロセッサ１４ａ乃至１４ｈ、メモリコントローラ１８、インタフェース２２は、バス１６を介して相互にデータ授受可能に接続される。
【００１６】
メモリコントローラ１８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、メインメモリ２０へのアクセスを行う。メインメモリ２０には、光ディスク３６やハードディスク３８から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ２０はメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈの作業用としても用いられる。
【００１７】
インタフェース２２には画像処理部２４及び入出力処理部２８が接続される。メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、画像処理部２４又は入出力処理部２８と、の間のデータ授受はインタフェース２２を介して行われる。
【００１８】
画像処理部２４は、ＧＰＵ（Graphical Processing Unit）とフレームバッファとを含んで構成される。ＧＰＵは、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面、すなわちＭＰＵ１１の実行結果を示す画面は、所定のタイミングでビデオ信号に変換されてモニタ２６に出力される。なお、モニタ２６には例えば家庭用テレビ受像機が用いられる。
【００１９】
入出力処理部２８には、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０,４４が接続される。入出力処理部２８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０,４４、ネットワークインタフェース４８と、の間のデータ授受を制御する。
【００２０】
音声処理部３０は、ＳＰＵ（Sound Processing Unit）とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク３６やハードディスク３８から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。ＳＰＵは、これらの各種音声データを再生してスピーカ３２から出力させる。なお、スピーカ３２には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
【００２１】
光ディスク読み取り部３４は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、光ディスク３６に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム１０は、光ディスク３６以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成してもよい。
【００２２】
光ディスク３６は例えばＤＶＤ−ＲＯＭ等の一般的な光ディスク（コンピュータ読み取り可能な情報記憶媒体）である。また、ハードディスク３８は一般的なハードディスク装置である。光ディスク３６やハードディスク３８には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
【００２３】
インタフェース（Ｉ／Ｆ）４０，４４は、操作デバイス４２やカメラユニット４６等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばＵＳＢ（Universal Serial Bus）インタフェースが用いられる。
【００２４】
操作デバイス４２は汎用操作入力手段であり、ユーザが各種操作（例えばゲーム操作）を入力するために用いられる。入出力処理部２８は、所定時間（例えば１／６０秒）ごとに操作デバイス４２から、その各部の状態を無線又は有線通信により取得し、その結果を表す操作信号をメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈに供給する。メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム１０は複数の操作デバイス４２を通信接続可能に構成されており、各操作デバイス４２から入力される操作信号に基づいて、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈが各種処理を実行するようになっている。
【００２５】
カメラユニット４６は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間（例えば１／６０秒）ごとに入力する。本実施の形態におけるカメラユニット４６は、撮影画像をＪＰＥＧ（Joint Photographic Experts Group）形式の画像データとして入力するようになっている。また、カメラユニット４６は、例えばレンズをプレイヤに向けた状態でモニタ２６の上に設置され、ケーブルを介してインタフェース４４に接続される。ネットワークインタフェース４８は入出力処理部２８とインターネット等の通信ネットワークとに接続されており、エンタテインメントシステム１０が通信ネットワークを介して他のエンタテインメントシステム１０等のコンピュータシステムとデータ通信するのを中継するようになっている。
【００２６】
操作デバイス４２は、可搬型の小型コンピュータであって、図３にその外観を示すように、例えば長方形薄箱状に形成される。また、本体表面の左側には方向キー５０が設けられ、右側にはボタン５２Ａ〜５２Ｄからなるボタン群５２が設けられている。操作デバイス４２の一側面には補助ボタン５４Ｌ，５４Ｒが設けられている。また、操作デバイス４２は、その長手方向の中央にジャイロスコープ５８が内蔵されており、またその側方に加速度センサ５６も内蔵されている。加速度センサ５６は、互いに直交する３方向の加速度を検出する３軸加速度センサであり、図４に示すように、操作デバイス４２の左右方向（長手方向）であるＸ方向の、重力や操作デバイス４２の移動に起因する加速度と、操作デバイス４２の奥行き方向（短手方向）であるＹ方向の、重力や操作デバイス４２の移動に起因する加速度と、操作デバイスの厚さ方向であるＺ方向の、重力や操作デバイス４２の移動に起因する加速度と、を検出するものである。これら３方向の加速度に従って、操作デバイス４２やエンタテインメントシステム１０は、操作デバイス４２の姿勢を検知することができる。すなわち、操作デバイス４２がＹ軸に対してどれだけ回転したか（符号ＸＵ及びＸＤ）、Ｘ軸に対してどれだけ回転したか（符号ＹＵ及びＹＤ）を検知することができる。また、操作デバイス４２が鉛直方向に移動する際の加速度も検知することができる（符号ＺＵ及びＺＤ）。これにより、操作デバイス４２やエンタテインメントシステム１０は、操作デバイス４２が鉛直方向に持ち上げられたり、或いは操作デバイス４２が鉛直方向に置かれたりしたことを検知することができる。具体的には、図５に示すように、加速度センサ５６は、上記３方向のそれぞれについて、加速度に比例する電圧を出力するようになっており、この電圧の値から操作デバイス４２がどちらにどれだけ傾けられたかをエンタテインメントシステム１０で把握できるようになっている。
【００２７】
また、操作デバイス４２は上述したようにジャイロスコープ５８を内蔵しており、これにより操作デバイス４２の厚さ方向であるＺ方向周りの回転の角速度ωを検出することができる。
【００２８】
エンタテインメントシステム１０及び操作デバイス４２は、ＵＳＢ等の有線通信手段、及びＢｌｕｅＴｏｏｔｈ（商標）やワイヤレスＬＡＮ等の無線通信手段を備えており、操作デバイス４２は、加速度センサ５６やジャイロ５８により検出されるデータ、ボタン群３２、補助ボタン３４及び方向キー３０の入力状態、及びそれらの処理結果を、無線又は有線通信によりエンタテインメントシステム１０に送信することができる。エンタテインメントシステム１０は、操作デバイス４２から送信されるデータを受信すると、そのデータに従って各種の情報処理を実行する。情報処理の実行結果はテレビ受像機等のモニタ２６により表示されたり、その内蔵スピーカ等のスピーカ３２により音声出力されたりする。
【００２９】
以下、上記ハードウェア構成を有するエンタテインメントシステム１０において、操作デバイス４２を用いた新規なユーザインタフェースを実現する技術について説明する。
【００３０】
本実施形態では、エンタテインメントシステム１０のメインメモリ２０上に仮想３次元空間が構築される。図６は、この仮想３次元空間の一例を示している。同図に示すように、仮想３次元空間６０にはワールド座標系６１が設定されており、その一点にユーザの操作対象であるオブジェクト６４が配置されている。仮想３次元空間６０には、視点６６も配置されており、視点６６からオブジェクト６４内の代表点（例えば後述するオブジェクト座標系６５の原点）に向かう方向に、視線方向６８が設定されている。そして、視点６６から視線方向６８を見た様子を示す空間画像が生成され、これがモニタ２６により表示されるようになっている。このとき、視線方向６８は視点６６からオブジェクト６４に向かうよう設定されているので、空間画像にはオブジェクト６４が表れる。
【００３１】
視点６６はオブジェクト６４の上方（ワールド座標系６１における例えばＺ方向）に設定された視点軌道６２上を、操作デバイス４２による操作に従って移動するようになっている。すなわち、操作デバイス４２の補助ボタン５４Ｌを押下すると、視点６６は視点軌道６２上を反時計回りに移動する。また、補助ボタン５４Ｒを押下すると、視点６６は視点軌道６２上を時計回りに移動する。
【００３２】
オブジェクト６４にはオブジェクト座標系６５が設定されており、オブジェクト座標系６５のＹａ軸がオブジェクト６４の前後方向に一致し、Ｘａ軸が左右方向に一致し、Ｚａ軸が上下方向に一致する。本実施形態では、操作デバイス４２を傾けることにより、仮想３次元空間６０におけるオブジェクト６４の位置や姿勢を変化させることができる。このとき、視線方向６８とオブジェクト座標系６５により規定されるオブジェクト６４の姿勢方向（Ｙａ軸方向）とのなす角θにより、操作デバイス４２をどの方向に傾けると、どの方向にオブジェクト６４が移動したり、姿勢を変えたりするかが変わる。
【００３３】
すなわち、図７（ａ）に示すように、オブジェクト６４の後方に位置する視点６６から仮想３次元空間６０を見た様子を示す空間画像がモニタ２６に表示される場合、オブジェクト６４の前部が画面の上側に、後部が画面の下側に、右部が画面の右側に、左部が画面の左側に表示される。この場合、同図（ｂ）に示すように、操作デバイス４２を右に傾けることにより、オブジェクト６４が仮想３次元空間６０において右側（Ｒ）に傾く。また、操作デバイス４２を左に傾けることにより、オブジェクト６４が仮想３次元空間６０において左側（Ｌ）に傾く。さらに、操作デバイス４２を奥側に傾けることにより、オブジェクト６４が仮想３次元空間６０において前方（Ｆ）に移動し、操作デバイス４２を手前に傾けることにより、オブジェクト６４が仮想３次元空間６０において後方（Ｂ）に移動する。
【００３４】
また、図８（ａ）に示すように、オブジェクト６４の左斜め前に位置する視点６６から仮想３次元空間６０を見た様子を示す空間画像がモニタ２６に表示される場合、同図（ｂ）に示すように、操作デバイス４２を左奥に傾けることにより、オブジェクト６４が仮想３次元空間６０において右側（Ｒ）に傾く。また、操作デバイス４２を右手前に傾けることにより、オブジェクト６４が仮想３次元空間６０において左側（Ｌ）に傾く。さらに、操作デバイス４２を左手前に傾けることにより、オブジェクト６４が仮想３次元空間６０において前方（Ｆ）に移動し、操作デバイス４２を右奥に傾けることにより、オブジェクト６４が仮想３次元空間６０において後方（Ｂ）に移動する。
【００３５】
以上のユーザインタフェースは、具体的には以下の処理により実現される。以下の処理は、エンタテインメントシステム１０においてユーザインタフェースプログラムを実行することにより実現されるものである。このプログラムは、インターネット等の通信ネットワークによりエンタテインメントシステム１０にダウンロードされてもよいし、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な情報記憶媒体に格納され、そこからエンタテインメントシステム１０が読み取ってもよい。
【００３６】
本実施形態に係る処理では、まず視線方向６８とオブジェクト６４の姿勢方向（Ｙａ軸方向）とのなす角θが算出される。なお、視線方向６８のベクトルをオブジェクト座標系６５におけるＸＹ平面に射影して、その射影後のベクトルが示す方向と、オブジェクト６４の姿勢方向とのなす角θを用いてもよい。
【００３７】
次に、Ｘ方向の加速度を示す加速度センサ５６の出力値Ｘｃ、及びＹ方向の加速度を示す加速度センサ５６の出力値Ｙｃを取得する。Ｘｃは、加速度センサ５６の生の出力値（上記の電圧値）に基づいて生成されるものであり、Ｘ方向の加速度が正の場合（つまり操作デバイス４２が右に傾いたとき）に正の値をとり、零の場合（つまり操作デバイス４２が左右方向に傾いていないとき）に零の値をとり、負の場合（つまり操作デバイス４２が左に傾いたとき）に負の値をとる。同様に、Ｙｃも、加速度センサ５６の生の出力値（上記の電圧値）に基づいて生成されるものであり、Ｙ方向の加速度が正の場合（つまり操作デバイス４２が奥に傾いたとき）に正の値をとり、零の場合（つまり操作デバイス４２が前後方向に傾いていないとき）に零の値をとり、負の場合（つまり操作デバイス４２が手前に傾いたとき）に負の値をとる。
【００３８】
そして、これら出力値のペア（Ｘｃ，Ｙｃ）（操作デバイス４２の姿勢情報）に対して、上記のようにして算出されるなす角θだけＸＹ平面において回転させる処理を施し、その結果を補正後出力値ペア（Ｘｃ’，Ｙｃ’）とする。そして、この補正後出力値ペアに従って、オブジェクト６４の位置や姿勢を仮想３次元空間６０において変化させる。すなわち、Ｙｃ’が正であれば、オブジェクト６４を仮想３次元空間６０において前方（Ｆ）に移動させるよう、その位置を更新する。また、Ｙｃ’が負であれば、オブジェクト６４を仮想３次元空間６０において後方（Ｂ）に移動させるよう、その位置を更新する。また、Ｘｃ’が正であれば、オブジェクト６４を仮想３次元空間６０において右方（Ｒ）に傾けるよう、その姿勢を更新する。また、Ｘｃ’が負であれば、オブジェクト６４を仮想３次元空間６０において左方（Ｌ）に傾けるよう、その姿勢を更新する。なお、補正後出力値ペア（Ｘｃ’，Ｙｃ’）の各成分、すなわちＸｃ’及びＹｃ’の両方に基づいて１つの方向を特定して、該方向に向けた動作をオブジェクト６４に行わせるようにしてもよい。例えば、補正後出力値ペア（Ｘｃ’，Ｙｃ’）に基づいて１つの方向を算出し、該方向にオブジェクト６４の姿勢方向が向くようオブジェクト６４を旋回させてもよい。
【００３９】
図１１は、オブジェクトの位置及び姿勢を更新する処理を示すフロー図である。同図に示す処理は、上記ユーザインタフェースプログラムに従って所定時間ごとに実行されるものであり、まずＭＰＵ１１は、操作デバイス４２の補助ボタン５４Ｌ又は５４Ｒが押下され、視点６６の移動が指示され、それに伴って視線方向６８が変更するかを判断する（Ｓ１０１）。そして、視線方向６８が変更する場合、視線方向６８とオブジェクト６４の姿勢方向とのなす角θを算出するとともに、それをメインメモリ２０に記憶する（Ｓ１０２）。視線方向６８が変更しない場合、Ｓ１０２の処理はスキップする。
【００４０】
次に、加速度センサ５８の出力値のペア（Ｘｃ，Ｙｃ）を取得し（Ｓ１０３）、それに対して、Ｓ１０２で算出され、すでにメインメモリ２０に記憶されているなす角θを用いた回転処理を施し、補正後出力値ペア（Ｘｃ’，Ｙｃ’）を算出する（Ｓ１０４）。そして、この補正後出力値ペア（Ｘｃ’，Ｙｃ’）に基づいて、仮想３次元空間６０においてオブジェクト６４の位置及び姿勢を変化させる。
【００４１】
以上説明した本実施形態によれば、オブジェクト６４の仮想３次元空間６０における姿勢方向（Ｙａ軸方向）と視線方向６８とのなす角、すなわち両方向の差を示す方向差情報を算出し、該方向差情報と操作デバイス４２の加速度センサ５８の出力値、すなわち操作デバイス４２の姿勢情報とに応じた方向に、オブジェクト６４を仮想３次元空間６０において動作させるので、モニタ２６に表示されるオブジェクト６４の姿勢に応じて、どの方向に操作デバイス４２を傾けるとどの方向にオブジェクト６４が動作するかを制御でき、きわめて直感的なユーザインタフェースを実現できる。
【００４２】
なお、本発明は上記実施形態に限定されるものではない。例えば、以上の説明では、操作デバイス４２の姿勢に応じてオブジェクト６４を左右に傾けるようにしたが、左右に移動させてもよい。また、ジャイロスコープ５８の出力に応じてオブジェクト６４の位置や姿勢を変更する場合にも、同様にして、視線方向６８と、オブジェクト６４の姿勢方向と、のなす角θに応じて、どの向きに操作デバイス４２を姿勢変更すると、どの向きにオブジェクト６４が動くかを制御するようにしてよい。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態に係るエンタテインメントシステムのハードウェア構成を示す図である。
【図２】ＭＰＵの構成を示す図である。
【図３】操作デバイスの外観を示す斜視図である。
【図４】操作デバイスに設けられる加速度センサの検出内容を説明する図である。
【図５】加速度センサの出力を説明する図である。
【図６】仮想３次元空間の一例を示す図である。
【図７】モニタに表示される空間画像及び操作デバイスの操作方法を示す図である。
【図８】モニタに表示される空間画像及び操作デバイスの操作方法を示す図である。
【図９】オブジェクトの姿勢方向と視線方向とのなす角θを示す図である。
【図１０】加速度センサの出力値を変換する処理を説明する図である。
【図１１】オブジェクトの位置及び姿勢の更新処理を示すフロー図である。
【符号の説明】
【００４４】
１０  エンタテインメントシステム、１１  ＭＰＵ、１２  メインプロセッサ、１４ａ〜１４ｈ  サブプロセッサ、１６  バス、１８  メモリコントローラ、２０  メインメモリ、２２，４０，４４  インタフェース、２４  画像処理部、２６  モニタ、２８  入出力処理部、３０  音声処理部、３２  スピーカ、３４  光ディスク読み取り部、３６  光ディスク、３８  ハードディスク、４２  操作デバイス、４６  カメラユニット、５０  方向キー、５２  ボタン、５４  補助ボタン、５６  加速度センサ、５８  ジャイロスコープ、６０  仮想３次元空間、６１  ワールド座標系、６２  視点軌道、６４  オブジェクト、６５  オブジェクト座標系。
【図１】
0004799269.tif 000002
【図２】
0004799269.tif 000003
【図３】
0004799269.tif 000004
【図４】
0004799269.tif 000005
【図５】
0004799269.tif 000006
【図６】
0004799269.tif 000007
【図７】
0004799269.tif 000008
【図８】
0004799269.tif 000009
【図９】
0004799269.tif 000010
【図１０】
0004799269.tif 000011
【図１１】
0004799269.tif 000012