IP Library Granted Patent US 9,554,151
Granted Patent B2
US 9,554,151 · App. 14/530,519 · Granted Jan 24, 2017

Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations

Inventors: Barin Geoffry Haskell (Mountain View, CA); David William Singer (San Francisco, CA); Adriana Dumitras (Santa Clara, CA); Atul Puri (Redmond, WA)
Assignee: APPLE INC.
H04N19/52H04N7/50H04N19/107H04N19/124H04N19/13H04N19/132H04N19/137H04N19/139H04N19/146H04N19/15H04N19/152H04N19/159H04N19/176H04N19/196H04N19/40H04N19/46H04N19/463H04N19/48H04N19/51H04N19/513H04N19/577H04N19/587H04N19/61
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,554,151
App. No.
14/530,519
Granted
Jan 24, 2017
Kind
B2
Abstract

A method and apparatus for performing motion estimation in a digital video system is disclosed. Specifically, the present invention discloses a system that quickly calculates estimated motion vectors in a very efficient manner. In one embodiment, a first multiplicand is determined by multiplying a first display time difference between a first video picture and a second video picture by a power of two scale value. This step scales up a numerator for a ratio. Next, the system determines a scaled ratio by dividing that scaled numerator by a second first display time difference between said second video picture and a third video picture. The scaled ratio is then stored calculating motion vector estimations. By storing the scaled ratio, all the estimated motion vectors can be calculated quickly with good precision since the scaled ratio saves significant bits and reducing the scale is performed by simple shifts.

Claims (11)

1. A non-transitory computer readable medium storing a computer program that is executable by at least one processor, the computer program for processing a stream comprising first, second and third video pictures, the computer program comprising sets of instructions for:

computing a scaling value that is based on (i) a particular power of two value, (ii) a first order difference value between an order value for the third video picture and an order value for the first video picture, and (iii) a second order difference value between an order value for the second video picture and the order value for the first video picture;

computing a motion vector associated with the second video picture by bit-shifting a product of the scaling value and a motion vector associated with the third video picture, wherein a number of bits shifted by said bit-shifting is based on said particular power of two value; and

decoding the second video picture by using the computed motion vector.

2. The non-transitory computer readable medium of claim 1 , wherein an order value for a video picture is representative of a temporal relationship for the video picture with respect to another video picture.

3. The non-transitory computer readable medium of claim 1 , wherein an order value for a video picture is representative of a position for the video picture in a sequence of video pictures.

4. The non-transitory computer readable medium of claim 3 , wherein the sequence is a sequence for outputting video pictures.

5. The non-transitory computer readable medium of claim 1 , wherein the scaling value is directly proportional to the second order difference value.

6. The non-transitory computer readable medium of claim 1 , wherein the scaling value is inversely proportional to the first order difference value.

7. The non-transitory computer readable medium of claim 1 , wherein the order value for the second video picture is derived from a value stored in a slice header that is associated with the second video picture.

8. The non-transitory computer readable medium of claim 1 , wherein computing the motion vector associated with the second video picture comprises performing a mathematical operation that is equivalent to performing a multiplication operation and a division operation by said particular power of two value.

Continuity (6)
Continuation 13161486 · Jun 15, 2011
Continuation 11621977 · Jan 10, 2007
Continuation 10792514 · Mar 2, 2004
Continuation 10313773 · Dec 6, 2002
Provisional Application 60398625 · Jul 24, 2002
Related Publication 20150117541A1 · Apr 30, 2015