IP Library Granted Patent US 10,404,994
Granted Patent B2
US 10,404,994 · App. 15/960,120 · Granted Sep 3, 2019

Methods and systems for motion vector derivation at a video decoder

Inventors: Yi-Jen Chiu (San Jose, CA); Lidong Xu (Beijing, CN); Hong Jiang (El Dorado Hills, CA)
Assignee: Intel Corporation
H04N19/52H04N19/44H04N19/51H04N19/56H04N19/577
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 10,404,994
App. No.
15/960,120
Granted
Sep 3, 2019
Kind
B2
Abstract

Method and apparatus for deriving a motion vector at a video decoder. A block-based motion vector may be produced at the video decoder by utilizing motion estimation among available pixels relative to blocks in one or more reference frames. The available pixels could be, for example, spatially neighboring blocks in the sequential scan coding order of a current frame, blocks in a previously decoded frame, or blocks in a downsampled frame in a lower pyramid when layered coding has been used.

Claims (53)

1. A video decoder apparatus comprising:

a memory; and

a processor in communication with the memory, the processor to:

determine a target block of a current frame;

identify a first block of a previous frame based on the first block being a neighbor of a second block of the previous frame collocated with the target block; and

decode the target block of the current frame based at least in part on a motion vector corresponding to the first block, wherein the motion vector is relative to a block of a reference frame distinct from the previous frame.

2. The apparatus of claim 1 , wherein the processor is further to:

identify a third block of the current frame above and to the left of the target block; and

decode the target block of the current frame based at least in part on a second motion vector corresponding to the third block.

3. The apparatus of claim 2 , wherein the processor is further to:

identify a fourth block of the current frame above and immediately adjacent the target block; and

decode the target block of the current frame based at least in part on a third motion vector corresponding to the fourth block.

4. The apparatus of claim 3 , wherein the processor is further to:

identify a fifth block of the current frame to the left and immediately adjacent the target block; and

decode the target block of the current frame based at least in part on a fourth motion vector corresponding to the fifth block.

5. The apparatus of claim 1 , wherein the previous frame is temporally previous to the current frame.

6. The apparatus of claim 1 , wherein the processor is further to:

decode the first block and the second block prior to the decode of the target block of the current frame.

7. The apparatus of claim 1 , wherein the current frame comprises a P-frame or a B-frame.

8. The apparatus of claim 1 , wherein the processor is to decode the target block based at least in part on the motion vector in response to a flag to indicate use of at least one motion vector for the block of decoded pixels.

9. The apparatus of claim 1 , further comprising:

a radio; and

at least one antenna communicatively coupled to the radio.

10. The apparatus of claim 9 , further comprising:

a display communicatively coupled to the one or more processor circuitry, the display to display an image based at least in part on the decoded target block.

11. At least one non-transitory computer-readable medium comprising instructions stored thereon, which if executed by one or more processors, cause the one or more processors to:

determine a target block of a current frame;

identify a first block of a previous frame based on the first block being a neighbor of a second block of the previous frame collocated with the target block; and

decode the target block of the current frame based at least in part on a motion vector corresponding to the first block, wherein the motion vector is relative to a block of a reference frame distinct from the previous frame.

12. The medium of claim 11 , comprising further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to:

identify a third block of the current frame above and to the left of the target block; and

decode the target block of the current frame based at least in part on a second motion vector corresponding to the third block.

13. The medium of claim 12 , comprising further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to:

identify a fourth block of the current frame above and immediately adjacent the target block; and

decode the target block of the current frame based at least in part on a third motion vector corresponding to the fourth block.

14. The medium of claim 13 , comprising further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to:

identify a fifth block of the current frame to the left and immediately adjacent the target block; and

decode the target block of the current frame based at least in part on a fourth motion vector corresponding to the fifth block.

15. The medium of claim 11 , wherein the previous frame is temporally previous to the current frame and the medium comprises further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to decode the first block and the second block prior to the decode of the target block of the current frame.

16. A computer-implemented method of video decoding comprising:

determining a target block of a current frame;

identifying a first block of a previous frame based on the first block being a neighbor of a second block of the previous frame collocated with the target block; and

decoding the target block of the current frame based at least in part on a motion vector corresponding to the first block, wherein the motion vector is relative to a block of a reference frame distinct from the previous frame.

17. The method of claim 16 , further comprising:

identifying a third block of the current frame above and to the left of the target block; and

decoding the target block of the current frame based at least in part on a second motion vector corresponding to the third block.

18. The method of claim 17 , comprising further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to:

identify a fourth block of the current frame above and immediately adjacent the target block; and

decode the target block of the current frame based at least in part on a third motion vector corresponding to the fourth block.

19. The method of claim 18 , comprising further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to:

identify a fifth block of the current frame to the left and immediately adjacent the target block; and

decode the target block of the current frame based at least in part on a fourth motion vector corresponding to the fifth block.

20. The method of claim 16 , wherein the previous frame is temporally previous to the current frame and the medium comprises further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to decode the first block and the second block prior to the decode of the target block of the current frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
Continuity (4)
Continuation 14737437 · Jun 11, 2015
Continuation 12567540 · Sep 25, 2009
Provisional Application 61222984 · Jul 3, 2009
Related Publication 20180242012A1 · Aug 23, 2018