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

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

Info

Publication number
JP4632855B2
JP4632855B2 JP2005142820A JP2005142820A JP4632855B2 JP 4632855 B2 JP4632855 B2 JP 4632855B2 JP 2005142820 A JP2005142820 A JP 2005142820A JP 2005142820 A JP2005142820 A JP 2005142820A JP 4632855 B2 JP4632855 B2 JP 4632855B2
Authority
JP
Japan
Prior art keywords
image
filter
original image
processing
work
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
JP2005142820A
Other languages
Japanese (ja)
Other versions
JP2006318387A (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 JP2005142820A priority Critical patent/JP4632855B2/en
Publication of JP2006318387A publication Critical patent/JP2006318387A/en
Application granted granted Critical
Publication of JP4632855B2 publication Critical patent/JP4632855B2/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次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム(RPG)を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるプレーヤキャラクタ(プレーヤオブジェクト)を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタ(敵オブジェクト)と対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。   Conventionally, an image generation system (game system) that generates an image that can be seen from a virtual camera (a given viewpoint) in an object space that is a virtual three-dimensional space is known. Popular. Taking an image generation system capable of enjoying a role-playing game (RPG) as an example, a player operates a player character (player object), which is his or her own character, to move it on a map in the object space, and to create an enemy character. Enjoy the game by playing against (enemy objects), interacting with other characters, and visiting various towns.

さて、このような画像生成システムでは、一度描画した画像(元画像)に対して、さらなる処理を施して、元の画像とは異なる雰囲気の画像を作成するポストフィルタ手法(ポストエフェクト手法)が知られている。例えば、ぼかしフィルタを用いて元画像をぼかす手法や、色差フィルタを用いて輪郭強調を行う手法などが知られている。また時間経過に応じて元画像をゆがませることにより、陽炎や水面の揺らぎ(さざ波)を表現する揺らぎフィルタなどもある。   In such an image generation system, a post-filter method (post-effect method) is known in which an image drawn once (original image) is further processed to create an image having an atmosphere different from that of the original image. It has been. For example, a technique for blurring an original image using a blur filter, a technique for performing edge enhancement using a color difference filter, and the like are known. In addition, there is a fluctuation filter that distorts the original image with the passage of time to express the heat and fluctuations (ripples) of the water surface.

このようなポストフィルタの効果を元画像の特定の部分にだけ施そうとする場合に、フィルタ処理の対象となるオブジェクト(フィルタ処理対象オブジェクト)の画像を内包する領域をエフェクト領域として指定し、そのエフェクト領域のサイズの仮想ポリゴンにフィルタ画像をテクスチャマッピングして元画像に合成して、元画像に対してフィルタ画像の効果を反映させる手法がある(特許文献1参照)。しかしながら、このような従来の手法では、エフェクト領域を指定する特別な処理を要するため、さらなる処理の簡便化が望まれている。
特許第3467259号公報
When you want to apply such a post-filter effect only to a specific part of the original image, specify the area that contains the image of the object to be filtered (the object to be filtered) as the effect area. There is a technique in which a filter image is texture-mapped to a virtual polygon having the size of an effect area and synthesized with an original image to reflect the effect of the filter image on the original image (see Patent Document 1). However, such a conventional method requires special processing for designating an effect area, and thus further simplification of processing is desired.
Japanese Patent No. 3467259

本発明は上記事情に鑑みてなされたものであり、その目的は、部分的なフィルタ処理を簡便に施すことができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a program, an information storage medium, and an image generation system that can easily perform partial filtering.

(1)本発明は、オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、ジオメトリ処理された前記オブジェクトを描画した元画像に対してフィルタ処理を行うフィルタ処理部と、を含み、前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、前記フィルタ処理部が、前記元画像のαプレーンに設定されたα値をマスク情報として前記フィルタ処理を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   (1) The present invention is an image generation system for generating an image viewed from a given viewpoint in an object space, and includes a geometry processing unit that performs geometry processing on an object, and the geometry-processed object. A filtering processing unit that performs a filtering process on the drawn original image, wherein the filtering target object is drawn with an α value different from that of other objects in the original image, and the filtering processing unit The present invention relates to an image generation system that performs the filtering process using an α value set in an α plane of an image as mask information. 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 an information storage medium that can be read by a computer and stores (records) a program that causes the computer to function as each of the above-described units.

コンピュータとは、プロセッサ(処理部:CPUあるいはGPUなど)、メモリ(記憶部)、入力装置、及び出力装置を基本的な構成要素とする物理的装置(システム)をいう。以下においても同様である。   The computer refers to a physical device (system) having basic components such as a processor (processing unit: CPU or GPU), a memory (storage unit), an input device, and an output device. The same applies to the following.

本発明によれば、ジオメトリ処理後のオブジェクトを描画するだけで、その描画処理により生成された元画像のαプレーンにフィルタ処理の不許可領域をマスクする情報(マスク情報)を設定することができる。従って本発明よれば、元画像に対して局所的にフィルタ処理を施す場合に、処理を簡便化することができる。   According to the present invention, it is possible to set information (mask information) for masking a non-permitted region for filter processing on the α plane of the original image generated by the drawing processing simply by drawing the object after the geometry processing. . Therefore, according to the present invention, the processing can be simplified when the filtering process is locally performed on the original image.

(2)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、ぼかし処理あるいはピクセル入れ替え処理を行って、前記元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うようにしてもよい。例えば、ぼかし処理によれば、グレアやソフトフォーカスを表現することができる。また例えば、ピクセル入れ替え処理によれば、漣あるいは陽炎などの揺らぎを表現することができる。なお元画像とフィルタ画像との合成手法としては、例えば、αテストを用いた半透明描画、通常αブレンディング、あるいは加算αブレンディング等が採用できる。   (2) In the image generation system, the program, and the information storage medium of the present invention, the filter processing unit performs a blurring process or a pixel replacement process to generate a filter image corresponding to the original image. You may make it perform the filter process which synthesize | combines this filter image. For example, according to the blurring process, glare and soft focus can be expressed. In addition, for example, according to the pixel replacement process, fluctuations such as soot or hot flame can be expressed. As a method for synthesizing the original image and the filter image, for example, translucent drawing using an α test, normal α blending, or additive α blending can be employed.

(3)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記ぼかし処理を含む前記フィルタ処理を行う場合に、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて前記フィルタ画像を生成し、前記元画像と該フィルタ画像とを合成する処理を行うようにしてもよい。このようにすれば、フィルタ処理が必要な部分にだけぼかし処理を施して、局所的なグレア表現などを簡便に行うことができる。   (3) In the image generation system, the program, and the information storage medium of the present invention, when the filter processing unit performs the filter processing including the blurring processing, the drawing area of the filter processing target object in the original image Only, a work image obtained by copying the α value set in the α plane of the original image as mask information is generated, the filter image is generated based on the work image, and the original image and the filter image are synthesized. You may make it perform the process to perform. In this way, it is possible to easily perform local glare expression and the like by performing blurring processing only on the portion that needs to be filtered.

(4)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記ピクセル入れ替え処理を含む前記フィルタ処理を行う場合に、前記元画像をコピーしたワーク画像に基づいて前記フィルタ画像を生成し、前記フィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行うようにしてもよい。ピクセル入れ替え処理では、元画像の全てのピクセルの色情報を用いないと、ノイズの混じったような不自然な画像が生成されてしまうため、元画像の全体をコピーしたワーク画像についてピクセル入れ替え処理を行った上で、フィルタ処理対象オブジェクトの描画領域についてのみフィルタ画像と元画像とが合成されるようにすることによって、生成画像が不自然になるような事態を防ぐことができる。   (4) Further, in the image generation system, the program, and the information storage medium of the present invention, when the filter processing unit performs the filter processing including the pixel replacement processing, the image processing system, the program, and the information storage medium are configured based on the work image copied from the original image. A filter image is generated, and only the drawing area of the filter processing target object in the filter image is combined with the original image using the α value set in the α plane of the original image as mask information. Good. In the pixel replacement process, if the color information of all the pixels of the original image is not used, an unnatural image with noise is generated. Therefore, the pixel replacement process is performed on the work image obtained by copying the entire original image. In addition, by causing the filter image and the original image to be synthesized only for the drawing region of the object to be filtered, it is possible to prevent a situation in which the generated image becomes unnatural.

(5)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記元画像あるいは該元画像に対応するぼかし画像の各ピクセルから所与の基準色より明るい色のピクセルを抽出する色抽出処理を含むフィルタ処理を行うようにしてもよい。このように画像中の明るい色で描かれた部分にグレアが生じていると仮定することによって、詳細な光源計算を行わなくても、リアルなグレア表現を行うことができる。   (5) In the image generation system, the program, and the information storage medium according to the present invention, the filter processing unit includes pixels that are lighter than a given reference color from each pixel of the original image or a blurred image corresponding to the original image. A filtering process including a color extracting process for extracting the image may be performed. Assuming that glare is generated in a portion drawn in a bright color in the image as described above, realistic glare expression can be performed without performing detailed light source calculation.

(6)また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記元画像あるいは該元画像に対応するぼかし画像の各ピクセルの色情報から前記基準色の色情報を減算することにより前記色抽出処理を行うようにしてもよい。このようにすれば、基準色より暗い色の成分については、カットされるため、グレアが必要な領域にだけを簡単に特定することができるようになる。   (6) In the image generation system, the program, and the information storage medium of the present invention, the filter processing unit obtains the color information of the reference color from the color information of each pixel of the original image or the blurred image corresponding to the original image. The color extraction process may be performed by subtraction. In this way, since the component having a color darker than the reference color is cut, it is possible to easily specify only the area where the glare is necessary.

(7)また本発明は、オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、前記ジオメトリ処理されたオブジェクトを描画した元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うフィルタ処理部と、を含み、前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、前記フィルタ処理部が、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に対して第1のフィルタ処理及び第2のフィルタ処理の少なくとも一方を行い、第1のフィルタ処理を行う場合には、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて第1のフィルタ画像を生成し、前記元画像と前記第1のフィルタ画像とを合成する処理を行い、第2のフィルタ処理を行う場合には、前記元画像をコピーしたワーク画像に基づいて第2のフィルタ画像を生成し、前記第2のフィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に合成する処理を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   (7) Further, the present invention is an image generation system for generating an image viewed from a given viewpoint in the object space, the geometry processing unit for performing geometry processing on the object, and the object subjected to the geometry processing A filter processing unit that generates a filter image corresponding to the original image on which the image is drawn, and performs a filter process for synthesizing the original image and the filter image. Are drawn with different α values, and the filter processing unit uses the α value set in the α plane of the original image as mask information for the first filter processing and the second filter processing for the original image. When performing at least one and performing the first filtering process, the filtering target object in the original image A drawing image of the original image is copied using the α value set in the α plane of the original image as mask information, a first filter image is generated based on the work image, and the original image and the When performing the process of combining with the first filter image and performing the second filter process, a second filter image is generated based on a work image obtained by copying the original image, and the second filter image The image generation system performs processing for combining only the drawing area of the filter processing target object with the original image using the α value set in the α plane of the original image as mask information. 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 an information storage medium that can be read by a computer and stores (records) a program that causes the computer to function as each of the above-described units.

本発明によれば、フィルタ処理対象オブジェクトを他のオブジェクトとは異なるα値で描画しておくだけで、様々な用途の部分フィルタ処理において好適なマスク情報を同じ元画像のαプレーンから得ることができる。   According to the present invention, it is possible to obtain mask information suitable for partial filter processing for various uses from the α plane of the same original image only by drawing a filtering target object with an α value different from that of other objects. it can.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   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 of a player object (an example of a moving object, a player character operated by the player), and functions thereof are a lever, a button, a steering, a microphone, and a touch panel display. Alternatively, it can be realized by 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)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(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), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM). 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, touch panel display, HMD (head mounted 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内の主記憶部171をワーク領域として各種処理を行う。処理部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 main storage unit 171 in 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 is an object composed of various objects (polygons, free-form surfaces, subdivision surfaces, etc.) representing display objects such as characters, buildings, stadiums, cars, trees, pillars, walls, and maps (terrain). ) Is set in the object space. In other words, the position and rotation angle of the object in the world coordinate system (synonymous with direction and direction) are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects.

移動・動作処理部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, 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, the object is moved in the object space, or the object is moved (motion, animation). ) Is performed. Specifically, object movement information (position, rotation angle, speed, or acceleration) and motion information (position or rotation angle of each part that constitutes the object) are sequentially transmitted every frame (1/60 seconds). Perform the required simulation process. 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, processing for controlling the position (X, Y, Z) or rotation angle (rotation angle about the X, Y, Z axis) of the virtual camera (processing for controlling the viewpoint position, the line-of-sight direction or the angle of view) I do.

例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部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. When there are a plurality of virtual cameras (viewpoints), the above-described control process is performed for each virtual camera.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(オブジェクトデータ)に基づいて、透視変換後(ジオメトリ処理後)のモデルオブジェクト(1又は複数のプリミティブ)を描画バッファ172(フレームバッファや中間バッファ(ワークバッファ)などのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように描画処理を行うこともできる。   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 ( Primitive vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) are created. Then, based on the drawing data (object data), the model object (one or a plurality of primitives) after perspective transformation (after geometry processing) is converted into a pixel unit such as a drawing buffer 172 (frame buffer or intermediate buffer (work buffer)). The image information is stored in a buffer (VRAM). Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. In addition, when there are a plurality of virtual cameras (viewpoints), the drawing process can be performed so that an image seen from each virtual camera can be displayed as a divided image on one screen.

描画部120は、ジオメトリ処理部122、フィルタ処理部124を含む。   The drawing unit 120 includes a geometry processing unit 122 and a filter processing unit 124.

ジオメトリ処理部122は、オブジェクトに対して、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行う。そして、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等)は、主記憶部172に保存される。   The geometry processing unit 122 performs geometry processing such as coordinate transformation, clipping processing, perspective transformation, or light source calculation on the object. Then, object data (positional coordinates of object vertices, texture coordinates, color data, normal vector, α value, etc.) after geometry processing (after perspective transformation) is stored in the main storage unit 172.

フィルタ処理部124は、ジオメトリ処理されたオブジェクトを描画した元画像に対してフィルタ処理を行う。フィルタ処理としては、ぼかし処理やピクセル入れ替え処理等を行うことができ、その際に元画像に対応するフィルタ画像を生成して、元画像とフィルタ画像とを合成することにより元画像に対してフィルタ処理を施すことができる。元画像とフィルタ画像との合成手法としては、αブレンディング(通常αブレンディング、加算αブレンディング、減算αブレンディング)やαテストを用いた半透明描画などがある。   The filter processing unit 124 performs a filter process on the original image on which the geometry-processed object is drawn. As filter processing, blurring processing, pixel replacement processing, and the like can be performed. At that time, a filter image corresponding to the original image is generated, and the original image and the filter image are combined to filter the original image. Processing can be performed. As a synthesis method of the original image and the filter image, there are α blending (usually α blending, addition α blending, subtraction α blending) and translucent drawing using an α test.

また本実施形態では、ジオメトリ処理後のオブジェクトが描画されることにより元画像が作成されるが、その元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画される。そしてフィルタ処理部124は、元画像のαプレーンに設定されたα値をマスク情報として用いたフィルタ処理を行う。これにより元画像の所与の描画領域にのみフィルタ処理の効果が付加された画像を生成することができる。   In this embodiment, an original image is created by drawing an object after geometry processing. In the original image, an object to be filtered is drawn with an α value different from other objects. Then, the filter processing unit 124 performs a filter process using the α value set in the α plane of the original image as mask information. As a result, it is possible to generate an image in which the effect of the filter processing is added only to a given drawing area of the original image.

元画像のαプレーンに設定されるα値をマスク情報となるように描画する手法としては、フィルタ処理対象オブジェクトの頂点の頂点色のα成分をα≧α1に設定し、他のオブジェクトの頂点の頂点色のα成分をα<α1に設定しておく手法、フィルタ処理対象オブジェクトにマッピングされるテクスチャのαプレーンにα≧α1を設定し、他のオブジェクトにマッピングされるテクスチャのαプレーンにα<α1を設定しておく手法、あるいはフィルタ処理対象オブジェクトの頂点色のα成分と、そのフィルタ処理対象オブジェクト用のテクスチャのαプレーンに設定されたα値を乗算した値αがα≧α1となるように設定し、他のオブジェクトの頂点色のα成分と、他のオブジェクト用のテクスチャのαプレーンに設定されたα値を乗算した値がα<α1となるように設定しておく手法等がある。オブジェクトの頂点色のα成分にマスク情報を設定した場合、そのオブジェクトデータは、オブジェクトデータ記憶部176に記憶される。テクスチャのαプレーンにマスク情報を設定した場合、オブジェクトにマッピングされるテクスチャは、テクスチャ記憶部173に記憶される。   As a technique for rendering the α value set in the α plane of the original image to be mask information, the α component of the vertex color of the object to be filtered is set to α ≧ α1, and the vertex of another object is set to α ≧ α1. The method of setting the α component of the vertex color to α <α1, α ≧ α1 is set to the α plane of the texture mapped to the object to be filtered, and α <α is set to the α plane of the texture mapped to the other object. A method of setting α1, or a value obtained by multiplying the α component of the vertex color of the object to be filtered by the α value set in the α plane of the texture for the object to be filtered so that α ≧ α1. The value obtained by multiplying the α component of the vertex color of the other object by the α value set in the α plane of the texture for the other object is α <α1 So as there is a method such as to set in. When the mask information is set in the α component of the vertex color of the object, the object data is stored in the object data storage unit 176. When the mask information is set for the α plane of the texture, the texture mapped to the object is stored in the texture storage unit 173.

またフィルタ処理部124は、フィルタ処理の内容に応じて元画像のαプレーンに設定されたマスク情報(α値)の使い方を切り替えている。   The filter processing unit 124 switches the usage of the mask information (α value) set in the α plane of the original image according to the content of the filter processing.

例えば、ぼかし処理を含むフィルタ処理(第1のフィルタ処理)を行う場合には、元画像のうちフィルタ処理対象オブジェクトの描画領域のみを、元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、そのワーク画像に基づいてフィルタ画像を生成し、元画像とフィルタ画像とを合成する処理を行う。   For example, when performing filter processing (first filter processing) including blurring processing, only the drawing area of the object to be filtered in the original image is used as mask information using the α value set in the α plane of the original image. A copied work image is generated, a filter image is generated based on the work image, and a process of combining the original image and the filter image is performed.

また例えば、ピクセル入れ替え処理を含むフィルタ処理(第2のフィルタ処理)を行う場合には、元画像の全体をコピーしたワーク画像に基づいてフィルタ画像を生成し、フィルタ画像のうちフィルタ処理対象オブジェクトの描画領域のみを、元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行う。   Also, for example, when performing a filter process including a pixel replacement process (second filter process), a filter image is generated based on a work image obtained by copying the entire original image, and the filter processing target object of the filter image is generated. Only the drawing area is combined with the original image using the α value set in the α plane of the original image as mask information.

また描画部120は、その他の描画処理として、テクスチャマッピング、陰面消去処理、αブレンディング等を行うことができる。   The drawing unit 120 can perform texture mapping, hidden surface removal processing, α blending, and the like as other drawing processing.

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

また本実施形態では、テクスチャマッピングとして、LUT記憶部175に記憶されるインデックスカラー・テクスチャマッピング用のカラールックアップテーブル(CLUT)を用いたテクスマッピングを行うこともできる。この場合には、元画像の各ピクセルの相対位置あるいは元画像を分割した分割ブロックの各ピクセルの相対的位置に基づいて定められる番号(色)をインデックス番号(インデックス色)として設定したインデックステクスチャを、インデックス番号と画像情報(R成分、G成分、B成分、A成分(α成分))とを対応づけるカラールックアップテーブルを参照しながら、仮想オブジェクト(表示画面サイズのポリゴン、分割ブロックサイズのポリゴン)に対してテクスチャマッピングを行う。ピクセル入れ替え処理を行う場合には、元画像あるいは元画像の分割ブロックに対応するインデックステクスチャの各テクセルに与えられたインデックス番号を入れ替えるためのインデックステクスチャを用意し、そのインデックステクスチャをカラールックアップテーブルを参照しながら仮想オブジェクトにテクスチャマッピングすることによってピクセル入れ替え画像(フィルタ画像の例)を生成することができる。   In the present embodiment, text mapping using a color look-up table (CLUT) for index color / texture mapping stored in the LUT storage unit 175 can also be performed as texture mapping. In this case, an index texture in which a number (color) determined based on the relative position of each pixel of the original image or the relative position of each pixel of the divided block obtained by dividing the original image is set as an index number (index color) is used. While referring to a color lookup table that associates index numbers with image information (R component, G component, B component, A component (α component)), virtual objects (display screen size polygons, divided block size polygons) ) Texture mapping. When performing pixel replacement processing, prepare an index texture to replace the index number assigned to each texel of the index texture corresponding to the original image or the divided block of the original image, and use the color lookup table for the index texture. A pixel replacement image (an example of a filter image) can be generated by performing texture mapping on a virtual object while referring to the image.

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

αブレンディングとしては、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。例えば通常αブレンディングの場合には下式(1)〜(3)の処理を行う。   As the α blending, a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on the α value (A value) is performed. For example, in the case of normal α blending, the following processes (1) to (3) are performed.

=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
また、加算αブレンディングの場合には下式(4)〜(6)の処理を行う。なお単純加算の場合はα=1として下式(4)〜(6)の処理を行う。
R Q = (1−α) × R 1 + α × R 2 (1)
G Q = (1−α) × G 1 + α × G 2 (2)
B Q = (1−α) × B 1 + α × B 2 (3)
In addition, in the case of addition α blending, the following expressions (4) to (6) are performed. In the case of simple addition, α = 1 and the following formulas (4) to (6) are performed.

=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
また、減算αブレンディングの場合には下式(7)〜(9)の処理を行う。なお単純減算の場合はα=1として下式(7)〜(9)の処理を行う。
R Q = R 1 + α × R 2 (4)
G Q = G 1 + α × G 2 (5)
B Q = B 1 + α × B 2 (6)
In the case of subtractive α blending, the processing of the following equations (7) to (9) is performed. In the case of simple subtraction, α = 1 and the following formulas (7) to (9) are processed.

=R−α×R (7)
=G−α×G (8)
=B−α×B (9)
ここで、R、G、Bは、描画バッファ172に既に描画されている画像(元画像)のRGB成分であり、R、G、Bは、描画バッファ172に描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
R Q = R 1 −α × R 2 (7)
G Q = G 1 −α × G 2 (8)
B Q = B 1 −α × B 2 (9)
Here, R 1 , G 1 , B 1 are RGB components of an image (original image) already drawn in the drawing buffer 172, and R 2 , G 2 , B 2 should 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 mask information, translucency (equivalent to transparency and opacity), bump information, and the like.

音生成部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. In the following description, the case where the method of the present embodiment is employed with respect to the filter processing for expressing glare or the filter processing for expressing fluctuations such as ripples will be mainly described. It can be applied not only to such filter processing but also to various filter processing.

2.1 グレアフィルタの手法
本実施形態では、元画像のαプレーンに設定されたα値をマスク情報として扱って、元画像のうちフィルタ処理対象オブジェクトの描画領域及びその周辺に選択的にグレアフィルタ処理を施す手法を採用している。
2.1 Glare Filter Method In this embodiment, the α value set in the α plane of the original image is treated as mask information, and the glare filter is selectively applied to the drawing area of the object to be filtered in the original image and its periphery. A method of applying processing is adopted.

具体的には、図2のA1に示すように、オブジェクト空間内に配置された仮想カメラから見えるシーン(ビューボリューム内)に存在するオブジェクトOB1〜OB3をフレームバッファに描画する際に、フィルタ処理対象オブジェクトであるオブジェクトOB1を他のオブジェクトOB2、OB3とは、異なるα値で描画して元画像を生成する。図2に示す例では、オブジェクトOB1がα1で描画され、オブジェクトOB2がα1より値の小さいα2で描画され、オブジェクトOB3もα1より値の小さいα2で描画される。図2に示す例では、各オブジェクトの頂点色のα成分(A成分)にマスク情報となるα値を設定してある。すなわち、ジオメトリ処理後のオブジェクトデータによってマスク情報が得られるようになっている。   Specifically, as indicated by A1 in FIG. 2, when the objects OB1 to OB3 existing in the scene (in the view volume) seen from the virtual camera arranged in the object space are drawn in the frame buffer, the filter processing target The object OB1, which is an object, is drawn with a different α value from the other objects OB2 and OB3 to generate an original image. In the example shown in FIG. 2, the object OB1 is drawn with α1, the object OB2 is drawn with α2 having a value smaller than α1, and the object OB3 is also drawn with α2 having a value smaller than α1. In the example shown in FIG. 2, an α value serving as mask information is set for the α component (A component) of the vertex color of each object. That is, the mask information is obtained from the object data after the geometry processing.

そしてグレアフィルタをフレームバッファに描画された元画像に対して施す場合には、図2のA2に示すように、元画像のαプレーンに設定されたα値をマスク情報としてαテストを行い、α≧α1の描画領域だけをフレームバッファよりサイズの小さいワークバッファに縮小コピーする。このときワークバッファの画像情報はクリアしておく(黒く塗りつぶしておく)ことが必要である。図2に示す例では、α≧α1となるのは、フィルタ処理の対象となるオブジェクトOB1だけであるので、図2のA3に示すように、オブジェクトOB1の描画領域のみが縮小コピーされる。そして、ワークバッファに縮小コピーされた画像(ワーク画像)に対して色抽出処理とぼかし処理を行って、図2のA4に示すように、グレア表現用のフィルタ画像を生成する。   When the glare filter is applied to the original image drawn in the frame buffer, as shown by A2 in FIG. 2, an α test is performed using the α value set in the α plane of the original image as mask information, and α Only the drawing area of ≧ α1 is reduced and copied to a work buffer smaller in size than the frame buffer. At this time, the image information in the work buffer must be cleared (filled in black). In the example shown in FIG. 2, since α ≧ α1 is only the object OB1 to be filtered, only the drawing area of the object OB1 is reduced and copied as indicated by A3 in FIG. Then, color extraction processing and blurring processing are performed on the image (work image) reduced and copied to the work buffer to generate a filter image for glare expression as indicated by A4 in FIG.

ここで、色抽出処理としては、ワーク画像の各ピクセルから基準色より明るい色を抽出して、その差分の色情報を得る処理を行う。例えば、図3のB1に示すように、基準色C1が頂点色に設定された単色の仮想ポリゴン(単色ポリゴン)を用意して、この単色ポリゴンをワークバッファに減算半透明で描画を行う。これにより図3のB2に示すように、ワーク画像の任意のピクセルPの色をC2とすると、単色ポリゴンを減算半透明で描画した後のワークバッファに作成される色抽出画像のピクセルPの色は、C2−C1となる。すなわち、色抽出画像では、基準色より暗い色は、黒にクランプされ、基準色より明るい色については、その差分の色となる。このようにある基準色より明るい色だけを求めることで、グレアのかかりやすい領域を特定することができる。   Here, as the color extraction process, a process is performed in which a color brighter than the reference color is extracted from each pixel of the work image and the color information of the difference is obtained. For example, as shown in B1 of FIG. 3, a single-color virtual polygon (single-color polygon) in which the reference color C1 is set to the vertex color is prepared, and the single-color polygon is drawn in the work buffer with translucency. As a result, as shown in B2 of FIG. 3, if the color of an arbitrary pixel P of the work image is C2, the color of the pixel P of the color extraction image created in the work buffer after rendering the monochrome polygon subtracted semi-transparently Becomes C2-C1. That is, in the color extraction image, a color darker than the reference color is clamped to black, and a lighter color than the reference color is a difference color. Thus, by obtaining only colors brighter than a certain reference color, it is possible to specify an area where glare is likely to occur.

またぼかし処理としては、画像の縮小・拡大を繰り返すことによりバイリニアフィルタ方式で各ピクセルの色情報を補間させて画像をぼかす手法や、テクスチャ座標をずらしながらバイリニアフィルタ方式でテクスチャマッピングを行うことで各ピクセルの色情報を補間させて画像をぼかす手法などがある。ぼかし処理の手法は、上記のものには限られず、種々の手法を採用することができる。例えば、バイリニアフィルタ方式でのテクスチャマッピングにより画像をぼかす手法は、図4のD1に示すようにワークバッファのワーク画像をテクスチャとして設定して、そのテクスチャをワークバッファサイズの仮想ポリゴンにテクスチャ座標をずらしながらマッピングすることで実現される。例えば、図4のD2に示すように、テクスチャ座標をX方向(横方向)にシフトさせてワーク画像に基づくテクスチャを仮想ポリゴンにテクスチャマッピングしたり、図4のD3に示すように、テクスチャ座標をY方向(縦方向)にシフトさせてワーク画像に基づくテクスチャを仮想ポリゴンにテクスチャマッピングしたりすることでワークバッファの各ピクセルの色情報がバイリニアフィルタ方式で補間されて画像がぼけるようになる。このとき図4のD2に示す処理及びD3に示す処理を繰返し行うことで、画像のぼかし具合をより強くすることができる。   In addition, as blurring processing, it is possible to blur the image by interpolating the color information of each pixel by bilinear filter method by repeatedly reducing and enlarging the image, and by performing texture mapping by bilinear filter method while shifting texture coordinates. There is a method of blurring an image by interpolating pixel color information. The blurring processing method is not limited to the above, and various methods can be employed. For example, the method of blurring an image by texture mapping using the bilinear filter method is to set the work image of the work buffer as a texture as shown by D1 in FIG. 4, and shift the texture coordinates to a virtual polygon of the work buffer size. It is realized by mapping. For example, as shown in D2 of FIG. 4, the texture coordinates are shifted in the X direction (horizontal direction) and the texture based on the work image is texture-mapped to the virtual polygon, or the texture coordinates are changed as shown in D3 of FIG. By shifting the texture based on the work image to the virtual polygon by shifting in the Y direction (vertical direction), the color information of each pixel of the work buffer is interpolated by the bilinear filter method, and the image becomes blurred. At this time, by repeatedly performing the process indicated by D2 and the process indicated by D3 in FIG. 4, the degree of blurring of the image can be further increased.

そして本実施形態のグレアフィルタ手法では、図2のA5に示すように、ワーク画像に対して色抽出処理とぼかし処理を行ってワークバッファに作成したフィルタ画像をフレームバッファの元画像に加算合成することで、元画像のうちオブジェクトOB1の描画領域付近にのみグレア処理が施されたような画像を生成することができる。なお元画像とフィルタ画像との加算合成は、加算αブレンディングにより行うことができる。また本実施形態のグレアフィルタ手法を元画像とフィルタ画像との合成手法を通常αブレンディングによって行えば、フィルタ処理によるソフトフォーカス表現に適用することができる。   In the glare filter method of this embodiment, as shown in A5 of FIG. 2, the filter image created in the work buffer by performing color extraction processing and blurring processing on the work image is added to the original image of the frame buffer and synthesized. Thus, it is possible to generate an image in which glare processing is performed only in the vicinity of the drawing area of the object OB1 in the original image. Note that the addition synthesis of the original image and the filter image can be performed by addition α blending. In addition, if the glare filter method of the present embodiment is performed by normal α blending for the method of combining the original image and the filter image, it can be applied to soft focus expression by filter processing.

2.2 揺らぎフィルタの手法
本実施形態では、元画像のαプレーンに設定されたα値をマスク情報として扱って、元画像のうちフィルタ処理対象オブジェクトの描画領域に選択的に揺らぎフィルタ処理を施す手法を採用している。
2.2 Fluctuation Filter Method In this embodiment, the α value set in the α plane of the original image is treated as mask information, and the fluctuation filter processing is selectively performed on the drawing area of the object to be filtered in the original image. The method is adopted.

具体的には、図5のE1に示すように、フィルタ処理の対象であるオブジェクト(フィルタ処理対象オブジェクト)OB1(α=α1)を他のオブジェクトOB2(α=α2)、OB3(α=α3)とは異なるα値で描画して元画像を生成している。このとき図5のE4に示すように、αテストによりα≧α1の領域にだけフィルタ画像が合成(半透明描画)されるようにすることで、フィルタ処理対象オブジェクトOB1の描画領域にだけフィルタ処理が施された画像を生成することができる。図5に示す例でも、各オブジェクトの頂点色のα成分(A成分)にマスク情報となるα値を設定してある。すなわち、ジオメトリ処理後のオブジェクトデータによってマスク情報が得られるようになっている。このように本実施形態の揺らぎフィルタ手法では、ジオメトリ処理されたフィルタ処理対象オブジェクトOB1を描画するだけで、元画像のαプレーンにマスク情報を描き込むことができる。   Specifically, as indicated by E1 in FIG. 5, the object to be filtered (filtering target object) OB1 (α = α1) is changed to another object OB2 (α = α2) and OB3 (α = α3). The original image is generated by drawing with a different α value. At this time, as indicated by E4 in FIG. 5, the filter processing is performed only on the drawing region of the object OB1 to be filtered by combining the filter image only in the region of α ≧ α1 (semi-transparent drawing) by the α test. Can be generated. Also in the example shown in FIG. 5, an α value serving as mask information is set for the α component (A component) of the vertex color of each object. That is, the mask information is obtained from the object data after the geometry processing. As described above, in the fluctuation filter method of the present embodiment, the mask information can be drawn on the α plane of the original image only by drawing the filtering target object OB1 subjected to the geometry processing.

また本実施の形態では、図5のE3に示すように、ワーク画像に対してピクセル入れ替え処理を行ってフィルタ画像を生成している。このときインデックスカラー・テクスチャマッピングの手法を用いて、周期的にピクセル入れ替え距離が変動するピクセル入れ替え処理を行っている。   In the present embodiment, as shown by E3 in FIG. 5, a pixel replacement process is performed on the work image to generate a filter image. At this time, a pixel replacement process in which the pixel replacement distance fluctuates periodically is performed using an index color / texture mapping technique.

具体的には、図6のF1に示すように、描画バッファに描画された元画像を複数の分割ブロックに分割して、その分割ブロック単位でピクセル入れ替え処理を行うことによって生成したフィルタ画像(フィルタ処理が施されたオブジェクトの画像)を元画像に合成(半透明描画)するフィルタ処理を行っている。   Specifically, as shown in F1 of FIG. 6, a filter image (filter image generated by dividing the original image drawn in the drawing buffer into a plurality of divided blocks and performing pixel replacement processing in units of the divided blocks. A filtering process is performed to synthesize (semi-transparent drawing) the image of the processed object) with the original image.

このとき各分割ブロックは、例えば16×16ピクセルのサイズとし、図6のF2に示すように、この256個のピクセルをそれらの相対位置に基づいてインデックス化したカラールックアップテーブルとして扱うことができる。また図6のF3に示すように、カラールックアップテーブル(CLUT)とは別に分割ブロックの各ピクセルの位置をずらしたずらしテーブルを用意し、そのずらしテーブルをインデックステクスチャとして扱うことができる。ずらしテーブルでは、分割ブロックのピクセルの相対位置に基づいて定めたインデックス番号を分割ブロック内におけるピクセルの座標値として扱い、各ピクセルについてピクセル入れ替え距離ΔYだけずらした位置のピクセルのインデックス番号を設定する。   At this time, each divided block has a size of, for example, 16 × 16 pixels, and can be handled as a color lookup table in which these 256 pixels are indexed based on their relative positions, as indicated by F2 in FIG. . Further, as indicated by F3 in FIG. 6, a shift table in which the position of each pixel of the divided block is shifted can be prepared separately from the color lookup table (CLUT), and the shift table can be handled as an index texture. In the shift table, the index number determined based on the relative position of the pixel of the divided block is handled as the coordinate value of the pixel in the divided block, and the index number of the pixel shifted by the pixel replacement distance ΔY is set for each pixel.

そして、図6のF4に示すように、カラールックアップテーブルを参照しながら、分割ブロックサイズのポリゴン(仮想オブジェクト)に対して、ずらしテーブルに基づいて設定されたインデックステクスチャをテクスチャマッピングする。そして図6のF5に示すように、インデックステクスチャをテクスチャマッピングした分割ブロックサイズのポリゴンを元画像における対応位置に描画する。このようにすることで、元画像のピクセルを入れ替える処理を実現することができる。これらの処理を全ての分割ブロックに対して行って元画像に対応するフィルタ画像を生成することができる。最終的には、図6のF6に示すように、元画像にフィルタ画像を合成することで元画像に対してポストエフェクトを施すフィルタ処理を行うことができる。   Then, as indicated by F4 in FIG. 6, the index texture set based on the shift table is texture-mapped with respect to the polygon (virtual object) having the divided block size while referring to the color lookup table. Then, as indicated by F5 in FIG. 6, a polygon having a divided block size obtained by texture mapping the index texture is drawn at a corresponding position in the original image. By doing in this way, the process which replaces the pixel of an original image is realizable. These processes can be performed on all the divided blocks to generate a filter image corresponding to the original image. Finally, as shown at F6 in FIG. 6, a filter process for applying a post effect to the original image can be performed by synthesizing the filter image with the original image.

なお本実施形態のピクセル入れ替え処理では、ピクセル入れ替え距離ΔYを図7に示すような周期関数に基づいて設定している。すなわちインデックステクスチャに設定されるずらしテーブルを、周期的に変化するピクセル入れ替え距離ΔYに応じて書き換えている。なおピクセル入れ替え距離ΔYを周期的に変化させた複数枚のインデックステクスチャを予め用意しておいてもよい。その周期関数は下式(A)で表される。   In the pixel replacement process of this embodiment, the pixel replacement distance ΔY is set based on a periodic function as shown in FIG. That is, the shift table set in the index texture is rewritten according to the periodically changing pixel replacement distance ΔY. A plurality of index textures in which the pixel replacement distance ΔY is periodically changed may be prepared in advance. The periodic function is represented by the following formula (A).

ΔY=Asin(ωt+f(x,y)) (A)
図7に示すように、Aは振幅成分パラメータである。ωは周波数成分パラメータである。f(x,y)は、分割ブロック内でのピクセルの位置に基づいて決定される初期位相パラメータである。これらのパラメータのうちフィルタ処理の強さに大きく関連するパラメータは振幅成分パラメータAと周波数成分パラメータωである。振幅成分パラメータAを大きくすると、ピクセル入れ替え距離ΔYが大きくなり、揺らぎを大きくすることができる。また周波数成分パラメータωを小さくすると、ピクセル入れ替え周期2π/ωが短くなるため、揺らぎの速度が速くなり単位時間あたりの揺らぎを大きくすることができる。
ΔY = Asin (ωt + f (x, y)) (A)
As shown in FIG. 7, A is an amplitude component parameter. ω is a frequency component parameter. f (x, y) is an initial phase parameter determined based on the position of the pixel in the divided block. Among these parameters, parameters that are largely related to the strength of the filter processing are the amplitude component parameter A and the frequency component parameter ω. When the amplitude component parameter A is increased, the pixel replacement distance ΔY is increased, and the fluctuation can be increased. Further, when the frequency component parameter ω is reduced, the pixel replacement period 2π / ω is shortened, so that the fluctuation speed is increased and the fluctuation per unit time can be increased.

ところで、図5に示すように、ピクセル入れ替えを行ったフィルタ画像をワークバッファに作成する際には、図5のE2に示すように、ワークバッファに元画像の全体をコピーすることが好ましい。これとは対照的にフィルタ処理対象オブジェクトOB1だけをワークバッファに描き込むという部分コピーをする手法が考えられるが、このようにすると、フィルタ処理対象オブジェクトOB1以外の色情報が失われてしまい、その状態でピクセル入れ替えを行うと、不自然な色のはみ出しがフィルタ画像に現れてしまう。このため図5のE2に示すように、元画像の全体をワークバッファにコピーして、そのコピー画像(ワーク画像)に対してピクセル入れ替え処理を行ってフィルタ画像を生成することにより、フィルタ画像において不自然な色のはみ出しが現れるという不都合を回避することができる。   By the way, as shown in FIG. 5, when creating a filter image after pixel replacement in the work buffer, it is preferable to copy the entire original image to the work buffer as shown by E2 in FIG. In contrast to this, a method of performing partial copying in which only the filtering target object OB1 is drawn in the work buffer is conceivable. However, in this case, color information other than the filtering target object OB1 is lost, and that If the pixels are replaced in a state, an unnatural color protrusion appears in the filter image. For this reason, as shown in E2 of FIG. 5, the entire original image is copied to the work buffer, and a pixel replacement process is performed on the copy image (work image) to generate a filter image. It is possible to avoid the inconvenience that an unnatural color protrudes.

3.本実施形態の処理
次に、本実施形態の詳細な処理例について図8及び図9のフローチャートを用いて説明する。
3. Processing of this Embodiment Next, a detailed processing example of this embodiment will be described with reference to the flowcharts of FIGS.

はじめに図8のフローチャートを用いて、グレアフィルタ処理を説明する。   First, the glare filter process will be described with reference to the flowchart of FIG.

まず、グレアが起きる領域のα値がα1(例えば128)以上、グレアが起きない領域のα値がα1未満となるように仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する(ステップS20)。   First, an original image is generated by drawing a scene viewed from the virtual camera in a frame buffer so that the α value of a region where glare occurs is α1 (for example, 128) or more and the α value of a region where glare does not occur is less than α1. (Step S20).

次に、フレームバッファの1/2のサイズのワークバッファ(第1のワークバッファ)WB1をクリアする。すなわちワークバッファWB1を黒色(R,G,B)=(0,0,0)に塗りつぶしておく(ステップS21)。   Next, the work buffer (first work buffer) WB1 having a size half that of the frame buffer is cleared. That is, the work buffer WB1 is painted black (R, G, B) = (0, 0, 0) (step S21).

次に、ワークバッファWB1にフレームバッファの元画像を縮小コピーする(ステップS22)。その際に、αテストを用いてα値ビット列の最上位ビットの状態を判定して、α値がα1(例えば128)以上のピクセルにだけワークバッファに縮小コピーする部分縮小コピーを行う。そして、ワークバッファWB1に、単色ポリゴンの画像を減算合成する(ステップS23)。すなわち図3で説明した色抽出処理により色の強さの低い成分が落とされる。   Next, the original image of the frame buffer is reduced and copied to the work buffer WB1 (step S22). At that time, the state of the most significant bit of the α value bit string is determined using an α test, and partial reduced copy is performed to reduce and copy to the work buffer only for pixels having an α value of α1 (eg, 128) or more. Then, the monochrome polygon image is subtracted and synthesized in the work buffer WB1 (step S23). That is, a component having a low color intensity is dropped by the color extraction processing described with reference to FIG.

次に、フレームバッファの1/4のサイズのワークバッファ(第2のワークバッファ)WB2にワークバッファWB1の画像を縮小コピーする(ステップS24)。そして図4のD1,D2において説明した手法を利用して、ワークバッファWB2の画像を横にずらした画像をワークバッファWB2に加算合成して、横方向(X方向)に画像をぼかす処理を行う(ステップS25)。さらに、図4のD1,D3において説明した手法を利用して、ワークバッファWB2の画像を縦にずらした画像をワークバッファWB2に加算合成して、縦方向(Y方向)に画像をぼかす処理を行う(ステップS26)。   Next, the image of the work buffer WB1 is reduced and copied to a work buffer (second work buffer) WB2 having a size of 1/4 of the frame buffer (step S24). Then, using the method described in D1 and D2 of FIG. 4, an image obtained by shifting the image of the work buffer WB2 horizontally is added to the work buffer WB2, and the image is blurred in the horizontal direction (X direction). (Step S25). Further, using the method described in D1 and D3 of FIG. 4, an image obtained by shifting the image in the work buffer WB2 vertically is added to the work buffer WB2, and the image is blurred in the vertical direction (Y direction). This is performed (step S26).

次に、フレームバッファの1/8のサイズのワークバッファ(第3のワークバッファ)WB3にワークバッファWB2の画像を縮小コピーする(ステップS27)。そしてステップS25と同様の手法で、ワークバッファWB3の画像を横にずらした画像をワークバッファWB3に加算合成して、横方向(X方向)に画像をぼかす処理を行う(ステップS28)。さらに、ステップS26と同様の手法で、ワークバッファWB3の画像を縦にずらした画像をワークバッファWB3に加算合成して、縦方向(Y方向)に画像をぼかす処理を行う(ステップS29)。   Next, the image of the work buffer WB2 is reduced and copied to a work buffer (third work buffer) WB3 having a size of 1/8 of the frame buffer (step S27). Then, in the same manner as in step S25, an image obtained by shifting the image of the work buffer WB3 horizontally is added and synthesized to the work buffer WB3, and a process of blurring the image in the horizontal direction (X direction) is performed (step S28). Further, the image obtained by shifting the image of the work buffer WB3 vertically is added and synthesized to the work buffer WB3 by the same method as in step S26, and a process of blurring the image in the vertical direction (Y direction) is performed (step S29).

次に、ワークバッファWB2の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数(第1のα値)を掛けてフレームバッファに加算合成する(ステップS30)。またワークバッファWB3の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数(第2のα値)を掛けてフレームバッファに加算合成する(ステップS31)。   Next, the image of the work buffer WB2 is enlarged to the size of the frame buffer, and the enlarged image is multiplied by an appropriate coefficient (first α value) and added to the frame buffer and synthesized (step S30). Further, the image in the work buffer WB3 is enlarged to the size of the frame buffer, and the enlarged image is multiplied and combined with an appropriate coefficient (second α value) in the frame buffer (step S31).

次に図9のフローチャートを用いて、揺らぎフィルタ処理を説明する。   Next, the fluctuation filter process will be described with reference to the flowchart of FIG.

まず、さざ波が起きる領域のα値がα1(例えば128)以上、さざ波が起きない領域のα値がα1未満となるように仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する(ステップS10)。   First, an original image is generated by drawing a scene viewed from the virtual camera in a frame buffer so that the α value of a region where ripples occur is α1 (for example, 128) or more and the α value of a region where ripples do not occur is less than α1. (Step S10).

次に、仮想カメラの位置、方向、画角等の変化情報に基づいて、波を強めるべきか(波面の動きが大きくなるのか)、波を弱めるべきか(波面の動きが小さくなるのか)を決定する(ステップS11)。例えば、仮想カメラの注視点の移動距離がしきい値を超えていれば、波を弱めるべきであると判断する。また例えば、仮想カメラの注視点の移動距離がしきい値を超えていた状態からしきい値を下回るように推移した場合には、波を強めるべきであると判断する。   Next, on the basis of change information such as the position, direction, and angle of view of the virtual camera, whether the wave should be strengthened (whether the wavefront motion will increase) or the wave should be weakened (whether the wavefront motion will be small) Determine (step S11). For example, if the moving distance of the gazing point of the virtual camera exceeds a threshold value, it is determined that the wave should be weakened. In addition, for example, when the moving distance of the point of sight of the virtual camera changes from a state where it exceeds the threshold value to fall below the threshold value, it is determined that the wave should be strengthened.

次に、フィルタ強度パラメータの設定処理を行う。具体的には、波面の動きが大きなさざ波の場合の波の強さレベル(第1のレベル)と波面の動きが小さなさざ波の場合の波の強さレベル(第2のレベル)とを予め設定しておき、現在の波の強さレベルと目的値とを比較することによって、現在の波の強さレベルが目的とする波の強さレベルと異なっていると判断される場合には、波の強さの値(周期関数の振幅成分パラメータあるいは周波数成分パラメータ)を目的値(第1のレベルあるいは第2のレベル)に近づける処理を行う(ステップS12)。   Next, a filter strength parameter setting process is performed. Specifically, the wave strength level (first level) when the wavefront motion is large and the wave strength level (second level) when the wavefront motion is small and ripples are set in advance. If the current wave intensity level is determined to be different from the target wave intensity level by comparing the current wave intensity level with the target value, Is performed so that the intensity value (amplitude component parameter or frequency component parameter of the periodic function) approaches the target value (first level or second level) (step S12).

次に、ステップS12で設定された波の強さレベルに基づいて、ピクセルの各点の位置座標をずらすためのテーブルデータ(ずらしテーブル)を作成する(ステップS13)。このテーブルデータは、インデックスカラー・テクスチャマッピングにおいて、インデックステクスチャとして扱われる。   Next, based on the wave intensity level set in step S12, table data (shift table) for shifting the position coordinates of each point of the pixel is created (step S13). This table data is handled as an index texture in the index color / texture mapping.

次に、フレームバッファ(表示画面)の1/2サイズのワークバッファ(縮小バッファ)を用意し、そのワークバッファに画面全体(元画像)を縮小コピーする(ステップS14)。   Next, a work buffer (reduction buffer) having a size half that of the frame buffer (display screen) is prepared, and the entire screen (original image) is reduced and copied to the work buffer (step S14).

次に、ワークバッファに縮小コピーされた画面(ワーク画像)を16×16(ピクセル)のサイズのブロックに分割し、各分割ブロックを、ブロック内の相対的位置によってインデックス化された256個のカラールックアップテーブル(CLUT)とみなして、インデックスカラー・テクスチャマッピング用のカラールックアップテーブルとして設定する(ステップS15)。   Next, the screen (work image) reduced and copied to the work buffer is divided into blocks each having a size of 16 × 16 (pixels), and each divided block is divided into 256 colors indexed by relative positions in the block. It is regarded as a lookup table (CLUT) and is set as a color lookup table for index color / texture mapping (step S15).

次に、ピクセルの位置座標をずらすテーブルデータを256色のインデックステクスチャとみなして、各分割ブロックに対応する位置にインデックステクスチャを、ステップS15で設定されたカラールックアップテーブルを参照しながらテクスチャマッピングしたポリゴン(仮想オブジェクト)を描画する(ステップS16)。これによりワークバッファにフィルタ画像が作成される。   Next, the table data for shifting the pixel position coordinates is regarded as an index texture of 256 colors, and the index texture is mapped to the position corresponding to each divided block while referring to the color lookup table set in step S15. A polygon (virtual object) is drawn (step S16). As a result, a filter image is created in the work buffer.

次にピクセル入れ替え処理の済んだ画像(フィルタ画像)を格納するワークバッファをフレームバッファのサイズに拡大してフレームバッファに書き込む(ステップS17)。このときαテストを用いて、α値ビット列の最上位ビットの状態を判定して、α値がα1(例えば128)以上のピクセルにだけワークバッファに格納された画像を拡大した画像のピクセルを半透明描画によりフレームバッファの元画像に合成する。   Next, the work buffer for storing the image (filter image) subjected to the pixel replacement process is enlarged to the size of the frame buffer and written to the frame buffer (step S17). At this time, the α test is used to determine the state of the most significant bit of the α value bit string, and the pixels of the image obtained by enlarging the image stored in the work buffer only to pixels having an α value of α1 (for example, 128) or more are half. Combine with the original image of the frame buffer by transparent drawing.

4.ハードウェア構成
図8に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
4). Hardware Configuration FIG. 8 shows an example of a hardware configuration capable of realizing this embodiment. The main processor 900 operates based on a program stored in a DVD 982 (information storage medium, which may be a CD), a program downloaded via the communication interface 990, a program stored in the ROM 950, or the like. Perform processing, sound processing, etc. 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 the 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 (vertex data and other parameters) to the drawing processor 910 and, if necessary, the texture to the texture storage unit 924. Forward. 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転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース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 DVD drive 980 (may be a CD drive) accesses a DVD 982 (may be a CD) 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 cited as broad or synonymous terms in the description in the specification or drawings can be replaced with broad or synonymous terms in other descriptions in the specification or drawings. Further, the glare filter method, the soft focus method, the fluctuation filter method, and the like are not limited to those described in the present embodiment, and methods equivalent to these are also included in the scope of the present invention.

また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   The present invention can also be applied to various games (such as fighting games, shooting games, robot fighting games, sports games, competitive games, role playing games, music playing games, dance games, etc.). 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 functional block diagram of the image generation system of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の具体的な処理例を示すフローチャート。The flowchart which shows the specific process example of this embodiment. 本実施形態の具体的な処理例を示すフローチャート。The flowchart which shows the specific process example of this embodiment. ハードウェア構成例。Hardware configuration example.

符号の説明Explanation of symbols

100 処理部、
110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、
120 描画部、122 ジオメトリ処理部、124 フィルタ処理部、
130 音生成部、160 操作部、170 記憶部、
171 主記憶部、172 描画バッファ、173 テクスチャ記憶部、
174 Zバッファ、175 LUT記憶部、176 オブジェクトデータ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部
100 processing unit,
110 Object space setting unit, 112 Movement / motion processing unit,
114 virtual camera control unit,
120 drawing units, 122 geometry processing units, 124 filter processing units,
130 sound generation unit, 160 operation unit, 170 storage unit,
171 main storage unit, 172 drawing buffer, 173 texture storage unit,
174 Z buffer, 175 LUT storage unit, 176 Object data storage unit,
180 information storage medium, 190 display unit, 192 sound output unit,
194 Portable information storage device, 196 communication unit

Claims (3)

オブジェクト空間における所与の視点から見た画像を生成するためのプログラムであって、
オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、
前記ジオメトリ処理されたオブジェクトを描画した元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うフィルタ処理部として、
コンピュータを機能させ、
前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、
前記フィルタ処理部が、
前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に対して第1のフィルタ処理及び第2のフィルタ処理の少なくとも一方を行い、
第1のフィルタ処理を行う場合には、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて第1のフィルタ画像を生成し、前記元画像と前記第1のフィルタ画像とを合成する処理を行い、
第2のフィルタ処理を行う場合には、前記元画像をコピーしたワーク画像に基づいて第2のフィルタ画像を生成し、前記第2のフィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に合成する処理を行うことを特徴とするプログラム。
A program for generating an image viewed from a given viewpoint in an object space,
A geometry processing unit that performs geometry processing on objects;
As a filter processing unit that generates a filter image corresponding to an original image on which the geometry-processed object is drawn, and performs a filter process for synthesizing the original image and the filter image,
Make the computer work,
In the original image, the filtering target object is drawn with a different α value from other objects,
The filter processing unit
Performing at least one of the first filter processing and the second filter processing on the original image using the α value set in the α plane of the original image as mask information,
When performing the first filter processing, a work image is generated by copying only the drawing area of the object to be filtered among the original image using the α value set in the α plane of the original image as mask information. , Generating a first filter image based on the work image, and performing a process of combining the original image and the first filter image,
When performing the second filter processing, a second filter image is generated based on a work image obtained by copying the original image, and only the drawing region of the filter processing target object is included in the second filter image. A program for performing processing for combining an α value set in an α plane of the original image as mask information with the original image.
コンピュータにより読取可能な情報記憶媒体であって、請求項に記載のプログラムを記憶することを特徴とする情報記憶媒体。 An information storage medium readable by a computer, wherein the program according to claim 1 is stored. オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、
オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、
前記ジオメトリ処理されたオブジェクトを描画した元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うフィルタ処理部と、
を含み、
前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、
前記フィルタ処理部が、
前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に対して第1のフィルタ処理及び第2のフィルタ処理の少なくとも一方を行い、
第1のフィルタ処理を行う場合には、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて第1のフィルタ画像を生成し、前記元画像と前記第1のフィルタ画像とを合成する処理を行い、
第2のフィルタ処理を行う場合には、前記元画像をコピーしたワーク画像に基づいて第2のフィルタ画像を生成し、前記第2のフィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に合成する処理を行うことを特徴とする画像生成システム。
An image generation system for generating an image viewed from a given viewpoint in an object space,
A geometry processing unit that performs geometry processing on objects;
A filter processing unit that generates a filter image corresponding to the original image on which the geometry-processed object is drawn, and performs a filter process for combining the original image and the filter image;
Including
In the original image, the filtering target object is drawn with a different α value from other objects,
The filter processing unit
Performing at least one of the first filter processing and the second filter processing on the original image using the α value set in the α plane of the original image as mask information,
When performing the first filter processing, a work image is generated by copying only the drawing area of the object to be filtered among the original image using the α value set in the α plane of the original image as mask information. , Generating a first filter image based on the work image, and performing a process of combining the original image and the first filter image,
When performing the second filter processing, a second filter image is generated based on a work image obtained by copying the original image, and only the drawing region of the filter processing target object is included in the second filter image. An image generation system for performing processing for combining an α value set in an α plane of the original image with the original image as mask information.
JP2005142820A 2005-05-16 2005-05-16 Program, information storage medium, and image generation system Active JP4632855B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005142820A JP4632855B2 (en) 2005-05-16 2005-05-16 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005142820A JP4632855B2 (en) 2005-05-16 2005-05-16 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2006318387A JP2006318387A (en) 2006-11-24
JP4632855B2 true JP4632855B2 (en) 2011-02-16

Family

ID=37538980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005142820A Active JP4632855B2 (en) 2005-05-16 2005-05-16 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP4632855B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6247456B2 (en) * 2013-05-28 2017-12-13 アルパイン株式会社 Navigation device and map drawing method
CN105233498B (en) * 2015-09-23 2019-02-19 网易(杭州)网络有限公司 Game role colouring method, device, user terminal and game system
CN115937003A (en) * 2022-11-02 2023-04-07 深圳市新良田科技股份有限公司 Image processing method, image processing device, terminal equipment and readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001224844A (en) * 2000-02-17 2001-08-21 Namco Ltd Game system and information storage medium
JP2001314396A (en) * 1999-12-30 2001-11-13 General Electric Co <Ge> Extended dynamic range system for digital x-ray imaging detector
JP2001319244A (en) * 2000-05-10 2001-11-16 Namco Ltd Game system and information storage medium
JP2002032780A (en) * 2000-05-10 2002-01-31 Namco Ltd Game system, program and information storage medium
JP2002092637A (en) * 2000-09-19 2002-03-29 Namco Ltd Game system and information storage medium
JP2002197486A (en) * 2000-12-22 2002-07-12 Square Co Ltd Video game machine, its control method, video game program and computer-readable recording medium with the program recorded thereon

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001314396A (en) * 1999-12-30 2001-11-13 General Electric Co <Ge> Extended dynamic range system for digital x-ray imaging detector
JP2001224844A (en) * 2000-02-17 2001-08-21 Namco Ltd Game system and information storage medium
JP2001319244A (en) * 2000-05-10 2001-11-16 Namco Ltd Game system and information storage medium
JP2002032780A (en) * 2000-05-10 2002-01-31 Namco Ltd Game system, program and information storage medium
JP3467259B2 (en) * 2000-05-10 2003-11-17 株式会社ナムコ GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP2002092637A (en) * 2000-09-19 2002-03-29 Namco Ltd Game system and information storage medium
JP2002197486A (en) * 2000-12-22 2002-07-12 Square Co Ltd Video game machine, its control method, video game program and computer-readable recording medium with the program recorded thereon

Also Published As

Publication number Publication date
JP2006318387A (en) 2006-11-24

Similar Documents

Publication Publication Date Title
JP2006318389A (en) Program, information storage medium, and image generation system
US7479961B2 (en) Program, information storage medium, and image generation system
JP4804120B2 (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
JP2006318388A (en) Program, information storage medium, and image forming system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP3280355B2 (en) Image generation system and information storage medium
JP4502678B2 (en) Program, information storage medium, and image generation system
JP4632855B2 (en) Program, information storage medium, and image generation system
JP2006252426A (en) Program, information storage medium, and image generation system
JP2009129167A (en) Program, information storage medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP2006011539A (en) Program, information storage medium, and image generating system
JP2010055131A (en) Program, information storage medium, and image generation system
JP2006268103A (en) Program, information storage medium, model data structure, and image generation system
JP4229317B2 (en) Image generation system, program, and information storage medium
JP2006318196A (en) Program, information storage medium and image generation system
JP4680670B2 (en) Program, information storage medium, and image generation system
JP2008077406A (en) Image generation system, program, and information storage medium
JP4476040B2 (en) Program, information storage medium, and image generation system
JP4521811B2 (en) Program, information storage medium, and image generation system
JP2006277488A (en) Program, information storage medium and image generation system
JP2010033302A (en) Image generation system, program and information storage medium
JP2006252427A (en) Program, information storage medium and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4632855

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250