# US 2019/0318448 A1 · System and method for mapped splicing of a three-dimensional look-up table for image format conversion

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

- Number: US 2019/0318448 A1
- Document ID: US20190318448A1
- Status: Published application
- Kind: A1
- Application number: 15/955,237
- Filed: 2018-04-17
- Published: 2019-10-17
- Earliest claimed: 2018-04-17
- Assignees: Grass Valley Canada
- Applicants: Grass Valley Canada
- Inventors: Giuseppe GIOVANNELLI
- Web page: https://patentgrep.com/patent/US20190318448A1

## CPC

- G06T 1/60: Memory management
- H04N 1/60: Colour correction or control {(H04N1/54 takes precedence)}
- G06T 15/005: {General purpose rendering architectures}
- G09G 2320/0666: for control of colour parameters, e.g. colour temperature
- G09G 2340/06: Colour space transformation
- H04N 1/64: Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor {(H04N19/00 takes precedence)}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- 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)

## Abstract

A system and method that splices an initial 3D LUT for imaging format conversion into a plurality of smaller LUTs that can be stored in separate RAMs. During operation, the upper 5-bits serve as index values of each component of an incoming GBR pixel and are used to determine which of the smaller RAMs contain the correct index values for the pixel data. Specifically, a first index value can be derived from the incoming GBR pixel data and used to lookup all sub-cube vertices corresponding to the incoming pixel and the corresponding RAMs. After determining the correct RAMs, a predetermined algorithm for each given RAM is applied to find the normalized RAM look-up addresses and identify the correct data for the exemplary imaging format conversion process.

## Claims

### Claim 1

A system for mapped splicing of a three-dimensional look-up table (“3D LUT”) to minimize memory consumption for converting image data from a first format to a second format, the system comprising:
a 3D LUT splicer configured to splice an initial 3D LUT into eight sub-cube vertices that are stored on eight respective random access memories (“RAMs”), wherein the initial 3D LUT comprises red, green and blue (“RGB”) color components for converting the image data to the second format;
a pixel input configured to receive at least one pixel in the first format comprising a plurality of upper bits and a plurality of lower bits for each of the RGB color components of the received at least one pixel;
an index value identifier configured to identify the eight sub-cube vertices corresponding to the received at least one pixel based on a set of index values of the plurality of upper bits for the RGB color components of the received at least one pixel;
a plurality of normalized address calculators configured to determine memory access addresses for accessing respective RGB color components to convert the image data to the second format based on each of the identified eight sub-cube vertices of the received at least one pixel;
an image data output configured to access the respective RGB color components in the eight respective RAMs based on the determined memory access addresses; and
a tri-linear interpolator configured to output converted image data of the at least one pixel in the second format by tri-interpolating the accessed RGB color components of the at least one pixel based on the plurality of lower bits for each of the RGB color components of the received at least one pixel.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the index value identifier is configured to identify the eight sub-cube vertices based on the set of index values for the RGB color components by determining a first sub-cube vertex corresponding to an origin of a sub-cube in the initial 3D LUT and determining a remaining seven sub-cube vertices by applying the origin to a lookup table.

### Claim 3 (depends on 2)

The system according to claim 2, wherein the lookup table identifies each of the respective eight RAMs that corresponds to a different sub-cube vertex of the eight sub-cube vertices for the at least one pixel.

### Claim 4 (depends on 1)

The system according to claim 1, further comprising:
a user input configured to receive an instruction for converting the image data from the first format to the second format; and
a 3D LUT selector configured to select and load the initial 3D LUT based on the received instruction.

### Claim 5 (depends on 4)

The system according to claim 4, wherein the first format is a standard dynamic range application and the second format is a high dynamic range application.

### Claim 6 (depends on 1)

The system according to claim 1, wherein the 3D LUT splicer is configured to splice the initial 3D LUT by separating each of the RGB axes into alternating vertex values and to store the alternating vertex values in the eight respective RAMs.

### Claim 7

A system for mapped splicing of a three-dimensional look-up table (“3D LUT”) to minimize memory consumption for converting image data, the system comprising:
a 3D LUT splicer configured to splice an initial 3D LUT into a plurality of sub-cube vertices that are stored on a plurality of separate electronic memories, respectively, wherein the initial 3D LUT comprises red, green and blue (“RGB”) color components for converting the image data;
an index value identifier configured to identify the plurality of sub-cube vertices corresponding to at least one pixel to be converted based on a set of index values for the RGB color components of the at least one pixel;
a plurality of address translators configured to determine memory access addresses for accessing respective RGB color components to convert the at least one pixel based on each of the identified plurality of sub-cube vertices of the at least one pixel; and
an image data output configured to access the respective RGB color components in the plurality of separate electronic memories based on the determined memory access addresses and convert the accessed RGB color components to image data configured to be displayed on a content consuming device in a converted image format.

### Claim 8 (depends on 7)

The system according to claim 7, wherein the image data output comprises a tri-linear interpolator configured to convert the accessed RGB color components to image data by tri-interpolating the accessed RGB color components of the at least one pixel.

### Claim 9 (depends on 7)

The system according to claim 7, further comprising a pixel input configured to receive the at least one pixel in a first format comprising a plurality of upper bits and a plurality of lower bits for each of the RGB color components of the received at least one pixel.

### Claim 10 (depends on 9)

The system according to claim 9, wherein the index value identifier identifies the plurality of sub-cube vertices corresponding to at least one pixel based on a set of index values from the plurality of upper bits of the received at least one pixel.

### Claim 11 (depends on 7)

The system according to claim 7, wherein the index value identifier is configured to identify the plurality of sub-cube vertices based on the set of index values for the RGB color components by determining a first sub-cube vertex corresponding to an origin of a sub-cube in the initial 3D LUT and determining the remaining sub-cube vertices by applying the origin to a lookup table.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the lookup table identifies each of the plurality of separate electronic memories that corresponds to a different sub-cube vertex of the plurality of sub-cube vertices for the at least one pixel.

### Claim 13 (depends on 7)

The system according to claim 7, further comprising:
a user input configured to receive an instruction for converting the image data from a first format to a second format; and
a 3D LUT selector configured to select and load the initial 3D LUT based on the received instruction.

### Claim 14 (depends on 13)

The system according to claim 13, wherein the first format is a standard dynamic range application and the second format is a high dynamic range application.

### Claim 15 (depends on 7)

The system according to claim 7, wherein the 3D LUT splicer is configured to splice the initial 3D LUT by separating each of the RGB axes into alternating vertex values and to store the alternating vertex values in the plurality of electronic memories.

### Claim 16

A system for mapped splicing of a three-dimensional look-up table (“3D LUT”) to minimize memory consumption for converting image data to for display on a content consuming device, the system comprising:
a 3D LUT splicer configured to splice a 3D LUT into a plurality of sub-cube vertices that are stored on a plurality of separate electronic memories, respectively, wherein the 3D LUT comprises a plurality of color components for converting the image data to be displayed on the content consuming device;
an index value identifier configured to identify the plurality of sub-cube vertices for at least one pixel to be converted based on a set of index values for the plurality of color components of the at least one pixel; and
an image data output configured to access the respective color components in the plurality of separate electronic memories based on the identified plurality of sub-cube vertices and convert the accessed color components to image data configured to be displayed on the content consuming device in a converted image format.

### Claim 17 (depends on 16)

The system according to claim 16, further comprising a plurality of address translators configured to determine memory access addresses for accessing the respective color components to convert the at least one pixel based on each of the identified plurality of sub-cube vertices of the at least one pixel.

### Claim 18 (depends on 17)

The system according to claim 17, wherein the image data output accesses the respective color components in the plurality of separate electronic memories based on the determined memory access addresses.

### Claim 19 (depends on 16)

The system according to claim 16, wherein the image data output comprises a tri-linear interpolator configured to convert the accessed color components to image data by tri-interpolating the accessed color components of the at least one pixel.

### Claim 20 (depends on 16)

The system according to claim 16, further comprising a pixel input configured to receive the at least one pixel in a first format comprising a plurality of upper bits and a plurality of lower bits for each of red, green, and blue color components of the received at least one pixel.

### Claim 21 (depends on 20)

The system according to claim 20, wherein the index value identifier identifies the plurality of sub-cube vertices corresponding to at least one pixel based on a set of index values from the plurality of upper bits of the received at least one pixel.

### Claim 22 (depends on 7)

The system according to claim 7, wherein the index value identifier is configured to identify the plurality of sub-cube vertices based on the set of index values for the plurality of color components by determining a first sub-cube vertex corresponding to an origin of a sub-cube in the 3D LUT and determining the remaining sub-cube vertices by applying the origin to a lookup table.

### Claim 23 (depends on 22)

The system according to claim 22, wherein the lookup table identifies each of the plurality of separate electronic memories that corresponds to a different sub-cube vertex of the plurality of sub-cube vertices for the at least one pixel.

### Claim 24 (depends on 16)

The system according to claim 16, further comprising:
a user input configured to receive an instruction for converting the image data from a first format to a second format; and
a 3D LUT selector configured to select and load the initial 3D LUT based on the received instruction.

### Claim 25 (depends on 24)

The system according to claim 24, wherein the first format is a standard dynamic range application and the second format is a high dynamic range application.

### Claim 26 (depends on 16)

The system according to claim 16, wherein the 3D LUT splicer is configured to splice the 3D LUT by separating each of the axes into alternating vertex values and to store the alternating vertex values in the plurality of separate electronic memories.
