Back to results
US 10,542,186 B2Granted
2D LUT color transforms with reduced memory footprint
AssigneeDolby Laboratories Licensing Corporation
InventorsJoonsoo Kim, Jon S. McElvain
Life of this patent
Estimating the term…
Abstract
A memory footprint of look up tables for color transforms can be reduced by separating the look up tables into factors, applying frequency domain transforms, dividing the look up tables into zones, or establishing hierarchical levels with increasing resolution. The methods can be applied to still image or video cameras with limited computation resources that can benefit from reduced memory footprints.
Claims11
A method comprising:
- obtaining a first chromaticity parameter and a second chromaticity parameter from Ψ input colour channels, wherein Ψ is an integer greater than 1;
- using the first chromaticity parameter as an index to retrieve a row of k values from an m×k matrix, wherein m and k are integers larger than 0 and (Ψ+1)mk is less than Ψm2;
- using the second chromaticity parameter as an index to retrieve a column of k values from a k×m matrix, wherein the product of the m×k matrix and the k×m matrix is an m×m matrix which approximates a colour transform LUT corresponding to a first one of the input colour channels;
- using vector multiplication to compute a single value from the row of k values and the column of k values;
- storing or outputting the single value as an intermediate value suitable for obtaining an unscaled output colour channel value corresponding to the first one of the input colour channels;
- using the first chromaticity parameter as an index to retrieve a second row of k values, from a second m×k matrix, wherein the product of the second m×k matrix and the k×m matrix is an m×m matrix which approximates a colour transform LUT corresponding to a second one of the input colour channels;
- using vector multiplication to compute a second single value, from the second row of k values and the column of k values;
- and
- storing or outputting the second single value as an intermediate value suitable for obtaining an unscaled output colour channel value corresponding to the second one of the input colour channels.
6 more elements
A method comprising:
- obtaining a first chromaticity parameter and a second chromaticity parameter from Ψ input colour channels, wherein Ψ is an integer greater than 1;
- using the first chromaticity parameter as an index to retrieve a row of k values from an m×k matrix, wherein m and k are integers larger than 0 and (Ψ+1)mk is less than Ψm2;
- using the second chromaticity parameter as an index to retrieve a column of k values from a k×m matrix, wherein the product of the m×k matrix and the k×m matrix is an m×m matrix which approximates a colour transform LUT corresponding to a first one of the input colour channels;
- using vector multiplication to compute a single value from the row of k values and the column of k values;
- storing or outputting the single value as an intermediate value suitable for obtaining an unscaled output colour channel value corresponding to the first one of the input colour channels;
- using the second chromaticity parameter as an index to retrieve a second column of k values, from a second k×m matrix, wherein the product of the m×k matrix and the second k×m matrix is an m×m matrix which approximates a colour transform LUT corresponding to a second one of the input colour channels;
- using vector multiplication to compute a second single value, from the row of k values and the second column of k values;
- and
- storing or outputting the second single value as an intermediate value suitable for obtaining an unscaled output colour channel value corresponding to the second one of the input colour channels.
6 more elements
A method comprising:
- a) receiving three m×m colour transform lookup tables, each corresponding to a different colour channel, wherein m is an integer larger than 0;
- b) determining an integer k larger than 0 whereby 6mk is less than or equal to 3 m2;
- c) using matrix factorisation to obtain a respective pair of smaller matrices from each of the m×m colour transform lookup tables, wherein each of the pairs of smaller matrices consists of an m×k matrix and a k×m matrix, the product of which is an m×m matrix that approximates a respective one of the three m×m colour transform lookup tables;
- d) using the three pairs of smaller matrices to perform a colour transform;
- e) determining an average colour error metric value for the performed colour transform;
- f) comparing the determined average colour error metric value with an average colour error metric value determined for a colour transform performed using the three m×m colour transform lookup tables;
- and
- g) if the compared average colour error metric values differ by more than a threshold amount, increase k,
- wherein steps c) to g) are repeated until the average colour error metric values do not differ by more than a threshold amount, and then storing or outputting the three pairs of smaller matrices, and
- wherein at least two of the pairs of smaller matrices share one of a common k×m matrix or a common m×k matrix, and 5mk is less than or equal to 3 m2;
- or wherein the three pairs of smaller matrices share one of a common k×m matrix or a common m×k matrix, and 4mk is less than or equal to 3 m2.
8 more elements
Dependencies are inferred from the claim text.