WO2020184174A1 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
WO2020184174A1
WO2020184174A1 PCT/JP2020/007592 JP2020007592W WO2020184174A1 WO 2020184174 A1 WO2020184174 A1 WO 2020184174A1 JP 2020007592 W JP2020007592 W JP 2020007592W WO 2020184174 A1 WO2020184174 A1 WO 2020184174A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
subject
texture
image processing
Prior art date
Application number
PCT/JP2020/007592
Other languages
English (en)
French (fr)
Inventor
伸明 泉
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2021504899A priority Critical patent/JPWO2020184174A1/ja
Priority to US17/310,850 priority patent/US20220084300A1/en
Priority to CN202080018826.4A priority patent/CN113544746A/zh
Publication of WO2020184174A1 publication Critical patent/WO2020184174A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Definitions

  • the present technology relates to an image processing device and an image processing method, and more particularly to an image processing device and an image processing method capable of reducing the processing load of drawing processing.
  • Various technologies have been proposed for the generation and transmission of 3D models. For example, a method has been proposed in which three-dimensional data of a 3D model of a subject is converted into a plurality of texture images and depth images taken from a plurality of viewpoints, transmitted to a playback device, and displayed on the playback side (for example, a patent). Reference 1).
  • the playback device it is necessary to determine which of the multiple texture images corresponding to the plurality of viewpoints can be used for pasting the color of the object to be drawn, and the processing load for this determination is high. It was big.
  • This technology was made in view of such a situation, and makes it possible to reduce the processing load of the drawing process on the playback side.
  • the image processing device of the first aspect of the present technology determines whether or not the subject is reflected in the texture image corresponding to the captured image captured by each of the plurality of imaging devices, and the determination result of the determination unit. It is provided with an output unit that is added to and output from the 3D shape data of the 3D model of the subject.
  • the image processing device determines whether or not the subject is reflected in the texture image corresponding to the captured image captured by each of the plurality of imaging devices, and the determination result is determined. It is added to the 3D shape data of the 3D model of the subject and output.
  • the determination result is the 3D shape of the 3D model of the subject. It is output in addition to the data.
  • the image processing device of the second aspect of the present technology is based on the 3D shape data with the judgment result, which is the 3D shape data of the 3D model of the subject, to which the judgment result indicating whether or not the subject is reflected in the texture image is added.
  • a drawing processing unit that generates an image of the 3D model is provided.
  • the image processing device adds a determination result indicating whether or not the subject is reflected in the texture image, and is 3D shape data of the 3D model of the subject.
  • a 3D model image is generated based on the shape data.
  • a 3D model is based on 3D shape data with a judgment result, which is 3D shape data of the 3D model of the subject, to which a judgment result indicating whether or not the subject is reflected in the texture image is added. Image is generated.
  • the image processing device of the first and second aspects of the present technology can be realized by causing a computer to execute a program.
  • the program executed by the computer can be provided by being transmitted via a transmission medium or recorded in a recording medium.
  • the image processing device may be an independent device, or may be an internal block that constitutes one device.
  • An image processing system to which this technology is applied receives a distribution side that generates and distributes a 3D model of an object from captured images obtained by imaging with multiple imaging devices and a 3D model transmitted from the distribution side. It consists of a playback side for playback display.
  • a plurality of captured images can be obtained by imaging a predetermined shooting space from the outer periphery thereof with a plurality of imaging devices.
  • the captured image is composed of, for example, a moving image. Then, using the captured images obtained from a plurality of imaging devices in different directions, a 3D model of a plurality of objects to be displayed in the shooting space is generated. Creating a 3D model of an object is also called rebuilding the 3D model.
  • FIG. 1 an example in which the shooting space is set to the field of a soccer stadium is shown, and players and the like on the field are photographed by a plurality of imaging devices arranged on the stand side, which is the outer circumference of the field. There is.
  • 3D model for example, players, referees, soccer balls, soccer goals, etc. on the field are extracted as objects, and a 3D model is generated (reconstructed) for each object.
  • the 3D model data (hereinafter, also referred to as 3D model data) of a large number of generated objects is stored in a predetermined storage device.
  • the 3D model of the predetermined object is transmitted according to the request of the reproduction side, and is reproduced and displayed on the reproduction side.
  • the playback side can request only the object to be viewed from among the many objects existing in the shooting space and display it on the display device.
  • the playback side assumes a virtual camera in which the viewing range of the viewer is the shooting range, requests only the objects captured by the virtual camera among a large number of objects existing in the shooting space, and makes the display device. Display it.
  • the viewpoint of the virtual camera can be set to any position so that the viewer can see the field from any viewpoint in the real world.
  • FIG. 2 is a block diagram showing a configuration example of an image processing system that realizes the image processing described in FIG.
  • the image processing system 1 receives and displays the 3D model data transmitted from the distribution side and the distribution side that generates and distributes 3D model data from a plurality of captured images obtained from the plurality of image pickup devices 21. It consists of the playback side.
  • the image pickup devices 21-1 to 21-N (N> 1) are arranged at different positions on the outer circumference of the subject, for example, as shown in FIG. 3, and image the subject, and the image data of the moving image obtained as a result. Is supplied to the generator 22.
  • FIG. 3 shows an example in which eight image pickup devices 21-1 to 21-8 are arranged. Each of the image pickup devices 21-1 to 21-8 images a subject from a direction different from that of the other image pickup devices 21. The position of each imaging device 21 on the world coordinate system is known.
  • the moving image generated by each imaging device 21 is composed of an captured image (RGB image) including an RGB wavelength.
  • RGB image a captured image obtained by capturing a subject
  • camera parameters include at least external and internal parameters.
  • the generation device 22 generates image data of the texture image of the subject and 3D shape data representing the 3D shape of the subject from the plurality of captured images supplied from each of the image pickup devices 21-1 to 21-N, and generates a plurality of image data. It is supplied to the distribution server 23 together with the camera parameters of the image pickup device 21.
  • the image data and 3D shape data of each object are also collectively referred to as 3D model data.
  • the generation device 22 acquires the captured image once stored in a predetermined storage unit such as a data server to generate 3D model data. You can also do it.
  • the distribution server 23 stores the 3D model data supplied from the generation device 22, and transmits the 3D model data to the playback device 25 via the network 24 in response to a request from the playback device 25.
  • the distribution server 23 has a transmission / reception unit 31 and a storage 32.
  • the transmission / reception unit 31 acquires the 3D model data and camera parameters supplied from the generation device 22 and stores them in the storage 32. Further, the transmission / reception unit 31 transmits 3D model data and camera parameters to the reproduction device 25 via the network 24 in response to a request from the reproduction device 25.
  • the transmission / reception unit 31 can acquire 3D model data and camera parameters from the storage 32 and transmit them to the playback device 25, and stores the 3D model data and camera parameters supplied from the generation device 22 in the storage 32. It is also possible to directly transmit (real-time distribution) to the reproduction device 25 without doing so.
  • the network 24 includes, for example, the Internet, a telephone network, a satellite communication network, various LANs (Local Area Network) including Ethernet (registered trademark), WAN (WIDe Area Network), and IP-VPN (Internet Protocol-Virtual Private Network). It is composed of a dedicated network such as.
  • LANs Local Area Network
  • Ethernet registered trademark
  • WAN WIDe Area Network
  • IP-VPN Internet Protocol-Virtual Private Network
  • the playback device 25 uses the 3D model data and camera parameters transmitted from the distribution server 23 via the network 24 to provide an image (object) of an object viewed from the viewer's viewing position supplied from the viewing position detection device 27. (Image) is generated (reproduced) and supplied to the display device 26. More specifically, the playback device 25 assumes a virtual camera in which the viewing range of the viewer is the shooting range, generates an image of an object captured by the virtual camera, and displays it on the display device 26.
  • the viewpoint (virtual viewpoint) of the virtual camera is specified by the virtual viewpoint information supplied from the viewing position detection device 27.
  • the virtual viewpoint information is composed of, for example, camera parameters (external parameters and internal parameters) of the virtual camera.
  • the display device 26 displays an object image supplied from the playback device 25.
  • the viewer views the object image displayed on the display device 26.
  • the viewing position detection device 27 detects the viewing position of the viewer and supplies virtual viewpoint information indicating the viewing position to the reproduction device 25.
  • the display device 26 and the viewing position detection device 27 may be configured as an integrated device.
  • the display device 26 and the viewing position detecting device 27 are composed of a head-mounted display, detect the position where the viewer has moved, the movement of the head, and the like, and detect the viewing position of the viewer.
  • the viewing position also includes the viewer's line-of-sight direction with respect to the object generated by the playback device 25.
  • the viewing position detection device 27 is composed of, for example, a controller that operates the viewing position.
  • the viewing position corresponding to the operation of the controller by the viewer is supplied from the viewing position detection device 27 to the playback device 25.
  • the playback device 25 causes the display device 26 to display an object image corresponding to the designated viewing position.
  • the display device 26 or the viewing position detection device 27 can also supply information on the display function of the display device 26, such as the image size and angle of view of the image displayed by the display device 26, to the playback device 25 as needed.
  • 3D model data of the objects corresponding to the viewpoint (virtual viewpoint) of the viewer is generated by the generation device 22 and distributed. It is transmitted to the reproduction device 25 via the server 23. Then, the reproduction device 25 reproduces the object image based on the 3D model data and displays it on the display device 26.
  • the generation device 22 is an image processing device that generates 3D model data of an object according to the viewpoint (virtual viewpoint) of the viewer, and the playback device 25 produces an object image based on the 3D model data generated by the generation device 22. This is an image processing device that is reproduced and displayed on the display device 26.
  • FIG. 4 shows an example of 3D model data transmitted from the distribution server 23 to the playback device 25.
  • the image data of the texture image of the object (subject) and the 3D shape data representing the 3D shape of the object are transmitted to the playback device 25.
  • the texture images of the objects to be transmitted are, for example, captured images P1 to P8 in which the imaging devices 21-1 to 21-8 each image the subject, as shown in FIG.
  • the 3D shape data of the object is, for example, mesh data in which the 3D shape of the subject is represented by a polygon mesh represented by the connection between the vertices of a triangle (triangle patch) as shown in FIG.
  • the playback device 25 When the playback device 25 generates an object image to be displayed on the display device 26 according to the viewpoint (virtual viewpoint) of the viewer, the playback device 25 is imaged by the plurality of image pickup devices 21 in the 3D shape of the object represented by the polygon mesh.
  • An object image is generated by pasting color information (RBG value) based on multiple texture images.
  • the reproduction device 25 selects the texture images of a plurality of image pickup devices 21 close to the virtual viewpoint from the N texture images captured by the N image pickup devices 21 supplied from the distribution server 23. , Paste the color information into the 3D shape of the object.
  • the playback device 25 when the playback device 25 generates an object image in which the object Obj is viewed from the viewpoint (virtual viewpoint) of the virtual camera VCAM, the image pickup device 21-3 to the position close to the virtual camera VCAM Color information is pasted using the three texture images of 21-5.
  • a method of performing texture mapping using texture images obtained by a plurality of image pickup devices 21 close to the position of the virtual camera VCAM in this way is called View Dependent Rendering.
  • the color information of the drawing pixels is obtained by blending the color information of the three texture images by a predetermined method.
  • the value of the 3D shape data of the object may not always be accurate due to error or lack of accuracy.
  • the three-dimensional shape of the object is not accurate, there is an advantage that the error is smaller and the image quality can be improved by using the ray information from the image pickup device 21 near the viewing position.
  • color information that changes in the viewing direction, such as light reflection, can also be reproduced.
  • Object Obj2 exists near object Obj1.
  • the point P of the object Obj1 is not shown by the object Obj2. Therefore, of the two image pickup devices 21-A and 21-B near the position of the virtual camera VCAM, the texture image (color information) of the image pickup device 21-A can be used, but the texture image of the image pickup device 21-B. (Color information) cannot be used.
  • the texture image may not be used even in the imaging device 21 near the position of the virtual camera VCAM.
  • the playback device 25 that generates the playback display image generates a depth map that calculates the distance information (depth information) from the image pickup device 21 to the object, and draws a drawing point P on the texture image of the image pickup device 21. It was necessary to determine whether or not the image was captured, but there was a problem that this process was heavy.
  • the generation device 22 determines in advance whether or not the point P is reflected in the texture image of the image pickup device 21 to be transmitted to each point P constituting the drawing surface of the object. , The determination result is configured to be transmitted to the reproduction device 25 as a flag.
  • This flag is a flag indicating information on whether or not the image is captured in the texture image of the imaging device 21, and is called a visibility flag.
  • FIG. 7 shows an example of the visibility flags of the two imaging devices 21-A and 21-B that imaged the object Obj.
  • the visibility flag is also determined. For each point P on the surface of the object Obj, it is determined whether or not the image is captured for each imaging device 21.
  • the visibility flag_P1 (A, B) (1,1).
  • the visibility information of the N image pickup devices 21 is total N-bit information.
  • the generation device 22 In the image processing system 1, the generation device 22 generates a visibility flag and supplies it to the playback device 25 together with the 3D model data and camera parameters, so that the playback device 25 displays the drawing point P on the texture image of the image pickup device 21. There is no need to determine whether or not it is reflected. As a result, the drawing load of the reproduction device 25 can be reduced.
  • the generation device 22 Since the generation device 22 generates and provides the data expressed by the polygon mesh as the 3D shape data representing the 3D shape of the object, the generation device 22 generates the visibility flag for each triangle patch of the polygon mesh. Add.
  • FIG. 8 is a block diagram showing a detailed configuration example of the generation device 22.
  • the generation device 22 includes a distortion / color correction unit 41, a silhouette extraction unit 42, a voxel processing unit 43, a mesh processing unit 44, a depth map generation unit 45, a visibility determination unit 46, a packing unit 47, and an image transmission unit 48. Consists of.
  • Image data of moving images captured by each of the N image pickup devices 21 is supplied to the generation device 22.
  • the moving image is composed of a plurality of RGB texture images obtained in chronological order.
  • camera parameters for each of the N imaging devices 21 are also supplied to the generation device 22.
  • the camera parameters may be set (input) in the setting unit of the generation device 22 based on the user's operation without being supplied from the image pickup device 21.
  • the image data of the moving image from each imaging device 21 is supplied to the distortion / color correction unit 41, and the camera parameters are supplied to the voxel processing unit 43, the depth map generation unit 45, and the image transmission unit 48.
  • the distortion / color correction unit 41 corrects the lens distortion and color of each image pickup device 21 for N texture images supplied from the N image pickup devices 21. As a result, distortion and color variation between the N texture images are corrected, so that it is possible to suppress a sense of discomfort when the colors of the plurality of texture images are blended at the time of drawing.
  • the image data of the N textured images after the correction is supplied to the silhouette extraction unit 42 and the image transmission unit 48.
  • the silhouette extraction unit 42 generates a silhouette image representing the area of the subject, which is the object to be drawn, as a silhouette for each of the N corrected texture images supplied from the distortion / color correction unit 41.
  • the silhouette image is, for example, a binarized image in which the pixel value of each pixel is binarized to "0" or "1", the area of the subject is set to the pixel value of "1", and the image is represented in white. To. The area other than the subject is set to a pixel value of "0" and is represented in black.
  • the detection method for detecting the silhouette of the subject in the texture image is not particularly limited, and any method may be adopted.
  • a method in which two adjacent image pickup devices 21 are regarded as stereo cameras, the distance to the subject is calculated by calculating the parallax from the two texture images, and the silhouette is detected by separating the foreground and the background. Can be adopted.
  • a method of detecting silhouettes is adopted by using a background subtraction method in which a background image in which only the background that does not include the subject is captured is captured and held in advance, and the difference between the texture image and the background image is taken. You may.
  • the captured image will be more accurate.
  • the silhouette of the person inside can be detected.
  • the data of the N silhouette images generated from the N texture images is supplied to the voxel processing unit 43.
  • the voxel processing unit 43 generates a three-dimensional shape of an object by using the Visual Hull method of projecting N silhouette images supplied from the silhouette extraction unit 42 according to camera parameters and carving out the three-dimensional shape. (Restore.
  • the three-dimensional shape of an object is represented by voxel data indicating whether or not it belongs to the object, for example, in a three-dimensional grid (voxel) unit.
  • Voxel data representing the three-dimensional shape of the object is supplied to the mesh processing unit 44.
  • the mesh processing unit 44 converts the voxel data representing the three-dimensional shape of the object supplied from the voxel processing unit 43 into a polygon mesh data format that can be easily rendered by the display device.
  • An algorithm such as the Marching cube method can be used to convert the data format.
  • the mesh processing unit 44 supplies the mesh data after the format conversion represented by the triangle patch to the depth map generation unit 45, the visibility determination unit 46, and the packing unit 47.
  • the depth map generation unit 45 uses the camera parameters of the N imaging devices 21 and the mesh data representing the three-dimensional shape of the object to generate N depth images (depth maps) corresponding to the N texture images. Generate.
  • the two-dimensional coordinates (u, v) on the image captured by a certain imaging device 21 and the three-dimensional coordinates (X, Y, Z) on the world coordinate system of the object reflected in the image are the internal parameters A of the camera and the outside. It is expressed by the following equation (1) using the parameter R
  • Equation (1) m'is a matrix corresponding to the two-dimensional position of the image, and M is a matrix corresponding to the three-dimensional coordinates of the world coordinate system. Equation (1) is more specifically expressed by Equation (2).
  • (u, v) are two-dimensional coordinates on the image, and f x and f y are focal lengths. Further, C x and C y are principal points, and r 11 to r 13 , r 21 to r 23 , r 31 to r 33 , and t 1 to t 3 are parameters, and (X, Y, Z). ) Are the three-dimensional coordinates of the world coordinate system.
  • the three-dimensional coordinates corresponding to the two-dimensional coordinates of each pixel of the texture image can be obtained by using the camera parameters, so that the depth image corresponding to the texture image is generated. be able to.
  • the generated N depth images are supplied to the visibility determination unit 46.
  • the visibility determination unit 46 uses N depth images to determine whether or not each point on the object is reflected in the texture image captured by the imaging device 21 for each of the N texture images.
  • the processing of the visibility determination unit 46 will be described with reference to FIGS. 9 and 10.
  • the visibility determination unit 46 determines whether or not the point P of the object Obj1 shown in FIG. 9 is reflected in the texture images of the image pickup devices 21-A and 21-B will be described.
  • the coordinates of the point P of the object Obj1 are known from the mesh data representing the three-dimensional shape of the object supplied from the mesh processing unit 44.
  • Visibility determination unit 46 calculates the position of the point P in the object Obj1, the imaging apparatus 21-A projection screen coordinates obtained by projecting the imaging range of (i A, j A), and the coordinates (i A, j A)
  • the depth value d A of is acquired from the depth image of the image pickup apparatus 21-A supplied from the depth map generation unit 45.
  • the depth value stored in the coordinates (i A , j A ) of the depth image of the image pickup apparatus 21-A supplied from the depth map generation unit 45 becomes the depth value d A.
  • visibility determination unit 46 calculates the coordinates (i A, j A) and depth value d A and from the camera parameters of the imaging apparatus 21-A, the imaging apparatus 21-A of the projection screen coordinates (i A, j 3-dimensional coordinates (x a on the world coordinate system a), y a, calculates the z a).
  • the three-dimensional coordinates (x B , y B , z B ) on the world coordinate system of the coordinates (i B , j B ) on the projection screen of are calculated.
  • the visibility determination unit 46 determines whether or not the calculated three-dimensional coordinates (x, y, z) match the known coordinates of the point P of the object Obj1, so that the point P is the image pickup device 21. Judge whether it is reflected in the texture image of.
  • the three-dimensional coordinates (x B , y B , z B ) calculated for the image pickup apparatus 21-B are not the points P A but the coordinates of the point P B of the object Obj2. Therefore, since the point P ⁇ the point P B , it is determined that the point P of the object Obj1 is not reflected in the texture image of the image pickup apparatus 21-B.
  • the visibility determination unit 46 generates a visibility flag indicating a determination result of whether or not the object is reflected in the texture image of each imaging device 21 in units of triangular patches of mesh data which is a three-dimensional shape of the object. To do.
  • the visibility flag of "1" is set, and even a part of the area of the triangle patch is not shown in the texture image of the image pickup device 21. In that case, the visibility flag of "0" is set.
  • the visibility flags of each of the N imaging devices 21 are generated for one triangle patch, the visibility flags are N-bit information for one triangle patch.
  • the visibility determination unit 46 generates visibility information represented by N-bit information in units of triangular patches of mesh data, and supplies the visibility information to the packing unit 47.
  • the packing unit 47 packs (combines) the mesh data of the polygon mesh supplied from the mesh processing unit 44 and the visibility information supplied from the visibility determination unit 46, and generates mesh data with the visibility information.
  • FIG. 11 is a diagram illustrating an example of packing processing of mesh data and visibility information.
  • the visibility flag is N-bit information for one triangle patch.
  • mesh data data formats for polygon meshes include coordinate information for the three vertices of a triangle and information for the normal vector of the triangle (normal vector information). Since the normal vector information is not used in the present embodiment, N-bit visibility information can be stored in the data storage location of the normal vector information. It is assumed that the normal vector information is an area sufficient to store at least N bits of data.
  • VNx, VNy, VNz of the normal vector has a 32-bit data area
  • 22 bits are used for the normal vector and 10 bits are used for the visibility information. You may do so.
  • a storage location dedicated to the visibility information may be added.
  • the packing unit 47 adds the visibility information to the mesh data of the polygon mesh and generates the mesh data with the visibility information.
  • the packing unit 47 outputs the generated mesh data with the visibility information to the transmission / reception unit 31 of the distribution server 23.
  • the packing unit 47 is also an output unit that outputs the generated mesh data with visibility information to another device.
  • the image transmission unit 48 includes image data of N texture images after the image (texture image) captured by each of the N image pickup devices 21 is corrected by the distortion / color correction unit 41, and images of N units.
  • the camera parameters of each device 21 are output to the distribution server 23.
  • the image transmission unit 48 outputs N video streams, which are streams of moving images corrected by the distortion / color correction unit 41 in units of the imaging device 21, to the distribution server 23.
  • the image transmission unit 48 may output a coded stream compressed by a predetermined compression coding method to the distribution server 23. Camera parameters are transmitted separately from the video stream.
  • FIG. 12 is a block diagram showing a detailed configuration example of the reproduction device 25.
  • the playback device 25 has an unpacking unit 61, a camera selection unit 62, and a drawing processing unit 63.
  • the unpacking unit 61 performs the reverse processing of the packing unit 47 of the regenerator 25. That is, the unpacking unit 61 separates the mesh data with visibility information transmitted from the distribution server 23 as 3D shape data of the object into the visibility information and the mesh data of the polygon mesh, and the drawing processing unit 63. Supply.
  • the unpacking unit 61 is also a separation unit that separates the mesh data with the visibility information into the visibility information and the mesh data of the polygon mesh.
  • the camera parameters of each of the N imaging devices 21 are supplied to the camera selection unit 62.
  • the camera selection unit 62 selects the viewing position of the viewer from among the N imaging devices 21.
  • the closest M image pickup devices 21 are selected. Since the virtual viewpoint information is composed of the camera parameters of the virtual camera, M units can be selected by comparing with the camera parameters of each of the N image pickup devices 21.
  • the camera selection unit 62 requests the distribution server 23 for the image data of the texture image corresponding to the selected M image pickup devices 21 and acquires the image data.
  • the image data of the texture image is, for example, a video stream of 21 units of the imaging device.
  • the image data of this texture image is data in which distortion and color between the texture images are corrected by the generation device 22.
  • the camera selection unit 62 supplies the image data of the camera parameters and texture images corresponding to the selected M image pickup devices 21 to the drawing processing unit 63.
  • the drawing processing unit 63 performs rendering processing for drawing an image of an object based on the viewing position of the viewer. That is, the drawing processing unit 63 generates an image (object image) of the object viewed from the viewing position of the viewer based on the virtual viewpoint information supplied from the viewing position detection device 27, and supplies the image to the display device 26. Display it.
  • the drawing processing unit 63 refers to the visibility information supplied from the unpacking unit 61, and selects K texture images (K ⁇ M) in which drawing points are shown from among the M texture images. Further, the drawing processing unit 63 determines the texture image of L (L ⁇ K) to be preferentially used from among the selected K texture images.
  • L texture image a texture image in which the angle between the viewing position and the image pickup device 21 is small is adopted with reference to the three-dimensional position (shooting position) of the image pickup device 21 that has captured the K texture images.
  • the drawing processing unit 63 blends the color information (RGB value) of the determined L texture images, and determines the color information of the drawing point P of the object.
  • the blend ratio Blend (i) of the i-th texture image of the L images can be calculated by the following equations (3) and (4).
  • the angBlend (i) of the equation (3) represents the blending ratio of the i-th texture image before normalization
  • the angDiff (i) is the imaging device 21 that captured the i-th texture image and the viewing position.
  • angMAX represents the maximum value of angDiff (i) of L texture images.
  • the blending process of the L texture images is not limited to the above-mentioned process, and other methods may be used.
  • the blending calculation formula is, for example, when the viewing position comes to the same position as the image pickup device 21, it is close to the color information of the texture image obtained by the image pickup device 21, and when the viewing position changes between the image pickup devices 21. It is sufficient that the blend ratio Blend (i) changes smoothly both temporally and spatially, the number of textures L to be used is variable, and the like.
  • step S1 the generation device 22 acquires the camera parameters and the captured images supplied from each of the N image pickup devices 21.
  • the image data of the captured image is supplied to the distortion / color correction unit 41, and the camera parameters are supplied to the voxel processing unit 43, the depth map generation unit 45, and the image transmission unit 48.
  • the captured image is a part of the moving image that is sequentially supplied, and is a texture image that defines the texture of the subject.
  • step S2 the distortion / color correction unit 41 corrects the lens distortion and color of each image pickup device 21 for N texture images.
  • the corrected N texture images are supplied to the silhouette extraction unit 42 and the image transmission unit 48.
  • step S3 the silhouette extraction unit 42 generates a silhouette image representing the area of the subject as an object as a silhouette for each of the N corrected texture images supplied from the distortion / color correction unit 41. It is supplied to the voxel processing unit 43.
  • step S4 the voxel processing unit 43 projects N silhouette images supplied from the silhouette extraction unit 42 according to the camera parameters, and uses the Visual Hull method of carving out the three-dimensional shape of the object 3 Generate (restore) a dimensional shape. Voxel data representing the three-dimensional shape of the object is supplied to the mesh processing unit 44.
  • step S5 the mesh processing unit 44 converts the voxel data representing the three-dimensional shape of the object supplied from the voxel processing unit 43 into a polygon mesh data format.
  • the mesh data after the format conversion is supplied to the depth map generation unit 45, the visibility determination unit 46, and the packing unit 47.
  • step S6 the depth map generation unit 45 corresponds to N texture images (after color / distortion correction) by using the camera parameters of N imaging devices 21 and the mesh data representing the three-dimensional shape of the object. Generate N depth images. The generated N depth images are supplied to the visibility determination unit 46.
  • step S7 the visibility determination unit 46 performs a visibility determination process for determining whether or not each point on the object is reflected in the texture image captured by the imaging device 21 for each of the N texture images.
  • the visibility determination unit 46 supplies the visibility information of the mesh data in units of triangular patches, which is the result of the visibility determination processing, to the packing unit 47.
  • step S8 the packing unit 47 packs the mesh data of the polygon mesh supplied from the mesh processing unit 44 and the visibility information supplied from the visibility determination unit 46, and generates mesh data with the visibility information. Then, the packing unit 47 outputs the generated mesh data with the visibility information to the distribution server 23.
  • step S9 the image transmission unit 48 outputs the image data of N texture images corrected by the distortion / color correction unit 41 and the camera parameters of each of the N image pickup devices 21 to the distribution server 23.
  • steps S8 and S9 are in no particular order. That is, the process of step S9 may be executed before the process of step S8, or the processes of step S8 and step S9 may be performed at the same time.
  • steps S1 to S9 described above are repeatedly executed while the captured images are supplied from the N imaging devices 21.
  • the visibility determination unit 46 calculates the coordinates (i, j) on the projection screen obtained by projecting a predetermined point P on the object to be drawn on the reproduction side onto the image pickup apparatus 21.
  • the coordinates of the point P are known from the mesh data representing the three-dimensional shape of the object supplied from the mesh processing unit 44.
  • step S22 the visibility determination unit 46 acquires the depth value d of the coordinates (i, j) from the depth image of the image pickup device 21 supplied from the depth map generation unit 45.
  • the depth value stored in the coordinates (i, j) of the depth image of the image pickup apparatus 21 supplied from the depth map generation unit 45 is the depth value d.
  • step S23 the visibility determination unit 46 uses the coordinates (i, j), the depth value d, and the camera parameters of the image pickup device 21 on the world coordinate system of the coordinates (i, j) on the projection screen of the image pickup device 21.
  • the three-dimensional coordinates (x, y, z) are calculated.
  • step S24 the visibility determination unit 46 determines whether the calculated three-dimensional coordinates (x, y, z) on the world coordinate system are the same as the coordinates of the point P. For example, when the calculated three-dimensional coordinates (x, y, z) on the world coordinate system are within a predetermined error range with respect to the coordinates of the known point P, they are the same as the coordinates of the point P. It is judged.
  • step S24 If it is determined in step S24 that the three-dimensional coordinates (x, y, z) calculated from the projection screen projected onto the image pickup apparatus 21 are the same as the point P, the process proceeds to step S25, and the visibility determination unit 46 moves. , It is determined that the point P is reflected in the texture image of the image pickup apparatus 21, and the process is terminated.
  • step S24 if it is determined in step S24 that the three-dimensional coordinates (x, y, z) calculated from the projection screen projected onto the image pickup apparatus 21 are not the same as the point P, the process proceeds to step S26 and the visibility determination unit 46 determines that the point P is not reflected in the texture image of the image pickup apparatus 21, and ends the process.
  • FIG. 15 is a flowchart of the camera selection process by the camera selection unit 62 of the playback device 25.
  • step S41 the camera selection unit 62 acquires the camera parameters of the N imaging devices 21 and the virtual viewpoint information indicating the viewing position of the viewer.
  • the camera parameters of each of the N image pickup devices 21 are supplied from the distribution server 23, and the virtual viewpoint information is supplied from the viewing position detection device 27.
  • step S42 the camera selection unit 62 selects M image pickup devices 21 close to the viewing position of the viewer from among N image pickup devices 21 based on the virtual viewpoint information.
  • step S43 the camera selection unit 62 requests and acquires the image data of the texture image of the selected M image pickup devices 21 from the distribution server 23.
  • the image data of the texture images of the M image pickup devices 21 is transmitted from the distribution server 23 as M video streams.
  • step S44 the camera selection unit 62 supplies the image data of the camera parameters and texture images corresponding to the selected M image pickup devices 21 to the drawing processing unit 63, and ends the processing.
  • FIG. 16 is a flowchart of drawing processing by the drawing processing unit 63.
  • the drawing processing unit 63 acquires the camera parameters and texture image image data corresponding to the M image pickup devices 21, and the mesh data and visibility information of the object.
  • the drawing processing unit 63 also acquires virtual viewpoint information indicating the viewing position of the viewer, which is supplied from the viewing position detecting device 27.
  • step S62 the drawing processing unit 63 determines the intersection of the vector representing the viewer's line-of-sight direction and each triangular patch surface of the mesh data, thereby determining the coordinates (x, y,) of the drawing pixels in the three-dimensional space. z) is calculated.
  • the coordinates (x, y, z) of the drawing pixels in the three-dimensional space are referred to as drawing points.
  • step S63 the drawing processing unit 63 determines, for each of the M image pickup devices 21, whether or not the drawing points are reflected in the texture image of the image pickup device 21 with reference to the visibility information. It is assumed that the number of texture images showing the drawing points determined here is K (K ⁇ M).
  • step S64 the drawing processing unit 63 determines the L (L ⁇ K) texture image to be used preferentially from the K texture images in which the drawing points are shown.
  • the L texture images the texture image of the imaging device 21 having a small angle with respect to the viewing position is adopted.
  • step S65 the drawing processing unit 63 blends the color information (RGB value) of the determined L texture images and determines the color information of the drawing point P of the object.
  • step S66 the drawing processing unit 63 writes the color information of the drawing point P of the object to the drawing buffer.
  • an object image corresponding to the viewing position is generated in the drawing buffer of the drawing processing unit 63 and displayed on the display device 26.
  • FIG. 17 is a block diagram showing a modified example of the generation device 22.
  • the generation device 22 according to the modification of FIG. 17 has a mesh subdivision unit 81 newly added between the mesh processing unit 44 and the packing unit 47. The difference is that they are.
  • the mesh subdivision unit 81 is supplied with mesh data representing the three-dimensional shape of the object from the mesh processing unit 44, and N depth images (depth maps) are supplied from the depth map generation unit 45.
  • the mesh subdivision unit 81 subdivides the triangle patch based on the mesh data supplied from the mesh processing unit 44 so that the boundary between “0” and “1” of the visibility flag becomes the boundary of the triangle patch.
  • the mesh subdivision unit 81 supplies the mesh data after the subdivision processing to the packing unit 47.
  • the mesh subdivision unit 81 passes the visibility information and the mesh data after the subdivision processing to the visibility determination unit 46 as necessary in the redivision process of the triangle patch.
  • the other configurations of the generator 22 of FIG. 17 are the same as the configurations of the generator 22 shown in FIG. 8, except that the mesh subdivision portion 81 performs the triangle patch subdivision process.
  • the mesh data before subdividing the object Obj11 reflected in the image pickup apparatus 21, in other words, the mesh data supplied from the mesh processing unit 44 to the mesh subdivision unit 81, are two, as shown in the upper right of FIG. Consists of triangular patches TR1 and TR2.
  • Object Obj12 exists in the inner area indicated by the two dashed lines of the two triangular patches TR1 and TR2. If even a part of the triangle patch is hidden, the visibility flag will be "0", so the visibility flags of the two triangle patches TR1 and TR2 will both be “0". The "0" in the triangular patches TR1 and TR2 represents the visibility flag.
  • the triangle patch TR1 is divided into triangle patches TR1a to TR1e
  • the triangle patch TR2 is divided into triangle patches TR2a to TR2e.
  • the visibility flags of the triangle patches TR1a, TR1b, and TR1e are "1", and the visibility flags of the triangle patches TR1c and TR1d are "0".
  • the visibility flags of the triangle patches TR2a, TR2d, and TR2e are "1", and the visibility flags of the triangle patches TR2b and TR2c are "0".
  • the "1" or "0" in the triangular patches TR1a to TR1e and the triangular patches TR2a to TR2e represents the visibility flag. Due to the subdivision process, the boundary of occlusion also becomes the boundary between the visibility flags "1" and "0".
  • FIG. 19 is a diagram illustrating a procedure for subdividing the triangular patch.
  • a in FIG. 19 shows the state before the subdivision process.
  • the mesh subdivision unit 81 applies the triangular patch supplied from the mesh processing unit 44 to the boundary of the visibility flag based on the result of the visibility determination processing executed by the visibility determination unit 46. Divide by.
  • the mesh subdivision unit 81 determines whether or not a polygon other than the triangle is included as a result of dividing the triangular patch supplied from the mesh processing unit 44.
  • the mesh subdivision portion 81 connects the vertices of the polygon and further divides the polygon so that the polygon becomes a triangle.
  • FIG. 20 is a flowchart of the triangular patch subdivision process.
  • step S81 the mesh subdivision unit 81 divides the triangular patch supplied from the mesh processing unit 44 at the boundary of the visibility flag based on the result of the visibility determination processing executed by the visibility determination unit 46. ..
  • step S82 the mesh subdivision unit 81 determines whether or not a polygon other than the triangle is included in the state after the triangle patch is divided at the boundary of the visibility flag.
  • step S82 If it is determined in step S82 that a polygon other than a triangle is included, the process proceeds to step S83, and the mesh subdivision portion 81 connects the vertices of the polygon other than the triangle to many other than the triangle. Divide the polygon further so that the polygon becomes a triangle.
  • step S82 determines whether a polygon other than a triangle is included. If it is determined in step S82 that a polygon other than a triangle is not included, the process of step S83 is skipped.
  • the mesh data is the visibility determination unit. It is supplied to the 46 and the packing unit 47, and the subdivision process is completed.
  • the visibility determination unit 46 generates visibility information for the mesh data after subdivision.
  • the visibility determination unit 46 and the mesh subdivision unit 81 may be composed of one block.
  • the generation device 22 by matching the boundary between the visibility flags “1” and “0” with the boundary of the triangular patch, whether or not the image is captured in the texture image of the image pickup device 21 is more accurately reflected. Therefore, the image quality of the object image generated on the playback side can be improved.
  • the generation device 22 generates the visibility flag in units of triangular patches of the mesh data which is the three-dimensional shape of the object, and supplies the mesh data with the visibility information to the reproduction device 25.
  • the playback device 25 can the texture image (correctly, the corrected texture image) of each image pickup device 21 transmitted from the distribution side be used for pasting the color information (RGB value) of the display object? There is no need to determine whether or not.
  • visibility determination processing it is necessary to generate a depth image and determine from the depth information whether or not the image is within the shooting range of the imaging device 21, which requires a large amount of calculation and is a heavy process. Was there.
  • the number of objects can be increased or decreased. For example, it is possible to reduce the number of objects and select and draw only the necessary objects, or add and draw an object that does not exist at the time of shooting.
  • the texture image (corrected texture image) of each imaging device 21 is transmitted to the reproduction side without compression coding, but it may be compressed by a moving image codec and transmitted.
  • the data format of the 3D shape data may be another data format.
  • the data format of the 3D shape data may be used as a point cloud or a depth map, and visibility information may be added to the 3D shape data for transmission. In this case, visibility information can be added in units of points or pixels.
  • the visibility information is represented by two values (“0” or “1”) as to whether or not it is reflected in all the triangle patches, but it may be represented by three or more values. For example, “3” when the three vertices of the triangle patch are shown, “2” when the two vertices are shown, “1” when the one point is shown, and all are hidden. The case may be expressed by 2 bits (4 values) such as "0".
  • the series of processes described above can be executed by hardware or by software.
  • the programs constituting the software are installed on the computer.
  • the computer includes a microcomputer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 21 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 305 is further connected to the bus 304.
  • An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
  • the input unit 306 includes a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 307 includes a display, a speaker, an output terminal, and the like.
  • the storage unit 308 includes a hard disk, a RAM disk, a non-volatile memory, and the like.
  • the communication unit 309 includes a network interface and the like.
  • the drive 310 drives a removable recording medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 301 loads the program stored in the storage unit 308 into the RAM 303 via the input / output interface 305 and the bus 304 and executes the above-described series. Is processed.
  • the RAM 303 also appropriately stores data and the like necessary for the CPU 301 to execute various processes.
  • the program executed by the computer (CPU 301) can be provided by being recorded in a removable recording medium 311 such as a package medium, for example. Programs can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be installed in the storage unit 308 via the input / output interface 305 by mounting the removable recording medium 311 in the drive 310. Further, the program can be received by the communication unit 309 via a wired or wireless transmission medium and installed in the storage unit 308. In addition, the program can be installed in advance in the ROM 302 or the storage unit 308.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and processed jointly.
  • each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • the present technology can have the following configurations.
  • a determination unit that determines whether or not the subject is reflected in the texture image corresponding to the captured image captured by each of the plurality of imaging devices.
  • An image processing device including an output unit that adds and outputs the determination result of the determination unit to the 3D shape data of the 3D model of the subject.
  • the determination unit determines whether or not the subject is captured as the determination result in units of triangular patches of the polygon mesh.
  • the subdivision portion for dividing the triangular patch is further provided so that the boundary of the determination result indicating whether or not the subject is captured coincides with the boundary of the triangular patch of the 3D model of the subject (1) to (6). ).
  • the image processing apparatus according to any one of. (8)
  • the image processing device An image processing method that determines whether or not a subject appears in the texture image corresponding to the captured image captured by each of the plurality of imaging devices, and adds the determination result to the 3D shape data of the 3D model of the subject and outputs the result. ..
  • a drawing processing unit that generates an image of the 3D model based on the 3D shape data with the judgment result, which is the 3D shape data of the 3D model of the subject, to which the judgment result indicating whether the subject is reflected in the texture image is added.
  • An image processing device provided.
  • a camera selection unit for selecting M (M ⁇ N) imaging devices from among N imaging devices and acquiring M texture images corresponding to the M imaging devices is further provided.
  • the drawing processing unit refers to the determination result from the M texture images and selects K (K ⁇ M) texture images in which the subject is captured.
  • the image processing apparatus (12) The image processing apparatus according to (11), wherein the drawing processing unit blends color information of L (L ⁇ K) texture images among the K texture images to generate an image of the 3D model. .. (13) The image processing apparatus according to any one of (10) to (12), further comprising a separation unit that separates the 3D shape data with the determination result into the determination result and the 3D shape data. (14) The image processing device An image processing method for generating an image of a 3D model based on 3D shape data with a determination result, which is 3D shape data of the 3D model of the subject, to which a determination result indicating whether or not the subject is reflected in the texture image is added.

Abstract

本技術は、描画処理の処理負荷を低減できるようにする画像処理装置および画像処理方法に関する。 画像処理装置は、複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定する判定部と、判定部の判定結果を、被写体の3Dモデルの3D形状データに付加して出力する出力部とを備える。本技術は、例えば、オブジェクトの3Dモデルのデータを生成する画像処理装置等に適用できる。

Description

画像処理装置および画像処理方法
 本技術は、画像処理装置および画像処理方法に関し、特に、描画処理の処理負荷を低減できるようにした画像処理装置および画像処理方法に関する。
 3Dモデルの生成や伝送について、各種の技術が提案されている。例えば、被写体の3Dモデルの3次元データを、複数の視点から撮影した複数のテクスチャ画像およびデプス画像に変換して再生装置に伝送し、再生側で表示する方法が提案されている(例えば、特許文献1参照)。
国際公開第2017/082076号
 再生装置では、複数の視点に対応する複数のテクスチャ画像のうち、どのテクスチャ画像が描画対象のオブジェクトの色の貼り付けに使用できるかどうかを判定する必要があり、この判定のための処理負荷が大きかった。
 本技術は、このような状況に鑑みてなされたものであり、再生側の描画処理の処理負荷を低減できるようにするものである。
 本技術の第1の側面の画像処理装置は、複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定する判定部と、前記判定部の判定結果を、前記被写体の3Dモデルの3D形状データに付加して出力する出力部とを備える。
 本技術の第1の側面の画像処理方法は、画像処理装置が、複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定し、その判定結果を、前記被写体の3Dモデルの3D形状データに付加して出力する。
 本技術の第1の側面においては、複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かが判定され、その判定結果が、前記被写体の3Dモデルの3D形状データに付加して出力される。
 本技術の第2の側面の画像処理装置は、テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、前記3Dモデルの画像を生成する描画処理部を備える。
 本技術の第2の側面の画像処理方法は、画像処理装置が、テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、3Dモデルの画像を生成する。
 本技術の第2の側面においては、テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、3Dモデルの画像が生成される。
 なお、本技術の第1および第2の側面の画像処理装置は、コンピュータにプログラムを実行させることにより実現することができる。コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本技術を適用した画像処理システムの概要について説明する図である。 本技術を適用した画像処理システムの構成例を示すブロック図である。 複数の撮像装置の配置例を説明する図である。 3Dモデルデータの例を説明する図である。 オブジェクトの3D形状に色情報を貼り付けるテクスチャ画像の選択を説明する図である。 オクルージョンがある場合のテクスチャ画像の貼り付けを説明する図である。 ビジビリティフラグの例を説明する図である。 生成装置の詳細な構成例を示すブロック図である。 ビジビリティ判定部の処理を説明する図である。 ビジビリティ判定部の処理を説明する図である。 メッシュデータとビジビリティ情報のパッキング処理の一例を説明する図である。 再生装置の詳細な構成例を示すブロック図である。 生成装置による3Dモデルデータ生成処理を説明するフローチャートである。 図13のステップS7のビジビリティ判定処理の詳細を説明するフローチャートである。 再生装置によるカメラ選択処理を説明するフローチャートである。 描画処理部による描画処理を説明するフローチャートである。 生成装置の変形例を示すブロック図である。 三角形パッチの再分割処理を説明する図である。 三角形パッチの再分割処理を説明する図である。 三角形パッチの再分割処理を説明する図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.画像処理システムの概要
2.画像処理システムの構成例
3.画像処理システムの特徴
4.生成装置22の構成例
5.再生装置25の構成例
6.3Dモデルデータ生成処理
7.ビジビリティ判定処理
8.カメラ選択処理
9.描画処理
10.変形例
11.コンピュータ構成例
<1.画像処理システムの概要>
 初めに、図1を参照して、本技術を適用した画像処理システムの概要について説明する。
 本技術を適用した画像処理システムは、複数の撮像装置で撮像して得られた撮像画像からオブジェクトの3Dモデルを生成して配信する配信側と、配信側から伝送されてくる3Dモデルを受け取り、再生表示する再生側とからなる。
 配信側においては、所定の撮影空間を、その外周から複数の撮像装置で撮像を行うことにより複数の撮像画像が得られる。撮像画像は、例えば、動画像で構成される。そして、異なる方向の複数の撮像装置から得られた撮像画像を用いて、撮影空間において表示対象となる複数のオブジェクトの3Dモデルが生成される。オブジェクトの3Dモデルの生成は、3Dモデルの再構成とも呼ばれる。
 図1の例では、撮影空間がサッカースタジアムのフィールドに設定された例が示されており、フィールドの外周であるスタンド側に配置された複数の撮像装置によって、フィールド上のプレイヤ等が撮影されている。3Dモデルの再構成により、例えば、フィールド上のプレイヤ、審判、サッカーボール、サッカーゴール、などがオブジェクトとして抽出され、各オブジェクトについて3Dモデルが生成(再構成)される。生成された多数のオブジェクトの3Dモデルのデータ(以下、3Dモデルデータとも称する。)は所定の記憶装置に格納される。
 そして、所定の記憶装置に格納された撮影空間に存在する多数のオブジェクトのうち、所定のオブジェクトの3Dモデルが、再生側の要求に応じて伝送され、再生側で、再生および表示される。
 再生側は、撮影空間に存在する多数のオブジェクトのうち、視聴対象のオブジェクトだけを要求して、表示装置に表示させることができる。例えば、再生側は、視聴者の視聴範囲が撮影範囲となるような仮想カメラを想定し、撮影空間に存在する多数のオブジェクトのうち、仮想カメラで捉えられるオブジェクトのみを要求して、表示装置に表示させる。実世界において視聴者が任意の視点からフィールドを見ることができるように、仮想カメラの視点は任意の位置に設定することができる。
 図1の例では、生成されたオブジェクトとしての多数のプレーヤのうち、四角で囲んだ3人のプレーヤのみが、表示装置で表示される。
<2.画像処理システムの構成例>
 図2は、図1で説明した画像処理を実現する画像処理システムの構成例を示すブロック図である。
 画像処理システム1は、複数の撮像装置21から得られた複数の撮像画像から3Dモデルのデータを生成して配信する配信側と、配信側から伝送されてくる3Dモデルのデータを受け取り、再生表示する再生側とからなる。
 撮像装置21-1乃至21-N(N>1)は、例えば、図3に示されるように、被写体の外周の異なる位置に配置されて被写体を撮像し、その結果得られる動画像の画像データを生成装置22に供給する。図3は、8台の撮像装置21-1乃至21-8を配置した例である。撮像装置21-1乃至21-8それぞれは、他の撮像装置21と異なる方向から被写体を撮像する。各撮像装置21のワールド座標系上の位置は既知とする。
 本実施の形態では、各撮像装置21が生成する動画像は、RGBの波長を含む撮像画像(RGB画像)で構成される。各撮像装置21は、被写体を撮像した動画像(RGB画像)の画像データと、カメラパラメータを、生成装置22に供給する。カメラパラメータには、外部パラメータおよび内部パラメータが少なくとも含まれる。
 生成装置22は、撮像装置21-1乃至21-Nそれぞれから供給される複数の撮像画像から、被写体のテクスチャ画像の画像データと、被写体の3D形状を表した3D形状データを生成し、複数の撮像装置21のカメラパラメータとともに、配信サーバ23に供給する。以下では、各オブジェクトの画像データおよび3D形状データを、まとめて3Dモデルデータとも称する。
 なお、生成装置22は、撮像装置21-1乃至21-Nから撮像画像を直接取得する代わりに、データサーバなど所定の記憶部に一旦記憶された撮像画像を取得して、3Dモデルデータを生成することもできる。
 配信サーバ23は、生成装置22から供給される3Dモデルデータを記憶したり、再生装置25からの要求に応じて、3Dモデルデータを、ネットワーク24を介して再生装置25に送信する。
 配信サーバ23は、送受信部31と、ストレージ32とを有する。
 送受信部31は、生成装置22から供給される3Dモデルデータとカメラパラメータを取得し、ストレージ32に記憶する。また、送受信部31は、再生装置25からの要求に応じて、3Dモデルデータとカメラパラメータを、ネットワーク24を介して再生装置25に送信する。
 なお、送受信部31は、ストレージ32から3Dモデルデータとカメラパラメータを取得して、再生装置25に送信することもできるし、生成装置22から供給された3Dモデルデータとカメラパラメータをストレージ32に記憶することなく、直接、再生装置25に送信(リアルタイム配信)することもできる。
 ネットワーク24は、例えば、インターネット、電話回線網、衛星通信網、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(WIDe Area Network)、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網などで構成される。
 再生装置25は、ネットワーク24を介して配信サーバ23から送信されてくる3Dモデルデータとカメラパラメータを用いて、視聴位置検出装置27から供給される視聴者の視聴位置から見たオブジェクトの画像(オブジェクト画像)を生成(再生)し、表示装置26に供給する。より具体的には、再生装置25は、視聴者の視聴範囲が撮影範囲となるような仮想カメラを想定し、仮想カメラで捉えられるオブジェクトの画像を生成し、表示装置26に表示させる。仮想カメラの視点(仮想視点)は、視聴位置検出装置27から供給される仮想視点情報によって特定される。仮想視点情報は、例えば、仮想カメラのカメラパラメータ(外部パラメータおよび内部パラメータ)で構成される。
 表示装置26は、再生装置25から供給されるオブジェクト画像を表示する。視聴者は、表示装置26に表示されたオブジェクト画像を視聴する。視聴位置検出装置27は、視聴者の視聴位置を検出し、その視聴位置を示す仮想視点情報を再生装置25に供給する。
 表示装置26と視聴位置検出装置27は、一体の装置で構成されてもよい。例えば、表示装置26と視聴位置検出装置27は、ヘッドマウントディスプレイで構成され、視聴者が移動した位置、頭部の動き等を検出し、視聴者の視聴位置を検出する。視聴位置には、再生装置25が生成するオブジェクトに対する視聴者の視線方向も含む。
 表示装置26と視聴位置検出装置27が別々の装置で構成される例としては、例えば、視聴位置検出装置27が、例えば、視聴位置を操作するコントローラ等で構成される。この場合、視聴者によるコントローラの操作に応じた視聴位置が、視聴位置検出装置27から再生装置25に供給される。再生装置25は、指定された視聴位置に対応するオブジェクト画像を表示装置26に表示させる。
 表示装置26または視聴位置検出装置27は、表示装置26が表示する画像の画像サイズや画角など、表示装置26の表示機能に関する情報を、必要に応じて再生装置25に供給することもできる。
 以上のように構成される画像処理システム1では、撮影空間に存在する多数のオブジェクトのうち、視聴者の視点(仮想視点)に応じたオブジェクトの3Dモデルデータが、生成装置22で生成され、配信サーバ23を介して再生装置25に伝送される。そして、再生装置25では、3Dモデルデータに基づくオブジェクト画像が再生され、表示装置26に表示される。生成装置22は、視聴者の視点(仮想視点)に応じたオブジェクトの3Dモデルデータを生成する画像処理装置であり、再生装置25は、生成装置22で生成された3Dモデルデータに基づくオブジェクト画像を再生させ、表示装置26に表示させる画像処理装置である。
<3.画像処理システムの特徴>
 次に、図4乃至図7を参照して、画像処理システム1の特徴について説明する。
 図4は、配信サーバ23から再生装置25に伝送される3Dモデルデータの例を示している。
 再生装置25には、3Dモデルデータとして、オブジェクト(被写体)のテクスチャ画像の画像データと、オブジェクトの3D形状を表した3D形状データとが伝送される。
 伝送されるオブジェクトのテクスチャ画像は、例えば、図4に示されるような、撮像装置21-1乃至21-8それぞれが被写体を撮像した撮像画像P1乃至P8である。
 オブジェクトの3D形状データとは、例えば、図4に示されるような、被写体の3D形状を、三角形(三角形パッチ)の頂点間のつながりで表したポリゴンメッシュで表現したメッシュデータである。
 再生装置25は、視聴者の視点(仮想視点)に応じて表示装置26に表示させるオブジェクト画像を生成する際、ポリゴンメッシュで表現されたオブジェクトの3D形状に、複数の撮像装置21で撮像された複数のテクスチャ画像に基づく色情報(RBG値)を貼り付けることで、オブジェクト画像を生成する。
 ここで、再生装置25は、配信サーバ23から供給されてくるN台の撮像装置21で撮像されたN枚のテクスチャ画像のうち、仮想視点に近い複数の撮像装置21のテクスチャ画像を選択して、オブジェクトの3D形状に色情報を貼り付ける。
 例えば、再生装置25は、図5に示されるように、オブジェクトObjを仮想カメラVCAMの視点(仮想視点)から見たオブジェクト画像を生成する場合、仮想カメラVCAMに近い位置の撮像装置21-3乃至21-5の3台のテクスチャ画像を用いて色情報を貼り付ける。このように、仮想カメラVCAMの位置に近い複数の撮像装置21で得られたテクスチャ画像を用いてテクスチャマッピングを行う方式を、ビューデペンデントレンダリング(View Dependentレンダリング)という。なお、描画画素の色情報は、3枚のテクスチャ画像の色情報を所定の方式でブレンドして求められる。
 オブジェクトの3D形状データの値は、誤差や精度不足で必ずしも正確ではないことがある。オブジェクトの3次元形状が正確でない場合、視聴位置に近い撮像装置21からの光線情報を利用する方が誤差が少なく、高画質化できるメリットがある。また、ビューデペンデントレンダリングでは、光の反射のように、見る方向で変化する色情報も再現可能である。
 ところで、オブジェクトが撮像装置21の画角内に入っていても、他のオブジェクトと重なっている場合がある。
 例えば、図6に示されるように、仮想カメラVCAMの位置に近い撮像装置21として、2台の撮像装置21-Aおよび21-Bが選択され、オブジェクトObj1の点Pの色情報を貼り付ける場合を考える。
 オブジェクトObj1の近くにはオブジェクトObj2が存在している。撮像装置21-Bのテクスチャ画像は、オブジェクトObj2によってオブジェクトObj1の点Pが写っていない。したがって、仮想カメラVCAMの位置に近い2つの撮像装置21-Aおよび21-Bのうち、撮像装置21-Aのテクスチャ画像(色情報)は使うことができるが、撮像装置21-Bのテクスチャ画像(色情報)は使うことができない。
 このように、オブジェクトに重なり(オクルージョン)がある場合には、仮想カメラVCAMの位置に近い撮像装置21であっても、そのテクスチャ画像(色情報)を使えない場合がある。
 このため、通常は、再生表示画像を生成する再生装置25が、撮像装置21からのオブジェクトまでの距離情報(奥行き情報)を算出したデプスマップを生成し、撮像装置21のテクスチャ画像に描画点Pが写っているか否かを判定する必要があったが、この処理が重いという問題があった。
 そこで、画像処理システム1では、生成装置22が、オブジェクトの描画面を構成する各点Pに対して、伝送する撮像装置21のテクスチャ画像に、その点Pが写っているか否かを予め判定し、その判定結果を、フラグとして再生装置25に伝送するように構成されている。このフラグは、撮像装置21のテクスチャ画像に写っているかどうかの情報を表すフラグであり、ビジビリティフラグ(visibility flag)と称する。
 図7は、オブジェクトObjを撮像した2台の撮像装置21-Aおよび21-Bのビジビリティフラグの例を示している。
 オブジェクトObj表面の点Pが定まると、ビジビリティフラグも定まる。オブジェクトObj表面の各点Pに対して、撮像装置21ごとに写る/写らないが決定する。
 図7の例では、オブジェクトObj表面の点P1は、撮像装置21-Aおよび21-Bの両方に写っているので、ビジビリティフラグ_P1(A,B)=(1,1)となる。オブジェクトObj表面の点P2は、撮像装置21-Aには写っていないが、撮像装置21-Bには写っているので、ビジビリティフラグ_P2(A,B)=(0,1)となる。
 オブジェクトObj表面の点P3は、撮像装置21-Aおよび21-Bの両方に写っていないので、ビジビリティフラグ_P3(A,B)=(0,0)となる。オブジェクトObj表面の点P4は、撮像装置21-Aには写っているが、撮像装置21-Bには写っていないので、ビジビリティフラグ_P2(A,B)=(1,0)となる。
 このように、オブジェクトObj表面の各点に対して撮像装置21毎に、ビジビリティフラグが決まるので、N台の撮像装置21のビジビリティ情報は、トータルNビットの情報となる。
 画像処理システム1では、生成装置22が、ビジビリティフラグを生成し、3Dモデルデータやカメラパラメータとともに再生装置25に供給することで、再生装置25で、撮像装置21のテクスチャ画像に、描画点Pが写っているか否かを判定する必要がない。これにより、再生装置25の描画負荷を軽減することができる。
 生成装置22は、オブジェクトの3D形状を表した3D形状データとして、ポリゴンメッシュで表現されたデータを生成して提供するので、生成装置22は、ポリゴンメッシュの三角形パッチ単位でビジビリティフラグを生成して付加する。
 以下、生成装置22と再生装置25の詳細な構成について説明する。
<4.生成装置22の構成例>
 図8は、生成装置22の詳細な構成例を示すブロック図である。
 生成装置22は、歪・色補正部41、シルエット抽出部42、ボクセル処理部43、メッシュ処理部44、デプスマップ生成部45、ビジビリティ判定部46、パッキング部47、および、画像送信部48を含んで構成される。
 生成装置22には、N台の撮像装置21それぞれで撮像された動画像の画像データが供給される。動画像は、時系列に得られたRGBの複数枚のテクスチャ画像で構成される。また、生成装置22には、N台の撮像装置21それぞれのカメラパラメータも供給される。なお、カメラパラメータは、撮像装置21から供給されずに、ユーザの操作に基づいて、生成装置22の設定部で設定(入力)されてもよい。
 各撮像装置21からの動画像の画像データは、歪・色補正部41に供給され、カメラパラメータは、ボクセル処理部43、デプスマップ生成部45、および、画像送信部48に供給される。
 歪・色補正部41は、N台の撮像装置21から供給される、N枚のテクスチャ画像に対して、各撮像装置21のレンズ歪と色の補正を行う。これにより、N枚のテクスチャ画像どうしの歪みや色のばらつきが補正されるため、描画時に複数枚のテクスチャ画像の色をブレンドした際の違和感を抑制することができる。補正後のN枚のテクスチャ画像の画像データは、シルエット抽出部42と画像送信部48に供給される。
 シルエット抽出部42は、歪・色補正部41から供給される補正後のN枚のテクスチャ画像それぞれに対して、描画対象のオブジェクトである被写体の領域をシルエットで表したシルエット画像を生成する。
 シルエット画像は、例えば、各画素の画素値が「0」または「1」に2値化された2値化画像であり、被写体の領域が「1」の画素値に設定され、白色で表現される。被写体以外の領域は、「0」の画素値に設定され、黒色で表現される。
 なお、テクスチャ画像内の被写体のシルエットを検出する検出方法は、特に限定されず、任意の手法を採用してよい。例えば、隣り合う2台の撮像装置21をステレオカメラと捉え、2枚のテクスチャ画像から視差を算出することで被写体までの距離を算出し、前景と背景を分離することでシルエットを検出する方法を採用することができる。また、被写体を含まない背景のみが撮像された背景画像を予め撮像して保持しておき、テクスチャ画像と背景画像との差分をとる背景差分法を用いることにより、シルエットを検出する方法を採用してもよい。または、Graph Cutとステレオビジョンを用いる方法("Bi-Layer segmentation of binocular stereo video" V.Kolmogorov, A.Blake et al. Microsoft Research Ltd., Cambridge, UK)を用れば、より精度良く撮像画像内の人物のシルエットを検出することができる。N枚のテクスチャ画像から生成された、N枚のシルエット画像のデータは、ボクセル処理部43に供給される。
 ボクセル処理部43は、シルエット抽出部42から供給されるN枚のシルエット画像を、カメラパラメータに従って投影し、3次元形状の削り出しを行うVisual Hullの手法を用いて、オブジェクトの3次元形状を生成(復元)する。オブジェクトの3次元形状は、例えば、3次元上の格子(voxel)単位で、オブジェクトに属するかまたは属さないかを表したボクセルデータで表される。オブジェクトの3次元形状を表すボクセルデータは、メッシュ処理部44に供給される。
 メッシュ処理部44は、ボクセル処理部43から供給されるオブジェクトの3次元形状を表すボクセルデータを、表示デバイスでレンダリング処理がしやすいポリゴンメッシュのデータ形式に変換する。データ形式の変換には、例えばマーチングキューブ法などのアルゴリズムを用いることができる。メッシュ処理部44は、三角形パッチで表現された形式変換後のメッシュデータを、デプスマップ生成部45、ビジビリティ判定部46、および、パッキング部47に供給する。
 デプスマップ生成部45は、N台の撮像装置21のカメラパラメータと、オブジェクトの3次元形状を表すメッシュデータとを用いて、N枚のテクスチャ画像に対応するN枚のデプス画像(デプスマップ)を生成する。
 ある撮像装置21が撮像した画像上の2次元座標(u,v)と、その画像に映るオブジェクトのワールド座標系上の3次元座標(X,Y,Z)は、カメラの内部パラメータAと外部パラメータR|tを用いて、以下の式(1)により表現される。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、m’は、画像の2次元位置に対応する行列であり、Mは、ワールド座標系の3次元座標に対応する行列である。式(1)は、より詳細には式(2)で表現される。
Figure JPOXMLDOC01-appb-M000002
 式(2)において、(u,v)は画像上の2次元座標であり、fx, fyは、焦点距離である。また、Cx, Cyは、主点であり、r11乃至r13,r21乃至r23,r31乃至r33、およびt乃至tは、パラメータであり、(X,Y,Z)は、ワールド座標系の3次元座標である。
 従って、式(1)や(2)により、カメラパラメータを用いて、テクスチャ画像の各画素の2次元座標に対応する3次元座標を求めることができるので、テクスチャ画像に対応するデプス画像を生成することができる。生成されたN枚のデプス画像は、ビジビリティ判定部46に供給される。
 ビジビリティ判定部46は、N枚のデプス画像を用いて、オブジェクト上の各点が、撮像装置21が撮像したテクスチャ画像に写っているか否かを、N枚のテクスチャ画像それぞれについて判定する。
 図9および図10を参照して、ビジビリティ判定部46の処理について説明する。
 例えば、図9に示されるオブジェクトObj1の点Pが、撮像装置21-Aおよび21-Bのそれぞれのテクスチャ画像に写っているかどうかをビジビリティ判定部46が判定する場合について説明する。ここで、オブジェクトObj1の点Pの座標は、メッシュ処理部44から供給されるオブジェクトの3次元形状を表すメッシュデータにより既知である。
 ビジビリティ判定部46は、オブジェクトObj1の点Pの位置を、撮像装置21-Aの撮像範囲に投影した投影画面上の座標(iA,jA)を計算し、座標(iA,jA)のデプス値dAを、デプスマップ生成部45から供給された撮像装置21-Aのデプス画像から取得する。デプスマップ生成部45から供給された撮像装置21-Aのデプス画像の座標(iA,jA)に格納されたデプス値が、デプス値dAとなる。
 次に、ビジビリティ判定部46は、座標(iA,jA)およびデプス値dAと、撮像装置21-Aのカメラパラメータから、撮像装置21-Aの投影画面上の座標(iA,jA)のワールド座標系上の3次元座標(xA,yA,zA)を算出する。
 撮像装置21-Bについても同様に、撮像装置21-Bの投影画面上の座標(iB,jB)およびデプス値dBと、撮像装置21-Bのカメラパラメータから、撮像装置21-Bの投影画面上の座標(iB,jB)のワールド座標系上の3次元座標(xB,yB,zB)が算出される。
 次に、ビジビリティ判定部46は、算出した3次元座標(x,y,z)が、オブジェクトObj1の点Pの既知の座標と一致するか否かを判定することで、点Pが撮像装置21のテクスチャ画像に写っているかどうかを判定する。
 図9に示される例では、撮像装置21-Aについて算出した3次元座標(xA,yA,zA)は、点PAに対応し、点P=点PAとなるので、オブジェクトObj1の点Pは撮像装置21-Aのテクスチャ画像に写っていると判定される。
 これに対して、撮像装置21-Bについて算出された3次元座標(xB,yB,zB)は、点PAではなく、オブジェクトObj2の点PBの座標となる。したがって、点P≠点PBとなるので、オブジェクトObj1の点Pは撮像装置21-Bのテクスチャ画像に写っていないと判定される。
 ビジビリティ判定部46は、図10に示されるように、オブジェクトの3次元形状であるメッシュデータの三角形パッチ単位で、各撮像装置21のテクスチャ画像に写っているかどうかの判定結果を示すビジビリティフラグを生成する。
 三角形パッチの全ての領域が、撮像装置21のテクスチャ画像に写っている場合には、「1」のビジビリティフラグが設定され、三角形パッチの一部の領域でも撮像装置21のテクスチャ画像に写っていない場合には、「0」のビジビリティフラグが設定される。
 1つの三角形パッチに対して、N台の撮像装置21それぞれのビジビリティフラグが生成されるので、ビジビリティフラグは、1つの三角形パッチに対してNビットの情報となる。
 図8に戻り、ビジビリティ判定部46は、メッシュデータの三角形パッチ単位にNビットの情報で表されるビジビリティ情報を生成し、パッキング部47に供給する。
 パッキング部47は、メッシュ処理部44から供給されるポリゴンメッシュのメッシュデータと、ビジビリティ判定部46から供給されるビジビリティ情報とをパッキング(結合)し、ビジビリティ情報付きのメッシュデータを生成する。
 図11は、メッシュデータとビジビリティ情報のパッキング処理の一例を説明する図である。
 ビジビリティフラグは、上述したように、1つの三角形パッチに対してNビットの情報となる。
 ポリゴンメッシュのメッシュデータのデータ形式には、三角形の3つの頂点の座標情報と、三角形の法線ベクトルの情報(法線ベクトル情報)をもつ形式が多い。本実施の形態では、法線ベクトル情報は使用しないため、法線ベクトル情報のデータ格納場所に、Nビットのビジビリティ情報を格納することができる。法線ベクトル情報は、少なくともNビット分のデータを格納するのに十分な領域であるとする。
 あるいはまた、例えば、法線ベクトル(VNx,VNy,VNz)のVNx,VNy,VNzそれぞれが、32ビットのデータ領域を有する場合、22ビットを法線ベクトルに用いて、10ビットをビジビリティ情報に用いるようにしてもよい。
 なお、法線ベクトル情報のデータ格納場所にビジビリティ情報を格納することができない場合には、ビジビリティ情報専用の格納場所を追加してもよい。
 以上のようにして、パッキング部47は、ポリゴンメッシュのメッシュデータに、ビジビリティ情報を付加し、ビジビリティ情報付きのメッシュデータを生成する。
 図8に戻り、パッキング部47は、生成したビジビリティ情報付きのメッシュデータを、配信サーバ23の送受信部31に出力する。尚、パッキング部47は、生成したビジビリティ情報付きのメッシュデータを、他の装置に出力する出力部でもある。
 画像送信部48は、N台の撮像装置21それぞれで撮像された撮像画像(テクスチャ画像)を歪・色補正部41で補正した後の、N枚のテクスチャ画像の画像データと、N台の撮像装置21それぞれのカメラパラメータを、配信サーバ23に出力する。
 具体的には、画像送信部48は、歪・色補正部41で補正された動画像を撮像装置21単位でストリームとしたN本のビデオストリームを、配信サーバ23に出力する。画像送信部48は、所定の圧縮符号化方式で圧縮した符号化ストリームを、配信サーバ23に出力してもよい。カメラパラメータは、ビデオストリームとは別に伝送される。
<5.再生装置25の構成例>
 図12は、再生装置25の詳細な構成例を示すブロック図である。
 再生装置25は、アンパッキング部61、カメラ選択部62、および、描画処理部63を有する。
 アンパッキング部61は、再生装置25のパッキング部47の逆の処理を行う。すなわち、アンパッキング部61は、配信サーバ23からオブジェクトの3D形状データとして送信されてくる、ビジビリティ情報付きのメッシュデータを、ビジビリティ情報と、ポリゴンメッシュのメッシュデータとに分離し、描画処理部63に供給する。アンパッキング部61は、ビジビリティ情報付きのメッシュデータを、ビジビリティ情報と、ポリゴンメッシュのメッシュデータとに分離する分離部でもある。
 カメラ選択部62には、N台の撮像装置21それぞれのカメラパラメータが供給される。
 カメラ選択部62は、視聴位置検出装置27(図2)から供給される、視聴者の視聴位置を示す仮想視点情報に基づいて、N台の撮像装置21のなかから、視聴者の視聴位置に近いM台の撮像装置21を選択する。仮想視点情報は、仮想カメラのカメラパラメータで構成されるので、N台の撮像装置21それぞれのカメラパラメータと比較することにより、M台を選択することができる。選択される台数である値Mは、撮像装置21の台数であるNよりも小さい場合(M<N)に処理負荷を軽減することができるが、再生装置25の処理能力によっては、M=N、即ち撮像装置21の全台数を選択してもよい。
 カメラ選択部62は、選択したM台の撮像装置21に対応するテクスチャ画像の画像データを、配信サーバ23に要求して、取得する。テクスチャ画像の画像データは、例えば、撮像装置21単位のビデオストリームとされる。このテクスチャ画像の画像データは、生成装置22でテクスチャ画像間の歪みや色が補正されたデータである。
 カメラ選択部62は、選択したM台の撮像装置21に対応するカメラパラメータとテクスチャ画像の画像データを、描画処理部63に供給する。
 描画処理部63は、視聴者の視聴位置に基づき、オブジェクトの画像を描画するレンダリング処理を行う。すなわち、描画処理部63は、視聴位置検出装置27から供給される仮想視点情報に基づいて、視聴者の視聴位置から見たオブジェクトの画像(オブジェクト画像)を生成し、表示装置26に供給して表示させる。
 描画処理部63は、アンパッキング部61から供給されるビジビリティ情報を参照し、M枚のテクスチャ画像のなかから、描画点が写っているK枚(K≦M)のテクスチャ画像を選択する。さらに、描画処理部63は、選択したK枚のテクスチャ画像のなかから、優先して使用するL枚(L≦K)のテクスチャ画像を決定する。L枚のテクスチャ画像としては、K枚のテクスチャ画像を撮像した撮像装置21の3次元位置(撮影位置)を参照して、視聴位置と撮像装置21との角度が小さいテクスチャ画像が採用される。
 描画処理部63は、決定したL枚のテクスチャ画像の色情報(RGB値)をブレンディングし、オブジェクトの描画点Pの色情報を決定する。例えば、L枚のうちのi枚目のテクスチャ画像のブレンド率Blend(i)は、以下の式(3)および式(4)で計算することができる。
Figure JPOXMLDOC01-appb-M000003
 式(3)のangBlend(i)は、正規化前のi枚目のテクスチャ画像のブレンド率を表し、angDiff(i)は、i枚目のテクスチャ画像を撮像した撮像装置21と視聴位置との角度を表し、angMAXは、L枚のテクスチャ画像のangDiff(i)の最大値を表す。式(4)のΣangBlend(j)は、L枚のテクスチャ画像のangBlend(j)の総和(j=1乃至L)を表す。
 描画処理部63は、L枚(i=1乃至L)のテクスチャ画像の色情報をブレンド率Blend(i)でブレンディングし、オブジェクトの描画点Pの色情報を決定する。
 なお、L枚のテクスチャ画像のブレンド処理は、上述した処理に限定されず、その他の手法を用いてもよい。ブレンディング計算式は、例えば、視聴位置が撮像装置21と同じ位置にきた場合は、その撮像装置21で得られたテクスチャ画像の色情報に近いこと、撮像装置21間を視聴位置が変化した場合には、時間的にも空間的にもなめらかにブレンド率Blend(i)が変化すること、使用するテクスチャ数Lが可変であること、などの条件を満たしていればよい。
<6.3Dモデルデータ生成処理>
 次に、図13のフローチャートを参照して、生成装置22による3Dモデルデータ生成処理を説明する。この処理は、例えば、N台の撮像装置21から、被写体を撮像した撮像画像またはカメラパラメータが供給されたとき、開始される。
 初めに、ステップS1において、生成装置22は、N台の撮像装置21それぞれから供給されるカメラパラメータと撮像画像を取得する。撮像画像の画像データは、歪・色補正部41に供給され、カメラパラメータは、ボクセル処理部43、デプスマップ生成部45、および、画像送信部48に供給される。撮像画像は、順次供給される動画像の一部であり、被写体のテクスチャを規定するテクスチャ画像である。
 ステップS2において、歪・色補正部41は、N枚のテクスチャ画像に対して、各撮像装置21のレンズ歪と色の補正を行う。補正後のN枚のテクスチャ画像は、シルエット抽出部42と画像送信部48に供給される。
 ステップS3において、シルエット抽出部42は、歪・色補正部41から供給された補正後のN枚のテクスチャ画像それぞれに対して、オブジェクトとしての被写体の領域をシルエットで表したシルエット画像を生成し、ボクセル処理部43に供給する。
 ステップS4において、ボクセル処理部43は、シルエット抽出部42から供給されたN枚のシルエット画像を、カメラパラメータに従って投影し、3次元形状の削り出しを行うVisual Hullの手法を用いて、オブジェクトの3次元形状を生成(復元)する。オブジェクトの3次元形状を表すボクセルデータは、メッシュ処理部44に供給される。
 ステップS5において、メッシュ処理部44は、ボクセル処理部43から供給されたオブジェクトの3次元形状を表すボクセルデータを、ポリゴンメッシュのデータ形式に変換する。形式変換後のメッシュデータは、デプスマップ生成部45、ビジビリティ判定部46、および、パッキング部47に供給される。
 ステップS6において、デプスマップ生成部45は、N台の撮像装置21のカメラパラメータと、オブジェクトの3次元形状を表すメッシュデータとを用いて、N枚のテクスチャ画像(色・歪み補正後)に対応するN枚のデプス画像を生成する。生成されたN枚のデプス画像は、ビジビリティ判定部46に供給される。
 ステップS7において、ビジビリティ判定部46は、オブジェクト上の各点が、撮像装置21が撮像したテクスチャ画像に写っているか否かを、N枚のテクスチャ画像それぞれについて判定するビジビリティ判定処理を行う。ビジビリティ判定部46は、ビジビリティ判定処理の結果である、メッシュデータの三角形パッチ単位のビジビリティ情報を、パッキング部47に供給する。
 ステップS8において、パッキング部47は、メッシュ処理部44から供給されたポリゴンメッシュのメッシュデータと、ビジビリティ判定部46から供給されたビジビリティ情報とをパッキングし、ビジビリティ情報付きのメッシュデータを生成する。そして、パッキング部47は、生成したビジビリティ情報付きのメッシュデータを、配信サーバ23に出力する。
 ステップS9において、画像送信部48は、歪・色補正部41で補正後の、N枚のテクスチャ画像の画像データと、N台の撮像装置21それぞれのカメラパラメータを、配信サーバ23に出力する。
 ステップS8とステップS9の処理は順不同である。すなわち、ステップS9の処理を、ステップS8の処理より先に実行してもよいし、ステップS8とステップS9の処理を同時に行ってもよい。
 上述したステップS1乃至S9の処理は、N台の撮像装置21から撮像画像が供給される間、繰り返し実行される。
<7.ビジビリティ判定処理>
 次に、図14のフローチャートを参照して、図13のステップS7のビジビリティ判定処理の詳細について説明する。
 初めに、ステップS21において、ビジビリティ判定部46は、再生側で描画対象となるオブジェクト上の所定の点Pを、撮像装置21に投影した投影画面上の座標(i,j)を計算する。点Pの座標は、メッシュ処理部44から供給されたオブジェクトの3次元形状を表すメッシュデータにより既知である。
 ステップS22において、ビジビリティ判定部46は、座標(i,j)のデプス値dを、デプスマップ生成部45から供給された撮像装置21のデプス画像から取得する。デプスマップ生成部45から供給された撮像装置21のデプス画像の座標(i,j)に格納されたデプス値が、デプス値dとなる。
 ステップS23において、ビジビリティ判定部46は、座標(i,j)およびデプス値dと、撮像装置21のカメラパラメータから、撮像装置21の投影画面上の座標(i,j)のワールド座標系上の3次元座標(x,y,z)を算出する。
 ステップS24において、ビジビリティ判定部46は、算出したワールド座標系上の3次元座標(x,y,z)が、点Pの座標と同一であるかを判定する。例えば、算出したワールド座標系上の3次元座標(x,y,z)が、既知の点Pの座標に対して所定の誤差範囲内である場合には、点Pの座標と同一であると判定される。
 ステップS24で、撮像装置21へ投影した投影画面から算出した3次元座標(x,y,z)が点Pと同一であると判定された場合、処理はステップS25に進み、ビジビリティ判定部46は、点Pが撮像装置21のテクスチャ画像に写っていると判定して、処理を終了する。
 一方、ステップS24で、撮像装置21へ投影した投影画面から算出した3次元座標(x,y,z)が点Pと同一ではないと判定された場合、処理はステップS26に進み、ビジビリティ判定部46は、点Pが撮像装置21のテクスチャ画像には写っていないと判定して、処理を終了する。
 以上の処理が、オブジェクト上の全ての点Pおよび全ての撮像装置21について実行される。
<8.カメラ選択処理>
 図15は、再生装置25のカメラ選択部62によるカメラ選択処理のフローチャートである。
 初めに、ステップS41において、カメラ選択部62は、N台の撮像装置21のカメラパラメータと、視聴者の視聴位置を示す仮想視点情報を取得する。N台の撮像装置21それぞれのカメラパラメータは配信サーバ23から供給され、仮想視点情報は視聴位置検出装置27から供給される。
 ステップS42において、カメラ選択部62は、仮想視点情報に基づいて、N台の撮像装置21のなかから、視聴者の視聴位置に近いM台の撮像装置21を選択する。
 ステップS43において、カメラ選択部62は、選択したM台の撮像装置21のテクスチャ画像の画像データを配信サーバ23に要求して、取得する。M台の撮像装置21のテクスチャ画像の画像データは、M本のビデオストリームとして配信サーバ23から伝送されてくる。
 ステップS44において、カメラ選択部62は、選択したM台の撮像装置21に対応するカメラパラメータとテクスチャ画像の画像データを、描画処理部63に供給して、処理を終了する。
<9.描画処理>
 図16は、描画処理部63による描画処理のフローチャートである。
 初めに、ステップS61において、描画処理部63は、M台の撮像装置21に対応するカメラパラメータとテクスチャ画像の画像データ、および、オブジェクトのメッシュデータとビジビリティ情報を取得する。また、描画処理部63は、視聴位置検出装置27から供給される、視聴者の視聴位置を示す仮想視点情報も取得する。
 ステップS62において、描画処理部63は、視聴者の視線方向を表すベクトルと、メッシュデータの各三角形パッチ面との交差判定を行うことにより、描画画素の3次元空間上の座標(x,y,z)を算出する。以下、簡単のため、描画画素の3次元空間上の座標(x,y,z)を、描画点と称する。
 ステップS63において、描画処理部63は、M台の撮像装置21それぞれについて、描画点が撮像装置21のテクスチャ画像に写っているかどうかを、ビジビリティ情報を参照して判定する。ここで判定された描画点が写っているテクスチャ画像の枚数が、K枚(K≦M)であるとする。
 ステップS64において、描画処理部63は、描画点が写っているK枚のテクスチャ画像のなかから、優先して使用するL枚(L≦K)のテクスチャ画像を決定する。L枚のテクスチャ画像は、視聴位置に対して角度が小さい撮像装置21のテクスチャ画像が採用される。
 ステップS65において、描画処理部63は、決定したL枚のテクスチャ画像の色情報(RGB値)をブレンディングし、オブジェクトの描画点Pの色情報を決定する。
 ステップS66において、描画処理部63は、オブジェクトの描画点Pの色情報を描画バッファに書き込む。
 視聴者の視聴範囲の全ての点について、ステップS62乃至S66の処理が実行されることにより、視聴位置に対応するオブジェクト画像が、描画処理部63の描画バッファに生成され、表示装置26に表示される。
<10.変形例>
 図17は、生成装置22の変形例を示すブロック図である。
 図17の変形例に係る生成装置22は、図8に示した生成装置22の構成と比較すると、メッシュ処理部44とパッキング部47との間に、メッシュ再分割部81が新たに追加されている点が異なる。
 メッシュ再分割部81には、メッシュ処理部44から、オブジェクトの3次元形状を表すメッシュデータが供給されるとともに、デプスマップ生成部45から、N枚のデプス画像(デプスマップ)が供給される。
 メッシュ再分割部81は、メッシュ処理部44から供給されるメッシュデータを基に、ビジビリティフラグの「0」と「1」の境界が三角形パッチの境界となるように、三角形パッチを再分割する。メッシュ再分割部81は、再分割処理後のメッシュデータをパッキング部47に供給する。
 メッシュ再分割部81は、三角形パッチの再分割処理において、ビジビリティ判定部46との間で、ビジビリティ情報と再分割処理後のメッシュデータを必要に応じて受け渡しする。
 メッシュ再分割部81が三角形パッチの再分割処理を行う点を除いて、図17の生成装置22のその他の構成は、図8に示した生成装置22の構成と同様である。
 図18乃至図20を参照して、三角形パッチの再分割処理について説明する。
 例えば、図18に示されるように、所定の撮像装置21に、オブジェクトObj11とオブジェクトObj12が写っており、オブジェクトObj11の一部が、オブジェクトObj12によって隠れている状況であるとする。
 撮像装置21に写るオブジェクトObj11を再分割する前のメッシュデータ、換言すれば、メッシュ処理部44からメッシュ再分割部81に供給されるメッシュデータは、図18の右上に示されるように、2つの三角形パッチTR1およびTR2で構成されている。
 2つの三角形パッチTR1およびTR2の2本の破線で示される内側の領域に、オブジェクトObj12が存在する。三角形パッチ内の一部でも隠れているとビジビリティフラグは「0」となるので、2つの三角形パッチTR1およびTR2のビジビリティフラグは、いずれも「0」となる。三角形パッチTR1およびTR2内の「0」は、ビジビリティフラグを表す。
 一方、2つの三角形パッチTR1およびTR2に対して、メッシュ再分割部81が三角形パッチの再分割処理を行った後の状態が、図18の右下に示されている。
 三角形パッチの再分割処理後では、三角形パッチTR1が、三角形パッチTR1a乃至TR1eに分割され、三角形パッチTR2が、三角形パッチTR2a乃至TR2eに分割されている。三角形パッチTR1a,TR1b、および、TR1eのビジビリティフラグは「1」であり、三角形パッチTR1cおよびTR1dのビジビリティフラグは「0」である。三角形パッチTR2a,TR2d、および、TR2eのビジビリティフラグは「1」であり、三角形パッチTR2bおよびTR2cのビジビリティフラグは「0」である。三角形パッチTR1a乃至TR1eおよび三角形パッチTR2a乃至TR2e内の「1」または「0」は、ビジビリティフラグを表す。再分割処理により、オクルージョンの境界が、ビジビリティフラグ「1」と「0」との境界にもなっている。
 図19は、三角形パッチの再分割処理の手順を説明する図である。
 図19のAは、再分割処理前の状態を示している。
 メッシュ再分割部81は、図19のBに示されるように、ビジビリティ判定部46で実行されたビジビリティ判定処理の結果に基づいて、メッシュ処理部44から供給された三角形パッチを、ビジビリティフラグの境界で分割する。
 次に、メッシュ再分割部81は、図19のCに示されるように、メッシュ処理部44から供給された三角形パッチを分割した結果、三角形以外の多角形が含まれているかどうかを判定する。三角形以外の多角形が含まれている場合、メッシュ再分割部81は、多角形の頂点どうしを結んで、多角形が三角形となるように多角形をさらに分割する。
 多角形を分割すると、図19のDに示されるように、全てが三角形パッチとなり、三角形パッチの境界が、ビジビリティフラグ「1」と「0」との境界にもなる。
 図20は、三角形パッチの再分割処理のフローチャートである。
 初めに、ステップS81において、メッシュ再分割部81は、ビジビリティ判定部46で実行されたビジビリティ判定処理の結果に基づいて、メッシュ処理部44から供給された三角形パッチを、ビジビリティフラグの境界で分割する。
 ステップS82において、メッシュ再分割部81は、ビジビリティフラグの境界で三角形パッチを分割した後の状態に、三角形以外の多角形が含まれているかどうかを判定する。
 ステップS82で、三角形以外の多角形が含まれていると判定された場合、処理はステップS83に進み、メッシュ再分割部81は、三角形以外の多角形の頂点どうしを結んで、三角形以外の多角形が三角形となるように多角形をさらに分割する。
 一方、ステップS82で、三角形以外の多角形が含まれていないと判定された場合、ステップS83の処理がスキップされる。
 ビジビリティフラグの境界で分割後、三角形以外の多角形が含まれていなかった場合(ステップS82でNOの判定の場合)、または、ステップS83の処理後、再分割後のメッシュデータが、ビジビリティ判定部46およびパッキング部47に供給され、再分割処理が終了する。ビジビリティ判定部46は、再分割後のメッシュデータに対して、ビジビリティ情報を生成する。ビジビリティ判定部46とメッシュ再分割部81は、1つのブロックで構成してもよい。
 生成装置22の変形例によれば、ビジビリティフラグ「1」と「0」との境界を、三角形パッチの境界と一致させることで、撮像装置21のテクスチャ画像に写っているかどうかをより正確に反映することができるので、再生側で生成するオブジェクト画像の画質を向上させることができる。
 以上、画像処理システム1では、生成装置22が、オブジェクトの3次元形状であるメッシュデータの三角形パッチ単位でビジビリティフラグを生成し、ビジビリティ情報付きのメッシュデータを再生装置25に供給するようにした。これにより、再生装置25において、配信側から伝送されてくる各撮像装置21のテクスチャ画像(正確には補正後のテクスチャ画像)を、表示オブジェクトの色情報(RGB値)の貼り付けに利用できるか否かを判定する必要がなくなる。再生側でビジビリティの判定処理を行う場合には、デプス画像を生成し、デプス情報から撮像装置21の撮影範囲に写っているか否かを判定する必要があり、計算量が多く、重い処理となっていた。ビジビリティ情報付きのメッシュデータを再生装置25に供給することで、再生側では、デプス画像の生成およびビジビリティの判定を行う必要がないので、処理負荷を大幅に低減することができる。
 また、再生側でビジビリティの判定を行う場合には、全てのオブジェクトの3Dデータがそろっている必要があるので、撮影時のオブジェクトを増減することはできない。本処理では、ビジビリティ情報が既知であるので、オブジェクトの増減が可能である。例えば、オブジェクトを減らして、必要なオブジェクトのみを選択して描画したり、撮影時には存在していないオブジェクトを追加して描画することなども可能である。従来、撮影時と異なるオブジェクト構成で描画する際には、描画バッファに何度も書き込みする必要があったが、本処理では、中間描画バッファの書き込みが不要である。
 なお、上述した例では、各撮像装置21のテクスチャ画像(補正後のテクスチャ画像)を圧縮符号化せずに再生側に伝送する構成としたが、動画コーデックで圧縮して伝送してもよい。
 また、上述した例では、被写体の3Dモデルの3D形状データを、ポリゴンメッシュで表現したメッシュデータで伝送する例について説明したが、3D形状データのデータ形式は、その他のデータ形式でもよい。例えば、3D形状データのデータ形式をポイントクラウドやデプスマップとして、その3D形状データにビジビリティ情報を付加して伝送してもよい。この場合、ポイント単位または画素単位でビジビリティ情報を付加することができる。
 また、上述した例では、ビジビリティ情報を、三角形パッチ全部に写っているか否かの2値(「0」または「1」)で表したが、3値以上で表現してもよい。例えば、三角形パッチの3点の頂点が写っている場合を「3」、2点の頂点が写っている場合を「2」、1点の頂点が写っている場合を「1」、全部隠れている場合を「0」、のように、2ビット(4値)で表現してもよい。
<11.コンピュータ構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図21は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
 入力部306は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体311を駆動する。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
 なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
 本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した複数の実施の形態の全てまたは一部を組み合わせた形態を採用することができる。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
 なお、本技術は、以下の構成を取ることができる。
(1)
 複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定する判定部と、
 前記判定部の判定結果を、前記被写体の3Dモデルの3D形状データに付加して出力する出力部と
 を備える画像処理装置。
(2)
 前記被写体の3Dモデルの3D形状データは、前記被写体の3D形状をポリゴンメッシュで表現したメッシュデータである
 前記(1)に記載の画像処理装置。
(3)
 前記判定部は、前記判定結果として、前記被写体が写っているか否かを、前記ポリゴンメッシュの三角形パッチ単位で判定する
 前記(2)に記載の画像処理装置。
(4)
 前記出力部は、前記ポリゴンメッシュの法線ベクトル情報に前記判定結果を格納することで、前記判定結果を前記3D形状データに付加する
 前記(2)または(3)に記載の画像処理装置。
(5)
 前記テクスチャ画像は、前記撮像装置が撮像した撮像画像のレンズ歪と色を補正した画像である
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6)
 前記複数の撮像装置に対応する複数の前記テクスチャ画像とカメラパラメータとを用いて、デプスマップを生成するデプスマップ生成部をさらに備え、
 前記判定部は、前記デプスマップのデプス値を用いて、前記判定結果を生成する
 前記(1)乃至(5)のいずれかに記載の画像処理装置。
(7)
 前記被写体が写っているか否かを表す判定結果の境界を、前記被写体の3Dモデルの三角形パッチの境界と一致させるように、三角形パッチを分割する再分割部をさらに備える
 前記(1)乃至(6)のいずれかに記載の画像処理装置。
(8)
 前記撮像装置の前記撮像画像に対応する前記テクスチャ画像とカメラパラメータを送信する画像送信部をさらに備える
 前記(1)乃至(7)のいずれかに記載の画像処理装置。
(9)
 画像処理装置が、
 複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定し、その判定結果を、前記被写体の3Dモデルの3D形状データに付加して出力する
 画像処理方法。
(10)
 テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、前記3Dモデルの画像を生成する描画処理部
 を備える画像処理装置。
(11)
 N台の撮像装置のなかから、M台(M≦N)の撮像装置を選択し、前記M台の撮像装置に対応するM枚のテクスチャ画像を取得するカメラ選択部をさらに備え、
 前記描画処理部は、前記M枚のテクスチャ画像のなかから、前記判定結果を参照し、前記被写体が写っているK枚(K≦M)のテクスチャ画像を選択する
 前記(10)に記載の画像処理装置。
(12)
 前記描画処理部は、前記K枚のテクスチャ画像のなかのL枚(L≦K)のテクスチャ画像の色情報をブレンディングし、前記3Dモデルの画像を生成する
 前記(11)に記載の画像処理装置。
(13)
 前記判定結果付き3D形状データを、前記判定結果と前記3D形状データとに分離する分離部をさらに備える
 前記(10)乃至(12)のいずれかに記載の画像処理装置。
(14)
 画像処理装置が、
 テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、3Dモデルの画像を生成する
 画像処理方法。
 1 画像処理システム, 21 撮像装置, 22 生成装置, 23 配信サーバ, 25 再生装置, 26 表示装置, 27 視聴位置検出装置, 41 歪・色補正部, 44 メッシュ処理部, 45 デプスマップ生成部, 46 ビジビリティ判定部, 47 パッキング部, 48 画像送信部, 61 アンパッキング部, 62 カメラ選択部, 63 描画処理部, 81 メッシュ再分割部, 301 CPU, 302 ROM, 303 RAM, 306 入力部, 307 出力部, 308 記憶部, 309 通信部, 310 ドライブ

Claims (14)

  1.  複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定する判定部と、
     前記判定部の判定結果を、前記被写体の3Dモデルの3D形状データに付加して出力する出力部と
     を備える画像処理装置。
  2.  前記被写体の3Dモデルの3D形状データは、前記被写体の3D形状をポリゴンメッシュで表現したメッシュデータである
     請求項1に記載の画像処理装置。
  3.  前記判定部は、前記判定結果として、前記被写体が写っているか否かを、前記ポリゴンメッシュの三角形パッチ単位で判定する
     請求項2に記載の画像処理装置。
  4.  前記出力部は、前記ポリゴンメッシュの法線ベクトル情報に前記判定結果を格納することで、前記判定結果を前記3D形状データに付加する
     請求項2に記載の画像処理装置。
  5.  前記テクスチャ画像は、前記撮像装置が撮像した撮像画像のレンズ歪と色を補正した画像である
     請求項1に記載の画像処理装置。
  6.  前記複数の撮像装置に対応する複数の前記テクスチャ画像とカメラパラメータとを用いて、デプスマップを生成するデプスマップ生成部をさらに備え、
     前記判定部は、前記デプスマップのデプス値を用いて、前記判定結果を生成する
     請求項1に記載の画像処理装置。
  7.  前記被写体が写っているか否かを表す判定結果の境界を、前記被写体の3Dモデルの三角形パッチの境界と一致させるように、三角形パッチを分割する再分割部をさらに備える
     請求項1に記載の画像処理装置。
  8.  前記撮像装置の前記撮像画像に対応する前記テクスチャ画像とカメラパラメータを送信する画像送信部をさらに備える
     請求項1に記載の画像処理装置。
  9.  画像処理装置が、
     複数の撮像装置それぞれが撮像した撮像画像に対応するテクスチャ画像に被写体が写っているか否かを判定し、その判定結果を、前記被写体の3Dモデルの3D形状データに付加して出力する
     画像処理方法。
  10.  テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、前記3Dモデルの画像を生成する描画処理部
     を備える画像処理装置。
  11.  N台の撮像装置のなかから、M台(M≦N)の撮像装置を選択し、前記M台の撮像装置に対応するM枚のテクスチャ画像を取得するカメラ選択部をさらに備え、
     前記描画処理部は、前記M枚のテクスチャ画像のなかから、前記判定結果を参照し、前記被写体が写っているK枚(K≦M)のテクスチャ画像を選択する
     請求項10に記載の画像処理装置。
  12.  前記描画処理部は、前記K枚のテクスチャ画像のなかのL枚(L≦K)のテクスチャ画像の色情報をブレンディングし、前記3Dモデルの画像を生成する
     請求項11に記載の画像処理装置。
  13.  前記判定結果付き3D形状データを、前記判定結果と前記3D形状データとに分離する分離部をさらに備える
     請求項10に記載の画像処理装置。
  14.  画像処理装置が、
     テクスチャ画像に被写体が写っているかを表す判定結果が付加された、前記被写体の3Dモデルの3D形状データである判定結果付き3D形状データに基づいて、3Dモデルの画像を生成する
     画像処理方法。
PCT/JP2020/007592 2019-03-11 2020-02-26 画像処理装置および画像処理方法 WO2020184174A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021504899A JPWO2020184174A1 (ja) 2019-03-11 2020-02-26
US17/310,850 US20220084300A1 (en) 2019-03-11 2020-02-26 Image processing apparatus and image processing method
CN202080018826.4A CN113544746A (zh) 2019-03-11 2020-02-26 图像处理装置和图像处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-043753 2019-03-11
JP2019043753 2019-03-11

Publications (1)

Publication Number Publication Date
WO2020184174A1 true WO2020184174A1 (ja) 2020-09-17

Family

ID=72425990

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/007592 WO2020184174A1 (ja) 2019-03-11 2020-02-26 画像処理装置および画像処理方法

Country Status (4)

Country Link
US (1) US20220084300A1 (ja)
JP (1) JPWO2020184174A1 (ja)
CN (1) CN113544746A (ja)
WO (1) WO2020184174A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11962745B2 (en) * 2019-09-30 2024-04-16 Interdigital Ce Patent Holdings, Sas Method and apparatus for processing image content
JP2022184354A (ja) * 2021-06-01 2022-12-13 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN114926605B (zh) * 2022-07-19 2022-09-30 北京飞渡科技有限公司 一种三维模型的抽壳方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0125780B2 (ja) * 1987-04-10 1989-05-19 Meidensha Electric Mfg Co Ltd
JP2006072805A (ja) * 2004-09-03 2006-03-16 Nippon Hoso Kyokai <Nhk> 3次元モデル表示装置及び3次元モデル表示プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995655A (en) * 1998-06-09 1999-11-30 Silicon Graphics, Inc. System and method for coding colors and storing compensation factors used in color space conversion
US6831641B2 (en) * 2002-06-17 2004-12-14 Mitsubishi Electric Research Labs, Inc. Modeling and rendering of surface reflectance fields of 3D objects
US7194125B2 (en) * 2002-12-13 2007-03-20 Mitsubishi Electric Research Laboratories, Inc. System and method for interactively rendering objects with surface light fields and view-dependent opacity
JP6878014B2 (ja) * 2017-01-13 2021-05-26 キヤノン株式会社 画像処理装置及びその方法、プログラム、画像処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0125780B2 (ja) * 1987-04-10 1989-05-19 Meidensha Electric Mfg Co Ltd
JP2006072805A (ja) * 2004-09-03 2006-03-16 Nippon Hoso Kyokai <Nhk> 3次元モデル表示装置及び3次元モデル表示プログラム

Also Published As

Publication number Publication date
US20220084300A1 (en) 2022-03-17
CN113544746A (zh) 2021-10-22
JPWO2020184174A1 (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
JP6425780B1 (ja) 画像処理システム、画像処理装置、画像処理方法及びプログラム
US20200066026A1 (en) Fusing, texturing, and rendering views of dynamic three-dimensional models
KR101697184B1 (ko) 메쉬 생성 장치 및 그 방법, 그리고, 영상 처리 장치 및 그 방법
JP6201476B2 (ja) 自由視点画像撮像装置およびその方法
US20130095920A1 (en) Generating free viewpoint video using stereo imaging
WO2020184174A1 (ja) 画像処理装置および画像処理方法
US20100156901A1 (en) Method and apparatus for reconstructing 3d model
KR20170040342A (ko) 스테레오 이미지 녹화 및 재생
JP7181233B2 (ja) テクスチャマップ及びメッシュに基づく3d画像情報の処理
KR102049456B1 (ko) 광 필드 영상을 생성하는 방법 및 장치
CN109791704B (zh) 用于自由运行fvv应用的基于多层uv映射的纹理渲染方法、系统和装置
WO2019198501A1 (ja) 画像処理装置、画像処理方法、プログラム、および画像伝送システム
US8687000B2 (en) Image generating apparatus and computer program
CN115529835A (zh) 用于新颖视图合成的神经混合
WO2018052100A1 (ja) 画像処理装置、画像処理方法、画像処理プログラム
CN115841539A (zh) 一种基于可视外壳的三维光场生成方法和装置
Knorr et al. From 2D-to stereo-to multi-view video
KR101163020B1 (ko) 3차원 모델을 스케일링하는 방법 및 스케일링 유닛
CN109379577B (zh) 一种虚拟视点的视频生成方法、装置及设备
CN117730530A (zh) 图像处理方法及装置、设备、存储介质
TW201025186A (en) Image processing method for providing depth information
JP2021047468A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
KR20190072742A (ko) 캘리브레이션된 멀티 카메라 입력 기반 실시간 초다시점 중간시점 영상 합성 방법 및 시스템
JP5200141B2 (ja) 映像提示システム、映像提示方法、プログラム及び記録媒体
Thatte et al. Real-World Virtual Reality With Head-Motion Parallax

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: 20769576

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021504899

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20769576

Country of ref document: EP

Kind code of ref document: A1