IP Library Granted Patent US 8,780,992
Granted Patent B2
US 8,780,992 · App. 13/617,769 · Granted Jul 15, 2014

Video compression and encoding method

Inventors: Eric Ameres (Cohoes, NY); James Bankoski (Wynantskill, NY); Adrian W Grange (Cambridgeshire, GB); Tim Murphy (New York, NY); Paul G Wilkins (Cambridge, GB); Yaowu Xu (San Diego, CA)
Assignee: Google Inc.
H04N7/50H04N7/26244
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 8,780,992
App. No.
13/617,769
Filed
Sep 14, 2012
Granted
Jul 15, 2014
Kind
B2
Art Unit
2482
USPC
375/240.16
Abstract

Disclosed herein is a method for decoding a video signal having at least one frame with a plurality of blocks including a current block, including generating, for at least a selected pixel in the current block, a predicted value for at least one pixel located in a row i and a column j of the current block using a processor and according to the following equation: X ij =L i +A j −C; wherein X ij is the predicted value, L i is the value of a pixel to the left of the current block, A j is the value of a pixel in a row above the current block and C is the value of a pixel in the row above and the column to the left of the current block and decoding the current block using the predicted value.

Claims (54)

1. A method for decoding a frame in a video stream, the frame having a plurality of blocks, the method comprising:

identifying, using a motion vector associated with a current block in the frame, a block in a reference frame;

determining if the motion vector includes at least one fractional component;

if the motion vector includes the at least one fractional component, applying a 6-tap interpolation filter to the block in the reference frame to form a predictor block using a processor;

wherein coefficients of the 6-tap interpolation filter are selected from at least one of the following:

{2, −11, 108, 36, −8, 1} for ¼ pixel position;

{3, −16, 77, 77, −16, 3} for ½ pixel position; or

{1, −8, 36, 108, −11, 2} for ¾ pixel position; and

decoding the current block using the predictor block.

2. The method of claim 1 , wherein the 6-tap interpolation filter is a two-dimensional filter including a horizontal dimension and a vertical dimension.

3. The method of claim 2 , wherein applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block comprises:

filtering the block in the horizontal dimension and then in the a vertical dimension to form the predictor block.

4. The method of claim 1 , wherein applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block comprises:

filtering the block in the vertical dimension and then in the horizontal dimension to form the predictor block.

5. The method of claim 1 , further comprising:

selecting the 6-tap interpolation filter from a plurality of interpolation filters.

6. The method of claim 5 , wherein the plurality of interpolation filters includes at least one of a bi-linear filter or a bi-cubic filter.

7. The method of claim 1 , wherein the motion vector includes a horizontal displacement component and a vertical displacement component and wherein determining if the motion vector includes the at least one fractional component comprises:

determining if the horizontal displacement component of the motion vector includes a fractional component; and

determining if the vertical displacement component of the motion vector includes a fractional component.

8. The method of claim 7 , applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block, comprises:

horizontally interpolating the predictor block using the 6-tap interpolation filter if the horizontal component includes the fractional component.

9. The method of claim 8 , applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block, comprises:

vertically interpolating the horizontally interpolated predictor block using the 6-tap interpolation filter if the vertical component includes the fractional component.

10. The method of claim 7 , applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block, comprises:

vertically interpolating the predictor block using the 6-tap interpolation filter if the vertical component includes the fractional component.

11. The method of claim 8 , applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block, comprises:

horizontally interpolating the vertically interpolated predictor block using the 6-tap interpolation filter if the horizontal component includes the fractional component.

12. An apparatus for decoding a frame in a video stream, the frame having a plurality of blocks, the apparatus comprising:

means for identifying, using a motion vector associated with a current block in the frame, a block in a reference frame;

means for determining if the motion vector includes at least one fractional component;

if the motion vector includes the at least one fractional component, means for applying a 6-tap interpolation filter to the block in the reference frame to form a predictor block;

wherein coefficients of the 6-tap interpolation filter are selected from at least one of the following:

{2, −11, 108, 36, −8, 1} for ¼pixel position;

{3, −16, 77, 77, −16, 3} for ½ pixel position; or

{1, −8, 36, 108, −11, 2} for ¾pixel position; and

means for decoding the current block using the predictor block.

13. The apparatus of claim 12 , wherein the 6-tap interpolation filter is a two-dimensional filter including a horizontal dimension and a vertical dimension.

14. The apparatus of claim 13 , wherein the means for applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block comprises:

means for filtering the block in the horizontal dimension and then in the a vertical dimension to form the predictor block.

15. The apparatus of claim 13 , wherein the means for applying the 6-tap interpolation filter to the block in the reference frame to form the predictor block comprises:

means for filtering the block in the vertical dimension and then in the horizontal dimension to form the predictor block.

16. The method of claim 7 , further comprising:

means for selecting the 6-tap interpolation filter from a plurality of interpolation filters.

17. The method of claim 11 , wherein the plurality of interpolation filters includes at least one of a bi-linear filter or a bi-cubic filter.

18. A method for decoding blocks of pixels using a processor, comprising:

determining the location of a block in a previously decoded reference frame to be used as a predictor block, relative to the spatial position of a block being predicted, using a motion vector, wherein the motion vector is one of ½ and ¼pixel precision in the luma domain and one of ¼ and ⅛ pixel precision in the chroma domain;

applying a 6-tap 2 dimensional interpolation filter to the predictor block using the processor, whose coefficients, when implemented as a separable 2-dimensional filter such that the predictor block is first filtered in one of a horizontal and vertical dimension and the resulting filtered block is then filtered in the other dimension, are as follows:

{2, −11, 108, 36, −8, 1} (¼pixel)

{3, −16, 77, 77, −16, 3} (½ pixel)

{1, −8, 36, 108, −11, 2} (¾pixel).

19. The method of claim 1 , further comprising:

selecting the 6-tap interpolation filter from a plurality of interpolation filters.

20. The method of claim 1 , wherein the plurality of interpolation filters includes at least one of a bi-linear filter or a bi-cubic filter.

Assignments (5)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2012
From: AMERES, ERIC L.; BANKOSKI, JAMES B.; GRANGE, ADRIAN W.; XU, YAOWU; WILKINS, PAUL
To: ON2 TECHNOLOGIES, INC.
Reel/Frame 029442/0587 →
MERGER Recorded Dec 11, 2012
From: ON2 TECHNOLOGIES, INC.
To: ON2 TECHNOLOGIES, LLC
Reel/Frame 029442/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2012
From: ON2 TECHNOLOGIES, LLC
To: GOOGLE INC.
Reel/Frame 029442/0724 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2012
From: MURPHY, TIM
To: GOOGLE INC.
Reel/Frame 029442/0838 →
Continuity (4)
Continuation 13066668 · Apr 21, 2011
Continuation 11170629 · Jun 28, 2005
Provisional Application 60583872 · Jun 28, 2004
Related Publication 20130016778A1 · Jan 17, 2013