Method for signalling non-video bitstream format in visual volumetric video-based coding
By signaling encoding format records for non-video bitstreams within volumetric video bitstreams, the method addresses the challenge of decoding non-video components, enhancing the efficiency and accuracy of volumetric video coding.
Patent Information
- Application Number
- PCT/IB2024/059423
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-05
- Filing Date
- 2024-09-26
- Publication Date
- 2025-04-10
AI Technical Summary
Existing volumetric video coding technologies lack an effective method for signaling the non-video bitstream format, which hinders proper decoding and interpretation of non-video components within volumetric video bitstreams.
The proposed solution involves generating records of the encoding format for non-video bitstreams and signaling these records within the volumetric video bitstream, allowing for the correct identification and decoding of non-video components.
This approach enables seamless decoding and interpretation of non-video components, improving the overall efficiency and effectiveness of volumetric video coding by ensuring accurate signaling of bitstream formats.
Smart Images

Figure IB2024059423_10042025_PF_FP_ABST
Abstract
Description
METHOD FOR SIGNALLING NON- VIDEO BITSTREAM FORMAT IN VISUAL VOLUMETRIC VIDEO-BASED CODINGTECHNICAL FIELD
[0001] The examples and non-limiting embodiments relate generally to volumetric video coding, and more particularly, signaling non-video bitstream format in volumetric video-based coding.BACKGROUND
[0002] It is known to perform encoding and decoding of images and video.SUMMARY
[0003] Example 1. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content; encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0004] Example 2. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: encoding one or more non-video components of a volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; and signaling in or along a volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0005] Example 3. The apparatus of example 3, wherein the apparatus is further caused to perform: obtaining a presentation comprising the volumetric video content; generating one or more video components and the one or more non-video components of the volumetric video content; encoding the one or more video components of the volumetric video content into one ormore video bitstreams; and interleaving the one or more video bitstreams and the one or more nonvideo bitstreams into the volumetric video bitstream.
[0006] Example 4. The apparatus of any of the examples 1 to 3, wherein the apparatus is further caused to perform: forming the one or more records for the signaling; and inserting the one or more records in or along the volumetric video bitstream, wherein the one or more records is further used for indicating a bitstream format used for encoding the one or more non-video bitstreams. In an embodiment, the one or more records comprises a profile tier level syntax structure.
[0007] Example 5. The apparatus of any of the examples 1 to 4, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
[0008] Example 6. The apparatus of any of the examples 1 to 4, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
[0009] Example 7. The apparatus of any of the examples to 4, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
[0010] Example 8. The apparatus of any of examples 1 to 4, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
[0011] Example 9. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
[0012] Example 10. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: receiving, as part of or along a volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; and decoding the one or more non-video bitstreams usingthe codec as indicated by the one or more records.
[0013] Example 11. The apparatus of example 10, wherein the apparatus is further caused to perform: receiving the volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of one or more non-video components of a volumetric video content and an encoded presentation of one or more video components of the volumetric video content; and deinterleaving, from the volumetric video bitstream, the one or more non-video components of the volumetric video content and the presentation of one or more video components of the volumetric video content.
[0014] Example 12. The apparatus of any of the examples 9 to 11, wherein the one or more records is further used for indicating a bitstream format used for encoding the one or more non- video bitstreams. In an embodiment, the one or more records comprises a profile tier level syntax structure.
[0015] Example 13. The apparatus of any of the examples 9 to 12, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
[0016] Example 14. The apparatus of any of the examples 9 to 12, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
[0017] Example 15. The apparatus of any of the examples 9 to 12, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
[0018] Example 16: The apparatus of any of examples 9 to 12, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
[0019] Example 17. An method comprising: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content; encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0020] Example 18. A method comprising: encoding one or more non-video components ofa volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; and signaling in or along a volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0021] Example 19. The method of example 18 further comprising: obtaining a presentation comprising the volumetric video content; generating one or more video components and the one or more non-video components of the volumetric video content; encoding the one or more video components of the volumetric video content into one or more video bitstreams; and interleaving the one or more video bitstreams and the one or more non-video bitstreams into the volumetric video bitstream.
[0022] Example 20. The method of any of the examples 17 to 19 further comprising: forming the one or more records for the signaling; and inserting the one or more records in or along the volumetric video bitstream, wherein the one or more records further used for indicating a bitstream format used for encoding the one or more non-video bitstreams. In an embodiment, the one or more records comprises a profile tier level syntax structure.
[0023] Example 21. The method of any of the examples 17 to 20, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
[0024] Example 22. The method of any of the examples 17 to 20, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
[0025] Example 23. The method of any of the examples 17 to 20, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
[0026] Example 24: The method of any of examples 17 to 20, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
[0027] Example 25. An method comprising: receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and decoding the one or more non-video bitstreams using the codec as indicated by the one or morerecords.
[0028] Example 26. A method comprising: receiving, as part of or along a volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
[0029] Example 27. The method of example 26 further comprising: receiving the volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of one or more non-video components of a volumetric video content and an encoded presentation of one or more video components of the volumetric video content; and deinterleaving, from the volumetric video bitstream, the one or more non-video components of the volumetric video content and the presentation of one or more video components of the volumetric video content.
[0030] Example 28. The method of any of the examples 25 to 27, wherein the one or more records is further used for indicating a bitstream format used for encoding the one or more non- video bitstreams. In an embodiment, the one or more records comprises a profile tier level syntax structure.
[0031] Example 29. The method of any of the examples 25 to 28, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
[0032] Example 30. The method of any of the examples 25 to 28, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
[0033] Example 31. The method of any of the examples 25 to 28, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
[0034] Example 32: The method of any of examples 25 to 28, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
[0035] Example 33. An apparatus comprising: means for obtaining a presentation comprising volumetric video content; means for generating two or more components of the volumetric video content; means for encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; means for encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; means for generating one or more records of an encoding format for the one or more non-video bitstreams; means for interleaving the one or more videobitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and means for signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0036] Example 34. The apparatus of example 33, wherein the apparatus further comprises means for performing the methods as described in any of the examples 20 to 24.
[0037] Example 35. An apparatus comprising: means for receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; means for receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; means for examining or analyzing the one or more records; means for deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and means for decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
[0038] Example 36. The apparatus of example 35, wherein the apparatus further comprises means for performing the methods as described in examples 28 to 32.
[0039] Example 37. A computer readable medium comprising program instructions which, when executed by an apparatus, cause the apparatus to perform at least the following: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content; encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; encoding a second one or more components of the two or more components of the volumetric video content into one or more non- video bitstreams; generating one or more records of an encoding format for the one or more non- video bitstreams; interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0040] Example 38. The computer readable medium of example 37, wherein the computer readable medium comprises a non-transitory computer readable medium.
[0041] Example 39. The computer readable medium of any of examples 37 or 38, wherein the computer readable medium causes the apparatus to further perform the methods as described in any of the examples 20 to 24.
[0042] Example 40. A computer readable medium comprising program instructions which, when executed by an apparatus, cause the apparatus to perform at least the following: receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
[0043] Example 41. The computer readable medium of example 40, wherein the computer readable medium comprises a non-transitory computer readable medium.
[0044] Example 42. The computer readable medium of any of examples 40 or 41, wherein the computer readable medium causes the apparatus to further perform the methods as described in any of the examples 20 to 24.BRIEF DESCRIPTION OF THE DRAWINGS
[0045] The foregoing embodiments and other features are explained in the following description, taken in connection with the accompanying drawings, wherein:
[0046] FIG. 1 shows schematically an electronic device employing embodiments of the examples described herein.
[0047] FIG. 2 shows schematically a user equipment suitable for employing embodiments of the examples described herein.
[0048] FIG. 3 illustrates a general structure of a compressed bitstream.
[0049] FIG. 4 is an example apparatus configured to implement the examples described herein.
[0050] FIG. 5 shows a representation of an example of non-volatile memory media used to store instructions that implement the examples described herein.
[0051] FIG. 6 is an example method, based on the examples described herein.
[0052] FIG. 7 is another example method, based on the examples described herein.
[0053] FIG. 8 is yet another example method, based on the examples described herein.
[0054] FIG. 9 is still another example method, based on the examples described herein.DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0055] Described herein is a method and apparatus for signaling non-video bitstream format in volumetric video-based coding.
[0056] The following describes in detail a suitable apparatus, method and possible mechanisms for signaling non-video bitstream format in volumetric video-based coding according to embodiments. In this regard reference is first made to FIG. 1 and FIG. 2, where FIG. 1 shows an example block diagram of an apparatus 50. The apparatus may be an Internet of Things (loT) apparatus configured to perform various functions, such as for example, gathering information by one or more sensors, receiving or transmitting information, analyzing information gathered or received by the apparatus, or the like. The apparatus may comprise a video coding system, which may incorporate a codec. FIG. 2 shows a layout of an apparatus according to an example embodiment. The elements of FIG. 1 and FIG. 2 are explained next.
[0057] The electronic device 50 may for example be a mobile terminal or user equipment of a wireless communication system, a sensor device, a tag, or other lower power device. However, it may be appreciated that embodiments of the examples described herein may be implemented within any electronic device or apparatus which may process data by neural networks.
[0058] The apparatus 50 may comprise a housing 30 for incorporating and protecting the device. The apparatus 50 further may comprise a display 32 in the form of a liquid crystal display. In other embodiments of the examples described herein the display may be any suitable display technology suitable to display an image or video. The apparatus 50 may further comprise a keypad 34. In other embodiments of the examples described herein any suitable data or user interface mechanism may be employed. For example the user interface may be implemented as a virtual keyboard or data entry system as part of a touch-sensitive display.
[0059] The apparatus may comprise a microphone 36 or any suitable audio input which may be a digital or analog signal input. The apparatus 50 may further comprise an audio output device which in embodiments of the examples described herein may be any one of: an earpiece 38, speaker, or an analog audio or digital audio output connection. The apparatus 50 may also comprise a battery (or in other embodiments of the examples described herein the device may be powered by any suitable mobile energy device such as solar cell, fuel cell or clockwork generator). Theapparatus may further comprise a camera 42 capable of recording or capturing images and / or video. The apparatus 50 may further comprise an infrared port for short range line of sight communication to other devices. In other embodiments the apparatus 50 may further comprise any suitable short range communication solution such as for example a Bluetooth wireless connection or a USB / firewire wired connection.
[0060] The apparatus 50 may comprise a controller 56, processor or processor circuitry for controlling the apparatus 50. The controller 56 may be connected to memory 58 which in embodiments of the examples described herein may store both data in the form of image and audio data and / or may also store instructions for implementation on the controller 56. The controller 56 may further be connected to codec circuitry 54 suitable for carrying out coding and / or decoding of audio and / or video data or assisting in coding and / or decoding carried out by the controller.
[0061] The apparatus 50 may further comprise a card reader 48 and a smart card 46, for example a UICC and UICC reader for providing user information and being suitable for providing authentication information for authentication and authorization of the user at a network.
[0062] The apparatus 50 may comprise radio interface circuitry 52 connected to the controller and suitable for generating wireless communication signals for example for communication with a cellular communications network, a wireless communications system or a wireless local area network. The apparatus 50 may further comprise an antenna 44 connected to the radio interface circuitry 52 for transmitting radio frequency signals generated at the radio interface circuitry 52 to other apparatus(es) and / or for receiving radio frequency signals from other apparatus(es).
[0063] The apparatus 50 may comprise a camera capable of recording or detecting individual frames which are then passed to the codec 54 or the controller for processing. The apparatus may receive the video image data for processing from another device prior to transmission and / or storage. The apparatus 50 may also receive either wirelessly or by a wired connection the image for coding / decoding. The structural elements of apparatus 50 described above represent examples of means for performing a corresponding function.
[0001] Volumetric video
[0002] There are many ways to capture and represent a volumetric frame. The format used to capture and represent it depends on the processing to be performed on the volumetric frame, and the target application using volumetric frame. Some example representations are listed below.
[0003] A volumetric frame may be represented as a point cloud. A point cloud is a set of unstructured points in 3D space, where each point is characterized by its position in a 3D coordinate system (e.g., Euclidean), and some corresponding attributes (e.g., color information provided as red, green, blue, alpha (RGBA) value, or normal vectors).
[0004] A volumetric frame may be represented as images, with or without depth, captured from multiple viewpoints in 3D space. In other words, it may be represented by one or more view frames (where a view is a projection of a volumetric scene on to a plane (the camera plane) using a real or virtual camera with known / computed extrinsics and intrinsics). Each view may be represented by a number of components (e.g., geometry, color, transparency, and occupancy picture), which may be part of the geometry picture or represented separately.
[0005] A volumetric frame may be represented as a mesh. A mesh is a collection of points, called vertices, and connectivity information between vertices, called edges. Vertices along with edges form faces. The combination of vertices, edges and faces may uniquely approximate shapes of objects.
[0006] Depending on the capture, a volumetric frame may provide viewers the ability to navigate a scene with six degrees of freedom, e.g., both translational and rotational movement of their viewing pose (which includes yaw, pitch, and role). The data to be coded for a volumetric frame may also be significant, as a volumetric frame may include many objects, and the positioning and movement of these objects in the scene may result in many dis-occluded regions. Furthermore, the interaction of light and materials in objects and surfaces in a volumetric frame may generate complex light fields that may produce texture variations for even a slight change of pose.
[0007] A sequence of volumetric frames is a volumetric video. Due to large amount of information, storage and transmission of a volumetric video requires compression. A way to compress a volumetric frame may be to project the 3D geometry and related attributes into a collection of 2D images along with additional associated metadata. The projected 2D images may then be coded using 2D video and image coding technologies, for example, ISO / IEC 14496-10 (H.264 / AVC) and ISO / IEC 23008-2 (H.265 / HEVC). The metadata may be coded with technologies specified in specification such as ISO / IEC 23090-5. The coded images and the associated metadata may be stored or transmitted to a client that may decode and render the 3D volumetric frame.
[0008] Visual Volumetric Video-base Coding (V3C) - ISO / IEC 23090-5
[0009] ISO / IEC 23090-5 specifies the syntax, semantics, and process for coding volumetric video. The specified syntax is designed to be generic so that it may be reused for a variety ofapplications. Point clouds, immersive video with depth, and mesh representations may all use ISO / IEC 23090-5 standard with extensions that deal with the specific nature of the final representation. The purpose of the specification is to define how to decode and interpret the associated data (for example atlas data in ISO / IEC 23090-5) which tells a Tenderer how to interpret 2D frames to reconstruct a volumetric frame.
[0010] Two applications of V3C (ISO / IEC 23090-5) have been defined, V-PCC (ISO / IEC 23090-5) and MIV (ISO / IEC 23090-12). MIV and V-PCC use number of V3C syntax elements with a slightly modified semantics. An example on how the generic syntax element may be differently interpreted by the application is pdu_projection_id.
[0011] In case of V-PCC the syntax element, pdu_projection_id specifies the index of the projection plane for the patch. There may be 6 or 18 projection planes in V-PCC, and they are implicit, e.g., pre-determined.
[0012] In case of MIV pdu_projection_id corresponds to a view ID, e.g., identifies which view the patch originated from. View IDs and their related information is explicitly provided in MIV view parameters list and may be tailored for each content.
[0013] MPEG 3DG (ISO SC29 WG7) group has started work on a third application of V3C - the mesh compression. It is also envisaged that mesh coding may re-use V3C syntax as much as possible and may also slightly modify the semantics.
[0014] To differentiate between applications of V3C bitstream, that allow a client to properly interpret the decoded data, V3C uses the ptl_profile_toolset_idc parameter.
[0015] V3C - V3C bitstream
[0016] V3C bitstream is a sequence of bits that forms the representation of coded volumetric frames and the associated data making one or more coded V3C sequences (CVS). Where CVS is a sequence of bits identified and separated by appropriate delimiters, and is required to start with a VPS, includes a V3C unit, and includes one or more V3C units with atlas sub-bitstream or video sub-bitstream. Video sub-bitstreams and atlas sub-bitstreams may be referred to as V3C subbitstreams. Which V3C sub-bitstream a V3C unit includes and how to interpret it is identified by a V3C unit header in conjunction with VPS information.
[0017] V3C bitstream may be stored according to Annex C of ISO / IEC 23090-5 which specifies syntax and semantics of a sample stream format to be used by applications that deliver some or all of the V3C unit stream as an ordered stream of bytes or bits within which the locationsof V3C unit boundaries need to be identifiable from patterns in the data.
[0018] V3C parameter set structure provides a mechanism for conveying essential data to the decoding process. It indicates the profile, level, and tier of the V3C bitstream, which describe the requirements on the decoder capabilities needed to decode the V3C bitstreams. A V3C profile is composed of three profile components: toolset, codec group, and reconstruction. The toolset component specifies a subset of algorithmic features that a V3C decoder may support. The codec group component indicates the 2D codec used to encode V3C video components. The reconstruction component indicates a recommended reconstruction method to be used at the decoder side. A level of a tier specifies a set of limits on the values that may be taken by the syntax elements of V3C bitstream, and consequently imply information about the maximum possible memory requirements. More detailed information about the profiles, tiers, and levels defined for V3C can be found in ISO / IEC 23090-5.
[0019] Video-based Point Cloud Compression (V-PCC) - ISO / IEC 23090-5
[0020] The generic mechanism of V3C may be used by applications targeting volumetric content. One of such application is video-based point cloud compression (ISO / IEC 20390-5). V- PCC enables volumetric video coding for application in which a scene is represented by point cloud. V-PCC uses the patch data unit concept from V3C and for each patch assign one of 6 (18) predefined orthogonal camera views for reprojection.
[0021] MPEG Immersive Video (MIV) - ISO / IEC 23090-12
[0022] Another application of V3C is MPEG immersive video (ISO / IEC 23090-12). MIV enables volumetric video coding for applications in which a scene is recorded with multiple red, green, blue, and optionally depth (RGB(D)) cameras with overlapping fields of view (FoVs). One example setup is a linear array of cameras pointing towards a scene. This multi-scopic view of the scene allows a 3D reconstruction and therefore 6DoF / 3DoF+ consumption.
[0023] MIV uses the patch data unit concept from V3C and extends it by allow using application specific camera views for reprojection. In contrast to V-PCC, which uses pre-defined 6 or 18 orthogonal camera views for reprojection. Additionally, MIV introduces additional occupancy packing modes and other improvements to V3C base syntax. One such example is support for multiple atlases, for example when there is too much information to pack everything in a single video frame. It also adds support for common atlas data, which includes information that is shared between all atlases. This is particularly useful for storing camera details of the input camera models, which are frequently shared between different atlases.
[0024] Video-based dynamic mesh coding (V-DMC) - ISO / IEC 23090-29
[0025] V-DMC (ISO / IEC 23090-29) is another application form of V3C that aims on integration of mesh compression into the V3C family of standards. The standard is under development and at WD stage (MDS22775_WG07_N00611).
[0026] The retained technology after the CfP result analysis is based on multiresolution mesh analysis and coding. This approach includes:- generating a base-mesh that is a simplified (low resolution) mesh approximation of the original mesh, called base-mesh (this is done for all frames of the dynamic mesh sequence);- performing several mesh subdivision iterative steps (e.g., each triangle is converted into four triangles by connecting the triangle edge midpoints on the generated base mesh, generating other approximation meshes;- defining displacement vectors, also named error vectors, for each vertex of each mesh approximation;- for each subdivision level by adding the displacement vectors to the subdivided mesh vertices generates the best approximation of the original mesh at that resolution, given the base-mesh and prior subdivision levels;- the displacement vectors may undergo a lazy wavelet transform prior to compression; and- the attribute map of the original mesh is transferred to the deformed mesh at the highest resolution (e.g., subdivision level) such that texture coordinates are obtained for the deformed mesh and a new attribute map is generated.
[0027] The V-DMC encoder generates compressed bitstreams, which later on are packed in V3C units and create V3C bitstream by concatenating one or more of the following V3C units:- a sub-bitstream with the encoded base-mesh using a mesh codec;- a sub-bitstream with the displacement vectors; packed in an image and encoded using a video codec or arithmetic encoded as defined in Annex J of WD ISO / IEC 23090, MDS22775_WG07_N00611;- a sub-bitstream with the attribute map encoded using a video codec; or- a sub-bitstream (atlas) that includes all metadata required to decode and reconstruct the mesh sequence based on the aforementioned sub-bitstreams. The signaling of the metadata is based on the V3C syntax and includes necessary extensions that are specific to meshes.
[0028] Base-mesh bitstream (ISO / IEC 23090-29)
[0029] An elementary unit for the output of a base-mesh encoder (Annex H of ISO / IEC 23090-29) is a NAL unit.
[0030] A NAL unit may be defined as a syntax structure including an indication of the type of data to follow and bytes including that data in the form of a raw byte sequence pay load (RBSP) interspersed as necessary with emulation prevention bytes. An The RBSP may be defined as a syntax structure including an integer number of bytes that is encapsulated in a NAL unit. An RBSP is either empty or has the form of a string of data bits including syntax elements followed by an RBSP stopbit and followed by zero or more subsequent bits equal to 0.
[0031] NAL units may be categorized into base-mesh coding layer (BMCL) NAL units and non-BMCL NAL units. BMCL NAL units may be coded sub-mesh NAL units. A non-BMCL NAL unit may be for example one of the following types: a base-mesh sequence parameter set, a basemesh frame parameter set, a supplemental enhancement information (SEI) NAL unit, an access unit delimiter, an end of sequence NAL unit, an end of bitstream NAL unit, or a filler data NAL unit. Parameter sets may be needed for the reconstruction of decoded bas-mesh, whereas many of the other non-BMCL NAL units are not necessary for the reconstruction of decoded sample values.
[0032] V-DMC specifications may include a set of constraints for associating data units (e.g. NAL units) into coded base-mesh access units.
[0033] Draco compression
[0034] Draco is a technology for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics. It supports compressing points, connectivity information, texture coordinates, color information, normals, and any other generic attributes associated with geometry. Draco may compress the 3D mesh either sequentially or using edgebreaker algorithm. The input to Draco encoder may be any 3D model and the encoder compresses it into a Draco bitstream. The compressed bitstream may be decoded back into the original 3D model, or if needed transcoded into a different format.
[0035] The compressed bitstream is divided into four parts: Draco header, metadata, connectivity and attributes.
[0036] FIG. 3 illustrates a general structure of a compressed bitstream 300, where three different alternative structures for the connectivity data have been separated. A Draco header 302 includes high-level information about the bitstream 300 and identifies the bitstream as Draco bitstream 300. The fields of the Draco header 302 are described below:ParseHeaderQ { draco_string major_version minor_version encoder lype encoder_method flags}
[0037] The metadata 304 part allows to associate per attribute metadata or file level metadata with the Draco bitstream 300. It could be, for example, used to describe attribute names 306. The metadata 304 includes of following information and enables recursively adding more levels of submetadata. The metadata 304 is represented by key-value pairs. void DecodeMetadataQ {ParseMetadataCountQ ; for (i = 0; i < num_att_metadata; +- i-i) {ParseAttributeMetadatald(i);DecodeMetadataElement(att_metadata[i]);}DecodeMetadataElement(file_metadata);} void ParseMetadataCountQ { num_att_metadata} void ParseAttributeMetadatald(index) { att_metadata_id [index]} void ParseMetadataElement(metadata) { metadata.num_entries for (i = 0; i < metadata.num_entries; +- i-i) { sz = metadata.key_size[i] metadata.key[i] sz = metadata. value_size[i] metadata.value[i]} metadata.num_sub_metadata} void ParseSubMetadataKey(metadata, index) { sz = metadata. sub_metadata_key_size [index] metadata.sub_metadata_key [index]}void DecodeMetadataElement(metadata) { ParseMetadataElement(metadata) ; for (i = 0; i < metadata.num_sub_metadata; ++i) {ParseSubMetadataKey(metadata, i);DecodeMetadataElement(metadata.sub_metadata[i]);}}
[0038] The structure of the connectivity 308 part depends on the encoder method. It includes of either sequential or edgebreaker information. The type of connectivity 308 information is defined in the Draco header (encoder_method). The sequential connectivity header 310 includes the following fields: void ParseSequentialConnectivityDataQ { num_faces num_points connectivity _method}
[0039] The connectivity header 310 includes information such as the number of faces and points in the connectivity bitstream as well as the connectivity method which identifies if the sequential connectivity bitstream includes of compressed or uncompressed indices312. The rest of the connectivity data 312 includes the connectivity bitstream.
[0040] Alternatively, the compressed Draco bitstream 300 may include edgebreaker encoded connectivity data instead of the sequential connectivity data. In this case the connectivity header 310 includes information as defined by ParseEdgebreakerConnectivityData structure. void ParseEdgebreakerConnectivityDataQ { edgebreaker_travers al_type num_encoded_vertices num_faces num_attribute_data num_encoded_symbols num_encoded_split_symbols}
[0041] The connectivity header 310 provides information such as the traversal type, which indicates the type of the edgebreaker connectivity bitstream. In current version this may be either standard edgebreaker (0) or valence edgebreaker (2). Additionally, it includes information such as the number of encoded vertices and attributes. It also provides information on the number of encoder symbols and split symbols, which are required to decode different parts of the edgebreaker encoded connectivity bitstream. In addition to the connectivity header 310, the connectivity data includes the connectivity bitstream 314.
[0042] The structure of the connectivity bitstream 314 depends on the traversal type and may include encoded split data 316, encoded edgebreaker symbol data 318, encoded start face configuration data 320 and the attribute connectivity data 322. It could additionally include valence header 324 and context data 326 in case edgebreaker valence traversal type is used.
[0043] The attribute data 328 includes two sections. The first part is the attribute header 330, which indicates how many attributes need to be decoded as well as what components each attribute includes. void ParseAttributeDecodersDataQ { num_attributes_decoders if (encoder_method == MESH_EDGEBREAKER_ENCODING) { for (i = 0; i < num_attributes_decoders; ++i) { att_dec_data_id [i] att_dec_decoder_type[i] att_dec_traversal_method [i]}} for (i = 0; i < num_attributes_decoders; ++i) { att_dec_num_attributes [i] for (j = 0; j < att_dec_num_attributes[i]; ++j) { att_dec_att_type[i] [j] att_dec_data_type[i] [j] att_dec_num_components[i] [j] att_dec_normalized[i] [j] att_dec_unique_id[i] [j]} for (j = 0; j < att_dec_num_attributes[i]; ++j) { seq_att_dec_decoder_type[i] [j ]}}}
[0044] The second part of the attribute data is comprised of compressed attributes 332a to 332d, such as positions, texture coordinates, normals, and the like. Each attribute type 334 section is comprised of one or more unique components.
[0045] The compressed bitstream is described in detail in specification available from [bitps: / / google.gitiiub.io / draco / spec / (last accessed on October 4, 2023)1.
[0046] In the current text of ISO / IEC 23090-5 V3C parameter set structure provides V3C profile information. The information is composed of three profile components: toolset, codec group, and reconstruction. The codec group component indicates the 2D codec used to encode V3C video components.
[0047] ISO / IEC 23090-29 introduce new type of bitstreams, base-mesh (Annex H of ISO / IEC 23090-29) and ID displacement (Annex J of ISO / IEC 23090-29). The intention of the standardization group is that the new bitstreams are one way to encode the new information types. There can be other codecs defined outside ISO / IEC 23090-29 that can provide the same information to the decoder.
[0048] The current text of ISO / IEC 23090-5 and ISO / IEC 23090-29 do not provide signaling information that could inform a decoder on how to interpret the base-mesh bitstream or any other bitstream that is not video based. It is assumed that method described in ISO / IEC 23090-5 should be used, but that does not reflect the intention of the standards developing group and the existing mechanism cannot be repurposed.
[0049] An encoder receives volumetric video representation. Part of the encoding process may require separating the volumetric video representation into different components. Some components may be compressed using a video codec, while other components require component specific non-video codecs. For example, base mesh component requires a specific bitstream representation, for example, the one defined in Annex H of ISO / IEC 23090-29, or the ID displacement can be coded using the new formats, for example, defined in Annex J of ISO / IEC 23090-29.
[0050] The encoder may support multiple different codec s / formats for compressing the nonvideo, e.g., for comprising base mesh component of the volumetric video representation. Ability to indicate which mesh-coding tool was used to generate the base-mesh bitstream is essential for understanding how to decode the compressed volumetric video bitstream. Various embodiments provide the details on how such signaling may be enabled.
[0051] Encoder
[0052] A method comprising: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content; encoding one or more components of the volumetric video content into one or more video bitstreams; encoding one or more components of the volumetric video content into one or more non-video bitstreams; generating a record of the encoding format for the one or more non-video bitstream; interleaving the encoded component bitstreams (e.g., the encoded one or more video bitstreams and one or more non-video bitstreams) into a single volumetric video bitstream; signal in or along the volumetric video bitstream, the record indicating the encoding format of the one or more non-video bitstreams.
[0053] The method may further comprise: forming a profile tier level syntax element for the signaling; and inserting the profile tier level syntax element in or along the volumetric video bitstream to indicate which codec is used to encode the one or more non-video bitstreams.
[0054] The method may further include, wherein the one or more non-video bitstreams can be base mesh bitstreams.
[0055] The method may further include, wherein the one or more non-video bitstreams can be ID arithmetic coded displacement bitstreams.
[0056] Decoder
[0057] A method comprising: receiving a volumetric video bitstream, said bitstream comprising an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, a record indicating which codec was used for compressing or encoding one or more non-video component bitstreams; examining or analyzing the records; deinterleaving, from the volumetric video bitstream, the two or morecomponents of a volumetric video content; decoding the one or more non-video bitstreams using codec as indicated by the record.
[0058] In an embodiment when ptl_profile_toolset_idc comprises v-dmc related toolset then ptl_profile_codec_group_idc syntax element may be interpreted as 3 most significant bits (MSB) determining the base mesh codec (bitstream format) and the 4 least significant bits (LSB) determining video codec. Any other division of the bits should be considered too, not only restricting to 3-4 split.
[0059] In an embodiment when ptl_profile_toolset_idc comprises v-dmc related toolset then a new syntax element ptl_profile_bm_codec_idc is defined utilizing a subset of bits fromptl_reserved_zero_16bits syntax element, for example, 7 bits may be used. ptl_profile_bm_codec_idc may indicate the base mesh bitstream format.
[0060] In an embodiment when ptl_profile_toolset_idc comprises v-dmc related toolset then a new syntax element ptl_profile_ld_disp_codec_idc is defined utilizing a subset of bits from ptl_reserved_zero_16bits syntax element, for example 7 bits may be used. ptl_profile_ld_disp_codec_idc may indicate the ID displacement bitstream format.
[0061] In an embodiment, when ptl_profile_toolset_idc comprises v-dmc related toolset then ptl_num_sub_profiles should be at least 1 with at least one ptl_sub_profile_idc indicating the base-mesh bitstream profile.
[0062] In an embodiment, when ptl_profile_toolset_idc v-dmc related toolset then ptl_num_sub_profiles should be at least 1 with at least one ptl_sub_profile_idc indicating the ID displacement bitstream profile.
[0063] In an embodiment, when ptl_profile_toolset_idc comprises v-dmc related toolset then ptl_profile_codec_group_idc syntax element may be interpreted as first MSB bit determining the base mesh codec (bitstream format), second MSB detmining the ID displacement arithmetic coding, and the 5 LSB determining video codec. Any other division of the bits may be considered too.
[0064] In an embodiment, a base_mesh_codec_group_idc equal to 1 would indicate that Annex H of ISO / IEC 23090-29 is used. The base_mesh_codec_group_idc equal to 0 would indicate that the base_mesh_codec_group_idc may be determined based on vps_ext_bmesh_data_substream_codec_id and the component codec mapping SEI message defined in ISO / IEC 23090-5. In another / alternate embodiment, a base_mesh_codec_group_idc equal to 0 would indicate that Annex H of ISO / IEC 23090-29 is used. The base_mesh_codec_group_idc equal to 1 would indicate that the base_mesh_codec_group_idc may be determined based onvps_ext_bmesh_data_substream_codec_id and the component codec mapping SEI message defined in ISO / IEC 23090-5.
[0065] In an embodiment, lD_disp_codec_group_idc equal to 1 would indicate that Annex J of ISO / IEC 23090-29 is used. lD_disp_codec_group_idc equal to 0 would indicate that the lD_disp_codec_group_idc can be determined based on gi_geometry_codec_id and the Component codec mapping SEI message defined in ISO / IEC 23090-5.
[0066] FIG. 4 is an example apparatus 400, which may be implemented in hardware, configured to implement the examples described herein. The apparatus 400 comprises at least one processor 402 (e.g., an FPGA and / or CPU), one or more memories 404 including computer programcode 405, the computer program code 405 having instructions to carry out the methods described herein, wherein the at least one memory 404 and the computer program code 405 are configured to, with the at least one processor 402, cause the apparatus 400 to implement circuitry, a process, component, module, or function (implemented with control module 406) to implement the examples described herein, including signaling non-video bitstream format in volumetric video-based coding. Optionally included encoder 430 of the control module 406 performs encoding, and optionally included decoder 440 implements decoding. The memory 404 may be a non-transitory memory, a transitory memory, a volatile memory (e.g., RAM), or a non-volatile memory (e.g., ROM).
[0067] The apparatus 400 includes a display and / or I / O interface 408, which includes user interface (UI) circuitry and elements, that may be used to display features or a status of the methods described herein (e.g., as one of the methods is being performed or at a subsequent time), or to receive input from a user such as with using a keypad, camera, touchscreen, touch area, microphone, biometric recognition, one or more sensors, and the like. The apparatus 400 includes one or more communication, e.g., network (N / W) interfaces (I / F(s)) 410. The communication IZF(s) 410 may be wired and / or wireless and communicate over the Intemet / other network(s) via any communication technique including via one or more links 424. The communication IZF(s) 410 may comprise one or more transmitters or one or more receivers.
[0068] The transceiver 416 comprises one or more transmitters 418 and one or more receivers 420. The transceiver 416 and / or communication IZF(s) 410 may comprise standard well-known components such as an amplifier, filter, frequency-converter, (de)modulator, and encoder / decoder circuitries and one or more antennas, such as antennas 414 used for communication over wireless link 422.
[0069] The control module 406 of the apparatus 400 comprises one of or both parts 406-1 and / or 406-2, which may be implemented in a number of ways. The control module 406 may be implemented in hardware as control module 406-1, such as being implemented as part of the one or more processors 402. The control module 406-1 may be implemented also as an integrated circuit or through other hardware such as a programmable gate array. In another example, the control module 406 may be implemented as control module 406-2, which is implemented as computer program code (having corresponding instructions) 405 and is executed by the one or more processors 402. For instance, the one or more memories 404 store instructions that, when executed by the one or more processors 402, cause the apparatus 400 to perform one or more of the operations as described herein. Furthermore, the one or more processors 402, one or more memories 404, and example algorithms (e.g., as flowcharts and / or signaling diagrams), encoded as instructions, programs, or code, are means for causing performance of the operations described herein.
[0070] The apparatus 400 to implement the functionality of control 406 may correspond to any of the apparatuses depicted herein. Alternatively, apparatus 400 and its elements may not correspond to any of the other apparatuses depicted herein, as apparatus 400 may be part of a self- organizing / optimizing network (SON) node or other node, such as a node in a cloud.
[0071] The apparatus 400 may also be distributed throughout the network (e.g., internet 28) including within and between apparatus 400 and any network element (such as a base station 24 and / or apparatus 90).
[0072] Interface 412 enables data communication and signaling between the various items of apparatus 400, as shown in FIG. 4. For example, the interface 412 may be one or more buses such as address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. Computer program code (e.g., instructions) 405, including control 406 may comprise object-oriented software configured to pass data or messages between objects within computer program code 405. The apparatus 400 need not comprise each of the features mentioned, or may comprise other features as well. The various components of apparatus 400 may at least partially reside in a common housing 428, or a subset of the various components of apparatus 400 may at least partially be located in different housings, which different housings may include housing 428.
[0073] FIG. 5 shows a schematic representation of non-volatile memory media 500a (e.g. computer / compact disc (CD) or digital versatile disc (DVD)) and 500b (e.g. universal serial bus (USB) memory stick) and 500c (e.g. cloud storage for downloading instructions and / or parameters 502 or receiving emailed instructions and / or parameters 502) storing instructions and / or parameters 502 which when executed by a processor allows the processor to perform one or more of the operations of the methods described herein.
[0074] FIG. 6 is an example method 600, based on the example embodiments described herein. At 602, the method 600 includes obtaining a presentation comprising volumetric video content. At 604, the method 600 includes generating two or more components of the volumetric video content. At 606, the method 600 includes encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams. At 608, the method 600 includes encoding a second one or more components of the two or more components of the volumetric video content into one or more non- video bitstreams. At 610, the method 600 includes generating one or more records of an encoding format for the one or more non-video bitstreams. At 612, the method 600 includes interleaving the one or more video bitstreams and the one or morenon-video bitstreams into a volumetric video bitstream. At 614, the method 600 includes signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
[0075] The method 600 may be performed with an encoding apparatus, such as the apparatus 50 or the apparatus 400 with the encoder 430.
[0076] In an embodiment, the method 600 may further include forming the one or more records for the signaling; and inserting the one or more records in or along the volumetric video bitstream, wherein the one or more records further indicate a bitstream format used for encoding the one or more non-video bitstreams. In an embodiment, the one or more records comprises a profile tier level syntax structure. In an embodiment, the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
[0077] FIG. 7 is another example method 700, based on the example embodiments described herein. At 702, the method 700 includes receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content. At 704, the method 700 includes receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams. At 706, the method 700 includes examining or analyzing the record. At 708, the method 700 includes deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content. At 710, the method 700 includes decoding the one or more non-video bitstreams using the codec as indicated by the record.
[0078] In an embodiment, the one or more records is further used for indicating a bitstream format used for encoding the one or more non-video bitstreams. In an embodiment, the one or more records comprises a profile tier level syntax structure. In an embodiment, the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V 3C) parameter set.
[0001] The method 700 may be performed with a decoding apparatus, such as the apparatus 50 or the apparatus 400 with the decoder 440.
[0002] FIG. 8 is yet another example method 800, based on the examples described herein. At 802, the method 800 includes encoding one or more non-video components of a volumetric video content into one or more non-video bitstreams. At 804, the method 800 includes generating one or more records of an encoding format for the one or more non-video bitstreams. At 806, the method 800 includes signaling in or along a volumetric video bitstream, the one or more records indicatingthe encoding format of the one or more non-video bitstreams.
[0003] In an embodiment the method 800 may further include obtaining a presentation comprising volumetric video content; generating one or more video components and the one or more non-video components of the volumetric video content; encoding the one or more video components of the volumetric video content into one or more video bitstreams; and interleaving the one or more video bitstreams and the one or more non-video bitstreams into the volumetric video bitstream.
[0004] The method 800 may be performed with an encoding apparatus, such as the apparatus 50 or the apparatus 400 with the encoder 430.
[0005] FIG. 9 is still another example method 900, based on the examples described herein. At 902, the method 900 includes receiving, as part of or along a volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams. At 904, the method 900 includes examining or analyzing the one or more records. At 906, the method 900 includes decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
[0006] In an embodiment, the method 900 may further include receiving the volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of one or more non-video components of the volumetric video content and an encoded presentation of one or more video components of the volumetric video content; and deinterleaving, from the volumetric video bitstream, the one or more non-video components of the volumetric video content and the presentation of one or more video components of the volumetric video content.
[0007] The method 900 may be performed with a decoding apparatus, such as the apparatus 50 or the apparatus 400 with the decoder 440.
[0008] References to a ‘computer’, ‘processor’, etc. should be understood to encompass not only computers having different architectures such as single / multi-processor architectures and sequential / parallel architectures but also specialized circuits such as field -programmable gate arrays (FPGAs), application specific circuits (ASICs), signal processing devices and other processing circuitry. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the 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.
[0009] As used herein, the term ‘circuitry’, ‘circuit’ and variants may refer to any of thefollowing: (a) hardware circuit implementations, such as implementations in analog and / or digital circuitry, and (b) combinations of circuits and software (and / or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s) / software including digital signal processor(s), software, and one or more memories that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even when the software or firmware is not physically present. As a further example, as used herein, the term ‘circuitry’ would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and / or firmware. The term ‘circuitry’ would also cover, for example and when applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device. Circuitry or circuit may also be used to mean a function or a process used to execute a method.
[0010] It should be understood that the foregoing description is only illustrative. Various alternatives and modifications may be devised by those skilled in the art. For example, features recited in the various dependent claims could be combined with each other in any suitable combination(s). In addition, features from different embodiments described above could be selectively combined into a new embodiment. Accordingly, the description is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.
[0011] The following acronyms and abbreviations that may be found in the specification and / or the drawing figures are defined as follows (the abbreviations may be appended with each other or with other characters using e.g. a hyphen or dash (-), and may be case insensitive):ASPS atlas sequence parameter setAFPS atlas frame parameter setATL atlas tile layerAVC advanced video codingBMSPS base-mesh sequence parameter setBMFPS base-mesh frame parameter setBMTL base-mesh tile layerHEVC high efficiency video codingHLS high level syntaxMIV MPEG immersive videoV3C visual volumetric video-based codingV-DMC video-based dynamic mesh codingV-PCC video-Based Point Cloud Compression
Claims
CLAIMSWhat is claimed is:
1. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content; encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
2. The apparatus of claim 1, wherein the apparatus is further caused to perform: forming the one or more records for the signaling; and inserting the one or more records in or along the volumetric video bitstream, wherein the one or more records is further used for indicating a bitstream format used for encoding the one or more non-video bitstreams.
3. The apparatus of any of the claims 1 or 2, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
4. The apparatus of any of the claims 1 or 2, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
5. The apparatus of any of the claims lor 2, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
6. The apparatus of any of claims 1 or 2, wherein the one or more records are comprised in aprofile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
7. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
8. The apparatus of the claim 7, wherein the one or more records is further used for indicating a bitstream format used for encoding the one or more non-video bitstreams.
9. The apparatus of any of the claims 7 or 8, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
10. The apparatus of any of the claims 7 or 8, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
11. The apparatus of any of the claims 7 or 8, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
12. The apparatus of any of claims 7 or 8, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
13. An method comprising: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content;encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
14. The method of claim 13 further comprising: forming the one or more records for the signaling; and inserting the one or more records in or along the volumetric video bitstream, wherein the one or more records further used for indicating a bitstream format used for encoding the one or more non-video bitstreams.
15. The method of any of the claims 13 or 14, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
16. The method of any of the claims 13 or 14, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
17. The method of any of the claims 13 or 14, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
18. The method of any of claims 13 or 14, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
19. An method comprising: receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records;deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
20. The method of the claim 19, wherein the one or more records is further used for indicating a bitstream format used for encoding the one or more non-video bitstreams.
21. The method of any of the claims 19 or 20, wherein the volumetric video bitstream is a visual volumetric video-based coding (V3C) bitstream.
22. The method of any of the claims 19 or 20, wherein the one or more non-video bitstreams comprises base mesh bitstreams.
23. The method of any of the claims 19 or 20, wherein the one or more non-video bitstreams comprises ID arithmetic coded displacement bitstreams.
24. The method of any of claims 19 or 20, wherein the one or more records are comprised in a profile tier level syntax structure of a visual volumetric video-based coding (V3C) parameter set.
25. An apparatus comprising: means for obtaining a presentation comprising volumetric video content; means for generating two or more components of the volumetric video content; means for encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; means for encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; means for generating one or more records of an encoding format for the one or more non-video bitstreams; means for interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and means for signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
26. The apparatus of claim 25, wherein the apparatus further comprises means for performingthe methods as claimed in any of the claims 14 to 18.
27. An apparatus comprising: means for receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; means for receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; means for examining or analyzing the one or more records; means for deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and means for decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
28. The apparatus of claim 27, wherein the apparatus further comprises means for performing the methods as claimed in any of the claims 20 to 24.
29. A computer readable medium comprising program instructions which, when executed by an apparatus, cause the apparatus to perform at least the following: obtaining a presentation comprising volumetric video content; generating two or more components of the volumetric video content; encoding a first one or more components of the two or more components of the volumetric video content into one or more video bitstreams; encoding a second one or more components of the two or more components of the volumetric video content into one or more non-video bitstreams; generating a one or more records of an encoding format for the one or more non-video bitstreams; interleaving the one or more video bitstreams and the one or more non-video bitstreams into a volumetric video bitstream; and signaling in or along the volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams..
30. The computer readable medium of claim 29, wherein the computer readable medium comprises a non-transitory computer readable medium.
31. The computer readable medium of any of claims 29 or 30, wherein the computer readablemedium causes the apparatus to further perform the methods as claimed in any of the claims 14 to 18.
32. A computer readable medium comprising program instructions which, when executed by an apparatus, cause the apparatus to perform at least the following: receiving a volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of two or more components of a volumetric video content; receiving, as part of or along the volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; deinterleaving, from the volumetric video bitstream, the two or more components of the volumetric video content; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
33. The computer readable medium of claim 32, wherein the computer readable medium comprises a non-transitory computer readable medium.
34. The computer readable medium of any of claims 32 or 33, wherein the computer readable medium causes the apparatus to further perform the methods as claimed in any of the claims 20 to 24.
35. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: encoding one or more non-video components of a volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; and signaling in or along a volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
36. The apparatus of claim 35, wherein the apparatus is further caused to perform:obtaining a presentation comprising the volumetric video content; generating one or more video components and the one or more non-video components of the volumetric video content; encoding the one or more video components of the volumetric video content into one or more video bitstreams; and interleaving the one or more video bitstreams and the one or more non-video bitstreams into the volumetric video bitstream.
37. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to perform: receiving, as part of or along a volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
38. The apparatus of claim 37, wherein the apparatus is further caused to perform: receiving the volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of one or more non-video components of a volumetric video content and an encoded presentation of one or more video components of the volumetric video content; and deinterleaving, from the volumetric video bitstream, the one or more non-video components of the volumetric video content and the presentation of one or more video components of the volumetric video content.
39. A method comprising: encoding one or more non-video components of a volumetric video content into one or more non-video bitstreams; generating one or more records of an encoding format for the one or more non-video bitstreams; and signaling in or along a volumetric video bitstream, the one or more records indicating the encoding format of the one or more non-video bitstreams.
40. The method of claim 39 further comprising:obtaining a presentation comprising the volumetric video content; generating one or more video components and the one or more non-video components of the volumetric video content; encoding the one or more video components of the volumetric video content into one or more video bitstreams; and interleaving the one or more video bitstreams and the one or more non-video bitstreams into the volumetric video bitstream.
41. A method comprising: receiving, as part of or along a volumetric video bitstream, one or more records indicating a codec used for encoding or compressing one or more non-video bitstreams; examining or analyzing the one or more records; and decoding the one or more non-video bitstreams using the codec as indicated by the one or more records.
42. The method of claim 41 further comprising: receiving the volumetric video bitstream, wherein the volumetric video bitstream comprises an encoded presentation of one or more non-video components of a volumetric video content and an encoded presentation of one or more video components of the volumetric video content; and deinterleaving, from the volumetric video bitstream, the one or more non-video components of the volumetric video content and the presentation of one or more video components of the volumetric video content.
Citation Information
Patent Citations
V-mesh bitstream structure including syntax elements and decoding process with reconstruction
WO2023172509A1
Information processing device and method
WO2023181875A1