IP Library Patent Application 13735782
Patent Application
App. No. 13/735,782

METHODS AND SYSTEMS FOR PREDICTION FILTERING IN VIDEO CODING

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/735,782
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 (46)

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.

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

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

4 . 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.

5 . 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.

6 . 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.

7 . 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.

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

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

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.

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

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

13 . 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.

14 . 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.

15 . 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.

16 . 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.

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

18 . 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.

19 . 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 .

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.

21 . 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.

22 . 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.

23 . 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.

24 . 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.

25 . 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 .

26 . 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 .

Assignments (2)
CHANGE OF NAME Recorded Jan 2, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 031911/0793 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2013
From: FLYNN, DAVID; HE, DAKE
To: RESEARCH IN MOTION LIMITED
Reel/Frame 029786/0488 →