Coding the position of a last significant coefficient of a video block in video coding
Abstract
In one example, an apparatus is disclosed for coding coefficients associated with a block of video data during a video coding process, wherein the apparatus includes a video coder configured to code information that identifies a position of a last non-zero coefficient within the block according to a scanning order associated with the block, wherein to code the information, the video coder is configured to perform a context adaptive entropy coding process that includes the video coder applying a context model based on at least three contexts, wherein the at least three contexts include a size associated with the block, a position of a given one of the coefficients within the block according to the scanning order, and the scanning order.
Claims
exact text as granted — not AI-modified1 . A method of coding coefficients associated with a block of video data during a video coding process, the method comprising:
coding information that identifies a position of a last non-zero coefficient within the block according to a scanning order associated with the block, wherein coding the information comprises performing a context adaptive entropy coding process that includes applying a context model based on at least three contexts, wherein the at least three contexts include: a size associated with the block; a position of a given one of the coefficients within the block according to the scanning order; and the scanning order.
2 . The method of claim 1 , wherein coding comprises encoding, and wherein encoding the information that identifies the position of the last non-zero coefficient within the block according to the scanning order comprises:
for each of one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, determining whether the coefficient is the last non-zero coefficient within the block according to the scanning order, and generating a last significant coefficient flag that indicates whether the coefficient is the last non-zero coefficient within the block according to the scanning order; arranging the last significant coefficient flags for the one or more coefficients into a sequence based on the scanning order; and encoding the sequence by performing the context adaptive entropy coding process.
3 . The method of claim 2 , wherein encoding the sequence by performing the context adaptive entropy coding process that includes applying the context model based on the position of the given one of the coefficients within the block according to the scanning order comprises:
for each last significant coefficient flag of the sequence, applying the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
4 . The method of claim 1 , wherein coding comprises decoding, and wherein decoding the information that identifies the position of the last non-zero coefficient within the block according to the scanning order comprises:
decoding a sequence of last significant coefficient flags for one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, wherein each of the last significant coefficient flags indicates whether the respective coefficient is the last non-zero coefficient within the block according to the scanning order, by performing the context adaptive entropy coding process; and for each coefficient associated with the block, determining whether the coefficient is the last non-zero coefficient within the block according to the scanning order, based on the sequence.
5 . The method of claim 4 , wherein decoding the sequence by performing the context adaptive entropy coding process that includes applying the context model based on the position of the given one of the coefficients within the block according to the scanning order comprises:
for each last significant coefficient flag of the sequence, applying the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
6 . The method of claim 1 , further comprising updating the context model based on the information that identifies the position of the last non-zero coefficient within the block according to the scanning order.
7 . The method of claim 1 , wherein the size associated with the block comprises a value corresponding to a number of the coefficients associated with the block.
8 . The method of claim 1 , wherein the scanning order comprises at least one of a zig-zag scanning order, a horizontal scanning order, a vertical scanning order, and a diagonal scanning order.
9 . The method of claim 1 , wherein the context adaptive entropy coding process comprises a context adaptive binary arithmetic coding (CABAC) process.
10 . The method of claim 1 , wherein the context adaptive entropy coding process comprises a probability interval partitioning entropy coding (PIPE) process.
11 . An apparatus for coding coefficients associated with a block of video data during a video coding process, the apparatus comprising a video coder configured to:
code information that identifies a position of a last non-zero coefficient within the block according to a scanning order associated with the block, wherein to code the information, the video coder is configured to perform a context adaptive entropy coding process that includes the video coder applying a context model based on at least three contexts, wherein the at least three contexts include: a size associated with the block; a position of a given one of the coefficients within the block according to the scanning order; and the scanning order.
12 . The apparatus of claim 11 , wherein the video coder comprises an entropy encoding unit, and wherein to code the information that identifies the position of the last non-zero coefficient within the block according to the scanning order, the entropy encoding unit is configured to:
for each of one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, determine whether the coefficient is the last non-zero coefficient within the block according to the scanning order, and generate a last significant coefficient flag that indicates whether the coefficient is the last non-zero coefficient within the block according to the scanning order; arrange the last significant coefficient flags for the one or more coefficients into a sequence based on the scanning order; and encode the sequence by performing the context adaptive entropy coding process.
13 . The apparatus of claim 12 , wherein to encode the sequence by performing the context adaptive entropy coding process that includes the entropy encoding unit applying the context model based on the position of the given one of the coefficients within the block according to the scanning order, the entropy encoding unit is configured to:
for each last significant coefficient flag of the sequence, apply the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
14 . The apparatus of claim 11 , wherein the video coder comprises an entropy decoding unit, and wherein to code the information that identifies the position of the last non-zero coefficient within the block according to the scanning order, the entropy decoding unit is configured to:
decode a sequence of last significant coefficient flags for one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, wherein each of the last significant coefficient flags indicates whether the respective coefficient is the last non-zero coefficient within the block according to the scanning order, by performing the context adaptive entropy coding process; and for each coefficient associated with the block, determine whether the coefficient is the last non-zero coefficient within the block according to the scanning order, based on the sequence.
15 . The apparatus of claim 14 , wherein to decode the sequence by performing the context adaptive entropy coding process that includes applying the context model based on the position of the given one of the coefficients within the block according to the scanning order, the entropy decoding unit is configured to:
for each last significant coefficient flag of the sequence, apply the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
16 . The apparatus of claim 11 , wherein the video coder is further configured to update the context model based on the information that identifies the position of the last non-zero coefficient within the block according to the scanning order.
17 . The apparatus of claim 11 , herein the size associated with the block comprises a value corresponding to a number of the coefficients associated with the block.
18 . The apparatus of claim wherein the scanning order comprises at least one of a zig-zag scanning order, a horizontal scanning order, a vertical scanning order, and a diagonal scanning order.
19 . The apparatus of claim 11 , wherein the context adaptive entropy coding process comprises a context adaptive binary arithmetic coding (CABAC) process.
20 . The apparatus of claim 11 , wherein the context adaptive entropy coding process comprises a probability interval partitioning entropy coding (PIPE) process.
21 . The apparatus of claim 11 , wherein the apparatus comprises at least one of:
an integrated circuit; a microprocessor; and a wireless communication device that includes the video coder.
22 . A device for coding coefficients associated with a block of video data during a video coding process, the device comprising:
means for coding information that identifies a position of a last non-zero coefficient within the block according to a scanning order associated with the block, wherein the means for coding the information comprises means for performing a context adaptive entropy coding process that includes means for applying a context model based on at least three contexts, wherein the at least three contexts include: a size associated with the block; a position of a given one of the coefficients within the block according to the scanning order; and the scanning order.
23 . The device of claim 22 , wherein coding comprises encoding, and wherein the means for encoding the information that identifies the position of the last non-zero coefficient within the block according to the scanning order comprises:
means for, for each of one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, determining whether the coefficient is the last non-zero coefficient within the block according to the scanning order, and generating a last significant coefficient flag that indicates whether the coefficient is the last non-zero coefficient within the block according to the scanning order; means for arranging the last significant coefficient flags for the one or more coefficients into a sequence based on the scanning order; and means for encoding the sequence by performing the context adaptive entropy coding process.
24 . The device of claim 23 , wherein the means for encoding the sequence by performing the context adaptive entropy coding process that includes the means for applying the context model based on the position of the given one of the coefficients within the block according to the scanning order comprises:
means for, for each last significant coefficient flag of the sequence, applying the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
25 . The device of claim 22 , wherein coding comprises decoding, and Wherein the means for decoding the information that identifies the position of the last non-zero coefficient within the block according to the scanning order comprises:
means for decoding a sequence of last significant coefficient flags for one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, wherein each of the last significant coefficient flags indicates whether the respective coefficient is the last non-zero coefficient within the block according to the scanning order, by performing the context adaptive entropy coding process; and means for, for each coefficient associated with the block, determining whether the coefficient is the last non-zero coefficient within the block according to the scanning order, based on the sequence.
26 . The device of claim 25 , wherein the means for decoding the sequence by performing the context adaptive entropy coding process that includes the means for applying the context model based on the position of the given one of the coefficients within the block comprises:
means for, for each last significant coefficient flag of the sequence, applying the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
27 . The device of claim 22 , further comprising means for updating the context mod based on the information that identifies the position of the last non-zero coefficient within the block according to the scanning order.
28 . The device of claim 22 , wherein the size associated with the block comprises a value corresponding to a number of the coefficients associated with the block.
29 . The device of claim 22 , wherein the scanning order comprises at least one of a zig-zag scanning order, a horizontal scanning order, a vertical scanning order, and a diagonal scanning order.
30 . The device of claim 22 , wherein the context adaptive entropy coding process comprises a context adaptive binary arithmetic coding (CABAC) process.
31 . The device of claim 22 , wherein the context adaptive entropy coding process comprises a probability interval partitioning entropy coding (PIPE) process.
32 . A computer-readable medium comprising instructions that, when executed, cause a processor to code coefficients associated with a block of video data during a video coding process, wherein the instructions cause the processor to:
code information that identifies a position of a last non-zero coefficient within the block according to a scanning order associated with the block, wherein the instructions that cause the processor to code the information comprise instructions that cause the processor to perform a context adaptive entropy coding process that includes applying a context model based on at least three contexts, wherein the at least three contexts include: a size associated with the block; a position of a given one of the coefficients within the block according to the scanning order; and the scanning order.
33 . The computer-readable medium of claim 32 , wherein coding comprises encoding, and wherein the instructions that cause the processor to encode the information that identifies the position of the last non-zero coefficient within the block according to the scanning order comprise instructions that cause the processor to:
for each of one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, determine whether the coefficient is the last non-zero coefficient within the block according to the scanning order, and generate a last significant coefficient flag that indicates whether the coefficient is the last non-zero coefficient within the block according to the scanning order; arrange the last significant coefficient flags for the one or more coefficients into a sequence based on the scanning order; and encode the sequence by performing the context adaptive entropy coding process.
34 . The computer-readable medium of claim 33 , wherein the instructions that cause the processor to encode the sequence by performing the context adaptive entropy coding process that includes applying the context model based on the position of the given one of the coefficients within the block according to the scanning order comprise instructions that cause the processor to:
for each last significant coefficient flag of the sequence, apply the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
35 . The computer-readable medium of claim 32 , wherein coding comprises decoding, and where the instructions that cause the processor to decode the information that identifies the position of the last non-zero coefficient within the block according to the scanning order comprise instructions that cause the processor to:
decode a sequence of last significant coefficient flags for one or more coefficients associated with the block, starting with a first coefficient within the block according to the scanning order and ending with the last non-zero coefficient within the block according to the scanning order, and proceeding according to the scanning order, wherein each of the last significant coefficient flags indicates whether the respective coefficient is the last non-zero coefficient within the block according to the scanning order, by performing the context adaptive entropy coding process; and for each coefficient associated with the block, determine whether the coefficient is the last non-zero coefficient within the block according to the scanning order, based on the sequence.
36 . The computer-readable medium of claim 35 , wherein the instructions that cause the processor to decode the sequence by performing the context adaptive entropy coding process that includes applying the context model based on the position of the given one of the coefficients within the block according to the scanning order comprise instructions that cause the processor to:
for each last significant coefficient flag of the sequence, apply the context model based on a position within the block, according to the scanning order, corresponding to the last significant coefficient flag.
37 . The computer-readable medium of claim 32 , further comprising instructions that cause the processor to update the context model based on the information that identifies the position of the last non-zero coefficient within the block according to the scanning order.
38 . The computer-readable medium of claim 32 , wherein the size associated with the block comprises a value corresponding to a number of the coefficients associated with the block.
39 . The computer-readable medium of claim 32 , wherein the scanning order comprises at least one of a zig-zag scanning order, a horizontal scanning order, a vertical scanning order, and a diagonal scanning order.
40 . The computer-readable medium of claim 32 , wherein the context adaptive entropy coding process comprises a context adaptive binary arithmetic coding (CABAC) process.
41 . The computer-readable medium of claim 32 , wherein the context adaptive entropy coding process comprises a probability interval partitioning entropy coding (PIPE) process.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.