# US 2019/0172418 A1 · Three dimensional (3-d) look up table (lut) used for gamut mapping in floating point format

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

- Number: US 2019/0172418 A1
- Document ID: US20190172418A1
- Status: Published application
- Kind: A1
- Application number: 16/256,751
- Filed: 2019-01-24
- Published: 2019-06-06
- Earliest claimed: 2017-02-24
- Assignees: ATI Technologies ULC
- Applicants: Ati Technologies Ulc
- Inventors: Yuxin CHEN
- Web page: https://patentgrep.com/patent/US20190172418A1

## CPC

- G09G 5/06: using colour palettes, e.g. look-up tables
- G06F 3/1407: {General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros}
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G09G 5/04: using circuits for interfacing with colour displays
- H04N 1/6019: {using look-up tables (H04N1/6025 takes precedence)}
- H04N 1/6061: {involving the consideration or construction of a gamut surface}
- G09G 2320/0666: for control of colour parameters, e.g. colour temperature
- G09G 2340/06: Colour space transformation
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A data segmenter is configured to determine indices using numbers of most significant bits (MSBs) of fractional values of floating-point representations of component values of an input color that are selected based on exponent values of the floating-point representations. The component values are defined according to a source gamut. The data segmenter is also configured to determine offsets associated with the indices using subsets of the fractional values. An interpolator configured to map the input color to an output color defined according to a destination gamut based on a location in a three-dimensional (3-D) look up table (LUT) indicated by the indices and offsets.

## Claims

### Claim 1

A method comprising:
determining, at a data segmenter of an electronic device, indices based on fractional values of floating-point representations of component values of an input color that are selected based on exponent values of the floating-point representations, wherein the component values are defined according to a source gamut;
determining, at the data segmenter, offsets associated with the indices using subsets of the fractional values; and
mapping the input color to an output color defined according to a destination gamut based on the indices and offsets.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the indices comprises padding values of the fractional values so that the indices include a number of bits that is equal to a number (m) of bits that are used to identify vertices along three axes of a three-dimensional (3-D) lookup table (LUT).

### Claim 3 (depends on 2)

The method of claim 2, wherein mapping the input color to the output color comprises identifying samples along the three axes of the 3-D LUT using the padded values, wherein the identified samples define a vertex of a cube that encompasses a location of the input color in the 3-D LUT.

### Claim 4 (depends on 3)

The method of claim 3, wherein determining the offsets comprises:
determining modified fractional values by setting values of a selected number of most significant bits (MSBs) of the fractional values to zero;
left shifting the modified fractional values until the MSB in the fractional value is equal to 1; and
decreasing the exponent values by one for each left shift of the bits in the fractional value.

### Claim 5 (depends on 4)

The method of claim 4, wherein mapping the input color to the output color comprises identifying additional vertices of the cube based on the offsets.

### Claim 6 (depends on 5)

The method of claim 5, wherein mapping the input color to the output color comprises retrieving component values representative of second colors determined by the destination gamut, wherein the component values are stored at memory locations associated with the identified vertices.

### Claim 7 (depends on 6)

The method of claim 6, wherein retrieving the component values from the memory locations comprises concurrently retrieving the component values from a plurality of memories.

### Claim 8 (depends on 6)

The method of claim 6, wherein mapping the input color to the output color comprises interpolating the retrieved component values to the location of the input color in the 3-D LUT using the offsets.

### Claim 9

An apparatus comprising:
a data segmenter configured to:
determine indices based on fractional values of floating-point representations of component values of an input color that are selected based on exponent values of the floating-point representations, wherein the component values are defined according to a source gamut, and
determine offsets associated with the indices using subsets of the fractional values; and
an interpolator configured to map the input color to an output color defined according to a destination gamut based on a the indices and offsets.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the data segmenter is configured to pad values of the fractional values so that the indices include a number of bits that is equal to a number (m) of bits that are used to identify vertices along three axes of a three-dimensional (3-D) lookup table (LUT).

### Claim 11 (depends on 10)

The apparatus of claim 10, further comprising:
an address decoder configured to identify samples along the three axes of the 3-D LUT using the padded indices, wherein the identified samples define a vertex of a cube that encompasses a location of the input color in the 3-D LUT.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the data segmenter is configured to:
determine modified fractional values by setting values of a selected number of most significant bits (MSBs) of the fractional values to zero;
left shift the modified fractional values until the MSB in the fractional value is equal to 1; and
decrease the exponent values by one for each left shift of the bits in the fractional value.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the address decoder is configured to identify additional vertices of the cube based on the offsets.

### Claim 14 (depends on 13)

The apparatus of claim 13, further comprising:
a plurality of memory elements configured to store component values representative of second colors determined by the destination gamut, wherein the component values are stored at memory locations associated with the identified vertices.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the interpolator is configured to concurrently retrieve the component values representative of the second colors from the plurality of memory elements.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the interpolator is configured to interpolate the retrieved component values to the location of the input color in the 3-D LUT using the offsets.

### Claim 17

A method, comprising:
converting, at a data segmenter of an electronic device, floating-point representations of component values of an input color to fixed point representations of indices of the component values of the input color and corresponding offsets, wherein the component values are defined according to a source gamut;
identifying, at an address decoder, vertices in a three-dimensional (3-D) look up table (LUT) that encompass a location in the 3-D LUT indicated by the fixed point representation of the indices and the corresponding offsets; and
mapping, at an interpolator, the input color to an output color defined according to a destination gamut based on the location in the 3-D LUT.

### Claim 18 (depends on 17)

The method of claim 17, wherein converting the floating-point representations to the fixed point representations of the indices and the corresponding offsets comprises:
selecting numbers of most significant bits (MSBs) of fractional values of the floating-point representations based on exponent values of the floating-point representations;
determining indices based on the selected number of MSBs of the fractional values; and
determining offsets associated with the indices using subsets of the fractional values.

### Claim 19 (depends on 18)

The method of claim 18, wherein determining the corresponding offsets comprises:
determining modified fractional values by setting values of the selected number of MSBs of the fractional values to zero;
left shifting the modified fractional values until the MSB in the fractional value is equal to 1; and
decreasing the exponent values by one for each left shift of the bits in the fractional value.

### Claim 20 (depends on 18)

The method of claim 18, wherein mapping the input color to the output color comprises concurrently retrieving component values representative of second colors determined by the destination gamut from a plurality of memory locations associated with the identified vertices and interpolating the retrieved component values to the location of the input color in the 3-D LUT using the corresponding offsets.
