(57)【特許請求の範囲】
【請求項１】
画像を生成するための画像生成システムであって、
表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、
前記フラッシュ画像発生手段が、
低輝度フラッシュ期間において、全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生し、
低輝度フラッシュ期間と次の低輝度フラッシュ期間の間の高輝度フラッシュ期間において、全ての画素の輝度が前記第１の輝度値よりも大きい第２の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする画像生成システム。
【請求項２】
請求項１において、
前記フラッシュ画像発生手段が、
低輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
前記フラッシュ画像発生手段が、
高輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が前記第１の輝度値よりも大きい第２の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする画像生成システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
低輝度フラッシュ画像が２フレーム以上のフレーム間隔で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする画像生成システム。
【請求項５】
請求項１乃至３のいずれかにおいて、
低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする画像生成システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記フラッシュ画像発生手段が、
低輝度フラッシュ画像による指示位置の検出がエラーであることを条件に、高輝度フラッシュ画像を発生することを特徴とする画像生成システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
高輝度フラッシュ画像により検出された指示位置の補間により得られた補間位置又は過去の指示位置の補外により得られた補外位置に基づいて、低輝度フラッシュ期間での指示位置が求められることを特徴とする画像生成システム。
【請求項８】
請求項７において、
低輝度フラッシュ画像による指示位置の検出がエラーの場合に、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする画像生成システム。
【請求項９】
請求項７又は８において、
前記補間位置又は前記補外位置と低輝度フラッシュ画像により検出された指示位置との距離が、所与のしきい値以下の場合には、低輝度フラッシュ画像により検出された指示位置が、低輝度フラッシュ期間での指示位置に設定され、
前記距離が所与のしきい値より大きい場合には、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする画像生成システム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする画像生成システム。
【請求項１１】
請求項１乃至９のいずれかにおいて、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする画像生成システム。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記ポインティングデバイスが、シューティングゲームに使用されるシューティングデバイスであって、
前記シューティングデバイスによる仮想弾の連射に連動して、低輝度フラッシュ画像又は高輝度フラッシュ画像が発生することを特徴とする画像生成システム。
【請求項１３】
画像を生成するための画像生成システムであって、
表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする画像生成システム。
【請求項１４】
画像を生成するための画像生成システムであって、
表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする画像生成システム。
【請求項１５】
表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段としてコンピュータを機能させるプログラムあって、
前記フラッシュ画像発生手段が、
低輝度フラッシュ期間において、全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生し、
低輝度フラッシュ期間と次の低輝度フラッシュ期間の間の高輝度フラッシュ期間において、全ての画素の輝度が前記第１の輝度値よりも大きい第２の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とするプログラム。
【請求項１６】
請求項１５において、
前記フラッシュ画像発生手段が、
低輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とするプログラム。
【請求項１７】
請求項１５又は１６において、
前記フラッシュ画像発生手段が、
高輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が前記第１の輝度値よりも大きい第２の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とするプログラム。
【請求項１８】
請求項１５乃至１７のいずれかにおいて、
低輝度フラッシュ画像が２フレーム以上のフレーム間隔で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とするプログラム。
【請求項１９】
請求項１５乃至１７のいずれかにおいて、
低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とするプログラム。
【請求項２０】
請求項１５乃至１９のいずれかにおいて、
前記フラッシュ画像発生手段が、
低輝度フラッシュ画像による指示位置の検出がエラーであることを条件に、高輝度フラッシュ画像を発生することを特徴とするプログラム。
【請求項２１】
請求項１５乃至２０のいずれかにおいて、
高輝度フラッシュ画像により検出された指示位置の補間により得られた補間位置又は過去の指示位置の補外により得られた補外位置に基づいて、低輝度フラッシュ期間での指示位置が求められることを特徴とするプログラム。
【請求項２２】
請求項２１において、
低輝度フラッシュ画像による指示位置の検出がエラーの場合に、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とするプログラム。
【請求項２３】
請求項２１又は２２において、
前記補間位置又は前記補外位置と低輝度フラッシュ画像により検出された指示位置との距離が、所与のしきい値以下の場合には、低輝度フラッシュ画像により検出された指示位置が、低輝度フラッシュ期間での指示位置に設定され、
前記距離が所与のしきい値より大きい場合には、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とするプログラム。
【請求項２４】
請求項１５乃至２３のいずれかにおいて、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とするプログラム。
【請求項２５】
請求項１５乃至２３のいずれかにおいて、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とするプログラム。
【請求項２６】
請求項１５乃至２５のいずれかにおいて、
前記ポインティングデバイスが、シューティングゲームに使用されるシューティングデバイスであって、
前記シューティングデバイスによる仮想弾の連射に連動して、低輝度フラッシュ画像又は高輝度フラッシュ画像が発生することを特徴とするプログラム。
【請求項２７】
表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段としてコンピュータを機能させるプログラムであって、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とするプログラム。
【請求項２８】
表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段としてコンピュータを機能させるプログラムであって、
前記フラッシュ画像発生手段が、
画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とするプログラム。
【請求項２９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１５乃至２８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、ガン型コントローラ（広義にはシューティングデバイス。更に広義にはポインティングデバイス）を用いて画面上の標的オブジェクトをシューティングして楽しむガンゲームと呼ばれる分野のゲームが人気を博している。このガンゲームでは、プレーヤ（操作者）がガン型コントローラの引き金を引くと、ショットの着弾位置（広義には指示位置）が、ガン型コントローラが内蔵するフォトセンサを利用して光学的に検出される。そして、検出された着弾位置に標的オブジェクトが存在する場合には当たりと判定され、標的オブジェクトが存在しない場合には外れと判定される。このようなガンゲームをプレイすることによりプレーヤは、現実世界における射撃を仮想体験できるようになる。
【０００３】
さて、このようなガンゲームにおいては、着弾位置の検出時に画面をフラッシュさせる処理が行われる。このように画面をフラッシュさせれば、フォトセンサによる走査光の検知時に、走査光の輝度を高くできる。これによりフォトセンサの入力光量が増え、着弾位置の検出精度を高めることができると共に、着弾位置の安定した検出を実現できる。
【０００４】
しかしながら、画面がフラッシュされると、画面が真っ白く光って見えるようになり、プレーヤに不自然感を与える場合がある。特に、ガン型コントローラがマシンガンのように高速連射が可能なタイプのものである場合には、高速連射により画面が頻繁に点滅して見えるようになり、画像の不自然さが更に目立ってしまう。
【０００５】
このような問題を解決するものとして例えば特開２００１−５６１３、特開２０００−３１７１３５に開示される従来技術がある。この従来技術によれば、画面のちらつきが目立ってしまう問題を、ある程度解決できるが、これらの問題を更に効果的に解決できる技術が望まれる。
【０００６】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、不自然な画像が生成されるのを防止しながらポインティングデバイスの指示位置を適正に検出できる画像生成システム及び情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、前記フラッシュ画像発生手段が、低輝度フラッシュ期間において、全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生し、低輝度フラッシュ期間と次の低輝度フラッシュ期間の間の高輝度フラッシュ期間において、全ての画素の輝度が前記第１の輝度値よりも大きい第２の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶（記録）したことを特徴とする。
【０００８】
本発明によれば、走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるフラッシュ画像が発生する。そして、例えば第１の低輝度フラッシュ期間（１又は複数のフレームで構成される期間）においては低輝度フラッシュ画像が発生し、第１の低輝度フラッシュ期間に続く第１の高輝度フラッシュ期間（１又は複数のフレームで構成される期間）においては高輝度フラッシュ画像が発生する。そして、第１の高輝度フラッシュ期間に続く第２の低輝度フラッシュ期間においては低輝度フラッシュ画像が発生する。
【０００９】
このように本発明では、例えば指示位置を連続検出する操作（連射操作）が行われた場合等に、低輝度フラッシュ画像に混じって高輝度フラッシュ画像が発生する（例えば、低輝度フラッシュ画像の発生頻度よりも少ない頻度で高輝度フラッシュ画像が発生する）。そして、このように低輝度フラッシュ画像を発生させて指示位置を検出することで、不自然な画像が生成されるのを防止できる。また、高輝度フラッシュ画像を発生させて指示位置を検出することで、低輝度フラッシュ画像では指示位置を検出できないような場合にも、ポインティングデバイスの指示位置を確実に検出できる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、低輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする。
【００１１】
このようにすれば、画面のフラッシュがプレーヤに目立たなくなり、より自然に見える画像を生成できるようになる。なお、低輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が第１の輝度値以上になる低輝度フラッシュ画像を発生してもよい。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、高輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が前記第１の輝度値よりも大きい第２の輝度値以上になるように設定された高輝度フラッシュ画像を発生することを特徴とする。
【００１３】
このようにすれば、高輝度フラッシュ期間において確実に指示位置を検出できるようになる。なお、高輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第２の輝度値以上になる高輝度フラッシュ画像を発生してもよい。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、低輝度フラッシュ画像が２フレーム以上のフレーム間隔で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする。また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が発生する高輝度フラッシュ期間とが交互に繰り返されることを特徴とする。
【００１５】
このようにすれば、ポインティングデバイスの指示位置を連続検出する操作（例えばシューティングデバイスの仮想弾の連射操作）が行われた場合に、画面のちらつきが目立ってしまう事態を防止しながら、指示位置の確実な検出が可能になる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、低輝度フラッシュ画像による指示位置の検出がエラーであることを条件に、高輝度フラッシュ画像を発生することを特徴とする。
【００１７】
このようにすれば、低輝度フラッシュ画像だけで指示位置の検出が可能な場合に、高輝度フラッシュ画像が無駄に発生してしまう事態を防止できる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、高輝度フラッシュ画像により検出された指示位置の補間により得られた補間位置又は過去の指示位置の補外により得られた補外位置に基づいて、低輝度フラッシュ期間での指示位置が求められることを特徴とする。
【００１９】
このようにすれば、補間位置や補外位置を用いて、低輝度フラッシュ期間での指示位置を確実に得ることができる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、低輝度フラッシュ画像による指示位置の検出がエラーの場合に、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする。
【００２１】
このようにすれば、低輝度フラッシュ画像では指示位置を検出できないような場合にも、補間位置や補外位置を利用して、低輝度フラッシュ期間での指示位置を得ることができる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記補間位置又は前記補外位置と低輝度フラッシュ画像により検出された指示位置との距離が、所与のしきい値以下の場合には、低輝度フラッシュ画像により検出された指示位置が、低輝度フラッシュ期間での指示位置に設定され、前記距離が所与のしきい値より大きい場合には、前記補間位置又は前記補外位置が、低輝度フラッシュ期間での指示位置に設定されることを特徴とする。
【００２３】
このようにすれば、低輝度フラッシュ期間で検出された指示位置の値自体が誤っていた場合等にも、適正な指示位置を得ることができる。
【００２４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする。また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が第１の輝度値以上になるように設定された低輝度フラッシュ画像を発生することを特徴とする。
【００２５】
このようにすれば負荷の少ない処理で、低輝度フラッシュ画像を発生できるようになる。
【００２６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記ポインティングデバイスが、シューティングゲームに使用されるシューティングデバイスであって、前記シューティングデバイスによる仮想弾の連射に連動して、低輝度フラッシュ画像又は高輝度フラッシュ画像が発生することを特徴とする。
【００２７】
このようにすれば、シューティングデバイスによる仮想弾の連射時にも、不自然な画像の生成を防止しながら、仮想弾の適正な着弾位置を検出できる。
【００２８】
また本発明は、画像を生成するための画像生成システムであって、表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、元画像が描画されている描画バッファにαブレンドを行いながら描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶（記録）したことを特徴とする。
【００２９】
本発明によれば、画面サイズ又は画面を分割したサイズのポリゴン（プリミティブ面）を描画バッファに描画するだけで、元画像のコントラストが残ったフラッシュ画像を生成できるようになり、フラッシュ画像の生成処理の負荷を軽減できる。また、得られた変換後の輝度と元画像の輝度との線形性が保たれるようになるため、画質の劣化を防止できる。
【００３０】
また本発明は、画像を生成するための画像生成システムであって、表示部からの走査光を検知してポインティングデバイスの指示位置を検出する際に、走査光の輝度を高めるためのフラッシュ画像を発生する手段を含み、前記フラッシュ画像発生手段が、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、負の値の輝度が零にクランプされるα減算を行いながら、元画像が描画されている描画バッファに描画し、次に、画面サイズ又は画面を分割したサイズの所定色のポリゴンを、α加算を行いながら描画バッファに描画することで、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値以上になるように設定されたフラッシュ画像を発生すること特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶（記録）したことを特徴とする。
【００３１】
本発明によれば、画面サイズ又は画面を分割したサイズのポリゴン（プリミティブ面）を描画バッファに描画するだけで、元画像のコントラストが残ったフラッシュ画像を生成できるようになり、フラッシュ画像の生成処理の負荷を軽減できる。また、輝度が高い画素については、元画像の輝度と変換後の輝度とをほぼ同じにできるため、画質の劣化を防止できる。
【００３２】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００３３】
なお以下では、本発明を、ガン型コントローラを用いたガンゲーム（シューティングゲーム）に適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。また、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３４】
１．構成
図１に、本実施形態を家庭用ゲームシステムに適用した場合の例について示す。
【００３５】
プレーヤは、銃を模して作られたガン型コントローラ１０（広義にはシューティングデバイス。更に広義にはポインティングデバイス）を持ち、表示部１９０の画面上に映し出される標的オブジェクトを狙って、引き金（トリガ）１４を引く。すると、ガン型コントローラ１０の指示位置３０からの走査光が、ガン型コントローラ１０が内蔵するフォトセンサ等により光学的に検出される。そして、ガン型コントローラ１０の指示位置３０が、画面上に表示される標的オブジェクトの位置と一致した場合には、当たりと判定され、一致しなかった場合には、外れと判定される。
【００３６】
なお、本実施形態のガン型コントローラ１０は、引き金１４を引くと、仮想的なショット（弾）が高速で自動的に連射されるようになっている（高速連射モードの場合）。従って、あたかも本物のマシンガンを撃っているかのような仮想現実感をプレーヤに与えることができる。
【００３７】
図２に、本実施形態の画像生成システム（ゲームシステム、位置検出システム）のブロック図の例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００３８】
ガン型コントローラ１０は、銃の形を模して形成された指示体１２（ケーシング）と、指示体１２の握り部に設けられた引き金１４と、指示体１２の銃口付近に内蔵されるレンズ１６（光学系）及びフォトセンサ１８を含む。また、ガン型コントローラ全体の制御や指示位置の演算などを行う処理部２０と、本体装置９０との間のインターフェースとして機能する通信部８０を含む。そして処理部２０は、ガン型コントローラ１０の指示位置（狭義には着弾位置）を演算する位置検出部６０を含む。なお、処理部２０や通信部８０の機能は、例えば、ＡＳＩＣなどのハードウェアにより実現してもよいし、各種プロセッサとソフトウェアの組み合わせにより実現してもよい。
【００３９】
本体装置１００（家庭用ゲームシステム）は、処理部１００、記憶部１７０を含む。
【００４０】
ここで処理部１００（プロセッサ）は、情報記憶媒体１８０に記憶されるプログラム、データや、ガン型コントローラ１０との間の通信情報（指示位置情報、補正情報又は検出エラー情報等）に基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。
【００４１】
ここで、処理部１００が行う処理としては、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などがある。
【００４２】
記憶部１７０は、処理部１００のワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００４３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の各手段（特に処理部１００に含まれるブロック）としてコンピュータを機能させるためのプログラム（各手段をコンピュータに実現させるためのプログラム）が記憶（記録、格納）される。
【００４４】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データなどを含ませることができる。
【００４５】
処理部１００は、フラッシュ画像発生部１１０、指示位置決定部１１２、ヒットチェック部１１４、画像生成部１２０、音生成部１３０を含む。
【００４６】
ここでフラッシュ画像生成部１１０は、指示位置の検知時において走査光の輝度を高めるフラッシュ画像を発生するための処理を行う。より具体的には、低輝度フラッシュ期間においては低輝度フラッシュ画像を発生し、高輝度フラッシュ期間においては高輝度フラッシュ画像を発生する。別の言い方をすれば、第Ｍのフレームでは低輝度フラッシュ画像を発生し、第Ｍのフレームとは異なる第Ｎのフレームでは高輝度フラッシュ画像を発生する。或いは、低輝度フラッシュ画像による指示位置の検出がエラーの場合に、高輝度フラッシュ画像を発生する。
【００４７】
ここで、例えば、低輝度フラッシュ期間と高輝度フラッシュ期間は交互に繰り返され、低輝度フラッシュ期間と次の低輝度フラッシュ期間の間に、高輝度フラッシュ期間が設定される。また、低輝度フラッシュ期間では、低輝度フラッシュ画像が例えば複数フレーム（複数回）発生する一方で、高輝度フラッシュ期間では、高輝度フラッシュ画像が例えば１フレーム（複数フレームでもよい）だけ発生する。また、低輝度フラッシュ画像が所与のフレーム間隔（２フレーム以上の間隔）で発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が１フレーム（複数フレームでもよい）だけ発生する高輝度フラッシュ期間とが交互に繰り返される。或いは、低輝度フラッシュ画像が全フレームで発生する低輝度フラッシュ期間と、高輝度フラッシュ画像が１フレーム（複数フレームでもよい）だけ発生する高輝度フラッシュ期間とが交互に繰り返される。
【００４８】
また、低輝度フラッシュ画像は、全ての画素（一部の例外的な画素を除く全ての画素。指示位置検出の対象となる全ての画素）の輝度（Ｒ、Ｇ、Ｂの各輝度に各係数を乗算して合計することで得られる輝度。Ｒ、Ｇ、Ｂの全ての輝度。Ｒ、Ｇ、Ｂの少なくとも１つの輝度）が第１の輝度値（フォトセンサ等により検知できる最低レベルの輝度値。零よりも大きな値。第１の明るさ）以上に設定された画像（フレーム画像）である。この場合、低輝度フラッシュ画像は、元画像（描画バッファに描かれた画像。透視変換後のフレーム画像）のコントラストを残しながら全ての画素の輝度が第１の輝度値以上に設定された画像であることが望ましいが、元画像のコントラストを残さずに全ての画素の輝度が第１の輝度値以上に設定された画像（例えば、画面全体が白、灰色、赤、緑或いは青などの所定色の画像。Ｒ、Ｇ、Ｂの輝度が全て第１の輝度値に設定された画像）であってもよい。
【００４９】
また、高輝度フラッシュ画像は、全ての画素（一部の例外的な画素を除く全ての画素。指示位置検出の対象となる全ての画素）の輝度（Ｒ、Ｇ、Ｂの各輝度に各係数を乗算して合計することで得られる輝度。Ｒ、Ｇ、Ｂの全ての輝度。Ｒ、Ｇ、Ｂの少なくとも１つの輝度）が第２の輝度値（フォトセンサ等により確実に検知できる輝度値。第１の輝度値よりも大きな値。第１の明るさより明るい第２の明るさ）以上に設定された画像（フレーム画像）である。この場合、高輝度フラッシュ画像は、元画像のコントラストを残さずに全ての画素の輝度が第２の輝度値以上に設定された画像（例えば、画面全体が白、灰色、赤、緑或いは青などの所定色の画像。Ｒ、Ｇ、Ｂの輝度が全て第２の輝度値に設定された画像）であることが望ましいが、元画像のコントラストを残しながら全ての画素の輝度が第２の輝度値以上に設定された画像であってもよい。
【００５０】
指示位置決定部１１２は、ガン型コントローラ１０（ポインティングデバイス）の指示位置（仮想弾の着弾位置）を最終決定するための処理を行う。
【００５１】
より具体的には、位置検出部６０で検出された指示位置に基づいて、ガン型コントローラ１０の指示位置を決定する。或いは、位置検出部６０で検出された複数の指示位置の補間により得られた補間位置や、過去の複数の指示位置の補外により得られた補外位置（予測位置）に基づいて、ガン型コントローラ１０の指示位置を決定する。例えば、位置検出部６０での位置検出がエラーの場合には、補間位置又は補外位置を、最終的な指示位置として採用する。
【００５２】
ヒットチェック部１１４は、シューティングによる仮想弾（ショット）が標的オブジェクトにヒットしたか否かをチェックする処理を行う。より具体的には、指示位置決定部１１２（位置検出部６０）により決定（検出）されたガン型コントローラ１０の指示位置（仮想弾の着弾位置）に基づいて、仮想弾の軌道を決定し、この軌道が、オブジェクト空間内の標的オブジェクトに交わったか否かを判定する。そして、交わった場合には、標的オブジェクトに仮想弾がヒットしたと判定し、標的オブジェクトの耐久値（体力値）を減らす処理や、爆発エフェクトを発生する処理や、標的オブジェクトの位置、方向、モーション、色又は形状を変化させる処理などを行う。一方、交わらなかった場合には、仮想弾が標的オブジェクトにヒットしなかったと判定し、仮想弾を削除し消滅させる処理などを行う。なお、標的オブジェクトの形状を簡略化して表した簡易オブジェクト（バウンディングボリューム、バウンディングボックス）を用意し（標的オブジェクトの位置に配置し）、この簡易オブジェクトと仮想弾（仮想弾の軌道）とのヒットチェックを行うようにしてもよい。
【００５３】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部１９０に出力する。例えば、いわゆる３次元ゲームの画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点（構成点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像が、描画バッファ１７４（フレームバッファ、ワークバッファ等の画素単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００５４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２（スピーカ）に出力する。
【００５５】
図３に、位置検出部６０の構成例を示す。
【００５６】
位置検出部６０は、フォトセンサ１８から送られてきた検出パルスに基づいて、ガン型コントローラ１０の指示位置（仮想弾の着弾位置）を検出する処理を行う。
【００５７】
即ち図３に示すように位置検出部６０は、検出位置決定部６２、Ｘカウンタ部６４、Ｙカウンタ部６６を含む。フォトセンサ１８からの検出パルスはこの位置検出部６０に入力される。位置検出部６０は、この検出パルス、クロック信号ＣＬＫ、水平同期信号及び垂直同期信号（本体装置からの映像信号に含まれる水平同期信号、垂直同期信号）に基づいて、ガン型コントローラ１０の指示位置を検出する。
【００５８】
より具体的には、Ｙカウンタ部６６のリセット端子Ｒには垂直同期信号が、クロック端子Ｃには水平同期信号が入力される。一方、Ｘカウンタ部６４のリセット端子Ｒには水平同期信号が、クロック端子Ｃにはクロック信号ＣＬＫが入力される。なお、垂直同期信号と水平同期信号の関係は図４（Ａ）のようになっており、水平同期信号とＣＬＫとの関係は図４（Ｂ）のようになっている。
【００５９】
図３のように構成することで、Ｙカウンタ部６６のＹカウント値は、図４（Ｃ）の(1)のポイント、即ち１フィールド期間の最初のポイントでリセットされるようになる。そして１Ｈ期間（１水平走査期間）毎にＹカウント値は順次インクリメントされる。
【００６０】
一方、Ｘカウンタ部６４のＸカウント値は、図４（Ｃ）の(2)〜(5)のポイント、即ち１Ｈ期間の最初のポイントでリセットされることになる。そして、ＣＬＫが例えば立ち上がる毎にＸカウント値は順次インクリメントされる。
【００６１】
そして例えば図４（Ｃ）の(6)のポイント（検出エリア３２）に走査光（ラスタ走査）が来たところで、フォトセンサ１８からのパルスが検出されたとする。するとその時点でのＸカウンタ部６４、Ｙカウンタ部６６のＸ、Ｙカウント値に基づいて、検出位置決定部６２がこれらのＸ、Ｙカウント値に対応するＸ座標、Ｙ座標を求める。これにより(6)のポイントの位置座標、即ちガン型コントローラ１０の指示位置の座標を検出できる。例えば図４（Ｃ）の場合には、Ｙカウント値は４となり、このＹカウント値４に基づいてポイント(6)のＹ座標が一意的に求められる。一方、Ｘカウント値はポイント(5)でリセットされているため、Ｘカウント値は、(5)と(6)の間でＣＬＫが立ち上がった回数になる。例えば図４（Ｂ）のＪの位置でフォトセンサ１８からのパルスが検出されたとすると、Ｘカウント値は５となり、このＸカウント値５に基づいてポイント(6)のＸ座標が一意的に求められる。
【００６２】
なお、図２では、位置検出部６０をガン型コントローラ１０内に設けているが、位置検出部６０を処理部１００内に設けるようにしてもよい。
【００６３】
また、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６４】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００６５】
２．本実施形態の特徴
２．１  低輝度フラッシュと高輝度フラッシュの併用
これまでの画像生成システムでは、ガン型コントローラの指示位置（着弾位置）を検出する際に、画面を全面白にするフラッシュを行っていた。即ち図５に示すようにプレーヤがフレームＫでガン型コントローラの引き金を引き発砲すると、次のフレームＫ＋１で画面を全面白にフラッシュする（全ての画素の輝度を例えば最高値にする）。そして、このフラッシュ時における走査光をフォトセンサで検知して、ガン型コントローラの指示位置（仮想弾の着弾位置）を検出する。
【００６６】
しかしながら、図５の位置検出手法では、画面のフラッシュ時に画面が真っ白になってしまうため、プレーヤが不自然さを感じるという問題点がある。特に、本実施形態のガン型コントローラでは、引き金を引くと自動的に仮想弾（ショット）が高速連射される。従って、図５で位置検出手法では、高速連射により画面が頻繁に点滅して見えるようになってしまい、プレーヤが感じる不自然感が更に増してしまう。
【００６７】
一方、特開２００１−５６１３の従来技術では次のような位置検出手法を採用している。即ち図６に示すように、フレームＫでプレーヤがガン型コントローラの引き金を引き発砲したとする。すると、次のフレームＫ＋１では、元画像のコントラストを残しながら全ての画素の輝度を所与の輝度値以上にする低輝度フラッシュを行い、指示位置を検出する。
【００６８】
このように低輝度フラッシュを行う手法によれば、指示位置の検出時に表示物４０、４２のコントラストがある程度残っているため、プレーヤが感じる不自然感を軽減できる。また、仮想弾を高速連射した場合にも、画面がそれほどちらつかず、プレーヤが感じる不自然感が更に増す事態を防止できる。
【００６９】
しかしながら、このような低輝度フラッシュだけを用いて位置検出を行う手法では、指示位置を確実に検出できないおそれがあることが判明した。
【００７０】
例えば、業務用ゲームシステムにおいては、表示部（モニター）の表示特性のバラツキは家庭用ゲームシステムに比べて少ない。また、出荷時に、低輝度フラッシュ時の輝度値を最適な値に調整できる。従って、低輝度フラッシュだけを用いる位置検出手法でも、指示位置を確実に検出できる。
【００７１】
しかしながら、家庭用ゲームシステムでは、本体装置が接続される表示部（テレビ）の種類は多種多様であり、その表示特性のバラツキ範囲は非常に大きい。また、プレーヤが、自分の好みに合うように表示部の輝度調整を行っている場合もあり、表示部の輝度調整値も様々な値になっている。従って、低輝度フラッシュだけを用いる図６の位置検出手法では、指示位置を確実に検出することが困難になることが判明した。
【００７２】
そこで本実施形態では、低輝度フラッシュと高輝度フラッシュを併用する手法を採用している。即ち図７に示すように、フレーム間隔ＮＬで低輝度フラッシュを行いながら、ＮＬよりも大きなフレーム間隔ＮＨで低輝度フラッシュの代わりに高輝度フラッシュを行う。
【００７３】
例えば図７では、フレームＫ＋２、Ｋ＋４、Ｋ＋６、Ｋ＋８、Ｋ＋１２、Ｋ＋１４、Ｋ＋１６、Ｋ＋１８で（ＮＬ＝２のフレーム間隔で）、低輝度フラッシュが行われる。即ち、これらのフレームで、元画像（描画バッファに描かれた最終的なフレーム画像）のコントラストを残しながら全ての画素の輝度を第１の輝度値ＢＲ１以上にする低輝度フラッシュ画像を発生する。
【００７４】
一方、フレームＫ、Ｋ＋１０、Ｋ＋２０で（ＮＨ＝１０のフレーム間隔で）、高輝度フラッシュが行われる。即ち、これらのフレームで、元画像のコントラストを残さずに全ての画素の輝度を第２の輝度値ＢＲ２以上（ＢＲ２＞ＢＲ１）にする高輝度フラッシュが行われる。即ち、画面全体が所定色（白、灰色、赤、緑又は青等）になる高輝度フラッシュ画像を発生する。
【００７５】
別の言い方をすれば、低輝度フラッシュ期間ＬＴ１、ＬＴ２では、低輝度フラッシュを行い、低輝度フラッシュ期間ＬＴ１と次の低輝度フラッシュ期間ＬＴ２の間に設定された高輝度フラッシュ期間ＨＴ２では、高輝度フラッシュを行う。更に具体的には、ガン型コントローラ１０の仮想弾を連射する操作が行われた場合に（広義には、ポインティングデバイスの指示位置を連続検出する操作が行われた場合に）、低輝度フラッシュ画像が所与のフレーム間隔ＮＬ（例えばＮＬ＝２）で発生する低輝度フラッシュ期間ＬＴ１、ＬＴ２と、高輝度フラッシュ画像が１フレーム（複数フレームでもよい）だけ発生する高輝度フラッシュ期間ＨＴ１、ＨＴ２、ＨＴ３とが交互に繰り返される。
【００７６】
このようにすることで、表示部１９０の画面上には図８に示すような画像が表示される。即ちフレームＫ＋８では、元画像のコントラストを残しながら画面全体の輝度が明るくなる低輝度フラッシュ画像が表示される。そして、次のフレームＫ＋９では、輝度変換が行われていない元画像（当該フレームでの元画像）が表示される。また、次のフレームＫ＋１０では、全画面が所定色（白、灰色等）になる高輝度フラッシュ画像が表示される。そして、次のフレームＫ＋１１では、輝度変換が行われていない元画像（当該フレームでの元画像）が表示される。また、次のフレームＫ＋１２では、元画像のコントラストを残しながら画面全体の輝度が明るくなる低輝度フラッシュ画像が表示される。
【００７７】
例えば、図８のフレームＫ＋１０では、元画像のコントラストを残さない高輝度フラッシュが行われているため、表示物４０、４２は全く見えなくなっている（コントラスト＝０）。これに対して、フレームＫ＋８、Ｋ＋１２では、表示物４０、４２のコントラストがある程度残っている（コントラスト＞０）。しかも、元画像において真っ黒だった表示物４２は、その輝度がアップしている。即ち、画面の全ての画素の輝度が第１の輝度値ＢＲ１（例えばフォトセンサ等により検知できる最低レベルの輝度値）以上になっている。
【００７８】
本実施形態によれば、低輝度フラッシュ期間（フレームＫ＋９、Ｋ＋１２）においては、表示物４０、４２のコントラストがある程度残っているため、フラッシュ時に画面全体が真っ白になる図５の手法に比べて、プレーヤが感じる不自然感を軽減できる。そして、輝度の低い表示物４２については、低輝度フラッシュにより、その輝度値が高くなり、例えばフォトセンサの光検出のしきい値以上の値になる。従って、輝度の低い表示物４２にショットが着弾した場合にも、着弾位置を適正に検出できる。
【００７９】
また図５の手法では、プレーヤがガン型コントローラ１０で仮想弾を高速連射した時に、画面が頻繁に点滅してしまい、プレーヤの感じる不自然感が更に増してしまう。これに対して、本実施形態では、多くのフレームにおいては低輝度フラッシュ画像が表示され、散発的に高輝度フラッシュ画像が表示されるだけであるため、仮想弾を高速連射した場合にも、プレーヤがそれほど不自然さを感じない画像を生成できる。
【００８０】
一方、図６のように低輝度フラッシュ画像だけを用いる手法では、表示部の表示特性の個体差や輝度の調整状態の違いなどが原因となって、指示位置を確実に検出できないおそれがある。特に、家庭用ゲームシステムでは、表示部であるテレビの表示特性のバラツキが大きいため、この問題は更に深刻となる。
【００８１】
これに対して本実施形態では、低輝度フラッシュ画像に混じって散発的に高輝度フラッシュ画像が表示される。従って、この高輝度フラッシュ画像の表示時には、指示位置（着弾位置）を確実に検出できるため、上記問題を解決できる。
【００８２】
図９（Ａ）、（Ｂ）に、本実施形態により生成されるゲーム画像の例を示す。図９（Ａ）は、フラッシュのための輝度変換が行われていないゲーム画像（図８のフレームＫ＋９、Ｋ＋１１。元画像）の例であり、図９（Ｂ）は、低輝度フラッシュ時のゲーム画像（図８のフレームＫ＋８、Ｋ＋１２）の例である。図９（Ａ）、（Ｂ）に示すように、本実施形態では、指示位置検出時にも画面は真っ白にならないため、より自然なゲーム画像を生成できる。
【００８３】
なお、低輝度フラッシュのフレーム間隔ＮＬや第１の輝度値ＢＲ１、高輝度フラッシュのフレーム間隔ＮＨや第２の輝度値ＢＲ２は任意であり、適宜調整できるものである。例えば図７では低輝度フラッシュのフレーム間隔ＮＬ＝２となっているが、図１０ではフレーム間隔ＮＬ＝３となっている。また、図７に比べて図１０の方が、低輝度フラッシュの第１の輝度値ＢＲ１が小さくなっている。また、図７では高輝度フラッシュのフレーム間隔ＮＨ＝１０となっているが、図１０ではフレーム間隔ＮＨ＝９となっている。また、図７に比べて図１０の方が、高輝度フラッシュの第２の輝度値ＢＲ２が大きくなっている。
【００８４】
また、低輝度フラッシュ期間において、元画像のコントラストを残さずに全ての画素の輝度が第１の輝度値ＢＲ１以上に設定された低輝度フラッシュ画像（画面全体が所定色の画像）を発生してもよい。例えば、低輝度フラッシュ期間においては全画面が灰色の低輝度フラッシュを行い、高輝度フラッシュ期間においては全画面が白の高輝度フラッシュを行う。
【００８５】
或いは、高輝度フラッシュ期間において、元画像のコントラストを残しながら全ての画素の輝度が第２の輝度値ＢＲ２以上に設定された高輝度フラッシュ画像を発生してもよい。例えば図８のフレームＫ＋１０（高輝度フラッシュ期間）において、全画面が白の高輝度フラッシュ画像を表示する代わりに、コントラストが残った高輝度フラッシュ画像（図９（Ｂ）参照）を表示する。但し、この場合のコントラストが残った高輝度フラッシュ画像は、元画像に対する輝度の上昇値（ＢＲ２）を、低輝度フラッシュ画像での輝度の上昇値（ＢＲ１）に比べて大きくする。このようにすれば、画面のちらつきを更に目立たなくすることができる。
【００８６】
また図１１（Ａ）に示すように、低輝度フラッシュ期間ＬＴ１、ＬＴ２、ＬＴ３においては、全フレームで低輝度フラッシュ画像（図９（Ｂ）のように元画像のコントラストを残したフラッシュ画像）を発生するようにしてもよい。より具体的には、ガン型コントローラ１０の仮想弾を連射する操作が行われたことを条件に（広義には、ポインティングデバイスの指示位置を連続検出する操作が行われたことを条件に）、低輝度フラッシュ画像の表示を開始する。そして、この低輝度フラッシュ画像を全フレームで表示し続けながら、散発的に高輝度フラッシュ画像を表示する。即ち、低輝度フラッシュ期間ＬＴ１とＬＴ２の間の高輝度フラッシュ期間ＨＴ１や、低輝度フラッシュ期間ＬＴ２とＬＴ３の間の高輝度フラッシュ期間ＨＴ２において、高輝度フラッシュ画像を発生する。
【００８７】
このようにすることで、表示部１９０の画面上には図１２に示すような画像が表示される。
【００８８】
図１２のフレームＫ＋４では、元画像のコントラストを残しながら画面全体の輝度が高くなる低輝度フラッシュ画像が表示される。そして、次のフレームＫ＋５においても同様に、元画像のコントラストを残しながら画面全体の輝度が高くなる低輝度フラッシュ画像が表示される。即ち図８では、コントラストが残った低輝度フレーム画像と輝度変換が行われていない元画像とが交互に表示されるのに対して、図１２では、コントラストが残った低輝度フレーム画像が低輝度フラッシュ期間の全フレームにおいて常に表示される。そして、フレームＫ＋６になると、全画面が所定色（白、灰色等）の高輝度フラッシュ画像が表示される。また、次のフレームＫ＋７、Ｋ＋８では、元画像のコントラストが残った低輝度フラッシュ画像が表示される。
【００８９】
なお、図１１（Ａ）、図１２の高輝度フラッシュ期間（フレームＫ＋６、Ｋ＋１３、Ｋ＋２０）において、全画面が所定色の高輝度フラッシュ画像に代えて、元画像のコントラストを残しながら全ての画素の輝度が第２の輝度値ＢＲ２（＞ＢＲ１）以上に設定された高輝度フラッシュ画像を発生してもよい。
【００９０】
また、高輝度フラッシュ画像を、所定フレーム間隔毎に定期的に発生（定期的なタイミングで発生）してもよいし、図１１（Ｂ）に示すように低輝度フラッシュ画像による指示位置の検出がエラーになったことを条件に、高輝度フラッシュ画像を発生してもよい。
【００９１】
即ち、低輝度フラッシュ画像では画素の輝度値がそれほど大きくない。従って、表示部の画面とガン型コントローラとの位置関係（画面との距離）の変化や、表示部の周囲光の変化などに依存して、指示位置の検出エラーが生じたり、生じなかったりする。例えばガン型コントローラが画面に近い位置にある場合には検出エラーは生じにくいが、遠い位置にある場合には検出エラーが生じやすくなる。
【００９２】
図１１（Ｂ）に示すように、低輝度フラッシュ画像による指示位置の検出がエラーの場合に高輝度フラッシュ画像を発生するようにすれば、画面との距離や周囲光の変化に応じて動的（不定期）に高輝度フラッシュ画像が表示されるようになり、より確実な指示位置の検出が可能になる。
【００９３】
なお、検出エラーにより高輝度フラッシュ画像を発生した後、所与のフレーム（複数フレーム）が経過するまでは、高輝度フラッシュ画像を再度発生させないようにすることが望ましい。即ち、図１１（Ｂ）のフレームＫ＋８で高輝度フラッシュを行った後、例えばフレームＫ＋１０、Ｋ＋１２、Ｋ＋１４では、指示位置検出がエラーであるかエラーでないかに関わらず、常に低輝度フラッシュを行う。そして、フレームＫ＋８の高輝度フラッシュから所与のフレーム（複数フレーム）が経過した場合に（フレームＫ＋１６になった場合に）、指示位置検出がエラーであることを条件に高輝度フラッシュ画像を発生する処理を行う。即ち、フレームＫ＋１６の低輝度フラッシュによる指示位置検出は成功であったため、フレームＫ＋１８では低輝度フラッシュが行われる。一方、フレームＫ＋１８の低輝度フラッシュによる指示位置検出はエラーであったため、フレームＫ＋２０では高輝度フラッシュが行われるようになる。
【００９４】
２．２  指示位置の補間、補外
さて、低輝度フラッシュにおいては、画素の輝度の上昇値（ＢＲ１）は、画面のちらつきを防止するために必要最小限の値に抑えられる。このため、低輝度フラッシュによる指示位置（着弾位置）の検出が、表示部の表示特性の個体差、表示部の輝度調整の違い、周囲光の違いなどに依存して、成功したり失敗したりするようになる。
【００９５】
そこで本実施形態では、検出された指示位置の補間位置又は過去の指示位置の補外位置（予測位置）に基づいて、低輝度フラッシュ期間での指示位置を求めている。
【００９６】
例えば図１３（Ａ）、（Ｂ）では、高輝度フラッシュ期間ＨＴ、ＨＴ２で検出された複数の指示位置（高輝度フラッシュ画像により検出された指示位置）Ｐ０、Ｐ４の補間により、低輝度フラッシュ期間ＬＴ１での指示位置Ｐ１、Ｐ２、Ｐ３が決定される。なお、この場合の補間は、直線補間でもよいし曲線補間（例えばベジェ曲線による補間）でもよい。
【００９７】
一方、図１４（Ａ）では、過去（過去のフレーム）に得られた複数の指示位置Ｐ０、Ｐ１、Ｐ２の補外（予測）により、低輝度フラッシュ期間（現在のフレーム）での指示位置Ｐ３が求められている。なお、この場合の補外は、直線補外でもよいし曲線補外（例えばベジェ曲線による補外）でもよい。また、過去に得られた指示位置は、高輝度フラッシュ期間での指示位置だけを含むものであってもよいし、高輝度フラッシュ期間での指示位置と低輝度フラッシュ期間での指示位置の両方を含むものであってもよい。また、図２の位置検出部６０での位置検出が成功した指示位置だけを含むものであってもよい。
【００９８】
例えば、補間により指示位置を得る手法によると、図１４（Ｂ）のＥ１に示すように指示位置の実際の軌道が曲線であった場合にも、得られた補間位置Ｐ１’、Ｐ２’、Ｐ３’を結ぶ軌道がＥ２に示すように直線になってしまうおそれがある。
【００９９】
これに対して、補外により指示位置を得る手法によれば、得られた補外位置Ｐ１”、Ｐ２”、Ｐ３”を結ぶ軌道が、実際の軌道と近くなる。従って、より不自然さを感じない操作環境をプレーヤに提供できる。
【０１００】
また、補間により指示位置を得る手法では、例えば図１４（Ｂ）において、指示位置Ｐ４の検出が終わるまでは、補間位置Ｐ１’、Ｐ２’、Ｐ３’を得ることができないため、指示位置の確定に遅延が生じる。これに対して、補外により指示位置を得る手法によれば、このような遅延が生じない。従って、スピード感を損なわない快適な操作環境をプレーヤに提供できる。
【０１０１】
さて、低輝度フラッシュ時での位置検出部６０での指示位置検出は、ガン型コントローラ１０と画面との距離や、周囲光の強さに応じて、成功したりエラーになったりする。そして、指示位置検出に成功した場合には、位置検出部６０で検出された指示位置を採用した方が、プレーヤが操作するガン型コントローラ１０の動きに忠実な指示位置（着弾位置）を得ることができる。一方、位置検出部６０での指示位置検出がエラーの場合に、仮想弾が着弾しなかったものとみなしてしまうと、標的オブジェクトにヒットしたはずの仮想弾がヒットしなかったことになってしまい、プレーヤが不自然さを感じる。
【０１０２】
そこで本実施形態では、低輝度フラッシュによる指示位置検出がエラーであった場合に、補間位置や補外位置を、低輝度フラッシュ期間での指示位置として採用するようにしている。別の言い方をすれば、指示位置検出が成功の場合には、その検出位置を、低輝度フラッシュ期間での指示位置に設定する
例えば図１５（Ａ）において、フレームＫ＋３、Ｋ＋９では、位置検出部６０による指示位置検出が成功しているため、位置検出部６０の検出位置を、当該フレームＫ＋３、Ｋ＋９（低輝度フラッシュ期間）でのガン型コントローラ１０の指示位置（着弾位置）として採用する。一方、フレームＫ＋６では、位置検出部６０による指示位置検出がエラーとなっているため、補間又は補外により得られた位置を、当該フレームＫ＋６（低輝度フラッシュ期間）でのガン型コントローラ１０の指示位置（着弾位置）に設定する。
【０１０３】
このようにすれば、指示位置検出が成功の場合には、ガン型コントローラ１０の動きに忠実な指示位置を得ることが可能になる一方で、指示位置検出がエラーの場合には、補正位置や補外位置を用いて仮想弾のヒット判定が可能になる。これにより、プレーヤが不自然さをあまり感じないヒット判定を実現できる。
【０１０４】
なお、位置検出部６０による指示位置検出が成功かエラーかを示す情報は、ガン型コントローラ１０から本体装置９０に対して、通信情報として送られてくる。
【０１０５】
更に本実施形態では、補間位置又は補外位置と位置検出部６０での検出位置との距離に応じて、補間位置又は補外位置と検出位置のどちらを採用するかを決定している。
【０１０６】
より具体的には図１５（Ｂ）に示すように、補間位置又は補外位置と検出位置（低輝度フラッシュ画像により検出された指示位置。位置検出部６０により検出された指示位置）との距離Ｄが、しきい値ＤＴＨ以下の場合には、検出位置を、低輝度フラッシュ期間での指示位置に設定する。一方、図１５（Ｃ）に示すように、距離Ｄがしきい値ＤＴＨより大きい場合には、補間位置又は補外位置を、低輝度フラッシュ期間での指示位置に設定する。この場合の距離Ｄは、例えば画面の長辺又は短辺の長さなどに基づいて決めることができる。より具体的には、例えば距離Ｄを、画面の長辺又は短辺の長さの１／Ｎ倍（Ｎ＞１）にする。
【０１０７】
図１５（Ｂ）のように距離Ｄが短い場合には、補間位置や補外位置を採用するよりも、実際の検出位置を採用した方が、ガン型コントローラ１０の動きに忠実な指示位置を得ることができる。
【０１０８】
一方、図１５（Ｂ）のように距離Ｄが長い場合には、位置検出部６０からは検出エラーの報告は来ていないが、検出位置の値自体が誤っている可能性がある。例えば、位置検出部６０において演算エラーが発生したり、ガン型コントローラ１０のフォトセンサ１８が、表示部１９０の走査光ではなく、蛍光灯の光や他の表示部の走査光に反応した場合には、位置検出部６０からは位置検出成功の報告が来るが、検出位置自体は誤った値になる。従って、この場合には、検出位置ではなく、補間位置や補外位置を採用した方が、より信頼性の高い指示位置を得ることができる。
【０１０９】
２．３  コントラストを残したフラッシュ画像の生成
本実施形態では、図９（Ｂ）のような元画像のコントラストを残したフラッシュ画像を、以下に説明するような手法で生成している。
【０１１０】
即ち図１６（Ａ）、（Ｂ）に示すように、画面サイズのポリゴン（仮想ポリゴン）、或いは画面を分割したサイズのポリゴン（分割数分の仮想ポリゴン）を、元画像（透視変換後の画像）が描画されている描画バッファ（フレームバッファ等）に、αブレンド、α加算或いはα減算などを行いながら描画する。これにより、図９（Ｂ）に示すような、元画像のコントラストを残しながら全ての画素の輝度が所与の輝度値（ＢＲ１、ＢＲ２）以上になるフラッシュ画像（低輝度フラッシュ画像、高輝度フラッシュ画像）を生成できる。
【０１１１】
例えば図１６（Ｃ）では、（Ｒ、Ｇ、Ｂ）＝（２５５、２５５、２５５）となるような白ポリゴン（広義には所定色のポリゴン）を、元画像が描画されている描画バッファにαブレンドで描画する。これにより、元画像の輝度がＦ１からＦ２に示すように変換される。そして、Ｆ２に示す変換後の輝度では、元画像で真っ黒（輝度値＝０）であった画素の輝度が底上げされて、輝度値ＢＲ（フォトセンサにより検知可能な輝度値。ＢＲ１、ＢＲ２）以上に設定される。これにより、真っ黒の画素（図８の４２）をガン型コントローラ１０が指示していた場合にも、その指示（着弾）位置を確実に検出できる。
【０１１２】
図１６（Ｃ）のようにポリゴンをαブレンドで描画して元画像の輝度を変換する手法によれば、コントラスト自体は小さくなるが、元画像の輝度（元の輝度）に対する変換後の輝度の線形性が保たれる（Ｆ２の変換特性が直線になる）。従って、画質がそれほど劣化しないという利点がある。
【０１１３】
図１６（Ｄ）では、（Ｒ、Ｇ、Ｂ）＝（ＢＲ、ＢＲ、ＢＲ）となるような灰色ポリゴン（広義には所定色のポリゴン）を、元画像が描画されている描画バッファにα加算で描画している。これにより、元画像の輝度がＦ３からＦ４に示すように変換される。なお、この場合のα加算では、最大輝度値（２５５）を超える輝度が最大輝度値になるようにクランプされる。
【０１１４】
Ｆ４に示す変換後の輝度では、元画像で真っ黒（輝度値＝０）であった画素の輝度が底上げされて、輝度値ＢＲ以上に設定される。これにより、真っ黒の画素をガン型コントローラ１０が指示していた場合にも、その指示（着弾）位置を確実に検出できる。
【０１１５】
また、図１６（Ｃ）、（Ｄ）のようにポリゴンをαブレンド、α加算で描画して元画像の輝度を変換する手法には、１枚のポリゴン（或いは分割数の枚数のポリゴン）の描画だけで、元画像の輝度を変換できるという利点がある。
【０１１６】
図１７（Ａ）、（Ｂ）では、まず、（Ｒ、Ｇ、Ｂ）＝（ＢＲ、ＢＲ、ＢＲ）となるような灰色ポリゴン（広義には所定色のポリゴン）を、元画像が描画されている描画バッファにα減算で描画している。これにより、元画像の輝度がＦ５からＦ６に示すように変換される。なお、この場合のα減算では、負の値の輝度が零になるようにクランプされる。
【０１１７】
そして、このようにα減算でポリゴンを描画した後に、図１７（Ｂ）に示すように、（Ｒ、Ｇ、Ｂ）＝（ＢＲ、ＢＲ、ＢＲ）となるような灰色ポリゴン（広義には所定色のポリゴン）を、描画バッファにα加算で描画する。これにより、輝度がＦ６からＦ７に示すように変換される。
【０１１８】
Ｆ７に示す変換後の輝度では、元画像で真っ黒（輝度値＝０）であった画素の輝度が底上げされて、輝度値ＢＲ以上に設定される。これにより、真っ黒の画素をガン型コントローラ１０が指示していた場合にも、その指示（着弾）位置を確実に検出できる。
【０１１９】
図１７（Ａ）、（Ｂ）のようにポリゴンをα減算で描画した後にα加算で描画して元画像の輝度を変換する手法では、輝度が暗い画素では、元画像の輝度の情報（コントラスト）が失われてしまうという不利点がある。しかしながら、暗い画素での輝度情報の喪失は、それほど画質を劣化させない。そして図１７（Ａ）、（Ｂ）の手法によれば、輝度が明るい画素では、変換後の輝度の特性を、元画像の輝度とほぼ同じにできるという利点がある。
【０１２０】
なお、図１６（Ｃ）のαブレンドは例えば下式のように表すことができる。
【０１２１】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2    （１）
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2    （２）
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2    （３）
また、図１６（Ｄ）、図１７（Ｂ）のα加算は例えば下式のように表すことができる。
【０１２２】
ＲQ＝Ｒ1＋α×Ｒ2                （４）
ＧQ＝Ｇ1＋α×Ｇ2                （５）
ＢQ＝Ｂ1＋α×Ｂ2                （６）
また、図１７（Ａ）のα減算は例えば下式のように表すことができる。
【０１２３】
ＲQ＝Ｒ1−α×Ｒ2                （７）
ＧQ＝Ｇ1−α×Ｇ2                （８）
ＢQ＝Ｂ1−α×Ｂ2                （９）
上式（１）〜（９）において、Ｒ1、Ｇ1、Ｂ1は、描画バッファに既に描画されている画像の輝度（色）のＲ、Ｇ、Ｂ成分であり、Ｒ2、Ｇ2、Ｂ2は、αブレンド、α加算又はα減算で描画領域に描画するポリゴン（仮想ポリゴン）の輝度のＲ、Ｇ、Ｂ成分である。また、ＲQ、ＧQ、ＢQは、αブレンド、α加算又はα減算による得られる変換後の画像の輝度のＲ、Ｇ、Ｂ成分である。
【０１２４】
以上のようにポリゴンをαブレンド、α加算或いはα減算で描画して元画像の輝度を変換する図１６（Ａ）〜図１７（Ｂ）の手法には、次のような利点がある。
【０１２５】
即ち特開２００１−５６１３に開示されるように、業務用ゲームシステムではγ補正回路を備えている場合が多いため、このγ補正回路のγ補正テーブルの内容を書き換えることで、輝度変換を実現できる。
【０１２６】
しかしながら、家庭用ゲームシステムでは、一般的に、このような高価なγ補正回路を備えていない場合が多い。従って、このような場合には、特開２００１−５６１３のようにγ補正回路を有効利用して輝度変換を行う手法を採用できない。
【０１２７】
これに対して図１６（Ａ）〜図１７（Ｂ）の手法によれば、γ補正回路を備えていない家庭用ゲームシステムにおいても、元画像のコントラストを残しながら全画素の輝度を所与の輝度値以上に設定する輝度変換を容易に実現できる。しかも、この輝度変換は、描画領域に所定色の仮想的なポリゴンを描画するだけで実現できるため、処理負荷も非常に軽いという利点がある。
【０１２８】
なお、画像生成システムがγ補正回路を備えている場合には、低輝度フラッシュ画像や高輝度フラッシュ画像を、特開２００１−５６１３のようにγ補正回路を利用して生成するようにしてもよい。
【０１２９】
３．本実施形態の処理
次に、本実施形態の詳細な詳細例について、図１８〜図２７のフローチャートを用いて説明する。
【０１３０】
図１８は、ポリゴンをαブレンドで描画して元画像の輝度を変換する図１６（Ｃ）の手法の処理例を示すフローチャートである。
【０１３１】
まず、画面を小領域に分割する（ステップＳ１）。そして、分割された小領域の位置と形状を求める（ステップＳ２）。
【０１３２】
次に、小領域と同形状のポリゴン（仮想的なαブレンドポリゴン）を、小領域の位置に、画面最手前で（奥行き値が一番手前で）、αブレンドで描画する（ステップＳ３）。そして、すべての小領域の処理を行ったか否かを判断し（ステップＳ４）、残りの小領域がある場合にはステップＳ２に戻り、無い場合には処理を終了する。
【０１３３】
図１９は、ポリゴンをα減算、α加算で描画して元画像の輝度を変換する手法（図１７（Ａ）、（Ｂ）参照）の処理例を示すフローチャートである。
【０１３４】
まず画面を小領域に分割する（ステップＳ１１）。そして、分割された小領域の位置と形状を求める（ステップＳ１２）。
【０１３５】
次に、小領域と同形状のポリゴン（仮想的なα減算ポリゴン）を、小領域の位置に、画面最手前でα減算で描画する（ステップＳ１３）。次に、小領域と同形状のポリゴン（仮想的なα加算ポリゴン）を、小領域の位置に、画面最手前でα加算で描画する（ステップＳ１４）。そして、すべての小領域の処理を行ったか否かを判断し（ステップＳ１５）、残りの小領域がある場合にはステップＳ１２に戻り、無い場合には処理を終了する。
【０１３６】
図２０、図２１は、定期的に高輝度フラッシュを行うと共に検出エラー時に補外により指示位置を求める手法（図７、図８、図１４（Ａ）、図１５（Ａ）、（Ｂ）、（Ｃ）参照）の処理例を示すフローチャートである。
【０１３７】
まず、着弾点エラー判別用の距離しきい値ＤＴＨ（図１５（Ｂ）、（Ｃ）参照）を設定する（ステップＳ２１）。また、低輝度フラッシュの間隔Ｌ、高輝度フラッシュの間隔Ｈを設定する（ステップＳ２２、Ｓ２３）。そして、発射カウンタＮをＨ−１に設定し、低輝度フラッシュ間隔ＬをカウントするためのカウンタＩをＬ−１に設定する（ステップＳ２４、Ｓ２５）。
【０１３８】
次に、フレーム更新か否かを判断し（ステップＳ２６）、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する（ステップＳ２７）。そして、引き金が引かれている場合には、ＩをＩ＋１にインクリメントする（ステップＳ２８）。次に、Ｉ≧Ｌか否かを判断し（ステップＳ２９）、Ｉ＜Ｌの場合にはステップＳ２６に戻る。このステップＳ２６〜Ｓ２９の処理により、所与のフレーム間隔Ｌ毎に低輝度又は高輝度フラッシュ画像が表示され、それ以外のフレームでは輝度変換が行われていない元画像が表示されるようになる。
【０１３９】
Ｉ≧Ｌの場合には、Ｉ＝０に設定し、ＮをＮ＋１にインクリメントする（ステップＳ３０、Ｓ３１）。そしてＮ≧Ｈか否かを判断する（ステップＳ３２）。
【０１４０】
Ｎ≧Ｈの場合にはＮ＝０に設定する（ステップＳ３３）。そして画面の高輝度フラッシュを行い（ステップＳ３４）、仮想弾の着弾位置（指示位置）Ｘ，Ｙを検出する（ステップＳ３５）。
【０１４１】
次に、着弾位置の検出エラーか否かを判断し（ステップＳ３６）、検出エラーの場合には、画面外に仮想弾が着弾したと判定し、画面外着弾処理を行う（ステップＳ３７）。一方、検出エラーでない場合には、ステップＳ３５で得られた着弾位置Ｘ，Ｙに基づいて、仮想弾と標的オブジェクトとの命中判定を行う（ステップＳ３８）。そして、図２０のステップＳ２６に戻る。
【０１４２】
ステップＳ３２でＮ＜Ｈと判断された場合には、着弾予測位置Ｘｃ，Ｙｃを、過去の着弾位置に基づき補外により算出する（ステップＳ３９。図１４（Ａ）参照）。次に、画面の低輝度フラッシュを行い（ステップＳ４０）、着弾位置Ｘ，Ｙを検出する（ステップＳ４１）。
【０１４３】
次に、着弾位置の検出エラーか否かを判断する（ステップＳ４２）。そして、検出エラーの場合には、着弾位置として、ステップＳ３９で得られた予測位置（補外位置）を採用し、Ｘ＝Ｘｃ  Ｙ＝Ｙｃに設定する（ステップＳ４３。図１５（Ａ）参照）。
【０１４４】
一方、検出エラーでない場合には、検出位置Ｘ，Ｙと予測位置（補外位置）Ｘｃ，Ｙｃとの距離Ｄが、しきい値ＤＴＨ以上か否かを判断する（ステップＳ４４。図１５（Ｂ）、（Ｃ）参照）。そして、Ｄ≧ＤＴＨの場合には、着弾位置として予測位置を採用し、Ｄ＜ＤＴＨの場合には、着弾位置として、ステップＳ４１で得られた検出位置を採用する。そして、採用された着弾位置で命中判定を行い（ステップＳ３８）、図２０のステップＳ２６に戻る。
【０１４５】
図２２、図２３は、定期的に高輝度フラッシュを行うと共に検出エラー時に補間により指示位置を求める手法（図７、図８、図１３（Ａ）、図１５（Ａ）参照）の処理例を示すフローチャートである。
【０１４６】
まず、低輝度フラッシュ間隔Ｌ、高輝度フラッシュ間隔Ｈを設定する（ステップＳ５１、Ｓ５２）。そして、発射カウンタＮをＨ−１に設定する（ステップＳ５３）。また、検出失敗フラグ配列Ｅ［１］〜Ｅ［Ｈ−１］を０に初期化する（ステップＳ５４）。更に、カウンタＩをＬ−１に設定する（ステップＳ５５）。
【０１４７】
次に、フレーム更新か否かを判断し（ステップＳ５６）、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する（ステップＳ５７）。そして、引き金が引かれている場合には、ＩをＩ＋１にインクリメントする（ステップＳ５８）。次に、Ｉ≧Ｌか否かを判断し（ステップＳ５９）、Ｉ＜Ｌの場合にはステップＳ５６に戻る。
【０１４８】
Ｉ≧Ｌの場合には、Ｉ＝０に設定し、ＮをＮ＋１にインクリメントする（ステップＳ６０、Ｓ６１）。そしてＮ≧Ｈか否かを判断する（ステップＳ６２）。
【０１４９】
Ｎ≧Ｈの場合にはＮ＝０に設定する（ステップＳ６３）。そして画面の高輝度フラッシュを行い（ステップＳ６４）、仮想弾の着弾位置を検出する（ステップＳ６５）。
【０１５０】
次に、着弾位置の検出エラーか否かを判断し（ステップＳ６６）、検出エラーの場合には画面外着弾処理を行う（ステップＳ６７）。一方、検出エラーでない場合には、ステップＳ６５で得られた着弾位置に基づいて、仮想弾と標的オブジェクトとの命中判定を行う（ステップＳ６８）。
【０１５１】
次に、Ｊ＝Ｈ−１に設定する（ステップＳ６９）。そして、初回（第１回目）の高輝度フラッシュか否かを判断し（ステップＳ７０）、初回の高輝度フラッシュの場合には図２２のステップＳ５６に戻る。
【０１５２】
ステップＳ６２でＮ＜Ｈと判断された場合には、画面の低輝度フラッシュを行い（ステップＳ７１）、着弾位置を検出する（ステップＳ７２）。
【０１５３】
次に、着弾位置の検出エラーか否かを判断する（ステップＳ７３）。そして、検出エラーの場合には、検出失敗フラグ配列Ｅ［Ｎ］を１に設定する（ステップＳ７４）。一方、検出エラーでない場合には、検出失敗フラグ配列Ｅ［Ｎ］を０に設定し、ステップＳ７２で検出された着弾位置Ｘ[Ｎ］、Ｙ［Ｎ］を所与の記憶領域に記憶する（ステップＳ７５、Ｓ７６）。そして図２２のステップＳ５６に戻る。
【０１５４】
ステップＳ７０で、初回ではなく２回目以降の高輝度フラッシュであると判断された場合には、Ｊ≦０か否かを判断する（ステップＳ７７）。そして、Ｊ≦０の場合には図２２のステップＳ５６に戻る。
【０１５５】
一方、Ｊ＞０の場合には、検出失敗フラグＥ［Ｊ］が０か否かを判断する（ステップＳ７８）。そして。Ｅ［Ｊ］＝０の場合（検出が成功であった場合）には、ステップＳ７６で記憶された着弾位置Ｘ［Ｎ]、Ｙ［Ｎ］を記憶領域から取り出す（ステップＳ７９）。一方、Ｅ［Ｊ］＝１の場合（検出エラーの場合）には、着弾位置を補間により算出する（ステップＳ８０。図１３（Ａ）、図１５（Ａ）参照）。
【０１５６】
次に、ステップＳ７９又はステップＳ８０で得られた着弾位置に基づいて、仮想弾と標的オブジェクトとの命中判定を行う（ステップＳ８１）。そして、ＪをＪ−１にデクリメントし、ステップＳ７７に戻る。
【０１５７】
図２４、図２５は、引き金が引かれた場合に低輝度フラッシュを常に行いながら散発的に高輝度フラッシュを行う手法（図１１（Ａ）参照）の処理例を示すフローチャートである。
【０１５８】
まず、仮想弾発射間隔Ｂ、高輝度フラッシュ間隔Ｈを設定する（ステップＳ９１、Ｓ９２）。そして、発射カウンタＮをＨ−１に設定し、カウンタＩをＢ−１に設定する（ステップＳ９３、Ｓ９４）。
【０１５９】
次に、フレーム更新か否かを判断し（ステップＳ９５）、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する（ステップＳ９６）。そして、引き金が引かれている場合には、画面の最低輝度を底上げする処理を行う（ステップＳ９７）。即ち図１１（Ａ）に示すように低輝度フラッシュ期間の全てのフレームにおいて低輝度フラッシュを行うようにする。
【０１６０】
次に、ＩをＩ＋１にインクリメントする（ステップＳ９８）。そして、Ｉ≧Ｂか否かを判断し（ステップＳ９９）、Ｉ＜Ｂの場合にはステップＳ９５に戻る。
【０１６１】
Ｉ≧Ｂの場合には、Ｉ＝０に設定し、ＮをＮ＋１にインクリメントする（ステップＳ１００、Ｓ１０１）。そしてＮ≧Ｈか否かを判断する（ステップＳ１０２）。
【０１６２】
Ｎ≧Ｈの場合にはＮ＝０に設定する（ステップＳ１０３）。そして画面の高輝度フラッシュを行い（ステップＳ１０４）、仮想弾の着弾位置Ｘ，Ｙを検出する（ステップＳ１０５）。
【０１６３】
次に、着弾位置の検出エラーか否かを判断し（ステップＳ１０６）、検出エラーの場合には画面外着弾処理を行う（ステップＳ１０７）。一方、検出エラーでない場合には、ステップＳ１０５で得られた着弾位置Ｘ，Ｙに基づいて、仮想弾と標的オブジェクトとの命中判定を行う（ステップＳ１０８）。そして、図２４のステップＳ９５に戻る。
【０１６４】
ステップＳ１０２でＮ＜Ｈと判断された場合には、着弾予測位置Ｘｃ，Ｙｃを、過去の着弾位置に基づき補外により算出する（ステップＳ１０９。図１４（Ａ）参照）。
【０１６５】
次に、着弾位置Ｘ，Ｙを検出し、着弾位置の検出エラーか否かを判断する（ステップＳ１１０、Ｓ１１１）。そして、検出エラーの場合には、着弾位置として、ステップＳ１０９で得られた予測位置（補外位置）を採用する（ステップＳ１１２。図１５（Ａ）参照）。一方、検出エラーでない場合には、着弾位置として、ステップＳ１１０で得られた検出位置を採用する。そして、採用された着弾位置で命中判定を行い（ステップＳ１０８）、図２４のステップＳ９５に戻る。
【０１６６】
図２６、図２７は、低輝度フラッシュによる位置検出がエラーの場合に高輝度フラッシュを行う手法（図１１（Ｂ）参照）の処理例を示すフローチャートである。
【０１６７】
まず、低輝度フラッシュ間隔Ｌ、高輝度フラッシュ最低間隔Ｈを設定する（ステップＳ１２１、Ｓ１２２）。そして、読み取りエラーフラグＦを１に設定する（ステップＳ１２３）。また発射カウンタＮをＨ−１に設定し、カウンタＩをＬ−１に設定する（ステップＳ１２４、Ｓ１２５）。
【０１６８】
次に、フレーム更新か否かを判断し（ステップＳ１２６）、フレーム更新の場合には、ガン型コントローラの引き金が引かれているか否かを判断する（ステップＳ１２７）。そして、引き金が引かれている場合には、ＩをＩ＋１にインクリメントする（ステップＳ１２８）。そして、Ｉ≧Ｌか否かを判断し（ステップＳ１２９）、Ｉ＜Ｌの場合にはステップＳ１２６に戻る。
【０１６９】
Ｉ≧Ｌの場合には、Ｉ＝０に設定し、ＮをＮ＋１にインクリメントする（ステップＳ１３０、Ｓ１３１）。
【０１７０】
次に、Ｆ＝０か否かを判断する（ステップＳ１３２）。そして、Ｆ＝１の場合（低輝度フラッシュで検出エラーが生じた場合）には、Ｎ≧Ｈか否かを判断する（ステップＳ１３３）。そして、Ｎ≧Ｈの場合（高輝度フラッシュの後に低輝度フラッシュをＨ回行った場合）には、Ｎ＝０に設定すると共にＦ＝０に設定する（ステップＳ１３４、Ｓ１３５）。そして、画面の高輝度フラッシュを行い（ステップＳ１３６）、仮想弾の着弾位置Ｘ，Ｙを検出する（ステップＳ１３７）。
【０１７１】
次に、着弾位置の検出エラーか否かを判断し（ステップＳ１３８）、検出エラーの場合には画面外着弾処理を行う（ステップＳ１３９）。一方、検出エラーでない場合には、ステップＳ１３７で得られた着弾位置Ｘ，Ｙに基づいて、仮想弾と標的オブジェクトとの命中判定を行う（ステップＳ１４０）。そして、図２６のステップＳ１２６に戻る。
【０１７２】
ステップＳ１３２でＦ＝０と判断された場合（前回に高輝度フラッシュを行った場合）、或いはステップＳ１３３でＮ＜Ｈと判断された場合には、着弾予測位置Ｘｃ，Ｙｃを、過去の着弾位置に基づき補外により算出する（ステップＳ１４１。図１４（Ａ）参照）。
【０１７３】
次に、画面の低輝度フラッシュを行い、着弾位置Ｘ，Ｙを検出する（ステップＳ１４２、Ｓ１４３）。そして、着弾位置の検出エラーか否かを判断する（ステップＳ１４４）。そして、検出エラーの場合には、Ｆ＝１に設定すると共に、着弾位置として、ステップＳ１４１で得られた予測位置（補外位置）を採用する（ステップＳ１４５、Ｓ１４６。図１５（Ａ）参照）。一方、検出エラーでない場合には、着弾位置として、ステップＳ１４３で得られた検出位置を採用する。そして、採用された着弾位置で命中判定を行い（ステップＳ１４０）、図２６のステップＳ１２６に戻る。
【０１７４】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図２８を用いて説明する。
【０１７５】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１７６】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１７７】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１７８】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１７９】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１８０】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１８１】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１８２】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１８３】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１８４】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１８５】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１８６】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【０１８７】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１８８】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本発明の各手段として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【０１８９】
図２９（Ａ）に、本実施形態を業務用ゲームシステム（画像生成システム）に適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、コントローラ１１０２などを操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム（データ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、このプログラムを格納プログラム（格納情報）と呼ぶ。
【０１９０】
図２１（Ｂ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-１〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム（格納情報）は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体１３０６に格納されている。端末１３０４-１〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-１〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-１〜１３０４-nに伝送し端末において出力することになる。
【０１９１】
なお、図２１（Ｂ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム（格納情報）を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１９２】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１９３】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１９４】
例えば、明細書中の記載において広義な用語（ポインティングデバイス、指示位置、指示位置の連続検出操作等）として引用された用語（ガン型コントローラ、着弾位置、仮想弾の連射操作等）は、明細書中の他の記載においても広義な用語に置き換えることができる。
【０１９５】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１９６】
また、本発明に用いられるポインティングデバイスとしては、ガン型コントローラなどのシューティングデバイスが望ましいが、フォトセンサ等により表示部の走査光を検知できる種々のポインティングデバイスを用いることができる。例えば、剣の形状を模したポインティングデバイスを用いて、剣の軌道や剣のヒット位置を本発明の手法により検出してもよい。
【０１９７】
また、低輝度フラッシュ画像、高輝度フラッシュ画像の発生タイミングや、低輝度フラッシュ期間、高輝度フラッシュ期間の設定の仕方も、図７〜図１２で説明したものに限定されず、種々の変形実施が可能である。例えば高輝度フラッシュ画像は定期的に発生してもよいし、不定期に発生してもよい。また、低輝度フラッシュ画像、高輝度フラッシュ画像というように２段階の輝度のフラッシュ画像を用いる場合のみならず、３段階以上の輝度のフラッシュ画像を用いる場合も本発明の範囲に含まれる。
【０１９８】
また、指示位置の補間手法や補外手法も、図１３（Ａ）〜図１５（Ｃ）で説明した手法に限定されず、種々の変形実施が可能である。
【０１９９】
更に、低輝度フラッシュ画像や高輝度フラッシュ画像は、図１６（Ａ）〜図１７（Ｂ）で説明した手法で生成することが望ましいが、γ補正回路などを利用して生成してもよい。
【０２００】
また本発明はガンゲーム以外にも種々のゲーム（ガンゲーム以外のシューティングゲーム、格闘ゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０２０１】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムや、これらの画像システムが有する位置検出システムに適用できる。
【図面の簡単な説明】
【図１】本実施形態を家庭用ゲームシステムに適用した場合について説明するための図である。
【図２】本実施形態の画像生成システムのブロック図の例である。
【図３】位置検出部の構成例を示す図である。
【図４】図４（Ａ）、（Ｂ）、（Ｃ）は、指示位置の検出手法について説明するための図である。
【図５】画面を全面白にするフラッシュだけを行う手法について説明するための図である。
【図６】低輝度フラッシュだけを行う手法について説明するための図である。
【図７】低輝度フラッシュと高輝度フラッシュを併用する手法の一例について説明するための図である。
【図８】図７の手法により表示される低輝度フラッシュ画像、高輝度フラッシュ画像の例について示す図である。
【図９】図９（Ａ）、（Ｂ）は、本実施形態により生成されるゲーム画像の例である。
【図１０】低輝度フラッシュと高輝度フラッシュを併用する手法の他の例について説明するための図である。
【図１１】図１１（Ａ）、（Ｂ）も、低輝度フラッシュと高輝度フラッシュを併用する手法の他の例について説明するための図である。
【図１２】図１１（Ａ）の手法により表示される低輝度フラッシュ画像、高輝度フラッシュ画像の例について示す図である。
【図１３】図１３（Ａ）、（Ｂ）は、検出位置の補間手法について説明するための図である。
【図１４】図１４（Ａ）、（Ｂ）は、過去の指示位置の補外手法について説明するための図である。
【図１５】図１５（Ａ）、（Ｂ）、（Ｃ）は、指示位置の検出エラー時に補間位置又は補外位置を採用する手法について説明するための図である。
【図１６】図１６（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）は、画面サイズ又は分割サイズのポリゴンの描画により元画像の輝度を変換する手法について説明するための図である。
【図１７】図１７（Ａ）、（Ｂ）も、画面サイズ又は分割サイズのポリゴンの描画により元画像の輝度を変換する手法について説明するための図である。
【図１８】ポリゴンをαブレンドで描画することで元画像の輝度を変換する手法の処理例について示すフローチャートである。
【図１９】ポリゴンをα減算、α加算で描画することで元画像の輝度を変換する手法の処理例について示すフローチャートである。
【図２０】定期的に高輝度フラッシュを行いながら補外処理を行う手法の処理例について示すフローチャートである。
【図２１】定期的に高輝度フラッシュを行いながら補外処理を行う手法の処理例について示すフローチャートである。
【図２２】定期的に高輝度フラッシュを行いながら補間処理を行う手法の処理例について示すフローチャートである。
【図２３】定期的に高輝度フラッシュを行いながら補間処理を行う手法の処理例について示すフローチャートである。
【図２４】低輝度フラッシュを全フレームで行いながら散発的に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図２５】低輝度フラッシュを全フレームで行いながら散発的に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図２６】低輝度フラッシュで検出エラーが発生したことを条件に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図２７】低輝度フラッシュで検出エラーが発生したことを条件に高輝度フラッシュを行う手法の処理例について示すフローチャートである。
【図２８】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図２９】図２９（Ａ）、（Ｂ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１０    ガン型コントローラ（ポインティングデバイス）
１２    指示体
１４    引き金
１６    レンズ
１８    光センサ
２０    処理部
３０    指示位置
３２    検出エリア
６０    位置検出部
６４    Ｘカウンタ部
６６    Ｙカウンタ部
８０    通信部
９０    本体装置
１００  処理部
１１０  フラッシュ画像発生部
１１２  指示位置決定部
１１４  ヒットチェック部
１２０  画像生成部
１３０  音生成部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１８０  情報記憶媒体
１９０  表示部
【図１】
0003645516.tif 000002
【図２】
0003645516.tif 000003
【図３】
0003645516.tif 000004
【図４】
0003645516.tif 000005
【図５】
0003645516.tif 000006
【図６】
0003645516.tif 000007
【図７】
0003645516.tif 000008
【図８】
0003645516.tif 000009
【図９】
0003645516.tif 000010
【図１０】
0003645516.tif 000011
【図１１】
0003645516.tif 000012
【図１２】
0003645516.tif 000013
【図１３】
0003645516.tif 000014
【図１４】
0003645516.tif 000015
【図１５】
0003645516.tif 000016
【図１６】
0003645516.tif 000017
【図１７】
0003645516.tif 000018
【図１８】
0003645516.tif 000019
【図１９】
0003645516.tif 000020
【図２０】
0003645516.tif 000021
【図２１】
0003645516.tif 000022
【図２２】
0003645516.tif 000023
【図２３】
0003645516.tif 000024
【図２４】
0003645516.tif 000025
【図２５】
0003645516.tif 000026
【図２６】
0003645516.tif 000027
【図２７】
0003645516.tif 000028
【図２８】
0003645516.tif 000029
【図２９】
0003645516.tif 000030