WO2002101653A1 - Procede de traitement d'image - Google Patents

Procede de traitement d'image Download PDF

Info

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
Application number
PCT/JP2002/005487
Other languages
English (en)
French (fr)
Inventor
Junichi Naoi
Original Assignee
Sony Computer Entertainment Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to AU2002304166A priority Critical patent/AU2002304166B2/en
Priority to KR1020037001827A priority patent/KR100843027B1/ko
Priority to EP02730902A priority patent/EP1394748A4/en
Publication of WO2002101653A1 publication Critical patent/WO2002101653A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture 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

明細書
画像処理方法 技術分野
本発明は、 3 次元画像情報からテ レ ビジ ョ ンモニ タ装置などの 2 次元ス ク リ ー ン上へ描画する 2 次元画像情報を生成する画像 処理方法、 画像処理装置、 画像処理プロ グラムを記録したコ ン ビ ユ ータ読み取 り 可能な記録媒体、 及び画像処理プロ グラムに関す る。 背景技術
近年のテ レ ビゲーム機やパー ソナノレコ ン ピュ ータ は、 プロ セ ッ サゃメ モ リ 等の高集積化、 高速化等が進んでお り 、 その結果と し て、 3 次元画像情報から精細且つ リ ァ リ ティ性の高い 2 次元画像 を リ アルタ イ ムに生成 して 2 次元ス ク リ ーン上に描画する こ と が可能と なっている。
また、 現在の画像処理システ ムは、 殆どのものがポ リ ゴン単位 での描画処理を基本に して 2 次元画像を生成 している。 現在の画 像処理システムが、 2 次元画像の生成にポ リ ゴン描画処理を用い るのは、 ポ リ ゴンのデータが多角形の頂点単位で表されるデータ であ り 容易に コ ン ト ロールでき る こ と 、 ポ リ ゴンデ一タ カ、ら ピク セルデータへの変換は描画面に対する頂点の線形補間処理に よ り 実現でき、 メ モ リ ア ク セスや演算にロ ー力 リ ティ があるため高 速な処理が可能である こ と 、 線形補間処理の際に例えば D D A (Digital Differential Analyzer) を用レヽる こ と でその演算 の殆どを加算で済ますこ と ができ 、 現在実装可能な回路規模でも 充分効果的な リ アルタイ ム描画を実現でき る こ と 、 などの理由に よ る。
2 次元画像を生成する処理は、 データ形式の変遷の観点から見 た場合、 以下のよ う になる。
先ず、 ワール ド座標系のポ リ ゴンデータ は、 座標変換処理, ク リ ツ ビング処理, ライ ティ ング処理等のジオメ ト リ 演算処理が施 される。 そのジオメ ト リ 演算処理後のポ リ ゴンデータは、 投影変 換処理によ り 、 ス ク リ ーン座標系のポ リ ゴンデータ に変換される そのス ク リ ーン座標系のポ リ ゴンデータは、 レンダリ ング処理に よ り 、 ス ク リ ー ン上の ピク セルデータ に変換 ( ピク セル化) され る。 その後、 ピクセルデータは、 2 次元ス ク リ ーン上に表示する ためのス ク リ ーンデータに変換される。 こ のス ク リ ーンデータ は テ レ ビジョ ンモニ タ装置に送られ、 2 次元ス ク リ ーン上に 2 次元 画像と して表示される。
と こ ろで、 ポ リ ゴンデータ は頂点単位のデータ である。 一方、 ピクセルデータはピクセル単位のデータである。 つま り これら双 方の処理単位は互いに異なっている。 このため、 ポ リ ゴンデータ から ピク セルデータへ変換する時に、 データ処理が滞り 、 演算回 路が効率良 く 動作でき なく なる こ と が多々 ある。 具体的に説明す る と 、 レ ンダ リ ン グ処理は、 ポ リ ゴンの面積に直接影響を受ける 処理である。 このため、 大面積ポ リ ゴンの ピクセル化の処理時間 は長く な り 、 小面積ポ リ ゴンの ピク セル化の処理時間は短く なる これに对して、 ジオメ ト リ 演算処理や投影変換処理は、 ポ リ ゴン の面積によ らない頂点単位の演算処理である。 このため、 ジオメ ト リ 演算処理や投影変換処理は、 大面積ポ リ ゴン と小面積ポ リ ゴ ンの何れであって も略々 同 じ所要時間で実行でき る。 これらのこ と から、 例えば大面積ポ リ ゴンの次に小面積ポ リ ゴンを描画する よ う な場合、 小面積ポ リ ゴンに対する ジオメ ト リ 演算処理や投影 変換処理は、 レ ンダ リ ング処理での大面積ポ リ ゴンのピク セル化 の処理が終了するまで休止状態になされて しま う。
また、 レンダリ ング処理を行 う 従来の演算回路は、 1 ポ リ ゴン について 1 処理サイ ク ル当た り 複数ピク セルを生成する も のが 主流になっている。 そ して、 その ピクセル数は、 ハー ドウェアに 依存 し、 固定数と なされている。 その一方で、小面積ポ リ ゴンは、 レンダ リ ング処理を行っ て もノ、一 ド ウ エ アに依存 した固定の ピ クセル数を満たさ ないものである こ と が少な く ない。 したがって 固定ピク セル数を満たさ ない小面積ポ リ ゴンが増加 した場合、 演 算回路の処理効率が低下し、 その結果、 ピク セルフ ィ ル レー ト も 減少 して しま う。
以上のこ と から、 画像処理システムは、 ジオメ ト リ 演算ゃセ ッ ト ア ップ処理と レンダ リ ング処理 (ピクセル化処理) のための回 路構成, 性能比率 (性能差) な どによ り 、 描画面に対して最も効 率の良い処理を行えるポ リ ゴンの大き さが、 略々一意に決ま って いる と言える。 特に、 従来の画像処理システ ムは、 比較的大面積 のポ リ ゴンを効率良 く 描画でき る よ う に設定されている。 すなわ ち こ のこ と を言い換える と 、 従来の画像処理システ ムは、 効率の 良い処理を行え る大き さ 以外のポ リ ゴ ンについては効率的な処 理ができていないこ と を意味 している。
一方で、 今後、 描画モデルは複雑化 し、 また レ ンダ リ ングも多 様化 していく と考え られる。 こ の よ う に、 描画モデルの複雑化や レンダ リ ングの多様化が進むと 、 ポ リ ゴンの面積は必然的に小さ く な り 、 また小面積ポ リ ゴンの数が著 し く 増加 し、 さ らにそれら ポ リ ゴンの頂点に掛かるパラメータ も増加する と予測される。 ま たそれに伴い、.画像処理シス テムは、 ピクセルフ ィ ルレー トを大 幅に上げなければならなく なる と予想される。
上述のよ う に、 多数の小面積ポリ ゴンを効率良く 処理するため には、 画像処理システ ムは、 ピク セル化処理を高速化し、 ポ リ ゴ ンのスループッ トを上げなければならなく なる。 また、 ピク セル フィルレー トを上げるためには、 画像処理システムは、 よ り 広い 面積のポリ ゴンを同時に描画しなければならなく なる。 しかしな がら、 従来の画像処理システ ムは、 これらの双方の要求を同時に 満足させる こ と 、 つま り多数の小面積ポリ ゴンを高速に処理する と共にピク セルフ ィ ル レー ト も上げる よ う なこ と は困難である。 なお、 それら双方の要求を満足させよ う と した場合、 従来の画像 処理システ ムは、 高価かつ巨大な D D Aを多数備えたも のでなけ ればならな く な り 、 コス ト及び回路規模の観点から非現実的であ る o
本発明は、 このよ う な課題に鑑みてなされたも のであ り 、 回路 構成の大型化やコ ス ト の大幅な上昇を伴う こ と なく 、 多数の小面 積ポ リ ゴンを効率良く 処理でき、 また、 ポ リ ゴンの大き さに処理 が影響されるこ と もなく 、 さ らにピク セルフ ィ ル レー トを上げる こ と も可能とする画像処理方法、 画像処理装置、 画像処理プロ グ ラ ムを記録したコ ン ピュータ読み取り 可能な記録媒体、 及び画像 処理プロ グラムを提供する こ と を 目的とする。 発明の開示
本発明は、 ポ リ ゴンの大き さを所定の閾値と比較し、 上記閾値 を超える三角形状のポ リ ゴンの最長辺を検出 し、 その最長辺上の 所定の点 と 当該最長辺に対向する頂点 と を結ぶ線分に よ り 当該 ポ リ ゴンを分割 し、 上記閾値を超えないポ リ ゴンを ピク セル化す る。 特に、 上記所定の点は、 ポ リ ゴンの最長辺の中点とする。 すなわち、 本発明は、 上記閾値を超えるポ リ ゴンについては、 上記最長辺の中点 と その最長辺に対向する頂点 と を結ぶ線分で 分割する。 そ して、 その分割は、 ポ リ ゴンの大き さが上記閾値の 範囲内に収束するま で再帰的に行われる。 こ こ で、 上記閾値は、 例えばピク セル化のための演算 レ ンジに相当する。 言い換える と 本発明は、 ピクセル化のための演算 レ ンジをある程度小さ く 限定 する こ と で、 ピ ク セル化の処理を行 う ための構成を、 小型化可能 と して並列度を高め易 く する。 同時に、 本発明は、 上記再帰的な 分割を行 う こ と で、 上記閾値を超えるポ リ ゴンを、 上記演算 レ ン ジが小 さ く 限定 された ピ ク セル化処理に最適な大き さ のポ リ ゴ ンに収束させる。 こ の よ う に、 本発明は、 上記閾値を超えるポ リ ゴンを再帰的に分割する こ と で、 どのよ う な大き さのポ リ ゴンで あって も、 ピクセル化処理の演算 レンジに最適な大き さへ収束さ せる こ と ができ 、 さ らに、 ピクセル化処理を並列化する こ と で、 ポ リ ゴンのスループッ ト を上げ、 ピク セルフ ィ ル レー ト も大幅に 向上させている。
図面の簡単な説明
図 1 は、 ピク セル化処理の概念説明に用いる図である。
図 2 は、 ピク セル化処理を D S Pや G P若 し く はソ フ ト ウ エア 訂正された用紙 (規則 91) 的に実現する場合の処理の説明に用いる図である。
図 3 は、 エ リ ァサイ ズ比較処理の説明に用いる図である。
図 4 は、 エ リ アサイ ズ比較処理の説明に用いる三角形ポ リ ゴン の一例を示す図である。
図 5 は、 ポ リ ゴン分割処理の説明に用いる図である。
図 6 は、 ポ リ ゴ ン分割処理の説明に用いる三角形ポ リ ゴンの一 例を示す図である。
図 7 は、 三角形ポ リ ゴンの最長稜線と その中点の説明に用いる 図である。
図 8 は、 分割後のポ リ ゴンの説明に用いる図である。
図 9 は、 ピク セル化処理をテ レ ビゲーム機の G P Uに適用 した 具体的構成例を示すプロ ッ ク 図である。 発明を実施するための最良の形態
図 1 を用いて、 本発明にかかるポ リ ゴンのピクセル化処理の概 要を説明する。
3 次元画像情報から 2 次元画像を生成する場合において、 大面 積ポ リ ゴ ン P 1 はその数が少ない。 一方、 小面積ポ リ ゴン P s は その数が多い。 また描画モデルがよ り 精巧になれば、 小面積ポ リ ゴン P s はその数が増加する と考え られる。 したがって、 小面積 ポ リ ゴン P s に合わせて ピクセル化処理の演算 レンジ (ピク セル ィ匕の処理ビッ ト長) をある程度小さ く し、 さ らに処理を並列化す れば、 処理パフォーマ ン ス を高める こ と ができ る と 考え られる。 ただし、 ピ ク セル化処理の演算 レンジを小面積ポ リ ゴン P s に合 わせて しま う と 、 上記演算 レ ン ジを超える大面積ポ リ ゴン P 1 の 処理はでき なく なる。 そ こで、 本実施の形態の画像処理装置は、 ピク セル化処理の演 算レ ンジをある程度小さ く 限定しておき、 演算 レン ジの範囲内の ポ リ ゴン (小面積ポ リ ゴン P s ) については、 そのまま ピク セル 化処理する。 一方、 演算 レ ンジを超えるポ リ ゴン (大面積ポ リ ゴ ン P 1 ) の場合、 本実施の形態の画像処理装置は、 その大面積ポ リ ゴン P 1 を、 演算レ ンジに収ま る大き さ まで分割 (ポ リ ゴン分 割処理 D ) する。 そ して、 画像処理装置は、 上記小面積ポ リ ゴン P s と 、 ポリ ゴン分割処理 Dによ り 得られた各小面積ポ リ ゴン P d に対して、 ピク セル化処理を実行する。 これによ り 、 ピク セル 化処理は、 どのよ う な大き さのポ リ ゴンに対して も行え、 無駄の 少ない効率的な処理と なる。 また、 ピク セル化処理は、 演算 レン ジが小さ く 限定されているため、 簡略化 した小型の構成で実現で き、 並列化も容易 と なる。
また、 本実施の形態では、 後述する よ う に、 ポ リ ゴンの最も長 い稜線の 中点 と それに対向する頂点 と を結ぶ線分によ り 当該ポ リ ゴンを分割する よ う に してお り 、 さ らにその分割を再帰的に行 う こ と で、 ポ リ ゴンの 3 辺の長さが均等に近づく よ う に して、 ポ リ ゴン全体を ピ ク セル化処理の演算 レ ン ジに最適な大き さ に し ている。
すなわち、 本実施の形態の画像処理装置は、 ピク セル化処理の 演算 レンジを小さ く 限定する こ と で、 ピクセル化処理の負荷を軽 減する と共に、 並列処理の多重度を上げている。 また、 本実施の 形態の画像処理装置は、 大面積ポ リ ゴン P 1 を ピクセル化処理の 演算 レンジに最適な大き さ の小面積ポ リ ゴン P d へ分割 し、 並列 化した ピク セル化処理 P Xを行 う こ と で、 無駄の少ない効率的な ピク セル化処理を実現 し、 ピ ク セルフ ィ ル レー ト を高めている。 [構成例]
図 2 は、 ピクセル化処理を実行するための具体的構成例を示す ピクセル化処理は、 例えばディ ジタルシグナルプロセ ッサ ( D S P ) 若し く はグラ フ ィ ッ ク プロセ ッサ ( G P ) 等のハー ドウ ェア 構成によ り 実現でき る。 また、 ピク セル化処理は、 ソフ ト ウ ェア ( コ ン ピュータ が実行可能なアプリ ケ一シ ョ ンプロ グラ ム) によ り 実現する こ と も可能である。 図 2 は、 ピク セル化処理を実現す る D S Pや G P の内部処理ユニ ッ ト を示 している。 なお、 ソ フ ト ウ ェアによ り ピク セル化処理を実現する場合、 アプリ ケーシ ョ ン プロ グラムは、 図 2 の各構成要素に相当するプロ グラムステ ップ を含むもの と なる。 そ して、 パー ソナルコ ン ピュ ータ等の情報処 理装置の C P Uは、 そのアプ リ ケーショ ンプロ グラムに基づいて 動作する。
図 2 において、情報格納部 3 2 は、 ポ リ ゴンな どの図形情報 (頂 点座標値, R G Bの頂点カ ラー値, マ ップ座標値, ベタ ト ル値な どの頂点情報や頂点連結情報) を格納する。 なお、 図形情報は、 例えば C D — R O Mや D V D— R O M、 半導体メ モ リ 等の各種記 録媒体や、 有線或いは無線によ る通信媒体, 伝送媒体等を介 して 取 り 込まれたものである。
ジオメ ト リ 演算部 3 1 は、 情報格納部 3 2 に格納された図形情 報を読み出 し、 その図形情報に対 して、 いわゆる ァフ ィ ン変換、 ス ク リ ーン座標への投影変換、 頂点に対する光源処理な どを行 う 投影変換後の図形情報 (ポ リ ゴンデータ) は、 レ ンダ リ ング部 3 3 へ送られる。
レ ンダ リ ング部 3 3 は、 ポ リ ゴンをス ク リ ー ン上に描画する た めの演算処理を行 う 部分であ り 、 ジオメ ト リ 演算部 3 1 から送ら れてきたポ リ ゴンデータ を ピク セル化する。 レ ンダ リ ン グ部 3 3 は、 大別 して、 ポ リ ゴンセ ッ ト ア ップ部 4 1 と 、 ピクセル演算部 4 2 と 、 フ レームバ ッ フ ァ リ ング部 4 6 と 力 らなる。
ポ リ ゴンセ ッ トア ップ部 4 1 は、 ジオメ ト リ 演算部 3 1 から送 られて く る ポ リ ゴンデータ の取 り 込み と そのバ ッ フ ァ リ ングを 行 う。 そ して、 ポ リ ゴンセ ッ トア ップ部 4 1 は、 ス ト リ ップ状や フ ァ ン状な どのポ リ ゴンメ ッ シュ構造を独立ポ リ ゴンに変換 し、 ピク セル演算部 4 2 に送出する。 また、 ポ リ ゴンセ ッ ト ア ップ部 4 1 は、 エ リ ア選択やバッ ク選択な どを行って不要なポ リ ゴンを 廃棄する こ と も行 う。 不要なポ リ ゴンの廃棄は、 後段の ピク セル 演算部 4 2 で行われる処理の効率を上げるために行われる。
ピク セル演算部 4 2 は、 前述の図 1 で説明 した演算レ ンジに応 じて大面積ポ リ ゴンを分割する処理と ピ ク セル化の並列処理と を行 う。 当該ピ ク セル演算部 4 2 は、 エ リ アサイ ズ比較部 4 3 、 ポ リ ゴン分割部 4 4 、 ピク セル化部 4 5 を備えている。
ピク セル演算部 4 2 は、 先ず、 ポ リ ゴンセ ッ トア ップ部 4 1 か ら送られてき たポ リ ゴンデータ を、 エ リ アサイ ズ比較部 4 3 に投 入する。 エ リ アサイ ズ比較部 4 3 は、 ポ リ ゴンの大き さ が演算レ ンジの範囲内に入るか否か判定する。 そ して、 エ リ アサイ ズ比較 部 4 3 は、 演算 レ ンジの範囲内に入るポ リ ゴンのデータ を ピク セ ル化部 4 5 へ送り 、 一方、 演算 レンジの範囲を超えるポ リ ゴンの データ をポ リ ゴン分割部 4 4 へ送る。 なお、 エ リ アサイ ズ比較部 4 3 の具体的な構成及び動作は後述する。
ポ リ ゴン分割部 4 4 は、 演算 レンジの範囲を超えるポ リ ゴンを 例えば 2 分割 してニ片のポ リ ゴンを再構築する。 こ の分割後の二 片のポ リ ゴンデータ はエ リ アサイ ズ比較部 4 3 へ送られ、 大き さ が再判定される。 その再判定において演算 レ ンジの範囲を超えて い る と判定された場合、 ポ リ ゴン分割部 4 4 は、 そのポ リ ゴンを さ らに 2分割する。 すなわち、 ピク セル演算部 4 2 は、 演算 レ ン ジの範囲を超えるポ リ ゴンを再帰的に分割する こ と によ り 、 前記 大面積ポ リ ゴン P 1 を演算 レ ン ジの範囲内に入る小面積ポ リ ゴ ン P d に変換する。 なお、 ポ リ ゴン分割部 4 4 の具体的な構成及 び動作については後述する。
分割によ り 演算 レ ンジの範囲内に収束 したポ リ ゴンのデータ 、 若 し く は、 当初よ り 演算レンジの範囲内に収ま っていたポ リ ゴン のデータは、 エ リ アサイ ズ比較部 4 3 カゝら ピク セル化部 4 5 へ送 られる。
ピク セル化部 4 5 は、 ポ リ ゴンデータ をラ ス タデータすなわち ピク セルデータ (各ピク セルのカ ラ一値) へ変換し、 フ レームバ ッ フ ァ リ ング部 4 6 へ送る。 なお、 ピクセル化部 4 5 は、 ポ リ ゴ ンデー タ の頂点カ ラー値の補間やマ ッ プ座標値の取得な どに よ り 、 各ピク セルのカ ラー値を生成する。 当該ピク セル化部 4 5 は、 X軸方向 と y軸方向の演算 レンジが同等と な される と共に、 その 演算 レ ン ジが小 さ く 限定 された処理部を複数並列化 して構成 さ れている。 すなわち、 ピク セル化部 4 5 は、 X 軸方向 と y軸方向 の演算 レ ンジに差を設けず、 かつその演算 レ ンジを小さ く 限定す る こ と で各構成を簡易に し、 また並列処理の多重度を上げる こ と で、 効率的な処理を行える もの と な されている。
フ レームバ ッ フ ァ リ ング部 4 6 は、 テ レ ビジ ョ ンモニタ装置等 のディ スプレイ (ス ク リ ーン) 3 5 に対応 したメ モ リ 空間上に、 各 ピク セルのカ ラ一値を書き込む。 そ して、 メ モ リ 空間上に形成 されたフ レーム単位のス ク リ ー ンデータは、 ディ ス プ レイ コ ン ト ロール部 3 4 からの要求に応 じて読み出 される。
ディ ス プ レイ コ ン ト ロ ール部 3 4 は、 テ レ ビジ ョ ンモニ タ装置 の水平同期信号、 垂直同期信号な どを生成する と共に、 そのモニ タ装置の表示タイ ミ ングに応 じて、 フ レームバ ッ フ ァ リ ング部 4 6 から ピク セルのカ ラ一値をライ ン状に順次取 り 出す。 当該取 り 出 されたカ ラー値は、 テ レ ビジ ョ ンモニタ装置等のディ スプレイ 3 5 上に 2 次元画像と して表示される。
[エ リ ァサイ ズ比較部の詳細な動作及ぴ構成]
次に、 図 3 及び図 4 を用いて、 エ リ アサイ ズ比較部 4 3 の動作 及び構成を説明する。 以下の説明は、 ポ リ ゴンが演算 レ ンジの範 囲内に入るか否かの判定と 、 その判定結果に応 じた転送先の変更 (選択) の処理にかかる情報の流れを主に述べている。
図 3 において、 ポ リ ゴンセ ッ ト ア ッ プ部 4 1 からのポ リ ゴンデ ータは、 エ リ アサイ ズ比較部 4 3 の入力部 5 1 へ投入される。 ま た、 ポ リ ゴン分割部 4 4 からのポ リ ゴンデータ は、 入力部 5 2 へ 投入される。
こ こ で、 ポ リ ゴンは、 各頂点座標値が図 4 に示す V a ( V ax, V ay) , V b ( V bx, V by) , V c ( V ex, V cy) で表される三角 形ポ リ ゴン P O である とする。 頂点座標部 5 3 は、 三角形ポ リ ゴ ン P 0 の各頂点座標値の う ちの X座標値 V ax, V bx, V ex を取 り 出す。 一方、 頂点座標部 5 4 は、 三角形ポ リ ゴン P 0 の各頂点座 標値の う ちの y座標値 V ay, V by, V cy を取 り 出す。 x座標値 V ax, V bx, V cx、 及び y座標値 V ay, V by, V cy は、 投入された ポ リ ゴンデータ と共に、 それぞれ対応する最大 ·最小選択部 5 5 , 5 6 へ送られる。
最大 · 最小選択部 5 5 は、 式 ( 1 ), ( 2 ) によ り 、 X座標値 V ax, V bx, V ex の う ちの最大 x座標値 V xmax と最小 x座標値 V xmin 永める。
V xmax = max , V ax, V bx , V ex) (1)
V xmin= min ( V ax , V bx , V ex) (2)
また、 最大 · 最小選択部 5 6 は、 式 ( 3 ) , ( 4 ) によ り 、 y座 標値 V ay, V by, V cy の う ちの最大 y座標値 V ymax と最小 y座 標値 V ymin を求める。
V ymax = max ( V ay , V by , V cy) (3)
V yrain= rain ( V ay, V by , V cy) (4)
図 4 の例の場合、 最大 x座標値 V xmax は V cx と な り 、 最小 x 座標値 V xmin は V ax、 最大 y座標値 V ymax は V ay、 最小 y座標 値 V ymi n は V bx となる。 なお、 最大 · 最小選択部 5 5 , 5 6 で 求めた最大及び最小の座標値は、 ス ク リ ー ン座標に対する三角形 ポリ ゴン P O のオフセ ッ ト座標成分に相当する。
これら最大 X座標値 V xmax、 最小 x座標値 V xmin、 最大 y座標 値 V ymax、 最小 y座標値 V ymi n は、 ポリ ゴンデータ と共に、 それ ぞれ対応する差分演算部 5 7 , 5 8 へ送られる。
差分演算部 5 7 は、 式 ( 5 ) によ り 、 最大 X座標値 V xmax と最 小 X座標値 V xminの差分を求める。すなわち、差分演算部 5 7 は、 三角形ポリ ゴン P 0の各頂点を含む四角形 (図中点線で示すバウ ンダリ ボックス B B ) の X軸方向の辺の長さ W x を求める。 なお、 バウ ンダ リ ボッ ク ス B B の縦辺はス ク リ ー ンの X 軸に対 して平 行な辺であ り 、 横辺はスク リ ーンの y軸に対して平行な辺である( W X = V xmax— V xmin (5)
また、 差分演算部 5 8 は、 式 ( 6 ) によ り 、 最大 y座標値 V ymax と最小 y座標値 V yminの差分を求める。 すなわち差分演算部 5 8 は、 ノくゥ ンダ リ ボ ッ ク ス B Bの y軸方向の辺の長さ W y を求める W y ― V ymax— V yrain (6)
なお、 こ の図 3 の構成は、 最大 · 最小選択部 5 5 , 5 6 によ り 最大及び最小の座標値を求め、 さ らに差分演算部 5 7 , 5 8 によ り 差分を求めて、 投入ポ リ ゴンのデータ をオフセ ッ 卜 と差分で表 すこ と によ り 、 後の ピクセル化に使用 されるデータ ビッ ト長を最 小化 している。 これによ り 、 後段の ピクセル化部 4 5 は、 演算処 理が軽減され、 回路も簡素化可能と なる。
差分演算部 5 7 , 5 8 の演算によ り 得られた各長さ W x , W y は、 差分比較部 5 9 へ送られる。 一方、 差分演算部 5 7 , 5 8 を 介 したポ リ ゴンデータは、 出力選択部 6 0 へ送られる。
差分比較部 5 9 は、 式 ( 7 ) によ り 、 それ ら各辺の長 さ W x , W y を、 ピ ク セル化部 4 5 の演算 レ ン ジに相 当する所定の閾値 (RANGE) と 比較 し、 その比較結果を出力選択部 6 0 へ送る。 差 分比較部 5 9 は、 長さ W x と W y の何れか一方が閾値レ ンジよ り 大き い時、 その旨を示す信号を出力選択部 6 0 へ送る。 一方、 差 分比較部 5 9 は、 長さ W x と W y が両方と もに閾値レンジよ り 小 さいこ と を示 している時、 その旨を示す信号を出力選択部 6 0 へ 送る。
出力選択部 6 0 は、 式 ( 7 ) によ り 、 差分比較部 5 9 での比較 結果に応 じて、 ポ リ ゴンデータ を出力部 6 1 からポ リ ゴン分割部 4 4 へ送る力 、 又は、 出力部 6 2 を介 して ピクセル化部 4 5 へ送 る かの出力選択を行 う 。 出力選択部 6 0 は、 長 さ W x と W y の何 れか一方でも閾値レンジよ り 大きい時、 ポ リ ゴンデータ をポ リ ゴ ン分割部 4 4 へ送る。 一方、 出力選択部 6 0 は、 長さ W x と W y が両方と もに閾値レンジよ り 小さ いこ と を示 している時、 ポ リ ゴ ンデータ を ピク セル化部 4 5 へ送る。
if ( (W X > RANGE) | | (W y > RANGE) )
ポ リ ゴン分割部 0;
else
ピク セル化部(); (7)
なお、 エ リ アサイ ズ比較部 4 3 の回路構成は、 大小比較器や差 分演算器、 スィ ッチな どの非常に簡易な構成によ り 実現でき る。 したがって、 エ リ アサイ ズ比較部 4 3 の回路構成は、 コ ス ト を上 昇させた り 構成を大型化させる こ と な く 、 容易に並列化でき る。 また、 並列化されたエ リ アサイ ズ比較部 4 3 は、 ポ リ ゴンセ ッ ト ア ップ部 4 1 からのポ リ ゴンデータ と 、 ポ リ ゴン分割部 4 4 から の分割ポ リ ゴンデータ を、 競合する こ と無く 処理する こ と ができ る。 したがって、並列化されたエ リ アサイ ズ比較部 4 3 は、特に、 新たな投入ポ リ ゴンデータ の処理を待たせて しま う 事態を回避 する こ と が可能と なる。
[ポ リ ゴン分割部の詳細な動作及び構成]
図 5 〜図 8 を用いて、 図 2 のポ リ ゴン分割部 4 4 の動作及び構 成を説明する。
図 5 において、 ポ リ ゴン分割部 4 4 の入力部 7 1 には、 エ リ ア サイ ズ比較部 4 3 か ら送 られて き たポ リ ゴンデータ が入力 され る。 上記入力 されたポ リ ゴンデータ は、 頂点座標部 7 2 〜 7 7 と 出力選択部 9 0 , ポ リ ゴン再構築部 9 3 へ送られる。
レジス タ等からなる頂点座標部 7 2 は、 例えば図 6 に示す三角 形ポ リ ゴン P 0 の各頂点座標値 V a ( V ax, V ay) , V b ( V bx, V by) , V c ( V ex, V cy) の う ち 、 頂点座標値 V a ( V ax, V ay) の x座標値 V ax を取 り 出す。 頂点座標部 7 3 は、 頂点座標値 V a ( V ax, V ay) の y座標値 V ay を取り 出す。 頂点座標部 7 4 は、 頂点座標値 V b ( V bx, V by) の x座標値 V bx を取 り 出す。 頂点座標部 7 5 は、 頂点座標値 V b ( V bx, Vby) の y座標値 V by を取り 出す。 頂点座標部 7 6 は、 頂点座標値 V c ( V cx, V cy) の x座標値 V ex を取り 出す。 頂点座標部 7 7 は、 頂点座標値 V c ( V cx, V cy) の y座標値 V cy を取り 出す。 頂点座標部 7 2 によ り 取り 出された X座標値 V ax は、最小値選択部 7 8及ぴ 8 0へ送 られる。 頂点座標部 7 3 によ り 取り 出された y座標値 V ay は、 最 小値選択部 7 8及ぴ 8 0へ送られる。 頂点座標部 7 4 によ り 取り 出された X座標値は、 最小値選択部 7 8及び 7 9 へ送られる。 頂 点座標部 7 5 によ り 取り 出された y座標値 V by は、最小値選択部 7 8及び 7 9 へ送られる。 頂点座標部 7 6 によ り 取り 出された X 座標値 V exは、 最小値選択部 7 9及び 8 0 へ送られる。 頂点座標 部 7 7 によ り 取り 出された y座標値 V cy は、最小値選択部 7 9及 び 8 0 へ送られる。
最小値選択部 7 8 は、 頂点座標部 7 2 と 7 4 から供給された X 座標値 V ax と V bx の何れか小さい方を選択する。 また、 最小値 選択部 7 8 は、 頂点座標部 7 3 と 7 5 から供給された y座標値 V ay と V by の何れか小さい方を選択する。 最小値選択部 7 9 は、 頂点座標部 7 4 と 7 6 から供給された X座標値 V bx と V cx の何 れか小さい方を選択する。 また、 最小値選択部 7 9 は、 頂点座標 部 7 5 と 7 7 から供給された y座標値 V by と V cy の何れか小さ い方を選択する。 最小値選択部 8 0 は、 頂点座標部 7 2 と 7 6 か ら供給された X座標値 V ax と V cxの何れか小さい方を選択する。 また、 最小値選択部 8 0は、 頂点座標部 7 3 と 7 7 から供給され た y座標値 V ay と V cy の何れか小さい方を選択する。 なお、 図 6 の例の場合、最小値選択部 7 8 は X座標値 V ax と y座標値 V by を選択する。 最小値選択部 7 9 は X座標値 V bx と y座標値 V by を選択する。 最小値選択部 8 0 は X座標値 V ax と y座標値 V cy を選択する。
最小値選択部 7 8 は、 前段の頂点座標部 7 2 , 7 3 , 7 4 , 7 5 から供給された各 X , y座標値をそのまま出力選択部 8 7 , 9 0及び幅演算部 8 1 へ送る。 また、 最小値選択部 7 8 は、 何れの 座標値を選択したのかを示す情報を、 幅演算部 8 1 に送る。 最小 値選択部 7 9 は、 前段の頂点座標部 7 4 , 7 5 , 7 6 , 7 7 力 ら 供給された各 x , y座標値をそのまま出力選択部 8 7 , 9 0及び 幅演算部 8 2 へ送る。 また、 最小値選択部 7 9 は、 何れの座標値 を選択したのかを示す情報を、 幅演算部 8 2 に送る。 最小値選択 部 8 0 は、 前段の頂点座標部 7 2 , 7 3 , 7 6 , 7 7 カゝら供給さ れた各 X , y座標値をそのまま出力選択部 8 7 , 9 0及び幅演算 部 8 3 へ送る。 また、 最小値選択部 8 0 は、 何れの座標値を選択 したのかを示す情報を、 幅演算部 8 3 に送る。
幅演算部 8 1 は、最小値選択部 7 8 が選択した X座標値 V ax を X座標値 V bx から減算するこ と によ り 図 6 中の幅 X b を求める。 また、 幅演算部 8 1 は、 最小値選択部 7 8 が選択した y座標値 V by を y座標値 V ay 力 ら減算する こ と によ り 図 6 中の幅 Y b を求 める。 幅演算部 8 2 は、 最小値選択部 7 9 が選択した X座標値 V bx を X座標値 V ex カゝら減算する こ と によ り 図 6 中の幅 X c を求 める。 また、 幅演算部 8 2 は、 最小値選択部 7 9 が選択した y座 標値 Vby を y座標値 V cy から減算する こ と によ り 図 6 中の幅 Y c を求める。 幅演算部 8 3 は、 最小値選択部 8 0 が選択した X座 標値 V ax を X座標値 V ex から減算する こ と によ り 図 6 中の幅 X a を求める。 また、 幅演算部 8 3 は、 最小値選択部 8 0 が選択し た y座標値 V cy を y座標値 V ay から減算する こ とによ り 図 6 中 の幅 Y a を求める。 つま り 、 最小値選択部 7 8 〜 8 0は、 それぞ れ併設された幅演算部 8 1 〜 8 3 でマイ ナス の値が得られない よ うするために、 上述した小さい方の座標値を求めている。 幅演 算部 8 1 は、 各幅 X b と Y b を、 稜線演算部 8 4 へ送る。 幅演算 部 8 2 は、 各幅 X c と Y c を、 稜線演算部 8 5 へ送る。 幅演算部 8 3 は、 各幅 X a と Y a を、 稜線演算部 8 6 へ送る。
これら稜線演算部 8 4 〜 8 6 では、 三角形ポリ ゴン P 0 の各稜 線 (各辺) を、 簡易的に幅 X b と Y b 、 X c と Y c 、 X a と Y a の合計の値と して求める。 すなわち、 稜線演算部 8 4では、 幅演 算部 8 1 から得られた幅 X b , Y b を用い、 下記式 ( 8 ) に示す よ う にして図 6 の三角形ポ リ ゴン P O の稜線 E b を求める。
E b = X b + Y b (8)
また、 稜線演算部 8 5では、 幅演算部 8 2から得られた幅 X c , Y c を用い、 下記式 ( 9 ) に示すよ う にして図 6 の稜線 E c を求 める。
E c = X c + Y c (9)
同様に、 稜線演算部 8 6 では、 幅演算部 8 3 から得られた幅 X a , Y a を用い、 下記式 ( 1 0 ) に示すよ う に して図 6 の稜線 E a を求める。
E a = X a + Y a (10)
これら各稜線演算部 8 4 〜 8 6 によ り得られた各稜線 E b , E c , E a は最長稜線選択部 8 9 へ送られる。
最長稜線選択部 8 9 は、 各稜線演算部 8 4 〜 8 6 よ り 得られた 各稜線 E b , E c , E a の う ち最長の稜線を選択し、 出力選択部 8 7 , 9 0 で行われる出力選択の制御信号を生成する。 なお、 図 6 の例の場合、 当該最長稜線選択部 8 9 は、 稜線 E b を選択する。 出力選択部 8 7 は、 最長稜線選択部 8 9 からの制御信号に基づ いて、 最小値選択部 7 8 〜 8 0 よ り 供給された各 X , y座標値の う ち、最長の稜線 E b を構成する各頂点座標値 V a ( V ax, V ay) , V b ( V bx, V by) を選択して出力する。 出力選択部 8 7 から出 力 された項点座標値 V a ( V ax, V ay) , V b ( V bx, V by) は、 座標演算部 8 8 に送られる。
座標演算部 8 8 は、 図 7 に示すよ う に、 出力選択部 8 7 から得 られた頂点座標値 V a ( Vax, V ay) と V b ( V bx, V by) の中 点座標値である V d ( V dx, V dy) を求め、 当該中点座標値 V d ( V dx, V dy) を頂点情報演算部 9 1 へ送る。 なお、 当該座標値 演算部 8 8 は、 複数ビッ ト値で表される座標値を 1 ビッ ト右シフ 卜する こ と によ り 、 中点座標値を求める。
また、 出力選択部 9 0 は、 最小値選択部 7 8 〜 8 0 よ り 供給さ れた各 X , y座標値と 、 最長稜線選択部 8 9 からの制御信号と に 基づいて、 入力部 7 1 から送られてきたポ リ ゴンデータから、 頂 点座標値 V a ( V ax, V ay) , V b ( V bx, V by) に対応するパ ラ メ ータ を選択出力する。 当該選択された頂点座標値 V a ( V ax, V ay) , V b ( V bx, V by) に対応するパラ メ ータ は、 頂点情報 演算部 9 1 へ送られる。
頂点情報演算部 9 1 は、 図 7 に示すよ う に、 出力選択部 9 0 か ら得られた頂点座標値 V a ( V ax, V ay) 及び V b ( V bx, V by) に対応する 中点パラ メ ータ を求め、 当該中点パラ メ ータ をパース ぺク ティ ブ補正部 9 2 へ送る。
パースペク ティ ブ補正部 9 2 は、 中点パラ メ ータの値を、 z 値 を使用 して補正し、 その補正後のパラ メ ータ をポ リ ゴン再構築部 9 3 へ送る。
ポ リ ゴン再構築部 9 3 は、 入力部 7 1 から供給されたポ リ ゴン データ と 、 パースペク ティ ブ補正部 9 2 から供給された補正後の ノ ラ メ ータ と を使用 して、 図 8 に示す 2 分割されたポ リ ゴン P 1 P 2 を構成する。 すなわち、 この図 8 に示すポ リ ゴン P I , P 2 は、 図 6 に示 したポ リ ゴン P 0 を、 その最長稜線 E b の中点座標 値 V d ( V dx, V dy) と頂点座標値 V c ( V ex, V cy) と の間で 分割 したポ リ ゴンである。 これらポ リ ゴン P 1 , P 2 は、 出力部 9 4 を介 して、 再びエ リ アサイ ズ比較部 4 3 へ送られる。
なお、 エ リ アサイ ズ比較部 4 3 において、 ポ リ ゴン P 1 , P 2 が演算 レ ン ジを超える大き さ のポ リ ゴ ンである と 判定さ れた場 合、 これらポ リ ゴン P l , P 2 は、 再度ポ リ ゴン分割部 4 4 の入 力部 7 1 へ入力 される。 こ の場合、 ポ リ ゴン P 1 は、 各頂点座標 値力 S V al ( V axl, V ayl) , V bl ( V bxl , V byl) , V cl ( V cxl, V cyl) と なされ、 また各稜線が E al, E bl, E el と なされて上 述の処理がな される。 ポ リ ゴン P 2 は、 各頂点座標値が V a2 ( V ax2, V ay2) , V b2 ( V bx2, V by2) , V c2 ( V cx2, V cy2) と な され、 また各稜線が E a2, E b2, E c2 と な されて上述の処理がな される。
このよ う に、 ピク セル演算部 4 2 は、 ポ リ ゴンの分割を再帰的 に行 う こ と で、 最終的に、 演算 レ ンジの範囲内に入るポ リ ゴンを 得る。
上述 したよ う に、 ポ リ ゴン分割部 4 4 は、 三角形ポ リ ゴンの 3 つの稜線 (図 6 の稜線 E b , E c , E a ) の う ちで最も長い稜線 を選出 し、 その最長稜線の中点と それに対向する頂点と を結んで 新たな稜線と し、 その稜線を共有する 2 つのポ リ ゴンを生成する こ と で、 ポ リ ゴン分割を実現している。 また、 ピクセル演算部 4 2 は、 ピクセル化部 4 5 の演算 レンジを超える大き さのポ リ ゴン を再帰的に分割する。 これによ り 、 演算 レンジを超える三角形ポ リ ゴンは、 その大き さが順次小さ く なる と共に 3 辺の長さが均等 に近づく よ う にな り 、 ピクセル化部 4 5 の演算 レンジに対して最 適で且つ最も処理効率の良い大き さ に収束する こ と になる。 つま り 、 再帰的分割によ り 得られるポ リ ゴンは、 前記ピク セル化部 4 5 の演算レ ンジを略々有効に使用でき る もの と なる。 なお、 本実 施の形態では、 三角形ポ リ ゴン全体がなるべく 小さ く なる よ う に 分割 ( 3 辺が均等に近づく よ う に分割) しているため、 上記演算 レ ン ジを超える大き さ のポ リ ゴンを ピク セル化部 4 5 の演算 レ ンジ (処理ビッ ト長) の範囲内に収束させる までの再帰回数 (大 面積ポ リ ゴンの分割回数) は、 最も多 く 見積も って も、 (元ポ リ ゴン頂点の ビッ ト長一 ピクセル化部の処理ビッ ト長) X 2 回の分 割で良い。 また、 ポ リ ゴンの 2分割を行 う ための構成は、 固定小 数点演算、 不動小数点演算の何れの演算器であっても良く 、 非常 に単純に実現でき る。 元の投入ポ リ ゴンの大き さ が大きいほ ど分 割回数は増加する こ と になるが、 面積が大きいポ リ ゴンは元々 そ の数が少ないため、 全体と しての処理時間が影響を受ける こ と は 無レヽ o
以上説明 したよ う に、 図 2 の構成は、 ピク セル化部 4 5 の演算 レ ン ジ (処理ビッ ト長) を限定し、 その演算 レ ンジの範囲内のポ リ ゴンについてはそのま ま ピク セル化部 4 5 で処理する。 一方、 その演算 レンジを超えるポ リ ゴンは、 ポ リ ゴン分割部 4 4 で再帰 的に分割されて、 当該演算 レ ンジに収め られてから ピク セル化部 4 5 で処理される。 すなわち、 図 2 の構成は、 ピク セル演算部 4 2 において、 三角形ポ リ ゴンを再帰的に分割 して ピクセル化の演 算レ ンジ内に収束させる と共に、 ピク セル化部 4 5 において、 処 理を並列的に実行している。 これによ り 、 図 2 の構成は、 どのよ う な大き さ のポ リ ゴンでも ピクセル化処理が可能 と な り 、 また、 無駄の少ない効率的で且つ並列化に よ る高速な ピク セル化処理 を実現でき、 その結果、 ピクセルフ ィ ルレー ト を高める こ と も可 能である。
なお、 ピク セル化のための演算 レンジが X軸方向 と y軸方向で 同等の場合に、 上述のよ う に再帰的な分割を行って 3辺の長さ を 均等に近づけた.三角形ポ リ ゴン (演算 レ ンジに対して全体がなる ベく 小さ く なる よ う に分割されたポ リ ゴン) を ピ ク セル化する こ と は、 実際の計算シ ミ ュ レーシ ョ ン等によ り 、 処理効率の上で最 も好ま しレ、こ と が確認されている。
[具体的適用例]
次に、 図 1 に示 したピクセル化処理は、 例えば図 9 に示すテ レ ビゲーム機のグラ フ ィ ッ ク プロセ ッサユニ ッ ト ( G P U ) 1 0 1 で行われる画像処理に適用でき る。
図 9 に示すテ レビゲーム機は、 メ イ ン C P U 1 0 0 と 、 グラ フ イ ツ ク プロセ ッサユニ ッ ト ( G P U ) 1 0 1 と 、 I Oプロセ ッサ ( I O P ) 1 0 4 と 、 光ディ スク 再生部 1 1 2 と 、 メ イ ンメ モ リ 1 0 5 と 、 マス ク 一 R O M 1 0 6 と 、 サウ ン ドプロセ ッサュニ ッ ト ( S P U ) 1 0 8 と を基本構成と して備える。 メ イ ン C P U 1 0 0 は、 テ レ ビゲームを実現するゲームアプリ ケーシ ョ ンプロ グ ラム等の各種プロ グラムに基づいて、 信号処理や内部構成要素の 制御を行 う 。 G P U 1 0 1 は、 前述 した ピク セル化処理を含む画 像処理を行 う。 I O P 1 0 4 は、 外部と装置内部と の間のイ ンタ —フ ェイ ス処理や下位互換性を保っための処理を行 う。 光ディ ス ク再生部 1 1 2 は、 アプリ ケーシ ョ ンプロ グラ ムやマルチメ ディ ァデータ が記録されている D V Dや C D等の光ディ ス ク の再生 を行 う 。 メ イ ンメ モ リ 1 0 5 は、 メ イ ン C P U 1 0 0 の ワー ク ェ リ ァゃ光ディ ス ク か ら読み出 されたデータ を一時的に格納する ノくッ フ ァ と して機能する。 マス ク 一 R O M 1 0 6 は、 主にメ イ ン C P U 1 0 0 I O P 1 0 4 が実行するオペ レーテ ィ ン グ シス テムプロ グラ ムを格納 している。 S P U 1 0 8 は、 音声信号処理 を行 う 。
また、 このテ レ ビゲーム機は、 C D / D V Dディ ジタルシグナ ルプロセ ッサ ( D S P ) 1 1 0 と 、 ドライ ノく 1 1 1 と 、 メ カ コ ン ト ローラ 1 0 9 と 、 カー ド型コネク タ ( P C力一 ドス ロ ッ ト) 1 0 7 も有 してレヽる。 D S P 1 1 0 は、 光ディ ス ク再生部 1 1 2 に よ り C D或いは D V D力 ら読み出 されて R F ア ンプ 1 1 3 で増 幅されたディ ス ク再生信号に対して、 例えば誤 り 訂正処理 ( C I R C処理) や伸張複号化処理等を施すこ と によ り 、 それら C D或 いは D V Dに記録されたデータ を再生 (復元) する。 ドライ バ 1 1 1 及びメ カ コ ン ト ロ ーラ 1 0 9 は、 光ディ ス ク再生部 1 1 2 の ス ピン ドルモータ の回転制御、 光ピ ッ ク ア ッ プの フ ォーカ スノ ト ラ ッ キング制御、 ディ ス ク ト レイ の ローデイ ング制御等を行 う 。 カー ド型コネク タ 1 0 7 は、 例えば通信カー ドや外付けのハー ド ディ ス ク ドライ ブ等の接続ポー ト である。
これらの各部は、 主にバス ラ イ ン 1 0 2 , 1 0 3 等を介 してそ れぞれ相互に接続されている。 なお、 メ イ ン C P U 1 0 0 と G P U 1 0 1 は、 専用バス で接続されている。 また、 メ イ ン C P U 1 0 0 と I O P 1 0 4 は S B U S によ り 接続されている。 I O P 1 0 4 と D S P 1 1 0 、 マス ク 一 R O M 1 0 6 、 S P U 1 0 8 、 力 — ド型コネク タ 1 0 7 は、 S S B U S によ り 接続されている。
メ イ ン C P U 1 0 0 は、 マス ク 一 R O M 1 0 6 に記憶されてい る メ イ ン C P U用のオペ レーテ ィ ングシステムプロ グラ ム を実 行する こ と に よ り 、 当該ゲー ム機 2 の全動作を制御する。 また、 メ イ ン C P U 1 0 0 は、 C D— R O Mや D V D — R O M等の光デ イ ス タ カ、ら読み出 されてメ イ ンメ モ リ 1 0 5 に ロ ー ドされた り 、 通信ネ ッ ト ワーク を介 してダウ ンロー ドされた、 ゲームアプリ ケ ーシ ヨ ンプロ グラ ム等を実行 し、 ゲームの動作等を制御する。
I O P 1 0 4 は、 マス ク 一 R O M 1 0 6 に記憶されている I O プロ セ ッ サ用のオペ レーテ ィ ングシス テ ムプロ グラ ム を実行す る こ と によ り 、 ゲームプレイ ヤーの操作に応 じたコ ン ト ローラ 2 0 か らの信号やゲームの設定等を記憶する メ モ リ カー ド 2 6 か らのデータ の入出力、 その他、 U S B接続端子 5 や I E E E 1 3 9 4 接続端子 6 、 図示 しない P Cカー ドス ロ ッ ト等におけるデ一 タの入出力を制御する。
G P U 1 0 1 は、 座標変換等の処理を行 う ジオメ ト リ ト ラ ンス フ ァエ ンジンの機能と 、 レ ンダリ ングプロ セ ッ サの機能と を有 し メ イ ン C P U 1 0 0 か ら の描画指示に従っ て ピ ク セル化処理を 含む描画を行い、 描画された画像を図示 しないフ レームバ ッ フ ァ に格納する。 すなわち例えば、 光ディ ス ク に記録されているアブ リ ケ一シ ヨ ンプロ グラ ムがテ レ ビゲームのよ う に所謂 3 次元 ( 3 D ) グラ フ ィ ッ ク を利用する ものである場合、 当該 G P U 1 0 1 は、 ジオメ ト リ 演算処理によ り 、 3 次元オブジェ ク ト を構成する ためのポ リ ゴンの座標計算等を行い、 さ らに、 レ ンダ リ ング処理 によ り 、 この 3 次元オブジェ ク ト を仮想的なカ メ ラで撮影する こ と によ り 得られる画像を生成するための諸計算、 すなわち透視変 換を行い、 最終的に得られた画像データ をフ レームバッ フ ァ 上へ 書き込む。 そ して、 G P U 1 0 1 は、 こ の作成した画像に対応す る ビデオ信号を出力する。
S P U 1 0 8 は、 A D P C M ( Adaptive Differential Pulse Code Modulation) 復号機能、 オーディ オ信号再生機能、 信号変 調機能等を備えている。 A D P C M復号機能と は、 適応予測符号 化された音響データ を復号する機能である。 オーディ オ信号再生 機能と は、 当該 S P U 1 0 8 に内蔵或いは外付け された図示 しな いサ ウ ン ドバ ッ フ ァ に記憶されている波形データ を読み出すこ と で、 効果音等のオーディ ォ信号を再生して出力する機能である < 信号変調機能と は、 サ ウ ン ドバ ッ フ ァ に記憶されている波形デー タ を変調させて様々 な音波形データ を生成する機能である。 すな わち、 S P U 1 0 8 は、 メ イ ン C P U 1 0 0 力 らの指示に基づい て、 サウ ン ドバッ フ ァ に記憶されている波形データ から、 楽音や 効果音等のオーディ オ信号を発生する、 いわゆるサンプリ ング音 源と しても動作する。
以上のよ う な構成を有するテ レ ビゲーム機は、 '例えば電源が投 入される と 、 マス ク 一 R O M 1 0 6 力 らメ イ ン C P U用及び I O P用のオペレーテ ィ ングシステ ムプロ グラ ムが読み出 される。 メ イ ン C P U 1 0 0 と I O P 1 0 4 は、 それぞれ対応 したオペレー ティ ングシステムプロ グラ ムを実行する。 これによ り 、 メ イ ン C P U 1 0 0 は、 テ レ ビゲーム機の各部を統括的に制御する。 また、 I O P 1 0 4 は、 コ ン ト ローラ 2 0 やメ モ リ カー ド 2 6 等と の間 の信号の入出力を制御する。 また、 メ イ ン C P U 1 0 0 は、 オペ レーテ ィ ングシステムプロ グラムを実行する と 、 動作確認等の初 期化処理を行った後、 光ディ ス ク再生部 1 1 2 を制御 して、 光デ イ ス ク に記録されている ゲーム等のアプ リ ケーシ ョ ンプロ ダラ ムを読み出 し、 メ イ ンメ モ リ 1 0 5 にロー ド した後、 そのゲーム アプリ ケーシ ョ ンプロ グラ ムを実行する。 こ のゲームアプ リ ケ一 シ ヨ ンプロ グラムの実行によ り 、 メ イ ン C P U 1 0 0 は、 I O P 1 0 4 を介 して コ ン ト ロ ーラ 2 0 力 ら受け付けたゲームプレイ ヤーの指示に応 じて、 G P U 1 0 1 や S P U 1 0 8 を制御 し、 画 像の表示や効果音、 楽音の発生を制御する。
なお、 上述 した実施の形態の説明は、 本発明の一例である。 こ のため、 本発明は上述した実施の形態に限定される こ と な く 、 本 発明に係る技術的思想を逸脱しない範囲であれば、 設計等に応 じ て種々 の変更が可能である こ と はも ちろんである。 例えば、 ポ リ ゴンの分割は、 2 分割だけでなく 、 3 以上の複数分割であって も よい。 このよ う にポ リ ゴンを一度に複数分割すれば、 再帰回数は 削減可能と なる。 また、 ポ リ ゴンが四角形以上の多角形である場 合、 本実施の形態の画像処理装置は、 そのポ リ ゴンを分割 して三 角形ポ リ ゴンを生成 し、 その三角形ポ リ ゴンに対して上述 した閾 値の比較や再帰的分割等を行って も良い。 産業上の利用の可能性
本発明は、 テ レ ビゲーム機やパー ソ ナルコ ン ピュータにおいて
3 次元画像情報か らテ レ ビ ジ ョ ンモ ニ タ装置な どの 2 次元ス ク リ 一 ン上へ描画する 2 次元画像情報を生成する画像処理に適用 する こ と ができ る。

Claims

請求の範囲
1 . コ ンピュータ グラ フ ィ ッ ク ス のオブジェ ク ト を構成するため の三角形状のポ リ ゴンのデータ を取 り 込み、
上記ポ リ ゴンの大き さ を所定の閾値と比較し、
上記閾値を超えるポ リ ゴンの最長辺を検出 し、 上記最長辺上の 所定の点 と 当該最長辺に対向する頂点 と を結ぶ線分に よ り 当該 ポ リ ゴンを分割 し、
上記閾値を超えないポ リ ゴンを ピクセル化する
画像処理方法。
2 . 請求の範囲 1 に記載の画像処理方法であって、
上記分割のステ ップでは、 上記ポ リ ゴンの各辺をそれぞれ斜辺 とする三つの直角三角形を求め、 それら三つの直角三角形の う ち 直角頂点を共有する 二辺 を加算 した値が最大 と なる直角三角形 を選択し、 上記選択された直角三角形の斜辺を上記ポ リ ゴンの最 長辺 と して検出する こ と を特徴とする画像処理方法。
3 . 請求の範囲 1 又は 2 に記載の画像処理方法であって、
上記分割のステ ップでは、 上記ポ リ ゴンの最長辺の中点を上記 所定の点とする こ と を特徴とする画像処理方法。
4 . 請求の範囲 1 から 3 の う ち、 何れか 1 項に記載の画像処理方 法であって、
上記ピクセル化のステ ップでは、 ポ リ ゴンの ピクセル化を並列 的に行 う こ と を特徴とする画像処理方法。
5 . コ ン ピュータ グラ フ ィ ッ ク スのオブジェ ク ト を構成するため の三角形状のポ リ ゴンのデータ を取 り 込むポ リ ゴ ン取 り 込み部 と、
上記ポ リ ゴンの大き さ を所定の閾値と比較する比較部と 、 上記閾値を超えるポ リ ゴンの最長辺を検出 し、 上記最長辺の中 点 と 当該最長辺に対向する頂点 と を結ぶ線分に よ り 当該ポ リ ゴ ンを分割する分割部と 、
上記閾値を超えないポ リ ゴ ン を ピ ク セル化する ピ ク セル化部 と を備える
こ と を特徴とする画像処理装置。
6 . コ ン ピュータ グラ フ ィ ッ ク スのオブジェ ク ト を構成するため の三角形状のポ リ ゴンのデータ を取 り 込むステ ップと 、
上記ポ リ ゴンの大き さ を所定の閾値と比較するステ ップと 、 上記閾値を超えるポ リ ゴンの最長辺を検出 し、 上記最長辺上の 所定の点 と 当該最長辺に対向する頂点 と を結ぶ線分に よ り 当該 ポ リ ゴンを分割するステ ップと
上記閾値を超えないポ リ ゴンを ピク セル化するステ ップと を コ ン ピュータ に実行させる ための画像処理プロ グラ ム を記録 したコ ン ピュータ読み取 り 可能な記録媒体。
7 . コ ン ピュ ータ グラ フ ィ ッ ク ス のオブジェ ク ト を構成するため の三角形状のポ リ ゴンのデータ を取 り 込むステ ップと 、
上記ポ リ ゴンの大き さ を所定の閾値と比較するステ ップと 、 上記閾値を超えるポ リ ゴンを分割するステ ップと 、
上記閾値を超えないポ リ ゴンを ピク セル化するステ ップと を コ ン ピュータ に実行させるための画像処理プロ グラム。
8 . コ ンピュータ グラ フ ィ ッ ク ス のオブジェ ク ト を構成するため の三角形状のポ リ ゴンのデータ を取 り 込むステ ップと 、
上記ポ リ ゴンの大き さ を所定の閾値と比較するステ ップと 、 上記閾値を超えるポ リ ゴンの最長辺を検出 し、 上記最長辺上の 所定の点 と 当該最長辺に対向する頂点 と を結ぶ線分に よ り 当該 ポ リ ゴンを分割するステ ップと
上記閾値を超えないポ リ ゴンを ピクセル化するステ ップと を コ ン ピュータ に実行させるための画像処理プロ グラム。
PCT/JP2002/005487 2001-06-08 2002-06-04 Procede de traitement d'image WO2002101653A1 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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