Source: https://patents.google.com/patent/JP2007066012A/en
Timestamp: 2020-03-28 09:47:01
Document Index: 286960878

Matched Legal Cases: ['art 102', 'art 103', 'art 104', 'art 105', 'art 106', 'art 107', 'art 108']

JP2007066012A - Apparatus, method and program for drawing image - Google Patents
Apparatus, method and program for drawing image Download PDF
JP2007066012A
JP2007066012A JP2005251512A JP2005251512A JP2007066012A JP 2007066012 A JP2007066012 A JP 2007066012A JP 2005251512 A JP2005251512 A JP 2005251512A JP 2005251512 A JP2005251512 A JP 2005251512A JP 2007066012 A JP2007066012 A JP 2007066012A
JP2005251512A
Yasuyuki Kokojima
2005-08-31 Application filed by Toshiba Corp, 株式会社東芝 filed Critical Toshiba Corp
2005-08-31 Priority to JP2005251512A priority Critical patent/JP2007066012A/en
2007-03-15 Publication of JP2007066012A publication Critical patent/JP2007066012A/en
<P>PROBLEM TO BE SOLVED: To interactively draw a high-resolution image. <P>SOLUTION: An image drawing apparatus is provided with: a means 103 for calculating three-dimensional (3D) coordinates of an intersect between a visual line vector and an object in an image; a means 104 for obtaining a 3D moving vector; a means 105 for obtaining a color value in the 3D coordinates of the intersect; a means 106 for allocating the object ID of the intersect which is different in each object; a means 107 for obtaining the two-dimensional (2D) coordinates of the intersect and the 2D moving vector of the intersect; a means 108 for collecting the 2D coordinates of the intersect, the 2D moving vector of the intersect, the color value of the intersect, and the object ID of the intersect in each frame and storing the collected data as low-resolution data; a means 109 for obtaining an intermediate-resolution data by superposing the data of a current frame stored in the means 108 and the data of a plurality of frames stored in the means 108 and different from the current frame in time; and a means 110 for obtaining a high-resolution data by filtering the intermediate-resolution data. <P>COPYRIGHT: (C)2007,JPO&INPIT
The present invention relates to an image drawing apparatus, method, and program for drawing an image.
In drawing computer graphics (CG), a technique called global illumination is used. Global illumination is a technique for performing illumination calculation in consideration of the influence of indirect light from other objects around the object when drawing the object in the scene.
In conventional lighting calculations, the light that hits the object cannot be reflected and the effect of illuminating another object cannot be reproduced, so the part that is not directly exposed to light is exposed to uniform light called ambient light. Consider lighting calculations. On the other hand, in the global illumination, a reflection effect and a light collection effect similar to those in the real world can be expressed, so that a more realistic image can be drawn.
There are several types of indirect light calculation methods in global illumination, such as radiosity, photon map, and path tracing, all of which are based on the intersection of the line of sight (ray) passing through the pixels of the image and the object. Therefore, the calculation time is basically proportional to the resolution of the image.
Therefore, instead of determining the intersection of a ray and an object at every pixel of the image, perform the intersection determination only at low-resolution sampling points arranged at appropriate intervals, and then filter them to increase the resolution. Attempts have been made to reduce the computation time and interactively draw global illumination images.
In these attempts, sampling points are not arranged at regular intervals, but are concentrated at locations that change greatly in time, or the tap position of the filtering is set so that the outline of the object is not blurred. Ingenuity has been made such as changing the point and which point is to be filtered) (for example, see Non-Patent Document 1).
On the other hand, in the field of computer vision research, research on restoring high-resolution video from low-resolution video has been conducted for some time. These studies are roughly divided into two types, one that uses only one frame image and the other that uses multiple frame images. The former is limited in the information that can be obtained, so the restoration accuracy is not so high, but has the feature that the calculation can be performed relatively stably. On the other hand, since the latter uses multiple frames of information, the theoretical restoration accuracy is high. However, matching at the subpixel level between multiple frames must be calculated, and this calculation can be performed stably. Difficult (see, for example, Non-Patent Document 2).
K. Bala, B. Walter, and DP Greenberg, "Combining Edges and Points for Interactive High-Quality Rendering", SIGGRAPH2003. Sung Cheol Park, Min Kyu Park, and Moon Gi Kang, "Super-Resolution Image Reconstruction: A Technical Overview", IEEE SIGNAL PROCESSING MAGAZINE, May 2003.
As described above, in the conventional video rendering device, when rendering the global illumination video, the intersection determination of the ray and the object is performed only at the low-resolution sampling points, and the resolution is increased by filtering them later. The calculation time is shortened.
However, since only one frame sampling point is used in the calculation for increasing the resolution, the number of sampling points per frame must be increased to some extent in order to increase the quality of the high-resolution video, and the calculation time It is difficult to achieve both shortening and high quality.
On the other hand, in the field of computer vision, high resolution technology using multiple frames has been studied for a long time, and it is conceivable to apply this technology to the calculation of global illumination. Subpixel matching cannot be calculated stably.
In particular, a matching error often occurs when the pattern (texture) of the object is homogeneous or when the luminance of the object changes with time. Non-Patent Document 2 described above describes a technique for reducing the influence of matching errors by iterative calculation based on a statistical error model, but the calculation amount is large and is not suitable for interactive applications. Absent.
The present invention has been made in consideration of the above-described circumstances, and an object thereof is to provide a video drawing apparatus, method, and program for interactively drawing a high-quality, high-resolution global illumination video.
In order to solve the above-mentioned problems, a video rendering apparatus according to the present invention includes CG data storage means for storing CG data including data relating to coordinate transformation, data relating to a camera, data relating to geometry, data relating to a light source, and data relating to a texture. A coordinate conversion means for converting the coordinate system of the CG data into a camera coordinate system which is a coordinate system viewed from the viewpoint, and sampling sampled from pixels on the image plane to be displayed using the coordinate-converted CG data An intersection coordinate calculation means for calculating the three-dimensional coordinates of the intersection of the line-of-sight vector passing through the point and the object in the image, and the calculated three-dimensional coordinates of the intersection using the coordinate-converted CG data Intersection point motion vector calculation means for calculating a three-dimensional motion vector in the above, and the coordinate-converted CG data Using the calculated intersection color calculation means for calculating the color value at the three-dimensional coordinates of the intersection, and the calculated CG data for each object in the calculated three-dimensional coordinates of the intersection Different intersection object ID assigning means for assigning the object ID of the intersection, using the coordinate-converted CG data, the calculated three-dimensional coordinates of the intersection, the calculated three-dimensional motion vector of the intersection, Is projected onto the projection plane, the intersection projection means for calculating the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection, the calculated two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection, and the calculated In addition, the color value of the intersection and the assigned object ID of the intersection are collectively grouped in units of frames. First resolution video sequence storage means for storing the current frame low resolution video data stored in the first resolution video sequence storage means, and current resolution stored in the first resolution video sequence storage means Medium resolution video calculation means for calculating medium resolution video data by superimposing a plurality of frames of low resolution video data that are temporally different from the frames, and filtering the calculated medium resolution video data to obtain a high resolution High-resolution video calculation means for calculating video data; high-resolution video storage means for storing the calculated high-resolution video data in units of frames; and presentation means for presenting the high-resolution video data. Features.
The video rendering method of the present invention provides CG data storage means for storing CG data including data relating to coordinate conversion, data relating to a camera, data relating to geometry, data relating to a light source, and data relating to a texture, and the coordinates of the CG data A line of sight vector passing through a sampling point sampled from a pixel on the image plane to be displayed using the coordinate converted CG data; The three-dimensional coordinates of the intersection with the object are calculated, and the calculated three-dimensional motion vector in the three-dimensional coordinates of the intersection is calculated using the coordinate-converted CG data, and the coordinate-converted CG Using the data, the calculated color value at the three-dimensional coordinates of the intersection is calculated, and the coordinate conversion is performed. Using the CG data, assign the object ID of the intersection that is different for each object in the calculated three-dimensional coordinates of the intersection, and use the calculated CG data to calculate the three-dimensional of the intersection The coordinates and the calculated three-dimensional motion vector of the intersection are projected onto a projection plane to calculate the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection, and the calculated two-dimensional coordinates of the intersection and First-resolution video sequence storage that stores the two-dimensional motion vector of the intersection, the calculated color value of the intersection, and the assigned object ID of the intersection as a low-resolution video data in a unit of frame. Means for preparing a low resolution video data of the current frame stored in the first resolution video sequence storage unit, and the first resolution video sequence storage A plurality of frames of low resolution video data that are temporally different from the current frame stored in the stage are superimposed to calculate medium resolution video data, and the calculated medium resolution video data is filtered, High-resolution video data is calculated, a high-resolution video storage means for storing the calculated high-resolution video data in units of frames is prepared, and the high-resolution video data is presented.
The video drawing program of the present invention includes a computer,
CG data storage means for storing CG data including data relating to coordinate transformation, data relating to cameras, data relating to geometry, data relating to light sources, data relating to textures, and a coordinate system in which the coordinate system of the CG data is viewed from a viewpoint. An intersection of a coordinate transformation means for transforming into a camera coordinate system, a line-of-sight vector passing through a sampling point sampled from a pixel on a displayed image plane using the coordinate-converted CG data, and an object in the image Intersection point coordinate calculation means for calculating the three-dimensional coordinates of the above-mentioned points, intersection point motion vector calculation means for calculating the calculated three-dimensional motion vector in the three-dimensional coordinates of the intersection point using the coordinate-converted CG data, Using the calculated CG data, in the calculated three-dimensional coordinates of the intersection Intersection color calculation means for calculating the error value, and intersection object ID assignment means for assigning an object ID of the intersection that is different for each object in the calculated three-dimensional coordinates of the intersection using the coordinate-converted CG data And using the coordinate-converted CG data, project the calculated three-dimensional coordinates of the intersection point and the calculated three-dimensional motion vector of the intersection point onto a projection plane, and obtain the two-dimensional coordinates of the intersection point and Intersection projection means for calculating a two-dimensional motion vector of the intersection; the calculated two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection; the calculated color value of the intersection; and the assigned intersection First resolution video sequence storage means for storing the object IDs in a unit of frame as low resolution video data; Low resolution video data of the current frame stored in the resolution video sequence storage means, and low resolution video data of a plurality of frames temporally different from the current frame stored in the first resolution video sequence storage means, , The medium resolution video calculation means for calculating the medium resolution video data, the high resolution video calculation means for calculating the high resolution video data by filtering the calculated medium resolution video data, and the calculation The high-resolution video storage means for storing the high-resolution video data in units of frames and the presenting means for presenting the high-resolution video data.
According to the video drawing apparatus, method, and program of the present invention, a high-quality, high-resolution global illumination video can be drawn interactively.
Hereinafter, an image drawing apparatus, method, and program according to embodiments of the present invention will be described in detail with reference to the drawings.
(First embodiment) Overlapping of subsequent frames
A video drawing apparatus according to a first embodiment of the present invention will be described with reference to FIG.
As shown in FIG. 1, the video rendering apparatus of the present embodiment includes a CG data storage unit 101, a coordinate conversion unit 102, an intersection coordinate calculation unit 103, an intersection motion vector calculation unit 104, an intersection color calculation unit 105, and an intersection object ID assignment. Unit 106, intersection projection unit 107, first resolution video sequence storage unit 108, second resolution video calculation unit 109, third resolution video calculation unit 110, high resolution video storage unit 111, presentation unit 112, and control unit 113. Yes. 1 and the following, the presentation unit 112 is not included in the video drawing device, but may be included.
The CG data storage unit 101 stores CG data including data related to coordinate conversion, data related to a camera (not shown), data related to geometry, data related to a light source, data related to texture, and the like.
The coordinate conversion unit 102 performs coordinate conversion on the CG data acquired from the CG data storage unit 101 and converts it into a coordinate system (camera coordinate system) viewed from the viewpoint.
The intersection coordinate calculation unit 103 calculates the three-dimensional coordinates of the intersection of the ray and the object using the CG data after the coordinate conversion calculated by the coordinate conversion unit 102.
The intersection motion vector calculation unit 104 calculates a three-dimensional motion vector in the three-dimensional coordinates of the intersection calculated by the intersection coordinate calculation unit 103 using the CG data after the coordinate conversion calculated by the coordinate conversion unit 102. . The intersection motion vector calculation unit 104 interpolates and calculates the three-dimensional motion vector of the intersection from the vertices that make up the polygon surface of the object.
The intersection color calculation unit 105 calculates the color value of the intersection in the three-dimensional coordinates calculated by the intersection coordinate calculation unit 103 using the CG data after the coordinate conversion calculated by the coordinate conversion unit 102. The intersection color calculation unit 105 calculates the color value of the intersection in the three-dimensional coordinates by interpolating from the vertices constituting the polygon surface of the object.
The intersection object ID assigning unit 106 uses the CG data after the coordinate conversion calculated by the coordinate conversion unit 102 to use different object IDs for each object in the three-dimensional coordinates of the intersection calculated by the intersection coordinate calculation unit 103. Assign.
The intersection projection unit 107 uses the CG data after the coordinate conversion calculated by the coordinate conversion unit 102, and the intersection three-dimensional coordinates calculated by the intersection coordinate calculation unit 103 and the intersection motion vector calculation unit 104. By projecting the calculated three-dimensional motion vector of the intersection point onto the projection plane, the two-dimensional coordinates of the intersection point and the two-dimensional motion vector of the intersection point are calculated.
The first resolution video sequence storage unit 108 includes a two-dimensional coordinate of the intersection calculated by the intersection projection unit 107, a two-dimensional motion vector of the intersection, a color value of the intersection calculated by the intersection color calculation unit 105, and an intersection. The object IDs of the intersections assigned by the object ID assigning unit 106 are stored together as low resolution video data in units of frames.
The second resolution video calculation unit 109 superimposes the low resolution video data of a plurality of different frames on the low resolution video data of the current frame acquired from the first resolution video sequence storage unit 108 to obtain a medium resolution video. Calculate the data.
The third resolution video calculation unit 110 calculates the high resolution video data by filtering the medium resolution video data calculated by the second resolution video calculation unit 109.
The high resolution video storage unit 111 stores and holds the high resolution video data calculated by the third resolution video calculation unit 110 in units of frames. High resolution video data is general image data that holds the color value of each pixel. As shown in FIG. 1, after the high resolution video data is written into the high resolution video storage unit 111 by the third resolution video calculation unit 110, the presentation unit 112 acquires the high resolution video data and presents it to the user. .
The presenting unit 112 presents the high resolution video data acquired from the high resolution video storage unit 111 to the user. The presentation unit 112 includes a display that can present high-resolution video data to the user.
In the present embodiment, all blocks are controlled by a single control unit 113.
The detailed operation of each block and the structure of data flowing between the blocks of the video drawing apparatus in FIG. 1 will be described below with reference to FIGS.
An example of CG data held in the CG data storage unit 101 will be described with reference to FIG. As shown in FIG. 2, the CG data includes coordinate conversion data, camera data, geometry data, light source data, and texture data.
The coordinate transformation data is data relating to coordinate transformation such as a world matrix, a view matrix, a projection matrix, and a viewport scaling matrix.
The camera data is data relating to the camera such as a view volume (view frustum).
Geometry data includes 3D coordinates of vertices that make up the polygonal surface of the object, vertex index values, 3D motion vectors of vertices, color values of vertices, texture coordinates of vertices, vertex normal vectors, vertex object IDs, etc. It is the data regarding the geometry (geometry).
The light source data is data relating to the light source such as the type of the light source, the three-dimensional coordinates of the light source, and the color value of the light source.
The texture data is texture image data.
Among the CG data, the three-dimensional coordinates of the vertex, the three-dimensional motion vector of the vertex, the normal vector of the vertex, and the three-dimensional coordinate of the light source shown in FIG. 3 are respectively a unique local coordinate system or a common world coordinate system, Alternatively, it is defined in any one of the camera coordinate systems with the camera position as the origin, and is converted into the camera coordinate system by the coordinate conversion unit 102 and then sent to the subsequent block.
The CG data other than the above not shown in FIG. 3 is sent to the subsequent block without being processed by the coordinate conversion unit 102.
In general, the values of the vertex coordinates and the light source coordinates are represented by three-dimensional coordinates XYZ or homogeneous coordinates XYZW. In the present specification, these are collectively referred to as three-dimensional coordinates.
Note that the three-dimensional motion vector of a vertex is a vector that connects the three-dimensional coordinates of the vertex in the current frame and the three-dimensional coordinates of the vertex in a different frame, and represents the temporal motion of the vertex. . As shown in FIG. 4, in the present embodiment, a plurality of vectors representing movements returning to positions in a plurality of frames temporally prior to the current frame are assigned in advance as attributes to the respective vertices in the current frame. The plurality of vectors are held in the CG data storage unit 101.
As shown in FIG. 5, the vertex object ID is an ID for uniquely identifying an object including the polygonal surface to which the vertex belongs, and is assigned to each vertex in advance and stored in the CG data storage unit 101. Has been. For example, as illustrated in FIG. 5, the object ID of each vertex of the object a is “a”.
In FIG. 1, the CG data storage unit 101, the first resolution video sequence storage unit 108, and the high resolution video storage unit 111 are shown as different blocks, but these may be configured together on a single memory. Alternatively, it may be divided into a plurality of memories having different capacities and access speeds. The CG data held in the CG data storage unit 101 is not limited to the format shown in FIG. 2 and may include any data necessary for rendering a desired CG.
[Coordinate converter 102]
A processing flow of the coordinate conversion unit 102 will be described with reference to FIG.
In the first step S601, the CG data held in the CG data storage unit 101 is acquired.
In step S602, among the CG data acquired in step S601, the vertex three-dimensional coordinates, the vertex three-dimensional motion vector, the vertex normal vector, and the light source three-dimensional coordinates shown in FIG. Similarly, the coordinate system is converted to the camera coordinate system by multiplying the world matrix and the view matrix included in the CG data.
The matrix multiplication method is determined by the coordinate system in which the CG data to be converted is defined. When defined in the local coordinate system, both the world matrix and the view matrix are multiplied in this order, and when defined in the world coordinate system, only the view matrix is multiplied. If it is defined in the camera coordinate system from the beginning, nothing is performed in step S602.
In step S603, the CG data coordinate-converted in step S602 and the other CG data (CG data not subject to coordinate conversion) are converted into an intersection coordinate calculation unit 103, an intersection motion vector calculation unit 104, and an intersection color calculation unit 105. The intersection object ID assignment unit 106 and the intersection projection unit 107 output the result.
[Intersection point coordinate calculation unit 103]
A processing flow of the intersection coordinate calculation unit 103 will be described with reference to FIG.
In the first step S701, the view volume and the three-dimensional coordinates of the vertex included in the CG data sent from the coordinate conversion unit 102 are acquired.
In step S702, the front clip plane of the view volume acquired in step S701 is regarded as an image plane having the same resolution as the high-resolution video finally presented to the presentation unit 112, and an appropriate pixel is selected from the pixels on the image plane. The number is selected as a low resolution (first resolution) sampling point.
As described above, the idea regarding the sampling point selection method has already been proposed in Non-Patent Document 1 and the like. Also in the embodiment of the present invention, sampling points are selected using a method similar to these conventional methods. Therefore, detailed description of the sampling point selection method is omitted.
In step S703, the three-dimensional coordinates of the intersection of the line-of-sight vector (ray) passing through the sampling point selected in step S702 and the polygon plane constituting the object are referred to the three-dimensional coordinates of the vertex acquired in step S701. To calculate.
It is well known that this calculation requires a large amount of processing, and various ideas for speeding up have already been proposed. Also in the embodiment of the present invention, the calculation is performed using a method similar to these conventional methods. Therefore, detailed description of the calculation method is omitted.
In step S704, the one closest to the viewpoint is selected from the three-dimensional coordinates of the intersection of the ray and the object calculated in step S703.
In step S705, the three-dimensional coordinates of the intersection of the ray and object selected in step S704 and the index value assigned to the vertex of the polygon plane to which the intersection belongs are used as the intersection motion vector calculation unit 104, the intersection color calculation unit. 105, and output to the intersection object ID assignment unit 106 and the intersection projection unit 107.
[Intersection point motion vector calculation unit 104]
A processing flow of the intersection motion vector calculation unit 104 will be described with reference to FIG.
In the first step S801, the vertex three-dimensional coordinates and the vertex three-dimensional motion vector included in the CG data sent from the coordinate conversion unit 102 are acquired.
In step S802, the three-dimensional coordinates of the intersection of the ray and the object sent from the intersection coordinate calculation unit 103 and the index value indicating the vertex of the polygon surface to which the intersection belongs are acquired.
In step S803, using the vertex index value acquired in step S802, the polygon plane to which the intersection of the ray and the object belongs from the three-dimensional coordinates of the vertex and the three-dimensional motion vector of the vertex acquired in step S801. Select what constitutes.
In step S804, the three-dimensional motion vector of the vertex selected in step S803 using the three-dimensional coordinates of the intersection of the ray and the object acquired in step S802 and the three-dimensional coordinates of the vertex selected in step S803. Is interpolated to calculate the three-dimensional motion vector of the intersection.
In step S805, the intersection three-dimensional motion vector calculated in step S804 is output to the intersection projection unit 107.
The processing flow of the intersection color calculation unit 105 will be described with reference to FIG.
In the first step S901, the vertex 3D coordinates, vertex color values, vertex texture coordinates, vertex normal vector, light source type, light source included in the CG data sent from the coordinate conversion unit 102 3D coordinates, light source color value, and texture data are acquired.
In step S902, the three-dimensional coordinates of the intersection between the ray and the object sent from the intersection coordinate calculation unit 103 and the index value indicating the vertex of the polygon surface to which the intersection belongs are acquired.
In step S903, the vertex index value acquired in step S902 is used to calculate the ray from the three-dimensional vertex coordinates, vertex color values, vertex texture coordinates, and vertex normal vectors acquired in step S901. And the one constituting the polygon surface to which the intersection of the object belongs is selected.
In step S904, the type of light source acquired in step S901, the three-dimensional coordinates of the light source, the color value of the light source, texture data, the three-dimensional coordinates of the intersection of the ray and the object acquired in step S902, and in step S903. The color value of the intersection is calculated using the three-dimensional coordinates of the selected vertex, the color value of the vertex, the texture coordinate of the vertex, and the normal vector of the vertex. The calculation of the color value of the intersection will be described in detail later with reference to FIG.
In step S905, the color value of the intersection calculated in step S904 is output to the first resolution video sequence storage unit.
Next, an example of a typical processing flow for calculating the color value of the intersection in step S904 will be described with reference to FIG.
In the first step S1001, the texture coordinates of the intersection point are calculated by interpolating the texture coordinates of the vertex of the polygon surface to which the intersection point belongs.
In step S1002, the initial color value of the intersection is calculated by interpolating the color value of the vertex of the polygon surface to which the intersection belongs.
In step S1003, the normal vector of the intersection is calculated by interpolating the normal vector of the vertex of the polygon surface to which the intersection belongs.
In step S1004, the texture color value at the texture coordinates calculated in step S1001 is referenced to obtain the texture color value.
In step S1005, the color value of the intersection calculated in step S1002, the normal vector of the intersection calculated in step S1003, the color value of the texture acquired in step S1004, and the influence of light from the light source are calculated. Change in consideration. At this time, a global illumination effect is realized by taking into account the influence of indirect light from other polygon surfaces around the polygon surface to which the vertex belongs.
There are several types of indirect light calculation methods in global illumination, and various ideas have already been proposed. Also in the embodiment of the present invention, the calculation is performed using a method similar to these conventional methods. Therefore, a detailed description of the indirect light calculation method is omitted. Further, the calculation method of the color value of the intersection point in FIG. 10 is merely an example, and the calculation method in the present invention is not limited to this method.
A processing flow of the intersection object ID assigning unit 106 will be described with reference to FIG.
In the first step S1101, the vertex object ID included in the CG data sent from the coordinate conversion unit 102 is acquired.
In step S1102, the index value indicating the vertex of the polygonal surface to which the intersection of the ray and the object belongs is acquired from the intersection coordinate calculation unit 103.
In step S1103, using the vertex index values acquired in step S1102, the vertex object IDs acquired in step S1101 are selected from those constituting the polygon plane to which the intersection of the ray and the object belongs. .
In step S1105, the object ID of the intersection assigned in step S1104 is output to the first resolution video sequence storage unit.
A processing flow of the intersection projection unit 107 will be described with reference to FIG.
In the first step S1201, a projection matrix and a viewport scaling matrix included in the CG data sent from the coordinate conversion unit 102 are acquired.
In step S1202, the three-dimensional coordinates of the intersection of the ray and the object sent from the intersection coordinate calculation unit 103 are acquired.
In step S1203, the three-dimensional motion vector of the intersection of the ray and the object sent from the intersection motion vector calculation unit 104 is acquired.
In step S1204, the three-dimensional coordinates of the intersection acquired in step S1202 and the three-dimensional motion vector of the intersection acquired in step S1203 are multiplied by the projection matrix acquired in step S1201 and projected onto the projection plane. Thus, the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection are calculated.
In step S1205, the two-dimensional coordinates of the intersection point and the intersection point are calculated by multiplying the two-dimensional coordinates of the intersection point calculated in step S1204 and the two-dimensional motion vector of the intersection point by the viewport scaling matrix acquired in step S1201. The two-dimensional motion vector is translated to an appropriate position on the image plane.
In step S1206, the two-dimensional coordinates of the intersection calculated in step S1205 and the two-dimensional motion vector of the intersection are output to the first resolution video sequence storage unit. These data are output as floating point numbers or fixed point numbers.
[First Resolution Video Sequence Storage Unit 108]
An example of the low resolution video data held in the first resolution video sequence storage unit 108 will be described with reference to FIG.
As can be seen from this figure, the low-resolution video data is a collection of the two-dimensional coordinates of the intersection of the ray passing through each sampling point and the object, the two-dimensional motion vector of the intersection, the color value of the intersection, and the object ID of the intersection for each frame. It is a thing. In FIG. 13, nk indicates the number of intersections of frame k.
As shown in FIG. 1, data related to these intersections is sent from the intersection projection unit 107, the intersection color calculation unit 105, and the intersection object ID assignment unit 106.
Note that the low-resolution video data held in the first resolution video sequence storage unit 108 is not limited to the format shown in FIG. 13, and may include any data necessary for rendering a desired CG.
[Second Resolution Video Calculation Unit 109]
The processing flow of the second resolution video calculation unit 109 will be described with reference to FIG.
In the first step S1401, the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection included in the low resolution (first resolution) video data of the current frame are acquired from the first resolution video sequence storage unit.
In step S1402, as shown in FIGS. 15A, 15B, and 15C, the intersection points included in the low-resolution video data of a plurality of frames that are temporally later than the current frame are displayed. A two-dimensional motion vector of a two-dimensional coordinate and an intersection is acquired.
In step S1403, as shown in FIG. 15D, FIG. 15E, and FIG. 15F, a plurality of frames of low-resolution video data that are temporally later than the current frame acquired in step S1402 are converted. By selecting and adding from the multiple 2D motion vectors assigned to each included intersection to represent the motion that returns to the current frame, it is later in time than the current frame. Multiple frames of low resolution video data are superimposed on the current frame of low resolution video data. For example, in the example of FIG. 15, the low resolution video data of FIG. 15A, the low resolution video data of FIG. 15D, and the low resolution video data of FIG. f) Medium resolution video data is obtained. In this example, it can be said that the resolution is three times higher as compared with FIG. 15 (a) and FIG. 15 (f). In the present specification, the low resolution video data after being superimposed is referred to as medium resolution (second resolution) video data.
At this time, the flag value 0 is assigned to the low-resolution video data originally included in the current frame, and the flag value 1 is assigned to the low-resolution video data newly superimposed on the current frame.
In step S1404, the medium resolution video data calculated in step S1403 is output to the third resolution video calculation unit 110.
[Third resolution video calculation unit 110]
A processing flow of the third resolution video calculation unit 110 will be described with reference to FIG.
In the first step S1601, medium resolution (second resolution) video data sent from the second resolution video calculation unit 109 is acquired.
In step S1602, a color buffer having the same resolution as the high resolution video to be finally presented to the presentation unit 112 is secured in the high resolution video storage unit 111.
In step S1603, as shown in FIG. 17A and FIG. 17B, from the intersections included in the medium resolution video data (FIG. 17A) acquired in step S1601, the process proceeds to step S1602. The one located in the vicinity region of each pixel of the high-resolution color buffer secured in this way is selected (FIG. 17B).
As described above, in Non-Patent Document 1, etc., a device for selecting a tap position for filtering has already been proposed. Also in the embodiment of the present invention, the selection methods shown in FIGS. 17A and 17B are merely examples, and an intersection used for filtering may be selected using a method similar to the conventional method.
The intersection point selected here is a superposition of the intersection points sampled in multiple frames that are temporally different, so when the object's visibility changes due to the movement of the object and camera between frames, May contain objects belonging to objects that should not appear in the current frame. Therefore, in the subsequent steps, processing for excluding these intersections from the filtering target is performed.
In step S1604, the intersection assigned with the flag value 1 is selected from the intersections selected in step S1603 (corresponding to the hatched circle in FIG. 17).
As described above, this flag value is assigned to each intersection in the second resolution video calculation unit 109, and the flag value 0 is different from the current frame at the intersection originally included in the current frame. A flag value of 1 is assigned to the intersection point superimposed on the current frame.
In step S1605, for each intersection assigned with the flag value 1 selected in step S1604, the intersection assigned with the flag value 0 located in the vicinity region is selected (FIG. 17 (c), FIG. 17). (D), FIG. 17 (e), FIG. 17 (f)). The size of the neighborhood shown in FIG. 17B and the neighborhood shown in FIGS. 17C, 17D, 17E, and 17F depend on the object.
In step S1606, as shown in FIGS. 17C, 17D, 17E, and 17F, the intersection object to which the flag value 1 selected in step S1604 is assigned. The ID is compared with the object ID of the nearby intersection to which the flag value 0 selected in step S1605 is assigned. As a result, if even one object ID is different, the intersection to which the flag value 1 is assigned is excluded from the filtering target (FIG. 17 (f)).
In step S1607, the color value of each pixel of the high-resolution color buffer secured in step S1602 is calculated by interpolating the color values of the intersections that are not excluded in step S1606 with an appropriate weight.
The high resolution video storage unit 111 stores high resolution video data, and the high resolution video data is general image data that holds a color value of each pixel. As shown in FIG. 1, after the high resolution video data is written by the third resolution video calculation unit 110, it is acquired from the presentation unit 112 and presented to the user.
As described above, according to the video rendering apparatus of the present embodiment, by using the motion vector and the object ID of the low resolution sampling point obtained when rendering the CG, the time is later than the current frame. The low-resolution sampling points of a plurality of frames can be superimposed on the current frame at high speed and stably.
As a result, the number of sampling points per frame can be reduced as compared with the prior art, and as a result, high-quality, high-resolution global illumination video can be interactively drawn.
(Second Embodiment) Overlay of previous frames
The configuration of the video rendering apparatus in the second embodiment is the same as that in the first embodiment of FIG. 1, but the contents of CG data held in the CG data storage unit 101 and the second resolution video calculation. The processing content of the unit 109 is different. In the following, the same parts as those already described are designated by the same reference numerals and the description thereof is omitted.
As shown in FIG. 18, in the present embodiment, a plurality of vectors representing movements that advance to positions in a plurality of frames later in time than the current frame are assigned in advance as attributes to each vertex in the current frame. It is assumed that the CG data storage unit 101 stores and holds these vectors.
A processing flow of the second resolution video calculation unit 109 in this embodiment will be described with reference to FIG.
In the first step S1901, the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection included in the low-resolution video data of the current frame are acquired from the first resolution video sequence storage unit.
In step S1902, as shown in FIGS. 20A, 20B, and 20C, the intersection points included in the low-resolution video data of a plurality of frames temporally prior to the current frame are displayed. A two-dimensional motion vector of a two-dimensional coordinate and an intersection is acquired.
In step S1903, as shown in FIGS. 20D, 20E, and 20F, the low-resolution video data of a plurality of frames temporally prior to the current frame acquired in step S1902 is converted. By selecting and adding the ones representing the movement to the current frame from among a plurality of two-dimensional motion vectors assigned to each included intersection, the temporally prior to the current frame is obtained. Multiple frames of low resolution video data are superimposed on the current frame of low resolution video data. For example, in the example of FIG. 20, the low resolution video data of FIG. 20C, the low resolution video data of FIG. 20D, and the low resolution video data of FIG. f) Medium resolution video data is obtained. In this example, comparing FIG. 20A and FIG. 20F, it can be said that the resolution is improved three times.
In step S 1904, the medium resolution video data calculated in step S 1903 is output to the third resolution video calculation unit 110.
As described above, according to the video rendering device of this embodiment, the motion vector and the object ID of the low-resolution sampling point obtained when rendering CG are used, so that the time before the current frame is obtained. The low-resolution sampling points of a plurality of frames can be superimposed on the current frame at high speed and stably.
(Third embodiment) Overlapping frames
The configuration of the video rendering apparatus in the third embodiment is the same as that in the first embodiment of FIG. 1, but the contents of CG data held in the CG data storage unit 101 and the second resolution video calculation. The processing content of the unit 109 is different.
As shown in FIG. 21, in the present embodiment, for each vertex in the current frame, a plurality of vectors representing movements returning to positions in a plurality of frames temporally prior to the current frame, and the current frame Further, it is assumed that a plurality of vectors representing movements that advance to positions in a plurality of frames later in time are assigned in advance as attributes, and the CG data storage unit 101 stores and holds these vectors.
A processing flow of the second resolution video calculation unit 109 in the present embodiment will be described with reference to FIG.
In the first step S2201, the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection included in the low-resolution video data of the current frame are acquired from the first resolution video sequence storage unit.
In step S2202, as shown in FIGS. 23 (a), 23 (b), and 23 (c), the intersection points included in the low-resolution video data of a plurality of frames temporally after the current frame are displayed. A two-dimensional coordinate and a two-dimensional motion vector of the intersection, and a two-dimensional coordinate of the intersection and a two-dimensional motion vector of the intersection included in the low-resolution video data of a plurality of frames temporally before the current frame are acquired.
In step S2203, as shown in FIGS. 23D, 23E, and 23F, they are included in the low-resolution video data of a plurality of frames temporally after the current frame acquired in step S2202. The motion to the current frame is determined from the two-dimensional motion vectors assigned to each intersection and each intersection included in the low-resolution video data of a plurality of frames temporally before the current frame. By selecting and adding the representation, low resolution video data of multiple frames after the current frame and low resolution video data of multiple frames temporally before the current frame are Is superimposed on the low-resolution video data of the next frame. For example, in the example of FIG. 23, the low resolution video data of FIG. 23B, the low resolution video data of FIG. 23D, and the low resolution video data of FIG. f) Medium resolution video data is obtained. In this example, comparing FIG. 23B and FIG. 23F, it can be said that the resolution is improved three times.
In step S2204, the medium resolution video data calculated in step S2203 is output to the third resolution video calculation unit 110.
As described above, according to the video rendering apparatus of the present embodiment, by using the motion vector and the object ID of the low resolution sampling point obtained when rendering the CG, the time is later than the current frame. The low-resolution sampling points of a plurality of frames and the low-resolution sampling points of a plurality of frames temporally prior to the current frame can be superimposed on the current frame at high speed and stably.
As a result, the number of sampling points per frame can be reduced as compared with the prior art, and as a result, a high-quality, high-resolution global illumination video can be interactively drawn.
(Fourth embodiment) Asynchronous parallel operation (parallel operation of three-dimensional data processing unit and two-dimensional data processing unit)
The structure of the video drawing apparatus in FIG. 24 is shown. As can be seen from this figure, the video drawing apparatus in the present embodiment is the same as the video drawing apparatus in the first embodiment, the second embodiment, and the third embodiment of FIG. The dimensional data processing unit 2410 is divided into two processing units, and each processing unit is asynchronously operated in parallel by a control unit 113 that is exclusively used.
Data exchange between the three-dimensional data processing unit 2400 and the two-dimensional data processing unit 2410 is performed via the first resolution video sequence storage unit 108 dedicated to each processing unit. However, the processing is not necessarily performed via the first resolution video recording unit 108 that each processing unit has exclusively, and a single unit may be shared.
According to the video rendering apparatus in the present embodiment, the block processing included in the three-dimensional data processing unit 2400 and the block processing included in the two-dimensional data processing unit 2410 can be asynchronously executed in parallel. The operation rate of each block can be increased as compared with the image drawing apparatuses in the embodiment, the second embodiment, and the third embodiment.
As a result, it is possible to draw a high-quality, high-resolution global illumination video more interactively.
(Fifth Embodiment) General-purpose video processing (general-purpose video processing of only a two-dimensional data processing unit)
FIG. 25 shows the configuration of a video drawing apparatus according to the fifth embodiment. As can be seen from this figure, the video drawing apparatus according to this embodiment has only the two-dimensional data processing unit 2410 of the video drawing apparatus according to the fourth embodiment of FIG.
In the video drawing apparatus according to the present embodiment, it is assumed that low-resolution video data of a plurality of frames calculated in advance is held in the first resolution video sequence storage unit 108.
In the video rendering apparatuses in the first embodiment, the second embodiment, the third embodiment, and the fourth embodiment, it is assumed that low-resolution video data is calculated from CG data. In the image drawing apparatus according to the embodiment, low-resolution image data calculated in advance by some method from an image source other than CG data can be input.
According to the present embodiment, it is possible to interactively draw a high-quality high-resolution video from an arbitrary video source without being limited to CG data.
(Sixth Embodiment) Multi-core 3D Data Processing Unit (Frame Base)
FIG. 26 shows the configuration of a video drawing apparatus in the sixth embodiment. As can be seen from this figure, the video drawing apparatus 2600 in this embodiment has a plurality of three-dimensional data processing units 2400 of the video drawing apparatus in the fourth embodiment of FIG.
In the video rendering apparatus in the fourth embodiment of FIG. 24, the amount of CG data acquired from the CG data storage unit 101, the number of intersections (low-resolution sampling points) calculated by the intersection coordinate calculation unit 103, or the intersections Various calculations such as the calculation amount of illumination calculation in the color calculation unit 105, the bandwidth of the first resolution video sequence storage unit 108, the resolution of the high resolution video finally presented to the presentation unit 112, or the processing capability of each block Depending on the factors, the balance between the processing amount of the three-dimensional data processing unit 2400 and the processing amount of the two-dimensional data processing unit 2410 changes dynamically. Therefore, in a certain frame, the frame rate may decrease due to the bottleneck in the processing of the three-dimensional data processing unit 2400.
In view of this, in the video rendering apparatus according to the present embodiment, the control unit 113 assigns different frame processing to a plurality of three-dimensional data processing units 2400 and performs asynchronous parallel processing so that the processing of the three-dimensional data processing unit 2400 is performed. Prevent bottlenecks.
According to the present embodiment, for example, when a certain three-dimensional data processing unit 2400 is processing the first frame, a different three-dimensional data processing unit 2400 uses the second frame or the third frame. It becomes possible to execute processing of different frames simultaneously.
In addition, when assigning a process to a plurality of three-dimensional data processing units 2400, the control unit 113 may be configured to select and assign a three-dimensional data processing unit 2400 having a relatively small load at that time.
As described above, according to the video rendering apparatus in the present embodiment, even when the processing of the 3D data processing unit 2400 becomes a bottleneck in the video rendering apparatus in the fourth embodiment, a high-quality, high-resolution global Illumination video can be drawn interactively.
(Seventh embodiment) Multi-core 3D data processing unit (block base)
FIG. 27 shows a configuration of a video drawing apparatus 2700 according to the seventh embodiment. As can be seen from this figure, the video drawing apparatus in this embodiment is characterized in that a low-resolution video block combining unit 2701 is added to the video drawing apparatus in the sixth embodiment of FIG.
In the video rendering apparatus according to the present embodiment, the control unit 113 assigns processing of different video blocks of the same frame to a plurality of three-dimensional data processing units 2400, and performs asynchronous parallel processing. Then, the low-resolution video block combining unit 2701 combines the low-resolution video data of different video blocks, which is the processing result.
As shown in FIG. 28, the video block represents an area obtained by dividing a video of a certain frame by an arbitrary rectangle. The size and division method of the video block may be the same in all frames, or the control unit 113 may control each frame so that the number of low-resolution sampling points is as uniform as possible.
Thereby, for example, when a certain three-dimensional data processing unit 2400 is processing the first video block, the different three-dimensional data processing unit 2400 makes the second video block or the third video block different. Since the processing of the video block can be executed at the same time, the processing of the three-dimensional data processing unit 2400 can be prevented from becoming a bottleneck.
In addition, when assigning a process to a plurality of three-dimensional data processing units 2400, the control unit 113 may be configured to select and assign the three-dimensional data processing unit 2400 having the relatively smallest load at that time.
(Eighth embodiment) Multi-core two-dimensional data processing unit (frame base)
FIG. 29 shows the configuration of a video drawing apparatus 2900 in the eighth embodiment. As can be seen from this figure, the video drawing apparatus according to the present embodiment has a plurality of two-dimensional data processing units 2410 of the video drawing apparatus according to the fourth embodiment of FIG.
As described above, in the video drawing device in the fourth embodiment of FIG. 24, the balance between the processing amount of the three-dimensional data processing unit 2400 and the processing amount of the two-dimensional data processing unit 2410 varies depending on various factors. Changes. Therefore, in a certain frame, the processing of the two-dimensional data processing unit 2410 may become a bottleneck and the frame rate may decrease.
Therefore, in the video rendering apparatus according to the present embodiment, the control unit 113 assigns different frame processing to a plurality of two-dimensional data processing units 2410 and performs asynchronous parallel processing so that the processing of the two-dimensional data processing unit 2410 is performed. Prevent bottlenecks.
Accordingly, for example, when a certain two-dimensional data processing unit 2410 is processing the first frame, a different two-dimensional data processing unit 2410 processes different frames such as the second frame or the third frame. Can be executed simultaneously.
The control unit 113 may be configured to select and assign the two-dimensional data processing unit 2410 having a relatively small load at the time when the processing is assigned to the plurality of two-dimensional data processing units 2410.
As described above, according to the video rendering apparatus in the present embodiment, even when the processing of the two-dimensional data processing unit 2410 becomes a bottleneck in the video rendering apparatus in the fourth embodiment, a high-quality, high-resolution global Illumination video can be drawn interactively.
(Ninth embodiment) Multi-core two-dimensional data processing unit (block base)
FIG. 30 shows a configuration of a video drawing apparatus 3000 according to the ninth embodiment. As can be seen from this figure, the video drawing apparatus according to the present embodiment adds a low resolution video block dividing unit 3001 and a high resolution video block combining unit 3002 to the video drawing apparatus according to the eighth embodiment of FIG. It is characterized by.
In the video rendering apparatus according to the present embodiment, low resolution video data in a certain frame output from a single 3D data processing unit 2400 is divided by a low resolution video block dividing unit 3001, and a plurality of 2D data processing units are divided. Assigned to 2410 and processed in parallel asynchronously. Then, the high-resolution video data of different video blocks, which are the processing results, are combined by the high-resolution video block combining unit 3002.
Thus, for example, when a certain two-dimensional data processing unit 2410 is processing the first video block, a different two-dimensional data processing unit 2410 performs different video such as the second video block or the third video block. Since block processing can be executed simultaneously, it is possible to prevent the processing of the two-dimensional data processing unit 2410 from becoming a bottleneck.
Note that the size of the video block, the division method, and the like may be the same for all frames, and for example, the control unit 113 assigns the low-resolution video block division unit 3001 to each frame so that the number of low-resolution sampling points is as uniform as possible. You may comprise so that it may control to.
(Tenth Embodiment) Multi-core 3D data processing unit and 2D data processing unit (frame base, same parallelism)
FIG. 31 shows a configuration of a video drawing apparatus 3100 according to the tenth embodiment. As can be seen from this figure, the video drawing apparatus in this embodiment has a plurality of both the three-dimensional data processing unit 2400 and the two-dimensional data processing unit 2410 of the video drawing apparatus in the fourth embodiment of FIG. Features. However, in the video drawing apparatus according to the present embodiment, it is assumed that the numbers of the three-dimensional data processing unit 2400 and the two-dimensional data processing unit 2410 are the same and are connected one-to-one.
As described above, in the video drawing device in the fourth embodiment of FIG. 24, the balance between the processing amount of the three-dimensional data processing unit 2400 and the processing amount of the two-dimensional data processing unit 2410 varies depending on various factors. Changes. Therefore, in a certain frame, the frame rate is lowered due to the bottleneck in the processing of the three-dimensional data processing unit 2400, and conversely the frame rate in the processing of the two-dimensional data processing unit 2410 is a bottleneck. Both can be reduced.
Therefore, in the video rendering apparatus according to the present embodiment, the control unit 113 assigns different frame processing to the plurality of three-dimensional data processing units 2400 and the plurality of two-dimensional data processing units 2410 connected to the one-to-one correspondence. Execute asynchronously in parallel.
Thus, for example, when a set of a certain three-dimensional data processing unit 2400 and a two-dimensional data processing unit 2410 connected in a one-to-one manner is processing the first frame, different three-dimensional data processing units 2400 and 2400 Since the processing of different frames such as the second frame or the third frame can be performed simultaneously by the set of the dimensional data processing unit 2410, the processing of the 3D data processing unit 2400 becomes a bottleneck. It is possible to prevent the processing of the two-dimensional data processing unit 2410 from becoming a bottleneck.
When the control unit 113 assigns a process to a set of a plurality of three-dimensional data processing units 2400 and a plurality of two-dimensional data processing units 2410 connected to them one by one, the load is relatively small at that time. You may comprise so that a group may be selected and allocated.
As described above, according to the video drawing device in the present embodiment, any of the processes of the 3D data processing unit 2400 and the 2D data processing unit 2410 becomes a bottleneck in the video drawing device in the fourth embodiment. Even in this case, it is possible to interactively draw a high-quality, high-resolution global illumination video.
(Eleventh Embodiment) Multi-core 3D data processing unit and 2D data processing unit (block base, same parallelism)
FIG. 32 shows the configuration of a video drawing apparatus 3200 in the eleventh embodiment. As can be seen from this figure, the video drawing apparatus according to this embodiment is characterized in that a high-resolution video block combining unit 3002 is added to the video drawing apparatus according to the tenth embodiment of FIG.
In the video rendering apparatus according to the present embodiment, the control unit 113 assigns different video block processes to the plurality of three-dimensional data processing units 2400 and the plurality of two-dimensional data processing units 2410 connected to the one-to-one correspondence. Execute asynchronously in parallel. Then, the high-resolution video data of different video blocks, which are the processing results, are combined by the high-resolution video block combining unit 3002.
Thus, for example, when a pair of a certain 3D data processing unit 2400 and a 2D data processing unit 2410 connected in a one-to-one manner is processing the first video block, a different 3D data processing unit 2400 and The combination of the two-dimensional data processing unit 2410 enables simultaneous processing of different video blocks such as the second video block or the third video block, so that the processing of the three-dimensional data processing unit 2400 is a bottleneck. It is possible to prevent the processing of the two-dimensional data processing unit 2410 from becoming a bottleneck.
Note that the size and division method of the video block may be the same for all frames, or the control unit 113 may be configured to control each frame so that the number of low-resolution sampling points is as uniform as possible. Good.
Further, when the control unit 113 assigns a process to a set of a plurality of three-dimensional data processing units 2400 and a plurality of two-dimensional data processing units 2410 connected one-to-one with them, the load is relatively small at that time. You may comprise so that a group may be selected and allocated.
(Twelfth embodiment) 3D data processing unit and 2D data processing unit are multi-core (frame base, different parallelism)
FIG. 33 shows the configuration of a video drawing apparatus 3300 according to the twelfth embodiment. As can be seen from this figure, the video drawing apparatus in this embodiment has a plurality of both the three-dimensional data processing unit 2400 and the two-dimensional data processing unit 2410 of the video drawing apparatus in the fourth embodiment of FIG. Features.
Unlike the video drawing apparatus in the fourth embodiment of FIG. 24, the number of the three-dimensional data processing unit 2400 and the two-dimensional data processing unit 2410 do not have to be the same in the video drawing apparatus in the present embodiment. It is assumed that there is a bus connection between them.
In the video rendering apparatus according to the present embodiment, the control unit 113 assigns different frame processing to a plurality of three-dimensional data processing units 2400, and these processing results are two-dimensionally loaded with a relatively small load at that time. Assigned to the data processing unit 2410.
Thereby, for example, when a set of a certain 3D data processing unit 2400 and a 2D data processing unit 2410 connected by a bus is processing the first frame, the different 3D data processing unit 2400 and 2D data are processed. Since the processing unit 2410 can simultaneously execute processing of different frames such as the second frame or the third frame, the processing of the three-dimensional data processing unit 2400 is prevented from becoming a bottleneck. It is possible to prevent the processing of the two-dimensional data processing unit 2410 from becoming a bottleneck.
In addition, since the processing is preferentially assigned to the two-dimensional data processing unit 2410 having a small load, the operation rate of each two-dimensional data processing unit 2410 is improved, and as a result, the frame rate can be improved.
In addition, when assigning a process to a plurality of three-dimensional data processing units 2400, the control unit 113 may be configured to select and assign a relatively light load at that time.
As described above, according to the video drawing device in the present embodiment, any of the processes of the 3D data processing unit 2400 and the 2D data processing unit 2410 becomes a bottleneck in the video drawing device in the fourth embodiment. Even in this case, it becomes possible to draw a high-quality high-resolution global illumination video more interactively.
Thirteenth Embodiment Multi-core 3D data processing unit and 2D data processing unit (block base, different parallelism)
FIG. 34 shows the configuration of a video drawing apparatus 3400 in the thirteenth embodiment. As can be seen from this figure, the video drawing apparatus in this embodiment is characterized in that a low-resolution video block distribution unit 3401 is added to the video drawing apparatus in the twelfth embodiment of FIG. Similar to the video drawing apparatus in the twelfth embodiment of FIG. 33, in the video drawing apparatus in the present embodiment, the number of three-dimensional data processing units 2400 and two-dimensional data processing units 2410 need not be the same.
In the video rendering apparatus according to the present embodiment, the control unit 113 assigns different video block processes to a plurality of three-dimensional data processing units 2400 and performs asynchronous parallel processing. The low resolution video data of different video blocks, which are the processing results, are distributed by the low resolution video block distribution unit 3401 to the two-dimensional data processing unit 2410 having a relatively small load at that time. At this time, the low resolution video block distribution unit 3401 temporarily combines the low resolution video data of different video blocks received from the 3D data processing unit 2400, and re-divides the video blocks into an arbitrary number or an arbitrary size video block. To the two-dimensional data processing unit 2410. This makes it possible to execute processing of different video blocks simultaneously.
(14th Embodiment) Dynamic control of the number of sampling points depending on the data amount
The configuration of the video drawing apparatus in the fourteenth embodiment is the same as that in the fourth embodiment in FIG. The feature of the video rendering apparatus in the present embodiment is that the first resolution video sequence storage unit 108 included in the 3D data processing unit 2400 and the first resolution video sequence storage unit 108 included in the 2D data processing unit 2410. Depending on the amount of data flowing between them (measured by the control unit 113), the control unit 113 included in the three-dimensional data processing unit 2400 determines the number of intersection points (per frame) calculated by the intersection coordinate calculation unit 103. The amount of low-resolution video data) is dynamically controlled. For example, when the 3D data processing unit 2400 and the 2D data processing unit 2410 are connected via a network, the degree of network congestion changes due to the flow of data transferred from other devices on the network. Sometimes.
In view of this, in the video rendering apparatus according to the present embodiment, between the first resolution video sequence storage unit 108 included in the three-dimensional data processing unit 2400 and the first resolution video sequence storage unit 108 included in the two-dimensional data processing unit 2410. When the amount of data flowing through is relatively large, the control unit 113 included in the three-dimensional data processing unit 2400 reduces the number of intersections calculated by the intersection coordinate calculation unit 103, thereby reducing the Reduce the amount of low-resolution video data per frame.
Accordingly, transfer between the first resolution video sequence storage unit 108 included in the 3D data processing unit 2400 and the first resolution video sequence storage unit 108 included in the 2D data processing unit 2410 becomes a bottleneck. Therefore, it becomes possible to draw a high resolution global illumination video at a stable frame rate.
Conversely, the amount of data flowing between the first resolution video sequence storage unit 108 included in the 3D data processing unit 2400 and the first resolution video sequence storage unit 108 included in the 2D data processing unit 2410 is relative. When the control unit 113 included in the three-dimensional data processing unit 2400 relatively increases the number of intersections calculated by the intersection coordinate calculation unit 103, the low-resolution video data per frame Increase the amount of. As a result, the number of intersections (sampling points) that can be used in the third resolution image calculation unit 110 is increased, so that a higher-quality, high-resolution global illumination image can be interactively drawn.
As described above, according to the video rendering apparatus of the present embodiment, even when the amount of data flowing between the three-dimensional data processing unit 2400 and the two-dimensional data processing unit 2410 changes due to external factors, the frame rate is kept stable. It is possible to draw high-resolution global illumination video with the highest possible quality.
(15th Embodiment) Dynamic control of bandwidth-dependent sampling points
The video drawing apparatus according to this embodiment is characterized by the video drawing apparatus according to the first embodiment, the second embodiment, and the third embodiment shown in FIG. 1, or the video drawing apparatus according to the fourth embodiment shown in FIG. The control unit 113 calculates the number of intersections calculated by the intersection coordinate calculation unit 103 (low resolution video data per frame) according to the width of the bandwidth (bandwidth) of the first resolution video sequence storage unit 108. Is dynamically controlled.
For example, it is assumed that the first resolution video sequence storage unit 108 is configured as a part on a single large memory, and the remaining part of the memory is accessed from other devices. If accesses from other devices are concentrated in a certain frame, the bandwidth of the memory is consumed, and the bandwidth of the first resolution video sequence storage unit 108 may be narrowed.
Therefore, in the video rendering apparatus according to the present embodiment, when the bandwidth of the first resolution video sequence storage unit 108 is relatively narrow, the control unit 113 relatively sets the number of intersections calculated by the intersection coordinate calculation unit 103. By reducing the amount, the amount of low-resolution video data per frame is reduced. As a result, it is possible to prevent the data transfer with the first resolution video sequence storage unit 108 from becoming a bottleneck, and thus it is possible to render a high resolution global illumination video at a stable frame rate.
On the contrary, when the bandwidth of the first resolution video sequence storage unit 108 is relatively wide, the control unit 113 increases the number of intersections calculated by the intersection coordinate calculation unit 103, thereby increasing one frame. Increase the amount of low-resolution video data. As a result, the number of intersections (sampling points) that can be used in the third resolution image calculation unit 110 is increased, so that a higher-quality, high-resolution global illumination image can be interactively drawn.
As described above, according to the video rendering apparatus of the present embodiment, even when the bandwidth of the first resolution video sequence storage unit 108 changes due to an external factor, the high-resolution global resolution with the highest possible quality while keeping the frame rate stable. Illumination video can be drawn.
(Sixteenth embodiment) Interactive control of the number of sampling points depending on interactivity
FIG. 35 shows the configuration of the video drawing apparatus in the sixteenth embodiment. The feature of the video drawing apparatus in the sixteenth embodiment is that the number of intersections calculated by the intersection coordinate calculation unit 103 by the control unit 113 according to the level of interactiveness of the video drawn in the current frame ( The amount of low resolution video data per frame) is dynamically controlled.
For example, when drawing a video that must dynamically change according to user input in the current frame, the control unit 113 sets the number of intersections calculated by the intersection coordinate calculation unit 103 to be relatively By reducing the amount, the amount of low-resolution video data per frame is reduced. As a result, the amount of data processed by the subsequent block is reduced, so that a high-resolution global illumination video can be rendered at a stable frame rate.
Conversely, when a static video (for example, a video of a replay scene in a game) that does not change according to a user input in the current frame is drawn, the control unit 113 calculates the intersection coordinate calculation unit 103. By increasing the number of intersections relatively, the amount of low-resolution video data per frame is increased. As a result, the number of intersections (sampling points) that can be used in the third resolution image calculation unit 110 is increased, so that it is possible to draw a higher-quality, high-resolution global illumination image.
It is assumed that the high interactivity of the current frame is stored as numerical data in the CG data storage unit 101 in advance. The interactive evaluation unit 3501 acquires this numerical data from the CG data storage unit 101 and outputs an evaluation value based on the value. The acquired data may be used as an evaluation value as it is, or the evaluation value may be calculated by combining the acquired data and other CG data such as a motion vector.
The control unit 113 receives the evaluation value output from the interactive evaluation unit 3501, and dynamically controls the number of intersections calculated by the intersection coordinate calculation unit 103 based on the evaluation value.
As described above, according to the video rendering apparatus of the present embodiment, the tradeoff between the frame rate and the quality is dynamically adjusted according to the high level of interactivity required for the video rendered in the current frame. It becomes possible.
(Seventeenth Embodiment) Dynamic control of the number of sampling points depending on power consumption
The video drawing apparatus according to the seventeenth embodiment is characterized by the video drawing apparatus according to the first embodiment, the second embodiment, and the third embodiment shown in FIG. 1, or the video drawing apparatus according to the fourth embodiment shown in FIG. The control unit 113 included in the apparatus dynamically controls the number of intersections (the amount of low-resolution video data per frame) calculated by the intersection coordinate calculation unit 103 according to the current power consumption. It is. The control unit 113 measures the current power consumption.
For example, when the power consumption in the current frame is relatively high, the control unit 113 relatively reduces the number of intersections calculated by the intersection coordinate calculation unit 103, thereby reducing the low-resolution video data per frame. Reduce the amount of. As a result, the amount of data processed by the subsequent block is reduced, so that it is possible to render a high-resolution global illumination video while suppressing an increase in power consumption.
Conversely, when the power consumption in the current frame is relatively low, the control unit 113 relatively increases the number of intersections calculated by the intersection coordinate calculation unit 103, thereby reducing the low-resolution video per frame. Increase the amount of data. As a result, the number of intersections (sampling points) that can be used in the third resolution image calculation unit 110 is increased, so that it is possible to draw a higher-quality, high-resolution global illumination image.
As described above, according to the video rendering apparatus of the present embodiment, it is possible to render a high-resolution global illumination video with the highest possible quality while suppressing an increase in power consumption.
According to the video rendering device, method, and program of the embodiment described above, the number of sampling points per frame can be reduced by filtering the low-resolution sampling points of a plurality of frames. As a result, high-quality, high-resolution global illumination video can be drawn interactively. By using the motion vector and object ID of the sampling points obtained when drawing CG, matching calculation can be realized at high speed and stably.
The instructions shown in the processing procedure shown in the above embodiment can be executed based on a program that is software. A general-purpose computer system stores this program in advance, and by reading this program, it is also possible to obtain the same effect as that obtained by the computer graphics data encoding device and the decoding device of the above-described embodiment. is there. The instructions described in the above-described embodiments are, as programs that can be executed by a computer, magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD). ± R, DVD ± RW, etc.), semiconductor memory, or a similar recording medium. As long as the computer or embedded system can read the storage medium, the storage format may be any form. If the computer reads the program from the recording medium and causes the CPU to execute instructions described in the program based on the program, the computer is the same as the computer graphics data encoding device and decoding device of the above-described embodiment. Operation can be realized. Of course, when the computer acquires or reads the program, it may be acquired or read through a network.
In addition, an OS (operation system), database management software, MW (middleware) such as a network, etc. running on a computer based on instructions from a program installed in a computer or an embedded system from a storage medium realize this embodiment. A part of each process for performing may be executed.
In addition, the number of storage media is not limited to one, and the processing in the present embodiment is executed from a plurality of media, and the configuration of the media may be any configuration included in the storage media in the present invention.
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
1 is a block diagram of a video drawing device according to a first embodiment of the present invention. The figure which shows an example of the CG data memorize | stored in the CG data memory | storage part of FIG. The figure which shows an example of CG data by which the coordinate conversion part of FIG. The figure which shows the three-dimensional motion vector in the 1st Embodiment of this invention. The figure which shows object ID of a vertex. The flowchart which shows the flow of a process of the coordinate transformation part of FIG. The flowchart which shows the flow of a process of the intersection coordinate calculation part of FIG. The flowchart which shows the flow of a process of the intersection motion vector calculation part of FIG. The flowchart which shows the flow of a process of the intersection color calculation part of FIG. The flowchart which shows the intersection color calculation method which the intersection color calculation part of FIG. 1 performs. The flowchart which shows the flow of a process of the intersection object ID allocation part of FIG. The flowchart which shows the flow of a process of the intersection projection part of FIG. The figure which shows an example of the low resolution video data which the 1st resolution video sequence memory | storage part of FIG. 1 has memorize | stored. The flowchart which shows the flow of a process of the 2nd resolution image calculation part of FIG. The figure for demonstrating the calculation method of the medium resolution video data in the 2nd resolution video calculation part of FIG. The flowchart which shows the flow of a process of the 3rd resolution image calculation part of FIG. The figure which shows an example of the calculation method of the high resolution video data in the 3rd resolution video calculation part of FIG. The figure which shows the three-dimensional motion vector in the 2nd Embodiment of this invention. The flowchart which shows the flow of a process of the 2nd resolution image calculation part of FIG. 1 in the 2nd Embodiment of this invention. The figure for demonstrating the calculation method of the medium resolution video data in the 2nd resolution video calculation part of FIG. 1 in the 2nd Embodiment of this invention. The figure which shows the three-dimensional motion vector in the 3rd Embodiment of this invention. The flowchart which shows the flow of a process of the 2nd resolution image calculation part of FIG. 1 in the 3rd Embodiment of this invention. The figure for demonstrating the calculation method of the medium resolution video data in the 2nd resolution video calculation part of FIG. 1 in the 3rd Embodiment of this invention. The block diagram of the image drawing apparatus in the 4th Embodiment of this invention. The block diagram of the image drawing apparatus in the 5th Embodiment of this invention. The block diagram of the image drawing apparatus in the 6th Embodiment of this invention. The block diagram of the image drawing apparatus in the 7th Embodiment of this invention. The figure which shows an example of a video block. The block diagram of the image drawing apparatus in the 8th Embodiment of this invention. The block diagram of the image drawing apparatus in the 9th Embodiment of this invention. The block diagram of the image drawing apparatus in the 10th Embodiment of this invention. The block diagram of the image drawing apparatus in the 11th Embodiment of this invention. The block diagram of the video drawing apparatus in the 12th Embodiment of this invention. The block diagram of the image drawing apparatus in the 13th Embodiment of this invention. The block diagram of the image drawing apparatus in the 16th Embodiment of this invention.
DESCRIPTION OF SYMBOLS 101 ... Data storage part 102 ... Coordinate conversion part 103 ... Intersection coordinate calculation part 104 ... Vector calculation part 105 ... Intersection color calculation part 106 ... Intersection object ID allocation part 107 ... Intersection projection part 108 ... 1st Resolution video sequence storage unit 109 109 Second resolution video calculation unit 110 Third resolution video calculation unit 111 High resolution video storage unit 112 Presentation unit 113 Control unit 2400 Three-dimensional data processing unit 2410 ... 2D data processing unit, 2600 ... Video drawing device, 2700 ... Video drawing device, 2701 ... Low resolution video block combining unit, 2900 ... Video drawing device, 3000 ... Video drawing device, 3001 ... Low resolution video block dividing unit, 3002 ... High-resolution video block coupling unit, 3100 ... Video drawing device, 3200 ... Video drawing device, 3300 ... Video drawing device , 3400 ... image rendering apparatus, 3401 ... low resolution video block distributor, 3501 ... interactive evaluation unit.
CG data storage means for storing CG data including data relating to coordinate transformation, data relating to cameras, data relating to geometry, data relating to light sources, and data relating to textures;
Coordinate conversion means for converting the coordinate system of the CG data into a camera coordinate system which is a coordinate system viewed from the viewpoint;
Intersection point coordinate calculating means for calculating a three-dimensional coordinate of an intersection point between a line-of-sight vector passing through a sampling point sampled from a pixel of an image plane to be displayed and an object in the image using the coordinate-converted CG data; ,
Intersection point motion vector calculation means for calculating a three-dimensional motion vector in the calculated three-dimensional coordinates of the intersection using the coordinate-converted CG data;
Intersection color calculation means for calculating a color value at the calculated three-dimensional coordinates of the intersection using the coordinate-converted CG data;
An intersection object ID assigning means for assigning an object ID of an intersection that differs for each object in the calculated three-dimensional coordinates of the intersection using the coordinate-converted CG data;
Using the coordinate-converted CG data, the calculated three-dimensional coordinates of the intersection and the calculated three-dimensional motion vector of the intersection are projected onto a projection plane, and the two-dimensional coordinates of the intersection and the intersection Intersection projection means for calculating a two-dimensional motion vector;
The calculated two-dimensional coordinates of the intersection point and the two-dimensional motion vector of the intersection point, the calculated color value of the intersection point, and the assigned object ID of the intersection point are collectively displayed in a low resolution. First resolution video sequence storage means for storing video data;
The low resolution video data of the current frame stored in the first resolution video sequence storage means and the low resolution of a plurality of frames temporally different from the current frame stored in the first resolution video sequence storage means Medium resolution video calculation means for calculating medium resolution video data by superimposing video data;
High-resolution video calculation means for filtering the calculated medium-resolution video data and calculating high-resolution video data;
High-resolution video storage means for storing the calculated high-resolution video data in units of frames;
A video rendering apparatus comprising: presentation means for presenting the high-resolution video data.
The medium resolution video calculation means includes a lower resolution video data of the current frame stored in the first resolution video string storage means and a time longer than the current frame stored in the first resolution video string storage means. The video rendering apparatus according to claim 1, wherein medium resolution video data is calculated by superimposing low resolution video data of a plurality of subsequent frames.
The medium resolution video calculation means includes a lower resolution video data of the current frame stored in the first resolution video string storage means and a time longer than the current frame stored in the first resolution video string storage means. The video rendering apparatus according to claim 1, wherein medium resolution video data is calculated by superimposing low resolution video data of a plurality of previous frames.
The medium resolution video calculation means includes a lower resolution video data of the current frame stored in the first resolution video string storage means and a time longer than the current frame stored in the first resolution video string storage means. The lower resolution video data of a plurality of subsequent frames and the lower resolution video data of a plurality of frames temporally prior to the current frame stored in the first resolution video sequence storage unit are superimposed on each other. The video rendering apparatus according to claim 1, wherein resolution video data is calculated.
The medium resolution video calculation means includes:
First acquisition means for acquiring the two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection included in the low-resolution video data of the current frame stored in the first resolution video sequence storage means;
The second-dimensional coordinate of the intersection and the two-dimensional motion vector of the intersection included in the low-resolution video data of each frame that is temporally different from the current frame stored in the first resolution video sequence storage means are acquired. 2 acquisition means;
Selecting means for selecting a motion indicating a return to the current frame from the two-dimensional motion vectors acquired by the second acquiring means;
5. An adding means for adding low resolution video data corresponding to the selected two-dimensional motion vector and low resolution video data of the current frame. The video drawing device according to any one of the above.
The high-resolution image calculation means includes
Pixel selection means for selecting a plurality of pixels according to the presented high resolution video data;
First intersection selection for selecting a plurality of first intersections included in an area of a certain size centered on a pixel from the intersections included in the calculated medium resolution video data for each pixel Means,
A second intersection selection means for selecting a second intersection included in a frame different from the current one of the selected first intersections;
Third intersection selection means for selecting, for each of the selected second intersections, a third intersection included in the current frame in an area having a size determined according to the object, centered on each second intersection. When,
A comparing means for comparing the object ID of the second intersection with the object ID of the third intersection;
An exclusion means for excluding the second intersection from the medium resolution video data when the object ID of the second intersection is different from the object ID of the third intersection by the comparing means;
The calculation means for calculating color values of the plurality of pixels based on intersections that are not excluded among the intersections included in the medium resolution video data. Item 6. The video drawing device according to any one of Items 5 to 6.
In a video rendering apparatus comprising a three-dimensional data processing unit and a two-dimensional data processing unit,
The three-dimensional data processing unit
The calculated two-dimensional coordinates of the intersection point and the two-dimensional motion vector of the intersection point, the calculated color value of the intersection point, and the assigned object ID of the intersection point are collectively displayed in a low resolution. First resolution video sequence storage means for storing video data,
The two-dimensional data processing unit
Measuring means for measuring the amount of data flowing between the three-dimensional data processing unit and the previous two-dimensional data processing unit;
8. The image drawing apparatus according to claim 7, further comprising a control unit that controls the number of intersection points calculated by the intersection point coordinate calculation unit according to the measured data amount.
Measuring means for measuring the bandwidth of the low-resolution video sequence storage unit;
The control unit according to any one of claims 1 to 7, further comprising a control unit that controls the number of intersection points calculated by the intersection point coordinate calculation unit according to the bandwidth. Video drawing device.
An interactive evaluation means for evaluating the high level of interactivity required for the image drawn in the current frame;
8. The apparatus according to claim 1, further comprising a control unit that controls the number of intersection points calculated by the intersection point coordinate calculation unit according to the level of the interactive property. The video drawing apparatus according to Item 1.
A measuring means for measuring power consumption in the current frame;
The control unit according to any one of claims 1 to 7, further comprising a control unit that controls the number of intersection points calculated by the intersection point coordinate calculation unit according to the measured power consumption. The video drawing apparatus according to Item 1.
Using the CG data coordinate-converted to the camera coordinate system, which is the coordinate system seen from the viewpoint, the line-of-sight vector passing through the sampling points sampled from the pixels of the displayed image plane and the object in the image The two-dimensional coordinates of the intersection and the two-dimensional motion vector of the intersection obtained by projecting the three-dimensional coordinates and the three-dimensional motion vector in the three-dimensional coordinates of the intersection onto the projection plane; and the color value of the intersection in the three-dimensional coordinates of the intersection; First resolution video sequence storage in which the object IDs of the intersections assigned to the object IDs of the intersections, which are different for each object in the three-dimensional coordinates of the intersections, are collectively stored as low resolution video data in units of frames. Means,
The low-resolution video data of the current frame stored in the first resolution video sequence storage means and a plurality of frames that are temporally different from the current frame stored in the first resolution video sequence storage means. Medium resolution video calculation means for calculating medium resolution video data by superimposing low resolution video data;
A plurality of the three-dimensional data processing units according to claim 7, each of the three-dimensional data processing units performing processing on a frame different from other three-dimensional data processing units,
8. A video rendering apparatus comprising the single two-dimensional data processing unit according to claim 7, wherein the two-dimensional data processing unit receives low-resolution video data from each of the three-dimensional data processing units.
A plurality of three-dimensional data processing units according to claim 7, wherein each of the three-dimensional data processing units is a plurality of video blocks that are a plurality of regions obtained by dividing a video of the same frame in an arbitrary shape. Processes video blocks that are different from other 3D data processing units,
Low resolution video block combination that receives low resolution video data for each video block from each of the three-dimensional data processing units, combines the low resolution video data for each frame, and collects the low resolution video data in units of frames Having means,
8. A video rendering apparatus comprising the single two-dimensional data processing unit according to claim 7, wherein the two-dimensional data processing unit receives low-resolution video data from the low-resolution video block coupling unit.
A three-dimensional data processing unit according to claim 7,
8. A video drawing apparatus comprising a plurality of two-dimensional data processing units according to claim 7, wherein each of the two-dimensional data processing units performs processing on a frame different from that of other two-dimensional data processing units.
A single three-dimensional data processing unit according to claim 7,
Low-resolution video block dividing means for dividing the calculated low-resolution video data into a plurality of video blocks that are a plurality of regions obtained by dividing the video of the same frame in an arbitrary shape;
A plurality of the two-dimensional data processing units according to claim 7, each of the two-dimensional data processing units performing processing on a video block different from other two-dimensional data processing units,
A video rendering apparatus, comprising: high-resolution video block combining means for combining video blocks of the high-resolution video data calculated by each of the two-dimensional data processing units.
A plurality of the two-dimensional data processing units according to claim 7, wherein each of the two-dimensional data processing units is connected to each of the three-dimensional data processing units on a one-to-one basis, A video rendering apparatus characterized by receiving low-resolution video data for each frame.
A plurality of three-dimensional data processing units according to claim 7, wherein each of the three-dimensional data processing units includes a plurality of video blocks that are a plurality of regions obtained by dividing a video of the same frame in an arbitrary shape. Processes video blocks that are different from other 3D data processing units,
A plurality of the two-dimensional data processing units according to claim 7, wherein each of the two-dimensional data processing units is connected to each of the three-dimensional data processing units in a one-to-one relationship from each of the three-dimensional data processing units. Accepts low-resolution video data for each video block,
A video rendering apparatus, comprising: a high-resolution video block combining unit that combines video blocks of high-resolution video data calculated by each of the two-dimensional data processing units.
8. A plurality of two-dimensional data processing units according to claim 7, wherein each of the two-dimensional data processing units selects a three-dimensional data processing unit from among the plurality of three-dimensional data processing units, and the selection is performed. A video rendering apparatus that receives low-resolution video data for each frame from the three-dimensional data processing unit.
Low-resolution video block distribution means for receiving low-resolution video data for each video block from each of the three-dimensional data processing units, and reconstructing low-resolution video data by dividing each frame into video blocks of an arbitrary size;
A plurality of two-dimensional data processing units according to claim 7, wherein each of the two-dimensional data processing units accepts low-resolution video data of a video block having a size corresponding to the load of each two-dimensional data processing unit,
CG data storage means for storing CG data including data relating to coordinate transformation, data relating to cameras, data relating to geometry, data relating to light sources, data relating to textures,
The coordinate system of the CG data is transformed into a camera coordinate system which is a coordinate system viewed from the viewpoint;
Using the coordinate-converted CG data, calculating a three-dimensional coordinate of an intersection of a line-of-sight vector passing through a sampling point sampled from a pixel of a displayed image plane and an object in the image;
Calculating the calculated three-dimensional motion vector in the three-dimensional coordinates of the intersection using the coordinate-converted CG data;
Using the coordinate-converted CG data, calculate the calculated color value at the three-dimensional coordinates of the intersection,
Using the coordinate-converted CG data, assigning an object ID of the intersection that is different for each object in the calculated three-dimensional coordinates of the intersection,
Using the coordinate-converted CG data, the calculated three-dimensional coordinates of the intersection and the calculated three-dimensional motion vector of the intersection are projected onto a projection plane, and the two-dimensional coordinates of the intersection and the intersection Calculate a two-dimensional motion vector,
The calculated two-dimensional coordinates of the intersection point and the two-dimensional motion vector of the intersection point, the calculated color value of the intersection point, and the assigned object ID of the intersection point are collectively displayed in a low resolution. First resolution video sequence storage means for storing video data is prepared,
The low resolution video data of the current frame stored in the first resolution video sequence storage means and the low resolution of a plurality of frames temporally different from the current frame stored in the first resolution video sequence storage means Overlay the video data to calculate the medium resolution video data,
Filtering the calculated medium resolution video data to calculate high resolution video data;
Preparing high-resolution video storage means for storing the calculated high-resolution video data in units of frames;
A video rendering method, characterized by presenting the high resolution video data.
A video drawing program for functioning as a presentation means for presenting the high-resolution video data.
JP2005251512A 2005-08-31 2005-08-31 Apparatus, method and program for drawing image Abandoned JP2007066012A (en)
US11/387,791 US7420559B2 (en) 2005-08-31 2006-03-24 Video rendering apparatus and method and program
KR1020060054463A KR100816929B1 (en) 2005-08-31 2006-06-16 Video rendering apparatus and method and computer readable medium storing a video rendering program
CN 200610126481 CN1924931A (en) 2005-08-31 2006-08-31 Video rendering apparatus and method
US12/184,893 US20090016429A1 (en) 2005-08-31 2008-08-01 Video rendering apparatus and method and program
JP2007066012A true JP2007066012A (en) 2007-03-15
JP2005251512A Abandoned JP2007066012A (en) 2005-08-31 2005-08-31 Apparatus, method and program for drawing image
CN102543040B (en) * 2008-12-15 2014-10-15 富士通株式会社 Convex polygon interpolation method and system for graphic raster scanning
CN102763421B (en) * 2010-02-15 2015-08-26 汤姆森许可贸易公司 The apparatus and method of process video content
KR20160072532A (en) 2014-12-15 2016-06-23 삼성전자주식회사 Image processing apparatus and method
CN106709945B (en) * 2017-01-09 2018-03-06 方玉明 A kind of quality evaluating method for super-resolution image
2005-08-31 JP JP2005251512A patent/JP2007066012A/en not_active Abandoned
2006-03-24 US US11/387,791 patent/US7420559B2/en not_active Expired - Fee Related
2006-06-16 KR KR1020060054463A patent/KR100816929B1/en not_active IP Right Cessation
2006-08-31 CN CN 200610126481 patent/CN1924931A/en not_active IP Right Cessation
2008-08-01 US US12/184,893 patent/US20090016429A1/en not_active Abandoned
JPWO2015166684A1 (en) * 2014-04-30 2017-04-20 ソニー株式会社 Image processing apparatus and image processing method
US10229483B2 (en) 2014-04-30 2019-03-12 Sony Corporation Image processing apparatus and image processing method for setting an illumination environment
US7420559B2 (en) 2008-09-02
US20070046666A1 (en) 2007-03-01
KR20070025965A (en) 2007-03-08
US20090016429A1 (en) 2009-01-15
CN1924931A (en) 2007-03-07
KR100816929B1 (en) 2008-03-27
US20170094262A1 (en) 2017-03-30 Method, system and apparatus for generation and playback of virtual reality multimedia
US9659400B2 (en) 2017-05-23 Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices