Adaptive Video Clipping with Dynamic Sample Bounds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coders clip out-of-range sample values to 0 or the maximum value, which can distort the original video data, especially when the minimum or maximum sample values for certain video data portions are not 0 or the maximum value.

Innovation Solution

A video decoder determines the minimum and maximum sample values for video data blocks, and clips sample values outside this range to either the minimum or maximum value, rather than to 0 or the maximum value, to better match the original video data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sample values are clipped to 0 or maximum value using existing video coders, then the clipping operation is simple and fast, but the decoded video data introduces distortion when original sample values are not at the boundaries

Engineering Contradiction:
Improveclipping operation speedVSAvoiddecoded video accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies different clipping strategies to different regions of video data. Instead of uniformly clipping all out-of-range samples to 0 or maximum value, the system determines actual minimum and maximum sample values for each video data portion and clips samples locally to these region-specific bounds. This preserves local characteristics and reduces distortion while maintaining computational efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the clipping parameters from fixed boundary values (0 and maximum) to dynamic parameters (actual minimum and maximum sample values) that adapt to the content of each video data portion. This parameter adaptation allows the clipping operation to match the original video data characteristics, reducing distortion without significantly increasing complexity.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If adaptive clipping with determined minimum and maximum values is used, then the decoded video accuracy is improved, but the device complexity increases due to additional determination steps

Engineering Contradiction:
Improvedecoded video accuracyVSAvoiddecoder complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary determination of minimum and maximum sample values before the clipping operation. By pre-calculating these bounds for each video data portion, the actual clipping process becomes a simple comparison and assignment operation. This preliminary action reduces the complexity of the main decoding pipeline while maintaining high accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses the video data itself to determine its own clipping bounds by analyzing the minimum and maximum values within each portion. This self-service approach eliminates the need for external parameter input or complex preset configurations, reducing device complexity while achieving adaptive accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250119547A1Adaptive clipping with signaled lower and upper bounds in video coding
Publication Date: 2025.04.10 QUALCOMM INC
  • US20250119547A1 patent drawing
  • US20250119547A1 patent drawing
  • US20250119547A1 patent drawing

AI summary

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.