Reducing 3D lookup table interpolation error while minimizing on-chip storage
US-11100889-B2 · Aug 24, 2021 · US
US12190847B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12190847-B2 |
| Application number | US-202117407981-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 20, 2021 |
| Priority date | Feb 28, 2019 |
| Publication date | Jan 7, 2025 |
| Grant date | Jan 7, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, apparatuses, and methods for reducing three dimensional (3D) lookup table (LUT) interpolation error while minimizing on-chip storage are disclosed. A processor generates a plurality of mappings from a first gamut to a second gamut at locations interspersed throughout a 3D representation of the pixel component space. For example, in one implementation, the processor calculates mappings for 17×17×17 vertices within the 3D representation. Other implementations can include other numbers of vertices. Rather than increasing the number of vertices to reduce interpolation error, the processor calculates mappings for centroids of the sub-cubes defined by the vertices within the 3D representation of the first gamut. This results in a smaller increase to the LUT size as compared to increasing the number of vertices. The centroid mappings are used for performing tetrahedral interpolation to map source pixels in the first gamut into the second gamut with a reduced amount of interpolation error.
Opening claim text (preview).
What is claimed is: 1. A method comprising: partitioning a three dimensional (3D) representation of a gamut mapping space into a plurality of sub-cubes; calculating centroid mappings for N sub-cubes of the plurality of sub-cubes, in response to determining that the N sub-cubes have an interpolation error that exceeds a threshold, wherein a centroid mapping for a given sub-cube corresponds to a geometric center of the given sub-cube; and providing a target pixel to a display, based at least in part on the centroid mappings. 2. The method of claim 1 , comprising: receiving a first source pixel from a source image, wherein the source image is represented in a first gamut; and converting the first source pixel to the target pixel in a second gamut, wherein the second gamut is different from the first gamut. 3. The method of claim 2 , comprising storing the centroid mappings in a table. 4. The method as recited in claim 3 , accessing the table to find mappings for vertices of a geometric shape that bounds pixel components of the first source pixel in a 3D representation of a pixel component space. 5. The method as recited in claim 4 , comprising: in response to determining an interior point of the geometric shape is stored in the table, retrieving mappings of the interior point and three corresponding vertices of the geometric shape from the table; in response to determining an interior point of the geometric shape is not stored in the table, retrieving mappings of four corresponding vertices of the geometric shape from the table; and performing interpolation on mappings retrieved from the table to convert the first source pixel to the target pixel. 6. The method as recited in claim 5 , wherein the interpolation is tetrahedral interpolation. 7. The method as recited in claim 1 , comprising: using a first resolution setting for a number of mapping points when calculating the centroid mappings, in response to determining the interpolation error is greater than a first threshold; and using a second resolution setting for a number of mapping points when calculating the centroid mappings, in response to determining the interpolation error is not greater than the first threshold, wherein the second resolution setting is lower than the first resolution setting. 8. An apparatus comprising: a processing unit comprising circuitry configured to: partition a three dimensional (3D) representation of a gamut mapping space into a plurality of sub-cubes; calculate centroid mappings for N sub-cubes of the plurality of sub-cubes, in response to determining that the N sub-cubes have an interpolation error that exceeds a threshold, wherein a centroid mapping for a given sub-cube corresponds to a geometric center of the given sub-cube; and provide a target pixel to a display, based at least in part on the centroid mappings. 9. The apparatus of claim 8 , wherein the processing unit is configured to: receive a first source pixel from a source image, wherein the source image is represented in a first gamut; and convert the first source pixel to the target pixel in a second gamut, wherein the second gamut is different from the first gamut. 10. The apparatus of claim 9 , wherein the processing unit is configured to store the centroid mappings in a table. 11. The apparatus as recited in claim 10 , wherein the processing unit is configured to access the table to find mappings for vertices of a geometric shape that bounds pixel components of the first source pixel in a 3D representation of a pixel component space. 12. The apparatus as recited in claim 11 , wherein the processing unit is configured to: in response to a determination that an interior point of the geometric shape is stored in the table, retrieve mappings of the interior point and three corresponding vertices of the geometric shape from the table; in response to a determination that an interior point of the geometric shape is not stored in the table, retrieve mappings of four corresponding vertices of the geometric shape from the table; and perform interpolation on values retrieved from the table to convert the first source pixel to the target pixel. 13. The apparatus as recited in claim 12 , wherein the interpolation is tetrahedral interpolation. 14. The apparatus as recited in claim 8 , wherein the processing unit is configured to: use a first resolution setting for a number of mapping points when calculating the centroid mappings, in response to determining the interpolation error is greater than a first threshold; and use a second resolution setting for a number of mapping points when calculating the centroid mappings, in response to determining the interpolation error is not greater than the first threshold, wherein the second resolution setting is lower than the first resolution setting. 15. A system comprising: a processor comprising circuitry configured to calculate centroid mappings for N sub-cubes corresponding to a three dimensional (3D) representation of a gamut mapping space, wherein a centroid mapping for a given sub-cube corresponds to a geometric center of the given sub-cube; and a display controller comprising circuitry configured to: receive a first source pixel from a source image, wherein the source image is represented in a first gamut; identify vertices of a geometric shape that bounds pixel components of the first source pixel in a 3D representation of a pixel component space; convert the first source pixel to a target pixel in a second gamut, wherein the second gamut is different from the first gamut; and provide the target pixel to a display. 16. The system as recited in claim 15 , wherein the processor is configured to access the centroid mappings to identify vertices of a geometric shape that bounds pixel components of the first source pixel in a 3D representation of a pixel component space. 17. The system as recited in claim 16 , wherein the processor is configured to partition a three dimensional (3D) representation of the gamut mapping space into a plurality of sub-cubes. 18. The system as recited in claim 17 , wherein the display controller comprises a table configured to store the mappings. 19. The system as recited in claim 18 , wherein the display controller is configured to perform interpolation on mappings retrieved from the table to generate the target pixel. 20. The system as recited in claim 19 , wherein the display controller is configured to: in response to determining an interior point of the geometric shape is stored in the table, retrieve mappings of the interior point and three corresponding vertices of the geometric shape from the table; in response to determining an interior point of the geometric shape is not stored in the table, retrieve mappings of four corresponding vertices of the geometric shape from the table; and perform interpolation on values retrieved from the table to convert the first source pixel to the target pixel.
for control of colour parameters, e.g. colour temperature · CPC title
Colour space transformation · CPC title
Compensation of deficiencies in the appearance of colours · CPC title
characterised by the way in which colour is displayed {(details of colour display specific for CRTs G09G1/28; specific for flat matrix panels other than liquid crystal displays G09G3/2003; specific for liquid crystal displays G09G3/3607)} · CPC title
using colour palettes, e.g. look-up tables · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.