Method and device for coding geometry of point cloud

The method improves point cloud compression efficiency by adaptively encoding depth values in image regions based on rate-distortion analysis and interpolation, addressing inefficiencies in projecting complex geometries.

JP2025157294AActive Publication Date: 2025-10-15INTERDIGITAL VC HOLDINGS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025112566
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-04-11
Filing Date
2025-07-02
Publication Date
2025-10-15
Estimated Expiration
2039-04-01

AI Technical Summary

Technical Problem

Existing image-based point cloud compression techniques face inefficiencies when projecting point clouds with uneven surfaces or non-surface distributions, leading to poor compression efficiency and quality due to the difficulty in projecting onto surfaces with many wrinkles or irregular shapes.

Method used

A method for encoding and decoding depth values of orthogonally projected point clouds using a bitstream that determines a depth coding mode for each image region, deciding whether to encode depth values in the bitstream based on rate-distortion compensation and interpolation, improving coding efficiency by locally adapting to image content characteristics.

Benefits of technology

Enhances coding efficiency by reducing bitrate while maintaining quality, particularly in projecting point clouds with complex geometries, by selectively encoding depth values in regions where interpolation provides better compression performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025157294000001_ABST
    Figure 2025157294000001_ABST
Patent Text Reader

Abstract

To provide an encoding method and device for improving projection of a point cloud onto a two-dimensional image.SOLUTION: An encoding method includes: obtaining a first encoded depth image by encoding a first depth image in a bitstream, the first depth image representing depth values of nearer points of a point cloud; determining and encoding a depth coding mode per image region, the depth coding mode indicating whether depth values in an image region of a second depth image are also encoded in the bitstream, the second depth image representing depth values of farther points of the point cloud; and if at least one depth coding mode indicates that depth values in an image region of the second depth image are encoded in the bitstream, encoding at least partially the second depth image in the bitstream.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present principles generally relate to the coding and decoding of point clouds representing the exterior surfaces of 3D objects, and in particular, but not exclusively, the technical field of the present principles relates to the encoding / decoding of depth images representing the geometry of such point clouds. [Background technology]

[0002] This section is intended to introduce the reader to various aspects of the art, which may be related to various aspects of the present principles, as described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present principles. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

[0003] A point cloud is a collection of data points in some coordinate system. In a three-dimensional coordinate system (3D space), these points are usually intended to represent the exterior surface of a 3D object. Each point in a point cloud is often defined by its position (X, Y, and Z coordinates in 3D space) and possibly other associated attributes such as color, expressed in RGB or YUV color space, transparency, reflectance, or a two-component normal vector.

[0004] We usually represent a point cloud as a set of six-component points (X,Y,Z,R,G,B) or equivalently (X,Y,Z,Y,U,V), where (X,Y,Z) define the coordinates of a colored point in 3D space, and (R,G,B) or (Y,U,V) define the color of this colored point.

[0005] Point clouds can be static or dynamic, depending on whether the cloud evolves over time. Note that in a dynamic point cloud, the number of points is not constant, but rather typically evolves over time. A dynamic point cloud is therefore a time-ordered list of a set of points.

[0006] In practice, point clouds can be used for various purposes, such as scanning objects like statues or buildings in cultural heritage / architecture in 3D to share the spatial configuration of the objects without transmitting or visiting them. They are also a way to ensure that knowledge of the objects is preserved in case they are destroyed, for example, if an earthquake destroys a temple. Such point clouds are usually static, colored, and huge.

[0007] Another use case is topography and cartography, where 3D representations are used so that maps are not limited to flat surfaces but can include reliefs. Currently, Google Maps is a good example of a 3D map, but it uses meshes rather than point clouds. Still, point clouds can be a suitable data format for 3D maps, and such point clouds are usually static, colored, and large.

[0008] The automotive industry and autonomous vehicles are other areas where point clouds can be used. Autonomous vehicles need to be able to "survey" their environment to make appropriate driving decisions based on their immediate reality. Regular sensors like LIDAR generate dynamic point clouds that are used by decision-making engines. These point clouds are not intended for human viewing, are usually small, not necessarily colored, and are dynamic due to their high capture frequency. They may have other attributes, such as reflectivity provided by LIDAR, which can provide good information about the material of the sensed object and aid in decision-making.

[0009] Virtual reality and immersive worlds have been a hot topic recently, with many predicting them as the future of 2D flat images. The basic idea is to immerse the viewer in the environment with everything around them, as opposed to standard television, where the viewer can only see the virtual world in front of them. There are several stages of immersion depending on the viewer's degree of freedom in the environment. Colored point clouds are a good candidate format for delivering virtual reality (or VR) worlds. They can be static or dynamic, and are usually of average size, never exceeding a few million points at a time.

[0010] Point cloud compression is successful in storing / transmitting 3D objects in an immersive world only if the size of the bitstream is small enough to make practical storage / transmission possible for the end user.

[0011] It is crucial to be able to deliver dynamic point clouds to end users with a reasonable bitrate consumption while maintaining an acceptable (or preferably very good) quality of experience. Efficient compression of these dynamic point clouds is a key point for the practical implementation of the immersive world delivery chain.

[0012] Image-based point cloud compression techniques are becoming increasingly popular due to their combination of compression efficiency and low complexity. They proceed in two main steps: first, project (orthogonally project) the point cloud, i.e., 3D points, into a 2D image. For example, at least one depth image represents the geometry of the point cloud, i.e., the spatial coordinates of the 3D points in 3D space, and at least one texture image represents attributes associated with the 3D points of the point cloud, e.g., texture / color information associated with these 3D points. Next, these techniques encode such depth and texture images using a conventional video encoder.

[0013] Image-based point cloud compression techniques leverage the capabilities of 2D video encoders, such as HEVC ("ITU-T H.265 Telecommunication standardization sector of ITU (10 / 2014), series H: Audiovisual and multimedia systems, infrastructure for audiovisual services, i.e., coding of moving images, High-Efficiency Video Coding, Recommendation ITU-T H.265"), to achieve good compression performance while keeping complexity low using a simple projection scheme.

[0014] One challenge with image-based point cloud compression techniques is that the point cloud may not be suitable for projection onto an image, especially when the point distribution follows a surface with many wrinkles (such as in uneven areas like clothing) or when the point distribution does not follow a surface at all (such as in fur or hair). In these situations, image-based point cloud compression techniques suffer from poor compression efficiency (many small projections are required, making 2D video compression less efficient) or poor quality (due to the difficulty of projecting the point cloud onto a surface).

[0015] One approach used in the state of the art to mitigate this problem consists in projecting multiple geometric and texture information onto the same spatial location (pixel) of the image, i.e., several depth and / or texture images may be generated for each 3D point of the point cloud.

[0016] This is the case, for example, with the so-called Test Model Category 2 Point Cloud Encoder (TMC2) defined in ISO / IEC JTC1 / SC29 / WG11 / N17248 in Macau, China, in October 2017. The point cloud is orthogonally projected onto a projection plane. Then, for each coordinate on the projection plane, two depth values ​​are associated: one representing the depth value associated with the closest point (minimum depth value) and the other representing the depth value of the furthest point (maximum depth value). A first depth image is then generated from the minimum depth value (D0), and a second depth image is generated from the difference between the maximum (D1) and minimum (D0) depth values, where D1-D0<=surface thickness, where surface thickness is the maximum surface thickness.

[0017] The depth image and associated metadata are then encoded and decoded. The geometry of the point cloud is then reconstructed from the decoded depth image. A color / texture is then assigned to each point in the reconstructed point cloud, and texture images (here, two) are generated from the assigned colors / textures. The two texture images are then encoded. In this way, the second depth image contains high frequency features such as significant contours that are very difficult to code. Summary of the Invention

[0018] The following presents a simplified summary of the present principles in order to provide a basic understanding of some aspects of the present principles. This summary is not an extensive overview of the present principles. It is not intended to identify key or critical elements of the present principles. The following summary merely presents some aspects of the present principles in a simplified form as a prelude to the more detailed description provided below.

[0019] The present invention is directed to a method for encoding depth values ​​of points orthogonally projected onto a projection plane of a point cloud, the method having the objective of remedying at least one of the drawbacks of the prior art, comprising: - obtaining a first coded depth image by encoding a first depth image in a bitstream, the first depth image representing depth values ​​of closer points of the point cloud; - determining and encoding in the bitstream a depth coding mode for each image region, the depth coding mode indicating whether depth values ​​within the image region of a second depth image are also coded in the bitstream, the second depth image representing depth values ​​of more distant points of the point cloud; - if at least one depth coding mode indicates that depth values ​​within an image region of the second depth image are coded in the bitstream, at least partially coding the second depth image in the bitstream.

[0020] According to one embodiment, determining whether depth values ​​in an image region of the second depth image are encoded in the bitstream comprises: - obtaining a first decoded depth image by decoding a first coded depth image and a second decoded depth image by coding and decoding a second depth image; - calculating a first rate-distortion compensation by considering a first distance and a first bit rate, wherein the first distance is calculated between depth values ​​in a co-located image region of the decoded first depth image and depth values ​​in a co-located image region of a decoded second depth image, and the data rate is calculated for encoding the second depth image; - calculating a second rate-distortion compensation taking into account a second distance, where the data rate is considered null and the second distance is calculated between depth values ​​of co-located image regions of the decoded first depth image and interpolated depth values ​​obtained by interpolating depth values ​​in the decoded first depth image; - If the second rate-distortion compensation is lower than the first rate-distortion compensation, the depth coding mode of the image region indicates that depth values ​​in the image region at the same position in the second depth image are not coded in the bitstream; otherwise, the depth coding mode of the image region indicates that depth values ​​in the image region at the same position in the second depth image are coded in the bitstream.

[0021] According to one embodiment, determining whether depth values ​​in an image region of the second depth image are encoded in the bitstream comprises: - calculating an interpolated depth value for the image region in a second depth image by interpolating depth values ​​in the first depth image; - calculating a distance between a depth value in said image region of the second depth image and an interpolated depth value obtained by interpolating depth values ​​in the decoded first depth image obtained by decoding the first coded depth image, - If the distance is below a threshold, the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are not coded in the bitstream; otherwise, the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are coded in the bitstream.

[0022] According to one embodiment, the above-mentioned first and second distances or the above-mentioned distances are calculated between at least a portion of the reconstructed point cloud and a corresponding portion of the point cloud, the at least a portion of the point cloud being reconstructed from the decoded first depth image and the second depth image.

[0023] According to one embodiment, the at least part of the point cloud is reconstructed from depth values ​​in the image region and from depth values ​​in at least one previously considered image region.

[0024] According to one embodiment, if the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are not coded in the bitstream, the depth values ​​of the pixels within the image region of the second depth image are replaced with a constant value before at least partially coding the second depth image.

[0025] According to one embodiment, the depth coding mode is encoded as metadata associated with the reconstruction of the point cloud whose geometry is represented by said first and second depth images.

[0026] The present principle aims to improve upon at least one of the drawbacks of the prior art in a method for decoding depth values ​​of points orthogonally projected onto a projection plane of an original point cloud, - decoding the bitstream to obtain a decoded first depth image; - obtaining, from the bitstream, a depth coding mode associated with an image region of the decoded second depth image; - at least partially decoding the second depth image from the bitstream if the depth coding mode indicates that depth values ​​within the image region of the decoded second depth image are coded in the bitstream; otherwise, calculating an interpolated depth value within the image region of the decoded second depth image by interpolating depth values ​​in the decoded first depth image.

[0027] According to one embodiment, if at least one depth coding mode indicates that depth values ​​within an image region of the second depth image are encoded / decoded in the bitstream, the entire second depth image is encoded / decoded in / from the bitstream.

[0028] According to one embodiment, the size and shape of the image region of the second depth image is the size and shape of the second depth image.

[0029] According to others of their aspects, the present principles relate to a device, a computer program product, a non-transitory computer-readable medium, and a video signal.

[0030] The particular nature of the present principles, as well as other objects, advantages, features and uses of the present principles, will become apparent from the following description of examples taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]

[0031] The drawings show examples of the present principles.

[0032] [Figure 1] 1 shows a schematic diagram of the method steps for encoding the geometry of a point cloud represented by first and second depth images, according to an example of the present principles; [Figure 2] 2 shows a schematic diagram of step 120 of the method of FIG. 1, in accordance with an embodiment of the present principles; [Figure 3] 2 shows a schematic diagram of step 120 of the method of FIG. 1, in accordance with an embodiment of the present principles; [Figure 4] FIG. 1 shows a schematic diagram of the steps of a method for decoding the geometry of a point cloud from first and second depth images representing different depth values ​​of orthogonally projected points of the original point cloud, according to an example of the present principles; [Figure 5] 1 shows a schematic diagram of a method for encoding the geometry and texture of a point cloud defined in the prior art (TMC2). [Figure 6] 6 shows a schematic example of the use of methods 100 and 200 in the encoding method of FIG. 5; [Figure 7] 1 shows a schematic diagram of a method for decoding the geometry and texture of a point cloud as defined in the prior art (TMC2). [Figure 8] 8 shows a schematic example of the use of the method 200 in the decoding method of FIG. 7; [Figure 9] 1 shows an example of a device architecture according to an example of the present principles; [Figure 10] 1 shows two remote devices communicating over a communications network, in accordance with an example of the present principles; [Figure 11] 1 shows the syntax of a signal according to an example of the present principles;

[0033] Similar or identical elements are referred to by the same reference numbers.

[0034] Illustrative examples of the present principles. The present principles are described in detail below with reference to the accompanying drawings, in which examples of the present principles are shown. However, the present principles may be embodied in many alternate forms and should not be construed as limited to the examples set forth herein. Accordingly, while the present principles are susceptible to various modifications and alternative forms, specific examples thereof have been shown by way of example in the drawings and are described in detail herein. However, it is to be understood that there is no intention to limit the present principles to the particular forms disclosed, but rather, the present disclosure covers all modifications, equivalents, and alternatives falling within the spirit and scope of the present principles, as defined by the claims.

[0035] The terms used herein are for the purpose of describing particular examples only and are not intended to limit the present principles. As used herein, the singular forms "a," "an," and "the" are intended to include the plural unless the context clearly indicates otherwise. As used herein, the terms "comprises," "comprising," "includes," and / or "comprising" specify the presence of stated features, integers, steps, operations, elements, and / or components, but will be further understood to not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Furthermore, when an element is referred to as "responsive to" or "connected to" another element, it may be directly responsive to or connectable to the other element, or intervening elements may be present. In contrast, when an element is referred to as "directly responsive to" or "directly connected to" another element, there are no intervening elements present. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items and may be abbreviated as " / ."

[0036] In this specification, terms such as "first," "second," etc. may be used to describe various elements, but it should be understood that these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first element can be referred to as a second element, and similarly, a second element can be referred to as a first element, without departing from the teachings of the present principles.

[0037] Some diagrams include arrows on communication paths to indicate the primary direction of communication, however, it should be understood that communication may occur in the opposite direction to the depicted arrow.

[0038] Some examples are described with reference to block diagrams and operational flowcharts, with each block representing a circuit element, module, or portion of code that includes one or more executable instructions for implementing a specified logical function(s). It should also be noted that in other implementations, the function(s) noted in the blocks may occur out of the order noted. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or may sometimes be executed in the reverse order, depending on the functionality involved.

[0039] References herein to "by one example" or "in one example" mean that a particular feature, structure, or characteristic described in connection with an example may be included in at least one embodiment of the present principles. The appearances of the phrases "by one example" or "in one example" in various places in the specification do not necessarily all refer to the same example, and separate or alternative examples are not necessarily mutually exclusive of other examples.

[0040] Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.

[0041] Although not explicitly described, the present embodiments and variations may be used in any combination or subcombination.

[0042] Although the present principles are described for encoding / decoding the geometry of a point cloud from two depth images, they extend to encoding / decoding of sequences of point clouds (temporally dynamic point clouds), as the geometry of a sequence of point clouds is encoded / decoded by / from a sequence of two depth images (video), and two depth images associated with a point cloud may be encoded independently of two depth images of another point cloud in the sequence.

[0043] As described above, the point cloud is orthogonally projected onto a projection plane, and two depth images D0 and D1 are obtained from the depth values ​​associated with the projected 3D points. D0 is the first depth image representing the depth values ​​of the closest point of the point cloud, and D1 is the second depth image representing the depth values ​​of the furthest point of the point cloud. The first depth image D0 is encoded, for example, using a conventional image / video encoder.

[0044] In the following, the term "image region" refers to a collection of pixels of an image. These pixels may or may not be adjacent pixels, but all pixels share at least one common property.

[0045] For example, the image itself may be considered to be an image region. The image may also be divided into blocks, in which case the blocks become image regions.

[0046] Image regions may also have non-rectangular shapes, for example, when pixels of an image having the same (or similar) extracted features are associated to form an image region.

[0047] Examples of features extracted from an image may be color, texture, normal vectors, etc.

[0048] FIG. 1 shows a schematic diagram of the steps of a method 100 for encoding the geometry of a point cloud represented by a first (D0) and a second (D1) depth image, according to an example of the present principles.

[0049] In step 110, the first depth image D0 is encoded in the bitstream B. In step 120, the module calculates a depth coding mode DCM for each image region. iを The depth coding mode indicates whether the depth values ​​of pixels in the image region of the second depth image D1 are also coded in the bitstream B. This depth coding mode is hereinafter referred to as the “explicit” mode.

[0050] In step 130, the module determines whether the depth coding mode DCM is set in bitstream B. i Encode the following.

[0051] In step 140, at least one depth coding mode DCM i indicates that the depth values ​​of pixels in the image region of the second depth image D1 are encoded in bitstream B ('explicit' mode), the module encodes the second depth image D1 at least partially in bitstream B.

[0052] Steps 130 and 140 are repeated until each of the I image regions has been considered.

[0053] According to the present principles, an additional depth coding mode is coded in the bitstream to indicate whether an image region of the second depth image D1 is explicitly (or implicitly) coded in the bitstream. If the depth coding mode associated with an image region of the second depth image D1 indicates that the depth values ​​of the pixels of that image region are not coded in the bitstream ("implicit" mode), the bitrate is reduced compared to effectively transmitting coded data representing the depth values, as disclosed in the prior art. Therefore, transmitting such a depth coding mode for each image region improves the coding efficiency of the depth image representing the geometry of the point cloud.

[0054] According to one embodiment, the size and shape of the image region of the second depth image is the size and shape of said second depth image, ie the image region is the image itself.

[0055] A single depth coding mode is then transmitted, indicating whether the entire second depth image is (or is not) coded in the bitstream.

[0056] According to step 140, at least one depth coding mode DCM iIf is set to "explicit" mode, the entire second depth image D1 is coded in the bitstream B.

[0057] According to another embodiment, each image region of the second depth image is assigned a depth coding mode.

[0058] The image region can have a rectangular shape, for example a block of an image, or a non-rectangular shape such as a projected depth patch in TMC2.

[0059] These embodiments improve coding efficiency by locally adapting depth coding modes to the characteristics of the image content.

[0060] As shown in FIG. 2, according to an embodiment of step 120, determining whether the depth values ​​of pixels in the image region of the second depth image D1 are to be coded in the bitstream includes the following steps:

[0061] The module generates a first encoded depth image

number

number

[0062] the decoded first depth image

number

number

number

number

number

[0063] Then, a first rate-distortion compensation Cost0 is calculated by considering the first distance Dist0 and the first bit rate RA0.

[0064] The module generates the decoded first depth image.

number

number

number

[0065] The second quality metric, Dist1, is the depth value of the pixel in the current image region.

number

[0066] Next, a second rate-distortion compensation Cost1 is calculated by taking into account the second distance Dist1, and the data rate is considered to be null here since the second depth image is not encoded (transmitted).

[0067] If the second rate-distortion compensation Cost1 is lower than the first rate-distortion compensation Cost0, the depth coding mode DCMi of the current image region i is set to "implicit", i.e., indicates that the depth values ​​in the current image region of the second depth image D1 are not coded in the bitstream. Otherwise, the depth coding mode DCM of the current image region i is set to "implicit". i is set to "explicit", i.e., indicates that the depth values ​​within the second depth image D1 current image region are encoded in the bitstream.

[0068] The steps of this embodiment are repeated until each of the I image regions has been considered.

[0069] This embodiment of step 120 provides the best rate-distortion tradeoff for determining whether depth values ​​of pixels in an image region of the second depth image are coded in the bitstream.

[0070] As shown in FIG. 3, according to an alternative embodiment of step 120, determining whether the depth values ​​of pixels in the image region of the second depth image D1 are encoded in the bitstream includes the following steps:

[0071] The module calculates interpolated depth values ​​for pixels of the co-located image region in the second depth image D1 by interpolating depth values ​​of pixels in the first depth image D0. The set of interpolated depth values ​​is

number

[0072] Next, the distance DIST is calculated as the depth value in the current image region i of the indicated second depth image D1.

number

number

[0073] If the distance DIST is less than the threshold TH, the depth coding mode DCM of the current image region i is i is set to "implicit", i.e., indicates that the depth values ​​in the current image region of the second depth image D1 are not coded in the bitstream. Otherwise, the depth coding mode DCM of the current image region i i is set to "explicit", i.e., indicates that the depth values ​​in the current image region of the second depth image D1 are coded in the bitstream.

[0074] The steps of this embodiment are repeated until each of the I image regions has been considered.

[0075] This alternative embodiment of step 120 offers a suboptimal rate-distortion tradeoff, as the metric is calculated without the encoding / decoding process, but reduces the complexity of the selection process compared to the complexity of the above-described optimal embodiment of FIG.

[0076] According to one embodiment, the distance DIST between two sets of ordered depth values ​​A and B is a distance defined as follows:

number

number

number

[0077] The ordering of a set of numbers is determined by the depth value

number

number

[0078] The distance DIST is not limited to this embodiment and can be extended to any other well-known metric for calculating the distance between two sets of J values, e.g., sum of absolute differences, mean / max / min of differences, etc.

[0079] According to one embodiment, a distance DIST is calculated between at least a portion of the reconstructed point cloud and a corresponding portion of the original point cloud.

[0080] As an example, the distance DIST is defined in ISO / IEC JTC1 / SC29 / WG1 MPEG2017 / N16763, Hobart, April 2017, Annex B.

[0081] The at least a portion of the point cloud is reconstructed from the decoded first and second depth images.

[0082] According to one embodiment, the at least part of the point cloud is reconstructed from depth values ​​of pixels in the image region.

[0083] According to one embodiment, the at least part of the point cloud is reconstructed from depth values ​​of pixels in the current image region and from depth values ​​of pixels in at least one previously considered image region.

[0084] For example, according to this embodiment, a "temporary" second depth image is initialized with a constant value, and then the depth values ​​of the pixels of said temporary second depth image are iteratively replaced by the depth values ​​of the coded / decoded second depth image if the current image region is explicitly coded ("explicit" mode), or by padding the depth values ​​of nearest neighbors previously coded according to the "explicit" mode.

[0085] Therefore, a reconstructed point cloud that depends on the encoding of depth values ​​of pixels in the previously considered image region will be similar to the reconstructed point cloud.

[0086] Note that in this embodiment, the "temporary" depth image is not coded in the bitstream. The second depth image is still coded according to the method of FIG.

[0087] According to an embodiment of step 140, a depth coding mode DCM associated with the image region i If is set to "implicit", the depth values ​​of pixels in that image region of the second depth image are at least partially replaced with a constant value before encoding the second depth image D1.

[0088] According to one embodiment, the depth coding mode DCMi is encoded as metadata related to the reconstruction of the point cloud whose geometry is represented by said first and second depth images.

[0089] The metadata may be associated with each image, or each image region common to the two images, for example, and is used to reconstruct the geometry of the point cloud at both the encoding and decoding sides, as further described in connection with Figures 5 and 6.

[0090] According to one embodiment, the depth coding mode DCMi is encoded as a syntax element of an SEI message, for example attached to the NAL unit associated with the first depth image D0.

[0091] Example of DCM in SEI message in HEVC [Table 1] dcm_mode contains an identification number used to identify the depth coding mode. For example, dcm_mode = 0 means "explicit" mode, and dcm_mode = 1 means "implicit" mode.

[0092] According to a variant, the depth coding mode can also be in the SPS or PPS message.

[0093] According to another embodiment, the depth coding mode DCMi is encoded as a watermark embedded in the depth image.

[0094] As a variant, the depth coding mode DCMi is embedded as a visible watermark in an empty area of ​​the first depth image D0.

[0095] For example, a block of NxN pixels in a given corner of the first depth image D0, where all pixels of such a block are set to the same binary value, e.g., 0 (1), indicating that the depth coding mode DCMi is set to "explicit" ("implicit").

[0096] At the decoder, the average value of the block is then calculated, and if the average value is closer to 0 than the maximum value (all pixel values ​​equal to 1), the decoded block indicates that "explicit" mode is being used, otherwise "implicit" mode is being used.

[0097] According to another embodiment, the depth coding mode DCMi is added to the binary information of the metadata related to the geometry of the point cloud represented by the first and second depth images, such as an occupancy map defined in TMC2.

[0098] This embodiment is more suitable for specifying the depth coding mode DCMi at a finer resolution than on a per-image basis.

[0099] Let's take a closer look at how this is implemented in TMC2. The top-level syntax of the current version of TMC2 is shown in Tables 1 and 2. Table 3 provides the syntax for encapsulation of geometry (depth) and texture (color) streams. Tables 4 and 5 show the detailed syntax for occupancy map and block-to-patch index decoding. Additionally, Tables 6 and 7 show the syntax for arithmetic coding of base values. [Table 2] [Table 3] [Table 4] [Table 5] [Table 6]

[0100] The current syntax encodes per-block metadata in two steps, first coding the block-to-patch indexes of all blocks in the patch image, and then coding the occupancy map of these blocks that belong to the patch.

[0101] The block-to-patch index defines the index of the patch associated with each block in the texture and depth images, where the blocks form a regular square grid. The size of the blocks is given by the "occupied resolution" parameter in the header of the group of frames, and is usually set to 16 pixels.

[0102] An occupancy map, which indicates which pixels in the texture and depth images represent the reconstructed point cloud, is also coded for each block. In this case, the blocks form a grid within each "occupied resolution" block, the grid being the size of the "occupied precision", typically set to 4 pixels.

[0103] Example of DCM mode encoded as metadata Example of DCM in occupancy map (per image (frame)) - changes in Table 5 [Table 7]

[0104] According to one embodiment, a depth coding mode DCM associated with an image region i is a binary value of the binary value sequence, and each binary value corresponds to the depth coding mode DCM of the image region. i For example, "0" indicates "implicit" mode and "1" indicates "explicit" mode.

[0105] According to one embodiment, the binary sequence can be coded using entropy or run-length coding methods.

[0106] FIG. 4 shows a schematic diagram of the steps of a method 200 for decoding the geometry of a point cloud from first (D0) and second (D1) depth images representing different depth values ​​of orthogonally projected points of the original point cloud, according to an example of the present principles.

[0107] In step 210, the bitstream B is decoded to obtain a decoded first depth image.

[0108] In step 220, a depth coding mode DCM associated with the current image region i of the decoded second depth image is calculated. i is decoded from bitstream B.

[0109] In step 230, the depth coding mode DCMi indicates that the depth values ​​of pixels in the current image region of the decoded second depth image D1 are encoded in bitstream B ("explicit" mode), the module at least partially decodes the second depth image D1 from bitstream B.

[0110] If not, in step 240, the module

number

number

[0111] Steps 220-240 are repeated until each of the I image regions has been considered.

[0112] The geometry of the point cloud is then decoded as the first (

number

number

[0113] According to one embodiment of the method, calculating interpolated depth values ​​for pixels of an image region of a second depth image by interpolating depth values ​​of pixels in a first depth image includes: - for each current pixel of the image region of the second depth image, determining the pixel at the same position in the first depth image; - determining at least one neighboring pixel of said co-located pixel in the first depth image; - calculating an interpolated depth value for each current pixel taking into account said at least one neighboring pixel in the first depth image.

[0114] According to one embodiment, the spatial distance between the co-located pixel and the at least one adjacent pixel in the first depth image is below a given threshold.

[0115] According to one embodiment, the interpolated depth value of a current pixel in an image region of the second depth image is the depth value of a nearest neighboring pixel of the at least one neighboring pixel in the first depth image. According to one implementation, the interpolated depth value of a current pixel in an image region of the second depth image is the maximum depth value of the at least one neighboring pixel in the first depth image.

[0116] According to one embodiment, the interpolated depth value of a current pixel in an image area of ​​the second depth image is the minimum depth value of said at least one adjacent pixel in the first depth image.

[0117] According to one embodiment, the interpolated depth value of a current pixel in an image area of ​​the second depth image is the average of the depth values ​​of said at least one adjacent pixel in the first depth image.

[0118] Figure 5 shows a schematic diagram of how the geometry and texture of a point cloud are coded as defined in TMC2.

[0119] Essentially, the encoder captures the geometric information of the original point cloud PC in a first (D0) and second (D1) depth image.

[0120] As an example, the first and second depth images are acquired at TMC2 as follows:

[0121] Depth patches (a set of 3D points in the point cloud PC) are obtained by clustering the points in the point cloud PC according to the normal vectors at these points. Then, all extracted depth patches are projected onto a 2D grid and packed while minimizing unused space, ensuring that every TxT (e.g., 16x16) block of the grid is associated with a unique patch, where T is a user-defined parameter signaled in the bitstream.

[0122] Next, a depth image is generated using the 3D-to-2D mapping calculated during the packing process, more specifically, the packing position and size of each patch's projected region. More precisely, let H(u,v) be the set of points in the current patch that project to the same pixel (u,v). The first layer, also called the closest layer or first depth image D0, stores the points in H(u,v) with the smallest depth values. The second layer, called the farthest layer or second depth image D1, captures the points in H(u,v) with the highest depth values ​​within the interval [D,D+Δ], where D is the depth value of the pixel in the first depth image D0 and Δ is a user-defined parameter representing the surface thickness.

[0123] The first depth image D0 is then output from the packing process. A padding process is also used to fill empty spaces between patches to generate a piecewise smooth first depth image suitable for video compression.

[0124] The generated depth images / layers D0 and D1 are then stored as video frames and compressed using any conventional video codec, such as HEVC.

[0125] The encoder encodes / decodes the first and second depth images, and the decoded first and second depth images

number

[0126] According to one embodiment, for each reconstructed point, the color of its closest point in the original point cloud is assigned as its color to be encoded.

[0127] Then, the first and second texture images T0 and T1 are generated by storing the coded color information of each reconstructed point at the same location as the depth image, i.e., (i, u, v).

[0128] FIG. 6 illustrates schematically an example of the use of methods 100 and 200 in the encoding method of FIG.

[0129] According to this example, the first depth image

number

number

number

[0130] FIG. 7 shows a schematic diagram of how to decode the geometry and texture of a point cloud as defined in the prior art (TMC2).

[0131] Decoded first depth image

number

number

number

[0132] The geometry of the point cloud is then reconstructed by backprojecting the decoded first and second depth images and possibly the metadata.

[0133] FIG. 8 illustrates a schematic example of the use of the method 200 in the decoding method of FIG.

[0134] According to this example, the decoding of the first and second depth images of FIG. 7 is replaced by the decoding method of FIG.

[0135] In Figures 1-8, modules are functional units that may or may not be associated with distinct physical units. For example, these modules, or some of them, may be grouped into unique components or circuits or contribute to software functionality. Conversely, some modules may potentially consist of separate physical entities. Apparatus compatible with the present principles may be implemented using pure hardware, e.g., dedicated hardware such as an ASIC or FPGA or VLSI, which are, respectively, an "Application Specific Integrated Circuit," a "Field Programmable Gate Array," or a "Very Large Scale Integration," or from several integrated electronic components embedded in the device, or from a mixture of hardware and software components.

[0136] FIG. 9 depicts an exemplary architecture of a device 90 that may be configured to implement the methods described in connection with FIGS.

[0137] The device 90 comprises the following elements linked together by a data and address bus 91: a microprocessor 92 (or CPU), for example a DSP (or Digital Signal Processor), -ROM (or read-only memory) 93, -RAM (or Random Access Memory) 94, an I / O interface 95 for receiving data sent by the application, and -Includes battery 96.

[0138] According to one example, the battery 96 is external to the device. In each of the above-mentioned memories, the word "register" as used herein can correspond to a small area (a few bits) or a very large area (e.g., an entire program or a large amount of received or decoded data). The ROM 93 contains at least programs and parameters. The ROM 93 may store algorithms and instructions for carrying out techniques according to the present principles. Upon power-on, the CPU 92 uploads the program to the RAM and executes the corresponding instructions.

[0139] The RAM 94 contains in registers the programs executed by the CPU 92 and uploaded after powering on the device 90, input data in registers, intermediate data for different states of the method in registers, and other variables used in the execution of the method in registers.

[0140] The implementations described herein may be implemented, for example, as a method or process, an apparatus, a software program, a data stream, or a signal. Even when discussed in the context of a single embodiment (e.g., discussed only as a method or device), implementation of the discussed functionality may also be embodied in other forms (e.g., a program). An apparatus may be implemented, for example, in appropriate hardware, software, and firmware. The methods may be implemented, for example, in an apparatus, such as a processor, which broadly refers to processing devices including, for example, computers, microprocessors, integrated circuits, or programmable logic devices. Processors also include communication devices, such as computers, mobile phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end users.

[0141] According to an example of a coding or encoder, the p-point group PC is obtained from a source. For example, the source may be: - local memory (93 or 94), e.g. video memory or RAM (or Random Access Memory), flash memory, ROM (or Read Only Memory), hard disk, - a storage device interface (95), e.g., an interface to a mass storage device, RAM, flash memory, ROM, optical disk, or magnetic support; a communication interface (95), for example a wired interface (e.g., a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as an IEEE 802.11 interface or a Bluetooth interface), and -Belonging to the set that includes image capture circuitry (e.g., sensors such as CCD (or Charge Coupled Device) or CMOS (or Complementary Metal Oxide Semiconductor)).

[0142] According to an example of the decoding or decoder, the decoded first and / or second depth image or the reconstructed point cloud is sent to a destination, in particular, the destination is - local memory (93 or 94), e.g., video memory or RAM, flash memory, hard disk, - a storage device interface (95), e.g., an interface to a mass storage device, RAM, flash memory, ROM, optical disk, or magnetic support; a communication interface (95), for example a wired interface (for example a bus interface (for example a USB (or Universal Serial Bus)), a wide area network interface, a local area network interface, an HDMI (High-Definition Multimedia Interface) interface) or a wireless interface (such as an IEEE 802.11 interface, a WiFi (registered trademark) or a Bluetooth (registered trademark) interface), and -Belongs to a collection, including a display.

[0143] According to the encoding or encoder example, bitstream B is sent to a destination. By way of example, bitstream B is stored in a local or remote memory, for example, a video memory (94) or RAM (94), or a hard disk (93). In a variant, one or both bitstreams are sent to a storage interface (95), for example, an interface with a mass storage device, flash memory, ROM, optical disk, or magnetic support, and / or transmitted via a communication interface (95), for example, an interface with a point-to-point link, a communication bus, a point-to-multipoint link, or a broadcast network.

[0144] According to the decoding or decoder example, the bitstream B is obtained from a source. Illustratively, the bitstream is read from a local memory, such as a video memory (94), RAM (94), ROM (93), flash memory (93), or hard disk (93). In a variant, the bitstream is received from a storage interface (95), such as an interface with a mass storage device, RAM, ROM, flash memory, optical disk, or magnetic support, and / or from a communications interface (95), such as an interface with a point-to-point link, a bus, a point-to-multipoint link, or a broadcast network.

[0145] According to an example, a device 90 configured to implement the encoding method described in relation to FIGS. 1 to 3 or FIGS. 5 and 6 comprises: -Mobile devices, -communication devices, -Gaming devices, - a tablet (or tablet computer), -Laptop, -still camera, -Video camera, - coding chip, -still image server, and - Belongs to a collection that includes a video server (e.g., a broadcast server, a video-on-demand server, or a web server).

[0146] According to an example, a device 90 configured to implement the decoding method described in relation to FIG. 4 or FIGS. 7 and 8 may: -Mobile devices, -communication devices, -Gaming devices, -Set-top boxes, -Television receiver - a tablet (or tablet computer), -Laptop, -display, and -Belongs to the set, including the decoding chip.

[0147] According to an example of the present principles shown in Figure 10, in a transmission context between two remote devices A and B over a communication network NET, device A includes a processor associated with memory RAM and ROM configured to implement the method for encoding the geometry of a point cloud described in relation to Figures 1 to 3 or Figures 5 and 6, and device B includes a processor associated with memory RAM and ROM configured to implement the method for decoding a point cloud described in relation to Figure 4 or Figures 7 and 8.

[0148] According to one example, the network is a broadcast network, adapted to transmit still or video images from device A to decoding devices including device B.

[0149] The signal intended to be transmitted by device A carries bitstream B. Bitstream B includes an encoded first depth image and possibly at least a portion of an encoded second depth image, as described in connection with FIG. 1. This signal includes at least one depth coding mode DCM iを Each depth coding mode indicates whether depth values ​​of pixels of image region i of the second depth image are coded in bitstream B ("explicit" mode) or not ("implicit" mode).

[0150] Figure 11 shows an example of the syntax of such a signal when data is transmitted via a packet-based transmission protocol. Each transmitted packet P includes a header H and a payload PAYLOAD. Bits in the header H, such as the depth coding mode DCM, i Therefore, at least one bit of the header H indicates at least one depth coding mode DCM i It is used to represent.

[0151] Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications. Examples of such equipment include encoders, decoders, post-processors that process output from decoders, pre-processors that provide input to encoders, video coders, video decoders, video codecs, web servers, set-top boxes, laptops, personal computers, cell phones, PDAs, and any other device that processes images or videos or other communication devices. As will be apparent, the equipment may be portable, even mounted on a moving vehicle.

[0152] Furthermore, the methods may be implemented by instructions executed by a processor, and such instructions (and / or data values ​​produced by the implementation) may be stored on a computer-readable storage medium. A computer-readable storage medium may take the form of a computer-readable program product embodied in one or more computer-readable media and having computer-executable computer-readable program code embodied therein. As used herein, a computer-readable storage medium is considered to be a non-transitory storage medium endowed with the inherent ability to store information thereon and to provide retrieval of information therefrom. A computer-readable storage medium may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. The following provides more specific examples of computer-readable storage media to which the present principles can be applied, but as will be readily understood by those skilled in the art, it should be understood that a portable computer diskette, a hard disk, a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing, is merely an exemplary and not an exhaustive list.

[0153] The instructions may form an application program tangibly embodied on a processor-readable medium.

[0154] Instructions may reside in, for example, hardware, firmware, software, or a combination. Instructions may be found, for example, in an operating system, a separate application, or a combination of the two. A processor may thus be characterized as both a device configured to execute a process and a device that includes a processor-readable medium (such as a storage device) having instructions for executing a process. Furthermore, a processor-readable medium may store data values ​​produced by an implementation in addition to or in place of instructions.

[0155] As will be apparent to those skilled in the art, embodiments can generate a wide variety of signals formatted to convey information, which can be stored or transmitted, for example. Information can include, for example, instructions for performing a method or data generated by one of the described embodiments. For example, a signal can be formatted to convey, as data, rules for writing or reading syntax of a described example of the present principles, or to convey, as data, the actual syntax values ​​described by a described example of the present principles. Such a signal can be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or as a baseband signal. Formatting can include, for example, encoding a data stream and modulating a carrier wave with the encoded data stream. The information conveyed by the signal can be, for example, analog or digital information. The signal can be transmitted over a wide variety of different wired or wireless links, as is known. The signal can be stored on a processor-readable medium.

[0156] A number of embodiments have been described. Nevertheless, it should be understood that various modifications may be made. For example, elements of different embodiments may be combined, supplemented, modified, or eliminated to produce other embodiments. Moreover, those skilled in the art will understand that other structures and processes may be substituted for the disclosed structures and processes, with the resulting implementation performing at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the disclosed embodiments. Accordingly, these and other embodiments are contemplated by this application.

Claims

1. 1. A method for encoding depth values ​​of orthogonally projected points onto a projection plane of a point cloud, comprising: obtaining a first coded depth image by encoding a first depth image in a bitstream, the first depth image representing depth values ​​of closer points of the point cloud; determining and encoding in the bitstream a depth coding mode for each image region, the depth coding mode indicating whether depth values ​​within an image region of a second depth image are also coded in the bitstream, the second depth image representing depth values ​​of more distant points of the point cloud; and at least partially encoding the second depth image in a bitstream if at least one depth coding mode indicates that depth values ​​within an image region of the second depth image are encoded in the bitstream.

2. determining whether depth values ​​within an image region of the second depth image are coded in the bitstream; obtaining a first decoded depth image by decoding the first coded depth image and a second decoded depth image by encoding and decoding the second depth image; calculating a first rate-distortion compensation by considering a first distance and a first bit rate, wherein the first distance is calculated between depth values ​​in a co-located image region of the decoded first depth image and depth values ​​in a co-located image region of the decoded second depth image, and the data rate is calculated for encoding the second depth image; calculating a second rate-distortion compensation taking into account a second distance, wherein the data rate is now considered to be null, and the second distance is calculated between depth values ​​of the co-located image region of the decoded first depth image and interpolated depth values ​​obtained by interpolating depth values ​​in the decoded first depth image; 2. The method of claim 1 , wherein if the second rate-distortion compensation is lower than the first rate-distortion compensation, the depth coding mode of the image region indicates that depth values ​​in the co-located image region of the second depth image are not coded in the bitstream; otherwise, the depth coding mode of the image region indicates that depth values ​​of the co-located image region of the second depth image are coded in the bitstream.

3. determining whether depth values ​​within an image region of the second depth image are coded in the bitstream; calculating an interpolated depth value for the image region in the second depth image by interpolating depth values ​​in the first depth image; calculating a distance between a depth value in the image region of the second depth image and an interpolated depth value obtained by interpolating depth values ​​in a decoded first depth image obtained by decoding the first coded depth image; 2. The method of claim 1, wherein if the distance is less than a threshold, the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are not coded in the bitstream, and otherwise, the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are coded in the bitstream.

4. 4. The method of claim 2 or 3, wherein the first and second distances of claim 2 or the distance of claim 3 are calculated between at least a portion of a reconstructed point cloud and a corresponding portion of the point cloud, the at least a portion of the point cloud being reconstructed from the decoded first and second depth images.

5. The method or device of claim 4 , wherein the at least part of the point cloud is reconstructed from depth values ​​in the image region and from depth values ​​in at least one previously considered image region.

6. 6. The method according to claim 1, wherein if the depth coding mode of the image region indicates that depth values ​​within the image region of the second depth image are not coded in the bitstream, depth values ​​of pixels within the image region of the second depth image are replaced with a constant value before at least partially coding the second depth image.

7. The method according to one of claims 1 to 6, wherein the depth coding mode is encoded as metadata associated with the reconstruction of the point cloud whose geometry is represented by the first and second depth images.

8. 1. A method for decoding depth values ​​of points orthogonally projected onto a projection plane of an original point cloud, comprising: Decoding the bitstream to obtain a decoded first depth image; obtaining, from the bitstream, a depth coding mode associated with an image region of the decoded second depth image; if the depth coding mode indicates that the depth values ​​within the image region of the decoded second depth image are coded in the bitstream, at least partially decoding the second depth image from the bitstream; Otherwise, calculating interpolated depth values ​​within the image region of the decoded second depth image by interpolating depth values ​​in the decoded first depth image.

9. 9. The method according to claim 1, wherein if at least one depth coding mode indicates that the depth values ​​within an image region of the second depth image are coded / decoded in the bitstream, then the entire second depth image is coded / decoded in / from the bitstream.

10. The method according to one of the preceding claims, wherein the size and shape of the image region of the second depth image is the size and shape of the second depth image.

11. 1. A device for encoding depth values ​​of orthogonally projected points of a point cloud onto a projection plane, comprising: obtaining a first coded depth image by encoding a first depth image in a bitstream, the first depth image representing depth values ​​of closer points of the point cloud; determining and encoding in the bitstream a depth coding mode for each image region, the depth coding mode indicating whether depth values ​​within an image region of a second depth image are also coded in the bitstream, the second depth image representing depth values ​​of more distant points of the point cloud; and at least partially encoding the second depth image in the bitstream if at least one depth coding mode indicates that depth values ​​in an image region of the second depth image are encoded in the bitstream.

12. determining whether depth values ​​within an image region of the second depth image are coded in the bitstream; obtaining a first decoded depth image by decoding the first coded depth image and a second decoded depth image by encoding and decoding the second depth image; calculating a first rate-distortion compensation by considering a first distance and a first bit rate, wherein the first distance is calculated between depth values ​​in a co-located image region of the decoded first depth image and depth values ​​in a co-located image region of the decoded second depth image, and the data rate is calculated for encoding the second depth image; calculating a second rate-distortion compensation taking into account a second distance, wherein the data rate is now considered to be null, and the second distance is calculated between depth values ​​of the co-located image region of the decoded first depth image and interpolated depth values ​​obtained by interpolating depth values ​​in the decoded first depth image; 12. The device of claim 11, wherein if the second rate-distortion compensation is lower than the first rate-distortion compensation, the depth coding mode of the image region indicates that depth values ​​in the image region at the same location in the second depth image are not coded in the bitstream; otherwise, the depth coding mode of the image region indicates that depth values ​​in the image region at the same location in the second depth image are coded in the bitstream.

13. determining whether depth values ​​within an image region of the second depth image are coded in the bitstream; calculating an interpolated depth value for the image region in the second depth image by interpolating depth values ​​in the first depth image; calculating a distance between a depth value in the image region of the second depth image and an interpolated depth value obtained by interpolating depth values ​​in a decoded first depth image obtained by decoding the first coded depth image; 12. The device of claim 11, wherein if the distance is less than a threshold, the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are not encoded in the bitstream, and otherwise, the depth coding mode of the image region indicates that the depth values ​​within the image region of the second depth image are encoded in the bitstream.

14. 14. The device of claim 12 or 13, wherein the first and second distances of claim 12 or the distance of claim 13 are calculated between at least a portion of a reconstructed point cloud and a corresponding portion of the point cloud, the at least a portion of the point cloud being reconstructed from the decoded first and second depth images.

15. The device or devices of claim 14 , wherein the at least part of the point cloud is reconstructed from depth values ​​in the image region and from depth values ​​in at least one previously considered image region.

16. 16. The device of claim 11, wherein if the depth coding mode of the image region indicates that depth values ​​within the image region of the second depth image are not coded in the bitstream, depth values ​​of pixels within the image region of the second depth image are replaced with a constant value before at least partially coding the second depth image.

17. The device of claims 11 to 16, wherein the depth coding mode is encoded as metadata associated with the reconstruction of the point cloud whose geometry is represented by the first and second depth images.

18. 1. A device for encoding depth values ​​of points orthogonally projected onto a projection plane of an original point cloud, comprising: Decoding the bitstream to obtain a decoded first depth image; obtaining, from the bitstream, a depth coding mode associated with an image region of the decoded second depth image; if the depth coding mode indicates that the depth values ​​within the image region of the decoded second depth image are coded in the bitstream, at least partially decoding the second depth image from the bitstream; Otherwise, calculate interpolated depth values ​​within the image region of the decoded second depth image by interpolating depth values ​​in the decoded first depth image.

19. The device of claim 11 , wherein if at least one depth coding mode indicates that the depth values ​​within an image region of the second depth image are encoded / decoded in the bitstream, the entire second depth image is encoded / decoded in / from the bitstream.

20. The device according to one of claims 11 to 19, wherein the size and shape of the image area of ​​the second depth image is the size and shape of the second depth image.

21. A computer program product comprising program code instructions for performing the steps of the method according to claims 1 to 10 when the program is run on a computer.

22. A video signal comprising: coded data representing a first depth image; and coded data representing at least one depth coding mode indicating whether depth values ​​of pixels in an image region of a second depth image are encoded in a bitstream.

23. A non-transitory computer-readable medium, comprising: Encoding the depth values ​​of the points orthogonally projected onto the projection plane of the point cloud; obtaining a first coded depth image by encoding a first depth image in a bitstream, the first depth image representing depth values ​​of closer points of the point cloud; determining and encoding in the bitstream a depth coding mode for each image region, the depth coding mode indicating whether depth values ​​within an image region of a second depth image are also coded in the bitstream, the second depth image representing depth values ​​of more distant points of the point cloud; and at least partially encoding the second depth image in the bitstream if at least one depth coding mode indicates that depth values ​​within an image region of the second depth image are to be encoded in the bitstream.

24. A non-transitory computer-readable medium, comprising: Decoding the depth values ​​of the points orthogonally projected onto the projection plane of the original point cloud; Decoding the bitstream to obtain a decoded first depth image; obtaining, from the bitstream, a depth coding mode associated with an image region of the decoded second depth image; if the depth coding mode indicates that the depth values ​​within the image region of the decoded second depth image are coded in the bitstream, at least partially decoding the second depth image from the bitstream; otherwise, calculating interpolated depth values ​​within the image region of the decoded second depth image by interpolating depth values ​​in the decoded first depth image.

Citation Information

Patent Citations

  • Method and apparatus for encoding and decoding motion vector

    JP2013258752A

  • Video data decoding method and video data decoding apparatus

    JP2015532558A

  • Motion-compensated compression of dynamic voxelized point clouds

    US20170347120A1

  • Point cloud compression

    WO2019055963A1

  • Image processing device and method

    WO2019142666A1