WO1999052077A1 - Dispositif et procede de trace d'images, et support associe - Google Patents

Dispositif et procede de trace d'images, et support associe Download PDF

Info

Publication number
WO1999052077A1
WO1999052077A1 PCT/JP1999/001692 JP9901692W WO9952077A1 WO 1999052077 A1 WO1999052077 A1 WO 1999052077A1 JP 9901692 W JP9901692 W JP 9901692W WO 9952077 A1 WO9952077 A1 WO 9952077A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel data
image
pixel
unit
value
Prior art date
Application number
PCT/JP1999/001692
Other languages
English (en)
French (fr)
Inventor
Nobuo Sasaki
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to AU30547/99A priority Critical patent/AU3054799A/en
Priority to KR1019997011012A priority patent/KR100574786B1/ko
Priority to CA002292508A priority patent/CA2292508A1/en
Priority to BR9904893-0A priority patent/BR9904893A/pt
Priority to EP99912079A priority patent/EP1024458B1/en
Publication of WO1999052077A1 publication Critical patent/WO1999052077A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/203Image generating hardware

Definitions

  • the present invention relates to a drawing device, a drawing method, and a providing medium.
  • a drawing device for example, in a three-dimensional graphic computer which is a video device using a computer, a special effect device (Effek), a video game machine, etc.
  • the present invention relates to a drawing apparatus and a drawing method capable of displaying a high-quality image, and a providing medium. Isha:
  • display of a three-dimensional image is performed by performing coordinate transformation, geometry processing such as clipping processing, lighting processing, and the like on polygon data constituting the three-dimensional image.
  • perspective projection transformation of the resulting data the data in the three-dimensional space is converted into pixel data on the two-dimensional plane, and this is performed by drawing it.
  • Floating point or fixed point Since the position of a polygon represented by a point is converted to an integer to correspond to a pixel at a fixed position on the screen, aliasing occurs, and a step-like jagged shape called jaggy occurs.
  • the image quality is lower than that of an image captured by a video camera.
  • the aliasing appears as a flicker of the image, and there is a problem that a user watching the image feels annoying.
  • the aliasing is not limited to an image, but is a sampling error that occurs when a signal is sampled at a finite number of points and the number of sampling points is too small.
  • one pixel is virtually divided into smaller units called sub-pixels, and ray tracing is calculated for each sub-pixel.
  • Some of the results are averaged on a pixel-by-pixel basis.
  • ray tracing calculations take a considerable amount of time, so even though hardware such as processors and memories have become faster, video It is currently difficult to perform such ray tracing calculations on images in real time.
  • a moving image is generally composed of about 20 to 30 frames per second, but at present, ray tracing calculation is performed by sub-pixels per second using a somewhat inexpensive hardware. It is difficult to perform 20 to 30 times on a per-unit basis.
  • the ratio of the figure in the pixel is determined, and the figure and the background are so-called "hi" based on the ratio.
  • alpha blending the edges of the figure are anti-aliased, but the flickering of the texture attached to the figure and the parts where the three-dimensional shapes intersect (intersecting lines) (for example, However, it has no effect on aliasing that occurs in the case where one of the two balls sinks into the other (where the two balls intersect).
  • the present invention has been made in view of such a situation, and aims to reduce the reduction in image quality due to aliasing while minimizing the cost and size of the device as much as possible. . Disclosure of the invention
  • a shift amount for setting a plurality of shift amounts for shifting a drawing position when drawing pixel data on the pixel data storage unit with a precision smaller than one pixel Setting means and drawing means for overwriting an image by drawing pixel data at each of the positions corresponding to the plurality of shift amounts set by the shift amount setting means in the pixel data storage means. It is characterized by having.
  • the drawing method wherein a shift amount setting for setting a plurality of shift amounts for shifting a drawing position when pixel data is drawn in the pixel data storage unit with a finer precision than one pixel.
  • the pixel data is stored in each of the steps and the positions of the pixel data storage means corresponding to the plurality of shift amounts.
  • the providing medium according to claim 75 further comprising: a shift amount setting step of setting a plurality of shift amounts for shifting a drawing position when the pixel data is drawn in the memory with a precision smaller than one pixel. And a drawing step of drawing the pixel data at each of the memory positions corresponding to the plurality of shift amounts, thereby providing a drawing step of overwriting the image.
  • the shift amount setting means includes a plurality of shifts for shifting a drawing position when drawing pixel data in the pixel data storage means with a finer precision than one pixel. The amount is set, and the drawing unit draws the pixel data at each of the positions corresponding to the plurality of shift amounts set by the shift amount setting unit in the pixel data storage unit so that the image is overwritten. Has been made.
  • a plurality of shift amounts are set for shifting the drawing position when the pixel data is drawn in the pixel data storage means with a precision smaller than one pixel. Then, the image is overwritten by drawing the pixel data at each position of the pixel data storage means corresponding to the plurality of shift amounts.
  • a plurality of shift amounts for shifting a drawing position when drawing pixel data in the memory with a finer precision than one pixel are set, and the plurality of shift amounts are set.
  • a computer program is provided for causing a computer to perform a process of overwriting an image by drawing pixel data at each memory location corresponding to the shift amount.
  • FIG. 1 is a plan view showing a configuration example of an embodiment of a video game machine to which the present invention is applied.
  • FIG. 2 is a front view of the video game machine of FIG.
  • FIG. 3 is a side view of the video game machine of FIG.
  • FIG. 4 is a plan view showing CD-ROM51.
  • FIG. 5 is a block diagram showing an example of an electrical configuration of the game machine main body 2 of FIG.
  • FIG. 6 is a block diagram showing a detailed configuration example of the graphic memory 118 of FIG.
  • FIG. 7 is a diagram for explaining overwriting of dots.
  • FIG. 8 is a diagram showing a result of overwriting dots.
  • FIG. 9 is a diagram showing a pixel composed of 2 ⁇ 2 sub-pixels.
  • FIG. 10 is a diagram showing a drawing result when a point is drawn at one time without being overwritten.
  • FIG. 11 is a diagram for explaining the overwriting of dots.
  • FIG. 12 is a diagram showing the result of overwriting of points.
  • FIG. 13 is a diagram for explaining the relationship between the position of a point to be drawn and the result of overwriting.
  • FIG. 14 is a diagram for explaining the overwriting of straight lines.
  • FIG. 15 is a diagram showing the result of overwriting straight lines.
  • FIG. 16 is a diagram for explaining the overwriting of straight lines.
  • FIG. 17 is a diagram showing the result of overwriting straight lines.
  • FIG. 18 is a flowchart for explaining a polygon drawing process in the game machine main body 2 in FIG.
  • FIG. 19 explains the reason for drawing in order from the polygon close to the viewpoint.
  • FIG. 20 is a diagram for explaining a case where drawing is performed in order from a polygon far from the viewpoint.
  • FIG. 21 is a diagram for explaining a case where drawing is performed in order from a polygon close to the viewpoint.
  • FIG. 22 is a flowchart for explaining the process of step SI4 in FIG. 18 in more detail.
  • a drawing device is a drawing device that draws an image, and that stores pixel data to be output to a two-dimensional output device that outputs an image. 6) A shift that sets multiple shift amounts to shift the drawing position when drawing pixel data to the pixel data storage means with a precision smaller than one pixel.
  • the amount setting means for example, the processing step S6 of the program shown in FIG. 18
  • a drawing unit for example, processing step S14 of a program shown in FIG. 18 for overwriting an image by drawing pixel data.
  • the drawing apparatus according to claims 3, 14, 25, and 35, wherein the drawing means determines the number of overwriting times at which the drawing means overwrites the image. For example, it is characterized by further including a program processing step S5 shown in FIG. 18).
  • the drawing apparatus according to claims 4, 15, 26, and 36, wherein the drawing means estimates a drawing time required for drawing pixel data for one screen in the pixel data storage means.
  • the processing step S4 of the program shown in FIG. 18 and the number-of-times determining means determines the number of overwriting based on the drawing time estimated by the estimating means. It is characterized by.
  • the drawing apparatus described in claims 6, 17, 28, and 38 is a correction device that corrects a shift amount based on the function of a moving image when the image is a moving image. , And processing steps S10 of the program shown in FIG. 18).
  • the drawing device when the image is a three-dimensional image defined by a combination of unit figures, rearrangement means for rearranging the unit figures in the depth direction (for example, And the drawing means draws the unit figures in order from the one closest to the viewpoint.
  • the drawing device is an operation device operated when giving a predetermined input (for example, the operation device 17 shown in FIG. 1), and is recorded on a recording medium.
  • An arithmetic unit for example, a main CPU 111 shown in FIG. 5) for performing a predetermined arithmetic operation based on an input from the operating unit using the data and an arithmetic operation by the arithmetic unit
  • Pixel data generating means for obtaining pixel data based on the result (for example, GPU 115 shown in FIG. 5).
  • the drawing apparatus wherein the image is a three-dimensional image defined by a combination of unit figures, A conversion means (for example, main CPU 111 shown in Fig. 5) for converting the unit figures constituting the original image into those of the coordinate system of the two-dimensional output device, and a unit figure converted by the conversion means. And a rearrangement means (for example, processing step S7 of the program shown in FIG. 18) for rearranging in the depth direction, and a depth storage means (for example, for storing a value representing the position of the unit figure in the depth direction). , Z buffer 144 shown in FIG. 6, etc.), and the drawing means draws the unit figures in order from the one closest to the viewpoint using the depth storage means.
  • a conversion means for example, main CPU 111 shown in Fig. 5
  • a unit figure converted by the conversion means for example, main CPU 111 shown in Fig. 5
  • a rearrangement means for example, processing step S7 of the program shown in FIG. 18
  • a depth storage means for example, for storing
  • the drawing device wherein, when the image is a three-dimensional image defined by a combination of unit figures, operating means operated when giving a predetermined input (for example, The operation device 17 shown in the figure, etc.) and the data recorded on the recording medium are read, and the data is used to perform a predetermined operation based on the input from the operation device (for example, the fifth device). And a conversion means for converting a unit figure obtained as a result of the calculation by the calculation means into a coordinate system of a two-dimensional output device (for example, a main CPU 11 shown in FIG. 5). 1) and sorting means for sorting the unit figures converted by the converting means in the depth direction (for example, processing step S7 of the program shown in FIG. 18).
  • operating means operated when giving a predetermined input for example, The operation device 17 shown in the figure, etc.
  • the data recorded on the recording medium are read, and the data is used to perform a predetermined operation based on the input from the operation device (for example, the fifth device).
  • a depth storage means for example, a Z-buffer 144 shown in FIG. 6 for storing unit values, wherein the drawing means uses the depth storage means in order of the unit figures in order from the one closest to the viewpoint. It is characterized by drawing.
  • FIG. 1 is a plan view showing a configuration of an embodiment of a video game machine to which the present invention is applied.
  • Fig. 2 shows the front view (in Fig. 1,
  • Fig. 3 shows a side view of the right side (in Fig. 1, a side view seen from the right).
  • the video game machine is connected to the game machine body 2, an operating device 17 having a substantially square connection terminal 26 connected to the game machine body 2, and the same game machine body 2. And a recording device 38.
  • the game machine main body 2 is formed in a substantially square shape, and a combination program (including a program for performing rendering (drawing) processing to be described later) and data are recorded at a central position thereof.
  • a disk mounting unit 3 for mounting a game recording medium is provided.
  • a CD (Compact Disk) -ROM (Read Only Memory) 51 as shown in FIG. 4 is detachably attached to the disk mounting unit 3 as a game recording medium. I have.
  • the game recording medium is not limited to a disk.
  • connection portions 7A and 7B to which the operation device 17 and the recording device 38 can be connected as a set.
  • the connecting portions 7A and 7B are provided so that the two sets of the operating device 17 and the recording device 38 can be connected. It is possible to provide as many sets of operation devices 17 and recording devices 38 as can be connected.
  • connection portions 7A and 7B are formed in two stages, and a recording insertion portion 8 connected to the recording device 38 is provided in the upper portion, and the operating device 1 is provided in the lower portion. It has a structure in which a connection terminal input section 12 for connecting to the connection terminal section 26 of 7 is provided.
  • the insertion hole of the recording insertion part 8 is formed in a rectangular shape that is long in the horizontal direction, and the lower end corners are rounded more than the upper end corners, and the recording device 38 is reversed. It has a structure that cannot be inserted. Further, the recording input section 8 is provided with a shutter 9 for protecting a connection terminal (not shown) for obtaining an internal electrical connection.
  • the shirt 9 is always attached to the outside by an elastic body (not shown) such as a coil-shaped torsion spring. Therefore, when the recording device 38 is inserted, the shirt 9 is opened at the distal end side where the recording device 38 is inserted, and when the recording device 38 is removed, the shirt 9 is returned by the urging force of the elastic body. When it is closed, it serves as a dust proof for the internal connection terminals, and also serves to protect it from external shocks.
  • an elastic body such as a coil-shaped torsion spring. Therefore, when the recording device 38 is inserted, the shirt 9 is opened at the distal end side where the recording device 38 is inserted, and when the recording device 38 is removed, the shirt 9 is returned by the urging force of the elastic body. When it is closed, it serves as a dust proof for the internal connection terminals, and also serves to protect it from external shocks.
  • connection terminal insertion portion 12 has a rectangular shape that is long in the lateral direction. It has a structure with a rounded shape so that the connection terminal 26 of the operating device 17 does not enter in the opposite direction, and has a different shape of the input hole so that the recording device 38 does not enter. . In this manner, the recording device 38 and the operation device 17 have a structure in which the insertion holes are different in size and shape so that they are not mistakenly inserted into each other.
  • the operating device 17 has a structure in which it can be operated by freely moving five fingers while holding it between the palms of both hands, and is formed in a circular shape connected to the left and right objects.
  • the third and fourth operation units 24, 25 protruding from the front sides of the first and second operation units 18 and 19, and the select switch 22 and the switch unit 23 provided on the It comprises a connection terminal part 26 for electrically connecting to the game machine body 2 and a cable 27.
  • the operation device 17 may be configured to be electrically connected to the game machine main body 2 by, for example, infrared rays without using the connection terminal 26 and the cable 27.
  • the operating device 17 can have a built-in device, such as a microphone, for vibrating itself. By vibrating the operation device 17 in accordance with the game scene, it is possible to give the user a more realistic feeling. It should be noted that a plurality of motors having different rotation speeds can be employed as the motors incorporated in the operation device 17. In this case, it becomes possible for the user to enjoy a small vibration or a large vibration suitable for a game, and a vibration obtained by combining them.
  • connection terminal part 26 is attached to the tip of a cable 27 for making an electrical connection with the game machine main body 2, and as shown in FIG.
  • a grip portion is provided which has a non-slip processing (for example, a single-let processing) in a so-called jagged pattern.
  • the grip portion provided on the connection terminal portion 26 forms a so-called insertion / removal portion, and its size, that is, its width W and length L are the same as the grip portion of the recording device 38 described later, for example. It has been.
  • the recording device 38 incorporates, for example, a nonvolatile memory such as a flash memory. On both sides, for example, a grip portion (FIG. 3) configured in the same manner as in the connection terminal portion 26 is provided.
  • a grip portion (FIG. 3) configured in the same manner as in the connection terminal portion 26 is provided.
  • the game console body 2 It is designed to be easily detachable. For example, when the game is temporarily interrupted, the state at that time is recorded (recorded) in the recording device 38, so that when the game is restarted, the state is recorded. By reading data from the game, the game can be restarted from the state corresponding to the data, that is, the state at the time of interruption.
  • the user When playing a game with the video game machine configured as described above, the user connects, for example, the operation device 17 to the game machine main body 2 and further, if necessary, the recording device 3 8 Also connected to the game console body 2. Further, the user operates the disc operation switch 6 to set the CD-ROM 51 as a game recording medium in the disc mounting section 3, and operates the power switch 5 to operate the game machine main body 2. Turn on the power. As a result, the image and sound for the game are reproduced in the game machine main body 2, so that the user operates the operation device 17 to play the game.
  • FIG. 5 shows an example of an electrical configuration of the game machine main body 2 of FIG.
  • the game machine body 2 has two buses, a main bus 101 and a sub-bus 102, as buses for exchanging data in each block, and the main bus 101
  • the sub bus 102 is connected via a path controller 116.
  • the main bus 101 includes a bus controller 1 16 as well as a main CPU (Central Processing Unit) 1 11 composed of, for example, a microphone processor, a main memory 1 12 composed of, for example, a RAM (Random Access Memory), and the like.
  • Main DMAC Direct Memory Access Controller
  • MDEC MPEG (Moving Picture Experts Group) Decoder
  • GPU Graphic Processor Unit
  • the sub bus 102 includes a GPU 115, for example, a sub CPU 121 configured similarly to the main CPU 111, for example, a sub memory 122 configured similar to the main memory 112, and a sub-DMAC 123 , ROM (Read Only Memory) 124 storing an operating system, etc., SPU (Sound Processing Unit) 125, ATM (Asynchronous Transmission Mode) communication unit 126, auxiliary storage device 127, and I / F (Interface for input device) ) 128 is connected.
  • a GPU 115 for example, a sub CPU 121 configured similarly to the main CPU 111, for example, a sub memory 122 configured similar to the main memory 112, and a sub-DMAC 123 , ROM (Read Only Memory) 124 storing an operating system, etc., SPU (Sound Processing Unit) 125, ATM (Asynchronous Transmission Mode) communication unit 126, auxiliary storage device 127, and I / F (Interface for input device) ) 128 is connected.
  • SPU Sound Processing Unit
  • the main bus 101 exchanges data overnight at a high speed
  • the sub bus 102 communicates data overnight at a low speed.
  • the sub-bus 102 is used to ensure the high speed of the main bus 101.
  • the bus controller 116 is configured to separate the main bus 101 and the sub-bus 102 or to connect the sub-bus 102 to the main bus 101. When the main bus 101 and the sub-bus 102 are disconnected, only the devices connected to the main bus 101 can be accessed from the main bus 101, and the devices connected to the sub-bus can also be accessed from the sub-bus 102. Although only the devices can be accessed, when the sub bus 102 is connected to the main bus 101, any device can be accessed from either the main bus 101 or the sub bus 102. For example, in an initial state such as immediately after the power of the device is turned on, the bus controller 116 is in an open state (a state in which the main bus 101 and the sub bus 102 are connected). ).
  • the main CPU 111 is a program stored in the main memory 112. Various processes are performed in accordance with. That is, for example, when the device is started, the main CPU 111 reads the boot program from the ROM 124 on the sub bus 102 (connected to the sub bus 102) via the bus controller 116 and executes the boot program. I do. This allows the main CPU 111 to transfer the application program (here, a game program or a program for performing a drawing process described later) and necessary data from the auxiliary storage device 127 to the main memory 112 or Sub memory 1 12 is loaded. Then, the main CPU 111 executes the program loaded in the main memory 112 in this way.
  • the application program here, a game program or a program for performing a drawing process described later
  • the main CPU 111 has a built-in GTE (Geometry Transfer Engine) 117, and this GTE 117 has, for example, a parallel operation mechanism that executes a plurality of operations in parallel.
  • GTE Global System for Mobile Communications
  • this GTE 117 has, for example, a parallel operation mechanism that executes a plurality of operations in parallel.
  • high-speed arithmetic processing such as coordinate conversion, geometry calculation such as light source calculation, matrix calculation, and vector calculation is performed.
  • the GTE 117 performs the processing (geometry processing) in accordance with the request from the main CPU 111, so that the polygons constituting the three-dimensional image to be displayed (in this specification, Generates a line of polygons having three or more vertices as well as straight lines (lines) and points (hereinafter referred to as polygon lines, as appropriate), and generates the main CPU.
  • the main CPU 111 receives the polygon data from the GTE 117, it performs perspective projection conversion and transfers it as data on a two-dimensional plane to the GPU 115 via the main bus 101. I do.
  • the main CPU 111 has a built-in cache memory (Cache) 119, and by accessing this cache memory 119 instead of accessing the main memory 112, the processing speed can be increased. It has been done.
  • the main memory 112 stores programs and the like, and also stores data required for the processing of the main CPU 111.
  • the main DMAC 113 controls DMA transfer for devices on the main bus 101. However, when the bus controller 116 is in the open state, the main DMAC 113 also controls devices on the sub-bus 102.
  • the MDEC 114 is an I / O device that can operate in parallel with the main CPU 111, and functions as an image decompression engine. That is, the MDE C 114 decodes the image data that has been compressed by the MDE C encoding.
  • the GPU 115 is designed to function as a rendering processor.
  • the GPU 115 receives the polygon data transmitted from the main CPU 111, and among the polygon data, for example, the color data of the vertices of the polygon and the depth (depth from the viewpoint) ) Is calculated based on the Z value and the like, and the rendering process is performed to write (draw) the pixel data constituting the polygon into the graphic memory 118. Further, the GPU 115 reads out the pixel data written in the graphic memory 118 and outputs it as a video signal.
  • the GPU 115 also receives polygon data from the main DMAC 113 or a device on the sub bus 102 as necessary, and performs rendering processing according to the polygon data.
  • the graphic memory 118 is composed of, for example, a DRAM or the like, and has a frame memory 141, a Z buffer 142, and a texture memory 143 as shown in FIG.
  • the frame memory 141 stores pixel data to be displayed on the screen for one frame, for example. Have been.
  • the Z buffer 142 stores the Z value of the foremost polygon in the image displayed on the screen.
  • the Z buffer 142 has a storage capacity capable of storing the Z value of one frame. are doing.
  • the texture memory 143 is configured to store the texture data to be pasted on the polygon.
  • the GPU 115 performs the rendering process using the frame memory 141, the Z buffer 142, and the texture memory 143. That is, the GPU 115 stores, in the Z buffer 142, the Z value of the foremost polygon among the polygons constituting the three-dimensional image, and stores the pixel value in the frame buffer 141 based on the stored value of the Z buffer 142. Determines whether to draw data. Then, when rendering pixel data, the texture data is read out from the texture memory 143, and pixel data to be rendered is obtained using the data, and is rendered in the frame memory 141. It has been done.
  • the GPU 115 is also configured to perform Z-sort in which polygons are rearranged in the depth direction. In this case, rendering is performed in order from the polygon in front.
  • the sub CPU 121 reads out and executes a program stored in the sub memory 122 to perform various processes. Similar to the main memory 112, the sub-memory 122 stores programs and necessary data.
  • the sub DMAC 123 controls the DMA transfer for devices on the sub bus 102. It should be noted that the sub DMAC 123 acquires the bus right only when the bus controller 116 is in the closed state (when the main bus 101 and the sub bus 102 are separated).
  • ROM 124 is bootable as described above. It stores programs and operating systems.
  • the ROM 124 stores programs for both the main CPU 11 1 and the sub CPU 121. Here, the ROM 124 has a low access speed, and is therefore provided on the sub-bus 102.
  • the SPU 125 receives a bucket transmitted from the sub CPU 121 or the sub DMA C 123, and reads out audio data from the sound memory 129 according to a sound command arranged in the bucket. ing. Then, the SPU 125 supplies the read audio data to a speaker (not shown) and outputs it.
  • the ATM communication unit 126 controls communication (control of ATM communication) performed via, for example, a public line (not shown). As a result, the user of the video game machine can exchange data with other video game machine users directly or via the Internet connection center, so-called personal computer communication center. It is designed to allow you to compete.
  • the auxiliary storage device 127 reproduces information (programs, data) stored in a CD-ROM 51 (FIGS. 1 and 4) by, for example, a disk drive.
  • the auxiliary storage device 127 also records and reads information from and to the storage device 38 (FIG. 1).
  • the input device I / F 128 is an input for receiving a signal corresponding to the operation of the operation device 17 (FIG. 1) as a control pad and an external input such as an image or sound reproduced by another device. At the evening festival, a signal corresponding to an external input is output on the sub-bus 102.
  • the sound memory 129 stores audio data (audio data).
  • the boot program is read out from the ROM 24 and executed by the main CPU 111, so that the auxiliary program is executed.
  • the program and the data are read out from the CD-ROM 51 (FIG. 4) set in the storage device 127, and are expanded in the main memory 112 and the sub memory 122.
  • the program expanded in the main memory 112 or the sub memory 122 is executed, so that an image of the game (here, a moving image is referred to as a moving image). Audio).
  • polygon data for drawing polygons constituting a predetermined three-dimensional image is generated according to the data stored in the main memory 112.
  • the polygon data is converted into a bucket, for example, and supplied to the GPU 115 via the main bus 101.
  • the GPU 115 When the GPU 115 receives the packet from the main CPU 111, it performs Z-sorting and draws in the frame memory 141 using the Z buffer 142 in order from the polygon in front. The drawing result for the frame memory 141 is appropriately read out by the GPU 115 and output as a video signal. Thus, a three-dimensional image for a game is displayed on a two-dimensional screen on a display (not shown) as a two-dimensional output device.
  • the sub CPU 121 generates a sound command instructing the generation of a voice according to the data stored in the sub memory 122.
  • This sound command is packetized and supplied to the SPU 125 via the sub bus 102.
  • the SPU 125 sends audio data from the sound memory 129 according to the sound command from the sub CPU 121. Is read and output. As a result, the background music of the game and other sounds are output.
  • the GPU 115 of the game console 2 draws the pixel data of the polygon with respect to the frame buffer 141.
  • the drawing position of the pixel data is determined with a precision smaller than one pixel. For example, a plurality of shift amounts for shifting with sub-pixel accuracy are set, and pixel data is drawn at each position (memory cell) of the frame buffer 141 corresponding to the plurality of shift amounts. As a result, polygons and 3D images composed of polygons are overwritten.
  • the point (X, y, z) Is subjected to a geometric process based on viewpoint information and the like, and is further subjected to perspective transformation, so that it is on a screen coordinate system (a coordinate system corresponding to a display screen for displaying a three-dimensional image) which is a two-dimensional plane.
  • a screen coordinate system a coordinate system corresponding to a display screen for displaying a three-dimensional image
  • X, y, z, X, Z, and Z are values expressed in floating point or fixed point.
  • Z representing a point (X, ⁇ , Z) on the screen coordinate system represents the position of the point in the depth direction from the viewpoint.
  • the GPU 115 obtains R, G, B signals (Ri, Gi, Bi) and others as color information of the point at the point (X, Y, ⁇ ⁇ ⁇ ) from the viewpoint, the light source, the texture, and the like.
  • i in Ri, Gi, B i represents an integer value
  • Ri, Gi, B i are represented by, for example, 8 bits each. Take the value of Then, for example, the number of overwriting is set to four times, and as shown in FIG.
  • dX, dY) is, for example, twice as large as the sub-pixel (here, 1/2 of one pixel) (0, 0, 0.0), (0.5, 0.0), Set to (0.5, 0.5) and (0.0, 0.5).
  • the rightward direction or the upward direction is the X axis or the Y axis (the positive direction of).
  • the CPU I 15 shifts the drawing position according to the shift amount (dX, d Y) and draws a point.
  • the GPU 115 shifts the point (X, Y, Z) by (0.0, 0.0) and shifts the shifted point (X, ⁇ , ⁇ ) to Convert to subpixel accuracy points (Xs, Ys, Zs) (hereinafter referred to as subpixel accuracy as appropriate).
  • subpixel accuracy a value of sub-pixel accuracy.
  • s in Xs, Ys, and Zs represents a value of sub-pixel accuracy.
  • the color information (R i, G i, B i) corresponding to the point (X s, Y s, Z s) is added to the position of the pixel including the sub-pixel corresponding to the point (X s, Y s, Z s).
  • a value divided by the number of overwrites is written in the color information (pixel data). Specifically, here, since the number of times of overwriting is four, (R i / 4, Gi / 4, Bi / 4) is written as the color information. Be included.
  • the X or Y coordinate of the point (X, Y, Z) to be drawn is 1.6 or 1.3, respectively
  • the point (1. 6, 1.3, Z) is shifted by (0.0, 0.0)
  • the shifted point (1.6, 1.3, Z) is shown in Figure 7 (A).
  • the position (1, 1) of the pixel including the subpixel corresponding to the point (1.5, 1.25, Zs) obtained by subpixel-precision conversion of () is obtained as shown in Fig. 7 (A).
  • the color information of 1Z4 of the color information that should be written (the part shown by the vertical dotted line in (A) in the figure) is written.
  • GPU I 15 shifts the point ( ⁇ , ⁇ , Z) by (0.5, 0.0) and subdivides the shifted point into a point (Xs, Ys, Zs). Increase pixel accuracy. Then, the color information (Ri, Gi, Bi) that is 1/4 is overwritten at the pixel position including the sub-pixel corresponding to the point (Xs, Ys, Zs).
  • the third and fourth renderings are performed in a similar manner. That is, for example, Now, if the X or ⁇ coordinates of the point to be drawn (X, ⁇ , ⁇ ) are 1.6 or 1.3, respectively, the point (1.6, 1.3, ⁇ ) Is shifted by (0.5, 0.5), and the shifted point (2.1, 1.8, ⁇ ) (indicated by the mark in Fig. 7 (C)) is converted to sub-pixel accuracy. As shown in Fig. 7 (C), the position of the pixel (2, 1) including the sub-vicel corresponding to the point (2.0, 1.75, Zs) is calculated as shown in Fig. 7 (C).
  • the color information (the part shown by the dotted line rising to the right in (C) in the same figure) is overwritten. Specifically, 1/4 of the color information that should be written is added to the already written color information at pixel (2, 1), and the added value is written to pixel (2, 1). It is.
  • the point (1.6, 1.3, ⁇ ) is shifted by (0.0, 0.5), and the shifted point (1.6, 1.8, ⁇ ) ) (Indicated by Hata in Fig. 7 (D)) is a subpixel-accurate point (1.5, 1.75, Zs). Then, as shown in FIG. 7 (D), 1/4 of the color information to be originally written (the portion indicated by the dotted line rising to the left in FIG. 7 (D)) is overwritten. Specifically, 1/4 of the originally written color information is added to the already written color information for pixel (1,1), and the added value is written to pixel (1,1,1). It is.
  • the resolution can be substantially quadrupled, and as a result, anti-aliasing can be performed.
  • the shift amount (dX, dY) in each of the four drawing operations is, as described above, (0.0, 0.0), (0.5, 0.0) , (0.5, 0.5), (0.0, 0.5) Since the position of the shifted point may move to the upper right from the original position, the shift amount (dX, dY) may be set to (-0 25,-0.25), (0.25, -0.25), (0.25, 0.25), (-0.25, 0.25), etc. (shift amount dX or dY It is also possible to make the average value of each of them 0).
  • FIGS. 7 and 8 16 sub-pixels are assumed for one pixel.
  • the GPU 115 uses the GPU 115 as a shift amount (dX, dY) of the drawing position in the screen coordinate system at the time of the first to fourth drawing.
  • the sub-pixel accuracy (here, half the accuracy of one pixel) is (0.0, 0.0), (0.5, 0.0), (0.0, 0.5), ( 0.5, 0.5) are set respectively.
  • the point (1.6, 2.2) is shifted by (0.0, 0.0).
  • the shifted point (1.6, 2.2) is subpixel-accurately converted to a point (1.5, 2.0) as indicated by the reference mark in Fig. 11 (A). You. And include the subpixel corresponding to the point (1.5, 2.0).
  • 1/4 of the color information to be originally written is written at the pixel position (1, 2).
  • the point (1.6, 2.2) is shifted by (0.5, 0.0). Further, the shifted point (2.1, 2.2) is converted to sub-pixel accuracy, and is converted to a point (2.0, 2.0) as shown by the reference mark in Fig. 11 (B). You. Then, at the pixel position (2, 2) including the subpixel corresponding to the point (2.0, 2.0), the original writing is performed as shown by the horizontal dotted line in FIG. 11 (B). Color information of 1/4 of the power color information is overwritten.
  • the point (1.6, 2.2) is shifted by (0.0, 0.5). Furthermore, the shifted point (1.6, 2.7) is converted to sub-pixel accuracy, and the point (1.5, 2.
  • the point (1.6, 2.2) is shifted by (0.5, 0.5). Furthermore, the shifted point (2.1, 2.7) is converted to sub-pixel accuracy, and is marked as a point (2.0, 2.5) as indicated by a circle in Fig. 11 (D). You. Then, for the pixel position (2, 2) including the sub-pixel corresponding to the point (2.0, 2.5), as shown by the dotted line rising to the left in Fig. 11 (D), 1/4 of the color information to be written is overwritten.
  • the accuracy of the sub-pixel is different between the case in FIG. 7 and the case in FIG. 11 (in FIG. 7, the accuracy is 1/16 of the pixel, and in FIG. This does not affect the image quality due to the overwriting. (In the case of performing the overwriting four times, the accuracy of the sub-pixel is 1/4 or 1/16. However, “by overwriting” has no effect on the improvement of the image quality. If overwriting is not considered, the higher the subpixel accuracy, the better the image quality.)
  • the number of times of overwriting is set to four, and the shift amount during the four drawing operations is (0.0, 0.0), (0.5, 0.0), (0.0) , 0.5), (0.5, 0.5), the X or Y coordinates of the point (X, Y) are, for example, 1.5 or more and less than 2.0 or 2.5 or more 3
  • the coordinates (1, 2,), (2, 2), (1, 3,), (2, 3) are obtained by the first to fourth drawing.
  • Each of the pixels represented is drawn.
  • the pixels represented by the coordinates (1, 2), (2, 2), (1, 2), (2, 2) are respectively drawn.
  • the color information of 1/4 of the color information to be written is overwritten twice each.
  • the luminance is represented by 8 bits and the luminance of the point (X, Y) is the maximum value of 255, it is represented by the coordinates (1, 2) and (2, 2).
  • the X or Y coordinate of the point (X, Y) is, for example, 1.0 or more and less than 1.5 or 2.5 or more and less than 3.0, respectively, as shown in FIG.
  • the pixels represented by the coordinates (1, 2), (1, 3), (1, 2), and (1, 3) are rendered, respectively.
  • 1/4 of the color information to be written is overwritten twice each. Therefore, if the luminance is now represented by 8 bits and the luminance of the point (X, Y) is the maximum value of 255, the coordinates (1, 2) and (1, 3)
  • the luminance of each pixel is 128, as in the case of FIG. 13 (B).
  • the X or Y coordinate of the point (X, Y) is, for example, 1.0 or more and less than 1.5 or 2.0 or more and less than 2.5, respectively, as shown in FIG.
  • the rendering of the pixel represented by the coordinates (1, 2) is performed.
  • the start point or end point of the line segment to be drawn is represented as (xl, yl, z1) or (x2, y2, z2), respectively. It is assumed that the start point and the end point are points on the screen coordinate system after the perspective transformation (perspective projection transformation). For example, suppose that the number of overwrites is four, and as shown in Fig. 14, the horizontal and vertical lengths of one pixel are each divided into four equal parts. Assuming that the number of subpixels is assumed, the GPU 115 calculates the shift amount (dX, dY) of the drawing position in the screen coordinate system at the time of drawing the first to fourth line segments, for example, (0.0, 0. 0), (0.5, 0. 0), (0.5, 0.5), (0. Set to 0, 0.5) respectively.
  • the CPU I15 draws a line segment by shifting the drawing position according to the shift amount (dX, dY).
  • GPU 115 sets the starting points (X 1, y 1, z 1) and (x2, y 2, z 2) to (0.0, 0.0) Shifting, and a DDA (Digital Differential Analyze) operation to be described later interpolates between the shifted starting point and the ending point to obtain a sub-pixel accuracy point and color information at the point.
  • DDA Digital Differential Analyze
  • pixels including two or more sub-pixels corresponding to the sub-vicel accuracy points forming the line segment are to be drawn.
  • the pixels to be drawn have color information, for example, The average value (1Z4) of the color information of the sub pixel contained in the pixel is written.
  • the second and fourth renderings are also 1 except that the amount of displacement is (0.5, 0.0), (0.5, 0.5), (0.0, 0.5). It is performed in the same manner as in the case of the second drawing.
  • the starting point or the ending point of the line segment to be drawn is, for example, a point (1.6, 1.3, z1) or a point (4.6, 4.3, z2), respectively.
  • the pixel drawn in the area indicated by the vertical dotted line in Fig. 14 (A) is drawn, and in the second drawing, the pixel is drawn in the horizontal dotted line in Fig. 14 (B).
  • the pixel drawing of the portion indicated by the dotted line rising to the right in FIG. 14 (C) is drawn, and in the fourth drawing, the pixel drawing in the left drawing is shown in FIG. 14 (D). Drawing of the pixels indicated by the dotted lines is performed respectively.
  • FIGS. 14 and 15 16 sub-pixels are assumed for one pixel.
  • FIG. 16 for example, as shown in FIG.
  • the point (1.6, 1.3, z1) or the point (4.6, 4.3, z2) is set to the starting point or the ending point, respectively, by overwriting four times.
  • a shift amount (dX, dY) of the drawing position in the screen coordinate system at the time of the first to fourth drawing for example, a sub-pixel accuracy (here, one pixel (0,0,0), (0,5,0), (0,0,5), (0,5,0.5) are If it is set, in the first drawing, the drawing of the pixel indicated by the dotted vertical line in Fig. 16 (A) is drawn, and in the second drawing, the pixel in the horizontal direction is drawn in Fig. 1 (B). In the third drawing, the drawing of the pixel indicated by the dotted line is shown in FIG. 16 (C). The drawing of the pixel indicated by the dotted line rising to the right is shown in FIG. 16 (C). The pixel drawn in the area indicated by the rising dotted line It has been carried out.
  • a sub-pixel accuracy here, one pixel (0,0,0), (0,5,0), (0,0,5), (0,5,0.5
  • pixels that include one or more subpixels corresponding to the sub-pixel accuracy points constituting the line segment are to be drawn, and pixels that include a plurality of such subpixels are color-coded.
  • the information for example, the average value (1/4) of the color information of the sub pixel contained in the pixel is written.
  • step S1 the main CPU 111 executes, for example, a process for drawing polygons constituting a three-dimensional image of one frame via the main bus 101. , Read from the main memory 112 and supply it to the GTE 111.
  • GTE 111 in step S2, each polygon in the three-dimensional space is subjected to a geometry process based on the viewpoint, and further, the data after the geometry process is perspective-transformed.
  • the viewpoint is given, for example, by the user operating the operation device 17 (FIG. 1).
  • step S3 the main CPU 111 calculates the brightness and the texture address of the polygon in the screen coordinate system after the perspective transformation, thereby obtaining the polygon data, and the main bus. It is supplied to GPU 1 15 through 10 1.
  • examples of the polygon data include X, Y, Z, R, G, B, hi, S, T, Q, and F.
  • X, ⁇ , Z, R, G, B, a, S, T, Q of X, ⁇ , Z, X, Y, Z are the X, ⁇ , Z coordinates of each of the three vertices of the triangular polygon.
  • R, G, and B represent the luminance values of red (Red), green (Green), and blue (Blue) at each of the three vertices.
  • the blending coefficient represents the blending ratio when the RGB value of the pixel to be drawn and the RGB value of the pixel already drawn are blended.
  • the pixel value (R GB value) of the pixel to be drawn is F c
  • the pixel value of the pixel already drawn is B c
  • the pixel value c c as a result of these blending is given by, for example, the following equation.
  • S, T, and Q represent the texture coordinates (homogeneous coordinates for the texture) at each of the three vertices of the triangular polygon. That is, here, a pattern (texture) is applied to the surface of the object by texture mapping (texture mapping), and S, T, and Q are used in this texture mapping.
  • the value obtained by multiplying S / Q and T / Q by the texture size is the texture address.
  • F is a fog value indicating the degree of blurring when a pixel to be drawn is blurred. For example, the larger this value is, the more blurry the image is displayed.
  • step S4 the main CPU 111 estimates the drawing time of one frame. That is, the main CPU 111 draws one frame, for example, only once, based on the number of polygons read out in step S1, ie, the number of polygons drawn in one frame. Estimate the drawing time. Then, in step S5, the main CPU 111 determines the number N of overwrites based on the drawing time estimated in step S4, and supplies it to the GPU 115 via the main bus 101.
  • the number of overwrites is a fixed value of 4 times, but if the number of overwrites is a fixed value, polygons constituting one frame
  • the number of is large, the drawing may not be completed in one frame time, and the processing may fail.
  • the dynamic range of RGB values and the accuracy of sub-pixels must be considered.
  • the overwriting is performed as many times as possible as long as the processing does not break down (here, the frame rate can be maintained).
  • the number N of overwriting is determined adaptively based on the drawing time of the frame.
  • the number of times of overwriting may be a fixed value so that the processing is not broken.
  • the effect of improving image quality by overwriting is theoretically maximum when overwriting is performed the same number of times as the number of sub-pixels constituting one pixel, and overwriting is performed more times than the number of overwriting.
  • no further effect can be obtained. Therefore, even if the processing capacity of the device is sufficient and the number of overwrites is equal to or greater than the number of subpixels constituting one pixel, if the processing does not fail, the number of overwrites can be called a useless process.
  • the number of sub-pixels constituting one pixel be equal to the number of sub-pixels so as to avoid the necessity. For the same reason, when the number of overwrites is determined appropriately as described above, if the number of times exceeds the number of sub-pixels forming one pixel, the number of sub-pixels forming one pixel It is desirable to limit to the number.
  • step S6 the shift amount (dX, dY) used for each drawing when the main CPU 111 draws the number N of overwrites is determined. It is set and supplied to the GPU 115 via the main bus 101. It is desirable that the shift amount be equal to or higher than the sub-pixel accuracy and smaller than the accuracy of one pixel.
  • the GPU 115 When the GPU 115 receives the one-frame polygon data supplied from the main CPU 111 as described above, the number of overwrites N, and the shift amount for the number of overwrites, the GPU 115 proceeds to step S7. In the Z sort By doing so, the polygons that make up one frame are rearranged in the depth direction.
  • the details of the Z sort are disclosed in, for example, Japanese Patent Application Laid-Open No. 7-114654.
  • step S8 the GPU 115 clears the frame buffer 141 to, for example, ⁇ , proceeds to step S9, and initializes a variable n for controlling the number of times of drawing to 1, for example. Then, the process proceeds to step S10, where the GPU 115 corrects the shift amount used for the n-th drawing of each polygon based on the movement.
  • the polygon data includes a polygon motion vector in addition to the data described above.
  • the motion vector of a polygon is (vx, vy) and (dXn, d Yn) is set as the shift amount used for the nth drawing of the polygon
  • the shift amount (dXn , D Yn) is corrected to, for example, (dXn + vx / N, dYn + vy / N).
  • the effect of motion blur can be obtained by correcting the amount of displacement in this way and drawing.
  • step S11 the GPU 115 shifts the coordinates of the vertices of each polygon by the corrected shift amount, and then proceeds to step S12.
  • step S12 in the GPU 115, the Z buffer 142 is initialized to, for example, + ⁇ (here, it is assumed that the Z value increases toward the back of the screen), and the process proceeds to step S13.
  • step S13 the coordinates of the vertices of the polygon are converted to sub-pixel accuracy, and the DDA operation is performed with sub-pixel accuracy, thereby obtaining the RGB values and the like of the sub-pixels forming the sides and inside of the polygon.
  • the DDA operation is an operation for obtaining each value (such as an RGB value) of a pixel constituting a line segment connecting the two points by linear interpolation between the two points. That is, for example, with one of the two points as the starting point, If the other is the end point and the start point and end point are given a certain value, the difference between the value given to the end point and the value given to the start point is the difference between the start point and the end point. By dividing by the number of pixels, the amount of change (rate of change) of the values given to the start point and the end point is obtained, and this is calculated as the value given to the start point as it progresses from the start point to the end point.
  • each value such as an RGB value
  • step S14 the GPU 1 15 performs an overwriting process of writing the RGB values of the pixels constituting the polygon into the frame buffer 141 using the Z buffer 142.
  • the final RGB value to be written into the frame buffer 141 in step S14 is determined in the GPU 115 as follows, for example.
  • the GPU 1 15 performs texture mapping based on the polygon data X, Y, Z, R, G, B, a, S, T, and Q for each subpixel constituting the polygon, which is the result of the DDA operation. I do.
  • the CPU 115 calculates the texture addresses U (S / Q) and V (T / Q) by, for example, dividing each of S and T by Q, and if necessary, X and Y coordinates of each sub-pixel by performing various filtering processes Is calculated. That is, the GPU 115 reads out texture color data (Texture Color Data) corresponding to the texture addresses U and V from the texture memory 143.
  • texture color data Textture Color Data
  • the GPU 115 performs various filtering processes on the RGB value as the texture data and the RGB value as the DDA operation result, that is, for example, the two are processed at a predetermined ratio. It mixes and then mixes the preset colors according to the fog value F to calculate the final RGB value of each sub-vicel that makes up the polygon.
  • step S14 the RGB values obtained as described above are written to the frame buffer 141.
  • writing to the frame buffer 141 is performed in principle from polygons rearranged in the depth direction by Z-sort in step S7, starting from the one closest to the viewpoint. The reason for this will be described later.
  • the RGB value of that sub-pixel corresponds to the pixel in the frame buffer 141 that includes the sub-pixel. If more than one of the sub-pixels that make up one pixel is to be rendered, the RGB values of the sub-pixels, for example, the average value, are written.
  • step S14 when the writing of the RGB values for one frame to the frame buffer 141 is completed, the process proceeds to step S15, where it is determined whether or not the variable n is greater than the number N of overwrites. If determined, the process proceeds to step S16, the variable n is incremented by 1, and the process returns to step S19. Then, in step S10, the GPU 115 uses the shift amount used for the n-th drawing of each polygon as the movement thereof. Thereafter, the processing of steps S 19 to S 16 is repeated until it is determined in step SI 5 that the variable n is larger than the number N of overwriting. As a result, overwriting is performed.
  • step S15 if it is determined in step S15 that the variable n is larger than the number N of overwriting, that is, if N overwriting is performed for one frame, the GPU 115 1 Read out the RGB values for one frame stored in 1 and output them to the display, then return to step S1. Then, in step S 1, the main CPU 111 transmits the data for drawing the polygons constituting the next one-frame three-dimensional image to the main memory 111 via the main bus 101. , And the same processing is repeated thereafter, thereby displaying the work image. Next, as described above, the polygons rearranged in the depth direction by Z-sorting are written in order from the viewpoint closer to the viewpoint, as described above. As described later, the writing of the RGB values of the image data is added to the RGB values already written in the frame buffer 141 so that the data is overwritten.
  • the Z buffer 144 is cleared in step S12 before the overwriting process is performed in step S14, so that the frame buffer 1 4 In 1, all of frame C
  • the Z buffer 142 enters the state where the value corresponding to infinity (the deepest side) has been written as the Z value, as shown in Fig. 19 (B). ing.
  • polygon B on the back side of polygon A or B is written first, and then polygon A on the front side is written, then when polygon B is drawn, Z Since the Z value stored in buffer 144 represents infinity, polygon B is drawn using Z buffer 144, that is, the RGB values of polygon B are already stored in frame buffer. By adding to the RGB value stored in 141, the polygon B part of frame C already drawn in frame buffer 141 overlaps as shown in Fig. 20 (A). Written. In this case, the Z value of polygon B is written in the portion corresponding to polygon B of Z buffer 144.
  • the polygons are drawn by the Z-sorted polygons rearranged in the depth direction. Are performed in order from the one closest to the viewpoint.
  • the polygon A on the near side is written first, and then the polygon B on the back side is written.
  • the Z value stored in the Z buffer 144 represents infinity, so that the polygon A is drawn by using the Z buffer 144, That is, by adding the RGB value of polygon A to the RGB value already stored in frame buffer 141, as shown in FIG. 21 (A), it is already stored in frame buffer 144.
  • the polygon A portion of the drawn frame C is overwritten.
  • the Z value of polygon A is written in the portion corresponding to polygon A in Z buffer 144.
  • the hidden surface removal when overwriting is performed by Z sort and Z
  • a buffer similar to the frame buffer 141 hereinafter, appropriately referred to as a second frame buffer. That is, drawing may be performed on the second frame buffer using the Z buffer 142, and the drawing result of the second frame buffer may be overwritten on the frame buffer 141.
  • it is not necessary to perform the Z sort but it is necessary to provide a second frame buffer having the same capacity as the frame buffer 141.
  • the combination of Z-sort and Z-buffer 14 4 2 can be used in addition to hidden surface removal when performing overwriting, for example, when drawing semi-transparent polygons, drawing shadows, etc. It can be used to generate natural images when rendering with blending.
  • the processing using the combination of Z-sorting and Z-buffer is different when performing hidden surface removal during overwriting or when rendering semi-transparent polygons. It is necessary to switch according to.
  • step S14 in FIG. 18 will be described with reference to the flowchart in FIG. Note that, here, for simplicity of explanation, it is assumed that sub-pixels are not considered, and that a Z value or an RGB value has already been given in pixel units.
  • the pixel at the Xth position from the left and the yth position from the top is represented as p (X, y)
  • the Z value of the pixel p (x, y) is represented as Z (x, y).
  • the stored value corresponding to the pixel p (x, y) stored in the Z buffer 142 is represented as depth (x, y), respectively.
  • the stored value of the position corresponding to the pixel P (X, y) in the frame buffer 141 is represented by n (x, y).
  • n (x, y) the stored value of the position corresponding to the pixel P (X, y) in the frame buffer 141.
  • a predetermined pixel p (x, y) of the pixels constituting the frame to be drawn is set as a target pixel, and the target pixel p ( It is determined whether the Z value Z (x, y) of x, y) is equal to or less than the stored value depth (x, y) of the Z buffer 142.
  • step S21 when it is determined that the Z value Z (X, y) is not less than the stored value depth (X, y), that is, from the polygon including the target pixel p (X, y), If there is a polygon in the foreground and has already been written to the frame buffer 141, the process returns to step S21, and a pixel that has not yet been set as a target pixel is newly set as a target pixel. Is repeated.
  • step S21 If it is determined in step S21 that the Z value Z (X, y) is equal to or smaller than the stored value depth (x, y), the process proceeds to step S22, where a luminance reduction process is performed. That is, when the RGB value of the pixel of interest p (X, y) is M (X, y), the RGB value M (x, y) is divided by the number of overwrites N, and the divided value (here, Will be rounded down to the nearest decimal point) as the RGB value m (X, y) to be overwritten.
  • M (x, y) / N is an integer, but if it contains decimals, the brightness will decrease. That is, for example, when the maximum value of the luminance value is 255, and drawing of the luminance value of the maximum value of 255 is performed by overwriting four times, the luminance reduction processing is performed by one time.
  • step S23 the stored value n (x, y) corresponding to the pixel of interest p (x, y) is read from the frame buffer 141, and the process proceeds to step S24 to reduce the brightness. It is overwritten by adding to the processed RGB value m (X, Y). Here, this addition result is represented as V (X, y).
  • step S25 the addition result in step S24, that is, the overwriting result V (X, y), is stored in the frame buffer 141 at the position where n (X, y) was stored (pixel of interest p (X, y The position corresponding to) is overwritten.
  • This V (X, y) will be read out as the stored value n (, y) the next time the pixel p (x, y) is drawn.
  • step S25 the stored value depth (x, y) of the Z buffer 142 is rewritten to the Z value Z (x, y), and the process proceeds to step S26, where all the pixels constituting the frame to be drawn are set. Is determined as the pixel of interest.
  • step S26 the drawing target If it is determined that all the pixels constituting the frame have not yet been set as the target pixel, the process returns to step S21, and a pixel that has not been set as the target pixel is newly set as the target pixel. repeat.
  • step S26 if it is determined in step S26 that all pixels constituting the frame to be drawn have been set as the target pixel, the process returns.
  • the luminance reduction processing can be performed by using the blending.
  • N times of I NT [h xM (x, y)] is smaller than the original RGB value M (x, y)
  • N times of INT [h xM (x, y)] becomes A is corrected so that the RGB value of M is equal to or more than M (X, y).
  • A is added to 32 corresponding to 1/4, for example, 1 is added. It should be corrected to 33.
  • a plurality of shift amounts are set to shift the drawing position when drawing the RGB values of each pixel to the frame buffer 141 with a precision smaller than one pixel, and the plurality of shift amounts are set.
  • the image is overwritten by drawing the RGB values at the corresponding positions of the frame buffer 1 4 1, respectively, so it is effective without using a large-capacity, high-speed frame buffer or Z buffer.
  • Anti-aliasing can be applied.
  • the effect of anti-aliasing by overwriting as described above extends not only to the edges of polygons, but also to the interior of polygons and to the parts where three-dimensional shapes intersect. It is possible to improve not only the image quality but also the image quality of the entire image.
  • the present invention can also be applied to a device that performs graphics processing such as effect effects for giving a special effect to an image or CAD. is there.
  • the present invention is also applicable to, for example, a recording / reproducing device or a transmission device which encodes and records / reproduces a natural image captured by a video camera or the like, or transmits / receives the natural image.
  • a recording / reproducing device or a transmission device which encodes and records / reproduces a natural image captured by a video camera or the like, or transmits / receives the natural image.
  • the drawing process is performed in units of frames.
  • the drawing process may be performed in units of fields.
  • the present invention is applicable to drawing of both moving images and still images.
  • the present invention is also applicable to, for example, rendering of two-dimensional graphics.
  • the shift amount is not limited to the sub-pixel accuracy, and may be larger or smaller.
  • the combination program for performing the above-described drawing processing is recorded on the CD-ROM 51 and provided.
  • the combination program is provided by a CD-ROM or a magneto-optical disk.
  • a disc or other recording medium it is also possible to use, for example, the Internet, a satellite line, or another transmission medium.
  • the drawing process can be performed not only by causing the processor to execute a program for viewing the program, but also by a dedicated hardware.
  • a three-dimensional image is displayed on a display.
  • the present invention is also applicable to a case where a three-dimensional image is printed by a printer (two-dimensional output device). It is possible.
  • the drawing of the image of one frame is performed while being shifted in both the X direction and the Y direction, but it is also possible to shift the image in only one of the directions. That is, the shift amount (dX, dY) is, for example, (0.0, -0.2), (0.0, -0.1), (0.0, 0.1), (0. 0, 0.2) etc. Further, the shift amount (dX, dY) can be determined in advance, for example, by the number of overwrites.
  • the higher the number of overwrites the higher the resolution can be improved, but as the number of overwrites increases, the RGB value drawn at one time by the brightness reduction process Since the number of bits for expressing is reduced, the gradation of the image is degraded. Therefore, it is desirable to determine the number of overwrites not only from the viewpoint of resolution but also considering the gradation.
  • a plurality of shift amounts for shifting the drawing position when drawing pixel data in the pixel data storage means with a finer precision than one pixel are set.
  • the image is overwritten by drawing the pixel data at each position of the pixel data storage means corresponding to the shift amount.
  • the drawing apparatus, the drawing method, and the providing medium according to the present invention include, for example, a three-dimensional graphic computer, which is a video device using a computer, and a special effect device (F Kikuyo).
  • a three-dimensional graphic computer which is a video device using a computer
  • a special effect device F Kikuyo
  • the effect of anti-aliasing extends not only to the edges of polygons, but also to the interior of polygons and to the parts where three-dimensional shapes intersect.
  • the image quality of the entire image can be improved, it is suitable for displaying a high-quality image.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Description

曰月糸田 β 描画装置および描画方法、 並びに提供媒体 技術分野
本発明は、 描画装置および描画方法、 並びに提供媒体に関し、 特に、 例えば、 コンピュータを用いた映像機器である 3次元グラフィックコン ピュ一夕や、 特殊効果装置(エフェク夕)、 ビデオゲーム機などにおいて、 高画質の画像を表示することができるようにする描画装置および描画方 法、 並びに提供媒体に関する。 一肖:
プロセッサやメモリなどの高集積化、 高速化等に伴い、 従来は困難で あった 3次元画像のリアルタイム生成が可能となり、 これにより、 例え ば、 ビデオゲーム機などにおいては、 臨場感のある 3次元画像の表示が 可能となっている。 なお、 3次元画像を表示する場合においては、 多く の場合、 その 3次元画像を複数のポリゴン (単位図形) に分解し、 これ らのポリゴンそれぞれを描画することで、 3次元画像全体を描画するよ うになされている。 従って、 このようにして描画される 3次元画像は、 ポリゴンの組合せにより定義されているということができる。
ところで、 例えば、 3次元画像の表示は、 それを構成するポリゴンの データについて、 座標変換や、 クリヅビング (Clipping) 処理、 ライテ ィング (Lighting) 処理等のジオメ トリ (Geometry) 処理を施し、 その 処理の結果得られるデータを透視投影変換することにより、 3次元空間 上のデ一夕を 2次元平面上の画素データにして、 それを描画することで 行われるが、 その描画の際には、 それまで、 浮動小数点または固定小数 点で表されていたポリゴンの位置が、 それを画面上の固定の位置にある 画素に対応させるのに整数化されるため、 エイリアシング (aliasing) が生じ、 ジャギー(jaggy) と呼ばれる階段状のギザギザが発生すること により、 例えば、 ビデオカメラで撮影した画像などよりも、 画質が低下 する課題があった。
さらに、 3次元画像が動画像である場合には、 エイリアシングは、 画 像のちらつきとなって現れ、 それを見ているユーザに煩わしさを感じさ せる課題があった
ここで、 エイリアシングは、 画像に限られず、 信号を、 有限個の点で サンプリングするときに、 そのサンプリングする点の数が少なすぎるこ とに起因して発生するサンプリング誤差である。
エイリアシングによる画質の低下を低減する方法としては、 例えば、 1画素を、 より細かいサブピクセルと呼ばれる単位に仮想的に分割し、 そのサブピクセル単位で、 レイ トレーシングの計算などを行った後に、 その計算結果を、 1画素単位で平均化するものがあるが、 レイ トレーシ ングの計算には、 かなりの時間を要するため、 プロセッサやメモリなど のハードウェアの高速化が進んだといっても、 動画像について、 リアル タイムで、 上述のようなレイ トレーシングの計算を行うのは、 いまのと ころ困難である。 即ち、 動画像は、 一般に、 1秒間あたり、 2 0乃至 3 0フレーム程度で構成されるが、 現状では、 ある程度廉価なハ一ドゥエ ァによって、 レイ トレーシングの計算を、 1秒間あたりに、 サブピクセ ル単位で、 2 0乃至 3 0回も行うのは困難である。
また、 高解像度の画像を生成し、 それをフィル夕リングして画素数を 減らすことで、 アンチエイリアシングを行う (エイリアシングによる画 質の低下を低減する) 方法もあるが、 この方法により、 動画像を表示す る場合には、 高解像度の画像を記憶するための大容量かつ高速なフレー ムバッファや zバッファが必要となり、 装置が高コスト化および大型化 する。
さらに、 アンチエイリァシングを施すその他の方法としては、例えば、 ある図形を表示する場合に、 画素の中を、 図形が占める割合を求め、 そ の割合に基づいて、 図形と背景とを、 いわゆるひプレンディング (アル ファブレンデイング) する方法がある。 しかしながら、 この方法によれ ば、 図形のエッジについては、 アンチエイリアシングが施されるが、 図 形に貼り付けられるテクスチャのちらつきや、 3次元形状どおしが交わ つている部分(交線) (例えば、 2つの球のうちの一方が他方にめり込ん でいる場合の、 その 2つの球が交わっている部分) に生じるエイリアシ ングなどには効果がない。
本発明は、 このような状況に鑑みてなされたものであり、 装置の高コ スト化ゃ大型化を極力避けて、 エイリアシングに起因する画質の低下を 低減することができるようにするものである。 発明の開示
請求の範囲第 1項に記載の描画装置は、 画素データを、 画素データ記 憶手段に描画するときの描画位置を、 1画素より細かい精度でずらすた めの複数のずらし量を設定するずらし量設定手段と、 画素データ記憶手 段における、 ずらし量設定手段により設定された複数のずらし量に対応 する位置それぞれに、 画素デ一夕を描画することにより、 画像を重ね書 きする描画手段とを備えることを特徴とする。
請求の範囲第 4 3項に記載の描画方法は、 画素データを、 画素データ 記憶手段に描画するときの描画位置を、 1画素より細かい精度でずらす ための複数のずらし量を設定するずらし量設定ステップと、 その複数の ずらし量に対応する、 画素データ記憶手段の位置それぞれに、 画素デー 夕を描画することにより、 画像を重ね書きする描画ステップとを備える ことを特徴とする。
請求の範囲第 7 5項に記載の提供媒体は、 画素データを、 メモリに描 画するときの描画位置を、 1画素より細かい精度でずらすための複数の ずらし量を設定するずらし量設定ステップと、 その複数のずらし量に対 応する、 メモリの位置それぞれに、 画素デ一夕を描画することにより、 画像を重ね書きする描画ステップとを備えるコンビユー夕プログラムを 提供することを特徴とする。
請求の範囲第 1項に記載の描画装置においては、ずらし量設定手段は、 画素データを、 画素データ記憶手段に描画するときの描画位置を、 1画 素より細かい精度でずらすための複数のずらし量を設定し、描画手段は、 画素データ記憶手段における、 ずらし量設定手段により設定された複数 のずらし量に対応する位置それぞれに、 画素データを描画することによ り、 画像を重ね書きするようになされている。
請求の範囲第 4 3項に記載の描画方法においては、 画素データを、 画 素デ一夕記憶手段に描画するときの描画位置を、 1画素より細かい精度 でずらすための複数のずらし量を設定し、 その複数のずらし量に対応す る、 画素デ一夕記憶手段の位置それぞれに、 画素データを描画すること により、 画像を重ね書きするようになされている。
請求の範囲第 7 5項に記載の提供媒体においては、 画素データを、 メ モリに描画するときの描画位置を、 1画素より細かい精度でずらすため の複数のずらし量を設定し、 その複数のずらし量に対応する、 メモリの 位置それぞれに、 画素データを描画することにより、 画像を重ね書きす る処理をコンピュータに行わせるためのコンピュータプログラムを提供 するようになされている。 図面の簡単な説明
第 1図は、 本発明を適用したビデオゲーム機の一実施の形態の構成例 を示す平面図である。
第 2図は、 第 1図のビデオゲーム機の正面図である。
第 3図は、 第 1図のビデオゲーム機の側面図である。
第 4図は、 C D— R O M 5 1を示す平面図である。
第 5図は、 第 1図のゲーム機本体 2の電気的構成例を示すプロック図 である。
第 6図は、 第 5図のグラフィックメモリ 1 1 8の詳細構成例を示すブ ロック図である。
第 7図は、 点の重ね書きを説明するための図である。
第 8図は、 点の重ね書き結果を示す図である。
第 9図は、 2 X 2のサブピクセルで構成される画素を示す図である。 第 1 0図は、 点を、 重ね書きせずに、 1回で描画したときの描画結果 を示す図である。
第 1 1図は、 点の重ね書きを説明するための図である。
第 1 2図は、 点の重ね書き結果を示す図である。
第 1 3図は、 描画対象の点の位置と、 重ね書き結果との関係を説明す るための図である。
第 1 4図は、 直線の重ね書きを説明するための図である。
第 1 5図は、 直線の重ね書き結果を示す図である。
第 1 6図は、 直線の重ね書きを説明するための図である。
第 1 7図は、 直線の重ね書き結果を示す図である。
第 1 8図は、 第 5図のゲーム機本体 2におけるポリゴンの描画処理を 説明するためのフローチャートである。
第 1 9図は、 視点に近いポリゴンから順に、 描画を行う理由を説明す るための図である。
第 2 0図は、 視点に遠いポリゴンから順に、 描画を行った場合を説明 するための図である。
第 2 1図は、 視点に近いポリゴンから順に、 描画を行った場合を説明 するための図である。
第 2 2図は、 第 1 8図のステップ S I 4の処理のより詳細を説明する ためのフローチヤ一トである。 発明を実施するための最良の形態
以下に、 本発明の実施の形態を説明するが、 その前に、 請求の範囲に 記載の発明の各手段と以下の実施の形態との対応関係を明らかにするた めに、 各手段の後の括弧内に、 対応する実施の形態 (但し、 一例) を付 加して、 本発明の特徴を記述すると、 次のようになる。
即ち、 請求の範囲第 1項に記載の描画装置は、 画像を描画する描画装 置であって、 画像を出力する 2次元出力装置に出力させる画素データを 記憶する画素データ記憶手段 (例えば、 第 6図に示すフレームバッファ 1 4 1など) と、 画素データを、 画素デ一夕記憶手段に描画するときの 描画位置を、 1画素より細かい精度でずらすための複数のずらし量を設 定するずらし量設定手段と (例えば、 第 1 8図に示すプログラムの処理 ステップ S 6など)、画素デ一夕記憶手段における、ずらし量設定手段に より設定された複数のずらし量に対応する位置それぞれに、 画素データ を描画することにより、 画像を重ね書きする描画手段 (例えば、 第 1 8 図に示すプログラムの処理ステップ S 1 4など) とを備えることを特徴 とする。
請求の範囲第 3, 1 4 , 2 5、 および 3 5項に記載の描画装置は、 描 画手段が画像を重ね書きする重ね書き回数を決定する回数決定手段 (例 えば、 第 1 8図に示すプログラムの処理ステップ S 5など) をさらに備 えることを特徴とする。
請求の範囲第 4, 1 5, 2 6、 および 3 6項に記載の描画装置は、 描 画手段が、 1画面分の画素データを、 画素データ記憶手段に描画するの にかかる描画時間を推定する推定手段 (例えば、 第 1 8図に示すプログ ラムの処理ステップ S 4など) をさらに備え、 回数決定手段が、 推定手 段により推定された描画時間に基づいて、 重ね書き回数を決定すること を特徴とする。
請求の範囲第 6, 1 7 , 2 8、 および 3 8項に記載の描画装置は、 画 像が動画像である場合において、 動画像の働きに基づいて、 ずらし量を 補正する補正手段 (例えば、 第 1 8図に示すプログラムの処理ステップ S 1 0など) をさらに備えることを特徴とする。
請求の範囲第 8および 1 9に記載の描画装置は、 画像が、 単位図形の 組合せにより定義される 3次元画像である場合において、 単位図形を、 その奥行き方向順に並べ替える並べ替え手段 (例えば、 第 1 8図に示す プログラムの処理ステップ S 7など) をさらに備え、 描画手段が、 単位 図形を、 視点に近いものから順に描画することを特徴とする。
請求の範囲第 1 2項に記載の描画装置は、 所定の入力を与えるときに 操作される操作手段 (例えば、 第 1図に示す操作装置 1 7など) と、 記 録媒体に記録されているデ一夕を読み込み、 そのデ一夕を用いて、 操作 手段からの入力に基づき、 所定の演算を行う演算手段 (例えば、 第 5図 に示すメイン C P U 1 1 1など) と、 演算手段による演算結果に基づい て、 画素データを求める画素データ生成手段 (例えば、 第 5図に示す G P U 1 1 5など) とをさらに備えることを特徴とする。
請求の範囲第 2 3項に記載の描画装置は、 画像が、 単位図形の組合せ により定義される 3次元画像である場合において、 視点に応じて、 3次 元画像を構成する単位図形を、 2次元出力装置の座標系のものに変換す る変換手段 (例えば、 第 5図に示すメイン C P U 1 1 1など) と、 変換 手段によって変換された単位図形を、 その奥行き方向順に並べ替える並 ベ替え手段 (例えば、 第 1 8図に示すプログラムの処理ステップ S 7な ど) と、 単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手 段 (例えば、 第 6図に示す Zバッファ 1 4 2など) とをさらに備え、 描 画手段が、 単位図形を、 視点に近いものから順に、 奥行き記憶手段を用 いて描画することを特徴とする。
請求の範囲第 3 3項に記載の描画装置は、 画像が、 単位図形の組合せ により定義される 3次元画像である場合において、 所定の入力を与える ときに操作される操作手段 (例えば、 第 1図に示す操作装置 1 7など) と、記録媒体に記録されているデ一夕を読み込み、 そのデータを用いて、 操作手段からの入力に基づき、 所定の演算を行う演算手段 (例えば、 第 5図に示すメイン C P U 1 1 1など) と、 演算手段による演算の結果得 られる単位図形を、 2次元出力装置の座標系のものに変換する変換手段 (例えば、 第 5図に示すメイン C P U 1 1 1など) と、 変換手段によつ て変換された単位図形を、 その奥行き方向順に並べ替える並べ替え手段 (例えば、 第 1 8図に示すプログラムの処理ステップ S 7など) と、 単 位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段 (例えば、 第 6図に示す Zバッファ 1 4 2など) とをさらに備え、 描画手段が、 単 位図形を、 視点に近いものから順に、 奥行き記憶手段を用いて描画する ことを特徴とする。
なお、 勿論この記載は、 各手段を上記したものに限定することを意味 するものではない。
第 1図は、 本発明を適用したビデオゲーム機の一実施の形態の構成を 示す平面図である。 なお、 第 2図に、 その正面図 (第 1図において、 下 方向から見た図) を、 第 3図に、 その右側面の側面図 (第 1図において、 向かって右方向から見た側面図) を、 それぞれ示す。
ビデオゲーム機は、 ゲーム機本体 2、 このゲーム機本体 2と接続され る略四角形状をなした接続端子部 2 6を備えた操作装置 1 7、 および同 じくゲーム機本体 2と接続される記録装置 3 8とから構成されている。 ゲーム機本体 2は、 略四角形状に形成され、 その中央の位置に、 ゲ一 ムを行うためのコンビユー夕プログラム(後述するレンダリング(描画) 処理を行うためのプログラムを含む) やデータが記録されたゲーム用記 録媒体を装着するディスク装着部 3が設けられている。 なお、 本実施の 形態では、 ディスク装着部 3には、 例えば、 第 4図に示すような C D (Compact Disk) - R O M (Read Only Memory) 5 1がゲーム用記録媒 体として着脱可能になされている。 但し、 ゲーム用記録媒体は、 デイス クに限定されるものではない。
ディスク装着部 3の左側には、 ゲームをリセットするときなどに操作 されるリセッ トスィッチ 4と、 電源のオン/オフをするときに操作され る電源スィッチ 5とが設けられており、 その右側には、 ディスク装着部 3を開閉するときに操作されるディスク操作スィツチ 6が設けられてい る。 さらに、 ゲーム機本体 2の正面には、 操作装置 1 7および記録装置 3 8を 1組として接続することのできる接続部 7 A , 7 Bが設けられて いる。 なお、 本実施の形態では、 2組の操作装置 1 7および記録装置 3 8を接続することができるように、 接続部 7 A, 7 Bが設けられている が、 接続部は、 2組以外の組数の操作装置 1 7および記録装置 3 8を接 続することができる数だけ設けるようにすることが可能である。 また、 接続部 7 Aまたは 7 Bに対して、 操作装置 1 7および記録装置 3 8の接 続数を拡張するようなアダプタを装着することにより、 多数の操作装置 および記録装置を接続するようにすることも可能である。 接続部 7 A , 7 Bは、 第 2図および第 3図に示すように、 2段に形成 され、 上段には記録装置 3 8と接続する記録挿入部 8を設け、 下段には 操作装置 1 7の接続端子部 2 6と接続する接続端子揷入部 1 2を設けた 構造となっている。
記録揷入部 8の挿入孔は、 横方向に長い長方形状に形成し、 その下側 の両端のコーナーを上側の両端のコーナ一に比べて丸みを多くして、 記 録装置 3 8が逆に挿入できない構造となっている。 さらに、 記録揷入部 8には、 内部の電気的接続を得る接続端子 (図示せず) を保護するため のシャッ夕 9が設けられている。
シャツ夕 9は、 例えば、 コイルねじりバネ状に形成されたスプリング などの弾性体 (図示せず) により常時外側に向けて付勢された状態で取 り付けられている。 従って、 シャツ夕 9は、 記録装置 3 8を差し込む時 には記録装置 3 8を挿入する先端側で奥側に開けられ、 記録装置 3 8を 抜いた時には弾性体の付勢力により戻され、 自動的に閉じた状態となつ て、 内部の接続端子の防埃の役目をし、 さらに外部の衝撃から守る役目 をする。
接続端子挿入部 1 2は、 第 2図および第 3図に示すように、 横方向に 長い長方形状をした揷入孔の下側の両端のコーナ一を上側の両端のコー ナ一に比べて丸みを多くした形状にして操作装置 1 7の接続端子部 2 6 が逆に入らない構造であり、 且つ記録装置 3 8も入らないように揷入孔 の形状を異にした構造となっている。 このようにして、 記録装置 3 8と 操作装置 1 7の挿入孔の大きさ及び形状を異にして互いに入れ間違いの ないようにした構造となっている。
操作装置 1 7は、 第 1図に示すように、 両手の掌で挟持して 5本の指 が自由自在に動いて操作できる構造をしており、 左右対象に連設した丸 型形状に形成された第 1及び第 2の操作部 1 8 , 1 9、 この第 1及び第 2の操作部 1 8 , 1 9から角状に突出形成した第 1及び第 2の支持部 2 0, 2 1、 第 1及び第 2の操作部 1 8 , 1 9の中間位置の括れた部分に 設けたセレクトスィツチ 2 2およびス夕一トスィツチ 2 3、 第 1及び第 2の操作部 1 8 , 1 9の前面側に突出形成した第 3及び第 4の操作部 2 4, 2 5、 並びにゲーム機本体 2と電気的に接続するための接続端子部 2 6およびケーブル 2 7から構成されている。
尚、操作装置 1 7は、接続端子部 2 6およびケーブル 2 7を介さずに、 例えば赤外線などによって、 ゲーム機本体 2と電気的に接続されるよう な構成とすることもできる。
また、 操作装置 1 7には、 それ自体を振動させるための、 例えば、 モ 一夕などを内蔵させることができる。 操作装置 1 7を、 ゲームの場面に 応じて振動させることにより、 ュ一ザに対して、 より臨場感を与えるこ とが可能となる。 なお、 操作装置 1 7に内蔵させるモー夕としては、 回 転数の異なる複数のモ一夕を採用することができる。 この場合、 ゲーム の場合に適した小さな振動や大きな振動、 さらには、 それらを組み合わ せた振動を、 ユーザに享受させることが可能となる。
接続端子部 2 6は、 ゲーム機本体 2と電気的接続をするためのケ一ブ ル 2 7の先端に取り付けられており、 第 3図に示すように、 その左右の 両側面には、 凹凸状のある形状にして、 いわゆるギザギザ模様にした滑 り止め加工 (例えば、 口一レット加工など) が施されている把持部が設 けられている。 なお、 接続端子部 2 6に設けられた把持部は、 いわゆる 抜き差し部を形成し、 その大きさ、 即ち、 その幅 Wと長さ Lは、 例えば、 後述する記録装置 3 8の把持部と同一とされている。
記録装置 3 8は、 例えばフラッシュメモリなどの不揮発性メモリを内 蔵しており、 その両側面には、 例えば、 接続端子部 2 6における場合と 同様に構成される把持部(第 3図)が設けられ、 ゲーム機本体 2に対し、 容易に着脱することができるようになされている。 なお、 記録装置 3 8 には、 例えば、 ゲームを一時的に中断する場合に、 そのときの状態が記 憶 (記録) されるようになされており、 これにより、 再起動の際に、 そ こからデータを読み出すことで、 そのデ一夕に対応した状態、 即ち、 中 断時の状態から、 ゲームを再開することができるようになされている。 以上のように構成されるビデオゲーム機によりゲームを行う場合にお いては、 ユーザは、 例えば、 操作装置 1 7を、 ゲーム機本体 2に接続し、 さらに、 必要に応じて、 記録装置 3 8も、 ゲーム機本体 2に接続する。 また、 ユーザは、 ディスク操作スィッチ 6を操作することにより、 ゲー ム用記録媒体としての CD— ROM5 1を、 ディスク装着部 3にセッ ト し、 電源スィッチ 5を操作することにより、 ゲーム機本体 2の電源をォ ンにする。 これにより、 ゲーム機本体 2においては、 ゲームのための画 像および音声が再生されるので、 ユーザは、 操作装置 1 7を操作するこ とによりゲームを行う。
次に、 第 5図は、 第 1図のゲーム機本体 2の電気的構成例を示してい る。
このゲーム機本体 2は、 各プロックにおいてデ一夕をやりとりするた めのバスとして、 メインバス 1 0 1およびサブバス 1 0 2の 2種類のバ スを有しており、 このメィンバス 1 0 1とサブバス 1 0 2とは、 パスコ ントローラ 1 1 6を介して接続されている。
メインバス 1 0 1には、 バスコントローラ 1 1 6の他、 例えばマイク 口プロセッサなどからなるメイン CPU (Central Processing Unit) 1 1 1、 例えば RAM (Random Access Memory) などでなるメインメモリ 1 1 2、 メイン DMA C (Direct Memory Access Controller) 1 1 3、 MD E C (MPEG (Moving Picture Experts Group) Decoder)^ および G PU (Graphic Processor Unit) 1 1 5が接続されている。 サブバス 102には、 バスコントローラ 1 16の他、 GPU 1 15、 例えばメイン CPU 111と同様に構成されるサブ CPU 121、 例え ばメインメモリ 1 12と同様に構成されるサブメモリ 122、 サブ DM AC 123、 オペレーティングシステムなどが格納された ROM (Read Only Memory) 124、 SPU (Sound Processing Unit) 125、 AT M (Asynchronous Transmission Mode) 通信部 126、 補助記憶装置 1 27、 および入力デバイス用 I /F (Interface) 128が接続されてい る。
なお、 ここでは、 メインバス 101では、 高速でデ一夕のやりとりが 行われるようになされており、 サブバス 102では、 低速でデ一夕のや りとりが行われるようになされている。 即ち、 低速でやりとりが可能な デ一夕については、 サブバス 102を用いることで、 メインバス 101 の高速性を確保するようになされている。
バスコントロ一ラ 116は、 メインバス 101とサブバス 102とを 切り離したり、 メインバス 101にサブバス 102を接続したりするよ うになされている。 メインバス 101とサブバス 102とが切り離され た場合、 メインバス 101上からは、 メインバス 101に接続されたデ バイスのみにしかアクセスできず、 また、 サブバス 102上からも、 サ ブバスに接続されたデバイスのみにしかアクセスすることができないが、 メインバス 101にサブバス 102が接続された場合には、 メィンバス 101およびサブバス 102のいずれからであっても、 いずれのデバイ スにもアクセスすることができる。 なお、 例えば、 装置の電源がオンに された直後などの初期状態においては、 バスコントローラ 116はォ一 プン状態になっている (メインバス 101とサブバス 102とが接続さ れた状態となっている)。
メイン CPU1 1 1は、 メインメモリ 1 12に記憶されたプログラム にしたがって各種の処理を行うようになされている。 即ち、 メイン CP U 1 1 1は、 例えば、 装置が起動されると、 バスコントローラ 1 16を 介して、 サブバス 102上にある (サブバス 102に接続された) RO M 124からブートプログラムを読み出して実行する。 これにより、 メ イン CPU 1 1 1は、 補助記憶装置 127からアプリケーションプログ ラム (ここでは、 ゲームのプログラムや後述するような描画処理を行う ためのプログラム) および必要なデータを、 メインメモリ 1 12やサブ メモリ 1 12にロードさせる。 そして、 メイン CPU 1 1 1は、 このよ うにしてメインメモリ 1 12にロードさせたプログラムを実行する。 メイン C P U 1 1 1は、 G T E (Geometry Transfer Engine) 1 1 7 を内蔵しており、 この GTE 1 1 7は、 例えば複数の演算を並列に実行 する並列演算機構を備え、 メイン CPU 1 1 1からの要求に応じて、 座 標変換や、 光源計算、 行列演算、 べク トル演算などのジオメ トリ処理の ための演算処理を高速に行うようになされている。 このように、 GTE 1 1 7は、 メイン CPU 1 1 1からの要求にしたがった処理 (ジオメ ト リ処理) を行うことにより、 表示すべき 3次元画像を構成するポリゴン (本明細書中では、 3点以上の頂点を有する多角形の他、 直線 (線分) や点も含まれるものとする) のデ一夕 (以下、 適宜、 ポリゴンデ一夕と いう) を生成し、 メイン CPU 1 1 1に供給する。 メイン CPU 1 1 1 は、 GTE 1 17からポリゴンデ一夕を受信すると、 それを透視投影変 換することにより、 2次元平面上のデータとして、 メインバス 10 1を 介して、 GPU 1 1 5に転送する。
なお、 メイン CPU 1 1 1は、 キャッシュメモリ (Cache) 1 19を内 蔵しており、 メインメモリ 1 12にアクセスする代わりに、 このキヤッ シュメモリ 1 19にアクセスすることで、 処理の高速化を図るようにな されている。 メインメモリ 1 12は、 上述したように、 プログラムなどを記憶する 他、 メイン CPU 1 1 1の処理上必要なデ一夕などを記憶するようにも なされている。 メイン DMAC 1 13は、 メインバス 101上のデバィ スを対象に、 DMA転送の制御を行うようになされている。 但し、 バス コントロ一ラ 1 1 6がオープン状態にあるときは、 メイン DMA C 1 1 3は、 サブバス 102上のデバイスをも対象として制御を行うようにな されている。 MD E C 1 14は、 メイン CPU 1 1 1と並列に動作可能 な I/Oデバイスで、 画像伸張エンジンとして機能するようになされて いる。 即ち、 MDE C 1 14は、 MDE C符号化されて圧縮された画像 デ一夕を復号化するようになされている。
GPU 1 1 5は、 レンダリングプロセッサとして機能するようになさ れている。 即ち、 GPU 1 15は、 メイン CPU 1 1 1から送信されて くるポリゴンデ一夕を受信し、 そのポリゴンデ一夕のうちの、 例えば、 ポリゴンの頂点の色デ一夕と奥行き (視点からの深さ) を示す Z値など に基づいて、 ポリゴンを構成する画素デ一夕を計算し、 グラフィックメ モリ 1 18に書き込む (描画する) レンダリング処理を行うようになさ れている。 さらに、 GPU 1 1 5は、 グラフィヅクメモリ 1 18に書き 込んだ画素デ一夕を読み出し、 ビデオ信号として出力するようにもなさ れている。 なお、 GPU 1 15は、 必要に応じて、 メイン DMA C 1 1 3、 あるいはサブバス 102上のデバイスからもポリゴンデータを受信 し、 そのポリゴンデータにしたがってレンダリング処理を行うようにも なされている。
グラフィックメモリ 1 18は、 例えば、 DRAMなどで構成され、 第 6図に示すように、 フレームメモリ 14 1, Zバッファ 142、 および テクスチャメモリ 143を有している。 フレームメモリ 141は、 画面 に表示する画素データを、 例えば、 1フレーム分だけ記憶するようにな されている。 Zバッファ 142は、 画面に表示する画像の中の最も手前 にあるポリゴンの Z値を記憶するようになされており、 例えば、 1フレ —ム分の Z値を記憶することのできる記憶容量を有している。 テクスチ ヤメモリ 143は、 ポリゴンに貼り付けるテクスチャのデ一夕を記憶す るようになされている。
ここで、 GPU 1 15は、 これらのフレームメモリ 141 , Zバヅフ ァ 142、 およびテクスチャメモリ 143を用いてレンダリング処理を 行うようになされている。即ち、 GPU 115は、 Zバッファ 142に、 3次元画像を構成するポリゴンのうちの、 最も手前にあるものの Z値を 記憶させ、 この Zバッファ 142の記憶値に基づいて、 フレームバヅフ ァ 141に、 画素データの描画を行うかどうかを決定する。 そして、 画 素デ一夕を描画する場合には、 テクスチャメモリ 143からテクスチャ のデ一夕を読み出し、 そのデータを用いて、 描画すべき画素データを求 めて、 フレームメモリ 141に描画するようになされている。
なお、 GPU1 15は、 ポリゴンを、 その奥行き方向順に並べ替える Zソートを行うようにもなされており、 ここでは、 レンダリングは、 手 前にあるポリゴンから順に行うようになされている。
第 5図に戻り、 サブ CPU 121は、 サブメモリ 122に記憶された プログラムを読み出して実行することにより、 各種の処理を行うように なされている。 サブメモリ 122には、 メインメモリ 1 12と同様に、 プログラムや必要なデ一夕が記憶されるようになされている。 サブ DM AC 123は、 サブバス 102上のデバイスを対象として、 DM A転送 の制御を行うようになされている。 なお、 サブ DMAC 123は、 バス コントローラ 116がクローズ状態にあるとき (メインバス 101とサ プバス 102とが切り離されている状態にあるとき) のみ、 バス権を獲 得するようになされている。 ROM 124は、 上述したようにブートプ ログラムや、 オペレーティングシステムなどを記憶している。 なお、 R OM 124には、 メイン CPU 1 1 1およびサブ CPU 121の両方の プログラムが記憶されている。 また、 ROM 124は、 ここでは、 ァク セス速度の遅いものが用いられており、 そのため、 サブバス 102上に 設けられている。
SPU 125は、 サブ CPU 12 1またはサブ DMA C 123から送 信されてくるバケツ トを受信し、 そのバケツ トに配置されているサゥン ドコマンドにしたがって、 サゥンドメモリ 129から音声データを読み 出すようになされている。 そして、 S PU 125は、 読み出した音声デ 一夕を、 図示せぬスピーカに供給して出力させるようになされている。 ATM通信部 126は、 例えば、 図示せぬ公衆回線などを介して行われ る通信の制御 (ATM通信の制御) を行うようになされている。 これに より、 ビデオゲーム機のユーザは、他のビデオゲーム機のユーザと直接、 あるいはィン夕一ネットゃ、 いわゆるパソコン通信のセン夕局などを介 してデ一夕のやりとりをすることで対戦することができるようになされ ている。
補助記憶装置 127は、 例えば、 ディスク ドライブなどで、 CD— R OM51 (第 1図、 第 4図) に記憶されている情報 (プログラム、 デ一 夕) を再生するようになされている。 また、 補助記憶装置 127は、 記 憶装置 38 (第 1図) に対する情報の記録や読み出しも行うようになさ れている。 入力デバイス用 I/F 128は、 コントロールパヅドとして の操作装置 17 (第 1図) の操作に対応する信号や、 他の装置によって 再生された画像や音声などの外部入力を受け付けるためのイン夕一フエ イスで、 外部からの入力に応じた信号を、 サブバス 102上に出力する ようになされている。 サウンドメモリ 129は、 音声データ (オーディ ォデ一夕) を記憶している。 以上のように構成されるゲーム機本体 2においては、 装置の電源がォ ンにされると、 メイン CPU 1 1 1において、 ブートプログラムが RO Ml 24から読み出されて実行されることにより、 補助記憶装置 127 にセッ トされた CD— ROM 5 1 (第 4図) からプログラムおよびデ一 夕が読み出され、 メインメモリ 1 12およびサブメモリ 122に展開さ れる。 そして、 メイン CPU 1 1 1またはサブ CPU 12 1それぞれに おいて、 メインメモリ 1 1 2またはサブメモリ 122に展開されたプロ グラムが実行されることにより、 ゲームの画像 (ここでは、 動画像とす る)、 音声が再生される。
即ち、 例えば、 メイン CPU 1 1 1において、 メインメモリ 1 12に 記憶されたデ一夕にしたがって、 所定の 3次元画像を構成するポリゴン を描画するためのポリゴンデー夕が生成される。このポリゴンデ一夕は、 例えば、 バケツ ト化され、 メインバス 10 1を介して、 GPU 1 15に 供給される。
GPU 1 1 5は、 メイン CPU 1 1 1からパケッ トを受信すると、 Z ソートを行い、 手前にあるポリゴンから順に、 Zバッファ 142を使用 して、 フレームメモリ 14 1に描画する。 フレームメモリ 14 1に対す る描画結果は、 GPU 1 1 5において適宜読み出され、 ビデオ信号とし て出力される。 これにより、 ゲームのための 3次元画像が、 2次元出力 装置としての、 例えば、 図示せぬディスプレイ上の 2次元画面に表示さ れる。
一方、 サブ CPU 12 1では、 サブメモリ 122に記憶されたデ一夕 にしたがって、 音声の生成を指示するサゥンドコマンドが生成される。 このサウンドコマンドは、 パケット化され、 サブバス 102を介して、 S PU 125に供給される。 SPU 125は、 サブ CPU 12 1からの サゥンドコマンドにしたがって、 サゥンドメモリ 129から音声データ を読み出して出力する。これにより、ゲームの B GM(BackgroundMusic) その他の音声が出力される。
次に、 第 5図のゲーム機本体 2において行われるポリゴンのレンダリ ング (描画) 処理について詳述する。
ゲーム機本体 2の GPU 115では、 上述したように、 フレームバッ ファ 141に対して、 ポリゴンの画素デ一夕が描画されるが、 その際、 画素データの描画位置を、 1画素より細かい精度である、 例えば、 サブ ピクセル精度などでずらすための複数のずらし量が設定され、 その複数 のずらし量に対応する、 フレームバッファ 141の位置 (メモリセル) それぞれに、画素デ一夕が描画されるようになされており、 これにより、 ポリゴン、 さらには、 ポリゴンで構成される 3次元画像が重ね書きされ るようになされている。
即ち、 例えば、 いま、 3次元空間上での座標が、 (x, y, z)で与え られた点の描画を行うものとすると、 メイン CPU 111において、 こ の点 (X, y, z) は、 視点の情報などに基づいて、 ジオメ トリ処理さ れ、 さらに、 透視変換されることにより、 2次元平面である画面座標系 (3次元画像を表示するディスプレイの画面に対応する座標系) 上の点 (X, Υ, Z) に変換される。 なお、 X, y, z, X, Υ, Zは、 浮動 小数点または固定小数点で表現される値である。 また、 画面座標系上の 点 (X, Υ, Z) を表す Zは、 その点の、 視点からの奥行き方向の位置 を表す。
さらに、 GPU 115は、 点 (X, Y, Ζ) における点の色情報とし ての R, G, B信号 (Ri, Gi, B i) その他を、 視点や、 光源、 テ クスチヤなどから求める。 なお、 Ri, Gi, B iにおける iは、 整数 値であることを表し、 本実施の形態では、 Ri, Gi, B iは、 例えば、 それぞれ 8ビットで表現され、従って、 0乃至 255の範囲の値をとる。 そして、 例えば、 いま、 重ね書き回数を 4回とするとともに、 第 7図 に示すように、 1画素の横および縦を、 いずれも 4等分することにより、 1画素について、 1 6 (= 4 X 4) 個のサブピクセルが想定されている とすると、 GPU 1 1 5は、 点 (Χ, Υ, Z) の 1乃至 4回目の描画時 における、 画面座標系での描画位置のずらし量 (dX, d Y) それぞれ を、 例えば、 サブピクセルの 2倍 (ここでは、 1画素の 1/2) の精度 である (0, 0, 0. 0), (0. 5, 0. 0), (0. 5, 0. 5), (0. 0, 0. 5) に設定する。 なお、 第 7図 (後述する第 8図乃至第 1 7図 においても同様) においては、 右方向または上方向が、 それぞれ X軸ま たは Y軸 (の正方向) とされている。
その後、 CPU I 1 5は、 そのずらし量 (dX, d Y) にしたがって、 描画位置をずらして、 点の描画を行う。
即ち、 1回目の描画においては、 GPU 1 1 5は、 点 (X, Y, Z) を、 (0. 0, 0. 0) だけずらし、 そのずらした点 (X, Υ, Ζ) を、 サブピクセルの精度の点 (Xs, Ys, Z s) に変換 (以下、 適宜、 サ ブピクセル精度化という) する。 なお、 Xs, Ys , Z sにおける sは、 サブピクセル精度の値であることを表し、 第 7図では、 1画素の横およ び縦が、 いずれも 4等分されているから、 サブピクセル精度は 0. 25 (= 1/4) となっている。 即ち、 第 7図では、 最も左下のサブビクセ ルの座標を (0. 0, 0. 0) とし、 左または右にいくにつれて、 サブ ピクセルの座標は、 0. 2 5ずつ増加するようになっている。
そして、 点 (Xs , Ys, Z s) に対応するサブピクセルを含む画素 の位置に、 点 (X s, Y s , Z s) に対応する色情報 (R i , G i, B i) を書き込む。 なお、 色情報 (画素デ一夕) は、 重ね書き回数で除算 された値が書き込まれる。 具体的には、 ここでは、 重ね書き回数が 4回 であるから、 色情報としては、 (R i/4, G i/4, B i/4) が書き 込まれる。
ここで、 例えば、 いま、 描画対象の点 (X, Y, Z) の Xまたは Y座 標が、 それぞれ 1. 6または 1. 3であったとすると、 1回目の描画で は、 点 (1. 6, 1. 3, Z) を、 (0. 0, 0. 0) だけずらし、 さら に、 そのずらした点(1. 6, 1. 3, Z) (第 7図(A)に秦印で示す) をサブピクセル精度化した点 ( 1. 5, 1. 25, Zs) に対応するサ ブピクセルを含む画素の位置 (1, 1) に対して、 第 7図 (A) に示す ように、 本来書き込むべき色情報の 1Z4の色情報 (同図 (A) におい て、 垂直方向の点線で示す部分) が書き込まれる。
2回目の描画においては、 GPU I 15は、 点 (Χ, Υ, Z) を、 ( 0. 5, 0. 0) だけずらし、 そのずらした点を、 点 (Xs, Ys, Zs) にサブピクセル精度化する。 そして、 点 (Xs, Ys, Z s) に対応す るサブピクセルを含む画素の位置に、 色情報 (Ri, G i , B i ) を 1 /4にしたものが重ね書きされる。
即ち、 上述したように、 例えば、 いま、 描画対象の点 (X, Υ, Z) の Xまたは Y座標が、 それぞれ 1. 6または 1. 3であったとすると、 2回目の描画では、 点 ( 1. 6, 1. 3, Z) を、 (0. 5, 0. 0) だ けずらし、 さらに、 そのずらした点(2. 1, 1. 3, ∑) (第7図(8) に秦印で示す) をサブビクセル精度化した点 (2. 0, 1. 25, Zs) に対応するサブピクセルを含む画素 (2, 1) の位置に対して、 第 7図 (B) に示すように、 本来書き込むべき色情報の 1/4の色情報 (同図 (B) において、 水平方向の点線で示す部分) が重ね書きされる。 具体 的には、 画素 (2, 1) に、 既に書き込まれている色情報に対して、 本 来書き込むべき色情報の 1Z4が加算され、 その加算値が、 画素 (2, 1) に書き込まれる。
3回目および 4回目の描画も、 同様にして行われる。 即ち、 例えば、 いま、 描画対象の点 (X, Υ, Ζ) の Xまたは Υ座標が、 それぞれ 1. 6または 1. 3であったとすると、 3回目の描画では、 点 ( 1. 6, 1. 3, Ζ)を、 (0. 5, 0. 5)だけずらし、 さらに、 そのずらした点(2. 1 , 1. 8, Ζ) (第 7図 (C) に眷印で示す) をサブビクセル精度化し た点(2. 0, 1. 75, Z s) に対応するサブビクセルを含む画素(2, 1) の位置に対して、 第 7図 (C) に示すように、 本来書き込むべき色 情報の 1Z4の色情報 (同図 (C) において、 右上がりの点線で示す部 分) が重ね書きされる。 具体的には、 画素 (2, 1) に、 既に書き込ま れている色情報に対して、本来書き込むべき色情報の 1/4が加算され、 その加算値が、 画素 (2, 1) に書き込まれる。
そして、 4回目の描画では、 点 ( 1. 6, 1. 3, Ζ) を、 (0. 0, 0. 5)だけずらし、 さらに、 そのずらした点( 1. 6, 1. 8, Ζ) (第 7図 (D) に秦印で示す) をサブピクセル精度化した点 ( 1. 5, 1. 75 , Z s) に対応するサブビクセルを含む画素 ( 1 , 1) の位置に対 して、 第 7図 (D) に示すように、 本来書き込むべき色情報の 1/4の 色情報 (同図 (D) において、 左上がりの点線で示す部分) が重ね書き される。 具体的には、 画素 ( 1 , 1) に、 既に書き込まれている色情報 に対して、本来書き込むべき色情報の 1/4が加算され、その加算値が、 画素 ( 1 , 1 ) に書き込まれる。
以上により、 点 ( 1. 6, 1. 3, Z) の描画結果 (重ね書き結果) は、 第 8図に示すようになる。
以上のように重ね書きを行うことで、 解像度を、 実質的に 4倍にする ことができ、 その結果、 アンチエイリアシングを行うことができる。 なお、 重ね書きを行う場合において、 4回の描画それぞれにおけるず らし量 (dX, d Y) を、 上述したように、 (0. 0, 0. 0), (0. 5 , 0. 0), (0. 5, 0. 5), (0. 0 , 0. 5) としたときには、 描画 された点の位置が、 本来の位置よりも右上方向に移動することがあるの で、 ずらし量 (dX, d Y) は、 そのような移動が生じないように、 例 免ば、 (- 0. 25, - 0. 25), (0. 25, -0. 25), (0. 25, 0. 25), (-0. 25, 0. 25) などとする (ずらし量 dXまたは d Yの平均値が、 いずれも 0となるようにする) ことも可能である。
次に、 第 7図および第 8図では、 1画素について、 1 6個のサブピク セルを想定したが、 その他、 例えば、 第 9図に示すように、 1画素の横 および縦を、 いずれも 2等分することにより、 1画素について、 4 (= 2 x 2) 個のサブピクセルを想定した場合でも、 同様の重ね書きが可能 である。
即ち、 例えば、 点 ( 1. 6, 2. 2, Z) を描画する場合においては (以下では、 適宜、 Z座標を省略する)、 従来は、 第 10図に示すように、 点 ( 1. 6, 2. 2) が、 サブピクセル精度化され、 第 10図に秦印で 示すように点 ( 1. 5, 2. 0) とされる。 そして、 点 ( 1. 5, 2. 0) に対応するサブピクセルを含む画素の位置 ( 1 , 2) に対して、 第 10図に斜線を付して示すように、 本来書き込むべき色情報が書き込ま れる。
これに対して、第 5図のゲーム機本体 2では、 GPU 1 15において、 まず 1乃至 4回目の描画時における、 画面座標系での描画位置のずらし 量 (dX, d Y) として、 例えば、 サブピクセルの精度 (ここでは、 1 画素の 1/2の精度) である (0. 0, 0. 0), (0. 5, 0. 0), (0. 0, 0. 5), (0. 5, 0. 5) がそれぞれ設定される。 その後、 1回 目の描画では、 点 ( 1. 6, 2. 2) が、 (0. 0, 0. 0) だけずらさ れる。 さらに、 そのずらされた点 ( 1. 6, 2. 2) が、 サブピクセル 精度化され、 第 1 1図 (A) に參印で示すように点 ( 1. 5, 2. 0) とされる。 そして、 点 ( 1. 5, 2. 0) に対応するサブピクセルを含 む画素の位置 (1, 2) に対して、 第 11図 (A) に垂直方向の点線で 示すように、本来書き込むべき色情報の 1/4の色情報が書き込まれる。
2回目の描画では、 点 (1. 6, 2. 2) が、 (0. 5, 0. 0)だけ ずらされる。 さらに、 そのずらされた点 (2. 1, 2. 2) が、 サブピ クセル精度化され、 第 1 1図 (B)に參印で示すように点 (2. 0, 2. 0) とされる。 そして、 点 (2. 0, 2. 0) に対応するサブピクセル を含む画素の位置 (2, 2) に対して、 第 11図 (B) に水平方向の点 線で示すように、 本来書き込むべき色情報の 1/4の色情報が重ね書き される。
3回目の描画では、 点 ( 1. 6, 2. 2) が、 (0. 0, 0. 5) だけ ずらされる。 さらに、 そのずらされた点 (1. 6, 2. 7) が、 サブピ クセル精度化され、 第 1 1図 (C)に ·印で示すように点 (1. 5, 2.
5) とされる。 そして、 点 (1. 5, 2. 5) に対応するサブピクセル を含む画素の位置 (1, 2) に対して、 第 11図 (C) に右上がりの点 線で示すように、 本来書き込むべき色情報の 1/4の色情報が重ね書き される。
4回目の描画では、 点 (1. 6, 2. 2) が、 (0. 5, 0. 5) だけ ずらされる。 さらに、 そのずらされた点 (2. 1, 2. 7) が、 サブピ クセル精度化され、 第 1 1図 (D)に ·印で示すように点 (2. 0, 2. 5) とされる。 そして、 点 (2. 0, 2. 5) に対応するサブピクセル を含む画素の位置 (2, 2) に対して、 第 1 1図 (D) に左上がりの点 線で示すように、 本来書き込むべき色情報の 1/4の色情報が重ね書き される。
以上により、 点 (1. 6, 2. 2) の描画結果は、 第 12図に点線で 示すようになり、 第 10図と第 12図とを比較して分かるように、 重ね 書きを行うことで、 アンチエイリアシングの効果が得られる。 ここで、 第 7図における場合と、 第 1 1図における場合とでは、 いず れも、 ずらし量として、 (0. 0, 0. 0), (0. 5, 0. 0), (0. 0, 0. 5), (0. 5, 0. 5) を用いているが、 4回の描画において用い るずらし量の順番が異なっている (第 7図では、 (0. 0, 0. 0), (0. 5, 0. 0), (0. 5, 0. 5), (0. 0, 0. 5) の順で用いており、 第 1 1図では、 (0. 0, 0. 0), (0. 5, 0. 0), (0. 0, 0. 5), (0. 5, 0. 5) の順で用いている)。 しかしながら、 このずらし量を 用いる順番は、 重ね書きによる画質に影響を与えるものではない。
また、 第 7図における場合と、 第 1 1図における場合とでは、 サブピ クセルの精度が異なるが (第 7図では、 画素の 1/16の精度であり、 第 1図 1では画素の 1/4の精度である)、これも、重ね書きによる画質 に影響を与えることはない (4回の重ね書きを行う場合に、 サブピクセ ルの精度が 1/4か、 または 1/16かは、 あくまでも、「重ね書きによ る」 画質の向上に影響がないのであって、 重ね書きを考えなければ、 サ ブピクセルの精度が高い方が画質は良い)。
なお、 上述のように、 重ね書き回数を 4回とし、 その 4回の描画時に おけるずらし量を、 (0. 0, 0. 0), (0. 5, 0. 0), (0. 0, 0. 5), (0. 5, 0. 5) とした場合において、 点 (X, Y) の Xまたは Y座標が、 例えば、 それぞれ 1. 5以上 2. 0未満または 2. 5以上 3. 0未満のときには、 第 13図 (A) に示すように、 1乃至 4回目の描画 によって、 座標 ( 1 , 2), (2, 2), ( 1, 3), (2, 3) で表される 画素の描画がそれぞれ行われる。 そして、 4回の描画においては、 いず れも、本来書き込むべき色情報の 1/4の色情報が重ね書きされるから、 いま、 輝度が 8ビット (0乃至 255 ) で表され、 点 (X, Y) の輝度 が、最高値である 255であるとすると、座標( 1, 2), (2, 2), ( 1 , 3), (2, 3) で表される画素の輝度は、 いずれも、 255の 1/4で ある 64となる (但し、 ここでは、 小数点以下を切り上げるものとする)。 また、 点 (X, Y) の Xまたは Y座標が、 例えば、 それぞれ 1. 5以 上 2. 0未満または 2. 0以上 2. 5未満のときには、 第 13図 (B) に示すように、 1乃至 4回目の描画によって、 座標( 1 , 2), (2, 2), (1, 2), (2, 2) で表される画素の描画がそれぞれ行われる。 そし て、 この場合においては、 座標 ( 1, 2) および (2, 2) で表される 画素に対して、 いずれも、 本来書き込むべき色情報の 1/4の色情報が 2回ずつ重ね書きされるから、 いま、 輝度が 8ビットで表され、 点(X, Y) の輝度が、 最高値である 255であるとすると、 座標 ( 1, 2) お よび (2, 2) で表される画素の輝度は、 いずれも、 128となる。 即 ち、 上述したことから、 1回の描画は、 64の輝度で行われるから、 2 回の描画が行われる画素の輝度は 128 (= 64 + 64) となる。
さらに、 点 (X, Y) の Xまたは Y座標が、 例えば、 それぞれ 1. 0 以上 1. 5未満または 2. 5以上 3. 0未満のときには、 第 13図(C) に示すように、 1乃至 4回目の描画によって、 座標(1, 2), (1, 3), (1, 2), (1, 3) で表される画素の描画がそれぞれ行われる。 そし て、 この場合においては、 座標 (1, 2) および (1, 3) で表される 画素に対して、 いずれも、 本来書き込むべき色情報の 1/4の色情報が 2回ずつ重ね書きされるから、 いま、 輝度が 8ビヅ卜で表され、 点(X, Y) の輝度が、 最高値である 255であるとすると、 座標 ( 1 , 2) お よび (1, 3) で表される画素の輝度は、 第 13図 (B) における場合 と同様に、 いずれも、 128となる。
また、 点 (X, Y) の Xまたは Y座標が、 例えば、 それぞれ 1. 0以 上 1. 5未満または 2. 0以上 2. 5未満のときには、 第 13図 (D) に示すように、 1乃至 4回目の描画によって、 いずれも、 座標 ( 1 , 2) で表される画素の描画が行われる。 そして、 この場合においては、 座標 (1, 2) で表される画素に対して、 いずれも、 本来書き込むべき色情 報の 1/4の色情報が 4回重ね書きされるから、 いま、 輝度が 8ビット で表され、 点(X, Y)の輝度が、 最高値である 255であるとすると、 座標 (1, 2) で表される画素の輝度は、 255となる。 即ち、 上述し たことから、 1回の描画は、 64の輝度で行われるから、 4回の描画が 行われた画素の輝度は、 本来ならば、 256 (= 64 + 64 + 64 + 6 4) となるが、 ここでは、 輝度の最高値が 255とされているため、 こ れを越える値である 256は、 最高値である 255にクリッビングされ る。
以上においては、 点の描画について説明したが、 次に、 線分の描画に ついて説明する。
いま、 描画対象の線分の始点または終点を、 それぞれ (x l, yl, z 1) または (x2, y 2 , z 2) と表す。 なお、 この始点および終点 は、 透視変換 (透視投影変換) 後の画面座標系上の点であるとする。 そして、 例えば、 いま、 重ね書き回数を 4回とするとととに、 第 14 図に示すように、 1画素の横および縦を、 いずれも 4等分することによ り、 1画素について、 16個のサプピクセルが想定されているとすると、 GPU 115は、 線分の 1乃至 4回目の描画時における、 画面座標系で の描画位置のずらし量 (dX, d Y) を、 例えば、 サブピクセルの 2倍 (ここでは、 1画素の 1/2) の精度である (0. 0, 0. 0), (0. 5, 0. 0), (0. 5, 0. 5), (0. 0, 0. 5) にそれぞれ設定す る。
その後、 CPU I 15は、 そのずらし量(dX, d Y)にしたがって、 描画位置をずらして、 線分の描画を行う。
即ち、 1回目の描画においては、 GPU 1 15は、 始点 (X 1 , y 1 , z 1) および (x2, y 2, z 2) を、 いずれも、 (0. 0, 0. 0) だ けずらし、 さらに、 後述する DDA (Digital Differential Analyze) 演算によって、 ずらした始点と終点との間を補間する、 サブピクセル精 度の点と、 その点における色情報等を求める。 そして、 そのサブビクセ ル精度の点の集合を、 点 (Xl s, Y 1 s, Z l s) 乃至 (Xns, Y ns, Zns) と表すと、 それらの点 (X 1 s, Y 1 s, Z 1 s ) 乃至 (Xns, Yns, Zns) に対応するサブピクセルを含む画素の位置 に、 色情報 (上述したように、 本来の色情報の 1/4の色情報) が書き 込まれる。
なお、 ここでは、 例えば、 線分を構成するサブビクセル精度の点に対 応するサブピクセルを、 2以上含む画素が描画の対象とされ、 さらに、 描画対象の画素には、 色情報として、 例えば、 その画素に含まれるサブ ビクセルの色情報の平均値 (の 1Z4) が書き込まれる。
2乃至 4回目の描画も、 ずらし量が、 それそれ(0. 5, 0.0), (0. 5, 0. 5), (0. 0, 0. 5) とされることを除けば、 1回目の描画 における場合と同様に行われる。
ここで、 いま、 描画対象の線分の始点または終点が、 例えば、 それぞ れ点 ( 1. 6, 1. 3, z 1 ) または点 (4. 6, 4. 3, z 2) であ つたとすると、 1回目の描画では、 第 14図 (A) に垂直方向の点線で 示す部分の画素の描画が、 2回目の描画では、 第 14図 (B) に水平方 向の点線で示す部分の画素の描画が、 3回目の描画では、第 14図(C) に右上がりの点線で示す部分の画素の描画が、 4回目の描画では、 第 1 4図 (D) に左上がりの点線で示す部分の画素の描画が、 それぞれ行わ れる。その結果、線分の描画結果は、第 15図に点線で示すようになる。 次に、 第 14図および第 15図では、 1画素について、 16個のサブ ビクセルを想定したが、 その他、 例えば、 第 16図に示すように、 1画 素の横および縦を、 いずれも 2等分することにより、 1画素について、 4個のサブピクセルを想定した場合でも、同様の重ね書きが可能である。 即ち、 例えば、 上述した場合と同様に、 4回の重ね書きで、 点 (1. 6, 1. 3, z 1) または点 (4. 6 , 4. 3, z 2) をそれぞれ始点 または終点とする線分を描画するときに、 1乃至 4回目の描画時におけ る、 画面座標系での描画位置のずらし量 (dX, d Y) として、 例えば、 サブピクセルの精度 (ここでは、 1画素の 1/2の精度) である (0. 0, 0· 0), (0· 5, 0· 0), (0· 0, 0. 5), (0. 5, 0. 5) がそれぞれ設定されたとすると、 1回目の描画では、 第 1 6図 (A) に 垂直方向の点線で示す部分の画素の描画が、 2回目の描画では、 第 1第 6図 (B) に水平方向の点線で示す部分の画素の描画が、 3回目の描画 では、 第 16図 (C) に右上がりの点線で示す部分の画素の描画が、 4 回目の描画では、 第 16図 (D) に左上がりの点線で示す部分の画素の 描画が、 それぞれ行われる。
なお、 ここでは、 例えば、 線分を構成するサブビクセル精度の点に対 応するサブピクセルを、 1以上含む画素が描画の対象とされ、 さらに、 そのようなサブピクセルを複数含む画素には、 色情報として、 例えば、 その画素に含まれるサブビクセルの色情報の平均値 (の 1/4) が書き 込まれるようになされている。
以上のような重ね書きによる線分の描画結果は、 第 17図 (A) に点 線で示すようになる。
これに対して、 同様の線分の描画を、 1回の描画で行った場合、 その 描画結果は、 第 1 7図 (B) に斜線で示すようになる。 第 17図から明 らかなように、 重ね書きを行うことで、 エイリアシングは低減される。 次に、 第 1第 8図のフローチャートを参照して、 第 5図のゲーム機本 体 2において行われるポリゴンの描画処理について、 さらに説明する。 なお、 ここでは、 ポリゴンの描画に必要な、 その形状に関するデータや、 光源に関するデ一夕などは、 例えば、 メイン CPU 1 1 1によって、 既 に、 CD— ROM 5 1から読み出され、 メインメモリ 1 12に記憶され ているものとする。
描画処理では、 まず最初に、 ステヅプ S 1において、 メイン CPU 1 1 1は、 例えば、 1フレームの 3次元画像を構成するポリゴンを描画す るためのデ一夕を、 メインバス 10 1を介して、 メインメモリ 1 12か ら読み出し、 GTE 1 1 1に供給する。 GTE 1 1 1では、 ステップ S 2において、 3次元空間上の各ポリゴンに対して、 視点に基づき、 ジォ メ トリ処理が施され、 さらに、 ジオメ トリ処理後のデ一夕が透視変換さ れる。 ここで、 視点は、 例えば、 ユーザが、 操作装置 1 7 (第 1図) を 操作することにより与えられる。
その後、 ステップ S 3に進み、 メイン CPU 1 1 1において、 透視変 換後の画面座標系におけるポリゴンについて、 輝度計算やテクスチャァ ドレスの計算が行われることにより、 ポリゴンデ一夕が求められ、 メイ ンバス 10 1を介して、 GPU 1 15に供給される。
ここで、 ポリゴンデータとしては、 例えば、 X, Y, Z, R, G, B, ひ, S, T, Q, Fなどがある。
ポリゴンデ一夕 X, Υ, Z, R, G, B, a, S, T, Qのうち、 X, Y, Zは、 3角形のポリゴンの 3頂点それぞれの X, Υ, Z座標をそれ それ表し、 R, G, Bは、その 3頂点それぞれにおける赤(Red)、緑(Green)、 青 (Blue) の輝度値を表している。
ひは、 これから描画しょうとする画素の RGB値と、 既に描画されて いる画素の RGB値とをひプレンディングする場合の、 そのプレンドの 割合を表すプレンド (Blend)係数を表している。 なお、 ひは、 例えば、 0以上 1以下の実数で、これから描画しょうとしている画素の画素値(R GB値) を Fcとするとともに、 既に描画されている画素の画素値を Bc とするとき、 これらのひプレンディング結果としての画素値 ccは、 例 えば、 次式により与えられる。
Cc=aFc+ (1—ひ) Bc
S, T, Qは、 3角形のポリゴンの 3頂点それぞれにおけるテクスチ ャ座標 (テクスチャについての同次座標) を表す。 即ち、 ここでは、 テ クスチヤマツビング(texture mapping)によって、物体の表面に模様(テ クスチヤ) が付されるようになされており、 S, T, Qは、 このテクス チヤマッピングにおいて用いられる。 なお、 S/Q, T/Qそれぞれに、 テクスチャサイズ (Texture Size) を乗じた値がテクスチャアドレスと なる。
Fは、 これから描画しようとしている画素をぼやけさせる場合のその ぼやけの程度を表すフォグ(fog)値で、 例えば、 この値が大きいほど、 ぼやけて表示される。
ポリゴンデ一夕が求められた後は、 ステップ S 4に進み、 メイン CP U11 1において、 1フレームの描画時間が推定される。 即ち、 メイン CPU 111は、 ステップ S 1でデ一夕を読み出したポリゴンの数、 即 ち、 1フレームに描画するポリゴンの数から、その 1フレームの描画を、 例えば、 1回だけ行うのに要する描画時間を推定する。 そして、 メイン CPU 111は、 ステップ S 5において、 ステップ S 4で推定した描画 時間に基づき、 重ね書き回数 Nを決定し、 メインバス 101を介して、 GPU 115に供給する。
ここで、 重ね書きの回数は、 第 7図乃至第 17図における場合には、 4回として、 固定の値としたが、 重ね書きの回数を、 固定の値とすると、 1フレームを構成するポリゴンの数が膨大な数のときには、 1フレーム の時間で、 描画が終了せず、 処理が破綻してしまうことがある。 一方、 RGB値のダイナミックレンジや、 サブピクセルの精度を考慮しなけれ ば、 重ね書きの回数は多いほど、 解像度を向上させることができる。 そ こで、 本実施の形態では、 処理が破綻しない範囲で (ここでは、 フレー ムレ一トを維持することができる範囲で)、できるだけ多くの回数の重ね 書きを行うことができるように、 1フレームの描画時間に基づいて、 重 ね書き回数 Nが、 適応的に決定されるようになされている。
但し、 1フレ一ムを構成するポリゴンの数が限定されている場合など においては、 重ね書きの回数は、 処理が破綻することがないような固定 値にしても良い。 なお、 重ね書きによる画質の向上という効果は、 理論 的には、 1画素を構成するサブピクセルの数と同一の回数だけ重ね書き を行う場合に最大となり、その回数より多い回数の重ね書きを行っても、 それ以上の効果は得られない。 従って、 装置の処理能力が十分であり、 重ね書きの回数を、 1画素を構成するサブピクセルの数以上としても、 処理が破綻しない場合においては、 重ね書きの回数は、 いわば無駄な処 理をせずに済むように、 1画素を構成するサブピクセルの数と同一とす るのが望ましい。 同様の理由から、 重ね書き回数を、 上述のように、 適 応的に決定する場合も、 その回数が、 1画素を構成するサブビクセルの 数よりも多くなつたときには、 1画素を構成するサブピクセルの数に制 限するのが望ましい。
重ね書き回数 Nが決定されると、 ステップ S 6に進み、 メイン C P U 1 1 1において、 その重ね書き回数 Nだけ描画を行う場合の、 各描画時 に用いるずらし量 (d X, d Y ) が設定され、 メインバス 1 0 1を介し て、 G P U 1 1 5に供給される。 なお、 ずらし量は、 サブピクセルの精 度以上とし、 かつ 1画素の精度より小さくするのが望ましい。
G P U 1 1 5は、 以上のようにしてメイン C P U 1 1 1から供給され る 1フレーム分のポリゴンデ一夕、 重ね書き回数 N、 およびその重ね書 き回数分のずらし量を受信すると、 ステップ S 7において、 Zソートを 行うことにより、 1フレームを構成するポリゴンを、 その奥行き方向順 に並べ替える。 ここで、 Zソートについては、 例えば、 特開平 7—11 4654号公報などに、 その詳細が開示されている。
そして、 GPU 1 15は、 ステップ S 8において、 フレームバッファ 141を、 例えば、 ◦にクリアし、 ステップ S 9に進み、 描画回数を力 ゥントする変数 nを、 例えば、 1に初期化する。 そして、 ステップ S 1 0に進み、 GPU1 15は、 各ポリゴンの n回目の描画に用いるずらし 量を、 その動きに基づいて補正する
ここで、 ポリゴンデ一夕には、 上述したデ一夕の他、 ポリゴンの動き べク トルも含まれている。 いま、 あるポリゴンの動きべクトルが、 (vx, vy) であり、 そのポリゴンの n回目の描画に用いるずらし量として、 (dXn, d Yn) が設定されているとした場合、 ずらし量 (dXn, d Yn)は、 例えば、 (dXn + vx/N, d Yn + vy/N)に補正さ れる。 ずらし量を、 このように補正して描画を行うことで、 モーション ブラーの効果を得ることができる。
ずらし量の補正後は、 ステップ S 11に進み、 GPU 115は、 その 補正されたずらし量だけ、 各ポリゴンの頂点の座標をずらし、 ステップ S 12に進む。 ステップ S 12では、 GPU 115において、 Zバヅフ ァ 142が、 例えば、 +∞に初期化され (ここでは、 Z値が、 画面の奥 側ほど大きくなるとする)、ステップ S 13に進む。ステップ S 13では、 ポリゴンの頂点の座標が、 サブピクセル精度化され、 さらに、 サブピク セル精度で DDA演算が行われることにより、 ポリゴンの辺および内部 を構成するサブピクセルの RGB値等が求められる。
ここで、 DDA演算とは、 2点間において、 線型補間により、 その 2 点間を結ぶ線分を構成する画素についての各値 (RGB値など) を求め る演算である。即ち、例えば、 2点のうちの一方を始点とするとともに、 他方を終点とし、 その始点および終点に、ある値が与えられているとき、 終点に与えられている値と、 始点に与えられている値との差分を、 その 始点と終点との間にある画素数で除算することで、 始点および終点に与 えられている値の変化分 (変化の割合) が求められ、 これを、 始点から 終点の方向に進むにつれて、始点に与えられている値に順次加算(積算) することで、 始点と終点との間にある各画素における値が求められる。 例えば、 3角形のポリゴンについては、 その 3頂点として、 サブピク セル p i , p 2 , p 3が与えられているとするとき、 サブピクセル p 1 と p 2、 サブピクセル p 2と p 3、 およびサブピクセル p 1と p 3に対 して、 このような DDA演算が、 サブピクセル精度で施され、 これによ り、ポリゴンの 3辺上にあるサブビクセルについてのポリゴンデ一夕 Z, R, G, B, ひ, S, T, Qが、 さらには、 そのポリゴン内部にあるサ ブピクセルについてのポリゴンデ一夕 Ζ , R, G, Β, ひ, S, T, Q が、 X, Y座標を変数として求められる。
そして、 ステップ S 14に進み、 GPU 1 1 5において、 Zバッファ 142を用いて、 フレームバッファ 1 4 1に、 ポリゴンを構成する画素 の RGB値を書き込む重ね書き処理が行われる。
ここで、 ステツプ S 14においてフレームバッファ 14 1に書き込ま れる最終的な RGB値は、 GPU 1 1 5において、 例えば、 次のように して求められるようになされている。
即ち、 GPU 1 1 5は、 DDA演算結果である、 ポリゴンを構成する 各サブピクセルについてのポリゴンデ一夕 X, Y, Z, R, G, B, a, S, T, Qに基づいてテクスチャマッピングを行う。 具体的には、 CP U 1 1 5は、 例えば、 S, Tそれぞれを Qで除算することにより、 テク スチヤアドレス U ( S/Q), V ( T/Q) を算出し、 必要に応じて 各種のフィル夕リング処理を行うことで、 各サブピクセルの X, Y座標 におけるテクスチャの色を算出する。 即ち、 GPU 115は、 テクスチ ヤメモリ 143から、 テクスチャアドレス U, Vに対応するテクスチャ デ一夕 (Texture Color Data) を読み出す。 さらに、 GPU115は、 このテクスチャデ一夕としての RGB値と、 DD A演算結果としての R GB値とに各種のフィル夕リング(Filtering)処理を施し、 即ち、 例え ば、 両者を所定の割合で混合し、 さらに、 あらかじめ設定された色を、 フォグ値 Fにしたがって混合し、 ポリゴンを構成する各サブビクセルの 最終的な RGB値を算出する。
ステップ S 14では、 以上のようにして求められた RGB値が、 フレ —ムバッファ 141に書き込まれる。
なお、 フレームバヅファ 141への書き込みは、 原則として、 ステヅ プ S 7における Zソートによって奥行き方向に並べ替えられたポリゴン について、 視点に近いものから順に行われる。 この理由については、 後 述する。
また、 1画素を構成するサブピクセルのうちの 1つだけが、 描画の対 象となっている場合においては、 そのサブビクセルの RGB値が、 フレ —ムバッファ 141の、 そのサブピクセルを含む画素に対応するァドレ スに書き込まれるが、 1画素を構成するサブピクセルのうちの複数が、 描画の対象となっている場合においては、 その複数のサブピクセルの R GB値の、 例えば平均値などが書き込まれる
ステップ S 14において、 フレームバッファ 141への、 1フレ一ム 分の RGB値の書き込みが終了すると、 ステップ S 15に進み、 変数 n が、 重ね書き回数 Nより大きいかどうかが判定され、 大きくないと判定 された場合、 ステップ S 16に進み、 変数 nが 1だけインクリメントさ れ、 ステップ S 19に戻る。 そして、 ステップ S 10において、 GPU 115は、 各ポリゴンの n回目の描画に用いるずらし量を、 その動きに 基づいて補正し、 以下、 ステップ S I 5において、 変数 nが重ね書き回 数 Nよりも大きいと判定されるまで、 ステップ S 1 9乃至 S 1 6の処理 が繰り返される。 これにより、 重ね書きが行われる。
一方、 ステップ S 1 5において、 変数 nが重ね書き回数 Nよりも大き いと判定された場合、 即ち、 1フレ一ムについて、 N回の重ね書きを行 つた場合、 G P U 1 1 5は、 フレームバッファ 1 4 1に記憶された 1フ レーム分の R G B値を読み出して、 ディスプレイに出力し、 ステップ S 1に戻る。 そして、 ステップ S 1において、 メイン C P U 1 1 1は、 次 の 1フレームの 3次元画像を構成するポリゴンを描画するためのデ一夕 を、 メインバス 1 0 1を介して、 メインメモリ 1 1 2から読み出し、 以 下、 同様の処理が繰り返され、 これにより、 勤画の表示がなされる。 次に、 フレームバッファ 1 4 1への書き込みは、 上述したように、 Z ソートによって奥行き方向に並べ替えられたポリゴンについて、 観点に 近いものから順に行われるが、 これは、 フレームバッファ 1 4 1への R G B値の書き込みが、 後述するように、 フレームバッファ 1 4 1に既に 書き込まれている R G B値に加算されることで重ね書きされることに起 因する。
即ち、 いま、 第 1 9図 (A ) に示すように、 フレームバヅファ 1 4 1 に、 例えば、 ポリゴン Aおよび Bを含むフレーム Cの書き込みが、 既に されており、 そのような状態のフレームバッファ 1 4 1に対して、 さら に、 ポリゴン Aおよび Bからなるフレーム Cを重ね書きすることを考え る。 なお、 ポリゴン Aは、 ポリゴン Bより奥側に位置し、 ポリゴン Aと Bとは、 その一部が互いに重なり合っているものとする。
この場合、 Zバッファ 1 4 2は、 第 1 8図のフローチャートで説明し たように、 ステップ S 1 4で重ね書き処理が行われる前に、 ステップ S 1 2でクリアされるため、 フレームバッファ 1 4 1に、 フレーム Cの全 体が書き込まれた後は、 Zバッファ 1 4 2は、 第 1 9図 (B ) に示すよ うに、 Z値として、 無限遠 (最も奥側) に対応する値が書き込まれた状 態となつている。
そして、 いま、 ポリゴン Aまたは Bのうちの、 例えば、 奥側にあるポ リゴン Bを先に書き込み、 その後に、 手前側にあるポリゴン Aを書き込 むとすると、 ポリゴン Bの描画時においては、 Zバッファ 1 4 2に記憶 された Z値は、 無限遠を表しているから、 ポリゴン Bを、 Zバッファ 1 4 2を用いて描画することにより、 即ち、 ポリゴン Bの R G B値が、 既 にフレームバッファ 1 4 1に記憶されている R G B値に加算されること により、 第 2 0図 (A) に示すように、 既にフレームバッファ 1 4 1に 描画されているフレーム Cの、 ポリゴン Bの部分が重ね書きされる。 こ の場合、 Zバッファ 1 4 2の、 ポリゴン Bに対応する部分には、 ポリゴ ン Bの Z値が書き込まれる。
その後、 ポリゴン Aを、 Zバッファ 1 4 2を用いて、 フレームバッフ ァ 1 4 1に書き込むと、 ポリゴン Bよりも手前にあるポリゴン Aの描画 は、 Zバッファ 1 4 2によっては妨げられず、 従って、 ポリゴン Aは、 その全体が、 フレームバッファ 1 4 1に書き込まれる。 即ち、 ポリゴン Bの R G B値は、 すべて、 既にフレームバッファ 1 4 1に記憶されてい る R G B値に加算される。その結果、ポリゴン Aと Bとの重なり部分(第 2図 0において影を付してある部分) については、 本来は、 ポリゴン A のみが描画されるべきであるのにもかかわらず、 ポリゴン Bの描画によ る影響が生じる。
以上のように、 重ね書きを行う (ポリゴンの R G B値を、 既にフレ一 ムバッファ 1 4 1に書き込まれている R G B値に加算する) 場合には、 手前にあるポリゴンよりも、 奥側にあるポリゴンを先に描画すると、 そ れらの重なり部分に、 奥側にあるポリゴンの影響が生じ、 本来、 手前に あるポリゴンによって隠面消去されるはずの奥側にあるポリゴンが見え るようになる。
そこで、 このような隠面消去が行われないのを防止するため、 第 1 8 図で説明したように、 本実施の形態では、 ポリゴンの描画は、 Zソート によって奥行き方向に並べ替えられたポリゴンについて、 視点に近いも のから順に行われるようになされている。
即ち、 例えば、 上述の場合においては、 ポリゴン Aまたは Bのうちの、 手前側にあるポリゴン Aが先に書き込まれ、 その後に、 奥側にあるポリ ゴン Bが書き込まれる。 この場合、 ポリゴン Aの描画時においては、 Z バッファ 1 4 2に記憶された Z値は、 無限遠を表しているから、 ポリゴ ン Aを、 Zバッファ 1 4 2を用いて描画することにより、 即ち、 ポリゴ ン Aの R G B値が、 既にフレームバッファ 1 4 1に記憶されている R G B値に加算されることにより、 第 2 1図 (A ) に示すように、 既にフレ —ムバッファ 1 4 1に描画されているフレーム Cの、 ポリゴン Aの部分 が重ね書きされる。 この場合、 Zバッファ 1 4 2の、 ポリゴン Aに対応 する部分には、 ポリゴン Aの Z値が書き込まれる。
その後、 ポリゴン Bを、 Zバッファ 1 4 2を用いて、 フレームバッフ ァ 1 4 1に書き込むと、 ポリゴン Aよりも奥前にあるポリゴン Bの描画 は、 ポリゴン Aとの重なり部分については、 Zバッファ 4 2によって妨 げられ、 従って、 ポリゴン Bの、 ポリゴン Aと重ならない部分はフレー ムバッファ 1 4 1に重ね書きされるが、 ポリゴン Aと重なる部分はフレ —ムバッファ 1 4 1に重ね書きされない (描画されない)。その結果、 ポ リゴン Aと Bとの重なり部分については、 手前側にあるポリゴン Aのみ が描画され、 ポリゴン Bの影響が生じることを防止することができる。 即ち、 隠面消去を確実に行うことができる。
なお、 重ね書きを行う場合の隠面消去は、 以上のような Zソートと Z バッファ 1 4 2との組み合わせによって行う他、 フレームバヅファ 1 4 1と同様のバッファ (以下、 適宜、 第 2フレームバッファという) を設 けて行うことも可能である。 即ち、 第 2フレームバッファに対して、 Z バッファ 1 4 2を用いて描画を行い、 その第 2フレームバッファの描画 結果を、 フレームバッファ 1 4 1に重ね書きするようにすれば良い。 但 し、 この場合、 Zソートを行う必要はなくなるが、 フレームバッファ 1 4 1と同容量の第 2フレームバッファを設ける必要がある。
また、 Zソートと Zバッファ 1 4 2との組み合わせは、 重ね書きを行 う場合の隠面消去の他、例えば、半透明のポリゴンの描画を行う場合や、 影の描画を行う場合などの、 ひプレンディングを伴う描画を行う場合に おいて、 自然な映像を生成するのに利用することができる (例えば、 Z ソ一トと Zバッファとの組み合わせを利用した半透明のポリゴンの描画 については、 本件出願人が先に提案した特願平 8— 1 5 8 1 4 5号など に開示されている)。但し、 Zソートと Zバッファとの組み合わせを利用 した処理は、 重ね書きの際の隠面消去を行う場合や、 半透明のポリゴン の描画を行う場合などでそれぞれ異なるため、 処理アルゴリズムは、 場 合に応じて切り替える必要がある。
次に、 第 2 2図のフローチヤ一トを参照して、 第 1 8図のステップ S 1 4における重ね書き処理の詳細について説明する。 なお、 ここでは、 説明を簡単にするために、 サブピクセルのことは考えず、 既に、 画素単 位に、 Z値や R G B値が与えられているものとする。 また、 左から X番 目で、 上から y番目の位置の画素を、 p ( X , y ) と表すとともに、 そ の画素 p ( x, y ) の Z値を Z ( x , y ) と、 Zバッファ 1 4 2に記憶 されている、 画素 p ( x, y ) に対応する記憶値を d e p t h ( x , y ) と、 それぞれ表す。 さらに、 フレームバッファ 1 4 1の、 画素 P ( X , y ) に対応する位置の記憶値を n ( x, y ) と表す。 重ね書き処理では、 まず最初に、 ステップ S 2 1において、 いま描画 対象となっているフレームを構成する画素のうちの所定の画素 p (x, y) が注目画素とされ、 その注目画素 p (x, y) の Z値 Z (x, y) が、 Zバッファ 142の記憶値 d e p t h (x, y) 以下であるかどう かが判定される。 ステップ S 2 1において、 Z値 Z (X, y) が、 記憶 値 d e p t h (X, y) 以下でないと判定された場合、 即ち、 注目画素 p (X, y) を含んで構成されるポリゴンよりも手前にあるポリゴンが 存在し、 既にフレームバッファ 141に書き込まれている場合、 ステツ プ S 2 1に戻り、 まだ、 注目画素とされていない画素が、 新たに注目画 素とされ、 以下、 同様の処理を繰り返す。
また、 ステップ S 21において、 Z値 Z (X, y) が、 記憶値 dep t h (x, y) 以下であると判定された場合、 ステップ S 22に進み、 輝度減少処理が行われる。 即ち、 注目画素 p (X, y) の RGB値を M (X, y) とするとき、 RGB値 M (x, y) が、 重ね書き回数 Nで除 算され、 その除算値 (但し、 ここでは、 小数点以下切り捨てとする) が、 重ね書きすべき RGB値 m (X , y) として求められる。
なお、 x/y以下の最大の整数を、 I NT [x/y] と表すこととす ると、 輝度減少処理では、 式 m (X, y) = INT [M (x, y) /N] で示される演算が行われることになる。
ここで、 M (x, y) /Nが整数になる場合は問題がないが、 小数点 以下を含む場合には、 輝度の低下が生じる。 即ち、 例えば、 輝度値の最 高値が 255である場合に、その最高値である 255の輝度値の描画を、 4回の重ね書きによって行うことを考えると、 輝度減少処理により、 1 回あたりの描画の輝度値は、 63 (= I NT [255/4]) になる。従 つて、 63の輝度値の描画を 4回行っても、 即ち、 63を 4回加算して も、 252にしかならず、 元の輝度値である 255よりも低下する。 そこで、 輝度減少処理により得られる値 I NT [M (x, y) /N] の N倍が、 元の RGB値 M (x, y) より小さい場合においては、 値 I NT [M (X, y) /N] に、 所定の補正値 Dを加算した値を、 重ね書 きすべき RGB値 m (X , y) とするようにすることができる。
補正値 Dは、 この補正値 Dを、 値 I NT [M (x, y) /N] に加算 した加算値の N倍が、 元の RGB値 M (x, y) 以上となるような値に する必要がある。 具体的には、 上述したように、 最高値である 255の 輝度値の描画を、 4回の重ね書きによって行う場合においては、 補正値 Dは、 例えば、 1とされる。 この場合、 1回あたりの描画の輝度値は、 64 (= 63 + 1 ) となり、 64の輝度値の描画を 4回行った場合には、 256となる。 なお、 ここでは、 輝度値の最高値は 255であり、 これ を越える値は、 最高値である 255にクリップされるものとする。
輝度減少処理の後は、 ステップ S 23において、 フレームバッファ 1 41から、 注目画素 p (x, y) に対応する記憶値 n (x, y) が読み 出され、 ステップ S 24に進み、 輝度減少処理後の RGB値 m (X, Y) と加算されることにより重ね書きされる。 ここで、 この加算結果を、 V (X, y) と表す。
ステップ S 24における加算結果、 即ち、 重ね書き結果 V (X, y) は、 ステヅプ S 25において、 フレームバッファ 141の、 n (X, y) が記憶されていた位置 (注目画素 p (X, y) に対応する位置) に上書 きされる。 なお、 この V (X, y) が、 次に、 画素 p (x, y) の描画 が行われるときに、 記憶値 n ( , y) として読み出されることになる。 さらに、 ステップ S 25では、 Zバッファ 142の記憶値 d e p t h (x, y) が、 Z値 Z (x, y) に書き換えられ、 ステップ S 26に進 み、 描画対象のフレームを構成するすべての画素を、 注目画素として処 理を行ったかどうかが判定される。 ステップ S 26において、 描画対象 のフレームを構成するすべての画素を、 まだ、 注目画素としていないと 判定された場合、 ステップ S 2 1に戻り、 まだ、 注目画素としていない 画素を、 新たに注目画素として、 以下、 同様の処理を繰り返す。
一方、 ステップ S 26において、 描画対象のフレームを構成するすべ ての画素を、 注目画素としたと判定された場合、 リターンする。
ここで、 輝度減少処理は、 ひプレンディングを利用して行うことも可 能である。 即ち、 m (X , y) は、 ブレンド係数ひを、 1/Nに設定し、 式 m (x, y) = I NT [ひ xM (x, y)] を演算することで求めるこ とも可能である。 即ち、 いま、 ブレンド係数ひが、 1. 0を、 例えば、 128 (= 27) に対応させて、 式ひ =A→ 7で実現されているものと する。 なお、 Aは 0乃至 128の範囲の整数を表し、 A→7は、 Aの 7 ビッ ト右シフトを表す。
この場合、 例えば、 上述のように、 最高値である 255の輝度値の描 画を、 4回の重ね書きによって行うには、 Aを、 1/4に対応する 32 として、 式 m (X , y) = I NT [axM (x, y)] を演算すれば良い。 但し、 この場合でも、 上述した場合と同様に、 輝度の低下が生じるこ とがある。 即ち、 最高値である 255の輝度値の描画を、 4回の重ね書 きによって行う場合において、 Aを、 1Z4に対応する 32として、 式 m (X, Y) = I NT [axM ( , y)] を演算すると、 その値 m (x, y) は、 63 (= I NT [( 255 x 32) →7]) となり、 63の輝度 値の描画を 4回行っても (63を 4回加算しても)、 252にしかならず、 元の輝度値である 255よりも低下する。
そこで、 I NT [ひ xM (x, y)] の N倍が、 元の RGB値 M (x, y) より小さい場合においては、 INT [ひ xM (x, y)]の N倍が、 元の RGB値 M (X , y)以上となるように、 Aを補正するようにする。 具体的には、 Aを、 1/4に対応する 32に対して、 例えば、 1を加算 した 3 3に補正すればよい。 この場合、 1回あたりの描画の輝度値は、 6 5 ( = I N T [( 2 5 5 X 3 3 ) -» 7 ]) となり、 6 5の輝度値の描画 を 4回行った場合には、 2 6 0となる。 なお、 上述したように、 輝度値 の最高値である 2 5 5を越える値は、 最高値である 2 5 5にクリップさ れるものとする。
以上のように、 各画素の R G B値をフレームバッファ 1 4 1に描画す るときの描画位置を、 1画素より細かい精度でずらすための複数のずら し量を設定し、 その複数のずらし量に対応する、 フレームバッファ 1 4 1の位置それぞれに、 R G B値を描画することにより、 画像を重ね書き するようにしたので、 大容量かつ高速なフレームバッファや Zバッファ を用いなくても、 効果的なアンチエイリアシングを施すことができる。 即ち、 以上のような重ね書きによるアンチエイリアシングの効果は、 ポリゴンのエッジ部分だけでなく、 その内部や、 3次元形状どおしが交 わっている部分などにも及ぶので、 直線に生じるジャギ一の低減は勿論 のこと、 画像全体の画質を向上させることができる。
また、 動きのあるポリゴンには、 モーションブラ一の効果を与えるこ とができるので、 ちらつきのないスムーズな動画像を表示することが可 能となる。
以上、本発明を、 ビデオゲーム機に適用した場合について説明したが、 本発明は、 その他、 画像に特殊効果を与えるエフェク夕や、 C A Dなど のコンビュ一夕グラフィックス処理を行う装置に適用可能である。 さら に、 本発明は、 例えば、 ビデオカメラなどで撮影した自然画を符号化し て記録再生し、 または送受信する記録再生装置または伝送装置などにも 適用可能である。 即ち、 将来、 ビデオカメラなどで撮影した自然画を、 ポリゴンで表現するような符号化を行った場合において、 その再生をす るときに、 本発明による手法を用いることで、 高画質の自然画を再生す ることが可能となる。
なお、 本実施の形態では、 描画処理を、 フレーム単位で行うようにし たが、 描画処理は、 フィールド単位で行うようにしても良い。
また、 本発明は、 動画像および静止画像のいずれの描画にも適用可能 である。
さらに、 本実施の形態では、 3次元グラフィックスの描画について説 明したが、 本発明は、 その他、 例えば、 2次元グラフィックスの描画に も適用可能である
また、 ずらし量は、 サブピクセル精度に限られるものではなく、 それ よりも大きくても、 あるいは小さくても良い。
さらに、 本実施の形態では、 上述のような描画処理を行うコンビユー 夕プログラムを、 CD— ROM5 1に記録して提供するようにしたが、 コンビユー夕プログラムの提供は、 C D— R OMや光磁気ディスクその 他の記録媒体によって行う他、 例えば、 インターネットや衛星回線その 他の伝送媒体によって行うことも可能である。
また、 描画処理は、 コンビュ一夕プログラムをプロセッサに実行させ ることにより行う他、 それ専用のハ一ドウヱァに行わせることも可能で ある。
さらに、 本実施の形態では、 3次元画像を、 ディスプレイに表示する ようにしたが、 本発明は、 その他、 例えば、 3次元画像をプリン夕 (2 次元出力装置) によって印刷する場合などにも適用可能である。
また、 本実施の形態では、 1フレームの画像の描画を、 X方向および Y方向の両方にずらして行うようにしたが、 いずれか一方向にのみずら すようにすることも可能である。 即ち、 ずらし量 (dX, d Y) は、 例 えば、 (0. 0, - 0. 2), (0. 0, -0. 1 ), (0. 0, 0. 1), (0. 0, 0. 2) などとすることも可能である。 さらに、 ずらし量 (d X , d Y ) は、 例えば、 重ね書き回数ことに、 あらかじめ決めておくことが可能である。
なお、 上述したように、 重ね書きの回数は、 多いほど解像度を向上さ せることができるが、 重ね書きの回数が多くなるのに伴い、 輝度減少処 理により、 1回に描画される R G B値を表現するビット数が少なくなる ため、 画像の階調が悪化する。 従って、 重ね書きの回数は、 解像度の観 点からだけでなく、 階調も考慮して決めるのが望ましい。
本発明の描画装置および描画方法によれば、 画素データを、 画素デー 夕記憶手段に描画するときの描画位置を、 1画素より細かい精度でずら すための複数のずらし量が設定され、 その複数のずらし量に対応する、 画素デ一夕記憶手段の位置それぞれに、 画素デ一夕を描画することによ り、 画像が重ね書きされる。 また、 本発明の提供媒体によれば、 画素デ
—夕を、 メモリに描画するときの描画位置を、 1画素より細かい精度で ずらすための複数のずらし量を設定し、その複数のずらし量に対応する、 メモリの位置それぞれに、 画素デ一夕を描画することにより、 画像を重 ね書きするコンピュータプログラムが提供される。 従って、 画像に生じ るエイリアシングを低減することが可能となる。
産業上の利用性
以上のように、 本発明に係る描画装置および描画方法、 並びに提供媒 体は、 特に、 例えば、 コンピュータを用いた映像機器である 3次元グラ フィ ヅクコンピュータや、 特殊効果装置(エフ工ク夕)、 ビデオゲーム機 などにおいて、 アンチエイリアシングの効果は、 ポリゴンのエッジ部分 だけでなく、 その内部や、 3次元形状どおしが交わっている部分などに も及ぶので、 直線に生じるジャギーの低減は勿論のこと、 画像全体の画 質を向上させることができるため、 高画質の画像を表示することに適し ている。

Claims

言青求の範囲
1 . 画像を描画する描画装置であって、
前記画像を出力する 2次元出力装置に出力させる画素データを記憶す る画素データ記憶手段と、
前記画素デ一夕を、 前記画素データ記憶手段に描画するときの描画位 置を、 1画素より細かい精度でずらすための複数のずらし量を設定する ずらし量設定手段と、
前記画素データ記憶手段における、 前記ずらし量設定手段により設定 された複数のずらし量に対応する位置それぞれに、 前記画素デ一夕を描 画することにより、 前記画像を重ね書きする描画手段と
を備えることを特徴とする描画装置。
2 . 前記画素デ一夕がサブピクセル単位で求められている場合におい て、
前記ずらし量設定手段は、 前記画素データの前記描画位置を、 サブピ クセル精度でずらすための複数のずらし量を設定する
ことを特徴とする請求の範囲第 1項に記載の描画装置。
3 . 前記描画手段が前記画像を重ね書きする重ね書き回数を決定する 回数決定手段をさらに備える
ことを特徴とする請求の範囲第 1項に記載の描画装置。
4 . 前記描画手段が、 1画面分の前記画素データを、 前記画素データ 記憶手段に描画するのにかかる描画時間を推定する推定手段をさらに備 え、
前記回数決定手段は、 前記推定手段により推定された前記描画時間に 基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 3項に記載の描画装置。
5 . 前記画素デ一夕がサブピクセル単位で求められている場合におい て、
前記回数決定手段は、 1画素を構成するサブピクセルの数に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 3項に記載の描画装置。
6 . 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正手段をさ らに備える
ことを特徴とする請求の範囲第 1項に記載の描画装置。
7 . 前記画像が、 単位図形の組合せにより定義される場合において、 前記補正手段は、 前記単位図形の動きに基づいて、 前記ずらし量を補 正する
ことを特徴とする請求の範囲第 6項に記載の描画装置。
8 . 前記画像が、 単位図形の組合せにより定義される 3次元画像であ る場合において、
前記単位図形を、 その奥行き方向順に並べ替える並べ替え手段をさら に備え、
前記描画手段は、 前記単位図形を、 視点に近いものから順に描画する ことを特徴とする請求の範囲第 1項に記載の描画装置。
9 . 前記描画手段は、 前記画素データを、 前記画素デ一夕記憶手段に 対する前記画像の重ね書き回数で除算して得られる値に基づいて、 1回 の描画を行う
ことを特徴とする請求の範囲第 1項に記載の描画装置。
1 0 . 前記画素データまたは重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/ y以下の最大の整数を、 I N T [ x/y ] と表す場 合において、 前記描画手段は、 INT [M/N] で表される値に、 所定の補正値を 加算した値を、 1回の描画で、 前記画素デ一夕記憶手段に書き込む ことを特徴とする請求の範囲第 9項に記載の描画装置。
11. I NT CM/N] XNで表される値が、 Mより小の場合におい て、
前記補正値は、 その補正値を、 INT [M/N] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 10項に記載の描画装置。
12. 所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデ一夕を読み込み、 そのデ一夕を用いて、 前記操作手段からの入力に基づき、 所定の演算を行う演算手段と、 前記演算手段による演算結果に基づいて、 前記画素デ一夕を求める画 素データ生成手段と
をさらに備えることを特徴とする請求の範囲第 1項に記載の描画装置 c
13. 前記画素デ一夕がサブビクセル単位で求められている場合にお いて、
前記ずらし量設定手段は、 前記画素デ一夕の前記描画位置を、 サブピ クセル精度でずらすための複数のずらし量を設定する
ことを特徴とする請求の範囲第 12項に記載の描画装置。
14. 前記描画手段が前記画像を重ね書きする重ね書き回数を決定す る回数決定手段をさらに備える
ことを特徴とする請求の範囲第 12項に記載の描画装置。
15. 前記描画手段が、 1画面分の前記画素データを、 前記画素デ一 夕記憶手段に描画するのにかかる描画時間を推定する推定手段をさらに 備え
前記回数決定手段は、 前記推定手段により推定された前記描画時間に 基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 1 4項に記載の描画装置。
1 6 . 前記画素デ一夕がサブピクセル単位で求められている場合にお いて、
前記回数決定手段は、 1画素を構成するサブビクセルの数に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 1 4項に記載の描画装置。
1 7 . 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正手段をさ らに備える
ことを特徴とする請求の範囲第 1 2項に記載の描画装置。
1 8 . 前記画像が、単位図形の組合せにより定義される場合において、 前記補正手段は、 前記単位図形の動きに基づいて、 前記ずらし量を補 正する
ことを特徴とする請求の範囲第 1 7項に記載の描画装置。
1 9 . 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
前記単位図形を、 その奥行き方向順に並べ替える並べ替え手段をさら に備え、
前記描画手段は、 前記単位図形を、 視点に近いものから順に描画する ことを特徴とする請求の範囲第 1 2項に記載の描画装置。
2 0 . 前記描画手段は、 前記画素データを、 前記画素データ記憶手段 に対する前記画像の重ね書き回数で除算して得られる値に基づいて、 1 回の描画を行う
ことを特徴とする請求の範囲第 1 2項に記載の描画装置。
2 1 . 前記画素デ一夕または重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/y以下の最大の整数を、 INT [x/y] と表す場 合において、
前記描画手段は、 INT [M/N] で表される値に、 所定の補正値を 加算した値を、 1回の描画で、 前記画素データ記憶手段に書き込む ことを特徴とする請求の範囲第 20項に記載の描画装置。
22, I NT [M/N] xNで表される値が、 Mより小の場合におい て、
前記補正値は、 その補正値を、 INT [M/N] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 21項に記載の描画装置。
23. 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
視点に応じて、 前記 3次元画像を構成する前記単位図形を、 前記 2次 元出力装置の座標系のものに変換する変換手段と、
前記変換手段によって変換された前記単位図形を、 その奥行き方向順 に並べ替える並べ替え手段と、
前記単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段 と
をさらに備え、
前記描画手段は、 前記単位図形を、 視点に近いものから順に、 前記奥 行き記憶手段を用いて描画する
ことを特徴とする請求の範囲第 1項に記載の描画装置。
24. 前記画素データがサブピクセル単位で求められている場合にお いて、
前記ずらし量設定手段は、 前記画素データの前記描画位置を、 サブピ クセル精度でずらすための複数のずらし量を設定する ことを特徴とする請求の範囲第 2 3項に記載の描画装置。
2 5 . 前記描画手段が前記画像を重ね書きする重ね書き回数を決定す る回数決定手段をさらに備える
ことを特徴とする請求の範囲第 2 3項に記載の描画装置。
2 6 . 前記描画手段が、 1画面分の前記画素データを、 前記画素デ一 夕記憶手段に描画するのにかかる描画時間を推定する推定手段をさらに 備え
前記回数決定手段は、 前記推定手段により推定された前記描画時間に 基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 2 5項に記載の描画装置。
2 7 . 前記画素デ一夕がサブピクセル単位で求められている場合にお いて、
前記回数決定手段は、 1画素を構成するサブピクセルの数に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 2 5項に記載の描画装置。
2 8 . 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正手段をさ らに備える
ことを特徴とする請求の範囲第 2 3項に記載の描画装置。
2 9 . 前記補正手段は、 前記単位図形の動きに基づいて、 前記ずらし 量を補正する
ことを特徴とする請求の範囲第 2 8項に記載の描画装置。
3 0 . 前記描画手段は、 前記画素データを、 前記画素デ一夕記憶手段 に対する前記画像の重ね書き回数で除算して得られる値に基づいて、 1 回の描画を行う
ことを特徴とする請求の範囲第 2 3項に記載の描画装置。
3 1 . 前記画素デ一夕または重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 xZy以下の最大の整数を、 I N T [x/y ] と表す場 合において、
前記描画手段は、 I N T [M/N] で表される値に、 所定の補正値を 加算した値を、 1回の描画で、 前記画素データ記憶手段に書き込む ことを時徴とする請求の範囲第 3 0項に記載の描画装置。
3 2 . I N T [M/N ] X Nで表される値が、 Mより小の場合におい て、
前記補正値は、 その補正値を、 I N T [M/N ] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 3 1項に記載の描画装置。
3 3 . 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
所定の入力を与えるときに操作される操作手段と、
記録媒体に記録されているデータを読み込み、 そのデータを用いて、 前記操作手段からの入力に基づき、 所定の演算を行う演算手段と、 前記演算手段による演算の結果得られる前記単位図形を、 前記 2次元 出力装置の座標系のものに変換する変換手段と、
前記変換手段によって変換された前記単位図形を、 その奥行き方向順 に並べ替える並べ替え手段と、
前記単位図形の奥行き方向の位置を表す値を記憶する奥行き記憶手段 と
をさらに備え、
前記描画手段は、 前記単位図形を、 視点に近いものから順に、 前記奥 行き記憶手段を用いて描画する
ことを特徴とする請求の範囲第 1項に記載の描画装置。
3 4 . 前記画素データがサブピクセル単位で求められている場合にお いて、
前記ずらし量設定手段は、 前記画素データの前記描画位置を、 サブピ クセル精度でずらすための複数のずらし量を設定する
ことを特徴とする請求の範囲第 3 3項に記載の描画装置。
3 5 . 前記描画手段が前記画像を重ね書きする重ね書き回数を決定す る回数決定手段をさらに備える
ことを特徴とする請求の範囲第 3 3項に記載の描画装置。
3 6 . 前記描画手段が、 1画面分の前記画素データを、 前記画素デー 夕記憶手段に描画するのにかかる描画時間を推定する推定手段をさらに 備え
前記回数決定手段は、 前記推定手段により推定された前記描画時間に 基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 3 5項に記載の描画装置。
3 7 . 前記画素データがサブピクセル単位で求められている場合にお いて、
前記回数決定手段は、 1画素を構成するサブビクセルの数に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 3 5項に記載の描画装置。
3 8 . 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正手段をさ らに備える
ことを特徴とする請求の範囲第 3 3項に記載の描画装置。
3 9 . 前記補正手段は、 前記単位図形の動きに基づいて、 前記ずらし 量を補正する
ことを特徴とする請求の範囲第 3 8項に記載の描画装置。
40. 前記描画手段は、 前記画素デ一夕を、 前記画素データ記憶手段 に対する前記画像の重ね書き回数で除算して得られる値に基づいて、 1 回の描画を行う
ことを特徴とする請求の範囲第 33項に記載の描画装置。
41. 前記画素デ一夕または重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/y以下の最大の整数を、 INT [x/y] と表す場 合において、
前記描画手段は、 INT [M/N] で表される値に、 所定の補正値を 加算した値を、 1回の描画で、 前記画素データ記憶手段に書き込む ことを特徴とする請求の範囲第 40項に記載の描画装置。
42. I NT [M/N] XNで表される値が、 Mより小の場合におい て、
前記補正値は、 その補正値を、 INT [M/N] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 41項に記載の描画装置。
43. 画像を描画する描画装置における描画方法であって、
前記描画装置は、 前記画像を出力する 2次元出力装置に出力させる画 素デ一夕を記憶する画素データ記憶手段を備え、
前記画素データを、 前記画素データ記憶手段に描画するときの描画位 置を、 1画素より細かい精度でずらすための複数のずらし量を設定する ずらし量設定ステップと、
その複数のずらし量に対応する、 前記画素デ一夕記憶手段の位置それ それに、 前記画素データを描画することにより、 前記画像を重ね書きす る描画ステップと
を備えることを特徴とする描画方法。 .
44. 前記画素デ一夕がサブピクセル単位で求められている場合にお いて、
前記ずらし量設定ステップにおいて、 前記画素デ一夕の前記描画位置 を、 サブピクセル精度でずらすための複数のずらし量を設定する ことを特徴とする請求の範囲第 4 3項に記載の描画方法。
4 5 . 前記描画ステップにおいて前記画像を重ね書きする重ね書き回 数を決定する回数決定ステップをさらに備える
ことを特徴とする請求の範囲第 4 3項に記載の描画方法。
4 6 . 前記描画ステップにおいて 1画面分の前記画素データを、 前記 画素データ記憶手段に描画するのにかかる描画時間を推定する推定ステ ップをさらに備え、
前記回数決定ステツプにおいて、 前記推定ステツプで推定された前記 描画時間に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 4 5項に記載の描画方法。
4 7 . 前記画素デ一夕がサブピクセル単位で求められている場合にお いて、
前記回数決定ステップにおいて、 1画素を構成するサブピクセルの数 に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 4 5項に記載の描画方法。
4 8 . 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正ステップ をさらに備える
ことを特徴とする請求の範囲第 4 3項に記載の描画方法。
4 9 . 前記画像が、単位図形の組合せにより定義される場合において、 前記補正ステップにおいて、 前記単位図形の動きに基づいて、 前記ず らし量を補正する
ことを特徴とする請求の範囲第 4 8項に記載の描画方法。
50. 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
前記単位図形を、 その奥行き方向順に並べ替える並べ替えステップを さらに備え、
前記描画ステップにおいて、 前記単位図形を、 視点に近いものから順 に描画する
ことを特徴とする請求の範囲第 43項に記載の描画方法。
51. 前記描画ステップにおいて、 前記画素データを、 前記画素デ一 夕記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基 づいて、 1回の描画を行う
ことを特徴とする請求の範囲第 43項に記載の描画方法。
52. 前記画素データまたは重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/y以下の最大の整数を、 INT [x/y] と表す場 合において、
前記描画ステップにおいて、 INT [M/N] で表される値に、 所定 の補正値を加算した値を、 1回の描画で、 前記画素デ一夕記憶手段に書 き込む
ことを特徴とする請求の範囲第 51項に記載の描画方法。
53. I NT [M/N] XNで表される値が、 Mより小の場合におい て、
前記補正値は、 その補正値を、 INT [M/N] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 52項に記載の描画方法。
54. 前記描画装置は、 所定の入力を与えるときに操作される操作手 段をさらに備え、
記録媒体に記録されているデータを読み込み、 そのデ一夕を用いて、 前記操作手段からの入力に基づき、 所定の演算を行う演算ステップと、 前記演算ステップにおける演算結果に基づいて、 前記画素デ一夕を求 める画素デ一夕生成ステヅプと
をさらに備えることを特徴とする請求の範囲第 4 3項に記載の描画方 法。
5 5 . 前記画素デ一夕がサブピクセル単位で求められている場合にお いて、
前記ずらし量設定ステップにおいて、 前記画素データの前記描画位置 を、 サブピクセル精度でずらすための複数のずらし量を設定する ことを特徴とする請求の範囲第 5 4項に記載の描画方法。
5 6 . 前記描画ステップにおいて前記画像を重ね書きする重ね書き回 数を決定する回数決定ステップをさらに備える
ことを特徴とする請求の範囲第 5 4項に記載の描画方法。
5 7 , 前記描画ステップにおいて 1画面分の前記画素データを、 前記画 素データ記憶手段に描画するのにかかる描画時間を推定する推定ステツ プをさらに備え、
前記回数決定ステツプにおいて、 前記推定ステツプで推定された前記 描画時間に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 5 6項に記載の描画方法。
5 8 . 前記画素デ一夕がサブビクセル単位で求められている場合にお いて、
前記回数決定ステップにおいて、 1画素を構成するサブピクセルの数 に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 5 6項に記載の描画方法。
5 9 . 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正ステップ をさらに備える
ことを特徴とする請求の範囲第 5 4項に記載の描画方法。
6 0 . 前記画像が、単位図形の組合せにより定義される場合において、 前記補正ステップにおいて、 前記単位図形の動きに基づいて、 前記ず らし量を補正する
ことを特徴とする請求の範囲第 5 9項に記載の描画方法。
6 1 . 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
前記単位図形を、 その奥行き方向順に並べ替える並べ替えステップを さらに備え、
前記描画ステップにおいて、 前記単位図形を、 視点に近いものから順 に描画する
ことを特徴とする請求の範囲第 5 4項に記載の描画方法。
6 2 . 前記描画ステップにおいて、 前記画素デ一夕を、 前記画素デー 夕記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基 づいて、 1回の描画を行う
ことを特徴とする請求の範囲第 5 4項に記載の描画方法。
6 3 . 前記画素データまたは重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/ y以下の最大の整数を、 I N T [x/y ] と表す場 合において、
前記描画ステップにおいて、 I N T [M/N] で表される値に、 所定 の補正値を加算した値を、 1回の描画で、 前記画素データ記憶手段に書 き込む
ことを特徴とする請求の範囲第 6 2項に記載の描画方法。
6 4 . IN T [MZN] X Nで表される値が、 Mより小の場合において、 前記補正値は、 その補正値を、 I N T [M/N ] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 6 3項に記載の描画方法。
6 5 . 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
前記描画装置は、 前記単位図形の奥行き方向の位置を表す値を記憶す る奥行き記憶手段をさらに備え、
視点に応じて、 前記 3次元画像を構成する前記単位図形を、 前記 2次 元出力装置の座標系のものに変換する変換ステップと、
前記変換ステップによって変換された前記単位図形を、 その奥行き方 向順に並べ替える並べ替えステップと
をさらに備え、
前記描画ステップにおいて、 前記単位図形を、 視点に近いものから順 に、 前記奥行き記憶手段を用いて描画する
ことを特徴とする請求の範囲第 4 3項に記載の描画方法。
6 6 . 前記画素デ一夕がサブピクセル単位で求められている場合にお いて、
前記ずらし量設定ステップにおいて、 前記画素データの前記描画位置 を、 サブピクセル精度でずらすための複数のずらし量を設定する ことを特徴とする請求の範囲第 6 5項に記載の描画方法。
6 7 . 前記描画ステップにおいて前記画像を重ね書きする重ね書き回 数を決定する回数決定ステップをさらに備える
ことを特徴とする請求の範囲第 6 5項に記載の描画方法。
6 8 . 前記描画ステップにおいて、 1画面分の前記画素データを、 前 記画素デ一夕記憶手段に描画するのにかかる描画時間を推定する推定ス テツプをさらに備え、
前記回数決定ステップにおいて、 前記推定ステツプで推定された前記 描画時間に基づいて、 前記重ね書き回数を決定する ことを特徴とする讃求項 67項に記載の描画方法。
69. 前記画素データがサブピクセル単位で求められている場合にお いて、
前記回数決定ステップにおいて、 1画素を構成するサブピクセルの数 に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 67項に記載の描画方法。
70. 前記画像が動画像である場合において、
前記動画像の動きに基づいて、 前記ずらし量を補正する補正ステップ をさらに備える
ことを特徴とする請求の範囲第 65項に記載の描画方法。
71. 前記補正ステップにおいて、 前記単位図形の動きに基づいて、 前記ずらし量を補正する
ことを特徴とする請求の範囲第 70項に記載の描画方法。
72. 前記描画ステップにおいて、 前記画素データを、 前記画素デー 夕記憶手段に対する前記画像の重ね書き回数で除算して得られる値に基 づいて、 1回の描画を行う
ことを特徴とする請求の範囲第 65項に記載の描画方法。
73. 前記画素デ一夕または重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/y以下の最大の整数を、 INT [x/y] と表す場 合において、
前記描画ステップにおいて、 INT [M/N] で表される値に、 所定 の補正値を加算した値を、 1回の描画で描画する
ことを特徴とする請求の範囲第 72項に記載の描画方法。
74. I NT [M/N] xNで表される値が、 Mより小の場合におい て、 前記補正値は、 その補正値を、 I N T [M/N ] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 7 3項に記載の描画方法。
7 5 . コンピュータに、 画像を描画する処理を行わせるためのコンビ ュ一夕プログラムを提供する提供媒体であって、
前記画像を出力する 2次元出力装置に出力させる画素データを、 メモ リに描画するときの描画位置を、 1画素より細かい精度でずらすための 複数のずらし量を設定するずらし量設定ステップと、
その複数のずらし量に対応する、 前記メモリの位置それぞれに、 前記 画素デ一夕を描画することにより、 前記画像を重ね書きする描画ステツ プと
を備えるコンビュ一夕プログラムを提供する
ことを特徴とする提供媒体。
7 6 . 前記画素データがサブピクセル単位で求められている場合にお いて、
前記ずらし量設定ステップにおいて、 前記画素データの前記描画位置 を、 サブピクセル精度でずらすための複数のずらし量を設定する ことを特徴とする請求の範囲第 7 5項に記載の提供媒体。
7 7 . 前記コンビユー夕プログラムは、 前記描画ステップにおいて前 記画像を重ね書きする重ね書き回数を決定する回数決定ステップをさら に備える
ことを特徴とする請求の範囲第 7 5項に記載の提供媒体。
7 8 . 前記コンピュータプログラムは、 前記描画ステップにおいて 1 画面分の前記画素データを、 前記メモリに描画するのにかかる描画時間 を推定する推定ステツプをさらに備え、
前記回数決定ステツプにおいて、 前記推定ステツプで推定された前記 描画時間に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 7 7項に記載の提供媒体。
7 9 . 前記画素データがサブピクセル単位で求められている場合にお いて、
前記回数決定ステップにおいて、 1画素を構成するサブピクセルの数 に基づいて、 前記重ね書き回数を決定する
ことを特徴とする請求の範囲第 7 7項に記載の提供媒体。
8 0 . 前記画像が動画像である場合において、
前記コンピュータプログラムは、 前記動画像の動きに基づいて、 前記 ずらし量を補正する補正ステップをさらに備える
ことを特徴とする請求の範囲第 7 5項に記載の提供媒体。
8 1 . 前記画像が、単位図形の組合せにより定義される場合において、 前記補正スデップにおいて、 前記単位図形の動きに基づいて、 前記ず らし量を補正する
ことを特徴とする請求の範囲第 8 0項に記載の提供媒体。
8 2 . 前記画像が、 単位図形の組合せにより定義される 3次元画像で ある場合において、
前記コンピュータプログラムは、 前記単位図形を、 その奥行き方向順 に並べ替える並べ替えステツプをさらに備え、
前記描画ステップにおいて、 前記単位図形を、 視点に近いものから順 に描画する
ことを特徴とする請求の範囲第 7 5項に記載の提供媒体。
8 3 . 前記描画ステップにおいて、 前記画素データを、 前記メモリに 対する前記画像の重ね書き回数で除算して得られる値に基づいて、 1回 の描画を行う
ことを特徴とする請求の範囲第 7 5項に記載の提供媒体。
84. 前記画素データまたは重ね書き回数を、 Mまたは Nとそれぞれ 表すとともに、 x/y以下の最大の整数を、 INT [x/y] と表す場 合において、
前記描画ステップにおいて、 INT [M/N] で表される値に、 所定 の補正値を加算した値を、 1回の描画で描画する
ことを特徴とする請求の範囲第 83項に記載の提供媒体。
85. I NT [M/N] XNで表される値が、 Mより小の場合におい て、
前記補正値は、 その補正値を、 INT [M/N] に加算した値の N倍 が、 M以上となるような値である
ことを特徴とする請求の範囲第 84項に記載の提供媒体。
PCT/JP1999/001692 1998-03-31 1999-03-31 Dispositif et procede de trace d'images, et support associe WO1999052077A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AU30547/99A AU3054799A (en) 1998-03-31 1999-03-31 Image drawing device, image drawing method, and providing medium
KR1019997011012A KR100574786B1 (ko) 1998-03-31 1999-03-31 묘화장치, 묘화방법 및 기록매체
CA002292508A CA2292508A1 (en) 1998-03-31 1999-03-31 Image drawing device, image drawing method, and providing medium
BR9904893-0A BR9904893A (pt) 1998-03-31 1999-03-31 Dispositivo, método e meio de distribuição para desenhar as imagens a serem exibidas em aparelhos de imagem
EP99912079A EP1024458B1 (en) 1998-03-31 1999-03-31 Image drawing device, image drawing method, and providing medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP08537598A JP3639108B2 (ja) 1998-03-31 1998-03-31 描画装置および描画方法、並びに提供媒体
JP10/85375 1998-03-31

Publications (1)

Publication Number Publication Date
WO1999052077A1 true WO1999052077A1 (fr) 1999-10-14

Family

ID=13856986

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/001692 WO1999052077A1 (fr) 1998-03-31 1999-03-31 Dispositif et procede de trace d'images, et support associe

Country Status (15)

Country Link
US (1) US6411290B1 (ja)
EP (1) EP1024458B1 (ja)
JP (1) JP3639108B2 (ja)
KR (1) KR100574786B1 (ja)
CN (1) CN1207690C (ja)
AR (1) AR017483A1 (ja)
AU (1) AU3054799A (ja)
BR (1) BR9904893A (ja)
CA (1) CA2292508A1 (ja)
CO (1) CO4840548A1 (ja)
DZ (1) DZ2749A1 (ja)
RU (1) RU2213373C2 (ja)
TW (1) TW430771B (ja)
WO (1) WO1999052077A1 (ja)
ZA (1) ZA992485B (ja)

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397856B2 (en) 2000-04-14 2008-07-08 Siemens Aktiengesellschaft Method and apparatus for storing and processing picture information of temporally successive pictures
US7738533B2 (en) 2002-01-07 2010-06-15 Qualcomm Incorporated Multiplexed CDMA and GPS searching
US8037515B2 (en) 2003-10-29 2011-10-11 Qualcomm Incorporated Methods and apparatus for providing application credentials
JP2012044505A (ja) * 2010-08-20 2012-03-01 Seiko Epson Corp 映像処理装置、及び映像表示装置
US8176322B2 (en) 2004-03-22 2012-05-08 Samsung Electronics Co., Ltd Apparatus and method for moving and copying rights objects between device and portable storage device
US8462686B2 (en) 2008-06-23 2013-06-11 Thomson Licensing Apparatus for collision mitigation of multicast transmissions in wireless networks
US8472365B2 (en) 2008-06-26 2013-06-25 Thomson Licensing Method and system for acknowledgement and retransmission of multicast data in wireless local area networks
US8514763B2 (en) 2008-06-26 2013-08-20 Thomson Licensing Apparatus for requesting acknowledgement and transmitting acknowledgement of multicast data in wireless local area networks
US8553548B2 (en) 2008-06-23 2013-10-08 Thomson Licensing Collision mitigation for multicast transmission in wireless local area networks
US8612333B2 (en) 2000-03-02 2013-12-17 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth and price consolidation
US8705383B2 (en) 2008-06-18 2014-04-22 Thomson Licensing Contention based medium reservation for multicast transmission in wireless local area networks
US8737281B2 (en) 2008-06-18 2014-05-27 Thomson Licensing Apparatus for multicast transmissions in wireless local area networks
US8840018B2 (en) 2006-05-05 2014-09-23 Cfph, Llc Device with time varying signal
US8956231B2 (en) 2010-08-13 2015-02-17 Cfph, Llc Multi-process communication regarding gaming information
US8974302B2 (en) 2010-08-13 2015-03-10 Cfph, Llc Multi-process communication regarding gaming information
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185538B2 (en) 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
US9183693B2 (en) 2007-03-08 2015-11-10 Cfph, Llc Game access device
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
US9203923B2 (en) 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
US9306952B2 (en) 2006-10-26 2016-04-05 Cfph, Llc System and method for wireless gaming with location determination
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9629030B2 (en) 2003-10-14 2017-04-18 Qualcomm Incorporated Data rate control in soft handoff and during cell-switching
US9811859B2 (en) 2000-03-02 2017-11-07 Trading Technologies International, Inc. Trading tools for electronic trading
US10009743B2 (en) 2001-08-13 2018-06-26 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US10043170B2 (en) 2004-01-21 2018-08-07 Qualcomm Incorporated Application-based value billing in a wireless subscriber network
US10121198B2 (en) 1999-04-09 2018-11-06 Trading Technologies International, Inc. User interface for an electronic trading system
US10147138B2 (en) 1999-04-09 2018-12-04 Trading Technologies International, Inc. User interface for semi-fungible trading
US10210572B2 (en) 2000-03-02 2019-02-19 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth
US10286300B2 (en) 2006-05-05 2019-05-14 Cfph, Llc Systems and methods for providing access to locations and services
US10347076B2 (en) 2004-02-25 2019-07-09 Interactive Games Llc Network based control of remote system for enabling, disabling, and controlling gaming
US10354324B2 (en) 2000-03-02 2019-07-16 Trading Technologies International, Inc. Click based trading with market depth display
US10366562B2 (en) 2007-03-14 2019-07-30 Cfph, Llc Multi-account access device
US10391397B2 (en) 2004-02-25 2019-08-27 Interactive Games, Llc System and method for wireless gaming with location determination
US10424153B2 (en) 2007-03-08 2019-09-24 Cfph, Llc Game access device with privileges
US10460566B2 (en) 2005-07-08 2019-10-29 Cfph, Llc System and method for peer-to-peer wireless gaming
US10460557B2 (en) 2006-04-18 2019-10-29 Cfph, Llc Systems and methods for providing access to a system
US10515511B2 (en) 2004-02-25 2019-12-24 Interactive Games Llc Network based control of electronic devices for gaming
US10546107B2 (en) 2006-11-15 2020-01-28 Cfph, Llc Biometric access sensitivity
US10706673B2 (en) 2006-11-14 2020-07-07 Cfph, Llc Biometric access data encryption
US10726664B2 (en) 2004-02-25 2020-07-28 Interactive Games Llc System and method for convenience gaming
US11636727B2 (en) 2005-08-09 2023-04-25 Cfph, Llc System and method for providing wireless gaming as a service application

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001118049A (ja) * 1999-10-14 2001-04-27 Sega Corp マトリクス演算器を有する画像処理装置
JP2002140722A (ja) * 2000-08-23 2002-05-17 Sony Computer Entertainment Inc エイリアシングを除去した画像を描画する装置及び方法
JP4632531B2 (ja) * 2000-12-18 2011-02-16 株式会社バンダイナムコゲームス ゲームシステム、情報記憶媒体及びゲームシステムの制御方法
CN100356407C (zh) * 2003-03-28 2007-12-19 奥林巴斯株式会社 数据创建设备
CN100565590C (zh) * 2004-07-23 2009-12-02 松下电器产业株式会社 三维形状绘制设备和三维形状绘制方法
JP4727304B2 (ja) * 2005-06-06 2011-07-20 パナソニック株式会社 曲線描画装置、曲線描画方法、駐車支援装置及び車両
US8269788B2 (en) * 2005-11-15 2012-09-18 Advanced Micro Devices Inc. Vector graphics anti-aliasing
JP5298507B2 (ja) * 2007-11-12 2013-09-25 セイコーエプソン株式会社 画像表示装置及び画像表示方法
JP5006272B2 (ja) * 2008-06-13 2012-08-22 株式会社東芝 電線格納部品の図面作成装置とその方法、およびプログラム
JP5200743B2 (ja) 2008-08-01 2013-06-05 セイコーエプソン株式会社 画像処理装置、画像表示装置、画像処理方法、画像表示方法及びプログラム
US8301013B2 (en) * 2008-11-18 2012-10-30 Panasonic Corporation Reproduction device, reproduction method, and program for stereoscopic reproduction
KR20110100640A (ko) * 2008-12-01 2011-09-14 노오텔 네트웍스 리미티드 3차원 컴퓨터 생성 가상 환경의 비디오 표시를 제공하는 방법 및 장치
JP2012208553A (ja) * 2011-03-29 2012-10-25 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
CN103164839B (zh) * 2013-03-07 2019-06-21 华为技术有限公司 一种绘图方法、装置及终端
KR102335113B1 (ko) 2014-12-22 2021-12-03 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
CN110335190A (zh) * 2019-06-20 2019-10-15 合肥芯碁微电子装备有限公司 基于cuda的直写式光刻机数据拓展方法
JP7433703B2 (ja) * 2020-01-16 2024-02-20 アルパイン株式会社 表示制御装置および表示制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113785A (ja) * 1986-10-31 1988-05-18 Hitachi Ltd 図形表示方法
JPH04205485A (ja) * 1990-11-30 1992-07-27 Daikin Ind Ltd A―バッファ法における隠面処理方法およびその装置
JPH05137068A (ja) * 1991-04-30 1993-06-01 Sony Broadcast & Commun Ltd デジタルビデオ効果システム
JPH06290253A (ja) * 1993-04-05 1994-10-18 Nippon Telegr & Teleph Corp <Ntt> アニメーションのエイリアシング除去方法
JPH07282271A (ja) * 1994-04-08 1995-10-27 Hitachi Ltd 画像処理方式
JPH09114994A (ja) * 1995-10-19 1997-05-02 Sony Corp 画像作成装置および方法
JPH09282249A (ja) * 1996-04-17 1997-10-31 Nec Corp 3次元形状通信システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2030022A1 (en) * 1989-11-17 1991-05-18 Brian M. Kelleher System and method for drawing antialiased polygons
DE69127516T2 (de) * 1990-06-29 1998-02-26 Philips Electronics Nv Verfahren und Gerät zur Bilderzeugung
JPH07282274A (ja) * 1994-04-04 1995-10-27 Mitsubishi Electric Corp グラフィック表示装置
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US5949924A (en) * 1995-10-06 1999-09-07 Ricoh Company, Ltd. Image processing apparatus, method and computer program product
US6163337A (en) * 1996-04-05 2000-12-19 Matsushita Electric Industrial Co., Ltd. Multi-view point image transmission method and multi-view point image display method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113785A (ja) * 1986-10-31 1988-05-18 Hitachi Ltd 図形表示方法
JPH04205485A (ja) * 1990-11-30 1992-07-27 Daikin Ind Ltd A―バッファ法における隠面処理方法およびその装置
JPH05137068A (ja) * 1991-04-30 1993-06-01 Sony Broadcast & Commun Ltd デジタルビデオ効果システム
JPH06290253A (ja) * 1993-04-05 1994-10-18 Nippon Telegr & Teleph Corp <Ntt> アニメーションのエイリアシング除去方法
JPH07282271A (ja) * 1994-04-08 1995-10-27 Hitachi Ltd 画像処理方式
JPH09114994A (ja) * 1995-10-19 1997-05-02 Sony Corp 画像作成装置および方法
JPH09282249A (ja) * 1996-04-17 1997-10-31 Nec Corp 3次元形状通信システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CARPENTER L.: "THE A-BUFFER, AN ANTIALIASED HIDDEN SURFACE METHOD.", COMPUTER GRAPHICS., ACM, US, vol. 18., no. 03., 1 July 1984 (1984-07-01), US, pages 103 - 108., XP000562534, ISSN: 0097-8930, DOI: 10.1145/964965.808585 *
See also references of EP1024458A4 *
YAMAMOTO T: "TV GAME JIDAI NO 3JIGEN CG GIJUTSU", BIT, KYORITSU SHUPPAN KABUSHIKI GAISHA, TOKYO,, JP, vol. 28, no. 06, 1 June 1996 (1996-06-01), JP, pages 41 - 48, XP002921254, ISSN: 0385-6984 *

Cited By (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10147138B2 (en) 1999-04-09 2018-12-04 Trading Technologies International, Inc. User interface for semi-fungible trading
US10121198B2 (en) 1999-04-09 2018-11-06 Trading Technologies International, Inc. User interface for an electronic trading system
US10037567B2 (en) 2000-03-02 2018-07-31 Trading Technologies International, Inc. Trading tools for electronic trading
US10185994B2 (en) 2000-03-02 2019-01-22 Trading Technologies International, Inc. Trading tools for electronic trading
US10210572B2 (en) 2000-03-02 2019-02-19 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth
US10354324B2 (en) 2000-03-02 2019-07-16 Trading Technologies International, Inc. Click based trading with market depth display
US10565652B2 (en) 2000-03-02 2020-02-18 Trading Technologies International, Inc. System and method for automatic repositioning of market information in a graphical user interface
US10002386B2 (en) 2000-03-02 2018-06-19 Trading Technologies International, Inc. System and method for automatic repositioning of market information in a graphical user interface
US9811859B2 (en) 2000-03-02 2017-11-07 Trading Technologies International, Inc. Trading tools for electronic trading
US8612333B2 (en) 2000-03-02 2013-12-17 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth and price consolidation
US7397856B2 (en) 2000-04-14 2008-07-08 Siemens Aktiengesellschaft Method and apparatus for storing and processing picture information of temporally successive pictures
US10009743B2 (en) 2001-08-13 2018-06-26 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US9203923B2 (en) 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
US8582623B2 (en) 2002-01-07 2013-11-12 Qualcomm Incorporated Multiplexed CDMA and GPS searching
US7738533B2 (en) 2002-01-07 2010-06-15 Qualcomm Incorporated Multiplexed CDMA and GPS searching
US9973974B2 (en) 2003-10-14 2018-05-15 Qualcomm Incorporated Data rate control in soft handoff and during cell-switching
US9629030B2 (en) 2003-10-14 2017-04-18 Qualcomm Incorporated Data rate control in soft handoff and during cell-switching
US8424068B2 (en) 2003-10-29 2013-04-16 Qualcomm Incorporated Methods and apparatus for providing application credentials
US8856905B2 (en) 2003-10-29 2014-10-07 Qualcomm Incorporated Methods and apparatus for providing application credentials
US8037515B2 (en) 2003-10-29 2011-10-11 Qualcomm Incorporated Methods and apparatus for providing application credentials
US10043170B2 (en) 2004-01-21 2018-08-07 Qualcomm Incorporated Application-based value billing in a wireless subscriber network
US10515511B2 (en) 2004-02-25 2019-12-24 Interactive Games Llc Network based control of electronic devices for gaming
US10360755B2 (en) 2004-02-25 2019-07-23 Interactive Games Llc Time and location based gaming
US10347076B2 (en) 2004-02-25 2019-07-09 Interactive Games Llc Network based control of remote system for enabling, disabling, and controlling gaming
US10391397B2 (en) 2004-02-25 2019-08-27 Interactive Games, Llc System and method for wireless gaming with location determination
US10653952B2 (en) 2004-02-25 2020-05-19 Interactive Games Llc System and method for wireless gaming with location determination
US11024115B2 (en) 2004-02-25 2021-06-01 Interactive Games Llc Network based control of remote system for enabling, disabling, and controlling gaming
US11514748B2 (en) 2004-02-25 2022-11-29 Interactive Games Llc System and method for convenience gaming
US10726664B2 (en) 2004-02-25 2020-07-28 Interactive Games Llc System and method for convenience gaming
US8176322B2 (en) 2004-03-22 2012-05-08 Samsung Electronics Co., Ltd Apparatus and method for moving and copying rights objects between device and portable storage device
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9185538B2 (en) 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
US11069185B2 (en) 2005-07-08 2021-07-20 Interactive Games Llc System and method for wireless gaming system with user profiles
US10460566B2 (en) 2005-07-08 2019-10-29 Cfph, Llc System and method for peer-to-peer wireless gaming
US10733847B2 (en) 2005-07-08 2020-08-04 Cfph, Llc System and method for gaming
US11636727B2 (en) 2005-08-09 2023-04-25 Cfph, Llc System and method for providing wireless gaming as a service application
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
US10957150B2 (en) 2006-04-18 2021-03-23 Cfph, Llc Systems and methods for providing access to wireless gaming devices
US10460557B2 (en) 2006-04-18 2019-10-29 Cfph, Llc Systems and methods for providing access to a system
US8939359B2 (en) 2006-05-05 2015-01-27 Cfph, Llc Game access device with time varying signal
US11229835B2 (en) 2006-05-05 2022-01-25 Cfph, Llc Systems and methods for providing access to wireless gaming devices
US10286300B2 (en) 2006-05-05 2019-05-14 Cfph, Llc Systems and methods for providing access to locations and services
US11024120B2 (en) 2006-05-05 2021-06-01 Cfph, Llc Game access device with time varying signal
US8899477B2 (en) 2006-05-05 2014-12-02 Cfph, Llc Device detection
US10535223B2 (en) 2006-05-05 2020-01-14 Cfph, Llc Game access device with time varying signal
US10751607B2 (en) 2006-05-05 2020-08-25 Cfph, Llc Systems and methods for providing access to locations and services
US8840018B2 (en) 2006-05-05 2014-09-23 Cfph, Llc Device with time varying signal
US10535221B2 (en) 2006-10-26 2020-01-14 Interactive Games Llc System and method for wireless gaming with location determination
US11017628B2 (en) 2006-10-26 2021-05-25 Interactive Games Llc System and method for wireless gaming with location determination
US9306952B2 (en) 2006-10-26 2016-04-05 Cfph, Llc System and method for wireless gaming with location determination
US10706673B2 (en) 2006-11-14 2020-07-07 Cfph, Llc Biometric access data encryption
US11182462B2 (en) 2006-11-15 2021-11-23 Cfph, Llc Biometric access sensitivity
US10546107B2 (en) 2006-11-15 2020-01-28 Cfph, Llc Biometric access sensitivity
US10424153B2 (en) 2007-03-08 2019-09-24 Cfph, Llc Game access device with privileges
US9183693B2 (en) 2007-03-08 2015-11-10 Cfph, Llc Game access device
US11055958B2 (en) 2007-03-08 2021-07-06 Cfph, Llc Game access device with privileges
US10332155B2 (en) 2007-03-08 2019-06-25 Cfph, Llc Systems and methods for determining an amount of time an object is worn
US11055954B2 (en) 2007-03-14 2021-07-06 Cfph, Llc Game account access device
US10366562B2 (en) 2007-03-14 2019-07-30 Cfph, Llc Multi-account access device
US8737281B2 (en) 2008-06-18 2014-05-27 Thomson Licensing Apparatus for multicast transmissions in wireless local area networks
US8705383B2 (en) 2008-06-18 2014-04-22 Thomson Licensing Contention based medium reservation for multicast transmission in wireless local area networks
US8553548B2 (en) 2008-06-23 2013-10-08 Thomson Licensing Collision mitigation for multicast transmission in wireless local area networks
US8462686B2 (en) 2008-06-23 2013-06-11 Thomson Licensing Apparatus for collision mitigation of multicast transmissions in wireless networks
US8514763B2 (en) 2008-06-26 2013-08-20 Thomson Licensing Apparatus for requesting acknowledgement and transmitting acknowledgement of multicast data in wireless local area networks
US8472365B2 (en) 2008-06-26 2013-06-25 Thomson Licensing Method and system for acknowledgement and retransmission of multicast data in wireless local area networks
US10744416B2 (en) 2010-08-13 2020-08-18 Interactive Games Llc Multi-process communication regarding gaming information
US8956231B2 (en) 2010-08-13 2015-02-17 Cfph, Llc Multi-process communication regarding gaming information
US8974302B2 (en) 2010-08-13 2015-03-10 Cfph, Llc Multi-process communication regarding gaming information
US10406446B2 (en) 2010-08-13 2019-09-10 Interactive Games Llc Multi-process communication regarding gaming information
JP2012044505A (ja) * 2010-08-20 2012-03-01 Seiko Epson Corp 映像処理装置、及び映像表示装置

Also Published As

Publication number Publication date
EP1024458A1 (en) 2000-08-02
CN1207690C (zh) 2005-06-22
CN1272194A (zh) 2000-11-01
TW430771B (en) 2001-04-21
BR9904893A (pt) 2000-10-17
DZ2749A1 (fr) 2003-09-15
US6411290B1 (en) 2002-06-25
RU2213373C2 (ru) 2003-09-27
ZA992485B (en) 1999-10-07
AR017483A1 (es) 2001-09-05
EP1024458B1 (en) 2011-11-23
KR20010013036A (ko) 2001-02-26
JPH11283041A (ja) 1999-10-15
KR100574786B1 (ko) 2006-04-28
AU3054799A (en) 1999-10-25
CA2292508A1 (en) 1999-10-14
CO4840548A1 (es) 1999-09-27
JP3639108B2 (ja) 2005-04-20
EP1024458A4 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
JP3639108B2 (ja) 描画装置および描画方法、並びに提供媒体
US6480192B1 (en) Recording medium, apparatus and method for processing images
KR100549358B1 (ko) Z-버퍼 이미지 데이터 및 알파 융합을 사용하는 필드심도를 갖는 이미지
JP4917346B2 (ja) ゲーム画像処理プログラムおよびゲーム画像処理装置
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
US7212215B2 (en) Apparatus and method for rendering an antialiased image
EP1174829B1 (en) Three-dimensional image processing unit
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3990258B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4447000B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4074531B2 (ja) 描画装置および描画方法、並びに提供媒体
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP4447417B2 (ja) ゲーム装置、プログラム及びコンピュータの制御方法
JP4521811B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
NZ500121A (en) Reduction of aliasing in 3D images by multiple small shifts of pixel values.
JP4194605B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
MXPA99011024A (en) Image drawing device, image drawing method, and providing medium
JP2006277490A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006323513A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006048601A (ja) プログラム、情報記憶媒体、及び画像生成システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99800868.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AU BR CA CN ID IL KR MX PL RU TR UA VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 30547/99

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 1999912079

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1019997011012

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: PA/a/1999/011024

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 2292508

Country of ref document: CA

Ref document number: 2292508

Country of ref document: CA

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1999912079

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019997011012

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019997011012

Country of ref document: KR