Adaptive coefficient scanning in video coding
First Claim
1. A method of coding coefficients of video blocks, the method comprising:
- storing statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes;
counting the video blocks associated with each of the prediction modes;
scanning the coefficient values of the video blocks based on scan orders defined for each of the prediction modes;
evaluating a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes;
determining a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes;
adjusting the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes; and
entropy coding the coefficient values.
6 Assignments
0 Petitions
Accused Products
Abstract
This disclosure describes techniques for scanning coefficients of video blocks, e.g., quantized and transformed coefficients. Rather than use conventional zig-zag scanning, the techniques of this disclosure adapt the scanning order based on statistics associated with previously coded blocks that were coded in the same prediction mode. For each prediction mode, statistics of the coefficients are stored, e.g., indicating probabilities that given coefficients are zero or non-zero. Periodically, adjustments to the scanning order can be made in order to better ensure that non-zero coefficients are grouped together and zero value coefficients are grouped together, which can improve the effectiveness of entropy coding. The techniques of this disclosure provide thresholds and threshold adjustments that can reduce the frequency that the scanning order adjustments occur, yet still achieve desired improvements in compression due to such scanning order adjustments.
-
Citations
50 Claims
-
1. A method of coding coefficients of video blocks, the method comprising:
-
storing statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes; counting the video blocks associated with each of the prediction modes; scanning the coefficient values of the video blocks based on scan orders defined for each of the prediction modes; evaluating a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes; determining a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes; adjusting the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes; and entropy coding the coefficient values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus that codes coefficients of video blocks, the apparatus comprising:
-
a scan unit that; stores statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes; counts the video blocks associated with each of the prediction modes; scans the coefficient values of the video blocks based on scan orders defined for each of the prediction modes;
an 4evaluates a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes; determines a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes; adjusts the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes; and an entropy coding unit that entropy codes the coefficient values. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer-readable medium comprising instructions that upon execution in a video coding device cause the device to code coefficients of video blocks, wherein the instructions cause the device to:
-
store statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes; count the video blocks associated with each of the prediction modes; scan the coefficient values of the video blocks based on scan orders defined for each of the prediction modes; evaluate a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes; determine a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes; adjust the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes; and entropy code the coefficient values. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A device that codes coefficients of video blocks, the device comprising:
-
means for storing statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes; means for counting the video blocks associated with each of the prediction modes; means for scanning the coefficient values of the video blocks based on scan orders defined for each of the prediction modes; means for evaluating a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes; means for determining a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes; means for adjusting the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes; and means for entropy coding the coefficient values. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A device comprising:
-
a scan unit that; stores statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes; counts the video blocks associated with each of the prediction modes; scans the coefficient values of the video blocks from two-dimensional blocks to one-dimensional vectors based on scan orders defined for each of the prediction modes; evaluates a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes; determines a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes; and adjusts the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes; an entropy coding unit that entropy encodes the coefficient values of the one-dimensional vectors; and a wireless transmitter that sends a bitstream comprising the entropy encoded coefficient values. - View Dependent Claims (48)
-
-
49. A device comprising:
-
a wireless receiver that receives a bitstream comprising entropy coded coefficient values of video blocks in one-dimensional vectors; an entropy coding unit that entropy decodes the coefficient values of the video blocks; and a scan unit that; stores statistics associated with coefficient values of the video blocks for each of a plurality of prediction modes; counts the video blocks associated with each of the prediction modes; scans the coefficient values of the video blocks from the one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the prediction modes; evaluates a given scan order associated with a given one of the prediction modes based on the statistics of the given one of the prediction modes when a count value indicative of a plurality of blocks counted for the given one of the prediction modes satisfies a threshold of the given one of the prediction modes; determines a new scan order associated with the given one of the prediction modes based on the statistics of the given one of the prediction modes when the count value indicative of the plurality of blocks counted for the given one of the prediction modes satisfies the threshold of the given one of the prediction modes; and adjusts the threshold of the given one of the prediction modes upon adjusting the given scan order of the given one of the prediction modes. - View Dependent Claims (50)
-
Specification