# US 2014/0192862 A1 · Methods and systems for prediction filtering in video coding

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

- Number: US 2014/0192862 A1
- Document ID: US20140192862A1
- Status: Published application
- Kind: A1
- Application number: 13/735,782
- Filed: 2013-01-07
- Published: 2014-07-10
- Earliest claimed: 2013-01-07
- Assignees: Research In Motion Limited
- Applicants: Research In Motion Limited
- Inventors: David FLYNN; Dake HE
- Web page: https://patentgrep.com/patent/US20140192862A1

## CPC

- H04N 19/50: using predictive coding (H04N19/61 takes precedence)
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- 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/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take 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 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Methods of encoding and decoding video, in particular chroma components, using filtered predictions, are described. An intra or inter predicted block is first filtered before being used to determine residual data at the encoder or to reconstruct chroma data at the decoder. The filtering tends to be low-pass filtering, which removes high-frequency components from the prediction block. The encoder signals the use of the filter to the decoder by including a filtered-prediction flag for each coding unit, or other region within a picture, that has been subject to prediction filtering. The syntax may provide that only coding units above a threshold size have an associated filtered-prediction flag; smaller coding units are governed by a filtered-prediction flag sent in connection with a higher node in the coding tree block.

## Claims

### Claim 1

A method of decoding video from a bitstream of encoded video using a video decoder, the video including a picture partitioned into blocks, the method comprising:
decoding a filtered-prediction flag and prediction information for one of the blocks;
constructing a prediction block of predicted samples for said one of the blocks based on the prediction information and previously-reconstructed pixel data of the video;
if the decoded filtered-prediction flag is set, filtering the predicted samples of the constructed prediction block using a filter;
decoding residual data for said one of the blocks; and
reconstructing said one of the blocks by adding the decoded residual data to the filtered predicted samples.

### Claim 2 (depends on 1)

The method claimed in claim 1, wherein said one of the blocks is a coding unit.

### Claim 3 (depends on 1)

The method claimed in claim 1, wherein said one of the blocks is a prediction unit.

### Claim 4 (depends on 1)

The method claimed in claim 1, wherein said prediction information comprises a motion vector, and wherein said previously-reconstructed pixel data comprises a reconstructed block from another picture.

### Claim 5 (depends on 1)

The method claimed in claim 1, wherein said prediction information comprises an intra-coding mode, and wherein said previously-reconstructed pixel data comprises pixel data from another block in the picture.

### Claim 6 (depends on 1)

The method claimed in claim 1, wherein decoding the filtered-prediction flag and the prediction information includes first determining that a filtered-prediction-enabled flag is set and that the block size is above a threshold value.

### Claim 7 (depends on 1)

The method claimed in claim 1, wherein decoding residual data comprises decoding the bitstream to recover quantized transform domain coefficients, and inverse quantizing and inverse transforming those coefficients to reconstruct the residual data.

### Claim 8 (depends on 1)

The method claimed in claim 1, wherein the predicted samples and residual data are chroma values.

### Claim 9 (depends on 1)

The method claimed in claim 1, further comprising disabling a high-chroma-fidelity-specific decoding operation if the decoded filtered-prediction flag is set.

### Claim 10

A decoder for decoding a bitstream of encoded video to reconstruct coefficients of a coefficient group in a video decoder, the coefficient group including an upper left coefficient, the decoder comprising:
a processor;
a memory; and
a decoding application stored in memory and containing instructions for configuring the processor to decode video from a bitstream of encoded video, the video including a picture partitioned into blocks, wherein the instructions, when executed, configure the processor to:
decode a filtered-prediction flag and prediction information for one of the blocks,
construct a prediction block of predicted samples for said one of the blocks based on the prediction information and previously-reconstructed pixel data of the video,
filter the predicted samples of the constructed prediction block using a filter if the decoded filtered-prediction flag is set,
decode residual data for said one of the blocks, and
reconstruct said one of the blocks by adding the decoded residual data to the filtered predicted samples.

### Claim 11 (depends on 10)

The decoder claimed in claim 10, wherein said one of the blocks is a coding unit.

### Claim 12 (depends on 10)

The decoder claimed in claim 10, wherein said one of the blocks is a prediction unit.

### Claim 13 (depends on 10)

The decoder claimed in claim 10, wherein said prediction information comprises a motion vector, and wherein said previously-reconstructed pixel data comprises a reconstructed block from another picture.

### Claim 14 (depends on 10)

The decoder claimed in claim 10, wherein said prediction information comprises an intra-coding mode, and wherein said previously-reconstructed pixel data comprises pixel data from another block in the picture.

### Claim 15 (depends on 10)

The decoder claimed in claim 10, wherein the processor is configured to decode the filtered-prediction flag and the prediction information by first determining that a filtered-prediction-enabled flag is set and that the block size is above a threshold value.

### Claim 16 (depends on 10)

The decoder claimed in claim 10, wherein the processor is configured to decode residual data by decoding the bitstream to recover quantized transform domain coefficients, and inverse quantizing and inverse transforming those coefficients to reconstruct the residual data.

### Claim 17 (depends on 10)

The decoder claimed in claim 10, wherein the predicted samples and residual data are chroma values.

### Claim 18 (depends on 10)

The decoder claimed in claim 10, wherein the instructions, when executed, further configure the processor to disable a high-chroma-fidelity-specific decoding operation if the decoded filtered-prediction flag is set.

### Claim 19 (depends on 1)

A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configure one or more processors to perform the method claimed in claim 1.

### Claim 20

A method of encoding video using a video encoder, the video including a picture partitioned into blocks, the method comprising:
generating a prediction block of predicted samples for one of the blocks based on previously-reconstructed pixel data of the video;
determining that the prediction block is to be filtered, and filtering the predicted samples of the prediction block to create a filtered prediction block;
calculating a residual from the difference between the filtered prediction block and said one of the blocks; and
encoding said residual together with a filtered-prediction flag indicating that the prediction block was filtered.

### Claim 21 (depends on 20)

The method claimed in claim 20, wherein generating the prediction block comprises performing motion prediction, and wherein said previously-reconstructed pixel data comprises a reconstructed block from another picture.

### Claim 22 (depends on 20)

The method claimed in claim 20, wherein generating the prediction block comprises performing spatial prediction, and wherein said previously-reconstructed pixel data comprises pixel data from another block in the picture.

### Claim 23 (depends on 20)

The method claimed in claim 20, wherein determining that the prediction block is to be filtered includes checking a filtered-prediction-enabled flag, and wherein encoding includes encoding the filtered-prediction-enabled flag.

### Claim 24 (depends on 20)

The method claimed in claim 20, wherein encoding includes determining whether said one of the blocks is above a threshold size and, if so, encoding the filtered-prediction flag in a block syntax and, if not, encoding the filtered-prediction flag in a coding tree syntax that contain one or more block syntaxes.

### Claim 25 (depends on 20)

An encoder for encoding video, the video including a picture partitioned into blocks, the decoder comprising:
a processor;
a memory; and
an encoding application stored in memory and containing instructions for configuring the processor to perform the method claimed in claim 20.

### Claim 26 (depends on 20)

A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configure one or more processors to perform the method claimed in claim 20.
