# US 2015/0103902 A1 · Three-dimensional lookup table based color gamut scalability in multi-layer video coding

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

- Number: US 2015/0103902 A1
- Document ID: US20150103902A1
- Status: Published application
- Kind: A1
- Application number: 14/512,177
- Filed: 2014-10-10
- Published: 2015-04-16
- Earliest claimed: 2013-10-14
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Xiang Li; Krishnakanth Rapaka; Jianle Chen; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US20150103902A1

## CPC

- H04N 13/161: Encoding, multiplexing or demultiplexing different image signal components (for multi-view video sequence encoding H04N19/597)
- H04N 13/194: Transmission of image signals
- H04N 19/30: using hierarchical techniques, e.g. scalability (H04N19/63 takes precedence)
- H04N 19/42: characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation (H04N19/635 takes precedence)
- H04N 19/597: specially adapted for multi-view video sequence encoding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques are described for 3D lookup table based color gamut scalability in multi-layer video coding. A lower layer of video data may include color data in a first color gamut and a higher layer of the video data may include color data in a second color gamut. To generate inter-layer reference pictures, a video coder performs color prediction to convert the color data of a reference picture in the first color gamut to the second color gamut. The video coder may perform color prediction using a 3D lookup table. According to the techniques, the video coder generates at least one 3D lookup table having a size that is different for a luma component than for a first chroma component and a second chroma component. In this way, the total size of the table may be reduced while maintaining good coding performance.

## Claims

### Claim 1

A method of processing multi-layer video data, the method comprising:
generating at least one three-dimensional (3D) lookup table for color gamut scalability, wherein the at least one 3D lookup table has a size that is different for a luma component than for each of a first chroma component and a second chroma component;
performing color prediction using the at least one 3D lookup table to convert color data of a reference picture in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data; and
generating at least one inter-layer reference picture for the higher layer of the video data based on the converted color data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the size of the at least one 3D lookup table is larger for the luma component than for each of the first chroma component and the second chroma component.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises generating an asymmetric 3D lookup table using a different number of segments for a luma dimension of the asymmetric 3D lookup table than for each of a first chroma dimension and a second chroma dimension of the asymmetric 3D lookup table.

### Claim 4 (depends on 3)

The method of claim 3, wherein the asymmetric 3D lookup table has more segments for the luma dimension of the asymmetric 3D lookup table than for each of the first and second chroma dimensions of the asymmetric 3D lookup table.

### Claim 5 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises generating a luma component 3D lookup table having a size M×N×K, wherein M represents a size for a luma dimension of the luma component 3D lookup table, N represents a size for a first chroma dimension of the luma component 3D lookup table, and K represents a size for a second chroma dimension of the luma component 3D lookup table, and wherein M is different than each of N and K.

### Claim 6 (depends on 5)

The method of claim 5, wherein generating the at least one 3D lookup table further comprises generating a first chroma component 3D lookup table having the size M×N×K, and generating a second chroma component 3D lookup table having the size M×N×K.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises generating a luma component 3D lookup table having a first size, generating a first chroma component 3D lookup table having a second size, and generating a second chroma component 3D lookup table having a third size, wherein the first size is different than each of the second size and the third size.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises generating a luma component 3D lookup table having a first precision value, generating a first chroma component 3D lookup table having a second precision value, and generating a second chroma component 3D lookup table having the second precision value, wherein the first precision value is different than the second precision value.

### Claim 9 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises generating an unbalanced 3D lookup table using more segments for a luma dimension of the 3D lookup table than for each of a first chroma dimension and a second chroma dimension of the 3D lookup table based on the luma component being used as a table index for the 3D lookup table.

### Claim 10 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises:
generating a luma component 3D lookup table having a luma dimension that is larger than each of a first chroma dimension and a second chroma dimension based on the luma component being used as a table index for the luma component 3D lookup table;
generating a first chroma component 3D lookup table having a first chroma dimension that is larger than each of a luma dimension and a second chroma dimension based on the first chroma component being used as a table index for the first chroma component 3D lookup table; and
generating a second chroma component 3D lookup table having a second chroma dimension that is larger than each of a first chroma dimension and a luma dimension based on the second chroma component being used as a table index for the second chroma component 3D lookup table.

### Claim 11 (depends on 1)

The method of claim 1, wherein generating the at least one 3D lookup table comprises only generating a luma component 3D lookup table.

### Claim 12 (depends on 1)

The method of claim 1, wherein performing color prediction comprises performing luma component prediction using the at least one 3D lookup table, the method further comprising performing first and second chroma component predictions using one of linear mapping or piecewise linear mapping.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
predicting video blocks in a picture of the higher layer of the video data based on the at least one inter-layer reference picture generated using the at least one 3D lookup table;
encoding residual data of the predicted video blocks in a bitstream; and
encoding one or more syntax elements indicating the size of the at least one 3D lookup table in the bitstream, wherein the size is different for the luma component than for each of the first and second chroma components.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
decoding one or more syntax elements indicating the size of the at least one 3D lookup table, wherein the size is different for the luma component than for each of the first and second chroma components;
decoding residual data of predicted video blocks; and
reconstructing the predicted video blocks in a picture of the higher layer of the video data based on the decoded residual data and the at least one inter-layer reference picture generated using the at least one 3D lookup table.

### Claim 15

A video processing device for processing multi-layer video data, the device comprising:
a memory configured to store the multi-layer video data; and
one or more processors in communication with the memory and configured to:
generate at least one three-dimensional (3D) lookup table for color gamut scalability, wherein the at least one 3D lookup table has a size that is different for a luma component than for a first chroma component and a second chroma component,
perform color prediction using the at least one 3D lookup table to convert color data of a reference picture in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data, and
generate at least one inter-layer reference picture for the higher layer of the video data based on the converted color data.

### Claim 16 (depends on 15)

The device of claim 15, wherein the size of the at least one 3D lookup table is larger for the luma component than for each of the first chroma component and the second chroma component.

### Claim 17 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to generate an asymmetric 3D lookup table using a different number of segments for a luma dimension of the asymmetric 3D lookup table than for each of a first chroma dimension and a second chroma dimension of the asymmetric 3D lookup table.

### Claim 18 (depends on 17)

The device of claim 17, wherein the asymmetric 3D lookup table has more segments for the luma dimension of the asymmetric 3D lookup table than for each of the first and second chroma dimensions of the asymmetric 3D lookup table.

### Claim 19 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to generate a luma component 3D lookup table having a size M×N×K, wherein M represents a size for a luma dimension of the luma component 3D lookup table, N represents a size for a first chroma dimension of the luma component 3D lookup table, and K represents a size for a second chroma dimension of the luma component 3D lookup table, and wherein M is different than each of N and K.

### Claim 20 (depends on 19)

The device of claim 19, wherein the one or more processors are configured to generate a first chroma component 3D lookup table having the size M×N×K, and generate a second chroma component 3D lookup table having the size M×N×K.

### Claim 21 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to generate a luma component 3D lookup table having a first size, generate a first chroma component 3D lookup table having a second size, and generate a second chroma component 3D lookup table having a third size, wherein the first size is different than each of the second size and the third size.

### Claim 22 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to generate a luma component 3D lookup table having a first precision value, generate a first chroma component 3D lookup table having a second precision value, and generate a second chroma component 3D lookup table having the second precision value, wherein the first precision value is different than the second precision value.

### Claim 23 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to generate an unbalanced 3D lookup table using more segments for a luma dimension of the 3D lookup table than for each of a first chroma dimension and a second chroma dimension of the 3D lookup table based on the luma component being used as a table index for the 3D lookup table.

### Claim 24 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to:
generate a luma component 3D lookup table having a luma dimension that is larger than each of a first chroma dimension and a second chroma dimension based on the luma component being used as a table index for the luma component 3D lookup table;
generate a first chroma component 3D lookup table having a first chroma dimension that is larger than each of a luma dimension and a second chroma dimension based on the first chroma component being used as a table index for the first chroma component 3D lookup table; and
generate a second chroma component 3D lookup table having a second chroma dimension that is larger than each of a first chroma dimension and a luma dimension based on the second chroma component being used as a table index for the second chroma component 3D lookup table.

### Claim 25 (depends on 15)

The device of claim 15, wherein, to generate the at least one 3D lookup table, the one or more processors are configured to only generate a luma component 3D lookup table.

### Claim 26 (depends on 15)

The device of claim 15, wherein the one or more processors are configured to perform luma component prediction using the at least one 3D lookup table, and perform first and second chroma component predictions using one of linear mapping or piecewise linear mapping.

### Claim 27 (depends on 15)

The device of claim 15, wherein the video processing device comprises a video encoding device, and wherein the one or more processors are configured to:
predict video blocks in a picture of the higher layer of the video data based on the at least one inter-layer reference picture generated using the at least one 3D lookup table;
encode residual data of the predicted video blocks in a bitstream; and
encode one or more syntax elements indicating the size of the at least one 3D lookup table in the bitstream, wherein the size is different for the luma component than for each of the first and second chroma components.

### Claim 28 (depends on 15)

The device of claim 15, wherein the video processing device comprises a video decoding device, and wherein the one or more processors are configured to:
decode one or more syntax elements indicating the size of the at least one 3D lookup table, wherein the size is different for the luma component than for each of the first and second chroma components;
decode residual data of predicted video blocks; and
reconstruct the predicted video blocks in a picture of the higher layer of the video data based on the decoded residual data and the at least one inter-layer reference picture generated using the at least one 3D lookup table.

### Claim 29

A video processing device for processing multi-layer video data, the device comprising:
means for generating at least one three-dimensional (3D) lookup table for color gamut scalability, wherein the at least one 3D lookup table has a size that is different for a luma component than for a first chroma component and a second chroma component;
means for performing color prediction using the at least one 3D lookup table to convert color data of a reference picture in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data; and
means for generating at least one inter-layer reference picture for the higher layer of the video data based on the converted color data.

### Claim 30

A computer-readable storage medium storing instructions for processing multi-layer video data that, when executed, cause one or more processors to:
generate at least one three-dimensional (3D) lookup table for color gamut scalability, wherein the at least one 3D lookup table has a size that is different for a luma component than for a first chroma component and a second chroma component;
perform color prediction using the at least one 3D lookup table to convert color data of a reference picture in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data; and
generate at least one inter-layer reference picture for the higher layer of the video data based on the converted color data.
