IP Library Granted Patent US 7,813,429
Granted Patent B2
US 7,813,429 · App. 11/293,404 · Granted Oct 12, 2010

System and method for segmentation of macroblocks

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 7,813,429
App. No.
11/293,404
Filed
Dec 2, 2005
Granted
Oct 12, 2010
Kind
B2
Art Unit
2625
USPC
375/240.16
Abstract

A method for processing a video stream is disclosed. The method generally includes the steps of (A) checking a respective first motion vector for each of a plurality of blocks in a group within an inter-coded picture of the video stream, (B) loading first motion compensation data for the group from a memory to a motion compensation process in a first bus transfer in response to all of the blocks in the group having both (i) a same first reference frame and (ii) a same first motion vector in at least one of a reference picture list 0 and a reference picture list 1 and (C) reconstructing the blocks from the first motion compensation data and the same first motion vector.

Claims (12)

1. A method for processing a video stream, comprising the steps of: (A) checking a respective first motion vector for each of a plurality of blocks in a group within an inter-coded picture of said video stream; (B) loading first motion compensation data for said group from a memory to a motion compensation process in a first bus transfer in response to all of said blocks in said group having both (i) a same first reference frame and (ii) a same first motion vector in at least one of a reference picture list 0 and a reference picture list 1 ; and (C) reconstructing said blocks from said first motion compensation data and said same first motion vector; and (D) encoding each of said blocks using a direct prediction mode for which no motion is created.

2. The method according to claim 1 , further comprising the steps of: checking a respective second motion vector for each of said blocks; and loading second motion compensation data for said group from said memory to said motion compensation process in a second bus transfer in response to all of said blocks in said group having both a same second reference frame and a same second motion vector in one of said reference picture list 0 and said reference picture list 1 .

3. The method according to claim 1 , further comprising the step of: determining said respective first motion vectors from a plurality of co-located blocks decoded from said video stream.

4. The method according to claim 1 , wherein step (A) comprises the sub-step of: checking said respective first motion vectors of four 8.times.8 blocks arranged as a 16.times.16 block.

5. The method according to claim 1 , wherein step (A) comprises the sub-step of: checking said respective first motion vectors of two 8.times.8 blocks arranged as one of (i) a 16.times.8 block and (ii) an 8.times.16 block.

6. The method according to claim 1 , wherein step (A) comprises the sub-step of: checking said respective first motion vectors of four 4.times.4 blocks arranged as an 8.times.8 block.

7. The method according to claim 1 , further comprising the step of: weighting said first motion compensation data for said group according to a weighting factor.

8. The method according to claim 1 , wherein steps (A), (B) and (C) form part of a decoder operation.

9. The method according to claim 1 , wherein steps (A), (B) and (C) and (D) form part of an encoder operation.

10. A system comprising: a first memory configured to store motion compensation data related to a video stream; and a processor configured to (i) check a respective motion vector for each of a plurality of blocks in a group within an inter-coded picture of said video stream, (ii) load said motion compensation data for said group from said first memory to a motion compensation process in a bus transfer in response to all of said blocks in said group having both (a) a same reference frame and (b) a same motion vector in at least one of a reference picture list 0 and a reference picture list 1 and (iii) reconstruct said blocks from said motion compensation data and said same motion vector; wherein said processor comprises a motion compensation block configured to generate prediction data from both (i) said motion compensation data and (ii) said same motion vector.

11. The system according to claim 10 , wherein said processor further comprises a motion vector reconstruction block configured to check said respective motion vectors of a plurality of small blocks to determine if said small blocks can be treated as one large block for motion compensation purposes.

12. The system according to claim 10 , wherein said processor further comprises a second memory for storing said respective motion vectors in an order that would appear in a bitstream.