IP Library Granted Patent US 9,693,051
Granted Patent B2
US 9,693,051 · App. 14/102,235 · Granted Jun 27, 2017

Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video

Inventors: Barin Geoffry Haskell (Tinton Falls, NJ); Atul Puri (Riverdale, NY); Robert Lewis Schmidt (Howell, NJ)
Assignee: AT&T Intellectual Property II, L.P.
H04N19/00569H04N19/11H04N19/122H04N19/124H04N19/13H04N19/14H04N19/176H04N19/20H04N19/44H04N19/50H04N19/593H04N19/60H04N19/619H04N19/625
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 9,693,051
App. No.
14/102,235
Granted
Jun 27, 2017
Kind
B2
Abstract

A predictive video coder performs gradient prediction based on previous blocks of image data. For a new block of image data, the prediction determines a horizontal gradient and a vertical gradient from a block diagonally above the new block (vertically above a previous horizontally adjacent block). Based on these gradients, the encoder predicts image information based on image information of either the horizontally adjacent block or a block vertically adjacent to the new block. The encoder determines a residual that is transmitted in an output bitstream. The decoder performs the identical gradient prediction and predicts image information without need for overhead information. The decoder computes the actual information based on the predicted information and the residual from the bitstream.

Claims (61)

1. A method of decoding MPEG-4 video signals, the method comprising:

receiving, by a processor, a flag indicating that a prediction is to be applied to a block X of an 8 pixel by 8 pixel array;

determining, by the processor, a direction of the prediction, wherein the direction identifies a neighboring block to the block X that is to be used in the prediction without using data from the block X, wherein the direction comprises a vertical direction or a horizontal direction relative to the block X; and

generating, by the processor, a DC coefficient DC X for the block X by using a DC coefficient of the neighboring block identified by the direction.

2. The method of claim 1 ,

wherein the determining the direction comprises:

determining a first gradient between a DC coefficient DC A of a neighboring block A, horizontally adjacent to and left of the block X, and a DC coefficient DC B of a neighboring block B, vertically adjacent to and above the neighboring block A;

determining a second gradient between DC B and a DC coefficient DC C of a neighboring block C vertically adjacent to and above the block X;

wherein the generating the DC coefficient DC X comprises:

when the first gradient is less than the second gradient, generating the DC coefficient DC X for the block X by adding a differential DC coefficient for the block X to a DC coefficient of neighboring block C; and

otherwise, generating the DC coefficient DC X for the block X by adding the differential DC coefficient for the block X to a DC coefficient of neighboring block A.

3. The method of claim 2 , wherein the differential DC coefficient is received from an MPEG-4 video bitstream.

4. The method of claim 2 , further comprising:

when an AC prediction is used:

if the first gradient is less than the second gradient, predicting a first row of AC coefficients in the block X from a co-located first row of AC coefficients in the neighboring block C to yield a predicted first row of AC coefficients;

otherwise, predicting a first column of AC coefficients in the block X from a co-located first column of AC coefficients in the neighboring block A to yield a predicted first column of AC coefficients; and

generating AC coefficients by adding a received first row of differential AC coefficients in the block X to a set of the predicted first row of AC coefficients or adding a received first column of differential AC coefficients in the block X to a set of the predicted first column of AC coefficients.

5. The method of claim 2 , wherein the neighboring blocks A, B, and C are inside a boundary of a video object plane containing the block X.

6. The method of claim 2 , wherein the generating the DC coefficient DC X is performed independently for blocks of luminance data and for blocks of chrominance data.

7. The method of claim 2 , further comprising selecting a scan order for the block X based on whether the DC coefficient DC X is generated using the DC coefficient DC A from the neighboring block A or the DC coefficient DC C from the neighboring block C.

8. A non-transitory computer-readable storage medium storing instructions which, when executed by a decoder comprising a processor, cause the decoder to perform operations of decoding MPEG-4 video signals, the operations comprising:

receiving a flag indicating that a prediction is to be applied to a block X of an 8 pixel by 8 pixel array;

determining a direction of the prediction, wherein the direction identifies a neighboring block to the block X that is to be used in the prediction without using data from the block X, wherein the direction comprises a vertical direction or a horizontal direction relative to the block X; and

generating a DC coefficient DC X for the block X by using a DC coefficient of the neighboring block identified by the direction.

9. The non-transitory computer-readable storage medium of claim 8 ,

wherein the determining the direction comprises:

determining a first gradient between a DC coefficient DC A of a neighboring block A, horizontally adjacent to and left of the block X, and a DC coefficient DC B of a neighboring block B, vertically adjacent to and above the neighboring block A;

determining a second gradient between DC B and a DC coefficient DC C of a neighboring block C vertically adjacent to and above the block X;

wherein the generating the DC coefficient DC X comprises:

when the first gradient is less than the second gradient, generating the DC coefficient DC X for the block X by adding a differential DC coefficient for the block X to a DC coefficient of neighboring block C; and

otherwise, generating the DC coefficient DC X for the block X by adding the differential DC coefficient for the block X to a DC coefficient of neighboring block A.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the differential DC coefficient is received from an MPEG-4 video bitstream.

11. The non-transitory computer-readable storage medium of claim 9 , further comprising:

when an AC prediction is used:

if the first gradient is less than the second gradient, predicting a first row of AC coefficients in the block X from a co-located first row of AC coefficients in the neighboring block C to yield a predicted first row of AC coefficients;

otherwise, predicting a first column of AC coefficients in the block X from a co-located first column of AC coefficients in the neighboring block A to yield a predicted first column of AC coefficients; and

generating AC coefficients by adding a received first row of differential AC coefficients in the block X to a set of the predicted first row of AC coefficients or adding a received first column of differential AC coefficients in the block X to a set of the predicted first column of AC coefficients.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the neighboring blocks A, B, and C are inside a boundary of a video object plane containing the block X.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the generating the DC coefficient DC X is performed independently for blocks of luminance data and for blocks of chrominance data.

14. The non-transitory computer-readable storage medium of claim 9 , further comprising selecting a scan order for the block X based on whether the DC coefficient DC X is generated using the DC coefficient DC A from the neighboring block A or the DC coefficient DC C from the neighboring block C.

15. A decoder for decoding MPEG-4 video signals, the decoder comprising:

a processor;

a memory storing a plurality of instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising

receiving a flag indicating that a prediction is to be applied to a block X of an 8 pixel by 8 pixel array;

determining a direction of the prediction, wherein the direction identifies a neighboring block to the block X that is to be used in the prediction without using data from the block X, wherein the direction comprises a vertical direction or a horizontal direction relative to the block X; and

generating a DC coefficient DC X for the block X by using a DC coefficient of the neighboring block identified by the direction.

16. The decoder of claim 15 ,

wherein the determining the direction comprises:

determining a first gradient between a DC coefficient DC A of a neighboring block A, horizontally adjacent to and left of the block X, and a DC coefficient DC B of a neighboring block B, vertically adjacent to and above the neighboring block A;

determining a second gradient between DC B and a DC coefficient DC C of a neighboring block C vertically adjacent to and above the block X;

wherein the generating the DC coefficient DC X comprises:

when the first gradient is less than the second gradient, generating the DC coefficient DC X for the block X by adding a differential DC coefficient for the block X to a DC coefficient of neighboring block C; and

otherwise, generating the DC coefficient DC X for the block X by adding the differential DC coefficient for the block X to a DC coefficient of neighboring block A.

17. The decoder of claim 16 , wherein the differential DC coefficient is received from an MPEG-4 video bitstream.

18. The decoder of claim 16 , further comprising:

when an AC prediction is used:

if the first gradient is less than the second gradient, predicting a first row of AC coefficients in the block X from a co-located first row of AC coefficients in the neighboring block C to yield a predicted first row of AC coefficients;

otherwise, predicting a first column of AC coefficients in the block X from a co-located first column of AC coefficients in the neighboring block A to yield a predicted first column of AC coefficients; and

generating AC coefficients by adding a received first row of differential AC coefficients in the block X to a set of the predicted first row of AC coefficients or adding a received first column of differential AC coefficients in the block X to a set of the predicted first column of AC coefficients.

19. The decoder of claim 16 , wherein the neighboring blocks A, B, and C are inside a boundary of a video object plane containing the block X.

20. The decoder of claim 16 , wherein the generating the DC coefficient DCX is performed independently for blocks of luminance data and for blocks of chrominance data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2016
From: AT&T CORP.
To: AT&T PROPERTIES, LLC
Reel/Frame 039485/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2016
From: AT&T PROPERTIES, LLC
To: AT&T INTELLECTUAL PROPERTY II, L.P.
Reel/Frame 039485/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2014
From: HASKELL, BARIN GEOFFRY; PURI, ATUL; SCHMIDT, ROBERT LEWIS
To: AT&T CORP.
Reel/Frame 031965/0647 →
Continuity (8)
Continuation 12956604 · Nov 30, 2010
Continuation 11216195 · Aug 31, 2005
Continuation 10331344 · Dec 31, 2002
Continuation 09942734 · Aug 31, 2001
Continuation 08908044 · Aug 11, 1997
Provisional Application 60038019 · Feb 14, 1997
Provisional Application 60026963 · Sep 20, 1996
Related Publication 20140098863A1 · Apr 10, 2014