Significance map encoding and decoding using partition selection
AssigneeVelos Media, LLC
InventorsGergely Ferenc Korodi, Jinwen Zan, Dake He
Life of this patent
Estimating the term…
Abstract
Methods of encoding and decoding for video data are describe in which significance maps are encoded and decoded using non-spatially-uniform partitioning of the map into parts, wherein the bit positions within each part are associated with a given context. Example partition sets and processes for selecting from amongst predetermined partition sets and communicating the selection to the decoder are described.
Claims18
A method of decoding a bitstream, the method comprising:
- assigning context index increment values to a plurality of encoded significant coefficient flags of a transform block having a 4×4 size, wherein the context index increment values are mapped to bit positions of the plurality of encoded significant coefficient flags in the transform block, wherein the bit positions correspond to coefficient scan positions (xC,yC), such that:
- a first context index increment value is mapped to one bit position (0,0) of the transform block;
- a second context index increment value is mapped to one bit position (1,0) of the transform block;
- a third context index increment value is mapped to one bit position (0,1) of the transform block;
- a fourth context index increment value is mapped to one bit position (1,1) of the transform block;
- a fifth context index increment value is mapped to two bit positions (2,0) and (2,1) of the transform block;
- a sixth context index increment value is mapped to two bit positions (3,0) and (3,1) of the transform block;
- a seventh context index increment value is mapped to two bit positions (0,2) and (1,2) of the transform block;
- an eighth context index increment value is mapped to two bit positions (0,3) and (1,3) of the transform block;
- a ninth context index increment value is mapped to three bit positions (2,2), (3,2), and (2,3) of the transform block;
- and
- the first context index increment value, the second context index increment value, the third context index increment value, the fourth context index increment value, the fifth context index increment value, the sixth context index increment value, the seventh context index increment value, the eighth context index increment value, and the ninth context index increment value are different values;
- determining, using the assigned context index increment values, contexts corresponding to the plurality of encoded significant coefficient flags;
- and
- decoding, using the determined contexts, the plurality of encoded significant coefficient flags.
A non-transitory processor-readable medium storing executable instructions which, when executed, cause one or more processors to
- assign context index increment values to a plurality of encoded significant coefficient flags of a transform block having a 4×4 size, wherein the context index increment values are mapped to bit positions of the plurality of encoded significant coefficient flags in the transform block, wherein the bit positions correspond to coefficient scan positions (xC,yC), such that:
- a first context index increment value is mapped to one bit position (0,0) of the transform block;
- a second context index increment value is mapped to one bit position (1,0) of the transform block;
- a third context index increment value is mapped to one bit position (0,1) of the transform block;
- a fourth context index increment value is mapped to one bit position (1,1) of the transform block;
- a fifth context index increment value is mapped to two bit positions (2,0) and (2,1) of the transform block;
- a sixth context index increment value is mapped to two bit positions (3,0) and (3.1) of the transform block;
- a seventh context index increment value is mapped to two bit positions (0,2) and (1,2) of the transform block;
- an eighth context index increment value is mapped to two bit positions (0,3) and (1,3) of the transform block;
- a ninth context index increment value is mapped to three bit positions (2,2), (3,2), and (2,3) of the transform block;
- and
- the first context index increment value, the second context index increment value, the third context index increment value, the fourth context index increment value, the fifth context index increment value, the sixth context index increment value, the seventh context index increment value, the eighth context index increment value, and the ninth context index increment value are different values;
- determine, using the assigned context index increment values, contexts corresponding to the plurality of encoded significant coefficient flags;
- and
- decode, using the determined contexts, the plurality of encoded significant coefficient flags.
A decoder for decoding a bitstream, the decoder comprising:
- at least one processor configured to perform operations comprising:
- assigning context index increment values to a plurality of encoded significant coefficient flags of a transform block having a 4×4 size, wherein the context index increment values are mapped to bit positions of the plurality of encoded significant coefficient flags in the transform block, wherein the bit positions correspond to coefficient scan positions (xC,yC), such that:
- a first context index increment value is mapped to one bit position (0, 0) of the transform block;
- a second context index increment value is mapped to one bit position (1,0) of the transform block;
- a third context index increment value is mapped to one bit position (0,1) of the transform block;
- a fourth context index increment value is mapped to one bit position (1,1) of the transform block;
- a fifth context index increment value is mapped to two bit positions (2,0) and (2,1) of the transform block;
- a sixth context index increment value is mapped to two bit positions (3,0) and (3.1) of the transform block;
- a seventh context index increment value is mapped to two bit positions (0,2) and (1,2) of the transform block;
- an eighth context index increment value is mapped to two bit positions (0,3) and (1,3) of the transform block;
- a ninth context index increment value is mapped to three bit positions (2,2), (3,2) and (2,3) of the transform block;
- and
- the first context index increment value, the second context index increment value, the third context index increment value, the fourth context index increment value, the fifth context index increment value, the sixth context index increment value, the seventh context index increment value, the eighth context index increment value, and the ninth context index increment value are different values;
- determining, using the assigned context index increment values, contexts corresponding to the plurality of encoded significant coefficient flags;
- and
- decoding, using the determined contexts, the plurality of encoded significant coefficient flags.
A method of encoding a bitstream, comprising:
- assigning context index increment values to a plurality of significant coefficient flags of a transform block having a 4×4 size, wherein the context index increment values are mapped to bit positions of the plurality of significant coefficient flags in the transform block, wherein the bit positions correspond to coefficient scan positions (xC,yC), such that:
- a first context index increment value is mapped to one bit position (0,0) of the transform block;
- a second context index increment value is mapped to one bit position (1,0) of the transform block;
- a third context index increment value is mapped to one bit position (0,1) of the transform block;
- a fourth context index increment value is mapped to one bit position (1,1) of the transform block;
- a fifth context index increment value is mapped to two bit positions (2,0) and (2,1) of the transform block;
- a sixth context index increment value is mapped to two bit positions (3,0) and (3,1) of the transform block;
- a seventh context index increment value is mapped to two bit positions (0,2) and (1,2) of the transform block;
- an eighth context index increment value is mapped to two bit positions (0,3) and (1,3) of the transform block;
- a ninth context index increment value is mapped to three bit positions (2,2), (3,2) and (2,3) of the transform block;
- and
- the first context index increment value, the second context index increment value, the third context index increment value, the fourth context index increment value, the fifth context index increment value, the sixth context index increment value, the seventh context index increment value, the eighth context index increment value, and the ninth context index increment value are different values;
- determining, using the assigned context index increment values, contexts corresponding to the plurality of significant coefficient flags;
- and
- encoding, using the determined contexts, the plurality of significant coefficient flags.
A non-transitory processor-readable medium storing executable instructions which, when executed, cause one or more processors to:
- assign context index increment values to a plurality of significant coefficient flags of a transform block having a 4×4 size, wherein the context index increment values are mapped to bit positions of the plurality of significant coefficient flags in the transform block, wherein the bit positions correspond to coefficient scan positions (xC,yC), such that:
- a first context index increment value is mapped to one bit position (0,0) of the transform block;
- a second context index increment value is mapped to one bit position (1,0) of the transform block;
- a third context index increment value is mapped to one bit position (0,1) of the transform block;
- a fourth context index increment value is mapped to one bit position (1,1) of the transform block;
- a fifth context index increment value is mapped to two bit positions (2,0) and (2,1) of the transform block;
- a sixth context index increment value is mapped to two bit positions (3,0) and (3,1) of the transform block;
- a seventh context index increment value is mapped to two bit positions (0,2) and (1,2) of the transform block;
- an eighth context index increment value is mapped to two bit positions (0,3) and (1,3) of the transform block;
- a ninth context index increment value is mapped to three bit positions (2,2), (3,2) and (2,3) of the transform block;
- and
- the first context index increment value, the second context index increment value, the third context index increment value, the fourth context index increment value, the fifth context index increment value, the sixth context index increment value, the seventh context index increment value, the eighth context index increment value, and the ninth context index increment value are different values;
- determine, using the assigned context index increment values, contexts corresponding to the plurality of significant coefficient flags;
- and
- encode, using the determined contexts, the plurality of significant coefficient flag.
An encoder for encoding a bitstream, comprising:
- at least one processor configured to perform operations comprising:
- assigning context index increment values to a plurality of significant coefficient flags of a transform block having a 4×4 size, wherein the context index increment values are mapped to bit positions of the plurality of significant coefficient flags in the transform block, wherein the bit positions correspond to coefficient scan positions (xC,yC), such that:
- a first context index increment value is mapped to one bit position (0,0) of the transform block;
- a second context index increment value is mapped to one bit position (1,0) of the transform block;
- a third context index increment value is mapped to one bit position (0,1) of the transform block;
- a fourth context index increment value is mapped to one bit position (1,1) of the transform block;
- a fifth context index increment value is mapped to two bit positions (2,0) and (2,1) of the transform block;
- a sixth context index increment value is mapped to two bit positions (3,0) and (3,1) of the transform block;
- a seventh context index increment value is mapped to two bit positions (0,2) and (1,2) of the transform block;
- an eighth context index increment value is mapped to two bit positions (0,3) and (1,3) of the transform block;
- a ninth context index increment value is mapped to three bit positions (2,2), (3,2) and (2,3) of the transform block;
- and
- the first context index increment value, the second context index increment value, the third context index increment value, the fourth context index increment value, the fifth context index increment value, the sixth context index increment value, the seventh context index increment value, the eighth context index increment value, and the ninth context index increment value are different values;
- determining, using the assigned context index increment values, contexts corresponding to the plurality of significant coefficient flags;
- and
- encoding, using the determined contexts, the plurality of significant coefficient flags.
Dependencies are inferred from the claim text.