WO2021245875A1 - 画像合成装置及び画像合成方法 - Google Patents

画像合成装置及び画像合成方法 Download PDF

Info

Publication number
WO2021245875A1
WO2021245875A1 PCT/JP2020/022098 JP2020022098W WO2021245875A1 WO 2021245875 A1 WO2021245875 A1 WO 2021245875A1 JP 2020022098 W JP2020022098 W JP 2020022098W WO 2021245875 A1 WO2021245875 A1 WO 2021245875A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
graphics
unit
frame buffer
area
Prior art date
Application number
PCT/JP2020/022098
Other languages
English (en)
French (fr)
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/JP2020/022098 priority Critical patent/WO2021245875A1/ja
Priority to JP2022521455A priority patent/JPWO2021245875A1/ja
Publication of WO2021245875A1 publication Critical patent/WO2021245875A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns

Definitions

  • the present disclosure relates to an image compositing device and an image compositing method for compositing a plurality of images.
  • Patent Document 1 the reading of the image data of the graphics performed when generating the composite image is limited to the area where the graphics are drawn in the frame, not the entire frame, and is used for the image composition.
  • the memory bandwidth is reduced.
  • This disclosure is made to solve the above problem, and obtains an image compositing device capable of reducing the memory bandwidth used for image compositing.
  • the image synthesizer of the present disclosure uses a determination unit for determining a first partial region to be written in the first frame buffer of the first image and a first image information corresponding to the first partial region determined by the determination unit in the first frame buffer.
  • the first image and the second image are based on the second reading unit that reads the second image information from the buffer, the first image information read by the first reading unit, and the second image information read by the second reading unit. It is provided with a composite image generation unit that generates a composite image.
  • the memory bandwidth at the time of writing can be reduced.
  • FIG. 1 is a configuration diagram showing a configuration of an image synthesizer 100 according to the first embodiment.
  • the image synthesizer 100 has at least a determination unit 104 for determining a graphics image partial area to be written in the graphics image frame buffer 204 of the graphics image, and graphics corresponding to the graphics image partial area determined by the determination unit 104.
  • the graphics image reading unit 107 that reads out the image information, the moving image reading unit 109 that reads out the moving image information from the moving image frame buffer 206, and the graphics image information and the moving image reading unit that the graphics image reading unit 107 reads out. It is configured to include a composite image generation unit 110 that generates a composite image of a graphics image and a moving image based on the moving image information read by 109.
  • the CPU 300 is a device that executes each program, and is an intermediate data generation unit 101, an intermediate data scanning unit 102, a graphic drawing processing unit 103, a determination unit 104, a graphics image writing unit 106, a graphics image reading unit 107, and a moving image. It controls the writing unit 108, the moving image reading unit 109, and the composite image generation unit 110.
  • the external memory 200 is composed of, for example, an HDD (Hard Disk Drive), and a graphic image or a moving image is recorded.
  • the display device 400 displays the composite image synthesized by the image synthesizer 100.
  • the graphics image and moving image data are stored in advance in the external memory 200 by the CPU 300.
  • the graphics image data includes graphic data and a drawing list, which are stored in the graphic data memory 201 and the drawing list memory 202 of the external memory 200, respectively.
  • the moving image data is stored in the moving image memory 205.
  • An example of a graphic image is a frame image as shown in FIG. 2A, which is composed of five vector figures 1, 2, 3, 4, and 5.
  • the white area is a transparent area without a drawing object in the frame of the graphic image.
  • the transparent area is an area where the alpha value indicating transparency is 0 in the pixels of the graphics image.
  • FIG. 2A An example of a moving image is shown in FIG.
  • the graphic data is composed of a vector image or a bitmap image, and may be a vector image alone, a bitmap image alone, or both.
  • a vector image is a graphic contour composed of straight lines and Bezier curves.
  • FIG. 3 is an explanatory diagram showing an example of (a) a vector image and (b) graphic data of the vector image.
  • the vector image is a fan-shaped figure of vertices (X0, Y0), vertices (X1, Y1), vertices (X2, Y2), and control points (X3, Y3) as shown in FIG. 3A.
  • the graphic data includes the color of the vector image and the coordinates of MoveTo (X0, Y0), LineTo (X1, Y1), LineTo (X2, Y2), and CurveTo (X3, Y3).
  • MoveTo X0, Y0
  • LineTo X1, Y1
  • LineTo X2, Y2
  • CurveTo X3, Y3
  • the control point is the intersection of the ends of the arc and the tangents of the ends in the fan-shaped figure.
  • MoveTo (X0, Y0) the coordinates at the start of writing the vector image are determined, and with "LineTo (X1, Y1)” and “LineTo (X2, Y2)", from (X0, Y0) to (X1, Y1). , Draw a straight line from (X1, Y1) to (X2, Y2), and at “CurveTo (X3, Y3) (X0, Y0)", the intersection of the tangents from (X2, Y2) to (X0, Y0) is (X3, Y0). Draw a curve so that it becomes Y3), and it becomes a fan shape.
  • Bitmap image data is composed of pixel color values (for example, RGBA values).
  • FIG. 4 is an explanatory diagram showing an example of (a) a bitmap image and (b) graphic data of the bitmap image.
  • the bitmap image is an image having a width (Width) and a height (Height) as shown in FIG. 4 (a)
  • the graphic data is a width (Width) as a size as shown in FIG. 4 (b). It has information on the height and the color value for each pixel of the image.
  • the drawing list is data that defines how to draw graphic data such as vector images and bitmap images, and indicates, for example, coordinate conversion.
  • FIG. 5 is a conceptual diagram showing an example of the structure of the drawing list.
  • the transformation matrix is a 3 ⁇ 2 matrix, and by applying the following equations to the X and Y coordinates of the graphic data, coordinate transformations such as enlargement, reduction, and rotational translation are instructed.
  • the drawing list may have a hierarchical structure.
  • FIG. 6 is an explanatory diagram showing an example when the drawing list has a hierarchical structure.
  • the drawing list A includes a figure A1, a figure A2, a drawing list B, a figure A3, a drawing list D, and a figure A5, and there is information about each coordinate transformation (omitted as a transformation matrix (A to F)).
  • the drawing list B is, for example, a group of a plurality of figures, and has information on coordinate conversion of the figures B1, the figure B2, the drawing list C, and the figure B3.
  • the drawing list may be in a format in which a series of drawing commands are defined, such as a display list of OpenGL (Graphics Library), which is a three-dimensional graphics API (Application Program Interface).
  • the intermediate data generation unit 101 Upon receiving an instruction from the CPU 300, the intermediate data generation unit 101 reads graphic data and a drawing list from the external memory 200 to generate intermediate data, and writes the generated intermediate data to the intermediate data memory 203 of the external memory 300.
  • the intermediate data has information on the transformation matrix for each graphic figure and the drawing range in the frame.
  • the intermediate data generation unit 101 reads out the graphic data of the graphic corresponding to the drawing list, and performs coordinate conversion processing on the graphic data using the transformation matrix specified in the drawing list. For example, for the figure 1 of FIG. 2A, the matrix (A1, B1, C1, D1, E1, F1) of the drawing list shown in FIG. 5 for the X and Y coordinates of the vertices and control points is displayed. Use to perform coordinate transformations.
  • FIG. 7 is an explanatory diagram showing intermediate data corresponding to figures 1, 2, 3, 4, and 5. If the drawing list has a hierarchical structure, the transformation matrix specified when reading the lower drawing list from the upper drawing list and the transformation matrix specified for each figure in the lower drawing list. And are multiplied, and the transformation matrix of the multiplication result is used to perform coordinate conversion processing on the X and Y coordinates of the vertices or control points of the graphic data.
  • the intermediate data scanning unit 102 divides the frame into a plurality of areas, extracts a figure drawn in the divided areas, and outputs the intermediate data of the corresponding figure to the figure drawing processing unit 103. Specifically, the intermediate data scanning unit 102 divides the frame into square-shaped tile areas.
  • FIG. 8 is an explanatory diagram showing an example in which a frame of a graphic image is divided in the image synthesizer 100 according to the first embodiment. Then, the intermediate data scanning unit 102 designates the divided tile area, and determines whether or not there is a figure to be drawn in the tile area using the intermediate data. The determination is made based on whether or not the drawing range of the intermediate data is included in the designated tile area for each figure.
  • the intermediate data scanning unit 102 When a figure to be drawn exists in the designated tile area, the intermediate data scanning unit 102 outputs the intermediate data of the target figure to the figure drawing processing unit 103.
  • the intermediate data scanning unit 102 extracts the figure drawn in the tile area by scanning the figure of the intermediate data.
  • the next tile area is specified.
  • the shape of the tile area to be divided is not limited to the squares.
  • the size of the tile area to be divided is adjusted according to the size and type of data.
  • the size of the tile area is the same as that of the built-in buffer, and the size is 32 ⁇ 32 pixels, 64 ⁇ 64 pixels, and the like.
  • the graphic drawing processing unit 103 reads the graphic data from the graphic data memory 201 and writes the graphic image information of the designated tile area to the built-in buffer 105. Specifically, the graphic drawing processing unit 103 reads out the graphic data of the graphic corresponding to the intermediate data input from the intermediate data scanning unit 102. Then, the coordinate conversion process is performed using the graphic data and the intermediate data, the pixel data of the corresponding tile area is generated, and the drawing is performed in the built-in buffer 105. When the drawing of all the graphics figures included in the corresponding tile area is completed, the graphics image information of the corresponding tile area to be drawn in the built-in buffer 105 is completed.
  • the determination unit 104 determines a graphic image partial area to be written in the graphics image frame buffer of the graphics image. Further, the moving image partial area to be written in the moving image frame buffer 206 of the moving image is determined. Then, in the determination unit 104, the graphics image writing unit 106 writes the graphics image information of the graphics image partial area to the graphics frame buffer 204, and the moving image writing unit 108 writes the moving image partial area to the moving image frame buffer 206. Instruct to write video information. Specifically, the determination unit 104 monitors the alpha value of the pixel data when the graphic drawing processing unit 103 draws on the built-in buffer 105, so that all the graphic image information of the built-in buffer that has been drawn is transparent. Classify tile areas according to whether they are present, all opaque, or otherwise.
  • the determination unit 104 determines that if the alpha value of all pixels is 0, it is all transparent, "0", if the alpha value of all pixels is 1.0, it is "1", and if it is opaque, it is "1". In the case of, it is set to "2".
  • FIG. 9 is an explanatory diagram showing numerical values for each tile region classified by the determination unit 104 in the image synthesizer 100 according to the first embodiment.
  • the determination unit 100 determines that it is a graphics image partial area necessary for synthesizing the images. Then, the graphics image writing unit 106 is instructed to write the graphics image information of the tile area whose numerical value corresponding to the graphics image partial area is "1" or "2" to the corresponding tile area of the graphics image frame buffer 204. do.
  • FIG. 10 is an explanatory diagram showing an example until the tile area 6 designated in the image synthesizer 100 according to the first embodiment is drawn in the graphic frame buffer.
  • the tile area 6 shown in FIG. 10A is designated in the frame of the graphics image, only the figure 1 is drawn in the tile area 6. Therefore, the graphic image information drawn in the built-in buffer 105 is shown in FIG. 10 (b).
  • the determination unit 104 the numerical value of "1" is assigned assuming that the alpha values of all the pixels in the tile area 6 are all opaque. Therefore, the determination unit 104 determines that the tile area is a partial area, and as shown in FIG. 10C, the graphics writing unit 106 has graphics image information in the corresponding tile area 6 of the graphics image frame buffer 204. To write.
  • FIG. 11 is an explanatory diagram showing an example until the tile area 6 designated in the image synthesizer 100 according to the first embodiment is drawn in the graphics frame buffer 204.
  • the figures 1, 2, and 3 are drawn in the tile area 6. Therefore, the graphic image information drawn in the built-in buffer 105 is shown in FIG. 11B.
  • the determination unit 104 the numerical value of "1" is assigned assuming that the alpha values of all the pixels in the tile area 6 are all opaque. Therefore, the determination unit 104 determines that the tile area 6 is a partial area, and as shown in FIG. 11C, the graphics image writing unit 106 has graphics in the corresponding tile area 6 of the graphics image frame buffer 204. Write image information.
  • FIG. 12 is an explanatory diagram showing an example until the tile area 6 designated in the image synthesizer 100 according to the first embodiment is drawn in the graphic frame buffer.
  • the tile area 6 shown in FIG. 12A is designated in the frame of the graphics image, the figures 1, 3 and 4 are drawn in the tile area 6. Therefore, the graphic image information drawn in the built-in buffer 105 is shown in FIG. 12 (b).
  • the determination unit 104 a numerical value of "2" is assigned assuming that the alpha values of all the pixels in this tile area are transparent and opaque. Therefore, the determination unit 104 determines that the tile area 6 is a partial area, and as shown in FIG. 12 (c), the graphics image writing unit 106 has a graphics image in the corresponding tile area 6 of the graphics frame buffer 204. Write information.
  • FIG. 13 is an explanatory diagram showing an example until the tile area 6 designated in the image synthesizer 100 according to the first embodiment is drawn in the graphic frame buffer.
  • the tile area 6 shown in FIG. 13A is specified in the frame of the graphics image, nothing is drawn in the tile area 6. Therefore, the graphic image information drawn in the built-in buffer 105 is shown in FIG. 13 (b).
  • the determination unit 104 the alpha value of all the pixels in the tile area 6 is assumed to be transparent, and a numerical value of "0" is assigned. Therefore, the determination unit 104 determines that the tile area 6 is not a partial area. As shown in FIG. 13 (c), the graphics image writing unit 106 does not write to the tile area 6 having a numerical value of “0”.
  • FIG. 14 is an explanatory diagram showing a moving image partial region of the image synthesizer 100 according to the first embodiment. The determination unit determines that the shaded area is a moving image partial area.
  • the graphics image writing unit 106 writes the graphics image information of the tile area instructed by the determination unit 104 to the corresponding tile area of the graphics image frame buffer 204. In this way, since the partial area of the graphic image frame with the graphic is written to the graphics image frame buffer 204, the memory bandwidth at the time of writing is reduced by the amount that the area unnecessary for compositing the images is not written. can do.
  • the determination unit 104 sets the alpha value representing the transparency of all the pixels of the built-in buffer 105 to 0. As a result, the built-in buffer 105 is set to the initial state.
  • the graphics image reading unit 107 reads the graphics image information from the graphics image frame buffer 204 and outputs it to the composite image generation unit 110.
  • the moving image writing unit 108 reads the moving image information of the tile area instructed by the determination unit 104 from the moving image memory 205 and writes it to the corresponding tile area of the moving image frame buffer 206. In this way, among the frames of the moving image, the memory band at the time of writing can be reduced because the moving image is read and written to the moving image frame buffer 206 except for the area where the graphics of the graphics image overlap and become unnecessary. ..
  • the moving image reading unit 109 reads the moving image information from the moving image frame buffer 206 and outputs it to the composite image generation unit 110.
  • the composite image generation unit 110 When the composite image generation unit 110 receives the graphics image information and the moving image information from the graphics image reading unit 107 and the moving image reading unit 109, the composite image generation unit 110 performs an alpha blend composition process based on the alpha value of the graphics image information, for example, and the composite image. To generate. The composite image generation unit 110 outputs the generated composite image to the display device 400. The display device 400 displays a composite image.
  • FIG. 15 is a flowchart showing the operation of the image synthesizer 100 according to the first embodiment.
  • the image synthesizer 100 starts processing in response to an instruction from the CPU.
  • the intermediate data generation unit 101 generates intermediate data. Specifically, the intermediate data generation unit 101 reads the graphic data and the drawing list from the graphic data memory 201 and the drawing list memory 202 of the external memory 200. The intermediate data generation unit 101 reads out the graphic data of the graphic corresponding to the drawing list, and performs coordinate conversion processing on the graphic data using the transformation matrix specified in the drawing list.
  • the intermediate data generation unit 101 uses the maximum and minimum values of the X and Y coordinates of the figure after the coordinate conversion as the information of the drawing range as the information of the conversion matrix for the figure and the intermediate data memory of the external memory 200 as the intermediate data.
  • the intermediate data generation unit 101 generates intermediate data for all the figures in the frame of the graphic image and writes them in the intermediate data memory 203.
  • the intermediate data scanning unit 102 extracts the figure existing in the tile area. Specifically, first, one of the tile areas in which the frame is divided into squares is specified. Then, the intermediate data is read from the intermediate data memory 203 of the external memory, and it is determined whether or not the figure exists in the tile area. Judgment is made based on whether or not the drawing range of the intermediate data is included in the designated tile area for each figure.
  • the intermediate data scanning unit outputs the intermediate data of the target figure to the figure drawing processing unit 103.
  • the intermediate data scanning unit 102 scans the intermediate data and performs this processing on all the figures, whereby the figures drawn in the designated tile area are extracted. When the extraction of the figure drawn in the designated tile area is completed, the intermediate data scanning unit 102 designates the next tile area and performs the same operation for all the tile areas.
  • step S003 the figure drawing processing unit 103 draws the graphics image information of the tile area. Specifically, when the intermediate data is input from the intermediate data scanning unit 102, the graphic drawing processing unit 103 reads out the graphic data of the graphic corresponding to the input intermediate data. Then, the coordinate conversion process is performed using the graphic data and the intermediate data, the pixel data of the corresponding tile area is generated, and the pixel data is drawn in the built-in buffer. The figure drawing processing unit 103 performs this operation until the drawing of the graphic of all the graphics included in the corresponding tile area is completed, and completes the graphics image information of the corresponding tile area.
  • step S004 the determination unit 104 determines the graphic image partial area to be written in the graphics image frame buffer 204 of the graphics image and the moving image partial area to be written to the moving image frame buffer 206 of the moving image. Specifically, the determination unit 104 monitors the alpha value of the pixel data when the graphic drawing processing unit 103 draws in the built-in buffer, and if all the graphics image information in the corresponding tile area is transparent, "0". Classify the tile area as "1” if it is all opaque and as "2" in other cases. Then, it is determined that the tile area of "1" or "2" is a graphic image partial area, and the graphics image writing unit 106 is instructed to write the graphic image information to the corresponding tile area.
  • the determination unit 104 determines that the moving image information in the tile area of "0" or "2" is a moving image partial area, and writes the moving image information to the corresponding tile area of the moving image frame buffer 206 to the moving image writing unit 108. Instruct.
  • step S005 the graphics image writing unit 106 writes the graphics image corresponding to the graphics image partial area to the graphics image frame buffer 204. Then, in step S006, the graphics image reading unit 107 reads the graphics image information from the graphics image frame buffer 204 and outputs the graphics image information to the composite image generation unit 110. In this way, the partial area of the graphic image frame with the graphic is written to and read from the graphics image frame buffer 204, so that the memory bandwidth of the area unnecessary for compositing the images can be reduced. can.
  • step S007 the moving image writing unit 108 writes the moving image information corresponding to the moving image partial area to the moving image frame buffer 206. Then, in step S008, the moving image reading unit 109 reads the moving image information from the moving image frame buffer 206 and outputs the moving image information to the composite image generation unit 110. In this way, the moving image information is exchanged between the external memory 200 and the image compositing device 100 except for the area where the graphics images overlap and become unnecessary after the compositing of the frames of the moving image, so that the memory band can be reduced. can.
  • step S008 the composite image generation unit 110 generates a composite image based on the graphics image information and the moving image information and outputs the composite image to the display device 400.
  • steps S001 to S008 have described the process for generating a composite image of one frame, but when synthesizing a moving image, steps S001 to S008 are repeated.
  • the image synthesizing device 100 since the image synthesizing device 100 according to the first embodiment does not write an area that is unnecessary when synthesizing two images, the memory bandwidth at the time of writing can be reduced.
  • the graphics image partial area and the moving image partial area are determined, and the graphics image writing unit 106 and the moving image writing unit 108 write the graphics image partial area and the moving image partial area for both the graphics image partial area and the moving image partial area.
  • the determination unit 104 outputs the information of the graphics image partial area and the moving image partial area to the graphics image reading unit 106 and the moving image reading unit 108, and the graphics image reading unit 106 and the moving image reading unit 108 read the information. You may specify the area of.
  • FIG. 16 is a configuration diagram showing the configuration of the image synthesizer 100 according to the second embodiment.
  • the image synthesizer 100 of the second embodiment is the same as the first embodiment except that the determination unit 104 and the composite image generation unit 110 are different.
  • the determination unit 104 outputs the graphic image information to the graphics image partial area to be written in the graphics image frame buffer 204, the moving image information to be written to the moving image frame buffer 206, and the composite image generation unit 110. Determine the same color area. Specifically, the determination unit 104 monitors the alpha value and the color value of the pixel data when the graphic drawing processing unit 103 draws in the built-in buffer 105. Then, in addition to whether the graphic image information of the built-in buffer 105 for which drawing is completed is all transparent, all opaque, or other, if all are opaque, a numerical value is determined depending on whether all the color values are the same. Allocate.
  • the determination unit 104 determines that all pixels are transparent when the alpha value of all pixels is 0, and is opaque when the alpha values of all pixels are 1.0 and the color values of all pixels are different. "1" if the color values are different, "3” if the alpha value of all pixels is 1.0 and the color values of all pixels are the same, and "3” if the color values are different. Classify tile areas.
  • FIG. 17 is an explanatory diagram showing numerical values for each tile region classified by the determination unit 304 in the image synthesizer 100 according to the first embodiment.
  • the determination unit 104 writes the graphics image information of the tile area to which the numerical value of "1" or “2" is assigned in the graphics image to the corresponding tile area of the graphics image frame buffer 204 as the graphics image partial area. Instructs the graphics image writing unit 106. The graphics image information is not written to the graphics image frame buffer 204 in the area to which the numerical value of "0" or “3" is assigned in the tile area. Further, the determination unit 104 writes the moving image information of the tile area to which the numerical value of "0” or “2” is assigned in the graphic image as the moving image partial area to the corresponding tile area of the moving image frame buffer 206. Instruct the writing unit 308. The determination unit 104 outputs the color value to the composite image generation unit 110 as color information with the tile area to which the numerical value of "3" is assigned in the graphics image as the same color area.
  • the composite image generation unit 110 uses these information. Combine images.
  • step S004 and step S009 are different, this step will be described.
  • the determination unit 104 includes a graphics image partial area to be written in the graphics image frame buffer 204 of the graphics image, a moving image partial area to be written to the moving image frame buffer 206 of the moving images, and a composite image generation unit.
  • the same color area to be output to 110 is determined.
  • the determination unit 104 monitors the alpha value and the color value of the pixel data when the graphic drawing processing unit 103 draws on the built-in buffer 105, and when all the graphics image information in the corresponding tile area is transparent, the determination unit 104 monitors the alpha value and the color value of the pixel data.
  • the alpha value of all pixels is 1.0 and the color values of all pixels are different, it is assumed that they are all opaque and the color values are different, and "1", the alpha values of all pixels are 1.0 and all
  • the tile areas are classified as "3” because they are all opaque and the color values are different, and as "2” in other cases. Then, it is determined that the tile area of "1" or "2" is a graphic image partial area, and the graphics image writing unit 106 is instructed to write the graphic image information to the corresponding tile area.
  • the determination unit 104 determines that the moving image information in the tile area of "0" or "2" is a moving image partial area, and writes the moving image information to the corresponding tile area of the moving image frame buffer 206 to the moving image writing unit 108. Instruct. Further, the determination unit 104 determines that the tile area to which the numerical value of "3" is assigned is the same color area, and outputs the color information to the composite image generation unit 110.
  • step S008 the composite image generation unit 110 generates a composite image based on the graphics image information, the moving image information, and the color information, and outputs the composite image to the display device 400.
  • the image synthesizing apparatus 100 not only does not write the area that is unnecessary when synthesizing the two images, but also further, the same color area in which the colors of the graphics images are the same. Since no writing is performed for, the memory bandwidth at the time of writing can be reduced.
  • Figure 6. Designated tile area 100. Image synthesizer 101. Intermediate data generation unit 102. Intermediate data scanning unit 103. Figure drawing processing unit 104. Judgment unit 105. Built-in buffer 106. Graphics image writing unit 107. Graphics image reading unit 108. Moving image writing unit 109. Moving image reading unit 110. Composite image generator 200. External memory 201. Graphic data memory 202. Drawing list memory 203. Intermediate data memory 204. Graphics image frame buffer 205. Video memory 206. Video frame buffer 300. CPU 400. Display device

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

動画や静止画のような画像を液晶ディスプレイ等の表示デバイスに表示する際に、動画や静止画像等のベースとなる画像に文字や図形等のグラフィックスを重ねた合成画像を生成する合成技術がある。このような合成画像を生成する際は、画像とグラフィックスをそれぞれ1フレーム分の画像データとしてフレームバッファへ書き込んでおき、画像とグラフィックスそれぞれの1フレーム分の画像データを読み出し、読み出した画像とグラフィックスの画像データを用いて合成している。本開示は、画像合成の際に使用するメモリ帯域を削減することができる画像合成装置を得ることを目的とする。

Description

画像合成装置及び画像合成方法
 本開示は、複数の画像を合成する画像合成装置及び画像合成方法に関する。
 動画や静止画のような画像を液晶ディスプレイ等の表示デバイスに表示する際に、動画や静止画像等のベースとなる画像に文字や図形等のグラフィックスを重ねた合成画像を生成する合成技術がある。このような合成画像を生成する際は、画像とグラフィックスをそれぞれ1フレーム分の画像データとしてフレームバッファへ書き込んでおき、画像とグラフィックスそれぞれの1フレーム分の画像データを読み出し、読み出した画像とグラフィックスの画像データを用いて合成している。この方法では、1フレームの合成画像を生成する際、合成前の画像及びグラフィックスそれぞれの1フレーム分の画像データをフレームバッファから読み出すメモリ帯域が必要となる。しかし、メモリ帯域は解像度に比例した大きさが必要となるため、表示装置の高解像度化や複数画面化に対応する場合には高性能なメモリシステムが必要となる。そこで、特許文献1では、合成画像を生成する際に行うグラフィックスの画像データの読み出しを1フレーム全てではなく、フレーム内においてグラフィックスが描画される領域のみに限定することで、画像合成に使われるメモリ帯域を小さくしている。
特開2004-166017号公報
 しかしながら、特許文献1に示された画像合成装置において画像合成を行う際、画像とグラフィックスそれぞれ1フレーム分の画像データをあらかじめフレームバッファに書き込んでおくため、後で読み出されることがない画像データについて無駄なメモリ帯域を消費していた。
 本開示は、上記の問題を解決するためになされたものであり、画像合成の際に使用するメモリ帯域を削減することができる画像合成装置を得るものである。
 本開示の画像合成装置は、第一画像のうち第一フレームバッファに書き込む第一部分領域を判定する判定部と、判定部で判定した第一部分領域に対応した第一画像情報を第一フレームバッファに書き込む第一書き込み部と、第二画像に対応する第二画像情報を第二フレームバッファに書き込む第二書き込み部と、第一フレームバッファから第一画像情報を読み出す第一読み出し部と、第二フレームバッファから第二画像情報を読み出す第二読み出し部と、第一読み出し部が読みだした第一画像情報と第二読み出し部が読み出した第二画像情報に基づき、第一画像と第二画像との合成画像を生成する合成画像生成部とを備えるものである。
 本開示によれば、2つの画像を合成する際に不要となる領域の書き込みを行わないので、書き込み時のメモリ帯域を小さくすることができる。
本実施の形態1に係る画像合成装置の構成を示す構成図である。 本実施の形態1に係る画像合成装置が合成する(a)グラフィックス画像、(b)動画像、(c)合成画像のフレームの例を示す説明図である。 ベクター図形とその図形データの例を示す説明図である。 ビットマップ図形とその図形データの例を示す説明図である。 本実施の形態1に係る画像合成装置が読み込む描画リストの例を示す説明図である。 描画リストが階層構造となっている例を示す説明図である。 本実施の形態1に係る画像合成装置が合成するグラフィックス画像の中間データを示す説明図である。 本実施の形態1に係る画像合成装置においてグラフィックス画像のフレームを分割した例を示す説明図である。 本実施の形態1に係る画像合成装置において判定部が分類したタイル領域ごとの数値を示す説明図である。 本実施の形態1に係る画像合成装置において指定されたタイル領域がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。 本実施の形態1に係る画像合成装置において指定されたタイル領域がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。 本実施の形態1に係る画像合成装置において指定されたタイル領域がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。 本実施の形態1に係る画像合成装置において指定されたタイル領域がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。 本実施の形態1に係る画像合成装置の動画像部分領域を示す説明図である。 本実施の形態1に係る画像合成装置の動作を示すフローチャートである。 本実施の形態2に係る画像合成装置の構成を示す構成図である。 本実施の形態1に係る画像合成装置において判定部が分類したタイル領域ごとの数値を示す説明図である。
 実施の形態1.
 以下、本実施の形態1に係る画像合成装置100について説明する。
 実施の形態1では、図形が描画されたグラフィックス画像を第一画像、動画像を第二画像とし、これらグラフィックス画像を動画像に重畳した合成画像を生成する画像合成装置100について説明する。以降、「第一」を「グラフィックス画像」に関する構成、「第二」を「動画像」に関する構成として説明する。
 図1は、本実施の形態1に係る画像合成装置100の構成を示す構成図である。画像合成装置100は、少なくとも、グラフィックス画像のうちグラフィックス画像フレームバッファ204に書き込むグラフィックス画像部分領域を判定する判定部104と、判定部104で判定したグラフィックス画像部分領域に対応したグラフィックス画像情報をグラフィックス画像フレームバッファ204に書き込むグラフィックス画像書き込み部106と、動画像に対応する動画像情報を動画像フレームバッファ206に書き込む動画像書き込み部108と、グラフィックス画像フレームバッファ204からグラフィックス画像情報を読み出すグラフィックス画像読み出し部107と、動画像フレームバッファ206から動画像情報を読み出す動画像読み出し部109と、グラフィックス画像読み出し部107が読みだしたグラフィックス画像情報と動画像読み出し部109が読み出した動画像情報に基づき、グラフィックス画像と動画像との合成画像を生成する合成画像生成部110を有して構成されている。
 CPU300は、各プログラムを実行する装置であり、中間データ生成部101、中間データ走査部102、図形描画処理部103、判定部104、グラフィックス画像書き込み部106、グラフィックス画像読み出し部107、動画像書き込み部108、動画像読み出し部109、合成画像生成部110の制御を行う。外部メモリ200は、例えばHDD(Hard Disk Drive)で構成され、グラフィックス画像や動画像が記録される。表示装置400は、画像合成装置100が合成した合成画像を表示する。
 グラフィックス画像及び動画像のデータはCPU300によりあらかじめ外部メモリ200に保存されている。グラフィックス画像のデータは図形データと描画リストがあり、それぞれ外部メモリ200の図形データメモリ201、描画リストメモリ202に保存される。また、動画像のデータは、動画像メモリ205に保存される。
 なお、グラフィックス画像の例としては、図2(a)に示したようなフレーム画像であり、5つのベクター図形1、2、3、4、5から構成される。図2(a)にて、白抜きとなっている領域は、グラフィックス画像のフレームにおいて描画物のない透明な領域である。透明な領域とは、グラフィックス画像のピクセルにおいて透明度を示すアルファ値が0の領域である。また、動画像の例を図2(b)に示しており、斜線を引いた部分すなわちフレーム全体に画像が描画されるものである。図2(b)に示すベースとなる動画像に、図2(a)に示したグラフィックス画像を重畳したように見える画像を生成すると、図2(c)に示す合成画像が得られる。
 図形データは、ベクター画像又はビットマップ画像から構成され、ベクター画像だけでもよいし、ビットマップ画像だけでも良いし、両方を用いたものでも良い。
 ベクター画像は、図形輪郭を直線やベジェ曲線で構成したものである。図3は、(a)ベクター画像と、(b)そのベクター画像の図形データの例を示す説明図である。ベクター画像が図3(a)に示されるような頂点(X0,Y0)、頂点(X1,Y1)、頂点(X2,Y2)、制御点(X3,Y3)の扇形状の図形である場合、図3(b)に示されるように図形データはベクター画像の色、MoveTo(X0,Y0)、LineTo(X1,Y1)、LineTo(X2,Y2)、CurveTo(X3,Y3)の座標を含めたコマンドの情報を有する。制御点とは、扇形状の図形において、弧の端と端の接線の交点である。『MoveTo(X0,Y0)』で、ベクター画像の書き始めの座標が決定し、『LineTo(X1,Y1)』『LineTo(X2,Y2)』で(X0,Y0)から(X1,Y1)へ、(X1,Y1)から(X2,Y2)へ直線を引き、『CurveTo(X3,Y3)(X0,Y0)』で(X2,Y2)から(X0,Y0)へ接線の交点が(X3,Y3)となるよう曲線を引き、扇形状となる。
 ビットマップ画像データは、ピクセルのカラー値(例えばRGBA値)から構成される。図4は、(a)ビットマップ画像と、(b)そのビットマップ画像の図形データの例を示す説明図である。ビットマップ画像が図4(a)に示されるような幅(Width)と高さ(Height)を持つ画像である場合、図4(b)に示されるように図形データはサイズとして幅(Width)及び高さ(Height)と、その画像のピクセルごとのカラー値の情報を有する。
 描画リストは、ベクター画像やビットマップ画像などの図形データをどのように描画するかを定義したデータで、例えば座標転換を指示するものである。図5は描画リストの構造の例を示した概念図である。この例では変換行列を3×2の行列とし、図形データのX座標及びY座標に対して下記の式を適用することにより、拡大、縮小、回転平行移動などの座標変換を指示する。
Figure JPOXMLDOC01-appb-M000001
 図5の描画リストの例では、図2(a)に示されるグラフィックス画像のフレームに存在する5つの図形1、2、3、4、5に対する座標変換がそれぞれ定義されている。
 なお、描画リストは、階層構造となっていても良い。図6は、描画リストが階層構造となっていた場合の例を示す説明図である。描画リストAには、図形A1、図形A2、描画リストB、図形A3、描画リストD、図形A5があり、それぞれの座標変換に関する情報(変換行列(A~F)として省略)がある。ここで、描画リストBは、例えば複数の図形をグループ化されたものであり、図形B1、図形B2、描画リストC、図形B3の座標変換に関する情報を有する。描画リストC及び描画リストDも同様である。
 なお、描画リストは、3次元グラフィックスAPI(Application Program Interface)であるOpenGL(Graphics Library)のディスプレイリストのような、一連の描画コマンドを定義した形式であっても良い。
 中間データ生成部101は、CPU300からの指示を受けると外部メモリ200から図形データ及び描画リストを読み出して中間データを生成し、生成した中間データを外部メモリ300の中間データメモリ203に書き込む。中間データは、1つ1つのグラフィックスの図形に対する変換行列とフレームにおける描画範囲の情報を有するものである。
 具体的には、中間データ生成部101は、描画リストと対応する図形の図形データを読み出し、図形データに対して描画リストで指定された変換行列を使用して座標変換処理を行う。例えば、図2(a)の図形1に対して、頂点や制御点のX座標及びY座標に対して図5に示した描画リストの行列(A1、B1、C1、D1、E1、F1)を使用して座標変換を行う。そして、座標変換後の頂点や制御点のX座標及びY座標それぞれの最大値及び最小値を描画範囲の情報とし、図形1に対する変換行列の情報と共に中間データとして中間データメモリ203へ書き込む。中間データ生成部101は、グラフィックス画像のフレーム全ての図形について、それぞれ中間データを生成して中間データメモリ203に書き込む。図7は、図形1、2、3、4、5に対応する中間データを示す説明図である。
 なお、描画リストが階層構造となっている場合は、上位の描画リストから下位の描画リストを読み込む際に指定された変換行列と、下位の描画リストの中でそれぞれの図形に指定された変換行列とを乗算し、この乗算結果の変換行列を使用して図形データの頂点又は制御点のX座標及びY座標に対して座標変換処理を行う。
 中間データ走査部102は、フレームを複数の領域に分割し、分割した領域において描画される図形を抽出し、該当する図形の中間データを図形描画処理部103へ出力する。
 具体的には、中間データ走査部102はフレームをマス目状のタイル領域に分割する。図8は、本実施の形態1に係る画像合成装置100においてグラフィックス画像のフレームを分割した例を示す説明図である。そして、中間データ走査部102は分割したタイル領域を指定し、中間データを用いて当該タイル領域に描画する図形が存在するか否かを判定する。判定は、図形ごとに指定のタイル領域に中間データの描画範囲が含まれるか否かで判定する。指定のタイル領域において描画する図形が存在する場合、中間データ走査部102は対象の図形の中間データを図形描画処理部103へ出力する。中間データ走査部102は、中間データの図形を走査することにより、タイル領域に描画される図形を抽出する。指定のタイル領域の図形の抽出が完了すると、次のタイル領域を指定する。
 なお、分割するタイル領域の形状はマス目に限られない。また、分割するタイル領域の大きさは、データの大きさや種類によって調整する。例えば、タイル領域の大きさを内蔵バッファと同じ大きさとし、32×32ピクセル、64×64ピクセルなどの大きさとする。
 図形描画処理部103は、中間データ走査部102から中間データが入力されると、図形データメモリ201から図形データを読み出し、指定のタイル領域のグラフィックス画像情報を内蔵バッファ105へ書き出す。
 具体的には、図形描画処理部103は中間データ走査部102から入力された中間データと対応する図形の図形データを読み出す。そして、図形データと中間データを用いて座標変換処理を施し、該当タイル領域のピクセルデータを生成して内蔵バッファ105への描画を行う。該当タイル領域に含まれるすべてのグラフィックスの図形の描画が完了すると、内蔵バッファ105に描画される該当タイル領域のグラフィックス画像情報が完成する。
 判定部104は、グラフィックス画像のうちグラフィックス画像フレームバッファに書き込むグラフィックス画像部分領域を判定する。また、動画像のうち動画像フレームバッファ206に書き込む動画像部分領域を判定する。そして、判定部104は、グラフィックス画像書き込み部106がグラフィックスフレームバッファ204にグラフィックス画像部分領域のグラフィックス画像情報を書き込み、動画像書き込み部108が動画像フレームバッファ206に動画像部分領域の動画像情報を書き込むよう指示する。
 具体的には、判定部104は、図形描画処理部103が内蔵バッファ105へ描画する際のピクセルデータのアルファ値を監視することにより、描画が完了した内蔵バッファのグラフィックス画像情報が全て透明であるか、全て不透明であるか、その他であるかによってタイル領域を分類する。判定部104は、全てのピクセルのアルファ値が0である場合は全て透明であるとして「0」、全てのピクセルのアルファ値が1.0である場合は全て不透明であるとして「1」、その他の場合は「2」とする。図9は、本実施の形態1に係る画像合成装置100において判定部104が分類したタイル領域ごとの数値を示す説明図である。
 判定部100は、グラフィックス画像において「1」または「2」のタイル領域は透明ではないため、画像を合成する際に必要なグラフィックス画像部分領域であると判定する。そして、グラフィックス画像部分領域に該当する数値が「1」または「2」のタイル領域のグラフィックス画像情報をグラフィックス画像フレームバッファ204の対応するタイル領域へ書き込むようグラフィックス画像書き込み部106へ指示する。
 図10は、本実施の形態1に係る画像合成装置100において指定されたタイル領域6がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。グラフィックス画像のフレームにおいて図10(a)に示されるタイル領域6が指定された場合、タイル領域6には図形1のみが描画される。従って、内蔵バッファ105に描画されるグラフィックス画像情報は図10(b)となる。判定部104において、このタイル領域6の全てのピクセルのアルファ値が全て不透明であるとして「1」の数値が割り振られる。従って、判定部104により当該タイル領域は部分領域であると判定され、図10(c)に示されるようにグラフィックス書き込み部106はグラフィックス画像フレームバッファ204の対応タイル領域6にグラフィックス画像情報を書き込む。
 図11は、本実施の形態1に係る画像合成装置100において指定されたタイル領域6がグラフィックス用フレームバッファ204へ描画されるまでの例を示す説明図である。グラフィックス画像のフレームにおいて図11(a)に示されるタイル領域6が指定された場合、タイル領域6には図形1、2、3が描画される。従って、内蔵バッファ105に描画されるグラフィックス画像情報は図11(b)となる。判定部104において、このタイル領域6の全てのピクセルのアルファ値が全て不透明であるとして「1」の数値が割り振られる。従って、判定部104により当該タイル領域6は部分領域であると判定され、図11(c)に示されるようにグラフィックス画像書き込み部106はグラフィックス画像フレームバッファ204の対応タイル領域6にグラフィックス画像情報を書き込む。
 図12は、本実施の形態1に係る画像合成装置100において指定されたタイル領域6がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。グラフィックス画像のフレームにおいて図12(a)に示されるタイル領域6が指定された場合、タイル領域6には図形1、3、4が描画される。従って、内蔵バッファ105に描画されるグラフィックス画像情報は図12(b)となる。判定部104において、このタイル領域の全てのピクセルのアルファ値が透明と不透明のものがあるとして「2」の数値が割り振られる。従って、判定部104により当該タイル領域6は部分領域であると判定され、図12(c)に示されるようにグラフィックス画像書き込み部106はグラフィックスフレームバッファ204の対応タイル領域6にグラフィックス画像情報を書き込む。
 図13は、本実施の形態1に係る画像合成装置100において指定されたタイル領域6がグラフィックス用フレームバッファへ描画されるまでの例を示す説明図である。グラフィックス画像のフレームにおいて図13(a)に示されるタイル領域6が指定された場合、タイル領域6には何も描画されない。従って、内蔵バッファ105に描画されるグラフィックス画像情報は図13(b)となる。判定部104において、このタイル領域6の全てのピクセルのアルファ値は全て透明であるとして「0」の数値が割り振られる。従って、判定部104により当該タイル領域6は部分領域ではないと判定される。図13(c)に示されるように数値が「0」のタイル領域6について、グラフィックス画像書き込み部106は書き込みを行わない。
 判定部104はグラフィックス画像において「0」または「2」のタイル領域は透明であるため、画像を合成する際に必要な動画像部分領域であると判定する。そして、部分領域に該当する数値が「0」または「2」のタイル領域の動画像情報を動画像フレームバッファ206の対応するタイル領域へ書き込むよう動画像書き込み108へ指示する。
 図14は、本実施の形態1に係る画像合成装置100の動画像部分領域を示す説明図である。判定部により、斜線部分が動画像部分領域と判定される。
 グラフィックス画像書き込み部106は、判定部104の指示があったタイル領域のグラフィックス画像情報をグラフィックス画像フレームバッファ204の対応するタイル領域へ書き込む。このようにグラフィックス画像のフレームのうち、図形のある部分領域をグラフィックス画像フレームバッファ204へ書き込むので、画像を合成する際に不要となる領域の書き込みを行わない分書き込み時のメモリ帯域を小さくすることができる。
 判定部104は書き込みが完了すると、内蔵バッファ105の全てのピクセルの透明度を表すアルファ値を0にする。これにより、内蔵バッファ105を初期状態にする。
 グラフィックス画像読み出し部107は、グラフィックス画像フレームバッファ204からグラフィックス画像情報を読み出し、合成画像生成部110へ出力する。
 動画像書き込み部108は、判定部104の指示があったタイル領域の動画像情報を動画像メモリ205から読み出し、動画像フレームバッファ206の対応するタイル領域へ書き込む。このように、動画像のフレームのうち、グラフィックス画像の図形が重なり不要となる領域を除いて動画像の読み出し及び動画像フレームバッファ206へ書き込むので、書き込み時のメモリ帯域を小さくすることができる。
 動画像読み出し部109は、動画像フレームバッファ206から動画像情報を読み出し、合成画像生成部110へ出力する。
 合成画像生成部110は、グラフィックス画像読み出し部107及び動画像読み出し部109からグラフィックス画像情報及び動画像情報を受け取ると、例えばグラフィックス画像情報のアルファ値に基づきアルファブレンド合成処理を行い合成画像を生成する。合成画像生成部110は、生成した合成画像を表示装置400へ出力する。表示装置400は合成画像を表示する。
 次に、本実施の形態1に係る画像合成装置100の動作について説明する。図15は、本実施の形態1に係る画像合成装置100の動作を示すフローチャートである。画像合成装置100は、CPUからの指示を受けて処理を開始する。
 ステップS001にて、中間データ生成部101は中間データを生成する。具体的には、中間データ生成部101は外部メモリ200の図形データメモリ201及び描画リストメモリ202から、図形データ及び描画リストを読み出す。中間データ生成部101は、描画リストと対応する図形の図形データを読み出し、図形データに対して描画リストで指定された変換行列を使用して座標変換処理を行う。その後、中間データ生成部101は、座標変換後の図形のX座標及びY座標それぞれの最大値及び最小値を描画範囲の情報として図形に対する変換行列の情報と共に中間データとして外部メモリ200の中間データメモリ203に書き込む。中間データ生成部101は、グラフィックス画像のフレーム全ての図形対してそれぞれ中間データを生成して中間データメモリ203に書き込む。
 ステップS002にて、中間データ走査部102はタイル領域に存在する図形を抽出する。具体的には、まず、フレームがマス目状に分割されたタイル領域のうちの1つを指定する。そして、外部メモリの中間データメモリ203から中間データを読み出し、当該タイル領域に図形が存在するか否かを判定する。判定は、図形ごとに指定のタイル領域に中間データの描画範囲含まれるか否かで判定する。指定のタイル領域において図形が存在する場合、中間データ走査部は対象の図形の中間データを図形描画処理部103へ出力する。中間データ走査部102が中間データを走査して全ての図形についてこの処理を行うことにより、指定のタイル領域に描画される図形が抽出される。中間データ走査部102は、指定のタイル領域に描画される図形の抽出が終了すると、次のタイル領域を指定し、全てのタイル領域について同様の動作を行う。
 ステップS003にて、図形描画処理部103はタイル領域のグラフィックス画像情報を描画する。具体態には、図形描画処理部103は中間データ走査部102から中間データが入力されると、入力された中間データと対応する図形の図形データを読み出す。そして、図形データと中間データを用いて座標変換処理を施し、該当タイル領域のピクセルデータを生成して内蔵バッファへ描画する。図形描画処理部103は、この動作を該当タイル領域に含まれるすべてのグラフィックスの図形の描画が完了するまで行い、該当タイル領域のグラフィックス画像情報を完成させる。
 ステップS004にて、判定部104はグラフィックス画像のうちグラフィックス画像フレームバッファ204に書き込むグラフィックス画像部分領域及び動画像のうち動画像フレームバッファ206に書き込む動画像部分領域を判定する。具体的には、判定部104は図形描画処理部103が内蔵バッファへ描画する際のピクセルデータのアルファ値を監視し、該当タイル領域のグラフィックス画像情報が全て透明である場合は「0」、全ての不透明である場合は「1」、その他の場合は「2」としてタイル領域を分類する。そして、「1」または「2」のタイル領域をグラフィックス画像部分領域であると判定し、グラフィックス画像情報を対応するタイル領域へ書き込むようグラフィックス画像書き込み部106へ指示する。また、判定部104は「0」または「2」のタイル領域の動画像情報を動画像部分領域であると判定し、動画像フレームバッファ206の対応するタイル領域へ書き込むよう動画像書き込み部108へ指示する。
 ステップS005にて、グラフィックス画像書き込み部106はグラフィックス画像部分領域に対応するグラフィックス画像をグラフィックス画像フレームバッファ204へ書き込む。そして、ステップS006にて、グラフィックス画像読み出し部107はグラフィックス画像フレームバッファ204からグラフィックス画像情報を読み出して合成画像生成部110へ出力する。このように、グラフィックス画像のフレームのうち、図形のある部分領域をグラフィックス画像フレームバッファ204に書き込み、また、読み込むので、画像を合成する際に不要となる領域のメモリ帯域を小さくすることができる。
 ステップS007にて、動画像書き込み部108は、動画像部分領域に対応する動画像情報を動画像フレームバッファ206へ書き込む。そして、ステップS008にて、動画像読み出し部109は動画像フレームバッファ206から動画像情報を読み出して合成画像生成部110へ出力する。このように、動画像のフレームのうち合成後にグラフィックス画像が重なり不要となる領域を除いて、外部メモリ200と画像合成装置100とで動画像情報を行き来するので、メモリ帯域を小さくすることができる。
 ステップS008にて、合成画像生成部110はグラフィックス画像情報と動画像情報に基づいて合成画像を生成して表示装置400に出力する。
 以上、ステップS001~ステップS008は1つのフレームの合成画像を生成する際の処理について説明したが、動画を合成する場合はステップS001~ステップS008を繰り返し行う。
 以上のように、実施の形態1に係る画像合成装置100は、2つの画像を合成する際に不要となる領域の書き込みを行わないので、書き込み時のメモリ帯域を小さくすることができる。
 なお、本実施の形態1ではグラフィックス画像部分領域及び動画像部分領域を判定し、グラフィックス画像部分領域と動画像部分領域の両方についてグラフィックス画像書き込み部106及び動画像書き込み部108が書き込む領域としたが、どちらか片方のみに適用させても良い。また、判定部104はグラフィックス画像読み出し部106及び動画像読み出し部108へグラフィックス画像部分領域及び動画像部分領域の情報を出力し、グラフィックス画像読み出し106部及び動画像読み出し部108が読み込む際の領域を指定するようにしても良い。
実施の形態2.
 以下、本実施の形態2に係る画像合成装置100について説明する。
 図16は、本実施の形態2に係る画像合成装置100の構成を示す構成図である。実施の形態2の画像合成装置100は、判定部104及び合成画像生成部110が異なるが、その他は実施の形態1と同様である。
 判定部104はグラフィックス画像情報のうちグラフィックス画像フレームバッファ204に書き込むグラフィックス画像部分領域、動画像情報のうち動画像フレームバッファ206に書き込む動画像部分領域、及び、合成画像生成部110へ出力する同色領域を判定する。
 具体的には、判定部104は、図形描画処理部103が内蔵バッファ105へ描画する際のピクセルデータのアルファ値及びカラー値を監視する。そして、描画が完了した内蔵バッファ105のグラフィックス画像情報が全て透明であるか、全て不透明であるか、その他であるかに加え、全て不透明である場合はカラー値が全て同じか否かによって数値を割り振る。判定部104は、全てのピクセルのアルファ値が0である場合は全て透明であるとして「0」、全てのピクセルのアルファ値が1.0かつ全てのピクセルのカラー値が異なる場合は全て不透明でカラー値が異なるとして「1」、全てのピクセルのアルファ値が1.0かつ全てのピクセルのカラー値が同じ場合は全て不透明でカラー値が異なるとして「3」、その他の場合は「2」とタイル領域を分類する。図17は、本実施の形態1に係る画像合成装置100において判定部304が分類したタイル領域ごとの数値を示す説明図である。
 判定部104は、グラフィックス画像において「1」または「2」の数値が割り振られたタイル領域のグラフィックス画像情報をグラフィックス画像部分領域としてグラフィックス画像フレームバッファ204の対応するタイル領域へ書き込むようグラフィックス画像書き込み部106へ指示する。グラフィックス画像情報は、タイル領域において「0」又は「3」の数値が割り振られた領域についてはグラフィックス画像フレームバッファ204へ書き出されない。
 また、判定部104はグラフィックス画像において「0」または「2」の数値が割り振られたタイル領域の動画像情報を動画像部分領域として動画像フレームバッファ206の対応するタイル領域へ書き込むよう動画像書き込み部308へ指示する。
 判定部104は、グラフィックス画像において「3」の数値が割り振られたタイル領域を同色領域として色情報としてカラー値を合成画像生成部110へ出力する。
 合成画像生成部110は、グラフィックス画像読み出し部107からグラフィックス画像情報、動画像読み出し部109から動画像情報、判定部104からタイル領域のカラー値の情報を受け取ると、これらの情報を用いて画像を合成する。
 次に、本実施の形態2に係る画像合成装置100の動作について説明する。実施の形態2では、ステップS004及びステップS009が異なるため、このステップについて説明する。
 ステップS004にて、判定部104はグラフィックス画像のうちグラフィックス画像フレームバッファ204に書き込むグラフィックス画像部分領域、動画像のうち動画像フレームバッファ206に書き込む動画像部分領域、及び、合成画像生成部110へ出力する同色領域を判定する。具体的には、判定部104は図形描画処理部103が内蔵バッファ105へ描画する際のピクセルデータのアルファ値及びカラー値を監視し、該当タイル領域のグラフィックス画像情報が全て透明である場合は「0」、全てのピクセルのアルファ値が1.0かつ全てのピクセルのカラー値が異なる場合は全て不透明でカラー値が異なるとして「1」、全てのピクセルのアルファ値が1.0かつ全てのピクセルのカラー値が同じ場合は全て不透明でカラー値が異なるとして「3」、その他の場合は「2」としてタイル領域を分類する。
 そして、「1」または「2」のタイル領域をグラフィックス画像部分領域であると判定し、グラフィックス画像情報を対応するタイル領域へ書き込むようグラフィックス画像書き込み部106へ指示する。
 また、判定部104は「0」または「2」のタイル領域の動画像情報を動画像部分領域であると判定し、動画像フレームバッファ206の対応するタイル領域へ書き込むよう動画像書き込み部108へ指示する。
 さらに、判定部104は「3」の数値が割り振られたタイル領域を同色領域であると判定し、色情報を合成画像生成部110へ出力する。
 ステップS008にて、合成画像生成部110はグラフィックス画像情報と動画像情報及び色情報に基づいて合成画像を生成して表示装置400に出力する。
 以上のように、実施の形態2に係る画像合成装置100は、2つの画像を合成する際に不要となる領域の書き込みを行わないだけでなく、さらにグラフィックス画像の色が同じである同色領域についても書き込みを行わないので、書き込み時のメモリ帯域を小さくすることができる。
1~5.図形
6.指定タイル領域
100.画像合成装置
101.中間データ生成部
102.中間データ走査部
103.図形描画処理部
104.判定部
105.内蔵バッファ
106.グラフィックス画像書き込み部
107.グラフィックス画像読み出し部
108.動画像書き込み部
109.動画像読み出し部
110.合成画像生成部
200.外部メモリ
201.図形データメモリ
202.描画リストメモリ
203.中間データメモリ
204.グラフィックス画像フレームバッファ
205.動画像メモリ
206.動画像フレームバッファ
300.CPU
400.表示装置

Claims (6)

  1.  第一画像のうち第一フレームバッファに書き込む第一部分領域を判定する判定部と、
     前記判定部で判定した第一部分領域に対応した第一画像情報を前記第一フレームバッファに書き込む第一書き込み部と、
     第二画像に対応する第二画像情報を第二フレームバッファに書き込む第二書き込み部と、
     前記第一フレームバッファから前記第一画像情報を読み出す第一読み出し部と、
     前記第二フレームバッファから前記第二画像情報を読み出す第二読み出し部と、
     前記第一読み出し部が読みだした第一画像情報と前記第二読み出し部が読み出した第二画像情報に基づき、前記第一画像と前記第二画像との合成画像を生成する合成画像生成部と
    を備えた画像合成装置。
  2.  前記判定部は、
     前記第二フレームバッファに書き込む第二部分領域を判定し、
     前記第二書き込み部は、
     前記判定部で判定した第二部分領域に対応した第二画像情報を第二フレームバッファに書き込むことを特徴とする請求項1に記載の画像合成装置。
  3.  前記判定部が判定する第一部分領域は、前記第一画像または前記第二画像のフレームを複数の領域に分割したタイル領域が透明であるか否かに基づいて判定されることを特徴とする請求項1に記載の画像合成装置。
  4.  前記判定部が判定する第二部分領域は、前記第一画像または前記第二画像のフレームを複数の領域に分割したタイル領域が透明であるか否かに基づいて判定されることを特徴とする請求項2に記載の画像合成装置。
  5.  前記判定部は、前記第一画像のフレームを複数の領域に分割したタイル領域の色が同じ同色領域を判定し、前記同色領域の色情報を合成画像生成部へ出力し、
     前記合成画像生成部は、前記第一画像と前記第二画像との合成画像を生成する際に前記同色領域については前記色情報に基づいて合成画像を生成することを特徴とする請求項1から4のいずれかに記載の画像合成装置。
  6.  第一画像のうち第一フレームバッファに書き込む第一部分領域を判定する判定ステップと、
     前記判定ステップで判定した第一部分領域に対応した第一画像情報を前記第一フレームバッファに書き込む第一書き込みステップと、
     第二画像に対応する第二画像情報を第二フレームバッファに書き込む第二書き込みステップと、
     前記第一フレームバッファから前記第一画像情報を読み出す第一読み出しステップと、
     前記第二フレームバッファから前記第二画像情報を読み出す第二読み出しステップと、
     前記第一読み出し部が読みだした第一画像情報と前記第二読み出しステップが読み出した第二画像情報に基づき、前記第一画像と前記第二画像との合成画像を生成する合成画像生成ステップと
    を備えた画像合成方法。
PCT/JP2020/022098 2020-06-04 2020-06-04 画像合成装置及び画像合成方法 WO2021245875A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2020/022098 WO2021245875A1 (ja) 2020-06-04 2020-06-04 画像合成装置及び画像合成方法
JP2022521455A JPWO2021245875A1 (ja) 2020-06-04 2020-06-04

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/022098 WO2021245875A1 (ja) 2020-06-04 2020-06-04 画像合成装置及び画像合成方法

Publications (1)

Publication Number Publication Date
WO2021245875A1 true WO2021245875A1 (ja) 2021-12-09

Family

ID=78830215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/022098 WO2021245875A1 (ja) 2020-06-04 2020-06-04 画像合成装置及び画像合成方法

Country Status (2)

Country Link
JP (1) JPWO2021245875A1 (ja)
WO (1) WO2021245875A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736442A (ja) * 1993-07-06 1995-02-07 Toshiba Corp 図形表示装置
JP2000137825A (ja) * 1998-09-11 2000-05-16 Canon Inc ラスタ形式のグラフィックオブジェクトを用いたイメ―ジの高速レンダリング方法
JP2003288067A (ja) * 2002-03-28 2003-10-10 Hitachi Ltd 画像表示装置
JP2010086042A (ja) * 2008-09-29 2010-04-15 Kyocera Mita Corp 画像処理装置、画像処理方法及び画像処理プログラム
JP2015515662A (ja) * 2012-03-01 2015-05-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated グラフィックス処理システムにおけるメモリアクセス帯域幅をデスティネーションアルファ値に基づいて減少させるための技法
US20180166045A1 (en) * 2016-12-13 2018-06-14 Qualcomm Incorporated Efficient occlusion detection in display compositor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001239559A1 (en) * 2000-03-23 2001-10-03 Sony Computer Entertainment Inc. Image processing apparatus and method
US20150187256A1 (en) * 2014-01-02 2015-07-02 Nvidia Corporation Preventing fetch of occluded pixels for display processing and scan-out
WO2016192060A1 (en) * 2015-06-03 2016-12-08 Intel Corporation Low power video composition using a stream out buffer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736442A (ja) * 1993-07-06 1995-02-07 Toshiba Corp 図形表示装置
JP2000137825A (ja) * 1998-09-11 2000-05-16 Canon Inc ラスタ形式のグラフィックオブジェクトを用いたイメ―ジの高速レンダリング方法
JP2003288067A (ja) * 2002-03-28 2003-10-10 Hitachi Ltd 画像表示装置
JP2010086042A (ja) * 2008-09-29 2010-04-15 Kyocera Mita Corp 画像処理装置、画像処理方法及び画像処理プログラム
JP2015515662A (ja) * 2012-03-01 2015-05-28 クゥアルコム・インコーポレイテッドQualcomm Incorporated グラフィックス処理システムにおけるメモリアクセス帯域幅をデスティネーションアルファ値に基づいて減少させるための技法
US20180166045A1 (en) * 2016-12-13 2018-06-14 Qualcomm Incorporated Efficient occlusion detection in display compositor

Also Published As

Publication number Publication date
JPWO2021245875A1 (ja) 2021-12-09

Similar Documents

Publication Publication Date Title
US6038031A (en) 3D graphics object copying with reduced edge artifacts
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
KR102275712B1 (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
US8044955B1 (en) Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering
US20030142100A1 (en) Vertex assembly buffer and primitive launch buffer
JP2007013874A (ja) 画像特殊効果装置,グラフィックスプロセッサ,プログラム及び記録媒体
JPH02213286A (ja) ビデオデータ処理装置
JP5823052B2 (ja) グラフィックス描画装置
JP3547250B2 (ja) 描画方法
US6867778B2 (en) End point value correction when traversing an edge using a quantized slope value
JP2003091737A (ja) 描画処理装置、描画処理プログラムを記録した記録媒体、描画処理プログラム、描画処理方法
WO2021245875A1 (ja) 画像合成装置及び画像合成方法
JP2003066943A (ja) 画像処理装置及びプログラム
US7528839B1 (en) Faster clears for three-dimensional modeling applications
JP2002519793A (ja) グラフィックエレメントをレンダリング処理する方法及びシステム
JP3002972B2 (ja) 3次元画像処理装置
JP2005235205A (ja) 形状チャネルを用いないクリップ・トゥ・セルフ(clip−to−self)機能を有する合成
US6900803B2 (en) Method for rasterizing graphics for optimal tiling performance
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP2000076432A (ja) 画像デ―タ補間装置、画像デ―タ補間方法および画像デ―タ補間プログラムを記録した媒体
JP3872056B2 (ja) 描画方法
JP3111971B2 (ja) 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体
JP6338357B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6861910B2 (ja) 情報処理装置、プログラム及び情報処理方法
WO2021006160A1 (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

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

Ref document number: 20939173

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022521455

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20939173

Country of ref document: EP

Kind code of ref document: A1