[go: up one dir, main page]

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

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

Info

Publication number
WO2022075078A1
WO2022075078A1 PCT/JP2021/034950 JP2021034950W WO2022075078A1 WO 2022075078 A1 WO2022075078 A1 WO 2022075078A1 JP 2021034950 W JP2021034950 W JP 2021034950W WO 2022075078 A1 WO2022075078 A1 WO 2022075078A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
video frame
point cloud
frame
attributes
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2021/034950
Other languages
English (en)
French (fr)
Inventor
華央 林
智 隈
央二 中神
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
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 Sony Group Corp filed Critical Sony Group Corp
Priority to US18/029,587 priority Critical patent/US12457363B2/en
Priority to CN202180053834.7A priority patent/CN116018618A/zh
Publication of WO2022075078A1 publication Critical patent/WO2022075078A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/54Extraction of image or video features relating to texture
    • 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

Definitions

  • the present disclosure relates to an image processing device and a method, and more particularly to an image processing device and a method in which the number of attributes corresponding to a single geometry is variable in the time direction.
  • the geometry data and attribute data of the point cloud are projected onto a two-dimensional plane for each small area, the image (patch) projected on the two-dimensional plane is placed in the frame image of the video, and the frame image is placed in 2.
  • a method of encoding by a coding method for a two-dimensional image (hereinafter, also referred to as a video-based approach) has been proposed (see, for example, Non-Patent Documents 2 to 4).
  • each of the plurality of attributes is frame-imaged and encoded as described above. That is, a frame image of a plurality of attributes is formed for each frame image of the geometry.
  • This disclosure is made in view of such a situation, and the number of attributes corresponding to a single geometry is variable in the time direction.
  • the image processing device on one side of the present technology converts the attributes into a two-dimensional plane for each subregion for each of the plurality of attributes corresponding to the single geometry of the point cloud that expresses the object of the three-dimensional shape as a set of points.
  • An attribute video frame generator that generates an attribute video frame, which is a video frame in which a patch obtained by projection is arranged, and an attribute video frame of each attribute generated by the attribute video frame generator are encoded.
  • An image processing device including an attribute video frame coding unit and an attribute information generation unit that generates attribute information that is information indicating the attribute video frame corresponding to the same timing as each other generated by the attribute video frame generation unit. be.
  • the attributes are converted into a two-dimensional plane for each subregion.
  • Generate an attribute video frame which is a video frame in which patches obtained by projection are arranged, encode the generated attribute video frame of each attribute, and generate the attribute video corresponding to the same timing as each other.
  • This is an image processing method that generates attribute information that is information indicating a frame.
  • the image processing apparatus of the other aspect of the present technology decodes the coded data and represents the object of the three-dimensional shape as a set of points.
  • An attribute video frame decoder that generates an attribute video frame, which is a video frame in which patches are arranged by projecting an attribute onto a two-dimensional plane for each subregion, and an attribute video frame decoder that decodes the coded data at the same timing.
  • the attribute information decoding unit that generates attribute information that is information indicating the corresponding attribute video frame, the attribute included in the attribute video frame generated by the attribute video frame decoding unit, and the attribute information decoding unit generate the attribute information.
  • the image processing method of another aspect of the present technology is described above, in which encoded data is decoded and a three-dimensional object is represented as a set of points, corresponding to each of a plurality of attributes corresponding to a single geometry of a point cloud.
  • the attribute video frame which is a video frame in which patches are arranged by projecting an attribute onto a two-dimensional plane for each subregion, is generated, the coded data is decoded, and the attribute video frames correspond to the same timing. It is an image processing method that generates the attribute information which is the information indicating the above, and generates the point cloud based on the attribute included in the generated attribute video frame and the generated attribute information.
  • the attributes are set to 2 for each subregion.
  • An attribute video frame which is a video frame in which patches obtained by projecting onto a dimensional plane are placed, is generated, and the generated attribute video frames of each attribute are encoded, and the generated attributes are at the same timing as each other.
  • Attribute information is generated, which is information indicating the corresponding attribute video frame.
  • the coded data is decoded and corresponds to each of a plurality of attributes corresponding to a single geometry in a point cloud that represents a 3D shaped object as a set of points.
  • An attribute video frame is generated, which is a video frame in which a patch is arranged, which is obtained by projecting the attribute onto a two-dimensional plane for each subregion.
  • the coded data is decoded, and the attributes corresponding to the same timing are generated.
  • Attribute information which is information indicating a video frame, is generated, and a point cloud is generated based on the attributes contained in the generated attribute video frame and the generated attribute information.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Non-Patent Document 4 (above)
  • Non-Patent Document 5 (above)
  • ⁇ Point cloud> Conventionally, there has been 3D data such as a point cloud that represents a three-dimensional structure based on point position information, attribute information, and the like.
  • a three-dimensional structure (object with a three-dimensional shape) is expressed as a set of a large number of points.
  • the point cloud is composed of position information (also referred to as geometry) and attribute information (also referred to as attributes) of each point. Attributes can contain any information. For example, the attributes may include color information, reflectance information, normal information, etc. of each point.
  • the point cloud has a relatively simple data structure and can express an arbitrary three-dimensional structure with sufficient accuracy by using a sufficiently large number of points.
  • a voxel is a three-dimensional region for quantizing geometry (position information).
  • the three-dimensional area containing the point cloud (also referred to as a bounding box) is divided into a small three-dimensional area called a voxel, and each voxel indicates whether or not the point is included.
  • the position of each point is quantized in voxel units. Therefore, by converting the point cloud data into such voxel data (also referred to as voxel data), the increase in the amount of information is suppressed (typically, the amount of information is reduced). Can be done.
  • the geometry and attributes of such a point cloud are projected onto a two-dimensional plane for each small area (connection component).
  • this small area may be referred to as a partial area.
  • An image in which this geometry or attribute is projected onto a two-dimensional plane is also referred to as a projected image.
  • the projected image for each small area (partial area) is referred to as a patch.
  • position information of a point is expressed as position information (depth value (Depth)) in the direction perpendicular to the projection plane (depth direction).
  • each patch generated in this way is placed in the frame image (also referred to as a video frame) of the video sequence.
  • a frame image in which a geometry patch is placed is also called a geometry video frame.
  • a frame image in which an attribute patch is arranged is also referred to as an attribute video frame (Atribute video frame).
  • each pixel value of a geometry video frame indicates the depth value described above.
  • these video frames are encoded by a coding method for a two-dimensional image such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding). That is, point cloud data, which is 3D data representing a three-dimensional structure, can be encoded by using a codec for a two-dimensional image.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • an occupancy map can also be used.
  • the occupancy map is map information indicating the presence or absence of a projected image (patch) for each NxN pixel of a geometry video frame or an attribute video frame. For example, in the occupancy map, a region (NxN pixels) in which a patch is present is indicated by a value "1", and a region (NxN pixels) in which a patch is not present is indicated by a value "0" in a geometry video frame or an attribute video frame.
  • Such an occupancy map is encoded as data separate from the geometry video frame and the attribute video frame, and transmitted to the decoding side.
  • the decoder can grasp whether or not the area has a patch, so that it is possible to suppress the influence of noise and the like caused by coding / decoding, and it is more accurate. 3D data can be restored. For example, even if the depth value changes due to coding / decoding, the decoder ignores the depth value in the area where the patch does not exist by referring to the occupancy map (so that it is not processed as the position information of 3D data). )be able to.
  • this occupancy map can also be transmitted as a video frame in the same way as a geometry video frame, an attribute video frame, or the like.
  • auxiliary patch information information about the patch (also referred to as auxiliary patch information) is transmitted as metadata.
  • the point cloud (object) can change in the time direction like a moving image of a two-dimensional image. That is, the geometry data and the attribute data have a concept in the time direction, and are sampled at predetermined time intervals like a moving image of a two-dimensional image.
  • data at each sampling time is referred to as a frame, such as a video frame of a two-dimensional image.
  • the point cloud data (geometry data and attribute data) is composed of a plurality of frames like a moving image of a two-dimensional image.
  • this point cloud frame is also referred to as a point cloud frame.
  • the video-based approach even in such a point cloud of moving images (multiple frames), by converting each point cloud frame into a video frame to form a video sequence, high efficiency is achieved using the moving image coding method. Can be encoded in.
  • Non-Patent Document 5 discloses a multi-attribute, which is a method of providing a plurality of attributes for a single geometry in such a video-based approach. By associating multiple attributes with a single geometry, for example, you can select more appropriate attributes when rendering, or use multiple attributes to generate more appropriate attributes for display. It is possible to suppress the reduction of the subjective image quality of the image.
  • an object 11 as a subject is imaged by a camera 12 and an attribute of a point cloud of the object 11 is generated by using the texture of the object obtained from the captured image. Since the geometry of the point cloud of the object 11 is the position information of each point, one is generated. On the other hand, since there are five cameras 12 (# 1 to # 5), five captured images can be obtained. In such a case, if the texture of the object 11 included in each captured image (the pattern, color, brightness, texture, etc. on the surface of the object 11) is set as an independent attribute, there are five attributes for one geometry. Generated. As shown in FIG. 1, the positions and directions of the five cameras 12 are different from each other. In general, the appearance of the object 11 (texture) can vary depending on the position and orientation of the viewpoint. Therefore, the texture of each attribute can be different from each other.
  • attribute video frames are generated for each camera (ie, for each attribute), as shown in FIG. Therefore, as shown in FIG. 2, patch information (auxiliary patch information), a single geometry video frame (depth), an occupancy map, and a plurality of attribute video frames are encoded. For each point cloud frame, these video frames and auxiliary patch information are generated.
  • this patch information includes the identification information (patchID) of the patch and the patch on the 2D projection plane (a two-dimensional plane on which the connection component (small area) of the point cloud is projected).
  • Information such as the position (u0, v0), the position (u, v, d) of the projection plane in the three-dimensional space, and the normal (n) is included. Further, information such as the width of the patch and the height of the patch may be included in the patch information.
  • the number of attributes is fixed in all point cloud frames, and the attribute video frames of all attributes must be encoded.
  • the attribute video frames of all attributes must be encoded.
  • All frames ie all attribute video frames
  • the unnecessary attribute video frames must also be encoded. Therefore, the amount of data to be encoded increases, and the amount of code may increase.
  • the number of attributes corresponding to the singular geometry is made variable in the time direction. That is, the number of encoded attributes (ie, the number of attribute video frames corresponding to the same timing) can be increased or decreased as needed. That is, in this case, the number of attributes (attribute video frames) corresponding to each point cloud frame does not have to be unified (it does not have to be the same as each other).
  • the attributes include the texture of an object having a three-dimensional shape (the pattern, color, brightness, texture, etc. of the surface of the object). Further, it is assumed that the texture of the object included in each of the plurality of captured images obtained by imaging with a plurality of cameras is associated with one geometry of the object as a multi-attribute. That is, a plurality of attributes corresponding to a single geometry as a multi-attribute shall include the texture of the object contained in the captured image obtained by being imaged by cameras installed at different positions and directions from each other.
  • the angles of view of the captured images corresponding to each attribute are different from each other.
  • the position and direction of this camera is also referred to as a "viewpoint" for viewing the object. That is, a plurality of attributes corresponding to a single geometry as a multi-attribute each include the texture of the object obtained from different viewpoints.
  • Example 1 with variable number of attributes For example, the user or the like may select the attribute video frame to be encoded.
  • the object 11 is imaged by a plurality of cameras 12 and an attribute is generated using the texture of the object 11 obtained from each captured image.
  • the viewpoint at the time of rendering moves along the time axis as shown by the arrow 41. That is, it is assumed that the movement of the viewpoint (also referred to as a viewpoint path) at the time of rendering as shown by the arrow 41 is known.
  • the user or the like may select some attributes (cameras) according to the viewpoint path, and the encoder may encode only the attribute video frame of the selected attributes.
  • the selected attribute video frame of each point cloud frame may be encoded, and the coding of the non-selected attribute video frame may be omitted (skipped).
  • the encoder may encode only the attribute video frame of the selected attributes.
  • the selected attribute video frame of each point cloud frame may be encoded, and the coding of the non-selected attribute video frame may be omitted (skipped).
  • the encoder may encode only the attribute video frame of the selected attributes.
  • the selected attribute video frame of each point cloud frame may be encoded, and the coding of the non-selected attribute video frame may be omitted (skipped).
  • the position View (t) of the viewpoint at the time t which is the timing of the point cloud frame, has the x-coordinate (Xview (t)) and the y-coordinate (Yview (t)) of the time t as follows. It is shown using the z coordinate (Zview (t)).
  • View (t) (Xview (t), Yview (t), Zview (t))
  • Cam (k) (Xcam (k), Ycam (k), Zcam (k))
  • the set of cameras required at each time is selected. For example, if View (t) and Cam (k) are close enough, the camera (attribute) is selected. Then, the attribute video frame of the attribute corresponding to the selected camera is encoded.
  • the number of encoded attributes (the number of attribute video frames corresponding to the same timing of each other to be encoded) can be appropriately increased or decreased as necessary. That is, since it is possible to omit the coding of unnecessary attribute video frames, it is possible to suppress an increase in the amount of coding.
  • Omitting the coding of the attribute video frame required for rendering may reduce the subjective image quality of the display image, but even if the coding of the less necessary attribute video frame is omitted, the display image It is possible to suppress the influence on the subjective image quality of. That is, by omitting the coding of the attribute video frame corresponding to the camera far from the viewpoint as described above, it is possible to suppress the increase in the code amount while suppressing the reduction in the subjective image quality of the display image.
  • Example 2 with variable number of attributes> Originally, the attribute video frames of all attributes may not be aligned. In such a case, the attribute video frame may be encoded without interpolation.
  • the object 11 is imaged by a plurality of cameras 12 and an attribute is generated using the texture of the object 11 obtained from each captured image. Then, it is assumed that the object 11 moves along the time axis as shown by the arrow 51.
  • the number of cameras 12 capable of capturing the object 11 may differ depending on the position of the object 11. That is, as shown in B of FIG. 5, the number of cameras 12 capable of capturing the object 11 can be changed by moving the object 11. That is, the number of attribute video frames can change along the time axis.
  • time t 2 which is the timing of the point cloud frame, all the attribute video frames are aligned, but at other times t, the attribute video frames are not aligned.
  • Non-Patent Document 5 it is necessary to align all the attribute video frames, so the attribute video frames of the attributes that do not exist in the point cloud frame are interpolated and encoded. Therefore, there is a risk that the amount of code will increase.
  • the encoder may encode the attribute video frame of the attribute that does not exist in the point cloud frame without interpolating. That is, the encoder may encode only the attribute video frame of the attribute existing in the point cloud frame for each point cloud frame. In other words, for each point cloud frame, the encoder may encode the attribute video frame of the attribute that exists in that point cloud frame and omit (skip) the coding of the attribute video frame of the attribute that does not exist. ..
  • the number of encoded attributes (the number of attribute video frames corresponding to the same timing of each other to be encoded) can be appropriately increased or decreased as necessary. That is, since it is possible to omit the coding of unnecessary attribute video frames, it is possible to suppress an increase in the amount of coding.
  • the absence of the attribute video frame means that the object 11 cannot be seen from the position and direction of the camera 12 at the timing of the point cloud frame. Therefore, at the time of rendering, it is unlikely that the vicinity of the camera 12 will be the viewpoint for viewing the object 11 at that timing. That is, it is unlikely that an interpolated attribute video frame will be needed for rendering. Omitting the coding of the attribute video frame required for rendering may reduce the subjective image quality of the display image, but even if the coding of the less necessary attribute video frame is omitted, the display image It is possible to suppress the influence on the subjective image quality of. That is, by encoding the non-existent attribute video frame without interpolating as described above, it is possible to suppress the increase in the code amount while suppressing the reduction in the subjective image quality of the display image.
  • the coding unit that encodes the point cloud may adaptively select an attribute (attribute video frame) so as to suppress an increase in the amount of code. For example, if the coding unit derives the difference between attributes (difference between cameras) or the difference between the average of all attributes (all cameras) and the attribute to be processed, and the difference is sufficiently small, the difference is obtained.
  • the coding of the attribute video frame may be omitted.
  • the number of encoded attributes (the number of attribute video frames corresponding to the timings of the same time each of the encoded attributes) can be appropriately increased or decreased as necessary. That is, since it is possible to omit the coding of unnecessary attribute video frames, it is possible to suppress an increase in the amount of coding.
  • the above-mentioned difference is sufficiently small means that the similarity with other attributes is high, and even if the attribute is substituted on the decoding side, the effect on rendering is small. That is, it is possible to suppress the influence on the subjective image quality of the display image. That is, by omitting the coding of the attribute video frame whose difference from the average of other attributes and attributes is sufficiently small as described above, the reduction of the subjective image quality of the display image is suppressed and the amount of coding is increased. It can be suppressed.
  • the base attribute (attribute video frame) may be encoded to generate another separate stream.
  • the base attribute is, for example, an attribute composed of an average of all attributes (cameras), a predetermined attribute (representative camera), and the like.
  • the number of encoded attributes may be 0 at each frame time.
  • the attribute information which is the information about the encoded attribute (attribute video frame), is signaled (transmitted from the encoding side to the decoding side).
  • a patch obtained by projecting that attribute onto a 2D plane for each subregion is placed.
  • Attribute video frames that are generated video frames are generated, the generated attribute video frames of each attribute are encoded, and the generated attribute information indicating the attribute video frames corresponding to the same timing as each other is generated. To generate.
  • the attributes are projected onto a two-dimensional plane for each subregion.
  • the attribute video frame generator that generates the attribute video frame, which is the video frame in which the patch is placed, and the attribute video frame that encodes the attribute video frame of each attribute generated by the attribute video frame generator. It is provided with a coding unit and an attribute information generation unit that generates attribute information, which is information indicating attribute video frames corresponding to the same timings generated by the attribute video frame generation unit.
  • the coded data is decoded and the object of the three-dimensional shape is expressed as a set of points.
  • Generates an attribute video frame which is a video frame in which patches obtained by projecting onto a plane are placed, decodes the coded data, and generates attribute information, which is information indicating attribute video frames corresponding to the same timing. Then, the point cloud is generated based on the attribute contained in the generated attribute video frame and the generated attribute information.
  • the coded data is decoded and the object having a three-dimensional shape is represented as a set of points.
  • Attribute that is a video frame in which patches are arranged by projecting it on a two-dimensional plane for each area Attribute that generates a video frame Attribute that generates a video frame and an attribute that decodes coded data and corresponds to the same timing.
  • the attribute information decoding unit that generates the attribute information that is the information indicating the video frame, the attributes included in the attribute video frame generated by the attribute video frame decoding unit, and the attribute information generated by the attribute information decoding unit. Based on this, a point cloud generator that generates a point cloud is provided.
  • the decoder can more easily grasp which attribute video frame is encoded. That is, even when the number of attributes is variable in the time direction in the video-based approach to which the multi-attribute is applied, the decoder can correctly decode the encoded data. In other words, in a video-based approach with multi-attributes applied, it is possible to achieve temporal variability in the number of attributes.
  • this attribute information may be any information as long as the encoded attribute can be grasped on the decoding side.
  • the attribute information may include a list of attributes existing in each point cloud frame. For example, assume that there is an attribute video frame for each attribute as shown in A in FIG. Attribute information 61 as shown in B of FIG. 6 may be signaled to such attribute data.
  • the encoded attribute video frame can be easily grasped.
  • point cloud frames can be used to associate encoded attributes with timely geometry and occupancy maps.
  • the attribute information may include a list of attributes that do not exist in each point cloud frame.
  • the attribute information may include a list of identification information of the attribute (camera) that does not exist in the point cloud frame for each point cloud frame. If you know the attributes that do not exist, you can also know the attributes that exist. Therefore, in this case as well, as in the case of the example B in FIG. 6, the encoded attribute video frame can be easily grasped from the attribute information.
  • the attribute information may be generated for each point cloud frame, or may be generated only for some point cloud frames. For example, if the existing attribute (the attribute in which the attribute video frame is encoded) changes compared to the previous point cloud frame, the attribute information corresponding to that point cloud frame is generated, and the existing attribute is If it has not changed, the generation of attribute information corresponding to the point cloud frame may be omitted.
  • the attribute information may include information on all the attributes encoded (or unencoded) at the frame time, as in the example of B in FIG. Further, the attribute information may include information regarding the difference of the attribute from the previous point cloud frame. That is, only the attributes whose status has changed whether they are encoded or not may be listed. By doing so, when the change in the attribute in the time direction is small, it is possible to suppress (typically reduce) the increase in the amount of data of the attribute information.
  • a point cloud may be generated using attributes while the attribute video frames are not aligned. That is, the point cloud may be generated without interpolating the attribute video frame that does not exist after decoding.
  • the attribute video frame of another attribute may be used to interpolate the attribute video frame that does not exist after decoding.
  • it may be replaced with the average or weighted average of all attributes present after decoding that correspond to the same point cloud frame as the attribute video frame that does not exist after decoding.
  • the attribute video frame corresponding to the same point cloud frame as the attribute video frame that does not exist after decoding may be replaced with the attribute video frame of the attribute whose camera position is closest to the attribute video frame that does not exist after decoding.
  • it may be replaced with an average or a weighted average of a plurality of attributes whose camera positions are sufficiently close to the attribute video frame that does not exist after decoding, which corresponds to the same point cloud frame as the attribute video frame that does not exist after decoding. Further, as shown in C of FIG. 7, it may be replaced with a base attribute corresponding to the same point cloud frame as the attribute video frame that does not exist after decoding.
  • the attribute video frame of each attribute may be encoded as a video sequence for each attribute, and the encoded data for each attribute may be generated.
  • the reference relationship used for coding is limited to the attribute (correlation between cameras is not used for coding).
  • the base attributes may be encoded as one video sequence to generate encoded data of the base attributes.
  • identification information (camera ID, etc.) may be attached to the base attribute or the base coded data.
  • the attributes are associated with the camera ID of each time t included in the attribute information and the camera ID of each bitstream.
  • the attribute video frames of all the attributes may be encoded as one video sequence to generate encoded data including all the attributes.
  • the correlation between the cameras can be used for coding.
  • it may be encoded as one video sequence including the base attribute.
  • the interval between the interleaves may be predetermined or variable. Further, the interleave interval T, which is a parameter indicating the interleave interval, may be signaled. For example, the value of this interleave interval T may be included in the attribute information.
  • the frame order in each time t may be arranged in the order of the camera ID shown in the attribute information. By doing so, the frame order at each time t can be easily grasped based on the attribute information.
  • the reference structure between frames is arbitrary when the attribute video frames of all attributes are encoded as one video sequence and the encoded data including all attributes is generated.
  • I picture, P picture, and B picture may be set as in the example of FIG.
  • one picture is an I picture or a P picture at each frame time, and the other pictures are B pictures.
  • the inter-camera reference and the time reference can be used in the coding. Therefore, it is possible to suppress a decrease in coding efficiency.
  • you want to decode only one attribute at each time you can select skip decoding and skip the decoding of the B picture.
  • the base attribute video frame When the base attribute video frame is also included as in the example of FIG. 11, the base attribute video frame may be an I picture or a P picture, and the attribute video frames of other attributes may be a B picture.
  • one picture is an I picture or a P picture at each frame time, and the other pictures are B pictures.
  • the inter-camera reference and the time reference can be used in the coding as in the case of FIG. Therefore, it is possible to suppress a decrease in coding efficiency.
  • by selecting skip decoding and skipping the decoding of the B picture only the base attribute video frame can be decoded.
  • one picture may be an I picture at each frame time, and the other pictures may be a P picture or a B picture. That is, the GOP (Group Of Picture) may be divided for each frame time.
  • decoding can be started from any time. That is, random accessibility can be improved.
  • FIG. 13 is a block diagram showing an example of a configuration of a coding device which is an embodiment of an image processing device to which the present technology is applied.
  • the coding device 300 shown in FIG. 13 is a device that applies a video-based approach to encode point cloud data as a video frame by a coding method for a two-dimensional image. Further, the coding apparatus 300 can associate a plurality of attributes with one geometry, such as a multi-attribute.
  • FIG. 13 shows the main things such as the processing unit and the flow of data, and not all of them are shown in FIG. That is, in the coding apparatus 300, there may be a processing unit that is not shown as a block in FIG. 13, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the coding device 300 includes a decomposition processing unit 301, a packing unit 302, an auxiliary patch information generation unit 303, an auxiliary patch information compression unit 304, a geometry video frame coding unit 305, and an attribute video frame coding unit. It has a 306, an occupancy map coding unit 307, and a multiplexer 308.
  • the decomposition processing unit 301 performs processing related to the decomposition of geometry data. For example, the decomposition processing unit 301 acquires a point cloud input to the coding device 300. In addition, the decomposition processing unit 301 decomposes the acquired point cloud into patches and generates geometry patches and attribute patches. Then, the disassembly processing unit 301 supplies those patches to the packing unit 302.
  • the disassembly processing unit 301 supplies information regarding the generated patch (for example, patch ID, position information, etc.) to the auxiliary patch information generation unit 303. Further, the decomposition processing unit 301 generates projection metadata that is information about the viewpoint, and supplies it to the packing unit 302, the occupancy map coding unit 307, and the multiplexer 308, if necessary.
  • the decomposition processing unit 301 makes the selection. Then, the decomposition processing unit 301 generates a patch (patch of the attribute) only for the selected attribute.
  • the packing unit 302 performs processing related to packing. For example, the packing unit 302 acquires a patch of geometry and attributes supplied from the decomposition processing unit 301. Then, the packing unit 302 packs the acquired geometry patch into the video frame to generate the geometry video frame. The packing unit 302 supplies the generated geometry video frame to the geometry video frame coding unit 305.
  • the packing unit 302 packs the acquired attribute patch into a video frame for each attribute and generates an attribute video frame.
  • the packing unit 302 is ⁇ 1.
  • the packing unit 302 projects each of a plurality of attributes corresponding to a single geometry of a point cloud that expresses a three-dimensional object as a set of points onto a two-dimensional plane for each subregion. Generates an attribute video frame, which is the video frame in which the resulting patch is placed.
  • the packing unit 302 may generate an attribute video frame for each point cloud frame, which is a point cloud frame. Further, the packing unit 302 may generate an attribute video frame of an attribute existing in the point cloud frame among a plurality of attributes, and may omit the generation of an attribute video frame of an attribute not existing in the point cloud frame. That is, the packing unit 302 may pack only the patches of the attributes selected by the decomposition processing unit 301.
  • the packing unit 302 supplies the generated attribute video frame to the attribute video frame coding unit 306.
  • the packing unit 302 generates an occupancy map based on the generated geometry video frame.
  • the packing unit 302 uses the generated occupancy map as a video frame, and supplies the occupancy map to the occupancy map coding unit 307.
  • the packing unit 302 supplies information on packing to the auxiliary patch information generation unit 303.
  • the packing unit 302 supplies the patch position (u0, v0) and the like on the two-dimensional plane of the patch to the auxiliary patch information generation unit 303 as information regarding packing.
  • the packing unit 302 has ⁇ 1. Attribute information as described above is generated in Adaptive Multi-Attribute> and supplied to the auxiliary patch information generation unit 303. That is, the packing unit 302 generates attribute information which is information indicating the generated attribute video frames corresponding to the same timing.
  • Auxiliary patch information generation unit 303 performs processing related to generation of auxiliary patch information. For example, the auxiliary patch information generation unit 303 acquires various information supplied from the disassembly processing unit 301 and the packing unit 302. Then, the auxiliary patch information generation unit 303 generates auxiliary patch information including such information. That is, the auxiliary patch information generation unit 303 generates patch information including attribute information. The auxiliary patch information generation unit 303 supplies the generated auxiliary patch information to the auxiliary patch information compression unit 304.
  • Auxiliary patch information compression unit 304 performs processing related to compression of auxiliary patch information.
  • the auxiliary patch information compression unit 304 acquires the auxiliary patch information supplied from the auxiliary patch information generation unit 303.
  • the auxiliary patch information compression unit 304 encodes (compresses) the acquired auxiliary patch information.
  • this auxiliary patch information includes attribute information. That is, the auxiliary patch information compression unit 304 encodes (compresses) the attribute information.
  • This coding method is arbitrary. For example, a coding method for a two-dimensional image may be applied, or run-length coding or the like may be applied.
  • the auxiliary patch information compression unit 304 supplies the coded data of the obtained auxiliary patch information to the multiplexer 308.
  • the geometry video frame coding unit 305 performs processing related to the coding of the geometry video frame. For example, the geometry video frame coding unit 305 acquires the geometry video frame supplied from the packing unit 302. Further, the geometry video frame coding unit 305 encodes the acquired geometry video frame by an arbitrary two-dimensional image coding method such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding). Generates encoded data for geometry video frames. The geometry video frame coding unit 305 supplies the coded data of the geometry video frame to the multiplexer 308.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the attribute video frame coding unit 306 performs processing related to coding of the attribute video frame. For example, the attribute video frame coding unit 306 acquires the attribute video frame supplied from the packing unit 302. Further, the attribute video frame coding unit 306 encodes the acquired attribute video frame by an arbitrary two-dimensional image coding method such as AVC or HEVC.
  • This attribute video frame is ⁇ 1. It has the characteristics described above in Adaptive Multi-Attribute>. That is, there can be multiple attribute video frames for the same time. Also, the number of attribute video frames at each time is variable in the time direction.
  • the attribute video frame coding unit 306 converts such an attribute video frame into ⁇ 1. Encode as described above in Adaptive Multi-Attribute>. For example, the attribute video frame coding unit 306 may divide the sequence for each attribute and encode it to generate the coded data for each attribute. Further, the attribute video frame coding unit 306 may interleave all the attributes at predetermined intervals and encode them as one sequence to generate coded data including all the attributes.
  • the attribute video frame coding unit 306 supplies the coded data of the attribute video frame obtained by the coding to the multiplexer 308.
  • the occupancy map coding unit 307 performs processing related to coding of the video frame of the occupancy map. For example, the occupancy map coding unit 307 acquires the occupancy map supplied from the packing unit 302. Further, the occupancy map coding unit 307 encodes the acquired occupancy map by, for example, a coding method for an arbitrary two-dimensional image. The occupancy map coding unit 307 supplies the encoded data of the occupancy map obtained by the coding to the multiplexer 308.
  • the multiplexer 308 performs processing related to multiplexing. For example, the multiplexer 308 acquires the coded data (including the attribute information) of the auxiliary patch information supplied from the auxiliary patch information compression unit 304. Further, the multiplexer 308 acquires the geometry coding data supplied from the geometry video frame coding unit 305. Further, the multiplexer 308 acquires the coded data of the attribute supplied from the attribute video frame coding unit 306. Further, the multiplexer 308 acquires the coding data of the occupancy map supplied from the occupancy map coding unit 307.
  • the multiplexer 308 multiplexes the acquired information to generate a bitstream.
  • the multiplexer 308 outputs the generated bit stream to the outside of the encoding device 300.
  • the coding device 300 can be ⁇ 1. As described above in Adaptive Multi-Attribute>, it is possible to suppress an increase in the amount of code. As a result, the coding apparatus 300 can suppress an increase in the load of the coding process. Further, the coding apparatus 300 can suppress an increase in the load of the decoding process. Further, the coding apparatus 300 can suppress an increase in the load (load of the transmission medium, storage medium, etc.) when transmitting and storing the coded data. Further, the coding device 300 can suppress an increase in the cost of a device or system related to this video-based approach, such as the coding device 300 itself or the decoding device 400 described later.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and the above-mentioned processing is realized by executing a program using them. You may do so.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other.
  • some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above processing may be realized, and another processing unit may realize the above-mentioned processing by both the logic circuit and the execution of the program.
  • the decomposition processing unit 301 of the coding device 300 in step S301 ⁇ 1. Select the attribute (camera) to encode as described above in Adaptive Multi-Attribute>.
  • step S302 the decomposition processing unit 301 decomposes the point cloud into patches and generates patches of geometry and attributes. At that time, the decomposition processing unit 301 generates a patch only for the attribute selected in step S301 for the attribute.
  • step S303 the packing unit 302 packs the patch generated in step S302 into the video frame.
  • the packing unit 302 packs a patch of geometry and generates a geometry video frame.
  • the packing unit 302 packs the patch of each attribute and generates an attribute video frame for each attribute.
  • the packing unit 302 generates an occupancy map based on the generated geometry video frame.
  • the packing unit 302 contains information on packing and ⁇ 1. Generates attribute information as described above in Adaptive Multi-Attribute>.
  • step S304 the auxiliary patch information generation unit 303 generates auxiliary patch information including information on the patch generated in step S302, information on packing generated in step S303, and attribute information.
  • step S305 the auxiliary patch information compression unit 304 encodes the auxiliary patch information generated in step S305 by a predetermined coding method.
  • this auxiliary patch information includes attribute information. That is, the auxiliary patch information compression unit 304 encodes (compresses) the attribute information.
  • step S306 the geometry video frame coding unit 305 encodes the geometry video frame obtained by the process of step S303 by the coding method for a two-dimensional image.
  • the attribute video frame coding unit 306 encodes the attribute video frame obtained by the process of step S303 by the coding method for the two-dimensional image. ⁇ 1.
  • Adaptive Multi-Attribute> there can be multiple attribute video frames for the same time. Also, the number of attribute video frames at each time is variable.
  • the attribute video frame coding unit 306 converts such an attribute video frame into ⁇ 1. Encode as described above in Adaptive Multi-Attribute>.
  • the attribute video frame coding unit 306 can encode the attribute video frame separately for each attribute, or interleave all the attributes and encode them together in one sequence.
  • step S308 the occupancy map coding unit 307 encodes the occupancy map obtained by the process of step S303 by the coding method for the two-dimensional image.
  • step S309 the multiplexer 308 multiplexes the various information generated as described above, and generates a bit stream including these information.
  • step S310 the multiplexer 308 outputs the bitstream generated by the process of step S309 to the outside of the coding device 300. When the process of step S310 is completed, the coding process is completed.
  • the coding device 300 can be ⁇ 1. As described above in Adaptive Multi-Attribute>, it is possible to suppress an increase in the amount of code. As a result, the coding apparatus 300 can suppress an increase in the load of the coding process. Further, the coding apparatus 300 can suppress an increase in the load of the decoding process. Further, the coding apparatus 300 can suppress an increase in the load (load of the transmission medium, storage medium, etc.) when transmitting or storing the coded data. Further, the coding device 300 can suppress an increase in the cost of a device or system related to this video-based approach, such as the coding device 300 itself or the decoding device 400 described later.
  • FIG. 15 is a block diagram showing an example of a configuration of a decoding device, which is an aspect of an image processing device to which the present technology is applied.
  • the decoding device 400 shown in FIG. 15 applies a video-based approach to encode data encoded by a coding method for a two-dimensional image using point cloud data as a video frame by a decoding method for a two-dimensional image. It is a device that decrypts and creates (reconstructs) a point cloud.
  • FIG. 15 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the decoding device 400, there may be a processing unit that is not shown as a block in FIG. 15, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the decoding device 400 includes a demultiplexer 401, an auxiliary patch information decoding unit 402, a geometry video frame decoding unit 403, an attribute video frame decoding unit 404, an occupancy map decoding unit 405, an unpacking unit 406, and an unpacking unit 406. It has a 3D reconstruction unit 407.
  • the demultiplexer 401 performs processing related to data demultiplexing. For example, the demultiplexer 401 acquires a bitstream input to the decoding device 400. This bitstream is generated, for example, by the coding device 300 encoding the point cloud data.
  • the demultiplexer 401 demultiplexes this bitstream. For example, the demultiplexer 401 extracts the coded data of the auxiliary patch information from the bitstream by its demultiplexing. Then, the demultiplexer 401 supplies the coded data of the extracted auxiliary patch information to the auxiliary patch information decoding unit 402.
  • the demultiplexer 401 extracts the coded data of the geometry video frame from the bit stream by its demultiplexing. Then, the demultiplexer 401 supplies the coded data of the extracted geometry video frame to the geometry video frame decoding unit 403.
  • the demultiplexer 401 extracts the coded data of the attribute video frame from the bit stream by its demultiplexing. Then, the demultiplexer 401 supplies the coded data of the extracted attribute video frame to the attribute video frame decoding unit 404.
  • the demultiplexer 401 extracts the coded data of the occupancy map from the bit stream by its demultiplexing. Then, the demultiplexer 401 supplies the coded data of the extracted occupancy map to the occupancy map decoding unit 405.
  • the demultiplexer 401 can supply the projection metadata signaled from the coding side to the geometry video frame decoding unit 403, the attribute video frame decoding unit 404, and the occupancy map decoding unit 405.
  • the auxiliary patch information decoding unit 402 performs processing related to decoding of the coded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 402 acquires the coded data of the auxiliary patch information supplied from the demultiplexer 401. Further, the auxiliary patch information decoding unit 402 decodes the encoded data and generates auxiliary patch information. This auxiliary patch information includes attribute information. That is, the auxiliary patch information decoding unit 402 decodes the coded data to generate the attribute information. If the decoding method is a method corresponding to the coding method applied at the time of coding (for example, the coding method applied by the auxiliary patch information compression unit 304) (decoding method not for a two-dimensional image). Optional. Further, the auxiliary patch information decoding unit 402 supplies the auxiliary patch information to the 3D reconstruction unit 407.
  • the geometry video frame decoding unit 403 performs processing related to decoding the coded data of the geometry video frame. For example, the geometry video frame decoding unit 403 acquires the coded data of the geometry video frame supplied from the demultiplexer 401. Further, the geometry video frame decoding unit 403 decodes the coded data and generates a geometry video frame. Further, the geometry video frame decoding unit 403 can supply the geometry video frame to the unpacking unit 406.
  • the attribute video frame decoding unit 404 performs processing related to decoding the coded data of the attribute video frame. For example, the attribute video frame decoding unit 404 acquires the coded data of the attribute video frame supplied from the demultiplexer 401. Further, the attribute video frame decoding unit 404 decodes the coded data and generates an attribute video frame.
  • This attribute video frame is ⁇ 1. It has the characteristics described above in Adaptive Multi-Attribute>. That is, there can be multiple attribute video frames for the same time. Also, the number of attribute video frames at each time is variable.
  • the attribute video frame decoding unit 404 converts the coded data of such an attribute video frame into ⁇ 1. Decoding as described above in Adaptive Multi-Attribute>. For example, the attribute video frame decoding unit 404 may generate an attribute video frame for each attribute by decoding the coded data for each attribute. Further, the attribute video frame decoding unit 404 may generate an attribute video frame for each attribute by decoding the coded data including all the attributes interleaved and combined into one sequence.
  • the attribute video frame decoding unit 404 may decode the encoded data at each frame time of the video to generate an attribute video frame. Further, the attribute video frame decoding unit 404 may decode the coded data only for the attributes existing at each frame time and generate the attribute video frame.
  • the attribute video frame decoding unit 404 supplies the attribute video frame to the unpacking unit 406.
  • the occupancy map decoding unit 405 performs processing related to decoding of the encoded data of the occupancy map. For example, the occupancy map decoding unit 405 acquires the encoded data of the occupancy map supplied from the demultiplexer 401. Further, the occupancy map decoding unit 405 decodes the coded data and generates an occupancy map. Further, the occupancy map decoding unit 415 supplies the occupancy map to the unpacking unit 406.
  • Unpacking unit 406 performs processing related to unpacking. For example, the unpacking unit 406 acquires the geometry video frame supplied from the geometry video frame decoding unit 403. Further, the unpacking unit 406 acquires the attribute video frame supplied from the attribute video frame decoding unit 404. Further, the unpacking unit 406 acquires the occupancy map supplied from the occupancy map decoding unit 405.
  • the unpacking unit 406 unpacks the geometry video frame and each attribute video frame based on the occupancy map, and generates a patch. Further, the unpacking unit 406 supplies the generated geometry, attribute patch, and the like to the 3D reconstruction unit 407.
  • the 3D reconstruction unit 407 performs processing related to the generation (reconstruction) of the point cloud (3D data). For example, the 3D reconstruction unit 407 acquires the auxiliary patch information supplied from the auxiliary patch information decoding unit 402. Further, the 3D reconstruction unit 407 acquires patches of geometry and attributes supplied from the unpacking unit 406. The 3D reconstruction unit 407 creates (reconstructs) a point cloud using the information. At that time, the 3D reconstruction unit 407 has ⁇ 1. Perform the process as described above in Adaptive Multi-Attribute>.
  • the 3D reconstruction unit 407 refers to the attribute information included in the auxiliary patch information and grasps which attribute patch exists. As a result, the 3D reconstruction unit 407 can correctly generate (reconstruct) the point cloud by using the auxiliary patch information, the patch of the geometry and the attribute, and the like.
  • the 3D reconstruction unit 407 may generate a point cloud using the attributes while the attribute video frames are not aligned. That is, the 3D reconstruction unit 407 may generate the point cloud without interpolating the attribute video frame that does not exist after decoding.
  • the 3D reconstruction unit 407 may interpolate the attribute video frame that does not exist after decoding by using the attribute video frame of another attribute. For example, the 3D reconstruction unit 407 may replace it with the average or weighted average of all attributes existing after decoding at the same frame time as the attribute video frame that does not exist after decoding. Further, the 3D reconstruction unit 407 may replace the attribute video frame having the same frame time as the attribute video frame that does not exist after decoding with the attribute video frame having the closest camera position to the attribute video frame that does not exist after decoding.
  • the 3D reconstruction unit 407 replaces the attribute video frame that does not exist after decoding with the average or weighted average of multiple attributes that are sufficiently close to the camera position at the same frame time as the attribute video frame that does not exist after decoding. May be good. Further, the 3D reconstruction unit 407 may be replaced with a base attribute having the same frame time as the attribute video frame that does not exist after decoding.
  • the 3D reconstruction unit 407 outputs the point cloud data obtained by such processing to the outside of the decoding device 400.
  • This point cloud data is, for example, rendered and displayed on a display unit, recorded on a recording medium, or supplied to another device via communication.
  • the decoding device 400 can be ⁇ 1. As described above in Adaptive Multi-Attribute>, it is possible to suppress an increase in the amount of code. As a result, the decoding device 400 can suppress an increase in the load of the decoding process. Further, the decoding device 400 can suppress an increase in the load (load of the transmission medium, storage medium, etc.) when transmitting or storing the coded data. Further, the decoding device 400 can suppress an increase in the cost of a device or system related to this video-based approach, such as the coding device 300 or the decoding device 400 itself.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above processing may be realized, and another processing unit may realize the above-mentioned processing by both the logic circuit and the execution of the program.
  • the demultiplexer 401 of the decoding device 400 demultiplexes the bit stream in step S401.
  • step S402 the auxiliary patch information decoding unit 402 decodes the encoded data of the auxiliary patch information extracted from the bit stream by the process of step S401.
  • This auxiliary patch information includes attribute information. That is, the auxiliary patch information decoding unit 402 decodes the coded data to generate the attribute information.
  • step S403 the geometry video frame decoding unit 403 decodes the coded data of the geometry video frame extracted from the bitstream by the process of step S401.
  • step S404 the attribute video frame decoding unit 404 decodes the coded data of the attribute video frame extracted from the bit stream by the process of step S401.
  • This attribute video frame is ⁇ 1. It has the characteristics described above in Adaptive Multi-Attribute>. That is, there can be multiple attribute video frames for the same time. Also, the number of attribute video frames at each time is variable.
  • the attribute video frame decoding unit 404 converts the coded data of such an attribute video frame into ⁇ 1. Decoding as described above in Adaptive Multi-Attribute>. For example, the attribute video frame decoding unit 404 may generate an attribute video frame for each attribute by decoding the coded data for each attribute. Further, the attribute video frame decoding unit 404 may generate an attribute video frame for each attribute by decoding the coded data including all the attributes interleaved and combined into one sequence.
  • step S405 the occupancy map decoding unit 405 decodes the encoded data of the occupancy map extracted from the bit stream by the process of step S401.
  • step S406 the unpacking unit 406 unpacks the geometry video frame and the attribute video frame, respectively, based on the occupancy map or the like, and generates (restores) a patch of the geometry or the attribute.
  • step S407 the 3D reconstruction unit 407 creates (reconstructs) a point cloud based on the auxiliary patch information generated in step S402 and various information obtained in step S406. At that time, the 3D reconstruction unit 407 has ⁇ 1. Perform the process as described above in Adaptive Multi-Attribute>.
  • the 3D reconstruction unit 407 refers to the attribute information included in the auxiliary patch information and grasps which attribute patch exists. As a result, the 3D reconstruction unit 407 can correctly generate (reconstruct) the point cloud by using the auxiliary patch information, the patch of the geometry and the attribute, and the like.
  • the 3D reconstruction unit 407 may generate a point cloud using the attributes while the attribute video frames are not aligned. That is, the 3D reconstruction unit 407 may generate the point cloud without interpolating the attribute video frame that does not exist after decoding.
  • the 3D reconstruction unit 407 may interpolate the attribute video frame that does not exist after decoding by using the attribute video frame of another attribute. For example, the 3D reconstruction unit 407 may replace it with the average or weighted average of all attributes existing after decoding at the same frame time as the attribute video frame that does not exist after decoding. Further, the 3D reconstruction unit 407 may replace the attribute video frame having the same frame time as the attribute video frame that does not exist after decoding with the attribute video frame having the closest camera position to the attribute video frame that does not exist after decoding.
  • the 3D reconstruction unit 407 replaces the attribute video frame that does not exist after decoding with the average or weighted average of multiple attributes that are sufficiently close to the camera position at the same frame time as the attribute video frame that does not exist after decoding. May be good. Further, the 3D reconstruction unit 407 may be replaced with a base attribute having the same frame time as the attribute video frame that does not exist after decoding.
  • the 3D reconstruction unit 407 outputs the point cloud data obtained by such processing to the outside of the decoding device 400.
  • the decoding process is completed.
  • the decryption device 400 can be ⁇ 1. As described above in Adaptive Multi-Attribute>, it is possible to suppress an increase in the amount of code. As a result, the decoding device 400 can suppress an increase in the load of the decoding process. Further, the decoding device 400 can suppress an increase in the load (load of the transmission medium, storage medium, etc.) when transmitting or storing the coded data. Further, the decoding device 400 can suppress an increase in the cost of a device or system related to this video-based approach, such as the coding device 300 or the decoding device 400 itself.
  • Addendum> ⁇ Computer> The series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed in the computer.
  • the computer includes a computer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 17 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM ReadOnly Memory
  • RAM RandomAccessMemory
  • 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 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 is composed of, 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 the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-mentioned series. Is processed.
  • the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
  • the program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can also be installed in advance in ROM 902 or storage unit 913.
  • the coding device 300, the decoding device 400 and the like have been described as application examples of the present technology, but the present technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • devices for example, hard disk recorders and cameras
  • the present technology includes a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example,
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to any terminal such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing units, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. The use is also arbitrary.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, a binary value of 1/0 or a value of 3 or more. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits. Further, the identification information (including the flag) is assumed to include not only the identification information in the bit stream but also the difference information of the identification information with respect to a certain reference information in the bit stream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • various information (metadata, etc.) regarding the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). good.
  • this "association" may be a part of the data, not the entire data.
  • the image and the information corresponding to the image may be associated with each other in any unit such as a plurality of frames, one frame, or a part within the frame.
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes 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 configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • one device may execute the plurality of processes, or the plurality of devices may share and execute the plurality of processes.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and may be executed in parallel or in a row. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processes of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step 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 this technology can be independently implemented independently as long as there is no inconsistency.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • (1) A patch obtained by projecting the attributes on a two-dimensional plane for each subregion for each of a plurality of attributes corresponding to a single geometry of a point cloud that expresses a three-dimensional object as a set of points.
  • An attribute video frame generator that generates an attribute video frame that is an placed video frame
  • An attribute video frame coding unit that encodes the attribute video frame of each attribute generated by the attribute video frame generation unit
  • An image processing device including an attribute information generation unit that generates attribute information, which is information indicating the attribute video frame corresponding to the same timing as each other generated by the attribute video frame generation unit.
  • the image processing device (2) The image processing device according to (1), wherein the attribute video frame generation unit generates the attribute video frame for each point cloud frame which is a frame of the point cloud. (3) The attribute video frame generation unit generates the attribute video frame of the attribute existing in the point cloud frame among the plurality of attributes, and generates the attribute video frame of the attribute not existing in the point cloud frame. The image processing apparatus according to (2). (4) The image processing apparatus according to (3), wherein the attribute information includes a list of the attributes existing in the point cloud frame. (5) The image processing apparatus according to (3), wherein the attribute information includes a list of the attributes that do not exist in the point cloud frame. (6) The image processing apparatus according to any one of (3) to (5), wherein the attribute information generation unit generates the attribute information for each point cloud frame.
  • the attribute information generation unit When the existing attribute changes, the attribute information generation unit generates the attribute information, and the existing attribute does not change, as compared with the previous point cloud frame.
  • the attribute video frame coding unit encodes the attribute video frame of each attribute as a video sequence for each attribute, and generates encoded data for each attribute (1) to (8).
  • the image processing apparatus according to. (10)
  • the attribute video frame coding unit encodes the attribute video frame of all the attributes as one video sequence, and generates coded data including all the attributes (1) to (8).
  • the image processing apparatus (11) The image processing apparatus according to (10), wherein the attribute video frame coding unit interleaves and encodes the attribute video frame of each attribute at predetermined intervals. (12) The image processing apparatus according to (11), wherein the attribute information includes a parameter indicating the interval. (13) The image processing apparatus according to any one of (1) to (12), wherein the plurality of attributes include textures of the objects obtained from different viewpoints from each other. (14) For each of a plurality of attributes corresponding to a single geometry of a point cloud that expresses a three-dimensional object as a set of points, a patch obtained by projecting the attributes onto a two-dimensional plane for each subregion can be obtained. Generates an attribute video frame, which is a placed video frame, Encode the generated attribute video frame for each attribute and An image processing method for generating attribute information, which is information indicating the attribute video frames that are generated and correspond to the same timing.
  • the attribute video frame decoding unit decodes the coded data in which the attribute video frame is encoded for each point cloud frame which is a frame of the point cloud, and generates the attribute video frame (15).
  • the image processing apparatus according to. (17) The attribute video frame decoding unit encodes the attribute video frame generated for the attribute existing in the point cloud frame among the plurality of attributes and omitted from the generation for the non-existing attribute.
  • the point cloud generation unit generates the attribute that does not exist in the point cloud frame by using the other attributes.
  • an attribute video frame which is a video frame in which the patch obtained by projecting to The coded data is decoded to generate attribute information which is information indicating the attribute video frame corresponding to the same timing.
  • 300 coding device 301 decomposition processing unit, 302 packing unit, 303 auxiliary patch information generation unit, 304 auxiliary patch information compression unit, 305 geometry video frame coding unit, 306 attribute video frame coding unit, 307 occupancy map coding.
  • Department 308 multiplexer, 400 decoder, 401 demultiplexer, 402 auxiliary patch information decoder, 403 geometry video frame decoder, 404 attribute video frame decoder, 405 occupancy map decoder, 406 unpacking, 407 3D reconstruction Department

Landscapes

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

Abstract

本開示は、単数のジオメトリに対応するアトリビュートの数を時間方向に可変とすることができるようにする画像処理装置および方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、その生成された、各アトリビュートのアトリビュートビデオフレームを符号化し、その生成された互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報を生成する。本開示は、例えば、画像処理装置、電子機器、画像処理方法、またはプログラム等に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、単数のジオメトリに対応するアトリビュートの数を時間方向に可変とした画像処理装置および方法に関する。
 従来、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドデータ(Point cloud data)の符号化・復号の標準化がMPEG(Moving Picture Experts Group)で進められている(例えば、非特許文献1参照)。
 また、ポイントクラウドのジオメトリデータとアトリビュートデータとを小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をビデオのフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化する方法(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案された(例えば、非特許文献2乃至非特許文献4参照)。
 さらに、そのビデオベースドアプローチにおいて、単数のジオメトリに対して複数のアトリビュートを設ける手法であるマルチアトリビュートが提案された(例えば、非特許文献5参照)。この方法の場合、この複数のアトリビュートは、それぞれ上述のようにフレーム画像化されて符号化される。つまり、ジオメトリの各フレーム画像に対して、複数のアトリビュートのフレーム画像が形成される。
"Information technology - MPEG-I (Coded Representation of Immersive Media) - Part 9: Geometry-based Point Cloud Compression", ISO/IEC 23090-9:2019(E) 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 Maja Krivoku.a, Philip A. Chou, and Patrick Savill, "8i Voxelized Surface Light Field (8iVSLF) Dataset", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42914, July 2018, Ljubljana
 しかしながら、非特許文献5に記載のマルチアトリビュートの場合、全フレームにおいて、アトリビュートの数が固定化されており、全てのアトリビュートを符号化しなければならなかった。
 本開示は、このような状況に鑑みてなされたものであり、単数のジオメトリに対応するアトリビュートの数を時間方向に可変とするものである。
 本技術の一側面の画像処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム生成部と、前記アトリビュートビデオフレーム生成部により生成された、各アトリビュートの前記アトリビュートビデオフレームを符号化するアトリビュートビデオフレーム符号化部と、前記アトリビュートビデオフレーム生成部により生成された互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報生成部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、生成された、各アトリビュートの前記アトリビュートビデオフレームを符号化し、生成された互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成する画像処理方法である。
 本技術の他の側面の画像処理装置は、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム復号部と、符号化データを復号し、互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報復号部と、前記アトリビュートビデオフレーム復号部により生成された前記アトリビュートビデオフレームに含まれる前記アトリビュートと、前記アトリビュート情報復号部により生成された前記アトリビュート情報とに基づいて、前記ポイントクラウドを生成するポイントクラウド生成部とを備える画像処理装置である。
 本技術の他の側面の画像処理方法は、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、符号化データを復号し、互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成し、生成された前記アトリビュートビデオフレームに含まれる前記アトリビュートと、生成された前記アトリビュート情報とに基づいて、前記ポイントクラウドを生成する画像処理方法である。
 本技術の一側面の画像処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームが生成され、その生成された、各アトリビュートのアトリビュートビデオフレームが符号化され、その生成された互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報が生成される。
 本技術の他の側面の画像処理装置および方法においては、符号化データが復号され、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームが生成され、符号化データが復号され、互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報が生成され、その生成されたアトリビュートビデオフレームに含まれるアトリビュートと、その生成されたアトリビュート情報とに基づいて、ポイントクラウドが生成される。
マルチアトリビュートについて説明する図である。 マルチアトリビュートについて説明する図である。 適応的なマルチアトリビュートについて説明する図である。 アトリビュート数の変化例について説明する図である。 アトリビュート数の変化例について説明する図である。 アトリビュート情報の例について説明する図である。 アトリビュートの補間例について説明する図である。 アトリビュートのビットストリームの構成例を示す図である。 アトリビュートのビットストリームの構成例を示す図である。 インタリーブの例を示す図である。 インタリーブの例を示す図である。 インタリーブの例を示す図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.適応的なマルチアトリビュート
 2.第1の実施の形態(符号化装置)
 3.第2の実施の形態(復号装置)
 4.付記
 <1.適応的なマルチアトリビュート>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 非特許文献5:(上述)
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、点の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合として表現する。ポイントクラウドは、各点の位置情報(ジオメトリとも称する)と属性情報(アトリビュートとも称する)とにより構成される。アトリビュートは任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートに含まれるようにしてもよい。このようにポイントクラウドは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <ボクセルを用いた位置情報の量子化>
 このようなポイントクラウドのデータ(ポイントクラウドデータとも称する)はそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリ(位置情報)を量子化するための3次元領域である。
 つまり、ポイントクラウドを内包する3次元領域(バウンディングボックス(Bounding box)とも称する)をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
  <ビデオベースドアプローチの概要>
 ビデオベースドアプローチ(Video-based approach)では、このようなポイントクラウドのジオメトリやアトリビュートが、小領域(コネクションコンポーネント)毎に2次元平面に投影される。本開示において、この小領域を部分領域という場合がある。このジオメトリやアトリビュートが2次元平面に投影された画像を投影画像とも称する。また、この小領域(部分領域)毎の投影画像をパッチと称する。例えば、ジオメトリの投影画像(パッチ)において、ポイントの位置情報は、投影面に対して垂直方向(奥行方向)の位置情報(デプス値(Depth))として表現される。
 そして、このように生成された各パッチがビデオシーケンスのフレーム画像(ビデオフレームとも称する)内に配置される。ジオメトリのパッチが配置されたフレーム画像をジオメトリビデオフレーム(Geometry video frame)とも称する。また、アトリビュートのパッチが配置されたフレーム画像をアトリビュートビデオフレーム(Atribute video frame)とも称する。例えば、ジオメトリビデオフレームの各画素値は、上述のデプス値を示す。
 そして、これらのビデオフレームが、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった2次元画像用の符号化方法で符号化される。つまり、3次元構造を表す3Dデータであるポイントクラウドデータを、2次元画像用のコーデックを用いて符号化することができる。
  <オキュパンシーマップ>
 なお、このようなビデオベースドアプローチの場合、オキュパンシーマップを用いることもできる。オキュパンシーマップは、ジオメトリビデオフレームやアトリビュートビデオフレームのNxN画素毎に、投影画像(パッチ)の有無を示すマップ情報である。例えば、オキュパンシーマップは、ジオメトリビデオフレームやアトリビュートビデオフレームの、パッチが存在する領域(NxN画素)を値「1」で示し、パッチが存在しない領域(NxN画素)を値「0」で示す。
 このようなオキュパンシーマップが、ジオメトリビデオフレームやアトリビュートビデオフレームとは別のデータとして符号化され、復号側に伝送される。デコーダは、このオキュパンシーマップを参照することにより、パッチが存在する領域であるか否かを把握することができるので、符号化・復号により生じるノイズ等の影響を抑制することができ、より正確に3Dデータを復元することができる。例えば、符号化・復号によりデプス値が変化しても、デコーダは、オキュパンシーマップを参照することにより、パッチが存在しない領域のデプス値を無視する(3Dデータの位置情報として処理しないようにする)ことができる。
 なお、このオキュパンシーマップも、ジオメトリビデオフレームやアトリビュートビデオフレーム等と同様に、ビデオフレームとして伝送することができる。
  <補助パッチ情報>
 さらに、ビデオベースドアプローチの場合、パッチに関する情報(補助パッチ情報とも称する)がメタデータとして伝送される。
  <動画像>
 なお、以下において、ポイントクラウド(のオブジェクト)は、2次元画像の動画像のように、時間方向に変化し得るものとする。つまり、ジオメトリデータやアトリビュートデータは、時間方向の概念を有し、2次元画像の動画像のように、所定の時間毎にサンプリングされたデータとする。なお、2次元画像のビデオフレームのように、各サンプリング時刻のデータをフレームと称する。つまり、ポイントクラウドデータ(ジオメトリデータやアトリビュートデータ)は、2次元画像の動画像のように、複数フレームにより構成されるものとする。本開示において、このポイントクラウドのフレームのことを、ポイントクラウドフレームとも称する。ビデオベースドアプローチの場合、このような動画像(複数フレーム)のポイントクラウドであっても、各ポイントクラウドフレームをビデオフレーム化してビデオシーケンスとすることで、動画像の符号化方式を用いて高効率に符号化することができる。
  <マルチアトリビュート>
 非特許文献5では、このようなビデオベースドアプローチにおける、単数のジオメトリに対して複数のアトリビュートを設ける手法であるマルチアトリビュートが開示された。単数のジオメトリに対して複数のアトリビュートを対応させることにより、例えば、レンダリングの際により適切なアトリビュートを選択したり、複数のアトリビュートを用いてより適切なアトリビュートを生成したりすることができ、表示用画像の主観画質の低減を抑制することができる。
 例えば、図1に示されるように、被写体であるオブジェクト11をカメラ12により撮像し、その撮像画像から得られるオブジェクトのテクスチャを用いて、オブジェクト11のポイントクラウドのアトリビュートを生成するとする。オブジェクト11のポイントクラウドのジオメトリは、各ポイントの位置情報であるので、1つ生成される。これに対して、カメラ12は5台あるので(#1乃至#5)撮像画像は5つ得られる。このような場合において、各撮像画像に含まれるオブジェクト11のテクスチャ(オブジェクト11の表面の絵柄、色、明るさ、質感等)をそれぞれ独立したアトリビュートとすると、1つのジオメトリに対して5つのアトリビュートが生成される。図1に示されるようにこの5台のカメラ12の位置および方向は互いに異なる。一般的に、オブジェクト11(のテクスチャ)の見え方は視点の位置および方向によって異なるものとなり得る。したがって、各アトリビュートのテクスチャは、互いに異なるものとなり得る。
 このように単数のジオメトリに対して複数の視点から得られるテクスチャを対応させることにより、レンダリングの際に、視点の位置や方向がより近いテクスチャを選択したり、複数のテクスチャを用いてより適切なテクスチャを生成したりすることができ、表示用画像の主観画質の低減を抑制することができる。
 ビデオベースドアプローチにおいてこのようなマルチアトリビュートを適用する場合、図2に示されるように、カメラ毎に(つまりアトリビュート毎に)アトリビュートビデオフレームが生成される。したがって、図2に示されるように、パッチ情報(補助パッチ情報)と、単数のジオメトリビデオフレーム(デプス)と、オキュパンシーマップと、複数のアトリビュートビデオフレームとが符号化される。各ポイントクラウドフレームについて、これらのビデオフレームや補助パッチ情報が生成される。
 なお、図2に示されるように、このパッチ情報には、パッチの識別情報(patchID)、2D投影面(ポイントクラウドのコネクションコンポーネント(小領域)が投影される2次元平面)上でのパッチの位置(u0,v0)、その投影面の3次元空間における位置(u,v,d)、法線(n)等の情報が含まれる。さらに、パッチの幅(width)やパッチの高さ(Height)等の情報がパッチ情報に含まれてもよい。
 しかしながら、非特許文献5に記載のマルチアトリビュートの場合、全ポイントクラウドフレームにおいて、アトリビュートの数が固定化されており、全てのアトリビュートのアトリビュートビデオフレームを符号化しなければならなかった。例えば、図3のAに示されるように全アトリビュートの内、円で囲まれたアトリビュートビデオフレームのみ必要であり、×印が付されたアトリビュートビデオフレームが不要な場合であっても、全てのアトリビュートの全てのフレーム(つまり全てのアトリビュートビデオフレーム)を符号化しなければならなかった。つまり、例えば図3のAのように一部のアトリビュートビデオフレームが不要であったとしても、その不要なアトリビュートビデオフレームも符号化しなければならなかった。そのため、符号化するデータ量が増大し、符号量が増大するおそれがあった。
 符号量が増大すると、符号化処理や復号処理の負荷が増大するだけでなく、符号化データを伝送したり記憶したりする際の負荷(伝送媒体や記憶媒体の負荷等)も増大するおそれがあった。これにより、このビデオベースドアプローチに関する装置やシステムのコストが増大するおそれがあった。
  <アトリビュート数の可変化>
 そこで、単数のジオメトリに対応するアトリビュートの数を時間方向に可変とする。つまり、必要に応じて、符号化されるアトリビュートの数(すなわち、互いに同一のタイミングに対応するアトリビュートビデオフレームの数)を増減させることができるようにする。すなわち、この場合、各ポイントクラウドフレームに対応するアトリビュート(アトリビュートビデオフレーム)の数が統一されていなくてもよい(互いに同一でなくてもよい)。
 例えば、図3のBに示されるように、円で囲まれた必要なアトリビュートビデオフレームのみを符号化することができるようにする。言い換えれば、図3のBに存在しない不要なアトリビュートフレームは符号化されない。このようにすることにより、不要なアトリビュートのアトリビュートビデオフレームの符号化を省略することができるので、符号化するデータ量の増大を抑制し、符号量の増大を抑制することができる。
 なお、本開示においては、アトリビュートが3次元形状のオブジェクトのテクスチャ(オブジェクトの表面の絵柄、色、明るさ、質感等)を含むものとする。また、複数台のカメラで撮像して得られた複数の撮像画像のそれぞれに含まれるそのオブジェクトのテクスチャが、マルチアトリビュートとしてそのオブジェクトの1つのジオメトリに対応付けられているものとする。つまり、マルチアトリビュートとして単数のジオメトリに対応する複数のアトリビュートは、互いに異なる位置および方向に設置されたカメラにより撮像されて得られた撮像画像に含まれるそのオブジェクトのテクスチャを含むものとする。
 つまり、各アトリビュートに対応する撮像画像は、画角が互いに異なる。このカメラの位置および方向のことを、オブジェクトを見るための「視点」とも称する。つまり、マルチアトリビュートとして単数のジオメトリに対応する複数のアトリビュートは、それぞれ、互いに異なる視点において得られるそのオブジェクトのテクスチャを含むものとする。
 次に、アトリビュートの数を可変とする方法の例について説明する。
  <アトリビュート数が可変の例1>
 例えば、符号化するアトリビュートビデオフレームをユーザ等が選択してもよい。例えば、図4のAに示されるように、オブジェクト11を複数のカメラ12で撮像し、各撮像画像から得られるオブジェクト11のテクスチャを用いてアトリビュートを生成するとする。この場合において、時間軸に沿ってレンダリングの際の視点が矢印41のように移動するとする。つまり、矢印41のようなレンダリングの際の視点の動き(視点パスとも称する)が既知であるとする。
 このような場合において、非特許文献5に記載の方法では、その視点位置に関わらず、全てのアトリビュートのアトリビュートビデオフレームを符号化しなければならなかった。そのため符号量が増大するおそれがあった。
 そこで、このような場合において、視点パスに応じて一部のアトリビュート(カメラ)をユーザ等が選択し、エンコーダが、その選択されたアトリビュートのアトリビュートビデオフレームのみを符号化するようにしてもよい。換言するに、各ポイントクラウドフレームの、選択されたアトリビュートビデオフレームが符号化され、選択されなかったアトリビュートビデオフレームの符号化が省略(スキップ)されるようにしてもよい。例えば、図4のBに示されるように、各ポイントクラウドフレームtに対して、その時点の視点位置に近いカメラが順次選択され、その選択されたカメラに対応するアトリビュートのアトリビュートビデオフレームが生成され、符号化されるようにしてもよい。
 例えば、ポイントクラウドフレームのタイミングである時刻tにおける視点の位置View(t)は、以下のように、その時刻tのx座標(Xview(t))と、y座標(Yview(t))と、z座標(Zview(t))とを用いて示される。
 View(t) = (Xview(t), Yview(t), Zview(t))
 各カメラ12の場所Cam(k)(k = 1,…,K)は、以下のように、x座標(Xcam(k))、y座標(Ycam(k))、z座標(Zcam(k))を用いて示される。
 Cam(k) = (Xcam(k), Ycam(k), Zcam(k))
 これらのView(t)とCam(k)とに基づいて、各時刻に必要なカメラのセットが選択される。例えば、View(t)とCam(k)が十分に近い場合、そのカメラ(アトリビュート)が選択される。そして、その選択されたカメラに対応するアトリビュートのアトリビュートビデオフレームが符号化される。
 このようにすることにより、符号化されるアトリビュートの数(符号化される互いに同一のタイミングに対応するアトリビュートビデオフレームの数)を、必要に応じて適宜増減させることができる。つまり、不要なアトリビュートビデオフレームの符号化を省略することができるので、符号量の増大を抑制することができる。
 例えば、視点から遠いカメラに対応するアトリビュートは、レンダリングの際に利用される可能性が低い。レンダリングに必要なアトリビュートビデオフレームの符号化を省略すると、表示用画像の主観画質が低減するおそれがあるが、このように必要性の低いアトリビュートビデオフレームの符号化を省略しても、表示用画像の主観画質への影響を抑制することができる。つまり、上述したように視点から遠いカメラに対応するアトリビュートビデオフレームの符号化を省略することにより、表示用画像の主観画質の低減を抑制しながら、符号量の増大を抑制することができる。
  <アトリビュート数が可変の例2>
 元々、全てのアトリビュートのアトリビュートビデオフレームが揃っていない場合がある。このような場合に、アトリビュートビデオフレームを補間せずに符号化してもよい。
 例えば、図5のAに示されるように、オブジェクト11を複数のカメラ12で撮像し、各撮像画像から得られるオブジェクト11のテクスチャを用いてアトリビュートを生成するとする。そして、時間軸に沿ってオブジェクト11が矢印51のように移動するとする。このような場合において、オブジェクト11の位置によって、オブジェクト11を撮像可能なカメラ12の数が異なることがあり得る。つまり、図5のBに示されるように、オブジェクト11が移動することにより、オブジェクト11を撮像可能なカメラ12の数が変化しうる。すなわち、アトリビュートビデオフレームの数が時間軸に沿って変化しうる。図5のBの例の場合、ポイントクラウドフレームのタイミングである時刻t=2においては、全てのアトリビュートビデオフレームが揃っているが、それ以外の時刻tにおいては、アトリビュートビデオフレームが揃っていない。
 このような場合において、非特許文献5に記載の方法では、全てのアトリビュートビデオフレームを揃える必要があったので、ポイントクラウドフレームに存在しないアトリビュートのアトリビュートビデオフレームを補間して符号化していた。そのため、符号量が増大するおそれがあった。
 そこで、このような場合において、エンコーダが、ポイントクラウドフレームに存在しないアトリビュートのアトリビュートビデオフレームを補間せずに符号化してもよい。つまり、エンコーダが、各ポイントクラウドフレームについて、そのポイントクラウドフレームに存在するアトリビュートのアトリビュートビデオフレームのみを符号化するようにしてもよい。換言するに、エンコーダが、各ポイントクラウドフレームについて、そのポイントクラウドフレームに存在するアトリビュートのアトリビュートビデオフレームを符号化し、存在しないアトリビュートのアトリビュートビデオフレームの符号化を省略(スキップ)するようにしてもよい。
 このようにすることにより、符号化されるアトリビュートの数(符号化される互いに同一のタイミングに対応するアトリビュートビデオフレームの数)を、必要に応じて適宜増減させることができる。つまり、不要なアトリビュートビデオフレームの符号化を省略することができるので、符号量の増大を抑制することができる。
 なお、アトリビュートビデオフレームが存在しないということは、そのポイントクラウドフレームのタイミングにおいて、そのカメラ12の位置および方向からオブジェクト11は見えないということである。したがって、レンダリングの際に、そのタイミングにおいて、そのカメラ12の近傍を、オブジェクト11を見る視点とする可能性は低い。つまり、補間されたアトリビュートビデオフレームをレンダリングの際に必要とする可能性が低い。レンダリングに必要なアトリビュートビデオフレームの符号化を省略すると、表示用画像の主観画質が低減するおそれがあるが、このように必要性の低いアトリビュートビデオフレームの符号化を省略しても、表示用画像の主観画質への影響を抑制することができる。つまり、上述したように存在しないアトリビュートビデオフレームを補間せずに符号化することにより、表示用画像の主観画質の低減を抑制しながら、符号量の増大を抑制することができる。
  <アトリビュート数が可変の例3>
 例えば、ポイントクラウドを符号化する符号化部が、符号量の増大を抑制するように、適応的にアトリビュート(アトリビュートビデオフレーム)を選択してもよい。例えば、その符号化部が、アトリビュート同士の差分(カメラ間の差分)、または、全アトリビュート(全カメラ)の平均と処理対象のアトリビュートとの差分を導出し、その差分が十分に小さい場合、そのアトリビュートビデオフレームの符号化を省略するようにしてもよい。
 このようにすることにより、符号化されるアトリビュートの数(符号化される互いに同一時刻のタイミングに対応するアトリビュートビデオフレームの数)を、必要に応じて適宜増減させることができる。つまり、不要なアトリビュートビデオフレームの符号化を省略することができるので、符号量の増大を抑制することができる。
 なお、上述の差分が十分に小さいということは、他のアトリビュートとの類似性が高いということであり、復号側においてそのアトリビュートを代用しても、レンダリングへの影響は小さい。すなわち、表示用画像の主観画質への影響を抑制することができる。つまり、上述したように他のアトリビュートやアトリビュートの平均との差が十分に小さいアトリビュートビデオフレームの符号化を省略することにより、表示用画像の主観画質の低減を抑制しながら、符号量の増大を抑制することができる。
  <ベースのアトリビュート>
 なお、例えば、ベースのアトリビュート(アトリビュートビデオフレーム)を符号化し、別の別途ストリームを生成してもよい。ベースのアトリビュートは、例えば、全アトリビュート(カメラ)の平均や、所定のアトリビュート(代表カメラ)等により構成されるアトリビュートである。
 このように、ベースのアトリビュートが符号化され、別の別途ストリームとして符号化側から復号側に伝送される場合、各フレーム時刻において、符号化されるアトリビュートの数が0となってもよい。
  <アトリビュート情報>
 以上のように、マルチアトリビュートを適用したビデオベースドアプローチにおいて、アトリビュートの数を時間方向に可変とすると、復号側においてどのアトリビュートビデオフレームが符号化されたかを把握することが困難になる。したがって、エンコーダが、そのような符号化データを正しく復号することが困難になるおそれがあった。換言するに、マルチアトリビュートを適用したビデオベースドアプローチにおいて、アトリビュートの数の時間方向の可変化を実現することが困難になるおそれがあった。
 そこで、符号化されたアトリビュート(アトリビュートビデオフレーム)に関する情報であるアトリビュート情報をシグナリングする(符号化側から復号側に伝送する)。
 例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、その生成された、各アトリビュートのアトリビュートビデオフレームを符号化し、その生成された互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するようにする。
 また、例えば、画像処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム生成部と、そのアトリビュートビデオフレーム生成部により生成された、各アトリビュートのアトリビュートビデオフレームを符号化するアトリビュートビデオフレーム符号化部と、そのアトリビュートビデオフレーム生成部により生成された互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報生成部とを備えるようにする。
 さらに、例えば、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、符号化データを復号し、互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報を生成し、その生成されたアトリビュートビデオフレームに含まれるアトリビュートと、生成されたアトリビュート情報とに基づいて、ポイントクラウドを生成するようにする。
 また、例えば、画像処理装置において、符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム復号部と、符号化データを復号し、互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報復号部と、そのアトリビュートビデオフレーム復号部により生成されたアトリビュートビデオフレームに含まれるアトリビュートと、そのアトリビュート情報復号部により生成されたアトリビュート情報とに基づいて、ポイントクラウドを生成するポイントクラウド生成部とを備えるようにする。
 以上のように、アトリビュート情報をシグナリングすることにより、デコーダは、どのアトリビュートビデオフレームが符号化されたかをより容易に把握することができる。つまり、マルチアトリビュートを適用したビデオベースドアプローチにおいてアトリビュートの数を時間方向に可変とした場合であっても、デコーダは、符号化データを正しく復号することができる。換言するに、マルチアトリビュートを適用したビデオベースドアプローチにおいて、アトリビュートの数の時間方向の可変化を実現することができる。
 なお、このアトリビュート情報は、符号化されたアトリビュートを復号側において把握することができるものであれば、どのような情報であってもよい。
 例えば、アトリビュート情報が各ポイントクラウドフレームに存在するアトリビュートのリストを含むようにしてもよい。例えば、図6のAのように各アトリビュートのアトリビュートビデオフレームが存在するとする。このようなアトリビュートデータに対して、図6のBに示されるようなアトリビュート情報61をシグナリングしてもよい。
 図6のBに示されるように、このアトリビュート情報61には、ポイントクラウドフレーム(ポイントクラウドフレームの時刻)毎に、そのポイントクラウドフレームに存在するアトリビュート(カメラ)の識別情報が示されている。例えば、フレーム時刻t = 0のポイントクラウドフレームには、アトリビュート(cam#1)が存在することが示されている。換言するに、そのポイントクラウドフレーム(t = 0)のアトリビュートとして、アトリビュート(cam#1)のアトリビュートビデオフレームが符号化されている。
 また、フレーム時刻t = 1のポイントクラウドフレームには、アトリビュート(cam#1)とアトリビュート(cam#3)が存在することが示されている。換言するに、そのポイントクラウドフレーム(t = 1)のアトリビュートとして、アトリビュート(cam#1)とアトリビュート(cam#3)のアトリビュートビデオフレームが符号化されている。
 さらに、フレーム時刻t = 2のポイントクラウドフレームには、アトリビュート(cam#1)とアトリビュート(cam#2)とアトリビュート(cam#3)が存在することが示されている。換言するに、そのポイントクラウドフレーム(t = 2)のアトリビュートとして、アトリビュート(cam#1)とアトリビュート(cam#2)とアトリビュート(cam#3)のアトリビュートビデオフレームが符号化されている。
 また、フレーム時刻t = 3のポイントクラウドフレームには、アトリビュートが存在しないことが示されている。換言するに、そのポイントクラウドフレーム(t = 3)のアトリビュートとして符号化されたアトリビュートフレームが存在しない(NONE)。
 さらに、フレーム時刻t = 4のポイントクラウドフレームには、アトリビュート(cam#2)が存在することが示されている。換言するに、そのポイントクラウドフレーム(t = 4)のアトリビュートとして、アトリビュート(cam#2)のアトリビュートビデオフレームが符号化されている。
 また、フレーム時刻t = 5のポイントクラウドフレームには、アトリビュート(cam#2)とアトリビュート(cam#3)が存在することが示されている。換言するに、そのポイントクラウドフレーム(t = 5)のアトリビュートとして、アトリビュート(cam#2)とアトリビュート(cam#3)のアトリビュートビデオフレームが符号化されている。
 このようなアトリビュート情報を参照することにより、符号化されたアトリビュートビデオフレームを容易に把握することができる。付言するに、ポイントクラウドフレームを用いて、符号化されたアトリビュートを同タイミングのジオメトリやオキュパンシーマップに関連付けることができる。
 また、例えば、アトリビュート情報が各ポイントクラウドフレームに存在しないアトリビュートのリストを含むようにしてもよい。例えば、図6のBの例と同様に、アトリビュート情報が、ポイントクラウドフレーム毎に、そのポイントクラウドフレームに存在しないアトリビュート(カメラ)の識別情報のリストを含むようにしてもよい。存在しないアトリビュートが分かれば、存在するアトリビュートも把握することができる。したがって、この場合も、図6のBの例の場合と同様に、アトリビュート情報から、符号化されたアトリビュートビデオフレームを容易に把握することができる。
 例えば、符号化されるアトリビュートビデオフレームの方が、符号化されないアトリビュートビデオフレームよりも多い場合、このように符号化されないアトリビュートのリストを適用することにより、アトリビュート情報の情報量の増大を抑制することができる。換言するに、符号化されないアトリビュートビデオフレームの方が、符号化されるアトリビュートビデオフレームよりも多い場合、符号化されるアトリビュートのリストを適用することにより、アトリビュート情報の情報量の増大を抑制することができる。
 また、アトリビュート情報は、ポイントクラウドフレーム毎に生成してもよいし、一部のポイントクラウドフレームに対してのみ生成してもよい。例えば、1つ前のポイントクラウドフレームと比較して、存在するアトリビュート(アトリビュートビデオフレームが符号化されたアトリビュート)が変化した場合、そのポイントクラウドフレームに対応するアトリビュート情報を生成し、存在するアトリビュートが変化していない場合、そのポイントクラウドフレームに対応するアトリビュート情報の生成を省略してもよい。
 その際、アトリビュート情報が、図6のBの例のように、そのフレーム時刻において符号化された(または符号化されない)全てのアトリビュートの情報を含むようにしてもよい。また、アトリビュート情報が、その1つ前のポイントクラウドフレームとの間のアトリビュートの差分に関する情報を含むようにしてもよい。つまり、符号化されたか否かのステータスが変化したアトリビュートのみをリスト化してもよい。このようにすることにより、アトリビュートの時間方向の変化が少ない場合、アトリビュート情報のデータ量の増大を抑制する(典型的には低減させる)ことができる。
  <復号側の処理>
 復号側においては、このアトリビュート情報に基づいて、どのアトリビュートのアトリビュートビデオフレームが符号化されたかを容易に把握することができる。上述のように全てのアトリビュートのアトリビュートビデオフレームが揃っていない場合の復号側のアトリビュートの処理方法は任意である。
 例えば、図7のAに示されるように、アトリビュートビデオフレームが揃っていない状態のままアトリビュートを用いてポイントクラウドを生成してもよい。つまり、復号後に存在しないアトリビュートビデオフレームの補間を行わずにポイントクラウドを生成してもよい。
 また、他のアトリビュートのアトリビュートビデオフレームを用いて復号後に存在しないアトリビュートビデオフレームを補間してもよい。例えば、図7のBに示されるように、復号後に存在しないアトリビュートビデオフレームと同一のポイントクラウドフレームに対応する、復号後に存在する全てのアトリビュートの平均または重み付き平均で置き換えてもよい。また、復号後に存在しないアトリビュートビデオフレームと同一のポイントクラウドフレームに対応する、その復号後に存在しないアトリビュートビデオフレームとカメラの位置が最も近いアトリビュートのアトリビュートビデオフレームで置き換えてもよい。さらに、復号後に存在しないアトリビュートビデオフレームと同一のポイントクラウドフレームに対応する、その復号後に存在しないアトリビュートビデオフレームとカメラの位置が十分に近い複数のアトリビュートの平均または重み付き平均で置き換えてもよい。また、図7のCに示されるように、復号後に存在しないアトリビュートビデオフレームと同一のポイントクラウドフレームに対応する、ベースのアトリビュートで置き換えてもよい。
  <アトリビュート毎の符号化>
 例えば、図8の例のように、各アトリビュートのアトリビュートビデオフレームをアトリビュート毎のビデオシーケンスとして符号化し、アトリビュート毎の符号化データを生成してもよい。
 この場合、符号化に利用される参照関係は、アトリビュート内に限定される(カメラ間の相関は符号化に利用されない)。また、図8に示される例のように、各カメラのアトリビュートの他に、ベースのアトリビュートを1つのビデオシーケンスとして符号化し、ベースのアトリビュートの符号化データを生成してもよい。その場合、ベースのアトリビュートやベースの符号化データに対して識別情報(カメラID等)を付してもよい。
 この場合、アトリビュート情報に含まれる各時刻tのカメラIDと、各ビットストリームのカメラIDに基づいてアトリビュートの対応付けを行う。
  <全アトリビュートの符号化>
 また、図9の例のように、全てのアトリビュートのアトリビュートビデオフレームを1本のビデオシーケンスとして符号化し、全てのアトリビュートを含む符号化データを生成してもよい。
 この場合、カメラ間の相関を符号化に利用することができる。なお、さらにベースのアトリビュートも含めて1本のビデオシーケンスとして符号化してもよい。
 このように全てのアトリビュートを含む符号化データを生成する場合、各アトリビュートのアトリビュートビデオフレームを所定の間隔でインタリーブして符号化してもよい。例えば、図9のAの場合、インタリーブ間隔T=1でインタリーブされている。つまり、各フレーム時刻において、各アトリビュートのアトリビュートビデオフレームがインタリーブされている。これに対して、図9のBの場合、インタリーブ間隔T=3でインタリーブされている。つまり、3フレーム時刻毎に、各アトリビュートのアトリビュートビデオフレームがインタリーブされている。
 なお、このインタリーブの間隔は、予め定められていてもよいし、可変であってもよい。また、そのインタリーブの間隔を示すパラメータであるインタリーブ間隔Tをシグナリングしてもよい。例えば、このインタリーブ間隔Tの値をアトリビュート情報に含めてもよい。
 また、以上のように全てのアトリビュートを含む符号化データを生成する場合、各時刻t内におけるフレーム順は、アトリビュート情報に示されるカメラIDの順に並べてもよい。このようにすることにより、アトリビュート情報に基づいて、各時刻tにおけるフレーム順も容易に把握することができる。
  <参照構造例1>
 全てのアトリビュートのアトリビュートビデオフレームを1本のビデオシーケンスとして符号化し、全てのアトリビュートを含む符号化データを生成する場合の、フレーム間の参照構造は任意である。例えば、図10の例のように、Iピクチャ、Pピクチャ、およびBピクチャを設定してもよい。この場合、各フレーム時刻において1つのピクチャがIピクチャまたはPピクチャとされ、その他のピクチャがBピクチャとされている。このようにすることにより、符号化においてカメラ間参照と時間参照を利用することができる。したがって、符号化効率の低減を抑制することができる。なお、この場合、各時刻の1つのアトリビュートのみを復号したい場合、スキップデコードを選択し、Bピクチャの復号をスキップすればよい。
 図11の例のように、ベースのアトリビュートビデオフレームも含める場合、ベースのアトリビュートビデオフレームがIピクチャまたはPピクチャとされ、その他のアトリビュートのアトリビュートビデオフレームがBピクチャとされるようにしてもよい。この場合も、図10の例と同様に、各フレーム時刻において1つのピクチャがIピクチャまたはPピクチャとされ、その他のピクチャがBピクチャとされている。このようにすることにより、図10の場合と同様に、符号化においてカメラ間参照と時間参照を利用することができる。したがって、符号化効率の低減を抑制することができる。なお、この場合、スキップデコードを選択し、Bピクチャの復号をスキップすることにより、ベースのアトリビュートビデオフレームのみを復号することができる。
 また、図12に示されるように、各フレーム時刻に1つのピクチャがIピクチャとされ、その他のピクチャがPピクチャまたはBピクチャとされてもよい。つまり、フレーム時刻毎にGOP(Group Of Picture)を分けてもよい。このような構造とすることにより、任意の時刻から復号を開始することができる。すなわち、ランダムアクセス性を向上させることができる。
 <2.第1の実施の形態>
  <符号化装置>
 図13は、本技術を適用した画像処理装置の一実施の形態である符号化装置の構成の一例を示すブロック図である。図13に示される符号化装置300は、ビデオベースドアプローチを適用してポイントクラウドデータをビデオフレームとして2次元画像用の符号化方法により符号化を行う装置である。また、符号化装置300は、マルチアトリビュートのように、1つのジオメトリに対して複数のアトリビュートを対応づけることができる。
 なお、図13においては、処理部やデータの流れ等の主なものを示しており、図13に示されるものが全てとは限らない。つまり、符号化装置300において、図13においてブロックとして示されていない処理部が存在したり、図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図13に示されるように符号化装置300は、分解処理部301、パッキング部302、補助パッチ情報生成部303、補助パッチ情報圧縮部304、ジオメトリビデオフレーム符号化部305、アトリビュートビデオフレーム符号化部306、オキュパンシーマップ符号化部307、およびマルチプレクサ308を有する。
 分解処理部301は、ジオメトリデータの分解に関する処理を行う。例えば、分解処理部301は、符号化装置300に入力される、ポイントクラウドを取得する。また、分解処理部301は、取得したそのポイントクラウドをパッチに分解し、ジオメトリのパッチやアトリビュートのパッチを生成する。そして、分解処理部301は、それらのパッチをパッキング部302に供給する。
 また、分解処理部301は、生成したパッチに関する情報(例えば、パッチIDや位置情報等)を補助パッチ情報生成部303に供給する。さらに、分解処理部301は、必要に応じて、視点に関する情報であるプロジェクションメタデータを生成し、パッキング部302、オキュパンシーマップ符号化部307、およびマルチプレクサ308に供給する。
 例えば、<アトリビュート数が可変の例1>や<アトリビュート数が可変の例3>において説明したように符号化するアトリビュートを選択する場合、分解処理部301が、その選択を行う。そして分解処理部301は、その選択したアトリビュートについてのみパッチ(アトリビュートのパッチ)を生成する。
 パッキング部302は、パッキングに関する処理を行う。例えば、パッキング部302は、分解処理部301から供給されるジオメトリやアトリビュートのパッチを取得する。そして、パッキング部302は、取得したジオメトリのパッチをビデオフレームにパッキングし、ジオメトリビデオフレームを生成する。パッキング部302は、生成したジオメトリビデオフレームをジオメトリビデオフレーム符号化部305に供給する。
 また、パッキング部302は、取得したアトリビュートのパッチを、そのアトリビュート毎にビデオフレームにパッキングし、アトリビュートビデオフレームを生成する。その際、パッキング部302は、<1.適応的なマルチアトリビュート>において上述したようにアトリビュートビデオフレームを生成する。例えば、パッキング部302は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、そのアトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成する。
 その際、パッキング部302は、ポイントクラウドのフレームであるポイントクラウドフレーム毎にアトリビュートビデオフレームを生成してもよい。またパッキング部302は、複数のアトリビュートのうち、ポイントクラウドフレームに存在するアトリビュートのアトリビュートビデオフレームを生成し、そのポイントクラウドフレームに存在しないアトリビュートのアトリビュートビデオフレームの生成を省略してもよい。つまり、パッキング部302は、分解処理部301により選択されたアトリビュートのパッチのみをパッキングしてもよい。
 パッキング部302は、生成したアトリビュートビデオフレームをアトリビュートビデオフレーム符号化部306に供給する。
 さらに、パッキング部302は、生成したジオメトリビデオフレームに基づいて、オキュパンシーマップを生成する。パッキング部302は、生成したオキュパンシーマップをビデオフレームとし、そのオキュパンシーマップをオキュパンシーマップ符号化部307に供給する。
 また、パッキング部302は、パッキングに関する情報を補助パッチ情報生成部303に供給する。例えば、パッキング部302は、パッチの2次元平面上でのパッチの位置(u0,v0)等をパッキングに関する情報として、補助パッチ情報生成部303に供給する。また、パッキング部302は、<1.適応的なマルチアトリビュート>において上述したようなアトリビュート情報を生成し、補助パッチ情報生成部303に供給する。つまり、パッキング部302は、生成された互いに同一のタイミングに対応するアトリビュートビデオフレームを示す情報であるアトリビュート情報を生成する。
 補助パッチ情報生成部303は、補助パッチ情報の生成に関する処理を行う。例えば、補助パッチ情報生成部303は、分解処理部301やパッキング部302から供給される各種情報を取得する。そして、補助パッチ情報生成部303は、それらの情報を含む補助パッチ情報を生成する。つまり、補助パッチ情報生成部303は、アトリビュート情報を含むパッチ情報を生成する。補助パッチ情報生成部303は、生成した補助パッチ情報を補助パッチ情報圧縮部304に供給する。
 補助パッチ情報圧縮部304は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部304は、補助パッチ情報生成部303から供給される補助パッチ情報を取得する。補助パッチ情報圧縮部304は、その取得した補助パッチ情報を符号化(圧縮)する。上述のようにこの補助パッチ情報には、アトリビュート情報が含まれる。つまり、補助パッチ情報圧縮部304は、そのアトリビュート情報を符号化(圧縮)する。この符号化方法は任意である。例えば、2次元画像用の符号化方式を適用してもよいし、ランレングス符号化等を適用してもよい。補助パッチ情報圧縮部304は、得られた補助パッチ情報の符号化データをマルチプレクサ308に供給する。
 ジオメトリビデオフレーム符号化部305は、ジオメトリビデオフレームの符号化に関する処理を行う。例えば、ジオメトリビデオフレーム符号化部305は、パッキング部302から供給されるジオメトリビデオフレームを取得する。また、ジオメトリビデオフレーム符号化部305は、その取得したジオメトリビデオフレームを、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等の任意の2次元画像用の符号化方法により符号化し、ジオメトリビデオフレームの符号化データを生成する。ジオメトリビデオフレーム符号化部305は、そのジオメトリビデオフレームの符号化データをマルチプレクサ308に供給する。
 アトリビュートビデオフレーム符号化部306は、アトリビュートビデオフレームの符号化に関する処理を行う。例えば、アトリビュートビデオフレーム符号化部306は、パッキング部302から供給されるアトリビュートビデオフレームを取得する。また、アトリビュートビデオフレーム符号化部306は、その取得したアトリビュートビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。
 このアトリビュートビデオフレームは、<1.適応的なマルチアトリビュート>において上述したような特徴を有する。つまり、同一の時刻に対して複数のアトリビュートビデオフレームが存在し得る。また、各時刻のアトリビュートビデオフレームの数は時間方向に可変である。アトリビュートビデオフレーム符号化部306は、このようなアトリビュートビデオフレームを、<1.適応的なマルチアトリビュート>において上述したように符号化する。例えば、アトリビュートビデオフレーム符号化部306が、アトリビュート毎にシーケンスを分けて符号化し、アトリビュート毎の符号化データを生成してもよい。また、アトリビュートビデオフレーム符号化部306が、全てのアトリビュートを所定の間隔でインタリーブして1本のシーケンスとして符号化し、全アトリビュートを含む符号化データを生成してもよい。
 アトリビュートビデオフレーム符号化部306は、その符号化により得られたアトリビュートビデオフレームの符号化データをマルチプレクサ308に供給する。
 オキュパンシーマップ符号化部307は、オキュパンシーマップのビデオフレームの符号化に関する処理を行う。例えばオキュパンシーマップ符号化部307は、パッキング部302から供給されるオキュパンシーマップを取得する。また、オキュパンシーマップ符号化部307は、その取得したオキュパンシーマップを、例えば任意の2次元画像用の符号化方法により符号化する。オキュパンシーマップ符号化部307は、その符号化により得られたオキュパンシーマップの符号化データをマルチプレクサ308に供給する。
 マルチプレクサ308は、多重化に関する処理を行う。例えば、マルチプレクサ308は、補助パッチ情報圧縮部304から供給される補助パッチ情報の符号化データ(アトリビュート情報を含む)を取得する。また、マルチプレクサ308は、ジオメトリビデオフレーム符号化部305から供給されるジオメトリの符号化データを取得する。さらに、マルチプレクサ308は、アトリビュートビデオフレーム符号化部306から供給されるアトリビュートの符号化データを取得する。また、マルチプレクサ308は、オキュパンシーマップ符号化部307から供給されるオキュパンシーマップの符号化データを取得する。
 マルチプレクサ308は、取得したそれらの情報を多重化して、ビットストリームを生成する。マルチプレクサ308は、その生成したビットストリームを符号化装置300の外部に出力する。
 このような構成とすることにより、符号化装置300は、<1.適応的なマルチアトリビュート>において上述したように、符号量の増大を抑制することができる。これにより、符号化装置300は、符号化処理の負荷の増大を抑制することができる。また、符号化装置300は、復号処理の負荷の増大を抑制させることができる。さらに、符号化装置300は、符号化データを伝送したり記憶したりする際の負荷(伝送媒体や記憶媒体の負荷等)の増大を抑制することができる。また、符号化装置300は、例えば、符号化装置300自身や後述する復号装置400等、このビデオベースドアプローチに関する装置やシステムのコストの増大を抑制することができる。
 なお、これらの処理部(分解処理部301乃至マルチプレクサ308)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 符号化装置300により実行される符号化処理の流れの例を、図14のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置300の分解処理部301は、ステップS301において、<1.適応的なマルチアトリビュート>において上述したように、符号化するアトリビュート(カメラ)を選択する。
 ステップS302において、分解処理部301は、ポイントクラウドをパッチに分解し、ジオメトリやアトリビュートのパッチを生成する。その際、分解処理部301は、アトリビュートについては、ステップS301において選択されたアトリビュートについてのみパッチを生成する。
 ステップS303において、パッキング部302は、ステップS302において生成されたパッチをビデオフレームにパッキングする。例えば、パッキング部302は、ジオメトリのパッチをパッキングし、ジオメトリビデオフレームを生成する。また、パッキング部302は、各アトリビュートのパッチをパッキングし、アトリビュート毎にアトリビュートビデオフレームを生成する。さらに、パッキング部302は、生成したジオメトリビデオフレームに基づいて、オキュパンシーマップを生成する。
 また、パッキング部302は、パッキングに関する情報や<1.適応的なマルチアトリビュート>において上述したようなアトリビュート情報を生成する。
 ステップS304において、補助パッチ情報生成部303は、ステップS302において生成されたパッチに関する情報、並びに、ステップS303において生成されたパッキングに関する情報およびアトリビュート情報を含む補助パッチ情報を生成する。
 ステップS305において、補助パッチ情報圧縮部304は、ステップS305において生成された補助パッチ情報を所定の符号化方法で符号化する。なお、この補助パッチ情報には、アトリビュート情報が含まれる。つまり、補助パッチ情報圧縮部304は、そのアトリビュート情報を符号化(圧縮)する。
 ステップS306において、ジオメトリビデオフレーム符号化部305は、ステップS303の処理により得られたジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。
 ステップS307において、アトリビュートビデオフレーム符号化部306は、ステップS303の処理により得られたアトリビュートビデオフレームを、2次元画像用の符号化方法により符号化する。<1.適応的なマルチアトリビュート>において上述したように、同一の時刻に対して複数のアトリビュートビデオフレームが存在し得る。また、各時刻のアトリビュートビデオフレームの数は可変である。アトリビュートビデオフレーム符号化部306は、このようなアトリビュートビデオフレームを、<1.適応的なマルチアトリビュート>において上述したように符号化する。例えば、アトリビュートビデオフレーム符号化部306は、アトリビュートビデオフレームを、アトリビュート毎に分けて符号化したり、全てのアトリビュートをインタリーブして1つのシーケンスにまとめて符号化したりすることができる。
 ステップS308において、オキュパンシーマップ符号化部307は、ステップS303の処理により得られたオキュパンシーマップを、2次元画像用の符号化方法により符号化する。
 ステップS309において、マルチプレクサ308は、以上のように生成された各種情報を多重化し、これらの情報を含むビットストリームを生成する。ステップS310において、マルチプレクサ308は、ステップS309の処理により生成したビットストリームを符号化装置300の外部に出力する。ステップS310の処理が終了すると符号化処理が終了する。
 以上のように符号化処理を実行することにより、符号化装置300は、<1.適応的なマルチアトリビュート>において上述したように、符号量の増大を抑制することができる。これにより、符号化装置300は、符号化処理の負荷の増大を抑制することができる。また、符号化装置300は、復号処理の負荷の増大を抑制させることができる。さらに、符号化装置300は、符号化データを伝送したり記憶したりする際の負荷(伝送媒体や記憶媒体の負荷等)の増大を抑制することができる。また、符号化装置300は、例えば、符号化装置300自身や後述する復号装置400等、このビデオベースドアプローチに関する装置やシステムのコストの増大を抑制することができる。
 <3.第2の実施の形態>
  <復号装置>
 図15は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図15に示される復号装置400は、ビデオベースドアプローチを適用し、ポイントクラウドデータをビデオフレームとして2次元画像用の符号化方法により符号化された符号化データを、2次元画像用の復号方法により復号し、ポイントクラウドを生成(再構築)する装置である。
 なお、図15においては、処理部やデータの流れ等の主なものを示しており、図15に示されるものが全てとは限らない。つまり、復号装置400において、図15においてブロックとして示されていない処理部が存在したり、図15において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図15に示されるように復号装置400は、デマルチプレクサ401、補助パッチ情報復号部402、ジオメトリビデオフレーム復号部403、アトリビュートビデオフレーム復号部404、オキュパンシーマップ復号部405、アンパッキング部406、および3D再構築部407を有する。
 デマルチプレクサ401は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ401は、復号装置400に入力されるビットストリームを取得する。このビットストリームは、例えば、符号化装置300がポイントクラウドデータを符号化することにより生成されたものである。
 また、デマルチプレクサ401は、このビットストリームを逆多重化する。例えば、デマルチプレクサ401は、その逆多重化によりビットストリームから補助パッチ情報の符号化データを抽出する。そして、デマルチプレクサ401は、抽出した補助パッチ情報の符号化データを補助パッチ情報復号部402に供給する。
 また、デマルチプレクサ401は、その逆多重化によりビットストリームからジオメトリビデオフレームの符号化データを抽出する。そして、デマルチプレクサ401は、抽出したジオメトリビデオフレームの符号化データをジオメトリビデオフレーム復号部403に供給する。
 さらに、デマルチプレクサ401は、その逆多重化によりビットストリームからアトリビュートビデオフレームの符号化データを抽出する。そして、デマルチプレクサ401は、抽出したアトリビュートビデオフレームの符号化データをアトリビュートビデオフレーム復号部404に供給する。
 また、デマルチプレクサ401は、その逆多重化によりビットストリームからオキュパンシーマップの符号化データを抽出する。そして、デマルチプレクサ401は、抽出したオキュパンシーマップの符号化データをオキュパンシーマップ復号部405に供給する。
 さらに、デマルチプレクサ401は、符号化側からシグナリングされたプロジェクションメタデータを、ジオメトリビデオフレーム復号部403、アトリビュートビデオフレーム復号部404、およびオキュパンシーマップ復号部405に供給しうる。
 補助パッチ情報復号部402は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部402は、デマルチプレクサ401から供給される補助パッチ情報の符号化データを取得する。また、補助パッチ情報復号部402は、その符号化データを復号し、補助パッチ情報を生成する。この補助パッチ情報には、アトリビュート情報が含まれる。つまり、補助パッチ情報復号部402は、符号化データを復号してアトリビュート情報を生成する。なお、この復号方法は、符号化の際に適用された符号化方法(例えば、補助パッチ情報圧縮部304が適用した符号化方法)に対応する方法(2次元画像用でない復号方法)であれば任意である。さらに、補助パッチ情報復号部402は、その補助パッチ情報を3D再構築部407に供給する。
 ジオメトリビデオフレーム復号部403は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ジオメトリビデオフレーム復号部403は、デマルチプレクサ401から供給されるジオメトリビデオフレームの符号化データを取得する。また、ジオメトリビデオフレーム復号部403は、その符号化データを復号し、ジオメトリビデオフレームを生成する。さらに、ジオメトリビデオフレーム復号部403は、そのジオメトリビデオフレームを、アンパッキング部406に供給することができる。
 アトリビュートビデオフレーム復号部404は、アトリビュートビデオフレームの符号化データの復号に関する処理を行う。例えば、アトリビュートビデオフレーム復号部404は、デマルチプレクサ401から供給されるアトリビュートビデオフレームの符号化データを取得する。また、アトリビュートビデオフレーム復号部404は、その符号化データを復号し、アトリビュートビデオフレームを生成する。
 このアトリビュートビデオフレームは、<1.適応的なマルチアトリビュート>において上述したような特徴を有する。つまり、同一の時刻に対して複数のアトリビュートビデオフレームが存在し得る。また、各時刻のアトリビュートビデオフレームの数は可変である。アトリビュートビデオフレーム復号部404は、このようなアトリビュートビデオフレームの符号化データを、<1.適応的なマルチアトリビュート>において上述したように復号する。例えば、アトリビュートビデオフレーム復号部404が、アトリビュート毎の符号化データを復号することより、各アトリビュートのアトリビュートビデオフレームを生成してもよい。また、アトリビュートビデオフレーム復号部404が、インタリーブされて1つのシーケンスにまとめられた全アトリビュートを含む符号化データを復号することにより、各アトリビュートのアトリビュートビデオフレームを生成してもよい。
 また、アトリビュートビデオフレーム復号部404が、ビデオのフレーム時刻毎に符号化データを復号し、アトリビュートビデオフレームを生成してもよい。また、アトリビュートビデオフレーム復号部404は、各フレーム時刻において存在するアトリビュートについてのみ符号化データを復号し、アトリビュートビデオフレームを生成してもよい。
 アトリビュートビデオフレーム復号部404は、そのアトリビュートビデオフレームを、アンパッキング部406に供給する。
 オキュパンシーマップ復号部405は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、オキュパンシーマップ復号部405は、デマルチプレクサ401から供給されるオキュパンシーマップの符号化データを取得する。また、オキュパンシーマップ復号部405は、その符号化データを復号し、オキュパンシーマップを生成する。さらに、オキュパンシーマップ復号部415は、そのオキュパンシーマップを、アンパッキング部406に供給する。
 アンパッキング部406は、アンパッキングに関する処理を行う。例えば、アンパッキング部406は、ジオメトリビデオフレーム復号部403から供給されるジオメトリビデオフレームを取得する。また、アンパッキング部406は、アトリビュートビデオフレーム復号部404から供給されるアトリビュートビデオフレームを取得する。また、アンパッキング部406は、オキュパンシーマップ復号部405から供給されるオキュパンシーマップを取得する。
 さらに、アンパッキング部406は、オキュパンシーマップに基づいて、そのジオメトリビデオフレーム、並びに、各アトリビュートビデオフレームをアンパッキングし、パッチを生成する。また、アンパッキング部406は、その生成した、ジオメトリやアトリビュートのパッチ等を3D再構築部407に供給する。
 3D再構築部407は、ポイントクラウド(3Dデータ)の生成(再構築)に関する処理を行う。例えば、3D再構築部407は、補助パッチ情報復号部402から供給される補助パッチ情報を取得する。また、3D再構築部407は、アンパッキング部406から供給されるジオメトリやアトリビュートのパッチ等を取得する。3D再構築部407は、それらの情報を用いてポイントクラウドを生成(再構築)する。その際、3D再構築部407は、<1.適応的なマルチアトリビュート>において上述したように処理を行う。
 例えば、3D再構築部407は、補助パッチ情報に含まれるアトリビュート情報を参照して、どのアトリビュートのパッチが存在するかを把握する。これにより、3D再構築部407は、補助パッチ情報、ジオメトリやアトリビュートのパッチ等を用いて、正しくポイントクラウドを生成(再構築)することができる。
 また、3D再構築部407が、アトリビュートビデオフレームが揃っていない状態のままアトリビュートを用いてポイントクラウドを生成してもよい。つまり、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームの補間を行わずにポイントクラウドを生成してもよい。
 また、3D再構築部407が、他のアトリビュートのアトリビュートビデオフレームを用いて復号後に存在しないアトリビュートビデオフレームを補間してもよい。例えば、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、復号後に存在する全てのアトリビュートの平均または重み付き平均で置き換えてもよい。また、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、その復号後に存在しないアトリビュートビデオフレームとカメラの位置が最も近いアトリビュートのアトリビュートビデオフレームで置き換えてもよい。さらに、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、その復号後に存在しないアトリビュートビデオフレームとカメラの位置が十分に近い複数のアトリビュートの平均または重み付き平均で置き換えてもよい。また、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、ベースのアトリビュートで置き換えてもよい。
 3D再構築部407は、このような処理により得られたポイントクラウドデータを復号装置400の外部に出力する。このポイントクラウドデータは、例えば、レンダリングされて表示部に表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
 このような構成とすることにより、復号装置400は、<1.適応的なマルチアトリビュート>において上述したように、符号量の増大を抑制することができる。これにより、復号装置400は、復号処理の負荷の増大を抑制することができる。また、復号装置400は、符号化データを伝送したり記憶したりする際の負荷(伝送媒体や記憶媒体の負荷等)の増大を抑制することができる。また、復号装置400は、例えば、符号化装置300や復号装置400自身等、このビデオベースドアプローチに関する装置やシステムのコストの増大を抑制することができる。
 なお、これらの処理部(デマルチプレクサ401乃至3D再構築部407)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 このような復号装置400により実行される復号処理の流れの例を、図16のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置400のデマルチプレクサ401は、ステップS401において、ビットストリームを逆多重化する。
 ステップS402において、補助パッチ情報復号部402は、ステップS401の処理によりビットストリームから抽出された補助パッチ情報の符号化データを復号する。この補助パッチ情報には、アトリビュート情報が含まれる。つまり、補助パッチ情報復号部402は、符号化データを復号してアトリビュート情報を生成する。
 ステップS403において、ジオメトリビデオフレーム復号部403は、ステップS401の処理によりビットストリームから抽出されたジオメトリビデオフレームの符号化データを復号する。
 ステップS404において、アトリビュートビデオフレーム復号部404は、ステップS401の処理によりビットストリームから抽出されたアトリビュートビデオフレームの符号化データを復号する。
 このアトリビュートビデオフレームは、<1.適応的なマルチアトリビュート>において上述したような特徴を有する。つまり、同一の時刻に対して複数のアトリビュートビデオフレームが存在し得る。また、各時刻のアトリビュートビデオフレームの数は可変である。アトリビュートビデオフレーム復号部404は、このようなアトリビュートビデオフレームの符号化データを、<1.適応的なマルチアトリビュート>において上述したように復号する。例えば、アトリビュートビデオフレーム復号部404が、アトリビュート毎の符号化データを復号することより、各アトリビュートのアトリビュートビデオフレームを生成してもよい。また、アトリビュートビデオフレーム復号部404が、インタリーブされて1つのシーケンスにまとめられた全アトリビュートを含む符号化データを復号することにより、各アトリビュートのアトリビュートビデオフレームを生成してもよい。
 ステップS405において、オキュパンシーマップ復号部405は、ステップS401の処理によりビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。
 ステップS406において、アンパッキング部406は、オキュパンシーマップ等に基づいて、ジオメトリビデオフレームやアトリビュートビデオフレームをそれぞれアンパッキングし、ジオメトリやアトリビュートのパッチを生成(復元)する。
 ステップS407において、3D再構築部407は、ステップS402において生成された補助パッチ情報と、ステップS406において得られた各種情報とに基づいて、ポイントクラウドを生成(再構築)する。その際、3D再構築部407は、<1.適応的なマルチアトリビュート>において上述したように処理を行う。
 例えば、3D再構築部407は、補助パッチ情報に含まれるアトリビュート情報を参照して、どのアトリビュートのパッチが存在するかを把握する。これにより、3D再構築部407は、補助パッチ情報、ジオメトリやアトリビュートのパッチ等を用いて、正しくポイントクラウドを生成(再構築)することができる。
 また、3D再構築部407が、アトリビュートビデオフレームが揃っていない状態のままアトリビュートを用いてポイントクラウドを生成してもよい。つまり、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームの補間を行わずにポイントクラウドを生成してもよい。
 また、3D再構築部407が、他のアトリビュートのアトリビュートビデオフレームを用いて復号後に存在しないアトリビュートビデオフレームを補間してもよい。例えば、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、復号後に存在する全てのアトリビュートの平均または重み付き平均で置き換えてもよい。また、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、その復号後に存在しないアトリビュートビデオフレームとカメラの位置が最も近いアトリビュートのアトリビュートビデオフレームで置き換えてもよい。さらに、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、その復号後に存在しないアトリビュートビデオフレームとカメラの位置が十分に近い複数のアトリビュートの平均または重み付き平均で置き換えてもよい。また、3D再構築部407が、復号後に存在しないアトリビュートビデオフレームと同一フレーム時刻の、ベースのアトリビュートで置き換えてもよい。
 3D再構築部407は、このような処理により得られたポイントクラウドデータを復号装置400の外部に出力する。ステップS407の処理が終了すると復号処理が終了する。
 以上のように復号処理を実行することにより、復号装置400は、<1.適応的なマルチアトリビュート>において上述したように、符号量の増大を抑制することができる。これにより、復号装置400は、復号処理の負荷の増大を抑制することができる。また、復号装置400は、符号化データを伝送したり記憶したりする際の負荷(伝送媒体や記憶媒体の負荷等)の増大を抑制することができる。さらに、復号装置400は、例えば、符号化装置300や復号装置400自身等、このビデオベースドアプローチに関する装置やシステムのコストの増大を抑制することができる。
 <4.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図17に示されるコンピュータ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が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 また、以上においては、本技術の適用例として符号化装置300および復号装置400等について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連付けられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム生成部と、
 前記アトリビュートビデオフレーム生成部により生成された、各アトリビュートの前記アトリビュートビデオフレームを符号化するアトリビュートビデオフレーム符号化部と、
 前記アトリビュートビデオフレーム生成部により生成された互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報生成部と
 を備える画像処理装置。
 (2) 前記アトリビュートビデオフレーム生成部は、前記ポイントクラウドのフレームであるポイントクラウドフレーム毎に、前記アトリビュートビデオフレームを生成する
 (1)に記載の画像処理装置。
 (3) 前記アトリビュートビデオフレーム生成部は、前記複数のアトリビュートのうち、前記ポイントクラウドフレームに存在するアトリビュートの前記アトリビュートビデオフレームを生成し、前記ポイントクラウドフレームに存在しないアトリビュートの前記アトリビュートビデオフレームの生成を省略する
 (2)に記載の画像処理装置。
 (4) 前記アトリビュート情報は、前記ポイントクラウドフレームに存在する前記アトリビュートのリストを含む
 (3)に記載の画像処理装置。
 (5) 前記アトリビュート情報は、前記ポイントクラウドフレームに存在しない前記アトリビュートのリストを含む
 (3)に記載の画像処理装置。
 (6) 前記アトリビュート情報生成部は、前記ポイントクラウドフレーム毎に前記アトリビュート情報を生成する
 (3)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記アトリビュート情報生成部は、1つ前の前記ポイントクラウドフレームと比較して、存在する前記アトリビュートが変化した場合、前記アトリビュート情報を生成し、存在する前記アトリビュートが変化していない場合、前記アトリビュート情報の生成を省略する
 (3)乃至(5)のいずれかに記載の画像処理装置。
 (8) 前記アトリビュート情報は、1つ前の前記ポイントクラウドフレームとの間の前記アトリビュートの差分に関する情報を含む
 (7)に記載の画像処理装置。
 (9) 前記アトリビュートビデオフレーム符号化部は、各アトリビュートの前記アトリビュートビデオフレームを前記アトリビュート毎のビデオシーケンスとして符号化し、前記アトリビュート毎の符号化データを生成する
 (1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 前記アトリビュートビデオフレーム符号化部は、全ての前記アトリビュートの前記アトリビュートビデオフレームを1本のビデオシーケンスとして符号化し、全ての前記アトリビュートを含む符号化データを生成する
 (1)乃至(8)のいずれかに記載の画像処理装置。
 (11) 前記アトリビュートビデオフレーム符号化部は、各アトリビュートの前記アトリビュートビデオフレームを所定の間隔でインタリーブして符号化する
 (10)に記載の画像処理装置。
 (12) 前記アトリビュート情報は、前記間隔を示すパラメータを含む
 (11)に記載の画像処理装置。
 (13) 前記複数のアトリビュートは、それぞれ、互いに異なる視点において得られる前記オブジェクトのテクスチャを含む
 (1)乃至(12)のいずれかに記載の画像処理装置。
 (14) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、
 生成された、各アトリビュートの前記アトリビュートビデオフレームを符号化し、
 生成された互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成する
 画像処理方法。
 (15) 符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム復号部と、
 符号化データを復号し、互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報復号部と、
 前記アトリビュートビデオフレーム復号部により生成された前記アトリビュートビデオフレームに含まれる前記アトリビュートと、前記アトリビュート情報復号部により生成された前記アトリビュート情報とに基づいて、前記ポイントクラウドを生成するポイントクラウド生成部と
 を備える画像処理装置。
 (16) 前記アトリビュートビデオフレーム復号部は、前記ポイントクラウドのフレームであるポイントクラウドフレーム毎の前記アトリビュートビデオフレームが符号化された前記符号化データを復号し、前記アトリビュートビデオフレームを生成する
 (15)に記載の画像処理装置。
 (17) 前記アトリビュートビデオフレーム復号部は、前記複数のアトリビュートのうち、前記ポイントクラウドフレームに存在するアトリビュートについて生成され、存在しない前記アトリビュートについて生成が省略された前記アトリビュートビデオフレームが符号化された前記符号化データを復号し、前記ポイントクラウドフレームに存在する前記アトリビュートの前記アトリビュートビデオフレームを生成する
 (16)に記載の画像処理装置。
 (18) 前記ポイントクラウド生成部は、前記ポイントクラウドフレームに存在しない前記アトリビュートを、他の前記アトリビュートを用いて生成する
 (17)に記載の画像処理装置。
 (19) 前記ポイントクラウド生成部は、前記ポイントクラウドフレームに存在しない前記アトリビュートを、他の前記アトリビュートの平均を用いて生成する
 (17)に記載の画像処理装置。
 (20) 前記ポイントクラウド生成部は、前記ポイントクラウドフレームに存在しない前記アトリビュートを、他の前記アトリビュートの重み付き平均を用いて生成する
 (17)に記載の画像処理装置。
 (21) 前記複数のアトリビュートは、それぞれ、互いに異なる視点において得られる前記オブジェクトのテクスチャを含む
 (15)乃至(20)のいずれかに記載の画像処理装置。
 (22) 符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、
 符号化データを復号し、互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成し、
 生成された前記アトリビュートビデオフレームに含まれる前記アトリビュートと、生成された前記アトリビュート情報とに基づいて、前記ポイントクラウドを生成する
 画像処理方法。
 300 符号化装置, 301分解処理部, 302 パッキング部, 303 補助パッチ情報生成部, 304 補助パッチ情報圧縮部, 305 ジオメトリビデオフレーム符号化部, 306 アトリビュートビデオフレーム符号化部, 307 オキュパンシーマップ符号化部, 308 マルチプレクサ, 400 復号装置, 401 デマルチプレクサ, 402 補助パッチ情報復号部, 403 ジオメトリビデオフレーム復号部, 404 アトリビュートビデオフレーム復号部, 405 オキュパンシーマップ復号部, 406 アンパッキング部, 407 3D再構築部

Claims (22)

  1.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム生成部と、
     前記アトリビュートビデオフレーム生成部により生成された、各アトリビュートの前記アトリビュートビデオフレームを符号化するアトリビュートビデオフレーム符号化部と、
     前記アトリビュートビデオフレーム生成部により生成された互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報生成部と
     を備える画像処理装置。
  2.  前記アトリビュートビデオフレーム生成部は、前記ポイントクラウドのフレームであるポイントクラウドフレーム毎に、前記アトリビュートビデオフレームを生成する
     請求項1に記載の画像処理装置。
  3.  前記アトリビュートビデオフレーム生成部は、前記複数のアトリビュートのうち、前記ポイントクラウドフレームに存在するアトリビュートの前記アトリビュートビデオフレームを生成し、前記ポイントクラウドフレームに存在しないアトリビュートの前記アトリビュートビデオフレームの生成を省略する
     請求項2に記載の画像処理装置。
  4.  前記アトリビュート情報は、前記ポイントクラウドフレームに存在する前記アトリビュートのリストを含む
     請求項3に記載の画像処理装置。
  5.  前記アトリビュート情報は、前記ポイントクラウドフレームに存在しない前記アトリビュートのリストを含む
     請求項3に記載の画像処理装置。
  6.  前記アトリビュート情報生成部は、前記ポイントクラウドフレーム毎に前記アトリビュート情報を生成する
     請求項3に記載の画像処理装置。
  7.  前記アトリビュート情報生成部は、1つ前の前記ポイントクラウドフレームと比較して、存在する前記アトリビュートが変化した場合、前記アトリビュート情報を生成し、存在する前記アトリビュートが変化していない場合、前記アトリビュート情報の生成を省略する
     請求項3に記載の画像処理装置。
  8.  前記アトリビュート情報は、1つ前の前記ポイントクラウドフレームとの間の前記アトリビュートの差分に関する情報を含む
     請求項7に記載の画像処理装置。
  9.  前記アトリビュートビデオフレーム符号化部は、各アトリビュートの前記アトリビュートビデオフレームを前記アトリビュート毎のビデオシーケンスとして符号化し、前記アトリビュート毎の符号化データを生成する
     請求項1に記載の画像処理装置。
  10.  前記アトリビュートビデオフレーム符号化部は、全ての前記アトリビュートの前記アトリビュートビデオフレームを1本のビデオシーケンスとして符号化し、全ての前記アトリビュートを含む符号化データを生成する
     請求項1に記載の画像処理装置。
  11.  前記アトリビュートビデオフレーム符号化部は、各アトリビュートの前記アトリビュートビデオフレームを所定の間隔でインタリーブして符号化する
     請求項10に記載の画像処理装置。
  12.  前記アトリビュート情報は、前記間隔を示すパラメータを含む
     請求項11に記載の画像処理装置。
  13.  前記複数のアトリビュートは、それぞれ、互いに異なる視点において得られる前記オブジェクトのテクスチャを含む
     請求項1に記載の画像処理装置。
  14.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれについて、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、
     生成された、各アトリビュートの前記アトリビュートビデオフレームを符号化し、
     生成された互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成する
     画像処理方法。
  15.  符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成するアトリビュートビデオフレーム復号部と、
     符号化データを復号し、互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成するアトリビュート情報復号部と、
     前記アトリビュートビデオフレーム復号部により生成された前記アトリビュートビデオフレームに含まれる前記アトリビュートと、前記アトリビュート情報復号部により生成された前記アトリビュート情報とに基づいて、前記ポイントクラウドを生成するポイントクラウド生成部と
     を備える画像処理装置。
  16.  前記アトリビュートビデオフレーム復号部は、前記ポイントクラウドのフレームであるポイントクラウドフレーム毎の前記アトリビュートビデオフレームが符号化された前記符号化データを復号し、前記アトリビュートビデオフレームを生成する
     請求項15に記載の画像処理装置。
  17.  前記アトリビュートビデオフレーム復号部は、前記複数のアトリビュートのうち、前記ポイントクラウドフレームに存在するアトリビュートについて生成され、存在しない前記アトリビュートについて生成が省略された前記アトリビュートビデオフレームが符号化された前記符号化データを復号し、前記ポイントクラウドフレームに存在する前記アトリビュートの前記アトリビュートビデオフレームを生成する
     請求項16に記載の画像処理装置。
  18.  前記ポイントクラウド生成部は、前記ポイントクラウドフレームに存在しない前記アトリビュートを、他の前記アトリビュートを用いて生成する
     請求項17に記載の画像処理装置。
  19.  前記ポイントクラウド生成部は、前記ポイントクラウドフレームに存在しない前記アトリビュートを、他の前記アトリビュートの平均を用いて生成する
     請求項17に記載の画像処理装置。
  20.  前記ポイントクラウド生成部は、前記ポイントクラウドフレームに存在しない前記アトリビュートを、他の前記アトリビュートの重み付き平均を用いて生成する
     請求項17に記載の画像処理装置。
  21.  前記複数のアトリビュートは、それぞれ、互いに異なる視点において得られる前記オブジェクトのテクスチャを含む
     請求項15に記載の画像処理装置。
  22.  符号化データを復号し、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの単数のジオメトリに対応する複数のアトリビュートのそれぞれに対応する、前記アトリビュートを部分領域毎に2次元平面に投影することで得られるパッチが配置されたビデオフレームであるアトリビュートビデオフレームを生成し、
     符号化データを復号し、互いに同一のタイミングに対応する前記アトリビュートビデオフレームを示す情報であるアトリビュート情報を生成し、
     生成された前記アトリビュートビデオフレームに含まれる前記アトリビュートと、生成された前記アトリビュート情報とに基づいて、前記ポイントクラウドを生成する
     画像処理方法。
PCT/JP2021/034950 2020-10-06 2021-09-24 画像処理装置および方法 Ceased WO2022075078A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/029,587 US12457363B2 (en) 2020-10-06 2021-09-24 Image processing device and method
CN202180053834.7A CN116018618A (zh) 2020-10-06 2021-09-24 图像处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-169142 2020-10-06
JP2020169142 2020-10-06

Publications (1)

Publication Number Publication Date
WO2022075078A1 true WO2022075078A1 (ja) 2022-04-14

Family

ID=81126833

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034950 Ceased WO2022075078A1 (ja) 2020-10-06 2021-09-24 画像処理装置および方法

Country Status (3)

Country Link
US (1) US12457363B2 (ja)
CN (1) CN116018618A (ja)
WO (1) WO2022075078A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025177813A1 (ja) * 2024-02-19 2025-08-28 ソニーセミコンダクタソリューションズ株式会社 符号化方法、復号化方法及び情報処理システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016213808A (ja) * 2015-04-29 2016-12-15 パナソニックIpマネジメント株式会社 カメラ選択方法及び映像配信システム
JP2019153863A (ja) * 2018-03-01 2019-09-12 ソニー株式会社 画像処理装置、符号化装置、復号化装置、画像処理方法、プログラム、符号化方法及び復号化方法
WO2020008758A1 (ja) * 2018-07-06 2020-01-09 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム
US20200302650A1 (en) * 2019-03-19 2020-09-24 Nokia Technologies Oy Method and apparatus for storage and signaling of static point cloud data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI815842B (zh) * 2018-01-16 2023-09-21 日商索尼股份有限公司 影像處理裝置及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016213808A (ja) * 2015-04-29 2016-12-15 パナソニックIpマネジメント株式会社 カメラ選択方法及び映像配信システム
JP2019153863A (ja) * 2018-03-01 2019-09-12 ソニー株式会社 画像処理装置、符号化装置、復号化装置、画像処理方法、プログラム、符号化方法及び復号化方法
WO2020008758A1 (ja) * 2018-07-06 2020-01-09 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム
US20200302650A1 (en) * 2019-03-19 2020-09-24 Nokia Technologies Oy Method and apparatus for storage and signaling of static point cloud data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KRIVOKUĆA MAJA, PHILIP A. CHOU, AND PATRICK SAVILL: "8i Voxelized Surface Light Field (8iVSLF) Dataset", 1 July 2018 (2018-07-01), pages 1 - 3, XP055919337, Retrieved from the Internet <URL:https://mpeg-pcc.org/index.php/pcc-content-database/8i-voxelized-surface-light-field-8ivslf-dataset/> [retrieved on 20220510] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025177813A1 (ja) * 2024-02-19 2025-08-28 ソニーセミコンダクタソリューションズ株式会社 符号化方法、復号化方法及び情報処理システム

Also Published As

Publication number Publication date
CN116018618A (zh) 2023-04-25
US20230370636A1 (en) 2023-11-16
US12457363B2 (en) 2025-10-28

Similar Documents

Publication Publication Date Title
KR102373833B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102699246B1 (ko) 포인트 클라우드 데이터 부호화 장치, 포인트 클라우드 데이터 부호화 방법, 포인트 클라우드 데이터 복호화 장치 및 포인트 클라우드 데이터 복호화 방법
KR102677294B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11699248B2 (en) Image processing apparatus and method
JP7726209B2 (ja) 情報処理装置および方法
KR20210135324A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신장치 및 포인트 클라우드 데이터 수신 방법
CN115918093A (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
EP3992910A1 (en) Apparatus and method for processing point cloud data
KR20240144957A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR20240144967A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JPWO2020026846A1 (ja) 画像処理装置および方法
JP2021182650A (ja) 画像処理装置および方法
CN114402624B (zh) 点云数据处理设备和方法
KR20240117101A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2022075078A1 (ja) 画像処理装置および方法
WO2022050088A1 (ja) 画像処理装置および方法
KR20250024043A (ko) 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법
JP7613463B2 (ja) 画像処理装置および方法
KR20250002571A (ko) 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법
US12452453B2 (en) Image processing device and method
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
US20240007668A1 (en) Image processing device and method
KR20240125601A (ko) 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법
WO2021095565A1 (ja) 画像処理装置および方法
WO2022201787A1 (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: 21877379

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21877379

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP

WWG Wipo information: grant in national office

Ref document number: 18029587

Country of ref document: US