# US 2018/0324326 A1 · Techniques for advanced chroma processing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0324326 A1
- Document ID: US20180324326A1
- Status: Published application
- Kind: A1
- Application number: 16/034,272
- Filed: 2018-07-12
- Published: 2018-11-08
- Earliest claimed: 2015-04-15
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Alexandros Michael Tourapis; Yeping Su; David William Singer; Hsi-Jung Wu
- Web page: https://patentgrep.com/patent/US20180324326A1

## CPC

- H04N 1/6005: {with luminance or chrominance signals, e.g. LC1C2, HSL or YUV}
- H04N 1/6058: {Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut}
- H04N 9/67: for matrixing (camera processing pipelines for matrixing of colour signals H04N23/85)
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/85: using pre-processing or post-processing specially adapted for video compression
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Image and video processing techniques are disclosed for processing components of a color space individually by determining limits for each component based on the relationship between each component in a color space. These limits may then be used to clip each component such that the component values are within the determined range for that component. In this manner, more efficient processing of images and/or video may be achieved.

## Claims

### Claim 1

(canceled)

### Claim 2

A method for processing image data comprising pixels having a luma component value, a first chroma component value and a second chroma component value, comprising:
determining min and max chroma limit values based on the luma component values of input image data according to relationships among the luma and chroma components;
transform the first chroma component values by performing a processing operation in a first direction to produce first resultant values of the first chroma component;
clipping the first resultant values of the first chroma component that are beyond the min and max chroma limit values to produce second resultant values of the first chroma component;
transform the second resultant values of the first chroma component by performing the processing operation in a second direction to produce third resultant values of the first chroma component; and
clipping the third resultant values of the first chroma component that are beyond the min and max chroma limit values to produce fourth resultant values of the first chroma component.

### Claim 3 (depends on 2)

The method of claim 2, wherein the luma component used in the determinations is obtained by performing the processing operation on the luma component of the input image data.

### Claim 4 (depends on 2)

The method of claim 2, further comprising adjusting a number of bits required to represent each chroma component based on the determined chroma limit values for that component.

### Claim 5 (depends on 2)

The method of claim 2, further comprising adjusting the determined chroma limit values for each chroma component based on a level of interference.

### Claim 6 (depends on 2)

The method of claim 2, wherein the processing operation is mode prediction, and modes producing chroma component values outside their respective determined limit values are discarded.

### Claim 7 (depends on 2)

The method of claim 2, further comprising:
coding the first and second clipped chroma components according to a predictive coding operation;
capturing statistics representing performance of the first and second clipping steps; and
transmitting, in a channel, data representing the coded chroma components and the captured statistics.

### Claim 8 (depends on 2)

The method of claim 2, further comprising transmitting, in a channel, data representing the clipped chroma components and data representing characteristics of input image data.

### Claim 9

A processing method for image data having a luma component, a first chroma component and a second chroma component, comprising:
performing a processing operation on the luma component of the image data;
determining first min and max limit values for the respective chroma component based on the processed luma component according to relationships among the luma and chroma components;
clipping those values of a first chroma component that are beyond the first min and max limit values; and
transforming the values of the first chroma component following the clipping by performing the processing operation;
determining second min and max limit values for the respective chroma component based on the processed luma component and the processed first chroma component according to relationships among the luma and chroma components;
clipping those values of a second chroma component that are beyond the second min and max limit values; and
transforming the values of the second chroma component following the clipping of the second chroma component by performing the processing operation.

### Claim 10 (depends on 10)

The method of claim 10, wherein performing the processing operation further comprises performing the processing operation in a first direction and wherein each iteration further comprises:
performing the processing operation upon the clipped set of chroma component values in a second direction to produce a respective second set of chroma component values;
clipping values of the respective second set of chroma component values that are beyond the chroma limit values to produce a second clipped set of chroma component values.

### Claim 11 (depends on 10)

The method of claim 10, wherein the first and second iterations are performed in parallel with each other.

### Claim 12 (depends on 10)

The method of claim 10, wherein the first and second iterations are performed sequentially and the chroma limit values for the second chroma component are based on the clipped set of chroma component values and the luma components of the image data.

### Claim 13 (depends on 10)

The method of claim 10, wherein the processing operation is a spatial processing operation that is one of an interpolation, upconversion, scaling, downconversion and downsampling operation.

### Claim 14 (depends on 13)

The method of claim 13, wherein the spatial processing operation is an adaptive chroma down conversion and the determined chroma limit values for each component are applied to provide an estimate of introduced distortion for a particular down conversion decision.

### Claim 15 (depends on 10)

The method of claim 10, further comprising transmitting, in a channel, resultant image data following the clipping and data representing characteristics of input image data.

### Claim 16 (depends on 10)

The method of claim 10, wherein the processing operation is one of a denoising, frame rate conversion, debanding, inpainting, deringing, deblocking, and dithering operation.

### Claim 17

A video coder, comprising:
a luminance and a pair of chrominance coders to code respective components of image data where coding includes quantization;
a limit estimator, configured to determine min and max limit values for first and second chroma components based on coded luma data from the luminance coder and according to relationships among the luma and chroma components; and
a pair of clipping units, each clipping unit configured to clip coded output from a respective chroma coder based on the respective min and max limit values from the limit estimator.

### Claim 18 (depends on 17)

The video coder of claim 17, further comprising a format converter configured to convert image data into a format having a luma component, a first chroma component, and a second chroma component.

### Claim 19 (depends on 17)

The video coder of claim 17, wherein the limit estimator is further configured to adjust the limit values for the first and second chroma components based on a level of interference.

### Claim 20 (depends on 17)

The video coder of claim 17, wherein each clipping unit is configured to adjust a number of bits required to represent the coded output from a respective chroma coder based on the respective limit value from the limit estimator.

### Claim 21 (depends on 17)

The video coder of claim 17, further comprising
a predictive coder to perform compression of output from the clipping units;
a statistics analyzer to capture data representing performance of the clipping unit; and
a transmitter to transmit coded data output from the predictive coder and data output by the statistics analyzer.

### Claim 22 (depends on 17)

The video coder of claim 17, further comprising a transmitter to transmit resultant image data output from the clipping units and data representing characteristics of input image data.

### Claim 23

A non-transitory computer readable media comprising instructions that, when executed by a processor, cause:
determining, from image data comprising pixels having a luma component value, a first chroma component value and a second chroma component value, min and max chroma limit values based on the luma component values of input image data according to relationships among the luma and chroma components;
transform the first chroma component values by performing a processing operation in a first direction to produce first resultant values of the first chroma component;
clipping the first resultant values of the first chroma component that are beyond the min and max chroma limit values to produce second resultant values of the first chroma component;
transform the second resultant values of the first chroma component by performing the processing operation in a second direction to produce third resultant values of the first chroma component; and
clipping the third resultant values of the first chroma component that are beyond the min and max chroma limit values to produce fourth resultant values of the first chroma component.
