WO2024084326A1 - Conditionnement de déplacement adaptatif pour codage maillé dynamique - Google Patents

Conditionnement de déplacement adaptatif pour codage maillé dynamique Download PDF

Info

Publication number
WO2024084326A1
WO2024084326A1 PCT/IB2023/060065 IB2023060065W WO2024084326A1 WO 2024084326 A1 WO2024084326 A1 WO 2024084326A1 IB 2023060065 W IB2023060065 W IB 2023060065W WO 2024084326 A1 WO2024084326 A1 WO 2024084326A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
geometrical surface
points
subdivision
displacement
Prior art date
Application number
PCT/IB2023/060065
Other languages
English (en)
Inventor
Aleksei MARTEMIANOV
Patrice Rondao Alface
Lukasz Kondrad
Lauri Aleksi ILOLA
Sebastian Schwarz
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of WO2024084326A1 publication Critical patent/WO2024084326A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the examples and non-limiting embodiments relate generally to volumetric video coding, and more particularly, to adaptive displacement packing for dynamic mesh coding.
  • An example apparatus includes: 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: use projection of subdivision points to a geometrical surface; package values of the subdivision points into a two dimensional (2D) box; determine whether multiple subdivision points map on same pixel; and merge or omit some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • 2D two dimensional
  • the example apparatus may further include, wherein the apparatus is caused to: determine the size of the 2D box based on the number of the subdivision points; or arbitrarily set the size of the 2D box.
  • the example apparatus may further include, wherein the subdivision points comprise displacement vectors.
  • the example apparatus may further include, wherein the apparatus is caused to: perform a subdivision process to generate subdivisional points; compute a displacement between a base mesh and a surface of an original mesh; and encode each of the subdivision points into a separate frame when a wavelet transform is used; or encode the subdivision points into a single frame when wavelet transform is not used.
  • the example apparatus may further include, wherein the apparatus is caused to: signal the encoded subdivision points to a decoder.
  • the example apparatus may further include, wherein the apparatus is caused to: calculate 2D positions of displacement coefficients inside a packed frame by using a projection to the geometrical surface surrounding an encoded mesh; and reduce a number of displacement values by eliminating unused points into the packed frame of a predefined size.
  • the example apparatus may further include, wherein the apparatus is caused to: signal a packing mode used to package the values of the subdivision points; and/or signal a type of the geometrical surface.
  • the example apparatus may further include, wherein the apparatus is caused to use a packing mode field to indicate the packing mode used to package the values of the subdivision points.
  • the example apparatus may further include, wherein the apparatus is caused to use a projection primitive field to indicate the type of the geometrical surface.
  • the example apparatus may further include, wherein the apparatus is caused to: signal a position, a rotation angle, and/or a scale of the geometrical surface to the decoder.
  • the example apparatus may further include, wherein the apparatus is caused to use following to signal the position, the rotation angle, and/or the scale of the geometrical surface: a delta x field to indicate position X of the geometrical surface as deltaX to central point of a basemesh; a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh; a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh; rotation angle field to indicate the rotation angle of the geometrical surface to a central axis; and projection scale filed to indicate the scale factor of the geometrical surface.
  • a delta x field to indicate position X of the geometrical surface as deltaX to central point of a basemesh
  • a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh
  • a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh
  • rotation angle field
  • the example apparatus may further include, wherein the apparatus is caused to: use update enabled flag to indicate that a displacement projection semantics is capable of being updated in an atlas frame parameter set.
  • Another example apparatus includes: 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: receive a bitstream comprising metadata; extract the metadata; use the extracted metadata to assign displacement pixel positions to vertex indices in order to apply decoded displacements to a mesh comprising subdi visional points; and generate an output reconstructed displaced mesh based at least on the assignment.
  • the example apparatus may further include, wherein the subdivision points comprise displacement vectors.
  • the example apparatus may further include, wherein the apparatus is caused to: compute a displacement between a base mesh and a surface of an original mesh; and decode each of the subdivision points into a separate frame when a wavelet transform is used; or encode the subdivision points into a single frame when wavelet transform is not used.
  • the example apparatus may further include, wherein the apparatus is caused to: calculate 2D positions of displacement coefficients inside a packed frame by using a projection to the geometrical surface surrounding a decoded mesh; and reduce a number of displacement values by eliminating unused points into the packed frame of a predefined size.
  • the example apparatus may further include, wherein the apparatus is caused to: receive a packing mode used to package the values of the subdivision points; and/or receive a type of the geometrical surface.
  • the example apparatus may further include, wherein the apparatus is caused to: receive a position, a rotation angle, and/or a scale of the geometrical surface to the decoder.
  • the example apparatus may further include, wherein the position, the rotation angle, and/or the scale of the geometrical surface are received as following: a delta x field to indicate position X of the geometrical surface as deltaX to central point of a base-mesh; a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh; a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh; rotation angle field to indicate the rotation angle of the geometrical surface to a central axis; and projection scale filed to indicate the scale factor of the geometrical surface.
  • a delta x field to indicate position X of the geometrical surface as deltaX to central point of a base-mesh
  • a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh
  • a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh
  • rotation angle field to indicate the
  • the example apparatus may further include, wherein the apparatus is further caused to: merge or omit some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • An example method includes: using projection of subdivision points to a geometrical surface; packaging values of the subdivision points into a two dimensional (2D) box; determining whether multiple subdivision points map on same pixel; and merging or omitting some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • the example method may further include: determining the size of the 2D box based on the number of the subdivision points; or arbitrarily setting the size of the 2D box.
  • the example apparatus may further include, wherein the subdivision points comprise displacement vectors.
  • the example method may further include: performing a subdivision process to generate subdivisional points; computing a displacement between a base mesh and a surface of an original mesh; and encoding each of the subdivision points into a separate frame when a wavelet transform is used; or encoding the subdivision points into a single frame when wavelet transform is not used.
  • the example method may further include: signaling the encoded subdivision points to a decoder.
  • the example method may further include: calculating 2D positions of displacement coefficients inside a packed frame by using a projection to the geometrical surface surrounding an encoded mesh; and reducing a number of displacement values by eliminating unused points into the packed frame of a predefined size.
  • the example method may further include: signaling a packing mode used to package the values of the subdivision points; and/or signaling a type of the geometrical surface.
  • the example method may further include using a packing mode field to indicate the packing mode used to package the values of the subdivision points.
  • the example method may further include using a projection primitive field to indicate the type of the geometrical surface.
  • the example method may further include signaling a position, a rotation angle, and/or a scale of the geometrical surface to the decoder.
  • the example method may further include using following to signal the position, the rotation angle, and/or the scale of the geometrical surface: a delta x field to indicate position X of the geometrical surface as deltaX to central point of a base-mesh; a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh; a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh; rotation angle field to indicate the rotation angle of the geometrical surface to a central axis; and projection scale filed to indicate the scale factor of the geometrical surface.
  • the example method may further include using update enabled flag to indicate that a displacement projection semantics is capable of being updated in an atlas frame parameter set.
  • Another example method includes: receiving a bitstream comprising metadata; extracting the metadata; using the extracted metadata to assign displacement pixel positions to vertex indices in order to apply decoded displacements to a mesh comprising subdivisional points; and generating an output reconstructed displaced mesh based at least on the assignment.
  • the example method may further include, wherein the subdivision points comprise displacement vectors.
  • the example method may further include: computing a displacement between a base mesh and a surface of an original mesh; and decoding each of the subdivision points into a separate frame when a wavelet transform is used; or decoding the subdivision points into a single frame when wavelet transform is not used.
  • the example method may further include: calculating 2D positions of displacement coefficients inside a packed frame by using a projection to the geometrical surface surrounding a decoded mesh; and reducing a number of displacement values by eliminating unused points into the packed frame of a predefined size.
  • the example method may further include: receiving a packing mode used to package the values of the subdivision points; and/or receiving a type of the geometrical surface.
  • the example method may further include: receiving a position, a rotation angle, and/or a scale of the geometrical surface.
  • the example method may further include, wherein the position, the rotation angle, and/or the scale of the geometrical surface are received as following: a delta x field to indicate position X of the geometrical surface as deltaX to central point of a base-mesh; a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh; a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh; rotation angle field to indicate the rotation angle of the geometrical surface to a central axis; and projection scale filed to indicate the scale factor of the geometrical surface.
  • a delta x field to indicate position X of the geometrical surface as deltaX to central point of a base-mesh
  • a delta y field to indicate position Y of the geometrical surface as deltaY to central point of the base-mesh
  • a delta z field to indicate position X of the geometrical surface as deltaZ to central point of the base-mesh
  • rotation angle field to indicate the
  • the example method may further include merging or omitting some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • Yet another example apparatus includes: means for using projection of subdivision points to a geometrical surface; means for packaging values of the subdivision points into a two dimensional (2D) box; means for determining whether multiple subdivision points map on same pixel; and means for merging or omitting some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • Still another example apparatus includes: means for receiving a bitstream comprising metadata; means for extracting the metadata; means for using the extracted metadata to assign displacement pixel positions to vertex indices in order to apply decoded displacements to a mesh comprising subdi visional points; and means for generating an output reconstructed displaced mesh based at least on the assignment.
  • An example non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable with the machine for performing operations, the operations comprising: using projection of subdivision points to a geometrical surface; packaging values of the subdivision points into a two dimensional (2D) box; determining whether multiple subdivision points map on same pixel; and merging or omitting some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • Another example non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable with the machine for performing operations, the operations comprising: receiving a bitstream comprising metadata; extracting the metadata; using the extracted metadata to assign displacement pixel positions to vertex indices in order to apply decoded displacements to a mesh comprising subdivisional points; and generating an output reconstructed displaced mesh based at least on the assignment.
  • FIG. 1 A is a diagram showing volumetric media conversion at an encoder side.
  • FIG. IB is a diagram showing volumetric media reconstruction at a decoder side.
  • FIG. 2 shows an example of block to patch mapping.
  • FIG. 3A shows an example of an atlas coordinate system.
  • FIG. 3B shows an example of a local 3D patch coordinate system.
  • FIG. 3C shows an example of a final target 3D coordinate system.
  • FIG. 4 shows elements of a mesh.
  • FIG. 5 shows an example V-PCC extension for mesh encoding, based on the embodiments described herein.
  • FIG. 6 shows an example V-PCC extension for mesh decoding, based on the embodiments described herein.
  • FIG. 7 shows one subdivision step of a triangle into four triangles by connecting mid points of the initial triangle edges.
  • FIG. 8 depicts a multi-resolution analysis of a mesh.
  • FIG. 9 is block diagram of an encoder composed of a pre-processing module.
  • FIG. 10 depicts pre-processing steps at the encoder.
  • FIG. 11 is a block diagram of an intra frame encoder scheme.
  • FIG. 12 is a block diagram of an inter frame encoder scheme.
  • FIG. 13 depicts a decoder scheme composed of a decoder module that demultiplexes and decodes all sub-streams and a post-processing module that reconstructs the dynamic mesh sequence.
  • FIG. 14 shows a decoding process in intra mode.
  • FIG. 15 shows a decoding process in inter mode.
  • FIG. 16 shows a base mesh encoder in a VDMC encoder.
  • FIG. 17 shows an example base mesh encoder.
  • FIG. 18 shows an example base mesh decoder.
  • FIG. 19 illustrates an overview of a base mesh data substream structure.
  • FIG. 20 depicts segmentation of a mesh into sub-meshes.
  • FIG. 21 illustrates a 2 submesh example.
  • FIG. 22 shows zoom on the encoder sub-block related to displacement image packing.
  • FIG. 24 shows displacement for two frames.
  • FIG. 25 shows a 2D example of a projection to a sphere and the corresponding packing into a one dimensional (ID) line, in accordance with an embodiment.
  • FIG. 26 illustrates mapping of an irregularly sampled set of points to a regular grid, in accordance with an embodiment.
  • FIG. 27 is an example apparatus to implement the examples described herein.
  • FIG. 28 shows a representation of an example of non-volatile memory media.
  • FIG. 29 is an example method to implement the examples described herein.
  • FIG. 30 is example method to implement the examples described herein.
  • V-DMC Videobased Dynamic Mesh Coding
  • V3C Visual Volumetric Video Coding
  • Volumetric video data represents a three-dimensional scene or object and can be used as input for AR, VR and MR applications.
  • Such data describes geometry (shape, size, position in 3D-space) and respective attributes (e.g. color, opacity, reflectance, . . .), plus any possible temporal transformations of the geometry and attributes at given time instances (like frames in 2D video).
  • Volumetric video is either generated from 3D models, e.g., CGI, or captured from real-world scenes using a variety of capture solutions, e.g. multi-camera, laser scan, combination of video and dedicated depth sensors, and more. Also, a combination of CGI and real-world data is possible.
  • Typical representation formats for such volumetric data are triangle meshes, point clouds, or voxels.
  • Temporal information about the scene can be included in the form of individual capture instances, e.g. “frames” in 2D video, or other means, e.g. position of an object as a function of time.
  • volumetric video describes a 3D scene (or object), such data can be viewed from any viewpoint. Therefore, volumetric video is an important format for AR, VR, or MR applications, especially for providing 6DOF viewing capabilities.
  • 3D data acquisition devices have enabled reconstruction of highly detailed volumetric video representations of natural scenes.
  • Infrared, lasers, time-of -flight and structured light are all examples of devices that can be used to construct 3D video data.
  • Representation of the 3D data depends on how the 3D data is used. Dense voxel arrays have been used to represent volumetric medical data. In 3D graphics, polygonal meshes are extensively used. Point clouds on the other hand are well suited for applications such as capturing real world 3D scenes where the topology is not necessarily a 2D manifold.
  • Another way to represent 3D data is coding this 3D data as a set of textures and a depth map as is the case in the multi-view plus depth framework. Closely related to the techniques used in multi-view plus depth is the use of elevation maps, and multi-level surface maps.
  • V3C MPEG visual volumetric video-based coding
  • Visual volumetric video a sequence of visual volumetric frames, when uncompressed, may be represented by a large amount of data, which can be costly in terms of storage and transmission. This has led to the need for a high coding efficiency standard for the compression of visual volumetric data.
  • V3C specification enables the encoding and decoding processes of a variety of volumetric media by using video and image coding technologies. This is achieved through first a conversion of such media from their corresponding 3D representation to multiple 2D representations, also referred to as V3C components, before coding such information.
  • V3C components may include occupancy, geometry, and attribute components.
  • the occupancy component can inform a V3C decoding and/or rendering system of which samples in the 2D components are associated with data in the final 3D representation.
  • the geometry component includes information about the precise location of 3D data in space, while attribute components can provide additional properties, e.g. texture or material information, of such 3D data. An example is shown in FIG. 1A and FIG. IB.
  • FIG. 1A shows volumetric media conversion at the encoder
  • FIG. IB shows volumetric media conversion at the decoder side.
  • the 3D media 102 is converted to a series of 2D representations: occupancy 118, geometry 120, and attribute 122. Additional atlas information 108 is also included in the bitstream to enable inverse reconstruction. Refer to ISO/IEC 23090-5.
  • a volumetric capture operation 104 generates a projection 106 from the input 3D media 102.
  • the projection 106 is a projection operation.
  • an occupancy operation 110 generates the occupancy 2D representation 118
  • a geometry operation 112 generates the geometry 2D representation 120
  • an attribute operation 114 generates the attribute 2D representation 122.
  • the additional atlas information 108 is included in the bitstream 116.
  • the atlas information 108, the occupancy 2D representation 118, the geometry 2D representation 120, and the attribute 2D representation 122 are encoded into the V3C bitstream 124 to encode a compressed version of the 3D media 102.
  • V-DMC packing signaling 129 may also be signaled in the V3C bitstream 124 or directly to a decoder.
  • the V-DMC packing signaling 129 may be used on the decoder side, as shown in FIG. IB.
  • a decoder using the V3C bitstream 124 derives 2D representations using an occupancy operation 128, a geometry operation 130 and an attribute operation 132.
  • the atlas information operation 126 provides atlas information into a bitstream 134.
  • the occupancy operation 128 derives the occupancy 2D representation 136
  • the geometry operation 130 derives the geometry 2D representation 138
  • the attribute operation 132 derives the attribute 2D representation 140.
  • the 3D reconstruction operation 142 generates a decompressed reconstruction 144 of the 3D media 102, using the atlas information 126/134, the occupancy 2D representation 136, the geometry 2D representation 138, and the attribute 2D representation 140.
  • An atlas comprises multiple elements, namely patches. Each patch identifies a region in all available 2D components and includes information necessary to perform the appropriate inverse projection of this region back to the 3D space. The shape of such regions is determined through a 2D bounding box associated with each patch as well as their coding order. The shape of these regions is also further refined after the consideration of the occupancy information.
  • Atlases are partitioned into patch packing blocks of equal size.
  • FIG. 2 shows an example of block to patch mapping.
  • the 2D bounding boxes of patches and their coding order determine the mapping between the blocks of the atlas image and the patch indices.
  • FIG. 2 shows an example of block to patch mapping with 4 projected patches (204, 204-2, 204-3, 204-4) onto an atlas 201 when asps_patch_precedence_order_flag is equal to 0.
  • Projected points are represented with dark gray.
  • the area that does not include any projected points is represented with light grey.
  • Patch packing blocks 202 are represented with dashed lines.
  • each patch packing block 202 represents the patch index of the patch (204, 204-2, 204-3, 204-4) to which it is mapped.
  • Axes orientations are specified for internal operations. For instance, the origin of the atlas coordinates is located on the top-left corner of the atlas frame.
  • an intermediate axes definition for a local 3D patch coordinate system is used. The 3D local patch coordinate system is then converted to the final target 3D coordinate system using appropriate transformation steps.
  • FIG. 3A shows an example of an atlas coordinate system
  • FIG. 3B shows an example of a local 3D patch coordinate system
  • FIG. 3C shows an example of a final target 3D coordinate system.
  • FIG. 3A shows an example of a single patch 302 packed onto an atlas image 304.
  • This patch 302 is then converted, with reference to FIG. 3B, to a local 3D patch coordinate system (U, V, D) defined by the projection plane with origin O’, tangent (U), bi-tangent (V), and normal (D) axes.
  • U 3D patch coordinate system
  • V tangent
  • V bi-tangent
  • D normal
  • the projection plane is equal to the sides of an axis-aligned 3D bounding box 306, as shown in FIG. 3B.
  • the location of the bounding box 306 in the 3D model coordinate system can be obtained by adding offsets TilePatch3dOffsetU 308, TilePatch3DOffsetV 310, and TilePatch3DOffsetD 312, as illustrated in FIG. 3C.
  • Coded V3C video components are referred to herein as video bitstreams, while an atlas component is referred to as the atlas bitstream.
  • Video bitstreams and atlas bitstreams may be further split into smaller units, referred to herein as video and atlas sub-bitstreams, respectively, and may be interleaved together, after the addition of appropriate delimiters, to construct a V3C bitstream.
  • V3C patch information is included in an atlas bitstream, atlas_sub_bitstream(), which includes a sequence of NAL units.
  • a NAL unit is specified to format data and provide header information in a manner appropriate for conveyance on a variety of communication channels or storage media. All data are included in NAL units, each of which includes an integer number of bytes.
  • a NAL unit specifies a generic format for use in both packet-oriented and bitstream systems. The format of NAL units for both packet-oriented transport and sample streams is identical except that in the sample stream format specified in Annex D of ISO/IEC 23090-5 each NAL unit can be preceded by an additional element that specifies the size of the NAL unit.
  • NAL units in an atlas bitstream can be divided into atlas coding layer (ACL) and nonatlas coding layer (non-ACL) units.
  • the former is dedicated to carry patch data, while the latter is dedicated to carry data necessary to properly parse the ACL units or any additional auxiliary data.
  • nal_unit_header() syntax nal_unit_type specifies the type of the RBSP data structure included in the NAL unit as specified in Table 4 of ISO/IEC 23090-5.
  • nal_layer_id specifies the identifier of the layer to which an ACL NAL unit belongs or the identifier of a layer to which a non-ACL NAL unit applies.
  • nal_layer_id shall be in the range of 0 to 62, inclusive.
  • the value of 63 may be specified in the future by ISO/IEC. Decoders conforming to a profile specified in Annex A of ISO/IEC 23090-5 shall ignore (e.g., remove from the bitstream and discard) all NAL units with values of nal_layer_id not equal to 0.
  • V3C introduced extensions in VPS related to MIV and the packed video component.
  • a polygon mesh is a collection of vertices, edges and faces that defines the shape of a polyhedral object in 3D computer graphics and solid modeling.
  • the faces usually comprise triangles (triangle mesh), quadrilaterals (quads), or other simple convex polygons (n-gons), since this simplifies rendering, but may also be more generally composed of concave polygons, or even polygons with holes.
  • FIG. 4 illustrates elements of a mesh.
  • Polygon meshes are defined by the following elements:
  • Vertex (402) a position in 3D space defined as (x,y,z) along with other information such as color (r,g,b), normal vector and texture coordinates.
  • Edge (404) a connection between two vertices.
  • Face (406) a closed set of edges 404, in which a triangle face has three edges, and a quad face has four edges.
  • a polygon 408 is a coplanar set of faces 406. In systems that support multisided faces, polygons and faces are equivalent. Mathematically a polygonal mesh may be considered an unstructured grid, or undirected graph, with additional properties of geometry, shape and topology.
  • Groups some mesh formats include groups, which define separate elements of the mesh, and are useful for determining separate sub-objects for skeletal animation or separate actors for non-skeletal animation.
  • Materials defined to allow different portions of the mesh to use different shaders when rendered.
  • UV coordinates most mesh formats also support some form of UV coordinates which are a separate 2D representation of the mesh "unfolded" to show what portion of a 2-dimensional texture map to apply to different polygons of the mesh. It is also possible for meshes to include other such vertex attribute information such as color, tangent vectors, weight maps to control animation, etc. (sometimes also called channels).
  • V-PCC mesh coding extension MPEG M49588
  • FIG. 5 and FIG. 6 show the extensions to the V-PCC encoder and decoder to support mesh encoding and mesh decoding, respectively, as proposed in MPEG input document [MPEG M47608].
  • the input mesh data 502 is demultiplexed with demultiplexer 504 into vertex coordinates+attributes 506 and vertex connectivity 508.
  • the vertex coordinates+attributes data 506 is coded using MPEG-I V-PCC (such as with MPEG-I VPCC encoder 510), whereas the vertex connectivity data 508 is coded (using vertex connectivity encoder 516) as auxiliary data 518. Both of these (encoded vertex coordinates and vertex attributes 517 and auxiliary data 518) are multiplexed using multiplexer 520 to create the final compressed output bitstream 522.
  • Vertex ordering 514 is carried out on the reconstructed vertex coordinates 512 at the output of MPEG-I V-PCC 510 to reorder the vertices for optimal vertex connectivity encoding 516.
  • the encoding process/apparatus 500 of FIG. 5 may be extended such that the encoding process/apparatus 500 signals packing signaling 530 (e.g. V-DMC packing signaling) within the output bitstream 522.
  • packing signaling 530 may be provided and signaled separately from the output bitstream 522.
  • the input bitstream 602 is demultiplexed with demultiplexer 604 to generate the compressed bitstreams for vertex coordinates+attributes 605 and vertex connectivity 606.
  • the input/compressed bitstream 602 may comprise or may be the output from the encoder 500, namely the output bitstream 522 of FIG. 5.
  • the vertex coordinates+attributes data 605 is decompressed using MPEG-I V-PCC decoder 608 to generate vertex attributes 612.
  • Vertex ordering 616 is carried out on the reconstructed vertex coordinates 614 at the output of MPEG-I V-PCC decoder 608 to match the vertex order at the encoder 500.
  • the vertex connectivity data 606 is also decompressed using vertex connectivity decoder 610 to generate vertex connectivity information 618, and everything (including vertex attributes 612, the output of vertex reordering 616, and vertex connectivity information 618) is multiplexed with multiplexer 620 to generate the reconstructed mesh 622.
  • the decoding process/apparatus 600 of FIG. 6 may be extended such that the decoding process/apparatus 600 receives and decodes packing signaling 630 (e.g. V-DMC packing signaling), which may be part of the compressed bitstream 602.
  • the packing signaling 630 of FIG. 6 may comprise or correspond to the packing signaling 530 of FIG. 5.
  • packing signaling 630 may be received and signaled separately from the compressed bitstream 602 or output bitstream 522 (e.g. signaled to the demultiplexer 604 separately from the compressed bitstream 602).
  • Mesh data may be compressed directly without projecting it into 2D-planes, like in V- PCC based mesh coding.
  • the anchor for V-PCC mesh compression call for proposals utilizes off-the shelf mesh compression technology, Draco (https://google.github.io/draco/), for compressing mesh data excluding textures.
  • Draco is used to compress vertex positions in 3D, connectivity data (faces) as well as UV coordinates. Additional per-vertex attributes may be also compressed using Draco.
  • the actual UV texture may be compressed using traditional video compression technologies, such as H.265 or H.264.
  • Draco uses the edgebreaker algorithm at its core to compress 3D mesh information. Draco offers a good balance between simplicity and efficiency, and is part of Khronos endorsed extensions for the glTF specification.
  • the main idea of the algorithm is to traverse mesh triangles in a deterministic way so that each new triangle is encoded next to an already encoded triangle. This enables prediction of vertex specific information from the previously encoded data by simply adding delta to the previous data.
  • Edgebreaker utilizes symbols to signal how each new triangle is connected to the previously encoded part of the mesh. Connecting triangles in such a way results on average in 1 to 2 bits per triangle when combined with existing binary encoding techniques.
  • V-DMC standardization works have started after the completion of the call for proposal (CfP) issued by MPEG 3DG (ISO/IEC SC29 WG 2) on integration of MESH compression into the V3C family of standards (ISO/IEC 23090-5).
  • CfP call for proposal
  • MPEG 3DG ISO/IEC SC29 WG 2
  • MESH compression into the V3C family of standards
  • the deformed mesh obtained by m", + d"i, e.g., 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.
  • 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.
  • the highest resolution e.g., subdivision level
  • FIG. 7 shows one subdivision step of a triangle 700 into four triangles (701, 702, 703, 704) by connecting mid points of the initial triangle edges.
  • FIG. 8 shows a multi-resolution analysis of a mesh.
  • a base mesh (left, 802) undergoes a first step of subdivision and error vectors are added to each vertex (arrows of 804), after a series of iterative subdivision and displacements, the highest resolution mesh is generated (right, 808 from 806).
  • the connectivity of the highest resolution deformed mesh 808 is generally different from the original mesh 802, however, the geometry of the deformed mesh 808 is a good approximation of the original mesh geometry.
  • the encoding process 900 can be separated into two main modules: the pre-processing module 902 and the actual encoder module 904 as illustrated on Fig. 9.
  • FIG. 9 shows that the encoder 901 is composed of a pre-processing module 902 that generates a base mesh 906 and the displacement vectors 908, given the input mesh sequence 903 and its attribute maps 905.
  • the encoder module 904 generates the compressed bitstream 910 by ingesting the inputs and outputs of the pre-processing module 902.
  • the encoder 904 provides feedback 912 to pre-processing 902.
  • the pre-processing 902 includes mainly three steps: decimation 1002 (reducing the original mesh resolution to produce a base mesh 906 and a decimated mesh 1004), uv-atlas isocharting 1006 (creating a parameterization of the base mesh and generating a parameterized decimated mesh 1008) and the subdivision surface fitting 1010 as illustrated on FIG. 10.
  • FIG. 10 shows the pre-processing steps 902 at the encoder 901.
  • the encoder is illustrated on FIG. 11 and FIG. 12 for the INTRA case (1101) and INTER case (1201) respectively. In the latter 1201, the base mesh connectivity of the first frame of a group of frames is imposed to the subsequent frame’s base meshes to improve compression performance.
  • FIG. 11 shows an intra frame encoder scheme 1100.
  • FIG. 11 shows the encoder process 1100 for INTRA frame encoding.
  • Inputs to this module are the base mesh 906 (that is an approximation of the input mesh 903 but that includes less faces and vertices), the patch information 1102 related to the input base mesh 906, the displacements 908, the static/dynamic input mesh frame 903 and the attribute map 905.
  • Outputs of this module is a compressed bitstream 910 that includes a V3C extended signaling sub-bitstream including patch data information 1102, compressed base mesh substream 1104, a compressed displacement video component substream 1106 and a compressed attribute video component sub-bitstream 1108.
  • the module 1101 takes the input base mesh 906 and first quantizes its data in the quantization module 1110, which can be dynamically tuned by a control module 1112.
  • the quantized base mesh is then encoded with the static mesh encoder module 1114, which outputs a compressed base mesh subbitstream 1104 that is muxed 1116 in the output bitstream 910.
  • the encoded base mesh is decoded in the static mesh decoder module 1118 that generates a reconstructed quantized base mesh 1120.
  • the update displacements module 1122 takes as input the reconstructed quantized base mesh 1120, the pristine base mesh 906 and the input displacements 908 to generate new updated displacements 1124 that are remapped to the reconstructed base mesh data in order to avoid precision errors due to the static mesh encoding and decoding process.
  • the updated displacements 1124 are filtered with a wavelet transform in the wavelet transform module 1126 (that also takes as input the reconstructed base mesh 1120) and then quantized in the quantization module 1128.
  • the quantized wavelet coefficients 1130 produced from the updated displacements 1124 are then packed into a video component in the image packing module 1132.
  • This video component 1133 is then encoded with a 2D video encoder such as HEVC, VVC, etc., in the video encoder module 1134, and the output compressed displacement video component sub-bitstream 1106 is muxed 1116 along with the V3C signaling information sub-bitstream 1108 into the output compressed bitstream 910. Then the compressed displacement video component is first decoded and reconstructed and then unpacked into encoded and quantized wavelet coefficients 1138 in the image unpacking module 1136. These wavelet coefficients 1138 are then unquantized in the inverse quantization module 1140 and reconstructed with the inverse wavelet transform module 1142 that generates reconstructed displacements 1144.
  • a 2D video encoder such as HEVC, VVC, etc.
  • the reconstructed base mesh 1146 is unquantized in the inverse quantization module 1148 and the unquantized base mesh 1146 is combined with the reconstructed displacements 1144 in the reconstruct deformed mesh module 1150 to obtain the reconstructed deformed mesh 1152.
  • This reconstructed deformed mesh 1152 is then fed into the attribute transfer module 1154 together with the attribute map 905 produced by the pre-processing 902 and the input static/dynamic mesh frame 903.
  • the output of the attribute transfer module is an updated attribute map 1156 that now corresponds to the reconstructed deformed mesh frame 1152.
  • the updated attribute map 1154 is then padded 1156, undergoes color conversion 1158, and is encoded as a video component with a 2D video codec such as HEVC or VVC, in the padding 1156, color conversion 1158 and video encoder 1160 modules respectively.
  • the output compressed attribute map bitstream 1108 is multiplexed 1116 into the encoder output bitstream 910.
  • FIG. 12 shows an inter frame encoder scheme 1200, similar to the intra case 1100, but with the base mesh connectivity being constrained for all frames of a group of frames.
  • a motion encoder 1202 is used to efficiently encode displacements between base meshes compared to the base mesh of the first frame of the group of frames.
  • the inter encoding process 1200 is similar to the intra encoding process with the following changes.
  • the reconstructed reference base mesh 1146 is an input of the inter coding process.
  • a new module called motion encoder 1202 takes as input the quantized input base mesh 906 and the reconstructed quantized reference base mesh 1146 to produce compressed motion information encoded as a compressed motion bitstream 1204, which is multiplexed 1206 into the encoder output compressed bitstream 910. All other modules and processes are similar to the intra encoding case (1100, 1101).
  • the compressed bitstream 910 generated by the encoder 1201 multiplexes (1206): a sub-bitstream with the encoded base mesh using a static mesh codec, a sub-bitstream 1204 with the encoded motion data using an animation codec for base meshes in case INTER coding is enabled, a sub-bitstream 1208 with the wavelet coefficients of the displacement vectors packed in an image and encoded using a video codec 1209, a sub-bitstream 1210 with the attribute map encoded using a video codec 1212, and a sub-bitstream 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.
  • the decoding process 1300 is illustrated on FIG. 13.
  • First the compressed bitstream 910 is demultiplexed with decoder 1301 into sub-bitstreams that are reconstructed, e.g., metadata 1302, reconstructed base mesh 1304, reconstructed displacements 1306 and the reconstructed attribute map data 1308.
  • the reconstruction of the mesh sequence is performed based on that data in the post-processing module 1310.
  • FIG. 13 depicts the decoder scheme 1300 composed of a decoder module 1201 that demultiplexes (demuxes) and decodes all sub-streams and a post-processing module 1310 that reconstructs the dynamic mesh sequence to generate output mesh 1312 and output attributes 1314.
  • FIG. 14 and FIG. 15 illustrate the decoding process in INTRA mode 1400 and INTER mode 1500 respectively.
  • FIG. 14 depicts the decoding process 1400 in intra mode using intra frame decoding 1401.
  • the intra frame decoding process includes the following modules and processes.
  • First the input compressed bitstream is de-multiplexed 1402 into V3C extended atlas data information (or patch information) 1403, a compressed static mesh bitstream 1405, a compressed displacement video component 1407 and a compressed attribute map bitstream 1409, respectively.
  • the static mesh decoding module 1404 converts the compressed static mesh bitstream 1405 into a reconstructed quantized static mesh 1411, which represents a base mesh.
  • This reconstructed quantized base mesh 1411 undergoes inverse quantization in the inverse quantization module 1406 to produce a decoded reconstructed base mesh 1413.
  • the compressed displacement video component bitstream 1407 is decoded in the video decoding module 1408 to generate a reconstructed displacement video component 1415.
  • This displacement video component 1415 is unpacked into reconstructed quantized wavelet coefficients in the image unpacking module 1410.
  • Reconstructed quantized wavelet coefficients are inverse quantized in the inverse quantization module 1412 and then undergo an inverse wavelet transform in the inverse wavelet transform module 1414, that produces decoded displacement vectors 1416.
  • the reconstruct deformed mesh module 1418 takes into account the patch information and takes as input the decoded reconstructed base mesh 1413 and decoded displacement vectors 1416 to produce the output decoded mesh frame 1312.
  • the compressed attribute map video component 1409 is decoded with video decoder 1420, and possibly undergoes color conversion 1422 to produce a decoded attribute map frame 1314 that corresponds to the decoded mesh frame 1312.
  • FIG. 15 depicts the decoding process 1500 in inter mode using inter frame decoding 1501.
  • the inter decoding process 1500 is similar to the intra decoding process module 1401 with the following changes.
  • the decoder also demultiplexes a compressed information bitstream 1503.
  • a decoded reference base mesh 1502 is taken as input of a motion decoder module 1504 together with the compressed motion information sub-bitstream 1503.
  • This decoded reference base mesh 1502 is selected from a buffer of previously decoded base mesh frames (by the intra decoder process 1401 for the first frame of a group of frames).
  • the reconstruction of base mesh module 1506 takes the decoded reference base mesh 1502 and the decoded motion information 1505 as input to produce a decoded reconstructed quantized base mesh 1507.
  • Base meshes are the output of the base mesh substream decoder.
  • a submesh is a set of vertices, their connectivity and the associated attributes which can be decoded completely independently in a mesh frame.
  • Each base mesh can have one or more submeshes.
  • Resampled base meshes are the output of the mesh subdivision process.
  • the inputs to the process is the base meshes(or sets of submeshes) as well the information from the atlas data substream on how to subdivide/resample the meshes(sub meshes).
  • a displacement video is the output of the displacement decoder.
  • the inputs to the process is the decoded geometry video as well the information from the atlas data substream on how to interpret/process this video.
  • the displacement video includes displacement values to be added to the corresponding vertices.
  • a facegroupld is one of the attribute types assigned to each triangle face of the resampled base meshes. Facegroupld can be compared with the ids of the subparts in a patch to determine the corresponding facegroups to the patch. When facegrould is not conveyed through the base mesh substream decoder, it is derived by the information in the atlas data substream.
  • vps_ext_mesh_data_facegroup_id_attribute_present_flag 1 indicates that one of the attribute types present in the base mesh data stream is the facegroup Id.
  • vps_ext_mesh_data_attribute_count indicates the number of total attributes in the base mesh including both the attributes signaled through the base mesh data substream and the attributes signaled in the video sub streams (using ai_attribute_count).
  • vps_ext_mesh_data_facegroup_id_attribute_present_flag 1
  • vps_ext_mesh_attribute_type data types The types of attributes that are signaled through the base mesh substream and not through the video substreams are signaled are signaled as vps_ext_mesh_attribute_type data types.
  • vps_ext_mesh_data_facegroup_id_attribute_present_flag 1
  • one of the vps_ext_mesh_attribute_type must be a facegroup_id.
  • vps_ext_mesh_data_substream_codec_id indicates the identifier of the codec used to compress the base mesh data. This codec may be identified through the profiles a component codec mapping SEI message, or through means outside this document.
  • vps_ext_attribute_frame_width[i] and vps_ext_attribute_frame_height[i] indicate the corresponding width and height of the video data corresponding to the i-th attribute among the attributes signaled in the video substreams.
  • asps_vmc_ext_prevent_geometry_video_conversion_flag prevents the outputs of the geometry video substream decoder from being converted.
  • the flag is true, the outputs are used as they are without any conversion process from Annex B of ISO/IEC 23090-5.
  • the size of geometry video shall be same as nominal video sizes indicated in the bitstream.
  • asps_vmc_ext_prevent_attribute_video_conversion_flag prevents the outputs of attribute video substream decoder from being converted.
  • the flag is true, the outputs are used as they are without any conversion process from Annex B of ISO/IEC 23090-5.
  • the size of attribute video shall be same as nominal video sizes indicated in the bitstream.
  • asps_vmc_ext_subdivision_method and asps_vmc_ext_subdivision_iteration_count signal information about the subdivision method.
  • asps_vmc_ext_transform_index indicates the transform applied to the displacement.
  • the transform index can indicate any transform is not applied.
  • the necessary parameters are signaled as vmc_lifting_transform_parameters.
  • asps_vmc_ext_patch_mapping_method indicates how to map a subpart of a submesh to a patch.
  • asps_vmc_ext_patch_mapping_method is equal to 0
  • all the triangles in the corresponding submesh are associated with the current patch. In this case, there is only one patch associated with the submesh.
  • asps_vmc_ext_patch_mapping_method is equal to 1, the subpart_ids are explicitly signaled in the mesh patch data unit to indicate the associated subparts.
  • the triangle faces in the corresponding submesh are divided into subparts by the method indicated by asps_vmc_ext_patch_mapping_method.
  • asps_vmc_ext_tjunction_removing_method indicates the method to remove t- junctions created by different subdivision methods or by different subdivision iterations of two triangles sharing an edge.
  • asps_vmc_ext_num_attribute indicates the total number of attributes that the corresponding mesh carries. Its value shall be less or equal to vps_ext_mesh_data_attribute_count.
  • asps_vmc_ext_attribute_type is the type of the i-th attribute, and it shall be one of ai_attribute_type_ids or vps_ext_mesh_attribute_types.
  • asps_vmc_ext_direct_atrribute_projection_enabled_flag indicates that the 2d locations where attributes are projected are explicitly signaled in the mesh patch data units. Therefore, the projection id and orientation index in V3C V-PCC ISO/IEC 23090-5:2021 can be also used as in ISO/IEC 23090-5:2021.
  • the asps_vmc_extension() may be as follows:
  • vmc_lifting_transform_parameters syntax element may be as follows:
  • afps_vmc_ext_single_submesh_in_frame_flag indicates there is only one submesh for the mesh frame
  • afps_vmc_ext_single_attribute_tile_in_frame_flag indicates there is only one tile for each attribute signaled in the video streams.
  • afps_vmc_extension syntax element may be as follows: [0184] afps_ext_vmc_attribute_tile_information() includes the tile information for the attributes signaled through the video substreams.
  • a tile can be associated with one or more submeshes whose id is ath_submesh_id.
  • Mesh patch data units are signaled in the Atlas data substream.
  • Mesh Intra patch data unit, Mesh Inter patch data unit, Mesh Merge patch data unit, and Mesh Skip patch data unit can be used.
  • the patch_information_data syntax element may be as follows:
  • mdu_submesh_id indicate which submesh the patch is associated with among those indicated in the atlas tile header.
  • mdu_vertex_count_minusl and mdu_triangle_count_minusl indicate the number of vertices and triangles associated with the current patch.
  • the mesh_inter_data_unit syntax element may be as follows:
  • the mesh_merge_data_unit may be as follows:
  • the mesh_skip_data_unit syntax element may be as follows:
  • the mesh_raw_data_unit syntax element may be as follows:
  • the signaling of the base mesh substream is also under investigation and may be as shown in FIG. 16 (output bitstream 1602), FIG. 17 (base-mesh bitstream 1702), and FIG. 18 (input base-mesh bitstream 1802).
  • One of the main features of the current V-DMC specification design is the support for a base mesh signal that can be encoded using any currently or future specified static mesh codec. For example, such information could be coded using Draco 3D Graphics Compression. This representation could provide the basis for applying other decoded information to reconstruct the output mesh frame within the context of V-DMC.
  • FIG. 19 is an overview of a base mesh data substream structure 1900.
  • One of the desirable features of this design is the ability to segment a mesh into multiple smaller partitions, referred to in this document as submeshes (FIG.
  • FIG. 20 shows segmentation of a mesh 2002 into sub-meshes (2004 and 2006). These submeshes (2004, 2006) can be decoded completely independently, which can help with partial decoding and spatial random access. Although it may not be a requirement for all applications, some applications may require that the segmentation in submeshes remains consistent and fixed in time.
  • the submeshes do not need to use the same coding type, e.g., for one frame one submesh may use intra coding while for another inter coding could be used at the same decoding instance, but it is commonly a requirement that the same coding order is used and the same references are available for all submeshes corresponding at a particular time instance. Such restrictions can help guarantee proper random access capabilities for the entire stream.
  • An example where two submeshes are used is shown in FIG. 21.
  • FIG. 21 shows picture order count 0 having submesh 2102 and submesh 2104, picture order count 1 having submesh 2112 and submesh 2114, and picture order count 2 having submesh 2120 and submesh 2122. Shown also is base mesh frame parameter set 2130 and base mesh sequence parameter set 2140.
  • the new bitstream is also based on NAL units, and it is similar to those of the atlas substream in V3C.
  • the syntax is provided below.
  • the bmesh_nal_unit_header syntax element may be as follows:
  • the bmesh_nal_unit_header syntax element may be as follows:
  • NumBytesInNalUnit specifies the size of the NAL unit in bytes. This value is required for decoding of the NAL unit. Some form of demarcation of NAL unit boundaries is necessary to enable inference of NumBytesInNalUnit. One such demarcation method is specified in Annex TBD for the sample stream format. Other methods of demarcation can be specified outside this document.
  • the mesh coding layer is specified to efficiently represent the content of the mesh data.
  • the NAL is specified to format that data and provide header information in a manner appropriate for conveyance on a variety of communication channels or storage media. All data are included in NAL units, each of which includes an integer number of bytes.
  • a NAL unit specifies a generic format for use in both packet-oriented and bitstream systems.
  • the format of NAL units for both packet-oriented transport and sample streams is identical except that in the sample stream format specified in Annex TBD each NAL unit can be preceded by an additional element that specifies the size of the NAL unit.
  • rbsp_byte[ i ] is the i-th byte of an RBSP.
  • An RBSP is specified as an ordered sequence of bytes as follows:
  • the RBSP includes a string of data bits (SODB) as follows: when the SODB is empty (e.g., zero bits in length), the RBSP is also empty; Otherwise, the RBSP includes the SODB as follows:
  • the first byte of the RBSP includes the first (most significant, left-most) eight bits of the SODB; the next byte of the RBSP includes the next eight bits of the SODB, etc., until fewer than eight bits of the SODB remain.
  • the rbsp_trailing_bits( ) syntax structure is present after the SODB as follows: i)The first (most significant, left-most) bits of the final RBSP byte include the remaining bits of the SODB (if any); ii)The next bit comprises a single bit equal to 1 (e.g., rbsp_stop_one_bit); iii)When the rbsp_stop_one_bit is not the last bit of a byte-aligned byte, one or more bits equal to 0 (e.g. instances of rbsp_alignment_zero_bit) are present to result in byte alignment.
  • the decoder can extract the SODB from the RBSP by concatenating the bits of the bytes of the RBSP and discarding the rbsp_stop_one_bit, which is the last (least significant, right-most) bit equal to 1, and discarding any following (less significant, farther to the right) bits that follow it, which are equal to 0.
  • the data necessary for the decoding process is included in the SODB part of the RBSP.
  • NAL unit types as for the atlas case, were defined for the base mesh enabling similar functionalities for random access and segmentation of the mesh. Unlike the atlas that is split into tiles, in this document we define the concept of a sub-mesh and define specific nal units that correspond to coded mesh data. In addition, NAL units that can include metadata such as SEI messages are also defined.
  • base mesh NAL unit types supported are specified as follows:
  • the primary syntax structure that is defined for a base mesh bitstream is a sequence parameter set.
  • This syntax structure includes basic information about the bitstream, identifying features for the codecs supported for either the intra coded and inter coded meshes, as well as information about references
  • bmsps_log2_max_mesh_frame_order_cnt_lsb_minus4, bmsps_max_dec_mesh_fram e_buffering_minus 1 , bmsps_long_term_ref_mesh_frames_flag, bmsps_num_ref_mesh_frame_list s_in_bmsps, bmesh_ref_list_struct( i ) are equivalent to those in ASPS.
  • bmsps_intra_mesh_codec_id indicates the static mesh codec used to encode the base meshes in this base mesh substream. It could be associated with a specific mesh or motion mesh codec through the profiles specified in the corresponding specification, or could be explicitly indicated with an SEI message as is done in the V3C specification for the video sub-bitstreams.
  • bmsps_intra_mesh_data_size_precision_bytes_minusl (+1) specifies the precision, in bytes, of the size of the coded mesh data.
  • bmsps_inter_mesh_codec_present_flag indicates when a specific codec indicated by bmsps_inter_mesh_codec_id is used to encode the inter predicted submeshes
  • bmsps_inter_mesh_data_size_precision_bytes_minusl(+ 1) specifies the precision, in bytes, of the size of the inter predicted mesh data. This precision is signaled considering the size of the coded mesh data and the inter predicted mesh data(e.g. motion field) can be significantly different.
  • bmsps_facegroup_segmentation_method indicates how facegroups could be derived for a mesh.
  • a facegroup is a set of triangle faces in a submesh. Each triangle face is associated with a Facegroupld indicating the facegroup it belongs to.
  • Facegroupld is present directly in the coded submesh.
  • Other values indicate that the facegroup can be derived using different methodologies based on the characteristics of the stream. For example, value 1 means that there is no Facegroupld associated with any face.
  • a value 2 means that all faces are identified with a single ID, a 3 that facegroups are identified based on the connected component method, while a value of 4 indicates that each individual face has its own unique ID.
  • ue(v) is used to indicate bmsps_facegroup_segmentation_method, but fixed length coding or partitioning to more elements could have been used instead.
  • bmptl_extended_sub_profile_flag providing support for sub profiles can be quite useful for further restricting the base mesh profiles depending on usage and applications.
  • the base mesh frame parameter set has the frame level information such as number of submeshes in the frames corresponding to one mfh_mesh_frm_order_cnt_lsb.
  • a submesh is coded in one mesh_data_submesh_layer() and is independently decodable from other submeshes.
  • a submesh can refer only to the submeshes with the same smh_id in its associated reference frames. The mechanism is equivalent to what is specified in 8.3.6.2.2 in V3C.
  • the bmesh_sub_mesh_information syntax element may be as follows: bmesh sub mesh information( ) ⁇ Descriptor
  • a bmesh_submesh_layer includes a submesh information.
  • One or more bmesh_submesh_layer_rbsp can correspond to one mesh frame indicated by mfh_mesh_frm_order_cnt_l sb .
  • smh_id is the id of the current submesh included in the mesh data submesh data.
  • smh_type indicates how the mesh is coded.
  • smhjype is I_SUBMESH
  • the mesh data is coded with the indicated static mesh codec.
  • smh_type is P_SUBMESH, inter prediction is used to code the mesh data.
  • smdu_intra_sub_mesh_unit( unitSize ) includes a sub mesh unit stream of size unitSize, in bytes, as an ordered stream of bytes or bits within which the locations of unit boundaries are identifiable from patterns in the data.
  • the format of such sub mesh unit stream is identified by a 4CC code as defined by bmptl_profile_codec_group_idc or by a component codec mapping SEI message.
  • smdu_inter_sub_mesh_unit( unitSize ) includes a sub mesh unit stream of size unitSize, in bytes, as an ordered stream of bytes or bits within which the locations of unit boundaries are identifiable from patterns in the data.
  • the format of such sub mesh unit stream is identified by a 4CC code as defined by bmptl_profile_codec_group_idc or by a component codec mapping SEI message.
  • the current basis for the V-DMC test model uses a subdivision method to interpolate the base mesh connectivity and obtain displacement vectors.
  • displacement vectors can be filtered by a wavelet transform to compress displacement vectors. These vectors are necessary to reconstruct a deformed mesh that provides higher fidelity than the reconstructed base mesh. Following a mesh spatial scalability philosophy, several scales or levels of details (LODs) are defined based on iterative “mid-point” subdivision, and displacements are computed for each vertex of the mesh at each scale. “Mid-point” subdivisionbased interpolation combined with the “linear” wavelet filter leads to relatively small and sparse displacement vectors at the third scale, and depending on the mesh content, also at the second scale.
  • LODs level of details
  • FIG. 22 shows zoom on the encoder sub-block related to displacement image packing. Being packed into a single frame by using simple packing (e.g., Morton order), pixels corresponding to displacement vectors are not well correlated as the pixel context or neighborhhod does not match with the vertex neighborhood on the base mesh or subdivided mesh.
  • Tools from video encoder cannot be used effectively for such kind of “video” frames. In other words, the video encoder could be seen as being used in the current V-DMC test model only as an external arithmetic coding engine. No tool from the video encoder (except SKIP blocks) is useful for encoding such data.
  • FIG. 24 shows displacement for two frames 2402 and 2404.
  • the position within the NxM pixel block is computed by using a Morton order to maximize locality.
  • packing schemes could be used (e.g., zigzag order, raster order).
  • the encoder could explicitly signal in the bitstream the used packing scheme (e.g., atlas sequence parameters). This could be done at patch, patch group, tile, or sequence level.
  • Displacement Video Encoding [0264] The proposed scheme is agnostic of which video coding technology is used. When coding the displacement wavelet coefficients, a lossless approach may be used since the quantization is applied in a separate module. Another approach is to rely on the video encoder to compress the coefficients in a lossy manner and apply a quantization either in the original or transform domain.
  • Various embodiments disclose a method of adaptive packing for displacement vectors, based on the projection of displacement vector positions to some predefined geometrical surface, suitable for good correlation.
  • An example embodiment suggests packing displacement values into a 2D frame, using a more natural (e.g., geometrical) scanning order, which improves data locality. This may be done, for example, by: using the projection of subdivision points to some geometrical primitive, for example, a predefined geometrical primitive; packing of values into a 2D box of predefined size (in an example, this size depends on the amount of initial subdivision vectors, but could be set arbitrarily smaller); and in the case of multiple points mapping to the same pixel, some of the corresponding displacement vectors may be merged together or omitted.
  • a more natural (e.g., geometrical) scanning order which improves data locality. This may be done, for example, by: using the projection of subdivision points to some geometrical primitive, for example, a predefined geometrical primitive; packing of values into a 2D box of predefined size (in an example, this size depends on the amount of initial subdivision vectors, but could be set arbitrarily smaller); and in the case of multiple points mapping to the same pixel, some of
  • Some embodiments enable standard video coding tools in displacement video encoding for significant reductions in required bitrate for dynamic mesh compression, while keeping the reconstruction quality at a very high level.
  • V arious embodiments are described herein that cover the following: the encoding process of displacement vectors in various packing modes and define a correspondence between subdivided mesh vertices and displacement video pixels that the decoder can identify so that it may map displacement video pixels positions to the subdivided mesh vertex indices.
  • Values being coded in the displacement video are the displacement values with or without wavelet filtering, the signalling for enabling various displacement packing modes, the signalling of parameters for particular packing modes.
  • the subdivision process generates positions where displacement between the base mesh and the original surface may be computed.
  • the encoding may be performed with or without wavelet transform.
  • each LOD may be packed separately as a dedicated video stream.
  • each layer may be projected and encoded individually.
  • the 2D positions of displacement coefficients inside the packed frame are calculated by using a projection to some predefined geometry (like a sphere, cylinder, ellipsoid, cube, and the like) surrounding the encoded mesh, possibly reducing the number of displacement values by eliminating unused points into the packed frame of a predefined size.
  • some predefined geometry like a sphere, cylinder, ellipsoid, cube, and the like
  • This projection geometry or surface is needed to group displacement values properly into a regular grid that may be efficiently encoded by a video codec. All displacements are already pre-calculated in the V-DMC encoder. The positions of the corresponding vertices in 3D are known in the encoder and decoder for the base mesh and the subdivided mesh predictions because it is a result of the subdivision process operating on the reconstructed decoded base mesh (e.g., close loop). The density (e.g., the resolution) of the resulting packed displacement image plane may be varied as an extended V-DMC encoding optimization process to support smoother encoding of neighboring displacement values.
  • the central axis of the input mesh may, for example, be used to define the mapping of projected vertices into a 2D frame.
  • Position, rotation angle and scale (size) of predefined geometry can optionally be signalled to improve compression performance and guarantee, that displacements positions are not overlapping. Alternatively, overlapping may be handled by a simple placement rule, which is the same in encoder and decoder.
  • FIG. 25 shows a 2D example of a projection to a sphere (here illustrated with a circle) and the corresponding packing into a one dimensional (ID) line, corresponding to a row or column of a displacement picture, in accordance with an embodiment.
  • FIG. 25 demonstrates an example of the packing process for a 2D case. The packing process is similar for a 3D case.
  • a subdivided mesh 2502 includes displacement values at each vertex. These values may be projected 2504 to a geometrical primitive, which provides a possibility to store each vertex with or without overlapping and according to its position in geometrical space.
  • displacement values 2506 into the displacement picture (e.g., a ID line 2508), which is encoded by the video encoder.
  • the ID line 2508 corresponds to a slice of an object.
  • FIG. 26 illustrates mapping of an irregularly sampled set of points to a regular grid, in accordance with an embodiment.
  • a FacelD face index
  • vertex index vertex index
  • FIG. 26 when a vertex belongs to several faces with different FacelDS or face indices, a smallest index is preferred.
  • the pixel grid 2608 corresponds to a row or column of a displacement picture.
  • a geodesic distance between vertices may be used as ordering parameter when there is an ambiguity on which vertex a pixel may be mapped first at a decoder side or on which pixel a vertex may be mapped first at an encoder side.
  • the base-mesh may be used as the pre-defined geometry with some filtering.
  • the base mesh may be smoothed (low-pass filtering, for example, a mesh Laplacian smoothing filter) and uniformly scaled from the center of gravity.
  • the base mesh itself is already a good prediction of the coded surface, and it is possible to project all displacement values to the smoothed and scaled base-mesh.
  • the mapping to a plane can be performed by segmenting the base mesh faces to a V3C atlas by clustering faces based on their normal direction and alignment with a V3C projection plane.
  • the smoothing and scale factor ease the segmentation of the base mesh in large regular patches compared to the original base mesh, which may be more difficult to segment in large patches based on the normal directions.
  • the segmentation may be signalled with V3C patches and patch data units.
  • a simple spiral scanning of displacement values from topmost (e.g., based on the base mesh central axis) displacement position to bottom displacement position may be used to order pixels on the pixel grid after projection on the 2D plane.
  • the number of spiral rounds may be selected according to the desired resolution of the displacement frame. For example, 2D coordinates of displacement values are formed as an index of the neighbor in the current spiral round (X) and number of spiral rounds (Y).
  • the edge-breaker base mesh traversal when present in the base mesh substream, may be used to map displacements to order the vertices in the regular grid.
  • a set of concentric layers of the encoded mesh shape may be calculated by their distance to a central axis or to a skeleton, that may be signalled in the atlas frame parameter set and used for mapping and packing displacement to a 2D frame.
  • the spiral approach described before may be used to order vertices inside a layer.
  • Another option is to use the geodesic distance between vertices to the closest extremity of the mesh and group connected vertices with a similar geodesic distance to map and pack the corresponding displacements on 2D frame layer or tile.
  • the 3D position of the vertices may be used to pack the displacements corresponding to the vertices into a 2D frame, e.g., by ordering two of the 3D coordinates X,Y,Z of the vertices along the U,V coordinates of the 2D frame, the selected coordinates and mapping to UV may be flagged per layer along the bitstream.
  • the input mesh is partitioned into submeshes that map to a single geometric primitive, where the partitioning and choice of geometric primitive is an encoder choice or optimization that may optimally be made consistent over a group of frames.
  • the partitioning may, for example, be signalled as face clusters and patches, and the geometric primitive parameters may be signalled in the patch data unit.
  • the displacement image may be encoded as a V3C atlas. Each patch is packed into the atlas and its coordinates are encoded in their patch data unit.
  • the attribute displacement video component may therefore be signalled similarly to V3C geometry components without the need of an occupancy video component.
  • the decoder requires to extract the signalled metadata and to assign displacement pixel positions to vertex indices in order to apply the decoded displacements to the subdivided mesh and produce the output reconstructed displaced mesh.
  • the starting position, rotation angle and size (scaling factor) of the predefined geometry can optionally be specified.
  • the signalling of the displacement packing information may be performed by all or a sub-set of the syntax elements described below:
  • asps_vmc_ext_displacement_packing_mode indicates the packing mode according the following table:
  • asps_vmc_ext_displacement_projection_primitive indicates the projection primitive according to the following table:
  • asps_vmc_ext_displacement_projection_delta_x indicates the position X of projection primitive as deltaX to central point of base-mesh.
  • asps_vmc_ext_displacement_projection_delta_y indicates the position Y of projection primitive as deltaY to central point of base-mesh.
  • asps_vmc_ext_displacement_projection_delta_z indicates the position Z of projection primitive as deltaZ to central point of base-mesh.
  • asps_vmc_ext_displacement_projection_rotation_angle indicates the rotation angle of projection primitive (to central axis).
  • asps_vmc_ext_displacement_projection_scale indicates the scale factor of projection primitive, divided by 16 (to describe the density).
  • asps_vmc_ext_displacement_projection_frame_update_enabled_flag indicates that the displacement projection semantics may be updated in the atlas frame parameter set.
  • the same semantics may be signalled to the atlas frame parameter set (afps) when the information changes at a given frame.
  • FIG. 27 is an apparatus 2700 which may be implemented in hardware, configured to implement adaptive displacement packing for dynamic mesh coding, based on any of the examples described herein.
  • the apparatus comprises a processor 2702, at least one memory 2704 (memory 2704 may be non-transitory, transitory, non-volatile, or volatile) including computer program code 2705, wherein the at least one memory 1404 and the computer program code 2705 are configured to, with the at least one processor 2702, cause the apparatus to implement circuitry, a process, component, module, function, coding, and/or decoding (collectively 2706) to implement adaptive displacement packing for dynamic mesh coding, based on the examples described herein.
  • the apparatus 2700 is further configured to provide or receive signaling 2707, based on the signaling embodiments described herein.
  • the apparatus 2700 optionally includes a display and/or I/O interface 2708 that may be used to display an output (e.g., an image or volumetric video) of a result of coding/decoding 2706.
  • the display and/or I/O interface 2708 may also be configured to receive input such as user input (e.g. with a keypad, touchscreen, touch area, microphone, biometric recognition, one or more sensors etc.).
  • the apparatus 2700 also includes one or more communication interfaces (I/F(s)) 2710, such as a network (N/W) interface.
  • I/F(s) such as a network (N/W) interface.
  • the communication I/F(s) 2710 may be wired and/or wireless and communicate over a channel or the Internet/other network(s) via any communication technique.
  • the communication I/F(s) 2710 may comprise one or more transmitters and one or more receivers.
  • the communication I/F(s) 2710 may comprise standard well-known components such as an amplifier, filter, frequency-converter, (de)modulator, and encoder/decoder circuitry(ies) and one or more antennas.
  • the processor 2702 is configured to implement item 2706 and/or item T1Q7 without use of memory 2704.
  • the apparatus 2700 may be a remote, virtual or cloud apparatus.
  • the apparatus 2700 may be either a writer or a reader (e.g. parser), or both a writer and a reader (e.g. parser).
  • the apparatus 2700 may be either a coder or a decoder, or both a coder and a decoder (codec).
  • the apparatus 2700 may be a user equipment (UE), a head mounted display (HMD), or any other fixed or mobile device.
  • UE user equipment
  • HMD head mounted display
  • the memory 2704 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 2704 may comprise a database for storing data.
  • Interface 2712 enables data communication between the various items of apparatus 2700, as shown in FIG. 27.
  • Interface 2712 may be one or more buses.
  • the interface 2712 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 2705 may comprise object-oriented software.
  • the apparatus 2700 need not comprise each of the features mentioned, or may comprise other features as well.
  • the apparatus 2700 may be an embodiment of and have the features of any of the apparatuses shown in FIG. 1A, FIG. IB, FIG. 5, FIG. 6, FIG. 11, FIG. 14, FIG. 23, FIG. 24, or any of the other figures described and shown herein
  • FIG. 28 shows a schematic representation of non-volatile memory media 2800a (e.g. computer/compact disc (CD) or digital versatile disc (DVD)) and 2800b (e.g. universal serial bus (USB) memory stick) storing instructions and/or parameters 2802 which when executed by a processor allows the processor to perform one or more of the steps of the methods described herein.
  • non-volatile memory media 2800a e.g. computer/compact disc (CD) or digital versatile disc (DVD)
  • 2800b e.g. universal serial bus (USB) memory stick
  • FIG. 29 is a method 2900 to implement the examples described herein.
  • the method 2900 may be performed with an encoder apparatus (e.g., 1101, 1201, 2301, 2700).
  • the method 2900 includes using projection of subdivision points to a geometrical surface.
  • the method 2900 includes packaging values of the subdivision points into a two dimensional (2D) box.
  • the method 2900 includes merging or omitting some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • the method 2900 may further include calculating 2D positions of displacement coefficients inside a packed frame by using a projection to the geometrical surface surrounding an encoded mesh; reducing a number of displacement values by eliminating unused points into the packed frame of a predefined size
  • FIG. 30 is a method 3000 to implement the examples described herein.
  • the method 3000 may be performed with a decoder apparatus (e.g., 1401, 1501, 2401, 2700).
  • the method includes receiving a bitstream comprising metadata.
  • the method includes extracting the metadata.
  • the method includes using the extracted metadata to assign displacement pixel positions to vertex indices in order to apply decoded displacements to a mesh comprising subdivisional points.
  • the method includes generating an output reconstructed displaced mesh based at least on the assignment.
  • the method 3000 may further include merging or omitting some displacement vectors corresponding to the multiple subdivision points when it is determined that multiple subdivision point map on to the same pixel.
  • Some of the non-limiting benefits include, reduced bitrate requirements, improved quality of reconstructed mesh, and possibility to effectively use of video codecs for geometry compression.
  • 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 (Von Neumann)/parallel architectures but also specialized circuits such as field- programmable gate arrays (FPGA), application specific circuits (ASIC), 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, and the like.
  • circuitry may refer to any of the following: (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 memory(ies) 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.
  • 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.
  • 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 may also be used to mean a function or a process, such as one implemented by an encoder or decoder, or a codec.
  • BMFPS base mesh frame parameter set bmptl base mesh profile, tier, and level
  • MD mesh data mdu mesh intra patch data unit mfoc mesh_frame_order_count midu mesh inter data unit miv and variants MPEG immersive video mmdu mesh merge data unit mpdu mesh patch data unit
  • SEI supplemental enhancement information se(v) signed integer O-th order Exp-Golomb coding with left bit first (e.g., most significant bit first)) smdu submesh data unit smh and variants submesh
  • UE user equipment ue(v) unsigned integer exponential Golomb coded syntax element with the left bit first
  • USB universal serial bus uv and variants coordinate texture where “U” and “V” are axes of a 2D texture

Landscapes

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

Abstract

Un appareil donné à titre d'exemple comprend : au moins un processeur ; et au moins une mémoire stockant des instructions qui, lorsqu'elles sont exécutées par le ou les processeurs, amènent l'appareil au moins à : utiliser une projection de points de subdivision sur une surface géométrique ; conditionner des valeurs des points de subdivision en une boîte bidimensionnelle (2D) ; déterminer si de multiples points de subdivision correspondent au même pixel ; et fusionner ou omettre certains vecteurs de déplacement correspondant aux multiples points de subdivision lorsqu'il est déterminé que de multiples points de subdivision correspondent au même pixel.
PCT/IB2023/060065 2022-10-17 2023-10-06 Conditionnement de déplacement adaptatif pour codage maillé dynamique WO2024084326A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263379790P 2022-10-17 2022-10-17
US63/379,790 2022-10-17

Publications (1)

Publication Number Publication Date
WO2024084326A1 true WO2024084326A1 (fr) 2024-04-25

Family

ID=88412279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2023/060065 WO2024084326A1 (fr) 2022-10-17 2023-10-06 Conditionnement de déplacement adaptatif pour codage maillé dynamique

Country Status (1)

Country Link
WO (1) WO2024084326A1 (fr)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KHALED MAMMOU (APPLE) ET AL: "[V-CG] Apple's Dynamic Mesh Coding CfP Response", no. m59281, 29 April 2022 (2022-04-29), XP030301431, Retrieved from the Internet <URL:https://dms.mpeg.expert/doc_end_user/documents/138_OnLine/wg11/m59281-v4-m59281-v4.zip WG07_Apple_Response_DynamicMesh_CFP_final_dscriptors.docx> [retrieved on 20220429] *

Similar Documents

Publication Publication Date Title
US12101457B2 (en) Apparatus, a method and a computer program for volumetric video
US11711535B2 (en) Video-based point cloud compression model to world signaling information
US20230298217A1 (en) Hierarchical V3C Patch Remeshing For Dynamic Mesh Coding
WO2021260266A1 (fr) Procédé, appareil et produit-programme informatique pour codage vidéo volumétrique
US12003769B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4373096A1 (fr) Dispositif et procédé de transmission de données de nuage de points, et dispositif et procédé de réception de données en nuage de points
EP4399877A1 (fr) Appareil, procédé et programme informatique destinés à une vidéo volumétrique
EP4228267A1 (fr) Dispositif de transmission de données de nuage de points, procédé de transmission de données de nuage de points, dispositif de réception de données de nuage de points et procédé de réception de données de nuage de points
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20230306646A1 (en) Adaptive Filtering of Occupancy Map for Dynamic Mesh Compression
WO2023144445A1 (fr) Procédé, appareil et produit-programme informatique de codage et de décodage vidéo
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2024084326A1 (fr) Conditionnement de déplacement adaptatif pour codage maillé dynamique
US20230326138A1 (en) Compression of Mesh Geometry Based on 3D Patch Contours
WO2024079653A1 (fr) Conditionnement de déplacements guidé par paramétrage pour codage maillé dynamique
EP4443880A1 (fr) Procédé, appareil et produit de programme informatique pour coder et décoder un contenu multimédia volumétrique
US12120306B2 (en) V3C patch remeshing for dynamic mesh coding
WO2024003683A1 (fr) Procédé, appareil et produit programme d&#39;ordinateur pour signaler des sommets de limite
WO2023001623A1 (fr) Signalisation de connectivité de pièces v3c pour compression de maillage
US20230298218A1 (en) V3C or Other Video-Based Coding Patch Correction Vector Determination, Signaling, and Usage
EP4432656A1 (fr) Dispositif de transmission de données de nuage de points, procédé de transmission de données de nuage de points, dispositif de réception de données de nuage de points, et procédé de réception de données de nuage de points
US20240331206A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4412208A1 (fr) Procédé d&#39;émission de données de nuage de points, dispositif d&#39;émission de données de nuage de points, procédé de réception de données de nuage de points et dispositif de réception de données de nuage de points
WO2024209129A1 (fr) Procédé, appareil et produit-programme informatique de codage et de décodage vidéo
US20240323433A1 (en) Point cloud data transmission device and method, and point cloud data reception device and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23789768

Country of ref document: EP

Kind code of ref document: A1