Techniques for advanced chroma processing
AssigneeApple Inc.
InventorsAlexandros Michael Tourapis, Yeping Su, David William Singer, Hsi-Jung Wu
Life of this patent
Estimating the term…
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.
Claims23
(canceled)
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.