Codecs may be modified to consider weighting and/or illumination compensation parameters when determining a deblocking filter strength that is to be applied. These parameters may be useful for recording illumination changes, such as fades, cross-fades, flashes, or light source changes, which allows these illumination changes to displayed during playback using the same reference frame data which different weighting and/or illumination compensation parameters applied. In different instances, the parameters may be considered when setting a deblocking filter strength to ensure that these effects are properly displaying during playback while minimizing the appearance of blocking artifacts.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for configuring a deblocking filter to reduce banding artifacts comprising: comparing a weighted prediction parameter of a video codec inter-prediction process from a reference index in a plurality of blocks using a processing device; when the compared weighted prediction parameter in the blocks is different, setting a deblocking filter strength of the blocks to a first value; when the weighted prediction parameter in the blocks is similar: when the blocks have different reference pictures or a different number of reference pictures, setting the deblocking filter strength to the second value; calculating a difference between motion vectors of the respective blocks in a horizontal direction and a vertical direction; when the difference in at least one of the directions is greater than or equal to a threshold, setting the deblocking filter strength of the blocks to a second value; and when the difference in both directions is less than the threshold, setting the deblocking filter strength of the blocks to a third value.
2. The method of claim 1 , wherein the first value and the second value are equal and greater than the third value, the first value and the second value indicating filtering should be applied to the block, and the third value indicating that filtering should be skipped for the blocks.
3. The method of claim 2 , further comprising, when at least one of the blocks has at least one non-zero transform coefficient, setting the deblocking filter strength to a fourth value higher than the first and the second values to apply stronger filtering to the blocks.
4. The method of claim 3 , further comprising, when at least one sample of the blocks is intra-coded, setting the deblocking filter strength to a value at least equal to the fourth value.
5. The method of claim 4 , further comprising, when a boundary between the blocks is a macroblock boundary, setting the deblocking filter strength to a fifth value greater than the fourth value to apply stronger filtering to the blocks.
6. The method of claim 4 , further comprising, setting the deblocking filter strength based on an identified dependency between the blocks.
7. The method of claim 5 , further comprising, when the boundary between the blocks is not the macroblock boundary, setting the deblocking filter strength to a sixth value greater than the fourth value and less than the fifth value.
8. The method of claim 7 , wherein the first value is 0 , the second value and the third value are both 1 , the fourth value is 2 , the fifth value is 4 , the sixth value is 3 , and the threshold is 4.
9. The method of claim 1 , further comprising, when the blocks have a different number of reference pictures, setting the deblocking filter strength of the blocks to the first value.
10. The method of claim 1 , further comprising, comparing a plurality of weighted prediction parameters from at least two blocks.
11. The method of claim 1 , further comprising, when both the compared weighted prediction parameter and an additional predetermined parameter in the blocks are different, setting a deblocking filter strength of the blocks to a fourth value.
12. A method for configuring a deblocking filter to reduce banding artifacts comprising: comparing an illumination compensation parameter of a video codec inter-prediction process in a plurality of blocks of image data using a processing device; when the illumination compensation parameter is similar in the plurality of blocks: when the blocks have different reference pictures or a different number of reference pictures, setting the deblocking filter strength to the second value; calculating a difference between motion vectors of the respective blocks in a horizontal direction and a vertical direction; when the difference in at least one of the directions is greater than or equal to a threshold, setting the deblocking filter strength of the blocks to the second value; and when the difference in both directions is less than the threshold, setting the deblocking filter strength of the blocks to the first value; and when the illumination compensation parameter is different in the plurality of blocks, setting the deblocking filter strength to a second value.
13. The method of claim 12 , wherein the illumination compensation parameter is a scaling parameter applied to a motion compensated signal for a motion vector.
14. The method of claim 12 , wherein the illumination compensation parameter is an offset applied to a scaled motion compensation signal for a motion vector.
15. The method of claim 12 , wherein the first value is less than the second value, the first value indicating that filtering should be skipped for the blocks, and the second value indicating that filtering should be applied to the blocks.
16. The method of claim 15 , further comprising: comparing a plurality of illumination compensation parameters in the plurality of blocks including (i) a scaling parameter applied to a motion compensated signal for a motion vector, and (ii) an offset applied to a scaled motion compensation signal for a motion vector; setting the deblocking filter strength to the first value when the scaling parameter and the offset are similar in the blocks; and setting the deblocking filter strength to the second value when at least one of the scaling parameter and the offset are different in the blocks.
17. The method of claim 16 , further comprising: calculating a difference between motion vectors of the respective blocks in a horizontal direction and a vertical direction; setting the deblocking filter strength to a third value higher than the second value when both (i) the difference in at least one of the directions is greater than or equal to a threshold and (ii) the at least one of the scaling parameter and the offset are different in the blocks; setting the deblocking filter strength to the second value when only one following condition applies: (i) the difference in at least one of the directions is greater than or equal to a threshold, or (ii) the at least one of the scaling parameter and the offset are different in the blocks, setting the deblocking filter strength of the blocks to the second value; and setting the deblocking filter strength to the first value when (i) the difference in both directions is less than the threshold and (ii) the scaling parameter and the offset are similar in the blocks.
18. The method of claim 17 , further comprising, when at least one of the blocks has non-zero discrete cosine coefficients, setting the deblocking filter strength to a third value greater than the second value.
19. The method of claim 18 , further comprising, when at least one sample of the blocks is intra-coded, setting the deblocking filter strength to a value greater than or equal to the third value.
20. The method of claim 19 , further comprising, when at least one sample of the blocks is intra-coded and a boundary between the blocks is a macroblock boundary, setting the deblocking filter strength to a fourth value greater than the third value.
21. The method of claim 20 , further comprising, when at least one sample of the blocks is intra-coded and the boundary between the blocks is not the macroblock boundary, setting the deblocking filter strength to the third value.
22. The method of claim 21 , further comprising, when at least one sample of the blocks is intra-coded and the boundary between the blocks is not the macroblock boundary, setting the deblocking filter strength to a fifth value greater than the third value and less than the fourth value.
23. An image processor comprising: a buffer; a processing device; a prediction unit for estimating, using the processing device, image motion between a source image being coded and a reference frame stored in the buffer and generating a weighted motion prediction parameter stored in a reference index for each of a plurality of blocks of image data; and a filter system for: comparing the weighted prediction parameter of different blocks of the image data; when the compared weighted prediction parameter in the blocks is different, setting a deblocking filter strength of the blocks to a first value; when the weighted prediction parameter in the blocks is similar: when the blocks have different reference pictures or a different number of reference pictures, setting the deblocking filter strength to the second value; calculating a difference between motion vectors of the respective blocks in a horizontal direction and a vertical direction; when the difference in at least one of the directions is greater than or equal to a threshold, setting the deblocking filter strength of the blocks to a second value; and when the difference in both directions is less than the threshold, setting the deblocking filter strength of the blocks to a third value.
24. The image processor of claim 23 , wherein the filter system includes: a strength derivation unit for comparing the weighted prediction parameter of different blocks and setting the deblocking filter strength for each of the compared blocks; and a deblocking filter for applying deblocking filtering to image data at a strength provided by the strength derivation unit.
25. The image processor of claim 23 , wherein the prediction unit includes: a motion estimator for estimating the image motion between the source image being coded and the reference frame; and a mode decision unit for assigning a prediction mode to code the blocks of image data and select a coded block from the buffer to serve as a prediction reference for the image data to be coded.
26. The image processor of claim 25 , wherein the mode decision unit selects a prediction mode to be used and generates motion vectors corresponding to the selected prediction mode.
27. The image processor of claim 26 , wherein the prediction mode is uni-predictive or bi-predictive.
28. An image processor comprising: a buffer; a processing device; a prediction unit for estimating, using the processing device, image motion between a source image being coded and a reference frame stored in the buffer and generating a illumination compensation parameter associated with respective blocks of image data; and a filter system for: comparing the illumination compensation parameter of a video codec inter-prediction process in the respective blocks of image data; when the illumination compensation parameter is similar in the plurality of blocks: when the blocks have different reference pictures or a different number of reference pictures, setting the deblocking filter strength to the second value; calculating a difference between motion vectors of the respective blocks in a horizontal direction and a vertical direction; when the difference in at least one of the directions is greater than or equal to a threshold, setting the deblocking filter strength of the blocks to the second value; and when the difference in both directions is less than the threshold, setting the deblocking filter strength of the blocks to the first value; and when the illumination compensation parameter is different in the plurality of blocks, setting the deblocking filter strength to a second value.
29. The image processor of claim 28 , wherein the filter system includes: a strength derivation unit for comparing the illumination compensation parameter of different blocks and setting the deblocking filter strength for each of the compared blocks; and a deblocking filter for applying deblocking filtering to image data at a strength provided by the strength derivation unit.
30. The image processor of claim 28 , wherein the prediction unit includes: a motion estimator for estimating the image motion between the source image being coded and the reference frame; and a mode decision unit for assigning a prediction mode to code the blocks of image data and select a coded block from the buffer to serve as a prediction reference for the image data to be coded.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 5, 2013
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.