Extended range motion vectors
First Claim
1. A computer-implemented method of using a video decoder to transform video from a compressed form to a reconstructed form, the method comprising:
- receiving, at the video decoder, encoded data in a bit stream for a video sequence; and
with the video decoder, decoding a picture in the video sequence using the encoded data, including;
with the video decoder, decoding a variable length code indicating a motion vector range for a current frame, wherein the indicated motion vector range is selected from among plural extended ranges and a default range each represented with an associated variable length code in a variable length code table; and
with the video decoder, reconstructing one or more motion vectors for blocks and/or macroblocks of the current frame based at least in part on the indicated motion vector range for the current frame, wherein the reconstructing comprises, for a motion vector component (mv), combining a motion vector differential component (dmv) with a motion vector predictor component (predictor) as follows;
mv=(dmv+predictor)smod b;
wherein the indicated motion vector range is from −
b to b−
1, and wherein smod is a signed modulus operation that assures mv is within the indicated motion vector range.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques and tools are described for decoding video data having extended range motion vectors. For example, a sequence level syntax element (such as a flag in a header) indicates whether one or more picture level syntax elements are present for one or more frames of the sequence. If so, then a picture level syntax element for a current frame is processed. The picture level syntax element indicates a motion vector range for the current frame, where the motion vector range may be a default range or one of multiple available extended ranges. Additionally, a signed modulus operation by a factor that depends on the motion vector range may be performed when reconstructing the horizontal and vertical motion vector components to assure that the motion vectors are within the motion vector range.
253 Citations
15 Claims
-
1. A computer-implemented method of using a video decoder to transform video from a compressed form to a reconstructed form, the method comprising:
-
receiving, at the video decoder, encoded data in a bit stream for a video sequence; and with the video decoder, decoding a picture in the video sequence using the encoded data, including; with the video decoder, decoding a variable length code indicating a motion vector range for a current frame, wherein the indicated motion vector range is selected from among plural extended ranges and a default range each represented with an associated variable length code in a variable length code table; and with the video decoder, reconstructing one or more motion vectors for blocks and/or macroblocks of the current frame based at least in part on the indicated motion vector range for the current frame, wherein the reconstructing comprises, for a motion vector component (mv), combining a motion vector differential component (dmv) with a motion vector predictor component (predictor) as follows;
mv=(dmv+predictor)smod b;wherein the indicated motion vector range is from −
b to b−
1, and wherein smod is a signed modulus operation that assures mv is within the indicated motion vector range. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method of using a video decoder to transform video from a compressed form to a reconstructed form, the method comprising:
-
receiving, at the video decoder, encoded data in a bit stream for a video sequence; and with the video decoder, decoding a picture in the video sequence using the encoded data, including; with the video decoder, choosing a motion vector range from among multiple available motion vector ranges; and with the video decoder, reconstructing a motion vector, including computing a signed modulus by a factor that varies depending on the chosen motion vector range, wherein the reconstructing comprises combining a motion vector differential component (dmv) with a motion vector predictor component (predictor) as follows;
mv=(dmv+predictor)smod b;wherein mv represents a motion vector component for the motion vector, smod represents the signed modulus, and b represents a component motion vector range factor for the chosen motion vector range. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer-implemented method of using a video decoder to transform video from a compressed form to a reconstructed form, the method comprising:
-
with the video decoder, parsing a sequence layer syntax element that indicates whether extended range motion vectors are possible for a sequence of frames; if the sequence layer syntax element indicates that extended range motion vectors are possible for the sequence of frames, then with the video decoder performing additional processing that allows the use of extended range motion vectors for the sequence of frames, wherein the additional processing comprises; with the video decoder, parsing a picture level syntax element that indicates whether an allowable motion vector range for a current frame is a default range for the sequence of frames or a larger extended range; and with the video decoder, performing a signed modulus operation to compute a motion vector for a macroblock or block of the current frame as follows;
mv—
x=(dmv—
x+predictor—
x)smod range—
x
mv—
y=(dmv—
y+predictor—
y)smod range—
yif the sequence layer syntax element indicates that extended range motion vectors are not possible for the sequence of frames, then with the video decoder skipping the additional processing that allows the use of extended range motion vectors for the sequence of frames. - View Dependent Claims (15)
-
Specification