説明

画像処理装置、画像処理方法、及びプログラム

【課題】例えば、暗闇や霧などによって仮想空間における視界が悪いが故に仮想空間内の物やキャラクタをおぼろげにしか認識できない様子を好適に表現することが可能な画像処理装置を提供すること。
【解決手段】第1画像生成手段(62)は、所定オブジェクトが取り除かれてなる仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する。第1画像の画素の輝度は、該画素と該画素の周辺画素との間の輝度の差又は/及び深度の差に関する情報に基づいて増減される。さらに、第1画像にぼかし処理と画素ずらし処理との少なくとも一方が施される。第2画像生成手段(70)は、仮想空間の対象領域内に所定オブジェクトが含まれる場合、視点から仮想空間を見た場合の所定オブジェクトの様子を表す第2画像を生成する。そして、第1画像と第2画像とが、第2画像に表される所定オブジェクトを歪ませるようにして合成されてなる画像が表示される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
仮想空間の様子を表す画像を表示手段に表示させる画像処理装置が知られている。例えば、ゲーム空間の様子を表すゲーム画面を表示手段に表示させるゲーム装置が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−314647号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような画像処理装置では、例えば、暗闇や霧などによって仮想空間における視界が悪いが故に仮想空間内の物やキャラクタをおぼろげにしか認識できない様子を表現したい場合がある。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、例えば、暗闇や霧などによって仮想空間における視界が悪いが故に仮想空間内の物やキャラクタをおぼろげにしか認識できない様子を好適に表現することが可能な画像処理装置、画像処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、仮想空間の様子を表す画像を表示手段に表示させる画像処理装置において、前記仮想空間に配置されるオブジェクトのうちの所定オブジェクトが取り除かれてなる前記仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する第1画像生成手段と、前記第1画像の各画素に関し、前記視点からの距離に関する情報を取得する距離情報取得手段と、前記第1画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度の差又は/及び前記距離の差に関する情報に基づいて増減する輝度変更手段と、前記輝度変更手段によって画素の輝度が増減された前記第1画像にぼかし処理と画素ずらし処理との少なくとも一方を施すぼかし処理/画素ずらし処理実行手段と、前記仮想空間の対象領域内に前記所定オブジェクトが含まれる場合、前記視点から前記仮想空間を見た場合の前記所定オブジェクトの様子を表す第2画像を生成する第2画像生成手段と、前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを歪ませるようにして合成してなる画像を前記表示手段に表示させる表示制御手段と、を含むことを特徴とする。
【0007】
また、本発明に係る画像処理方法は、仮想空間の様子を表す画像を表示手段に表示させる画像処理方法において、前記仮想空間に配置されるオブジェクトのうちの所定オブジェクトが取り除かれてなる前記仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する第1画像生成ステップと、前記第1画像の各画素に関し、前記視点からの距離に関する情報を取得する距離情報取得ステップと、前記第1画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度の差又は/及び前記距離の差に基づいて増減する輝度変更ステップと、前記輝度変更ステップによって画素の輝度が増減された前記第1画像にぼかし処理と画素ずらし処理との少なくとも一方を施すぼかし処理/画素ずらし処理実行ステップと、前記仮想空間の対象領域内に前記所定オブジェクトが含まれる場合、前記視点から前記仮想空間を見た場合の前記所定オブジェクトの様子を表す第2画像を生成する第2画像生成ステップと、前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを歪ませるようにして合成してなる画像を前記表示手段に表示させる表示制御ステップと、を含むことを特徴とする。
【0008】
また、本発明に係るプログラムは、仮想空間の様子を表す画像を表示手段に表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、前記仮想空間に配置されるオブジェクトのうちの所定オブジェクトが取り除かれてなる前記仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する第1画像生成手段、前記第1画像の各画素に関し、前記視点からの距離に関する情報を取得する距離情報取得手段、前記第1画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度の差又は/及び前記距離の差に基づいて増減する輝度変更手段、前記輝度変更手段によって画素の輝度が増減された前記第1画像にぼかし処理と画素ずらし処理との少なくとも一方を施すぼかし処理/画素ずらし処理実行手段、前記仮想空間の対象領域内に前記所定オブジェクトが含まれる場合、前記視点から前記仮想空間を見た場合の前記所定オブジェクトの様子を表す第2画像を生成する第2画像生成手段、及び、前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを歪ませるようにして合成してなる画像を前記表示手段に表示させる表示制御手段、として前記コンピュータを機能させるためのプログラムである。
【0009】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0010】
本発明によれば、例えば、暗闇や霧などによって仮想空間における視界が悪いが故に仮想空間内の物やキャラクタをおぼろげにしか認識できない様子を好適に表現することが可能になる。
【0011】
また本発明の一態様では、前記表示制御手段は、前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを前記対象領域の基準点から離れるにつれて歪みの程度が大きくなるように歪ませて合成してなる前記画像を前記表示手段に表示させるようにしてもよい。
【0012】
また本発明の一態様では、前記第2画像生成手段は、前記仮想空間内の音源位置を取得する手段と、前記音源位置に基づいて前記対象領域を設定する手段と、前記対象領域の大きさを時間経過に伴って増やす手段と、を含むようにしてもよい。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係るゲーム装置(画像処理装置)のハードウェア構成を示す図である。
【図2】仮想空間の一例を示す図である。
【図3】表示部に表示される画面の一例を示す模式図である。
【図4】ユーザキャラクタによるロッカーの認識について説明するための図である。
【図5】表示部に表示される画面の他の一例を示す模式図である。
【図6】本発明の実施形態に係るゲーム装置(画像処理装置)の機能ブロック図である。
【図7】ゲーム装置で実行される処理の一例を示すフロー図である。
【図8】処理の過程で生成される画像の一例を示す模式図である。
【図9】画像ずらし処理の一例について説明するための図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)、又はパーソナルコンピュータなどによって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0015】
図1は、本発明の実施形態に係るゲーム装置(画像処理装置)のハードウェア構成を示す。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部32、音声出力部34、及び光ディスク36(情報記憶媒体)を含む。表示部32及び音声出力部34は家庭用ゲーム機11に接続される。表示部32としては例えば家庭用テレビ受像機又は液晶ディスプレイなどが用いられ、音声出力部34としては例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホンなどが用いられる。
【0016】
家庭用ゲーム機11は公知のコンピュータシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30を含む。
【0017】
制御部14は一又は複数のマイクロプロセッサを含む。制御部14は、光ディスク36から読み出されるプログラムに基づいて、各部の制御処理や情報処理を実行する。主記憶16は例えばRAMを含み、光ディスク36から読み出されたプログラム及びデータが主記憶16に書き込まれる。主記憶16は制御部14の作業用メモリとしても用いられる。バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0018】
画像処理部18はVRAMを含み、制御部14から供給される画像データに基づいてVRAM上に画面を描画する。VRAM上に描画された画面はビデオ信号に変換されて所定のタイミングで表示部32に出力される。
【0019】
入出力処理部20は、制御部14が音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、及びコントローラ30にアクセスするためのインタフェースである。音声処理部22はサウンドバッファを含み、光ディスク36からサウンドバッファに読み出された音声データを音声出力部34から出力する。通信インタフェース28は、インターネットなどの通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0020】
光ディスクドライブ24は光ディスク36に記録されたプログラムやデータを読み取る。家庭用ゲーム機11では各種ゲームが光ディスク36に記録されたプログラムに基づいて実行される。ここでは、プログラムやデータを家庭用ゲーム機11に供給するために光ディスク36を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。光ディスク36に記憶されることとして説明するプログラムやデータはハードディスク26に記憶されていてもよい。
【0021】
コントローラ30はユーザが操作を行うための操作部である。入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介して制御部14に供給する。制御部14は操作信号に基づいてユーザの操作を判定する。
【0022】
以下では、暗闇や霧などによって仮想空間(ゲーム空間)における視界が悪いが故に仮想空間内の物やキャラクタをおぼろげにしか認識できない様子を好適に表現するための技術について説明する。なお、ここでは、聴力に優れているゲームキャラクタが暗闇の中に置かれた物の存在を音を頼りに認識しながら暗闇の中を移動していくゲームがゲーム装置10で実行される例について説明する。
【0023】
図2は仮想空間の一例を示す。図2に示す仮想空間40は、互いに直交する三つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間になっている。仮想空間40に配置されるオブジェクトの位置などはこれら三つの座標軸の座標値によって特定される。
【0024】
図2に示す仮想空間40には、床を表すオブジェクトである床42が配置されている。また、床42上には、壁を表すオブジェクトである壁44と、ロッカー(戸棚)を表すオブジェクトであるロッカー46a,46bとが配置されている。床42、壁44及びロッカー46a,46bは配置位置が変化しない静的オブジェクトである。なお、以下では、ロッカー46a,46bのことを総称して「ロッカー46」と記載する場合がある。
【0025】
さらに、床42上には、ユーザによって操作されるキャラクタオブジェクトであるユーザキャラクタ48と、敵キャラクタを表すオブジェクトである敵キャラクタ50と、が配置されている。ユーザキャラクタ48はユーザの操作に従って仮想空間40内を移動する。一方、敵キャラクタ50は所定のアルゴリズムに従って自律的に仮想空間40内を移動する。ユーザキャラクタ48及び敵キャラクタ50は配置位置や姿勢が変化する動的オブジェクトである。
【0026】
ユーザキャラクタ48が敵キャラクタ50から攻撃を受けると、ユーザキャラクタ48の体力パラメータが減少する。このため、ユーザはユーザキャラクタ48が敵キャラクタ50からの攻撃を受けないように留意しながらユーザキャラクタ48を移動させる。
【0027】
仮想空間40には仮想カメラ52(視点)が設定される。図2に示す例では、仮想カメラ52がユーザキャラクタ48の後方かつ上方に設定されている。仮想カメラ52はユーザキャラクタ48の移動に従って移動する。
【0028】
仮想カメラ52から見た仮想空間40を表す画面が表示部32に表示される。図3は表示部32に表示される画面の一例を示す。図3に示す画面には床42、壁44、ユーザキャラクタ48、及び敵キャラクタ50が表示されている。なお、図3において画面の大部分に付された斜線は、仮想空間40が暗いことを表している。また、図3では床42、壁44、及び敵キャラクタ50が点線で表されている。これは、画面に床42、壁44、及び敵キャラクタ50がおぼろげに表示されることを示している。暗い仮想空間40内における床42、壁44、及び敵キャラクタ50をおぼろげに表示するための技術については後述する(図7のステップS102〜S108参照)。
【0029】
図3に示す画面にはロッカー46a,46bが表示されていない。図3に示す画面は、ユーザキャラクタ48がロッカー46a,46bの存在(輪郭や形状)を認識できていない状態を表している。このゲームでは、例えば、床42又は壁44を叩いた場合などに発生する音によってユーザキャラクタ48がロッカー46の存在を認識するようになっている。
【0030】
図4はユーザキャラクタ48によるロッカー46の存在の認識について説明するための図である。図4に示すように、音が発生した場合には音源位置54が設定される。例えば、ユーザキャラクタ48が壁44を叩いたことによって音が発生した場合には、ユーザキャラクタ48が叩いた位置が音源位置54に設定される。
【0031】
音源位置54が設定されると、音源位置54に基づいて音領域56が設定される。例えば、音領域56は音源位置54を中心とする球状領域である。音領域56は音の伝搬を表しており、音領域56は時間経過に伴って大きくなっていく。つまり、音領域56の半径(r)は時間経過に伴って所定の初期値(例えば0)から所定の最大値(R)まで徐々に大きくなっていく。そして、音領域56の半径(r)が最大値(R)になると、音領域56は消滅する。なお、ここでは音領域56が球状領域であることとして説明するが、音領域56は球状領域以外の領域であってもよい。
【0032】
音領域56の表面がロッカー46と接触した場合(言い換えれば、音領域56内にロッカー46に含まれる場合)、そのロッカー46の存在がユーザキャラクタ48によって認識されたことになり、そのロッカー46は画面に表示される。例えば、図4に示す例では、ロッカー46aが音領域56と接触しているため、ロッカー46aが画面に表示される。図5は、この場合に表示部32に表示される画面の一例を示す。図5に示す画面には、ユーザキャラクタ48が認識したロッカー46aが表示されている。なお、ロッカー46aはおぼろげに表示されるようになっている。ユーザキャラクタ48が認識したロッカー46aをおぼろげに表示するための技術については後述する(図7のステップS111,S112参照)。
【0033】
以下、以上に説明したような画面を表示するための構成について説明する。図6は、ゲーム装置10で実現される機能ブロックのうち、本発明に関連する機能ブロックを主として示す機能ブロック図である。図6に示すように、ゲーム装置10は、データ記憶部60、第1画像生成部62、距離情報取得部64、輝度変更部66、ぼかし処理/画像ずらし処理実行部68、第2画像生成部70、及び表示制御部72を含む。
【0034】
データ記憶部60は例えば主記憶16及び光ディスク36によって実現される。データ記憶部60は各種データを記憶する。例えば、仮想空間40に配置される各オブジェクトの形状データがデータ記憶部60に記憶される。また、静的オブジェクト(例えば、床42、壁44、及びロッカー46)の位置データがデータ記憶部60に記憶される。
【0035】
さらに、ゲームの状況を示すゲーム状況データがデータ記憶部60に記憶される。例えば、下記に示すようなデータがゲーム状況データに含まれる。
[1]ユーザキャラクタ48及び敵キャラクタ50の状態データ(例えば位置、姿勢、移動方向、及び移動速度など)
[2]ユーザキャラクタ48のパラメータデータ(例えば体力パラメータ)
[3]仮想カメラ52の状態データ(例えば位置、視線方向、及び画角)
[4]音領域フラグ、音源位置54、及び音領域56の半径(r)
【0036】
なお、音領域フラグは、音領域56が発生中であるか否かを示す情報、言い換えれば、音源位置54で発生した音が伝搬中である否かを示す情報である。音領域フラグは「0」又は「1」の値をとる。値「0」は音領域56が発生中でないことを示し、値「1」は音領域56が発生中であることを示す。また、音領域56が発生中である場合には、音領域56の基準位置である音源位置54と、音領域56の現在の半径(r)と、がゲーム状況データの一部として記憶される。
【0037】
データ記憶部60以外の機能ブロックは、制御部14が光ディスク36に記憶されたプログラムに従って処理を実行することによって実現される。図7は、制御部14が所定時間(例えば1/60秒)ごとに実行する処理のうち、本発明に関連する処理の一例を主に示すフロー図である。以下、図7に示す処理を説明しながら、データ記憶部60以外の機能ブロックの動作について説明する。
【0038】
図7に示すように、まず制御部14はゲーム状況データを更新する(S101)。例えば、制御部14はユーザキャラクタ48の状態データをユーザの操作に基づいて更新し、敵キャラクタ50の状態データを所定のアルゴリズムに基づいて更新する。また、制御部14は仮想カメラ52の状態データも更新する。
【0039】
また例えば、制御部14は、ユーザキャラクタ48が敵キャラクタ50から攻撃を受けたか否かを判定する。そして、ユーザキャラクタ48が敵キャラクタ50から攻撃を受けた場合、制御部14はユーザキャラクタ48のパラメータデータ(例えば体力パラメータ)を更新する。
【0040】
また例えば、制御部14は音発生条件が満足されたか否かを判定する。「音発生条件」は、例えば、ユーザキャラクタ48が壁44などを叩いたか否かの条件である。音発生条件が満足された場合、制御部14は音源位置54をゲーム状況データの一部として記憶させるとともに、音領域フラグを「0」から「1」に更新する。また、音領域フラグが「1」である場合、制御部14は、ゲーム状況データの一部として記憶される音領域56の半径(r)を更新する。上述したように、制御部14は、音領域56の半径(r)を時間経過に伴って徐々に増加することによって、音領域56の大きさを時間経過に伴って徐々に増やす。なお、音領域56の半径(r)が最大値(R)になると、音領域フラグは「1」から「0」に更新される。
【0041】
ステップS101の処理が実行された後、制御部14(第1画像生成部62)は、仮想カメラ52から見た仮想空間40の様子を表す背景画像(第1画像)をVRAM上に生成する(S102)。このとき、仮想空間40に配置されるオブジェクトのうち、所定オブジェクトが取り除かれている。また、背景画像はグレースケールの画像として生成される。
【0042】
本実施形態の場合、ロッカー46(所定オブジェクト)が仮想空間40から取り除かれる。また、ユーザキャラクタ48及び敵キャラクタ50も仮想空間40から取り除かれる。そして、それらのオブジェクトが取り除かれてなる仮想空間40を仮想カメラ52から見た様子を表す画像が背景画像として生成される。
【0043】
この場合、仮想空間40から取り除かれないオブジェクト(例えば床42や壁44など)にマッピングされるテクスチャ画像は、そのテクスチャ画像の各画素の輝度に基づいてグレースケールの画像に変換される。そして、グレースケールに変換されたテクスチャ画像に基づいて背景画像が生成される。その結果、背景画像はグレースケールの画像になる。図8(A)は、ステップS102で生成される背景画像の一例を示す模式図である。
【0044】
ステップS102の処理が実行された後、制御部14(距離情報取得部64)は、ステップS102で生成された背景画像(第1画像)の距離情報(深度情報)を取得する(S103)。制御部14は、背景画像の各画素について、仮想カメラ52からの距離に関する距離情報を取得する。この距離情報は、画素に表示される仮想空間40内の位置と、仮想カメラ52の位置と、の間の距離に関する情報である。例えば、壁44上の一点が表示される画素の場合、壁44上の該点と仮想カメラ52の位置との間の距離に関する情報が取得される。なお、上記距離は仮想カメラ52から視線方向への奥行き(深さ)に相当するため、以下では上記距離のことを「深度」と記載する。例えば、深度は0〜255の数値で表される。
【0045】
ステップS103の処理が実行された後、制御部14(輝度変更部66)は、ステップS102で生成された背景画像(第1画像)の画素の輝度を変更する(S104)。制御部14は、背景画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度差又は/及び深度差に関する情報に基づいて増減する。
【0046】
ステップS104では、例えば、周辺画素との間の輝度差が大きい画素の輝度が元々の輝度よりも高くなるように(言い換えれば、より白くなるように)変更される。この場合、画素(対象画素)とその周辺画素との間の輝度差が大きいか否かは下記に説明するようにして判定される。まず、制御部14は対象画素の周辺画素の輝度の平均を算出する。「対象画素の周辺画素」は、例えば、「対象画素を中心とする縦:m(例えば3)画素×横:n(例えば3)画素の領域」に含まれるm×n個の画素のうちの対象画素以外の画素である。そして、制御部14は、対象画素の輝度と、周辺画素の輝度の平均と、の間の差が第1基準値よりも大きいか否かを判定する。上記差が第1基準値よりも大きい場合、制御部14は対象画素とその周辺画素との間の輝度差が大きいと判定し、対象画素の輝度を元々の輝度よりも高くなるように変更する。
【0047】
またステップS104では、例えば、周辺画素との間の輝度差が小さい画素の輝度が元々の輝度よりも低くなるように(言い換えれば、より黒くなるように)変更される。この場合、画素(対象画素)とその周辺画素との間の輝度差が小さいか否かは下記に説明するようにして判定される。まず、制御部14は対象画素の周辺画素の輝度の平均を算出する。その後、制御部14は、対象画素の輝度と、周辺画素の輝度の平均と、の間の差が第2基準値よりも小さいか否かを判定する。そして、上記差が第2基準値よりも小さい場合、制御部14は対象画素と周辺画素との間の輝度差が小さいと判定し、対象画素の輝度を元々の輝度よりも低くなるように変更する。
【0048】
またステップS104では、例えば、周辺画素との間の深度差が大きい画素の輝度が元々の輝度よりも高くなるように(言い換えれば、より白くなるように)変更される。この場合、画素(対象画素)とその周辺画素との間の深度差が大きいか否かは下記に説明するようにして判定される。まず、制御部14は対象画素の周辺画素の深度の平均を算出する。その後、制御部14は、対象画素の深度と、周辺画素の深度の平均と、の間の差が第3基準値よりも大きいか否かを判定する。そして、上記差が第3基準値よりも大きい場合、制御部14は対象画素と周辺画素との間の深度差が大きいと判定し、対象画素の輝度を元々の輝度よりも高くなるように変更する。
【0049】
またステップS104では、例えば、周辺画素との間の深度差が小さい画素の輝度が元々の輝度よりも低くなるように(言い換えれば、より黒くなるように)変更される。この場合、画素(対象画素)とその周辺画素との間の深度差が小さいか否かは下記に説明するようにして判定される。まず、制御部14は対象画素の周辺画素の深度の平均を算出する。その後、制御部14は、対象画素の深度と、周辺画素の深度の平均と、の間の差が第4基準値よりも小さいか否かを判定する。そして、上記差が第4基準値よりも小さい場合、制御部14は対象画素と周辺画素との間の深度差が小さいと判定し、対象画素の輝度を元々の輝度よりも低くなるように変更する。
【0050】
ステップS104の処理が実行される結果として、背景画像において、輝度や深度が大きく変化する部分、つまり各オブジェクトの境界(輪郭)部分が強調され、それ以外の部分はぼかされる。
【0051】
ステップS104の処理が実行された後、制御部14(ぼかし処理/画像ずらし処理実行部68)は、ステップS104で画素の輝度が変更された背景画像(第1画像)にぼかし処理を施す(S105)。ここでは一般的なぼかし処理が用いられる。さらに、制御部14(ぼかし処理/画像ずらし処理実行部68)は、ステップS105でぼかし処理が施された背景画像(第1画像)に画素ずらし処理を施す(S106)。
【0052】
図9は画素ずらし処理の一例について説明するための図である。本実施形態の場合、制御部14は、背景画像80の画素82を正弦波に基づいて所定方向にずらす。具体的には、各画素82に正弦波の振幅値が関連づけられる。図9に示す例では、各画素列84ごとに正弦波の振幅値が関連づけられている。そして、制御部14は、画素82を、その画素82に関連づけられた振幅値に対応する画素数だけ上方向又は下方向にずらす。振幅値が正の値である場合に画素82は上方向にずらされ、振幅値が負の値である場合に画素82は下方向にずらされる。なお、各画素行86ごとに正弦波の振幅値が関連づけるようにしてもよい。また制御部14は、画素82を、その画素82に関連づけられた振幅値に対応する画素数だけ右方向又は左方向にずらすようにしてもよい。
【0053】
さらに、本実施形態の場合、ステップS106で画素ずらし処理が施された背景画像に対して、前フレームにおいて生成された背景画像(ぼかし処理及び画素ずらし処理が施された背景画像)が半透明合成される。
【0054】
ステップS106の処理が実行された後、制御部14は敵キャラクタ画像をVRAM上に生成する(S107)。ステップS107では、例えば、敵キャラクタ50が床42や壁44とともに配置された仮想空間40を仮想カメラ52から見た様子を表す画像が敵キャラクタ画像として生成される。この敵キャラクタ画像では、敵キャラクタ50が描画された部分以外の部分が透明に設定される。図8(B)は、ステップS107で生成される敵キャラクタ画像の一例を示す模式図である。
【0055】
なお、ステップS107では、仮想カメラ52の位置、視線方向、及び画角が、ステップS102における仮想カメラ52の位置、視線方向、及び画角と同じに設定される。また、ステップS107では、ライティングが、敵キャラクタ50のうちの、光源からの光が当たっている部分が青白くなり、かつ、敵キャラクタ50のうちの、光源からの光が当たっていない部分が黒くなるように設定される。さらに、敵キャラクタ画像は、ステップS102で生成される背景画像よりも低い解像度の画像として生成される。例えば、ステップS102で生成される背景画像の解像度は「1024×600」に設定され、敵キャラクタ画像の解像度は「128×90」に設定される。
【0056】
ステップS107の処理が実行された後、制御部14は、ステップS106で画素ずらし処理が施された背景画像に対して、ステップS107で生成された敵キャラクタ画像を半透明合成する(S108)。この場合、敵キャラクタ画像はぼかし処理が施され、かつ、背景画像と同じ大きさまで伸張された状態で背景画像に半透明合成される。ステップS107,S108の処理が実行される結果として、敵キャラクタ50のうちの、光源からの光が当たっている部分のみが青白く表示されるようになり、敵キャラクタ50が画面におぼろげに表示されることになる。
【0057】
ステップS108の処理が実行された後、制御部14はユーザキャラクタ画像を生成する(S109)。ステップS109では、ユーザキャラクタ48が床42、壁44、及び敵キャラクタ50とともに配置された仮想空間40を仮想カメラ52から見た様子を表す画像がユーザキャラクタ画像として生成される。なお、この場合、仮想カメラ52の位置、視線方向、及び画角は、ステップS102における仮想カメラ52の位置、視線方向、及び画角と同じに設定される。また、このユーザキャラクタ画像では、ユーザキャラクタ48が描画された部分以外の部分が透明に設定される。図8(C)は、ステップS109で生成されるユーザキャラクタ画像の一例を示す模式図である。
【0058】
ステップS109の処理が実行された後、制御部14は音領域フラグが「1」であるか否かを判定する(S110)。音領域フラグが「1」である場合、すなわち、音領域56が発生中である場合、制御部14(第2画像生成部70)はロッカー画像(第2画像)を生成する(S111)。すなわち、制御部14は、音領域56(対象領域)内に含まれるロッカー46(所定オブジェクト)の画像を生成する。
【0059】
ステップS111では、まず、音領域56がゲーム状況データに基づいて特定される。さらに、音領域56内に含まれるロッカー46が検出される。例えば、ロッカー46の全体又は一部が音領域56内に含まれる場合、そのロッカー46は音領域56内に含まれると判断される。そして、音領域56内に含まれるロッカー46が床42、壁44、ユーザキャラクタ48、及び敵キャラクタ50とともに配置された仮想空間40を仮想カメラ52から見た様子を表す画像がロッカー画像として生成される。
【0060】
なお、この場合、仮想カメラ52の位置、視線方向、及び画角は、ステップS102における仮想カメラ52の位置、視線方向、及び画角と同じに設定される。また、この場合、ロッカー46には、歪んだ空間内に配置されたロッカーを表現するべく予め作成されたテクスチャ画像がマッピングされる。また、ここで生成されるロッカー画像では、ロッカー46が描画された部分以外の部分が透明に設定される。図8(D)は、ステップS111で生成されるロッカー画像の一例を示す模式図である。
【0061】
ステップS111の処理が実行された後、制御部14(表示制御部72)は表示部32に表示する画像を生成する(S112)。制御部14は、ステップS108で敵キャラクタ画像が半透明合成された背景画像(第1画像)と、ステップS111で生成されたロッカー画像(第2画像)とを合成してなる画像を生成する。なお、「ステップS108で敵キャラクタ画像が半透明合成された背景画像」は、「背景画像と敵キャラクタ画像とを半透明合成してなる画像」と言い換えることができる。
【0062】
背景画像とロッカー画像とを半透明合成する場合、制御部14は、背景画像とロッカー画像とを、ロッカー画像に表されるロッカー46を歪ませるようにして半透明合成する。すなわち、制御部14はロッカー画像を歪ませ、歪んだロッカー画像を背景画像と半透明合成する。また、ロッカー画像を歪ませる場合、制御部14は、音源位置54(音領域56の基準位置)から離れるにつれて歪みの程度が大きくなるようにして、ロッカー画像を歪ませる。
【0063】
なお、ロッカー画像に表されるロッカー46を歪ませるための処理としては様々な処理を用いることができる。例えば、制御部14は画素ずらし処理をロッカー画像に施すことによって、ロッカー画像に表されるロッカー46を歪ませる。またこの場合、制御部14は、音源位置54から離れるにつれてずらしの程度が大きくなるようにして、画素ずらし処理をロッカー画像に施す。さらにこの場合、画素をずらす方向は一定方向としてもよいし、ステップS106と同様に、正弦波に基づいて、画素をずらす方向が決定されるようにしてもよい。
【0064】
さらに、ステップS112において、制御部14は、背景画像とロッカー画像とを半透明合成してなる画像に対して、ステップS109で生成されたユーザキャラクタ画像を合成する。そして、このようにして生成された画像が表示部32に表示される。
【0065】
一方、音領域フラグが「1」でない場合、ステップS111の処理を実行せずに、制御部14(表示制御部72)は表示部32に表示する画像を生成する(S112)。この場合のステップS112では、ステップS108で敵キャラクタ画像が半透明合成された背景画像に対して、ステップS109で生成されたユーザキャラクタ画像が合成される。そして、こうして生成された画像が表示部32に表示される。
【0066】
以上に説明したゲーム装置10(画像処理装置)では、図7のステップS102〜S108の処理が実行されることによって、暗い仮想空間40内における床42、壁44、及び敵キャラクタ50をおぼろげに画面に表示される。また、図7のステップS111,S112の処理が実行されることによって、ユーザキャラクタ48が音を頼りに認識したロッカー46がおぼろげに画面に表示される。ゲーム装置10によれば、暗闇内で音を頼りに物(ロッカー46)の存在を認識するが故に物の存在をおぼろげにしか認識できないことを好適に表現できるようになる。
【0067】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0068】
(1)例えば、図7のステップS105,S106の一方を省略するようにしてもよい。例えば、図7のステップS105は省略するようにしてもよい。
【0069】
(2)また例えば、ユーザキャラクタ48が過去に認識したロッカー46(すなわち、過去に音領域56内に含まれたことがあるロッカー46)は、音領域56に含まれていない場合であっても、画面に表示されるようにしてもよい。
【0070】
この場合、図7のステップS101では、ユーザキャラクタ48が過去に認識したことがないロッカー46(すなわち、過去に音領域56に含まれたことがないロッカー46)が仮想空間40から取り除かれる。また、ユーザキャラクタ48及び敵キャラクタ50も仮想空間40から取り除かれる。そして、それらのオブジェクトが取り除かれてなる仮想空間40を仮想カメラ52から見た様子を表す画像が背景画像として生成される。また、図7のステップS111では、音領域56(対象領域)内に含まれるロッカー46であって、それまでユーザキャラクタ48が認識していなかったロッカー46(つまり、それまで音領域56内に含まれたことがなかったロッカー46)の画像が生成される。
【0071】
(3)また例えば、仮想空間40には、ロッカー46以外の物を表すオブジェクトが配置されるようにしてもよい。例えば、他の家具(ベッド、テーブル、又はいすなど)を表すオブジェクトが配置されるようにしてもよい。また例えば、家具以外の物を表すオブジェクトが配置されるようにしてもよい。これらのオブジェクトに関してはロッカー46と同様に処理を実行するようにすればよい。
【0072】
(4)以上では、ユーザキャラクタ48が暗闇の中で音を頼りに物(ロッカー46)の存在を認識するゲームに本発明を適用した例について説明したが、例えば、ユーザキャラクタ48が暗闇の中でペンライトなどの弱い光を頼りに物の存在を認識するゲームにも本発明を適用することができる。
【0073】
この場合、音領域56の代わりに、ペンライトの光が届く領域を示す光領域を設定するようにすればよい。この場合、光領域の基準位置は光源位置(ペンライト又はユーザキャラクタの位置)となり、光領域は光源位置に基づいて設定される。例えば、光源位置を中心とする所定半径の球状領域が光領域として設定される。
【0074】
このようにすれば、暗闇内で弱い光を頼りに物の存在を認識するが故に物の存在をおぼろげにしか認識できないことを好適に表現できるようになる。
【0075】
(5)以上では、ユーザキャラクタ48が暗闇の中を移動するゲームに本発明を適用した例について説明したが、例えば、ゲームキャラクタが深い霧の中を移動するゲームにも本発明は適用することができる。本発明は、視界の悪い仮想空間(見通しの悪い仮想空間)内をゲームキャラクタが移動するゲームに適用することができる。
【0076】
なお、例えば、ゲームキャラクタが深い霧の中を移動するゲームの場合、そのような状況に応じたオブジェクトが仮想空間40に配置される。例えば、床42の代わりに、地面を表すオブジェクトが配置される。また例えば、ロッカー46の代わりに、例えば、宝箱を表すオブジェクトが配置される。
【0077】
(6)また例えば、仮想カメラ52(視点)はユーザキャラクタ48の目の位置に設定されるようにしてもよい。
【0078】
(7)また例えば、本発明はゲーム装置10以外の画像処理装置に適用することができる。本発明は、仮想空間の様子を表す画像を生成する画像処理装置に適用することができる。
【符号の説明】
【0079】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスクドライブ、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 表示部、34 音声出力部、36 光ディスク、40 仮想空間、42 床、44 壁、46a,46b ロッカー、48 ユーザキャラクタ、50 敵キャラクタ、52 仮想カメラ、54 音源位置、56 音領域、60 データ記憶部、62 第1画像生成部、64 距離情報取得部、66 輝度変更部、68 ぼかし処理/画素ずらし処理実行部、70 第2画像生成部、72 表示制御部、80 背景画像、82 画素、84 画素列、86 画素行。

【特許請求の範囲】
【請求項1】
仮想空間の様子を表す画像を表示手段に表示させる画像処理装置において、
前記仮想空間に配置されるオブジェクトのうちの所定オブジェクトが取り除かれてなる前記仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する第1画像生成手段と、
前記第1画像の各画素に関し、前記視点からの距離に関する情報を取得する距離情報取得手段と、
前記第1画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度の差又は/及び前記距離の差に関する情報に基づいて増減する輝度変更手段と、
前記輝度変更手段によって画素の輝度が増減された前記第1画像にぼかし処理と画素ずらし処理との少なくとも一方を施すぼかし処理/画素ずらし処理実行手段と、
前記仮想空間の対象領域内に前記所定オブジェクトが含まれる場合、前記視点から前記仮想空間を見た場合の前記所定オブジェクトの様子を表す第2画像を生成する第2画像生成手段と、
前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを歪ませるようにして合成してなる画像を前記表示手段に表示させる表示制御手段と、
を含むことを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記表示制御手段は、前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを前記対象領域の基準点から離れるにつれて歪みの程度が大きくなるように歪ませて合成してなる前記画像を前記表示手段に表示させることを特徴とする画像処理装置。
【請求項3】
請求項1又は2に記載の画像処理装置において、
前記第2画像生成手段は、
前記仮想空間内の音源位置を取得する手段と、
前記音源位置に基づいて前記対象領域を設定する手段と、
前記対象領域の大きさを時間経過に伴って増やす手段と、を含む、
ことを特徴とする画像処理装置。
【請求項4】
仮想空間の様子を表す画像を表示手段に表示させる画像処理方法において、
前記仮想空間に配置されるオブジェクトのうちの所定オブジェクトが取り除かれてなる前記仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する第1画像生成ステップと、
前記第1画像の各画素に関し、前記視点からの距離に関する情報を取得する距離情報取得ステップと、
前記第1画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度の差又は/及び前記距離の差に基づいて増減する輝度変更ステップと、
前記輝度変更ステップによって画素の輝度が増減された前記第1画像にぼかし処理と画素ずらし処理との少なくとも一方を施すぼかし処理/画素ずらし処理実行ステップと、
前記仮想空間の対象領域内に前記所定オブジェクトが含まれる場合、前記視点から前記仮想空間を見た場合の前記所定オブジェクトの様子を表す第2画像を生成する第2画像生成ステップと、
前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを歪ませるようにして合成してなる画像を前記表示手段に表示させる表示制御ステップと、
を含むことを特徴とする画像処理方法。
【請求項5】
仮想空間の様子を表す画像を表示手段に表示させる画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記仮想空間に配置されるオブジェクトのうちの所定オブジェクトが取り除かれてなる前記仮想空間を視点から見た様子を表す第1画像をグレースケールの画像として生成する第1画像生成手段、
前記第1画像の各画素に関し、前記視点からの距離に関する情報を取得する距離情報取得手段、
前記第1画像の画素の輝度を、該画素と該画素の周辺画素との間の輝度の差又は/及び前記距離の差に基づいて増減する輝度変更手段、
前記輝度変更手段によって画素の輝度が増減された前記第1画像にぼかし処理と画素ずらし処理との少なくとも一方を施すぼかし処理/画素ずらし処理実行手段、
前記仮想空間の対象領域内に前記所定オブジェクトが含まれる場合、前記視点から前記仮想空間を見た場合の前記所定オブジェクトの様子を表す第2画像を生成する第2画像生成手段、及び、
前記第1画像と前記第2画像とを、前記第2画像に表される前記所定オブジェクトを歪ませるようにして合成してなる画像を前記表示手段に表示させる表示制御手段、
として前記コンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−18491(P2012−18491A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−154372(P2010−154372)
【出願日】平成22年7月6日(2010.7.6)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】