WO2024014197A1 - 映像処理装置、映像処理方法およびプログラム - Google Patents

映像処理装置、映像処理方法およびプログラム Download PDF

Info

Publication number
WO2024014197A1
WO2024014197A1 PCT/JP2023/021294 JP2023021294W WO2024014197A1 WO 2024014197 A1 WO2024014197 A1 WO 2024014197A1 JP 2023021294 W JP2023021294 W JP 2023021294W WO 2024014197 A1 WO2024014197 A1 WO 2024014197A1
Authority
WO
WIPO (PCT)
Prior art keywords
subject
skeleton
video processing
data
processing device
Prior art date
Application number
PCT/JP2023/021294
Other languages
English (en)
French (fr)
Inventor
哲也 菊川
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024014197A1 publication Critical patent/WO2024014197A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs

Definitions

  • the present disclosure relates to a video processing device, a video processing method, and a program.
  • a 3D object is generated in the viewing space using information obtained by sensing a real 3D space, for example, a multi-view image of a subject taken from different viewpoints, and the object is displayed as if it were present in the viewing space.
  • a method for generating visible images (volumetric images) has been proposed.
  • the 3D shape of a subject is determined based on a depth map representing the distance from the camera to the surface of the subject.
  • a 3D shape of a subject can be generated with high precision.
  • the 3D shape of the object generated by volumetric technology is based on images obtained from multi-view cameras, it may be difficult to utilize it. For example, if there is some kind of error in the 3D shape, it is necessary to manually correct images for the number of multi-view cameras, resulting in a very heavy workload. Further, since it takes time and effort to photograph and generate, a large amount of effort is expended even if, for example, only a part of the scene of the generated 3D shape is re-photographed. For this reason, the current situation is that it is not easy to utilize volumetric videos that include the 3D shape of a subject.
  • the present disclosure proposes a video processing device, a video processing method, and a program that can easily utilize the 3D shape of a subject.
  • an image processing device includes an estimation unit that estimates a 3D skeleton of a subject based on multi-view images of the subject from a plurality of viewpoints; an applying unit that applies the 3D skeleton of the subject estimated by the unit to the subject that is included in another image different from the multi-view image and that is separated from a background in the image; and a generation unit that generates 3D data of a subject to which a 3D skeleton is applied by the unit.
  • FIG. 2 is a diagram showing an overview of the flow of processing for generating a 3D model of a subject.
  • FIG. 3 is a diagram illustrating a method of estimating a subject's skeleton.
  • FIG. 3 is a diagram illustrating a process of estimating a 3D skeleton of a subject.
  • 1 is a hardware block diagram showing an example of a hardware configuration of a video processing device according to an embodiment.
  • FIG. 3 is a flowchart illustrating an example of the flow of volumetric video generation processing.
  • FIG. 1 is a diagram (1) for explaining video processing according to an embodiment.
  • FIG. 2 is a diagram (2) for explaining video processing according to the embodiment.
  • FIG. 3 is a diagram (3) for explaining video processing according to the embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a video processing device according to an embodiment.
  • FIG. 2 is a diagram (1) showing a first specific example of video processing according to the embodiment.
  • FIG. 2 is a diagram (2) showing a first specific example of video processing according to the embodiment.
  • FIG. 3 is a diagram (3) showing a first specific example of video processing according to the embodiment.
  • 3 is a flowchart showing a procedure of video processing according to the embodiment.
  • 5 is a flowchart showing the flow of data in video processing according to the embodiment.
  • FIG. 3 is a diagram (1) showing a second specific example of video processing according to the embodiment.
  • FIG. 7 is a diagram (2) showing a second specific example of video processing according to the embodiment.
  • FIG. 3 is a diagram (3) showing a second specific example of video processing according to the embodiment.
  • 7 is a flowchart showing a procedure in a second specific example of video processing according to the embodiment.
  • 7 is a flowchart showing the flow of data in a second specific example of video processing according to the embodiment.
  • Embodiments of the present disclosure 1-1. Explanation of assumptions - Generation of 3D model 1-2. Explanation of assumptions - Volumetric image generation 1-3. Explanation of assumptions - Skeletal estimation 1-4. Explanation of assumptions - Estimation of 3D skeleton 1-5. Explanation of assumptions - Hardware configuration of video processing device 1-6. Explanation of assumptions - An example of the flow of video processing 1-7. Overview of video processing according to embodiment 1-8. Configuration of video processing device according to embodiment 1-9. Video processing procedure according to embodiment 1-10. Data flow in video processing according to embodiment 1-11. Second specific example of video processing according to embodiment 1-12.
  • Video processing procedure according to second specific example of embodiment 1-13. Data flow in video processing according to second specific example of embodiment 2.
  • FIG. 1 is a diagram showing an overview of the flow of processing for generating a 3D model of a subject.
  • the 3D model 90M of the subject 90 is created by capturing images of the subject 90 using a plurality of cameras 70 (camera 70a, camera 70b, camera 70c) and by 3D modeling. This is done through the process of generating.
  • the plurality of cameras 70 are arranged outside the subject 90 and facing toward the subject 90 so as to surround the subject 90 existing in the real world.
  • FIG. 1 shows an example in which the number of cameras is three, and a camera 70a, a camera 70b, and a camera 70c are each arranged around a subject 90.
  • the number of cameras 70 is not limited to three, and a larger number of cameras may be provided.
  • camera parameters 71a, camera parameters 71b, and camera parameters 71c of the cameras 70a, 70b, and 70c are obtained in advance by performing calibration.
  • Camera parameters 71a, camera parameters 71b, and camera parameters 71c include internal parameters and external parameters of camera 70a, camera 70b, and camera 70c.
  • the plurality of cameras 70 may acquire depth information indicating the distance to the subject 90.
  • 3D modeling of the subject 90 is performed using multi-view images I captured synchronously by three cameras 70a, 70b, and 70c from different viewpoints.
  • the multi-view image I includes a two-dimensional image Ia captured by the camera 70a, a two-dimensional image Ib captured by the camera 70b, and a two-dimensional image Ic captured by the camera 70c.
  • a 3D model 90M of the subject 90 is generated for each frame of images captured by the three cameras 70a, 70b, and 70c.
  • the 3D model 90M is generated, for example, by the method described in Patent Document 1. Specifically, the 3D model 90M of the subject 90 is created by using Visual Hull to carve out the three-dimensional shape of the subject 90 using images from multiple viewpoints (for example, silhouette images from multiple viewpoints). generate.
  • the 3D model 90M expresses shape information representing the surface shape of the subject 90 using, for example, polygon mesh data M expressed by connections between vertices (vertices) and vertices.
  • the polygon mesh data M includes, for example, three-dimensional coordinates of the vertices of the mesh and index information indicating which vertices are combined to form a triangular mesh.
  • the method of expressing the 3D model is not limited to these, and may be described using a so-called point cloud expression method that is expressed using position information of points.
  • color information data representing the color of the subject 90 is generated as texture data T in a form linked to these 3D shape data.
  • Texture data includes a View Independent texture, which has a constant color no matter what direction it is viewed from, and a View Dependent texture, whose color changes depending on the viewing direction.
  • the generated 3D model 90M is often used on a computer different from the computer that generated the 3D model 90M, it is compressed (encoded) into a format suitable for transmission and storage.
  • the compressed 3D model 90M is then sent to a computer that uses the 3D model 90M.
  • the computer that receives the transmitted 3D model 90M decompresses (decodes) the compressed 3D model 90M. Then, the computer uses the polygon mesh data M and texture data T of the decompressed 3D model 90M to generate an image (volumetric image) in which the subject 90 is observed from an arbitrary viewpoint.
  • texture mapping is performed by projecting the polygon mesh data M of the 3D model 90M to an arbitrary camera viewpoint and pasting texture data T representing colors and patterns onto the projected polygon mesh data M.
  • the generated image is displayed on a display device 80 placed in the user's viewing environment.
  • the display device 80 is, for example, a head-mounted display, a spatial display, a mobile phone (smartphone), a television, a PC, or the like.
  • a 3D representation of a subject is referred to as a volumetric image, but such a volumetric image may be read as 3D data for expressing the subject.
  • FIG. 2 is a diagram illustrating a method for estimating the skeleton of the subject 90. Note that the 2D skeleton 82 represents the posture of the subject 90.
  • the 2D skeleton 82 is generated, for example, by the method described in Patent Document 2. Specifically, the video processing device 100 creates a database of silhouette images of people and segments representing the torso and limbs generated from the silhouette images. Then, the video processing device 100 estimates the shape of the skeleton, the positions of the joints, the positions of the fingers, feet, face, etc. by comparing the captured image with the database.
  • the 2D skeleton 82 includes bones 82a, joints 82b, a head 82c, fingers 82d, and toes 82e.
  • the bones 82a are links that connect mutually connected structures (joints 82b, head 82c, fingers 82d, and toes 82e).
  • Joint 82b is a connection point between two different bones 82a.
  • Head 82c indicates a position corresponding to the head of subject 90.
  • the fingertips 82d and the toes 82e indicate positions corresponding to the fingertips and toes of the subject 90.
  • FIG. 3 is a diagram illustrating a process for estimating a 3D skeleton of a subject.
  • the video processing device 100 calculates a 3D skeleton 83 of the subject 90 based on the 2D skeleton 82 estimated by the above method from the images of the subject 90 captured in each of the two-dimensional image Ia, the two-dimensional image Ib, and the two-dimensional image Ic. presume.
  • the video processing device 100 processes any two images among the two-dimensional image Ia, the two-dimensional image Ib, and the two-dimensional image Ic, for example, the two-dimensional image Ia and the two-dimensional image Ic.
  • the 3D skeleton 83 of the subject 90 is estimated from the position of the 2D skeleton 82 of the subject 90 in the dimensional image Ib. Since the installation position and optical axis direction of each camera are known through pre-calibration, once the coordinates of the same part in each image are known, the three-dimensional coordinates of the part can be calculated using the principle of triangulation. can be estimated.
  • the video processing device 100 extends a line segment connecting the point P1 indicating the hand 82d of the 2D skeleton 82 estimated from the two-dimensional image Ia and the optical center of the camera 70a. Furthermore, the video processing device 100 extends a line segment connecting the optical center of the camera 70b and the point P2 indicating the hand 82d of the 2D skeleton 82 estimated from the two-dimensional image Ib. The two extension lines intersect at point P3 in space. This point P3 represents the hand 83d of the 3D skeleton 83 of the subject 90.
  • the video processing device 100 performs similar processing on all corresponding joints of the 2D skeleton 82 estimated from the 2D image Ia and the 2D skeleton 82 estimated from the 2D image Ib, the head 82c, and the fingers 82d. , is performed for all end points indicating the toe 82e. Thereby, the video processing device 100 can estimate the 3D skeleton 83 of the subject 90.
  • the video processing device 100 performs the above processing on as many pairs of the plurality of cameras as possible. conduct. Thereby, the video processing device 100 estimates the 3D skeleton 83 of the subject 90 without exception. For example, in the case of the present embodiment, the video processing device 100 performs the above processing on each of the pair of cameras 70a and 70b, the pair of cameras 70a and 70c, and the pair of cameras 70b and 70c. desirable.
  • the video processing device 100 of this embodiment generates the 3D model 90M and the 2D skeleton 82 of the subject 90.
  • the video processing device 100 also estimates the 3D skeleton 83 of the subject 90.
  • the video processing device 100 transforms the posture of the 3D model 90M based on the operator's instructions. Note that the video processing device 100 is an example of a video processing device in the present disclosure.
  • FIG. 4 is a hardware block diagram showing an example of the hardware configuration of the video processing device according to the embodiment.
  • the CPU 21, ROM 22, and RAM 23 are interconnected via a bus 24.
  • An input/output interface 25 is also connected to the bus 24 .
  • An input device 26 , an output device 27 , a storage device 28 , a communication device 29 , and a drive device 30 are connected to the input/output interface 25 .
  • the input device 26 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output device 27 includes, for example, a display, a speaker, an output terminal, and the like.
  • the display device 80 described above is an example of the output device 27.
  • the storage device 28 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication device 29 includes, for example, a network interface.
  • the drive device 30 drives removable media such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 21 loads, for example, a program stored in the storage device 28 into the RAM 23 via the input/output interface 25 and the bus 24, and executes the program. Process.
  • the RAM 23 also appropriately stores data necessary for the CPU 21 to execute various processes.
  • a program executed by a computer can be applied by being recorded on a removable medium such as a package medium, for example.
  • the program can be installed in the storage device 28 via the input/output interface by attaching a removable medium to the drive device 30.
  • the program may also be provided via wired or wireless transmission media, such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication device 29 and installed in the storage device 28 .
  • FIG. 5 is a flowchart illustrating an example of the flow of volumetric video generation processing.
  • the video processing device 100 acquires image data for generating a 3D model of the subject (step S101).
  • the video processing device 100 generates a model having three-dimensional information of the subject based on image data for generating a 3D model of the subject (step S102).
  • the video processing device 100 encodes the shape and texture data of the generated 3D model into a format suitable for transmission and storage (step S103).
  • the video processing device 100 transmits the encoded data (step S104), and the computer receives the transmitted data (step S105).
  • the computer performs decoding processing and converts it into shape and texture data necessary for display.
  • the computer also performs rendering using the shape and texture data (step S106). Then, the computer (or the display device 80 that displays volumetric video) displays the rendered result (step S107).
  • the video processing device 100 that acquires and processes image data and the computer that generates the volumetric video may be the same device.
  • FIG. 6 is a diagram (1) for explaining video processing according to the embodiment.
  • the video processing device 100 photographs a subject with a multi-view camera, and generates a volumetric video 50 of the subject using the above-described underlying technology.
  • the subject included in the volumetric video 50 is 3D data, the user can view the subject from all angles during playback. That is, the video processing device 100 separates the subject from the background and generates the volumetric video 50, which is a video that can be viewed from various angles, using only the subject as a 3D model.
  • a volumetric video is generated based on multiple videos shot with a multi-view camera. Therefore, if you want to replace part of a volumetric video (for example, if you want to reshoot only the second half of a video of a dance scene), or if an error occurs in a part of the video, you can modify the video. difficult to do. Therefore, the video processing device 100 generates a volumetric video that can be flexibly edited by video processing according to the embodiment. Thereby, the video processing device 100 allows volumetric moving images to be easily utilized.
  • FIG. 7 is a diagram (2) for explaining video processing according to the embodiment.
  • the volumetric video 54 including the subject photographed by the multi-view camera has no errors or the like, and is a frame suitable for a volumetric video (hereinafter, such a frame is referred to as an "ideal" frame). (referred to as "Frame").
  • the video processing device 100 performs rigging on the subject included in the volumetric video 54. That is, the video processing device 100 generates skeleton data that is a 3D skeleton corresponding to a subject, as described in the above-mentioned basic technology, and embeds a rig for freely moving the skeleton data.
  • the video processing device 100 uses the rig to move the skeleton data along the frame.
  • the skeleton data video 56 shown in FIG. 7 is a video that uses skeleton data to show a subject walking.
  • the video processing device 100 can obtain a volumetric video based on the skeleton data.
  • the obtained volumetric video is, for example, similar to the volumetric video 50 shown in FIG. 6.
  • one static volumetric is displayed using skeleton data with sequential numbers.
  • the video processing device 100 can express a volumetric video using sequentially numbered skeleton data (the skeleton data video 56 in FIG. 7) and a rigged static volumetric (the volumetric video 54 in FIG. 7). shall be.
  • FIG. 8 is a diagram (3) for explaining video processing according to the embodiment.
  • a frame 200 shown in FIG. 8 is one frame of a volumetric image of a subject 201, and is an ideal frame.
  • the video processing apparatus 100 performs rigging on the frame 200 and generates a rig for moving the skeleton data of the subject 201.
  • the video processing device 100 acquires a predetermined frame 204 in which the subject 201 is performing another action (step S10).
  • Frame 204 is a target frame for which the video processing device 100 attempts to generate a volumetric video.
  • the video processing device 100 generates skeleton data 206 corresponding to the frame 204 using markerless motion capture, for example.
  • the video processing device 100 retargets the volumetric (3D data) frame 200 using the obtained skeleton data 206 (step S12). Specifically, the video processing device 100 uses the rig embedded in the volumetric to transform the volumetric into a shape corresponding to the skeleton data 206 (step S14).
  • a frame 212 shown in FIG. 8 is one frame of a volumetric image of the subject 201, and is a volumetric image generated from skeleton data in which an action corresponding to frame 204 is performed.
  • the video processing device 100 generates one rigged volumetric, obtains skeleton data corresponding to a frame that is not volumetric, and performs retargeting processing on a new volumetric corresponding to the frame.
  • the video processing device 100 can obtain a volumetric silhouette video (a video that can reproduce human movement in 3D) by reprojecting the deformed volumetric image onto a target camera.
  • the task of adding a rig to an ideal frame occurs, but the subsequent frames are transformed into volumetric images by deforming the subject based on skeleton data. can get.
  • the video processing according to the embodiment since it is not necessary to generate sequentially numbered volumetric videos for every frame, the amount of data to be processed can be reduced.
  • the video processing according to the embodiment does not require a special video processing system, it is possible to obtain a volumetric video without incurring any cost for system construction.
  • the video processing device 100 according to the embodiment can easily utilize volumetric videos.
  • FIG. 9 is a diagram illustrating a configuration example of the video processing device 100 according to the embodiment.
  • the video processing device 100 includes a communication section 110, a storage section 120, and a control section 130.
  • the video processing device 100 includes an input unit (for example, a keyboard, a touch display, etc.) that accepts various operations from an administrator or a user who manages the video processing device 100, and a display unit for displaying various information (for example, (liquid crystal display, etc.).
  • the communication unit 110 is realized by, for example, a NIC (Network Interface Card), a network interface controller, or the like.
  • the communication unit 110 is connected to the network N by wire or wirelessly, and transmits and receives information to and from computers, external devices, etc. via the network N.
  • the network N is realized by a wireless communication standard or method such as Bluetooth (registered trademark), the Internet, Wi-Fi (registered trademark), UWB (Ultra Wide Band), and LPWA (Low Power Wide Area).
  • the storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk.
  • a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory
  • a storage device such as a hard disk or an optical disk.
  • the storage unit 120 stores various information for performing video processing according to the embodiment.
  • the storage unit 120 stores programs such as applications that function in the video processing device 100 and various data (image data, etc.) used for processing.
  • the control unit 130 executes a program stored inside the video processing device 100 by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU, etc. using a RAM (Random Access Memory) or the like as a work area.
  • a CPU Central Processing Unit
  • MPU Micro Processing Unit
  • RAM Random Access Memory
  • the control unit 130 is a controller, and may be realized by, for example, an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the control unit 130 corresponds to, for example, the CPU 21 shown in FIG.
  • control unit 130 includes an acquisition unit 131, an estimation unit 132, an application unit 133, a generation unit 134, and an output unit 135.
  • the acquisition unit 131 acquires various information. For example, the acquisition unit 131 acquires image data from which 3D data such as volumetric data is generated. Specifically, the acquisition unit 131 acquires a plurality of image data captured by a number of cameras surrounding the subject. Note that in the following description, a plurality of image data obtained by photographing a subject from various angles at the same time may be referred to as a "frame.” For example, a one-second volumetric video includes 60 or 120 frames.
  • the estimation unit 132 estimates the 3D skeleton (skeleton data) of the subject based on multi-view images of the subject taken from multiple viewpoints. As described above, various known techniques may be used for this estimation process.
  • the estimation unit 132 estimates the 3D skeleton of the subject in a plurality of frames based on a plurality of continuously captured multi-view images.
  • the generation unit 134 which will be described later, generates a continuous volumetric image (volumetric video) as shown in FIG. 5 by generating a volumetric image from each piece of skeleton data estimated based on continuous frames. be able to.
  • the estimation unit 132 estimates the multi-view image corresponding to the second 3D data. Estimate the 3D skeleton of the object in the frame.
  • the application unit 133 which will be described later, applies the estimated 3D skeleton of the subject to the subject in the frame of the multi-view image corresponding to the second 3D data.
  • the generation unit 134 generates 3D data of the subject to which the 3D skeleton is applied, instead of the second 3D data. Such processing will be explained using FIG. 10.
  • FIG. 10 is a diagram (1) showing a first specific example of video processing according to the embodiment.
  • a frame 220 shown in FIG. 10 shows image data 222 obtained by photographing a person 221 as a subject, and a volumetric image 224 corresponding to the image data 222.
  • processing is performed to separate the subject and the background from the captured image.
  • processing is performed to separate the person 221 and the background from the image data 222.
  • the separation process is performed, for example, by background subtraction or panoramic background separation using machine learning. Through the separation process, a silhouette image of only the subject is generated from the image.
  • a problem may occur in the silhouette part, regardless of the processing method. That is, when a part of the silhouette part is determined to be the background, a problem may occur in which a hole is created in the volumetric shape that is generated as a result. In the example shown in FIG. 10, a part of the volumetric image 224 indicated by a region 226 is mistakenly recognized as the background, and a hole appears.
  • volumetric images are generated based on a large number of image data, such as those from 50 cameras, the work cost is extremely high.
  • FIG. 11 is a diagram (2) showing a first specific example of video processing according to the embodiment.
  • the generation unit 134 generates a volumetric image based on an ideal frame 228 and includes a rig. Thereafter, when a defective frame (for example, a frame with a hole) is detected, the estimation unit 132 estimates the skeleton data 230 in the frame.
  • a defective frame for example, a frame with a hole
  • the application unit 133 retargets the estimated skeleton data 230 to the rigged volumetric data and adjusts the posture.
  • the generation unit 134 generates a silhouette 232 by reprojecting the retargeted volumetric image onto a camera that is photographed as if it were a hole.
  • Silhouette 232 has been volumetrically reconstructed from skeleton data 230 using the rig of ideal frame 228, so there are no holes in region 234. Thereby, the generation unit 134 can obtain a silhouette without defects such as holes.
  • FIG. 12 is a diagram (3) showing a first specific example of video processing according to the embodiment.
  • a frame 236 shown in FIG. 12 has a hole in a region 237 of a part of the silhouette.
  • a frame 238 shown in FIG. 12 does not have a hole in the area corresponding to the area 237, but has a defect (noise) in that the arm of the subject is missing.
  • the generation unit 134 may perform a logical sum (OR operation) of both frames, and determine that a location in either of both frames that includes data of the subject is the subject. Thereby, the generation unit 134 can obtain a frame 240 without holes or noise. In other words, for the silhouette generated by the retargeting process like frame 238, parts other than the hole may be removed, so the generation unit 134 performs a logical sum operation and uses only appropriate parts of the data to create the silhouette. can be generated.
  • the video processing device 100 does not need to manually correct the silhouette, so it is possible to reduce the workload and generate a volumetric video without defects such as holes.
  • the application unit 133 applies the 3D skeleton of the subject estimated by the estimation unit 132 to a subject included in an image different from the multi-view image and separated from the background in the image.
  • the other image different from the multi-view image is, for example, image data in a frame different from the multi-view image (a frame captured at a different timing).
  • the application unit 133 applies the 3D skeleton of the subject to the subject based on the rig attached to the subject included in another image. That is, the application unit 133 retargets the rigged 3D model (volumetric).
  • the generation unit 134 generates 3D data of the subject to which the 3D skeleton is applied by the application unit 133. Specifically, the generation unit 134 generates 3D data (volumetric) of the subject based on the silhouette generated by applying (retargeting) the 3D skeleton and reprojecting it onto the camera.
  • the generation unit 134 generates a volumetric video of the subject as 3D data based on the 3D skeleton (skeleton data that is continuous in time series or motion) of the subject in a plurality of frames.
  • 3D skeleton skeleton data that is continuous in time series or motion
  • the output unit 135 outputs the 3D data generated by the generation unit 134.
  • the output unit 135 provides the user with the volumetric video, which is 3D data, by outputting the video to the display device 80 or the like used by the user.
  • FIG. 13 is a flowchart showing the procedure of video processing according to the embodiment.
  • the video processing device 100 searches for an ideal frame among the frames acquired from the multi-view camera (step S201). Such processing may be performed visually by, for example, an administrator of the video processing apparatus 100, or may be performed automatically using a machine learning model or the like for determining an ideal frame.
  • the video processing device 100 creates a rigged model for the subject in the ideal frame (step S202). Then, the video processing device 100 starts volumetric creation processing regarding the rigged model (step S203).
  • the video processing device 100 separates the subject included in the frame from the background and creates a silhouette (step S204). Then, the video processing device 100 determines whether or not the created silhouette requires improvement (step S205). For example, the administrator of the video processing device 100 visually determines whether the silhouette has holes or contains some kind of noise.
  • step S205 When the administrator of the video processing device 100 determines that silhouette improvement is necessary (step S205; Yes), the video processing device 100 performs skeleton estimation for the subject in the frame and generates skeleton data (step S206). ).
  • the video processing device 100 retargets the rigged model to the generated skeleton data (step S207). Then, the video processing device 100 generates a silhouette of the frame by reprojecting the retargeted data onto the target camera (step S208). As shown in FIG. 11 or 12, such a silhouette becomes a silhouette in which defects such as holes and noise are eliminated.
  • step S205 determines that silhouette improvement is not necessary in step S205 (step S205; No), or if a newly generated silhouette is acquired in step S208, the video processing device 100 creates a volumetric image based on the silhouette. (Step S209).
  • the video processing device 100 determines whether the above processing has been performed for all frames to be processed (step S210). If all frames have not been processed (step S210; No), the video processing device 100 repeats the processing from step S204. On the other hand, if all frames have been processed (step S210; Yes), the video processing device 100 ends the volumetric generation process.
  • FIG. 14 is a flowchart showing the flow of data in video processing according to the embodiment.
  • the video processing device 100 accesses a predetermined storage area (for example, the storage unit 120) and acquires a two-dimensional image and camera parameters obtained by shooting with a multi-view camera (step S301).
  • the video processing device 100 generates a rigged volumetric from an ideal frame of the acquired data and stores it in a storage area (step S302).
  • the video processing apparatus 100 sends the rigged volumetric to the retargeting processing unit so that it can be used in subsequent processing (step S303).
  • the video processing device 100 generates skeleton data of the subject included in the two-dimensional image (step S304) in the two-dimensional image (frame) in which the defective silhouette is generated, and stores it in the storage area (step S305). Further, the video processing device 100 sends the skeleton data to the retargeting processing unit so that it can be used in subsequent processing (step S306).
  • the video processing device 100 performs volumetric retargeting of the rigged model based on the skeleton data, generates a retargeting model, and stores it in the storage area (step S307).
  • the video processing device 100 reprojects the retargeted model onto the multi-view camera (step S308), generates a new silhouette, and stores it in the storage area (step S309). Then, the video processing device 100 acquires the newly generated silhouette (step S310), acquires camera parameters of the multi-view camera, etc. (step S311), and generates a volumetric image based on the acquired information. The video processing device 100 stores the generated corrected volumetric in the storage area (step S312), and ends the process.
  • FIG. 15 is a diagram (1) showing a second specific example of video processing according to the embodiment.
  • the second specific example shows an example in which there are multiple subjects to be subjected to volumetric generation processing.
  • content such as videos
  • FIG. 15 shows a situation where multiple subjects 250 are photographed.
  • the region 252 where the bodies of the plurality of subjects 250 overlap is made into a silhouette, occlusion is likely to occur.
  • a frame 254 shown in FIG. 15 is an example of image data obtained by photographing multiple subjects 250.
  • occlusion occurs due to overlapping of multiple subjects 250, and when silhouetted, it is difficult to determine which part belongs to which subject.
  • the video processing device 100 solves the above problem through the following processing. That is, the estimation unit 132 of the video processing device 100 estimates the 3D skeleton of each of the plurality of subjects based on a multi-view image including the plurality of subjects. Then, the application unit 133 applies the 3D skeleton of each of the plurality of subjects to each of the subjects included in another image different from the multi-view image. Furthermore, the generation unit 134 generates 3D data of each subject to which the 3D skeleton is applied.
  • the video processing device 100 photographs multiple subjects at once and generates a rigged volumetric image for each subject. If occlusion occurs due to multiple objects approaching each other in a given frame, rigged volumetrics are retargeted to obtain silhouettes of each.
  • the video processing device 100 may model a plurality of subjects together based on the obtained silhouettes, or may model each of them separately. That is, the generation unit 134 of the video processing device 100 may generate 3D data in which each subject to which a 3D skeleton is applied is combined into one. Through such processing, the video processing apparatus 100 can generate an appropriate volumetric image even if the frame includes multiple subjects.
  • FIG. 16 is a diagram (2) showing a second specific example of video processing according to the embodiment.
  • a frame 260 shown in FIG. 16 includes a subject 300 and a subject 310.
  • the video processing device 100 separates the subject by manual or automatic processing.
  • a frame 262 shown in FIG. 16 shows a situation in which the video processing device 100 has separated only the subject 310 from the frame 260.
  • the video processing device 100 then generates a rigged volumetric image of the subject 310.
  • the video processing device 100 generates a rigged volumetric image corresponding to the subject 300 from a frame in which only the subject 300 is separated.
  • the image processing apparatus 100 can apply the above-mentioned image processing by obtaining the separated rigged volumetric data, so that it can newly generate images, etc. in which the object 300 or the object 310 is arbitrarily positioned. It is also possible to generate.
  • frames 264 and 266 shown in FIG. 16 show examples in which the video processing device 100 arbitrarily changes the position and size of the subject 300 and the subject 310.
  • the video processing device 100 can retarget each object by separating the objects and generating rigged volumetrics for each object. , it is possible to generate volumetric images of multiple objects more flexibly.
  • the administrator of the video processing device 100 can obtain the volumetric value of each subject by manually dividing the subject included in the frame and performing rigging processing on the volumetric data generated for each segment. .
  • the video processing device 100 is able to generate video flexibly by arbitrarily arranging each volumetric, so it can respond to a request to finely adjust the position after shooting a dance scene, for example.
  • the video processing apparatus 100 may automatically separate the subject using a machine learning model or the like and generate a rigged volumetric image. Since it is impractical to visually inspect every frame and then manually segment the subject, there are great benefits to automation.
  • the video processing device 100 can also use a different method to generate a silhouette of one person from a plurality of silhouette images. Specifically, when applying the 3D skeleton of each of the plurality of objects to each object, the application unit 133 of the video processing device 100 separates the 3D skeleton from the background in the plurality of images including at least one object.
  • the data of the subject to which the application is applied may be specified by performing a logical product of the data corresponding to the subject. This point will be explained using FIG. 17.
  • FIG. 17 is a diagram (3) showing a second specific example of video processing according to the embodiment.
  • a frame 270 shown in FIG. 17 shows a situation where the silhouettes of multiple subjects overlap. Furthermore, frame 272 shows a situation in which a silhouette is newly generated for only one subject based on rigged volumetrics. As described in FIG. 12, it is assumed that noise is generated in the retargeting process in the region 274 of the frame 272, and a portion of the region 274 is partially missing.
  • the video processing device 100 performs a logical product (AND process) of the portions determined to be silhouettes in frames 270 and 272. Then, only the portions that are determined to be silhouettes in both frames are extracted, so the video processing device 100 can specify an appropriate silhouette of one person, as in frame 276.
  • the generation unit 134 of the video processing device 100 may correct the shape of the identified object and generate 3D data of the object based on the corrected 3D skeleton. For example, the generation unit 134 can perform known morphology processing or the like on the silhouette of the frame 276 to correct the shape of the silhouette. Specifically, the generation unit 134 can approximate the original shape by performing morphological processing on the silhouette, which tends to be expressed as slimmer than originally due to the logical product. Note that even if an extra shape is generated due to noise due to AND processing, it is assumed that this will not be a problem because such a portion will be removed by a camera that takes the image from another angle.
  • FIG. 18 is a flowchart showing a procedure in a second specific example of video processing according to the embodiment.
  • the video processing device 100 searches for an ideal frame among the frames acquired from the multi-view camera (step S401).
  • the video processing device 100 creates volumetric images for each of the plurality of subjects in the ideal frame (step S402). Furthermore, the video processing apparatus 100 divides each model (volumetric of each subject) and generates a rigged model (step S403). Then, the video processing device 100 starts volumetric creation processing for multiple subjects (step S404).
  • the video processing device 100 separates the subject included in the frame from the background and creates a silhouette (step S405). Then, the video processing device 100 determines whether or not the created silhouette requires improvement (step S406).
  • step S406 If the administrator of the video processing device 100 determines that silhouette improvement is necessary (step S406; Yes), the video processing device 100 performs skeleton estimation for the subject in the frame and generates skeleton data (step S407). ).
  • the video processing device 100 performs morphology processing on the generated skeleton data to correct the shape (step S408). Subsequently, the video processing device 100 retargets the rigged model based on the corrected skeleton data (step S409). Then, the video processing device 100 reprojects the retargeted data onto the target camera (step S410). Note that, after reprojection, the video processing device 100 may perform morphological processing or the like to correct the generated silhouette.
  • step S406 determines that silhouette improvement is not necessary in step S406 (step S406; No), or if a newly generated silhouette is acquired in step S410, the video processing device 100 creates a volumetric image based on the silhouette. (Step S411).
  • the video processing device 100 determines whether the above processing has been performed for all frames to be processed (step S412). If all frames have not been processed (step S412; No), the video processing device 100 repeats the processing from step S405. On the other hand, if all frames have been processed (step S412; Yes), the video processing device 100 ends the volumetric generation process.
  • FIG. 19 is a flowchart showing the flow of data in a second specific example of video processing according to the embodiment.
  • the video processing device 100 accesses a predetermined storage area and acquires a two-dimensional image and camera parameters obtained by shooting with a multi-view camera (step S501).
  • the video processing device 100 generates a rigged volumetric from an ideal frame of the acquired data and stores it in a storage area (step S502). Further, the video processing apparatus 100 sends the rigged volumetric to the retargeting processing unit so that it can be used in subsequent processing (step S503).
  • the video processing device 100 generates skeleton data of the subject included in the two-dimensional image (step S504) in the two-dimensional image (frame) in which the defective silhouette is generated, and stores it in the storage area (step S505). Further, the video processing device 100 sends the skeleton data to the retargeting processing unit so that it can be used in subsequent processing (step S506).
  • the video processing device 100 performs volumetric retargeting processing on the rigged model based on the skeleton data, generates a retargeting model, and stores it in the storage area (step S507).
  • the video processing device 100 reprojects the retargeted model onto the multi-view camera (step S508), generates a new silhouette, and stores it in the storage area (step S509). Then, the video processing device 100 acquires the newly generated silhouette (step S510), and performs correction such as morphology processing. Then, the video processing device 100 acquires the corrected silhouette (step S511), acquires camera parameters of the multi-view camera, etc. (step S512), and generates a volumetric image based on the acquired information. The video processing device 100 stores the generated corrected volumetric in the storage area (step S513), and ends the process.
  • the video processing device 100 may create video content by combining the 3D model 90M of the subject 90 generated by the video processing device 100 with a 3D model managed by another server. For example, if background data exists in an imaging device such as Lidar, by combining the 3D model 90M of the subject 90 and the background data, the video processing device 100 can display the subject 90 as if it were located at the location indicated by the background data. You can create content that makes you feel like you are in the world.
  • the video processing device 100 can place a volumetric subject 90 in a virtual space where a user acts as an avatar and communicates. In this case, the user becomes an avatar and can view the live photographed subject 90 in the virtual space.
  • the video processing device 100 transmits the 3D model 90M of the subject 90 to a remote location, thereby allowing a user at the remote location to view the 3D model 90M of the subject 90 through a playback device located at the remote location.
  • the video processing device 100 can create a situation where the subject 90 and a remote user communicate in real time by transmitting the 3D model 90M of the subject 90 in real time.
  • the subject 90 is a teacher and the user is a student, or the subject 90 is a doctor and the user is a patient.
  • the video processing device 100 can also generate free-viewpoint video, such as sports, based on the 3D models 90M of the plurality of subjects 90. Users can also distribute their generated volumetrics to a distribution platform. In this way, the content of the embodiments described in this specification can be applied to various technologies and services.
  • each component of each device shown in the drawings is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawings.
  • the specific form of distributing and integrating each device is not limited to what is shown in the diagram, and all or part of the devices can be functionally or physically distributed or integrated in arbitrary units depending on various loads and usage conditions. Can be integrated and configured.
  • the application unit 133 and the generation unit 134 may be integrated.
  • the video processing device (the video processing device 100 in the embodiment) according to the present disclosure includes an estimation unit (the estimation unit 132 in the embodiment), an application unit (the application unit 133 in the embodiment), and a generation unit ( In the embodiment, the generation unit 134) is provided.
  • the estimation unit estimates a 3D skeleton of the subject based on multi-view images of the subject photographed from a plurality of viewpoints.
  • the application unit applies the 3D skeleton of the subject estimated by the estimation unit to the subject included in an image different from the multi-view image and separated from the background in the image.
  • the estimation unit generates 3D data of the subject to which the 3D skeleton is applied by the application unit.
  • the video processing device estimates the 3D skeleton of a subject for which 3D data (volumemetric) is to be generated, and generates 3D data based on the estimated 3D skeleton.
  • the video processing device does not need to generate sequentially numbered volumetric videos for all frames, so it is possible to reduce the amount of data to be processed.
  • appropriate 3D data can be obtained without incurring any cost for system construction. Thereby, the video processing device can realize simple utilization of 3D shapes.
  • the application unit also applies the 3D skeleton of the subject to the subject based on the rig attached to the subject included in other images.
  • the video processing device generates a rigged model in an ideal frame and applies a 3D skeleton to the subject based on the rig, so it is possible to generate volumetric models that match the various movements of the subject. I can do it.
  • the estimation unit estimates the 3D skeleton of the subject in a plurality of frames based on a plurality of continuously captured multi-view images.
  • the generation unit generates a volumetric video of the subject as 3D data based on the 3D skeleton of the subject in a plurality of frames.
  • the video processing device moves only the skeleton data using the rigged model and generates volumetric data based on the skeleton data, thereby easily creating a volumetric video that is a continuous volumetric video. be able to.
  • the estimation unit estimates the 3D skeleton of the subject in the frame of the multi-view image corresponding to the second 3D data.
  • the application unit applies the 3D skeleton of the subject estimated by the estimation unit to the subject in the frame of the multi-view image corresponding to the second 3D data.
  • the generation unit generates 3D data of the subject to which the 3D skeleton is applied by the application unit, instead of the second 3D data. Further, the generation unit may generate the third 3D data by calculating the logical sum of the second 3D data and the 3D data of the subject.
  • the video processing device performs retargeting based on skeleton data, it is possible to generate an appropriate volumetric image even for a subject in a frame where noise has occurred due to separation processing or the like.
  • the estimation unit estimates the 3D skeleton of each of the plurality of subjects based on a multi-view image including the plurality of subjects.
  • the application unit applies the 3D skeleton of each of the plurality of subjects to each of the subjects included in another image different from the multi-view image.
  • the generation unit generates 3D data of each subject to which the 3D skeleton is applied by the application unit.
  • the video processing device can similarly generate volumetric images for multiple subjects.
  • the video processing device can reduce deterioration in shape accuracy due to occlusion between subjects, and enable position adjustment during rendering such as arbitrarily arranging separate models for each subject.
  • the application unit when applying the 3D skeleton of each of the plurality of subjects to each subject, performs a logical product of data corresponding to the subject separated from the background among a plurality of images including at least one subject.
  • the data of the subject to which it is applied is specified.
  • the video processing device can appropriately identify the silhouette of each subject by identifying the subjects using logical product in frames where the subjects overlap.
  • the generation unit corrects the shape of the identified subject and generates 3D data of the subject based on the corrected 3D skeleton.
  • the video processing device can perform modeling using the original natural shape of the subject.
  • the generation unit generates 3D data that combines each subject to which the 3D skeleton has been applied by the application unit.
  • the video processing device can also generate a volumetric video that includes multiple subjects using the video processing according to the embodiment.
  • the video processing device since the position and size of each object model can be changed arbitrarily, it is possible to promote the use of volumetric videos by the user, for example.
  • the present technology can also have the following configuration.
  • an estimation unit that estimates a 3D skeleton of the subject based on multi-view images of the subject taken from a plurality of viewpoints; an application unit that applies the 3D skeleton of the subject estimated by the estimation unit to the subject included in another image different from the multi-view image and separated from the background in the image; a generation unit that generates 3D data of the subject to which the 3D skeleton is applied by the application unit;
  • An image processing device comprising: (2) The application part is applying a 3D skeleton of the subject to the subject based on a rig attached to the subject included in the other image; The video processing device according to (1) above.
  • the estimation unit is Estimating a 3D skeleton of the subject in a plurality of frames based on the plurality of multi-view images taken continuously,
  • the generation unit is generating a volumetric video of the subject as the 3D data based on the 3D skeleton of the subject in the plurality of frames;
  • the video processing device according to (1) or (2) above.
  • the estimation unit is If there is a defect in the second 3D data generated in advance, estimate the 3D skeleton of the subject in the frame of the multi-view image corresponding to the second 3D data,
  • the application part is applying the 3D skeleton of the subject estimated by the estimation unit to the subject in a frame of a multi-view image corresponding to the second 3D data;
  • the generation unit is generating 3D data of the subject to which the 3D skeleton has been applied by the application unit in place of the second 3D data;
  • the video processing device according to any one of (1) to (3) above.
  • the generation unit is generating third 3D data by calculating a logical sum between the second 3D data and the 3D data of the subject;
  • the video processing device according to (4) above.
  • the estimation unit is Estimating the 3D skeleton of each of the plurality of subjects based on the multi-view image including the plurality of subjects,
  • the application part is applying the 3D skeleton of each of the plurality of objects to each of the objects included in another image different from the multi-view image;
  • the generation unit is generating 3D data of each subject to which a 3D skeleton is applied by the application unit;
  • the video processing device according to any one of (1) to (5) above.
  • the application part is When applying the 3D skeleton of each of the plurality of objects to each of the objects, performing a logical product of data corresponding to the object separated from the background among a plurality of images including at least one object. to identify the subject data to which it is applied.
  • the video processing device according to (6) above.
  • the generation unit is correcting the shape of the identified object and generating 3D data of the object based on the corrected 3D skeleton;
  • the video processing device according to (7) above.
  • the generation unit is generating 3D data in which each subject to which the 3D skeleton is applied by the application unit is combined into one;
  • the video processing device according to (6) or (7) above.
  • the computer is Estimating the 3D skeleton of the subject based on multi-view images of the subject taken from multiple viewpoints, applying the estimated 3D skeleton of the subject to the subject included in another image different from the multi-view image and separated from the background in the image; generating 3D data of the subject to which the 3D skeleton is applied;
  • a video processing method that includes (11) computer, an estimation unit that estimates a 3D skeleton of the subject based on multi-view images of the subject taken from a plurality of viewpoints; an application unit that applies the 3D skeleton of the subject estimated by the estimation unit to the subject included in another image different from the multi-view image and separated from the background in the image; a generation unit that generates 3D data of the subject to which the 3D skeleton is applied by the application unit;
  • Video processing device 110 Communication unit 120 Storage unit 130 Control unit 131 Acquisition unit 132 Estimation unit 133 Application unit 134 Generation unit 135 Output unit

Abstract

本開示に係る一形態の映像処理装置は、被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する推定部と、前記推定部によって推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用する適用部と、前記適用部によって3D骨格が適用された被写体の3Dデータを生成する生成部と、を備える。

Description

映像処理装置、映像処理方法およびプログラム
 本開示は、映像処理装置、映像処理方法およびプログラムに関する。
 従来、現実の3D空間をセンシングした情報、例えば異なる視点から被写体を撮像した多視点画像を用いて、視聴空間内に3Dオブジェクトを生成し、そのオブジェクトが視聴空間内に存在しているかのように見える映像(ボリュメトリック映像)を生成する方法が提案されている。
 例えば特許文献1では、カメラから被写体の表面までの距離を表すデプスマップに基づいて、被写体の3D形状を求めている。
 また、画像に映った人物の骨格を推定する技術が知られている。例えば、特許文献2では、2次元画像に映った人物の骨格を推定している。
国際公開第2018/074252号 特許第5784365号公報
 従来技術によれば、被写体の3D形状を精度よく生成することができる。しかし、ボリュメトリック技術により生成される被写体の3D形状は、多視点カメラから得られる画像に基づいていることから、その活用が難しい場合がある。例えば、3D形状に何らかのエラーが存在する場合、多視点カメラの台数分の画像修正を手作業で行うことを要するので、非常に作業負担が大きくなる。また、撮影および生成に手間がかかるため、生成した3D形状を含む映像のうち、例えば一部シーンのみ撮影し直すだけであっても大きな労力が費やされることになる。このため、被写体の3D形状等を含むボリュメトリック動画の活用は容易でないという現状がある。
 そこで、本開示では、被写体の3D形状を簡易に活用することができる映像処理装置、映像処理方法およびプログラムを提案する。
 上記の課題を解決するために、本開示に係る一形態の映像処理装置は、被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する推定部と、前記推定部によって推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用する適用部と、前記適用部によって3D骨格が適用された被写体の3Dデータを生成する生成部と、を備える。
被写体の3Dモデルを生成する処理の流れの概要を示す図である。 被写体の骨格を推定する方法を説明する図である。 被写体の3D骨格を推定する処理を説明する図である。 実施形態の映像処理装置のハードウェア構成の一例を示すハードウェアブロック図である。 ボリュメトリック映像の生成処理の流れの一例を示すフローチャートである。 実施形態に係る映像処理を説明するための図(1)である。 実施形態に係る映像処理を説明するための図(2)である。 実施形態に係る映像処理を説明するための図(3)である。 実施形態に係る映像処理装置の構成例を示す図である。 実施形態に係る映像処理の第1の具体例を示す図(1)である。 実施形態に係る映像処理の第1の具体例を示す図(2)である。 実施形態に係る映像処理の第1の具体例を示す図(3)である。 実施形態に係る映像処理の手順を示すフローチャートである。 実施形態に係る映像処理におけるデータの流れを示すフローチャートである。 実施形態に係る映像処理の第2の具体例を示す図(1)である。 実施形態に係る映像処理の第2の具体例を示す図(2)である。 実施形態に係る映像処理の第2の具体例を示す図(3)である。 実施形態に係る映像処理の第2の具体例における手順を示すフローチャートである。 実施形態に係る映像処理の第2の具体例におけるデータの流れを示すフローチャートである。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 なお、以下に示す項目順序に従って本開示を説明する。
  1.本開示の実施形態
   1-1.前提事項の説明-3Dモデルの生成
   1-2.前提事項の説明-ボリュメトリック映像の生成
   1-3.前提事項の説明-骨格推定
   1-4.前提事項の説明-3D骨格の推定
   1-5.前提事項の説明-映像処理装置のハードウェア構成
   1-6.前提事項の説明-映像処理の流れの一例
   1-7.実施形態に係る映像処理の概要
   1-8.実施形態に係る映像処理装置の構成
   1-9.実施形態に係る映像処理の手順
   1-10.実施形態に係る映像処理におけるデータの流れ
   1-11.実施形態に係る映像処理の第2の具体例
   1-12.実施形態の第2の具体例に係る映像処理の手順
   1-13.実施形態の第2の具体例に係る映像処理におけるデータの流れ
  2.本開示の応用例
   2-1.コンテンツの制作
   2-2.仮想空間での体験
   2-3.遠隔地とのコミュニケーション
   2-4.その他の活用例
   2-5.その他の実施形態
  3.本開示に係る映像処理装置の効果
(1.本開示の実施形態)
(1-1.前提事項の説明-3Dモデルの生成)
 まず、図1を用いて、本開示を適用した映像処理装置100が、被写体90の3Dモデル90Mを生成する処理の流れを説明する。図1は、被写体の3Dモデルを生成する処理の流れの概要を示す図である。
 図1に示すように、被写体90の3Dモデル90Mは、複数のカメラ70(カメラ70a、カメラ70b、カメラ70c)による被写体90の撮像と、3Dモデリングにより被写体90の3D情報を有する3Dモデル90Mを生成する処理と、を経て行われる。
 複数のカメラ70は、図1に示すように、現実世界に存在する被写体90を取り囲むように、被写体90の外側に、被写体90の方向を向いて配置される。図1は、カメラの台数が3台の例を示しており、カメラ70a、カメラ70b、カメラ70cが、それぞれ被写体90の周りに配置されている。なお、カメラ70の台数は3台に限定されるものではなく、より多くの台数のカメラを備えてもよい。また、カメラ70a、カメラ70b、カメラ70cのカメラパラメータ71a、カメラパラメータ71b、カメラパラメータ71cは、キャリブレーションを行うことによって、予め取得される。カメラパラメータ71a、カメラパラメータ71b、カメラパラメータ71cは、カメラ70a、カメラ70b、カメラ70cの内部パラメータと外部パラメータとを含む。なお、複数のカメラ70は、被写体90までの距離を示すデプス情報を取得してもよい。
 異なる視点から、3台のカメラ70a、カメラ70b、カメラ70cによって、同期して撮影された多視点画像Iを用いて、被写体90の3Dモデリングが行われる。なお、多視点画像Iは、カメラ70aが撮像した2次元画像Iaと、カメラ70bが撮像した2次元画像Ibと、カメラ70cが撮像した2次元画像Icとを含む。この3Dモデリングによって、3台のカメラ70a、カメラ70b、カメラ70cが撮像した画像のフレーム単位で、被写体90の3Dモデル90Mが生成される。
 3Dモデル90Mは、例えば特許文献1に説明された方法で生成される。具体的には、Visual Hullを用いて、複数の視点からの画像(例えば、複数の視点からのシルエット画像)を用いて被写体90の3次元形状を削り出すことによって、被写体90の3Dモデル90Mを生成する。
 3Dモデル90Mは、被写体90の表面形状を表す形状情報を、例えば、頂点(Vertex)と頂点との繋がりで表現したポリゴンメッシュデータMで表現する。ポリゴンメッシュデータMは、例えば、メッシュの頂点の3次元座標と、どの頂点を組み合わせて三角形メッシュを形成するかを示すインデックス情報とを有する。なお、3Dモデルの表現の方法はこれらに限定されるものではなく、点の位置情報で表現される所謂ポイントクラウドの表現方法で記述されてもよい。また、これらの3D形状データに紐づけられる形で、被写体90の色を表す色情報データが、テクスチャデータTとして生成される。テクスチャデータには、どの方向から見ても一定の色となるView Independentテクスチャと、視聴する方向によって色が変化するView Dependentテクスチャとがある。
 生成された3Dモデル90Mは、当該3Dモデル90Mを生成した計算機とは別の計算機で利用される場合が多いため、伝送・蓄積に適したフォーマットに圧縮(符号化)される。そして、圧縮された3Dモデル90Mは、当該3Dモデル90Mを利用する計算機に送信される。
(1-2.前提事項の説明-ボリュメトリック映像の生成)
 送信された3Dモデル90Mを受信した計算機は、圧縮された3Dモデル90Mを解凍(復号化)する。そして、計算機は、解凍された3Dモデル90MのポリゴンメッシュデータMとテクスチャデータTとを用いて、被写体90を任意の視点から観測した映像(ボリュメトリック映像)を生成する。
 具体的には、3Dモデル90MのポリゴンメッシュデータMを任意のカメラ視点に投影して、投影されたポリゴンメッシュデータMに、色や模様を表すテクスチャデータTを貼り付けるテクスチャマッピングを行う。
 生成された画像は、ユーザの視聴環境に置かれた表示装置80に表示される。表示装置80は、例えば、ヘッドマウントディスプレイ、空間ディスプレイ、携帯電話(スマートフォン)、テレビ、PC等である。
 なお、本実施形態では説明を簡単にするため、3Dモデル90Mの生成と、生成された3Dモデル90Mを変形させたボリュメトリック映像の生成とを同じ機器(映像処理装置100)が実行するものとして説明する。なお、本開示の説明では、被写体の3D表現をボリュメトリック映像と称するが、かかるボリュメトリック映像とは、被写体を表現するための3Dデータと読み替えてもよい。
(1-3.前提事項の説明-骨格推定)
 次に、図2を用いて、被写体90である人物の画像から、当該人物の2D骨格82を推定する方法を説明する。図2は、被写体90の骨格を推定する方法を説明する図である。なお、2D骨格82は、被写体90の姿勢を表す。
 2D骨格82は、例えば特許文献2に説明された方法で生成される。具体的には、映像処理装置100は、予め、人物のシルエット画像と、当該シルエット画像から生成した胴体や手足を表すセグメントとをデータベース化する。そして、映像処理装置100は、撮像された画像とデータベースとを照合することによって、骨格の形状、及び関節の位置、手先・足先・顔の位置等を推定する。
 また、同様の処理を、ディープラーニングを用いた機械学習によって生成されたニューラルネットワークを用いて行う例も知られている。
 このような骨格推定を行うことによって、図2に示すように、被写体90の画像から、2D骨格82の位置と形状とが推定される。2D骨格82は、ボーン82aと、関節82bと、頭部82cと、手先82dと、足先82eとを含む。
 ボーン82aは、互いに接続された構造物(関節82b、頭部82c、手先82d、足先82e)を繋ぐリンクである。関節82bは、異なる2つのボーン82aの接続点である。頭部82cは、被写体90の頭部に対応する位置を示す。手先82d、足先82eは、被写体90の手先及び足先に対応する位置を示す。
(1-4.前提事項の説明-3D骨格の推定)
 続いて、図3を用いて、被写体90の3D骨格83の推定方法を説明する。図3は、被写体の3D骨格を推定する処理を説明する図である。
 映像処理装置100は、2次元画像Ia、2次元画像Ib、2次元画像Icの各々に写った被写体90の像から、上記手法により推定した2D骨格82に基づいて、被写体90の3D骨格83を推定する。
 具体的には、図3に示すように、映像処理装置100は、2次元画像Ia、2次元画像Ib、2次元画像Icの中の任意の2枚の画像、例えば、2次元画像Iaおよび2次元画像Ibに写った被写体90の2D骨格82の位置から、被写体90の3D骨格83を推定する。各カメラの設置位置及び光軸の向きは、予め行ったキャリブレーションによって既知であるため、各画像に写った同じ部位の座標がわかれば、三角測量の原理を用いて、当該部位の3次元座標を推定することができる。
 映像処理装置100は、2次元画像Iaから推定された2D骨格82の手先82dを示す点P1とカメラ70aの光学中心とを結ぶ線分を延長する。また、映像処理装置100は、2次元画像Ibから推定された2D骨格82の手先82dを示す点P2とカメラ70bの光学中心とを結ぶ線分を延長する。2本の延長線は、空間上の点P3で交わる。この点P3は、被写体90の3D骨格83の手先83dを表す。
 映像処理装置100は、同様の処理を、2次元画像Iaから推定された2D骨格82と、2次元画像Ibから推定された2D骨格82との対応する全て関節、及び、頭部82c、手先82d、足先82eを示す全ての端点に対して行う。これによって、映像処理装置100は、被写体90の3D骨格83を推定することができる。
 なお、複数のカメラ70(カメラ70a、カメラ70b、カメラ70c)のレイアウトによっては、被写体90の死角が生じるため、映像処理装置100は、できるだけ多くの複数のカメラのペアに対して、上記処理を行う。これによって、映像処理装置100は、被写体90の3D骨格83を漏れなく推定する。例えば、本実施形態の場合、映像処理装置100は、カメラ70aとカメラ70bのペア、カメラ70aとカメラ70cのペア、カメラ70bとカメラ70cのペア、のそれぞれに対して、上記処理を行うのが望ましい。
(1-5.前提事項の説明-映像処理装置のハードウェア構成)
 上述のように、本実施形態の映像処理装置100は、被写体90の3Dモデル90Mと2D骨格82とを生成する。また、映像処理装置100は、被写体90の3D骨格83を推定する。更に、映像処理装置100は、操作者の指示に基づいて、3Dモデル90Mの姿勢を変形させる。なお、映像処理装置100は、本開示における映像処理装置の一例である。
 図4を用いて、映像処理装置100のハードウェア構成を説明する。図4は、実施形態の映像処理装置のハードウェア構成の一例を示すハードウェアブロック図である。
 図4に示されるコンピュータにおいて、CPU21、ROM22、RAM23は、バス24を介して相互に接続されている。バス24には、入出力インタフェース25も接続されている。入出力インタフェース25には、入力装置26、出力装置27、記憶装置28、通信装置29、およびドライブ装置30が接続されている。
 入力装置26は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子等を備える。出力装置27は、例えば、ディスプレイ、スピーカ、出力端子等を備える。前記した表示装置80は、出力装置27の一例である。記憶装置28は、例えば、ハードディスク、RAMディスク、不揮発性のメモリ等を備える。通信装置29は、例えば、ネットワークインタフェース等を備える。ドライブ装置30は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブルメディアを駆動する。
 以上のように構成されるコンピュータは、CPU21が、例えば、記憶装置28に記憶されているプログラムを、入出力インタフェース25およびバス24を介して、RAM23にロードして実行することにより、上述した一連の処理を行う。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータ等も適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して適用することができる。その場合、プログラムは、リムーバブルメディアをドライブ装置30に装着することにより、入出力インタフェースを介して、記憶装置28にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信装置29で受信し、記憶装置28にインストールすることができる。
(1-6.前提事項の説明-映像処理の流れの一例)
 映像処理装置100による3Dモデルの生成、すなわちボリュメトリック映像の生成の流れの概要について、図5を用いて説明する。図5は、ボリュメトリック映像の生成処理の流れの一例を示すフローチャートである。
 図5に示すように、映像処理装置100は、被写体の3Dモデルを生成するための画像データを取得する(ステップS101)。映像処理装置100は、被写体の3Dモデルを生成するための画像データに基づいて、被写体の3次元情報を有するモデルを生成する(ステップS102)。
 映像処理装置100は、生成された3Dモデルの形状およびテクスチャデータを伝送や蓄積に好適なフォーマットにエンコードする(ステップS103)。映像処理装置100は、符号化されたデータを伝送し(ステップS104)、伝送されたデータを計算機が受信する(ステップS105)。計算機は、デコード処理を行い、表示に必要な形状およびテクスチャデータに変換する。また、計算機は、形状およびテクスチャデータを用いてレンダリングを行う(ステップS106)。そして、計算機(もしくは、ボリュメトリック映像を表示する表示装置80)は、レンダリングした結果を表示する(ステップS107)。
 なお、上述のように、画像データを取得して処理する映像処理装置100と、ボリュメトリック映像を生成する計算機とは、同一の機器であってもよい。
(1-7.実施形態に係る映像処理の概要)
 以上を前提として、実施形態に係る映像処理を説明する。図6は、実施形態に係る映像処理を説明するための図(1)である。実施形態において、映像処理装置100は、被写体を多視点カメラによって撮影し、上述した前提技術を利用して、被写体のボリュメトリック動画50を生成する。図7での図示は省略しているが、ボリュメトリック動画50に含まれる被写体は3Dデータであるため、再生時には、ユーザは被写体をあらゆる角度から視聴することができる。すなわち、映像処理装置100は、被写体を背景から分離し、被写体のみを3Dモデルとして様々な角度から視認可能な動画であるボリュメトリック動画50を生成する。
 通常、ボリュメトリック動画は、多視点カメラで撮影した複数の動画に基づいて生成される。このため、ボリュメトリック動画の一部を差し替えたい場合(例えば、ダンスシーンを撮影した動画の後半部分だけを撮り直したい場合等)や、動画の一部にエラーが発生した場合など、動画の修正を行うことが難しい。そこで、映像処理装置100は、実施形態に係る映像処理により、柔軟に編集可能なボリュメトリック動画を生成する。これにより、映像処理装置100は、ボリュメトリック動画を簡易に活用させることを可能とする。
 この点について、図7を用いて説明する。図7は、実施形態に係る映像処理を説明するための図(2)である。
 図7において、多視点カメラによって撮影された被写体を含むボリュメトリック映像54は、映像にエラー等が発生しておらず、ボリュメトリック映像として好適なフレーム(以下、このようなフレームを「理想的なフレーム」と称する)であるものとする。このとき、映像処理装置100は、ボリュメトリック映像54に含まれる被写体に対してリギング(rigging)を行う。すなわち、映像処理装置100は、上記前提技術で説明したような、被写体に対応した3D骨格であるスケルトンデータを生成し、そのスケルトンデータを自在に動かすためのリグを埋め込む。
 そして、映像処理装置100は、リグを用いて、スケルトンデータをフレームに沿って動かす。図7に示すスケルトンデータ動画56は、スケルトンデータを用いて被写体が歩いている様子を表す動画である。
 かかるスケルトンデータに基づいて映像のリターゲット処理(映像への再適用)を行うことで、映像処理装置100は、スケルトンデータに基づいたボリュメトリック動画を得ることができる。得られたボリュメトリック動画は、例えば、図6に示したボリュメトリック動画50と同様の動画となる。
 すなわち、通常は連番のボリュメトリックを使って動画表示することでボリュメトリック動画50を得る手法に対して、実施形態に係る映像処理では、1つの静止ボリュメトリックをスケルトンデータを用いて連番表示することでボリュメトリック動画を得る。具体的には、映像処理装置100は、連番のスケルトンデータ(図7ではスケルトンデータ動画56)と、リグ入り静止ボリュメトリック(図7ではボリュメトリック映像54)によって、ボリュメトリックによる動画表現を可能とする。
 かかる映像処理に関して、図8を用いて具体的に説明する。図8は、実施形態に係る映像処理を説明するための図(3)である。
 図8に示すフレーム200は、被写体201のボリュメトリック映像の1フレームであり、理想的なフレームであるものとする。映像処理装置100は、フレーム200にリギングを行い、被写体201のスケルトンデータを動かすためのリグを生成する。
 その後、映像処理装置100は、被写体201が別の動作を行っている所定のフレーム204を取得する(ステップS10)。フレーム204は、映像処理装置100がボリュメトリック映像を生成しようとする、ターゲットとなるフレームである。
 映像処理装置100は、例えばマーカレスモーションキャプチャを用いて、フレーム204に対応するスケルトンデータ206を生成する。
 そして、映像処理装置100は、ボリュメトリック(3Dデータ)であるフレーム200を、得られたスケルトンデータ206を用いてリターゲットする(ステップS12)。具体的には、映像処理装置100は、ボリュメトリックに埋め込まれたリグを用いて、スケルトンデータ206に対応する形状にボリュメトリックを変形する(ステップS14)。
 図8に示すフレーム212は、被写体201のボリュメトリック映像の1フレームであり、フレーム204に対応する動作を行ったスケルトンデータから生成されたボリュメトリック映像である。このように、映像処理装置100は、リグ入りのボリュメトリックを一つ生成することで、ボリュメトリックでないフレームに対応するスケルトンデータを得ることで、当該フレームに対応する新たなボリュメトリックをリターゲット処理によって得ることができる。具体的には、映像処理装置100は、変形したボリュメトリックをターゲットカメラに再投影することで、ボリュメトリックなシルエット動画(人の動きを3Dで再現可能な動画)を得ることができる。
 以上のように、実施形態に係る映像処理によれば、理想のフレームに対してリグを入れる作業が発生するが、その後のフレームは、スケルトンデータに基づいて被写体を変形することによりボリュメトリック映像が得られる。実施形態に係る映像処理によれば、すべてのフレームで連番のボリュメトリック映像を生成することを要しないため、処理のデータ量を削減できる。また、実施形態に係る映像処理は、特別な映像処理システムを必要としないため、システム構築にコストを掛けることなく、ボリュメトリック動画を得ることができる。以上から、実施形態に係る映像処理装置100は、ボリュメトリック動画の簡易な活用を実現することができる。
(1-8.実施形態に係る映像処理装置の構成)
 次に、映像処理装置100の構成について説明する。図9は、実施形態に係る映像処理装置100の構成例を示す図である。
 図9に示すように、映像処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、映像処理装置100は、映像処理装置100を管理する管理者やユーザ等から各種操作を受け付ける入力部(例えば、キーボードやタッチディスプレイ等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
 通信部110は、例えば、NIC(Network Interface Card)やネットワークインタフェイスコントローラ(Network Interface Controller)等によって実現される。通信部110は、ネットワークNと有線または無線で接続され、ネットワークNを介して、計算機や外部装置等と情報の送受信を行う。ネットワークNは、例えば、Bluetooth(登録商標)、インターネット、Wi-Fi(登録商標)、UWB(Ultra Wide Band)、LPWA(Low Power Wide Area)等の無線通信規格もしくは方式で実現される。
 記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
 記憶部120は、実施形態に係る映像処理を行うための各種情報を記憶する。例えば、記憶部120は、映像処理装置100で機能するアプリ等のプログラムや、処理に用いる各種データ(画像データ等)を記憶する。
 制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)、GPU等によって、映像処理装置100内部に記憶されたプログラムがRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。制御部130は、例えば、図3に示したCPU21に対応する。
 図9に示すように、制御部130は、取得部131と、推定部132と、適用部133と、生成部134と、出力部135とを含む。
 取得部131は、各種情報を取得する。例えば、取得部131は、ボリュメトリック等の3Dデータを生成する元となる画像データを取得する。具体的には、取得部131は、被写体を取り囲む多数のカメラが撮影した複数の画像データを取得する。なお、以下の説明では、同時刻に被写体を様々な角度から撮影した複数の画像データを「フレーム」と称する場合がある。例えば、1秒間のボリュメトリック動画には、60枚や120枚のフレームが含まれる。
 推定部132は、被写体を複数の視点から撮影した多視点画像に基づいて、被写体の3D骨格(スケルトンデータ)を推定する。かかる推定処理は、上述したように、様々な既知の技術が用いられてもよい。
 また、推定部132は、連続に撮影された複数の多視点画像に基づいて、複数のフレームにおける被写体の3D骨格を推定する。後述する生成部134は、連続したフレームに基づき推定されたスケルトンデータの各々からボリュメトリック映像を生成することで、図5で示したような、連続したボリュメトリック映像(ボリュメトリック動画)を生成することができる。
 また、推定部132は、予め生成された第2の3Dデータ(通常の処理により生成されたボリュメトリック映像)に不具合が存在する場合には、その第2の3Dデータに対応する多視点画像のフレームにおける被写体の3D骨格を推定する。この場合、後述する適用部133は、推定された被写体の3D骨格を、第2の3Dデータに対応する多視点画像のフレームにおける被写体に適用する。また、生成部134は、3D骨格が適用された被写体の3Dデータを、第2の3Dデータに代えて生成する。かかる処理について、図10を用いて説明する。
 図10は、実施形態に係る映像処理の第1の具体例を示す図(1)である。図10に示すフレーム220は、被写体である人物221を撮影した画像データ222と、画像データ222に対応するボリュメトリック映像224を示している。
 ボリュメトリック映像は、被写体を3D表現するために活用されることから、その生成において、撮影した画像から被写体と背景とを分離する処理が行われる。図10の例では、画像データ222から人物221と背景とを分離する処理が行われる。分離処理は、例えば、背景差分や機械学習による全景背景分離等により行われる。分離処理により、画像から、被写体のみのシルエット画像が生成される。
 ところで、かかる分離においては、処理手法によらず、シルエット部分に不具合が発生する可能性があることが知られている。すなわち、シルエット部分の一部が背景と判定されることにより、結果として生成されるボリュメトリックの形状に穴が開く問題が発生しうる。図10に示す例では、ボリュメトリック映像224において、領域226で示した一部が背景と誤認され、穴が空いている様子を示している。
 穴が空いたフレームが発生すると、手作業でシルエットを修正する必要が生じうる。しかし、ボリュメトリック映像は、例えばカメラ50台分など多数の画像データに基づいて生成されるものであるため、その作業コストが非常に大きくなる。
 そこで、映像処理装置100は、以下に示す処理により、上記課題を解決する。この点について、図11を用いて説明する。図11は、実施形態に係る映像処理の第1の具体例を示す図(2)である。
 図11において、生成部134は、理想的なフレーム228に基づいてボリュメトリック映像を生成し、リグを入れておく。その後、推定部132は、不具合のあるフレーム(例えば、穴の空いたフレーム)を検出した場合に、かかるフレームにおけるスケルトンデータ230を推定する。
 そして、適用部133は、推定されたスケルトンデータ230をリグ入りのボリュメトリックにリターゲットし、姿勢を合わせる。生成部134は、リターゲットしたボリュメトリックを、穴が空いたように撮影されてしまうカメラに再投影することで、シルエット232を生成する。シルエット232は、理想的なフレーム228のリグを利用して、スケルトンデータ230からボリュメトリックが再構築されているため、領域234に穴が存在しない。これにより、生成部134は、穴が空くような不具合のないシルエットを得ることができる。
 また、映像処理装置100は、異なる手法により、不具合のないシルエットを得ることもできる。具体的には、生成部134は、第2の3Dデータと被写体の3Dデータとの論理和をとることで、第3の3Dデータを生成する。この点について、図12を用いて説明する。図12は、実施形態に係る映像処理の第1の具体例を示す図(3)である。
 図12に示すフレーム236は、シルエットの一部の領域237において、穴が空いたフレームである。このようなフレーム236を上記処理により補正した場合、領域237には穴がないものの、ほかの不具合が発生する場合がある。例えば、図12に示すフレーム238は、領域237に対応する箇所には穴がないが、被写体の腕の部分が欠けているという不具合(ノイズ)を有するフレームである。
 このような場合、生成部134は、両フレームの論理和(OR演算)を行い、両フレームのいずれかにおいて被写体のデータが含まれる箇所を、被写体と判定してもよい。これにより、生成部134は、穴やノイズのないフレーム240を得ることができる。すなわち、フレーム238のようにリターゲット処理により生成されるシルエットについては、穴以外の部分で削れる場合があるため、生成部134は、論理和演算を行い、データの適切な箇所のみを用いてシルエットを生成することができる。
 かかる処理により、映像処理装置100は、シルエットを手作業で修正する必要がなくなるため、作業負担を軽減しつつ、穴などの不具合のないボリュメトリック映像を生成することができる。
 図9に戻って説明を続ける。適用部133は、推定部132によって推定された被写体の3D骨格を、多視点画像とは異なる他の画像に含まれる被写体であって、画像において背景と分離された被写体に適用する。多視点画像とは異なる他の画像とは、例えば、当該多視点画像とは異なるフレーム(撮影タイミングの異なるフレーム)における画像データ等である。
 適用部133は、他の画像に含まれる被写体に付されたリグに基づいて、被写体の3D骨格を当該被写体に適用する。すなわち、適用部133は、リグ入りの3Dモデル(ボリュメトリック)をリターゲットする。
 生成部134は、適用部133によって3D骨格が適用された被写体の3Dデータを生成する。具体的には、生成部134は、3D骨格が適用され(リターゲットされ)、カメラに再投影されることで生成されたシルエットに基づいて、被写体の3Dデータ(ボリュメトリック)を生成する。
 例えば、生成部134は、複数のフレームにおける被写体の3D骨格(時系列や動作として連続したスケルトンデータ)に基づいて、3Dデータとして、被写体のボリュメトリック動画を生成する。
 出力部135は、生成部134によって生成された3Dデータを出力する。例えば、出力部135は、3Dデータであるボリュメトリック動画をユーザが利用する表示装置80等に出力することで、当該動画をユーザに提供する。
(1-9.実施形態に係る映像処理の手順)
 次に、図13を用いて、実施形態に係る映像処理の手順について説明する。図13は、実施形態に係る映像処理の手順を示すフローチャートである。
 図13に示すように、映像処理装置100は、多視点カメラから取得されたフレームのうち、理想的なフレームを検索する(ステップS201)。かかる処理は、例えば映像処理装置100の管理者の目視によって行われてもよいし、理想的なフレームを判定するための機械学習モデル等を用いて自動で行われてもよい。
 続いて、映像処理装置100は、理想的なフレームにおける被写体について、リグ入りモデルを作成する(ステップS202)。そして、映像処理装置100は、リグ入りモデルに関するボリュメトリック作成処理を開始する(ステップS203)。
 まず、映像処理装置100は、フレームに含まれる被写体を背景と分離し、シルエットを作成する(ステップS204)。そして、映像処理装置100は、作成したシルエットについて改善が必要か否かを判定する(ステップS205)。例えば、映像処理装置100の管理者は、目視によって、シルエットに穴が空いていたり、何らかのノイズが含まれていたりするかを判定する。
 そして、映像処理装置100の管理者がシルエット改善が必要であると判定すると(ステップS205;Yes)、映像処理装置100は、当該フレームの被写体について骨格推定を行い、スケルトンデータを生成する(ステップS206)。
 続けて、映像処理装置100は、生成したスケルトンデータに対して、リグ入りモデルをリターゲットする(ステップS207)。そして、映像処理装置100は、リターゲットされたデータをターゲットカメラに再投影することで、当該フレームのシルエットを生成する(ステップS208)。図11または図12で示したように、かかるシルエットは、穴やノイズなどの不具合が解消されたシルエットとなる。
 映像処理装置100は、ステップS205においてシルエット改善が必要でないと判定した場合(ステップS205;No)、または、ステップS208で新たに生成したシルエットを取得した場合、かかるシルエットに基づいて、ボリュメトリックを作成する(ステップS209)。
 映像処理装置100は、処理対象とするすべてのフレームについて、上記の処理を行ったかを判定する(ステップS210)。すべてのフレームを処理していない場合(ステップS210;No)、映像処理装置100は、ステップS204からの処理を繰り返す。一方、すべてのフレームを処理した場合(ステップS210;Yes)、映像処理装置100は、ボリュメトリック生成処理を終了する。
(1-10.実施形態に係る映像処理におけるデータの流れ)
 次に、図14を用いて、実施形態に係る映像処理におけるデータの流れについて説明する。図14は、実施形態に係る映像処理におけるデータの流れを示すフローチャートである。
 まず、映像処理装置100は、所定の記憶領域(例えば記憶部120)にアクセスし、多視点カメラの撮影により得られた2次元画像およびカメラパラメータを取得する(ステップS301)。映像処理装置100は、取得したデータのうち理想的なフレームからリグ入りボリュメトリックを生成し、記憶領域に保存する(ステップS302)。また、映像処理装置100は、かかるリグ入りボリュメトリックを後段の処理で利用できるよう、リターゲット処理部に送る(ステップS303)。
 また、映像処理装置100は、不具合のあるシルエットが生成される2次元画像(フレーム)において、2次元画像に含まれる被写体のスケルトンデータを生成し(ステップS304)、記憶領域に保存する(ステップS305)。また、映像処理装置100は、かかるスケルトンデータを後段の処理で利用できるよう、リターゲット処理部に送る(ステップS306)。
 映像処理装置100は、スケルトンデータに基づき、リグ入りモデルのボリュメトリックのリターゲット処理を行い、リターゲットモデルを生成し、記憶領域に保存する(ステップS307)。
 映像処理装置100は、リターゲットモデルを多視点カメラに再投影し(ステップS308)、新たにシルエットを生成し、記憶領域に保存する(ステップS309)。そして、映像処理装置100は、新たに生成したシルエットを取得するとともに(ステップS310)、多視点カメラのカメラパラメータ等を取得し(ステップS311)、取得した情報に基づいてボリュメトリックを生成する。映像処理装置100は、生成した補正後ボリュメトリックを記憶領域に保存し(ステップS312)、処理を終了する。
(1-11.実施形態に係る映像処理の第2の具体例)
 次に、図15以下を用いて、実施形態に係る映像処理の第2の具体例について説明する。図15は、実施形態に係る映像処理の第2の具体例を示す図(1)である。
 第2の具体例では、ボリュメトリック生成の処理対象となる被写体が複数存在する例を示す。動画等のコンテンツにおいては、被写体が複数いる場合でもまとめて撮影することが一般的に行われることから、被写体が複数いるような場合にも適切にボリュメトリックが生成できることが望ましい。
 図15に示す例は、複数被写体250を撮影する状況を示す。この場合、複数被写体250の身体が重なり合う領域252をシルエット化すると、オクルージョンが発生しやすい。図15に示すフレーム254は、複数被写体250を撮影した画像データの一例である。領域252に対応する領域256は、複数被写体250が重なり合うことでオクルージョンが発生しており、シルエット化した場合に、どの箇所がどの被写体に属するのかを判定することが困難な状況となっている。
 すなわち、被写体が複数いる場合の映像処理には、下記のような課題が存在する。まず、複数の被写体をまとめてオブジェクトファイルとして生成すると、生成後に、それぞれの被写体の位置を微調整するなどの修正が難しくなる。また、被写体同士が離れている場合は問題にならないが、近い位置にいる場合は、互いの身体等でのオクルージョンが発生し、ボリュメトリック形状の精度が低下する。なお、これらの問題を解消するため、被写体ごとに撮影することも考えられるが、この場合、それぞれの被写体の位置やタイミングを合わせることが難しいといった別の問題が発生する。例えばダンスシーンの撮影では、複数人で踊るべきシーンを、一人の演者が、他の演者が存在する場合と同じように踊るのは難しい。
 そこで、実施形態に係る映像処理装置100は、下記の処理により、上記課題を解決する。すなわち、映像処理装置100に係る推定部132は、複数の被写体を含む多視点画像に基づいて、複数の被写体の各々の3D骨格を推定する。そして、適用部133は、複数の被写体の各々の3D骨格を、多視点画像とは異なる他の画像に含まれる各々の被写体に適用する。さらに、生成部134は、3D骨格が適用された各々の被写体の3Dデータを生成する。
 具体的には、映像処理装置100は、複数被写体をまとめて撮影し、各々にリグ入りボリュメトリックを生成する。そして、所定のフレームにおいて、複数被写体が近づくことでオクルージョンが発生するような場合には、リグ入りのボリュメトリックをリターゲットして、各々のシルエットを得る。映像処理装置100は、得られたシルエットに基づいて複数被写体をまとめてモデリングしてもよいし、各々を別々にモデリングしてもよい。すなわち、映像処理装置100に係る生成部134は、3D骨格が適用された各々の被写体を一つにまとめた3Dデータを生成してもよい。かかる処理により、映像処理装置100は、複数被写体が含まれるフレームであっても、適切なボリュメトリックを生成することができる。
 かかる処理について、図16を用いて説明する。図16は、実施形態に係る映像処理の第2の具体例を示す図(2)である。
 図16に示すフレーム260は、被写体300と被写体310とを含む。この場合、映像処理装置100は、手動もしくは自動処理により、被写体を分離する。図16に示すフレーム262では、映像処理装置100が、フレーム260から被写体310のみを分離した状況を示す。そして、映像処理装置100は、被写体310のリグ入りボリュメトリックを生成する。なお、図示は省略するが、映像処理装置100は、被写体300のみを分離したフレームから、被写体300に対応するリグ入りボリュメトリックを生成する。
 このように、映像処理装置100は、分離したリグ入りボリュメトリックを得ることで、上述してきた映像処理を適用できるようになるため、被写体300や被写体310を任意には位置した映像等を新たに生成することも可能になる。例えば、図16に示すフレーム264やフレーム266は、映像処理装置100が、被写体300や被写体310の位置や大きさを任意に変化させた例を示している。
 このように、複数被写体が含むフレームであっても、映像処理装置100は、一度被写体を分離して各々のリグ入りボリュメトリックを生成することにより、各々の被写体ごとにリターゲットが可能になるため、より柔軟に複数被写体のボリュメトリックを生成することができる。例えば、映像処理装置100の管理者は、手作業でフレームに含まれる被写体を分割し、それぞれに生成したボリュメトリックにしてリグ入れ処理をすることで、各々の被写体のボリュメトリックを得ることができる。これにより、映像処理装置100は、各々のボリュメトリックを任意に配置するなど柔軟な映像生成が可能になるので、例えばダンスシーンなどの撮影後に位置を微調整したいという要求に応えることができる。
 なお、映像処理装置100は、機械学習モデル等を利用して自動的に被写体を分離し、リグ入りボリュメトリックを生成してもよい。全てのフレームを目視の上、手作業で被写体を分割することは現実的でないため、自動化するメリットは大きい。
 なお、映像処理装置100は、複数のシルエット画像から一人のシルエットを生成する手法として、異なる手法を採ることもできる。具体的には、映像処理装置100に係る適用部133は、複数の被写体の各々の3D骨格を各々の被写体に適用する場合に、少なくとも一つの被写体が含まれる複数の画像同士において、背景と分離された被写体に対応するデータの論理積をとることにより、適用先の被写体のデータを特定してもよい。この点について、図17を用いて説明する。図17は、実施形態に係る映像処理の第2の具体例を示す図(3)である。
 図17に示すフレーム270は、複数被写体のシルエットが重なっている状況を示す。また、フレーム272は、リグ入りボリュメトリックに基づいて、一人の被写体のみについて新たにシルエットを生成した状況を示す。なお、図12でも説明したように、フレーム272の領域274では、リターゲット処理においてノイズが発生し、一部の欠けがみられるものとする。
 この場合に、映像処理装置100は、フレーム270とフレーム272においてシルエットと判定されている箇所の論理積(AND処理)をとる。すると、両フレームにおいてともにシルエットと判定されている箇所のみが抽出されるので、映像処理装置100は、フレーム276のように、適切な一人のシルエットを特定できる。この場合、映像処理装置100に係る生成部134は、特定された被写体の形状を補正し、補正後の3D骨格に基づいて、被写体の3Dデータを生成してもよい。例えば、生成部134は、フレーム276のシルエットに既知のモルフォロジー処理等を行い、シルエットの形状を補正することができる。具体的には、生成部134は、論理積をとったことにより本来よりも細身で表現されてしまう傾向にあるシルエットにモルフォロジー処理を行うことで、本来の形状に近づけることができる。なお、AND処理を行うことでノイズによる余分な形状が発生した場合等でも、かかる箇所は、他の角度から撮影したカメラによって削られることになるため問題とならないと想定される。
(1-12.実施形態の第2の具体例に係る映像処理の手順)
 次に、図18を用いて、実施形態に係る第2の具体例の手順について説明する。図18は、実施形態に係る映像処理の第2の具体例における手順を示すフローチャートである。
 図18に示すように、映像処理装置100は、多視点カメラから取得されたフレームのうち、理想的なフレームを検索する(ステップS401)。
 続いて、映像処理装置100は、理想的なフレームにおける複数の被写体について、それぞれにボリュメトリックを作成する(ステップS402)。さらに、映像処理装置100は、各モデル(各々の被写体のボリュメトリック)を分割し、リグ入りモデルを生成する(ステップS403)。そして、映像処理装置100は、複数被写体のボリュメトリック作成処理を開始する(ステップS404)。
 まず、映像処理装置100は、フレームに含まれる被写体を背景と分離し、シルエットを作成する(ステップS405)。そして、映像処理装置100は、作成したシルエットについて改善が必要か否かを判定する(ステップS406)。
 そして、映像処理装置100の管理者がシルエット改善が必要であると判定すると(ステップS406;Yes)、映像処理装置100は、当該フレームの被写体について骨格推定を行い、スケルトンデータを生成する(ステップS407)。
 続けて、映像処理装置100は、生成したスケルトンデータに対してモルフォロジー処理を行い、形状を補正する(ステップS408)。続いて、映像処理装置100は、補正したスケルトンデータに基づいて、リグ入りモデルをリターゲットする(ステップS409)。そして、映像処理装置100は、リターゲットされたデータをターゲットカメラに再投影する(ステップS410)。なお、映像処理装置100は、再投影のあとに、生成されたシルエットを補正するためのモルフォロジー処理等を行ってもよい。
 映像処理装置100は、ステップS406においてシルエット改善が必要でないと判定した場合(ステップS406;No)、または、ステップS410で新たに生成したシルエットを取得した場合、かかるシルエットに基づいて、ボリュメトリックを作成する(ステップS411)。
 映像処理装置100は、処理対象とするすべてのフレームについて、上記の処理を行ったかを判定する(ステップS412)。すべてのフレームを処理していない場合(ステップS412;No)、映像処理装置100は、ステップS405からの処理を繰り返す。一方、すべてのフレームを処理した場合(ステップS412;Yes)、映像処理装置100は、ボリュメトリック生成処理を終了する。
(1-13.実施形態の第2の具体例に係る映像処理におけるデータの流れ)
 次に、図19を用いて、実施形態の第2の具体例に係る映像処理におけるデータの流れについて説明する。図19は、実施形態に係る映像処理の第2の具体例におけるデータの流れを示すフローチャートである。
 まず、映像処理装置100は、所定の記憶領域にアクセスし、多視点カメラの撮影により得られた2次元画像およびカメラパラメータを取得する(ステップS501)。映像処理装置100は、取得したデータのうち理想的なフレームからリグ入りボリュメトリックを生成し、記憶領域に保存する(ステップS502)。また、映像処理装置100は、かかるリグ入りボリュメトリックを後段の処理で利用できるよう、リターゲット処理部に送る(ステップS503)。
 また、映像処理装置100は、不具合のあるシルエットが生成される2次元画像(フレーム)において、2次元画像に含まれる被写体のスケルトンデータを生成し(ステップS504)、記憶領域に保存する(ステップS505)。また、映像処理装置100は、かかるスケルトンデータを後段の処理で利用できるよう、リターゲット処理部に送る(ステップS506)。
 映像処理装置100は、スケルトンデータに基づき、リグ入りモデルのボリュメトリックのリターゲット処理を行い、リターゲットモデルを生成し、記憶領域に保存する(ステップS507)。
 映像処理装置100は、リターゲットモデルを多視点カメラに再投影し(ステップS508)、新たにシルエットを生成し、記憶領域に保存する(ステップS509)。そして、映像処理装置100は、新たに生成したシルエットを取得し(ステップS510)、モルフォロジー処理等の補正を行う。そして、映像処理装置100は、補正したシルエットを取得するとともに(ステップS511)、多視点カメラのカメラパラメータ等を取得し(ステップS512)、取得した情報に基づいてボリュメトリックを生成する。映像処理装置100は、生成した補正後ボリュメトリックを記憶領域に保存し(ステップS513)、処理を終了する。
(2.本開示の応用例)
(2-1.コンテンツの制作)
 例えば、映像処理装置100は、映像処理装置100が生成した被写体90の3Dモデル90Mと、他のサーバで管理されている3Dモデルとを合成して映像コンテンツを制作してもよい。また、例えば、Lidar等の撮像装置で背景データが存在している場合、被写体90の3Dモデル90Mと背景データとを組み合わせることで、映像処理装置100は、被写体90が、あたかも背景データで示す場所にいるようなコンテンツを制作することができる。
(2-2.仮想空間での体験)
 例えば、映像処理装置100は、ユーザがアバターとなってコミュニケーションを行う場である仮想空間の中に、ボリュメトリックである被写体90を配置することができる。この場合、ユーザは、アバターとなって仮想空間で実写の被写体90を視聴することが可能となる。
(2-3.遠隔地とのコミュニケーション)
 例えば、映像処理装置100は、被写体90の3Dモデル90Mを遠隔地に送信することにより、遠隔地にある再生装置を通じて遠隔地のユーザが被写体90の3Dモデル90Mを視聴することを可能にさせる。例えば、映像処理装置100は、被写体90の3Dモデル90Mをリアルタイムに伝送することにより、被写体90と遠隔地のユーザとがリアルタイムにコミュニケーションをとる状況を作り出すことができる。例えば、被写体90が先生であり、ユーザが生徒である場合や、被写体90が医者であり、ユーザが患者である場合等が想定できる。
(2-4.その他の活用例)
 例えば、映像処理装置100は、複数の被写体90の3Dモデル90Mに基づいて、スポーツ等の自由視点映像を生成することもできる。また、ユーザは、生成した自分のボリュメトリックを配信プラットフォームに配信することもできる。このように、本明細書に記載した実施形態における内容は、種々の技術やサービスに応用することができる。
(2-5.その他の実施形態)
 上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、適用部133と生成部134とは統合されてもよい。
 また、上述してきた各実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
(3.本開示に係る映像処理装置の効果)
 上述のように、本開示に係る映像処理装置(実施形態では映像処理装置100)は、推定部(実施形態では推定部132)と、適用部(実施形態では適用部133)と、生成部(実施形態では生成部134)とを備える。推定部は、被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する。適用部は、推定部によって推定された被写体の3D骨格を、多視点画像とは異なる他の画像に含まれる被写体であって、当該画像において背景と分離された被写体に適用する。推定部は、適用部によって3D骨格が適用された被写体の3Dデータを生成する。
 このように、本開示に係る映像処理装置は、3Dデータ(ボリュメトリック)生成の対象とする被写体の3D骨格を推定し、推定した3D骨格に基づいて3Dデータを生成する。これにより、映像処理装置は、すべてのフレームで連番のボリュメトリック映像を生成することを要しないため、処理のデータ量を削減できる。また、かかる映像処理は、特別な映像処理システムを必要としないため、システム構築にコストを掛けることなく、適切な3Dデータを得ることができる。これにより、映像処理装置は、3D形状の簡易な活用を実現することができる。
 また、適用部は、他の画像に含まれる被写体に付されたリグに基づいて、被写体の3D骨格を被写体に適用する。
 このように、映像処理装置は、理想的なフレームにおいてリグ入りのモデルを生成し、そのリグに基づいて3D骨格を被写体に適用するので、被写体の様々な動きに即したボリュメトリックを生成することができる。
 また、推定部は、連続に撮影された複数の多視点画像に基づいて、複数のフレームにおける被写体の3D骨格を推定する。生成部は、複数のフレームにおける被写体の3D骨格に基づいて、3Dデータとして、被写体のボリュメトリック動画を生成する。
 このように、映像処理装置は、リグ入りモデルを用いてスケルトンデータのみを動かし、かかるスケルトンデータに基づいてボリュメトリックを生成することで、連続したボリュメトリック映像であるボリュメトリック動画を簡易に作成することができる。
 また、推定部は、予め生成された第2の3Dデータに不具合が存在する場合には、当該第2の3Dデータに対応する多視点画像のフレームにおける被写体の3D骨格を推定する。適用部は、推定部によって推定された被写体の3D骨格を、第2の3Dデータに対応する多視点画像のフレームにおける被写体に適用する。生成部は、適用部によって3D骨格が適用された被写体の3Dデータを、第2の3Dデータに代えて生成する。また、生成部は、第2の3Dデータと被写体の3Dデータとの論理和をとることで、第3の3Dデータを生成してもよい。
 このように、映像処理装置は、スケルトンデータに基づいてリターゲットを行うので、分離処理等でノイズが発生したフレームの被写体に対しても、適切なボリュメトリックを生成することができる。
 また、推定部は、複数の被写体を含む多視点画像に基づいて、当該複数の被写体の各々の3D骨格を推定する。適用部は、複数の被写体の各々の3D骨格を、多視点画像とは異なる他の画像に含まれる各々の被写体に適用する。生成部は、適用部によって3D骨格が適用された各々の被写体の3Dデータを生成する。
 このように、映像処理装置は、複数の被写体に対しても同様にボリュメトリックを生成できる。これにより、映像処理装置は、被写体同士のオクルージョンによる形状の精度低下を軽減させたり、被写体ごとの別々のモデルを任意に配置するようなレンダリング時の位置調整を可能にさせたりすることができる。
 また、適用部は、複数の被写体の各々の3D骨格を各々の被写体に適用する場合に、少なくとも一つの被写体が含まれる複数の画像同士において、背景と分離された被写体に対応するデータの論理積をとることにより、適用先の被写体のデータを特定する。
 このように、映像処理装置は、被写体同士が重なるようなフレームにおいては論理積を用いて被写体を特定することで、各々の被写体のシルエットを適切に特定することができる。
 また、生成部は、特定された被写体の形状を補正し、補正後の3D骨格に基づいて、当該被写体の3Dデータを生成する。
 このように、映像処理装置は、補正を行うことにより、被写体本来の自然な形状でモデリングを行うことができる。
 また、生成部は、適用部によって3D骨格が適用された各々の被写体を一つにまとめた3Dデータを生成する。
 このように、映像処理装置は、実施形態に係る映像処理を用いて、複数の被写体が含まれるボリュメトリック動画を生成することもできる。映像処理装置によれば、各々の被写体のモデルの位置や大きさを任意に変更できるので、例えばユーザによるボリュメトリック動画の活用を促進することができる。
 なお、本技術は以下のような構成も取ることができる。
(1)
 被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する推定部と、
 前記推定部によって推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用する適用部と、
 前記適用部によって3D骨格が適用された被写体の3Dデータを生成する生成部と、
 を備える映像処理装置。
(2)
 前記適用部は、
 前記他の画像に含まれる前記被写体に付されたリグに基づいて、前記被写体の3D骨格を前記被写体に適用する、
 前記(1)に記載の映像処理装置。
(3)
 前記推定部は、
 連続に撮影された複数の前記多視点画像に基づいて、複数のフレームにおける前記被写体の3D骨格を推定し、
 前記生成部は、
 前記複数のフレームにおける前記被写体の3D骨格に基づいて、前記3Dデータとして、前記被写体のボリュメトリック動画を生成する、
 前記(1)または(2)に記載の映像処理装置。
(4)
 前記推定部は、
 予め生成された第2の3Dデータに不具合が存在する場合には、当該第2の3Dデータに対応する多視点画像のフレームにおける被写体の3D骨格を推定し、
 前記適用部は、
 前記推定部によって推定された前記被写体の3D骨格を、前記第2の3Dデータに対応する多視点画像のフレームにおける被写体に適用し、
 前記生成部は、
 前記適用部によって3D骨格が適用された被写体の3Dデータを、前記第2の3Dデータに代えて生成する、
 前記(1)~(3)のいずれか1つに記載の映像処理装置。
(5)
 前記生成部は、
 前記第2の3Dデータと前記被写体の3Dデータとの論理和をとることで、第3の3Dデータを生成する、
 前記(4)に記載の映像処理装置。
(6)
 前記推定部は、
 複数の被写体を含む前記多視点画像に基づいて、当該複数の被写体の各々の3D骨格を推定し、
 前記適用部は、
 前記複数の被写体の各々の3D骨格を、前記多視点画像とは異なる他の画像に含まれる各々の前記被写体に適用し、
 前記生成部は、
 前記適用部によって3D骨格が適用された各々の被写体の3Dデータを生成する、
 前記(1)~(5)のいずれか1つに記載の映像処理装置。
(7)
 前記適用部は、
 前記複数の被写体の各々の3D骨格を各々の前記被写体に適用する場合に、少なくとも一つの被写体が含まれる複数の画像同士において、背景と分離された前記被写体に対応するデータの論理積をとることにより、適用先の被写体のデータを特定する、
 前記(6)に記載の映像処理装置。
(8)
 前記生成部は、
 特定された前記被写体の形状を補正し、補正後の3D骨格に基づいて、当該被写体の3Dデータを生成する、
 前記(7)に記載の映像処理装置。
(9)
 前記生成部は、
 前記適用部によって3D骨格が適用された各々の被写体を一つにまとめた3Dデータを生成する、
 前記(6)または(7)に記載の映像処理装置。
(10)
 コンピュータが、
 被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定し、
 推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用し、
 前記3D骨格が適用された被写体の3Dデータを生成する、
 ことを含む映像処理方法。
(11)
 コンピュータを、
 被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する推定部と、
 前記推定部によって推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用する適用部と、
 前記適用部によって3D骨格が適用された被写体の3Dデータを生成する生成部と、
 を備えた映像処理装置として機能させるためのプログラム。
 100 映像処理装置
 110 通信部
 120 記憶部
 130 制御部
 131 取得部
 132 推定部
 133 適用部
 134 生成部
 135 出力部

Claims (11)

  1.  被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する推定部と、
     前記推定部によって推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用する適用部と、
     前記適用部によって3D骨格が適用された被写体の3Dデータを生成する生成部と、
     を備える映像処理装置。
  2.  前記適用部は、
     前記他の画像に含まれる前記被写体に付されたリグに基づいて、前記被写体の3D骨格を前記被写体に適用する、
     請求項1に記載の映像処理装置。
  3.  前記推定部は、
     連続に撮影された複数の前記多視点画像に基づいて、複数のフレームにおける前記被写体の3D骨格を推定し、
     前記生成部は、
     前記複数のフレームにおける前記被写体の3D骨格に基づいて、前記3Dデータとして、前記被写体のボリュメトリック動画を生成する、
     請求項1に記載の映像処理装置。
  4.  前記推定部は、
     予め生成された第2の3Dデータに不具合が存在する場合には、当該第2の3Dデータに対応する多視点画像のフレームにおける被写体の3D骨格を推定し、
     前記適用部は、
     前記推定部によって推定された前記被写体の3D骨格を、前記第2の3Dデータに対応する多視点画像のフレームにおける被写体に適用し、
     前記生成部は、
     前記適用部によって3D骨格が適用された被写体の3Dデータを、前記第2の3Dデータに代えて生成する、
     請求項1に記載の映像処理装置。
  5.  前記生成部は、
     前記第2の3Dデータと前記被写体の3Dデータとの論理和をとることで、第3の3Dデータを生成する、
     請求項4に記載の映像処理装置。
  6.  前記推定部は、
     複数の被写体を含む前記多視点画像に基づいて、当該複数の被写体の各々の3D骨格を推定し、
     前記適用部は、
     前記複数の被写体の各々の3D骨格を、前記多視点画像とは異なる他の画像に含まれる各々の前記被写体に適用し、
     前記生成部は、
     前記適用部によって3D骨格が適用された各々の被写体の3Dデータを生成する、
     請求項1に記載の映像処理装置。
  7.  前記適用部は、
     前記複数の被写体の各々の3D骨格を各々の前記被写体に適用する場合に、少なくとも一つの被写体が含まれる複数の画像同士において、背景と分離された前記被写体に対応するデータの論理積をとることにより、適用先の被写体のデータを特定する、
     請求項6に記載の映像処理装置。
  8.  前記生成部は、
     特定された前記被写体の形状を補正し、補正後の3D骨格に基づいて、当該被写体の3Dデータを生成する、
     請求項7に記載の映像処理装置。
  9.  前記生成部は、
     前記適用部によって3D骨格が適用された各々の被写体を一つにまとめた3Dデータを生成する、
     請求項6に記載の映像処理装置。
  10.  コンピュータが、
     被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定し、
     推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用し、
     前記3D骨格が適用された被写体の3Dデータを生成する、
     ことを含む映像処理方法。
  11.  コンピュータを、
     被写体を複数の視点から撮影した多視点画像に基づいて、当該被写体の3D骨格を推定する推定部と、
     前記推定部によって推定された前記被写体の3D骨格を、前記多視点画像とは異なる他の画像に含まれる前記被写体であって、当該画像において背景と分離された前記被写体に適用する適用部と、
     前記適用部によって3D骨格が適用された被写体の3Dデータを生成する生成部と、
     を備えた映像処理装置として機能させるためのプログラム。
PCT/JP2023/021294 2022-07-14 2023-06-08 映像処理装置、映像処理方法およびプログラム WO2024014197A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022113366 2022-07-14
JP2022-113366 2022-07-14

Publications (1)

Publication Number Publication Date
WO2024014197A1 true WO2024014197A1 (ja) 2024-01-18

Family

ID=89536634

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/021294 WO2024014197A1 (ja) 2022-07-14 2023-06-08 映像処理装置、映像処理方法およびプログラム

Country Status (1)

Country Link
WO (1) WO2024014197A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140168217A1 (en) * 2012-12-14 2014-06-19 Electronics And Telecommunications Research Institute Method of fitting virtual item using human body model and system for providing fitting service of virtual item
JP2020005150A (ja) * 2018-06-29 2020-01-09 日本放送協会 録画再生装置及びプログラム
JP2020065229A (ja) * 2018-10-19 2020-04-23 西日本電信電話株式会社 映像通信方法、映像通信装置及び映像通信プログラム
JP2021111380A (ja) * 2020-01-03 2021-08-02 ネイバー コーポレーションNAVER Corporation 入力映像に含まれた客体の3次元ポーズの推定のためのデータを生成する方法、コンピュータシステムおよび推論モデルを構築する方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140168217A1 (en) * 2012-12-14 2014-06-19 Electronics And Telecommunications Research Institute Method of fitting virtual item using human body model and system for providing fitting service of virtual item
JP2020005150A (ja) * 2018-06-29 2020-01-09 日本放送協会 録画再生装置及びプログラム
JP2020065229A (ja) * 2018-10-19 2020-04-23 西日本電信電話株式会社 映像通信方法、映像通信装置及び映像通信プログラム
JP2021111380A (ja) * 2020-01-03 2021-08-02 ネイバー コーポレーションNAVER Corporation 入力映像に含まれた客体の3次元ポーズの推定のためのデータを生成する方法、コンピュータシステムおよび推論モデルを構築する方法

Similar Documents

Publication Publication Date Title
US10096157B2 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
US10650590B1 (en) Method and system for fully immersive virtual reality
JP5654138B2 (ja) 3dヒューマンマシンインターフェースのためのハイブリッドリアリティ
US11223812B2 (en) Image processing apparatus and image processing method
JP2019061558A (ja) 画像処理装置、画像処理方法およびプログラム
CN109863754A (zh) 用于直播流化的虚拟现实360度视频相机系统
JP6778163B2 (ja) オブジェクト情報の複数面への投影によって視点映像を合成する映像合成装置、プログラム及び方法
JP2000067267A (ja) 三次元シーンにおける形状及び模様の復元方法及び装置
US20180302603A1 (en) Image processing apparatus and image processing method
US11652970B2 (en) Apparatus and method for representing a spatial image of an object in a virtual environment
US20180310025A1 (en) Method and technical equipment for encoding media content
WO2010038693A1 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
KR20230032893A (ko) 화상처리장치, 화상처리방법 및 기억 매체
US20220114784A1 (en) Device and method for generating a model of an object with superposition image data in a virtual environment
JP6799468B2 (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
WO2019122504A1 (en) Method for encoding and decoding volumetric video data
WO2024014197A1 (ja) 映像処理装置、映像処理方法およびプログラム
CA3155612A1 (en) Method and system for providing at least a portion of content having six degrees of freedom motion
JP6091850B2 (ja) テレコミュニケーション装置及びテレコミュニケーション方法
CN115222793A (zh) 深度图像的生成及显示方法、装置、系统、可读介质
Eisert et al. Volumetric video–acquisition, interaction, streaming and rendering
WO2023106117A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
WO2022259618A1 (ja) 情報処理装置、情報処理方法およびプログラム
WO2022249592A1 (ja) 情報処理装置、情報処理方法およびプログラム
WO2023218979A1 (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

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

Ref document number: 23839373

Country of ref document: EP

Kind code of ref document: A1