# US 10,313,705 B2 · Method and apparatus for pre-prediction filtering for use in block-prediction techniques

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

- Number: US 10,313,705 B2
- Document ID: US10313705B2
- Status: Granted
- Kind: B2
- Application number: 15/290,148
- Filed: 2016-10-11
- Published: 2017-02-02
- Granted: 2019-06-04
- Earliest claimed: 2014-05-23
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Alexey Konstantinovich Filippov; Vasily Alexeevich Rufitskiy
- Web page: https://patentgrep.com/patent/US10313705B2

## CPC

- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/156: Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A prediction technique, which use pre-prediction filtering techniques to reduce noise influence on the predicted samples of a block to be reconstructed, is presented. The prediction techniques suggested herein can be for example used in an encoding apparatus or a decoding apparatus. The reference samples that are used to reconstruct a given block of pixels of an image are categorized or segmented into subsets. The subsets may be processed differently, e.g. the subsets may be subjected to distinct filters. Examples of such filters include smoothing filters and/or deblocking filters, which are applied to the respective subsets of the reference samples.

## Claims

### Claim 1

A method for reconstructing blocks of an image using prediction, the method comprising:
determining reference samples of one or more already decoded blocks for predicting a block to be reconstructed, the reference samples corresponding to a prediction mode employed for encoding the block to be reconstructed;
selecting a first subset of the reference samples and a second subset of the reference samples;
determining first filter parameters for the first subset of the reference samples and second filter parameters for the second subset of the reference samples based on the prediction mode and a size of the block to be reconstructed, the first filter parameters being different than the second filter parameters;
performing pre-prediction filtering of the first subset of the reference samples and the second subset of the reference samples using the first filter parameters and the second filter parameters, respectively, to generate pre-prediction filtered reference samples; and
reconstructing the block to be reconstructed by prediction based on the reference samples including the pre-prediction filtered reference samples.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising determining the size of the block to be reconstructed and the prediction mode.

### Claim 3 (depends on 2)

The method according to claim 2, wherein intra-prediction is used for reconstructing the block, determining the prediction mode employed for encoding the block to be reconstructed comprises determining whether the intra-prediction is according to a vertical mode, a horizontal mode, or an angular mode, and the pre-prediction filtering is performed using the first filter parameters and the second filter parameters when the prediction mode corresponds to the angular mode.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the second subset comprises reference samples of one or more blocks for which no residual has been coded in an encoded video stream.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising applying, subsequent to performing the pre-prediction filtering, a deblocking filter to first filtered reference samples of the pre-prediction filtered reference samples of different decoded blocks, wherein the first filtered reference samples are reference samples at boundaries between decoded blocks.

### Claim 6

A method for reconstructing blocks of an image using prediction, the method comprising:
determining reference samples of one or more already decoded blocks for predicting a block to be reconstructed, the reference samples corresponding to a prediction mode employed for encoding the block to be reconstructed;
selecting a first subset of the reference samples and a second subset of the reference samples;
determining first filter parameters for the first subset of the reference samples and second filter parameters for the second subset of the reference samples based on the prediction mode and a size of the block to be reconstructed, the first filter parameters being different than the second filter parameters;
performing first pre-prediction filtering of the first subset of the reference samples and the second subset of the reference samples using the first filter parameters and the second filter parameters, respectively, to generate first filtered reference samples;
selecting a third subset of the reference samples for which no residual has been coded in an encoded video stream;
performing second pre-prediction filtering of the third subset of the reference samples using third filter parameters to generate second filtered reference samples; and
reconstructing the block by prediction based on the reference samples including at least some of the first filtered reference samples, the second filtered reference samples, or a combination thereof.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the first filter parameters, the second filter parameters, or both, are different than the third filter parameters.

### Claim 8 (depends on 6)

The method according to claim 6, wherein the third subset of the reference samples includes one or more reference samples in at least one of the first subset or the second subset.

### Claim 9 (depends on 6)

The method according to claim 6, further comprising performing deblocking using a deblocking filter, wherein the first and second pre-prediction filtering are performed prior to performing the deblocking.

### Claim 10 (depends on 9)

The method according to claim 9, wherein the deblocking is performed on one or more of the first filtered reference samples or the second filtered reference samples.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the one or more of the first filtered reference samples or the second filtered reference samples on which the deblocking is performed are reference samples at boundaries between decoded blocks.

### Claim 12 (depends on 11)

The method according to claim 11, further comprising:
adding a decoded residual for the block to be decoded to the block to be reconstructed in order to obtain a decoded block; and
applying an in-loop deblocking filter to the decoded block.

### Claim 13 (depends on 6)

The method according to claim 6, wherein the reference samples form two one-dimensional arrays, one array comprises a column of samples of one or more decoded neighboring blocks to the left or right of the block to be decoded, and the other array comprises a row of samples of one or more decoded neighboring blocks on top or bottom of the block to be decoded.

### Claim 14 (depends on 6)

The method according to claim 6, wherein the first pre-prediction filtering comprises applying a smoothing filter to the first subset of the reference samples and the second subset of the reference samples according to the first filter parameters and the second filter parameters, respectively.

### Claim 15 (depends on 6)

The method according to claim 6, wherein inter-prediction is used for reconstructing the block to be reconstructed.

### Claim 16 (depends on 15)

The method according to claim 15, wherein the reference samples define a two-dimensional reference area within one or more decoded blocks used for inter-prediction when reconstructing the block, and wherein one of the first or second subsets of the reference samples comprises reference samples belonging to a decoded block for which a residual was encoded in an encoded video stream.

### Claim 17 (depends on 15)

The method according to claim 15, wherein the third subset of the reference samples is selected based on one or more code block flag (CBF) values of one or more of the one or more already decoded blocks that include the third subset of the reference samples.

### Claim 18 (depends on 16)

The method according to claim 16, wherein the third subset of the reference samples is selected when the CBF values equal zero.

### Claim 19

An apparatus for reconstructing blocks of an image using prediction, the apparatus comprising:
a reference sample buffer for storing one or more already decoded blocks including reference samples used for predicting a block to be reconstructed, the reference samples corresponding to a prediction mode employed for encoding the block to be reconstructed;
a processor configured to:
select a first subset of the reference samples and a second subset of the reference samples; and
determine first filter parameters for the first subset of the reference samples and second filter parameters for the second subset of the reference samples based on the prediction mode and a size of the block to be reconstructed, the first filter parameters being different than the second filter parameters;
a filter coupled to the processor and adapted to perform pre-prediction filtering of the first subset of the reference samples and the second subset of the reference samples using the first filter parameters and the second filter parameters, respectively, to generate pre-prediction filtered reference samples; and
a predictor coupled to the processor and configured to reconstruct the block by prediction based on the reference samples including the pre-prediction filtered reference samples.

### Claim 20

A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to:
determine reference samples of one or more already decoded blocks used for predicting a block to be reconstructed, the reference samples corresponding to a prediction mode employed for encoding the block to be reconstructed;
select a first subset of the reference samples and a second subset of the reference samples;
determine first filter parameters for the first subset of the reference samples and second filter parameters for the second subset of the reference samples based on the prediction mode and a size of the block to be reconstructed, the first filter parameters being different than the second filter parameters;
perform pre-prediction filtering of the first subset of the reference samples and the second subset of the reference samples using the first filter parameters and the second filter parameters, respectively, to generate pre-prediction filtered reference samples; and
reconstruct the block by prediction based on the reference samples including the pre-prediction filtered reference samples.
