US2026019609A1PendingUtilityA1

Video-dynamic mesh coding entropy encoding improvements in static-mesh encoder

Assignee: QUALCOMM INCPriority: Jul 9, 2024Filed: Jun 20, 2025Published: Jan 15, 2026
Est. expiryJul 9, 2044(~17.9 yrs left)· nominal 20-yr term from priority
H04N 19/91H04N 19/70H04N 19/597H04N 19/17H04N 19/13H04N 19/44H04N 19/593H04N 19/184G06T 9/004G06T 9/001
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A device is configured to decode a mesh from a bitstream that includes the encoded mesh data, wherein, as part of decoding the mesh, one or more processors of the device are configured to determine, based on encoded mesh data, a base mesh that includes a set of vertices; apply the entropy decoding to first, second, and third entropy-encoded data comprises using a shared non-bypass context for entropy decoding at least one bin of each of the first truncated unary (TU) data, the second TU data, and the third TU data, where the first, second, and third TU data are included in binarized representations of syntax elements representing first and second residual values of components of normal vectors of vertices and a second residual value of a component of a normal vector of a vertex.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A device for decoding encoded mesh data, the device comprising:
 one or more memory units; and   one or more processors implemented in circuitry, coupled to the one or more memory units, and configured to decode a mesh from a bitstream that includes the encoded mesh data, wherein the one or more processors are configured to, as part of decoding the mesh:
 determine, based on the encoded mesh data, a base mesh that includes a set of vertices; 
 use a first prediction method to generate a prediction of a component of a first normal vector of a first vertex in the set of vertices; 
 apply entropy decoding to first entropy-encoded data in the bitstream to decode first data, wherein the first data is a binarized representation of a first syntax element, the first syntax element indicates a value of a component of a first prediction residual, the value of the component of the first prediction residual indicates a difference between the prediction of the component of the first normal vector and a value of the component of the first normal vector, the first data comprises first truncated unary (TU) data and a first exponential-Golomb code, the first exponential-Golomb code comprising a first prefix and a first suffix; 
 apply entropy decoding to second entropy-encoded data in the bitstream to decode second data, wherein the second data is a binarized representation of a second syntax element, the second syntax element indicates a second residual value of the component of the normal vector of the first vertex, the second data comprises second truncated unary (TU) data and a second exponential-Golomb code, the second exponential-Golomb code comprising a second prefix and a second suffix; 
 determine the first normal vector based in part on the prediction of the component of the first normal vector, the value of the component of the first prediction residual, and the second residual value of the component of the first normal vector; 
 use a second prediction method to generate a prediction of a component of a second normal vector of a second vertex in the set of vertices; 
 apply entropy decoding to third entropy-encoded data in the bitstream to decode third data, wherein the third data is a binarized representation of a third syntax element, the third syntax element indicates a value of a component of a second prediction residual, wherein the value of the component of the second prediction residual indicates a difference between the prediction of the component of the second normal vector and a value of the component of the second normal vector, the third data comprising third TU data and a third exponential-Golomb code, the third exponential-Golomb code comprising a third prefix and a third suffix; 
 determine the normal vector of the second vertex based in part on the prediction of the component of the second normal vector and the value of the component of the second prediction residual, 
 wherein applying the entropy decoding to the first, second, and third entropy-encoded data comprises using a first shared non-bypass context for entropy decoding at least one bin of each of the first TU data, the second TU data, and the third TU data; 
 subdivide the base mesh to determine an additional set of vertices for the base mesh; 
 determine one or more displacement vectors; 
 deform the base mesh, wherein to deform the base mesh, the one or more processors are configured to modify locations of the additional set of vertices based on the one or more displacement vectors; and 
 determine a decoded mesh based on the base mesh. 
   
     
     
         2 . The device of  claim 1 , wherein, to apply the entropy decoding to the first, second, and third entropy-encoded data, the one or more processors are further configured to use a second shared non-bypass context for entropy decoding at least one bin of each of the first prefix, the second prefix, and the third prefix. 
     
     
         3 . The device of  claim 2 , wherein to apply the entropy decoding to the second entropy-encoded data, the one or more processors are further configured to use the second shared non-bypass context for entropy decoding second through eighth bins of the third prefix. 
     
     
         4 . The device of  claim 1 , wherein to apply the entropy decoding to the first, second, and third entropy-encoded data, the one or more processors are further configured to use a third shared non-bypass context for entropy decoding each remaining bin of the first TU data and each remaining bin of the third TU data, and use the first shared non-bypass context for entropy decoding each remaining bone of the second TU data. 
     
     
         5 . The device of  claim 1 , wherein to apply the entropy decoding to the first entropy-encoded data, the one or more processors are further configured to use a second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and eleventh contexts for entropy decoding second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and eleventh bins of the first prefix. 
     
     
         6 . The device of  claim 1 , wherein:
 to apply the entropy decoding to the first entropy-encoded data, the one or more processors are further configured to apply bypass decoding to a 12th bin of the first prefix,   to apply the entropy decoding to the second entropy-encoded data, the one or more processors are further configured to apply bypass decoding to a 9th through 12th bin of the second prefix, and   to applying the entropy decoding to the third entropy-encoded data, the one or more processors are further configured to apply bypass decoding to a 2nd through 12th bin of the third prefix.   
     
     
         7 . A method for decoding encoded mesh data, the method comprising:
 decoding a mesh from a bitstream that includes the encoded mesh data, wherein decoding the mesh comprises:
 determining, based on the encoded mesh data, a base mesh that includes a set of vertices; 
 using a first prediction method to generate a prediction of a component of a first normal vector of a first vertex in the set of vertices; 
 applying entropy decoding to first entropy-encoded data in the bitstream to decode first data, wherein the first data is a binarized representation of a first syntax element, the first syntax element indicates a value of a component of a first prediction residual, the value of the component of the first prediction residual indicates a difference between the prediction of the component of the first normal vector and a value of the component of the first normal vector, the first data comprises first truncated unary (TU) data and a first exponential-Golomb code, the first exponential-Golomb code comprising a first prefix and a first suffix; 
 applying entropy decoding to second entropy-encoded data in the bitstream to decode second data, wherein the second data is a binarized representation of a second syntax element, the second syntax element indicates a second residual value of the component of the normal vector of the first vertex, the second data comprises second truncated unary (TU) data and a second exponential-Golomb code, the second exponential-Golomb code comprising a second prefix and a second suffix; 
 determining the first normal vector based in part on the prediction of the component of the first normal vector, the value of the component of the first prediction residual, and the second residual value of the component of the first normal vector; 
 using a second prediction method to generate a prediction of a component of a second normal vector of a second vertex in the set of vertices; 
 applying entropy decoding to third entropy-encoded data in the bitstream to decode third data, wherein the third data is a binarized representation of a third syntax element, the third syntax element indicates a value of a component of a second prediction residual, wherein the value of the component of the second prediction residual indicates a difference between the prediction of the component of the second normal vector and a value of the component of the second normal vector, the third data comprising third TU data and a third exponential-Golomb code, the third exponential-Golomb code comprising a third prefix and a third suffix; 
 determining the normal vector of the second vertex based in part on the prediction of the component of the second normal vector and the value of the component of the second prediction residual, 
 wherein applying the entropy decoding to the first, second, and third entropy-encoded data comprises using a first shared non-bypass context for entropy decoding at least one bin of each of the first TU data, the second TU data, and the third TU data; 
 subdividing the base mesh to determine an additional set of vertices for the base mesh; 
 determining one or more displacement vectors; 
 deforming the base mesh, wherein deforming the base mesh comprises modifying locations of the additional set of vertices based on the one or more displacement vectors; and 
   determining a decoded mesh based on the base mesh.   
     
     
         8 . The method of  claim 7 , wherein applying the entropy decoding to the first, second, and third entropy-encoded data comprises using a second shared non-bypass context for entropy decoding at least one bin of each of the first prefix, the second prefix, and the third prefix. 
     
     
         9 . The method of  claim 8 , wherein applying the entropy decoding to the second entropy-encoded data further comprises using the second shared non-bypass context for entropy decoding second through eighth bins of the third prefix. 
     
     
         10 . The method of  claim 7 , wherein applying the entropy decoding to the first, second, and third entropy-encoded data comprises using a third shared non-bypass context for entropy decoding each remaining bin of the first TU data and each remaining bin of the third TU data, and using the first shared non-bypass context for entropy decoding each remaining bone of the second TU data. 
     
     
         11 . The method of  claim 7 , wherein applying the entropy decoding to the first entropy-encoded data comprises using a second, third, and fourth non-bypass context for entropy decoding second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and eleventh contexts for entropy decoding second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and eleventh bins of the first prefix. 
     
     
         12 . The method of  claim 7 , wherein:
 applying the entropy decoding to the first entropy-encoded data further comprises applying bypass decoding to a 12th bin of the first prefix,   applying the entropy decoding to the third entropy-encoded data further comprises applying bypass decoding to a 9th through 12th bin of the third prefix, and   applying the entropy decoding to the second entropy-encoded data further comprises applying bypass decoding to a 2nd through 12th bin of the second prefix.   
     
     
         13 . A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to:
 decode a mesh from a bitstream that includes encoded mesh data, wherein the one or more processors are configured to, as part of decoding the mesh:
 determine, based on the encoded mesh data, a base mesh that includes a set of vertices; 
 use a first prediction method to generate a prediction of a component of a first normal vector of a first vertex in the set of vertices; 
 apply entropy decoding to first entropy-encoded data in the bitstream to decode first data, wherein the first data is a binarized representation of a first syntax element, the first syntax element indicates a value of a component of a first prediction residual, the value of the component of the first prediction residual indicates a difference between the prediction of the component of the first normal vector and a value of the component of the first normal vector, the first data comprises first truncated unary (TU) data and a first exponential-Golomb code, the first exponential-Golomb code comprising a first prefix and a first suffix; 
 apply entropy decoding to second entropy-encoded data in the bitstream to decode second data, wherein the second data is a binarized representation of a second syntax element, the second syntax element indicates a second residual value of the component of the normal vector of the first vertex, the second data comprises second truncated unary (TU) data and a second exponential-Golomb code, the second exponential-Golomb code comprising a second prefix and a second suffix; 
 determine the first normal vector based in part on the prediction of the component of the first normal vector, the value of the component of the first prediction residual, and the second residual value of the component of the first normal vector; 
 use a second prediction method to generate a prediction of a component of a second normal vector of a second vertex in the set of vertices; 
 apply entropy decoding to third entropy-encoded data in the bitstream to decode third data, wherein the third data is a binarized representation of a third syntax element, the third syntax element indicates a value of a component of a second prediction residual, wherein the value of the component of the second prediction residual indicates a difference between the prediction of the component of the second normal vector and a value of the component of the second normal vector, the third data comprising third TU data and a third exponential-Golomb code, the third exponential-Golomb code comprising a third prefix and a third suffix; 
 determine the normal vector of the second vertex based in part on the prediction of the component of the second normal vector and the value of the component of the second prediction residual, 
 wherein applying the entropy decoding to the first, second, and third entropy-encoded data comprises using a first shared non-bypass context for entropy decoding at least one bin of each of the first TU data, the second TU data, and the third TU data; 
 subdivide the base mesh to determine an additional set of vertices for the base mesh; 
 determine one or more displacement vectors; 
 deform the base mesh, wherein to deform the base mesh, the one or more processors are configured to modify locations of the additional set of vertices based on the one or more displacement vectors; and 
 determine a decoded mesh based on the base mesh. 
   
     
     
         14 . The non-transitory computer-readable storage medium of  claim 13 , wherein, to apply the entropy decoding to the first, second, and third entropy-encoded data, the instructions further cause the one or more processors to use a second shared non-bypass context for entropy decoding at least one bin of each of the first prefix, the second prefix, and the third prefix. 
     
     
         15 . The non-transitory computer-readable storage medium of  claim 14 , wherein to apply the entropy decoding to the second entropy-encoded data, the instructions further cause the one or more processors to use the second shared non-bypass context for entropy decoding second through eighth bins of the third prefix. 
     
     
         16 . The non-transitory computer-readable storage medium of  claim 13 , wherein to apply the entropy decoding to the first, second, and third entropy-encoded data, the instructions further cause the one or more processors to use a third shared non-bypass context for entropy decoding each remaining bin of the first TU data and each remaining bin of the third TU data, and use the first shared non-bypass context for entropy decoding each remaining bone of the second TU data. 
     
     
         17 . The non-transitory computer-readable storage medium of  claim 13 , wherein to apply the entropy decoding to the first entropy-encoded data, the instructions further cause one or more processors to use a second, third, and fourth non-bypass context for entropy decoding second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and eleventh contexts for entropy decoding second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and eleventh bins of the first prefix. 
     
     
         18 . The non-transitory computer-readable storage medium of  claim 13 , wherein:
 to apply the entropy decoding to the first entropy-encoded data, the instructions further cause the one or more processors to apply bypass decoding to a 12th bin of the first prefix,   to apply the entropy decoding to the second entropy-encoded data, the instructions further cause the one or more processors to apply bypass decoding to a 9th through 12th bin of the second prefix, and   to applying the entropy decoding to the third entropy-encoded data, the instructions further cause the one or more processors to apply bypass decoding to a 2nd through 12th bin of the third prefix.

Join the waitlist — get patent alerts

Track US2026019609A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.