Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
First Claim
1. A motion vector predictive encoding method in which a target frame to be encoded is divided into small blocks and a motion-compensating method to be applied to each target small block to be encoded is selectable from among a plurality of motion-compensating methods, wherein:
- when the motion vector of the target small block is predicted based on the motion vector of an already-encoded small block, if the motion model of the motion vector of the target small block differs from the motion model of the motion vector of the already-encoded small block, then the motion vector of the target small block is predicted by converting the motion vector of the already-encoded small block for the prediction into one suitable for the motion model of the motion vector used in the motion-compensating method of the target small block, and calculating a predicted vector, and a prediction error of the motion vector is encoded.
1 Assignment
0 Petitions
Accused Products
Abstract
A motion vector predictive encoding method, a motion vector decoding method, a predictive encoding apparatus, a decoding apparatuses, and storage media storing motion vector predictive encoding and decoding programs are provided, thereby reducing the amount of generated code with respect to the motion vector, and improving the efficiency of the motion-vector prediction. If the motion-compensating mode of the target small block to be encoded is the global motion compensation, the encoding mode of an already-encoded small block is the interframe coding mode, and the motion-compensating mode of the already-encoded small block is the global motion compensation, then the motion vector of the translational motion model is determined for each pixel of the already-encoded small block, based on the global motion vector (steps S1-S5). Next, the representative motion vector is calculated as the predicted vector, based on the motion vector of each pixel of the already-encoded small block (step S6). Finally, the prediction error is calculated for each component of the motion vector and each prediction error is encoded (steps S7 and S8).
48 Citations
96 Claims
-
1. A motion vector predictive encoding method in which a target frame to be encoded is divided into small blocks and a motion-compensating method to be applied to each target small block to be encoded is selectable from among a plurality of motion-compensating methods, wherein:
when the motion vector of the target small block is predicted based on the motion vector of an already-encoded small block, if the motion model of the motion vector of the target small block differs from the motion model of the motion vector of the already-encoded small block, then the motion vector of the target small block is predicted by converting the motion vector of the already-encoded small block for the prediction into one suitable for the motion model of the motion vector used in the motion-compensating method of the target small block, and calculating a predicted vector, and a prediction error of the motion vector is encoded. - View Dependent Claims (4, 5, 6, 9, 10, 11, 14, 15, 16, 19, 20, 21, 24, 25, 26, 29, 30, 31, 34, 35, 36, 39, 40)
-
2. A motion vector predictive encoding method in which a target frame to be encoded is divided into small blocks and a global motion-compensating method and a local motion-compensating method are switchable for each target small block to be encoded, wherein:
when the motion vector of the target small block is predicted based on the motion vector of an already-encoded small block, if the motion-compensating method of the target small block differs from the motion-compensating method of the already-encoded small block, then the motion vector of the target small block is predicted by converting the format of the motion vector of the already-encoded small block for the prediction into a format of the motion vector used in the motion-compensating method of the target small block, and a prediction error of the motion vector is encoded. - View Dependent Claims (3, 7, 8, 12, 13, 17, 18, 22, 23, 27, 28, 32, 33, 37, 38)
-
41. A motion vector predictive encoding method in which interframe prediction is performed using one of a global motion-compensating method for predicting a global motion or deformation of an entire frame and a local motion-compensating method for predicting a local motion for each block, the encoding method comprising the steps of:
-
determining the motion-compensating mode used for a target small block to be encoded;
determining the encoding mode of an already-encoded small block if the motion-compensating mode of the target small block is the local motion compensation;
setting the value of the motion vector of the already-encoded small block to 0 if the encoding mode of the already-encoded small block is the intraframe coding;
determining the motion-compensating mode of the already-encoded small block if the encoding mode of the already-encoded small block is the interframe coding;
calculating a motion vector for each pixel of the already-encoded small block based on global motion parameters if the motion-compensating mode of the already-encoded small block is the global motion compensation;
calculating a representative motion vector of the already-encoded small block by using a predetermined method, based on the motion vector determined for each pixel;
determining whether the value of the representative motion vector is within a predetermined range;
clipping the representative motion vector to have a value within the predetermined range or setting the value of the representative motion vector to 0 if the value of the representative motion vector is not within a predetermined range;
calculating a prediction error which is a difference between the motion vector of the already-encoded small block and a predicted vector; and
encoding the calculated prediction error. - View Dependent Claims (42)
-
-
43. A motion vector predictive encoding apparatus in which a target frame to be encoded is divided into small blocks and a global motion-compensating method and a local motion-compensating method are switchable for each target small block to be encoded, the apparatus comprising:
-
already-encoded small block storing means for storing an input local motion vector of a target small block to be encoded, and outputting the stored motion vector as a local motion vector of an already-encoded small block when a next local motion vector of a target small block is input;
predicted vector calculating means for calculating a predicted vector of the motion vector of the target small block by converting the format of an input global motion vector into the format of the local motion vector for each small block, and outputting the calculated predicted vector as the predicted vector of a target small block when a next local motion vector of the target small block is input;
predicted vector choosing means for choosing the predicted vector calculated by the predicted vector calculating means if the motion-compensating method of the target small block is the local motion-compensating method and the motion-compensating method of the already-encoded small block for prediction is the global motion-compensating method, or choosing the local motion vector of the already-encoded small block output from the already-encoded small block storing means as a predicted vector if the motion-compensating methods of the target small block and the already-encoded small block are the local motion-compensating method;
prediction error outputting means for outputting a prediction error with respect to the motion vector of the target small block based on the predicted vector chosen by the predicted vector choosing means and the input motion vector of the target small block; and
encoding means for encoding the prediction error output from the prediction error outputting means and the input global motion vector. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A computer-readable storage medium storing a motion vector predictive encoding program for executing motion vector predictive encoding in which a target frame to be encoded is divided into small blocks and a motion-compensating method to be applied to each target small block to be encoded is selectable from among a plurality of motion-compensating methods, the program including the steps of:
-
calculating a predicted vector when the motion vector of the target small block is predicted based on the motion vector of an already-encoded small block, wherein if the motion model of the motion vector of the target small block differs from the motion model of the motion vector of the already-encoded small block, then the motion vector of the already-encoded small block for the prediction is converted into a motion vector suitable for the motion model used in the motion-compensating method of the target small block; and
predicting the motion vector of the already-encoded small block based on the calculated predicted vector, and encoding a prediction error of the motion vector. - View Dependent Claims (58, 59, 60, 63, 64, 65, 68, 69, 70, 73, 74, 75, 78, 79, 80, 83, 84, 85, 88, 89, 90, 93, 94)
-
-
56. A computer-readable storage medium storing a motion vector predictive encoding program for executing motion vector predictive encoding in which a target frame to be encoded is divided into small blocks and a global motion-compensating method and a local motion-compensating method are switchable for each target small block to be encoded, the program including the steps of:
-
converting the format of the motion vector when the motion vector of the target small block is predicted based on the motion vector of an already-encoded small block, wherein if the motion-compensating method of the target small block differs from the motion-compensating method of the already-encoded small block, then the format of the motion vector of the already-encoded small block for the prediction is converted into a format of the motion vector used in the motion-compensating method of the target small block; and
predicting the motion vector of the already-encoded small block based on the predicted vector in the converted format, and encoding a prediction error of the motion vector. - View Dependent Claims (57, 61, 62, 66, 67, 71, 72, 76, 77, 81, 82, 86, 87, 91, 92)
-
-
95. A computer-readable storage medium storing a motion vector predictive encoding program in which interframe prediction is performed using one of a global motion-compensating method for predicting a global motion or deformation of an entire frame and a local motion-compensating method for predicting a local motion for each block, the program including the steps of:
-
determining the motion-compensating mode used for a target small block to be encoded;
determining the encoding mode of an already-encoded small block if the motion-compensating mode of the target small block is the local motion compensation;
setting the value of the motion vector of the already-encoded small block to 0 if the encoding mode of the already-encoded small block is the intraframe coding;
determining the motion-compensating mode of the already-encoded small block if the encoding mode of the already-encoded small block is the interframe coding;
calculating a motion vector for each pixel of the already-encoded small block based on global motion parameters if the motion-compensating mode of the already-encoded small block is the global motion compensation;
calculating a representative motion vector of the already-encoded small block by using a predetermined method, based on the motion vector determined for each pixel;
determining whether the value of the representative motion vector is within a predetermined range;
clipping the representative motion vector to have a value within the predetermined range or setting the value of the representative motion vector to 0 if the value of the representative motion vector is not within a predetermined range;
calculating a prediction error which is a difference between the motion vector of the already-encoded small block and a predicted vector; and
encoding the calculated prediction error. - View Dependent Claims (96)
-
Specification