Predictive encoding and decoding methods of video data
AssigneeNippon Telegraph and Telephone Corporation
InventorsHirohisa Jozawa, Atsushi Shimizu, Kazuto Kamikura, Hiroshi Watanabe
Life of this patent
Estimating the term…
Loading patent…
AssigneeNippon Telegraph and Telephone Corporation
InventorsHirohisa Jozawa, Atsushi Shimizu, Kazuto Kamikura, Hiroshi Watanabe
Estimating the term…
Video data predictive encoding methods using the two kinds of prediction modes, the global and local motion compensation modes, are provided, by which unnecessary MCSEL is reduced as much as possible, and the data compression efficiency is improved. In the encoder, after a code word MCBPC indicating the macroblock type and presence/absence of the DCT coefficient of each of two blocks for sending color-difference signals, a code word MCSEL indicating which motion-compensating mode, global or local, was adopted for the prediction of the current macroblock is output if the macroblock was not intraframe-encoded.
A predictive encoding method of video data, in which one of a global motion-compensating process for predicting a global motion of the whole frame and a local motion-compensating process for predicting a local motion of each block in a frame is selectively performed, wherein:
A decoding method for decoding a data sequence encoded by a predictive encoding method of video data, in which one of a global motion-compensating process for predicting a global motion of the whole frame and a local motion-compensating process for predicting a local motion of each block in a frame is selectively performed, wherein:
A computer-readable medium containing a program which executes a procedure for a predictive encoding method of video data, in which one of a global motion-compensating process for predicting a global motion of the whole frame and a local motion-compensating process for predicting a local motion of each block in a frame is selectively performed, the procedure comprising:
A computer-readable medium containing a program which executes a procedure for a decoding method for decoding a data sequence encoded by a predictive encoding method of video data, in which one of a global motion-compensating process for predicting a global motion of the whole frame and a local motion-compensating process for predicting a local motion of each block in a frame is selectively performed, the procedure comprising:
A computer-readable storage medium storing data for a procedure for a predictive encoding method of video data, in which one of a global motion-compensating process for predicting a global motion of the whole frame and a local motion-compensating process for predicting a local motion of each block in a frame is selectively performed, the stored data being encoded in accordance with a procedure comprising:
Dependencies are inferred from the claim text.
Gateways: gateway controllers, e.g. media gateway control protocol [MGCP] controllers
For portable computers: with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
Details related to the display arrangement, including those related to the mounting of the display in the housing: the display being based on…
Authentication, i.e. establishing the identity or authorisation of security principals: by remotely controlling device operation
Term ended 28 Jul 2019 (estimated)
USPTO file history isn’t available for this patent, so only indexed dates are shown.
Drawings are temporarily unavailable. Open the PDF at USPTO
The present invention relates to methods for encoding and decoding signals of video data (i.e., moving pictures).
In existing video data coding standards such as ITU-T H.261, H. 263, ISO/IEC 11172-2 (MPEG-1), and ISO/IEC 13818-2 (MPEG-2), a motion-compensated interframe prediction method is adopted for reducing temporal redundancy with respect to video data. Also in an example model based on the ISO/IEC14496-2 (MPEG-4) standard which is currently being studied, a similar motion compensating method is adopted.
Generally in motion-compensated predictive coding methods, (i) a frame to be encoded (i.e., the current frame) is divided into rectangular blocks, called “macroblocks”, having 16 pixels×16 lines, (ii) a relative amount of the motion (i.e., a motion vector having horizontal component tx and vertical component ty of displacement) with respect to a reference frame is detected for each macroblock, and (iii) an interframe difference between a predicted frame and the current frame is encoded, where the predicted frame is obtained in a manner such that the block of the reference frame corresponding to the relevant macroblock of the current frame is shifted by the motion vector.
FIG. 1 is a block diagram showing the structure of the encoder used in an embodiment according to the present invention.
FIG. 2 is a block diagram showing the structure of the decoder used together with the encoder of FIG. 1.
FIG. 3 is a block diagram showing the structure of a conventional example of the encoder.
Hereinbelow, preferred embodiments of the present invention will be explained with reference to the drawings.
FIG. 1 is a block diagram showing the structure of the encoder used in an embodiment according to the present invention. In comparison with FIG. 3 showing a conventional encoder, only the operation of multiplexer 27 is different in this encoder. This is because the basic structural elements in the encoder and decoder and operation flows according to the present invention are the same as those in the conventional system. However, the structure of the encoded data sequence is different; thus, the encoded data sequence (i.e., syntax) according to the present invention will be explained below with reference to List 4. FIG. 6 is a model diagram showing the data structure (i.e., bit stream structure) represented by List 4, in which data are constructed using code words D11 to D19, the motion vector, and DCT coefficient information (corresponding to the quantized index) in turn.
NUMBER SYNTAX OF BITS macroblock() { if (VOP_type == “I”) { (OMITTED) } if (VOP_type == “P” || VOP_type == “SPRITE”) { COD 1 if (COD == 1) { if (VOP_type == “SPRITE”) MCSEL 1 return() } MCBPC 1-9 if (VOP_type == “SPRITE” && (MBTYPE == “INTER” || MBTYPE == “INTER+Q”)) MCSEL 1 if (MBTYPE == “INTRA” || MBTYPE == “INTRA+Q”) Acpred_flag 1 CBPY 2-6 if (MBTYPE == “INTER+Q” || MBTYPE == “INTRA+Q”) DQUANT 1-2 if (MBTYPE != “INTRA” && MBTYPE != “INTRA+Q”) { if (VOP_type == “SPRITE”) { if (MCSEL == 0) motion_vector(MBTYPE) } else { motion_vector(MBTYPE) } } for (i =0; i < block_count; i++) block () } else if (VOP_type == “B”) { (OMITTED) } }