IP Library › Granted Patent US 11,683,519
Granted Patent B2
US 11,683,519 · App. 16/591,540 · Granted Jun 20, 2023

Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter

Inventors: Yan Ye (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/523H04N19/117H04N19/122H04N19/147H04N19/182H04N19/192H04N19/46H04N19/635H04N19/82
View Patent ↗
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 11,683,519
App. No.
16/591,540
Granted
Jun 20, 2023
Kind
B2
Abstract

This disclosure describes filtering techniques applied by an encoder and a decoder during the prediction stage of a video encoding and/or decoding process. The filtering techniques may enhance the accuracy of predictive data used during fractional interpolation, and may improve predictive data of integer blocks of pixels. There are several aspects to this disclosure, including a useful twelve-pixel filter support that may be used for interpolation, techniques that use coefficient symmetry and pixel symmetry to reduce the amount of data needed to be sent between an encoder and a decoder to configure the filter support for interpolation, and techniques for filtering data at integer pixel locations in a manner that is similar to sub-pixel interpolation. Other aspects of this disclosure concern techniques for encoding information in the bitstream to convey the type of filter used, and possibly the filter coefficients used. Predictive coding of filter coefficients is also described.

Claims (32)

1. A method of encoding a video block within a frame of a video sequence, the method comprising:

encoding, to a video bitstream, a plurality of filter coefficients defining a first filter having coefficient symmetry between at least some of the plurality of filter coefficients such that only a subset of unique coefficients of the plurality of filter coefficients determine all coefficients of the first filter, wherein encoding the plurality of filter coefficients comprises encoding only the subset of unique coefficients for the first filter to the video bitstream; and

encoding, to the video bitstream, a block of pixels of a video frame, wherein the block of pixels of the video frame includes integer pixel values corresponding to integer pixel positions within the block of pixels of the video frame, wherein encoding the block of pixels of the video frame comprises:

applying an interpolation filter to a reference picture to determine values for sub-pixel locations in the reference picture;

identifying integer pixel values of the reference picture using a motion vector;

for the integer pixel values of the reference picture identified by the motion vector, applying the first filter to an integer pixel value of the integer pixel values of the reference picture based on other integer pixel values of the reference picture and an original integer pixel value of the reference picture to generate an adjusted integer pixel value,

determining a residual pixel value based on the adjusted integer pixel value,

wherein the original integer pixel value is obtained from the reference picture and the adjusted integer pixel value corresponds to an integer pixel position for the block of pixels of the video frame,

wherein encoding the video block is based at least in part on the adjusted integer pixel value and the residual pixel value.

2. The method of claim 1 , wherein encoding the block of pixels comprises generating a residual video block as a difference between a current video block being encoded and an inter prediction block.

3. A method of decoding a video block within a coded frame of a video sequence, the method comprising:

decoding, from a video bitstream, a plurality of filter coefficients defining a first filter having coefficient symmetry between at least some of the plurality of filter coefficients such that only a subset of unique coefficients of the plurality of filter coefficients determine all coefficients of the first filter, wherein decoding the plurality of filter coefficients comprises receiving only the subset of unique coefficients for the first filter from the video bitstream;

decoding, from the video bitstream, a block of pixels of a video frame, wherein the block of pixels includes integer pixel values corresponding to integer pixel positions within the block of pixels of the video frame, wherein decoding the block of pixels of the video frame comprises:

applying an interpolation filter to a reference picture to determine values for sub-pixel locations in the reference picture;

identifying integer pixel values of the reference picture using a motion vector;

for the integer pixel values of the reference picture identified by the motion vector, applying the first filter to an integer pixel value of the integer pixel values of the reference picture based on other integer pixel values of the reference picture and an original integer pixel value of the reference picture to generate an adjusted integer pixel value, wherein the original integer pixel value is obtained from the reference picture and wherein the adjusted integer pixel value corresponds to an integer pixel position for the block of pixels of the video frame,

adding a residual pixel value to the adjusted integer pixel value to determine a reconstructed pixel value,

wherein decoding the video block of the video frame is based at least in part on the reconstructed pixel value.

4. The method of claim 3 , the method further comprising generating a reconstructed video block as a sum of a residual video block associated with a current video block being decoded and an inter prediction block.

5. An apparatus for decoding a video block within a coded frame of a video sequence, the apparatus comprising:

a memory configured to store at least part of the coded frame; and

video decoder circuitry configured to:

decode, from a video bitstream, a plurality of filter coefficients defining a first filter having coefficient symmetry between at least some of the plurality of filter coefficients such that only a subset of unique coefficients of the filter coefficients;

determine all coefficients of the first filter, wherein to decode the plurality of filter coefficients, the video decoder circuitry is further configured to receive only the subset of unique coefficients for the first filter from the video bitstream;

decode, from the video bitstream, a block of pixels of the video frame, wherein the block of pixels includes integer pixel values corresponding to integer pixel positions within the block of pixels of the video frame, wherein to decode the block of pixels of the video frame, the video decoder circuitry is further configured to:

apply an interpolation filter to a reference picture to determine values for sub-pixel locations in the reference picture;

identify integer pixel values of the reference picture using a motion vector;

for the integer pixel values of the reference picture identified by the motion vector, apply the first filter to an integer pixel value of the integer pixel values of the reference picture based on other integer pixel values of the reference picture and an original integer pixel value of the reference picture to generate an adjusted integer pixel value, wherein the original integer pixel value is obtained from the reference picture and wherein the adjusted integer pixel value corresponds to an integer pixel position for the block of pixels of the video frame,

add a residual pixel value to the adjusted integer pixel value to determine a reconstructed pixel value;

wherein the video decoder circuitry is configured to decode the video block of the video frame based on the reconstructed pixel value.

6. The apparatus of claim 5 , the decoder circuitry is further configured to generate a reconstructed video block as a sum of a residual video block associated with a current video block being decoded and an inter prediction block.

7. The apparatus of claim 5 , wherein the apparatus further comprises at least one of a modem, a receiver, or a display device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: YE, YAN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 051295/0743 →
Continuity (7)
Continuation 15900720 · Feb 20, 2018
Continuation 12420315 · Apr 8, 2009
Provisional Application 61057373 · May 30, 2008
Provisional Application 61044240 · Apr 11, 2008
Provisional Application 61044020 · Apr 10, 2008
Provisional Application 61044023 · Apr 10, 2008
Related Publication 20200107044A1 · Apr 2, 2020