PERFORMING MOTION VECTOR PREDICTION FOR VIDEO CODING
First Claim
1. A method of encoding video data, the method comprising:
- determining spatial candidate motion vectors associated with a current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions of the current video frame adjacent to the current portion;
pruning the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors;
determining a temporal candidate motion vector associated with the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame;
selecting the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector; and
signaling the selected candidate motion vector in a bitstream.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, techniques are described for performing motion vector prediction for video coding. An apparatus comprising a motion compensation unit may implement the techniques. The motion compensation unit determines spatial candidate motion vectors (MVPs) associated with a current portion of a video frame and prunes the spatial candidate motion vectors to remove duplicates without removing a temporal candidate motion vector. The motion compensation unit selects one of the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector based on a motion vector predictor (MVP) index signaled in a bitstream and performs motion compensation based on the selected candidate motion vector.
217 Citations
63 Claims
-
1. A method of encoding video data, the method comprising:
-
determining spatial candidate motion vectors associated with a current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions of the current video frame adjacent to the current portion; pruning the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors; determining a temporal candidate motion vector associated with the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; selecting the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector; and signaling the selected candidate motion vector in a bitstream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 38)
-
-
11. An apparatus for encoding video data, the apparatus comprising:
-
means for determining spatial candidate motion vectors associated with current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions for the current video frame adjacent to the current portion; means for pruning the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors; means for determining a temporal candidate motion vector associated with the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; means for selecting the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector; and means for signaling the selected candidate motion vector in a bitstream. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An apparatus for encoding video data, the apparatus comprising:
-
motion compensation unit that determines spatial candidate motion vectors associated with current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions for the current video frame adjacent to the current portion, prunes the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors, and determines a temporal candidate motion vector associated with the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; a mode selection unit that selects the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector; and an entropy coding unit that signals the selected candidate motion vector in a bitstream. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
26. A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors to:
-
determine spatial candidate motion vectors associated with current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions of the current video frame adjacent to the current portion; prune the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors; determine a temporal candidate motion vector associated with the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; select the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector; and signal the selected candidate motion vector in a bitstream.
-
-
27. A method of decoding video data, the method comprising:
-
determining spatial candidate motion vectors associated with a current portion of a current video frame, wherein the spatial candidate motion vectors comprise neighbor motion vectors determined for spatially neighboring portions adjacent to the current portion within the current video frame; pruning the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors without removing a temporal candidate motion vector determined for the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; selecting the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector based on a motion vector predictor (MVP) index signaled in a bitstream; and performing motion compensation based on the selected candidate motion vector. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
39. An apparatus for decoding video data, the apparatus comprising:
-
means for determining spatial candidate motion vectors associated with a current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions of the current video frame adjacent to the current portion; means for pruning the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors without removing a temporal candidate motion vector determined for the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; means for selecting one of the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector based on a motion vector predictor (MVP) index signaled in a bitstream; and means for performing motion compensation based on the selected candidate motion vector. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. An apparatus for decoding video data, the apparatus comprising:
a motion compensation unit that determines spatial candidate motion vectors associated with a current portion of a current video frame, wherein the spatial candidate motion vectors comprise neighbor motion vectors determined for neighboring portions adjacent to the current portion, prunes the spatial candidate motion vectors to remove duplicate ones of the spatial candidate motion vectors without removing a temporal candidate motion vector determined for the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame, selects one of the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector based on a motion vector predictor (MVP) index signaled in a bitstream and performs motion compensation based on the selected candidate motion vector. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
63. A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors to:
-
determine spatial candidate motion vectors associated with a current portion of a current video frame, wherein the spatial candidate motion vectors comprise motion vectors determined for neighboring portions of the current video frame adjacent to the current portion; prune the spatial candidate motion vectors to remove at least one of the spatial candidate motion vectors without removing a temporal candidate motion vector determined for the current portion of the current video frame, wherein the temporal candidate motion vector comprises a motion vector determined for a portion of a reference video frame; select one of the temporal candidate motion vector or one of the spatial candidate motion vectors remaining after pruning as a selected candidate motion vector based on a motion vector predictor (MVP) index signaled in a bitstream; and perform motion compensation based on the selected candidate motion vector.
-
Specification