WO2007034822A1 - 画像生成装置 - Google Patents

画像生成装置 Download PDF

Info

Publication number
WO2007034822A1
WO2007034822A1 PCT/JP2006/318609 JP2006318609W WO2007034822A1 WO 2007034822 A1 WO2007034822 A1 WO 2007034822A1 JP 2006318609 W JP2006318609 W JP 2006318609W WO 2007034822 A1 WO2007034822 A1 WO 2007034822A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
pixel
information
edge
processing
Prior art date
Application number
PCT/JP2006/318609
Other languages
English (en)
French (fr)
Inventor
Eisaku Ohbuchi
Original Assignee
Digital Media Professionals 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 Digital Media Professionals Inc. filed Critical Digital Media Professionals Inc.
Priority to JP2007536518A priority Critical patent/JP4794565B2/ja
Publication of WO2007034822A1 publication Critical patent/WO2007034822A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Definitions

  • the present invention relates to an image generation apparatus that generates computer graphics. More specifically, the present invention relates to an image generation apparatus that can simultaneously perform image composition at the time of painting after rendering, a computer using such an image generation apparatus, and the like.
  • image generation devices mounted on portable devices are required to have a smaller physical size and lower power consumption than those used in conventional stationary devices. Is done. Furthermore, it is expected to generate effective images under such constraints.
  • Figure 19 (a) shows an example of the rendered image.
  • the renderer obtains a rendered image as shown in Fig. 19 (a)
  • the upper part of the screen is scanned line by line to fill a predetermined area inside the image.
  • Figure 19 (b) shows an example of the image after painting.
  • a predetermined area is filled in the rendered image shown in Fig. 19 (a).
  • the images displayed on the screen include images of various layers such as background images and images that come before the background. Therefore, processing such as geometric operations and color correction is performed on each layer image.
  • the hidden image is removed and the display image is synthesized.
  • FIG. 20 is a diagram illustrating an example of each layer image of an image displayed on a certain mobile phone.
  • the images displayed on a mobile phone etc. are the background image (Layer 0), the header one image (Layer 1), the footer image (Layer 2), the video image (Layers 3 and 4), And games
  • the computer graphics image (Layer 5) is formed in combination. In the past, painting was performed after rendering, and then image composition was performed.
  • image generation devices are also used for user interface display in computers, and it is also required to generate images quickly and highly in response to a request to reduce power consumption! RU
  • Patent Document 1 discloses that drawing should be performed according to a plurality of graphic data in order to perform fast and accurate color correction and color conversion.
  • a data storage unit that stores drawing data as intermediate data, and an edge generation means that retrieves each of the stored intermediate data force graphic data and obtains an edge with a predetermined scan line width for each graphic data
  • the rendering unit has a graphic overlap elimination processing means that eliminates edge overlap between each generated graphic data, an edge sort processing means that sorts the edge sequences from which the overlap has been eliminated, and a sort processing
  • An image processing apparatus including a color correction / color conversion for performing color conversion on a drawing color at each edge of an edge row and a color conversion unit is disclosed.
  • the invention described in Japanese Patent Application Laid-Open No. 2003-143419 is adapted to rasterize data using vector information and to perform color correction / color conversion to the minimum part. Color correction and color conversion processing are performed simultaneously with the solid image generation processing, but vector image generation and image composition processing are not integrated.
  • Japanese Patent Laid-Open No. 2000-172870 discloses that an image that draws a three-dimensional object according to a polygon model is used to draw a polygon edge without blurring with a specified width only by a triangle drawing algorithm.
  • the host PC also stores the edge width and edge mode, along with the vertex coordinate values and color values of the triangles that have been subjected to geometry processing, in the drawing controller register, and the processor writes the triangle drawing start flag from the PC.
  • Receive drawing commands via the bus controller read the register data, perform triangle drawing operations (pixel expansion), and write the results to the frame buffer and Z buffer. If the value is 0, the start point and end point are determined for each horizontal span of the triangle. Fill the entire inside of the triangle Do. On the other hand, if the mode is 1, find the end point for the edge width and fill from the start point to the end point of the edge width. Is disclosed.
  • the invention disclosed in Japanese Patent Laid-Open No. 2000-172870 implements drawing a line using vector information by a triangle algorithm, and does not perform image composition during vector image generation processing. Nah ...
  • Japanese Patent Laid-Open No. 2000-69275 discloses a black line image for which a boundary is determined in advance when an editing area is designated by marker processing or the like and a region surrounded by a boundary line is filled.
  • a technique is disclosed in which edge enhancement is performed to increase the black image density near the boundary, thereby narrowing the gap between the black line image and the filled image at the boundary and making it difficult to see the white spots near the boundary.
  • this technology is related to the unchasing technique when generating vector format images, and does not perform image composition during vector image generation processing.
  • Japanese Patent Application Laid-Open No. 6-68271 discloses a technique for reducing processing time without reducing the effect of anti-aliasing processing when filling an area surrounded by an edge of a vector image.
  • image synthesis is not performed during vector image generation processing.
  • Japanese Patent Laid-Open No. 2000-172858 discloses a drawing object for converting vector data into edge data so as to be able to deal with complex figures without imposing a load on the system.
  • a drawing unit 2 for recognizing coordinates at the intersection of vector data representing the contour of the figure and the scan line, a drawing coordinate storage unit L1 for storing coordinate data indicating coordinates recognized by the drawing unit 2, and a drawing Vector number determination means 3 for calculating the number of coordinates recognized by section 2 for each scan line, and the calculated number of coordinates is the number of coordinate data for one scan line assigned in advance to drawing coordinate storage section L1.
  • the control unit 5 that secures the drawing coordinate storage unit L2 that can store the number of coordinate data that has been determined to exceed, and the edge list area that stores the coordinate data in the secured storage area Switching Image producing formation and means 6 is disclosed.
  • This technique relates to a technique for generating an edge portion when generating a vector graphics image, and does not perform image composition when forming a vector format image.
  • the vector image generation unit and the image synthesis unit are separated, and these processes are realized by hardware power or a combination of hardware and software.
  • the final image is generated after generating the vector image, and then generating the background image and background. Since other image synthesis is required and wasteful memory access occurs, waste is generated in terms of performance and power consumption, and these synchronous controls are required, complicating the system.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2003-143419
  • the present invention has been made in view of the above-described problems, and an image generation apparatus capable of performing image generation processing in a unified manner when generating a final image including a vector image and a plurality of image layers.
  • the purpose is to provide.
  • the image generation processing when generating a final image including a vector image and a plurality of image layers, the image generation processing can be performed in a unified manner, so the performance is high, the power consumption is low, and the complexity of the system is suppressed.
  • Another object of the present invention is to provide an image generation apparatus.
  • the present invention basically reads the image information for each layer stored in the layer image storage memory when painting the inside of the image using the edge information, and stores the vector-format image and each layer.
  • the image generation device (1) includes an edge information storage memory (2) for storing polygon edge information at a certain pixel, and a vectorized rasterized result.
  • the vectorized data storage memory (3) for storing the data and the rasterized result based on the vectorized rasterized result stored in the vector data storing memory.
  • An edge information generator (4) for performing processing for writing edge information of an image to the edge information storage memory, and a layer image storage memory for storing at least image information relating to the background and image information for each of a plurality of layers (5)
  • the edge information stored in the edge information storage memory to fill the interior of the image defined in the vector format, the background image information stored in the layer image storage memory and
  • An image composition unit (6) that reads out image information for each layer, superimposes the vector format image and the image information for each layer, and performs image processing for each pixel to perform image synthesis for each pixel, and the image
  • the present invention relates to an image generation apparatus including a result image storage memory (7) for storing an image synthesized by a synthesis unit.
  • the image generation apparatus includes an image composition unit (6) that simultaneously performs image processing in vector format and processing for superimposing image information for each layer. According to the device, image composition can be performed when forming a vector image.
  • the vector image processing and the processing for superimposing the image information for each layer are basically different processing, and it is technical common sense that the processing is performed separately as in the prior art. However, like the image generation device of the present invention, the processing is performed simultaneously by the image composition unit (6), so that the amount of memory access can be reduced and consequently the power consumption can be reduced.
  • an image generation apparatus capable of performing image generation processing in a unified manner when generating a final image including a vector image and a plurality of image layers.
  • image generation processing when generating a final image including a vector image and a plurality of image layers, image generation processing can be performed in a unified manner, so that performance is high and power consumption is low. It is possible to provide an image generation apparatus with reduced stem complexity.
  • the blending coefficient for synthesizing the surface color is combined with the single light source or multiple light source sizing results for a specific pixel to generate a surface color after blending for at least two layers. , Combine into a single color.
  • brightness calculation can be performed without considering the incident light to pixels other than a specific pixel, so that it is possible to calculate shadows at high speed.
  • a multilayer reflection shading image generation method and a computer can be provided.
  • FIG. 1 is a schematic diagram showing a basic configuration of an image generating apparatus according to a first aspect of the present invention.
  • FIG. 2 is a diagram for explaining the flow of an image obtained by the image generating apparatus according to the first aspect of the present invention.
  • Figure 2 (a) shows an example of polygon shape data defined in the vector format stored in the vector data storage memory.
  • Figure 2 (b) shows an example of data that is written in the edge information storage memory and contains the edge information of the image that is the result of rasterization.
  • Figure 2 (c) is a diagram showing an example of a composite image synthesized by the image composition unit and stored in the result image storage memory [7].
  • FIG. 3 is a block diagram showing a configuration example of an edge information generation unit.
  • FIG. 4 is a block diagram showing a configuration example of an image composition unit.
  • FIG. 5 is a diagram for explaining the process of image composition performed in the image composition unit.
  • FIG. 6 is a block diagram of an antialiasing circuit according to the first embodiment of the present invention.
  • FIG. 7 is a diagram showing an example of polygon edges and sampling points in a certain pixel.
  • FIG. 8 is a diagram showing another example of polygon edges and sampling points in a certain pixel.
  • FIG. 9 is a diagram showing another example of polygon edges and sampling points in a certain pixel.
  • FIG. 10 is a diagram showing another example of polygon edges and sampling points in a certain pixel.
  • FIG. 11 is a block diagram of an anti-aliasing circuit according to the second embodiment of the present invention.
  • FIG. 12 is a flowchart for explaining an example of painting processing in the present invention.
  • FIG. 13 is a block diagram showing an embodiment (computer) of the present invention.
  • FIG. 14 is a block diagram of an embodiment (game machine) according to the present invention.
  • FIG. 15 is a block diagram of an embodiment of the present invention (a mobile phone with a computer graphic function).
  • FIG. 16 is a block diagram of an embodiment (navigation system) of the present invention.
  • FIG. 17 is a block diagram showing a main control circuit 361 of the pachislot machine.
  • FIG. 18 is a block diagram showing a sub-control circuit of a pachislot machine.
  • FIG. 19 is a diagram for explaining rendering and filling.
  • Figure 19 (a) shows an example of the image after rendering.
  • Fig. 19 (b) shows an example of an image after painting.
  • FIG. 20 is a diagram showing an example of each layer image of an image displayed on a certain mobile phone.
  • FIG. 1 is a schematic diagram showing a basic configuration of an image generating apparatus according to the first aspect of the present invention.
  • an image generation device (1) according to the first aspect of the present invention includes an edge information storage memory (2) for storing polygon edge information at a pixel, and a vector format rasterization. Based on the vector data storage memory (3) for storing the result and the vector format rasterization result stored in the vector data storage memory, the edge information of the image as the rasterization result is converted into the edge data.
  • An edge information generation unit (4) for performing processing to write to the information storage memory, a layer image storage memory (5) for storing at least image information relating to the background and image information for each of a plurality of layers, and the edge information storage memory
  • the image compositing unit (6) reads out the related image information and the image information for each layer, superimposes the vector format image and the image information for each layer, and performs image processing operation on a pixel basis.
  • a result image storage memory (7) for storing the image synthesized by the image synthesis unit.
  • FIG. 2 is a diagram for explaining the flow of an image obtained by the image generating apparatus according to the first aspect of the present invention.
  • Figure 2 (a) shows an example of polygon shape data defined in vector format stored in the vector data storage memory.
  • Fig. 2 (b) is a diagram showing an example of data including edge information of an image as a rasterization result written in the edge information storage memory.
  • Figure 2 (c) shows an example of a composite image synthesized by the image composition unit and stored in the result image storage memory [7].
  • An edge information storage memory (2) stores polygon edge information in a certain pixel. For example, polygon edge information defined by user input and polygon edge information calculated based on a predetermined calculation are stored in a writable manner.
  • the vector data storage memory (3) stores polygon shape data defined in vector format, for example. In other words, as shown in Fig. 2 (a), polygon data defined in vector format is stored in the vector data storage memory (3). In Fig. 2 (a), 11 is an example of the two-dimensional memory space of the vector data storage memory.
  • the vector data storage memory (3) It stores vector position data [12] defined by functions such as coordinate position information about polygon shapes and Bezier free curves.
  • the edge information generating unit (4) performs rasterization processing based on the shape data in the vector format stored in the vector data storage memory, and stores the result of the rasterization in the edge information storage memory.
  • Export edge information Specifically, pixel information such as position information, inclination information, and direction information of edge portions having a vector shape is obtained by rasterization processing, and information stored in the edge information storage memory is updated.
  • Figure 2 (b) shows an example of the data written in the edge information storage memory and containing the edge information of the image that is the rasterization result.
  • 14 is an example of the two-dimensional memory space (per pixel) of the edge information storage memory.
  • the polygon vector shape data (12) is converted into edge pixels (13) in pixel units, and this information is transmitted to the edge information storage memory (2). Then, the edge information stored in the edge information storage memory (2) is updated.
  • the layer image storage memory (5) stores at least image information relating to the background and image information for each of a plurality of layers.
  • the image composition unit (6) uses the edge information stored in the edge information storage memory (2) to fill the interior of the image defined in the vector format, the image composition unit (6) stores the image in the layer image storage memory. Read out one or more of the background image information and the image information for each layer, and overlay the vector image (or edge information such as edge pixel (13)) and the image information for each layer. Then, image processing in units of pixels is performed by performing image processing operations in units of pixels.
  • the result image storage memory (7) stores the image information synthesized by the image synthesis unit (6).
  • Figure 2 (c) shows an example of a composite image synthesized by the image composition unit and stored in the result image storage memory (7).
  • the image composition unit refers to the edge information, layer image information stored in the layer image storage memory (5), etc.
  • the cell (15), the edge part pixel of the vector area (preferably antialiased edge pixel) (16), and the layer image pixel (17) are obtained.
  • the obtained composite image information is transmitted to the result image storage memory (7), and the result image storage memory (7) updates the stored information based on this information.
  • the memory space (18) of the result image storage memory (7) the area filled pixel (15), antialiased edge pixel (16), and ray
  • the combined image information classified into the image pixel (17) is stored.
  • Each element is described below.
  • the image generator (1) can be realized as a computer system used for 3D computer graphics, or as a circuit or chip for generating such 3D computer images.
  • the elements constituting the image generating apparatus (1) of the present invention are connected by a bus or the like so that information can be exchanged.
  • the edge information storage memory [2] is used to store polygon edge information for a pixel.
  • the edge information storage memory is realized by a recording device such as a hard disk, a buffer, or a RAM.
  • a recording device such as a hard disk, a buffer, or a RAM.
  • polygon edge information defined by user input and polygon edge information calculated based on a predetermined calculation are stored in a writable manner.
  • the vector data storage memory [3] is used to store polygon data in vector format.
  • This vector data storage memory is realized by a recording device such as a hard disk, buffer, or RAM, for example.
  • the rasterization result in vector format is information obtained by a known rasterization circuit, and the corresponding frame buffer address is calculated based on the position information in the screen coordinate system of the vertex of the polygon, which is a point in 3D space. It can also be obtained by extracting the texture texels (pixels) corresponding to the texture coordinate information at the vertex.
  • the information stored in the vector data storage memory (3) is, for example, polygon shape data defined in vector format.
  • the edge information storage memory (2) stores coordinate position information and vector shape data defined by a predetermined function such as a Bezier free curve, not as pixels.
  • the vector data storage memory stores information as stream format data.
  • the stream data generation circuit uses the stream format data before the information is stored in the vector data storage memory. May be returned. Since it is stored in the information power stream format, information can be read effectively.
  • the edge information generation unit (4) performs rasterization processing based on the vector form shape data stored in the vector data storage memory, and writes the edge information of the image as the rasterization result to the edge information storage memory It is a device for.
  • FIG. 3 is a block diagram illustrating a configuration example of the edge information generation unit.
  • the edge information generator (4) performs command analysis of vector shape data (12) read from the vector data storage memory (3), and the entire edge information generator (4).
  • a command control unit (21) for controlling processing, and a rasterization for performing rasterization processing using shape data in the vector format stored in the vector data storage memory according to the control signal of the command control unit (21)
  • An edge information calculation unit (23) for obtaining edge information using shape data in vector format stored in a solid data storage memory in accordance with the control signal of the command control unit (21).
  • an edge memory controller (24) for transmitting information to the edge information storage memory (2) and updating the edge information stored in the edge information storage memory.
  • the command control unit (21) analyzes the command of the vector shape data (12) read from the vector data storage memory (3) and controls the entire processing of the edge information generation unit (4). .
  • This process may be performed by hardware.
  • the software and the hardware may work together.
  • a CPU or the like functioning as a command control unit (21) analyzes a command based on input information, reads a control program stored in the main memory, etc. as necessary, and controls the control algorithm of the read control program.
  • the predetermined process may be performed using the input information according to the program.
  • Each information may be stored in a memory such as a buffer as appropriate and updated as appropriate.
  • the command control unit (21) but also the edge information generation unit (4) as a whole may be processed by the cooperation of hardware and software as described above. You can be processed by.
  • the rasterization unit (22) performs vector data storage mem- ory according to the control signal of the command control unit (21). Rasterization processing is performed using shape data in vector format stored in memory. More specifically, the rasterization unit (22) generates edge information using coordinates and function data in the analyzed command.
  • the edge information calculation unit (23) obtains edge information using the shape data in the vector format stored in the vector data storage memory in accordance with the control signal of the command control unit (21). More specifically, the edge information calculation unit (23) receives the rasterized edge information obtained by the rasterization unit (22), and uses the edge information as a position necessary for subsequent painting processing, Edge information with information on one or more of tilt, direction and anti-aliasing information added.
  • the edge memory control unit (24) receives the edge information from the edge information calculation unit (23), transmits the edge information to the edge information storage memory (2), and receives the edge information stored in the edge information storage memory. Update. In this way, data including edge information as shown in Fig. 2 (b) is stored in the edge information storage memory.
  • the edge information generation unit uses the vector format rasterization result stored in the vector data storage memory to generate the edge information for each pixel in the edge information storage memory.
  • One or more of transparency, rasterization progress code in the horizontal and vertical directions at the edge part of the pixel, and the number of overlaps of the edge part at the time of rasterization are obtained, and the obtained result is written to the edge information storage memory Is a preferred embodiment of the present invention.
  • the transmissivity for each pixel it is possible to effectively perform translucent processing or the like based on the control of the image composition unit (6) during image composition. If there is a rasterization progression code in the horizontal and vertical directions at the edge of the pixel, the image compositing unit (6) will send the line unit information or block unit information for each line unit or It can be easily read for each block. Furthermore, if the number of overlaps of the edge part at the time of rasterization is used, it will be possible to easily determine whether or not the image compositing unit (6) will fill in the subsequent image compositing.
  • the layer image storage memory (5) contains at least image information related to the background and a plurality of layers. For storing the image information.
  • the layer image storage memory (5) is realized by a recording device such as a hard disk, buffer, or RAM. Note that if the image stored in the layer image storage memory (5) is stored together with the z-coordinate and the index indicating the position in the depth direction for each layer, the position viewed from the viewpoint is clear, so the image is stored. This is preferable because a force ring process can be easily performed when combining the images.
  • the image compositing unit (6) uses the edge information stored in the edge information storage memory (2) to fill the inside of the image defined in the solid format and is stored in the layer image storage memory. Read out one or more of the background image information and image information for each layer, and overlay the vector image (or edge information such as edge pixel (13)) and the image information for each layer.
  • This is a device for image synthesis in units of pixels by performing image processing operations in units of pixels.
  • Pixel-based image processing calculation means for example, calculation processing for compositing images, and examples include pixel-based filling calculation.
  • FIG. 4 is a block diagram illustrating a configuration example of the image composition unit.
  • the image compositing unit (6) performs at least one of overlay processing, pixel operation in pixel units, or translucent processing and other raster operations to perform pixel-by-pixel fill processing.
  • a result memory control unit (33) for updating the result image information stored in the result image storage memory (7), an image composition control unit (not shown) for controlling the calculation in the image composition unit (6), are provided.
  • the image composition control unit controls the calculation in the image composition unit (6).
  • This process may be performed by hardware. Realization by hardware is preferable because it speeds up processing and reduces power consumption.
  • software and hardware may work together.
  • a CPU or the like that functions as an image composition control unit analyzes commands based on input information, reads out control programs stored in the main memory as necessary, and controls the read control program. Input according to the algorithm A predetermined process may be performed using the obtained information. Each information should be stored in a memory such as a buffer as appropriate and updated as appropriate!
  • FIG. 5 is a diagram for explaining the process of image composition performed in the image composition unit.
  • Information to the image composition control unit either edge information stored in the edge information storage memory (2), image information related to the background stored in the layer image storage memory, or image information for each layer, or two or more information Is entered.
  • the image composition control unit preferably issues a command to read out such information in units of one line or block, and performs the following processing for each unit thus read out.
  • the image composition control unit analyzes the necessary information based on the input information and issues a control command to perform various arithmetic processes.
  • the fill processing unit (31) for example, based on the control command, the edge information stored in the edge information storage memory (2) and the image information about the background stored in the layer image storage memory. And any one or more of the image information for each layer and performing at least one of the overlay processing, pixel operation in units of pixels, translucent processing, and other raster operations. By using, fill processing is performed in pixel units.
  • the fill processing unit (31) includes the edge information stored in the edge information storage memory (2) and the background image information and layer information stored in the layer image storage memory. Each piece of image information or two or more pieces of information is input in units of lines or blocks, respectively.
  • the fill processing unit (31) performs pixel operations in units of pixels.
  • the obtained information is transmitted to the line memory (32) and stored.
  • the z-coordinate of each image information or an index indicating the position in the depth direction with respect to each layer is read from the layer image storage memory, and analyzed to grasp the vertical relationship of the image in pixel units. It is a preferred embodiment of the present invention to determine the fill image (color) in units.
  • the line memory (32) stores, for example, the calculation result obtained by the paint processing unit (31) based on the control command.
  • the line memory (32) is preferably stored block by block or line by line.
  • the result memory control unit (33) is used based on the information stored in the line memory (32).
  • the stored information is read for each unit and transmitted to the result memory controller (33).
  • the line memory is classified into the pixel area area fill pixel (15), vector area edge pixel (preferably antialiased edge pixel) (16), and layer image pixel (17). , Stored.
  • the result memory control unit (33) sequentially updates the stored result image information, for example, based on the control command. This update is performed in units of lines or blocks as shown in Fig. 5, for example. When the writing process is completed for all lines, the memory state shown in Fig. 2 (c) is obtained.
  • the result image storage memory [7] is a storage device for storing the images synthesized by the image synthesis unit [6].
  • the result image storage memory (7) is a frame notifier.
  • the information stored in the image storage memory (7) is read out, and is appropriately subjected to processing such as ⁇ correction according to the characteristics of the display device, etc., transmitted to the display device, and displayed as an image.
  • the result image storage memory is preferably one that stores information as stream format data. In order to store in such a stream format, the data may be returned to stream format data by the stream data generation circuit before the information is stored in the result image storage memory. Since it is stored in the information power stream format, information can be read out effectively.
  • the edge information stored in the edge information storage memory is used to fill the inside of the image defined in the vector format in the layer image storage memory.
  • the stored image information about the background and the image information for each of the plurality of layers are read out, the vector image and the image information of each of the plurality of layers are superimposed, and the transparency for each pixel stored in the edge information storage memory is obtained. Use this to perform blending calculation for each pixel, and to perform image synthesis processing in units of lines or in units of blocks based on the horizontal and vertical rasterized signal codes stored in the edge information storage memory!
  • edge information generation unit or the image composition unit includes an antialiasing processing unit such as an unchained circuit that performs antialiasing processing.
  • the uncertain processing unit uses an edge information in the certain pixel and a plurality of sampling points in the pixel to determine an area S of a portion of the pixel that is divided by the edge; One or more sampling points used for color synthesis from a plurality of sampling points in a pixel or a color selection circuit for selecting a color at the sampling point, an area S calculated by the area calculation circuit, and a color selected by the color selection circuit And an anti-aliasing circuit having a color synthesis circuit for determining the color of the pixel.
  • the image synthesizing unit includes either or both of a color space conversion processing unit and a color correction processing unit, and performs image synthesis that has been subjected to color space conversion processing or color correction processing in units of pixels. Also good. Further, the image composition unit includes a geometric operation processing unit including one or both of image rotation processing and image size adjustment processing, and performs image composition by performing rotation processing or image size adjustment processing on the layer image. It may be a thing.
  • the image composition unit includes a geometric operation processing unit including either or both of an image rotation process and an image size adjustment process, and the geometric operation processing unit includes a vertex data output device that outputs vertex data; A vertex computing device connected to the vertex data output device for performing fixed computations on vertices; a polygon computing device connected to the vertex computing device for performing fixed computations on polygons; and One or more connected to one or more of the data output device, the vertex computing device and the polygon computing device, and connected to one or two of the vertex computing device and the polygon computing device at the output destination And a general-purpose arithmetic processing unit.
  • the portable display device includes an anti-aliasing circuit that performs anti-aliasing in addition to the above-described image processing.
  • the antialiasing circuit will be described.
  • FIG. 6 is a block diagram of the anti-aliasing circuit according to the first embodiment of the present invention.
  • the antialiasing circuit (41) according to this aspect uses the edge information in the pixel and a plurality of sampling points in the pixel, and the area of the portion divided by the edge in the pixel.
  • An anti-aliasing circuit (41) comprising an area S calculated by the area calculation circuit and a color composition circuit (44) for determining the color of the pixel using the color selected by the color selection circuit.
  • 46 indicates an edge memory (or edge Z memory), and 47 indicates a color memory. Each memory and circuit are connected by a bus.
  • the area S of the portion of the pixel that is divided by the edge can be determined using edge information of the pixel and a plurality of sampling points in the pixel. Selecting one or more sampling points to be used for color synthesis from a plurality of sampling points in the pixel or a color at the sampling point, and determining the power error of the pixel by using the area S and the selected color; Can provide anti-aliasing methods in computer graphics.
  • the edge information is usually information including information on the slope and intercept of the edge, and includes any of the slope of the edge, the intercept, the start and end points, and the polygon normal in the pixel. May be.
  • Edge information is usually stored in the edge memory (46), such as CPU Edge information is read out by the control of the control device, and is input to the area calculation circuit (42) or the color selection circuit through the bus.
  • the edge memory (46) may include not only edge information but also an edge Z memory that stores Z values. If such an edge Z memory is used, even if there are multiple polygon parts on a pixel, the polygon on the foreground can be identified effectively.
  • FIG. 7 is a diagram showing an example of polygon edges and sampling points in a certain pixel.
  • Figure 7 is only an example, and sampling points other than those shown in Figure 7 may be used.
  • Reference numeral 60 indicates the center point C of the pixel which is a sampling point.
  • Reference numerals 61 to 64 denote the vertices C to C at the pixels that are sampling points.
  • Each vertex C to C is a vertex shared with adjacent pixels.
  • An edge occurs when a part of a polygon occupies a certain pixel.
  • Reference numerals 67 and 68 denote the intersections between the edges and the sides of the pixels.
  • Reference numeral 69 indicates a region including the center point of the pixel among the two regions of the pixel separated by the edge.
  • Reference numeral 70 denotes an area not including the center point of the pixel, out of the two areas of the pixel separated by the edge.
  • FIG. 8 is a diagram showing another example of polygon edges and sampling points in a certain pixel.
  • Figure 9 shows another example of polygon edges and sampling points in a pixel.
  • Figure 10 shows another example of polygon edges and sampling points in a pixel.
  • FIG. 9 there may be a plurality of edges included in a certain pixel.
  • the number of edges contained in a pixel can be easily determined by using a circuit that calculates the number of intersections between edges and pixel sides. In other words, half the number of intersections is the number of edges. Having such an edge number calculation circuit is a preferred embodiment of the present invention. For example, it is determined whether or not there are more than several powers of edges included in a pixel.
  • the pixel color is determined using the following circuits, and in the case of 0 or 2 or more, The pixel color may be determined by calculating the average of any or all of the sampling points.
  • Such a circuit for calculating the average of colors can be easily designed by appropriately using an adder circuit and a divider circuit, an adder circuit and a table.
  • Figure 10 shows As shown, there may be more than one polygon present on a pixel.
  • the area calculation circuit (42) is a circuit for determining an area S of a portion of the pixel that is divided by the edge using edge information of the pixel and a plurality of sampling points in the pixel.
  • the area S required by the area calculation circuit is, for example, the area of a region including the center point of the pixel among the two regions of the pixel divided by the edge.
  • it may be the area of the area occupied by the pixel in the part of the polygon, or the pixel occupied in the pixel of the part of the polygon. It may be the area of the area that has a smaller Z value than the other polygons (in the front direction).
  • the area of each polygon part that occupies that pixel and has a smaller Z value than the other polygons (in the front direction) is calculated.
  • the area calculation circuit there is one that calculates an area S of a portion of the pixel divided by the edge by referring to an area table storing a relationship between the edge and the area S. can give. More specifically, there is an area table that stores the relationship between the area S and the two intersections of edges and pixel edges. By using such an area table, the area S can be obtained quickly even for the two intersection forces.
  • An area table that stores the relationship between each intersection and area S may be prepared even when there are more than several powers of edges included in a pixel. However, as the number of intersections increases, the number of patterns that must be stored increases and a large amount of memory is required. Therefore, the area table is a table that stores the area S for two intersections (one edge).
  • a pixel has two edges for a certain pixel, it is easy to refer to the area table twice and subtract it with a subtraction circuit.
  • the area S of a certain polygon can be obtained.
  • the four intersections in Fig. 9 are PP.
  • the value is stored in the memory. Then, using the intersection points P and P, the area of the trapezoid P C C C P
  • the area S can be obtained using only the subtractor circuit, and is the value obtained by subtracting 1 from the sum of the two trapezoid areas. Even the area S can be obtained
  • the color selection circuit is a circuit for selecting one or a plurality of sampling points used for color synthesis from a plurality of sampling points in a pixel, or selecting a color at the sampling points.
  • the color selected in the region including the center point of the pixel among the two colors selected by the color selection circuit is Ca, and the center point of the pixel is selected from the two colors selected by the color selection circuit.
  • Cb be the color selected in the area that does not contain.
  • Examples of the color selection circuit include the following. In other words, multiple sampling points in a pixel consist of four vertices of the pixel and the center point of the pixel. The center point of the pixel is selected as the sampling point, and the color at the center point is selected as Ca. On the other hand, the average of the colors at the sampling points included in the area that does not include the center point of the pixel is selected from the two areas separated by the edge. For example, in the area indicated by 60 in Fig. 10, the sampling points included in the area that does not include the center point of the pixel are the two binding points of C binding.
  • edge information intersection information
  • the sampling point can be easily determined by using which side the intersection is on and the position information of the intersection.
  • Cb can be easily obtained by using an adder circuit and a divider circuit, an adder circuit and a 1/2 table, or an adder circuit and a 1/3 table.
  • Another example of the color selection circuit is as follows. In other words, multiple sampling points in a pixel consist of the four vertices of the pixel and the center point of the pixel, and the color at the center point of the pixel is selected as Ca.
  • the color at any sampling point included in the area not including the center point of the pixel is selected from the two areas of the pixel separated by the edge.
  • the C binding force sampling point is selected and one of the colors is selected as Cb.
  • Another example of the color selection circuit is as follows. In other words, multiple sampling points in a pixel consist of the four vertices of the pixel and the center point of the pixel. Of the two regions of the pixel separated by the edge, any sampling point included in the region including the center point of the pixel is included. A color at a point and a color at an arbitrary sampling point included in an area not including the center point of the pixel are selected from two areas of the pixel separated by the edge. In the case shown in Fig. 7, C
  • Another example of the color selection circuit is as follows. That is, a plurality of sampling points in the pixel are composed of the four vertexes of the pixel and the center point of the pixel, and the sampling point included in the region including the center point of the pixel among the two regions of the pixel separated by the edge. Select the average of the colors at the points and the average of the colors at the sampling points included in the area, not including the center point of the pixel, of the two areas of the pixel separated by the edge Is.
  • Another example of the color selection circuit is as follows. That is, by selecting an arbitrary point occupied by the polygon in the pixel and an arbitrary point not occupied by the polygon among the sampling points from the edge information, the two sampling points in the pixel are used for color synthesis. The sampling point is selected, or the color at the sampling point is selected by selecting the color at the former point and the latter point.
  • the color synthesis circuit is a circuit for determining the color of the pixel using the area S calculated by the area calculation circuit and the color selected by the color selection circuit.
  • the area of a pixel is 1 and the area S calculated by the area calculation circuit is the area of a region including the center point of the pixel among the two regions of the pixel separated by the edge.
  • the color selected by V is Ca
  • the pixel of the two colors selected by the color selection circuit is Ca.
  • the color of the pixel can be determined by calculating Ca XS + Cb (l -S) where Cb is the color selected in the area not including the center point.
  • the area of a pixel is 1, and the area S calculated by the area calculation circuit is the center point of the pixel of two regions of the pixel separated by the edge.
  • the area selected from the two colors selected by the color selection circuit is the color selected in the area including the center point of the pixel, and the pixel of the two colors selected by the color selection circuit is
  • the multiplier circuit calculates S and Ca.
  • the area of the pixel is 1, and the area S calculated by the area calculation circuit is the area of the area including the center point of the pixel, out of the two areas of the pixel separated by the edge, Of the two colors selected by the color selection circuit, the color selected by the region including the center point of the pixel is defined as, and the center point of the pixel is selected from the two colors selected by the color selection circuit.
  • SX (Ca-Cb) + Cb can be obtained using a multiplier circuit, an adder circuit, etc. .
  • the adder calculates the value of Ca-Cb, and the multiplier
  • the area calculation circuit (42) determines the area S of the portion of the pixel that is divided by the edge, using the edge information in the pixel and a plurality of sampling points in the pixel.
  • the area calculation circuit determines the area S
  • an area table storing the relationship between the intersection point included in the edge information and the area S
  • One that calculates the area S can be mentioned. In this way, the area S is obtained.
  • the obtained area S is input to the color synthesis circuit (44) through the bus.
  • the color selection circuit selects one or a plurality of sampling points used for color synthesis from a plurality of sampling points in a certain pixel, or selects a color in the sampling point.
  • the center point of a certain pixel is selected as the sampling point, and the color at that center point is selected as Ca.
  • the color information of each sampling point is stored in the color memory (47), and the color information at each sampling point can be obtained by reading the stored color information.
  • the average of the colors at the sampling points included in the area that does not include the center point of the pixel is selected from the two areas of the pixel that are separated by the edge. In this way, the colors Ca and Cb used for color synthesis are determined.
  • the determined colors Ca and Cb are input to the color synthesis circuit (44) through the bus.
  • the color composition circuit determines the color of the pixel using the area S calculated by the area calculation circuit and the color selected by the color selection circuit.
  • the area of the pixel is 1, and the area S calculated by the area calculation circuit is the area of the area including the center point of the pixel among the two areas of the pixel divided by the edge.
  • the area that includes the center point of the pixel is Ca, and the selected color is Ca.
  • the color of the pixel is determined by obtaining Cb) + Cb).
  • FIG. 11 is a block diagram of an anti-aliasing circuit different from the above.
  • the antialiasing circuit (41) according to this aspect includes an area type determination circuit (45) for determining an area type in which an edge information power pixel is divided, and the edge information or the edge information. Using the information and area type information, an area calculation circuit (42) for determining the area S of the portion divided by the edge of the pixel, and a color composition from a plurality of sampling points in the pixel 1 or The color selection circuit (43) for selecting a plurality of sampling points or colors at the sampling points, the area S calculated by the area calculation circuit, and the color selected by the color selection circuit are used to calculate the color of the pixel.
  • the present invention relates to an anti-aliasing circuit (41) having a color composition circuit (44) for determining.
  • 46 indicates an edge memory (or edge Z memory), and 47 indicates a color memory.
  • Each memory and circuit are connected by a bus.
  • the edge information power also determines the area type in which the pixel is divided, and uses the edge information or the edge information and the area type information to determine the edge type. Since the area S of the part to be divided can be determined, one or more sampling points used for color synthesis or a color at the sampling point is selected from a plurality of sampling points in the pixel, and the area S and the selected color are selected. Can be used to provide an anti-aliasing method in computer graphics that determines the color of the pixel.
  • the edge information is usually information including information on the slope and intercept of the edge, and includes any of the slope of the edge, the intercept, the start and end points, and the polygon normal in the pixel. May be.
  • the edge information is usually stored in the edge memory (46), read out by control by a control device such as a CPU, etc., and input to the area calculation circuit (42) or the color selection circuit (43) through the bus.
  • the edge memory (46) includes not only edge information but also an edge Z memory for storing Z values. With such an edge Z memory, a pixel with multiple polygon parts Even if it exists, the polygon on the foreground can be effectively distinguished.
  • edge number calculating circuit it is determined whether or not the number of edges included in a pixel is two or more.
  • the color of the pixel is determined using the following circuits, and in the case of zero or two or more, The pixel color may be determined by calculating the average of any or all of the sampling points.
  • Such a circuit for calculating the average of colors can be easily designed by using an adder circuit and a divider circuit, an adder circuit and a table as appropriate.
  • the area type determination circuit (45) is a circuit for determining the area type where the edge information power pixel is divided.
  • a specific area type determination circuit (45) refer to an area type memory (area type table) that stores the relationship between the intersection information and the area type using the intersection information between the edge and the pixel side. Determines the area type.
  • Area types include hexagons (eg Fig. 9), pentagons (eg Fig. 8), rectangles and triangles.
  • Another area type includes a hexagon, a pentagon, a quadrangle, and a triangle.
  • the quadrangle includes a quadrangle in which four intersections of the pixel and the polygon exist on opposite sides of the pixel, the pixel, and the triangle.
  • the four intersections of polygons include a quadrangle that exists on adjacent sides of the pixel, and the triangle includes a triangle in which three intersections of the pixel and the polygon exist on opposite sides of the pixel;
  • a pixel and a triangle include three triangles that exist on adjacent sides of the pixel. In this way, the area can be easily obtained because it is classified by area type.
  • the area type determination circuit (45) determines an area type by referring to an area type association table in which information indicating which side the intersection is on and the area type are stored in association with each other. Moyo.
  • the area calculation circuit (42) uses the edge information in the pixel and a plurality of sampling points in the pixel to divide the pixel by the edge. This is a circuit for determining the area s of minutes.
  • the area S required by the area calculation circuit is, for example, the area of a region including the center point of the pixel among the two regions of the pixel divided by the edge.
  • it may be the area of the area occupied by the pixel in the part of the polygon, or the pixel occupied in the pixel of the part of the polygon. It may be the area of the area that has a smaller Z value than the other polygons (in the front direction).
  • the area of each polygon part that occupies that pixel and has a smaller Z value than the other polygons (in the front direction) is calculated.
  • an area S of a portion of the pixel divided by the edge is calculated by referring to an area table storing the relationship between the edge and the area S.
  • an area table storing the relationship between the edge and the area S.
  • An area table that stores the relationship between each intersection and area S may be prepared even when there are more than several powers of edges included in a pixel.
  • the area table is a table that stores the area S for two intersections (one edge).
  • the area S of the polygon occupied in a pixel can be easily calculated by referring to the area table twice and subtracting it with a subtraction circuit. Can be sought. Let the four intersections in Fig. 9 be P to P.
  • the area S can be obtained by using only the subtractor circuit, and the value obtained by subtracting 1 from the sum of the areas of the two trapezoids is used.
  • the area S can also be obtained using a circuit.
  • an area calculation method is determined according to the area type determined by the area type determination circuit, and an area table storing the relationship between the edge and the area S is referred to.
  • One of the pixels that calculates the area S of the portion divided by the edge is mentioned.
  • the area calculation circuit uses the area type determined by the area type determination circuit and the edge information, selects a different area calculation circuit for each area type, and selects the edge information. And determining the area S of the portion divided by the edge of the pixel by inputting the vertex value information included in the pixel and the intersection information of the pixel and the polygon to the selected area calculation circuit. It is done.
  • the area calculation circuit uses the area type determined by the area type determination circuit and the edge information, selects a different area table for each area type, and selects the pixel and the area Examples include determining the area S of the portion of the pixel divided by the edge by inputting polygon intersection information into the selected area table.
  • the color selection circuit is a circuit for selecting one or a plurality of sampling points used for color synthesis from a plurality of sampling points in a pixel, or selecting a color at the sampling points.
  • the color selected in the region including the center point of the pixel among the two colors selected by the color selection circuit is Ca, and the center point of the pixel is selected from the two colors selected by the color selection circuit.
  • Cb be the color selected in the area that does not contain.
  • Examples of the color selection circuit include the following. That is, a plurality of sampling points in a pixel are composed of the four vertexes of the pixel and the center point of the pixel. select. On the other hand, the average of the colors at the sampling points included in the area that does not include the center point of the pixel is selected from the two areas separated by the edge. For example, in the area indicated by 60 in Fig. 10, the sampling points included in the area that does not include the center point of the pixel are the two binding points of C binding.
  • edge information intersection information
  • the sampling point can be easily determined by using which side the intersection is on and the position information of the intersection.
  • Cb can be easily obtained by using an adder circuit and a divider circuit, an adder circuit and a 1/2 table, or an adder circuit and a 1/3 table.
  • Another example of the color selection circuit is as follows. In other words, multiple sampling points in a pixel consist of the four vertices of the pixel and the center point of the pixel, and the color at the center point of the pixel is selected as Ca. On the other hand, the color at any sampling point included in the area not including the center point of the pixel is selected from the two areas of the pixel separated by the edge. For example, in the case shown in Fig. 7, the C binding force sampling point is selected and one of the colors is selected as Cb.
  • Another example of the color selection circuit is as follows. In other words, multiple sampling points in a pixel consist of the four vertices of the pixel and the center point of the pixel. Of the two regions of the pixel separated by the edge, any sampling point included in the region including the center point of the pixel is included. A color at a point and a color at an arbitrary sampling point included in an area not including the center point of the pixel are selected from two areas of the pixel separated by the edge. In the case shown in Fig. 7, C
  • Another example of the color selection circuit is as follows. That is, a plurality of sampling points in the pixel are composed of the four vertexes of the pixel and the center point of the pixel, and the region including the center point of the pixel among the two regions of the pixel separated by the edge. The average color at the sampling points included in the area, which does not include the center point of the pixel, of the two areas of the pixels separated by the edge and the average of the colors at the sampling points included in the area The one to choose.
  • Another example of the color selection circuit is as follows. That is, by selecting an arbitrary point occupied by the polygon in the pixel and an arbitrary point not occupied by the polygon among the sampling points from the edge information, the two sampling points in the pixel are used for color synthesis. The sampling point is selected, or the color at the sampling point is selected by selecting the color at the former point and the latter point.
  • the color synthesis circuit is a circuit for determining the color of the pixel using the area S calculated by the area calculation circuit and the color selected by the color selection circuit.
  • the area of a pixel is 1 and the area S calculated by the area calculation circuit is the area of a region including the center point of the pixel among the two regions of the pixel separated by the edge.
  • the color selected by V is Ca
  • the pixel of the two colors selected by the color selection circuit is Ca.
  • the color of the pixel can be determined by calculating Ca XS + Cb (l -S) where Cb is the color selected in the area not including the center point.
  • the area of a pixel is 1, and the area S calculated by the area calculation circuit is the center point of the pixel of the two regions separated by the edge.
  • the area selected from the two colors selected by the color selection circuit is the color selected in the area including the center point of the pixel, and the pixel of the two colors selected by the color selection circuit is
  • the multiplier circuit calculates S and Ca.
  • Multiply SX Ca to find the value of (1 S) in the divider circuit or [1-S table], the multiplier circuit to find (1 S) X Cb, and the adder circuit to SX Ca and (1 S) X Cb To determine SX Ca + (l S) X Cb and determine the color of the pixel. It is below. [0105] [Operation example]
  • Read edge information of a polygon or edge information and Z value from edge memory 46 is input to the area type determination circuit (45), the area calculation circuit (42), and the color selection circuit (43) through the bus.
  • the area type determination circuit (45) also determines the area type for the edge information power. For example, the area type is determined by referring to the area type memory (area type table) that stores the relationship between the intersection point information and the area type using the intersection point information between the edge and the pixel side. The obtained area type information is input to the area calculation circuit via the bus. In addition, the obtained area type information is input to the color selection circuit through a nose.
  • area type memory area type table
  • the area calculation circuit (42) uses the edge information in the pixel, a plurality of sampling points in the pixel, and the Z or area type information to identify a portion divided by the edge. Determine the area S.
  • the area calculation circuit obtains the area S by referring to an area table storing the relationship between the intersection point included in the edge information and the area S, so that the part of the pixel divided by the edge is referred to.
  • This area table may be provided for each area type, an area table corresponding to the area type may be selected, and the area S may be obtained by referring to the intersection information in the selected table. In this way, the area S is obtained.
  • the obtained area S is input to the color synthesis circuit (44) through the bus.
  • the color selection circuit selects one or a plurality of sampling points to be used for color synthesis from a plurality of sampling points at a certain pixel, or selects a color at the sampling point.
  • the color information at each sampling point is stored in the color memory (47), and the color information at each sampling point can be obtained by reading the stored color information.
  • the center point of a pixel is selected as the sampling point, and the color at that center point is selected as Ca.
  • the center point of the pixel is not included! / Select the average color at the sampling point.
  • the colors Ca and Cb used for color synthesis are determined.
  • the determined colors Ca and Cb are input to the color synthesis circuit (44) through the bus.
  • the color composition circuit determines the color of the pixel using the area S calculated by the area calculation circuit and the color selected by the color selection circuit.
  • the area of the pixel is 1, and the area S calculated by the area calculation circuit is the area of the area including the center point of the pixel among the two areas of the pixel divided by the edge.
  • the area including the center point of the pixel is Ca, and the selected color is Ca, and the center point of the pixel is selected from the two colors selected by the color selection circuit.
  • the color of the pixel is determined by calculating Ca XS + Cb (l-S), where Cb is the color selected in the region that does not contain.
  • the computer determines the area S of the portion of the pixel that is divided by the edge using edge information of the pixel and a plurality of sampling points in the pixel.
  • a calculation means a color selection means for selecting one or more sampling points or a color at the sampling point used for color synthesis from a plurality of sampling points in the pixel, an area S calculated by the area calculation means, and the color
  • an anti-aliasing program that functions to include a color composition unit that determines the color of the pixel using the color selected by the selection unit.
  • the computer uses an area type determination means for determining an area type in which pixels are divided as well as edge information, and the edge information or the edge information and area type information.
  • the area calculation means for determining the area S of the portion of the pixel divided by the edge, and one or more sampling points used for color synthesis or the color at the sampling point is selected from a plurality of sampling points in the pixel Color selection means to perform, the area S calculated by the area calculation means,
  • There is an antialiasing program that functions as a color composition unit that determines the color of the pixel using the color selected by the color selection unit.
  • a computer in which these programs are used is, for example, a main memory storing a program that causes the computer to function as each of the above means, an input device for inputting information, and for outputting information to the outside of the device.
  • Output devices storage devices such as databases that store information temporarily or semi-permanently, and a central processing unit (CPU) that performs various arithmetic processes.
  • the CPU, etc. only receives instructions from the control program (anti-alias program) in the main memory and instructs it to operate to implement these means.
  • FIG. 12 is a flowchart for explaining an example of the filling process in the present invention.
  • S indicates a step.
  • the painting process is explained in detail according to Fig. 12.
  • the maximum layer image width of these compositing target images is set to the variable TotalX (S101).
  • the variable State indicating the status is initialized (S102).
  • PreEdgelnfo pre-edge information
  • S103 Two or all of the steps S101 to S103 are preferably performed simultaneously or in parallel. This completes the preprocessing.
  • the block loop step (S104) starts.
  • the minimum width image is obtained from each layer (step S105).
  • the processing is performed in units of blocks defined by CurrentWidth (current width (minimum width in the current situation)), which is the minimum width variable obtained in step S105, and at the same time, CurrentWidth is subtracted from variable TotalX. Keep the unprocessed horizontal width and update the block width.
  • the y-direction loop step (S107) advances the process in the vertical direction, and after the layer loop step (S108), the drawing target layer determination step is performed.
  • step S124 the layer image and the vector image are determined.
  • the presence or absence of edges generated in the edge information generation unit (4) in the vector image edge information determination step after the vector image X-direction loop step (S109)
  • the presence / absence of an edge is determined using the 2-bit edge information variable Ed gelnfo that holds the y-direction code of the edge (S110). If the target pixel has edge information, the V, value stored in PreEdgelnfo, which is the previously found edge information information memory, and the current edge information are compared (difference determination step from previous edge: S 111 ). In S111, it is determined whether it is different from the previous edge information. If the result is different, the previous edge information variable information stored in PreEdgelnfo is updated at the edge information update step (S112). , Control of enabling / disabling of the filled area is performed by performing the inversion operation of the status variable State.
  • the status variable State is 1, it is defined as a filled area, and if it is 0, it is defined as a non-filled area.
  • a branch is made, and if it is a filled area Reads the background image data from the line memory when the vector image is filled (S115). Then, the image data is read and the vector image and the background image are blended when the vector image is painted (S116).
  • S116 for example, a 4-bit variable EdgeAlpha indicating the transparency of the target pixel is used to perform a blending operation, and the vector image result when the vector image is filled is stored in the line memory (S117). In S117, the combined result pixel data is stored in the line memory.
  • a branch is made. If the area is V or an area that is not filled, the edge transparency is determined without filling the vector image ( S119). In S119, if the 4-bit variable EdgeAlpha indicating the transparency of the target pixel is not Oxf, that is, if it is semi-transparent, the background image data is read from the line memory when the vector image is not filled (S120). Then, the image data is read, and the vector image and background image are blended without filling the vector image (S121). In S121, a 4-bit variable EdgeAlpha indicating the transparency of the target pixel is used to perform a blending operation, and the vector image result when the vector image is not filled is stored in the line memory (S122).
  • synthesis to line memory Stores the pixel data.
  • the 4-bit variable Edge Alpha indicating the transparency of the target pixel is Oxf, that is, if it is not transparent, the blending operation is not performed and the vector image is not filled.
  • the combined result pixel data to the line memory is stored.
  • the target image to be synthesized is a layer image power (S124). If it is a layered image, the horizontal image is processed by the processing after the layer image X-direction loop step (S125).
  • the edge image transparency at the target pixel position is determined in the edge transparency determination step (S126) when rendering the layer image.
  • the image generation apparatus of the present invention basically has hardware, or hardware and software. It is implemented in cooperation with.
  • a computer can be used as an edge information storage memory for storing polygon edge information at a certain pixel, and as a vector data storage memory for storing polygonal shape data in vector format.
  • an edge information generation unit for performing rasterization processing based on the polygon shape data stored in the vector data storage memory, and writing polygon edge information as a rasterization result to the edge information storage memory Defined as a vector format, using at least the image information relating to the background and the layer image storage memory for storing image information for each of the plurality of layers, and the edge information stored in the edge information storage memory.
  • the layer image When painting the inside of the image, the layer image case
  • the image information related to the background and the image information for each layer stored in the memory are read out, the image in the vector format and the image information for each layer are superimposed, and the image processing operation in units of pixels is performed to synthesize the images in units of pixels.
  • Each of these means functions in the same way as described above, so the above description shall apply mutatis mutandis here.
  • the present invention can also provide a recording medium storing the above-mentioned program and readable by a computer.
  • recording media include CD-ROMs, DVDs, hard disks, or memory in computers.
  • the program is read in response to a command from the control unit, and the arithmetic unit that receives the command from the control unit is input using the read program.
  • Data, data stored in the storage unit, etc. are read, for example, the memory of the storage unit is used as a work area, and predetermined calculations are performed. For example, the calculation results are temporarily stored in the memory and then output from the output section. These data may be transmitted through a bus, for example. In this way, hardware resources and programs work together.
  • FIG. 13 is a block diagram showing an embodiment (computer) of the present invention.
  • This embodiment is a computer graphics computer (such as a graphics computer).
  • the computer 101 includes a central processing unit (CPU) 102, a geometry calculation unit such as a geometry calculation circuit 103, a rendering unit such as a renderer 104, a texture generation unit such as a texture generation circuit 105, and an illumination.
  • An illumination processing unit such as a processing circuit 107, a display information creation unit such as a display circuit 108, a frame buffer 109, and a monitor 110 are provided. These elements are connected by means of a nose and can transmit data to each other.
  • the storage unit may be composed of RAM such as VRAM, CR-ROM, DVD, hard disk, etc.
  • the central processing unit (CPU) 102 is a device for controlling a program for generating an image.
  • the work memory 111 may store data used by the CPU 102, a display list, and the like.
  • the CPU 102 may read a program stored in the main memory and perform predetermined processing. However, the predetermined processing may be performed only by hardware processing.
  • the CPU 102 reads polygon data as world coordinate three-dimensional object data from the work memory 111 and outputs the polygon data to the geometry calculation circuit 103.
  • Specific examples include a main processor, a coprocessor, a data processor, four arithmetic circuits, or a general-purpose arithmetic circuit. These are connected by a bus, etc., so that signals can be exchanged.
  • a data decompression processor for decompressing compressed information may be provided.
  • the geometry calculation circuit 103 is a circuit for performing, for example, coordinate conversion on the input polygon data to data in the viewpoint coordinate system with the viewpoint as the origin.
  • the geometry calculation circuit 103 outputs the processed polygon data to the renderer 104.
  • Specific geometry operation circuits include a geometry processor, coprocessor, data processor, four arithmetic operation circuit, or general-purpose operation circuit connected to the main processor via a bus.
  • the renderer 104 is a circuit or device for converting polygon unit data into pixel unit data.
  • the renderer 104 outputs the pixel unit data to the texture generation circuit 105.
  • the texture generation circuit 105 is a circuit for generating a texture color in units of pixels based on the texture data stored in the texture memory 112.
  • the texture generation circuit 105 outputs pixel unit data having texture color information to the illumination processing circuit 107.
  • Specific examples of the texture generation circuit 105 include a data processing processor, four arithmetic operation circuits, or a general-purpose operation circuit connected to the main processor through a bus.
  • the illumination processing circuit 107 is a circuit for performing shading on the polygon having texture color information by using a normal vector, barycentric coordinates, etc. in pixel units.
  • the illumination processing circuit 107 outputs the shaded image data to the display circuit 108.
  • Specific examples of the illumination processing circuit 107 include a data processing processor, four arithmetic operation circuits, and a general-purpose operation circuit connected to the main processor through a bus. Then, the information on the light, such as a table stored in the memory, can be read and shaded as appropriate.
  • the display circuit 108 writes the image data input from the illumination processing circuit 107 into the frame buffer 109, reads out the image data written into the frame buffer 109, and controls it to obtain display image information. Circuit.
  • the display circuit 108 outputs display image information to the monitor 110.
  • Specific display circuits include a drawing processor, a data processor, four arithmetic operation circuits, or a general-purpose operation circuit connected to the main processor via a bus.
  • the monitor 110 is a device for displaying a computer graphics image according to input display image information.
  • the computer of the present invention includes the image generation device of the present invention as a renderer, texture generation circuit, and display device, the scale of hardware can be reduced by sharing the circuit elements in these.
  • the geometry part by applying the geometry part to 2D vector images, geometry conversion for 2D vector images is possible, and shape transformation and enlargement / reduction by matrix operations can be performed without adding dedicated hardware or software operations. Can be done on images.
  • 2D and 3D which have been treated as separate objects in the past It is possible to handle display commands in a centralized manner, and since these 2DZ3D images can be combined at the same time, it is possible to effectively prevent system complications.
  • the CPU 102 reads the polygon data from the work memory 111 and outputs the polygon data to the geometry calculation circuit 103.
  • the geometry calculation circuit 103 performs processing such as coordinate conversion of the input polygon data to data in a viewpoint coordinate system with the viewpoint as the origin.
  • the geometry calculation circuit 103 outputs the processed polygon data to the renderer 104.
  • the renderer 104 converts polygon data into pixel data.
  • the renderer 104 and the texture generation circuit 105 generate a texture color for each pixel based on the texture data stored in the texture memory 112.
  • the texture generation circuit 105 outputs pixel unit data having texture color information to the illumination processing circuit 107.
  • Illumination processing circuit 107 shades polygons with texture color information using normal vectors and barycentric coordinates in pixel units.
  • the illumination processing circuit 107 outputs the shaded image data to the display circuit 108.
  • the display circuit 108 writes the image data input from the illumination processing circuit 107 to the frame buffer 109 and reads the image data written to the frame buffer 109 to obtain display image information.
  • 2D / 3D synthesis processing can be performed by using information such as edge notifier.
  • the display circuit 108 outputs display image information to the monitor 110.
  • the monitor 110 displays a computer graphics image according to the input display image information.
  • the computer of the present invention includes the image generation apparatus of the present invention as a renderer, a texture generation circuit, and a display device, the scale of hardware can be reduced by sharing the circuit elements in these.
  • the geometry part by applying the geometry part to 2D vector images, geometry conversion for 2D vector images is possible, and shape transformation and enlargement / reduction by matrix operations can be performed without adding dedicated hardware or software operations. Can be done on images.
  • 2D vectors and 3D display commands that have been treated as separate objects can be handled in a unified manner, and these 2DZ3D and vector Since image synthesis can be performed at the same time, it is possible to effectively prevent the system from becoming complicated.
  • FIG. 14 is a block diagram of an embodiment (game machine) according to the present invention.
  • the embodiment represented by this block diagram can be suitably used as a portable, home or business game machine. Therefore, in the following, it will be described as a game machine.
  • the game machine shown in FIG. 5 may include at least the processing unit 200 (or may include the processing unit 200 and the storage unit 270, or the processing unit 200, the storage unit 270, and the information storage medium 280).
  • Other blocks for example, the operation unit 260, the display unit 290, the sound output unit 292, the portable information storage device 294, and the communication unit 296) can be optional components.
  • the processing unit 200 performs various processes such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, and sound processing.
  • the functions of the processing unit 200 can be realized by a hard program such as various processors (CPU, DSP, etc.) or ASIC (gate array, etc.) or a given program (game program).
  • the operation unit 260 is used by the player to input operation data.
  • the function of the operation unit 260 can be realized by, for example, a controller equipped with a lever, a button, an outer frame, and nodeware.
  • the operation unit 260 may be formed integrally with the game machine body. Processing information from the controller is transmitted to the main processor via a serial interface (I / F) or bus.
  • I / F serial interface
  • the storage unit 270 is a work area such as the processing unit 200 or the communication unit 296. In addition, programs and various tables may be stored.
  • the storage unit 270 may include, for example, a main memory 272, a frame buffer 274, and a texture storage unit 276, and may store various tables.
  • the functions of the storage unit 270 can be realized by hard disks such as ROM and RAM.
  • RAM examples include VRAM, DRAM, and SRAM, which can be selected appropriately according to the application.
  • VRAM that constitutes the frame buffer 274 is used as a work area for various processors.
  • Information storage medium (storage medium usable by computer) 280 is a program It stores information such as data.
  • the information storage medium 280 can be sold as a so-called game cassette.
  • the functions of the information storage medium 280 can be realized by hardware such as an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, a hard disk, a magnetic tape, or a memory (ROM).
  • the processing unit 200 performs various processes based on the information stored in the information storage medium 280.
  • the information storage medium 280 stores information (program or program and data) for executing the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 200). Note that the information storage medium 280 is not necessarily required when information such as program data is stored in the storage unit.
  • Part or all of the information stored in the information storage medium 280 is transferred to the storage unit 270, for example, when the system is powered on.
  • a program code for performing predetermined processing, image data, sound data, shape data of display objects, table data, list data, and processing of the present invention are instructed.
  • the display unit 290 outputs the image generated by this embodiment, and its functions are CRT (CRT), LCD (Liquid Crystal), OEL (Organic Electroluminescent Device), PDP (Plasma Display Panel). ) Or HMD (Head Mounted Display) hardware.
  • CRT CRT
  • LCD Liquid Crystal
  • OEL Organic Electroluminescent Device
  • PDP Plasma Display Panel
  • HMD Head Mounted Display
  • the sound output unit 292 outputs sound.
  • the functions of the sound output unit 292 can be realized by hardware such as speakers. Sound output is processed by a sound processor connected to the main processor via a bus, for example, and output from a sound output unit such as a speaker.
  • the portable information storage device 294 stores player personal data, save data, and the like.
  • Examples of the portable information storage device 294 include a memory card and a portable game device.
  • the functions of the portable information storage device 294 can be achieved by known storage means such as a memory card, a flash memory, a hard disk, and a USB memory.
  • the communication unit 296 is an arbitrary unit that performs various controls for communicating with the outside (for example, a host device or other image generation system).
  • the functions of the communication unit 296 can be realized by hardware such as various processors or communication ASICs, and programs.
  • the program or data for executing the game machine should be distributed to the information storage medium 280 via the information storage medium power network and communication unit 296 of the host device (server).
  • the processing unit 200 includes a game processing unit 220, an image processing unit 230, and a sound processing unit 250.
  • a main processor include a main processor, coprocessor, geometry processor, drawing processor, data processor, four arithmetic circuit, or general-purpose arithmetic circuit. These are appropriately connected by a bus or the like so that signals can be exchanged.
  • a data decompression processor may also be provided to decompress the compressed information.
  • the game processing unit 220 receives a coin (price) acceptance processing, various mode setting processing, game progress processing, selection screen setting processing, object position and rotation angle (around the X, Y or Z axis).
  • Rotation angle) processing object movement processing (motion processing), viewpoint position (virtual camera position) and line-of-sight angle (virtual camera rotation angle) processing, map objects, and other objects into the object space
  • Various operations such as placement processing, hit check processing, processing for calculating game results (results, results), processing for multiple players to play in a common game space, or game over processing This is based on operation data from 260, personal data from portable information storage device 294, stored data, and game programs.
  • the image processing unit 230 performs various types of image processing in accordance with instructions from the game processing unit 220 and the like.
  • the sound processing unit 250 performs various sound processing in accordance with instructions from the game processing unit 220.
  • All of the functions of the game processing unit 220, the image processing unit 230, and the sound processing unit 250 may be realized by a hard ware, or all of them may be realized by a program. Or it may be realized by both hardware and program.
  • Examples of the image processing unit 230 include a geometry calculation unit 2 32 (three-dimensional coordinate calculation unit) and a drawing unit 240 (rendering unit).
  • the geometry computation unit 232 performs various geometry computations (three-dimensional coordinate computation) such as coordinate transformation, clipping processing, perspective transformation, or light source computation. Then, the object data (after the perspective transformation) after the geometry processing (object vertex coordinates, vertex texture coordinates, luminance data, etc.) is stored in the main memory 272 of the storage unit 270 and saved, for example.
  • the drawing unit 240 draws an object in the frame buffer 274 based on the object data after the geometry calculation (after perspective transformation) and the texture stored in the texture storage unit 276.
  • Examples of the drawing unit 240 include a texture mapping unit 242, and a shading processing unit 244. Specifically, it can be implemented by a drawing processor.
  • the rendering processor is connected to the texture storage unit, various tables, frame buffers, VRAM, etc. via a bus, and is further connected to the display.
  • the texture mapping unit 242 reads the environment texture from the texture storage unit 276, and maps the read environment texture to the object.
  • the shading processing unit 244 performs a shading process on the object.
  • the geometry processing unit 232 performs light source calculation and obtains the luminance (RGB) of each vertex of the object based on the light source information for shading processing, the lighting model, and the normal vector of each vertex of the object. .
  • the shading processing unit 244 obtains the luminance of each dot on the primitive surface (polygon, curved surface) by, for example, honshading or Gouraud shading.
  • the geometry calculation unit 232 includes a normal vector processing unit 234.
  • the normal vector processing unit 234 performs a process of rotating the normal vector of each vertex of the object (in a broad sense, the normal vector of the surface of the object) by a rotation matrix to the local coordinate system force world coordinate system. May be.
  • the game machine of the present invention includes the image generation device of the present invention in the image processing unit.
  • circuit elements can be shared and the control destination from the game processing unit 220 can be unified with respect to image processing, and the processing unit for vector '2D' and 3D image processing can be unified. Therefore, it is possible to avoid complicated control and reduce the complexity of the system. If the configuration of the game machine is used as appropriate, a device that can function as an image display device in a slot machine, a pachinko gaming machine, or the like can be obtained.
  • the data is stored in the main memory 272, and various data are stored in the texture storage unit 276 or a table (not shown).
  • the operation information from the operation unit 260 is transmitted to the processing unit 200 via, for example, a serial interface or bus (not shown), and sound processing and various image processing are performed.
  • the sound information processed by the sound processing unit 250 is transmitted to the sound output unit 292 via the bus and released as sound.
  • save information stored in the portable information storage device 194 such as a memory card is transmitted to the processing unit 200 via a serial interface or bus (not shown), and predetermined data is read from the storage unit 170.
  • the image processing unit 230 performs various types of image processing in accordance with instructions from the game processing unit 220 and the like.
  • the geometry calculation unit 232 performs various geometry calculations (three-dimensional coordinate calculation) such as coordinate conversion, clipping processing, perspective conversion, or light source calculation.
  • the object data (after the perspective transformation) after the geometry processing is stored in the main memory 272 of the storage unit 270, for example.
  • the rendering unit 240 renders the object in the frame buffer 274 based on the object data after the geometry calculation (after perspective transformation) and the texture stored in the texture storage unit 276.
  • the information stored in the frame buffer 274 is transmitted to the display unit 290 via the bus and is drawn. In this way, it functions as a game machine with computer graphics.
  • the game machine of the present invention includes the image generation device of the present invention in the image processing unit, the hardware scale can be reduced by sharing circuit elements and the like, and the vector '2D' 3D image processing can be performed.
  • the management unit By unifying the management unit, it is possible to prevent a situation where the system is complicated, thereby reducing unnecessary hardware control processing.
  • the development / manufacturing cost and power consumption can be reduced, so it is particularly suitable for portable game machines.
  • FIG. 15 is a block diagram of an embodiment of the present invention (a mobile phone with a computer graphic function).
  • the embodiment shown in this block diagram is a mobile phone with a 3D computer darling function, particularly a mobile phone with a game function and a navigation function. It can be suitably used as a supplementary phone.
  • this mobile phone has a control unit 221 and a memory unit that stores programs and image data for the control unit 221 and serves as a work area such as a control unit and a communication unit.
  • wireless communication function unit 223 for wireless communication imaging unit 224, which is an optional element such as a CCD camera that captures still images and videos and converts them to digital signals, and displays images and characters
  • Display unit 225 such as LCD
  • audio input unit 227 such as a microphone for voice calls
  • audio output for outputting sounds
  • a battery 229 for operating the mobile phone terminal
  • a power source unit 230 that stabilizes and distributes battery 229 to each functional unit.
  • the control unit 201 performs various processes such as control of the entire mobile phone system, instruction to each block in the system, game processing, image processing, and sound processing.
  • the functions of the control unit 221 can be realized by hardware such as various processors (CPU, DSP, etc.) or ASIC (gate array, etc.) and a given program (game program).
  • control unit includes an image processing unit (not shown), and the image processing unit includes a geometry calculation unit such as a geometry calculation circuit and a drawing unit (renderer). Furthermore, a texture generation circuit, an illumination processing circuit, or a display circuit may be provided. Furthermore, the drawing processing circuit in the computer or game machine described above may be provided as appropriate.
  • the mobile phone of the present invention includes the image generation device of the present invention as a geometry calculation unit and a drawing unit included in the control unit, the hardware scale can be reduced by sharing circuit elements and the like. By unifying the vector 2D and 3D image processing units, it is possible to prevent the system from becoming complicated, thereby reducing unnecessary hardware and control processing. As described above, since development and manufacturing costs and power consumption can be reduced, it is suitably used for small-sized telephones such as mobile phones.
  • the voice input to the voice input unit 227 is converted into digital information by the interface, subjected to predetermined processing by the control unit 221, and output as a radio signal from the wireless communication function unit 223.
  • the wireless communication function unit 223 receives the wireless signal, undergoes a predetermined conversion process, and then is output from the audio output unit 228 under the control of the control unit 221.
  • the operation and processing for processing an image are basically the same as the operation and processing in the above-described computer game machine.
  • a geometry processor or the like is operated based on a command from the image processing unit in the control unit 221 to a work area such as a RAM, Geometry calculation is performed using various tables as appropriate.
  • the renderer of the control unit 221 performs rendering processing based on the command of the image processing unit in the control unit 221.
  • the mobile phone of the present invention includes the image generation apparatus of the present invention as a geometry calculation unit and a drawing unit included in the control unit, the hardware scale can be reduced by sharing circuit elements and the like. Since the system can be prevented from becoming complicated, it is suitable for small-scale telephones such as mobile phones.
  • FIG. 16 is a block diagram of an embodiment (navigation system) of the present invention.
  • the embodiment represented by this block diagram can be suitably used particularly as car navigation with a three-dimensional computer graphic function.
  • this navigation system includes a GPS unit 241, an autonomous positioning unit 242 as an optional element, a map storage unit 243, a control unit 244, a display unit 245, and a map as an optional element. And a matching unit 246.
  • the GPS unit 241 is a GPS unit that includes a GPS receiver and obtains positioning data of a vehicle by simultaneously receiving radio waves of multiple GPS satellite forces.
  • the GPS unit 241 obtains the absolute position of the vehicle from the data received by the GPS receiver.
  • This positioning data includes vehicle direction information and elevation angle information in addition to the vehicle position information. .
  • the autonomous positioning unit 242 includes an autonomous sensor and is an autonomous positioning unit that calculates the travel distance and travel direction of the vehicle from the output data of the autonomous sensor.
  • Autonomous sensors include wheels These include wheel side sensors that detect signals according to the number of revolutions, acceleration sensors that detect vehicle acceleration, and gyro sensors that detect vehicle angular velocity.
  • a 3D gyro sensor that can also detect the attitude angle in the pitch motion direction of the vehicle (hereinafter referred to as “pitch angle”) is used as the gyro sensor.
  • the positioning data includes the vehicle pitch angle.
  • the map storage unit 243 is a map storage unit that stores digital map data having 2D map information, 3D road information, and 3D building information.
  • CD-ROMs and hard disks are examples of storage media that make up the map storage unit 243.
  • Map data is preferably divided and stored in multiple blocks, since it takes a long time to read the map data.
  • the road information may include information indicating major points (nodes) such as intersections and inflection points.
  • the node information includes coordinate data at the points, and the road indicates each node. It may be approximated as a connecting straight line (link).
  • the 3D road information in this system means having node information power 3D coordinate data.
  • the control unit 244 Based on the vehicle position information obtained from the GPS unit 241 or the autonomous positioning unit 242, the control unit 244 reads out map data of a predetermined area corresponding to the vehicle position from the map storage unit 243. It is for performing control.
  • the display unit 245 is for displaying the map data read out by the positioning control unit 244.
  • the map matching unit 246 corrects the position of the vehicle on the road based on the vehicle positioning data and the 3D road information of the map data.
  • the car navigation system of the present invention includes, for example, a control unit including a geometric operation unit and a drawing unit, and includes the image generation apparatus of the present invention.
  • the vector '2D' 3D image processing unit can be unified to prevent the system from becoming complicated, thereby reducing control processing.
  • the GPS unit 241 simultaneously receives radio waves from multiple GPS satellite forces to obtain vehicle positioning data.
  • the autonomous positioning unit 242 calculates the travel distance and direction of the vehicle from the output data of the autonomous sensor.
  • the control unit 244 receives the data obtained from the GPS unit 241 or the autonomous positioning unit 242. Predetermined processing is performed to obtain vehicle position information. Then, based on the vehicle position information, map data of a predetermined area related to the vehicle position is read from the map storage unit 243. In addition, in response to operation information from an operation unit (not shown), the display mode is changed, and map data corresponding to the display mode is read. Further, the control unit 244 performs predetermined drawing processing based on the position information, and displays a 3D building image, 3D map image, 3D car image, and the like. In addition, force ring processing is performed based on the Z value.
  • the display unit 245 displays the map data read by the control unit 244.
  • the car navigation system of the present invention includes the image generation device of the present invention in, for example, a geometric operation unit and a drawing unit. Therefore, by sharing circuit elements and the like, the hardware scale can be reduced. ⁇ Centralizing the 3D image processing unit can prevent the system from becoming complicated.
  • FIG. 17 is a block diagram showing the main control circuit 361 of the pachislot machine.
  • the main control circuit 361 is composed of a microcomputer (hereinafter referred to as “microcomputer”) 363 as the main component and a circuit for random number sampling.
  • the microcomputer 363 stores a main CPU (central processing unit) 364 that performs control operations according to a preset program, a program (including an image production program), various table data, and the like. And a control RAM with a backup function (hereinafter simply referred to as RAM) 366.
  • main CPU central processing unit
  • RAM control RAM with a backup function
  • the main CPU 364 includes a clock pulse generation circuit 367 and a frequency divider 368 for generating a reference clock pulse, a random number generator 369 for generating a certain range of random numbers, and a sampling circuit for identifying one of the generated random numbers. 370 is connected.
  • the main CPU 364 is connected to an IZO port 371 that exchanges signals with a peripheral device (actuator) described later.
  • R0M365 is divided into storage units to store a winning probability table, a symbol table, a winning symbol combination table, a sequence program, an announcement effect table, and an effect image program.
  • Major actuators whose operation is controlled by a control signal from the microcomputer 363 include stepping motors 345L, 345C, 345R for rotating the reels 305, 306, 307, various lamps (betting number display lamps 319 to 321). , Start lamp 329, WIN lamp 330, insert lamp 332), various display sections (credit display lamp 323, gaming status display lamp 32 4-327, bonus count display lamp 318, dividend number display lamp 322), and There is a hopper 372 for storage. These are driven by a motor drive circuit 373, each lamp drive circuit 374, each display unit drive circuit 375, and a hopper drive circuit 376, respectively. These drive circuits 373 to 376 are connected to the main CPU 364 via the I / O port 371 of the microcomputer 363.
  • the main input signal generation means for generating the input signal necessary for the microcomputer 363 to generate the control signal is the insertion medal sensor 331S for detecting the medal inserted from the medal insertion slot, and the start lever.
  • the photosensor is included in the drive mechanism of each reel 305 to 307 and is not shown in the figure.
  • the input signal generation means includes a reel stop signal circuit 378 that generates a signal for stopping the corresponding reel when the stop buttons 335 to 337 are pressed, and the number of medals paid out from the hopper 372.
  • a medal detection unit 372S for counting and a payout completion signal generation circuit (not shown).
  • FIG. 18 is a block diagram showing the sub-control circuit of the pachislot machine.
  • the sub control circuit 381 executes display control of the display device 350 and sound output control from the speakers 382L and 382R based on a control command (command) from the main control circuit 361.
  • This sub-control circuit 381 is preferably formed on a board different from the board constituting the main control circuit 361, with the sub-microcomputer 83 as the main component, and an image as a display control means of the display device 350.
  • the sub microcomputer 383 includes a sub CPU 384 that performs a control operation in accordance with a control command transmitted from the main control circuit 61, and a program ROM 385 and a work RAM 386 as storage means.
  • the sub control circuit 381 does not include a clock pulse generation circuit, a frequency divider, a random number generator, and a sampling circuit, but is configured to perform random number sampling on the operation program of the sub CPU 384.
  • the program ROM 385 stores a control program to be executed by the sub CPU 84.
  • the work RAM 386 is configured as a temporary storage means when the above control program is executed by the sub CPU 384.
  • the image control circuit 391 includes an image control CPU 392, an image control program ROM 394, an image control work RAM 393, an image control IC 398, an image ROM 396, and a video RAM 397.
  • the image control CPU 392 determines the display contents on the display device 350 according to the image control program stored in the image control program ROM 394 based on the parameters set by the sub-microcomputer 383. .
  • the image control program ROM 394 stores an image control program related to display on the display device 350 and various selection tables.
  • the image control work RAM 393 is configured as a temporary storage unit when the image control CPU 392 executes the image control program.
  • the image control IC 398 forms an image corresponding to the display content determined by the image control CPU 392 and outputs it to the display device 350.
  • the image ROM 396 stores dot data for forming an image.
  • the video RAM 397 is configured as a temporary storage means when an image is formed by the image control IC 398.
  • the output from the main control circuit 361 is input to the sub CPU 384 via the IN port 387, and the output from the sub CPU 384 is input to the image control CPU 392 via the OUT port 390 and the IN port 395.
  • the operation of the pachislot machine of the present embodiment will be described.
  • the insertion medal sensor 331S force is also sent to the detection signal power S main CPU 364, which detects the insertion of the medal and displays bet number display lamps 319 to 321 corresponding to the bet number.
  • the start switch 328S force Is transmitted to the al operating signal strength s main CPU364, the main CPU364 detects the operation of the start lever 328, the feed motor driving unit 373 f start signal via the IZO port 371, simultaneously rotating the reel 305, 306, 307
  • the main CPU 364 fetches the random number value generated by the random number generator 369 by the sampling circuit 370, and the stored random number value and the determination stored in the ROM 365.
  • An internal lottery is performed to compare the values and determine the win or loss.
  • the lottery result is stored in a predetermined area of RAM366.
  • a flag corresponding to the type of winning is set in the predetermined area of RAM366.
  • the flag raised in the game is basically extinguished when the game ends.
  • the internal winning probability is low. Only in the case of ⁇ or RB, until the symbols corresponding to the raised flag are all won. May be carried over across multiple games.
  • the main CPU 364 reads out an instruction instruction command for displaying an effect image on the display device 350 over a plurality of games from the ROM 365, and this is sent via the ⁇ port 371. To the sub control circuit 381. The main CPU 364 keeps the effect instruction command to be sent to the sub-control circuit 381 in a predetermined area of R ⁇ 366.
  • the sub-control circuit 381 displays an image of the content of the production according to the production instruction command input from the main CPU 364 on the display device 350, and is input for each effective operation of the start lever 328 that triggers the internal winning. An image is displayed according to a production instruction command.
  • the main CPU 364 checks the internal lottery result on the RAM 366, selects and determines the stop table corresponding to the internal lottery judgment result, and reads the corresponding stop tape knob on the RAM 366 from the ROM 365. .
  • the main CPU 364 sends a stop signal based on the pull-in stop control to the motor drive unit 373, and the linole 305, 306 corresponding to the operated stop buttons 335, 336, 337. , 307 Stopping force At this time, this linole 305, 3
  • Reel stop control is performed so that the symbols related to winnings on 06, 307 stop on a valid stop line.
  • the main CPU 364 operates the stop buttons 335, 336, and 337 so that the symbol related to winning does not stop on the valid stop line. , 336, 337, the reels 305, 306, 307 are stopped.
  • the pachislot machine of the present invention includes the image generation apparatus of the present invention as an image control program or image control CPU included in the sub-control circuit 381, for example.
  • the scale can be reduced, and the vector '2D' 3D image processing unit can be unified to prevent the system from becoming complicated. As a result, wasteful hardware control processing can be reduced. As described above, development / manufacturing costs and power consumption can be reduced, so it is also suitable for use in pachislot machines.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

 本発明は,ベクタ画像及び複数画像レイヤーを含む最終画像を生成に当たり,画像生成処理を一元に行うことができる画像生成装置を提供することを目的とする。  本発明の画像生成装置(1)は,エッジ情報格納メモリ(2)と,ベクタデータ格納メモリ(3)と,エッジ情報生成部(4)と,レイヤ画像格納メモリ(5)と,前記エッジ情報格納メモリに格納されたエッジ情報を用いて,ベクタ形式で定義された画像の内部を塗りつぶす際に,前記レイヤ画像格納メモリに格納された背景に関する画像情報及びレイヤごとの画像情報を読み出して,ベクタ形式の画像及びレイヤごとの画像情報を重ね合わせ,ピクセル単位の画像処理演算を行うことによりピクセル単位の画像合成を行う画像合成部(6)と,結果画像格納メモリ(7)とを具備する。 

Description

明 細 書
画像生成装置
技術分野
[0001] 本発明は,コンピュータグラフィックスを生成する画像生成装置などに関する。より 詳しく説明すると,本発明は,レンダリングを行った後の塗りつぶしの際に,同時に画 像合成をも行うことができる画像生成装置や,そのような画像生成装置を用いたコン ピュータなどに関する。
背景技術
[0002] 近年,コンピュータグラフィックスシステム(画像生成装置)は,アーケード版ゲーム 機やデスクトップ型コンピュータのような据え置き型の装置のみならず,携帯電話,携 帯可能なゲーム機などにも搭載され,使用されている。
[0003] 特に,携帯式のデバイスに搭載される画像生成装置は,従来の据え置き型の装置 に用いられたものに比べ,物理的なサイズが小さいことや,消費電力が小さいことな どが要求される。さらも,そのような制約のもとで効果的な画像を生成することが期待 される。
[0004] 従来のコンピュータグラフィックスにおける画像生成方法は,まずエッジ部分をレン ダラーによりレンダリングする。図 19(a)は,レンダリング後の画像例である。すなわち, レンダラーが,図 19(a)に示すようなレンダリング画像を得た後に,たとえば画面上部 力もラインごとにスキャンして画像内部の所定の領域を塗りつぶす。図 19(b)は,塗り つぶし後の画像の例を示す図である。図 19(b)のように,図 19(a)に示されたレンダリン グ画像のうち所定の領域には塗りつぶしが行われる。その後,画面に表示される画 像は,背景画像,背景より前に来る画像など様々なレイヤの画像が含まれているので ,それぞれのレイヤの画像に対し,幾何演算や色補正などの処理を行った後,陰面 消去処理などの処理を行い,表示画像を合成する。
[0005] 図 20は,ある携帯電話に表示される画像の各レイヤ画像の例を示す図である。図 2 0に示されるように,携帯電話などに表示される画像は,背景画像 (レイヤ 0) ,ヘッダ 一画像 (レイヤ 1) ,フッター画像 (レイヤ 2) ,ビデオ画像 (レイヤ 3, 4) ,及びゲーム等 のコンピュータグラフィックス画像 (レイヤ 5)などが組み合わさって形成されて 、る。そ して,従来は,レンダリングを行った後に,塗りつぶしを行い,その後に画像合成を行 つていた。
[0006] 近年,コンピュータにおけるユーザーインターフェイス表示にも画像生成装置は用 いられており,やはり消費電力を小さくする要請のもとで,迅速かつ高度に画像を生 成することが要求されて!、る。
[0007] このような要求のもと,特開 2003— 143419号公報 (下記特許文献 1)には,高速かつ 正確な色補正'色変換を行うため,複数の図形データに応じて描画すべき描画デー タを中間データとして保存するデータ保存部と,保存された中間データ力 各図形デ ータを取り出して,図形データ毎に,所定のスキャンライン幅づっエッジを取得するェ ッジ生成手段,生成された各図形データ間のエッジの重なりを排除する図形重なり排 除処理手段,重なりを排除したエッジ列に対し,ソート処理を行うエッジソート処理手 段,を有するレンダリング部と,ソート処理されたエッジ列の各エッジにおける描画色 に対して色補正 ·色変換を行う色補正 ·色変換部とを備える画像処理装置が開示さ れている。
[0008] 特開 2003— 143419号公報に記載される発明は,ベクタ情報を用いて,ラスタライズ されたデータにつ!、て色補正 ·色変換を最小部分にっ 、て適合するものである。ベタ タ画像生成処理とともに色補正 ·色変換処理を同時に行うものであるが,ベクタ画像 生成及び画像合成処理を一元的に行うものではな ヽ。
[0009] また,特開 2000— 172870号公報には,ポリゴンエッジをライン描画によらず,三角形 描画アルゴリズムのみにより指定幅でかすれなく描画するため, 「三次元物体をポリゴ ンモデルにしたがって描画する画像処理装置において,ホスト PCカもジオメトリ処理 した三角形単位の頂点座標値や色値とともに,エッジ幅及びエッジモードを,描画コ ントローラのレジスタに格納する。プロセッサは PCから三角形描画起動フラグを書き 込まれると起動し,描画命令をバスコントローラ経由で受け取り,レジスタのデータを 読みだして三角形描画演算(ピクセル展開)を行い,結果をフレームバッファ, Zバッ ファに書き込む。このとき,三角形単位にエッジモードレジスタを参照し, 0であれば 三角形の水平スパン毎に始点と終点を求めて通常の三角形内全体の塗りつぶしを 行う。一方,モードが 1であれば,エッジ幅分の終点を求めて,上記始点からエッジ幅 終点までの塗りつぶしを行う。」といった技術が開示されている。
[0010] この特開 2000— 172870号公報に開示された発明は,三角形アルゴリズムによって, ベクタ情報を用いてラインを描画することを実現するものであり,ベクタ画像生成処理 時に画像合成を行うものではな 、。
[0011] また,特開 2000— 69275号公報には,マーカー処理等で編集領域を指定して,境 界線で囲われた領域を塗りつぶす処理を行う際,予め境界を決める黒線画像に対し てエッジ強調を行い,境界付近の黒画像濃度を高めることで,境界部における黒線 画像と塗りつぶし画像との隙間を狭くし,境界線付近の白抜けを分かり難くする技術 が開示されている。しかし,この技術は,ベクタ形式画像を生成する際のアンチェイリ ァス技術についてのものであり,ベクタ画像生成処理時に画像合成を行うものではな い。
[0012] また,特許公開平 6— 68271号公報には,ベクトル画像のエッジで囲まれた領域を 塗りつぶす時に,アンチ ·エイリアシング処理の効果を低下させることなく,その処理 時間を短縮させるための技術が開示されて ヽるが,ベクタ画像生成処理時に画像合 成を行うものではない。
[0013] また,特開 2000— 172858号公報には,ベクタデータをエッジデータに変換するにあ たり,システムに負荷をかけず,複雑な図形にも対応できるようにするため,描画の対 象となる図形の輪郭を表すべクタデータとスキャンラインとの交点となる座標を認識す る描画部 2と,描画部 2により認識される座標を示す座標データを記憶する描画座標 格納部 L1と,描画部 2により認識される座標数を 1スキャンライン毎に算出するべクタ 数判定手段 3と,この算出された座標数が,予め描画座標格納部 L1に割り当てられ た 1スキャンラインの座標データ数を越えるカゝ否かを判断し,越えると判断された数の 座標データを記憶可能な描画座標格納部 L2を確保する制御部 5と,確保された記 憶領域に座標データを記憶させるエッジリスト領域切り替え手段 6とを備える画像生 成装置が開示されている。
[0014] この技術では,ベクタグラフィックス画像を生成する際の,エッジ部分を生成する技 術に関するもので,ベクタ形式の画像を形成する際に,画像合成を行うものではない [0015] これまで説明した従来の画像生成装置は,ベクタ画像生成部と画像合成部とが分 かれ,これらの処理をハードウェア力,又はハードウェアとソフトウェアとの組み合わせ により実現していた。しかし,このようにベクタ画像生成部と画像合成部とが分割され た画像生成装置では,最終的な画像を生成するに当たり,ベクタ画像を生成した後, 生成されたばカゝりの画像と背景等その他画像の合成が必要となり,無駄なメモリァク セスが発生することで,性能 ·消費電力面で無駄が生じるとともに,これらの同期制御 が必要となり,システムが複雑ィ匕する。
[0016] 特許文献 1:特開 2003— 143419号公報
発明の開示
発明が解決しょうとする課題
[0017] 本発明は,上述のような課題に鑑みてなされたものであり,ベクタ画像及び複数画 像レイヤーを含む最終画像を生成に当たり,画像生成処理を一元に行うことができる 画像生成装置を提供することを目的とする。
[0018] 本発明は,ベクタ画像及び複数画像レイヤーを含む最終画像を生成に当たり,画 像生成処理を一元に行うことができるので性能が高く消費電力が低く,さらにシステ ムの複雑度を抑えた画像生成装置を提供することを上記とは別の目的とする。
課題を解決するための手段
[0019] 本発明は,基本的には,エッジ情報を用いて画像の内部を塗りつぶす際に,前記 レイヤ画像格納メモリに格納されたレイヤごとの画像情報を読み出して,ベクタ形式 の画像及びレイヤごとの画像情報を重ね合わせ,ピクセル単位の画像処理演算を別 々ではなく同時に行うことにより,性能が高く,消費電力が低くかつ,システムの複雑 度を最小限に抑えた画像生成システムを提供することができるという知見に基づくも のである。
[0020] すなわち,本発明の第 1の側面に係る画像生成装置 (1)は,あるピクセルにおけるポ リゴンのエッジ情報を格納するためのエッジ情報格納メモリ (2)と,ベクトル形式のラス タラィズ結果を格納するためのベクタデータ格納メモリ (3)と,前記べクタデータ格納メ モリに格納されたベクトル形式のラスタライズ結果に基づ 、て,前記ラスタライズ結果 である画像のエッジ情報を前記エッジ情報格納メモリに書き出す処理を行うためのェ ッジ情報生成部 (4)と,少なくとも背景に関する画像情報及び複数のレイヤごとの画像 情報を格納するレイヤ画像格納メモリ (5)と,前記エッジ情報格納メモリに格納された エッジ情報を用いて,ベクタ形式で定義された画像の内部を塗りつぶす際に,前記レ ィャ画像格納メモリに格納された背景に関する画像情報及びレイヤごとの画像情報 を読み出して,ベクタ形式の画像及びレイヤごとの画像情報を重ね合わせ,ピクセル 単位の画像処理演算を行うことによりピクセル単位の画像合成を行う画像合成部 (6) と,前記画像合成部が合成した画像を記憶するための結果画像格納メモリ (7)とを具 備する画像生成装置に関する。
[0021] 本発明の第 1の側面に係る画像生成装置は,ベクタ形式の画像処理とレイヤごとの 画像情報を重ねる処理とを同時に行う画像合成部 (6)を具備するので,上記の画像 生成装置によれば,ベクタ形式の画像を形成する際に,画像合成を行うことができる
[0022] 上記のように,ベクタ形式の画像処理とレイヤごとの画像情報を重ねる処理とは,基 本的には異なる処理であり,従来技術のように,別々に処理を行うのが技術常識であ るが,本発明の画像生成装置のように,あえてそれらの処理を画像合成部 (6)で同時 に行うことで,メモリアクセス量が削減され,その結果消費電力も削減できることとなる
[0023] また,それらの処理をひとつの画像合成部 (6)で行うことで,システムが複雑になる 事態を防止できる。特に,画像合成部 (6)をノ、一ドウエアで実装した場合,回路素子を 共有することで,ハードウ ア規模が大きくなる事態を効果的に防止できることとなる。 また,ソフトウェア制御を複雑なものとすれば,システムが複雑になる事態を効果的に 防止できるとともに,迅速な処理を達成できることとなる。
発明の効果
[0024] 本発明によれば,ベクタ画像及び複数画像レイヤーを含む最終画像を生成に当た り,画像生成処理を一元に行うことができる画像生成装置を提供することができる。
[0025] 本発明によれば,ベクタ画像及び複数画像レイヤーを含む最終画像を生成に当た り,画像生成処理を一元に行うことができるので性能が高く消費電力が低く,さらにシ ステムの複雑度を抑えた画像生成装置を提供することができる。
[0026] 本発明の好ましい態様では,特定のピクセルに関する単一光源又は複数光源のシ エーデイング結果に表層色を合成するためのブレンド係数を組み合わせ,少なくとも 2 層分のブレンド後の表層色を生成し,単一色に合成する。これにより,本発明によれ ば,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを行 うことができるので,高速に陰影などを演算することができるコンピュータグラフィックス 用の多層反射シェーディング画像生成方法及びコンピュータなどを提供できる。 図面の簡単な説明
[0027] [図 1]図 1は,本発明の第 1の側面に係る画像生成装置の基本構成を示す概略図で ある。
[図 2]図 2は,本発明の第 1の側面に係る画像生成装置により得られる画像の流れを 説明するための図である。図 2(a)は,ベクタデータ格納メモリに格納されるベクトル形 式で定義されたポリゴンの形状データの例を示す図である。図 2(b)は,エッジ情報格 納メモリに書き込まれた,ラスタライズ結果である画像のエッジ情報を含むデータの例 を示す図である。図 2(c)は,画像合成部で合成され,結果画像格納メモリ (7)に格納さ れた合成画像の例を示す図である。
[図 3]図 3は,エッジ情報生成部の構成例を示すブロック図である。
[図 4]図 4は,画像合成部の構成例を示すブロック図である。
[図 5]図 5は,画像合成部において行われる画像合成の過程を説明するための図で ある。
[図 6]図 6は,本発明の第 1の実施形態に係るアンチエイリアス回路のブロック図であ る。
[図 7]図 7は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポイントの例を 示す図である。
[図 8]図 8は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポイントの別の 例を示す図である。
[図 9]図 9は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポイントの別の 例を示す図である。 [図 10]図 10は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポイントの別 の例を示す図である。
[図 11]図 11は,本発明の第 2の実施形態に係るアンチエイリアス回路のブロック図で ある。
[図 12]図 12は,本発明における塗りつぶし処理例を説明するためのフローチャートで ある。
[図 13]図 13は,本発明のある実施態様 (コンピュータ)を示すブロック図である。
[図 14]図 14は,本発明のある実施形態 (ゲーム機)のブロック図である。
[図 15]図 15は,本発明のある実施形態 (コンピュータグラフィック機能つき携帯電話機 )のブロック図である。
[図 16]図 16は,本発明のある実施形態 (ナビゲーシヨンシステム)のブロック図である
[図 17]図 17は,パチスロ機の主制御回路 361を示すブロック図である。
[図 18]図 18は,パチスロ機の副制御回路を示すブロック図である。
[図 19]図 19は,レンダリングと塗りつぶしを説明するための図である。図 19(a)は,レン ダリング後の画像例である。図 19(b)は,塗りつぶし後の画像の例を示す図である。
[図 20]図 20は,ある携帯電話に表示される画像の各レイヤー画像の例を示す図であ る。
符号の説明
[0028] 1 画像生成装置
2 エッジ情報格納メモリ
3 ベクタデータ格納メモリ
4 エッジ情報生成部
5 レイヤ画像格納メモリ
6 画像合成部
7 結果画像格納メモリ
発明を実施するための最良の形態
[0029] [画像生成装置の基本構成と基本動作] 図 1は,本発明の第 1の側面に係る画像生成装置の基本構成を示す概略図である 。図 1に示されるように,本発明の第 1の側面に係る画像生成装置 (1)は,あるピクセル におけるポリゴンのエッジ情報を格納するためのエッジ情報格納メモリ (2)と,ベクトル 形式のラスタライズ結果を格納するためのベクタデータ格納メモリ (3)と,前記べクタデ ータ格納メモリに格納されたベクトル形式のラスタライズ結果に基づ 、て,前記ラスタ ライズ結果である画像のエッジ情報を前記エッジ情報格納メモリに書き出す処理を行 うためのエッジ情報生成部 (4)と,少なくとも背景に関する画像情報及び複数のレイヤ ごとの画像情報を格納するレイヤ画像格納メモリ (5)と,前記エッジ情報格納メモリに 格納されたエッジ情報を用いて,ベクタ形式で定義された画像の内部を塗りつぶす 際に,前記レイヤ画像格納メモリに格納された背景に関する画像情報及びレイヤごと の画像情報を読み出して,ベクタ形式の画像及びレイヤごとの画像情報を重ね合わ せ,ピクセル単位の画像処理演算を行うことによりピクセル単位の画像合成を行う画 像合成部 (6)と,前記画像合成部が合成した画像を記憶するための結果画像格納メ モリ (7)とを具備する。
[0030] 図面に従って,上記画像生成装置の基本動作を説明する。図 2は,本発明の第 1の 側面に係る画像生成装置により得られる画像の流れを説明するための図である。図 2 (a)は,ベクタデータ格納メモリに格納されるベクトル形式で定義されたポリゴンの形状 データの例を示す図である。図 2(b)は,エッジ情報格納メモリに書き込まれた,ラスタ ライズ結果である画像のエッジ情報を含むデータの例を示す図である。図 2(c)は,画 像合成部で合成され,結果画像格納メモリ (7)に格納された合成画像の例を示す図 である。
[0031] エッジ情報格納メモリ (2)が,あるピクセルにおけるポリゴンのエッジ情報を格納する 。たとえば,ユーザからの入力により定義されたポリゴンのエッジ情報や,所定の演算 に基づ!/、て算出されたポリゴンのエッジ情報が書き込み可能に記憶される。ベクタデ ータ格納メモリ (3)が,たとえばベクトル形式で定義されたポリゴンの形状データなどを 格納する。すなわち,図 2(a)に示されるように,ベクタデータ格納メモリ (3)にベクトル形 式で定義されたポリゴンの形状データが格納される。なお,図 2(a)中, 11は,ベクタデ ータ格納メモリの 2次元メモリ空間の例である。ベクタデータ格納メモリ (3)には,ピクセ ル単位ではなく,ポリゴンの形状に関する座標位置情報及びベジエ自由曲線のよう な関数で定義されたべクタ形状データ (12)が格納される。
[0032] エッジ情報生成部 (4)は,ベクタデータ格納メモリに格納されたベクトル形式の形状 データに基づ ヽてラスタライズ処理を行 ヽ,前記エッジ情報格納メモリに前記ラスタラ ィズ結果である画像のエッジ情報を書き出す。具体的には,ラスタライズ処理により, ベクトル形状を有するエッジ部分の位置情報や,傾き情報,方向情報などのピクセル 情報を求めて,前記エッジ情報格納メモリに記憶される情報を更新する。図 2(b)は, エッジ情報格納メモリに書き込まれた,ラスタライズ結果である画像のエッジ情報を含 むデータの例を示す図である。なお,図 2(b)中, 14は,エッジ情報格納メモリの 2次元 メモリ空間(ピクセルごと)の例である。この例では,ポリゴンのベクタ形状データ (12)を ピクセル単位のエッジピクセル (13)に変換し,この情報をエッジ情報格納メモリ (2)に伝 える。すると,エッジ情報格納メモリ (2)に格納されるエッジ情報が更新される。
[0033] レイヤ画像格納メモリ (5)は,少なくとも背景に関する画像情報及び複数のレイヤご との画像情報を格納する。画像合成部 (6)が,エッジ情報格納メモリ (2)に格納された エッジ情報を用いて,ベクタ形式で定義された画像の内部を塗りつぶす際に,前記レ ィャ画像格納メモリに格納された背景に関する画像情報及びレイヤごとの画像情報 のうちいずれか又は 2つ以上の情報を読み出して,ベクタ形式の画像 (又は,エッジ ピクセル (13)などのエッジ情報)及びレイヤごとの画像情報を重ね合わせ,ピクセル単 位の画像処理演算を行うことによりピクセル単位の画像合成を行う。結果画像格納メ モリ (7)が,画像合成部 (6)により合成された画像情報を記憶する。図 2(c)は,画像合成 部で合成され,結果画像格納メモリ (7)に格納された合成画像の例を示す図である。 具体的には,図 2(c)に示されるように,画像合成部は,エッジ情報,レイヤ画像格納メ モリ (5)に格納されたレイヤ画像情報などを参照し,ベクタ領域の領域塗りつぶしピク セル (15),ベクタ領域のエッジ部分ピクセル (好ましくはアンチエイリアスエッジピクセ ル)(16),及びレイヤ画像ピクセル (17)を求める。そして,求めた合成画像情報を結果 画像格納メモリ (7)へ伝え,結果画像格納メモリ (7)はその情報に基づき格納情報を更 新する。その結果,結果画像格納メモリ (7)のメモリ空間 (18)には,ピクセルごとにベタ タ領域の領域塗りつぶしピクセル (15),アンチエイリアスエッジピクセル (16),及びレイ ャ画像ピクセル (17)に分類された合成画像情報が格納されることとなる。以下,各要 素について説明する。
[0034] [画像生成装置]
画像生成装置 (1)は, 3次元コンピュータグラフィックスなどに用いられるコンピュータ システムや,そのような 3次元コンピュータ画像を生成するための回路,チップなどと して実現されるものである。なお,本発明の画像生成装置 (1)を構成する各要素は, バスなどで接続され,情報の授受ができるようにされて!、る。
[0035] [エッジ情報格納メモリ]
エッジ情報格納メモリ (2)は,あるピクセルにおけるポリゴンのエッジ情報を格納する ためのメモリである。このエッジ情報格納メモリは,たとえば,ハードディスク,バッファ , RAMなどの記録装置によって実現される。そして,エッジ情報格納メモリには,たと えば,ユーザ力もの入力により定義されたポリゴンのエッジ情報や,所定の演算に基 づいて算出されたポリゴンのエッジ情報が書き込み可能に記憶される。
[0036] [ベクタデータ格納メモリ]
ベクタデータ格納メモリ (3)は,ベクトル形式のポリゴンの形状データを格納するため のメモリである。このべクタデータ格納メモリは,たとえば,ハードディスク,バッファ, R AMなどの記録装置によって実現される。なおベクトル形式のラスタライズ結果は,公 知のラスタライズ回路によって求められる情報であり, 3次元空間上の点とされるポリ ゴンの頂点のスクリーン座標系における位置情報によって,対応するフレームバッフ ァアドレスを算出し,又頂点のテクスチャ座標情報カゝら対応するテクスチャテクセル ( ピクセル)を取り出すことにより得ることができる。ベクタデータ格納メモリ (3)に記憶さ れる,情報は,たとえばベクトル形式で定義されたポリゴンの形状データがあげられる 。好ましくは,エッジ情報格納メモリ (2)には,ピクセルとしてではなく,座標位置情報 及び,ベジエ自由曲線のような所定の関数で定義されたべクタ形状データが記憶さ れる。
[0037] ベクタデータ格納メモリは,好ましくは,情報をストリーム形式データとして格納する ものがあげられる。このようなストリーム形式で格納するために,ベクタデータ格納メモ リに情報が格納される前にストリームデータ生成回路により,ストリーム形式のデータ へと返還されてもよい。情報力ストリーム形式で格納されるので,効果的に情報を読 み出すことができる。
[0038] [エッジ情報生成部]
エッジ情報生成部 (4)は,ベクタデータ格納メモリに格納されたベクトル形式の形状 データに基づ 、てラスタライズ処理を行 ヽ,前記ラスタライズ結果である画像のエッジ 情報を前記エッジ情報格納メモリに書き出すための装置である。
[0039] 図 3は,エッジ情報生成部の構成例を示すブロック図である。図 3に示されるように, エッジ情報生成部 (4)として,ベクタデータ格納メモリ (3)から読み出されたベクタ形状 データ (12)のコマンド解析するとともに,エッジ情報生成部 (4)全体の処理を制御する ためのコマンド制御部 (21)と,前記コマンド制御部 (21)の制御信号に従って,ベクタデ ータ格納メモリに格納されたベクトル形式の形状データを用いてラスタライズ処理を 行うためのラスタライズ部 (22)と,前記コマンド制御部 (21)の制御信号に従って,ベタ タデータ格納メモリに格納されたベクトル形式の形状データを用いてエッジ情報を求 めるためのエッジ情報演算部 (23)と,エッジ情報格納メモリ (2)に情報を伝え,エッジ情 報格納メモリに格納されるエッジ情報を更新するためのエッジメモリ制御部 (24),とを 具備するものがあげられる。
[0040] そして,コマンド制御部 (21)は,ベクタデータ格納メモリ (3)から読み出されたベクタ 形状データ (12)のコマンド解析するとともに,エッジ情報生成部 (4)全体の処理を制御 する。この処理はハードウェアによって行われてもよい。また,ソフトウェアとハードゥエ ァとが協働して処理を行ってもよい。具体的には,コマンド制御部 (21)として機能する CPUなどが,入力情報に基づいてコマンドを解析し,必要に応じメインメモリなどに 格納された制御プログラムを読み出し,読み出した制御プログラムの制御アルゴリズ ムに従って,入力された情報を用いて所定の処理を行うようにすればよい。なお,各 情報は,適宜バッファなどのメモリに格納され,適宜更新されるようにすればよい。も ちろん,コマンド制御部 (21)のみならず,エッジ情報生成部 (4)全体として,上記したよ うなハードウェアとソフトウェアとの協働による処理がなされてもよ 、し,ハードウェアの みによる処理がなされてもよ 、。
[0041] ラスタライズ部 (22)は,コマンド制御部 (21)の制御信号に従って,ベクタデータ格納メ モリに格納されたベクトル形式の形状データを用いてラスタライズ処理を行う。より具 体的には,ラスタライズ部 (22)は,解析されたコマンドのうち座標及び関数のデータを 用い,エッジ情報を生成する。
[0042] エッジ情報演算部 (23)は,前記コマンド制御部 (21)の制御信号に従って,ベクタデ ータ格納メモリに格納されたベクトル形式の形状データを用いてエッジ情報を求める 。より具体的には,エッジ情報演算部 (23)は,前記ラスタライズ部 (22)で求められたラ スタライズされたエッジ情報を受取り,そのエッジ情報に,後の塗りつぶし処理にて必 要な位置,傾き,方向,アンチエイリアス情報のうちいずれか又は 2つ以上に関する 情報を付加したエッジ情報とする。
[0043] エッジメモリ制御部 (24)は,エッジ情報演算部 (23)からエッジ情報を受取り,エッジ情 報格納メモリ (2)にエッジ情報を伝え,エッジ情報格納メモリに格納されるエッジ情報 を更新する。このようにして,図 2(b)に示されるようなエッジ情報を含むデータがエッジ 情報格納メモリに格納されることとなる。
[0044] なお,エッジ情報生成部が,ベクタデータ格納メモリに格納されたベクトル形式のラ スタライズ結果に基づ 、て,エッジ情報格納メモリにラスタライズ結果である画像のェ ッジ情報,ピクセルごとの透過度,ピクセルのエッジ部分における水平方向及び垂直 方向に関するラスタライズ進行符号,及びラスタライズ時のエッジ部分の重なり回数 のいずれか又は 2つ以上を求め,その求めた結果をエッジ情報格納メモリに書き出す るものは本発明の好まし 、実施態様である。
[0045] ピクセルごとの透過度を用いれば,画像合成の際に,画像合成部 (6)の制御に基づ いて,半透明処理などを効果的に行うことができる。ピクセルのエッジ部分における水 平方向及び垂直方向に関するラスタライズ進行符号があれば,後の画像合成の際に ,画像合成部 (6)が,ライン単位の情報やブロック単位の情報を,ライン単位ごと又は ブロック単位ごとに容易に読み出すことができることとなる。さらに,ラスタライズ時のェ ッジ部分の重なり回数を用いれば,後の画像合成の際に,画像合成部 (6)が塗りつぶ しを行うかどうかの判定を容易に行うことができることとなる。
[0046] [レイヤ画像格納メモリ]
レイヤ画像格納メモリ (5)は,少なくとも背景に関する画像情報及び複数のレイヤご との画像情報を格納するための装置である。レイヤ画像格納メモリ (5)は,たとえば, ハードディスク,バッファ, RAMなどの記録装置によって実現される。なお,レイヤ画 像格納メモリ (5)に格納される画像が, z座標や,各レイヤに対する奥行き方向の位置 を示すインデックスと共に格納されるものは,視点から見た位置が明確となるので,画 像を合成する際に力リング処理などを容易に行うことができるため,好ましい。
[0047] [画像合成部]
画像合成部 (6)は,エッジ情報格納メモリ (2)に格納されたエッジ情報を用いて,ベタ タ形式で定義された画像の内部を塗りつぶす際に,前記レイヤ画像格納メモリに格 納された背景に関する画像情報及びレイヤごとの画像情報のうちいずれか又は 2つ 以上の情報を読み出して,ベクタ形式の画像 (又は,エッジピクセル (13)などのエッジ 情報)及びレイヤごとの画像情報を重ね合わせ,ピクセル単位の画像処理演算を行う ことによりピクセル単位の画像合成を行うための装置である。ピクセル単位の画像処 理演算とは,たとえば,画像を合成するための演算処理を意味し,たとえば,ピクセル 単位での塗りつぶし演算などがあげられる。
[0048] 図 4は,画像合成部の構成例を示すブロック図である。図 4に示されるように,画像 合成部 (6)として,重ねあわせ処理,ピクセル単位のピクセル演算,又は半透明処理 その他のラスタオペレーションのうち少なくともひとつ以上を行い,ピクセル単位での 塗りつぶし処理を行うための塗りつぶし処理部 (31)と,前記塗りつぶし処理部 (31)が 求めた演算結果をブロックごと又はラインごとに格納するラインメモリ (32)と,結果画像 格納メモリ (7)に情報を伝え,結果画像格納メモリ (7)に格納される結果画像情報を更 新するための結果メモリ制御部 (33)と,画像合成部 (6)における演算を制御する図示 しな 、画像合成制御部と,を具備するものがあげられる。
[0049] 画像合成制御部は,画像合成部 (6)における演算を制御する。この処理はハードウ エアによって行われてもよい。ハードウェアにより実現した場合は,処理が高速になり ,消費電力が軽減するので好ましい。また,ソフトウェアとハードウェアとが協働して処 理を行ってもよい。具体的には,画像合成制御部として機能する CPUなどが,入力 情報に基づ 、てコマンドを解析し,必要に応じメインメモリなどに格納された制御プロ グラムを読み出し,読み出した制御プログラムの制御アルゴリズムに従って,入力され た情報を用いて所定の処理を行うようにすればよい。なお,各情報は,適宜バッファ などのメモリに格納され,適宜更新されるようにすればよ!、。
[0050] 図 5は,画像合成部において行われる画像合成の過程を説明するための図である 。画像合成制御部に,エッジ情報格納メモリ (2)に格納されたエッジ情報,及びレイヤ 画像格納メモリに格納された背景に関する画像情報及びレイヤごとの画像情報のう ちいずれか又は 2つ以上の情報が入力される。画像合成制御部は,好ましくは,それ らの情報を 1ライン単位,又はブロック単位で読み出すよう指令を出し,そのようにし て読み出された単位ごとに下記の処理を行う。画像合成制御部は,それら入力され た情報をもとに必要な情報を分析して,各種演算処理を行うよう制御指令を出す。
[0051] 塗りつぶし処理部 (31)は,たとえば,上記制御指令に基づいて,エッジ情報格納メ モリ (2)に格納されたエッジ情報,及びレイヤ画像格納メモリに格納された背景に関す る画像情報及びレイヤごとの画像情報のうちいずれか又は 2つ以上の情報を用いて ,それらの情報の重ねあわせ処理,ピクセル単位のピクセル演算,又は半透明処理 その他のラスタオペレーションのうち少なくともひとつ以上を行うことにより,ピクセル 単位での塗りつぶし処理を行う。図 5に示されるように,塗りつぶし処理部 (31)には,た とえば,エッジ情報格納メモリ (2)に格納されたエッジ情報,及びレイヤ画像格納メモリ に格納された背景に関する画像情報及びレイヤごとの画像情報のうちいずれか又は 2つ以上の情報が,それぞれライン単位又はブロック単位で入力される。塗りつぶし 処理部 (31)は,ピクセル単位のピクセル演算などを行う。得られた情報は,ラインメモ リ (32)に伝えられ,格納される。なお,レイヤ画像格納メモリから,各画像情報の z座標 又は各レイヤに対する奥行き方向の位置を示すインデックスを読み出して,それらを 分析することにより,ピクセル単位での画像の上下関係を把握して,ピクセル単位で の塗りつぶし画像 (色)を決定することは本発明の好ましい実施態様である。
[0052] ラインメモリ (32)は,たとえば,上記制御指令に基づいて,塗りつぶし処理部 (31)が 求めた演算結果を格納する。ラインメモリ (32)は,好ましくは,ブロックごと又はラインご とに格納する。また,たとえば,上記制御指令に基づいて, 1ライン単位,またはプロ ック単位分の処理が終わった場合,ラインメモリ (32)に格納された情報に基づ 、て, 結果メモリ制御部 (33)に対して結果画像書き出しの要請を行い,ラインメモリ (32)に格 納された情報を単位ごとに読み出して,結果メモリ制御部 (33)へ伝える。この際にライ ンメモリには,ピクセル単位で,ベクタ領域の領域塗りつぶしピクセル (15),ベクタ領 域のエッジ部分ピクセル (好ましくはアンチエイリアスエッジピクセル)(16),及びレイヤ 画像ピクセル (17)に分類され,格納される。
[0053] 結果メモリ制御部 (33)は,たとえば,上記制御指令に基づいて,格納される結果画 像情報を順次更新する。この更新は,たとえば,図 5に示されるように,ライン単位又 はブロック単位で行われる。全てのラインについて書き込み処理が終わると,図 2(c)に 示したようなメモリ状態が得られる。
[0054] [結果画像格納メモリ]
結果画像格納メモリ (7)は,画像合成部 (6)が合成した画像を記憶するための記憶装 置である。結果画像格納メモリ (7)として,フレームノ ッファがあげられる。結果画像格 納メモリ (7)に格納された情報は,読み出された後,表示装置の特性などに応じて γ 補正などの処理が適宜施され,表示装置へと伝えられ,画像として表示されることと なる。なお,結果画像格納メモリは,好ましくは,情報をストリーム形式データとして格 納するものがあげられる。このようなストリーム形式で格納するために,結果画像格納 メモリに情報が格納される前にストリームデータ生成回路により,ストリーム形式のデ ータへと返還されてもよい。情報力ストリーム形式で格納されるので,効果的に情報を 読み出すことができる。
[0055] 画像合成部の好ましい実施態様として,前記エッジ情報格納メモリに格納されたェ ッジ情報を用いて,ベクタ形式で定義された画像の内部を塗りつぶす際に,前記レイ ャ画像格納メモリに格納された背景に関する画像情報及び複数のレイヤごとの画像 情報を読み出して,ベクタ形式の画像及び複数のレイヤごとの画像情報を重ね合わ せ,前記エッジ情報格納メモリに格納されたピクセルごとの透過度を用いてピクセル ごとのブレンディング計算を行 、,前記エッジ情報格納メモリに格納された水平方向 及び垂直方向に関するラスタライズ信号符号に基づ ヽて,ライン単位又はブロック単 位で画像合成処理を行!ヽ,前記エッジ情報格納メモリに格納されたエッジ部分の重 なり回数を用いて塗りつぶしを行うかどうかの判定を行い,ピクセル単位の画像処理 演算を行うことによりピクセル単位の画像合成を行うものがあげられる。 [0056] エッジ情報生成部又は画像合成部として,アンチエイリアス処理を行うアンチェイリ ァス回路などのアンチエイリアス処理部を具備するものがあげられる。前記アンチェ ィリアス処理部は,前記あるピクセルにおけるエッジ情報と,前記ピクセルにおける複 数のサンプリングポイントを用いて,前記ピクセルのうち前記エッジにより分断される 部分の面積 Sを決定する面積算出回路と,前記ピクセルにおける複数のサンプリング ポイントから色合成に用いる 1又は複数のサンプリングポイント又は当該サンプリング ポイントにおける色を選択する色選択回路と,前記面積算出回路が算出した面積 Sと ,前記色選択回路が選択した色を用いて,前記ピクセルのカラーを決定する色合成 回路とを具備するアンチエイリアス回路があげられる。
[0057] 前記画像合成部は,色空間変換処理部及び色補正処理部のいずれか又は両方を 具備し,ピクセル単位で色空間変換処理又は色補正処理を施した画像合成を行うも のであってもよい。さらに,前記画像合成部は,画像回転処理及び画像サイズ調整 処理のいずれか又は両方を含む幾何演算処理部を具備し,レイヤ画像に対し,回転 処理又は画像サイズ調整処理を施した画像合成を行うものであってもよい。
[0058] 前記画像合成部は,画像回転処理及び画像サイズ調整処理のいずれか又は両方 を含む幾何演算処理部を具備し,前記幾何演算処理部は,頂点データを出力する 頂点データ出力装置と,前記頂点データ出力装置と接続され,頂点に関する固定さ れた演算を行う頂点演算装置と,前記頂点演算装置と接続され,ポリゴンに関する固 定された演算を行うポリゴン演算装置と,入力元に前記頂点データ出力装置,前記 頂点演算装置及び前記ポリゴン演算装置のうち 1つ又は 2つ以上と接続され,出力 先に前記頂点演算装置及び前記ポリゴン演算装置のうち 1つ又は 2つと接続される 1 又は複数の汎用演算装置とを具備する幾何演算処理部であるものがあげられる。
[0059] [アンチエイリアス回路]
たとえば,特に携帯電話など表示画面が小さな表示装置では, 3次元 CGなどを表 示することはそれほど意図されて 、な力つたし,ましてやアンチエイリアス処理を施し た CGなどを表示することは意図されていな力つた。本発明の好ましい態様では,携 帯型の表示装置においても,上記のような画像処理をすることとあわせ,さらにアンチ エイリアス処理を行うアンチエイリアス回路を具備するものである。以下,この態様に 係るアンチエイリアス回路について説明する。このアンチエイリアス回路を具備するこ とで,レンダリングのための計算量を大きく増加させずに,レンダラとメモリ間の通信帯 域幅を大きく増加させず,又は高画質,のアンチエイリアシング技術を提供することが できる。また,このアンチエイリアス回路を具備することで,アンチエイリアスをかけるた めのメモリアクセスの要求帯域幅が狭く,レンダリングにおける処理量も小さいので, 低消費電力,小面積の LSIで高画質の CG画像が提供できる。
[0060] [アンチエイリアス回路の例]
以下,図面を用いて本発明のアンチエイリアス回路について説明する。図 6は,本 発明の第 1の実施形態に係るアンチエイリアス回路のブロック図である。図 6に示され るように,この態様に係るアンチエイリアス回路 (41)は,ピクセルにおけるエッジ情報 と,前記ピクセルにおける複数のサンプリングポイントを用いて,前記ピクセルのうち 前記エッジにより分断される部分の面積 Sを決定する面積算出回路 (42)と,前記ピク セルにおける複数のサンプリングポイントから色合成に用いる 1又は複数のサンプリン グポイント又は当該サンプリングポイントにおける色を選択する色選択回路 (43)と,前 記面積算出回路が算出した面積 Sと,前記色選択回路が選択した色を用いて,前記 ピクセルのカラーを決定する色合成回路 (44)とを具備するアンチエイリアス回路 (41) である。図中 46は,エッジメモリ(又はエッジ Zメモリ)を示し, 47は,色メモリを示す。ま た,各メモリ及び回路はバスにより連結されている。
[0061] このようなアンチエイリアス回路であれば,ピクセルにおけるエッジ情報と,前記ピク セルにおける複数のサンプリングポイントを用いて,前記ピクセルのうち前記エッジに より分断される部分の面積 Sを決定できるので,前記ピクセルにおける複数のサンプ リングポイントから色合成に用いる 1又は複数のサンプリングポイント又は当該サンプ リングポイントにおける色を選択し,面積 Sと選択した色とを用いて,前記ピクセルの力 ラーを決定する,コンピュータグラフィックスにおけるアンチエイリアス方法を提供でき る。
[0062] エッジ情報は,通常,エッジの傾き及び切片に関する情報を含む情報であり,ピク セル内の,エッジの傾き,切片,始点及び終点,並びにポリゴンの法線のいずれかを 含むものであってもよい。エッジ情報は通常エッジメモリ(46)に記憶され, CPUなど の制御装置による制御などによりエッジ情報が読み出され,バスを通じて面積算出回 路 (42)又は色選択回路へ入力される。
[0063] エッジメモリ(46)は,エッジ情報のみならず, Z値をも記憶するエッジ Zメモリのもの を含んでもよい。このようなエッジ Zメモリを用いれば,複数のポリゴンの部分があるピ クセル上に存在する場合であっても ,効果的に最前面にあるポリゴンを判別できる。
[0064] 図 7は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポイントの例を示 す図である。図 7は,あくまで例示であって,図 7に示すもの以外のサンプリングポィ ントを採用しても構わない。符号 60は,サンプリングポイントであるピクセルの中心点 C を示す。符号 61〜64は,サンプリングポイントであるピクセルにおける各頂点 C〜C
0 1 4 を示す。なお,各頂点 C〜Cは隣接するピクセルと共有される頂点である。符号 66
1 4
は,エッジを示す。エッジは,あるポリゴンの一部があるピクセルを占める場合に生ず る。符号 67及び 68は,エッジとピクセルの辺との交点を示す。符号 69は,エッジで区 切られるピクセルの 2つの領域のうち,ピクセルの中心点を含む領域を示す。符号 70 は,エッジで区切られるピクセルの 2つの領域のうち,ピクセルの中心点を含まない領 域を示す。
[0065] 図 8は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポイントの別の例 を示す図である。図 9は,あるピクセルにおけるポリゴンのエッジ,及びサンプリングポ イントの別の例を示す図である。図 10は,あるピクセルにおけるポリゴンのエッジ,及 びサンプリングポイントの別の例を示す図である。
[0066] 図 9に示されるように,あるピクセルに含まれるエッジの数は複数の場合もある。ある ピクセルに含まれるエッジの数はエッジとピクセルの辺との交点の数を算出する回路 を用いれば簡単に求めることができる。すなわち,交点の数の半分がエッジの数とな る。このようなエッジ本数計算回路を有することは本発明の好ましい実施態様である。 たとえば,あるピクセルに含まれるエッジの数力 ¾本以上あるかどうか判断し, 1本の場 合は以下に示す各回路を用いてピクセルの色を決定し, 0本又は 2本以上の場合は, 各サンプリングポイントのいずれか又は全ての色の平均を求めることでピクセルの色 を決定するようにしてもよい。このような色の平均を求める回路は,加算回路と除算回 路,加算回路とテーブルなどを適宜用いる事により容易に設計できる。また,図 10に 示されるようにあるピクセルに存在するポリゴンが 2つ以上存在する場合もある。
[0067] [面積算出回路]
面積算出回路 (42)は,ピクセルにおけるエッジ情報と,前記ピクセルにおける複数 のサンプリングポイントを用いて,前記ピクセルのうち前記エッジにより分断される部 分の面積 Sを決定するための回路である。
[0068] 面積算出回路が求める面積 Sは,たとえば,前記エッジで区切られるピクセルの 2 つの領域のうち,前記ピクセルの中心点を含む領域の面積である。また,あるピクセ ルに含まれるエッジの数が 2本以上ある場合は,あるポリゴンの部分のうちそのピクセ ルに占める領域の面積であってもよいし,あるポリゴンの部分のうちそのピクセルに占 める領域であって他のポリゴンよりも Z値が小さい(前面方向の)領域の面積であって もよい。また,あるピクセルにポリゴンが 2つ以上含まれる場合は,それぞれのポリゴン の部分のうちそのピクセルに占める領域であって他のポリゴンよりも Z値が小さい(前 面方向の)領域の面積を求めてもょ 、し,あるピクセルに占める面積が最も大き 、ポリ ゴンの部分のうちそのピクセルに占める領域であって他のポリゴンよりも Z値が小さい (前面方向の)領域の面積を求めてもよい。また,ポリゴンの中心点を含むポリゴンの 部分のうちそのピクセルに占める領域であって他のポリゴンよりも Z値が小さい(前面 方向の)領域の面積を求めてもょ 、。
[0069] 前記面積算出回路の例として,前記エッジと面積 Sとの関係を記憶した面積テープ ルを参照することにより,前記ピクセルのうち前記エッジにより分断される部分の面積 Sを算出するものがあげられる。より具体的には,エッジとピクセルの辺との 2つの交 点と面積 Sとの関係を格納した面積テーブルがあげられる。このような面積テーブル を用いることで, 2つの交点力も迅速に面積 Sを得ることができる。あるピクセルに含ま れるエッジの数力 ¾本以上ある場合においても,各交点と面積 Sとの関係を格納した 面積テーブルを用意してもよい。しかし,交点が多くなると,記憶しなければならない パターンが多くなり多大なメモリを必要とするようになるので,面積テーブルは,ある 2 つの交点(ひとつのエッジ)についての面積 Sを格納するテーブルを用いるものが好 ましい。図 10に示されるように,あるポリゴンがあるピクセルに 2つのエッジを有する場 合は,面積テーブルを 2回参照し減算回路などで減算することで容易にあるピクセル に占めるあるポリゴンの面積 Sを求めることができる。図 9の 4つの交点を P Pとする
1 4 と,まずは交点 Pと Pとを用い,面積テーブルから台形 P C C C Pの面積を求め,
3 4 3 1 2 4 4
その値をメモリに記憶する。そして,交点 Pと Pとを用いて,台形 P C C C Pの面積
1 2 1 1 3 4 2 を求め,その値をメモリに記憶し,減算回路及び Z又は加算回路を用いて P
1 c P C 1 3 4
C Pの面積を求めればよい。 S 台形 P C C C P一(1一台形 P C C C P )より,
4 2 1 1 3 4 2 1 1 3 4 2 減算回路のみでも面積 Sを求めることができるし,また 2つの台形の面積の和から 1を 引いた値となるので,減算回路及び加算回路を用いても面積 Sを求めることができる
[0070] [色選択回路]
色選択回路は,ピクセルにおける複数のサンプリングポイントから色合成に用いる 1 又は複数のサンプリングポイントを選択するか,又は当該サンプリングポイントにおけ る色を選択するための回路である。なお,簡単のために色選択回路が選択した 2つ 色のうち前記ピクセルの中心点を含む領域において選択された色を Caとし,色選択 回路が選択した 2つ色のうち前記ピクセルの中心点を含まない領域において選択さ れた色を Cbとする。
[0071] 色選択回路の例として,以下のものがあげられる。すなわち,ピクセルにおける複数 のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からなり,前記ピク セルの中心点をサンプリングポイントとして選択し,その中心点における色を Caとして 選択する。一方,エッジで区切られるピクセルの 2つの領域のうち,ピクセルの中心点 を含まない領域に含まれるサンプリングポイントにおける色の平均を求めて選択する 。たとえば図 10の 60で示される領域において,ピクセルの中心点を含まない領域に 含まれるサンプリングポイントは Cとじの 2つである力 色を求めるサンプリングポイン
1 3
トとして Cとじを選択し, Cbとして, Cとじの平均を求めればよい。サンプリングボイ
1 3 1 3
ントを選択するには,エッジ情報(交点情報)を用いれば容易に決定できる。たとえば ,エッジがひとつの場合は,どの辺上に交点があるか,また交点の位置情報を用いる 事で容易にサンプリングポイントを決定できる。そして,加算回路と除算回路,加算回 路と 1/2テーブル,又は加算回路と 1/3テーブルを用いることで容易に Cbを求める ことができる。 [0072] 色選択回路の別の例として,以下のものがあげられる。すなわち,ピクセルにおける 複数のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からなり,前 記ピクセルの中心点における色を Caとして選択する。一方,エッジで区切られるピク セルの 2つの領域のうち,前記ピクセルの中心点を含まない領域に含まれる任意の サンプリングポイントにおける色とを選択するものである。たとえば,図 7のようなケー スでは, Cとじ力 サンプリングポイントとして選択され,いずれかの色が Cbとして選
1 3
択される。
[0073] 色選択回路の別の例として,以下のものがあげられる。すなわち,ピクセルにおける 複数のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からなり,エツ ジで区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含む領域に含 まれる任意のサンプリングポイントにおける色と,前記エッジで区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含まない領域に含まれる任意のサンプリ ングポイントにおける色とを選択するものである。図 7のようなケースでは, Cとじとじ
0 2 4 力 サンプリングポイントとして選択され,いずれかの色が Caとして選択される。 Cとじ 力 S,サンプリングポイントとして選択され,いずれかの色が Cbとして選択される。
3
[0074] 色選択回路の別の例として,以下のものがあげられる。すなわち,前記ピクセルに おける複数のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からな り,エッジで区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含む領 域に含まれるサンプリングポイントにおける色の平均を求めたものと,エッジで区切ら れるピクセルの 2つの領域のうち,前記ピクセルの中心点を含まな 、領域に含まれる サンプリングポイントにおける色の平均を求めたものとを選択するものである。
[0075] 色選択回路の別の例として,以下のものがあげられる。すなわち,エッジ情報から, 前記ピクセル中のポリゴンが占める任意の点と,サンプリングポイントのうちポリゴンが 占めない任意の点とを選択することにより,ピクセルにおける複数のサンプリングボイ ントから色合成に用いる 2つのサンプリングポイントを選択するか,又は前者の点と後 者の点における色を選択することにより,当該サンプリングポイントにおける色を選択 するものである。
[0076] [色合成回路] 色合成回路は,面積算出回路が算出した面積 Sと,前記色選択回路が選択した色 を用いて,前記ピクセルのカラーを決定するための回路である。色合成回路の例とし て,ピクセルの面積を 1,前記面積算出回路が算出した前記面積 Sを,前記エッジで 区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含む領域の面積と し,前記色選択回路が選択した 2つ色のうち前記ピクセルの中心点を含む領域にお V、て選択された色を Caとし,前記色選択回路が選択した 2つ色のうち前記ピクセルの 中心点を含まない領域において選択された色を Cbとしたときに, Ca X S + Cb (l -S) を求めることにより,前記ピクセルのカラーを決定するものがあげられる。
[0077] より具体的な色合成回路として,ピクセルの面積を 1,前記面積算出回路が算出し た前記面積 Sを,前記エッジで区切られるピクセルの 2つの領域のうち,前記ピクセル の中心点を含む領域の面積とし,前記色選択回路が選択した 2つ色のうち前記ピク セルの中心点を含む領域において選択された色を とし,前記色選択回路が選択 した 2つ色のうち前記ピクセルの中心点を含まな 、領域にぉ 、て選択された色を と したときに,乗算回路,加算回路及び除算回路 (又は [1 Sテーブル])を用いること により,乗算回路が Sと Caとを乗算し S X Caを求め,除算回路又は [1—Sテーブル]が (1 S)の値を求め,乗算回路が(1 S) X Cbを求め,加算回路が S X Caと(1 S) X Cbとを加算することにより S X Ca+ (l S) X Cbを求め,前記ピクセルのカラーを 決定するものがあげられる。
[0078] また,上記とは別の具体的な色合成回路として, S X (Ca-Cb) + Cbを求める回路が 上げられる。これは, S x Ca + (1-S) X Cb = S X (Ca-Cb) +
Cbであることに基づくものである。このよう直接 S X (Ca-Cb) + Cbを求めると,乗算器 の数が減少する(2つからひとつになる)ので好ましい。また, 1— Sテーブルなども必 要なくなるため好ましい。具体的には,ピクセルの面積を 1,前記面積算出回路が算 出した前記面積 Sを,前記エッジで区切られるピクセルの 2つの領域のうち,前記ピク セルの中心点を含む領域の面積とし,前記色選択回路が選択した 2つ色のうち前記 ピクセルの中心点を含む領域にぉ 、て選択された色を とし,前記色選択回路が選 択した 2つ色のうち前記ピクセルの中心点を含まな 、領域にぉ 、て選択された色を C bとしたときに,乗算回路,加算回路などを用いて, S X (Ca-Cb) + Cbを求めればよい 。たとえば, S , Ca, Cbの値力バスなどを介して色合成回路へ入力されると,加算器( 減算器)が, Ca-Cbの値を求め,乗算器が S
X (Ca-Cb)の値を求め,加算器が S X (Ca-Cb) + Cbを求めればよい。
[0079] [動作例]
以下,アンチエイリアス回路の動作例を説明する。エッジメモリ 46からあるポリゴンの エッジ情報,又はエッジ情報と Z値とを読み出す。読み出された情報はノ スを通じて ,面積算出回路 (42)と,色選択回路 (43)とに入力される。面積算出回路 (42)は,ピ クセルにおけるエッジ情報と,前記ピクセルにおける複数のサンプリングポイントを用 いて,前記ピクセルのうち前記エッジにより分断される部分の面積 Sを決定する。
[0080] 面積算出回路が面積 Sを求める方法として,エッジ情報に含まれる交点と面積 Sと の関係を記憶した面積テーブルを参照することにより,前記ピクセルのうち前記エツ ジにより分断される部分の面積 Sを算出するものがあげられる。このようにして面積 S が求められる。求められた面積 Sは,バスを通じて色合成回路 (44)に入力される。
[0081] 一方,色選択回路が,あるピクセルにおける複数のサンプリングポイントから色合成 に用いる 1又は複数のサンプリングポイントを選択するか,又は当該サンプリングボイ ントにおける色を選択する。色を選択する例として,あるピクセルの中心点をサンプリ ングポイントとして選択し,その中心点における色を Caとして選択する。各サンプリン グポイントの色情報は,色メモリ(47)に記憶されており,記憶された色情報を読み出 すことで各サンプリングポイントにおける色情報を得ることができる。一方,エッジで区 切られるピクセルの 2つの領域のうち,ピクセルの中心点を含まな 、領域に含まれる サンプリングポイントにおける色の平均を求めて選択する。このようにして色合成に用 いられる色 Ca及び Cbが決定される。決定された色 Ca及び Cbは,バスを通じて色合成 回路 (44)に入力される。
[0082] 色合成回路が,面積算出回路が算出した面積 Sと,前記色選択回路が選択した色 を用いて,前記ピクセルのカラーを決定する。具体的には,ピクセルの面積を 1,前記 面積算出回路が算出した前記面積 Sを,前記エッジで区切られるピクセルの 2つの領 域のうち,前記ピクセルの中心点を含む領域の面積とし,前記色選択回路が選択し た 2つ色のうち前記ピクセルの中心点を含む領域にぉ 、て選択された色を Caとし,前 記色選択回路が選択した 2つ色のうち前記ピクセルの中心点を含まない領域におい て選択された色を Cbとしたときに, Ca X S + Cb (l -S) (又は, S X (Ca-Cb) + Cb)など を求めることにより,前記ピクセルのカラーを決定する。
[0083] [アンチエイリアス回路の別の例] 図 11は,上記とは別のアンチエイリアス回路のブ ロック図である。図 11に示されるように,この態様に係るアンチエイリアス回路 (41)は, エッジ情報力 ピクセルが分断されるエリアタイプを決定するためのエリアタイプ決定 回路 (45)と,前記エッジ情報,又は前記エッジ情報とエリアタイプ情報とを用いて,前 記ピクセルのうち前記エッジにより分断される部分の面積 Sを決定する面積算出回路 (42)と,前記ピクセルにおける複数のサンプリングポイントから色合成に用いる 1又は 複数のサンプリングポイント又は当該サンプリングポイントにおける色を選択する色選 択回路 (43)と,前記面積算出回路が算出した面積 Sと,前記色選択回路が選択した 色を用いて,前記ピクセルのカラーを決定する色合成回路 (44)とを具備するアンチ エイリアス回路 (41)に関する。図中 46は,エッジメモリ(又はエッジ Zメモリ)を示し, 47 は,色メモリを示す。また,各メモリ及び回路はバスにより連結されている。
[0084] このようなアンチエイリアス回路であれば,エッジ情報力もピクセルが分断されるエリ ァタイプを決定し,前記エッジ情報,又は前記エッジ情報とエリアタイプ情報とを用い て,前記ピクセルのうち前記エッジにより分断される部分の面積 Sを決定できるので, 前記ピクセルにおける複数のサンプリングポイントから色合成に用いる 1又は複数の サンプリングポイント又は当該サンプリングポイントにおける色を選択し,前記面積 Sと 前記選択された色とを用いて,前記ピクセルのカラーを決定するコンピュータグラフィ ックスにおけるアンチエイリアス方法を提供できる。
[0085] エッジ情報は,通常,エッジの傾き及び切片に関する情報を含む情報であり,ピク セル内の,エッジの傾き,切片,始点及び終点,並びにポリゴンの法線のいずれかを 含むものであってもよい。エッジ情報は通常エッジメモリ(46)に記憶され, CPUなど の制御装置による制御などによりエッジ情報が読み出され,バスを通じて面積算出回 路 (42)又は色選択回路 (43)へ入力される。
[0086] エッジメモリ(46)は,エッジ情報のみならず, Z値をも記憶するエッジ Zメモリのもの を含む。このようなエッジ Zメモリを用いれば,複数のポリゴンの部分があるピクセル上 に存在する場合であっても,効果的に最前面にあるポリゴンを判別できる。
[0087] エッジ本数計算回路を有することは本発明の好ま 、実施態様である。たとえば, あるピクセルに含まれるエッジの数が 2本以上あるかどうか判断し, 1本の場合は以下 に示す各回路を用いてピクセルの色を決定し, 0本又は 2本以上の場合は,各サンプ リングポイントのいずれか又は全ての色の平均を求めることでピクセルの色を決定す るようにしてもよい。このような色の平均を求める回路は,加算回路と除算回路,加算 回路とテーブルなどを適宜用いる事により容易に設計できる。
[0088] [エリアタイプ決定回路]
エリアタイプ決定回路 (45)は,エッジ情報力 ピクセルが分断されるエリアタイプを 決定するための回路である。具体的なエリアタイプ決定回路 (45)として,前記エッジ と前記ピクセルの辺との交点情報を用いて,交点情報とエリアタイプとの関係を記憶 したエリアタイプメモリ(エリアタイプテーブル)を参照することによりエリアタイプを決定 するものがあげられる。
[0089] エリアタイプとして,六角形 (例図 9) ,五角形 (例図 8) ,四角形及び三角形を含むも のがあげられる。また,別のエリアタイプとして,六角形,五角形,四角形及び三角形 を含み,前記四角形は,前記ピクセルと前記ポリゴンの 4つの交点が前記ピクセルの 対向する辺上に存在する四角形と,前記ピクセルと前記ポリゴンの 4つの交点が前記 ピクセルの隣接する辺上に存在する四角形とを含み,前記三角形は,前記ピクセル と前記ポリゴンの 3つの交点が前記ピクセルの対向する辺上に存在する三角形と,前 記ピクセルと前記ポリゴンの 3つの交点が前記ピクセルの隣接する辺上に存在する三 角形とを含むものがあげられる。このようにエリアタイプごとに分類するので容易に面 積を求めることができることとなる。
[0090] エリアタイプ決定回路 (45)は,交点がどの辺上にあるかという情報とエリアタイプと が関連付けて記憶されたエリアタイプ関連テーブルを参照することによりエリアタイプ を決定するものであってもよ 、。
[0091] [面積算出回路]
面積算出回路 (42)は,ピクセルにおけるエッジ情報と,前記ピクセルにおける複数 のサンプリングポイントを用いて,前記ピクセルのうち前記エッジにより分断される部 分の面積 sを決定するための回路である。
[0092] 面積算出回路が求める面積 Sは,たとえば,前記エッジで区切られるピクセルの 2 つの領域のうち,前記ピクセルの中心点を含む領域の面積である。また,あるピクセ ルに含まれるエッジの数が 2本以上ある場合は,あるポリゴンの部分のうちそのピクセ ルに占める領域の面積であってもよいし,あるポリゴンの部分のうちそのピクセルに占 める領域であって他のポリゴンよりも Z値が小さい(前面方向の)領域の面積であって もよい。また,あるピクセルにポリゴンが 2つ以上含まれる場合は,それぞれのポリゴン の部分のうちそのピクセルに占める領域であって他のポリゴンよりも Z値が小さい(前 面方向の)領域の面積を求めてもょ 、し,あるピクセルに占める面積が最も大き 、ポリ ゴンの部分のうちそのピクセルに占める領域であって他のポリゴンよりも Z値が小さい (前面方向の)領域の面積を求めてもよい。また,ポリゴンの中心点を含むポリゴンの 部分のうちそのピクセルに占める領域であって他のポリゴンよりも Z値が小さい(前面 方向の)領域の面積を求めてもょ 、。
[0093] 前記面積算出回路の例として,前記エッジと面積 Sとの関係を記憶した面積テープ ルを参照することにより,前記ピクセルのうち前記エッジにより分断される部分の面積 Sを算出するものがあげられる。より具体的には,エッジとピクセルの辺との 2つの交 点と面積 Sとの関係を格納した面積テーブルがあげられる。このような面積テーブル を用いることで, 2つの交点力も迅速に面積 Sを得ることができる。あるピクセルに含ま れるエッジの数力 ¾本以上ある場合においても,各交点と面積 Sとの関係を格納した 面積テーブルを用意してもよい。しかし,交点が多くなると,記憶しなければならない パターンが多くなり多大なメモリを必要とするようになるので,面積テーブルは,ある 2 つの交点(ひとつのエッジ)についての面積 Sを格納するテーブルを用いるものが好 ましい。図 9に示されるように,あるポリゴンがあるピクセルに 2つのエッジを有する場 合は,面積テーブルを 2回参照し減算回路などで減算することで容易にあるピクセル に占めるあるポリゴンの面積 Sを求めることができる。図 9の 4つの交点を P〜Pとす
1 4 ると,まずは交点 Pと Pとを用い,面積テーブルから台形 P C C C Pの面積を求め
3 4 3 1 2 4 4
,その値をメモリに記憶する。そして,交点 Pと Pとを用いて,台形 P C C C Pの面
1 2 1 1 3 4 2 積を求め,その値をメモリに記憶し,減算回路及び Z又は加算回路を用いて P c P C C Pの面積を求めればよい。 S =台形 P C C C P - (1一台形 P C C C P )よ
4 4 2 1 1 3 4 2 1 1 3 4 2 り,減算回路のみでも面積 Sを求めることができるし,また 2つの台形の面積の和から 1を引いた値となるので,減算回路及び加算回路を用いても面積 Sを求めることがで きる。
[0094] 面積算出回路の他の例として,エリアタイプ決定回路が決定したエリアタイプに応じ て面積算出方法を決定し,前記エッジと面積 Sとの関係を記憶した面積テーブルを 参照することにより,前記ピクセルのうち前記エッジにより分断される部分の面積 Sを 算出するものがあげられる。
[0095] より具体的には,前記面積算出回路は,前記エリアタイプ決定回路が決定したエリ ァタイプと前記エッジ情報とを用い,前記エリアタイプごとに異なる面積算出回路を選 択し,前記エッジ情報に含まれる頂点値情報,及び前記ピクセルと前記ポリゴンの交 点情報を,選択した前記面積算出回路に入力することにより前記ピクセルのうち前記 エッジにより分断される部分の面積 Sを決定するものがあげられる。
[0096] また別の例としては,前記面積算出回路は,前記エリアタイプ決定回路が決定した エリアタイプと前記エッジ情報とを用い,前記エリアタイプごとに異なる面積テーブル を選択し,前記ピクセルと前記ポリゴンの交点情報を,選択した前記面積テーブルに 入力することにより前記ピクセルのうち前記エッジにより分断される部分の面積 Sを決 定するものがあげられる。
[0097] [色選択回路]
色選択回路は,ピクセルにおける複数のサンプリングポイントから色合成に用いる 1 又は複数のサンプリングポイントを選択するか,又は当該サンプリングポイントにおけ る色を選択するための回路である。なお,簡単のために色選択回路が選択した 2つ 色のうち前記ピクセルの中心点を含む領域において選択された色を Caとし,色選択 回路が選択した 2つ色のうち前記ピクセルの中心点を含まない領域において選択さ れた色を Cbとする。
[0098] 色選択回路の例として,以下のものがあげられる。すなわち,ピクセルにおける複数 のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からなり,前記ピク セルの中心点をサンプリングポイントとして選択し,その中心点における色を Caとして 選択する。一方,エッジで区切られるピクセルの 2つの領域のうち,ピクセルの中心点 を含まない領域に含まれるサンプリングポイントにおける色の平均を求めて選択する 。たとえば図 10の 60で示される領域において,ピクセルの中心点を含まない領域に 含まれるサンプリングポイントは Cとじの 2つである力 色を求めるサンプリングポイン
1 3
トとして Cとじを選択し, Cbとして, Cとじの平均を求めればよい。サンプリングボイ
1 3 1 3
ントを選択するには,エッジ情報(交点情報)を用いれば容易に決定できる。たとえば ,エッジがひとつの場合は,どの辺上に交点があるか,また交点の位置情報を用いる 事で容易にサンプリングポイントを決定できる。そして,加算回路と除算回路,加算回 路と 1/2テーブル,又は加算回路と 1/3テーブルを用いることで容易に Cbを求める ことができる。
[0099] 色選択回路の別の例として,以下のものがあげられる。すなわち,ピクセルにおける 複数のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からなり,前 記ピクセルの中心点における色を Caとして選択する。一方,エッジで区切られるピク セルの 2つの領域のうち,前記ピクセルの中心点を含まない領域に含まれる任意の サンプリングポイントにおける色とを選択するものである。たとえば,図 7のようなケー スでは, Cとじ力 サンプリングポイントとして選択され,いずれかの色が Cbとして選
1 3
択される。
[0100] 色選択回路の別の例として,以下のものがあげられる。すなわち,ピクセルにおける 複数のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からなり,エツ ジで区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含む領域に含 まれる任意のサンプリングポイントにおける色と,前記エッジで区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含まない領域に含まれる任意のサンプリ ングポイントにおける色とを選択するものである。図 7のようなケースでは, Cとじとじ
0 2 4 力 サンプリングポイントとして選択され,いずれかの色が Caとして選択される。 Cとじ 力 S,サンプリングポイントとして選択され,いずれかの色が Cbとして選択される。
3
[0101] 色選択回路の別の例として,以下のものがあげられる。すなわち,前記ピクセルに おける複数のサンプリングポイントは,ピクセルの 4頂点及びピクセルの中心点からな り,エッジで区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含む領 域に含まれるサンプリングポイントにおける色の平均を求めたものと,エッジで区切ら れるピクセルの 2つの領域のうち,前記ピクセルの中心点を含まな 、領域に含まれる サンプリングポイントにおける色の平均を求めたものとを選択するものである。
[0102] 色選択回路の別の例として,以下のものがあげられる。すなわち,エッジ情報から, 前記ピクセル中のポリゴンが占める任意の点と,サンプリングポイントのうちポリゴンが 占めない任意の点とを選択することにより,ピクセルにおける複数のサンプリングボイ ントから色合成に用いる 2つのサンプリングポイントを選択するか,又は前者の点と後 者の点における色を選択することにより,当該サンプリングポイントにおける色を選択 するものである。
[0103] [色合成回路]
色合成回路は,面積算出回路が算出した面積 Sと,前記色選択回路が選択した色 を用いて,前記ピクセルのカラーを決定するための回路である。色合成回路の例とし て,ピクセルの面積を 1,前記面積算出回路が算出した前記面積 Sを,前記エッジで 区切られるピクセルの 2つの領域のうち,前記ピクセルの中心点を含む領域の面積と し,前記色選択回路が選択した 2つ色のうち前記ピクセルの中心点を含む領域にお V、て選択された色を Caとし,前記色選択回路が選択した 2つ色のうち前記ピクセルの 中心点を含まない領域において選択された色を Cbとしたときに, Ca X S + Cb (l -S) を求めることにより,前記ピクセルのカラーを決定するものがあげられる。
[0104] より具体的な色合成回路として,ピクセルの面積を 1,前記面積算出回路が算出し た前記面積 Sを,前記エッジで区切られるピクセルの 2つの領域のうち,前記ピクセル の中心点を含む領域の面積とし,前記色選択回路が選択した 2つ色のうち前記ピク セルの中心点を含む領域において選択された色を とし,前記色選択回路が選択 した 2つ色のうち前記ピクセルの中心点を含まな 、領域にぉ 、て選択された色を と したときに,乗算回路,加算回路及び除算回路 (又は [1 Sテーブル])を用いること により,乗算回路が Sと Caとを乗算し S X Caを求め,除算回路又は [1—Sテーブル]が (1 S)の値を求め,乗算回路が(1 S) X Cbを求め,加算回路が S X Caと(1 S) X Cbとを加算することにより S X Ca+ (l S) X Cbを求め,前記ピクセルのカラーを 決定するものがあげられる。 [0105] [動作例]
以下,上記したアンチエイリアス回路の動作例を説明する。エッジメモリ 46からある ポリゴンのエッジ情報,又はエッジ情報と Z値とを読み出す。読み出された情報はバ スを通じて,エリアタイプ決定回路 (45) ,面積算出回路 (42) ,及び色選択回路 (43) とに入力される。
[0106] エリアタイプ決定回路 (45)は,エッジ情報力もエリアタイプを決定する。たとえば,前 記エッジと前記ピクセルの辺との交点情報を用いて,交点情報とエリアタイプとの関 係を記憶したエリアタイプメモリ(エリアタイプテーブル)を参照することによりエリアタ イブを決定する。求められたエリアタイプ情報は,バスを通じて面積算出回路へ入力 される。また,求められたエリアタイプ情報は,ノ スを通じて色選択回路へ入力されて ちょい。
[0107] 面積算出回路 (42)は,ピクセルにおけるエッジ情報と,前記ピクセルにおける複数 のサンプリングポイントを用いて,及び Z又はエリアタイプ情報を用いて,前記ピクセ ルのうち前記エッジにより分断される部分の面積 Sを決定する。
[0108] 面積算出回路が面積 Sを求める方法として,エッジ情報に含まれる交点と面積 Sと の関係を記憶した面積テーブルを参照することにより,前記ピクセルのうち前記エツ ジにより分断される部分の面積 Sを算出するものがあげられる。この面積テーブルは ,エリアタイプごとに設けられ,エリアタイプに応じた面積テーブルが選択され,その 選択されたテーブルに交点情報を参照して,面積 Sが求められてもよい。このようにし て面積 Sが求められる。求められた面積 Sは,バスを通じて色合成回路 (44)に入力さ れる。
[0109] 一方,色選択回路が,あるピクセルにおける複数のサンプリングポイントから色合成 に用いる 1又は複数のサンプリングポイントを選択するか,又は当該サンプリングボイ ントにおける色を選択する。各サンプリングポイントの色情報は,色メモリ(47)に記憶 されており,記憶された色情報を読み出すことで各サンプリングポイントにおける色情 報を得ることができる。色を選択する例として,あるピクセルの中心点をサンプリングポ イントとして選択し,その中心点における色を Caとして選択する。一方,エッジで区切 られるピクセルの 2つの領域のうち,ピクセルの中心点を含まな!/、領域に含まれるサ ンプリングポイントにおける色の平均を求めて選択する。このようにして色合成に用い られる色 Ca及び Cbが決定される。決定された色色 Ca及び Cbは,バスを通じて色合 成回路 (44)に入力される。
[0110] 色合成回路が,面積算出回路が算出した面積 Sと,前記色選択回路が選択した色 を用いて,前記ピクセルのカラーを決定する。具体的には,ピクセルの面積を 1,前記 面積算出回路が算出した前記面積 Sを,前記エッジで区切られるピクセルの 2つの領 域のうち,前記ピクセルの中心点を含む領域の面積とし,前記色選択回路が選択し た 2つ色のうち前記ピクセルの中心点を含む領域にぉ 、て選択された色を Caとし,前 記色選択回路が選択した 2つ色のうち前記ピクセルの中心点を含まない領域におい て選択された色を Cbとしたときに, Ca X S + Cb (l— S)を求めることにより,前記ピクセ ルのカラーを決定する。
[0111] [プログラム]
これまで回路 (ノヽ一ドウエア)について説明したが,アンチエイリアス回路の概念を 用いて,アンチエイリアスを行うプログラムを提供できることは 、うまでもな!/、。
[0112] すなわち,本発明によれば,コンピュータを,ピクセルにおけるエッジ情報と,前記 ピクセルにおける複数のサンプリングポイントを用いて,前記ピクセルのうち前記エツ ジにより分断される部分の面積 Sを決定する面積算出手段と,前記ピクセルにおける 複数のサンプリングポイントから色合成に用いる 1又は複数のサンプリングポイント又 は当該サンプリングポイントにおける色を選択する色選択手段と,前記面積算出手段 が算出した面積 Sと,前記色選択手段が選択した色を用いて,前記ピクセルのカラー を決定する色合成手段とを具備するように機能させるアンチエイリアスプログラムをも 提供できる。
[0113] また,別の態様としては,コンピュータを,エッジ情報力もピクセルが分断されるエリ ァタイプを決定するエリアタイプ決定手段と,前記エッジ情報,又は前記エッジ情報と エリアタイプ情報とを用いて,前記ピクセルのうち前記エッジにより分断される部分の 面積 Sを決定する面積算出手段と,前記ピクセルにおける複数のサンプリングポイン トから色合成に用いる 1又は複数のサンプリングポイント又は当該サンプリングポイン トにおける色を選択する色選択手段と,前記面積算出手段が算出した面積 Sと,前記 色選択手段が選択した色を用いて,前記ピクセルのカラーを決定する色合成手段と を具備するものとして機能させるアンチエイリアスプログラムがあげられる。
[0114] これらのプログラムが用いられるコンピュータは,たとえば,コンピュータを上記の各 手段として機能させるプログラムを記憶したメインメモリと,情報を入力するための入 力装置と,情報を装置外に出力するための出力装置と,情報を一時的又は半永久 的に記憶するデータベースなどの記憶装置と,各種演算処理を行う中央処理装置( CPU)とを具備するものがあげられる。 CPUなどが,メインメモリ中の制御プログラム( アンチエイリアスプログラム)の指令を受け,これらの手段を実現する動作をするよう に指示すればよい。
[0115] [塗りつぶし処理のフロー]
図 12は,本発明における塗りつぶし処理例を説明するためのフローチャートである 。なお,図中 Sはステップ(工程)を示す。以下では,図 12に従って,塗りつぶし処理 を詳細に説明する。
[0116] 画像合成及び,ベクタ画像にあたり,これら合成対象画像のうち最大レイヤ画像幅 を変数 TotalXにセットを行う(S101)。ステータスを示す変数 Stateを初期化する(S10 2)。前に描かれたベクタ画像のエッジ情報を格納するメモリである PreEdgelnfo (プレ エッジインフォーメイシヨン)を初期化する(S 103)。 S101〜S103のうち 2つ又は全 てのステップは,好ましくは同時又は並行して行われる。これにより前処理が完了す る。
[0117] その後,ブロックループステップ(S 104)が始まる。各レイヤから最小幅の画像を求 める(ステップ S105)。ステップ S105の工程で求められた最小幅の変数である Curre ntWidth (カレントウイズ (現状況での最小幅) )によって規定されるブロック単位で処 理を行うと同時に,変数 TotalXから CurrentWidthを減算し,未処理の水平幅を保持 するとともにブロック幅を更新する。 S106によって, S 104のブロックループステップ 内では,ブロック幅の更新以降, y方向ループステップ(S107)により,垂直方向に処 理を進めるとともに,レイヤループステップ(S 108)以降,描画対象レイヤ判定ステツ プ(S124)において,レイヤ画像及び,ベクタ画像の判断を行う。一方,それぞれの レイヤ画像の X方向ループステップ(S125) ,ベクタ画像 X方向ループステップ(S 10 9)以降,水平方向の処理を行う。
[0118] ベクタ画像に対する処理について,ベクタ画像 X方向ループステップ(S 109)以降 ,ベクタ画像エッジ情報判定ステップにて,エッジ情報生成部 (4)内にて生成されるェ ッジの有無,対象エッジの y方向の符号を保持する 2ビットからなるエッジ情報変数 Ed gelnfoを用いて,エッジの有無の判定を行う(S110)。もし,対象画素にエッジ情報が ある場合は,以前に見つかったエッジ情報情報メモリである PreEdgelnfoに格納されて V、る値と今回のエッジ情報を比較する(前回エッジとの差分判定ステップ: S 111)。 S 111において,前回エッジ情報と違うかどうかを判定をし,判定の結果,違う場合は, エッジ情報更新ステップ(S 112)にて PreEdgelnfoに格納された前回のエッジ情報変 数情報を更新すると同時に,ステータス変数 Stateの反転演算を行うことで,塗りつぶ し領域の有効化 ·無効化の制御を行う。
[0119] その後,ステータス変数 Stateが 1の場合は塗りつぶし領域, 0の場合は塗りつぶし 対象外領域と定義し,ステータス判定ステップ (S 113)にて,分岐を行い,もし,塗り つぶし領域である場合は,ベクタ画像塗りつぶし時のラインメモリから背景画像デー タ読み出す (S115)。そして,画像データ読み出しを行い,ベクタ画像塗りつぶし時 のべクタ画像及び背景画像のブレンディングを行う(S 116)。 S116にて,対象画素 の透過度を示すたとえば 4ビットからなる変数 EdgeAlphaを用いて,ブレンディング演 算を行い,ベクタ画像塗りつぶし時のベクタ画像結果のラインメモリへの格納する(S 117)。 S117にて,ラインメモリへの合成結果画素データの格納を行う。
[0120] また,ステータス判定ステップ (S 113)にて,分岐を行い,もし,塗りつぶしを行わな V、領域である場合は,ベクタ画像塗りつぶしを行わな 、ときのエッジ透過度を判定す る(S119)。 S119にて,対象画素の透過度を示す 4ビットからなる変数 EdgeAlphaが Oxfでない場合つまり,半透過である場合は,ベクタ画像塗りつぶしを行わない時の ラインメモリから背景画像データ読み出す (S120)。そして,画像データ読み出しを 行 、,ベクタ画像塗りつぶしを行わな 、時のベクタ画像及び背景画像のブレンディン グを行う(S121)。 S121にて,対象画素の透過度を示す 4ビットからなる変数 EdgeAl phaを用い,ブレンディング演算を行い,ベクタ画像塗りつぶしを行わない時のベクタ 画像結果をラインメモリへの格納する(S 122)。 S122にて,ラインメモリへの合成結 果画素データを格納する。一方,対象画素の透過度を示す 4ビットからなる変数 Edge Alphaが Oxfである場合つまり,不透過である場合は,ブレンディング演算を行わない で,ベクタ画像塗りつぶしを行わな 、時のベクタ画像結果のラインメモリへの格納す る(S122)。 S122にて,ラインメモリへの合成結果画素データを格納する。
[0121] また,これから合成を行う対象画像が,レイヤ画像力どうか判断する(S 124)。レイ ャ画像である場合は,レイヤ画像 X方向ループステップ(S 125)以降の処理により, 水平方向の処理を行う。
[0122] レイヤ画像 X方向ループステップ(S125)以降の水平方向の処理においては,レイ ャ画像描画時のエッジ透過度判定ステップ (S 126)にて,対象画素位置におけるェ ッジ画像の透過度を示す 4ビットからなる変数 EdgeAlphaを判断する。そして,対象画 素位置におけるエッジ画像の透過度を示す 4ビットからなる変数 EdgeAlphaが Oxfで ない場合つまり,半透過である場合は,レイヤ画像ラインメモリから背景画像データ読 み出す (S127)。画像データ読み出しを行い,レイヤ画像のレイヤ画像及び背景画 像のプレンデイングステップ(S 128)にて,対象画素の透過度を示す 4ビットからなる 変数 EdgeAlphaを用いて,ブレンディング演算を行う。その後,レイヤ画像のレイヤ画 像結果のラインメモリへ格納する(S 129)。
[0123] 対象画素の透過度を示す 4ビットからなる変数 EdgeAlphaが Oxfである場合つまり, 不透過である場合は,プレンデイング演算を行わないで,レイヤ画像プレンデイング を行わないときのレイヤ画像結果のラインメモリへの格納ステップ(S 130)にて,ライ ンメモリへの合成結果画素データの格納を行う。
[0124] ベクタ画像及び,レイヤ画像の処理を水平方向に処理をおこなった後(S131, S1 23) ,ステータス変数 State及び前回のエッジ情報メモリである PreEdgelnfoの初期化 を行い,レイヤごとの画像重ね合わせ処理(S 134) ,及び水平方向の処理(S135) を行う。その後, TotalX終了判定ステップ(S136)においてブロックループに関して 終了判定を行い,全画面について処理を完了した場合,ブロックループ終端ステツ プ(S137)後,塗りつぶし処理終了となる(S138)。
[0125] [プログラム]
本発明の画像生成装置は,基本的にはハードウェア,又はハードウェアとソフウェア との協働により実装される。そのようなソフトウェアとして,コンピュータを,あるピクセル におけるポリゴンのエッジ情報を格納するためのエッジ情報格納メモリとしての手段と ,ベクトル形式のポリゴンの形状データを格納するためのベクタデータ格納メモリとし ての手段と,前記べクタデータ格納メモリに格納されたポリゴンの形状データに基づ V、てラスタライズ処理を行 、,ラスタライズ結果であるポリゴンのエッジ情報を前記エツ ジ情報格納メモリに書き出すためのエッジ情報生成部としての手段と,少なくとも背景 に関する画像情報及び複数のレイヤごとの画像情報を格納するレイヤ画像格納メモ リとしての手段,前記エッジ情報格納メモリに格納されたエッジ情報を用いて,ベクタ 形式で定義された画像の内部を塗りつぶす際に,前記レイヤ画像格納メモリに格納 された背景に関する画像情報及びレイヤごとの画像情報を読み出して,ベクタ形式 の画像及びレイヤごとの画像情報を重ね合わせ,ピクセル単位の画像処理演算を行 うことによりピクセル単位の画像合成を行う画像合成部としての手段と,前記画像合 成部が合成した画像を記憶するための結果画像格納メモリとしての手段として機能さ せるプログラムがあげられる。それらの各手段は,上記において説明したものと同様 に機能するので,ここでは上記の記載を準用することとする。
[0126] [記録媒体]
本発明は,上記のプログラムを格納した,コンピュータにより読み取ることができる記 録媒体をも提供できる。このような記録媒体としては, CD-ROM, DVD,ハードデ イスク又はコンピュータ内のメモリなどがあげられる。そして,コンピュータの入力部に 所定の情報が入力さると,制御部の指令を受けてプログラムが読み取され,制御部 の指令を受けた演算部が,読み出されたプログラムを用いて,入力されたデータや, 記憶部に記憶されるデータなどを読み出し,例えば記憶部のメモリを作業領域として 利用し,所定の演算を行う。演算結果は,例えばメモリに一時的に記憶された後,出 力部から出力される。これらのデータは,例えばバスを通じて,伝達されればよい。こ のようにして,ハードウェア資源とプログラムとが協働した処理が行われる。
[0127] [コンピュータの構成]
図 13は,本発明のある実施態様 (コンピュータ)を示すブロック図である。この実施 態様は,コンピュータグラフィックスによるコンピュータ (グラフィック用コンピュータなど )に関する。図 13に示されるとおり,このコンピュータ 101は, 中央演算装置(CPU) 10 2,ジオメトリ演算回路 103などのジオメトリ演算部,レンダラー 104などの描画部,テク スチヤ生成回路 105などのテクスチャ生成部,照光処理回路 107などの照光処理部, 表示回路 108などの表示情報作成部,フレームバッファ 109,及びモニター 110を具備 する。これらの要素は,ノ スなどにより接続され,相互にデータを伝達できる。そのほ カ 図示しないメインメモリや,各種テーブル,ワーク領域となるワークメモリ 111,テク スチヤを格納するテクスチャメモリ 112などを具備する記憶部などを有しても良い。各 部を構成するハードウェアは,例えばバスなどを介して連結されている。なお,記憶 部は, VRAMなどの RAMや, CR— ROM, DVD,ハードディスクなどにより構成さ れても良い。
[0128] 中央演算装置 (CPU) 102は,画像を生成するためのプログラムなどを制御するた めの装置である。ワークメモリ 111は, CPU102で使用するデータ及びディスプレイリス トなどを記憶してもよい。そして, CPU102は,メインメモリに記憶されたプログラムなど を読み出して,所定の処理を行ってもよい。ただし,ハードウェア処理のみにより所定 の処理を行っても良い。 CPU102は,たとえばワークメモリ 111から,ワールド座標の 3 次元オブジェクトデータとしてのポリゴンデータを読出し,ポリゴンデータをジオメトリ 演算回路 103へ出力する。具体的には,メインプロセッサ,コプロセッサ,データ処理 プロセッサ,四則演算回路又は汎用演算回路などを適宜有するものがあげられる。こ れらはバスなどにより連結され,信号の授受が可能とされる。また,圧縮された情報を 伸張するためのデータ伸張プロセッサを備えても良 、。
[0129] ジオメトリ演算回路 103は,入力されたポリゴンデータに対して,視点を原点とする視 点座標系のデータに座標変換などを行うための回路である。ジオメトリ演算回路 103 は,処理したポリゴンデータを,レンダラー 104へ出力する。具体的なジオメトリ演算回 路として,前記メインプロセッサとバスなどで連結された,ジオメトリプロセッサ,コプロ セッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
[0130] レンダラー 104は,ポリゴン単位のデータをピクセル単位のデータに変換するための 回路又は装置である。レンダラー 104は,ピクセル単位のデータをテクスチャ生成回 路 105へ出力する。具体的なレンダラー 104として,前記メインプロセッサとバスなどで 連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられ る。
[0131] テクスチャ生成回路 105は,テクスチャメモリ 112に記憶されるテクスチャデータに基 づき,ピクセル単位のテクスチャカラーを生成するための回路である。テクスチャ生成 回路 105は,テクスチャカラー情報を有するピクセル単位のデータを,照光処理回路 1 07へ出力する。具体的なテクスチャ生成回路 105として,前記メインプロセッサとバス などで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあ げられる。
[0132] 照光処理回路 107は,テクスチャカラー情報を有するポリゴンに対し,ピクセル単位 で法線ベクトル,重心座標などを利用して陰影付けなどを行うための回路である。照 光処理回路 107は,陰影付けした画像データを,表示回路 108へ出力する。具体的な 照光処理回路 107として,前記メインプロセッサとバスなどで連結されたデータ処理プ ロセッサ,四則演算回路又は汎用演算回路などがあげられる。そして,メモリに格納さ れたテーブルなど力 適宜光に関する情報を読み出して陰影付けを行えばよい。
[0133] 表示回路 108は,照光処理回路 107から入力された画像データをフレームバッファ 1 09に書き込み,またフレームバッファ 109に書き込まれた画像データを読み出し,制 御して表示画像情報を得るための回路である。表示回路 108は,表示画像情報をモ 二ター 110へ出力する。具体的な表示回路として,前記メインプロセッサとバスなどで 連結された描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回 路などがあげられる。
[0134] モニター 110は,入力された表示画像情報にしたがって,コンピュータグラフィックス 画像を表示するための装置である。
[0135] 本発明のコンピュータは,レンダラー,テクスチャ生成回路及び,表示装置として, 本発明の画像生成装置を具備するので,これらにおける回路素子を共用することで ,ハードウェアの規模を小さくできる。また,ジオメトリ部を 2Dベクタ画像に適用するこ とで, 2Dベクタ画像に対するジォメトリ変換が可能となり,専用ハードウェアまたは,ソ フトウエアによる演算を加えることなく,行列演算による形状変形,拡大縮小をべクタ 画像に対して行うことができる。さらに,従来別々の物と扱われてきた, 2D及び 3Dの 表示命令を一元的に扱うことが可能となり,また,これら 2DZ3D画像の合成につい ても同時に処理を行うことができることから,システムが複雑になる事態を効果的に防 止できる。
[0136] [コンピュータの動作]
以下,コンピュータを用いて画像を生成する動作例を説明する。 CPU102は,ヮー クメモリ 111から,ポリゴンデータを読出し,ポリゴンデータをジオメトリ演算回路 103へ 出力する。ジオメトリ演算回路 103は,入力されたポリゴンデータに対して,視点を原 点とする視点座標系のデータに座標変換するなどの処理を行う。ジオメトリ演算回路 103は,処理したポリゴンデータを,レンダラー 104へ出力する。レンダラー 104は,ポリ ゴン単位のデータをピクセル単位のデータに変換する。レンダラー 104とテクスチャ生 成回路 105は,テクスチャメモリ 112に記憶されるテクスチャデータに基づき,ピクセル 単位のテクスチャカラーを生成する。テクスチャ生成回路 105は,テクスチャカラー情 報を有するピクセル単位のデータを,照光処理回路 107へ出力する。照光処理回路 1 07は,テクスチャカラー情報を有するポリゴンに対し,ピクセル単位で法線ベクトル, 重心座標などを利用して陰影付けを行う。照光処理回路 107は,陰影付けした画像 データを,表示回路 108へ出力する。表示回路 108は,照光処理回路 107から入力さ れた画像データをフレームバッファ 109に書き込み,またフレームバッファ 109に書き 込まれた画像データを読み出し,表示画像情報を得る。また,このとき同時にエッジ ノ ッファ等の情報を用いることで, 2D/3Dの合成処理を行うことができる。表示回路 108は,表示画像情報をモニター 110へ出力する。モニター 110は,入力された表示 画像情報にしたがって,コンピュータグラフィックス画像を表示する。
[0137] 本発明のコンピュータは,レンダラー,テクスチャ生成回路及び,表示装置として, 本発明の画像生成装置を具備するので,これらにおける回路素子を共用することで ,ハードウェアの規模を小さくできる。また,ジオメトリ部を 2Dベクタ画像に適用するこ とで, 2Dベクタ画像に対するジォメトリ変換が可能となり,専用ハードウェアまたは,ソ フトウエアによる演算を加えることなく,行列演算による形状変形,拡大縮小をべクタ 画像に対して行うことができる。さらに,従来別々の物と扱われてきた, 2D·ベクタ及 び 3Dの表示命令を一元的に扱うことが可能となり,また,これら 2DZ3D及びべクタ 画像の合成についても同時に処理を行うことができることから,システムが複雑になる 事態を効果的に防止できる。
[0138] [ゲーム機の構成]
図 14は,本発明のある実施形態(ゲーム機)のブロック図である。このブロック図で 表される実施形態は,特に携帯用,家庭用又は業務用のゲーム機として好適に利用 されうる。そこで,以下では,ゲーム機として説明する。なお,同図に示されるゲーム 機は,少なくとも処理部 200を含めばよく(又は処理部 200と記憶部 270,又は処理部 2 00と記憶部 270と情報記憶媒体 280を含んでもよく) ,それ以外のブロック(例えば操作 部 260,表示部 290,音出力部 292,携帯型情報記憶装置 294,通信部 296)について は,任意の構成要素とすることができる。
[0139] 処理部 200は,システム全体の制御,システム内の各ブロックへの命令の指示,ゲ ーム処理,画像処理,音処理などの各種の処理を行うものである。処理部 200の機能 は,各種プロセッサ(CPU, DSP等),又は ASIC (ゲートアレイ等)などのハードゥエ ァゃ,所与のプログラム (ゲームプログラム)により実現できる。
[0140] 操作部 260は,プレーヤが操作データを入力するためのものである。操作部 260は, の機能は,例えば,レバー,ボタン,外枠,及びノヽードウエアを備えたコントローラによ り実現できる。なお,特に携帯用ゲーム機の場合は,操作部 260は,ゲーム機本体と 一体として形成されても良い。コントローラからの処理情報は,シリアルインターフエ一 ス (I/F)やバスを介してメインプロセッサなどに伝えられる。
[0141] 記憶部 270は,処理部 200や通信部 296などのワーク領域となるものである。また,プ ログラムや各種テーブルなどを格納しても良い。記憶部 270は,例えば,メインメモリ 2 72,フレームバッファ 274,及びテクスチャ記憶部 276を含んでもよく,そのほか各種テ 一ブルなどを記憶しても良い。記憶部 270の機能は, ROMや RAMなどのハードゥエ ァにより実現できる。
RAMとして, VRAM, DRAM又は SRAMなどがあげられ,用途に応じて適宜選択 すればよい。フレームバッファ 274を構成する VRAMなどは,各種プロセッサの作業 領域として用いられる。
[0142] 情報記憶媒体 (コンピュータにより使用可能な記憶媒体) 280は,プログラムゃデー タなどの情報を格納するものである。情報記憶媒体 280は,いわゆるゲームカセットな どとして販売されうる。そして,情報記憶媒体 280の機能は,光ディスク (CD, DVD) , 光磁気ディスク (MO) ,磁気ディスク,ハードディスク,磁気テープ,又はメモリ (RO M)などのハードウェアにより実現できる。処理部 200は,この情報記憶媒体 280に格 納される情報に基づいて種々の処理を行う。情報記憶媒体 280には,本発明(本実 施形態)の手段 (特に処理部 200に含まれるブロック)を実行するための情報 (プログ ラム又はプログラム及びデータ)が格納される。なお,上記記憶部にプログラムゃデ ータなどの情報を格納した場合は,情報記憶媒体 280は必ずしも必要ない。情報記 憶媒体 280に格納される情報の一部又は全部は,例えば,システムへの電源投入時 等に記憶部 270に転送されることになる。また,情報記憶媒体 280に記憶される情報と して,所定の処理を行うためのプログラムコード,画像データ,音データ,表示物の形 状データ,テーブルデータ,リストデータ,本発明の処理を指示するための情報,そ の指示に従って処理を行うための情報等の少なくとも 2つを含むものがあげられる。
[0143] 表示部 290は,本実施形態により生成された画像を出力するものであり,その機能 は, CRT (ブラウン管), LCD (液晶), OEL (有機電界発光素子), PDP (プラズマデ イスプレイパネル)又は HMD (ヘッドマウントディスプレイ)などのハードウェアにより 実現できる。
[0144] 音出力部 292は,音を出力するものである。音出力部 292の機能は,スピーカなどの ハードウェアにより実現できる。音出力は,例えばバスを介してメインプロセッサなどと 接続されたサウンドプロセッサにより,音処理が施され,スピーカなどの音出力部から 出力される。
[0145] 携帯型情報記憶装置 294は,プレーヤの個人データやセーブデータなどが記憶さ れるものである。この携帯型情報記憶装置 294としては,メモリカードや携帯型ゲーム 装置などがあげられる。携帯型情報記憶装置 294の機能は,メモリカード,フラッシュ メモリ,ハードディスク, USBメモリなど公知の記憶手段により達成できる。
[0146] 通信部 296は,外部(例えばホスト装置や他の画像生成システム)との間で通信を行 うための各種の制御を行う任意のものである。通信部 296の機能は,各種プロセッサ, 又は通信用 ASICなどのハードウェアや,プログラムなどにより実現できる。 [0147] ゲーム機を実行するためのプログラム又はデータは,ホスト装置 (サーバー)が有す る情報記憶媒体力 ネットワーク及び通信部 296を介して情報記憶媒体 280に配信す るようにしてちょい。
[0148] 処理部 200は,ゲーム処理部 220,画像処理部 230,及び音処理部 250を含むものが あげられる。具体的には,メインプロセッサ,コプロセッサ,ジオメトリプロセッサ,描画 プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられ る。これらは適宜バスなどにより連結され,信号の授受が可能とされる。また,圧縮さ れた情報を伸張するためのデータ伸張プロセッサを備えても良い。
[0149] ここでゲーム処理部 220は,コイン (代価)の受け付け処理,各種モードの設定処理 ,ゲームの進行処理,選択画面の設定処理,オブジェクトの位置や回転角度 (X, Y 又は Z軸回り回転角度)を求める処理,オブジェクトを動作させる処理 (モーション処 理),視点の位置 (仮想カメラの位置)や視線角度 (仮想カメラの回転角度)を求める 処理,マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理,ヒッ トチェック処理,ゲーム結果 (成果,成績)を演算する処理,複数のプレーヤが共通の ゲーム空間でプレイするための処理,又はゲームオーバー処理などの種々のゲーム 処理を,操作部 260からの操作データや,携帯型情報記憶装置 294からの個人デー タ,保存データや,ゲームプログラムなどに基づいて行う。
[0150] 画像処理部 230は,ゲーム処理部 220からの指示等にしたがって,各種の画像処理 を行うものである。また,音処理部 250は,ゲーム処理部 220からの指示等にしたがつ て,各種の音処理を行う。
[0151] ゲーム処理部 220,画像処理部 230,音処理部 250の機能は,その全てをハードゥエ ァにより実現してもよいし,その全てをプログラムにより実現してもよい。又は,ハード ウェアとプログラムの両方により実現してもよい。画像処理部 230は,ジオメトリ演算部 2 32 (3次元座標演算部) ,描画部 240 (レンダリング部)を含むものがあげられる。
[0152] ジオメトリ演算部 232は,座標変換,クリッピング処理,透視変換,又は光源計算など の種々のジオメトリ演算 (3次元座標演算)を行う。そして,ジオメトリ処理後 (透視変換 後)のオブジェクトデータ (オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度 データ等)は,例えば,記憶部 270のメインメモリ 272に格納されて,保存される。 [0153] 描画部 240は,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記 憶部 276に記憶されるテクスチャなどに基づいて,オブジェクトをフレームバッファ 274 に描画する。
[0154] 描画部 240は,例えば,テクスチャマッピング部 242,シェーディング処理部 244を含 むものがあげられる。具体的には,描画プロセッサにより実装できる。描画プロセッサ は,テクスチャ記憶部,各種テーブル,フレームバッファ, VRAMなどとバスなどを介 して接続され,更にディスプレイと接続される。
[0155] テクスチャマッピング部 242は,環境テクスチャをテクスチャ記憶部 276から読み出し ,読み出された環境テクスチャを,オブジェクトに対してマッピングする。
[0156] シェーディング処理部 244は,オブジェクトに対するシェーディング処理を行う。例え ば,ジオメトリ処理部 232が光源計算を行い,シェーディング処理用の光源の情報や ,照明モデルや,オブジェクトの各頂点の法線ベクトルなどに基づいて,オブジェクト の各頂点の輝度 (RGB)を求める。シェーディング処理部 244は,この各頂点の輝度 に基づいて,プリミティブ面 (ポリゴン, 曲面)の各ドットの輝度を例えば,ホンシエーデ イングや,グーローシェーディングなどにより求める。
[0157] ジオメトリ演算部 232は,法線ベクトル処理部 234を含むものがあげられる。法線べク トル処理部 234は,オブジェクトの各頂点の法線ベクトル (広義にはオブジェクトの面 の法線ベクトル)を,ローカル座標系力 ワールド座標系への回転マトリクスで回転さ せる処理を行ってもよい。
[0158] 本発明のゲーム機は,画像処理部に,本発明の画像生成装置を具備する。これに より,回路素子の共有ィ匕を図れるとともに,ゲーム処理部 220からの制御先を画像処 理に関して一元化することが可能となり,ベクタ ' 2D ' 3D画像処理に関する処理部を 1つにすることにより,複雑な制御を避け,システムの複雑度を低減することができる。 なお,ゲーム機における構成を適宜利用すれば,スロットマシーンやパチンコ遊技機 などにおける画像表示装置としても機能しうるものを得ることができる。
[0159] [ゲーム機の基本動作]
システムの電源が ONになると,情報記憶媒体 280に格納される情報の一部又は全 部は,例えば,記憶部 270に転送される。そして,ゲーム処理用のプログラムが,例え ばメインメモリ 272に格納され,様々なデータが,テクスチャ記憶部 276や,図示しない テーブルなどに格納される。
[0160] 操作部 260からの操作情報は,例えば,図示しないシリアルインターフェイスやバス を介して,処理部 200へ伝えられ,音処理や,様々な画像処理が行われる。音処理部 250により処理された音情報は,バスを介して音出力部 292へ伝えられ,音として放出 される。また,メモリカードなどの携帯型情報記憶装置 194に記憶されたセーブ情報な ども,図示しないシリアルインターフェイスやバスを介して,処理部 200へ伝えられ所 定のデータが記憶部 170から読み出される。
[0161] 画像処理部 230が,ゲーム処理部 220からの指示等にしたがって,各種の画像処理 を行う。具体的には,ジオメトリ演算部 232が,座標変換,クリッピング処理,透視変換 ,又は光源計算などの種々のジオメトリ演算 (3次元座標演算)を行う。そして,ジオメ トリ処理後(透視変換後)のオブジェクトデータ (オブジェクトの頂点座標,頂点テクス チヤ座標,又は輝度データ等)は,例えば,記憶部 270のメインメモリ 272に格納されて ,保存される。次に,描画部 240が,ジオメトリ演算後 (透視変換後)のオブジェクトデ ータと,テクスチャ記憶部 276に記憶されるテクスチャなどとに基づいて,オブジェクト をフレームバッファ 274に描画する。
[0162] フレームバッファ 274に格納された情報は,バスを介して表示部 290へ伝えられ,描 画されることとなる。このようにして,コンピュータグラフィックを有するゲーム機として 機能する。
[0163] 本発明のゲーム機は,画像処理部に,本発明の画像生成装置を具備するので,回 路素子などを共有することで,ハードウェア規模を縮減でき,ベクタ ' 2D ' 3D画像処 理部を一元化することにより,システムが複雑になる事態を防止できることで,無駄な ハードウ ア'制御処理を少なくすることができる。前記により,開発 ·製造コスト,消費 電力を低減することができるため,特に携帯式ゲーム機などに好適に利用される。
[0164] [携帯電話機の構成]
図 15は,本発明のある実施形態 (コンピュータグラフィック機能つき携帯電話機)の ブロック図である。このブロック図で表される実施形態は,特に 3次元コンピュータダラ フィック機能つき携帯電話機,特にゲーム機能付携帯電話や,ナビゲーシヨン機能 付形態電話として好適に利用されうる。
[0165] 図 15に示されるように,この携帯電話は,制御部 221と,制御部 221のためのプログ ラムや画像データなどが格納され,制御部や通信部などのワーク領域となるメモリ部 2 22と,無線通信を行うための無線通信機能部 223と,静止画や動画を撮影してデジタ ル信号に変換する CCDカメラなどの任意要素である撮像部 224と,画像や文字を表 示するための LCDなどの表示部 225と,テンキーや各種機能キーなどを含む操作部 226と,音声通話のためのマイクなどの音声入力部 227と,レシーバやスピーカなど音 を出力するための音声出力部 228と,当該携帯電話端末を動作させるための電池 22 9と,電池 229を安定化し各機能部へ分配する電源部 230を含む。
[0166] 制御部 201は,携帯電話システム全体の制御,システム内の各ブロックへの命令の指 示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。制御部 221 の機能は,各種プロセッサ(CPU, DSP等),又は ASIC (ゲートアレイ等)などのハ 一ドウエアや,所与のプログラム (ゲームプログラム)により実現できる。
[0167] より具体的には,制御部は,図示しない画像処理部を具備し,画像処理部は,ジォ メトリ演算回路などのジオメトリ演算部と,描画部 (レンダラー)とを具備する。さらに, テクスチャ生成回路,照光処理回路,又は表示回路などを具備してもよい。更には, 先に説明したコンピュータやゲーム機における描画処理回路を適宜具備すればよい
[0168] 本発明の携帯電話は,制御部に含まれるジオメトリ演算部や描画部として,本発明 の画像生成装置を具備するので,回路素子などを共有することで,ハードウェア規模 を縮減でき,ベクタ ' 2D· 3D画像処理部を一元化することにより,システムが複雑に なる事態を防止できることで,無駄なハードウェア ·制御処理を少なくすることができる 。前記により,開発'製造コスト,消費電力を低減することができるため,携帯電話など 小規模な電話に好適に利用される。
[0169] [携帯電話機の動作例]
まず,音声による通信動作について説明する。例えば音声入力部 227に入力された 音声は,インターフェイスによりデジタル情報に変換され,制御部 221によって,所定 の処理が施され,無線通信機能部 223から無線信号として出力される。また,相手の 音情報を受信する場合は,無線通信機能部 223が無線信号を受信し,所定の変換 処理が施された後,制御部 221の制御を受けて,音声出力部 228から出力される。
[0170] 次に,画像を処理するための動作や処理は,基本的には先に説明したコンビユー タゃゲーム機における動作や処理と同様である。操作部 224から,図示しないインタ 一フェイスやバスを介して処理情報が入力されると,例えば,制御部 221中の画像処 理部の指令に基づき,ジオメトリプロセッサなどが, RAMなどの作業領域,各種テー ブルなどを適宜利用し,ジオメトリ演算を行う。さらに,制御部 221のレンダラーは,制 御部 221中の画像処理部の指令に基づき,レンダリング処理を行う。力リング処理ゃク リツビング処理,アンチエイリアス処理などが適宜施された画像情報は,描画プロセッ サにより所定の描画処理を施され,フレームバッファに記憶され,表示部に画像とし て表示される。このようにして, 3次元コンピュータグラフィックスが表示される。
[0171] 本発明の携帯電話は,制御部に含まれるジオメトリ演算部や描画部として,本発明 の画像生成装置を具備するので,回路素子などを共有することで,ハードウェア規模 を縮減でき,システムが複雑になる事態を防止できるので,携帯電話など小規模な電 話に好適に利用される。
[0172] [カーナビの構成]
図 16は,本発明のある実施形態(ナビゲーシヨンシステム)のブロック図である。この ブロック図で表される実施形態は,特に 3次元コンピュータグラフィック機能つきカー ナビゲーシヨンとして好適に利用されうる。図 16に示されるように,このナビゲーシヨン システムは, GPS部 241と,任意要素としての自律測位部 242と,地図記憶部 243と, 制御部 244と,表示部 245と,任意要素としてのマップマッチング部 246とを含むものが あげられる。
[0173] GPS部 241は, GPS受信機を備え,複数の GPS衛星力 の電波を同時に受信して 車両の測位データを得る GPS部である。 GPS部 241は, GPS受信機において受信し たデータから車両の絶対位置を得るものであるが,この測位データには車両の位置 情報の他に車両の進行方向情報,仰角情報が含まれている。
[0174] 自律測位部 242は, 自律型センサを備え, 自律型センサの出力データカゝら車両の 移動距離,移動方位を算出する自律測位部である。自律型センサとしては,車輪の 回転数に応じた信号を検出する車輪側センサ,車両の加速度を検出する加速度セ ンサ,車両の角速度を検出するジャイロセンサなどが含まれる。この例では,ジャイロ センサとして,さらに車両のピッチ動作方向における姿勢角度(以下「ピッチ角」と称 する)も検出できる 3次元ジャイロセンサが使用されており,したがって, 自律測位部 2 42から出力される測位データには車両のピッチ角が含まれている。
[0175] 地図記憶部 243は, 2次元地図情報, 3次元道路情報,及び 3次元建物情報を有す るデジタル地図データが記憶された地図記憶部である。地図記憶部 243を構成する 記憶媒体として, CD-ROM,ハードディスクがあげられる。地図データは,データ 量が大きいと読み込み時間を要するため,好ましくは複数のブロックに分割されて記 憶される。また,道路情報とは,交差点や屈曲点などの主要な地点 (ノード)を示す情 報を有したものであってもよく,ノード情報はその地点における座標データなどを備え ,道路は各ノードを結ぶ直線 (リンク)として近似されてもよい。このシステムでの 3次元 道路情報とは,ノード情報力 ¾次元の座標データを備えていることを意味している。
[0176] 制御部 244は, GPS部 241または自律測位部 242から得られた車両の位置情報に基 づいて,地図記憶部 243から車両の位置が該当する所定領域の地図データを読み 出すなど所定の制御を行うためのものである。
[0177] 表示部 245は,測位制御部 244により読み出された地図データを表示するためのも のである。
[0178] マップマッチング部 246は,車両の測位データおよび地図データの 3次元道路情報 を基に,車両の位置を道路上に補正するためのものである。
[0179] 本発明のカーナビは,たとえば,制御部に幾何演算部と描画部とを具備し,それら に本発明の画像生成装置を具備する。これにより,ベクタ ' 2D ' 3D画像処理部を一 元化することにより,システムが複雑になる事態を防止できることで,制御処理を少な くすることがでさる。
[0180] [カーナビの動作例]
GPS部 241が,複数の GPS衛星力 の電波を同時に受信し車両の測位データを得 る。自律測位部 242は, 自律型センサの出力データから車両の移動距離,移動方位 を算出する。制御部 244は, GPS部 241または自律測位部 242から得られたデータに 所定の処理を施して車両の位置情報を得る。そして,車両の位置情報に基づいて, 地図記憶部 243から車両の位置に関連する所定領域の地図データを読み出す。また ,図示しない操作部からの操作情報を受けて表示モードを変え,表示モードに応じ た地図データを読み出す。また,制御部 244は,位置情報に基づいて,所定の描画 処理を行い建物の立体画像,地図の立体画像,車の立体画像などを表示する。さら に, Z値に基づいて,力リング処理などを行う。表示部 245が,制御部 244により読み出 された地図データを表示する。
[0181] 本発明のカーナビは,たとえば,幾何演算部と描画部に,本発明の画像生成装置 を具備するので,回路素子などを共有することで,ハードウェア規模を縮減でき,ベタ タ ' 2D· 3D画像処理部を一元化することにより,システムが複雑になる事態を防止で きる。
[0182] 図 17は,パチスロ機の主制御回路 361を示すブロック図である。図 17に示されると おり,主制御回路 361はマイクロコンピュータ(以下, 「マイコン」という。) 363を主な 構成要素とし,これに乱数サンプリングのための回路を加えて構成されている。マイコ ン 363は,予め設定されたプログラムに従って制御動作を行うメイン CPU (中央演算 処理装置) 364と,プログラム (画像演出プログラムなどを含む)や各種のテーブルデ ータなどを格納して 、る ROM365およびバックアップ機能付き制御 RAM (以下,単 に RAMと称する) 366とを含んで構成されている。
[0183] メイン CPU364には,基準クロックパルスを発生するクロックパルス発生回路 367お よび分周器 368と,一定範囲の乱数を発生する乱数発生器 369および発生した乱数 の 1つを特定するサンプリング回路 370とが接続されている。さらに,メイン CPU364 には,後述する周辺装置 (ァクチユエータ)との間で信号を授受する IZOポート 371 が接続されている。
[0184] ここで, R0M365は,入賞確率テーブル,図柄テーブル,入賞シンボル組合せテ 一ブル,シーケンスプログラム,告知演出テーブルおよび演出画像プログラムを格納 するように記憶部が区分され,さらに,スタートレバー 328を操作 (スタート操作)する 毎に行われる乱数サンプリングの判定に用いられる確率抽選テーブル,停止ボタン の操作に応じてリールの停止態様を決定するための停止テーブル等が格納されてい る。
[0185] マイコン 363からの制御信号により動作が制御される主要なァクチユエータとしては ,各リール 305, 306, 307を回転駆動するステッピングモータ 345L, 345C, 345R ,各種ランプ(賭数表示ランプ 319〜321,スタートランプ 329, WINランプ 330,イン サートランプ 332) ,各種表示部(クレジット表示ランプ 323,遊技状態表示ランプ 32 4-327,ボーナスカウント表示ランプ 318,配当枚数表示ランプ 322) ,およびメダ ルを収納するホッパー 372がある。これらはそれぞれモータ駆動回路 373,各ランプ 駆動回路 374,各表示部駆動回路 375およびホッパー駆動回路 376によって駆動さ れる。これら駆動回路 373〜376は,マイコン 363の I/Oポート 371を介してメイン C PU364【こ接続されて!ヽる。
[0186] また,マイコン 363が制御信号を生成するために必要な入力信号を発生する主な 入力信号発生手段としては,メダル投入口から投入されたメダルを検出する投入メダ ルセンサ 331S,スタートレバーの操作を検出するスタートスィッチ 328S,前述した B ETスィッチ 33,およびクレジットメダル精算スィッチ 334がある。さらに,フォトセンサ 力もの出力パルス信号を受けて各リール 305, 306, 307の回転位置を検出するリー ル位置検出回路 377がある。なお,フォトセンサは各リール 305〜307の駆動機構に 含まれており,同図では図示されていない。
[0187] さらに,上記の入力信号発生手段としては,停止ボタン 335〜337が押されたとき に対応するリールを停止させる信号を発生するリール停止信号回路 378と,ホッパー 372から払い出されるメダル数を計数するメダル検出部 372Sと,図示しない払出完 了信号発生回路とがある。
[0188] また, IZOポート 371には副制御回路 381が接続されている。図 18は,パチスロ機 の副制御回路を示すブロック図である。
[0189] 副制御回路 381は,主制御回路 361からの制御指令 (コマンド)に基づいて表示装 置 350の表示制御およびスピーカ 382L, 382Rからの音の出力制御を実行する。こ の副制御回路 381は,好ましくは,主制御回路 361を構成する基板とは別の基板上 に構成され,サブマイクロコンピュータ 83を主たる構成要素とし,表示装置 350の表 示制御手段としての画像制御回路 391,スピーカ 382L, 382Rからの出力音を制御 する音源 IC388,増幅器としてのパワーアンプ 389で構成されて!、る。
[0190] サブマイクロコンピュータ 383は,主制御回路 61から送信された制御指令に従って 制御動作を行うサブ CPU384と,記憶手段としてのプログラム ROM385およびヮー ク RAM386とを含む。この例では,副制御回路 381は,クロックパルス発生回路,分 周器,乱数発生器及びサンプリング回路を備えていないが,サブ CPU384の動作プ ログラム上で乱数サンプリングを実行するように構成されて 、る。
[0191] プログラム ROM385は,サブ CPU84で実行する制御プログラムを格納する。ヮー ク RAM386は,上記制御プログラムをサブ CPU384で実行するときの一時記憶手 段として構成される。
[0192] 画像制御回路 391は,画像制御 CPU392,画像制御プログラム ROM394,画像 制御ワーク RAM393,画像制御 IC398,画像 ROM396,ビデオ RAM397で構成 される。
[0193] ここで,画像制御 CPU392は,サブマイクロコンピュータ 383で設定されたパラメ一 タに基づき,画像制御プログラム ROM394内に格納する画像制御プログラムに沿つ て表示装置 350での表示内容を決定する。画像制御プログラム ROM394は,表示 装置 350での表示に関する画像制御プログラムや各種選択テーブルを格納する。画 像制御ワーク RAM393は,上記画像制御プログラムを画像制御 CPU392で実行す るときの一時記憶手段として構成される。画像制御 IC398は,画像制御 CPU392で 決定された表示内容に応じた画像を形成し,表示装置 350に出力する。画像 ROM 396は,画像を形成するためのドットデータを格納する。ビデオ RAM397は,画像制 御 IC398で画像を形成するときの一時記憶手段として構成される。
[0194] なお,主制御回路 361からの出力は INポート 387を介してサブ CPU384に入力さ れ,サブ CPU384からの出力は OUTポート 390および INポート 395を介して画像 制御 CPU392に入力される。
[0195] 次に,本実施の形態のパチスロ機の動作について説明する。遊技者がメダル投入 口にメダルを投入すると,投入メダルセンサ 331S力も検知信号力 Sメイン CPU364へ 送られ,メイン CPU364はメダルの投入を検知し,賭数に応じた賭数表示ランプ 319 〜321が点灯する。遊技者がスタートレバー 328を押すと,スタートスィッチ 328S力 ら操作信号力 sメイン CPU364へ伝えられ,メイン CPU364はスタートレバー 328の操 作を検知し, IZOポート 371を介してモータ駆動部 373ヘスタート信号を送り,リール 305, 306, 307を一斉に回転させる。
[0196] また,スタートスィッチ 328Sがスタートレバーの操作を検出すると,メイン CPU364 は乱数発生器 369より発生された乱数値をサンプリング回路 370により取り込み,取 り込んだ乱数値と ROM365に格納された判定値とを比較して,当選,落選を決定す る内部抽選を行う。その抽選結果は RAM366の所定領域に格納されるが,内部当 選すると,当選の種類に応じたフラグが RAM366の所定領域に立てられる。ここで, 当該ゲームで立てられたフラグは当該ゲームが終了すると消滅するのが基本である 力 内部当選確率が低い ΒΒや RBに限って,立てられたフラグが対応する図柄が揃 つて入賞するまで複数ゲームにわたって持ち越される場合がある。
[0197] さらに,スタートスィッチ 328Sがスタートレバーの操作を検出すると,メイン CPU36 4は ROM365から複数ゲームにわたって表示装置 350に演出画像を表示するため の演出指示コマンドを読み出し,これを ΙΖΟポート 371を介して副制御回路 381に 送出する。なお,メイン CPU364は副制御回路 381に送出する演出指示コマンドを R ΑΜ366の所定領域に保持しておく。
[0198] 副制御回路 381はメイン CPU364から入力された演出指示コマンドに従った演出 内容の画像を表示装置 350に表示し,内部当選の契機となるスタートレバー 328の 有効な操作毎に入力される演出指示コマンドに従って画像を表示させる。
[0199] 次にメイン CPU364は, RAM366上の内部抽選結果をチェックして,内部抽選の 判定結果に対応する停止テーブルを選択決定し,それぞれに対応する停止テープ ノレを ROM365力ら RAM366上に読み出す。
[0200] その後,遊技者が,停止ボタン 335, 336, 337のいずれかを操作すると,リール停 止信号回路 378から操作信号がメイン CPU364へ伝えられ,メイン CPU364はリー ノレ位置検出回路 377力らの各リーノレ 305, 306, 307の位置と RAM366上の停止テ ーブノレ【こ基づ ヽてリーノレ 305, 306, 307を停止させる帘 U御を行う。
[0201] これにより,内部抽選で当選していない限り,遊技者はどのようなタイミングで停止 ボタン 335, 336, 337を操作しても,当選図柄力撤わな ヽように各リーノレ 305, 306 , 307の停止制御が行われる。一方,内部抽選で当選し且つ,内部当選結果に対応 する図柄が揃えられる停止テーブルが選択されている場合,遊技者の停止ボタン 33
5, 336, 337の操作タイミング如何によつては内部当選に対応した図柄が揃う停止 制御が存在することになる。
[0202] すなわち,内部抽選結果が当選の場合には,メイン CPU364は引き込み停止制御 に基づくストップ信号をモータ駆動部 373へ送り,操作された停止ボタン 335, 336, 337に対応するリーノレ 305, 306, 307を停止させる力 このとき,このリーノレ 305, 3
06, 307上の入賞に係るシンボルが有効な停止ライン上で停止するようなリール停 止制御を行う。
[0203] 内部抽選結果が外れの場合,メイン CPU364は,停止ボタン 335, 336, 337の操 作にて,入賞に係るシンボルが有効な停止ライン上で止まらないように,操作された 停止ボタン 335, 336, 337に対応するリール 305, 306, 307を停止させる。
[0204] 本発明のパチスロ機は,たとえば,副制御回路 381に含まれる画像制御プログラムや 画像制御 CPUとして,本発明の画像生成装置を具備するので,回路素子などを共 有することで,ハードウェア規模を縮減でき,ベクタ ' 2D ' 3D画像処理部を一元化す ることにより,システムが複雑になる事態を防止できる。これにより,無駄なハードゥエ ァ '制御処理を少なくすることができる。前記したとおり,開発 ·製造コスト,消費電力 を低減することができるため,パチスロ機などにおいても好適に利用される。

Claims

請求の範囲
あるピクセルにおけるポリゴンのエッジ情報を格納するためのエッジ情報格納メモリ (
2)と,
ベクトル形式のポリゴンの形状データを格納するためのベクタデータ格納メモリ
(3)と 前記べクタデータ格納メモリに格納されたポリゴンの形状データに基づ 、てラスタラ ィズ処理を行!、,ラスタライズ結果であるポリゴンのエッジ情報を前記エッジ情報格納 メモリに書き出すためのエッジ情報生成部
(4)と,
少なくとも背景に関する画像情報及び複数のレイヤごとの画像情報を格納するレイ ャ画像格納メモリ (5)と,
前記エッジ情報格納メモリに格納されたエッジ情報を用いて,ベクタ形式で定義さ れた画像の内部を塗りつぶす際に,前記レイヤ画像格納メモリに格納された背景に 関する画像情報及びレイヤごとの画像情報を読み出して,ベクタ形式の画像及びレ ィャごとの画像情報を重ね合わせ,ピクセル単位の画像処理演算を行うことによりピ クセル単位の画像合成を行う画像合成部 (6)と,
前記画像合成部が合成した画像を記憶するための結果画像格納メモリ (7)と, を具備する画像生成装置 (1)。
前記べクタデータ格納メモリ及び前記結果画像格納メモリは,情報をストリーム形式 データとして格納する請求項 1に記載の画像生成装置。
前記エッジ情報生成部は,アンチエイリアス処理を行うアンチエイリアス処理部を具 備し,アンチエイリアス処理を行ったエッジ情報を前記エッジ情報格納メモリに書き出 し,
前記画像合成部は,アンチエイリアス処理を行ったエッジ情報を用いてアンチエイ リアス処理が施された画像合成を行う請求項 1に記載の画像生成装置。
前記エッジ情報生成部は,前記べクタデータ格納メモリに格納されたベクトル形式 のラスタライズ結果に基づ 、て,前記エッジ情報格納メモリに前記ラスタライズ結果で ある画像のエッジ情報,ピクセルごとの透過度,ピクセルのエッジ部分における水平 方向及び垂直方向に関するラスタライズ進行符号,及びラスタライズ時のエッジ部分 の重なり回数をエッジ情報格納メモリに書き出し,
前記画像合成部は,前記エッジ情報格納メモリに格納されたエッジ情報を用いて, ベクタ形式で定義された画像の内部を塗りつぶす際に,前記レイヤ画像格納メモリに 格納された背景に関する画像情報及び複数のレイヤごとの画像情報を読み出して, ベクタ形式の画像及び複数のレイヤごとの画像情報を重ね合わせ,
前記エッジ情報格納メモリに格納されたピクセルごとの透過度を用いてピクセルごと のブレンデイング計算を行 、,
前記エッジ情報格納メモリに格納された水平方向及び垂直方向に関するラスタライ ズ信号符号に基づ 、て,ライン単位又はブロック単位で画像合成処理を行 、, 前記エッジ情報格納メモリに格納されたエッジ部分の重なり回数を用いて塗りつぶ しを行うかどうかの判定を行 、,
ピクセル単位の画像処理演算を行うことによりピクセル単位の画像合成を行う, 請求項 1に記載の画像生成装置。
[5] 前記エッジ情報生成部は,アンチエイリアス処理を行うアンチエイリアス処理部を具 備し,
前記アンチエイリアス処理部は,
前記あるピクセルにおけるエッジ情報と,
前記ピクセルにおける複数のサンプリングポイントを用いて,前記ピクセルのうち前 記エッジにより分断される部分の面積 Sを決定する面積算出回路と,
前記ピクセルにおける複数のサンプリングポイントから色合成に用いる 1又は複数 のサンプリングポイント又は当該サンプリングポイントにおける色を選択する色選択回 路と,
前記面積算出回路が算出した面積 Sと,前記色選択回路が選択した色を用いて, 前記ピクセルのカラーを決定する色合成回路とを具備するアンチエイリアス回路であ る,
請求項 1に記載の画像生成装置。
[6] 前記画像合成部は,ライン単位又はブロック単位で画像処理演算を行い,ライン単 位又はブロック単位で画像合成を行う請求項 1に記載の画像生成装置。
[7] 前記画像合成部は,色空間変換処理部及び色補正処理部のいずれか又は両方を 具備し,ピクセル単位で色空間変換処理又は色補正処理を施した画像合成を行う請 求項 1に記載の画像生成装置。
[8] 前記画像合成部は,画像回転処理及び画像サイズ調整処理のいずれか又は両方 を含む幾何演算処理部を具備し,レイヤ画像に対し,回転処理又は画像サイズ調整 処理を施した画像合成を行う請求項 1に記載の画像生成装置。
[9] 前記画像合成部は,画像回転処理及び画像サイズ調整処理のいずれか又は両方 を含む幾何演算処理部を具備し,
前記幾何演算処理部は,
頂点データを出力する頂点データ出力装置と,
前記頂点データ出力装置と接続され,頂点に関する固定された演算を行う頂点演 算装置と,
前記頂点演算装置と接続され,ポリゴンに関する固定された演算を行うポリゴン演 算装置と,
入力元に前記頂点データ出力装置,前記頂点演算装置及び前記ポリゴン演算装 置のうち 1つ又は 2つ以上と接続され,出力先に前記頂点演算装置及び前記ポリゴ ン演算装置のうち 1つ又は 2つと接続される 1又は複数の汎用演算装置とを具備する 幾何演算処理部である請求項 1に記載の画像生成装置。
[10] 請求項 1に記載の画像生成装置を具備するコンピュータ。
[11] 請求項 1に記載の画像生成装置を具備するゲーム機。
[12] 請求項 1に記載の画像生成装置を具備する携帯電話。
[13] 請求項 1に記載の画像生成装置を具備するナビゲーシヨンシステム。
[14] 請求項 1に記載の画像生成装置を具備するスロットマシーン。
PCT/JP2006/318609 2005-09-26 2006-09-20 画像生成装置 WO2007034822A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007536518A JP4794565B2 (ja) 2005-09-26 2006-09-20 画像生成装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-278960 2005-09-26
JP2005278960 2005-09-26

Publications (1)

Publication Number Publication Date
WO2007034822A1 true WO2007034822A1 (ja) 2007-03-29

Family

ID=37888865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/318609 WO2007034822A1 (ja) 2005-09-26 2006-09-20 画像生成装置

Country Status (2)

Country Link
JP (1) JP4794565B2 (ja)
WO (1) WO2007034822A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013026909A3 (en) * 2011-08-23 2013-04-18 Tomtom International B.V. Methods of and apparatus for displaying map information
CN109509245A (zh) * 2018-10-25 2019-03-22 广东智媒云图科技股份有限公司 一种风格图像生成方法及装置
CN110636184A (zh) * 2018-06-25 2019-12-31 中国电信股份有限公司 视频处理方法、装置及计算机可读存储介质
EP4142282A4 (en) * 2021-06-18 2024-05-29 Dentsu Inc. REAL-TIME DATA PROCESSING DEVICE

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736442A (ja) * 1993-07-06 1995-02-07 Toshiba Corp 図形表示装置
JPH10326298A (ja) * 1997-05-26 1998-12-08 Mitsubishi Electric Corp 3次元モデルデザインレビュー装置
JP2000032271A (ja) * 1998-07-10 2000-01-28 Sony Corp 画像生成装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736442A (ja) * 1993-07-06 1995-02-07 Toshiba Corp 図形表示装置
JPH10326298A (ja) * 1997-05-26 1998-12-08 Mitsubishi Electric Corp 3次元モデルデザインレビュー装置
JP2000032271A (ja) * 1998-07-10 2000-01-28 Sony Corp 画像生成装置及び方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013026909A3 (en) * 2011-08-23 2013-04-18 Tomtom International B.V. Methods of and apparatus for displaying map information
US9710962B2 (en) 2011-08-23 2017-07-18 Tomtom Navigation B.V. Methods of and apparatus for displaying map information
CN110636184A (zh) * 2018-06-25 2019-12-31 中国电信股份有限公司 视频处理方法、装置及计算机可读存储介质
CN110636184B (zh) * 2018-06-25 2022-03-29 中国电信股份有限公司 视频处理方法、装置及计算机可读存储介质
CN109509245A (zh) * 2018-10-25 2019-03-22 广东智媒云图科技股份有限公司 一种风格图像生成方法及装置
CN109509245B (zh) * 2018-10-25 2023-02-28 广东智媒云图科技股份有限公司 一种风格图像生成方法及装置
EP4142282A4 (en) * 2021-06-18 2024-05-29 Dentsu Inc. REAL-TIME DATA PROCESSING DEVICE

Also Published As

Publication number Publication date
JP4794565B2 (ja) 2011-10-19
JPWO2007034822A1 (ja) 2009-03-26

Similar Documents

Publication Publication Date Title
US8602888B2 (en) Video game device and image processing program
US7116337B2 (en) Transparent depth sorting
US7876332B1 (en) Shader that conditionally updates a framebuffer in a computer graphics system
US8547395B1 (en) Writing coverage information to a framebuffer in a computer graphics system
CN107851330B (zh) 用于图形处理的零像素剔除
US7158133B2 (en) System and method for shadow rendering
WO2013115173A1 (ja) ゲームシステム、プログラム及び情報記憶媒体
US7479961B2 (en) Program, information storage medium, and image generation system
JP4794565B2 (ja) 画像生成装置
JP4840800B2 (ja) 画像処理装置、遊技機、画像処理方法、及びプログラム
JP2007164557A (ja) プログラム、情報記録媒体および画像生成システム
JP2011053737A (ja) プログラム、情報記憶媒体及び画像生成装置
JP2005032140A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2009110362A (ja) 画像生成装置および画像生成プログラム
US20020051016A1 (en) Graphics drawing device of processing drawing data including rotation target object and non-rotation target object
JP4761541B2 (ja) 画像生成装置
JP3623487B2 (ja) 遊技機
JP2001167291A (ja) 画像生成システム及び情報記憶媒体
JP5535729B2 (ja) 3次元コンピュータグラフィックス描画システム
JP5007991B2 (ja) 細分割曲面描画用レンダリング装置
JP2010231364A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4669334B2 (ja) エッジ・マルチサンプリングハイブリッドアンチエイリアス
JP2007293647A (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP2007183722A (ja) プログラム、情報記憶媒体及びテクスチャのデータ構造
JP4787662B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム

Legal Events

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

Ref document number: 2007536518

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06810305

Country of ref document: EP

Kind code of ref document: A1