Patentable/Patents/US-9479780
US-9479780

Simplification of significance map coding

PublishedOctober 25, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

In one embodiment, a method for encoding video data is provided that includes receiving an array of transform coefficients corresponding to a luma component or a chroma component of the video data. The method further includes encoding a significance map for the array, where the encoding includes selecting, using a shared context derivation process that applies to both the luma component and the chroma component, context models for encoding significance values in the significance map.

Patent Claims
4 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for encoding video data comprising: receiving, by a computing device, an array of transform coefficients corresponding to a luma component or a chroma component of the video data; selecting, by the computing device, using a shared L1 context derivation process that applies to both the luma component and the chroma component, L1 context models wherein the L1 context models are selected from a shared set of L1 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: determining a significance value of a right neighbor sub-block of the sub-block and a significance value of a bottom neighbor sub-block of the sub-block, and selecting one of a first L1 context model or a second L1 context model for encoding the significance value of the sub-block based only on the significance value of the right neighbor sub-block and the significance value of the bottom neighbor sub-block of the sub-block, wherein the first L1 context model is selected if neither the significance value of the right neighbor sub-block nor the significance value of the bottom neighbor sub-block is equal to one and the second L1 context model is selected if the significance value of the right neighbor sub-block or the significance value of the bottom neighbor sub-block is equal to one; encoding, by the computing device, an L1 significance map that includes L1 significance values for sub-blocks in the array using the context models; selecting, by the computing device, using a shared L0 context derivation process that applies to both the luma component and the chroma component, L0 context models wherein the L0 context models are selected from a shared set of L0 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: partitioning the array into a first region and a second region using a shared partitioning process, wherein the first region comprises a DC coefficient of the array and the second region comprises transform coefficients in the array other than the DC coefficient, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the first region, a first L0 context model for encoding the significance value of the transform coefficients of the sub-block, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the second region, one of a second L0 context model, a third L0 context model, a fourth L0 context model or a fifth L0 context model for encoding the significance value of a transform coefficient of the sub-block having a non-zero significance value based on significance values of four neighbor transform coefficients, wherein the second L0 context model is selected if there are no non-zero significance values among the four neighbor transform coefficients, the third L0 context model is selected if there is one non-zero significance value among the four neighbor transform coefficients, the fourth L0 context model is selected if there are two non-zero significance values among the four neighbor transform coefficients, and the fifth L0 context model is selected if there are more than two non-zero significance value among the four neighbor transform coefficients; and encoding, by the computing device, an L0 significance map that includes L0 significance values for sub-blocks in the array using the L0 context models.

2

2. A method for decoding video data comprising: receiving, by a computing device, a bitstream of compressed data, the compressed data including an array of transform coefficients that was previously encoded, the array corresponding to a luma component or a chroma component of the video data; selecting, by the computing device, using a shared L1 context derivation process that applies to both the luma component and the chroma component, L1 context models wherein the L1 context models are selected from a shared set of L1 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: determining a significance value of a right neighbor sub-block of the sub-block and a significance value of a bottom neighbor sub-block of the sub-block, and selecting one of a first L1 context model or a second L1 context model for decoding the significance value of the sub-block based only on the significance value of the right neighbor sub-block and the significance value of the bottom neighbor sub-block of the sub-block, wherein the first L1 context model is selected if neither the significance value of the right neighbor sub-block nor the significance value of the bottom neighbor sub-block is equal to one and the second L1 context model is selected if the significance value of the right neighbor sub-block or the significance value of the bottom neighbor sub-block is equal to one; decoding, by the computing device, an L1 significance map that includes L1 significance values for sub-blocks in the array using the context models; selecting, by the computing device, using a shared L0 context derivation process that applies to both the luma component and the chroma component, L0 context models wherein the L0 context models are selected from a shared set of L0 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: partitioning the array into a first region and a second region using a shared partitioning process, wherein the first region comprises a DC coefficient of the array and the second region comprises transform coefficients in the array other than the DC coefficient, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the first region, a first L0 context model for decoding the significance value of the transform coefficients of the sub-block, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the second region, one of a second L0 context model, a third L0 context model, a fourth L0 context model or a fifth L0 context model for decoding the significance value of a transform coefficient of the sub-block having a non-zero significance value based on significance values of four neighbor transform coefficients, wherein the second L0 context model is selected if there are no non-zero significance values among the four neighbor transform coefficients, the third L0 context model is selected if there is one non-zero significance value among the four neighbor transform coefficients, the fourth L0 context model is selected if there are two non-zero significance values among the four neighbor transform coefficients, and the fifth L0 context model is selected if there are more than two non-zero significance value among the four neighbor transform coefficients; and decoding, by the computing device, an L0 significance map that includes L0 significance values for sub-blocks in the array using the L0 context models.

3

3. A non-transitory computer-readable medium including program code executable by a processor for encoding video data, wherein the program code, when executed by the processor, causes the processor to perform operations, the operations comprising: receiving an array of transform coefficients corresponding to a luma component or a chroma component of the video data; selecting, using a shared L1 context derivation process that applies to both the luma component and the chroma component, L1 context models wherein the L1 context models are selected from a shared set of L1 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: determining a significance value of a right neighbor sub-block of the sub-block and a significance value of a bottom neighbor sub-block of the sub-block, and selecting one of a first L1 context model or a second L1 context model for encoding the significance value of the sub-block based only on the significance value of the right neighbor sub-block and the significance value of the bottom neighbor sub-block of the sub-block, wherein the first L1 context model is selected if neither the significance value of the right neighbor sub-block nor the significance value of the bottom neighbor sub-block is equal to one and the second L1 context model is selected if the significance value of the right neighbor sub-block or the significance value of the bottom neighbor sub-block is equal to one; encoding an L1 significance map that includes L1 significance values for sub-blocks in the array using the context models; selecting using a shared L0 context derivation process that applies to both the luma component and the chroma component, L0 context models wherein the L0 context models are selected from a shared set of L0 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: partitioning the array into a first region and a second region using a shared partitioning process, wherein the first region comprises a DC coefficient of the array and the second region comprises transform coefficients in the array other than the DC coefficient, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the first region, a first L0 context model for encoding the significance value of the transform coefficients of the sub-block, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the second region, one of a second L0 context model, a third L0 context model, a fourth L0 context model or a fifth L0 context model for encoding the significance value of a transform coefficient of the sub-block having a non-zero significance value based on significance values of four neighbor transform coefficients, wherein the second L0 context model is selected if there are no non-zero significance values among the four neighbor transform coefficients, the third L0 context model is selected if there is one non-zero significance value among the four neighbor transform coefficients, the fourth L0 context model is selected if there are two non-zero significance values among the four neighbor transform coefficients, and the fifth L0 context model is selected if there are more than two non-zero significance value among the four neighbor transform coefficients; and encoding an L0 significance map that includes L0 significance values for sub-blocks in the array using the L0 context models.

4

4. A non-transitory computer-readable medium have stored thereon program code executable by a processor for decoding video data, the program code comprising: receiving a bitstream of compressed data, the compressed data including an array of transform coefficients that was previously encoded, the array corresponding to a luma component or a chroma component of the video data; selecting, using a shared L1 context derivation process that applies to both the luma component and the chroma component, L1 context models wherein the L1 context models are selected from a shared set of L1 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: determining a significance value of a right neighbor sub-block of the sub-block and a significance value of a bottom neighbor sub-block of the sub-block, and selecting one of a first L1 context model or a second L1 context model for decoding the significance value of the sub-block based only on the significance value of the right neighbor sub-block and the significance value of the bottom neighbor sub-block of the sub-block, wherein the first L1 context model is selected if neither the significance value of the right neighbor sub-block nor the significance value of the bottom neighbor sub-block is equal to one and the second L1 context model is selected if the significance value of the right neighbor sub-block or the significance value of the bottom neighbor sub-block is equal to one; decoding an L1 significance map that includes L1 significance values for sub-blocks in the array using the context models; selecting using a shared L0 context derivation process that applies to both the luma component and the chroma component, L0 context models wherein the L0 context models are selected from a shared set of L0 context models that apply to both the luma component and the chroma component and the selecting includes, for each sub-block in the array: partitioning the array into a first region and a second region using a shared partitioning process, wherein the first region comprises a DC coefficient of the array and the second region comprises transform coefficients in the array other than the DC coefficient, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the first region, a first L0 context model for decoding the significance value of the transform coefficients of the sub-block, selecting, for each sub-block having a non-zero significance value, when the sub-block is in the second region, one of a second L0 context model, a third L0 context model, a fourth L0 context model or a fifth L0 context model for decoding the significance value of a transform coefficient of the sub-block having a non-zero significance value based on significance values of four neighbor transform coefficients, wherein the second L0 context model is selected if there are no non-zero significance values among the four neighbor transform coefficients, the third L0 context model is selected if there is one non-zero significance value among the four neighbor transform coefficients, the fourth L0 context model is selected if there are two non-zero significance values among the four neighbor transform coefficients, and the fifth L0 context model is selected if there are more than two non-zero significance value among the four neighbor transform coefficients; and decoding an L0 significance map that includes L0 significance values for sub-blocks in the array using the L0 context models.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

November 15, 2012

Publication Date

October 25, 2016

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Simplification of significance map coding” (US-9479780). https://patentable.app/patents/US-9479780

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.