IP Library Granted Patent US 12666029
Granted Patent B2
US 12666029 · App. 18/883,723 · Granted Jun 23, 2026

Adaptive clipping with signaled lower and upper bounds in video coding

Inventors: Kai Cui (Munich, DE); Zhi Zhang (Munich, DE); Han Huang (San Diego, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM INCORPORATED
H04N19/132H04N19/117H04N19/176H04N19/82
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12666029
App. No.
18/883,723
Granted
Jun 23, 2026
Kind
B2
Abstract

A video decoder is configured to determine a minimum sample value for one or more blocks of video data, the minimum sample value being greater than 0; determine a maximum sample value for the one or more blocks of video data, the maximum sample value being less than 2{circumflex over ( )}bd−1 and bd being a bit depth of samples in the one or more blocks; in response to determining that a process applied to a block of the one or more blocks of video data results in a sample value that is outside a range of the minimum sample value to the maximum sample value, clip the sample value to one of the minimum sample value or the maximum sample value to generate a clipped sample value; determine a decoded version of the block based on the clipped sample value.

Claims (60)

1 . A method of decoding video data, the method comprising:

determining a predictor value for a minimum sample value;

determining a predictor value for a maximum sample value;

receiving, in a picture header, a first syntax element set to a first value;

receiving, in the picture header, a second syntax element set to a second value;

dequantizing the first value to determine a difference between the minimum sample value and the predictor value for the minimum sample value;

dequantizing the second value to determine a difference between the maximum sample value and the predictor value for the maximum sample value;

determining the minimum sample value for one or more blocks of video data based on the predictor value for the minimum value and the difference between the minimum sample value and the predictor value for the minimum sample value, wherein the minimum sample value is greater than 0;

determining the maximum sample value for the one or more blocks of video data based on the predictor value for the maximum value and the difference between the maximum sample value and the predictor value for the maximum sample value, wherein the maximum sample value is less than 2{circumflex over ( )}bd−1, wherein bd is a bit depth of samples in the one or more blocks of video data;

in response to determining that a process applied to a block of the one or more blocks of video data results in a sample value that is outside a range of the minimum sample value to the maximum sample value, clipping the sample value to one of the minimum sample value or the maximum sample value to generate a clipped sample value;

determining a decoded version of the block based on the clipped sample value; and

outputting a picture of decoded video data that includes the decoded version of the block.

2 . The method of claim 1 , wherein the process applied to the block comprises adding prediction samples for the block to residual samples for the block to determine reconstructed samples for the block, and wherein the sample value that is outside the range of the minimum sample value to the maximum sample value is a value of one of the reconstructed samples.

3 . The method of claim 1 , wherein the process applied to the block comprises an adaptive loop filtering process to determine filtered samples and the sample value that is outside the range of the minimum sample value to the maximum sample value is a value of one of the filtered samples.

4 . The method of claim 1 , wherein the process applied to the block comprises one of deblock filtering, sample adaptive offset, downsampling, upsampling, reference picture resampling (RPR) and scaling, cross-component prediction, weighted combination of different predictors, weighted prediction, prediction multiplied by a scaling factor, domain mapping, or weighted blending at edges.

5 . The method of claim 1 , wherein the sample value comprises a luma sample value.

6 . The method of claim 1 , wherein the sample value comprises a chroma sample value.

7 . The method of claim 1 , wherein the method of decoding video data is performed as part of a video encoding process.

8 . A device for decoding video data, the device comprising:

a memory configured to store video data;

one or more processors implemented in circuitry and configured to:

determine a predictor value for a minimum sample value;

determine a predictor value for a maximum sample value;

receive, in a picture header, a first syntax element set to a first value;

receive, in the picture header, a second syntax element set to a second value;

dequantize the first value to determine a difference between the minimum sample value and the predictor value for the minimum sample value;

dequantize the second value to determine a difference between the maximum sample value and the predictor value for the maximum sample value;

determine the minimum sample value for one or more blocks of video data based on the predictor value for the minimum value and the difference between the minimum sample value and the predictor value for the minimum sample value, wherein the minimum sample value is greater than 0;

determine the maximum sample value for the one or more blocks of video data based on the predictor value for the maximum value and the difference between the maximum sample value and the predictor value for the maximum sample value, wherein the maximum sample value is less than 2{circumflex over ( )}bd−1, wherein bd is a bit depth of samples in the one or more blocks of video data;

in response to determining that a process applied to a block of the one or more blocks of video data results in a sample value that is outside a range of the minimum sample value to the maximum sample value, clip the sample value to one of the minimum sample value or the maximum sample value to generate a clipped sample value;

determine a decoded version of the block based on the clipped sample value; and

output a picture of decoded video data that includes the decoded version of the block.

9 . The device of claim 8 , wherein the process applied to the block comprises adding prediction samples for the block to residual samples for the block to determine reconstructed samples for the block, and wherein the sample value that is outside the range of the minimum sample value to the maximum sample value is a value of one of the reconstructed samples.

10 . The device of claim 8 , wherein the process applied to the block comprises an adaptive loop filtering process to determine filtered samples and the sample value that is outside the range of the minimum sample value to the maximum sample value is a value of one of the filtered samples.

11 . The device of claim 8 , wherein the process applied to the block comprises one of deblock filtering, sample adaptive offset, downsampling, upsampling, reference picture resampling (RPR) and scaling, cross-component prediction, weighted combination of different predictors, weighted prediction, prediction multiplied by a scaling factor, domain mapping, or weighted blending at edges.

12 . The device of claim 8 , wherein the sample value comprises a luma sample value.

13 . The device of claim 8 , wherein the sample value comprises a chroma sample value.

14 . The device of claim 8 , further comprising a display device configured to display the picture of decoded video data.

15 . The device of claim 8 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

16 . A non-transitory computer-readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to:

determine a predictor value for a minimum sample value;

determine a predictor value for a maximum sample value;

receive, in a picture header, a first syntax element set to a first value;

receive, in the picture header, a second syntax element set to a second value;

dequantize the first value to determine a difference between the minimum sample value and the predictor value for the minimum sample value;

dequantize the second value to determine a difference between the maximum sample value and the predictor value for the maximum sample value;

determine the minimum sample value for one or more blocks of video data based on the predictor value for the minimum value and the difference between the minimum sample value and the predictor value for the minimum sample value, wherein the minimum sample value is greater than 0;

determine the maximum sample value for the one or more blocks of video data based on the predictor value for the maximum value and the difference between the maximum sample value and the predictor value for the maximum sample value, wherein the maximum sample value is less than 2{circumflex over ( )}bd−1, wherein bd is a bit depth of samples in the one or more blocks of video data;

in response to determining that a process applied to a block of the one or more blocks of video data results in a sample value that is outside a range of the minimum sample value to the maximum sample value, clip the sample value to one of the minimum sample value or the maximum sample value to generate a clipped sample value;

determine a decoded version of the block based on the clipped sample value; and

output a picture of decoded video data that includes the decoded version of the block.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the process applied to the block comprises adding prediction samples for the block to residual samples for the block to determine reconstructed samples for the block, and wherein the sample value that is outside the range of the minimum sample value to the maximum sample value is a value of one of the reconstructed samples.

18 . The non-transitory computer-readable storage medium of claim 16 , wherein the process applied to the block comprises an adaptive loop filtering process to determine filtered samples and the sample value that is outside the range of the minimum sample value to the maximum sample value is a value of one of the filtered samples.

19 . The non-transitory computer-readable storage medium of claim 16 , wherein the process applied to the block comprises one of deblock filtering, sample adaptive offset, downsampling, upsampling, reference picture resampling (RPR) and scaling, cross-component prediction, weighted combination of different predictors, weighted prediction, prediction multiplied by a scaling factor, domain mapping, or weighted blending at edges.

20 . The non-transitory computer-readable storage medium of claim 16 , wherein the sample value comprises a luma sample value.

21 . The non-transitory computer-readable storage medium of claim 16 , wherein the sample value comprises a chroma sample value.

22 . A device for encoding video data, the device comprising: a memory configured to store video data; one or more processors implemented in circuitry and configured to: determine a minimum sample value for one or more blocks of video data, wherein the minimum sample value is greater than O; determine a maximum sample value for the one or more blocks of video data, wherein the maximum sample value is less than 2{circumflex over ( )}bd−1, wherein bd is a bit depth of samples in the one or more blocks of video data; determine a predictor value for the minimum sample value; determine a predictor value for the maximum sample value; determine a first value corresponding to a difference between the predictor value for the minimum sample value and the minimum sample value; determine a second value corresponding to a difference between the predictor value for the maximum sample value and the maximum sample value; quantize the first value to determine a quantized first value; quantize the second value to determine a quantized second value; transmit, in a picture header of a bitstream of encoded video data, a first syntax element set to the first quantized value; and transmit, in the picture header of the bitstream of encoded video data, a second syntax element set to the second quantized value.

23 . The device of claim 22 , wherein the sample value comprises a luma sample value.

24 . The device of claim 22 , wherein the sample value comprises a chroma sample value.

25 . The device of claim 22 , further comprising a camera device configured to capture the video data.