JP4521811B2 - Program, information storage medium, and image generation system - Google Patents

Program, information storage medium, and image generation system Download PDF

Info

Publication number
JP4521811B2
JP4521811B2 JP2004182824A JP2004182824A JP4521811B2 JP 4521811 B2 JP4521811 B2 JP 4521811B2 JP 2004182824 A JP2004182824 A JP 2004182824A JP 2004182824 A JP2004182824 A JP 2004182824A JP 4521811 B2 JP4521811 B2 JP 4521811B2
Authority
JP
Japan
Prior art keywords
blur
image
processing
conversion
blurring
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.)
Active
Application number
JP2004182824A
Other languages
Japanese (ja)
Other versions
JP2006004364A (en
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
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2004182824A priority Critical patent/JP4521811B2/en
Publication of JP2006004364A publication Critical patent/JP2006004364A/en
Application granted granted Critical
Publication of JP4521811B2 publication Critical patent/JP4521811B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。   The present invention relates to a program, an information storage medium, and an image generation system.

従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。   Conventionally, an image generation system (game system) that generates an image that can be viewed from a virtual camera (a given viewpoint) in an object space (virtual three-dimensional space) in which an object such as a character is set is known. It is popular as a place to experience so-called virtual reality.

このような画像生成システムでは、グレア効果や被写界深度などの種々の画像表現のために、ぼかし画像を生成する場合がある。このようなぼかし画像を生成する技術としては例えば特開2001−160153号公報に開示される従来技術がある。   In such an image generation system, a blurred image may be generated for various image representations such as a glare effect and a depth of field. As a technique for generating such a blurred image, for example, there is a conventional technique disclosed in Japanese Patent Laid-Open No. 2001-160153.

しかしながら、画像生成システムのハードウェアの処理能力には限界があり、処理時間にも制約がある。従って、ぼかし効果の高い効率的なぼかし処理の実現が望まれている。
特開2001−160153号公報
However, the processing capacity of the image generation system hardware is limited, and the processing time is also limited. Therefore, realization of an efficient blurring process with a high blurring effect is desired.
JP 2001-160153 A

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、効率的なぼかし処理を実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above problems, and an object thereof is to provide a program, an information storage medium, and an image generation system capable of realizing efficient blurring processing.

本発明は、画像を生成する画像生成システムであって、ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部とを含み、前記ぼかし処理部が、前記複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   The present invention is an image generation system for generating an image, and a blurring target image information storage unit that stores information on a blurring target image that is a target of blurring processing, and a plurality of blurring processes on the blurring target image. A blur processing unit that performs a conversion process for increasing a pixel value of a blurred image obtained by the Kth blur process among the plurality of blur processes, and the conversion process is performed. The present invention relates to an image generation system that performs the next (K + 1) th blurring process on the blurred image. The present invention also relates to a program that causes a computer to function as each of the above-described units. The present invention also relates to a computer-readable information storage medium that stores (records) a program that causes a computer to function as each unit.

本発明によれば、ぼかし対象画像に対して複数回のぼかし処理が行われる。そして、第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理が行われ、その変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理が行われる。このようにすれば、ぼかし処理回数から期待されるぼかし長さよりも実際のぼかし長さの方が短くなってしまうなどの問題を解決でき、効率的なぼかし処理を実現できる。   According to the present invention, the blurring process is performed a plurality of times on the blurring target image. Then, a conversion process for increasing the pixel value of the blurred image obtained by the Kth blurring process is performed, and the next K + 1th blurring process is performed on the blurred image subjected to the conversion process. In this way, it is possible to solve the problem that the actual blur length is shorter than the blur length expected from the number of blur processes, and to realize efficient blur processing.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記変換処理のための変換テーブルを記憶する変換テーブル記憶部を含み(変換テーブル記憶部としてコンピュータを機能させ)、前記ぼかし処理部が、前記変換テーブルを用いて、ぼかし画像のピクセル値を増加させる前記変換処理を行うようにしてもよい。   Further, the image generation system, the program, and the information storage medium according to the present invention include a conversion table storage unit that stores a conversion table for the conversion process (a computer functions as the conversion table storage unit), and the blur processing unit includes The conversion process for increasing the pixel value of the blurred image may be performed using the conversion table.

このようにすれば、ぼかし処理の回数や内容に応じた適正な変換テーブルを用いて、変換処理を実現できる。   In this way, the conversion process can be realized using an appropriate conversion table according to the number and contents of the blur processes.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記変換テーブルが、インデックスカラー・テクスチャマッピング用のルックアップテーブルであり、前記ぼかし処理部が、第Kのぼかし処理で得られたぼかし画像のピクセル値を、前記ルックアップテーブルのインデックス番号として設定し、前記ルックアップテーブルを用いたインデックスカラー・テクスチャマッピングを行うことで、ぼかし画像のピクセル値を増加させる前記変換処理を行うようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the conversion table is a look-up table for index color / texture mapping, and the blur processing unit is the blur obtained by the Kth blur process. The pixel value of the image is set as the index number of the lookup table, and the conversion process for increasing the pixel value of the blurred image is performed by performing index color / texture mapping using the lookup table. Also good.

このようにすれば、例えば1回のテクスチャマッピングで、ぼかし画像の変換処理を実現できるため、処理を効率化できる。   In this way, for example, a blurred image conversion process can be realized by a single texture mapping, so that the process can be made more efficient.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、テクスチャ座標をシフトさせてバイリニア補間方式で、前記インデックスカラー・テクスチャマッピングを行うことで、前記変換処理と前記第K+1のぼかし処理の両方を同時に行うようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the blurring processing unit shifts the texture coordinates and performs the index color / texture mapping by a bilinear interpolation method, so that the conversion processing and the first storage are performed. Both K + 1 blurring processes may be performed simultaneously.

このようにすれば、例えば1回のテクスチャマッピングで、ぼかし画像の変換処理とぼかし処理の両方を実現できるため、処理を更に効率化できる。   In this way, for example, both the blur image conversion process and the blur process can be realized by a single texture mapping, so that the process can be further improved in efficiency.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、ぼかし処理の回数に応じた変換特性を有する変換テーブルを用いて、前記変換処理を行うようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the blur processing unit may perform the conversion process using a conversion table having a conversion characteristic according to the number of blur processes.

このようにすれば、ぼかし処理の回数を増やしてぼかし長さを大きくした場合にも、品質の高いぼかし画像を得ることができる。   In this way, a high-quality blurred image can be obtained even when the number of blurring processes is increased to increase the blur length.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、ぼかし対象画像の輪郭からぼかし境界に向かってぼかし画像のピクセル値をリニアに変化させる変換テーブルを用いて、前記変換処理を行うようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the blur processing unit uses the conversion table that linearly changes the pixel value of the blur image from the contour of the blur target image toward the blur boundary. Conversion processing may be performed.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
1. Configuration FIG. 1 shows an example of a functional block diagram of an image generation system (game system) of the present embodiment. Note that the image generation system of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。   The operation unit 160 is for a player to input operation data, and the function can be realized by a lever, a button, a steering, a microphone, a touch panel display, a housing, or the like. The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), hard disk, memory card, memory cassette, magnetic disk, or memory ( ROM) or the like. The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute processing of each unit).

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and its function can be realized by a CRT, LCD (Liquid Crystal Display), touch panel display, HMD (Head Mount Display), or the like. The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The portable information storage device 194 stores player personal data, game save data, and the like. Examples of the portable information storage device 194 include a memory card and a portable game device. The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions thereof are hardware such as various processors or communication ASICs, programs, and the like. It can be realized by.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and communication unit 196. May be. Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs processing such as game processing, image generation processing, or sound generation processing based on operation data and programs from the operation unit 160. Here, as the game process, a process for starting a game when a game start condition is satisfied, a process for advancing the game, a process for placing an object such as a character or a map, a process for displaying an object, and a game result are calculated. There is a process or a process of ending a game when a game end condition is satisfied. The processing unit 100 performs various processes using the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes an object space setting unit 110, a movement / motion processing unit 112, a virtual camera control unit 114, a drawing unit 120, and a sound generation unit 130. Note that some of these may be omitted.

オブジェクト空間設定部110は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit 110 includes various objects (primitive surfaces such as polygons, free-form surfaces, and subdivision surfaces) representing display objects such as characters, cars, tanks, buildings, trees, columns, walls, and maps (terrain). (Object) is set in the object space. That is, the position and rotation angle (synonymous with direction and direction) of the object (model object) in the world coordinate system are determined, and the rotation angle (X, Y, Z axis around the position (X, Y, Z)) is determined. Arrange objects at (rotation angle).

移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The movement / motion processing unit 112 performs a movement / motion calculation (movement / motion simulation) of an object (such as a character, a car, or an airplane). That is, an object (moving object) is moved in the object space or an object is moved based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), or the like. Perform processing (motion, animation). Specifically, a simulation process for sequentially obtaining object movement information (position, rotation angle, speed, or acceleration) and motion information (position or rotation angle of each part object) every frame (1/60 second). I do. A frame is a unit of time for performing object movement / motion processing (simulation processing) and image generation processing.

仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。   The virtual camera control unit 114 performs a virtual camera (viewpoint) control process for generating an image viewed from a given (arbitrary) viewpoint in the object space. Specifically, a process for controlling the position (X, Y, Z) or the rotation angle (rotation angle about the X, Y, Z axes) of the virtual camera (process for controlling the viewpoint position and the line-of-sight direction) is performed.

例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。   For example, when an object (eg, character, ball, car) is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (the direction of the virtual camera is set so that the virtual camera follows changes in the position or rotation of the object. ) To control. In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the object obtained by the movement / motion processing unit 112. Alternatively, the virtual camera may be controlled to rotate at a predetermined rotation angle or to move along a predetermined movement path. In this case, the virtual camera is controlled based on the virtual camera data for specifying the position (movement path) or rotation angle of the virtual camera.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ172(フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。   The drawing unit 120 performs drawing processing based on the results of various processing (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. In the case of generating a so-called three-dimensional game image, first, geometric processing such as coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, or perspective transformation is performed, and drawing data ( The position coordinates, texture coordinates, color data, normal vector, α value, etc.) of the vertexes of the primitive surface are created. Then, based on the drawing data (primitive surface data), the object (one or a plurality of primitive surfaces) after the perspective transformation (after the geometry processing) is stored in the drawing buffer 172 (frame buffer, work buffer, etc.) in pixel units. Can be drawn in a VRAM). Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated.

描画部120は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。   The drawing unit 120 can perform texture mapping processing, hidden surface removal processing, and α blending processing.

ここでテクスチャマッピング処理は、テクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部174からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。   Here, the texture mapping process is a process of mapping a texture (texel value) stored in the texture storage unit 174 to an object. Specifically, the texture (surface properties such as color and α value) is read from the texture storage unit 174 using the texture coordinates set (given) at the vertices of the object (primitive surface). Then, a texture that is a two-dimensional image or pattern is mapped to the object. In this case, processing for associating pixels and texels, bilinear interpolation (texel interpolation), and the like are performed.

また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されるZバッファ176(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、描画対象ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ176のZ値を新たなZ値に更新する。   The hidden surface removal process is realized, for example, by a Z buffer method (depth comparison method, Z test) using a Z buffer 176 (depth buffer) in which the Z value (depth information) of each pixel is stored. That is, when drawing each pixel of the primitive surface of the object, the Z value stored in the Z buffer 176 is referred to. Then, the Z value of the referenced Z buffer 176 is compared with the Z value at the drawing target pixel on the primitive surface, and the Z value at the drawing target pixel is the front side when viewed from the virtual camera (for example, a small value). Z value), the drawing process for the pixel is performed and the Z value in the Z buffer 176 is updated to a new Z value.

またαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、α加算ブレンディング或いはα減算ブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。   The α blending process is a process performed based on the α value (A value), and includes normal α blending, α addition blending, α subtraction blending, and the like. For example, in the case of normal α blending, the following processing is performed.

Q=(1−α)×R1+α×R2
Q=(1−α)×G1+α×G2
Q=(1−α)×B1+α×B2
一方、加算αブレンディングの場合には下式の処理を行う。
R Q = (1−α) × R 1 + α × R 2
G Q = (1−α) × G 1 + α × G 2
B Q = (1−α) × B 1 + α × B 2
On the other hand, in the case of addition α blending, the following processing is performed.

Q=R1+α×R2
Q=G1+α×G2
Q=B1+α×B2
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(元画像)のRGB成分であり、R2、G2、B2は、描画バッファ172に描画すべき画像のRGB成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像のRGB成分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
R Q = R 1 + α × R 2
G Q = G 1 + α × G 2
B Q = B 1 + α × B 2
Wherein, R 1, G 1, B 1 is the RGB components of the image (original image) that has already been drawn in the drawing buffer 172, R 2, G 2, B 2 is to be drawn in the drawing buffer 172 This is the RGB component of the image. R Q , G Q , and B Q are RGB components of an image obtained by α blending. The α value is information that can be stored in association with each pixel (texel, dot), for example, plus alpha information other than color information. The α value can be used as translucency (equivalent to transparency and opacity) information, mask information, or bump information.

描画部120は、ぼかし対象画像描画部122、ぼかし処理部124を含む。なおこれらの一部を省略する構成としてもよく、例えばぼかし対象画像描画部122を省略する構成にしてもよい。   The drawing unit 120 includes a blur target image drawing unit 122 and a blur processing unit 124. Some of these may be omitted, and for example, the blur target image drawing unit 122 may be omitted.

ぼかし対象画像描画部122は、ぼかし処理の対象となる画像(元画像、グレア源画像)の描画処理を行う。例えば、オブジェクトに対してジオメトリ処理(透視変換等の座標変換処理)を施して、ジオメトリ処理後のオブジェクト(ポリゴン)を描画バッファ172に描画(レンダリング)することなどにより、ぼかし対象画像を生成する。これにより、ぼかし対象画像の情報が描画バッファ172(広義にはぼかし対象画像情報記憶部)に記憶される。なおこのような描画処理の際には、Zバッファ176に格納されるZ値を参照して、隠面消去を行いながら描画処理を行う。また、ぼかし対象画像描画部122の描画処理を行わずに、ぼかし対象画像の情報をぼかし対象画像情報記憶部に予め記憶しておき、この予め記憶したぼかし対象画像に対してぼかし処理を行うようにしてもよい。   The blur target image drawing unit 122 performs a drawing process of an image (an original image or a glare source image) that is a target of the blur processing. For example, the object to be blurred is generated by performing geometry processing (coordinate transformation processing such as perspective transformation) on the object and drawing (rendering) the object (polygon) after the geometry processing in the drawing buffer 172. As a result, information on the blur target image is stored in the drawing buffer 172 (in a broad sense, the blur target image information storage unit). In such drawing processing, drawing processing is performed while performing hidden surface removal with reference to the Z value stored in the Z buffer 176. Further, without performing the rendering process of the blur target image rendering unit 122, information on the blur target image is stored in advance in the blur target image information storage unit, and the blur process is performed on the pre-stored blur target image. It may be.

ぼかし処理部124は、ぼかし対象画像のぼかし処理を行う。具体的には、ぼかし対象画像に対して複数回(M回)のぼかし処理を行う。例えばぼかし対象画像に対して第1のぼかし処理を行い、第1のぼかし処理で得られたぼかし画像に対して第2のぼかし処理を行い・・・第Kのぼかし処理で得られたぼかし画像に対して第K+1のぼかし処理を行い・・・・第M−1のぼかし処理で得られたぼかし画像に対して第Mのぼかし処理を行う(Kは正の整数。Mは2以上の整数)。   The blur processing unit 124 performs a blur process on the blur target image. Specifically, blurring processing is performed a plurality of times (M times) on the blurring target image. For example, the first blur process is performed on the blur target image, the second blur process is performed on the blur image obtained by the first blur process, and the blur image obtained by the Kth blur process. Is subjected to the (K + 1) -th blurring process .... M-th blurring process is performed on the blurred image obtained by the (M-1) th blurring process (K is a positive integer. M is an integer of 2 or more) ).

そして本実施形態ではぼかし処理部124が、複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値(α値、色情報等)を増加(かさ上げ)させる変換処理(補正処理)を行い、変換処理が施されたぼかし画像に対して第K+1のぼかし処理を行う。   In this embodiment, the blur processing unit 124 increases (increases) the pixel value (α value, color information, etc.) of the blurred image obtained by the K-th blur processing among the plurality of blur processing. (Correction process) is performed, and the K + 1-th blur process is performed on the blurred image on which the conversion process has been performed.

この場合、記憶部170は、変換処理のための変換テーブル(インデックスカラー・テクスチャマッピング用のルックアップテーブル等)を記憶する変換テーブル記憶部171(主記憶部)を含む。この変換テーブル記憶部171は、ぼかし処理の回数に応じた変換特性を有する変換テーブルを記憶することができる。   In this case, the storage unit 170 includes a conversion table storage unit 171 (main storage unit) that stores a conversion table for conversion processing (such as a lookup table for index color / texture mapping). The conversion table storage unit 171 can store a conversion table having conversion characteristics corresponding to the number of blurring processes.

そしてぼかし処理部124は、変換テーブル記憶部171から変換テーブルを読み出し、この変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行う。具体的には、ぼかし処理部124は、第Kのぼかし処理で得られたぼかし画像のピクセル値(α値、色情報等)を、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定する(インデックス番号とみなす)。そして、このルックアップテーブル(広義には変換テーブル)を用いたインデックスカラー・テクスチャマッピングを行うことで、第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。そしてこのインデックスカラー・テクスチャマッピングを、テクスチャ座標をシフト(0.5テクセルシフト)させてバイリニア補間方式(テクセル補間方式)で行うことで、変換処理と第K+1のぼかし処理の両方を行うことが可能になり、処理効率を高めることができる。   Then, the blur processing unit 124 reads the conversion table from the conversion table storage unit 171 and performs a conversion process for increasing the pixel value of the blurred image using the conversion table. Specifically, the blur processing unit 124 sets the pixel value (α value, color information, etc.) of the blurred image obtained by the Kth blur processing as the index number of the lookup table for index color / texture mapping. Yes (assumed index number). Then, by performing index color / texture mapping using this look-up table (conversion table in a broad sense), a conversion process for increasing the pixel value of the blurred image obtained in the Kth blur process is performed. This index color / texture mapping is performed by shifting the texture coordinates (0.5 texel shift) using the bilinear interpolation method (texel interpolation method), so that both conversion processing and K + 1-th blur processing can be performed. Thus, the processing efficiency can be improved.

なお変換処理は、全てのピクセルに対して行うこともできるし、一部のピクセルに対して行うこともできる。また複数回のぼかし処理により得られたぼかし画像を、元画像のぼかし画像として出力してもよいし、得られたぼかし画像と元画像の合成処理を行って、例えばグレア効果や被写界深度等の画像エフェクトが元画像に施された画像を出力してもよい。また、ぼかし画像を反転し、反転後のぼかし画像のピクセル値を減少させるような変換処理を行う場合も本発明の範囲に含まれる。   Note that the conversion process can be performed on all pixels or a part of the pixels. In addition, a blurred image obtained by a plurality of blurring processes may be output as a blurred image of the original image, or the obtained blurred image and the original image are combined to produce, for example, a glare effect or a depth of field. An image obtained by applying an image effect such as the above to the original image may be output. Further, the scope of the present invention includes a case where a conversion process is performed to invert the blurred image and reduce the pixel value of the inverted blurred image.

音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.

なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。   Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or may be a system having a multiplayer mode in which a plurality of players can play. Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated by distributed processing using a plurality of terminals (game machine, mobile phone).

2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
2. Next, the method of this embodiment will be described with reference to the drawings.

2.1 ぼかし処理の効率化
本実施形態では、ぼかし画像のぼかし長さを大きくするために、複数回のぼかし処理を行う。具体的には、まず、ぼかし処理に使用されるワークバッファWBUF1、WBUF2をVRAM上に確保する。
2.1 Improving the efficiency of the blurring process In this embodiment, the blurring process is performed a plurality of times in order to increase the blurring length of the blurred image. Specifically, first, work buffers WBUF1 and WBUF2 used for the blurring process are secured on the VRAM.

次にWBUF1に、ぼかし処理の対象となる画像を描画する。そしてWBUF1に描画した画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同サイズのポリゴン(スプライト)をWBUF2に描画する。この時、ピクセル中心を4テクセルの中間に対応させて、バイリニア補間を使う。即ち、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。これにより、ワークバッファWBUF2には、WBUF1の画像を0.5ピクセルだけぼかした画像が描画される。   Next, an image to be blurred is drawn on WBUF1. Then, the image drawn on WBUF1 is treated as a texture, and a polygon (sprite) having the same size as the texture, to which this texture is mapped, is drawn on WBUF2. At this time, bilinear interpolation is used with the pixel center corresponding to the middle of four texels. That is, texture mapping is performed by shifting texture coordinates and using a bilinear interpolation method. As a result, an image obtained by blurring the image of WBUF1 by 0.5 pixels is drawn in the work buffer WBUF2.

次に、WBUF2の画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同サイズのポリゴン(スプライト)をWBUF1に描画する。この時、ピクセル中心を4テクセルの中間に対応させて、バイリニア補間を使う。即ち、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。この結果、ワークバッファWBUF1には、WBUF2の画像を0.5ピクセルだけぼかした画像が描画される。   Next, the WBUF2 image is treated as a texture, and a polygon (sprite) having the same size as the texture, to which the texture is mapped, is drawn on the WBUF1. At this time, bilinear interpolation is used with the pixel center corresponding to the middle of four texels. That is, texture mapping is performed by shifting texture coordinates and using a bilinear interpolation method. As a result, an image obtained by blurring the image of WBUF2 by 0.5 pixels is drawn in the work buffer WBUF1.

以上のようなWBUF1からWBUF2への描画処理とWBUF2からWBUF1への描画処理という1往復の処理を行うことで、WBUF1の画像は、ぼかし対象画像を1ピクセルぼかした画像になる。必要とするぼかし長さがNピクセルである場合には、ぼかし処理をN往復だけ繰り返せばよい。   By performing one round-trip processing of drawing processing from WBUF1 to WBUF2 and drawing processing from WBUF2 to WBUF1 as described above, the image of WBUF1 becomes an image obtained by blurring the blurring target image by one pixel. If the required blur length is N pixels, the blur process may be repeated N times.

さて、このようにバイリニア補間などを利用してぼかし画像を生成した場合、ぼかし処理の回数が多くなればなるほど(ぼかし長さが大きくなればなるほど)、ぼかし処理の効率が低下するという問題があることが判明した。   When a blurred image is generated using bilinear interpolation or the like in this way, there is a problem that as the number of blurring processes increases (the blurring length increases), the efficiency of the blurring process decreases. It has been found.

例えば図2(A)は、元の1ピクセルに対してバイリニア補間のぼかし処理を4往復行って、4ピクセルだけぼかした時に、元のピクセルの値が周囲のピクセルに対してどのように分布するかを示した図である。   For example, FIG. 2A shows how the original pixel values are distributed with respect to surrounding pixels when bi-linear interpolation blurring is performed four times on the original pixel and only four pixels are blurred. FIG.

図2(A)において、ぼかし中心に位置する元のピクセルのぼかし処理前のピクセル値は1であり、ぼかし処理後は4900/65536となっている。一方、ぼかし境界に位置する例えばE1に示すピクセルのぼかし処理後のピクセル値は、70/65536となっている。   In FIG. 2A, the pixel value before blurring processing of the original pixel located at the blurring center is 1, and after blurring processing is 4900/65536. On the other hand, the pixel value after blurring processing of the pixel indicated by E1, for example, located at the blurring boundary is 70/65536.

そして例えば元のピクセルのぼかし処理前のピクセル値(α値)を255として、1未満の端数を切り捨てた結果は図2(B)に示すようになる。なお実際には1回(0.5ピクセル)のぼかし処理毎に、端数の切り捨てが行われるので、4ピクセルぼかし後の値は、図2(B)に示す値よりも小さくなる。   Then, for example, the pixel value (α value) before blurring processing of the original pixel is set to 255, and the result of rounding off fractions less than 1 is as shown in FIG. Actually, since the fraction is rounded down every time the blurring process is performed once (0.5 pixel), the value after 4-pixel blurring is smaller than the value shown in FIG.

図2(B)において、ぼかし中心に位置する元のピクセルのぼかし処理後のピクセル値は、1未満の端数が切り捨てられることで、255×4900/65536=19.0658・・・=19になる。一方、ぼかし境界に位置する例えばE1に示すピクセルのぼかし処理後のピクセル値は、1未満の端数が切り捨てられることで、255×70/65536=0.2723・・・・=0になる。   In FIG. 2B, the pixel value after the blurring process of the original pixel located at the blurring center becomes 255 × 4900/65536 = 19.0658. . On the other hand, the pixel value after the blurring process of the pixel indicated by E1, for example, located at the blurring boundary becomes 255 × 70/65536 = 0.723.

図2(B)の例では、元の1ピクセルが周囲に4ピクセルぼけることを期待しているにもかからわず、ぼかし境界である最外周のピクセルの値が0になっているため、実質的なぼかし長さは3ピクセルになっている。このように、ぼかし処理を繰り返した場合に、ぼかし処理の回数よりも実際のぼかし長さの方が短くなり、ぼかし効率が悪化する。そしてぼかし処理の回数が多くなればなるほど、ぼかし効率は更に悪化する。   In the example of FIG. 2B, the value of the outermost peripheral pixel that is the blur boundary is 0 even though the original pixel is expected to be blurred by 4 pixels in the surrounding area. The actual blur length is 3 pixels. Thus, when the blurring process is repeated, the actual blurring length is shorter than the number of blurring processes, and the blurring efficiency is deteriorated. As the number of blurring processes increases, the blurring efficiency further deteriorates.

このような問題を解決するために、本実施形態では、ぼかし処理の途中に例えばテーブル変換を介在させて、ぼかしの結果が小さくなりすぎないように変換処理を行っている。   In order to solve such a problem, in this embodiment, for example, table conversion is interposed in the middle of the blurring process, and the conversion process is performed so that the blurring result does not become too small.

例えば図3(A)の元の1ピクセルに対して1回目の第1のぼかし処理(広義には第Kのぼかし処理)を施すと、元の1ピクセルのピクセル値がその周囲にしみ出して、図3(B)に示すようになる。   For example, when the first first blurring process (Kth blurring process in a broad sense) is performed on the original one pixel in FIG. 3A, the pixel value of the original one pixel oozes out around it. As shown in FIG.

この時に本実施形態では、図3(C)に示すように、第1のぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。例えば図3(C)では、ピクセル値が0よりも大きいピクセルに対して、そのピクセル値を増加させる変換処理を行っている。そして図3(D)に示すように、変換処理が施されたぼかし画像に対して、次の第2のぼかし処理(広義にはK+1のぼかし処理)を施す。なお、図3(C)の変換処理と図3(D)のぼかし処理を同時に行うようにしてもよい。   At this time, in the present embodiment, as shown in FIG. 3C, a conversion process for increasing the pixel value of the blurred image obtained by the first blurring process is performed. For example, in FIG. 3C, conversion processing for increasing the pixel value is performed on a pixel having a pixel value larger than zero. Then, as shown in FIG. 3D, the next second blurring process (K + 1 blurring process in a broad sense) is performed on the blurred image that has been subjected to the conversion process. Note that the conversion process in FIG. 3C and the blurring process in FIG. 3D may be performed simultaneously.

次に本実施形態では図4(A)に示すように、第2のぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。そして図4(B)に示すように、変換処理が施されたぼかし画像に対して次の第3のぼかし処理を施す。   Next, in the present embodiment, as shown in FIG. 4A, a conversion process for increasing the pixel value of the blurred image obtained by the second blurring process is performed. Then, as shown in FIG. 4B, the next third blurring process is performed on the blurred image that has been subjected to the conversion process.

以上のようにすれば、ぼかし処理後のぼかし画像のピクセル値がかさ上げされるため、図2(B)のようにぼかし画像の境界のピクセル値が小さくなって0になってしまう事態を防止できる。この結果、例えばN往復のぼかし処理で、Nピクセルの大きさのぼかし長さを得ることが可能になり、効率的なぼかし処理を実現できる。特に本実施形態の手法は、ぼかし処理の回数が多くなればなるほど、従来の手法に比べて有利になる。   In this way, since the pixel value of the blurred image after the blurring process is raised, the situation where the pixel value at the boundary of the blurred image is reduced to 0 as shown in FIG. 2B is prevented. it can. As a result, it is possible to obtain a blur length of the size of N pixels by, for example, N round-trip blur processing, and an efficient blur processing can be realized. In particular, the technique of this embodiment is more advantageous than the conventional technique as the number of blurring processes increases.

2.2 ぼかし処理の具体例
次に本実施形態のぼかし処理の具体例について説明する。
2.2 Specific Example of Blur Processing Next, a specific example of the blur processing according to the present embodiment will be described.

図5(A)に示すように、ワークバッファWBUF1に描画された画像(ぼかし対象画像)をテクスチャとして扱い、バイリニア補間方式のテクスチャマッピングを行うことで、第1のぼかし処理が施されたぼかし画像をワークバッファWBUF2に描画する。   As shown in FIG. 5A, an image (blurring target image) drawn in the work buffer WBUF1 is treated as a texture, and a blurred image that has been subjected to the first blurring process by performing bilinear interpolation texture mapping. Is drawn in the work buffer WBUF2.

次に図5(B)に示すように、ワークバッファWBUF2に描画された画像をテクスチャとして扱い、インデックスカラー&バイリニア補間方式のテクスチャマッピングを行うことで、ピクセル値を増加させる変換処理と第2のぼかし処理とが施されたぼかし画像をワークバッファWBUF1に描画する。   Next, as shown in FIG. 5B, the image drawn in the work buffer WBUF2 is treated as a texture, and texture mapping using the index color & bilinear interpolation method is performed to increase the pixel value. The blurred image that has been subjected to the blurring process is drawn in the work buffer WBUF1.

次に図5(C)に示すように、ワークバッファWBUF1に描画された画像をテクスチャとして扱い、バイリニア補間方式のテクスチャマッピングを行うことで、第3のぼかし処理が施されたぼかし画像をワークバッファWBUF2に描画する。   Next, as shown in FIG. 5C, the image drawn in the work buffer WBUF1 is treated as a texture, and texture mapping by the bilinear interpolation method is performed, so that the blurred image subjected to the third blurring process is converted into the work buffer. Draw on WBUF2.

次に図5(D)に示すように、ワークバッファWBUF2に描画された画像をテクスチャとして扱い、インデックスカラー&バイリニア補間方式のテクスチャマッピングを行うことで、ピクセル値を増加させる変換処理と第4のぼかし処理とが施されたぼかし画像をワークバッファWBUF1に描画する。   Next, as shown in FIG. 5D, the image drawn in the work buffer WBUF2 is treated as a texture, and texture mapping of the index color & bilinear interpolation method is performed, so that a conversion process for increasing the pixel value and the fourth The blurred image that has been subjected to the blurring process is drawn in the work buffer WBUF1.

以上のぼかし処理を所定回数だけ繰り返すことで、所望のぼかし長さのぼかし画像を得ることができる。   By repeating the above blurring process a predetermined number of times, a blurred image having a desired blur length can be obtained.

次に、バイリニア補間方式のテクスチャマッピングを利用したぼかし画像の生成手法について説明する。   Next, a method for generating a blurred image using bilinear interpolation texture mapping will be described.

まず図6のF1に示すように、ワークバッファWBUF1の画像(ピクセル値)をテクスチャとして設定する。そして図6のF2に示すように、このテクスチャを仮想ポリゴン(仮想オブジェクト)にバイリニア補間方式でマッピングする際に、仮想ポリゴンの頂点に与えるテクスチャ座標を、例えば(0.5、0.5)だけ右下方向にシフト(ずらす、移動)させて、ワークバッファWBUF2に描画する。すると、バイリニア補間により自動的にWBUF1の画像の各ピクセルの色が、そのピクセルの周囲のピクセルにしみ出すようになる。これにより、WBUF1の画像を0.5ピクセルだけぼかした画像がWBUF2に描画される。   First, as shown by F1 in FIG. 6, the image (pixel value) of the work buffer WBUF1 is set as a texture. Then, as shown in F2 of FIG. 6, when mapping this texture to the virtual polygon (virtual object) by the bilinear interpolation method, the texture coordinates given to the vertex of the virtual polygon are, for example, (0.5, 0.5) only. Shift (shift, move) in the lower right direction and draw in the work buffer WBUF2. Then, the color of each pixel of the image of WBUF1 automatically oozes out to the surrounding pixels by bilinear interpolation. As a result, an image obtained by blurring the image of WBUF1 by 0.5 pixels is rendered on WBUF2.

例えばWBUF1の画像の描画領域の頂点VX1、VX2、VX3、VX4の座標が(X、Y)=(X0、Y0)、(X0、Y1)、(X1、Y1)、(X1、Y0)であったとする。この場合に、仮想ポリゴンの頂点VVX1、VVX2、VVX3、VVX4に与えるテクスチャ座標(U、V)を、各々、(X0、Y0)、(X0、Y1)、(X1、Y1)、(X1、Y0)に設定すれば、ピクセル位置とテクセル位置とがずれずに一致する。従って画像はぼけない。これに対して、仮想ポリゴンの頂点VVX1、VVX2、VVX3、VVX4に与えるテクスチャ座標(U、V)を、各々、(X0+0.5、Y0+0.5)、(X0+0.5、Y1+0.5)、(X1+0.5、Y1+0.5)、(X1+0.5、Y0+0.5)に設定すれば、ピクセル位置とテクセル位置とがずれるようになる。従って、バイリニア補間により、色の補間が行われ、WBUF1の画像を0.5ピクセルだけぼかした画像がWBUF2に描画される。   For example, the coordinates of the vertices VX1, VX2, VX3, and VX4 of the drawing area of the WBUF1 image are (X, Y) = (X0, Y0), (X0, Y1), (X1, Y1), (X1, Y0). Suppose. In this case, the texture coordinates (U, V) given to the vertices VVX1, VVX2, VVX3, VVX4 of the virtual polygon are (X0, Y0), (X0, Y1), (X1, Y1), (X1, Y0), respectively. ), The pixel position matches the texel position without any deviation. Therefore, the image is not blurred. On the other hand, the texture coordinates (U, V) given to the vertices VVX1, VVX2, VVX3, VVX4 of the virtual polygon are (X0 + 0.5, Y0 + 0.5), (X0 + 0.5, Y1 + 0.5), ( If it is set to (X1 + 0.5, Y1 + 0.5), (X1 + 0.5, Y0 + 0.5), the pixel position and the texel position will be shifted. Accordingly, color interpolation is performed by bilinear interpolation, and an image obtained by blurring the image of WBUF1 by 0.5 pixels is rendered on WBUF2.

次に、WBUF2の画像をテクスチャとして設定する。そして、このテクスチャを仮想ポリゴンにバイリニア補間方式でマッピングする際に、仮想ポリゴンの頂点に与えるテクスチャ座標を例えば(−0.5、−0.5)だけ左上方向にシフトさせて、WBUF1に描画する。これにより、WBUF2の画像を0.5ピクセルだけぼかした画像がWBUF1に描画される。これにより、結局、WBUF1に描画されていた画像を1ピクセルだけぼかした画像が、WBUF1に上書きされるようになる。   Next, an image of WBUF2 is set as a texture. Then, when mapping this texture to the virtual polygon by the bilinear interpolation method, the texture coordinates given to the vertex of the virtual polygon are shifted in the upper left direction by, for example, (−0.5, −0.5) and rendered on WBUF1. . As a result, an image obtained by blurring the image of WBUF2 by 0.5 pixels is drawn on WBUF1. As a result, an image obtained by blurring the image drawn on WBUF1 by 1 pixel is overwritten on WBUF1.

次に、インデックスカラー・テクスチャマッピングを利用した変換処理の実現手法について説明する。   Next, a method for realizing conversion processing using index color / texture mapping will be described.

インデックスカラー・テクスチャマッピングでは、テクスチャ記憶部の使用記憶容量を節約するために、実際の色情報(RGB)ではなく、インデックス番号がテクスチャの各テクセルに関連づけて記憶される。またインデックスカラー・テクスチャマッピング用のルックアップテーブルCLUTには、インデックス番号により指定される色情報(ROUT、GOUT、BOUT)やα値(αOUT)が記憶される。本実施形態では、このインデックスカラー・テクスチャマッピングを、通常とは異なる形態で利用している。   In the index color / texture mapping, in order to save the use storage capacity of the texture storage unit, an index number is stored in association with each texel of the texture instead of actual color information (RGB). The index color / texture mapping lookup table CLUT stores color information (ROUT, GOUT, BOUT) and α value (αOUT) specified by the index number. In the present embodiment, the index color / texture mapping is used in a form different from the normal one.

具体的には図7のD1に示すように、ワークバッファWBUF2の画像のピクセル値(αIN)をルックアップテーブルCLUTのインデックス番号として設定する(インデックス番号とみなす)。そしてD2に示すように、WBUF2の画像のピクセル値(αIN)がインデックス番号として設定されたルックアップテーブルCLUTを用いて、仮想ポリゴン(スプライト)に対してインデックスカラー・テクスチャマッピングを行い、仮想ポリゴンをワークバッファWBUF1に描画する。   Specifically, as indicated by D1 in FIG. 7, the pixel value (αIN) of the image in the work buffer WBUF2 is set as an index number of the lookup table CLUT (it is regarded as an index number). Then, as shown in D2, index color / texture mapping is performed on the virtual polygon (sprite) using the look-up table CLUT in which the pixel value (αIN) of the image of WBUF2 is set as the index number, and the virtual polygon is Drawing in the work buffer WBUF1.

このようにすれば、例えばWBUF2の画像のピクセル値であるαINを、ルックアップテーブルCLUTによりαOUTに変換して、WBUF1に描画できるようになる。しかも、WBUF2の全てのピクセルのαINを、1回のテクスチャマッピングでαOUTに変換してWBUF1に描画できるため、処理効率が高いという利点がある。   In this way, for example, αIN that is the pixel value of the image of WBUF2 can be converted into αOUT by the lookup table CLUT and rendered on WBUF1. In addition, αIN of all the pixels of WBUF2 can be converted to αOUT by one texture mapping and rendered on WBUF1, which has an advantage of high processing efficiency.

なお、図7では、インデックス番号として、WBUF2の画像のピクセル値であるα値(αIN)を設定し、変換処理後のピクセル値としてα値(αOUT)を出力している。しかしながら、α値のみならず色情報(ROUT、GOUT、BOUT)をインデックス番号に設定し、変換処理後のピクセル値として色情報を出力するようにしてもよい。   In FIG. 7, an α value (αIN) that is a pixel value of the WBUF2 image is set as the index number, and an α value (αOUT) is output as the pixel value after the conversion process. However, not only the α value but also the color information (ROUT, GOUT, BOUT) may be set as the index number, and the color information may be output as the pixel value after the conversion process.

本実施形態では、図6で説明したバイリニア補間方式で、図7で説明したインデックスカラー・テクスチャマッピングを行うことで、図5(B)のようにピクセル値の変換処理とぼかし処理の両方を同時に行うことに成功している。具体的には、WBUF2の画像のピクセル値(α値)をルックアップテーブルCLUTのインデックス番号として設定する。そしてルックアップテーブルCLUTを用いて、テクスチャ座標をシフトさせてバイリニア補間方式で、仮想ポリゴンに対してインデックスカラー・テクスチャマッピングを行い、仮想ポリゴンをワークバッファWBUF1に描画する。このようにすれば、1回のテクスチャマッピングで、ピクセル値の変換処理とぼかし処理の両方を同時に行うことが可能になり、処理を更に効率化できる。   In this embodiment, by performing the index color / texture mapping described with reference to FIG. 7 using the bilinear interpolation method described with reference to FIG. 6, both pixel value conversion processing and blurring processing are performed simultaneously as shown in FIG. Has succeeded in doing. Specifically, the pixel value (α value) of the WBUF2 image is set as the index number of the lookup table CLUT. Then, using the look-up table CLUT, the texture coordinates are shifted, index color / texture mapping is performed on the virtual polygon by the bilinear interpolation method, and the virtual polygon is drawn in the work buffer WBUF1. In this way, both pixel value conversion processing and blurring processing can be performed simultaneously with one texture mapping, and the processing can be made more efficient.

2.3 グレア表現画像の生成
次に、本実施形態のぼかし処理を利用したグレア表現画像の生成手法について説明する。なお本実施形態では、グレアの元となる、明るいオブジェクト或いは画面上の明るい領域をグレア源と呼び、グレアを受ける側のオブジェクトを被グレアオブジェクトと呼ぶこととする。
2.3 Generation of Glare Expression Image Next, a method for generating a glare expression image using the blurring process of the present embodiment will be described. In the present embodiment, a bright object or a bright area on the screen, which is a glare source, is called a glare source, and an object on the glare receiving side is called a glare object.

本実施形態ではグレア表現画像の生成のためのグレア処理を、ポスト処理で行う。即ち、グレア源と被グレアオブジェクトを含む全てのオブジェクトを描画した後に、グレア処理を行う。具体的には、オブジェクトに対してジオメトリ処理(透視変換等の座標変換処理)を施して、ジオメトリ処理後のオブジェクト(ポリゴン)をフレームバッファ(広義には描画領域)に描画(レンダリング)することで、元画像を生成し、この元画像に対してグレア処理を行う。従って、グレア処理の開始時点においては、被グレアオブジェクトを含むオブジェクト(元画像)のZ値(奥行き情報)が、既にZバッファに格納されている状態になっている。   In the present embodiment, the glare processing for generating the glare expression image is performed by post processing. That is, after all the objects including the glare source and the glare object are drawn, the glare processing is performed. Specifically, by performing geometry processing (coordinate transformation processing such as perspective transformation) on the object and drawing (rendering) the object (polygon) after the geometry processing in a frame buffer (drawing area in a broad sense) An original image is generated, and glare processing is performed on the original image. Therefore, at the start of the glare process, the Z value (depth information) of the object (original image) including the glare object is already stored in the Z buffer.

図8は、本実施形態のグレア処理の概要を示すフローチャートである。   FIG. 8 is a flowchart showing an outline of the glare processing of the present embodiment.

まず、グレア源の3次元情報(位置・形状情報)を3次元情報記憶部から読み出す(ステップS1)。例えばグレア源が球である場合には、球の中心座標と半径を3次元情報として読み出す。そして読み出されたグレア源の3次元情報に基づいて、ぼかし処理領域の領域サイズを決定する(ステップS2)。具体的にはスクリーン座標系(画面上)におけるグレア源の座標を求め、画面上の処理領域の位置とサイズを決定する。   First, the three-dimensional information (position / shape information) of the glare source is read from the three-dimensional information storage unit (step S1). For example, when the glare source is a sphere, the center coordinates and radius of the sphere are read out as three-dimensional information. Based on the read three-dimensional information of the glare source, the area size of the blur processing area is determined (step S2). Specifically, the coordinates of the glare source in the screen coordinate system (on the screen) are obtained, and the position and size of the processing area on the screen are determined.

次にZテストを有効にして、Zバッファの元画像のZ値を参照しながら、グレア源を描画し、グレア源画像を生成する(ステップS3)。   Next, the Z test is enabled, the glare source is drawn while referring to the Z value of the original image in the Z buffer, and a glare source image is generated (step S3).

次に、ステップS2で決定された領域サイズにより設定(確保)されるぼかし処理領域において、グレア源画像のぼかし処理を行って、ぼかし画像を生成する(ステップS4)。そして元画像とぼかし画像に基づいて、グレア効果が元画像に施されたグレア表現画像を生成する(ステップS5)。   Next, in the blur processing region set (secured) according to the region size determined in step S2, the blur processing of the glare source image is performed to generate a blur image (step S4). Based on the original image and the blurred image, a glare expression image in which the glare effect is applied to the original image is generated (step S5).

図9に元画像の例を示す。OBは被グレアオブジェクトであり、GSはグレア源である。このゲームシーンは、被グレアオブジェクトOBであるキャラクタが部屋に立っており、部屋の壁に空いた穴の領域であるグレア源GSから、光が漏れているシーンである。図9の元画像では、グレア源GSのうち、被グレアオブジェクトOBにより隠れている部分が隠面消去されている。   FIG. 9 shows an example of the original image. OB is a glare object and GS is a glare source. This game scene is a scene in which a character that is the glare object OB stands in a room and light leaks from a glare source GS that is a hole area in the wall of the room. In the original image of FIG. 9, the hidden surface of the glare source GS that is hidden by the glare target object OB is deleted.

図10にグレア表現画像の例を示す。図10では、グレア源GSからの光により、被グレアオブジェクトOBの輪郭が浸食されてぼやけて見える画像が生成されている。即ちグレア源GSからの光が被グレアオブジェクトOBの手前側に回り込んでいるかのように見えるリアルなグレア表現画像が生成されている。   FIG. 10 shows an example of the glare expression image. In FIG. 10, the light from the glare source GS erodes the contour of the glare object OB and generates an image that appears blurred. In other words, a realistic glare expression image is generated that looks as if light from the glare source GS wraps around the glare object OB.

例えば本実施形態とは異なるグレア処理手法として、画面上の明るい領域をグレア源と見なして処理する自動抽出方式が考えられる。本実施形態のグレア処理手法は、この自動抽出方式と比べて次のような利点がある。   For example, as a glare processing method different from that of the present embodiment, an automatic extraction method in which a bright area on the screen is regarded as a glare source for processing can be considered. The glare processing method of this embodiment has the following advantages compared to this automatic extraction method.

第1に、本実施形態の手法は処理が軽い。即ち自動抽出方式では全画面が処理対象となるが、本実施形態の手法では画面上の限定された領域のみが処理対象となるので(ステップS2、S4参照)、処理負荷を軽くできる。第2に、本実施形態の手法ではグレア源を誤ることがない。即ち自動抽出方式では、グレア源になって欲しくない箇所がグレア源として処理されることがある。これに対して本実施形態では、3次元情報に基づいてグレア源の位置等を明示的に指定するので、このような誤動作を生じない。   First, the method of this embodiment is light in processing. That is, in the automatic extraction method, the entire screen is a processing target, but in the method of the present embodiment, only a limited area on the screen is a processing target (see steps S2 and S4), so that the processing load can be reduced. Second, the glare source is not mistaken in the method of this embodiment. That is, in the automatic extraction method, a portion that is not desired to be a glare source may be processed as a glare source. On the other hand, in this embodiment, since the position of the glare source and the like are explicitly specified based on the three-dimensional information, such a malfunction does not occur.

なお、本実施形態では、グレア源の形状として、球、円板、トライアングルストリップ(triangle strip)、トライアングルファン(triangle fan)の4種類の設定が可能になっている。但しグレア源の形状はこれらの4種類に限定されず、種々の変形実施が可能である。図11に、これらの4種類のグレア源の3次元情報(3次元位置・形状指定パラメータ)とグレア処理における描画方法(図8のステップS3)の例を示す。   In the present embodiment, the shape of the glare source can be set in four types: a sphere, a disk, a triangle strip, and a triangle fan. However, the shape of the glare source is not limited to these four types, and various modifications can be made. FIG. 11 shows an example of the three-dimensional information (three-dimensional position / shape designation parameters) of these four types of glare sources and the drawing method in the glare processing (step S3 in FIG. 8).

また、図8のステップS2の領域サイズの決定は、グレア源の3次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで実現できる。このバウンディングボックスは、グレア源のスクリーン座標系での頂点のX座標、Y座標を求め、これらの頂点のX座標の最小値XMIN、最大値XMAXと、Y座標の最小値YMIN、最大値YMAXを求めることで生成できる。   Further, the determination of the region size in step S2 of FIG. 8 can be realized by generating a bounding box that includes the glare source in the screen coordinate system based on the three-dimensional information of the glare source. This bounding box calculates the X and Y coordinates of the vertices in the screen coordinate system of the glare source, and obtains the X coordinate minimum value XMIN and maximum value XMAX, and the Y coordinate minimum value YMIN and maximum value YMAX. It can be generated by seeking.

2.4 詳細な処理
次に本実施形態のグレア処理の詳細な手順について説明する。
2.4 Detailed Process Next, a detailed procedure of the glare process of this embodiment will be described.

本実施形態では、グレア源描画とぼかし処理には、α値のプレーンのみを使用する。そしてグレア源の3次元情報(位置・形状パラメータ)と、グレア色情報(白、黄色、青等)と、グレアのぼかし長さ情報を使用して、以下の手順で処理を行う。   In the present embodiment, only the α value plane is used for the glare source drawing and the blurring process. Then, using the three-dimensional information (position / shape parameters) of the glare source, the glare color information (white, yellow, blue, etc.), and the blur length information of the glare, processing is performed in the following procedure.

(1)グレア源の頂点の座標変換
まず、グレア源の頂点の座標変換を行って、スクリーン座標系におけるグレア源の頂点の座標値を求める。
(1) Glare Source Vertex Coordinate Conversion First, the glare source vertex coordinate conversion is performed to obtain the coordinate value of the glare source vertex in the screen coordinate system.

(2)処理領域の決定
上記(1)で求めた頂点座標の値から、画面上の処理領域のバウンディングボックスを求める。
(2) Determination of processing area The bounding box of the processing area on the screen is obtained from the value of the vertex coordinates obtained in (1) above.

(3)フレームバッファのクリア
グレア源描画の前処理として、フレームバッファ上の描画領域(上記(2)で求めた領域)のα値を0にクリアする。
(3) Clearing the frame buffer As preprocessing for glare source drawing, the α value of the drawing area on the frame buffer (the area obtained in (2) above) is cleared to zero.

(4)グレア源の描画
図12(A)に示すように、フレームバッファ上にグレア源を描画する。描画はαプレーンに対してのみ行い、描画色は例えばα=255に設定する。このようにすることで、グレア源が存在する部分のαプレーンにはα=255が書き込まれることになる。またこの場合に、Zテストを有効にして描画することで、グレア源よりも手前に被グレアオブジェクト等のオブジェクトが存在する場合に、グレア源に対する隠面消去が適正に行われるようになる。
(4) Drawing of glare source As shown in FIG. 12A, the glare source is drawn on the frame buffer. Drawing is performed only on the α plane, and the drawing color is set to α = 255, for example. By doing so, α = 255 is written in the α plane where the glare source exists. In this case, rendering with the Z test enabled enables the hidden surface removal to the glare source to be properly performed when an object such as a glare object exists before the glare source.

(5)ワークバッファWBUF1のクリア
VRAM上にワークバッファWBUF1を確保する。WBUF1はαプレーンのみを使用する。WBUF1のサイズは、上記(2)で求めたバウンディングボックスのサイズに対して、下記(6)の縮小処理と下記(8)のぼかし処理によるぼけ足の長さを見込んだものに設定する。そしてWBUF1のαプレーンの全てのα値を0にクリアする。
(5) Clearing the work buffer WBUF1 The work buffer WBUF1 is secured on the VRAM. WBUF1 uses only the α plane. The size of WBUF1 is set to the size of the bounding box obtained in the above (2) to allow for the length of blurring due to the reduction process (6) below and the blurring process (8) below. Then, all α values of the α plane of WBUF1 are cleared to zero.

(6)グレア源画像の縮小コピー
高速化のためにぼかし処理の前にグレア源画像を縮小する。即ち上記(4)で描画したグレア源画像を図12(B)に示すように、縦、横、各々、1/2に縮小してワークバッファWBUF1に描画する。なお、グレア源画像の第1〜第N(Nは2以上の整数)のサンプリング点グループでの情報に基づいて第1〜第Nの縮小画像を生成してもよい。この場合には下記(8)において、これらの第1〜第Nの縮小画像に対してぼかし処理を施して、第1〜第Nのぼかし縮小画像を生成する。そして下記(9)において第1〜第Nのぼかし縮小画像の拡大処理と元画像との合成処理を行うことで、グレア表現画像を生成する。
(6) Reduced copy of glare source image The glare source image is reduced before blurring for speeding up. That is, as shown in FIG. 12B, the glare source image drawn in the above (4) is reduced to 1/2 in the vertical and horizontal directions and drawn in the work buffer WBUF1. Note that the first to Nth reduced images may be generated based on information in the first to Nth (N is an integer of 2 or more) sampling point groups of the glare source image. In this case, in the following (8), a blurring process is performed on these first to Nth reduced images to generate first to Nth blurred reduced images. Then, in the following (9), a glare expression image is generated by performing enlargement processing of the first to Nth blurred reduced images and synthesis processing of the original image.

(7)ワークバッファWBUF2のクリア
VRAM上に、ぼかし処理に使用されるワークバッファWBUF2を確保する。WBUF2はαプレーンのみを使用する。WBUF2の全領域をクリアする必要はないので、領域の縁部分のα値のみを0にクリアする。
(7) Clearing the work buffer WBUF2 The work buffer WBUF2 used for the blurring process is secured on the VRAM. WBUF2 uses only the α plane. Since it is not necessary to clear the entire area of WBUF2, only the α value at the edge of the area is cleared to zero.

(8)ぼかし処理
次に図3(A)〜図5(D)で説明したぼかし処理を行う。具体的には、上記(6)でWBUF1に描画した画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同じサイズのポリゴンを、WBUF2に描画する。この時、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。この結果、ワークバッファWBUF2には、WBUF1の画像を0.5ピクセルだけぼかした画像が描画される。
(8) Blur Processing Next, the blur processing described with reference to FIGS. 3A to 5D is performed. Specifically, the image drawn on the WBUF 1 in the above (6) is treated as a texture, and a polygon having the same size as the texture, to which this texture is mapped, is drawn on the WBUF 2. At this time, the texture coordinates are shifted and texture mapping is performed by the bilinear interpolation method. As a result, an image obtained by blurring the image of WBUF1 by 0.5 pixels is drawn in the work buffer WBUF2.

次に、WBUF2の画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同じサイズのポリゴンを、WBUF1に描画する。この時、テクスチャ座標をシフトさせてバイリニア補間方式で、インデックスカラー・テクスチャマッピングを行う。この結果、ワークバッファWBUF1には、WBUF2の画像を0.5ピクセルだけぼかした画像が描画される。またこの際に、図7で説明したインデックスカラー・テクスチャマッピングを行うことで、図3(A)〜図4(B)で説明した変換処理も行われるようになる。この結果、図13に示すように、ワークバッファWBUF1には、グレア源画像にぼかし処理を施した画像が描画される。   Next, the WBUF2 image is treated as a texture, and a polygon having the same size as the texture, to which the texture is mapped, is drawn on the WBUF1. At this time, texture coordinates are shifted and index color / texture mapping is performed by a bilinear interpolation method. As a result, an image obtained by blurring the image of WBUF2 by 0.5 pixels is drawn in the work buffer WBUF1. At this time, the conversion processing described with reference to FIGS. 3A to 4B is also performed by performing the index color / texture mapping described with reference to FIG. As a result, as shown in FIG. 13, an image obtained by performing the blurring process on the glare source image is drawn in the work buffer WBUF1.

(9)グレア表現画像の生成
ここまでの処理で、WBUF1のαプレーンにはグレア源をぼかした画像が描かれている。このぼかし画像の情報(α値)を、インデックスカラー・テクスチャマッピング用のルックアップテーブル(CLUT)のインデックス番号として設定する。このようなルックアップを介在させることで、グレアのぼかし具合や強さを調整できるようになる。そしてインデックス番号が設定されたテクスチャがマッピングされ、その色(頂点カラー)がグレア色に設定されたポリゴン(スプライト)を、フレームバッファに加算αブレンディングで描画する。以上の処理によりグレア表現画像が完成する。例えばグレア色を白にすれば、白の光のグレア効果が表現された画像が生成され、グレア色を黄色にすれば、黄色の光のグレア効果が表現された画像が生成される。
(9) Generation of Glare Expression Image With the processing so far, an image in which the glare source is blurred is drawn on the α plane of WBUF1. This blurred image information (α value) is set as an index number of a lookup table (CLUT) for index color / texture mapping. By interposing such a lookup, it becomes possible to adjust the blurring degree and strength of glare. Then, the texture with the index number set is mapped, and the polygon (sprite) whose color (vertex color) is set to the glare color is drawn in the frame buffer by addition α blending. The glare expression image is completed by the above processing. For example, if the glare color is white, an image expressing the glare effect of white light is generated, and if the glare color is yellow, an image expressing the glare effect of yellow light is generated.

以上のように本実施形態では、グレア源のぼかし画像を元画像に合成することで、図10のようにグレア効果が表現されたリアルなグレア表現画像の生成に成功している。そして本実施形態の手法では、グレア源の3次元情報により特定される領域サイズの処理領域で、ぼかし処理が行われるため、グレア処理の負荷を格段に軽減できる。特に、ぼかし長を長くするためにぼかし処理を複数回行う場合に、本実施形態の手法による処理負荷の軽減の効果が大きいという利点がある。   As described above, in this embodiment, by combining the blurred image of the glare source with the original image, a realistic glare expression image in which the glare effect is expressed as shown in FIG. 10 has been successfully generated. In the method of the present embodiment, since the blurring process is performed in the processing area having the area size specified by the three-dimensional information of the glare source, the glare processing load can be remarkably reduced. In particular, when blurring processing is performed a plurality of times in order to increase the blur length, there is an advantage that the effect of reducing the processing load by the method of this embodiment is great.

2.5 変換テーブルによる変換処理
本実施形態では、変換処理のための変換テーブルを用意し、この変換テーブルを用いて、図3(C)、図4(A)で説明したぼかし画像のピクセル値を増加させる変換処理を行っている。この変換テーブルとしては、図7で説明したインデックスカラー・テクスチャマッピング用のルックアップテーブルCLUTなどを用いることができる。
2.5 Conversion Processing Using Conversion Table In this embodiment, a conversion table for conversion processing is prepared, and the pixel values of the blurred image described with reference to FIGS. 3C and 4A using this conversion table. The conversion process is increased. As the conversion table, the index color / texture mapping lookup table CLUT described with reference to FIG. 7 can be used.

そして本実施形態では、ぼかし処理の回数に応じた適正な変換特性を有する変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行っている。即ちぼかし処理の回数に応じて変換処理の特性を異ならせている。   In this embodiment, conversion processing for increasing the pixel value of the blurred image is performed using a conversion table having appropriate conversion characteristics corresponding to the number of times of blurring processing. That is, the characteristics of the conversion process are made different according to the number of blurring processes.

図14は、G1に示す変換テーブル(αIN−αOUT変換特性)を用いた場合のぼかし画像(グレア表現画像)の例である。このG1の変換テーブル(CLUT)は、ぼかし処理の往復回数(図5(A)(B)を1往復とした場合の回数)が4回である場合に用いられる変換テーブルである。G1の変換テーブルでは、αINが最小値(0)や最大値(255)の場合にはαIN=αOUTになっており、αINが中間値の場合にはαOUT>αINとなっている。   FIG. 14 is an example of a blurred image (glare expression image) when the conversion table (αIN-αOUT conversion characteristics) shown in G1 is used. This G1 conversion table (CLUT) is a conversion table used when the number of round trips of the blurring process (the number of times when FIGS. 5A and 5B are set to one round trip) is four. In the G1 conversion table, αIN = αOUT when αIN is the minimum value (0) or maximum value (255), and αOUT> αIN when αIN is an intermediate value.

同様に図15、図16、図17は、G2、G3、G4に示す変換テーブルを用いた場合のぼかし画像(グレア表現画像)の例である。これらのG2、G3、G4の変換テーブルは、各々、ぼかし処理の往復回数が5回、6回、7回である場合に用いられる変換テーブルである。   Similarly, FIGS. 15, 16, and 17 are examples of blurred images (glare expression images) when the conversion tables shown in G2, G3, and G4 are used. These conversion tables for G2, G3, and G4 are conversion tables that are used when the number of round-trips of the blurring process is 5, 6, and 7, respectively.

このように、ぼかし処理回数に応じた変換特性を有する変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行えば、ぼかし処理回数を多くしてぼかし長さを大きくした場合にも、品質の高いぼかし画像(グレア表現画像)を生成できるようになる。   In this way, if conversion processing that increases the pixel value of the blurred image is performed using a conversion table that has conversion characteristics according to the number of blur processing times, even if the blur length is increased and the blur length is increased. Thus, a high-quality blurred image (glare expression image) can be generated.

なお、ぼかし処理回数に応じた適正な変換処理を行うためには、図18に示すように、ぼかし対象画像の輪郭(H0、H1)からぼかし境界(H2、H3)に向かってぼかし画像のピクセル値(α値等)をリニアに変化させる変換テーブルを用いることが望ましい。このようにぼかし画像のピクセル値をリニアに変化させることで、良質なぼかし画像を得ることできる。また、例えば上述したグレア表現画像の描画時におけるグレアのぼかし具合や強さの調整も、容易に行うことが可能になるという利点もある。   In order to perform an appropriate conversion process according to the number of blurring processes, as shown in FIG. 18, pixels of the blurred image are directed from the outline (H0, H1) of the blurring target image toward the blurring boundary (H2, H3). It is desirable to use a conversion table that linearly changes a value (such as an α value). Thus, by changing the pixel value of the blurred image linearly, a high quality blurred image can be obtained. In addition, for example, there is an advantage that it is possible to easily adjust the degree of glare blurring and the strength at the time of drawing the above-described glare expression image.

3.ハードウェア構成
図19に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
3. Hardware Configuration FIG. 19 shows an example of a hardware configuration capable of realizing this embodiment. The main processor 900 operates based on a program stored in a CD 982 (information storage medium), a program downloaded via the communication interface 990, a program stored in the ROM 950, or the like, and includes game processing, image processing, sound processing, and the like. Execute. The coprocessor 902 assists the processing of the main processor 900, and executes matrix operation (vector operation) at high speed. For example, when a matrix calculation process is required for a physical simulation for moving or moving an object, a program operating on the main processor 900 instructs (requests) the process to the coprocessor 902.

ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。   The geometry processor 904 performs geometry processing such as coordinate conversion, perspective conversion, light source calculation, and curved surface generation based on an instruction from a program operating on the main processor 900, and executes matrix calculation at high speed. The data decompression processor 906 performs decoding processing of compressed image data and sound data, and accelerates the decoding processing of the main processor 900. Thereby, a moving image compressed by the MPEG method or the like can be displayed on the opening screen or the game screen.

描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。   The drawing processor 910 executes drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces. When drawing an object, the main processor 900 uses the DMA controller 970 to pass the drawing data to the drawing processor 910 and, if necessary, transfers the texture to the texture storage unit 924. Then, the drawing processor 910 draws the object in the frame buffer 922 while performing hidden surface removal using a Z buffer or the like based on the drawing data and texture. The drawing processor 910 also performs α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.

サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。   The sound processor 930 includes a multi-channel ADPCM sound source and the like, generates game sounds such as BGM, sound effects, and sounds, and outputs them through the speaker 932. Data from the game controller 942 and the memory card 944 is input via the serial interface 940.

ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。   The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950. The RAM 960 is a work area for various processors. The DMA controller 970 controls DMA transfer between the processor and the memory. The CD drive 980 accesses a CD 982 in which programs, image data, sound data, and the like are stored. The communication interface 990 performs data transfer with the outside via a network (communication line, high-speed serial bus).

なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。   The processing of each unit (each unit) in this embodiment may be realized entirely by hardware, or may be realized by a program stored in an information storage medium or a program distributed via a communication interface. Also good. Alternatively, it may be realized by both hardware and a program.

そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。   When the processing of each part of this embodiment is realized by both hardware and a program, a program for causing the hardware (computer) to function as each part of this embodiment is stored in the information storage medium. More specifically, the program instructs the processors 902, 904, 906, 910, and 930, which are hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930 realizes the processing of each unit of the present invention based on the instruction and the passed data.

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。   The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms (frame buffer / work buffer, α value, lookup table, etc.) cited as broad or synonymous terms (drawing area, pixel value, conversion table, etc.) in the description or drawings are not Alternatively, in other descriptions in the drawings, terms can be replaced with terms having a broad meaning or the same meaning.

また、ぼかし処理やピクセル値の変換処理も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば、ぼかし処理、変換処理を、図6、図7で説明した手法とは異なる手法で実現してもよい。   Further, the blurring process and the pixel value conversion process are not limited to those described in this embodiment, and techniques equivalent to these are also included in the scope of the present invention. For example, the blurring process and the conversion process may be realized by a technique different from the technique described with reference to FIGS.

また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   The present invention can be applied to various games. Further, the present invention is applied to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, a system board for generating a game image, and a mobile phone. it can.

本実施形態の画像生成システムの機能ブロック図の例。The example of a functional block diagram of the image generation system of this embodiment. 図2(A)(B)は複数回のぼかし処理を行った場合の問題点の説明図。FIGS. 2A and 2B are explanatory diagrams of problems when a plurality of blurring processes are performed. 図3(A)〜(D)は本実施形態の手法の説明図。3A to 3D are explanatory diagrams of the method of the present embodiment. 図4(A)(B)は本実施形態の手法の説明図。4A and 4B are explanatory diagrams of the method of this embodiment. 図5(A)〜(D)はぼかし処理の具体例の説明図。5A to 5D are explanatory diagrams of specific examples of the blurring process. バイリニア補間を用いたぼかし処理の説明図。Explanatory drawing of the blurring process using bilinear interpolation. インデックスカラー・テクスチャマッピングを用いた変換処理の説明図。Explanatory drawing of the conversion process using index color and texture mapping. グレア表現画像の生成手法の処理のフローチャート。The flowchart of the process of the production | generation method of a glare expression image. 元画像の例。Example of original image. グレア表現画像の例。An example of a glare expression image. グレア源の3次元情報と描画方法の説明図。Explanatory drawing of the glare source three-dimensional information and drawing method. 図12(A)(B)はグレア処理の詳細例の説明図。12A and 12B are explanatory diagrams of detailed examples of glare processing. グレア処理の詳細例の説明図。Explanatory drawing of the detailed example of a glare process. ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。Explanatory drawing of the method of using the conversion table according to the frequency | count of a blurring process. ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。Explanatory drawing of the method of using the conversion table according to the frequency | count of a blurring process. ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。Explanatory drawing of the method of using the conversion table according to the frequency | count of a blurring process. ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。Explanatory drawing of the method of using the conversion table according to the frequency | count of a blurring process. ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。Explanatory drawing of the method of using the conversion table according to the frequency | count of a blurring process. ハードウェア構成例。Hardware configuration example.

符号の説明Explanation of symbols

GS グレア源、OB 被グレアオブジェクト、
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 描画部、122 ぼかし対象画像描画部、
124 ぼかし処理部、130 音生成部、160 操作部、170 記憶部、
171 変換テーブル記憶部、172 描画バッファ(ぼかし対象画像情報記憶部)、
174 テクスチャ記憶部、176 Zバッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部、
GS glare source, OB glare object,
100 processing unit, 110 object space setting unit, 112 movement / motion processing unit,
114 virtual camera control unit, 120 drawing unit, 122 blur target image drawing unit,
124 blur processing unit, 130 sound generation unit, 160 operation unit, 170 storage unit,
171 conversion table storage unit, 172 drawing buffer (blur target image information storage unit),
174 texture storage unit, 176 Z buffer, 180 information storage medium,
190 display unit, 192 sound output unit, 194 portable information storage device, 196 communication unit,

Claims (9)

画像を生成するためのプログラムであって、
ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、
前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部として、
コンピュータを機能させ、
前記ぼかし処理部が、
前記複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を、全ぼかし処理回数に応じた変換特性を用いて増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行うことを特徴とするプログラム。
A program for generating an image,
A blur target image information storage unit for storing information of a blur target image to be subjected to blur processing;
As a blur processing unit that performs blur processing multiple times on the blur target image,
Make the computer work,
The blur processing unit is
A conversion process is performed to increase the pixel value of the blurred image obtained by the Kth blur process among the plurality of blur processes using a conversion characteristic according to the total number of blur processes . A program characterized by performing the next K + 1th blurring process on a blurred image.
請求項1において、
前記ぼかし処理部が、
1回目のぼかし処理では、前記ぼかし対象画像に対してぼかし処理を行い、
2回目以降のぼかし処理では直前のぼかし処理で得られたぼかし画像のピクセル値を前記変換特性を用いて増加させる変換処理を行い、変換処理が施されたぼかし画像に対してぼかし処理を行うことを特徴とするプログラム。
In claim 1,
The blur processing unit is
In the first blur processing, blur processing is performed on the blur target image,
In second and subsequent blur processing, a pixel value obtained blurred image blur processing the immediately preceding performs conversion processing to increase with the conversion characteristic, carries out blurring processing on the blurring image conversion processing is performed A program characterized by that.
請求項1において、
前記ぼかし処理部が、
偶数回目のぼかし処理では直前の奇数回目のぼかし処理で得られたぼかし画像のピクセル値を前記変換特性を用いて増加させる変換処理を行い、変換処理が施されたぼかし画像に対してぼかし処理を行うことを特徴とするプログラム。
In claim 1,
The blur processing unit is
In even-numbered blur processing, a pixel value obtained blurred image in odd-numbered blur the preceding process performs a conversion process for increasing with the conversion characteristic, the blurring process with respect to blurred image conversion processing is performed The program characterized by performing.
請求項1〜3のいずれかにおいて、
前記変換処理のための変換テーブルを記憶する変換テーブル記憶部としてコンピュータを機能させ、
前記ぼかし処理部が、
前記変換テーブルを用いて、ぼかし画像のピクセル値を増加させる前記変換処理を行うことを特徴とするプログラム。
In any one of Claims 1-3,
Causing a computer to function as a conversion table storage unit that stores a conversion table for the conversion process;
The blur processing unit is
A program for performing the conversion process for increasing a pixel value of a blurred image using the conversion table.
請求項4において、
前記変換テーブルが、インデックスカラー・テクスチャマッピング用のルックアップテーブルであり、
前記ぼかし処理部が、
第Kのぼかし処理で得られたぼかし画像のピクセル値を、前記ルックアップテーブルのインデックス番号として設定し、前記ルックアップテーブルを用いたインデックスカラー・テクスチャマッピングを行うことで、ぼかし画像のピクセル値を増加させる前記変換処理を行うことを特徴とするプログラム。
In claim 4,
The conversion table is a lookup table for index color / texture mapping,
The blur processing unit is
The pixel value of the blurred image obtained by the Kth blurring process is set as the index number of the lookup table, and index color / texture mapping using the lookup table is performed, so that the pixel value of the blurred image is obtained. A program for performing the conversion process to be increased.
請求項5において、
前記ぼかし処理部が、
テクスチャ座標をシフトさせてバイリニア補間方式で、前記インデックスカラー・テクスチャマッピングを行うことで、前記変換処理と前記第K+1のぼかし処理の両方を同時に行うことを特徴とするプログラム。
In claim 5,
The blur processing unit is
A program characterized by simultaneously performing both the conversion process and the (K + 1) th blurring process by shifting the texture coordinates and performing the index color / texture mapping by a bilinear interpolation method.
請求項4〜6のいずれかにおいて、
前記ぼかし処理部が、
ぼかし対象画像の輪郭からぼかし境界に向かってぼかし画像のピクセル値をリニアに変化させる変換テーブルを用いて、前記変換処理を行うことを特徴とするプログラム。
In any one of Claims 4-6,
The blur processing unit is
A program that performs the conversion process using a conversion table that linearly changes pixel values of a blurred image from a contour of a blur target image toward a blur boundary.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜7のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the program according to any one of claims 1 to 7 is stored. 画像を生成する画像生成システムであって、
ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、
前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部とを含み、
前記ぼかし処理部が、
前記複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を、全ぼかし処理回数に応じた変換特性を用いて増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行うことを特徴とする画像生成システム。
An image generation system for generating an image,
A blur target image information storage unit for storing information of a blur target image to be subjected to blur processing;
A blur processing unit that performs blur processing a plurality of times on the blur target image,
The blur processing unit is
A conversion process is performed to increase the pixel value of the blurred image obtained by the Kth blur process among the plurality of blur processes using a conversion characteristic according to the total number of blur processes . An image generation system that performs the following K + 1th blurring process on a blurred image.
JP2004182824A 2004-06-21 2004-06-21 Program, information storage medium, and image generation system Active JP4521811B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004182824A JP4521811B2 (en) 2004-06-21 2004-06-21 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004182824A JP4521811B2 (en) 2004-06-21 2004-06-21 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2006004364A JP2006004364A (en) 2006-01-05
JP4521811B2 true JP4521811B2 (en) 2010-08-11

Family

ID=35772686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004182824A Active JP4521811B2 (en) 2004-06-21 2004-06-21 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP4521811B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4843377B2 (en) * 2006-05-18 2011-12-21 株式会社東芝 Image processing apparatus and image processing method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160153A (en) * 1999-12-03 2001-06-12 Namco Ltd Image generation system and information storage medium
JP2001209822A (en) * 2000-01-28 2001-08-03 Square Co Ltd Computer readable recording medium with recorded program for three-dimensional computer image processing, gradation plotting processing method and video game device
JP2002092631A (en) * 2000-01-28 2002-03-29 Namco Ltd Game system, program, and information storage medium
JP2002163671A (en) * 2000-11-27 2002-06-07 Namco Ltd Game system, program and information storage medium
JP2002279447A (en) * 2001-03-21 2002-09-27 Namco Ltd Image generating system, program, and information storage medium
JP2003051024A (en) * 2002-05-24 2003-02-21 Namco Ltd Image generation system and information storage medium
JP2003085578A (en) * 2001-09-14 2003-03-20 Namco Ltd Game information, information storage medium and game device
JP2003204459A (en) * 2001-10-23 2003-07-18 Konica Corp Digital camera and image reproducing apparatus
JP2004118384A (en) * 2002-09-25 2004-04-15 Sharp Corp Image processing apparatus, obscure image generation device, obscure image generation method, and recording medium with image processing program recorded thereon

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0636025A (en) * 1992-07-21 1994-02-10 Dainippon Printing Co Ltd Defocusing processor

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160153A (en) * 1999-12-03 2001-06-12 Namco Ltd Image generation system and information storage medium
JP2001209822A (en) * 2000-01-28 2001-08-03 Square Co Ltd Computer readable recording medium with recorded program for three-dimensional computer image processing, gradation plotting processing method and video game device
JP2002092631A (en) * 2000-01-28 2002-03-29 Namco Ltd Game system, program, and information storage medium
JP2002163671A (en) * 2000-11-27 2002-06-07 Namco Ltd Game system, program and information storage medium
JP2002279447A (en) * 2001-03-21 2002-09-27 Namco Ltd Image generating system, program, and information storage medium
JP2003085578A (en) * 2001-09-14 2003-03-20 Namco Ltd Game information, information storage medium and game device
JP2003204459A (en) * 2001-10-23 2003-07-18 Konica Corp Digital camera and image reproducing apparatus
JP2003051024A (en) * 2002-05-24 2003-02-21 Namco Ltd Image generation system and information storage medium
JP2004118384A (en) * 2002-09-25 2004-04-15 Sharp Corp Image processing apparatus, obscure image generation device, obscure image generation method, and recording medium with image processing program recorded thereon

Also Published As

Publication number Publication date
JP2006004364A (en) 2006-01-05

Similar Documents

Publication Publication Date Title
US20100156918A1 (en) Program, information storage medium, image generation system, and image generation method for generating an image for overdriving the display device
JP2006318389A (en) Program, information storage medium, and image generation system
JP4804120B2 (en) Program, information storage medium, and image generation system
US7479961B2 (en) Program, information storage medium, and image generation system
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4305903B2 (en) Image generation system, program, and information storage medium
JP2007164557A (en) Program, information recording medium and image generation system
JP2006318388A (en) Program, information storage medium, and image forming system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP4754384B2 (en) Program, information recording medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4447000B2 (en) Image generation system, program, and information storage medium
JP4073031B2 (en) Program, information storage medium, and image generation system
JP2006252426A (en) Program, information storage medium, and image generation system
JP2006011539A (en) Program, information storage medium, and image generating system
JP4632855B2 (en) Program, information storage medium, and image generation system
JP4913399B2 (en) Program, information storage medium, and image generation system
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4521811B2 (en) Program, information storage medium, and image generation system
JP4476040B2 (en) Program, information storage medium, and image generation system
JP4754385B2 (en) Program, information recording medium, and image generation system
JP2008077406A (en) Image generation system, program, and information storage medium
JP4680670B2 (en) Program, information storage medium, and image generation system
JP2006252423A (en) Program, information storage medium and image generation system
JP2008310377A (en) Image generation system, program and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100330

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: 20100519

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100521

R150 Certificate of patent or registration of utility model

Ref document number: 4521811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250