# US 2019/0174145 A1 · Intra-prediction with far neighboring pixels

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

- Number: US 2019/0174145 A1
- Document ID: US20190174145A1
- Status: Published application
- Kind: A1
- Application number: 16/209,560
- Filed: 2018-12-04
- Published: 2019-06-06
- Earliest claimed: 2017-12-05
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Kai Zhang; Jianle Chen; Xin Zhao; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US20190174145A1

## CPC

- H04N 19/82: involving filtering within a prediction loop
- 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/11: among a plurality of spatial predictive coding modes
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video decoder can be configured to decode a block of video data by determining a block of video data is coded in an intra prediction mode; determining one or more samples for intra predicting the block of video data, wherein the one or more samples comprise samples that are already reconstructed and not adjacent to the block of video data; and based on the one or more samples, generating a predictive block for the block of video data.

## Claims

### Claim 1

A method for decoding a block of video data, the method comprising:
determining a block of video data is coded in an intra prediction mode;
determining one or more samples for intra predicting the block of video data, wherein the one or more samples comprise samples that are already reconstructed and not adjacent to the block of video data; and
based on the one or more samples, generating a predictive block for the block of video data.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
adding a block of residual sample values to the predictive block to generate a reconstructed block for the block of video data;
performing one or more filtering operations on the reconstructed block; and
outputting a picture comprising the filtered reconstructed block.

### Claim 3 (depends on 1)

The method of claim 1, wherein the one or more samples for intra predicting the block of video data further comprise one or more of:
samples that belong to neighboring blocks adjacent to the block of video data;
samples that belong to far neighboring blocks not adjacent to the block of video data; or
samples that belong to blocks in a reference frame identified by a motion vector.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises:
determining an availability of neighboring blocks and far neighboring blocks; and
based on the determined availability, determining one or more of (1) whether far neighboring samples should be used in the intra-prediction process for the current block; (2) which far neighboring should be used in the intra-prediction process for the current block; and (3) how far neighboring should be used in the intra-prediction process for the current block.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises:
determining the one or more samples for intra predicting the block of video data comprises using template matching.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises:
determining an intra prediction mode for the block of video data;
based on the determined intra prediction mode, determining one or more of (1) whether far neighboring samples should be used in the intra-prediction process for the current block; (2) which far neighboring samples should be used in the intra-prediction process for the current block; and (3) how far neighboring samples should be used in the intra-prediction process for the current block.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises:
for a first sample to be predicted, locating a first available sample on a line starting from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available sample does not border the block.

### Claim 8 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises:
for a first sample to be predicted, locating a first available row or column of samples on a line staring from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available row or column of samples does not border the block.

### Claim 9 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises padding an unavailable neighboring sample, wherein padding the unavailable neighboring sample comprises:
for a first neighboring sample to be padded, locating a first available sample on a line staring from the first sample along a direction defined by an intra-prediction mode of the block; and
padding first neighboring sample to be padded based on the first available sample.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises:
for a first neighboring sample to be padded, locating a first available row or column of samples on a line staring from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available row or column of samples does not border the block.

### Claim 11 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises padding an unavailable neighboring sample, wherein padding the unavailable neighboring sample comprises determining a value for the unavailable neighboring sample based on an adjacent available neighboring sample and a non-adjacent neighboring sample.

### Claim 12 (depends on 1)

The method of claim 1, wherein determining the one or more samples for intra predicting the block of video data comprises padding an unavailable neighboring sample, wherein padding the unavailable neighboring sample comprises determining a value for the unavailable neighboring sample based on an available sample in an adjacent neighboring block and an available neighboring sample in a non-adjacent neighboring block.

### Claim 13 (depends on 1)

The method of claim 1, wherein the method for decoding the block of video data is performed as part of a process for encoding the block of video data.

### Claim 14

A device for decoding video data, the device comprising:
a memory configured to store a block of the video data; and
one or more processors configured to:
determine the block of video data is coded in an intra prediction mode;
determine one or more samples for intra predicting the block of video data, wherein the one or more samples comprise samples that are already reconstructed and not adjacent to the block of video data; and
based on the one or more samples, generate a predictive block for the block of video data.

### Claim 15 (depends on 14)

The device of claim 14, wherein the one or more processors are further configured to:
add a block of residual sample values to the predictive block to generate a reconstructed block for the block of video data;
perform one or more filtering operations on the reconstructed block; and
output a picture comprising the filtered reconstructed block.

### Claim 16 (depends on 14)

The device of claim 14, wherein the one or more samples for intra predicting the block of video data further comprise one or more of:
samples that belong to neighboring blocks adjacent to the block of video data;
samples that belong to far neighboring blocks not adjacent to the block of video data; or
samples that belong to blocks in a reference frame identified by a motion vector.

### Claim 17 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to:
determine an availability of neighboring blocks and far neighboring blocks; and
based on the determined availability, determine one or more of (1) whether far neighboring samples should be used in the intra-prediction process for the current block; (2) which far neighboring should be used in the intra-prediction process for the current block; and (3) how far neighboring should be used in the intra-prediction process for the current block.

### Claim 18 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to:
determine the one or more samples for intra predicting the block of video data comprises using template matching.

### Claim 19 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to:
determine an intra prediction mode for the block of video data;
based on the determined intra prediction mode, determine one or more of (1) whether far neighboring samples should be used in the intra-prediction process for the current block; (2) which far neighboring samples should be used in the intra-prediction process for the current block; and (3) how far neighboring samples should be used in the intra-prediction process for the current block.

### Claim 20 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to:
for a first sample to be predicted, locate a first available sample on a line starting from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available sample does not border the block.

### Claim 21 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to:
for a first sample to be predicted, locate a first available row or column of samples on a line staring from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available row or column of samples does not border the block.

### Claim 22 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to pad an unavailable neighboring sample, wherein to pad the unavailable neighboring sample, the one or more processors are further configured to:
for a first neighboring sample to be padded, locate a first available sample on a line staring from the first sample along a direction defined by an intra-prediction mode of the block; and
pad first neighboring sample to be padded based on the first available sample.

### Claim 23 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to:
for a first neighboring sample to be padded, locate a first available row or column of samples on a line staring from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available row or column of samples does not border the block.

### Claim 24 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to pad an unavailable neighboring sample, wherein to pad the unavailable neighboring sample, the one or more processors are further configured to determine a value for the unavailable neighboring sample based on an adjacent available neighboring sample and a non-adjacent neighboring sample.

### Claim 25 (depends on 14)

The device of claim 14, wherein to determine the one or more samples for intra predicting the block of video data, the one or more processors are further configured to pad an unavailable neighboring sample, wherein to pad the unavailable neighboring sample, the one or more processors are further configured to determine a value for the unavailable neighboring sample based on an available sample in an adjacent neighboring block and an available neighboring sample in a non-adjacent neighboring block.

### Claim 26 (depends on 14)

The device of claim 14, wherein the one or more processors are configured to generate the predictive block for the block of video data as part of a process for encoding the block of video data.

### Claim 27

A computer-readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to:
determine a block of video data is coded in an intra prediction mode;
determine one or more samples for intra predicting the block of video data, wherein the one or more samples comprise samples that are already reconstructed and not adjacent to the block of video data; and
based on the one or more samples, generate a predictive block for the block of video data.

### Claim 28 (depends on 27)

The computer-readable storage medium of claim 27, wherein to determine the one or more samples for intra predicting the block of video data, the instructions cause the one or more processors to:
for a first sample to be predicted, locate a first available sample on a line starting from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available sample does not border the block.

### Claim 29 (depends on 27)

The computer-readable storage medium of claim 27, wherein to determine the one or more samples for intra predicting the block of video data, the instructions cause the one or more processors to:
for a first neighboring sample to be padded, locate a first available row or column of samples on a line staring from the first sample along a direction defined by an intra-prediction mode of the block, wherein the first available row or column of samples does not border the block.

### Claim 30 (depends on 27)

The computer-readable storage medium of claim 27, wherein to determine the one or more samples for intra predicting the block of video data, the instructions cause the one or more processors to pad an unavailable neighboring sample, wherein padding the unavailable neighboring sample comprises determining a value for the unavailable neighboring sample based on an available sample in an adjacent neighboring block and an available neighboring sample in a non-adjacent neighboring block.
