Apparatus and method for providing adaptive depth guard band
By using adjustable adaptive aptive depth protection band metadata in immersive video encoding, the problem of difficult to distinguish between occupied and unoccupied pixels during encoding and decoding is solved, and more efficient video compression and rendering quality is achieved.
Patent Information
- Application Number
- CN202080068386.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-30
- Filing Date
- 2020-09-30
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2040-09-30
AI Technical Summary
In the prior art, when encoding and decoding immersive video, it is difficult to effectively distinguish the part of the three-dimensional model that is encoded as occupied pixels and the part that is not encoded as unoccupied pixels, resulting in data corruption and noise problems during video compression.
By providing metadata to achieve an adjustable adaptive depth protection band, differentiating between occupied pixels and unoccupied pixels in the depth map set. The metadata includes protection band size and threshold depth values for signaling transmission and for encoding or decoding of the three-dimensional model.
It realizes reducing data corruption and noise at different compression levels, improves the accuracy and quality of video rendering, and adapts to different encoding conditions by dynamically adjusting the protection band range.
Smart Images

Figure CN114503585B_ABST
Abstract
Description
Technical Field
[0001] The exemplary and non-limiting embodiments relate generally to multimedia and, more particularly, to adaptive depth guard bands. Background Art
[0002] Performing video encoding and decoding is known. Summary of the invention
[0003] According to one aspect, an apparatus comprises: a component for signaling a depth start of a patch data unit of a data content patch based on a tile identifier and a patch index; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and a component for signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold, and an occupancy value below the threshold is defined as the patch based on the patch index being unoccupied.
[0004] According to one aspect, a device comprises: at least one processor; and at least one non-transitory memory comprising computer program code; wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the device to at least perform: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for a patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold, and an occupancy value below the threshold is defined as the patch based on the patch index being unoccupied.
[0005] According to an aspect, a method comprises: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold, and an occupancy value below the threshold is defined as the patch based on the patch index being unoccupied.
[0006] According to one aspect, a machine-readable, non-transitory program storage device is provided, tangibly embodying a program of instructions executable by the machine for performing operations, the operations comprising: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold, and an occupancy value below which is defined as the patch based on the patch index being unoccupied.
[0007] According to one aspect, an apparatus includes: a component for providing metadata, wherein the metadata is used to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels; a component for signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, wherein the guard band size indicates a first valid depth value in a coded video channel, and the threshold depth value serves as an occupancy threshold indicating a threshold for detecting a pixel as unoccupied; and a component for encoding or decoding a three-dimensional model based on the metadata that implements the adaptive depth guard band.
[0008] According to one aspect, a device comprises: at least one processor; and at least one non-transitory memory comprising computer program code; wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the device to at least perform: providing metadata to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels; signaling the metadata, wherein the metadata comprises a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in a coded video channel, the threshold depth value being an occupied threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0009] According to one aspect, a method includes: providing metadata to implement an adjustable adaptive depth guard band to distinguish pixels in a depth atlas that are part of a three-dimensional model encoded as occupied pixels from pixels in the atlas that are not part of the three-dimensional model encoded as unoccupied pixels; signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in a coded video channel, the threshold depth value as an occupancy threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0010] According to one aspect, a machine-readable, non-transitory program storage device is provided, tangibly embodying a program of instructions executable by the machine for performing operations, the operations comprising: providing metadata to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model encoded as unoccupied pixels; signaling the metadata, wherein the metadata comprises a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in an encoded video channel, the threshold depth value serving as an occupied threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The foregoing aspects and other features are described in the following description in conjunction with the accompanying drawings, in which:
[0012] Figure 1 Frames of a scene encoded with a quantization parameter (QP) of 22 using a High Efficiency Video Coding (HEVC) encoder are shown.
[0013] Figure 2 shows an image encoded with a QP of 42 using the HEVC encoder. Figure 1 Frame of the scene shown.
[0014] Figure 3 is an example code excerpt showing per-sequence and per-view signaling using adaptive depth guard bands for metadata bitstreams.
[0015] Figure 4 is an example code excerpt showing per-patch signaling using adaptive depth guard bands.
[0016] Figure 5 is an example code excerpt showing the signaling of an adaptive depth guard band value as a Supplemental Enhancement Information (SEI) message.
[0017] Figure 6is an example code excerpt illustrating per-view level signaling of adaptive depth guard bands using another type of SEI message.
[0018] Figure 7 A device is configured to implement an adaptive guard band.
[0019] Figure 8 is an example method to implement adaptive depth guard bands.
[0020] Fig. 9 is another example method to implement adaptive depth guard band. DETAILED DESCRIPTION
[0021] The following abbreviations and acronyms that may be found in the specification and / or drawings are defined as follows:
[0022] 2D or 2d two-dimensional
[0023] 3D or 3d three-dimensional
[0024] cam camera
[0025] DASH Dynamic Adaptive Streaming
[0026] GOP Group
[0027] HEVC High Efficiency Video Coding
[0028] id or ID identifier
[0029] I / F Interface
[0030] I / O Input / Output
[0031] ISO International Organization for Standardization
[0032] ISOBMFF ISO Base Media File Format
[0033] max Maximum value
[0034] min minimum value
[0035] (M)IV Immersive Video or MPEG Immersive Video (metadata)
[0036] MPD Media Presentation Description
[0037] MPEG Moving Picture Experts Group
[0038] num number / quantity
[0039] NW Network
[0040] Params
[0041] Pos
[0042] QP Quantization Parameter
[0043] SEI Supplemental Enhancement Information
[0044] U() Unsigned
[0045] Upcoming immersive 3D video standards such as MPEG(M)IV encode dynamic 3D content as patches in a 2D video atlas, each patch containing color information for textures and depth information for geometry. The examples described herein are particularly useful for techniques that embed occupancy information into depth information.
[0046] In depth coding (e.g., in (M)IV), it is necessary to distinguish between pixels in the atlas that are part of the 3D model being encoded and pixels that are not; these are called occupied and unoccupied pixels, respectively. The renderer or view compositor uses this occupancy information to effectively discard unoccupied pixels. Corruption of this occupancy information due to video compression can cause geometry to be lost from it, or spurious geometry noise to be added to the final rendered image.
[0047] Figure 1 Frames of a scene 100 are shown encoded with a quantization parameter (QP) of 22 using a High Efficiency Video Coding (HEVC) encoder. Figure 2 shows an image encoded with a QP of 42 using the HEVC encoder. Figure 1 Frame of scene 200 is shown. Note that noise has been added due to erroneous geometry (shown as pixels 202, 204, 206, and 208).
[0048] Currently in (M)IV, occupancy information is multiplexed into the depth channel so that a certain range of depth values (e.g., 0-63) is used to signal unoccupied pixels, while the remaining values (e.g., 64-1023 in a 10-bit channel) contain depth data. This fixed guard band works well for uncompressed data, but increasing compression results in increased corruption of the data.
[0049] The examples described in this article provide new metadata to allow content authors to adjust the guard band range at the sequence, view, or patch level. This helps to tune encoding to avoid excessive corruption at different compression levels.
[0050] In the current (M)IV, the hard-coded guard band size is 64. This is interpreted so that values between 0..63 indicate unoccupied pixels, while values between 64..1023 are the actual encoded depth values, which can be normalized back to the range of 0..1 by knowing the min / max quantizer values of 64 and 1023 respectively.
[0051] The examples described herein describe replacing hard - coded guard - band sizes with two explicit metadata segments: the guard - band size, and a threshold depth value. They are represented slightly differently as: depthStart, which indicates the first valid depth value in the encoded channel, and occupancyThreshold, which indicates the threshold for detecting a pixel as unoccupied.
[0052] The maximum quantization value in the encoded channel is represented by the variable channelMax. For a typical 10 - bit video signal, channelMax is 1023.
[0053] Explicit guard band and threshold decoding. In the model described herein, if the quantization depth channel value k >= occupancyThreshold, the pixel should be considered occupied, and if k < occupancyThreshold, the pixel should be considered unoccupied. Since values below depthStart can now also represent occupied pixels, the quantization depth values of occupied pixels are restricted to [depthStart, channelMax]. Thus, for any occupied pixel, the normalized depth channel value d can be reconstructed via the following formula:
[0054] d = max(0, k - depthStart) / (channelMax - depthStart)
[0055] Note that alternative formulas for defining channelMax as 1024 and applying different rounding rules to de - quantization are trivial details and do not change the essence of the concept. Similarly, the depth value d can represent linear depth 1 / z, normalized disparity, or any other normalized depth information. This typically depends on the patch metadata and is outside the scope of this description.
[0056] Conversely, the guard - band can also be placed in the high - value range [depthStart + 1, channelMax], and similarly, details can be changed in the above - mentioned content while following the same basic concept.
[0057] Example. For example, assume depthStart = 64 and occupancyThreshold = 64. This corresponds to the basic (M)IV case, where the renderer can interpret values 0..63 as unoccupied and 64..1023 as quantization depth values mapped to the 0..1 range.
[0058] For heavy compression, the values may be set to depthStart = 512 and occupancyThreshold = 256. This may essentially allocate the highest bits of the 10-bit channel for signaling occupancy, while also allowing considerable signal distortion into the guard band direction before invalid geometry is created.
[0059] Encoder loop optimization. The example described in this article enables optimization of the depth decoding process in the encoding phase, taking into account artifacts due to video compression in the depth channel and minimizing incorrect geometry in the final rendered image. This can be done through the following process:
[0060] 1) Compress the packed depth atlas at the desired video bitrate or bitrates using the selected value or values of depthStart.
[0061] 2) Select an initial value for occupancyThreshold.
[0062] 3) Decode the compressed depth atlas.
[0063] 4) Compare the decoded depth atlas to the original uncompressed atlas to determine the number of incorrect occupancy values given the current occupancyThreshold.
[0064] 5) Adjust occupancyThreshold and repeat from step 4 until you find a value that minimizes the number of incorrect occupancy values.
[0065] 6) Write the final occupancyThreshold to the metadata.
[0066] Note that a similar optimization approach can also be applied to depthStart by recompressing the depth atlas for each candidate value of depthStart. In this way, both parameters can be optimized for a given bitrate.
[0067] Regarding potential implementations of (M)IV metadata. In one embodiment, the occupancyThreshold and depthStart values may be signaled within the metadata (M)IV bitstream. There are different signaling levels, which may include per-sequence signaling, per-view signaling, or per-patch signaling. Typically, adaptive depth guard band signaling requires definition of depthStart and occupancyThreshold values. As an example, the following kinds of structures may be used.
[0068]
[0069] depthStart indicates which value represents the minimum value of the depth range in the video channel.
[0070] The occupancyThreshold indicates the minimum value that can still be considered a valid depth value.
[0071] Figure 3 300 is an example of what such signaling 302 might look like for per-sequence and per-view signaling. AdaptiveDepthGuardBandFlag indicates whether an adaptive depth guard band is used for the metadata bitstream. AdaptiveDepthGuardBandFlag == 0 indicates that no depth guard adaptation is used. AdaptiveDepthGuardBandFlag == 1 indicates that a per-patch depth guard value should be used. AdaptiveDepthGuardBandFlag == 2 indicates that a per-sequence value for depth guard adaptation should be used. AdaptiveDepthGuardBandFlag == 3 indicates that a per-view depth guard value should be used.
[0072] For per-patch signaling, you may need to use Figure 4 Therefore, Figure 4 is an example code excerpt 400 showing per-patch signaling 402 using an adaptive depth guard band. Per-patch signaling of the depth guard band validity is required, and for this purpose, perPatchAdaptiveDepthGuard is introduced. This enables signaling of a per-patch adaptive depth guard band or reversion to a global default. perPatchAdaptiveDepthGuard == 1 indicates that a per-patch adaptive depth guard band value should be used. perPatchAdaptiveDepthGuard == 2 indicates that a sequence-level adaptive depth guard band value should be used. perPatchAdaptiveDepthGuard == 3 indicates that a per-view adaptive depth guard band value should be used. Different embodiments may omit the explicit encoding of the occupancyThreshold value and instead derive it from the depthStart value. As an example, occupancyThreshold may be implicitly set to depthStart / 2.
[0073] Regarding potential embodiments of SEI messages. In another embodiment, the adaptive depth guard band value may be signaled as a SEI message. The (M)IV profile may enforce the use of SEI messages. Figure 5is an example of what a SEI message 500 might look like. In this example, a depth guard band is signaled per sequence 502. In the (M)IV specification, payloadType may be defined in a way that it does not conflict with other existing payload types. payloadSize may be 32.
[0074] If per-view level depth guard band signaling is required, another type of SEI message can be used, such as Figure 6 Therefore, Figure 6 is an example code excerpt 600 showing per-view level signaling 602 of adaptive depth guard band using another type of SEI message. A similar approach can be applied to signaling of per-patch adaptive depth guard band values, but instead of using num_cameras_minus1, looping through each atlas and patch is performed.
[0075] Potential implementations regarding file formats . In another embodiment, the adaptive depth guard band value may be signaled in a file format such as ISOBMFF. Adaptive depth guard band signaling at the ISOBMFF level is perfectly suited for per-sequence or GOP guard band values, but it does not scale well for per-view or per-patch level signaling. Since the signaling only involves depth information, it can be stored in the video component track used to store depth information. A single file may contain one or more adaptations of depth information with different bit rates, in which case each adaptation is stored as a separate track. Therefore, consideration should be given to using track level boxes to store such information. As examples, a Track Header Box, a Metadata Box, or a User Data Box may be used.
[0076] The example metadata structure described herein may be part of a compliant (M)IV bitstream, and thus a conforming decoder may have the ability to parse it.
[0077] Figure 7 The apparatus 700 is configured to implement adaptive guard bands. The apparatus 700 includes at least one processor 702 and at least one non-transitory memory 704 including computer program code 705, wherein the at least one memory 704 and the computer program code 705 are configured to, together with the at least one processor 702, cause the apparatus 700 to perform an implementation of adaptive guard band signaling 706 based at least on the examples described herein. The signaling 706 may be embodied in the form of circuits, processes, components, modules, functions, or a combination thereof. The apparatus 700 optionally includes a display and / or I / O interface 708, which in some examples depicts the results of the encoding or decoding process, such as Figure 1 and Figure 2, or the result of signaling 706. In some examples, the display and / or I / O 708 is located outside the device 700. The display and / or I / O interface 708 can also be configured to receive input such as user input. The device 700 also optionally includes one or more network (NW) interfaces (I / F) 710. The NW I / F 710 can be wired and / or wireless, and can communicate on the Internet / other networks via any communication technology. The NWI / F 710 may include one or more transmitters and one or more receivers. The device 700 may be a remote, virtual or cloud device. The device 700 can be implemented in hardware.
[0078] References to "computers", "processors", etc. should be understood to cover not only computers with different architectures such as single / multiple processor architectures and serial (von Neumann) / parallel architectures, but also special-purpose circuits such as field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), signal processing devices and other processing circuits. References to computer programs, instructions, code, etc. should be understood to cover software for a programmable processor, or firmware such as, for example, programmable content of a hardware device (such as instructions for a processor), or configuration settings for a fixed-function device, gate array, or programmable logic device, etc.
[0079] The memory 704 may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory, and removable memory. The memory 704 may include a database for storing data.
[0080] As used in this application, the term "circuitry" may refer to all of the following: (a) a hardware circuit implementation only (such as an implementation of analog and / or digital circuits only); (b) a combination of circuitry and software (and / or firmware), such as (if applicable): (i) a combination of a processor; or (ii) portions of a processor / software, including a digital signal processor, software, and memory, which work together to enable the device to perform various functions; and (c) a circuit, such as a microprocessor or a portion of a microprocessor, that requires software or firmware to operate, even if the software or firmware is not physically present. This definition of "circuitry" applies to all uses of the term in this application. As another example, as used in this application, the term "circuitry" also covers an implementation of only a processor (or multiple processors) or a portion of a processor and its accompanying software and / or firmware. The term "circuitry" also covers (for example and if applicable to the particular element) a baseband integrated circuit or an application processor integrated circuit for a mobile phone, or a similar integrated circuit in a server, cellular network device, or another network device.
[0081] Figure 8 An example method 800 for implementing an adaptive depth guard band is provided. At 802, the method includes: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile. At 804, the method includes: wherein the depth start is used to derive a range of at least one depth value for a patch based on the patch index in the tile having the identifier. At 806, the method includes: signaling a depth threshold for an immersive video extension of the patch data unit. At 808, the method includes: wherein the depth threshold specifies a threshold below which an occupancy value is defined as a patch based on the patch index being unoccupied.
[0082] Fig. 9 Another example method 900 for implementing an adaptive depth guard band is provided. At 902, the method includes providing metadata to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels. At 904, the method includes signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in an encoded video channel, and the threshold depth value as an occupancy threshold indicating a threshold for detecting a pixel as unoccupied. At 906, the method includes encoding or decoding the three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0083] An example apparatus comprises: means for signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and means for signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold below which an occupancy value is defined as the patch based on the patch index being unoccupied.
[0084] The apparatus may further include: a component for encoding or decoding the three-dimensional model based on the depth start and the depth threshold.
[0085] The apparatus could further comprise: wherein, when the depth start is signaled as not present, the depth start comprises a value equal to zero.
[0086] The apparatus could further include: wherein the depth initiation is based on a quantizer.
[0087] The apparatus may further include: wherein the geometry and property values of unoccupied pixels are ignored by a renderer of the immersive video.
[0088] The apparatus may further include: wherein the number of bits used to represent the depth threshold is based on an atlas sequence parameter set geometry depth.
[0089] The apparatus could further include: wherein, when the depth threshold is signaled as not present, the depth threshold is based on a default occupancy threshold.
[0090] The apparatus may further include: wherein a depth start and a depth threshold are provided as metadata to distinguish between pixels in the depth atlas that are part of the three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels.
[0091] The apparatus may further include: means for signaling metadata, wherein the metadata includes a guard band size indicating a depth start and a depth threshold indicating a threshold for detecting a pixel as unoccupied.
[0092] The apparatus may further include: a component for encoding or decoding the three-dimensional model based on the metadata.
[0093] The device may be implemented as an adjustable adaptive depth guard band.
[0094] The apparatus may further include: wherein in response to the quantized depth channel value being greater than or equal to a depth threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the depth threshold, the pixel is considered unoccupied.
[0095] The apparatus may further include: means for providing a maximum quantization value in the encoding channel.
[0096] The apparatus may further include: wherein the quantized depth channel value for the occupied pixel is given to be between the depth start and the maximum quantized value in the encoding channel.
[0097] The apparatus may further include: wherein a normalized depth channel value is reconstructed for any occupied pixel.
[0098] The apparatus may further include: means for compressing a depth atlas at a desired video bit rate using one or more selected values of depth start; means for selecting an initial value of a depth threshold; means for decoding the depth atlas; means for determining the number of incorrect occupancy values by comparing the decoded depth atlas with the original uncompressed depth atlas given a current value of the depth threshold; means for adjusting the depth threshold and repeating, wherein the repetition begins with determining the number of incorrect occupancy values until a value of the depth threshold is found that minimizes the number of incorrect occupancy values; and means for writing the final occupancy threshold into metadata.
[0099] The apparatus may further include means for determining, for each candidate value of the depth start, the depth start by recompressing the depth atlas.
[0100] The apparatus may further include means for signaling the depth start within metadata of the immersive video bitstream, wherein the level of signaling comprises one or more of: per-sequence signaling, per-view signaling, or per-patch signaling.
[0101] The apparatus could further include: wherein the depth threshold is derived from the depth onset.
[0102] The apparatus may further include: wherein at least one of the depth start or the depth threshold is signaled as a supplemental enhancement information message.
[0103] The apparatus may further comprise: a component for signaling at least one of a depth start or a depth threshold in a base media file format; wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation being stored as a separate track; wherein track specific depth guard band related values are stored under a track box.
[0104] An example apparatus comprises: at least one processor; and at least one non-transitory memory comprising computer program code; wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold, below which an occupancy value is defined as the patch based on the patch index being unoccupied.
[0105] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: encoding or decoding a three-dimensional model based on the depth start and the depth threshold.
[0106] The apparatus could further comprise: wherein, when the depth start is signaled as not present, the depth start comprises a value equal to zero.
[0107] The apparatus could further include: wherein the depth initiation is based on a quantizer.
[0108] The apparatus may further include: wherein the geometry and property values of unoccupied pixels are ignored by a renderer of the immersive video.
[0109] The apparatus may further include: wherein the number of bits used to represent the depth threshold is based on an atlas sequence parameter set geometric depth.
[0110] The apparatus could further include: wherein, when the depth threshold is signaled as not present, the depth threshold is based on a default occupancy threshold.
[0111] The apparatus may further include: wherein a depth start and a depth threshold are provided as metadata to distinguish between pixels in the depth atlas that are part of the three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels.
[0112] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least execute: signaling metadata, wherein the metadata includes a guard band size and a depth threshold, the guard band size indicating a depth start, and the depth threshold indicating a threshold for detecting a pixel as unoccupied.
[0113] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: encoding or decoding the three-dimensional model based on the metadata.
[0114] The device may be implemented as an adjustable adaptive depth guard band.
[0115] The apparatus may further include: wherein in response to the quantized depth channel value being greater than or equal to a depth threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the depth threshold, the pixel is considered unoccupied.
[0116] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: providing a maximum quantization value in a coding pass.
[0117] The apparatus may further include: wherein the quantized depth channel value for the occupied pixel is given to be between the depth start and the maximum quantized value in the encoding channel.
[0118] The apparatus may further include: wherein a normalized depth channel value is reconstructed for any occupied pixel.
[0119] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: compressing the depth atlas at a desired video bit rate using one or more selected values of depth start; selecting an initial value of a depth threshold; decoding the depth atlas; determining a number of incorrect occupancy values by comparing the decoded depth atlas to an original uncompressed depth atlas given a current value of the depth threshold; adjusting the depth threshold and repeating, the repetition starting with determining the number of incorrect occupancy values until a value of the depth threshold is found that minimizes the number of incorrect occupancy values; and writing the final occupancy threshold into metadata.
[0120] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: for each candidate value of the depth start, determining the depth start by recompressing the depth atlas.
[0121] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: signaling a depth start within metadata of an immersive video bitstream, wherein the level of signaling comprises one or more of: per-sequence signaling, per-view signaling, or per-patch signaling.
[0122] The apparatus could further include: wherein the depth threshold is derived from the depth onset.
[0123] The apparatus may further include: wherein at least one of the depth start or the depth threshold is signaled as a supplemental enhancement information message.
[0124] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: signaling at least one of a depth start or a depth threshold in a base media file format; wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation being stored as a separate track; wherein values associated with track-specific depth guard bands are stored under the track box.
[0125] An example method comprises: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold below which an occupancy value is defined as the patch based on the patch index being unoccupied.
[0126] The method may further include encoding or decoding the three-dimensional model based on the depth start and the depth threshold.
[0127] The method could further comprise: wherein, when the depth start is signaled as not being present, the depth start comprises a value equal to zero.
[0128] The method could further include: wherein the depth initiation is based on a quantizer.
[0129] The method may further include: wherein the geometry and property values of unoccupied pixels are ignored by a renderer of the immersive video.
[0130] The method could further comprise: wherein the number of bits used to represent the depth threshold is based on an atlas sequence parameter set geometric depth.
[0131] The method could further comprise: wherein, when the depth threshold is signalled as not present, the depth threshold is based on a default occupancy threshold.
[0132] The method may further include: wherein the depth start and depth threshold are provided as metadata to distinguish between pixels in the depth atlas that are part of the three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels.
[0133] The method may further include signaling metadata, wherein the metadata includes a guard band size indicating a depth start and a depth threshold indicating a threshold for detecting a pixel as unoccupied.
[0134] The method may further include: encoding or decoding the three-dimensional model based on the metadata.
[0135] The method can be implemented as an adjustable adaptive depth guard band.
[0136] The method may further include: wherein in response to the quantized depth channel value being greater than or equal to a depth threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the depth threshold, the pixel is considered unoccupied.
[0137] The method may further include providing a maximum quantization value in the encoding channel.
[0138] The method could further comprise: wherein the quantized depth channel value for the occupied pixel is given to be between the depth start and the maximum quantized value in the encoding channel.
[0139] The method may further comprise: wherein a normalized depth channel value is reconstructed for any occupied pixel.
[0140] The method may further include: compressing the depth atlas at a desired video bit rate using one or more selected values of depth start; selecting an initial value of the depth threshold; decoding the depth atlas; determining the number of incorrect occupancy values by comparing the decoded depth atlas to the original uncompressed depth atlas given the current value of the depth threshold; adjusting the depth threshold and repeating, starting with determining the number of incorrect occupancy values, until a value of the depth threshold is found that minimizes the number of incorrect occupancy values; and writing the final occupancy threshold into metadata.
[0141] The method may further comprise: for each candidate value of the depth start, determining the depth start by recompressing the depth atlas.
[0142] The method may further include: signaling the depth start within metadata of the immersive video bitstream, wherein the level of signaling comprises one or more of: per-sequence signaling, per-view signaling, or per-patch signaling.
[0143] The method could further comprise: wherein a depth threshold is derived from the depth onset.
[0144] The method could further comprise: wherein at least one of the depth start or the depth threshold is signaled as a supplemental enhancement information message.
[0145] The method may further include: signaling at least one of a depth start or a depth threshold in a base media file format; wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation being stored as a separate track; wherein track-specific depth guard band-related values are stored under the track box.
[0146] An example machine-readable, non-transitory program storage device is provided, tangibly embodying a program of instructions executable by the machine for performing operations, the operations comprising: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold below which an occupancy value is defined as the patch based on the patch index being unoccupied.
[0147] The operations of the non-transitory program storage device may further include encoding or decoding the three-dimensional model based on the depth start and the depth threshold.
[0148] The non-transitory program storage device may further include: wherein when the depth start is signaled as not present, the depth start comprises a value equal to zero.
[0149] The non-transitory program storage device may further include: wherein the depth start is quantizer based.
[0150] The non-transitory program storage device may further include: wherein the geometry and property values of unoccupied pixels are ignored by a renderer of the immersive video.
[0151] The non-transitory program storage device may further include: wherein the number of bits used to represent the depth threshold is based on an atlas sequence parameter set geometric depth.
[0152] The non-transitory program storage device may further include: wherein when the depth threshold is signaled as not present, the depth threshold is based on a default occupancy threshold.
[0153] The non-transitory program storage device may further include: wherein the depth start and depth threshold are provided as metadata to distinguish between pixels in the depth atlas that are part of the three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels.
[0154] Operations of the non-transitory program storage device may further include signaling metadata, wherein the metadata includes a guard band size indicating a depth start and a depth threshold indicating a threshold for detecting a pixel as unoccupied.
[0155] The operations of the non-transitory program storage device may further include encoding or decoding the three-dimensional model based on the metadata.
[0156] The non-transitory program storage device may be implemented as an adjustable adaptive depth guard band.
[0157] The non-transitory program storage device may further include: wherein in response to the quantized depth channel value being greater than or equal to a depth threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the depth threshold, the pixel is considered unoccupied.
[0158] Operations of the non-transitory program storage device may further include providing a maximum quantization value in an encoding pass.
[0159] The non-transitory program storage device may further include: wherein the quantized depth channel value for the occupied pixel is given to be between the depth start and the maximum quantized value in the encoding channel.
[0160] The non-transitory program storage device may further include: wherein a normalized depth channel value is reconstructed for any occupied pixel.
[0161] The operation of the non-transitory program storage device may further include: compressing the depth atlas at a desired video bit rate using one or more selected values of depth start; selecting an initial value of the depth threshold; decoding the depth atlas; determining a number of incorrect occupancy values by comparing the decoded depth atlas to the original uncompressed depth atlas given a current value of the depth threshold; adjusting the depth threshold and repeating, starting with determining the number of incorrect occupancy values until a value of the depth threshold is found that minimizes the number of incorrect occupancy values; and writing the final occupancy threshold to metadata.
[0162] The operation of the non-transitory program storage device may further include, for each candidate value of the depth start, determining the depth start by recompressing the depth atlas.
[0163] The operations of the non-transitory program storage device may further include: signaling the depth start within metadata of the immersive video bitstream, wherein the level of signaling includes one or more of: per-sequence signaling, per-view signaling, or per-patch signaling.
[0164] The non-transitory program storage device may further include: wherein the depth threshold is derived from the depth onset.
[0165] The non-transitory program storage device may further include: wherein at least one of the depth start or the depth threshold is signaled as a supplemental enhancement information message.
[0166] The operation of the non-transitory program storage device may further include: signaling at least one of a depth start or a depth threshold in a base media file format; wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation being stored as a separate track; wherein track-specific depth guard band-related values are stored under the track box.
[0167] An example apparatus comprising one or more circuits configured to implement any of the following methods, the methods comprising: signaling a depth start of a patch data unit of a data content patch based on an identifier and a patch index of a tile; wherein the depth start is used to derive a range of at least one depth value for the patch based on the patch index in the tile having the identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold below which an occupancy value is defined as the patch based on the patch index being unoccupied.
[0168] An example apparatus includes: a component for providing metadata, wherein the metadata is used to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model and are encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels; a component for signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, wherein the guard band size indicates a first valid depth value in an encoded video channel and the threshold depth value serves as an occupancy threshold indicating a threshold for detecting a pixel as unoccupied; and a component for encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0169] The apparatus may further include: wherein in response to the quantized depth channel value being greater than or equal to an occupancy threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the occupancy threshold, the pixel is considered unoccupied.
[0170] The apparatus may further include: means for providing a maximum quantization value in the encoding channel.
[0171] The apparatus may further comprise: wherein the quantized depth channel value for the occupied pixel is given to be between the first valid depth value and the maximum quantized value in the encoding channel.
[0172] The device may further include: wherein, for any occupied pixel, the normalized depth channel value d is reconstructed via the following formula: d=max(0,k-depthStart) / (channelMax-depthStart), wherein: k corresponds to the quantized depth channel value; depthStart corresponds to the first valid depth value; channelMax corresponds to the maximum quantized value in the encoding channel.
[0173] The apparatus may further include: means for compressing a depth atlas at a desired video bit rate using one or more selected values of the first effective depth value; means for selecting an initial value of an occupancy threshold; means for decoding the depth atlas; means for determining the number of incorrect occupancy values by comparing the decoded depth atlas with the original uncompressed depth atlas given a current value of the occupancy threshold; means for adjusting the occupancy threshold and repeating, wherein the repetition begins with determining the number of incorrect occupancy values until a value of the occupancy threshold is found that minimizes the number of incorrect occupancy values; and means for writing the final occupancy threshold into metadata.
[0174] The apparatus may further include means for determining, for each candidate value of the first effective depth value, the first effective depth value in the encoding pass by recompressing the depth atlas.
[0175] The apparatus may further include means for signaling the first effective depth value within metadata of the immersive video bitstream, wherein a level of signaling comprises one or more of: per-sequence signaling, per-view signaling, and / or per-patch signaling.
[0176] The apparatus may further include: wherein the occupancy threshold is derived from the first effective depth value.
[0177] The apparatus may further include: wherein the value of the adaptive depth guard band is signaled as a supplemental enhancement information message.
[0178] The apparatus may further include: a component for signaling an adaptive depth guard band in a basic media file format, wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation is stored as a separate track, wherein track-specific depth guard band related values are stored under a track box (TrackBox).
[0179] An example apparatus comprises: at least one processor; and at least one non-transitory memory comprising computer program code; wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: providing metadata to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model encoded as unoccupied pixels; signaling the metadata, wherein the metadata comprises a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in an encoded video channel, the threshold depth value serving as an occupied threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0180] The apparatus may further include: wherein in response to the quantized depth channel value being greater than or equal to an occupancy threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the occupancy threshold, the pixel is considered unoccupied.
[0181] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: providing a maximum quantization value in a coding pass.
[0182] The apparatus may further comprise: wherein the quantized depth channel value for the occupied pixel is given to be between the first valid depth value and the maximum quantized value in the encoding channel.
[0183] The device may further include: wherein, for any occupied pixel, the normalized depth channel value d is reconstructed via the following formula: d=max(0,k-depthStart) / (channelMax-depthStart), wherein: k corresponds to the quantized depth channel value; depthStart corresponds to the first valid depth value; channelMax corresponds to the maximum quantized value in the encoding channel.
[0184] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: compressing the depth atlas at a desired video bit rate using one or more selected values of the first effective depth value; selecting an initial value of the occupancy threshold; decoding the depth atlas; determining a number of incorrect occupancy values by comparing the decoded depth atlas with the original uncompressed depth atlas given a current value of the occupancy threshold; adjusting the occupancy threshold and repeating, the repetition starting with determining the number of incorrect occupancy values until a value of the occupancy threshold is found that minimizes the number of incorrect occupancy values; and writing the final occupancy threshold into metadata.
[0185] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: for each candidate value of the first effective depth value, determine the first effective depth value in the encoding channel by recompressing the depth map set.
[0186] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: signaling the first effective depth value within metadata of the immersive video bitstream, wherein the level of signaling includes one or more of: per-sequence signaling, per-view signaling, and / or per-patch signaling.
[0187] The apparatus may further include: wherein the occupancy threshold is derived from the first effective depth value.
[0188] The apparatus may further include: wherein the value of the adaptive depth guard band is signaled as a supplemental enhancement information message.
[0189] The apparatus may further include: wherein the at least one memory and the computer program code are further configured to, together with the at least one processor, cause the apparatus to at least perform: signaling an adaptive depth guard band in a basic media file format, wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation being stored as a separate track, wherein track-specific depth guard band-related values are stored under a TrackBox.
[0190] An example method includes: providing metadata to implement an adjustable adaptive depth guard band to distinguish pixels in a depth atlas that are part of a three-dimensional model encoded as occupied pixels from pixels in the atlas that are not part of the three-dimensional model encoded as unoccupied pixels; signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in an encoded video channel, the threshold depth value as an occupancy threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0191] The method may further include: wherein in response to the quantized depth channel value being greater than or equal to an occupancy threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the occupancy threshold, the pixel is considered unoccupied.
[0192] The method may further include providing a maximum quantization value in the encoding channel.
[0193] The method could further comprise: wherein the quantized depth channel value for the occupied pixel is given to be between the first valid depth value and a maximum quantized value in the encoding channel.
[0194] The method may further include: wherein, for any occupied pixel, reconstructing the normalized depth channel value d via the following formula: d=max(0,k-depthStart) / (channelMax-depthStart), wherein: k corresponds to the quantized depth channel value; depthStart corresponds to the first valid depth value; channelMax corresponds to the maximum quantized value in the encoding channel.
[0195] The method may further include: compressing the depth atlas at a desired video bit rate using one or more selected values of the first valid depth value; selecting an initial value of an occupancy threshold; decoding the depth atlas; determining a number of incorrect occupancy values by comparing the decoded depth atlas with the original uncompressed depth atlas given a current value of the occupancy threshold; adjusting the occupancy threshold and repeating, starting with determining the number of incorrect occupancy values until a value of the occupancy threshold is found that minimizes the number of incorrect occupancy values; and writing the final occupancy threshold into metadata.
[0196] The method may further comprise: for each candidate value of the first effective depth value, determining the first effective depth value in the encoding pass by recompressing the depth atlas.
[0197] The method may further include: signaling the first effective depth value within metadata of the immersive video bitstream, wherein a level of signaling comprises one or more of: per-sequence signaling, per-view signaling, and / or per-patch signaling.
[0198] The method could further comprise: wherein an occupancy threshold is derived from the first effective depth value.
[0199] The method could further include: wherein the value of the adaptive depth guard band is signaled as a supplemental enhancement information message.
[0200] The method may further include: signaling an adaptive depth guard band in a base media file format, wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation being stored as a separate track, wherein track-specific depth guard band related values are stored under a TrackBox.
[0201] An example machine-readable, non-transitory program storage device is provided, tangibly embodying a program of instructions executable by the machine for performing operations, the operations comprising: providing metadata to implement an adjustable adaptive depth guard band to distinguish between pixels in a depth atlas that are part of a three-dimensional model encoded as occupied pixels and pixels in the atlas that are not part of the three-dimensional model encoded as unoccupied pixels; signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in an encoded video channel, the threshold depth value serving as an occupied threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0202] The non-transitory program storage device may further include: wherein in response to the quantized depth channel value being greater than or equal to an occupancy threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the occupancy threshold, the pixel is considered unoccupied.
[0203] Operations of the non-transitory program storage device may further include providing a maximum quantization value in an encoding pass.
[0204] The non-transitory program storage device may further include: wherein the quantized depth channel value for the occupied pixel is given to be between the first valid depth value and the maximum quantized value in the encoding channel.
[0205] The non-temporary program storage device may further include: wherein, for any occupied pixel, the normalized depth channel value d is reconstructed via the following formula: d=max(0,k-depthStart) / (channelMax-depthStart), where: k corresponds to the quantized depth channel value; depthStart corresponds to the first valid depth value; channelMax corresponds to the maximum quantized value in the encoded channel.
[0206] The operation of the non-transitory program storage device may further include: compressing the depth atlas at a desired video bit rate using one or more selected values of the first valid depth value; selecting an initial value of the occupancy threshold; decoding the depth atlas; determining a number of incorrect occupancy values by comparing the decoded depth atlas to the original uncompressed depth atlas given a current value of the occupancy threshold; adjusting the occupancy threshold and repeating, starting with determining the number of incorrect occupancy values until a value of the occupancy threshold is found that minimizes the number of incorrect occupancy values; and writing the final occupancy threshold to metadata.
[0207] The operation of the non-transitory program storage device may further include determining, for each candidate value of the first effective depth value, the first effective depth value in the encoding pass by recompressing the depth atlas.
[0208] Operations of the non-transitory program storage device may further include signaling the first effective depth value within metadata of the immersive video bitstream, wherein a level of signaling includes one or more of: per-sequence signaling, per-view signaling, and / or per-patch signaling.
[0209] The non-transitory program storage device may further include: wherein the occupancy threshold is derived from the first effective depth value.
[0210] The non-transitory program storage device may further include: wherein the value of the adaptive depth guard band is signaled as a supplemental enhancement information message.
[0211] The operation of the non-transitory program storage device may further include: signaling adaptive depth guard bands in a basic media file format, wherein a single file contains one or more adaptations of depth information with different bit rates, each adaptation is stored as a separate track, wherein track-specific depth guard band related values are stored under a TrackBox.
[0212] An example apparatus includes one or more circuits configured to implement any of the following methods, the methods comprising: providing metadata to implement an adjustable adaptive depth guard band to distinguish pixels in a depth atlas that are part of a three-dimensional model encoded as occupied pixels from pixels in the atlas that are not part of the three-dimensional model encoded as unoccupied pixels; signaling the metadata, wherein the metadata includes a guard band size and a threshold depth value, the guard band size indicating a first valid depth value in an encoded video channel, the threshold depth value as an occupancy threshold indicating a threshold for detecting a pixel as unoccupied; and encoding or decoding a three-dimensional model based on the metadata implementing the adaptive depth guard band.
[0213] It should be understood that the above description is illustrative only. Various alternatives and modifications may be devised by those skilled in the art. For example, the features described in the various dependent claims may be combined with each other in any suitable one or more combinations. In addition, features from the above-described different embodiments may be selectively combined into new embodiments. Therefore, this description is intended to cover all such alternatives, modifications and variations that fall within the scope of the appended claims.
Claims
1. An apparatus for providing an adaptive depth guard band, comprising: means for signalling a depth start of a patch data unit of a patch of data content, wherein the patch data unit comprises a tile identifier of a tile and a patch index; wherein the depth start indicates a minimum valid depth value in a depth channel in a range of at least one depth value for a patch with the patch index in the tile with the tile identifier; and means for signalling a depth threshold for immersive video extension of said patch data unit; wherein the depth threshold specifies a threshold, an occupancy value below which is defined as pixels of the patch with the patch index being unoccupied, and an occupancy value above the threshold and below the depth start being defined as pixels of the patch with the patch index being occupied if present, the depth threshold being used for the patch data unit comprising the tile identifier and the patch index.
2. The device according to claim 1, further comprising: A component is configured to encode or decode a three-dimensional model based on the depth start and the depth threshold.
3. The device according to claim 1 or 2, wherein: When the depth start is signaled as not present, the depth start comprises a value equal to zero.
4. The device according to claim 1 or 2, wherein: The depth start is based on a quantizer.
5. The device according to claim 1 or 2, wherein: The geometry and property values of unoccupied pixels are ignored by the immersive video renderer.
6. The device according to claim 1 or 2, wherein: The number of bits used to represent the depth threshold is based at least in part on an atlas sequence parameter set geometric depth.
7. The device according to claim 1 or 2, wherein: When the depth threshold is signaled as not present, the depth threshold is based on a default occupancy threshold.
8. The device according to claim 1 or 2, wherein: The depth start and the depth threshold are provided as metadata to distinguish pixels in the depth atlas that are part of the three-dimensional model and are encoded as occupied pixels from pixels in the atlas that are not part of the three-dimensional model and are encoded as unoccupied pixels.
9. The apparatus according to claim 8, further comprising: Means for signaling the metadata, wherein the metadata comprises a guard band size indicating the depth start and the depth threshold indicating the threshold for detecting a pixel as unoccupied.
10. The apparatus according to claim 8, further comprising: A component for encoding or decoding the three-dimensional model based on the metadata. The apparatus according to claim 9 , implemented as an adjustable adaptive depth guard band.
12. The device according to claim 1 or 2, wherein: In response to the quantized depth channel value being greater than or equal to the depth threshold, the pixel is considered occupied, and in response to the quantized depth channel value being less than the depth threshold, the pixel is considered unoccupied.
13. The device according to claim 1 or 2, further comprising: A component that provides the maximum quantization value in an encoding pass.
14. A method for providing an adaptive depth guard band, comprising: signaling a depth start of a patch data unit of a data content patch, wherein the patch data unit comprises a tile identifier and a patch index of a tile; wherein the depth start indicates a minimum valid depth value in a depth channel in a range for deriving at least one depth value for a patch with the patch index in the tile with the tile identifier; and signaling a depth threshold of an immersive video extension of the patch data unit; wherein the depth threshold specifies a threshold, an occupancy value below which is defined as pixels of the patch with the patch index being unoccupied, and an occupancy value above the threshold and below the depth start being defined as pixels of the patch with the patch index being occupied if present, the depth threshold being used for the patch data unit comprising the tile identifier and the patch index.
15. The method according to claim 14, further comprising: Based on the depth start and the depth threshold, a three-dimensional model is encoded or decoded.