US9491461B2ActiveUtilityA1

Scalable extensions to HEVC and temporal motion vector prediction

97
Assignee: QUALCOMM INCPriority: Sep 27, 2012Filed: Sep 26, 2013Granted: Nov 8, 2016
Est. expirySep 27, 2032(~6.2 yrs left)· nominal 20-yr term from priority
H04N 19/00703H04N 19/61H04N 19/521H04N 19/31H04N 19/52H04N 19/30H04N 19/58
97
PatentIndex Score
38
Cited by
66
References
33
Claims

Abstract

In one example, a device includes a video coder configured to determine a first co-located reference picture for generating a first temporal motion vector predictor candidate for predicting a motion vector of a current block, determine a second co-located reference picture for generating a second temporal motion vector predictor candidate for predicting the motion vector of the current block, determine a motion vector predictor candidate list that includes at least one of the first temporal motion vector predictor candidate and the second temporal motion vector predictor candidate, select a motion vector predictor from the motion vector predictor candidate list, and code the motion vector of the current block relative to the selected motion vector predictor.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of decoding video data, the method comprising:
 determining, by one or more processors, a first co-located reference picture in a first layer for generating a first temporal motion vector predictor candidate for predicting a motion vector of a current block of a current picture of the first layer; 
 determining, by the one or more processors, a second co-located reference picture in a second layer of video data that is different from the first layer for generating a second temporal motion vector predictor candidate for predicting the motion vector of the current block of the current picture of the first layer; 
 determining, by the one or more processors, a motion vector predictor candidate list that includes at least one of the first temporal motion vector predictor candidate and the second temporal motion vector predictor candidate; 
 selecting, by the one or more processors, a motion vector predictor from the motion vector predictor candidate list; and 
 decoding, by the one or more processors, the motion vector of the current block relative to the selected motion vector predictor. 
 
     
     
       2. The method of  claim 1 , further comprising:
 determining, by the one or more processors, a priority for the first co-located reference picture and the second co-located reference picture, and 
 wherein determining the motion vector candidate list comprises adding the first motion vector predictor candidate of the first co-located reference picture and the second motion vector predictor candidate of the second co-located reference picture at positions in the candidate list based on the priority. 
 
     
     
       3. The method of  claim 2 , wherein determining the priority comprises assigning a higher priority to a long-term reference picture. 
     
     
       4. The method of  claim 1 , further comprising:
 determining, by the one or more processors, a priority for the first co-located reference picture and the second co-located reference picture; 
 selecting, by the one or more processors, between one of the first co-located reference picture and the second co-located reference picture based on the priority; and 
 wherein determining the motion vector candidate list comprises adding the temporal motion vector predictor candidate of the selected co-located reference picture to the motion vector candidate list and excluding the temporal motion vector predictor candidate of the non-selected co-located reference picture from the motion vector candidate list. 
 
     
     
       5. The method of  claim 1 , further comprising:
 generating, by the one or more processors, the first temporal motion vector predictor candidate based on a location of a center of a first co-located block of the first co-located reference picture; and 
 generating, by the one or more processors, the second temporal motion vector predictor candidate based on a location of a center of a second co-located block of the second co-located reference picture. 
 
     
     
       6. The method of  claim 1 , wherein the first co-located picture and the second co-located picture are included in one or more reference picture lists containing one or more other reference pictures, the method further comprising:
 determining, by the one or more processors, whether a reference picture in the one or more reference picture list comprises one of the first co-located picture and the second co-located picture; and 
 performing, by the one or more processors, motion compression based on the determination, including performing motion compression on the one or more other reference pictures without performing motion compression on the first co-located picture and the second co-located picture. 
 
     
     
       7. The method of  claim 1 , further comprising:
 determining, by the one or more processors, the first temporal motion vector predictor candidate including determining a first motion vector associated with first one or more blocks in the first co-located reference picture using a temporal motion vector prediction process, wherein the one or more blocks have fixed relative coordinates; and 
 determining, by the one or more processors, the second temporal motion vector predictor candidate including determining a second motion vector associated with second one or more blocks in the second co-located reference picture with the fixed relative coordinates and using the temporal motion vector prediction process. 
 
     
     
       8. The method of  claim 7 , wherein the temporal motion vector prediction process conforms to a High Efficiency Video Coding standard. 
     
     
       9. The method of  claim 1 ,
 wherein determining the first co-located reference picture comprises identifying one of a short-term reference picture and a long-term reference picture in a reference picture list, and 
 wherein determining the second co-located reference picture comprises identifying a short-term reference picture in the reference picture list when the first co-located reference picture is identified as a long-term reference picture and identifying a long-term reference picture reference picture list when the first co-located reference picture is identified as a short-term reference picture. 
 
     
     
       10. A method for encoding video data, the method comprising:
 determining, by one or more processors, a first co-located reference picture in a first layer for generating a first temporal motion vector predictor candidate for predicting a motion vector of a current block of a current picture of the first layer; 
 determining, by the one or more processors, a second co-located reference picture in a second layer of video data that is different from the first layer for generating a second temporal motion vector predictor candidate for predicting the motion vector of the current block of the current picture of the first layer; 
 determining, by the one or more processors, a motion vector predictor candidate list that includes at least one of the first temporal motion vector predictor candidate and the second temporal motion vector predictor candidate; 
 selecting, by the one or more processors, a motion vector predictor from the motion vector predictor candidate list; and 
 encoding, by the one or more processors, the motion vector of the current block relative to the selected motion vector predictor. 
 
     
     
       11. The method of  claim 10 , further comprising:
 determining, by the one or more processors, a priority for the first co-located reference picture and the second co-located reference picture, and 
 wherein determining the motion vector candidate list comprises adding the first motion vector predictor candidate of the first co-located reference picture and the second motion vector predictor candidate of the second co-located reference picture at positions in the candidate list based on the priority. 
 
     
     
       12. The method of  claim 11 , wherein determining the priority comprises assigning a higher priority to a long-term reference picture. 
     
     
       13. The method of  claim 10 , further comprising:
 determining, by the one or more processors, a priority for the first co-located reference picture and the second co-located reference picture; 
 selecting, by the one or more processors, between one of the first co-located reference picture and the second co-located reference picture based on the priority; and 
 wherein determining the motion vector candidate list comprises adding the temporal motion vector predictor candidate of the selected co-located reference picture to the motion vector candidate list and excluding the temporal motion vector predictor candidate of the non-selected co-located reference picture from the motion vector candidate list. 
 
     
     
       14. The method of  claim 10 , further comprising:
 generating, by the one or more processors, the first temporal motion vector predictor candidate based on a location of a center of a first co-located block of the first co-located reference picture; and 
 generating, by the one or more processors, the second temporal motion vector predictor candidate based on a location of a center of a second co-located block of the second co-located reference picture. 
 
     
     
       15. The method of  claim 10 , wherein the first co-located picture and the second co-located picture are included in one or more reference picture lists containing one or more other reference pictures, the method further comprising:
 determining, by the one or more processors, whether a reference picture in the one or more reference picture list comprises one of the first co-located picture and the second co-located picture; and 
 performing, by the one or more processors, motion compression based on the determination, including performing motion compression on the one or more other reference pictures without performing motion compression on the first co-located picture and the second co-located picture. 
 
     
     
       16. The method of  claim 10 , further comprising:
 determining, by the one or more processors, the first temporal motion vector predictor candidate including determining a first motion vector associated with first one or more blocks in the first co-located reference picture using a temporal motion vector prediction process, wherein the one or more blocks have fixed relative coordinates; and 
 determining, by the one or more processors, the second temporal motion vector predictor candidate including determining a second motion vector associated with second one or more blocks in the second co-located reference picture with the fixed relative coordinates and using the temporal motion vector prediction process. 
 
     
     
       17. The method of  claim 16 , wherein the temporal motion vector prediction process conforms to a High Efficiency Video Coding standard. 
     
     
       18. The method of  claim 10 ,
 wherein determining the first co-located reference picture comprises identifying one of a short-term reference picture and a long-term reference picture in a reference picture list, and 
 wherein determining the second co-located reference picture comprises identifying a short-term reference picture in the reference picture list when the first co-located reference picture is identified as a long-term reference picture and identifying a long-term reference picture reference picture list when the first co-located reference picture is identified as a short-term reference picture. 
 
     
     
       19. A device for coding video data, the device comprising:
 a memory configured to store a current block; and 
 a video coder configured to: 
 determine a first co-located reference picture in a first layer for generating a first temporal motion vector predictor candidate for predicting a motion vector of the current block of a current picture of the first layer; 
 determine a second co-located reference picture in a second layer of video data that is different from the first layer for generating a second temporal motion vector predictor candidate for predicting the motion vector of the current block of the current picture of the first layer; 
 determine a motion vector predictor candidate list that includes at least one of the first temporal motion vector predictor candidate and the second temporal motion vector predictor candidate; 
 select a motion vector predictor from the motion vector predictor candidate list; and 
 code the motion vector of the current block relative to the selected motion vector predictor. 
 
     
     
       20. The device of  claim 19 , wherein the video coder is further configured to:
 determine a priority for the first co-located reference picture and the second co-located reference picture, and 
 wherein to determine the motion vector candidate list, the device is configured to add the first motion vector predictor candidate of the first co-located reference picture and the second motion vector predictor candidate of the second co-located reference picture at positions in the candidate list based on the priority. 
 
     
     
       21. The device of  claim 19 , wherein to determine the priority, the video coder is configured to assign a higher priority to a long-term reference picture. 
     
     
       22. The device of  claim 19 , wherein the video coder is further configured to:
 determine a priority for the first co-located reference picture and the second co-located reference picture; 
 select between one of the first co-located reference picture and the second co-located reference picture based on the priority; and 
 wherein to determine the motion vector candidate list, the device is configured to add the temporal motion vector predictor candidate of the selected co-located reference picture to the motion vector candidate list and exclude the temporal motion vector predictor candidate of the non-selected co-located reference picture from the motion vector candidate list. 
 
     
     
       23. The device of  claim 19 , wherein the first co-located picture and the second co-located picture are included in one or more reference picture lists containing one or more other reference pictures, the video coder further configured to:
 determine whether a reference picture in the one or more reference picture list comprises one of the first co-located picture and the second co-located picture; and 
 perform motion compression based on the determination, including performing motion compression on the one or more other reference pictures without performing motion compression on the first co-located picture and the second co-located picture. 
 
     
     
       24. The device of  claim 19 , wherein the video coder is further configured to:
 determine the first temporal motion vector predictor candidate including determining a first motion vector associated with first one or more blocks in the first co-located reference picture using a temporal motion vector prediction process, wherein the one or more blocks have fixed relative coordinates; and 
 determine the second temporal motion vector predictor candidate including determining a second motion vector associated with second one or more blocks in the second co-located reference picture with the fixed relative coordinates and using the temporal motion vector prediction process. 
 
     
     
       25. The device of  claim 19 ,
 wherein to determine the first co-located reference picture, the video coder is configured to identify one of a short-term reference picture and a long-term reference picture in a reference picture list, and 
 wherein to determine the second co-located reference picture, the video coder is configured to identify a short-term reference picture in the reference picture list when the first co-located reference picture is identified as a long-term reference picture and to identify a long-term reference picture reference picture list when the first co-located reference picture is identified as a short-term reference picture. 
 
     
     
       26. The device of  claim 19 , wherein to code the motion vector of the current block relative to the selected motion vector predictor, the video coder is configured to encode the motion vector of the current block relative to the selected motion vector predictor, including encoding data indicating one of a merge mode index identifying the selected motion vector predictor and a motion vector difference value comprising a difference between the motion vector of the current block and the selected motion vector predictor in an encoded bitstream. 
     
     
       27. The device of  claim 19 , wherein to code the motion vector of the current block relative to the selected motion vector predictor, the video coder is configured to decode the motion vector of the current block relative to the selected motion vector predictor, including obtaining, from an encoded bitstream, data indicating one of a merge mode index identifying the selected motion vector predictor and a motion vector difference value comprising a difference between the motion vector of the current block and the selected motion vector predictor. 
     
     
       28. A device for coding video data, the device comprising:
 means for determining a first co-located reference picture in a first layer for generating a first temporal motion vector predictor candidate for predicting a motion vector of a current block of a current picture of the first layer; 
 means for determining a second co-located reference picture in a second layer of video data that is different from the first layer for generating a second temporal motion vector predictor candidate for predicting the motion vector of the current block of the current picture of the first layer; 
 means for determining a motion vector predictor candidate list that includes at least one of the first temporal motion vector predictor candidate and the second temporal motion vector predictor candidate; 
 means for selecting a motion vector predictor from the motion vector predictor candidate list; and 
 means for coding the motion vector of the current block relative to the selected motion vector predictor. 
 
     
     
       29. The device of  claim 28 , further comprising:
 means for determining a priority for the first co-located reference picture and the second co-located reference picture, and 
 wherein the means for determining the motion vector candidate list comprises means for adding the first motion vector predictor candidate of the first co-located reference picture and the second motion vector predictor candidate of the second co-located reference picture at positions in the candidate list based on the priority. 
 
     
     
       30. The device of  claim 28 ,
 wherein the means for determining the first co-located reference picture comprises means for identifying one of a short-term reference picture and a long-term reference picture in a reference picture list, and 
 wherein the means for determining the second co-located reference picture comprises means for identifying a short-term reference picture in the reference picture list when the first co-located reference picture is identified as a long-term reference picture and means for identifying a long-term reference picture reference picture list when the first co-located reference picture is identified as a short-term reference picture. 
 
     
     
       31. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a device for coding video data to:
 determine a first co-located reference picture in a first layer for generating a first temporal motion vector predictor candidate for predicting a motion vector of a current block of a current picture of the first layer; 
 determine a second co-located reference picture in a second layer of video data that is different from the first layer for generating a second temporal motion vector predictor candidate for predicting the motion vector of the current block of the current picture of the first layer; 
 determine a motion vector predictor candidate list that includes at least one of the first temporal motion vector predictor candidate and the second temporal motion vector predictor candidate; 
 select a motion vector predictor from the motion vector predictor candidate list; and 
 code the motion vector of the current block relative to the selected motion vector predictor. 
 
     
     
       32. The non-transitory computer-readable storage medium of  claim 31 , wherein the instructions further cause the processor to:
 determine a priority for the first co-located reference picture and the second co-located reference picture, and 
 wherein to determine the motion vector candidate list, the instructions cause the processor to add the first motion vector predictor candidate of the first co-located reference picture and the second motion vector predictor candidate of the second co-located reference picture at positions in the candidate list based on the priority. 
 
     
     
       33. The non-transitory computer-readable storage medium of  claim 31 ,
 wherein to determine the first co-located reference picture, the instructions cause the processor to identify one of a short-term reference picture and a long-term reference picture in a reference picture list, and 
 wherein to determine the second co-located reference picture, the instructions cause the processor to identify a short-term reference picture in the reference picture list when the first co-located reference picture is identified as a long-term reference picture and identify a long-term reference picture reference picture list when the first co-located reference picture is identified as a short-term reference picture.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.