Patentable/Patents/US-9300978
US-9300978

Combined motion vector and reference index prediction for video coding

PublishedMarch 29, 2016
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A system and method for improving the coding efficiency of motion vector information in video coding. According to various embodiments, a list of motion vector predictor candidates is arranged according to predefined rules. Each motion vector also has a reference index associated with it. One of the motion vector candidates is then selected as a predictor based on predefined rules, or the selection is explicitly signaled in the bitstream. The reference index associated with the selected motion vector is used as a reference index for the current block. The reference index is predicted along with the motion vector. Such embodiments can improve the compression efficiency of modern video codecs.

Patent Claims
38 claims

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

1

1. A method for encoding an image, comprising: ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors; and at least selectively providing in an encoded bitstream an indication representative of the rank order of the selected motion vector predictor, wherein each block that has the same reference index as the current image block has a smaller rank order than each block with a reference index different from the reference index of the current image block.

2

2. The method of claim 1 , wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.

3

3. The method of claim 2 , wherein the partitioning information represents the size and the shape of the block from which the respective motion vector predictor is derived.

4

4. The method of claim 1 , wherein the plurality of motion vector predictors comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.

5

5. The method of claim 1 , wherein an additional motion vector predictor is added to the plurality of motion vector predictors if a value of the additional motion vector predictor is not represented by the plurality of motion vector predictors.

6

6. The method of claim 1 , wherein the plurality of motion vector predictors comprises motion vector predictors each having a distinct value.

7

7. The method of claim 1 , further comprising: using the reference index associated with the selected motion vector predictor as a reference index for the current image block.

8

8. A computer program product, embodied on a non-transitory machine readable medium, for causing a machine, when executed, to perform the processes of claim 1 .

9

9. An apparatus, comprising: a processor; and a memory communicatively connected to the processor and including computer code configured to: order a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; select a particular motion vector predictor of the current image block from the plurality of motion vector predictors; and at least selectively provide in an encoded bitstream an indication representative of the rank order of the selected motion vector predictor, wherein each block that has the same reference index as the current image block has a smaller rank order than each block with a reference index different from the reference index of the current image block.

10

10. The apparatus of claim 9 , wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.

11

11. The apparatus of claim 10 , wherein the partitioning information represents the size and the shape of the block from which the respective motion vector predictor is derived.

12

12. The apparatus of claim 9 , wherein the plurality of motion vector predictors comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.

13

13. The apparatus of claim 9 , wherein an additional motion vector predictor is added to the plurality of motion vector predictors if a value of the additional motion vector predictor is not represented by the plurality of motion vector predictors.

14

14. The apparatus of claim 9 , wherein the plurality of motion vector predictors comprises motion vector predictors each having a distinct value.

15

15. The apparatus of claim 9 , wherein the apparatus is further configured to use the reference index associated with the selected motion vector predictor as a reference index for the current image block.

16

16. An apparatus, comprising: means for ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; means for selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors; and means for at least selectively providing in an encoded bitstream an indication representative of the rank order of the selected motion vector predictor, wherein each block that has the same reference index as the current image block has a smaller rank order than each block with a reference index different from the reference index of the current image block.

17

17. A method for decoding an image, comprising: ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; and selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors for use in decoding, wherein information signaled within a bitstream is at least selectively used to select the particular motion vector, using a predefined process to select a set of most probable motion vector predictors from the plurality of motion vector predictors; and in an instance in which the predefined process results in the selection of more than one most probable motion vector predictor, using the information signaled in the bitstream to select the particular motion vector from the set of most probable motion vector predictors.

18

18. The method of claim 17 , wherein the selecting of the particular motion vector further comprises, if the predefined process results in the selection of one most probable motion vector predictor, selecting the one most probable motion vector predictor as the particular motion vector predictor.

19

19. The method of claim 17 , wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on information signaled in the bitstream.

20

20. The method of claim 17 , further comprising removing duplicate motion vector predictors from the plurality of motion vector predictors.

21

21. The method of claim 17 , further comprising adding a predefined vector to the plurality of motion vector predictors, if the number of motion vector predictors is zero.

22

22. The method of claim 17 , further comprising including an additional motion vector predictor that has been signaled in the bitstream to the plurality of motion vector predictors, if the number of motion vector predictors is zero.

23

23. The method of claim 17 , wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.

24

24. The method of claim 23 , wherein the partitioning information represents a size and a shape of the block from which the respective motion vector predictor is derived.

25

25. The method of claim 17 , wherein the plurality of motion vector predictor comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.

26

26. The method of claim 17 , further comprising: using the reference index associated with the selected motion vector predictor as a reference index for the current image block.

27

27. A computer program product, embodied on a non-transitory machine readable medium, for causing a machine, when executed, to perform the processes of claim 17 .

28

28. An apparatus, comprising: a processor; and a memory communicatively connected to the processor and including computer code configured to: to order a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; and select a particular motion vector predictor of the current image block from the plurality of motion vector predictors for use in decoding, wherein information signaled within a bitstream is at least selectively used to select the particular motion vector, use a predefined process to select a set of most probable motion vector predictors from the plurality of motion vector predictors; and in an instance in which the predefined process results in the selection of more than one most probable motion vector predictor, using the information signaled in the bitstream to select the particular motion vector from the set of most probable motion vector predictors.

29

29. The apparatus of claim 28 , wherein the selecting of the particular motion vector further comprises, if the predefined process results in the selection of one most probable motion vector predictor, selecting the one most probable motion vector predictor as the particular motion vector predictor.

30

30. The apparatus of claim 28 , wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on information signaled in the bitstream.

31

31. The apparatus of claim 28 , wherein the apparatus is further configured to remove duplicate motion vector predictors from the plurality of motion vector predictors.

32

32. The apparatus of claim 28 , wherein the apparatus is further configured to add a predefined vector to the plurality of motion vector predictors, if the number of motion vector predictors is zero.

33

33. The apparatus of claim 28 , wherein the apparatus is further configured to include an additional motion vector predictor that has been signaled in the bitstream to the plurality of motion vector predictors, if the number of motion vector predictors is zero.

34

34. The apparatus of claim 28 , wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.

35

35. The apparatus of claim 34 , wherein the partitioning information represents a size and a shape of the block from which the respective motion vector predictor is derived.

36

36. The apparatus of claim 28 , wherein the plurality of motion vector predictor comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.

37

37. The apparatus of claim 28 , wherein the apparatus is further configured to use the reference index associated with the selected motion vector predictor as a reference index for the current image block.

38

38. An apparatus, comprising: means for ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; and means for selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors for use in decoding, wherein information signaled within a bitstream is at least selectively used to select the particular motion vector, means for using a predefined process to select a set of most probable motion vector predictors from the plurality of motion vector predictors; and in an instance in which the predefined process results in the selection of more than one most probable motion vector predictor, means for using the information signaled in the bitstream to select the particular motion vector from the set of most probable motion vector predictors.

Classification Codes (CPC)

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

Patent Metadata

Filing Date

March 19, 2009

Publication Date

March 29, 2016

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. “Combined motion vector and reference index prediction for video coding” (US-9300978). https://patentable.app/patents/US-9300978

© 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.