WO2006028093A1 - 画像生成装置および画像生成方法 - Google Patents
画像生成装置および画像生成方法 Download PDFInfo
- Publication number
- WO2006028093A1 WO2006028093A1 PCT/JP2005/016334 JP2005016334W WO2006028093A1 WO 2006028093 A1 WO2006028093 A1 WO 2006028093A1 JP 2005016334 W JP2005016334 W JP 2005016334W WO 2006028093 A1 WO2006028093 A1 WO 2006028093A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pixel
- polygon
- value
- buffer
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 69
- 239000000872 buffer Substances 0.000 claims abstract description 183
- 238000009877 rendering Methods 0.000 claims abstract description 98
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 abstract description 64
- 238000006243 chemical reaction Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 230000008030 elimination Effects 0.000 description 12
- 238000003379 elimination reaction Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 6
- 230000005055 memory storage Effects 0.000 description 6
- 238000002156 mixing Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000009183 running Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
Definitions
- the present invention relates to three-dimensional computer graphics technology, and more particularly to hidden surface elimination technology for objects in three-dimensional space.
- FIG. 1 (a) is a diagram for explaining the Z buffer method.
- a point corresponding to a pixel (for example, a polygon representing an object in a three-dimensional space), which corresponds to each pixel of the view screen 900, and which connects a pixel on the view screen 900 with the viewpoint V
- Z buffer a buffer for storing the Z coordinate of (hereinafter referred to as “Z value”).
- Z value is a value that increases with distance from the viewpoint.
- frame buffer a buffer for storing the pixel value (for example, color value or luminance value) of each pixel is prepared.
- FIG. 1 (a) shows a case where these polygons are projected onto the view screen 900 when there are two polygons 910 and polygons 920 which intersect each other in a three-dimensional space.
- the portion projected onto the pixel 930 of the view screen 900 is the portion A of the polygon 910, and the point B of the polygon 920 is hidden by the point A of the polygon 910.
- the viewpoint V force also extends the straight line up to the pixel 930, and the distance ZA between the viewpoint V and the point A is shorter than the distance ZB between the viewpoint V and the point B.
- the point A of certain polygon 910 is also the force projected onto the view screen 900 only.
- FIG. 1 (b) is a display example of an image in the case where hidden surface elimination is performed using the Z buffer method (ie, the polygon 910 and the polygon 920 are projected on the view screen 900).
- the Z value of each polygon is small, the darker the part, and the more black!
- the procedure for performing hidden surface elimination using the Z buffer method is as follows.
- FIG. 2 (a) shows an example of an image composed of 8 ⁇ 8 pixels, which has already been drawn for polygon 901! (Note that the memory address in FIG. 2 (a) Is indicated by [N-M]).
- FIG. 2 (b) is an image drawn by adding a new polygon 902 to FIG. 2 (a).
- the squares in FIGS. 2 (a) and 2 (b) show the Z values corresponding to the respective pixels.
- Fig. 2 (c) is an example of the pixel values stored in the frame buffer corresponding to the above Fig. 2 (a) and the Z value stored in the Z buffer.
- each pixel corresponding to polygon 901 is already corresponding to polygon 901 among the pixels corresponding to polygon 902. Only pixels with a z-value less than the z-value of the pixel are taken and drawn on the view screen.
- FIG. 2 (d) The pixel values stored in the frame buffer and the Z values stored in the Z buffer after completion of the above processing are shown in FIG. 2 (d). As shown in FIG. 2D, only when the Z value of the pixel corresponding to polygon 902 is smaller than the Z value of the pixel corresponding to polygon 901, Each pixel value and z value is updated.
- the frame buffer stores the image data of the image subjected to hidden surface elimination to be displayed on the actual display equivalent to the view screen.
- the Z-buffer method is a simple power algorithm that requires a large-capacity buffer (memory) to store pixel values and Z values for all pixels on the view screen. It is used in devices that perform many real-time renderings that are easy to convert to hardware.
- Non Patent Literature 1 Shinya Araya “Clear 3D Computer Graphics” Kyoritsu Publication 2003
- the data length of the minimum processing unit of read Z writing (hereinafter, “burst length”) is equivalent to one pixel. It is preferable that the length of the data (including pixel values and Z values) be as long as possible, and it is necessary to use a memory having a short latency time for reading Z writing (hereinafter referred to as "latency").
- a memory suitable for graphics processing is often installed (for example, when the burst length during read Z writing is much longer than one pixel's worth of data). If the burst length at read Z write is much longer than the data for one pixel as in the above system LSI, the pixel data of the pixel unrelated to the polygon being drawn is also accessed at the same time. Processing efficiency at the time of memory access is reduced. Furthermore, if the latency at the time of memory access is long, the waiting time can hardly be devoted to the drawing process, and it just has to wait. Therefore, there is a problem that the processing efficiency in the drawing processing is lowered, and an image with smooth motion can not be obtained, resulting in deterioration of the image quality and the like.
- the present invention has been made in view of the above problems, and an image generation apparatus and the like that can avoid a decrease in processing efficiency in drawing processing even when the hidden surface elimination is performed by applying the Z buffer method. Intended to be provided.
- the following measures are taken to solve the above problems. That is, polygon drawing processing is performed for each block composed of a plurality of pixel powers, and a memory storage image composed of effective pixel data force which is data of pixels on which polygons of the block are drawn is created. Furthermore, the effective pixel data is stored in a continuous address area of the rendering buffer according to the memory storage image, the memory storage image is encoded into rendering information data, and the rendering information data is stored in the rendering information buffer. Furthermore, memory access to the rendering buffer is minimized based on the memory storage image which is the result of decoding of the drawing information data referenced beforehand.
- an image generation device is an image generation device that generates an image by projecting an object in a virtually defined space onto a view screen,
- the object is represented by a plurality of polygons, and for each and every pixel of the view screen, the value of an effective pixel flag indicating whether or not at least one polygon is present at the position projected onto the view screen is determined.
- Flag value determination means pixel value storage means for storing pixel values of pixels corresponding to a polygon in a continuous address area of the rendering buffer in correspondence with the determined effective pixel flag, and the determined effective pixels
- the image generation device further includes: a division unit that divides the view screen into a plurality of blocks, and the flag value determination unit is configured to calculate the value of the effective pixel flag for each of the divided blocks.
- the pixel value storage unit performs the storage in the rendering buffer for each block, and the expansion unit expands the pixel values stored in the rendering for all the blocks in the frame buffer. You may decide to
- the pixel value storing means further includes, for the one block, a data length calculating unit for calculating a data length of the pixel value in the rendering buffer in the block, and the calculated data.
- the data may be provided with a data-lengthed carot which adds a length to the rendering buffer.
- the pixel value storing means further generates the pixel value using information that can specify the form of the polygon when one polygon is drawn in the one block, and the pixel value is generated.
- the pixel value may be stored in the rendering buffer.
- the pixel value storage unit includes an interpolation calculation unit that performs interpolation calculation of the pixel value using information that can specify the form of the polygon, and the rendering buffer may include the interpolated pixel value. It may be stored in the
- a data recording medium is a data recording medium used for an image generation apparatus that generates an image by projecting an object in a virtually defined space onto a view screen.
- the object is represented by a plurality of polygons, and the image generating device may determine whether or not at least one polygon is projected to the view screen for every pixel of the view screen.
- a pixel value determining means for determining a pixel value of a pixel corresponding to the polygon in correspondence with the determined effective pixel flag, and a determined pixel value determining means.
- Developing means for expanding the determined pixel value into a frame buffer in accordance with the value of the effective pixel flag and the data recording medium is configured to determine the determined effective pixel At least one lug and the pixel values, and storing, in the address area contiguous.
- the characteristic constituent means in the above-mentioned image generation device is taken as a step.
- the present invention can be realized as an image generation method, or as a program or an integrated circuit which causes those steps to be executed by a personal computer or the like. It goes without saying that the program can be widely distributed via recording media such as DVD and transmission media such as the Internet.
- the image generation apparatus stores pixels (hereinafter referred to as “effective pixels”) on which polygons are drawn in block units of a plurality of pixel powers, in the continuous address area of the rendering buffer,
- effective pixels pixels on which polygons are drawn in block units of a plurality of pixel powers
- data of effective pixels necessary for drawing may be reduced by reducing useless data when performing burst read only by accessing the continuous address area of the rendering buffer according to drawing information data. Memory access can be significantly reduced.
- FIG. 1 (a) is a diagram for explaining the Z buffer method.
- (b) is a display example of an image subjected to hidden surface elimination using the Z buffer method.
- Fig. 2 is an example of an image composed of 8 x 8 pixels, which has been drawn for a certain polygon.
- (B) is an example of an image drawn by adding a new polygon to the above-mentioned FIG. 2 (a).
- (C) is an example of the pixel value stored in the frame buffer corresponding to the polygon in FIG. 2 (a) and the Z value stored in the Z buffer.
- (D) is an example of the pixel value stored in the frame buffer corresponding to the polygon in FIG. 2 (b) and the Z value stored in the Z buffer.
- (E) is an example of a pixel value updated by the Z buffer method, stored in the frame buffer, and a pixel value stored in the Z buffer.
- FIG. 3 is a block diagram showing the hardware configuration of the image generation apparatus according to Embodiment 1. It is.
- FIG. 4 is a block diagram showing a functional configuration of a graphics engine according to the first embodiment.
- FIG. 5 shows a drawing image of polygons on the rendering buffer in the first embodiment.
- B is a figure which shows an example of the color value and Z value at the time of drawing a certain polygon.
- C is a figure which shows an example of the color value and Z value at the time of drawing another polygon.
- D is a figure which shows an example of the color value and Z value at the time of combining and drawing the polygon of said (b), and the polygon of said (c).
- FIG. 6 is a diagram showing an example of a table of initialized effective pixel flags.
- (b) is a figure which shows an example of the table of the effective pixel flag corresponding to said FIG. 5 (b).
- (c) It is a figure which shows an example of the table of the effective pixel flag corresponding to said FIG.5 (c).
- (d) is a figure showing an example of a table of an effective pixel flag corresponding to the above-mentioned figure 5 (d).
- FIG. 7 is a flow chart showing the flow of processing of the image generation device in Embodiment 1.
- FIG. 8 is a view for explaining an effect in the first embodiment.
- FIG. 9 is a diagram showing an example of a polygon drawing image on a rendering buffer in Embodiment 2.
- B is a figure which shows the other example of the drawn image of the polygon on the rendering buffer in Embodiment 2.
- FIG. ( c )-( e ) is a figure which shows a mode that the polygon of said FIG.9 (b) was decomposed
- F is a diagram showing an example of data stored in a rendering buffer according to Embodiment 2.
- FIG. 10 is a block diagram showing a functional configuration of a graphics engine according to a second embodiment.
- FIG. 11 is a diagram showing an example of a drawing image of polygons on the rendering buffer in the third embodiment.
- (B) is a figure which shows an example of the image of the polygon which is additionally drawn in Embodiment 3.
- FIG. (C) is a diagram showing an example of a setup coefficient in Embodiment 3.
- (D) is a figure which shows an example of the data stored in the rendering buffer in Embodiment 3.
- FIG. 3 is a block diagram showing the hardware configuration of the image generation apparatus 300 according to the present embodiment.
- An image generation apparatus 300 shown in FIG. 3 is an image generation apparatus capable of significantly reducing the amount of memory access involved in the process of deleting a hidden surface of three-dimensional computer graphics, and includes a CPU 301, a graphics engine 302, a block buffer 303, and a memory controller 304. , Memory 305, display controller 309 and display 310.
- the memory 305 further includes a rendering buffer 306, a drawing information buffer 307 and a frame buffer 308.
- the CPU 301 includes a ROM that stores a control program, a RAM, and the like, and issues a drawing instruction to the graphics engine 302 via the CPU bus 311.
- the graphics engine 302 performs drawing processing with hidden surface elimination in accordance with a drawing command that has also received CPU power, and also makes an interrupt request related to drawing processing and the like to the CPU 301 via the CPU nose 311.
- the CPU 301, the graphics engine 302 and the display controller 309 are connected to the memory controller 304 via the memory bus 312, and each accesses the memory 305 to read and write necessary data.
- the block buffer 303 is a working buffer for expanding a drawing image for each block obtained by dividing the drawing area, and is directly connected to the graphics engine 302.
- "rendered image” is non-compressed data that can be used directly in the drawing process (pixel process) in the rasterizing unit of the graphics engine, and is one including pixel values and Z values.
- As the block buffer 303 it is desirable to use a register or SRAM (Static Random Access Memory) that performs high-speed reading and writing.
- SRAM Static Random Access Memory
- Each buffer in the memory 305 preferably uses a large capacity memory such as a dynamic random access memory (DRAM). Note that, in the present embodiment, these buffers may be distributed to separate memories integrated into one memory.
- DRAM dynamic random access memory
- the rendering buffer 306 is a work buffer for drawing (that is, generating image data) in the graphics engine 302, and stores data necessary for hidden surface elimination including pixel values and Z values. .
- the drawing information buffer 307 is a work buffer for storing a memory storage image on the rendering buffer for the block, and stores drawing information data of each block. Note that part or all of the rendering information buffer 307 may be included in the rendering buffer 306. Further, the drawing information buffer 307 may be configured by a register or SRAM capable of high-speed read / write, as the block buffer 303.
- the frame buffer 308 is a buffer for storing image data of an image to be finally displayed on the display 310, and stores the image data generated by the graphics engine 302.
- the image data stored in the frame buffer 308 is read by the display controller 309 and output to the display 310.
- FIG. 4 is a block diagram showing a functional configuration of the graphics engine 302 in FIG.
- the graphics engine 302 includes a host interface 401, a control unit 402, a vertex processing unit 403, a setup unit 404, a rasterization unit 405, a data conversion unit 406, and a memory bus interface 407.
- the host interface 401 receives a drawing control signal such as a drawing command from the CPU 301 via the CPU bus 311, or outputs a graphic score interrupt signal or the like to the CPU 301.
- a drawing control signal such as a drawing command from the CPU 301 via the CPU bus 311, or outputs a graphic score interrupt signal or the like to the CPU 301.
- the control unit 402 outputs polygon data attached to the drawing command received from the CPU 301 to the vertex processing unit 403.
- the vertex processing unit 403 uses the polygon data input from the control unit 402 to perform light source calculation, coordinate conversion processing, etc. on the vertices of each polygon (three vertices if the polygon is a triangle). Is output to the setup unit 404.
- the setup unit 404 determines the slope of the straight line surrounding the polygon, and the other corresponding to the polygon.
- Interpolated values of pixel values of pixels and coefficients such as Z values are calculated and output to the rasterize unit 405.
- various methods such as interpolation using functional expressions such as linear interpolation and spline function can be considered, but are not particularly limited.
- the rasterization unit 405 performs polygon drawing processing using the coefficients input by the setup unit 404 and the interpolated values of the coefficients calculated by the setup unit 404 (hereinafter referred to as “setup coefficients” and “.”). .
- the data conversion unit 406 decodes and encodes data stored in the rendering buffer 306 and the drawing information buffer 307 present in the memory 305.
- the rasterization unit 405 scans the internal coordinates of the polygon for each pattern to determine a block for drawing the polygon.
- the data conversion unit 406 accesses the drawing information buffer 307 via the memory bus interface 407, and reads the drawing information data of the determined block. Furthermore, the data conversion unit 406 performs the minimum necessary read access to the rendering buffer 306 via the memory bus interface 407 in accordance with the contents of the effective pixel flag of the drawing information data. Furthermore, the data conversion unit 406 expands the read effective pixel data in the block buffer 303 to restore the drawn image.
- the rasterization unit 405 calculates pixel values and Z values for pixels inside the polygon, and performs blending with the drawn image developed in the block buffer 303.
- the “blending process” refers to a polygon that has already been processed and is currently being processed, such as a hidden surface erasing process using Z values or a semitransparent process using ⁇ components (mixing ratios) included in pixel values.
- the data conversion unit 406 takes out the drawing image power valid pixel data on the block buffer 303 and stores it in the continuous address area of the rendering buffer 306, updates the valid pixel flag, and draws the drawing information data as drawing information Store in buffer 307.
- the data conversion unit 406 converts the contents of the rendering buffer 306 into a format that can be displayed on the display 310 and stores the converted data in the frame buffer 308.
- the processing of the vertex processing unit 403 and the setup unit 404 can also be performed by the CPU 301. In this case, the control unit 402 directly outputs setup data to the rasterization unit 405.
- FIG. 5 is a diagram showing an outline of a polygon drawing method in the present embodiment.
- FIG. 5 (a) is a drawn image of a polygon on the rendering buffer 306.
- FIG. 5 (a) a block 102 (in the present embodiment) formed by dividing the drawing area 101 of the view screen (in the present embodiment, by 48) is formed. Although 8 ⁇ 8 pixels are used, other pixels may be used to form a block.
- Pixel values inside the polygon in FIG. 5 (a) indicate color values.
- the pixels inside the polygon 901 are drawn.
- a corresponding pixel when drawing a polygon is referred to as an “effective pixel”.
- the rendering buffer 306 only the data of the effective pixel (including the pixel value and the Z value) is stored in the rendering buffer 306. At this time, each effective pixel data is stored in the continuous address area of the rendering buffer 306, as shown in FIG. 5 (b).
- the drawing information data of the block 102 is a flag (hereinafter referred to as "effective pixel flag") indicating whether or not a polygon has been drawn at each pixel of the block, and is stored in a table format as shown in FIG. Ru.
- the value of the effective pixel flag is initialized to a value “0” indicating that the polygon is not drawn.
- the value corresponding to the flag corresponding to the pixel representing that drawing is “1”. Is set, updated as shown in FIG. 6 (b), and stored in the drawing information buffer 307.
- the effective pixel data can be referenced by decoding the memory storage image of FIG. 5 (b) with reference to the table of FIG. 6 (b). Ru.
- the drawing information data of the block to draw the polygon is read out.
- the position of the effective pixel data stored in the rendering buffer 306 can be determined from the value of the effective pixel flag of the drawing information data. For example, when the rendering image of block 102 in FIG. 5 (a) is restored from the storage state of rendering buffer 306 in FIG. 5 (b), the value “1” of the effective pixel flag in FIG. 6 (b) is set.
- the valid pixel data read out from the rendering buffer 306 is assigned in the address order to the current pixel, and the value “0” is set.
- the pixel value and the Z value are It can be restored by assigning an initial value. Also, since the number of pixels for which the value “1” of the effective pixel flag is set represents the number of effective pixels, reading of effective pixel data is performed from the start address of the corresponding block in the rendering buffer 306 Memory access should be performed as many as X) (data amount for one pixel).
- an area where effective pixel data is stored from “memory address 0” to “memory address 10” in rendering buffer 306 in FIG. 5 (b) (hereinafter referred to as “effective pixel data area”). It is possible to read out all effective pixel data by performing read access only to this part.
- the corresponding pixel and effective pixel data area of effective pixel data to be read out are determined, effective pixel data area power of rendering buffer is read, effective pixel data is read, and a drawing image in block units is restored.
- block hidden surface removal processing is performed using the polygon to be drawn anew and the pixel value and the Z value of the drawn image of the restored block.
- data of effective pixels is again stored in the order of the head address power of the corresponding block in the rendering buffer 306, and the effective pixel flag of the drawing information data is newly changed to effective pixels.
- the flag value of the pixel is updated to “1” and stored in the drawing information buffer 307.
- the display 310 is also configured with multiple polygon forces according to the above procedure
- the effective pixel data of the block stored in the rendering buffer 306 is read out as in the case of drawing the block, and the drawing image of the block is an address corresponding to the block position on the frame buffer 308 It should be expanded in the area
- FIG. 7 is a flowchart showing the process flow of the image generation apparatus 300.
- control unit 402 acquires polygon data of an object to be drawn via the host interface 401 (S 702), and stores the acquired polygon data in the rendering buffer 306. Further, the control unit 400 performs initialization processing on each buffer in the memory 305 (S704). Next, the control unit 400 divides the view screen into N (48 in this embodiment) blocks composed of 8 ⁇ 8 pixels (S706).
- control unit 402 controls each unit so as to perform the following processing for all blocks (S 708 to 720).
- the rasterization unit 405 determines whether or not there is a polygon in the block (S710), and if there is a polygon (S710: Yes), the following processing is performed for all the pixels in the block. A process is performed (S712-S718).
- the rasterization unit 405 compares the Z values of the pixels corresponding to the respective polygons, and updates the pixel values (for example, color values) and the Z values of the pixels on which the polygons are projected, in the case where the Z values are small. (S714). Further, the rasterization unit 405 sets an effective pixel flag corresponding to the pixel on which the polygon is projected (S716).
- the read burst length of the memory is a data length of 4 ⁇ 4 pixels, and the block is 8 ⁇ 8 pixels.
- drawing is performed in units of 4 ⁇ 4 pixels in accordance with the burst length
- drawing is performed in units of 8 ⁇ 8 pixels.
- Data is collected and stored in the continuous address area of rendering buffer 306, so that one memory access Just do it.
- the memory corresponding to the polygon 502 drawn across blocks is read three times in the conventional image generation apparatus, but the image generation apparatus 300 according to the present embodiment uses two memory accesses. It can be reduced. Since the position information of the effective pixel is managed by the drawing information buffer 307, the Runnings method and the Fuman method are applied to the data stored in the rendering buffer 308 in order to further improve the memory access efficiency.
- the compression can also be performed in a manner that is generally well known.
- 9 (a) to 9 (f) are diagrams showing an outline of a polygon drawing method according to the second embodiment.
- FIG. 9 (a) shows a drawing image of a block on which a polygon has already been drawn.
- FIG. 9B is a drawing showing a drawing image of the polygon strip 602 additionally drawn in the block 601 of FIG. 9A.
- the rendering buffer 306 is accessed each time a new polygon is drawn, and the effective pixel data is read / written in block units to update the drawing image.
- a method is employed in which a drawing image of a polygon to be newly drawn is created without performing read access to the rendering buffer 306, and drawing data is added to the end of the data area of the corresponding block of the rendering buffer 306.
- the data length of the corresponding block on the rendering buffer 306 (hereinafter referred to as “block data length”) in addition to the effective pixel flag used in the first embodiment !, Uh.) Is included.
- block data length the data length of the corresponding block on the rendering buffer 306
- the block data length is updated to the size including the added drawing data
- the drawing information data of the block to draw the polygon is read out.
- a drawing image of only the polygon to be drawn in the corresponding block is created, and the drawing data is added to the rear address of the drawing data area of the corresponding block in the rendering buffer 306,
- the block data length of the data is increased by the drawing data of the polygon and stored in the drawing information buffer 307.
- the drawing data of the polygon to be added is created as in the case of the drawing image of the corresponding block, and the effective pixel data is generated, and the effective pixel flag of the polygon is stored in the rendering buffer 306 together with the effective pixel data.
- the effective pixel data of the updated drawing image is again stored in the continuous address area of the rendering buffer 306, and the effective pixel data of the block is set according to the updated drawing image, and the block data length is the size of the effective pixel data of the block Set to and store in the drawing information browser. Repeat this for all blocks and all input polygons Thereafter, by outputting the data to the frame buffer 308 in the same manner as in the first embodiment, the display 910 can be displayed.
- An image generation apparatus for drawing polygons in the above-described procedure has a force graphics engine 1302 that has substantially the same configuration as the image generation apparatus of the first embodiment described above has a configuration shown in FIG.
- the difference from the first embodiment is that a condition judgment unit 701 is added.
- the condition determination unit 701 receives the block data length of the drawing information data decoded by the data conversion unit 406, and
- Rasterization unit 405 and data conversion unit 406 perform the processing of (1) or (2) according to the judgment of condition judgment unit 701.
- the rasterizing unit 405 scans the internal coordinates of the polygon for each block to determine the block for drawing the polygon.
- the data conversion unit 406 accesses the drawing information buffer 307, reads out the drawing information data of the corresponding block, performs decoding, and outputs the block data length of the drawing information data to the condition judgment unit 701.
- the condition determination unit 701 makes the above determination from the block data length, and determines whether the process (1) or (2) is to be performed.
- the rasterizing unit 405 first creates a drawing image of the input polygon in the block buffer 303.
- the data conversion unit 406 creates an effective pixel flag and effective pixel data of the drawing image power of the block buffer 303, and adds the data to the corresponding block data of the rendering buffer 306. Do.
- the data conversion unit 406 issues a read access request to the address in which the data of the corresponding block is stored in the rendering buffer 306 for the block data length.
- the data conversion unit 406 When data reading is started, the data conversion unit 406 displays an effective image of the drawing information data. Element flag force The drawing image of the corresponding block is restored to the block buffer 303, and the subsequent read data is sequentially restored to the effective pixel flag and effective pixel data force polygon drawing image and output to the rasterizing unit 405.
- the rasterizing unit 405 blends the drawn image of the polygon input from the data conversion unit 406 and the drawn image of the polygon input from the setup unit 404 with the block on the block buffer 303.
- the data conversion unit 406 extracts effective pixel data from the drawn image on the block buffer 303 and stores it in the continuous address area of the rendering buffer 306, updates the effective pixel flag of the drawing information data, and Is set to the size of effective pixel data and stored in the drawing information buffer 307. After drawing all polygons, the process (2) is performed on all blocks and the result is stored in the frame buffer 308.
- the number of memory accesses can be reduced by devising the method of storing the pixels in which the polygon is drawn in the rendering buffer 306.
- the problem of memory read latency still remains, since each time a polygon is drawn, read access to the memory is performed.
- polygon drawing data is temporarily written to the rendering buffer 306.
- the time required to issue a memory request is the time required to issue a write request.
- the memory reading request for the effective pixel of the block and the polygon drawing data added can be made continuously at one time. It can be reduced.
- the memory read latency when processing N polygons at a time is the memory read latency when the memory read latency is sufficiently long with respect to the time for issuing a write request or read request. It becomes about 1ZN of the image generation device of form 1. As a result, the time required for memory access is reduced and the drawing speed is significantly increased.
- the creation of drawing data of polygons to be added to the block data of the rendering buffer 306 is not limited to the compression method described in the present embodiment, and the run length method and the Hough method may be used. It is also possible to use a lossless compression method using a well-known lossless compression method such as the Man's method or a DCT (discrete cosine transform) for pixel values. Since one polygon drawing data is highly local, a higher compression rate can be achieved than a normal drawing image in which a plurality of polygons are drawn.
- a lossless compression method such as the Man's method or a DCT (discrete cosine transform) for pixel values. Since one polygon drawing data is highly local, a higher compression rate can be achieved than a normal drawing image in which a plurality of polygons are drawn.
- FIGS. 11 (a) to 11 (d) are diagrams showing an outline of a polygon drawing method in the present embodiment.
- FIG. 11 (a) shows a drawing image of a block in which a plurality of polygons have already been drawn.
- FIG. 11 (b) shows a polygon 802 to be additionally drawn in block 801 of FIG. 11 (a).
- the drawing image of the polygon is added to the rendering buffer 306.
- FIG. 11 (a) shows a drawing image of a block in which a plurality of polygons have already been drawn.
- FIG. 11 (b) shows a polygon 802 to be additionally drawn in block 801 of FIG. 11 (a).
- the drawing image of the polygon is added to the rendering buffer 306.
- FIG. 11 (a) shows a drawing image of a block in which a plurality of polygons have already been drawn.
- FIG. 11 (b) shows a polygon 802 to be additionally drawn in block 801 of FIG. 11 (a).
- the setup coefficients of polygon 802 shown in c) (here, XY coordinates of vertex s, pixel values, Z values, XY coordinates of vertex c and vertex e, slope of sides sc and sides se and sides ce, pixel values and The Z value is added to the rendering buffer 306).
- the setup coefficient is added, the data of the block on the rendering buffer 306 is as shown in FIG.
- the procedure for drawing a polygon in the present embodiment is substantially the same as that in the second embodiment, but the data to be added to the rendering buffer 306 is a polygon when the block data length does not reach the specified size. It differs in that it is the setup coefficient of the polygon which is not in the drawing image of.
- the block drawing image is restored, and then the pixel value and Z value inside each polygon are calculated for the first time, and blending with the block drawing image is performed.
- the image generation apparatus for drawing polygons in the above procedure basically has the same configuration as the image generation apparatus shown in the second embodiment, but the operation for drawing polygons in each block is the same. It's a little different.
- the rasterization unit 405 When the condition determination unit 701 determines that the polygon data is to be added, the rasterization unit 405 outputs the setup coefficient input from the setup unit 404 to the data conversion unit 406, and the data conversion unit 406 renders the setup coefficient. Store in the buffer 306, add the block data length of the drawing information data by the data length of the setup coefficient, and write information buffer Store in If the condition determination unit 701 determines that the polygon data and the drawing image of the block are to be combined, the data conversion unit 406 blocks the drawing image of the block from the effective pixel data on the rendering buffer 306 as in the second embodiment. Restore on the 306. The subsequent read data is output to the rasterization unit 405 as a setup coefficient. The rasterization unit 405 calculates the pixel values and Z values inside the respective polygons of the data conversion unit 406 and the setup unit 404, and the blend processing with the block drawing image on the block buffer 303 is performed. Do.
- Anti-aliasing is a process that improves image quality by reducing jaggedness (aliasing) that appears at the boundaries of polygons when the polygons are displayed on the display.
- drawing is performed at a resolution larger than the resolution of the display, and when writing to the frame buffer 308, the pixel values of a plurality of pixels of the rendering buffer 306 are averaged.
- the method is well known.
- the amount of data read from and written to the rendering buffer 306 is also N times. Therefore, in the image generation apparatus that updates the rendering buffer 306 each time a polygon is drawn, memory access must be performed N times each time, resulting in a long time for drawing processing. Also in the image generation apparatus of the second embodiment, both the effective pixel data of the block and the drawing data of the polygon become N times the amount of data, and the block data length can easily reach the specified size. Since the drawing image of the block is frequently synthesized, the amount of memory access increases and the drawing process takes a long time.
- the image generation apparatus since the polygon setup coefficients are stored in the rendering buffer 306 independently of the processing resolution, an increase in block data length can be suppressed. It is possible to increase the interval for combining multiple drawn images with multiple polygons, and also to read / write N-fold effective pixel data and setup coefficients independent of resolution from the rendering buffer 306 even during combining. Because the amount of memory access is reduced, the drawing speed is significantly increased. For the same reason as the above-mentioned anti-aliasing processing, it goes without saying that the image generation apparatus according to the present embodiment has a great advantage even if it simply generates a frame of high resolution.
- setup coefficient used in the description of the present embodiment is an example, and other setup coefficients such as texture and footer may be included, and if not used for drawing, the present embodiment It is not necessary to include the setup factor used in.
- the setup coefficients stored in the rendering buffer 306 may be compressed using a generally known method such as run length method or Huffman method.
- Embodiments 1 to 3 above not only the force memory described in the embodiment for storing pixel values and Z values in a memory such as a rendering buffer, but also magnetic recording media such as hard disks, DVDs, etc. It may be stored in an optical disc type recording medium such as a CD, or other recording medium.
- the image generation apparatus of the present invention is used for various electronic devices equipped with a graphics drawing function, for example, mobile phones, PDAs, digital televisions, car navigation systems, home game machines, personal computers, etc. Is possible.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006535763A JP4704348B2 (ja) | 2004-09-06 | 2005-09-06 | 画像生成装置および画像生成方法 |
US11/630,102 US7649531B2 (en) | 2004-09-06 | 2005-09-06 | Image generation device and image generation method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004257914 | 2004-09-06 | ||
JP2004-257914 | 2004-09-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006028093A1 true WO2006028093A1 (ja) | 2006-03-16 |
Family
ID=36036374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/016334 WO2006028093A1 (ja) | 2004-09-06 | 2005-09-06 | 画像生成装置および画像生成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7649531B2 (ja) |
JP (1) | JP4704348B2 (ja) |
CN (1) | CN1969299A (ja) |
WO (1) | WO2006028093A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013025376A (ja) * | 2011-07-15 | 2013-02-04 | Fujitsu Semiconductor Ltd | 画像描画装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4260734B2 (ja) * | 2004-12-21 | 2009-04-30 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、ラスタライザ、および描画処理方法 |
JP4931240B2 (ja) * | 2007-09-13 | 2012-05-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 画像の認識を支援するシステム |
CN102099834A (zh) * | 2009-05-21 | 2011-06-15 | 松下电器产业株式会社 | 图形描绘装置、图形描绘方法、图形描绘程序、记录了图形描绘程序的记录介质、图形描绘用集成电路 |
CN101901590B (zh) * | 2009-05-25 | 2013-01-16 | 富士通株式会社 | 用于抗锯齿的多边形栅格化的方法和系统 |
US20110043518A1 (en) * | 2009-08-21 | 2011-02-24 | Nicolas Galoppo Von Borries | Techniques to store and retrieve image data |
CN102652321B (zh) * | 2009-12-11 | 2014-06-04 | 三菱电机株式会社 | 图像合成装置以及图像合成方法 |
CN101778226B (zh) * | 2010-01-25 | 2012-05-23 | 深圳市同洲电子股份有限公司 | 一种高清图像防锯齿方法、装置及数字电视接收终端 |
JP5861113B2 (ja) * | 2011-08-08 | 2016-02-16 | パナソニックIpマネジメント株式会社 | データ処理装置 |
KR20130126195A (ko) * | 2012-05-11 | 2013-11-20 | 삼성전자주식회사 | 계단 현상을 제거하기 위한 영상 처리 방법 및 이를 적용한 영상 처리 장치 |
CN111145074B (zh) * | 2019-11-30 | 2023-11-28 | 航天科技控股集团股份有限公司 | 全液晶仪表图像渲染方法 |
CN114598902B (zh) * | 2022-03-09 | 2023-12-22 | 安徽文香科技股份有限公司 | 一种视频帧处理方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040412A (ja) * | 1996-07-26 | 1998-02-13 | Toshiba Corp | 三次元図形描画方法及びその装置 |
JPH10214353A (ja) * | 1997-01-28 | 1998-08-11 | Namco Ltd | 画像生成装置及び画像生成方法 |
JP2003281564A (ja) * | 2002-03-20 | 2003-10-03 | Victor Co Of Japan Ltd | 画像生成装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0859524B1 (en) * | 1996-08-29 | 2007-06-27 | Matsushita Electric Industrial Co., Ltd. | Image decoder and image memory overcoming various kinds of delaying factors caused by hardware specifications specific to image memory by improving storing system and reading-out system |
JP3886184B2 (ja) * | 1996-09-20 | 2007-02-28 | 株式会社ソニー・コンピュータエンタテインメント | 画像データの処理方法および画像処理装置 |
JPH10334269A (ja) * | 1997-06-03 | 1998-12-18 | Sega Enterp Ltd | 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体 |
US5933156A (en) * | 1997-12-03 | 1999-08-03 | Margolin; Jed | Z-Buffer for row addressable graphics memory with flash fill |
US6091428A (en) * | 1998-04-01 | 2000-07-18 | Real 3D, Inc. | Frame buffer memory system for reducing page misses when rendering with color and Z buffers |
AU5686299A (en) * | 1998-08-20 | 2000-03-14 | Raycer, Inc. | Method and apparatus for generating texture |
JP2000132433A (ja) | 1998-10-23 | 2000-05-12 | Matsushita Electric Ind Co Ltd | 可変長の電子データを管理する方法及び装置 |
JP4596678B2 (ja) * | 2001-05-15 | 2010-12-08 | パナソニック株式会社 | 線分描画装置 |
JP4622165B2 (ja) * | 2001-06-15 | 2011-02-02 | ソニー株式会社 | 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 |
-
2005
- 2005-09-06 JP JP2006535763A patent/JP4704348B2/ja not_active Expired - Fee Related
- 2005-09-06 US US11/630,102 patent/US7649531B2/en not_active Expired - Fee Related
- 2005-09-06 WO PCT/JP2005/016334 patent/WO2006028093A1/ja active Application Filing
- 2005-09-06 CN CN200580019820.4A patent/CN1969299A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040412A (ja) * | 1996-07-26 | 1998-02-13 | Toshiba Corp | 三次元図形描画方法及びその装置 |
JPH10214353A (ja) * | 1997-01-28 | 1998-08-11 | Namco Ltd | 画像生成装置及び画像生成方法 |
JP2003281564A (ja) * | 2002-03-20 | 2003-10-03 | Victor Co Of Japan Ltd | 画像生成装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013025376A (ja) * | 2011-07-15 | 2013-02-04 | Fujitsu Semiconductor Ltd | 画像描画装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2006028093A1 (ja) | 2008-05-08 |
CN1969299A (zh) | 2007-05-23 |
US7649531B2 (en) | 2010-01-19 |
US20080055309A1 (en) | 2008-03-06 |
JP4704348B2 (ja) | 2011-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4704348B2 (ja) | 画像生成装置および画像生成方法 | |
JP6968803B2 (ja) | 複数の詳細レベルをレンダリングするためのシステムおよび方法 | |
Torborg et al. | Talisman: Commodity realtime 3D graphics for the PC | |
US8068119B2 (en) | System and method for multi-sampling primitives to reduce aliasing | |
EP2780891B1 (en) | Tessellation in tile-based rendering | |
JP3635051B2 (ja) | 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム | |
CN1251155C (zh) | 用于实现全景图形保真过采样的方法和装置 | |
US6961065B2 (en) | Image processor, components thereof, and rendering method | |
US20110310102A1 (en) | Systems and methods for subdividing and storing vertex data | |
JP3645024B2 (ja) | 描画装置及び描画方法 | |
KR102651126B1 (ko) | 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법 | |
US6661424B1 (en) | Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images | |
US20100265254A1 (en) | Graphics filled shape drawing | |
EP3580726A1 (en) | Buffer index format and compression | |
CN111127299A (zh) | 一种加速光栅化遍历的方法、装置及计算机存储介质 | |
JP3029878B2 (ja) | 画像を表す複数の多角形を処理する装置及び方法 | |
JP2005332195A (ja) | テクスチャユニット、画像描画装置、テクセル転送方法 | |
US20100302259A1 (en) | Drawing data processing method, graphics drawing system and graphics drawing data generation program | |
JP3979162B2 (ja) | 画像処理装置およびその方法 | |
JP3971448B2 (ja) | 描画装置及び描画方法 | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
WO2023241210A1 (zh) | 虚拟场景的渲染方法、装置、设备及存储介质 | |
JP2003263650A (ja) | 画像処理装置およびその方法 | |
US7382377B1 (en) | Render to texture cull | |
US6982713B2 (en) | System and method for clearing depth and color buffers in a real-time graphics rendering system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006535763 Country of ref document: JP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 200580019820.4 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11630102 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase | ||
WWP | Wipo information: published in national office |
Ref document number: 11630102 Country of ref document: US |