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

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

Info

Publication number
WO2019142667A1
WO2019142667A1 PCT/JP2019/000052 JP2019000052W WO2019142667A1 WO 2019142667 A1 WO2019142667 A1 WO 2019142667A1 JP 2019000052 W JP2019000052 W JP 2019000052W WO 2019142667 A1 WO2019142667 A1 WO 2019142667A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
resolution
geometry
map
information indicating
Prior art date
Application number
PCT/JP2019/000052
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 US16/960,391 priority Critical patent/US11611774B2/en
Priority to CN201980008008.3A priority patent/CN111566703B/zh
Publication of WO2019142667A1 publication Critical patent/WO2019142667A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method capable of suppressing a reduction in coding efficiency.
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in coding efficiency.
  • An image processing apparatus includes a geometry image obtained by projecting position information of 3D data representing a 3D structure onto a 2D plane, and a texture image obtained by projecting attribute information of the 3D data onto a 2D plane.
  • An image processing method includes a geometry image obtained by projecting position information of 3D data representing a 3D structure onto a 2D plane, and a texture image obtained by projecting attribute information of the 3D data onto a 2D plane.
  • An image processing apparatus includes a geometry image obtained by projecting position information of 3D data representing a three-dimensional structure included in a bit stream onto a two-dimensional plane, and attribute information of the 3D data as a two-dimensional plane.
  • the video frame of the geometry image and the video of the texture image based on the information indicating the correspondence between at least one of the texture images projected on the map and the ocupancy map which is map information indicating the presence or absence of data of each position It is an image processing apparatus provided with the frame and the unpacking part which unpacks each of the said ocupancy map.
  • An image processing method includes a geometry image obtained by projecting position information of 3D data representing a three-dimensional structure, included in a bit stream, onto a two-dimensional plane and attribute information of the 3D data as a two-dimensional plane.
  • the video frame of the geometry image and the video of the texture image based on the information indicating the correspondence between at least one of the texture images projected on the map and the ocupancy map which is map information indicating the presence or absence of data of each position It is the image processing method which unpacks each of a flame
  • a geometry image in which position information of 3D data representing a three-dimensional structure is projected on a two-dimensional plane, and a texture in which attribute information of the 3D data is projected on a two-dimensional plane Information indicating the correspondence between at least one of the images and the ocupancy map, which is map information indicating the presence or absence of data at each position, and encoding of the geometry image, the texture image, and the ocupancy map
  • a bitstream is generated that includes the data.
  • a geometry image obtained by projecting position information of 3D data representing a three-dimensional structure included in a bit stream onto a two-dimensional plane and attribute information of the 3D data
  • a video frame of the geometry image based on information indicating correspondence between at least one of the texture images projected on a two-dimensional plane and an ocupancy map, which is map information indicating the presence or absence of data at each position
  • Each of the video frame of the image and its occupancy map is unpacked.
  • information can be processed.
  • reduction in coding efficiency can be suppressed.
  • Non-Patent Document 1 (described above)
  • Non-Patent Document 2 (described above)
  • Non-Patent Document 3 (described above)
  • Non-patent document 4 TELECOM MUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
  • Non-Patent Document 5 TELECOM MUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H. 265, 12/2016
  • Non-Patent Document 6 Jianle Chen, Maria Alshina, Gary J.
  • Non-Patent Document 5 the Quad Tree Plus Binary Tree (QTBT) Block Structure described in Non-Patent Document 6
  • this embodiment is not limited thereto. It shall be within the scope of disclosure of technology and shall meet the support requirements of the scope of claims. Also, technical terms such as, for example, Parsing, Syntax, Semantics, etc. are also within the disclosure scope of the present technology, even if they are not directly described in the embodiments. To meet the support requirements of the range.
  • ⁇ Point cloud> Conventionally, there has been data such as a point cloud representing a three-dimensional structure based on position information and attribute information of a point group, and data such as meshes that define a three-dimensional shape using polygons, composed of vertices, edges, and faces. .
  • a three-dimensional structure as shown in A of FIG. 1 is expressed as a set of many points (point group) as shown in B of FIG. That is, the data of the point cloud is composed of position information and attribute information (for example, color etc.) of each point of this point group. Therefore, while the data structure is relatively simple, an arbitrary three-dimensional structure can be represented with sufficient accuracy by using a sufficiently large number of points.
  • a video-based approach has been proposed in which the position and color information of such a point cloud are projected on a two-dimensional plane for each small area and encoded by an encoding method for a two-dimensional image. .
  • an input Point cloud is divided into a plurality of segmentations (also referred to as regions or patches), and projected into a two-dimensional plane for each region.
  • the data for each position of the point cloud (that is, the data for each point) is composed of position information (also referred to as geometry (also referred to as depth)) and attribute information (texture) as described above. Projected onto a dimensional plane.
  • 3D data (point cloud) projected on a two-dimensional plane is encoded by a coding method for a two-dimensional plane image, such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding), for example.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • ⁇ Occupancy map> When projecting 3D data onto a two-dimensional plane by a video-based approach, a two-dimensional plane image (also referred to as a geometry image) onto which position information is projected as described above, and a two-dimensional plane onto which attribute information is projected In addition to the image (also referred to as a texture image), an occupancy map as shown in FIG. 3 is generated.
  • An ocupancy map is map information indicating the presence or absence of position information and attribute information at each position of a two-dimensional plane.
  • the (patch) geometry image (Depth) and the occupancy map (Occupancy) at mutually corresponding positions are arranged. In the case of the example of FIG.
  • the white part of the ocupancy map indicates the position (coordinates) where the data (ie, position information) of the geometry image exists, and the black part indicates the data (geometry image) That is, the position (coordinates) where the position information does not exist is shown.
  • FIG. 4 shows an example of an ocupancy map data structure.
  • the occupancy map contains data as shown in FIG.
  • coordinate information (u0, v0, u1, v1) indicating a range for each patch is stored in Arithmetic encoded variables. That is, in the occupancy map, the range of the area of each patch is indicated by the coordinates ((u0, v0) and (u1, v1)) of its paired vertices.
  • FIG. 5 is a list of the present technology described in each embodiment.
  • the patches 51 are arranged at the same position and in the same size in any of the occupancy map 52, the texture image 53, and the geometry image 54. That is, in any of the images, the coordinates of the paired vertices of the patch 51 are (u0, v0) (u1, v1). Both patches are deployed similarly.
  • the encoding target and the functionality of compression are limited, and there is a possibility that the encoding efficiency may be reduced.
  • At least one of a geometry image in which position information of 3D data representing a three-dimensional structure is projected on a two-dimensional plane and a texture image in which attribute information of the 3D data is projected on a two-dimensional plane To generate a bit stream including information indicating the correspondence with the ocupancy map, which is map information indicating presence / absence of the image, its geometry image, its texture image, and each encoded data of the ocupancy map .
  • a bit stream including information indicating correspondence with an ocupancy map, which is map information indicating presence / absence of data at each position, and its geometry image, its texture image, and each encoded data of the ocupancy map is provided.
  • a video frame of the geometry image, a video frame of the texture image, and the ocupancy map based on the information indicating the correspondence between the Ocupancy map which is the map information indicating the presence or absence of the data at each position. Try to unpack.
  • At least one of a geometry image in which position information of 3D data representing a three-dimensional structure is projected on a two-dimensional plane and a texture image in which attribute information of the 3D data is projected on a two-dimensional plane And a video frame of the geometry image, a video frame of the texture image, and the ocupancy map, based on the information indicating the correspondence between the Ocupancy map which is the map information indicating the presence or absence of the data at each position. It is equipped with an unpacking part to be unpacked.
  • the frame level resolution of the geometry image and the texture image is the frame level of the occupancy map It may be different from the resolution. Note that the resolution at the frame level is the same between the geometry image and the texture image.
  • the resolution of the ocupancy map is W * H
  • the resolutions of the geometry image and the texture image can be correctly grasped also on the decoding side by signaling the variables ⁇ and ⁇ to the bit stream (for example, including them in the header). Therefore, 3D data can be correctly reconstructed.
  • the resolution of the geometry image and the resolution of the texture image may be different from each other as in “method 2” described in the third row from the top of the table of FIG. 5 (except for the row of item names).
  • the resolution of the ocupancy map is W * H
  • the resolutions of the geometry image and the texture image can be correctly grasped also on the decoding side by signaling the variables ⁇ g, ⁇ g, ⁇ t, and ⁇ t to the bit stream (for example, included in the header). . Therefore, 3D data can be correctly reconstructed.
  • the position and resolution for each patch of the geometry image and texture image may be different.
  • the position and resolution of each patch are the same between the geometry image and the texture image.
  • (u0, v0), (u1, v1) be the coordinates of a patch pair vertex in an ocupancy map
  • (u'0, v'0) be the coordinates of the patch vertex in a geometry image and a texture image , (U′1, v′1), and they may be associated with each other. That is, information indicating the range of patches in each image may be associated.
  • information of u′0, v′0, u′1 and v′1 may be added (correlated) to the information (FIG. 4) of each patch of the occupancy map.
  • u′0, v′0, u′1 and v′1 may be added to the information such as u0, v0, u1 and v1 of each patch included in the above-described Arithmetic encoded variables.
  • the position and resolution for each patch differ between the geometry image and the texture image. You may do so.
  • (u0, v0), (u1, v1) be coordinates of a patch pair vertex in an ocupancy map
  • (ug0, vg0), (ug1, vg1) be coordinates of the patch vertex in the geometry image
  • the coordinates of the paired vertices of the patch in the texture image may be (ut0, vt0), (ut1, vt1), and they may be associated with each other. That is, information indicating the range of patches in each image may be associated.
  • information of ug0, vg0, ug1, vg1, ut0, vt0, ut1 and vt1 may be added (correlated) to the information (FIG. 4) of each patch of the occupancy map.
  • ug0, vg0, ug1, vg1, ut0, vt0, ut1, vt1 may be added to the information such as u0, v0, u1 and v1 of each patch included in the above-described Arithmetic encoded variables.
  • 3D data When 3D data is reconstructed using the geometry image or texture image whose resolution, position, etc. has been changed as described above on the decoding side, the position or resolution of the geometry image or texture image is adjusted to that of the occupancy map. Then, by unpacking, 3D data can be reconstructed in the same manner as the conventional method.
  • table information of the pixel correspondence between the ocupancy map and the geometry image or texture image is added to the ocupancy map. By doing so, it is possible to correctly reconstruct 3D data using this table information.
  • FIG. 7 is a block diagram showing an example of a configuration of an encoding apparatus which is an aspect of an image processing apparatus to which the present technology is applied.
  • the encoding apparatus 100 shown in FIG. 7 is an apparatus that projects 3D data such as a point cloud onto a two-dimensional plane and performs encoding using a two-dimensional image encoding method.
  • the encoding apparatus 100 implements the techniques described in Non-Patent Document 1 to Non-Patent Document 6, and encodes 3D data in a method according to the standard described in any of those documents. .
  • FIG. 7 shows main processing units, data flows, etc., and the one shown in FIG. 7 is not limited to all. That is, in the encoding device 100, there may be a processing unit not shown as a block in FIG. 7, or there may be a process or data flow not shown as an arrow or the like in FIG.
  • the coding apparatus 100 includes a patch decomposing unit 111, a packing unit 112, an auxiliary patch information compression unit 113, a geometry video coding unit 114, a texture video coding unit 115, an OMap coding unit 116, and A multiplexer 117 is provided.
  • the patch disassembly unit 111 performs a process related to the disassembly of 3D data. For example, the patch decomposition unit 111 acquires 3D data (for example, point cloud) representing a three-dimensional structure, which is input to the encoding device 100 (arrow 131). Also, the patch disassembly unit 111 separates the acquired 3D data into a plurality of patches, projects the 3D data on a two-dimensional plane for each patch, and generates a geometry image, a texture image, and an occupancy map.
  • 3D data for example, point cloud
  • the patch disassembly unit 111 separates the acquired 3D data into a plurality of patches, projects the 3D data on a two-dimensional plane for each patch, and generates a geometry image, a texture image, and an occupancy map.
  • the patch disassembling unit 111 supplies them to the packing unit 112 (arrow 132). Also, the patch disassembling unit 111 supplies auxiliary patch information, which is information related to the disassembly, to the auxiliary patch information compression unit 113 (arrow 133).
  • the packing unit 112 performs processing related to data packing. For example, the packing unit 112 acquires the geometry image, the texture image, and the occupancy map supplied from the patch decomposition unit 111 (arrow 132). Also, the packing unit 112 packs the acquired geometry image, texture image, and ocupancy map as video frames.
  • the packing unit 112 supplies the generated video frame to the subsequent processing unit.
  • the packing unit 112 supplies the video frame of the generated geometry image to the geometry video coding unit 114 (arrow 134).
  • the packing unit 112 supplies the generated video frame of the texture image to the texture video encoding unit 115 (arrow 136).
  • the packing unit 112 supplies the generated Ocupancy map video frame to the OMap encoding unit 116 (arrow 139).
  • the auxiliary patch information compression unit 113 performs processing relating to compression of auxiliary patch information. For example, the auxiliary patch information compression unit 113 acquires data supplied from the patch disassembly unit 111 (arrow 133). The auxiliary patch information compression unit 113 encodes (compresses) auxiliary patch information included in the acquired data. The auxiliary patch information compression unit 113 supplies the encoded data of the obtained auxiliary patch information to the multiplexer 117 (arrow 140).
  • the geometry video encoding unit 114 performs processing regarding encoding of video frames of the geometry image. For example, the geometry video encoding unit 114 obtains a video frame of the geometry image supplied from the packing unit 112 (arrow 134). Also, the geometry video encoding unit 114 encodes the obtained video frame of the geometry image by an arbitrary two-dimensional image encoding method such as AVC or HEVC. The geometry video encoding unit 114 supplies the encoded data (encoded data of the video frame of the geometry image) obtained by the encoding to the multiplexer 117 (arrow 141).
  • the texture video encoding unit 115 performs processing relating to encoding of a video frame of a texture image. For example, the texture video encoding unit 115 obtains a video frame of the texture image supplied from the packing unit 112 (arrow 136). In addition, the texture video encoding unit 115 encodes the obtained video frame of the texture image according to an arbitrary two-dimensional image encoding method such as AVC or HEVC. The texture video encoding unit 115 supplies the encoded data (encoded data of the video frame of the texture image) obtained by the encoding to the multiplexer 117 (arrow 142).
  • the OMap encoding unit 116 performs processing relating to encoding of a video frame of an occupancy map. For example, the OMap encoding unit 116 obtains a video frame of the occupancy map supplied from the packing unit 112 (arrow 139). In addition, the OMap encoding unit 116 encodes the video frame of the acquired occupancy map according to an arbitrary two-dimensional image encoding method such as AVC or HEVC. The OMap encoding unit 116 supplies the encoded data (encoded data of the video frame of the occupancy map) obtained by the encoding to the multiplexer 117 (arrow 143).
  • the multiplexer 117 performs processing related to multiplexing. For example, the multiplexer 117 obtains encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 113 (arrow 140). Also, for example, the multiplexer 117 obtains encoded data of the video frame of the geometry image supplied from the geometry video encoding unit 114 (arrow 141). Also, for example, the multiplexer 117 obtains encoded data of the video frame of the texture image supplied from the texture video encoding unit 115 (arrow 142). Also, for example, the multiplexer 117 obtains encoded data of the video frame of the occupancy map supplied from the OMap encoding unit 116 (arrow 143).
  • the multiplexer 117 multiplexes the acquired pieces of information to generate a bit stream.
  • the multiplexer 117 outputs the generated bit stream to the outside of the coding apparatus 100 (arrow 144).
  • the packing unit 112 includes a geometry packing unit 121, a texture packing unit 122, an OMap packing unit 123, and a multiplexer 124.
  • the geometry packing unit 121 performs processing related to packing of the geometry image. For example, the geometry packing unit 121 acquires a geometry image supplied from the patch decomposition unit 111 (arrow 132). The geometry packing unit 121 packs the acquired geometry image as a video frame. The geometry packing unit 121 supplies a video frame of the obtained geometry image to the geometry video coding unit 114 (arrow 134). The geometry packing unit 121 also supplies information (for example, information such as an address) on the geometry image to the multiplexer 124 (arrow 135).
  • information for example, information such as an address
  • the texture packing unit 122 performs processing regarding packing of the texture image. For example, the texture packing unit 122 acquires the texture image supplied from the patch disassembly unit 111 (arrow 132). The texture packing unit 122 packs the acquired texture image as a video frame. The texture packing unit 122 supplies a video frame of the obtained texture image to the texture video coding unit 115 (arrow 136). Also, the texture packing unit 122 supplies information (for example, information such as an address) on the texture image to the multiplexer 124 (arrow 137).
  • information for example, information such as an address
  • the OMap packing unit 123 performs processing regarding packing of the occupancy map. For example, the OMap packing unit 123 acquires the occupancy map supplied from the patch disassembly unit 111 (arrow 132). The OMap packing unit 123 packs the acquired ocupancy map as a video frame. The OMap packing unit 123 supplies the obtained occupancy map video frame to the multiplexer 124 (arrow 138).
  • the multiplexer 124 performs processing related to multiplexing. For example, the multiplexer 124 obtains information on the geometry image from the geometry packing unit 121 (arrow 135). Also, the multiplexer 124 obtains information on the texture image from the texture packing unit 122 (arrow 137). Further, the multiplexer 124 acquires information such as a video frame of the occupancy map from the OMap packing unit 123 (arrow 138).
  • the multiplexer 124 multiplexes the information. That is, the multiplexer 124 embeds information about the geometry image and the texture image into the video frame of the occupancy map. The multiplexer 124 supplies the video frame of the occupancy map in which the information on the geometry image and the texture image is multiplexed in this manner to the OMap encoding unit 116 (arrow 139).
  • the packing unit 112 packs each of the geometry image, the texture image, and the occupancy map by the packing units independent of each other. That is, the packing unit 112 can pack each of the geometry image, the texture image, and the occupancy map independently of each other. That is, the packing unit 112 can perform packing such that, for example, the resolution at the frame level in the geometry image or texture image, the position and resolution of each patch, etc. are different from those in the occupancy map.
  • FIG. 8 is a block diagram illustrating an example of a configuration of a decoding device which is an aspect of an image processing device to which the present technology is applied.
  • the decoding device 200 shown in FIG. 8 decodes encoded data obtained by projecting 3D data such as a point cloud onto a two-dimensional plane and encoding the two-dimensional image using a decoding method for a two-dimensional image, and projecting the data in a three-dimensional space Device.
  • the decoding apparatus 200 implements the techniques described in Non-Patent Document 1 to Non-Patent Document 6, and decodes encoded data of 3D data in a method compliant with the standard described in any of those documents. I do.
  • FIG. 8 shows main processing units, data flows, and the like, and the one shown in FIG. 8 is not limited to all. That is, in the decoding apparatus 200, there may be a processing unit not shown as a block in FIG. 8, or there may be processing or data flow not shown as an arrow or the like in FIG.
  • the decoding apparatus 200 includes a demultiplexer 211, an auxiliary patch information decoding unit 212, a geometry video decoding unit 213, a texture video decoding unit 214, an OMap decoding unit 215, an unpacking unit 216, and a 3D reconstruction unit. It has 217.
  • the demultiplexer 211 performs processing related to data demultiplexing. For example, the demultiplexer 211 obtains a bit stream input to the decoding device 200 (arrow 231). This bit stream is supplied from, for example, the coding apparatus 100. The demultiplexer 211 demultiplexes this bit stream, extracts encoded data of the auxiliary patch information, and supplies it to the auxiliary patch information decoding unit 212 (arrow 232). Also, the demultiplexer 211 extracts the encoded data of the video frame of the geometry image from the bit stream by demultiplexing, and supplies it to the geometry video decoding unit 213 (arrow 233).
  • the demultiplexer 211 extracts the encoded data of the video frame of the texture image from the bitstream by demultiplexing, and supplies it to the texture video decoding unit 214 (arrow 234). Further, the demultiplexer 211 extracts encoded data of the video frame of the occupancy map from the bit stream by demultiplexing, and supplies this to the OMap decoding unit 215 (arrow 235).
  • the auxiliary patch information decoding unit 212 performs processing regarding decoding of encoded data of auxiliary patch information. For example, the auxiliary patch information decoding unit 212 acquires encoded data of the auxiliary patch information supplied from the demultiplexer 211 (arrow 232). In addition, the auxiliary patch information decoding unit 212 decodes encoded data of auxiliary patch information included in the acquired data. The auxiliary patch information decoding unit 212 supplies the auxiliary patch information obtained by the decoding to the 3D reconstruction unit 217 (arrow 236).
  • the geometry video decoding unit 213 performs processing related to decoding of encoded data of a video frame of a geometry image. For example, the geometry video decoding unit 213 obtains encoded data of a video frame of the geometry image supplied from the demultiplexer 211 (arrow 233). Also, for example, the geometry video decoding unit 213 decodes the acquired encoded data to obtain a video frame of a geometry image. The geometry video decoding unit 213 supplies the video frame of the geometry image to the unpacking unit 216 (arrow 237).
  • the texture video decoding unit 214 performs processing related to decoding of encoded data of a video frame of a texture image. For example, the texture video decoding unit 214 obtains coded data of a video frame of the texture image supplied from the demultiplexer 211 (arrow 234). Also, for example, the texture video decoding unit 214 decodes the acquired encoded data to obtain a video frame of a texture image. The texture video decoding unit 214 supplies the video frame of the texture image to the unpacking unit 216 (arrow 238).
  • the OMap decoding unit 215 performs processing regarding decoding of encoded data of a video frame of an occupancy map. For example, the OMap decoding unit 215 acquires encoded data of the video frame of the occupancy map supplied from the demultiplexer 211 (arrow 235). Also, for example, the OMap decoding unit 215 decodes the acquired encoded data to obtain a video frame of an occupancy map. The OMap decoding unit 215 supplies the video frame of the occupancy map to the unpacking unit 216 (arrow 239).
  • the unpacking unit 216 performs processing related to unpacking. For example, the unpacking unit 216 acquires a video frame of a geometry image from the geometry video decoding unit 213 (arrow 237), acquires a texture video frame from the texture video decoding unit 214 (arrow 238), and from the OMap decoding unit 215 Acquire a video frame of an ocupancy map (arrow 239). The unpacking unit 216 unpacks these video frames. The unpacking unit 216 supplies the geometry image, the texture image, and the occupancy map obtained by the unpacking to the 3D reconstruction unit 217 (arrow 245).
  • the 3D reconstruction unit 217 performs processing regarding reconstruction of 3D data. For example, the 3D reconstruction unit 217 acquires the supplemental patch information supplied from the supplemental patch information decoding unit 212 (arrow 236). In addition, the 3D reconstruction unit 217 acquires a geometry image, a texture image, and an ocupancy map supplied from the unpacking unit 216 (arrow 245). The 3D reconstruction unit 217 reconstructs 3D data based on the information. The 3D reconstruction unit 217 outputs the 3D data obtained by such processing to the outside of the decoding device 200 (arrow 246).
  • the 3D data is, for example, supplied to the display unit and the image is displayed, recorded on a recording medium, or supplied to another apparatus via communication.
  • the unpacking unit 216 includes a demultiplexer 221, a geometry image processing unit 222, a texture image processing unit 223, and an unpacking unit 224.
  • the demultiplexer 221 performs processing related to demultiplexing. For example, the demultiplexer 221 obtains a video frame of the occupancy map supplied from the OMap decoding unit 215 (arrow 239). The demultiplexer 221 demultiplexes the video frame of the occupancy map and extracts information on a geometry image and information on a texture image. The information on the geometry image and the information on the texture image include, for example, address information and the like.
  • the demultiplexer 221 supplies information on the extracted geometry image to the geometry image processing unit 222 (arrow 240). Further, the demultiplexer 221 supplies information on the extracted texture image to the texture image processing unit 223 (arrow 241). Also, the demultiplexer 221 supplies the video frame of the occupancy map to the unpacking unit 224 (arrow 242).
  • the geometry image processing unit 222 performs processing related to image processing on the geometry image. For example, the geometry image processing unit 222 acquires a video frame of the geometry image supplied from the geometry video decoding unit 213 (arrow 237). Also, the geometry image processing unit 222 acquires information on the geometry image supplied from the demultiplexer 221 (arrow 240).
  • the geometry image processing unit 222 performs image processing on the video frame of the geometry image based on the information. For example, the geometry image processing unit 222 updates the overall resolution of the geometry image, the position and resolution of each patch, and the like so as to match the occupancy map by the image processing.
  • the geometry image processing unit 222 supplies the video frame of the geometry image subjected to the image processing to the unpacking unit 224 (arrow 243).
  • the texture image processing unit 223 performs processing regarding image processing on the texture image. For example, the texture image processing unit 223 acquires a video frame of the texture image supplied from the texture video decoding unit 214 (arrow 238). In addition, the texture image processing unit 223 acquires information on the texture image supplied from the demultiplexer 221 (arrow 241).
  • the texture image processing unit 223 performs image processing on the video frame of the texture image based on the information. For example, the texture image processing unit 223 updates the overall resolution of the texture image, the position and resolution of each patch, and the like so as to match the opacity map by the image processing.
  • the texture image processing unit 223 supplies the video frame of the texture image subjected to the image processing to the unpacking unit 224 (arrow 244).
  • the unpacking unit 224 performs processing related to unpacking. For example, the unpacking unit 224 obtains a video frame of the occupancy map supplied from the demultiplexer 221 (arrow 242). In addition, the unpacking unit 224 acquires a video frame of the geometry image supplied from the geometry image processing unit 222 (arrow 243). Further, the unpacking unit 224 acquires a video frame of the texture image supplied from the texture image processing unit 223 (arrow 244).
  • the unpacking unit 224 unpacks them respectively. That is, the unpacking unit 224 unpacks the video frame of the geometry image to obtain the geometry image. Also, the unpacking unit 224 unpacks the video frame of the texture image to obtain the texture image. Further, the unpacking unit 224 unpacks the ocupancy map video frame to obtain the ocupancy map.
  • the unpacking unit 224 supplies data obtained by such processing, for example, information such as a geometry image, a texture image, and an occupancy map to the 3D reconstruction unit 217 (arrow 245).
  • the unpacking unit 216 updates the resolution of the geometry image or the texture image, the position of each patch, the resolution, and the like so as to match the occupancy map, as necessary. That is, the unpacking unit 216 (unpacking unit 224) is in a state in which the resolution of the entire image, the position and resolution of each patch, etc. are the same among the geometry image, texture image, and ocupancy map (for example, the example of FIG. Unpack in the state of Therefore, the unpacking unit 216 can perform the unpacking correctly.
  • First embodiment> ⁇ Common overall resolution> The method 1 shown in the table of FIG. 5 will be described.
  • the resolution at the frame level of the geometry image and the texture image is different from the resolution of the occupancy map.
  • the size of the occupancy map 301 is W * H
  • the sizes of the geometry image 302 and the texture image 303 are ⁇ W * ⁇ H.
  • the multiplexer 124 of the encoding device 100 performs multiplexing to thereby provide information indicating the correspondence of resolution between the geometry image and the texture image and the occupancy map, the geometry image, and the texture.
  • a bitstream is generated that includes the image and each encoded data of the occupancy map.
  • the information indicating the correspondence relationship of the resolution includes information indicating the correspondence relationship of the resolution in the horizontal direction and information indicating the correspondence relationship of the resolution in the vertical direction.
  • the information indicating the correspondence relationship between the resolutions in the horizontal direction includes, for example, the above-described variable ⁇ .
  • the information indicating the correspondence relationship between the resolutions in the vertical direction includes, for example, the variable ⁇ described above. That is, for example, variables ⁇ and ⁇ are signaled to the bitstream (stored in the bitstream and provided to the decoding side). Such information may be stored, for example, in the header of the bit stream.
  • step S101 the patch decomposing unit 111 decomposes the input 3D data into patches, and projects each patch on a two-dimensional plane to obtain a geometry image, a texture image, and an ocupancy. Generate a map.
  • step S102 the auxiliary patch information compression unit 113 compresses the auxiliary patch information.
  • step S103 the packing unit 112 packs the geometry image, texture image, and ocupancy map obtained in step S101.
  • step S104 the geometry video encoding unit 114 encodes a geometry video frame, which is a video frame of a geometry image obtained by packing the geometry image in step S103, for any two-dimensional image such as AVC or HEVC. Encode by the method.
  • step S105 the texture video encoding unit 115 encodes a color video frame, which is a video frame of a texture image obtained by packing the texture image in step S103, for any two-dimensional image such as AVC or HEVC. Encode by the method.
  • step S106 the OMap encoding unit 116 encodes the packed occupancy map obtained in step S103 according to an arbitrary two-dimensional image encoding method such as AVC or HEVC.
  • step S107 the multiplexer 117 multiplexes the various data obtained in step S102, step S104, step S105, and step S106, and generates a bit stream including them.
  • step S108 the multiplexer 117 adds information on the (frame level) resolution of the geometry image and the texture image to the header of the bit stream. For example, the multiplexer 117 adds, as such information, information indicating the correspondence of resolution between the geometry image and texture image and the occupancy map to (the header of) the bit stream.
  • step S109 the multiplexer 117 outputs the bit stream generated as described above (that is, a bit stream including information on the resolution of the geometry image and the texture image) to the outside of the encoding device 100.
  • step S109 ends, the encoding process ends.
  • the geometry packing unit 121 packs the geometry image in step S121.
  • step S122 the texture packing unit 122 packs the texture image.
  • step S123 the OMap packing unit 123 packs the occupancy map.
  • the geometry packing unit 121 (or the texture packing unit 122) generates information on the frame level resolution of the geometry image and the texture image. For example, the geometry packing unit 121 (or the texture packing unit 122) generates, as such information, information indicating the correspondence in resolution between the geometry image and the texture image and the occupancy map. This information is included (signaled) in the bitstream as described above.
  • step S124 ends, the packing process ends, and the process returns to FIG.
  • the encoding apparatus 100 can make the resolution of the frame level of the geometry image and the texture image different from the resolution of the occupancy map. Also, the encoding apparatus 100 can generate a bitstream including encoded data of each such image and information on frame level resolution of the geometry image and the texture image.
  • the unpacking unit 216 of the decoding device 200 indicates the correspondence of resolution between the geometry image and the texture image and the chance map included in the bit stream. Based on the information, change the resolution of the geometry image and texture image to the same resolution as the ocupancy map, and change the resolution of the geometry image video frame, the resolution changed texture image video frame, and the ocupancy map Unpack each one.
  • the demultiplexer 211 of the decoding apparatus 200 demultiplexes the input bit stream in step S141, and from the bit stream, the encoded data of the auxiliary patch information and the video frame of the geometry image are The encoded data, the encoded data of the video frame of the texture image, the encoded data of the occupancy map, etc. are extracted.
  • step S142 the auxiliary patch information decoding unit 212 decodes the encoded data of the auxiliary patch information extracted in step S141.
  • step S143 the geometry video decoding unit 213 decodes the encoded data of the geometry video frame extracted in step S141.
  • step S144 the texture video decoding unit 214 decodes the encoded data of the color video frame extracted in step S141.
  • the OMap decoding unit 215 decodes the encoded data of the occupancy map extracted in step S141.
  • step S146 the unpacking unit 216 unpacks each of the geometry video frame obtained in step S143, the color video frame obtained in step S144, and the occupancy map obtained in step S145.
  • step S147 the 3D reconstruction unit 217 reconstructs a point cloud based on the various information obtained in step S146.
  • step S147 ends, the decoding process ends.
  • step S161 the geometry image processing unit 222 performs image processing to match the resolution of the geometry image with the resolution of the occupancy map.
  • step S162 the texture image processing unit 223 performs image processing to adjust the resolution of the texture image to the resolution of the occupancy map.
  • step S163 the unpacking unit 224 generates a geometry image (geometry video frame), a texture image (color video frame), and an occupancy map whose resolutions (sizes) are made identical to each other by the processes of steps S161 and S162. Unpack.
  • step S163 ends, the unpacking process ends, and the process returns to FIG.
  • the unpacking unit 216 can unpack the resolutions of the geometry image, the texture image, and the occupancy map as the same. Therefore, the unpacking unit 224 can easily perform the unpacking in the same manner as the conventional method.
  • Second embodiment> ⁇ Individual overall resolution> The method 2 shown in the table of FIG. 5 will be described.
  • the resolution at the frame level of the geometry image and the texture image is different from the resolution of the occupancy map.
  • the resolution of the geometry image and the resolution of the texture image are different from each other.
  • the size of the occupancy map 321 is W * H
  • the size of the geometry image 322 is ⁇ gW * ⁇ gH
  • the size of the texture image 323 is ⁇ tW * ⁇ tH.
  • the multiplexer 124 of the encoding device 100 performs multiplexing to obtain information indicating the correspondence of resolution between the geometry image and the occupancy map, and between the texture image and the occupancy map. And a coded image data of each of the geometry image, the texture image, and the occupancy map.
  • the information indicating the correspondence of resolution between the geometry image and the occupancy map includes the above-described variable ⁇ g and variable ⁇ g.
  • the information indicating the correspondence of resolution between the texture image and the occupancy map includes the above-mentioned variable ⁇ t and variable ⁇ t. That is, for example, these variable ⁇ g, variable ⁇ g, variable ⁇ t, and variable ⁇ t are signaled to the bit stream (stored in the bit stream and provided to the decoding side). Such information may be stored, for example, in the header of the bit stream.
  • the patch disassembly unit 111 separates the input 3D data into patches in step S181, and projects each patch on a two-dimensional plane to obtain a geometry image, a texture image, and an ocupancy. Generate a map.
  • the auxiliary patch information compression unit 113 compresses the auxiliary patch information.
  • step S183 the packing unit 112 packs the geometry image, texture image, and ocupancy map obtained in step S181.
  • step S184 the geometry video encoding unit 114 encodes a geometry video frame, which is a video frame of a geometry image obtained by packing the geometry image in step S183, for any two-dimensional image such as AVC or HEVC. Encode by the method.
  • step S185 the texture video encoding unit 115 encodes a color video frame, which is a video frame of a texture image obtained by packing the texture image in step S183, for arbitrary two-dimensional images such as AVC and HEVC. Encode by the method.
  • step S186 the OMap encoding unit 116 encodes the packed occupancy map obtained in step S183, using an arbitrary 2-dimensional image encoding method such as AVC or HEVC.
  • step S187 the multiplexer 117 multiplexes the various data obtained in step S182, step S184, step S185, and step S186, and generates a bit stream including them.
  • step S188 the multiplexer 117 adds, to the header of the bit stream, information on the (frame level) resolution of the geometry image and information on the (frame level) resolution of the texture image.
  • the multiplexer 117 may use, as such information, information indicating the correspondence of resolution between the geometry image and the ocupancy map, and information indicating correspondence of the resolution between the texture image and the occupancy map. Add to the bitstream (header).
  • step S189 the multiplexer 117 outputs the bit stream generated as described above (that is, a bit stream including information on the resolution of the geometry image and information on the resolution of the texture image) to the outside of the encoding apparatus 100. .
  • step S189 ends, the encoding process ends.
  • the geometry packing unit 121 packs geometry images in step S201.
  • step S202 the texture packing unit 122 packs the texture image.
  • step S203 the OMap packing unit 123 packs the occupancy map.
  • the geometry packing unit 121 generates information on the frame level resolution of the geometry image. For example, the geometry packing unit 121 generates, as such information, information indicating the correspondence of resolutions between the geometry image and the ocupancy map. This information is included (signaled) in the bitstream as described above.
  • step S205 the texture packing unit 122 generates information on the frame level resolution of the texture image. For example, the texture packing unit 122 generates, as such information, information indicating the correspondence of resolution between the texture image and the ocupancy map. This information is included (signaled) in the bitstream as described above.
  • step S205 When the process of step S205 ends, the packing process ends, and the process returns to FIG.
  • the encoding apparatus 100 can make the resolution of the frame level of the geometry image different from the resolution of the occupancy map. Also, the encoding apparatus 100 can make the resolution at the frame level of the texture image different from the resolution of the occupancy map.
  • the encoding apparatus 100 can generate a bitstream including encoded data of each such image, information on the frame level resolution of the geometry image, and information on the frame level resolution of the texture image. .
  • the resolutions of the geometry image and the texture image can correspond to different 3D data.
  • the encoding can be performed in consideration of the influence on the subjective image quality, the reduction of the encoding efficiency can be suppressed.
  • the unpacking unit 216 of the decoding device 200 is based on the information, which is included in the bit stream, indicating the correspondence of resolution between the geometry image and the chance map. And change the resolution of the geometry image to the same resolution as the ocupancy map, and based on the information indicating the correspondence between the resolution of the texture image and the resolution of the ocupancy map, the resolution of the texture image is identical to the ocupancy map Change to resolution, and unpack each of the video frame of the geometry image after resolution change, the video frame of the texture image after resolution change, and the occupancy map.
  • the decoding process and the unpacking process in this case can be performed in the same manner as in the first embodiment. Therefore, the description is omitted.
  • the unpacking unit 216 can unpack the resolutions of the geometry image, the texture image, and the occupancy map as the same. Therefore, the unpacking unit 224 can easily perform the unpacking in the same manner as the conventional method.
  • the resolutions of the geometry image and the texture image can correspond to different 3D data.
  • the encoding can be performed in consideration of the influence on the subjective image quality, the reduction of the encoding efficiency can be suppressed.
  • the coordinates of the paired vertices of the range of the predetermined patch in the occupancy map 331 are (u0, v0), (u1, v1), and the patch in the geometry image 332 and the texture image 333
  • the multiplexer 124 of the encoding device 100 performs multiplexing to obtain information indicating the correspondence between the position and resolution of each patch and between the geometry image and the texture image, and the occupancy map. , A geometry image, a texture image, and a coded image of each of the occupancy maps.
  • the information indicating the correspondence relationship between the position and resolution for each patch may include the coordinates of the vertex of the rectangular area of the patch.
  • the above-mentioned u'0, v'0, u'1, v'1 etc. may be included. That is, for example, these coordinates u'0, v'0, u'1, v'1 are signaled to the bitstream (stored in the bitstream and provided to the decoding side).
  • Such information may be added to, for example, the information of each patch of the occupancy map.
  • the patch disassembly unit 111 separates the input 3D data into patches in step S221, projects each patch on a two-dimensional plane, and generates a geometry image, a texture image, and an ocupancy. Generate a map.
  • the auxiliary patch information compression unit 113 compresses the auxiliary patch information.
  • step S223 the packing unit 112 packs the geometry image, texture image, and ocupancy map obtained in step S221.
  • step S224 the geometry video encoding unit 114 encodes a geometry video frame, which is a video frame of a geometry image obtained by packing the geometry image in step S223, for arbitrary two-dimensional images such as AVC and HEVC. Encode by the method.
  • step S225 the texture video encoding unit 115 encodes a color video frame, which is a video frame of a texture image obtained by packing the texture image in step S223, for arbitrary two-dimensional images such as AVC and HEVC. Encode by the method.
  • step S226 the OMap encoding unit 116 encodes the packed occupancy map obtained in step S223 according to an arbitrary 2-dimensional image encoding method such as AVC or HEVC.
  • step S227 the multiplexer 117 multiplexes the various data obtained in step S222, step S224, step S225, and step S226, and generates a bit stream including them.
  • step S228 ends, the encoding process ends.
  • step S241 the geometry packing unit 121 packs the geometry image.
  • step S242 the texture packing unit 122 packs the texture image.
  • step S243 the OMap packing unit 123 packs an occupancy map.
  • step S244 the multiplexer 124 adds information on coordinates in the geometry image (texture image) of each patch to the occupancy map, and associates the coordinates in the geometry image (texture image) of each patch with the coordinates in the occupancy map. This information is included (signaled) in the bitstream as described above.
  • step S244 ends, the packing process ends, and the process returns to FIG.
  • the encoding device 100 can make the position and resolution of each patch of the geometry image and the texture image different from the position and resolution of each patch of the occupancy map.
  • the encoding apparatus 100 includes a bitstream including encoded data of each image and information indicating the correspondence between the position of each patch and the resolution between the geometry image and the texture image and the occupancy map. Can be generated.
  • the unpacking unit 216 of the decoding device 200 uses the geometry image and the information indicating the correspondence between the position and resolution of each patch included in the bit stream. Change the position and resolution of each patch of the texture image to match the occupancy map, and change the position and resolution of each patch to the geometry image video frame after changing the patch, the position of each patch and the texture image after changing the resolution Unpack each of the video frames, and the Occupancy map.
  • the geometry image processing unit 222 selects a processing target from the unprocessed patches in step S261.
  • step S262 the geometry image processing unit 222 (or the texture image processing unit 223) acquires coordinates of the processing target patch in the geometry image (texture image) and the ocupancy map from the ocupancy map.
  • step S263 the geometry image processing unit 222 performs image processing on the geometry video frame, and aligns the position and resolution of the processing target patch in the geometry image with the position and resolution of the processing target patch in the occupancy map.
  • step S264 the texture image processing unit 223 performs image processing on the color video frame, and aligns the position and resolution of the processing target patch in the texture image with the position and resolution of the processing target patch in the occupancy map.
  • step S265 the geometry image processing unit 222 (or the texture image processing unit 223) determines whether all the patches have been processed. If it is determined that there is an unprocessed patch, the process returns to step S261, and the subsequent processes are repeated for a new unprocessed patch.
  • step S265 When it is determined in step S265 that all the patches have been processed, the process proceeds to step S266. That is, in this state, the position and resolution of all the patches in the geometry image (and the texture image) match the position and resolution in the occupancy map.
  • step S266 the unpacking unit 224 unpacks the geometry image (geometry video frame), the texture image (color video frame), and the occupancy map.
  • step S266 ends, the unpacking process ends, and the process returns to FIG.
  • the unpacking unit 216 can unpack the positions and resolutions of all the patches of the geometry image, the texture image, and the occupancy map as the same. Therefore, the unpacking unit 224 can easily perform the unpacking in the same manner as the conventional method.
  • the coordinates of pairs of vertexes of the range of a predetermined patch in the occupancy map 341 are (u0, v0), (u1, v1), and the pair of the range of the patch in the geometry image 342
  • the coordinates of the vertex are (ug0, vg0), (ug1, vg1), and the coordinates of the paired vertex of the range of the patch in the texture image 343 are (ut0, vt0), (ut1, vt1).
  • the multiplexer 124 of the encoding device 100 performs multiplexing to obtain information indicating the correspondence between the position and resolution of each patch between the geometry image and the occupancy map, the texture image, and the image.
  • a bit stream including information indicating the correspondence between the position and resolution for each patch between the pansy map and the encoded image data of the geometry image, the texture image, and the occupancy map is generated.
  • the information indicating the correspondence between the position and resolution of each patch between the geometry image and the occupancy map includes the above-mentioned coordinates ug0, vg0, ug1, vg1.
  • the information indicating the correspondence relationship between the position and resolution for each patch between the texture image and the occupancy map may include the coordinates ut0, vt0, ut1, vt1 described above. That is, for example, these coordinates ug0, vg0, ug1, vg1, ut0, vt0, ut1, vt1 may be signaled to the bit stream (stored in the bit stream and provided to the decoding side). Such information may be added to, for example, the information of each patch of the occupancy map.
  • the geometry packing unit 121 packs the geometry image in step S281.
  • step S282 the texture packing unit 122 packs the texture image.
  • step S283 the OMap packing unit 123 packs an occupancy map.
  • step S284 the multiplexer 124 adds information on the coordinates in the geometry image of each patch to the occupancy map, and associates the coordinates in the geometry image of each patch with the coordinates in the occupancy map. This information is included (signaled) in the bitstream as described above.
  • step S285 the multiplexer 124 adds information on the coordinates in the texture image of each patch to the occupancy map, and associates the coordinates in the texture image of each patch with the coordinates in the occupancy map. This information is included (signaled) in the bitstream as described above.
  • step S285 ends, the packing process ends, and the process returns to FIG.
  • the encoding device 100 can make the position and resolution of each patch of the geometry image different from the position and resolution of each patch of the occupancy map. Further, the encoding device 100 can make the position and resolution of each patch of the texture image different from the position and resolution of each patch of the occupancy map.
  • the encoding apparatus 100 further includes encoded data of each image, information indicating the correspondence between the position and resolution of each patch between the geometry image and the occupancy map, the texture image, and the occupancy map.
  • a bit stream can be generated that includes information indicating the correspondence between the position and resolution of each patch between.
  • image quality adjustment for each area is possible. Therefore, the coding efficiency of the video codec in the latter stage can be improved.
  • resolutions of the geometry image and the texture image can correspond to different 3D data.
  • the encoding can be performed in consideration of the influence on the subjective image quality, the reduction of the encoding efficiency can be suppressed.
  • the unpacking unit 216 of the decoding device 200 corresponds the correspondence between the position and resolution of each patch between the geometry image and the opportunity map included in the bit stream. Based on the information indicating that the position and resolution of each patch of the geometry image are adjusted to match the ocupancy map, and information indicating the correspondence between the position and resolution of each patch between the texture image and the ocupancy map Change the position and resolution of each patch of the texture image to match the occupancy map, and change the position and resolution of each patch to the geometry image video frame, the position and resolution of each patch Video frame of the modified texture image, and Each of occupancy map to unpacking.
  • the geometry image processing unit 222 selects a processing target from unprocessed patches in step S301.
  • step S302 the geometry image processing unit 222 (or the texture image processing unit 223) acquires coordinates of the processing target patch in the geometry image, the texture image, and the ocupancy map from the ocupancy map.
  • step S303 the geometry image processing unit 222 performs image processing on the geometry video frame, and aligns the position and resolution of the processing target patch in the geometry image with the position and resolution of the processing target patch in the occupancy map.
  • step S304 the texture image processing unit 223 performs image processing on the color video frame, and aligns the position and resolution of the processing target patch in the texture image with the position and resolution of the processing target patch in the occupancy map.
  • step S305 the geometry image processing unit 222 (or the texture image processing unit 223) determines whether all the patches have been processed. If it is determined that there is an unprocessed patch, the process returns to step S301, and the subsequent processes are repeated for a new unprocessed patch.
  • step S305 When it is determined in step S305 that all the patches have been processed, the process proceeds to step S306. That is, in this state, the positions and resolutions of all the patches in the geometry image and the texture image are the same as the positions and resolutions in the occupancy map.
  • step S306 the unpacking unit 224 unpacks the geometry image (geometry video frame), the texture image (color video frame), and the occupancy map.
  • step S306 ends, the unpacking process ends, and the process returns to FIG.
  • the unpacking unit 216 can unpack the positions and resolutions of all the patches of the geometry image, the texture image, and the occupancy map as the same. Therefore, the unpacking unit 224 can easily perform the unpacking in the same manner as the conventional method.
  • image quality adjustment for each area is possible. Therefore, the coding efficiency of the video codec in the latter stage can be improved.
  • resolutions of the geometry image and the texture image can correspond to different 3D data.
  • the encoding can be performed in consideration of the influence on the subjective image quality, the reduction of the encoding efficiency can be suppressed.
  • the coordinates of pairs of vertexes of the range of a predetermined patch in the occupancy map 361 are (u0, v0), (u1, v1), and the pair of the range of the patch in the texture image 362 .
  • the coordinates of the vertex are (u'0, v'0) and (u'1, v'1).
  • the position and the resolution of this patch of the texture image 362 are updated to be the same as the position and the resolution in the occupancy map 361, like the texture 363.
  • the encoding apparatus 100 generates table information of the pixel correspondence between the occupancy map and the geometry image or texture image, and adds it to a bitstream (for example, the occupancy map). Then, the decoding apparatus 200 performs unpacking and 3D reconstruction without performing image processing such as updating the position and resolution of the geometry image and the texture image based on the table information.
  • the encoding apparatus 100 can perform such processing with the same configuration as that described with reference to FIG. 7.
  • FIG. 26 is a block diagram showing a main configuration example of the decoding device 200 in this case.
  • the decoding apparatus 200 in this case also decodes encoded data obtained by projecting 3D data such as a point cloud onto a two-dimensional plane and encoding the two-dimensional image using a decoding method for the two-dimensional image.
  • It is an apparatus which projects to three-dimensional space.
  • the decoding apparatus 200 in this case basically has the same configuration as that shown in FIG. 8, but has an unpacking unit 411 instead of the unpacking unit 216.
  • the unpacking unit 411 is a processing unit similar to the unpacking unit 224, and performs processing related to unpacking. For example, the unpacking unit 411 obtains a geometry video frame supplied from the geometry video decoding unit 213 (arrow 237). Furthermore, the unpacking unit 411 obtains a color video frame supplied from the texture video decoding unit 214 (arrow 238). In addition, the unpacking unit 411 acquires the occupancy map supplied from the OMap decoding unit 215 (arrow 239).
  • the unpacking unit 411 unpacks them respectively. That is, the unpacking unit 411 unpacks the geometry video frame to obtain a geometry image. In addition, the unpacking unit 411 unpacks the color video frame to obtain a texture image. Further, the unpacking unit 411 unpacks the ocupancy map video frame to obtain the ocupancy map.
  • the unpacking unit 411 supplies data obtained by such processing, for example, information such as a geometry image, a texture image, and an occupancy map to the 3D reconstruction unit 217 (arrow 431).
  • the geometry image, texture image, and ocupancy map supplied to the 3D reconstruction unit 217 have different frame level resolutions or positions and resolutions in units of patches.
  • the 3D reconstruction unit 217 acquires table information of the pixel correspondence between the occupancy map and the geometry image or texture image included in the bit stream, and reconstructs 3D data based on the table information. I do. This enables correct 3D data reconstruction.
  • At least one of a geometry image in which position information of 3D data representing a three-dimensional structure is projected on a two-dimensional plane and a texture image in which attribute information of the 3D data is projected on a two-dimensional plane Based on the information indicating the correspondence between the image and the Ocupancy map, which is the map information indicating the presence or absence of data at each position, to reconstruct 3D data from the geometry image, the texture image, and the Ocupancy map Do.
  • a geometry image in which position information of 3D data representing a three-dimensional structure included in a bit stream is projected on a two-dimensional plane, and a texture image in which attribute information of the 3D data is projected on a two-dimensional plane The 3D data from the geometry image, its texture image, and its occupancy map based on the information showing the correspondence between at least one of them and the ocupancy map, which is map information indicating the presence or absence of data at each position.
  • the information indicating the correspondence between at least one of the geometry image and the texture image described above and the ocupancy map is information indicating the correspondence between positions of the geometry image and the ocupancy map for each pixel.
  • information indicating the correspondence between pixel positions of the texture image and the occupancy map may be included.
  • the patch disassembly unit 111 separates the input 3D data into patches in step S321, projects each patch on a two-dimensional plane, and generates a geometry image, a texture image, and an ocupancy. Generate a map.
  • the auxiliary patch information compression unit 113 compresses the auxiliary patch information.
  • step S323 the packing unit 112 packs the geometry image, texture image, and ocupancy map obtained in step S321.
  • step S324 the geometry video encoding unit 114 encodes a geometry video frame, which is a video frame of a geometry image obtained by packing the geometry image in step S323, for arbitrary two-dimensional images such as AVC and HEVC. Encode by the method.
  • step S325 the texture video encoding unit 115 encodes a color video frame, which is a video frame of a texture image obtained by packing the texture image in step S323, for arbitrary two-dimensional images such as AVC and HEVC. Encode by the method.
  • step S326 the OMap encoding unit 116 encodes the packed occupancy map obtained in step S323 according to an arbitrary two-dimensional image encoding method such as AVC or HEVC.
  • step S327 the multiplexer 117 multiplexes the various data obtained in step S322, step S324, step S325, and step S326, and generates a bit stream including them.
  • step S328 the multiplexer 117 adds, to the header of the bit stream, information indicating the correspondence between pixels of the geometry image and the occupancy map, and information indicating the correspondence between pixels of the texture image and the occupancy map. Do.
  • step S329 the multiplexer 117 generates the bit stream generated as described above (that is, the information indicating the correspondence between pixels in the geometry image and the occupancy map, and the correspondence between pixels in the texture image and the occupancy map). And a bit stream including the information to be displayed is output to the outside of the encoding apparatus 100.
  • step S329 ends, the encoding process ends.
  • the geometry packing unit 121 packs the geometry image in step S341.
  • step S342 the texture packing unit 122 packs the texture image.
  • step S343 the OMap packing unit 123 packs the occupancy map.
  • step S344 the geometry packing unit 121 generates information indicating the correspondence between pixels of the geometry image and the occupancy map. This information is included (signaled) in the bitstream as described above.
  • step S345 the texture packing unit 122 generates information indicating the correspondence between pixels of the texture image and the occupancy map. This information is included (signaled) in the bitstream as described above.
  • step S345 ends, the packing process ends, and the process returns to FIG.
  • the encoding apparatus 100 By executing each process as described above, the encoding apparatus 100 generates table information of pixel correspondence between the occupancy map and the geometry image or texture image, and generates a bitstream (for example, the occupancy map). Can be added to
  • step S361 the demultiplexer 211 of the decoding apparatus 200 demultiplexes the input bit stream, and from the bit stream, the encoded data of the auxiliary patch information, the video frame of the geometry image, The encoded data, the encoded data of the video frame of the texture image, the encoded data of the occupancy map, etc. are extracted.
  • step S362 the auxiliary patch information decoding unit 212 decodes the encoded data of the auxiliary patch information extracted in step S361.
  • step S363 the geometry video decoding unit 213 decodes the encoded data of the geometry video frame extracted in step S361.
  • step S364 the texture video decoding unit 214 decodes the encoded data of the color video frame extracted in step S361.
  • step S365 the OMap decoding unit 215 decodes the encoded data of the occupancy map extracted in step S361.
  • step S 366 the unpacking unit 411 unpacks the geometry video frame obtained in step S 363, the color video frame obtained in step S 364, and the occupancy map obtained in step S 365.
  • step S367 the 3D reconstruction unit 217 reconstructs a point cloud based on the various information obtained in step S366.
  • step S367 ends, the decoding process ends.
  • the 3D reconstruction unit 217 selects a processing target from unprocessed patches in step S381.
  • step S382 the 3D reconstruction unit 217 selects an unprocessed coordinate of the ocupancy map as a processing target.
  • step S383 the 3D reconstruction unit 217 acquires the pixel value of the geometry image corresponding to the processing target coordinates of the occupancy map.
  • step S384 the 3D reconstruction unit 217 acquires the pixel value of the texture image corresponding to the processing target coordinates of the occupancy map.
  • step S385 the 3D reconstruction unit 217 reconstructs points based on the pixel values obtained in steps S383 and S384. That is, position information and attribute information of points of the point cloud are generated.
  • step S 386 the 3D reconstruction unit 217 determines whether all pixels of the patch to be processed have been processed. If it is determined that there is an unprocessed pixel, the process returns to step S382, and the subsequent processes are repeated.
  • step S386 If it is determined in step S386 that all pixels have been processed for the patch to be processed, the process proceeds to step S387.
  • step S387 the 3D reconstruction unit 217 determines whether all the patches have been processed. If it is determined that there is an unprocessed patch, the process returns to step S381, and the subsequent processes are repeated. That is, the processing target is updated to the next patch, and the same processing is repeated for that patch.
  • step S387 If it is determined in step S387 that all the patches have been processed, the point cloud reconstruction process ends, and the process returns to FIG.
  • the decoding apparatus 200 can unpack and reconstruct 3D data without performing image adjustment (conversion of position and resolution) of the geometry image and the texture image. Therefore, an increase in processing load on the decoding side can be suppressed.
  • step S366 in FIG. 29 and the reconstruction of the point cloud in step S367 may be performed in parallel.
  • these processes may be performed as one process like an unpacking reconstruction process.
  • the unpacking unit 411 unpacks each of the video frame of the geometry image, the video frame of the texture image, and the occupancy map, and the 3D reconstruction unit 217 re-executes the 3D data in parallel with the unpacking. You may make it build.
  • decoding can be performed more efficiently, and an increase in load can be suppressed.
  • the unpacking unit 411 selects a processing target from unprocessed patches in step S401.
  • step S402 the unpacking unit 411 unpacks the processing target patch.
  • step S403 the 3D reconstruction unit 217 selects an unprocessed coordinate of the occupancy map as a processing target.
  • step S404 the 3D reconstruction unit 217 acquires the pixel value of the geometry image corresponding to the processing target coordinates of the occupancy map.
  • step S405 the 3D reconstruction unit 217 acquires the pixel value of the texture image corresponding to the processing target coordinates of the occupancy map.
  • step S406 the 3D reconstruction unit 217 reconstructs points based on the pixel values obtained in steps S404 and S405. That is, position information and attribute information of points of the point cloud are generated.
  • step S407 the 3D reconstruction unit 217 determines whether all pixels of the patch to be processed have been processed. If it is determined that there is an unprocessed pixel, the processing returns to step S403, and the subsequent processing is repeated.
  • step S407 If it is determined in step S407 that all pixels have been processed for the patch to be processed, the process proceeds to step S408.
  • step S408 the unpacking unit 411 determines whether all the patches have been processed. If it is determined that there is an unprocessed patch, the process returns to step S401, and the subsequent processes are repeated. That is, the processing target is updated to the next patch, and the same processing is repeated for that patch.
  • step S408 If it is determined in step S408 that all the patches have been processed, the unpacking reconstruction process ends, and the process returns to FIG.
  • the decoding apparatus 200 can unpack and reconstruct 3D data without performing image adjustment (conversion of position and resolution) of the geometry image and the texture image. Also, the unpacking and the 3D data reconstruction can be performed in parallel with each other. Therefore, an increase in processing load on the decoding side can be suppressed.
  • control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
  • control information for example, enabled_flag
  • control for specifying a range for example, upper limit or lower limit of block size, or both, slice, picture, sequence, component, view, layer, etc.
  • a range for example, upper limit or lower limit of block size, or both, slice, picture, sequence, component, view, layer, etc.
  • the series of processes described above can be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 32 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 901, a read only memory (ROM) 902, and a random access memory (RAM) 903 are mutually connected via a bus 904.
  • An input / output interface 910 Also connected to the bus 904 is an input / output interface 910.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, and an output terminal.
  • the storage unit 913 is formed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives removable media 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the program. Processing is performed.
  • the RAM 903 also stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to, for example, a removable medium 921 as a package medium or the like.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable media 921 to the drive 915.
  • the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in advance in the ROM 902 or the storage unit 913.
  • the encoding apparatus 100 and the decoding apparatus 200 have been described above as application examples of the present technology, the present technology can be applied to any configuration.
  • the present technology includes a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution over the Internet, and distribution to terminals by cellular communication, or
  • a transmitter or a receiver for example, a television receiver or a mobile phone
  • satellite broadcasting for example, cable TV
  • cable broadcasting such as cable TV
  • distribution over the Internet distribution to terminals by cellular communication
  • the present invention can be applied to various electronic devices such as devices for recording an image on a medium such as an optical disk, a magnetic disk, and a flash memory and reproducing an image from these storage media (for example, a hard disk recorder and a camera).
  • the present technology includes a processor (for example, a video processor) as a system LSI (Large Scale Integration) or the like, a module (for example, a video module) using a plurality of processors or the like, a unit (for example, a video unit) using a plurality of modules Or, it may be implemented as part of the configuration of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • a processor for example, a video processor
  • LSI Large Scale Integration
  • module for example, a video module
  • a unit for example, a video unit
  • it may be implemented as part of the configuration of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • the present technology can also be applied to a network system configured by a plurality of devices.
  • the present technology may be implemented as cloud computing in which multiple devices share and process jointly via a network.
  • the present technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (Audio Visual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may do it.
  • the system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network and one device housing a plurality of modules in one housing are all systems. .
  • the system, apparatus, processing unit, etc. to which the present technology is applied can be used in any field such as traffic, medical care, crime prevention, agriculture, animal husbandry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. . Moreover, the use is also arbitrary.
  • the present technology can be applied to systems and devices provided for provision of ornamental content and the like.
  • the present technology can be applied to systems and devices provided for traffic, such as traffic condition supervision and automatic operation control.
  • the present technology can be applied to systems and devices provided for security.
  • the present technology can be applied to a system or device provided for automatic control of a machine or the like.
  • the present technology can be applied to systems and devices provided for use in agriculture and livestock.
  • the present technology can also be applied to systems and devices that monitor natural conditions such as, for example, volcanoes, forests, and oceans, and wildlife.
  • the present technology can be applied to systems and devices provided for sports.
  • “flag” is information for identifying a plurality of states, and is not limited to information used to identify two states of true (1) or false (0), and may be three or more. Information that can identify the state is also included. Therefore, the possible value of this "flag” may be, for example, a binary value of 1/0 or a ternary value or more. That is, the number of bits constituting this "flag” is arbitrary, and may be one bit or plural bits. Further, not only the identification information (including the flag) is included in the bitstream, but also the difference information of the identification information with respect to a certain reference information is assumed to be included in the bitstream. In the above, “flag” and “identification information” include not only the information but also difference information with respect to the reference information.
  • association means, for example, that one data can be processed (linked) in processing the other data. That is, the data associated with each other may be collected as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from that of the coded data (image).
  • information associated with encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the encoded data (image). Good.
  • this “association” may not be the entire data but a part of the data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part in a frame.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. .
  • the above-described program may be executed on any device.
  • the device may have necessary functions (functional blocks and the like) so that necessary information can be obtained.
  • one apparatus may execute each step of one flowchart, or a plurality of apparatuses may share and execute. Furthermore, when a plurality of processes are included in one step, one apparatus may execute the plurality of processes, or a plurality of apparatuses may share and execute the processes. In other words, a plurality of processes included in one step can be executed as a process of a plurality of steps. Conversely, the processes described as a plurality of steps can be collectively performed as one step.
  • processing of steps for writing a program may be performed in chronological order according to the order described in this specification, in parallel, or in a call. It may be individually executed at necessary timing such as when it is received. That is, as long as no contradiction arises, the processing of each step may be performed in an order different from the order described above. Furthermore, the process of the step of writing this program may be executed in parallel with the process of another program, or may be executed in combination with the process of another program.
  • a plurality of techniques relating to the present technology can be independently implemented as long as no contradiction arises.
  • any number of the present techniques may be used in combination.
  • part or all of the present technology described in any of the embodiments can be implemented in combination with part or all of the present technology described in the other embodiments.
  • some or all of the above-described optional present techniques may be implemented in combination with other techniques not described above.
  • Information indicating the correspondence with the occupancy map which is map information indicating the presence or absence of data
  • An image processing apparatus comprising: a bitstream generation unit configured to generate a bitstream including the geometry image, the texture image, and each encoded data of the occupancy map.
  • the information indicating the correspondence includes information indicating a correspondence of resolution between the geometry image and the texture image, and the occupancy map.
  • the image processing apparatus wherein the information indicating the correspondence relationship of resolution includes information indicating the correspondence relationship of resolution in the horizontal direction and information indicating correspondence relationship of the resolution in the vertical direction.
  • the information indicating the correspondence relationship is Information indicating the correspondence of resolution between the geometry image and the ocupancy map;
  • the image processing apparatus according to any one of (1) to (3), including: information indicating a correspondence of resolution between the texture image and the ocupancy map.
  • the information indicating the correspondence includes information indicating the correspondence between the position and resolution of each patch between the geometry image and the texture image, and the ocupancy map.
  • the image processing apparatus includes coordinates of paired vertices of a rectangular area of the patch.
  • the information indicating the correspondence relationship is Information indicating the correspondence between the position and resolution of each patch between the geometry image and the ocupancy map;
  • the image processing apparatus according to any one of (1) to (6), including information indicating the correspondence between the position and resolution of each patch between the texture image and the occupancy map.
  • the image processing apparatus further comprises an encoding unit that encodes each of the geometry image, the texture image, and the occupancy map.
  • the bit stream generation unit includes information indicating the correspondence, and encoded data of the geometry image, the texture image, and the occupancy map obtained by being encoded by the encoding unit.
  • the image processing apparatus according to any one of (1) to (7), which generates a bitstream.
  • a packing unit packing each of the geometry image, the texture image, and the occupancy map.
  • the image processing apparatus according to any one of (1) to (9), wherein the 3D data is a point cloud.
  • a geometry image obtained by projecting position information of 3D data representing a 3D structure, contained in a bit stream, onto a 2D plane
  • a texture image obtained by projecting attribute information of the 3D data onto a 2D plane
  • Each of the video frame of the geometry image, the video frame of the texture image, and the occupancy map based on the information indicating the correspondence between the one and the occupancy map, which is map information indicating presence / absence of data at each position.
  • An image processing apparatus comprising an unpacking unit for unpacking.
  • the information indicating the correspondence includes information indicating the correspondence of resolution between the geometry image and the texture image, and the occupancy map
  • the unpacking unit is The resolution of the geometry image and the texture image is changed to the same resolution as the occupancy map based on the information indicating the correspondence of the resolutions,
  • the image processing apparatus according to (21), wherein the video frame of the geometry image after resolution change, the video frame of the texture image after resolution change, and the occupancy map are unpacked.
  • the information indicating the correspondence relationship is Information indicating the correspondence of resolution between the geometry image and the ocupancy map; Information indicating a correspondence of resolution between the texture image and the ocupancy map;
  • the unpacking unit is Changing the resolution of the geometry image to the same resolution as the occupancy map based on the information indicating the correspondence of the resolution between the geometry image and the occupancy map;
  • the resolution of the texture image is changed to the same resolution as the ocupancy map based on the information indicating the correspondence of resolution between the texture image and the ocupancy map,
  • the image processing apparatus according to (21) or (22), wherein a video frame of the geometry image after resolution change, a video frame of the texture image after resolution change, and the occupancy map are unpacked.
  • the information indicating the correspondence includes information indicating the correspondence between the position and resolution of each patch between the geometry image and the texture image, and the occupancy map
  • the unpacking unit is The position and the resolution of each patch of the geometry image and the texture image are changed to match the occupancy map based on the information indicating the correspondence between the position and the resolution of each patch. Unpack each of the video frame of the geometry image after changing the position and resolution for each patch, the video frame of the texture image after changing the position and resolution of the patch, and the occupancy map (21)
  • the image processing apparatus according to any one of (23) to (23).
  • the information indicating the correspondence relationship is Information indicating the correspondence between the position and resolution of each patch between the geometry image and the ocupancy map; Information indicating the correspondence between the position and resolution of each patch between the texture image and the ocupancy map;
  • the unpacking unit is Changing the position and resolution of each patch of the geometry image to match the ocupancy map based on information indicating the correspondence between the position and resolution of each patch between the geometry image and the ocupancy map; Changing the position and resolution of each patch of the texture image to match the occupancy map based on the information indicating the correspondence between the position and resolution of each patch between the texture image and the ocupancy map; Unpack each of the video frame of the geometry image after changing the position and resolution for each patch, the video frame of the texture image after changing the position and resolution of the patch, and the occupancy map (21)
  • the image processing apparatus according to any one of (24) to (24).
  • a decoding unit for decoding each of encoded data of the video frame of the geometry image, encoded data of the video frame of the texture image, and encoded data of the occupancy map
  • the unpacking unit unpacks each of the video frame of the geometry image obtained by being decoded by the decoding unit, the video frame of the texture image, and the opacity map (21) to (25).
  • the information processing apparatus further comprises an extraction unit for extracting encoded data of a video frame of the geometry image, encoded data of a video frame of the texture image, and encoded data of the occupancy map from the bitstream.
  • the decoding unit is configured to encode the encoded data of the video frame of the geometry image, the encoded data of the video frame of the texture image, and the encoded data of the opacity map, which are extracted from the bitstream by the extraction unit.
  • the image processing apparatus according to (26).
  • (28) The image processing apparatus according to any one of (21) to (27), wherein the 3D data is a point cloud.
  • a geometry image obtained by projecting position information of 3D data representing a 3D structure, contained in a bit stream, onto a 2D plane
  • a texture image obtained by projecting attribute information of the 3D data onto a 2D plane
  • the 3D data is reconstructed from the geometry image, the texture image, and the ocupancy map based on the information indicating the correspondence between the one and the ocupancy map which is map information indicating the presence or absence of data at each position.
  • An image processing apparatus comprising a reconstruction unit.
  • the information indicating the correspondence relationship is Information indicating a correspondence between positions of each pixel between the geometry image and the occupancy map;
  • the video camera of the geometry image, the video frame of the texture image, and an unpacking unit for unpacking each of the occupancy maps further comprising: The reconstruction unit reconstructs the 3D data in parallel with the unpacking of the video frame of the geometry image, the video frame of the texture image, and the occupancy map by the unpacking unit (31) Or the image processing apparatus according to (32).
  • the 3D data is reconstructed from the geometry image, the texture image, and the ocupancy map based on the information indicating the correspondence between the one and the ocupancy map which is map information indicating the presence or absence of data at each position.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示は、符号化効率の低減を抑制することができるようにする画像処理装置および方法に関する。 3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、そのジオメトリ画像、そのテクスチャ画像、およびそのオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する。本開示は、例えば、情報処理装置、画像処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法として、ポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するアプローチ(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案されている(例えば、非特許文献1乃至非特許文献3参照)。
Tim Golla and Reinhard Klein, "Real-time Point Cloud Compression ", IEEE, 2015 K. Mammou, "Video-based and Hierarchical Approaches Point Cloud Compression", MPEG m41649, Oct. 2017 "PCC Test Model Category 2 v0", N17248 MPEG output document, October 2017
 しかしながら、従来の方法では、ポイントクラウドを2次元平面に投影する際に、位置情報および属性情報(色情報等)の空間解像度および位相(位置)が同一であるという制約がある。そのため、符号化対象や圧縮の機能性が限定され、符号化効率が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成するビットストリーム生成部を備える画像処理装置である。
 本技術の一側面の画像処理方法は、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する画像処理方法である。
 本技術の他の側面の画像処理装置は、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングするアンパッキング部を備える画像処理装置である。
 本技術の他の側面の画像処理方法は、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、そのジオメトリ画像、そのテクスチャ画像、およびそのオキュパンシーマップのそれぞれの符号化データとを含むビットストリームが生成される。
 本技術の他の側面の画像処理装置および方法においては、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、そのジオメトリ画像のビデオフレーム、そのテクスチャ画像のビデオフレーム、およびそのオキュパンシーマップのそれぞれがアンパッキングされる。
 本開示によれば、情報を処理することができる。特に、符号化効率の低減を抑制することができる。
ポイントクラウドの例を説明する図である。 ビデオベースドアプローチの概要の例を説明する図である。 ジオメトリ画像とオキュパンシーマップの例を示す図である。 オキュパンシーマップのデータ構造の例を説明する図である。 各実施の形態において説明する本技術をまとめた図である。 同一のパッチの領域の対応関係を示す図である。 符号化装置の主な構成例を示すブロック図である。 復号装置の主な構成例を示すブロック図である。 画像の比較例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 パッキング処理の流れの例を説明するフローチャートである。 復号処理の流れの例を説明するフローチャートである。 アンパッキング処理の流れの例を説明するフローチャートである。 画像の比較例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 パッキング処理の流れの例を説明するフローチャートである。 画像の比較例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 パッキング処理の流れの例を説明するフローチャートである。 アンパッキング処理の流れの例を説明するフローチャートである。 画像の比較例を示す図である。 パッキング処理の流れの例を説明するフローチャートである。 アンパッキング処理の流れの例を説明するフローチャートである。 画像処理の様子の例を示す図である。 画像間の座標の対応関係の例を示す図である。 復号装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 パッキング処理の流れの例を説明するフローチャートである。 復号処理の流れの例を説明するフローチャートである。 ポイントクラウド再構築処理の流れの例を説明するフローチャートである。 アンパッキング再構築処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.ビデオベースドアプローチ
 2.第1の実施の形態(共通全体解像度)
 3.第2の実施の形態(個別全体解像度)
 4.第3の実施の形態(共通パッチ位置・解像度)
 5.第4の実施の形態(個別パッチ位置・解像度)
 6.第5の実施の形態(アンパッキング・3D再構築)
 7.付記
 <1.ビデオベースドアプローチ>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施例に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
 非特許文献5:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
 非特許文献6:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献5に記載されているQuad-Tree Block Structure、非特許文献6に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
  <ポイントクラウド>
 従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ等のデータが存在した。
 例えばポイントクラウドの場合、図1のAに示されるような立体構造物を、図1のBに示されるような多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータは、この点群の各点の位置情報や属性情報(例えば色等)により構成される。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造を十分な精度で表現することができる。
  <ビデオベースドアプローチの概要>
 このようなポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案されている。
 このビデオベースドアプローチでは、例えば図2に示されるように、入力されたポイントクラウド(Point cloud)が複数のセグメンテーション(領域またはパッチとも称する)に分割され、領域毎に2次元平面に投影される。なお、ポイントクラウドの位置毎のデータ(すなわち、各ポイントのデータ)は、上述のように位置情報(Geometry(Depthとも称する))と属性情報(Texture)とにより構成され、それぞれ、領域毎に2次元平面に投影される。
 そして、2次元平面に投影された3Dデータ(ポイントクラウド)は、例えば、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった、2次元平面画像用の符号化方式により符号化される。
  <オキュパンシーマップ>
 ビデオベースドアプローチにより、3Dデータを2次元平面に投影する場合、上述のように位置情報が投影された2次元平面画像(ジオメトリ(Geometry)画像とも称する)と、属性情報が投影された2次元平面画像(テクスチャ(Texture)画像とも称する)との他に、図3に示されるようなオキュパンシーマップが生成される。オキュパンシーマップは、2次元平面の各位置における、位置情報および属性情報の有無を示すマップ情報である。図3の例では、互いに対応する位置の(パッチの)ジオメトリ画像(Depth)とオキュパンシーマップ(Occupancy)とが並べられている。図3の例の場合、オキュパンシーマップ(図中左側)の白い部分が、ジオメトリ画像のデータ(すなわち位置情報)が存在する位置(座標)を示しており、黒い部分が、ジオメトリ画像のデータ(すなわち位置情報)が存在しない位置(座標)を示している。
 図4は、オキュパンシーマップのデータ構造の例を示す。オキュパンシーマップには、図4に示されるようなデータが含まれる。
 例えば、Arithmetic encoded variablesには、各パッチについての範囲を示す座標情報(u0,v0,u1,v1)が格納されている。つまり、オキュパンシーマップにおいては、各パッチの領域の範囲が、その対頂点の座標((u0,v0)および(u1,v1))により示されている。
  <ビデオベースドアプローチに関する本技術>
 以上に説明したようなビデオベースドアプローチに関する本技術について説明する。図5は、各実施の形態において説明する本技術の一覧である。
 従来の方法の場合、この表の上から1段目(項目名の段は除く)に示されるように、オキュパンシーマップ(Occupancy map)、ジオメトリ画像(Geometry)、およびテクスチャ画像(Texture)のサイズ(解像度)は、互いに同一(1:1:1)に制限されていた。
 例えば、図6に示されるように、パッチ51は、オキュパンシーマップ52、テクスチャ画像53、およびジオメトリ画像54のいずれにおいても、同一の位置に同一の大きさで配置されている。つまり、いずれの画像においてもパッチ51の対頂点の座標は(u0,v0)(u1,v1)である。いずれのパッチも同様に配置される。
 そのため、符号化対象や圧縮の機能性が限定されてしまい、符号化効率が低減するおそれがあった。例えば、メッシュ(Mesh)とテクスチャ(Texture)とからなる3Dデータのように、位置情報と色情報とが異なる次元の3Dデータをこのビデオベースドアプローチにより符号化することは困難であった。また、ジオメトリ画像の解像度とテクスチャ画像の解像度を互いに異なる解像度とすることは困難であった。また、Iピクチャ、Pピクチャ、Bピクチャ等といったピクチャの種類に応じて解像度を制御することが困難であった。また、領域毎に解像度を制御することが困難であった。
 このような符号化の制限により符号化効率が低減するおそれがあった。換言するに、このような符号化の制限により3Dデータの品質が低減するおそれがあった。
 そこで、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、そのジオメトリ画像、そのテクスチャ画像、およびそのオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成するようにする。
 例えば、画像処理装置において、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、そのジオメトリ画像、そのテクスチャ画像、およびそのオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成するビットストリーム生成部を備えるようにする。
 このようにすることにより、復号側において、その対応関係を示す情報に基づいて、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップの対応関係を正しく把握することができるので、これらの解像度等を互いに同一としなくても、3Dデータを正しく再構築することができる。したがって、上述の制限を回避することができるので、より多様な符号化を行うことができるようになり、符号化効率を向上させることも可能になる。つまり、符号化効率の低減を抑制することができる。
 また、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、そのジオメトリ画像のビデオフレーム、そのテクスチャ画像のビデオフレーム、およびそのオキュパンシーマップのそれぞれをアンパッキングするようにする。
 例えば、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、そのジオメトリ画像のビデオフレーム、そのテクスチャ画像のビデオフレーム、およびそのオキュパンシーマップのそれぞれをアンパッキングするアンパッキング部を備えるようにする。
 このようにすることにより、その対応関係を示す情報に基づいて、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップの対応関係を正しく把握することができる。したがって、これらの解像度等を互いに同一としなくても、3Dデータを正しく再構築することができる。したがって、上述の制限を回避することができるので、より多様な符号化を行うことができるようになり、符号化効率を向上させることも可能になる。つまり、符号化効率の低減を抑制することができる。
 例えば、図5の表の上から2段目(項目名の段は除く)に記載の「方法1」のように、ジオメトリ画像とテクスチャ画像のフレームレベルの解像度が、オキュパンシーマップのフレームレベルの解像度と異なるようにしてもよい。なお、ジオメトリ画像とテクスチャ画像との間ではフレームレベルの解像度は同一である。
 例えば、オキュパンシーマップの解像度がW*Hであるとすると、ジオメトリ画像とテクスチャ画像の解像度がw*h(w=αW, h=βH, 1>α>0, 1>β>0)であるようにしてもよい。
 このようにすることにより、例えば、PピクチャやBピクチャの品質(解像度等)を低減させ、Iピクチャの品質(解像度等)を向上させる等、ピクチャの種類に応じた品質制御が可能になる。したがって、符号化効率の低減を抑制することができる。
 なお、この場合、変数αおよびβをビットストリームにシグナルする(例えばヘッダに含める)ようにすることにより、復号側においても、ジオメトリ画像およびテクスチャ画像の解像度を正しく把握することができる。したがって、正しく3Dデータを再構築することができる。
 また、例えば、図5の表の上から3段目(項目名の段は除く)に記載の「方法2」のように、ジオメトリ画像の解像度とテクスチャ画像の解像度とを互いに異なるものとしてもよい。
 例えば、オキュパンシーマップの解像度がW*Hであるとすると、ジオメトリ画像の解像度がw*h(w=αgW, h=βgH, 1>αg>0, 1>βg>0)であるようにし、テクスチャ画像の解像度がw*h(w=αtW, h=βtH, 1>αt>0, 1>βt>0)であるようにしてもよい。
 このようにすることにより、例えば、ジオメトリ画像とテクスチャ画像との解像度が互いに異なる3Dデータに対応することができる。また、主観画質への影響を考慮して符号化を行うことができるので、符号化効率の低減を抑制することができる。
 なお、この場合、変数αg、βg、αt、βtをビットストリームにシグナルする(例えばヘッダに含める)ようにすることにより、復号側においても、ジオメトリ画像およびテクスチャ画像の解像度を正しく把握することができる。したがって、正しく3Dデータを再構築することができる。
 また、例えば、図5の表の上から4段目(項目名の段は除く)に記載の「方法3」のように、ジオメトリ画像とテクスチャ画像のパッチ毎の位置や解像度が、オキュパンシーマップのパッチ毎の位置や解像度と異なるようにしてもよい。なお、ジオメトリ画像とテクスチャ画像との間では、このパッチ毎の位置や解像度は互いに同一である。
 例えば、オキュパンシーマップにおけるあるパッチの対頂点の座標を(u0,v0)、(u1,v1)とし、ジオメトリ画像およびテクスチャ画像におけるそのパッチの対頂点の座標を(u'0,v'0)、(u'1,v'1)とし、それらを対応付けるようにしてもよい。つまり、各画像におけるパッチの範囲を示す情報を対応付けるようにしてもよい。
 このようにすることにより、例えば、領域毎の画質調整(解像度調整)が可能になる。したがって、後段のビデオコーデックの符号化効率を向上させることができる。
 なお、この場合、例えば、オキュパンシーマップの各パッチの情報(図4)に、u'0,v'0,u'1,v'1の情報を付加する(対応付ける)ようにしてもよい。例えば、上述のArithmetic encoded variablesに含まれる各パッチのu0,v0,u1,v1等の情報に、このu'0,v'0,u'1,v'1を追加するようにしてもよい。このようにすることにより、パッチ毎に対頂点の座標を管理することができる。したがって、復号側においても、各画像における所望のパッチに相当する領域(の範囲)を容易に把握することができる。
 また、例えば、図5の表の上から5段目(項目名の段は除く)に記載の「方法4」のように、ジオメトリ画像とテクスチャ画像とで、パッチ毎の位置や解像度が互いに異なるようにしてもよい。
 例えば、オキュパンシーマップにおけるあるパッチの対頂点の座標を(u0,v0)、(u1,v1)とし、ジオメトリ画像におけるそのパッチの対頂点の座標を(ug0,vg0)、(ug1,vg1)とし、テクスチャ画像におけるそのパッチの対頂点の座標を(ut0,vt0)、(ut1,vt1)とし、それらを対応付けるようにしてもよい。つまり、各画像におけるパッチの範囲を示す情報を対応付けるようにしてもよい。
 このようにすることにより、例えば、領域毎の画質調整(解像度調整)が可能になる。したがって、後段のビデオコーデックの符号化効率を向上させることができる。また、ジオメトリ画像とテクスチャ画像との解像度が互いに異なる3Dデータに対応することができる。また、主観画質への影響を考慮して符号化を行うことができるので、符号化効率の低減を抑制することができる。
 この場合、例えば、オキュパンシーマップの各パッチの情報(図4)に、ug0,vg0,ug1,vg1,ut0,vt0,ut1,vt1の情報を付加する(対応付ける)ようにしてもよい。例えば、上述のArithmetic encoded variablesに含まれる各パッチのu0,v0,u1,v1等の情報に、このug0,vg0,ug1,vg1,ut0,vt0,ut1,vt1を追加するようにしてもよい。このようにすることにより、パッチ毎に対頂点の座標を管理することができる。したがって、復号側においても、各画像における所望のパッチに相当する領域(の範囲)を容易に把握することができる。
 なお、復号側において、以上のように解像度や位置等が変更されたジオメトリ画像やテクスチャ画像を用いて3Dデータを再構築する場合、ジオメトリ画像やテクスチャ画像の位置や解像度をオキュパンシーマップのそれに合わせてからアンパッキングすることにより、従来と同様の方法で3Dデータを再構築することができる。
 ただし、これらの画像間で位置の対応が画素レベルで取れていれば、例えば、図5の表の上から6段目(項目名の段は除く)に記載の「方法5」のように、ジオメトリ画像やテクスチャ画像の画像調整(位置や解像度の変換)を行わずにアンパッキングして3Dデータを再構築することができる。したがって、復号側の処理の負荷の増大を抑制することができる。
 この場合、例えば、オキュパンシーマップに、そのオキュパンシーマップとジオメトリ画像やテクスチャ画像との間の画素対応関係のテーブル情報を付加する。このようにすることにより、このテーブル情報を用いて3Dデータの再構築を正しく行うことができる。
  <符号化装置>
 次に、以上のような各手法を実現する構成について説明する。図7は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図7に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置である。
 例えば、符号化装置100は、非特許文献1乃至非特許文献6に記載されている技術を実装し、それらの文献のいずれかに記載された規格に準拠した方法で3Dデータの符号化を行う。
 なお、図7においては、処理部やデータの流れ等の主なものを示しており、図7に示されるものが全てとは限らない。つまり、符号化装置100において、図7においてブロックとして示されていない処理部が存在したり、図7において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図7に示されるように符号化装置100は、パッチ分解部111、パッキング部112、補助パッチ情報圧縮部113、ジオメトリビデオ符号化部114、テクスチャビデオ符号化部115、OMap符号化部116、およびマルチプレクサ117を有する。
 パッチ分解部111は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部111は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド)を取得する(矢印131)。また、パッチ分解部111は、取得したその3Dデータを複数のパッチに分解し、そのパッチ毎に3Dデータを2次元平面に投影し、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを生成する。
 パッチ分解部111は、それらをパッキング部112に供給する(矢印132)。また、パッチ分解部111は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部113に供給する(矢印133)。
 パッキング部112は、データのパッキングに関する処理を行う。例えば、パッキング部112は、パッチ分解部111から供給されるジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを取得する(矢印132)。また、パッキング部112は、取得したジオメトリ画像、テクスチャ画像、およびオキュパンシーマップをそれぞれビデオフレームとしてパッキングする。
 パッキング部112は、生成したビデオフレームを後段の処理部に供給する。例えば、パッキング部112は、生成したジオメトリ画像のビデオフレームをジオメトリビデオ符号化部114に供給する(矢印134)。また、例えば、パッキング部112は、生成したテクスチャ画像のビデオフレームをテクスチャビデオ符号化部115に供給する(矢印136)。さらに、例えば、パッキング部112は、生成したオキュパンシーマップのビデオフレームをOMap符号化部116に供給する(矢印139)。
 補助パッチ情報圧縮部113は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部113は、パッチ分解部111から供給されるデータを取得する(矢印133)。補助パッチ情報圧縮部113は、取得したデータに含まれる補助パッチ情報を符号化(圧縮)する。補助パッチ情報圧縮部113は、得られた補助パッチ情報の符号化データをマルチプレクサ117に供給する(矢印140)。
 ジオメトリビデオ符号化部114は、ジオメトリ画像のビデオフレームの符号化に関する処理を行う。例えば、ジオメトリビデオ符号化部114は、パッキング部112から供給されるジオメトリ画像のビデオフレームを取得する(矢印134)。また、ジオメトリビデオ符号化部114は、その取得したジオメトリ画像のビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ジオメトリビデオ符号化部114は、その符号化により得られた符号化データ(ジオメトリ画像のビデオフレームの符号化データ)をマルチプレクサ117に供給する(矢印141)。
 テクスチャビデオ符号化部115は、テクスチャ画像のビデオフレームの符号化に関する処理を行う。例えば、テクスチャビデオ符号化部115は、パッキング部112から供給されるテクスチャ画像のビデオフレームを取得する(矢印136)。また、テクスチャビデオ符号化部115は、その取得したテクスチャ画像のビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。テクスチャビデオ符号化部115は、その符号化により得られた符号化データ(テクスチャ画像のビデオフレームの符号化データ)をマルチプレクサ117に供給する(矢印142)。
 OMap符号化部116は、オキュパンシーマップのビデオフレームの符号化に関する処理を行う。例えば、OMap符号化部116は、パッキング部112から供給されるオキュパンシーマップのビデオフレームを取得する(矢印139)。また、OMap符号化部116は、その取得したオキュパンシーマップのビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。OMap符号化部116は、その符号化により得られた符号化データ(オキュパンシーマップのビデオフレームの符号化データ)をマルチプレクサ117に供給する(矢印143)。
 マルチプレクサ117は、多重化に関する処理を行う。例えば、マルチプレクサ117は、補助パッチ情報圧縮部113から供給される補助パッチ情報の符号化データを取得する(矢印140)。また、例えば、マルチプレクサ117は、ジオメトリビデオ符号化部114から供給されるジオメトリ画像のビデオフレームの符号化データを取得する(矢印141)。また、例えば、マルチプレクサ117は、テクスチャビデオ符号化部115から供給されるテクスチャ画像のビデオフレームの符号化データを取得する(矢印142)。また、例えば、マルチプレクサ117は、OMap符号化部116から供給されるオキュパンシーマップのビデオフレームの符号化データを取得する(矢印143)。
 マルチプレクサ117は、取得したそれらの情報を多重化して、ビットストリームを生成する。マルチプレクサ117は、その生成したビットストリームを符号化装置100の外部に出力する(矢印144)。
 図7に示されるように、パッキング部112は、ジオメトリパッキング部121、テクスチャパッキング部122、OMapパッキング部123、およびマルチプレクサ124を有する。
 ジオメトリパッキング部121は、ジオメトリ画像のパッキングに関する処理を行う。例えば、ジオメトリパッキング部121は、パッチ分解部111から供給されるジオメトリ画像を取得する(矢印132)。ジオメトリパッキング部121は、その取得したジオメトリ画像をビデオフレームとしてパッキングする。ジオメトリパッキング部121は、得られたジオメトリ画像のビデオフレームをジオメトリビデオ符号化部114に供給する(矢印134)。また、ジオメトリパッキング部121は、そのジオメトリ画像に関する情報(例えばアドレス等の情報)をマルチプレクサ124に供給する(矢印135)。
 テクスチャパッキング部122は、テクスチャ画像のパッキングに関する処理を行う。例えば、テクスチャパッキング部122は、パッチ分解部111から供給されるテクスチャ画像を取得する(矢印132)。テクスチャパッキング部122は、その取得したテクスチャ画像をビデオフレームとしてパッキングする。テクスチャパッキング部122は、得られたテクスチャ画像のビデオフレームをテクスチャビデオ符号化部115に供給する(矢印136)。また、テクスチャパッキング部122は、そのテクスチャ画像に関する情報(例えばアドレス等の情報)をマルチプレクサ124に供給する(矢印137)。
 OMapパッキング部123は、オキュパンシーマップのパッキングに関する処理を行う。例えば、OMapパッキング部123は、パッチ分解部111から供給されるオキュパンシーマップを取得する(矢印132)。OMapパッキング部123は、その取得したオキュパンシーマップをビデオフレームとしてパッキングする。OMapパッキング部123は、得られたオキュパンシーマップのビデオフレームをマルチプレクサ124に供給する(矢印138)。
 マルチプレクサ124は、多重化に関する処理を行う。例えば、マルチプレクサ124は、ジオメトリパッキング部121からジオメトリ画像に関する情報を取得する(矢印135)。また、マルチプレクサ124は、テクスチャパッキング部122からテクスチャ画像に関する情報を取得する(矢印137)。さらに、マルチプレクサ124は、OMapパッキング部123からオキュパンシーマップのビデオフレーム等の情報を取得する(矢印138)。
 マルチプレクサ124は、それらの情報を多重化する。つまり、マルチプレクサ124は、ジオメトリ画像やテクスチャ画像に関する情報を、オキュパンシーマップのビデオフレームに埋め込む。マルチプレクサ124は、このようにジオメトリ画像やテクスチャ画像に関する情報が多重化されたオキュパンシーマップのビデオフレームを、OMap符号化部116に供給する(矢印139)。
 このように、パッキング部112は、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップのそれぞれを、互いに独立したパッキング部によりパッキングする。つまり、パッキング部112は、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップのそれぞれを、互いに独立してパッキングすることができる。つまり、パッキング部112は、例えば、ジオメトリ画像やテクスチャ画像におけるフレームレベルの解像度や各パッチの位置および解像度等がオキュパンシーマップにおけるそれとは異なるようにして、パッキングを行うことができる。
  <復号装置>
 図8は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図8に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3次元空間に投影する装置である。
 例えば、復号装置200は、非特許文献1乃至非特許文献6に記載されている技術を実装し、それらの文献のいずれかに記載された規格に準拠した方法で3Dデータの符号化データの復号を行う。
 なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、復号装置200において、図8においてブロックとして示されていない処理部が存在したり、図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図8に示されるように復号装置200は、デマルチプレクサ211、補助パッチ情報復号部212、ジオメトリビデオ復号部213、テクスチャビデオ復号部214、OMap復号部215、アンパッキング部216、および3D再構築部217を有する。
 デマルチプレクサ211は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ211は、復号装置200に入力されるビットストリームを取得する(矢印231)。このビットストリームは、例えば、符号化装置100より供給される。デマルチプレクサ211は、このビットストリームを逆多重化し、補助パッチ情報の符号化データを抽出し、それを補助パッチ情報復号部212に供給する(矢印232)。また、デマルチプレクサ211は、逆多重化によりビットストリームからジオメトリ画像のビデオフレームの符号化データを抽出し、それをジオメトリビデオ復号部213に供給する(矢印233)。さらに、デマルチプレクサ211は、逆多重化によりビットストリームからテクスチャ画像のビデオフレームの符号化データを抽出し、それをテクスチャビデオ復号部214に供給する(矢印234)。また、デマルチプレクサ211は、逆多重化によりビットストリームからオキュパンシーマップのビデオフレームの符号化データを抽出し、それをOMap復号部215に供給する(矢印235)。
 補助パッチ情報復号部212は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部212は、デマルチプレクサ211から供給される補助パッチ情報の符号化データを取得する(矢印232)。また、補助パッチ情報復号部212は、その取得したデータに含まれる補助パッチ情報の符号化データを復号する。補助パッチ情報復号部212は、その復号により得られた補助パッチ情報を3D再構築部217に供給する(矢印236)。
 ジオメトリビデオ復号部213は、ジオメトリ画像のビデオフレームの符号化データの復号に関する処理を行う。例えば、ジオメトリビデオ復号部213は、デマルチプレクサ211から供給されるジオメトリ画像のビデオフレームの符号化データを取得する(矢印233)。また、例えば、ジオメトリビデオ復号部213は、その取得した符号化データを復号し、ジオメトリ画像のビデオフレームを得る。ジオメトリビデオ復号部213は、そのジオメトリ画像のビデオフレームを、アンパッキング部216に供給する(矢印237)。
 テクスチャビデオ復号部214は、テクスチャ画像のビデオフレームの符号化データの復号に関する処理を行う。例えば、テクスチャビデオ復号部214は、デマルチプレクサ211から供給されるテクスチャ画像のビデオフレームの符号化データを取得する(矢印234)。また、例えば、テクスチャビデオ復号部214は、その取得した符号化データを復号し、テクスチャ画像のビデオフレームを得る。テクスチャビデオ復号部214は、そのテクスチャ画像のビデオフレームを、アンパッキング部216に供給する(矢印238)。
 OMap復号部215は、オキュパンシーマップのビデオフレームの符号化データの復号に関する処理を行う。例えば、OMap復号部215は、デマルチプレクサ211から供給されるオキュパンシーマップのビデオフレームの符号化データを取得する(矢印235)。また、例えば、OMap復号部215は、その取得した符号化データを復号し、オキュパンシーマップのビデオフレームを得る。OMap復号部215は、そのオキュパンシーマップのビデオフレームを、アンパッキング部216に供給する(矢印239)。
 アンパッキング部216は、アンパッキングに関する処理を行う。例えば、アンパッキング部216は、ジオメトリビデオ復号部213からジオメトリ画像のビデオフレームを取得し(矢印237)、テクスチャビデオ復号部214からテクスチャのビデオフレームを取得し(矢印238)、OMap復号部215からオキュパンシーマップのビデオフレームを取得する(矢印239)。アンパッキング部216は、これらのビデオフレームをアンパッキングする。アンパッキング部216は、アンパッキングして得られた、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを、3D再構築部217に供給する(矢印245)。
 3D再構築部217は、3Dデータの再構築に関する処理を行う。例えば、3D再構築部217は、補助パッチ情報復号部212から供給される補助パッチ情報を取得する(矢印236)。また、3D再構築部217は、アンパッキング部216から供給されるジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを取得する(矢印245)。3D再構築部217は、それらの情報に基づいて、3Dデータを再構築する。3D再構築部217は、このような処理により得られた3Dデータを復号装置200の外部に出力する(矢印246)。
 この3Dデータは、例えば、表示部に供給されてその画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
 図8に示されるように、アンパッキング部216は、デマルチプレクサ221、ジオメトリ画像処理部222、テクスチャ画像処理部223、およびアンパッキング部224を有する。
 デマルチプレクサ221は、逆多重化に関する処理を行う。例えば、デマルチプレクサ221は、OMap復号部215から供給されるオキュパンシーマップのビデオフレームを取得する(矢印239)。デマルチプレクサ221は、そのオキュパンシーマップのビデオフレームを逆多重化し、ジオメトリ画像に関する情報やテクスチャ画像に関する情報を抽出する。ジオメトリ画像に関する情報やテクスチャ画像に関する情報には、例えばアドレス情報等が含まれる。
 デマルチプレクサ221は、抽出したジオメトリ画像に関する情報をジオメトリ画像処理部222に供給する(矢印240)。また、デマルチプレクサ221は、抽出したテクスチャ画像に関する情報をテクスチャ画像処理部223に供給する(矢印241)。また、デマルチプレクサ221は、オキュパンシーマップのビデオフレームをアンパッキング部224に供給する(矢印242)。
 ジオメトリ画像処理部222は、ジオメトリ画像に対する画像処理に関する処理を行う。例えば、ジオメトリ画像処理部222は、ジオメトリビデオ復号部213から供給されるジオメトリ画像のビデオフレームを取得する(矢印237)。また、ジオメトリ画像処理部222は、デマルチプレクサ221から供給されるジオメトリ画像に関する情報を取得する(矢印240)。
 ジオメトリ画像処理部222は、それらの情報に基づいて、ジオメトリ画像のビデオフレームに対して画像処理を施す。例えば、ジオメトリ画像処理部222は、その画像処理により、ジオメトリ画像の全体の解像度やパッチ毎の位置や解像度をオキュパンシーマップに合わせるように更新する。ジオメトリ画像処理部222は、その画像処理が行われたジオメトリ画像のビデオフレームをアンパッキング部224に供給する(矢印243)。
 また、テクスチャ画像処理部223はテクスチャ画像に対する画像処理に関する処理を行う。例えば、テクスチャ画像処理部223は、テクスチャビデオ復号部214から供給されるテクスチャ画像のビデオフレームを取得する(矢印238)。また、テクスチャ画像処理部223は、デマルチプレクサ221から供給されるテクスチャ画像に関する情報を取得する(矢印241)。
 テクスチャ画像処理部223は、それらの情報に基づいて、テクスチャ画像のビデオフレームに対して画像処理を施す。例えば、テクスチャ画像処理部223は、その画像処理により、テクスチャ画像の全体の解像度やパッチ毎の位置や解像度をオキュパンシーマップに合わせるように更新する。テクスチャ画像処理部223は、その画像処理が行われたテクスチャ画像のビデオフレームをアンパッキング部224に供給する(矢印244)。
 アンパッキング部224は、アンパッキングに関する処理を行う。例えば、アンパッキング部224は、デマルチプレクサ221から供給されるオキュパンシーマップのビデオフレームを取得する(矢印242)。また、アンパッキング部224は、ジオメトリ画像処理部222から供給されるジオメトリ画像のビデオフレームを取得する(矢印243)。さらに、アンパッキング部224は、テクスチャ画像処理部223から供給されるテクスチャ画像のビデオフレームを取得する(矢印244)。
 アンパッキング部224は、それらをそれぞれアンパッキングする。つまり、アンパッキング部224は、ジオメトリ画像のビデオフレームをアンパッキングし、ジオメトリ画像を得る。また、アンパッキング部224は、テクスチャ画像のビデオフレームをアンパッキングし、テクスチャ画像を得る。さらに、アンパッキング部224は、オキュパンシーマップのビデオフレームをアンパッキングし、オキュパンシーマップを得る。
 アンパッキング部224は、このような処理により得られたデータ、例えば、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップ等の情報を、3D再構築部217に供給する(矢印245)。
 つまり、アンパッキング部216は、必要に応じて、ジオメトリ画像やテクスチャ画像の解像度、そのパッチ毎の位置や解像度等を、オキュパンシーマップに合わせるように更新する。つまり、アンパッキング部216(アンパッキング部224)は、ジオメトリ画像、テクスチャ画像、オキュパンシーマップの間で画像全体の解像度やパッチ毎の位置や解像度等が互いに同一である状態(例えば図6の例の状態)においてアンパッキングを行う。したがって、アンパッキング部216は、正しくアンパッキングを行うことができる。
 次に、図5に示した各方法の詳細について説明する。
 <2.第1の実施の形態>
  <共通全体解像度>
 図5の表に示される方法1について説明する。この場合、ジオメトリ画像とテクスチャ画像のフレームレベルの解像度がオキュパンシーマップの解像度と異なる。例えば、図9に示されるように、オキュパンシーマップ301のサイズがW*Hであり、ジオメトリ画像302とテクスチャ画像303のサイズがαW*βHである。
 このような場合において、符号化装置100のマルチプレクサ124は、多重化を行うことにより、ジオメトリ画像およびテクスチャ画像と、オキュパンシーマップとの間の、解像度の対応関係を示す情報と、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する。
 この解像度の対応関係を示す情報は、水平方向の解像度の対応関係を示す情報と、垂直方向の解像度の対応関係を示す情報とを含む。この水平方向の解像度の対応関係を示す情報には、例えば、上述の変数αが含まれる。また、この垂直方向の解像度の対応関係を示す情報には、例えば、上述の変数βが含まれる。つまり、例えば、変数αおよびβがビットストリームにシグナルされる(ビットストリームに格納され復号側に提供される)。このような情報は、例えば、ビットストリームのヘッダに格納されるようにしてもよい。
  <符号化処理の流れ>
 この場合の符号化装置100が実行する符号化処理の流れの例を、図10のフローチャートを参照して説明する。
 符号化処理が開始されると、パッチ分解部111は、ステップS101において、入力される3Dデータをパッチに分解し、そのパッチ毎に2次元平面に投影し、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを生成する。ステップS102において、補助パッチ情報圧縮部113は、補助パッチ情報を圧縮する。
 ステップS103において、パッキング部112は、ステップS101において得られたジオメトリ画像、テクスチャ画像、およびオキュパンシーマップをそれぞれパッキングする。
 ステップS104において、ジオメトリビデオ符号化部114は、ステップS103においてジオメトリ画像がパッキングされて得られたジオメトリ画像のビデオフレームであるジオメトリビデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS105において、テクスチャビデオ符号化部115は、ステップS103においてテクスチャ画像がパッキングされて得られたテクスチャ画像のビデオフレームであるカラービデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS106において、OMap符号化部116は、ステップS103において得られたパッキングされたオキュパンシーマップを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS107において、マルチプレクサ117は、ステップS102、ステップS104、ステップS105、およびステップS106において得られた各種データを多重化し、それらを含むビットストリームを生成する。
 ステップS108において、マルチプレクサ117は、そのビットストリームのヘッダに、ジオメトリ画像およびテクスチャ画像の(フレームレベルの)解像度に関する情報を付加する。例えば、マルチプレクサ117は、このような情報として、ジオメトリ画像およびテクスチャ画像と、オキュパンシーマップとの間の、解像度の対応関係を示す情報をビットストリーム(のヘッダ)に付加する。
 ステップS109において、マルチプレクサ117は、以上のように生成されたビットストリーム(つまり、ジオメトリ画像およびテクスチャ画像の解像度に関する情報を含むビットストリーム)を、符号化装置100の外部に出力する。
 ステップS109の処理が終了すると符号化処理が終了する。
  <パッキング処理の流れ>
 次に、図11のフローチャートを参照して、図10のステップS103において実行されるパッキング処理の流れの例を説明する。
 パッキング処理が開始されると、ジオメトリパッキング部121は、ステップS121において、ジオメトリ画像をパッキングする。
 ステップS122において、テクスチャパッキング部122は、テクスチャ画像をパッキングする。
 ステップS123において、OMapパッキング部123は、オキュパンシーマップをパッキングする。
 ステップS124において、ジオメトリパッキング部121(またはテクスチャパッキング部122)は、ジオメトリ画像およびテクスチャ画像のフレームレベルの解像度に関する情報を生成する。例えば、ジオメトリパッキング部121(またはテクスチャパッキング部122)は、そのような情報として、ジオメトリ画像およびテクスチャ画像と、オキュパンシーマップとの間の、解像度の対応関係を示す情報を生成する。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS124の処理が終了すると、パッキング処理が終了し、処理は図10に戻る。
 以上のように各処理を実行することにより、符号化装置100は、ジオメトリ画像およびテクスチャ画像のフレームレベルの解像度をオキュパンシーマップと異なる解像度とすることができる。また、符号化装置100は、そのような各画像の符号化データと、ジオメトリ画像およびテクスチャ画像のフレームレベルの解像度に関する情報とを含むビットストリームを生成することができる。
 したがって、例えば、PピクチャやBピクチャの品質(解像度等)を低減させ、Iピクチャの品質(解像度等)を向上させる等、ピクチャの種類に応じた品質制御が可能になる。したがって、符号化効率の低減を抑制することができる。
  <復号処理の流れ>
 以上のように生成されたビットストリームを復号する場合、復号装置200のアンパッキング部216は、そのビットストリームに含まれる、ジオメトリ画像およびテクスチャ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、ジオメトリ画像およびテクスチャ画像の解像度を、オキュパンシーマップと同一の解像度に変更し、解像度変更後のジオメトリ画像のビデオフレーム、解像度変更後のテクスチャ画像のビデオフレーム、およびオキュパンシーマップのそれぞれをアンパッキングする。
 この場合の復号装置200により実行される復号処理の流れの例を、図12のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200のデマルチプレクサ211は、ステップS141において、入力されたビットストリームを逆多重化し、そのビットストリームから、補助パッチ情報の符号化データ、ジオメトリ画像のビデオフレームの符号化データ、テクスチャ画像のビデオフレームの符号化データ、およびオキュパンシーマップの符号化データ等を抽出する。
 ステップS142において、補助パッチ情報復号部212は、ステップS141において抽出された補助パッチ情報の符号化データを復号する。ステップS143において、ジオメトリビデオ復号部213は、ステップS141において抽出されたジオメトリビデオフレームの符号化データを復号する。
 ステップS144において、テクスチャビデオ復号部214は、ステップS141において抽出されたカラービデオフレームの符号化データを復号する。ステップS145において、OMap復号部215は、ステップS141において抽出されたオキュパンシーマップの符号化データを復号する。
 ステップS146において、アンパッキング部216は、ステップS143において得られたジオメトリビデオフレーム、ステップS144において得られたカラービデオフレーム、およびステップS145において得られたオキュパンシーマップをそれぞれアンパッキングする。
 ステップS147において、3D再構築部217は、ステップS146においてアンパッキングされた得られた各種情報に基づいて、ポイントクラウドを再構築する。
 ステップS147の処理が終了すると復号処理が終了する。
  <アンパッキング処理の流れ>
 次に、図13のフローチャートを参照して、図12のステップS146において実行されるアンパッキング処理の流れの例を説明する。
 アンパッキング処理が開始されると、ジオメトリ画像処理部222は、ステップS161において、画像処理を施して、ジオメトリ画像の解像度をオキュパンシーマップの解像度に合わせる。
 ステップS162において、テクスチャ画像処理部223は、画像処理を施して、テクスチャ画像の解像度をオキュパンシーマップの解像度に合わせる。
 ステップS163において、アンパッキング部224は、ステップS161およびステップS162の処理により、解像度(サイズ)が互いに同一とされたジオメトリ画像(ジオメトリビデオフレーム)、テクスチャ画像(カラービデオフレーム)、およびオキュパンシーマップをアンパッキングする。
 ステップS163の処理が終了するとアンパッキング処理が終了し、処理は図12に戻る。
 以上のように各処理を実行することにより、アンパッキング部216は、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップの解像度を互いに同一としてアンパッキングすることができる。したがって、アンパッキング部224は、従来と同様の方法により容易にアンパッキングを行うことができる。
 したがって、例えば、PピクチャやBピクチャの品質(解像度等)を低減させ、Iピクチャの品質(解像度等)を向上させる等、ピクチャの種類に応じた品質制御が可能になる。したがって、符号化効率の低減を抑制することができる。
 <3.第2の実施の形態>
  <個別全体解像度>
 図5の表に示される方法2について説明する。この場合、ジオメトリ画像とテクスチャ画像のフレームレベルの解像度がオキュパンシーマップの解像度と異なる。さらに、ジオメトリ画像の解像度とテクスチャ画像の解像度とを互いに異なる。例えば、図14に示されるように、オキュパンシーマップ321のサイズがW*Hであり、ジオメトリ画像322のサイズがαgW*βgHであり、テクスチャ画像323のサイズがαtW*βtHである。
 このような場合において、符号化装置100のマルチプレクサ124は、多重化を行うことにより、ジオメトリ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報と、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する。
 例えば、ジオメトリ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報には、上述の変数αgや変数βgが含まれる。また、テクスチャ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報には、上述の変数αtや変数βtが含まれる。つまり、例えば、これらの変数αg、変数βg、変数αt、変数βtがビットストリームにシグナルされる(ビットストリームに格納され復号側に提供される)。このような情報は、例えば、ビットストリームのヘッダに格納されるようにしてもよい。
  <符号化処理の流れ>
 この場合の符号化装置100が実行する符号化処理の流れの例を、図15のフローチャートを参照して説明する。
 符号化処理が開始されると、パッチ分解部111は、ステップS181において、入力される3Dデータをパッチに分解し、そのパッチ毎に2次元平面に投影し、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを生成する。ステップS182において、補助パッチ情報圧縮部113は、補助パッチ情報を圧縮する。
 ステップS183において、パッキング部112は、ステップS181において得られたジオメトリ画像、テクスチャ画像、およびオキュパンシーマップをそれぞれパッキングする。
 ステップS184において、ジオメトリビデオ符号化部114は、ステップS183においてジオメトリ画像がパッキングされて得られたジオメトリ画像のビデオフレームであるジオメトリビデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS185において、テクスチャビデオ符号化部115は、ステップS183においてテクスチャ画像がパッキングされて得られたテクスチャ画像のビデオフレームであるカラービデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS186において、OMap符号化部116は、ステップS183において得られたパッキングされたオキュパンシーマップを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS187において、マルチプレクサ117は、ステップS182、ステップS184、ステップS185、およびステップS186において得られた各種データを多重化し、それらを含むビットストリームを生成する。
 ステップS188において、マルチプレクサ117は、そのビットストリームのヘッダに、ジオメトリ画像の(フレームレベルの)解像度に関する情報と、テクスチャ画像の(フレームレベルの)解像度に関する情報とを付加する。例えば、マルチプレクサ117は、このような情報として、ジオメトリ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報とをビットストリーム(のヘッダ)に付加する。
 ステップS189において、マルチプレクサ117は、以上のように生成されたビットストリーム(つまり、ジオメトリ画像の解像度に関する情報とテクスチャ画像の解像度に関する情報とを含むビットストリーム)を、符号化装置100の外部に出力する。
 ステップS189の処理が終了すると符号化処理が終了する。
  <パッキング処理の流れ>
 次に、図16のフローチャートを参照して、図15のステップS183において実行されるパッキング処理の流れの例を説明する。
 パッキング処理が開始されると、ジオメトリパッキング部121は、ステップS201において、ジオメトリ画像をパッキングする。
 ステップS202において、テクスチャパッキング部122は、テクスチャ画像をパッキングする。
 ステップS203において、OMapパッキング部123は、オキュパンシーマップをパッキングする。
 ステップS204において、ジオメトリパッキング部121は、ジオメトリ画像のフレームレベルの解像度に関する情報を生成する。例えば、ジオメトリパッキング部121は、そのような情報として、ジオメトリ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報を生成する。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS205において、テクスチャパッキング部122は、テクスチャ画像のフレームレベルの解像度に関する情報を生成する。例えば、テクスチャパッキング部122は、そのような情報として、テクスチャ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報を生成する。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS205の処理が終了すると、パッキング処理が終了し、処理は図15に戻る。
 以上のように各処理を実行することにより、符号化装置100は、ジオメトリ画像のフレームレベルの解像度をオキュパンシーマップと異なる解像度とすることができる。また、符号化装置100は、テクスチャ画像のフレームレベルの解像度をオキュパンシーマップと異なる解像度とすることができる。
 さらに、符号化装置100は、そのような各画像の符号化データと、ジオメトリ画像のフレームレベルの解像度に関する情報と、テクスチャ画像のフレームレベルの解像度に関する情報とを含むビットストリームを生成することができる。
 したがって、例えば、ジオメトリ画像とテクスチャ画像との解像度が互いに異なる3Dデータに対応することができる。また、主観画質への影響を考慮して符号化を行うことができるので、符号化効率の低減を抑制することができる。
  <復号処理・アンパッキング処理>
 以上のように生成されたビットストリームを復号する場合、復号装置200のアンパッキング部216は、そのビットストリームに含まれる、ジオメトリ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、ジオメトリ画像の解像度をオキュパンシーマップと同一の解像度に変更し、テクスチャ画像とオキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、テクスチャ画像の解像度をオキュパンシーマップと同一の解像度に変更し、解像度変更後のジオメトリ画像のビデオフレーム、解像度変更後のテクスチャ画像のビデオフレーム、およびオキュパンシーマップのそれぞれをアンパッキングする。
 なお、この場合の復号処理やアンパッキング処理は、第1の実施の形態の場合と同様に行うことができる。したがってその説明は省略する。
 各処理を実行することにより、アンパッキング部216は、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップの解像度を互いに同一としてアンパッキングすることができる。したがって、アンパッキング部224は、従来と同様の方法により容易にアンパッキングを行うことができる。
 したがって、例えば、ジオメトリ画像とテクスチャ画像との解像度が互いに異なる3Dデータに対応することができる。また、主観画質への影響を考慮して符号化を行うことができるので、符号化効率の低減を抑制することができる。
 <4.第3の実施の形態>
  <共通パッチ位置・解像度>
 図5の表に示される方法3について説明する。この場合、ジオメトリ画像とテクスチャ画像のパッチ毎の位置や解像度が、オキュパンシーマップのパッチ毎の位置や解像度と異なる。なお、ジオメトリ画像とテクスチャ画像との間では、このパッチ毎の位置や解像度は互いに同一である。
 例えば、図17に示されるように、オキュパンシーマップ331における所定のパッチの範囲の対頂点の座標が(u0,v0)、(u1,v1)であり、ジオメトリ画像332およびテクスチャ画像333におけるそのパッチの範囲の対頂点の座標が(u'0,v'0)、(u'1,v'1)である。
 このような場合において、符号化装置100のマルチプレクサ124は、多重化を行うことにより、ジオメトリ画像およびテクスチャ画像と、オキュパンシーマップとの間の、パッチ毎の位置および解像度の対応関係を示す情報と、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する。
 例えば、このパッチ毎の位置および解像度の対応関係を示す情報には、そのパッチの矩形領域の対頂点の座標が含まれるようにしてもよい。例えば、上述のu'0,v'0,u'1,v'1等が含まれるようにしてもよい。つまり、例えば、これらの座標u'0,v'0,u'1,v'1がビットストリームにシグナルされる(ビットストリームに格納され復号側に提供される)。このような情報は、例えば、オキュパンシーマップの各パッチの情報に付加されるようにしてもよい。
  <符号化処理の流れ>
 この場合の符号化装置100が実行する符号化処理の流れの例を、図18のフローチャートを参照して説明する。
 符号化処理が開始されると、パッチ分解部111は、ステップS221において、入力される3Dデータをパッチに分解し、そのパッチ毎に2次元平面に投影し、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを生成する。ステップS222において、補助パッチ情報圧縮部113は、補助パッチ情報を圧縮する。
 ステップS223において、パッキング部112は、ステップS221において得られたジオメトリ画像、テクスチャ画像、およびオキュパンシーマップをそれぞれパッキングする。
 ステップS224において、ジオメトリビデオ符号化部114は、ステップS223においてジオメトリ画像がパッキングされて得られたジオメトリ画像のビデオフレームであるジオメトリビデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS225において、テクスチャビデオ符号化部115は、ステップS223においてテクスチャ画像がパッキングされて得られたテクスチャ画像のビデオフレームであるカラービデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS226において、OMap符号化部116は、ステップS223において得られたパッキングされたオキュパンシーマップを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS227において、マルチプレクサ117は、ステップS222、ステップS224、ステップS225、およびステップS226において得られた各種データを多重化し、それらを含むビットストリームを生成する。
 ステップS228において、マルチプレクサ117は、以上のように生成されたビットストリーム(つまり、ジオメトリ画像およびテクスチャ画像の解像度に関する情報を含むビットストリーム)を、符号化装置100の外部に出力する。
 ステップS228の処理が終了すると符号化処理が終了する。
  <パッキング処理の流れ>
 次に、図19のフローチャートを参照して、図18のステップS223において実行されるパッキング処理の流れの例を説明する。
 パッキング処理が開始されると、ジオメトリパッキング部121は、ステップS241において、ジオメトリ画像をパッキングする。
 ステップS242において、テクスチャパッキング部122は、テクスチャ画像をパッキングする。
 ステップS243において、OMapパッキング部123は、オキュパンシーマップをパッキングする。
 ステップS244において、マルチプレクサ124は、各パッチのジオメトリ画像(テクスチャ画像)における座標に関する情報をオキュパンシーマップに付加し、各パッチのジオメトリ画像(テクスチャ画像)における座標とオキュパンシーマップにおける座標とを対応付ける。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS244の処理が終了すると、パッキング処理が終了し、処理は図18に戻る。
 以上のように各処理を実行することにより、符号化装置100は、ジオメトリ画像とテクスチャ画像のパッチ毎の位置や解像度が、オキュパンシーマップのパッチ毎の位置や解像度と異なるようにすることができる。また、符号化装置100は、そのような各画像の符号化データと、ジオメトリ画像およびテクスチャ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報とを含むビットストリームを生成することができる。
 したがって、例えば、領域毎の画質調整(解像度調整)が可能になる。したがって、後段のビデオコーデックの符号化効率を向上させることができる。
  <復号処理の流れ>
 以上のように生成されたビットストリームを復号する場合、復号装置200のアンパッキング部216は、そのビットストリームに含まれる、パッチ毎の位置および解像度の対応関係を示す情報に基づいて、ジオメトリ画像およびテクスチャ画像の各パッチの位置および解像度をオキュパンシーマップに合わせるように変更し、そのパッチ毎の位置および解像度の変更後のジオメトリ画像のビデオフレーム、そのパッチ毎の位置および解像度の変更後のテクスチャ画像のビデオフレーム、およびオキュパンシーマップのそれぞれをアンパッキングする。
 なお、この場合の復号処理は、第1の実施の形態の場合と同様に行うことができる。したがってその説明は省略する。
  <アンパッキング処理の流れ>
 次に、図20のフローチャートを参照して、図12のステップS146において実行されるアンパッキング処理の流れの例を説明する。
 アンパッキング処理が開始されると、ジオメトリ画像処理部222(またはテクスチャ画像処理部223)は、ステップS261において、未処理のパッチから処理対象を選択する。
 ステップS262において、ジオメトリ画像処理部222(またはテクスチャ画像処理部223)は、処理対象パッチの、ジオメトリ画像(テクスチャ画像)およびオキュパンシーマップにおける座標を、オキュパンシーマップから取得する。
 ステップS263において、ジオメトリ画像処理部222は、ジオメトリビデオフレームに対して画像処理を行い、ジオメトリ画像における処理対象パッチの位置および解像度を、オキュパンシーマップにおけるその処理対象パッチの位置および解像度に合わせる。
 ステップS264において、テクスチャ画像処理部223は、カラービデオフレームに対して画像処理を行い、テクスチャ画像における処理対象パッチの位置および解像度を、オキュパンシーマップにおけるその処理対象パッチの位置および解像度に合わせる。
 ステップS265において、ジオメトリ画像処理部222(またはテクスチャ画像処理部223)は、全てのパッチを処理したか否かを判定する。未処理のパッチが存在すると判定された場合、処理はステップS261に戻り、新たな未処理のパッチについて、それ以降の処理が繰り返される。
 そして、ステップS265において、全てのパッチを処理したと判定された場合、処理はステップS266に進む。つまり、この状態において、ジオメトリ画像(およびテクスチャ画像)内の全てのパッチの位置および解像度が、オキュパンシーマップにおける位置および解像度と一致している。
 ステップS266において、アンパッキング部224は、ジオメトリ画像(ジオメトリビデオフレーム)、テクスチャ画像(カラービデオフレーム)、およびオキュパンシーマップをアンパッキングする。
 ステップS266の処理が終了するとアンパッキング処理が終了し、処理は図12に戻る。
 以上のように各処理を実行することにより、アンパッキング部216は、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップの全てのパッチの位置および解像度を互いに同一としてアンパッキングすることができる。したがって、アンパッキング部224は、従来と同様の方法により容易にアンパッキングを行うことができる。
 したがって、例えば、領域毎の画質調整(解像度調整)が可能になる。したがって、後段のビデオコーデックの符号化効率を向上させることができる。
 <5.第4の実施の形態>
  <個別パッチ位置・解像度>
 図5の表に示される方法4について説明する。この場合、ジオメトリ画像とテクスチャ画像のパッチ毎の位置や解像度が、オキュパンシーマップのパッチ毎の位置や解像度と異なる。さらに、ジオメトリ画像とテクスチャ画像との間でも、このパッチ毎の位置や解像度は互いに異なる。
 例えば、図21に示されるように、オキュパンシーマップ341における所定のパッチの範囲の対頂点の座標が(u0,v0)、(u1,v1)であり、ジオメトリ画像342におけるそのパッチの範囲の対頂点の座標が(ug0,vg0)、(ug1,vg1)であり、テクスチャ画像343におけるそのパッチの範囲の対頂点の座標が(ut0,vt0)、(ut1,vt1)である。
 このような場合において、符号化装置100のマルチプレクサ124は、多重化を行うことにより、ジオメトリ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する。
 例えば、ジオメトリ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報には、上述の座標ug0,vg0,ug1,vg1が含まれる。また、テクスチャ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報には、上述の座標ut0,vt0,ut1,vt1が含まれるようにしてもよい。つまり、例えば、これらの座標ug0,vg0,ug1,vg1, ut0,vt0,ut1,vt1が、ビットストリームにシグナルされる(ビットストリームに格納され復号側に提供される)ようにしてもよい。このような情報は、例えば、オキュパンシーマップの各パッチの情報に付加されるようにしてもよい。
  <符号化処理の流れ>
 この場合の符号化装置100が実行する符号化処理は、第3の実施の形態の場合(図18)と同様に行うことができる。したがって、その説明を省略する。
  <パッキング処理の流れ>
 次に、図22のフローチャートを参照して、この場合の、図18のステップS223において実行されるパッキング処理の流れの例を説明する。
 パッキング処理が開始されると、ジオメトリパッキング部121は、ステップS281において、ジオメトリ画像をパッキングする。
 ステップS282において、テクスチャパッキング部122は、テクスチャ画像をパッキングする。
 ステップS283において、OMapパッキング部123は、オキュパンシーマップをパッキングする。
 ステップS284において、マルチプレクサ124は、各パッチのジオメトリ画像における座標に関する情報をオキュパンシーマップに付加し、各パッチのジオメトリ画像における座標とオキュパンシーマップにおける座標とを対応付ける。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS285において、マルチプレクサ124は、各パッチのテクスチャ画像における座標に関する情報をオキュパンシーマップに付加し、各パッチのテクスチャ画像における座標とオキュパンシーマップにおける座標とを対応付ける。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS285の処理が終了すると、パッキング処理が終了し、処理は図18に戻る。
 以上のように各処理を実行することにより、符号化装置100は、ジオメトリ画像のパッチ毎の位置や解像度が、オキュパンシーマップのパッチ毎の位置や解像度と異なるようにすることができる。また、符号化装置100は、テクスチャ画像のパッチ毎の位置や解像度が、オキュパンシーマップのパッチ毎の位置や解像度と異なるようにすることができる。
 さらに、符号化装置100は、そのような各画像の符号化データと、ジオメトリ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報とを含むビットストリームを生成することができる。
 したがって、例えば、領域毎の画質調整(解像度調整)が可能になる。したがって、後段のビデオコーデックの符号化効率を向上させることができる。また、ジオメトリ画像とテクスチャ画像との解像度が互いに異なる3Dデータに対応することができる。また、主観画質への影響を考慮して符号化を行うことができるので、符号化効率の低減を抑制することができる。
  <復号処理の流れ>
 以上のように生成されたビットストリームを復号する場合、復号装置200のアンパッキング部216は、そのビットストリームに含まれる、ジオメトリ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報に基づいて、そのジオメトリ画像の各パッチの位置および解像度をオキュパンシーマップに合わせるように変更し、テクスチャ画像とオキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報に基づいて、そのテクスチャ画像の各パッチの位置および解像度をオキュパンシーマップに合わせるように変更し、そのパッチ毎の位置および解像度の変更後のジオメトリ画像のビデオフレーム、そのパッチ毎の位置および解像度の変更後のテクスチャ画像のビデオフレーム、およびオキュパンシーマップのそれぞれをアンパッキングする。
 なお、この場合の復号処理は、第1の実施の形態の場合と同様に行うことができる。したがってその説明は省略する。
  <アンパッキング処理の流れ>
 次に、図23のフローチャートを参照して、図12のステップS146において実行されるアンパッキング処理の流れの例を説明する。
 アンパッキング処理が開始されると、ジオメトリ画像処理部222(またはテクスチャ画像処理部223)は、ステップS301において、未処理のパッチから処理対象を選択する。
 ステップS302において、ジオメトリ画像処理部222(またはテクスチャ画像処理部223)は、処理対象パッチの、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップにおける座標を、オキュパンシーマップから取得する。
 ステップS303において、ジオメトリ画像処理部222は、ジオメトリビデオフレームに対して画像処理を行い、ジオメトリ画像における処理対象パッチの位置および解像度を、オキュパンシーマップにおけるその処理対象パッチの位置および解像度に合わせる。
 ステップS304において、テクスチャ画像処理部223は、カラービデオフレームに対して画像処理を行い、テクスチャ画像における処理対象パッチの位置および解像度を、オキュパンシーマップにおけるその処理対象パッチの位置および解像度に合わせる。
 ステップS305において、ジオメトリ画像処理部222(またはテクスチャ画像処理部223)は、全てのパッチを処理したか否かを判定する。未処理のパッチが存在すると判定された場合、処理はステップS301に戻り、新たな未処理のパッチについて、それ以降の処理が繰り返される。
 そして、ステップS305において、全てのパッチを処理したと判定された場合、処理はステップS306に進む。つまり、この状態において、ジオメトリ画像およびテクスチャ画像内の全てのパッチの位置および解像度が、オキュパンシーマップにおける位置および解像度と一致している。
 ステップS306において、アンパッキング部224は、ジオメトリ画像(ジオメトリビデオフレーム)、テクスチャ画像(カラービデオフレーム)、およびオキュパンシーマップをアンパッキングする。
 ステップS306の処理が終了するとアンパッキング処理が終了し、処理は図12に戻る。
 以上のように各処理を実行することにより、アンパッキング部216は、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップの全てのパッチの位置および解像度を互いに同一としてアンパッキングすることができる。したがって、アンパッキング部224は、従来と同様の方法により容易にアンパッキングを行うことができる。
 したがって、例えば、領域毎の画質調整(解像度調整)が可能になる。したがって、後段のビデオコーデックの符号化効率を向上させることができる。また、ジオメトリ画像とテクスチャ画像との解像度が互いに異なる3Dデータに対応することができる。また、主観画質への影響を考慮して符号化を行うことができるので、符号化効率の低減を抑制することができる。
 <6.第5の実施の形態>
  <アンパッキング・3D再構築>
 図5の表に示される方法5について説明する。この場合、ジオメトリ画像やテクスチャ画像の画像調整(位置や解像度の変換)を行わずにアンパッキングして3Dデータを再構築する。ただし、この場合、例えば、オキュパンシーマップに、そのオキュパンシーマップとジオメトリ画像やテクスチャ画像との間の画素対応関係のテーブル情報が付加されており、復号側において、そのテーブル情報に基づいて、これらの画像間で位置の対応が画素レベルで取ることができるようになされている。
 上述の方法3を例に説明する。例えば、図24に示されるように、オキュパンシーマップ361における所定のパッチの範囲の対頂点の座標が(u0,v0)、(u1,v1)であり、テクスチャ画像362におけるそのパッチの範囲の対頂点の座標が(u'0,v'0)、(u'1,v'1)であるとする。この場合、テクスチャ画像362のこのパッチの位置および解像度は、テクスチャ363のように、オキュパンシーマップ361における位置および解像度と同一となるように更新される。
 したがって、この場合、従来と同様にアンパッキングを正しく行うことができるが、上述のような位置や解像度を更新する画像処理が必要である。
 これに対して、図25のオキュパンシーマップ371、ジオメトリ画像372、およびテクスチャ画像373のように、画像間で画素毎の対応関係が取れていれば、図24のような画像処理を行わずにアンパッキングして、3D再構築を行うことができる。
 つまり、この場合、符号化装置100は、オキュパンシーマップとジオメトリ画像やテクスチャ画像との間の画素対応関係のテーブル情報を生成し、それをビットストリーム(例えばオキュパンシーマップ)に付加する。そして、復号装置200は、そのテーブル情報に基づいて、ジオメトリ画像やテクスチャ画像の位置や解像度を更新するような画像処理を行わずに、アンパッキングおよび3D再構築を行う。
 符号化装置100は、図7を参照して説明した場合と同様の構成により、このような処理を行うことができる。
  <復号装置>
 図26は、この場合の復号装置200の主な構成例を示すブロック図である。この場合の復号装置200も、図8の場合と同様に、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3次元空間に投影する装置である。
 図26に示されるように、この場合の復号装置200は、基本的に、図8に示される場合と同様の構成を有するが、アンパッキング部216の代わりに、アンパッキング部411を有する。
 アンパッキング部411は、アンパッキング部224と同様の処理部であり、アンパッキングに関する処理を行う。例えば、アンパッキング部411は、ジオメトリビデオ復号部213から供給されるジオメトリビデオフレームを取得する(矢印237)。さらに、アンパッキング部411は、テクスチャビデオ復号部214から供給されるカラービデオフレームを取得する(矢印238)。また、アンパッキング部411は、OMap復号部215から供給されるオキュパンシーマップを取得する(矢印239)。
 アンパッキング部411は、それらをそれぞれアンパッキングする。つまり、アンパッキング部411は、ジオメトリビデオフレームをアンパッキングし、ジオメトリ画像を得る。また、アンパッキング部411は、カラービデオフレームをアンパッキングし、テクスチャ画像を得る。さらに、アンパッキング部411は、オキュパンシーマップのビデオフレームをアンパッキングし、オキュパンシーマップを得る。
 アンパッキング部411は、このような処理により得られたデータ、例えば、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップ等の情報を、3D再構築部217に供給する(矢印431)。
 なお、この3D再構築部217に供給されるジオメトリ画像、テクスチャ画像、およびオキュパンシーマップは、フレームレベルの解像度、または、パッチ単位の位置および解像度が互いに異なる。
 そこで、3D再構築部217は、ビットストリームに含まれる、オキュパンシーマップとジオメトリ画像やテクスチャ画像との間の画素対応関係のテーブル情報を取得し、そのテーブル情報に基づいて、3Dデータの再構築を行う。これにより、正しく3Dデータの再構築を行うことができる。
 つまり、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、そのジオメトリ画像、そのテクスチャ画像、およびそのオキュパンシーマップから3Dデータを再構築するようにする。
 例えば、画像処理装置において、ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、その3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、そのジオメトリ画像、そのテクスチャ画像、およびそのオキュパンシーマップから3Dデータを再構築する再構築部を備えるようにする。
 このようにすることにより、ジオメトリ画像やテクスチャ画像の画像調整(位置や解像度の変換)を行わずにアンパッキングして3Dデータを再構築することができる。したがって、復号側の処理の負荷の増大を抑制することができる。
 なお、上述のジオメトリ画像およびテクスチャ画像の内の少なくとも一方と、オキュパンシーマップとの対応関係を示す情報には、ジオメトリ画像とオキュパンシーマップとの間の画素毎の位置の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの間の画素毎の位置の対応関係を示す情報とを含むようにしてもよい。
  <符号化処理の流れ>
 この場合の符号化装置100が実行する符号化処理の流れの例を、図27のフローチャートを参照して説明する。
 符号化処理が開始されると、パッチ分解部111は、ステップS321において、入力される3Dデータをパッチに分解し、そのパッチ毎に2次元平面に投影し、ジオメトリ画像、テクスチャ画像、およびオキュパンシーマップを生成する。ステップS322において、補助パッチ情報圧縮部113は、補助パッチ情報を圧縮する。
 ステップS323において、パッキング部112は、ステップS321において得られたジオメトリ画像、テクスチャ画像、およびオキュパンシーマップをそれぞれパッキングする。
 ステップS324において、ジオメトリビデオ符号化部114は、ステップS323においてジオメトリ画像がパッキングされて得られたジオメトリ画像のビデオフレームであるジオメトリビデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS325において、テクスチャビデオ符号化部115は、ステップS323においてテクスチャ画像がパッキングされて得られたテクスチャ画像のビデオフレームであるカラービデオフレームを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS326において、OMap符号化部116は、ステップS323において得られたパッキングされたオキュパンシーマップを、例えばAVCやHEVC等任意の2次元画像用の符号化方法により符号化する。
 ステップS327において、マルチプレクサ117は、ステップS322、ステップS324、ステップS325、およびステップS326において得られた各種データを多重化し、それらを含むビットストリームを生成する。
 ステップS328において、マルチプレクサ117は、そのビットストリームのヘッダに、ジオメトリ画像とオキュパンシーマップとの画素の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの画素の対応関係を示す情報とを付加する。
 ステップS329において、マルチプレクサ117は、以上のように生成されたビットストリーム(つまり、ジオメトリ画像とオキュパンシーマップとの画素の対応関係を示す情報と、テクスチャ画像とオキュパンシーマップとの画素の対応関係を示す情報とを含むビットストリーム)を、符号化装置100の外部に出力する。
 ステップS329の処理が終了すると符号化処理が終了する。
  <パッキング処理の流れ>
 次に、図28のフローチャートを参照して、図27のステップS323において実行されるパッキング処理の流れの例を説明する。
 パッキング処理が開始されると、ジオメトリパッキング部121は、ステップS341において、ジオメトリ画像をパッキングする。
 ステップS342において、テクスチャパッキング部122は、テクスチャ画像をパッキングする。
 ステップS343において、OMapパッキング部123は、オキュパンシーマップをパッキングする。
 ステップS344において、ジオメトリパッキング部121は、ジオメトリ画像とオキュパンシーマップとの画素の対応関係を示す情報を生成する。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS345において、テクスチャパッキング部122は、テクスチャ画像とオキュパンシーマップとの画素の対応関係を示す情報を生成する。この情報は、上述したようにビットストリームに含められる(シグナルされる)。
 ステップS345の処理が終了すると、パッキング処理が終了し、処理は図27に戻る。
 以上のように各処理を実行することにより、符号化装置100は、オキュパンシーマップとジオメトリ画像やテクスチャ画像との間の画素対応関係のテーブル情報を生成し、それをビットストリーム(例えばオキュパンシーマップ)に付加することができる。
 したがって、復号側の処理の負荷の増大を抑制することができる。
  <復号処理の流れ>
 この場合の復号装置200(図26)により実行される復号処理の流れの例を、図29のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200のデマルチプレクサ211は、ステップS361において、入力されたビットストリームを逆多重化し、そのビットストリームから、補助パッチ情報の符号化データ、ジオメトリ画像のビデオフレームの符号化データ、テクスチャ画像のビデオフレームの符号化データ、およびオキュパンシーマップの符号化データ等を抽出する。
 ステップS362において、補助パッチ情報復号部212は、ステップS361において抽出された補助パッチ情報の符号化データを復号する。ステップS363において、ジオメトリビデオ復号部213は、ステップS361において抽出されたジオメトリビデオフレームの符号化データを復号する。
 ステップS364において、テクスチャビデオ復号部214は、ステップS361において抽出されたカラービデオフレームの符号化データを復号する。ステップS365において、OMap復号部215は、ステップS361において抽出されたオキュパンシーマップの符号化データを復号する。
 ステップS366において、アンパッキング部411は、ステップS363において得られたジオメトリビデオフレーム、ステップS364において得られたカラービデオフレーム、およびステップS365において得られたオキュパンシーマップをそれぞれアンパッキングする。
 ステップS367において、3D再構築部217は、ステップS366においてアンパッキングされた得られた各種情報に基づいて、ポイントクラウドを再構築する。
 ステップS367の処理が終了すると復号処理が終了する。
  <ポイントクラウド再構築処理の流れ>
 次に、図30のフローチャートを参照して、図29のステップS367において実行されるポイントクラウド再構築処理の流れの例を説明する。
 ポイントクラウド再構築処理が開始されると、3D再構築部217は、ステップS381において、未処理のパッチから処理対象を選択する。
 ステップS382において、3D再構築部217は、オキュパンシーマップの未処理の座標を処理対象に選択する。
 ステップS383において、3D再構築部217は、オキュパンシーマップの処理対象座標に対応するジオメトリ画像の画素値を取得する。
 ステップS384において、3D再構築部217は、オキュパンシーマップの処理対象座標に対応するテクスチャ画像の画素値を取得する。
 ステップS385において、3D再構築部217は、ステップS383およびステップS384において得られた画素値に基づいてポイントを再構成する。つまり、ポイントクラウドのポイントの位置情報および属性情報を生成する。
 ステップS386において、3D再構築部217は、処理対象のパッチの全ての画素を処理したか否かを判定する。未処理の画素が存在すると判定された場合、処理はステップS382に戻り、それ以降の処理を繰り返す。
 ステップS386において、処理対象のパッチについて全ての画素を処理したと判定された場合、処理はステップS387に進む。
 ステップS387において、3D再構築部217は、全てのパッチを処理したか否かを判定する。未処理のパッチが存在すると判定された場合、処理はステップS381に戻り、それ以降の処理を繰り返す。つまり、処理対象が次のパッチに更新され、そのパッチについて同様の処理が繰り返される。
 ステップS387において、全てのパッチを処理したと判定された場合、ポイントクラウド再構築処理が終了し、処理は図29に戻る。
 以上のように各処理を実行することにより、復号装置200は、ジオメトリ画像やテクスチャ画像の画像調整(位置や解像度の変換)を行わずにアンパッキングして3Dデータを再構築することができる。したがって、復号側の処理の負荷の増大を抑制することができる。
  <アンパッキング再構築処理の流れ>
 なお、図29のステップS366のアンパッキングと、ステップS367のポイントクラウドの再構築は、並行して行うようにしてもよい。例えば、これらの処理を、アンパッキング再構築処理のように、1つの処理として行うようにしてもよい。
 つまり、アンパッキング部411が、ジオメトリ画像のビデオフレーム、テクスチャ画像のビデオフレーム、およびオキュパンシーマップのそれぞれをアンパッキングし、3D再構築部217が、そのアンパッキングと並行して、3Dデータの再構築を行うようにしてもよい。
 このようにすることにより、より効率的に復号処理を行うことができ、負荷の増大を抑制することができる。
  <アンパッキング再構築処理の流れ>
 このように処理を行う場合に、復号装置200が、ステップS366およびステップS367の処理の代わりに実行するアンパッキング再構築処理の流れの例を、図31のフローチャートを参照して説明する。
 アンパッキング再構築処理が開始されると、アンパッキング部411は、ステップS401において、未処理のパッチから処理対象を選択する。
 ステップS402において、アンパッキング部411は、処理対象パッチをアンパッキングする。
 ステップS403において、3D再構築部217は、オキュパンシーマップの未処理の座標を処理対象に選択する。
 ステップS404において、3D再構築部217は、オキュパンシーマップの処理対象座標に対応するジオメトリ画像の画素値を取得する。
 ステップS405において、3D再構築部217は、オキュパンシーマップの処理対象座標に対応するテクスチャ画像の画素値を取得する。
 ステップS406において、3D再構築部217は、ステップS404およびステップS405において得られた画素値に基づいてポイントを再構成する。つまり、ポイントクラウドのポイントの位置情報および属性情報を生成する。
 ステップS407において、3D再構築部217は、処理対象のパッチの全ての画素を処理したか否かを判定する。未処理の画素が存在すると判定された場合、処理はステップS403に戻り、それ以降の処理を繰り返す。
 ステップS407において、処理対象のパッチについて全ての画素を処理したと判定された場合、処理はステップS408に進む。
 ステップS408において、アンパッキング部411は、全てのパッチを処理したか否かを判定する。未処理のパッチが存在すると判定された場合、処理はステップS401に戻り、それ以降の処理を繰り返す。つまり、処理対象が次のパッチに更新され、そのパッチについて同様の処理が繰り返される。
 ステップS408において、全てのパッチを処理したと判定された場合、アンパッキング再構築処理が終了し、処理は図29に戻る。
 以上のように各処理を実行することにより、復号装置200は、ジオメトリ画像やテクスチャ画像の画像調整(位置や解像度の変換)を行わずにアンパッキングして3Dデータを再構築することができる。また、そのアンパッキングと3Dデータの再構築とを互いに並行して行うことができる。したがって、復号側の処理の負荷の増大を抑制することができる。
 <7.付記>
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図32は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図32に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 また、以上においては、本技術の適用例として符号化装置100および復号装置200について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
 例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1)  3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、
  前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データと
 を含むビットストリームを生成するビットストリーム生成部
 を備える画像処理装置。
 (2) 前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、解像度の対応関係を示す情報を含む
 (1)に記載の画像処理装置。
 (3) 前記解像度の対応関係を示す情報は、水平方向の解像度の対応関係を示す情報と、垂直方向の解像度の対応関係を示す情報とを含む
 (2)に記載の画像処理装置。
 (4) 前記対応関係を示す情報は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と、
  前記テクスチャ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と
 を含む(1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、パッチ毎の位置および解像度の対応関係を示す情報を含む
 (1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記パッチ毎の位置および解像度の対応関係を示す情報は、前記パッチの矩形領域の対頂点の座標を含む
 (5)に記載の画像処理装置。
 (7) 前記対応関係を示す情報は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、
  前記テクスチャ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と
 を含む(1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれを符号化する符号化部をさらに備え、
 前記ビットストリーム生成部は、前記対応関係を示す情報と、前記符号化部により符号化されて得られた、前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する
 (1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれをパッキングするパッキング部をさらに備え、
 前記符号化部は、前記パッキング部によりパッキングされた前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれを符号化するように構成される
 (8)に記載の画像処理装置。
 (10) 前記3Dデータは、ポイントクラウドである
 (1)乃至(9)のいずれかに記載の画像処理装置。
 (11)  3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、
  前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データと
 を含むビットストリームを生成する
 画像処理方法。
 (21) ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングするアンパッキング部
 を備える画像処理装置。
 (22) 前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、解像度の対応関係を示す情報を含み、
 前記アンパッキング部は、
  前記解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像および前記テクスチャ画像の解像度を前記オキュパンシーマップと同一の解像度に変更し、
  解像度変更後の前記ジオメトリ画像のビデオフレーム、解像度変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
 (21)に記載の画像処理装置。
 (23) 前記対応関係を示す情報は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と、
  前記テクスチャ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と
 を含み、
 前記アンパッキング部は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像の解像度を前記オキュパンシーマップと同一の解像度に変更し、
  前記テクスチャ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、前記テクスチャ画像の解像度を前記オキュパンシーマップと同一の解像度に変更し、
  解像度変更後の前記ジオメトリ画像のビデオフレーム、解像度変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
 (21)または(22)に記載の画像処理装置。
 (24) 前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、パッチ毎の位置および解像度の対応関係を示す情報を含み、
 前記アンパッキング部は、
  前記パッチ毎の位置および解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像および前記テクスチャ画像の各パッチの位置および解像度を前記オキュパンシーマップに合わせるように変更し、
  前記パッチ毎の位置および解像度の変更後の前記ジオメトリ画像のビデオフレーム、前記パッチ毎の位置および解像度の変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
 (21)乃至(23)のいずれかに記載の画像処理装置。
 (25) 前記対応関係を示す情報は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、
  前記テクスチャ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と
 を含み、
 前記アンパッキング部は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像の各パッチの位置および解像度を前記オキュパンシーマップに合わせるように変更し、
  前記テクスチャ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報に基づいて、前記テクスチャ画像の各パッチの位置および解像度を前記オキュパンシーマップに合わせるように変更し、
  前記パッチ毎の位置および解像度の変更後の前記ジオメトリ画像のビデオフレーム、前記パッチ毎の位置および解像度の変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
 (21)乃至(24)のいずれかに記載の画像処理装置。
 (26) 前記ジオメトリ画像のビデオフレームの符号化データ、前記テクスチャ画像のビデオフレームの符号化データ、および前記オキュパンシーマップの符号化データのそれぞれを復号する復号部をさらに備え、
 前記アンパッキング部は、前記復号部により復号されて得られた前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
 (21)乃至(25)のいずれかに記載の画像処理装置。
 (27) 前記ビットストリームから、前記ジオメトリ画像のビデオフレームの符号化データ、前記テクスチャ画像のビデオフレームの符号化データ、および前記オキュパンシーマップの符号化データを抽出する抽出部をさらに備え、
 前記復号部は、前記抽出部により前記ビットストリームから抽出された、前記ジオメトリ画像のビデオフレームの符号化データ、前記テクスチャ画像のビデオフレームの符号化データ、および前記オキュパンシーマップの符号化データのそれぞれを復号する
 (26)に記載の画像処理装置。
 (28) 前記3Dデータは、ポイントクラウドである
 (21)乃至(27)のいずれかに記載の画像処理装置。
 (29) ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
 画像処理方法。
 (31) ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップから前記3Dデータを再構築する再構築部
 を備える画像処理装置。
 (32) 前記対応関係を示す情報は、
  前記ジオメトリ画像と前記オキュパンシーマップとの間の画素毎の位置の対応関係を示す情報と、
  前記テクスチャ画像と前記オキュパンシーマップとの間の画素毎の位置の対応関係を示す情報と
 を含む
 (31)に記載の画像処理装置。
 (33) 前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングするアンパッキング部をさらに備え、
 前記再構築部は、前記アンパッキング部による前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれのアンパッキングと並行して、前記3Dデータの再構築を行う
 (31)または(32)に記載の画像処理装置。
 (34) 前記3Dデータは、ポイントクラウドである
 (31)乃至(33)のいずれかに記載の画像処理装置。
 (35) ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップから前記3Dデータを再構築する
 画像処理方法。
 100 符号化装置, 111 パッチ分解部, 112 パッキング部, 113 補助パッチ情報圧縮部, 114 ジオメトリビデオ符号化部, 115 テクスチャビデオ符号化部, 116 OMap符号化部, 117 マルチプレクサ, 121 ジオメトリパッキング部, 122 テクスチャパッキング部, 123 OMapパッキング部, 124 マルチプレクサ, 200 復号装置, 211 デマルチプレクサ, 212 補助パッチ情報復号部, 213 ジオメトリビデオ復号部, 214 テクスチャビデオ復号部, 215 OMap復号部, 216 アンパッキング部, 217 3D再構築部, 221 デマルチプレクサ, 222 ジオメトリ画像処理部, 223 テクスチャ画像処理部, 224 アンパッキング部, 411 アンパッキング部

Claims (20)

  1.   3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、
      前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データと
     を含むビットストリームを生成するビットストリーム生成部
     を備える画像処理装置。
  2.  前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、解像度の対応関係を示す情報を含む
     請求項1に記載の画像処理装置。
  3.  前記解像度の対応関係を示す情報は、水平方向の解像度の対応関係を示す情報と、垂直方向の解像度の対応関係を示す情報とを含む
     請求項2に記載の画像処理装置。
  4.  前記対応関係を示す情報は、
      前記ジオメトリ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と、
      前記テクスチャ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と
     を含む請求項1に記載の画像処理装置。
  5.  前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、パッチ毎の位置および解像度の対応関係を示す情報を含む
     請求項1に記載の画像処理装置。
  6.  前記パッチ毎の位置および解像度の対応関係を示す情報は、前記パッチの矩形領域の対頂点の座標を含む
     請求項5に記載の画像処理装置。
  7.  前記対応関係を示す情報は、
      前記ジオメトリ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、
      前記テクスチャ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と
     を含む請求項1に記載の画像処理装置。
  8.  前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれを符号化する符号化部をさらに備え、
     前記ビットストリーム生成部は、前記対応関係を示す情報と、前記符号化部により符号化されて得られた、前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データとを含むビットストリームを生成する
     請求項1に記載の画像処理装置。
  9.  前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれをパッキングするパッキング部をさらに備え、
     前記符号化部は、前記パッキング部によりパッキングされた前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれを符号化するように構成される
     請求項8に記載の画像処理装置。
  10.  前記3Dデータは、ポイントクラウドである
     請求項1に記載の画像処理装置。
  11.   3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報と、
      前記ジオメトリ画像、前記テクスチャ画像、および前記オキュパンシーマップのそれぞれの符号化データと
     を含むビットストリームを生成する
     画像処理方法。
  12.  ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングするアンパッキング部
     を備える画像処理装置。
  13.  前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、解像度の対応関係を示す情報を含み、
     前記アンパッキング部は、
      前記解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像および前記テクスチャ画像の解像度を前記オキュパンシーマップと同一の解像度に変更し、
      解像度変更後の前記ジオメトリ画像のビデオフレーム、解像度変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
     請求項12に記載の画像処理装置。
  14.  前記対応関係を示す情報は、
      前記ジオメトリ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と、
      前記テクスチャ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報と
     を含み、
     前記アンパッキング部は、
      前記ジオメトリ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像の解像度を前記オキュパンシーマップと同一の解像度に変更し、
      前記テクスチャ画像と前記オキュパンシーマップとの間の解像度の対応関係を示す情報に基づいて、前記テクスチャ画像の解像度を前記オキュパンシーマップと同一の解像度に変更し、
      解像度変更後の前記ジオメトリ画像のビデオフレーム、解像度変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
     請求項12に記載の画像処理装置。
  15.  前記対応関係を示す情報は、前記ジオメトリ画像および前記テクスチャ画像と、前記オキュパンシーマップとの間の、パッチ毎の位置および解像度の対応関係を示す情報を含み、
     前記アンパッキング部は、
      前記パッチ毎の位置および解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像および前記テクスチャ画像の各パッチの位置および解像度を前記オキュパンシーマップに合わせるように変更し、
      前記パッチ毎の位置および解像度の変更後の前記ジオメトリ画像のビデオフレーム、前記パッチ毎の位置および解像度の変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
     請求項12に記載の画像処理装置。
  16.  前記対応関係を示す情報は、
      前記ジオメトリ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と、
      前記テクスチャ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報と
     を含み、
     前記アンパッキング部は、
      前記ジオメトリ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報に基づいて、前記ジオメトリ画像の各パッチの位置および解像度を前記オキュパンシーマップに合わせるように変更し、
      前記テクスチャ画像と前記オキュパンシーマップとの間のパッチ毎の位置および解像度の対応関係を示す情報に基づいて、前記テクスチャ画像の各パッチの位置および解像度を前記オキュパンシーマップに合わせるように変更し、
      前記パッチ毎の位置および解像度の変更後の前記ジオメトリ画像のビデオフレーム、前記パッチ毎の位置および解像度の変更後の前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
     請求項12に記載の画像処理装置。
  17.  前記ジオメトリ画像のビデオフレームの符号化データ、前記テクスチャ画像のビデオフレームの符号化データ、および前記オキュパンシーマップの符号化データのそれぞれを復号する復号部をさらに備え、
     前記アンパッキング部は、前記復号部により復号されて得られた前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
     請求項12に記載の画像処理装置。
  18.  前記ビットストリームから、前記ジオメトリ画像のビデオフレームの符号化データ、前記テクスチャ画像のビデオフレームの符号化データ、および前記オキュパンシーマップの符号化データを抽出する抽出部をさらに備え、
     前記復号部は、前記抽出部により前記ビットストリームから抽出された、前記ジオメトリ画像のビデオフレームの符号化データ、前記テクスチャ画像のビデオフレームの符号化データ、および前記オキュパンシーマップの符号化データのそれぞれを復号する
     請求項17に記載の画像処理装置。
  19.  前記3Dデータは、ポイントクラウドである
     請求項12に記載の画像処理装置。
  20.  ビットストリームに含まれる、3次元構造を表す3Dデータの位置情報を2次元平面に投影したジオメトリ画像、および、前記3Dデータの属性情報を2次元平面に投影したテクスチャ画像の内の少なくとも一方と、各位置のデータの有無を示すマップ情報であるオキュパンシーマップとの対応関係を示す情報に基づいて、前記ジオメトリ画像のビデオフレーム、前記テクスチャ画像のビデオフレーム、および前記オキュパンシーマップのそれぞれをアンパッキングする
     画像処理方法。
PCT/JP2019/000052 2018-01-17 2019-01-07 画像処理装置および方法 WO2019142667A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/960,391 US11611774B2 (en) 2018-01-17 2019-01-07 Image processing apparatus and image processing method for 3D data compression
CN201980008008.3A CN111566703B (zh) 2018-01-17 2019-01-07 图像处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-005421 2018-01-17
JP2018005421 2018-01-17

Publications (1)

Publication Number Publication Date
WO2019142667A1 true WO2019142667A1 (ja) 2019-07-25

Family

ID=67301039

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/000052 WO2019142667A1 (ja) 2018-01-17 2019-01-07 画像処理装置および方法

Country Status (3)

Country Link
US (1) US11611774B2 (ja)
CN (1) CN111566703B (ja)
WO (1) WO2019142667A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026846A1 (ja) * 2018-08-02 2020-02-06 ソニー株式会社 画像処理装置および方法
WO2021060229A1 (ja) * 2019-09-26 2021-04-01 シャープ株式会社 三次元表現変換装置、および、三次元表現逆変換装置
JP2022542419A (ja) * 2019-12-10 2022-10-03 ソニーグループ株式会社 点群表現を介したメッシュ圧縮
JP2023514853A (ja) * 2020-03-18 2023-04-11 ソニーグループ株式会社 投影ベースのメッシュ圧縮

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10699444B2 (en) 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
EP3515067A1 (en) * 2018-01-19 2019-07-24 Thomson Licensing A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) * 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
EP3824632A1 (en) * 2018-07-18 2021-05-26 Telefonaktiebolaget Lm Ericsson (Publ) Video-based coding of point cloud occcupancy map
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11367224B2 (en) * 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
US11138694B2 (en) * 2018-12-05 2021-10-05 Tencent America LLC Method and apparatus for geometric smoothing
US11348284B2 (en) 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
EP3734970B1 (en) * 2019-01-08 2023-07-05 Samsung Electronics Co., Ltd. Method for processing and transmitting three-dimensional content
US11956478B2 (en) * 2019-01-09 2024-04-09 Tencent America LLC Method and apparatus for point cloud chunking for improved patch packing and coding efficiency
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
CN113785590A (zh) * 2019-05-10 2021-12-10 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11625866B2 (en) 2020-01-09 2023-04-11 Apple Inc. Geometry encoding using octrees and predictive trees
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296755A (ja) * 2001-11-27 2003-10-17 Samsung Electronics Co Ltd 深さイメージに基づく3次元物体を表現するためのノード構造

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2413058C (en) 2001-11-27 2012-01-17 Samsung Electronics Co., Ltd. Node structure for representing 3-dimensional objects using depth image
KR100446635B1 (ko) 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
SG192985A1 (en) * 2011-03-09 2013-09-30 Toshiba Kk Video image encoding method and video image decoding method
CN104063856B (zh) * 2014-05-28 2017-04-05 北京大学深圳研究生院 一种快速超分辨率图像重建方法和装置
US9607394B2 (en) * 2014-11-20 2017-03-28 Lenovo (Beijing) Co., Ltd. Information processing method and electronic device
CN105141970B (zh) * 2015-07-03 2019-02-12 哈尔滨工业大学深圳研究生院 一种基于三维模型几何信息的纹理图像压缩方法
WO2017094216A1 (ja) * 2015-12-04 2017-06-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
US10223810B2 (en) * 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CN106485656B (zh) * 2016-09-19 2019-10-18 华南理工大学 一种图像超分辨率重构的方法
US11113845B2 (en) * 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10535161B2 (en) * 2017-11-09 2020-01-14 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
EP3496388A1 (en) * 2017-12-05 2019-06-12 Thomson Licensing A method and apparatus for encoding a point cloud representing three-dimensional objects
WO2019115867A1 (en) * 2017-12-14 2019-06-20 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2019135024A1 (en) * 2018-01-02 2019-07-11 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
EP3515066A1 (en) * 2018-01-19 2019-07-24 Thomson Licensing A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
US10909726B2 (en) * 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US11310518B2 (en) * 2018-04-11 2022-04-19 Sony Corporation Image processing apparatus and method
CN112204985B (zh) * 2018-04-11 2023-03-10 索尼公司 图像处理设备和方法
CN111937402A (zh) * 2018-04-11 2020-11-13 索尼公司 图像处理装置和方法
WO2020012968A1 (ja) * 2018-07-11 2020-01-16 ソニー株式会社 画像処理装置および方法
US11367224B2 (en) * 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296755A (ja) * 2001-11-27 2003-10-17 Samsung Electronics Co Ltd 深さイメージに基づく3次元物体を表現するためのノード構造

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GOLLA, TIM ET AL.: "Real-time Point Cloud Compression", 2015 IEEE /RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS, 2015, pages 5087 - 5092, XP032832361, doi:10.1109/IROS.2015.7354093 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026846A1 (ja) * 2018-08-02 2020-02-06 ソニー株式会社 画像処理装置および方法
JPWO2020026846A1 (ja) * 2018-08-02 2021-08-26 ソニーグループ株式会社 画像処理装置および方法
US11405644B2 (en) 2018-08-02 2022-08-02 Sony Corporation Image processing apparatus and method
JP7331852B2 (ja) 2018-08-02 2023-08-23 ソニーグループ株式会社 画像処理装置および方法
WO2021060229A1 (ja) * 2019-09-26 2021-04-01 シャープ株式会社 三次元表現変換装置、および、三次元表現逆変換装置
JP2022542419A (ja) * 2019-12-10 2022-10-03 ソニーグループ株式会社 点群表現を介したメッシュ圧縮
JP7303992B2 (ja) 2019-12-10 2023-07-06 ソニーグループ株式会社 点群表現を介したメッシュ圧縮
JP2023514853A (ja) * 2020-03-18 2023-04-11 ソニーグループ株式会社 投影ベースのメッシュ圧縮
JP7520295B2 (ja) 2020-03-18 2024-07-23 ソニーグループ株式会社 投影ベースのメッシュ圧縮

Also Published As

Publication number Publication date
US20200359053A1 (en) 2020-11-12
US11611774B2 (en) 2023-03-21
CN111566703A (zh) 2020-08-21
CN111566703B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
WO2019142667A1 (ja) 画像処理装置および方法
JP7327166B2 (ja) 画像処理装置および方法
US11741575B2 (en) Image processing apparatus and image processing method
WO2019198523A1 (ja) 画像処理装置および方法
US20210233278A1 (en) Image processing apparatus and method
JP7331852B2 (ja) 画像処理装置および方法
US11399189B2 (en) Image processing apparatus and method
US20230224482A1 (en) Information processing device and method
WO2020071101A1 (ja) 画像処理装置および方法
US11915390B2 (en) Image processing device and method
WO2021193088A1 (ja) 画像処理装置および方法
WO2022230941A1 (ja) 情報処理装置および方法
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
WO2022201787A1 (ja) 画像処理装置および方法
WO2022075074A1 (ja) 画像処理装置および方法
WO2023127513A1 (ja) 情報処理装置および方法

Legal Events

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

Ref document number: 19740757

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19740757

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP