WO2021193213A1 - 情報処理装置、3dモデル生成方法およびプログラム - Google Patents

情報処理装置、3dモデル生成方法およびプログラム Download PDF

Info

Publication number
WO2021193213A1
WO2021193213A1 PCT/JP2021/010470 JP2021010470W WO2021193213A1 WO 2021193213 A1 WO2021193213 A1 WO 2021193213A1 JP 2021010470 W JP2021010470 W JP 2021010470W WO 2021193213 A1 WO2021193213 A1 WO 2021193213A1
Authority
WO
WIPO (PCT)
Prior art keywords
subject
distance
point
unit
projection
Prior art date
Application number
PCT/JP2021/010470
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 JP2022509962A priority Critical patent/JPWO2021193213A1/ja
Priority to US17/801,403 priority patent/US20230084376A1/en
Priority to CN202180022318.8A priority patent/CN115398180A/zh
Priority to DE112021001867.1T priority patent/DE112021001867T5/de
Publication of WO2021193213A1 publication Critical patent/WO2021193213A1/ja

Links

Images

Classifications

    • 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
    • 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/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures

Definitions

  • This disclosure relates to an information processing device, a 3D model generation method, and a program.
  • a 3D object is generated in the viewing space by using information that senses the actual 3D space, for example, a multi-view image obtained by capturing a subject from a different viewpoint, as if the object exists in the viewing space.
  • a method of generating a visible image (volumetric image) has been proposed.
  • Coordinate information in three-dimensional space is required to generate a volumetric image.
  • the 3D shape of a subject is obtained based on a depth map showing the distance from the camera to the surface of the subject. rice field.
  • Patent Document 1 it was only possible to obtain a 3D shape of the subject facing the camera, that is, the surface side of the subject. Therefore, for the 3D shape on the back side of the subject, it is necessary to obtain the 3D shape based on the depth map of the subject viewed from the back side.
  • the present disclosure proposes an information processing device, a 3D model generation method, and a program capable of generating an accurate shape of a subject.
  • the information processing apparatus has a first point in which a straight line from a projection point to the subject comes into contact with the subject based on the 3D shape of the surface of the subject.
  • the first distance to the projection point, the second distance between the projection point and the second point where the straight line entering the inside of the subject from the first point penetrates the outside from the subject It is an information processing apparatus including a distance acquisition unit for acquiring.
  • First Embodiment 1-1 Functional configuration of information processing system 1-2. Process flow performed by the information processing system 1-3. Information processing system hardware configuration 1-4. Detailed configuration of the coding unit 1-5. Detailed configuration of decoding unit 1-6. Depth validity judgment process 1-7. Mesh data generation process 1-8. Detailed configuration of the rendering section 1-9. Modification example of the first embodiment 1-10. Effect of the first embodiment 2. Second Embodiment 2-1. Structure of tiling image 2-2. Visibility confirmation process 2-3. Effect of the second embodiment 3. Third Embodiment 3-1. Action of the third embodiment 3-2. Effect of the third embodiment 4. Fourth Embodiment 4-1. Action of the fourth embodiment 4-2. Effect of the fourth embodiment 5. Application examples of the present disclosure 5-1. Content production 5-2. Experience in virtual space 5-3. Application to communication with remote areas 5-4. others
  • FIG. 1 is a block diagram showing a schematic configuration of the information processing system of the first embodiment.
  • the information processing system 10a includes a data acquisition unit 11, a 3D model generation unit 12, a coding unit 13a, a transmission unit 14, a reception unit 15, a decoding unit 16a, and a rendering unit 17a. And a display unit 18.
  • the data acquisition unit 11 acquires image data for generating a 3D model 90M of the subject 90, which is an object to be imaged.
  • a plurality of viewpoint images captured by a plurality of imaging devices 70 (70a, 70b, ...) Arranged so as to surround the subject 90 are acquired as image data.
  • the plurality of viewpoint images are preferably images captured by a plurality of cameras in synchronization.
  • the data acquisition unit 11 may, for example, move one camera and acquire the subject as image data obtained by capturing the subject from a plurality of viewpoints.
  • the data acquisition unit 11 may perform calibration based on the image data and acquire the internal parameters and the external parameters of each imaging device.
  • the data acquisition unit 11 may acquire a plurality of depth information indicating distances from a plurality of viewpoints to the subject 90, for example.
  • the 3D model generation unit 12 generates a model having three-dimensional information of the subject based on the image data for generating the 3D model 90M of the subject 90.
  • the 3D model generation unit 12 creates a 3D model of the subject by, for example, using so-called Visual Hull and cutting the three-dimensional shape of the subject using images from a plurality of viewpoints (for example, silhouette images from a plurality of viewpoints). Generate.
  • the 3D model generation unit 12 can further deform the 3D model 90M generated by using Visual Hull with high accuracy by using a plurality of depth information indicating the distances from the viewpoints at a plurality of locations to the subject.
  • the 3D model generation unit 12 may generate a 3D model 90M of the subject 90 from one captured image of the subject 90.
  • the 3D model 90M generated by the 3D model generation unit 12 can be said to be a moving image of the 3D model by generating it in time-series frame units. Further, since the 3D model 90M is generated by using the image captured by the image pickup apparatus, it can be said to be a live-action 3D model.
  • the 3D model can express the shape information representing the surface shape of the subject 90 in the form of three-dimensional shape mesh data called a polygon mesh, which is expressed by the connection between the vertices (Vertex) and the vertices.
  • the three-dimensional shape mesh data has, 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 by a so-called point cloud expression method expressed by the position information of points.
  • Color information data is also generated as a texture in a form associated with these 3D shape data. There are two cases: View Independent texture, which has a constant color when viewed from any direction, and View Dependent texture, which changes color depending on the viewing direction.
  • the coding unit 13a converts the data of the 3D model 90M generated by the 3D model generation unit 12 into a format suitable for transmission / storage.
  • the three-dimensional shape data input in the form of three-dimensional shape mesh data or the like is converted into a depth information image projected from one or a plurality of viewpoints, a so-called depth map.
  • the depth information and the color information of the state of the two-dimensional image are compressed and output to the transmission unit 14.
  • the depth information and the color information may be transmitted side by side as one image, or may be transmitted as two separate images. Since both are in the form of two-dimensional image data, they can be compressed by using a two-dimensional compression technique such as AVC (Advanced Video Coding).
  • AVC Advanced Video Coding
  • the transmission unit 14 transmits the transmission data formed by the coding unit 13a to the reception unit 15.
  • the transmission unit 14 transmits the transmission data to the reception unit 15 after performing a series of processes of the data acquisition unit 11, the 3D model generation unit 12 and the coding unit 13a offline. Further, the transmission unit 14 may transmit the transmission data generated from the series of processes described above to the reception unit in real time.
  • the 3D model generation unit 12, the coding unit 13a, and the transmission unit 14 constitute a coding device 40a.
  • the coding device 40a is an example of the information processing device in the present disclosure.
  • the receiving unit 15 receives the transmission data transmitted from the transmitting unit 14.
  • the decoding unit 16a restores the bit stream received by the receiving unit 15 to a two-dimensional image, and restores the mesh and texture information that the rendering unit 17a can draw from the restored two-dimensional image.
  • the receiving unit 15, the decoding unit 16a, and the rendering unit 17a constitute a decoding device 50a.
  • the decoding device 50a is an example of the information processing device in the present disclosure.
  • the rendering unit 17a projects the mesh of the 3D model 90M from the viewpoint of the drawing camera, and performs texture mapping to paste the texture representing the color or pattern.
  • the feature of this embodiment is that the drawing at this time can be viewed from an arbitrarily set free viewpoint regardless of the camera position at the time of shooting.
  • the texture mapping includes a so-called View Dependent method (VD method) that considers the user's viewing viewpoint and a View Independent method (VI method) that does not consider the user's viewing viewpoint. Since the VD method changes the texture to be attached to the 3D model according to the position of the viewing viewpoint, there is an advantage that higher quality rendering can be realized than the VI method.
  • VD method View Dependent method
  • VI method View Independent method
  • the VI method has an advantage that the amount of processing is smaller than that of the VD method because the position of the viewing viewpoint is not considered.
  • the viewing viewpoint data is input to the rendering unit 17a from the display device after the display device detects the viewing point (Region of Interest) of the user.
  • the display unit 18 displays the result rendered by the rendering unit 17a on the display unit of the display device.
  • the display device may be a 2D monitor or a 3D monitor, for example, a head-mounted display, a spatial display, a mobile phone, a television, a PC, or the like.
  • the information processing system 10a of FIG. 1 shows a series of flows from a data acquisition unit 11 that acquires an captured image, which is a material for generating content, to a display control unit that controls a display device to be viewed by a user.
  • a data acquisition unit 11 that acquires an captured image, which is a material for generating content
  • a display control unit that controls a display device to be viewed by a user.
  • this does not mean that all functional blocks are required for the embodiment of the present embodiment, and the present embodiment can be implemented for each functional block or a combination of a plurality of functional blocks.
  • a transmitting unit 14 and a receiving unit 15 are provided in order to show a series of flow from the side that creates the content to the side that views the content through the distribution of the content data.
  • the same information processing device for example, a personal computer
  • the same implementer may implement all, or different implementers may implement each functional block.
  • the business operator A generates 3D contents through the data acquisition unit 11, the 3D model generation unit 12, and the coding unit 13a.
  • a plurality of implementers jointly distribute the 3D content through the transmission unit 14 (platform) of the business operator B so that the display device of the business operator C receives, renders, and controls the display of the 3D content. It may be implemented.
  • each of the above-mentioned functional blocks can be implemented on the cloud.
  • the rendering unit 17a may be implemented in the display device or may be implemented in the server. In that case, information is exchanged between the display device and the server.
  • the data acquisition unit 11, the 3D model generation unit 12, the coding unit 13a, the transmission unit 14, the reception unit 15, the rendering unit 17a, and the display unit 18 are collectively described as an information processing system 10a.
  • the information processing system 10a of the present specification is referred to as an information information system if two or more functional blocks are involved.
  • the data acquisition unit 11 and the 3D model generation unit are not included in the display unit 18.
  • the coding unit 13a, the transmitting unit 14, the receiving unit 15, the decoding unit 16a, and the rendering unit 17a can be collectively referred to as an information processing system 10a.
  • FIG. 3 is a flowchart showing an example of the flow of processing performed by the information processing system.
  • step S11 the data acquisition unit 11 acquires image data for generating a 3D model of the subject.
  • step S12 the 3D model generation unit 12 generates a 3D model having three-dimensional information of the subject based on the image data for generating the 3D model of the subject.
  • step S13 the coding unit 13a encodes the shape and texture data of the 3D model generated by the 3D model generation unit 12 into a format suitable for transmission storage.
  • step S14 the transmitting unit 14 transmits the encoded data
  • step S15 the receiving unit 15 receives the transmitted data.
  • step S16 the decoding unit 16a performs decoding processing and converts the 3D model into shape and texture data required for display. Then, in step S17, the rendering unit 17a renders using the shape and texture data. The rendered result is displayed on the display unit in step S18. Then, when the process of step S18 is completed, the process of the information processing system 10a is completed.
  • FIG. 4 is a hardware block diagram showing an example of the hardware configuration of the information processing system.
  • the CPU 21, ROM 22, and RAM 23 are connected to each other via the bus 24.
  • An input / output interface 25 is also connected to the bus 24.
  • An input unit 26, an output unit 27, a storage unit 28, a communication unit 29, and a drive 30 are connected to the input / output interface 25.
  • the input unit 26 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 27 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 28 includes, for example, a hard disk, a RAM disk, a non-volatile memory, and the like.
  • the communication unit 29 includes, for example, a network interface and the like.
  • the drive 30 drives a removable medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 21 loads, for example, the program stored in the storage unit 28 into the RAM 23 via the input / output interface 25 and the bus 24, and executes the series described above. Process.
  • the RAM 23 also appropriately stores data and the like necessary for the CPU 21 to execute various processes.
  • the program executed by the computer can be recorded and applied to removable media such as package media, for example.
  • the program can be installed in the storage unit 28 via the input / output interface by mounting the removable media in the drive.
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 29 and installed in the storage unit 28.
  • FIG. 5 is a functional block diagram showing an example of the functional configuration of the coding unit.
  • the coding unit 13a receives the three-dimensional shape mesh data of the subject 90 and the color information texture data C (see FIG. 9) from the 3D model generation unit 12. Then, the coding unit 13a converts the data into bitstream data suitable for transmission / storage and outputs the data. As shown in FIG. 5, the coding unit 13a includes a first layer depth map generation unit 131, a second layer depth map generation unit 132, a color information packing unit 133, a tiling processing unit 134a, and an image compression process. A unit 135 is provided.
  • the first layer depth map generation unit 131 Based on the 3D shape acquired by the 3D model generation unit 12, the first layer depth map generation unit 131 has a first point P1 and a projection point Q in which a straight line from the projection point Q to the subject 90 comes into contact with the subject 90. The first distance d1 with and from is acquired. Then, the first layer depth map generation unit 131 generates an image that visualizes the distance from the projection point Q to the surface of the subject 90, that is, the first layer depth map Dm1.
  • the first layer depth map generation unit 131 is an example of the distance acquisition unit in the present disclosure.
  • the second layer depth map generation unit 132 based on the 3D shape acquired by the 3D model generation unit 12, a straight line entering the inside of the subject 90 from the first point P1 starting from the projection point Q is formed from the subject 90.
  • the second distance d2 between the second point P2 penetrating the outside and the projection point Q is acquired.
  • the second layer depth map generation unit 132 generates an image that visualizes the distance from the projection point Q to the back surface of the subject 90, that is, the second layer depth map Dm2.
  • the second layer depth map generation unit 132 is an example of the distance acquisition unit in the present disclosure.
  • a straight line starting from the projection point Q and reaching the subject 90 may penetrate the subject 90 a plurality of times. In such a case, a plurality of pairs of the first point P1 and the second point P2 are generated. That is, every time a straight line penetrates the subject 90, a pair of a first point P1 and a second point P2 is generated.
  • the surface of the subject 90 is reached.
  • the distance can be expressed as an image. This image is the first layer depth map Dm1 and the second layer depth map Dm2 described above.
  • the perspective transformation is calculated by, for example, equation (1).
  • the points (X, Y, Z) on the subject 90 form a matrix formed by a camera external parameter composed of rotation components r11 to r33 and translational movement components t1 to t3, and fx, fy and cx, cy. It is shown that the two-dimensional coordinates (u, v) of the projection plane and the depth s can be obtained by multiplying the matrix formed by the internal parameters of the camera represented by.
  • the first layer depth map is the one in which all the surfaces of the three-dimensional mesh of the subject 90 seen from the projection point Q are projected and the distance from the foreground, that is, the closest point from the projection point Q is stored in the data of the two-dimensional array. It is Dm1.
  • FIG. 6 is a diagram illustrating a method of generating a depth map.
  • the first layer depth map generation unit 131 quantizes the depth s calculated as the first distance d1 in the range of the minimum value and the maximum value, and the point Ps of the projection plane R (u, v) shown in FIG. Store in.
  • the minimum value is, for example, the distance near from the projection point Q in FIG. 6 to the near surface Sn
  • the maximum value is, for example, the distance far from the projection point Q in FIG. 6 to the far surface Sf.
  • the quantized depth value D1 is simply referred to as a depth value D1.
  • the second layer depth map generation unit 132 uses the same perspective projection parameters as the first layer, but the depth s calculated as the second distance d2 from the back side of the subject 90 to the point where it penetrates the inside of the subject 90. Is stored at the point Ps of the projection plane R (u, v) shown in FIG. In the region where the subject 90 is projected in the depth map, the second distance d2 is a value larger than the first distance d1.
  • FIG. 6 shows an example of generating a depth map by perspective projection centered on the projection point Q
  • a depth map may be generated by using a projection method other than perspective projection, for example, parallel projection. ..
  • FIG. 7 is a diagram for explaining the quantized depth values of the first layer depth map and the second layer depth map.
  • FIG. 8 is a diagram showing an example of a first layer depth map and a second layer depth map.
  • the coding unit 13a stores the depth value D1 in the region (invalid region) where the subject 90 stored in the first layer depth map Dm1 does not exist in the near surface Sn as the distance far. Further, the depth value D2 in the region (invalid region) where the subject 90 does not exist, which is stored in the second layer depth map Dm2, is stored in the far surface Sf as a distance near smaller than the distance far.
  • the distance far is an example of the first distance value in the present disclosure. Further, the distance near is an example of the second distance value in the present disclosure. This makes it possible to determine that the region where d1 ⁇ d2 is the region indicating the subject 90.
  • the coding unit 13a reverses the quantization direction in the first layer and the second layer.
  • the depth values D1 and D2 corresponding to the invalid region after quantization are set to equal values, that is, the depth value D1 and the depth value D2 are both set to 0.
  • the first layer depth map Dm1 and the second layer depth map Dm2 are combined into one image as shown in the upper figure of FIG. When lined up, there is a depth value gap at the border.
  • the first layer depth map Dm1 and the second layer depth map Dm2 are combined into one image.
  • the first layer depth map Dm1 and the second layer depth map Dm2 are arranged side by side in one image and encoded, the compression efficiency of the image can be improved.
  • the quantization method shown here is an example, and a quantization method other than the linear quantization shown in the equations (2) and (3) may be applied.
  • the inverse number quantization shown in the equation (4) may be applied. According to Eq. (4), the farther the distance is, the coarser the steps are quantized.
  • the color information packing unit 133 performs a process of arranging (packing) a plurality of color information texture data C input from the 3D model generation unit 12 on one image. By this process, the number of images transmitted to the decoding device 50a can be reduced.
  • the color information texture data C is an example of the texture information in the present disclosure.
  • the tiling processing unit 134a performs a process of combining the first layer depth map Dm1, the second layer depth map Dm2, and the color information texture data C packed by the color information packing unit 133 into one image.
  • the values (depth values D1 and D2) stored in the first layer depth map Dm1 and the second layer depth map Dm2 have a Y / Cb / Cr signal format (brightness signal and) in order to be arranged in the same image as the color information. It is converted into a color difference signal). That is, the depth values D1 and D2 are stored in the luminance value. Further, a constant value such as 128 representing gray is stored in the color difference, for example, in the case of an 8-bit image per pixel.
  • the tiling processing unit 134a outputs image arrangement information indicating at which position of the combined image the depth map and the color information texture data C are stored.
  • the image arrangement information includes, for example, an offset value indicating how much the original image has moved and arranged in one image, the values of the distances near and far used for the quantization of the depth map, and the projection point Q. Including position etc.
  • FIG. 9 is a diagram showing an example of an image generated by the tiling processing unit.
  • the tiling processing unit 134a combines the first layer depth map Dm1, the second layer depth map Dm2, and the color information texture data C into one tiling image T1.
  • the color information texture data C is an actual image of the subject 90 captured by a plurality of imaging devices 70 (see FIG. 2).
  • the image compression processing unit 135 compresses the images collected in one sheet by the tiling processing unit 134a using a general moving image codec. Specifically, a widely used codec such as AVC or HEVC is used.
  • the depth values D1 and D2 are 8 bits, the values are quantized from 0 to 255, but in HEVC or the like, a 10-bit value is used. Since it can be handled, the depth values D1 and D2 may be quantized with 10 bits (0 to 1023).
  • the bit stream generated by the image compression processing unit 135 and the image arrangement information generated by the tiling processing unit 134a are transmitted to the decoding device 50a via the transmission unit 14. That is, the transmission unit 14 associates the first distance d1 with the second distance d2 and transmits the first distance d1 to the decoding device 50a that reconstructs the three-dimensional shape of the subject 90.
  • FIG. 10 is a functional block diagram showing an example of the functional configuration of the decoding unit.
  • the decoding unit 16a includes an image expansion processing unit 161, a depth effective region determination unit 162, a triangle patch generation unit 163, and a color information texture cutout unit 164.
  • the straight line from the projection point Q to the subject 90 is the subject 90 based on the information transmitted from the coding device 40a, that is, the 3D shape of the surface of the subject 90.
  • a 3D model 90M of the subject 90 is generated. ..
  • the image decompression processing unit 161 decompresses the bit stream compressed by the image compression processing unit 135 into an image. Since the coding (encoding) and the decoding (decoding) are paired, for example, an AVC-encoded bit stream is decoded by the AVC decoding process.
  • the depth effective region determination unit 162 includes a first distance d1 stored in the first layer depth map Dm1 acquired by the first layer depth map generation unit 131 and a second layer acquired by the second layer depth map generation unit 132.
  • the area of the subject 90 is specified based on the magnitude relationship with the second distance d2 stored in the depth map Dm2. More specifically, the depth effective area determination unit 162 determines that the area on which the subject 90 is projected is an effective area, and determines that the area on which the subject 90 is not projected is an invalid area. In the area determined to be the effective area, the stored depth values D1 and D2 are used to restore the shape of the subject 90. On the other hand, the data in the area determined to be the invalid area is discarded without being used for rendering.
  • the depth effective region determination unit 162 is an example of the region determination unit in the present disclosure. The details of the processing performed by the depth effective region determination unit 162 will be described later.
  • the triangle patch generation unit 163 generates shape data, so-called mesh data, that can be used for rendering processing at the inside of the subject 90 and at the boundary between the subject 90 and the outside. Further, the triangle patch generation unit 163 has a front end of the subject 90 based on the first distance d1 stored in the first layer depth map Dm1 related to the projection point Q, and a second layer depth related to the projection point Q. A closed space is formed by connecting to the rear end of the subject 90 based on the second distance d2 stored in the map Dm2.
  • the triangle patch generation unit 163 is an example of the closed space generation unit in the present disclosure. The details of the processing performed by the triangle patch generation unit 163 will be described later.
  • the color information texture cutting unit 164 is based on the image information decoded by the image stretching processing unit 161 and the image arrangement information generated by the tying processing unit 134a, and the three-dimensional shape mesh data in the rendering unit 17a in the subsequent stage. Generates color information texture data C to be pasted on.
  • FIG. 11 is a diagram illustrating a method in which the depth effective domain determination unit reads a depth value from a depth map.
  • FIG. 12 is a diagram illustrating a method in which the depth effective region determination unit determines whether the depth value is valid or invalid.
  • the first layer depth map Dm1 and the second layer depth map Dm2 shown on the left side of FIG. 11 form a part (shoulder portion of the subject) of the first layer depth map Dm1 and the second layer depth map Dm2 shown on the right side. It is an enlarged version.
  • the white circle represents a point inside the subject, that is, a point in which a valid depth value D1 or depth value D2 is stored.
  • the black circle represents a point outside the subject, that is, a point in which an invalid depth value D1 or a depth value D2 is stored. That is, the first layer depth map Dm1 and the second layer depth map Dm2 shown on the left side of FIG. 11 should actually be represented by curved surfaces in which depth values are stored at each point, but the explanation is easy to understand. Therefore, it is drawn on a flat surface.
  • the reading points of the first layer depth map Dm1 and the second layer depth map Dm2 are arranged in a square grid as shown in FIG.
  • the grid spacing of the grid may be set freely. Further, the position of the reading point of the depth map does not necessarily have to match the pixel position of the depth map. If the readout point and the pixel position are different, the depth value interpolated by the interpolation filter is used.
  • the triangle patch generation unit 163 which will be described later, performs drawing processing in units of triangles connecting the three depth reading points, the smaller the grid spacing of the reading points, the larger the drawing processing amount. On the other hand, if the grid spacing of the reading points is set large, the drawing process becomes lighter, and it is possible to adjust the processing load of the decoding device 50a by utilizing this.
  • the depth values D1 and D2 read from the depth reading point are the effective areas, that is, the depth values D1 on the surface of the subject 90 are stored in the first layer in the area where the subject 90 is located. Then, the depth value D2 of the back surface of the subject 90 is stored in the second layer.
  • the invalid area that is, the area where the subject 90 does not exist
  • the effective region of the subject 90 is determined by relative comparison between the first layer and the second layer. As shown in the figure on the right, the effective regions of the first layer and the second layer completely coincide with each other.
  • FIG. 13 is a flowchart showing an example of the flow of processing performed by the depth effective region determination unit.
  • the depth effective area determination unit 162 sets the depth reading point (step S21).
  • the depth effective region determination unit 162 acquires the depth value D1 of the first layer from the depth map Dm1 of the first layer (step S22).
  • the depth effective region determination unit 162 acquires the depth value D2 of the second layer from the second layer depth map Dm2 (step S23).
  • the depth effective region determination unit 162 determines whether the depth value D1 of the first layer is equal to or less than the depth value D2 of the second layer (step S24). When it is determined that the depth value D1 of the first layer is equal to or less than the depth value D2 of the second layer (step S24: Yes), the process proceeds to step S25. On the other hand, if it is not determined that the depth value D1 of the first layer is equal to or less than the depth value D2 of the second layer (step S24: No), the process proceeds to step S26.
  • step S24 the depth effective area determination unit 162 determines that the depth read point is included in the area of the subject 90, and sets an effective flag for the depth read point (step S25). Then, the process proceeds to step S27.
  • step S24 the depth effective domain determination unit 162 determines that the depth readout point is not included in the area of the subject 90, and sets an invalid flag at the depth readout point (step S26). Then, the process proceeds to step S27.
  • the depth effective area determination unit 162 determines whether or not the entire depth surface has been processed (step S27). When it is determined that the entire depth surface has been processed (step S27: Yes), the depth effective region determination unit 162 ends the processing of FIG. On the other hand, if it is not determined that the entire depth surface has been processed (step S27: No), the process returns to step S21, and the series of processing described above is repeated for different depth reading points.
  • the valid flags may be set for all the depth read points, and when No is determined in step S24, the valid flags for the depth read points may be lowered.
  • FIG. 14 is a diagram illustrating a triangular patch set on the depth map.
  • FIG. 15 is a diagram illustrating the number of effective points of the triangular patch.
  • the depth values D1 and D2 read from the reading points on the square grid and their valid flags are input to the triangle patch generation unit 163 from the depth effective area determination unit 162.
  • the left figure of FIG. 14 shows an example of a state in which the depth read point and its valid flag are detected.
  • the triangle patch generation unit 163 generates a graph structure in which two right triangles are assigned to one square lattice.
  • the graph structure has a triangular shape in which three adjacent points are connected with the depth reading point as the apex.
  • the right figure of FIG. 14 is for one layer, and in reality, the same graph structure is generated for the first layer depth map Dm1 and the second layer depth map Dm2.
  • the triangle patch generation unit 163 performs the subsequent processing in units of the triangle patch generated in this way. Then, the triangle patch generation unit 163 delivers the triangle group (mesh data) subjected to the coordinate conversion processing based on the triangle patch to the rendering unit 17a in the subsequent stage.
  • the triangle patch generation unit 163 counts the number of effective points N for each triangle patch.
  • the effective score N is a value indicating how many of the three vertices of the triangular patch of interest belong to the inside of the subject 90.
  • the effective score N is an evaluation scale indicating whether or not the triangular patch of interest belongs to the inside of the subject 90.
  • the effective score N takes any value of 0, 1, 2, or 3.
  • the triangle patch generation unit 163 deletes the triangle patch as shown in the right figure of FIG. Then, the graph structure connecting the three vertices of the corresponding triangle is deleted.
  • N 2,3
  • the triangle patch generation unit 163 leaves the triangle patch without deleting it.
  • FIG. 16 is a diagram illustrating a vertex coordinate change process.
  • the upper left of FIG. 16 shows a state in which the first layer depth map Dm1 and the second layer depth map Dm2 are arranged in close proximity to each other.
  • the vertices of the triangular patch of the first layer depth map Dm1 are A1, B1, and C1.
  • the vertices of the triangular patch of the second layer depth map Dm2 are A2, B2, and C2.
  • the triangle patch generation unit 163 performs vertex change processing on invalid vertices A1 and A2 belonging to the outside of the subject 90.
  • the triangle patch generation unit 163 substitutes the value of the valid vertex B2 (depth value D2) of the opposite depth map into the invalid vertex A1. That is, the apex A1 is regarded as if it is at the position of the apex B2. Further, the triangle patch generation unit 163 substitutes the value of the valid vertex C1 (depth value D1) of the opposite depth map into the invalid vertex A2. That is, the apex A2 is regarded as if it is at the position of the apex C1.
  • the quadrangles B1-C1-C2-B2 are connected by two triangular patches by alternately substituting the values (depth values) of the valid vertices of the opposite depth map into the invalid vertices. ..
  • the separated sides B1-C1 and the sides B2-C2 are connected to each other without a gap on the surface. That is, the boundary line between the front surface and the back surface of the subject 90 as seen from the projection point is seamlessly connected to form a closed solid (closed space).
  • the same effect can be obtained by substituting the depth value D2 of the vertex C2 for the vertex A1 and substituting the depth value D1 of the vertex B1 for the vertex A2.
  • the depth value D1 of the first layer is substantially equal and the depth value D2 of the second layer is substantially equal, but in reality, the depth of the first layer is described.
  • the three-dimensional coordinates of each vertex are calculated by the inverse transformation of equation (1), and by arranging them in the three-dimensional space, they are sandwiched between the depth planes of the two layers. , A closed three-dimensional shape representing the subject 90 is reproduced.
  • FIG. 17 is a schematic diagram showing how the three-dimensional shape mesh data of the subject is generated. As shown in FIG. 17, three-dimensional shape mesh data is obtained in which a region facing the projection point Q of the subject 90 and a region on the back side of the projection point Q of the subject 90 are seamlessly connected.
  • FIG. 18 is a flowchart showing an example of the flow of the mesh data generation process performed by the triangle patch generation unit.
  • the triangle patch generation unit 163 counts the number of effective points N for the triangle patch generated as shown in the right figure of FIG. 14 (step S31).
  • the triangle patch generation unit 163 determines whether the number of effective points N counted in step S31 is 2 or more (step S32). When it is determined that the number of effective points N is 2 or more, that is, the number of effective points N is 2 or 3 (step S32: Yes), the process proceeds to step S33. On the other hand, if it is not determined that the effective score N is 2 or more (step S32: No), that is, if it is determined that the effective score N is 0 or 1, the process proceeds to step S34.
  • step S32 the triangle patch generation unit 163 calculates the three-dimensional coordinates of the vertices determined to be valid (step S33). Then, the process proceeds to step S35.
  • step S32 the triangle patch generation unit 163 does not generate a triangle mesh in the triangle patch of interest (step S34). Then, the triangle patch of interest is erased so that rendering is not performed. Then, the process proceeds to step S38.
  • step S35 the triangle patch generation unit 163 determines whether the effective score N is 3 for the triangle patch of interest (step S35). When it is determined that the number of effective points N is 3 (step S35: Yes), the process proceeds to step S37. On the other hand, if it is not determined that the effective score N is 3 (step S35: No), that is, if it is determined that the effective score N is 2, the process proceeds to step S36.
  • step S35 the triangle patch generation unit 163 performs the above-mentioned vertex coordinate change process (see FIG. 16) (step S36).
  • step S37 the triangle patch generation unit 163 generates a triangle mesh for the triangle patch of interest (step S37).
  • the triangle patch generation unit 163 determines whether all the triangle patches have been processed (step S38). When it is determined that all the triangle patches have been processed (step S38: Yes), the triangle patch generation unit 163 ends the process of FIG. On the other hand, if it is not determined that all the triangle patches have been processed (step S38: No), the process returns to step S31 and the above-mentioned series of processes is repeated for different triangle patches.
  • FIG. 19 is a functional block diagram showing an example of the functional configuration of the rendering unit.
  • the rendering unit 17a includes a depth map generation unit 171, a visibility confirmation unit 172, and a drawing unit 173.
  • the depth map generation unit 171 generates a depth map in which the three-dimensional shape mesh data of the subject 90 generated by the triangle patch generation unit 163 is viewed from the same projection point Q as the color information texture data C. That is, the depth map generation unit 171 generates a plurality of depth maps corresponding to the plurality of color information texture data Cs.
  • the visibility confirmation unit 172 compares the depth map generated by the depth map generation unit 171 with the three-dimensional coordinates of the three-dimensional shape mesh data, so that the three-dimensional shape mesh data of interest can be seen from the projection point Q. Perform a Visibility Check to determine whether or not. By this determination, it is determined that a plurality of objects overlap and the mesh cannot be seen from the projection point Q. The Visibility Check will be described in detail later (see FIG. 22).
  • the drawing unit 173 draws the three-dimensional shape of the mesh determined by the visibility confirmation unit 172 to be visible (visible). Further, the drawing unit 173 attaches the corresponding color information texture data C to the drawn mesh. As a result, it is possible to generate an image in which the subject 90 is observed from an arbitrary projection point Q.
  • the first embodiment can be transformed into various forms and executed.
  • the first layer depth map Dm1, the second layer depth map Dm2, and the color information texture data C do not have to be one image. That is, the first layer depth map Dm1 and the second layer depth map Dm2 may be used as one image, and the color information texture data C may be used as another image. Further, the first layer depth map Dm1, the second layer depth map Dm2, and the color information texture data C may be made into one image each (in this case, it is not necessary to perform the tiling process).
  • all the color information texture data C may be used as separate images (in this case, neither packing processing nor tiling processing needs to be performed).
  • the number of images transmitted by the transmission unit 14 becomes a plurality of images, the number of image channels of the bitstream increases accordingly.
  • a general multi-channel stream distribution mechanism synchronization between the channels is achieved. Can be done.
  • the transmission unit 14 may transmit the tiling image T1 and the voice information at the same time.
  • the tiling image T1 may be still image data or moving image data.
  • the image compression processing unit 135 performs a still image compression process such as JPEG.
  • the image compression processing unit 135 performs moving image compression processing such as MPEG2, AVC, HEVC, VVC, and AV1.
  • the tiling image T1 to be transmitted does not have to be compressed or decompressed.
  • the image compression processing unit 135 see FIG. 5
  • the image decompression processing unit 161 see FIG. 10.
  • bit lengths of the depth values D1 and D2 stored in the first layer depth map Dm1 and the second layer depth map Dm2 do not matter. That is, in addition to the 8-bit described in the embodiment, it may be 10 bits, 12 bits, or the like. The larger the bit lengths of the depth values D1 and D2, the finer the depth of the subject 90 can be expressed.
  • the tiling image T1 may be stored as stored data in the storage unit without transmission via the transmitting unit 14 and the receiving unit 15, and the stored data may be read from the storage unit and reproduced.
  • the data acquisition unit 11 to the transmission unit 14 do not have to operate in real-time processing. That is, the tiling image T1 to be transmitted may be temporarily stored in a storage unit or the like, the stored data may be read out, and the tiling image T1 may be transmitted to the decoding device 50a.
  • the data acquisition unit 11 to the transmission unit 14 are operated by real-time processing, it can be used for real-time communication such as live streaming.
  • the first layer depth map generation unit 131 projects based on the 3D shape of the surface of the subject 90.
  • the first distance d1 between the first point P1 and the projection point Q where the straight line from the point Q to the subject 90 comes into contact with the subject 90 is acquired.
  • the second layer depth map generation unit 132 distance acquisition unit
  • a straight line entering the inside of the subject 90 from the first point P1 starting from the projection point Q is formed based on the 3D shape of the surface of the subject 90.
  • the second distance d2 between the second point P2 penetrating the outside from the subject 90 and the projection point Q is acquired.
  • the first layer depth map generation unit 131 (distance acquisition unit) is the first when the first point P1 does not exist.
  • the distance far (first distance value) is acquired as the distance d1.
  • the second layer depth map generation unit 132 (distance acquisition unit) sets the second distance d2 as a distance near (second distance value) smaller than the distance far. To get.
  • the first layer depth map generation unit 131 (distance acquisition unit) and the second layer depth map generation unit 132 (distance acquisition unit) are The distance far (first distance value) and the distance near (second distance value) are set to equal values.
  • first layer depth map Dm1 generated by the first layer depth map generation unit 131 and the second layer depth map Dm2 generated by the second layer depth map generation unit 132 are arranged side by side, they are placed on the boundary line. There is no depth value gap. Therefore, when the first layer depth map Dm1 and the second layer depth map Dm2 are arranged side by side in one image and encoded, the compression efficiency of the image can be improved.
  • the transmission unit 14 has the first distance d1 acquired by the first layer depth map generation unit 131 and the second layer depth map generation unit 132. In association with the second distance d2 acquired by the subject 90, the information is transmitted to the decoding device 50a that reconstructs the three-dimensional shape of the subject 90.
  • the coordinates on the front side and the coordinates on the back side of the subject can be associated and transmitted, so that the information transmission efficiency can be improved.
  • the decoding device 50a (information processing device) of the first embodiment
  • the first distance d1 acquired by the first layer depth map generation unit 131 and the second distance d1 acquired by the second layer depth map generation unit 132 are obtained.
  • the distance d2 is acquired, and the region of the subject 90 is specified based on the magnitude relationship between the first distance d1 and the second distance d2.
  • the existence range of the subject 90 can be specified only by a simple comparison calculation.
  • the triangle patch generation unit 163 projects the subject 90 based on the plurality of first distances d1 related to the projection point Q.
  • the front end as seen from the point Q and the back end as seen from the projection Q of the subject 90 based on the plurality of second distances d2 related to the projection point Q are connected.
  • the triangular patch generation unit 163 (closed space generation unit) is the first of three points (vertices A1, B1, C1) adjacent to each other in a triangular shape.
  • the first distance d1 of two points (vertices B1 and C1) represents the front surface of the subject 90
  • the first distance d1 of the remaining one point (vertex A1) does not represent the front surface of the subject 90.
  • the remaining one point (vertex A1) is one of the two points (vertices B2, C2) representing the back surface of the subject 90 among the second distance d2 corresponding to the three points (vertices A1, B1, C1).
  • one point (vertex A2) that does not represent the back surface of the subject 90 is assigned to the subject 90.
  • the remaining one point (vertex A1) is assigned to the opposite side (when the remaining one point is substituted to the vertex B2, the remaining one point is the vertex C2 and the remaining one point). Is assigned to vertex C2, it is assigned to vertex B2).
  • the front surface and the back surface of the subject 90 can be connected without a gap by a simple calculation process.
  • the information processing system 10b (not shown) of the second embodiment is a coding device 40b (not shown) instead of the coding device 40a with respect to the information processing system 10b (see FIG. 1) described in the first embodiment. (Shown). Further, a decoding device 50b (not shown) is provided instead of the decoding device 50a.
  • the coding device 40b includes a coding unit 13b and a transmission unit 14 (not shown). Further, the decoding device 50b includes a receiving unit 15 and a decoding unit 16b (see FIG. 20). Further, the decoding device 50b includes a rendering unit 17b (see FIG. 20) instead of the rendering unit 17a.
  • the coding unit 13b generates a plurality of first layer depth maps D acquired from the same projection point Q in which the respective color information texture data Cs are acquired for the plurality of color information texture data Cs.
  • the coding unit 13b includes a tiling processing unit 134b (not shown) in place of the tiling processing unit 134a in the coding unit 13a shown in FIG.
  • FIG. 20 is a diagram showing an example of an image to be coded generated by the tiling processing unit in the second embodiment.
  • the tiling image T2 shown in FIG. 20 is a plurality of first tiling images T1 (see FIG. 9) described in the first embodiment, each of which has a one-to-one correspondence with a plurality of color information texture data Cs.
  • the difference is that it includes the layer depth map D. That is, the tiling processing unit 134b sees the subject 90 from the plurality of projection points Q and the color information texture data C, and the first layer viewed from the same plurality of projection points Q from which the color information texture data C is acquired.
  • a tiling image T2 associated with the depth map D is generated. As shown in FIG.
  • the first layer depth map Dm1 described in the first embodiment is included in the plurality of first layer depth maps D arranged in the tiling image T2.
  • the tiling image T2 also includes the second layer depth map Dm2 described in the first embodiment.
  • the tiling processing unit 134b is an example of the color / distance acquisition unit in the present disclosure.
  • the plurality of first layer depth maps D included in the tiling image T2 are used for the visibility confirmation process (see FIG. 22) described later when the decoding unit 16b reconstructs the three-dimensional shape of the subject 90.
  • FIG. 21 is a functional block diagram showing an example of the functional configuration of the decoding unit and the rendering unit of the second embodiment.
  • the decoding unit 16b has a configuration in which a depth map cutting unit 165 is added to the decoding unit 16a (see FIG. 10) described in the first embodiment.
  • the depth map cutting unit 165 cuts out the region of the subject 90 from the plurality of color information texture data Cs based on the first layer depth map D corresponding to each color information texture data C. More specifically, when a valid depth value is stored in the first layer depth map D, the color information texture data C corresponding to the coordinates in which the depth value is stored is the area of the subject 90. Judge and cut out.
  • the rendering unit 17b has a configuration in which the depth map generation unit 171 is excluded from the rendering unit 17a (see FIG. 19) described in the first embodiment.
  • the information processing system 10b uses the decoding unit 16b to generate a depth map that was performed by the rendering unit 17a in order for the information processing system 10a to perform the visibility check process (Visibility Cheek). Further, the decoding unit 16b does not actually create the depth map, but only acquires the plurality of first layer depth maps D generated by the coding unit 13b. Then, the depth map cutting unit 165 of the decoding unit 16b cuts out the color information texture data C corresponding to the region of the subject 90 by using the first layer depth map D.
  • FIG. 22 is a diagram illustrating a process of confirming visibility.
  • the color information texture data C recorded on the projection surface R (u, v) is the surface closest to the projection point Q, and the inner surface shielded by the surface is from the projection point Q. It is invisible.
  • the point Pa (an example of the first point) of the subject 90 is visualized from the projection point Qa, and the depth value (first distance) of the point Pa is recorded on the projection surface Ra. NS.
  • the point Pa is observed from different projection points Qb, the point Pa cannot be visualized because it is shielded by the point Pb on the front side. Then, the depth value of the point Pb (a distance different from the first distance) is stored in the projection surface Rb.
  • the visibility confirmation unit 172 sets the three-dimensional position of the point Pa corresponding to the depth value seen from the projection point Qa and the depth value corresponding to the direction of the point Pa seen from the projection point Qb different from the projection point Qa.
  • the corresponding three-dimensional positions do not match, it is determined that the point Pa seen from the projection point Qa cannot be seen from the projection point Qb different from the projection point Qa.
  • the drawing unit 173 when drawing the image of the subject 90 viewed from the projection point Qb, the drawing unit 173 does not use the color information texture data C of the point Pb, but visualizes the point Pa that is close to the projection point Qb.
  • the color information texture data C projected on the projection point determined to be is used. Further, the color information texture data C projected on a plurality of projection points where the point Pa is visualized, which is close to the projection point Qb, may be mixed and used.
  • the tyling processing unit 134b (color / distance acquisition unit) provides color information when the subject 90 is viewed from a plurality of projection points Q.
  • the texture data C (texture information) is acquired in association with the first distance d1 seen from the same plurality of projection points Q from which the color information texture data C was acquired.
  • one of the first layer depth maps D can be used as the first layer depth map Dm1 paired with the second layer depth map Dm2, so that the amount of data transmitted by the transmission unit 14 can be reduced. Can be done.
  • the visibility confirmation unit 172 is viewed from the projection point Qa based on the information acquired by the tyling processing unit 134b (color / distance acquisition unit).
  • the three-dimensional position of the point Pa corresponding to the first distance d1 and the three-dimensional position corresponding to the first distance d1 corresponding to the direction of the point Pa seen from the projection point Qb different from the projection point Qa match. If not, it is determined that the point Pa seen from the projection point Qa cannot be seen from the projection point Qb.
  • the visibility check can be performed by a simple process using the tiling image T2.
  • the configuration (hardware configuration, functional configuration) of the information processing system 10b of the third embodiment is the same as that of the information processing system 10b (encoding device 40b, decoding device 50b) described in the second embodiment. Therefore, the description is omitted.
  • FIG. 23 is a diagram illustrating the operation of the information processing system of the third embodiment.
  • the 3D model generation unit 12 decomposes the subject 90 into a plurality of objects. Then, the first layer depth map generation unit 131 and the second layer depth map generation unit 132 have the first layer depth map Dm1 and the second layer viewed from the same projection point Q, respectively, for each decomposed object. Generate a layer depth map Dm2. That is, the first layer depth map generation unit 131 and the second layer depth map generation unit 132 have the first distance d1 and the second distance d1 and the second distance as seen from the same projection point Q with respect to each object in which the subject 90 is decomposed. Get d2 and. As described in the first embodiment, when the straight line from the projection point Q to the subject 90 penetrates the subject 90 a plurality of times, each time the straight line penetrates the subject 90, the first point P1 And a second point P2 pair is generated.
  • the 3D model generation unit 12 decomposes the subject 90 to be modeled into an arrow-shaped first object and a rectangular-shaped second object. Then, the first layer depth map generation unit 131 and the second layer depth map generation unit 132 provide the first layer depth map Dm1 and the second layer depth map Dm2 as seen from the projection point Q with respect to the first object. Generate.
  • the information processing system 10b needs to reconstruct the image of the subject 90 viewed from the projection point Q (View Dependent drawing), the first layer depth map Dm1 views the entire subject 90 from the projection point Q. Depth map.
  • the first layer depth map generation unit 131 generates the first layer depth map Dm1 in which the depth value of the dotted line shown in FIG. 23 is stored for the subject 90. Then, the second layer depth map generation unit 132 stores the depth value of the thick line representing the depth value on the back surface side of the first object in the shape of an arrow with respect to the first object in the shape of an arrow. To generate.
  • the first layer depth map Dm1 and the second layer depth map Dm2 are used as a pair for reconstructing the subject 90.
  • the first layer depth map generation unit 131 generates the first layer depth map Dm1 when the rectangular second object is viewed from the projection point Q.
  • the first layer depth map Dm1 generated here is referred to as a third layer depth map in order to distinguish it from the first layer depth map Dm1 described above.
  • the second layer depth map generation unit 132 generates the second layer depth map Dm2 when the second object is viewed from the projection point Q.
  • the second layer depth map Dm2 generated here is referred to as a fourth layer depth map in order to distinguish it from the above-mentioned second layer depth map Dm2.
  • the third layer depth map and the fourth layer depth map generated in this way are used as a pair for the reconstruction of the subject 90.
  • the rendering unit 17b renders each object by the method described above using a pair of depth maps for each object obtained by decomposing the subject 90. Then, when each rendered object is observed from the projection point, the surface of the subject 90 is reconstructed without interruption by synthesizing the objects so that the closest point is the surface of the subject 90.
  • the subject 90 may be decomposed into more objects and the same processing as described above may be repeated to generate more depth map pairs.
  • the first layer depth map generation unit 131 and the second layer depth map generation unit 132 (distance acquisition unit) have the same projection point. From Q, the first distance d1 and the second distance d2 are acquired for each object obtained by decomposing the subject 90. Then, the image of the subject 90 is reconstructed by synthesizing the reconstructed objects based on the first distance d1 and the second distance d2.
  • the information processing system 10b of the fourth embodiment decomposes the subject 90 into a plurality of objects, and for each of the decomposed objects, the first from a plurality of projection points. By generating the 1st layer depth map Dm1 and the 2nd layer depth map Dm2, the surface of the subject 90 is continuously converted into data.
  • the configuration (hardware configuration, functional configuration) of the information processing system 10b of the fourth embodiment is the same as that of the information processing system 10b (encoding device 40b, decoding device 50b) described in the second embodiment. Therefore, the description is omitted.
  • FIG. 24 is a diagram illustrating the operation of the information processing system of the fourth embodiment.
  • the 3D model generation unit 12 decomposes the subject 90 into a plurality of objects. Then, the first layer depth map generation unit 131 and the second layer depth map generation unit 132 have the first layer depth map Dm1 as seen from different projection points Q1, Q2, ... For each decomposed object.
  • the second layer depth map Dm2 is generated. That is, the first distance d1 and the second distance d2 seen from different projection points Q1, Q2, ... Are acquired for each object in which the subject 90 is decomposed.
  • the first point P1 And a second point P2 pair is generated.
  • the 3D model generation unit 12 decomposes the subject 90 to be modeled into an arrow-shaped first object and a rectangular-shaped second object. Then, the first layer depth map generation unit 131 and the second layer depth map generation unit 132 provide the first layer depth map Dm1 and the second layer depth map Dm2 as seen from the projection point Q1 with respect to the first object. Generate. Further, the first layer depth map generation unit 131 and the second layer depth map generation unit 132 provide the first layer depth map Dm1 and the second layer depth map Dm2 as seen from the projection point Q2 with respect to the first object. Generate.
  • the information processing system 10b needs to reconstruct the image of the subject 90 seen from each projection point Q1 and Q2 (View Dependent drawing), the first layer depth map Dm1 is from each projection point Q1 and Q2. Let the depth map look at the entire subject 90.
  • the first layer depth map generation unit 131 generates the first layer depth map Dm1 in which the entire subject 90 is viewed from the projection point Q1. As a result, the first layer depth map Dm1 in which the depth value of the dotted line shown in FIG. 24 is stored is generated. Then, the second layer depth map generation unit 132 generates the second layer depth map Dm2 in which the depth value of the thick line representing the depth value on the back surface side of the arrow-shaped first object is stored. The first layer depth map Dm1 and the second layer depth map Dm2 are used as a pair for reconstructing the subject 90.
  • the first layer depth map generation unit 131 generates the first layer depth map Dm1 in which the entire subject 90 is viewed from the projection point Q2. As a result, the first layer depth map Dm1 in which the depth value of the dotted line shown in FIG. 24 is stored is generated. Then, the second layer depth map generation unit 132 generates the second layer depth map Dm2 in which the depth value of the thick line representing the depth value on the back surface side of the rectangular second object is stored. The first layer depth map Dm1 and the second layer depth map Dm2 are used as a pair for reconstructing the subject 90.
  • the first layer depth map generation unit 131 and the second layer depth map generation unit 132 have different projection points. From Q1 and Q2, the first distance d1 and the second distance d2 are acquired for each object obtained by decomposing the subject 90, respectively. Then, the image of the subject 90 is reconstructed by synthesizing the reconstructed objects based on the first distance d1 and the second distance d2.
  • the video content may be produced by synthesizing the 3D model 90M of the subject 90 generated by the 3D model generation unit 12 and the 3D model managed by another server.
  • the subject 90 looks as if the background data. You can create content that looks like you are in the location indicated by.
  • the subject 90 generated by the 3D model generation unit 12 can be arranged in a virtual space where the user acts as an avatar and communicates.
  • the user can act as an avatar and view the live-action subject 90 in the virtual space.
  • a user in the remote location can transmit the 3D model 90M of the subject 90 to a remote location through a playback device in the remote location. You can watch it.
  • the subject 90 and a user in a remote place can communicate 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 present disclosure has been described above using some embodiments, these embodiments may be executed in any device.
  • the device may have the necessary functional blocks so that the necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • one device may execute the plurality of processes, or a plurality of devices may share and execute the plurality of processes.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • a computer-executed program may allow the processing of the steps of writing the program to be executed in chronological order in the order described herein, in parallel, or in calls. It may be executed individually at a required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step of writing the program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present techniques can be applied and implemented.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present disclosure can have the following structure.
  • a distance acquisition unit for acquiring a second point at which a straight line entering the subject penetrates the outside from the subject and a second distance between the projection point is provided.
  • Information processing device. (2) The distance acquisition unit When the first point does not exist, a predetermined first distance value is acquired as the first distance, and the distance is obtained. When the second point does not exist, a predetermined second distance value smaller than the first distance value is acquired as the second distance.
  • the information processing device according to (1) above.
  • the distance acquisition unit further includes a transmission unit that associates the first distance acquired by the distance acquisition unit with the second distance and transmits the transmission to a decoding device that reconstructs the three-dimensional shape of the subject.
  • the information processing device according to any one of (1) to (3).
  • a color / distance acquisition unit that acquires the texture information of the subject viewed from a plurality of projection points in association with the first distance viewed from the same plurality of projection points from which the texture information was acquired.
  • the information processing device according to any one of (1) to (4).
  • the distance acquisition unit acquires the first distance and the second distance from the same projection point with respect to each object obtained by decomposing the subject.
  • the information processing device according to any one of (1) to (5) above.
  • the distance acquisition unit acquires the first distance and the second distance from different projection points for each object obtained by decomposing the subject.
  • the information processing device according to any one of (1) to (5) above.
  • (8) When the first distance between the first point where the straight line from the projection point to the subject comes into contact with the subject and the projection point, or the first point does not exist, based on the 3D shape of the surface of the subject.
  • a predetermined first distance value As the second distance, a predetermined second distance value smaller than the first distance value is acquired.
  • a region determination unit for specifying a region of the subject based on the magnitude relationship between the first distance and the second distance is provided.
  • Information processing device (9) The subject's front end as seen from the projection point, based on the plurality of first distances relating to the projection point, and the subject's subject based on the plurality of second distances relating to the projection point. It further includes a closed space generator that connects to the rear end as seen from the projection point.
  • the information processing device according to (8) above.
  • a color / distance acquisition unit that acquires the texture information of the subject viewed from a plurality of projection points in association with the first distance viewed from the same plurality of projection points from which the texture information was acquired.
  • the three-dimensional position of the first point corresponding to the first distance seen from the projection point and the projection point different from the projection point is visible from a projection point different from the projection point. It further includes a visibility confirmation unit that determines that there is no such thing.
  • the information processing device according to (8) above. (12) Based on the 3D shape of the surface of the subject, the first distance between the first point where the straight line from the projection point to the subject comes into contact with the subject and the projection point, and the inside of the subject from the first point.
  • the position of the projection point, the first distance, and the first Generate a 3D model of the subject by associating it with a distance of 2. How to generate a 3D model.
  • (13) Computer, Based on the 3D shape of the surface of the subject, the first distance between the first point where the straight line from the projection point to the subject comes into contact with the subject and the projection point, and the inside of the subject from the first point.
  • a distance acquisition unit that acquires a second point at which the straight line that has entered the subject penetrates the outside from the subject and a second distance between the projection point.
  • a program that functions as.
  • 10a, 10b Information processing system, 11 ... Data acquisition unit, 12 ... 3D model generation unit, 13a, 13b ... Encoding unit, 14 ... Transmission unit, 15 ... Receiver unit, 16a, 16b ... Decoding unit, 17a, 17b ... Rendering unit, 18 ... Display unit, 40a, 40b ... Coding device (information processing device), 50a, 50b ... Decoding device (information processing device), 70 (70a, 70b, 70c, 70d, 70e) ... Imaging device, 90 ... Subject, 90M ... 3D model, 131 ... 1st layer depth map generation unit (distance acquisition unit), 132 ... 2nd layer depth map generation unit (distance acquisition unit) 133 ...
  • Color information packing unit 134a, 134b ... Thailand Ring processing unit (color / distance acquisition unit), 135 ... image compression processing unit, 161 ... image expansion processing unit, 162 ... depth effective area determination unit (area determination unit), 163 ... triangle patch generation unit (closed space generation unit) 164 ... Color information texture cutout part, 165 ... Depth map cutout part, 171 ... Depth map generation part, 172 ... Visibility confirmation part, 173 ... Drawing part, C ... Color information texture data (texture information), D1, D2 ... Quantized depth value (depth value), Dm1, D ... 1st layer depth map, Dm2 ... 2nd layer depth map, d1 ... 1st distance, d2 ...
  • N effective points
  • P1 ... 1st Point P2 ... Second point
  • Q, Q1, Q2, Qa, Qb ... Projection point R, Ra, Rb ... Projection surface, T1, T2 ... Tiling image, far ... Distance (first distance value) , Near ... Distance (second distance value)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

符号化装置(40a)(情報処理装置)の第1層デプスマップ生成部(131)(距離取得部)は、被写体(90)の表面の3D形状に基づいて、投影点(Q)から被写体(90)に至る直線が被写体(90)と接触する第1の点(P1)と投影点(Q)との第1の距離(d1)を取得する。また、第2層デプスマップ生成部(132)(距離取得部)は、被写体(90)の表面の3D形状に基づいて、第1の点(P1)から被写体(90)の内部に進入した直線が被写体(90)から外部に貫通する第2の点(P2)と投影点(Q)との第2の距離(d2)を取得する。

Description

情報処理装置、3Dモデル生成方法およびプログラム
 本開示は、情報処理装置、3Dモデル生成方法およびプログラムに関する。
 従来、現実の3D空間をセンシングした情報、例えば異なる視点から被写体を撮像した多視点映像を用いて、視聴空間内に3Dオブジェクトを生成し、そのオブジェクトが視聴空間内に存在しているかのように見える映像(ボリュメトリック映像)を生成する方法が提案されている。
 ボリュメトリック映像を生成するためには、3次元空間の座標情報が必要であり、例えば特許文献1では、カメラから被写体の表面までの距離を表すデプスマップに基づいて、被写体の3D形状を求めていた。
国際公開第2018/074252号
 しかしながら、特許文献1では、被写体のカメラに面する面、即ち被写体の表面側の3D形状を得ることしかできなかった。そのため、被写体の裏面側の3D形状は、被写体を裏面側から見たデプスマップに基づいて3D形状を求める必要があった。
 そのため、被写体の正確な形状を生成するのが困難であるという問題があった。
 本開示では、被写体の正確な形状を生成することができる情報処理装置、3Dモデル生成方法およびプログラムを提案する。
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得する距離取得部を備える情報処理装置である。
第1の実施形態の情報処理システムの概略構成を示すブロック図である。 撮像装置の一例を示す図である。 情報処理システムが行う処理の流れの一例を示すフローチャートである。 情報処理システムのハードウエア構成の一例を示すハードウエアブロック図である。 符号化部の機能構成の一例を示す機能ブロック図である。 デプスマップの生成方法を説明する図である。 第1層デプスマップと第2層デプスマップの量子化デプス値について説明する図である。 第1層デプスマップと第2層デプスマップの一例を示す図である。 タイリング処理部が生成する画像の一例を示す図である。 復号部の機能構成の一例を示す機能ブロック図である。 デプス有効領域判定部が、デプスマップからデプス値を読み出す方法を説明する図である。 デプス有効領域判定部が、デプス値の有効無効を判定する方法を説明する図である。 デプス有効領域判定部が行う処理の流れの一例を示すフローチャートである。 デプスマップ上に設定される三角形パッチを説明する図である。 三角形パッチの有効点数を説明する図である。 頂点座標変更処理を説明する図である。 被写体の3次元形状メッシュデータが生成される様子を示す模式図である。 三角形パッチ生成部が行うメッシュデータ生成処理の流れの一例を示すフローチャートである。 レンダリング部の機能構成の一例を示す機能ブロック図である。 第2の実施形態において、タイリング処理部が生成する、符号化の対象となる画像の一例を示す図である。 第2の実施形態の復号部およびレンダリング部の機能構成の一例を示す機能ブロック図である。 可視性を確認する処理を説明する図である。 第3の実施形態の情報処理システムの作用を説明する図である。 第4の実施形態の情報処理システムの作用を説明する図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 また、以下に示す項目順序に従って本開示を説明する。
  1.第1の実施形態
   1-1.情報処理システムの機能構成
   1-2.情報処理システムが行う処理の流れ
   1-3.情報処理システムのハードウエア構成
   1-4.符号化部の詳細構成
   1-5.復号部の詳細構成
   1-6.デプス有効判定処理
   1-7.メッシュデータ生成処理
   1-8.レンダリング部の詳細構成
   1-9.第1の実施形態の変形例
   1-10.第1の実施形態の効果
  2.第2の実施形態
   2-1.タイリング画像の構成
   2-2.可視性確認処理
   2-3.第2の実施形態の効果
  3.第3の実施形態
   3-1.第3の実施形態の作用
   3-2.第3の実施形態の効果
  4.第4の実施形態
   4-1.第4の実施形態の作用
   4-2.第4の実施形態の効果
  5.本開示の応用例
   5-1.コンテンツの制作
   5-2.仮想空間での体験
   5-3.遠隔地とのコミュニケーションへの応用
   5-4.その他
(1.第1の実施形態)
[1-1.情報処理システムの構成]
 まず、図1を用いて、本開示を適用した情報処理システム10aの概要を説明する。図1は、第1の実施形態の情報処理システムの概略構成を示すブロック図である。
 図1に示すように、情報処理システム10aは、データ取得部11と、3Dモデル生成部12と、符号化部13aと、送信部14と、受信部15と、復号部16aと、レンダリング部17aと、表示部18とを備える。
 データ取得部11は、撮像対象物体である被写体90の3Dモデル90Mを生成するための画像データを取得する。例えば、図2に示すように被写体90を取り囲むように配置された複数の撮像装置70(70a,70b,…)によって撮像された複数の視点画像を画像データとして取得する。この場合、複数の視点画像は、複数のカメラが同期して撮像した画像であるのが好ましい。また、データ取得部11は、例えば、1台のカメラを移動して複数の視点から被写体を撮像した画像データとして取得してもよい。なお、データ取得部11は、画像データに基づいてキャリブレーションを行い、各撮像装置の内部パラメータ及び外部パラメータを取得してもよい。また、データ取得部11は、例えば、複数箇所の視点から被写体90までの距離を示す複数のデプス情報を取得してもよい。
 3Dモデル生成部12は、被写体90の3Dモデル90Mを生成するための画像データに基づいて被写体の3次元情報を有するモデルを生成する。3Dモデル生成部12は、例えば、所謂Visual Hullを用いて、複数の視点からの画像(例えば、複数の視点からのシルエット画像)を用いて被写体の3次元形状を削ることによって被写体の3Dモデルを生成する。この場合、3Dモデル生成部12は更に、Visual Hullを用いて生成した3Dモデル90Mを複数箇所の視点から被写体までの距離を示す複数のデプス情報を用いて高精度に変形させることができる。また、3Dモデル生成部12は、被写体90の1枚の撮像画像から被写体90の3Dモデル90Mを生成してもよい。
 3Dモデル生成部12が生成する3Dモデル90Mは、時系列のフレーム単位で生成することで3Dモデルの動画と言うこともできる。また、3Dモデル90Mは、撮像装置で撮像された画像を用いて生成されるため実写の3Dモデルとも言うことができる。3Dモデルは、被写体90の表面形状を表す形状情報を、例えば、ポリゴンメッシュと呼ばれる、頂点(Vertex)と頂点との繋がりで表現した3次元形状メッシュデータの形式で表現することができる。3次元形状メッシュデータは、例えば、メッシュの頂点の3次元座標と、どの頂点を組み合わせて三角形メッシュを形成するかを示すインデックス情報とを有する。なお、3Dモデルの表現の方法はこれらに限定されるものではなく、点の位置情報で表現される所謂ポイントクラウドの表現方法で記述されてもよい。これらの3D形状データに紐づけられる形で、色情報データもテクスチャとして生成される。どの方向から見ても一定の色となるView Independentテクスチャの場合と、視聴する方向によって色が変化するView Dependentテクスチャの場合が考えらえる。
 符号化部13aは、3Dモデル生成部12で生成された3Dモデル90Mのデータを伝送・蓄積に適したフォーマットに変換する。本実施形態では、3次元形状メッシュデータ等の形式で入力された3次元形状データは、ひとつまたは複数の視点から投影されたデプス情報画像、所謂デプスマップに変換される。この2次元画像の状態のデプス情報と、色情報を圧縮して送信部14に出力する。デプス情報と色情報は、並べて1枚の画像として伝送してもよいし、2本の別々の画像として伝送してもよい。いずれも2次元画像データの形であるため、AVC(Advanced Video Coding)等の2次元圧縮技術を用いて圧縮することもできる。
 送信部14は、符号化部13aで形成された伝送データを、受信部15に送信する。送信部14は、データ取得部11、3Dモデル生成部12と符号化部13aの一連の処理をオフラインで行った後に、伝送データを受信部15に伝送する。また、送信部14は、上述した一連の処理から生成された伝送データをリアルタイムに受信部に伝送してもよい。
 なお、3Dモデル生成部12と符号化部13aと送信部14とは符号化装置40aを構成する。符号化装置40aは、本開示における情報処理装置の一例である。
 受信部15は、送信部14から伝送された伝送データを受信する。
 復号部16aは、受信部15で受け取ったビットストリームを2次元画像に復元し、復元された2次元画像からレンダリング部17aが描画可能なメッシュとテクスチャ情報を復元する。
 なお、受信部15と復号部16aとレンダリング部17aとは復号装置50aを構成する。復号装置50aは、本開示における情報処理装置の一例である。
 レンダリング部17aは、3Dモデル90Mのメッシュを描画カメラ視点で投影し、色や模様を表すテクスチャを貼り付けるテクスチャマッピングを行う。この時の描画は、撮影時のカメラ位置とは関係なく、任意に設定した自由な視点で見ることができる点が、本実施形態の特徴である。テクスチャマッピングには、所謂、ユーザの視聴視点を考慮するView Dependentと呼ばれる方式(VD方式)や、ユーザの視聴視点を考慮しないView Independentと呼ばれる方式(VI方式)がある。VD方式は、視聴視点の位置に応じて3Dモデルに貼り付けるテクスチャを変化させるため、VI方式よりも高品質なレンダリングが実現できる利点がある。一方、VI方式は視聴視点の位置を考慮しないためVD方式に比べて処理量が少なくて済むという利点がある。尚、視聴視点のデータは、ユーザの視聴箇所(Region of Interest)を表示装置が検出し、表示装置からレンダリング部17aに入力される。
 表示部18は、レンダリング部17aによりレンダリングされた結果を表示装置の表示部に表示する。表示装置は、例えば、ヘッドマウントディスプレイ、空間ディスプレイ、携帯電話、テレビ、PC等、2Dモニタでも3Dモニタでもよい。
 なお、図1の情報処理システム10aは、コンテンツを生成する材料である撮像画像を取得するデータ取得部11からユーザの視聴する表示装置を制御する表示制御部までの一連の流れを示した。しかしながら、本実施形態の実施のために全ての機能ブロックが必要という意味ではなく、機能ブロック毎又は複数の機能ブロックの組合せに対して、本実施形態が実施でき得る。例えば、図1は、コンテンツを作成する側からコンテンツデータの配信を通じてコンテンツを視聴する側までの一連の流れを示すために送信部14や受信部15を設けたが、コンテンツの制作から視聴までを同じ情報処理装置(例えばパーソナルコンピューター)で実施する場合は、送信部14や受信部15を備える必要はない。
 情報処理システム10aを実施するに当たっては、同一の実施者が全てを実施する場合もあれば、機能ブロック毎に異なる実施者が実施することもできる。例えば、事業者Aは、データ取得部11、3Dモデル生成部12、符号化部13aを通じて3Dコンテンツを生成する。その上で、事業者Bの送信部14(プラットフォーム)を通じて3Dコンテンツが配信されて、事業者Cの表示装置が3Dコンテンツの受信、レンダリング、表示制御を行うように、複数の実施者が共同で実施する場合もある。
 また、前記した各機能ブロックは、クラウド上で実施することができる。例えば、レンダリング部17aは、表示装置内で実施されてもよいし、サーバで実施してもよい。その場合は表示装置とサーバ間での情報のやり取りが生じる。
 図1は、データ取得部11、3Dモデル生成部12、符号化部13a、送信部14、受信部15、レンダリング部17a、表示部18を纏めて情報処理システム10aとして説明した。但し、本明細書の情報処理システム10aは、2以上の機能ブロックが関係していれば情報処理システムと言うこととし、例えば、表示部18は含めずに、データ取得部11、3Dモデル生成部12、符号化部13a、送信部14、受信部15、復号部16a、レンダリング部17aを総称して情報処理システム10aと言うこともできる。
[1-2.情報処理システムが行う処理の流れ]
 次に、図3を用いて、情報処理システム10aが行う処理の流れを説明する。図3は、情報処理システムが行う処理の流れの一例を示すフローチャートである。
 処理が開始されると、ステップS11において、データ取得部11は被写体の3Dモデルを生成するための画像データを取得する。
 次に、ステップS12において、3Dモデル生成部12は、被写体の3Dモデルを生成するための画像データに基づいて、被写体の3次元情報を有する3Dモデルを生成する。
 ステップS13において、符号化部13aは、3Dモデル生成部12で生成された3Dモデルの形状およびテクスチャデータを伝送蓄積に好適なフォーマットにエンコードする。
 そして、ステップS14において、送信部14が符号化されたデータを伝送し、ステップS15において、この伝送されたデータを受信部15が受信する。
 ステップS16において、復号部16aはデコード処理を行い、3Dモデルを、表示に必要な形状およびテクスチャデータに変換する。そして、ステップS17において、レンダリング部17aは、形状およびテクスチャデータを用いてレンダリングを行う。レンダリングされた結果は、ステップS18において、表示部に表示される。そして、ステップS18の処理が終了すると、情報処理システム10aの処理が終了する。
[1-3.情報処理システムのハードウエア構成]
 次に、図4を用いて、情報処理システム10aのハードウエア構成を説明する。図4は、情報処理システムのハードウエア構成の一例を示すハードウエアブロック図である。
 図4に示されるコンピュータにおいて、CPU21、ROM22、RAM23は、バス24を介して相互に接続されている。バス24には、入出力インタフェース25も接続されている。入出力インタフェース25には、入力部26、出力部27、記憶部28、通信部29、およびドライブ30が接続されている。
 入力部26は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子等を備える。出力部27は、例えば、ディスプレイ、スピーカ、出力端子等を備える。記憶部28は、例えば、ハードディスク、RAMディスク、不揮発性のメモリ等を備える。通信部29は、例えば、ネットワークインタフェース等を備える。ドライブ30は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブルメディアを駆動する。
 以上のように構成されるコンピュータは、CPU21が、例えば、記憶部28に記憶されているプログラムを、入出力インタフェース25およびバス24を介して、RAM23にロードして実行することにより、上述した一連の処理を行う。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータ等も適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して適用することができる。その場合、プログラムは、リムーバブルメディアをドライブに装着することにより、入出力インタフェースを介して、記憶部28にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部29で受信し、記憶部28にインストールすることができる。
[1-4.符号化部の詳細構成]
 次に、図5を用いて、符号化部13aの詳細構成を説明する。図5は、符号化部の機能構成の一例を示す機能ブロック図である。
 符号化部13aは、3Dモデル生成部12から、被写体90の3次元形状メッシュデータと色情報テクスチャデータC(図9参照)とを受け取る。そして、符号化部13aは、伝送・蓄積に適したビットストリームデータに変換して出力する。図5に示すように、符号化部13aは、第1層デプスマップ生成部131と、第2層デプスマップ生成部132と、色情報パッキング部133と、タイリング処理部134aと、画像圧縮処理部135とを備える。
 第1層デプスマップ生成部131は、3Dモデル生成部12が取得した3D形状に基づいて、投影点Qを始点として被写体90に至る直線が被写体90と接触する第1の点P1と投影点Qとの第1の距離d1を取得する。そして、第1層デプスマップ生成部131は、投影点Qから見た被写体90の表面までの距離を可視化した画像、即ち第1層デプスマップDm1を生成する。なお、第1層デプスマップ生成部131は、本開示における距離取得部の一例である。
 第2層デプスマップ生成部132は、3Dモデル生成部12が取得した3D形状に基づいて、投影点Qを始点として、第1の点P1から被写体90の内部に進入した直線が、被写体90から外部に貫通する第2の点P2と投影点Qとの第2の距離d2を取得する。そして、第2層デプスマップ生成部132は、投影点Qから見た被写体90の裏面までの距離を可視化した画像、即ち第2層デプスマップDm2を生成する。なお、第2層デプスマップ生成部132は、本開示における距離取得部の一例である。なお、投影点Qを始点として被写体90に至る直線が、被写体90を複数回貫く場合もある。このような場合は、第1の点P1と第2の点P2のペアが複数発生する。即ち、直線が被写体90を貫くたびに、第1の点P1と第2の点P2のペアが生成される。
 このように、3Dモデル生成部12において、被写体90の3次元形状が復元されているため、当該被写体90の3次元形状に対して、任意の視点から透視変換を行うと、被写体90の表面までの距離を画像として表現することができる。この画像が、前記した第1層デプスマップDm1および第2層デプスマップDm2である。
 なお、透視変換は、例えば式(1)で計算される。
Figure JPOXMLDOC01-appb-M000001
 式(1)は、被写体90上の点(X,Y,Z)が、回転成分r11~r33と並進移動成分t1~t3からなるカメラ外部パラメータが形成する行列と、fx,fyおよびcx,cyで表されるカメラ内部パラメータが形成する行列を掛けることによって、投影面の2次元座標(u,v)と深度sとが得られることを示す。
 投影点Qから見える被写体90の3次元メッシュの全ての面を投影して、最も手前、即ち投影点Qから最も近い点までの距離を2次元配列のデータに格納したのが第1層デプスマップDm1である。
 本実施形態においては、第1層デプスマップDm1に加えて、被写体90の裏側の表面までの距離を記録した、第2層デプスマップDm2も併せて利用する。図6は、デプスマップの生成方法を説明する図である。
 第1層デプスマップ生成部131は、第1の距離d1として計算された深度sを、最小値と最大値の範囲で量子化して、図6に示す投影面R(u,v)の点Psに格納する。最小値は、例えば、図6における投影点Qからnear面Snまでの距離near、最大値は、例えば、図6における投影点Qからfar面Sfまでの距離farである。
 本実施形態では、深度は例えばAVC(Advanced Video Coding)で圧縮できるように8ビットの輝度値に格納する。即ち、第1の距離d1は、式(2)に示す計算式により、量子化デプス値D1に変換される。なお、被写体90が存在しない領域には、D1=0を格納する。なお、以降、量子化デプス値D1を単にデプス値D1と呼ぶ。
Figure JPOXMLDOC01-appb-M000002
 第2層デプスマップ生成部132は、第1層と同じ透視投影パラメータを用いるが、被写体90の内部を突き抜けて、被写体90の裏側から抜ける点までの第2の距離d2として計算された深度sを、図6に示す投影面R(u,v)の点Psに格納する。デプスマップ内で被写体90が投影される領域では、第2の距離d2は、第1の距離d1よりも大きい値となる。第2層の量子化デプス値D2は、第1層のデプス値D1と大小が反転した値となるように、式(2)の距離nearと距離farとを入れ替えた式(3)で算出する。なお、被写体90が存在しない領域には、無効値を表すD2=0を格納する。この無効値(D2=0)は、第2の距離d2が距離nearと等しいときと同じ値である。なお、式(2)におけるround(x)は、xを四捨五入して整数化する関数である。また、以降、量子化デプス値D2を単にデプス値D2と呼ぶ。
Figure JPOXMLDOC01-appb-M000003
 なお、図6には、投影点Qを投影中心とする透視投影によってデプスマップを生成する例を示したが、透視投影以外の投影方法、例えば平行投影を用いてデプスマップを生成してもよい。
 次に、図7と図8を用いて、第1層デプスマップDm1と第2層デプスマップDm2の具体例を説明する。図7は、第1層デプスマップと第2層デプスマップの量子化デプス値について説明する図である。図8は、第1層デプスマップと第2層デプスマップの一例を示す図である。
 符号化部13aは、図7に示すように、第1層デプスマップDm1に格納する被写体90が存在しない領域(無効領域)におけるデプス値D1を、距離farとしてnear面Snに格納する。また、第2層デプスマップDm2に格納する被写体90が存在しない領域(無効領域)におけるデプス値D2を、距離farよりも小さい距離nearとしてfar面Sfに格納する。なお、距離farは、本開示における第1の距離値の一例である。また、距離nearは、本開示における第2の距離値の一例である。これによって、d1<d2となる領域が被写体90を示す領域であると判定することが可能となる。
 また、符号化部13aは、式(2)と式(3)に示すように、第1層と第2層とで量子化の方向を逆にする。これによって、図7に示すように、量子化後の無効領域に対応するデプス値D1,D2を等しい値、即ちデプス値D1とデプス値D2を、ともに0にする。
 仮に、第1層と第2層とで量子化の方向を同じにすると、図8の上図に示すように、第1層デプスマップDm1と第2層デプスマップDm2とを1枚の画像に並べたときに、境界線にデプス値のギャップが生じる。一方、第1層と第2層とで量子化の方向を逆にすることによって、図8の下図に示すように、第1層デプスマップDm1と第2層デプスマップDm2とを1枚の画像に並べたときに、境界線にデプス値のギャップが生じない。したがって、第1層デプスマップDm1と第2層デプスマップDm2とを1枚の画像に並べて符号化する際に、画像の圧縮効率を高めることができる。
 なお、ここに示した量子化方法は一例であって、式(2)と式(3)に示したリニアな量子化以外の量子化方法を適用してもよい。例えば、式(4)に示す逆数量子化を適用してもよい。式(4)によると、遠方ほど粗いステップで量子化される。
Figure JPOXMLDOC01-appb-M000004
 図5に戻り、色情報パッキング部133は、3Dモデル生成部12から入力された複数の色情報テクスチャデータCを、1枚の画像に並べる(パッキングする)処理を行う。この処理によって、復号装置50aに送信する画像の枚数を減らすことができる。なお、色情報テクスチャデータCは、本開示におけるテクスチャ情報の一例である。
 タイリング処理部134aは、第1層デプスマップDm1と、第2層デプスマップDm2と、色情報パッキング部133がパッキングした色情報テクスチャデータCとを1枚の画像にまとめる処理を行う。第1層デプスマップDm1および第2層デプスマップDm2に格納された値(デプス値D1,D2)は、色情報と同じ画像に配置するために、Y/Cb/Crの信号形式(輝度信号と色差信号)に変換される。即ち、輝度値にデプス値D1,D2を格納する。また、色差には一定値、例えば画素当たり8ビットの画像であれば、グレーを表す128等の一定値を格納する。また、タイリング処理部134aは、まとめられた1枚の画像のどの位置にデプスマップや色情報テクスチャデータCが格納されたかを示す画像配置情報を出力する。画像配置情報は、例えば、元の画像がどれだけ移動して1枚の画像に配置されたかを示すオフセット値と、デプスマップの量子化に使用した距離near、farの値と、投影点Qの位置等を含む。
 図9は、タイリング処理部が生成する画像の一例を示す図である。タイリング処理部134aは、第1層デプスマップDm1と、第2層デプスマップDm2と、色情報テクスチャデータCとを、1枚のタイリング画像T1にまとめる。色情報テクスチャデータCは、図9に示すように、被写体90を複数の撮像装置70(図2参照)で撮像した実際の画像である。
 画像圧縮処理部135は、タイリング処理部134aにおいて1枚にまとめられた画像を、一般的な動画コーデックを用いて圧縮する。具体的には、AVCやHEVCにように広く普及しているコーデックが用いられる。
 なお、前記した式(2)、式(3)では、デプス値D1,D2が8ビットである場合を想定して、0から255の値で量子化したが、HEVC等では10ビットの値を扱うことも可能であるため、デプス値D1,D2を10ビット(0から1023)で量子化してもよい。
 画像圧縮処理部135が生成したビットストリームと、タイリング処理部134aが生成した画像配置情報とは、送信部14を介して、復号装置50aに送信される。即ち、送信部14は、第1の距離d1と第2の距離d2とを関連付けて、被写体90の3次元形状を再構成する復号装置50aに送信する。
[1-5.復号部の詳細構成]
 次に、図10を用いて、復号部16aの詳細構成を説明する。図10は、復号部の機能構成の一例を示す機能ブロック図である。
 図10に示すように、復号部16aは、画像伸長処理部161と、デプス有効領域判定部162と、三角形パッチ生成部163と、色情報テクスチャ切り出し部164とを備える。復号部16aを含む復号装置50a(図1参照)は、符号化装置40aから送信された情報、即ち、被写体90の表面の3D形状に基づいて、投影点Qから被写体90に至る直線が被写体90と接触する第1の点P1と投影点Qとの第1の距離d1と、第1の点P1から被写体90の内部に進入した直線が被写体90から外部に貫通する第2の点P2と投影点Qとの第2の距離d2と、を取得して、投影点Qの位置と、第1の距離d1と、第2の距離d2とを関連付けることによって、被写体90の3Dモデル90Mを生成する。
 画像伸長処理部161は、画像圧縮処理部135で圧縮されたビットストリームを画像に伸長する。なお、符号化(エンコード)と復号(デコード)とは対になるため、例えばAVCエンコードされたビットストリームは、AVCデコード処理で復号する。
 デプス有効領域判定部162は、第1層デプスマップ生成部131が取得した第1層デプスマップDm1に格納された第1の距離d1と、第2層デプスマップ生成部132が取得した第2層デプスマップDm2に格納された第2の距離d2との大小関係に基づいて、被写体90の領域を特定する。より具体的には、デプス有効領域判定部162は、被写体90が投影された領域を有効領域と判定して、被写体90が投影されていない領域を無効領域と判定する。有効領域と判定された領域は、格納されたデプス値D1,D2が、被写体90の形状復元に利用される。一方、無効領域と判定された領域のデータはレンダリングには使用されずに廃棄される。なお、デプス有効領域判定部162は、本開示における領域判定部の一例である。また、デプス有効領域判定部162が行う処理の詳細は後述する。
 三角形パッチ生成部163は、被写体90の内部および被写体90と外部との境界において、レンダリング処理が利用できる形状データ、所謂メッシュデータを生成する。また、三角形パッチ生成部163は、投影点Qに係る第1層デプスマップDm1に格納された第1の距離d1に基づく被写体90の前面側の端部と、投影点Qに係る第2層デプスマップDm2に格納された第2の距離d2に基づく被写体90の背面側の端部とを接続して、閉空間を形成する。なお、三角形パッチ生成部163は、本開示における閉空間生成部の一例である。また、三角形パッチ生成部163が行う処理の詳細は後述する。
 色情報テクスチャ切り出し部164は、画像伸長処理部161でデコードされた画像情報と、タイリング処理部134aで生成された画像配置情報とに基づいて、後段のレンダリング部17aにおいて、3次元形状メッシュデータに貼り付ける色情報テクスチャデータCを生成する。
[1-6.デプス有効判定処理]
 次に、図11と図12を用いて、デプス有効領域判定部162が行うデプス有効領域判定処理を説明する。図11は、デプス有効領域判定部が、デプスマップからデプス値を読み出す方法を説明する図である。図12は、デプス有効領域判定部が、デプス値の有効無効を判定する方法を説明する図である。
 図11の左方に示す第1層デプスマップDm1および第2層デプスマップDm2は、右方に示す第1層デプスマップDm1および第2層デプスマップDm2の一部(被写体の肩の部分)を拡大したものである。図11において、白丸は被写体内部の点、即ち有効なデプス値D1またはデプス値D2が格納された点を表す。また、黒丸は被写体外部の点、即ち無効なデプス値D1またはデプス値D2が格納された点を表す。即ち、図11の左方に示す第1層デプスマップDm1および第2層デプスマップDm2は、実際には各点にデプス値が格納された曲面で表現すべきであるが、説明をわかりやすくするため、平面で描いている。
 第1層デプスマップDm1および第2層デプスマップDm2の読み出し点は、図11に示すように正方格子状に配置されている。なお、格子のグリッド間隔は自由に設定してよい。また、デプスマップの読み出し点の位置は、必ずしもデプスマップの画素位置と一致させなくてもよい。読み出し点と画素位置とが異なる場合は、補間フィルタによって補間されたデプス値が使われる。
 後述する三角形パッチ生成部163は、3つのデプス読み出し点を結ぶ三角形を単位として描画処理を行うため、読み出し点のグリッド間隔が小さいほど描画処理量が多くなる。一方、読み出し点のグリッド間隔を大きく設定すると、描画処理が軽くなる、これを利用して、復号装置50aの処理負荷を調整することが可能である。
 デプス読み出し点から読み出したデプス値D1,D2は、有効領域、即ち被写体90がある領域では、第1層に被写体90の表面のデプス値D1が格納されている。そして、第2層に被写体90の裏面のデプス値D2が格納されている。一方、無効領域、即ち被写体90がない領域では、第1層にfar値が格納されて、第2層にnear値が格納されている。したがって、図12の左図に示すように、有効領域においてはD1≦D2となる。なお、被写体90が奥行方向に非常に薄い場合、量子化した際に、表面と裏面とが等しいデプス値になる場合も考えられるため、D1=D2の場合も含まれる。一方、無効領域ではD1>D2となる。
 デプス値D1,D2は、伝送時に圧縮されるため、圧縮誤差による劣化を伴う。特に被写体90の境界部分は、デプス値の大きなギャップが生じる可能性があるが、本実施形態では、第1層と第2層の相対比較によって被写体90の有効領域を判定するため、図12の右図に示すように、第1層と第2層の有効領域は完全に一致する。
 次に、図13を用いて、デプス有効領域判定部162が行うデプス有効領域判定処理の流れを説明する。図13は、デプス有効領域判定部が行う処理の流れの一例を示すフローチャートである。
 デプス有効領域判定部162は、デプス読み出し点を設定する(ステップS21)。
 デプス有効領域判定部162は、第1層デプスマップDm1から第1層のデプス値D1を取得する(ステップS22)。
 続いて、デプス有効領域判定部162は、第2層デプスマップDm2から第2層のデプス値D2を取得する(ステップS23)。
 デプス有効領域判定部162は、第1層のデプス値D1が第2層のデプス値D2以下であるかを判定する(ステップS24)。第1層のデプス値D1が第2層のデプス値D2以下であると判定される(ステップS24:Yes)と、ステップS25に進む。一方、第1層のデプス値D1が第2層のデプス値D2以下であると判定されない(ステップS24:No)と、ステップS26に進む。
 ステップS24においてYesと判定されると、デプス有効領域判定部162は、デプス読み出し点は被写体90の領域に含まれると判断して、デプス読み出し点に有効フラグを立てる(ステップS25)。その後、ステップS27に進む。
 一方、ステップS24においてNoと判定されると、デプス有効領域判定部162は、デプス読み出し点は被写体90の領域に含まれないと判断して、デプス読み出し点に無効フラグを立てる(ステップS26)。その後、ステップS27に進む。
 デプス有効領域判定部162は、デプス面全体を処理したかを判定する(ステップS27)。デプス面全体を処理したと判定される(ステップS27:Yes)と、デプス有効領域判定部162は、図13の処理を終了する。一方、デプス面全体を処理したと判定されない(ステップS27:No)と、ステップS21に戻って、異なるデプス読み出し点に対して、前記した一連の処理を繰り返す。
 なお、最初は全てのデプス読み出し点に有効フラグを立てておき、ステップS24においてNoと判定された場合に、デプス読み出し点の有効フラグを下げてもよい。
[1-7.メッシュデータ生成処理]
 次に、図14と図15を用いて、三角形パッチ生成部163が行うメッシュデータ生成処理を説明する。図14は、デプスマップ上に設定される三角形パッチを説明する図である。図15は、三角形パッチの有効点数を説明する図である。
 三角形パッチ生成部163には、デプス有効領域判定部162から、正方格子上の読み出し点から読み出されたデプス値D1,D2とその有効フラグが入力される。図14の左図は、デプス読み出し点とその有効フラグが検出された状態の一例を示す。
 三角形パッチ生成部163は、図14の右図に示すように、正方格子一つに対して、直角三角形2つを割り当てたグラフ構造を生成する。当該グラフ構造は、デプス読み出し点を頂点として、近接した3点ずつが接続された三角形状を呈する。なお、図14の右図は1層分で、実際には、第1層デプスマップDm1と第2層デプスマップDm2とに対して、それぞれ同様のグラフ構造が生成される。
 三角形パッチ生成部163は、こうして生成された三角形パッチを単位として、以降の処理を行う。そして、三角形パッチ生成部163は、この三角形パッチを元に座標変換処理を施された三角形群(メッシュデータ)を、後段のレンダリング部17aに引き渡す。
 三角形パッチ生成部163は、図15に示すように、各三角形パッチに対して有効点数Nをカウントする。有効点数Nとは、具体的には、着目している三角形パッチの3頂点のうち何個が被写体90の内部に属しているかを示す値である。この有効点数Nは、着目している三角形パッチが被写体90の内側に属しているかを示す評価尺度である。
 即ち、有効点数Nは、0,1,2,3のいずれかの値をとる。N=0は、三角形パッチが完全に被写体90の外側に存在することを示す。一方、N=3は、三角形パッチが完全に被写体90の内側に存在することを示す。そして、N=1,2は、三角形パッチが、被写体90の内部と外部に跨っていることを示す。
 三角形パッチ生成部163は、N=0,1の場合は、図15の右図に示すように三角形パッチを削除する。そして、該当する三角形の3頂点を結ぶグラフ構造を削除する。
 一方、N=2,3の場合、三角形パッチ生成部163は、三角形パッチを削除せずに残す。そして、N=3の場合は、式(1)の逆変換(逆透視変換)を行って、三角形パッチの3頂点に対して、それぞれ、投影面R(u,v)の座標位置と,当該座標位置に格納された深度sから(X,Y,Z)を求める。また、N=2の場合は、三角形パッチのうち有効な2頂点に対して、前記した逆透視変換を行う。そして、無効な1頂点に対しては、後述する頂点座標変更処理を行う。なお、N=2以外の場合、第1層、第2層に対して、独立して処理が可能である。
 次に、図16を用いて、N=2の場合に、三角形パッチ生成部163が行う頂点座標変更処理を説明する。図16は、頂点座標変更処理を説明する図である。
 図16の左上は、第1層デプスマップDm1と第2層デプスマップDm2とを近接した状態で配置した様子を示す。そして、図16の右上は、1組のN=2の三角形パッチのみを抽出した状態を示す。図16の右上に示すように、一方のデプスマップにN=2の三角形パッチが生成された場合に、反対側のデプスマップの同じ位置にも、N=2の三角形パッチが生成される。
 図16の左上に示すように、第1層デプスマップDm1の三角形パッチの頂点をA1,B1,C1とする。そして、第2層デプスマップDm2の三角形パッチの頂点をA2,B2,C2とする。
 三角形パッチ生成部163は、被写体90の外側に属する無効な頂点A1,A2に対して、頂点変更処理を行う。
 即ち、三角形パッチ生成部163は、図16の左下に示すように、無効な頂点A1に、逆側のデプスマップの有効な頂点B2の値(デプス値D2)を代入する。即ち、頂点A1は、あたかも頂点B2の位置にあるものとみなす。また、三角形パッチ生成部163は、無効な頂点A2に、逆側のデプスマップの有効な頂点C1の値(デプス値D1)を代入する。即ち、頂点A2は、あたかも頂点C1の位置にあるものとみなす。このように、無効な頂点に、互い違いに逆側のデプスマップの有効な頂点の値(デプス値)を代入することによって、四角形B1-C1-C2-B2が、2つの三角形パッチで接続される。これにより、離れていた辺B1-C1と、辺B2-C2とが、面で隙間なく接続される。即ち、投影点から見た被写体90の前面と背面との境界線が切れ目なく接続されて、閉じた立体(閉空間)が形成される。なお、頂点A1に頂点C2のデプス値D2を代入して、頂点A2を頂点B1のデプス値D1を代入しても同様の効果が得られる。
 前記した処理を、デプス面の全てのN=2の三角形パッチに対して実行することによって、図16の右下に示すように、被写体90の前面と背面との境界線が切れ目なく接続される。
 なお、図16では、説明をわかりやすくするために、第1層のデプス値D1が略等しく、第2層のデプス値D2が略等しい状態で説明したが、実際には、第1層のデプス値D1と第2層のデプス値D2とから、式(1)の逆変換によって各頂点の3次元座標を計算し、3次元空間上に配置することによって、2層のデプス面に挟まれた、被写体90を表す閉じた立体形状が再現される。
 図17は、被写体の3次元形状メッシュデータが生成される様子を示す模式図である。図17に示すように、被写体90の投影点Qに面する領域と、被写体90の投影点Qの背面側の領域とが切れ目なく繋がった、3次元形状メッシュデータが得られる。
 次に、図18を用いて、三角形パッチ生成部163が行うメッシュデータ生成処理の流れを説明する。図18は、三角形パッチ生成部が行うメッシュデータ生成処理の流れの一例を示すフローチャートである。
 三角形パッチ生成部163は、図14の右図に示したように生成された三角形パッチに対して、有効点数Nをカウントする(ステップS31)。
 三角形パッチ生成部163は、ステップS31でカウントした有効点数Nが2以上であるかを判定する(ステップS32)。有効点数Nが2以上、即ち有効点数Nが2または3であると判定される(ステップS32:Yes)と、ステップS33に進む。一方、有効点数Nが2以上であると判定されない(ステップS32:No)、即ち有効点数Nが0または1であると判定されると、ステップS34に進む。
 ステップS32においてYesと判定されると、三角形パッチ生成部163は、有効と判定された頂点の3次元座標を算出する(ステップS33)。その後、ステップS35に進む。
 一方、ステップS32においてNoと判定されると、三角形パッチ生成部163は、着目している三角形パッチに三角形メッシュを生成しない(ステップS34)。そして、レンダリングが行われないように、着目している三角形パッチを消去する。その後、ステップS38に進む。
 ステップS33に続いて、三角形パッチ生成部163は、着目している三角形パッチに対して、有効点数Nが3であるかを判定する(ステップS35)。有効点数Nが3であると判定される(ステップS35:Yes)と、ステップS37に進む。一方、有効点数Nが3であると判定されない(ステップS35:No)、即ち有効点数Nが2であると判定されると、ステップS36に進む。
 ステップS35においてNoと判定されると、三角形パッチ生成部163は、前記した頂点座標変更処理(図16参照)を行う(ステップS36)。
 ステップS36に引き続き、またはステップS35においてYesと判定されると、三角形パッチ生成部163は、着目している三角形パッチに対して三角形メッシュを生成する(ステップS37)。
 三角形パッチ生成部163は、全ての三角形パッチを処理したかを判定する(ステップS38)。全ての三角形パッチを処理したと判定される(ステップS38:Yes)と、三角形パッチ生成部163は、図18の処理を終了する。一方、全ての三角形パッチを処理したと判定されない(ステップS38:No)と、ステップS31に戻って、異なる三角形パッチに対して、前記した一連の処理を繰り返す。
[1-8.レンダリング部の詳細構成]
 次に、図19を用いて、レンダリング部17aの詳細構成を説明する。図19は、レンダリング部の機能構成の一例を示す機能ブロック図である。
 図19に示すように、レンダリング部17aは、デプスマップ生成部171と、可視性確認部172と、描画部173とを備える。
 デプスマップ生成部171は、三角形パッチ生成部163が生成した被写体90の3次元形状メッシュデータを、色情報テクスチャデータCと同じ投影点Qから見たデプスマップを生成する。即ち、デプスマップ生成部171は、複数の色情報テクスチャデータCにそれぞれ対応する複数のデプスマップを生成する。
 可視性確認部172は、デプスマップ生成部171が生成したデプスマップと3次元形状メッシュデータの3次元座標とを比較することによって、着目している3次元形状メッシュデータが投影点Qから見えるか否かを判定するVisibility Checkを行う。この判定によって、複数の物体が重なって投影点Qから見えないメッシュであることが判定される。なお、Visibility Checkについて、詳しくは後述する(図22参照)。
 描画部173は、可視性確認部172が、目に見える(可視性がある)と判定したメッシュの3次元形状を描画する。また、描画部173は、描画したメッシュに、対応する色情報テクスチャデータCを貼り付ける。これによって、被写体90を任意の投影点Qから観測した画像を生成することができる。
[1-9.第1の実施形態の変形例]
 なお、第1の実施形態は、様々な形態に変形して実行することが可能である。例えば、タイリング画像T1(図9参照)において、第1層デプスマップDm1と、第2層デプスマップDm2と、色情報テクスチャデータCとは1枚の画像でなくてもよい。即ち、第1層デプスマップDm1と第2層デプスマップDm2とを1枚の画像として、色情報テクスチャデータCを別の1枚の画像としてもよい。また、第1層デプスマップDm1と、第2層デプスマップDm2と、色情報テクスチャデータCとを、それぞれ1枚の画像としてもよい(この場合、タイリング処理を行う必要はない)。更に、色情報テクスチャデータCを全て別の画像としてもよい(この場合、パッキング処理もタイリング処理も行う必要はない)。なお、送信部14が送信する画像が複数枚になると、それに伴ってビットストリームの画像チャンネル数が増加するが、一般的なマルチチャンネルストリーム配信の仕組みを用いることによって、チャンネル間の同期をとることができる。
 また、送信部14は、タイリング画像T1と音声情報とを同時に送信してもよい。
 また、タイリング画像T1は、静止画データでも動画データでも構わない。タイリング画像T1が静止画データである場合には、画像圧縮処理部135は、JPEG等の静止画用圧縮処理を行う。また、タイリング画像T1が動画データである場合には、画像圧縮処理部135は、MPEG2,AVC,HEVC,VVC,AV1等の動画用圧縮処理を行う。
 なお、送信するタイリング画像T1の圧縮、伸長は行わなくてもよい。この場合には、画像圧縮処理部135(図5参照)と画像伸長処理部161(図10参照)とは不要になる。
 また、第1層デプスマップDm1と第2層デプスマップDm2とに格納するデプス値D1,D2のビット長は問わない。即ち、実施形態で説明した8ビットの他に、10ビット,12ビット等であってもよい。なお、デプス値D1,D2のビット長が大きいほど、被写体90の細かいデプスを表現することができる。
 また、送信部14および受信部15を介した伝送を行わずに、タイリング画像T1を蓄積データとして記憶部に蓄積して、蓄積データを記憶部から読み出して再生してもよい。
 また、データ取得部11から送信部14までは、リアルタイム処理で動作しなくてもよい。即ち、送信するタイリング画像T1を、記憶部等に一旦蓄積して、蓄積したデータを読み出して、復号装置50aに送信してもよい。
 なお、データ取得部11から送信部14までをリアルタイム処理で動作させれば、ライブストリーミング等のリアルタイム通信に用いることができる。
[1-10.第1の実施形態の効果]
 以上説明したように、第1の実施形態の符号化装置40(情報処理装置)において、第1層デプスマップ生成部131(距離取得部)は、被写体90の表面の3D形状に基づいて、投影点Qから被写体90に至る直線が被写体90と接触する第1の点P1と投影点Qとの第1の距離d1を取得する。また、第2層デプスマップ生成部132(距離取得部)は、被写体90の表面の3D形状に基づいて、投影点Qを始点として、第1の点P1から被写体90の内部に進入した直線が、被写体90から外部に貫通する第2の点P2と投影点Qとの第2の距離d2を取得する。
 これにより、被写体90を同じ位置から観測した際に、当該被写体90の前面と背面との形状を同時に取得することができる。
 また、第1の実施形態の符号化装置40(情報処理装置)によると、第1層デプスマップ生成部131(距離取得部)は、第1の点P1が存在しない場合には、第1の距離d1として、距離far(第1の距離値)を取得する。また、第2層デプスマップ生成部132(距離取得部)は、第2の点P2が存在しない場合には、第2の距離d2として、距離farよりも小さい距離near(第2の距離値)を取得する。
 これにより、被写体90の領域と、被写体90が存在しない領域とを容易に識別することができる。
 また、第1の実施形態の符号化装置40(情報処理装置)によると、第1層デプスマップ生成部131(距離取得部)と第2層デプスマップ生成部132(距離取得部)とは、距離far(第1の距離値)と距離near(第2の距離値)とを、等しい値に設定する。
 これにより、第1層デプスマップ生成部131が生成した第1層デプスマップDm1と、第2層デプスマップ生成部132が生成した第2層デプスマップDm2とを並べて配置した際に、境界線にデプス値のギャップが生じない。そのため、第1層デプスマップDm1と第2層デプスマップDm2とを1枚の画像に並べて符号化する際に、画像の圧縮効率を高めることができる。
 また、第1の実施形態の符号化装置40(情報処理装置)において、送信部14は、第1層デプスマップ生成部131が取得した第1の距離d1と、第2層デプスマップ生成部132が取得した第2の距離d2とを関連付けて、被写体90の3次元形状を再構成する復号装置50aに送信する。
 これにより、被写体の前面側の座標と背面側の座標とを関連付けて送信することができるため、情報の伝送効率を向上させることができる。
 また、第1の実施形態の復号装置50a(情報処理装置)は、第1層デプスマップ生成部131が取得した第1の距離d1と、第2層デプスマップ生成部132が取得した第2の距離d2とを取得して、第1の距離d1と第2の距離d2との大小関係に基づいて、被写体90の領域を特定する。
 これにより、簡便な比較演算のみで、被写体90の存在範囲を特定することができる。
 また、第1の実施形態の復号装置50a(情報処理装置)において、三角形パッチ生成部163(閉空間生成部)は、投影点Qに係る複数の第1の距離d1に基づく、被写体90の投影点Qから見た前面側の端部と、投影点Qに係る複数の第2の距離d2に基づく、被写体90の投影点Qから見た背面側の端部とを接続する。
 これにより、被写体90の前面と背面とを接続することによって、隙間のない被写体90の3Dモデル90Mを生成することができる。
 また、第1の実施形態の復号装置50a(情報処理装置)は、三角形パッチ生成部163(閉空間生成部)が、三角形状に隣接する3点(頂点A1,B1,C1)の第1の距離d1のうち、2点(頂点B1,C1)の第1の距離d1が被写体90の前面を表して、残り1点(頂点A1)の第1の距離d1が被写体90の前面を表さない場合に、残り1点(頂点A1)を、3点(頂点A1,B1,C1)に対応する第2の距離d2のうち、被写体90の背面を表す2点のいずれか一方(頂点B2,C2のいずれか一方)に代入して、3点(頂点A1,B1,C1)に対応する第2の距離d2のうち、被写体90の背面を表さない1点(頂点A2)を、被写体90の前面を表す2点(頂点B1,C1)のうち、残り1点(頂点A1)を代入したのとは反対側の1点(残り1点を頂点B2に代入した場合は頂点C2、残り1点を頂点C2に代入した場合は頂点B2)に代入する。
 これにより、簡便な演算処理で、被写体90の前面と背面とを隙間なく接続することができる。
(2.第2の実施形態)
[2-1.タイリング画像の構成]
 第2の実施形態の情報処理システム10b(非図示)は、第1の実施形態で説明した情報処理システム10b(図1参照)に対して、符号化装置40aの代わりに符号化装置40b(非図示)を備える。また、復号装置50aの代わりに復号装置50b(非図示)を備える。
 符号化装置40bは、非図示の符号化部13bと送信部14とを備える。また、復号装置50bは、受信部15と復号部16b(図20参照)とを備える。更に、復号装置50bは、レンダリング部17aの代わりにレンダリング部17b(図20参照)を備える。
 次に、情報処理システム10bの符号化部13bの機能を説明する。符号化部13bは、複数の色情報テクスチャデータCに対して、それぞれの色情報テクスチャデータCを取得したのと同じ投影点Qから取得した、複数の第1層デプスマップDを生成する。なお、符号化部13bは、図5に示した符号化部13aにおいて、タイリング処理部134aの代わりにタイリング処理部134b(非図示)を備える。
 図20は、第2の実施形態において、タイリング処理部が生成する、符号化の対象となる画像の一例を示す図である。
 図20に示すタイリング画像T2は、第1の実施形態で説明したタイリング画像T1(図9参照)に対して、複数の色情報テクスチャデータCとそれぞれ1対1に対応する複数の第1層デプスマップDを含む点が異なる。即ち、タイリング処理部134bは、被写体90を複数の投影点Qから見た色情報テクスチャデータCと、当該色情報テクスチャデータCを取得したのと同じ複数の投影点Qから見た第1層デプスマップDと、を関連付けたタイリング画像T2を生成する。なお、第1の実施形態で説明した第1層デプスマップDm1は、図20に示すように、タイリング画像T2に配置される複数の第1層デプスマップDに含まれる。そして、タイリング画像T2は、第1の実施形態で説明した第2層デプスマップDm2も含む。なお、タイリング処理部134bは、本開示における色・距離取得部の一例である。
 タイリング画像T2が含む複数の第1層デプスマップDは、復号部16bが被写体90の3次元形状を再構成する際に、後述する可視性確認処理(図22参照)に利用する。
 次に、図21を用いて、情報処理システム10bの復号部16bおよびレンダリング部17bの機能を説明する。図21は、第2の実施形態の復号部およびレンダリング部の機能構成の一例を示す機能ブロック図である。
 復号部16bは、第1の実施形態で説明した復号部16a(図10参照)に対して、デプスマップ切り出し部165を追加した構成を有する。デプスマップ切り出し部165は、複数の色情報テクスチャデータCの中から、被写体90の領域を、それぞれの色情報テクスチャデータCと対応する第1層デプスマップDに基づいて切り出す。より具体的には、第1層デプスマップDに有効なデプス値が格納されている場合に、当該デプス値が格納されている座標と対応する色情報テクスチャデータCを、被写体90の領域であると判断して切り出す。
 レンダリング部17bは、第1の実施形態で説明したレンダリング部17a(図19参照)に対して、デプスマップ生成部171を除いた構成を有する。
 情報処理システム10bは、情報処理システム10aが可視性確認処理(Visibility Cheek)を行うためにレンダリング部17aで行っていたデプスマップの生成を、復号部16bで行う。更に、復号部16bは、実際にデプスマップを作成するのではなく、符号化部13bが生成した複数の第1層デプスマップDの取得のみを行う。そして、復号部16bのデプスマップ切り出し部165で、第1層デプスマップDを用いて、被写体90の領域に対応する色情報テクスチャデータCの切り出しを行う。
 したがって、デプスマップの生成という計算負荷の高い処理を削減することができる。
[2-2.可視性確認処理]
 次に、図22を用いて、可視性確認処理について説明する。図22は、可視性を確認する処理を説明する図である。
 被写体90を複数の異なる投影点Qから見た画像を生成する場合、被写体90の表面の点が、投影点Qから見えているか否かを判定する必要がある。即ち、投影面R(u,v)に記録される色情報テクスチャデータCは、投影点Qに一番近い面であって、当該面によって遮蔽された奥側の面は、投影点Qからは見えない状態になっている。
 具体的には、図22において、被写体90の点Pa(第1の点の一例)は投影点Qaから可視化されて、点Paのデプス値(第1の距離)は、投影面Raに記録される。一方、異なる投影点Qbから点Paを観測すると、手前側の点Pbに遮蔽されるため、点Paを可視化することはできない。そして、投影面Rbには、点Pbのデプス値(第1の距離とは異なる距離)が格納される。
 したがって、図22の場合、投影面Raに格納されたデプス値から計算される点Paの3次元座標と、投影面Rbに格納されたデプス値から計算される点Pbの3次元座標とは一致しない。即ち、可視性確認部172は、投影点Qaから見たデプス値に応じた点Paの3次元位置と、投影点Qaとは異なる投影点Qbから見た点Paの方向に対応するデプス値に応じた3次元位置とが一致しない場合に、投影点Qaから見た点Paが、投影点Qaとは異なる投影点Qbからは見えないと判定する。
 そして、描画部173は、投影点Qbから見た被写体90の画像を描画する際には、点Pbの色情報テクスチャデータCを用いるのではなく、投影点Qbから近い、点Paが可視化されると判定された投影点に投影された色情報テクスチャデータCを用いる。また、投影点Qbから近い、点Paが可視化される複数の投影点に投影された色情報テクスチャデータCを混ぜ合わせて用いてもよい。
[2-3.第2の実施形態の効果]
 以上説明したように、第2の実施形態の符号化装置40b(情報処理装置)において、タイリング処理部134b(色・距離取得部)は、被写体90を複数の投影点Qから見た色情報テクスチャデータC(テクスチャ情報)と、当該色情報テクスチャデータCを取得したのと同じ複数の投影点Qから見た第1の距離d1と、を関連付けて取得する。
 これにより、第1層デプスマップDの中の1枚を、第2層デプスマップDm2とペアの第1層デプスマップDm1とすることができるため、送信部14が送信するデータ量を削減することができる。
 また、第2の実施形態の復号装置50b(情報処理装置)において、可視性確認部172は、タイリング処理部134b(色・距離取得部)が取得した情報に基づいて、投影点Qaから見た第1の距離d1に応じた点Paの3次元位置と、投影点Qaとは異なる投影点Qbから見た点Paの方向に対応する第1の距離d1に応じた3次元位置とが一致しない場合に、投影点Qaから見た点Paが、投影点Qbからは見えないと判定する。
 これにより、タイリング画像T2を用いて、簡便な処理で可視性確認(Visibility Cheek)を行うことができる。
(3.第3の実施形態)
[3-1.第3の実施形態の作用]
 第1の実施形態および第2の実施形態において、被写体90の形状が複雑である場合には、オクルージョンの発生によって、被写体90の表面の3D形状を途切れなくデータ化するのが困難である。第3の実施形態の情報処理システム10bは、このような課題を解決するために、被写体90を複数の物体に分解して、分解された各物体に対して、同じ投影点Qから、複数の第1層デプスマップDm1と第2層デプスマップDm2とを生成することによって、被写体90の表面を途切れなくデータ化するものである。
 なお、第3の実施形態の情報処理システム10bの構成(ハードウエア構成、機能構成)は、第2の実施形態で説明した情報処理システム10b(符号化装置40b、復号装置50b)と同じであるため、説明は省略する。
 次に、図23を用いて、第3の実施形態の情報処理システムの作用を説明する。図23は、第3の実施形態の情報処理システムの作用を説明する図である。
 情報処理システム10bが備える符号化装置40bにおいて、3Dモデル生成部12は、被写体90を複数の物体に分解する。そして、第1層デプスマップ生成部131と第2層デプスマップ生成部132は、分解された各物体に対して、それぞれ、同じ投影点Qから複数の見た第1層デプスマップDm1と第2層デプスマップDm2を生成する。即ち、第1層デプスマップ生成部131と第2層デプスマップ生成部132は、被写体90が分解された各物体に対して、同じ投影点Qから見た第1の距離d1と第2の距離d2とを取得する。なお、第1の実施形態で説明したように、投影点Qを始点として被写体90に至る直線が、被写体90を複数回貫く場合には、直線が被写体90を貫くたびに、第1の点P1と第2の点P2のペアを生成する。
 例えば、図23に示すように、3Dモデル生成部12は、モデル化の対象となる被写体90を、矢印状の第1の物体と、矩形状の第2の物体とに分解する。そして、第1層デプスマップ生成部131と第2層デプスマップ生成部132は、第1の物体に対して、投影点Qから見た第1層デプスマップDm1と第2層デプスマップDm2とを生成する。
 但し、情報処理システム10bは、投影点Qから見た被写体90の映像を再構成する必要がある(View Dependent描画)ため、第1層デプスマップDm1は、投影点Qから被写体90の全体を見たデプスマップとする。
 即ち、第1層デプスマップ生成部131は、被写体90に対して、図23に示す点線のデプス値が格納された第1層デプスマップDm1を生成する。そして、第2層デプスマップ生成部132は、矢印状の第1の物体に対して、当該第1の物体の裏面側のデプス値を表す太線のデプス値が格納された第2層デプスマップDm2を生成する。第1層デプスマップDm1と第2層デプスマップDm2とは、一対のペアとして被写体90の再構成に用いられる。
 次に、第1層デプスマップ生成部131は、矩形状の第2の物体を投影点Qから見た第1層デプスマップDm1を生成する。なお、ここで生成される第1層デプスマップDm1を、前記した第1層デプスマップDm1と区別するため、第3層デプスマップと呼ぶ。
 そして、第2層デプスマップ生成部132は、第2の物体を投影点Qから見た第2層デプスマップDm2を生成する。なお、ここで生成される第2層デプスマップDm2を、前記した第2層デプスマップDm2と区別するため、第4層デプスマップと呼ぶ。このようにして生成された第3層デプスマップと第4層デプスマップとは、一対のペアとして被写体90の再構成に用いられる。
 レンダリング部17bは、被写体90を分解した各物体に対するデプスマップのペアを用いて、前記した方法で各物体のレンダリングを行う。そして、レンダリングされた各物体を投影点から観測した際に、最も近い点が被写体90の表面となるように合成することによって、当該被写体90の表面を途切れなく再構成する。
 なお、被写体90の形状が複雑な場合、当該被写体90をさらに多くの物体に分解して、前記したのと同じ処理を繰り返し、さらに多くのデプスマップのペアを生成してもよい。
[3-2.第3の実施形態の効果]
 以上説明したように、第3の実施形態の符号化装置40b(情報処理装置)において、第1層デプスマップ生成部131および第2層デプスマップ生成部132(距離取得部)は、同じ投影点Qから、被写体90を分解した各物体に対して、それぞれ、第1の距離d1と第2の距離d2とを取得する。そして、第1の距離d1と第2の距離d2とに基づいて再構成した各物体を合成することによって、被写体90の像を再構成する。
 これにより、被写体90が複雑な形状である場合でも、当該被写体90の像を途切れなく再構成することができる。
(4.第4の実施形態)
[4-1.第4の実施形態の作用]
 第1の実施形態および第2の実施形態において、被写体90の形状が複雑である場合には、オクルージョンの発生によって、被写体90の表面の3D形状を途切れなくデータ化するのが困難である。第4の実施形態の情報処理システム10bは、このような課題を解決するために、被写体90を複数の物体に分解して、分解された各物体に対して、複数の投影点から、それぞれ第1層デプスマップDm1と第2層デプスマップDm2とを生成することによって、被写体90の表面を途切れなくデータ化するものである。
 なお、第4の実施形態の情報処理システム10bの構成(ハードウエア構成、機能構成)は、第2の実施形態で説明した情報処理システム10b(符号化装置40b、復号装置50b)と同じであるため、説明は省略する。
 次に、図24を用いて、第4の実施形態の情報処理システムの作用を説明する。図24は、第4の実施形態の情報処理システムの作用を説明する図である。
 情報処理システム10bが備える符号化装置40bにおいて、3Dモデル生成部12は、被写体90を複数の物体に分解する。そして、第1層デプスマップ生成部131と第2層デプスマップ生成部132は、分解された各物体に対して、それぞれ、異なる投影点Q1,Q2,…から見た第1層デプスマップDm1と第2層デプスマップDm2を生成する。即ち、被写体90が分解された各物体に対して、異なる投影点Q1,Q2,…から見た第1の距離d1と第2の距離d2とを取得する。なお、第1の実施形態で説明したように、投影点Qを始点として被写体90に至る直線が、被写体90を複数回貫く場合には、直線が被写体90を貫くたびに、第1の点P1と第2の点P2のペアを生成する。
 例えば、図24に示すように、3Dモデル生成部12は、モデル化の対象となる被写体90を、矢印状の第1の物体と、矩形状の第2の物体とに分解する。そして、第1層デプスマップ生成部131と第2層デプスマップ生成部132は、第1の物体に対して、投影点Q1から見た第1層デプスマップDm1と第2層デプスマップDm2とを生成する。また、第1層デプスマップ生成部131と第2層デプスマップ生成部132は、第1の物体に対して、投影点Q2から見た第1層デプスマップDm1と第2層デプスマップDm2とを生成する。
 但し、情報処理システム10bは、各投影点Q1,Q2から見た被写体90の映像を再構成する必要がある(View Dependent描画)ため、第1層デプスマップDm1は、各投影点Q1,Q2から被写体90の全体を見たデプスマップとする。
 即ち、第1層デプスマップ生成部131は、被写体90の全体を投影点Q1から見た第1層デプスマップDm1を生成する。これによって、図24に示す点線のデプス値が格納された第1層デプスマップDm1が生成される。そして、第2層デプスマップ生成部132は、矢印状の第1の物体の裏面側のデプス値を表す太線のデプス値が格納された第2層デプスマップDm2を生成する。第1層デプスマップDm1と第2層デプスマップDm2とは、一対のペアとして被写体90の再構成に用いられる。
 次に、第1層デプスマップ生成部131は、被写体90の全体を投影点Q2から見た第1層デプスマップDm1を生成する。これによって、図24に示す点線のデプス値が格納された第1層デプスマップDm1が生成される。そして、第2層デプスマップ生成部132は、矩形状の第2の物体の裏面側のデプス値を表す太線のデプス値が格納された第2層デプスマップDm2を生成する。第1層デプスマップDm1と第2層デプスマップDm2とは、一対のペアとして被写体90の再構成に用いられる。
[4-2.第4の実施形態の効果]
 以上説明したように、第4の実施形態の符号化装置40b(情報処理装置)において、第1層デプスマップ生成部131および第2層デプスマップ生成部132(距離取得部)は、異なる投影点Q1,Q2から、被写体90を分解した各物体に対して、それぞれ、第1の距離d1と第2の距離d2とを取得する。そして、そして、第1の距離d1と第2の距離d2とに基づいて再構成した各物体を合成することによって、被写体90の像を再構成する。
 これにより、被写体90が複雑な形状である場合でも、当該被写体90の像を途切れなく再構成することができる。
(5.本開示の応用例)
[5-1.コンテンツの制作]
 例えば、3Dモデル生成部12で生成された被写体90の3Dモデル90Mと、他のサーバで管理されている3Dモデルとを合成して映像コンテンツを制作してもよい。また、例えば、Lidar等の撮像装置で背景データが存在している場合、3Dモデル生成部12で生成された被写体90の3Dモデル90Mと背景データとを組み合わせることで、被写体90が、あたかも背景データで示す場所にいるようなコンテンツを制作することができる。
[5-2.仮想空間での体験]
 例えば、ユーザがアバターとなってコミュニケーションを行う場である仮想空間の中に、3Dモデル生成部12で生成された被写体90を配置することができる。この場合、ユーザは、アバターとなって仮想空間で実写の被写体90を視聴することが可能となる。
[5-3.遠隔地とのコミュニケーションへの応用]
 例えば、3Dモデル生成部12で生成された被写体90の3Dモデル90Mを、送信部14から遠隔地に送信することにより、遠隔地にある再生装置を通じて遠隔地のユーザが被写体90の3Dモデル90Mを視聴することができる。例えば、この被写体90の3Dモデル90Mをリアルタイムに伝送することにより、被写体90と遠隔地のユーザとがリアルタイムにコミュニケーションをとることができる。例えば、被写体90が先生であり、ユーザが生徒である場合や、被写体90が医者であり、ユーザが患者である場合等が想定できる。
[5-4.その他]
 例えば、3Dモデル生成部12で生成された複数の被写体90の3Dモデル90Mに基づいて、スポーツ等の自由視点映像を生成することもできる。また、個人が3Dモデル生成部12で生成された自分を配信プラットフォームに配信することもできる。このように、本明細書に記載した実施形態における内容は、種々の技術やサービスに応用することができる。
 以上、本開示について、いくつかの実施形態を用いて説明したが、これらの実施形態は、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能ブロックを有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。更に、1つのステップに複数の処理が含まれる場合、その複数の処理を1つの装置が実行するようにしてのよいし、複数の装置が分担して実行するようにしてもよい。換言すると、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしてもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしてもよい。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。更に、プログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしてもよいし、他のプログラムの処理と組み合わせて実行されるようにしてもよい。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を適用して実施することもできる。例えば、いずれかの実施形態において説明した本技術の一部または全部を、他の実施形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本明細書に記載された効果は、あくまで例示であって限定されるものではなく、他の効果があってもよい。また、本開示の実施形態は、上述した実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、以下のような構成もとることができる。
 (1)
 被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得する距離取得部を備える、
 情報処理装置。
 (2)
 前記距離取得部は、
 前記第1の点が存在しない場合には、前記第1の距離として、所定の第1の距離値を取得して、
 前記第2の点が存在しない場合には、前記第2の距離として、前記第1の距離値よりも小さい、所定の第2の距離値を取得する、
 前記(1)に記載の情報処理装置。
 (3)
 前記距離取得部は、
 前記第1の距離値と前記第2の距離値とを、等しい値に設定する、
 前記(2)に記載の情報処理装置。
 (4)
 前記距離取得部が取得した前記第1の距離と前記第2の距離とを関連付けて、前記被写体の3次元形状を再構成する復号装置に送信する送信部を更に備える、
 前記(1)乃至(3)のいずれか1つに記載の情報処理装置。
 (5)
 前記被写体を複数の投影点から見たテクスチャ情報と、当該テクスチャ情報を取得したのと同じ複数の投影点から見た前記第1の距離と、を関連付けて取得する色・距離取得部を更に備える、
 前記(1)乃至(4)のいずれか1つに記載の情報処理装置。
 (6)
 前記距離取得部は、同じ前記投影点から、前記被写体を分解した各物体に対して、それぞれ、前記第1の距離と前記第2の距離とを取得する、
 前記(1)乃至(5)のいずれか1つに記載の情報処理装置。
 (7)
 前記距離取得部は、異なる前記投影点から、前記被写体を分解した各物体に対して、それぞれ、前記第1の距離と前記第2の距離とを取得する、
 前記(1)乃至(5)のいずれか1つに記載の情報処理装置。
 (8)
 被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離、または、前記第1の点が存在しない場合に、前記第1の距離として所定の第1の距離値を取得して、
 前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離、または、前記第2の点が存在しない場合に、前記第2の距離として、前記第1の距離値よりも小さい所定の第2の距離値を取得して、
 前記第1の距離と前記第2の距離との大小関係に基づいて、前記被写体の領域を特定する領域判定部を備える、
 情報処理装置。
 (9)
 前記投影点に係る複数の前記第1の距離に基づく、前記被写体の前記投影点から見た前面側の端部と、前記投影点に係る複数の前記第2の距離に基づく、前記被写体の前記投影点から見た背面側の端部とを接続する閉空間生成部を更に備える、
 前記(8)に記載の情報処理装置。
 (10)
 前記閉空間生成部は、
 三角形状に隣接する3点の前記第1の距離のうち、2点の前記第1の距離が前記被写体の前面を表して、残り1点の前記第1の距離が前記被写体の前面を表さない場合に、
 前記残り1点を、前記3点に対応する前記第2の距離のうち、前記被写体の背面を表す2点のいずれか一方に代入して、
 前記3点に対応する前記第2の距離のうち、前記被写体の背面を表さない1点を、前記被写体の前面を表す2点のうち、前記残り1点を代入したのとは反対側の1点に代入する、
 前記(9)に記載の情報処理装置。
 (11)
 前記被写体を複数の投影点から見たテクスチャ情報と、当該テクスチャ情報を取得したのと同じ複数の投影点から見た前記第1の距離と、を関連付けて取得する色・距離取得部と、
 前記色・距離取得部が取得した情報に基づいて、前記投影点から見た前記第1の距離に応じた第1の点の3次元位置と、前記投影点とは異なる投影点から見た前記第1の点の方向に対応する第1の距離に応じた3次元位置とが一致しない場合に、前記投影点から見た前記第1の点が、当該投影点とは異なる投影点からは見えないと判定する可視性確認部と、を更に備える、
 前記(8)に記載の情報処理装置。
 (12)
 被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得して、前記投影点の位置と、前記第1の距離と、前記第2の距離とを関連付けることによって、前記被写体の3Dモデルを生成する、
 3Dモデルの生成方法。
 (13)
 コンピュータを、
 被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得する距離取得部、
 として機能させるプログラム。
 10a,10b…情報処理システム、11…データ取得部、12…3Dモデル生成部、13a,13b…符号化部、14…送信部、15…受信部、16a,16b…復号部、17a,17b…レンダリング部、18…表示部、40a,40b…符号化装置(情報処理装置)、50a,50b…復号装置(情報処理装置)、70(70a,70b,70c,70d,70e)…撮像装置、90…被写体、90M…3Dモデル、131…第1層デプスマップ生成部(距離取得部)、132…第2層デプスマップ生成部(距離取得部)、133…色情報パッキング部、134a,134b…タイリング処理部(色・距離取得部)、135…画像圧縮処理部、161…画像伸長処理部、162…デプス有効領域判定部(領域判定部)、163…三角形パッチ生成部(閉空間生成部)、164…色情報テクスチャ切り出し部、165…デプスマップ切り出し部、171…デプスマップ生成部、172…可視性確認部、173…描画部、C…色情報テクスチャデータ(テクスチャ情報)、D1,D2…量子化デプス値(デプス値)、Dm1,D…第1層デプスマップ、Dm2…第2層デプスマップ、d1…第1の距離、d2…第2の距離、N…有効点数、P1…第1の点、P2…第2の点、Q,Q1,Q2,Qa,Qb…投影点、R,Ra,Rb…投影面、T1,T2…タイリング画像、far…距離(第1の距離値)、near…距離(第2の距離値)

Claims (13)

  1.  被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得する距離取得部を備える、
     情報処理装置。
  2.  前記距離取得部は、
     前記第1の点が存在しない場合には、前記第1の距離として、所定の第1の距離値を取得して、
     前記第2の点が存在しない場合には、前記第2の距離として、前記第1の距離値よりも小さい所定の第2の距離値を取得する、
     請求項1に記載の情報処理装置。
  3.  前記距離取得部は、
     前記第1の距離値と前記第2の距離値とを、等しい値に設定する、
     請求項2に記載の情報処理装置。
  4.  前記距離取得部が取得した前記第1の距離と前記第2の距離とを関連付けて、前記被写体の3次元形状を再構成する復号装置に送信する送信部を更に備える、
     請求項1に記載の情報処理装置。
  5.  前記被写体を複数の投影点から見たテクスチャ情報と、当該テクスチャ情報を取得したのと同じ複数の投影点から見た前記第1の距離と、を関連付けて取得する色・距離取得部を更に備える、
     請求項1に記載の情報処理装置。
  6.  前記距離取得部は、同じ前記投影点から、前記被写体を分解した各物体に対して、それぞれ、前記第1の距離と前記第2の距離とを取得する、
     請求項1に記載の情報処理装置。
  7.  前記距離取得部は、異なる前記投影点から、前記被写体を分解した各物体に対して、それぞれ、前記第1の距離と前記第2の距離とを取得する、
     請求項1に記載の情報処理装置。
  8.  被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離、または、前記第1の点が存在しない場合に、前記第1の距離として所定の第1の距離値を取得して、
     前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離、または、前記第2の点が存在しない場合に、前記第2の距離として、前記第1の距離値よりも小さい所定の第2の距離値を取得して、
     前記第1の距離と前記第2の距離との大小関係に基づいて、前記被写体の領域を特定する領域判定部を備える、
     情報処理装置。
  9.  前記投影点に係る複数の前記第1の距離に基づく、前記被写体の前記投影点から見た前面側の端部と、前記投影点に係る複数の前記第2の距離に基づく、前記被写体の前記投影点から見た背面側の端部とを接続する閉空間生成部を更に備える、
     請求項8に記載の情報処理装置。
  10.  前記閉空間生成部は、
     三角形状に隣接する3点の前記第1の距離のうち、2点の前記第1の距離が前記被写体の前面を表して、残り1点の前記第1の距離が前記被写体の前面を表さない場合に、
     前記残り1点を、前記3点に対応する前記第2の距離のうち、前記被写体の背面を表す2点のいずれか一方に代入して、
     前記3点に対応する前記第2の距離のうち、前記被写体の背面を表さない1点を、前記被写体の前面を表す2点のうち、前記残り1点を代入したのとは反対側の1点に代入する、
     請求項9に記載の情報処理装置。
  11.  前記被写体を複数の投影点から見たテクスチャ情報と、当該テクスチャ情報を取得したのと同じ複数の投影点から見た前記第1の距離と、を関連付けて取得する色・距離取得部と、
     前記色・距離取得部が取得した情報に基づいて、前記投影点から見た前記第1の距離に応じた第1の点の3次元位置と、前記投影点とは異なる投影点から見た前記第1の点の方向に対応する第1の距離に応じた3次元位置とが一致しない場合に、前記投影点から見た前記第1の点が、当該投影点とは異なる投影点からは見えないと判定する可視性確認部と、を更に備える、
     請求項8に記載の情報処理装置。
  12.  被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得して、前記投影点の位置と、前記第1の距離と、前記第2の距離とを関連付けることによって、前記被写体の3Dモデルを生成する、
     3Dモデルの生成方法。
  13.  コンピュータを、
     被写体の表面の3D形状に基づいて、投影点から前記被写体に至る直線が前記被写体と接触する第1の点と前記投影点との第1の距離と、前記第1の点から前記被写体の内部に進入した前記直線が前記被写体から外部に貫通する第2の点と前記投影点との第2の距離と、を取得する距離取得部、
     として機能させるプログラム。
PCT/JP2021/010470 2020-03-26 2021-03-16 情報処理装置、3dモデル生成方法およびプログラム WO2021193213A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022509962A JPWO2021193213A1 (ja) 2020-03-26 2021-03-16
US17/801,403 US20230084376A1 (en) 2020-03-26 2021-03-16 Information processing device, 3d model generation method, and program
CN202180022318.8A CN115398180A (zh) 2020-03-26 2021-03-16 信息处理设备、3d模型生成方法及程序
DE112021001867.1T DE112021001867T5 (de) 2020-03-26 2021-03-16 Informationsverarbeitungsvorrichtung, 3d-modellerzeugungsverfahren und programm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-056899 2020-03-26
JP2020056899 2020-03-26

Publications (1)

Publication Number Publication Date
WO2021193213A1 true WO2021193213A1 (ja) 2021-09-30

Family

ID=77892108

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010470 WO2021193213A1 (ja) 2020-03-26 2021-03-16 情報処理装置、3dモデル生成方法およびプログラム

Country Status (5)

Country Link
US (1) US20230084376A1 (ja)
JP (1) JPWO2021193213A1 (ja)
CN (1) CN115398180A (ja)
DE (1) DE112021001867T5 (ja)
WO (1) WO2021193213A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023054156A1 (ja) 2021-09-29 2023-04-06 ソニーグループ株式会社 情報処理装置および方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI817875B (zh) * 2022-12-23 2023-10-01 宏碁股份有限公司 基於多執行緒產生三維影像的電子裝置和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018074252A1 (ja) * 2016-10-19 2018-04-26 ソニー株式会社 画像処理装置および画像処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018074252A1 (ja) * 2016-10-19 2018-04-26 ソニー株式会社 画像処理装置および画像処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOMIYAMA, KIMIHIRO ET AL.: "A 3D modeling method supported by the regional surface feature and its real-time rendering system", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 61, no. 4, 1 April 2007 (2007-04-01), pages 471 - 481, XP055861421 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023054156A1 (ja) 2021-09-29 2023-04-06 ソニーグループ株式会社 情報処理装置および方法

Also Published As

Publication number Publication date
JPWO2021193213A1 (ja) 2021-09-30
US20230084376A1 (en) 2023-03-16
CN115398180A (zh) 2022-11-25
DE112021001867T5 (de) 2023-01-12

Similar Documents

Publication Publication Date Title
EP3751857A1 (en) A method, an apparatus and a computer program product for volumetric video encoding and decoding
EP3669333B1 (en) Sequential encoding and decoding of volymetric video
JP5654138B2 (ja) 3dヒューマンマシンインターフェースのためのハイブリッドリアリティ
TWI724626B (zh) 用於全視差壓縮光場三維成像系統之方法
US20230068178A1 (en) A method, an apparatus and a computer program product for volumetric video encoding and decoding
KR100806201B1 (ko) 깊이영상의 계층적 분해를 이용한 삼차원 비디오 생성방법, 이를 위한 장치, 및 그 시스템과 기록 매체
WO2021193213A1 (ja) 情報処理装置、3dモデル生成方法およびプログラム
US10827161B2 (en) Depth codec for 3D-video recording and streaming applications
JP2011501496A (ja) 奥行きマップを処理する方法及び装置
JPH09289638A (ja) 3次元画像符号化復号方式
CN111937382A (zh) 图像处理装置、图像处理方法、程序和图像传输***
Kim et al. Three-dimensional natural video system based on layered representation of depth maps
JP2022533754A (ja) ボリュメトリック映像の符号化および復号化のための方法、装置、およびコンピュータプログラム製品
CN102301712A (zh) 对亮度和色度彩色空间图像使用棋盘形马赛克的图像压缩
WO2022269944A1 (ja) 情報処理装置および方法
WO2014041355A1 (en) Multi-view high dynamic range imaging
CN116075860A (zh) 信息处理装置、信息处理方法、视频分发方法和信息处理***
US20220084282A1 (en) Image processing device, image generation method, and image processing method
KR101285811B1 (ko) 홀로그래픽 영상의 공간 스케일러블 코딩 장치 및 방법
Dumic et al. Projection based dynamic point cloud compression using 3DTK toolkit and H. 265/HEVC
DE112021003828T5 (de) Informationsverarbeitungsvorrichtung und Bilddatenerzeugungsverfahren
KR20060056558A (ko) 영상의 인코딩 및 디코딩 방법
CN116018619A (zh) 信息处理装置、信息处理方法和程序
Wegner et al. Omnidirectional view synthesis and test images
US20230196653A1 (en) Information processing device, generation method, and rendering method

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022509962

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21775013

Country of ref document: EP

Kind code of ref document: A1