IP Library Granted Patent US 8,379,995
Granted Patent B2
US 8,379,995 · App. 12/121,316 · Granted Feb 19, 2013

In-picture prediction for video coding

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,379,995
App. No.
12/121,316
Granted
Feb 19, 2013
Kind
B2
Abstract

A method of coding video content. The method can include, identifying a first plurality of image blocks within a picture based on at least a first image characteristic that is common to each of the first plurality of image blocks. A first image block group can be dynamically defined. At least one of the image blocks can be selected as a predictor block to predict other image blocks within the first image block group. In another arrangement, at least a first image block and a second image block can be identified within a picture. The second image block can be predicted from the first image block. A displacement vector can be defined to associate the second image block with the first image block. A value representing the displacement vector can be included within a header of the second image block.

Claims (73)

1. A method of coding video content, comprising:

coding at least one picture within the video content, coding the picture comprising:

within the picture, identifying a first plurality of image blocks based on at least a first image characteristic that is common to each of the first plurality of image blocks;

dynamically defining a first image block group to comprise the first plurality of image blocks;

selecting at least one of the first plurality of image blocks as a predictor block for the first image block group;

for each of the other image blocks in the first image block group, predicting a respective second image characteristic that corresponds to a second image characteristic associated with the predictor block; and

outputting the coded picture.

2. The method of claim 1 , wherein dynamically defining the first image block group comprises:

generating a first image block group map that identifies the first plurality of image blocks.

3. The method of claim 1 , wherein dynamically defining the first image block group comprises:

defining the first image block group to comprise a quantity of image blocks that is not determined prior to identification of the first plurality of image blocks.

4. The method of claim 1 , further comprising:

within the picture, identifying a second plurality of image blocks based on at least a first image characteristic that is common to each of the second plurality of image blocks;

dynamically defining at least a second image block group to comprise the second plurality of image blocks; and

for at least one of the second plurality of image blocks (second image block), predicting at least a second image characteristic associated with the second image block from at least one of the first plurality of image blocks (first image block).

5. The method of claim 4 , wherein predicting the second image characteristic associated with the second image block comprises:

identifying at least one image characteristic that is associated with the first image block, the at least one image characteristic selected from a group consisting of a motion vector and texture coefficient data; and

associating the at least one image characteristic with the second image block.

6. The method of claim 4 , further comprising:

associating with the second image block group an image block group identifier that identifies the first image block group and a block offset that identifies the first image block.

7. The method of claim 4 , wherein dynamically defining the second image block group comprises:

generating a second image block group map that identifies the second plurality of image blocks.

8. The method of claim 4 , further comprising:

selecting the second image block as a predictor block for the second image block group.

9. The method of claim 4 , wherein identifying the second plurality of image blocks comprises:

exclusively identifying image blocks that are not contiguous with any of the first plurality of image blocks.

10. The method of claim 4 , further comprising:

assigning to each of the first and second image block groups a respective image block group identifier that indicates an order in which the respective image block groups are to be decoded during playback.

11. The method of claim 1 , wherein identifying the first plurality of image blocks comprises:

identifying the first plurality of image blocks at runtime of an automated process.

12. A method of coding video content, comprising:

coding at least one picture within the video content, coding the picture comprising:

within the picture, dynamically identifying a first image block and at least a second image block based on at least a first image characteristic that is common to both the first image block and the second image block;

from at least a second image characteristic associated with the first image block, predicting at least a second image characteristic associated with the second image block;

defining a first displacement vector to associate the second image block with the first image block;

including within a header of the second image block a value representing the first displacement vector; and

outputting the coded picture.

13. The method of claim 12 , further comprising:

identifying at least a third image block based on at least the first image characteristic common to the first and second image blocks;

from the first image block, predicting at least a second image characteristic associated with the third image block;

identifying a second displacement vector to associate the third image block with the first image block; and

including within a header of the third image block a value with which the second displacement vector is predicted from the first displacement vector.

14. The method of claim 12 , further comprising:

within the picture, dynamically identifying a third image block and at least a fourth image block based on at least a third image characteristic that is common to both the third image block and the fourth image block;

from the third image block, predicting at least a fourth image characteristic associated with the fourth image block;

identifying a second displacement vector to associate the fourth image block with the third image block; and

including within a header of the fourth image block a value representing a value with which the second displacement vector is predicted from the first displacement vector.

15. The method of claim 12 , wherein dynamically identifying the first image block and the second image block comprises:

identifying the first image block and the second image block at runtime of an automated process.

16. A computer program product comprising:

a computer-readable storage medium comprising computer-usable program code stored thereon that codes video content, the computer-readable storage medium comprising:

computer-usable program code that codes at least one picture within the video content comprising:

computer-usable program code that identifies within the picture a first plurality of image blocks based on at least a first image characteristic that is common to each of the first plurality of image blocks;

computer-usable program code that dynamically defines a first image block group to comprise the first plurality of image blocks;

computer-usable program code that selects at least one of the first plurality of image blocks as a predictor block for the first image block group;

computer-usable program code that, for each of the other image blocks in the first image block group, predicts a respective second image characteristic that corresponds to a second image characteristic associated with the predictor block; and

computer-usable program code that outputs the coded picture.

17. The computer program product of claim 16 , wherein the computer-usable program code that dynamically defines the first image block group to comprise the first plurality of image blocks comprises:

computer-usable program code that generates a first image block group map that identifies the first plurality of image blocks.

18. The computer program product of claim 16 , wherein the computer-usable program code that dynamically defines the first image block group to comprise the first plurality of image blocks comprises:

computer-usable program code that defines the first image block group to comprise a quantity of image blocks that is not determined prior to identification of the first plurality of image blocks.

19. The computer program product of claim 16 , the computer-readable storage medium further comprising:

computer-usable program code that, within the picture, identifies a second plurality of image blocks based on at least a first image characteristic that is common to each of the second plurality of image blocks;

computer-usable program code that dynamically defines at least a second image block group to comprise the second plurality of image blocks; and

computer-usable program code that, for at least one of the second plurality of image blocks, predicts at least a second image characteristic associated with the second image block from at least one of the first plurality of image blocks.

20. A computer program product comprising:

a computer-readable storage medium comprising computer-usable program code stored thereon that codes video content, the computer-readable storage medium comprising:

computer-usable program code that codes at least one picture within the video content comprising:

computer-usable program code that, within the picture, dynamically identifies a first image block and at least a second image block based on at least a first image characteristic that is common to both the first image block and the second image block;

computer-usable program code that, from at least a second image characteristic associated with the first image block, predicts at least a second image characteristic associated with the second image block;

computer-usable program code that defines a first displacement vector to associate the second image block with the first image block;

computer-usable program code that includes within a header of the second image block a value representing the first displacement vector; and

computer-usable program code that outputs the coded picture.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034421/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 028829/0856 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: MOTOROLA, INC
To: MOTOROLA MOBILITY, INC
Reel/Frame 025673/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2008
From: MAY, ANTHONY R.; HSIANG, SHIH-TA; ISHTIAQ, FAISAL; LI, ZHU
To: MOTOROLA, INC.
Reel/Frame 020953/0802 →