Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
First Claim
1. A method for decoding a block in a B-picture, the method comprising:
- receiving an indication of a prediction mode used to encode a block, the prediction mode including one from a group including forward prediction mode, backward prediction mode, interpolation mode and direct prediction mode;
if the indication indicates the direct prediction mode, determining a first predicting block in a decoded past picture using a first scaling of a received motion vector associated with a block in a decoded future picture, the block in the future picture co-located with the block in the B-picture, determining a second predicting block in the future picture using a second scaling of the received motion vector; and
thereafter, predicting data for the content of the block of the B-picture based on the first predicting block and the second predicting block.
3 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for decoding a bit stream representing an image that has been encoded. The method includes the steps of: performing an entropy decoding of the bit stream to form a plurality of transform coefficents and a plurality of motion vectors; performing an inverse transformation on the plurality of transform coefficients to form a plurality of error blocks; determining a plurality of predicted blocks based on bidirectional motion estimation that employs the motion vectors, wherein the bidirectional motion estimation includes a direct prediction mode and a second prediction mode; and, adding the plurality of error blocks to the plurality of predicted blocks to form the image. The second prediction mode may include forward, backward, and interpolated prediction modes.
282 Citations
74 Claims
-
1. A method for decoding a block in a B-picture, the method comprising:
-
receiving an indication of a prediction mode used to encode a block, the prediction mode including one from a group including forward prediction mode, backward prediction mode, interpolation mode and direct prediction mode;
if the indication indicates the direct prediction mode, determining a first predicting block in a decoded past picture using a first scaling of a received motion vector associated with a block in a decoded future picture, the block in the future picture co-located with the block in the B-picture, determining a second predicting block in the future picture using a second scaling of the received motion vector; and
thereafter, predicting data for the content of the block of the B-picture based on the first predicting block and the second predicting block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
9. The method of claim 8 wherein the second scaling of the motion vector is performed according to the equation:
-
10. A method for predicting the content for a block of a first B-picture and a block of a second B-picture in an encoded bitstream, the method comprising:
-
decoding an entire past picture and an entire future picture;
decoding a motion vector associated with a block of the future picture, the block of the future picture co-located with the each of the block of the first B-picture and the block of the second B-picture;
thereafter, for each of the block of the first B-picture and the block of the second B-picture;
determining a first predicting block in the past picture and a second predicting block in the future picture using a first and second scaling, respectively, of the motion vector; and
predicting data for the content of the block of the B-picture based on the first predicting block and the second predicting block. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
17. The method of claim 16 wherein, for each of the block of the first B-picture and the block of the second B-picture, the second scaling of the motion vector is performed according to the equation:
-
18. A method for decoding content for a block of a B-picture in an encoded bitstream, the method comprising:
-
receiving a motion vector associated with a block in a future picture, the block in the future picture co-located with the block of the B-picture, the motion vector identifying the location of a block in a past picture based on the location of the block in the future picture;
receiving the content of each of the past picture and the future picture;
thereafter, determining the location of a first predicting block in the past picture based on a first scaling of the motion vector and the location of the block of the B-picture;
determining the location of a second predicting block in the future picture based on a second scaling of the motion vector and the location of the block of the B-picture; and
generating a combination of the content of the first predicting block and the content of the second predicting block; and
transmitting the generated combination as the entire decoded block. - View Dependent Claims (19, 20, 21)
-
-
22. A method for predicting the content for a block of a B-picture in an encoded bitstream, the method comprising:
-
determining a first predicting block in a decoded past picture using a first scaling of a received motion vector associated with a block in a decoded future picture, the block in the future picture co-located with the block in the B-picture determining a second predicting block in the future picture using a second scaling of the received motion vector; and
thereafter, predicting data for the content of the block of the B-picture based on the first predicting block and the second predicting block. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
29. The method of claim 28 wherein the second scaling of the motion vector is performed according to the equation:
-
30. A method for decoding a block in a B-VOP, the method comprising:
-
receiving an indication of a prediction mode used to encode a block, the prediction mode including one from a group including forward prediction mode, backward prediction mode, interpolation mode and direct prediction mode;
if the indication indicates the direct prediction mode, determining a first predicting block in a decoded past VOP using a first scaling of a received motion vector associated with a block in a decoded future VOP, the future VOP co-located with the block in the B-VOP;
determining a second predicting block in the decoded future VOP using a second scaling of the received motion vector; and
thereafter, predicting data for the content of the block of the B-VOP based on the first predicting block and the second predicting block. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
42. The method of claim 41 wherein the second scaling of the motion vector is performed according to the equation:
-
43. A method for predicting the content for a block of a first B-VOP and a block of a second B-VOP in an encoded bitstream, the method comprising:
-
decoding a past VOP and a future VOP;
decoding a motion vector associated with a block of the future VOP, the block of the future VOP co-located with the each of the block of the first B-VOP and the block of the second B-VOP;
thereafter, for each of the block of the first B-VOP and the block of the second B-VOP;
determining a first predicting block in the past VOP and a second predicting block in the future VOP using a first and second scaling, respectively, of the motion vector; and
predicting data for the content of the block of the B-VOP based on the first predicting block and the second predicting block. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
54. The method of claim 53 wherein, for each of the block of the first B-VOP and the block of the second B-VOP, the second scaling of the motion vector is performed according to the equation:
-
55. A method for decoding content for a block of a B-VOP in an encoded bitstream, the method comprising:
-
receiving a motion vector associated with a block in a future VOP, the block in the future VOP co-located with the block of the B-VOP, the motion vector identifying the location of a block in a past VOP based on the location of the block in the future VOP;
receiving the content of each of the past VOP and the future VOP;
thereafter, determining the location of a first predicting block in the past VOP based on a first scaling of the motion vector and the location of the block of the B-VOP;
determining the location of a second predicting block in the future VOP based on a second scaling of the motion vector and the location of the block of the B-VOP; and
generating a combination of the content of the first predicting block and the content of the second predicting block; and
transmitting the generated combination as the entire decoded block. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62)
-
-
63. A method for predicting the content for a block of a B-VOP in an encoded bitstream, the method comprising:
-
determining a first predicting block in a decoded past VOP using a first scaling of a received motion vector associated with a block in a decoded future VOP, the block in the future VOP co-located with the block in the B-VOP;
determining a second predicting block in a decoded future VOP using a second scaling of the received motion vector; and
thereafter, predicting data for the content of the block of the B-VOP based on the first predicting block and the second predicting block. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74)
-
-
74. The method of claim 73 wherein the second scaling of the motion vector is performed according to the equation:
Specification