IP Library Patent Application 12111322
Patent Application
App. No. 12/111,322

BLOCK PARALLEL AND FAST MOTION ESTIMATION IN VIDEO CODING

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 None
App. No.
12/111,322
Abstract

Block parallel fast motion estimation for blocks of a video frame is provided where encoding of video blocks can be ordered to allow concurrent encoding thereof. Furthermore, motion vector prediction can be performed concurrently for independent video blocks where requisite blocks for calculating the prediction of a given block can be previously encoded, but not all blocks depend from each other; thus, parallel motion vector estimation is possible. Additionally, a fast motion estimation algorithm can be concurrently performed on a number of video blocks to search surrounding blocks to compute motion vectors as well. The concurrent processes can leverage the parallel architecture of one or more graphical processing units (GPU).

Claims (27)

1 . A system for providing block parallel motion estimation in video coding, comprising:

a block ordering component that specifies an order for encoding a plurality of blocks of a video frame according to a reference frame, at least a portion of the plurality of blocks are ordered for concurrent encoding; and

a motion estimation component that concurrently determines motion vectors related to the reference frame for the portion of the plurality of blocks.

2 . The system of claim 1 , the motion estimation component comprises a step search component that performs multiple step searches over a plurality of blocks of the reference frame to determine the motion vectors.

3 . The system of claim 2 , the step search component utilizes a three step search (TSS), a five step search (FSS), or a six step search (SSS) to determine the motion vectors.

4 . The system of claim 1 , further comprising a video coding component that computes a predicted motion vector for at least one of the portion of the plurality of block based at least in part on one or more adjacent encoded blocks

5 . The system of claim 4 , the video coding component encodes the at least one block based at least in part on a cost related to encoding a residue between the predicted motion vector and at least one of the determined motion vectors.

6 . The system of claim 5 , the block is encoded as the at least one determined motion vector.

7 . The system of claim 1 , the motion estimation component leverages a graphics processing unit (GPU) to concurrently determine the motion vectors.

8 . The system of claim 1 , the plurality of blocks are n by m pixels where n and m are positive integers.

9 . A method for concurrently estimating motion in video block encoding, comprising:

separating a video frame into a plurality of blocks;

ordering the plurality of blocks for parallel encoding of a subset of the blocks where the encoding depends on one or more adjacent encoded blocks; and

concurrently encoding the subset of blocks according to the one or more adjacent blocks.

10 . The method of claim 9 , further comprising step searching a plurality of blocks of a reference video frame to determine at least one motion vector for encoding at least one block in the subset of blocks.

11 . The method of claim 10 , the step searching is performed according to a three step search (TSS), five step search (FSS), or six step search (SSS) algorithm.

12 . The method of claim 10 , further comprising predicting a motion vector for the at least one block based at least in part on the one or more adjacent encoded blocks.

13 . The method of claim 12 , the at least one block is encoded based at least in part on a cost associated with encoding a residue between the predicted motion vector and the determined motion vector.

14 . The method of claim 13 , the at least one block is encoded as a motion vector related to the residue.

15 . The method of claim 13 , the at least one block is encoded as the determined motion vector.

16 . The method of claim 9 , a graphics processing unit (GPU) is utilized with general programming computation (GPGPU) to perform the concurrent encoding.

17 . The method of claim 9 , the blocks are n by m pixels where n and m are equal or disparate positive integers.

18 . A system for concurrently estimating motion in blocks of a video frame for encoding thereof, comprising:

means for ordering a plurality of blocks of a video frame according to a reference frame for concurrent encoding of at least a subset of the plurality of blocks; and

means for concurrently encoding the subset of the plurality of blocks as information regarding motion vectors related to the reference frame.

19 . The system of claim 18 , further comprising means for performing a multiple step search over the reference frame related to at least one block of the subset to determine the information regarding motion vectors.

20 . The system of claim 18 , further comprising means for computing a predicted motion vector for at least one block of the subset based at least in part on one or more adjacent encoded blocks.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2010
From: HONG KONG TECHNOLOGIES GROUP LIMITED
To: CHOY SAI FOUNDATION L.L.C.
Reel/Frame 024921/0122 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2010
From: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY
To: HONG KONG TECHNOLOGIES GROUP LIMITED
Reel/Frame 024067/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2008
From: CHI LIM AU, OSCAR; CHEUNG KUNG, MAN
To: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY
Reel/Frame 020871/0125 →