WO2002093936A1 - Moving picture encoding apparatus - Google Patents
Moving picture encoding apparatus Download PDFInfo
- Publication number
- WO2002093936A1 WO2002093936A1 PCT/JP2002/004530 JP0204530W WO02093936A1 WO 2002093936 A1 WO2002093936 A1 WO 2002093936A1 JP 0204530 W JP0204530 W JP 0204530W WO 02093936 A1 WO02093936 A1 WO 02093936A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image data
- motion vector
- data
- frame
- frame image
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to a video encoding device, and is suitably applied to, for example, a video encoding device that compresses and encodes video data when distributing video data using the Internet.
- moving image data obtained while capturing an image of a subject with a video camera or the like has been transmitted to a personal computer or the like of a user via the Internet.
- a so-called streaming delivery method which allows video to be displayed in real-time based on video, has begun to spread.
- the MPEG 2 format is based on ISO / IEC J TC 1 / SC 2 / WG 11 1 mm ittee / S ub C omm ittee 2 orking
- DCT discrete cosine transform
- I intra-frame coded image
- I Intra-coded image
- P Predictive
- B Bidirectiona1 1 yredictive picture
- any one of these I picture, P picture and B picture is stipulated that the frame image data constituting the data is sequentially allocated in a predetermined order and compression-encoded.
- intra-frame coding In the MPEG-2 system, four types of prediction modes are defined: intra-frame coding, forward prediction coding, reverse prediction coding, and bidirectional prediction coding.
- the image is compressed and encoded by frame encoding in a unit called a 16-pixel x 16-line macroblock, and the frame image to which a P-picture is assigned is intra-frame encoded or forward-coded in macroblock units.
- any of intra-frame coding, forward predictive coding, backward predictive coding, and bidirectional predictive coding in macroblock units It is stipulated that compression encoding is performed according to this.
- moving picture data supplied from the outside is input in a unit of frame picture data having a recording capacity of a plurality of frames.
- I picture, P picture and B picture are assigned to the frame image data taken into the input frame memory 2 in a predetermined order, and the input picture memory 2 is assigned to the input frame memory 2.
- the picture type information indicating the I picture, P picture and B picture is recorded in association with the frame image data.
- the arithmetic unit 3 sequentially converts frame image data (hereinafter referred to as first frame image data) to which an I picture is allocated in the input frame memory 2 in units of macroblocks ( Hereinafter, this is referred to as first macroblock data). Also, every time the arithmetic unit 3 reads out the first macroblock data from the input frame memory 2, the motion vector detector 4 sets the picture type information (that is, the picture type information) corresponding to the first macroblock data. (Representing an I-picture), and based on the picture type information, generates prediction mode data indicating that the first macroblock data is to be compression-coded by intra-frame coding, and generates the prediction mode data by using the motion It is sent to the variable length encoder 6.
- the motion compensator 5 stops the motion compensation processing for the corresponding first macroblock data based on the prediction mode data (indicating the intra-frame encoding) given from the motion vector detector 4.
- the arithmetic unit 3 discards the first macroblock data as it is because no data is given from the motion compensator 5 at this time.
- the discrete cosine transformer 7 sends the first macroblock data supplied from the arithmetic unit 3 to the discrete cosine transform, and sends the obtained discrete cosine transform coefficient to the quantizer 8. .
- the quantizer 8 detects the amount of encoded data stored in the buffer 9 provided at the output stage (hereinafter referred to as the data storage amount) at a predetermined period, and performs quantization in accordance with the detected data storage amount. Select the steps.
- the quantizer 8 quantizes the discrete cosine transform coefficient given from the discrete cosine transformer 7 based on the corresponding quantization step, and divides the obtained quantized coefficient together with the quantization step into a variable length encoder. 6 and the inverse quantizer 10.
- the variable-length encoder 6 performs variable-length coding (V. LC: Variable Length Code) on the quantized coefficient given from the quantizer 8 by using a Huffman code or the like, and
- the given quantization step and the prediction mode data given from the motion vector detector 4 are also variable-length coded, and the obtained coded data is output to the outside via the buffer 9.
- the first frame picture data in the input frame memory 2 is sequentially compression-coded by the intra-frame coding in the unit of the first macroblock data, and the obtained coding Output data to the outside.
- the inverse quantizer 10 also inversely quantizes the quantized coefficient given from the quantizer 8 based on the quantization step similarly given from the quantizer 8, and obtains the obtained discrete cosine transform coefficient. Transmit to the inverse discrete cosine transformer.
- the inverse discrete cosine transformer 11 performs an inverse discrete cosine transform (I DCT) of the discrete cosine transform coefficient given from the inverse quantizer 10, and obtains a first obtained cosine transform coefficient. Is sent to the adder 12.
- I DCT inverse discrete cosine transform
- the adder 1 2 receives the first macroblock data from the inverse discrete cosine transformer 11, and at this time, does not receive any data from the motion compensator 5, so that the first macroblock data Is sent to a reference frame memory 13 having a recording capacity of a plurality of frames and stored as it is, and thus the first frame image data is reconstructed in the reference frame memory 13.
- the arithmetic unit 3 sequentially converts the frame image data to which the P picture is allocated in the input frame memory 2 (hereinafter referred to as the second frame image data) in macroblock units (hereinafter, referred to as the second frame image data). This is called the second macroblock data).
- the motion vector detector 4 outputs the same second macroblock data from the input frame memory 2 and the same. And read out the picture type information (ie, representing a P picture) corresponding to the first and second macroblock data in the forward direction (past in time) with respect to the second macroblock data based on the picture type information.
- the frame image data is read for reference in forward prediction.
- the motion vector detector 4 uses the block matching method to compare the second macroblock data in the first or second frame image data for reference for a plurality of comparisons.
- the total sum of the absolute values of the differences between the pixel value of each pixel in the second macroblock data and the pixel value of each corresponding pixel in the comparison block data (hereinafter referred to as prediction error Is calculated).
- the motion vector detector 4 calculates the smallest prediction error (hereinafter referred to as a minimum prediction error) among prediction errors sequentially calculated between the second macroblock data and each comparison block data.
- the comparison block data hereinafter, referred to as forward approximation block data
- the forward motion vector of the second macroblock data is detected based on the amount of motion between the detected forward approximate block data and the second macroblock data.
- the motion vector detector 4 calculates the average value of the pixel values of each pixel in the second macroblock data, and then calculates the absolute value of the difference between the calculated average value and each pixel value. Is calculated (hereinafter referred to as the variance), and the calculated variance is compared with the minimum prediction error.
- the motion vector detector 4 determines that the variance of each pixel with respect to the second macroblock data (variation in pixel values) is small, It is determined that even if the block data is compressed and encoded as it is, the data amount of the encoded data (hereinafter referred to as the encoded data amount) can be relatively reduced, and the second macroblock data is subjected to intra-frame encoding. It generates prediction mode data indicating compression encoding and sends it to the motion compensator 5 and the variable length encoder 6.
- the motion vector detector 4 determines that the second macroblock data has a large variance (variation in pixel values) with respect to the second macroblock data. It is determined that it is difficult to reduce the amount of encoded data unless the macroblock data of the second macroblock is compressed and encoded by forward prediction encoding, and indicates that the second macroblock data is to be compression encoded by forward prediction encoding. Generates prediction mode data and moves it together with the motion vector of the second macroblock data. It is sent to the compensator 5 and the variable length encoder 6.
- the motion compensator 5 performs a motion compensation process on the second macroblock data. To stop.
- the motion compensator 5 performs a motion compensation process when given a motion vector for the second macroblock data from the motion vector detector 4 and a prediction mode data representing forward prediction coding. Then, the first and second frames of image data on the forward side (temporally past) of the second macroblock data are read out from the reference frame memory 13 for reference.
- the motion compensator 5 extracts, from the first or second frame image data, operation block data that most closely matches the second macro block data based on the motion vector, and extracts this from the operation unit 3. And to the adder 12.
- the arithmetic unit 3 When the intra-frame encoding is selected as the prediction mode for the second macroblock data read out from the input frame memory 2, the arithmetic unit 3 does not receive the operation block data from the motion compensator 5. Thus, the second macroblock data is sent to the discrete cosine transformer 7 as it is.
- the second macroblock data is variable-length coded together with the quantization step and the prediction mode data, and the obtained coded data is output to the outside, and the compressed second macroblock data is output.
- the block data is decrypted and stored in the reference frame memory 13.
- the arithmetic unit 3 When the forward prediction coding is selected as the prediction mode for the second macroblock data read from the input frame memory 2, the arithmetic unit 3 operates The arithmetic block data provided from the compensator 5 is subtracted from the second macroblock data, and the obtained difference data is sent to the discrete cosine transformer 7.
- the discrete cosine transformer 7 performs the discrete cosine transform on the difference data given from the arithmetic unit 3 and sends out the obtained discrete cosine transform coefficient to the quantizer 8.
- the quantizer 8 quantizes the discrete cosine transform coefficient based on the corresponding quantization step selected in the same manner as when the first macroblock data is processed, and quantizes the obtained quantized coefficient.
- the data is sent to the variable length encoder 6 and the inverse quantizer 10 together with the quantization step.
- variable-length encoder 6 performs variable-length encoding on the quantized coefficients using Huffman coding or the like, and also changes a corresponding quantization step and prediction mode data (representing forward prediction encoding) and a motion vector.
- the data is long-coded and the coded data thus obtained is output to the outside via the buffer 9.
- the inverse quantizer 10 inversely quantizes the quantized coefficient given from the quantizer 8 based on the quantization step similarly given from the quantizer 8, and obtains the obtained discrete cosine transform coefficient.
- the inverse discrete cosine transformer 11 To the inverse discrete cosine transformer 11 1.
- the inverse discrete cosine transformer 11 performs an inverse discrete cosine transform of the discrete cosine transform coefficient given from the inverse quantizer 10, and outputs the obtained difference data to the adder 12.
- the adder 12 adds the difference data given from the inverse discrete cosine transformer 11 to the operation block data given from the motion compensator 5 at this time, and refers to the obtained second macroblock data. It is sent to the frame memory 13 and stored.
- the second frame image is stored in the reference frame memory 13 as well. Reconstruct the data.
- the arithmetic unit 3 sequentially converts the frame image data to which the B picture is allocated in the input frame memory 2 (hereinafter referred to as third frame image data) in units of macroblocks.
- Data hereinafter referred to as the third macro Data (referred to as backup data).
- the motion vector detector 4 adds the same third macroblock data from the input frame memory 2 to the third macroblock data.
- the corresponding picture type information ie, representing a B picture
- the first or second frame on the forward side (temporally past) of the third macroblock data is read based on the picture type information.
- the image data and the first or second frame image data in the backward direction (future in time) are read for reference in forward prediction, backward prediction and bidirectional prediction.
- the motion vector detector 4 uses the block matching method as in the case of the above-described second macroblock data, and calculates the minimum prediction error (hereinafter, referred to as the first prediction error) in the first or second frame image data on the forward side.
- the forward approximation block data that is referred to as the forward minimum prediction error is detected, and the forward motion vector for the third macroblock data is detected.
- the motion vector detector 4 is used by the block matching method for comparison to obtain a minimum prediction error in the first or second frame image data on the opposite side (hereinafter, this is particularly referred to as an inverse minimum prediction error).
- Block data (hereinafter, referred to as backward approximate block data) is detected to detect a backward motion vector for the third macroblock data.
- the motion vector detector 4 averages the forward approximation block data and the backward approximation block data thus detected to generate average approximation block data, and generates the average approximation block data and the third approximation block data.
- the prediction error with the macroblock data (hereinafter referred to as the bidirectional prediction error) is calculated.
- the motion vector detector 4 obtains one of the smallest values of the forward minimum prediction error, the backward minimum prediction error, and the bidirectional prediction error, which has the smallest value, the reverse minimum prediction error or the bidirectional prediction error.
- the variance value for the third macroblock data in the same manner as for the second macroblock data described above. Calculate and compare the calculated variance with the selected one of the minimum forward prediction error, the minimum reverse prediction error or the bidirectional prediction error (hereinafter referred to as the selection prediction error in particular).
- the motion vector detector 4 uses the third macroblock data as it is because the variance (variation) of each pixel is smaller than the third macroblock data. It is determined that the amount of coded data can be made relatively small even by compression coding, and prediction mode data indicating that the third macroblock data is to be compression-coded by intra-frame coding is generated and the motion is captured. To the compensator 5 and the variable-length encoder 6.
- the motion vector detector 4 determines that the variance (variation) of each pixel with respect to the third macroblock data is large. It is determined that it is difficult to reduce the amount of encoded data unless the data is compressed and encoded in a prediction mode other than intra-frame encoding.
- the motion vector detector 4 At this time, if the selected prediction error is the forward minimum prediction error, the motion vector detector 4 generates prediction mode data indicating that the third macroblock data is compression-coded by forward prediction coding. Then, this is transmitted to the motion compensator 5 and the variable length encoder 6 together with the forward motion vector of the third macroblock data. If the selected prediction error is the backward minimum prediction error, the motion vector detector 4 performs prediction mode data indicating that the third macroblock data is to be compression-coded by backward prediction coding. Is generated and sent to the motion compensator 5 and the variable-length encoder 6 together with the reverse motion vector of the third macroblock data.
- the motion vector detector 4 generates prediction mode data indicating that the third macroblock data is to be compression-coded by bidirectional prediction coding. This is sent to the motion compensator 5 and the variable-length encoder 6 together with both the forward and backward motion vectors of the third macroblock data.
- the motion compensator 5 receives the third macroblock data from the motion vector detector 4. Then, when the prediction mode data representing the intra-frame encoding is given, the motion compensation processing for the third macroblock data is stopped.
- the motion compensator 5 receives the motion vector in the forward direction for the third macroblock data from the motion vector detector 4 and the prediction mode data representing the forward prediction coding, and By executing the processing, the first or second frame image data on the forward side (temporally past) of the third macroblock data is read out from the reference frame memory 13 as a reference, and the readout is performed. Based on the motion vector in the forward direction from the first or second frame image data, the operation block data that best matches the third macro block data is extracted, and this is extracted by the operation unit 3 and the adder 12. To send to.
- the motion compensator 5 receives the backward motion vector for the third macroblock data from the motion vector detector 4 and the prediction mode data representing the backward prediction coding, Then, the first or second frame image data on the opposite side (temporally in the future) of the third macroblock data is read out from the reference frame memory 13 from the reference frame memory 13 as a reference. Based on the motion vector in the opposite direction from the read first or second frame image data, the operation block data that most closely matches the third macro block data is extracted, and this is extracted by the calculator 3 and Send to adder 1 and 2.
- the motion compensator 5 includes both forward and reverse motion vectors for the third macroblock data from the motion vector detector 4, and prediction mode data representing bidirectional predictive coding.
- the motion compensation processing is executed to obtain the first or second frame image data on the forward side (temporally past) of the third macroblock data from the reference frame memory 13.
- the first and second frame image data on the opposite side are read out for reference.
- the motion compensator 5 extracts the operation block data that most closely matches the third macro block data based on the forward motion vector from the first or second frame image data on the forward side. And the first or second frame image on the opposite side The operation block data that best matches the third macro block data is extracted from the image data based on the motion vector in the reverse direction, and the extracted two operation block data are averaged to obtain the average block data for operation. Is generated and sent to the arithmetic unit 3 and the adder 12.
- the arithmetic unit 3 receives no data from the motion compensator 5.
- the third macroblock data is sent to the discrete cosine transformer 7 as it is.
- the third macroblock data is variable-length coded together with the quantization step and the prediction mode data, and the obtained coded data is output to the outside, and the compressed third macroblock data is decoded. And store it in the reference frame memory 13.
- the arithmetic unit 3 When the forward prediction coding, the backward prediction coding, and the bidirectional prediction coding are selected as prediction modes for the third macroblock data read from the input frame memory 2, the arithmetic unit 3 performs motion compensation. The arithmetic block data or the arithmetic average block data given from the device 5 is subtracted from the third macroblock data, and the obtained difference data is sent to the discrete cosine transformer 7.
- the discrete cosine transformer 7 performs the discrete cosine transform on the difference data given from the arithmetic unit 3 and sends out the obtained discrete cosine transform coefficient to the quantizer 8.
- the quantizer 8 quantizes the discrete cosine transform coefficient based on the corresponding quantization step selected in the same manner as when the first macroblock data is processed, and quantizes the obtained quantized coefficient to the quantized coefficient. It is sent to the variable length encoder 6 and the inverse quantizer 10 together with the quantization step. Then, when forward prediction coding is selected as the prediction mode of the third macroblock data that is a source of the quantization coefficient, the variable length encoder 6 converts the quantization coefficient by Huffman coding or the like. In addition to the variable-length coding, the corresponding quantization step, prediction mode data (representing forward prediction coding), and the forward motion vector are also variable-length coded, and the obtained coded data is externally transferred via a buffer 9. Output to
- variable-length encoder 6 converts the quantized coefficient into a variable-length code using Huffman coding or the like.
- the corresponding quantization step and prediction mode data (representing backward prediction encoding) and the backward motion vector are also variable-length coded, and the encoded data obtained in this way is obtained. Is output to the outside via the buffer 9.
- variable length encoder 6 converts the quantized coefficient by Huffman coding or the like.
- the corresponding quantization steps, prediction mode data (representing bidirectional prediction coding) are also variable length coded, and the obtained coded data is buffered. Output to outside via 9.
- the inverse quantizer 10 inversely quantizes the quantized coefficient given from the quantizer 8 based on the quantization step similarly given from the quantizer 8, and obtains the obtained discrete cosine transform coefficient.
- the inverse discrete cosine transformer 11 To the inverse discrete cosine transformer 11 1.
- the inverse discrete cosine transformer 11 performs an inverse discrete cosine transform of the discrete cosine transform coefficient given from the inverse quantizer 10, and outputs the obtained difference data to the adder 12.
- the adder 12 adds the difference data provided from the inverse discrete cosine transformer 11 to the calculation block data or the calculation average block data provided from the motion compensator 5 at this time, and the obtained data is obtained.
- the third macroblock data is sent to the reference frame memory 13 for storage. In this way, in the video encoding device 1, even when the third 7-frame image data is sequentially compression-encoded in the third macroblock data unit, the third frame is stored in the reference frame memory 13 as well. Reconstruct image data.
- the order of the B picture located in the I picture, the P picture, the I picture and the P picture or between the two P pictures is sequentially determined in units of frame picture data. Compression coding is repeatedly performed, and the obtained coded data is output to the outside.
- moving image data is compression-encoded by the moving image encoding device 1 at a relatively high compression rate in accordance with the data transfer speed of the Internet. For this reason, the quality of the moving image provided to the user (the degree of indicating the presence or absence of noise, etc.) has deteriorated, and the demand for higher image quality for the moving image to be distributed has begun to increase.
- the frame image data is simply decimated at predetermined intervals from the moving image data regardless of the change in the pattern of the moving image.
- the compression ratio changes accordingly, and as a result, the image quality of the moving image provided to the user fluctuates.
- the moving image encoding device 1 sequentially adds data of an image of an arbitrary shape from frame image data that is continuous of moving image data.
- a method has been proposed in which data is extracted while tracking and the extracted image data (hereinafter referred to as extracted image data) is compression-coded.
- continuous extracted image data is extracted from the moving image data, and the continuous extracted image data is sequentially compressed at a relatively low compression ratio by an amount corresponding to the amount of data to be compressed and encoded.
- a continuous extracted image that is a part of the moving image can be provided to the user with high image quality.
- the motion vector of each macroblock data is detected for each frame image data, and the detected motion vector is used to sequentially trace the extracted image data of an arbitrary shape from the frame image data. I have.
- a motion vector of each macroblock data is detected for each frame image data, and the detected motion vectors are sequentially extracted from the frame image data using the tracking result of the extracted image data. It is compressed and encoded together with the extracted image data.
- the amount of computation for detecting the motion vector is greatly increased by individually detecting the motion vector of the macroblock data for tracking and compression encoding of the extracted image data.
- the amount of computation for detecting the motion vector is greatly increased by individually detecting the motion vector of the macroblock data for tracking and compression encoding of the extracted image data.
- the present invention has been made in view of the above points, and has as its object to propose a moving image encoding apparatus capable of appropriately providing a moving image with a desired image quality.
- the moving image data is sequentially compressed and encoded in units of frame image data by the compression encoding means, and the obtained encoded data is temporarily stored in a buffer and output.
- the frame rate of moving image data is changed according to the amount of data stored in the buffer by the frame rate changing means. Therefore, the number of frame image data to be compression-encoded per unit time is appropriately changed in accordance with the change in the picture pattern of the moving image based on the moving image data to stabilize the compression ratio.
- the moving image The image quality can be stabilized, and thus a moving image having a desired image quality can be provided accurately.
- the present invention has been made in view of the above points, and it is an object of the present invention to propose a moving picture coding apparatus capable of speeding up the compression coding processing on extracted image data having an arbitrary shape.
- a simple motion vector between continuous frame image data of moving image data is detected by a lower layer motion vector detecting means at a lower layer than a predetermined layer, and the tracking means detects the simple motion vector.
- the simple motion vector is used to track the extracted image data of an arbitrary shape in the continuous frame image data of the moving image data, and the upper motion vector detection means uses the simple motion vector at a predetermined or higher hierarchy.
- the motion vector is used to detect the motion vector at the original image level between consecutive frame image data of the moving image data, and based on the tracking result of the extracted image data by the compression encoding means, While extracting extracted image data sequentially from frame image data with continuous data, the extracted image data is extracted by motion compensation prediction coding using a motion vector. And so as to reduced coding.
- FIG. 1 is a conceptual diagram showing a distribution form of moving image data in a moving image data distribution system.
- FIG. 2 shows a first embodiment of the circuit configuration of the video encoding device according to the present invention. It is a block diagram.
- FIG. 3 is a schematic diagram for explaining a picture type assigned to frame image data of moving image data.
- FIG. 4 is a schematic diagram for explaining compression encoding of moving image data.
- FIG. 5 is a schematic diagram for explaining a change in the frame rate of moving image data.
- FIG. 6 is a flowchart showing a procedure of a compression encoding process of moving image data.
- FIG. 7 is a flowchart illustrating a procedure of a compression encoding process of moving image data.
- FIG. 8 is a schematic diagram showing an I picture, a P picture, and a B picture assigned to frame image data of moving image data.
- FIG. 9 is a schematic diagram for explaining re-detection of a motion vector when the frame rate of moving image data is changed.
- FIG. 10 is a block diagram showing a circuit configuration of a video encoding device according to the second embodiment.
- FIG. 11 is a schematic diagram explaining the generation of the hierarchical macroblock data and the hierarchical frame image data.
- FIG. 12 is a schematic diagram for explaining a hierarchical search motion vector detection method.
- FIG. 13 is a flowchart showing a procedure of a compression encoding process of moving image data.
- FIG. 14 is a flowchart illustrating a procedure of a compression encoding process of moving image data.
- FIG. 15 is a block diagram showing a circuit configuration of a video encoding device according to the third embodiment.
- FIG. 16 is a schematic diagram for explaining the designation of the initial position and the arbitrary shape of the extracted image with respect to the frame image.
- FIG. 17 is a schematic diagram used to explain the tracking of an extracted image between frame images.
- FIG. 18 is a schematic diagram illustrating a configuration of a mask image.
- FIG. 19 is a schematic diagram explaining the determination of the second macroblock data using the mask image data.
- FIG. 20 is a schematic diagram used to explain detection of a motion vector of the second macroblock data relating to an edge portion.
- FIG. 21 is a flowchart illustrating a procedure of a compression encoding process of moving image data.
- FIG. 22 is a flowchart showing a procedure of a compression encoding process of moving image data.
- FIG. 23 is a flowchart showing a procedure of a compression encoding process for moving image data.
- FIG. 24 is a flowchart showing a procedure of a compression encoding process for moving image data.
- FIG. 25 is a schematic diagram for explaining a method of specifying an arbitrary shape of an extracted image with respect to a frame image.
- FIG. 26 is a block diagram showing a circuit configuration of a conventional video encoding device. BEST MODE FOR CARRYING OUT THE INVENTION
- the transmission side uses MPEG4 (MPEG4) standardized by an organization such as ISO / IEC (International Organization for Standardization / international Electrotechnical Commission).
- MPEG4 MPEG4
- ISO / IEC International Organization for Standardization / international Electrotechnical Commission
- the moving image data is specified to be sequentially compressed and encoded in units of frame image data in substantially the same manner as the MPEG2 system, and in addition to this, the frame rate of the moving image data (ie, It is specified so that the number of frame images per unit time in a moving image can be changed.
- an image of an arbitrary shape is extracted from a continuous frame image of a moving image while tracking the image, and data of the extracted image (hereinafter, referred to as an extracted image) (hereinafter, this is extracted).
- Image data data of the extracted image
- moving image data obtained by capturing an image of a subject using the video camera 22 on the transmitting side is taken into the moving image encoding device 21 and the moving image
- the encoder 21 compresses and encodes the moving image data while appropriately changing the frame rate, or extracts and compresses and encodes the extracted image data from the moving image data while appropriately changing the frame rate.
- the encoded bit stream is transmitted from the network transmitting device 23 to the receiving personal computer 25 via the Internet 24.
- the personal computer 25 When the personal computer 25 receives the coded bit stream transmitted from the network transmission device 23 via the Internet 24, the personal computer 25 decodes the received coded bit stream and sends it to the display unit. A moving image whose frame rate has been changed or an extracted image within the moving image whose frame rate has been changed is displayed on the display unit.
- the moving image data is distributed while appropriately changing the frame rate, or the extracted image data is extracted from the moving image data having the appropriately changed frame rate and distributed. This allows the user to show a high-quality moving image or a similarly high-quality extracted image to the user via the personal computer 25.
- reference numeral 30 denotes a moving picture encoding apparatus according to the first embodiment as a whole, and a moving picture supplied from an external video camera (not shown) capturing an object (not shown).
- the data D1 is sequentially taken into the input frame memory 32 provided in the frame rate change processing unit 31 and having a recording capacity for a plurality of frames in units of frame image data.
- the frame structure converter 33 of the frame rate change processing section 31 fetches the frame image data into the input frame memory 32 every time the frame image data is captured, as shown in FIG. ⁇ Picture of P picture Key types are assigned in such an order that one I picture and a predetermined number of P pictures are alternately and consecutively arranged, and the picture type representing the I picture and the P picture and the frame identification unique to the frame image data to which these are assigned The information is recorded in the input frame memory 32 as picture information.
- the motion vector detector 35 of the motion vector detection processing unit 34 receives the frame image data (to which the I picture is assigned).
- this is referred to as first frame image data).
- the motion vector detector 35 expresses the frame identification information of the first frame image data as encoding target frame identification information based on the picture information, and sequentially displays the first frame image data.
- Macroblock unit data (hereinafter, referred to as first macroblock data) D2 is used to generate prediction mode data D3 indicating that compression encoding is performed by intra-frame encoding, and the generated prediction mode data D 3 is sent to the motion vector buffer 36 and stored.
- the motion vector detector 35 When a P picture is assigned to frame image data in the input frame memory 32, the motion vector detector 35 outputs the frame image data to which the P picture is assigned (hereinafter, this is referred to as the 2 (referred to as frame image data).
- the motion vector detector 35 expresses the frame identification information of the corresponding second frame image data as encoding target frame identification information based on the picture information, and furthermore, expresses the second frame image data.
- Predictive mode data D5 indicating that the data is to be compression-coded by forward prediction coding is generated as data D4 in sequential macroblock units (hereinafter referred to as second macroblock data).
- the motion vector detector 35 sequentially reads the second frame image data from the input frame memory 32 in units of the second macroblock data D4, and The first or second frame image data D6 adjacent to the image data on the forward side (temporally past) is read out for reference. Then, the motion vector detector 35 performs a plurality of comparisons within a predetermined search range of the first or second frame image data D6 for reference to the second macroblock data D4 by the block matching method. Summarizing the absolute value of the difference between the pixel value of each pixel in the second macroblock data D4 and the pixel value of each corresponding pixel in the comparison block data (hereinafter, referred to as the block data) while sequentially associating the block data with the block data. This is called the prediction error).
- the motion vector detector 35 calculates the smallest prediction error among prediction errors sequentially calculated between the second macroblock data D4 and each comparison block data, (Called the minimum prediction error).
- the motion base vector detector 35 as its minimum prediction error comparison block data used when calculating the (hereinafter referred to as approximate block data) to the most consistent with the second macro pro Kkudeta D 4
- approximate block data used when calculating the (hereinafter referred to as approximate block data) to the most consistent with the second macro pro Kkudeta D 4
- the motion vector D7 of the second macroblock data D4 is detected based on the amount of motion between the detected approximate block data and the second macroblock data D4.
- the motion vector detector 35 generates the prediction mode data D5 for the second frame image data in the input frame memory 32, and generates the second mode image data in the second frame image data.
- the prediction mode data D5 and each motion vector D7 are sent to the motion vector buffer 36 in association with each other and accumulated.
- the motion vector detector 35 when the motion vector detector 35 sequentially receives the frame image data into the input frame memory 32 and allocates the I-picture and the P-picture, the motion vector detector 35 similarly performs the prediction mode data D 3 , D5, as well as detecting the motion vector D7 of each second macroblock data D4, sending them to the motion vector buffer 36, and accumulating them.
- the compression encoding unit 37 uses the motion vector detector 35 to predict the prediction mode data D 3 for the predetermined number of frames of frame image data in order from the first frame image data in the input frame memory 32. D 5 is generated and each second When the motion vector D7 of the macroblock data D4 is detected, compression encoding of the first and second frame image data is started.
- the computing unit 38 sequentially reads the first frame image data from the input frame memory 32 sequentially.
- the motion vector buffer D 36 outputs the prediction mode data D 3, the prediction mode data D 5 and the motion vector D 7.
- the operation is started.
- the motion compensation processing for the first macroblock data D2 is stopped based on the corresponding prediction mode data D3 (indicating intra-frame encoding) read from the vector buffer 36.
- adder 3 8 reading the first macro block data D 2. from the input frame memory 3 2, the first macro By this time no data from the motion compensator 3 9 is not given
- the block data D 2 is sent to the discrete cosine converter 40 as it is.
- the discrete cosine transformer 40 performs a discrete cosine transform on the first macroblock data D 2 given from the arithmetic unit 38, and sends out the obtained discrete cosine transform coefficient K 1 to the quantizer 41.
- the quantizer 41 detects a storage amount of coded data (hereinafter, referred to as a data storage amount) DR in a buffer 42 provided in an output stage at a predetermined period, and detects the detected data storage amount.
- the quantization step ST is selected according to the DR.
- the quantizer 41 quantizes the discrete cosine transform coefficient K1 given from the discrete cosine transformer 40 based on the corresponding quantization step ST, and quantizes the obtained quantized coefficient K2 It is sent to the variable length encoder 43 and the inverse quantizer 44 together with the quantization step ST used for the quantization.
- the variable-length encoder 43 starts the compression encoding of the first and second frame image data
- the motion vector buffer 36 predicts the prediction mode data D 3, the prediction mode data D 5 and the motion And starts to read out the vector D7 in accordance with the compression coding order for the first and second frame image data.
- the quantization coefficient K2 given by the quantizer 41 is converted into a variable length code by Huffman code or the like.
- the corresponding prediction mode data D 3 read out from the quantization step ST and the motion vector buffer 36 given from the quantizer 41 are subjected to variable-length coding, and the obtained coding is obtained.
- the data D10 is temporarily stored in the buffer 42, and is output to the outside as a coded bit stream BS1 in which the coded data amount is smoothed.
- the first frame image data in the input frame memory 32 can be sequentially compression-encoded by intra-frame encoding in units of the first macroblock data D2. It has been made like that.
- the inverse quantizer 44 inversely quantizes the quantization coefficient K 2 given from the quantizer 41 based on the quantization step ST similarly given from the quantizer 41, and obtains the obtained result.
- the discrete cosine transform coefficient K 3 is sent to the inverse discrete cosine transformer 45.
- Inverse discrete cosine transformer 4 5 inverse discrete cosine transform of discrete cosine transform coefficient K 3 given from inverse quantizer 4 4, and obtained first macroblock data D 11 1 to adder 4 6 To send to.
- the adder 46 receives the first macroblock data D 11 at this time, and since no data is supplied from the motion compensator 39, the first The macro block data D 11 is sent as it is to a reference frame memory 47 having a recording capacity of a plurality of frames and stored.
- the adder 46 receives the first macroblock data D 11 sequentially from the inverse discrete cosine transformer 45 by compression encoding of the first frame image data.
- the first macroblock data D 11 in the reference frame memory 47 serves as a reference for the motion compensation processing. 1st file Reconstruct the frame image data.
- the computing unit 38 When all the first macroblock data D 2 in the first frame image data are read from the input frame memory 32, the computing unit 38 reads the second macro block data D 2 in the input frame memory 32.
- the frame image data is sequentially read in units of the second macroblock data D4 as a coding target.
- the motion compensator 39 performs a motion compensation process based on the corresponding prediction mode data D 5 (representing forward prediction coding) read from the motion vector buffer 36, and From step 7, the first or second frame image data adjacent on the forward side (temporally past) to the second frame image data to be encoded at this time is read out for reference.
- the motion compensator 39 generates the first or second frame image for reference based on the motion vector D7 of the corresponding second macroblock data D4 given from the motion vector buffer 36.
- the operation block data D 12 that most closely matches the second macroblock data D 4 is extracted from the data and sent to the operation unit 38 and the adder 46.
- the arithmetic unit 38 reads the second macroblock data D4 from the input frame memory 32, it reads the arithmetic macroblock data D12 given from the motion compensator 39 at this time. Is subtracted from the macroblock data D4, and the obtained difference data D13 is sent to the discrete cosine transformer 40.
- the discrete cosine transformer 40 performs a discrete cosine transform on the difference data D 13 given from the arithmetic unit 38, and sends out the obtained discrete cosine transform coefficient K 4 to the quantizer 41.
- the quantizer 41 corresponds to the corresponding quantization step ST in which the discrete cosine transform coefficient K 4 given from the discrete cosine transformer 40 is selected in the same manner as when the first macroblock data is processed. , And sends the obtained quantization coefficient K5 together with the quantization step ST to the variable length encoder 43 and the inverse quantizer 44.
- the variable-length encoder 43 encodes the quantization coefficient K5 given from the quantizer 41 by variable-length coding using a Huffman code or the like, and the quantization step given from the quantizer 41.
- the corresponding prediction mode data D 5 and the motion vector D 7 read from the ST and the motion vector buffer 36 are also variable-length coded, and the obtained coded data D 14 is temporarily stored in the buffer 42. And outputs it to the outside as an encoded bit stream BS1 in which the encoded data amount is smoothed.
- the second frame image data in the input frame memory 32 can be sequentially compression-encoded by forward prediction encoding in units of the second macroblock data D4. It has been made like that.
- the inverse quantizer 44 inversely quantizes the quantization coefficient K5 given from the quantizer 41 based on the quantization step ST also given from the quantizer 41, and obtains The discrete cosine transform coefficient K 6 is sent to the inverse discrete cosine transformer 45. Further, the inverse discrete cosine transformer 45 performs an inverse discrete cosine transform of the discrete cosine transform coefficient K 6 given from the inverse quantizer 44, and outputs the obtained difference data D 15 to the adder 46. I do.
- the adder 46 receives the difference data D 15 from the inverse discrete cosine transformer 45, and receives the operation block data D 13 from the motion compensator 39 at this time. 15 and the calculation block data D 13 are calculated in calories, and the obtained second macro block data D 16 is sent to the reference frame memory 47 for storage.
- the adder 46 generates the difference data D 15 each time the difference data D 15 is given from the inverse discrete cosine transformer 45 by the compression encoding of the second frame image data, and
- the second macroblock data D16 is generated by adding the corresponding operation block data D13, and the generated second macroblock data D16 is transmitted to the reference frame memory 47.
- the second macroblock data D16 is used to reconstruct the second frame image data for reference in the motion compensation processing.
- the moving picture data D1 is compressed and coded by the intra-frame predictive coding for the I picture in the unit of frame picture data, and A picture is compressed and coded by forward prediction coding using an I picture or P picture one frame past in the past, and the obtained coded bit stream BS1 can be output to the outside. . ,
- the motion vector detector 35 is configured to detect the motion vector for each second macroblock data D 4 for one frame.
- the encoding target is calculated using the prediction error calculated between each of the second macroblock data D4 and the first or second frame image data D6 for reference.
- Sum of the absolute values of the differences between the pixel value of each pixel of the second frame image data of D and the corresponding pixel value of the first or second frame image data D 6 for reference (hereinafter, this is referred to as the inter-frame Calculates SH 1 and sends the calculated inter-frame correlation value SH 1 to frame structure converter 33.
- the frame structure converter 33 transmits the first and second frame image data to be encoded to the respective distribution destinations based on the inter-frame correlation value SH1 given from the motion vector detector 35.
- the data storage amount DR in the buffer 42 is, for example, the first and second frames of one frame.
- the second frame image data is detected at a predetermined cycle every time the second frame image data is compression-encoded, and the detected data storage amount DR is set to a predetermined first threshold and a second threshold smaller than the first threshold. Is compared with the threshold value. As a result, if the data accumulation amount DR is a value within the range from the first threshold to the second threshold, the frame structure converter 33 detects the data accumulation amount DR at the time of detecting the data accumulation amount DR.
- the frame structure converter 33 compresses and encodes the first or second frame image data when the data storage amount DR is detected.
- the buffer 42 overflows and the It is determined that the quality of the moving image is reduced at the destination according to the change in the compression ratio.
- the frame structure converter 33 outputs the first and second frame images for a predetermined number of frames to be encoded following the first or second frame image data currently being compressed and encoded. Select and compress the first and second frame image data for the specified number of frames based on the amount of coded prediction data for the data and the bit rate of the coded bit stream BS1 output from the buffer 42. Estimate the data storage amount DR when performing compression encoding at a rate.
- the frame structure converter 33 obtains 1 or 2 from the first and second frame image data for a predetermined number of frames.
- the frame rate of the moving image data D1 is reduced by selecting a plurality of second frame image data and thinning out the selected second frame image data from the input frame memory 32 so that they cannot be read out. Change.
- the frame structure converter 32 includes the data storage amount DR together with the encoded data amount obtained from the first or second frame image data due to a sudden change in the picture pattern of the moving image based on the moving image data D1. Even if the number of frame image data to be compressed and encoded per unit time is reduced by reducing the frame rate of the moving image data D1 based on the increased data storage amount DR even when the It is possible to prevent the data storage amount DR from increasing rapidly by reducing it, thereby preventing the compression ratio from suddenly increasing and preventing the image quality of the moving image from suddenly deteriorating. Has been made.
- the frame structure converter 33 calculates the encoded prediction data amount of the first and second frame image data for a predetermined number of frames.
- the compression ratio is relatively high over a plurality of frames because the number of first and second frame image data to be compression-coded per unit time is reduced in advance. It is possible to prevent the image quality of a moving image from deteriorating over a plurality of frames.
- the frame structure converter 33 detects the data storage amount DR of the buffer 42 even if the frame rate of the moving image data D1 is reduced in this way, and the detected data storage amount DR If the value is smaller than the threshold value of 2, it is determined that the desired image quality of the moving image can be maintained at the destination even if the first and second frame image data to be encoded are increased and compression-encoded.
- the frame structure converter 33 generates the first and second frames for a predetermined number of frames to be encoded following the first or second frame image data currently being compressed and encoded.
- Image data first and second frame image data remaining after thinning
- the first and second frame image data for the predetermined number of frames are calculated based on the data encoding prediction data amount and the bit rate of the encoded bit stream BS1 output from the buffer 42. Estimate the data storage amount DR when the second frame image data thinned out in the above is compression-coded at the selected compression ratio.
- the frame structure converter 33 has already decimated between the first and second frame image data for a predetermined number of frames.
- the second frame image data One or a plurality of second frame image data is selected, and the selected second frame image data is made readable from the input frame memory 32 to cancel the decimation.
- the frame rate was changed so that it did not exceed the predefined frame rate.
- the frame structure converter 33 stores the data together with the encoded data amount obtained from the first or second frame image data due to a sudden change in the picture pattern of the moving image based on the moving image data D1. Even when the amount DR decreases, the number of first and second frame image data to be compression-encoded per unit time by increasing the frame rate of the moving image data D1 based on the reduced data accumulation amount DR The data storage amount DR can be increased within the range of the first and second threshold values by increasing the number of frames. Thus, the frame image data of the moving image data D1 is thinned out more than necessary, and the image quality of the moving image is reduced. Is prevented from fluctuating beyond the desired image quality.
- the frame structure converter 33 when increasing the frame rate of the moving image data D 1, the frame structure converter 33 as well as the first and second frame image data for a predetermined number of frames and the predetermined frame, the pattern in the moving image based on the moving image data D1 is used. Even when the change of the frame rate is relatively stable over a plurality of frames (that is, when the inter-frame correlation value SH1 between consecutive frame image data is relatively high), the compression code per unit time is determined in advance. The number of the first and second frame image data to be converted is increased to prevent the moving image data D1 from being thinned out more than necessary over a plurality of frame image data.
- the frame structure converter 33 when lowering the frame rate of the moving image data D1, the frame structure converter 33 keeps the coded bit by leaving the first frame image data. At the time of decoding the stream BS1, the moving picture data D1 can be properly decoded. Further, when thinning out a plurality of frame image data from the moving image data D1 in accordance with a change in the frame rate, the frame structure converter 33, for example, thins out the second frame image data every other frame to thereby obtain the moving image data. It is possible to prevent the continuity of a moving image based on D1 from being significantly impaired.
- the motion vector of each macroblock data D4 is detected using the thinned-out second frame image data as a reference, so that the motion vector needs to be re-detected.
- the frame structure converter 33 thins out one or more second frame image data every other frame from the continuous first and second frame image data of the moving image data D1, the thinning is performed.
- the frame identification information of the second frame image data (hereinafter, this is particularly referred to as “thinned-out frame image data”) (hereinafter, this is particularly referred to as “thinned-out frame identification information”) is obtained.
- the frame identification information of the second frame image data that requires re-detection of the motion vector (hereinafter referred to as re-detected frame image data in particular) (hereinafter referred to as re-detected frame identification information)
- re-detected frame identification information a motion vector redetection flag FG1 indicating that re-detection of the motion vector by thinning is required.
- the motion vector re-detector 48 receives the motion vector re-detection flag FG 1 from the frame structure converter 33 as shown in FIG.
- the redetected frame image data is read based on the read picture information.
- generating prediction mode data D5 indicating that the re-detected frame image data is to be sequentially compression-encoded by forward prediction encoding in units of second macroblock data D4.
- the motion vector re-detector 48 sequentially outputs the re-detected frame image data indicated by the re-detected frame identification information specified by the motion vector re-detection flag FG 1 from the input frame memory 32 to the second frame.
- the macroblock data D4 is read out in units, and the first or second frame image data D6 that is newly adjacent in the forward direction by thinning out the redetected frame image data is read out for reference.
- the motion vector re-detector 48 like the motion vector detector 35 described above, uses the block matching method to reference the second macroblock data D4 to the first or second frame image data for reference.
- Approximate block data having a minimum prediction error is detected while sequentially associating with a plurality of comparison block data within the predetermined search range of D6, and a dynamic between the detected approximate block data and the second macroblock data D4 is detected.
- the movement vector D17 of the second macroblock data D4 is detected based on the movement amount.
- the motion vector re-detector 48 generates the prediction mode data D 5 for the re-detected frame image data, and sets each second macro block data D 4 in the re-detected frame image data.
- the prediction mode data D5 and each motion vector D17 are associated with each other and sent to the motion vector buffer 36 to be accumulated.
- These prediction mode data D 5 and each motion vector D 17 are made readable from the vector buffer 36 by the motion compensator 39 and the variable length encoder 43.
- the motion vector re-detector 48 stores the prediction mode data D 5 and each motion vector D 17 in the motion vector buffer 36, the motion vector re-detection flag FG Based on the specified re-detected frame identification information and thinned-out frame identification information, the prediction mode data D 5 and the motion vector D 7 before re-detection of the re-detected frame image data from the motion vector buffer 36, The prediction mode data D5 and the motion vector D7 of the thinned-out frame image data are set in an unreadable state.
- the frame structure converter 33 increases the frame rate of the moving image data D1.
- the re-detection frame identification information of the re-detected frame image data in which the motion vector is re-detected by the thinning-out frame image data and the thinning-out operation for canceling the thinning-out is generated and transmitted to the motion vector re-detector 48.
- the motion vector redetector 48 detects the redetection frame specified by the motion vector redetection flag FG2.
- the prediction mode data D 5 and the motion vector D 17 re-detected for the re-detected frame image data from the motion vector buffer 36 based on the identification information and the thinning-out cancellation frame identification information cannot be read. And make the prediction mode data D 5 and the motion vector D 7 before re-detection of the re-detected frame image data and the prediction mode data D 5 and the motion vector D 7 of the thinned-out frame image data readable. .
- the motion vector re-detector 48 detects the motion vectors D 7 and D 17 of each of the first and second frame image data even when the frame rate of the moving image data D 1 is changed. It can be used to accurately perform compression encoding.
- the procedure of the compression encoding of the moving image data D 1 by the frame rate change processing unit 31, the motion vector detection processing unit 34, and the compression encoding unit 37 of the video encoding device 30 is summarized.
- the motion vector detection processing section 34 starts from the start step of the routine RT1 and proceeds to step SP1.
- step SP1 the motion vector detection processing section 34 reads the second frame image data sequentially from the input frame memory 32 by the motion vector detection circuit 35 in units of the second macroblock data D4.
- the first or second frame image data D6 for reference to the second frame image data is read out, and the first or second frame image data for reference is read out by the picking method.
- the motion vector D7 of each of these second macroblock data D4 is detected, and the detected motion vector D7 is stored in the motion vector buffer 36 so that each of the second frames for one frame is When the motion vector D4 of the macroblock data D4 is detected, the process proceeds to step SP2.
- step SP2 the motion vector detection processing unit 34 calculates the prediction error calculated when the motion vector detector 35 detects the motion vector D7 of each second macroblock data D4. Calculate the inter-frame correlation value SHI between the second frame image data obtained by extracting each of the second macroblock data D 4 and the first or second frame image data D 6 for reference. Then, the calculated inter-frame correlation value SHI is sent to the frame structure converter 33, and the routine goes to step SP3.
- step SP3 the motion vector detection processing unit 34 determines whether or not the motion vector re-detector 48 has changed the frame rate of the moving image data D1. In this step SP3, a negative result is obtained. Has not yet begun compression encoding of the first and second frame image data of the moving image data D1, or compresses and encodes the first and second frame image data sequentially at the selected compression ratio. At this time, the motion vector detection processing section 34 returns to step SP1 without executing the motion vector re-detection processing by the motion vector re-detector 48, and thereafter the moving image is detected.
- steps SP1_SP2—SP3 is cyclically repeated to sequentially execute the second macroblock data in the second frame image data.
- the motion vector D7 of the data D4 is detected, and the inter-frame correlation value SHI between the second frame image data and the reference first or second frame image data D6 is calculated. I do.
- the compression encoding unit 37 enters the step RT11 from the start step of the routine RT2 and moves to step SP11. 4 (actually, the motion vector detector 35), the second macroblock data D 4 for the second frame image data for a predetermined number of frames.
- the motion vector D7 of each macroblock data D4 in the second frame image data for the predetermined number of frames is detected, a step is taken. Move on to SP 12.
- the compression encoding unit 37 starts compression encoding of the first and second frame image data in the input frame memory 32, and includes a computing unit 38, a discrete cosine transformer 40,
- the quantized data D10 obtained by compressing and encoding the first frame image data by intra-frame encoding by the quantizer 41 and the variable-length encoder 43 is temporarily stored in the buffer 42,
- the encoded data D 14 obtained by compression encoding the second frame image data by forward prediction encoding using the motion vector D 7 read from the motion vector buffer 36 is stored in the buffer 42.
- the compression-encoded first or second frame image data is used as a reference frame by an inverse quantizer 4.4, an inverse discrete cosine transformer 45, an adder 46, and a motion compensator 39.
- Reference of motion compensation processing in memory 47 It proceeds to Step S P 1 3 rebuild as.
- step SP 13 the compression encoding unit 37 smoothes the encoded data amounts of the encoded data D 10 and D 14 once stored in the buffer 42, so that the encoded data D 10 and D 14 is output to the outside as the coded bit stream BS1, and the routine goes to step SP14.
- step SP 14 the compression encoding unit 37 determines whether the first and second encoding targets are to be encoded in accordance with the state of reading of the first and second frame image data from the input frame memory 32 by the arithmetic unit 38. It is determined whether or not all the frame image data has been compression-encoded. If all of the first and second frame image data to be encoded have not been compression-encoded, the process returns to step SP12.
- the compression encoding unit 37 continues to perform steps SP 12-SP 13-SP 14 until all the first and second frame image data to be encoded are compression-encoded.
- the first frame image data to be encoded is compression-encoded by intra-frame encoding
- the second frame image data to be encoded is encoded.
- the frame image data is compression-coded by forward prediction coding using the motion vector D7 read from the motion vector buffer 36, and the obtained coded data D10 and D14 are coded bit streams.
- the frame rate change processing unit 31 enters from the start step of the routine RT3 and moves to step SP21, where the frame structure converter 3 Based on the inter-frame correlation value SH1 given from the motion vector detector 35 by 3, the coding prediction data amount of the first or second frame image data is predicted, and the routine goes to step SP 22.
- step SP22 the frame rate change processing unit 31 determines whether or not the frame structure converter 33 has started compression encoding of the first and second frame image data. If the compression encoding of the second frame image data has not been started, the process returns to step SP21.
- the frame rate change processing unit 31 cyclically repeats the processing of steps SP 21 to SP 22 until the compression encoding of the first and second frame image data is started. , The encoded prediction data amounts of the first and second frame image data are sequentially predicted.
- the first and second frame image data are sequentially transferred from the input frame memory 32 to the first and second macroblock data D 2 and D 4 by the arithmetic unit 38.
- the compression encoding for the first and second frame quotient data is started in the compression encoding section 37 by being read out at step SP23, the process proceeds to step SP23.
- step SP23 the frame rate change processing unit 31 detects the data accumulation amount DR of the buffer 42 by the frame structure converter 33, and compares the detected data accumulation amount DR with the first threshold value and the second threshold value. By comparing with the threshold value, it is determined whether or not the data accumulation amount DR is a value within a range from the first threshold value to the second threshold value. Obtaining a positive result in step SP23 means that the first or second frame image following the first or second -frame image data which is compression-encoded at this point in time. This means that the data can be compressed and encoded at almost the selected compression rate.At this time, the frame rate change processing unit 31 does not change the frame rate of the moving image data D 1 as it is by the frame structure converter 33.
- the processing of steps SP21-SP22-SP23 is cyclically repeated until the frame rate of moving image data D1 needs to be changed.
- step SP23 it is necessary to change the frame rate of the moving image data D 1 because the data accumulation amount DR is a value outside the range from the first threshold to the second threshold. At this time, the frame rate change processing section 31 moves to step SP24.
- step SP 24 the frame rate change processing unit 31 determines whether or not the data storage amount DR is a value larger than the first threshold value by the frame structure converter 33.
- step SP24 Obtaining a positive result in step SP24 means that the data accumulation amount DR is a value larger than the first threshold value, so that the data amount following the first or second frame image data that is compression-encoded at this point in time is obtained. This means that the first or second frame image data is compression-encoded at a higher compression ratio than the selected compression ratio, which may degrade the quality of the moving image. 1 moves to step SP25.
- step SP 25 the frame rate change processing section 31 uses the frame structure converter 33 to perform coding prediction of a predetermined number of frame image data following the frame image data that has been compression-coded at this time.
- the change in the data storage amount DR is estimated based on the data amount and the bit rate of the coded bit stream BS1, and the frame is determined based on the estimated data storage amount DR and the first and second thresholds.
- the frame rate of the moving image data D 1 is reduced by thinning out the image data, and the motion vector re-detection flag FG 1 is sent to the motion vector re-detector 48 to move to step SP 26.
- step SP 24 means that the moving image data Although the frame rate is lowered by thinning out the second frame image data from D1, the data storage amount DR is smaller than the second threshold! / Means that the desired image quality for the moving image can be maintained even if the second frame image data is increased, and the frame rate change processing unit 31 proceeds to step SP27 at this time.
- step SP 27 the frame rate change processing unit 31 uses the frame structure converter 33 to output a predetermined number of frame image data following the frame image data that has been compression-encoded at this time and the predetermined frame. Based on the coded predicted data amount of the frame image data already decimated from several minutes of frame image data and the bit rate of the coded bit stream BS1, when these decimated frame image data are cancelled. Estimate the change in the data storage amount DR.
- the frame rate change processing unit 31 cancels the already thinned-out frame image data, thereby temporarily reducing the frame image data.
- the frame rate is increased so as not to exceed the specified frame rate, and the motion vector re-detection flag FG 2 is sent to the motion vector re-detector 48 to move to step SP 26.
- step SP 26 the frame rate change processing unit 31 uses the frame structure converter 33 to determine whether the arithmetic unit 38 reads the first and second frame image data from the input frame memory 32. Accordingly, it is determined whether or not all the first and second frame image data to be encoded have been compression-encoded, and all the first and second frame image data to be encoded have been compression-encoded. If not, return to step SP 21.
- the frame rate change processing unit 31 thereafter performs steps SP 21 -SP 22-23-SP-SP until all of the first and second frame image data to be encoded are compressed and encoded.
- SP 25 The frame rate of the moving image data D 1 while cyclically repeating the processing of SP 26 to predict the encoded prediction data amount of the first and second frame image data sequentially Is changed as appropriate.
- the motion vector detection processing unit 34 uses the motion vector redetection unit 48 based on the motion vector redetection flags FG 1 and FG 2 given from the frame structure converter 33. It is determined that the frame rate of the moving image data D1 has been changed, and the routine goes to step SP4.
- step SP 4 the motion vector detection processing unit 34 determines whether the motion vector D 17 needs to be re-detected by the motion vector re-detector 48 when the frame rate of the moving image data D 1 is changed. Determine whether or not.
- step SP4 Obtaining a positive result in step SP4 means that the thinning-out is performed based on the motion vector redetection flag FG1 given from the frame structure converter 3 due to the reduction in the frame rate of the moving image data D1.
- the motion vector detection processing unit 3 4 moves to step SP5, the motion vector re-detector 48 detects again the motion vector D17 of each second macroblock data D4 in the redetected frame image data, and proceeds to step SP6. Move on.
- step SP6 the motion vector detection processing unit 34 controls the motion vector buffer 36 based on the motion vector redetection flag FG1 by the motion vector redetector 48 to detect the motion detected again.
- a state in which the vector D17 is accumulated and the motion vector D7 before redetection of the redetected frame image data and the motion vector D7 of the thinned frame image data cannot be read. And proceed to step SP7.
- step SP4 means that it is not necessary to re-detect the motion vector D17 because the frame rate of the moving image data D1 has been increased.
- the vector detection processing unit 34 proceeds to step SP6.
- step SP6 the motion vector detection processing section 34 outputs the motion vector redetection signal given from the frame structure converter 3 by the motion vector redetector 48.
- the motion vector buffer 36 By controlling the motion vector buffer 36 based on the lag FG 2, the motion vector D 17 that has been re-detected from the re-detected frame image data is set to a state in which it cannot be read, and the re-detected frame is detected.
- the motion vector D 7 before re-detection of the image data and the motion vector D 7 of the thinned-out frame image data from which the thinning has been canceled are made readable, and the process proceeds to step SP 7.
- step SP7 the motion vector detection processing unit 34 uses the motion vector detector 35 to perform the first and second processing on all the first and second frame image data in the input frame memory 32. It is determined whether or not the motion vectors of the macro block data D2 and D4 of the first and second frame image data in all the first and second frame image data in the input frame memory 32 are detected. If the motion vectors of the macroblock data D2 and D4 of No. 2 have not been detected, the process returns to step SP1.
- the motion vector detection processing section 34 generates the first and second frame images for detecting the motion vectors of the first and second macroblock data D 2 and D 4 in the input frame memory 32. While the data is being acquired, the processing in steps SP 1—SP 2—SP 3—SP 4—SP 5—SP 6—SP 7 is repeated cyclically, so that the first frame in the input frame memory 32 And the motion vectors D7 of the first and second macroblock data D2 and D4 in the second frame image data are sequentially detected, and the second macroblock data in the re-detected frame image data are detected. The motion vector D 17 of the data D 4 is detected again as appropriate.
- step SP7 the motion vector detection processing section 34 outputs the first and second macroblock data D2 and D2 in all the first and second frame image data in the input frame memory 32.
- the process proceeds to step SP8.
- step SP8 the motion vector detection processing unit 34 encodes the motion vectors D7 and D17 from the motion vector buffer 36 by the motion compensator 39 in accordance with the state of reading. It is determined whether all the first and second frame image data to be encoded have been compression-encoded, and the compression encoding of the first and second frame image data has been completed. If not, return to step SP3.
- the motion vector detection processing unit 34 thereafter performs steps SP 3-SP 4 -SP 5 -SP 6 until all the first and second frame image data to be encoded are compression-encoded. Re-detection by cyclically repeating the processing of -SP 7-SP 8 The motion vector D 17 of each second macroblock data D 4 in the frame image data is re-detected as appropriate.
- the compression encoding unit 37 cyclically performs the processing of steps SP12 to SP13 to SP14 until all the first and second frame image data to be encoded are compression-encoded.
- the second frame image data to be encoded is Using the motion vector D 17 read from the motion vector buffer 36, compression encoding is performed by forward prediction encoding.
- step SP 14 If the compression encoding unit 37 determines in step SP 14 that all of the first and second frame image data to be encoded have been compression-encoded, the process proceeds to step SP 15 and the compression encoding The processing procedure in the unit 37 ends.
- the frame rate change processing unit 31 compresses and encodes all the first and second frame image data to be encoded in step SP26.
- the processing procedure of the frame rate change processing section 31 is terminated by moving to step SP28, and the motion vector detection processing section 34 also determines the first and second encoding targets in step SP8. It is determined that all of the frame image data has been compression-encoded, and the process proceeds to step SP9 to terminate the processing procedure of the motion vector detection processing unit 34.
- the moving image data D in the moving image encoding device 30 All the compression encoding processing procedures of 1 are ended.
- the moving picture data D1 supplied from the outside is sequentially taken into the input frame memory 32 in units of frame picture data, and taken into the input frame memory 32.
- Frame image data Assign pictures and P pictures in a predetermined order.
- the motion vector detector 35 sequentially reads out the second frame image data in the input frame memory 32 in units of second macro block data D4.
- the motion vector D7 of each of the read second macroblock data D4 is detected.
- the moving picture coding apparatus 30 sequentially reads out the first frame picture data from the input frame memory 32 in units of the first macroblock data D 2 by the compression coding section 37 and performs intra-frame coding.
- the obtained encoded data D 10 is temporarily stored in the buffer 42, and the second frame image data is sequentially transferred from the input frame memory 32 to the second macroblock data D 4.
- the data is read out in units and compressed and coded by forward prediction coding using the corresponding motion vector D7, and the obtained coded data D14 is temporarily stored in the buffer 42, and the coded data from the buffer 42 is stored.
- D10 and D14 are output to the outside as an encoded bit stream BS1. '
- the data in the buffer 42 is transmitted by the frame structure converter 33.
- the storage amount DR is periodically detected and compared with the first and second thresholds.
- the frame rate of the moving image data D1 is reduced.
- the frame rate of the moving image data D 1 is increased by increasing the frame rate of the moving image data D 1.
- the frame rate of 1 is changed according to the data storage amount DR.
- the moving picture coding apparatus 30 the coding obtained from the first and second frame picture data due to a sudden change in the picture pattern of the moving picture based on the moving picture data D1 to be distributed. Even if the amount of data increases, the frame rate of the moving image data D 1 should be reduced appropriately to reduce the number of second frame image data to be compressed and encoded per unit time, so that the data storage amount DR increases and compression rate sharply increases It is possible to prevent the image quality from becoming too high beforehand, and thus it is possible to prevent a rapid deterioration in the image quality of the moving image.
- the change in the picture pattern of the moving picture based on the moving picture data D1 sharply decreases while the frame rate of the moving picture data D1 to be distributed is lowered. Therefore, even if the amount of encoded data obtained from the first and second frame image data decreases, the frame rate of the moving image data D1 should be increased to compress and encode per unit time.
- the second frame image data of the moving image data D1 is thinned out more than necessary, and the data storage amount DR is kept low. Therefore, it is possible to appropriately prevent the image quality of the moving image from temporarily becoming higher than the desired image quality and fluctuating.
- the data storage amount of the buffer 42 representing the encoded data amount of each of the encoded data D 10 and D 14. Since the frame rate is appropriately changed according to the DR, the image quality of the moving image provided to the user can be stabilized.
- the moving image coding apparatus 30 can perform the first and / or second processing for a predetermined number of frames to be coded from this time.
- the video data D 1 is obtained by thinning out one or a plurality of second frame image data from the first and / or second frame image data for the predetermined number of frames by using the encoded prediction data amount of the frame image data.
- the compression rate is relatively high over a plurality of frames even when the moving image pattern based on the moving image data D1 moves relatively violently over a plurality of frames. Thus, it is possible to prevent the image quality of the moving image from deteriorating over a plurality of frames.
- the video encoding device 30 when the data storage amount DR is 1 /, which is smaller than the second threshold, and when the data storage amount DR is a value, the first and / or the number of frames corresponding to the predetermined number of frames to be encoded from this point in time.
- the moving picture coding apparatus 30 uses the coded data amounts of the first and second frame picture data for a predetermined number of frames to change the frame rate of the moving picture data D1 in this manner.
- the data storage amount DR is sequentially reduced while the first and second frame image data are compression-encoded with the frame rate changed in this way. Since the detection and monitoring of the state of compression encoding are monitored, for example, since the prediction accuracy of the encoded prediction data amount is relatively low, the encoded prediction data amount and the encoded data amount when compression encoding is actually performed are different. Even when the frame rate is different, it is possible to easily and accurately correct the once changed frame rate in accordance with the desired image quality of the moving image.
- the moving image data D1 supplied from the outside is compression-encoded sequentially in the first and second frame image data units, and the obtained encoded data D10 and D14 are buffered. 42, the data storage amount DR of the buffer 42 is periodically detected while being output to the outside as a coded bit stream BS1 in which the coded data amount is stored and smoothed, and the data storage amount DR
- the frame rate of the moving image data D 1 is changed according to the change of the moving image data D 1, so that the compression encoding per unit time according to the change of the moving image pattern based on the moving image data D 1 to be distributed is performed.
- the number of 1st and 2nd frame image data can be changed accurately to stabilize the compression ratio and stabilize the image quality of the moving image.
- a video encoding device that can Door can be.
- the moving image data D 1 supplied from the section is sequentially taken into the input frame memory 32 in units of frame image data, and the I-picture and the P-picture are added to the frame image data taken into the input frame memory 32 in a predetermined manner.
- the case where allocation is performed in order has been described.
- the present invention is not limited to this.
- the frame image data sequentially taken into the input frame memory 32 has Picture, P picture and B picture may be assigned.
- the first frame image data of the second frame is used for reference for frame image data to which the first B picture is assigned (hereinafter, this is referred to as third frame image data).
- Compression encoding by bidirectional prediction encoding using the adjacent first or second frame image data for reference Can be.
- the second frame image data can be compression-encoded by forward prediction encoding using the closest first or second frame image data on the forward side for reference.
- the third frame of the third frame in a state where the I picture, the P picture and the B picture are assigned to the frame image data in the input frame memory 32
- the frame rate of the moving image data D1 is changed by thinning out the image data and the second frame image data of the fifth frame
- the third frame image data of the third frame is changed to the forward side according to the thinning. Since it is not used for referencing the first and second frame image data in the forward and reverse directions, each of the first and second frame image data in the forward and reverse directions is used. Redetect the motion vectors of the first and second macroblock data Need not be.
- the third frame image data (the fourth frame) in the forward direction and the third and second frame image data (6 Frame 7 and Frame 7).
- the second frame image data of the seventh frame on the opposite side is used as a reference, and the motion vector on the opposite side of each macroblock data is used.
- the second frame image data of the third frame in the forward direction is used as a reference, and the forward motion vector of each macro block data is used as a reference.
- the forward motion vector of each second MAC port block data is used using the second frame image data of the third frame in the forward direction. Should be detected.
- the motion vector re-detector 48 re-detects the frame.
- the motion vector D 17 of each second macro block data D 4 of the image data is re-detected by the block matching method
- the present invention is not limited to this.
- the motion vector D7 detected in advance of each second macroblock data D4 in each second macroblock data D4 is the motion of each second macroblock data D4 in the thinned-out frame image data adjacent to the re-detected frame image data.
- each second macroblock data D4 is compression-coded by forward prediction coding
- the present invention is not limited to this, and the variance value of each second macroblock data D4 is used.
- compression coding may be performed by either intra-frame coding or forward prediction coding.
- each of the first and second frame image data D 6 for reference read from the input frame memory 32 by the motion vector re-detector 48 is used for each second.
- the case where the motion vector D 17 of the macroblock data D 4 of FIG. 2 is detected again has been described.
- the present invention is not limited to this, and the motion vector re-detector detects the reference frame memory 4 7.
- the first and second frame image data for reference may be read out from the second macroblock data D4 to re-detect the motion vector D17 of each second macroblock data D4.
- the motion vector D17 when the motion vector D17 is re-detected, the first and second frames having the block noise and the like generated by the compression encoding are decoded and reconstructed once after compression encoding.
- the image data can be used, and the detection accuracy of the motion vector D17 can be improved.
- the frame rate of the moving image data D1 is changed according to the data storage amount DR of the buffer 42 and the encoded prediction data amount has been described.
- the present invention is not limited to this, and the frame rate of the moving image data D1 may be changed according to the data accumulation amount DR of the buffer 42.
- the frame rate of the moving image data D1 may be changed according to the data accumulation amount DR of the buffer 42.
- FIG. 10 in which parts corresponding to those in FIG. 2 are assigned the same reference numerals, shows a video encoding device 60 according to the second embodiment, and the frame structure converter 62 of the frame rate change processing unit 61
- the configuration is the same as that of the video encoding device 30 according to the first embodiment, except for the configuration of the motion vector detection processing unit 63.
- the frame structure converter 6 2 of the frame rate change processing unit 6 1 As described above, each time frame image data is fetched into the input frame memory 32, the picture types of the I picture and the P picture are assigned to the fetched frame image data, and the picture types representing the I picture and the P picture are assigned. The frame and the frame identification information unique to the frame image data to which these are assigned are recorded in the input frame memory 32 as picture information.
- the simple motion vector detector 64 in the motion vector detection processing unit 63 receives the assigned I-picture.
- the picture information of the first frame image data is read, the prediction mode data D3 is generated based on the read picture information, and the generated prediction mode data D3 is transmitted to the simple motion vector buffer 65. Accumulate.
- the simple motion vector detector 64 outputs the second frame image data assigned to the P picture.
- the picture information of the first or second frame image data D6 for reference adjacent to the second frame image data in the forward direction is read.
- the simple motion vector detector 64 displays the frame identification information of the corresponding second frame image data to be encoded based on the picture information as the frame identification information to be encoded and the first or second reference frame.
- the frame identification information of the second frame image data D6 is represented as reference frame identification information, and the second frame image data to be encoded is sequentially forward-coded by the second macroblock data D4 in units of four.
- prediction mode data D 20 indicating that compression encoding is to be performed.
- the simple motion vector detector 64 sequentially outputs the second frame image data to be encoded based on the picture information from the input frame memory 32 in units of second macroblock data D 4.
- the first or second frame image data D6 for reference is read.
- the simple motion vector detector 64 is shown in FIGS. 11 (A) and 11 (B).
- the original image is defined as the uppermost layer (hereinafter referred to as the first layer), and an image obtained by reducing the resolution of the original image and lowering the resolution is defined as an image below the original image.
- the simple motion vector detector 64 converts the second macroblock data D 4 to, for example, about 1 Z 4 in the second layer lower than the first layer of the original image level by the hierarchical search motion vector detection method.
- hierarchical second macroblock data hereinafter referred to as hierarchical macroblock data
- first or second hierarchical reference block is similarly generated.
- the first or second frame image data for hierarchical reference hereinafter, referred to as hierarchical frame image data
- D 2 is reduced by reducing the frame image data D 6 to, for example, about 1 Z 4 to reduce the resolution.
- the simple motion vector detector 64 compares the hierarchical macroblock data D 21 with the plurality of hierarchical frame image data D 22 within a relatively wide search range by the block matching method.
- a motion vector hereinafter, referred to as a low-resolution motion vector
- the simple motion vector detector 64 increases the low-resolution motion vector D 23 to, for example, four times the resolution of the second macroblock data D 4 (that is, the resolution of the original image).
- the simple motion vector D 24 of the second hierarchy for the second macro block data D 4 is detected.
- the simple motion vector detector 64 converts the prediction mode data D 20 for the second frame image data to be encoded in the input frame memory 32 and the simple macro block data D 4 for each second. Move the motion vector D 2 4 It is sent to the vector buffer 65 and stored.
- the simple motion vector detector 64 similarly performs the prediction mode data D 3.
- Generate D20 detect the simple motion vector D24 of each second macroblock data D4, and store them in the simple motion vector buffer 65.
- the simple motion vector detector 64 outputs the hierarchical macro block data D 21.
- the second frame image data to be hierarchically encoded ie, the second frame image data constructed by the hierarchical macroblock data D21
- an inter-frame correlation value SH 2 between the frame image data (2) and the reference frame image data is calculated, and the calculated inter-frame correlation value SH 2 is sent to the frame structure converter 62.
- the frame structure converter 62 selects the first and second frame image data to be encoded based on the inter-frame correlation value SH2 given from the simple motion vector detector 64, respectively, at the selected compression ratio.
- the amount of coded data D10 and D14 obtained when compression coding is performed is predicted.
- the simple motion vector detector 64 uses the prediction error between the hierarchical macroblock data D21 and the hierarchical frame image data providing server data D22 with the number of pixels reduced compared to the original image. By calculating the inter-frame correlation value SH2 in this way, the amount of calculation for the inter-frame correlation value SH2 can be significantly reduced.
- the frame structure converter 62 also calculates the amount of encoded prediction data based on the inter-frame correlation value SH 2 having a smaller amount of information than the inter-frame correlation value SH 1 (FIG. 2) at the original image level. The amount of calculation when calculating the coded prediction data amount can be significantly reduced.
- the frame structure converter 62 converts the first and second frame images to be encoded.
- the data storage amount DR of the buffer 42 is detected at a predetermined cycle, as in the case described above with reference to FIG. 2, and the moving image data is determined in accordance with the detected data storage amount DR. Change the frame rate of D1.
- the arithmetic unit 38 outputs the data from the input frame memory 32.
- the first frame image data to be encoded is read out in units of the first macroblock data D2
- the first frame image data is read out based on the corresponding picture information in the input frame memory 32.
- a control flag CF 1 representing the frame identification information as the encoding target frame identification information is generated and sent to the motion vector detector 66.
- the frame structure converter 62 2 Based on the corresponding picture information in the memory 32 and the picture information of the first or second frame image data D6 which is used as a reference for the second frame image data, the second picture to be encoded is stored.
- the control flag CF indicates the frame identification information of the first frame image data of the first frame image data as the encoding target frame identification information, and indicates the frame identification information of the first or second frame image data D6 for reference as the frame identification information for reference. 2 is generated and sent to the motion vector detector 66.
- the frame structure converter 62 converts the first or second frame image data for reference used when detecting the simple motion vector D 24 with respect to the second frame image data to be encoded. Is not thinned out for changing the frame rate (including the cancellation of thinning out), the second frame image data to be coded and the first or second frame image data D6 for reference thereof are directly corresponded. Then, a control flag CF2 is generated.
- the frame structure converter 62 converts the first or second frame for reference used when detecting the simple motion vector D 24 with respect to the second frame image data to be encoded.
- the frame image data D6 is thinned out for changing the frame rate, a new second frame image data is replaced with a new first frame image data instead of the thinned first or second frame image data.
- the control flag CF2 is generated by associating the first or second frame image data D6 for reference.
- the frame structure converter 62 thins out the second frame image data to be coded along with the change of the frame rate of the moving image data D 1, so that the arithmetic unit 38 can read the data from the input frame memory 32.
- the frame identification information of the second frame image data is represented as thinned-out frame identification information, and a control flag CF3 indicating that the second frame image data is thinned out is generated. Transmit to vector detector 6.
- the frame structure converter 62 sequentially controls the control flags CF1, CF2, and CF3 in accordance with the compression encoding order for the first and second frame image data to be encoded. It is generated and sent to the motion vector detector 66.
- the motion vector detector 66 performs the compression encoding of the first and second frame image data to be encoded.
- the prediction mode data D 3 and D 20 are sequentially read from the simple motion vector buffer 65.
- the motion vector detector 66 reads the prediction mode data D 3 and D 20 from the simple motion vector buffer 65, the coding vector obtained based on the prediction mode data D 3 and D 20 The target frame identification information and the reference frame identification information are then converted to the coding target frame identification information obtained based on the corresponding control flags CF1, CF2, and CF3 given from the frame structure converter 62. And reference frame identification information and thinned frame identification information.
- the motion vector detector 66 reads the prediction mode data D 3 for the first frame image data from the simple motion vector buffer 65, as described above with reference to FIGS. 5A to 5C.
- the first frame image data is excluded from the target of thinning, and the prediction mode data D 3 and the control flag C Since the encoding target frame identification information obtained based on F1 matches each other, it is determined that the first frame image data is not interlaced I, and the prediction mode data D3 is changed to the motion compensator 39 and the variable. It is sent to the long encoder 43.
- the motion vector detector 66 reads out the prediction mode data D 20 for the second frame image data from the simple motion vector buffer 65, the prediction mode data D 20 and the corresponding control flag If the encoding target frame identification information obtained based on CF2 and the reference frame identification information match each other, the second frame image data is associated with the second frame image data when the simple motion vector D24 is detected. It is determined that the first or second frame image data D 6 for reference has not been thinned out, and the simple motion vector associated with the prediction mode data D 20 from the simple motion vector buffer 65. Read D24.
- the motion vector detector 66 sequentially reads the second frame image data to be encoded from the input frame memory 32 based on the control flag CF2 in units of the second macroblock data D4. At the same time, the first or second frame image data D6 for reference is also read.
- the motion vector detector 66 converts the first or second frame image data D 6 for reference by the block matching method in the first layer by the hierarchical search motion vector detection method.
- a significantly narrower search range is set around the end point of the simple motion vector D24, and prediction is performed while sequentially associating a plurality of comparison block data with the second macroblock data D4 within the search range. Calculate the error.
- the motion vector detector 66 calculates the original image level based on the amount of motion between the comparison block data used when calculating the minimum prediction error among the calculated prediction errors and the second macroblock data D4.
- a motion vector for correcting the simple motion vector D 24 (hereinafter, referred to as a correction motion vector) D 25 is detected, and the detected correction motion vector D 25 is detected by the simple motion vector.
- the final motion vector D 26 of the first layer for the second macro block data D 4 is obtained by adding It is generated and sent to the motion compensator 39 'and the variable length encoder 43 together with the prediction mode data D20.
- the motion vector detector 66 reads the prediction mode data D 20 for the second frame image data from the simple motion vector buffer 65, the prediction mode data D 20 and the control flag CF Although the encoding target frame identification information obtained based on 2 matches, but the reference frame identification information does not match, when the simple motion vector D 24 is detected for the second frame image data, The simple motion vector buffer 65 determines that only the associated reference first or second frame image data has been thinned out, and the simple motion vector buffer D 65 is associated with the prediction mode data D 20. The re-detection process of the motion vector D 26 for the second frame image data to be encoded is started without reading the motion vector D 24.
- the motion vector detector 66 is The second frame image data to be encoded is sequentially read from the input frame memory 32 based on the control flag CF 2 in units of the second macroblock data D 4, and the frame structure converter 62 also reads out the second frame image data.
- the newly associated reference first or second frame image data D6 is read.
- the motion vector detector 66 is the same as the case described above with reference to FIGS. 11 (A) and (B) and FIG. 12, in the second layer by the hierarchical search motion vector detection method. After detecting the simple motion vector D 24 of the macroblock data D 4 of 2, the motion vector D 26 of the final original image level for the second macro block data D 4 is generated in the first layer. .
- the motion vector detector 66 adds new reference frame identification information obtained based on the control flag CF2 to the prediction mode data D20 instead of the reference frame identification information stored in advance. By storing it, the prediction mode data D 27 whose contents have been modified in accordance with the re-detection of the motion vector D 26 is generated, and the generated prediction mode data D 27 together with the motion vector D 26 are used as a motion compensator. 3 9 and possible It is sent to the variable length encoder 43.
- the motion vector detector 66 reads the prediction mode data D 20 for the second frame image data from the simple motion vector buffer 65, the second frame image data is thinned out.
- the encoding target frame identification information and the thinned-out frame identification information obtained based on the prediction mode data D20 and the control flag CF3 match each other, but the second based on the control flag CF3.
- the simple motion vector D24 associated with the prediction mode data D20 is not read out from the simple motion vector buffer 65 by detecting t ⁇ i.
- the motion vector detection process for the second frame image data is postponed.
- the motion vector detector 66 generates the motion vector D 2 for the second frame image data to be encoded according to the change in the frame rate of the video data D 1 by the frame structure converter 62. It is designed to accurately detect (including re-detection) 6.
- the compression encoding process of the video data D 1 by the frame rate change processing unit 61, the motion vector detection processing unit 63, and the compression encoding unit 37 of the video encoding device 60 is shown in Figs. 13 (A) and 14 (A), where the same reference numerals are given to the corresponding parts in Figs. 6 (A) and 7 (A), the motion vector detection The output processing unit 63 enters from the start step of the routine RT4 and moves to step SP31.
- step SP31 the motion vector detection processing unit 63 sequentially converts the second frame image data from the input frame memory 32 by the simple motion vector detection circuit 64 into the second macroblock data D4 units. And read out the first or second frame image data D6 for reference with respect to the second frame image data, and read each frame of one frame in the second layer by the hierarchical search motion vector detection method.
- the simple motion vector D 24 of the macro block data D 4 of 2 is detected, and the routine goes to step SP 32.
- step SP32 the motion vector detection processing unit 63 uses a prediction error calculated when the simple motion vector detector 64 detects the simple motion vector D24 of each second macroblock data D4 to form a hierarchical Calculating the inter-frame correlation value SH 2 between the second frame image data to be encoded and the hierarchical frame image data for reference, and sending the calculated inter-frame correlation value SH 2 to the frame structure converter 62. Move on to step SP33.
- the frame rate change processing unit 61 The process enters from the start step of RT5 and proceeds to step SP21. After the process of step SP21, the process of step SP22 is performed, and then the process proceeds to step SP41.
- step SP41 the frame rate change processing unit 61 generates control flags CF1, CF2, and CF3 for the first and second frame image data to be encoded by the frame structure converter 62. Then, the generated control flags CF1, CF2, and CF3 are sent to the motion vector detector 66, and the flow advances to step SP23.
- the frame rate change processing section 61 performs the steps SP 21-SP 22 -SP 23 -SP 24-SP 25-
- the frame rate of the moving image data D 1 is appropriately changed while sequentially sending the control flags CF 1, CF 2, and CF 3 to the motion vector detector 66.
- the Kosu the first ⁇ Pi second frame image data to be encoded is determined to have been all compressed and encoded in Tetsupu SP 26, the frame rate change processing unit 61 of the processing procedure proceeds to step SP 4 2 To end.
- step SP33 the motion vector detection processing unit 63 monitors the presence or absence of the access of the arithmetic unit 38 to the input frame memory 32 by, for example, the motion vector detector 66, so that the first and second motion vectors are detected.
- 2 Frame image data pressure It is determined whether or not the compression coding has been started, and the processing of steps SP31-SP32-SP33 until the compression coding of the first and second frame image data is started. Is cyclically repeated to sequentially detect a simple motion vector D 24 of each second macroblock data D 4 in the second frame image data and calculate an inter-frame correlation value SH 2.
- step SP 33 When the motion vector detector 66 detects in step SP 33 that the motion vector detector 66 has started the compression encoding of the first and second frame image data, the motion vector Move to 4.
- step SP 34 the motion vector detection processing unit 63 determines the encoding target based on the control flags CF 1, CF 2, and CF 3 given from the frame structure converter 62 by the motion vector detector 66. It is determined whether or not the second frame image data has been thinned out by changing the frame rate.
- step SP 34 Obtaining a negative result in step SP 34 means that the second frame image data to be encoded has not been thinned out.
- the motion vector detection processing unit 63 Moving to 5 it is determined whether or not it is necessary to redetect the motion vector of each second macroblock data D4 in the second frame image data to be encoded.
- step SP35 Obtaining a positive result in step SP35 means that the simple motion vector D24 is detected in the second frame image data to be encoded due to the change in the frame rate of the moving image data D1. This means that the first or second frame image data D 6 for different reference has been assigned.
- the motion vector detection processing section 63 moves to step SP 36 to move to the motion vector detector 6. 6, using the second frame image data to be encoded and the new first or second frame image data D 6 for reference, each macro block data in the second layer by the hierarchical search motion vector detection method.
- the simple motion vector D 24 of the data D 4 is detected again, and the routine goes to step SP 37.
- step SP 37 the motion vector detection processing unit 63 uses the motion vector detector 66 to search for the encoded pair in the first layer according to the hierarchical search motion vector detection method.
- step SP34 obtaining a positive result in step SP34 means that the second frame image data to be encoded has been thinned out by converting the frame rate, and at this time, the motion vector detection processing unit 63 Move on to step SP38.
- step SP35 means that the first or second frame image data D for reference is the same as that in the detection of the simple motion vector D24 in the second frame image data to be encoded.
- the motion vector detection processing unit 63 moves to step SP37, and the motion vector detector 66 uses the motion vector detector 66 to perform a hierarchical search on the first layer according to the motion vector detection method.
- the original using the second frame image data to be encoded, the first or second frame image data D6 for reference, and the corresponding simple motion vector D24 read from the simple motion vector buffer 65.
- a motion vector D26 of each second macroblock data D4 is detected, and the routine goes to Step SP38.
- step SP38 the motion vector detection processing unit 63 uses the motion vector detector 66 to generate the second macroblock data D4 for all the second frame image data in the input frame memory 32. It is determined whether or not the simple motion vector D 24 is detected, and the simple motion vector D 24 of each second macro block data D 4 in all the second frame image data in the input frame memory 32 is determined. If not, return to step SP31.
- the motion vector detection processing unit 63 loads the second frame image data for detecting the simple motion vector D24 of the second macroblock data D4 into the input frame memory 32. During the interval, the processing of steps SP31-SP32-SP33-SP34-SP35-SP36-SP37-SP38 is repeated cyclically to save the input frame memory 32.
- the simple motion vector D24 of each second macroblock data D4 in the second frame image data is sequentially detected, and The motion vector D 26 of the second macroblock data D 4 is sequentially detected while sequentially calculating the inter-frame correlation value SH 2.
- step SP38 the motion vector detection processing unit 63 determines the simple motion vector of each of the second MAC block data D4 in all the second frame image data in the input frame memory 32.
- D24 the process proceeds to step SP8.
- step SP8 the motion vector detection processing unit 63 monitors the presence / absence of access of the arithmetic unit 38 to the input frame memory 32 by the motion vector detector 66, thereby determining the encoding target. It is determined whether or not all the first and second frame image data have been compressed and encoded. If the compression and encoding of the first and second frame image data have not been completed, the process returns to step SP34.
- the motion vector detection processing unit 63 continues to perform steps SP34—SP35—SP36 until all of the first and second frame image data to be encoded are compressed and encoded. — SP 3 7 — SP 3 8 — The motion vector D 2 of each second macroblock data D 4 in the second frame image data to be encoded by cyclically repeating the processing of SP 8 6 are sequentially detected.
- step SP8 when the motion vector detection processing unit 63 determines in step SP8 that all the first and second frame image data to be encoded have been compression-encoded, the process proceeds to step SP39.
- the processing procedure of the motion vector detection processing section 63 is terminated, and thus the compression encoding processing procedure of the video data D1 in the video encoding apparatus 60 is all terminated.
- the moving image encoding apparatus 60 can easily detect motion vectors when compressing and encoding the first and second frame image data constituting the moving image data D 1 to be distributed.
- vessel 6 4 pre hierarchical search motion base vector detection method relatively by hierarchical frame image data D 2 2 for reducing the first or pixel of the second frame image data D 6 for reference lowered the resolution in the second hierarchical by Similarly, within the narrow search range, the hierarchical matrix in which the resolution is reduced by reducing the pixels of each second macroblock data D4. Search by the block block data D 21 to detect the low-resolution motion vector D 23 of the hierarchical block block data D 21, and match the low-resolution motion vector D 23 to the resolution of the original image. Then, the simple motion vector D 24 of the second macro block data D 4 is detected.
- the motion vector detector 66 when actually compressing and coding the second frame picture data in units of each second macroblock data D4, the motion vector detector 66 performs the hierarchical search motion.
- the first or second frame image data D6 for reference in the first layer by the vector detection method is used to search the remarkably narrow search range set around the end point of the simple motion vector D24.
- the motion vector for correction D25 which corrects the end point of the simple motion vector D24 by searching using the macroblock data D4, is detected, and the detected motion vector D25 for correction is simplified.
- the motion vector D24 is added to the motion vector D24 to detect the first-layer motion vector D26 for the second macroblock data D4.
- the hierarchical frame image data D22 and the hierarchical block whose resolution is reduced (that is, the data amount is reduced) in the second hierarchical layer by the hierarchical search motion vector detection method are reduced.
- the simple motion vector D 24 is detected using the data D 21, and the first or second frame image for reference of the original image level in the first layer according to the hierarchical search motion vector detection method.
- the second motion vector D25 is detected by detecting the correction motion vector D25 that corrects only the end point of the simple motion vector D24.
- the second macroblock is compared with the video encoding device 30 (FIG. 2) according to the above-described first embodiment. Movement of data D 4
- the operation amount during Torr detection can Rukoto of dramatically reduced.
- the moving picture coding apparatus 6 detects the simple motion Bae vector D 2 4 of the input frame memory 3 for all of the second frame image data in the two respective second macro proc data D 4
- the second frame image data is When thinning is performed in accordance with the change in the frame rate of the data D1, the motion vector D26 of the original image level data of the second macroblock data D4 is not detected.
- the processing load in the unit 63 can be reduced.
- the second search object vector is detected by the hierarchical search motion vector detection method.
- the motion vector D26 of each second macroblock data D4 in the frame image data of the second layer hierarchically in addition to the effect obtained by the above-described first embodiment, Therefore, the amount of calculation when detecting the motion vector for each of these second macroblock data D4 can be reduced significantly, and thus a moving picture coding apparatus that can speed up the motion vector detection processing is realized. can do.
- the moving image data D 1 supplied from the outside is sequentially loaded into the input frame memory 32 in units of frame image data, and
- the I picture and the P picture are allocated in a predetermined order to the frame image data taken into the frame memory 32 for use
- the present invention is not limited to this, and FIGS. 8 (A) and 8 (B)
- the I picture, the P picture, and the B picture may be assigned to the frame image data taken into the input frame memory 32.
- the first or second frame for reference is newly added to the second frame image data to be encoded in accordance with the change of the frame rate of the moving image data D1.
- the motion vector detector 66 determines the simple motion vector D24 of each macroblock data D4 in the first and second layers by the hierarchical search motion vector detection method.
- the present invention is not limited to this, and the present invention is not limited to this.
- the new first or second frame image data D 6 for reference is added to the second frame image data.
- the simple motion vector detector 64 uses the hierarchical search motion vector detection method in the second layer to encode the second frame image data to be encoded and the first or second reference data for new reference.
- the simple motion vector D 24 of each second macroblock data D 4 is detected using the frame image data D 6, and the first motion vector detection method based on the hierarchical search motion vector detection method is used by the motion vector detector 66.
- the motion vector D 26 of the second macroblock data D 4 at the original image level may be detected. This makes it possible to greatly reduce the processing load on the motion vector detector 66 when re-detecting the motion vector due to the change in the frame rate.
- the motion vector detector 66 determines whether each of the second macroblock data D 4 in the second frame image data to be encoded is A simple motion vector of each macro block data D 4 in the second frame image data D 6 used as a reference when the simple motion vector D 24 detected in advance is detected.
- a hierarchical search is performed using the synthesized simple motion vector obtained by combining with the tuttle D24, and a second frame image to be coded using the telescopic search method in the first layer using the motion vector detection method, for example.
- the motion vector D26 of the original image level of each second macroblock data D4 in the data may be detected. Even in this way, the processing load on the motion vector detector 66 can be significantly reduced when the motion vector is re-detected due to the change in the frame rate.
- each second macroblock data D4 of the second frame image data is compression-coded by forward prediction coding.
- the present invention is not limited to this, and compression encoding may be performed by either intra-frame encoding or forward prediction encoding using the variance value of each second macroblock data D4.
- the motion vector detector 66 uses the reference first and second frame image data D 6 read out from the input frame memory 32 to each of them.
- the motion vector detector 66 detects the motion vector D 26 from the reference frame memory 47.
- the first and second frame image data for reference may be read to detect the motion vector D26 of each second macroblock data D4. In this way, when detecting the motion vector D26, the first and second frame images having block noises and the like generated by the compression encoding are decoded and reconstructed once after compression encoding. Data can be used, and the detection accuracy of the motion vector D26 can be improved.
- the detection of the motion vector D 26 of the second macroblock data D 4 is performed by a hierarchical search motion vector detection method including two layers, a first layer and a second layer.
- the present invention is not limited to this.
- the present invention is not limited to this, and a hierarchical search of three or more hierarchies using frame images having different resolutions for detecting the motion vector of the second macroblock data D4.
- a motion vector detection method may be used.
- the frame rate of the moving image data D1 is changed according to the data storage amount DR of the buffer 42 and the encoded prediction data amount.
- the present invention is not limited to this, and changes the frame rate of the moving image data D1 according to the data storage amount DR of the buffer 42. You may. Thus, even if the frame rate is changed, it is possible to stably stabilize the image quality of a moving image by appropriately coping with a rapid decrease in the data storage amount DR.
- FIG. 15 in which parts corresponding to FIG. 10 are assigned the same reference numerals, shows a video encoding device 70 according to the third embodiment, and includes a motion vector detection processing unit 71 and a compression encoding unit.
- the configuration is the same as that of the moving image coding apparatus 60 according to the second embodiment except for the configuration of the mask image processing section 73 and the mask image processing section 73.
- the simple motion vector detector 74 outputs the I-picture when the first frame image data constituting the moving image data D1 is assigned in the input frame memory 32 ⁇ .
- the prediction mode data D 3 is generated based on the picture information, and the generated prediction mode data D 3 is simply moved. And send it to the buffer 75 and accumulate it.
- the simple motion vector detector 74 detects the simple motion vector of the moving image coding apparatus 60 described above with reference to FIG.
- the prediction mode data D 20 is generated based on the picture information of the second frame image data to which the P picture is assigned and the first or second frame image data for reference. .
- the simple motion vector detector 74 is used in the second layer by the hierarchical search motion vector detection method in the same manner as described above with reference to FIGS. 11A and 11B and FIG.
- a simple motion vector D 24 of each second macroblock data D 4 in the second frame image data to which a picture is assigned is detected, and the detected simple motion vector D 24 is predicted mode data D 20 is sent to the simple motion vector buffer 75 and stored.
- the simple motion vector detector 74 assigns an I picture to the frame image data other than the head of the frame image data constituting the moving image data D 1 in the input frame memory 32.
- the I picture The picture information of the obtained first frame image data is read, and the picture information of the second frame image data D 6 for reference adjacent to the first frame image data in the forward direction is read.
- the simple motion vector detector 74 expresses the frame identification information of the first frame image data to be encoded as the encoding target frame identification information based on the picture information, and refers to the second frame image for reference.
- the frame identification information of the data D6 is represented as reference frame identification information, and the first frame image data to be encoded is sequentially compressed and encoded by intra-frame encoding in units of the first macroblock data D2.
- the simple motion vector detector 74 sequentially reads out the first frame image data to be coded from the input frame memory 32 in units of the first macroblock data D2 and refers to it.
- the second frame image data D6 is read out, and the first frame image data D6 is read out in the second layer by the hierarchical search motion vector detection method in the same manner as described above with reference to FIGS. 11A and 11B and FIG.
- the simple motion vector D31 of each of the first macroblock data D2 in the frame image data is detected.
- the simple motion vector detector 74 associates the simple motion vector D31 of the prediction mode data D30 for the first frame image data with the simple motion vector D31 of each first macroblock data D2. It is sent to the vector buffer 75 and stored. In this way, when the frame image data is sequentially taken into the input frame memory 32 and the I-picture and the P-picture are assigned, the simple motion vector detector 74 similarly performs the prediction mode data D 3, D20 and D30 are generated, and the simple motion vectors D24 and D31 are detected, and these are stored in the simple motion vector buffer 75.
- the mask image generator 7 of the mask image processing unit 73 together with the input frame memory 32 sequentially receives the externally supplied video data D1 in units of frame image data. 7 is also included. Then, as shown in FIG. 16, the mask image generator 77 specifies the initial position of an extracted image of a person or the like to be extracted from the frame image 80 based on the frame image data from the outside, and the frame 81 specifies the initial position. Shape designation data D35 for designating an arbitrary shape of the extracted image is provided.
- the mask image generator 77 captures the first frame image data among the frame image data constituting the moving image data D1
- the mask image generator divides the captured frame image data into macroblock data
- a rectangular tracking area 84A surrounding the frame 81 of the extracted image is set in the frame image 83 based on the leading frame image data as shown in Fig. 17
- the macro block data within the set tracking area 84 A is detected.
- the mask image generator 77 when the mask image generator 77 captures the frame image data of the second frame, the mask image generator 77 divides the frame image data of the second frame into macroblock data, and outputs the frame of the second frame from the simple motion vector buffer 75.
- the simple motion vector D24 of each macroblock data (that is, the second macroblock data D4) in the image data (that is, the second frame image data) is read.
- the mask image generator 77 uses each simple motion vector D 24 to convert each macroblock data in the tracking area 84 A of the frame image 83 based on the first frame image data into the second frame.
- the tracking areas 84A and 84B are compared between the frame images 83 and 85 by, for example, a line matching method. As a result, the moved position of each macroblock data within the tracking area 84A is detected with high accuracy.
- the mask image generator 77 specifies the tracking area 84B including each macroblock data in the frame image 85 based on the frame image data of the second frame, and then, within the specified tracking area 84B. To specify the frame 81 of the extracted image.
- the mask image generator 77 receives the corresponding simple motion read out from the simple motion vector buffer 75.
- the position where each macroblock data within the tracking area 84A is moved is detected between the adjacent frame image data and the tracking area 84
- the extracted images are sequentially tracked over a plurality of frame image data.
- the mask image generator 77 tracks the extracted images sequentially between adjacent frame image data as described above.
- FIG. 18 first, as shown in FIG. By changing the pixel value of each pixel of each macro block data based on 35, the inside of the frame 81 of the extracted image in the frame image 83 (Fig. 17) is made white, for example, and the frame 81 Also, a mask image 86 representing the initial position and the arbitrary shape of the extracted image is generated with the outside black, and the data of the generated mask image 86 (hereinafter referred to as mask image data) D 36 The data is transmitted to and stored in the mask frame memory 90 having a storage capacity for a frame.
- the mask image generator 77 changes the pixel value of the pixel of each macroblock data based on the frame 81 of the tracked extracted image for the frame image data of the second and subsequent frames, thereby changing the first pixel value.
- the same processing as in the case of the frame image data is performed to generate mask image data D36 representing the movement position and the arbitrary shape of the extracted image, and the generated mask image data D36 is transmitted to the mask frame memory 90. Accumulate.
- the mask image generator 77 generates the mask image data D 36 representing the moving position and arbitrary shape of the extracted image from the frame image data while tracking the extracted image every time the frame image data is captured. And store it in the mask frame memory 90.
- the motion vector detector 91 stores the simple motion vectors D 24 and D 31 for a predetermined number of frames in the simple motion vector buffer 75 by the simple motion vector detector 74.
- the mask image generator D 7 stores mask image data D 36 for a predetermined number of frames in the mask frame memory 90, so that the mask image data D 36 is compressed.
- the compression encoding unit 72 starts compression encoding of the first and second frame image data to be encoded
- the compression encoding of the first and second frame image data to be encoded is performed.
- the corresponding prediction mode data D 3, D 20, and D 30 are sequentially read from the simple motion vector buffer 75.
- the motion vector detector 91 reads the prediction mode data D 3, D 20 and D 30 from the simple motion vector buffer 75, the prediction mode data D 3 and ⁇ D 20 and D 3
- the coding target frame identification information and the reference frame identification information obtained based on 0 are obtained based on the corresponding control flags CF1, CF2, and CF3 provided from the frame structure converter 62 at this time. This is compared with the encoding target frame identification information, the reference frame identification information, and the thinned-out frame identification information.
- the motion vector detector 91 when the motion vector detector 91 reads out the prediction mode data D 3 and D 30 for the first frame image data from the simple motion vector buffer 75, the motion vector detector 91 shown in FIGS. As described above, the first frame image data is excluded from the target of thinning, and the encoding target frame identification information obtained based on the prediction mode data D 3 and D 30 and the corresponding control flag CF 1 If they match, it is determined that the first frame image data has not been thinned out, and the prediction mode data D 3 and D 30 are sent to the motion compensator 92 and the variable length encoder 93.
- the motion vector detector 91 reads out the prediction mode data D 20 for the second frame image data from the simple motion vector buffer 75, the prediction mode data D 20 and the corresponding Based on the control flag CF2, the second frame image data and the reference first or second frame image data D6 associated therewith when the simple motion vector D24 is detected.
- the simple motion vector D 24 associated with the prediction mode data D 20 is read from the simple motion vector buffer 75.
- the motion vector detector 91 is turned on based on the control flag CF2.
- the second frame image data to be coded is sequentially read out from the input frame memory 32 in units of the second macroblock data D4, and the reference frame associated with the simple motion vector D24 is detected at the time of detection.
- the first or second frame image data D6 is read, and the mask image data D36 corresponding to the second frame image data to be encoded is also read from the mask frame memory 90.
- the motion vector detector 91 uses the mask image data D36 to extract the second macroblock data D4 from the edge portion 81A of the extracted image of an arbitrary shape. Also, it is discriminated from those located on the outside and inside, and those on the edge portion 81A.
- the motion vector detector 91 detects the second macroblock data D4 that is located outside the edge portion 81A of the extracted image among the second macroblock data D4. Then, only the prediction mode data D 20 is sent to the motion compensator 92 and the variable-length encoder 93 without detecting the motion vector at the original image level. In addition, the motion vector detector 91 performs a simple motion for the second macroblock data D4 located inside the edge portion 81A of the extracted image among the second macroblock data D4. The corresponding simple motion vector D 24 is read from the vector buffer 75, and the motion vector at the original image level in the first layer by the hierarchical search motion vector detection method is the same as the case described above with reference to FIG. The motion vector D 26 is detected, and the detected motion vector D 26 is transmitted to the motion compensator 92 and the variable length encoder 93 together with the prediction mode data D 20.
- the motion vector detector 91 outputs the second macroblock data D4 of the edge portion 81A of the extracted image among the second macroblock data D4.
- the pixel located inside the edge portion 81A among all the pixels in the second macroblock data D4 is determined using the mask image data D36.
- the motion vector detector 91 is connected to the first layer by the same hierarchical search motion vector detection method as described above with reference to FIGS. 11 (A) and (B) and FIG.
- the prediction error is calculated by selectively using only the pixels located inside the edge portion 81 A among the pixels of the second macro block data D 4 by the block matching method.
- the vector D 37 is detected, and the detected motion vector D 37 is transmitted to the motion compensator 92 and the variable-length encoder 93 together with the prediction mode data D 20.
- the motion vector detector 91 reads out the prediction mode data D 20 for the second frame image data from the simple motion vector buffer 75, If the new first or second frame image data D6 is associated with the second frame image data for reference for reference, the input frame memory 32 based on the control flag CF2
- the second frame image data to be encoded is sequentially read in units of the second macroblock data D4, and the newly associated first or second frame image data D6 for reference is read, and further masked.
- Image data D36 corresponding to the second frame image data to be encoded is found from the frame memory 90 for use-at this time, the motion vector detector 9 The first is to store the new reference frame identification information obtained based on the control flag CF2 in the prediction mode data D 2 Q in place of the reference frame identification information stored in advance, and The prediction mode data D 27 is generated by modifying the contents of the macro block data D 4.
- the motion vector detector 91 generates the second macroblock data D 4. of the second frame image data to be encoded and the newly associated first or second frame for reference.
- each of these second macros is used in the second layer by the hierarchical search motion vector detection method in the same manner as described above with reference to FIGS. 11 (A) and (B) and FIG.
- the simple motion vector D 24 of the block data D 4 is detected.
- the motion vector detector 91 uses the simple motion vector D 24 of each detected second macroblock data D 4 in the case described above with reference to FIGS. 19 and 20.
- the motion vector detector 91 uses the simple motion vector D 24 of each detected second macroblock data D 4 in the case described above with reference to FIGS. 19 and 20.
- the second MAC block data D 4 inside the edge portion 81 A of the extracted image specified by the mask image data D 36 in the first layer and the edge portion 81 A of the extracted image The motion vectors D 26 and D 37 at the original image level are generated.
- the motion vector detector 91 only uses the prediction mode data D 27 for the second macroblock data D 4 located outside the edge portion 81 A of the extracted image. 2 and the variable-length encoder 93, and for the second macroblock data D4 inside the edge portion 81A and the edge portion 81A, the motion level at the original image level should be used.
- the vectors D 26 and D 37 are sent to the motion compensator 92 and the variable length encoder 93 together with the prediction mode data D 27.
- the motion vector detector 91 is provided from the frame structure converter 62 when the prediction mode data D 20 for the second frame image data to be encoded is read from the simple motion vector buffer 75.
- the detection of the motion vector at the original image level for the second frame image data is forgotten, and At this time, the mask image data D36 corresponding to the second frame image data to be encoded is made unreadable from the mask frame memory 90.
- the motion vector detector 91 extracts the second frame image data to be encoded while appropriately responding to the change in the frame rate of the video data D1 by the frame structure converter 62.
- the motion vectors D26 and D37 of the second macroblock data D4 corresponding to the image can be sequentially and accurately detected (including re-detection).
- the mask image processing unit 73 when the compression encoding unit 72 starts the compression encoding of the first or second frame image data to be encoded by the compression encoding unit 72, Mask image data corresponding sequentially from the mask frame memory 90 in accordance with the order of compression encoding of the first and second frame image data
- the read out mask image data D 36 is compression-encoded by the mask image data encoding method defined by the MPEG 4 system, and the obtained encoded data D 40 is decoded by the local decoder 9. 5 and buffer 96.
- the mask image encoder 94 does not read the mask image data D36 which is made unreadable in the mask frame memory 90 by the motion vector detector 91.
- the local decoder 95 decodes the encoded data D 40 given from the mask image encoder 94 in accordance with the MPEG-4 standard, and records the obtained mask image data D 41 for a plurality of frames. It is sent to the reference frame memory 97 having a large capacity and stored.
- the arithmetic unit 38 starts compression encoding of the first and second frame image data to be encoded. Data is sequentially read out in units of first macroblock data D2.
- the motion compensator 92 stops the motion compensation process on the first macroblock data D 2 based on the corresponding prediction mode data D 3 and D 30 given from the motion vector detector 91. .
- the arithmetic unit 38 reads out the first macroblock data D 2 of the first frame image data from the input frame memory 32, no data is given from the motion compensator 92 at this time. As a result, the first macroblock data D2 is directly sent to the discrete cosine converter 98.
- the discrete cosine transformer 98 starts the compression coding of the first and second frame image data to be encoded.
- the corresponding mask image data D 41 is read out sequentially from the reference frame memory 97 according to the order of conversion, and when the first macro block data D 2 is given from the arithmetic unit 38, the corresponding mask image data is read out.
- the first macroblock data D2 is obtained from the edge portion 81A of the extracted image based on D41. Also, the discrete cosine transformer 98 determines whether the first macroblock data D2 is located outside or inside the edge portion 81A.
- each pixel of the first macroblock data D2 is changed to a pixel value representing, for example, black, which greatly reduces the data amount at the time of compression encoding in accordance with the rules of the MPEG-4 system.
- the discrete cosine converter 98 does not change the first macroblock data D2 as it is in accordance with the MPEG4 standard. To do.
- the discrete cosine transformer 98 sets the edge portion of each pixel of the first macroblock data D2 in accordance with the MPEG4 standard.
- the pixel value of the pixel outside 81 A is changed to a pixel value representing black, and the pixel value of the pixel inside the edge portion 81 A is not changed as it is.
- the discrete cosine transformer 98 performs a pixel value change process on each of the first macroblock data D2 based on the mask image data D41, thereby obtaining a frame image based on the first frame image data.
- the first macroblock data D 2 is subjected to discrete cosine transform in a state where an extracted image of an arbitrary shape is apparently extracted, and the obtained discrete cosine transform coefficient K 10 is sent to the quantizer 41.
- the quantizer 41 quantizes the discrete cosine transform coefficient K 10 given from the discrete cosine transformer 98 based on the corresponding quantization step ST, and quantizes the obtained quantized coefficient 11 1 It is sent to the variable length encoder 93 and the inverse quantizer 44 together with the quantization step ST used for the quantization.
- variable-length encoder 93 performs variable-length encoding on the quantization coefficient Kl1 given from the quantizer 41 by using Huffman coding or the like, and also performs quantization based on the quantization given by the quantizer 41.
- the corresponding prediction mode data D3 given from the step ST and the motion vector detector 91 are variable-length coded, and the obtained coded data D45 is stored in the buffer 96. Send and temporarily store.
- the buffer 96 encodes the encoded data D 45 given from the variable length encoder 93 and the encoded data D 40 given from the mask image encoder 94 to smooth the data amount. It is output to the outside as a coded bit stream BS2.
- the first frame image data in the input frame memory 32 is apparently in a state where the extracted image data is extracted, and the first macroblock data D Compression encoding can be performed by intra-frame encoding in two units.
- the inverse quantizer 44 inversely quantizes the quantization coefficient Kl1 given from the quantizer 41 based on the quantization step ST given from the quantizer 41 in the same manner, and The obtained discrete cosine transform coefficient K 12 is sent to the inverse discrete cosine transformer 45.
- the inverse discrete cosine transformer 45 performs an inverse discrete cosine transform of the discrete cosine transform coefficient K 12 given from the inverse quantizer 44 and adds the obtained first macroblock data D 46 to an adder 4. Send to 6.
- the adder 46 receives the first macroblock data D 46 at this time, and no data is provided from the motion compensator 92.
- the macro block data D 46 is sent to the reference frame memory 97 as it is and stored.
- the adder 46 generates the first macroblock every time the first macroblock data D46 is sequentially supplied from the inverse discrete cosine transformer 45 by compression coding of the first frame image data.
- the first macroblock data D 46 By sending the data D 46 directly to the reference frame memory 97 and storing it, the first macroblock data D 46 apparently extracts the extracted image data in the reference frame memory 97.
- the output first frame image data is reconstructed as a reference for the motion compensation processing.
- the arithmetic unit 38 sequentially reads the second frame image data to be encoded into the second macroblock data D4. Read in units.
- the motion compensator 92 performs a motion compensation process based on the corresponding prediction mode data D 20 and D 27 given from the motion vector detector 91, thereby obtaining a reference frame.
- the first or second frame image data which is associated with the second frame image data to be encoded from the memory 97 as a reference and the apparently extracted image data is extracted, is read out, and the second frame image data to be encoded is read.
- the mask image data D41 corresponding to the frame image data of No. 2 is read.
- the motion compensator 92 generates the motion vectors D 26, D 37 and the mask image data of the second macroblock data D 4 given from the motion vector detector 91 in accordance with the MPEG4 standard. Based on D41, the operation block data D47 that best matches the second macroblock data D4 is extracted from the reference first or second frame image data, and the extracted operation block The block data D 47 is sent to the arithmetic unit 38 and the adder 46.
- the arithmetic unit 38 reads the second macroblock data D4 from the input frame memory 32, the arithmetic unit 38 converts the arithmetic macroblock data D47 given from the motion compensator 92 at this time into the second macroblock data D4.
- the difference data D 48 obtained by subtracting the difference from the macro block data D 4 is sent to the discrete cosine transformer 98.
- the discrete cosine transformer 98 Upon receiving the difference data D 48 from the arithmetic unit 38, the discrete cosine transformer 98 apparently extracts the difference data D 48 based on the corresponding mask image data D 41 according to the MPEG4 standard. After performing pixel value changing processing for extracting image data, discrete cosine transform is performed, and the obtained discrete cosine transform coefficient K 13 is sent to the quantizer 41.
- the quantizer 41 quantizes the discrete cosine transform coefficient K 13 given from the discrete cosine transformer 98 based on the corresponding quantization step ST, and obtains the obtained quantized coefficient K 14 It is sent to the variable length encoder 93 and the inverse quantizer 44 together with the quantization step ST.
- variable-length encoder 93 performs variable-length encoding on the quantization coefficient K 14 given from the quantizer 41 by using a Huffman code or the like, and an amount given from the quantizer 41.
- the corresponding prediction mode data D 20, D 27 and the motion vectors D 26, D 37 given from the quantization step ST and the motion vector detector 91 are also obtained by variable-length coding.
- the encoded data D 48 is sent to the buffer 96 and temporarily stored.
- the buffer 96 encodes the encoded data D 48 given from the variable length encoder 93 and the encoded data D 40 given from the mask image encoder 94 to smooth the encoded data amount. It is output to the outside as a coded bit stream BS2.
- the second frame image data in the input frame memory 32 is also apparently extracted with the extracted second macroblock data D sequentially. Compression coding can be performed in four units by forward prediction coding.
- the inverse quantizer 44 inversely quantizes the quantization coefficient K 14 given from the quantizer 41 based on the quantization step ST similarly given from the quantizer 41, and obtains
- the inverse discrete cosine transform unit 45 sends the discrete cosine transform coefficient K 15 obtained to the inverse discrete cosine transform unit 45.
- the inverse discrete cosine transform unit 45 outputs the discrete cosine transform coefficient K 15 supplied from the inverse quantizer 44.
- the difference data D 50 obtained by the inverse discrete cosine transform is sent to the adder 46.
- the adder 46 receives the difference data D 50 from the inverse discrete cosine transformer 45, and at this time, receives the operation block data D 47 from the motion compensator 92, whereby the difference data D 50 And the operation block data D47 are added, and the obtained second macroblock data D51 is sent to the reference frame memory 97 for storage.
- the adder 46 performs the operation corresponding to the difference data D 50 each time the difference data D 50 is supplied from the inverse discrete cosine transformer 45 by performing the compression coding on the second frame image data.
- the second generates a macro Rob port Kkudeta D 5 1 adds the use proc data D 4 7, and stores the sending the second macro proc data D 5 1 thus generated to the reference frame memory 9 7
- the reference frame Hence, the second frame image data from which the extracted image data has been extracted is reconstructed in the frame memory 97 using the second macroblock data D51 as a reference for the motion compensation processing.
- variable-length encoder 93 selectively varies the extracted image data portion with respect to the quantization coefficients Kl 1 and K 14 obtained from the first and second frame image data.
- the encoding is performed, so that the processing load of the variable length encoding can be reduced and the encoded data amount of the encoded bit stream BS2 can be reduced.
- the moving image data D 1 by the frame rate change processing section 61, the motion vector detection processing section 71, the compression coding section 72, and the mask image processing section 73 of the video coding apparatus 70 Fig. 21 (A) and Fig. 22 (A) with the same reference numerals assigned to the parts corresponding to Fig. 13 (A) and Fig. 14 (A).
- the motion vector detection processing section 71 enters from the start step of the routine RT6 and moves to step SP51.
- step SP51 the motion vector detection processing section 71 uses the simple motion vector detection circuit 74 to transfer the first and second frames other than the first frame image data at the beginning from the input frame memory 32.
- the frame image data is sequentially read in units of the first and second macro block data D2 and D4, and the first or second frame image data D6 for reference to the first and second frame image data is read.
- a simple motion vector D 2 4 and D 3 1 of each of the first and second macroblock data D 2 and D 4 for one frame is detected in the second layer by the hierarchical search motion vector detection method. Then, this is stored in the simple motion vector buffer 75, and the routine goes to step SP32.
- the motion vector detection processing unit 71 calculates the inter-frame correlation value SH2 by the simple motion vector detector 74 and sends it to the frame structure converter 62, and then proceeds to step SP33. .
- step SP33 the motion vector detection processing unit 71 monitors the presence or absence of access of the arithmetic unit 38 to the input frame memory 32 by the motion vector detector 91, and checks the first and second frame images. It is determined whether or not the compression encoding of the data has been started. If the compression encoding of the first and second frame image data has not been started, the process returns to step SP51.
- the motion vector detection processing section 71 circulates the processing of steps SP51-SP32-SP33 until the compression encoding of the first and second frame image data is started.
- the simple motion vectors D 24 and D 31 of the first and second macroblock data D 2 and D 4 in the first and second frame image data are sequentially detected by repeating Then, an inter-frame correlation value SH 2 is calculated.
- the mask image processing section 73 enters from the start step of the routine RT7, moves to step SP61, and is supplied from the outside.
- the moving image data D1 is sequentially captured in units of frame image data, and the mask image data D36 that specifies the initial position of the extracted image and an arbitrary shape is specified for the first frame image data based on the shape designation data D35. It is generated, stored in the frame memory 90 for mask, and moves to step SP62.
- step SP62 the mask image processing unit 73 monitors the presence / absence of the motion vector detector 91 for access to the mask frame memory 90, for example, and compression-encodes the first and second frame image data. Is determined, and if the compression encoding of the first and second frame image data has not been started, the process returns to step SP61.
- the mask image processing unit 73 cyclically repeats the processing of steps SP61 to SP62 until the compression and encoding of the first and second frame image data is started.
- Simple motion vectors for the frame image data of the second and subsequent frames The first and second macroblock data D2 and D4 read out from the vector buffer 75 and the simple motion vectors D24 and D31 are used to sequentially track the extracted images using these frames.
- Mask image data D36 representing the moving position of the extracted image and an arbitrary shape is generated for the image data and stored in the mask frame memory 90.
- the motion vector detection processing unit 71 executes steps SP33 to SP3. 4 and the steps SP34-SP35-SP36 are sequentially executed in the same manner as described above with reference to Figs. 13 (A) and 14 (A), and then proceed to step SP52. .
- step SP52 the motion vector detection processing section 71 sequentially uses the motion vector detector 91 to sequentially transfer the second frame image data to be encoded from the input frame memory 32 to the second macroblock data.
- the readout mask image data D is read out by reading out the D4 units, reading out the first or second frame image data D6 for reference, and reading out the corresponding mask image data D36 from the masking frame memory 90.
- the hierarchical search is performed after discriminating the second macroblock data D4 from the outside and inside of the edge portion 81A of the extracted image of the arbitrary shape and the portion related to the edge portion 81A of the extracted image of each second shape based on 36.
- the motion vectors D 26 and D 37 of the original image level of each second macro block data D 4 according to the discrimination result. Is detected and the process proceeds to step SP38.
- step SP38 the motion vector detection processing unit 71 uses the simple motion vector detector 74 to execute the first and second macros in all the first and second frame image data of the second and subsequent frames. It is determined whether or not the simplified motion vectors D24 and D31 of the block data D2 and D4 have been detected, and each of the first and second frame image data of the second and subsequent frames is determined. If the simple motion vectors D24 and D31 of the first and second macroblock data D2 and D4 have not been detected, the process returns to step SP51. Accordingly, the motion vector detection processing unit 71 performs the operation while the first and second frame image data for detecting the simple motion vectors D24 and D31 are being input to the input frame memory 32.
- Step SP 5 1 SP 32—SP 3 3—SP 34—SP 3 5—SP 3 6—SP 52—SP 38—Process cyclically repeated 2
- the simple motion vectors D24 and D31 of the first and second macroblock data D2 and D4 are sequentially detected from the first and second frame image data after the frame, and the frame is detected.
- the motion vectors D 26 and D 37 of the second macroblock data D 4 are detected while sequentially calculating the inter-correlation value SH 2.
- step SP62 when the compression encoding section 72 starts compression encoding of the first and second frame image data to be encoded, the mask image processing section 73 proceeds from step SP62 to step SP63, The mask image data D 36 is read out from the mask frame memory 90 by the mask image encoder 94 and compression-encoded, and the obtained encoded data D 40 is sent to the local decoder 95 and the buffer 96, and the process proceeds to step SP 64. Move on.
- step SP64 the mask image processing unit 73 decodes the encoded data D40 by the local decoder 95, stores the obtained mask image data D41 in the reference frame memory 97, and proceeds to step SP65. .
- step SP65 the mask image processing unit 73 determines whether the mask image data D 36 has been generated by the mask image generator 77 while tracking the extracted image from all the frame image data supplied from the outside. If the mask image data D36 is not generated while tracking the extracted image from all the frame image data, the process returns to step SP61.
- the mask image processing unit 73 performs steps SP61—SP62—SP63—SP until the mask image data D36 representing the moving position of the extracted image and the arbitrary shape is generated from all the frame image data. 64—Based on the extracted images tracked sequentially from the frame image data by cyclically repeating the processing of SP 65 While generating and storing the image data D36 in the mask frame memory 90, the stored mask image data D36 is sequentially compression-encoded.
- the compression encoding unit 72 enters the routine RT 8 from the start step and proceeds to step SPI 1.
- the compression encoding is started for the first and second frame image data to be encoded, and the process moves to step SP71.
- step SP71 the compression encoding unit 72 sequentially converts the first and second frame image data from the input frame memory 32 into first and second macroblock data D2 and D4 by the arithmetic unit 38.
- the first and second macroblock data D2 and D4 that have been read are subjected to pixel value change processing by the discrete cosine transformer 98 based on the mask image data D41.
- the data is compressed and coded by intra-frame coding or forward prediction coding using motion vectors D26 and D37, and the obtained coded data D45 and D48 are buffered. Store to .96 and move to step SP72.
- step SP 72 the compression encoding unit 72 converts the encoded data D 45 and D 48 obtained by compression encoding the first and second frame image data by the buffer 96 from the mask image processing unit 73 into a mask image.
- the data D36 is compression-encoded and output to the outside as an encoded bit stream BS2 together with the given encoded data D40, and the routine goes to step SP14.
- step SP14 the compression encoding unit 72 determines the first and second frames to be encoded in accordance with the state of reading of the first and second frame image data from the input frame memory 32 by the arithmetic unit 38. It is determined whether or not all the image data has been compression-encoded, and if all of the first and second frame image data to be encoded have not been compression-encoded, the process returns to step SP71.
- the compression encoding unit 72 cyclically performs the processing of steps SP 71 -SP 72 -SP 14 until all the first and second frame image data to be encoded are compression-encoded.
- the first frame image data to be encoded is pronounced, the extracted image data is extracted and compressed and encoded by intra-frame encoding.
- the apparently extracted image data is extracted from the second frame image data to be encoded, and the motion vector D 26 and D
- the encoded data D45 and D48 obtained by compression encoding by forward prediction encoding using 37 are output as an encoded bit stream BS2 together with the encoded data D40 of the mask image data D36.
- step SP38 the motion vector detection processing section 71 uses the simple motion vector detector 74 to execute the first and second macros in all the first and second frame image data of the second and subsequent frames.
- the process proceeds to step SP8.
- step SP8 the motion vector detection processing unit 71 monitors the presence / absence of access of the arithmetic unit 38 to the input frame memory 32 by the motion vector detector 91, and thereby the first and second encoding targets are encoded. It is determined whether or not all the frame image data of the second and third frames are compressed and coded. If the first and second frame image data to be coded are not entirely coded, the process returns to step SP34. .
- the motion vector detection processing section 71 performs steps SP34-SP35-SP36-SP52-SP52 until all the first and second frame image data to be encoded are compression-encoded.
- the motion vectors D26 and D37 of each second macroblock data D4 in the second frame image data to be encoded are sequentially detected by cyclically repeating the processing of SP38-SP8.
- step SP8 when the motion vector detection processing unit 71 determines that the first and second frame image data to be encoded have all been compression-encoded in step SP8, the motion vector detection processing unit 71 proceeds to step SP53 and proceeds to step SP53. The processing procedure of the vector detection processing unit 71 ends.
- step SP65 When the mask image processing unit 73 generates the mask image data D36 while sequentially tracking the extracted images from all the frame image data by the mask image generator 77 in step SP65, the process proceeds to step SP66.
- step SP66 the mask image processing section 73 It is determined whether or not all the mask image data D 36 in the mask frame memory 90 have been compression-encoded, and if not, the process returns to step SP 62. .
- the mask image processing unit 73 performs the processing of steps SP 62-SP 63 -SP 64-SP 65-SP 66 until all the mask image data D 36 in the mask frame memory 90 are compression-encoded. Are cyclically repeated to sequentially compress and encode the mask image data D 36 in the mask frame memory 90, and transmit the obtained encoded data D 40 to the local decoder 95 and the buffer 96.
- step SP66 when the mask image processing unit 73 determines that all the mask image data D36 in the mask frame memory 90 have been compression-encoded, the process proceeds to step SP67. End the procedure.
- step SP14 when the compression encoding unit 72 determines that all of the first and second frame image data to be encoded have been compression-encoded, the process proceeds to step SP73, where the compression encoding unit 72 The processing procedure is terminated, and thus the entire procedure of the compression encoding of the moving image data D1 in the moving image encoding device 70 is terminated.
- the moving picture data D1 supplied from the outside is sequentially taken into the input frame memory 32 in units of frame picture data, and the simple motion vector detector 74 Simple motion vectors D24 and D31 of the first and second macroblock data D2 and D4 in the first and second frame image data in the second layer according to the hierarchical search motion vector detection method. Is detected.
- moving picture data D 1 supplied from the outside is sequentially taken into the mask image generator 77 in units of frame image data, and the leading frame image data is The extracted image data whose initial position and arbitrary shape are specified for the two frames using the simple motion vectors D24 and D31 of the first and second macroblock data D2 and D4, respectively. While sequentially tracking the frame image data after the first eye, the extracted image data It generates mask image data D36 representing the data movement position and the arbitrary shape.
- the motion vector detector 91 when the compression encoding section 72 compresses and encodes the first and second frame image data to be encoded, the motion vector detector 91 generates a hierarchical search motion. Based on the simple motion vector D24 and the mask image data D36 in the first layer by the vector detection method, the source of only the second macroblock data D4 on the inside and the edge 81A of the extracted image data Image-level motion vectors D26 and D37 are detected.
- the frame rate changing processing section 61 appropriately changes the frame rate of the moving picture data D1 while the compression coding section 72 changes the mask image data D41.
- the first frame image data is apparently extracted based on the extracted image data, compressed and coded by intra-frame coding, and the motion vectors of the original image velores ⁇ D26 and D37 and the mask image data Based on D41, the second frame image data also apparently extracts the extracted image data, compresses it by forward predictive coding, and sequentially compresses the mask image data D36 by the mask image encoder 94.
- the encoded data D45, D48, and D40 obtained by encoding are temporarily stored in a buffer 96, and output to the outside as an encoded bit stream BS2.
- the moving picture data D1 is extracted and extracted from the frame picture data.
- the moving picture coding devices 30 and 60 (FIGS. 2 and 3) according to the first and second embodiments described above. Compared to (Fig. 10), the amount of data to be encoded per unit time can be greatly reduced, and the compression rate for the extracted image data is reduced dramatically and provided to the user. Images can be reduced in image quality.
- the first and second macroblock data D2 and the second macroblock data D2 and the simple motion vector detector 74 are provided by the simple motion vector detector 74 and the motion vector detector 91.
- the motion vector of D4 is detected hierarchically, and the simplified motion vectors D24 and D31 detected in the lower second layer are extracted images for the first and second frame image data.
- the amount of computation for detecting the motion vector is significantly higher than when detecting the motion vector directly in one layer. Can be reduced.
- the motion vector is thus, the amount of calculation when detecting a motion vector can be significantly reduced as compared with the case of directly detecting the motion vector.
- the motion vector detector 91 detects the extracted picture data of the second macro block data D4 of the second frame picture data based on the mask picture data D36. Only for the edge part 81A and the second macroblock data D4 located inside of this, the final original image level motion vectors D26 and D37 are detected. In addition, the amount of calculation at the time of detecting the motion vector can be further reduced.
- the second macroblock data D4 on the edge portion 81A of the extracted image data is extracted by the motion vector detector 91, especially from the edge portion 81A. Since the motion vector D37 is detected using only the inner pixels, the detection accuracy of the motion vector D37 used for the compression encoding of the extracted image data can be remarkably improved.
- the simple motion vectors D24 and D31 are used to track the extracted image data for the first and second frame image data. Since the matching method is also used, the tracking accuracy of the tracking image data can be improved.
- the first and second MACs are provided by the simple motion vector detector 74. Detects the lower-layer simple motion vectors D2 and D31 for the mouth block data D2 and D4, and shares the detected simple motion vectors D24 and D31 to mask images.
- the generator 77 traces the extracted image data for the first and second frame image data to generate mask image data D36, and the motion vector detector 91 compresses the extracted image data.
- the motion vectors D26 and D37 in the upper layer of the second macroblock data D4 for the purpose of conversion the amount of computation at the time of detecting the motion vector can be significantly reduced.
- moving image data D 1 supplied from the outside is sequentially taken into the input frame memory 32 in units of frame image data, and
- FIG. 8 (A) and FIG. B) and FIGS. 9 (A) to 9 (C) the I-picture, P-picture and B-picture may be assigned to the frame image data taken into the input frame memory 32. good.
- the first or second frame for reference is newly added to the second frame image data to be encoded in accordance with the change of the frame rate of the moving image data D1.
- the motion vector detector 91 When the image data D 6 is allocated, the motion vector detector 91 generates a simple motion vector D 2 of each macroblock data D 4 in the first and second layers by the floor search motion vector detection method. 4 and the motion vectors D26 and D37 at the original image level have been described. However, the present invention is not limited to this.
- the first or second frame image data D6 for reference is newly assigned to the second frame image data to be converted, the hierarchical search motion vector is detected by the simple motion vector detector 74.
- Second floor by detection method Second frame image data of the encoding target in A simple motion vector D 24 of each second macro block data D 4 is detected using the first or second frame image data D 6 for reference, and a motion vector is detected.
- the motion vector D26 and D37 of the second macroblock data D4 at the original image level of the second macroblock data D4 may be detected in the first layer by the hierarchical search motion vector detection method by the detector 91. good. This makes it possible to greatly reduce the processing load on the motion vector detector 91 when re-detecting the motion vector due to the change in the frame rate.
- the second frame image data D 6 (that is, the second frame image data to be coded) is used as a reference when the simple motion vector D 24 is detected for the second frame image data to be coded. If the second frame image data adjacent on the forward side has been allocated, the motion vector detector 91 detects each second macroblock data in the second frame image data to be encoded. The simple motion vector D 4 detected in advance in the second frame image data D 6 used as a reference when the simple motion vector D 24 detected in advance in the simple motion vector D 24 is detected.
- the motion vectors D26 and D37 of the original image level of each second macroblock data D4 in the data may be detected. Even in this way, the processing load of the motion vector detector 91 can be significantly reduced when the motion vector is re-detected due to the change of the frame rate.
- each second macroblock data D4 is compression-coded by forward prediction coding
- the present invention is not limited to this, and the variance value of each second macroblock data D4 is used.
- compression coding may be performed by either intra-frame coding or forward prediction coding.
- the motion vector detector 91 uses the first and second frame image data D 6 for reference read from the input frame memory 32.
- the first and second frame image data for reference may be read from the reference frame memory 97 to detect the motion vectors D 26 and D 37 of each second macroblock data D 4. good.
- the first and second motion vectors D26 and D37 have the block noise and the like generated by the compression encoding by decoding once and decoding and reconstructing them. 2 can be used, and the detection accuracy of the motion vectors D26 and D37 can be improved.
- detection of the motion vectors D26 and D37 of the second macroblock data D4 includes two layers, a first layer and a second layer.
- the hierarchical search motion vector detection method is used has been described, the present invention is not limited to this, and frame images having different resolutions are used to detect the motion vector / re of the second macroblock data D4.
- a hierarchical search motion vector detection method of three or more layers may be used.
- the simple motion vector detector 74 outputs the simple motion vectors D 24 and D 31 to the simple motion vector buffer 75 and the prediction mode data D 3. , D 20 and D 30 have been described, but the present invention is not limited to this, and the simple motion vector buffer 75 can be stored in the simple motion vector buffer 75 by the simple motion vector detector 74.
- the simple motion vectors D24 and D31 are detected.
- the prediction error calculated at the time of delivery may also be accumulated. In this way, the simple motion vector detector 74 performs re-detection of the simple motion vectors D 24 and D 31 of the first and second macroblock data D 2 and D 4.
- the search range is selected accurately using the prediction error, or the tracking areas 84 A and 84 B are connected between adjacent frame image data by the mask image generator 77 using the line matching method.
- the search range for comparison can be accurately selected, and the accuracy of re-detection of the simple motion vectors D24 and D31 and tracking of the extracted image can be improved.
- the mask image generator 77 can be designated by specifying an arbitrary point of the extracted image 101 of a person or the like within the frame image 100.
- the edge 102 of the extracted image 101 is automatically detected to identify an arbitrary shape, or the mask image generator 77 automatically detects edges of various patterns in the frame image to extract the extracted image and its image. It is good to specify any shape.
- a crescent-shaped shape is specified as an arbitrary shape of the extracted image, as is clear from FIG. 16 described above.
- the present invention is not limited to this, and any other shape such as an arbitrary shape formed by a picture edge, an elliptical shape, a star shape, and a round shape may be designated as the arbitrary shape of the extracted image.
- the frame rate of the moving image data D1 is changed according to the data accumulation amount DR of the buffer 96 and the encoded prediction data amount has been described.
- the present invention is not limited to this, and the frame rate of the moving image data D1 may be changed according to the data accumulation amount DR of the buffer 96. Even if the frame rate is changed in this way, it is possible to stably stabilize the image quality of a moving image by properly coping with a rapid increase or decrease in the data storage amount DR.
- the moving picture coding apparatus As the moving picture coding apparatus according to the present invention, the moving picture coding apparatuses 30, 60 and 70 described above with reference to FIGS. 2 to 25 are applied.
- the present invention is not limited to this, and instead of moving picture data D1 supplied from a moving picture coding apparatus or a video camera to which a compression coding method such as the MPEG2 method is applied, external data is used.
- a moving image encoding device that compresses and encodes moving image data stored in advance therein, and further extracts and extracts extracted image data from moving image data supplied from a video camera or stored in advance and performs compression encoding.
- a personal computer that can simply compress and encode moving image data, or extract extracted image data from moving image data and perform compression encoding, such as a moving image encoding device that performs processing, etc. Yuta and mobile phones, as electronic devices such as a PDA (P e r s o n a l D i g i t a l A s s i s t a n c e), can be widely applied to various other video encoding apparatus.
- PDA P e r s o n a l D i g i t a l A s s i s t a n c e
- the moving picture coding apparatus when the moving picture coding apparatus according to the present invention is applied to an electronic device such as a personal computer, a mobile phone, a PDA, etc., the circuit blocks described above with reference to FIGS. 6 (A) through 6 (C), FIG. 7 (A) and FIG.
- the present invention can also be realized by executing the compression encoding procedure of D1.
- a program storage medium storing the program may be used, or a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting may be used. It may be installed via various communication interfaces such as a modem and a modem.
- a program storage medium for installing a program in an electronic device and making it executable for example, a floppy disk, a CD-ROM (Compact Act Disc—Read On Memory); N DVD D igita, It may be realized not only by a knockout medium such as 1 Versatile Disc, but also by a semiconductor memory or a magnetic disk in which a program is temporarily or permanently stored.
- a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting may be used, and various communication interfaces such as a router and a modem may be used. The information may be stored via a face.
- FIGS. Although the case where the above-described compression encoding units 37 and 72 are applied to FIG. 15 has been described, the present invention is not limited to this, and the moving image data is sequentially compressed and encoded in units of frame image data to encode. If encoded data can be generated, various other types of compression encoding means can be widely applied.
- the frame rate changing means for changing the frame rate of the moving image data according to the data storage amount of the buffer is shown in FIGS. 2 and 10 and FIG.
- the present invention is not limited to this. If it is possible, various other frame rate changing means can be widely applied.
- a motion vector for detecting a motion vector between frame image data and calculating a correlation value between the frame image data in accordance with the detection of the motion vector is shown in FIGS. 2 and 10 and FIG.
- the present invention is not limited to this. If the motion vector between the frame image data can be detected and the correlation value between the frame image data can be calculated along with the detection of the motion vector, the motion that detects the motion vector by the optical flow Various other motion vector detecting means such as a vector detecting means can be widely applied.
- a lower-layer motion vector detecting means for detecting a simple motion vector between frame image data in one or more lower layers lower than a predetermined layer
- the simple motion vector detectors 64 and 74 that detect the simple motion vectors D 24 and D 31 in the second layer using the hierarchical search motion vector detection method described above with reference to FIGS. 10 and 15 are used.
- the present invention is not limited to this, and if a simple motion vector between frame image data can be detected in one or more lower layers lower than a predetermined layer, Various other methods, such as lower-layer motion vector detection means, which sequentially detect low-resolution motion vectors in stages at lower layers than the fixed layer and finally detect simple motion vectors, etc. Lower motion vector Can be widely applied.
- the upper-layer motion vector detecting means for detecting the motion vector using the simple motion vector in one or more upper layers of a predetermined layer or more is illustrated in FIG.
- Motion vector detectors 66 and 9 for detecting the original image level motion vectors D26 and D37 in the first layer by the hierarchical search motion vector detection method described above with respect to 10 and FIG.
- the present invention is not limited to this, and the motion vector is detected using the easy motion vector in one or more upper layers above a predetermined layer. If this is possible, low-resolution motion vectors of multiple layers are detected sequentially in stages using simple motion vectors, and finally detected.
- Various other upper-layer motion vector detecting means such as an upper-layer motion vector detecting means for detecting a motion vector at an original image level, can be widely applied.
- the mask image data generating means for generating mask image data for sequentially extracting extracted image data of an arbitrary shape from each frame image data of the moving image data
- a mask image generator 77 that generates mask image data D 36 while tracking the extracted image data with respect to the first and second frame image data described above with reference to FIG. 15 is applied.
- the present invention is not limited to this, and if it is possible to generate mask image data for sequentially extracting extracted image data of an arbitrary shape from each frame image data of moving image data, Based on the tracking result of the extracted image data executed by another circuit block without performing the tracking process, or based on the specification of the extracted image data given from outside Good urchin such mask image data generating means for generating a disk image data, various other mask image data generation means can be widely applied.
- the lower-layer motion detecting device detects a simple moving vector between continuous frame image data of moving image data in one or more lower layers below a predetermined layer.
- a simple motion vector detector 74 detecting simple motion vectors D 24 and D 31 in the second layer by the hierarchical search motion vector detection method described above with reference to FIG. 15 is used.
- the present invention is not limited to this, and detects a simple motion vector between continuous frame image data of moving image data in one or a plurality of lower layers lower than a predetermined layer. If this is possible, lower-level motion vector detection means that detects low-resolution motion vectors sequentially in stages at a plurality of layers lower than the predetermined layer and finally detects simple motion vectors, etc.
- various lower layer motion vector detecting means can be widely applied.
- the tracking means for tracking the extracted image data of an arbitrary shape in the continuous frame image data of the moving image data by using the simple motion vector Track the extracted image data described above for 15
- the present invention is not limited to this, and a simple motion vector can be used to generate moving image data in continuous frame image data. If it is possible to trace the extracted image data of an arbitrary shape by using the tracking means that separates the mask image data generation processing and executes only the tracking processing, the tracking position of the extracted image data as the tracking result of the extracted image data
- various other tracking means such as a tracking means for outputting a result of discriminating the first and second macroblock data relating to the extracted image data on a pixel-by-pixel basis can be widely applied.
- one or more upper layers of a predetermined layer or higher share a simple motion vector and use the shared motion vector to reduce the distance between successive frame image data of moving image data.
- the upper layer motion vector detection means for detecting the original image level motion vector the original image level motion vector D 2 in the first layer by the hierarchical search motion vector detection method described above with reference to FIG. 6 and D37, the motion vector detector 91 has been described.
- the present invention is not limited to this, and the present invention is not limited to this. If the motion vector can be used to detect the motion vector at the original image level between successive frame image data of the moving image data, the motion vector of multiple layers can be detected using the simple motion vector.
- the upper motion base vector detecting means for detecting a stepwise sequentially detect and finally the original image level motion base-vector can be widely apply various other upper motion base vector detecting means.
- extracted image data is sequentially extracted from continuous frame image data of moving image data based on the tracking result of the extracted image data, and the extracted extracted image data is extracted.
- the case where the compression encoding unit 72 described above with reference to FIG. 15 is applied as compression encoding means for performing compression encoding by motion compensation prediction encoding using a motion vector has been described.
- the present invention is not limited to this, and extracts extracted image data sequentially from continuous frame image data of moving image data based on the tracking result of the extracted image data, and extracts the extracted image data. If compression encoding can be performed by motion compensation prediction encoding using a motion vector, compression encoding means having various other configurations can be widely applied. Industrial applicability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020037000253A KR100901173B1 (ko) | 2001-05-10 | 2002-05-09 | 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화 프로그램 기록 매체 |
EP02769556A EP1387586A4 (en) | 2001-05-10 | 2002-05-09 | DEVICE FOR CODING MOVING IMAGES |
US10/312,555 US7158570B2 (en) | 2001-05-10 | 2002-05-09 | Motion picture encoding apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-140217 | 2001-05-10 | ||
JP2001140217A JP4765194B2 (ja) | 2001-05-10 | 2001-05-10 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002093936A1 true WO2002093936A1 (en) | 2002-11-21 |
Family
ID=18986858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2002/004530 WO2002093936A1 (en) | 2001-05-10 | 2002-05-09 | Moving picture encoding apparatus |
Country Status (6)
Country | Link |
---|---|
US (1) | US7158570B2 (ja) |
EP (1) | EP1387586A4 (ja) |
JP (1) | JP4765194B2 (ja) |
KR (1) | KR100901173B1 (ja) |
CN (2) | CN1258924C (ja) |
WO (1) | WO2002093936A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004062291A1 (en) * | 2003-01-07 | 2004-07-22 | Koninklijke Philips Electronics N.V. | Audio-visual content transmission |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7433524B2 (en) * | 2003-05-08 | 2008-10-07 | Ricoh Company, Ltd. | Processing system with frame rate and image quality optimized |
US7818257B2 (en) * | 2004-07-16 | 2010-10-19 | Deluxe Laboratories, Inc. | Program encoding and counterfeit tracking system and method |
GB2407227B (en) * | 2003-09-08 | 2006-11-08 | Deluxe Lab Inc | Program encoding and counterfeit tracking system and method |
US7889792B2 (en) | 2003-12-24 | 2011-02-15 | Apple Inc. | Method and system for video encoding using a variable number of B frames |
US7492820B2 (en) | 2004-02-06 | 2009-02-17 | Apple Inc. | Rate control for video coder employing adaptive linear regression bits modeling |
US7869503B2 (en) * | 2004-02-06 | 2011-01-11 | Apple Inc. | Rate and quality controller for H.264/AVC video coder and scene analyzer therefor |
US7986731B2 (en) * | 2004-02-06 | 2011-07-26 | Apple Inc. | H.264/AVC coder incorporating rate and quality controller |
TWI238651B (en) * | 2004-04-30 | 2005-08-21 | Benq Corp | Method and apparatus for determining frame status of video data |
US20060012719A1 (en) * | 2004-07-12 | 2006-01-19 | Nokia Corporation | System and method for motion prediction in scalable video coding |
US7705884B2 (en) * | 2004-07-21 | 2010-04-27 | Zoran Corporation | Processing of video data to compensate for unintended camera motion between acquired image frames |
EP1631089A1 (en) * | 2004-08-30 | 2006-03-01 | Matsushita Electric Industrial Co., Ltd. | Video coding apparatus and decoding apparatus |
US8355434B2 (en) * | 2005-01-10 | 2013-01-15 | Qualcomm Incorporated | Digital video line-by-line dynamic rate adaptation |
US8019000B2 (en) * | 2005-02-24 | 2011-09-13 | Sanyo Electric Co., Ltd. | Motion vector detecting device |
US7676105B2 (en) * | 2005-05-31 | 2010-03-09 | Intel Corporation | Method, apparatus, article and system for use in association with images |
US7783781B1 (en) * | 2005-08-05 | 2010-08-24 | F5 Networks, Inc. | Adaptive compression |
JP2007134755A (ja) * | 2005-11-08 | 2007-05-31 | Hitachi Ltd | 動画像符号化装置及び画像記録再生装置 |
US8233535B2 (en) | 2005-11-18 | 2012-07-31 | Apple Inc. | Region-based processing of predicted pixels |
US8275909B1 (en) | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
JP4235209B2 (ja) * | 2006-02-10 | 2009-03-11 | Nttエレクトロニクス株式会社 | 動きベクトル検出装置および動きベクトル検出方法 |
JP2009528751A (ja) * | 2006-03-03 | 2009-08-06 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 差分符号化 |
JP4822952B2 (ja) * | 2006-06-26 | 2011-11-24 | 富士通セミコンダクター株式会社 | 符号化データ転送装置および符号化データ転送方法 |
KR20080022614A (ko) * | 2006-09-07 | 2008-03-12 | 삼성전자주식회사 | 글로벌 영상 검출 방법과, 표시 장치 및 이의 구동 방법 |
US20080198923A1 (en) * | 2007-01-05 | 2008-08-21 | Gramelspacher Michael S | Content signal modulation and decoding |
JP2008187222A (ja) * | 2007-01-26 | 2008-08-14 | Hitachi Ltd | 動きベクトル検出装置、動きベクトル検出方法、映像表示装置 |
TWI373696B (en) * | 2007-04-04 | 2012-10-01 | Mstar Semiconductor Inc | Methods of calculating a motion estimation value and estimating a motion vector of an image |
JP5217270B2 (ja) * | 2007-06-26 | 2013-06-19 | ソニー株式会社 | 画像処理装置およびその方法、並びにプログラム |
JP4375452B2 (ja) * | 2007-07-18 | 2009-12-02 | ソニー株式会社 | 画像処理装置、画像処理方法、及びプログラム、並びに表示装置 |
EP2048890A1 (en) * | 2007-10-11 | 2009-04-15 | Thomson Licensing | System and method for an early start of audio-video rendering |
US20090161978A1 (en) * | 2007-12-20 | 2009-06-25 | Marinko Karanovic | Halo Artifact Removal Method |
US8804044B2 (en) * | 2008-03-06 | 2014-08-12 | Entropic Communications, Inc. | Temporal fallback for high frame rate picture rate conversion |
US8150211B2 (en) * | 2008-03-12 | 2012-04-03 | Intel Corporation | Identifying patterns in data |
JP4742324B2 (ja) * | 2009-02-17 | 2011-08-10 | カシオ計算機株式会社 | 動画像を記録する記録装置、記録方法及びプログラム |
TWI433131B (zh) * | 2009-09-01 | 2014-04-01 | Chunghwa Picture Tubes Ltd | 顯示器驅動裝置及方法 |
CN101742221B (zh) * | 2009-11-09 | 2012-06-13 | 中兴通讯股份有限公司 | 一种会议电视系统中的多画面合成方法及装置 |
FR2955007B1 (fr) * | 2010-01-04 | 2012-02-17 | Sagem Defense Securite | Estimation de mouvement global et dense |
JP5707745B2 (ja) * | 2010-06-08 | 2015-04-30 | ソニー株式会社 | 画像安定化装置、画像安定化方法、及びプログラム |
WO2012102021A1 (ja) | 2011-01-25 | 2012-08-02 | パナソニック株式会社 | 動画像符号化方法および動画像復号化方法 |
US8745158B2 (en) * | 2011-09-30 | 2014-06-03 | Avid Technology, Inc. | Application-guided bandwidth-managed caching |
US9471833B1 (en) * | 2012-04-03 | 2016-10-18 | Intuit Inc. | Character recognition using images at different angles |
US9445058B2 (en) * | 2012-05-14 | 2016-09-13 | Intuitive Surgical Operations, Inc | Method for video processing using a buffer |
JP6120667B2 (ja) * | 2013-05-02 | 2017-04-26 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、プログラム、及び記録媒体 |
US9609338B2 (en) * | 2013-10-25 | 2017-03-28 | Microsoft Technology Licensing, Llc | Layered video encoding and decoding |
KR101599888B1 (ko) * | 2014-05-02 | 2016-03-04 | 삼성전자주식회사 | 적응적 영상 데이터 압축 방법 및 장치 |
JP2016053849A (ja) * | 2014-09-03 | 2016-04-14 | ソニー株式会社 | 画像処理装置および画像処理方法、並びに固体撮像装置 |
US10147158B2 (en) * | 2014-12-13 | 2018-12-04 | Microsoft Technology Licensing, Llc | Frame invalidation control with causality attribution |
WO2017188566A1 (ko) * | 2016-04-25 | 2017-11-02 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측 방법 및 장치 |
US10979744B2 (en) * | 2017-11-03 | 2021-04-13 | Nvidia Corporation | Method and system for low latency high frame rate streaming |
EP3818691B1 (en) * | 2018-10-04 | 2024-04-10 | Samsung Electronics Co., Ltd. | Method and system for recording a super slow motion video in a portable electronic device |
CN110568983B (zh) * | 2019-07-16 | 2022-08-12 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
WO2020251414A2 (en) * | 2019-09-29 | 2020-12-17 | Huawei Technologies Co., Ltd. | Method and apparatus of generating weighting masks for integer-slope split directions in inter prediction |
JP7435208B2 (ja) | 2020-04-24 | 2024-02-21 | サクサ株式会社 | 画像処理装置及びプログラム |
CN113596450B (zh) * | 2021-06-28 | 2022-11-11 | 展讯通信(上海)有限公司 | 视频图像压缩方法、解压缩方法、处理方法及装置、设备 |
CN114051142B (zh) * | 2022-01-13 | 2022-04-29 | 深圳市麦谷科技有限公司 | 硬件多路编码防抖方法、装置、智能终端及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07203456A (ja) * | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | 符号化装置と復号化装置と映像記録装置 |
JPH08336140A (ja) * | 1995-06-07 | 1996-12-17 | Sony Corp | 動きベクトル推定方法 |
JPH08335269A (ja) * | 1995-06-07 | 1996-12-17 | Sony Corp | 配列の誤差評価方法及び動きベクトル推定方法 |
JPH09261638A (ja) * | 1996-03-25 | 1997-10-03 | Matsushita Electric Ind Co Ltd | 画像符号化装置 |
WO1998037701A1 (en) | 1997-02-12 | 1998-08-27 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
JPH1118085A (ja) * | 1997-06-05 | 1999-01-22 | General Instr Corp | ビデオオブジェクト平面のための時間的及び空間的スケーラブル符号化 |
JPH1132301A (ja) * | 1997-07-10 | 1999-02-02 | Sony Corp | 画像処理装置および画像処理方法、並びに記録媒体 |
WO1999034331A1 (en) | 1997-12-31 | 1999-07-08 | Sarnoff Corporation | Apparatus and method for performing scalable hierarchical motion estimation |
JP2000078588A (ja) * | 1998-08-31 | 2000-03-14 | Sharp Corp | 動画像符号化装置 |
JP2000184379A (ja) * | 1998-12-18 | 2000-06-30 | Nippon Telegr & Teleph Corp <Ntt> | 符号化ビットレート変更方法および符号化ビット変更プログラムを記録した記録媒体 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3679426B2 (ja) * | 1993-03-15 | 2005-08-03 | マサチューセッツ・インスティチュート・オブ・テクノロジー | 画像データを符号化して夫々がコヒーレントな動きの領域を表わす複数の層とそれら層に付随する動きパラメータとにするシステム |
JPH0795584A (ja) * | 1993-07-30 | 1995-04-07 | Matsushita Electric Ind Co Ltd | 画像符号化装置 |
US5812200A (en) * | 1996-09-03 | 1998-09-22 | Lg Electronics, Inc. | Method and apparatus for constant data rate output of encoders |
US6028965A (en) * | 1997-05-13 | 2000-02-22 | Lg Electronics, Inc | Method and apparatus for intelligent codec system |
US6023296A (en) * | 1997-07-10 | 2000-02-08 | Sarnoff Corporation | Apparatus and method for object based rate control in a coding system |
US6535530B1 (en) * | 1997-07-23 | 2003-03-18 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for demultiplexing multiplexed data |
JPH11215502A (ja) * | 1998-01-27 | 1999-08-06 | Sanyo Electric Co Ltd | 動きベクトル検出装置及び方法 |
KR100275694B1 (ko) * | 1998-03-02 | 2000-12-15 | 윤덕용 | 실시간 동영상 부호화를 위한 초고속 움직임 벡터 추정방법 |
JP2000102015A (ja) * | 1998-09-22 | 2000-04-07 | Sharp Corp | 動きベクトル検出装置及び動きベクトル検出方法 |
JP2000175202A (ja) * | 1998-12-09 | 2000-06-23 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
US6421466B1 (en) * | 1999-09-29 | 2002-07-16 | Neomagic Corp. | Hierarchical motion estimation with levels of varying bit width for digital video compression |
KR100677082B1 (ko) * | 2000-01-27 | 2007-02-01 | 삼성전자주식회사 | 움직임 추정기 |
US6785427B1 (en) * | 2000-09-20 | 2004-08-31 | Arcsoft, Inc. | Image matching using resolution pyramids with geometric constraints |
US7082163B2 (en) * | 2000-11-20 | 2006-07-25 | Matsushita Electric Industrial Co., Ltd. | Picture coding method, picture coding apparatus and image relaying apparatus |
EP1259079B1 (en) * | 2001-04-30 | 2007-03-21 | STMicroelectronics Pvt. Ltd | An efficient low power motion estimation of a video frame sequence |
KR100446235B1 (ko) * | 2001-05-07 | 2004-08-30 | 엘지전자 주식회사 | 다중 후보를 이용한 움직임 벡터 병합 탐색 방법 |
-
2001
- 2001-05-10 JP JP2001140217A patent/JP4765194B2/ja not_active Expired - Fee Related
-
2002
- 2002-05-09 US US10/312,555 patent/US7158570B2/en not_active Expired - Fee Related
- 2002-05-09 EP EP02769556A patent/EP1387586A4/en not_active Withdrawn
- 2002-05-09 CN CNB028016041A patent/CN1258924C/zh not_active Expired - Fee Related
- 2002-05-09 KR KR1020037000253A patent/KR100901173B1/ko not_active IP Right Cessation
- 2002-05-09 CN CNB2005100739936A patent/CN100338958C/zh not_active Expired - Fee Related
- 2002-05-09 WO PCT/JP2002/004530 patent/WO2002093936A1/ja active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07203456A (ja) * | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | 符号化装置と復号化装置と映像記録装置 |
JPH08336140A (ja) * | 1995-06-07 | 1996-12-17 | Sony Corp | 動きベクトル推定方法 |
JPH08335269A (ja) * | 1995-06-07 | 1996-12-17 | Sony Corp | 配列の誤差評価方法及び動きベクトル推定方法 |
JPH09261638A (ja) * | 1996-03-25 | 1997-10-03 | Matsushita Electric Ind Co Ltd | 画像符号化装置 |
WO1998037701A1 (en) | 1997-02-12 | 1998-08-27 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
JPH1118085A (ja) * | 1997-06-05 | 1999-01-22 | General Instr Corp | ビデオオブジェクト平面のための時間的及び空間的スケーラブル符号化 |
JPH1132301A (ja) * | 1997-07-10 | 1999-02-02 | Sony Corp | 画像処理装置および画像処理方法、並びに記録媒体 |
WO1999034331A1 (en) | 1997-12-31 | 1999-07-08 | Sarnoff Corporation | Apparatus and method for performing scalable hierarchical motion estimation |
JP2000078588A (ja) * | 1998-08-31 | 2000-03-14 | Sharp Corp | 動画像符号化装置 |
JP2000184379A (ja) * | 1998-12-18 | 2000-06-30 | Nippon Telegr & Teleph Corp <Ntt> | 符号化ビットレート変更方法および符号化ビット変更プログラムを記録した記録媒体 |
Non-Patent Citations (3)
Title |
---|
JIANN-JONE CHEN ET AL.: "Source Model for Transform Video Coder and Its Application-Part II: Variable Frame Rate Coding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 7, no. 2, April 1997 (1997-04-01) |
See also references of EP1387586A4 |
TAMER SHANABLEH ET AL.: "Heterogeneous Video Transcoding to Lower SpatioTemporal Resolutions and Different Encoding Formats", IEEE TRANSACTIONS ON MULTIMEDIA, vol. 2, no. 2, 1 June 2000 (2000-06-01), pages 101 - 110 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004062291A1 (en) * | 2003-01-07 | 2004-07-22 | Koninklijke Philips Electronics N.V. | Audio-visual content transmission |
Also Published As
Publication number | Publication date |
---|---|
US20030174769A1 (en) | 2003-09-18 |
KR20030018042A (ko) | 2003-03-04 |
CN1462556A (zh) | 2003-12-17 |
EP1387586A1 (en) | 2004-02-04 |
CN1258924C (zh) | 2006-06-07 |
CN100338958C (zh) | 2007-09-19 |
US7158570B2 (en) | 2007-01-02 |
CN1684521A (zh) | 2005-10-19 |
JP2002335530A (ja) | 2002-11-22 |
KR100901173B1 (ko) | 2009-06-04 |
JP4765194B2 (ja) | 2011-09-07 |
EP1387586A4 (en) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2002093936A1 (en) | Moving picture encoding apparatus | |
JP5362831B2 (ja) | 構成参照フレームを用いた動画符号化システムおよび方法 | |
JP3072035B2 (ja) | 2ステージビデオフィルム圧縮方法及びシステム | |
JP5242404B2 (ja) | ビデオストリーミングにおける適応gop構造 | |
US8098729B2 (en) | Implementing B-picture scene changes | |
US20070025621A1 (en) | Coding device, coding method, decoding device, decoding method, and programs of same | |
EP1656791A2 (en) | Video compression method | |
EP1244311A2 (en) | Picture encoding | |
WO2006028156A1 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
KR100950525B1 (ko) | 트랜스코딩 장치 및 방법, 이에 사용되는 타겟비트할당 및픽처 복잡도 예측 장치 및 방법 | |
KR20050016203A (ko) | 디지털 영상을 압축하기 위한 디바이스 및 방법 | |
JP4421734B2 (ja) | 符号化データ変換方法,及びデータ記録媒体 | |
JP4779230B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム | |
JP2010010917A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法 | |
JP2002335531A (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム | |
JP3149673B2 (ja) | 映像符号化装置、映像符号化方法、映像再生装置及び光ディスク | |
JPH11308618A (ja) | 画像信号処理装置及び方法並びに画像信号再生装置 | |
JP4169767B2 (ja) | 符号化方法 | |
JP4243286B2 (ja) | 符号化方法 | |
JP3307367B2 (ja) | 可変転送レート符号化装置 | |
JPH1066092A (ja) | 映像データ圧縮装置およびその方法 | |
US7327892B2 (en) | JPEG2000 encoder | |
JP2007020216A (ja) | 符号化装置、符号化方法、フィルタ処理装置およびフィルタ処理方法 | |
JPH07264594A (ja) | 動画像の動き補償予測符号化方法 | |
JP3507042B2 (ja) | 動画像圧縮装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN KR US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020037000253 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10312555 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002769556 Country of ref document: EP Ref document number: 028016041 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 1020037000253 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2002769556 Country of ref document: EP |