WO2017203675A1 - Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program - Google Patents

Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program Download PDF

Info

Publication number
WO2017203675A1
WO2017203675A1 PCT/JP2016/065663 JP2016065663W WO2017203675A1 WO 2017203675 A1 WO2017203675 A1 WO 2017203675A1 JP 2016065663 W JP2016065663 W JP 2016065663W WO 2017203675 A1 WO2017203675 A1 WO 2017203675A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame buffer
graphic
image
data
intermediate data
Prior art date
Application number
PCT/JP2016/065663
Other languages
French (fr)
Japanese (ja)
Inventor
鳥居 晃
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2016/065663 priority Critical patent/WO2017203675A1/en
Publication of WO2017203675A1 publication Critical patent/WO2017203675A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals

Definitions

  • the present invention relates to a graphics drawing device and a graphics drawing method for drawing a drawing image in a frame buffer, a display system including the graphics drawing device and a display device, and a computer for executing a process for drawing a drawing image in a frame buffer.
  • the present invention relates to a graphics drawing program.
  • a graphics drawing device displays a graphics screen on a display device such as a liquid crystal display (LCD)
  • a display device such as a liquid crystal display (LCD)
  • pixel data of the graphics (drawing image) drawn in the frame buffer on the memory is read and read.
  • Pixel data is output to a display device.
  • the display device displays a graphics screen corresponding to the graphics drawn in the frame buffer.
  • the graphics drawing device draws horizontally long graphics (writes pixel data) in the frame buffer, reads pixel data of the drawn graphics sequentially from the frame buffer in the horizontal direction (reading direction) of the graphics, Pixel data is output to a display device.
  • a display device having a horizontally long display panel displays a horizontally long graphics screen corresponding to the graphics drawn in the frame buffer by scanning the display panel in the horizontal direction based on the received pixel data. To do.
  • the display panel unit When displaying a vertically long graphics screen on the display panel unit of the display device, for example, the display panel unit is rotated 90 degrees and the display device is installed so that the display panel unit has a vertically long shape.
  • the graphics drawing device draws a vertically long graphic in the frame buffer, sequentially reads the drawn pixel data of the graphics from the frame buffer in the vertical direction (reading direction) of the graphics, and sends the pixel data to the display device. Output.
  • a display device having a vertically long display panel unit performs a vertical scan in the display panel unit based on the received pixel data, thereby generating a vertically long graphics screen corresponding to the graphic drawn in the frame buffer. indicate.
  • pixel data is sequentially read from the frame buffer on the memory, which is a DRAM, in the vertical direction of the graphics, overhead such as precharging frequently occurs, so that access efficiency to the memory is lowered.
  • a horizontally long drawing image obtained by rotating the vertically long graphics drawn in the frame buffer by 90 degrees is created, and the pixel data of this drawing image is sequentially read in the horizontal direction (reading direction).
  • a method of outputting the read pixel data to a display device (a method of creating a horizontally long image on a frame buffer) can be considered.
  • the method of creating a horizontally long image on the frame buffer has the problems that the required memory capacity increases, the required memory bandwidth (transfer speed) increases, and the processing time also increases.
  • the method of converting the address when writing to the frame buffer requires a multi-port memory as a frame buffer, so that there is a problem that it cannot be applied to a system using a normal DRAM as a frame buffer.
  • the present invention has been made in order to solve the above-described problems, and a special function is not required for the memory used as the frame buffer, and without increasing the memory capacity, the memory bandwidth, and the processing time.
  • Graphics display device and graphics display method capable of displaying vertically long graphics screen on display device, display system including graphics drawing device and display device, and graphics drawing for causing computer to execute graphics drawing method The purpose is to provide a program.
  • a graphics drawing apparatus is a graphics drawing apparatus that draws a drawing image in a frame buffer, and stores graphic data indicating a figure to be drawn, which is stored in a first storage area, and A drawing list that defines the drawing contents of the graphic data stored in the storage area 2, a pointer indicating the graphic data, conversion information indicating coordinate conversion processing of the graphic to be drawn, and the graphic to be drawn
  • An intermediate data generation unit that generates intermediate data including drawing range information indicating a drawing range and stores the intermediate data in a third storage area; and a portion included in the tile area to be processed from the intermediate data.
  • An intermediate data scanning unit for detecting the graphic, a built-in frame buffer in which a drawing image of the tile area is drawn, and the intermediate data scanning unit
  • a graphic drawing processing unit for generating a first image corresponding to the tile area to be processed from the pixel data of the graphic that has been output, and drawing the first image in the internal frame buffer; and the internal frame buffer
  • a writing control unit that writes a second image obtained by rotating the first image drawn in accordance with a designated rotation angle to the frame buffer, and the writing of the second image is repeated, thereby
  • a drawing control unit for controlling the intermediate data scanning unit, the graphic drawing processing unit, and the writing control unit so that the drawing image of one screen is drawn in the frame buffer;
  • a graphics drawing method is a graphics drawing method for drawing a drawing image in a frame buffer, the figure data indicating a figure to be drawn stored in a first storage area, From the drawing list that defines the drawing contents of the graphic data stored in the second storage area, the pointer indicating the graphic data and the conversion information indicating the coordinate conversion processing of the graphic to be drawn and the graphic to be drawn Generating intermediate data including drawing range information indicating the drawing range of the image, and storing the intermediate data in a third storage area; and a portion included in the tile area to be processed from the intermediate data.
  • the frame buffer by repeating the writing control step of writing the second image rotated according to the rotated angle to the frame buffer, the intermediate data scanning step, the graphic drawing processing step, and the writing control step.
  • a display system includes the graphics drawing device that draws a drawing image in a frame buffer, and a display device that displays an image based on the drawing image drawn in the frame buffer. It is.
  • the graphics drawing device According to the graphics drawing device, the graphics drawing method, and the graphics drawing display program according to the present invention, no special function is required for the memory used as the frame buffer, and the memory capacity, the memory bandwidth, and the processing A vertically long graphics screen can be displayed on the display device without increasing the time.
  • a special function is not required for a memory used as a frame buffer, and a vertically long graphics screen is obtained without increasing memory capacity, memory bandwidth, and processing time. Can be displayed.
  • FIG. 1 is a block diagram showing a schematic configuration of a display system (including a graphics drawing device and a display device) according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram illustrating an example of a vertically long graphics screen displayed on a vertically long display panel unit of the display device of FIG. 1.
  • A is a figure which shows an example of the vector figure data as figure data stored in a figure data storage area
  • (b) is a figure which shows an example of the vector figure according to the vector figure data of Fig.3 (a) It is.
  • FIG. It is a figure which shows the example of the structure of the drawing list stored in a drawing list storage area. It is a figure which shows the example of the structure of the intermediate data stored in an intermediate data storage area by an intermediate data production
  • 3 is a flowchart showing an operation (graphics drawing method) of the graphics drawing apparatus according to the first embodiment.
  • (A) to (c) are tile areas to be processed by the graphics drawing apparatus according to the first embodiment (first selected tile area), tile area images drawn in the built-in frame buffer, and built-in frames.
  • (A) to (c) are tile areas to be processed by the graphics drawing apparatus according to the first embodiment (second selected tile area), tile area images drawn in the built-in frame buffer, and built-in frames. It is a figure which shows the drawing image read from the buffer and written in the frame buffer.
  • (A) to (c) are tile areas to be processed (the tile area selected last) by the graphics rendering apparatus according to the first embodiment, tile area images drawn in the built-in frame buffer, and built-in frame buffer. It is a figure which shows the drawing image read from and written in the frame buffer.
  • FIG. (A) And (b) is a figure which shows the reading direction of the drawing image in a frame buffer, and the scanning direction in a display panel part regarding the graphics drawing apparatus which concerns on Embodiment 1.
  • FIG. (A) And (b) is a figure which shows the reading direction of the drawing image in a frame buffer, and the scanning direction in a display panel part regarding a comparative example.
  • (A) And (b) is a figure which shows the scanning direction in the conversion method of the drawing image in a frame buffer, and a display panel part regarding another comparative example. It is a figure which shows the other example of the drawing list
  • FIG. 1 is a block diagram showing a schematic configuration of a display system according to Embodiment 1 of the present invention.
  • the display system according to the first embodiment includes a graphics drawing device 10 that draws a drawing image (graphics) 24 a in a frame buffer 24, and a drawing image 24 a that is drawn in the frame buffer 24.
  • the display system according to the first embodiment also includes an external memory 20 as a storage device and a CPU (Central Processing Unit) 30 as a central control unit that controls the graphics drawing device 10 and the external memory 20. Good.
  • a CPU Central Processing Unit
  • the graphics drawing device 10 is a device capable of executing the graphics drawing method according to the first embodiment, and draws a single screen drawing image 24 a in a frame buffer 24 provided on the external memory 20.
  • each of the graphics drawing device 10, the external memory 20, the CPU 30, and the display device 40 is shown as an independent configuration. Computer)).
  • the CPU 30, the external memory 20, and the graphics drawing device 10 may be provided in one control device (for example, a PC), and the graphics drawing device 10 and the display device 40 may be connected by a cable.
  • the display device 40 includes a display panel unit 41 such as an LCD.
  • FIG. 1 shows a display device 40 in which the display panel unit 41 is in a vertically long state (vertically long rectangular shape). However, the display device 40 rotates the display panel unit 41 (for example, when the user rotates the display panel unit 41 by 90 degrees to the right or 90 degrees to the left), thereby causing the display panel unit 41 to be in the horizontally long state or the vertically long state. You may provide the mechanism which can be switched to either.
  • the external memory 20 is, for example, a DRAM (Dynamic Random Access Memory).
  • the external memory 20 includes a drawing list storage area (second storage area) 21 in which a drawing list 21a is stored, a graphic data storage area (first storage area) 22 in which graphic data 22a is stored, and intermediate data 23a. Are stored in an intermediate data storage area (third storage area) 23 and a frame buffer 24 in which one frame of image data (one screen drawing image) is stored.
  • FIG. 1 shows a case where one external memory 20 has a drawing list storage area 21, a graphic data storage area 22, an intermediate data storage area 23, and a frame buffer 24.
  • a plurality of memories (a plurality of storage devices) may be provided separately.
  • the external memory 20 may have two frame buffers 24. In this case, the frame buffer in which the drawing image is written (the frame buffer being written) and the frame buffer from which the drawing image is being read (the frame buffer being read) are periodically switched.
  • the graphics drawing device 10 includes a drawing control unit 11 that controls the overall operation of the graphics drawing device 10, an intermediate data generation unit 12, an intermediate data scanning unit 13, a graphic drawing processing unit 14, a built-in frame buffer 15, A writing control unit 16 for drawing the drawing image 24a in the frame buffer 24 (that is, writing pixel data).
  • the graphics drawing apparatus 10 reads pixel data of a drawing image (graphics) 24a of one screen drawn in the frame buffer 24 in a predetermined reading direction (a horizontal direction indicated by a broken line 24b in FIG. 11A described later). ) And a display reading unit 17 for outputting the read pixel data.
  • the intermediate data generation unit 12 generates intermediate data 23a from the drawing list 21a stored in the drawing list storage area 21 and the graphic data 22a stored in the graphic data storage area 22, and the intermediate data 23a is externally generated.
  • the data is stored in the intermediate data storage area 23 in the memory 20.
  • the generation of the intermediate data 23a by the intermediate data generation unit 12 is repeated until the last item in the drawing list 21a is read (details will be described in steps S1 to S5 in FIG. 7 described later).
  • the intermediate data scanning unit 13 detects a figure having a portion included in a tile area which is an image data area to be processed from the intermediate data 23a stored in the intermediate data storage area 23, and detects a figure indicating the detected figure.
  • Information (detection result information) is given to the graphic drawing processing unit 14.
  • the size of the tile area is determined in advance, and is, for example, the same size (number of pixels) as that of the built-in frame buffer 15.
  • the graphic drawing processing unit 14 generates pixel data for the graphic indicated by the graphic detection information received from the intermediate data scanning unit 13 by using the graphic data 22a stored in the graphic data storage area 22, and uses the pixel data from the pixel data.
  • a drawing image (tile area image) of the tile area is stored in the built-in frame buffer 15.
  • the built-in frame buffer 15 is composed of, for example, an SRAM (Static Random Access Memory).
  • the write control unit 16 reads the tile area image 15a stored in the built-in frame buffer 15, and stores (writes) the tile area image in an area corresponding to the tile area in the frame buffer 24.
  • Detection of a graphic in the tile area by the intermediate data scanning unit 13 storage of the tile area image 15a in the built-in frame buffer 15 by the graphic drawing processing unit 14, and writing of the tile area image 15a in the frame buffer 24 by the write control unit 16 are as follows. The process is repeated until drawing of one frame of graphics (drawing image of one screen) is completed in the frame buffer 24 (details will be described in steps S6 to S14 in FIG. 7 described later).
  • the display reading unit 17 sequentially reads out the pixel data of the drawing image 24a stored in the frame buffer 24 in a predetermined reading direction, and the read pixels. Data is output to the display device 40.
  • FIG. 2 is a diagram illustrating an example of a vertically long graphics screen displayed on the vertically long display panel unit 41 of the display device 40.
  • the graphics screen illustrated in FIG. 2 includes a graphic I1, a graphic I2, a graphic I3, a graphic I4, a graphic I5, and a graphic I6.
  • the graphics drawing device 10 the external memory 20, and the CPU 30 enlarge, reduce, rotate, and move the plurality of figures I1, I2, I3, I4, I5, and I6 to display the display panel unit of the display device 40.
  • the CPU 30 stores graphic data 22 a of a graphic to be drawn in the graphic data storage area 22.
  • the graphic data 22a is, for example, vector graphic data or bitmap image data.
  • FIG. 3A shows an example of vector graphic data as graphic data 22a stored in the graphic data storage area 22, and FIG. 3B shows a vector according to the vector graphic data of FIG. 3A. It is a figure which shows an example of a figure.
  • the vector graphic data shown in FIG. 3A includes commands (for example, “MoveTo”, “LineTo”, and “CurveTo”) and coordinates of the vertices of the vector graphic in the XY coordinate system as data defining the graphic contour. (X0, Y0), (X1, Y1), and (X2, Y2) and the coordinates (X3, Y3) of the control point are included.
  • the vector graphic data shown in FIG. 3A can include data “drawing color” that specifies the color of the graphic. As shown in FIG.
  • the vector figure according to the vector figure data of FIG. 3 (a) has its figure outline composed of two straight lines and one Bezier curve.
  • the vector graphic data as the graphic data 22a stored in the graphic data storage area 22 is not limited to the example shown in FIGS. 3 (a) and 3 (b).
  • FIG. 4A is a diagram showing an example of bitmap image data as the graphic data 22a stored in the graphic data storage area 22, and FIG. 4B is a diagram of the bitmap image data of FIG. 4A. It is a figure which shows an example of the bitmap figure according to.
  • the graphic contour of the bitmap image is rectangular, the size of the bitmap image (width Width and height Height), and the color value for each pixel of the bitmap image ( For example, RGBA value).
  • RGBA value color value for each pixel of the bitmap image
  • RGBBA RGBA value
  • pixel 1 RGBBA
  • pixel N (RGBA) indicates an RGBA value in the Nth pixel (N is a positive integer).
  • the RGBA value is a value obtained by expressing the color value of a pixel by a value of three primary colors of red (R), green (G), and blue (B) and an alpha value indicating transparency (A).
  • the CPU 30 stores in the drawing list storage area 21 of the external memory 20 in advance a drawing list 21 a that is used by the graphics drawing apparatus 10 to draw one frame of drawing image (one screen of graphics) in the frame buffer 24. Store.
  • FIG. 5 is a diagram showing an example of the structure of the drawing list 21 a stored in the drawing list storage area 21.
  • the drawing list 21a defines how to draw each of the figures (vector figures or bitmap images) I1, I2, I3, I4, I5, and I6 stored as the figure data 22a (the figure data 22a This is data that defines the drawing content to be used. Which of the plurality of graphic data 22a stored in the graphic data storage area 22 is to be drawn depends on the pointer 22a1 (graphics I1, I2, I3, I4, I5, FIG. 5) of the graphic data 22a shown in FIG.
  • the drawing information conversion information indicating the coordinate conversion processing of the drawn figure designated by I6 and indicating how to draw the designated figure is designated by the conversion matrix 21a2.
  • the conversion matrix 21a2 is, for example, a 2-by-3 conversion matrix (1) shown below, in which A to F are components (matrix elements).
  • the transformation matrix (1) is used for the XY coordinates of the vertices (corner portions) of the vector graphic as the graphic data 22a and the XY coordinates of the control points, or the XY coordinates of the bitmap image as the graphic data 22a.
  • equation (2) the figure indicated by the coordinates (X, Y) before the coordinate conversion is enlarged, reduced, rotated, translated, etc., and the coordinates (Xn, Yn) after the coordinate conversion are indicated. Can be converted into a figure.
  • the coordinate transformation using the following equation (2) is an affine transformation, and a technique itself for enlarging, reducing, rotating, and translating a figure by affine transformation is known.
  • the drawing list 21a includes the drawing contents of the entire frame.
  • the drawing contents include drawing of six figures I1, I2, I3, I4, I5, and I6. Therefore, the drawing list 21a for performing this drawing is the figure I1, shown in FIG.
  • the pointer 21a1 (graphics I1, I2, I3, I4, I5, and I6 in FIG. 5) indicating I2, I3, I4, I5, and I6 and a conversion matrix 21a2.
  • the graphics I1, I2, I3, I4, I5, and I6 are drawn in order from the top of the drawing list 21a (the top row in FIG. 5) downward.
  • the item in the top line of the drawing list 21a shown in FIG. 5 indicates that the pointer 21a1 indicates the graphic I1 and the coordinate conversion is performed by the following equation (3).
  • the CPU 30 instructs the graphics drawing apparatus 10 to start drawing when the graphic data 22a and the drawing list 21a necessary for drawing are stored in the graphic data storage area 22 and the drawing list storage area 21 of the external memory 20, respectively. . Thereby, the graphics drawing apparatus 10 starts a process of drawing the drawing image 24 a for one frame in the frame buffer 24. First, the drawing control unit 11 instructs the intermediate data generation unit 12 to start processing.
  • FIG. 6 is a diagram illustrating an example of the structure of the intermediate data 23a stored in the intermediate data storage area 23 by the intermediate data generation unit 12.
  • FIG. 7 is a flowchart showing the operation (graphics drawing method) of the graphics drawing apparatus 10 according to the first embodiment.
  • the intermediate data generation unit 12 When the intermediate data generation unit 12 receives an instruction to start the drawing process from the drawing control unit 11, the intermediate data generation unit 12 reads the drawing list 21a (FIG. 5) stored in the drawing list storage area 21 from the top (step S1).
  • the intermediate data generation unit 12 reads the graphic data 22a designated in the drawing list 21a from the graphic data storage area 22, and draws the graphic list 21a with respect to the XY coordinates of the vertices and control points of the graphic indicated by the read graphic data. Coordinate conversion processing is performed using the conversion matrix 21a2 and coordinate conversion formulas (formulas (2), (3), etc.) specified in FIG. That is, the coordinate conversion process is performed on the XY coordinates of the vertex and the control point of the graphic data (vector graphic data) 22a of the graphic I1 by the equation (3) using the conversion matrix (AI1 to FI1).
  • the intermediate data generation unit 12 determines the minimum value and the maximum value of the XY coordinates (Xn, Yn) after the coordinate conversion, and holds them as drawing range information (FIG. 6) (step S2).
  • the drawing range information is expressed by, for example, the maximum value and minimum value of Xn and the maximum value and minimum value of Yn.
  • step S3 When the coordinate conversion processing for all the vertices and control points of the figure I1 is completed, the pointer 21a1 to the figure I1, the conversion matrix 21a2 specified by the drawing list 21a, and the drawing range information (the converted coordinates Xn Are written in the external memory 20 as intermediate data 23a (FIG. 6) (step S3).
  • the intermediate data generation unit 12 determines whether the last item in the drawing list 21a has been read (step S4). If the last item has not been read (NO in step S4), the intermediate data generation unit 12 determines whether the next item in the drawing list 21a has been read. Are read (step S5). In the example of FIG. 5, the intermediate data generation unit 12 performs the same processing as in the case of the graphic I1 for the next item (the graphic I2 specified next) in the drawing list 21a. That is, the intermediate data generation unit 12 reads the graphic data 22a of the graphic I2 from the graphic data storage area 22, and converts the transformation matrix (AI2 to FI2) for the vertices of the graphic and the XY coordinates of the control points indicated by the graphic data 22a.
  • the transformation matrix AI2 to FI2
  • the intermediate data generation unit 12 converts the pointer to the graphic I2 and the conversion matrix specified by the drawing list 21a ( AI2 to FI2) and drawing range information (maximum value and minimum value of coordinate Xn after conversion, maximum value and minimum value of coordinate Yn after conversion) are stored in intermediate data storage area 23 of external memory 20 as intermediate data 23a.
  • the intermediate data generation unit 12 repeats the same processing, reads up to the last item in the drawing list 21a, and registers information about all graphic data 22a that needs to be drawn in one frame as shown in FIG.
  • the intermediate data 23 a is created in the intermediate data storage area 23 of the external memory 20.
  • the drawing control unit 11 instructs the intermediate data scanning unit 13 to start processing.
  • the drawing control unit 11 instructs the intermediate data scanning unit 13 to set the tile area in the upper left corner on the screen as a drawing target (step S6).
  • 8A to 8C show a tile area (first selected tile area) 13a to be processed by the graphics drawing apparatus 10, a tile area image 15a drawn in the built-in frame buffer 15, and a built-in frame. It is a figure which shows the drawing image 16a read from the buffer 15 and written in the frame buffer 24.
  • the size (size) of the tile area is the same as that of the built-in frame buffer 15.
  • the size of the tile area is determined in advance, and is a small area such as 32 pixels ⁇ 32 pixels or 64 pixels ⁇ 64 pixels, for example.
  • the intermediate data scanning unit 13 When the intermediate data scanning unit 13 receives an instruction from the drawing control unit 11, the intermediate data scanning unit 13 reads the intermediate data 23a from the intermediate data storage area 23 of the external memory 20 (step S7), and refers to the drawing range information of the intermediate data 23a (FIG. 6). Then, it is determined whether or not the graphic data 22a has a portion included in the tile area 13a to be processed (step S8). If the referenced graphic data 22a has a portion included in the processing target tile area 13a (YES in step S8), the intermediate data scanning unit 13 instructs the graphic drawing processing unit 14 to point to the graphic data 22a. Then, a transformation matrix is output and drawing is instructed. In the example of FIGS. 8A to 8C, since the graphic I2 has a portion included in the tile area 13a to be processed, the intermediate data scanning unit 13 instructs the graphic drawing processing unit 14 to draw the graphic I2. And give instructions.
  • the figure drawing processing unit 14 When receiving a drawing instruction from the intermediate data scanning unit 13, the figure drawing processing unit 14 reads the figure data 22 a from the figure data storage area 22 of the external memory 20, and the vertices of the figure indicated by the figure data 22 a and the XY coordinates of the control points Next, after performing a coordinate transformation process using the designated transformation matrix to deform the figure, pixel data is generated for the tile area to be processed and rendered in the built-in frame buffer 15 (step S9).
  • the method of generating pixel data from the graphic data 22a is a known technique.
  • the intermediate data scanning unit 13 determines whether the intermediate data 23a of all the figures has been scanned (step S10). If the intermediate data 23a has not been scanned to the last item (graphic information) (NO in step S10). ), The next item (graphic information) in the intermediate data 23a is scanned (step S11), and the same processing is performed.
  • the intermediate data scanning unit 13 scans the intermediate data 23a of all the figures, and all the figure data 22a having a portion included in the tile area to be processed (in the example of FIGS. 8A to 8C, the figure I2 (Only) is completed, the creation of the image for the tile area to be processed is completed in the built-in frame buffer 15.
  • the drawing control unit 11 instructs the write control unit 16 to write pixel data corresponding to the tile area into the frame buffer 24.
  • the writing control unit 16 calculates the writing position of the frame buffer 24 on the external memory 20 from the rotation angle and the position of the tile area, and rotates the tile area image 15a of the built-in frame buffer 15 to the drawing image 16a in the frame buffer 24. (Step S12).
  • writing is performed in the horizontal direction (long side direction) with respect to the frame buffer 24 of the external memory 20, as indicated by an arrow 61 in FIG.
  • the built-in frame buffer 15 is read in the vertical direction.
  • the built-in frame buffer 15 is preferably composed of SRAM.
  • the drawing control unit 11 determines whether or not the processing has been completed for all tile areas on the screen of one frame to be drawn (step S13). In this example, next, the drawing control unit 11 instructs the intermediate data scanning unit 13 to set the tile area adjacent to the right of the upper left corner on the screen as a drawing target (step S14).
  • FIGS. 9A to 9C show a tile area (second tile area selected) 13a to be processed by the graphics drawing apparatus 10, a tile area image 15a drawn in the built-in frame buffer 15, and a built-in frame.
  • FIG. 4 is a diagram showing a drawing image read from the buffer 15 and written to the frame buffer 24.
  • the intermediate data scanning unit 13 When the intermediate data scanning unit 13 receives an instruction from the drawing control unit 11, the intermediate data scanning unit 13 reads the intermediate data 23a from the intermediate data storage area 23 of the external memory 20, and refers to the drawing range information of the intermediate data 23a to process the graphic data 22a. It is determined whether or not there is a part included in the tile area. When the intermediate data scanning unit 13 includes a portion included in the tile area to be processed, the intermediate data scanning unit 13 outputs a pointer and a conversion matrix to the graphic data 22a to the graphic drawing processing unit 14 to instruct drawing. In the example of FIGS. 9A to 9C, since the figure I2 and the figure I4 have a portion included in the tile area to be processed, the intermediate data scanning unit 13 draws the figure I2 and the figure I4. An instruction is issued to the drawing processing unit 14.
  • the graphic drawing processing unit 14 Upon receiving an instruction from the intermediate data scanning unit 13, the graphic drawing processing unit 14 reads the graphic data 22 a from the graphic data storage area 22 of the external memory 20, and the vertexes and control points of the graphic indicated by the read graphic data 22 a are read. After transformation by performing a coordinate transformation process using a transformation matrix designated for the XY coordinates, pixel data is generated for the tile area to be processed and rendered in the built-in frame buffer 15.
  • the intermediate data scanning unit 13 scans the intermediate data 23a of all the figures, and all the figure data 22a having a portion included in the tile area to be processed (in the example of FIGS. 9A to 9C, the figure I2 When the drawing of the graphic I4) is completed, the tile area image 15a to be processed is completed in the built-in frame buffer 15.
  • the drawing control unit 11 instructs the write control unit 16 to write pixel data corresponding to the tile area into the frame buffer 24.
  • the writing control unit 16 calculates the writing position of the frame buffer 24 on the external memory 20 from the rotation angle and the position of the tile area, and rotates the tile area image 15a of the built-in frame buffer 15 (for example, rotates left by 90 degrees). Write to frame buffer 24.
  • FIGS. 10A to 10C are diagrams for explaining processing for the last tile area (the lowermost right on the screen).
  • the intermediate data scanning unit 13 reads the intermediate data 23a from the external memory 20, and refers to the drawing range information to determine whether or not the graphic data 22a has a portion included in the tile area to be processed.
  • FIGS. 10A to 10C show the tile area to be processed by the graphics drawing apparatus 10 (the tile area selected last), the tile area image drawn in the built-in frame buffer 15, and the built-in frame buffer 15. It is a figure which shows the drawing image read and written in the frame buffer.
  • the graphic drawing processing unit 14 Upon receiving an instruction from the intermediate data scanning unit 13, the graphic drawing processing unit 14 reads the graphic data 22 a from the external memory 20, and performs a transformation process by performing a coordinate conversion process using the conversion matrix specified for the XY coordinates of the vertices and control points. After that, pixel data is generated for the tile area to be processed and drawn in the built-in frame buffer 15.
  • the drawing control unit 11 instructs the write control unit 16 to write pixel data corresponding to the tile area into the frame buffer 24.
  • the writing control unit 16 calculates the writing position of the frame buffer 24 on the external memory 20 from the rotation angle and the position of the tile area, and rotates the tile area image 15a of the built-in frame buffer 15 (for example, rotates left by 90 degrees). Write to frame buffer 24.
  • the intermediate data 23a is scanned to detect a graphic having a portion included in the tile area to be processed, and the graphic data 22a is read out and drawn in the built-in frame buffer 15, and the built-in frame
  • the tile area image 15a of the buffer 15 is rotated to the frame buffer 24 on the external memory 20.
  • FIGS. 11A and 11B relate to the graphics drawing apparatus 10 according to the first embodiment.
  • FIG. 11A shows the drawing direction of the drawing image 24a in the frame buffer 24 (the normal reading direction in the external memory 20).
  • 24b shows a state of reading
  • FIG. 11B is a diagram showing a scanning direction 41a in the display panel 41.
  • the reading direction 24b of the drawing image 24a and the scanning direction 41a in the display panel unit 41 correspond to each other.
  • the display reading unit 17 completes reading of the one-screen drawing image 24 a stored in the frame buffer 24 on the external memory 20.
  • the display device 40 displays an image on the display panel unit 41 based on the data received from the display reading unit 17.
  • the frame buffer 24 may read in the horizontal direction, which is a predetermined reading direction. For this reason, even if the external memory 20 is a DRAM, the access efficiency does not decrease.
  • FIGS. 12A and 12B relate to a comparative example, and FIG. 12A shows the drawing image reading direction in the frame buffer 241 in the direction different from the vertical direction of the external memory (the horizontal direction which is a predetermined reading direction). ), And FIG. 12B is a diagram showing the scanning direction in the display panel unit 41.
  • the pixel data is sequentially read from the frame buffer 241 on the external memory, which is a DRAM, in the vertical direction of the graphics, overhead such as precharging frequently occurs, and the access efficiency to the memory is reduced. There is.
  • FIGS. 13A and 13B relate to another comparative example, and FIG. 13A shows a drawing image 242b that is generated by rotating the vertically drawn image 242a 90 ° counterclockwise in the frame buffer 242.
  • FIG. 13B shows a state in which the reading direction of 242b is read in the horizontal direction, which is a predetermined reading direction of the external memory, and FIG.
  • the overhead such as precharge does not increase, there is a problem that the necessary memory capacity increases, the necessary memory bandwidth (transfer rate) increases, and the processing time also increases.
  • ⁇ 1-3 Effect
  • a tile area image is obtained for each of the plurality of tile areas 13a obtained by dividing the image data area of one screen. 15a is generated, the generated tile area image 15a is stored in the built-in frame buffer 15, the tile area image is rotated in a specified direction (for example, 90 degrees) and in a specified direction, and the rotated image 16a is rotated. Drawing in the frame buffer 24.
  • the drawing list 21a stored in the external memory 20 has the structure shown in FIG.
  • the drawing list may have a hierarchical structure as indicated by reference numeral 50 in FIG.
  • the drawing list may have a format that defines a series of drawing commands, such as a display list of OpenGL (Graphics Library), which is a three-dimensional graphics API (Application Program Interface).
  • the drawing list 52 when the drawing list has a hierarchical structure 50, when the upper drawing list 51 refers to the lower drawing lists 52 and 54, the drawing list 52 further refers to the lower drawing list 53.
  • the designated transformation matrix for example, transformation matrix 512
  • the transformation matrix for example, transformation matrix 522, 542
  • ⁇ 3 Modification 2
  • the built-in frame buffer 15 has a storage area corresponding to one tile area
  • the built-in frame buffer has a double buffer configuration (that is, has a storage area corresponding to two tile areas)
  • the writing control unit 16 writes an image from the built-in frame buffer to the frame buffer 24 and a graphics drawing process.
  • the unit 14 may execute the process of drawing an image of the next tile area in the built-in frame buffer in parallel. In this case, it is possible to reduce the time required to draw a drawing image of one screen in the frame buffer 24.
  • FIG. 15 is a hardware configuration diagram showing a configuration of a modified example of the graphics drawing apparatus 10.
  • a graphics drawing apparatus 10 shown in FIG. 1 includes a memory 91 as a storage device that stores a program (graphics drawing program) as software, and a processor 92 as an information processing unit that executes the program stored in the memory 91. (For example, by a computer).
  • a part of the graphics drawing apparatus 10 shown in FIG. 1 can be realized by the memory 91 shown in FIG. 15 and the processor 92 that executes a program.
  • the display device 40 is in a vertically long state in which the display panel unit 41 is rotated 90 degrees to the right (the tile area image 15a of the built-in frame buffer 15 is rotated 90 degrees to the left, Explained).
  • the display device 40 includes posture detection means (panel state detection means) for detecting the rotation direction and rotation angle of the display panel unit 41
  • the graphics drawing device includes means for receiving a detection signal of the posture detection means.
  • the control unit 11 may control the writing control unit 16 based on the detection signal of the attitude detection unit. For example, the drawing control unit 11 sets the rotation angle and the rotation direction of the tile area image 15a according to the rotation direction and the rotation angle of the display panel unit 41, and the frame buffer 24 matches the rotation angle and the rotation direction.
  • the writing position may be calculated (determined).
  • the present invention can be applied to a device or system connected to or including a display device such as a PC. Further, the present invention is applicable to an electronic signboard (digital signage) or the like.
  • 10 graphics drawing device 11 drawing control unit, 12 intermediate data generation unit, 13 intermediate data scanning unit, 14 figure drawing processing unit, 15 built-in frame buffer, 15a tile area image, 16 write control unit, 17 display reading unit, 20 External memory, 21a, 50 drawing list, 21 drawing list storage area (second storage area), 22 figure data storage area (first storage area), 22a figure data, 23 intermediate data storage area (third storage area) ), 23a intermediate data, 24 frame buffer, 24a drawing image (graphics), 24b reading direction, 30 CPU, 40 display device, 41 display panel section, 41a scanning direction.

Abstract

A graphics rendering apparatus (10) is provided with: an intermediate data generation unit (12) that generates intermediate data (23a) from graphic data (22a) and a rendering list (21a) and stores the intermediate data in an external memory (20); an intermediate data scanning unit (13) that detects a graphic having a portion included in a tile region from the intermediate data (23a); a built-in frame buffer (15); a graphic rendering processing unit (14) that generates and renders, in the built-in frame buffer (15), a tile region image (15a) corresponding to the tile region from pixel data of the graphic detected by the intermediate data scanning unit (13); a write control unit (16) that writes, into a frame buffer (24), a rendering image obtained by rotating the rendered tile region image (15a) in accordance with a specified rotation angle; and a rendering control unit (11) that controls each configuration so that a rendering image of one screen is rendered in the frame buffer (24).

Description

グラフィックス描画装置、グラフィックス描画方法、表示システム、及びグラフィックス描画プログラムGraphics drawing apparatus, graphics drawing method, display system, and graphics drawing program
 本発明は、フレームバッファに描画イメージを描画するグラフィックス描画装置及びグラフィックス描画方法、グラフィックス描画装置と表示装置とを含む表示システム、並びにフレームバッファに描画イメージを描画する処理をコンピュータに実行させるグラフィックス描画プログラムに関する。 The present invention relates to a graphics drawing device and a graphics drawing method for drawing a drawing image in a frame buffer, a display system including the graphics drawing device and a display device, and a computer for executing a process for drawing a drawing image in a frame buffer. The present invention relates to a graphics drawing program.
 グラフィックス描画装置は、液晶ディスプレイ(LCD)などの表示装置にグラフィックス画面を表示させる際に、メモリ上のフレームバッファに描画されたグラフィックス(描画イメージ)のピクセルデータを読み出し、読み出されたピクセルデータを表示装置に出力する。表示装置は、フレームバッファに描画されたグラフィックスに対応するグラフィックス画面を表示する。 When a graphics drawing device displays a graphics screen on a display device such as a liquid crystal display (LCD), pixel data of the graphics (drawing image) drawn in the frame buffer on the memory is read and read. Pixel data is output to a display device. The display device displays a graphics screen corresponding to the graphics drawn in the frame buffer.
 表示装置の表示パネル部に横長のグラフィックス画面を表示する場合には、表示パネル部が横長形状になるように表示装置を設置する。グラフィックス描画装置は、フレームバッファに横長のグラフィックスの描画(ピクセルデータの書き込み)を行い、描画されたグラフィックスのピクセルデータをフレームバッファからグラフィックスの横方向(読み出し方向)に順に読み出して、ピクセルデータを表示装置に出力する。表示パネル部を横長形状とした表示装置は、受け取ったピクセルデータに基づいて表示パネル部における横方向のスキャンを行うことによって、フレームバッファに描画されたグラフィックスに対応する横長のグラフィックス画面を表示する。 When displaying a horizontally long graphics screen on the display panel of the display device, install the display device so that the display panel has a horizontally long shape. The graphics drawing device draws horizontally long graphics (writes pixel data) in the frame buffer, reads pixel data of the drawn graphics sequentially from the frame buffer in the horizontal direction (reading direction) of the graphics, Pixel data is output to a display device. A display device having a horizontally long display panel displays a horizontally long graphics screen corresponding to the graphics drawn in the frame buffer by scanning the display panel in the horizontal direction based on the received pixel data. To do.
 表示装置の表示パネル部に縦長のグラフィックス画面を表示する場合には、例えば、表示パネル部を90度回転させて、表示パネル部が縦長形状になるように表示装置を設置する。グラフィックス描画装置は、フレームバッファに縦長のグラフィックスの描画を行い、描画されたグラフィックスのピクセルデータをフレームバッファからグラフィックスの縦方向(読み出し方向)に順に読み出して、ピクセルデータを表示装置に出力する。縦長形状の表示パネル部を持つ表示装置は、受け取ったピクセルデータに基づいて、表示パネル部における縦方向のスキャンを行うことによって、フレームバッファに描画されたグラフィックスに対応する縦長のグラフィックス画面を表示する。しかし、DRAMであるメモリ上のフレームバッファから、ピクセルデータをグラフィックスの縦方向に順に読み出す場合には、プリチャージ等のオーバーヘッドが頻繁に発生するので、メモリへのアクセス効率が低下する。 When displaying a vertically long graphics screen on the display panel unit of the display device, for example, the display panel unit is rotated 90 degrees and the display device is installed so that the display panel unit has a vertically long shape. The graphics drawing device draws a vertically long graphic in the frame buffer, sequentially reads the drawn pixel data of the graphics from the frame buffer in the vertical direction (reading direction) of the graphics, and sends the pixel data to the display device. Output. A display device having a vertically long display panel unit performs a vertical scan in the display panel unit based on the received pixel data, thereby generating a vertically long graphics screen corresponding to the graphic drawn in the frame buffer. indicate. However, when pixel data is sequentially read from the frame buffer on the memory, which is a DRAM, in the vertical direction of the graphics, overhead such as precharging frequently occurs, so that access efficiency to the memory is lowered.
 アクセス効率を改善するために、フレームバッファに描画された縦長のグラフィックスを90度回転させた横長の描画イメージを作成し、この描画イメージのピクセルデータを横方向(読み出し方向)に順に読み出して、読み出されたピクセルデータを表示装置に出力する方法(フレームバッファ上で横長のイメージを作成する方法)が考えられる。 In order to improve the access efficiency, a horizontally long drawing image obtained by rotating the vertically long graphics drawn in the frame buffer by 90 degrees is created, and the pixel data of this drawing image is sequentially read in the horizontal direction (reading direction). A method of outputting the read pixel data to a display device (a method of creating a horizontally long image on a frame buffer) can be considered.
 また、フレームバッファにグラフィックスを描画する際に、フレームバッファ上のピクセルデータのアドレス変換を行うことで、90度回転させた横長のイメージを作成する方法(フレームバッファに書き込む際にアドレス変換する方法)も考えられる(例えば、特許文献1を参照)。 Also, when rendering graphics in the frame buffer, a method of creating a horizontally long image rotated by 90 degrees by performing address conversion of pixel data on the frame buffer (a method of converting the address when writing to the frame buffer) Is also conceivable (see, for example, Patent Document 1).
特開平7-325753号公報Japanese Patent Laid-Open No. 7-325753
 しかしながら、フレームバッファ上で横長のイメージを作成する方法では、必要なメモリ容量が増加し、必要なメモリ帯域(転送速度)が増え、処理時間も増加するという課題がある。 However, the method of creating a horizontally long image on the frame buffer has the problems that the required memory capacity increases, the required memory bandwidth (transfer speed) increases, and the processing time also increases.
 また、フレームバッファに書き込む際にアドレス変換する方法では、フレームバッファとしてマルチポートメモリが必要であるので、フレームバッファとして通常のDRAMを使用するシステムに適用できないという課題がある。 Also, the method of converting the address when writing to the frame buffer requires a multi-port memory as a frame buffer, so that there is a problem that it cannot be applied to a system using a normal DRAM as a frame buffer.
 本発明は、上記課題を解決するためになされたものであり、フレームバッファとして使用されるメモリに特別な機能が要求されず、且つ、メモリ容量、メモリ帯域、及び処理時間を増加させずに、縦長のグラフィックス画面を表示装置に表示させることができるグラフィックス表示装置及びグラフィックス表示方法、グラフィックス描画装置と表示装置とを含む表示システム、並びにグラフィックス描画方法をコンピュータに実行させるグラフィックス描画プログラムを提供することを目的とする。 The present invention has been made in order to solve the above-described problems, and a special function is not required for the memory used as the frame buffer, and without increasing the memory capacity, the memory bandwidth, and the processing time. Graphics display device and graphics display method capable of displaying vertically long graphics screen on display device, display system including graphics drawing device and display device, and graphics drawing for causing computer to execute graphics drawing method The purpose is to provide a program.
 本発明の一態様に係るグラフィックス描画装置は、フレームバッファに描画イメージを描画するグラフィックス描画装置であって、第1の記憶領域に格納された、描画される図形を示す図形データと、第2の記憶領域に格納された、前記図形データの描画内容を定義する描画リストとから、前記図形データを示すポインタと描画される前記図形の座標変換処理を示す変換情報と描画される前記図形の描画範囲を示す描画範囲情報とを含む中間データを生成し、前記中間データを第3の記憶領域に格納する中間データ生成部と、前記中間データから、処理対象のタイル領域に含まれる部分を有する前記図形を検出する中間データ走査部と、前記タイル領域の描画イメージが描画される内蔵フレームバッファと、前記中間データ走査部によって検出された前記図形のピクセルデータから、前記処理対象のタイル領域に対応する第1のイメージを生成し、前記第1のイメージを前記内蔵フレームバッファに描画する図形描画処理部と、前記内蔵フレームバッファに描画された前記第1のイメージを、指定された回転角度に応じて回転させた第2のイメージを前記フレームバッファに書き込む書き込み制御部と、前記第2のイメージの書き込みが繰り返されることによって前記フレームバッファに1画面の前記描画イメージが描画されるように、前記中間データ走査部、前記図形描画処理部、及び前記書き込み制御部を制御する描画制御部とを備える。 A graphics drawing apparatus according to an aspect of the present invention is a graphics drawing apparatus that draws a drawing image in a frame buffer, and stores graphic data indicating a figure to be drawn, which is stored in a first storage area, and A drawing list that defines the drawing contents of the graphic data stored in the storage area 2, a pointer indicating the graphic data, conversion information indicating coordinate conversion processing of the graphic to be drawn, and the graphic to be drawn An intermediate data generation unit that generates intermediate data including drawing range information indicating a drawing range and stores the intermediate data in a third storage area; and a portion included in the tile area to be processed from the intermediate data. An intermediate data scanning unit for detecting the graphic, a built-in frame buffer in which a drawing image of the tile area is drawn, and the intermediate data scanning unit A graphic drawing processing unit for generating a first image corresponding to the tile area to be processed from the pixel data of the graphic that has been output, and drawing the first image in the internal frame buffer; and the internal frame buffer A writing control unit that writes a second image obtained by rotating the first image drawn in accordance with a designated rotation angle to the frame buffer, and the writing of the second image is repeated, thereby A drawing control unit for controlling the intermediate data scanning unit, the graphic drawing processing unit, and the writing control unit so that the drawing image of one screen is drawn in the frame buffer;
 本発明の他の態様に係るグラフィックス描画方法は、フレームバッファに描画イメージを描画するグラフィックス描画方法であって、第1の記憶領域に格納された、描画される図形を示す図形データと、第2の記憶領域に格納された、前記図形データの描画内容を定義する描画リストとから、前記図形データを示すポインタと描画される前記図形の座標変換処理を示す変換情報と描画される前記図形の描画範囲を示す描画範囲情報とを含む中間データを生成し、前記中間データを第3の記憶領域に格納する中間データ生成ステップと、前記中間データから、処理対象のタイル領域に含まれる部分を有する前記図形を検出する中間データ走査ステップと、前記中間データ走査ステップにおいて検出された前記図形のピクセルデータから、前記処理対象のタイル領域に対応する第1のイメージを生成し、前記第1のイメージを内蔵フレームバッファに描画する図形描画処理ステップと、前記内蔵フレームバッファに描画された前記第1のイメージを、指定された回転角度に応じて回転させた第2のイメージを前記フレームバッファに書き込む書き込み制御ステップと、前記中間データ走査ステップ、前記図形描画処理ステップ、及び前記書き込み制御ステップが繰り返されることによって前記フレームバッファに1画面の前記描画イメージを描画する描画制御ステップとを備える。 A graphics drawing method according to another aspect of the present invention is a graphics drawing method for drawing a drawing image in a frame buffer, the figure data indicating a figure to be drawn stored in a first storage area, From the drawing list that defines the drawing contents of the graphic data stored in the second storage area, the pointer indicating the graphic data and the conversion information indicating the coordinate conversion processing of the graphic to be drawn and the graphic to be drawn Generating intermediate data including drawing range information indicating the drawing range of the image, and storing the intermediate data in a third storage area; and a portion included in the tile area to be processed from the intermediate data. From the intermediate data scanning step for detecting the graphic having, and from the pixel data of the graphic detected in the intermediate data scanning step, Generate a first image corresponding to the tile area to be processed, and draw the first image in a built-in frame buffer, and specify the first image drawn in the built-in frame buffer The frame buffer by repeating the writing control step of writing the second image rotated according to the rotated angle to the frame buffer, the intermediate data scanning step, the graphic drawing processing step, and the writing control step. A drawing control step of drawing the drawing image of one screen.
 本発明のさらに他の態様に係る表示システムは、フレームバッファに描画イメージを描画する上記グラフィックス描画装置と、フレームバッファに描画された前記描画イメージに基づく画像を表示する表示装置とを備えたものである。 A display system according to still another aspect of the present invention includes the graphics drawing device that draws a drawing image in a frame buffer, and a display device that displays an image based on the drawing image drawn in the frame buffer. It is.
 本発明に係るグラフィックス描画装置、グラフィックス描画方法、及びグラフィックス描画示プログラムによれば、フレームバッファとして使用されるメモリに特別な機能が要求されず、且つ、メモリ容量、メモリ帯域、及び処理時間を増加させずに、縦長のグラフィックス画面を表示装置に表示させることができる。 According to the graphics drawing device, the graphics drawing method, and the graphics drawing display program according to the present invention, no special function is required for the memory used as the frame buffer, and the memory capacity, the memory bandwidth, and the processing A vertically long graphics screen can be displayed on the display device without increasing the time.
 また、本発明に係る表示システムによれば、フレームバッファとして使用されるメモリに特別な機能が要求されず、且つ、メモリ容量、メモリ帯域、及び処理時間を増加させずに、縦長のグラフィックス画面を表示することができる。 Further, according to the display system of the present invention, a special function is not required for a memory used as a frame buffer, and a vertically long graphics screen is obtained without increasing memory capacity, memory bandwidth, and processing time. Can be displayed.
本発明の実施の形態1に係る表示システム(グラフィックス描画装置及び表示装置を含む)の概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a display system (including a graphics drawing device and a display device) according to Embodiment 1 of the present invention. 図1の表示装置の縦長形状の表示パネル部に表示される縦長のグラフィックス画面の一例を示す図である。FIG. 2 is a diagram illustrating an example of a vertically long graphics screen displayed on a vertically long display panel unit of the display device of FIG. 1. (a)は、図形データ記憶領域に格納される図形データとしてのベクトル図形データの一例を示す図であり、(b)は、図3(a)のベクトル図形データに従うベクトル図形の一例を示す図である。(A) is a figure which shows an example of the vector figure data as figure data stored in a figure data storage area, (b) is a figure which shows an example of the vector figure according to the vector figure data of Fig.3 (a) It is. (a)は、図形データ記憶領域に格納される図形データとしてのビットマップ画像データの一例を示す図であり、(b)は、図4(a)のビットマップ画像データに従うビットマップ図形の一例を示す図である。(A) is a figure which shows an example of the bit map image data as figure data stored in a figure data storage area, (b) is an example of the bit map figure according to the bit map image data of Fig.4 (a). FIG. 描画リスト記憶領域に格納される描画リストの構造の例を示す図である。It is a figure which shows the example of the structure of the drawing list stored in a drawing list storage area. 中間データ生成部によって中間データ記憶領域に格納される中間データの構造の例を示す図である。It is a figure which shows the example of the structure of the intermediate data stored in an intermediate data storage area by an intermediate data production | generation part. 実施の形態1に係るグラフィックス描画装置の動作(グラフィックス描画方法)を示すフローチャートである。3 is a flowchart showing an operation (graphics drawing method) of the graphics drawing apparatus according to the first embodiment. (a)から(c)は、実施の形態1に係るグラフィックス描画装置による処理対象のタイル領域(1番目に選択されたタイル領域)、内蔵フレームバッファに描画されたタイル領域イメージ、及び内蔵フレームバッファから読み出されフレームバッファに書き込まれた描画イメージを示す図である。(A) to (c) are tile areas to be processed by the graphics drawing apparatus according to the first embodiment (first selected tile area), tile area images drawn in the built-in frame buffer, and built-in frames. It is a figure which shows the drawing image read from the buffer and written in the frame buffer. (a)から(c)は、実施の形態1に係るグラフィックス描画装置による処理対象のタイル領域(2番目に選択されたタイル領域)、内蔵フレームバッファに描画されたタイル領域イメージ、及び内蔵フレームバッファから読み出されフレームバッファに書き込まれた描画イメージを示す図である。(A) to (c) are tile areas to be processed by the graphics drawing apparatus according to the first embodiment (second selected tile area), tile area images drawn in the built-in frame buffer, and built-in frames. It is a figure which shows the drawing image read from the buffer and written in the frame buffer. (a)から(c)は、実施の形態1に係るグラフィックス描画装置による処理対象のタイル領域(最後に選択されたタイル領域)、内蔵フレームバッファに描画されたタイル領域イメージ、及び内蔵フレームバッファから読み出されフレームバッファに書き込まれた描画イメージを示す図である。(A) to (c) are tile areas to be processed (the tile area selected last) by the graphics rendering apparatus according to the first embodiment, tile area images drawn in the built-in frame buffer, and built-in frame buffer. It is a figure which shows the drawing image read from and written in the frame buffer. (a)及び(b)は、実施の形態1に係るグラフィックス描画装置に関し、フレームバッファにおける描画イメージの読み出し方向及び表示パネル部におけるスキャン方向を示す図である。(A) And (b) is a figure which shows the reading direction of the drawing image in a frame buffer, and the scanning direction in a display panel part regarding the graphics drawing apparatus which concerns on Embodiment 1. FIG. (a)及び(b)は、比較例に関し、フレームバッファにおける描画イメージの読み出し方向及び表示パネル部におけるスキャン方向を示す図である。(A) And (b) is a figure which shows the reading direction of the drawing image in a frame buffer, and the scanning direction in a display panel part regarding a comparative example. (a)及び(b)は、他の比較例に関し、フレームバッファにおける描画イメージの変換方法及び表示パネル部におけるスキャン方向を示す図である。(A) And (b) is a figure which shows the scanning direction in the conversion method of the drawing image in a frame buffer, and a display panel part regarding another comparative example. 図1に示される描画リストの他の例を示す図である。It is a figure which shows the other example of the drawing list | wrist shown by FIG. 変形例のグラフィックス描画装置を示すハードウェア構成図である。It is a hardware block diagram which shows the graphics drawing apparatus of a modification.
《1》実施の形態1
《1-1》構成
 図1は、本発明の実施の形態1に係る表示システムの概略構成を示すブロック図である。図1に示されるように、実施の形態1に係る表示システムは、フレームバッファ24に描画イメージ(グラフィックス)24aを描画するグラフィックス描画装置10と、フレームバッファ24に描画された描画イメージ24aに基づく画像を表示する表示装置40とを備える。また、実施の形態1に係る表示システムは、記憶装置としての外部メモリ20と、グラフィックス描画装置10及び外部メモリ20を制御する中央制御部としてのCPU(Central Processing Unit)30とを備えてもよい。
<< 1 >> Embodiment 1
<< 1-1 >> Configuration FIG. 1 is a block diagram showing a schematic configuration of a display system according to Embodiment 1 of the present invention. As shown in FIG. 1, the display system according to the first embodiment includes a graphics drawing device 10 that draws a drawing image (graphics) 24 a in a frame buffer 24, and a drawing image 24 a that is drawn in the frame buffer 24. And a display device 40 for displaying an image based thereon. The display system according to the first embodiment also includes an external memory 20 as a storage device and a CPU (Central Processing Unit) 30 as a central control unit that controls the graphics drawing device 10 and the external memory 20. Good.
 グラフィックス描画装置10は、実施の形態1に係るグラフィックス描画方法を実行することができる装置であり、外部メモリ20上に設けられたフレームバッファ24に1画面の描画イメージ24aを描画する。図1では、グラフィックス描画装置10、外部メモリ20、CPU30、及び表示装置40の各々が独立した構成として示されているが、これらは1台の装置(例えば、情報処理装置としてのPC(パーソナルコンピュータ))内に備えられてもよい。また、CPU30と外部メモリ20とグラフィックス描画装置10とが、1台の制御装置(例えば、PC)内に備えられ、グラフィックス描画装置10と表示装置40とがケーブルで接続されてもよい。 The graphics drawing device 10 is a device capable of executing the graphics drawing method according to the first embodiment, and draws a single screen drawing image 24 a in a frame buffer 24 provided on the external memory 20. In FIG. 1, each of the graphics drawing device 10, the external memory 20, the CPU 30, and the display device 40 is shown as an independent configuration. Computer)). The CPU 30, the external memory 20, and the graphics drawing device 10 may be provided in one control device (for example, a PC), and the graphics drawing device 10 and the display device 40 may be connected by a cable.
 表示装置40は、LCDなどの表示パネル部41を有する。図1には、表示パネル部41が縦長状態(縦長の矩形形状)である表示装置40が示されている。ただし、表示装置40は、表示パネル部41を回転させることによって(例えば、ユーザが表示パネル部41を90度右回転又は90度左回転させることによって)、表示パネル部41を横長状態及び縦長状態のいずれかに切り替え可能にする機構を備えてもよい。 The display device 40 includes a display panel unit 41 such as an LCD. FIG. 1 shows a display device 40 in which the display panel unit 41 is in a vertically long state (vertically long rectangular shape). However, the display device 40 rotates the display panel unit 41 (for example, when the user rotates the display panel unit 41 by 90 degrees to the right or 90 degrees to the left), thereby causing the display panel unit 41 to be in the horizontally long state or the vertically long state. You may provide the mechanism which can be switched to either.
 外部メモリ20は、例えば、DRAM(Dynamic Random Access Memory)である。外部メモリ20は、描画リスト21aが格納される描画リスト記憶領域(第2の記憶領域)21と、図形データ22aが格納される図形データ記憶領域(第1の記憶領域)22と、中間データ23aが格納される中間データ記憶領域(第3の記憶領域)23と、1フレームの画像データ(1画面の描画イメージ)が格納されるフレームバッファ24とを有する。図1には、1つの外部メモリ20が、描画リスト記憶領域21と、図形データ記憶領域22と、中間データ記憶領域23と、フレームバッファ24とを有する場合が示されているが、これらは、複数のメモリ(複数の記憶装置)に分けて備えられてもよい。また、外部メモリ20は、2つのフレームバッファ24を有してもよい。この場合には、描画イメージが書き込まれているフレームバッファ(書き込み中のフレームバッファ)と描画イメージが読み出されているフレームバッファ(読み出し中のフレームバッファ)とが、周期的に切り替えられる。 The external memory 20 is, for example, a DRAM (Dynamic Random Access Memory). The external memory 20 includes a drawing list storage area (second storage area) 21 in which a drawing list 21a is stored, a graphic data storage area (first storage area) 22 in which graphic data 22a is stored, and intermediate data 23a. Are stored in an intermediate data storage area (third storage area) 23 and a frame buffer 24 in which one frame of image data (one screen drawing image) is stored. FIG. 1 shows a case where one external memory 20 has a drawing list storage area 21, a graphic data storage area 22, an intermediate data storage area 23, and a frame buffer 24. A plurality of memories (a plurality of storage devices) may be provided separately. The external memory 20 may have two frame buffers 24. In this case, the frame buffer in which the drawing image is written (the frame buffer being written) and the frame buffer from which the drawing image is being read (the frame buffer being read) are periodically switched.
 グラフィックス描画装置10は、グラフィックス描画装置10全体の動作を制御する描画制御部11と、中間データ生成部12と、中間データ走査部13と、図形描画処理部14と、内蔵フレームバッファ15と、フレームバッファ24に描画イメージ24aを描画する(すなわち、ピクセルデータを書き込む)書き込み制御部16とを備える。グラフィックス描画装置10は、フレームバッファ24に描画された1画面の描画イメージ(グラフィックス)24aのピクセルデータを予め決められた読み出し方向(後述する図11(a)に破線24bで示される横方向)に読み出し、読み出されたピクセルデータを出力する表示読み出し部17を備えている。 The graphics drawing device 10 includes a drawing control unit 11 that controls the overall operation of the graphics drawing device 10, an intermediate data generation unit 12, an intermediate data scanning unit 13, a graphic drawing processing unit 14, a built-in frame buffer 15, A writing control unit 16 for drawing the drawing image 24a in the frame buffer 24 (that is, writing pixel data). The graphics drawing apparatus 10 reads pixel data of a drawing image (graphics) 24a of one screen drawn in the frame buffer 24 in a predetermined reading direction (a horizontal direction indicated by a broken line 24b in FIG. 11A described later). ) And a display reading unit 17 for outputting the read pixel data.
 中間データ生成部12は、描画リスト記憶領域21に格納されている描画リスト21aと図形データ記憶領域22に格納されている図形データ22aとから、中間データ23aを生成し、この中間データ23aを外部メモリ20における中間データ記憶領域23に格納する。中間データ生成部12による中間データ23aの生成は、描画リスト21aにおける最後の項目が読み出されるまで繰り返される(詳細は、後述する図7におけるステップS1~S5で説明される)。 The intermediate data generation unit 12 generates intermediate data 23a from the drawing list 21a stored in the drawing list storage area 21 and the graphic data 22a stored in the graphic data storage area 22, and the intermediate data 23a is externally generated. The data is stored in the intermediate data storage area 23 in the memory 20. The generation of the intermediate data 23a by the intermediate data generation unit 12 is repeated until the last item in the drawing list 21a is read (details will be described in steps S1 to S5 in FIG. 7 described later).
 中間データ走査部13は、中間データ記憶領域23に格納されている中間データ23aから処理対象の画像データ領域であるタイル領域に含まれる部分を有する図形を検出し、検出された図形を示す図形検出情報(検出結果情報)を図形描画処理部14に与える。タイル領域のサイズは、予め決められており、例えば、内蔵フレームバッファ15と同じサイズ(ピクセル数)である。 The intermediate data scanning unit 13 detects a figure having a portion included in a tile area which is an image data area to be processed from the intermediate data 23a stored in the intermediate data storage area 23, and detects a figure indicating the detected figure. Information (detection result information) is given to the graphic drawing processing unit 14. The size of the tile area is determined in advance, and is, for example, the same size (number of pixels) as that of the built-in frame buffer 15.
 図形描画処理部14は、中間データ走査部13から受け取った図形検出情報が示す図形について、図形データ記憶領域22に格納されている図形データ22aを用いてピクセルデータを生成して、このピクセルデータからなるタイル領域の描画イメージ(タイル領域イメージ)を内蔵フレームバッファ15に格納する。内蔵フレームバッファ15は、例えば、SRAM(Static Random Access Memory)で構成される。 The graphic drawing processing unit 14 generates pixel data for the graphic indicated by the graphic detection information received from the intermediate data scanning unit 13 by using the graphic data 22a stored in the graphic data storage area 22, and uses the pixel data from the pixel data. A drawing image (tile area image) of the tile area is stored in the built-in frame buffer 15. The built-in frame buffer 15 is composed of, for example, an SRAM (Static Random Access Memory).
 書き込み制御部16は、内蔵フレームバッファ15に格納されたタイル領域イメージ15aを読み出し、このタイル領域イメージを、フレームバッファ24におけるタイル領域に対応する領域に格納する(書き込む)。 The write control unit 16 reads the tile area image 15a stored in the built-in frame buffer 15, and stores (writes) the tile area image in an area corresponding to the tile area in the frame buffer 24.
 中間データ走査部13によるタイル領域における図形の検出、図形描画処理部14によるタイル領域イメージ15aの内蔵フレームバッファ15への格納、書き込み制御部16によるタイル領域イメージ15aのフレームバッファ24への書き込みは、フレームバッファ24に1フレームのグラフィックス(1画面の描画イメージ)の描画が完了するまで繰り返される(詳細は、後述する図7におけるステップS6~S14で説明される)。 Detection of a graphic in the tile area by the intermediate data scanning unit 13, storage of the tile area image 15a in the built-in frame buffer 15 by the graphic drawing processing unit 14, and writing of the tile area image 15a in the frame buffer 24 by the write control unit 16 are as follows. The process is repeated until drawing of one frame of graphics (drawing image of one screen) is completed in the frame buffer 24 (details will be described in steps S6 to S14 in FIG. 7 described later).
 1フレームの描画イメージ(グラフィックス)の描画が完了すると、表示読み出し部17は、フレームバッファ24に格納された描画イメージ24aのピクセルデータを予め決められた読み出し方向に順に読み出し、読み出されたピクセルデータを表示装置40に出力する。 When the drawing of one frame of drawing image (graphics) is completed, the display reading unit 17 sequentially reads out the pixel data of the drawing image 24a stored in the frame buffer 24 in a predetermined reading direction, and the read pixels. Data is output to the display device 40.
《1-2》動作
 図2は、表示装置40の縦長形状の表示パネル部41に表示される縦長のグラフィックス画面の一例を示す図である。図2に示されるグラフィックス画面は、図形I1、図形I2、図形I3、図形I4、図形I5、及び図形I6を含む。以下に、グラフィックス描画装置10、外部メモリ20、及びCPU30が、複数の図形I1,I2,I3,I4,I5,I6を拡大、縮小、回転、及び移動させて、表示装置40の表示パネル部41に、図2に示されるようなグラフィックス画面を表示する動作について説明する。
<< 1-2 >> Operation FIG. 2 is a diagram illustrating an example of a vertically long graphics screen displayed on the vertically long display panel unit 41 of the display device 40. The graphics screen illustrated in FIG. 2 includes a graphic I1, a graphic I2, a graphic I3, a graphic I4, a graphic I5, and a graphic I6. In the following, the graphics drawing device 10, the external memory 20, and the CPU 30 enlarge, reduce, rotate, and move the plurality of figures I1, I2, I3, I4, I5, and I6 to display the display panel unit of the display device 40. An operation for displaying a graphics screen as shown in FIG.
 先ず、CPU30は、図形データ記憶領域22に描画される図形の図形データ22aを格納する。図形データ22aは、例えば、ベクトル図形データ又はビットマップ画像データである。 First, the CPU 30 stores graphic data 22 a of a graphic to be drawn in the graphic data storage area 22. The graphic data 22a is, for example, vector graphic data or bitmap image data.
 図3(a)は、図形データ記憶領域22に格納される図形データ22aとしてのベクトル図形データの一例を示す図であり、図3(b)は、図3(a)のベクトル図形データに従うベクトル図形の一例を示す図である。図3(a)に示されるベクトル図形データは、図形輪郭を定義するデータとして、コマンド(例えば、「MoveTo」、「LineTo」、及び「CurveTo」)と、XY座標系におけるベクトル図形の頂点の座標(X0,Y0)、(X1,Y1)、及び(X2,Y2)と、制御点の座標(X3,Y3)とを含む。また、図3(a)に示されるベクトル図形データは、図形の色を指定するデータ「描画色」を含むことができる。図3(b)に示されるように、図3(a)のベクトル図形データに従うベクトル図形は、その図形輪郭を、2本の直線と1本のベジェ曲線とで構成している。ただし、図形データ記憶領域22に格納される図形データ22aとしてのベクトル図形データは、図3(a)及び(b)に示される例に限定されない。 3A shows an example of vector graphic data as graphic data 22a stored in the graphic data storage area 22, and FIG. 3B shows a vector according to the vector graphic data of FIG. 3A. It is a figure which shows an example of a figure. The vector graphic data shown in FIG. 3A includes commands (for example, “MoveTo”, “LineTo”, and “CurveTo”) and coordinates of the vertices of the vector graphic in the XY coordinate system as data defining the graphic contour. (X0, Y0), (X1, Y1), and (X2, Y2) and the coordinates (X3, Y3) of the control point are included. Also, the vector graphic data shown in FIG. 3A can include data “drawing color” that specifies the color of the graphic. As shown in FIG. 3 (b), the vector figure according to the vector figure data of FIG. 3 (a) has its figure outline composed of two straight lines and one Bezier curve. However, the vector graphic data as the graphic data 22a stored in the graphic data storage area 22 is not limited to the example shown in FIGS. 3 (a) and 3 (b).
 図4(a)は、図形データ記憶領域22に格納される図形データ22aとしてのビットマップ画像データの一例を示す図であり、図4(b)は、図4(a)のビットマップ画像データに従うビットマップ図形の一例を示す図である。図4(a)に示されるビットマップ画像データは、ビットマップ画像の図形輪郭が矩形であり、ビットマップ画像のサイズ(幅Width及び高さHeight)と、ビットマップ画像のピクセル毎のカラー値(例えば、RGBA値)とにより規定される。図4(a)において、「ピクセル0(RGBA)」は、第0番のピクセルにおけるRGBA値を示し、「ピクセル1(RGBA)」は、第1番のピクセルにおけるRGBA値を示し、「ピクセルN(RGBA)」は、第N番(Nは正の整数)のピクセルにおけるRGBA値を示す。なお、RGBA値は、ピクセルのカラー値を、赤(R)、緑(G)、青(B)の三原色の値と、透明度(A)を示すアルファ値とによって表現した値である。 4A is a diagram showing an example of bitmap image data as the graphic data 22a stored in the graphic data storage area 22, and FIG. 4B is a diagram of the bitmap image data of FIG. 4A. It is a figure which shows an example of the bitmap figure according to. In the bitmap image data shown in FIG. 4A, the graphic contour of the bitmap image is rectangular, the size of the bitmap image (width Width and height Height), and the color value for each pixel of the bitmap image ( For example, RGBA value). In FIG. 4A, “pixel 0 (RGBA)” indicates the RGBA value in the 0th pixel, “pixel 1 (RGBA)” indicates the RGBA value in the 1st pixel, and “pixel N “(RGBA)” indicates an RGBA value in the Nth pixel (N is a positive integer). The RGBA value is a value obtained by expressing the color value of a pixel by a value of three primary colors of red (R), green (G), and blue (B) and an alpha value indicating transparency (A).
 また、CPU30は、グラフィックス描画装置10が1フレームの描画イメージ(1画面のグラフィックス)をフレームバッファ24に描画するために使用される描画リスト21aを予め外部メモリ20の描画リスト記憶領域21に格納する。 In addition, the CPU 30 stores in the drawing list storage area 21 of the external memory 20 in advance a drawing list 21 a that is used by the graphics drawing apparatus 10 to draw one frame of drawing image (one screen of graphics) in the frame buffer 24. Store.
 図5は、描画リスト記憶領域21に格納される描画リスト21aの構造の例を示す図である。描画リスト21aは、図形データ22aとして格納されている図形(ベクトル図形又はビットマップ画像)I1,I2,I3,I4,I5,I6の各々について、どのように描画するかを定義(図形データ22aを用いる描画内容を定義)したデータである。図形データ記憶領域22に記憶されている複数の図形データ22aの内のいずれの図形を描画するかは、図5に示される図形データ22aのポインタ22a1(図形I1,I2,I3,I4,I5,I6)で指定され、指定された図形をどのように描画するかを示す描画情報(描画される図形の座標変換処理を示す変換情報)は、変換行列21a2により指定される。変換行列21a2は、例えば、A~Fを成分(行列要素)とする、以下に示される2行3列の変換行列(1)である。 FIG. 5 is a diagram showing an example of the structure of the drawing list 21 a stored in the drawing list storage area 21. The drawing list 21a defines how to draw each of the figures (vector figures or bitmap images) I1, I2, I3, I4, I5, and I6 stored as the figure data 22a (the figure data 22a This is data that defines the drawing content to be used. Which of the plurality of graphic data 22a stored in the graphic data storage area 22 is to be drawn depends on the pointer 22a1 (graphics I1, I2, I3, I4, I5, FIG. 5) of the graphic data 22a shown in FIG. The drawing information (conversion information indicating the coordinate conversion processing of the drawn figure) designated by I6) and indicating how to draw the designated figure is designated by the conversion matrix 21a2. The conversion matrix 21a2 is, for example, a 2-by-3 conversion matrix (1) shown below, in which A to F are components (matrix elements).
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 図形データ22aであるベクトル図形の頂点(角部)のXY座標及び制御点のXY座標、又は、図形データ22aであるビットマップ画像の頂点のXY座標に対して、変換行列(1)を用いた以下の式(2)を適用することにより、座標変換前の座標(X,Y)で示される図形を拡大、縮小、回転、平行移動などして座標変換後の座標(Xn,Yn)で示される図形に変換することができる。なお、次式(2)を用いる座標変換は、アフィン変換であり、アフィン変換によって、図形の拡大、縮小、回転、平行移動を行う技術自体は公知である。 The transformation matrix (1) is used for the XY coordinates of the vertices (corner portions) of the vector graphic as the graphic data 22a and the XY coordinates of the control points, or the XY coordinates of the bitmap image as the graphic data 22a. By applying the following equation (2), the figure indicated by the coordinates (X, Y) before the coordinate conversion is enlarged, reduced, rotated, translated, etc., and the coordinates (Xn, Yn) after the coordinate conversion are indicated. Can be converted into a figure. Note that the coordinate transformation using the following equation (2) is an affine transformation, and a technique itself for enlarging, reducing, rotating, and translating a figure by affine transformation is known.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 描画リスト21aは、1フレーム全体の描画内容を含む。図2の例では、描画内容は、6個の図形I1,I2,I3,I4,I5,I6の描画を含むため、この描画を行うための描画リスト21aは、図2に示される図形I1,I2,I3,I4,I5,I6を示すポインタ21a1(図5における図形I1,I2,I3,I4,I5,I6)と変換行列21a2で構成される。また、図形I1,I2,I3,I4,I5,I6の描画は、描画リスト21aの先頭(図5における1番上の行)から下に向けて順に行われる。例えば、図5に示される描画リスト21aの1番上の行の項目は、ポインタ21a1が図形I1を示し、座標変換が次式(3)で行われることを示している。 The drawing list 21a includes the drawing contents of the entire frame. In the example of FIG. 2, the drawing contents include drawing of six figures I1, I2, I3, I4, I5, and I6. Therefore, the drawing list 21a for performing this drawing is the figure I1, shown in FIG. The pointer 21a1 (graphics I1, I2, I3, I4, I5, and I6 in FIG. 5) indicating I2, I3, I4, I5, and I6 and a conversion matrix 21a2. The graphics I1, I2, I3, I4, I5, and I6 are drawn in order from the top of the drawing list 21a (the top row in FIG. 5) downward. For example, the item in the top line of the drawing list 21a shown in FIG. 5 indicates that the pointer 21a1 indicates the graphic I1 and the coordinate conversion is performed by the following equation (3).
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 CPU30は、描画に必要な図形データ22a及び描画リスト21aをそれぞれ外部メモリ20の図形データ記憶領域22及び描画リスト記憶領域21に格納した場合に、グラフィックス描画装置10に対して描画開始を指示する。これにより、グラフィックス描画装置10は、1フレーム分の描画イメージ24aをフレームバッファ24に描画する処理を開始する。先ず、描画制御部11は、中間データ生成部12に対して処理の開始を指示する。 The CPU 30 instructs the graphics drawing apparatus 10 to start drawing when the graphic data 22a and the drawing list 21a necessary for drawing are stored in the graphic data storage area 22 and the drawing list storage area 21 of the external memory 20, respectively. . Thereby, the graphics drawing apparatus 10 starts a process of drawing the drawing image 24 a for one frame in the frame buffer 24. First, the drawing control unit 11 instructs the intermediate data generation unit 12 to start processing.
 図6は、中間データ生成部12によって中間データ記憶領域23に格納される中間データ23aの構造の例を示す図である。また、図7は、実施の形態1に係るグラフィックス描画装置10の動作(グラフィックス描画方法)を示すフローチャートである。 FIG. 6 is a diagram illustrating an example of the structure of the intermediate data 23a stored in the intermediate data storage area 23 by the intermediate data generation unit 12. FIG. 7 is a flowchart showing the operation (graphics drawing method) of the graphics drawing apparatus 10 according to the first embodiment.
 中間データ生成部12は、描画制御部11から描画処理の開始の指示を受けると、描画リスト記憶領域21に格納されている描画リスト21a(図5)を先頭から読み出す(ステップS1)。 When the intermediate data generation unit 12 receives an instruction to start the drawing process from the drawing control unit 11, the intermediate data generation unit 12 reads the drawing list 21a (FIG. 5) stored in the drawing list storage area 21 from the top (step S1).
 中間データ生成部12は、描画リスト21aで指定された図形データ22aを図形データ記憶領域22から読み出し、読み出された図形データが示す図形の頂点及び制御点のXY座標に対して、描画リスト21a(図5)で指定された変換行列21a2及び座標変換式(式(2)、(3)など)を使用して座標変換処理を行う。すなわち、図形I1の図形データ(ベクトル図形データ)22aの頂点及び制御点のXY座標に対し、変換行列(AI1~FI1)を用いた式(3)により座標変換処理を行う。この際に、中間データ生成部12は、座標変換後のXY座標(Xn,Yn)の最小値及び最大値を判定し、描画範囲情報(図6)として保持する(ステップS2)。描画範囲情報は、例えば、Xnの最大値と最小値、Ynの最大値と最小値で表現される。 The intermediate data generation unit 12 reads the graphic data 22a designated in the drawing list 21a from the graphic data storage area 22, and draws the graphic list 21a with respect to the XY coordinates of the vertices and control points of the graphic indicated by the read graphic data. Coordinate conversion processing is performed using the conversion matrix 21a2 and coordinate conversion formulas (formulas (2), (3), etc.) specified in FIG. That is, the coordinate conversion process is performed on the XY coordinates of the vertex and the control point of the graphic data (vector graphic data) 22a of the graphic I1 by the equation (3) using the conversion matrix (AI1 to FI1). At this time, the intermediate data generation unit 12 determines the minimum value and the maximum value of the XY coordinates (Xn, Yn) after the coordinate conversion, and holds them as drawing range information (FIG. 6) (step S2). The drawing range information is expressed by, for example, the maximum value and minimum value of Xn and the maximum value and minimum value of Yn.
 そして、図形I1の全ての頂点及び制御点についての座標変換処理が終了した場合に、図形I1へのポインタ21a1、描画リスト21aで指定された変換行列21a2、及び描画範囲情報(変換後の座標Xnの最大値と最小値、変換後の座標Ynの最大値と最小値)を中間データ23a(図6)として外部メモリ20に書き込む(ステップS3)。 When the coordinate conversion processing for all the vertices and control points of the figure I1 is completed, the pointer 21a1 to the figure I1, the conversion matrix 21a2 specified by the drawing list 21a, and the drawing range information (the converted coordinates Xn Are written in the external memory 20 as intermediate data 23a (FIG. 6) (step S3).
 次に、中間データ生成部12は、描画リスト21aにおける最後の項目まで読み出したかを判定し(ステップS4)、最後の項目まで読み出していない場合には(ステップS4においてNO)、描画リスト21aにおける次の項目を読み出す(ステップS5)。図5の例では、中間データ生成部12は、描画リスト21aで次の項目(次に指定される図形I2)に対して、図形I1の場合と同様の処理を行う。すなわち、中間データ生成部12は、図形データ記憶領域22から図形I2の図形データ22aを読み出し、図形データ22aによって示される図形の頂点及び制御点のXY座標に対して変換行列(AI2~FI2)を使用して、座標変換処理を行う。そして、中間データ生成部12は、図形I2の全ての頂点及び制御点について座標変換処理が終了した場合に(ステップS4においてYES)、図形I2へのポインタ、描画リスト21aで指定された変換行列(AI2~FI2)、及び描画範囲情報(変換後の座標Xnの最大値と最小値、変換後の座標Ynの最大値と最小値)を、中間データ23aとして外部メモリ20の中間データ記憶領域23に書き込む。 Next, the intermediate data generation unit 12 determines whether the last item in the drawing list 21a has been read (step S4). If the last item has not been read (NO in step S4), the intermediate data generation unit 12 determines whether the next item in the drawing list 21a has been read. Are read (step S5). In the example of FIG. 5, the intermediate data generation unit 12 performs the same processing as in the case of the graphic I1 for the next item (the graphic I2 specified next) in the drawing list 21a. That is, the intermediate data generation unit 12 reads the graphic data 22a of the graphic I2 from the graphic data storage area 22, and converts the transformation matrix (AI2 to FI2) for the vertices of the graphic and the XY coordinates of the control points indicated by the graphic data 22a. Use it to perform coordinate transformation processing. Then, when the coordinate conversion process is completed for all the vertices and control points of the graphic I2 (YES in step S4), the intermediate data generation unit 12 converts the pointer to the graphic I2 and the conversion matrix specified by the drawing list 21a ( AI2 to FI2) and drawing range information (maximum value and minimum value of coordinate Xn after conversion, maximum value and minimum value of coordinate Yn after conversion) are stored in intermediate data storage area 23 of external memory 20 as intermediate data 23a. Write.
 中間データ生成部12は、同様の処理を繰り返して、描画リスト21aにおける最後の項目まで読み出し、図6に示されるように、1フレームで描画する必要のある全ての図形データ22aについての情報を登録した中間データ23aを外部メモリ20の中間データ記憶領域23に作成する。 The intermediate data generation unit 12 repeats the same processing, reads up to the last item in the drawing list 21a, and registers information about all graphic data 22a that needs to be drawn in one frame as shown in FIG. The intermediate data 23 a is created in the intermediate data storage area 23 of the external memory 20.
 次に、描画制御部11は、中間データ走査部13に処理開始を指示する。まず、描画制御部11は、中間データ走査部13に対し、画面上における左上隅のタイル領域を描画対象とすることを指示する(ステップS6)。図8(a)から(c)は、グラフィックス描画装置10による処理対象のタイル領域(1番目に選択されたタイル領域)13a、内蔵フレームバッファ15に描画されたタイル領域イメージ15a、及び内蔵フレームバッファ15から読み出されフレームバッファ24に書き込まれた描画イメージ16aを示す図である。ここでは、タイル領域のサイズ(大きさ)は、内蔵フレームバッファ15と同じサイズである。タイル領域のサイズは、予め決められており、例えば、32ピクセル×32ピクセル、又は、64ピクセル×64ピクセルなどのような小さな領域である。 Next, the drawing control unit 11 instructs the intermediate data scanning unit 13 to start processing. First, the drawing control unit 11 instructs the intermediate data scanning unit 13 to set the tile area in the upper left corner on the screen as a drawing target (step S6). 8A to 8C show a tile area (first selected tile area) 13a to be processed by the graphics drawing apparatus 10, a tile area image 15a drawn in the built-in frame buffer 15, and a built-in frame. It is a figure which shows the drawing image 16a read from the buffer 15 and written in the frame buffer 24. Here, the size (size) of the tile area is the same as that of the built-in frame buffer 15. The size of the tile area is determined in advance, and is a small area such as 32 pixels × 32 pixels or 64 pixels × 64 pixels, for example.
 中間データ走査部13は、描画制御部11から指示を受けると、外部メモリ20の中間データ記憶領域23から中間データ23aを読み出し(ステップS7)、中間データ23a(図6)の描画範囲情報を参照して図形データ22aが処理対象のタイル領域13aに含まれる部分を有するか否かを判定する(ステップS8)。中間データ走査部13は、参照された図形データ22aが処理対象のタイル領域13aに含まれる部分を有する場合には(ステップS8においてYES)、図形描画処理部14に対して図形データ22aへのポインタ及び変換行列を出力し、描画を指示する。図8(a)から(c)の例では、図形I2が処理対象のタイル領域13aに含まれる部分を有するので、中間データ走査部13は、図形I2について描画するよう図形描画処理部14に対して指示を出す。 When the intermediate data scanning unit 13 receives an instruction from the drawing control unit 11, the intermediate data scanning unit 13 reads the intermediate data 23a from the intermediate data storage area 23 of the external memory 20 (step S7), and refers to the drawing range information of the intermediate data 23a (FIG. 6). Then, it is determined whether or not the graphic data 22a has a portion included in the tile area 13a to be processed (step S8). If the referenced graphic data 22a has a portion included in the processing target tile area 13a (YES in step S8), the intermediate data scanning unit 13 instructs the graphic drawing processing unit 14 to point to the graphic data 22a. Then, a transformation matrix is output and drawing is instructed. In the example of FIGS. 8A to 8C, since the graphic I2 has a portion included in the tile area 13a to be processed, the intermediate data scanning unit 13 instructs the graphic drawing processing unit 14 to draw the graphic I2. And give instructions.
 図形描画処理部14は、中間データ走査部13から描画の指示を受けると、外部メモリ20の図形データ記憶領域22から図形データ22aを読み出し、図形データ22aが示す図形の頂点及び制御点のXY座標に、指定された変換行列により座標変換処理を施して図形を変形したのち、処理対象のタイル領域についてピクセルデータを生成して内蔵フレームバッファ15に描画を行う(ステップS9)。なお、図形データ22aからピクセルデータを生成する方式自体は、公知技術である。 When receiving a drawing instruction from the intermediate data scanning unit 13, the figure drawing processing unit 14 reads the figure data 22 a from the figure data storage area 22 of the external memory 20, and the vertices of the figure indicated by the figure data 22 a and the XY coordinates of the control points Next, after performing a coordinate transformation process using the designated transformation matrix to deform the figure, pixel data is generated for the tile area to be processed and rendered in the built-in frame buffer 15 (step S9). The method of generating pixel data from the graphic data 22a is a known technique.
 中間データ走査部13は、全ての図形の中間データ23aを走査したかを判定し(ステップS10)、中間データ23aを最後の項目(図形情報)まで走査していない場合には(ステップS10においてNO)、中間データ23aにおける次の項目(図形情報)を走査し(ステップS11)、同様の処理を行う。 The intermediate data scanning unit 13 determines whether the intermediate data 23a of all the figures has been scanned (step S10). If the intermediate data 23a has not been scanned to the last item (graphic information) (NO in step S10). ), The next item (graphic information) in the intermediate data 23a is scanned (step S11), and the same processing is performed.
 中間データ走査部13は、全ての図形の中間データ23aを走査し、処理対象のタイル領域に含まれる部分を有する全ての図形データ22a(図8(a)から(c)の例では、図形I2のみ)の描画が完了した時点で、内蔵フレームバッファ15に処理対象のタイル領域分のイメージの作成が完成する。 The intermediate data scanning unit 13 scans the intermediate data 23a of all the figures, and all the figure data 22a having a portion included in the tile area to be processed (in the example of FIGS. 8A to 8C, the figure I2 (Only) is completed, the creation of the image for the tile area to be processed is completed in the built-in frame buffer 15.
 次に、描画制御部11は、書き込み制御部16に対してタイル領域に対応するピクセルデータをフレームバッファ24に書き込むよう指示をする。書き込み制御部16は、回転角度とタイル領域の位置とから外部メモリ20上のフレームバッファ24の書き込み位置を算出し、内蔵フレームバッファ15のタイル領域イメージ15aを回転させてフレームバッファ24に描画イメージ16aとして書き込む(ステップS12)。このとき、図8(c)に矢印62で示されるように、外部メモリ20のフレームバッファ24に対して横方向(長辺方向)に書き込みを行うように、図8(b)に矢印61で示されるように、内蔵フレームバッファ15を縦方向に読み出す。内蔵フレームバッファ15は、SRAMで構成されていることが望ましく、この場合には、縦方向の読み出しをしても、プリチャージ等のオーバーヘッドは無いので、縦方向の読み出しを効率的に行うことができる。また、内蔵フレームバッファ15に要求されるメモリ容量は非常に小さいので、内蔵フレームバッファ15を比較的高価なSRAMとした場合であっても、製品価格への影響は小さいと考えられる。 Next, the drawing control unit 11 instructs the write control unit 16 to write pixel data corresponding to the tile area into the frame buffer 24. The writing control unit 16 calculates the writing position of the frame buffer 24 on the external memory 20 from the rotation angle and the position of the tile area, and rotates the tile area image 15a of the built-in frame buffer 15 to the drawing image 16a in the frame buffer 24. (Step S12). At this time, as indicated by an arrow 62 in FIG. 8C, writing is performed in the horizontal direction (long side direction) with respect to the frame buffer 24 of the external memory 20, as indicated by an arrow 61 in FIG. As shown, the built-in frame buffer 15 is read in the vertical direction. The built-in frame buffer 15 is preferably composed of SRAM. In this case, there is no overhead such as precharge even if the vertical reading is performed, so that the vertical reading can be performed efficiently. it can. Further, since the memory capacity required for the built-in frame buffer 15 is very small, it is considered that the influence on the product price is small even when the built-in frame buffer 15 is a relatively expensive SRAM.
 次に、描画制御部11は、描画対象の1フレームの画面上の全てのタイル領域についての処理が終わったか否かを判定する(ステップS13)。この例では、次に、描画制御部11は、中間データ走査部13に対し、画面上で左上隅の右隣のタイル領域を描画対象とすることを指示する(ステップS14)。図9(a)から(c)は、グラフィックス描画装置10による処理対象のタイル領域(2番目に選択されたタイル領域)13a、内蔵フレームバッファ15に描画されたタイル領域イメージ15a、及び内蔵フレームバッファ15から読み出されフレームバッファ24に書き込まれた描画イメージを示す図である。 Next, the drawing control unit 11 determines whether or not the processing has been completed for all tile areas on the screen of one frame to be drawn (step S13). In this example, next, the drawing control unit 11 instructs the intermediate data scanning unit 13 to set the tile area adjacent to the right of the upper left corner on the screen as a drawing target (step S14). FIGS. 9A to 9C show a tile area (second tile area selected) 13a to be processed by the graphics drawing apparatus 10, a tile area image 15a drawn in the built-in frame buffer 15, and a built-in frame. FIG. 4 is a diagram showing a drawing image read from the buffer 15 and written to the frame buffer 24.
 中間データ走査部13は、描画制御部11から指示を受けると、外部メモリ20の中間データ記憶領域23から中間データ23aを読み出し、中間データ23aの描画範囲情報を参照して図形データ22aが処理対象のタイル領域に含まれる部分を有するか否かを判定する。そして、処理対象のタイル領域に含まれる部分を有する場合には、中間データ走査部13は、図形描画処理部14に対して図形データ22aへのポインタ及び変換行列を出力し、描画を指示する。図9(a)から(c)の例では、図形I2と図形I4とが処理対象のタイル領域に含まれる部分を有するため、中間データ走査部13は、図形I2と図形I4について描画するよう図形描画処理部14に対して指示を出す。 When the intermediate data scanning unit 13 receives an instruction from the drawing control unit 11, the intermediate data scanning unit 13 reads the intermediate data 23a from the intermediate data storage area 23 of the external memory 20, and refers to the drawing range information of the intermediate data 23a to process the graphic data 22a. It is determined whether or not there is a part included in the tile area. When the intermediate data scanning unit 13 includes a portion included in the tile area to be processed, the intermediate data scanning unit 13 outputs a pointer and a conversion matrix to the graphic data 22a to the graphic drawing processing unit 14 to instruct drawing. In the example of FIGS. 9A to 9C, since the figure I2 and the figure I4 have a portion included in the tile area to be processed, the intermediate data scanning unit 13 draws the figure I2 and the figure I4. An instruction is issued to the drawing processing unit 14.
 図形描画処理部14は、中間データ走査部13から指示を受けると、外部メモリ20の図形データ記憶領域22から図形データ22aを読み出し、読み出された図形データ22aが示す図形の頂点及び制御点のXY座標に指定された変換行列により座標変換処理を施して変形したのち、処理対象のタイル領域についてピクセルデータを生成して内蔵フレームバッファ15に描画を行う。 Upon receiving an instruction from the intermediate data scanning unit 13, the graphic drawing processing unit 14 reads the graphic data 22 a from the graphic data storage area 22 of the external memory 20, and the vertexes and control points of the graphic indicated by the read graphic data 22 a are read. After transformation by performing a coordinate transformation process using a transformation matrix designated for the XY coordinates, pixel data is generated for the tile area to be processed and rendered in the built-in frame buffer 15.
 中間データ走査部13は、全ての図形の中間データ23aを走査し、処理対象のタイル領域に含まれる部分を有する全ての図形データ22a(図9(a)から(c)の例では、図形I2と図形I4)の描画が完了した時点で、内蔵フレームバッファ15に処理対象のタイル領域イメージ15aが完成する。 The intermediate data scanning unit 13 scans the intermediate data 23a of all the figures, and all the figure data 22a having a portion included in the tile area to be processed (in the example of FIGS. 9A to 9C, the figure I2 When the drawing of the graphic I4) is completed, the tile area image 15a to be processed is completed in the built-in frame buffer 15.
 その後、描画制御部11は、書き込み制御部16に対してタイル領域に対応するピクセルデータをフレームバッファ24に書き込むよう指示をする。書き込み制御部16は、回転角度とタイル領域の位置から外部メモリ20上のフレームバッファ24の書き込み位置を算出し、内蔵フレームバッファ15のタイル領域イメージ15aを回転(例えば、90度左回転)させてフレームバッファ24に書き込む。 Thereafter, the drawing control unit 11 instructs the write control unit 16 to write pixel data corresponding to the tile area into the frame buffer 24. The writing control unit 16 calculates the writing position of the frame buffer 24 on the external memory 20 from the rotation angle and the position of the tile area, and rotates the tile area image 15a of the built-in frame buffer 15 (for example, rotates left by 90 degrees). Write to frame buffer 24.
 同様に、画面上の全てのタイル領域について、処理を行う。図10(a)から(c)は、最後(画面上で一番右下)のタイル領域を対象とした処理を説明するための図である。同様に、中間データ走査部13は、外部メモリ20から中間データ23aを読み出し、描画範囲情報を参照して、図形データ22aが処理対象のタイル領域に含まれる部分を有するか否かを判定する。図10(a)から(c)は、グラフィックス描画装置10による処理対象のタイル領域(最後に選択されたタイル領域)、内蔵フレームバッファ15に描画されたタイル領域イメージ、及び内蔵フレームバッファ15から読み出されフレームバッファ24に書き込まれた描画イメージを示す図である。 Similarly, processing is performed for all tile areas on the screen. FIGS. 10A to 10C are diagrams for explaining processing for the last tile area (the lowermost right on the screen). Similarly, the intermediate data scanning unit 13 reads the intermediate data 23a from the external memory 20, and refers to the drawing range information to determine whether or not the graphic data 22a has a portion included in the tile area to be processed. FIGS. 10A to 10C show the tile area to be processed by the graphics drawing apparatus 10 (the tile area selected last), the tile area image drawn in the built-in frame buffer 15, and the built-in frame buffer 15. It is a figure which shows the drawing image read and written in the frame buffer.
 図形描画処理部14は、中間データ走査部13から指示を受けると、外部メモリ20から図形データ22aを読み出し、頂点及び制御点のXY座標に指定された変換行列により座標変換処理を施して変形したのち、処理対象のタイル領域についてピクセルデータを生成して内蔵フレームバッファ15に描画を行う。 Upon receiving an instruction from the intermediate data scanning unit 13, the graphic drawing processing unit 14 reads the graphic data 22 a from the external memory 20, and performs a transformation process by performing a coordinate conversion process using the conversion matrix specified for the XY coordinates of the vertices and control points. After that, pixel data is generated for the tile area to be processed and drawn in the built-in frame buffer 15.
 その後、描画制御部11は、書き込み制御部16に対してタイル領域に対応するピクセルデータをフレームバッファ24に書き込むよう指示をする。書き込み制御部16は、回転角度とタイル領域の位置から外部メモリ20上のフレームバッファ24の書き込み位置を算出し、内蔵フレームバッファ15のタイル領域イメージ15aを回転(例えば、90度左回転)させてフレームバッファ24に書き込む。 Thereafter, the drawing control unit 11 instructs the write control unit 16 to write pixel data corresponding to the tile area into the frame buffer 24. The writing control unit 16 calculates the writing position of the frame buffer 24 on the external memory 20 from the rotation angle and the position of the tile area, and rotates the tile area image 15a of the built-in frame buffer 15 (for example, rotates left by 90 degrees). Write to frame buffer 24.
 このように、タイル領域ごとに、中間データ23aを走査して、処理対象のタイル領域に含まれる部分を有する図形を検出し、その図形データ22aを読み出して内蔵フレームバッファ15に描画し、内蔵フレームバッファ15のタイル領域イメージ15aを外部メモリ20上のフレームバッファ24へ回転して書き込むことで、回転した描画イメージを得る。 Thus, for each tile area, the intermediate data 23a is scanned to detect a graphic having a portion included in the tile area to be processed, and the graphic data 22a is read out and drawn in the built-in frame buffer 15, and the built-in frame By rotating and writing the tile area image 15a of the buffer 15 to the frame buffer 24 on the external memory 20, a rotated drawing image is obtained.
 図11(a)及び(b)は、実施の形態1に係るグラフィックス描画装置10に関し、図11(a)は、フレームバッファ24における描画イメージ24aを読み出し方向(外部メモリ20における通常の読み出し方向)24bで読み出す状態を示し、図11(b)は、表示パネル部41におけるスキャン方向41aを示す図である。描画イメージ24aを読み出し方向24bと表示パネル部41におけるスキャン方向41aとは、互いに対応している。1画面上の全てのタイル領域について処理が完了した場合に、表示読み出し部17は、外部メモリ20上のフレームバッファ24に格納されている1画面の描画イメージ24aの読み出しを完了する。表示装置40は、表示読み出し部17から受け取ったデータに基づいて、表示パネル部41に画像を表示する。実施の形態1においては、このとき、フレームバッファ24は、予め決められた読み取り方向である横方向に読み出せばよい。このため、外部メモリ20がDRAMであっても、アクセス効率は低下しない。 FIGS. 11A and 11B relate to the graphics drawing apparatus 10 according to the first embodiment. FIG. 11A shows the drawing direction of the drawing image 24a in the frame buffer 24 (the normal reading direction in the external memory 20). ) 24b shows a state of reading, and FIG. 11B is a diagram showing a scanning direction 41a in the display panel 41. The reading direction 24b of the drawing image 24a and the scanning direction 41a in the display panel unit 41 correspond to each other. When the processing is completed for all tile areas on one screen, the display reading unit 17 completes reading of the one-screen drawing image 24 a stored in the frame buffer 24 on the external memory 20. The display device 40 displays an image on the display panel unit 41 based on the data received from the display reading unit 17. In the first embodiment, at this time, the frame buffer 24 may read in the horizontal direction, which is a predetermined reading direction. For this reason, even if the external memory 20 is a DRAM, the access efficiency does not decrease.
 図12(a)及び(b)は、比較例に関し、図12(a)はフレームバッファ241における描画イメージの読み出し方向を外部メモリの縦方向(予め決められた読み取り方向である横方向と異なる方向)で読み出す状態を示し、図12(b)は、表示パネル部41におけるスキャン方向を示す図である。この場合には、DRAMである外部メモリ上のフレームバッファ241から、ピクセルデータをグラフィックスの縦方向に順に読み出すので、プリチャージ等のオーバーヘッドが頻繁に発生し、メモリへのアクセス効率が低下する課題がある。 FIGS. 12A and 12B relate to a comparative example, and FIG. 12A shows the drawing image reading direction in the frame buffer 241 in the direction different from the vertical direction of the external memory (the horizontal direction which is a predetermined reading direction). ), And FIG. 12B is a diagram showing the scanning direction in the display panel unit 41. In this case, since the pixel data is sequentially read from the frame buffer 241 on the external memory, which is a DRAM, in the vertical direction of the graphics, overhead such as precharging frequently occurs, and the access efficiency to the memory is reduced. There is.
 図13(a)及び(b)は、他の比較例に関し、図13(a)はフレームバッファ242において縦長の描画イメージ242aを90°左回転して横長の描画イメージ242bを生成し、描画イメージ242bの読み出し方向を外部メモリの予め決められた読み取り方向である横方向で読み出す状態を示し、図13(b)は、表示パネル部41におけるスキャン方向を示す図である。この場合には、プリチャージ等のオーバーヘッドは増加しないが、必要なメモリ容量が増加し、必要なメモリ帯域(転送速度)が増え、処理時間も増加するという課題がある。 FIGS. 13A and 13B relate to another comparative example, and FIG. 13A shows a drawing image 242b that is generated by rotating the vertically drawn image 242a 90 ° counterclockwise in the frame buffer 242. FIG. 13B shows a state in which the reading direction of 242b is read in the horizontal direction, which is a predetermined reading direction of the external memory, and FIG. In this case, although the overhead such as precharge does not increase, there is a problem that the necessary memory capacity increases, the necessary memory bandwidth (transfer rate) increases, and the processing time also increases.
《1-3》効果
 以上に説明した実施の形態1に係るグラフィックス描画装置10によれば、1画面の画像データ領域を分割することによって得られる複数のタイル領域13aの各々について、タイル領域イメージ15aを生成し、生成されたタイル領域イメージ15aを内蔵フレームバッファ15に格納し、タイル領域イメージを指定された角度(例えば、90度)、指定された方向に回転させ、この回転したイメージ16aをフレームバッファ24に描画する。このような処理により、外部メモリ20上のフレームバッファ24への書き込み時には、図8(c)、図9(c)、及び図10(c)に矢印62で示されるように、タイル領域単位でフレームバッファ24における横方向の書き込みとなり、読み出す際には図11(a)に矢印24bで示されるように、フレームバッファ24における横方向の読み出しとなる。このため、外部メモリ20がDRAMであっても、アクセス効率は低下せず、画像表示性能の低下を防ぐことができる。
<< 1-3 >> Effect According to the graphics rendering apparatus 10 according to the first embodiment described above, a tile area image is obtained for each of the plurality of tile areas 13a obtained by dividing the image data area of one screen. 15a is generated, the generated tile area image 15a is stored in the built-in frame buffer 15, the tile area image is rotated in a specified direction (for example, 90 degrees) and in a specified direction, and the rotated image 16a is rotated. Drawing in the frame buffer 24. By such processing, when writing to the frame buffer 24 on the external memory 20, as shown by the arrow 62 in FIG. 8C, FIG. 9C, and FIG. Writing is performed in the horizontal direction in the frame buffer 24, and when reading, the reading is performed in the horizontal direction in the frame buffer 24 as indicated by an arrow 24b in FIG. For this reason, even if the external memory 20 is a DRAM, the access efficiency is not lowered, and the degradation of the image display performance can be prevented.
《2》変形例1
 上記実施の形態1において、外部メモリ20に格納される描画リスト21aは、図5に示される構造を持つ。しかし、描画リストは、図14に符号50で示されるように、階層構造を有するものであってもよい。また、描画リストは、3次元グラフィックスAPI(Application Program Interface)であるOpenGL(Graphics Library)のディスプレイリストのような、一連の描画コマンドを定義した形式を持つものであってもよい。
<< 2 >> Modification 1
In the first embodiment, the drawing list 21a stored in the external memory 20 has the structure shown in FIG. However, the drawing list may have a hierarchical structure as indicated by reference numeral 50 in FIG. The drawing list may have a format that defines a series of drawing commands, such as a display list of OpenGL (Graphics Library), which is a three-dimensional graphics API (Application Program Interface).
 図14に示されるように描画リストが階層構造50を有する場合は、上位の描画リスト51が下位の描画リスト52,54を参照する際、さらに、描画リスト52が下位の描画リスト53を参照する際に、指定された変換行列(例えば、変換行列512)と、下位の描画リストの中でそれぞれの図形に指定された変換行列(例えば、変換行列522,542)とを乗算し、この乗算結果の変換行列を使用して図形データ22aの頂点及び制御点のXY座標に対して座標変換処理を行う。 As shown in FIG. 14, when the drawing list has a hierarchical structure 50, when the upper drawing list 51 refers to the lower drawing lists 52 and 54, the drawing list 52 further refers to the lower drawing list 53. At this time, the designated transformation matrix (for example, transformation matrix 512) is multiplied by the transformation matrix (for example, transformation matrix 522, 542) designated for each figure in the lower drawing list, and the multiplication result The coordinate transformation process is performed on the XY coordinates of the vertex and the control point of the graphic data 22a using the transformation matrix.
《3》変形例2
 上記実施の形態1においては、内蔵フレームバッファ15が1個のタイル領域に対応する記憶領域を有する場合を説明した。しかし、内蔵フレームバッファをダブルバッファ構成とし(すなわち、2個のタイル領域に対応する記憶領域を有し)、書き込み制御部16が内蔵フレームバッファからフレームバッファ24にイメージを書き込む処理と、図形描画処理部14が次のタイル領域についてのイメージを内蔵フレームバッファに描画する処理とを、並列に実行させてもよい。この場合には、フレームバッファ24に1画面の描画イメージを描画するために必要な時間を短縮することができる。
<< 3 >> Modification 2
In the first embodiment, the case where the built-in frame buffer 15 has a storage area corresponding to one tile area has been described. However, the built-in frame buffer has a double buffer configuration (that is, has a storage area corresponding to two tile areas), and the writing control unit 16 writes an image from the built-in frame buffer to the frame buffer 24 and a graphics drawing process. The unit 14 may execute the process of drawing an image of the next tile area in the built-in frame buffer in parallel. In this case, it is possible to reduce the time required to draw a drawing image of one screen in the frame buffer 24.
《4》変形例3
 図15は、上記グラフィックス描画装置10の変形例の構成を示すハードウェア構成図である。図1に示されるグラフィックス描画装置10は、ソフトウェアとしてのプログラム(グラフィックス描画プログラム)を格納する記憶装置としてのメモリ91と、メモリ91に格納されたプログラムを実行する情報処理部としてのプロセッサ92とを用いて(例えば、コンピュータにより)実現することができる。この場合には、図1における描画制御部11、中間データ生成部12、中間データ走査部13、図形描画処理部14、書き込み制御部16、及び表示読み出し部17は、プログラムを実行するプロセッサ92に相当する。なお、図1に示されるグラフィックス描画装置10の一部を、図15に示されるメモリ91と、プログラムを実行するプロセッサ92とによって実現することも可能である。
<< 4 >> Modification 3
FIG. 15 is a hardware configuration diagram showing a configuration of a modified example of the graphics drawing apparatus 10. A graphics drawing apparatus 10 shown in FIG. 1 includes a memory 91 as a storage device that stores a program (graphics drawing program) as software, and a processor 92 as an information processing unit that executes the program stored in the memory 91. (For example, by a computer). In this case, the drawing control unit 11, the intermediate data generation unit 12, the intermediate data scanning unit 13, the graphic drawing processing unit 14, the writing control unit 16, and the display reading unit 17 in FIG. Equivalent to. Note that a part of the graphics drawing apparatus 10 shown in FIG. 1 can be realized by the memory 91 shown in FIG. 15 and the processor 92 that executes a program.
《5》変形例4
 上記実施の形態1においては、表示装置40は、表示パネル部41が90度右回転した縦長状態である場合(内蔵フレームバッファ15のタイル領域イメージ15aを90度左回転させて、フレームバッファ24に書き込む)を説明した。しかし、表示装置40が表示パネル部41の回転方向と回転角度を検出する姿勢検出手段(パネル状態検出手段)を備え、グラフィックス描画装置が姿勢検出手段の検出信号を受信する手段を備え、描画制御部11が姿勢検出手段の検出信号に基づいて、書き込み制御部16を制御してもよい。例えば、描画制御部11は、表示パネル部41の回転方向と回転角度とに応じて、タイル領域イメージ15aの回転角度及び回転方向を設定し、この回転角度及び回転方向に合わせてフレームバッファ24の書き込み位置を算出(決定)してもよい。
<< 5 >> Modification 4
In the first embodiment, the display device 40 is in a vertically long state in which the display panel unit 41 is rotated 90 degrees to the right (the tile area image 15a of the built-in frame buffer 15 is rotated 90 degrees to the left, Explained). However, the display device 40 includes posture detection means (panel state detection means) for detecting the rotation direction and rotation angle of the display panel unit 41, and the graphics drawing device includes means for receiving a detection signal of the posture detection means. The control unit 11 may control the writing control unit 16 based on the detection signal of the attitude detection unit. For example, the drawing control unit 11 sets the rotation angle and the rotation direction of the tile area image 15a according to the rotation direction and the rotation angle of the display panel unit 41, and the frame buffer 24 matches the rotation angle and the rotation direction. The writing position may be calculated (determined).
 本発明は、PCなどのような表示装置に接続される又は表示装置を含む装置又はシステムに適用可能である。また、本発明は、電子看板(デジタルサイネージ)などに適用可能である。 The present invention can be applied to a device or system connected to or including a display device such as a PC. Further, the present invention is applicable to an electronic signboard (digital signage) or the like.
 10 グラフィックス描画装置、 11 描画制御部、 12 中間データ生成部、 13 中間データ走査部、 14 図形描画処理部、 15 内蔵フレームバッファ、 15a タイル領域イメージ、 16 書き込み制御部、 17 表示読み出し部、 20 外部メモリ、 21a,50 描画リスト、 21 描画リスト記憶領域(第2の記憶領域)、 22 図形データ記憶領域(第1の記憶領域)、 22a 図形データ、 23 中間データ記憶領域(第3の記憶領域)、 23a 中間データ、 24 フレームバッファ、 24a 描画イメージ(グラフィックス)、 24b 読み出し方向、 30 CPU、 40 表示装置、 41 表示パネル部、 41a スキャン方向。 10 graphics drawing device, 11 drawing control unit, 12 intermediate data generation unit, 13 intermediate data scanning unit, 14 figure drawing processing unit, 15 built-in frame buffer, 15a tile area image, 16 write control unit, 17 display reading unit, 20 External memory, 21a, 50 drawing list, 21 drawing list storage area (second storage area), 22 figure data storage area (first storage area), 22a figure data, 23 intermediate data storage area (third storage area) ), 23a intermediate data, 24 frame buffer, 24a drawing image (graphics), 24b reading direction, 30 CPU, 40 display device, 41 display panel section, 41a scanning direction.

Claims (12)

  1.  フレームバッファに描画イメージを描画するグラフィックス描画装置であって、
     第1の記憶領域に格納された、描画される図形を示す図形データと、第2の記憶領域に格納された、前記図形データの描画内容を定義する描画リストとから、前記図形データを示すポインタと描画される前記図形の座標変換処理を示す変換情報と描画される前記図形の描画範囲を示す描画範囲情報とを含む中間データを生成し、前記中間データを第3の記憶領域に格納する中間データ生成部と、
     前記中間データから、処理対象のタイル領域に含まれる部分を有する前記図形を検出する中間データ走査部と、
     前記タイル領域の描画イメージが描画される内蔵フレームバッファと、
     前記中間データ走査部によって検出された前記図形のピクセルデータから、前記処理対象のタイル領域に対応する第1のイメージを生成し、前記第1のイメージを前記内蔵フレームバッファに描画する図形描画処理部と、
     前記内蔵フレームバッファに描画された前記第1のイメージを、指定された回転角度に応じて回転させた第2のイメージを前記フレームバッファに書き込む書き込み制御部と、
     前記第2のイメージの書き込みが繰り返されることによって前記フレームバッファに1画面の前記描画イメージが描画されるように、前記中間データ走査部、前記図形描画処理部、及び前記書き込み制御部を制御する描画制御部と
     を備えるグラフィックス描画装置。
    A graphics drawing device for drawing a drawing image in a frame buffer,
    A pointer indicating the graphic data from graphic data indicating a graphic to be drawn stored in the first storage area and a drawing list defining the drawing content of the graphic data stored in the second storage area Generating intermediate data including conversion information indicating coordinate conversion processing of the figure to be drawn and drawing range information indicating a drawing range of the figure to be drawn, and storing the intermediate data in a third storage area A data generator;
    From the intermediate data, an intermediate data scanning unit for detecting the graphic having a portion included in the tile area to be processed;
    A built-in frame buffer in which a drawing image of the tile area is drawn;
    A graphic drawing processing unit for generating a first image corresponding to the tile area to be processed from pixel data of the graphic detected by the intermediate data scanning unit and drawing the first image in the built-in frame buffer When,
    A writing control unit for writing, into the frame buffer, a second image obtained by rotating the first image drawn in the built-in frame buffer according to a specified rotation angle;
    Drawing for controlling the intermediate data scanning unit, the graphic drawing processing unit, and the writing control unit so that the drawing image of one screen is drawn in the frame buffer by repeating the writing of the second image. A graphics drawing device comprising: a control unit;
  2.  前記フレームバッファに1画面の前記描画イメージが格納されるごとに、前記フレームバッファの前記描画イメージのピクセルデータを、前記フレームバッファにおける予め決められた方向に順に読み出し、読み出された前記ピクセルデータを出力する表示読み出し部をさらに備える請求項1に記載のグラフィックス描画装置。 Each time the drawing image of one screen is stored in the frame buffer, the pixel data of the drawing image in the frame buffer is sequentially read in a predetermined direction in the frame buffer, and the read pixel data is read out. The graphics drawing device according to claim 1, further comprising a display reading unit for outputting.
  3.  前記第1の記憶領域、前記第2の記憶領域、前記第3の記憶領域、及び前記フレームバッファは、1つの外部メモリにおける互いに異なる記憶領域である請求項1又は2に記載のグラフィックス描画装置。 The graphics drawing apparatus according to claim 1, wherein the first storage area, the second storage area, the third storage area, and the frame buffer are different storage areas in one external memory. .
  4.  前記図形の座標変換処理を示す前記変換情報は、変換行列である請求項1から3のいずれか1項に記載のグラフィックス描画装置。 The graphics drawing device according to any one of claims 1 to 3, wherein the conversion information indicating a coordinate conversion process of the figure is a conversion matrix.
  5.  前記図形データは、ベクトル図形データ及びビットマップ画像データの少なくとも1つを含む請求項1から4のいずれか1項に記載のグラフィックス描画装置。 The graphics drawing apparatus according to any one of claims 1 to 4, wherein the graphic data includes at least one of vector graphic data and bitmap image data.
  6.  前記内蔵フレームバッファは、SRAMである請求項1から5のいずれか1項に記載のグラフィックス描画装置。 6. The graphics drawing apparatus according to claim 1, wherein the built-in frame buffer is an SRAM.
  7.  前記フレームバッファは、DRAMである請求項1から6のいずれか1項に記載のグラフィックス描画装置。 The graphics drawing device according to any one of claims 1 to 6, wherein the frame buffer is a DRAM.
  8.  前記指定された回転角度は、90度右回転又は90度左回転である請求項1から7のいずれか1項に記載のグラフィックス描画装置。 The graphics drawing apparatus according to any one of claims 1 to 7, wherein the specified rotation angle is 90 degree right rotation or 90 degree left rotation.
  9.  前記内蔵フレームバッファは、前記タイル領域の形状に等しいサイズ又は前記タイル領域の形状の2倍のサイズの記憶領域を有する請求項1から8のいずれか1項に記載のグラフィックス描画装置。 The graphics drawing device according to any one of claims 1 to 8, wherein the built-in frame buffer has a storage area having a size equal to a shape of the tile area or a size twice the shape of the tile area.
  10.  フレームバッファに描画イメージを描画するグラフィックス描画方法であって、
     第1の記憶領域に格納された、描画される図形を示す図形データと、第2の記憶領域に格納された、前記図形データの描画内容を定義する描画リストとから、前記図形データを示すポインタと描画される前記図形の座標変換処理を示す変換情報と描画される前記図形の描画範囲を示す描画範囲情報とを含む中間データを生成し、前記中間データを第3の記憶領域に格納する中間データ生成ステップと、
     前記中間データから、処理対象のタイル領域に含まれる部分を有する前記図形を検出する中間データ走査ステップと、
     前記中間データ走査ステップにおいて検出された前記図形のピクセルデータから、前記処理対象のタイル領域に対応する第1のイメージを生成し、前記第1のイメージを内蔵フレームバッファに描画する図形描画処理ステップと、
     前記内蔵フレームバッファに描画された前記第1のイメージを、指定された回転角度に応じて回転させた第2のイメージを前記フレームバッファに書き込む書き込み制御ステップと、
     前記中間データ走査ステップ、前記図形描画処理ステップ、及び前記書き込み制御ステップが繰り返されることによって前記フレームバッファに1画面の前記描画イメージを描画する描画制御ステップと
     を備えるグラフィックス描画方法。
    A graphics drawing method for drawing a drawing image in a frame buffer,
    A pointer indicating the graphic data from graphic data indicating a graphic to be drawn stored in the first storage area and a drawing list defining the drawing content of the graphic data stored in the second storage area Generating intermediate data including conversion information indicating coordinate conversion processing of the figure to be drawn and drawing range information indicating a drawing range of the figure to be drawn, and storing the intermediate data in a third storage area A data generation step;
    An intermediate data scanning step of detecting the graphic having a portion included in the tile area to be processed from the intermediate data;
    A graphic drawing processing step of generating a first image corresponding to the tile area to be processed from pixel data of the graphic detected in the intermediate data scanning step and drawing the first image in a built-in frame buffer; ,
    A write control step of writing, into the frame buffer, a second image obtained by rotating the first image drawn in the built-in frame buffer according to a specified rotation angle;
    A graphics drawing method comprising: a drawing control step of drawing the drawing image of one screen in the frame buffer by repeating the intermediate data scanning step, the graphic drawing processing step, and the writing control step.
  11.  フレームバッファに描画イメージを描画する請求項1から9のいずれか1項に記載のグラフィックス描画装置と、
     前記フレームバッファに描画された前記描画イメージに基づく画像を表示する表示装置と、
     を備えた表示システム。
    The graphics drawing apparatus according to any one of claims 1 to 9, which draws a drawing image in a frame buffer;
    A display device for displaying an image based on the drawn image drawn in the frame buffer;
    Display system with.
  12.  第1の記憶領域に格納された、描画される図形を示す図形データと、第2の記憶領域に格納された、前記図形データの描画内容を定義する描画リストとから、前記図形データを示すポインタと描画される前記図形の座標変換処理を示す変換情報と描画される前記図形の描画範囲を示す描画範囲情報とを含む中間データを生成し、前記中間データを第3の記憶領域に格納する中間データ生成処理と、
     前記中間データから、処理対象のタイル領域に含まれる部分を有する前記図形を検出する中間データ走査処理と、
     前記中間データ走査処理において検出された前記図形のピクセルデータから、前記処理対象のタイル領域に対応する第1のイメージを生成し、前記第1のイメージを内蔵フレームバッファに描画する図形描画処理と、
     前記内蔵フレームバッファに描画された前記第1のイメージを、指定された回転角度に応じて回転させた第2のイメージをフレームバッファに書き込む書き込み制御処理と、
     前記中間データ走査処理、前記図形描画処理、及び前記書き込み制御処理が繰り返されることによって前記フレームバッファに1画面の描画イメージを描画する描画制御処理と
     をコンピュータに実行させるグラフィックス描画プログラム。
    A pointer indicating the graphic data from graphic data indicating a graphic to be drawn stored in the first storage area and a drawing list defining the drawing content of the graphic data stored in the second storage area Generating intermediate data including conversion information indicating coordinate conversion processing of the figure to be drawn and drawing range information indicating a drawing range of the figure to be drawn, and storing the intermediate data in a third storage area Data generation process,
    An intermediate data scanning process for detecting the graphic having a portion included in the tile area to be processed from the intermediate data;
    A graphic drawing process for generating a first image corresponding to the tile area to be processed from pixel data of the graphic detected in the intermediate data scanning process, and drawing the first image in a built-in frame buffer;
    A writing control process for writing, in a frame buffer, a second image obtained by rotating the first image drawn in the built-in frame buffer according to a specified rotation angle;
    A graphics drawing program for causing a computer to execute a drawing control process for drawing a drawing image of one screen in the frame buffer by repeating the intermediate data scanning process, the graphic drawing process, and the writing control process.
PCT/JP2016/065663 2016-05-27 2016-05-27 Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program WO2017203675A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/065663 WO2017203675A1 (en) 2016-05-27 2016-05-27 Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/065663 WO2017203675A1 (en) 2016-05-27 2016-05-27 Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program

Publications (1)

Publication Number Publication Date
WO2017203675A1 true WO2017203675A1 (en) 2017-11-30

Family

ID=60411248

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/065663 WO2017203675A1 (en) 2016-05-27 2016-05-27 Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program

Country Status (1)

Country Link
WO (1) WO2017203675A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338922A (en) * 2002-05-21 2003-11-28 Sony Corp Image processing apparatus and method therefor
JP2013045401A (en) * 2011-08-26 2013-03-04 Mitsubishi Electric Corp Animation drawing device
WO2014050845A1 (en) * 2012-09-27 2014-04-03 三菱電機株式会社 Graphics rendering device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338922A (en) * 2002-05-21 2003-11-28 Sony Corp Image processing apparatus and method therefor
JP2013045401A (en) * 2011-08-26 2013-03-04 Mitsubishi Electric Corp Animation drawing device
WO2014050845A1 (en) * 2012-09-27 2014-04-03 三菱電機株式会社 Graphics rendering device

Similar Documents

Publication Publication Date Title
US10885607B2 (en) Storage for foveated rendering
US6587112B1 (en) Window copy-swap using multi-buffer hardware support
JP4234217B2 (en) System, apparatus and method for embedding transparent enable bits as part of resizing bit block transfer processing
US6885378B1 (en) Method and apparatus for the implementation of full-scene anti-aliasing supersampling
JP2637920B2 (en) Computer graphic system and method of using frame buffer
JP5460438B2 (en) Pixel value generation and decomposition in the graphics processing pipeline
KR20160051154A (en) Rendering method and apparatus, and electronic apparatus
JPH09245179A (en) Computer graphic device
JP4971442B2 (en) Image processing apparatus and method for pixel data conversion
JP5823052B2 (en) Graphics drawing device
JP2004508588A (en) Image scaling
US6445386B1 (en) Method and apparatus for stretch blitting using a 3D pipeline
US20030160793A1 (en) Synchronizing data streams in a graphics processor
CN112650460A (en) Media display method and media display device
WO2017203675A1 (en) Graphics rendering apparatus, graphics rendering method, display system, and graphics rendering program
JP5159949B2 (en) Vector drawing equipment
WO2021245875A1 (en) Image compositing device and image compositing method
US10311627B2 (en) Graphics processing apparatus and method of processing graphics pipeline thereof
JP4419480B2 (en) Image processing apparatus and method
KR101663023B1 (en) Apparatus and method for processing graphics
JP2004078994A (en) Drawing method
JPH04247587A (en) Graphic display device
JPH03269774A (en) High-speed graphic rotating and plotting system
JPWO2020129201A1 (en) Information processing equipment, programs and information processing methods
JPH07146932A (en) Image display device

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16903156

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16903156

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP