IP Library Granted Patent US 10,462,439
Granted Patent B2
US 10,462,439 · App. 15/765,338 · Granted Oct 29, 2019

Color correction with a lookup table

Inventors: Yuwen He (San Diego, CA); Yan Ye (San Diego, CA); Louis Kerofsky (San Diego, CA)
Assignee: VID SCALE, Inc.
H04N9/646H04N1/6005H04N7/0135H04N9/77H04N11/28H04N19/12H04N19/186H04N19/85
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 10,462,439
App. No.
15/765,338
Granted
Oct 29, 2019
Kind
B2
Abstract

Color correction in high dynamic range video (HDR) using 2D look-up table (LUT) may be provided. The color correction may be applied in a decoder after decoding the HDR video signal. For example, the color correction may be applied before, during, or after chroma upsampling of the HDR video signal. The 2D LUT may include a representation of the color space of the HDR video signal. The color correction may include applying triangle interpolation to the sample values of the color component of the color space. The 2D LUT may be estimated by an encoder and signaled to the decoder. The encoder may decide to reuse a prior-signaled 2D LUT or use a new 2D LUT.

Claims (38)

1. A method for processing video content, the method comprising:

receiving a first luma sample, a first chroma sample, and a two-dimensional (2D) look-up table (LUT) for producing corrected chroma values, wherein the 2D LUT defines a luma dimension and a chroma dimension associated with a 2D color space of the video content, the 2D color space is defined by a plurality of rectangular units with respective vertices, and the 2D LUT comprises corrected chroma component values associated with the respective vertices of the rectangular units;

determining an input luma value and an input chroma value to the 2D LUT via an upsampling operation utilizing at least one of the first luma sample or the first chroma sample, wherein the first luma sample and the first chroma sample are associated with different sampling locations, and the input luma value and the input chroma value are aligned to a same sampling location;

producing an output chroma value based on the 2D LUT, the input chroma value and the input luma value; and

reconstructing the video content using at least the output chroma value.

2. The method of claim 1 , wherein the plurality of rectangular units of the 2D color space are derived using quadtree partitioning.

3. The method of claim 1 , wherein the producing of the output chroma value comprises:

determining a first rectangular unit among the plurality of rectangular units to which the input luma value and the input chroma value belong; and

calculating the output chroma value via triangle interpolation based on a subset of the chroma component values associated with the vertices of the first rectangular unit, the input chroma value, and the input luma value.

4. The method of claim 3 , wherein the calculating of the output chroma value via triangle interpolation comprises:

determining a first triangle inside the first rectangular unit to which the input luma value and the input chroma value belong; and

applying triangle interpolation based on the chroma component values associated with the vertices of the first triangle, the input chroma value, and the input luma value.

5. The method of claim 3 , wherein the calculating of the output chroma value via triangle interpolation comprises applying triangle interpolation based on the chroma component values associated with three vertices of the first rectangular unit, the input chroma value, and the input luma value.

6. The method of claim 1 , further comprising receiving a second luma sample, wherein the input chroma value is set to the first chroma sample, and wherein the input luma value is determined by interpolating at least the first luma sample and the second luma sample.

7. The method of claim 1 , further comprising receiving a second chroma sample, wherein the input luma value is set to the first luma sample, and wherein the input chroma value is determined by interpolating at least the first chroma sample and the second chroma sample.

8. A device for processing video content, the device comprising:

a processor configured to:

receive a first luma sample, a first chroma sample, and a two-dimensional (2D) look-up table (LUT) for producing corrected chroma values, wherein the 2D LUT defines a luma dimension and a chroma dimension both of which are associated with a 2D color space of the video content, the 2D color space of the video content is defined by a plurality of rectangular units with respective vertices, and the 2D LUT comprises corrected chroma component values associated with the respective vertices of the rectangular units;

determine an input luma value and an input chroma value to the 2D LUT via an upsampling operation utilizing at least one of the first luma sample or the first chroma sample, wherein the first luma sample and the first chroma sample are associated with different sampling locations, and the input luma value and the input chroma value are aligned to a same sampling location;

produce an output chroma value based on the 2D LUT, the input chroma value and the input luma value; and

reconstruct the video content using at least the output chroma value.

9. The device of claim 8 , wherein the plurality of rectangular units of the 2D color space are derived using quadtree partitioning.

10. The device of claim 8 , wherein the processor being configured to produce the output chroma value comprises the processor being configured to:

determine a first rectangular unit among the plurality of rectangular units to which the input luma value and the input chroma value belong; and

calculate the output chroma value via triangle interpolation based on a subset of the chroma component values associated with the vertices of the first rectangular unit, the input chroma value, and the input luma value.

11. The device of claim 10 , wherein the processor being configured to calculate the output chroma value via triangle interpolation comprises the processor being configured to:

determine a first triangle inside the first rectangular unit to which the input luma value and the input chroma value belong; and

apply triangle interpolation based on the chroma component values associated with the vertices of the first triangle, the input chroma value, and the input luma value.

12. The device of claim 10 , wherein the processor being configured to calculate the output chroma value via triangle interpolation comprises the processor being configured to apply triangle interpolation based on the chroma component values associated with three vertices of the first rectangular unit, the input chroma value, and the input luma value.

13. The device of claim 8 , wherein the processor is configured to receive a second luma sample, to set the input chroma value to the first chroma sample, and to determine the input luma value by interpolating at least the first luma sample and the second luma sample.

14. The device of claim 8 , wherein the processor is configured to receive a second chroma sample, to set the input luma value to the first luma sample, and to determine the input chroma value by interpolating at least the first chroma sample and the second chroma sample.

15. A method for processing video content, the method comprising:

partitioning a two-dimensional (2D) color space associated with the video content into a plurality of rectangular units with respective vertices, wherein the 2D color space comprises a luma dimension and a chroma dimension;

determining a chroma sample value and a luma sample value for estimating a 2D look-up table (LUT) associated with the 2D color space, wherein both the chroma sample value and the luma sample value are aligned to a first sampling location, and wherein the 2D LUT comprises a plurality of chroma component values associated with the vertices of the 2D color space;

determining a corrected chroma value associated with one of the vertices of the 2D color space based on the chroma sample value, the luma sample value, and an original version of the video content;

setting one of the chroma component values in the 2D LUT to the corrected chroma value; and

coding the 2D LUT in a video bitstream associated with the video content.

16. The method of claim 15 , wherein the 2D color space is partitioned using quadtree partitioning.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: VID SCALE, INC.
To: INTERDIGITAL MADISON PATENT HOLDINGS, SAS
Reel/Frame 053048/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2018
From: HE, YUWEN; YE, YAN; KEROFSKY, LOUIS
To: VID SCALE, INC.
Reel/Frame 046446/0990 →
Cited By (19)
US 12,219,165 US 12,278,949 US 12,328,432 US 12,348,759 US 12,368,880 US 12,375,719 US 12,401,755 US 12,401,820 US 12,425,589 US 12,432,350 US 12,457,327 US 12,495,141 US 12,549,756 US 12,556,699 US 12,556,738 US 12,587,648 US 12,598,300 US 12,604,029 US 12,641,216