WO1999054847A1 - Three-dimensional image processor - Google Patents

Three-dimensional image processor Download PDF

Info

Publication number
WO1999054847A1
WO1999054847A1 PCT/JP1998/001771 JP9801771W WO9954847A1 WO 1999054847 A1 WO1999054847 A1 WO 1999054847A1 JP 9801771 W JP9801771 W JP 9801771W WO 9954847 A1 WO9954847 A1 WO 9954847A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
alpha
processing
pattern
alpha blend
Prior art date
Application number
PCT/JP1998/001771
Other languages
French (fr)
Japanese (ja)
Inventor
Masahiro Shiraishi
Takatoshi Ueno
Kazunori Oniki
Original Assignee
Hitachi, Ltd.
Hitachi Process Computer Engineering, 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 Hitachi, Ltd., Hitachi Process Computer Engineering, Inc. filed Critical Hitachi, Ltd.
Priority to KR1020007001524A priority Critical patent/KR20010022919A/en
Priority to PCT/JP1998/001771 priority patent/WO1999054847A1/en
Publication of WO1999054847A1 publication Critical patent/WO1999054847A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering

Definitions

  • the present invention relates to a three-dimensional image processing apparatus that performs high-quality image display by anti-aliasing processing.
  • the anti-aliasing process is performed by drawing the same figure a plurality of times with the coordinates shifted, synthesizing all luminances, dividing the luminance by the number of times of synthesizing at the time of display, and setting the display luminance.
  • a technique for performing the above is disclosed. This method requires a processing time corresponding to the number of times of synthesis.
  • Japanese Patent Application Publication No. 5-507372 discloses a technique in which a figure is drawn in units of sub-pixels, and the luminance of the sub-pixels included in one pixel is mixed for display in displaying. ing.
  • An object of the present invention is to realize high-speed processing equivalent to the anti-aliasing processing of the precedent, including alpha blending processing, with a small number of storage devices. Disclosure of the invention
  • a device for storing luminance and depth information is provided for each subpixel, but is not suitable for performing anti-aliasing processing with a small number of storage devices. Therefore, in the present invention, information such as brightness and depth is stored in units of one pixel, and in sub-pixel units, only whether or not they are included in the figure area to be drawn is stored as an occupation pattern. Yes.
  • the anti-aliasing process is achieved by calculating the ratio between the region of the foreground graphic and the region of the background based on the occupation pattern, and blending the luminance of the foreground graphic and the luminance of the background with the ratio.
  • an unchained process including an alpha blend is achieved by blending with the brightness of the alpha blend process J instead of the brightness of the background.
  • the luminance of pixels constituting the figure, the depth of the drawing pixel, and the occupation pattern of the drawing pixel are calculated.
  • a comparison is made between the depth of the total occupied depth storage device using the z-buffer having the same coordinates as the drawing pixel and the depth of the drawing pixel. If the depth of the drawing pixel is deeper, the drawing of that pixel is performed. To stop.
  • the luminance of the drawing pixel and the luminance of the same coordinate as the drawing pixel are determined by the ratio of the figure area between the occupation pattern of the drawing pixel and the occupation pattern of the occupation pattern storage device having the same coordinates as the drawing pixel.
  • Storage device Of the frame buffer and the brightness of the frame buffer at the same coordinates as the drawing pixel and store the result in the frame buffer again.
  • the brightness of the drawing pixel is the figure brightness before the alpha blending process
  • the brightness of the brightness storage device at the same coordinates as the drawing pixel is not after the alpha blending process or the alpha blending process.
  • the brightness of the drawing pixel, the brightness of the brightness storage device at the same coordinates as the drawing pixel, and the brightness of the frame buffer at the same coordinates as the drawing pixel are pre-rendered.
  • the alpha blending is performed using the brightness of the drawing pixel and the brightness of the background color before the alpha blending process. And performing a blending process for anti-aliasing using the result of the alpha blending process and the brightness of the brightness storage device.
  • the drawing pixel has the alpha blending process, the fact is stored in the alpha blending process flag, and the background color before the alpha blending process is stored.
  • FIG. 1 is a block diagram showing the overall configuration of the hardware of the present embodiment.
  • FIG. 2 is a diagram showing a detailed block diagram of a rendering processor
  • FIG. 3 is a diagram showing a configuration of an image memory.
  • FIG. 4 is a diagram illustrating selection of a process of a pixel information calculation unit.
  • FIG. 5 is a diagram showing a detailed flow of the alpha blend operation section. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows an overall block diagram of the hardware according to the present embodiment.
  • the overall movement of this hardware is as follows: the CPU 100 that calculates the vertex coordinates of the figure to be drawn, the vertex brightness, and the vertex depth and issues them to the rendering processor 200, and the vertex coordinates sent from the CPU 100
  • Pixel information calculation unit 210 that calculates, as pixel information, the coordinates of the pixels constituting the figure, the brightness, the depth of the drawing pixel, and the occupation pattern of the drawing pixel, from the vertex luminance and the vertex depth
  • An alpha blending operation unit 220 that performs an operation for an alpha blend process from the pixel information thus obtained, and a pixel comparison operation unit that calculates a luminance for displaying from the processing result of the alpha blend operation unit 220
  • a rendering processor 200 comprising a pixel processor 230; an image memory 300 used for calculating the luminance and storing a luminance for display; and a frame buffer of the image memory 300.
  • the CRT 500 comprises
  • FIG. 3 shows a configuration diagram of the image memory 300.
  • the image memory 300 has a frame buffer 310 that stores the luminance of each pixel displayed on the CRT 500, and the depth of the pixel that is the foremost occupation pattern until 100% of the sub-pixels are covered (total occupancy).
  • a depth buffer ), an occupancy pattern storage device 330 for storing the occupation pattern of the foremost pixel, a luminance storage device 340 for storing the luminance of the foremost pixel, Non-Alpha Blended Background Color Storage Device 350 that stores the depth of the foreground pixel, and Alpha Blend Pixel Flag Storage Device 3 6 that stores whether the alpha blending process has been performed on the foremost pixel. Consists of 0.
  • the outgoing / non-alpha blend background color storage device 350 stores not the depth of the foreground pixel but the background color (non-alpha blend background color) of the pixel before the alpha blend processing is performed.
  • each memory pixel has 24 bits
  • the Z buffer 320 has 24 bits
  • the occupied pattern storage device 330 has 16 bits
  • the luminance information storage device 3 40 is 24 bits
  • depth Z not alpha blended background color storage device 350 is 24 bits
  • alpha-blended pixel flag storage device 360 is 1 bit.
  • It consists of a luminance R component of the 23rd to 16th bits, a G component of the 15th to 8th bits, and a B component of the 7th to 0th bits.
  • 33 0 is a 16-bit occupation pattern of information of 16 sub-pixels included in one pixel, and is associated with bit number 25 in the sub-pixel. Is stored.
  • FIG. 2 shows the configuration of the rendering processor 200
  • FIG. 5 shows the flow of processing in the alpha blend processing unit 225.
  • the CPU 100 issues vertex coordinates, vertex depth, and vertex brightness of a figure (in this embodiment, a triangle which is a general polygon), It is passed to the pixel information calculation unit 10 of the rendering processor 200.
  • the pixel information calculation unit 210 interpolates the X values of the pixels between the vertices in units of 14 pixels in the Y coordinate direction based on the received information on the vertices of the figure, and interpolates each pixel constituting the figure. Is expanded into 4x4 sub-pixels, and the figure area is calculated in sub-pixel units.
  • the center point of the subpixel is set to '0' for the subpixel included in the figure, '1' otherwise, and the value for each subpixel in one pixel is calculated.
  • This is passed to the alpha blend operation unit 220 as a 16-bit occupation pattern.
  • the brightness and the depth of the pixel having the same coordinates as the pixel developed into the sub-pixel are transferred to the alpha Mother calculation unit 220.
  • the read information of each memory in the image memory 300 will be described as information of a memory having the same coordinates as a pixel to be drawn.
  • the alpha blend operation unit 220 determines whether or not to perform alpha blend processing on the pixel to be drawn.
  • the CPU 100 determines whether the alpha blending process is enabled (enabled) or disabled (not enabled). (Not shown) is set and checked by checking this register.
  • the pixel I to be rendered is used as the rendering pixel luminance IA output from the alpha blending calculation unit 220, and the luminance I from the pixel information calculation unit 210 is used as it is.
  • Hand over (1001).
  • the alpha blending process is performed on the pixel to be rendered, whether or not the most recently rendered image has been rendered after the alpha blending process has been performed is determined by the alpha-blended pixel flag storage device 360. Judgment is made based on the content AB (2 2 3), and this judgment result is set as A2.
  • Alpha blended pixel flag storage device 360 0 When AB power is '0', it is judged that the foremost pixel that has already been drawn has been drawn without performing alpha blending.
  • the R, G, and B values of the already rendered colors stored in the frame buffer 310 are used as the background color for the alpha blending process. Then, the alpha blend with the pixel to be drawn is calculated. So After that, the calculated alpha blend result is output as the drawing pixel luminance I ⁇ output from the alpha blend operation unit 220 (1002).
  • the foremost pixel that has already been rendered is determined to have been rendered after performing alpha blend processing, and rendered. It is necessary to change the alpha blend processing method depending on whether the pixel to be processed is the edge of the figure area (polygon). This is because the anti-aliasing process is not performed if the pixel to be drawn is not an edge, so the color already drawn as the background color of the alpha blend (frame buffer 310 Information) can be used.
  • the pixel to be drawn is an edge
  • anti-aliasing may be performed.
  • the edge of the polygon is replaced by the previous polygon.
  • alpha blending is also performed for the foreground pixel that has already been drawn. Therefore, if the already drawn color is used as the background color of the alpha blend of the pixel of the edge to be drawn, the result of performing alpha blending twice for the pixel of the same coordinates will result. For this reason, the background color of the alpha blend of the pixel to be drawn is already drawn: ⁇ must also use the background color of the previous pixel before the alpha blend processing is performed.
  • the frame buffer 3 shown as the background color of the alpha blending processing for the pixels to be drawn from now on Use 10 colors (1002).
  • the non-alpha blend is used as the background color of the alpha blend of the pixel to be drawn, as described above.
  • the background colors R, G, and B stored in the background color storage device 350 before the alpha blending process is performed on the foremost pixel that has already been drawn are used (1003).
  • the calculated alpha blend result is output as the drawing pixel luminance IA output from the alpha blend operation unit 220 (1002).
  • the pixel comparison calculation unit 230 compares the depth Z of the drawing pixel calculated by the pixel information calculation unit 210 with the depth information ZB of the Z buffer 320 and sets the comparison result to C 0 .
  • the content AB of the alpha blended pixel flag storage device 360 is set to 1 when the content AB is set to '1'. (2 2 3) A2.
  • the alpha blending flag of the rendering image is “1” (2 24).
  • a logical OR is performed on a bit-by-bit basis with the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330, and this is defined as C1.
  • the result of the bitwise OR of these two occupied patterns is all bit power '1'.
  • the result of the bitwise OR of these two occupation patterns indicates that the bit of the overlapped portion is '0'. That is, by performing a bit-wise logical OR of the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330, it is determined whether or not the drawing pixel overlaps the figure area portion of the foremost pixel. Can be determined.
  • the result of comparing the depth Z of the drawing pixel with the depth ZB of the depth storage device 350 is defined as C 3, and the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330 are defined as C 3. Then, it is determined whether or not the result of this bit-wise logical AND of all 16 bits becomes “0”, and this is defined as C 4. If this C4 is true, that is, the result of the bitwise AND operation, and all the 16 bits become “0”, the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330 will be 2 With one occupation pattern, all subpixels at the drawing position are covered.
  • the pixel comparison operation unit 236 Based on the above determination results A2, A3, C0, C1, C3, C4, and C5 signals, the pixel comparison operation unit 236 performs processing 1 according to the table shown in FIG. Perform steps 4 to 24.
  • C 3 is true (If the pixel to be drawn is near or equal to this), if C4 is true, perform processing 1 ⁇ (the following processing H, I, E, F, G), and if C4 is false If all 16 bits of the bit unit logic between the occupation pattern P of the drawing pixel and the occupation pattern storage device 330 are not set to '0', the processing 18 (the following processing) G, I, I, E, F).
  • processing 19 (processing J below) is performed regardless of the results of C1 and C4.
  • processing 20 (the following processing A, C, E, and F) is performed regardless of the results of C1, C3, and C4.
  • processing A, C, E, and F is performed regardless of the results of C1, C3, and C4.
  • the depth of the pixel Non-judgment force This is because the foremost pixel that has already been drawn has an alpha blend, and the depth for the drawn pixel is not stored in the case of alpha blending. The reason can be explained by the following example. Consider the example of drawing a transparent glass cup. Since the cup is transparent, it will be drawn with alpha blend.
  • the result of C1 indicates whether the occupation pattern of the pixel in front and the pixel to be drawn overlap each other as a result of C1 (by the bitwise logical OR of the occupation pattern of the drawing pixel and the occupation pattern of the occupation pattern storage device 330, All six bits are determined by the force '1'.
  • processing 23 processing H, I, E, and F below. At this time, since the foreground pixel already drawn has an alpha blend, the determination of C4 is unnecessary as in the case of performing the processing 20.
  • each memory in the image memory 300 that has not been updated stores the information before drawing the drawing pixel as it is.
  • Processing A calculates the luminance to be stored in the frame buffer 310 when the depth Z of the drawing image is closer or equal to the depth ZB 3 23 read from the depth storage device 350. This is the processing to be performed.
  • the occupation pattern (drawing area) of the drawing pixel that comes to the foreground as viewed from the viewpoint direction and the occupation pattern storage device 330 already stored in the occupation pattern storage device 330 corresponding to the second pixel from the front side
  • the luminance and luminance of the drawing pixel for each RGB component according to the ratio of the foreground occupation pattern (drawing area) PB that has been drawn and the sub-pixels of the drawing pixels that are not covered by these two occupation patterns corresponding to the background. Weighting and mixing are performed with the ratio of subpixels that occupy the luminance of the storage device and the luminance of the frame buffer.
  • the occupation pattern of the drawing pixel P The occupation pattern of the drawing pixel P is not covered by PB: The ratio of subpixels not covered by P and PB is mixed. And newly stored in the frame buffer 310.
  • the ratio of the pixels already drawn corresponding to the background is the part that is not included in the two occupation patterns of the drawing pixels corresponding to the second ⁇ coordinate from the front and the front, and the brightness is not known. Approximate by the luminance read from buffer 310.
  • Processing ⁇ is based on the assumption that the pixel to be rendered is located second from the front among the pixels that have been rendered before, and from the depth 3 24 read from the depth storage device 350
  • the pixel depth 85 is a process for calculating the luminance to be stored in the frame buffer 310 when the depth is 85.
  • the occupation pattern PB stored in the occupation pattern storage device 330 is located at the foreground when viewed from the viewpoint direction.
  • Occupation pattern stored in device 330 Occupation pattern of drawing image not covered by PB-P: Occupied pattern storage device PB stored in device 330 PB: Subpixel not covered by P, PB Is the ratio of
  • the depth Z of the drawing pixel is stored in the depth Z unalphabed background color storage device 350. Store and update the depth of the foreground pixel.
  • the processing D is performed by using the occupation pattern P of the drawing pixel and the occupation pattern of the foremost pixel that has been previously drawn and stored in the occupation pattern storage device 330.
  • PB and PB are continuous
  • these two occupation patterns are combined by ANDing them to form a mutual graphic area (the area of '0'). ) Are combined to update the content PB of the occupation pattern storage device 330 as one occupation pattern.
  • the processing E is performed when the drawing pixel is equal to or shorter than the depth of the foremost pixel so far, and the occupied pattern of the foremost pixel stored in the occupied pattern storage device 330 is This is a process for updating the pattern with the pattern occupied by the drawing pixel.
  • the processing F is to calculate the luminance of the nearest pixel stored so far in the luminance storage device 340 when the depth of the drawing pixel is closer to or equal to the depth of the depth storage device 350. This is a process of updating with the brightness of the drawing pixel.
  • Processing G is that if two pixels, the drawing pixel and the foremost pixel that has been previously drawn, cover 100% of the pixel, the G that has been drawn so far, that is, Even if there is a pixel to be drawn further behind the two pixels of the foremost pixel that has been drawn, since that pixel is not visible from the viewpoint direction, the depth of the foremost pixel that has been previously drawn is The occupation pattern of 100% is the process of writing the depth of the image in front into the Z buffer 320 that performs ILU.
  • the brightness of the sub-pixel not covered by the foreground and the second occupied pattern as the background color is not the value of the frame buffer, but the value of the pixel Background color used for process M or process N) in alpha blend processing section 2 25 in 0, that is, frame buffer 13.
  • the background color of the non-alpha blend of the pixel to be drawn that is, This is a process of storing the luminance of the frame buffer 310 in the non-alpha blend background color storage device 350.
  • the processing J is a processing performed on the assumption that the drawing pixel is located second from the front among the pixels that previously performed the drawing, and the depth ZB read out from the depth storage device 350. This is a process of calculating the luminance to be stored in the frame buffer 310 when the depth Z of the drawing pixel is deeper than 3 2 4.
  • the background color used by the alpha blend processing unit 225 in the alpha blend calculation unit 220 is used instead of the frame buffer value as the background color.
  • the difference from the processing H is that the pixel to be drawn is regarded as the second from the front. Therefore, Z buffer (because depth is not considered in alpha blending) and PB, IB, and ZB are not updated.
  • the anti-aliasing process can be performed by performing the above processing for all the pixels constituting the figure.
  • the depth storage device and the non-alpha blend back-color storage device are shared (350). This is because alpha blend processing can be realized without memorizing the depth of the pixel as described above.
  • a depth storage device that stores only the depth is stored in the depth blending device, and a non-alpha blend background that stores only the depth of the unblended background color is stored.
  • ⁇ ⁇ [I can solve it by dividing into two. In this case, in order to determine the background color of the alpha blend in the alpha blend operation unit 220, means for selecting the frame buffer 310 or a non-alpha blend background color storage device is required.
  • anti-aliasing including alpha blending can be performed at a high speed because it can be performed by one drawing, and luminance is calculated by using the foreground occupation pattern held in units of one pixel. Less ⁇

Abstract

A three-dimensional image processor for performing antialias processing including alpha-blend by using a little capacity of memory in a short processing time. The processor comprises a means for calculating an occupation pattern for every pixel, a means for storing occupation patterns, a means for storing the luminance of the pixel nearest to the viewer, a means for storing the depth to the nearest pixel from the viewer among pixels whose occupation patterns are 100 %, a means for calculating information to be stored in a memory from information on every pixel and information from the memory, a means for indicating the alpha-blending effectiveness of pixels of the image drawn, a means for storing the state of the alpha-blending effectiveness indicating means, a means for storing un-alpha-blending background colors, a means for storing un-alpha-blending background colors, and a means for selecting alpha-blending background colors. Since the antialias processing including alpha-blending can be performed by drawing an image in a one-pass way, the processing speed is high. Further since the memory capacity necessary for one pixel is less than that of conventional methods, the antialias processing can be realized at a low cost.

Description

明 細 書  Specification
3次元画像処理装置 技術分野  3D image processing equipment
本発明は、 アンチエイ リァス処理によリ高品位な画像表示を行う 3次 元画像処理装置に関する。  The present invention relates to a three-dimensional image processing apparatus that performs high-quality image display by anti-aliasing processing.
F¾ 、技 νΙϊ F¾, technique νΙϊ
図形をラスタ一スキャンディスプレイなどの表示装置に表示させると、 図形の斜めの辺がぎざぎざになる。 これは表示装置を構成する画素が、 図形の領域に含まれるか否かにより、 その画素を図形の輝度で表示する か、 または図形の枠外の背景の輝度で表示するかを決定するために起こ る現象である。 この現象を解決するために、 図形の領域が、 画素に対し てどれだけ含まれているかで、 図形の輝度と、 背景の輝度をブレン ドす る方法が取られてきた。  When a graphic is displayed on a display device such as a raster-scan display, diagonal sides of the graphic are jagged. This occurs to determine whether to display the pixel with the luminance of the graphic or the luminance of the background outside the frame of the graphic, depending on whether or not the pixel constituting the display device is included in the graphic area. Is a phenomenon. To solve this phenomenon, a method has been used in which the brightness of the figure and the brightness of the background are blended based on how much the area of the figure is included for each pixel.
特開平 4一 233086 号公報では、 同一図形を複数回座標をずらして描画 し、 全ての輝度を合成し、 表示の際に合成した回数で輝度で割り、 表示 の輝度とすることでアンチエイ リァス処理を行う技術が開示されている。 この方式は合成の回数分だけ処理時間がかかる。  In Japanese Patent Application Laid-Open No. Hei 4-123086, the anti-aliasing process is performed by drawing the same figure a plurality of times with the coordinates shifted, synthesizing all luminances, dividing the luminance by the number of times of synthesizing at the time of display, and setting the display luminance. A technique for performing the above is disclosed. This method requires a processing time corresponding to the number of times of synthesis.
また、 特表平 5— 507372号公報では、 各サブピクセル単位で図形の描 画を行い、 表示の際に 1画素に含まれるサブピクセルの輝度を混合して 表示する輝度とする技術が開示されている。  In addition, Japanese Patent Application Publication No. 5-507372 discloses a technique in which a figure is drawn in units of sub-pixels, and the luminance of the sub-pixels included in one pixel is mixed for display in displaying. ing.
従来の例では、 記憶装置が多く必要なため、 コス トがかかる、 という 問題点があった。 また、 アンチエイ リアス処理と一緒にアルファプレン ド処理を行う点に関しては、 上記従来例では考慮されていなかった。 本発明の目的は、 少ない記憶装置で、 アルファブレンド処理を含めた 前例のアンチエイ リァス処理と同等の処理を高速に実現することにある。 発明の開示 In the conventional example, there is a problem that the cost is increased because many storage devices are required. In addition, the fact that the alpha blend processing is performed together with the anti-aliasing processing has not been considered in the above conventional example. An object of the present invention is to realize high-speed processing equivalent to the anti-aliasing processing of the precedent, including alpha blending processing, with a small number of storage devices. Disclosure of the invention
従来の例では、 サブピクセル単位に、 輝度と奥行き情報を記憶する装 置を設けていたが、 少ない記憶装置でアンチエイ リァス処理を行うには 適さない。 そこで本発明では、 輝度や、 奥行きなどの情報は 1 画素単位 で記憶し、 サブピクセル単位では、 描画する図形領域に含まれるか否か のみを、 占有パターンとして記憶するため、 記憶装置は少なくてすむ。 占有パターンにより、 最も手前の図形の領域と、 背景の領域の割合を算 出し、 該割合で最も手前の図形の輝度と、 背景の輝度をブレン ドするこ とにより、 アンチエイ リアス処理を達成する。  In the conventional example, a device for storing luminance and depth information is provided for each subpixel, but is not suitable for performing anti-aliasing processing with a small number of storage devices. Therefore, in the present invention, information such as brightness and depth is stored in units of one pixel, and in sub-pixel units, only whether or not they are included in the figure area to be drawn is stored as an occupation pattern. Yes. The anti-aliasing process is achieved by calculating the ratio between the region of the foreground graphic and the region of the background based on the occupation pattern, and blending the luminance of the foreground graphic and the luminance of the background with the ratio.
この際、 背景の輝度が既にアルフアブレン ド処理されているかどう力、 調べ、 さらに最も手前の図形の輝度についてもアルフアブレン ド処理有 りであるか調べ、 共にアルファブレン ド処理有りである場合、 該アンチ エイ リアス処理において、 背景の輝度ではなく、 該輝度のアルファブレ ン ド処理 Jの背^輝度でブレン ドすることにより、 アルファブレン ドを 含むアンチェイ リァス処理を達成する。  At this time, check whether the brightness of the background has already been alpha-blended, and check whether the brightness of the foreground figure is also alpha-blended, and if both have alpha-blended processing, In the anti-aliasing process, an unchained process including an alpha blend is achieved by blending with the brightness of the alpha blend process J instead of the brightness of the background.
図形を描画する際に、 図形を構成する画素の輝度と、 該描画画素の奥 行きと、 該描画画素の占有パターンを算出する。 最初に、 該描画画素と 同座標の zバッファによる全占有奥行き記憶装置の奥行きと、 該描画画 素の奥行きとで比較を行い、 該描画画素の奥行きの方が奥であればその 画素の描画を中止する。 そして、 該描画画素の占有パターンと、 該描画 画素と同座標の占有バタ一ン記憶装置の占有パターンとの、 図形領域の 割合により、 該描画画素の輝度と、 該描画画素と同座標の輝度記憶装置 の輝度と、 該描画画素と同座標のフ レームバッファの輝度とのブレン ド を行い、 再びフ レームバッファへ記憶する。 When drawing a figure, the luminance of pixels constituting the figure, the depth of the drawing pixel, and the occupation pattern of the drawing pixel are calculated. First, a comparison is made between the depth of the total occupied depth storage device using the z-buffer having the same coordinates as the drawing pixel and the depth of the drawing pixel. If the depth of the drawing pixel is deeper, the drawing of that pixel is performed. To stop. Then, the luminance of the drawing pixel and the luminance of the same coordinate as the drawing pixel are determined by the ratio of the figure area between the occupation pattern of the drawing pixel and the occupation pattern of the occupation pattern storage device having the same coordinates as the drawing pixel. Storage device Of the frame buffer and the brightness of the frame buffer at the same coordinates as the drawing pixel, and store the result in the frame buffer again.
尚、 この際の該描画画素の輝度は、 アルファブレン ド処理前の図形輝 度であり、 該描画画素と同座標の輝度記憶装置の輝度は、 アルファブレ ン ド処理後又はアルフアブレン ド処理しないそのままの図形輝度である < 該描画画素の輝度と、 該描画画素と同座標の輝度記憶装置の輝度と、 該描画画素と同座標のフレームバッファの輝度をプレン ドして、 アルフ アブレン ド処理及びアンチエイ リァス処理を実施する際、 該描画画素が アルファブレン ド処理有りであるかを判定し、 また、 輝度記憶装置に記 憶されている輝度がアルフアブレン ド処理有りであるかを判定し、 共に 判定結果がアルフアブレン ド処理有りであると判定された場合は、 該描 画画素の輝度とアルフアブレン ド処理前の背景色の輝度を用いてアルフ アブレン ド処理を実施し、 前記アルフアブレン ド処理結果と輝度記憶装 置の輝度を用いてアンチエイ リアスのためのプレン ド処理を実施する。 該描画画素がアルファプレン ド処理有りと判定された際、 その旨をァ ルフアブレン ド処理有りフラグに格納し、 さらにアルフアブレン ド処理 前の背景色を記憶する。 図面の簡単な説明  In this case, the brightness of the drawing pixel is the figure brightness before the alpha blending process, and the brightness of the brightness storage device at the same coordinates as the drawing pixel is not after the alpha blending process or the alpha blending process. The brightness of the drawing pixel, the brightness of the brightness storage device at the same coordinates as the drawing pixel, and the brightness of the frame buffer at the same coordinates as the drawing pixel are pre-rendered. When performing the anti-aliasing process, it is determined whether or not the drawing pixel has the alpha blending process, and whether the luminance stored in the luminance storage device has the alpha blending process is determined. If it is determined that the alpha blending process is performed, the alpha blending is performed using the brightness of the drawing pixel and the brightness of the background color before the alpha blending process. And performing a blending process for anti-aliasing using the result of the alpha blending process and the brightness of the brightness storage device. When it is determined that the drawing pixel has the alpha blending process, the fact is stored in the alpha blending process flag, and the background color before the alpha blending process is stored. BRIEF DESCRIPTION OF THE FIGURES
第 1 図は、 本実施例のハ一 ドウエアの全体構成を示すプロック図であ る。  FIG. 1 is a block diagram showing the overall configuration of the hardware of the present embodiment.
第 2図は、 レンダリングプロセッサの詳細ブロック図を示す図である, 第 3図は、 画像メモリの構成を示す図である。  FIG. 2 is a diagram showing a detailed block diagram of a rendering processor, and FIG. 3 is a diagram showing a configuration of an image memory.
第 4図は、 画素情報演算部の処理の選択を示す図である。  FIG. 4 is a diagram illustrating selection of a process of a pixel information calculation unit.
第 5図は、 アルファプレン ド演算部の詳細フロ一を示す図である。 発明を実施するための最良の形態 FIG. 5 is a diagram showing a detailed flow of the alpha blend operation section. BEST MODE FOR CARRYING OUT THE INVENTION
以下本発明の実施例を第 1 図〜第 5図を用いて説明する。  Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
本実施例に関わるハー ドウエアの全体ブロック図を第 1 図に示す。 このハー ドウェアの全体の動きは、 描画する図形の頂点座標と、 頂点 輝度と、 頂点奥行きとを算出してレンダリングプロセッサ 2 0 0へ発行 する CPU 100と、 CPU 1 00から送られてくる頂点座標と、 頂点輝度と、 頂点 奥行きから、 画素情報として、 図形を構成する画素の座標と描画画素の 輝度, 奥行き、 そして描画画素の占有パターンとを算出する画素情報算 出部 2 1 0と、 算出された画素情報から、 アルファブレン ド処理のため の演算を行うアルフアブレンド演算部 2 2 0と、 前記アルファブレン ド 演算部 2 2 0の処理結果から表示を行う輝度の算出を行う画素比較演算 部 2 3 0とを備えるレンダリングプロセッサ 2 0 0 と、 前記輝度算出時 に使用し、 また表示を行う輝度を記憶する画像メモリ 3 0 0と、 この画 像メモリ 3 0 0のフレームバッファ 3 1 0に記憶された表示輝度情報に 基づき表示を行う表示制御手段 4 0 0 と、 CRT500より構成される。  FIG. 1 shows an overall block diagram of the hardware according to the present embodiment. The overall movement of this hardware is as follows: the CPU 100 that calculates the vertex coordinates of the figure to be drawn, the vertex brightness, and the vertex depth and issues them to the rendering processor 200, and the vertex coordinates sent from the CPU 100 Pixel information calculation unit 210 that calculates, as pixel information, the coordinates of the pixels constituting the figure, the brightness, the depth of the drawing pixel, and the occupation pattern of the drawing pixel, from the vertex luminance and the vertex depth, An alpha blending operation unit 220 that performs an operation for an alpha blend process from the pixel information thus obtained, and a pixel comparison operation unit that calculates a luminance for displaying from the processing result of the alpha blend operation unit 220 A rendering processor 200 comprising a pixel processor 230; an image memory 300 used for calculating the luminance and storing a luminance for display; and a frame buffer of the image memory 300. The CRT 500 comprises a display control means 400 for performing display based on the display luminance information stored in the buffer 310.
画像メモリ 3 0 0の構成図を第 3図に示す。 画像メモリ 3 0 0は、 CRT500へ表示する画素毎の輝度を記憶するフレームバッファ 3 1 0と、 サブピクセルを 1 0 0 %覆い尽くすまでの最も手前の占有パターンとな る画素の奥行き (全占有奥行き記憶) を記憶する Zバッファ 3 2 0と、 最も手前の画素の占有パターンを記憶する占有パターン記憶装置 3 3 0 と、 最も手前の画素の輝度を記憶する輝度記憶装置 3 4 0と、 最も手前 の画素の奥行きを記憶する奥行きノ未アルフアブレン ド背景色記憶装置 3 5 0と、 最も手前の画素にアルフアブレン ド処理が行われたかどうか を記憶する、 アルファブレンド有り画素フラグ記憶装置 3 6 0より構成 される。 尚、 アルファブレンド処理を行った画素を描画する際には、 奥 行き/未アルファブレン ド背景色記憶装置 3 5 0には、 最も手前の画素 の奥行きではなく、 当該画素のアルフアブレン ド処理を行う前の背景色 (未アルファプレン ド背景色) を記憶する。 FIG. 3 shows a configuration diagram of the image memory 300. The image memory 300 has a frame buffer 310 that stores the luminance of each pixel displayed on the CRT 500, and the depth of the pixel that is the foremost occupation pattern until 100% of the sub-pixels are covered (total occupancy). A depth buffer), an occupancy pattern storage device 330 for storing the occupation pattern of the foremost pixel, a luminance storage device 340 for storing the luminance of the foremost pixel, Non-Alpha Blended Background Color Storage Device 350 that stores the depth of the foreground pixel, and Alpha Blend Pixel Flag Storage Device 3 6 that stores whether the alpha blending process has been performed on the foremost pixel. Consists of 0. When drawing a pixel that has been subjected to alpha blending, The outgoing / non-alpha blend background color storage device 350 stores not the depth of the foreground pixel but the background color (non-alpha blend background color) of the pixel before the alpha blend processing is performed.
各メモリの画素毎の構成は、 フレームバッファ 3 1 0は 2 4 ビッ ト、 Zバッファ 3 2 0は 2 4 ビッ ト、 占有パターン記憶装置 3 3 0は 1 6 ビ ッ 卜、 輝度情報記憶装置 3 4 0は 2 4 ビッ ト、 奥行き Z未アルファブレ ン ド背景色記憶装置 3 5 0は 2 4 ビッ ト、 アルフアブレン ド有り画素フ ラグ記憶装置 3 6 0は 1 ビッ トとする。 フレームバッファ 3 1 0と、 輝 度記憶装置 3 4 0と未アルフアブレン ド背景色記憶装置 3 5 0とは、 The configuration of each memory pixel is as follows: the frame buffer 310 has 24 bits, the Z buffer 320 has 24 bits, the occupied pattern storage device 330 has 16 bits, and the luminance information storage device 3 40 is 24 bits, depth Z not alpha blended background color storage device 350 is 24 bits, and alpha-blended pixel flag storage device 360 is 1 bit. The frame buffer 310, the luminosity storage device 340, and the non-alpha blend background color storage device 350
2 3〜 1 6 ビッ ト目の輝度 R成分、 1 5〜 8 ビッ ト目の輝度 G成分、 7 〜0ビッ 卜目の輝度 B成分から構成されている。 占有パターン記憶装置It consists of a luminance R component of the 23rd to 16th bits, a G component of the 15th to 8th bits, and a B component of the 7th to 0th bits. Occupancy pattern storage
3 3 0は 1 画素内に含まれる 1 6のサブピクセルの情報を 1 6 ビッ トの 占有パターンとして、 サブピクセル内のビッ 卜番号 2 5に対応させて、 占有バタ一ン記憶装置 3 3 0に記憶される。 33 0 is a 16-bit occupation pattern of information of 16 sub-pixels included in one pixel, and is associated with bit number 25 in the sub-pixel. Is stored.
レンダリングプロセッサ 2 0 0の構成を第 2図に、 またアルファブレ ン ド処理部 2 2 5における処理のフロ一を第 5図に示す。 本実施例のハ 一ドウエアの動作として、 まず CPU 1 00より図形 (本実施例では、 一般的 なポリゴンである 3角形であるものとする) の頂点座標, 頂点奥行き, 頂点輝度を発行し、 レンダリングプロセッサ 2 0 0の画素情報算出部 1 0へ受け渡す。 画素情報算出部 2 1 0は受け取った図形の頂点の情 報を元に、 頂点間の画素の X値を、 Y座標方向について 1 4画素単位 で区切って補間を行い、 図形を構成する各画素を 4 X 4のサブピクセル に展開し、 サブピクセル単位で図形領域を算出する。 次にサブピクセル の中心点が、 図形内に含まれたサブピクセルを ' 0 ' 、 含まれない場合 は ' 1 ' として、 ある 1画素内の全てのサブピクセル毎の値を算出し、 これを 1 6 ビッ 卜の占有パタ一ンとして、 アルフアブレン ド演算部 220 へ受け渡す。 同時に、 サブピクセルに展開した画素と同座標の画素の輝 度と奥行きとを、 アルファプレン ド演算部 2 2 0へ受け渡す。 以降、 特 に断りがない限り、 読み出した画像メモリ 3 0 0内の各メモリの情報は、 描画する画素と同座標のメモリの情報として説明を行う。 FIG. 2 shows the configuration of the rendering processor 200, and FIG. 5 shows the flow of processing in the alpha blend processing unit 225. As the operation of the hardware of this embodiment, first, the CPU 100 issues vertex coordinates, vertex depth, and vertex brightness of a figure (in this embodiment, a triangle which is a general polygon), It is passed to the pixel information calculation unit 10 of the rendering processor 200. The pixel information calculation unit 210 interpolates the X values of the pixels between the vertices in units of 14 pixels in the Y coordinate direction based on the received information on the vertices of the figure, and interpolates each pixel constituting the figure. Is expanded into 4x4 sub-pixels, and the figure area is calculated in sub-pixel units. Next, the center point of the subpixel is set to '0' for the subpixel included in the figure, '1' otherwise, and the value for each subpixel in one pixel is calculated. This is passed to the alpha blend operation unit 220 as a 16-bit occupation pattern. At the same time, the brightness and the depth of the pixel having the same coordinates as the pixel developed into the sub-pixel are transferred to the alpha prend calculation unit 220. Hereinafter, unless otherwise specified, the read information of each memory in the image memory 300 will be described as information of a memory having the same coordinates as a pixel to be drawn.
第 5図に示すように、 アルファブレン ド演算部 2 2 0は、 これから描 画する画素に対して、 アルファブレン ド処理を行うかどうかを判定し As shown in FIG. 5, the alpha blend operation unit 220 determines whether or not to perform alpha blend processing on the pixel to be drawn.
( 2 2 4 ) 、 この判定結果を A 3 とする。 アルフアブレン ド処理を行う かどうかの判定については、 アルファブレン ド処理を有効 (有り) にす る力、、 無効(無し)にするかを、 CPU100がアルファブレン ド演算部 2 2 0 のレジスタ (図示せず) に設定し、 このレジスタをチェックすることで 実施される。 (2 2 4), the result of this determination is referred to as A3. When determining whether or not to perform the alpha blending process, the CPU 100 determines whether the alpha blending process is enabled (enabled) or disabled (not enabled). (Not shown) is set and checked by checking this register.
アルフアブレン ド処理を行わない場合、 これから描画する画素につい ては、 本アルフアブレン ド演算部 2 2 0が出力する描画画素輝度 I Aと して、 画素情報算出部 2 1 0からの輝度 I をそのまま受け渡す (1001 ) 。 これから描画する画素についてアルフアブレン ド処理を行う場合、 既 に描画されている最も手 i¼の画尜がアルフアブレン ド処理を行ってから 描画されたかどうかを、 アルフアブレン ド有り画素フラグ記憶装置 360 の内容 A Bで判定し ( 2 2 3 ) 、 この判定結果を A 2 とする。 アルファ ブレン ド有り画素フラグ記憶装置 3 6 0の内容 A B力'、' ' 0 ' である時、 既に描画された最も手前の画素は、 アルフアブレン ド処理を行わずに描 画されたものと判断し、 これから描画する画素に対するアルファプレン ド処理においては、 アルファブレン ド処理の背景色として、 フレームバ ッファ 3 1 0に格納されている既に描画された色の R , G , Bの値を使 用して、 これから描画する画素とのアルファブレン ドの計算を行う。 そ の後、 アルフアブレン ド演算部 2 2 0の出力する描画画素輝度 I Αとし て、 計算したアルファブレン ド結果を出力する ( 1 0 0 2 ) 。 When the alpha blending process is not performed, the pixel I to be rendered is used as the rendering pixel luminance IA output from the alpha blending calculation unit 220, and the luminance I from the pixel information calculation unit 210 is used as it is. Hand over (1001). When the alpha blending process is performed on the pixel to be rendered, whether or not the most recently rendered image has been rendered after the alpha blending process has been performed is determined by the alpha-blended pixel flag storage device 360. Judgment is made based on the content AB (2 2 3), and this judgment result is set as A2. Alpha blended pixel flag storage device 360 0 When AB power is '0', it is judged that the foremost pixel that has already been drawn has been drawn without performing alpha blending. In the alpha blending process for the pixels to be rendered, the R, G, and B values of the already rendered colors stored in the frame buffer 310 are used as the background color for the alpha blending process. Then, the alpha blend with the pixel to be drawn is calculated. So After that, the calculated alpha blend result is output as the drawing pixel luminance I 出力 output from the alpha blend operation unit 220 (1002).
一方、 アルファブレン ド有り画素フラグ記憶装置 3 6 0の内容が ' 1 ' である時、 既に描画された最も手前の画素は、 アルファブレン ド処理を 行った後に描画されたものと判断し、 描画する画素が図形領域 (ポリゴ ン) のエッジであるかどうかで、 アルファブレン ドの処理方法を変える 必要がある。 これは、 描画する画素がエッジでない場合にはアンチエイ リァス処理を実施しないため、 アルフアブレン ド処理の有無に関係なく、 アルフアブレン ドの背景色として既に描画された色 (フレ一ムバッファ 3 1 0の情報) を使用できる。  On the other hand, when the content of the alpha blended pixel flag storage device 360 is '1', the foremost pixel that has already been rendered is determined to have been rendered after performing alpha blend processing, and rendered. It is necessary to change the alpha blend processing method depending on whether the pixel to be processed is the edge of the figure area (polygon). This is because the anti-aliasing process is not performed if the pixel to be drawn is not an edge, so the color already drawn as the background color of the alpha blend (frame buffer 310 Information) can be used.
しかし、 描画する画素がエッジである場合、 アンチエイ リアス処理が 行われる可能性がある。 通常 3次元の物体は物体表面を微細なポリゴン に分割して表現されるカ^ アルフアブレン ドを実施してこれらの隣接す るポリゴンを順次描画する場合、 そのポリゴンのエツジ部分においては 先のポリゴンの描画の際に、 既に描画された最も手前の画素に対しても アルファブレン ドが実施されていることになる。 従って、 これから描画 するエツジの画素のアルフアブレン ドの背景色として既に描画された色 を使用すると、 同座標の画素に対して、 2度アルファブレン ドを行った 結果となってしまう。 このため、 これから描画する画素のアルファブレ ン ドの背景色には、 既に描画した: δも手前の画素のアルフアブレン ド処 理を行う前の背景色を使用する必要がある。  However, if the pixel to be drawn is an edge, anti-aliasing may be performed. Normally, for a three-dimensional object, when the object surface is divided into fine polygons and the alpha blend is performed to sequentially draw these adjacent polygons, the edge of the polygon is replaced by the previous polygon. At the time of drawing, alpha blending is also performed for the foreground pixel that has already been drawn. Therefore, if the already drawn color is used as the background color of the alpha blend of the pixel of the edge to be drawn, the result of performing alpha blending twice for the pixel of the same coordinates will result. For this reason, the background color of the alpha blend of the pixel to be drawn is already drawn: δ must also use the background color of the previous pixel before the alpha blend processing is performed.
そこで既に描画された最も手前の画素に対してアルフアブレン ド処理 が行われている場合には、 これから描画する画素がェッジであるかどう かを、 画素の占有パターン Ρの全てのビッ ト力' ' 0 ' であるかで判断し ( 2 2 1 ) 、 この判断結果を A 1 とする。 g Therefore, if the alpha blending process has been performed on the foremost pixel that has already been drawn, whether or not the pixel to be drawn is an edge is determined by all the bit forces of the pixel occupation pattern Ρ. Judgment is made based on whether it is '0' (2 2 1), and this judgment result is set as A1. g
これから描画する画素の占有パターンの全ビッ ト力' ' 0 ' である場合、 全てのサブピクセルが図形領域であることになるため、 図形領域 (ポリ ゴン) のエッジではないと判断できる。 そこで、 その後の画素比較演算 部 2 3 0での処理においてアンチエイ リアス処理が行われないため、 こ れから描画する画素に対するアルフアブレン ド処理の背贵色として、 表 示されているフレ一ムバッファ 3 1 0の色を使用する ( 1 0 0 2 ) 。 If the total bit power of the occupation pattern of the pixel to be drawn is “0”, all sub-pixels are graphic regions, so it can be determined that they are not edges of the graphic region (polygon). Therefore, since the anti-aliasing processing is not performed in the subsequent processing in the pixel comparison operation unit 230, the frame buffer 3 shown as the background color of the alpha blending processing for the pixels to be drawn from now on Use 10 colors (1002).
しかし、 画素の占有パターン Pの全ビッ ト力 ' 0 ' でない (何れかの ビッ トに ' 1 ' がある) 場合は、 この画素が図形領域 (ポリゴン) のェ ッジであることを示している。 そして、 既に描画された最も手前の画素 にはアルフアブレン ド処理を行った結果が描画されているため、 これか ら描画する画素のアルファブレン ドの背景色として、 前記の通り、 未ァ ルファブレン ド背景色記憶装置 3 5 0に格納されている、 既に描画した 最も手前の画素に対するアルフアブレン ド処理を行う以前の背景色の R, G , Bを使用する( 1 0 0 3 )。 その後、 アルフアブレン ド演算部 2 2 0 の出力する描画画素輝度 I Aとして、 計算したアルファプレン ド結果を 出力する ( 1 0 0 2 ) 。  However, if the total bit strength of the pixel occupation pattern P is not '0' (any bit has '1'), it indicates that this pixel is the edge of the figure area (polygon). I have. Since the result of the alpha blending process is drawn on the foreground pixel that has already been drawn, the non-alpha blend is used as the background color of the alpha blend of the pixel to be drawn, as described above. The background colors R, G, and B stored in the background color storage device 350 before the alpha blending process is performed on the foremost pixel that has already been drawn are used (1003). After that, the calculated alpha blend result is output as the drawing pixel luminance IA output from the alpha blend operation unit 220 (1002).
次に画 ¾比較演 部 2 3 0での処理を、 第 2図及び第 7図を用いて説 明する。  Next, the processing in the screen comparison performing section 230 will be described with reference to FIG. 2 and FIG.
画素比較演算部 2 3 0では、 画素情報算出部 2 1 0で計算された描画 画素の奥行き Zと、 Zバッファ 3 2 0の奥行き情報 Z Bとの比較を行い、 この比較結果を C 0 とする。  The pixel comparison calculation unit 230 compares the depth Z of the drawing pixel calculated by the pixel information calculation unit 210 with the depth information ZB of the Z buffer 320 and sets the comparison result to C 0 .
次に、 既に描画された最も手前の画素はアルフアブレン ド処理を行つ てから描画されているかを判定するために、 アルフアブレン ド有り画素 フラグ記憶装置 3 6 0の内容 A Bが ' 1 ' であるかを判定する( 2 2 3 ) A 2。 アルファブレン ド無し (A B b ' 0, ) である時、 次に該描画画素に対してアルフアブレン ドを実施するかどうかの判定 のため、 該描画画索のアルファブレン ド有りフラグが ' 1 ' かどうかを 判定し ( 2 2 4 ) 、 これを A 3 とする。 Next, in order to determine whether or not the foremost pixel that has already been rendered has been rendered after performing the alpha blending process, the content AB of the alpha blended pixel flag storage device 360 is set to 1 when the content AB is set to '1'. (2 2 3) A2. When there is no alpha blend (AB b '0,), Next, in order to determine whether or not to perform alpha blending on the rendering pixel, it is determined whether or not the alpha blending flag of the rendering image is “1” (2 24). And
次に該描画画素の占有バターン Pと、 占有パタ一ン記憶装置 3 3 0の 占有パターン P Bとで、 ビッ ト単位で論理和を行い、 これを C 1 とする。  Next, a logical OR is performed on a bit-by-bit basis with the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330, and this is defined as C1.
Pと P Bが互いに隣接する画素の占有バタ一ンである場合は、 これら 2つの占有パターンのビッ 卜単位論理和の結果は全てのビッ ト力 ' 1 ' となる。 一方、 互いに重なる画素の占有パターンである場合は、 これら 2つの占有パターンのビッ 卜単位論理和の結果は重なった部分のビッ 卜 が ' 0 ' となる。 つまり、 描画画素の占有パターン Pと、 占有パターン 記憶装置 3 3 0の占有バタ一ン P Bとのビッ ト単位論理和を行うことで、 描画画素と最も手前の画素の図形領域部分が重なるか否かを判定するこ とが可能となる。  If P and PB are occupied patterns of pixels adjacent to each other, the result of the bitwise OR of these two occupied patterns is all bit power '1'. On the other hand, when the occupation patterns of the pixels overlap each other, the result of the bitwise OR of these two occupation patterns indicates that the bit of the overlapped portion is '0'. That is, by performing a bit-wise logical OR of the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330, it is determined whether or not the drawing pixel overlaps the figure area portion of the foremost pixel. Can be determined.
また、 描画画素の奥行き Zと、 奥行き記憶装置 3 5 0の奥行き Z Bと の比較を行った結果を C 3 とし、 描画画素の占有パターン Pと占有バタ ーン記憶装置 3 3 0の占有パターン P Bとのビッ 卜単位論理積を求め、 このビッ 卜単位論理積の結果 1 6 ビッ ト全て力 ' 0 ' となるかどうかを 判定し、 これを C 4 とする。 この C 4が真、 即ちビッ ト単位論理積の結 果 1 6 ビッ ト全て力 ' 0 ' となれば、 描画画素の占有パターン Pと占有 パタ一ン記憶装置 3 3 0の占有パターン P Bの 2つの占有バタ一ンによ り、 描画位置のサブピクセルが全て覆われていることになる。  Also, the result of comparing the depth Z of the drawing pixel with the depth ZB of the depth storage device 350 is defined as C 3, and the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330 are defined as C 3. Then, it is determined whether or not the result of this bit-wise logical AND of all 16 bits becomes “0”, and this is defined as C 4. If this C4 is true, that is, the result of the bitwise AND operation, and all the 16 bits become “0”, the occupation pattern P of the drawing pixel and the occupation pattern PB of the occupation pattern storage device 330 will be 2 With one occupation pattern, all subpixels at the drawing position are covered.
以上の判定結果 A 2, A 3, C 0, C l , C 3, C 4, C 5の信号に 基づき、 画素比較演算部 2 3 6では、 第 4図に示すテ一ブルに従って処 理 1 4〜 2 4 を行う。  Based on the above determination results A2, A3, C0, C1, C3, C4, and C5 signals, the pixel comparison operation unit 236 performs processing 1 according to the table shown in FIG. Perform steps 4 to 24.
まず、 〇 0が0の場合、 これから描画する画素の方が奥であり、 視点 方向から见た描画画素は、 手前の画素により隠されて見えないため、 フ レームバッファ 3 1 0の情報は更新する必要がないので、 その画素の描 画を中止する (処理 2 4 ) 。 First, if 〇 0 is 0, the pixel to be drawn is deeper and the viewpoint Since the drawing pixel viewed from the direction is hidden by the preceding pixel and cannot be seen, there is no need to update the information in the frame buffer 310, so the drawing of the pixel is stopped (process 24).
また、 C 0が 1 で描画画素の方が手前又は等しい時、 A 2, A 3が共 に 0であれば、 即ち描画画素も以前に描画した画素もいずれもアルファ ブレン ド処理を行っていない場合、 C 3が真 (描画画素が最も手前、 又 は等しい) の場合に、 C 4の結果が真となる場合は、 処理 1 4 (以下の 処理 A, C, E, F, G ) を行い、 C 4が偽となる場合は処理 1 5 (以 下の処理 A, C , E , F ) を行う。 一方 C 3が偽であれば、 C 4の結果 にかかわらず処理 1 6 (以下の処理 B ) を行う。  Also, when C 0 is 1 and the drawing pixel is nearer or equal, if A 2 and A 3 are both 0, that is, neither the drawing pixel nor the previously drawn pixel has been subjected to alpha blending. If C3 is true (the drawing pixel is at the foreground or equal), and if the result of C4 is true, the processing 14 (the following processing A, C, E, F, G) is performed. If C4 is false, perform processing 15 (processing A, C, E, and F below). On the other hand, if C3 is false, processing 16 (processing B below) is performed regardless of the result of C4.
また A 3が真で、 これから描画する画素に対するアルフアブレン ド処 理が有るのに対し、 A 2が偽で、 既に描画された最も手前の画素がアル ファブレン ド無しである場合、 C 3が真 (これから描画する画素が手前、 または等しい) の場合に、 C 4が真となる場合は、 処理 1 Ί (以下の処 理 H, I, E, F, G ) を行い、 C 4が偽で、 描画画素の占有パターン Pと占有パターン記憶装置 3 3 0の占有パターン P Bとのビッ 卜単位論 理稂の 1 6 ビッ ト全てが ' 0 ' とならない場合は、 処理 1 8 (以下の処 理ト I, I, E, F ) を行う。  Also, if A 3 is true and there is an alpha blending process on the pixel to be drawn, whereas A 2 is false and the foreground pixel already drawn has no alpha blend, C 3 is true (If the pixel to be drawn is near or equal to this), if C4 is true, perform processing 1 以下 (the following processing H, I, E, F, G), and if C4 is false If all 16 bits of the bit unit logic between the occupation pattern P of the drawing pixel and the occupation pattern storage device 330 are not set to '0', the processing 18 (the following processing) G, I, I, E, F).
一方 C 3が偽で、 これから描画する画素が奥であれば、 C l, C 4の 結果にかかわらず処理 1 9 (以下の処理 J ) を行う。  On the other hand, if C3 is false and the pixel to be drawn is deep, processing 19 (processing J below) is performed regardless of the results of C1 and C4.
そして、 A 2が真で、 既に描画された最も手前の画素に対してアルフ ァブレン ドが行われている場合、 A 3が偽で、 これから描画する画素に 対するアルファブレンド処理が行われないのであれば、 C l, C 3 , C 4の結果にかかわらず処理 2 0 (以下の処理 A, C, E, F ) を行う。 この場合、 アルファブレン ド処理が無いと判断されると、 画素の奥行き 判定を行わない力 これは既に描画された最も手前の画素が、 アルファ ブレン ド有りであり、 アルフアブレン ドの際は、 描画画素に対しての奧 行きは記憶されないためである。 この理由は、 以下の例で説明できる。 透き通ったガラスのコップを描画する例を考えると、 コップが透き通 つているため、 アルファブレン ド有りで描画することになる。 この時、 コップを構成する各画素に対して、 奥行きを Zバッフ ァ 3 1 0等に書き 込み、 奥行きを判定しながら描画処理を行った場合、 コップを奥から手 前にかけて描画するケースでは問題はないが、 コップを手前の画素から から奥にかけて描画するケースでは、 奥のガラスが描画されなくなるた め透き通って奥のガラスが見えるはずが、 見えなくなってしまうという 問題が発生する。 And if A2 is true and alpha blending has been performed on the foremost pixel that has already been drawn, then A3 will be false and alpha blending will not be performed on the pixel to be drawn. For example, processing 20 (the following processing A, C, E, and F) is performed regardless of the results of C1, C3, and C4. In this case, if it is determined that there is no alpha blending, the depth of the pixel Non-judgment force This is because the foremost pixel that has already been drawn has an alpha blend, and the depth for the drawn pixel is not stored in the case of alpha blending. The reason can be explained by the following example. Consider the example of drawing a transparent glass cup. Since the cup is transparent, it will be drawn with alpha blend. At this time, if the depth is written to the Z buffer 310 etc. for each pixel constituting the cup and the drawing process is performed while judging the depth, there is a problem in the case where the cup is drawn from the back to the front. However, in the case where the glass is drawn from the front pixel to the back, the back glass will not be drawn, so the clear glass should be visible, but there is a problem that it will not be visible.
そこで、 アルファブレン ドを行う際は、 奥行きにかかわらず描画を行 うため、 画素の奥行きを記憶せず、 常に上書き (常にこれから描画する 画素の方が手前) として描画する。 そのため、 C 3の奥行き比較処理の 結果も意味が無く、 また、 常に上書きであるため、 既に描画された最も 手前の画素がアルフアブレン ド処理済みで A 2が真の場合には、 占有パ ターンが 1 0 0 %であると見なすための奥行き情報が記憶されていない ため、 C 4の判定も意味がないため、 C 4の判定は不要となる。  Therefore, when performing alpha blending, since the drawing is performed regardless of the depth, the depth of the pixel is not memorized, but always overwritten (the pixel to be drawn is always closer to the front). Therefore, the result of the depth comparison processing of C3 is meaningless, and is always overwritten.If the previous pixel that has already been drawn has been alpha-blended and A2 is true, the occupied pattern Since there is no depth information for determining that the C is 100%, the determination of C4 is meaningless, and the determination of C4 is unnecessary.
A 2が真で、 既に描画された最も手前の画素に対してアルファプレン ドが行われている場合、 これから描画する画素のアルフアブレン ド有り ( A 3が真) の時、 既に描画された最も手前の画素とこれから描画する 画素の 2つの占有バターンが重なるかどうかを C 1 の結果 (描画画素の 占有パターンと、 占有パターン記憶装置 3 3 0の占有パターンとのビッ 卜単位論理和で、 1 6 ビッ ト全て力 ' 1 ' かどう力、) により判定する。  If A2 is true and alpha rendering has been performed on the foremost pixel that has already been rendered, then if there is alpha blending for the pixel to be rendered (A3 is true), the most rendered pixel will be The result of C1 indicates whether the occupation pattern of the pixel in front and the pixel to be drawn overlap each other as a result of C1 (by the bitwise logical OR of the occupation pattern of the drawing pixel and the occupation pattern of the occupation pattern storage device 330, All six bits are determined by the force '1'.
C 1 が真で、 1 6 ビッ ト全てが ' 1 ' と判断された時、 2つの占有パ ェ 2 When C1 is true and all 16 bits are determined to be '1', the two occupied 2
ターンは重複していないことになるため、 C 4の判定結果を参照し、 C 4が真となる場合は 2つの占有バターンが共にアルフアブレン ド有り で且つサブピクセルを 1 0 0 %覆うことから、 2つの占有パターンを合 成して、 画素を 1 0 0 %覆うアルファブレンド有りの 1つの占有パター ンと見なし、 処理 2 1 (以下の処理 H, K , D , F ) を行う。 一方、 C 4が偽となる場合は、 何れかのサブピクセルに背景が見えることにな るため、 処理 2 2 (以下の処理 H, D, F ) を行う。 Since the turns do not overlap, refer to the judgment result of C4.If C4 is true, the two occupied patterns both have alpha blending and cover 100% of the subpixels. Then, the two occupation patterns are combined, and the pixel is regarded as one occupation pattern with an alpha blend that covers 100% of the pixel, and processing 21 (the following processing H, K, D, and F) is performed. On the other hand, if C4 is false, the background is visible in any of the sub-pixels, and thus processing 22 (processing H, D, and F below) is performed.
また C 1 の判定が偽で、 2つの占有パターンが重複していると判断さ れた時、 処理 2 3 (以下の処理 H, I, E, F ) を行う。 この時、 既に 描画された最も手前の画素が、 アルファブレン ド有りであるため、 処理 2 0 を行う場合と同様に、 C 4の判定は不要である。  If C1 is false and it is determined that the two occupation patterns overlap, processing 23 (processing H, I, E, and F below) is performed. At this time, since the foreground pixel already drawn has an alpha blend, the determination of C4 is unnecessary as in the case of performing the processing 20.
以上の処理で、 更新を行わなかった画像メモリ 3 0 0内の各メモリは, 該描画画素の描画を行う前の情報をそのまま記憶しておく。  In the above processing, each memory in the image memory 300 that has not been updated stores the information before drawing the drawing pixel as it is.
以下、 処理 A , B , C , D , E , F , G , H , I, J , Kの説明を行 Ό。  Hereinafter, the processings A, B, C, D, E, F, G, H, I, J, and K will be described.
処理 Aは、 奥行き記憶装置 3 5 0から読み出した奥行き Z B 3 2 3よ り、 描画画 ¾の奥行き Zの方が手前、 又は等しい時に、 フレームバッフ ァ 3 1 0に記憶するための輝度を算出する処理である。  Processing A calculates the luminance to be stored in the frame buffer 310 when the depth Z of the drawing image is closer or equal to the depth ZB 3 23 read from the depth storage device 350. This is the processing to be performed.
処理 Aでは、 視点方向から見た、 最も手前に来る描画画素の占有バタ —ン (描画領域) と、 手前から 2番目の画素に相当する占有パターン記 憶装置 3 3 0に格納されている既に描画された最も手前の占有パターン (描画領域) P Bと、 背景に相当するこれら 2つの占有パターンに覆わ れない既描画画素サブピクセルの比率に応じて、 R G B成分毎に描画画 素の輝度と輝度記憶装置の輝度とフレームバッファの輝度を占有するサ ブピクセルの割合で重み付けして混合する。 この場合、 描画画素の占有 5 1 g /JP9 / 1 In process A, the occupation pattern (drawing area) of the drawing pixel that comes to the foreground as viewed from the viewpoint direction and the occupation pattern storage device 330 already stored in the occupation pattern storage device 330 corresponding to the second pixel from the front side The luminance and luminance of the drawing pixel for each RGB component according to the ratio of the foreground occupation pattern (drawing area) PB that has been drawn and the sub-pixels of the drawing pixels that are not covered by these two occupation patterns corresponding to the background. Weighting and mixing are performed with the ratio of subpixels that occupy the luminance of the storage device and the luminance of the frame buffer. In this case, the occupation of the drawing pixel 5 1 g / JP9 / 1
バターンが視点方向から見て最も手前になるため、 描画画素の占有パタ ーン P : 描画画素の占有パターン Pに覆われていない P B : P, P Bに ¾ίわれていないサブピクセルの比率で混合し、 新たにフレームバッファ 3 1 0に格納する。 Since the pattern is the foreground when viewed from the viewpoint direction, the occupation pattern of the drawing pixel P: The occupation pattern of the drawing pixel P is not covered by PB: The ratio of subpixels not covered by P and PB is mixed. And newly stored in the frame buffer 310.
なお、 背景に相当する既描画画素の割合は、 最も手前と手前から 2番 Ηの Ζ座標に当たる描画画素の 2つの占有パターンに Sわれない部分と なるカ、 その輝度はわからないため、 現在のフレームバッファ 3 1 0か ら読み出した輝度で近似する。  The ratio of the pixels already drawn corresponding to the background is the part that is not included in the two occupation patterns of the drawing pixels corresponding to the second Ζ coordinate from the front and the front, and the brightness is not known. Approximate by the luminance read from buffer 310.
処理 Βは、 これから描画を行う画素が、 以前に描画を行った画素の中 で、 手前から 2番目に位置するものとし、 奥行き記憶装置 3 5 0から読 み出した奥行き 3 2 4より、 描画画素の奥行き 8 5の方が、 奥である時 に行うフレームバッファ 3 1 0に記憶するための輝度を算出する処理で ある。  Processing 、 is based on the assumption that the pixel to be rendered is located second from the front among the pixels that have been rendered before, and from the depth 3 24 read from the depth storage device 350 The pixel depth 85 is a process for calculating the luminance to be stored in the frame buffer 310 when the depth is 85.
処理 Βでは、 処理 Αの場合と異なり、 占有パターン記憶装置 3 3 0に 格納された占有パターン P Bが視点方向から見て最も手前になるため、 各々の輝度の混合比は、 占有バタ一ン記憶装置 3 3 0に格納された占有 パターン P Bに覆われていない描画画 -の占有パターン P : 占有パター ン記憶装置 3 3 0に格納された占有パターン P B : P, P Bに覆われて いないサブピクセルの比率となる。  In the processing Β, unlike the processing Α, the occupation pattern PB stored in the occupation pattern storage device 330 is located at the foreground when viewed from the viewpoint direction. Occupation pattern stored in device 330 Occupation pattern of drawing image not covered by PB-P: Occupied pattern storage device PB stored in device 330 PB: Subpixel not covered by P, PB Is the ratio of
処理 Cでは、 描画画素の奥行きがこれまでに描画した画素の奥行きと 同じかそれよりも手前にある場合には、 描画画素の奥行き Zを奥行き Z 未アルフアブレン ド背景色記憶装置 3 5 0に格納し、 最も手前の画素の 奥行きを更新する。  In process C, if the depth of the drawing pixel is equal to or shorter than the depth of the pixel drawn so far, the depth Z of the drawing pixel is stored in the depth Z unalphabed background color storage device 350. Store and update the depth of the foreground pixel.
処理 Dは、 描画画素の占有パターン Pと占有パターン記憶装置 3 3 0 に格納されている以前に描画を行った最も手前の画素の占有パターン P Bとが連続していると判定された際に、 2つの画素が連続しているも のとして、 これら 2つの占有パターンの A N Dを取ることにより結合し て互いの図形領域 ( ' 0 ' の領域) を合成し、 1つの占有パターンとし て占有バターン記憶装置 3 3 0の内容 P Bを更新する処理である。 The processing D is performed by using the occupation pattern P of the drawing pixel and the occupation pattern of the foremost pixel that has been previously drawn and stored in the occupation pattern storage device 330. When it is determined that PB and PB are continuous, it is assumed that the two pixels are continuous, and these two occupation patterns are combined by ANDing them to form a mutual graphic area (the area of '0'). ) Are combined to update the content PB of the occupation pattern storage device 330 as one occupation pattern.
処理 Eは、 描画画素がこれまでで最も手前の画素の奥行きよりと同じ かそれよリも手前の場合に、 占有バタ一ン記憶装置 3 3 0に格納されて いる最も手前の画素の占有パタ一ンを描画画素の占有パタ一ンで更新す る処理である。  The processing E is performed when the drawing pixel is equal to or shorter than the depth of the foremost pixel so far, and the occupied pattern of the foremost pixel stored in the occupied pattern storage device 330 is This is a process for updating the pattern with the pattern occupied by the drawing pixel.
処理 Fは、 奥行き記憶装置 3 5 0の奥行きより、 描画画素の奥行きの 方が手前、 又は等しい時に、 輝度記憶装置 3 4 0に格納されている、 こ れまでで最も手前の画素の輝度を描画画素の輝度で更新する処理である。 処理 Gは、 描画画素と以前に描画を行った最も手前の画素の 2つで画 素を 1 0 0 %覆う場合、 これまでに描画を行った最も手前の画素より、 即ち描画画素と以前に描画を行った最も手前の画素の 2つの画素よりも さらに奥に描画する画素が発生しても、 その画素は視点方向から見えな いため、 以前に描画を行った最も手前の画素の奥行きを、 占有パタ一ン 1 0 0 %の も手前の画 の奥行きを ILU する Zバッファ 3 2 0に書き 込む処理である。  The processing F is to calculate the luminance of the nearest pixel stored so far in the luminance storage device 340 when the depth of the drawing pixel is closer to or equal to the depth of the depth storage device 350. This is a process of updating with the brightness of the drawing pixel. Processing G is that if two pixels, the drawing pixel and the foremost pixel that has been previously drawn, cover 100% of the pixel, the G that has been drawn so far, that is, Even if there is a pixel to be drawn further behind the two pixels of the foremost pixel that has been drawn, since that pixel is not visible from the viewpoint direction, the depth of the foremost pixel that has been previously drawn is The occupation pattern of 100% is the process of writing the depth of the image in front into the Z buffer 320 that performs ILU.
処理 Hは、 奥行き記憶装置 3 5 0から読み出した奥行き Z Bより、 描 画画素の奥行き Zの方が手前、 又は等しい時 (C 3 = l ) に、 フレーム バッファ 3 1 0に記憶するための輝度を算出する処理であり、 処理 Aと 異なり、 背景色として最も手前、 及び手前から 2番目の占有パターンに 覆われないサブピクセルの輝度にはフレームバッファの値ではなく、 ァ ルファブレン ド演算部 2 2 0内のアルフアブレン ド処理部 2 2 5におけ る処理 M又は処理 N ) に使用した背景色、 つま り、 フレームバッファ 3 1 0から読み出した輝度、 又は未アルファブレン ド背景 記憶装置 3 5 0から読み出した輝度を; 13いる。 Processing H is a luminance for storing in the frame buffer 310 when the depth Z of the drawing pixel is closer to or equal to (C 3 = l) than the depth ZB read from the depth storage device 350. Unlike the processing A, the brightness of the sub-pixel not covered by the foreground and the second occupied pattern as the background color is not the value of the frame buffer, but the value of the pixel Background color used for process M or process N) in alpha blend processing section 2 25 in 0, that is, frame buffer 13. The luminance read from 310 or the non-alpha blended background storage.
処理 I は、 描画画素がアルフ ァブレンド処理を行う (A 3 = l ) 場合 に、 以前に描画した最も手前の画素がアルファブレン ド処理済みであつ て (A 2 = 0 ) 両者の占有バターンに重なりがある (C 1 = 0 ) 時、 又 は描画画素が以前に描画した Sも手前の画素より手前 ( C 3 = 1 ) の時、 これから描画する画素の未アルフアブレン ドの背景色 (つま りフレーム バッファ 3 1 0の輝度) を、 未アルファブレン ド背景色記憶装置 3 5 0 に記憶する処理である。  In process I, when the pixel to be rendered performs an alpha blending process (A 3 = l), the foreground pixel previously rendered is already alpha-blended (A 2 = 0) and overlaps the occupied pattern of both. When there is (C 1 = 0), or when the drawing pixel is also before S (C 3 = 1) before the previous pixel, the background color of the non-alpha blend of the pixel to be drawn (that is, This is a process of storing the luminance of the frame buffer 310 in the non-alpha blend background color storage device 350.
処理 J は、 描画画素が、 以前に描幽を行った画素の中で、 手前から 2 番目に位置するものと仮定して処理を行うものであり、 奥行き記憶装置 3 5 0から読み出した奥行き Z B 3 2 4 より描画画素の奥行き Zの方が 奥である時に、 フ レームバッファ 3 1 0に記憶するための輝度を算出す る処理である。  The processing J is a processing performed on the assumption that the drawing pixel is located second from the front among the pixels that previously performed the drawing, and the depth ZB read out from the depth storage device 350. This is a process of calculating the luminance to be stored in the frame buffer 310 when the depth Z of the drawing pixel is deeper than 3 2 4.
処理 J では、 処理 Bの代わりに、 背景色としてフレームバッファの値 ではなく、 アルフアブレン ド演算部 2 2 0内のアルフアブレン ド処理部 2 2 5で使川した背景色を用いる。 また処理 Hとの違いは、 描画する画 素が手前から 2番目であると見なしている点である。 従って、 Zバッフ ァ (アルファブレン ド時は奥行きを考慮しないため) 、 P B, I B, Z Bの更新は行われない。  In the processing J, instead of the processing B, the background color used by the alpha blend processing unit 225 in the alpha blend calculation unit 220 is used instead of the frame buffer value as the background color. The difference from the processing H is that the pixel to be drawn is regarded as the second from the front. Therefore, Z buffer (because depth is not considered in alpha blending) and PB, IB, and ZB are not updated.
処理 Kは、 これから描画する画素と、 以前に描画を行った最も手前の 画素が、 共にアルファブレン ド有り ( A 2 = 1, A 3 = 1 ) で、 両者の 占有パターンに重なりが無く (C l = l ) 、 しかも両者の占有パターン により画素が 1 0 0 %覆われている ( C 4 = 1 ) 、 即ち Pと P Bにより 覆われるサブピクセルが 1 0 0 %であれば、 これから描画する画素と、 ι ら In process K, the pixel to be rendered and the foremost pixel that has been previously rendered both have an alpha blend (A 2 = 1, A 3 = 1), and their occupancy patterns do not overlap (C l = l), and the pixels are 100% covered by the occupation pattern of both (C4 = 1), that is, if the subpixels covered by P and PB are 100%, the pixels to be drawn When, ι
以前に描画を行った最も手前の画索との 2画素以外の背景は見えないた め、 本来これから描画する画素の未アルフアブレン ド背景色ではなく、 フ レームバッフ ァ 3 1 0に書き込む色である描画画尜と以前に描画を行 つた最も手前の画素のアンチエイ リアス処理後の表示色を、 未アルファ プレン ド背景色記憶装置 3 5 0に書き込む処理である。 Since the background other than the two pixels from the foreground line that has been drawn previously is not visible, it is the color to be written to the frame buffer 310, not the unalphabed background color of the pixel to be drawn originally This is a process of writing the drawing image and the display color after anti-aliasing processing of the foremost pixel that has been previously drawn to the non-alpha-preset background color storage device 350.
以上の処理を、 図形を構成する全ての画素に対して行うことで、 アン チエイ リァス処理が可能となる。  The anti-aliasing process can be performed by performing the above processing for all the pixels constituting the figure.
本実施例では、 記惊装置の容量を減らすため、 奥行き記憶装置と、 未 アルファブレン ド背 ¾色記憶装置を共有している ( 3 5 0 ) 。 これは前 記した通り、 その画素の奥行きを記憶しなく ともアルファブレン ド処理 を実現できるためである。 しかし、 3次元画像処理でアルファブレン ド 処理を行う際に、 奥行きを記憶する使用方法も存在する。 このようなケ ースでは、 奥行きと、 未アルファブレン ド背景色とを、 1 つの記憶装置 を共有して使用するわけには行かない。 このような時には、 奥行きノ未 アルファブレン ド背景色記懔装置 3 5 0 を奥行きのみを記憶する奥行き 記憶装置と、 未アルフアブレン ド背景色を専用に記憶する未アルフアブ レン ド背 J¾ i^記惊装 [2に分けることで、 解決できる。 この場合は、 アル ファブレン ド演算部 2 2 0において、 アルフアブレン ドの背景色を決定 するために、 フレームバッファ 3 1 0又は未アルフアブレン ド背景色記 憶装置を選択する手段が必要となる。 産業上の利用可能性  In the present embodiment, in order to reduce the capacity of the storage device, the depth storage device and the non-alpha blend back-color storage device are shared (350). This is because alpha blend processing can be realized without memorizing the depth of the pixel as described above. However, there is also a method of storing depth when performing alpha blend processing in 3D image processing. In such cases, depth and non-alpha blend background colors cannot be shared using a single storage device. In such a case, a depth storage device that stores only the depth is stored in the depth blending device, and a non-alpha blend background that stores only the depth of the unblended background color is stored.惊 装 [I can solve it by dividing into two. In this case, in order to determine the background color of the alpha blend in the alpha blend operation unit 220, means for selecting the frame buffer 310 or a non-alpha blend background color storage device is required. Industrial applicability
本発明ではアルファブレン ドを含むアンチエイ リァス処理を、 1 回の 描画で行えるため高速であリ、 1 画素単位で保持している最も手前の占 有パターンにより、 輝度の演算を行うことで、 従来の方式に比べ、 少な ェ η In the present invention, anti-aliasing including alpha blending can be performed at a high speed because it can be performed by one drawing, and luminance is calculated by using the foreground occupation pattern held in units of one pixel. Less Η
いメモリで実現できる。 It can be realized with a small memory.

Claims

請 求 の 範 囲 The scope of the claims
1 . 描画図形を榴成する画素単位に、 該画素を更に複数に分割した小画 素 (以後、 サブピクセル) が該図形の領域に含まれるか否かをサブピク セル単位に表すパターン (以後、 占有パターン) を生成するパターン発 生手段と、  1. A pattern (hereafter referred to as “sub-pixel”) indicating whether or not a small pixel (hereinafter referred to as “sub-pixel”) obtained by further dividing the pixel into a plurality of pixels is included in the area of the figure. An occupancy pattern),
最も手前の画素の前記占有バタ一ンを記憶するバターン記憶手段と を有する 3次元画像処理装置において、  Pattern storage means for storing the occupied pattern of the foremost pixel.
図形の各画素毎に、  For each pixel of the figure,
アンチエイ リアス処理を行う際に最も手前の図形の輝度と背景の輝度 とのアルフアブレン ド処理を行った結果が記憶されるフレームバッファ と、  A frame buffer for storing a result of performing an alpha blend process between the luminance of the foreground figure and the luminance of the background when performing anti-aliasing processing;
アルフアブレン ド処理を行う前の最も手前の画素の輝度情報を記憶す る手段と、  Means for storing luminance information of the foremost pixel before performing the alpha blending process;
描画画素が、 アルファブレン ド処理有りの場合に、 前記画素の未アル ファブレン ド背景色を記憶する未アルファブレン ド背景色手段とを有し、 当該病が画素の未アルフアブレンド背景色を、 未アルフアブレン ド背景 色記憶手段に格納する  When the rendering pixel has an alpha blend process, the rendering pixel has a non-alpha blend background color unit that stores a non-alpha blend background color of the pixel. Alpha blend background Store in color storage
ことを特徴とする 3次元画像処理装置。 A three-dimensional image processing device, characterized in that:
2 . 請求の範囲第 1項において、  2. In Claim 1,
描画画素に対し、 アルフアブレン ド処理を行うあることを示すフラグ と、 各画素について最も手前の画素にアルファプレン ド処理が行われた かどうかを記憶するアルファプレン ド処理記憶手段とを有することを特 徴とする 3次元画像処理装置。  It has a flag indicating that alpha blend processing is to be performed on the drawing pixel, and an alpha blend processing storage means for storing whether or not alpha rendering processing has been performed on the foremost pixel for each pixel. Features a three-dimensional image processing device.
3 . 請求の範囲第 2項において、  3. In Claim 2,
アルファプレン ド処理記憶手段に記憶された状態と、 前記バタ一ン究生手段によリ生成されたこれからアルフアブレン ド処 理を実行する画索の占有パターンと、 The state stored in the alpha blend processing storage means, An occupancy pattern of a search to be executed for the alpha blending process, which is generated by the butterfly research means, and
前記パターン記'!; δ手段で記憶している■¾も手前の画素占有パターンの 状態により、  According to the state of the preceding pixel occupation pattern, the ■ ¾ stored by the δ means
前記アルフアブレン ド処理を実行する画素の背景色を、  The background color of the pixel for which the alpha blend process is performed is
前記未アルファプレン ド背景色手段の内容を使用するか、 前記フレー ムバッファの内容を使用するかを選択し、 選択後の背景色を用いてアル ファブレン ド処理及びアンチエイ リアス処理を行う  Select whether to use the contents of the non-alpha-preview background color means or the contents of the frame buffer, and perform alpha blend processing and anti-aliasing processing using the selected background color.
ことを特徴とする 3次元画像処理装置。 A three-dimensional image processing device, characterized in that:
PCT/JP1998/001771 1998-04-17 1998-04-17 Three-dimensional image processor WO1999054847A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020007001524A KR20010022919A (en) 1998-04-17 1998-04-17 Three-dimensional image processor
PCT/JP1998/001771 WO1999054847A1 (en) 1998-04-17 1998-04-17 Three-dimensional image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/001771 WO1999054847A1 (en) 1998-04-17 1998-04-17 Three-dimensional image processor

Publications (1)

Publication Number Publication Date
WO1999054847A1 true WO1999054847A1 (en) 1999-10-28

Family

ID=14208059

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/001771 WO1999054847A1 (en) 1998-04-17 1998-04-17 Three-dimensional image processor

Country Status (2)

Country Link
KR (1) KR20010022919A (en)
WO (1) WO1999054847A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230580A (en) * 2000-08-23 2002-08-16 Nintendo Co Ltd Graphics system including integrated frame buffer having reconstructible pixel format
JP2009032290A (en) * 2008-10-27 2009-02-12 Namco Bandai Games Inc Program, information storage medium, and image generation system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01106283A (en) * 1987-09-30 1989-04-24 Philips Gloeilampenfab:Nv 2-d image generation method and apparatus
JPH04342083A (en) * 1991-05-18 1992-11-27 Mitsubishi Precision Co Ltd Device for generating simulated sight signal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01106283A (en) * 1987-09-30 1989-04-24 Philips Gloeilampenfab:Nv 2-d image generation method and apparatus
JPH04342083A (en) * 1991-05-18 1992-11-27 Mitsubishi Precision Co Ltd Device for generating simulated sight signal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230580A (en) * 2000-08-23 2002-08-16 Nintendo Co Ltd Graphics system including integrated frame buffer having reconstructible pixel format
JP4683760B2 (en) * 2000-08-23 2011-05-18 任天堂株式会社 Graphics system with embedded frame buffer having a reconfigurable pixel format
JP2009032290A (en) * 2008-10-27 2009-02-12 Namco Bandai Games Inc Program, information storage medium, and image generation system

Also Published As

Publication number Publication date
KR20010022919A (en) 2001-03-26

Similar Documents

Publication Publication Date Title
US6201545B1 (en) Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system
US6104407A (en) Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system
US6285348B1 (en) Method and system for providing implicit edge antialiasing
US7348996B2 (en) Method of and system for pixel sampling
JP3761085B2 (en) Image processing apparatus, components thereof, and rendering processing method
US6670955B1 (en) Method and system for sort independent alpha blending of graphic fragments
EP1177532B1 (en) Method and system for efficiently using fewer blending units for antialiasing
US7656416B2 (en) Apparatus for generating anti-aliased and stippled 3d lines, points and surfaces using multi-dimensional procedural texture coordinates
JP2001005989A (en) Anti-aliasing method and picture processor using the method
US6925204B2 (en) Image processing method and image processing apparatus using the same
US7286138B2 (en) Discontinuity edge overdraw
US6172680B1 (en) Method and apparatus for a three-dimensional graphics processing system including anti-aliasing
US6501474B1 (en) Method and system for efficient rendering of image component polygons
JP3037865B2 (en) 3D sprite drawing device
US8648874B2 (en) Method and system for providing edge antialiasing
US20050104893A1 (en) Three dimensional image rendering apparatus and three dimensional image rendering method
US6937251B2 (en) Method and system for improving color quality of three-dimensional rendered images
WO1999054847A1 (en) Three-dimensional image processor
JP3696584B2 (en) Drawing processing method and apparatus, semiconductor device, drawing processing program, and recording medium
US6529196B1 (en) Efficient stroking of vectors with arbitrary endpoints
JP3626709B2 (en) Anti-aliasing device
WO1998006065A1 (en) Three-dimensional image processor
JP3255549B2 (en) Figure processing method
JPH08235380A (en) Method and device for displaying polyhedron
WO2001056268A1 (en) Method for rapid smoothing of object edges in computer graphics

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09462914

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020007001524

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020007001524

Country of ref document: KR

122 Ep: pct application non-entry in european phase
WWW Wipo information: withdrawn in national office

Ref document number: 1020007001524

Country of ref document: KR