WO2024255475A1 - Procédés de codage et de décodage, flux binaire, codeur, décodeur et support d'enregistrement - Google Patents

Procédés de codage et de décodage, flux binaire, codeur, décodeur et support d'enregistrement Download PDF

Info

Publication number
WO2024255475A1
WO2024255475A1 PCT/CN2024/090846 CN2024090846W WO2024255475A1 WO 2024255475 A1 WO2024255475 A1 WO 2024255475A1 CN 2024090846 W CN2024090846 W CN 2024090846W WO 2024255475 A1 WO2024255475 A1 WO 2024255475A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
current
level
current level
reconstructed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2024/090846
Other languages
English (en)
Inventor
Vladyslav ZAKHARCHENKO
Yue Yu
Haoping Yu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202480027914.9A priority Critical patent/CN121079962A/zh
Publication of WO2024255475A1 publication Critical patent/WO2024255475A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the disclosure relates to the technical field of video coding and decoding, and in particular to coding and decoding methods, a bitstream, an encoder, a decoder and a storage medium.
  • DMC Dynamic Mesh Coding
  • MPEG Moving Picture Experts Group
  • the disclosure provides coding and decoding methods, a bitstream, an encoder, a decoder and a storage medium, which may reduce coded bits of displacement coefficients and further improve coding and decoding efficiency.
  • embodiments of the disclosure provide a decoding method applied to a decoder.
  • the method includes the following operations.
  • a bitstream is decoded to determine a value of a first syntax element.
  • the first syntax element indicates that a recursive subdivision mode is applied to a current mesh
  • a reconstructed mesh of a current level in the current mesh is determined, and the reconstructed mesh of the current level is subdivided to determine a subdivided mesh of the current level.
  • Displacement coefficients of the current level are determined by decoding the bitstream.
  • a reconstructed mesh of a next level in the current mesh is determined.
  • the embodiments of the disclosure provide an encoding method applied to an encoder.
  • the method includes the following operations.
  • a reconstructed mesh of a current level in the current mesh is determined, the reconstructed mesh is subdivided, and a subdivided mesh of the current level is determined.
  • Displacement coefficients of the current level are determined.
  • a reconstructed mesh of a next level in the current mesh is determined.
  • the embodiments of the disclosure provide a bitstream.
  • the bitstream is generated by encoding according to information to be encoded.
  • the information to be encoded includes at least one of: a base mesh of a current mesh, displacement coefficients of at least one level in the current mesh, a quantization parameter of at least one level in the current mesh, a quantization parameter increment of at least one level in the current mesh, a value of a first syntax element, a value of a second syntax element or a value of a third syntax element.
  • the value of the first syntax element indicates whether a recursive subdivision mode is applied to the current mesh
  • the value of the second syntax element indicates a number of subdivision iterations for the current mesh
  • the value of the third syntax element indicates a preset packing mode
  • the embodiments of the disclosure provide an encoder.
  • the encoder includes a first subdivision unit, a first determination unit and a first reconstruction unit.
  • the first subdivision unit is configured to determine, when a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh, subdivide the reconstructed mesh, and determine a subdivided mesh of the current level.
  • the first determination unit configured to determine displacement coefficients of the current level.
  • the first reconstruction unit is configured to determine a reconstructed mesh of a next level in the current mesh according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the embodiments of the disclosure provide an encoder.
  • the encoder includes a first processor and a first memory for storing a computer program executable by the first processor.
  • the first processor when executing the computer program, implements the method according to the second aspect.
  • the embodiments of the disclosure provide a decoder.
  • the decoder includes a decoding unit, a second subdivision unit and a second reconstruction unit.
  • the decoding unit is configured to decode a bitstream to determine a value of a first syntax element.
  • the second subdivision unit is configured to determine, when the first syntax element indicates that a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh, subdivide the reconstructed mesh, and determine a subdivided mesh of the current level.
  • the decoding unit is further configured to decode the bitstream to determine displacement coefficients of the current level.
  • the second reconstruction unit is configured to determine a reconstructed mesh of a next level in the current mesh according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the embodiments of the disclosure provide a decoder.
  • the decoder includes a second processor and a second memory for storing a computer program executable by the second processor.
  • the second processor when executing the computer program, implements the method according to the first aspect.
  • the embodiments of the disclosure provide a computer-readable storage medium having stored thereon a computer program.
  • the computer program when executed by at least one processor, implements the method as described in the first aspect or the method as described in the second aspect.
  • the embodiments of the disclosure provide a computer program product including a computer program or instructions.
  • the computer program or instructions when executed by at least one processor, implement the method as described in the first aspect or the method as described in the second aspect.
  • the embodiments of the disclosure provide coding and decoding methods, a bitstream, an encoder, a decoder and a storage medium.
  • a recursive subdivision mode is applied to a current mesh
  • a reconstructed mesh of a current level in the current mesh is determined, and the reconstructed mesh of the current level is subdivided to determine a subdivided mesh of the current level; displacement coefficients of the current level are determined; and a reconstructed mesh of a next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • a bitstream is decoded to determine a value of a first syntax element; when the first syntax element indicates that a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh is determined, and the reconstructed mesh of the current level is subdivided to determine a subdivided mesh of the current level; displacement coefficients of the current level are determined by decoding the bitstream; and a reconstructed mesh of a next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the displacements are applied recursively to the previously reconstructed level of details (LoD) when determining that recursive subdivision is applied to the current mesh, thereby removing redundant displacements at a higher level, reducing coded bits for the displacement coefficients, and further improving the coding and decoding efficiency.
  • LoD level of details
  • FIG. 1 is a schematic process diagram of geometry coding.
  • FIG. 2 is a schematic diagram of displacement component generation process.
  • FIG. 3 is a schematic diagram of displacement component decomposition in local coordinate system.
  • FIG. 4 is a schematic diagram of recursive subdivision using displacement in a direction of a normal to surface.
  • FIG. 5 is a schematic diagram of mesh subdivision.
  • FIG. 6 is a schematic diagram of mesh subdivision results with two levels of details (LoDs) and one-dimensional displacements.
  • FIG. 7 is a schematic diagram of parametrized mesh coding process.
  • FIG. 8 is a schematic diagram of geometry information in one mesh frame.
  • FIG. 9 is a schematic surface diagram of a mesh composed of four vertices and three faces.
  • FIG. 10 is a schematic diagram of data structure of a mesh composed of four vertices and three faces.
  • FIG. 11 is a schematic diagram of data structure of a parameterized mesh with attribute texture maps.
  • FIG. 12 is a schematic diagram of a mesh composed of four vertices and three triangular faces with attribute mapping characteristics.
  • FIG. 13A is a schematic diagram of a manifold mesh.
  • FIG. 13B is a schematic diagram of a non-manifold mesh.
  • FIG. 14 is a schematic mapping diagram of a displacement component.
  • FIG. 15A is a schematic diagram of displacement component packing of a two-dimensional image.
  • FIG. 15B is a schematic diagram of another displacement component packing of a two-dimensional image.
  • FIG. 16 is a first schematic flowchart of a decoding method according to an embodiment of the disclosure.
  • FIG. 17 is a second schematic flowchart of a decoding method according to an embodiment of the disclosure.
  • FIG. 18 is a schematic diagram of recursive mesh subdivision results according to an embodiment of the disclosure.
  • FIG. 19 is a detailed flowchart of recursive subdivision according to an embodiment of the disclosure.
  • FIG. 20 is a third schematic flowchart of a decoding method according to an embodiment of the disclosure.
  • FIG. 21 is a schematic flowchart of a coding method according to an embodiment of the disclosure.
  • FIG. 22A is a schematic diagram of a packing mode for displacement coefficients in a two-dimensional image according to an embodiment of the disclosure.
  • FIG. 22B is a schematic diagram of another packing mode of displacement coefficients in a two-dimensional image according to an embodiment of the disclosure.
  • FIG. 23 is a schematic structure diagram of an encoder according to an embodiment of the disclosure.
  • FIG. 24 is a schematic diagram of hardware structure of an encoder according to an embodiment of the disclosure.
  • FIG. 25 is a schematic structure diagram of a decoder according to an embodiment of the disclosure.
  • FIG. 26 is a schematic diagram of hardware structure of a decoder according to an embodiment of the disclosure.
  • FIG. 27 is a schematic structure diagram of a codec system according to an embodiment of the disclosure.
  • first/second/third involved in the following descriptions is only for distinguishing similar objects, and does not represent a specific sequence of the objects. It is to be understood that “first/second/third” may be interchanged to specific sequences or orders if allowed to implement the embodiments of the disclosure described herein in sequences except the illustrated or described ones.
  • bitstreams in different data formats may be allowed to be decoded and generated in the same video scene, which may at least include image format, Point Cloud format and Mesh format.
  • image format e.g., Point Cloud format
  • Mesh format e.g., Mesh format
  • a data format-based approach may allow independent processing at the bitstream-level data format. That is, like tiles or slices in video encoding, different data formats in the scene may be encoded independently, so independent encoding and decoding may be performed based on the data format.
  • three-dimensional (3D) animation content adopts key frame-based representation, that is, each frame is a static mesh. Static meshes at different times have the same topology structure and different geometry structures.
  • a 3D dynamic mesh based on key frame representation has a large amount of data, so how to store, transmit and render a 3D dynamic mesh effectively has become a problem for the development of 3D dynamic mesh.
  • "one frame” may be understood as an image/picture.
  • a key frame may be understood as a key image in 3D animation.
  • Mesh is a collection of vertices, edges, and faces that defines the shape/topology of a polyhedral object.
  • the faces usually consist of triangles (triangle mesh) .
  • Base mesh - is a mesh with fewer vertexes but preserves similarity to the original surface.
  • Dynamic mesh - is a mesh with at least one of the five components (Connectivity, Geometry, Mapping, Vertex Attribute, and Attribute Map) varying in time.
  • Animated mesh - is a dynamic mesh with constant connectivity.
  • Parametrized mesh - is a mesh with the topology defined as the Mapping component.
  • Connectivity -a set of vertex indices describing how to connect the mesh vertices to create a 3D surface. (Geometry and all the attributes share the same unique connectivity information) .
  • Geometry -a set of vertex 3D (x, y, z) coordinates describing positions associated with the mesh vertices.
  • the (x, y, z) coordinates representing the positions should have finite precision and dynamic range.
  • Mapping -a description of how to map the mesh surface to 2D regions of the plane. Such mapping is described by a set of UV parametric/texture [mapping] coordinates associated with the mesh vertices together with the connectivity information.
  • Vertex attribute -a scalar of vector attribute values associated with the mesh vertices.
  • Attribute Map associated with the mesh surface and stored as 2D images/videos.
  • the mapping between the videos (i.e., parametric space) and the surface is defined by the mapping information.
  • Vertex -a position (usually in 3D space) along with other information such as color, normal vector, and texture coordinates.
  • Face -a closed set of edges in which a triangle face has three edges defined by three vertices. Orientation of the face is determined using a “right-hand” coordinate system.
  • LoD Level of details
  • each level of detail contains enough information to reconstruct mesh to an indicated precision or spatial resolution.
  • Each following level of details is a refinement on top of the plurality of previously reconstructed mesh.
  • a static or dynamic mesh is input into a preprocessing module for decimating geometry information to generate a base mesh and displacement components.
  • the decimated base mesh is encoded by a generic mesh encoder (such as "edgebreaker” ) , and the displacement components are packed into a 2D image.
  • the displacement information is encoded by a video encoder such as HEVC, and the obtained coded bits are written into a bitstream.
  • FIG. 2 depicts a displacement generation process for one face in a base mesh with one refinement step.
  • PB1, PB2, and PB3 denote base mesh points
  • PS1, PS2, and PS3 represent subdivided points
  • PSD1, PSD2, and PSD3 represent displaced subdivided points.
  • Subdivided point PS1 is calculated as a mid-point between the PB1 and PB2 points. The process can be recursively repeated.
  • each vector of PS1 and PSD1 is described by three components in normal, tangent and bitangent directions.
  • the three components are further processed with wavelet transform and the corresponding transform coefficients can be mapped to color planes (e.g., Y, U, and V components in the YUV 444 color-space) , or sequentially mapped to a single color plane (e.g. Y plane component in the YUV 420, or YUV 400 color-space) , or packed using interleaving method between color planes (e.g., Y, U, and V components in the YUV 420 color space) .
  • color planes e.g., Y, U, and V components in the YUV 444 color-space
  • a single color plane e.g. Y plane component in the YUV 420, or YUV 400 color-space
  • interleaving method between color planes e.g., Y, U, and V components in the YUV 420 color space
  • FIG. 4 depicts one example of recursive subdivision in 2D space using displacement in a direction of a normal to surface.
  • the iterative subdivision process includes: (a) , (c) and (e) are three-level subdivision processes for convex continuous surfaces, and (b) , (d) and (f) are three-level subdivision processes for oscillating surfaces.
  • Step 1 define an edge using two neighboring points PB0 and PB1 in a reconstructed base mesh.
  • Step 2 calculate normal to the edge using a face that contains point PB0 and PB1.
  • Step 3 subdivide reconstructed base mesh at point PS1_1.
  • Step 4 apply displacement d1_1 to point PS1_1 along the normal defined in step 2.
  • Step 5 create two edges: PB0 PS1_1 and PS1_1 PB1, as illustrated in (a) and (b) of FIG. 4.
  • Step 6 apply step 3 -5 to each new edge from step 5 until desired LoD is generated, as illustrated in (c) and (e) of FIG. 4 and in (d) and (f) of FIG. 4.
  • the normal is always calculated with reference to the reconstructed base mesh.
  • the displacement is calculated with reference to the subdivision edges generated in step 5, rather than with reference to the reconstructed base edge obtained in step 1.
  • FIG. 5 illustrates a block chart for the subdivision process, which may include the following.
  • n represents the number of iterative subdivisions, and n is an integer indexed from 0; L represents the number of LoDs, and L is an integer indexed from 1.
  • FIG. 6 illustrates mesh subdivision results for three-dimensional content with two LoDs and one-dimensional displacements.
  • the black solid line (composed of vertices PB_1, PB_2 and PB_3) represents the base mesh, the black dotted line represents the subdivided mesh, the first bold solid line is LoD1 (i.e. LoD_1) with applied displacements, and the second bold solid line is LoD2 (i.e. LoD_2) with applied displacements.
  • FIG. 7 illustrates a schematic diagram of parametrized mesh coding process.
  • the coding process specifically includes the following.
  • the base mesh frame is quantized and encoded using a static mesh encoder.
  • the process is agnostic to the type of encoding scheme used to compress the base mesh.
  • the displacements are generated using hierarchical subdivision process and represent the difference between the original mesh topology and previously reconstructed subdivided LoD.
  • the first iteration of the displacements is using base mesh as input.
  • the displacements are processed by a hierarchical wavelet (or another) transform that recursively applies refinement layers (LoDs) to the reconstructed base mesh.
  • a hierarchical wavelet or another transform that recursively applies refinement layers (LoDs) to the reconstructed base mesh.
  • the wavelet coefficients are then quantized, packed into a 2D image/video, and can be compressed by using a traditional image/video encoder.
  • the reconstructed version of the wavelet coefficients is obtained by applying image unpacking and inverse quantization to the reconstructed wavelet coefficient image/video generated during the image/video decoding process.
  • Reconstructed displacements are then computed by applying the inverse wavelet transform to the reconstructed wavelet coefficients.
  • Wavelet coefficients are calculated in floating-point format and can be positive and negative. In some systems, to compose a 2D image, the coefficients are first converted to positive and mapped to a given bit-depth.
  • bit_depth is a value that defines a number of fixed levels for image coding.
  • FIG. 8 An example of geometry information in one mesh frame is provided in FIG. 8.
  • the example is specifically an example for a mesh with attributes per vertex.
  • FIG. 9 A surface example of a mesh consisting of four vertices and three faces is illustrated in FIG. 9, and a data structure example of a mesh consisting of four vertices and three faces is illustrated in FIG. 10.
  • FIG. 8 An example of a surface, represented by a mesh with color-per-vertex characteristics (FIG. 7) that consists of four vertices and three faces, is demonstrated in FIG. 8.
  • Each vertex in space is described by its X, Y, Z position coordinates, and three color attributes R, G, B.
  • each face is defined by three vertex indices that form a triangle.
  • FIG. 11 A data structure example of a parameterized mesh with attribute texture maps is illustrated in FIG. 11.
  • FIG. 11 An example of a surface, represented by a mesh with attribute mapping characteristics (FIG. 11) that consists of four vertices and three faces, is demonstrated in FIG. 12.
  • Each vertex in space is described by its X, Y, Z position coordinates.
  • U, V denotes attribute coordinates in the 2D texture vertex map.
  • Each face is defined by three pairs of vertex indices and texture vertex coordinates that form a triangle in 3D space and a triangle in the 2D texture map.
  • the orientation of a face is determined using the right-hand coordinate system.
  • a face consists of three vertices that belong to three edges, and the three vertex indices describe each face.
  • a manifold mesh is a mesh where one edge belongs to two different faces at most, as illustrate illustrated in FIG. 13A.
  • a non-manifold mesh is a mesh with an edge that belongs to more than two faces, as illustrated in FIG. 13B.
  • the transformed displacement components are mapped from a one-dimensional array to a 2-dimensional image, as illustrated in FIG. 14.
  • Each unit vector component is associated with a different color plane.
  • the Normal unit vector is mapped to Y-plane; the Tangent unit vector is mapped to U-plane; the BiTangent unit vector is mapped to V-plane.
  • YUV444 color mapping is used for encoding (fig 12) .
  • An example of displacement coefficients 8x8 packing block of a video component is FIG. illustrated in 15A and FIG. 15B.
  • FIG. 15A illustrates forward packing
  • FIG. 15B illustrates backward packing
  • displacement coefficients are applied to a previously reconstructed LoD.
  • the displacements coefficients are often redundant at the high level, resulting in a high bit overhead and reducing the coding and decoding efficiency.
  • the embodiments of the disclosure provide coding and decoding methods.
  • a first syntax element to indicate that recursive subdivision is applied to the current mesh when it is determined that recursive subdivision is applied to the current mesh, a reconstructed mesh of a current level in the current mesh is subdivided, and a subdivided mesh of the current level is determined; displacement coefficients of the current level are determined by decoding the bitstream; and according to the subdivided mesh of the current level and the displacement coefficients of the current level, a reconstructed mesh of a next level in the current mesh is determined.
  • redundant displacement coefficients at a higher level may be removed, thereby reducing coded bits for the displacement coefficients and improving the coding and decoding efficiency.
  • FIG. 16 is a first schematic flowchart of a decoding method according to an embodiment of the disclosure. As illustrated in FIG. 16, the method may include the following operations.
  • a bitstream is decoded to determine a value of a first syntax element.
  • the decoding method may refer to a mesh subdivision method, and in particular to a recursive subdivision method for dynamic mesh decoding, which can improve the coding and decoding efficiency.
  • VDMC Video-based Dynamic Mesh Coding
  • V3C Visual Volume Video-based Coding
  • the subdivision method shares functionality across all LoDs and is defined by two syntax elements asps_vdmc_ext_subdivision_method and asps_vdmc_ext_subdivision_iteration_count in the Atlas sequence parameter set VDMC extension RBSP syntax structure.
  • Table 1 provides a schematic syntax structure for Atlas sequence parameter set VDMC extension.
  • asps_vdmc_ext_subdivision_method indicates an identifier of the method to subdivide the meshes associated with the current atlas sequence parameter set
  • asps_vdmc_ext_subdivision_iteration_count indicates the number of iterations used for the mesh subdivision
  • asps_vdmc_ext_displacement_coordinate_system indicates a coordinate system identifier of the mesh
  • asps_vdmc_ext_transform_method indicates a wavelet transform identifier of the mesh.
  • Table 2 describes a list of supported subdivision methods and their relationship with asps_vdmc_ext_subdivision_method.
  • Table 3 describes a list of supported coordinate systems and their relationship with asps_vdmc_ext_displacement_coordinate_system.
  • Table 4 describes a list of supported wavelet transform methods and their relationship with asps_vdmc_ext_transform_method.
  • the first syntax element may be represented by asps_vdmc_ext_subdivision_iteration_count for indicating a mesh subdivision method, such as midpoint subdivision, Loop subdivision and the like. Due to specifics of the subdivision, the higher LoDs are often degenerated to “0” displacement, thus introducing significant redundancy in signaling and coding information.
  • a new value is added for the first syntax element, so that the first syntax element may be used to indicate whether recursive subdivision is applied to the current mesh.
  • the recursive subdivision may create same subdivision as the related technology, but the displacements neighboring to the base point (e.g., PB_1, PB_2, and PB_3) are inferred to be equal to zero.
  • displacements displacement coefficients
  • the adaptive subdivision mode herein is referred to as "recursive subdivision mode" .
  • this recursive subdivision method may be referred to as midpoint recursive subdivision method.
  • a new asps_vdmc_ext_subdivision_method equal to 2 is added.
  • the new asps_vdmc_ext_subdivision_method may create same subdivision as the related technology, but the displacements neighboring to the base point (e.g., PB_1, PB_2, and PB_3) are inferred to be equal to zero, thereby reducing the coded bits for the displacements.
  • the first syntax element is used to indicate whether recursive subdivision is applied to the current mesh.
  • the value of the first syntax element is a first value
  • the value of the first syntax element is a second value
  • the value of the first syntax element is a third value
  • the displacement coefficients of the current level are obtained by decoding the bitstream.
  • the bitstream may be a displacement bitstream.
  • Decoding of the displacement bitstream may use multiple manners, such as video decoding, entropy decoding and so on. That is, in the embodiments of the disclosure, displacement information may be obtained through decoding by a video decoder, or displacement information may be obtained through decoding by an entropy decoder, which is not limited in the disclosure.
  • the decoded displacement coefficients of the current level may be preprocessed to determine the displacement coefficients of the current level. Preprocessing may include inverse quantization, inverse wavelet transform or the like.
  • inverse quantization is the inverse process of quantization and is used for converting a quantized fixed point into a floating-point number.
  • Inverse wavelet transform is the inverse process of wavelet transform and used to restore a signal in wavelet domain to the original time domain, so as to obtain the displacement coefficients of the current level.
  • a quantization parameter reflects spatial detail compression.
  • QP is a serial number of the quantization step Qstep, and when the value of QP is 0, it indicates that the quantization is the finest, and when the value of QP is 51, it indicates that the quantization is coarser.
  • the method may include the following operation.
  • the bitstream is decoded to determine the quantization parameter of the current level.
  • the method may include the following operations.
  • a quantization parameter of a previous level of the current level is determined.
  • a quantization parameter increment of the current level is determined by decoding the bitstream.
  • the quantization parameter of the current level is determined according to the quantization parameter of the previous level and the quantization parameter increment.
  • the encoding end may write the quantization parameter directly into the bitstream, so that the decoding end may obtain the corresponding quantization parameter through decoding; or, the encoding end may write the quantization parameter increment into the bitstream, and then the decoding end may obtain the corresponding quantization parameter according to the quantization parameter increment obtained by decoding and the quantization parameter of the previous level.
  • the quantization parameter of the current level may be represented by QP (i)
  • the quantization parameter of the previous level may be represented by QP (i-1)
  • the quantization parameter increment may be represented by ⁇ QP
  • QP (i) QP (i-1) + ⁇ QP
  • the quantization parameter QP (1) may be directly written into the bitstream.
  • a reference quantization parameter may also be set at the encoding end and the decoding end, and then a quantization parameter increment between the quantization parameter of each level and the reference quantization parameter is written into the bitstream.
  • the decoding end may determine the quantization parameter of the current level according to the quantization parameter increment of the current level and the reference quantization parameter, thereby reducing the signaling overhead for decoding the quantization parameter.
  • the operation that the decoded displacement coefficients of the current level are determined by decoding the bitstream may include the following operations.
  • the bitstream is decoded to determine a 2D image.
  • Displacement coefficient extraction is performed on the 2D image according to a preset packing mode to obtain the decoded displacement coefficients of the current level.
  • the decoded displacement coefficients of the current level may be determined by decoding the displacement bitstream.
  • the preset packing mode includes a forward packing mode or a inverse packing mode.
  • the decoding end and the encoding end may set the same packing mode, or the preset packing mode may be indicated according to the third syntax element in the bitstream.
  • the method may include the following operations.
  • the bitstream is decoded to determine a value of a third syntax element.
  • the preset packing mode is determined according to the value of the third syntax element.
  • the third syntax element may be represented by dmsps_packing_order.
  • the preset packing mode may be a packing mode indicated by dmsps_packing_order in the bitstream.
  • the displacement bitstream may be decoded by the displacement decoder. If the encoding end compresses the displacements by video encoding, the decoding end decodes the displacements by a corresponding video decoder, and restores the displacements from the 2D image in a corresponding order according to the preset packing mode. Then, inverse quantization and inverse wavelet transform are performed to obtain the displacement coefficients consistent with the coding end. If the encoding end uses entropy coding for the displacement coefficients, the decoding end may directly perform entropy decoding, and then perform subsequent operations such as inverse quantization and inverse wavelet transform to obtain the displacement coefficients of the current level.
  • a reconstructed mesh of a next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the operation that the reconstructed mesh of the next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level may include the following operation. Displacement calculation is performed on vertex coordinate information of the subdivided mesh of the current level according to the displacement coefficients, to obtain the reconstructed mesh of the next level in the current mesh.
  • the displacement coefficients are applied recursively to the previously reconstructed LoD, specifically, each vertex of the subdivided mesh of the current level is sequentially added with the respective decoded displacement coefficient, so the reconstructed mesh of the next level may be obtained.
  • the method may further include the following operations. After the reconstructed mesh of the next level in the current mesh is determined, the reconstructed mesh of the next level is taken as a reconstructed mesh of the current level, and the operation of subdividing the reconstructed mesh of the current level to determine the subdivided mesh of the current level is returned and performed, until a reconstructed mesh of the L-th level in the current mesh is determined.
  • the value of L is associated with a number of subdivision iterations for the current mesh.
  • the number of subdivision iterations for the current mesh may be indicated by a second syntax element in the bitstream.
  • the method may include the following operations.
  • the bitstream is decoded to determine a value of the second syntax element.
  • the number of subdivision iterations for the current mesh is determined according to the value of the second syntax element.
  • the second syntax element may be represented by asps_vmc_ext_subdivision_iteration_count. That is, the number of subdivision iterations for the current mesh may be a value indicated by asps_vmc_ext_subdivision_iteration_count in the bitstream.
  • L represents the number of LoDs corresponding to the current mesh, and the value of L may be determined by the number of subdivision iterations for the current mesh, that is, the value of L is equal to the value indicated by asps_vmc_ext_subdivision_iteration_count.
  • the base mesh is subdivided to obtain an initial subdivided mesh, and after the displacement coefficients of the initial subdivided mesh are obtained by decoding, displacement calculation is performed on vertex coordinate information of the initial subdivided mesh according to the displacement coefficients, to obtain the reconstructed mesh of the first level, i.e., the reconstructed mesh of LoD1.
  • the reconstructed mesh of LoD1 is subdivided to obtain a subdivided mesh of LoD1
  • the reconstructed mesh of LoD2 may be determined according to the subdivided mesh of LoD1 and the displacement coefficients of LoD1.
  • the black solid line (composed of vertices PB_1, PB_2 and PB_3) represents the base mesh, the black dotted line represents the subdivided mesh, the first bold solid line is LoD1 with applied displacements, and the second bold solid line is LoD2 with applied displacements.
  • FIG. 19 a detailed flowchart of recursive subdivision is illustrated in FIG. 19, which may include the following.
  • the current mesh may use midpoint subdivision.
  • the method may include the following operations.
  • the reconstructed base mesh is subdivided to determine a subdivided mesh of at least one level in the current mesh.
  • a reconstructed mesh of the at least one level in the current mesh is determined according to the subdivided mesh and displacement coefficients of the at least one level.
  • displacement coefficients of each level are obtained by displacement calculation on vertex coordinate information of the subdivided mesh and vertex coordinate information of the original mesh, instead of being recursively obtained based on the previously reconstructed LoD.
  • the embodiments of the disclosure provide a decoding method, in particular to a recursive subdivision method for a dynamic mesh.
  • a bitstream is decoded to determine a value of a first syntax element; when the first syntax element indicates that a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh is determined, and the reconstructed mesh of the current level is subdivided to determine a subdivided mesh of the current level; displacement coefficients of the current level are determined by decoding the bitstream; and according to the subdivided mesh of the current level and the displacement coefficients of the current level, a reconstructed mesh of a next level in the current mesh is determined.
  • the displacement coefficients are applied recursively to the previously reconstructed LoD when determining that recursive subdivision is applied to the current mesh, thereby removing redundant displacements at a higher level, reducing coded bits for the displacement coefficients, and further improving the coding and decoding efficiency.
  • FIG. 21 is a schematic flowchart of a coding method according to an embodiment of the disclosure. As illustrated in FIG. 21, the method may include the following operations.
  • a first syntax element may be set to indicate whether recursive subdivision is applied to the current mesh.
  • the first syntax element may be represented by asps_vdmc_ext_subdivision_iteration_count for indicating the mesh subdivision method. Exemplarily, as illustrated in Table 2, if the value of the first syntax element is 0, it indicates that no subdivision is applied to the current mesh; if the value of the first syntax element is 1, it indicates that midpoint subdivision is applied to the current mesh.
  • a new value is added for the first syntax element, so that the first syntax element may be used to indicate whether recursive subdivision is applied to the current mesh.
  • the recursive subdivision may create same subdivision as the related technology, but the displacements neighboring to the base point (e.g., PB_1, PB_2, and PB_3) are inferred to be equal to zero.
  • displacements displacement coefficients
  • the adaptive subdivision mode herein is referred to as "recursive subdivision mode" .
  • this recursive subdivision method may be referred to as midpoint recursive subdivision method.
  • a new asps_vdmc_ext_subdivision_method equal to 2 is added.
  • the new asps_vdmc_ext_subdivision_method may create same subdivision as the related technology, but the displacements neighboring to the base point (e.g., PB_1, PB_2, and PB_3) are inferred to be equal to zero, thereby reducing the coded bits for the displacements.
  • the first syntax element is used to indicate whether recursive subdivision is applied to the current mesh.
  • the method may include the following operations. A value of the first syntax element is determined. The value of the first syntax element is encoded into a bitstream.
  • the value of the first syntax element when no subdivision is applied to the current mesh, the value of the first syntax element is determined to be the first value; when a midpoint subdivision mode is applied to the current mesh, the value of the first syntax element is determined to be the second value; and when the recursive subdivision mode is applied to the current mesh, the value of the first syntax element is determined to be the third value.
  • the first value, the second value and the third value are different.
  • the first value may be set to 0, the second value may be set to 1, and the third value may be set to 2. That is to say, it may be determined according to different values of the first syntax element whether the recursive subdivision mode is applied to the current mesh.
  • the value of the first syntax element if the value of the first syntax element is 0, it may be determined that no subdivision mode (such as, midpoint subdivision, recursive subdivision, etc. ) is applied to the current mesh; if the value of the first syntax element is 1, it may be determined that the midpoint subdivision mode is applied to the current mesh; if the value of the first syntax element is 2, it may be determined that the recursive subdivision mode is applied to the current mesh.
  • no subdivision mode such as, midpoint subdivision, recursive subdivision, etc.
  • reconstruction of the current mesh may be regarded as recursive reconstruction of at least one LoD. Specifically, after a reconstructed mesh of the current level in the current mesh is obtained, the reconstructed mesh of the current level may be subdivided to determine a subdivided mesh of the current level. Then combined with the displacement coefficients in the bitstream, a reconstructed mesh of the next level for the current level can be recursively obtained.
  • a reconstructed mesh of the first level in the current mesh is determined firstly.
  • the method may include the following operations.
  • a base mesh of the current mesh is determined. Coding and decoding processing is performed on the base mesh to determine a reconstructed base mesh.
  • the reconstructed base mesh is subdivided to determine an initial subdivided mesh. Displacement coefficients of the initial subdivided mesh are determined.
  • a reconstructed mesh of a first level in the current mesh is determined according to the initial subdivided mesh and the displacement coefficients of the initial subdivided mesh.
  • the base mesh can also be referred to as a "simplified mesh" .
  • the operation that the base mesh of the current mesh is determined may include the following operations. An original mesh of the current mesh is determined. The original mesh is downsampled to obtain the base mesh.
  • the current input mesh may be referred to as the original mesh.
  • the input mesh is downsampled for mesh decimation, so as to obtain the base mesh.
  • the method may further include the following operation.
  • the base mesh is encoded into a bitstream.
  • the bitstream may refer to the base mesh bitstream.
  • the base mesh may be written into the base mesh bitstream by a mesh encoder (e.g., EdgeBreaker, etc. ) .
  • a mesh encoder e.g., EdgeBreaker, etc.
  • the method may include the following operation. Displacement calculation is performed on vertex coordinate information of the initial subdivided mesh and vertex coordinate information of the original mesh to determine the displacement coefficients of the initial subdivided mesh.
  • the displacement coefficients for the first level refer to the difference between vertex coordinate information of the original mesh and vertex coordinate information of the initial subdivided mesh.
  • displacement calculation is performed on the vertex coordinate information of the initial subdivided mesh according to the displacement coefficients, to obtain the reconstructed mesh of the first level, i.e., the reconstructed mesh of LoD1.
  • the reconstructed mesh of LoD1 is subdivided to obtain a subdivided mesh of LoD1
  • the reconstructed mesh of LoD2 may be determined according to the subdivided mesh of LoD1 and the corresponding displacement coefficients. The above process is repeated until the reconstruction is completed.
  • the displacement coefficients may include displacement components in one or more directions.
  • a displacement coefficient includes displacement components in three directions, i.e., in normal, tangent and bitangent directions.
  • the displacement coefficients of the first level are calculated with respect to the subdivision vertex in the base mesh, and displacement coefficients of each of the subsequent levels are calculated with respect to the subdivision vertex in a previously reconstructed LoD, so that recursive subdivision of displacement coefficients may be realized.
  • the operation that the displacement coefficients of the current level are determined may include the following operation. Displacement calculation is performed on vertex coordinate information of the initial subdivided mesh and vertex coordinate information of the original mesh to determine the displacement coefficients of the current level.
  • geometry displacement vectors may be calculated for each vertex of the subdivided mesh, so that the shape of the subdivided mesh is as similar as possible to the shape of the original mesh.
  • These geometry displacement vectors are displacement coefficients. Specifically, there is a difference between geometry information of the vertices of the subdivided mesh and geometry information of vertices of the original mesh, and the difference is displacement coefficients.
  • a reconstructed mesh of a next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the number of levels in the at least one level is associated with the number of subdivision iterations for the current mesh.
  • L denotes the number of levels in the at least one level, i.e. the number of LoDs corresponding to the current mesh, and L may be equal to the value indicated by asps_vmc_ext_subdivision_iteration_count in the bitstream.
  • the displacement coefficients are applied recursively to the previously reconstructed LoD when determining that recursive subdivision is applied to the current mesh, thereby removing redundant displacements at a higher level, reducing coded bits for the displacement coefficients, and further improving the coding and decoding efficiency.
  • asps_vdmc_ext_subdivision_method indicates the identifier of the method to subdivide the meshes associated with the current atlas sequence parameter set.
  • Table 2 describes the list of supported subdivision methods and their relationship with asps_vdmc_ext_subdivision_method.
  • asps_vdmc_ext_subdivision_iteration_count indicates the number of iterations used for the subdivision.
  • the value of asps_vdmc_ext_subdivision_iteration_count is inferred to be equal to 0.
  • the solutions provided by the embodiments of the disclosure introduces efficient and flexible method and apparatus for efficient coding of the geometry component of the mesh representation of the volumetric content by removing redundant displacements in cases such as base mesh edge and inheriting value from previous level of details.
  • the embodiments of the disclosure provide a new adaptive subdivision method, in which edges adjacent to the base points at higher level of details shall be always equal to 0.
  • edges adjacent to the base points at higher level of details shall be always equal to 0.
  • One way of implementing this is by adding a new asps_vdmc_ext_subdivision_method equal to 2.
  • the new asps_vdmc_ext_subdivision_method may create same subdivision as the original method, but the displacements neighboring to the base point (e.g., PB_1, PB_2, and PB_3) are inferred to be equal to zero.
  • the specific process is illustrated in FIG. 18 and FIG. 19.
  • the method to efficiently code geometry displacement coefficients in the mesh at the encoding end includes a subdivision process with a recursive subdivision update, and the displacement coefficients are calculated with respect to a subdivision vertex in a previously reconstructed LoD.
  • Stage 1 Mesh segmentation is a step that creates segments or blocks of mesh content representing individual objects/regions of interest/volumetric tiles, semantic blocks, etc.
  • the number of level of details subdivisions is defined by asps_vmc_ext_subdivision_iteration_count.
  • Stage 3 Mesh displacements are calculated between the previous updated subdivided level of details for mesh and the original surface for mesh for each level of details when the value of the syntax element asps_vdmc_ext_subdivision_method is equal to 2. The displacements are then processed with a wavelet transform.
  • Stage 4 Wavelet transform coefficients are converted to a fix-point representation with a precision indicated in the coded bitstream at either patch, picture, or sequence level (ltpIndex) depending on the quantization parameter vmc_transform_lifting_quantization_parameters [ltpIndex] [i] [j] for a corresponding coordinate i and level of details j as signaled in the bitstream.
  • Stage 5 The quantized wavelet coefficients are scanned along a 3D space scanning pattern (e.g. Morton, Hilbert, or along other space filling curve) within each LoD, forming three 1-dimensional arrays per each component (as illustrated in FIG. 22A and FIG. 22B) .
  • a 3D space scanning pattern e.g. Morton, Hilbert, or along other space filling curve
  • the coefficients are converted to a 2D image according to LoD and selected packing order indicated by a flag dmsps_packing_order.
  • the unoccupied symbols in CTU are padded using one of the padding methods (e.g. zero-padding) ..
  • the decoding process is the inverse of the encoding process and includes five stages as follows.
  • Stage 1 The base mesh is decoded from geometry bitstream and recursively subdivided to the level of details defined by the encoder.
  • Stage 2 A coded bitstream for geometry displacements is obtained and decoded with a codec corresponding to the dmsps_mesh_codec_id decoder.
  • Stage 3 The displacement wavelet coefficients are dequantized using the quantization parameter signaled in the bitstream.
  • Stage 4 The dequantized displacement wavelet coefficients are processed with an inverse wavelet transform.
  • Stage 5 Mesh displacements are applied to the subdivided base mesh at each transform level recursively to generate the reconstructed mesh consisting of blocks representing individual objects/regions of interest/volumetric tiles, semantic blocks, etc.
  • the displacement coefficients are applied recursively to the previously reconstructed level of details (LoD) when determining that recursive subdivision is applied to the current mesh, thereby removing redundant displacements at a higher level, reducing coded bits for the displacement coefficients, and further improving the coding and decoding efficiency.
  • LoD level of details
  • FIG. 23 is a schematic structure diagram of an encoder according to an embodiment of the disclosure.
  • the encoder 230 may include a first subdivision unit 2301, a first determination unit 2302, and a first reconstruction unit 2303.
  • the first subdivision unit 2301 is configured to determine, when a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh, and subdivide the reconstructed mesh to determine a subdivided mesh of the current level.
  • the first determination unit 2302 is configured to determine displacement coefficients of the current level.
  • the first reconstruction unit 2303 is configured to determine a reconstructed mesh of a next level in the current mesh according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the first determination unit 2302 is further configured to determine a base mesh of the current mesh.
  • the first reconstruction unit 2303 is further configured to perform coding and decoding processing on the base mesh to determine a reconstructed base mesh.
  • the first subdivision unit 2301 is further configured to subdivide the reconstructed base mesh to determine an initial subdivided mesh.
  • the first determination unit 2302 is further configured to determine displacement coefficients of the initial subdivided mesh, and determine a reconstructed mesh of a first level in the current mesh according to the initial subdivided mesh and the displacement coefficients of the initial subdivided mesh.
  • the first determination unit 2302 is further configured to determine an original mesh of the current mesh, and perform downsampling on the original mesh to obtain the base mesh.
  • the first determination unit 2302 is further configured to perform displacement calculation on vertex coordinate information of the initial subdivided mesh and vertex coordinate information of the original mesh to determine the displacement coefficients of the initial subdivided mesh.
  • the encoder 230 may also include an encoding unit 2304.
  • the encoding unit 2304 is configured to encode the base mesh into a the bitstream.
  • the first reconstruction unit 2303 is further configured to, after determining the reconstructed mesh of the next level in the current mesh, take the reconstructed mesh of the next level as a reconstructed mesh of a current level, and continue to subdivide the reconstructed mesh of the current level to determine the subdivided mesh of the current level, until a reconstructed mesh of an L-th level in the current mesh is determined.
  • the value of L is associated with the number of subdivision iterations for the current mesh.
  • the first determination unit 2302 is further configured to determine the number of subdivision iterations for the current mesh, and determine a value of a second syntax element according to the number of subdivision iterations for the current mesh.
  • the encoding unit 2304 is further configured to encode the value of the second syntax element into a bitstream.
  • the first determination unit 2302 is further configured to perform displacement calculation on vertex coordinate information of the subdivided mesh of the current level and vertex coordinate information of the original mesh to determine the displacement coefficients of the current level.
  • the first determination unit 2302 is further configured to perform preprocessing on the displacement coefficients of the current level to determine quantized displacement coefficients of the current level.
  • the encoding unit 2304 is further configured to encode the quantized displacement coefficients of the current level into a bitstream.
  • the first determination unit 2302 is further configured to perform wavelet transform on the displacement coefficients of the current level to determine wavelet transform coefficients of the current level, and quantize the wavelet transform coefficients of the current level to determine the quantized displacement coefficients of the current level.
  • the first determination unit 2302 is further configured to determine a quantization parameter of the current level, and quantize the wavelet transform coefficients of the current level according to the quantization parameter of the current level to determine the quantized displacement coefficients of the current level.
  • the encoding unit 2304 is further configured to encode the quantization parameter of the current level into the bitstream.
  • the first determination unit 2302 is further configured to determine a quantization parameter of a previous level of the current level, and determine a quantization parameter increment of the current level according to the quantization parameter of the previous level and the quantization parameter of the current level.
  • the encoding unit 2304 is further configured to encode the quantization parameter increment of the current level into the bitstream.
  • the first determination unit 2302 is further configured to determine quantized displacement coefficients of at least one level in the current mesh, where the at least one level includes the current level and pack the quantized displacement coefficients of the at least one level into a two-dimensional image according to a preset packing mode.
  • the encoding unit 2304 is further configured to encode the two-dimensional image into the bitstream.
  • the first determination unit 2302 is further configured to determine a value of a third syntax element according to the preset packing mode.
  • the encoding unit 2304 is further configured to encode the value of the third syntax element into the bitstream.
  • the first determination unit 2302 is further configured to perform displacement calculation on vertex coordinate information of the subdivided mesh of the current level according to the displacement coefficients to obtain the reconstructed mesh of the next level in the current mesh.
  • the first determination unit 2302 is further configured to determine a value of a first syntax element.
  • the first syntax element indicates whether the recursive subdivision mode is applied to the current mesh.
  • the encoding unit 2304 is further configured to encode the value of the first syntax element into the bitstream.
  • the first determination unit 2302 is further configured to determine the value of the first syntax element to be a first value when no subdivision is applied to the current mesh, determine the value of the first syntax element to be a second value when a midpoint subdivision mode is applied to the current mesh, and determine the value of the first syntax element to be a third value when the recursive subdivision mode is applied to the current mesh.
  • the first determination unit 2302 is further configured to determine, when the midpoint subdivision mode is applied to the current mesh, a reconstruction base mesh.
  • the first subdivision unit 2301 is further configured to subdivide the reconstructed base mesh to determine a subdivided mesh of at least one level in the current mesh.
  • the first determination unit 2302 is further configured to determine displacement coefficients of the at least one level and determine a reconstructed mesh of the at least one level in the current mesh according to the subdivided mesh and displacement coefficients of the at least one level in the current mesh.
  • the number of levels in the at least one level is associated with the number of subdivision iterations for the current mesh.
  • unit may be part of a circuit, part of a processor, part of a program or software and the like, of course, may also be modular and may also be non-modular.
  • each component in the embodiment may be integrated into a processing unit, each unit may also exist independently, and two or more than two units may also be integrated into a unit.
  • the integrated unit may be implemented in a hardware form and may also be implemented in form of software function module.
  • the integrated unit When implemented in form of software function module and sold or used not as an independent product, the integrated unit may be stored in a computer-readable storage medium.
  • the technical solution of the embodiment substantially or parts making contributions to the conventional art or all or part of the technical solution may be embodied in form of software product, and the computer software product is stored in a storage medium, including a plurality of instructions configured to enable a computer device (which may be a personal computer, a server, a network device or the like) or a processor to execute all or part of the operations of the method in the embodiments.
  • the storage medium includes: various media capable of storing program codes such as a U disk, a mobile hard disk, a Read Only Memory (ROM) , a Random Access Memory (RAM) , a magnetic disk or an optical disk.
  • the embodiments of the disclosure provide a computer-readable storage medium, applied to the encoder 230.
  • the computer-readable storage medium stores a computer program that implements the method of any of the above embodiments when executed by a first processor.
  • FIG. 24 is a schematic diagram of hardware structure of an encoder according to an embodiment of the disclosure.
  • the encoder 230 may include a first communication interface 2401, a first memory 2402 and a first processor 2403.
  • the components are coupled together by a first bus system 2404.
  • the bus system 2404 is configured to implement connection communication among these components.
  • the bus system 2404 includes a data bus and further includes a power bus, a control bus and a state signal bus. However, for clear description, various buses in FIG. 24 are marked as the bus system 2404.
  • the first communication interface 2401 is configured to receive and send a signal in a process of receiving and sending information with another external network element.
  • the first memory 2402 is configured to store a computer program capable of running in the processor 2403.
  • the first memory 2402 in the embodiment of the disclosure may be a volatile memory or a nonvolatile memory, or may include both the volatile and nonvolatile memories.
  • the nonvolatile memory may be a Read-Only Memory (ROM) , a Programmable ROM (PROM) , an Erasable PROM (EPROM) , an Electrically EPROM (EEPROM) or a flash memory.
  • the volatile memory may be a Random Access Memory (RAM) , and is used as an external high-speed cache.
  • RAMs in various forms may be adopted, such as a Static RAM (SRAM) , a Dynamic RAM (DRAM) , a Synchronous DRAM (SDRAM) , a Double Data Rate SDRAM (DDRSDRAM) , an Enhanced SDRAM (ESDRAM) , a Synchlink DRAM (SLDRAM) and a Direct Rambus RAM (DRRAM) .
  • SRAM Static RAM
  • DRAM Dynamic RAM
  • SDRAM Synchronous DRAM
  • DDRSDRAM Double Data Rate SDRAM
  • ESDRAM Enhanced SDRAM
  • SLDRAM Synchlink DRAM
  • DRRAM Direct Rambus RAM
  • the first memory 2402 of the system and method described in the disclosure is intended to include, but not limited to, memories of these and any other proper types.
  • the processing unit may be implemented in one or more ASICs, DSPs, DSP Devices (DSPDs) , PLDs, FPGAs, universal processors, controllers, microcontrollers, microprocessors, other electronic units configured to execute the functions in the disclosure or combinations thereof.
  • the technology of the disclosure may be implemented through the modules (for example, processes and functions) executing the functions in the disclosure.
  • the software code may be stored in the memory and executed by the processor.
  • the memory may be implemented inside the processor or outside the processor.
  • the first processor 2403 is further configured to run the computer program to execute the method described in any one of the above embodiments.
  • FIG. 25 is a schematic structure diagram of a decoder according to an embodiment of the disclosure.
  • the decoder 250 may include a decoding unit 2501, a second subdivision unit 2502 and a second reconstruction unit 2503.
  • the decoding unit 2501 is configured to decode a bitstream to determine a value of a first syntax element.
  • the decoding unit 2501 is further configured to decode the bitstream to determine displacement coefficients of the current level.
  • the decoding unit 2501 is further configured to decode the bitstream to determine a reconstructed base mesh.
  • the second subdivision unit 2502 is further configured to subdivide the reconstructed base mesh to determine an initial subdivided mesh.
  • the decoding unit 2501 is further configured to decode the bitstream to determine displacement coefficients of the initial subdivided mesh.
  • the second reconstruction unit 2503 is further configured to determine a reconstructed mesh of a first level in the current mesh according to the initial subdivided mesh and the displacement coefficients of the initial subdivided mesh.
  • the second reconstruction unit 2503 is further configured to, after determining the reconstructed mesh of the next level in the current mesh, take the reconstructed mesh of the next level as a reconstructed mesh of a current level, and continue to subdivide the reconstructed mesh of the current level to determine the subdivided mesh of the current level, until a reconstructed mesh of an L-th level in the current mesh is determined.
  • the value of L is associated with the number of subdivision iterations for the current mesh.
  • the decoder 250 may also include a second determination unit 2504.
  • the decoding unit 2501 is further configured to decode the bitstream to determine a value of a second syntax element.
  • the second determination unit 2504 is configured to determine the number of subdivision iterations for the current mesh according to the value of the second syntax element.
  • the decoding unit 2501 further configured to decode the bitstream to determine decoded displacement coefficients of the current level.
  • the second determination unit 2504 is further configured to preprocess the decoded displacement coefficients of the current level to determine the displacement coefficients of the current level.
  • the second determination unit 2504 is further configured to determine a quantization parameter of the current level, perform inverse quantization on the decoded displacement coefficients of the current level according to the quantization parameter of the current level to determine dequantized displacement coefficients of the current level, and perform inverse wavelet transform on the dequantized displacement coefficients of the current level to determine the displacement coefficients of the current level
  • the decoding unit 2501 is further configured to decode the bitstream to determine quantization parameter of the current level.
  • the second determination unit 2504 is further configured to determine a quantization parameter of a previous level of the current level.
  • the decoding unit 2501 is further configured to decode the bitstream to determine a quantization parameter increment of the current level.
  • the second determination unit 2504 is further configured to determine the quantization parameter of the current level according to the quantization parameter of the previous level and the quantization parameter increment.
  • the decoding unit 2501 is further configured to decode the bitstream to determine a two-dimensional image.
  • the second determination unit 2504 is further configured to perform displacement coefficient extraction on the two-dimensional image according to a preset packing mode to obtain the decoded displacement coefficients of the current level.
  • the decoding unit 2501 further configured to decode the bitstream to determine a value of a third syntax element.
  • the second determination unit 2504 is further configured to determine the preset packing mode according to the value of the third syntax element.
  • the second determination unit 2504 is further configured to perform displacement calculation on vertex coordinate information of the subdivided mesh of the current level according to the displacement coefficients to obtain the reconstructed mesh of the next level in the current mesh.
  • the decoding unit 2501 is further configured to decode the bitstream to determine a reconstruction base mesh when the first syntax element indicates that a midpoint subdivision mode is applied to the current mesh.
  • the second subdivision unit 2502 is further configured to subdivide the reconstructed base mesh to determine a subdivided mesh of at least one level in the current mesh.
  • the decoding unit 2501 is further configured to decode the bitstream to determine displacement coefficients of the at least one level in the current mesh.
  • the second reconstruction unit 2503 is further configured to determine a reconstructed mesh of the at least one level in the current mesh according to the subdivided mesh and displacement coefficients of the at least one level .
  • the number of levels in the at least one level is associated with the number of subdivision iterations for the current mesh.
  • the second determination unit 2504 is further configured to determine, when the value of the first syntax element is a first value, that the first syntax element indicates that no subdivision is applied to the current mesh; determine, when the value of the first syntax element is a second value, that the first syntax element indicates that a midpoint subdivision mode is applied to the current mesh; and determine, when the value of the first syntax element is a third value, that the first syntax element indicates that the recursive subdivision mode is applied to the current mesh.
  • unit may be part of a circuit, part of a processor, part of a program or software and the like, of course, may also be modular and may also be non-modular.
  • each component in the embodiment may be integrated into a processing unit, each unit may also exist independently, and two or more than two units may also be integrated into a unit.
  • the integrated unit may be implemented in a hardware form and may also be implemented in form of software function module.
  • the integrated unit When implemented in form of software function module and sold or used not as an independent product, the integrated unit may be stored in a computer-readable storage medium.
  • the embodiments of the disclosure provide a computer-readable storage medium, applied to the decoder 250.
  • the computer-readable storage medium stores a computer program that implements the method of any of the above embodiments when executed by a second processor.
  • FIG. 26 is a schematic diagram of hardware structure of a decoder according to an embodiment of the disclosure.
  • the decoder 250 may include a second communication interface 2601, a second memory 2602 and a second processor 2603.
  • the components are coupled together by a first bus system 2604.
  • the bus system 2604 is configured to implement connection communication among these components.
  • the bus system 2604 includes a data bus and further includes a power bus, a control bus and a state signal bus. However, for clear description, various buses in FIG. 26 are marked as the bus system 2604.
  • the second communication interface 2601 is configured to receive and send a signal in a process of receiving and sending information with another external network element.
  • the second memory 2602 is configured to store a computer program capable of running in the second processor 2603.
  • the second processor 2603 is configured to run the computer program to execute the following operations: decoding a bitstream to determine a value of a first syntax element; determining, when the first syntax element indicates that a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh, and subdividing the reconstructed mesh to determine a subdivided mesh of the current level; determining displacement coefficients of the current level by decoding the bitstream; and determining, according to the subdivided mesh of the current level and the displacement coefficients of the current level, a reconstructed mesh of a next level in the current mesh.
  • the second processor 2603 is further configured to run the computer program to execute the method described in any one of the above embodiments.
  • the second memory 2602 has similar hardware functions to the first memory 2402 and the second processor 2603 has similar hardware functions to the first processor 2403, which are not elaborated herein.
  • the embodiments provide a decoder.
  • the decoder by adding a first syntax element indicating that recursive subdivision is applied to the current mesh, the displacement coefficients are applied recursively to the previously reconstructed LoD when determining that recursive subdivision is applied to the current mesh, thereby removing redundant displacements at a higher level, reducing coded bits for the displacement coefficients, and further improving the coding and decoding efficiency.
  • FIG. 27 is a schematic structure diagram of a codec system according to an embodiment of the disclosure.
  • the codec system 270 may include an encoder 2701 and a decoder 2702.
  • the encoder 2701 may be an encoder as described in any of the above embodiments
  • the decoder 2702 may be a decoder as described in any of the above embodiments.
  • embodiments of the disclosure also provide a computer program product, including a computer program or instructions.
  • the computer program product may be applied to the encoder/decoder in the embodiments of the disclosure.
  • the computer program or instructions enable a computer to execute corresponding flows implemented by the encoder/decoder in each method of the embodiments of the disclosure, which will not be elaborated here for brief description.
  • a reconstructed mesh of a current level in the current mesh is determined, and the reconstructed mesh of the current level is subdivided to determine a subdivided mesh of the current level; displacement coefficients of the current level are determined; and a reconstructed mesh of a next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • a bitstream is decoded to determine a value of a first syntax element; when the first syntax element indicates that a recursive subdivision mode is applied to a current mesh, a reconstructed mesh of a current level in the current mesh is determined, and the reconstructed mesh of the current level is subdivided to determine a subdivided mesh of the current level; displacement coefficients of the current level are determined by decoding the bitstream; and a reconstructed mesh of a next level in the current mesh is determined according to the subdivided mesh of the current level and the displacement coefficients of the current level.
  • the displacement coefficients are applied recursively to the previously reconstructed LoD when it is determined that recursive subdivision is applied to the current mesh, thereby removing redundant displacements at a higher level, reducing coded bits for the displacement coefficients, and further improving the coding and decoding efficiency.

Landscapes

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

Abstract

Sont divulgués des procédés de codage et de décodage, un flux binaire, un codeur, un décodeur et un support d'enregistrement. Le procédé comprend les étapes suivantes : un flux binaire est décodé pour déterminer une valeur d'un premier élément de syntaxe ; lorsque le premier élément de syntaxe indique qu'un mode de subdivision récursive est appliqué à un maillage actuel, un maillage reconstruit d'un niveau actuel dans le maillage actuel est déterminé, le maillage reconstruit est subdivisé et un maillage subdivisé du niveau actuel est déterminé ; des coefficients de déplacement du niveau actuel sont déterminés par décodage du flux binaire ; et un maillage reconstruit d'un niveau suivant dans le maillage actuel est déterminé en fonction du maillage subdivisé du niveau actuel et des coefficients de déplacement du niveau actuel. De cette manière, les bits codés des coefficients de déplacement peuvent être économisés, et l'efficacité de codage et de décodage peut être améliorée.
PCT/CN2024/090846 2023-06-15 2024-04-30 Procédés de codage et de décodage, flux binaire, codeur, décodeur et support d'enregistrement Ceased WO2024255475A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202480027914.9A CN121079962A (zh) 2023-06-15 2024-04-30 编解码方法、码流、编码器、解码器以及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363521328P 2023-06-15 2023-06-15
US63/521,328 2023-06-15

Publications (1)

Publication Number Publication Date
WO2024255475A1 true WO2024255475A1 (fr) 2024-12-19

Family

ID=93851299

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/090846 Ceased WO2024255475A1 (fr) 2023-06-15 2024-04-30 Procédés de codage et de décodage, flux binaire, codeur, décodeur et support d'enregistrement

Country Status (2)

Country Link
CN (1) CN121079962A (fr)
WO (1) WO2024255475A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070247458A1 (en) * 2006-04-11 2007-10-25 Samsung Electronics Co., Ltd. Adaptive computation of subdivision surfaces
US20180075622A1 (en) * 2016-09-13 2018-03-15 Dassault Systemes Compressing a signal that represents a physical attribute
US20200021856A1 (en) * 2018-07-10 2020-01-16 Apple Inc. Hierarchical point cloud compression
US20220108483A1 (en) * 2020-10-06 2022-04-07 Sony Group Corporation Video based mesh compression
CN117319658A (zh) * 2019-06-19 2023-12-29 腾讯美国有限责任公司 视频编码方法、解码方法、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070247458A1 (en) * 2006-04-11 2007-10-25 Samsung Electronics Co., Ltd. Adaptive computation of subdivision surfaces
US20180075622A1 (en) * 2016-09-13 2018-03-15 Dassault Systemes Compressing a signal that represents a physical attribute
US20200021856A1 (en) * 2018-07-10 2020-01-16 Apple Inc. Hierarchical point cloud compression
CN117319658A (zh) * 2019-06-19 2023-12-29 腾讯美国有限责任公司 视频编码方法、解码方法、电子设备及存储介质
US20220108483A1 (en) * 2020-10-06 2022-04-07 Sony Group Corporation Video based mesh compression

Also Published As

Publication number Publication date
CN121079962A (zh) 2025-12-05

Similar Documents

Publication Publication Date Title
US12217465B2 (en) Method and apparatus for point cloud coding
WO2024012381A1 (fr) Procédé, appareil et support pour codage de nuage de points
WO2024074122A9 (fr) Procédé, appareil et support de codage de nuage de points
WO2024163690A2 (fr) Procédé de codage vidéo volumétrique visuel, codeur et décodeur
WO2024010919A1 (fr) Système et procédé de codage en nuage de points géométriques
WO2024255475A1 (fr) Procédés de codage et de décodage, flux binaire, codeur, décodeur et support d'enregistrement
WO2024255912A1 (fr) Procédé de codage, procédé de décodage, train de bits, codeur, décodeur, support et produit de programme
WO2025081769A1 (fr) Procédés de codage et de décodage, flux binaire, codeur, décodeur et support de stockage
EP4233006B1 (fr) Appareils et méthodes pour la quantification spatiale faisant partie d'une compression d'un nuage à points
WO2025067513A1 (fr) Procédés de codage et de décodage, codeur, décodeur et support de stockage
WO2024148573A1 (fr) Procédé de codage et de décodage, codeur, décodeur, et support d'enregistrement
WO2024213067A1 (fr) Procédé de décodage, procédé de codage, train de bits, décodeur, codeur et support de stockage
US20250234036A1 (en) V-dmc displacement wavelet coefficient inter prediction with fixed-point quantization
US20240282011A1 (en) Fix-point implementation of mesh codec
US20260019640A1 (en) Overriding syntax elements in frame parameter set and meshpatches in v-dmc
WO2024074121A1 (fr) Procédé, appareil et support de codage en nuage de points
EP4244813B1 (fr) Dispositifis et méthodes pour la compression échelonnable de nuages à points
US20260017831A1 (en) System and method for geometry point cloud coding
WO2026012341A1 (fr) Procédé, appareil et moyen pour un codage de nuage de points
WO2025000342A1 (fr) Procédé de codage et de décodage, codeur, décodeur, et support de stockage
WO2025151992A1 (fr) Procédé de codage, procédé de décodage, flux de codes, codeurs, décodeurs et support de stockage
WO2025151615A1 (fr) Prédiction inter de coefficient d'ondelettes à déplacement v-dmc avec quantification à virgule fixe
WO2025213480A1 (fr) Procédé et appareil de codage, procédé et appareil de décodage, codeur de nuage de points, décodeur de nuage de points, flux binaire, dispositif et support de stockage
WO2025145325A1 (fr) Procédé de codage, procédé de décodage, codeurs, décodeurs et support de stockage
Köse et al. 3D model compression using connectivity-guided adaptive wavelet transform built into 2D SPIHT

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: 24822430

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE