WO2002101653A1 - Procede de traitement d'image - Google Patents
Procede de traitement d'image Download PDFInfo
- Publication number
- WO2002101653A1 WO2002101653A1 PCT/JP2002/005487 JP0205487W WO02101653A1 WO 2002101653 A1 WO2002101653 A1 WO 2002101653A1 JP 0205487 W JP0205487 W JP 0205487W WO 02101653 A1 WO02101653 A1 WO 02101653A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- polygon
- unit
- image processing
- threshold
- longest side
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Definitions
- the present invention records an image processing method, an image processing device, and an image processing program for generating two-dimensional image information to be drawn on a two-dimensional screen such as a television monitor device from three-dimensional image information.
- the present invention relates to a recording medium readable by a combi-user and an image processing program. Background art
- the current image processing system uses polygon drawing processing to generate 2D images because polygon data is data that is expressed in units of vertices of a polygon and can be easily controlled. What can be done is that polygon data can be converted to pixel data by linear interpolation of vertices on the drawing surface, and memory access and computation have low power. Therefore, it is possible to perform high-speed processing, and it is possible to add most of the calculation by using a DDA (Digital Differential Analyzer) in the linear interpolation processing, for example. Even on a scale This is because a sufficiently effective real-time drawing can be realized.
- DDA Digital Differential Analyzer
- the process for generating a two-dimensional image is as follows from the viewpoint of changes in the data format.
- the polygon data in the world coordinate system is subjected to geometry calculation processing such as coordinate conversion processing, cribbling processing, and lighting processing.
- the polygon data after the geometric operation processing is converted into polygon data of the screen coordinate system by the projection conversion processing, and the polygon data of the screen coordinate system is obtained.
- the data is converted (pixelated) into pixel data on the screen by rendering processing.
- the pixel data is converted to screen data for display on a two-dimensional screen. This screen data is sent to a television monitor and displayed as a two-dimensional image on a two-dimensional screen.
- polygon data is data per vertex.
- pixel data is data on a pixel basis.
- these two processing units are different from each other.
- the rendering process is a process directly affected by the area of the polygon.
- the processing time for pixelation of a large area polygon is longer, and the processing time for pixelation of a small area polygon is shorter.
- the geometry operation processing and projection conversion processing are This is an operation process in units of vertices that does not depend on the area of the polygon.
- the geometry operation processing and the projection conversion processing can be executed in substantially the same time required for both the large area polygon and the small area polygon.
- conventional arithmetic circuits that perform rendering processing mainly generate a plurality of pixels per processing cycle per polygon.
- the number of pixels depends on the hardware, and is fixed.
- small-area polygons often do not satisfy the fixed number of pixels depending on the door even after rendering processing. Therefore, when the number of small-area polygons that do not satisfy the fixed number of pixels increases, the processing efficiency of the arithmetic circuit decreases, and as a result, the pixel self-rate also decreases.
- the image processing system is based on the circuit configuration for the geometry calculation / setup process and the rendering process (pixel conversion process), and the performance ratio (performance difference).
- the size of the polygon that can perform the most efficient processing on the drawing surface is almost uniquely determined.
- conventional image processing systems are designed to efficiently draw relatively large polygons.
- conventional image processing systems have not been able to efficiently process polygons other than large enough to perform efficient processing. ing.
- drawing models are expected to become more complex and render more diversified in the future.
- the area of the polygons is inevitably reduced, and the number of small area polygons is significantly increased.
- the parameters at the top of the polygon will also increase.
- image processing systems will have to significantly increase pixel fill rates.
- an image processing system in order to efficiently process a large number of small-area polygons, an image processing system must speed up pixelation processing and increase polygon throughput. Also, to increase the pixel fill rate, the image processing system must simultaneously draw a larger area polygon.
- conventional image processing systems must satisfy both of these requirements simultaneously, i.e., process a large number of small-area polygons at high speed and increase the pixel self-rate. It is difficult. In order to satisfy both of these requirements, the conventional image processing system must be equipped with a large number of expensive and huge DDA, and the cost and circuit size must be reduced. Unrealistic from
- the present invention has been made in view of such a problem, and efficiently processes a large number of small-area polygons without enlarging the circuit configuration and significantly increasing the cost.
- Image processing method, image processing device, and image processing program that can increase the pixel rate without being affected by the size of the polygon. It is an object of the present invention to provide a computer-readable recording medium on which a ram is recorded, and an image processing program. Disclosure of the invention
- the present invention compares the size of the polygon with a predetermined threshold, detects the longest side of the triangular polygon that exceeds the threshold, and detects the longest side of the polygon.
- the polygon is divided by a line segment connecting the predetermined point and the vertex opposed to the longest side, and the polygons that do not exceed the threshold are pixelated.
- the predetermined point is the midpoint of the longest side of the polygon. That is, the present invention divides a polygon exceeding the threshold value by a line segment connecting the midpoint of the longest side and the vertex opposed to the longest side. The division is performed recursively until the size of the polygon converges within the range of the threshold.
- the above threshold value corresponds to, for example, a calculation range for pixelization.
- the present invention limits the operation range for pixelization to a certain small size, thereby making it possible to reduce the size of the configuration for performing pixelization processing and to increase the degree of parallelism. I do.
- polygons exceeding the above-mentioned threshold value are converted into pixels having an optimal size for the pixelization processing in which the operation range is small and limited. Converge on polygons.
- the present invention recursively divides a polygon exceeding the above threshold value, so that the polygon of any size is optimal for the operation range of the pixelation processing. It is possible to converge to a large size, and by parallelizing the pixelization process, the throughput of the polygon is raised and the pixel self-rate is greatly improved.
- Fig. 1 is a diagram used to explain the concept of pixelization processing.
- Figure 2 shows the pixelization process for DSP, GP, or software-corrected paper (Rule 91) It is a figure used for explanation of processing at the time of realizing it.
- FIG. 3 is a diagram used for explaining the alias comparison process.
- FIG. 4 is a diagram showing an example of a triangle polygon used for explaining the area size comparison processing.
- FIG. 5 is a diagram used to explain the polygon division processing.
- FIG. 6 is a diagram illustrating an example of a triangular polygon used for explaining polygon division processing.
- Figure 7 is a diagram used to explain the longest ridge line of the triangular polygon and its midpoint.
- FIG. 8 is a diagram used to explain the polygon after the division.
- FIG. 9 is a block diagram showing a specific configuration example in which pixelization processing is applied to a GPU of a television game machine.
- the number of large area polygons P1 is small.
- the number of small-area polygons P s is large.
- the operation range of the pixelization process (the processing bit length of Pixel Ridge) is reduced to some extent in accordance with the small area polygon P s, and the processing is further parallelized, the processing performance can be improved. It is thought that it can be enhanced.
- the calculation range of the pixel processing is set to the small area polygon P s, processing of the large area polygon P 1 exceeding the above calculation range becomes impossible.
- the image processing apparatus restricts the operation range of the pixelization process to a relatively small value and sets the polygon (small area polygon P s) within the range of the operation range. For), the pixels are processed as they are.
- the image processing apparatus stores the large area polygon P 1 in the operation range. Divide (Polygon division processing D). Then, the image processing apparatus executes pixelization processing on the small area polygon Ps and each small area polygon Pd obtained by the polygon division processing D.
- the pixelization process can be performed on polygons of any size, resulting in efficient processing with little waste.
- the pixelization processing has a small and limited operation range, it can be realized with a simplified and small configuration, and parallelization becomes easy.
- the polygon is divided by a line segment connecting the midpoint of the longest ridgeline of the polygon and the vertex opposed thereto.
- the length of the three sides of the polygon is made evenly closer to each other, and the entire polygon is subjected to pixel processing.
- the size is optimal for the edge.
- the image processing apparatus reduces the load of the pixel processing by limiting the operation range of the pixel processing to a small range, and increases the multiplicity of the parallel processing. Further, the image processing apparatus according to the present embodiment divides the large-area polygon P 1 into small-area polygons P d having a size optimal for the calculation range of the pixel processing, and performs parallel pixel processing. By performing PX, efficient and efficient pixelization processing is realized, and the pixel self-rate is increased. [Configuration example]
- Fig. 2 shows a specific configuration example for executing the pixel processing.
- the pixel processing is performed by, for example, a digital signal processor (DSP) or a graphic processor (GP). This can be achieved by a hardware configuration.
- the pixelization process can be realized by software (an application program that can be executed by a computer).
- Figure 2 shows the DSP and GP internal processing units that implement pixelization processing.
- the application program includes program steps corresponding to the respective components in FIG.
- the CPU of an information processing device such as a personal computer operates based on the application program.
- the information storage unit 32 stores figure information such as polygons (vertex information such as vertex coordinate values, RGB vertex color values, map coordinate values, and solid values, and vertex connection information). Is stored.
- the graphic information is obtained through various recording media such as a CD-ROM, a DVD-ROM, a semiconductor memory, or a wired or wireless communication medium or a transmission medium. is there.
- the geometry operation unit 31 reads out the graphic information stored in the information storage unit 32, and applies the so-called “affine transformation” to the graphic information and projects it on screen coordinates.
- the graphic information (polygon data) after projection conversion for performing conversion, light source processing for vertices, etc. is sent to the rendering unit 33.
- the rendering unit 33 is a unit that performs arithmetic processing for drawing a polygon on the screen, and is sent from the geometry arithmetic unit 31. Pixelized polygon data that has been input.
- the rendering section 33 is roughly divided into a polygon setup section 41, a pixel operation section 42, and a frame buffering section 46.
- the polygon setup unit 41 captures the polygon data sent from the geometry operation unit 31 and buffers the polygon data.
- the polygon set-up unit 41 converts a polygon mesh structure such as a strip or fan into an independent polygon, and a pixel operation unit 4 2 To send to.
- the polygon set-up section 41 also performs unnecessary area selection and back selection to discard unnecessary polygons. Unnecessary polygons are discarded in order to increase the efficiency of the processing performed by the pixel operation unit 42 in the subsequent stage.
- the pixel operation unit 42 performs the processing of dividing a large-area polygon according to the operation range described in FIG. 1 and the parallel processing of pixelization.
- the pixel calculation section 42 includes an area size comparison section 43, a polygon division section 44, and a pixelization section 45.
- the pixel calculation section 42 inputs the polygon data sent from the polygon setup section 41 to the area size comparison section 43.
- the area size comparing section 43 determines whether or not the size of the polygon falls within the range of the operation range.
- the area size comparison unit 43 sends the polygon data falling within the operation range to the pixelation unit 45, while the polygon data that exceeds the operation range is sent to the pixelation unit 45.
- the data is sent to the polygon division unit 4 4.
- the specific configuration and operation of the area size comparison unit 43 will be described later.
- the polygon dividing section 44 reconstructs a two-piece polygon by dividing the polygon that exceeds the range of the operation range into two, for example.
- the two pieces of polygon data after this division are sent to the area size comparison unit 43, where the size is Is determined again. If it is determined in the re-determination that it is outside the range of the operation range, the polygon division unit 44 further divides the polygon further into two. That is, the pixel operation unit 42 recursively divides the polygon that exceeds the range of the operation range so that the large-area polygon P 1 is within the range of the operation range. It is converted into a small area polygon Pd.
- the specific configuration and operation of the polygon dividing unit 44 will be described later.
- the polygon data that has converged within the operation range due to the division or the polygon data that has been within the operation range from the beginning are stored in the area size comparison unit. 4 3 Cara Sent to pixelation unit 45.
- the pixelization unit 45 converts the polygon data into raster data, that is, pixel data (a color value of each pixel), and sends the pixel data to the frame buffering unit 46.
- the pixelizing unit 45 generates a color value of each pixel by performing interpolation of the vertex color value of the polygon data and acquisition of the map coordinate value.
- the pixelization unit 45 has a configuration in which the calculation ranges in the X-axis direction and the y-axis direction are equal, and a plurality of processing units whose calculation ranges are small and limited. ing.
- the pixelization unit 45 simplifies each configuration by not providing a difference between the operation ranges in the X-axis direction and the y-axis direction, and by limiting the operation range to a small value. By increasing the multiplicity of processing, efficient processing can be performed.
- the frame buffering unit 46 stores a color value of each pixel in a memory space corresponding to a display (screen) 35 such as a television monitor. Write.
- the screen data in frame units formed in the memory space is Read out in response to a request from the roll section 34.
- the display control section 34 generates a horizontal synchronization signal, a vertical synchronization signal, and the like of the television monitor device, and responds to the display timing of the monitor device. Then, the pixel color values are sequentially extracted from the frame buffering section 46 in a line form. The extracted color value is displayed as a two-dimensional image on a display 35 such as a television monitor.
- the following description mainly describes the flow of information for determining whether or not the polygon falls within the range of the operation range, and for changing (selecting) the transfer destination in accordance with the determination result. I have.
- the polygon data from the polygon set-up section 41 is input to the input section 51 of the area size comparison section 43.
- the polygon data from the polygon division section 44 is input to the input section 52.
- the polygon is represented by the coordinates of each vertex V a (V ax, V ay), V b (V bx, V by), V c (V ex, V cy) shown in Fig. 4.
- V ax, V ay V ax, V ay
- V b V bx, V by
- V c V ex, V cy
- Fig. 4 Is a triangular polygon PO.
- the vertex coordinate unit 53 extracts the X coordinate values Vax, Vbx, and Vex of the vertex coordinate values of the triangle polygon P0.
- the vertex coordinate section 54 extracts the y coordinate values V ay, V by, and V cy of each vertex coordinate value of the triangle polygon P 0.
- the x coordinate values V ax, V bx, V cx, and the y coordinate values V ay, V by, V cy are sent to the corresponding maximum / minimum selection units 55, 56 together with the inputted polygon data.
- the maximum / minimum selection unit 5 5 derives the X coordinate value V
- the maximum x-coordinate value Vxmax and the minimum x-coordinate value Vxmin of ax, Vbx, and Vex are extended.
- V xmax max, V ax, V bx, V ex) (1)
- V xmin min (V ax, V bx, V ex) (2)
- the maximum / minimum selection unit 56 calculates the maximum y coordinate value V ymax and the minimum y coordinate value of the y coordinate values V ay, V by, and V cy according to the equations (3) and (4). Find V ymin.
- V ymax max (V ay, V by, V cy) (3)
- V yrain rain (V ay, V by, V cy) (4)
- the maximum x coordinate value V xmax is V cx
- the minimum x coordinate value V xmin is V ax
- the maximum y coordinate value V ymax is V ay
- the minimum y coordinate value V ymin is V bx
- the difference calculation unit 57 obtains a difference between the maximum X coordinate value V xmax and the minimum X coordinate value V xmin using Expression (5).
- the difference calculation unit 57 obtains the length W x of the side in the X-axis direction of the rectangle (the boundary box B B indicated by the dotted line in the figure) including the vertices of the triangle polygon P 0.
- the vertical side of the boundary box BB is a side parallel to the X-axis of the screen, and the horizontal side is a side parallel to the y-axis of the screen.
- the difference calculation unit 58 obtains a difference between the maximum y coordinate value V ymax and the minimum y coordinate value V ymin according to the equation (6). That is, the difference calculation unit 5 8 Is the length of the y-axis direction W y of the boundary box BB. W y — V ymax — V yrain (6)
- the maximum and minimum coordinate values are obtained by the maximum / minimum selection units 55 and 56, and the differences are obtained by the difference calculation units 57 and 58.
- the input polygon data is expressed as an offset and a difference, the data bit length used for the subsequent pixelization is minimized.
- the pixelating unit 45 in the subsequent stage can reduce the arithmetic processing and simplify the circuit.
- the lengths W x and W y obtained by the operations of the difference operation units 57 and 58 are sent to the difference comparison unit 59.
- the polygon data via the difference calculation sections 57 and 58 is sent to the output selection section 60.
- the difference comparison unit 59 determines the lengths W x, W y of each side by a predetermined threshold (RANGE) corresponding to the operation range of the pixelization unit 45. ) And sends the comparison result to the output selector 60.
- RANGE predetermined threshold
- the difference comparing unit 59 sends a signal indicating that to the output selecting unit 60.
- both the lengths W x and W y indicate that the lengths are smaller than the threshold range
- the difference comparison unit 59 sends a signal indicating that to the output selection unit 60.
- the output selection unit 60 outputs the force to send the polygon data from the output unit 61 to the polygon division unit 44 according to the comparison result of the difference comparison unit 59, Alternatively, the output is selected to be sent to the pixelation section 45 via the output section 62.
- the output selector 60 sends the polygon data to the polygon divider 44.
- the output selector 60 indicates that the lengths W x and W y are both smaller than the threshold range, the output selector 60 Data to the pixelization unit 45.
- the circuit configuration of the area size comparison section 43 can be realized by a very simple configuration such as a large and small comparator, a difference calculator, and a switch. Therefore, the circuit configuration of the area size comparison section 43 can be easily parallelized without increasing the cost or enlarging the configuration.
- the parallelized area size comparison unit 43 combines the polygon data from the polygon setup unit 41 and the polygon data from the polygon division unit 44. , And can be processed without conflict. Therefore, the parallelized area size comparison unit 43 can particularly avoid a situation in which the processing of new input polygon data is made to wait.
- the polygon data transmitted from the area size comparing section 43 is input to the input section 71 of the polygon dividing section 44.
- the input polygon data is sent to the vertex coordinate units 72 to 77, the output selection unit 90, and the polygon reconstruction unit 93.
- the vertex coordinate part 72 composed of a register or the like includes, for example, the vertex coordinate values V a (V ax, V ay), V b (V bx, V by), V of the triangular polygon P 0 shown in FIG. From c (Vex, Vcy), the x coordinate value Vax of the vertex coordinate value Va (Vax, Vay) is extracted.
- the vertex coordinate section 7 3 has the vertex coordinate value Extract the y coordinate value V ay of V a (V ax, V ay).
- the vertex coordinate section 74 extracts the x coordinate value V bx of the vertex coordinate value V b (V bx, V by).
- the vertex coordinate section 75 extracts the y coordinate value V by of the vertex coordinate value V b (V bx, Vby).
- the vertex coordinate section 76 extracts the x coordinate value V ex of the vertex coordinate value V c (V cx, V cy).
- the vertex coordinate unit 77 extracts the y coordinate value V cy of the vertex coordinate value V c (V cx, V cy).
- the X coordinate value V ax extracted by the vertex coordinate unit 72 is sent to the minimum value selection units 78 and 80.
- the y coordinate value Vay extracted by the vertex coordinate unit 73 is sent to the minimum value selection units 78 and 80.
- the X coordinate value extracted by the vertex coordinate section 74 is sent to the minimum value selection sections 78 and 79.
- the y coordinate value V by extracted by the vertex coordinate section 75 is sent to the minimum value selection sections 78 and 79.
- the X coordinate value Vex extracted by the vertex coordinate unit 76 is sent to the minimum value selection units 79 and 80.
- the y-coordinate value V cy extracted by the vertex coordinate unit 77 is sent to the minimum value selection units 79 and 80.
- the minimum value selection unit 78 selects the smaller one of the X coordinate values V ax and V bx supplied from the vertex coordinate units 72 and 74. Further, the minimum value selecting unit 78 selects the smaller one of the y coordinate values Vay and Vby supplied from the vertex coordinate units 73 and 75. The minimum value selecting unit 79 selects the smaller one of the X coordinate values V bx and V cx supplied from the vertex coordinate units 74 and 76. Further, the minimum value selecting unit 79 selects the smaller one of the y coordinate values V by and V cy supplied from the vertex coordinate units 75 and 77.
- the minimum value selection unit 80 selects the smaller one of the X coordinate values V ax and V cx supplied from the vertex coordinate units 72 and 76. Further, the minimum value selecting section 80 selects the smaller one of the y coordinate values Vay and Vcy supplied from the vertex coordinate sections 73 and 77.
- the minimum value selection unit 79 selects the X coordinate value Vbx and the y coordinate value Vby.
- the minimum value selection unit 80 selects the X coordinate value V ax and the y coordinate value V cy.
- the minimum value selecting unit 78 outputs the X and y coordinate values supplied from the preceding vertex coordinate units 72, 73, 74, 75 directly to the output selecting units 87, 90 and the width calculating unit 81. Send to Further, the minimum value selection unit 78 sends information indicating which coordinate value is selected to the width calculation unit 81.
- the minimum value selection unit 79 outputs the x and y coordinate values supplied from the preceding vertex coordinate units 74, 75, 76, and 77 as output selection units 87, 90 and the width calculation unit 8. Send to 2. Further, the minimum value selecting section 79 sends information indicating which coordinate value has been selected to the width calculating section 82.
- the minimum value selection unit 80 outputs the X and y coordinate values supplied from the preceding vertex coordinate units 72, 73, 76, 77 directly to the output selection units 87, 90 and width calculation. Send to part 8 3 Further, the minimum value selecting section 80 sends information indicating which coordinate value has been selected to the width calculating section 83.
- the width calculation unit 81 obtains the width Xb in FIG. 6 by subtracting the X coordinate value V ax selected by the minimum value selection unit 78 from the X coordinate value V bx. In addition, the width calculating unit 81 obtains the width Yb in FIG. 6 by subtracting the y coordinate value V by selected by the minimum value selecting unit 78 from the y coordinate value Vay force. The width calculation unit 82 obtains the width Xc in FIG. 6 by subtracting the X coordinate value V bx selected by the minimum value selection unit 79 from the X coordinate value V ex. In addition, the width calculation unit 82 obtains the width Yc in FIG.
- the width calculation unit 83 subtracts the X coordinate value V ax selected by the minimum value selection unit 80 from the X coordinate value V ex to obtain the width X in FIG. Ask for a.
- the width calculating unit 83 obtains the width Ya in FIG. 6 by subtracting the y coordinate value Vcy selected by the minimum value selecting unit 80 from the y coordinate value Vay.
- the minimum value selectors 78 to 80 are provided with the smaller coordinate values described above in order to prevent the width calculators 81 to 83 from being provided with negative values. Seeking.
- the width calculator 81 sends the widths Xb and Yb to the edge calculator 84.
- the width calculator 82 sends the widths X c and Y c to the edge calculator 85.
- the width calculator 83 sends the widths X a and Y a to the edge calculator 86.
- each edge (each side) of the triangular polygon P0 is simply expressed as the sum of the widths Xb and Yb, Xc and Yc, and Xa and Ya. Determine as a value. That is, the ridge line operation unit 84 uses the widths Xb and Yb obtained from the width calculation unit 81 and calculates the ridge line E of the triangular polygon PO in FIG. 6 as shown in the following equation (8). Find b.
- the ridge line operation unit 85 uses the widths Xc and Yc obtained from the width operation unit 82 to determine the ridgeline Ec in FIG. 6 as shown in the following equation (9).
- the edge calculation unit 86 uses the widths Xa and Ya obtained from the width calculation unit 83 to obtain the edge Ea in FIG. 6 as shown in the following equation (10).
- the ridgelines Eb, Ec, and Ea obtained by these ridgeline calculation units 84 to 86 are sent to the longest ridgeline selection unit 89.
- the longest ridge line selection unit 89 selects the longest ridge line among the ridge lines E b, E c, and E a obtained from the ridge line calculation units 84 to 86, and the output selection unit The control signal for the output selection performed at 87 and 90 is generated.
- the longest ridge line selection unit 89 selects the ridge line E b.
- the output selection unit 87 selects the longest edge E of each of the X and y coordinate values supplied from the minimum value selection units 78 to 80.
- Each vertex coordinate value V a (V ax, V ay) and V b (V bx, V by) constituting b is selected and output.
- the term point coordinate values Va (Vax, Vay) and Vb (Vbx, Vby) output from the output selection unit 87 are sent to the coordinate calculation unit 88.
- the coordinate calculation unit 88 calculates the midpoint coordinate values of the vertex coordinate values Va (Vax, Vay) and Vb (Vbx, Vby) obtained from the output selection unit 87.
- Vd (Vdx, Vdy) is obtained, and the midpoint coordinate value Vd (Vdx, Vdy) is sent to the vertex information calculation unit 91.
- the coordinate value calculation unit 88 obtains a middle point coordinate value by shifting the coordinate value represented by a plurality of bit values to the right by one bit.
- the output selection unit 90 outputs the input unit 7 based on the X and y coordinate values supplied from the minimum value selection units 78 to 80 and the control signal from the longest ridge line selection unit 89. Select and output the parameters corresponding to the vertex coordinate values Va (Vax, Vay) and Vb (Vbx, Vby) from the polygon data sent from 1. The parameters corresponding to the selected vertex coordinate values Va (Vax, Vay) and Vb (Vbx, Vby) are sent to the vertex information calculation unit 91.
- the vertex information calculator 91 corresponds to the vertex coordinate values V a (V ax, V ay) and V b (V bx, V by) obtained from the output selector 90, as shown in FIG.
- the midpoint parameter is obtained, and the midpoint parameter is sent to the perspective corrector 92.
- the perspective correction unit 92 converts the value of the midpoint parameter into the z value And the corrected parameters are sent to the polygon reconstruction unit 93.
- the polygon reconstruction unit 93 uses the polygon data supplied from the input unit 71 and the corrected norameter supplied from the perspective correction unit 92 to generate a diagram.
- the polygon P1 P2 shown in Fig. 8 is composed of two parts. That is, the polygons PI and P 2 shown in FIG. 8 are obtained by converting the polygon P 0 shown in FIG. 6 to the midpoint coordinate value V d (V dx, V dy) and the vertex coordinate of the longest ridge line E b. The polygon is divided between the value Vc (Vex, Vcy). These polygons P 1 and P 2 are sent again to the alias size comparison unit 43 via the output unit 94.
- the polygons P 1 and P 2 are again input to the input section 71 of the polygon division section 44.
- the polygon P 1 is defined as the coordinates of each vertex coordinate SV al (V axl, V ayl), V bl (V bxl, V byl), and V cl (V cxl, V cyl).
- the edge line is made Eal, Ebl, Eel, and the above processing is performed.
- the polygon P 2 has vertex coordinates V a2 (V ax2, V ay2), V b2 (V bx2, V by2), V c2 (V cx2, V cy2), and each ridge is E
- V a2 V ax2, V ay2
- V b2 V bx2, V by2
- V c2 V cx2, V cy2
- each ridge is E The processing described above is performed by combining a2, Eb2, and Ec2.
- the pixel operation unit 42 recursively divides polygons, and finally obtains polygons that fall within the range of the operation range.
- the polygon dividing section 44 selects the longest ridge line among the three ridge lines (ridge lines Eb, Ec, and Ea in FIG. 6) of the triangular polygon and selects the longest ridge line.
- Polygon division is achieved by creating two polygons that share a new ridge line.
- the pixel operation unit 42 recursively divides a polygon having a size exceeding the operation range of the pixelization unit 45. As a result, the triangle polygons exceeding the operation range gradually decrease in size, and the lengths of the three sides become evenly close to each other. It converges to the optimal and most efficient size.
- the polygon obtained by the recursive division can substantially effectively use the operation range of the pixelization unit 45.
- the entire triangular polygon is divided so as to be as small as possible (divided so that the three sides are evenly close to each other).
- the largest number of recursions (the number of large-area polygon divisions) required to converge the polygons within the range of the operation range (processing bit length) of the pixelization unit 45 is the largest.
- the division may be performed twice.
- the configuration for dividing the polygon into two may be either a fixed-point arithmetic unit or a fixed-point arithmetic unit, and can be implemented very simply.
- the configuration in FIG. 2 limits the operation range (the processing bit length) of the pixelization unit 45, and the polygons within the operation range remain unchanged. Processed in pixelization unit 45.
- a polygon that exceeds the operation range is recursively divided by the polygon division unit 44 and stored in the operation range, and then the pixelization unit Processed in 4 5. That is, in the configuration of FIG. 2, the pixel operation unit 42 recursively divides the triangle polygon to converge within the pixelation operation range, and the pixel generation unit 45 performs the processing. Are running in parallel.
- the configuration shown in Fig. 2 enables pixelization processing of any size polygon, and is efficient with less waste and has a high-speed pixelization by parallelization. Processing can be realized, and as a result, the pixel fill rate can be increased.
- the pixelization processing shown in FIG. 1 can be applied, for example, to the image processing performed in the graphic processor unit (GPU) 101 of the television game machine shown in FIG.
- the television game machine shown in FIG. 9 has a main CPU 100, a graphics processor unit (GPU) 101, an IO processor (IOP) 104, and an optical disk.
- a playback unit 112, a main memory 105, a mask ROM 106, and a sound processor unit (SPU) 108 are provided as basic components.
- the main CPU 100 performs signal processing and controls internal components based on various programs such as a game application program for realizing a television game.
- GPU 101 has an image that includes the pixelization process described above. Perform image processing.
- the IOP 104 performs an interface process between the outside and the inside of the device, and a process for maintaining backward compatibility.
- the optical disk reproducing unit 112 reproduces an optical disk such as a DVD or a CD on which application programs and multimedia data are recorded.
- the main memory 105 functions as a buffer that temporarily stores data read from the work disk optical disk of the main CPU 100. I do.
- the mask ROM 106 mainly stores an operating system program executed by the main CPU 100 IOP 104.
- the SPU 108 performs audio signal processing.
- this television game machine has a CD / DVD digital signal processor (DSP) 110, a dry cell 111, a mecha controller 109, and a card type connector (DSP). There is also a PC slot slot (107).
- the DSP 110 reads, for example, an error in response to a disk playback signal read from a CD or DVD by the optical disk playback unit 112 and amplified by the RF amplifier 113.
- the data recorded on the CD or DVD is reproduced (restored) by performing correction processing (CIRC processing) and decompression decoding processing.
- the driver 111 and the mecha-controller 109 are used to control the rotation of the spindle motor of the optical disk reproducing unit 112, and to control the focus of the optical pickup. Performs king control and disc tray loading control.
- the card type connector 107 is a connection port for, for example, a communication card or an external hard disk drive.
- the main CPU 100 and GPU 101 are connected by a dedicated bus. Also, the main CPU 1 0 0 and IOP 104 are connected by SBUS. The IOP 104, DSP 110, mask ROM 106, SPU 108, and power connector 107 are connected by SSBUS.
- the main CPU 100 executes the operating system program for the main CPU stored in the mask ROM 106 to execute the main game CPU 2. Controls the entire operation of. In addition, the main CPU 100 reads out optical discs such as CD-ROM and DVD-ROM, reads them out, loads them into the main memory 105, and executes communication networks. It executes the game application program downloaded via the network and controls the operation of the game.
- optical discs such as CD-ROM and DVD-ROM
- the IOP 104 responds to the operation of the game player by executing the operating system program for the IO processor stored in the mask ROM 106.
- Memory card 26 for storing signals from the controller 20 and game settings, etc. Data input / output from the memory card 26, USB connection terminal 5 and IEEE 1394 connection terminal 6 It controls data input / output in a PC card slot (not shown).
- the GPU 101 has a function of a geometry translation engine that performs processing such as coordinate transformation and a function of a rendering processor, and has a function of a rendering processor.
- drawing including pixelization processing is performed, and the drawn image is stored in a frame buffer (not shown). That is, for example, when an ablation program recorded on an optical disk uses so-called three-dimensional (3D) graphics, such as a television game, the The GPU 101 calculates the coordinates of polygons for constructing a three-dimensional object, etc., by means of the geometry calculation processing, and further performs the rendering processing. Therefore, various calculations for generating an image obtained by photographing this three-dimensional object with a virtual camera, that is, perspective transformation, are performed, and the finally obtained image is obtained. Write data to the frame buffer. Then, the GPU 101 outputs a video signal corresponding to the created image.
- the SP 108 has an ADPC (Adaptive Differential Pulse Code Modulation) decoding function, an audio signal reproduction function, a signal modulation function, and the like.
- the ADPCM decoding function is a function of decoding adaptive prediction coded audio data.
- the audio signal playback function reads audio data such as sound effects by reading waveform data stored in a sound buffer (not shown) that is built in or external to the SPU 108.
- ⁇ Signal modulation function which is a function to reproduce and output signals, is a function to generate various sound waveform data by modulating the waveform data stored in the sound buffer.
- the SPU 108 converts audio signals such as musical sounds and sound effects from the waveform data stored in the sound buffer. It also works as a so-called sampling sound source.
- the television game machine having the above-described configuration reads the operating system programs for the main CPU and the IOP from the mask ROM 106. Will be issued.
- the main CPU 100 and IOP 104 execute the corresponding operating system programs.
- the main CPU 100 controls each part of the TV game machine in a centralized manner.
- the IOP 104 controls input and output of signals to and from the controller 20 and the memory card 26 and the like.
- the main CPU 100 operates When the rating system program is executed, initialization processing such as operation confirmation is performed, and then the optical disk playback unit 112 is controlled so that games and the like recorded on the optical disk are performed.
- the main CPU 100 receives instructions from the game player received from the controller 20 via the IOP 104. In response to this, it controls the GPU 101 and SPU 108 to control the display of images and the generation of sound effects and musical sounds.
- the description of the above embodiment is an example of the present invention.
- the present invention is not limited to the above-described embodiment, and various changes can be made according to the design and the like without departing from the technical idea of the present invention.
- the polygon may be divided not only into two parts but also into three or more parts. If the polygon is divided into a plurality at a time, the number of recursions can be reduced. Further, when the polygon is a polygon having a quadrangle or more, the image processing apparatus according to the present embodiment divides the polygon to generate a triangular polygon, and generates a triangular polygon. For example, the above-described comparison of threshold values and recursive division may be performed.
- the present invention is applicable to a television game machine and a personal computer.
- the present invention can be applied to image processing for generating two-dimensional image information to be drawn on a two-dimensional screen such as a television monitor device from three-dimensional image information.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Analysis (AREA)
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2002304166A AU2002304166B2 (en) | 2001-06-08 | 2002-06-04 | Image processing method |
KR1020037001827A KR100843027B1 (ko) | 2001-06-08 | 2002-06-04 | 영상 처리 방법 및 장치, 그리고 영상 처리 방법을 수행하는 프로그램이 수록된 기록매체 |
EP02730902A EP1394748A4 (en) | 2001-06-08 | 2002-06-04 | IMAGE PROCESSING |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-174030 | 2001-06-08 | ||
JP2001174030 | 2001-06-08 | ||
JP2002133585A JP3638568B2 (ja) | 2001-06-08 | 2002-05-09 | 画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法 |
JP2002-133585 | 2002-05-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002101653A1 true WO2002101653A1 (fr) | 2002-12-19 |
Family
ID=26616604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2002/005487 WO2002101653A1 (fr) | 2001-06-08 | 2002-06-04 | Procede de traitement d'image |
Country Status (8)
Country | Link |
---|---|
US (1) | US6947041B2 (ja) |
EP (1) | EP1394748A4 (ja) |
JP (1) | JP3638568B2 (ja) |
KR (1) | KR100843027B1 (ja) |
CN (1) | CN1258746C (ja) |
AU (1) | AU2002304166B2 (ja) |
TW (1) | TW578080B (ja) |
WO (1) | WO2002101653A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975318B2 (en) * | 2002-06-25 | 2005-12-13 | Intel Corporation | Polygon binning process for tile-based rendering |
JP4492567B2 (ja) * | 2006-03-17 | 2010-06-30 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
JP4838079B2 (ja) * | 2006-09-07 | 2011-12-14 | 株式会社リコー | パーツ識別画像作成装置およびプログラムおよびコンピュータ読み取り可能な記憶媒体 |
JP5078712B2 (ja) * | 2008-04-01 | 2012-11-21 | 任天堂株式会社 | 画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法 |
US8669989B2 (en) * | 2010-05-19 | 2014-03-11 | Pinebrook Imaging, Inc. | Parallel image processing system |
US9256709B2 (en) * | 2014-02-13 | 2016-02-09 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for integrated circuit mask patterning |
CN116883228B (zh) * | 2023-09-08 | 2023-12-01 | 武汉凌久微电子有限公司 | 一种gpu像素填充率测量方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212654A (ja) * | 1996-02-06 | 1997-08-15 | Sony Computer Entertainment:Kk | 描画装置及び描画方法 |
JPH10511203A (ja) * | 1995-09-13 | 1998-10-27 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | グラフィック画像表現方法 |
JPH11149567A (ja) * | 1997-11-17 | 1999-06-02 | Nec Ic Microcomput Syst Ltd | 画像処理装置及び画像処理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5020002A (en) * | 1988-12-20 | 1991-05-28 | Sun Microsystems, Inc. | Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system |
JPH0573259A (ja) | 1991-09-10 | 1993-03-26 | Hitachi Ltd | 画像シエーデイング方法及び画像処理装置 |
US5719598A (en) * | 1993-08-23 | 1998-02-17 | Loral Aerospace Corporation | Graphics processor for parallel processing a plurality of fields of view for multiple video displays |
US5905500A (en) * | 1997-02-19 | 1999-05-18 | Seiko Epson Corporation | Method and apparatus for adaptive nonlinear projective rendering |
US5977983A (en) * | 1997-02-20 | 1999-11-02 | S3 Incorporated | Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge |
EP1055199B1 (en) * | 1998-02-17 | 2002-05-22 | Sun Microsystems, Inc. | Estimating graphics system performance for polygons |
US6356263B2 (en) * | 1999-01-27 | 2002-03-12 | Viewpoint Corporation | Adaptive subdivision of mesh models |
-
2002
- 2002-05-09 JP JP2002133585A patent/JP3638568B2/ja not_active Expired - Lifetime
- 2002-06-04 KR KR1020037001827A patent/KR100843027B1/ko active IP Right Grant
- 2002-06-04 AU AU2002304166A patent/AU2002304166B2/en not_active Expired
- 2002-06-04 EP EP02730902A patent/EP1394748A4/en not_active Ceased
- 2002-06-04 CN CNB028020103A patent/CN1258746C/zh not_active Expired - Lifetime
- 2002-06-04 WO PCT/JP2002/005487 patent/WO2002101653A1/ja active IP Right Grant
- 2002-06-06 TW TW091112213A patent/TW578080B/zh not_active IP Right Cessation
- 2002-06-07 US US10/165,282 patent/US6947041B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10511203A (ja) * | 1995-09-13 | 1998-10-27 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | グラフィック画像表現方法 |
JPH09212654A (ja) * | 1996-02-06 | 1997-08-15 | Sony Computer Entertainment:Kk | 描画装置及び描画方法 |
JPH11149567A (ja) * | 1997-11-17 | 1999-06-02 | Nec Ic Microcomput Syst Ltd | 画像処理装置及び画像処理方法 |
Non-Patent Citations (1)
Title |
---|
TRANSLATED UNDER THE SUPERVISION OF MAKOTO NAGAO: "Digital gazo shori", KINDAI KAGAKU SHA, 10 December 1978 (1978-12-10), pages 365 - 366, XP002954195 * |
Also Published As
Publication number | Publication date |
---|---|
EP1394748A4 (en) | 2006-09-27 |
CN1258746C (zh) | 2006-06-07 |
KR20030022368A (ko) | 2003-03-15 |
KR100843027B1 (ko) | 2008-07-01 |
US20020190983A1 (en) | 2002-12-19 |
US6947041B2 (en) | 2005-09-20 |
EP1394748A1 (en) | 2004-03-03 |
JP2003058903A (ja) | 2003-02-28 |
AU2002304166B2 (en) | 2007-06-07 |
JP3638568B2 (ja) | 2005-04-13 |
CN1463416A (zh) | 2003-12-24 |
TW578080B (en) | 2004-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3926866B2 (ja) | 情報処理装置、情報処理方法、及び描画システム | |
EP2306399B1 (en) | Image processing method, apparatus and system | |
JP4917346B2 (ja) | ゲーム画像処理プログラムおよびゲーム画像処理装置 | |
JP2001312740A (ja) | ゲームシステム、ゲームシステムにおける表示画像形成方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体 | |
US7212215B2 (en) | Apparatus and method for rendering an antialiased image | |
JP4193979B2 (ja) | シャドウボリューム生成プログラム及びゲーム装置 | |
JP3638568B2 (ja) | 画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法 | |
JP4167358B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP5007633B2 (ja) | 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法 | |
JP4447000B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
US6856321B2 (en) | Texture rendering method, entertainment apparatus and storage medium | |
JP3643036B2 (ja) | 透視変換する装置及び方法 | |
JP2002032780A (ja) | ゲームシステム、プログラム及び情報記憶媒体 | |
JP3617960B2 (ja) | 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置 | |
JP3706545B2 (ja) | 画像の生成方法及びそれに用いるプログラム | |
JP2006252423A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4771903B2 (ja) | 画像生成システム、プログラム、及び情報記憶媒体 | |
JP4584665B2 (ja) | 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置 | |
JP2002260016A (ja) | 画像の描画方法及びそれに用いるプログラム | |
JP2006252424A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2006163532A (ja) | 図形情報生成装置、画像処理装置、情報処理装置、および図形情報生成方法 | |
JP2002245483A (ja) | 画像処理装置及び方法並びにそのプログラム | |
JP2010049302A (ja) | コンピュータを用いた動画表示装置,表示方法,プログラム及び情報記録媒体 | |
JP2010049672A (ja) | コンピュータを用いた動画表示装置,表示方法,プログラム及び情報記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU BR CA CN IN KR MX NZ RU SG |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002304166 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002730902 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020037001827 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 028020103 Country of ref document: CN |
|
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: 1020037001827 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2002730902 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2002304166 Country of ref document: AU |