Patentable/Patents/US-10986361
US-10986361

Video coding using reference motion vectors

PublishedApril 20, 2021
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Decoding a video sequence may include generating decoded video data by decoding encoded video data from an encoded bitstream, wherein decoding the encoded video data includes identifying candidate reference motion vectors used to decode previously decoded blocks, identifying reconstructed pixel values from a block spatially adjacent to a current block in the current frame, for each candidate reference motion vector, determining a respective score based on a difference between the reconstructed pixel values and pixel values obtained using the candidate reference motion vector, identifying a candidate reference motion vector having the minimal score from the candidate reference motion vectors as the reference motion vector, decoding a motion vector from the encoded bitstream using the reference motion vector, and decoding the current block from the encoded bitstream using the motion vector.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus for decoding a video sequence, the apparatus comprising: a processor configured to generate decoded video data by decoding encoded video data from an encoded bitstream, wherein decoding the encoded video data includes: identifying candidate reference motion vectors used to decode previously decoded blocks; identifying reconstructed pixel values from a block spatially adjacent to a current block in the current frame; for each candidate reference motion vector, determining a respective score based on a difference between the reconstructed pixel values and pixel values obtained using the candidate reference motion vector; identifying a candidate reference motion vector having the minimal score from the candidate reference motion vectors as the reference motion vector; decoding a motion vector from the encoded bitstream using the reference motion vector; and decoding the current block from the encoded bitstream using the motion vector.

2

2. The apparatus of claim 1 , wherein: the pixel values obtained using the candidate reference motion vector are obtained using a first reference frame; and decoding the current block using the motion vector includes decoding the current block using the first reference frame.

3

3. The apparatus of claim 2 , wherein the first reference frame is sequentially adjacent to the current frame.

4

4. The apparatus of claim 3 , wherein the candidate reference motion vectors include a candidate reference motion vector used to inter predict a previously decoded block using a second reference frame sequentially non-adjacent to the current frame.

5

5. The apparatus of claim 4 , wherein: the previously decoded block is a block from a previously decoded alternate reference frame corresponding to a frame sequentially subsequent to the current frame; and the candidate reference motion vector is scaled based on a sequential difference between the second reference frame and the frame sequentially subsequent to the current frame.

6

6. The apparatus of claim 2 , wherein the first reference frame is sequentially non-adjacent to the current frame.

7

7. The apparatus of claim 6 , wherein the first reference frame is a previously decoded alternate reference frame corresponding to a frame sequentially subsequent to the current frame.

8

8. The apparatus of claim 6 , wherein the candidate reference motion vectors include a candidate reference motion vector used to inter predict a previously decoded block using a second reference frame.

9

9. The apparatus of claim 8 , wherein: the previously decoded block is a block from the current frame; and the candidate reference motion vector is scaled based on a sequential difference between the second reference frame and the first reference frame.

10

10. A method for decoding a video sequence, the method comprising: generating decoded video data by decoding encoded video data from an encoded bitstream, wherein decoding the encoded video data includes: identifying candidate reference motion vectors used to decode previously decoded blocks; identifying reconstructed pixel values from a block spatially adjacent to a current block in the current frame; for each candidate reference motion vector, determining a respective score based on a difference between the reconstructed pixel values and pixel values obtained using the candidate reference motion vector; identifying a candidate reference motion vector having the minimal score from the candidate reference motion vectors as the reference motion vector; decoding a motion vector from the encoded bitstream using the reference motion vector; and decoding the current block from the encoded bitstream using the motion vector.

11

11. The method of claim 10 , wherein: the pixel values obtained using the candidate reference motion vector are obtained using a first reference frame; and decoding the current block using the motion vector includes decoding the current block using the first reference frame.

12

12. The method of claim 11 , wherein the first reference frame is sequentially adjacent to the current frame.

13

13. The method of claim 12 , wherein the candidate reference motion vectors include a candidate reference motion vector used to inter predict a previously decoded block using a second reference frame sequentially non-adjacent to the current frame.

14

14. The method of claim 13 , wherein: the previously decoded block is a block from a previously decoded alternate reference frame corresponding to a frame sequentially subsequent to the current frame; and the candidate reference motion vector is scaled based on a sequential difference between the second reference frame and the frame sequentially subsequent to the current frame.

15

15. The method of claim 11 , wherein the first reference frame is sequentially non-adjacent to the current frame.

16

16. The method of claim 15 , wherein the first reference frame is a previously decoded alternate reference frame corresponding to a frame sequentially subsequent to the current frame.

17

17. The method of claim 15 , wherein the candidate reference motion vectors include a candidate reference motion vector used to inter predict a previously decoded block using a second reference frame.

18

18. The method of claim 17 , wherein: the previously decoded block is a block from the current frame; and the candidate reference motion vector is scaled based on a sequential difference between the second reference frame and the first reference frame.

19

19. A method for encoding a video sequence, the method comprising: generating an encoded bitstream by: identifying a current block of a current frame; identifying a current motion vector indicating a current reference frame for encoding the current block; including an encoded block in the encoded bitstream, the encoded block generated using the current motion vector and the current reference frame; identifying, as candidate reference motion vectors, motion vectors used to encode previously encoded blocks from the video sequence; identifying reconstructed pixel values from a block spatially adjacent to the current block; for each candidate reference motion vector, determining a respective score based on a difference between the reconstructed pixel values and pixel values obtained using the candidate reference motion vector and the current reference frame; identifying a candidate reference motion vector having the minimal score from the candidate reference motion vectors as a reference motion vector; and encoding the current motion vector in the encoded bitstream using the reference motion vector; and outputting the encoded bitstream.

20

20. The method of claim 19 , wherein: the current reference frame is sequentially adjacent to the current frame and the candidate reference motion vectors include a candidate reference motion vector used to inter predict a previously encoded block using a second reference frame sequentially non-adjacent to the current frame; or the current reference frame is sequentially non-adjacent to the current frame and the candidate reference motion vectors include a candidate reference motion vector used to inter predict a previously encoded block using a second reference frame sequentially adjacent to the current frame.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

June 28, 2019

Publication Date

April 20, 2021

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Video coding using reference motion vectors” (US-10986361). https://patentable.app/patents/US-10986361

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.