IP Library Granted Patent US 6,876,703
Granted Patent B2
US 6,876,703 · App. 09/842,810 · Granted Apr 5, 2005

Method and apparatus for video coding

Assignee: UB Video Inc.
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 6,876,703
App. No.
09/842,810
Granted
Apr 5, 2005
Kind
B2
Abstract

A video coding method progressively refines a predicted motion vector to obtain an estimated motion vector. Subsequent steps are omitted if the estimated motion vector matches a current macroblock. Variable matching thresholds can permit dynamic adjustment of image quality and computational cost to optimize encoding performance for available computational resources. The method permits control of desired encoding speed and bit rate by adjusting encoding parameters. Video coders according to the invention may comprise a motion estimator, transform computer and coder each of which operates according to one or more parameters. A speed rate control and/or a bit rate control may adjust the parameters to maintain a desired encoding speed and output bit rate. A coder according to the invention may be implemented in software running on a general purpose computer. The method may be used in block-based video encoders including MPEG-2 and H.263 encoders.

Claims (21)

1. A method for obtaining an estimated motion vector for use in block-based video encoding, the method comprising:

refining a predicted motion vector for a current block to obtain an estimated motion vector in a sequence comprising a plurality of steps; and,

before each of a plurality of the steps in the sequence,

computing a similarity value between the block and another block indicated by the current estimated motion vector,

comparing the similarity value to a threshold, and

not performing subsequent steps in the sequence if the comparison indicates that the current estimated motion vector provides a match between the current block and the another block which is better than a match corresponding to the threshold wherein;

refining the predicted motion vector comprises performing one or more frame motion estimation steps and, before the frame motion estimation steps, computing a first similarity value between the current block and a block identified by the predicted motion vector, comparing the first similarity value to a first threshold, and using the predicted motion vector as the estimated motion vector if the comparison indicates that the block identified by the predicted motion vector provides a better match than the first threshold;

the frame motion estimation steps comprise a low resolution frame motion estimation step and a full pel frame motion estimation step and the method comprises computing a second similarity value between the current block and a block identified by the estimated motion vector of the low resolution frame motion estimation step, comparing the second similarity value to a second threshold, and not performing the full pel frame motion estimation step if the comparison indicates that the block identified by estimated motion vector of the low resolution frame motion estimation step provides a better match than the second threshold; and,

the frame motion estimation steps comprise a half pel frame motion estimation step and the method comprises computing a third similarity value between the current block and a block identified by the estimated motion vector of the full pel frame motion estimation step, comparing the third similarity value to a third threshold, and not performing the half pel frame motion estimation step if the comparison indicates that the block identified by estimated motion vector of the full pel frame motion estimation step provides a better match than the third threshold.

2. The method of claim 1 wherein the similarity measure is a sum of absolute differences.

3. The method of claim 1 comprising obtaining the predicted motion vector by computing a similarity measure between the block and each of a plurality of other blocks indicated by prior estimated motion vectors previously computed for a plurality of previously encoded nearby blocks and using as the predicted motion vector one of the prior estimated motion vectors for which the similarity measure indicates a best match for the current block.

4. The method of claim 3 wherein the similarity measure used in obtaining the predicted motion vector is a sum of absolute differences.

5. The method of claim 3 wherein the plurality of nearby blocks comprise a block immediately to the left of the current block, a block immediately above the current block and a block above and to the right of the current block.

6. The method of claim 5 wherein the plurality of nearby blocks comprise a block in the same position as the current block in an immediately preceding frame.

7. The method of claim 1 wherein refining the predicted motion vector comprises performing one or more field motion estimation steps following the one or more frame motion estimation steps.

8. The method of claim 7 wherein the field motion estimation steps comprise a low resolution field motion estimation step, a full pel field motion estimation step and a half pel field motion estimation step.

9. The method of claim 1 comprising computing a fourth similarity value between the current block and a block identified by the estimated motion vector of the frame motion estimation steps, comparing the fourth similarity value to a fourth threshold, and performing one or more field motion estimation steps if the comparison indicates that the block identified by estimated motion vector of the frame motion estimation steps provides a match poorer than the fourth threshold.

10. The method of claim 9 wherein the field motion estimation steps comprise a low resolution field motion estimation step and a full pel field motion estimation step and the method comprises computing a fifth similarity value between the current block and a block identified by the estimated motion vector of the low resolution field motion estimation step, comparing the fifth similarity value to a fifth threshold, and not performing the full pel field motion estimation if the comparison indicates that the block identified by estimated motion vector of the low resolution field motion estimation step provides a better match than the fifth threshold.

11. The method of claim 10 wherein the field motion estimation steps comprise a half pel field motion estimation step and the method comprises computing a sixth similarity value between the current block and a block identified by the estimated motion vector of the full pel field motion estimation step, comparing the sixth similarity value to a sixth threshold, and not performing the half pel field motion estimation step if the comparison indicates that the block identified by estimated motion vector of the full pel frame motion estimation step provides a better match than the sixth threshold.

12. The method of claim 11 comprising computing a seventh similarity value between the current block and a block identified by the estimated motion vector, comparing the seventh similarity value to a seventh threshold, and not performing a quantized DCT operation on the current block if the comparison indicates that the block identified by estimated motion vector provides a match better than the seventh threshold.

13. A program product comprising a medium carrying a set of computer-readable signals containing computer-executable instructions which, when run by a computer, cause the computer to execute the method of claim 1 .

Assignments (4)
CHANGE OF NAME Recorded Apr 1, 2015
From: SCIENTIFIC-ATLANTA VANCOUVER COMPANY
To: CISCO SYSTEMS CO.
Reel/Frame 035354/0084 →
CHANGE OF NAME Recorded Apr 1, 2015
From: CISCO SYSTEMS CO.
To: CISCO SYSTEMS CANADA CO.
Reel/Frame 035360/0306 →
MERGER AND CHANGE OF NAME Recorded May 25, 2007
From: UB VIDEO INC.
To: SCIENTIFIC-ATLANTA VANCOUVER COMPANY
Reel/Frame 019341/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2004
From: ISMAEIL, ISMAEIL R.; DOCEF, ALEN; KOSSENTINI, FAOUZI
To: UB VIDEO INC.
Reel/Frame 014878/0945 →
Continuity (2)
Provisional Application 6020364100 · May 11, 2000
Related Publication 20020025001A1 · Feb 28, 2002