USRE40080EExpiredUtility

Video coding method and decoding method and devices thereof

88
Assignee: MATSUSHITA ELECTRIC INDUSTRIAL CO LTDPriority: Dec 27, 1995Filed: Oct 18, 2000Granted: Feb 19, 2008
Est. expiryDec 27, 2015(expired)· nominal 20-yr term from priority
Inventors:Thiow Keng Tan
H04N 19/577H04N 19/51
88
PatentIndex Score
28
Cited by
27
References
16
Claims

Abstract

A new predictive coding is used to increase the temporal frame rate and coding efficiency without introducing excessive delay. Currently the motion vector for the blocks in the bi-directionally predicted frame is derived from the motion vector of the corresponding block in the forward predicted frame using a linear motion model. This however is not effective when the motion in the image sequence is not linear. The efficiency of this method can be further improved if a non-linear motion model is used. In this model a delta motion vector is added to or subtracted from the derived forward and backward motion vector, respectively. The encoder performs an additional search to determine if there is a need for the delta motion vector. The presence of this delta motion vector in the transmitted bitstream is signalled to the decoder which then takes the appropriate action to make use of the delta motion vector to derive the effective forward and backward motion vectors for the bi-directionally predicted block.

Claims

exact text as granted — not AI-modified
1. A method for encoding a sequence of video image frames comprising the steps of:
 dividing a source sequence into a set of group of pictures, each group of pictures comprising a first frame (I-frame) followed by a plurality of pairs of predictively encoded frames (PB-frame pairs), each PB-frame pair having a corresponding P-block;    dividing each I-frame or PB-frame pair into a plurality of spatially non-overlapping blocks of pixel data;    encoding the blocks from the I-frame (I-blocks) independently from any other frames in the group of pictures;    predictively encoding the blocks from the second frame of the PB-frame pair (P-blocks), based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair;    bi-directionally predictively encoding the blocks from the first frame of the PB-frame pair (B-blocks), based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair and the corresponding P-block in the current PB-frame pair;    deriving a sealed forward motion vector and a sealed backward motion vector of the B-block by sealing the motion vector of the corresponding P-block in the current PB-frame pair;    obtaining a final forward motion vector for the B-block by adding a delta motion vector on the sealed forward motion vector; and    obtaining a final backward motion vector for the B-block by subtracting the delta motion vector from the sealed backward motion vector.    
     
     
       2. A method for encoding a sequence of video image frames according to  claim 1 , wherein
 the sealing of the motion vector is based on a temporal reference of the first and second frames of the PB-frame pair.    
     
     
       3. A method for encoding a sequence of video image frames according to  claim 1 , further comprising the step of forming an encoded output, wherein the encoded output is a bitstream comprising:
 temporal reference information for the first and second frames of the PB-frame pairs;    motion vector information for the P-blocks;    quantized residual error information for the P-blocks;    delta motion vector information for the B-blocks; and    quantized residual error information for the B-blocks.    
     
     
       4. A method for encoding a sequence of video image frames according to  claim 3 , wherein
 the output bitstream contains additional information to indicate the presence of at least one of:    the delta motion vector information for the B-blocks; and    the quantized residual error information for the B-blocks.    
     
     
       5. A method for decoding a sequence of video image frames comprising the steps of:
 decoding the compressed video image sequence as a set of group of pictures, each group of pictures comprising an I-frame followed by a plurality of PB-frame pairs, each PB-frame pair having a corresponding P-block;    decoding each I-frame or PB-frame pair into a plurality of spatially non-overlapping blocks of pixel data;    decoding the I-blocks from the I-frame independently from any other frames in the group of pictures;    predictively decoding the P-block from the second frame of the PB-frame pair based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair;    bi-directionally predictively decoding the B-blocks from the first frame of the PB-frame pair based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair and the corresponding P-block in the current PB-frame pair;    driving a sealed forward motion vector and a sealed backward motion vector for the B-block by sealing the motion vector of the corresponding P-block in the current PB-frame pair;    obtaining a final forward motion vector for the B-block by adding a delta motion vector to the sealed forward motion vector; and    obtaining a final backward motion vector for the B-block by subtracting the delta motion vector from the sealed backward motion vector.    
     
     
       6. A method for decoding a sequence of video image frames according to  claim 5 , further comprising the step of forming a decoded output, wherein the decoded output is responsive to a bitstream comprising:
 temporal reference information for the first and second frames of the PB-frame pairs;    motion vector information for the P-blocks;    quantized residual error information for the P-blocks;    the delta motion vector information for the B-blocks; and    quantized residual error information for the B-blocks.    
     
     
       7. A method for decoding a sequence of video image frames according to  claim 6 , wherein
 the bitstream contains additional information to indicate the presence of at least one of:    the delta motion vector information for the B-blocks; and    the quantized residual error information for the B-block.    
     
     
       8. A method of decoding a sequence of video image frames according to  claim 5 , wherein
 the sealing is based on a temporal reference of the first and second frames of the PB-frame pair.    
     
     
       9. An apparatus for encoding a sequence of video image frames comprising:
 means for encoding each frame in a sequence of video image frames into a set of group of pictures, each group of pictures comprising an I-frame followed by a plurality of PB-frame pairs;    means for dividing the I-frame and the PB-frame pair into a plurality of spatially non-overlapping blocks of pixel data;    means for encoding and decoding the I-blocks of the I-frame independently from any other frames in the group of pictures;    means for storing the decoded I-blocks to predictively encode subsequent frames;    means for predictively encoding and decoding the P-blocks of the second frame of the PB-frame pair based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair;    means for storing the decoded P-block to predictively encode subsequent frames;    means of deriving a sealed forward motion vector and a sealed backward motion vector for a B-block by sealing the motion vector of the corresponding P-block in the current PB-frame pair, the B-block being the first frame of the PB-frame pair;    means for obtaining a final forward motion vector for the B-block by adding a delta motion vector to the sealed forward motion vector;    means for obtaining a final backward motion vector for the B-block by subtracting the same delta motion vector from the sealed backward motion vector; and    means for encoding the B-blocks of the first frame of the PB-frame pairs based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair and the corresponding P-block in the current PB-frame pair using the final forward motion vector and the final backward motion vector.    
     
     
       10. An apparatus for decoding a sequence of video image frames comprising:
 means for decoding each frame in a sequence of video image frames into a set of group of pictures, each group of pictures composing an I-frame followed by a plurality of PB-frame pairs;    means for decoding the I-blocks of the I-frame independently of any other frames in the group of pictures;    means for storing the decoded I-blocks to predictively decode subsequent frames;    means for decoding the P-blocks of the second frame of the PB-frame pair based on the I-blocks in the previous I-frame or the P-blocks in the previous PB-frame pair;    means for storing the decoded P-blocks to predictively decode subsequent frames;    means for deriving a sealed forward motion vector and a sealed backward motion vector for a B-block by sealing the motion vector of the corresponding P-block in the current PB-frame pair, the B-block being the first frame of the PB-frame pair;    means for obtaining final forward motion vector for the B-block by adding a delta motion vector to the sealed forward motion vector;    means for obtaining a final backward motion vector for the B-block by subtracting the delta motion vector to the sealed backward motion vector; and    means for decoding the B-blocks of the first frame of the PB-frame pairs based on the I-blocks in the previous I-frame of the P-blocks in the previous PB-frame pair and the corresponding P-block in the current PB-frame pair using the final forward motion vector and the final backward motion vector.    
     
     
       11. A method for encoding a sequence of video image frames comprising the steps of:
 dividing a source sequence into a plurality of groups of pictures, each group of pictures comprising a first frame (I-frame) followed by a plurality of pairs of predictively encoded frames (PB-frame pairs);    dividing each I-frame or PB-frame pair into a plurality of blocks;    encoding the blocks from the I-frame;    predictively encoding the blocks from the second frame of the PB-frame pair;    bi-directionally predictively encoding the blocks from the first frame of a PB-frame pair (B-blocks);    deriving a sealed forward motion vector and a sealed backward motion vector for the B-block;    obtaining a final forward motion vector for the B-block by adding a delta motion vector to the sealed forward motion vector; and    obtaining a final backward motion vector for the B-block by subtracting the delta motion vector from the sealed backward motion vector.    
     
     
       12. An apparatus for encoding a sequence of video image frames comprising:
 means for dividing a source sequence into a plurality of groups of pictures, each group of pictures comprising a first frame (I-frame) followed by a plurality of pairs of predictively encoded frames (PB-frame pairs);    means for dividing each I-frame or PB-frame pair into a plurality of blocks;    means for encoding the blocks from the I-frame;    means for predictively encoding the blocks from the second frame of the PB-frame pair;    means for bi-directionally predictively encoding the blocks from the first frame of a PB-frame pair (B-blocks);    means for deriving a sealed forward motion vector and a sealed backward motion vector for the B-block;    means for obtaining a final forward motion vector for the B-block by adding a delta motion vector to the sealed forward motion vector; and    means for obtaining a final backward motion vector for the B-block by subtracting the delta motion vector from the sealed backward motion vector.    
     
     
       13. A method for decoding a compressed video image sequence of a group of pictures including an I- frame followed by a plurality of P - frames and B - frames, comprising the steps of:      decoding a block in the I - frame independently from any other frames in the group of pictures;        predictively decoding a block in a P - frame based on the previous I - frame or a previous P - frame;        bi - directionally predictively decoding a block in a B - frame based on the previous I - frame or a previous P - frame and a block in a P - frame positioned after the B - frame;        deriving a scaled forward motion vector and a scaled backward motion vector for the block in the B - frame by scaling a motion vector of the block in the P - frame positioned after the B - frame;        obtaining a final forward motion vector for the block in the B - frame by adding a delta motion vector to the scaled forward motion vector; and        obtaining a final backward motion vector for the block in the B - frame by adding the delta motion vector to the scaled backward motion vector.     
     
     
       14. A method of decoding a sequence of video image frames according to  claim 13 , wherein the deriving step includes:
   scaling of the forward and backward motion vectors is based on a temporal reference of the B - frame and the P - frame.     
     
     
       15. A method for decoding a sequence of video image frames according to  claim 13 , further comprising the step of forming a decoded output, wherein the decoded output is responsive to a bitstream comprising:
   temporal reference information for the B - frame and the P - frame;        motion vector information for the block in the P - frame;        quantized residual error information for the block in the P - frame;        the delta motion vector information for the block in the B - frame; and        quantized residual error information for the block in the B - frame.     
     
     
       16. A method for decoding a sequence of video image frames according to  claim 15 , wherein
   the bitstream contains additional information indicating a presence of at least one of        the delta motion vector information for the block in the B - frame; and        the quantized residual error information for the block in the B - frame.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.