(57)【要約】【課題】  仮想３次元空間において視点位置や視線方向が随時変化する場合であっても、表示画像の滑らかさの低下を目立たせることなく、定期的に位置や姿勢等の状態更新を行うことができるオブジェクトの数を増やすこと。【解決手段】  視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理装置であって、表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出するとともに、算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択部６６と、オブジェクト選択部６６により選択されるオブジェクトの仮想３次元空間における各状態を、他のオブジェクトの仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新部６８と、を含む。【選択図】        図６
2006235748.tif 000002
【特許請求の範囲】
【請求項１】
視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理装置であって、
前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出手段と、
前記表示サイズ算出手段により算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択手段と、
前記オブジェクト選択手段により選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記仮想３次元空間には、前記複数の表示対象オブジェクトのそれぞれに応じた形状を有するとともに、該表示対象オブジェクトに従動する複数の不可視オブジェクトがさらに配置され、
前記オブジェクト選択手段は、
前記表示画像に投影された前記複数の不可視オブジェクトの前記表示画像における表示面積を、前記複数の表示対象オブジェクトの前記各表示サイズとして算出する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置において、
前記仮想３次元空間には、前記複数の表示対象オブジェクトのそれぞれに応じた形状を有するとともに、該表示対象オブジェクトに従動する複数の不可視オブジェクトがさらに配置され、
前記オブジェクト選択手段は、
前記表示画像に前記複数の不可視オブジェクトの一部又は全部の頂点を投影し、投影された前記頂点の前記表示画像における位置に基づいて、前記複数の表示対象オブジェクトの前記各表示サイズとして、前記複数の不可視オブジェクトの大きさを算出する、
ことを特徴とする画像処理装置。
【請求項４】
視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理方法であって、
前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出ステップと、
前記表示サイズ算出ステップで算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択ステップと、
前記オブジェクト選択ステップで選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新ステップと、
を含むことを特徴とする画像処理方法。
【請求項５】
視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像表示手段、
前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出手段、
前記表示サイズ算出手段により算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択手段、及び
前記オブジェクト選択手段により選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に仮想３次元空間に配置されたオブジェクトに関する画像を表示する技術に関する。
【背景技術】
【０００２】
コンピュータの記憶手段に３次元空間を仮想的に構築して、この仮想３次元空間にオブジェクトを配置するとともに、その様子を可視化する画像処理装置が広く知られている。この装置では、仮想３次元空間に配置されたオブジェクトの位置や姿勢等の状態を所定の時間間隔で（例えば１／６０秒や１／３０秒）で更新するようになっている。これによって、仮想３次元空間を示す画像をリアルタイムに変化させることができる。この際、１／６０秒内の限られた時間で多数のオブジェクトの状態を更新するのは困難であり、下記特許文献１に記載された装置では、予め定めた一部の目立たないオブジェクトを順に表示対象から除外することにより、そうした困難を解消している。
【特許文献１】特開平１０−３０７９０５号公報（図２及び図３参照）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術では予め定めた一部の目立たないオブジェクトを順に表示対象から除外するものであり、仮想３次元空間において視点位置や視線方向が随時変化する場合には適用が困難であった。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、仮想３次元空間において視点位置や視線方向が随時変化する場合であっても、表示画像の滑らかさの低下を目立たせることなく、定期的に位置や姿勢更新を行うことができるオブジェクトの数を増やすことができる画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置は、視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理装置であって、前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出手段と、前記表示サイズ算出手段により算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択手段と、前記オブジェクト選択手段により選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新手段と、を含むことを特徴とする。
【０００６】
また、本発明に係る画像処理方法は、視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理方法であって、前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出ステップと、前記表示サイズ算出ステップで算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択ステップと、前記オブジェクト選択ステップで選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新ステップと、を含むことを特徴とする。
【０００７】
さらに、本発明に係るプログラムは、視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像表示手段、前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出手段、前記表示サイズ算出手段により算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択手段、及び前記オブジェクト選択手段により選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新手段としてコンピュータを機能させるためのプログラムである。
【０００８】
ここでコンピュータは、例えば家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、パーソナルコンピュータ、携帯情報端末、携帯電話機等である。また、プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＲＯＭカートリッジ等のあらゆるコンピュータ読み取り可能な情報記憶媒体に格納されてよい。
【０００９】
本発明では、仮想３次元空間に視点及び複数の表示対象オブジェクトが配置される。そして、視点から仮想３次元空間を見た様子を示す表示画像が生成され、それが家庭用テレビ受像器やコンピュータ用モニタ等の表示手段により表示される。このとき、複数の表示対象オブジェクトのうち一部が選択される。そして、それら一部のオブジェクトについては、ある時間間隔で位置や姿勢等の仮想３次元空間における状態が更新され、他のオブジェクトについては、それとは異なる時間間隔で位置や姿勢等の仮想３次元空間における状態が更新される。本発明によれば、全体として定期的に状態更新することができる表示対象オブジェクトの数を増やすことができる。また、状態を更新する時間間隔が長めとなるオブジェクトを一部に限ることができるので、表示画像の滑らかさの低下を目立たなくすることができる。
【００１０】
特に、本発明では、表示画像における複数の表示対象オブジェクトの各表示サイズを算出し、各表示サイズに基づいて、複数の表示対象オブジェクトのうち一部を選択するようにしているので、表示画像において目立たない表示対象オブジェクトについては長い時間間隔で、目立つ表示対象オブジェクトについてはそれより短い時間間隔で、仮想３次元空間における状態を更新することが可能となり、表示画像の滑らかさの低下をさらに効果的に目立たなくすることができる。
【００１１】
なお、本発明の一態様として、前記仮想３次元空間に、前記複数の表示対象オブジェクトのそれぞれに応じた形状を有するとともに、該表示対象オブジェクトに従動する複数の不可視オブジェクトをさらに配置し、前記オブジェクト選択手段は、前記表示画像に投影された前記複数の不可視オブジェクトの前記表示画像における表示面積を、前記複数の表示対象オブジェクトの前記各表示サイズとして算出するようにしてもよい。こうすれば、比較的簡易な処理により表示対象オブジェクトの表示サイズを得ることができる。
【００１２】
また、本発明の他の態様として、前記仮想３次元空間に、前記複数の表示対象オブジェクトのそれぞれに応じた形状を有するとともに、該表示対象オブジェクトに従動する複数の不可視オブジェクトをさらに配置し、前記オブジェクト選択手段は、前記表示画像に前記複数の不可視オブジェクトの一部又は全部の頂点を投影し、投影された前記頂点の前記表示画像における位置に基づいて、前記複数の表示対象オブジェクトの前記各表示サイズとして、前記複数の不可視オブジェクトの大きさを算出するようにしてもよい。こうすれば、さらに簡易な処理により表示対象オブジェクトの表示サイズを得ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１４】
図１は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。同図に示すゲーム装置１０は、本発明に係る画像処理装置の一実施形態であり、モニタ１８及びスピーカ２２に接続された家庭用ゲーム機１１に、情報記憶媒体たるＤＶＤ−ＲＯＭ２５及びメモリカード２８が装着され、さらにモニタ１８及びスピーカ２２が接続されることによって構成されている。モニタ１８には家庭用テレビ受像器が用いられ、スピーカ２２にはその内蔵スピーカが用いられる。また、ここではプログラムを家庭用ゲーム機１１に供給するためにＤＶＤ−ＲＯＭ２５を用いるが、ＣＤ−ＲＯＭやＲＯＭカートリッジ等、他のコンピュータ読み取り可能なあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機１１に供給するようにしてもよい。
【００１５】
家庭用ゲーム機１１は、マイクロプロセッサ１４、画像処理部１６、主記憶２６、入出力処理部３０、音声処理部２０、コントローラ３２及びＤＶＤ−ＲＯＭ再生部２４を含んで構成される公知のコンピュータゲームシステムである。マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０は、バス１２によって相互データ通信可能に接続されており、入出力処理部３０には、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８が接続されている。コントローラ３２以外の家庭用ゲーム機１１の各構成要素は筐体内に収容されている。
【００１６】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステム、ＤＶＤ−ＲＯＭ２５から読み出されるプログラム、及びメモリカード２８から読み出されるセーブデータに基づいて、家庭用ゲーム機１１の各部を制御し、プレイヤにゲームを提供する。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。また、主記憶２６は、例えばＲＡＭを含んで構成されるものであり、ＤＶＤ−ＲＯＭ２５から読み出されたプログラムやメモリカード２８から読み出されたセーブデータが必要に応じて書き込まれる。また、主記憶２６は、マイクロプロセッサ１４の作業用としても用いられる。画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データを受け取って、それに基づいてＶＲＡＭ上に表示画像を描画するとともに、その内容をビデオ信号に変換して所定のタイミングで（ここでは１／６０秒毎）モニタ１８に出力する。
【００１７】
入出力処理部３０は、マイクロプロセッサ１４が、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８にアクセスするためのインタフェースである。音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ−ＲＯＭ２５から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ２２から出力する。ＤＶＤ−ＲＯＭ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ−ＲＯＭ２５に記録されたプログラムを読み取る。コントローラ３２は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。また、メモリカード２８は、不揮発性メモリ（例えばＥＥＰＲＯＭ等）を含んでおり、家庭用ゲーム機１１に対して脱着可能に構成されている。このメモリカード２８には、各種ゲームのセーブデータ等が記憶される。
【００１８】
図２は、コントローラ３２の一例を示す図である。同図に示すコントローラ３２は汎用ゲームコントローラであり、同図（ａ）に示すように、表面に方向キー３４、スタートキー３６、セレクトキー３７、ボタン３８Ｘ，３８Ｙ，３８Ａ，３８Ｂを備えており、同図（ｂ）に示すように、奥側側面に、さらにボタン３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒを備えている。すなわち、コントローラ３２の奥側側面には、表面側左右にボタン４１Ｌ，４１Ｒがそれぞれ備えられており、裏面側左右にボタン３９Ｌ，３９Ｒがそれぞれ備えられている。方向キー３４は十字形状を有しており、通常はキャラクタやカーソルの移動方向を設定するのに用いられる。スタートキー３６は三角形状を有する小型の押しボタンであり、通常はゲームのスタートやゲームの強制終了などに用いられる。セレクトキー３７は、主としてメニュー選択に用いられる。ボタン３８Ｘ，３８Ｙ，３８Ａ，３８Ｂ，３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒは、その他のゲーム操作に用いられる。コントローラ３２を操作すると、その内容を示す操作データが家庭用ゲーム機１１に入力されるようになっている。
【００１９】
また、このコントローラ３２には振動子３５が内蔵されている。振動子３５は、例えば圧電素子、或いは偏心重り付きのモータ等によって構成されるものであり、マイクロプロセッサ１４からコントローラ３２に供給される振動オン命令に応じて動作し、コントローラ３２を振動させるようになっている。また、マイクロプロセッサ１４からコントローラ３２に供給される振動オフ命令に応じて動作を停止し、コントローラ３２の振動を停止させるようになっている。
【００２０】
以下、以上のハードウェア構成を有するゲーム装置１０を用いて、複数のオブジェクトが配置された仮想３次元空間を主記憶２６上に構築するとともに、その様子を示す画像を所定時間毎に更新し、それを都度モニタ１８により表示する技術について説明する。特に本実施形態では、仮想３次元空間に配置されたオブジェクトのうち、一部（後述する表示サイズが大きいもの）については前記モニタ１８の表示が更新される毎に、すなわちモニタ１８の表示の更新時間間隔と同じ時間間隔（ここでは１／６０秒毎である）で位置や姿勢等の状態が更新されるものの、残り（表示サイズが小さいもの）についてはその２倍の時間間隔（ここでは１／３０秒毎である）で位置や姿勢等の状態が更新されるようになっている。
【００２１】
図３は、主記憶２６上に構築される仮想３次元空間の一例を示す図である。同図に示すように主記憶２６に構築される仮想３次元空間（オブジェクト空間）５０内には、例えば人間の形状のオブジェクトＰ０，Ｐ１，Ｐ２，Ｐ３が配置されている。オブジェクトＰ０については、特にコントローラ３２から入力される操作信号に基づき、その状態（位置、姿勢、ＡＩ処理、当たり判定、アニメーション処理等のゲーム更新のために必要なオブジェクトの各種情報）が更新されるようになっている。その他のオブジェクトＰ１，Ｐ２，Ｐ３については、公知技術を適用したアルゴリズムに従って、仮想３次元空間５０で位置や姿勢等の状態を変化させるようになっている。
【００２２】
仮想３次元空間５０には、プレイヤの操作対象であるオブジェクトＰ０に従動する視点ＶＰが配置されている。この視点ＶＰには視線方向ＶＤが設定されており、視点ＶＰから視線方向ＶＤを見る方向に視野範囲５２が設定され、この視野範囲５２内に位置するオブジェクトが視点ＶＰの前方に配置されたスクリーン面に投影され、これにより表示画像が生成される。この表示画像は画像処理部１６に備えられたＶＲＡＭに描画されるようになっている。そして、このＶＲＡＭに描画された表示画像がモニタ１８に出力され、仮想３次元空間５０の様子が可視化されるようになっている。具体的には、この表示画像は視点ＶＰから視線方向ＶＤを仮想的に見た場合に、視認される仮想３次元空間５０の様子を示すものであり、その可視化の範囲は視野範囲５２により区画されている。なお、図３では、オブジェクトＰ０，Ｐ２が視野範囲５２内に位置し、オブジェクトＰ１，Ｐ３は視野範囲５２外に位置している。このため、ＶＲＡＭに描画され、モニタ１８により出力される表示画像には、図４に示すように、オブジェクトＰ０及びオブジェクトＰ２をそれぞれ表す画像ＰＩ０及びＰＩ２が含まれるものの、オブジェクトＰ１及びＰ３を表す画像が含まれていない。
【００２３】
上述のように、このゲーム装置１０では、仮想３次元空間５０に配置されたオブジェクトの一部は１／６０秒毎に位置や姿勢等の状態が更新される。一方、残りのオブジェクトについては１／３０秒毎に位置や姿勢等の状態が更新される。図５は、この様子を示している。同図において、縦軸は時間の経過を示しており、図中上側から下側に向かって時間が進行する様子が示されている。１／６０秒の単位をフレームと呼ぶことにすると、ここでは連続する４つのフレームｎ−１〜フレームｎ＋２が示されている。そして、最初のフレームｎ−１ではＡ群に属するオブジェクトとＢ１群に属するオブジェクトの位置や姿勢等の状態が更新されることが示されている。また、次のフレームｎではＡ群に属するオブジェクトとＢ２群に属するオブジェクトの位置や姿勢等の状態が更新されることが示されている。また、さらに次のフレームｎ＋１ではＡ群に属するオブジェクトとＢ１群に属するオブジェクトの位置や姿勢等の状態が更新されることが示されている。さらにフレームｎ＋２ではＡ群に属するオブジェクトとＢ２群に属するオブジェクトの位置や姿勢等の状態が更新されることが示されている。ここで、Ａ群に属するオブジェクトは、図４に示される表示画像での表示サイズが所定の基準値よりも大きいオブジェクトである。また、Ｂ１群及びＢ２群に属するオブジェクトは、図４に示される表示画面での表示サイズが該所定の基準値以下のオブジェクトである。各オブジェクトがＢ１群に属するか、それともＢ２群に属するかは、例えばＢ１群及びＢ２群のそれぞれに属するオブジェクトの数等により決定される。
【００２４】
同図に示されるように、Ａ群に属するオブジェクトについては、毎フレームその位置や姿勢等の状態が更新されている。一方、Ｂ１群及びＢ２群に属するオブジェクトについては、毎フレーム交互にその位置や姿勢等の状態が更新され、いずれも２フレームに１回、その位置や姿勢等の状態が更新されている。このため、Ａ群に属するオブジェクトについては、１／６０秒毎に位置や姿勢等の状態が更新され、Ｂ１群及びＢ２群に属するオブジェクトについては、１／３０秒毎に位置や姿勢等の状態が更新される。
【００２５】
以上のようにしてオブジェクトの一部について１／６０秒毎に位置や姿勢等の状態を更新し、残りについて１／３０秒毎に位置や姿勢等の状態を更新することにすれば、各フレームで位置や姿勢等の状態を算出しなければならないオブジェクトの数を削減することができる。この結果、位置や姿勢等の状態の更新を定期的に行うことができるオブジェクトの数を増やすことができる。
【００２６】
ここで、ゲーム装置１０の機能について説明する。図６は、ゲーム装置１０の機能ブロック図である。同図にはゲーム装置１０で実現される機能のうち、本発明に関連するものが中心として示されている。これらの機能は、ＤＶＤ−ＲＯＭ２５に格納されたプログラムを家庭用ゲーム機１１で実行することにより実現されるものである。
【００２７】
同図に示すように、ゲーム装置１０は、機能的にはオブジェクト更新タイミング管理テーブル記憶部６０、オブジェクト情報記憶部６２、表示画像生成部６４を含んで構成されている。表示画像生成部６４はオブジェクト選択部６６、状態更新部６８及び描画部７０を含んで構成されている。オブジェクト更新タイミング管理テーブル記憶部６０は、例えば主記憶２６を中心として構成されており、オブジェクト更新タイミング管理テーブルを記憶するものである。図７は、このオブジェクト更新タイミング管理テーブルの一例を示している。オブジェクト更新タイミング管理テーブルは、同図に示すようにオブジェクトＩＤ、更新時間間隔及び更新グループを対応づけて記憶するものである。オブジェクトＩＤは仮想３次元空間５０に配置された各オブジェクトを識別する情報である。更新時間間隔は、対応するオブジェクトＩＤにより識別されるオブジェクトの仮想３次元空間５０における位置や姿勢等の状態を更新すべき時間間隔である。本実施形態では、１／６０秒又は１／３０秒のいずれかが記憶されている。また、更新グループは、同じ長さの時間間隔で位置や姿勢等の状態が更新されるオブジェクトのグループを識別する情報である。上記のように、１／３０秒毎に位置や姿勢等の状態が更新されるオブジェクトのグループは２つ存在しており、順次到来するフレームを交互に使用して、各グループに属するオブジェクトの位置や姿勢等の状態を算出するようにしている。更新グループは、対応するオブジェクトＩＤにより識別されるオブジェクトが１／３０秒毎に位置や姿勢等の状態を更新すべきものである場合に、それらを奇数番目のフレームで更新すべきか、或いは偶数番目のフレームで更新すべきかを示している。更新グループは、更新時間間隔が１／６０秒のオブジェクトについては記録されない。
【００２８】
図６に戻り、オブジェクト情報記憶部６２は例えば主記憶２６やＤＶＤ−ＲＯＭ２５を中心として構成されるものであり、仮想３次元空間５０に配置された全てのオブジェクトの現在の位置や姿勢等の状態を記憶するものである。
【００２９】
また、表示画像生成部６４はマイクロプロセッサ１４を中心として構成されており、オブジェクト更新タイミング管理テーブル６０やオブジェクト情報記憶部６２の記憶内容、さらにＤＶＤ−ＲＯＭ２５に格納されたその他の情報、コントローラ３２から入力される操作信号に基づいて、ゲーム画面を表す画像、すなわち表示画像を生成し、それを画像処理部１６に備えられたＶＲＡＭに描画するものである。
【００３０】
特に、オブジェクト選択部６６は、仮想３次元空間５０に配置された複数のオブジェクトのうち一部を選択する。具体的には、オブジェクト選択部６６は、各オブジェクトの表示サイズを算出して、その値に従ってオブジェクト更新タイミング管理テーブルを更新するようになっている。すなわち、オブジェクト選択部６６は毎フレーム、各オブジェクトの表示画像における表示サイズを算出し、その値が所定の基準値以下の場合には、そのオブジェクトに係る更新時間間隔を１／３０秒に設定し、その値をオブジェクト更新タイミング管理テーブルに記録するようになっている。このとき、既に更新時間間隔が１／３０秒に設定されているオブジェクトであれば、更新グループは現状のままに維持する。また、更新時間間隔が１／６０秒から１／３０秒に変更になるのであれば、新たに更新グループを割り当てる。新たに更新グループを設定する場合、現在の各更新グループに属するオブジェクトの数を取得し、その数が少ない方の更新グループを割り当てるのが望ましい。また、表示サイズの値が所定の基準値よりも大きければ、更新時間間隔を１／６０秒に設定し、その値をオブジェクト更新タイミング管理テーブルに記録する。こうして、表示サイズに基づいて、オブジェクトの一部を選択し、その結果を更新時間間隔としてオブジェクト更新タイミング管理テーブルに記憶するようにしている。
【００３１】
状態更新部６８は、オブジェクト選択部６６により選択されるオブジェクトの仮想３次元空間５０における各位置や姿勢等の状態を、他のオブジェクトの仮想３次元空間５０における各位置や姿勢等の状態とは異なる時間間隔で更新する。具体的には、状態更新部６８は次のようにして各オブジェクトの位置や姿勢等の状態を演算している。
【００３２】
まず、オブジェクト更新タイミング管理テーブル記憶部６０に記憶されたオブジェクト更新タイミング管理テーブルを各フレームの開始タイミングが到来する毎に読み出し、そこから今回のフレームで位置や姿勢等の状態を更新すべきオブジェクトのオブジェクトＩＤを読み出している。さらに具体的には、状態更新部６８では、今回のフレームで位置や姿勢等の状態を更新すべきオブジェクトの更新グループ（すなわち今回のフレームが奇数番目のフレームであって更新グループ１のオブジェクトの位置や姿勢等の状態を更新すべきか、偶数番目のフレームであって更新グループ２のオブジェクトの位置や姿勢等の状態を更新すべきか）を管理している。つまり、今回のフレームの更新グループが１であれば次フレームでは２に、逆に今回のフレームの更新グループが２であれば次フレームでは１に更新している。そして、状態更新部６８では、今回のフレームの更新グループと一致する情報（１又は２）が、オブジェクト更新タイミング管理テーブルの更新グループの欄に記録されているレコード（行）を検索して、その更新グループに対応づけて記憶されたオブジェクトＩＤを今回のフレームで位置や姿勢等の状態を更新すべきオブジェクトを識別するオブジェクトＩＤとして読み出す。
【００３３】
さらに、状態更新部６８では、オブジェクト更新タイミング管理テーブルの更新時間間隔の欄に１／６０が記録されたレコードを検索し、その更新時間間隔に対応づけて記憶されたオブジェクトＩＤも、今回のフレームで位置や姿勢等の状態を更新すべきオブジェクトを識別するオブジェクトＩＤとして読み出す。
【００３４】
状態更新部６８は、オブジェクト更新タイミング管理テーブルから選択的にオブジェクトＩＤを読み出すと、それらにより識別されるオブジェクトについて位置や姿勢等の状態を算出する。そして、その結果をオブジェクト情報記憶部６２に記憶する。こうすれば、オブジェクト選択部６６により選択されるオブジェクトの仮想３次元空間５０における各位置や姿勢等の状態を他のオブジェクトの仮想３次元空間５０における各位置や姿勢等の状態とは異なる時間間隔で更新することができる。
【００３５】
描画部７０は、所定時間（ここでは１／６０秒）毎に、オブジェクト情報記憶部６２に記憶された各オブジェクトの最新の位置や姿勢等の状態に基づき、表示画像を画像処理部１６のＶＲＡＭに描画する。この表示画像は１／６０秒毎に読み出され、モニタ１８により表示される。
【００３６】
ここで、ゲーム装置１０の表示画像生成処理について説明する。図８は、ゲーム装置１０で実行される表示画像生成処理を示すフロー図である。この処理はゲーム装置１０において、ＤＶＤ−ＲＯＭ２５に格納されたプログラムに基づいてフレーム毎（所定時間（１／６０秒）毎）に実行されるものである。
【００３７】
同図に示すように、ゲーム装置１０ではマイクロプロセッサ１４（オブジェクト選択部６６及び状態更新部６８）がＤＶＤ−ＲＯＭ２５から読み出されるゲームプログラム、ゲームデータ、オブジェクト更新タイミング管理テーブル記憶部６０及びオブジェクト情報記憶部６２の記憶内容に基づき、まず各オブジェクトのワールド座標系での位置や姿勢等のオブジェクトの各種状態を算出する（Ｓ１０１）。Ｓ１０１では、視点ＶＰ、視線方向ＶＤ、視野範囲５２も算出される。Ｓ１０１の処理は後に図９及び図１０に従って詳細に説明する。
【００３８】
ゲーム画面生成処理では、次にマイクロプロセッサ１４（描画部７０）がオブジェクト情報記憶部６２の記憶内容に基づき、ジオメトリ処理を行う（Ｓ１０２）。ジオメトリ処理ではワールド座標系から視点座標系への座標変換を行う。また、オブジェクトを構成する各ポリゴンの頂点の色情報が光源情報（光源の色及び位置）に基づいて修正される。さらに、クリッピング処理も行われる。
【００３９】
その後、マイクロプロセッサ１４（描画部７０）はレンダリング処理を行う（Ｓ１０３）。この処理では、マイクロプロセッサ１４は視野範囲５２に属する各ポリゴンの頂点座標、頂点色情報、テクスチャ座標及びアルファ値を画像処理部１６に送出し、画像処理部１６ではそれらの情報に基づいてＶＲＡＭ上に表示画像を形成する。画像処理部１６のＶＲＡＭに形成された表示画像は所定タイミングで読み出されて、モニタ１８により表示される。
【００４０】
図９は、オブジェクト状態算出ルーチンを示すフロー図である。このフロー図は、図８のＳ１０１の処理を詳細に示すものである。まず、オブジェクト状態算出ルーチンでは、状態更新部６８が、今回のフレームの更新グループを読み出す（Ｓ２０１）。そして、オブジェクト更新タイミング管理テーブル記憶部６０から、更新時間間隔が１／６０秒に設定されたオブジェクトのオブジェクトＩＤを読み出すとともに、そのオブジェクトＩＤにより識別されるオブジェクトの位置や姿勢等の状態を算出し、それをオブジェクト情報記憶部６２に格納する（Ｓ２０２）。さらに、オブジェクト更新タイミング管理テーブル記憶部６０から、更新時間間隔が１／３０秒に設定され、且つ更新グループとしてＳ２０１で読み出した情報が設定されているオブジェクトのオブジェクトＩＤを読み出すとともに、そのオブジェクトＩＤにより識別されるオブジェクトの位置や姿勢等の状態を算出し、それをオブジェクト情報記憶部６２に格納する（Ｓ２０３）。
【００４１】
その後、オブジェクト選択部６６は、オブジェクト更新タイミング管理テーブル記憶部６０の記憶内容を更新する。すなわち、現在視野範囲５２内に位置するオブジェクトについて、オブジェクト更新タイミング管理テーブルに記憶されている更新時間間隔及び更新グループを更新する（Ｓ２０４）。この処理は図１０に従って後に詳述する。
【００４２】
その後、状態更新部６８はＳ２０１で読み出した更新グループを更新する（Ｓ２０５）。具体的には、更新グループが１であれば２に変更し、更新グループが２であれば１に変更する。こうして、１／３０秒の更新時間間隔が設定されたオブジェクトのうち、更新グループ１に属するものと、更新グループ２に属するものとが、交互に位置や姿勢等の状態演算の対象とされるようになっている。
【００４３】
図１０は、更新時間間隔及び更新グループ更新ルーチンを示すフロー図である。このフロー図は、図９のＳ２０４の処理を詳細に示すものである。この処理では、まず視野範囲５２内に位置するオブジェクトのうち１つについて、表示サイズを算出する（Ｓ３０１）。具体的には、図１１に示すように、そのオブジェクト（ここではオブジェクトＰ０）を取り囲む不可視の（モニタ１８により表示されない）オブジェクト７１を仮想３次元空間５０に配置し、このオブジェクト７１を視点ＶＰの前方に配置された投影面７２に投影して投影画像を生成する。投影面７２は、仮想３次元空間５０の様子を示す表示画像を生成するのに用いる前記スクリーン面とは別に用意され、前記スクリーン面と同一位置、又は前記スクリーン面と平行する位置に配置される。
【００４４】
図１２は、こうして得られる投影画像の一例を示している。同図に示す投影画像では、不可視のオブジェクト７１が投影された領域が着色され、その他は着色されていない。そして、この着色されている領域を構成する画素数を計数することにより、オブジェクト７１の面積を得ることができる。本発明の一実施形態では、この面積を表示対象のオブジェクト（図１１ではオブジェクトＰ０）の表示サイズとする。
【００４５】
また、他の実施形態では、オブジェクト７１の頂点７４を投影面７２に投影し、投影面７２における各頂点７４の位置座標を得る。そして、これら投影後の頂点７４のうち、所定方向（例えば上下方向）に最も離れた２つを選出し、その距離（Ｌ１とする）を算出する。さらに、前記所定方向と垂直な方向に最も離れた２つを選出し、その距離（Ｌ２とする）を算出する。そして、この距離Ｌ１と距離Ｌ２を乗じて頂点７４群の外接矩形７６の面積を算出する。本発明の一実施形態として、こうして算出される外接矩形７６の面積を表示対象のオブジェクトの表示サイズとしてもよい。
【００４６】
図１０に戻り、次に、こうして算出される表示サイズが基準値よりも大きいか否かを判断する（Ｓ３０２）。そして、基準値以下であれば、そのオブジェクトの更新時間間隔を１／３０秒に設定し、更新グループは上述したようにして維持又は新規設定する（Ｓ３０３）。この内容はオブジェクト更新タイミング管理テーブルに書き込まれる。一方、基準値よりも大きければ、そのオブジェクトの更新時間間隔を１／６０に設定する（Ｓ３０４）。この内容もオブジェクト更新タイミング管理テーブルに書き込まれる。そして、視野範囲５２内に位置する全てのオブジェクトについて、Ｓ３０１乃至Ｓ３０４の処理を繰り返す（Ｓ３０５）。
【００４７】
以上説明した本実施形態に係るゲーム装置１０によれば、モニタ１８での表示対象となるオブジェクトのモニタ１８（表示画像）における表示サイズを算出し、この表示サイズが基準値よりも大きければ１／６０秒毎に位置や姿勢等の状態が更新され、表示サイズが基準値以下であれば１／３０秒毎に位置や姿勢等の状態が更新されるようになっている。このため、全体として定期的に位置や姿勢等の状態を更新することができるオブジェクトの数を増やすことができる。また、位置や姿勢等の状態を更新する時間間隔が長めとなるオブジェクトを一部に限ることができるので、表示画像の滑らかさの低下を目立たなくすることができる。特に、位置や姿勢等の状態を更新する時間間隔が長めとなるオブジェクトを、表示画像において目立ちにくいオブジェクトから選択することによって、表示画像の滑らかさの低下を効果的に目立たなくすることができる。
【００４８】
なお、本発明は上記実施形態に限定されるものではなく、例えば、本発明はアクションゲームのみならず、対戦ゲーム、ガンシューティングゲーム等のシューティングゲーム等、あらゆるジャンルのゲームの画像処理に適用可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態に係るゲーム装置（画像処理装置）のハードウェア構成を示す図である。
【図２】コントローラの外観を示す図である。
【図３】ゲーム装置において構築され、管理される仮想３次元空間の一例を示す図である。
【図４】ゲーム装置のモニタに表示される画像の一例を示す図である。
【図５】連続する複数フレームにおいて位置や姿勢等の状態が更新されるオブジェクトのグループを示す図である。
【図６】本発明の一実施形態に係るゲーム装置の機能ブロック図である。
【図７】オブジェクト更新タイミング管理テーブルの一例を示す図である。
【図８】表示画像生成処理を示すフロー図である。
【図９】オブジェクト状態算出ルーチンを示すフロー図である。
【図１０】更新時間間隔及び更新グループ更新ルーチンを示すフロー図である。
【図１１】表示対象オブジェクトの表示サイズを算出する処理を説明する図である。
【図１２】表示対象オブジェクトの表示サイズを算出するために用いる投影面の画像を示す図である。
【図１３】表示対象オブジェクトの表示サイズを算出するために用いる投影面の画像を示す図である。
【符号の説明】
【００５０】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ−ＲＯＭ再生部、２５  ＤＶＤ−ＲＯＭ、２６  主記憶、２８  メモリカード、３０  入出力処理部、３２  コントローラ、３４  方向キー、３５  振動子、３６  スタートキー、３７  セレクトキー、３８Ａ，３８Ｂ，３８Ｘ，３８Ｙ，３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒ  ボタン、５０  仮想３次元空間（オブジェクト空間）、５２  視野範囲、６０  オブジェクト更新タイミング管理テーブル記憶部、６２  オブジェクト情報記憶部、６４  表示画像生成部、６６  オブジェクト選択部、６８  状態更新部、７０  描画部、７１  オブジェクト、７２  投影面、７４  頂点、  ７６  外接矩形。
【図１】
2006235748.tif 000003
【図２】
2006235748.tif 000004
【図３】
2006235748.tif 000005
【図４】
2006235748.tif 000006
【図５】
2006235748.tif 000007
【図６】
2006235748.tif 000008
【図７】
2006235748.tif 000009
【図８】
2006235748.tif 000010
【図９】
2006235748.tif 000011
【図１０】
2006235748.tif 000012
【図１１】
2006235748.tif 000013
【図１２】
2006235748.tif 000014
【図１３】
2006235748.tif 000015
【手続補正書】
【提出日】平成18年5月12日(2006.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理装置であって、
前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出手段と、
前記表示サイズ算出手段により算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択手段と、
前記オブジェクト選択手段により選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記仮想３次元空間には、前記複数の表示対象オブジェクトのそれぞれに応じた形状を有するとともに、該表示対象オブジェクトに従動する複数の不可視オブジェクトがさらに配置され、
前記オブジェクト選択手段は、
前記表示画像に投影された前記複数の不可視オブジェクトの前記表示画像における表示面積を、前記複数の表示対象オブジェクトの前記各表示サイズとして算出する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置において、
前記仮想３次元空間には、前記複数の表示対象オブジェクトのそれぞれに応じた形状を有するとともに、該表示対象オブジェクトに従動する複数の不可視オブジェクトがさらに配置され、
前記オブジェクト選択手段は、
前記表示画像に前記複数の不可視オブジェクトの一部又は全部の頂点を投影し、投影された前記頂点の前記表示画像における位置に基づいて、前記複数の表示対象オブジェクトの前記各表示サイズとして、前記複数の不可視オブジェクトの大きさを算出する、
ことを特徴とする画像処理装置。
【請求項４】
視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像処理方法であって、
表示サイズ算出手段が、前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出ステップと、
オブジェクト選択手段が、前記表示サイズ算出ステップで算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択ステップと、
状態更新手段が、前記オブジェクト選択ステップで選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新ステップと、
を含むことを特徴とする画像処理方法。
【請求項５】
視点及び複数の表示対象オブジェクトが配置された仮想３次元空間を前記視点から見た様子を示す表示画像を生成し、表示する画像表示手段、
前記表示画像における前記複数の表示対象オブジェクトの各表示サイズを算出する表示サイズ算出手段、
前記表示サイズ算出手段により算出される前記複数の表示対象オブジェクトの各表示サイズに基づいて、前記複数の表示対象オブジェクトのうち一部を選択するオブジェクト選択手段、及び
前記オブジェクト選択手段により選択されるオブジェクトの前記仮想３次元空間における各状態を、他のオブジェクトの前記仮想３次元空間における各状態とは異なる時間間隔で更新する状態更新手段
としてコンピュータを機能させるためのプログラム。