JP3645516B2 - 画像生成システム及び情報記憶媒体 - Google Patents

画像生成システム及び情報記憶媒体 Download PDF

Info

Publication number
JP3645516B2
JP3645516B2 JP2001342026A JP2001342026A JP3645516B2 JP 3645516 B2 JP3645516 B2 JP 3645516B2 JP 2001342026 A JP2001342026 A JP 2001342026A JP 2001342026 A JP2001342026 A JP 2001342026A JP 3645516 B2 JP3645516 B2 JP 3645516B2
Authority
JP
Japan
Prior art keywords
image
low
flash
luminance
intensity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001342026A
Other languages
English (en)
Other versions
JP2003141561A (ja
Inventor
大英 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2001342026A priority Critical patent/JP3645516B2/ja
Publication of JP2003141561A publication Critical patent/JP2003141561A/ja
Application granted granted Critical
Publication of JP3645516B2 publication Critical patent/JP3645516B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Position Input By Displaying (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、ガン型コントローラ(広義にはシューティングデバイス。更に広義にはポインティングデバイス)を用いて画面上の標的オブジェクトをシューティングして楽しむガンゲームと呼ばれる分野のゲームが人気を博している。このガンゲームでは、プレーヤ(操作者)がガン型コントローラの引き金を引くと、ショットの着弾位置(広義には指示位置)が、ガン型コントローラが内蔵するフォトセンサを利用して光学的に検出される。そして、検出された着弾位置に標的オブジェクトが存在する場合には当たりと判定され、標的オブジェクトが存在しない場合には外れと判定される。このようなガンゲームをプレイすることによりプレーヤは、現実世界における射撃を仮想体験できるようになる。
【0003】
さて、このようなガンゲームにおいては、着弾位置の検出時に画面をフラッシュさせる処理が行われる。このように画面をフラッシュさせれば、フォトセンサによる走査光の検知時に、走査光の輝度を高くできる。これによりフォトセンサの入力光量が増え、着弾位置の検出精度を高めることができると共に、着弾位置の安定した検出を実現できる。
【0004】
しかしながら、画面がフラッシュされると、画面が真っ白く光って見えるようになり、プレーヤに不自然感を与える場合がある。特に、ガン型コントローラがマシンガンのように高速連射が可能なタイプのものである場合には、高速連射により画面が頻繁に点滅して見えるようになり、画像の不自然さが更に目立ってしまう。
【0005】
このような問題を解決するものとして例えば特開2001−5613、特開2000−317135に開示される従来技術がある。この従来技術によれば、画面のちらつきが目立ってしまう問題を、ある程度解決できるが、これらの問題を更に効果的に解決できる技術が望まれる。
【0006】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、不自然な画像が生成されるのを防止しながらポインティングデバイスの指示位置を適正に検出できる画像生成システム及び情報記憶媒体を提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、前記フラッシュ画像発生手段が、低輝度フラッシュ期間において、全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生し、低輝度フラッシュ期間と次の低輝度フラッシュ期間の間の高輝度フラッシュ期間において、全ての画素の輝度が前記第1の輝度値よりも大きい第2の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0008】
本発明によれば、走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるフラッシュ画像が発生する。そして、例えば第1の低輝度フラッシュ期間(1又は複数のフレームで構成される期間)においては低輝度フラッシュ画像が発生し、第1の低輝度フラッシュ期間に続く第1の高輝度フラッシュ期間(1又は複数のフレームで構成される期間)においては高輝度フラッシュ画像が発生する。そして、第1の高輝度フラッシュ期間に続く第2の低輝度フラッシュ期間においては低輝度フラッシュ画像が発生する。
【0009】
このように本発明では、例えば指示位置を連続検出する操作(連射操作)が行われた場合等に、低輝度フラッシュ画像に混じって高輝度フラッシュ画像が発生する(例えば、低輝度フラッシュ画像の発生頻度よりも少ない頻度で高輝度フラッシュ画像が発生する)。そして、このように低輝度フラッシュ画像を発生させて指示位置を検出することで、不自然な画像が生成されるのを防止できる。また、高輝度フラッシュ画像を発生させて指示位置を検出することで、低輝度フラッシュ画像では指示位置を検出できないような場合にも、ポインティングデバイスの指示位置を確実に検出できる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、低輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする。
【0011】
このようにすれば、画面のフラッシュがプレーヤに目立たなくなり、より自然に見える画像を生成できるようになる。なお、低輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が第1の輝度値以上になる低輝度フラッシュ画像を発生してもよい。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、高輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が前記第1の輝度値よりも大きい第2の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする。
【0013】
このようにすれば、高輝度フラッシュ期間において確実に指示位置を検出できるようになる。なお、高輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第2の輝度値以上になる高輝度フラッシュ画像を発生してもよい。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、低輝度フラッシュ画像が2フレーム以上のフレーム間隔で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする。また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする。
【0015】
このようにすれば、ポインティングデバイスの指示位置を連続検出する操作(例えばシューティングデバイスの仮想弾の連射操作)が行われた場合に、画面のちらつきが目立ってしまう事態を防止しながら、指示位置の確実な検出が可能になる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、低輝度フラッシュ画像による指示位置の検出がエラーであることを条件に、高輝度フラッシュ画像を発生することを特徴とする。
【0017】
このようにすれば、低輝度フラッシュ画像だけで指示位置の検出が可能な場合に、高輝度フラッシュ画像が無駄に発生してしまう事態を防止できる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、高輝度フラッシュ画像により検出された指示位置の補間により得られた補間位置又は過去の指示位置の補外により得られた補外位置に基づいて、低輝度フラッシュ期間での指示位置が求められることを特徴とする。
【0019】
このようにすれば、補間位置や補外位置を用いて、低輝度フラッシュ期間での指示位置を確実に得ることができる。
【0020】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、低輝度フラッシュ画像による指示位置の検出がエラーの場合に、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする。
【0021】
このようにすれば、低輝度フラッシュ画像では指示位置を検出できないような場合にも、補間位置や補外位置を利用して、低輝度フラッシュ期間での指示位置を得ることができる。
【0022】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記補間位置又は前記補外位置と低輝度フラッシュ画像により検出された指示位置との距離が、所与のしきい値以下の場合には、低輝度フラッシュ画像により検出された指示位置が、低輝度フラッシュ期間での指示位置に設定され、前記距離が所与のしきい値より大きい場合には、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする。
【0023】
このようにすれば、低輝度フラッシュ期間で検出された指示位置の値自体が誤っていた場合等にも、適正な指示位置を得ることができる。
【0024】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする。また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする。
【0025】
このようにすれば負荷の少ない処理で、低輝度フラッシュ画像を発生できるようになる。
【0026】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記ポインティングデバイスが、シューティングゲームに使用されるシューティングデバイスであって、前記シューティングデバイスによる仮想弾の連射に連動して、低輝度フラッシュ画像又は高輝度フラッシュ画像が発生することを特徴とする。
【0027】
このようにすれば、シューティングデバイスによる仮想弾の連射時にも、不自然な画像の生成を防止しながら、仮想弾の適正な着弾位置を検出できる。
【0028】
また本発明は、画像を生成するための画像生成システムであって、表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0029】
本発明によれば、画面サイズ又は画面を分割したサイズのポリゴン(プリミティブ面)を描画バッファに描画するだけで、元画像のコントラストが残ったフラッシュ画像を生成できるようになり、フラッシュ画像の生成処理の負荷を軽減できる。また、得られた変換後の輝度と元画像の輝度との線形性が保たれるようになるため、画質の劣化を防止できる。
【0030】
また本発明は、画像を生成するための画像生成システムであって、表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0031】
本発明によれば、画面サイズ又は画面を分割したサイズのポリゴン(プリミティブ面)を描画バッファに描画するだけで、元画像のコントラストが残ったフラッシュ画像を生成できるようになり、フラッシュ画像の生成処理の負荷を軽減できる。また、輝度が高い画素については、元画像の輝度と変換後の輝度とをほぼ同じにできるため、画質の劣化を防止できる。
【0032】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0033】
なお以下では、本発明を、ガン型コントローラを用いたガンゲーム(シューティングゲーム)に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。また、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0034】
1.構成
図1に、本実施形態を家庭用ゲームシステムに適用した場合の例について示す。
【0035】
プレーヤは、銃を模して作られたガン型コントローラ10(広義にはシューティングデバイス。更に広義にはポインティングデバイス)を持ち、表示部190の画面上に映し出される標的オブジェクトを狙って、引き金(トリガ)14を引く。すると、ガン型コントローラ10の指示位置30からの走査光が、ガン型コントローラ10が内蔵するフォトセンサ等により光学的に検出される。そして、ガン型コントローラ10の指示位置30が、画面上に表示される標的オブジェクトの位置と一致した場合には、当たりと判定され、一致しなかった場合には、外れと判定される。
【0036】
なお、本実施形態のガン型コントローラ10は、引き金14を引くと、仮想的なショット(弾)が高速で自動的に連射されるようになっている(高速連射モードの場合)。従って、あたかも本物のマシンガンを撃っているかのような仮想現実感をプレーヤに与えることができる。
【0037】
図2に、本実施形態の画像生成システム(ゲームシステム、位置検出システム)のブロック図の例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外のブロックについては任意の構成要素とすることができる。
【0038】
ガン型コントローラ10は、銃の形を模して形成された指示体12(ケーシング)と、指示体12の握り部に設けられた引き金14と、指示体12の銃口付近に内蔵されるレンズ16(光学系)及びフォトセンサ18を含む。また、ガン型コントローラ全体の制御や指示位置の演算などを行う処理部20と、本体装置90との間のインターフェースとして機能する通信部80を含む。そして処理部20は、ガン型コントローラ10の指示位置(狭義には着弾位置)を演算する位置検出部60を含む。なお、処理部20や通信部80の機能は、例えば、ASICなどのハードウェアにより実現してもよいし、各種プロセッサとソフトウェアの組み合わせにより実現してもよい。
【0039】
本体装置100(家庭用ゲームシステム)は、処理部100、記憶部170を含む。
【0040】
ここで処理部100(プロセッサ)は、情報記憶媒体180に記憶されるプログラム、データや、ガン型コントローラ10との間の通信情報(指示位置情報、補正情報又は検出エラー情報等)に基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。
【0041】
ここで、処理部100が行う処理としては、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などがある。
【0042】
記憶部170は、処理部100のワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0043】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の各手段(特に処理部100に含まれるブロック)としてコンピュータを機能させるためのプログラム(各手段をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。
【0044】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データなどを含ませることができる。
【0045】
処理部100は、フラッシュ画像発生部110、指示位置決定部112、ヒットチェック部114、画像生成部120、音生成部130を含む。
【0046】
ここでフラッシュ画像生成部110は、指示位置の検知時において走査光の輝度を高めるフラッシュ画像を発生するための処理を行う。より具体的には、低輝度フラッシュ期間においては低輝度フラッシュ画像を発生し、高輝度フラッシュ期間においては高輝度フラッシュ画像を発生する。別の言い方をすれば、第Mのフレームでは低輝度フラッシュ画像を発生し、第Mのフレームとは異なる第Nのフレームでは高輝度フラッシュ画像を発生する。或いは、低輝度フラッシュ画像による指示位置の検出がエラーの場合に、高輝度フラッシュ画像を発生する。
【0047】
ここで、例えば、低輝度フラッシュ期間と高輝度フラッシュ期間は交互に繰り返され、低輝度フラッシュ期間と次の低輝度フラッシュ期間の間に、高輝度フラッシュ期間が設定される。また、低輝度フラッシュ期間では、低輝度フラッシュ画像が例えば複数フレーム(複数回)発生する一方で、高輝度フラッシュ期間では、高輝度フラッシュ画像が例えば1フレーム(複数フレームでもよい)だけ発生する。また、低輝度フラッシュ画像が所与のフレーム間隔(2フレーム以上の間隔)で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が1フレーム(複数フレームでもよい)だけ発生する高輝度フラッシュ期間とが交互に繰り返される。或いは、低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が1フレーム(複数フレームでもよい)だけ発生する高輝度フラッシュ期間とが交互に繰り返される。
【0048】
また、低輝度フラッシュ画像は、全ての画素(一部の例外的な画素を除く全ての画素。指示位置検出の対象となる全ての画素)の輝度(R、G、Bの各輝度に各係数を乗算して合計することで得られる輝度。R、G、Bの全ての輝度。R、G、Bの少なくとも1つの輝度)が第1の輝度値(フォトセンサ等により検知できる最低レベルの輝度値。零よりも大きな値。第1の明るさ)以上に設定された画像(フレーム画像)である。この場合、低輝度フラッシュ画像は、元画像(描画バッファに描かれた画像。透視変換後のフレーム画像)のコントラストを残しながら全ての画素の輝度が第1の輝度値以上に設定された画像であることが望ましいが、元画像のコントラストを残さずに全ての画素の輝度が第1の輝度値以上に設定された画像(例えば、画面全体が白、灰色、赤、緑或いは青などの所定色の画像。R、G、Bの輝度が全て第1の輝度値に設定された画像)であってもよい。
【0049】
また、高輝度フラッシュ画像は、全ての画素(一部の例外的な画素を除く全ての画素。指示位置検出の対象となる全ての画素)の輝度(R、G、Bの各輝度に各係数を乗算して合計することで得られる輝度。R、G、Bの全ての輝度。R、G、Bの少なくとも1つの輝度)が第2の輝度値(フォトセンサ等により確実に検知できる輝度値。第1の輝度値よりも大きな値。第1の明るさより明るい第2の明るさ)以上に設定された画像(フレーム画像)である。この場合、高輝度フラッシュ画像は、元画像のコントラストを残さずに全ての画素の輝度が第2の輝度値以上に設定された画像(例えば、画面全体が白、灰色、赤、緑或いは青などの所定色の画像。R、G、Bの輝度が全て第2の輝度値に設定された画像)であることが望ましいが、元画像のコントラストを残しながら全ての画素の輝度が第2の輝度値以上に設定された画像であってもよい。
【0050】
指示位置決定部112は、ガン型コントローラ10(ポインティングデバイス)の指示位置(仮想弾の着弾位置)を最終決定するための処理を行う。
【0051】
より具体的には、位置検出部60で検出された指示位置に基づいて、ガン型コントローラ10の指示位置を決定する。或いは、位置検出部60で検出された複数の指示位置の補間により得られた補間位置や、過去の複数の指示位置の補外により得られた補外位置(予測位置)に基づいて、ガン型コントローラ10の指示位置を決定する。例えば、位置検出部60での位置検出がエラーの場合には、補間位置又は補外位置を、最終的な指示位置として採用する。
【0052】
ヒットチェック部114は、シューティングによる仮想弾(ショット)が標的オブジェクトにヒットしたか否かをチェックする処理を行う。より具体的には、指示位置決定部112(位置検出部60)により決定(検出)されたガン型コントローラ10の指示位置(仮想弾の着弾位置)に基づいて、仮想弾の軌道を決定し、この軌道が、オブジェクト空間内の標的オブジェクトに交わったか否かを判定する。そして、交わった場合には、標的オブジェクトに仮想弾がヒットしたと判定し、標的オブジェクトの耐久値(体力値)を減らす処理や、爆発エフェクトを発生する処理や、標的オブジェクトの位置、方向、モーション、色又は形状を変化させる処理などを行う。一方、交わらなかった場合には、仮想弾が標的オブジェクトにヒットしなかったと判定し、仮想弾を削除し消滅させる処理などを行う。なお、標的オブジェクトの形状を簡略化して表した簡易オブジェクト(バウンディングボリューム、バウンディングボックス)を用意し(標的オブジェクトの位置に配置し)、この簡易オブジェクトと仮想弾(仮想弾の軌道)とのヒットチェックを行うようにしてもよい。
【0053】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部190に出力する。例えば、いわゆる3次元ゲームの画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点(構成点)に付与される位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数プリミティブ面)の画像が、描画バッファ174(フレームバッファ、ワークバッファ等の画素単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0054】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192(スピーカ)に出力する。
【0055】
図3に、位置検出部60の構成例を示す。
【0056】
位置検出部60は、フォトセンサ18から送られてきた検出パルスに基づいて、ガン型コントローラ10の指示位置(仮想弾の着弾位置)を検出する処理を行う。
【0057】
即ち図3に示すように位置検出部60は、検出位置決定部62、Xカウンタ部64、Yカウンタ部66を含む。フォトセンサ18からの検出パルスはこの位置検出部60に入力される。位置検出部60は、この検出パルス、クロック信号CLK、水平同期信号及び垂直同期信号(本体装置からの映像信号に含まれる水平同期信号、垂直同期信号)に基づいて、ガン型コントローラ10の指示位置を検出する。
【0058】
より具体的には、Yカウンタ部66のリセット端子Rには垂直同期信号が、クロック端子Cには水平同期信号が入力される。一方、Xカウンタ部64のリセット端子Rには水平同期信号が、クロック端子Cにはクロック信号CLKが入力される。なお、垂直同期信号と水平同期信号の関係は図4(A)のようになっており、水平同期信号とCLKとの関係は図4(B)のようになっている。
【0059】
図3のように構成することで、Yカウンタ部66のYカウント値は、図4(C)の(1)のポイント、即ち1フィールド期間の最初のポイントでリセットされるようになる。そして1H期間(1水平走査期間)毎にYカウント値は順次インクリメントされる。
【0060】
一方、Xカウンタ部64のXカウント値は、図4(C)の(2)〜(5)のポイント、即ち1H期間の最初のポイントでリセットされることになる。そして、CLKが例えば立ち上がる毎にXカウント値は順次インクリメントされる。
【0061】
そして例えば図4(C)の(6)のポイント(検出エリア32)に走査光(ラスタ走査)が来たところで、フォトセンサ18からのパルスが検出されたとする。するとその時点でのXカウンタ部64、Yカウンタ部66のX、Yカウント値に基づいて、検出位置決定部62がこれらのX、Yカウント値に対応するX座標、Y座標を求める。これにより(6)のポイントの位置座標、即ちガン型コントローラ10の指示位置の座標を検出できる。例えば図4(C)の場合には、Yカウント値は4となり、このYカウント値4に基づいてポイント(6)のY座標が一意的に求められる。一方、Xカウント値はポイント(5)でリセットされているため、Xカウント値は、(5)と(6)の間でCLKが立ち上がった回数になる。例えば図4(B)のJの位置でフォトセンサ18からのパルスが検出されたとすると、Xカウント値は5となり、このXカウント値5に基づいてポイント(6)のX座標が一意的に求められる。
【0062】
なお、図2では、位置検出部60をガン型コントローラ10内に設けているが、位置検出部60を処理部100内に設けるようにしてもよい。
【0063】
また、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0064】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0065】
2.本実施形態の特徴
2.1 低輝度フラッシュと高輝度フラッシュの併用
これまでの画像生成システムでは、ガン型コントローラの指示位置(着弾位置)を検出する際に、画面を全面白にするフラッシュを行っていた。即ち図5に示すようにプレーヤがフレームKでガン型コントローラの引き金を引き発砲すると、次のフレームK+1で画面を全面白にフラッシュする(全ての画素の輝度を例えば最高値にする)。そして、このフラッシュ時における走査光をフォトセンサで検知して、ガン型コントローラの指示位置(仮想弾の着弾位置)を検出する。
【0066】
しかしながら、図5の位置検出手法では、画面のフラッシュ時に画面が真っ白になってしまうため、プレーヤが不自然さを感じるという問題点がある。特に、本実施形態のガン型コントローラでは、引き金を引くと自動的に仮想弾(ショット)が高速連射される。従って、図5で位置検出手法では、高速連射により画面が頻繁に点滅して見えるようになってしまい、プレーヤが感じる不自然感が更に増してしまう。
【0067】
一方、特開2001−5613の従来技術では次のような位置検出手法を採用している。即ち図6に示すように、フレームKでプレーヤがガン型コントローラの引き金を引き発砲したとする。すると、次のフレームK+1では、元画像のコントラストを残しながら全ての画素の輝度を所与の輝度値以上にする低輝度フラッシュを行い、指示位置を検出する。
【0068】
このように低輝度フラッシュを行う手法によれば、指示位置の検出時に表示物40、42のコントラストがある程度残っているため、プレーヤが感じる不自然感を軽減できる。また、仮想弾を高速連射した場合にも、画面がそれほどちらつかず、プレーヤが感じる不自然感が更に増す事態を防止できる。
【0069】
しかしながら、このような低輝度フラッシュだけを用いて位置検出を行う手法では、指示位置を確実に検出できないおそれがあることが判明した。
【0070】
例えば、業務用ゲームシステムにおいては、表示部(モニター)の表示特性のバラツキは家庭用ゲームシステムに比べて少ない。また、出荷時に、低輝度フラッシュ時の輝度値を最適な値に調整できる。従って、低輝度フラッシュだけを用いる位置検出手法でも、指示位置を確実に検出できる。
【0071】
しかしながら、家庭用ゲームシステムでは、本体装置が接続される表示部(テレビ)の種類は多種多様であり、その表示特性のバラツキ範囲は非常に大きい。また、プレーヤが、自分の好みに合うように表示部の輝度調整を行っている場合もあり、表示部の輝度調整値も様々な値になっている。従って、低輝度フラッシュだけを用いる図6の位置検出手法では、指示位置を確実に検出することが困難になることが判明した。
【0072】
そこで本実施形態では、低輝度フラッシュと高輝度フラッシュを併用する手法を採用している。即ち図7に示すように、フレーム間隔NLで低輝度フラッシュを行いながら、NLよりも大きなフレーム間隔NHで低輝度フラッシュの代わりに高輝度フラッシュを行う。
【0073】
例えば図7では、フレームK+2、K+4、K+6、K+8、K+12、K+14、K+16、K+18で(NL=2のフレーム間隔で)、低輝度フラッシュが行われる。即ち、これらのフレームで、元画像(描画バッファに描かれた最終的なフレーム画像)のコントラストを残しながら全ての画素の輝度を第1の輝度値BR1以上にする低輝度フラッシュ画像を発生する。
【0074】
一方、フレームK、K+10、K+20で(NH=10のフレーム間隔で)、高輝度フラッシュが行われる。即ち、これらのフレームで、元画像のコントラストを残さずに全ての画素の輝度を第2の輝度値BR2以上(BR2>BR1)にする高輝度フラッシュが行われる。即ち、画面全体が所定色(白、灰色、赤、緑又は青等)になる高輝度フラッシュ画像を発生する。
【0075】
別の言い方をすれば、低輝度フラッシュ期間LT1、LT2では、低輝度フラッシュを行い、低輝度フラッシュ期間LT1と次の低輝度フラッシュ期間LT2の間に設定された高輝度フラッシュ期間HT2では、高輝度フラッシュを行う。更に具体的には、ガン型コントローラ10の仮想弾を連射する操作が行われた場合に(広義には、ポインティングデバイスの指示位置を連続検出する操作が行われた場合に)、低輝度フラッシュ画像が所与のフレーム間隔NL(例えばNL=2)で発生する低輝度フラッシュ期間LT1、LT2と、高輝度フラッシュ画像が1フレーム(複数フレームでもよい)だけ発生する高輝度フラッシュ期間HT1、HT2、HT3とが交互に繰り返される。
【0076】
このようにすることで、表示部190の画面上には図8に示すような画像が表示される。即ちフレームK+8では、元画像のコントラストを残しながら画面全体の輝度が明るくなる低輝度フラッシュ画像が表示される。そして、次のフレームK+9では、輝度変換が行われていない元画像(当該フレームでの元画像)が表示される。また、次のフレームK+10では、全画面が所定色(白、灰色等)になる高輝度フラッシュ画像が表示される。そして、次のフレームK+11では、輝度変換が行われていない元画像(当該フレームでの元画像)が表示される。また、次のフレームK+12では、元画像のコントラストを残しながら画面全体の輝度が明るくなる低輝度フラッシュ画像が表示される。
【0077】
例えば、図8のフレームK+10では、元画像のコントラストを残さない高輝度フラッシュが行われているため、表示物40、42は全く見えなくなっている(コントラスト=0)。これに対して、フレームK+8、K+12では、表示物40、42のコントラストがある程度残っている(コントラスト>0)。しかも、元画像において真っ黒だった表示物42は、その輝度がアップしている。即ち、画面の全ての画素の輝度が第1の輝度値BR1(例えばフォトセンサ等により検知できる最低レベルの輝度値)以上になっている。
【0078】
本実施形態によれば、低輝度フラッシュ期間(フレームK+9、K+12)においては、表示物40、42のコントラストがある程度残っているため、フラッシュ時に画面全体が真っ白になる図5の手法に比べて、プレーヤが感じる不自然感を軽減できる。そして、輝度の低い表示物42については、低輝度フラッシュにより、その輝度値が高くなり、例えばフォトセンサの光検出のしきい値以上の値になる。従って、輝度の低い表示物42にショットが着弾した場合にも、着弾位置を適正に検出できる。
【0079】
また図5の手法では、プレーヤがガン型コントローラ10で仮想弾を高速連射した時に、画面が頻繁に点滅してしまい、プレーヤの感じる不自然感が更に増してしまう。これに対して、本実施形態では、多くのフレームにおいては低輝度フラッシュ画像が表示され、散発的に高輝度フラッシュ画像が表示されるだけであるため、仮想弾を高速連射した場合にも、プレーヤがそれほど不自然さを感じない画像を生成できる。
【0080】
一方、図6のように低輝度フラッシュ画像だけを用いる手法では、表示部の表示特性の個体差や輝度の調整状態の違いなどが原因となって、指示位置を確実に検出できないおそれがある。特に、家庭用ゲームシステムでは、表示部であるテレビの表示特性のバラツキが大きいため、この問題は更に深刻となる。
【0081】
これに対して本実施形態では、低輝度フラッシュ画像に混じって散発的に高輝度フラッシュ画像が表示される。従って、この高輝度フラッシュ画像の表示時には、指示位置(着弾位置)を確実に検出できるため、上記問題を解決できる。
【0082】
図9(A)、(B)に、本実施形態により生成されるゲーム画像の例を示す。図9(A)は、フラッシュのための輝度変換が行われていないゲーム画像(図8のフレームK+9、K+11。元画像)の例であり、図9(B)は、低輝度フラッシュ時のゲーム画像(図8のフレームK+8、K+12)の例である。図9(A)、(B)に示すように、本実施形態では、指示位置検出時にも画面は真っ白にならないため、より自然なゲーム画像を生成できる。
【0083】
なお、低輝度フラッシュのフレーム間隔NLや第1の輝度値BR1、高輝度フラッシュのフレーム間隔NHや第2の輝度値BR2は任意であり、適宜調整できるものである。例えば図7では低輝度フラッシュのフレーム間隔NL=2となっているが、図10ではフレーム間隔NL=3となっている。また、図7に比べて図10の方が、低輝度フラッシュの第1の輝度値BR1が小さくなっている。また、図7では高輝度フラッシュのフレーム間隔NH=10となっているが、図10ではフレーム間隔NH=9となっている。また、図7に比べて図10の方が、高輝度フラッシュの第2の輝度値BR2が大きくなっている。
【0084】
また、低輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が第1の輝度値BR1以上に設定された低輝度フラッシュ画像(画面全体が所定色の画像)を発生してもよい。例えば、低輝度フラッシュ期間においては全画面が灰色の低輝度フラッシュを行い、高輝度フラッシュ期間においては全画面が白の高輝度フラッシュを行う。
【0085】
或いは、高輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第2の輝度値BR2以上に設定された高輝度フラッシュ画像を発生してもよい。例えば図8のフレームK+10(高輝度フラッシュ期間)において、全画面が白の高輝度フラッシュ画像を表示する代わりに、コントラストが残った高輝度フラッシュ画像(図9(B)参照)を表示する。但し、この場合のコントラストが残った高輝度フラッシュ画像は、元画像に対する輝度の上昇値(BR2)を、低輝度フラッシュ画像での輝度の上昇値(BR1)に比べて大きくする。このようにすれば、画面のちらつきを更に目立たなくすることができる。
【0086】
また図11(A)に示すように、低輝度フラッシュ期間LT1、LT2、LT3においては、全フレームで低輝度フラッシュ画像(図9(B)のように元画像のコントラストを残したフラッシュ画像)を発生するようにしてもよい。より具体的には、ガン型コントローラ10の仮想弾を連射する操作が行われたことを条件に(広義には、ポインティングデバイスの指示位置を連続検出する操作が行われたことを条件に)、低輝度フラッシュ画像の表示を開始する。そして、この低輝度フラッシュ画像を全フレームで表示し続けながら、散発的に高輝度フラッシュ画像を表示する。即ち、低輝度フラッシュ期間LT1とLT2の間の高輝度フラッシュ期間HT1や、低輝度フラッシュ期間LT2とLT3の間の高輝度フラッシュ期間HT2において、高輝度フラッシュ画像を発生する。
【0087】
このようにすることで、表示部190の画面上には図12に示すような画像が表示される。
【0088】
図12のフレームK+4では、元画像のコントラストを残しながら画面全体の輝度が高くなる低輝度フラッシュ画像が表示される。そして、次のフレームK+5においても同様に、元画像のコントラストを残しながら画面全体の輝度が高くなる低輝度フラッシュ画像が表示される。即ち図8では、コントラストが残った低輝度フレーム画像と輝度変換が行われていない元画像とが交互に表示されるのに対して、図12では、コントラストが残った低輝度フレーム画像が低輝度フラッシュ期間の全フレームにおいて常に表示される。そして、フレームK+6になると、全画面が所定色(白、灰色等)の高輝度フラッシュ画像が表示される。また、次のフレームK+7、K+8では、元画像のコントラストが残った低輝度フラッシュ画像が表示される。
【0089】
なお、図11(A)、図12の高輝度フラッシュ期間(フレームK+6、K+13、K+20)において、全画面が所定色の高輝度フラッシュ画像に代えて、元画像のコントラストを残しながら全ての画素の輝度が第2の輝度値BR2(>BR1)以上に設定された高輝度フラッシュ画像を発生してもよい。
【0090】
また、高輝度フラッシュ画像を、所定フレーム間隔毎に定期的に発生(定期的なタイミングで発生)してもよいし、図11(B)に示すように低輝度フラッシュ画像による指示位置の検出がエラーになったことを条件に、高輝度フラッシュ画像を発生してもよい。
【0091】
即ち、低輝度フラッシュ画像では画素の輝度値がそれほど大きくない。従って、表示部の画面とガン型コントローラとの位置関係(画面との距離)の変化や、表示部の周囲光の変化などに依存して、指示位置の検出エラーが生じたり、生じなかったりする。例えばガン型コントローラが画面に近い位置にある場合には検出エラーは生じにくいが、遠い位置にある場合には検出エラーが生じやすくなる。
【0092】
図11(B)に示すように、低輝度フラッシュ画像による指示位置の検出がエラーの場合に高輝度フラッシュ画像を発生するようにすれば、画面との距離や周囲光の変化に応じて動的(不定期)に高輝度フラッシュ画像が表示されるようになり、より確実な指示位置の検出が可能になる。
【0093】
なお、検出エラーにより高輝度フラッシュ画像を発生した後、所与のフレーム(複数フレーム)が経過するまでは、高輝度フラッシュ画像を再度発生させないようにすることが望ましい。即ち、図11(B)のフレームK+8で高輝度フラッシュを行った後、例えばフレームK+10、K+12、K+14では、指示位置検出がエラーであるかエラーでないかに関わらず、常に低輝度フラッシュを行う。そして、フレームK+8の高輝度フラッシュから所与のフレーム(複数フレーム)が経過した場合に(フレームK+16になった場合に)、指示位置検出がエラーであることを条件に高輝度フラッシュ画像を発生する処理を行う。即ち、フレームK+16の低輝度フラッシュによる指示位置検出は成功であったため、フレームK+18では低輝度フラッシュが行われる。一方、フレームK+18の低輝度フラッシュによる指示位置検出はエラーであったため、フレームK+20では高輝度フラッシュが行われるようになる。
【0094】
2.2 指示位置の補間、補外
さて、低輝度フラッシュにおいては、画素の輝度の上昇値(BR1)は、画面のちらつきを防止するために必要最小限の値に抑えられる。このため、低輝度フラッシュによる指示位置(着弾位置)の検出が、表示部の表示特性の個体差、表示部の輝度調整の違い、周囲光の違いなどに依存して、成功したり失敗したりするようになる。
【0095】
そこで本実施形態では、検出された指示位置の補間位置又は過去の指示位置の補外位置(予測位置)に基づいて、低輝度フラッシュ期間での指示位置を求めている。
【0096】
例えば図13(A)、(B)では、高輝度フラッシュ期間HT、HT2で検出された複数の指示位置(高輝度フラッシュ画像により検出された指示位置)P0、P4の補間により、低輝度フラッシュ期間LT1での指示位置P1、P2、P3が決定される。なお、この場合の補間は、直線補間でもよいし曲線補間(例えばベジェ曲線による補間)でもよい。
【0097】
一方、図14(A)では、過去(過去のフレーム)に得られた複数の指示位置P0、P1、P2の補外(予測)により、低輝度フラッシュ期間(現在のフレーム)での指示位置P3が求められている。なお、この場合の補外は、直線補外でもよいし曲線補外(例えばベジェ曲線による補外)でもよい。また、過去に得られた指示位置は、高輝度フラッシュ期間での指示位置だけを含むものであってもよいし、高輝度フラッシュ期間での指示位置と低輝度フラッシュ期間での指示位置の両方を含むものであってもよい。また、図2の位置検出部60での位置検出が成功した指示位置だけを含むものであってもよい。
【0098】
例えば、補間により指示位置を得る手法によると、図14(B)のE1に示すように指示位置の実際の軌道が曲線であった場合にも、得られた補間位置P1’、P2’、P3’を結ぶ軌道がE2に示すように直線になってしまうおそれがある。
【0099】
これに対して、補外により指示位置を得る手法によれば、得られた補外位置P1”、P2”、P3”を結ぶ軌道が、実際の軌道と近くなる。従って、より不自然さを感じない操作環境をプレーヤに提供できる。
【0100】
また、補間により指示位置を得る手法では、例えば図14(B)において、指示位置P4の検出が終わるまでは、補間位置P1’、P2’、P3’を得ることができないため、指示位置の確定に遅延が生じる。これに対して、補外により指示位置を得る手法によれば、このような遅延が生じない。従って、スピード感を損なわない快適な操作環境をプレーヤに提供できる。
【0101】
さて、低輝度フラッシュ時での位置検出部60での指示位置検出は、ガン型コントローラ10と画面との距離や、周囲光の強さに応じて、成功したりエラーになったりする。そして、指示位置検出に成功した場合には、位置検出部60で検出された指示位置を採用した方が、プレーヤが操作するガン型コントローラ10の動きに忠実な指示位置(着弾位置)を得ることができる。一方、位置検出部60での指示位置検出がエラーの場合に、仮想弾が着弾しなかったものとみなしてしまうと、標的オブジェクトにヒットしたはずの仮想弾がヒットしなかったことになってしまい、プレーヤが不自然さを感じる。
【0102】
そこで本実施形態では、低輝度フラッシュによる指示位置検出がエラーであった場合に、補間位置や補外位置を、低輝度フラッシュ期間での指示位置として採用するようにしている。別の言い方をすれば、指示位置検出が成功の場合には、その検出位置を、低輝度フラッシュ期間での指示位置に設定する
例えば図15(A)において、フレームK+3、K+9では、位置検出部60による指示位置検出が成功しているため、位置検出部60の検出位置を、当該フレームK+3、K+9(低輝度フラッシュ期間)でのガン型コントローラ10の指示位置(着弾位置)として採用する。一方、フレームK+6では、位置検出部60による指示位置検出がエラーとなっているため、補間又は補外により得られた位置を、当該フレームK+6(低輝度フラッシュ期間)でのガン型コントローラ10の指示位置(着弾位置)に設定する。
【0103】
このようにすれば、指示位置検出が成功の場合には、ガン型コントローラ10の動きに忠実な指示位置を得ることが可能になる一方で、指示位置検出がエラーの場合には、補正位置や補外位置を用いて仮想弾のヒット判定が可能になる。これにより、プレーヤが不自然さをあまり感じないヒット判定を実現できる。
【0104】
なお、位置検出部60による指示位置検出が成功かエラーかを示す情報は、ガン型コントローラ10から本体装置90に対して、通信情報として送られてくる。
【0105】
更に本実施形態では、補間位置又は補外位置と位置検出部60での検出位置との距離に応じて、補間位置又は補外位置と検出位置のどちらを採用するかを決定している。
【0106】
より具体的には図15(B)に示すように、補間位置又は補外位置と検出位置(低輝度フラッシュ画像により検出された指示位置。位置検出部60により検出された指示位置)との距離Dが、しきい値DTH以下の場合には、検出位置を、低輝度フラッシュ期間での指示位置に設定する。一方、図15(C)に示すように、距離Dがしきい値DTHより大きい場合には、補間位置又は補外位置を、低輝度フラッシュ期間での指示位置に設定する。この場合の距離Dは、例えば画面の長辺又は短辺の長さなどに基づいて決めることができる。より具体的には、例えば距離Dを、画面の長辺又は短辺の長さの1/N倍(N>1)にする。
【0107】
図15(B)のように距離Dが短い場合には、補間位置や補外位置を採用するよりも、実際の検出位置を採用した方が、ガン型コントローラ10の動きに忠実な指示位置を得ることができる。
【0108】
一方、図15(B)のように距離Dが長い場合には、位置検出部60からは検出エラーの報告は来ていないが、検出位置の値自体が誤っている可能性がある。例えば、位置検出部60において演算エラーが発生したり、ガン型コントローラ10のフォトセンサ18が、表示部190の走査光ではなく、蛍光灯の光や他の表示部の走査光に反応した場合には、位置検出部60からは位置検出成功の報告が来るが、検出位置自体は誤った値になる。従って、この場合には、検出位置ではなく、補間位置や補外位置を採用した方が、より信頼性の高い指示位置を得ることができる。
【0109】
2.3 コントラストを残したフラッシュ画像の生成
本実施形態では、図9(B)のような元画像のコントラストを残したフラッシュ画像を、以下に説明するような手法で生成している。
【0110】
即ち図16(A)、(B)に示すように、画面サイズのポリゴン(仮想ポリゴン)、或いは画面を分割したサイズのポリゴン(分割数分の仮想ポリゴン)を、元画像(透視変換後の画像)が描画されている描画バッファ(フレームバッファ等)に、αブレンド、α加算或いはα減算などを行いながら描画する。これにより、図9(B)に示すような、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値(BR1、BR2)以上になるフラッシュ画像(低輝度フラッシュ画像、高輝度フラッシュ画像)を生成できる。
【0111】
例えば図16(C)では、(R、G、B)=(255、255、255)となるような白ポリゴン(広義には所定色のポリゴン)を、元画像が描画されている描画バッファにαブレンドで描画する。これにより、元画像の輝度がF1からF2に示すように変換される。そして、F2に示す変換後の輝度では、元画像で真っ黒(輝度値=0)であった画素の輝度が底上げされて、輝度値BR(フォトセンサにより検知可能な輝度値。BR1、BR2)以上に設定される。これにより、真っ黒の画素(図8の42)をガン型コントローラ10が指示していた場合にも、その指示(着弾)位置を確実に検出できる。
【0112】
図16(C)のようにポリゴンをαブレンドで描画して元画像の輝度を変換する手法によれば、コントラスト自体は小さくなるが、元画像の輝度(元の輝度)に対する変換後の輝度の線形性が保たれる(F2の変換特性が直線になる)。従って、画質がそれほど劣化しないという利点がある。
【0113】
図16(D)では、(R、G、B)=(BR、BR、BR)となるような灰色ポリゴン(広義には所定色のポリゴン)を、元画像が描画されている描画バッファにα加算で描画している。これにより、元画像の輝度がF3からF4に示すように変換される。なお、この場合のα加算では、最大輝度値(255)を超える輝度が最大輝度値になるようにクランプされる。
【0114】
F4に示す変換後の輝度では、元画像で真っ黒(輝度値=0)であった画素の輝度が底上げされて、輝度値BR以上に設定される。これにより、真っ黒の画素をガン型コントローラ10が指示していた場合にも、その指示(着弾)位置を確実に検出できる。
【0115】
また、図16(C)、(D)のようにポリゴンをαブレンド、α加算で描画して元画像の輝度を変換する手法には、1枚のポリゴン(或いは分割数の枚数のポリゴン)の描画だけで、元画像の輝度を変換できるという利点がある。
【0116】
図17(A)、(B)では、まず、(R、G、B)=(BR、BR、BR)となるような灰色ポリゴン(広義には所定色のポリゴン)を、元画像が描画されている描画バッファにα減算で描画している。これにより、元画像の輝度がF5からF6に示すように変換される。なお、この場合のα減算では、負の値の輝度が零になるようにクランプされる。
【0117】
そして、このようにα減算でポリゴンを描画した後に、図17(B)に示すように、(R、G、B)=(BR、BR、BR)となるような灰色ポリゴン(広義には所定色のポリゴン)を、描画バッファにα加算で描画する。これにより、輝度がF6からF7に示すように変換される。
【0118】
F7に示す変換後の輝度では、元画像で真っ黒(輝度値=0)であった画素の輝度が底上げされて、輝度値BR以上に設定される。これにより、真っ黒の画素をガン型コントローラ10が指示していた場合にも、その指示(着弾)位置を確実に検出できる。
【0119】
図17(A)、(B)のようにポリゴンをα減算で描画した後にα加算で描画して元画像の輝度を変換する手法では、輝度が暗い画素では、元画像の輝度の情報(コントラスト)が失われてしまうという不利点がある。しかしながら、暗い画素での輝度情報の喪失は、それほど画質を劣化させない。そして図17(A)、(B)の手法によれば、輝度が明るい画素では、変換後の輝度の特性を、元画像の輝度とほぼ同じにできるという利点がある。
【0120】
なお、図16(C)のαブレンドは例えば下式のように表すことができる。
【0121】
Q=(1−α)×R1+α×R2 (1)
Q=(1−α)×G1+α×G2 (2)
Q=(1−α)×B1+α×B2 (3)
また、図16(D)、図17(B)のα加算は例えば下式のように表すことができる。
【0122】
Q=R1+α×R2 (4)
Q=G1+α×G2 (5)
Q=B1+α×B2 (6)
また、図17(A)のα減算は例えば下式のように表すことができる。
【0123】
Q=R1−α×R2 (7)
Q=G1−α×G2 (8)
Q=B1−α×B2 (9)
上式(1)〜(9)において、R1、G1、B1は、描画バッファに既に描画されている画像の輝度(色)のR、G、B成分であり、R2、G2、B2は、αブレンド、α加算又はα減算で描画領域に描画するポリゴン(仮想ポリゴン)の輝度のR、G、B成分である。また、RQ、GQ、BQは、αブレンド、α加算又はα減算による得られる変換後の画像の輝度のR、G、B成分である。
【0124】
以上のようにポリゴンをαブレンド、α加算或いはα減算で描画して元画像の輝度を変換する図16(A)〜図17(B)の手法には、次のような利点がある。
【0125】
即ち特開2001−5613に開示されるように、業務用ゲームシステムではγ補正回路を備えている場合が多いため、このγ補正回路のγ補正テーブルの内容を書き換えることで、輝度変換を実現できる。
【0126】
しかしながら、家庭用ゲームシステムでは、一般的に、このような高価なγ補正回路を備えていない場合が多い。従って、このような場合には、特開2001−5613のようにγ補正回路を有効利用して輝度変換を行う手法を採用できない。
【0127】
これに対して図16(A)〜図17(B)の手法によれば、γ補正回路を備えていない家庭用ゲームシステムにおいても、元画像のコントラストを残しながら全画素の輝度を所与の輝度値以上に設定する輝度変換を容易に実現できる。しかも、この輝度変換は、描画領域に所定色の仮想的なポリゴンを描画するだけで実現できるため、処理負荷も非常に軽いという利点がある。
【0128】
なお、画像生成システムがγ補正回路を備えている場合には、低輝度フラッシュ画像や高輝度フラッシュ画像を、特開2001−5613のようにγ補正回路を利用して生成するようにしてもよい。
【0129】
3.本実施形態の処理
次に、本実施形態の詳細な詳細例について、図18〜図27のフローチャートを用いて説明する。
【0130】
図18は、ポリゴンをαブレンドで描画して元画像の輝度を変換する図16(C)の手法の処理例を示すフローチャートである。
【0131】
まず、画面を小領域に分割する(ステップS1)。そして、分割された小領域の位置と形状を求める(ステップS2)。
【0132】
次に、小領域と同形状のポリゴン(仮想的なαブレンドポリゴン)を、小領域の位置に、画面最手前で(奥行き値が一番手前で)、αブレンドで描画する(ステップS3)。そして、すべての小領域の処理を行ったか否かを判断し(ステップS4)、残りの小領域がある場合にはステップS2に戻り、無い場合には処理を終了する。
【0133】
図19は、ポリゴンをα減算、α加算で描画して元画像の輝度を変換する手法(図17(A)、(B)参照)の処理例を示すフローチャートである。
【0134】
まず画面を小領域に分割する(ステップS11)。そして、分割された小領域の位置と形状を求める(ステップS12)。
【0135】
次に、小領域と同形状のポリゴン(仮想的なα減算ポリゴン)を、小領域の位置に、画面最手前でα減算で描画する(ステップS13)。次に、小領域と同形状のポリゴン(仮想的なα加算ポリゴン)を、小領域の位置に、画面最手前でα加算で描画する(ステップS14)。そして、すべての小領域の処理を行ったか否かを判断し(ステップS15)、残りの小領域がある場合にはステップS12に戻り、無い場合には処理を終了する。
【0136】
図20、図21は、定期的に高輝度フラッシュを行うと共に検出エラー時に補外により指示位置を求める手法(図7、図8、図14(A)、図15(A)、(B)、(C)参照)の処理例を示すフローチャートである。
【0137】
まず、着弾点エラー判別用の距離しきい値DTH(図15(B)、(C)参照)を設定する(ステップS21)。また、低輝度フラッシュの間隔L、高輝度フラッシュの間隔Hを設定する(ステップS22、S23)。そして、発射カウンタNをH−1に設定し、低輝度フラッシュ間隔LをカウントするためのカウンタIをL−1に設定する(ステップS24、S25)。
【0138】
次に、フレーム更新か否かを判断し(ステップS26)、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する(ステップS27)。そして、引き金が引かれている場合には、IをI+1にインクリメントする(ステップS28)。次に、I≧Lか否かを判断し(ステップS29)、I<Lの場合にはステップS26に戻る。このステップS26〜S29の処理により、所与のフレーム間隔L毎に低輝度又は高輝度フラッシュ画像が表示され、それ以外のフレームでは輝度変換が行われていない元画像が表示されるようになる。
【0139】
I≧Lの場合には、I=0に設定し、NをN+1にインクリメントする(ステップS30、S31)。そしてN≧Hか否かを判断する(ステップS32)。
【0140】
N≧Hの場合にはN=0に設定する(ステップS33)。そして画面の高輝度フラッシュを行い(ステップS34)、仮想弾の着弾位置(指示位置)X,Yを検出する(ステップS35)。
【0141】
次に、着弾位置の検出エラーか否かを判断し(ステップS36)、検出エラーの場合には、画面外に仮想弾が着弾したと判定し、画面外着弾処理を行う(ステップS37)。一方、検出エラーでない場合には、ステップS35で得られた着弾位置X,Yに基づいて、仮想弾と標的オブジェクトとの命中判定を行う(ステップS38)。そして、図20のステップS26に戻る。
【0142】
ステップS32でN<Hと判断された場合には、着弾予測位置Xc,Ycを、過去の着弾位置に基づき補外により算出する(ステップS39。図14(A)参照)。次に、画面の低輝度フラッシュを行い(ステップS40)、着弾位置X,Yを検出する(ステップS41)。
【0143】
次に、着弾位置の検出エラーか否かを判断する(ステップS42)。そして、検出エラーの場合には、着弾位置として、ステップS39で得られた予測位置(補外位置)を採用し、X=Xc Y=Ycに設定する(ステップS43。図15(A)参照)。
【0144】
一方、検出エラーでない場合には、検出位置X,Yと予測位置(補外位置)Xc,Ycとの距離Dが、しきい値DTH以上か否かを判断する(ステップS44。図15(B)、(C)参照)。そして、D≧DTHの場合には、着弾位置として予測位置を採用し、D<DTHの場合には、着弾位置として、ステップS41で得られた検出位置を採用する。そして、採用された着弾位置で命中判定を行い(ステップS38)、図20のステップS26に戻る。
【0145】
図22、図23は、定期的に高輝度フラッシュを行うと共に検出エラー時に補間により指示位置を求める手法(図7、図8、図13(A)、図15(A)参照)の処理例を示すフローチャートである。
【0146】
まず、低輝度フラッシュ間隔L、高輝度フラッシュ間隔Hを設定する(ステップS51、S52)。そして、発射カウンタNをH−1に設定する(ステップS53)。また、検出失敗フラグ配列E[1]〜E[H−1]を0に初期化する(ステップS54)。更に、カウンタIをL−1に設定する(ステップS55)。
【0147】
次に、フレーム更新か否かを判断し(ステップS56)、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する(ステップS57)。そして、引き金が引かれている場合には、IをI+1にインクリメントする(ステップS58)。次に、I≧Lか否かを判断し(ステップS59)、I<Lの場合にはステップS56に戻る。
【0148】
I≧Lの場合には、I=0に設定し、NをN+1にインクリメントする(ステップS60、S61)。そしてN≧Hか否かを判断する(ステップS62)。
【0149】
N≧Hの場合にはN=0に設定する(ステップS63)。そして画面の高輝度フラッシュを行い(ステップS64)、仮想弾の着弾位置を検出する(ステップS65)。
【0150】
次に、着弾位置の検出エラーか否かを判断し(ステップS66)、検出エラーの場合には画面外着弾処理を行う(ステップS67)。一方、検出エラーでない場合には、ステップS65で得られた着弾位置に基づいて、仮想弾と標的オブジェクトとの命中判定を行う(ステップS68)。
【0151】
次に、J=H−1に設定する(ステップS69)。そして、初回(第1回目)の高輝度フラッシュか否かを判断し(ステップS70)、初回の高輝度フラッシュの場合には図22のステップS56に戻る。
【0152】
ステップS62でN<Hと判断された場合には、画面の低輝度フラッシュを行い(ステップS71)、着弾位置を検出する(ステップS72)。
【0153】
次に、着弾位置の検出エラーか否かを判断する(ステップS73)。そして、検出エラーの場合には、検出失敗フラグ配列E[N]を1に設定する(ステップS74)。一方、検出エラーでない場合には、検出失敗フラグ配列E[N]を0に設定し、ステップS72で検出された着弾位置X[N]、Y[N]を所与の記憶領域に記憶する(ステップS75、S76)。そして図22のステップS56に戻る。
【0154】
ステップS70で、初回ではなく2回目以降の高輝度フラッシュであると判断された場合には、J≦0か否かを判断する(ステップS77)。そして、J≦0の場合には図22のステップS56に戻る。
【0155】
一方、J>0の場合には、検出失敗フラグE[J]が0か否かを判断する(ステップS78)。そして。E[J]=0の場合(検出が成功であった場合)には、ステップS76で記憶された着弾位置X[N]、Y[N]を記憶領域から取り出す(ステップS79)。一方、E[J]=1の場合(検出エラーの場合)には、着弾位置を補間により算出する(ステップS80。図13(A)、図15(A)参照)。
【0156】
次に、ステップS79又はステップS80で得られた着弾位置に基づいて、仮想弾と標的オブジェクトとの命中判定を行う(ステップS81)。そして、JをJ−1にデクリメントし、ステップS77に戻る。
【0157】
図24、図25は、引き金が引かれた場合に低輝度フラッシュを常に行いながら散発的に高輝度フラッシュを行う手法(図11(A)参照)の処理例を示すフローチャートである。
【0158】
まず、仮想弾発射間隔B、高輝度フラッシュ間隔Hを設定する(ステップS91、S92)。そして、発射カウンタNをH−1に設定し、カウンタIをB−1に設定する(ステップS93、S94)。
【0159】
次に、フレーム更新か否かを判断し(ステップS95)、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する(ステップS96)。そして、引き金が引かれている場合には、画面の最低輝度を底上げする処理を行う(ステップS97)。即ち図11(A)に示すように低輝度フラッシュ期間の全てのフレームにおいて低輝度フラッシュを行うようにする。
【0160】
次に、IをI+1にインクリメントする(ステップS98)。そして、I≧Bか否かを判断し(ステップS99)、I<Bの場合にはステップS95に戻る。
【0161】
I≧Bの場合には、I=0に設定し、NをN+1にインクリメントする(ステップS100、S101)。そしてN≧Hか否かを判断する(ステップS102)。
【0162】
N≧Hの場合にはN=0に設定する(ステップS103)。そして画面の高輝度フラッシュを行い(ステップS104)、仮想弾の着弾位置X,Yを検出する(ステップS105)。
【0163】
次に、着弾位置の検出エラーか否かを判断し(ステップS106)、検出エラーの場合には画面外着弾処理を行う(ステップS107)。一方、検出エラーでない場合には、ステップS105で得られた着弾位置X,Yに基づいて、仮想弾と標的オブジェクトとの命中判定を行う(ステップS108)。そして、図24のステップS95に戻る。
【0164】
ステップS102でN<Hと判断された場合には、着弾予測位置Xc,Ycを、過去の着弾位置に基づき補外により算出する(ステップS109。図14(A)参照)。
【0165】
次に、着弾位置X,Yを検出し、着弾位置の検出エラーか否かを判断する(ステップS110、S111)。そして、検出エラーの場合には、着弾位置として、ステップS109で得られた予測位置(補外位置)を採用する(ステップS112。図15(A)参照)。一方、検出エラーでない場合には、着弾位置として、ステップS110で得られた検出位置を採用する。そして、採用された着弾位置で命中判定を行い(ステップS108)、図24のステップS95に戻る。
【0166】
図26、図27は、低輝度フラッシュによる位置検出がエラーの場合に高輝度フラッシュを行う手法(図11(B)参照)の処理例を示すフローチャートである。
【0167】
まず、低輝度フラッシュ間隔L、高輝度フラッシュ最低間隔Hを設定する(ステップS121、S122)。そして、読み取りエラーフラグFを1に設定する(ステップS123)。また発射カウンタNをH−1に設定し、カウンタIをL−1に設定する(ステップS124、S125)。
【0168】
次に、フレーム更新か否かを判断し(ステップS126)、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する(ステップS127)。そして、引き金が引かれている場合には、IをI+1にインクリメントする(ステップS128)。そして、I≧Lか否かを判断し(ステップS129)、I<Lの場合にはステップS126に戻る。
【0169】
I≧Lの場合には、I=0に設定し、NをN+1にインクリメントする(ステップS130、S131)。
【0170】
次に、F=0か否かを判断する(ステップS132)。そして、F=1の場合(低輝度フラッシュで検出エラーが生じた場合)には、N≧Hか否かを判断する(ステップS133)。そして、N≧Hの場合(高輝度フラッシュの後に低輝度フラッシュをH回行った場合)には、N=0に設定すると共にF=0に設定する(ステップS134、S135)。そして、画面の高輝度フラッシュを行い(ステップS136)、仮想弾の着弾位置X,Yを検出する(ステップS137)。
【0171】
次に、着弾位置の検出エラーか否かを判断し(ステップS138)、検出エラーの場合には画面外着弾処理を行う(ステップS139)。一方、検出エラーでない場合には、ステップS137で得られた着弾位置X,Yに基づいて、仮想弾と標的オブジェクトとの命中判定を行う(ステップS140)。そして、図26のステップS126に戻る。
【0172】
ステップS132でF=0と判断された場合(前回に高輝度フラッシュを行った場合)、或いはステップS133でN<Hと判断された場合には、着弾予測位置Xc,Ycを、過去の着弾位置に基づき補外により算出する(ステップS141。図14(A)参照)。
【0173】
次に、画面の低輝度フラッシュを行い、着弾位置X,Yを検出する(ステップS142、S143)。そして、着弾位置の検出エラーか否かを判断する(ステップS144)。そして、検出エラーの場合には、F=1に設定すると共に、着弾位置として、ステップS141で得られた予測位置(補外位置)を採用する(ステップS145、S146。図15(A)参照)。一方、検出エラーでない場合には、着弾位置として、ステップS143で得られた検出位置を採用する。そして、採用された着弾位置で命中判定を行い(ステップS140)、図26のステップS126に戻る。
【0174】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図28を用いて説明する。
【0175】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0176】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0177】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0178】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0179】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0180】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0181】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0182】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0183】
RAM960は、各種プロセッサの作業領域として用いられる。
【0184】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0185】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0186】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0187】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0188】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本発明の各手段として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0189】
図29(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、コントローラ1102などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0190】
図21(B)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム(格納情報)は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0191】
なお、図21(B)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0192】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0193】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0194】
例えば、明細書中の記載において広義な用語(ポインティングデバイス、指示位置、指示位置の連続検出操作等)として引用された用語(ガン型コントローラ、着弾位置、仮想弾の連射操作等)は、明細書中の他の記載においても広義な用語に置き換えることができる。
【0195】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0196】
また、本発明に用いられるポインティングデバイスとしては、ガン型コントローラなどのシューティングデバイスが望ましいが、フォトセンサ等により表示部の走査光を検知できる種々のポインティングデバイスを用いることができる。例えば、剣の形状を模したポインティングデバイスを用いて、剣の軌道や剣のヒット位置を本発明の手法により検出してもよい。
【0197】
また、低輝度フラッシュ画像、高輝度フラッシュ画像の発生タイミングや、低輝度フラッシュ期間、高輝度フラッシュ期間の設定の仕方も、図7〜図12で説明したものに限定されず、種々の変形実施が可能である。例えば高輝度フラッシュ画像は定期的に発生してもよいし、不定期に発生してもよい。また、低輝度フラッシュ画像、高輝度フラッシュ画像というように2段階の輝度のフラッシュ画像を用いる場合のみならず、3段階以上の輝度のフラッシュ画像を用いる場合も本発明の範囲に含まれる。
【0198】
また、指示位置の補間手法や補外手法も、図13(A)〜図15(C)で説明した手法に限定されず、種々の変形実施が可能である。
【0199】
更に、低輝度フラッシュ画像や高輝度フラッシュ画像は、図16(A)〜図17(B)で説明した手法で生成することが望ましいが、γ補正回路などを利用して生成してもよい。
【0200】
また本発明はガンゲーム以外にも種々のゲーム(ガンゲーム以外のシューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0201】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムや、これらの画像システムが有する位置検出システムに適用できる。
【図面の簡単な説明】
【図1】本実施形態を家庭用ゲームシステムに適用した場合について説明するための図である。
【図2】本実施形態の画像生成システムのブロック図の例である。
【図3】位置検出部の構成例を示す図である。
【図4】図4(A)、(B)、(C)は、指示位置の検出手法について説明するための図である。
【図5】画面を全面白にするフラッシュだけを行う手法について説明するための図である。
【図6】低輝度フラッシュだけを行う手法について説明するための図である。
【図7】低輝度フラッシュと高輝度フラッシュを併用する手法の一例について説明するための図である。
【図8】図7の手法により表示される低輝度フラッシュ画像、高輝度フラッシュ画像の例について示す図である。
【図9】図9(A)、(B)は、本実施形態により生成されるゲーム画像の例である。
【図10】低輝度フラッシュと高輝度フラッシュを併用する手法の他の例について説明するための図である。
【図11】図11(A)、(B)も、低輝度フラッシュと高輝度フラッシュを併用する手法の他の例について説明するための図である。
【図12】図11(A)の手法により表示される低輝度フラッシュ画像、高輝度フラッシュ画像の例について示す図である。
【図13】図13(A)、(B)は、検出位置の補間手法について説明するための図である。
【図14】図14(A)、(B)は、過去の指示位置の補外手法について説明するための図である。
【図15】図15(A)、(B)、(C)は、指示位置の検出エラー時に補間位置又は補外位置を採用する手法について説明するための図である。
【図16】図16(A)、(B)、(C)、(D)は、画面サイズ又は分割サイズのポリゴンの描画により元画像の輝度を変換する手法について説明するための図である。
【図17】図17(A)、(B)も、画面サイズ又は分割サイズのポリゴンの描画により元画像の輝度を変換する手法について説明するための図である。
【図18】ポリゴンをαブレンドで描画することで元画像の輝度を変換する手法の処理例について示すフローチャートである。
【図19】ポリゴンをα減算、α加算で描画することで元画像の輝度を変換する手法の処理例について示すフローチャートである。
【図20】定期的に高輝度フラッシュを行いながら補外処理を行う手法の処理例について示すフローチャートである。
【図21】定期的に高輝度フラッシュを行いながら補外処理を行う手法の処理例について示すフローチャートである。
【図22】定期的に高輝度フラッシュを行いながら補間処理を行う手法の処理例について示すフローチャートである。
【図23】定期的に高輝度フラッシュを行いながら補間処理を行う手法の処理例について示すフローチャートである。
【図24】低輝度フラッシュを全フレームで行いながら散発的に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図25】低輝度フラッシュを全フレームで行いながら散発的に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図26】低輝度フラッシュで検出エラーが発生したことを条件に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図27】低輝度フラッシュで検出エラーが発生したことを条件に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図28】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図29】図29(A)、(B)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
10 ガン型コントローラ(ポインティングデバイス)
12 指示体
14 引き金
16 レンズ
18 光センサ
20 処理部
30 指示位置
32 検出エリア
60 位置検出部
64 Xカウンタ部
66 Yカウンタ部
80 通信部
90 本体装置
100 処理部
110 フラッシュ画像発生部
112 指示位置決定部
114 ヒットチェック部
120 画像生成部
130 音生成部
170 記憶部
172 主記憶部
174 描画バッファ
180 情報記憶媒体
190 表示部

Claims (29)

  1. 画像を生成するための画像生成システムであって、
    表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、
    前記フラッシュ画像発生手段が、
    低輝度フラッシュ期間において、全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生し、
    低輝度フラッシュ期間と次の低輝度フラッシュ期間の間の高輝度フラッシュ期間において、全ての画素の輝度が前記第1の輝度値よりも大きい第2の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする画像生成システム。
  2. 請求項1において、
    前記フラッシュ画像発生手段が、
    低輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする画像生成システム。
  3. 請求項1又は2において、
    前記フラッシュ画像発生手段が、
    高輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が前記第1の輝度値よりも大きい第2の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする画像生成システム。
  4. 請求項1乃至3のいずれかにおいて、
    低輝度フラッシュ画像が2フレーム以上のフレーム間隔で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする画像生成システム。
  5. 請求項1乃至3のいずれかにおいて、
    低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする画像生成システム。
  6. 請求項1乃至5のいずれかにおいて、
    前記フラッシュ画像発生手段が、
    低輝度フラッシュ画像による指示位置の検出がエラーであることを条件に、高輝度フラッシュ画像を発生することを特徴とする画像生成システム。
  7. 請求項1乃至6のいずれかにおいて、
    高輝度フラッシュ画像により検出された指示位置の補間により得られた補間位置又は過去の指示位置の補外により得られた補外位置に基づいて、低輝度フラッシュ期間での指示位置が求められることを特徴とする画像生成システム。
  8. 請求項7において、
    低輝度フラッシュ画像による指示位置の検出がエラーの場合に、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする画像生成システム。
  9. 請求項7又は8において、
    前記補間位置又は前記補外位置と低輝度フラッシュ画像により検出された指示位置との距離が、所与のしきい値以下の場合には、低輝度フラッシュ画像により検出された指示位置が、低輝度フラッシュ期間での指示位置に設定され、
    前記距離が所与のしきい値より大きい場合には、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする画像生成システム。
  10. 請求項1乃至9のいずれかにおいて、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする画像生成システム。
  11. 請求項1乃至9のいずれかにおいて、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする画像生成システム。
  12. 請求項1乃至11のいずれかにおいて、
    前記ポインティングデバイスが、シューティングゲームに使用されるシューティングデバイスであって、
    前記シューティングデバイスによる仮想弾の連射に連動して、低輝度フラッシュ画像又は高輝度フラッシュ画像が発生することを特徴とする画像生成システム。
  13. 画像を生成するための画像生成システムであって、
    表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする画像生成システム。
  14. 画像を生成するための画像生成システムであって、
    表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする画像生成システム。
  15. 表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段としてコンピュータを機能させるプログラムあって、
    前記フラッシュ画像発生手段が、
    低輝度フラッシュ期間において、全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生し、
    低輝度フラッシュ期間と次の低輝度フラッシュ期間の間の高輝度フラッシュ期間において、全ての画素の輝度が前記第1の輝度値よりも大きい第2の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とするプログラム。
  16. 請求項15において、
    前記フラッシュ画像発生手段が、
    低輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とするプログラム。
  17. 請求項15又は16において、
    前記フラッシュ画像発生手段が、
    高輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が前記第1の輝度値よりも大きい第2の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とするプログラム。
  18. 請求項15乃至17のいずれかにおいて、
    低輝度フラッシュ画像が2フレーム以上のフレーム間隔で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とするプログラム。
  19. 請求項15乃至17のいずれかにおいて、
    低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とするプログラム。
  20. 請求項15乃至19のいずれかにおいて、
    前記フラッシュ画像発生手段が、
    低輝度フラッシュ画像による指示位置の検出がエラーであることを条件に、高輝度フラッシュ画像を発生することを特徴とするプログラム。
  21. 請求項15乃至20のいずれかにおいて、
    高輝度フラッシュ画像により検出された指示位置の補間により得られた補間位置又は過去の指示位置の補外により得られた補外位置に基づいて、低輝度フラッシュ期間での指示位置が求められることを特徴とするプログラム。
  22. 請求項21において、
    低輝度フラッシュ画像による指示位置の検出がエラーの場合に、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とするプログラム。
  23. 請求項21又は22において、
    前記補間位置又は前記補外位置と低輝度フラッシュ画像により検出された指示位置との距離が、所与のしきい値以下の場合には、低輝度フラッシュ画像により検出された指示位置が、低輝度フラッシュ期間での指示位置に設定され、
    前記距離が所与のしきい値より大きい場合には、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とするプログラム。
  24. 請求項15乃至23のいずれかにおいて、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とするプログラム。
  25. 請求項15乃至23のいずれかにおいて、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が第1の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とするプログラム。
  26. 請求項15乃至25のいずれかにおいて、
    前記ポインティングデバイスが、シューティングゲームに使用されるシューティングデバイスであって、
    前記シューティングデバイスによる仮想弾の連射に連動して、低輝度フラッシュ画像又は高輝度フラッシュ画像が発生することを特徴とするプログラム。
  27. 表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段としてコンピュータを機能させるプログラムであって、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とするプログラム。
  28. 表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段としてコンピュータを機能させるプログラムであって、
    前記フラッシュ画像発生手段が、
    画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とするプログラム。
  29. コンピュータ読み取り可能な情報記憶媒体であって、請求項15乃至28のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2001342026A 2001-11-07 2001-11-07 画像生成システム及び情報記憶媒体 Expired - Fee Related JP3645516B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001342026A JP3645516B2 (ja) 2001-11-07 2001-11-07 画像生成システム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001342026A JP3645516B2 (ja) 2001-11-07 2001-11-07 画像生成システム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2003141561A JP2003141561A (ja) 2003-05-16
JP3645516B2 true JP3645516B2 (ja) 2005-05-11

Family

ID=19155960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001342026A Expired - Fee Related JP3645516B2 (ja) 2001-11-07 2001-11-07 画像生成システム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP3645516B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005052306A (ja) * 2003-08-01 2005-03-03 Sony Corp 位置検出システム
JP4530419B2 (ja) * 2006-03-09 2010-08-25 任天堂株式会社 座標算出装置および座標算出プログラム
JP4900914B2 (ja) * 2006-06-15 2012-03-21 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、及び画像生成システム
JP5004188B2 (ja) * 2008-04-08 2012-08-22 サミー株式会社 画像生成装置、遊技機、および画像生成プログラム

Also Published As

Publication number Publication date
JP2003141561A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
US6256047B1 (en) Method of judging hits and computer-readable storage medium storing game data
US20060209018A1 (en) Program product, image generation system, and image generation method
JP2010033296A (ja) プログラム、情報記憶媒体及び画像生成システム
GB2363045A (en) Game system and image creating method
JP4758499B2 (ja) 画像生成システム及び情報記憶媒体
JP2003044219A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006268676A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804120B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
US6614436B2 (en) Image generation device and information storage medium
US20090267942A1 (en) Image processing device, control method for image processing device and information recording medium
JP3645516B2 (ja) 画像生成システム及び情報記憶媒体
JP4530314B2 (ja) ゲームシステム、情報記憶媒体及び圧縮データの生成方法
JP3280355B2 (ja) 画像生成システム及び情報記憶媒体
US7796132B1 (en) Image generation system and program
JP2003079942A (ja) ゲーム情報、情報記憶媒体、及びゲーム装置
JP4367810B2 (ja) 画像生成システム及び情報記憶媒体
JP2010055131A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4651204B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4333889B2 (ja) 画像生成システム及び情報記憶媒体
JP4544555B2 (ja) ゲームシステム及び情報記憶媒体
JP4900914B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2000102675A (ja) オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体
JP2007267850A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3145062B2 (ja) 連射検出方法及び記録媒体
JP2007164323A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080210

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees