Methods and systems for motion vector derivation at a video decoder
View Patent ↗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.
1. A video decoder apparatus comprising:
circuitry to identify a block of decoded pixels in a previous frame, wherein the previous frame is distinct from a reference frame, and wherein the circuitry to identify the block of decoded pixels is to identify the block of decoded pixels based on the block of decoded pixels being in a position neighboring and below and to the right relative to a target block of a current frame;
circuitry to selectively determine at least one motion vector for the block of decoded pixels, the at least one motion vector relative to a block in the reference frame; and
circuitry to decode the target block of the current frame based at least in part on the selectively determined at least one motion vector.
2. The apparatus of claim 1 , wherein the previous frame is temporally previous to the current frame.
3. The apparatus of claim 1 , further comprising circuitry to decode the block of decoded pixels prior to the decode of the target block of the current frame.
4. The apparatus of claim 1 , wherein to selectively determine the at least one motion vector comprises access of a stored at least one motion vector.
5. The apparatus of claim 1 , wherein the current frame comprises a P-frame or a B-frame.
6. The apparatus of claim 1 , wherein the circuitry to selectively determine the at least one motion vector for the block of decoded pixels is in response to a flag to indicate use of at least one motion vector for the block of decoded pixels.
7. The apparatus of claim 1 , comprising:
a radio; and
at least one antenna communicatively coupled to the radio.
8. The apparatus of claim 7 , comprising:
one or more processor circuitry;
at least one memory communicatively coupled to the one or more processor circuitry; and
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.
9. The apparatus of claim 1 , wherein one or more of the circuitry comprises any or a combination of hardware or firmware.
10. 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:
identify a block of decoded pixels in a previous frame, wherein the previous frame is distinct from a reference frame, and wherein to identify the block of decoded pixels comprises identifying the block of decoded pixels based on the block of decoded pixels being in a position neighboring and below and to the right relative to a target block of a current frame;
selectively determine at least one motion vector for the block of decoded pixels, the at least one motion vector relative to a block in the reference frame; and
decode the target block of the current frame based at least in part on the selectively determined at least one motion vector.
11. The medium of claim 10 , wherein the previous frame is temporally previous to the current frame.
12. The medium of claim 10 , comprising further instructions stored thereon, which if executed by the one or more processors, cause the one or more processors to decode the block of decoded pixels prior to the decode of the target block of the current frame.
13. The medium of claim 10 , wherein to selectively determine the at least one motion vector comprises access of a stored at least one motion vector.
14. The medium of claim 10 , wherein the current frame comprises a P-frame or a B-frame.
15. The medium of claim 10 , wherein to selectively determine the at least one motion vector for the block of decoded pixels is in response to a flag to indicate use of at least one motion vector for the block of decoded pixels.
16. A computer-implemented method of video decoding comprising:
identifying a block of decoded pixels in a previous frame, wherein the previous frame is distinct from a reference frame, and wherein identifying the block of decoded pixels comprises identifying the block of decoded pixels based on the block of decoded pixels being in a position neighboring and below and to the right relative to a target block of a current frame;
selectively determining at least one motion vector for the block of decoded pixels, the at least one motion vector relative to a block in the reference frame; and
decoding the target block of the current frame based at least in part on the selectively determined at least one motion vector.
17. The method of claim 16 , wherein the previous frame is temporally previous to the current frame.
18. The method of claim 16 , further comprising decoding the block of decoded pixels prior to decoding the target block of the current frame.
19. The method of claim 16 , wherein selectively determining the at least one motion vector comprises access of a stored at least one motion vector.
20. The method of claim 16 , wherein the current frame comprises a P-frame or a B-frame.
21. The method of claim 16 , wherein the selectively determining the at least one motion vector for the block of decoded pixels is in response to detecting a flag that indicates use of at least one motion vector for the block of decoded pixels.
22. A video encoder comprising:
circuitry to identify a block of pixels in a previous frame, wherein the previous frame is distinct from a reference frame, and wherein identifying the block of decoded pixels comprises identifying the block of decoded pixels based on the block of decoded pixels being in a position neighboring and below and to the right relative to a target block of a current frame;
circuitry to selectively determine at least one motion vector for the block of pixels, the at least one motion vector relative to the block in the reference frame; and
circuitry to encode the target block of the current frame based at least in part on the selectively determined at least one motion vector.
23. The encoder of claim 22 , wherein the previous frame is temporally previous to the current frame.
24. The encoder of claim 22 , wherein the current frame comprises a P-frame or a B-frame.
25. The encoder of claim 22 , further comprising:
circuitry to provide a flag to indicate use, during decode of the target block, of at least one motion vector for the block of pixels.
26. The encoder of claim 22 , further comprising:
a radio; and
at least one antenna communicatively coupled to the radio, the radio to transmit at least encoded video comprising information to decode the encoded target block.
27. The encoder of claim 26 , further comprising:
one or more processor circuitry; and
at least one memory communicatively coupled to the one or more processor circuitry.
28. The encoder of claim 22 , wherein one or more of the circuitry comprises any or a combination of hardware or firmware.