US9036710B2ActiveUtilityPatentIndex 62
Unified transform coefficient encoding and decoding
Est. expiryMar 8, 2032(~5.7 yrs left)· nominal 20-yr term from priority
H04N 19/13H04N 19/18H04N 19/14H04N 19/176H03M 7/4006H03M 7/6011H03M 7/6017H04N 19/182H04N 19/61H03M 7/4018
62
PatentIndex Score
2
Cited by
19
References
21
Claims
Abstract
Methods and devices for reconstructing coefficient levels from a bitstream of encoded video data for a coefficient group in a transform unit, using adaptive-threshold-based level coding. Threshold is set based upon level information from one or more previously-reconstructed coefficient groups in the transform unit. Threshold may be maximum number of level flags to decode for the coefficient group. Level information may include number of level flags decoded in previous coefficient groups. Previously-reconstructed coefficient groups may include coefficient group to the right and below the current coefficient group.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of reconstructing coefficient levels from a bitstream of encoded video data for a coefficient group in a transform unit, wherein the bitstream includes encoded significant-coefficient flags indicating non-zero coefficients in the coefficient group, the method comprising:
dynamically setting a threshold based upon level information from one or more previously-reconstructed neighboring coefficient groups in the transform unit, wherein the threshold sets a maximum number of level flags that may be decoded for the coefficient group;
decoding, in a scan order, level flags for the non-zero coefficients in the coefficient group unless the threshold number of decoded level flags is reached;
decoding level data, if any, for non-zero coefficients in the coefficient group based upon the decoded level flags; and
reconstructing the coefficient levels for the coefficient group from the decoded level data and the decoded level flags.
2. The method claimed in claim 1 , wherein the threshold comprises a maximum number of greater-than-one flags to be decoded for the coefficient group, and wherein decoding the level flags includes decoding greater-than-one flags for the non-zero coefficients unless the maximum number of greater-than-one flags is reached.
3. The method claimed in claim 1 , wherein the threshold comprises a maximum number of greater-than-two flags to be decoded for the coefficient group, and wherein decoding the level flags includes decoding greater-than-two flags for greater-than-one coefficients unless the maximum number of greater-than-two flags is reached.
4. The method claimed in claim 1 , wherein the level information comprises at least one of: the number of significant-coefficient flags, the number of greater-than-one flags, the number of greater-than-two flags, the absolute value of coefficient levels, the number of greater-than-one coefficients, the number of greater-than-two coefficients, and the average value of coefficient levels.
5. The method claimed in claim 1 , wherein reconstructing the coefficient levels is based upon the decoded level data, the decoded level flags, and whether the threshold was reached in decoding the level flags.
6. The method claimed in claim 1 , wherein decoding level data is partly conditional upon whether the threshold was reached in decoding the level flags.
7. The method claimed in claim 1 , wherein setting a threshold comprises setting a first-threshold and setting a second-threshold, and wherein decoding level flags comprises decoding first-level flags in scan order unless the first-threshold number of first-level flags is decoded and decoding second-level flags in scan order unless the second-threshold number of second-level flags is decoded.
8. The method claimed in claim 7 , wherein the first-threshold comprises a maximum number of greater-than-one flags, the second-threshold comprises a maximum number of greater-than-two flags, the first-level flags comprise greater-than-one flags, and the second-level flags comprise greater-than-two flags, and wherein the level information comprises a count of greater-than-one coefficient flags in one or more previously-reconstructed coefficient groups.
9. The method claimed in claim 8 , wherein the one or more previously-reconstructed coefficient groups comprises an adjacent group to the right and an adjacent group below the coefficient group.
10. The method claimed in claim 9 , wherein setting the first-threshold comprises setting the maximum number of greater-than-one flags at 2 if the sum of greater-than-one flags in the adjacent group to the right and the adjacent group below is greater than or equal to two, and otherwise setting the maximum number of greater-than-one flags at 8 .
11. A decoder for reconstructing coefficient levels from a bitstream of encoded video data for a coefficient group in a transform unit, wherein the bitstream includes encoded significant-coefficient flags indicating non-zero coefficients in the coefficient group, the decoder comprising:
a processor;
a memory; and
a decoding application stored in memory and containing instructions for configuring the processor to
dynamically set a threshold based upon level information from one or more previously-reconstructed neighboring coefficient groups in the transform unit, wherein the threshold sets a maximum number of level flags that may be decoded for the coefficient group;
decode, in a scan order, level flags for the non-zero coefficients in the coefficient group unless the threshold number of decoded level flags is reached;
decode level data, if any, for non-zero coefficients in the coefficient group based upon the decoded level flags; and
reconstruct the coefficient levels for the coefficient group from the decoded level data and the decoded level flags.
12. The decoder claimed in claim 11 , wherein the threshold comprises a maximum number of greater-than-one flags to be decoded for the coefficient group, and wherein the processor is configured to decode the level flags by decoding greater-than-one flags for the non-zero coefficients unless the maximum number of greater-than-one flags is reached.
13. The decoder claimed in claim 11 , wherein the threshold comprises a maximum number of greater-than-two flags to be decoded for the coefficient group, and wherein the processor is configured to decode the level flags by decoding greater-than-two flags for greater-than-one coefficients unless the maximum number of greater-than-two flags is reached.
14. The decoder claimed in claim 11 , wherein the level information comprises at least one of: the number of significant-coefficient flags, the number of greater-than-one flags, the number of greater-than-two flags, the absolute value of coefficient levels, the number of greater-than-one coefficients, the number of greater-than-two coefficients, and the average value of coefficient levels.
15. The decoder claimed in claim 11 , wherein the processor is configured to reconstruct the coefficient levels based upon the decoded level data, the decoded level flags, and whether the threshold was reached in decoding the level flags.
16. The decoder claimed in claim 11 , wherein the processor is configured to decode the level data partly conditional upon whether the threshold was reached in decoding the level flags.
17. The decoder claimed in claim 11 , wherein the processor is configured to set a threshold by setting a first-threshold and setting a second-threshold, and the processor is configured to decode level flags by decoding first-level flags in scan order unless the first-threshold number of first-level flags is decoded and by decoding second-level flags in scan order unless the second-threshold number of second-level flags is decoded.
18. The decoder claimed in claim 17 , wherein the first-threshold comprises a maximum number of greater-than-one flags, the second-threshold comprises a maximum number of greater-than-two flags, the first-level flags comprise greater-than-one flags, and the second-level flags comprise greater-than-two flags, and wherein the level information comprises a count of greater-than-one coefficient flags in one or more previously-reconstructed coefficient groups.
19. The decoder claimed in claim 18 , wherein the one or more previously-reconstructed coefficient groups comprises an adjacent group to the right and an adjacent group below the coefficient group.
20. The decoder claimed in claim 19 , wherein the process is configured to set the first-threshold by setting the maximum number of greater-than-one flags at 2 if the sum of greater-than-one flags in the adjacent group to the right and the adjacent group below is greater than or equal to two, and otherwise by setting the maximum number of greater-than-one flags at 8.
21. A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configure one or more processors to reconstruct coefficient levels from a bitstream of encoded video data for a coefficient group in a transform unit, wherein the bitstream includes encoded significant-coefficient flags indicating non-zero coefficients in the coefficient group, the instructions comprising:
instructions that dynamically set a threshold based upon level information from one or more previously-reconstructed neighboring coefficient groups in the transform unit, wherein the threshold sets a maximum number of level flags that may be decoded for the coefficient group;
instructions that decode, in a scan order, level flags for the non-zero coefficients in the coefficient group unless the threshold number of decoded level flags is reached;
instructions that decode level data, if any, for non-zero coefficients in the coefficient group based upon the decoded level flags; and
instructions that reconstruct the coefficient levels for the coefficient group from the decoded level data and the decoded level flags.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.