WO2006090610A1 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
WO2006090610A1
WO2006090610A1 PCT/JP2006/302518 JP2006302518W WO2006090610A1 WO 2006090610 A1 WO2006090610 A1 WO 2006090610A1 JP 2006302518 W JP2006302518 W JP 2006302518W WO 2006090610 A1 WO2006090610 A1 WO 2006090610A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
area
sub
image processing
stamp
Prior art date
Application number
PCT/JP2006/302518
Other languages
English (en)
French (fr)
Inventor
Jin Satoh
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 US10/594,376 priority Critical patent/US7825928B2/en
Priority to CN200680000177.5A priority patent/CN1942901B/zh
Priority to EP06713659A priority patent/EP1852827B1/en
Priority to DE602006020989T priority patent/DE602006020989D1/de
Publication of WO2006090610A1 publication Critical patent/WO2006090610A1/ja

Links

Classifications

    • 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

Definitions

  • the present invention relates to an image processing technique in a graphic arithmetic processing device or the like.
  • a three-dimensional object is usually modeled by a combination of polygons, for example, triangular polygons.
  • polygons for example, triangular polygons.
  • rasterization processing is performed in which the vertex data power of each polygon is also calculated such as the brightness of the pixels contained within the polygon.
  • DDA Digital Differential Analyzer
  • Patent Document 1 when generating a pixel, a pixel group having a plurality of pixel forces included in a predetermined rectangular area is set as one processing unit, and the pixel group is grouped into a subsequent processing block.
  • Patent Document 2 the technology described in Patent Document 1 is improved, and a plurality of pixel groups are integrated into one pixel group and sent to a subsequent processing block, thereby improving processing efficiency. We are trying to make it.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2000-338959
  • Patent Document 2 Japanese Patent Laid-Open No. 2003-123082 Disclosure of the invention
  • the present invention has been made in view of such problems, and an object thereof is to provide an image processing apparatus that realizes drawing processing more efficiently.
  • An aspect of the present invention relates to an image processing technique for sequentially performing drawing processing in a screen coordinate system for each unit graphic constituting the surface of a three-dimensional object to be drawn.
  • a unit figure is divided into a plurality of unit areas on screen coordinates and output.
  • a unit area that is divided and output is divided into a plurality of sub-areas. Further, some of the divided sub-regions are discarded according to a predetermined rule. As a result of the discard process, the drawing process is performed on the remaining sub-areas.
  • FIG. 1 is a diagram showing a configuration of an image processing apparatus according to a first embodiment.
  • FIG. 2 is a diagram illustrating a state of pixel generation in a rasterization unit.
  • FIGS. 3 (a) to 3 (c) are diagrams showing how a plurality of stamps are integrated under different conditions.
  • FIG. 4 is a diagram illustrating a state in which a stamp is divided into quads.
  • FIG. 5 is a flowchart of stamp integration processing in the integration processing unit according to the first embodiment.
  • FIG. 6 is a diagram showing how stamps are integrated according to the flowchart shown in FIG. 5.
  • FIG. 7 is a diagram showing a configuration of an area writing unit.
  • FIG. 8 is a diagram showing how the quad is distributed to each output unit in the area writing unit.
  • FIGS. 9 (a) to 9 (c) are diagrams showing how the area writing unit writes the integrated stamp into the cache memory.
  • FIG. 10 is a diagram showing another example of stamp integration processing.
  • FIG. 11 is a diagram illustrating a state in which a quad is distributed to each output unit in the area writing unit.
  • FIGS. 12 (a) to 12 (c) are diagrams showing how the area writing unit writes the integrated stamp of FIG. 10 into the cache memory.
  • FIG. 13 is a diagram showing an integration process when stamps having different stamp addresses are successively input in the second embodiment.
  • FIG. 14 is a diagram illustrating a state in which a quad is distributed to each output unit in the area writing unit.
  • FIGS. 15 (a) to 15 (c) are diagrams showing how the area writing unit writes the integrated stamp of FIG. 13 into the cache memory.
  • An aspect of the present invention relates to an image processing apparatus that sequentially performs drawing processing in a screen coordinate system for each unit graphic constituting the surface of a three-dimensional object to be drawn.
  • the image processing apparatus divides a unit graphic into a plurality of unit areas on the screen coordinates and outputs them, a region dividing unit that divides a unit area output from the rasterizing unit into a plurality of sub-regions, and a region division
  • An area discarding unit that discards some of the subareas divided by a predetermined rule according to a predetermined rule, an area writing unit that writes the subareas remaining as a result of the discarding process by the area discarding unit to the memory, Is provided.
  • the unit graphic means a polygon or a curved surface patch.
  • the area writing unit may re-integrate the sub areas remaining as a result of the discarding process by the area discarding unit, and write the sub areas to the memory for each integrated area obtained by the re-integration.
  • the area writing unit integrates sub-areas that belong to the sub-areas before the division among the sub-areas remaining as a result of the discarding process by the area discarding section and whose unit areas have the same coordinates in the screen coordinate system. May be.
  • the integrated area may have the same size as the unit area.
  • the output data of the rasterizing unit and the output data of the area writing unit are the same.
  • the size of the sub area may correspond to a unit processing amount when the area writing unit writes the sub area in the memory.
  • the area writing unit may write the sub area to be written into the corresponding address in the memory with reference to relative position information in the unit area to which the sub area belongs before division. .
  • the unit area is a rectangular area, and the rasterize unit divides the drawing area so that each of the plurality of unit areas includes a pixel group having the same number of vertical and horizontal pixels.
  • the unit may divide the unit area including the pixel group into a plurality of sub areas including small pixel groups having the same number of vertical and horizontal pixels.
  • the region discarding unit may perform a discarding process on a subregion that does not include a valid pixel among a plurality of subregions divided by the region dividing unit.
  • Effective pixels are pixels corresponding to an area surrounded by unit graphics, and are pixels for which brightness values, fog values, and the like have been generated by the rasterization unit.
  • the region writing unit reintegrates the sub-regions that do not include valid pixels at the same coordinates in the screen coordinate system. Then, the sub area may be written in the memory for each integrated area obtained by reintegration.
  • the region writing unit integrates sub-regions to which the sub-region belongs before the division and whose unit region has the same coordinate in the screen coordinate system May be.
  • the area writing unit may write the sub area to be written to the corresponding address in the memory with reference to relative position information in the unit area to which the sub area belongs before the division. .
  • the area writing unit writes the pixels included in the sub-areas to the memory in parallel.
  • a recess may be provided.
  • This image processing method is an image processing method in which drawing is performed sequentially in the screen coordinate system for each unit graphic constituting the surface of the three-dimensional object to be drawn, and the unit graphic is divided into a plurality of unit areas on the screen coordinate.
  • a rasterizing step for dividing and outputting, a dividing step for dividing the unit area output in the rasterizing step into a plurality of sub-areas, and a part of the sub-areas divided by the area dividing unit
  • An area discarding step for discarding the subarea according to a predetermined rule, and an area writing step for writing the subarea remaining as a result of the discarding process by the area discarding unit into the memory.
  • the plurality of unit areas are divided into vertical and horizontal pixels, and the drawing area is divided so as to include a pixel group.
  • the unit including the pixel group is divided.
  • the area may be divided into a plurality of sub-areas having the same number of vertical and horizontal pixels and including small pixels.
  • a discarding process may be performed on a sub-area that does not include a valid pixel among a plurality of divided sub-areas!
  • This drawing processing method is an image processing method in which drawing is performed sequentially in the screen coordinate system for each unit figure constituting the surface of the three-dimensional object to be drawn, and the unit figure is divided into a plurality of unit areas on the screen coordinates.
  • a drawing processing method is an image processing method in which drawing is performed sequentially in a screen coordinate system for each unit figure constituting the surface of a three-dimensional object to be drawn. Writes the sub-regions including valid pixels out of the step to output divided into multiple unit areas on the screen coordinates and the sub-areas that make up each of the output unit areas in parallel. Steps.
  • Another embodiment of the present invention relates to a computer program.
  • This computer program screens each unit figure that forms the surface of the 3D object to be drawn.
  • a computer program that sequentially performs drawing processing in a coordinate system, wherein a unit figure is divided into a plurality of unit areas on screen coordinates and output, and a plurality of units constituting each of the output unit areas And extracting a sub-region including valid pixels from the sub-regions to generate an integrated region.
  • a computer program is a computer program for performing drawing processing sequentially in a screen coordinate system for each unit figure constituting the surface of a three-dimensional object to be drawn. Dividing the image into a plurality of unit areas on the screen coordinates and outputting the sub-areas including valid pixels among the plurality of sub-areas constituting each of the output unit areas to the memory in parallel. Steps are executed.
  • Another aspect of the present invention is an image processing apparatus that sequentially performs drawing processing in a screen coordinate system for each unit graphic constituting the surface of a three-dimensional object to be drawn.
  • This image processing apparatus divides the drawing area corresponding to the screen into a plurality of unit areas and outputs them in a state where the unit graphic is projected on the screen coordinates.
  • a rasterizing unit that sequentially outputs a plurality of unit areas constituting each unit graphic for each unit graphic; a region dividing unit that divides a unit area sequentially output from the rasterizing unit into a plurality of sub-regions; An area discarding unit that discards some of the subregions divided by the region segmentation unit according to a predetermined rule, and an area writing that writes the subregions remaining as a result of the discarding process by the region discarding unit to the memory A section.
  • Another aspect of the present invention is an image processing method in which drawing processing is sequentially performed in a screen coordinate system for each unit graphic constituting the surface of a three-dimensional object to be drawn.
  • the first unit graphic is projected onto the screen coordinates, and the drawing area corresponding to the screen is generated by dividing it into a plurality of congruent unit areas.
  • a rasterizing step for sequentially outputting a plurality of unit areas constituting each unit graphic for each unit graphic, and in the rasterizing step, the unit areas that are sequentially generated are divided into a plurality of sub-areas.
  • An area dividing step an area discarding step for discarding some of the subareas divided in the area dividing step according to a predetermined rule, and a subarea remaining as a result of the discarding process by the area discarding step.
  • Yet another embodiment of the present invention relates to a computer program.
  • This computer program projects the first unit graphic onto the screen coordinates on the computer in an image processing device that sequentially renders the unit graphic constituting the surface of the 3D object to be drawn in the screen coordinate system.
  • the drawing area corresponding to the screen is generated by dividing it into a plurality of unit areas, and the same process is performed for the second and subsequent unit figures.
  • the rasterizing step which is generated sequentially, in the rasterizing step, in the region dividing step, in which the unit area sequentially generated is divided into a plurality of sub-regions, and in the region dividing step!
  • An area discarding step for discarding a part of subareas among the plurality of subareas divided according to a predetermined rule and an area writing step for writing the subareas remaining as a result of the discarding process to the memory are executed.
  • FIG. 1 shows a configuration of an image processing apparatus according to the first embodiment.
  • Image processor 100
  • “0” performs 3D computer graphics and other image processing, projects unit graphics that make up the surface of the object to be drawn onto the drawing area of the screen coordinate system, generates pixels, performs drawing processing, and displays them on the display .
  • the image processing apparatus 1000 includes a graphic processor 200, a main processor 300, a main memory 400, and a graphic memory 120. These blocks are connected via a bus 500.
  • the image processing apparatus 1000 is connected to a display device (not shown), and outputs images and videos generated by the image processing apparatus 1000.
  • a display device not shown
  • each element described as a functional block that performs various processes can be composed of CPU, memory, and other LSI in hardware, and in software, This is realized by a program with a reservation management function loaded in memory. Therefore, these functional blocks It will be understood by those skilled in the art that the present invention can be realized in various forms by hardware alone, software alone, or a combination thereof, and is not limited to any one.
  • the main processor 300 performs arithmetic processing such as modeling of 3D computer graphics.
  • the main memory 400 is a storage area mainly used by the main processor 300.
  • the main memory 400 temporarily stores, for example, modeling data obtained by processing a task related to computer Darling by the main processor 300.
  • the graphic memory 120 is a memory area dedicated to data related to graphics used and managed by the graphic processor 200. In addition to the frame buffer and Z buffer that store image frame data, this graphic memory 120 stores vertex data, texture data, power lookup tables, and other basic data that are referenced when drawing image frame data. Contains the area to be played.
  • the graphic processor 200 is a block dedicated to processing related to an image, reads the 3D modeling data generated by the main processor 300 from the main memory 400, performs coordinate conversion based on the 3D modeling data, and the hidden surface. A series of rendering processes are performed to create image frame data by erasing and shading.
  • the graphic processor 200 includes a rasterizer 100, a memory interface unit 110, and a display controller 130.
  • the rasterizer 100 reads 3D modeling data from the main memory 400 and acquires vertex data of primitives to be drawn.
  • the rasterizer 100 performs view conversion that converts a primitive in the three-dimensional space into a figure on the drawing plane by projection onto the screen coordinate system based on the vertex data. Furthermore, raster processing is performed to convert the figure on the drawing plane into pixels quantized for each column while scanning along the horizontal direction of the drawing plane.
  • the rasterizer 100 expands the primitive pixel, and pixel information is calculated for each pixel. This pixel information includes RGB color values, ex values representing transparency, and Z values representing depth from the viewpoint.
  • the rasterizer 100 generates a pixel area of a predetermined size along the scan line, Output to the memory interface unit 110.
  • the pixel group output from the rasterizer 100 is once stacked in a queue, and the memory interface unit 110 writes the stacked pixel group into the graphic memory 120.
  • the memory interface unit 110 writes a pixel to the graphic memory 120 or reads a frame buffer from the graphic memory 120 according to an instruction from the display controller 130.
  • the display controller 130 outputs the image data read from the graphic memory 120 to the display device.
  • the rasterizer 100 includes a rasterizing unit 10, an integrated processing unit 600, and a cache memory 50.
  • the rasterize unit 10 projects a triangle, which is a unit graphic constituting the surface of the object to be drawn, onto the drawing area of the screen coordinate system, divides the drawing area into a plurality of unit areas, and is included in the unit area Pixels are generated and output as a group of pixels for each unit area.
  • the rasterizing unit 10 sequentially generates and outputs unit areas as a pixel group for each of a plurality of unit figures (triangles).
  • FIG. 2 is a diagram showing a state of pixel generation in the rasterize unit 10.
  • Figure 2 shows a part of the drawing area 2000 of the screen coordinate system.
  • Triangle 12 is a single triangle that is a unit figure composing the surface of a 3D object and is projected onto the drawing area.
  • the rasterizing unit 10 generates pixels inside the polygon by the DDA (Digital Differential Analyze) method based on the coordinate values, colors, fog values, texture coordinates, etc. of the three vertices 12a, 12b, 12c of the triangle 12.
  • DDA Digital Differential Analyze
  • the drawing area is divided into a plurality of congruent unit areas 14.
  • the rasterizing unit 10 sequentially generates pixel information (color, fog value, etc.) of the region surrounded by the triangle 12 for each unit region, and outputs the pixel information generated for each unit region.
  • pixel information color, fog value, etc.
  • an effective pixel a pixel for which pixel information has been generated in the rasterizing unit 10 is referred to as an effective pixel.
  • each unit region 14 having a predetermined size has vertical and horizontal pixels of 4 pixels.
  • the rasterizing unit 10 sequentially generates pixels in units of stamp STP, and sequentially outputs stamp STPs including valid pixels to the integration processing unit 600.
  • the integration processing unit 600 integrates a plurality of stamps STP output from the rasterizing unit 10, and writes the integrated stamps to the subsequent cache memory 50 for each integrated stamp.
  • a stamp obtained by integrating a plurality of stamps STP is a final stamp STPf !.
  • the rasterizer 100 and the memory interface unit 110 send and receive data between blocks using the stamp STP as one processing unit.
  • the integration processing unit 600 integrates stamps having the same stamp address ADDstp.
  • the stamp integration process is performed using the following two parameters.
  • the first parameter is the size of the unit that determines whether integration is possible, and the second parameter is the size of the unit that actually performs integration processing.
  • Figures 3 (a) to 3 (c) show how multiple stamps are integrated under different conditions.
  • the stamp STPm represents the integrated stamp STPm obtained by integrating the two stamps STP1 and STP2.
  • a small pixel group of 2 ⁇ 2 pixels obtained by dividing a stamp is referred to as a quad QD.
  • a quad including a valid pixel is called a valid quad.
  • FIG. 3 (a) shows an integration process when the two parameters are pixels.
  • stamp STP1 and stamp STP2 in (a) have the same stamp address. These stamps STP do not contain valid pixels at overlapping positions. Therefore, as a result of determining the overlap for each pixel, integration is performed without any problem.
  • FIG. 3 (b) shows an integration process in the case where the two parameters are quad QD.
  • duplication is determined in units of quads.
  • the upper right quads of stamp STP 1 and stamp STP2 are valid and overlap, so the two stamps are not merged and the two stamps STP1 and STP2 are output as they are. It is.
  • FIG. 3C shows the integration process according to the present embodiment, and shows the integration process when the first parameter is a pixel and the second parameter is a quad QD.
  • overlap is determined in units of pixels.
  • the quadrant QD in the upper right corner of stamp STP1 and stamp STP2 is!, And the gap is valid and overlaps, but in the pixel unit judgment, the valid pixels do not overlap and the two stamps Since the total number of valid quads included is less than 4, it can be combined into one stamp STPm.
  • the integration stamp STPm obtained as a result of integration processing in units of quads may be rearranged as described later because the position of each quad may be changed.
  • the image processing apparatus for performing such integration processing considering the implementation cost, if the first parameter, that is, the unit for determining whether integration is possible, is set to be small, the overlap is determined. Since only the unit needs to be changed, the implementation cost will not increase that much. On the other hand, if the second parameter, that is, the unit for actual integration processing, is reduced, the implementation cost of the unit that accesses the memory increases. Therefore, from the viewpoint of mounting cost, it can be said that it is superior in the order of Fig. 3 (b), Fig. 3 (c), and Fig. 3 (a).
  • the integration processing method according to the present embodiment shown in FIG. 3C is excellent in the balance between integration processing efficiency and mounting cost.
  • the configuration of the integration processing unit 600 for realizing the integration processing according to the present embodiment will be described.
  • the integration processing unit 600 includes a region dividing unit 20, a region discarding unit 30, and a region writing unit 40.
  • the area dividing unit 20 divides the stamp STP sequentially output from the rasterizing unit 10 into a plurality of contiguous small pixel groups each having the same number of vertical and horizontal pixels.
  • the area dividing unit 20 divides the vertical and horizontal 4 ⁇ 4 pixel stamp STP into concatenated quads QDO to QD3 of vertical and horizontal 2 ⁇ 2 pixels, and outputs them to the subsequent area discarding unit 30.
  • FIG. 4 is a diagram showing how the stamp STP is divided into quads QD0 to QD3.
  • Each quad QDO to QD3 holds relative position information in the stamp as a quad address A DDqd.
  • the quad address ADDqd is 00, 01, 10, and 11 from the upper left quad to the lower right quad, respectively.
  • the quad address is shown in parentheses.
  • the region dividing unit 20 outputs a plurality of pixels to the subsequent region discarding unit 30 in units of quad QD.
  • the region discarding unit 30 discards the plurality of quad QDs output from the region dividing unit 20 by thinning them out according to a predetermined rule.
  • the area discarding unit 30 outputs the quad QD remaining as a result of the discarding process to the subsequent area writing unit 40.
  • the region writing unit 40 writes the quad QD remaining as a result of the discarding process in the region discarding unit 30 to the cache memory 50. At this time, the quad QDs remaining as a result of the discarding process by the area discarding unit 30 are reintegrated and reconstructed into a stamp composed of 4 ⁇ 4 pixels in length and width.
  • the stamp reintegrated by the area writing unit 40 is referred to as an integrated stamp STPm.
  • the area writing unit 40 writes the integrated stamp STPm output from the area discarding unit 30 to the cache memory 50 as a processing unit.
  • the integrated stamp STPm is written in the cache memory 50 and stacked in the queue, and the memory interface unit 110 sequentially writes the stacked integrated stamp STPm in the graphic memory 120. Since the integrated stamp STPm and the final stamp STPf are not necessarily the same, the area writing unit 40 rearranges the quads in the combined stamp STPm described later.
  • the stamps to be divided by the region dividing unit 20 are designated as source stamps STPs.
  • the stamps obtained as a result of re-integration after source stamp STPs are divided into quad QDs in sequence and unnecessary quad QDs are discarded are called integrated stamp STPm.
  • the stamp used in the process of integrating the source stamp STPs and retained for the integration process is called the target stamp STPt.
  • the integration process proceeds by sequentially writing the quad QDs of the source stamp STPs in the empty quad of the target stamp STPt.
  • FIG. 5 is a flowchart of stamp STP integration processing in integration processing section 600 according to the present embodiment.
  • the area writing unit 40 initializes the target stamp STP t (S 100).
  • variable j is initialized to 0 (S102).
  • the area dividing unit 20 acquires the source stamp STPs (S104). Acquisition of the source stamp STPs is performed by reading the stamp STP output from the rasterizing unit 10.
  • the stamp address ADDstp of the target stamp STPt and the source stamp STPs is compared (S 106). As a result, if the addresses of the two stamps are different (N in S 106), the integration process is not performed, and the current target stamp STPt is output as the integrated stamp STPm to the subsequent area writing unit 40 (S 130).
  • the target stamp STPt is initialized (S1 32). With the initialization of the target stamp STPt, the variable j is set to 0 (S134). Then, return to S108.
  • the area dividing unit 20 divides the source stamp STPs into four quads QDsO to QDs3 (S108).
  • variable i is initialized to 0 (SI 10).
  • the region discarding unit 30 determines whether or not the i-th quad QDsi of the source stamp STPs includes a valid pixel (S 112). As a result, when the quad QDsi does not contain a valid pixel (N in S112), the quad QDsi is discarded (S160). Thereafter, the variable i is incremented by 1 to process the next quad QDsi (S126). [0069] When the quad QDsi includes a valid pixel (Y in S112), the area writing unit 40 determines whether the valid pixel of the quad QDsi overlaps with a valid pixel of the target stamp STPt ( S114). This determination is performed by determining whether the quad QDsi and the target stamp STPt include valid pixels at the same coordinate position in the screen coordinate system.
  • the current target stamp STPt is output as the integrated stamp STPm (S150).
  • the target stamp STPt is initialized (S152), and the variable j is set to 0 (S154).
  • the variable i is incremented by 1 (S126).
  • the integration processing unit 600 performs the target stamp STPt and the source stamp STP. Integrate when the stamp address of m is the same and there is no valid pixel at the same pixel position.
  • FIG. 6 is a diagram showing how stamps are integrated according to the flowchart shown in FIG.
  • stamps STP1 to STP4 are sequentially input to the area dividing unit 20.
  • the target stamp STPt is an empty stamp.
  • the stamp STP1 is set as the source stamp STPs, and is divided into four quadrants QDsO to QDs3 by the area dividing unit 20. Since quads QDsl to QDs3 do not contain valid pixels, they are discarded by the area discarding unit 30.
  • the stamp STP2 is set as a source stamp STPs, which is divided into four quads QDsO to QDs3 by the region dividing unit 20, and the quads QDsl to QDs3 are discarded by the region discarding unit 30.
  • the area writing unit 40 writes the quad QDsO to the quad QDtl of the target stamp STPt.
  • Each of the quads QDmO to QDm3 included in the integrated stamp STPm holds the quad addresses in the original stamps STP1 to STP4 as position information.
  • the integrated stamp ST Pm is output to the area writing unit 40 together with this position information.
  • FIG. 7 is a diagram showing a configuration of the area writing unit 40.
  • Area writing unit 40 includes a memory access unit 44 and a distribution unit 42.
  • the memory access unit 44 includes output units 46a to 46d that write four pixels included in the quad to the cache memory 50 in parallel.
  • the distribution unit 42 distributes the pixels constituting the quad QD to the output units 46a to 46d.
  • the upper left pixel in the quad QD is distributed to the output unit 46a, the upper right pixel is distributed to the output unit 46b, the lower left pixel to the output unit 46c, and the lower right pixel to the output unit 46d.
  • the area writing unit 40 performs the writing process of one integrated stamp by repeating the operation of writing four pixels in the cache memory 50 simultaneously and in parallel four times in units of quads.
  • FIG. 8 shows a state in which quadrants QDmO to QDm3 are distributed to output units 46a to 46d in area writing unit 40.
  • the distributing unit 42 divides the integrated stamp STPm into four quads Q DmO to QDm3, and distributes them to the output units 46a to 46d in order of time Tl, ⁇ 2, ⁇ 3, ⁇ 4.
  • the quadrature QDmO is decomposed into pixels by the distributing unit 42 and distributed to the four output units 46a to 46d, and each output unit writes the decomposed pixels to the cache memory 50, respectively.
  • times T2, ⁇ 3, ⁇ 4 and each of the quads QDml to QDm3 are expanded into pixels and output in order.
  • one integrated stamp STPm is output with the time T1 to T4 as one time unit.
  • FIGS. 9A to 9C are diagrams showing how the area writing unit 40 writes the integrated stamp STPm into the cache memory 50.
  • FIG. FIG. 9 (a) shows the cache memory 50
  • FIG. 9 (b) shows the quad writing state by the area writing unit 40
  • FIG. 9 (c) shows the final stamp ST Pf after the writing is completed. Indicates.
  • the area writing unit 40 rearranges the quads in the combined stamp STPm described later.
  • the area writing unit 40 writes the pixels included in the quad QDmO of the integrated stamp STPm into the cache memory 50.
  • the area writing unit 40 refers to the quad address ADDqd of the quad QDmO.
  • Quad QDmO's quad address ADDqd is 00, so it is written to address 00 in cache memory 50.
  • FIG. 10 shows how the other stamps STP5 to STP8 are integrated. These stamps all have the same stamp address and do not have valid pixels in positions that overlap each other.
  • the stamp STP5 force is divided into four quads QDsO to QDs3. Since only quad QDsO contains valid pixels, it is written to quad QDtO of target stamp STPt, and quads QDsl to QDs3 are discarded.
  • the stamp STP6 is used as the source stamp STPs, and the integration processing is performed for quads QDsO to QDs3.
  • quads QDsO and QDs2 are written to quads QDtl and QDt2 of the target stamp STPt, respectively, and quads QDsl and QDs3 are discarded.
  • the stamp STP7 is set as a source stamp STPs.
  • quad QDsO is written to quad QDt3 of target stamp STPt. In this state, all the quads in the target stamp STPt are valid, so the integrated stamp STPml is output and the target stamp STPt is initialized.
  • the stamp STP8 is set as a source stamp.
  • Quads QDsO-QDs3 all contain valid pixels, so they are written to the target stamp STPt without being discarded.
  • Quads QDsO to QDs2 are written to quads QDtl to QDt3 of the target stamp STPt, respectively. In this state, all quads in the target stamp STPt are valid, so the integrated stamp STPm2 is output, and the target stamp STPt is initialized again.
  • Quad QDs3 of source stamp STPs is written to quad QDtO of new target stamp STPt. Then integrated with another source stamp STPs, integrated stamp
  • FIG. 11 shows that in the area writing unit 40, quads QDmO to QDm3 are output units 46a.
  • the area writing unit 40 outputs the four quads QDmO to QDm3 in the integrated stamp STPml in the order of time Tl, ⁇ 2, ⁇ 3, ⁇ 4.
  • the distributing unit 42 distributes four pixels included in each quad to each output unit.
  • This integrated stamp STPml is written during the period from time T1 to T4, the integrated stamp STPm2 is written at time ⁇ 5 to ⁇ 8, and the integrated stamp STPm3 is written at time ⁇ 9 to ⁇ 12.
  • the quads QDmO to QDm3 constituting each integrated stamp STPml to STPm3 are output together with the addresses in the original stamps STP5 to STP7.
  • FIGS. 12A to 12C are diagrams showing how the area writing unit 40 writes the integrated stamps STPml to STPm 3 shown in FIG.
  • the area writing unit 40 writes each quad in the cache memory 50 while rearranging each quad with reference to its address.
  • the final stamp STPf in which the stamps STP5 to STP8 of FIG. 7 are integrated is written in the cache memory 50.
  • the subsequent memory interface unit 110 writes the final stamp STPf into the graphic memory 120.
  • the stamp that is a pixel group that is a processing unit output from the rasterizing unit 10 is divided into quads that are small pixel groups, and Discard unnecessary quads and merge the remaining quads.
  • the number of effective pixels included in the integrated stamp obtained after integration can be increased, and the efficiency of the drawing process can be improved.
  • stamps having the same stamp address and in which valid pixels do not overlap are easily generated continuously. Therefore, effective pixels can be increased by efficiently integrating these successive stamps.
  • the image processing apparatus since the image processing apparatus according to the present embodiment divides the stamp into quads and determines whether integration is possible in units of pixels, actual integration processing is performed in units of quads. Can maintain a good balance.
  • the integrated stamp STPm integrated in the area discarding unit 30 is converted into the final integrated stamp STPf that is finally output by the local writing unit 40 in the area writing unit 40. It can be corrected.
  • Area writer 40 for changing this arrangement This corresponds to, for example, the control of the address of the cache memory 50 or the layout change by the crossbar. Therefore, hardware additions and corrections are limited to the memory access unit. Can also be easily implemented.
  • the stamp integration process described in the first embodiment is extended.
  • the quad that is the target of integration processing is the power that is used only when the source stamp STPs has the same stamp address as the target stamp STPm. It is also characterized by allowing integration processing in Hereinafter, integration processing that permits integration of stamps having different stamp addresses is referred to as extended integration processing.
  • FIG. 13 is a diagram showing integration processing when stamps having different stamp addresses are successively input.
  • Stamps STP10 to STP13 are sequentially input from the rasterizing unit 10 to the region dividing unit 20. It is assumed that the stamp addresses ADDst p of the stamps STP10 and STP11 are 0001 and the stamp addresses ADDstp of the stamps STP12 and STP13 are 0010. The valid pixels of stamps STP10 to STP13 do not exist at the overlapping positions.
  • the area dividing unit 20 uses the stamp STP10 as a source stamp STPs and divides it into quads QDsO to QDs3. Quad QDsO is written to quad QDtO of target stamp STPt, and quads QDsl to QDs3 are discarded.
  • stamp STP11 is used as the source stamp STPs and divided into quads QDsO to QDs3, and then quad QDsO is written to quad QDtl of the target stamp STPt.
  • stamp STP12 is used as a source stamp, and after being divided into quads QDsO to QDs3, quad QDs2 is written to quad QDt2 of target stamp STPt.
  • stamp STP13 is divided into quads QDsO to QDs3 as source stamps, and quad QDs2 is written to quad QDt3 of target stamp STPt.
  • the target stamp STPt is output as an integrated stamp STPm, and the target stamp STPt is initialized.
  • Each of the quads QDmO to QDm3 included in the integrated stamp STPm holds the stamp addresses ADDstp of the original stamps STP10 to STP13 together with the quad addresses ADDqd of the original stamps STP10 to STP13.
  • FIG. 14 shows a state in which quadrants QDmO to QDm3 are distributed to the output units 46a to 46d in the area writing unit 40.
  • the memory access unit 44 of the area discard unit 30 outputs four quads QDmO to QDm3 in the integrated stamp STPm in the order of time Tl, ⁇ 2, ⁇ 3, ⁇ 4.
  • quad QDmO is expanded into pixels and output simultaneously in parallel.
  • FIGS. 15A to 15C are diagrams showing how the area writing unit 40 writes the integrated stamp ST Pm of FIG. 13 into the cache memory 50.
  • FIG. 15A to 15C are diagrams showing how the area writing unit 40 writes the integrated stamp ST Pm of FIG. 13 into the cache memory 50.
  • the area writing unit 40 refers to the stamp address ADDstp in addition to the quad address ADDqd when writing each quad QDm.
  • the quad QDmO input at time T1 is written in the corresponding address location of the cache memory 50 because the stamp address power is 0001 and the quad address is 00.
  • final stamps STPfl and STPf2 in which the stamps STP10 to STP13 of FIG. 10 are integrated are written in the cache memory 50.
  • the final stamp STPfl is an integration of stamps STP10 and STPll
  • the final stamp STPf2 is an integration of stamps STP12 and STP13.
  • the final stamps STPfl and STP f2 are written at the positions of stamp addresses ADDstp forces 0001 and 0010, respectively.
  • the stamps having different stamp addresses are temporarily integrated to access the cache memory 50 in the area writing unit 40. The number of times can be reduced.
  • the integration process can be performed. Therefore, the number of effective quads in the integrated stamp is increased, and the efficiency of image processing is increased. This can be further improved.
  • the pixel group is composed of 4 x 4 horizontal and vertical stamps, and the small pixel group is a quadratic 2 x 2 quadrature S. Not limited to this, the small pixel group is 1 x 4 vertical or horizontal. It may be a 4 x 1 quad.
  • the number of pixels included in the quad is preferably the same as the number of pixels written in the cache memory 50 simultaneously and in parallel in the area writing unit 40, but is not limited to this.
  • the number of pixels included in the quad may be two.
  • the size of the stamp and the size of the quads may be determined as appropriate in consideration of hardware costs, processing costs, etc. Industrial Applicability
  • the present invention can be used for an image processing technique in a graphic arithmetic processing unit or the like.

Abstract

 より効率的な描画処理を実現する画像処理装置を提供する。  描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置1000において、ラスタライズ部10は、第1の単位図形をスクリーン座標に投影した状態で、スクリーンに対応する描画領域を複数の単位領域に分割して出力し、第2の単位図形以降についても同様の処理を経て、各単位図形を構成する複数の単位領域を単位図形ごとに順次出力する。領域分割部20は、ラスタライズ部10から順次出力される単位領域を複数のサブ領域に分割する。領域破棄部30は、領域分割部20において分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する。領域書込部40は、領域破棄部30による破棄処理の結果残ったサブ領域を再統合し、再統合により得られる統合領域ごとに、サブ領域をメモリに書き込む。

Description

明 細 書
画像処理装置および画像処理方法
技術分野
[0001] 本発明は、グラフィック演算処理装置等における画像処理技術に関する。
背景技術
[0002] 近年のコンピュータゲームやディジタル放送などの分野に利用されるコンピュータグ ラフィックス技術や画像処理技術の著 、進歩に伴 、、 3次元グラフィックなどをより 精緻に画面表示することが可能となっている。 3次元グラフィック処理においては、 3 次元の座標データを有する 3次元オブジェクトを 2次元のスクリーンに投影し、デイス プレイなどに表示する処理が行われる。
[0003] 3次元オブジェクトは、多角形、たとえば三角形のポリゴンの組み合わせによってモ デリングされるのが通常である。この 3次元オブジェクトを、 2次元のスクリーンに投影 する際には、各ポリゴンの頂点データ力もポリゴン内部に含まれるピクセルの輝度な どの値を算出するラスタライズ処理が行われる。
このラスタライズ処理においては、 DDA (Digital Differential Analyzer)と呼 ばれる線形補間手法が用いられる。 DDAによれば、頂点データ力もポリゴンの辺方 向へのデータの傾きを求め、この傾きを用いて辺上のデータを算出する。続いてラス ター走査方向の傾きを算出して内部のピクセルを発生させていく。
[0004] ここで、特許文献 1には、ピクセルを発生させる際に、所定の矩形領域に含まれる 複数のピクセル力 なるピクセル群を 1つの処理単位とし、このピクセル群をまとめて 後段の処理ブロックに送出することで、描画速度の向上を図る技術が開示されている
[0005] 特許文献 2にお 、ては、特許文献 1に記載の技術を改良し、複数のピクセル群をひ とつのピクセル群に統合して後段の処理ブロックに送出することにより、処理の効率 化を図っている。
[0006] 特許文献 1:特開 2000— 338959号公報
特許文献 2 :特開 2003— 123082号公報 発明の開示
発明が解決しょうとする課題
[0007] 近年、 3次元コンピュータグラフィックの演算処理を行う画像処理装置の高性能化 にともない、 3次元オブジェクトをより詳細に描画するために、 3次元オブジェクトを構 成するポリゴンのサイズは小さくなる傾向にある。したがって、有効なピクセル数をわ ずかにし力含まないピクセル群が生成される可能性が高くなるため、より効率的な矩 形領域すなわちピクセル群の統合処理が望まれる。
[0008] 本発明はこのような課題に鑑みてなされたものであり、その目的は、より効率的に描 画処理を実現する画像処理装置の提供にある。
課題を解決するための手段
[0009] 本発明のある態様は、描画対象の三次元オブジェクトのサーフェスを構成する単位 図形ごとにスクリーン座標系にて順次描画処理する画像処理技術に関する。この画 像処理技術では、単位図形をスクリーン座標上で複数の単位領域に分割して出力 する。分割して出力される単位領域を複数のサブ領域に分割する。さらに、分割され た複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する。破棄処理の結 果残ったサブ領域に対して描画処理を行う。
発明の効果
[0010] 本発明に係る画像処理技術によれば、単位図形の描画処理を効率的に行うことが できる。
図面の簡単な説明
[0011] [図 1]第 1の実施の形態に係る画像処理装置の構成を示す図である。
[図 2]ラスタライズ部におけるピクセル生成の様子を示す図である。
[図 3]図 3 (a)〜 (c)は、複数のスタンプが異なる条件下で統合処理される様子を示す 図である。
[図 4]スタンプがクアツドに分割される様子を示す図である。
[図 5]第 1の実施の形態に係る統合処理部におけるスタンプの統合処理のフローチヤ ートである。 [図 6]図 5に示したフローチャートに従ってスタンプ同士が統合される様子を示す図で ある。
[図 7]領域書込部の構成を示す図である。
[図 8]領域書込部において、クアツドが各出力ユニットに分配される様子を示す図で ある。
[図 9]図 9 (a)〜 (c)は、領域書込部がキャッシュメモリに統合スタンプを書き込む様子 を示す図である。
[図 10]スタンプ統合処理の別の例を示す図である。
[図 11]領域書込部において、クアツドが各出力ユニットに分配される様子を示す図で ある。
[図 12]図 12 (a)〜(c)は、領域書込部が、図 10の統合スタンプをキャッシュメモリに書 き込む様子を示す図である。
[図 13]第 2の実施の形態において、異なるスタンプアドレスを有するスタンプが連続し て入力された場合の統合処理を示す図である。
[図 14]領域書込部において、クアツドが各出力ユニットに分配される様子を示す図で ある。
[図 15]図 15 (a)〜(c)は、領域書込部が、図 13の統合スタンプをキャッシュメモリに書 き込む様子を示す図である。
符号の説明
[0012] 1000 画像処理装置、 100 ラスタライザ、 200 グラフィックプロセッサ、 300 メインプロセッサ、 400 メインメモリ、 10 ラスタライズ部、 20 領域分割部、 3 0 領域破棄部、 40 領域書込部、 600 統合処理部、 50 キャッシュメモリ、 1 10 メモリインターフェース部、 120 グラフィックメモリ、 130 ディスプレイコント口 ーラ。
発明を実施するための最良の形態
[0013] 実施の形態の詳細について説明する前に、その概要を述べる。
本発明のある態様は、描画対象の三次元オブジェクトのサーフェスを構成する単位 図形ごとにスクリーン座標系にて順次描画処理する画像処理装置に関する。この画 像処理装置は、単位図形をスクリーン座標上で複数の単位領域に分割して出力する ラスタライズ部と、ラスタライズ部から出力される単位領域を複数のサブ領域に分割す る領域分割部と、領域分割部において分割された複数のサブ領域のうち一部のサブ 領域を所定の規則で破棄する領域破棄部と、領域破棄部による破棄処理の結果残 つたサブ領域をメモリに書き込む領域書込部と、を備える。
[0014] この態様によれば、単位領域をサブ領域に分割し、不要なサブ領域を破棄すること により、後段に送出されるサブ領域数を減少させることができ、描画処理を効率的に 行うことができる。単位図形とは、ポリゴンや曲面パッチをいう。
[0015] 領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域を再統合し、再 統合により得られる統合領域ごとに、サブ領域をメモリに書き込んでもよい。
[0016] 領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域のうち、分割前 にサブ領域が属して 、た単位領域のスクリーン座標系における座標が互いに同一の サブ領域を統合してもよい。
この場合、再統合後の統合領域に含まれるサブ領域は、すべて分割前に属してい た単位領域が同一位置となる。その結果、メモリに当該統合領域に関するデータを 書き込む際に、各サブ領域ごとに、単位領域の座標を参照する必要がなくなる。
[0017] 統合領域は、単位領域と同サイズを有してもよい。この場合、ラスタライズ部の出力 データと領域書込部の出力データのサイズが同一となる。ラスタライズ部における単 位処理量と、メモリに書き込む際の単位処理量とを等しくすることにより、ハードウェア 、ソフトウェア設計を柔軟に行うことができ、また既存のシステムとの整合性を高めるこ とがでさる。
[0018] サブ領域のサイズは、領域書込部が当該サブ領域をメモリに書き込む際の単位処 理量に相当してもよい。
[0019] 領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属して ヽた単位 領域内における相対的な位置情報を参照してメモリの該当アドレスに書き込んでもよ い。
[0020] 単位領域は矩形領域であって、ラスタライズ部は、複数の単位領域がそれぞれ、縦 横のピクセル数が互いに等しいピクセル群を含むよう描画領域を分割し、領域分割 部は、ピクセル群を含む単位領域を、縦横のピクセル数が互いに等しい小ピクセル 群を含む複数のサブ領域に分割してもよ ヽ。
[0021] 領域破棄部は、領域分割部において分割された複数のサブ領域のうち、有効なピ クセルを含まな 、サブ領域を対象として破棄処理を行ってもょ 、。「有効なピクセル」 とは、単位図形に囲まれた領域に対応するピクセルであり、ラスタライズ部によって輝 度値やフォグ値などが生成されたピクセルをいう。
有効なピクセルを含まな 、サブ領域を破棄することにより、後段の処理ユニットにお いて、無効なピクセルを処理する頻度が減少し、効率的な描画処理を行うことができ る。
[0022] 領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域のうち、スクリー ン座標系にお 、て互いに同一の座標に有効なピクセルを含まな 、サブ領域を再統 合し、再統合により得られる統合領域ごとに、サブ領域をメモリに書き込んでもよい。 スクリーン座標系において同一の座標に有効なピクセルを有するサブ領域同士を、 再統合の対象から除外することにより、有効なピクセルが重複することによる情報の 欠損を確実に防止することができる。
[0023] 領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域のうち、分割前 にサブ領域が属して 、た単位領域のスクリーン座標系における座標が互いに同一の サブ領域を統合してもよい。
この場合、再統合後の統合領域に含まれるサブ領域は、すべて分割前に属してい た単位領域が同一位置となる。その結果、メモリに当該統合領域に関するデータを 書き込む際に、各サブ領域ごとに、単位領域の座標位置を参照する必要がなくなる。
[0024] 領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属して ヽた単位 領域内における相対的な位置情報を参照してメモリの該当アドレスに書き込んでもよ い。
再統合によってサブ領域の相対的な位置情報が変化した場合においても、メモリに 書き込む際に、もとの単位領域における相対的な位置情報を参照することにより、適 切なアドレスに書き込むことができる。
[0025] 領域書込部は、サブ領域に含まれるピクセルを、並列的にメモリに書込むメモリァク セス部を備えてもよい。
[0026] 本発明の別の態様は、画像処理方法である。この画像処理方法は、描画対象の三 次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次 描画処理する画像処理方法であって、単位図形をスクリーン座標上で複数の単位領 域に分割して出力するラスタライズステップと、ラスタライズステップにお ヽて出力され る単位領域を複数のサブ領域に分割する分割ステップと、領域分割部において分割 された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄ス テツプと、領域破棄部による破棄処理の結果残ったサブ領域をメモリに書き込む領域 書込ステップと、を備える。
[0027] ラスタライズステップにお 、て、複数の単位領域がそれぞれ、縦横のピクセル数が 互いに等し ヽピクセル群を含むよう描画領域を分割し、領域分割ステップにお ヽて、 ピクセル群を含む単位領域を、縦横のピクセル数が互 ヽに等し ヽ小ピクセル群を含 む複数のサブ領域に分割してもよ 、。
[0028] 領域破棄ステップにお 、て、分割された複数のサブ領域のうち、有効なピクセルを 含まな!/ヽサブ領域を対象として破棄処理を行ってもよ!ヽ。
[0029] 本発明の別の態様も描画処理方法である。この描画処理方法は、描画対象の三次 元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描 画処理する画像処理方法であって、単位図形をスクリーン座標上で複数の単位領域 に分割して出力するステップと、出力される単位領域のそれぞれを構成する複数の サブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するス テツプと、を備える。
[0030] 本発明の別の態様の描画処理方法は、描画対象の三次元オブジェクトのサーフエ スを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法 であって、単位図形をスクリーン座標上で複数の単位領域に分割して出力するステツ プと、出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピク セルを含むサブ領域を並行的にメモリに書き込むステップと、を備える。
[0031] 本発明の別の態様はコンピュータプログラムに関する。このコンピュータプログラム は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリー ン座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、単 位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、出力さ れる単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含む サブ領域を抽出して統合領域を生成するステップと、を実行させる。
[0032] 本発明の別の態様のコンピュータプログラムは、描画対象の三次元オブジェクトの サーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理するコンビ ユータプログラムであって、コンピュータに、単位図形をスクリーン座標上で複数の単 位領域に分割して出力するステップと、出力される単位領域のそれぞれを構成する 複数のサブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込む ステップと、を実行させる。
[0033] 本発明の別の態様は、描画対象の三次元オブジェクトのサーフェスを構成する単 位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置である。この画 像処理装置は、単位図形をスクリーン座標に投影した状態で、スクリーンに対応する 描画領域を複数の単位領域に分割して出力し、第 2の単位図形以降についても同 様の処理を経て、各単位図形を構成する複数の単位領域を単位図形ごとに順次出 力するラスタライズ部と、ラスタライズ部カゝら順次出力される単位領域を複数のサブ領 域に分割する領域分割部と、前記領域分割部において分割された複数のサブ領域 のうち一部のサブ領域を所定の規則で破棄する領域破棄部と、領域破棄部による破 棄処理の結果残ったサブ領域をメモリに書き込む領域書込部と、を備える。
[0034] 本発明の別の態様は、描画対象の三次元オブジェクトのサーフェスを構成する単 位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法である。この画 像処理方法は、第 1の単位図形をスクリーン座標に投影した状態で、スクリーンに対 応する描画領域を複数の合同な単位領域に分割して生成し、第 2の単位図形以降 につ 、ても同様の処理を経て、各単位図形を構成する複数の単位領域を単位図形 ごとに順次出力するラスタライズステップと、ラスタライズステップにおいて、順次生成 される前記単位領域を複数のサブ領域に分割する領域分割ステップと、領域分割ス テツプにおいて分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破 棄する領域破棄ステップと、領域破棄ステップによる破棄処理の結果残ったサブ領 域をメモリに書き込む領域書込ステップと、を備える。
[0035] 本発明のさらに別の態様は、コンピュータプログラムに関する。このコンピュータプロ グラムは、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにス クリーン座標系にて順次描画処理する画像処理装置において、コンピュータに、第 1 の単位図形をスクリーン座標に投影した状態で、スクリーンに対応する描画領域を複 数の単位領域に分割して生成し、第 2の単位図形以降についても同様の処理を経て 、各単位図形を構成する複数の単位領域を単位図形ごとに順次生成するラスタライ ズステップと、ラスタライズステップにお 、て順次生成される単位領域を複数のサブ領 域に分割する領域分割ステップと、領域分割ステップにお!ヽて分割された複数のサ ブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄ステップと、破棄処 理の結果残ったサブ領域をメモリに書き込む領域書込ステップと、を実行させる。
[0036] なお、以上の構成要素の任意の組合せや本発明の構成要素や表現を方法、装置 、システム、プログラムなどの間で相互に置換したものもまた、本発明の態様として有 効である。
[0037] 以下、これらの発明の態様について、実施の形態をもとに詳細に説明する。
[0038] (第 1の実施の形態)
図 1は、第 1の実施の形態に係る画像処理装置の構成を示す。画像処理装置 100
0は、 3次元コンピュータグラフィックなどの画像処理を行い、描画対象のオブジェクト のサーフェスを構成する単位図形をスクリーン座標系の描画領域に投影し、ピクセル を発生させて描画処理を行い、ディスプレイに表示する。
[0039] 画像処理装置 1000は、グラフィックプロセッサ 200、メインプロセッサ 300、メインメ モリ 400、グラフィックメモリ 120を含む。これらのブロックは、バス 500を介して接続さ れている。
画像処理装置 1000は、図示しない表示装置と接続されており、画像処理装置 100 0により生成された画像、映像を出力する。図 1を含む以降の図において、様々な処 理を行う機能ブロックとして記載される各要素は、ハードウェア的には、 CPU、メモリ、 その他の LSIで構成することができ、ソフトウェア的には、メモリにロードされた予約管 理機能のあるプログラムなどによって実現される。したがって、これらの機能ブロックが ハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で 実現できることは当業者には理解されるところであり、いずれかに限定されるものでは ない。
[0040] メインプロセッサ 300は、 3次元コンピュータグラフィックスのモデリングなどの演算処 理を行う。メインメモリ 400は、主にメインプロセッサ 300によって使用される記憶領域 である。このメインメモリ 400は、例えば、メインプロセッサ 300によりコンピュータダラ フィックスに関するタスクを処理して得られたモデリングデータなどが一時的に格納さ れる。
[0041] グラフィックメモリ 120は、グラフィックプロセッサ 200により使用、管理されるグラフィ ックに関するデータ専用のメモリ領域である。このグラフィックメモリ 120は、画像フレ ームデータが格納されるフレームバッファや Zバッファに加え、画像フレームデータを 描画する際に参照される基本データである頂点データ、テクスチャデータ、力ラール ックアップテーブルなどが格納される領域を含んでいる。
[0042] グラフィックプロセッサ 200は、画像に関する処理を専用に実行するブロックであり、 メインプロセッサ 300により生成された 3次元モデリングデータをメインメモリ 400から 読み出し、 3次元モデリングデータをもとに座標変換、陰面消去、シェーディングを行 つて画像フレームデータを作成する一連のレンダリング処理などを行う。
グラフィックプロセッサ 200は、ラスタライザ 100、メモリインターフェース部 110、ディ スプレイコントローラ 130を含む。
[0043] ラスタライザ 100は、メインメモリ 400から 3次元モデリングデータを読み出し、描画 対象となるプリミティブの頂点データを取得する。ラスタライザ 100は、この頂点デー タをもとに、 3次元空間上のプリミティブを、スクリーン座標系への投影により描画平面 上の図形に変換するビュー変換を行う。さらに、描画平面上の図形を、描画平面の 水平方向に沿ってスキャンしながら、一列ごとに量子化されたピクセルに変換するラ スター処理を行う。このラスタライザ 100によってプリミティブがピクセル展開されて、 各ピクセル毎にピクセル情報が算出される。このピクセル情報には、 RGBカラー値、 透明度を表す ex値、視点からの奥行きを表す Z値が含まれる。
ラスタライザ 100は、スキャンラインに沿って所定の大きさのピクセル領域を生成し、 メモリインターフェース部 110へと出力する。ラスタライザ 100から出力されるピクセル 群は、一度キューにスタックされ、メモリインターフェース部 110はスタックされたピクセ ノレ群を^ mこグラフィックメモリ 120に書き込んでいく。
[0044] メモリインターフェース部 110は、グラフィックメモリ 120にピクセルを書込み、あるい はディスプレイコントローラ 130からの指示によってグラフィックメモリ 120からフレーム バッファを読み出す。ディスプレイコントローラ 130は、グラフィックメモリ 120から読み 出された画像データを表示装置へと出力する。
[0045] 以下、ラスタライザ 100の構成および動作について詳細に説明する。
ラスタライザ 100は、ラスタライズ部 10、統合処理部 600、キャッシュメモリ 50を含む
[0046] ラスタライズ部 10は、描画対象のオブジェクトのサーフェスを構成する単位図形で ある三角形をスクリーン座標系の描画領域に投影し、描画領域を複数の単位領域に 分割し、当該単位領域に含まれるピクセルを生成して、単位領域ごとにピクセル群と して出力する。ラスタライズ部 10は、複数の単位図形 (三角形)ごとに、順次単位領域 をピクセル群として生成し、出力する。
[0047] 図 2は、ラスタライズ部 10におけるピクセル生成の様子を示す図である。図 2は、ス クリーン座標系の描画領域 2000の一部を示している。三角形 12は、 3次元オブジェ タトのサーフェスを構成する単位図形である 1つの三角形が描画領域に投影されたも のである。ラスタライズ部 10は、この三角形 12の 3頂点 12a、 12b、 12cの座標値、色 、フォグ値、テクスチャ座標などにもとづいて、ポリゴン内部のピクセルを、 DDA (Digi tal Differential Analyze)法によって生成する。
[0048] 描画領域は、合同な複数の単位領域 14に分割される。
ラスタライズ部 10は、各単位領域ごとに順次、三角形 12に囲まれる領域のピクセル 情報 (色、フォグ値など)を生成し、単位領域ごとに生成したピクセル情報を出力する 。以下、ラスタライズ部 10において、ピクセル情報の生成がなされたピクセルを、有効 なピクセノレという。
[0049] 本実施の形態において、所定のサイズを有する各単位領域 14は、縦横 4ピクセル
X 4ピクセルを含んで!/、る。この単位領域 14に含まれる縦横 4 X 4のピクセル群をスタ ンプ STPと呼ぶ。各スタンプ STPは、対応する単位領域のスクリーン座標系における 位置情報を保持する。以下、スタンプの位置情報をスタンプアドレス ADDstpという。 ラスタライズ部 10は、スタンプ STP単位で順次ピクセルの生成を行い、有効なピク セルを含むスタンプ STPを順次統合処理部 600へと出力する。
[0050] 統合処理部 600は、ラスタライズ部 10から出力される複数のスタンプ STPを統合し 、統合されたスタンプごとに後段のキャッシュメモリ 50に書き込む。統合処理部 600 にお 、て複数のスタンプ STPを統合して得られるスタンプを最終スタンプ STPfと!、う 。グラフィックプロセッサ 200内部において、ラスタライザ 100およびメモリインターフエ ース部 110は、スタンプ STPを 1つの処理単位として各ブロック間でデータの送受を 行っている。
[0051] はじめに、統合処理部 600における統合処理にっ 、て説明する。統合処理部 600 は、互いにスタンプアドレス ADDstpが同一のスタンプ同士を統合処理する。
スタンプ同士の統合処理は、以下の 2つをパラメータとして行われる。第 1パラメータ は、統合可能かを判定する単位の大きさ、第 2パラメータは、実際に統合処理を行う 単位の大きさである。図 3 (a)〜(c)は、複数のスタンプが異なる条件下で統合処理さ れる様子を示す図である。スタンプ STPmは、 2つのスタンプ STP1、 STP2を統合し て得られる統合スタンプ STPmを表して!/、る。
以下、本実施の形態において、スタンプを分割して得られる縦横 2 X 2ピクセルの小 ピクセル群をクアツド QDと呼ぶ。また、有効なピクセルを含むクアツドを有効なクアツ ドと呼ぶ。
[0052] 図 3 (a)は、 2つのパラメータを 、ずれもピクセルとした場合の統合処理を示す。図 3
(a)のスタンプ STP1およびスタンプ STP2は、いずれも同一のスタンプアドレスを有 している。これらのスタンプ STPは、互いに重複した位置に有効なピクセルを含まな い。したがって、ピクセルごとに重複が判定された結果、問題なく統合される。
[0053] 図 3 (b)は、 2つのパラメータを 、ずれもクアツド QDとした場合の統合処理を示す。
図 3 (b)の統合処理においては、クアツドを単位として重複が判定される。その結果、 スタンプ STP 1とスタンプ STP2の右上のクアツドは 、ずれも有効であり、重複して ヽ るため、 2つのスタンプは統合されず、 2つのスタンプ STP1、 STP2がそのまま出力さ れる。
[0054] 図 3 (c)は、本実施の形態に係る統合処理であり、第 1パラメータをピクセルとし、第 2パラメータをクアツド QDとした場合の統合処理を表す。図 3 (c)の統合処理にぉ ヽ ては、ピクセルを単位として重複が判定される。その結果、スタンプ STP1とスタンプ S TP2の右上のクアツド QDは!、ずれも有効で重複して 、るが、ピクセル単位の判定で は、有効なピクセルが重複しておらず、かつ 2つのスタンプに含まれる有効なクアツド の総数は 4つ以下なので 1つのスタンプ STPmに統合することができる。なお、クアツ ド単位で統合処理を行った結果得られる統合スタンプ STPmは、各クアツドの位置が 元の位置力 変更される場合があるため、後述の再配置を行う。
このように、図 3 (c)に示す本実施の形態に係る統合処理においては、重複の判定 はピクセル単位で行い、統合処理はクアツド単位で行う。その結果、図 3に示したスタ ンプ STP1とスタンプ STP2を統合する場合、統合処理の効率は、図 3 (a)の場合と 同等となる。実際の画像処理においても、統合処理の効率は、図 3 (a)、図 3 (c)、図 3 (b)の順で優れている。
[0055] また、このような統合処理を行うための画像処理装置において、その実装コストにつ いて考察すると、第 1パラメータ、すなわち統合可能かを判定する単位を小さく設定 する場合、重複を判定するユニットのみを変更すればよいため、実装コストはそれほ ど上昇しない。一方、第 2パラメータ、すなわち、実際に統合処理を行う単位を小さく すると、メモリにアクセスするユニットの実装コストが高くなる。したがって、実装コスト の観点力も見ると、図 3 (b)、図 3 (c)、図 3 (a)の順で優れているといえる。
[0056] このように、図 3 (c)に示した本実施の形態に係る統合処理方法は、統合処理効率 と実装コストのバランスに優れている。以下、本実施の形態に係る統合処理を実現す るための統合処理部 600の構成について説明する。
[0057] 統合処理部 600は、領域分割部 20、領域破棄部 30、領域書込部 40を含む。
領域分割部 20は、ラスタライズ部 10から順次出力されるスタンプ STPを、それぞれ 縦横のピクセル数が等し 、合同な複数の小ピクセル群に分割する。本実施の形態に おいて、領域分割部 20は、縦横 4 X 4ピクセルのスタンプ STPを、縦横 2 X 2ピクセル の合同なクアツド QDO〜QD3に分割して、後段の領域破棄部 30へと出力する。 [0058] 図 4は、スタンプ STPがクアツド QD0〜QD3に分割される様子を示す図である。各 クアツド QDO〜QD3は、スタンプ内における相対的な位置情報をクアツドアドレス A DDqdとして保持する。クアツドアドレス ADDqdは、左上のクアツドから右下のクアツド に向かってそれぞれ、 00、 01、 10、 11であるとする。図 4において、クアツドアドレス は括弧内に示している。
領域分割部 20は、複数のピクセルをクアツド QD単位で後段の領域破棄部 30へと 出力する。
[0059] 領域破棄部 30は、領域分割部 20から出力される複数のクアツド QDを所定の規則 のもと間引いて破棄する。領域破棄部 30は、破棄処理の結果残ったクアツド QDを後 段の領域書込部 40に出力する。
[0060] 領域書込部 40は、領域破棄部 30における破棄処理の結果残ったクアツド QDをキ ャッシュメモリ 50に書き込む。このとき、領域破棄部 30による破棄処理の結果残った クアツド QDは再統合され、縦横 4 X 4ピクセルで構成されるスタンプに再構成される。 領域書込部 40により再統合されたスタンプを統合スタンプ STPmという。
[0061] 領域書込部 40は、領域破棄部 30から出力された統合スタンプ STPmを処理単位 としてキャッシュメモリ 50に書き込む。統合スタンプ STPmは、キャッシュメモリ 50に書 き込まれることにより、キューにスタックされ、メモリインターフェース部 110はスタックさ れた統合スタンプ STPmを順にグラフィックメモリ 120に書き込んでいく。統合スタン プ STPmと最終スタンプ STPfは必ずしも同一とは限らないため、領域書込部 40は、 後述の結合スタンプ STPm内のクアツドの再配置を行う。
[0062] 次に、領域分割部 20、領域破棄部 30、領域書込部 40における処理につ 、て詳細 に説明する。
ラスタライズ部 10から順次出力されるスタンプ STPのうち、領域分割部 20において 分割処理の対象となるスタンプをソーススタンプ STPsと!、う。ソーススタンプ STPsを 順次、ー且クアツド QDに分割し、不要なクアツド QDを破棄した後に、再統合した結 果得られるスタンプを統合スタンプ STPmという。また、ソーススタンプ STPsを統合す る過程において使用され、統合処理を受けるべく保持されるスタンプをターゲットスタ ンプ STPtという。 統合処理部 600においては、ターゲットスタンプ STPtの空クアツドに、ソーススタン プ STPsのクアツド QDsを順次書き込むことにより統合処理が進められる。
[0063] 図 5は、本実施の形態に係る統合処理部 600におけるスタンプ STPの統合処理の フローチャートである。
[0064] まず、統合処理の開始に先立ち、領域書込部 40において、ターゲットスタンプ STP tを初期化する(S 100)。
次に変数 jを 0に初期化する(S102)。変数 jは、ターゲットスタンプ STPtの何番目 のクアツドまで有効なクアツドが書き込まれているかを表す。たとえば、 j = 0のとき、タ 一ゲットスタンプ STPtには、 1つのクアツドも書き込まれていないことを表し、 j =4とな ると、ターゲットスタンプ STPtのすベてのクアツドが埋まって!/、ることを示す。
[0065] 次に領域分割部 20は、ソーススタンプ STPsを取得する(S104)。ソーススタンプ S TPsの取得は、ラスタライズ部 10から出力されたスタンプ STPを読み込むことにより 行われる。
[0066] 次にターゲットスタンプ STPtとソーススタンプ STPsのスタンプアドレス ADDstpが 比較される(S 106)。その結果、 2つのスタンプのアドレスが異なる場合(S 106の N) には統合処理を行わず、現在のターゲットスタンプ STPtを統合スタンプ STPmとして 後段の領域書込部 40へ出力し (S 130)、ターゲットスタンプ STPtを初期化する(S1 32)。ターゲットスタンプ STPtの初期化に伴い、変数 jを 0とする(S 134)。その後、 S 108に戻る。
[0067] 一方、 2つのスタンプのアドレスが同一の場合(S 106の Y)には、領域分割部 20は 、ソーススタンプ STPsを 4つのクアツド QDsO〜QDs3に分割する(S108)。
次いで変数 iを 0に初期化する(SI 10)。変数 iは、統合対象となるソーススタンプ S TPsの何番目のクアツドが処理対象かを表す。たとえば、 i=0のとき、ソーススタンプ STPsのクアツド QDsOが処理対象となる。
[0068] 次に、領域破棄部 30は、ソーススタンプ STPsの i番目のクアツド QDsiが有効なピク セルを含むかを判定する(S 112)。その結果、クアツド QDsiが有効なピクセルを含ま ない場合(S 112の N)、そのクアツド QDsiを破棄する(S 160)。その後、次のクアツド QDsiにつ!/、て処理すべく変数 iを 1増加する(S 126)。 [0069] 領域書込部 40は、クアツド QDsiが有効なピクセルを含む場合(S 112の Y)、そのク アツド QDsiの有効なピクセルがターゲットスタンプ STPtの有効なピクセルと重複する かを判定する(S114)。この判定は、クアツド QDsiとターゲットスタンプ STPtが、スク リーン座標系にお ヽて互いに同一の座標位置に有効なピクセルを含むかを判定する ことにより行われる。
[0070] その結果、互いに有効なピクセルが重複する場合 (S 114の Y)には、統合処理は 行わず、それまでのターゲットスタンプ STPtを統合スタンプ STPmとして出力し、タ 一ゲットスタンプ STPtを初期化し、さらに変数 jを 0に戻す(S140〜S144)。その後、 以下の統合処理(S116〜S128)に進む。
また、有効なピクセルが重複しない場合 (S 114の N)にも、以下の統合処理 (S116 〜S128)に進む。
[0071] ソーススタンプ STPsのクアツド QDsiを、ターゲットスタンプ STPtの j番目のクアツド
QDtjに書き込む(S116)。その後、次回のターゲットスタンプ STPtの書き込み位置 をずらすために、変数 jを 1増加する(S 118)。
ここで j =4ならば(S120の Y)、ターゲットスタンプ STPtのすベてのクアツド QDtO
〜QDt3にソーススタンプ STPsのクアツド QDsが統合されたことになるため、現在の ターゲットスタンプ STPtを統合スタンプ STPmとして出力する(S150)。次いで、ター ゲットスタンプ STPtを初期化し(S152)、変数 jを 0とする(S154)。次のクアツド QDsi の統合処理を行うため、変数 iを 1増加する(S126)。
[0072] j≠4ならば(S120の N)、ターゲットスタンプ STPtに空クアツドが存在するため、タ 一ゲットスタンプ STPtはそのままとし、次のクアツド QDsiの統合処理を行うために、 変数 iを 1増加する(S 126)。
[0073] 次に、変数 iについて判定を行い、 i=4ならば(S128の Y)、ソーススタンプ STPsに 属するすべてのクアツド QDsiにつ 、て統合処理を終えたことになるため、次のソース スタンプ STPsを取得する(S 104)。
[0074] i≠4ならば(S128の N)、次のクアツド QDsiについて統合処理を行うベぐ S112に 戻る。
[0075] このようにして、統合処理部 600は、ターゲットスタンプ STPtとソーススタンプ STP mのスタンプアドレスが同一で、かつ同一ピクセル位置に有効なピクセルが存在しな い場合に統合する。
[0076] 図 6は、図 5に示したフローチャートに従ってスタンプ同士が統合される様子を示す 図である。いま、スタンプ STP1〜STP4が順番に領域分割部 20に入力される場合 を考える。初期状態として、ターゲットスタンプ STPtが空スタンプであるとする。
まず、スタンプ STP1がソーススタンプ STPsとされ、領域分割部 20によって 4つのク アツド QDsO〜QDs3に分割される。クアツド QDsl〜QDs3は、有効なピクセルを含 まないため、領域破棄部 30により破棄される。
領域書込部 40には、領域破棄部 30における破棄処理の結果残ったクアツド QDsO のみ出力され、ターゲットスタンプ STPtのクアツド QDtOに書き込まれる。
[0077] 次に、スタンプ STP2がソーススタンプ STPsとされ、領域分割部 20によって 4つの クアツド QDsO〜QDs3に分割され、領域破棄部 30によってクアツド QDsl〜QDs3 は破棄される。領域書込部 40は、クアツド QDsOをターゲットスタンプ STPtのクアツド QDtlに書き込む。
スタンプ STP2、 STP3についても、同様の処理が行われ、ターゲットスタンプ STPt のクアツド QDtO〜QDt3には、それぞれスタンプ STP1〜STP4のクアツドアドレス A DDqdが (00)のクアツド QD0が書き込まれ、統合スタンプ STPmが生成される。
[0078] 統合スタンプ STPmに含まれる各クアツド QDmO〜QDm3は、もとのスタンプ STP 1〜STP4におけるクアツドアドレスを位置情報として保持して!/、る。統合スタンプ ST Pmは、この位置情報とともに、領域書込部 40へと出力される。
[0079] 図 7は、領域書込部 40の構成を示す図である。
領域書込部 40は、メモリアクセス部 44および分配部 42を含む。メモリアクセス部 44 は、クアツドに含まれる 4つのピクセルを、同時並列的にキャッシュメモリ 50に書込む 出力ユニット 46a〜46dを備える。
分配部 42は、各出力ユニット 46a〜46dにクアツド QDを構成するピクセルを分配 する。出力ユニット 46aにはクアツド QD内の左上のピクセルが分配され、出力ュニッ ト 46bには右上、出力ユニット 46cには左下、出力ユニット 46dには右下のピクセノレが 分配される。 領域書込部 40は、 4つのピクセルを同時並列的にキャッシュメモリ 50に書き込む動 作を、クアツド単位で 4回繰り返すことにより、 1つの統合スタンプの書込処理を行う。
[0080] 図 8は、領域書込部 40において、クアツド QDmO〜QDm3が各出力ユニット 46a〜 46dに分配される様子を示す。分配部 42は、統合スタンプ STPmを 4つのクアツド Q DmO〜QDm3に分割し、時刻 Tl、 Τ2、 Τ3、 Τ4と順番に、各出力ユニット 46a〜46 dに分配する。
時刻 T1において、分配部 42によってクアツド QDmOがピクセルに分解され、 4つの 出力ユニット 46a〜46dに分配され、各出力ユニットは、分解されたピクセルを、それ ぞれキャッシュメモリ 50に書き込む。次いで、時刻 T2、 Τ3、 Τ4と各クアツド QDml〜 QDm3がピクセルに展開されて順番に出力される。こうして、時刻 T1〜T4を 1つの 時間単位として、 1つの統合スタンプ STPmが出力される。
[0081] 図 9 (a)〜(c)は、領域書込部 40がキャッシュメモリ 50に統合スタンプ STPmを書き 込む様子を示す図である。図 9 (a)は、キャッシュメモリ 50を示し、図 9 (b)は、領域書 込部 40によるクアツドの書込状態を示し、図 9 (c)は、書込完了後の最終スタンプ ST Pfを示す。
[0082] 統合スタンプ STPmと最終スタンプ STPfは必ずしも同一とは限らないため、領域書 込部 40は、後述の結合スタンプ STPm内のクアツドの再配置を行う。
この再配置は以下のようにして行われる。
時刻 T1に、領域書込部 40は、統合スタンプ STPmのクアツド QDmOに含まれるピ クセルをキャッシュメモリ 50に書き込む。領域書込部 40は、クアツド QDmOのクアツド アドレス ADDqdを参照する。クアツド QDmOのクアツドアドレス ADDqdは 00であるた め、キャッシュメモリ 50のアドレス 00に書き込まれる。
次に、時刻 T2にクアツド QDmlを書き込む。クアツド QDmlのクアツドアドレスも 00 であるため、キャッシュメモリ 50のアドレス 00に書き込まれる。同様に、時刻 T3、 Τ4 において、クアツド QDm2、 QDm3がアドレス 00に書き込まれる。
[0083] すべてのクアツド QDmO〜QDm3がクアツドアドレス ADDqd=00に書き込まれる ことにより、図 6のスタンプ STP1〜STP4が統合された最終スタンプ STPfが生成さ れる。 [0084] 図 10は、別のスタンプ STP5〜STP8が統合される様子を示す。これらのスタンプ は、すべて同一のスタンプアドレスを有しており、また互いに重複する位置に有効な ピクセルを有していない。
[0085] まずスタンプ STP5力 4つのクアツド QDsO〜QDs3に分割される。クアツド QDsO のみ有効なピクセルを含むため、ターゲットスタンプ STPtのクアツド QDtOに書き込 まれ、クアツド QDsl〜QDs3は破棄される。
次にスタンプ STP6をソーススタンプ STPsとし、クアツド QDsO〜QDs3について統 合処理が行われる。その結果、クアツド QDsO、 QDs2が、ターゲットスタンプ STPtの クアツド QDtl、 QDt2にそれぞれ書き込まれ、クアツド QDsl、 QDs3が破棄される。
[0086] 次にスタンプ STP7をソーススタンプ STPsとする。スタンプ STP7については、クァ ッド QDsOがターゲットスタンプ STPtのクアツド QDt3に書き込まれる。この状態で、タ 一ゲットスタンプ STPt内のすべてのクアツドが有効となるため、統合スタンプ STPml として出力し、ターゲットスタンプ STPtが初期化される。
[0087] 続いて、ソーススタンプ STPsのクアツド QDs2力 新たなターゲットスタンプ STPtの クアツド QDtOに書き込まれる。クアツド QDsl、 QDs3は破棄される。
[0088] 次にスタンプ STP8をソーススタンプとする。クアツド QDsO〜QDs3はすべて有効 なピクセルを含むため、破棄されることなくターゲットスタンプ STPtに書き込まれる。 クアツド QDsO〜QDs2は、ターゲットスタンプ STPtのクアツド QDtl〜QDt3にそ れぞれ書き込まれる。この状態で、ターゲットスタンプ STPt内のすべてのクアツドが 有効となるため、統合スタンプ STPm2として出力し、再度、ターゲットスタンプ STPt が初期化される。
[0089] ソーススタンプ STPsのクアツド QDs3は、あらたなターゲットスタンプ STPtのクアツ ド QDtOに書き込まれる。その後、別のソーススタンプ STPsと統合され、統合スタンプ
STPm3として出力される。
[0090] 図 11は、領域書込部 40において、クアツド QDmO〜QDm3が各出力ユニット 46a
〜46dに分配される様子を示す。
領域書込部 40は、時刻 Tl、 Τ2、 Τ3、 Τ4と順番に、統合スタンプ STPml内の 4つ のクアツド QDmO〜QDm3を出力する。 領域書込部 40において、分配部 42は、各クアツドに含まれる 4つのピクセルを、各 出力ユニットに分配する。この統合スタンプ STPmlは、時刻 T1〜T4の期間に書き 込まれ、統合スタンプ STPm2は時刻 Τ5〜Τ8、統合スタンプ STPm3は時刻 Τ9〜Τ 12に書き込まれる。
各統合スタンプ STPml〜STPm3を構成する各クアツド QDmO〜QDm3は、もと のスタンプ STP5〜STP7内におけるアドレスとともに出力される。
[0091] 図 12 (a)〜(c)は、領域書込部 40が、図 10に示す統合スタンプ STPml〜STPm 3をキャッシュメモリ 50に書き込む様子を示す図である。領域書込部 40は、各時刻に おいて、各クアツドをそのアドレスを参照して、再配置しながらキャッシュメモリ 50に書 き込まれていく。
その結果、キャッシュメモリ 50には、図 12 (c)に示すように、図 7のスタンプ STP5〜 STP8が統合された最終スタンプ STPfが書き込まれる。後段のメモリインターフエ一 ス部 110は、この最終スタンプ STPfをグラフィックメモリ 120に書き込む。
[0092] このように、本実施の形態に係る画像処理装置 1000によれば、ラスタライズ部 10か ら出力される処理単位となるピクセル群であるスタンプを、小ピクセル群であるクアツド に分割し、不要なクアツドを破棄し、残ったクアツド同士を統合する。その結果、統合 後に得られる統合スタンプに含まれる有効なピクセル数を増加させることができ、描 画処理の効率ィ匕を図ることができる。
[0093] 特に、トライアングルストリップの性質から、同一のスタンプアドレスを有し、かつ有効 なピクセルが重ならないスタンプは連続して生成されやすい。したがって、これらの連 続するスタンプを効率的に統合することにより、有効なピクセルを増加することができ る。
また、本実施の形態に係る画像処理装置では、スタンプをー且クアツドに分割し、ピ クセル単位で統合可能かを判定しつつ、実際の統合処理はクアツド単位で行うため、 実装コストと処理効率のバランスを良好に保つことができる。
[0094] さらに、領域破棄部 30にお 、て統合された統合スタンプ STPmは、領域書込部 40 において、スタンプ内における局所的な配置の変更によって最終的に出力される最 終統合スタンプ STPfに修正することができる。この配置の変更を行う領域書込部 40 は、たとえば、キャッシュメモリ 50のアドレスの制御、あるいはクロスバーによる配置変 更などに相当するため、ハードウェア的な追加、修正はメモリアクセス部のみとなるた め、従来の画像処理装置に対しても、容易に実装することができる。
[0095] (第 2の実施の形態)
第 2の実施の形態では、第 1の実施の形態で説明したスタンプ統合処理を拡張した ものである。第 1の実施の形態では、統合処理の対象となるクアツドは、ソーススタン プ STPsがターゲットスタンプ STPmと同一のスタンプアドレスを有する場合のみとし た力 本実施の形態では、異なるスタンプアドレスを有するスタンプ間での統合処理 も許可することを特徴とする。以下、異なるスタンプアドレスを有するスタンプ同士の 統合を許可する統合処理を拡張統合処理と 、う。
[0096] 図 13は、異なるスタンプアドレスを有するスタンプが連続して入力された場合の統 合処理を示す図である。領域分割部 20には、スタンプ STP10〜STP13がラスタライ ズ部 10から順番に入力される。スタンプ STP10、 STP 11のスタンプアドレス ADDst pは 0001であり、スタンプ STP12、 STP13のスタンプアドレス ADDstpは 0010であ るとする。スタンプ STP10〜STP13の有効なピクセルは、重複した位置には存在し ない。
[0097] 領域分割部 20は、スタンプ STP10をソーススタンプ STPsとし、クアツド QDsO〜Q Ds3に分割する。クアツド QDsOがターゲットスタンプ STPtのクアツド QDtOに書き込 まれ、クアツド QDsl〜QDs3が破棄される。
次にスタンプ STP11をソーススタンプ STPsとし、クアツド QDsO〜QDs3に分割し た後、クアツド QDsOがターゲットスタンプ STPtのクアツド QDtlに書き込まれる。 次にスタンプ STP 12をソーススタンプとし、クアツド QDsO〜QDs3に分割した後、ク アツド QDs2がターゲットスタンプ STPtのクアツド QDt2に書き込まれる。
次にスタンプ STP13をソーススタンプとしてクアツド QDsO〜QDs3に分割し、クアツ ド QDs2がターゲットスタンプ STPtのクアツド QDt3に書き込まれる。
ターゲットスタンプ STPtに書き込まれな力つたクアツドはすべて破棄される。
[0098] この状態でターゲットスタンプ STPtは、すべてのクアツドが有効となるため、統合ス タンプ STPmとして出力され、ターゲットスタンプ STPtが初期化される。 [0099] 統合スタンプ STPmに含まれる各クアツド QDmO〜QDm3は、もとのスタンプ STP 10〜STP13におけるクアツドアドレス ADDqdとともに、もとのスタンプ STP10〜ST P13のスタンプアドレス ADDstpを保持している。
図 14は、領域書込部 40において、クアツド QDmO〜QDm3が各出力ユニット 46a 〜46dに分配される様子を示す。領域破棄部 30のメモリアクセス部 44は、時刻 Tl、 Τ2、 Τ3、 Τ4と順番に、統合スタンプ STPm内の 4つのクアツド QDmO〜QDm3を出 力する。時刻 T1において、クアツド QDmOがピクセルに展開され、同時並列的に出 力される。
次いで、時刻 T2、 Τ3、 Τ4と各クアツド QDml〜QDm3がピクセルに展開されて順 番に出力される。
[0100] 図 15 (a)〜(c)は、領域書込部 40がキャッシュメモリ 50に図 13の統合スタンプ ST Pmを書き込む様子を示す図である。
図 15 (a)に示すように、領域書込部 40は、各クアツド QDmを書き込む際に、クアツ ドアドレス ADDqdに加えてスタンプアドレス ADDstpを参照する。たとえば、時刻 T1 に入力されたクアツド QDmOは、スタンプアドレス力 0001、クアツドアドレスは 00であ るため、キャッシュメモリ 50の当該アドレス箇所に書き込まれる。クアツド QDml〜QD m3につ!/ヽても同様である。
その結果、図 12 (c)に示すように、キャッシュメモリ 50には、図 10のスタンプ STP1 0〜STP13が統合された最終スタンプ STPfl、 STPf2が書き込まれる。最終スタン プ STPflは、スタンプ STP10、 STPl lが統合されたものであり、最終スタンプ STPf 2は、スタンプ STP12、 STP13が統合されたものである。最終スタンプ STPfl、 STP f 2は、それぞれスタンプアドレス ADDstp力 0001および 0010の位置に書き込まれ る。
[0101] このように、本実施の形態に係る拡張統合処理を行うことによって、異なるスタンプ アドレスを有するスタンプ同士を一時的に統合することにより、領域書込部 40におい てキャッシュメモリ 50にアクセスする回数を減らすことができる。
この拡張統合処理によれば、スタンプアドレスが異なって 、ても統合処理が行うこと ができるため、統合スタンプ内の有効なクアツドの数を増加させ、画像処理の効率を さらに向上することができる。
[0102] 上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せに いろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当 業者に理解されるところである。
[0103] 実施の形態にお!ヽては、ピクセル群を縦横 4 X 4のスタンプで構成し、小ピクセル群 を縦横 2 X 2のクアツドとした力 Sこれには限定されず、小ピクセル群を縦横 1 X 4、ある いは縦横 4 X 1のクアツドとしてもよい。
クアツドに含まれるピクセルの数は、領域書込部 40にお 、て同時並列的にキヤッシ ュメモリ 50に書き込まれるピクセルの数と同数であること望ましいが、かならずしもこれ には限定されず、 4ピクセルを同時並列的にキャッシュメモリ 50に書き込む場合にお いて、クアツドに含まれるピクセルの数を 2つとしてもよい。スタンプのサイズ、クアツド のサイズは、ハードウェアコスト、処理に要するコスト等を考えて適宜決定すればよい 産業上の利用可能性
[0104] 本発明は、グラフィック演算処理装置等における画像処理技術に利用することがで きる。

Claims

請求の範囲
[1] 描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとに、スクリーン 座標系にて順次描画処理する画像処理装置であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するラスタライズ部 と、
前記ラスタライズ部から出力される単位領域を複数のサブ領域に分割する領域分 割部と、
前記領域分割部における分割の結果得られた複数のサブ領域のうち一部のサブ 領域を所定の規則で破棄する領域破棄部と、
前記領域破棄部による破棄処理の結果残ったサブ領域をメモリに書き込む領域書 込部と、
を備えることを特徴とする画像処理装置。
[2] 前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域を再 統合し、再統合により得られる統合領域ごとに、前記メモリに書き込むことを特徴とす る請求項 1に記載の画像処理装置。
[3] 前記統合領域は、前記単位領域と同サイズを有することを特徴とする請求項 2に記 載の画像処理装置。
[4] 前記サブ領域のサイズは、前記領域書込部が当該サブ領域をメモリに書き込む際 の単位処理量に相当することを特徴とする請求項 1に記載の画像処理装置。
[5] 前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域のうち 、分割前にサブ領域が属して 、た単位領域のスクリーン座標系における座標が互 ヽ に同一のサブ領域を統合することを特徴とする請求項 2に記載の画像処理装置。
[6] 前記領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属して 、た 単位領域内における相対的な位置情報を参照して前記メモリの該当アドレスに書き 込むことを特徴とする請求項 2に記載の画像処理装置。
[7] 前記単位領域は矩形領域であって、前記ラスタライズ部は、前記複数の単位領域 がそれぞれ、縦横のピクセル数が互いに等 ヽピクセル群を含むよう描画領域を分 割し、 前記領域分割部は、前記ピクセル群を含む前記単位領域を、縦横のピクセル数が 互いに等しい小ピクセル群を含む複数のサブ領域に分割することを特徴とする請求 項 1に記載の画像処理装置。
[8] 前記領域破棄部は、前記領域分割部において分割された複数のサブ領域のうち、 有効なピクセルを含まないサブ領域を対象として破棄処理を行うことを特徴とする請 求項 7に記載の画像処理装置。
[9] 前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域のうち
、スクリーン座標系にお 、て互いに同一の座標に有効なピクセルを含まな 、サブ領 域を再統合し、再統合により得られる統合領域ごとに、前記メモリに書き込むことを特 徴とする請求項 7または 8に記載の画像処理装置。
[10] 前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域のうち
、分割前にサブ領域が属して 、た単位領域のスクリーン座標系における座標が互 ヽ に同一のサブ領域を統合することを特徴とする請求項 9に記載の画像処理装置。
[11] 前記領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属していた 単位領域内における相対的な位置情報を参照して前記メモリの該当アドレスに書き 込むことを特徴とする請求項 9に記載の画像処理装置。
[12] 前記領域書込部は、
前記サブ領域に含まれるピクセルを、並列的に前記メモリに書込むメモリアクセス部 を備えることを特徴とする請求項 7に記載の画像処理装置。
[13] 描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン 座標系にて順次描画処理する画像処理装置であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するラスタライズス テツプと、
前記ラスタライズステップにおいて生成される前記単位領域を複数のサブ領域に分 割する領域分割ステップと、
前記領域分割ステップにおいて分割された複数のサブ領域のうち一部のサブ領域 を所定の規則で破棄する領域破棄ステップと、
前記領域破棄ステップによる破棄処理の結果残ったサブ領域をメモリに書き込む 領域書込ステップと、
を備えることを特徴とする画像処理方法。
[14] 前記ラスタライズステップにお ヽて、前記複数の単位領域がそれぞれ、縦横のピク セル数が互!、に等 Uヽピクセル群を含むよう描画領域を分割し、
前記領域分割ステップにおいて、前記ピクセル群を含む前記単位領域を、縦横の ピクセル数が互いに等し ヽ小ピクセル群を含む複数のサブ領域に分割することを特 徴とする請求項 13に記載の画像処理方法。
[15] 前記領域破棄ステップにお ヽて、分割された複数のサブ領域のうち、有効なピクセ ルを含まないサブ領域を対象として破棄処理を行うことを特徴とする請求項 14に記 載の画像処理方法。
[16] 描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン 座標系にて順次描画処理する画像処理方法であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、 前記出力するステップにおいて出力される単位領域のそれぞれを構成する複数の サブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するス テツプと、
を備えることを特徴とする画像処理方法。
[17] 描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン 座標系にて順次描画処理する画像処理方法であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、 前記分割して出力するステップにおいて出力される単位領域のそれぞれを構成す る複数のサブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込 むステップと、
を備えることを特徴とする画像処理方法。
[18] 描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン 座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、 単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、 前記出力するステップにおいて出力される単位領域のそれぞれを構成する複数の サブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するス テツプと、
を実行させることを特徴とするコンピュータプログラム。
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン 座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、 単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、 前記出力するステップにおいて出力される単位領域のそれぞれを構成する複数の サブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込むステツ プと、
を実行させることを特徴とするコンピュータプログラム。
PCT/JP2006/302518 2005-02-23 2006-02-14 画像処理装置および画像処理方法 WO2006090610A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/594,376 US7825928B2 (en) 2005-02-23 2006-02-14 Image processing device and image processing method for rendering three-dimensional objects
CN200680000177.5A CN1942901B (zh) 2005-02-23 2006-02-14 图像处理装置及图像处理方法
EP06713659A EP1852827B1 (en) 2005-02-23 2006-02-14 Image processing device and image processing method
DE602006020989T DE602006020989D1 (de) 2005-02-23 2006-02-14 Bildverarbeitungseinrichtung und bildverarbeitungsverfahren

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-047400 2005-02-23
JP2005047400A JP3892016B2 (ja) 2005-02-23 2005-02-23 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
WO2006090610A1 true WO2006090610A1 (ja) 2006-08-31

Family

ID=36927250

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/302518 WO2006090610A1 (ja) 2005-02-23 2006-02-14 画像処理装置および画像処理方法

Country Status (6)

Country Link
US (1) US7825928B2 (ja)
EP (1) EP1852827B1 (ja)
JP (1) JP3892016B2 (ja)
CN (1) CN1942901B (ja)
DE (1) DE602006020989D1 (ja)
WO (1) WO2006090610A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5279332B2 (ja) * 2008-04-28 2013-09-04 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP5328852B2 (ja) * 2011-07-25 2013-10-30 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、プログラム及び情報記憶媒体
CN103136724B (zh) * 2011-11-30 2015-11-25 北大方正集团有限公司 加网方法和装置
CN103700132A (zh) * 2013-12-19 2014-04-02 湖北视纪印象科技股份有限公司 一种3d场景的广域尺寸渲染方法
KR20150144233A (ko) * 2014-06-16 2015-12-24 삼성전자주식회사 영상 샘플링 시스템 및 방법
JP6445899B2 (ja) * 2015-02-26 2018-12-26 キヤノン株式会社 画像形成装置及びその制御方法
CN106897969B (zh) * 2017-02-20 2019-08-30 华中科技大学 一种用于超分辨定位显微成像的数据处理装置及方法
CN108921779A (zh) * 2018-07-13 2018-11-30 北京炬力北方微电子有限公司 一种三维投影映射方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293709A (ja) * 1999-02-03 2000-10-20 Toshiba Corp 画像処理装置、画像処理システムおよび画像処理方法
JP2000338959A (ja) 1999-05-31 2000-12-08 Toshiba Corp 画像処理装置
JP2003123082A (ja) 2001-10-12 2003-04-25 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2003208627A (ja) * 2002-01-15 2003-07-25 Sony Corp 画像処理装置およびその方法
JP2003528394A (ja) * 2000-03-23 2003-09-24 株式会社ソニー・コンピュータエンタテインメント 画像処理装置及び画像処理方法
JP2003536153A (ja) * 2000-06-08 2003-12-02 イマジネイション テクノロジーズ リミテッド 三次元イメージレンダリングのためのタイリング及び圧縮

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6924820B2 (en) * 2001-09-25 2005-08-02 Sun Microsystems, Inc. Over-evaluating samples during rasterization for improved datapath utilization
US6917369B2 (en) * 2003-03-25 2005-07-12 Mitsubishi Electric Research Labs, Inc. Method and apparatus for rendering cell-based distance fields using texture mapping
JP3966832B2 (ja) * 2003-04-28 2007-08-29 株式会社東芝 描画処理装置、及び、描画処理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293709A (ja) * 1999-02-03 2000-10-20 Toshiba Corp 画像処理装置、画像処理システムおよび画像処理方法
JP2000338959A (ja) 1999-05-31 2000-12-08 Toshiba Corp 画像処理装置
JP2003528394A (ja) * 2000-03-23 2003-09-24 株式会社ソニー・コンピュータエンタテインメント 画像処理装置及び画像処理方法
JP2003536153A (ja) * 2000-06-08 2003-12-02 イマジネイション テクノロジーズ リミテッド 三次元イメージレンダリングのためのタイリング及び圧縮
JP2003123082A (ja) 2001-10-12 2003-04-25 Sony Corp 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2003208627A (ja) * 2002-01-15 2003-07-25 Sony Corp 画像処理装置およびその方法

Also Published As

Publication number Publication date
JP3892016B2 (ja) 2007-03-14
EP1852827B1 (en) 2011-03-30
US20070211078A1 (en) 2007-09-13
CN1942901B (zh) 2014-01-22
JP2006235839A (ja) 2006-09-07
EP1852827A4 (en) 2009-11-25
US7825928B2 (en) 2010-11-02
EP1852827A1 (en) 2007-11-07
DE602006020989D1 (de) 2011-05-12
CN1942901A (zh) 2007-04-04

Similar Documents

Publication Publication Date Title
US6704018B1 (en) Graphic computing apparatus
CN104183005B (zh) 图形处理单元和基于图块的渲染方法
US8730253B2 (en) Decomposing cubic Bezier segments for tessellation-free stencil filling
WO2006090610A1 (ja) 画像処理装置および画像処理方法
KR102275712B1 (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
US20100214294A1 (en) Method for tessellation on graphics hardware
JP2000182038A (ja) 歪まされた情報からの遠近法的矯正デ―タの生成方法及びこれに用いる装置並びにコンピュ―タプログラム製品
JP2012014744A (ja) 拡張されたプリミティブの頂点キャッシュの処理を加速する装置
US20160307294A1 (en) Systems and Methods for Displaying Patterns of Recurring Graphics on Digital Maps
US8570321B2 (en) Rasterization engine and three-dimensional graphics system for rasterizing in order adapted to characteristics of polygon
KR20160068204A (ko) 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체
JP3979162B2 (ja) 画像処理装置およびその方法
JP4081304B2 (ja) 描画処理プログラム,描画処理プログラムを記憶させた記憶媒体,描画処理装置、及び描画処理方法
JP3002972B2 (ja) 3次元画像処理装置
JP4042377B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
US7372466B2 (en) Image processing apparatus and method of same
US10593111B2 (en) Method and apparatus for performing high throughput tessellation
JP3747859B2 (ja) 画像処理装置およびその方法
Ramos et al. Continuous level of detail on graphics hardware
JP7455546B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7312040B2 (ja) テクスチャマッピング装置およびテクスチャマッピング用プログラム
US6870536B2 (en) Image processing apparatus and image processing program
Somosi et al. A parallel algorithm for rendering huge terrain surfaces
KR101663023B1 (ko) 그래픽 처리 장치 및 방법
JP2611599B2 (ja) コンピュータグラフイックスのデータ処理方法及び装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 200680000177.5

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2007211078

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10594376

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006713659

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2006713659

Country of ref document: EP