# US 11,909,977 B2 · Methods, architectures, apparatuses and systems directed to improved linear model estimation for template based video coding

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

- Number: US 11,909,977 B2
- Document ID: US11909977B2
- Status: Granted
- Kind: B2
- Application number: 17/415,176
- Filed: 2019-12-20
- Published: 2022-03-24
- Granted: 2024-02-20
- Earliest claimed: 2018-12-21
- Assignees: Vid Scale, Inc.
- Applicants: Vid Scale, Inc.
- Inventors: Saurav Bandyopadhyay; Xiaoyu Xiu; Yuwen He
- Web page: https://patentgrep.com/patent/US11909977B2

## CPC

- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- 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/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Procedures, methods, architectures, apparatuses, systems, devices, and computer program products directed to improved linear model estimation for template-based video coding are provided. Included therein is a method comprising determining minimum and maximum (“min/max”) values of luma and chroma samples neighboring a coding block, wherein the min/max chroma values correspond to the min/max luma values; determining a first linear model parameter of a template-based video coding technique (i) based on a single look-up table and the min/max chroma values and (ii) at a precision no greater than 16 bits; determining a second linear model parameter of the template-based video coding technique (i) based on the first linear model parameter and the minimum chroma and luma values and (ii) at a precision no greater than 16 bits; and predicting chroma samples of the coding block based on reconstructed luma samples of the coding block and the first and second linear model parameters.

## Claims

### Claim 1

A method for encoding video data by an encoder, the method comprising:
coding a video block of the video data using a linear model of a template-based video coding technique, the coding comprises:
determining minimum and maximum values of luma samples neighboring a coding block;
determining minimum and maximum values of chroma samples neighboring the coding block and corresponding to the chroma for the minimum and maximum values of the luma samples, respectively;
computing a first parameter of the linear model (i) as a function of a single look up table, including values for determining least significant bits only, and the minimum and maximum values of the chroma samples and (ii) at a first precision, wherein the first precision is less than or equal to 16 bits;
computing a second parameter of the linear model (i) as a function of the minimum value of the chroma samples, the minimum value of the luma samples and the first parameter of the linear model and (ii) at a second precision, wherein the second precision is less than or equal to 16 bits; and
predicting chroma samples of the coding block based on the first parameter, the second parameter and reconstructed luma samples of the coding block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the template-based video coding technique is any of a cross component linear model (CCLM) and Local Illumination Compensation (LIC).

### Claim 3 (depends on 1)

The method of claim 1, wherein the luma and chroma samples correspond to respective templates, the method further comprising at least one of:
pruning one or more samples of the luma template to obtain the luma samples; and pruning one or more samples of the chroma template to obtain the chroma samples.

### Claim 4 (depends on 3)

The method of claim 3, wherein pruning one or more samples of the luma template to obtain the luma samples comprises: excluding one or more samples of the luma template based on statistical methods.

### Claim 5 (depends on 3)

The method of claim 3, wherein pruning one or more samples of the chroma template to obtain the chroma samples comprises: excluding one or more samples of the chroma template based on statistical methods.

### Claim 6 (depends on 1)

The method of claim 1, wherein the luma and chroma samples belong to a point distribution having a single region or to one of a plurality of regions of the point distribution.

### Claim 7

An encoder of video data comprising circuitry, including a processor and memory, configured to:
code a video block of the video data using a linear model of a template-based video coding technique, the coding comprises:
determining minimum and maximum values of luma samples neighboring a coding block;
determining minimum and maximum values of chroma samples neighboring the coding block and corresponding to the chroma for the minimum and maximum values of the luma samples, respectively;
computing a first parameter of the linear model (i) as a function of a single look up table, including values for determining least significant bits only, and the minimum and maximum values of the chroma samples and (ii) at a first precision, wherein the first precision is less than or equal to 16 bits;
computing a second parameter of the linear model (i) as a function of the minimum value of the chroma samples, the minimum value of the luma samples and the first parameter of the linear model and (ii) at a second precision, wherein the second precision is less than or equal to 16 bits; and
predicting chroma samples of the coding block based on the first parameter, the second parameter and reconstructed luma samples of the coding block.

### Claim 8 (depends on 7)

The encoder of claim 7, wherein the template-based video coding technique is any of a cross component linear model (CCLM) and Local Illumination Compensation (LIC).

### Claim 9 (depends on 7)

The encoder of claim 7, wherein the luma and chroma samples correspond to respective templates, and wherein the circuitry is configured to carry out at least one of:
prune one or more samples of the luma template to obtain the luma samples; and
prune one or more samples of the chroma template to obtain the chroma samples.

### Claim 10 (depends on 9)

The encoder of claim 9, wherein the circuitry being configured to prune one or more samples of the luma template to obtain the luma samples comprises the circuitry is configured to exclude one or more samples of the luma template based on statistical methods, and wherein the circuitry being configured to prune one or more samples of the chroma template to obtain the chroma samples comprises the circuitry being configured to exclude one or more samples of the chroma template based on statistical methods.

### Claim 11 (depends on 7)

The encoder of claim 7, wherein the luma and chroma samples belong to a point distribution having a single region or to one of a plurality of regions of the point distribution.

### Claim 12

A method for decoding video data by a decoder, the method comprising:
decoding a video block of the video data using a linear model of a template-based video coding technique, the decoding comprises:
determining minimum and maximum values of luma samples neighboring a coding block;
determining minimum and maximum values of chroma samples neighboring the coding block and corresponding to the chroma for the minimum and maximum values of the luma samples, respectively;
computing a first parameter of the linear model (i) as a function of a single look up table, including values for determining least significant bits only, and the minimum and maximum values of the chroma samples and (ii) at a first precision, wherein the first precision is less than or equal to 16 bits;
computing a second parameter of the linear model (i) as a function of the minimum value of the chroma samples, the minimum value of the luma samples and the first parameter of the linear model and (ii) at a second precision, wherein the second precision is less than or equal to 16 bits; and
predicting chroma samples of the coding block based on the first parameter, the second parameter and reconstructed luma samples of the coding block.

### Claim 13 (depends on 12)

The method of claim 12, wherein the template-based video coding technique is any of a cross component linear model (CCLM) and Local Illumination Compensation (LIC).

### Claim 14

A decoder of video data comprising circuitry, including a processor and memory, configured to:
decode a video block of the video data using a linear model of a template-based video coding technique, the decoding comprises:
determining minimum and maximum values of luma samples neighboring a coding block;
determining minimum and maximum values of chroma samples neighboring the coding block and corresponding to the chroma for the minimum and maximum values of the luma samples, respectively;
computing a first parameter of the linear model (i) as a function of a single look up table, including values for determining least significant bits only, and the minimum and maximum values of the chroma samples and (ii) at a first precision, wherein the first precision is less than or equal to 16 bits;
computing a second parameter of the linear model (i) as a function of the minimum value of the chroma samples, the minimum value of the luma samples and the first parameter of the linear model and (ii) at a second precision, wherein the second precision is less than or equal to 16 bits; and
predicting chroma samples of the coding block based on the first parameter, the second parameter and reconstructed luma samples of the coding block.

### Claim 15 (depends on 14)

The decoder of claim 14, wherein the template-based video coding technique is any of a cross component linear model (CCLM) and Local Illumination Compensation (LIC).

### Claim 16 (depends on 1)

The method of claim 1, wherein the least significant bits are of a value computed based on a difference between the minimum and the maximum values of the luma samples.

### Claim 17 (depends on 7)

The encoder of claim 7, wherein the least significant bits are of a value computed based on a difference between the minimum and the maximum values of the luma samples.

### Claim 18 (depends on 12)

The method of claim 12, wherein the least significant bits are of a value computed based on a difference between the minimum and the maximum values of the luma samples.

### Claim 19 (depends on 14)

The decoder of claim 14, wherein the least significant bits are of a value computed based on a difference between the minimum and the maximum values of the luma samples.
