IP Library › Granted Patent US 8,107,535
Granted Patent B2
US 8,107,535 · App. 11/370,948 · Granted Jan 31, 2012

Method and apparatus for scalable motion vector coding

Assignee: Rensselaer Polytechnic Institute (RPI)
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,107,535
App. No.
11/370,948
Granted
Jan 31, 2012
Kind
B2
Abstract

A method and apparatus for scalable coding of a motion vector generated during motion estimation, in which a generated motion vector field is separated into a base layer and an enhancement layer according to pixel accuracies to obtain a layered structure for a motion vector. In addition, the motion vector field has a layered structure including a base layer composed of motion vectors of blocks larger than or equal to a predetermined size and at least one enhancement layer composed of motion vectors of blocks smaller than a predetermined size.

Claims (39)

1. A scalable motion vector coding method comprising:

estimating, by a scalable motion vector coder, a motion vector of a current block with a first pixel accuracy;

separating, by the scalable motion vector coder, the estimated motion vector into a base layer motion vector component having a second pixel accuracy and an enhancement layer motion vector component having a third pixel accuracy; and

coding, by the scalable motion vector coder, the base layer motion vector component and the enhancement layer motion vector component.

2. The scalable motion vector coding method of claim 1 , further comprising estimating the base layer motion vector component using motion vectors of neighboring blocks of the current block, which are previously processed according to a predetermined scan order.

3. The scalable motion vector coding method of claim 2 , further comprising coding a difference between the base layer motion vector component estimated using the motion vector of the neighboring blocks and an actual base layer motion vector component using context-based adaptive binary arithmetic coding.

4. The scalable motion vector coding method of claim 2 , wherein the estimating the base layer motion vector component comprises estimating the base layer motion vector component using an average or a median of the motion vectors of the neighboring blocks.

5. The scalable motion vector coding method of claim 2 , wherein the neighboring blocks are located above, to the left of, and above and to the left of the current block.

6. The scalable motion vector coding method of claim 2 , further comprising:

identifying a type of the motion vector of the current block according to whether a reference frame indicated by the motion vector of the current block estimated with the first pixel accuracy is a previous or next frame of the current frame; and

estimating the base layer motion vector component using motion vectors of the neighboring blocks having the same type as the motion vector of the current block among the neighboring blocks previously processed according to the predetermined scan order.

7. The scalable motion vector coding method of claim 2 , wherein the predetermined scan order is a quad-tree scan order.

8. The scalable motion vector coding method of claim 1 , wherein the enhancement layer motion vector component is coded in a binary sequence.

9. The scalable motion vector coding method of claim 1 , wherein the second pixel accuracy is lower than the first pixel accuracy, and the third pixel accuracy is higher than the second pixel accuracy.

10. The scalable motion vector coding method of claim 1 , wherein the first pixel accuracy is a ⅛ pixel accuracy, the second pixel accuracy is a ½ pixel accuracy, and the third pixel accuracy is one of a ¼ pixel accuracy and the ⅛ pixel accuracy.

11. The scalable motion vector coding method of claim 1 , further comprising adding a bit indicating a sign of the enhancement layer motion vector if the separated base layer motion vector component is 0.

12. A scalable motion vector coder comprising:

a motion estimation unit which estimates a motion vector of a current block with a first pixel accuracy;

a separating unit which separates the estimated motion vector into a base layer motion vector component having a second pixel accuracy and an enhancement layer motion vector component having a third pixel accuracy; and

a motion vector coding unit which codes the base layer motion vector component and the enhancement layer motion vector component.

13. The scalable motion vector coder of claim 12 , wherein the motion vector coding unit estimates the base layer motion vector component using motion vectors of neighboring blocks of the current block, which are previously processed according to a predetermined scan order.

14. The scalable motion vector coder of claim 13 , wherein the motion vector coding unit codes a difference between the base layer motion vector component estimated using the motion vector of the neighboring blocks and an actual base layer motion vector component using context-based adaptive binary arithmetic coding.

15. The scalable motion vector coder of claim 13 , wherein the estimated base layer motion vector component is estimated using an average or a median of the motion vectors of the neighboring blocks.

16. The scalable motion vector coder of claim 13 , wherein the neighboring blocks are located above, to the left of, and above and to the left of the current block.

17. The scalable motion vector coder of claim 13 , wherein the motion vector coding unit identifies a type of the motion vector of the current block according to whether a reference frame indicated by the motion vector of the current block estimated with the first pixel accuracy is a previous or next frame of the current frame and estimates the base layer motion vector component using motion vectors of the neighboring blocks having the same type as the motion vector of the current block among the neighboring blocks previously processed according to the predetermined scan order.

18. The scalable motion vector coder of claim 13 , wherein the predetermined scan order is a quad-tree scan order.

19. The scalable motion vector coder of claim 12 , wherein the motion vector coding unit comprises an enhancement layer coding unit that codes the enhancement layer motion vector component in a binary sequence.

20. The scalable motion vector coder of claim 12 , wherein the second pixel accuracy is lower than the first pixel accuracy and the third pixel accuracy is higher than the second pixel accuracy.

21. The scalable motion vector coder of claim 12 , wherein the first pixel accuracy is a ⅛ pixel accuracy, the second pixel accuracy is a ½ pixel accuracy, and the third pixel accuracy is one of a ¼ pixel accuracy and the ⅛ pixel accuracy.

22. The scalable motion vector coder of claim 12 , wherein the motion vector coding unit adds a bit indicating the sign of the enhancement layer motion vector if the separated base layer's motion vector component is 0.

23. A scalable motion vector decoding method for decoding a motion vector coded into a base layer and an enhancement layer, the comprising:

extracting, by a scalable motion vector decoder, motion vector information by analyzing an input bitstream;

restoring, by the scalable motion vector decoder, motion vector components of the base layer and the enhancement layer from the extracted motion vector information; and

summing, by the scalable motion vector decoder, the restored motion vector components of the base layer and the enhancement layer to generate a layered motion vector,

wherein the base layer has a pixel accuracy that is lower than that of an estimated motion vector and the enhancement layer has a pixel accuracy that is higher than that of the motion vector component of the base layer.

24. A scalable motion vector decoder for decoding a motion vector coded into a base layer and an enhancement layer, the decoder comprising:

a motion vector restoring unit which extracts motion vector information by analyzing an input bitstream and restoring motion vector components of the base layer and the enhancement layer from the extracted motion vector information; and

a summing unit which sums the restored motion vector components of the base layer and the enhancement layer to generate a layered motion vector,

wherein the base layer has a pixel accuracy that is lower than that of an estimated motion vector and the enhancement layer has a pixel accuracy that is higher than that of the motion vector component of the base layer.

Assignments (2)
CORRECTIVE TO CORRECT THE EXECTUION DATES OF THE ASSIGNORS PREVIOUSLY RECORDED ON REEL 017865 FRAME 0608 Recorded Oct 25, 2006
From: WOODS, JOHN W.; WU, YONGJUN
To: RENSSELAER POLYTECHNIC INSTITUTE (RPI)
Reel/Frame 018436/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2006
From: WOODS, JOHN W.; WU, YONGJUN
To: RENSSELAER POLYTECHNIC INSTITUTE (RPI)
Reel/Frame 017865/0608 →
Continuity (6)
Continuation In Part 10965237 · Oct 14, 2004
Continuation In Part 10864833 · Jun 9, 2004
Provisional Application 60659423 · Mar 9, 2005
Provisional Application 60477183 · Jun 10, 2003
Provisional Application 60512120 · Oct 17, 2003
Related Publication 20060193388A1 · Aug 31, 2006