# US 10,375,389 B2 · Template matching for JVET intra prediction

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

- Number: US 10,375,389 B2
- Document ID: US10375389B2
- Status: Granted
- Kind: B2
- Application number: 15/919,350
- Filed: 2018-03-13
- Published: 2018-08-23
- Granted: 2019-08-06
- Earliest claimed: 2016-05-17
- Assignees: ARRIS Enterprises LLC
- Applicants: ARRIS Enterprises LLC
- Inventors: Krit Panusopone; Limin Wang; Koohyar Minoo
- Web page: https://patentgrep.com/patent/US10375389B2

## CPC

- H04N 19/107: between spatial and temporal predictive coding, e.g. picture refresh
- 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/149: by estimating the code amount by means of a model, e.g. mathematical model or statistical model
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/647: {using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]}
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N 19/11: among a plurality of spatial predictive coding modes
- H04N 19/197: {including determination of the initial value of an encoding parameter (H04N19/56 takes precedence)}
- H04N 19/503: involving temporal prediction (adaptive coding with adaptive selection between spatial and temporal predictive coding H04N19/107; adaptive coding with adaptive selection among a plurality of temporal predictive coding modes H04N19/109)
- H04N 19/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of decoding JVET video, comprising defining a coding unit (CU) template within a decoded area of a video frame, the CU template being positioned above and/or to the left of a current decoding position for which data was intra predicted, defining a search window within the decoded area, the search window being adjacent to the CU template, generating a plurality of candidate prediction templates based on pixel values in the search window, each of the plurality of candidate prediction templates being generated using different intra prediction modes, calculating a matching cost between the CU template and each of the plurality of candidate prediction templates, selecting an intra prediction mode that generated the candidate prediction template that had the lowest matching cost relative to the CU template, and generating a prediction CU for the current decoding position based on the intra prediction mode.

## Claims

### Claim 1

A method of decoding Joint Video Experts Team (JVET) video, comprising:
defining a coding unit (CU) template within a decoded area of a video frame, said CU template being positioned above and/or to the left of a current decoding position for which data was intra predicted;
defining a search window within said decoded area, said search window being adjacent to said CU template;
generating a plurality of candidate prediction templates based on pixel values in said search window, each of said plurality of candidate prediction templates being generated using different intra prediction modes;
calculating a matching cost between said CU template and each of the plurality of candidate prediction templates;
selecting an intra prediction mode that generated the candidate prediction template that had the lowest matching cost relative to said CU template; and
generating a prediction CU for said current decoding position based on said intra prediction mode.

### Claim 2 (depends on 1)

The method of claim 1, wherein said CU template is shaped with a row of pixels immediately above the top of the current decoding position and a column of pixels immediately to the left of the current decoding position.

### Claim 3 (depends on 2)

The method of claim 2, wherein said row of pixels has a length that is one pixel less than the length of the current decoding position and said column of pixels has a height that is one pixel less than the height of the current decoding position.

### Claim 4 (depends on 1)

The method of claim 1, wherein calculating said matching costs comprises calculating the sum of absolute differences between said CU template and each of said plurality of candidate prediction templates.

### Claim 5 (depends on 1)

The method of claim 1, wherein said search window is spaced apart from the current decoding position by the CU template and extends beyond the ends of the CU template.

### Claim 6 (depends on 1)

The method of claim 1, wherein the steps of defining said CU template and said search window, calculating said matching costs, selecting intra prediction mode, and generating said prediction CU based on said intra prediction mode are performed when information identifying an intra prediction mode for the current decoding position is absent from a bitstream.

### Claim 7 (depends on 1)

The method of claim 1, further comprising adding said prediction CU to a reconstructed residual CU to generate a reconstructed CU for output video.

### Claim 8 (depends on 1)

The method of claim 1, wherein the different intra prediction modes for which candidate prediction templates are considered are at least a subset of the allowed JVET intra prediction modes.

### Claim 9

A method of decoding Joint Video Experts Team (JVET) video, comprising:
defining a plurality of coding unit (CU) templates within a decoded area of a video frame, each of the CU templates being positioned above and/or to the left of a current decoding position for which data was intra predicted and being spaced apart from the current decoding position by a different number of reference lines;
defining a search window within said decoded area for each of said plurality of CU templates, each search window being within an associated reference line;
generating one or more candidate prediction templates for each of said plurality of CU templates based on pixel values in the search window associated with the CU template, each of said plurality of candidate prediction templates being generated using an intra prediction modes;
calculating a matching cost between each of said plurality of CU templates and each of said plurality of candidate prediction templates;
selecting an intra prediction mode that generated a candidate prediction template with a lowest matching cost relative to one of said plurality of CU templates; and
generating a prediction CU for said current decoding position based on said selected intra prediction mode.

### Claim 10 (depends on 9)

The method of claim 9, wherein each of said plurality of CU templates is shaped with a row of pixels immediately above an associated reference line and a column of pixels immediately to the left of the associated reference line.

### Claim 11 (depends on 9)

The method of claim 9, wherein calculating said matching costs comprises calculating the sum of absolute differences between the CU templates and their associated plurality of candidate prediction templates.

### Claim 12 (depends on 9)

The method of claim 9, wherein each search window extend beyond the ends of the associated CU template.

### Claim 13 (depends on 9)

The method of claim 9, wherein the steps of defining said CU templates and said search windows, calculating said matching costs, selecting said intra prediction mode, and generating said prediction CU based on said intra prediction mode are performed when in-formation identifying an intra prediction mode for the current decoding position is absent from a bitstream.

### Claim 14 (depends on 9)

The method of claim 9, further comprising adding said prediction CU to a reconstructed residual CU to generate a reconstructed CU for output video.

### Claim 15 (depends on 9)

The method of claim 9, wherein the different intra prediction modes for which candidate prediction templates are considered are at least a subset of the allowed JVET intra prediction modes.

### Claim 16

A method of decoding Joint Video Experts Team (JVET) video, comprising:
receiving a bitstream identifying a plurality of coding units (CUs), at least some of which were encoded with intra prediction, wherein said bitstream omits an indication of which intra prediction mode was used to encode those CUs;
defining at least one CU template within a decoded area of a video frame, the at least one CU template being positioned above and/or to the left of a current decoding position for a coding unit encoded with intra prediction;
defining at least one search window within said decoded area, said at least one search window being adjacent to said at least one CU template within said decoded area;
generating a plurality of candidate prediction templates for said at least one CU template based on pixel values in the search window associated with said at least one CU template, each of said plurality of candidate prediction templates being generated using different intra prediction modes;
calculating a matching cost between said at least one CU template and each of said plurality of candidate prediction templates;
selecting an intra prediction mode that generated the candidate prediction template that had the lowest matching cost relative to said at least one CU template;
generating a prediction CU for said current decoding position based on said intra prediction mode;
decoding a reconstructed residual CU from said bitstream for said current decoding position; and
generating a reconstructed CU by adding said prediction CU to said reconstructed residual CU.

### Claim 17 (depends on 16)

The method of claim 16, wherein said at least one CU template is shaped with a row of pixels immediately above the top of the current decoding position and a column of pixels immediately to the left of the current decoding position.

### Claim 18 (depends on 16)

The method of claim 16, wherein each of said at least one CU templates is shaped with a row of pixels immediately above a different associated reference line and a column of pixels immediately to the left of the associated reference line.

### Claim 19 (depends on 16)

The method of claim 16, wherein calculating said matching costs comprises calculating the sum of absolute differences between said at least one CU template and each of said plurality of candidate prediction templates.

### Claim 20 (depends on 16)

The method of claim 16, wherein the different intra prediction modes for which candidate prediction templates are considered are at least a subset of the allowed JVET intra prediction modes.
