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

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

Info

Publication number
WO2020012968A1
WO2020012968A1 PCT/JP2019/025558 JP2019025558W WO2020012968A1 WO 2020012968 A1 WO2020012968 A1 WO 2020012968A1 JP 2019025558 W JP2019025558 W JP 2019025558W WO 2020012968 A1 WO2020012968 A1 WO 2020012968A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
information
unit
model
decoding
Prior art date
Application number
PCT/JP2019/025558
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 CN201980045067.8A priority Critical patent/CN112470480A/zh
Priority to EP19834544.9A priority patent/EP3823286A4/en
Priority to KR1020207036753A priority patent/KR20210030276A/ko
Priority to MX2020013700A priority patent/MX2020013700A/es
Priority to US15/734,567 priority patent/US11699248B2/en
Priority to CA3106234A priority patent/CA3106234A1/en
Priority to BR112021000044-5A priority patent/BR112021000044A2/pt
Priority to JP2020530096A priority patent/JP7327399B2/ja
Priority to AU2019302075A priority patent/AU2019302075A1/en
Publication of WO2020012968A1 publication Critical patent/WO2020012968A1/ja
Priority to PH12021550063A priority patent/PH12021550063A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

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 an increase in load of decoding processing of encoded data using a point cloud video-based approach.
  • the present disclosure has been made in view of such a situation, and suppresses an increase in the number of instances required for decoding encoded data of a point cloud video-based approach, and suppresses an increase in decoding processing load. Is to be able to do.
  • An image processing device includes a conversion unit configured to convert a parameter related to a plurality of point cloud models of a point cloud, and a two-dimensional projection of the plurality of point cloud models obtained by converting the parameters by the conversion unit.
  • An image processing apparatus comprising: an encoding unit that encodes a planar image and generates a bit stream including encoded data of the two-dimensional planar image and conversion information that is information on the conversion of the parameter by the conversion unit. .
  • An image processing method converts a parameter related to a plurality of point cloud models of a point cloud, encodes a two-dimensional plane image on which the plurality of point cloud models in which the parameters are converted are projected, and This is an image processing method for generating a bit stream including encoded data of a two-dimensional plane image and conversion information that is information relating to the conversion of the parameter.
  • An image processing apparatus decodes a bit stream, converts a two-dimensional plane image on which a plurality of point cloud models are projected, and a conversion that is information on conversion of respective parameters of the plurality of point cloud models.
  • a decoding unit that generates information, and reconstructs each of the plurality of point group models from the two-dimensional plane image generated by the decoding unit, based on the conversion information, And a reconstructing unit that inversely transforms the parameter of the image processing apparatus.
  • An image processing method decodes a bit stream and converts a two-dimensional plane image onto which a plurality of point cloud models are projected, and information on conversion of parameters of the plurality of point cloud models. And an image for generating information, reconstructing each of the plurality of point cloud models from the generated two-dimensional plane image, and inversely converting respective parameters of the plurality of point cloud models based on the conversion information. Processing method.
  • An image processing apparatus includes a projection unit that projects a plurality of partial point cloud models constituting a point cloud model onto projection planes that are set independently of each other.
  • An encoding unit that encodes a two-dimensional planar image in which patches of the partial point cloud model projected on a plane are arranged and an occupancy map including projection plane information that is information on the projection plane, and generates a bit stream
  • An image processing apparatus comprising:
  • An image processing method includes projecting a plurality of partial point cloud models constituting a point cloud model onto projection planes set independently of each other, and This is an image processing method for encoding a two-dimensional plane image on which patches of a point cloud model are arranged, and an occupancy map including projection plane information that is information on the projection plane, and generating a bit stream.
  • An image processing apparatus decodes a bit stream, projects a two-dimensional plane image on which a point cloud model is projected, and a projection plane of each of a plurality of partial point cloud models included in the point cloud model.
  • a decoding unit that generates an occupancy map including projection plane information that is information about the two-dimensional plane image generated by the decoding unit, based on the projection plane information included in the occupancy map, And a reconstructing unit for reconstructing the point cloud model.
  • An image processing method includes decoding a bit stream, a two-dimensional plane image on which a point cloud model is projected, and a projection plane of each of a plurality of partial point cloud models included in the point cloud model. And generating an occupancy map including projection plane information that is information relating to the two-dimensional planar image and the projection plane information included in the occupancy map. Image processing method.
  • a parameter relating to a plurality of point cloud models of a point cloud is transformed, and a two-dimensional planar image on which a plurality of point cloud models having the transformed parameters are projected is encoded. Then, a bit stream including the encoded data of the two-dimensional plane image and the conversion information that is information on the conversion of the parameter is generated.
  • a bit stream is decoded, a two-dimensional plane image on which a plurality of point cloud models are projected, and information regarding conversion of respective parameters of the plurality of point cloud models. Is generated, each of the plurality of point cloud models is reconstructed from the generated two-dimensional plane image, and based on the conversion information, each parameter of the plurality of point cloud models is inversely transformed. Is done.
  • a plurality of partial point cloud models forming a point cloud model are respectively projected onto projection planes set independently of each other, and projected onto each projection plane.
  • a two-dimensional plane image on which the patches of the partial point cloud model are arranged and an occupancy map including projection plane information that is information on the projection plane are encoded, and a bit stream is generated.
  • a two-dimensional plane image on which a bit stream is decoded and a point cloud model is projected, and a plurality of partial point cloud models included in the point cloud model are respectively provided.
  • An occupancy map including projection plane information, which is information relating to the projection plane, is generated. Based on the generated two-dimensional planar image and the projection plane information included in the occupancy map, a point cloud model is re-created. Be built.
  • an image can be processed.
  • it is possible to suppress an increase in the load of decoding processing of encoded data using the video-based approach of the point cloud.
  • FIG. 3 is a diagram summarizing main features of the present technology.
  • FIG. 14 is a diagram illustrating an overview of encoding and decoding of a point cloud to which the present technology is applied.
  • FIG. 14 is a diagram illustrating an overview of encoding and decoding of a point cloud to which the present technology is applied.
  • FIG. 39 is a block diagram illustrating a main configuration example of an encoding device. It is a flowchart explaining the example of the flow of an encoding process. 13 is a flowchart illustrating an example of the flow of a conversion process. It is a flowchart explaining the example of the flow of a bounding box setting process. It is a flowchart explaining the example of the flow of a packing process.
  • FIG. 15 is a flowchart illustrating an example of the flow of a BB information generation process. It is a block diagram which shows the main structural examples of a decoding device. It is a flowchart explaining the example of the flow of a decoding process.
  • FIG. 3 is a diagram summarizing main features of the present technology.
  • FIG. 14 is a diagram illustrating an overview of encoding and decoding of a point cloud to which the present technology is applied.
  • FIG. 39 is a block diagram illustrating a main configuration example of an encoding device.
  • FIG. 3 is a block diagram illustrating a main configuration example of a patch decomposition unit. It is a flowchart explaining the example of the flow of an encoding process.
  • Non-Patent Document 6 and QTBT (Quad ⁇ Tree ⁇ Binary Tree) ⁇ Block ⁇ Structure described in Non-Patent Document 7 are not directly described in the embodiment, It is within the disclosure range of the present technology and satisfies the support requirements of the claims. Further, for example, similarly, technical terms such as parsing, syntax, and semantics are within the disclosure range of the present technology even if there is no direct description in the embodiment. Satisfy the support requirements of the claims.
  • ⁇ Point Cloud> Conventionally, there existed data such as a point cloud representing a three-dimensional structure based on position information and attribute information of a point cloud, and a mesh composed of vertices, edges, and surfaces and defining a three-dimensional shape using a polygonal representation. .
  • a three-dimensional structure is represented as a set (point group) of many points. That is, the data of the point cloud is composed of position information and attribute information (for example, color) of each point of this point group. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be expressed with sufficient accuracy by using sufficiently many points.
  • a video-based approach has been proposed in which the position and color information of such a point cloud are projected onto a two-dimensional plane for each small area, and are encoded by an encoding method for a two-dimensional image. .
  • an input point cloud (Point @ cloud) is divided into a plurality of segmentations (also referred to as regions) and projected onto a two-dimensional plane for each region.
  • data for each position of the point cloud (that is, data for each point) is composed of position information (Geometry (also referred to as Depth)) and attribute information (Texture) as described above. Projected onto a dimensional plane.
  • Each segmentation (also referred to as a patch) projected on the two-dimensional plane is arranged in a two-dimensional image.
  • two-dimensional plane images such as AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding). Is encoded by the following encoding method.
  • ⁇ Encoding of point cloud model> there may be a plurality of point cloud models composed of a dense point cloud. For example, when a plurality of people are scattered in a square, if a three-dimensional space including the entire square is converted into a point cloud, a dense point group (point cloud model) is formed in each person. That is, a plurality of point cloud models are formed.
  • a plurality of point cloud models are stored in one bit stream. For example, as shown in the top row of the table in FIG. 1, a plurality of point cloud models are converted into one group, and encoded, thereby combining the plurality of point cloud models into one bit stream. To be stored.
  • a point cloud model 11-1 to a point cloud model 11-4 exist in a point cloud, and bounding boxes 12-1 to 12-4 respectively correspond to the point cloud models 11-1 to 11-4. It is assumed that it is set.
  • the point cloud model 11-1 to the point cloud model 11-4 will be referred to as a point cloud model 11 unless otherwise described.
  • bounding boxes 12-1 to 12-4 are not distinguished from each other and described, they are referred to as bounding boxes 12. That is, these point cloud models 11 are separated from each other, and the bounding box 12 is set for each.
  • the parameters of the point group model 11 are converted and collected to form a group having few sparse points.
  • a group including the bounding boxes 12-1 to 12-4 is formed, and the encoding bounding box 13 is set for the entire group.
  • the coordinates of the point cloud model 11 may be transformed as shown in the table of FIG.
  • the coordinates of the point cloud model 11 may be shifted (Shift) (the position of the point cloud model 11 may be moved).
  • the positions of the point cloud models 11-1 to 11-4 in the point cloud shown on the leftmost side of FIG. 2 may be spatially separated from the others.
  • the coordinates of the point cloud model 11 may be rotated (the attitude of the point cloud model 11 may be rotated).
  • the postures (orientations) of the point cloud models 11-1 to 11-4 in the point cloud illustrated on the leftmost side of FIG. 2 may be different from the other postures.
  • the postures of the respective point cloud models can be made uniform, and sparse portions of the group can be reduced.
  • the time (time stamp (TimeStump)) of the point cloud model 11 may be converted.
  • the positions of the point cloud model 11-1 to the point cloud model 11-4 in the point cloud shown on the leftmost side of FIG. 2 may be temporally separated from the other (the point cloud model exists at a different time from the other). May be included).
  • the times of the respective point cloud models can be aligned, and point cloud models existing at different times can be combined into one group.
  • the size (Scale) of the point cloud model 11 may be converted. That is, the scale of each of the point cloud models 11-1 to 11-4 in the point cloud illustrated on the leftmost side of FIG. 2 may be different from the others.
  • the size (scale) of each point group model can be made uniform, and the resolution in the spatial direction can be made uniform.
  • the frame rate (Frame ⁇ Rate) of the point cloud model 11 may be converted. That is, the frame rates of the point cloud models 11-1 to 11-4 in the point cloud illustrated on the leftmost side of FIG. 2 may be different from the others. By such a conversion, for example, the frame rates (that is, resolutions in the time direction) of each point cloud model can be made uniform.
  • a group of point group models in the encoding bounding box 13 shown second from the left is projected onto a two-dimensional plane, packed into a video frame, and placed third from the left.
  • an occupancy map 16 are generated.
  • encoding is performed using a two-dimensional image encoding method, and one 2D bit stream 17 (including an occupancy map 18 and a header (Header) 19) is encoded as shown in the rightmost part of FIG. Generate. That is, the encoded data of the point cloud models 11-1 to 11-4 is stored in the single 2D bit stream 17.
  • ⁇ Conversion information signal> In the case of decryption, the reverse processing is performed. That is, an inverse transformation process of returning each point group model from the state of the second group from the left in FIG. 2 to the original state of the first group from the left is performed. Therefore, as shown in the row # 1 in the table of FIG. 1, parameter conversion relating to the point cloud model performed at the time of encoding (see FIG. 2) so that the inverse transform can be performed at the time of decoding. Conversion information indicating the contents of the conversion from the first state to the second state from the left is generated and transmitted to the decoding side (for example, included in a bit stream) (that is, the conversion information is signaled).
  • the conversion information may be any information as long as it indicates the content of the conversion (the amount of change in the converted parameter). For example, as shown in the table of FIG. 1, information indicating the ratio of the converted parameters (for example, Shift, Rotate, Time @ Stump, Scale, Frame @ Rate, etc.) before and after the conversion may be used. Further, for example, as shown in the table of FIG. 1, information indicating the difference between the converted parameters (for example, Shift, Rotate, Time @ Stump, Scale, Frame @ Rate, etc.) before and after the conversion may be used.
  • the ratio of the converted parameters for example, Shift, Rotate, Time @ Stump, Scale, Frame @ Rate, etc.
  • information indicating the difference between the converted parameters for example, Shift, Rotate, Time @ Stump, Scale, Frame @ Rate, etc.
  • the method of transmitting the conversion information is arbitrary. For example, you may make it transmit in connection with the bit stream containing the encoded data of a point cloud model. For example, it may be included in the bit stream. For example, as shown in FIG. 2, such conversion information may be included as BB information 21 in the header (Header) 19 of the 2D bit stream 17.
  • the BB information 21 includes, as conversion information, information indicating a shift amount (Shift @ x / y / z), information indicating a rotation amount (Rotate @ x / y / z), and information indicating a change amount of a time stamp (Time).
  • Stump information indicating the amount of change in scale (Scale @ x / y / z), information indicating the amount of change in frame rate (Frame @ Rate), and the like.
  • the BB information 21 is generated and stored in the header 19, and at the time of decoding, the BB information 21 is read from the header 19 and used for inverse conversion.
  • ⁇ Projection plane setting of point cloud model> As shown in the row # 2 in the table of FIG. 1, when projecting the group of the point group model shown second from the left in FIG. 2 onto a two-dimensional plane, the projection plane is changed to the point group model. It may be possible to set each time. By doing so, each point cloud model can be projected onto a more appropriate projection plane, so that a reduction in encoding efficiency due to inefficient projection of the point cloud model can be suppressed (code Efficiency can be improved).
  • the projection plane of each of the point cloud models in six orthogonal directions may be made to be able to be rotated (Rotate). This makes it possible to relatively easily set the projection plane to a more appropriate plane (a plane on which efficient projection can be performed) with respect to the point cloud model.
  • an arbitrary projection plane may be set (added). By doing so, the degree of freedom of the projection plane of each point cloud model can be improved, and more efficient projection can be expected (encoding efficiency can be expected to be further improved).
  • this projection plane information may include any information as long as it is information necessary for specifying the projection plane.
  • the projection plane information 22 may be stored in the occupancy map 16 (that is, the occupancy map 18).
  • the projection plane information 22 includes information indicating the shift amount of the projection plane in the six orthogonal directions (Shift ⁇ x / y / z), information indicating the change amount of the scale (Scale x / y / z), and the rotation amount. Information (Rotate @ x / y / z) and the like are included. Also, for example, the projection plane information 22 may include information indicating an added arbitrary projection plane.
  • the projection plane information 22 is generated and stored in the occupancy map 16, and at the time of decoding, the projection plane information 22 is read from the occupancy map 16 to reconstruct a point cloud. Used for
  • Partial decoding support> ⁇ Patch placement control for each point cloud model> Also, as shown in the row # 3 in the table of FIG. 1, when the patches of each point group model are arranged in a two-dimensional image and packed as a video frame, the area where the patches are arranged is defined for each point group model. You may make it controllable. For example, patches belonging to the same point cloud model may be arranged in the same region. This area is optional. For example, it may be an independently decodable coding unit. That is, patches belonging to the same point group model may be arranged in the same, independently decodable coding unit.
  • the independently decodable coding unit is arbitrary. For example, as shown in the table of FIG. 1, it may be a frame, a slice, or a tile.
  • a point cloud model 31-1 and a point cloud model 31-2 exist in a point cloud.
  • a bounding box 32-1 is set in the point cloud model 31-1
  • a bounding box 32-2 is set in the point cloud model 31-2. That is, these are point cloud models independent of each other.
  • patches 34-1 to 34-4 are patches of the point cloud model 31-1
  • patches 35-1 to 35-5 are patches of the point cloud model 31-2.
  • the patches 34-1 to 34-4 of the point cloud model 31-1 are arranged, for example, on the slice 36-2 of the two-dimensional image 33, and The two patches 35-1 to 35-5 are arranged on the slice 36-1 of the two-dimensional image 33.
  • Independently decodable coding units for arranging patches in this way are controlled for each point group model.
  • Patches belonging to the same point group model are allocated to the same, independently decodable coding units.
  • partial decoding in which only some of the point cloud models are decoded and reconstructed.
  • the slice 36-1 and the slice 36-2 are coding units that can be decoded independently of each other, only the patches 35-1 to 35-5 of the slice 36-1 are decoded.
  • only the patches 34-1 to 34-4 of the slice 36-2 can be decoded. That is, it is possible to decode and reconstruct only the point cloud model 31-1 or to decode and reconstruct only the point cloud model 31-2.
  • model information indicating the number of point cloud models packed in a video frame may be included in the model information.
  • information indicating an area (an independently decodable coding unit) in which a patch of each point cloud model is arranged may be included in the model information.
  • the method of transmitting the model information is arbitrary. For example, you may make it transmit in connection with the bit stream containing the encoded data of a point cloud model. For example, it may be included in the bit stream. For example, as shown in FIG. 2, such model information may be included as BB information 21 in the header (Header) 19 of the 2D bit stream 17.
  • the BB information 21 includes, as model information, the number of models and information on the patch placement area of each point cloud model.
  • the BB information 21 is generated and stored in the header 19, and at the time of decoding, the BB information 21 is read from the header 19 and used for partial decoding.
  • FIG. 4 is a block diagram illustrating an example of a configuration of an encoding device that is an aspect of an image processing device to which the present technology is applied.
  • An encoding device 100 shown in FIG. 4 is a device that projects 3D data such as a point cloud onto a two-dimensional plane and performs encoding using an encoding method for a two-dimensional image (an encoding device to which a video-based approach is applied). ).
  • FIG. 4 shows main components such as a processing unit and a flow of data, and the components shown in FIG. 4 are not necessarily all. That is, in the encoding device 100, a processing unit not illustrated as a block in FIG. 4 may exist, or a process or data flow not illustrated as an arrow or the like in FIG. 4 may exist. This is the same in other drawings for explaining the processing unit and the like in the encoding device 100.
  • the encoding device 100 includes a model conversion unit 111, a patch decomposition unit 112, a packing unit 113, an auxiliary patch information compression unit 114, a video encoding unit 115, a video encoding unit 116, and an OMap encoding unit. 117, a multiplexer 118, and a BB information generation unit 119.
  • the model conversion unit 111 performs processing related to conversion of a parameter relating to the point cloud model. For example, the model conversion unit 111 acquires 3D data (for example, a point cloud (Point @ Cloud)) representing a three-dimensional structure, which is input to the encoding device 100. Further, the model conversion unit 111 converts parameters relating to the point cloud model included in the obtained point cloud. At this time, the model conversion unit 111 converts parameters related to each point cloud model by the method described above in ⁇ reduction of the number of bit streams> and ⁇ conversion of point cloud models>, and converts a plurality of point cloud models into one group. Put it together. The model conversion unit 111 supplies the point cloud model obtained by converting the parameters, that is, a point cloud including the point cloud models combined into one group, to the patch decomposition unit 112.
  • 3D data for example, a point cloud (Point @ Cloud)
  • the model conversion unit 111 converts parameters relating to the point cloud model included in the obtained point cloud.
  • the model conversion unit 111 generates conversion information for the conversion by the method described above in ⁇ signal of conversion information>.
  • the model conversion unit 111 supplies the generated conversion information to the BB information generation unit 119.
  • the patch decomposing unit 112 performs processing related to decomposing 3D data. For example, the patch decomposition unit 112 acquires a point cloud (a point cloud including a plurality of point cloud models grouped together) supplied from the model conversion unit 111. Further, the patch decomposition unit 112 decomposes the obtained point cloud into a plurality of segmentations, projects the point cloud on a two-dimensional plane for each of the segmentations, and generates position information patches and attribute information patches. The patch disassembly unit 112 supplies information on each generated patch to the packing unit 113. Further, the patch disassembly unit 112 supplies auxiliary patch information, which is information on the disassembly, to the auxiliary patch information compression unit 114.
  • a point cloud a point cloud including a plurality of point cloud models grouped together
  • the packing unit 113 performs processing related to data packing. For example, the packing unit 113 obtains information on a patch of position information (Geometry) indicating a position of a point and information on a patch of attribute information (Texture) such as color information added to the position information from the patch decomposition unit 112. I do.
  • a patch of position information (Geometry) indicating a position of a point
  • a patch of attribute information (Texture) such as color information added to the position information from the patch decomposition unit 112. I do.
  • the packing unit 113 arranges the acquired patches in a two-dimensional image and packs them as a video frame.
  • the packing unit 113 arranges patches of position information in a two-dimensional image and packs them as a video frame (also referred to as a geometry video frame) of position information.
  • the packing unit 113 arranges a patch of attribute information in a two-dimensional image and packs the patch as a video frame (also referred to as a color video frame) of attribute information.
  • the packing unit 113 controls the area in which the patches are arranged (independently decodable coding units) for each point group model by the method described above in ⁇ Patch arrangement control for each point group model>. . Then, the packing unit 113 generates model information by the method described above in ⁇ Signal of model information>. The packing unit 113 supplies the generated model information to the BB information generation unit 119.
  • the packing unit 113 generates an occupancy map corresponding to these video frames. Further, the packing unit 113 performs a Dilation process on the color video frame.
  • the packing unit 113 supplies the generated geometry video frame to the video encoding unit 115.
  • the packing unit 113 supplies the color video frame generated in this way to the video encoding unit 116. Further, the packing unit 113 supplies the generated occupancy map to the OMap encoding unit 117. Further, the packing unit 113 supplies control information regarding such packing to the multiplexer 118.
  • the auxiliary patch information compression unit 114 performs processing related to compression of the auxiliary patch information. For example, the auxiliary patch information compression unit 114 acquires the data supplied from the patch decomposition unit 112. The auxiliary patch information compression unit 114 encodes (compresses) the auxiliary patch information included in the acquired data. The auxiliary patch information compression unit 114 supplies the encoded data of the obtained auxiliary patch information to the multiplexer 118.
  • the video encoding unit 115 performs a process related to encoding of a video frame of position information (Geometry). For example, the video encoding unit 115 acquires a geometry video frame supplied from the packing unit 113. In addition, the video encoding unit 115 encodes the acquired geometry video frame using an arbitrary two-dimensional image encoding method such as AVC or HEVC. The video encoding unit 115 supplies the encoded data (encoded data of the geometry video frame) obtained by the encoding to the multiplexer 118.
  • the video encoding unit 116 performs a process related to encoding of a video frame of attribute information (Texture). For example, the video encoding unit 116 acquires a color video frame supplied from the packing unit 113. In addition, the video encoding unit 116 encodes the obtained color video frame by using an arbitrary two-dimensional image encoding method such as AVC or HEVC. The video encoding unit 116 supplies encoded data (encoded data of a color video frame) obtained by the encoding to the multiplexer 118.
  • AVC arbitrary two-dimensional image encoding method
  • the OMap encoding unit 117 performs a process related to encoding an occupancy map. For example, the OMap encoding unit 117 acquires the occupancy map supplied from the packing unit 113. Further, the OMap encoding unit 117 encodes the obtained occupancy map by an arbitrary encoding method such as arithmetic encoding. The OMap encoding unit 117 supplies the encoded data (encoded data of the occupancy map) obtained by the encoding to the multiplexer 118.
  • the multiplexer 118 performs processing related to multiplexing. For example, the multiplexer 118 acquires encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 114. Further, the multiplexer 118 acquires control information on packing supplied from the packing unit 113. Further, the multiplexer 118 acquires encoded data of the geometry video frame supplied from the video encoding unit 115. Further, the multiplexer 118 acquires the encoded data of the color video frame supplied from the video encoding unit 116. Further, the multiplexer 118 acquires the encoded data of the occupancy map supplied from the OMap encoding unit 117. Further, the multiplexer 118 acquires the BB information supplied from the BB information generation unit 119.
  • the multiplexer 118 multiplexes the acquired information to generate a bitstream.
  • the multiplexer 118 outputs the generated bit stream to the outside of the encoding device 100.
  • BB information generation section 119 performs processing related to generation of BB information. For example, the BB information generation unit 119 acquires the conversion information supplied from the model conversion unit 111. Further, the BB information generation unit 119 acquires the model information supplied from the packing unit 113. The BB information generation unit 119 generates BB information including the acquired conversion information and model information. The BB information generation unit 119 supplies the generated BB information to the multiplexer 118. That is, the BB information is transmitted to the decoding side.
  • the encoding device 100 can convert and group a plurality of point cloud models of the point cloud, encode the encoded point cloud models, and store them in one bitstream. That is, even when a plurality of point cloud models exist in the point cloud, it is possible to suppress an increase in the number of bit streams while suppressing a decrease in encoding efficiency. Therefore, encoding apparatus 100 can suppress an increase in the number of instances required for decoding. That is, an increase in the load of the decoding process can be suppressed. Thereby, an increase in the cost of the decoder can be suppressed. In addition, it is possible to suppress an increase in the processing time of the decoding process.
  • step S101 the model conversion unit 111 of the encoding device 100 executes a conversion process to convert a plurality of point cloud models included in the point cloud into one group. Further, the model conversion unit 111 generates conversion information on the conversion.
  • the patch decomposing unit 112 projects the plurality of point group models (groups) compiled in step S101 on a two-dimensional plane and decomposes them into patches.
  • the patch disassembly unit 112 may set the projection plane of each point cloud model by the method described above in, for example, ⁇ Setting of projection plane of point cloud model>. By doing so, the patch decomposition unit 112 can project each point cloud model onto a more appropriate projection plane, and thus suppresses a reduction in coding efficiency due to inefficient projection of the point cloud model. (Encoding efficiency can be improved).
  • the patch disassembly unit 112 may generate projection plane information related to the setting of the projection plane by the method described above in ⁇ Signal of projection plane information>, for example, and transmit the generated projection plane information to the decoding side. By doing so, decoding can be correctly performed (correctly reconstruct a point cloud) on the decoding side.
  • the patch disassembly unit 112 generates auxiliary patch information on the disassembly.
  • step S103 the auxiliary patch information compression unit 114 compresses (encodes) the auxiliary patch information generated in step S102.
  • step S104 the packing unit 113 executes a packing process, arranges the patches of the position information and attribute information generated in step S102 in a two-dimensional image, and packs them as a video frame.
  • the packing unit 113 generates model information and an occupancy map. Further, the packing unit 113 performs a Dilation process on the color video frame. Further, the packing unit 113 generates control information on such packing.
  • step S105 the BB information generation unit 119 executes BB information generation processing, and generates BB information including the conversion information generated in step S101, the model information generated in step S104, and the like.
  • step S106 the video encoding unit 115 encodes the geometry video frame generated in step S104 by using a two-dimensional image encoding method.
  • the video encoding unit 115 encodes the geometry video frame according to the setting of the independently decodable encoding unit (the encoding unit area setting) in which the patches of the respective point cloud models are arranged in step S104. That is, for example, when a slice or a tile is set, a geometry video frame is encoded independently for each slice or tile.
  • step S107 the video encoding unit 116 encodes the color video frame generated in step S104 by a two-dimensional image encoding method.
  • the video encoding unit 116 encodes the color video frame in step S104 according to the setting of the independently decodable coding unit (the coding unit area setting) in which the patches of the respective point cloud models are arranged. That is, for example, when a slice or tile is set, a color video frame is encoded independently for each slice or tile.
  • step S108 the OMap encoding unit 117 encodes the occupancy map generated in step S104 by a predetermined encoding method.
  • step S109 the multiplexer 118 outputs the various information generated as described above (for example, the encoded data of the auxiliary patch information generated in step S103, the control information on the packing generated in step S104, and the information generated in step S105.
  • BB information encoded data of the geometry video frame generated in step S106, encoded data of the color video frame generated in step S107, and encoded data of the occupancy map generated in step S108).
  • step S110 the multiplexer 118 outputs the bit stream generated in step S109 to the outside of the encoding device 100.
  • step S110 ends, the encoding processing ends.
  • step S131 the model conversion unit 111 executes a bounding box setting process to set a bounding box of each point cloud model.
  • step S132 the model conversion unit 111 converts the parameters of each bounding box (each point cloud model) set in step S131.
  • the model conversion unit 111 converts parameters such as shift, rotation, time stamp, scale, and frame rate as described above in ⁇ Conversion of point cloud model> and the like.
  • the model conversion unit 111 can suppress an increase in the number of bit streams while suppressing a decrease in encoding efficiency even when a plurality of point cloud models exist in the point cloud. Therefore, the model conversion unit 111 can suppress an increase in the number of instances required for decoding. That is, it is possible to suppress an increase in the load of the decoding process. Thereby, an increase in the cost of the decoder can be suppressed. In addition, it is possible to suppress an increase in the processing time of the decoding process.
  • step S133 the model conversion unit 111 generates the conversion information of the parameters of each bounding box as described above in ⁇ signal of conversion information> and the like. For example, the model conversion unit 111 generates conversion information indicating a ratio and a difference before and after the conversion. By doing so, the model conversion unit 111 can perform the inverse conversion correctly on the decoding side.
  • step S133 ends, the conversion processing ends.
  • step S141 the model conversion unit 111 derives a normal vector of a part of each point cloud model included in the point cloud.
  • step S142 the model conversion unit 111 sets the bounding box so that the one having a large distribution in the normal direction derived in step S141 matches the orthogonal projection vector.
  • the packing unit 113 sets a coding unit area according to the point cloud model in step S151, and allocates different coding unit areas to each point cloud model.
  • step S152 the packing unit 113 searches and arranges, for each patch of each point group model, an optimal position in the coding unit area allocated to the point group model in step S151.
  • the packing unit 113 converts the patches belonging to the same point group model into the same, independently decodable coding units by the method described above in ⁇ Patch arrangement control for each point group model> and the like. Arrange to generate geometry video frames or color video frames. In this manner, on the decoding side, a so-called “partial decoding” in which only a part of the point cloud models is decoded and reconstructed, can be realized.
  • step S153 the packing unit 113 generates model information on the arrangement of the point cloud model in step S152 by the method described above in ⁇ Signal of Model Information>. In this manner, on the decoding side, a so-called “partial decoding” in which only a part of the point cloud models is decoded and reconstructed, can be realized.
  • step S154 the packing unit 113 generates an occupancy map.
  • step S155 the packing unit 113 performs a Dilation process on the color video frame.
  • step S155 When the processing in step S155 ends, the packing processing ends, and the processing returns to FIG.
  • step S161 the BB information generation unit 119 acquires the conversion information generated in step S133 in FIG.
  • step S162 the BB information generation unit 119 acquires the model information generated in step S153 in FIG.
  • the BB information generation unit 119 generates BB information including the conversion information and the model information. This BB information is multiplexed together with encoded data and the like by the multiplexer 118 in step S109 (FIG. 5).
  • step S163 ends, the BB information generation processing ends, and the processing returns to FIG.
  • FIG. 10 is a block diagram illustrating an example of a configuration of a decoding device that is an aspect of an image processing device to which the present technology is applied.
  • the decoding device 200 illustrated in FIG. 10 decodes encoded data obtained by projecting and encoding 3D data such as a point cloud on a two-dimensional plane by a decoding method for a two-dimensional image, and projecting the encoded data on a three-dimensional space. (A decoding device to which a video-based approach is applied). For example, the decoding device 200 decodes the bitstream generated by encoding the point cloud by the encoding device 100 (FIG. 4), and reconstructs the point cloud.
  • FIG. 10 shows main components such as the processing unit and the flow of data, and the components shown in FIG. 10 are not necessarily all. That is, in the decoding device 200, a processing unit not illustrated as a block in FIG. 10 may exist, or a process or data flow not illustrated as an arrow or the like in FIG. 10 may exist. This is the same in other drawings for explaining the processing unit and the like in the decoding device 200.
  • the decoding device 200 includes a demultiplexer 211, an auxiliary patch information decoding unit 212, a point cloud model selection unit 213, a video decoding unit 214, a video decoding unit 215, an OMap decoding unit 216, an unpacking unit 217, And a 3D reconstruction unit 218.
  • the demultiplexer 211 performs processing relating to demultiplexing of data. For example, the demultiplexer 211 acquires a bit stream input to the decoding device 200. This bit stream is supplied from the encoding device 100, for example. 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. In addition, the demultiplexer 211 extracts encoded data of the geometry video frame from the bit stream by demultiplexing, and supplies the extracted encoded data to the video decoding unit 214. Further, the demultiplexer 211 extracts coded data of the color video frame from the bit stream by demultiplexing, and supplies the coded data to the video decoding unit 215.
  • the demultiplexer 211 extracts encoded data of the occupancy map from the bit stream by demultiplexing, and supplies the extracted data to the OMap decoding unit 216. Further, the demultiplexer 211 extracts control information related to packing from the bit stream by demultiplexing, and supplies the extracted control information to the unpacking unit 217. The demultiplexer 211 extracts BB information from the bit stream by demultiplexing, and supplies the extracted BB information to the point cloud model selection unit 213 and the 3D reconstruction unit 218.
  • the auxiliary patch information decoding unit 212 performs a process related to decoding of encoded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 212 acquires the encoded data of the auxiliary patch information supplied from the demultiplexer 211. Further, the auxiliary patch information decoding unit 212 decodes (decompresses) the coded data of the auxiliary patch information included in the obtained data. The auxiliary patch information decoding unit 212 supplies the auxiliary patch information obtained by decoding to the 3D reconstruction unit 218.
  • the point cloud model selection unit 213 performs processing related to selection of a point cloud model to be partially decoded. For example, the point cloud model selection unit 213 acquires BB information from the demultiplexer 211. Further, the point cloud model selection unit 213 receives designation of a point cloud model input by a user or the like based on the model information included in the BB information. For example, the point cloud model selection unit 213 presents the point cloud model included in the model information to the user or the like as an option, and allows the user to select a point cloud model to be decoded.
  • the point cloud model selection unit 213 outputs information specifying an area (an independently decodable coding unit) corresponding to the selected point cloud model (where the patch of the point cloud model is arranged) to the video decoding unit 214. , A video decoding unit 215, and an OMap decoding unit 216.
  • the video decoding unit 214 performs a process related to decoding of encoded data of the geometry video frame. For example, the video decoding unit 214 acquires encoded data of a geometry video frame supplied from the demultiplexer 211. The video decoding unit 214 decodes the encoded data of the geometry video frame by an arbitrary two-dimensional image decoding method such as AVC or HEVC.
  • the video decoding unit 214 can partially decode an area (an independently decodable coding unit) specified by the point cloud model selection unit 213. For example, when a region to be decoded is specified by the point cloud model selection unit 213, the video decoding unit 214 converts the specified region of the encoded data of the geometry video frame into an arbitrary two-dimensional data such as AVC or HEVC. Decoding is performed by an image decoding method. For example, the video decoding unit 214 decodes frames / slices / tiles specified by the point cloud model selection unit 213 in the encoded data of the geometry video frame.
  • the video decoding unit 214 can partially decode a geometry video frame.
  • the video decoding unit 214 supplies the geometry video frame (or a part of the area) obtained by the decoding to the unpacking unit 217.
  • the video decoding unit 215 performs a process related to decoding of encoded data of a color video frame. For example, the video decoding unit 215 obtains encoded data of a color video frame supplied from the demultiplexer 211. The video decoding unit 215 decodes the encoded data of the color video frame by an arbitrary two-dimensional image decoding method such as AVC or HEVC.
  • the video decoding unit 215 can partially decode an area (an independently decodable coding unit) specified by the point cloud model selection unit 213. For example, when an area to be decoded is specified by the point cloud model selection unit 213, the video decoding unit 215 converts the specified area of the encoded data of the color video frame into an arbitrary two-dimensional image such as AVC or HEVC. Decoding is performed by an image decoding method. For example, the video decoding unit 215 decodes a frame / slice / tile or the like specified by the point cloud model selection unit 213 in the encoded data of the color video frame.
  • the video decoding unit 215 can partially decode a color video frame.
  • the video decoding unit 215 supplies the color video frame obtained by the decoding (or a partial area thereof) to the unpacking unit 217.
  • the OMap decoding unit 216 performs a process related to decoding the encoded data of the occupancy map. For example, the OMap decoding unit 216 obtains encoded data of an occupancy map supplied from the demultiplexer 211. The OMap decoding unit 216 decodes the encoded data of the occupancy map by an arbitrary decoding method corresponding to the encoding method.
  • the OMap decoding unit 216 can partially decode an area (an independently decodable coding unit) specified by the point cloud model selection unit 213. For example, when a region to be decoded is specified by the point cloud model selection unit 213, the OMap decoding unit 216 converts the specified region of the coded occupancy map data into an arbitrary decoding code corresponding to the coding method. Decrypt by the method. For example, the OMap decoding unit 216 decodes the coded data of the occupancy map, such as a frame / slice / tile specified by the point cloud model selection unit 213.
  • the OMap decoding unit 216 can partially decode the occupancy map.
  • the OMap decoding unit 216 supplies the decoded occupancy map (or a partial area thereof) to the unpacking unit 217.
  • the unpacking unit 217 performs a process related to unpacking. For example, the unpacking unit 217 obtains a geometry video frame from the video decoding unit 214, obtains a color video frame from the video decoding unit 215, and obtains an occupancy map from the OMap decoding unit 216. Further, the unpacking unit 217 unpacks the geometry video frame and the color video frame based on the control information on the packing. The unpacking unit 217 converts the position information (Geometry) data (geometry patches and the like) and the attribute information (Texture) data (texture patches and the like) obtained by unpacking and the occupancy map and the like into a 3D reconstruction unit. 218.
  • the 3D reconstruction unit 218 performs a process related to the reconstruction of the point cloud.
  • the 3D reconstruction unit 218 includes BB information supplied from the demultiplexer 211, auxiliary patch information supplied from the auxiliary patch information decoding unit 212, and position information (Geometry) data supplied from the unpacking unit 217.
  • BB information supplied from the demultiplexer 211
  • auxiliary patch information supplied from the auxiliary patch information decoding unit 212
  • position information (Geometry) data supplied from the unpacking unit 217.
  • a point cloud is reconstructed based on (geometry patches and the like), attribute information (Texture) data (texture patches and the like), occupancy maps and the like.
  • the 3D reconstruction unit 218 specifies a projection plane corresponding to each point group model in the group based on the projection plane information, and reconstructs a point cloud from a patch or the like using the projection plane. Accordingly, since the decoding device 200 can project each point cloud model onto a more appropriate projection plane, it is possible to suppress a reduction in coding efficiency due to inefficient projection of the point cloud model (code Efficiency can be improved).
  • the 3D reconstruction unit 218 can perform an inverse transformation on the reconstructed point cloud model using the transformation information included in the BB information. Therefore, the 3D reconstruction unit 218 can perform an inverse transform so as to correctly correspond to the transform process performed on the encoding side.
  • the 3D reconstruction unit 218 outputs the reconstructed point cloud to the outside of the decoding device 200.
  • the point cloud is supplied to, for example, a display unit to be imaged, and the image is displayed, recorded on a recording medium, or supplied to another device via communication.
  • the decoding device 200 can correctly decode a plurality of point cloud models combined into one bit stream. Therefore, even when a plurality of point cloud models exist in the point cloud, the decoding device 200 can suppress an increase in the number of bit streams while suppressing a decrease in encoding efficiency. Therefore, the decoding device 200 can suppress an increase in the number of instances required for itself. That is, an increase in the load of the decoding process can be suppressed. Thereby, an increase in the cost of the decoder can be suppressed. In addition, it is possible to suppress an increase in the processing time of the decoding process.
  • the demultiplexer 211 of the decoding device 200 demultiplexes the bit stream in step S201.
  • step S202 the auxiliary patch information decoding unit 212 decodes the auxiliary patch information extracted from the bit stream in step S201.
  • step S203 the point cloud model selection unit 213 receives designation of a point cloud model to be decoded.
  • step S204 based on the BB information, the point cloud model selection unit 213 determines an independently decodable encoding unit corresponding to the received specification of the point cloud model (that is, a patch of the specified point cloud model is arranged). (Independently decodable coding unit).
  • steps S203 and S204 may be omitted.
  • step S205 the video decoding unit 214 decodes the encoded data of the geometry video frame (the video frame of the position information) extracted from the bit stream in step S201.
  • the video decoding unit 214 When partial decoding is performed, that is, when the designation of the point cloud model to be decoded is received in step S203 and the coding unit to be decoded is selected in step S204, the video decoding unit 214 performs the processing in step S204 of the geometry video frame. Decoding the coding unit (for example, frame / slice / tile) selected in.
  • step S206 the video decoding unit 215 decodes the encoded data of the color video frame (the video frame of the attribute information) extracted from the bit stream in step S201.
  • the video decoding unit 215 decodes the coding unit (for example, frame / slice / tile) of the color video frame selected in step S204.
  • step S207 the OMap decoding unit 216 decodes the encoded data of the occupancy map extracted from the bit stream in step S201.
  • the OMap decoding unit 216 decodes the coding unit (for example, frame / slice / tile) of the occupancy map selected in step S204.
  • step S209 the 3D reconstruction unit 218 determines a point cloud (each point cloud) based on the auxiliary patch information obtained in step S202 and the geometry patch, texture patch, occupancy map, and the like obtained in step S208. Model).
  • step S210 the 3D reconstruction unit 218 performs an inverse transform process, which is an inverse process of the transform process performed on the encoding side, on each reconstructed point group model based on the transform information included in the BB information. I do.
  • step S210 ends, the decoding processing ends.
  • the decoding device 200 can suppress an increase in the number of bit streams and an increase in the load of the decoding process.
  • the projection plane set for the entire point group model is a part where the points included in the point group model are dense (also referred to as a partial point group model).
  • the projection direction is not always optimal. That is, the partial point cloud model may be projected in an inefficient direction, and the coding efficiency may be reduced.
  • the projection plane of the point cloud model may be locally controlled.
  • a point cloud model including a sparse point portion is divided into a plurality of partial point cloud models, and a projection plane is set for each of the partial point cloud models. You may do so.
  • ⁇ ⁇ The method of dividing the projection model is arbitrary. For example, as shown in the table of FIG. 12, a dense point group included in the point cloud model may be divided into partial point cloud models.
  • the point cloud model corresponding to the bounding box 312 includes a sparse part and a dense point group 311-1 and a partial point cloud model 311. -2.
  • the partial point cloud model 311-1 and the partial point cloud model 311-2 are divided, and the projection planes are set independently.
  • projection planes 313-1 in six orthogonal directions are set for the partial point cloud model 311-1, and orthogonal The projection plane 313-2 in the direction is set. Then, a patch is generated by projecting the patch on the projection plane, and the patch is arranged on a two-dimensional image.
  • the color video frame (Texture) 314 and the geometry video frame (Depth) are arranged as shown in FIG. 315, and an occupancy map (Occupancy @ Map) 315 is generated. Then, they are encoded to generate a 2D bit stream 317 and an occupancy map 318. At the time of decoding, these inverse processes are performed.
  • a projection plane can be set for each partial point cloud model, so that each partial point cloud model can be projected onto a more appropriate projection plane. Therefore, it is possible to suppress a decrease in coding efficiency due to inefficient projection of the point cloud model (encoding efficiency can be improved).
  • the projection plane of each of the partial point cloud models in the six orthogonal directions may be rotated (Rotated).
  • Rotated the projection surface to a more appropriate surface for the partial point cloud model (a surface on which efficient projection can be performed).
  • an arbitrary projection plane may be set (added). By doing so, the degree of freedom of the projection plane of each partial point cloud model can be improved, and more efficient projection can be expected (enhancement of coding efficiency can be expected).
  • projection plane information 321 is generated for those projection planes.
  • this projection plane information may include any information as long as it is information necessary for specifying the projection plane.
  • the projection plane information 321 includes information indicating the amount of rotation of the projection plane (Rotate @ x / y / z).
  • information indicating the shift amount of the projection plane in the six orthogonal directions Shift x / y / z
  • information indicating the change amount of the scale Scale x / y / z
  • the projection plane information 321 may include information indicating an added arbitrary projection plane.
  • this projection plane information may be stored in an occupancy map.
  • the projection plane information 321 is stored in the occupancy map 316 (that is, the occupancy map 318).
  • the projection plane information 321 is generated and stored in the occupancy map 16, and at the time of decoding, the projection plane information 321 is read from the occupancy map 316 to reconstruct a point cloud.
  • FIG. 14 is a block diagram illustrating an example of a configuration of an encoding device that is an aspect of an image processing device to which the present technology is applied.
  • An encoding device 400 illustrated in FIG. 14 is a device similar to the encoding device 100 (FIG. 4), and projects 3D data such as a point cloud onto a two-dimensional plane by using an encoding method for a two-dimensional image.
  • This is an apparatus that performs encoding (an encoding apparatus to which a video-based approach is applied).
  • FIG. 14 shows main components such as the processing unit and the flow of data, and the components shown in FIG. 14 are not necessarily all. That is, in the encoding device 400, a processing unit not illustrated as a block in FIG. 14 may exist, or a process or data flow not illustrated as an arrow or the like in FIG. 14 may exist. This is the same in other drawings for explaining the processing unit and the like in the encoding device 400.
  • the encoding device 400 includes a patch decomposition unit 411, a packing unit 412, an auxiliary patch information compression unit 413, a video encoding unit 414, a video encoding unit 415, an OMap encoding unit 416, and a multiplexer 417. Having.
  • the patch decomposing unit 411 performs a process related to decomposing 3D data. For example, the patch decomposition unit 411 obtains a point cloud input to the encoding device 400. Further, the patch decomposition unit 411 decomposes the obtained point cloud into a plurality of segmentations, projects the point cloud on a two-dimensional plane for each of the segmentations, and generates position information patches and attribute information patches. The patch disassembly unit 411 supplies information on each generated patch to the packing unit 412. Further, the patch decomposing unit 411 supplies auxiliary patch information, which is information on the decomposition, to the auxiliary patch information compression unit 413.
  • the packing unit 412 performs a process related to data packing. For example, the packing unit 412 obtains from the patch disassembly unit 411 information on a patch of position information (Geometry) indicating a position of a point and information on a patch of attribute information (Texture) such as color information added to the position information. I do.
  • a patch of position information indicating a position of a point
  • a patch of attribute information indicating a position of a point
  • Texture patch of attribute information
  • the packing unit 412 arranges the acquired patches in a two-dimensional image and packs them as video frames. For example, the packing unit 412 arranges patches of position information in a two-dimensional image and packs them as a geometry video frame. Further, for example, the packing unit 412 arranges the patch of the attribute information in a two-dimensional image and packs it as a color video frame. Further, the packing unit 412 generates an occupancy map corresponding to these video frames. Further, the packing unit 412 performs a Dilation process on the color video frame.
  • the packing unit 412 supplies the generated geometry video frame to the video encoding unit 414.
  • the packing unit 412 supplies the color video frame generated in this manner to the video encoding unit 415. Further, the packing unit 412 supplies the occupancy map thus generated to the OMap encoding unit 416. Further, the packing unit 412 supplies control information regarding such packing to the multiplexer 417.
  • the auxiliary patch information compression unit 413 performs a process related to compression of the auxiliary patch information. For example, the auxiliary patch information compression unit 413 acquires the data supplied from the patch decomposition unit 411. The auxiliary patch information compression unit 413 encodes (compresses) the auxiliary patch information included in the acquired data. The auxiliary patch information compression unit 413 supplies the encoded data of the obtained auxiliary patch information to the multiplexer 417.
  • the video encoding unit 414 performs a process related to encoding of a video frame of position information (Geometry). For example, the video encoding unit 414 acquires a geometry video frame supplied from the packing unit 412. Further, the video encoding unit 414 encodes the acquired geometry video frame by using an arbitrary two-dimensional image encoding method such as AVC or HEVC. The video encoding unit 414 supplies the encoded data (encoded data of the geometry video frame) obtained by the encoding to the multiplexer 417.
  • AVC arbitrary two-dimensional image encoding method
  • the video encoding unit 415 performs a process related to encoding of a video frame of attribute information (Texture). For example, the video encoding unit 415 acquires a color video frame supplied from the packing unit 412. Further, the video encoding unit 415 encodes the obtained color video frame by using an arbitrary two-dimensional image encoding method such as AVC or HEVC. The video encoding unit 415 supplies encoded data (encoded data of a color video frame) obtained by the encoding to the multiplexer 417.
  • AVC arbitrary two-dimensional image encoding method
  • the OMap encoding unit 416 performs a process related to encoding an occupancy map. For example, the OMap encoding unit 416 acquires the occupancy map supplied from the packing unit 412. Further, the OMap encoding unit 416 encodes the obtained occupancy map by an arbitrary encoding method such as arithmetic encoding. The OMap encoding unit 416 supplies the encoded data (encoded data of the occupancy map) obtained by the encoding to the multiplexer 417.
  • the multiplexer 417 performs processing related to multiplexing. For example, the multiplexer 417 acquires the encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 413. Further, the multiplexer 417 acquires control information on packing supplied from the packing unit 412. Further, the multiplexer 417 acquires the encoded data of the geometry video frame supplied from the video encoding unit 414. Further, the multiplexer 417 acquires the encoded data of the color video frame supplied from the video encoding unit 415. Further, the multiplexer 417 acquires the encoded data of the occupancy map supplied from the OMap encoding unit 416.
  • the multiplexer 417 multiplexes the acquired information to generate a bitstream.
  • the multiplexer 417 outputs the generated bit stream to the outside of the encoding device 400.
  • FIG. 15 is a block diagram illustrating a main configuration example of the patch decomposition unit 411 in FIG.
  • the patch decomposition unit 411 includes a model division unit 431, a partial point group model projection plane setting unit 432, a projection plane information generation unit 433, a partial point group model projection unit 434, and a projection plane information addition unit. 435.
  • the model division unit 431 performs processing related to division of the point cloud model. For example, the model dividing unit 431 acquires a (point cloud model) of the point cloud input to the encoding device 400. In addition, the model division unit 431 performs, for example, ⁇ 5. By using the method described above in ⁇ Local control of projection plane> of Local Projection Plane Control, etc., a portion where points included in the point cloud model are dense is set as a partial point cloud model, and the partial point cloud model is used. The point cloud model is divided for each. The model dividing unit 431 supplies the information of each set partial point cloud model to the partial point cloud model projection plane setting unit 432.
  • the partial point cloud model projection plane setting unit 432 performs a process related to setting a projection plane for each partial point cloud model. For example, the partial point cloud model projection plane setting unit 432 acquires information on the partial point cloud model supplied from the model dividing unit 431. In addition, the partial point cloud model projection plane setting unit 432 outputs, for example, ⁇ 5. A projection plane is set for each of the partial point cloud models by the method described above in ⁇ Local control of projection plane> of ⁇ Local control of projection plane>. The partial point cloud model projection plane setting unit 432 supplies the information on the projection plane for each partial point cloud model thus set to the projection plane information generation unit 433 and the partial point cloud model projection unit 434.
  • the projection plane information generation unit 433 performs processing related to generation of projection plane information. For example, the projection plane information generation unit 433 acquires information about the projection plane set for each partial point cloud model, supplied from the partial point cloud model projection plane setting unit 432. In addition, the projection plane information generation unit 433 performs, for example, ⁇ 5. Projection plane information for each projection plane is generated by the method described above in ⁇ Local projection plane control> ⁇ Signal of projection plane information>. The projection plane information generation unit 433 supplies the generated projection plane information to the projection plane information addition unit 435.
  • the partial point cloud model projection unit 434 performs processing related to projection for each partial point cloud model. For example, the partial point cloud model projection unit 434 acquires information on the projection plane set for each partial point cloud model, supplied from the partial point cloud model projection plane setting unit 432. Further, the partial point cloud model projection unit 434 uses the acquired information on the projection plane, for example, in ⁇ 5. By the method described above in ⁇ Local control of projection plane> in ⁇ Local control of projection plane>, etc., each partial point group model is projected on the projection plane for each small area to generate a patch. The partial point cloud model projection unit 434 supplies the generated patch to the projection plane information addition unit 435.
  • the projection plane information adding unit 435 performs processing related to addition of projection plane information. For example, the projection plane information addition unit 435 acquires the projection plane information supplied from the projection plane information generation unit 433. Further, the projection plane information addition unit 435 acquires a patch or the like supplied from the partial point cloud model projection unit 434.
  • the projection plane information adding unit 435 is configured to output, for example, ⁇ 5.
  • the projection plane related to the projection plane used to generate the patch is obtained from the patch acquired from the partial point cloud model projection unit 434. Add information.
  • the projection plane information addition unit 435 supplies the patch to which the projection plane information is added to the packing unit 412. Note that the packing unit 412 stores the projection plane information added to the patch in an occupancy map.
  • the encoding device 400 can set and project a projection plane independently for each of the plurality of partial point cloud models of the point cloud. By doing so, each partial point cloud model can be projected onto a more appropriate projection plane. Therefore, it is possible to suppress a decrease in coding efficiency due to inefficient projection of the point cloud model (encoding efficiency can be improved).
  • the patch disassembly unit 411 of the encoding device 400 executes the patch disassembly process in step S401 to disassemble the point cloud model into patches. Further, the patch disassembly unit 112 generates auxiliary patch information on the disassembly.
  • step S402 the auxiliary patch information compression unit 413 compresses (encodes) the auxiliary patch information generated in step S401.
  • the packing unit 412 performs a packing process, arranges each of the position information and attribute information patches generated in step S401 in a two-dimensional image, and packs them as a video frame.
  • the packing unit 412 generates model information and an occupancy map. Further, the packing unit 412 performs a Dilation process on the color video frame. Further, the packing unit 412 generates control information regarding such packing.
  • step S404 the video encoding unit 414 encodes the geometry video frame generated in step S403 by using a two-dimensional image encoding method.
  • step S405 the video encoding unit 415 encodes the color video frame generated in step S403 by using a two-dimensional image encoding method.
  • step S406 the OMap encoding unit 416 encodes the occupancy map generated in step S403 by a predetermined encoding method.
  • step S407 the multiplexer 417 outputs the various information generated as described above (for example, the coded data of the auxiliary patch information generated in step S402, the control information on the packing generated in step S403, and the information generated in step S404).
  • step S408 the multiplexer 417 outputs the bit stream generated in step S407 to the outside of the encoding device 400.
  • step S408 ends, the encoding processing ends.
  • the model division unit 431 determines in step S421, for example, ⁇ 5.
  • the point group model to be processed including the sparse points is divided into a plurality of partial point group models by the method described above in ⁇ Local control of projection plane> of ⁇ Local control of local projection plane>. .
  • step S 422 the partial point cloud model projection plane setting unit 432 determines, for example, ⁇ 5.
  • the projection plane of each partial point group model set in step S421 is set by the method described above in ⁇ Local control of projection plane> of ⁇ Local control of projection plane>.
  • step S423 the projection plane information generation unit 433 determines, for example, ⁇ 5.
  • the projection plane information on the projection plane of each partial point group model set in step S422 is generated by the method described above in ⁇ Local projection plane control> ⁇ Signal of projection plane information>.
  • step S424 the partial point cloud model projection unit 434 determines, for example, ⁇ 5.
  • each partial point group model is projected on the projection plane set in step S422 to generate a patch.
  • step S425 the projection plane information adding unit 435 determines, for example, ⁇ 5.
  • the projection plane information generated in step S423 is added (added) to the patch generated in step S424 by the method described above in ⁇ Local projection plane control> ⁇ signal of projection plane information>.
  • the projection plane information given to this patch is stored in the occupancy map by the packing unit 412.
  • step S425 When the process in step S425 is completed, the patch disassembly process is completed, and the process returns to FIG.
  • step S441 the model division unit 431 specifies a denser point group based on the histogram of the point group model to be processed.
  • step S442 the model dividing unit 431 estimates the projection direction of each of the dense point cloud identified in step S441 based on the normal vector of the point.
  • step S443 the model dividing unit 431 sets a dense point group whose projection directions estimated in step S442 are different from each other as a partial point group model.
  • step S443 ends, the division processing ends, and the processing returns to FIG.
  • the packing unit 412 places each patch of each partial point cloud model on a two-dimensional image in step S461.
  • step S462 the packing unit 412 generates an occupancy map including the projection plane information generated in step S423 in FIG.
  • step S463 the packing unit 412 performs a Dilation process on the color video frame.
  • step S463 When the processing in step S463 is completed, the packing processing is completed, and the processing returns to FIG.
  • the projection plane can be set independently for each of the plurality of partial point cloud models of the point cloud, and each partial point cloud model is projected onto a more appropriate projection plane. be able to. Therefore, it is possible to suppress a decrease in coding efficiency due to inefficient projection of the point cloud model (encoding efficiency can be improved).
  • FIG. 20 is a block diagram illustrating an example of a configuration of a decoding device that is an aspect of an image processing device to which the present technology is applied.
  • a decoding device 500 shown in FIG. 20 is a device similar to the decoding device 200 (FIG. 10), and outputs encoded data obtained by projecting and encoding 3D data such as a point cloud onto a two-dimensional plane.
  • This is a device (a decoding device to which a video-based approach is applied) that decodes by a decoding method for an image and projects it on a three-dimensional space.
  • the decoding device 500 decodes the bitstream generated by encoding the point cloud by the encoding device 400 (FIG. 14), and reconstructs the point cloud.
  • FIG. 20 shows main components such as the processing unit and the flow of data, and the components shown in FIG. 20 are not necessarily all. That is, in the decoding device 500, a processing unit not shown as a block in FIG. 20 may exist, or a process or data flow not shown as an arrow or the like in FIG. 20 may exist. This is the same in other drawings for explaining the processing unit and the like in the decoding device 500.
  • the decoding device 500 includes a demultiplexer 511, an auxiliary patch information decoding unit 512, a video decoding unit 513, a video decoding unit 514, an OMap decoding unit 515, an unpacking unit 516, and a 3D reconstruction unit 517.
  • a demultiplexer 511 an auxiliary patch information decoding unit 512, a video decoding unit 513, a video decoding unit 514, an OMap decoding unit 515, an unpacking unit 516, and a 3D reconstruction unit 517.
  • the demultiplexer 511 performs processing relating to demultiplexing of data. For example, the demultiplexer 511 acquires a bit stream input to the decoding device 500. This bit stream is supplied from the encoding device 400, for example. The demultiplexer 511 demultiplexes this bit stream, extracts encoded data of the auxiliary patch information, and supplies it to the auxiliary patch information decoding unit 512. The demultiplexer 511 extracts encoded data of the geometry video frame from the bit stream by demultiplexing, and supplies the extracted encoded data to the video decoding unit 513. Further, the demultiplexer 511 extracts coded data of the color video frame from the bit stream by demultiplexing, and supplies the coded data to the video decoding unit 514.
  • the demultiplexer 511 extracts coded occupancy map data from the bit stream by demultiplexing, and supplies the coded data to the OMap decoding unit 515. Further, the demultiplexer 511 extracts control information related to packing from the bit stream by demultiplexing, and supplies the extracted control information to the unpacking unit 516.
  • the auxiliary patch information decoding unit 512 performs a process related to decoding of encoded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 512 acquires encoded data of the auxiliary patch information supplied from the demultiplexer 511. The auxiliary patch information decoding unit 512 decodes (decompresses) the encoded data of the auxiliary patch information included in the acquired data. The auxiliary patch information decoding unit 512 supplies the auxiliary patch information obtained by decoding to the 3D reconstruction unit 517.
  • the video decoding unit 513 performs a process related to decoding encoded data of a geometry video frame. For example, the video decoding unit 513 acquires encoded data of a geometry video frame supplied from the demultiplexer 511. The video decoding unit 513 decodes the encoded data of the geometry video frame by an arbitrary two-dimensional image decoding method such as AVC or HEVC. The video decoding unit 513 supplies the geometry video frame (or a part of the area) obtained by the decoding to the unpacking unit 516.
  • the video decoding unit 514 performs a process related to decoding of encoded data of a color video frame. For example, the video decoding unit 514 acquires encoded data of a color video frame supplied from the demultiplexer 511. The video decoding unit 514 decodes the encoded data of the color video frame by an arbitrary two-dimensional image decoding method such as AVC or HEVC. The video decoding unit 514 supplies the color video frame obtained by the decoding (or a partial area thereof) to the unpacking unit 516.
  • the OMap decoding unit 515 performs a process related to decoding encoded data of an occupancy map. For example, the OMap decoding unit 515 acquires the encoded data of the occupancy map supplied from the demultiplexer 511. The OMap decoding unit 515 decodes the encoded data of the occupancy map by an arbitrary decoding method corresponding to the encoding method.
  • the OMap decoding unit 515 supplies the occupancy map (or a part of the occupancy map) obtained by the decoding to the unpacking unit 516.
  • the unpacking unit 516 performs a process related to unpacking. For example, the unpacking unit 516 acquires a geometry video frame from the video decoding unit 513, acquires a color video frame from the video decoding unit 514, and acquires an occupancy map from the OMap decoding unit 515. The unpacking unit 516 unpacks the geometry video frame and the color video frame based on the control information on the packing. The unpacking unit 516 converts the position information (Geometry) data (geometry patches and the like) and the attribute information (Texture) data (texture patches and the like) obtained by unpacking and the occupancy map and the like into a 3D reconstruction unit. 517.
  • the 3D reconstruction unit 517 performs a process related to the reconstruction of the point cloud.
  • the 3D reconstruction unit 517 includes the auxiliary patch information supplied from the auxiliary patch information decoding unit 512, the position information (Geometry) data (geometry patch and the like) supplied from the unpacking unit 516, and the attribute information (Texture). ) Is reconstructed based on the data (texture patches and the like) and the occupancy map.
  • the 3D reconstruction unit 517 identifies a projection plane corresponding to each partial point cloud model based on the projection plane information, and reconstructs a point cloud from a patch or the like using the projection plane. Therefore, the decoding apparatus 500 can reconstruct each partial point cloud model from the patches projected on a more appropriate projection plane, and thus the encoding efficiency is reduced due to the inefficient projection of the partial point cloud model. Can be suppressed (encoding efficiency can be improved).
  • the 3D reconstruction unit 517 outputs the reconstructed point cloud to the outside of the decoding device 500.
  • the point cloud is supplied to, for example, a display unit to be imaged, and the image is displayed, recorded on a recording medium, or supplied to another device via communication.
  • the decoding device 500 can suppress a decrease in coding efficiency even when a plurality of partial point cloud models exist in the point cloud.
  • the demultiplexer 511 of the decoding device 500 demultiplexes the bit stream in step S501.
  • step S502 the auxiliary patch information decoding unit 512 decodes the auxiliary patch information extracted from the bit stream in step S501.
  • step S503 the video decoding unit 513 decodes the encoded data of the geometry video frame (the video frame of the position information) extracted from the bit stream in step S501.
  • step S504 the video decoding unit 514 decodes the encoded data of the color video frame (the video frame of the attribute information) extracted from the bit stream in step S501.
  • step S505 the OMap decoding unit 515 decodes the encoded data of the occupancy map extracted from the bit stream in step S501.
  • This occupancy map includes the above-described projection plane information.
  • the unpacking unit 516 performs unpacking. For example, the unpacking unit 516 unpacks the geometry video frame obtained by decoding the encoded data in step S503, and generates a geometry patch. The unpacking unit 516 unpacks the color video frame obtained by decoding the encoded data in step S504, and generates a texture patch. Further, the unpacking unit 516 unpacks the occupancy map obtained by decoding the encoded data in step S505, and extracts an occupancy map corresponding to a geometry patch or a texture patch.
  • step S507 the 3D reconstruction unit 517 determines the auxiliary patch information obtained in step S502, the geometry patch, texture patch, and occupancy map obtained in step S506, and the projection plane information included in the occupancy map. Based on the above, the point cloud (each point cloud model) is reconstructed.
  • step S507 ends, the decoding processing ends.
  • the decoding device 500 can suppress a decrease in encoding efficiency.
  • 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 designating a range for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, and the like
  • Information may be transmitted.
  • ⁇ Computer> The above-described series of processes can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer that can execute various functions by installing various programs, and the like.
  • FIG. 22 is a block diagram illustrating a configuration example of hardware of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 910 is also connected to the bus 904.
  • 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, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads, for example, a 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. Is performed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be applied, for example, by recording it on 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 medium 921 to the drive 915.
  • This 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 the ROM 902 or the storage unit 913 in advance.
  • the present technology can be applied to any configuration.
  • the present technology is applicable to a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to a terminal by cellular communication, or
  • the present invention can be applied to various electronic devices such as an apparatus (for example, a hard disk recorder or a camera) that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, and reproduces an image from the storage medium.
  • the present technology is applicable to a processor (eg, a video processor) as a system LSI (Large Scale Integration), a module using a plurality of processors (eg, a video module), a unit using a plurality of modules (eg, a video unit).
  • a processor eg, a video processor
  • the present invention can be implemented as a part of the configuration of a device such as a set (for example, a video set) in which other functions are added to the unit.
  • the present technology can be applied to a network system including a plurality of devices.
  • the present technology may be implemented as cloud computing in which a plurality of devices share and process in a shared manner via a network.
  • the present technology is implemented in a cloud service that provides a service relating to an image (moving image) to an arbitrary terminal such as a computer, an AV (Audio Visual) device, a portable information processing terminal, and an IoT (Internet of Things) device. You may make it.
  • a system refers to a set of a plurality of components (devices, modules (parts), and the like), and it does not matter whether all components are in the same housing. 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, device, processing unit, and the like to which the present technology is applied can be used in any field such as, for example, transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, and nature monitoring. . Further, its use is arbitrary.
  • “flag” is information for identifying a plurality of states, and is not limited to information used for identifying two states of true (1) or false (0), as well as three or more. Information that can identify the state is also included. Therefore, the value that the “flag” can take may be, for example, a binary value of 1/0, or may be a ternary value or more. That is, the number of bits constituting the "flag” is arbitrary, and may be 1 bit or a plurality of bits. Further, the identification information (including the flag) may include not only a form in which the identification information is included in the bit stream but also a form in which the difference information of the identification information with respect to certain reference information is included in the bit stream. In, "flag” and “identification information” include not only the information but also difference information with respect to reference information.
  • association means, for example, that one data can be used (linked) when one data is processed. That is, the data associated with each other may be collected as one data or may be individual data. For example, the information associated with the encoded data (image) may be transmitted on a different transmission path from the encoded data (image). Further, for example, information associated with encoded data (image) may be recorded on a recording medium different from the encoded data (image) (or another recording area of the same recording medium). Good. Note that this “association” may be a part of the data instead of the entire 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 of the frame.
  • Embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present technology.
  • 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 above as a plurality of devices (or processing units) may be configured as one device (or processing unit).
  • a configuration other than those described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit).
  • the above-described program may be executed by an arbitrary device.
  • the device only has to have necessary functions (functional blocks and the like) and be able to obtain necessary information.
  • each step of one flowchart may be executed by one device, or a plurality of devices may share and execute the steps.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step may be executed as a plurality of steps.
  • the processing described as a plurality of steps may be collectively executed as one step.
  • a program executed by a computer may be configured so that processing of steps for describing a program is executed in chronological order according to the order described in this specification, or may be executed in parallel or when calls are executed. It may be executed individually at a necessary timing such as when it is touched. That is, as long as no inconsistency arises, the processing of each step may be performed in an order different from the order described above. Further, the processing of the steps for describing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to the present technology can be independently and independently implemented unless there is a contradiction.
  • some or all of the present technology described in any of the embodiments may be combined with some or all of the present technology described in other embodiments.
  • some or all of the above-described arbitrary technology may be implemented in combination with another technology that is not described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

本開示は、ポイントクラウドのビデオベースドアプローチの符号化データの復号処理の負荷の増大を抑制することができるようにする画像処理装置および方法に関する。 ポイントクラウドの複数の点群モデルに関するパラメータを変換し、そのパラメータが変換された複数の点群モデルが投影された2次元平面画像を符号化し、その2次元画像の符号化データと、そのパラメータの変換に関する情報である変換情報とを含むビットストリームを生成する。本開示は、例えば、情報処理装置、画像処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、ポイントクラウドのビデオベースドアプローチの符号化データの復号処理の負荷の増大を抑制することができるようにした画像処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法として、例えばOctree等のような、ボクセル(Voxel)を用いた符号化があった(例えば非特許文献1参照)。
 近年、その他の符号化方法として、例えば、ポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するアプローチ(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案されている(例えば、非特許文献2乃至非特許文献4参照)。
 このような符号化において、ポイントクラウドに複数の点群モデルが存在する場合、従来の方法では、点群モデル毎に独立して符号化され、互いに異なるビットストリームにされていた。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf 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 K. Mammou,"PCC Test Model Category 2 v0," N17248 MPEG output document, October 2017
 しかしながら、この方法の場合、点群モデルの数が増大すると、デコーダの必要なインスタンス数が増大するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドのビデオベースドアプローチの符号化データの復号に必要なインスタンス数の増大を抑制し、復号処理の負荷の増大を抑制することができるようにするものである。
 本技術の一側面の画像処理装置は、ポイントクラウドの複数の点群モデルに関するパラメータを変換する変換部と、前記変換部により前記パラメータが変換された前記複数の点群モデルが投影された2次元平面画像を符号化し、前記2次元平面画像の符号化データと、前記変換部による前記パラメータの変換に関する情報である変換情報とを含むビットストリームを生成する符号化部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、ポイントクラウドの複数の点群モデルに関するパラメータを変換し、前記パラメータが変換された前記複数の点群モデルが投影された2次元平面画像を符号化し、前記2次元平面画像の符号化データと、前記パラメータの変換に関する情報である変換情報とを含むビットストリームを生成する画像処理方法である。
 本技術の他の側面の画像処理装置は、ビットストリームを復号し、複数の点群モデルが投影された2次元平面画像と、前記複数の点群モデルのそれぞれのパラメータの変換に関する情報である変換情報とを生成する復号部と、前記復号部により生成された前記2次元平面画像から前記複数の点群モデルのそれぞれを再構築し、前記変換情報に基づいて、前記複数の点群モデルのそれぞれのパラメータを逆変換する再構築部とを備える画像処理装置である。
 本技術の他の側面の画像処理方法は、ビットストリームを復号し、複数の点群モデルが投影された2次元平面画像と、前記複数の点群モデルのそれぞれのパラメータの変換に関する情報である変換情報とを生成し、生成された前記2次元平面画像から前記複数の点群モデルのそれぞれを再構築し、前記変換情報に基づいて、前記複数の点群モデルのそれぞれのパラメータを逆変換する画像処理方法である。
 本技術のさらに他の側面の画像処理装置は、点群モデルを構成する複数の部分点群モデルを、それぞれ、互いに独立に設定された投影面に投影する投影部と、前記投影部により各投影面に投影された前記部分点群モデルのパッチが配置された2次元平面画像と、前記投影面に関する情報である投影面情報を含むオキュパンシーマップとを符号化し、ビットストリームを生成する符号化部とを備える画像処理装置である。
 本技術のさらに他の側面の画像処理方法は、点群モデルを構成する複数の部分点群モデルを、それぞれ、互いに独立に設定された投影面に投影し、各投影面に投影された前記部分点群モデルのパッチが配置された2次元平面画像と、前記投影面に関する情報である投影面情報を含むオキュパンシーマップとを符号化し、ビットストリームを生成する画像処理方法である。
 本技術のさらに他の側面の画像処理装置は、ビットストリームを復号し、点群モデルが投影された2次元平面画像と、前記点群モデルに含まれる複数の部分点群モデルのそれぞれの投影面に関する情報である投影面情報を含むオキュパンシーマップとを生成する復号部と、前記復号部により生成された前記2次元平面画像と、前記オキュパンシーマップに含まれる前記投影面情報とに基づいて、前記点群モデルを再構築する再構築部とを備える画像処理装置である。
 本技術のさらに他の側面の画像処理方法は、ビットストリームを復号し、点群モデルが投影された2次元平面画像と、前記点群モデルに含まれる複数の部分点群モデルのそれぞれの投影面に関する情報である投影面情報を含むオキュパンシーマップとを生成し、生成された前記2次元平面画像と、前記オキュパンシーマップに含まれる前記投影面情報とに基づいて、前記点群モデルを再構築する画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、ポイントクラウドの複数の点群モデルに関するパラメータが変換され、そのパラメータが変換された複数の点群モデルが投影された2次元平面画像が符号化され、その2次元平面画像の符号化データと、そのパラメータの変換に関する情報である変換情報とを含むビットストリームが生成される。
 本技術の他の側面の画像処理装置および方法においては、ビットストリームが復号され、複数の点群モデルが投影された2次元平面画像と、その複数の点群モデルのそれぞれのパラメータの変換に関する情報である変換情報とが生成され、その生成された2次元平面画像から複数の点群モデルのそれぞれが再構築され、その変換情報に基づいて、その複数の点群モデルのそれぞれのパラメータが逆変換される。
 本技術のさらに他の側面の画像処理装置および方法においては、点群モデルを構成する複数の部分点群モデルが、それぞれ、互いに独立に設定された投影面に投影され、各投影面に投影された部分点群モデルのパッチが配置された2次元平面画像と、その投影面に関する情報である投影面情報を含むオキュパンシーマップとが符号化され、ビットストリームが生成される。
 本技術のさらに他の側面の画像処理装置および方法においては、ビットストリームが復号され、点群モデルが投影された2次元平面画像と、その点群モデルに含まれる複数の部分点群モデルのそれぞれの投影面に関する情報である投影面情報を含むオキュパンシーマップとが生成され、その生成された2次元平面画像と、そのオキュパンシーマップに含まれる投影面情報とに基づいて、点群モデルが再構築される。
 本開示によれば、画像を処理することができる。特に、ポイントクラウドのビデオベースドアプローチの符号化データの復号処理の負荷の増大を抑制することができる。
本技術に関する主な特徴をまとめた図である。 本技術を適用したポイントクラウドの符号化・復号の概要を説明する図である。 本技術を適用したポイントクラウドの符号化・復号の概要を説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 変換処理の流れの例を説明するフローチャートである。 バウンディングボックス設定処理の流れの例を説明するフローチャートである。 パッキング処理の流れの例を説明するフローチャートである。 BB情報生成処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 本技術に関する主な特徴をまとめた図である。 本技術を適用したポイントクラウドの符号化・復号の概要を説明する図である。 符号化装置の主な構成例を示すブロック図である。 パッチ分解部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 パッチ分解処理の流れの例を説明するフローチャートである。 分割処理の流れの例を説明するフローチャートである。 パッキング処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.点群モデルの変換
 2.部分デコード対応
 3.第1の実施の形態(符号化装置)
 4.第2の実施の形態(復号装置)
 5.局所的な投影面制御
 6.第3の実施の形態(符号化装置)
 7.第4の実施の形態(復号装置)
 8.付記
 <1.点群モデルの変換>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 非特許文献5:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
 非特許文献6:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
 非特許文献7: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
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献6に記載されているQuad-Tree Block Structure、非特許文献7に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
  <ポイントクラウド>
 従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ等のデータが存在した。
 例えばポイントクラウドの場合、立体構造物を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータは、この点群の各点の位置情報や属性情報(例えば色等)により構成される。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造を十分な精度で表現することができる。
  <ビデオベースドアプローチの概要>
 このようなポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案されている。
 このビデオベースドアプローチでは、入力されたポイントクラウド(Point cloud)が複数のセグメンテーション(領域とも称する)に分割され、領域毎に2次元平面に投影される。なお、ポイントクラウドの位置毎のデータ(すなわち、各ポイントのデータ)は、上述のように位置情報(Geometry(Depthとも称する))と属性情報(Texture)とにより構成され、それぞれ、領域毎に2次元平面に投影される。
 そして、この2次元平面に投影された各セグメンテーション(パッチとも称する)は、2次元画像に配置され、例えば、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった、2次元平面画像用の符号化方式により符号化される。
  <点群モデルの符号化>
 このようなポイントクラウドにおいて、密なポイント群からなる点群モデルが複数存在する場合がある。例えば、広場に複数の人物が点在する場合にその広場全体を含む3次元空間をポイントクラウド化すると、各人物の部分に密なポイント群(点群モデル)が形成される。つまり、複数の点群モデルが形成される。
 このような場合に、ポイントクラウド全体を大きな1つの点群モデルとみなして符号化すると、ポイントが疎な部分が多数存在するため、符号化効率が低減してしまうおそれがあった。そこで、ポイントクラウドに含まれる複数の点群モデルのそれぞれを(例えば人物毎に)互いに独立して符号化する方法が考えられた。しかしながら、この場合、点群モデル毎にビットストリームが生成されてしまうため、点群モデルの数が増大すると、ビットストリームの数が増大し、デコーダの必要なインスタンス数が増大するおそれがあった。例えば、ポイントクラウドに数百の点群モデルが存在する場合、1本のビットストリームの復号に必要なインスタンス数の数百倍のインスタンスが必要になるおそれがあった。このように復号処理の負荷が増大することにより、デコーダのコストが増大したり、処理時間が増大したりするおそれがあった。
  <ビットストリーム数の低減>
 そこで、複数の点群モデルを1本のビットストリームに格納するようにする。例えば、図1の表の一番上の行に示されるように、複数の点群モデルを変換して1つのグループにまとめ、符号化することにより、複数の点群モデルを1本のビットストリームに格納するようにする。
 このようにすることにより、ポイントクラウドに複数の点群モデルが存在する場合も、符号化効率の低減を抑制しながらビットストリーム数の増大を抑制することができる。したがって、復号に必要なインスタンス数の増大を抑制することができる。すなわち、復号処理の負荷の増大を抑制することができる。これにより、デコーダのコストの増大を抑制することができる。また、復号処理の処理時間の増大を抑制することができる。
  <点群モデルの変換>
 より具体的には、図1の表の#1の行に示されるように、各点群モデルに関するパラメータを変換して、ポイントが疎な部分を低減させた1つのグループにまとめる(各点群モデルの変換)。つまり、そのグループをまとめて符号化し、1本のビットストリームとする。
 例えば、図2の一番左に示されるように、ポイントクラウドに点群モデル11-1乃至点群モデル11-4が存在し、それぞれに対してバウンディングボックス12-1乃至バウンディングボックス12-4が設定されているとする。点群モデル11-1乃至点群モデル11-4を互いに区別して説明しない場合、点群モデル11と称する。また、バウンディングボックス12-1乃至バウンディングボックス12-4を互いに区別して説明しない場合、バウンディングボックス12と称する。つまり、これらの点群モデル11は互いに離れており、それぞれにバウンディングボックス12が設定される。
 符号化の際は、図2の左から2番目に示されるように、これらの点群モデル11のパラメータを変換して集め、ポイントが疎な部分が少ないグループを形成させる。図2の例では、バウンディングボックス12-1乃至バウンディングボックス12-4からなるグループが形成され、そのグループ全体に対して符号化用のバウンディングボックス13が設定されている。
 この変換の内容(変換するパラメータ)は任意である。例えば、図1の表に示されるように、点群モデル11の座標を変換してもよい。例えば、その座標変換として、点群モデル11の座標をシフト(Shift)してもよい(点群モデル11の位置を移動してもよい)。つまり、図2の一番左に示されるポイントクラウドにおける点群モデル11-1乃至点群モデル11-4のそれぞれの位置は、他と空間的に離れていてもよい。このような変換により、例えば、各点群モデルの位置を近づけることができ、グループの疎な部分を低減させることができる。
 また、点群モデル11の座標を回転(Rotate)してもよい(点群モデル11の姿勢を回転してもよい)。つまり、図2の一番左に示されるポイントクラウドにおける点群モデル11-1乃至点群モデル11-4のそれぞれの姿勢(向き)は、他と異なっていてもよい。このような変換により、例えば、各点群モデルの姿勢を揃えることができ、グループの疎な部分を低減させることができる。
 また、例えば、図1の表に示されるように、点群モデル11の時刻(タイムスタンプ(TimeStump))を変換してもよい。つまり、図2の一番左に示されるポイントクラウドにおける点群モデル11-1乃至点群モデル11-4のそれぞれの位置は、他と時間的に離れていてもよい(他と異なる時刻に存在する点群モデルを含むようにしてもよい)。このような変換により、例えば、各点群モデルの時刻を揃えることができ、互いに異なる時刻に存在する点群モデル同士を1つのグループにまとめることができる。
 また、例えば、図1の表に示されるように、点群モデル11の大きさ(スケール(Scale))を変換してもよい。つまり、図2の一番左に示されるポイントクラウドにおける点群モデル11-1乃至点群モデル11-4のそれぞれのスケールは、他と異なっていてもよい。このような変換により、例えば、各点群モデルの大きさ(スケール)を揃えたり、空間方向の解像度を揃えたりすることができる。
 また、例えば、図1の表に示されるように、点群モデル11のフレームレート(Frame Rate)を変換するようにしてもよい。つまり、図2の一番左に示されるポイントクラウドにおける点群モデル11-1乃至点群モデル11-4のそれぞれのフレームレートは、他と異なっていてもよい。このような変換により、例えば、各点群モデルのフレームレート(つまり時間方向の解像度)を揃えることができる。
 図2において、符号化の際は、左から2番目に示される符号化用のバウンディングボックス13内の点群モデルのグループを2次元平面に投影し、ビデオフレームにパッキングし、左から3番目に示されるように、属性情報(Texture)を含むカラービデオフレーム14、位置情報(Depth)を含むジオメトリビデオフレーム15、およびオキュパンシーマップ16を生成する。
 そして、2次元画像用の符号化方式を用いて符号化し、図2の一番右に示されるように、1本の2Dビットストリーム17(オキュパンシーマップ18およびヘッダ(Header)19を含む)を生成する。つまり、点群モデル11-1乃至点群モデル11-4の符号化データが、この1本の2Dビットストリーム17に格納される。
 このようにすることにより、ビットストリーム数の増大を抑制し、復号処理の負荷の増大を抑制することができる。
  <変換情報のシグナル>
 復号の場合は、以上の逆処理が行われる。つまり、各点群モデルを、図2の左から2番目のグループの状態から、左から1番目の元の状態に戻す逆変換処理が行われる。そこで、復号の際にこの逆変換を行うことができるように、図1の表の#1の行に示されるように、符号化の際に行われる点群モデルに関するパラメータの変換(図2の左から1番目状態から2番目の状態への変換)の内容を示す変換情報を生成し、(例えばビットストリームに含めて)復号側に伝送する(つまり、変換情報のシグナリングを行う)。
 この変換情報は、変換の内容(変換したパラメータの変化量)を示すものであればどのような情報であってもよい。例えば、図1の表に示されるように、変換したパラメータ(例えば、Shift、Rotate、Time Stump、Scale、Frame Rate等)の、変換前後の比率を示す情報であってもよい。また、例えば、図1の表に示されるように、変換したパラメータ(例えば、Shift、Rotate、Time Stump、Scale、Frame Rate等)の、変換前後の差分を示す情報であってもよい。
 また、この変換情報の伝送の方法は任意である。例えば、点群モデルの符号化データを含むビットストリームに関連付けて伝送するようにしてもよい。例えば、そのビットストリームに含めるようにしてもよい。例えば、図2に示されるように、このような変換情報をBB情報21として2Dビットストリーム17のヘッダ(Header)19に含めるようにしてもよい。
 例えば、BB情報21には、変換情報として、シフト量を示す情報(Shift x/y/z)、回転量を示す情報(Rotate x/y/z)、タイムスタンプの変化量を示す情報(Time Stump)、スケールの変化量を示す情報(Scale x/y/z)、フレームレートの変化量を示す情報(Frame Rate)等が含まれる。符号化の際には、このBB情報21が生成されてヘッダ19に格納され、復号の際には、そのBB情報21がヘッダ19から読みだされて逆変換に利用される。
  <点群モデルの投影面設定>
 なお、図1の表の#2の行に示されるように、図2の左から2番目に示される点群モデルのグループを2次元平面に投影する場合に、その投影面を、点群モデル毎に設定することができるようにしてもよい。このようにすることにより、各点群モデルをより適切な投影面に投影することができるので、点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
 例えば、図1の表に示されるように、各点群モデルの直交6方向の投影面を回転(Rotate)させることができるようにしてもよい。このようにすることにより、比較的容易に投影面を点群モデルに対してより適切な面(効率の良い投影を行うことができる面)とすることができる。
 また、図1の表に示されるように、任意の投影面を設定(追加)することができるようにしてもよい。このようにすることにより、各点群モデルの投影面の自由度を向上させることができ、より効率の良い投影を行うことが期待できる(符号化効率のさらなる向上を期待することができる)。
  <投影面情報のシグナル>
 なお、このように点群モデル毎に投影面を設定する場合(グループ共通の投影面としない場合)、復号の際(ポイントクラウドを再構築する際)に、その投影面の情報も必要になる。そこで、図1の表の#2の行に示されるように、以上のように設定する投影面に関する情報である投影面情報を復号側に伝送する(投影面情報のシグナリング)。
 この投影面情報は、図1の表に示されるように、投影面の特定に必要な情報であれば、どのような情報を含むようにしてもよい。例えば、図2に示されるように、この投影面情報22を、オキュパンシーマップ16(すなわちオキュパンシーマップ18)に格納するようにしてもよい。
 例えば、投影面情報22には、直交6方向の投影面のシフト量を示す情報(Shift x/y/z)、スケールの変化量を示す情報(Scale x/y/z)、回転量を示す情報(Rotate x/y/z)等が含まれる。また、例えば、投影面情報22には、追加した任意の投影面を示す情報が含まれるようにしてもよい。
 符号化の際には、この投影面情報22が生成されてオキュパンシーマップ16に格納され、復号の際には、その投影面情報22がオキュパンシーマップ16から読みだされてポイントクラウドの再構築に利用される。
 <2.部分デコード対応>
  <点群モデル毎のパッチ配置制御>
 また、図1の表の#3の行に示されるように、各点群モデルのパッチを2次元画像に配置し、ビデオフレームとしてパッキングする場合に、パッチを配置する領域を点群モデル毎に制御することができるようにしてもよい。例えば、互いに同一の点群モデルに属するパッチを、互いに同一の領域に配置するようにしてもよい。この領域は任意である。例えば、独立に復号可能な符号化単位であってもよい。すなわち、互いに同一の点群モデルに属するパッチを、互いに同一の、独立に復号可能な符号化単位に配置するようにしてもよい。
 この独立に復号可能な符号化単位は任意である。例えば、図1の表に示されるように、フレームであってもよいし、スライスであってもよいし、タイルであってもよい。
 例えば、図3のAに示されるように、ポイントクラウドに点群モデル31-1と点群モデル31-2が存在するとする。点群モデル31-1にはバウンディングボックス32-1が設定され、点群モデル31-2にはバウンディングボックス32-2が設定される。つまり、これらは互いに独立した点群モデルである。点群モデル31-1および点群モデル31-2のパッチを2次元画像33に配置してパッキングする場合、従来の方法では、図3のBに示されるように両者のパッチは領域を分けずに配置されていた。図3のBにおいて、パッチ34-1乃至パッチ34-4は、点群モデル31-1のパッチであり、パッチ35-1乃至パッチ35-5は、点群モデル31-2のパッチである。これを図3のCに示されるように、点群モデル31-1のパッチ34-1乃至パッチ34-4は、例えば、2次元画像33のスライス36-2に配置し、点群モデル31-2のパッチ35-1乃至パッチ35-5は、2次元画像33のスライス36-1に配置するようにする。
 このようにパッチを配置する独立に復号可能な符号化単位を、点群モデル毎に制御する(互いに同一の点群モデルに属するパッチを、互いに同一の、独立に復号可能な符号化単位に配置する)ことにより、一部の点群モデルのみを復号して再構築する、所謂「部分デコード」を実現することができる。例えば図3のCの場合、スライス36-1およびスライス36-2は互いに独立に復号可能な符号化単位であるので、スライス36-1のパッチ35-1乃至パッチ35-5のみを復号したり、スライス36-2のパッチ34-1乃至パッチ34-4のみを復号したりすることができる。つまり、点群モデル31-1のみを復号して再構築したり、点群モデル31-2のみを復号して再構築したりすることができる。
  <モデル情報のシグナル>
 なお、このような部分デコードを行うためには、復号側においてどの領域(どの独立に復号可能な符号化単位)にどの点群モデルのパッチが配置されているかを把握する必要がある。そこで、図1の表の#3の行に示されるように、点群モデルに関する情報であるモデル情報を生成し、符号化側から復号側に伝送する(シグナルする)。
 このモデル情報の内容は任意である。例えば、図1の表に示されるように、ビデオフレームにパッキングされる点群モデルの数を示す情報がモデル情報に含まれていてもよい。また、例えば、図1の表に示されるように、各点群モデルのパッチが配置された領域(独立に復号可能な符号化単位)を示す情報がモデル情報に含まれていてもよい。
 なお、このモデル情報の伝送の方法は任意である。例えば、点群モデルの符号化データを含むビットストリームに関連付けて伝送するようにしてもよい。例えば、そのビットストリームに含めるようにしてもよい。例えば、図2に示されるように、このようなモデル情報をBB情報21として2Dビットストリーム17のヘッダ(Header)19に含めるようにしてもよい。
 例えば、BB情報21には、モデル情報として、モデル数と、各点群モデルのパッチの配置領域に関する情報とが含まれる。符号化の際には、このBB情報21が生成されてヘッダ19に格納され、復号の際には、そのBB情報21がヘッダ19から読みだされて部分デコードに利用される。
 <3.第1の実施の形態>
  <符号化装置>
 次に、以上のような各手法を実現する構成について説明する。図4は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図4に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
 なお、図4においては、処理部やデータの流れ等の主なものを示しており、図4に示されるものが全てとは限らない。つまり、符号化装置100において、図4においてブロックとして示されていない処理部が存在したり、図4において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置100内の処理部等を説明する他の図においても同様である。
 図4に示されるように符号化装置100は、モデル変換部111、パッチ分解部112、パッキング部113、補助パッチ情報圧縮部114、ビデオ符号化部115、ビデオ符号化部116、OMap符号化部117、マルチプレクサ118、およびBB情報生成部119を有する。
 モデル変換部111は、点群モデルに関するパラメータの変換に関する処理を行う。例えば、モデル変換部111は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド(Point Cloud))を取得する。また、モデル変換部111は、その取得したポイントクラウドに含まれる点群モデルに関するパラメータを変換する。その際、モデル変換部111は、<ビットストリーム数の低減>や<点群モデルの変換>において上述した方法により、各点群モデルに関するパラメータを変換し、複数の点群モデルを1つのグループにまとめる。モデル変換部111は、パラメータを変換した点群モデル、すなわち、1つのグループにまとめた点群モデルを含むポイントクラウドをパッチ分解部112に供給する。
 また、モデル変換部111は、<変換情報のシグナル>において上述した方法により、その変換についての変換情報を生成する。モデル変換部111は、生成した変換情報をBB情報生成部119に供給する。
 パッチ分解部112は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部112は、モデル変換部111から供給されるポイントクラウド(グループにまとめられた複数の点群モデルを含むポイントクラウド)を取得する。また、パッチ分解部112は、取得したそのポイントクラウドを複数のセグメンテーションに分解し、そのセグメンテーション毎にポイントクラウドを2次元平面に投影し、位置情報のパッチや属性情報のパッチを生成する。パッチ分解部112は、生成した各パッチに関する情報をパッキング部113に供給する。また、パッチ分解部112は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部114に供給する。
 パッキング部113は、データのパッキングに関する処理を行う。例えば、パッキング部113は、パッチ分解部112からポイントの位置を示す位置情報(Geometry)のパッチに関する情報や、その位置情報に付加される色情報等の属性情報(Texture)のパッチに関する情報を取得する。
 また、パッキング部113は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング部113は、位置情報のパッチを2次元画像に配置して、位置情報のビデオフレーム(ジオメトリビデオフレームとも称する)としてパッキングする。また、例えば、パッキング部113は、属性情報のパッチを2次元画像に配置して、属性情報のビデオフレーム(カラービデオフレームとも称する)としてパッキングする。
 これらのパッキングの際、パッキング部113は、<点群モデル毎のパッチ配置制御>において上述した方法により、パッチを配置する領域(独立に復号可能な符号化単位)を点群モデル毎に制御する。そして、パッキング部113は、<モデル情報のシグナル>において上述した方法により、モデル情報を生成する。パッキング部113は、生成したモデル情報をBB情報生成部119に供給する。
 また、パッキング部113は、これらのビデオフレームに対応するオキュパンシーマップを生成する。さらに、パッキング部113は、カラービデオフレームに対してDilation処理を行う。
 パッキング部113は、このように生成したジオメトリビデオフレームをビデオ符号化部115に供給する。また、パッキング部113は、このように生成したカラービデオフレオームをビデオ符号化部116に供給する。さらに、パッキング部113は、このように生成したオキュパンシーマップをOMap符号化部117に供給する。また、パッキング部113は、このようなパッキングに関する制御情報をマルチプレクサ118に供給する。
 補助パッチ情報圧縮部114は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部114は、パッチ分解部112から供給されるデータを取得する。補助パッチ情報圧縮部114は、取得したデータに含まれる補助パッチ情報を符号化(圧縮)する。補助パッチ情報圧縮部114は、得られた補助パッチ情報の符号化データをマルチプレクサ118に供給する。
 ビデオ符号化部115は、位置情報(Geometry)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部115は、パッキング部113から供給されるジオメトリビデオフレームを取得する。また、ビデオ符号化部115は、その取得したジオメトリビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部115は、その符号化により得られた符号化データ(ジオメトリビデオフレームの符号化データ)をマルチプレクサ118に供給する。
 ビデオ符号化部116は、属性情報(Texture)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部116は、パッキング部113から供給されるカラービデオフレームを取得する。また、ビデオ符号化部116は、その取得したカラービデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部116は、その符号化により得られた符号化データ(カラービデオフレームの符号化データ)をマルチプレクサ118に供給する。
 OMap符号化部117は、オキュパンシーマップの符号化に関する処理を行う。例えば、OMap符号化部117は、パッキング部113から供給されるオキュパンシーマップを取得する。また、OMap符号化部117は、その取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化する。OMap符号化部117は、その符号化により得られた符号化データ(オキュパンシーマップの符号化データ)をマルチプレクサ118に供給する。
 マルチプレクサ118は、多重化に関する処理を行う。例えば、マルチプレクサ118は、補助パッチ情報圧縮部114から供給される補助パッチ情報の符号化データを取得する。また、マルチプレクサ118は、パッキング部113から供給されるパッキングに関する制御情報を取得する。さらに、マルチプレクサ118は、ビデオ符号化部115から供給されるジオメトリビデオフレームの符号化データを取得する。また、マルチプレクサ118は、ビデオ符号化部116から供給されるカラービデオフレームの符号化データを取得する。さらに、マルチプレクサ118は、OMap符号化部117から供給されるオキュパンシーマップの符号化データを取得する。また、マルチプレクサ118は、BB情報生成部119から供給されるBB情報を取得する。
 マルチプレクサ118は、取得したそれらの情報を多重化して、ビットストリーム(Bitstream)を生成する。マルチプレクサ118は、その生成したビットストリームを符号化装置100の外部に出力する。
 BB情報生成部119は、BB情報の生成に関する処理を行う。例えば、BB情報生成部119は、モデル変換部111から供給される変換情報を取得する。また、BB情報生成部119は、パッキング部113から供給されるモデル情報を取得する。BB情報生成部119は、取得した変換情報およびモデル情報を含むBB情報を生成する。BB情報生成部119は、生成したBB情報をマルチプレクサ118に供給する。つまり、BB情報を復号側に伝送させる。
 このような構成とすることにより、符号化装置100は、ポイントクラウドの複数の点群モデルを変換してまとめ、符号化して1つのビットストリームに格納することができる。つまり、ポイントクラウドに複数の点群モデルが存在する場合も、符号化効率の低減を抑制しながらビットストリーム数の増大を抑制することができる。したがって、符号化装置100は、復号に必要なインスタンス数の増大を抑制することができる。すなわち、復号処理の負荷の増大を抑制することができる。これにより、デコーダのコストの増大を抑制することができる。また、復号処理の処理時間の増大を抑制することができる。
  <符号化処理の流れ>
 次に、符号化装置100により実行される符号化処理の流れの例を、図5のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100のモデル変換部111は、ステップS101において、変換処理を実行し、ポイントクラウドに含まれる複数の点群モデルを変換して1つのグループにまとめる。また、モデル変換部111は、その変換についての変換情報を生成する。
 ステップS102において、パッチ分解部112は、ステップS101においてまとめられた複数の点群モデル(のグループ)を2次元平面に投影し、パッチに分解する。その際、パッチ分解部112が、例えば<点群モデルの投影面設定>等において上述したような方法により、各点群モデルの投影面を設定するようにしてもよい。このようにすることにより、パッチ分解部112は、各点群モデルをより適切な投影面に投影することができるので、点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
 また、パッチ分解部112が、例えば<投影面情報のシグナル>等において上述したような方法により、その投影面の設定に関する投影面情報を生成し、復号側に伝送するようにしてもよい。このようにすることにより、復号側において、正しく復号する(正しくポイントクラウドを再構築する)ことができる。
 また、パッチ分解部112は、その分解についての補助パッチ情報を生成する。
 ステップS103において、補助パッチ情報圧縮部114は、ステップS102において生成された補助パッチ情報を圧縮(符号化)する。
 ステップS104において、パッキング部113は、パッキング処理を実行し、ステップS102において生成された位置情報や属性情報の各パッチを2次元画像に配置してビデオフレームとしてパッキングする。また、パッキング部113は、モデル情報やオキュパンシーマップを生成する。さらに、パッキング部113は、カラービデオフレームに対してDilation処理を行う。また、パッキング部113は、このようなパッキングに関する制御情報を生成する。
 ステップS105において、BB情報生成部119は、BB情報生成処理を実行し、ステップS101において生成される変換情報や、ステップS104において生成されるモデル情報等を含むBB情報を生成する。
 ステップS106において、ビデオ符号化部115は、ステップS104において生成されたジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。その際、ビデオ符号化部115は、ステップS104において各点群モデルのパッチを配置する独立に復号可能な符号化単位の設定(符号化単位領域設定)に従って、ジオメトリビデオフレームを符号化する。つまり、例えば、スライスやタイルが設定されている場合、ジオメトリビデオフレームを、そのスライスやタイル毎に独立して符号化する。
 ステップS107において、ビデオ符号化部116は、ステップS104において生成されたカラービデオフレームを、2次元画像用の符号化方法により符号化する。その際、ビデオ符号化部116は、ステップS104において各点群モデルのパッチを配置する独立に復号可能な符号化単位の設定(符号化単位領域設定)に従って、カラービデオフレームを符号化する。つまり、例えば、スライスやタイルが設定されている場合、カラービデオフレームを、そのスライスやタイル毎に独立して符号化する。
 ステップS108において、OMap符号化部117は、ステップS104において生成されたオキュパンシーマップを、所定の符号化方法により符号化する。
 ステップS109において、マルチプレクサ118は、以上のように生成された各種情報(例えば、ステップS103において生成された補助パッチ情報の符号化データ、ステップS104において生成されたパッキングに関する制御情報、ステップS105において生成されたBB情報、ステップS106において生成されたジオメトリビデオフレームの符号化データ、ステップS107において生成されたカラービデオフレームの符号化データ、ステップS108において生成されたオキュパンシーマップの符号化データ等)を多重化し、これらの情報を含むビットストリームを生成する。
 ステップS110において、マルチプレクサ118は、ステップS109において生成したビットストリームを符号化装置100の外部に出力する。
 ステップS110の処理が終了すると、符号化処理が終了する。
  <変換処理の流れ>
 次に、図5のステップS101において実行される変換処理の流れの例を、図6のフローチャートを参照して説明する。
 変換処理が開始されると、モデル変換部111は、ステップS131において、バウンディングボックス設定処理を実行し、各点群モデルのバウンディングボックスを設定する。
 ステップS132において、モデル変換部111は、ステップS131において設定した各バウンディングボックス(各点群モデル)のパラメータを変換する。例えば、モデル変換部111は、<点群モデルの変換>等において上述したように、シフト、回転、タイムスタンプ、スケール、またはフレームレート等のパラメータを変換する。このようにすることにより、モデル変換部111は、ポイントクラウドに複数の点群モデルが存在する場合も、符号化効率の低減を抑制しながらビットストリーム数の増大を抑制することができる。したがって、モデル変換部111は、復号に必要なインスタンス数の増大を抑制することができる。すなわち、復号処理の負荷の増大を抑制することができる。これにより、デコーダのコストの増大を抑制することができる。また、復号処理の処理時間の増大を抑制することができる。
 ステップS133において、モデル変換部111は、<変換情報のシグナル>等において上述したように、各バウンディングボックスのパラメータの変換情報を生成する。例えば、モデル変換部111は、変換前後の比率や差分等を示す変換情報を生成する。このようにすることにより、モデル変換部111は、復号側において、正しく逆変換を行うことができるようにすることができる。
 ステップS133の処理が終了すると、変換処理が終了する。
  <バウンディングボックス設定処理の流れ>
 次に、図6のステップS131において実行されるバウンディングボックス設定処理の流れの例を、図7のフローチャートを参照して説明する。
 バウンディングボックス設定処理が開始されると、モデル変換部111は、ステップS141において、ポイントクラウドに含まれる各点群モデルの部分の法線ベクトルを導出する。
 ステップS142において、モデル変換部111は、ステップS141において導出された法線方向の分布が多いものが直交投影ベクトルと合うように、バウンディングボックスを設定する。ステップS142の処理が終了すると、バウンディングボックス設定処理が終了し、処理は図6に戻る。
  <パッキング処理の流れ>
 次に、図5のステップS104において実行されるパッキング処理の流れの例を、図8のフローチャートを参照して説明する。
 パッキング処理が開始されると、パッキング部113は、ステップS151において、点群モデルに応じて符号化単位領域を設定し、各点群モデルに互いに異なる符号化単位領域を割り当てる。
 ステップS152において、パッキング部113は、各点群モデルの各パッチについて、ステップS151においてその点群モデルに割り当てた符号化単位領域内で最適な位置を探索し、配置する。
 つまり、パッキング部113は、<点群モデル毎のパッチ配置制御>等において上述したような方法により、互いに同一の点群モデルに属するパッチを、互いに同一の、独立に復号可能な符号化単位に配置して、ジオメトリビデオフレームやカラービデオフレームを生成する。このようにすることにより、復号側において、一部の点群モデルのみを復号して再構築する、所謂「部分デコード」を実現することができる。
 ステップS153において、パッキング部113は、<モデル情報のシグナル>において上述したような方法により、ステップS152における点群モデルの配置についてのモデル情報を生成する。このようにすることにより、復号側において、一部の点群モデルのみを復号して再構築する、所謂「部分デコード」を実現することができる。
 ステップS154において、パッキング部113は、オキュパンシーマップを生成する。
 ステップS155において、パッキング部113は、カラービデオフレームに対して、Dilation処理を行う。
 ステップS155の処理が終了すると、パッキング処理が終了し、処理は図5に戻る。
  <BB情報生成処理の流れ>
 次に、図5のステップS105において実行されるBB情報生成処理の流れの例を、図9のフローチャートを参照して説明する。
 BB情報生成処理が開始されると、BB情報生成部119は、ステップS161において、図6のステップS133において生成された変換情報を取得する。
 ステップS162において、BB情報生成部119は、図8のステップS153において生成されたモデル情報を取得する。
 ステップS163において、BB情報生成部119は、それらの変換情報およびモデル情報を含むBB情報を生成する。このBB情報は、ステップS109(図5)において、マルチプレクサ118により符号化データ等とともに多重化される。
 ステップS163の処理が終了すると、BB情報生成処理が終了し、処理は図5に戻る。
 以上のように各処理を実行することにより、ビットストリーム数の増大を抑制し、復号処理の負荷の増大を抑制することができる。
 <4.第2の実施の形態>
  <復号装置>
 図10は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図10に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3次元空間に投影する装置(ビデオベースドアプローチを適用した復号装置)である。例えば、復号装置200は、符号化装置100(図4)がポイントクラウドを符号化して生成したビットストリームを復号し、ポイントクラウドを再構築する。
 なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、復号装置200において、図10においてブロックとして示されていない処理部が存在したり、図10において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、復号装置200内の処理部等を説明する他の図においても同様である。
 図10に示されるように復号装置200は、デマルチプレクサ211、補助パッチ情報復号部212、点群モデル選択部213、ビデオ復号部214、ビデオ復号部215、OMap復号部216、アンパッキング部217、および3D再構築部218を有する。
 デマルチプレクサ211は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ211は、復号装置200に入力されるビットストリームを取得する。このビットストリームは、例えば、符号化装置100より供給される。デマルチプレクサ211は、このビットストリームを逆多重化し、補助パッチ情報の符号化データを抽出し、それを補助パッチ情報復号部212に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、ジオメトリビデオフレームの符号化データを抽出し、それをビデオ復号部214に供給する。さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、カラービデオフレームの符号化データを抽出し、それをビデオ復号部215に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、オキュパンシーマップの符号化データを抽出し、それをOMap復号部216に供給する。さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、パッキングに関する制御情報を抽出し、それをアンパッキング部217に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、BB情報を抽出し、それを点群モデル選択部213や3D再構築部218に供給する。
 補助パッチ情報復号部212は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部212は、デマルチプレクサ211から供給される補助パッチ情報の符号化データを取得する。また、補助パッチ情報復号部212は、その取得したデータに含まれる補助パッチ情報の符号化データを復号(伸長)する。補助パッチ情報復号部212は、復号して得られた補助パッチ情報を3D再構築部218に供給する。
 点群モデル選択部213は、部分デコードする点群モデルの選択に関する処理を行う。例えば、点群モデル選択部213は、デマルチプレクサ211からBB情報を取得する。また、点群モデル選択部213は、そのBB情報に含まれるモデル情報に基づいて、ユーザ等により入力される点群モデルの指定を受け付ける。例えば、点群モデル選択部213は、モデル情報に含まれる点群モデルを選択肢としてユーザ等に提示し、その中から復号する点群モデルを選択させる。点群モデル選択部213は、選択された点群モデルに対応する(その点群モデルのパッチが配置された)領域(独立に復号可能な符号化単位)を指定する情報を、ビデオ復号部214、ビデオ復号部215、およびOMap復号部216に供給する。
 ビデオ復号部214は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部214は、デマルチプレクサ211から供給されるジオメトリビデオフレームの符号化データを取得する。ビデオ復号部214は、そのジオメトリビデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。
 なお、ビデオ復号部214は、点群モデル選択部213により指定される領域(独立に復号可能な符号化単位)を部分デコードすることができる。例えば、ビデオ復号部214は、点群モデル選択部213により復号する領域が指定される場合、ジオメトリビデオフレームの符号化データの、その指定された領域を、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。例えば、ビデオ復号部214は、ジオメトリビデオフレームの符号化データの、点群モデル選択部213により指定されるフレーム/スライス/タイル等を復号する。
 以上のように、ビデオ復号部214は、ジオメトリビデオフレームの部分デコードを行うことができる。ビデオ復号部214は、その復号して得られたジオメトリビデオフレーム(または、その内の一部の領域)を、アンパッキング部217に供給する。
 ビデオ復号部215は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部215は、デマルチプレクサ211から供給されるカラービデオフレームの符号化データを取得する。ビデオ復号部215は、そのカラービデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。
 なお、ビデオ復号部215は、点群モデル選択部213により指定される領域(独立に復号可能な符号化単位)を部分デコードすることができる。例えば、ビデオ復号部215は、点群モデル選択部213により復号する領域が指定される場合、カラービデオフレームの符号化データの、その指定された領域を、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。例えば、ビデオ復号部215は、カラービデオフレームの符号化データの、点群モデル選択部213により指定されるフレーム/スライス/タイル等を復号する。
 以上のように、ビデオ復号部215は、カラービデオフレームの部分デコードを行うことができる。ビデオ復号部215は、その復号して得られたカラービデオフレーム(または、その内の一部の領域)を、アンパッキング部217に供給する。
 OMap復号部216は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部216は、デマルチプレクサ211から供給されるオキュパンシーマップの符号化データを取得する。OMap復号部216は、そのオキュパンシーマップの符号化データを、その符号化方式に対応する任意の復号方法により復号する。
 なお、OMap復号部216は、点群モデル選択部213により指定される領域(独立に復号可能な符号化単位)を部分デコードすることができる。例えば、OMap復号部216は、点群モデル選択部213により復号する領域が指定される場合、オキュパンシーマップの符号化データの、その指定された領域を、その符号化方式に対応する任意の復号方法により復号する。例えば、OMap復号部216は、オキュパンシーマップの符号化データの、点群モデル選択部213により指定されるフレーム/スライス/タイル等を復号する。
 以上のように、OMap復号部216は、オキュパンシーマップの部分デコードを行うことができる。OMap復号部216は、その復号して得られたオキュパンシーマップ(または、その内の一部の領域)を、アンパッキング部217に供給する。
 アンパッキング部217は、アンパッキングに関する処理を行う。例えば、アンパッキング部217は、ビデオ復号部214からジオメトリビデオフレームを取得し、ビデオ復号部215からカラービデオフレームを取得し、OMap復号部216からオキュパンシーマップを取得する。また、アンパッキング部217は、パッキングに関する制御情報に基づいて、ジオメトリビデオフレームやカラービデオフレームをアンパッキングする。アンパッキング部217は、アンパッキングして得られた位置情報(Geometry)のデータ(ジオメトリパッチ等)や属性情報(Texture)のデータ(テクスチャパッチ等)、並びにオキュパンシーマップ等を、3D再構築部218に供給する。
 3D再構築部218は、ポイントクラウドの再構築に関する処理を行う。例えば、3D再構築部218は、デマルチプレクサ211から供給されるBB情報、補助パッチ情報復号部212から供給される補助パッチ情報、並びに、アンパッキング部217から供給される位置情報(Geometry)のデータ(ジオメトリパッチ等)、属性情報(Texture)のデータ(テクスチャパッチ等)、およびオキュパンシーマップ等に基づいて、ポイントクラウドを再構築する。
 例えば、3D再構築部218は、投影面情報に基づいて、グループ内の各点群モデルに対応する投影面を特定し、その投影面を用いてパッチ等からポイントクラウドを再構築する。したがって、復号装置200は、各点群モデルをより適切な投影面に投影することができるので、点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
 また、例えば、3D再構築部218は、BB情報に含まれる変換情報を用いて、再構築した点群モデルを逆変換することができる。したがって、3D再構築部218は、符号化側において行われた変換処理に正しく対応するように、逆変換を行うことができる。
 3D再構築部218は、再構築したポイントクラウドを復号装置200の外部に出力する。このポイントクラウドは、例えば、表示部に供給されて画像化され、その画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
 このような構成とすることにより、復号装置200は、1本のビットストリームにまとめられた複数の点群モデルを正しく復号することができる。したがって、復号装置200は、ポイントクラウドに複数の点群モデルが存在する場合も、符号化効率の低減を抑制しながらビットストリーム数の増大を抑制することができる。したがって、復号装置200は、自身に必要なインスタンス数の増大を抑制することができる。すなわち、復号処理の負荷の増大を抑制することができる。これにより、デコーダのコストの増大を抑制することができる。また、復号処理の処理時間の増大を抑制することができる。
  <復号処理の流れ>
 次に、この復号装置200により実行される復号処理の流れの例を、図11のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200のデマルチプレクサ211は、ステップS201において、ビットストリームを逆多重化する。
 ステップS202において、補助パッチ情報復号部212は、ステップS201においてビットストリームから抽出された補助パッチ情報を復号する。
 ステップS203において、点群モデル選択部213は、復号する点群モデルの指定を受け付ける。
 ステップS204において、点群モデル選択部213は、BB情報に基づいて、受け付けた点群モデルの指定に対応する独立に復号可能な符号化単位(つまり、指定された点群モデルのパッチが配置された独立に復号可能な符号化単位)を選択する。
 なお、部分デコードを行わない場合、すなわち、ビデオフレーム全体を復号する場合、ステップS203およびステップS204の処理は省略するようにしてもよい。
 ステップS205において、ビデオ復号部214は、ステップS201においてビットストリームから抽出されたジオメトリビデオフレーム(位置情報のビデオフレーム)の符号化データを復号する。
 なお、部分デコードを行う場合、すなわち、ステップS203において復号する点群モデルの指定を受け付け、ステップS204において復号する符号化単位が選択された場合、ビデオ復号部214は、ジオメトリビデオフレームの、ステップS204において選択された符号化単位(例えばフレーム/スライス/タイル等)を復号する。
 ステップS206において、ビデオ復号部215は、ステップS201においてビットストリームから抽出されたカラービデオフレーム(属性情報のビデオフレーム)の符号化データを復号する。
 なお、部分デコードを行う場合、ビデオ復号部215は、カラービデオフレームの、ステップS204において選択された符号化単位(例えばフレーム/スライス/タイル等)を復号する。
 ステップS207において、OMap復号部216は、ステップS201においてビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。
 なお、部分デコードを行う場合、OMap復号部216は、オキュパンシーマップの、ステップS204において選択された符号化単位(例えばフレーム/スライス/タイル等)を復号する。
 ステップS208において、アンパッキング部217は、アンパッキングする。例えば、アンパッキング部217は、ステップS205において符号化データが復号されて得られたジオメトリビデオフレームをアンパッキングし、ジオメトリパッチを生成する。また、アンパッキング部217は、ステップS206において符号化データが復号されて得られたカラービデオフレームをアンパッキングし、テクスチャパッチを生成する。さらに、アンパッキング部217は、ステップS207において符号化データが復号されて得られたオキュパンシーマップをアンパッキングし、ジオメトリパッチやテクスチャパッチに対応するオキュパンシーマップを抽出する。
 ステップS209において、3D再構築部218は、ステップS202において得られた補助パッチ情報、並びに、ステップS208において得られたジオメトリパッチ、テクスチャパッチ、およびオキュパンシーマップ等に基づいて、ポイントクラウド(各点群モデル)を再構築する。
 ステップS210において、3D再構築部218は、BB情報に含まれる変換情報に基づいて、再構築した各点群モデルに対して、符号化側において行われた変換処理の逆処理である逆変換処理を行う。
 ステップS210の処理が終了すると復号処理が終了する。
 以上のように各処理を実行することにより、復号装置200は、ビットストリーム数の増大を抑制し、復号処理の負荷の増大を抑制することができる。
 <5.局所的な投影面制御>
 点群モデルにポイントが疎な部分がある場合、その点群モデル全体に対して設定される投影面が、点群モデルに含まれるポイントが密な部分(部分点群モデルとも称する)にとって、その最適な投影方向であるとは限らない。つまり、部分点群モデルを非効率な方向に投影し、符号化効率が低減するおそれがあった。
  <投影面の局所的な制御>
 そこで、図12の表の上から1段目に示されるように、点群モデルの投影面を局所的に制御するようにしてもよい。例えば、図12の表の上から2段目に示されるように、ポイントが疎な部分を含む点群モデルを複数の部分点群モデルに分割し、部分点群モデル毎に投影面を設定するようにしてもよい。
 この投影モデルの分割の仕方は任意である。例えば図12の表に示されるように、点群モデルに含まれる密な点群毎に分割し、部分点群モデル化するようにしてもよい。
 例えば、図13の一番左に示されるように、バウンディングボックス312に対応する点群モデルが、ポイントが疎な部分を含み、ポイントが密な部分点群モデル311-1および部分点群モデル311-2を有するとする。このような場合に、部分点群モデル311-1および部分点群モデル311-2を分割し、それぞれ独立に投影面を設定する。例えば、図13の左から2番目に示されるように、部分点群モデル311-1に対して直交6方向の投影面313-1を設定し、部分点群モデル311-2に対して直交6方向の投影面313-2を設定する。そして、それぞれその投影面に投影してパッチを生成し、2次元画像に配置して、図13の左から3番目にしめされるようにカラービデオフレーム(Texture)314、ジオメトリビデオフレーム(Depth)315、およびオキュパンシーマップ(Occupancy Map)315を生成する。そして、それらを符号化して、2Dビットストリーム317およびオキュパンシーマップ318を生成する。復号の際は、これらの逆処理を行う。
 このようにすることにより、部分点群モデル毎に投影面を設定することができるので、各部分点群モデルをより適切な投影面に投影することができる。したがって、点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
 例えば図12の表に示されるように、各部分点群モデルの直交6方向の投影面を回転(Rotate)させることができるようにしてもよい。このようにすることにより、比較的容易に投影面を部分点群モデルに対してより適切な面(効率の良い投影を行うことができる面)とすることができる。
 また、例えば図12の表に示されるように、任意の投影面を設定(追加)することができるようにしてもよい。このようにすることにより、各部分点群モデルの投影面の自由度を向上させることができ、より効率の良い投影を行うことが期待できる(符号化効率のさらなる向上を期待することができる)。
  <投影面情報のシグナル>
 なお、このように部分点群モデル毎に投影面を設定する場合(点群モデル全体の投影面としない場合)、復号の際(ポイントクラウドを再構築する際)に、その投影面の情報も必要になる。そこで、図12の表の上から2行目に示されるように、以上のように設定する投影面に関する情報である投影面情報を生成し、復号側に伝送する(投影面情報のシグナリング)。
 例えば、図13の左から2番目のように、部分点群モデル毎に投影面(投影面313-1および投影面313-2)を設定すると、それらの投影面について投影面情報321が生成される。
 この投影面情報は、例えば図12の表に示されるように、投影面の特定に必要な情報であれば、どのような情報を含むようにしてもよい。例えば、図13の場合、この投影面情報321には、投影面の回転量を示す情報(Rotate x/y/z)等が含まれる。勿論これ以外にも、例えば、直交6方向の投影面のシフト量を示す情報(Shift x/y/z)、スケールの変化量を示す情報(Scale x/y/z)等が含まれるようにしてもよい。また、例えば、投影面情報321には、追加した任意の投影面を示す情報が含まれるようにしてもよい。
 また、例えば図12の表に示されるように、この投影面情報は、オキュパンシーマップに格納されるようにしてもよい。例えば図13の場合、投影面情報321は、オキュパンシーマップ316(すなわちオキュパンシーマップ318)に格納される。符号化の際には、この投影面情報321が生成されてオキュパンシーマップ16に格納され、復号の際には、その投影面情報321がオキュパンシーマップ316から読みだされてポイントクラウドの再構築に利用される。
 <6.第3の実施の形態>
  <符号化装置>
 次に、以上のような手法を実現する構成について説明する。図14は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図14に示される符号化装置400は、符号化装置100(図4)と同様の装置であり、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
 なお、図14においては、処理部やデータの流れ等の主なものを示しており、図14に示されるものが全てとは限らない。つまり、符号化装置400において、図14においてブロックとして示されていない処理部が存在したり、図14において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置400内の処理部等を説明する他の図においても同様である。
 図14に示されるように符号化装置400は、パッチ分解部411、パッキング部412、補助パッチ情報圧縮部413、ビデオ符号化部414、ビデオ符号化部415、OMap符号化部416、およびマルチプレクサ417を有する。
 パッチ分解部411は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部411は、符号化装置400に入力されるポイントクラウドを取得する。また、パッチ分解部411は、取得したそのポイントクラウドを複数のセグメンテーションに分解し、そのセグメンテーション毎にポイントクラウドを2次元平面に投影し、位置情報のパッチや属性情報のパッチを生成する。パッチ分解部411は、生成した各パッチに関する情報をパッキング部412に供給する。また、パッチ分解部411は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部413に供給する。
 パッキング部412は、データのパッキングに関する処理を行う。例えば、パッキング部412は、パッチ分解部411からポイントの位置を示す位置情報(Geometry)のパッチに関する情報や、その位置情報に付加される色情報等の属性情報(Texture)のパッチに関する情報を取得する。
 また、パッキング部412は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング部412は、位置情報のパッチを2次元画像に配置して、ジオメトリビデオフレームとしてパッキングする。また、例えば、パッキング部412は、属性情報のパッチを2次元画像に配置して、カラービデオフレームとしてパッキングする。また、パッキング部412は、これらのビデオフレームに対応するオキュパンシーマップを生成する。さらに、パッキング部412は、カラービデオフレームに対してDilation処理を行う。
 パッキング部412は、このように生成したジオメトリビデオフレームをビデオ符号化部414に供給する。また、パッキング部412は、このように生成したカラービデオフレオームをビデオ符号化部415に供給する。さらに、パッキング部412は、このように生成したオキュパンシーマップをOMap符号化部416に供給する。また、パッキング部412は、このようなパッキングに関する制御情報をマルチプレクサ417に供給する。
 補助パッチ情報圧縮部413は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部413は、パッチ分解部411から供給されるデータを取得する。補助パッチ情報圧縮部413は、取得したデータに含まれる補助パッチ情報を符号化(圧縮)する。補助パッチ情報圧縮部413は、得られた補助パッチ情報の符号化データをマルチプレクサ417に供給する。
 ビデオ符号化部414は、位置情報(Geometry)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部414は、パッキング部412から供給されるジオメトリビデオフレームを取得する。また、ビデオ符号化部414は、その取得したジオメトリビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部414は、その符号化により得られた符号化データ(ジオメトリビデオフレームの符号化データ)をマルチプレクサ417に供給する。
 ビデオ符号化部415は、属性情報(Texture)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部415は、パッキング部412から供給されるカラービデオフレームを取得する。また、ビデオ符号化部415は、その取得したカラービデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部415は、その符号化により得られた符号化データ(カラービデオフレームの符号化データ)をマルチプレクサ417に供給する。
 OMap符号化部416は、オキュパンシーマップの符号化に関する処理を行う。例えば、OMap符号化部416は、パッキング部412から供給されるオキュパンシーマップを取得する。また、OMap符号化部416は、その取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化する。OMap符号化部416は、その符号化により得られた符号化データ(オキュパンシーマップの符号化データ)をマルチプレクサ417に供給する。
 マルチプレクサ417は、多重化に関する処理を行う。例えば、マルチプレクサ417は、補助パッチ情報圧縮部413から供給される補助パッチ情報の符号化データを取得する。また、マルチプレクサ417は、パッキング部412から供給されるパッキングに関する制御情報を取得する。さらに、マルチプレクサ417は、ビデオ符号化部414から供給されるジオメトリビデオフレームの符号化データを取得する。また、マルチプレクサ417は、ビデオ符号化部415から供給されるカラービデオフレームの符号化データを取得する。さらに、マルチプレクサ417は、OMap符号化部416から供給されるオキュパンシーマップの符号化データを取得する。
 マルチプレクサ417は、取得したそれらの情報を多重化して、ビットストリーム(Bitstream)を生成する。マルチプレクサ417は、その生成したビットストリームを符号化装置400の外部に出力する。
  <パッチ分解部>
 図15は、図14のパッチ分解部411の主な構成例を示すブロック図である。図15に示されるように、パッチ分解部411は、モデル分割部431、部分点群モデル投影面設定部432、投影面情報生成部433、部分点群モデル投影部434、および投影面情報付加部435を有する。
 モデル分割部431は、点群モデルの分割に関する処理を行う。例えば、モデル分割部431は、符号化装置400に入力されるポイントクラウド(の点群モデル)を取得する。また、モデル分割部431は、例えば<5.局所的な投影面制御>の<投影面の局所的な制御>等において上述したような方法により、その点群モデルに含まれるポイントが密な部分を部分点群モデルとし、その部分点群モデル毎に点群モデルを分割する。モデル分割部431は、設定した各部分点群モデルの情報を部分点群モデル投影面設定部432に供給する。
 部分点群モデル投影面設定部432は、各部分点群モデルに対する投影面の設定に関する処理を行う。例えば、部分点群モデル投影面設定部432は、モデル分割部431から供給される部分点群モデルに関する情報を取得する。また、部分点群モデル投影面設定部432は、例えば<5.局所的な投影面制御>の<投影面の局所的な制御>等において上述したような方法により、その部分点群モデルのそれぞれについて、投影面を設定する。部分点群モデル投影面設定部432は、このように設定した部分点群モデル毎の投影面に関する情報を、投影面情報生成部433および部分点群モデル投影部434に供給する。
 投影面情報生成部433は、投影面情報の生成に関する処理を行う。例えば、投影面情報生成部433は、部分点群モデル投影面設定部432から供給される、部分点群モデル毎に設定された投影面に関する情報を取得する。また、投影面情報生成部433は、例えば<5.局所的な投影面制御>の<投影面情報のシグナル>等において上述したような方法により、各投影面についての投影面情報を生成する。投影面情報生成部433は、生成した投影面情報を投影面情報付加部435に供給する。
 部分点群モデル投影部434は、部分点群モデル毎の投影に関する処理を行う。例えば、部分点群モデル投影部434は、部分点群モデル投影面設定部432から供給される、部分点群モデル毎に設定された投影面に関する情報を取得する。また、部分点群モデル投影部434は、取得したその投影面に関する情報を用いて、例えば<5.局所的な投影面制御>の<投影面の局所的な制御>等において上述したような方法により、各部分点群モデルを小領域毎にその投影面に投影し、パッチを生成する。部分点群モデル投影部434は、生成したパッチを投影面情報付加部435に供給する。
 投影面情報付加部435は、投影面情報の付加に関する処理を行う。例えば、投影面情報付加部435は、投影面情報生成部433から供給される投影面情報を取得する。また、投影面情報付加部435は、部分点群モデル投影部434から供給されるパッチ等を取得する。投影面情報付加部435は、例えば<5.局所的な投影面制御>の<投影面情報のシグナル>等において上述したような方法により、部分点群モデル投影部434から取得したパッチに、そのパッチの生成に用いられた投影面に関する投影面情報を付加する。また、投影面情報付加部435は、その投影面情報を付加したパッチをパッキング部412に供給する。なお、パッキング部412は、そのパッチに付加された投影面情報をオキュパンシーマップに格納する。
 このような構成とすることにより、符号化装置400は、ポイントクラウドの複数の部分点群モデル毎に投影面を他と独立に設定し、投影させることができる。このようにすることにより、各部分点群モデルをより適切な投影面に投影することができる。したがって、点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
  <符号化処理の流れ>
 次に、符号化装置400により実行される符号化処理の流れの例を、図16のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置400のパッチ分解部411は、ステップS401において、パッチ分解処理を実行し、点群モデルをパッチに分解する。また、パッチ分解部112は、その分解についての補助パッチ情報を生成する。
 ステップS402において、補助パッチ情報圧縮部413は、ステップS401において生成された補助パッチ情報を圧縮(符号化)する。
 ステップS403において、パッキング部412は、パッキング処理を実行し、ステップS401において生成された位置情報や属性情報の各パッチを2次元画像に配置してビデオフレームとしてパッキングする。また、パッキング部412は、モデル情報やオキュパンシーマップを生成する。さらに、パッキング部412は、カラービデオフレームに対してDilation処理を行う。また、パッキング部412は、このようなパッキングに関する制御情報を生成する。
 ステップS404において、ビデオ符号化部414は、ステップS403において生成されたジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。
 ステップS405において、ビデオ符号化部415は、ステップS403において生成されたカラービデオフレームを、2次元画像用の符号化方法により符号化する。
 ステップS406において、OMap符号化部416は、ステップS403において生成されたオキュパンシーマップを、所定の符号化方法により符号化する。
 ステップS407において、マルチプレクサ417は、以上のように生成された各種情報(例えば、ステップS402において生成された補助パッチ情報の符号化データ、ステップS403において生成されたパッキングに関する制御情報、ステップS404において生成されたジオメトリビデオフレームの符号化データ、ステップS405において生成されたカラービデオフレームの符号化データ、ステップS406において生成されたオキュパンシーマップの符号化データ等)を多重化し、これらの情報を含むビットストリームを生成する。
 ステップS408において、マルチプレクサ417は、ステップS407において生成したビットストリームを符号化装置400の外部に出力する。
 ステップS408の処理が終了すると、符号化処理が終了する。
  <パッチ分解処理の流れ>
 次に、図17のフローチャートを参照して、図16のステップS401において実行されるパッチ分解処理の流れの例を説明する。
 パッチ分解処理が開始されると、モデル分割部431は、ステップS421において、例えば<5.局所的な投影面制御>の<投影面の局所的な制御>等において上述したような方法により、ポイントが疎な部分を含む処理対象の点群モデルを、複数の部分点群モデルに分割する。
 ステップS422において、部分点群モデル投影面設定部432は、例えば<5.局所的な投影面制御>の<投影面の局所的な制御>等において上述したような方法により、ステップS421において設定された各部分点群モデルの投影面を設定する。
 ステップS423において、投影面情報生成部433は、例えば<5.局所的な投影面制御>の<投影面情報のシグナル>等において上述したような方法により、ステップS422において設定された各部分点群モデルの投影面についての投影面情報を生成する。
 ステップS424において、部分点群モデル投影部434は、例えば<5.局所的な投影面制御>の<投影面の局所的な制御>等において上述したような方法により、各部分点群モデルをステップS422において設定された投影面に投影し、パッチを生成する。
 ステップS425において、投影面情報付加部435は、例えば<5.局所的な投影面制御>の<投影面情報のシグナル>等において上述したような方法により、ステップS423において生成された投影面情報を、ステップS424において生成されたパッチに付与(付加)する。このパッチに付与された投影面情報は、パッキング部412により、オキュパンシーマップに格納される。
 ステップS425の処理が終了すると、パッチ分解処理が終了し、処理は図16に戻る。
  <分割処理の流れ>
 次に、図17のステップS421において実行される分割処理の流れの例を、図18のフローチャートを参照して説明する。
 分割処理が開始されると、モデル分割部431は、ステップS441において、処理対象の点群モデルのヒストグラムにより密な点群を特定する。
 ステップS442において、モデル分割部431は、ポイントの法線ベクトルに基づいて、ステップS441において特定した密な点群のそれぞれの投影方向を推定する。
 ステップS443において、モデル分割部431は、ステップS442において推定された投影方向が互いに異なる密な点群を部分点群モデルとする。
 ステップS443の処理が終了すると分割処理が終了し、処理は図17に戻る。
  <パッキング処理の流れ>
 次に、図16のステップS403において実行されるパッキング処理の流れの例を、図19のフローチャートを参照して説明する。
 パッキング処理が開始されると、パッキング部412は、ステップS461において、各部分点群モデルの各パッチを2次元画像上に配置する。
 ステップS462において、パッキング部412は、図17のステップS423において生成された投影面情報を含むオキュパンシーマップを生成する。
 ステップS463において、パッキング部412は、カラービデオフレームに対してDilation処理を行う。
 ステップS463の処理が終了するとパッキング処理が終了し、処理は図16に戻る。
 以上のように各処理を実行することにより、ポイントクラウドの複数の部分点群モデル毎に投影面を他と独立に設定することができ、各部分点群モデルをより適切な投影面に投影することができる。したがって、点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
 <7.第4の実施の形態>
  <復号装置>
 図20は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図20に示される復号装置500は、復号装置200(図10)と同様の装置であり、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3次元空間に投影する装置(ビデオベースドアプローチを適用した復号装置)である。例えば、復号装置500は、符号化装置400(図14)がポイントクラウドを符号化して生成したビットストリームを復号し、ポイントクラウドを再構築する。
 なお、図20においては、処理部やデータの流れ等の主なものを示しており、図20に示されるものが全てとは限らない。つまり、復号装置500において、図20においてブロックとして示されていない処理部が存在したり、図20において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、復号装置500内の処理部等を説明する他の図においても同様である。
 図20に示されるように復号装置500は、デマルチプレクサ511、補助パッチ情報復号部512、ビデオ復号部513、ビデオ復号部514、OMap復号部515、アンパッキング部516、および3D再構築部517を有する。
 デマルチプレクサ511は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ511は、復号装置500に入力されるビットストリームを取得する。このビットストリームは、例えば、符号化装置400より供給される。デマルチプレクサ511は、このビットストリームを逆多重化し、補助パッチ情報の符号化データを抽出し、それを補助パッチ情報復号部512に供給する。また、デマルチプレクサ511は、逆多重化により、ビットストリームから、ジオメトリビデオフレームの符号化データを抽出し、それをビデオ復号部513に供給する。さらに、デマルチプレクサ511は、逆多重化により、ビットストリームから、カラービデオフレームの符号化データを抽出し、それをビデオ復号部514に供給する。また、デマルチプレクサ511は、逆多重化により、ビットストリームから、オキュパンシーマップの符号化データを抽出し、それをOMap復号部515に供給する。さらに、デマルチプレクサ511は、逆多重化により、ビットストリームから、パッキングに関する制御情報を抽出し、それをアンパッキング部516に供給する。
 補助パッチ情報復号部512は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部512は、デマルチプレクサ511から供給される補助パッチ情報の符号化データを取得する。また、補助パッチ情報復号部512は、その取得したデータに含まれる補助パッチ情報の符号化データを復号(伸長)する。補助パッチ情報復号部512は、復号して得られた補助パッチ情報を3D再構築部517に供給する。
 ビデオ復号部513は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部513は、デマルチプレクサ511から供給されるジオメトリビデオフレームの符号化データを取得する。ビデオ復号部513は、そのジオメトリビデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。ビデオ復号部513は、その復号して得られたジオメトリビデオフレーム(または、その内の一部の領域)を、アンパッキング部516に供給する。
 ビデオ復号部514は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部514は、デマルチプレクサ511から供給されるカラービデオフレームの符号化データを取得する。ビデオ復号部514は、そのカラービデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。ビデオ復号部514は、その復号して得られたカラービデオフレーム(または、その内の一部の領域)を、アンパッキング部516に供給する。
 OMap復号部515は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部515は、デマルチプレクサ511から供給されるオキュパンシーマップの符号化データを取得する。OMap復号部515は、そのオキュパンシーマップの符号化データを、その符号化方式に対応する任意の復号方法により復号する。
 OMap復号部515は、その復号して得られたオキュパンシーマップ(または、その内の一部の領域)を、アンパッキング部516に供給する。
 アンパッキング部516は、アンパッキングに関する処理を行う。例えば、アンパッキング部516は、ビデオ復号部513からジオメトリビデオフレームを取得し、ビデオ復号部514からカラービデオフレームを取得し、OMap復号部515からオキュパンシーマップを取得する。また、アンパッキング部516は、パッキングに関する制御情報に基づいて、ジオメトリビデオフレームやカラービデオフレームをアンパッキングする。アンパッキング部516は、アンパッキングして得られた位置情報(Geometry)のデータ(ジオメトリパッチ等)や属性情報(Texture)のデータ(テクスチャパッチ等)、並びにオキュパンシーマップ等を、3D再構築部517に供給する。
 3D再構築部517は、ポイントクラウドの再構築に関する処理を行う。例えば、3D再構築部517は、補助パッチ情報復号部512から供給される補助パッチ情報、並びに、アンパッキング部516から供給される位置情報(Geometry)のデータ(ジオメトリパッチ等)、属性情報(Texture)のデータ(テクスチャパッチ等)、およびオキュパンシーマップ等に基づいて、ポイントクラウドを再構築する。
 例えば、3D再構築部517は、投影面情報に基づいて、各部分点群モデルに対応する投影面を特定し、その投影面を用いてパッチ等からポイントクラウドを再構築する。したがって、復号装置500は、より適切な投影面に投影されたパッチから各部分点群モデルを再構築することができるので、部分点群モデルの投影が非効率であることによる符号化効率の低減を抑制することができる(符号化効率を向上させることができる)。
 3D再構築部517は、再構築したポイントクラウドを復号装置500の外部に出力する。このポイントクラウドは、例えば、表示部に供給されて画像化され、その画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
 このような構成とすることにより、復号装置500は、ポイントクラウドに複数の部分点群モデルが存在する場合も、符号化効率の低減を抑制することができる。
  <復号処理の流れ>
 次に、この復号装置500により実行される復号処理の流れの例を、図21のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置500のデマルチプレクサ511は、ステップS501において、ビットストリームを逆多重化する。
 ステップS502において、補助パッチ情報復号部512は、ステップS501においてビットストリームから抽出された補助パッチ情報を復号する。
 ステップS503において、ビデオ復号部513は、ステップS501においてビットストリームから抽出されたジオメトリビデオフレーム(位置情報のビデオフレーム)の符号化データを復号する。
 ステップS504において、ビデオ復号部514は、ステップS501においてビットストリームから抽出されたカラービデオフレーム(属性情報のビデオフレーム)の符号化データを復号する。
 ステップS505において、OMap復号部515は、ステップS501においてビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。このオキュパンシーマップには、上述した投影面情報が含まれる。
 ステップS506において、アンパッキング部516は、アンパッキングする。例えば、アンパッキング部516は、ステップS503において符号化データが復号されて得られたジオメトリビデオフレームをアンパッキングし、ジオメトリパッチを生成する。また、アンパッキング部516は、ステップS504において符号化データが復号されて得られたカラービデオフレームをアンパッキングし、テクスチャパッチを生成する。さらに、アンパッキング部516は、ステップS505において符号化データが復号されて得られたオキュパンシーマップをアンパッキングし、ジオメトリパッチやテクスチャパッチに対応するオキュパンシーマップを抽出する。
 ステップS507において、3D再構築部517は、ステップS502において得られた補助パッチ情報、並びに、ステップS506において得られたジオメトリパッチ、テクスチャパッチ、およびオキュパンシーマップ、そのオキュパンシーマップに含まれる投影面情報等に基づいて、ポイントクラウド(各点群モデル)を再構築する。
 ステップS507の処理が終了すると復号処理が終了する。
 以上のように各処理を実行することにより、復号装置500は、符号化効率の低減を抑制することができる。
 <8.付記>
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図22に示されるコンピュータ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データやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブル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つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 100 符号化装置, 111 モデル変換部, 112 パッチ分解部, 113 パッキング部, 114 補助パッチ情報圧縮部, 115 ビデオ符号化部, 116 ビデオ符号化部, 117 OMap符号化部, 118 マルチプレクサ, 119 BB情報生成部, 200 復号装置, 211 デマルチプレクサ, 212 補助パッチ情報復号部, 213 点群モデル選択部, 214 ビデオ復号部, 215 ビデオ復号部, 216 OMap復号部, 217 アンパッキング部, 218 3D再構築部, 400 符号化装置, 411 パッチ分解部, 412 パッキング部, 413 補助パッチ情報圧縮部, 414 ビデオ符号化部, 415 ビデオ符号化部, 416 OMap符号化部, 417 マルチプレクサ, 431 モデル分割部, 432 部分点群モデル投影面設定部, 433 投影面情報生成部, 434 部分点群モデル投影部, 435 投影面情報付加部, 500 復号装置, 511 デマルチプレクサ, 512 補助パッチ情報復号部, 513 ビデオ復号部, 514 ビデオ復号部, 515 OMap復号部, 516 アンパッキング部, 517 3D再構築部

Claims (20)

  1.  ポイントクラウドの複数の点群モデルに関するパラメータを変換する変換部と、
     前記変換部により前記パラメータが変換された前記複数の点群モデルが投影された2次元平面画像を符号化し、前記2次元平面画像の符号化データと、前記変換部による前記パラメータの変換に関する情報である変換情報とを含むビットストリームを生成する符号化部と
     を備える画像処理装置。
  2.  前記変換部は、前記パラメータとして、前記点群モデルの座標を変換する
     請求項1に記載の画像処理装置。
  3.  前記変換部は、前記座標の変換として、前記座標のシフト若しくは回転、またはその両方を行う
     請求項2に記載の画像処理装置。
  4.  前記変換部は、前記パラメータとして、前記点群モデルの時刻を変換する
     請求項1に記載の画像処理装置。
  5.  前記変換部は、前記パラメータとして、前記点群モデルのスケールを変換する
     請求項1に記載の画像処理装置。
  6.  前記変換部は、前記パラメータとして、前記点群モデルのフレームレートを変換する
     請求項1に記載の画像処理装置。
  7.  前記変換情報は、前記変換部により変換された前記パラメータの変化量を示す情報を含む
     請求項1に記載の画像処理装置。
  8.  前記点群モデルのパッチを、前記点群モデル毎に領域を変えて配置し、ビデオフレームとしてパッキングするパッキング部をさらに備え、
     前記符号化部は、前記パッキング部により前記パッチがパッキングされた前記ビデオフレームを符号化し、前記点群モデルに関する情報であるモデル情報をさらに含む前記ビットストリームを生成する
     請求項1に記載の画像処理装置。
  9.  前記領域は、独立に復号可能な符号化単位である
     請求項8に記載の画像処理装置。
  10.  前記モデル情報は、前記ビットストリームに含まれる点群モデルの数と、各点群モデルのパッチが配置された領域を示す情報とを含む
     請求項8に記載の画像処理装置。
  11.  ポイントクラウドの複数の点群モデルに関するパラメータを変換し、
     前記パラメータが変換された前記複数の点群モデルが投影された2次元平面画像を符号化し、前記2次元平面画像の符号化データと、前記パラメータの変換に関する情報である変換情報とを含むビットストリームを生成する
     画像処理方法。
  12.  ビットストリームを復号し、複数の点群モデルが投影された2次元平面画像と、前記複数の点群モデルのそれぞれのパラメータの変換に関する情報である変換情報とを生成する復号部と、
     前記復号部により生成された前記2次元平面画像から前記複数の点群モデルのそれぞれを再構築し、前記変換情報に基づいて、前記複数の点群モデルのそれぞれのパラメータを逆変換する再構築部と
     を備える画像処理装置。
  13.  ビットストリームを復号し、複数の点群モデルが投影された2次元平面画像と、前記複数の点群モデルのそれぞれのパラメータの変換に関する情報である変換情報とを生成し、
     生成された前記2次元平面画像から前記複数の点群モデルのそれぞれを再構築し、前記変換情報に基づいて、前記複数の点群モデルのそれぞれのパラメータを逆変換する
     画像処理方法。
  14.  点群モデルを構成する複数の部分点群モデルを、それぞれ、互いに独立に設定された投影面に投影する投影部と、
     前記投影部により各投影面に投影された前記部分点群モデルのパッチが配置された2次元平面画像と、前記投影面に関する情報である投影面情報を含むオキュパンシーマップとを符号化し、ビットストリームを生成する符号化部と
     備える画像処理装置。
  15.  前記投影面情報は、前記投影面の回転量を示す情報を含む
     請求項14に記載の画像処理装置。
  16.  前記点群モデルを前記複数の部分点群モデルに分割する分割部と、
     前記複数の部分点群モデルのそれぞれについて投影面を設定する設定部と
     をさらに備える請求項14に記載の画像処理装置。
  17.  前記分割部は、
      前記点群モデルのヒストグラムにより密な点群を特定し、
      法線ベクトルに基づいて前記密な点群のそれぞれの投影方向を推定し、
      前記投影方向が互いに異なる密な点群を、部分点群モデルとして設定する
     請求項16に記載の画像処理装置。
  18.  点群モデルを構成する複数の部分点群モデルを、それぞれ、互いに独立に設定された投影面に投影し、
     各投影面に投影された前記部分点群モデルのパッチが配置された2次元平面画像と、前記投影面に関する情報である投影面情報を含むオキュパンシーマップとを符号化し、ビットストリームを生成する
     画像処理方法。
  19.  ビットストリームを復号し、点群モデルが投影された2次元平面画像と、前記点群モデルに含まれる複数の部分点群モデルのそれぞれの投影面に関する情報である投影面情報を含むオキュパンシーマップとを生成する復号部と、
     前記復号部により生成された前記2次元平面画像と、前記オキュパンシーマップに含まれる前記投影面情報とに基づいて、前記点群モデルを再構築する再構築部と
     を備える画像処理装置。
  20.  ビットストリームを復号し、点群モデルが投影された2次元平面画像と、前記点群モデルに含まれる複数の部分点群モデルのそれぞれの投影面に関する情報である投影面情報を含むオキュパンシーマップとを生成し、
     生成された前記2次元平面画像と、前記オキュパンシーマップに含まれる前記投影面情報とに基づいて、前記点群モデルを再構築する
     画像処理方法。
PCT/JP2019/025558 2018-07-11 2019-06-27 画像処理装置および方法 WO2020012968A1 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN201980045067.8A CN112470480A (zh) 2018-07-11 2019-06-27 图像处理装置和方法
EP19834544.9A EP3823286A4 (en) 2018-07-11 2019-06-27 IMAGE PROCESSING DEVICE AND METHOD
KR1020207036753A KR20210030276A (ko) 2018-07-11 2019-06-27 화상 처리 장치 및 방법
MX2020013700A MX2020013700A (es) 2018-07-11 2019-06-27 Metodo y aparato de procesamiento de imagen.
US15/734,567 US11699248B2 (en) 2018-07-11 2019-06-27 Image processing apparatus and method
CA3106234A CA3106234A1 (en) 2018-07-11 2019-06-27 Image processing apparatus and method
BR112021000044-5A BR112021000044A2 (pt) 2018-07-11 2019-06-27 Aparelho e método de processamento de imagem
JP2020530096A JP7327399B2 (ja) 2018-07-11 2019-06-27 画像処理装置および方法
AU2019302075A AU2019302075A1 (en) 2018-07-11 2019-06-27 Image processing device and method
PH12021550063A PH12021550063A1 (en) 2018-07-11 2021-01-10 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-131300 2018-07-11
JP2018131300 2018-07-11

Publications (1)

Publication Number Publication Date
WO2020012968A1 true WO2020012968A1 (ja) 2020-01-16

Family

ID=69141449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025558 WO2020012968A1 (ja) 2018-07-11 2019-06-27 画像処理装置および方法

Country Status (12)

Country Link
US (1) US11699248B2 (ja)
EP (1) EP3823286A4 (ja)
JP (1) JP7327399B2 (ja)
KR (1) KR20210030276A (ja)
CN (1) CN112470480A (ja)
AU (1) AU2019302075A1 (ja)
BR (1) BR112021000044A2 (ja)
CA (1) CA3106234A1 (ja)
MX (1) MX2020013700A (ja)
PH (1) PH12021550063A1 (ja)
TW (1) TW202017374A (ja)
WO (1) WO2020012968A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021200919A1 (ja) * 2020-03-30 2021-10-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2022149589A1 (ja) * 2021-01-07 2022-07-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111566703B (zh) * 2018-01-17 2023-10-20 索尼公司 图像处理装置和方法
JP2022003716A (ja) * 2018-10-01 2022-01-11 ソニーグループ株式会社 画像処理装置および方法
CN113261297A (zh) * 2019-01-07 2021-08-13 索尼集团公司 图像处理装置和方法
CN114930860A (zh) * 2020-01-07 2022-08-19 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11706450B2 (en) * 2020-09-18 2023-07-18 Samsung Electronics Co., Ltd. Partial decoding and reconstruction of a video-based point cloud compression bitstream
WO2023047021A2 (en) * 2021-09-27 2023-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
CN115049750B (zh) * 2022-05-31 2023-06-16 九识智行(北京)科技有限公司 基于八叉树的体素地图生成方法、装置、存储介质及设备
KR20240043994A (ko) 2022-09-28 2024-04-04 증안리약초마을 협동조합 누룽지 제조 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126314A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Corporation Method for compressing point cloud
WO2018034253A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Corporation Method, encoder system and non-transitory computer readable recording medium storing thereon program for encoding point cloud of representing scene
WO2019055963A1 (en) * 2017-09-18 2019-03-21 Apple Inc. COMPRESSION OF CLOUD OF POINTS
WO2019142666A1 (ja) * 2018-01-16 2019-07-25 ソニー株式会社 画像処理装置および方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017142353A1 (ko) * 2016-02-17 2017-08-24 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US11019257B2 (en) * 2016-05-19 2021-05-25 Avago Technologies International Sales Pte. Limited 360 degree video capture and playback
WO2018043905A1 (ko) 2016-08-29 2018-03-08 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
CN109644279B (zh) 2016-09-02 2023-09-22 Vid拓展公司 用于用信号通知360度视频信息的方法和系统
EP3349182A1 (en) 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10499054B2 (en) * 2017-10-12 2019-12-03 Mitsubishi Electric Research Laboratories, Inc. System and method for inter-frame predictive compression for point clouds

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126314A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Corporation Method for compressing point cloud
WO2018034253A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Corporation Method, encoder system and non-transitory computer readable recording medium storing thereon program for encoding point cloud of representing scene
WO2019055963A1 (en) * 2017-09-18 2019-03-21 Apple Inc. COMPRESSION OF CLOUD OF POINTS
WO2019142666A1 (ja) * 2018-01-16 2019-07-25 ソニー株式会社 画像処理装置および方法

Non-Patent Citations (8)

* 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 *
JIANLE CHENELENA ALSHINAGARY J. SULLIVANJENS-RAINERJILL 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 July 2017 (2017-07-13)
K. MAMMOU: "PCC Test Model Category 2 vO", N17248 MPEG OUTPUT DOCUMENT, October 2017 (2017-10-01)
K. MAMMOU: "Video-based and Hierarchical Approaches Point Cloud Compression", MPEG M41649, October 2017 (2017-10-01)
R. MEKURIAK. BLOMP. CESAR., DESIGN, IMPLEMENTATION AND EVALUATION OF A POINT CLOUD CODEC FOR TELE-IMMERSIVE VIDEO
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (INTERNATIONAL TELECOMMUNICATION UNION, ADVANCED VIDEO CODING FOR GENERIC AUDIOVISUAL SERVICES, April 2017 (2017-04-01)
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (INTERNATIONAL TELECOMMUNICATION UNION, HIGH EFFICIENCY VIDEO CODING, December 2016 (2016-12-01)
TIM GOLLAREINHARD KLEIN: "Real-time Point Cloud Compression", 2015, IEEE

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021200919A1 (ja) * 2020-03-30 2021-10-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2022149589A1 (ja) * 2021-01-07 2022-07-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ復号方法、三次元データ符号化方法、三次元データ復号装置、及び三次元データ符号化装置

Also Published As

Publication number Publication date
AU2019302075A1 (en) 2021-01-28
KR20210030276A (ko) 2021-03-17
EP3823286A4 (en) 2021-12-01
CN112470480A (zh) 2021-03-09
US20210233278A1 (en) 2021-07-29
US11699248B2 (en) 2023-07-11
EP3823286A1 (en) 2021-05-19
MX2020013700A (es) 2021-02-26
JPWO2020012968A1 (ja) 2021-08-02
JP7327399B2 (ja) 2023-08-16
BR112021000044A2 (pt) 2021-03-30
PH12021550063A1 (en) 2021-12-06
CA3106234A1 (en) 2020-01-16
TW202017374A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
JP7327399B2 (ja) 画像処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
US11721048B2 (en) Image processing apparatus and method
WO2020012967A1 (ja) 画像処理装置および方法
US20200359053A1 (en) Image processing apparatus and image processing method
US11310518B2 (en) Image processing apparatus and method
JP7331852B2 (ja) 画像処理装置および方法
US11399189B2 (en) Image processing apparatus and method
WO2020188932A1 (ja) 情報処理装置および情報生成方法
JP7396302B2 (ja) 画像処理装置および方法
WO2020071101A1 (ja) 画像処理装置および方法
JP2022047546A (ja) 情報処理装置および方法
US20230370637A1 (en) Image processing device and method
WO2022050088A1 (ja) 画像処理装置および方法
WO2024057903A1 (ja) 情報処理装置および方法
WO2022230941A1 (ja) 情報処理装置および方法
JP2022102267A (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: 19834544

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020530096

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 3106234

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021000044

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2019302075

Country of ref document: AU

Date of ref document: 20190627

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112021000044

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210104