GENERATION APPARATUS, GENERATION METHOD, AND STORAGE MEDIUM
20220394230 · 2022-12-08
Inventors
Cpc classification
H04N1/2125
ELECTRICITY
H04N1/00204
ELECTRICITY
H04N13/282
ELECTRICITY
H04N13/189
ELECTRICITY
H04N1/32128
ELECTRICITY
H04N1/32101
ELECTRICITY
International classification
H04N13/189
ELECTRICITY
G06F16/11
PHYSICS
Abstract
A generation apparatus according to the present invention is a generation apparatus for generating a media file storing virtual viewpoint image data generated based on pieces of image data of an object captured from a plurality of directions with a plurality of cameras, and obtains a virtual viewpoint parameter to be used to generate virtual viewpoint image data. Further, the generation apparatus generates a media file storing the obtained virtual viewpoint parameter and virtual viewpoint image data generated based on the virtual viewpoint parameter. In this way, the generation apparatus can improve usability related to a virtual viewpoint image.
Claims
1-12. (canceled)
13. A generation apparatus comprising: one or more memories storing instructions; and one or more processors executing the instructions to: specify a plurality of sets of virtual viewpoint parameters, the virtual viewpoint parameters including a parameter representing a position of a virtual viewpoint and a parameter representing a direction from a virtual viewpoint, and being used to for generating virtual viewpoint image data generated based on image data obtained based on image capturing by a plurality of imaging devices; and generate a file including information for specifying the plurality of sets of virtual viewpoint parameters and virtual viewpoint image data generated using the plurality of sets of virtual viewpoint parameters, each of sets of virtual viewpoint parameters corresponding to one of frames included in the virtual viewpoint image data, and a set of virtual viewpoint parameters including a parameter for specifying one of the frames included in the virtual viewpoint image data.
14. The generation apparatus according to claim 13, wherein the parameter representing the position of the virtual viewpoint corresponds to the one of the frames included in the virtual viewpoint image data, and the parameter representing the direction from the virtual viewpoint corresponds to the one of the frames included in the virtual viewpoint image data.
15. The generation apparatus according to claim 13, wherein the file is a file in a still image format, and the information for specifying the plurality of sets of virtual viewpoint parameters is included in a metadata area in the file.
16. The generation apparatus according to claim 15, wherein the still image format is Exif, and the information for specifying the plurality of sets of virtual viewpoint parameters is included in an IFD area defined in an Exif standard inside the metadata area in the file.
17. The generation apparatus according to claim 15, wherein the still image format is Exif, and the plurality of sets of virtual viewpoint parameters obtained by the obtaining unit is stored in an APPn marker segment not defined in an Exif standard inside the metadata area in the media file.
18. The generation apparatus according to claim 13, wherein the file is a file in a moving image format, and the virtual viewpoint image data and the information for specifying the plurality of sets of virtual viewpoint parameters are included in the file in a chronological order of the frames.
19. The generation apparatus according to claim 13, wherein the file is a file in a moving image format, and the moving image format is Ogg Vorbis.
20. The generation apparatus according to claim 18, wherein the moving image format is Ogg Vorbis.
21. The generation apparatus according to claim 13, wherein the set of virtual viewpoint parameters further includes a parameter representing a viewing angle of the virtual viewpoint.
22. The generation apparatus according to claim 13, wherein a virtual viewpoint image displayed on a display screen based on the file includes a figure representing a trajectory of the virtual viewpoint corresponding to the virtual viewpoint parameter in the file.
23. The generation apparatus according to claim 13, wherein the parameter for specifying the one of the frames included in the virtual viewpoint image data is a flame number of the one of the frames included in the virtual viewpoint image data.
24. The generation apparatus according to claim 13, wherein the parameter for specifying the one of the frames included in the virtual viewpoint image data is a time code of the one of the frames included in the virtual viewpoint image data.
25. A generation method comprising: specifying a plurality of sets of virtual viewpoint parameters, the virtual viewpoint parameters including a parameter representing a position of a virtual viewpoint and a parameter representing a direction from a virtual viewpoint, and being used for generating virtual viewpoint image data generated based on image data obtained based on image capturing by a plurality of imaging devices; and generating a file including information for specifying the plurality of sets of virtual viewpoint parameters and virtual viewpoint image data generated using the plurality of sets of virtual viewpoint parameters, each of sets of virtual viewpoint parameters corresponding to one of frames included in the virtual viewpoint image data, and a set of virtual viewpoint parameters including a parameter for specifying one of the frames included in the virtual viewpoint image data.
26. A non-transitory computer readable storage medium storing a program which causes a computer to perform a generation method, the generation method comprising: specifying a plurality of sets of virtual viewpoint parameters, the virtual viewpoint parameters including a parameter representing a position of a virtual viewpoint and a parameter representing a direction from a virtual viewpoint, and being used for generating virtual viewpoint image data generated based on image data obtained based on image capturing by a plurality of imaging devices; and generating a file including information for specifying the plurality of sets of virtual viewpoint parameters and virtual viewpoint image data generated using the plurality of sets of virtual viewpoint parameters, each of sets of virtual viewpoint parameters corresponding to one of frames included in the virtual viewpoint image data, and a set of virtual viewpoint parameters including a parameter for specifying one of the frames included in the virtual viewpoint image data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DESCRIPTION OF THE EMBODIMENTS
[0017] An embodiment of the present invention will be described below in detail. Note that the components described in the following embodiment merely represent exemplary modes of the present invention and do not limit the scope of the present invention only to those.
First Embodiment
[0018] First, a configuration of an image processing system in a first embodiment will be described.
[0019] As shown in
[0020] The image capturing time designation unit 101 designates an image capturing time for the image data obtaining unit 103. The image capturing time may be an absolute time or a relative time based on the image capturing starting time as 0. Note that the representation format of the relative time may be a general standard timecode or one similar to it.
[0021] The virtual viewpoint parameter designation unit 102 designates a virtual viewpoint parameter for the virtual viewpoint image generation unit 104. In the present embodiment, the virtual viewpoint parameter includes one or more parameters among direction information indicating a direction from a virtual viewpoint, position information indicating a position of a virtual viewpoint, and angle information indicating a viewing angle of a virtual viewpoint.
[0022] From the multi-viewpoint image data 120, the image data obtaining unit 103 obtains the image data at the image capturing time designated by the image capturing time designation unit 101. Here, the multi-viewpoint image data 120 may be image data generated directly by the plurality of cameras (not shown) or image data stored in a computer (not shown).
[0023] Using the image data obtained by the image data obtaining unit 103, the virtual viewpoint image generation unit 104 generates virtual viewpoint image data according to the virtual viewpoint parameter designated by the virtual viewpoint parameter designation unit 102. The method of generating the virtual viewpoint image data is not particularly limited. For example, a method may be used which involves constructing a three-dimensional model of a subject (object) and mapping image data.
[0024] The virtual viewpoint parameter assignment unit 105 assigns the virtual viewpoint parameter designated by the virtual viewpoint parameter designation unit 102 to the virtual viewpoint image data generated by the virtual viewpoint image generation unit 104 to thereby generate the second virtual viewpoint image data 130, and outputs it. The second virtual viewpoint image data 130 may be a one-frame still image, image data with one or more frames of still images, or image data of a moving image.
[0025] In the present embodiment, the image capturing time information and the virtual viewpoint parameter to be used to generate the virtual viewpoint image data are obtained from the virtual viewpoint manipulation unit 110 outside the image processing apparatus 100. However, either or both of the image capturing time information and the virtual viewpoint parameter to be used to generate the virtual viewpoint image data may be held in the image processing apparatus 100 in advance, or these pieces of information may be generated automatically. Note that a possible example of the virtual viewpoint manipulation unit 110 may be an apparatus that displays, on a user interface window, the direction of the view of the user in a target virtual space in which the user is assumed to be present, as with various three-dimensional simulators and three-dimensional video games. With such a configuration, the user can input a desired virtual viewpoint into the virtual viewpoint manipulation unit 110 by operating a joy stick or the like so as to freely move in the virtual space or face a direction in which the user wishes to look in the virtual space. Meanwhile, the image processing apparatus 100 and the virtual viewpoint manipulation unit 110 are connected via an external interface. Note that Ethernet (registered trademark) is used in the present embodiment as the interface for the connection between the image processing apparatus 100 and the virtual viewpoint manipulation unit 110, but USB or the like, or another interface may be used. Also, the image processing apparatus 100 and the virtual viewpoint manipulation unit 110 may be housed in the same housing. In this case, the image processing apparatus 100 and the virtual viewpoint manipulation unit 110 are connected by an internal bus inside the computer.
[0026] Next, a data structure of the second virtual viewpoint image data 130 will be schematically described.
[0027] The virtual viewpoint parameter 211 contains one or more parameters among an orientation parameter 221, a position parameter 222, and a viewing angle parameter 223. Here, the virtual viewpoint parameter 211 will be described. The orientation parameter 221 of the virtual viewpoint parameter 211 is a parameter indicating the orientation of the virtual camera. In the present embodiment, the orientation of the virtual camera is represented with a quaternion. The quaternion is represented by the following equation (1).
[Math. 1]
Q=(0; x, y, z) (1)
[0028] In the equation (1), the left side of the semicolon represents a real part, and x, y, and z represent an imaginary part. By using the quaternion representation, any rotation about any direction can be easily represented. Specifically, the procedure is as follows.
[0029] First, a point P desired to be rotated is represented with the following equation (2).
[Math. 2]
P=(0; xp, yp, zp)=(0; Vp) (2)
[0030] Then, let a vector representing the direction of the rotation axis be represented as v=(xv, yv, zv) and let the desired angle of rotation be represented as θ. From this vector v, two quaternions Q and R are derived using the following equations (3) and (4). Note that the vector v is normalized.
[Math. 3]
Q=(cos(θ/2); xv*sin(θ/2), yv*sin(θ/2), zv*sin (θ/2)) (3)
[Math. 4]
R=(cos(θ/2); −xv*sin(θ/2), −yv*sin(θ/2), −zv*sin(θ/2)) (4)
[0031] Lastly, an arithmetic operation as described in the following equation (5) is executed.
[Math. 5]
R*P*Q=(0; x,y,z) (5)
[0032] As a result, a point rotated from the point P by θ around an axis oriented in the vector v is obtained as coordinates (x, y, z). Note that the representation method for the orientation parameter 221 is not limited to this, and the orientation parameter 221 may be represented by means of a rotation matrix, for example.
[0033] The position parameter 222 is a parameter indicating the position of the virtual camera. It is three-dimensional coordinates (x, y, z) in a world coordinate system with an origin at (0, 0, 0). Thus, in the present embodiment, the position parameter 222 is expressed as a three-dimensional vector.
[0034] The viewing angle parameter 223 is the horizontal viewing angle of the virtual viewpoint. Note that the representation method for the horizontal viewing angle is not limited. For example, it may be represented as an angle in the range of 0 degree to 180 degrees or represented as the focal length of a 35-mm film camera with a 50 mm as a reference focal length. Also, the value of the horizontal viewing angle may be represented using an integer or a floating point number. Also, the aspect ratio of the window may be the viewing angle parameter. In this case, the aspect ratio may be represented as a value, or a predefined aspect ratio such as 4:3 or 16:9 may be assigned a code and represented with the code.
[0035]
[0036]
[0037]
[0038] As described above, the second virtual viewpoint image data can be generated by additionally defining an area to store the virtual viewpoint parameter 211 in Exif, which is an existing still image file format (hereinafter simply referred to as the still image format). Note that in the above example, Exif has been described as an example of the still image format, but the format is not limited to this. The format may be another standard file format or an original format. Also, the values and representations of the parameters are not limited to the above.
[0039] Here, the processing by the image processing apparatus 100 will be described using
[0040] In step S501, the image capturing time designation unit 101 designates an image capturing time for the image data obtaining unit 103. More specifically, the image capturing time designation unit 101 passes image capturing time information inputted from the virtual viewpoint manipulation unit 110 (hereinafter simply referred to as the time information) to the image data obtaining unit 103. In S502, the virtual viewpoint parameter designation unit 102 designates a virtual viewpoint parameter for the virtual viewpoint image generation unit 104. More specifically, the virtual viewpoint parameter designation unit 102 passes a virtual viewpoint parameter inputted from the virtual viewpoint manipulation unit 110 to the virtual viewpoint image generation unit 104. In S503, the image data obtaining unit 103 obtains, from the multi-viewpoint image data 120, the image data having the image capturing time information indicating the image capturing time designated by the image capturing time designation unit 101. In S504, based on the image data obtained by the image data obtaining unit 103, the virtual viewpoint image generation unit 104 generates virtual viewpoint image data according to the virtual viewpoint parameter designated by the virtual viewpoint parameter designation unit 102. In S505, the virtual viewpoint parameter assignment unit 105 assigns the virtual viewpoint parameter designated by the virtual viewpoint parameter designation unit 102 to the virtual viewpoint image data generated by the virtual viewpoint image generation unit 104 to thereby generate second virtual viewpoint image data. In S506, the virtual viewpoint parameter assignment unit 105 outputs the generated second virtual viewpoint image data.
[0041] Note that the above description, a case where a virtual viewpoint parameter is assigned to virtual viewpoint image data in a still image format has been taken as an example. However, virtual viewpoint parameters can be assigned to virtual viewpoint image data in a moving image file format (hereinafter simply referred to as a moving image format) by, for example, repeating the processes of S501 to S506 as many times as the number of frames in the virtual viewpoint image data desired to be generated. Cases of assigning virtual viewpoint parameters to virtual viewpoint image data in a moving image format will be described below.
[0042]
[0043]
[0044]
[0045] Further, the present embodiment is applicable not only to still image formats and moving image formats but also to, for example, formats capable of storing an image sequence such as ISO/IEC 23008-12 (so-called HEIF).
[0046]
[0047]
[0048] As described above, the image processing apparatus 100 in the present embodiment assigns a virtual viewpoint parameter(s) to generated virtual viewpoint image data to generate second virtual viewpoint image data. This makes it possible to obtain information on the virtual viewpoint from the virtual viewpoint image data in a simple and easy manner. Thus, according to the present embodiment, it is possible to easily identify a desired piece of virtual viewpoint image data from among a plurality of pieces of virtual viewpoint image data. Also, as shown in
[0049] Meanwhile, a case where information indicating a virtual viewpoint's position, orientation, and viewing angle is stored as a virtual viewpoint parameter has been taken as an example in the present embodiment. However, in place of the above parameter or in addition to the above parameter, other information may be stored as a virtual viewpoint parameter. For example, identification information (such as a user name) of the user who set the virtual viewpoint, the date and time when the virtual viewpoint was set, the date and time when the virtual viewpoint image data was generated, and/or the like may be stored. Also, for example, information on the codec of the virtual viewpoint image data, information on the distance of movement of the virtual viewpoint, and/or information on the playback time of the virtual viewpoint image data may be stored. Moreover, for example, information on restrictions on playback of the virtual viewpoint image data (such as identification information of users allowed to play back the virtual viewpoint image data, and the number of times the virtual viewpoint image data is allowed to be played back) may be stored.
[0050] Also, the usage of virtual viewpoint parameters is not limited to the above methods. Specifically, the usage is not limited to visualization of the virtual viewpoint parameters, search for a piece of virtual viewpoint image data, and grouping of pieces of virtual viewpoint image data. The usage may also include, for example, selection of a recommended content, sorting of a content list, and checking of individual files (e.g., referring with a property in a case where the user wishes to remember when the virtual viewpoint was set).
[0051] Also, in the present embodiment, virtual viewpoint parameters are included and described in a single piece of data or a single file, but the present embodiment is not limited to this. For example, the virtual viewpoint parameters of pieces of virtual viewpoint image data may be managed in separate files associated respectively with the pieces of virtual viewpoint image data.
[0052] Further, an apparatus that assigns a virtual viewpoint parameter to a piece of virtual viewpoint image data at the time of generating it has been taken as an example in the present embodiment. However, a piece of virtual viewpoint image data may be generated and a virtual viewpoint parameter may separately be assigned to it thereafter. For example, it is possible to perform control so as to generate a virtual viewpoint parameter using a record of the position and orientation of the virtual camera manipulated by the user at the time of generating a piece of virtual viewpoint image data, and assign the virtual viewpoint parameter to the piece of virtual viewpoint image data.
[0053] According to the present invention, it is possible to improve usability related to virtual viewpoint images.
Other Embodiments
[0054] Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
[0055] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.