WO2002093936A1 - Moving picture encoding apparatus - Google Patents

Moving picture encoding apparatus Download PDF

Info

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
Application number
PCT/JP2002/004530
Other languages
English (en)
French (fr)
Inventor
Takefumi Nagumo
Hiroyuki Yasuda
Satoshi Mitsuhashi
Yuji Ando
Takashi Kojima
Yiwen Zhu
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to KR1020037000253A priority Critical patent/KR100901173B1/ko
Priority to EP02769556A priority patent/EP1387586A4/en
Priority to US10/312,555 priority patent/US7158570B2/en
Publication of WO2002093936A1 publication Critical patent/WO2002093936A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods 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

明 細 書 動画像符号化装置 技術分野
本発明は動画像符号化装置に関し、 例えばインターネットを利用して動画像デ 一タを配信する際に当該動画像データを圧縮符号化する動画像符号化装置に適用 して好適なものである。 背景技術
近年、 インターネットを利用した動画像データの配信方法として、 ビデオカメ ラ等で被写体を撮像しながら得られる動画像データをインターネットを介してュ 一ザのパーソナルコンピュータ等に送信することにより当該動画像データに基づ く動画像をリアルタイムで見せるようにした、 いわゆるストリーミングと呼ばれ る配信方法が普及し始めている。
このようなストリーミングによる配信方法においては、 インターネットのデ一 タ転送速度が比較的低いため、 送信側に例えば MP EG 2 (Mo v i n g
P i c t u r e E p e r t s G r o u p h a s e 2) と呼ばれる H 縮符号化方式を適用した動画像符号化装置が設けられている。
ここで、 MPEG 2方式は、 I S O/I EC J TC 1 /S C 2/WG 1 1 ( I n t e r n a t i o n a l O r g a n i z a t i o n i o r S t a n— d a r d i z a t i o n/I n t e r n a t 'i o n a l E l e c t r o— t e c h n i c a l C o mm i s s i o n J o i n t Te c h n i c a l C o mm i t t e e/S u b C omm i t t e e 2 o r k i n g
G r o u 1 1) 等の機関によって標準化され、 動き補償予測符号ィ'匕と離散コ サイン変換 (DCT : D i s e r e t e C o s i n e T r a n s f o r m) とを組み合わせたハイプリット符号化方式を採用して規格化されている。 そして、 この MP EG 2方式では、 I ( I n t r a) ピクチャと呼ばれるフレ ーム内符号化画像 (イントラ符号化画像) と、 P (P r e d i c t i v e) ピク チヤと呼ばれるフレーム間順方向予測符号化画像と、 B (B i d i r e c - t i o n a 1 1 y r e d i c t i v e) ピクチャと呼ばれる双方向予測符号 化画像との 3種類のピクチャタイプが規定されており、 これら Iピクチャ、 Pピ クチャ及び Bピクチャのうちいずれかを動画像データを構成するフレーム画像デ 一タに順次所定の順番で割り当てて圧縮符号化するように規定されている。
実際にこの MPEG 2方式では、 フレーム内符号化、 順方向予測符号化、 逆方 向予測符号化及ぴ双方向予測符号化の 4種類の予測モードが規定されており、 I ピクチャを割り当てたフレーム画像については 1 6画素 X 1 6ラインのマクロブ 口ックと呼ばれる単位でフレーム內符号化により圧縮符号化し、 Pピクチャを割 り当てたフレーム画像についてはマクロプロック単位でフレーム内符号化又は順 方向予測符号化のいずれかにより圧縮符号化し、 さらに Bピクチヤを割り当てた フレーム画像についてはマクロプロック単位でフレーム内符号化、 順方向予測符 号化、 逆方向予測符号化及び双方向予測符号化のいずれかにより圧縮符号化する ように規定されている。
ところで、 図 26に示すように、 MP EG 2方式が適用された動画像符号化装 置 1においては、 外部から供給される動画像データをフレーム画像データ単位で 、 複数フレーム分の記録容量を有する入力用フレームメモリ 2に取り込み、 当該 入力用フレームメモリ 2に取り込んだフレーム画像データに Iピクチャ、 Pピク チヤ及び Bピクチャのうちいずれかを所定の順番で割り当てると共に、 その入力 用フレームメモリ 2に当該割り当てた Iピクチャ、 Pピクチャ及び Bピクチャを 表すピクチャタイプ情報をフレーム画像データに対応付けて記録する。
. ここで、 演算器 3は、 入力用フレームメモリ 2内で Iピクチャが割り当てられ たフレーム画像データ (以下、 これを第 1のフレーム画像データと呼ぶ) につい ては、 順次マクロブロック単位のデータ (以下、 これを第 1のマクロブロックデ ータと呼ぶ) として読み出す。 また、 動きべク トル検出器 4は、 演算器 3により入力用フレームメモリ 2から 第 1のマクロプロックデータが読み出される毎に当該第 1のマクロプロックデ一 タに対応するピクチャタイプ情報 (すなわち、 Iピクチャを表す) を読み出し、 そのピクチャタイプ情報に基づいて第 1のマクロプロックデータをフレーム内符 号化により圧縮符号化することを表す予測モードデータを生成してこれを動き捕 償器 5及び可変長符号化器 6に送出する。
これにより動き補償器 5は、 動きべクトル検出器 4から与えられた予測モード データ (フレーム内符号化を表す) に基づいて、 対応する第 1のマクロプロック データに対する動き補償処理を停止する。
従って、 演算器 3は、 入力用フレームメモリ 2から第 1のマクロブロックデー タを読み出すと、 このとき動き補償器 5からは何らデータが与えられないことに より当該第 1マクロプロックデータをそのまま離散コサイン変換器 7に送出する 離散コサイン変換器 7は、 演算器 3から与えられた第 1のマクロブロックデー タを離散コサイン変換し、 得られた離散コサイン変換係数を量子化器 8に送出す る。
量子化器 8は、 出力段に設けられたバッファ 9における符号化データの蓄積量 (以下、 これをデータ蓄積量と呼ぶ) を所定周期で検出し、 当該検出したデータ 蓄積量に応じて量子化ステツプを選定する。
これにより量子化器 8は、 離散コサイン変換器 7から与えられた離散コサイン 変換係数を対応する量子化ステップに基づいて量子化し、 得られた量子化係数を その量子化ステップと共に可変長符号化器 6及び逆量子化器 1 0に送出する。 可変長符号化器 6は、 量子化器 8から与えられた量子化係数をハフマン符号等 により可変長符号化 (V. L C : V a r i a b l e L e g t h C o d e ) す ると共に、 当該量子化器 8から与えられた量子化ステップ及び動きべクトル検出 器 4から与えられた予測モードデータも可変長符号化し、 得られた符号化データ をバッファ 9を介して外部に出力する。 このようにして動画像符号化装置 1においては、 入力用フレームメモリ 2内の 第 1のフレーム画像データを順次第 1のマクロプロックデータ単位でフレーム内 符号化により圧縮符号化し、 得られた符号化データを外部に出力する。
また、 逆量子化器 10は、 量子化器 8から与えられた量子化係数を同様に量子 化器 8から与えられた量子化ステツプに基づいて逆量子化し、 得られた離散コサ イン変換係数を逆離散コサイン変換器 1 1に送出する。
逆離散コサイン変換器 1 1は、 逆量子化器 1 0から与えられた離散コサイン変 換係数を逆離散コサイン変換 (I DCT : I n v e r s e D i s c r e t e C o s i n e T r a n s f o rm) し、 得られた第 1のマクロプロックデータ を加算器 1 2に送出する。
加算器 1 2は、 逆離散コサイン変換器 1 1から第 1のマクロプロックデータが 与えられると、 このとき動き補償器 5からは何らデータが与えられないことによ り当該第 1のマクロプロックデータをそのまま複数フレーム分の記録容量を有す る参照用フレームメモリ 1 3に送出して格納し、 かくして参照用フレームメモリ 1 3内に第 1のフレーム画像データを再構築する。
—方、 演算器 3は、 入力用フレームメモリ 2内で Pピクチャが割り当てられた フレーム画像データ (以下、 これを第 2のフレーム画像データと呼ぶ) について は、 順次マクロブロック単位のデータ (以下、 これを第 2のマクロブロックデー タと呼ぶ) として読み出す。
この場合、 動きべクトル検出器 4は、 演算器 3により入力用フレームメモリ 2 から第 2のマクロプロックデータが読み出される毎に、 当該入力用フレームメモ リ 2から同じ第 2のマクロプロックデータとこれに対応するピクチャタイプ情報 (すなわち、 Pピクチャを表す) とを読み出すと共に、 そのピクチャタイプ情報 に基づいて第 2のマクロブロックデータよりも順方向側 (時間的に過去) の第 1 又は第 2のフレーム画像データを順方向予測の参照用として読み出す。
そして、 動きベクトル検出器 4は、 ブロックマッチング法により参照用の第 1 又は第 2のフレーム画像データ内で第 2のマクロブロックデータを複数の比較用 プロックデータと順次対応付けながら当該第 2のマクロプロックデータ内の各画 素の画素値と比較用プロックデータのそれぞれ対応する画素の画素値との差分の 絶対値の総和 (以下、 これを予測誤差と呼ぶ) を算出する。
これにより動きべクトル検出器 4は、 第 2のマクロプロックデータと各比較用 プロックデータとの間で順次算出した予測誤差のうち最も値の小さい予測誤差 ( 以下、 これを特に最小予測誤差) を選定すると共に、 その最小予測誤差を算出し たときに用いた比較用プロックデータ (以下、 これを順方向近似プロックデータ と呼ぶ) を第 2のマクロプロックデータと最も一致するものとして検出し、 当該 検出した順方向近似プロックデータと第 2のマクロプロックデータとの動き量に より当該第 2のマクロプロックデータの順方向の動きべクトルを検出する。
これに加えて動きべク トル検出器 4は、 第 2のマクロプロックデータ内の各画 素の画素値の平均値を算出した後にその算出した平均値と各画素値との差分の絶 対値の総和 (以下、 これを分散値と呼ぶ) を算出し、 当該算出した分散値を最小 予測誤差と比較する。
この結果、 動きベクトル検出器 4は、 分散値が最小予測誤差よりも小さければ 、 第 2のマクロブロックデータに対して各画素の分散 (画素値のばらつき) が小 さいために当該第 2のマクロプロックデータをそのまま圧縮符号化しても符号化 データのデータ量 (以下、 これを符号化データ量と呼ぶ) を比較的少なくし得る と判断し、 その第 2のマクロプロックデータをフレーム内符号化により圧縮符号 化することを表す予測モードデータを生成してこれを動き補償器 5及ぴ可変長符 号化器 6に送出する。
これに対して動きべク トル検出器 4は、 分散値が最小予測誤差よりも大きけれ ば、 第 2のマクロブロックデータに対して各画素の分散 (画素値のばらつき) が 大きいために当該第 2のマクロプロックデータを順方向予測符号化により圧縮符 号化しなければ符号化データ量を少なくし難いと判断し、 その第 2のマクロプロ ックデータを順方向予測符号化により圧縮符号化することを表す予測モードデー タを生成してこれを当該第 2のマクロプロックデータの動きべク トルと共に動き 補償器 5及び可変長符号化器 6に送出する。
これにより動き捕償器 5は、 動きべクトル検出器 4から第 2のマクロプロック データに対してフレーム内符号化を表す予測モードデータが与えられると、 当該 第 2のマクロプロックデータに対する動き補償処理を停止する。
また、 動き補償器 5は、 動きべク トル検出器 4から第 2のマクロブロックデー タに対する動きべクトルと、 順方向予測符号化を表す予測モードデ一タとが与え られると、 動き補償処理を実行して参照用フレームメモリ 1 3から第 2のマクロ プロックデータよりも順方向側 (時間的に過去) の第 1又は第 2のフレーム兩像 データを参照用として読み出す。
そして、 動き捕償器 5は、 その第 1又は第 2のフレーム画像データ内から動き べクトルに基づいて第 2のマクロプロックデータと最も一致する演算用プロック データを抽出してこれを演算器 3及び加算器 1 2に送出する。
演算器 3は、 入力用フレームメモリ 2から読み出した第 2のマクロブロックデ ータに対する予測モードとしてフレーム内符号化が選択されたときには、 動き補 償器 5から演算用プロックデータが与えられないことにより当該第 2のマクロブ 口ックデータをそのまま離散コサイン変換器 7に送出する。
これにより動画像符号化装置 1においては、 第 2のマクロプロックデータに対 する予測モードとしてフレーム内符号化が選択されたときには、 離散コサイン変 換器 7、 量子化器 8、 可変長符号化器 6、 バッファ 9、 逆量子化器 1 0、 逆離散 コサイン変換器 1 1、 加算器 1 2及び参照用フレームメモリ 1 3をそれぞれ上述 した第 1のマクロプロックデータを圧縮符号化するときと同様に動作させる。 かくして動画像符号化装置 1においては、 第 2のマクロプロックデータを量子 化ステップ及ぴ予測モードデータと共に可変長符号化し、 得られた符号化データ を外部に出力すると共に、 圧縮した第 2のマクロプロックデータを復号化しで参 照用フレームメモリ 1 3に格納する。
また演算器 3は、 入力用フレームメモリ 2から読み出した第 2のマクロプロッ クデータに対する予測モードとして順方向予測符号化が選択されたときには、 動 き補償器 5から与えられた演算用プロックデータを当該第 2のマクロプロックデ ータから減算し、 得られた差分データを離散コサイン変換器 7に送出する。 この場合、 離散コサイン変換器 7は、 演算器 3から与えられた差分データを離 散コサイン変換し、 得られた離散コサイン変換係数を量子化器 8に送出する。 また、 量子化器 8は、 その離散コサイン変換係数を、 上述した第 1のマクロプ 口ックデータを処理したときと同様に選定した対応する量子化ステップに基づい て量子化し、 得られた量子化係数をその量子化ステップと共に可変長符号化器 6 及ぴ逆量子化器 1 0に送出する。
そして、 可変長符号化器 6は、 その量子化係数をハフマン符号等により可変長 符号化すると共に、 対応する量子化ステップ及び予測モードデータ (順方向予測 符号化を表す) 並びに動きベク トルも可変長符号化し、 このようにして得られた 符号化データをバッファ 9を介して外部に出力する。
このとき、 逆量子化器 1 0は、 量子化器 8から与えられた量子化係数を同様に 量子化器 8から与えられた量子化ステップに基づいて逆量子化し、 得られた離散 コサイン変換係数を逆離散コサイン変換器 1 1に送出する。
また、 逆離散コサイン変換器 1 1は、 逆量子化器 1 0から与えられた離散コサ イン変換係数を逆離散コサイン変換し、 得られた差分データを加算器 1 2に送出 する。
加算器 1 2は、 逆離散コサイン変換器 1 1から与えられた差分データをこのと き動き補償器 5から与えられた演算用プロックデータと加算し、 得られた第 2の マクロブロックデータを参照用フレームメモリ 1 3に送出して格納する。
このようにして動画像符号化装置 1においては、 第 2のフレーム画像データを 順次第 2のマクロブロックデータ単位で圧縮符号化したときにも参照用フレーム メモリ 1 3内にその第 2のフレーム画像データを再構築する。
これに加えて、 演算器 3は、 入力用フレームメモリ 2内で Bピクチャが割り当 てられたフレーム画像データ (以下、 これを第 3のフレーム画像データと呼ぶ) については、 順次マクロブロック単位のデータ (以下、 これを第 3のマクロプロ ックデータと呼ぶ) として読み出す。
この場合、 動きベクトル検出器 4は、 演算器 3により入力用フレームメモリ 2 から第 3のマクロプロックデータが読み出される毎に、 当該入力用フレームメモ リ 2から同じ第 3のマクロプロックデータとこれに対応するピクチャタイプ情報 (すなわち、 Bピクチャを表す) とを読み出すと共に、 そのピクチャタイプ情報 に基づいて第 3のマクロブロックデータよりも順方向側 (時間的に過去) の第 1 又は第 2のフレーム画像データ及び逆方向側 (時間的に未来) の第 1又は第 2の フレーム画像データを順方向予測、 逆方向予測及び双方向予測の参照用として読 み出す。
そして、 動きベクトル検出器 4は、 上述した第 2のマクロプロックデータのと きと同様にプロックマッチング法により順方向側の第 1又は第 2のフレーム画像 データ内で最小予測誤差 (以下、 これを特に順方向最小予測誤差と呼ぶ) となる 順方向近似ブロックデータを検出して第 3のマクロブロックデータに対する順方 向の動きべクトルを検出する。
同様に動きべクトル検出器 4は、 プロックマッチング法により逆方向側の第 1 又は第 2のフレーム画像データ内で最小予測誤差 (以下、 これを特に逆方向最小 予測誤差と呼ぶ) となる比較用プロックデータ (以下、 これを逆方向近似プロッ クデータと呼ぶ) を検出して第 3のマクロプロックデータに対する逆方向の動き べク トルを検出する。
さらに、 動きベクトル検出器 4は、 このように検出した順方向近似プロックデ 一タ及び逆方向近似ブロックデータを平均化して平均近似プロックデータを生成 し、 当該生成した平均近似ブ口ックデータと第 3のマクロプロックデータとの予 測誤差 (以下、 これを双方向予測誤差と呼ぶ) を算出する。
これにより動きベクトル検出器 4は、 順方向最小予測誤差、 逆方向最小予測誤 差及び双方向予測誤差のうち最も値の小さい 1つの順方向最小予測誤差、 逆方向 最小予測誤差又は双方向予測誤差を選定すると共に、 第 3のマクロプロックデ一 タに対しても上述した第 2のマクロブロックデータのときと同様にして分散値を 算出し、 当該算出した分散値をその選定した 1つの順方向最小予測誤差、 逆方向 最小予測誤差又は双方向予測誤差 (以下、 これを特に選定予測誤差と呼ぶ) と比 較する。
この結果、 動きベクトル検出器 4は、 分散値が選定予測誤差よりも小さければ 、 第 3のマクロプロックデータに対して各画素の分散 (ばらつき) が小さいため に当該第 3のマクロプロックデータをそのまま圧縮符号化しても符号化データ量 を比較的少なくし得ると判断し、 その第 3のマクロプロックデータをフレーム内 符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き 捕償器 5及び可変長符号化器 6に送出する。
これに対して動きべクトル検出器 4は、 分散値が選定予測誤差よりも大きけれ ば、 第 3のマクロブロックデータに対して各画素の分散 (ばらつき) が大きいた めに当該第 3のマクロブロックデータをフレーム内符号化以外の予測モ一ドで圧 縮符号化しなければ符号化データ量を少なくし難いと判断する。
このとき、 動きベクトル検出器 4は、 選定予測誤差が順方向最小予測誤差であ れば、 第 3のマクロブロックデータを順方向予測符号化により圧縮符号化するこ とを表す予測モードデータを生成してこれを当該第 3のマクロプロックデータの 順方向の動きベクトルと共に動き補償器 5及び可変長符号化器 6に送出する。 また、 動きべク トル検出器 4は、 その選定予測誤差が逆方向最小予測誤差であ れば、 第 3のマクロブロックデータを逆方向予測符号化により圧縮符号化するこ とを表す予測モードデータを生成してこれを当該第 3のマクロプロックデータの 逆方向の動きべクトルと共に動き補償器 5及び可変長符号化器 6に送出する。 さらに、 動きべク トル検出器 4は、 その選定予測誤差が双方向予測誤差であれ ば、 第 3のマクロブロックデータを双方向予測符号化により圧縮符号化すること を表す予測モードデータを生成してこれを当該第 3のマクロプロックデータの順 方向及ぴ逆方向の双方の動きべクトルと共に動き補償器 5及び可変長符号化器 6 に送出する。
動き補償器 5は、 動きべクトル検出器 4から第 3のマクロプロックデータに対 してフレーム内符号化を表す予測モードデータが与えられると、 当該第 3のマク 口プロックデータに対する動き補償処理を停止する。
また、 動き補償器 5は、 動きべク トル検出器 4から第 3のマクロプロックデー タに対する順方向の動きべクトルと、 順方向予測符号化を表す予測モードデータ とが与えられると、 動き補償処理を実行して参照用フレームメモリ 1 3から第 3 のマクロブロックデータよりも順方向側 (時間的に過去) の第 1又は第 2のフレ ーム画像データを参照用として読み出し、 当該読み出した第 1又は第 2のフレー ム画像データ内からその順方向の動きべクトルに基づいて第 3のマクロプロック データと最も一致する演算用プロックデータを抽出してこれを演算器 3及び加算 器 1 2に送出する。
さらに、 動き補償器 5は、 動きベクトル検出器 4から第 3のマクロプロックデ ータに対する逆方向の動きべクトルと、 逆方向予測符号化を表す予測モードデー タとが与え れると、 このときにも動き補償処理を実行して参照用フレームメモ リ 1 3から第 3のマクロブロックデータよりも逆方向側 (時間的に未来) の第 1 又は第 2のフレーム画像データを参照用として読み出し、 当該読み出した第 1又 は第 2のフレーム画像データ内からその逆方向の動きべクトルに基づいて第 3の マクロプロックデータと最も一致する演算用プロックデータを抽出してこれを演 算器 3及び加算器 1 2に送出する。
これに加えて動き捕償器 5は、 動きべクトル検出器 4から第 3のマクロプロッ クデータに対する順方向及ぴ逆方向の双方の動きべク トルと、 双方向予測符号化 を表す予測モードデータ.とが与えられたときにも動き補償処理を実行して参照用 フレームメモリ 1 3から第 3のマクロプロックデータよりも順方向側 (時間的に 過去) の第 1又は第 2のフレーム画像データと逆方向側 (時間的に未来) の第 1 又は第 2のフレーム画像データとを参照用として読み出す。
そして、 動き補償器 5は、 順方向側の第 1又は第 2のフレーム画像データ内か ら順方向の動きべク トルに基づいて第 3のマクロプロックデータと最も一致する 演算用プロックデータを抽出すると共に、 逆方向側の第 1又は第 2のフレーム画 像データ内から逆方向の動きべク トルに基づいて第 3のマクロプロックデータと 最も一致する演算用プロックデータを抽出し、 これら抽出した 2つの演算用プロ ックデータを平均化して演算用平均プロックデータを生成してこれを演算器 3及 ぴ加算器 1 2に送出する。
演算器 3は、 入力用フレームメモリ 2から読み出した第 3のマクロプロックデ ータに対する予測モードとしてフレーム内符号化が選択されたときには、 動き補 償器 5からは何らデータが与えられないことにより当該第 3のマクロプロックデ ータをそのまま離散コサイン変換器 7に送出する。
これにより動画像符号化装置 1においては、 第 3のマクロプロックデータに対 する予測モードとしてフレーム内符号化が選択されたときには、 離散コサイン変 換器 7、 量子化器 8、 可変長符号化器 6、 バッファ 9、 逆量子化器 1 0、 逆離散 コサイン変換器 1 1、 加算器 1 2及び参照用フレームメモリ 1 3をそれぞれ上述 した第 1のマクロプロックデータを圧縮符号化するときと同様に動作させ、 かく して第 3のマクロプロックデータを量子化ステップ及び予測モードデータと共に 可変長符号化し、 得られた符号化データを外部に出力すると共に、 圧縮した第 3 のマクロプロックデータを複号化して参照用フレームメモリ 1 3に格納する。 また、 演算器 3は、 入力用フレームメモリ 2から読み出した第 3のマクロプロ ックデータに対する予測モードとして順方向予測符号化、 逆方向予測符号化及び 双方向予測符号化が選択されたときには、 動き補償器 5から与えられた演算用ブ 口ックデータ又は演算用平均プロックデータを当該第 3のマクロプロックデータ から減算し、 得られた差分データを離散コサイン変換器 7に送出する。
この場合、 離散コサイン変換器 7は、 演算器 3から与えられた差分データを離 散コサイン変換し、 得られた離散コサイン変換係数を量子化器 8に送出する。 量子化器 8は、 その離散コサイン変換係数を、 上述した第 1のマクロプロック データを処理したときと同様に選定した対応する量子化ステップに基づいて量子 化し、 得られた量子化係数をその量子化ステツプと共に可変長符号化器 6及び逆 量子化器 1 0に送出する。 そして、 可変長符号化器 6は、 量子化係数の元になる第 3のマクロプロックデ ータの予測モードとして順方向予測符号化が選定されたときには、 当該量子化係 数をハフマン符号等により可変長符号化すると共に、 対応する量子化ステップ、 予測モードデータ (順方向予測符号化を表す) 、 順方向の動きベクトルも可変長 符号化し、 得られた符号化データをバッファ 9を介して外部に出力する。
また、 可変長符号化器 6は、 量子化係数の元になる第 3のマクロブロックデー タに対する予測モードとして逆方向予測符号化が選定されたときには、 当該量子 化係数をハフマン符号等により可変長符号化すると共に、 対応する量子化ステツ プ及ぴ予測モードデータ (逆方向予測符号化を表す) 並びに逆方向の動きべタ ト ルも可変長符号化し、 このようにして得られた符号化データをバッファ 9を介し て外部に出力する。
さらに、 可変長符号化器 6は、 量子化係数の元になる第 3のマクロブロックデ —タの予測モードとして双方向予測符号化が選定されたときには、 当該量子化係 数をハフマン符号等により可変長符号化すると共に、 対応する量子化ステップ、 予測モードデータ (双方向予測符号化を表す) 、 順方向及び逆方向の双方の動き ベタトルも可変長符号化し、 得られた符号化データをバッファ 9を介して外部に 出力する。
このとき、 逆量子化器 1 0は、 量子化器 8から与えられた量子化係数を同様に 量子化器 8から与えられた量子化ステツプに基づいて逆量子化し、 得られた離散 コサイン変換係数を逆離散コサイン変換器 1 1に送出する。
また、 逆離散コサイン変換器 1 1は、 逆量子化器 1 0から与えられた離散コサ イン変換係数を逆離散コサイン変換し、 得られた差分データを加算器 1 2に送出 する。
そして、 加算器 1 2は、 逆離散コサイン変換器 1 1から与えられた差分データ をこのとき動き補償器 5から与えられた演算用プロックデータ又は演算用平均ブ 口ックデータと加算し、 得られた第 3のマクロプロックデータを参照用フレーム メモリ 1 3に送出して格納する。 このようにして動画像符号化装置 1においては、 第 3の 7レーム画像データを 順次第 3のマクロプロックデータ単位で圧縮符号化したときにも、 参照用フレー ムメモリ 1 3内に第 3のフレーム画像データを再構築する。
かくしてこの動画像符号化装置 1においては、 動画像データを順次フレーム画 像データ単位で Iピクチャ、 Pピクチャ、 当該 Iピクチャ及ぴ Pピクチャ間又は 2つの Pピクチャ間に位置する Bピクチヤの順番を繰り返して圧縮符号化し、 得 られた符号化データを外部に出力するようになされている。
ところでこのような動画像符号化装置 1を用いた動画像データの配信において は、 インターネットのデータ転送速度に合わせて動画像符号化装置 1により動画 像データを比較的高い圧縮率で圧縮符号化する分、 ユーザに提供する動画像の画 質 (ノイズ等の有無を表す度合い) が劣化しており、 配信する動画像に対して高 画質化の要望が高まり始めている。
このため、 かかる動画像データの配信においては、 動画像符号化装置 1に供給 する動画像データから予めフレーム画像データを所定間隔で間引いてフレームレ ート (すなわち、 動画像における単位時間当りのフレーム画像数) を変更した後 に圧縮符号化する方法が提案されている。 - かかる方法によれば、 動画像データのフレームレートを下げて単位時間当りに 圧縮符号化すべきフレーム画像データの数を少なくする分、 残りのフレーム画像 データを順次比較的低い圧縮率で圧縮符号化することができ、 これによりユーザ に提供する動画像を高画質化し得ると考えられる。
ところがこの方法によれば、 動画像の絵柄の変化にかかわらずに動画像データ から単に所定間隔でフレーム画像データを間引くことにより、 その間引きによつ て残ったフレーム画像データ間において動画像の絵柄が著しく変化したときには 'これに応じて圧縮率が変化し、 この結果、 ユーザに提供する動画像の画質が変動 する問題があった。
また、 かかる動画像データの配信においては、 動画像符号化装置 1により動画 像データの連続するフレーム画像データ内から任意形状の画像のデータを順次追 跡しながら抽出し、 当該抽出した画像のデータ (以下、 これを抽出画像データと 呼ぶ) を圧縮符号化する方法が提案されている。
かかる方法によれば、 動画像データから連続する抽出画像データを抽出して圧 縮符号化すベきデータのデータ量を減らせる分、 当該連続する抽出画像データを 順次比較的低い圧縮率で圧縮符号化することができ、 この結果、 ユーザに動画像 の一部である連続する抽出画像を高画質化して提供することができると考えられ る。
ところがこの方法においては、 フレーム画像データ毎に各マクロプロックデ一 タの動きべクトルを検出し、 当該検出した動きべクトルを用いて順次フレーム画 像データから任意形状の抽出画像データを追跡している。
また、 この方法においては、 フレーム画像データ毎に各マクロプロックデータ の動きべク トルを検出し、 当該検出した動きべク トルを、 抽出画像データの追跡 結果を用いて順次フレーム画像データから抽出した抽出画像データと共に圧縮符 号化している。
従って、 この方法においては、 このように抽出画像データの追跡及ぴ圧縮符号 化に対してそれぞれ個別にマクロプロックデータの動きべクトルを検出すること により当該動きベクトルを検出するための演算量が大幅に増大し、 この結果、 抽 出画像データに対する圧縮符号化処理に多大な処理時間が必要となる問題があつ た。 発明の開示
本発明は以上の点を考慮してなされたもので、 所望の画質の動画像を適確に提 供し得る動画像符号化装置を提案しようとするものである。
かかる課題を解決するため本発明においては、 圧縮符号化手段により動画像デ —タを順次フレーム画像データ単位で圧縮符号化し、 得られた符号化データをバ ッファに一旦蓄積して出力しながら、 フレームレート変更手段により当該バッフ ァのデータ蓄積量に応じて動画像データのフレームレートを変更するようにした 従って、 動画像データに基づく動画像の絵柄の変化に応じて単位時間当りに圧 縮符号化すべきフレーム画像データの数を適確に変更して圧縮率を安定させ、 こ の結果、 動画像の画質を安定させることができ、 かくして所望の画質の動画像を 適確に提供することができる。
また、 本発明は以上の点を考慮してなされたもので、 任意形状の抽出画像デー タに対する圧縮符号化処理を高速化し得る動画像符号化装置を提案しようとする ものである。
かかる課題を解決するため本発明においては、 下層動きべクトル検出手段によ り所定階層よりも下階層で動画像データの連続するフレーム画像データ間の簡易 動きべクトルを検出し、 追跡手段によりその簡易動きべクトルを用いて動画像デ ータの連続するフレーム画像データ内で任意形状の抽出画像データを追跡し、 上 層動きべクトル検出手段でも所定階層以上の上階層でその簡易動きべク トルを共 有化して用いて動画像データの連続するフレーム画像データ間の原画像レベルの 動きべク トルを検出し、 圧縮符号化手段により抽出画像データの追跡結果に基づ V、て動画像データの連続するフレーム画像データから順次抽出画像データを抽出 しながら当該抽出した抽出画像データを動きべク トルを用いた動き補償予測符号 化により圧縮符号化するようにした。
従って、 抽出画像データの追跡用及ぴ当該抽出画像データの圧縮符号化用にそ れぞれ個別に動きべクトルを検出する場合に比べて動きべクトル検出時の演算量 を格段的に低減させることができ、 かくして任意形状の抽出画像データに対する 圧縮符号化処理を高速化することができる。 図面の簡単な説明
図 1は、 動画像データ配信システムにおける動画像データの配信形態を示す概 念図である。
図 2は、 本発明による動画像符号化装置の回路構成の第 1の実施の形態を示す プロック図である。
図 3は、 動画像データのフレーム画像データに割り当てたピクチャタイプの説 明に供する略線図である。
図 4は、 動画像データの圧縮符号化の説明に供する略線図である。
図 5は、 動画像データのフレームレートの変更の説明に供する略線図である。 図 6は、 動画像データの圧縮符号化処理手順を示すフロ一チャートである。 図 7は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 8は、 動画像データのフレーム画像データに割り当てた Iピクチャ、 Pピク チヤ及ぴ Bピクチャを示す略線図である。
図 9は、 動画像データのフレームレートを変更したときの動きべクトルの再検 出の説明に供する略線図である。
図 1 0は、 第 2の実施の形態による動画像符号化装置の回路構成を示すプロッ ク図である。
図 1 1は、 階層マクロプロックデータ及び階層フレーム画像データの生成の説 明に供する略線図である。
図 1 2は、 階層サーチ動きべクトル検出方式の説明に供する略線図である。 図 1 3は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 1 4は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 1 5は、 第 3の実施の形態による動画像符号化装置の回路構成を示すプロッ ク図である。
図 1 6は、 フレーム画像に対する抽出画像の初期位置及ぴ任意形状の指定の説 明に供する略線図である。
図 1 7は、 フレーム画像間における抽出画像の追跡の説明に供する略線図であ る。
図 1 8は、 マスク画像の構成を示す略線図である。
図 1 9は、 マスク画像データを用いた第 2のマクロブロックデータの判別の説 明に供する略線図である。 図 20は、 エッジ部分にかかる第 2のマクロプロックデータの動きべクトルの 検出の説明に供する略線図である。
図 2 1は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 2 2は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 2 3は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 24は、 動画像データの圧縮符号化処理手順を示すフローチャートである。 図 2 5は、 フレーム画像に対する抽出画像の任意形状の特定方法の説明に供す る略線図である。
図 2 6は、 従来の動画像符号化装置の回路構成を示すブロック図である。 発明を実施するための最良の形態
以下、 図面について、 本発明の一実施の形態を詳述する。
( 1 ) 動画像データ配信システムにおける動画像データの配信形態
図 1に示すように、 動画像データ配信システム 20においては、 送信側に I S O / I EC ( I n t e r n a t i o n a l O r g a n i z a t i o n f o r S t a n d a r d i z a t i o n/ i n t e r n a t i o n a l E l e c t r o t e c h n i c a l C omm i s s i o n) 等の機関によって 規格ィ匕された M PEG4 (Mo v i n g P i c t u r e E p e r t s G r o u p h a s e 4) と呼ばれる圧縮符号化方式を適用した動画像符号 化装置 2 1が設けられている。
この MP E G 4方式では、 MP E G 2方式とほぼ同様に動画像データを順次フ レーム画像データ単位で圧縮符号化するように規定されると共に、 これに加えて 動画像データのフレームレート (すなわち、 動画像における単位時間当りのフレ ーム画像数) を変更し得るように規定されている。
また、 この MP EG 4方式では、 動画像の連続するフレーム画像から任意形状 の画像を追跡しながら抽出し、 当該抽出した画像 (以下、 これを抽出画像と呼ぶ ) のデータ (以下、 これを抽出画像データと呼ぶ) を順次圧縮符号化し得るよう に規定されている。
従って、 この動画像データ配信システム 2 0においては、 送信側でビデオカメ ラ 2 2を用いて被写体を撮像することにより得られた動画像データを動画像符号 化装置 2 1に取り込み、 当該動画像符号化装置 2 1においてその動画像データを フレームレートを適宜変更しながら圧縮符号化し、 又は当該フレームレートを適 宜変更しながら動画像データから抽出画像データを抽出して圧縮符号化し、 得ら れた符号化ビッ トストリームをネットワーク送信装置 2 3からインターネット 2 4を介して受信側のパーソナルコンピュータ 2 5に送信する。
パーソナルコンピュータ 2 5は、 ネットワーク送信装置 2 3からインターネッ ト 2 4を介して送信された符号化ビットストリームを受信すると、 当該受信した 符号化ビットストリームを複号化して表示部に送出することにより当該表示部に フレームレートを変更した動画像又は当該フレームレートを変更した動画像内の 抽出画像を表示する。
かく してこの動画像データ配信システム 2 0においては、 フレームレートを適 宜変更しながら動画像データを配信し、 又は当該フレームレートを適宜変更した 動画像データから抽出画像データを抽出して配信することによりパーソナルコン ピュータ 2 5を介してユーザに高画質化した動画像又は同様に高画質化した抽出 画像を見せることができるようになされている。
( 2 ) 第 1の実施の形態
図 2において、 3 0は全体として第 1の実施の形態による動画像符号化装置を 示し、 被写体 (図示せず) を撮像している外部のビデオカメラ (図示せず) から 供給される動画像データ D 1を順次フレーム画像データ単位で、 フレームレート 変更処理部 3 1に設けられた複数フレーム分の記録容量を有する入力用フレーム メモリ 3 2に取り込む。
この場合、 フレームレート変更処理部 3 1のフレーム構造変換器 3 3は、 図 3 に示すように、 入力用フレームメモリ 3 2にフレーム画像データを取り込む毎に 当該取り込んだフレーム画像データに例えば Iピクチヤ及ぴ Pピクチャのピクチ ャタイプを 1つの Iピクチャと所定数の Pピクチャとが順次交互に連続するよう な順番で割り当てると共に、 その Iピクチャ及ぴ Pピクチャを表すピクチャタイ プとこれらを割り当てたフレーム画像データ固有のフレーム識別情報とをピクチ ャ情報として入力用フレームメモリ 3 2に記録する。
動きべクトル検出処理部 3 4の動きべクトル検出器 3 5は、 入力用フレームメ モリ 3 2内でフレーム画像データに Iピクチャが割り当てられたときには、 当該 Iピクチャの割り当てられたフレーム画像データ (以下、 これを第 1のフレーム 画像データと呼ぶ) のピクチャ情報を読み出す。
そして、 動きべク トル検出器 3 5は、 そのピクチャ情報に基づいて第 1のフレ ーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表し、 かつ当該第 1のフレーム画像データを順次マクロプロック単位のデータ (以下、 これを第 1のマクロブロックデータと呼ぶ) D 2としてフレーム内符号化により 圧縮符号化することを表す予測モードデータ D 3を生成し、 当該生成した予測モ ードデータ D 3を動きべク トルバッファ 3 6に送出して蓄積する。
また、 動きべク トル検出器 3 5は、 入力用フレームメモリ 3 2内でフレーム画 像データに Pピクチャが割り当てられたときには、 当該 Pピクチャの割り当てら れたフレーム画像データ (以下、 これを第 2のフレーム画像データと呼ぶ) のピ クチャ情報を読み出す。
そして、 動きべク トル検出器 3 5は、 そのピクチャ情報に基づいて対応する第 2のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報とし て表し、 かつ当該第 2のフレーム画像データを順次マクロプロック単位のデータ (以下、 これを第 2のマクロプロックデータと呼ぶ) D 4として順方向予測符号 化により圧縮符号化することを表す予測モードデータ D 5を生成する。
これに加えて動きべクトル検出器 3 5は、 このとき入力用フレームメモリ 3 2 から第 2のフレーム画像データを順次第 2のマクロブロックデータ D 4単位で読 み出すと共に、 当該第 2のフレーム画像データと順方向側 (時間的に過去) で隣 接する第 1又は第 2のフレーム画像データ D 6を参照用として読み出す。 そして、 動きベク トル検出器 3 5は、 プロックマッチング法により第 2のマク 口プロックデータ D 4を参照用の第 1又は第 2のフレーム画像データ D 6の所定 のサーチ範囲内で複数の比較用プロックデータと順次対応付けながら、 当該第 2 のマクロプロックデータ D 4内の各画素の画素値と比較用プロックデータのそれ ぞれ対応する画素の画素値との差分の絶対値の総和 (以下、 これを予測誤差と呼 ぶ) を算出する。
これにより動きべクトル検出器 3 5は、 第 2のマクロプロックデータ D 4と各 比較用ブロックデータとの間で順次算出した予測誤差のうち最も値の小さレ、予測 誤差 (以下、 これを特に最小予測誤差と呼ぶ) を選定する。
動きべクトル検出器 3 5は、 その最小予測誤差を算出したときに用いた比較用 ブロックデータ (以下、 これを近似ブロックデータと呼ぶ) を第 2のマクロプロ ックデータ D 4と最も一致するものとして検出し、 当該検出した近似プロックデ 一タと第 2のマクロプロックデータ D 4との動き量によりその第 2のマクロプロ ックデータ D 4の動きべク トル D 7を検出する。
かくして動きべクトル検出器 3 5は、 入力用フレームメモリ 3 2内の第 2のフ レーム画像データに対して予測モードデータ D 5を生成すると共に、 当該第 2の フレーム画像データ内における各第 2のマクロプロックデータ D 4の動きべクト ル D 7を検出すると、 これら予測モードデータ D 5及び各動きべクトル D 7を対 応付けて動きべク トルバッファ 3 6に送出して蓄積する。
このようにして動きべクトル検出器 3 5は、 入力用フレームメモリ 3 2にフレ ーム画像データが順次取り込まれて Iピクチャ及び Pピクチャが割り当てられる と、 その都度同様にして予測モードデータ D 3、 D 5を生成すると共に、 各第 2 のマクロプロックデータ D 4の動きべクトル D 7を検出してこれらを動きべク ト ルバッファ 3 6に送出して蓄積する。
圧縮符号化部 3 7は、 動きべクトル検出器 3 5により入力用フレームメモリ 3 2内の先頭の第 1のフレーム画像データから順番に所定フレーム数分のフレーム 画像データに対する予測モードデータ D 3、 D 5が生成されると共に、 各第 2の マクロプロックデータ D 4の動きべク トル D 7が検出されると第 1及び第 2のフ レーム画像データに対する圧縮符号化を開始する。
実際上、 圧縮符号化部 3 7において第 1及び第 2のフレーム画像データの圧縮 符号化を開始すると、 演算器 3 8は入力用フレームメモリ 3 2から先頭の第 1の フレーム画像データを順次第 1のマクロプロックデータ D 2単位で読み出す。 動き補償器 3 9は、 第 1及び第 2のフレーム画像データに対する圧縮符号化を 開始すると、 動きベク トルバッファ 3 6から予測モードデータ D 3と、 予測モー ドデータ D 5及ぴ動きべクトル D 7とを当該第 1及び第 2のフレーム画像データ に対する圧縮符号化の順番に従って読み出し始め、 演算器 3 8により入力用フレ ームメモリ 3 2から第 1のマクロプロックデータ D 2が読み出されたときには、 動きべクトルバッファ 3 6から読み出した対応する予測モードデータ D 3 (フレ ーム内符号化を表す) に基づいて当該第 1のマクロブロックデータ D 2に対する 動き補償処理を停止する。
従って、 演算器3 8は、 入力用フレームメモリ 3 2から第 1のマクロブロック データ D 2.を読み出すと、 このとき動き補償器 3 9からは何らデータが与えられ ないことにより当該第 1のマクロプロックデータ D 2をそのまま離散コサイン変 換器 4 0に送出する。
離散コサイン変換器 4 0は、 演算器 3 8から与えられた第 1のマクロプロック データ D 2を離散コサイン変換し、 得られた離散コサイン変換係数 K 1を量子化 器 4 1に送出する。
量子化器 4 1は、 出力段に設けられたバッファ 4 2における符号化データの蓄 積量 (以下、 これをデータ蓄積量と呼ぶ) D Rを所定周期で検出し、 当該検出し たデータ蓄積量 D Rに応じて量子化ステップ S Tを選定する。
これにより量子化器 4 1は、 離散コサイン変換器 4 0から与えられた離散コサ イン変換係数 K 1を対応する量子化ステップ S Tに基づいて量子化し、 得られた 量子化係数 K 2をその量子化に用いた量子化ステップ S Tと共に可変長符号化器 4 3及ぴ逆量子化器 4 4に送出する。 可変長符号化器 4 3は、 第 1及ぴ第 2のフレーム画像データに対する圧縮符号 化を開始すると、 動きべクトルバッファ 3 6から予測モードデータ D 3と、 予測 モードデータ D 5及ぴ動きべクトル D 7とを当該第 1及び第 2のフレーム画像デ ータに対する圧縮符号化の順番に従って読み出し始めており、 量子化器 4 1から 与えられた量子化係数 K 2をハフマン符号等により可変長符号化すると共に、 当 該量子化器 4 1から与えられた量子化ステップ S T及ぴ動きべク トルバッファ 3 6から読み出した対応する予測モードデータ D 3を可変長符号化し、 得られた符 号化データ D 1 0をバッファ 4 2に一旦蓄積することにより符号化データ量を平 滑化した符号化ビットス トリーム B S 1として外部に出力する。
このようにして動画像符号化装置 3 0においては、 入力用フレームメモリ 3 2 内の第 1のフレーム画像データを順次第 1のマクロブロックデータ D 2単位でフ レーム内符号化により圧縮符号化し得るようになされている。
また、 逆量子化器 4 4は、 量子化器 4 1から与えられた量子化係数 K 2を同様 に量子化器 4 1から与えられた量子化ステップ S Tに基づいて逆量子化し、 得ら れた離散コサイン変換係数 K 3を逆離散コサイン変換器 4 5に送出する。
逆離散コサイン変換器 4 5ほ、 逆量子化器 4 4から与えられた離散コサイン変 換係数 K 3を逆離散コサイン変換し、 得られた第 1のマクロプロックデータ D 1 1を加算器 4 6に送出する。
加算器 4 6は、 逆離散コサイン変換器 4 5から第 1のマクロプロックデータ D 1 1が与えられると、 このとき動き補償器 3 9からは何らデータが与えられてい ないことにより当該第 1のマクロブロックデータ D 1 1をそのまま複数フレーム 分の記録容量を有する参照用フレームメモリ 4 7に送出して格納する。
このようにして加算器 4 6は、 第 1のフレーム画像データの圧縮符号化により 逆離散コサイン変換器 4 5から第 1のマクロプロックデータ D 1 1が順次与えら れる毎に当該第 1のマクロプロックデータ D 1 1をそのまま参照用フレームメモ リ 4 7に送出して格納することにより、 参照用フレームメモリ 4 7内にこれら第 1のマクロプロックデータ D 1 1によって動き補償処理の参照用となる第 1のフ レーム画像データを再構築する。
また、 演算器 3 8は、 入力用フレームメモリ 3 2から第 1のフレーム画像デー タ内の全ての第 1のマクロプロックデータ D 2を読み出すと、 当該入力用フレー ムメモリ 3 2内の第 2のフレーム画像データを符号化対象として順次第 2のマク ロブロックデータ D 4単位で読み出す。
このとき動き補償器 3 9は、 動きべクトルバッファ 3 6から読み出した対応す る予測モードデータ D 5 (順方向予測符号化を表す) に基づいて動き補償処理を 実行して参照用フレームメモリ 4 7からこの時点に符号化対象となっている第 2 のフレーム画像データと順方向側 (時間的に過去) で隣接する第 1又は第 2のフ レーム画像データを参照用として読み出す。
そして、 動き補償器 3 9は、 動きベク トルバッファ 3 6から与えられた対応す る第 2のマクロプロックデータ D 4の動きべクトル D 7に基づいて参照用の第 1 又は第 2のフレーム画像データ内から当該第 2のマクロプロックデータ D 4と最 も一致する演算用ブロックデータ D 1 2を抽出してこれを演算器 3 8及び加算器 4 6に送出する。
従って、 演算器 3 8は、 入力用フレームメモリ 3 2から第 2のマクロプロック データ D 4を読み出すと、 このとき動き補償器 3 9から与えられた演算用マクロ ブロックデータ D 1 2を当該第 2のマクロプロックデータ D 4から減算し、 得ら れた差分データ D 1 3を離散コサイン変換器 4 0に送出する。
この場合、 離散コサイン変換器 4 0は、 演算器 3 8から与えられた差分データ D 1 3を離散コサイン変換し、 得られた離散コサイン変換係数 K 4を量子化器 4 1に送出する。 ,
また、 量子化器 4 1は、 離散コサイン変換器 4 0から与えられた離散コサイン 変換係数 K 4を上述した第 1のマクロプロックデータを処理したときと同様に選 定した対応する量子化ステップ S Tに基づいて量子化し、 得られた量子化係数 K 5をその量子化ステップ S Tと共に可変長符号化器 4 3及ぴ逆量子化器 4 4に送 出する。 これにより可変長符号化器 4 3は、 量子化器 4 1から与えられた量子化係数 K 5をハフマン符号等により可変長符号化すると共に、 当該量子化器 4 1から与え られた量子化ステップ S Tと動きべク トルバッファ 3 6から読み出した対応する 予測モードデータ D 5及び動きべク トル D 7も可変長符号化し、 得られた符号化 データ D 1 4をバッファ 4 2に一旦蓄積することにより符号化データ量を平滑化 した符号化ビットストリーム B S 1として外部に出力する。
このようにして動画像符号化装置 3 0においては、 入力用フレームメモリ 3 2 内の第 2のフレーム画像データを順次第 2のマクロプロックデータ D 4単位で順 方向予測符号化により圧縮符号化し得るようになされている。
このとき、 逆量子化器 4 4は、 量子化器 4 1から与えられた量子化係数 K 5を 同様に量子化器 4 1から与えられた量子化ステップ S Tに基づいて逆量子化し、 得られた離散コサイン変換係数 K 6を逆離散コサイン変換器 4 5に送出する。 また、 逆離散コサイン変換器 4 5は、 逆量子化器 4 4から与えられた離散コサ イン変換係数 K 6を逆離散コサイン変換し、 得られた差分データ D 1 5を加算器 4 6に送出する。
加算器 4 6は、 逆離散コサイン変換器 4 5から差分データ D 1 5が与えられる と、 このとき動き補償器 3 9から演算用プロックデータ D 1 3が与えられている ことにより当該差分データ D 1 5と演算用プロックデータ D 1 3とをカロ算し、 得 られた第 2のマクロプロックデータ D 1 6を参照用フレームメモリ 4 7に送出し て格納する。
このようにして加算器 4 6は、 第 2のフレーム画像データの圧縮符号化により 逆離散コサイン変換器 4 5から差分データ D 1 5が与えられる毎に当該差分デー タ D 1 5と、 これに対応する演算用プロックデータ D 1 3とを加算して第 2のマ クロプロックデータ D 1 6を生成し、 当該生成した第 2のマクロプロックデータ D 1 6を参照用フレームメモリ 4 7に送出して格納することによりその参照用フ レームメモリ 4 7内にこれら第 2のマクロプロックデータ D 1 6によって動き補 償処理の参照用となる第 2のフレーム画像データを再構築する。 かくしてこの動画像符号化装置 3 0においては、 図 4に示すように、 動画像デ ータ D 1を順次フレーム画像データ単位で I ピクチャについてはフレーム内予測 符号化により圧縮符号化すると共に、 Pピクチャについては時間的に 1フレーム 分過去の Iピクチャ又は Pピクチャを用いた順方向予測符号化により圧縮符号化 し、 得られた符号化ビットストリーム B S 1を外部に出力し得るようになされて いる。,
かかる構成に加えて、 この動画像符号化装置 3 0 (図 2 ) の場合、 動きべク ト ル検出器 3 5は、 1フレーム分の各第 2のマクロブロックデータ D 4に対する動 きべクトル D 7を検出する毎に、 これら各第 2のマクロプロックデータ D 4と参 照用の第 1又は第 2のフレーム画像データ D 6との間で算出した予測誤差を利用 して、 符号化対象の第 2のフレーム画像データの各画素の画素値と参照用の第 1 又は第 2のフレーム画像データ D 6の対応する画素の画素値との差分の絶対値の 総和 (以下、 これをフレーム間相関値と呼ぶ) S H 1を算出し、 当該算出したフ レーム間相関値 S H 1をフレーム構造変換器 3 3に送出する。
これによりフレーム構造変換器 3 3は、 動きべクトル検出器 3 5から与えられ たフレーム間相関値 S H 1に基づいて、 符号化対象の第 1及び第 2のフレーム画 像データを、 それぞれ配信先で動画像が所望の画質となるように選定された圧縮 率 (以下、 これを選定圧縮率と呼ぶ) で圧縮符号化した場合得られる符号化デー タ D 1 0及び D 1 4のデータ量 (以下、 これを符号化予測データ量と呼ぶ) を予 測する。 .
そして、 フレーム構造変換器 3 3は、 符号化対象の第 1及び第 2のフレーム画 像データに対する圧縮符号化を開始すると、 バッファ 4 2におけるデータ蓄積量 D Rを例えば 1フレーム分の第 1及び第 2のフレーム画像データを圧縮符号化す る毎の所定周期で検出すると共に、 当該検出したデータ蓄積量 D Rを予め設定さ れた所定の第 1の閾値及ぴ当該第 1の閾値よりも小さい第 2の閾値と比較する。 この結果、 フレーム構造変換器 3 3は、 データ蓄積量 D Rが第 1の閾値から第 2の閾値までの範囲内の値であれば、 当該データ蓄積量 D Rを検出した時点で圧 縮符号化している第 1又は第 2のフレーム画像データに続いて符号化対象となる 第 1又は第 2のフレーム画像データをほぼ選定圧縮率で圧縮符号化し得ると判断 し、 動画像データ D 1のフレームレートをそのまま変更しないようにする。 これに対してフレーム構造変換器 3 3は、 データ蓄積量 D Rが第 1の閾値より も大きいときには、 当該データ蓄積量 D Rを検出した時点で圧縮符号化している 第 1又は第 2のフレーム画像データに続いて符号化対象となる第 1又は第 2のフ レーム画像データを選定圧縮率よりも高い圧縮率で圧縮符号化して符号化データ 量を低減させなければ、 バッファ 4 2がオーバーフローすると共にその圧縮率の 変更に応じて配信先で動画像の画質が低下すると判断する。
このとき、 フレーム構造変換器 3 3は、 この時点で圧縮符号化している第 1又 は第 2のフレーム画像データに続いて符号化対象となる所定フレーム数分の第 1 及び第 2のフレーム画像データに対する符号化予測データ量と、 バッファ 4 2か ら出力される符号化ビッ トス トリーム B S 1のビッ トレートとに基づいて当該所 定フレーム数分の第 1及び第 2のフレーム画像データを選定圧縮率で圧縮符号化 するときのデータ蓄積量 D Rを推定する。
そして、 フレーム構造変換器 3 3は、 その推定したデータ蓄積量 D Rと、 第 1 及び第 2の閾値とに基づいて所定フレーム数分の第 1及ぴ第 2のフレーム画像デ ータから 1又は複数の第 2のフレーム画像データを選定し、 当該選定した第 2の フレーム画像データを入力フレームメモリ 3 2内から読出不可能な状態にして間 引くことにより動画像データ D 1のフレームレートを下げて変更する。
従って、 フレーム構造変換器 3 2は、 動画像データ D 1に基づく動画像の絵柄 が急激に変化する等して第 1又は第 2のフレーム画像データから得られる符号化 データ量と共にデータ蓄積量 D Rが増加したときでも、 当該増加したデータ蓄積 量 D Rに基づいて動画像データ D 1のフレームレートを下げることにより単位時 間当りに圧縮符号化すべき第 1及ぴ第 2のフレーム画像データの数を減らしてデ ータ蓄積量 D Rが急激に増加することを防止し、 この結果、 圧縮率が急激に高く なることを未然に防止して動画像の画質が急激に劣化することを防止し得るよう になされている。 , これに加えてフレーム構造変換器 3 3は、 このように動画像データ D 1のフレ ームレートを下げるときに所定フレーム数分の第 1及ぴ第 2のフレーム画像デー タの符号化予測データ量を用いることにより、 当該動画像データ D 1に基づく動 画像において絵柄が複数フレームに渡って比較的激しく動くようなとき (すなわ ち、 連続する第 1及ぴ第 2のフレーム画像データ間のフレーム間相関値 S H 1が 比較的低いとき) でも、 予め単位時間当りに圧縮符号化すべき第 1及び第 2のフ レーム画像データの数を低減させる分、 圧縮率が複数フレームに渡って比較的高 くなることを未然に防止して動画像の画質が複数フレームに渡つて劣化すること を防止し得るようになされている。
またフレーム構造変換器 3 3は、 このように動画像データ D 1のフレームレー トを低下させても、 バッファ 4 2のデータ蓄積量 D Rを検出しており、 当該検出 したデータ蓄積量 D Rが第 2の閾値よりも小さいときには、 符号化対象の第 1及 ぴ第 2のフレーム画像データを増やして圧縮符号化しても、 配信先で動画像に対 する所望の画質を維持し得ると判断する。
のとき、 フレーム構造変換器 3 3は、 現時点で圧縮符号化している第 1又は 第 2のフレーム画像データに続いて符号化対象となる所定フレ一ム数分の第 1及 び第 2のフレーム画像データ (間引きによって残っている第 1及び第 2のフレー ム画像データ) 及び当該所定フレーム数分の第 1及び第 2のフレーム画像データ 間からすでに間引いている 1又は複数の第 2のフレーム画像データの符号化予測 データ量と、 バッファ 4 2から出力される符号化ビッ トストリーム B S 1のビッ トレートとに基づいてこれら所定フレーム数分の第 1及び第 2のフレーム画像デ ータ及びずでに間引いている第 2のフレーム画像データを選定圧縮率で圧縮符号 化した場合のデータ蓄積量 D Rを推定する。
そして、 フレーム構造変換器 3 3は、 その推定したデータ蓄積量 D Rと、 第 1 及び第 2の閾値とに基づいて、 所定フレーム数分の第 1及び第 2のフレーム画像 データ間からすでに間引いている第 2のフレーム画像データのうち間引きを取り 消す 1又は複数の第 2のフレーム画像データを選定し、 当該選定した第 2のフレ ーム画像データを入力フレームメモリ 3 2内から読出可能な状態にして間引きを 取り消すことにより一且は低下させていたフレームレートを予め規定されている フレームレートを上回らないように上げて変更する。
従って、 フレーム構造変換器 3 3は、 動画像データ D 1に基づく動画像の絵柄 の変化が急激に減少する等して第 1又は第 2のフレーム画像データから得られる 符号化データ量と共にデータ蓄積量 D Rが低下したときでも、 当該低下したデー タ蓄積量 D Rに基づいて動画像データ D 1のフレームレートを上げて単位時間当 りに圧縮符号化すべき第 1及び第 2のフレーム画像データの数を増加させること によりデータ蓄積量 D Rを第 1及ぴ第 2の閾値の範囲内で増加させることができ 、 かく して動画像データ D 1のフレーム画像データを必要以上に間引いて動画像 の画質が所望の画質よりも高くなつて変動することを防止し得るようになされて いる。
これに加えて、 フレーム構造変換器 3 3は、 このように動画像データ D 1のフ レームレートを上げるときに所定フレーム数分の第 1及び第 2のフレーム画像デ —タ及ぴ当該所定フレーム数分の第 1及び第 2のフレーム画像データ間からすで に間引いている第 2のフレーム画像データの符号化予測データ量を用いることに より、 当該動画像データ D 1に基づく動画像において絵柄の変化が複数フレーム に渡って比較的安定しているようなとき (すなわち、 連続するフレーム画像デー タ間のフレーム間相関値 S H 1が比較的高いとき) でも、 予め単位時間当りに圧 縮符号化すべき第 1及ぴ第 2のフレーム画像データの数を増やして動画像データ D 1を複数フレーム画像データに渡って必要以上に間引くことを防止し得るよう になされている。
実際上、 フレーム構造変換器 3 3は、 図 5 (A) 乃至 (C ) に示すように、 動 画像データ D 1のフレームレートを下げるときには、 第 1のフレーム画像データ を残すことにより符号化ビットストリーム B S 1の複号化時に動画像データ D 1 を適確に復号化させ得るようになされている。 また、 フレーム構造変換器 3 3は、 フレームレートの変更に伴い動画像データ D 1から複数のフレーム画像データを間引くときには、 例えば第 2のフレーム画 像データを 1フレームおきに間引くことにより動画像データ D 1に基づく動画像 の連続性が著しく損なわれることを防止し得るようになされている。
ところで、 動画像データ D 1から第 2のフレーム画像データを間引くと、 当該 間引いた第 2のフレーム画像データと逆方向側 (時間的に未来) で隣接していた 残りの第 2のフレーム画像データについては、 その間引いた第 2のフレーム画像 データを参照用として用いて各マクロプロックデータ D 4の動きべクトルを検出 していることにより動きベク トルの再検出が必要となる。
このため、 フレーム構造変換器 3 3は、 動画像データ D 1の連続する第 1及び 第 2のフレーム画像データから 1フレームおきに 1又は複数の第 2のフレーム画 像データを間引くと、 当該間引いた第 2のフレーム画像データ (以下、 これを特 に間引きフレーム画像データと呼ぶ) のフレーム識別情報 (以下、 これを特に間 引きフレーム識別情報と呼ぶ) と、 この間引きにより各マクロブロックデータ D 4の動きベクトルの再検出が必要となる第 2のフレーム画像データ (以下、 これ を特に再検出フレーム画像データと呼ぶ) のフレーム識別情報 (以下、 これを特 に再検出フレーム識別情報と呼ぶ) とを表すと共に、 間引きによる動きベクトル の再検出が必要となることを表す動きべクトル再検出フラグ F G 1を生成してこ れを動きべクトル再検出器 4 8に送出する。
これにより動きベクトル再検出器 4 8は、 図 5 ( C ) に示すように、 フレーム 構造変換器 3 3から動きべク トル再検出フラグ F G 1が与えられると、 入力用フ レームメモリ 3 2から当該動きべク トル再検出フラグ F G 1によって指定された 再検出フレーム識別情報の示す再検出フレーム画像データのピクチャ情報を読み 出すことにより、 当該読み出したピクチャ情報に基づいて再検出フレーム画像デ 一タのフレーム識別情報を表し、 かつ当該再検出フレーム画像データを順次第 2 のマクロブロックデータ D 4単位で順方向予測符号化により圧縮符号化すること を表す予測モードデータ D 5を生成する。 また、 動きべクトル再検出器 4 8は、 このとき入力用フレームメモリ 3 2から 動きべクトル再検出フラグ F G 1によって指定された再検出フレーム識別情報の 示す再検出フレーム画像データを順次第 2のマクロプロックデータ D 4単位で読 み出すと共に、 当該再検出フレーム画像データと間引きにより順方向側で新たに 隣接する第 1又は第 2のフレーム画像データ D 6を参照用として読み出す。 そして、 動きべクトル再検出器 4 8は、 上述した動きべクトル検出器 3 5と同 様にプロックマッチング法により第 2のマクロプロックデータ D 4を参照用の第 1又は第 2のフレーム画像データ D 6の所定のサーチ範囲内で複数の比較用プロ ックデータと順次対応付けながら最小予測誤差となる近似ブロックデータを検出 し、 当該検出した近似プロックデータと第 2のマクロプロックデータ D 4との動 き量によりその第 2のマクロプロックデータ D 4の動きべクトル D 1 7を検出す る。
このようにして動きべクトル再検出器 4 8は、 再検出フレーム画像データに対 して予測モードデータ D 5を生成すると共に、 当該再検出フレーム画像データ内 における各第 2のマクロプロックデータ D 4の動きべクトル D 1 7を検出すると 、 これら予測モードデータ D 5及ぴ各動きべクトル D 1 7を対応付けて動きべク トルバッファ 3 6に送出して蓄積することにより、 この後動きべクトルバッファ 3 6からこれら予測モードデータ D 5及ぴ各動きべクトル D 1 7を動き補償器 3 9及ぴ可変長符号化器 4 3によって読出可能な状態にする。
これに加えて、 動きべクトル再検出器 4 8は、 動きべク トルバッファ 3 6に予 測モードデータ D 5及び各動きべク トル D 1 7を蓄積すると、 動きべクトル再検 出フラグ F Gによって指定された再検出フレーム識別情報及び間引きフレーム識 別情報に基づいて、 動きべク トルバッファ 3 6内から再検出フレーム画像データ に対する再検出前の予測モードデータ D 5及び動きべクトル D 7と、 間引きフレ ーム画像データの予測モードデータ D 5及び動きべクトル D 7とを読出不可能な 状態にする。
また、 フレーム構造変換器 3 3は、 動画像データ D 1のフレームレートを上げ ることにより、 間引きフレーム画像データの間引きを取り消すときには、 当該間 引きフレーム画像データの間引きによって動きべクトルを再検出した再検出フレ ーム画像データの再検出フレーム識別情報と、 その間引きを取り消す間引きフレ ーム画像データの間引きフレーム識別情報とを表すと共に、 間引きの取り消しを 表す動きべクトル再検出フラグ F G 2を生成してこれを動きべク トル再検出器 4 8に送出する。
これにより動きべクトル再検出器 4 8は、 フレーム構造変換器 3 3から動きべ クトル再検出フラグ F G 2が与えられると、 当該動きべクトル再検出フラグ F G 2によつて指定された再検出フレーム識別情報及び間引き取消フレーム識別情報 に基づいて、 動きべクトルバッファ 3 6内から再検出フレーム画像データに対し て再検出した予測モードデータ D 5及び動きべク トル D 1 7を読出不可能な状態 とし、 かつ再検出フレーム画像データに対する再検出前の予測モードデ一タ D 5 及び動きべクトル D 7と間引きフレーム画像データの予測モードデータ D 5及び 動きべクトル D 7とを読出可能な状態にする。
このようにして動きべクトル再検出器 4 8は、 動画像データ D 1のフレームレ —トを変更したときでも各第 1及び第 2のフレーム画像データを動きべクトル D 7、 D 1 7を用いて適確に圧縮符号化させ得るようになされている。
ここで、 この動画像符号化装置 3 0のフレームレート変更処理部 3 1と動きべ クトル検出処理部 3 4と圧縮符号化部 3 7とによる動画像データ D 1の圧縮符号 化処理手順についてまとめてみると、 図 6 (A) 及ぴ図 7 (A) に示すように、 まず動きべクトル検出処理部 3 4においては、 ルーチン R T 1の開始ステップか ら入ってステップ S P 1に移る。
ステップ S P 1において動きべク トル検出処理部 3 4は、 動きべクトル検出回 路 3 5により入力用フレームメモリ 3 2から第 2のフレーム画像データを順次第 2のマクロプロックデータ D 4単位で読み出すと共に、 当該第 2のフレーム画像 データに対する参照用の第 1又は第 2のフレーム画像データ D 6を読み出し、 プ 口ックマツ.チング法により参照用の第 1又は第 2のフレーム画像データを用いて これら各第 2のマクロプロックデータ D 4の動きべクトル D 7を検出し、 当該検 出した動きべクトル D 7を動きべクトルバッファ 3 6に蓄積するようにして 1フ レーム分の各第 2のマクロプロックデータ D 4の動きべクト /レ D 7を検出すると 、 ステップ S P 2に移る。
ステップ S P 2において動きべク トル検出処理部 3 4は、 動きべクトル検出器 3 5により、 各第 2のマクロプロックデータ D 4の動きべク トル D 7を検出する 際に算出した予測誤差を用いてこれら各第 2のマクロプロックデータ D 4を切り 出した第 2のフレーム画像データと、 参照用の第 1又は第 2のフレーム画像デー タ D 6との間のフレーム間相関値 S H Iを算出し、 当該算出したフレーム間相関 値 S H Iをフレーム構造変換器 3 3に送出してステップ S P 3に移る。
ステップ S P 3において動きべクトル検出処理部 3 4は、 動きべクトル再検出 器 4 8により動画像データ D 1のフレームレートが変更されたか否かを判断する このステップ S P 3において否定結果を得ることは、 未だ動画像データ D 1の 第 1及ぴ第 2のフレーム画像データに対する圧縮符号化が開始されていない、 又 は当該第 1及び第 2のフレーム画像データを順次選定圧縮率で圧縮符号化してい ることを意味し、 このとき動きベク トル検出処理部 3 4は、 動きベク トル再検出 器 4 8による動きべクトルの再検出処理を実行せずにステップ S P 1に戻り、 こ の後動画像データ D 1のフレームレートが変更されるまでの間はステップ S P 1 _ S P 2— S P 3の処理を循環的に繰り返すことにより順次第 2のフレーム画像 データにおける各第 2のマクロプロックデータ D 4の動きべクトル D 7を検出す ると共に、 その第 2のフレーム画像データと参照用の第 1又は第 2のフレーム画 像データ D 6との間におけるフレーム間相関値 S H Iを算出する。
このとき、 図 6 ( B ) に示すように、 圧縮符号化部 3 7は、 ルーチン R T 2の 開始ステップから入ってステップ S P 1 1に移り、 例えば演算器 3 8により動き べクトル検出処理部 3 4 (実際には動きべクトル検出器 3 5 ) において所定フレ ーム数分の第 2のフレーム画像データに対する各第 2マクロブロックデータ D 4 の動きべクトル D 7が検出されることを待ち受けており、 当該所定フレーム数分 の第 2のフレーム画像データにおける各マクロプロックデータ D 4の動きべク ト ル D 7が検出されると、 ステップ S P 1 2に移る。
ステップ S P 1 2において圧縮符号化部 3 7は、 入力用フレームメモリ 3 2内 の第 1及び第 2のフレーム画像データに対する圧縮符号化を開始し、 演算器 3 8 、 離散コサイン変換器 4 0、 量子化器 4 1及び可変長符号化器 4 3により第 1の フレーム画像データをフレーム内符号化により圧縮符号化して得られた符号化デ ータ D 1 0をバッファ 4 2に一旦蓄積し、 又は第 2のフレーム画像データを動き べク トルバッファ 3 6から読み出した動きべクトル D 7を用いて順方向予測符号 化により圧縮符号化して得られた符号化データ D 1 4をバッファ 4 2に一旦蓄積 すると共に、 圧縮符号化した第 1又は第 2のフレーム画像データを逆量子化器 4 .4、 逆離散コサイン変換器 4 5、 加算器 4 6及び動き補償器 3 9により参照用フ レームメモリ 4 7内に動き補償処理の参照用として再構築してステップ S P 1 3 に移る。
ステップ S P 1 3において圧縮符号化部 3 7は、 バッファ 4 2に一旦蓄積した 符号化データ D 1 0及び D 1 4の符号化データ量を平滑化することによりこれら 符号化データ D 1 0及び D 1 4を符号化ビットス トリーム B S 1として外部に出 力してステップ S P 1 4に移る。
ステップ S P 1 4において圧縮符号化部 3 7は、 演算器 3 8による入力用フレ ームメモリ 3 2からの第 1及び第 2のフレーム画像データの読み出し状況に応じ て符号化対象の第 1及び第 2のフレーム画像データを全て圧縮符号化したか否か を判断し、 未だ符号化対象の第 1及び第 2のフレーム画像データを全て圧縮符号 化していなければ、 ステップ S P 1 2に戻る。
このため、 圧縮符号化部 3 7は、 この後符号化対象の第 1及び第 2のフレーム 画像データを全て圧縮符号化するまでの間は、 ステップ S P 1 2— S P 1 3— S P 1 4の処理を循環的に繰り返すことにより当該符号化対象の第 1のフレーム画 像データをフレーム内符号化により圧縮符号化すると共に、 符号化対象の第 2の フレーム画像データを動きべクトルバッファ 3 6から読み出した動きべクトル D 7を用いて順方向予測符号化により圧縮符号化し、 得られた符号化データ D 1 0 及び D 1 4を符号ィ匕ビットス トリーム B S 1として出力する。
一方、 図 6 ( C ) 及び図 7 ( C ) に示すように、 フレームレート変更処理部 3 1は、 ルーチン R T 3の開始ステップから入ってステップ S P 2 1に移り、 フレ ーム構造変換器 3 3により動きべク トル検出器 3 5から与えられるフレーム間相 関値 S H 1に基づいて第 1又は第 2のフレーム画像データの符号化予測データ量 を予測してステップ S P 2 2に移る。
ステップ S P 2 2においてフレームレート変更処理部 3 1は、 フレーム構造変 換器 3 3により第 1及び第 2のフレーム画像データに対する圧縮符号化が開始さ れたか否かを判断し、 当該第 1及び第 2のフレーム画像データに対する圧縮符号 化が開始されていなければ、 ステップ S P 2 1に戻る。
従って、 フレームレート変更処理部 3 1は、 第 1及び第 2のフレーム画像デー タの圧縮符号化が開始されるまでの間はステップ S P 2 1— S P 2 2の処理を循 環的に繰り返すことにより順次第 1及び第 2のフレーム画像データの符号化予測 データ量を予測する。
そして、 フレームレート変更処理部 3 1は、 演算器 3 8により入力用フレーム メモリ 3 2から第 1及び第 2のフレーム画像データが順次第 1及ぴ第 2のマクロ ブロックデータ D 2及び D 4単位で読み出されることにより圧縮符号化部 3 7に おいて第 1及び第 2のフレーム商像データに対する圧縮符号化が開始されると、 ステップ S P 2 3に移る。
ステップ S P 2 3においてフレームレート変更処理部 3 1は、 フレーム構造変 換器 3 3によりバッファ 4 2のデータ蓄積量 D Rを検出し、 当該検出したデータ 蓄積量 D Rを第 1の閾値及び第 2の閾値と比較することによりそのデータ蓄積量 D Rが第 1の閾値から第 2の閾値までの範囲内の値であるか否かを判断する。 このステップ S P 2 3において肯定結果を得ることは、 この時点で圧縮符号化 している第 1又は第 2 -のフレーム画像データに続く第 1又は第 2のフレーム画像 データをほぼ選定圧縮率で圧縮符号化し得ることを意味し、 このときフレームレ ート変更処理部 3 1は、 フレーム構造変換器 3 3により動画像データ D 1のフレ ームレートをそのまま変更せずにステップ S P 2 1に戻り、 この後動画像データ D 1のフレームレートの変更が必要となるまでの間はステップ S P 2 1 - S P 2 2 - S P 2 3の処理を循環的に繰り返す。
またステップ S P 2 3において否定結果を得ることは、 データ蓄積量 D Rが第 1の閾値から第 2の閾値までの範囲外の値となって動画像データ D 1のフレーム レートを変更する必要があることを意味し、 このときフレームレート変更処理部 3 1はステップ S P 2 4に移る。
ステップ S P 2 4においてフレームレート変更処理部 3 1は、 フレーム構造変 換器 3 3によりデータ蓄積量 D Rが第 1の閾値よりも大きい値であるか否かを判 断する。
このステップ S P 2 4において肯定結果を得ることは、 データ蓄積量 D Rが第 1の閾値よりも大きい値であるためにこの時点で圧縮符号化している第 1又は第 2のフレーム画像データに続く第 1又は第 2のフレーム画像データを選定圧縮率 よりも高圧縮率で圧縮符号化することになり動画像の画質が低下する可能性があ ることを意味し、 このときフレームレート変更処理部 3 1はステップ S P 2 5に 移る。
ステップ S P 2 5においてフレームレート変更処理部 3 1は、 フレーム構造変 換器 3 3により、 この時点で圧縮符号化されているフレーム画像データに続く所 定フレーム数分のフレーム画像データの符号化予測データ量と符号化ビッ トス ト リーム B S 1のビッ トレートとに基づいてデータ蓄積量 D Rの変化を推定し、 当 該推定したデータ蓄積量 D Rと第 1及ぴ第 2の閾値とに基づいてフレーム画像デ ータを間引いて動画像データ D 1のフレームレートを下げると共に、 動きべクト ル再検出フラグ F G 1を動きべクトル再検出器 4 8に送出してステップ S P 2 6 に移る。
これに対してステップ S P 2 4において否定結果を得ることは、 動画像データ D 1から第 2のフレーム画像データを間引いてフレームレートを下げたものの、 データ蓄積量 D Rが第 2の閾値よりも小さ!/、値であるために第 2のフレーム画像 データを増やしても動画像に対する所望の画質を維持し得ることを意味し、 この ときフレームレート変更処理部 3 1はステップ S P 2 7に移る。
ステップ S P 2 7においてフレームレート変更処理部 3 1は、 フレーム構造変 換器 3 3により、 この時点で圧縮符号化されているフレーム画像データに続く所 定フレーム数分のフレーム画像データ及び当該所定フレーム数分のフレーム画像 データ間からすでに間引いているフレーム画像データの符号化予測データ量と、 符号化ビットストリーム B S 1のビットレートとに基づいてこれらすでに間引い てい フレーム画像データの間引きを取り消したときのデータ蓄積量 D Rの変化 を推定する。
そして、 フレームレート変更処理部 3 1は、 その推定したデータ蓄積量 D と 第 i及び第 2の閾値とに基づいて、 すでに間引いているフレーム画像データの間 引きを取り消すことにより、 一旦は低下させていたフレームレートを規定のフレ ームレートを上回らないように上げると共に、 動きべクトル再検出フラグ F G 2 を動きべクトル再検出器 4 8に送出してステップ S P 2 6に移る。
ステップ S P 2 6においてフレームレート変更処理部 3 1は、 フレーム構造変 換器 3 3により、 演算器 3 8による入力用フレームメモリ 3 2からの第 1及ぴ第 2のフレーム画像データの読み出し状況に応じて符号化対象の第 1及び第 2のフ レーム画像データが全て圧縮符号化されたか否かを判断し、 未だ符号化対象の第 1及び第 2のフレーム画像データが全て圧縮符号化されていなければ、 ステップ S P 2 1に戻る。
従って、 フレームレート変更処理部 3 1は、 この後符号化対象の第 1及び第 2 のフレーム画像データが全て圧縮符号化されるまでの間はステップ S P 2 1 - S P 2 2— 2 3— S P 2 4— S P 2 5— S P 2 6の処理を循環的に繰り返すことに より順次第 1及び第 2のフレーム画像データの符号化予測データ量を予測しなが ら動画像データ D 1のフレームレートを適宜変更する。 このときステップ S P 3において動きべクトル検出処理部 3 4は、 動きべク ト ル再検出器 4 8によりフレーム構造変換器 3 3から与えられる動きべクトル再検 出フラグ F G 1及び F G 2に基づいて動画像データ D 1のフレームレートが変更 されたと判断してステップ S P 4に移る。
ステップ S P 4において動きべク トル検出処理部 3 4は、 動きべクトル再検出 器 4 8により動画像データ D 1のフレームレートの変更に伴い動きべクトル D 1 7の再検出が必要であるか否かを判断する。
このステップ S P 4において肯定結果を得ることは、 動画像データ D 1のフレ 一ムレートが下げられたことによりフレーム構造変換器 3から与えられた動きべ クトル再検出フラグ F G 1に基づいて、 間引かれた第 2のフレーム画像データと 隣接する再検出フレーム画像データの各第 2のマクロブロックデータ D 4の動き ベタトル D 1 7を再検出することを意味し、 このとき動きべクトル検出処理部 3 4はステップ S P 5に移り、 動きべクトル再検出器 4 8により再検出フレーム画 像データにおける各第 2のマクロプロックデータ D 4の動きべク トル D 1 7を再 検出してステップ S P 6に移る。
そしてステップ S P 6において動きべクトル検出処理部 3 4は、 動きべクトル 再検出器 4 8により動きべクトル再検出フラグ F G 1に基づいて動きべクトルバ ッファ 3 6を制御することにより再検出した動きべク トル D 1 7を一且蓄積する と共に、 再検出フレーム画像データに対する再検出前の動きべク トル D 7と間引 きフレーム画像データの動きべク トル D 7とを読出不可能な状態にしてステップ S P 7に移る。
これに対してステップ S P 4において否定結果を得ることは、 動画像データ D 1のフレームレートが上げられたことにより動きべクトル D 1 7の再検出が必要 ないことを意味し、 このとき動きべクトル検出処理部 3 4はステップ S P 6に移 る。
そしてステップ S P 6において動きべクトル検出処理部 3 4は、 動きべクトル 再検出器 4 8によりフレーム構造変換器 3から与えられた動きべクトル再検出フ ラグ F G 2に基づいて動きべクトルバッファ 3 6を制御することにより再検出フ レーム画像データに対して再検出していた動きべクトル D 1 7を読出不可能な状 態とし、 かつ再検出フレーム画像データに対する再検出前の動きべクトル D 7と 間引きを取り消した間引きフレーム画像データの動きべク トル D 7とを読出可能 な状態にしてステップ S P 7に移る。
ステップ S P 7において動きべク トル検出処理部 3 4は、 動きベクトル検出器 3 5により入力用フレームメモリ 3 2内の全ての第 1及び第 2のフレーム画像デ ータにおける各第 1及び第 2のマクロプロックデータ D 2及び D 4の動きべク ト ルを検出したか否かを判断し、 入力用フレームメモリ 3 2内の全ての第 1及び第 2のフレーム画像データにおける各第 1及び第 2のマクロブロックデータ D 2及 び D 4の動きべク トルを検出していなければ、 ステップ S P 1に戻る。
従って、 動きベク トル検出処理部 3 4は、 入力用フレームメモリ 3 2内に第 1 及び第 2のマクロプロックデータ D 2及び D 4の動きべクトルを検出すべき第 1 及び第 2のフレーム画像データが取り込まれている間はステップ S P 1— S P 2 一 S P 3— S P 4— S P 5— S P 6— S P 7の処理を循環的に繰り返すことによ り入力用フレームメモリ 3 2内の第 1及び第 2のフレーム画像データにおける各 第 1及び第 2のマクロプロックデータ D 2及び D 4の動きべクトル D 7を順次検 出すると共に、 再検出フレーム画像データにおける各第 2のマクロプロックデ一 タ D 4の動きべクトル D 1 7を適宜再検出する。
そして、 ステップ S P 7において動きベクトル検出処理部 3 4は、 入力用フレ ームメモリ 3 2内の全ての第 1及ぴ第 2のフレーム画像データにおける各第 1及 び第 2のマクロプロックデータ D 2及び D 4の動きべクトル D 7を検出すると、 ステップ S P 8に移る。
ステップ S P 8において動きべク トル検出処理部 3 4は、 動き補償器 3 9によ る動きべク トルバッファ 3 6からの動きべク トル D 7及ぴ D 1 7の読み出し状況 に応じて符号化対象の第 1及び第 2のフレーム画像データが全て圧縮符号化され たか否かを判断し、 未だ第 1及び第 2のフレーム画像データの圧縮符号化が終了 していなければ、 ステップ S P 3に戻る。
従って、 動きべク トル検出処理部 34は、 この後符号化対象の第 1及び第 2の フレーム画像データが全て圧縮符号化されるまでの間はステップ S P 3— S P 4 -S P 5-S P 6-S P 7-S P 8の処理を循環的に繰り返すことにより再検出 フレーム画像データにおける各第 2のマクロブロックデータ D 4の動きべクトル D 1 7を適宜再検出する。
かくして圧縮符号化部 3 7は、 符号化対象の第 1及び第 2のフレーム画像デー タを全て圧縮符号化するまでの間はステップ S P 1 2-S P 1 3 -S P 14の処 理を循環的に繰り返すものの、 動画像データ D 1のフレームレートが下げられる ことにより再検出フレーム画像データに対して動きべクトル D 1 7が再検出され ると、 符号化対象の第 2のフレーム画像データを、 動きべクトルバッファ 3 6か ら読み出したその動きべクトル D 1 7を用いて順方向予測符号化により圧縮符号 化する。
そして、 圧縮符号化部 3 7は、 ステップ S P 1 4において符号化対象の第 1及 び第 2のフレーム画像データを全て圧縮符号化したと判断すると、 ステップ S P 1 5に移って当該圧縮符号化部 37における処理手順を終了する。
また、 圧縮符号化部 3 7がこのように処理手順を終了すると、 フレームレート 変更処理部 3 1はステップ S P 26において符号化対象の第 1及び第 2のフレー ム画像データが全て圧縮符号化されたと判断してステップ S P 28に移ることに より当該フレームレート変更処理部 31の処理手順を終了すると共に、 動きべク トル検出処理部 34もステップ S P 8において符号化対象の第 1及び第 2のフレ ーム画像データが全て圧縮符号化されたと判断してステップ S P 9に移ることに より当該動きべクトル検出処理部 34の処理手順を終了し、 かくして動画像符号 化装置 30における動画像データ D 1の圧縮符号化処理手順を全て終了する。 以上の構成において、 この動画像符号化装置 30では、 外部から供給される動 画像データ D 1を順次フレーム画像データ単位で入力用フレームメモリ 32に取 り込み、 当該入力用フレームメモリ 3 2に取り込んだフレーム画像データに I ピ クチャ及ぴ Pピクチヤを所定の順番で割り当てる。
そして、 この動画像符号化装置 3 0では、 動きべクトル検出器 3 5により入力 用フレームメモリ 3 2内の第 2のフレーム画像データを順次第 2のマクロプロッ クデ一タ D 4単位で読み出して当該読み出した各第 2のマクロブロックデータ D 4の動きべク 'トル D 7を検出する。
この状態で動画像符号化装置 3 0では、 圧縮符号化部 3 7により入力用フレー ムメモリ 3 2から第 1のフレーム画像データを順次第 1のマクロブロックデータ D 2単位で読み出してフレーム内符号化により圧縮符号化し、 得られた符号化デ ータ D 1 0をバッファ 4 2に一旦蓄積すると共に、 当該入力用フレームメモリ 3 2から第 2のフレーム画像データを順次第 2のマクロブロックデータ D 4単位で 読み出して対応する動きべクトル D 7を用いた順方向予測符号化により圧縮符号 化し、 得られた符号化データ D 1 4をバッファ 4 2に一旦蓄積し、 当該バッファ 4 2から符号化データ D 1 0及び D 1 4を符号化ビットストリ一ム B S 1として 外部に出力する。'
このようにして動画像符号化装置 3 0では、 動画像データ D 1を構成する第 1 及び第 2のフレーム画像データの圧縮符号化を開始すると、 フレーム構造変換器 3 3によりバッファ 4 2のデータ蓄積量 D Rを定期的に検出して第 1及び第 2の 閾値と比較し、 当該データ蓄積量 D Rが第 1の閾値よりも大きい値のときには動 画像データ D 1のフレームレートを下げ、 このようにフレームレートを下げた状 態でバッファ 4 2のデータ蓄積量 D Rが第 2の閾値よりも小さい値になったとき には動画像データ D 1のフレームレートを上げるようにして当該動画像データ D 1のフレームレートをデータ蓄積量 D Rに応じて変更するようにした。
従って、 この動画像符号化装置 3 0では、 配信対象の動画像データ D 1に基づ く動画像の絵柄が急激に変化する等して第 1及び第 2のフレーム画像データから 得られる符号化データ量が増加しても、 これに適確に対応して動画像データ D 1 のフレームレートを下げて単位時間当りに圧縮符号化すべき第 2のフレーム画像 データの数を減らすため、 データ蓄積量 D Rが増加したままとなり圧縮率が急激 に高くなることを未然に防止することができ、 かくして動画像の画質の急激な劣 化を防止することができる。
また、 この動画像符号化装置 3 0では、 配信対象の動画像データ D 1のフレー ムレートを下げた状態で当該動画像データ D 1に基づく動画像の絵柄の変化が急 激に減少する等して第 1及ぴ第 2のフレーム画像データから得られる符号化デー タ量が低下しても、 動画像データ D 1のフレームレ一トを上げて単位時間当りに 圧縮符号化すベき第 2のフレーム画像データの数を増加させるため、 動画像デー タ D 1の第 2のフレーム画像データを必要以上に間引いてデータ蓄積量 D Rが低 下したままとなって圧縮率が比較的低くなることを防止することができ、 かく し て動画像の画質が一時的に所望の画質以上になって変動することを適確に防止す ることができる。
このように動画像符号化装置 3 0では、 動画像データ D 1を圧縮符号化しなが ら各符号化データ D 1 0及び D 1 4の符号化データ量を表すバッファ 4 2のデー タ蓄積量 D Rに応じて適宜フレームレートを変更するため、 ユーザに提供する動 画像の画質を安定させることができる。
これに加えて、 この動画像符号化装置 3 0では、 データ蓄積量 D Rが第 1の閾 値よりも高い値のときにはこの時点から符号化対象となる所定フレーム数分の第 1及び又は第 2のフレーム画像データの符号化予測データ量を用いて当該所定フ レーム数分の第 1及び又は第 2のフレーム画像データから 1又は複数の第 2のフ レーム画像データを間引いて動画像データ D 1のフレームレートを下げるため、 当該動画像データ D 1に基づく動画像の絵柄が複数フレームに渡って比較的激し く動くようなときでも、 複数フレームに渡つて圧縮率が比較的高くなることを未 然に防止することができ、 かくして動画像の画質が複数フレームに渡って劣化す ることを未然に防止することができる。
また、 この動画像符号化装置 3 0では、 データ蓄積量 D Rが第 2の閾値よりも 小さ 1/、値のときにもこの時点から符号化対象となる所定フレーム数分の第 1及び 又は第 2のフレーム画像データと当該所定フレーム数分の第 1及び又は第 2のフ レーム画像データ間からすでに間引いている 1又は複数の第 2のフレーム画像デ ータとの符号化予測データ量を用いて動画像データ D 1のフレームレートを上げ るため、 動画像データ D 1に基づく動画像の絵柄の変化が複数フレームに渡って 比較的安定しているようなときでも、 複数フレームに渡つて圧縮率が比較的低く なることを未然に防止することができ、 かくして動画像の画質が複数フレームに 渡って所望の画質以上になって急激に変動することを未然に防止することができ る。
そして、 この動画像符号化装置 3 0では、 このように動画像データ D 1のフレ ームレートの変更に所定フレーム数分の第 1及び第 2のフレーム画像データの符 号化データ量を用いて複数フレームに渡る動画像の画質の変化を未然に防止する ものの、 このようにフレームレートを変更した状態で第 1及び第 2のフレーム画 像データを圧縮符号化している間も順次データ蓄積量 D Rを検出して圧縮符号化 の状況を監視しているため、 例えば符号化予測データ量の予測精度が比較的低い ために当該符号化予測データ量と実際に圧縮符号化したときの符号化データ量と が異なるようなときでも、 一度変更したフレームレートを動画像に対する所望の 画質に合わせて容易かつ適確に補正することができる。
以上の構成によれば、 外部から供給される動画像データ D 1を順次第 1及び第 2のフレーム画像データ単位で圧縮符号化し、 得られた符号化データ D 1 0及ぴ D 1 4をバッファ 4 2に一且蓄積して符号化データ量を平滑化した符号化ビット ストリーム B S 1として外部に出力しながら、 当該バッファ 4 2のデータ蓄積量 D Rを定期的に検出し、 そのデータ蓄積量 D Rの変化に応じて動画像データ D 1 のフレームレートを変更するようにしたことにより、 配信対象の動画像データ D 1に基づく動画像の絵柄の変化に応じて単位時間当りに圧縮符号化すべき第 1及 ぴ第 2のフレーム画像データの数を適確に変更して圧縮率を安定させ、 当該動画 像の画質を安定させることができ、 力べして所望の画質の動画像を適確に提供し 得る動画像符号化装置を実現することができる。
なお、 上述した第 1の実施の形態においては、 図 3について上述したように外 部から供給された動画像データ D 1を順次フレーム画像データ単位で入力用フレ ームメモリ 3 2に取り込み、 当該入力用フレームメモリ 3 2に取り込んだフレー ム画像データに Iピクチャ及ぴ Pピクチャを所定の順番で割り当てるようにした 場合について述べたが、 本発明はこれに限らず、 図 8 (A) 及ぴ (B ) に示すよ うに、 入力用フレームメモリ 3 2に順次取り込んだフレーム画像データに Iピク チヤ、 Pピクチャ及び Bピクチャを割り当てるようにしても良い。
因みに、 ピクチャタイプとして Iピクチャ、 Pピクチャ及び Bピクチャを用い るときに、 例えば先頭のフレーム画像データから順次 Bピクチャ、 Iピクチャ、 Bピクチャ、 Pピクチャ、 Bピクチャ、 Pピクチャ、 Bピクチャ、 Pピクチャ、 ……、 を割り当てると、 先頭の Bピクチャを割り当てたフレーム画像データ (以 下、 これを第 3のフレーム画像データと呼ぶ) については 2フレーム目の第 1の フレーム画像データを参照用に用いて逆方向予測符号化により圧縮符号化し、 当 該 2フレーム目以降の第 3のフレーム画像データについては順方向側で隣接する 第 1又は第 2のフレーム画像データを参照用として用いると共に逆方向側で隣接 する第 1又は第 2のフレーム画像データを参照用として用いる両方向予測符号化 により圧縮符号化することができる。
また、 第 2のフレーム画像データについては、 順方向側で最も近い第 1又は第 2のフレーム画像データを参照用として用いる順方向予測符号化により圧縮符号 化することができる。
そして、 図 9 (A) 乃至 (C ) に示すように、 入力用フレームメモリ 3 2内の フレーム画像データに Iピクチャ、 Pピクチャ及び Bピクチャを割り当てた状態 で例えば 3フレーム目の第 3のフレーム画像データ及び 5フレーム目の第 2のフ レーム画像データを間引いて動画像データ D 1のフレームレートを変更すると、 その間引きに応じて当該 3フレーム目の第 3のフレーム画像データについては順 方向側及ぴ逆方向側の第 1及ぴ第 2のフレーム画像データの参照用としては用い られていないことによりこれら順方向側及ぴ逆方向側の第 1及ぴ第 2のフレーム 画像データの各第 1及び第 2のマクロプロックデータの動きべク トルを再検出す る必要はない。
これに対して 5フレーム目の第 2のフレーム画像データについては、 順方向側 第 3のフレーム画像データ (4フレーム目) と、 逆方向側の第 3及び第 2のフレ ーム画像データ (6フレーム目及ぴ 7フレーム目) との参照用として用いられて いる。
従って、 間引きに応じて 4フレーム目の第 3のフレーム画像データについては 、 逆方向側 7フレーム目の第 2のフレーム画像データを参照用として用いて各マ クロブロックデータの逆方向側の動きべクトルを再検出し、 6フレーム目の第 3 のフレーム画像データについては、 順方向側 3フレーム目の第 2のフレーム画像 データを参照用として用いて各マクロプロックデータの順方向側の動きべクトル を検出し、 さらに 7フレーム目の第 2のフレーム画像データについては順方向側 3フレーム目の第 2のフレーム画像データを用いて各第 2のマク口プロックデ一 タの順方向側の動きべクトルを検出すれば良い。
また、 上述した第 1の実施の形態においては、 動画像データ D 1のフレームレ 一トを下げるために第 2のフレーム画像データを間引いたときに動きべクトル再 検出器 4 8により再検出フレーム画像データの各第 2のマクロプロックデータ D 4の動きべクトル D 1 7をプロックマッチング法によって再検出するようにした 場合について述ぺたが、 本発明はこれに限らず、 再検出フレーム画像データにお ける各第 2のマクロプロックデータ D 4の予め検出している動きべクトル D 7を 当該再検出フレーム画像データに隣接していた間引きフレーム画像データの各第 2のマクロプロックデータ D 4の動きべク トルと合成することによりその再検出 フレーム画像データにおける各第 2のマクロプロックデータ D 4の動きべクトル を再検出し、 又はテレスコピックサーチ法等の簡易動きべクトル検出法を用いて 動きべクトルを再検出すれば、 動きべクトル再検出器における動きべクトルの再 検出処理の演算量を大幅に低減させて当該再検出処理を高速化することができる さらに、 上述した第 1の実施の形態においては、 第 2のフレーム画像データの 各第 2のマクロプロックデータ D 4を順方向予測符号化により圧縮符号化するよ うにした場合について述べたが、 本発明はこれに限らず、 各第 2のマクロプロッ クデータ D 4の分散値を用いてフレーム内符号化及ぴ順方向予測符号化のいずれ で圧縮符号化するようにしても良い。
さらに、 上述した第 1の実施の形態においては、 動きベクトル再検出器 4 8に より入力用フレームメモリ 3 2から読み出した参照用の第 1及び第 2のフレーム 画像データ D 6を用いて各第 2のマクロプロックデータ D 4の動きべクトル D 1 7を再検出するようにした場合について述べたが、 本発明はこれに限らず、 動き ベ'ク トル再検出器により参照用フレームメモリ 4 7から参照用の第 1及び第 2の フレーム画像データを読み出して各第 2のマクロブロックデータ D 4の動きべク トル D 1 7を再検出するようにしても良い。 このようにすれば動きべクトル D 1 7の再検出に、 一旦圧縮符号化した後に復号化して再構築することによりその圧 縮符号化によって発生したプロックノイズ等を持つ第 1及び第 2のフレーム画像 データを用いることができ、 当該動きべク トル D 1 7の検出精度を向上させるこ とができる。
さらに、 上述した第 1の実施の形態においては、 バッファ 4 2のデータ蓄積量 D R及び符号化予測データ量に応じて動画像データ D 1のフレームレートを変更 するようにした場合について述べたが、 本発明はこれに限らず、 バッファ 4 2の データ蓄積量 D Rに応じて動画像データ D 1のフレームレートを変更するように しても良い。 このようにしてフレームレートを変更してもデータ蓄積量 D Rの急 激な増減に適確に対処して動画像の画質を安定化させることができる。
( 3 ) 第 2の実施の形態
図 2との対応部分に同一符号を付して示す図 1 0は第 2の実施の形態による動 画像符号化装置 6 0を示し、 フレームレート変更処理部 6 1のフレーム構造変換 器 6 2と、 動きべク トル検出処理部 6 3との構成を除いて第 1の実施の形態によ る動画像符号化装置 3 0と同様に構成されている。
フレームレート変更処理部 6 1のフレーム構造変換器 6 2は、 図 3について上 述した場合と同様に入力用フレームメモリ 3 2にフレーム画像データを取り込む 毎に当該取り込んだフレーム画像データに Iピクチャ及び Pピクチャのピクチャ タイプを割り当てると共に、 その Iピクチャ及ぴ Pピクチャを表すピクチャタイ プとこれらを割り当てたフレーム画像データ固有のフレーム識別情報とをピクチ ャ情報として入力用フレームメモリ 3 2に記録する。
そして、 動きべク トル検出処理部 6 3において簡易動きべクトル検出器 6 4は 、 入力用フレームメモリ 3 2内でフレーム画像データに Iピクチャが割り当てら れたときには、 当該 Iピクチャの割り当てられた第 1のフレーム画像データのピ クチャ情報を読み出し、 当該読み出したピクチャ情報に基づいて予測モードデー タ D 3を生成し、 当該生成した予測モードデータ D 3を簡易動きべクトルバッフ ァ 6 5に送出して蓄積する。
また、 簡易動きべク トル検出器 6 4は、 入力用フレームメモリ 3 2内でフレー ム画像データに Pピクチャが割り当てられたときには、 当該 Pピクチャの割り当 てられた第 2のフレーム画像データのピクチャ情報を読み出すと共に、 当該第 2 のフレーム画像データと順方向側で隣接する参照用の第 1又は第 2のフレーム画 像データ D 6のピクチャ情報を読み出す。
簡易動きべクトル検出器 6 4は、 これらピクチャ情報に基づいて対応する符号 化対象の第 2のフレーム画像データのフレーム識別情報を符号化対象フレーム識 別情報として表すと共に参照用の第 1又は第 2のフレーム画像データ D 6のフレ ーム識別情報を参照用フレーム識別情報として表し、 さらに符号化対象の第 2の フレーム画像データを順次第 2のマクロプロックデータ D 4単位で順方向予測符 号化により圧縮符号化することを表す予測モードデータ D 2 0を生成する。 これに加えて簡易動きべクトル検出器 6 4は、 このとき入力用フレームメモリ 3 2からピクチヤ情報に基づいて符号化対象の第 2のフレーム画像データを順次 第 2のマクロプロックデータ D 4単位で読み出すと共に、 参照用の第 1又は第 2 のフレーム画像データ D 6を読み出す。
ここで、 簡易動きベク トル検出器 6 4は、 図 1 1 (A) 及び (B ) に示すよう に、 原画像を最上層 (以下、 これを第 1階層と呼ぶ) の階層とし、 かつ当該原画 像を縮小して解像度を下げた画像をその原画像よりも下層の画像として、 これら 階層の異なる画像を段階的に用いて最終的な原画像レベルの動きベクトルを検出 するための階層サーチ動きべク トル検出方式に従って第 2のマクロプロックデ一 タ D 4に対する検出精度を落とした簡易動きべクトルを検出する。
すなわち、 簡易動きべクトル検出器 6 4は、 階層サーチ動きべクトル検出方式 により原画像レベルの第 1階層よりも下層の第 2階層において、 第 2のマクロブ ロックデータ D 4を例えば 1 Z 4程度に縮小して解像度を下げることにより階層 的な第 2のマクロブロックデータ (以下、 これを階層マクロプロックデータと呼 ぶ) D 2 1を生成すると共に、 同様に参照用の第 1又は第 2のフレーム画像デー タ D 6を例えば 1 Z 4程度に縮小して解像度を下げることにより階層的な参照用 の第 1又は第 2のフレーム画像データ (以下、 これを階層フレーム画像データと 呼ぶ) D 2 2を生成する。
また、 簡易動きベクトル検出器 6 4は、 図 1 2に示すように、 ブロックマッチ ング法により階層マクロプロックデータ D 2 1を階層フレーム画像データ D 2 2 の比較的広いサーチ範囲内で複数の比較用プロックデ一タと順次対応付けながら 予測誤差を算出するようにして当該算出した予測誤差のうち最小予測誤差を算出 したどきに用いた比較用プロックデータと階層マクロプロックデータ D 2 1との 動き量によりその階層マクロブロックデータ D 2 1の動きベクトル (以下、 これ を低解像度動きべクトルと呼ぶ) D 2 3を検出する。
さらに、 簡易動きべク トル検出器 6 4は、 その低解像度動きべクトル D 2 3を 第 2のマクロプロックデータ D 4の解像度 (すなわち、 原画像の解像度) に合わ せて例えば 4倍にすることにより当該第 2のマクロプロックデータ D 4に対する 第 2階層の簡易動きべク トル D 2 4を検出する。
そして、 簡易動きべクトル検出器 6 4は、 入力用フレームメモリ 3 2内の符号 化対象の第 2のフレーム画像データに対する予測モードデータ D 2 0及ぴ各第 2 のマクロプロックデータ D 4の簡易動きべクトル D 2 4を対応付けて簡易動きべ ク トルバッファ 6 5に送出して蓄積する。
このようにして簡易動きべクトル検出器 6 4は、 入力用フレームメモリ 3 2に フレーム画像データが順次取り込まれて Iピクチャ及ぴ Pピクチヤが割り当てら れると、 その都度同様にして予測モードデータ D 3、 D 2 0を生成すると共に各 第 2のマクロブロックデータ D 4の簡易動きべクトル D 2 4を検出し、 これらを 簡易動きべク トルバッファ 6 5に蓄積する。
また、 簡易動きベクトル検出器 6 4は、 このように 1フレーム分の各第 2のマ クロプロックデータ D 4に対する簡易動きべクトル D 2 4を検出する毎に、 階層 マクロプロックデータ D 2 1と階層フレーム画像データ D 2 2との間で算出した 予測誤差を利用して、 階層的な符号化対象の第 2のフレーム画像データ (すなわ ち、 階層マクロプロックデータ D 2 1によって構築される第 2のフレーム画像デ ータ) と参照用の階層フレーム画像データとのフレーム間相関値 S H 2を算出し 、 当該算出したフレーム間相関値 S H 2をフレーム構造変換器 6 2に送出する。 これによりフレーム構造変換器 6 2は、 簡易動きベクトル検出器 6 4から与え られたフレーム間相関値 S H 2に基づいて、 符号化対象の第 1及び第 2のフレー ム画像データをそれぞれ選定圧縮率で圧縮符号化した場合に得られる符号化デー タ D 1 0及ぴ D 1 4の符号化予測データ量を予測する。
力べして簡易動きべクトル検出器 6 4は、 原画像に比べて画素数を減らした階 層マクロプロックデータ D 2 1及ぴ階層フレーム画像データ提供サーバデータ D 2 2間の予測誤差を利用してフレーム間相関値 S H 2を算出することにより当該 フレーム間相関値 S H 2に対する演算量を格段的に低減させ得るようになされて いる。
また、 フレーム構造変換器 6 2も原画像レベルのフレーム間相関値 S H 1 (図 2 ) に比べて情報量の少ないフレーム間相関値 S H 2に基づいて符号化予測デー タ量を算出するため、 当該符号化予測データ量を算出する際の演算量を格段的に 低減させ得るようになされている。
そして、 フレーム構造変換器 6 2は、 符号化対象の第 1及ぴ第 2のフレーム画 像データに対する圧縮符号化が開始されると、 図 2について上述した場合と同様 にバッファ 4 2のデータ蓄積量 D Rを所定周期で検出し、 当該検出したデータ蓄 積量 D Rに応じて動画像データ D 1のフレームレートを変更する。
また、 フレーム構造変換器 6 2は、 このように符号化対象の第 1及ぴ第 2のフ レーム画像データに対する圧縮符号化が開始されると、 演算器 3 8により入力用 フレームメモリ 3 2から符号化対象の第 1のフレーム画像データが第 1のマクロ プロックデータ D 2単位で読み出されるときに、 当該入力用フレームメモリ 3 2 内の対応するピクチャ情報に基づいてその第 1のフレーム画像データのフレーム 識別情報を符号化対象フレーム識別情報として表すコントロールフラグ C F 1を 生成してこれを動きべクトル検出器 6 6に送出する。
さらに、 フレーム構造変換器 6 2は、 演算器 3 8により入力用フレームメモリ 3 2から符号化対象の第 2のフレーム画像データが第 2のマクロブロックデータ D 4単位で読み出されるときには、 入力用フレームメモリ 3 2内の対応するピク チヤ情報及ぴその第 2のフレーム画像データに対して参照用となる第 1又は第 2 のフレーム画像データ D 6のピクチャ情報に基づいて当該符号化対象の第 2のフ レーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表し 、 かつ参照用の第 1又は第 2のフレーム画像データ D 6のフレーム識別情報を参 照用フレーム識別情報として表すコントロールフラグ C F 2を生成してこれを動 きべクトル検出器 6 6に送出する。
ここで、 フレーム構造変換器 6 2は、 符号化対象の第 2のフレーム画像データ に対して簡易動きべクトル D 2 4の検出時に用いた参照用の第 1又は第 2のフレ 一ム画像データをフレームレートの変更用に間引いていなければ (間引きの取り 消しも含む) 、 当該符号化対象の第 2のフレーム画像データとその参照用の第 1 又は第 2のフレーム画像データ D 6をそのまま対応付けてコントロールフラグ C F 2を生成する。
また、 フレーム構造変換器 6 2は、 符号化対象の第 2のフレーム画像データに 対して簡易動きべク トル D 2 4の検出時に用いた参照用の第 1又は第 2のフレー ム画像データ D 6をフレームレートの変更用に間引いたときには、 当該符号化対 象の第 2のフレーム画像データに対してその間引いた第 1又は第 2のフレーム画 像データに代えて新たな第 1又は第 2のフレーム画像データ D 6を参照用として 対応付けてコントロールフラグ C F 2を生成する。
さらに、 フレーム構造変換器 6 2は、 動画像データ D 1のフレームレートの変 更に伴つて符号化対象の第 2のフレーム画像データを間引くことにより演算器 3 8が入力用フレームメモリ 3 2からの読み出しを見送るときには、 当該第 2のフ レーム画像データのフレーム識別情報を間引きフレーム識別情報として表し、 そ の第 2のフレーム画像データを間引いたことを表すコントロールフラグ C F 3を 生成してこれを動きべク トル検出器 6 6に送出する。
このようにしてフレーム構造変換器 6 2は、 符号化対象の第 1及ぴ第 2のフレ ーム画像データに対する圧縮符号化の順番に従つて順次コント口ールフラグ C F 1及び C F 2並びに C F 3を生成して動きべクトル検出器 6 6に送出する。 動きべクトル検出器 6 6は、 符号化対象の第 1及ぴ第 2のフレーム画像データ に対する圧縮符号化が開始されると、 符号化対象の第 1及び第 2のフレーム画像 データに対する圧縮符号化の順番に従って簡易動きべクトルバッファ 6 5から予 測モードデータ D 3及び D 2 0を順次読み出す。
そして、 動きベク トル検出器 6 6は、 簡易動きベクトルバッファ 6 5から予測 モードデータ D 3及び D 2 0を読み出す毎に、 当該予測モードデータ D 3及ぴ D 2 0に基づいて得られる符号化対象フレーム識別情報及び参照用フレーム識別情 報を、 このときフレーム構造変換器 6 2から与えられた対応するコントロールフ ラグ C F 1及び C F 2並びに C F 3に基づいて得られた符号化対象フレーム識別 情報及び参照用フレーム識別情報並びに間引きフレーム識別情報と比較する。 この場合、 動きベク トル検出器 6 6は、 簡易動きベク トルバッファ 6 5から第 1のフレーム画像データに対する予測モードデータ D 3を読み出したときには、 図 5 (A) 乃至 (C ) について上述したように第 1のフレーム画像データが間引 きの対象から除外されており、 予測モードデータ D 3及びコントロールフラグ C F 1に基づいて得られる符号化対象フレーム識別情報同士が一致することにより 当該第 1のフレーム画像データが間弓 Iかれていないと判断して予測モードデータ D 3を動き補償器 3 9及び可変長符号化器 4 3に送出する。
また、 動きベクトル検出器 6 6は、 簡易動きベクトルバッファ 6 5から第 2の フレーム画像データに対する予測モードデータ D 2 0を読み出したとき、 その予 測モ一ドデータ D 2 0及ぴ対応するコントロールフラグ C F 2に基づいて得られ る符号化対象フレーム識別情報同士及び参照用フレーム識別情報同士が一致すれ ば、 当該第 2のフレーム画像データとこれに簡易動きべクトル D 2 4の検出時に 対応付けた参照用の第 1又は第 2のフレーム画像データ D 6とが間引かれていな いと判断して簡易動きべクトルバッファ 6 5から予測モードデータ D 2 0に対応 付けられている簡易動きべク トル D 2 4を読み出す。
このとき動きべク トル検出器 6 6は、 コントロールフラグ C F 2.に基づいて入 力用フレームメモリ 3 2から符号化対象の第 2のフレーム画像データを順次第 2 のマクロプロックデータ D 4単位で読み出すと共に参照用の第 1又は第 2のフレ ーム画像データ D 6も読み出す。
そして、 動きベクトル検出器 6 6は、 図 1 2に示すように、 階層サーチ動きべ クトル検出方式による第 1階層において、 ブロックマッチング法により参照用の 第 1又は第 2のフレーム画像データ D 6に対して簡易動きべクトル D 2 4の終点 周辺に格段的に狭いサーチ範囲を設定し、 当該サーチ範囲内で複数の比較用プロ ックデータと第 2のマクロブロックデータ D 4とを順次対応付けながら予測誤差 を算出する。
この結果、 動きべクトル検出器 6 6は、 算出した予測誤差のうち最小予測誤差 を算出したときに用いた比較用プロックデータと第 2のマクロプロックデータ D 4との動き量により原画像レベルで簡易動きぺク トル D 2 4を補正する動きべク トル (以下、 これを補正用動きベク トルと呼ぶ) D 2 5を検出し、 当該検出した 補正用動きべクトル D 2 5を簡易動きべクトル D 2 4と加算することにより第 2 のマクロプロックデータ D 4に対する最終的な第 1階層の動きべクトル D 2 6を 生成し、 これを予測モードデータ D 2 0と共に動き補償器 3 9 '及び可変長符号化 器 4 3に送出する。
また、 動きべクトル検出器 6 6は、 簡易動きべクトルバッファ 6 5力 ら第 2の フレーム画像データに対する予測モードデータ D 2 0を読み出したとき、 その予 測モードデータ D 2 0及びコントロールフラグ C F 2に基づいて得られる符号化 対象フレーム識別情報同士は一致するものの、 参照用フレーム識別情報同士が一 致しなければ、 当該第 2のフレーム画像データに対して簡易動きべクトル D 2 4 の検出時に対応付けた参照用の第 1又は第 2のフレーム画像データのみが間引か れていると判断して簡易動きべク トルバッファ 6 5から当該予測モードデ一タ D 2 0に対応付けられている簡易動きべクトル D 2 4を読み出さずに符号化対象の 第 2のフレーム画像データに対する動きべクトル D 2 6の再検出処理を開始する 実際上、 動きベク トル検出器 6 6は、 コントロールフラグ C F 2に基づいて入 力用フレームメモリ 3 2から符号化対象の第 2のフレーム画像データを順次第 2 のマクロプロックデータ D 4単位で読み出すと共に、 フレーム構造変換器 6 2に おいて新たに対応付けた参照用の第 1又は第 2のフレーム画像データ D 6を読み 出す。
そして、 動きべク トル検出器 6 6は、 図 1 1 (A) 及び (B ) 並びに図 1 2に ついて上述した場合と同様に階層サーチ動きべク トル検出方式による第 2階層に おいて第 2のマクロブロックデータ D 4の簡易動きべクトル D 2 4を検出した後 に第 1階層において第 2のマクロプロックデータ D 4に対する最終的な原画像レ ベルの動きベク トル D 2 6を生成する。
また、 動きベクトル検出器 6 6は、 予測モードデータ D 2 0に、 予め格納され ている参照用フレーム識別情報に代えてコント口ールフラグ C F 2に基づいて得 られた新たな参照用フレーム識別情報を格納することにより動きべクトル D 2 6 の再検出に合わせて内容を修正した予測モードデータ D 2 7を生成し、 当該生成 した予測モードデータ D 2 7を動きべクトル D 2 6と共に動き補償器 3 9及び可 変長符号化器 4 3に送出する。
これに加えて動きべクトル検出器 6 6は、 簡易動きべクトルバッファ 6 5から 第 2のフレーム画像データに対する予測モードデータ D 2 0を読み出したとき、 その第 2のフレーム画像データが間引かれていれば、 予測モードデータ D 2 0及 ぴコントロールフラグ C F 3に基づいて得られる符号化対象フレーム識別情報及 び間引きフレーム識別情報同士は一致するものの、 当該コントロールフラグ C F 3に基づいて第 2のフレーム画像データが間引かれたことを検 t±iすることにより 簡易動きべク トルバッファ 6 5から予測モードデータ D 2 0に対応付けられてい る簡易動きべクトル D 2 4を読み出さずにその第 2のフレーム画像データに対す る動きべク トルの検出処理を見送るようにする。
このようにして動きべク トル検出器 6 6は、 フレーム構造変換器 6 2による動 画像データ D 1のフレームレートの変更に応じて符号化対象の第 2のフレーム画 像データに対する動きベクトル D 2 6を適確に検出 (再検出を含む) し得るよう になされている。
ここで、 動画像符号化装置 6 0のフレームレート変更処理部 6 1と動きべク ト ル検出処理部 6 3と圧縮符号化部 3 7とによる動画像データ D 1の圧縮符号化処 理手順についてまとめてみると、 図 6 (A) 及び図 7 (A) との対応部分に同一 符号を付した図 1 3 (A) 及び図 1 4 (A) に示すように、 まず動きベク トル検 出処理部 6 3は、 ルーチン R T 4の開始ステップから入ってステップ S P 3 1に 移る。
ステップ S P 3 1において動きべク トル検出処理部 6 3は、 簡易動きべク トル 検出回路 6 4により入力用フレームメモリ 3 2から第 2のフレーム画像データを 順次第 2のマクロプロックデータ D 4単位で読み出すと共に、 当該第 2のフレー ム画像データに対する参照用の第 1又は第 2のフレーム画像データ D 6を読み出 し、 階層サーチ動きべクトル検出方式による第 2階層において 1フレーム分の各 第 2のマクロプロックデータ D 4の簡易動きべクトル D 2 4を検出してステップ S P 3 2に移る。 ステップ S P 3 2において動きべクトル検出処理部 63は、 簡易動きべクトル 検出器 64により各第 2のマクロプロックデータ D4の簡易動きべクトル D24 を検出する際に算出した予測誤差を用いて階層的な符号化対象の第 2のフレーム 画像データと参照用の階層フレーム画像データとのフレーム間相関値 S H 2を算 出し、 当該算出したフレーム間相関値 S H 2をフレーム構造変換器 62に送出し てステップ S P 3 3に移る。
このとき図 6 (C) 及び図 7 (C) との対応部分に同一符号を付した図 1 3 ( C) 及び図 14 (C) に示すように、 フレームレート変更処理部 61は、 ルーチ ン RT 5の開始ステップから入ってステップ S P 21に移り、 当該ステップ S P 21の処理に続いてステップ S P 22の処理を実行した後にステップ S P 41に 移る。
ステップ S P 4 1においてフレームレート変更処理部 6 1は、 フレーム構造変 換器 62により符号化対象の第 1及び第 2のフレーム画像データに対するコント ロールフラグ CF 1及ぴ CF 2並びに CF 3を生成し、 当該生成したコントロー ルフラグ CF 1及ぴ CF 2並びに CF 3を動きべクトル検出器 6 6に送出してス テツプ S P 23に移る。
このようにしてフレームレート変更処理部 6 1は、 第 1及ぴ第 2のフレーム画 像データが圧縮符号化されている間は、 ステップ S P 21 - S P 22-S P 23 -S P 24-S P 25-S P 26-S P 27の処理を循環的に繰り返すことによ り動きべクトル検出器 66にコントロールフラグ CF 1及び CF 2並びに CF 3 を順次送出しながら動画像データ D 1のフレームレートを適宜変更し、 この後ス テツプ S P 26において符号化対象の第 1及ぴ第 2のフレーム画像データが全て 圧縮符号化されたと判断すると、 ステップ S P 4 2に移って当該フレームレート 変更処理部 6 1の処理手順を終了する。
これに対してステップ S P 33において動きべクトル検出処理部 63は、 例え ば動きべクトル検出器 66により入力用フレームメモリ 3 2に対する演算器 3 8 のアクセスの有無を監視することにより第 1及び第 2のフレーム画像データの圧 縮符号化が開始されたか否かを判断し、 当該第 1及ぴ第 2のフレーム画像データ の圧縮符号化が開始されるまでの間はステップ S P 3 1—S P 3 2— S P 3 3の 処理を循環的に繰り返すことにより順次第 2のフレーム画像データにおける各第 2のマクロブロックデータ D 4の簡易動きべクトル D 2 4を検出すると共に、 フ レーム間相関値 S H 2を算出する。
そして、 動きベクトル検出処理部 6 3は、 ステップ S P 3 3において動きべク トル検出器 6 6により第 1及び第 2のフレーム画像データに対する圧縮符号化が 開始されたことを検出すると、 ステップ S P 3 4に移る。
ステップ S P 3 4において動きべク トル検出処理部 6 3は、 動きべクトル検出 器 6 6によりフレーム構造変換器 6 2から与えられたコントロールフラグ C F 1 及び C F 2並びに C F 3に基づいて符号化対象の第 2のフレーム画像データがフ レ一ムレートの変更により間引かれたか否かを判断する。
このステップ S P 3 4において否定結果を得ることは、 符号化対象の第 2のフ レーム画像データが間引かれていないことを意味し、 このとき動きべクトル検出 処理部 6 3は、 ステップ S P 3 5に移って符号化対象の第 2のフレーム画像デー タにおける各第 2のマクロプロックデータ D 4の動きべクトルの再検出が必要で あるか否かを判断する。
このステップ S P 3 5において肯定結果を得ることは、 動画像データ D 1のフ レームレートの変更に伴い符号化対象の第 2のフレーム画像データに簡易動きべ ク トル D 2 4の検出時とは異なる参照用の第 1又は第 2のフレーム画像データ D 6が割り当てられたことを意味し、 このとき動きべクトル検出処理部 6 3はステ ップ S P 3 6に移って動きべクトル検出器 6 6により符号化対象の第 2のフレー ム画像データと新たな参照用の第 1又は第 2のフレーム画像データ D 6とを用い て階層サーチ動きべクトル検出方式による第 2階層において各マクロブロックデ ータ D 4の簡易動きべクトル D 2 4を再検出してステップ S P 3 7に移る。
ステップ S P 3 7において動きべクトル検出処理部 6 3は、 動きべクトル検出 器 6 6により階層サーチ動きべクトル検出方式による第 1階層において符号化対 象の第 2のフレーム画像データ及び参照用の第 1又は第 2のフレーム画像データ 並びに簡易動きべク トル D 24を用いて原画像レベルで各第 2のマクロプロック データ D 4の動きべクトル D 26を検出してステップ S P 38に移る。
因みに、 ステップ S P 34において肯定結果を得ることは、 符号化対象の第 2 のフレーム画像データがフレームレートの変換により間引かれたことを意味し、 このとき動きべクトル検出処理部 6 3は、 ステップ S P 38に移る。
また、 ステップ S P 3 5において否定結果を得ることは、 符号化対象の第 2の フレーム画像データに簡易動きべク トル D 24の検出時と同じ参照用の第 1又は 第 2のフレーム画像データ D 6が割り当てられていることを意味し、 このとき動 きべクトル検出処理部 63はステップ S P 3 7に移って動きべク トル検出器 66 により階層サーチ動きべクトル検出方式による第 1階層において当該符号化対象 の第 2のフレーム画像データ及ぴ参照用の第 1又は第 2のフレーム画像データ D 6並びに簡易動きべクトルバッファ 65から読み出した対応する簡易動きべク ト ル D 24を用いた原画像レベルで各第 2のマクロプロックデータ D 4の動きべク トル D 26を検出してステップ S P 3 8に移る。
ステップ S P 38において動きべク トル検出処理部 63は、 動きべク トル検出 器 66により入力用フレームメモリ 3 2内の全ての第 2のフレーム画像データに おける各第 2のマクロプロックデータ D 4の簡易動きべクトル D 24を検出した か否かを判断し、 当該入力用フレームメモリ 3 2内の全ての第 2のフレーム画像 データにおける各第 2のマクロプロックデータ D 4の簡易動きべクトル D 24を 検出していなければ、 ステップ S P 3 1に戻る。
従って、 動きベク トル検出処理部 63は、 入力用フレームメモリ 32内に第 2 のマクロプロックデータ D 4の簡易動きべクトル D 24を検出すべき第 2のフレ ーム画像データが取り込まれている間はステップ S P 3 1 -S P 3 2-S P 3 3 -S P 34-S P 3 5-S P 36-S P 3 7-S P 38の処理を循環的に繰り返 すことにより入力用フレームメモリ 3 2内の第 2のフレーム画像データにおける 各第 2のマクロプロックデータ D 4の簡易動きべクトル D24を順次検出し、 か つフレーム間相関値 S H 2を順次算出しながら当該第 2のマクロプロックデータ D 4の動きべクトル D 2 6を順次検出する。
そして、 ステップ S P 3 8において動きベクトル検出処理部 6 3は、 入力用フ レームメモリ 3 2内の全ての第 2のフレーム画像データにおける各第 2のマク口 プロックデータ D 4の簡易動きべク トル D 2 4を検出すると、 ステップ S P 8に 移る。
ステップ S P 8において動きべク トル検出処理部 6 3は、 動きべク トル検出器 6 6により入力用フレームメモリ 3 2に対する演算器 3 8のアクセスの有無を監 視することにより符号化対象の第 1及び第 2のフレーム画像データが全て圧縮符 号化されたか否かを判断し、 未だ第 1及び第 2のフレーム画像データの圧縮符号 化が終了していなければ、 ステップ S P 3 4に戻る。
従って、 動きベク トル検出処理部 6 3は、 この後符号化対象の第 1及び第 2の フレーム画像データが全て圧縮符号化されるまでの間はステップ S P 3 4— S P 3 5— S P 3 6— S P 3 7— S P 3 8— S P 8の処理を循環的に繰り返すことに より符号化対象の第 2のフレーム画像データにおける各第 2のマクロプロックデ ータ D 4の動きべク トル D 2 6を順次検出する。
このようにして動きべクトル検出処理部 6 3は、 ステップ S P 8において符号 化対象の第 1及ぴ第 2のフレーム画像データが全て圧縮符号化されたと判断する と、 ステップ S P 3 9に移って当該動きぺク トル検出処理部 6 3の処理手順を終 了し、 かくして動画像符号化装置 6 0における動画像データ D 1の圧縮符号化処 理手順を全て終了する。
以上の構成において、 この動画像符号化装置 6 0では、 配信対象の動画像デー タ D 1を構成する第' 1及び第 2のフレーム画像データを圧縮符号化する場合、 簡 易動きべクトル検出器 6 4により予め階層サーチ動きべクトル検出方式による第 2階層において参照用の第 1又は第 2のフレーム画像データ D 6の画素を減らし て解像度を下げた階層フレーム画像データ D 2 2の比較的狭いサーチ範囲内を同 様に各第 2のマクロブロックデータ D 4の画素を減らして解像度を下げた階層マ ク口プロックデータ D 2 1によってサーチして当該階層マク口プロックデータ D 2 1の低解像度動きべク トル D 2 3を検出し、 その低解像度動きべクトル D 2 3 を原画像の解像度に合わせるように拡大して第 2のマクロプロックデータ D 4の 簡易動きべクトル D 2 4を検出する。
そして、 この動画像符号化装置 6 0では、 第 2のフレーム画像データを各第 2 のマクロブロックデータ D 4単位で実際に圧縮符号化するときに動きべクトル検 出器 6 6により階層サーチ動きべクトル検出方式による第 1階層において参照用 の第 1又は第 2のフレーム画像データ D 6に対して簡易動きべク トル D 2 4の終 点周辺に設定した格段的に狭いサーチ範囲を第 2のマクロプロックデータ D 4に よってサーチして簡易動きべクトル D 2 4の終点部分を補正する補正用動きべク トル D 2 5を検出し、 当該検出した補正用動きべクトル D 2 5を簡易動きべク ト ル D 2 4と加算して第 2のマクロプロックデータ D 4に対する第 1階層の動きべ クトル D 2 6を検出するようにした。
従って、 この動画像符号化装置 6 0では、 階層サーチ動きべク トル検出方式に よる第 2階層において解像度を下げた (すなわちデータ量を減少させた) 階層フ レーム画像データ D 2 2及び階層プロックデータ D 2 1を用いて簡易動きべク ト ル D 2 4を検出すると共に、 当該階層サーチ動きべクトル検出方式による第 1階 層において原画像レベルの参照用の第 1又は第 2のフレーム画像データ D 6及ぴ 第 2のマクロプロックデータ D 4を用いるものの、 簡易動きべク トル D 2 4の終 点部分のみを補正する補正用動きべクトル D 2 5を検出するようにして第 2のマ クロブロックデータ D 4に対する第 1階層の動きべクトル D 2 6を検出するため 、 上述した第 1の実施の形態による動画像符号化装置 3 0 (図 2 ) に比べて第 2 のマクロプロックデータ D 4の動きべクトル検出時の演算量を格段的に低減させ ることができる。
また、 動画像符号化装置 6 0では、 入力用フレームメモリ 3 2内の全ての第 2 のフレーム画像データに対しては各第 2のマクロプロックデータ D 4の簡易動き ぺクトル D 2 4を検出するものの、 当該第 2のフレーム画像データを動画像デー タ D 1のフレームレートの変更に伴って間引いたときにはこれら各第 2のマク口 プロックデータ D 4の原画像レべノレの動きべクトル D 2 6を検出しないため、 動 きべク トル検出処理部 6 3における処理負荷を低減させることができる。
以上の構成によれば、 配信対象の動画像データ D 1を構成する第 1及び第 2の フレーム画像データを圧縮符号化する場合、 階層サーチ動きべク トル検出方式に より符号化対象の第 2のフレーム画像データにおける各第 2のマクロプロックデ ータ D 4の動きべクトル D 2 6を階層的に検出するようにしたことにより、 上述 した第 1の実施の形態によって得られる効果に加えて、 これら各第 2のマクロブ 口ックデータ D 4に対する動きべク トル検出時の演算量を格段的に低減させるこ とができ、 かくして動きべクトル検出処理を高速化し得る動画像符号化装置を実 現することができる。
なお、 上述した第 2の実施の形態においては、 図 3について上述したように外 部から供給された動画像データ D 1を順次フレーム画像データ単位で入力用フレ —ムメモリ 3 2に取り込み、 当該入力用フレームメモリ 3 2に取り込んだフレー ム画像データに Iピクチャ及び Pピクチャを所定の順番で割り当てるようにした 場合について述べたが、 本発明はこれに限らず、 図 8 (A) 及び (B ) 並びに図 9 (A) 乃至 (C ) について上述したように、 入力用フレームメモリ 3 2に取り 込んだフレーム画像データに Iピクチャ、 Pピクチャ及ぴ Bピクチャを割り当て るようにしても良い。
また、 上述した第 2の実施の形態においては、 動画像データ D 1のフレームレ ―トの変更に伴い符号化対象の第 2のフレーム画像データに新たな参照用の第 1 又は第 2のフレーム画像データ D 6を割り当てたときに動きべク トル検出器 6 6 により階層サーチ動きべク トル検出方式による第 1階層及び第 2階層において、 各マクロプロックデータ D 4の簡易動きべクトル D 2 4及ぴ原画像レベルの動き べクトル D 2 6を順次検出するようにした場合について述べたが、 本発明はこれ に限らず、 動画像データ D 1のフレームレートの変更に伴い符号化対象の第 2の フレーム画像データに新たな参照用の第 1又は第 2のフレーム画像データ D 6を 割り当てたときに、 簡易動きべクトル検出器 6 4により階層サーチ動きべクトル 検出方式による第 2階層において符号化対象の第 2のフレーム画像データ及ぴ新 たな参照用の第 1又は第 2のフレーム画像データ D 6を用いて各第 2のマクロブ 口ックデータ D 4の簡易動きべクトル D 2 4を検出すると共に、 動きべクトル検 出器 6 6により階層サーチ動きべク トル検出方式による第 1階層において当該第 2のマクロプロックデータ D 4の原画像レベルの動きべクトル D 2 6を検出する ようにしても良い。 このようにすれば、 フレームレートの変更に伴う動きべク ト ルの再検出時に動きべクトル検出器 6 6の処理負荷を大幅に低減させることがで さる。
これに加えて動画像データ D 1のフレームレートの変更に伴い符号化対象の第 2のフレーム画像データに新たな参照用の第 1又は第 2のフレーム画像データ D 6を割り当てたときには、 当該符号化対象の第 2のフレーム画像データに対して 簡易動きべク トル D 2 4の検出時に参照用として第 2のフレーム画像データ D 6 (すなわち、 符号化対象の第 2のフレーム画像データに順方向側で隣接する第 2 のフレーム画像データ) が割り当てられていれば、 動きベク トル検出器 6 6によ りその符号化対象の第 2のフレーム画像データにおける各第 2のマクロブロック データ D 4の予め検出している簡易動きべクトル D 2 4を当該簡易動きべクトル D 2 4の検出時に参照用となっていた第 2のフレーム画像データ D 6における各 マクロプロックデータ D 4の簡易動ぎベタトル D 2 4と合成し、 得られた合成簡 易動きべクトルを用いて階層サーチ動きべクトル検出方式による第 1階層におい て例えばテレスコピックサーチ法を用いて当該符号化対象の第 2のフレーム画像 データにおける各第 2のマクロプロックデータ D 4の原画像レベルの動きべク ト ル D 2 6を検出するようにしても良い。 このようにしてもフレームレートの変更 に伴う動きべク トルの再検出時に動きべク トル検出器 6 6の処理負荷を大幅に低 減させることができる。
因みに、 このような簡易動きべク トル D 2 4の合成を簡易動きベク トル検出器 6 4によって実行すれば、 動きべク トル検出器 6 6の処理負荷を低減させること もできる。
さらに、 上述した第 2の実施の形態においては、 第 2のフレーム画像データの 各第 2のマクロプロックデータ D 4を順方向予測符号化により圧縮符号化するよ うにした場合について述べたが、 本発明はこれに限らず、 各第 2のマクロプロッ クデータ D 4の分散値を用いてフレーム内符号化及び順方向予測符号化のいずれ で圧縮符号化するようにしても良い。
さらに、 上述した第 2の実施の形態においては、 動きベクトル検出器 6 6によ り、 入力用フレームメモリ 3 2から読み出した参照用の第 1及び第 2のフレーム 画像データ D 6を用いて各第 2のマクロプロックデータ D 4の動きべクトル D 2 6を検出するようにした場合について述べたが、 本発明はこれに限らず、 動きべ クトル検出器 6 6により参照用フレームメモリ 4 7から参照用の第 1及び第 2の フレーム画像データを読み出して各第 2のマクロプロックデータ D 4の動きべク トル D 2 6を検出するようにしても良い。 このようにすれば動きべク トル D 2 6 の検出に、 一旦圧縮符号化した後に復号化して再構築することによりその圧縮符 号化によって発生したブロックノィズ等を持つ第 1及び第 2のフレーム画像デー タを用いることができ、 当該動きべクトル D 2 6の検出精度を向上させることが できる。
さらに、 上述した第 2の実施の形態においては、 第 2のマクロプロックデータ D 4の動きべクトル D 2 6の検出に第 1階層及び第 2階層の 2階層からなる階層 サーチ動きべクトル検出方式を用いるようにした場合について述べたが、 本発明 はこれに限らず、 第 2のマクロブロックデータ D 4の動きべク トルの検出に互い に異なる解像度のフレーム画像を用いる 3階層以上の階層サーチ動きべクトル検 出方式を用いるようにしても良い。
さらに、 上述した第 2の実施の形態においては、 バッファ 4 2のデータ蓄積量 D R及び符号化予測データ量に応じて動画像データ D 1のフレームレートを変更 するようにした場合について述べたが、 本発明はこれに限らず、 バッファ 4 2の データ蓄積量 D Rに応じて動画像データ D 1のフレームレートを変更するように しても良い。 このようにしてフレームレートを変更してもデータ蓄積量 D Rの急 激な增減に適確に対処して動画像の画質を安定化させることができる。
( 4 ) 第 3の実施の形態
図 1 0との対応部分に同一符号を付して示す図 1 5は第 3の実施の形態による 動画像符号化装置 7 0を示し、 動きべクトル検出処理部 7 1及ぴ圧縮符号化部 7 2並びにマスク画像処理部 7 3の構成を除いて第 2の実施の形態による動画像符 号化装置 6 0と同様に構成されている。
動きべク トル検出処理部 7 1において簡易動きべクトル検出器 7 4は、 入力用 フレームメモリ 3 2內で動画像データ D 1を構成する先頭のフレーム画像データ に Iピクチャが割り当てられたとき、 当該 Iピクチャの割り当てられた第 1のフ レーム画像データのピクチャ情報を読み出すことによりそのピクチヤ情報に基づ いて予測モードデータ D 3を生成し、 当該生成した予測モードデータ D 3を簡易 動きべク トルバッファ 7 5に送出して蓄積する。
また、 簡易動きべクトル検出器 7 4は、 入力用フレームメモリ 3 2内でフレー ム画像データに Pピクチャが割り当てられたとき、 図 1 0について上述した動画 像符号化装置 6 0の簡易動きべクトル検出器 6 4と同様に当該 Pピクチャの割り 当てられた第 2のフレーム画像データ及び参照用の第 1又は第 2のフレーム画像 データのピクチャ情報に基づいて予測モードデータ D 2 0を生成する。
そして、 簡易動きべクトル検出器 7 4は、 図 1 1 (A) 及ぴ (B ) 並びに図 1 2について上述した場合と同様に階層サーチ動きべク トル検出方式による第 2階 層において、 Pピクチャの割り当てられた第 2のフレーム画像データにおける各 第 2のマクロプロックデータ D 4の簡易動きべク トル D 2 4を検出し、 当該検出 した各簡易動きべクトル D 2 4を予測モードデータ D 2 0に対応付けて簡易動き べクトルバッファ 7 5に送出して蓄積する。
これに加えて簡易動きべクトル検出器 7 4は、 入力用フレームメモリ 3 2内で 動画像データ D 1を構成する各フレーム画像データのうち先頭以外のフレーム画 像データに Iピクチャが割り当てられたときには、 当該 Iピクチャの割り当てら れた第 1のフレーム画像データのピクチャ情報を読み出すと共に、 その第 1のフ レーム画像データと順方向側で隣接する参照用の第 2のフレーム画像データ D 6 のピクチャ情報を読み出す。
簡易動きべクトル検出器 7 4は、 これらピクチャ情報に基づいて符号化対象の 第 1のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報と して表すと共に参照用の第 2のフレーム画像データ D 6のフレーム識別情報を参 照用フレーム識別情報として表し、 さらに符号化対象の第 1のフレーム画像デー タを順次第 1のマクロプロックデータ D 2単位でフレーム内符号化により圧縮符 号化することを表す予測モードデータ D 3 0を生成する。
また、 簡易動きべクトル検出器 7 4は、 このとき入力用フレームメモリ 3 2か らその符号化対象の第 1のフレーム画像データを順次第 1のマクロプロックデ一 タ D 2単位で読み出すと共に参照用の第 2のフレーム画像データ D 6を読み出し 、 図 1 1 (A) 及び (B ) 並びに図 1 2について上述した場合と同様に階層サー チ動きべクトル検出方式による第 2階層において当該第 1のフレーム画像データ における各第 1のマクロプロックデータ D 2の簡易動きべク トル D 3 1を検出す る。
そして、 簡易動きベク トル検出器 7 4は、 第 1のフレーム画像データに対する 予測モードデータ D 3 0及び各第 1のマクロプロックデータ D 2の簡易動きべク トル D 3 1を対応付けて簡易動きべクトルバッファ 7 5に送出して蓄積する。 このようにして簡易動きべク トル検出器 7 4は、 入力用フレームメモリ 3 2に フレーム画像データが順次取り込まれて Iピクチャ及び Pピクチャが割り当てら れると、 その都度同様にして予測モードデータ D 3、 D 2 0、 D 3 0を生成する と共に簡易動きベクトル D 2 4、 D 3 1を検出し、 これらを簡易動きべクトルバ ッファ 7 5に蓄積する。
ここで、 動画像符号化装置 7 0においては、 外部から供給される動画像データ D 1を順次フレーム画像データ単位で入力用フレームメモリ 3 2と共にマスク画 像処理部 7 3のマスク画像生成器 7 7にも取り込んでいる。 そして、 マスク画像生成器 7 7には、 図 1 6に示すように、 外部からフレーム 画像データに基づくフレーム画像 8 0から抽出する人物等の抽出画像の初期位置 を指定すると共に枠 8 1により当該抽出画像の任意形状を指定する形状指定デー タ D 3 5が与えられている。
この場合、 マスク画像生成器 7 7は、 動画像データ D 1を構成する各フレーム 画像データのうち先頭のフレーム画像データを取り込むと、 当該取り込んだフレ ーム画像データをマクロブロックデータに分割し、 形状指定データ D 3 5に基づ いて図 1 7に示すようにその先頭のフレーム画像データに基づくフレーム画像 8 3内で抽出画像の枠 8 1を囲む矩形状の追跡領域 8 4 Aを設定することにより当 該設定した追跡領域 8 4 A内のマクロプロックデータを検出する。
また、 マスク画像生成器 7 7は、 2フレーム目のフレーム画像データを取り込 むと、 当該 2フレーム目のフレーム画像データをマクロプロックデータに分割し 、 簡易動きベクトルバッファ 7 5から 2フレーム目のフレーム画像データ (すな わち、 第 2のフレーム画像データ) における各マクロブロックデータ (すなわち 、 第 2のマクロブロックデータ D 4 ) の簡易動きベクトル D 2 4を読み出す。 そして、 マスク画像生成器 7 7は、 各簡易動きベク トル D 2 4を用いて先頭の フレーム画像データに基づくフレーム画像 8 3の追跡領域 8 4 A内の各マクロプ 口ックデータが 2フレーム目のフレーム画像データに基づくフレーム画像 8 5内 で移動した位置をおおまかに検出した後、 当該フレーム画像 8 3及び 8 5間で追 跡領域 8 4 A及ぴ 8 4 B同士を例えばラインマッチング法によって比較すること によりその追跡領域 8 4 A内の各マクロプロックデータの移動した位置を高精度 に検出する。
これによりマスク画像生成器 7 7は、 2フレーム目のフレーム画像データに基 づくフレーム画像 8 5内で各マクロプロックデータを含む追跡領域 8 4 Bを特定 すると、 当該特定した追跡領域 8 4 B内で抽出画像の枠 8 1を特定する。
このようにしてマスク画像生成器 7 7は、 外部から順次フレーム画像データを 取り込む毎に、 簡易動きべクトルバッファ 7 5から読み出した対応する簡易動き べク トル D 2 4及び D 3 1を用いると共にラインマッチング法を用いて順次隣接 するフレーム画像データ間で追跡領域 8 4 A内の各マクロプロックデータの移動 した位置を検出して追跡領域 8 4 Bと共に抽出画像の枠 8 1を特定することによ り複数のフレーム画像データに渡って順次抽出画像を追跡する。
これに加えてマスク画像生成器 7 7は、 このように順次隣接するフレーム画像 データ間で抽出画像を追跡すると、 図 1 8に示すように、 まず先頭のフレーム画 像データについては形状指定データ D 3 5に基づいて各マクロプロックデータの 各画素の画素値を変更することによりフレーム画像 8 3 (図 1 7 ) において抽出 画像の枠 8 1よりも内側を例えば白色とし、 かつ当該枠 8 1よりも外側を黒色と して抽出画像の初期位置及び任意形状を表すマスク画像 8 6を生成し、 当該生成 したマスク画像 8 6のデータ (以下、 これをマスク画像データと呼ぶ) D 3 6を 複数フレーム分の記憶容量を有するマスク用フレームメモリ 9 0に送出して蓄積 する。
また、 マスク画像生成器 7 7は、 2フレーム目以降のフレーム画像データにつ いては、 追跡した抽出画像の枠 8 1に基づいて各マクロブロックデータの画素の 画素値を変更することにより先頭のフレーム画像データの場合と同様に処理して 抽出画像の移動位置及び任意形状を表すマスク画像データ D 3 6を生成し、 当該 生成したマスク画像データ D 3 6をマスク用フレームメモリ 9 0に送出して蓄積 する。
このようにしてマスク画像生成器 7 7は、 フレーム画像データを取り込む毎に 抽出画像を追跡しながら当該フレーム画像データから抽出画像の移動位置及び任 意形状を表すマスク画像データ D 3 6を生成してマスク用フレームメモリ 9 0に 蓄積する。
ところで、 動きベクトル検出器 9 1は、 簡易動きベクトル検出器 7 4により所 定フレーム数分の簡易動きべクトル D 2 4及ぴ D 3 1が簡易動きべクトルバッフ ァ 7 5に蓄積されると共に、 マスク画像生成器 7 7により所定フレーム数分のマ スク画像データ D 3 6がマスク用フレームメモリ 9 0に蓥積されることにより圧 縮符号化部 7 2が符号化対象の第 1及び第 2のフレーム画像データに対して圧縮 符号化を開始すると、 当該符号化対象の第 1及び第 2のフレーム画像データに対 する圧縮符号化の順番に従って簡易動きべクトルバッファ 7 5から順次対応する 予測モードデータ D 3及び D 2 0並びに D 3 0を読み出す。
動きべクトル検出器 9 1は、 簡易動きべクトルバッファ 7 5から予測モードデ ータ D 3及び D 2 0並びに D 3 0を読み出す毎に、 当該予測モードデータ D 3及 ぴ D 2 0並びに D 3 0に基づいて得られる符号化対象フレーム識別情報及び参照 用フレーム識別情報を、 このときフレーム構造変換器 6 2から与えられた対応す るコントロールフラグ C F 1及び C F 2並びに C F 3に基づいて得られた符号化 対象フレーム識別情報及び参照用フレーム識別情報並びに間引きフレーム識別情 報と比較する。
この場合、 動きベクトル検出器 9 1は、 簡易動きベクトルバッファ 7 5から第 1のフレーム画像データに対する予測モードデータ D 3、 D 3 0を読み出したと きには、 図 5 (A) 乃至 (C ) について上述したように第 1のフレーム画像デー タが間引きの対象から除外されており、 予測モードデータ D 3、 D 3 0及ぴ対応 するコントロールフラグ C F 1に基づいて得られる符号化対象フレーム識別情報 同士が一致することにより当該第 1のフレーム画像データが間引かれていないと 判断して予測モードデータ D 3、 D 3 0を動き補償器 9 2及び可変長符号化器 9 3に送出する。
また、 動きべク トル検出器 9 1は、 簡易動きべク トルバッファ 7 5から第 2の フレーム画像データに対する予測モードデータ D 2 0を読み出したとき、 その予 測モードデータ D 2 0及び対応するコント口ールフラグ C F 2に基づいて当該第 2のフレーム画像データと、 これに簡易動きべク トル D 2 4の検出時に対応付け た参照用の第 1又は第 2のフレーム画像データ D 6とが間引かれていないことを 検出すると、 簡易動きべクトルバッファ 7 5からその予測モードデータ D 2 0に 対応付けられている簡易動きべクトル D 2 4を読み出す。
このとき動きべク トル検出器 9 1は、 コントロールフラグ C F 2に基づいて入 力用フレームメモリ 3 2から符号化対象の第 2のフレーム画像データを順次第 2 のマクロプロックデータ D 4単位で読み出すと共に簡易動きべク トル D 2 4の検 出時に対応付けた参照用の第 1又は第 2のフレーム画像データ D 6を読み出し、 さらにマスク用フレームメモリ 9 0から当該符号化対象の第 2のフレーム画像デ ータに対応するマスク画像データ D 3 6も読み出す。
そして、 動きベクトル検出器 9 1は、 図 1 9に示すように、 マスク画像データ D 3 6を用いて各第 2のマクロプロックデータ D 4のうち任意形状の抽出画像の ェッジ部分 8 1 Aよりも外側及ぴ内側に位置するものと当該エツジ部分 8 1 Aに かかるものとを判別する。
この結果、 動きベクトル検出器 9 1は、 各第 2のマクロブロックデータ D 4の うち抽出画像のェッジ部分 8 1 Aよりも外側に位置する第 2のマクロプロックデ ータ D 4に対しては、 原画像レベルの動きべクトルの検出を実行せずに予測モー ドデータ D 2 0のみを動き補償器 9 2及び可変長符号化器 9 3に送出する。 また、 動きベクトル検出器 9 1は、 各第 2のマクロブロックデータ D 4のうち 抽出画像のエッジ部分 8 1 Aよりも内側に位置する第 2のマクロプロックデータ D 4に対しては、 簡易動きべク トルバッファ 7 5から対応する簡易動きべク トル D 2 4を読み出し、 図 1 2について上述した場合と同様に階層サーチ動きべクト ル検出方式による第 1階層において原画像レベルの動きべク トル D 2 6を検出し 、 当該検出した動きべク トル D 2 6を予測モードデータ D 2 0と共に動き補償器 9 2及び可変長符号化器 9 3に送出する。
さらに、 動きべク トル検出器 9 1は、 図 2 0に示すように、 各第 2のマクロブ 口ックデータ D 4のうち抽出画像のエッジ部分 8 1 Aにかかる第 2のマクロプロ ックデータ D 4に対しては、 特にマスク画像データ D 3 6を用いて当該第 2のマ クロプロックデータ D 4内の全ての画素のうちエッジ部分 8 1 Aの内側に位置す る画素を判別する。
そして、 動きべクトル検出器 9 1は、 図 1 1 ( A) 及ぴ (B ) 並びに図 1 2に ついて上述した場合と同様な階層サーチ動きベクトル検出方式による第 1階層に おいてプロックマッチング法により第 2のマクロプロックデータ D 4の各画素の うちエッジ部分 8 1 Aの内側に位置する画素のみを選択的に用いて予測誤差を算 出することにより原画像レベルの動きべクトル D 3 7を検出し、 当該検出した動 きべクトル D 3 7を予測モードデータ D 2 0と共に動き補償器 9 2及ぴ可変長符 号化器 9 3に送出する。
また、 動きベクトル検出器 9 1は、 簡易動きベクトルバッファ 7 5から第 2の フレーム画像データに対する予測モードデータ D 2 0を読み出したとき、 動画像 データ D 1のフレームレートの変更に伴い符号化対象の第 2のフレーム画像デー タに対して新たな第 1又は第 2のフレーム画像データ D 6が参照用として対応付 けられていれば、 コントロールフラグ C F 2に基づいて入力用フレームメモリ 3 2からその符号化対象の第 2のフレーム画像データを順次第 2のマクロブロック データ D 4単位で読み出すと共に新たに対応付けられた参照用の第 1又は第 2の フレーム画像データ D 6を読み出し、 さらにマスク用フレームメモリ 9 0から当 該符号化対象の第 2のフレーム画像データに対応するマスク画像データ D 3 6を み出 - このとき動きベク トル検出器 9 1は、 予測モードデータ D 2 Qに、 予め格納さ れている参照用フレーム識別情報に代えてコントロールフラグ C F 2に基づいて 得られた新たな参照用フレーム識別情報を格納することにより第 2のマクロプロ ックデータ D 4に対して内容を修正した予測モードデータ D 2 7を生成する。 また、 動きべクトル検出器 9 1は、 符号化対象の第 2のフレーム画像データの 各第 2のマクロプロックデータ D 4.及ぴ新たに対応付けられた参照用の第 1又は 第 2のフレーム画像データ D 6を用いて図 1 1 (A) 及ぴ (B ) 並びに図 1 2に ついて上述した場合と同様に階層サーチ動きべクトル検出方式による第 2階層に おいてこれら各第 2のマクロブロックデータ D 4の簡易動きべク トル D 2 4を検 出する。
そして、 動きベク トル検出器 9 1は、 検出した各第 2のマクロプロックデータ D 4の簡易動きべク トル D 2 4 用いて図 1 9及び図 2 0について上述した場合 と同様に第 1階層においてマスク画像データ D 3 6によって指定された抽出画像 のエッジ部分 8 1 Aよりも内側及び当該エッジ部分 8 1 Aにかかる第 2のマク口 プロックデータ D 4に対してのみ原画像レベルの動きべクトル D 2 6及び D 3 7 を生成する。
これにより動きべクトル検出器 9 1は、 抽出画像のエッジ部分 8 1 Aよりも外 側に位置する第 2のマクロプロックデータ D 4に対しては予測モードデータ D 2 7のみを動き補償器 9 2及び可変長符号化器 9 3に送出し、 当該エッジ部分 8 1 Aよりも内側及ぴそのエッジ部分 8 1 Aにかかる第 2のマクロプロックデータ D 4に対しては原画像レベルの動きべクトル D 2 6及び D 3 7を予測モードデータ D 2 7と共に動き補償器 9 2及び可変長符号化器 9 3に送出する。
さらに、 動きベク トル検出器 9 1は、 簡易動きベク トルバッファ 7 5から符号 化対象の第 2のフレーム画像データに対する予測モードデータ D 2 0を読み出し たときにフレーム構造変換器 6 2から与えられたコントロールフラグ C F 3に基 づいて当該第 2のフレーム画像データが間引かれていることを検出すると、 その 第 2のフレーム画像データに対する原画像レベルでの動きべクトルの検出を見送 ると共に、 このときマスク用フレームメモリ 9 0に対して当該符号化対象の第 2 のフレーム画像データに対応するマスク画像データ D 3 6を読出不可能な状態に する。
このようにして動きべクトル検出器 9 1は、 フレーム構造変換器 6 2による動 画像データ D 1のフレームレートの変更に適確に応じながら符号化対象の第 2の フレーム画像データに対して抽出画像に対応する第 2のマクロブロックデータ D 4の動きべクトル D 2 6及ぴ D 3 7を順次適確に検出 (再検出を含む) し得るよ うになされている。
一方、 マスク画像処理部 7 3においてマスク画像符号化器 9 4は、 圧縮符号化 部 7 2により符号化対象の第 1又は第 2のフレーム画像データに対する圧縮符号 化が開始されると、 当該第 1及び第 2のフレーム画像データに対する圧縮符号化 の順番に従ってマスク用フレームメモリ 9 0から順次対応するマスク画像データ D 3 6を読み出すと共に、 当該読み出したマスク画像データ D 3 6を M P E G 4 方式によって規定されているマスク画像データ符号化方法により圧縮符号化し、 得られた符号化データ D 4 0を局所復号器 9 5及びバッファ 9 6に送出する。 因みに、 マスク画像符号化器 9 4は、 動きベク トル検出器 9 1によりマスク用 フレームメモリ 9 0内において読出不可能な状態にされたマスク画像データ D 3 6については読み出しを見送るようにする。
局所復号器 9 5は、 マスク画像符号化器 9 4から与えられた符号化データ D 4 0を M P E G 4方式の規定に従って複号化し、 得られたマスク画像データ D 4 1 を複数フレーム分の記録容量を有する参照用フレームメモリ 9 7に送出して蓄積 する。
また、 圧縮符号化部 7 2において演算器 3 8は、 符号化対象の第 1及ぴ第 2の フレーム画像データに対し 圧縮符号化を開始すると、 入力用フレームメモリ 3 2から第 1のフレーム画像データについては順次第 1のマクロプロックデータ D 2単位で読み出す。
動き補償器 9 2は、 このとき動きべクトル検出器 9 1から与えられた対応する 予測モードデータ D 3及び D 3 0に基づいて第 1のマクロブロックデータ D 2に 対する動き補償処理を停止する。
これにより演算器 3 8は、 入力用フレームメモリ 3 2力 ら第 1のフレーム画像 データの第 1のマクロプロックデータ D 2を読み出すと、 このとき動き補償器 9 2からは何らデータが与えられないことにより当該第 1のマクロプロックデータ D 2をそのまま離散コサイン変換器 9 8に送出する。
離散コサイン変換器 9 8は、 符号化対象の第 1及ぴ第 2のフレーム画像データ に対する圧縮符号化が開始されると、 当該符号化対象の第 1及ぴ第 2のフレーム 画像データに対する圧縮符号化の順番に従って参照用フレームメモリ 9 7から順 次対応するマスク画像データ D 4 1を読み出しており、 演算器 3 8から第 1のマ クロプロックデータ D 2が与えられると、 対応するマスク画像データ D 4 1に基 づいて当該第 1のマクロプロックデータ D 2が抽出画像のエッジ部分 8 1 Aより も外側及ぴ内側並ぴに当該エッジ部分 8 1 Aのうちどこに位置するかを判別する そして、 離散コサイン変換器 9 8は、 第 1のマクロブロックデータ D 2がエツ ジ部分 8 1 Aよりも外側に位置するときには M P E G 4方式の規定に従い当該第 1のマクロプロックデータ D 2の各画素の画素値を圧縮符号化の際にデータ量を 大幅に低減させる例えば黒色を表す画素値に変更する。
また、 離散コサイン変換器 9 8は、 第 1のマクロブロックデータ D 2がエッジ 部分 8 1 Aよりも内側に位置するときには M P E G 4方式の規定に従い当該第 1 のマクロブロックデータ D 2をそのまま変更しないようにする。
さらに、 離散コサイン変換器 9 8は、 第 1のマクロブロックデータ D 2がエツ ジ部分 8 1 Aにかかるときには M P E G 4方式の規定に従い当該第 1のマクロプ 口ックデータ D 2の各画素のうちエッジ部分 8 1 Aよりも外側の画素の画素値を 黒色を表す画素値に変更し、 かつ当該エッジ部分 8 1 Aよりも内側の画素の画素 値はそのまま変更しないようにする。
かくして離散コサイン変換器 9 8は、 マスク画像データ D 4 1に基づいて各第 1のマクロプロックデータ D 2に画素値の変更処理を施すことにより第 1のフレ ーム画像データに基づくフレーム画像において任意形状の抽出画像を見かけ上抽 出した状態としてこれら各第 1のマクロプロックデータ D 2を離散コサイン変換 し、 得られた離散コサイン変換係数 K 1 0を量子化器 4 1に送出する。
量子化器 4 1は、 離散コサイン変換器 9 8から与えられた離散コサイン変換係 数 K 1 0を対応する量子化ステップ S Tに基づいて量子化し、 得られた量子化係 数 1 1をその量子化に用いた量子化ステップ S Tと共に可変長符号化器 9 3及 び逆量子化器 4 4に送出する。
可変長符号化器 9 3は、 量子化器 4 1から与えられた量子化係数 K l 1をハフ マン符号等により可変長符号化すると共に、 当該量子化器 4 1から与えられた量 子化ステップ S T及ぴ動きべクトル検出器 9 1から与えられた対応する予測モー ドデ一タ D 3を可変長符号化し、 得られた符号化データ D 4 5をバッファ 9 6に 送出して一旦蓄積する。
これによりバッファ 9 6は、 可変長符号化器 9 3から与えられた符号化データ D 4 5及びマスク画像符号化器 9 4から与えられた符号化データ D 4 0を符号化 データ量を平滑化した符号化ビットストリーム B S 2として外部に出力する。 このようにして動画像符号化装置 7 0においては、 入力用フレームメモリ 3 2 内の第 1のフレーム画像データについては見かけ上、 抽出画像データを抽出した 状態にして順次第 1のマクロプロックデータ D 2単位でフレーム内符号化により 圧縮符号化し得るようになされている。
また、 逆量子化器 4 4は、 量子化器 4 1から与えられた量子化係数 K l 1を同 様に量子化器 4 1から与えられた量子化ステップ S Tに基づいて逆量子化し、 得 られた離散コサイン変換係数 K 1 2を逆離散コサイン変換器 4 5に送出する。 逆離散コサイン変換器 4 5は、 逆量子化器 4 4から与えられた離散コサイン変 換係数 K 1 2を逆離散コサイン変換し、 得られた第 1のマクロプロックデータ D 4 6を加算器 4 6に送出する。
加算器 4 6は、 逆離散コサイン変換器 4 5から第 1のマクロブロックデータ D 4 6が与えられると、 このとき動き補償器 9 2からは何らデータが与えられてい ないことにより当該第 1のマクロプロックデータ D 4 6をそのまま参照用フレー ムメモリ 9 7に送出して格納する。
このようにして加算器 4 6は、 第 1のフレーム画像データに対する圧縮符号化 により逆離散コサイン変換器 4 5から第 1のマクロブロックデータ D 4 6が順次 与えられる毎に当該第 1のマクロブロックデータ D 4 6をそのまま参照用フレー ムメモリ 9 7に送出して格納することにより、 参照用フレームメモリ 9 7内にこ れら第 1のマクロブロックデータ D 4 6によって見かけ上、 抽出画像データを抽 出した第 1のフレーム画像データを動き捕償処理の参照用として再構築する。 また、 演算器 3 8は、 入力用フレームメモリ 3 2から第 1のフレーム画像デー タを読み出すと、 これに続いて符号化対象の第 2のフレーム画像データを順次第 2のマクロプロックデータ D 4単位で読み出す。 このとき動き補償器 9 2は、 動きべクトル検出器 9 1から与えられた対応する 予測モードデータ D 2 0及ぴ D 2 7に基づいて動き捕償処理を実行することによ り参照用フレームメモリ 9 7から符号化対象の第 2のフレーム画像データに参照 用として対応付けられ、 かつ見かけ上抽出画像データが抽出された第 1又は第 2 のフレーム画像データを読み出すと共に当該符号化対象の第 2のフレーム画像デ ータに対応するマスク画像データ D 4 1を読み出す。
そして、 動き補償器 9 2は、 M P E G 4方式の規定に従い動きベクトル検出器 9 1から与えられた第 2のマクロプロックデータ D 4の動きべク トル D 2 6、 D 3 7及ぴマスク画像データ D 4 1に基づいて参照用の第 1又は第 2のフレーム画 像データ内から当該第 2のマクロプロックデータ D 4と最も一致する演算用プロ ックデータ D 4 7を抽出し、 当該抽出した演算用プロックデータ D 4 7を演算器 3 8及び加算器 4 6に送出する。
従って、 演算器 3 8は、 入力用フレームメモリ 3 2から第 2のマクロブロック データ D 4を読み出すと、 このとき動き補償器 9 2から与えられた演算用マクロ ブロックデータ D 4 7を当該第 2のマクロプロックデータ D 4から減算し、 得ら れた差分データ D 4 8を離散コサイン変換器 9 8に送出する。
離散コサイン変換器 9 8は、 演算器 3 8から差分データ D 4 8が与えられると 、 M P E G 4方式の規定に従い対応するマスク画像データ D 4 1に基づいて当該 差分データ D 4 8に見かけ上抽出画像データを抽出するための画素値の変更処理 を施した後に離散コサイン変換し、 得られた離散コサイン変換係数 K 1 3を量子 化器 4 1に送出する。
量子化器 4 1は、 離散コサイン変換器 9 8から与えられた離散コサイン変換係 数 K 1 3を対応する量子化ステップ S Tに基づいて量子化し、 得られた量子化係 数 K 1 4をその量子化ステップ S Tと共に可変長符号化器 9 3及び逆量子化器 4 4に送出する。
可変長符号化器 9 3は、 量子化器 4 1から与えられた量子化係数 K 1 4をハフ マン符号等により可変長符号化すると共に、 当該量子化器 4 1から与えられた量 子化ステップ S Tと動きべクトル検出器 9 1から与えられた対応する予測モード データ D 2 0、 D 2 7及ぴ動きべク トル D 2 6、 D 3 7も可変長符号化し、 得ら れた符号化データ D 4 8をバッファ 9 6に送出して一旦蓄積する。
これによりバッファ 9 6は、 可変長符号化器 9 3から与えられた符号化データ D 4 8及ぴマスク画像符号化器 9 4から与えられた符号化データ D 4 0を符号化 データ量を平滑化した符号化ビットストリーム B S 2として外部に出力する。 このようにして動画像符号化装置 7 0においては、 入力用フレームメモリ 3 2 内の第 2のフレーム画像データについても見かけ上、 抽出画像データを抽出した 状態にして順次第 2のマクロプロックデータ D 4単位で順方向予測符号化により 圧縮符号化し得るようになされている。
このとき、 逆量子化器 4 4は、 量子化器 4 1から与えられた量子化係数 K 1 4 を同様に量子化器 4 1から与えられた量子化ステップ S Tに基づいて逆量子化し 、 得られた離散コサイン変換係数 K 1 5を逆離散コサイン変換器 4 5に送出する また、 逆離散コサイン変換器 4 5は、 逆量子化器 4 4から与えられた離散コサ イン変換係数 K 1 5を逆離散コサイン変換し、 得られた差分データ D 5 0を加算 器 4 6に送出する。
加算器 4 6は、 逆離散コサイン変換器 4 5から差分データ D 5 0が与えられる と、 このとき動き補償器 9 2から演算用プロックデータ D 4 7が与えられること により当該差分データ D 5 0と演算用プロックデータ D 4 7とを加算し、 得られ た第 2のマクロプロックデータ D 5 1を参照用フレームメモリ 9 7に送出して格 納する。
このようにして加算器 4 6は、 第 2のフレーム画像データに対する圧縮符号化 により逆離散コサイン変換器 4 5から差分データ D 5 0が与えられる毎に当該差 分データ D 5 0と対応する演算用プロックデータ D 4 7とを加算して第 2のマク ロブ口ックデータ D 5 1を生成し、 当該生成した第 2のマクロプロックデータ D 5 1を参照用フレームメモリ 9 7に送出して格納することによりその参照用フレ ームメモリ 9 7内にこれら第 2のマクロブロックデータ D 5 1によって見かけ上 、 抽出画像データを抽出した第 2のフレーム画像データを動き補償処理の参照用 として再構築する。
因みに、 可変長符号化器 9 3は、 第 1及び第 2のフレーム画像データから得ら れた量子化係数 K l 1及ぴ K 1 4に対して抽出画像データの部分を選択的に可変 長符号化するようになされており、 これにより可変長符号化の処理負荷を低減さ せると共に符号化ビッ トス トリーム B S 2の符号化データ量を低減し得るように なされている。
かくしてこの動画像符号化装置 7 0においては、 動画像データ D 1に対するフ レームレートを適宜変更しながら第 1及ぴ第 2のフレーム画像データから見かけ 上抽出画像データを抽出して圧縮符号化し、 得られた符号化ビットストリーム B S 2を外部に出力し得るようになされている。
ここで、 この動画像符号化装置 7 0のフレームレート変更処理部 6 1と動きべ ク トル検出処理部 7 1と圧縮符号化部 7 2とマスク画像処理部 7 3とによる動画 像データ D 1の圧縮符号化処理手順についてまとめてみると、 図 1 3 (A) 及ぴ 図 1 4 (A) との対応部分に同一符号を付した図 2 1 (A) 及ぴ図 2 2 (A) に 示すように、 まず動きベク トル検出処理部 7 1は、 ルーチン R T 6の開始ステツ プから入ってステップ S P 5 1に移る。
ステップ S P 5 1において動きべクトル検出処理部 7 1は、 簡易動きべク トル 検出回路 7 4により入力用フレームメモリ 3 2から先頭の第 1のフレーム画像デ ータ以外の第 1及び第 2のフレーム画像データを順次第 1及び第 2のマクロプロ ックデータ D 2及び D 4単位で読み出すと共に、 当該第 1及び第 2のフレーム画 像データに対する参照用の第 1又は第 2のフレーム画像データ D 6を読み出し、 階層サーチ動きべクトル検出方式による第 2階層において 1フレーム分の各第 1 及び第 2のマクロプロックデータ D 2及ぴ D 4の簡易動きべクトル D 2 4及ぴ D 3 1を検出し、 これを簡易動きべク トルバッファ 7 5に蓄積してステップ S P 3 2に移る。 ステップ S P 3 2において動きべクトル検出処理部 7 1は、 簡易動きべクトル 検出器 7 4によりフレーム間相関値 S H 2を算出してフレーム構造変換器 6 2に 送出した後にステップ S P 3 3に移る。
ステップ S P 3 3において動きべクトル検出処理部 7 1は、 動きべクトル検出 器 9 1により入力用フレームメモリ 3 2に対する演算器 3 8のアクセスの有無を 監視して第 1及び第 2のフレーム画像データの圧縮符号化が開始されたか否かを 判断し、 第 1及ぴ第 2のフレーム画像データの圧縮符号化が開始されていなけれ ば、 ステップ S P 5 1に戻る。
従って、 動きべク トル検出処理部 7 1は、 第 1及び第 2のフレーム画像データ の圧縮符号化が開始されるまでの間はステップ S P 5 1— S P 3 2— S P 3 3の 処理を循環的に繰り返すことにより順次第 1及び第 2のフレーム画像データにお ける各第 1及び第 2のマクロプロックデータ D 2及ぴ D 4の簡易動きべクトル D 2 4及び D 3 1を検出すると共に、 フレーム間相関値 S H 2を算出する。
このとき図 2 1 ( B ) 及ぴ図 2 2 ( B ) に示すように、 マスク画像処理部 7 3 は、 ルーチン R T 7の開始ステップから入ってステップ S P 6 1に移り、 外部か ら供給される動画像データ D 1を順次フレーム画像データ単位で取り込み、 形状 指定データ D 3 5に基づいて先頭のフレーム画像データに対して抽出画像の初期 位置及び任意形状を特定したマスク画像データ D 3 6を生成してマスク用フレー ムメモリ 9 0に蓄積してスデップ S P 6 2に移る。
ステップ S P 6 2においてマスク画像処理部 7 3は、 例えばマスク用フレーム メモリ 9 0に対する動きべクトル検出器 9 1のアクセスの有無を監視して第 1及 ぴ第 2のフレーム画像データの圧縮符号化が開始されたか否かを判断し、 当該第 1及ぴ第 2のフレーム画像データの圧縮符号化が開始されていなければ、 ステッ プ S P 6 1に戻る。
従って、 マスク画像処理部 7 3は、 第 1及び第 2のフレーム画像データの圧縮 符号化が開始されるまでの間はステップ S P 6 1 - S P 6 2の処理を循環的に操 り返すことにより 2フレーム目以降のフレーム画像データに対して簡易動きべク トルバッファ 7 5から読み出した第 1及ぴ第 2のマクロプロックデータ D 2及ぴ D 4の簡易動きべク トル D 2 4及ぴ D 3 1を用いて順次抽出画像を追跡しながら これら各フレーム画像データに対して抽出画像の移動位置及ぴ任意形状を表すマ スク画像データ D 3 6を生成してマスク用フレームメモリ 9 0に蓄積する。 この後圧縮符号化部 7 2により符号化対象の第 1及び第 2のフレーム画像デー タに対する圧縮符号化が開始されると、 動きべクトル検出処理部 7 1はステップ S P 3 3からステップ S P 3 4に移り、 図 1 3 ( A) 及ぴ図 1 4 (A) について 上述した場合と同様にステップ S P 3 4 - S P 3 5— S P 3 6の処理を順次実行 してステップ S P 5 2に移る。
ステップ S P 5 2において動きべクトル検出処理部 7 1は、 動きべクトル検出 器 9 1により入力用フレームメモリ 3 2から符号化対象の第 2のフレーム画像デ ータを順次第 2のマクロプロックデータ D 4単位で読み出すと共に参照用の第 1 又は第 2のフレーム画像データ D 6を読み出し、 さらにマスク用フレームメモリ 9 0から対応するマスク画像データ D 3 6を読み出すことにより当該読み出した マスク画像データ D 3 6に基づいて各第 2のマクロプロックデータ D 4のうち任 意形状の抽出画像のェッジ部分 8 1 Aよりも外側及び内側並びに当該ェッジ部分 8 1 Aにかかるものをそれぞれ判別した後に階層サーチ動きべク トル検出方式に よる第 1階層においてその判別結果に応じて各第 2のマクロブロックデータ D 4 の原画像レベルの動きべクトル D 2 6及び D 3 7を検出してステップ S P 3 8に 栘る。
ステップ S P 3 8において動きべクトル検出処理部 7 1は、 簡易動きべクトル 検出器 7 4により 2フレーム目以降の全ての第 1及び第 2のフレーム画像データ における各第 1及ぴ第 2のマクロブロックデータ D 2及び D 4の簡易動きべク ト ル D 2 4及び D 3 1を検出したか否かを判断し、 当該 2フレーム目以降の全ての 第 1及び第 2のフレーム画像データにおける各第 1及び第 2のマクロプロックデ ータ D 2及び D 4の簡易動きべクトル D 2 4及ぴ D 3 1を検出していなければ、 ステップ S P 5 1に戻る。 従って、 動きべクトル検出処理部 71は、 入力用フレームメモリ 32に簡易動 きべク トル D 24及び D 3 1を検出すべき第 1及ぴ第 2のフレーム画像データが 取り込まれている間はステップ S P 5 1— S P 32— S P 3 3— S P 34— S P 3 5— S P 3 6— S P 52— S P 3 8の処理を循環的に繰り返すことにより入力 用フレームメモリ 3 2に取り込まれている 2フレーム目以降の第 1及ぴ第 2のフ レーム画像データに対して順次第 1及び第 2のマクロプロックデータ D 2及ぴ D 4の簡易動きべクトル D24及び D 3 1を検出し、 かつフレーム間相関値 SH 2 を順次算出しながら、 当該第 2のマクロブロックデータ D 4の動きべクトル D 2 6、 D 3 7を検出する。
一方、 圧縮符号化部 72により符号化対象の第 1及ぴ第 2のフレーム画像デー タに対する圧縮符号化が開始されると、 マスク画像処理部 73は、 ステップ S P 62からステップ S P 63に移り、 マスク画像符号化器 94によりマスク用フレ ームメモリ 90からマスク画像データ D 36を読み出して圧縮符号化し、 得られ た符号化データ D 40を局所復号器 95及ぴバッファ 96に送出してステップ S P 64に移る。
ステップ S P 64においてマスク画像処理部 73は、 局所復号器 95により符 号化データ D 40を複号化し、 得られたマスク画像データ D 41を参照用フレー ムメモリ 97に蓄積してステップ S P 65に移る。
ステップ S P 65においてマスク画像処理部 73は、 マスク画像生成器 77に より、 外部から供給された全てのフレーム画像データから抽出画像を追跡しなが らマスク画像データ D 36を生成したか否 を判断し、 全てのフレーム画像デー タから抽出画像を追跡しながらマスク画像データ D 36を生成していなければ、 ステップ S P 6 1に戻る。
従って、 マスク画像処理部 73は、 全てのフレーム画像データから抽出画像の 移動位置及び任意形状を表すマスク画像データ D 36を生成するまでの間はステ ップ S P 61— S P 62— S P 63— S P 64— S P 65の処理を循環的に繰り 返すことによりフレーム画像データから順次追跡した抽出画像に基づい 画像データ D 3 6を生成してマスク用フレームメモリ 90に蓄積しながら、 当該 蓄積したマスク画像データ D 36を順次圧縮符号化する。
また、 図 1 3 (B) との対応部分に同一符号を付した図 23 (C) に示すよう に、 圧縮符号化部 72は、 ルーチン RT 8の開始ステップから入ってステップ S P I 1に移り、 符号化対象の第 1及ぴ第 2のフレーム画像データに対して圧縮符 号化を開始することによりステップ S P 71に移る。
ステップ S P 71において圧縮符号化部 72は、 演算器 38により入力用フレ ームメモリ 3 2から第 1及び第 2のフレーム画像データを順次第 1及び第 2のマ クロプロックデータ D 2及ぴ D 4単位で読み出し、 当該読み出した第 1及ぴ第 2 のマクロプロックデータ D 2及び D 4に対して離散コサイン変換器 98によりマ スク画像データ D 4 1に基づいて画素値の変更処理を施すことにより見かけ上抽 出画像データを抽出した後にフレーム内符号化又は動きべクトル D26及ぴ D 3 7を用いた順方向予測符号化により圧縮符号化し、 得られた符号化データ D 4 5 及び D 48をバッファ.96に蓄積してステップ S P 72に移る。
ステップ S P 72において圧縮符号化部 72は、 バッファ 96により第 1及ぴ 第 2のフレーム画像データを圧縮符号化して得られた符号化データ D 45及び D 48を、 マスク画像処理部 73からマスク画像データ D 36を圧縮符号化して与 えられた符号化データ D 40と共に符号化ビットストリ一ム BS 2として外部に 出力してステップ S P 14に移る。
ステップ S P 14において圧縮符号化部 72は、 演算器 38による入力用フレ ームメモリ 3 2からの第 1及び第 2のフレーム画像データの読み出し状況に応じ て符号化対象の第 1及ぴ第 2のフレーム画像データを全て圧縮符号化したか否か を判断し、 当該符号化対象の第 1及び第 2のフレーム画像データを全て圧縮符号 化していなければ、 ステップ S P 7 1に戻る。
従って、 圧縮符号化部 72は、 符号化対象の第 1及ぴ第 2のフレーム画像デー タを全て圧縮符号化するまでの間はステップ S P 71 -S P 72-S P 14の処 理を循環的に繰り返すことにより当該符号化対象の第 1のフレーム画像データを 見かけ上抽出画像データを抽出してフレーム内符号化により圧縮符号化ずると共 に、 符号化対象の第 2のフレーム画像データを見かけ上抽出画像データを抽出し て動きべクトル D 26及ぴ D 3 7を用いた順方向予測符号化により圧縮符号化し 、 得られた符号化データ D 45及ぴ D48をマスク画像データ D 36の符号化デ ータ D40と共に符号化ビットストリーム B S 2として出力する。
そして、 ステップ S P 38において動きベクトル検出処理部 7 1は、 簡易動き べクトル検出器 74により、 2フレーム目以降の全ての第 1及び第 2のフレーム 画像データにおける各第 1及ぴ第 2のマクロプロックデータ D 2及ぴ D4の簡易 動きべクトル D 24及び D 31を検出すると、 ステップ S P 8に移る。
ステップ S P 8において動きべク トル検出処理部 71は、 動きべク トル検出器 91により入力用フレームメモリ 3 2に対する演算器 38のアクセスの有無を監 視することにより符号化対象の第 1及び第 2のフレーム画像データが全て圧縮符 号化されたか否かを判断し、 当該符号化対象の第 1及ぴ第 2のフレーム画像デー タが全て圧縮符号化されていなければ、 ステップ S P 34に戻る。
従って、 動きべクトル検出処理部 71は、 符号化対象の第 1及び第 2のフレー ム画像データが全て圧縮符号化されるまでの間はステップ S P 34-S P 3 5- S P 36-S P 52-S P 38-S P 8の処理を循環的に繰り返すことにより符 号化対象の第 2のフレーム画像データにおける各第 2のマクロプロックデータ D 4の動きべクトル D 26及び D 3 7を順次検出する。
このようにして動きべクトル検出処理部 71は、 ステップ S P 8において符号 化対象の第 1及び第 2のフレーム画像データが全て圧縮符号化されたと判断する と、 ステップ S P 53に移って当該動きべク トル検出処理部 71の処理手順を終 了する。
また、 ステップ S P 6 5においてマスク画像処理部 73は、 マスク画像生成器 77により全てのフレーム画像データから順次抽出画像を追跡しながらマスク画 像データ D 3 6を生成すると、 ステップ S P 66に移る。
ステップ S P 66においてマスク画像処理部 73は、 マスク画像符号化部 94 によりマスク用フレームメモリ 90内の全てのマスク画像データ D 36を圧縮符 号化したか否かを判断し、 当該全てのマスク画像データ D 36を圧縮符号化して いなければ、 ステップ S P 62に戻る。
従って、 マスク画像処理部 73は、 マスク用フレームメモリ 90内の全てのマ スク画像データ D 36を圧縮符号化するまでの間はステップ S P 62-S P 63 -S P 64-S P 65-S P 66の処理を循環的に繰り返すことによりマスク用 フレームメモリ 90内のマスク画像データ D 36を順次圧縮符号化し、 得られた 符号化データ D 40を局所復号器 9 5及ぴバッファ 96に送出する。
そして、 ステップ S P 66においてマスク画像処理部 73は、 マスク用フレー ムメモリ 90内の全てのマスク画像データ D 36を圧縮符号化したと判断すると 、 ステップ S P 67に移り.当該マスク画像処理部 73の処理手順を終了する。
さらに、 ステップ S P 14において圧縮符号化部 72は、 符号化対象の第 1及 ぴ第 2のフレーム画像データを全て圧縮符号化したと判断すると、 ステップ S P 73に移って当該圧縮符号化部 72の処理手順を終了し、 かくして動画像符号化 装置 70における動画像データ D 1の圧縮符号化処理手順を全て終了する。 以上の構成において、 この動画像符号化装置 70では、 外部から供給される動 画像データ D 1を順次フレーム画像データ単位で入力用フレームメモリ 3 2に取 り込み、 簡易動きべクトル検出器 74により階層サーチ動きべク トル検出方式に よる第 2階層において第 1及び第 2のフレーム画像データにおける各第 1及ぴ第 2のマクロプロックデータ D 2及び D 4の簡易動きべクトル D24及ぴ D3 1を 検出する。
また、 この動画像符号化装置 70では、 外部から供給される動画像データ D 1 を順次フレーム画像データ単位でマスク画像生成器 77にも取り込み、 当該マス ク画像生成器 77により先頭のフレーム画像データに対して初期位置及び任意形 状が指定された抽出画像データを各第 1及び第 2のマクロプロックデータ D 2及 び D 4の簡易動きべクトル D 24及ぴ D 3 1を用いて 2フレーム目以降のフレー ム画像データについて順次追跡しながら当該フレーム画像データ毎に抽出画像デ ータの移動位置及ぴ任意形状を表すマスク画像データ D 3 6を生成する。
そして、 この動画像符号化装置 7 0では、 圧縮符号化部 7 2により符号化対象 の第 1及び第 2のフレーム画像データを圧縮符号化する際に動きべクトル検出器 9 1により階層サーチ動きべクトル検出方式による第 1階層において簡易動きべ クトル D 2 4及びマスク画像データ D 3 6に基づいて抽出画像データの内部及び エッジ部分 8 1 Aにかかる第 2のマクロプロックデータ D 4のみの原画像レベル の動きぺク トル D 2 6及ぴ D 3 7を検出する。
このようにして動画像符号化装置 7 0では、 フレームレート変更処理部 6 1に より動画像データ D 1のフレームレート適宜変更しながら圧縮符号化部 7 2によ りマスク画像データ D 4 1に基づいて第 1のフレーム画像データを見かけ上抽出 画像データを抽出してフレーム内符号化により圧縮符号化すると共に、 原画像レ ベノレの動きべク ト ^D 2 6及び D 3 7並びにマスク画像データ D 4 1に基づいて 第 2のフレーム画像データも見かけ上抽出画像データを抽出して順方向予測符号 化により圧縮符号化し、 さらにマスク画像符号化器 9 4によりマスク画像データ D 3 6を順次圧縮符号化し、 得られた符号化データ D 4 5及ぴ D 4 8並びに D 4 0をバッファ 9 6に一旦蓄積して符号化ビットストリーム B S 2として外部に出 力するようにした。
従って、 この動画像符号化装置 7 0では、 動画像データ D 1のフレームレート の変更に加えて、 当該動画像データ D 1をフレーム画像データから順次抽出画像 データを抽出して圧縮符号化するため、 上述した第 1及び第 2の実施の形態によ つて得られる効果に加えて、 上述した第 1及び第 2の実施の形態による動画像符 号化装置 3 0及ぴ 6 0 (図 2及び図 1 0 ) に比べて単位時間当りに圧縮符号化す べき符号化対象のデータ量を大幅に減らすことができ、 力べして抽出画像データ に対する圧縮率を格段的に低減させてユーザに提供する抽出画像を髙画質化する ことができる。
これに加えてこの動画像符号化装置 7 0では、 簡易動きべクトル検出器 7 4及 ぴ動きべク トル検出器 9 1により第 1及び第 2のマクロプロックデータ D 2及ぴ D 4の動きべクトルを階層的に検出し、 下層側の第 2階層において検出した簡易 動きべク トル D 2 4及ぴ D 3 1を第 1及ぴ第 2のフレーム画像データに対する抽 出画像データの追跡と、 当該抽出画像データの圧縮符号化に用いる上層側の第 1 階層 (原画像レベル) における第 2のマクロプロックデータ D 4の動きベク トル D 2 6及び D 3 7の検出に共有化して用いるため、 抽出画像データの追跡及ぴ圧 縮符号化に対してそれぞれ個別に動きべク トルを 1階層で直接検出する場合に比 ベて動きぺクトル検出時の演算量を格段的に低減させることができる。
因みに、 この動画像符号化装置 7 0では、 動きベクトルの検出に階層サーチ動 きべクトル検出方式を用いるため、 上述した第 2の実施の形態からも明らかなよ うに、 動きべクトルを 1階層で直接検出する場合に比べても動きべクトル検出時 の演算量を格段的に低減させることができる。
また、 この動画像符号化装置 7 0では、 動きべク トル検出器 9 1によりマスク 画像データ D 3 6に基づいて第 2のフレーム画像データの各第 2のマクロプロッ クデータ D 4のうち抽出画像データのェッジ部分 8 1 A及びこれよりも内側に位 置する第 2のマクロプロックデータ D 4についてのみ最終的な原画像レベルの動 きべク小ル D 2 6及ぴ D 3 7を検出するため、 動きべクトル検出時の演算量をさ らに低減させることができる。
そして、 この動画像符号化装置 7 0では、 動きベク トル検出器 9 1により抽出 画像データのエッジ部分 8 1 Aにかかる第 2のマクロプロックデータ D 4につい ては特に当該エッジ部分 8 1 Aよりも内側の画素のみを用いて動きべクトル D 3 7を検出するため、 抽出画像データの圧縮符号化に用いる当該動きべクトル D 3 7の検出精度を格段的に向上させることができる。
さらに、 この動画像符号化装置 7 0では、 第 1及ぴ第 2のフレーム画像データ に対する抽出画像データの追跡に簡易動きべクトル D 2 4及ぴ D 3 1を用いるも のの、 この際ラインマッチング法も合わせて用レ、るため追跡画像データの追跡精 度を向上させることができる。
以上の構成によれば、 簡易動きべクトル検出器 7 4により第 1及び第 2のマク 口プロックデータ D 2及ぴ D 4に対する下層の簡易動きべクトルを D 2 4及ぴ D 3 1を検出し、 当該検出した簡易動きべクトル D 2 4及び D 3 1を共有化してマ スク画像生成器 7 7により第 1及ぴ第 2のフレーム画像データに対して抽出画像 データを追跡してマスク画像データ D 3 6を生成すると共に、 動きべクトル検出 器 9 1により抽出画像データの圧縮符号化用に第 2のマクロプロックデータ D 4 の上層の動きぺクトル D 2 6及び D 3 7を検出するようにしたことにより、 動き べク トル検出時の演算量を格段的に低減させることができ、 かくして任意形状の 抽出画像データに対する圧縮符号化処理を高速化し得る動画像符号化装置を実現 することができる。
なお、 上述した第 3の実施の形態においては、 図 1 5について上述したように 外部から供給された動画像データ D 1を順次フレーム画像データ単位で入力用フ レームメモリ 3 2に取り込み、 当該入力用フレームメモリ 3 2に取り込んだフレ 一ム画像データに Iピクチャ及ぴ Pピクチャを所定の順番で割り当てるようにし た場合について述べたが、 本発明はこれに限らず、 図 8 (A) 及び (B ) 並びに 図 9 (A) 乃至 (C ) について上述したように、 入力用フレームメモリ 3 2に取 り込んだフレーム画像データに Iピクチャ、 Pピクチャ及ぴ Bピクチャを割り当 てるようにしても良い。
また、 上述した第 3の実施の形態においては、 動画像データ D 1のフレームレ 一トの変更に伴い符号化対象の第 2のフレーム画像データに新たな参照用の第 1 又は第 2のフレーム画像データ D 6を割り当てたときに動きべク トル検出器 9 1 により階瀹サーチ動きべク トル検出方式による第 1階層及び第 2階層において、 各マクロブロックデータ D 4の簡易動きべクトル D 2 4及び原画像レベルの動き ベタ トル D 2 6及び D 3 7を順次検出するようにした場合について述べたが、 本 発明はこれに限らず、 動画像データ D 1のフレームレートの変更に伴い符号化対 象の第 2のフレーム画像データに新たな参照用の第 1又は第 2のフレーム画像デ ータ D 6を割り当てたときに、 簡易動きべクトル検出器 7 4により階層サーチ動 きべクトル検出方式による第 2階層において符号化対象の第 2のフレーム画像デ 一タ及ぴ新たな参照用の第 1又は第 2のフレーム画像データ D 6を用いて各第 2 のマクロプロックデータ D 4の簡易動きべク トル D 2 4を検出すると共に、 動き べクトル検出器 9 1により階層サーチ動きべク トル検出方式による第 1階層にお いて当該第 2のマクロプロックデータ D 4の原画像レベルの動きべクトル D 2 6 及び D 3 7を検出するようにしても良い。 このようにすれば、 フレームレートの 変更に伴う動きべク トルの再検出時に動きべク トル検出器 9 1の処理負荷を大 に低減させることができる。
これに加えて動画像データ D 1のフレームレートの変更に伴い符号化対象の第 2のフレーム画像デ一タに新たな参照用の第 1又は第 2のフレーム画像データ D 6を割り当てたときには、 当該符号化対象の第 2のフレーム画像データに対して 簡易動きべク トル D 2 4の検出時に参照用として第 2のフレーム画像データ D 6 (すなわち、 符号化対象の第 2のフレーム画像データに順方向側で隣接する第 2 のフレーム画像データ) が割り当てられていれば、 動きべク トル検出器 9 1によ りその符号化対象の第 2のフレーム画像データにおける各第 2のマクロプロック データ D 4の予め検出している簡易動きべクトル D 2 4を当該簡易動きべクトル D 2 4の検出時に参照用となっていた第 2のフレーム画像データ D 6における各 マクロプロックデータ D 4の簡易動きべクトル D 2 4と合成し、 得られた合成簡 易動きべクトルを用いて階層サーチ動きべクトル検出方式による第 1階層におい て例えばテレスコピックサーチ法を用いて当該符号化対象の第 2のフレーム画像 データにおける各第 2のマクロブロックデータ D 4の原画像レベルの動きべク ト ル D 2 6及ぴ D 3 7を検出するようにしても良い。 このようにしてもフレームレ ートの変更に伴う動きべクトルの再検出時に動きべク トル検出器 9 1の処理負荷 を大幅に低減させることができる。
因みに、 このような簡易動きべク トル D 2 4の合成を簡易動きべクトル検出器 7 4によって実行すれば、 動きべク トル検出器 9 1の処理負荷を低減させること もできる。
さらに、 上述した第 3の実施の形態においては、 第 2のフレーム画像データの 各第 2のマクロプロックデータ D 4を順方向予測符号化により圧縮符号化するよ うにした場合について述べたが、 本発明はこれに限らず、 各第 2のマクロプロッ クデータ D 4の分散値を用いてフレーム内符号化及ぴ順方向予測符号化のいずれ で圧縮符号化するようにしても良い。
さらに、 上述した第 3の実施の形態においては、 動きべクトル検出器 9 1によ り、 入力用フレームメモリ 3 2から読み出した参照用の第 1及び第 2のフレーム 画像データ D 6を用いて各第 2のマクロプロックデータ D 4の動きべク トル D 2 6及ぴ D 3 7を検出するようにした場合について述べたが、 本発明はこれに限ら ず、 動きべクトル検出器 9 1により参照用フレームメモリ 9 7から参照用の第 1 及ぴ第 2のフレーム画像データを読み出して各第 2のマクロプロックデータ D 4 の動きぺクトル D 2 6及び D 3 7を検出するようにしても良い。 このようにすれ ば動きべクトル D 2 6及び D 3 7の検出に、 一旦圧縮符号化した後に復号化して 再構築することによりその圧縮符号化によって発生したブロックノイズ等を持つ 第 1及ぴ第 2のフレーム画像データを用いることができ、 当該動きべク トル D 2 6及び D 3 7の検出精度を向上させることができる。
さらに、 上述した第 3の実施の形態においては、 第 2のマクロプロックデータ D 4の動きべク トル D 2 6及び D 3 7の検出に第 1階層及ぴ第 2階層の 2階層か らなる階層サーチ動きべクトル検出方式を用いるようにした場合について述べた が、 本発明はこれに限らず、 第 2のマクロプロックデータ D 4の動きべタト/レの 検出に互いに異なる解像度のフレーム画像を用いる 3階層以上の階層サーチ動き ベク トル検出方式を用いるようにしても良い。
さらに、 上述した第 3の実施の形態においては、 簡易動きべク トル検出器 7 4 により簡易動きべクトルバッファ 7 5に簡易動きべクトル D 2 4及ぴ D 3 1と、 予測モードデータ D 3、 D 2 0及び D 3 0とを蓄積するようにした場合について 述べたが、 本発明はこれに限らず、 簡易動きべク トル検出器 7 4により簡易動き べクトルバッファ 7 5に簡易動きべク トル D 2 4及ぴ D 3 1と、 予測モードデー タ D 3、 D 2 0及ぴ D 3 0とに加えて、 簡易動きべクトル D 2 4及ぴ D 3 1の検 出時に算出した予測誤差も蓄積するようにしても良い。 このようにすれば、 簡易 動きべクトル検出器 7 4により第 1及ぴ第 2のマクロプロックデータ D 2及ぴ D 4の簡易動きべクトル D 2 4及ぴ D 3 1の再検出を実行する際にその予測誤差を 用いてサーチ範囲を適確に選定し、 又はマスク画像生成器 7 7により隣接するフ レーム画像データ間で追跡領域 8 4 A及ぴ 8 4 B同士をラインマッチング法によ つて比較する際のサーチ範囲も適確に選定することができ、 力べして簡易動きべ クトル D 2 4及び D 3 1の再検出及び抽出画像の追跡の精度を向上させることが できる。
さらに、 上述した第 3の実施の形態においては、 マスク画像生成器 7 7に対し て形状指定データ D 3 5により抽出画像の初期位置及び任意形状を指定するよう にした場合について述べたが、 本発明はこれに限らず、 図 2 5に示すように、 マ スク画像生成器 7 7に対してフレーム画像 1 0 0内で人物等の抽出画像 1 0 1の 任意の点を指定することにより当該抽出画像 1 0 1のエッジ 1 0 2を自動で検出 して任意形状を特定し、 又はマスク画像生成器 7 7によりフレーム画像内で自動 的に種々の絵柄のエッジを検出して抽出画像及びその任意形状を特定するように しても良レ、。
さらに、 上述した第 3の実施の形態においては、 上述した図 1 6からも明らか なように抽出画像の任意形状として三日月型の形状を指定するようにした場合に ついて述べたが、 本発明はこれに限らず、 絵柄のエッジでなる任意形状や、 楕円 形、 星形及び丸形等のように、 この他種々の形状を抽出画像の任意形状として指 定するようにしても良い。
さらに、 上述した第 3の実施の形態においては、 バッファ 9 6のデータ蓄積量 D R及び符号化予測データ量に応じて動画像データ D 1のフレームレートを変更 するようにした場合について述べたが、 本発明はこれに限らず、 バッファ 9 6の データ蓄積量 D Rに応じて動画像データ D 1のフレームレートを変更するように しても良い。 このようにしてフレームレートを変更してもデータ蓄積量 D Rの急 激な増減に適確に対処して動画像の画質を安定化させることができる。 (5) 他の実施の形態
なお、 上述した第 1乃至第 3の実施の形態においては、 本発明による動画像符 号化装置として、 図 2乃至図 25について上述した動画像符号化装置 30、 60 及び 70を適用するようにした場合について述べたが、 本発明はこれに限らず、 MPEG2方式等の圧縮符号化方式が適用された動画像符号化装置やビデオ力メ ラから供給される動画像データ D 1に代えて外部又は内部に予め記憶している動 画像データを圧縮符号化処理する動画像符号化装置、 さらにはビデオカメラから 供給され又は予め記憶している動画像データから抽出画像データを抽出して圧縮 符号化処理する動画像符号化装置等のように、 動画像データを単に圧縮符号化処 理し、 又は動画像データから抽出画像データを抽出して圧縮符号化処理し得るも のであれば、 パーソナルコンピュータや携帯電話機、 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) 等の電子機器のように、 この他種々の 動画像符号化装置に広く適用することができる。
因みに、 本発明による動画像符号化装置をパーソナルコンピュータや携帯電話 機、 PDA等の電子機器に適用する場合には、 当該電子機器に図 2及び図 1 0に ついて上述した各回路プロックをハードウェアとして設けるようにしても良いし 、 その電子機器にハードウェアに代えて図 6 (A) 乃至 (C) 、 図 7 (A) 及び
(C) と、 図 1 3 (A) 乃至 (C) 、 図 14 (A) 及び (C) と、 図 21 (A) 及び (8) 、 図22 (A) 及び (8) 、 図23 (C) 及び (0) 、 図24 (D) とについて上述した動画像データ D 1の圧縮符号化処理手順を実行するためのプ ログラムをィンストールし、 当該プログラムに従ってソフトウエア処理として動 画像デ一タ D 1の圧縮符号化処理手順を実行しても本発明を実現することができ る。
そして、 このように電子機器に図 6 (A) 乃至 (C) 、 図 7 (A) 及び (C) と、 図 1 3 (A) 乃至 (C) 、 図 1 4 (A) 及び (C) と、 図 2 1 (A) 及び ( 8) 、 図22 (A) 及ぴ (8) 、 図23 (C) 及び (D) 、 図 24 (D) とにつ いて上述した動画像データ D 1の圧縮符号化処理手順を実行するためのプログラ ムをインストールするには、 当該プログラムが格納されたプログラム格納媒体を 用いても良いし、 ローカルエリアネットワークやインターネット、 ディジタル衛 星放送等の有線及び無線通信媒体を利用しても良く、 さらにはルータやモデム等 の各種通信インターフェイスを介してインストールするようにしても良い。 因みに、 電子機器にプログラムをインストールして実行可能な状態にするため のプログラム格納媒体としては、 例えばフロッピーディスク、 CD— ROM ( C omp a c t D i s c— Re a d On l Memo r y; N DVD D i g i t a, 1 Ve r s a t i l e D i s c) 等のノ ッケージメディアのみ ならず、 プログラムが一時的もしくは永続的に格納される半導体メモリや磁気デ イスク等で実現しても良い。 また、 これらプログラム格納媒体にプログラムを格 納する手段としては、 ローカルエリアネットワークやインターネット、 ディジタ ル衛星放送等の有線及び無線通信媒体を利用してもよく、 ルータやモデム等の各 種通信ィンターフェイスを介して格納するようにしても良い。
さらに、 上述した第 1乃至第 3の実施の形態においては、 動画像データを順次 フレーム画像データ単位で圧縮符号化して符号化データを生成する圧縮符号化手 段として、 図 2及び図 1 0並びに図 1 5について上述した圧縮符号化部 37及ぴ 7 2を適用するようにした場合について述べたが、 本発明はこれに限らず、 動画 像データを順次フレーム画像データ単位で圧縮符号化して符号化データを生成す ることができれば、 この他種々の構成の圧縮符号化手段を広く適用することがで きる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 バッファのデータ蓄 積量に応じて動画像データのフレームレートを変更するフレームレート変更手段 として、 図 2及び図 1 0並びに図 1 5について上述したフレーム構造変換器 3 3 及ぴ 62を適用するようにした場合について述べたが、 本発明はこれに限らず、 バッファのデータ蓄積量に応じて動画像データのフレームレートを変更すること ができれば、 この他種々のフレームレート変更手段を広く適用することができる さらに、 上述した第 1乃至第 3の実施の形態においては、 フレーム画像データ 間の動きべクトルを検出すると共に、 当該動きべクトルの検出に伴ってフレーム 画像データ間の相関値を算出する動きべク トル検出手段として、 図 2について上 述したブロックマッチング法により動きべクトル D 2 4を検出する動きべクトル 検出器 3 5を適用するようにした場合について述べたが、 本発明はこれに限らず 、 フレーム画像データ間の動きべク トルを検出すると共に、 当該動きべク トルの 検出に伴ってフレーム画像データ間の相関値を算出することができれば、 ォプテ ィカルフローにより動きべクトルを検出する動きべクトル検出手段等のように、 この他種々の動きベクトル検出手段を広く適用することができる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 所定階層よりも下層 の 1又は複数の下階層でフレーム画像データ間の簡易動きべクトルを検出する下 層動きべクトル検出手段として、 図 1 0及び図 1 5について上述した階層サーチ 動きべクトル検出方式による第 2階層において簡易動きべクトル D 2 4及ぴ D 3 1を検出する簡易動きべクトル検出器 6 4及ぴ 7 4を適用するようにした場合に ついて述べたが、 本発明はこれに限らず、 所定階層よりも下層の 1又は複数の下 階層でフレーム画像データ間の簡易動きべクトルを検出することができれば、 所 定階層よりも下層の複数階層で段階的に順次低解像度動きべクトルを検出して最 終的に簡易動きべク トルを検出する下層動きべク トル検出手段等のように、 この 他種々の下層動きべクトル検出手段を広く適用することができる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 所定階層以上の 1又 は複数の上階層で簡易動きべクトルを用いて動きべクトルを検出する上層動きべ クトル検出手段として、 図 1 0及ぴ図 1 5について上述した階層サーチ動きべク トル検出方式による第 1階層において原画像レベルの動きべクトル D 2 6及ぴ D 3 7を検出する動きべクトル検出器 6 6及び 9 1を適用するようにした場合につ いて述べたが、 本発明はこれに限らず、 所定階層以上の 1又は複数の上階層で簡 易動きべク トルを用いて動きべク トルを検出することができれば、 簡易動きべク トルを用いて複数階層の低解像度動きべクトルを段階的に順次検出して最終的に 原画像レベルの動きべクトルを検出する上層動きべクトル検出手段のように、 こ の他種々の上層動きべクトル検出手段を広く適用することができる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 動画像データの各フ レーム画像データから順次任意形状の抽出画像データを抽出するためのマスク画 像データを生成するマスク画像データ生成手段として、 図 1 5について上述した 第 1及ぴ第 2のフレーム画像データに対して抽出画像データを追跡しながらマス ク画像データ D 3 6を生成するマスク画像生成器 7 7を適用するようにした場合 について述べたが、 本発明はこれに限らず、 動画像データの各フレーム画像デー タから順次任意形状の抽出画像データを抽出するためのマスク画像データを生成 することができれば、 抽出画像データの追跡処理を行わずに他の回路プロックで 実行された抽出画像データの追跡結果、 又は外部から与えられる抽出画像データ の指定に基づいてマスク画像データを生成するマスク画像データ生成手段等のよ うに、 この他種々のマスク画像データ生成手段を広く適用することができる。 さらに、 上述した第 1乃至第 3の実施の形態においては、 所定階層よりも下層 の 1又は複数の下階層で動画像データの連続するフレーム画像データ間の簡易動 きべクトルを検出する下層動きべク トル検出手段として、 図 1 5について上述し た階層サーチ動きべクトル検出方式による第 2階層において簡易動きべクトル D 2 4及ぴ D 3 1を検出する簡易動きべクトル検出器 7 4を適用するようにした場 合について述べたが、 本発明はこれに限らず、 所定階層よりも下層の 1又は複数 の下階層で動画像データの連続するフレーム画像データ間の簡易動きベクトルを 検出することができれば、 所定階層よりも下層の複数階層で段階的に順次低解像 度動きべクトルを検出して最終的に簡易動きべクトルを検出する下層動きべク ト ル検出手段等のように、 この他種々の下層動きべクトル検出手段を広く適用する ことができる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 簡易動きベクトルを 用レ、て動画像データの連続するフレーム画像データ内で任意形状の抽出画像デー タを追跡する追跡手段として、 図 1 5について上述した抽出画像データを追跡し ながらマスク画像データを生成するマスク画像生成器 7 7を適用するようにした 場合について述べたが、 本発明はこれに限らず、 簡易動きべクトルを用いて動画 像データの連続するフレーム画像データ内で任意形状の抽出画像データを追跡す ることができれば、 マスク画像データの生成処理を分離して追跡処理のみを実行 する追跡手段や、 抽出画像データの追跡結果として当該抽出画像データの追跡位 置と共に抽出画像データにかかる第 1及び第 2のマクロプロックデータを画素単 位で判別した結果を出力する追跡手段等のように、 この他種々の追跡手段を広く 適用することができる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 所定階層以上の 1又 は複数の上階層で簡易動きべク トルを共有化して用いて動画像データの連続する フレーム画像データ間の原画像レベルの動きべク トルを検出する上層動きべク ト ル検出手段として、 図 1 5について上述した階層サーチ動きべクトル検出方式に よる第 1階層において原画像レベルの動きべク トル D 2 6及び D 3 7を検出する 動きべク トル検出器 9 1を適用するようにした場合について述べたが、 本発明は これに限らず、 所定階層以上の 1又は複数の上階層で簡易動きべクトルを共有化 して用いて動画像データの連続するフレーム画像データ間の原画像レベルの動き べクトルを検出することができれば、 簡易動きべクトルを用いて複数階層の低解 像度動きべクトルを段階的に順次検出して最終的に原画像レベルの動きべク トル を検出する上層動きべクトル検出手段のように、 この他種々の上層動きべクトル 検出手段を広く適用することができる。
さらに、 上述した第 1乃至第 3の実施の形態においては、 抽出画像データの追 跡結果に基づいて動画像データの連続するフレーム画像データから順次抽出画像 データを抽出し、 当該抽出した抽出画像データを動きべクトルを用いた動き補償 予測符号化により圧縮符号化する圧縮符号化手段として、 図 1 5について上述し た圧縮符号化部 7 2を適用するようにした場合について述べたが、 本発明はこれ に限らず、 抽出画像データの追跡結果に基づいて動画像データの連続するフレー ム画像データから順次抽出画像データを抽出し、 当該抽出した抽出画像データを 動きべクトルを用いた動き補償予測符号化により圧縮符号化することができれば 、 この他種々の構成の圧縮符号化手段を広く適用することができる。 産業上の利用可能性
本発明は、 インターネットを利用して動画像データを配信するパーソナルコン ピュータに利用することができる。

Claims

請 求 の 範 囲
1 - 動画像データを順次フレーム画像データ単位で圧縮符号化して符号化データ を生成する圧縮符号化手段と、
上記符号化データを一旦蓄積して出力するバッファと、
上記バッファのデータ蓄積量に応じて上記動画像データのフレームレートを変 更するフレームレート変更手段と
を具えることを特徴とする動画像符号化装置。
2 . 上記フレーム画像データ間の動きベク トルを検出すると共に、 当該動きべク トルの検出に伴つて上記フレーム画像データ間の相関値を算出する動きべクトル 検出手段
を具え、 , 上記圧縮符号化手段は、
上記動画像データを順次上記フレーム画像データ単位で上記動きべクトルを用 いた動き補償予測符号化により圧縮符号化し
上記フレームレート変更手段は、
上記フレーム画像デ一タ間の上記相関値に基づいて上記符号化データの符号化 データ量を予測し、 当該予測した符号化データ量と上記データ蓄積量とに応じて 上記動画像データの上記フレームレートを変更する
ことを特徴とする請求の範囲第 1項に記載の動画像符号化装置。
3 . 上記動きベク トル検出手段は、
上記フレームレートの変更により上記動画像データから上記フレーム画像デー タが間引かれると、 当該間引かれたフレーム画像データを参照用として上記動き べク トルを検出した他の上記フレーム画像データに対し、 新たな上記フレーム画 像データを参照用に割り当てて上記動きべクトルを再検出する ことを特徴とする請求の範囲第 2項に記載の動画像符号化装置。
4 . 上記動きベクトル検出手段は、
上記フレームレートの変更により間引かれた上記フレーム画像データの上記動 きべク トルと、 当該間引かれたフレーム画像データを参照用とした上記他のフレ ーム画像データの上記動きべクトルとを用いて当該他のフレーム画像データ及ぴ 上記新たな参照用のフレーム画像データ間の上記動きベク トルを再検出する ことを特徴とする請求の範囲第 3項に記載の動画像符号化装置。
5 . 上記動きベクトル検出手段は、
所定階層よりも下層の 1又は複数の下階層で上記フレーム画像データ間の簡易 動きべクトルを検出する下層動きべクトル検出手段と、
上記所定階層以上の 1又は複数の上階層で上記簡易動きべクトルを用いて上記 動きべクトルを検出する上層動きべクトル検出手段と
を具えることを特徴とする請求の範囲第 2項に記載の動画像符号化装置。
6 . 上記下層動きベク トル検出手段は、
上記フレームレートの変更前の上記動画像データに対して上記動きべク トルの 検出対象となる全ての上記フレーム画像データ間で上記簡易動きベクトルを検出 し、
上記上層動きべク トル検出手段は、
上記フレームレートの変更に伴い符号化対象として残された'上記フレーム画像 データ間でのみ上記簡易動きべク トルを用いて上記動きべクトルを検出する ことを特徴とする請求の範囲第 5項に記載の動画像符号化装置。
7 . 上記下層動きベク トル検出手段は、
上記簡易動きべクトルの検出に伴って上記相関値を算出する ことを特徴とする請求の範囲第 6項に記載の動画像符号化装置。
8 . 上記動画像データの各上記フレーム画像データから順次任意形状の抽出画像 データを抽出するためのマスク画像データを生成するマスク画像データ生成手段 を具え、
上記圧縮符号化手段は、
上記マスク画像データに基づいて上記フレーム画像データから上記抽出画像デ ータを抽出し、 当該抽出した上記抽出画像データを上記動きべク トルを用いた動 き補償予測符号化により圧縮符号化して上記符号化データを生成する
ことを特徴とする請求の範囲第 7項に記載の動画像符号化装置。
9 . 動画像データを順次フレーム画像データ単位で圧縮符号化して符号化データ を生成する圧縮符号化ステップと、
上記符号化データをバッファにー且蓄積して出力する出力ステップと、 上記バッファのデータ蓄積量に応じて上記動画像データのフレームレートを変 更するフレームレート変更ステップと
を具えることを特徴とする動画像符号化方法。
1 0 . 上記フレーム画像データ間の動きベク トルを検出すると共に、 当該動きべ クトルの検出に伴って上記フレーム画像データ間の相関値を算出する動きべクト ル検出ステップ
を具え、 '
上記圧縮符号化ステップは、
上記動画像データを順次上記フレーム画像データ単位で上記動きべクトルを用 いた動き補償予測符号化により圧縮符号化し
上記フレームレート変更ステップは、
上記フレーム画像データ間の上記相関値に基づいて上記符号化データの符号化 データ量を予測し、 当該予測した符号化データ量と上記データ蓄積量とに応じて 上記動画像データの上記フレームレートを変更する
ことを特徴とする請求の範囲第 9項に記載の動画像符号化方法。
1 1 . 動画像データを順次フレーム画像データ単位で圧縮符号化して符号化デー タを生成する圧縮符号化ステップと、
上記符号化データをバッファに一旦蓄積して出力する出力ステップと、 上記バッファのデータ蓄積量に応じて上記動画像データのフレームレートを変 更するフレームレート変更ステップと '
を具えることを特徴とする動画像符号化プログラムを動画像符号化装置に実行 させる動画像符号化プログラム格納媒体。
1 2 . 動画像符号化装置に対して、
動画像データを順次フレーム画像データ単位で圧縮符号化して符号化データを 生成する圧縮符号化ステップと、
上記符号化データをバッファに一旦蓄積して出力する出力ステップと、 上記バッファのデータ蓄積量に応じて上記動画像データのフレームレートを変 更するフレームレート変更ステップと
を実行させるための動画像符号化プログラム。
1 3 . 所定階層よりも下層の 1又は複数の下階層で動画像データの連続するフレ ーム画像データ間の簡易動きべク トルを検出する下層動きべク トル検出手段と、 上記簡易動きベク トルを用いて上記動画像データの連続する上記フレーム画像 データ内で任意形状の抽出画像データを追跡する追跡手段と、
上記所定階層以上の 1又は複数の上階層で上記簡易動きべクトルを共有化して 用いて上記動画像データの連続する上記フレーム画像データ間の原画像レベルの 動きべクトルを検出する上層動きべクトル検出手段と、 上記抽出画像データの追跡結果に基づいて上記動画像データの連続する上記フ レーム画像データから順次上記抽出画像データを抽出し、 当該抽出した上記抽出 画像データを上記動きべク トルを用いた動き補償予測符号化により圧縮符号化す る圧縮符号化手段と
を具えることを特徴とする動画像符号化装置。
1 . 上記上層動きべクトル検出手段は、
上記抽出画像データの追跡結果及び上記簡易動きベク トルを用いて上記フレー ム画像データ間の上記動きべクトルを検出する
ことを特徴とする請求の範囲第 1 3項に記載の動画像符号化装置。
1 5 . 上記追跡手段は、
上記簡易動きべクトルに基づいて隣接する上記フレーム画像データ間で上記抽 出画像データの移動位置を検出した後、 当該隣接する上記フレーム画像データ間 で互いの上記抽出画.像データ同士を比較して上記移動位置を特定する
ことを特徴とする請求の範囲第 1 4項に記載の動画像符号化装置。
1 6 . 所定階層よりも下層の 1又は複数の下階層で動画像データの連続するフレ ーム画像データ間の簡易動きべクトルを検出する下層動きべク トル検出ステップ と、
上記簡易動きべクトルを用いて上記動画像データの連続する上記フレーム画像 データ内で任意形状の抽出画像データを追跡する追跡ステツプと、
上記所定階層以上の 1又は複数の上階層で上記簡易動きべク トルを共有化して 用いて上記動画像データの連続する上記フレーム画像データ間の原画像レベルの 動きべク トルを検出する上層動きべクトル検出ステップと、
上記抽出画像デ一タの追跡結果に基づいて上記動画像データの連続する上記フ レーム画像データから順次上記抽出画像データを抽出し、 当該抽出した上記抽出 画像データを上記動きべクトルを用いた動き補償予測符号化により圧縮符号化す る圧縮符号化ステップと
を具えることを特徴とする動画像符号化方法。
1 7 . 所定階層よりも下層の 1又は複数の下階層で動画像データの連続するフレ ーム画像データ間の簡易動きべク トルを検出する下層動きべクトル検出ステップ と、
上記簡易動きべクトルを用いて上記動画像データの連続する上記フレーム画像 データ内で任意形状の抽出画像データを追跡する追跡ステップと、
上記所定階層以上の 1又は複数の上階層で上記簡易動きべクトルを共有化して 用いて上記動画像データの連続する上記フレーム画像データ間の原画像レベルの 動きべクトルを検出する上層動きべクトル検出ステップと、
上記抽出画像データの追跡結果に基づいて上記動画像データの連続する上記フ レーム画像データから順次上記抽出画像データを抽出し、 当該抽出した上記抽出 画像データを上記動きべクトルを用いた動き補償予測符号化により圧縮符号化す る圧縮符号化ステップと
を具えることを特徴とする動画像符号化プログラムを動画像符号化装置に実行 させる動画像符号化プログラム格納媒体。
1 8 . 動画像符号化装置に対して、
所定階層よりも下層の 1又は複数の下階層で動画像データの連続するフレーム 画像データ間の簡易動きべクトルを検出する下層動きべクトル検出ステップと、 上記簡易動きベク トルを用いて上記動画像データの連続する上記フレーム画像 データ内で任意形状の抽出画像データを追跡する追跡ステップと、
上記所定階層以上の 1又は複数の上階層で上記簡易動きべクトルを共有化して 用レ、て上記動画像データの連続する上記フレーム画像デ一タ間の原画像レベルの 動きべクトルを検出する上層動きべクトル検出ステップと、 上記抽出画像データの追跡結果に基づいて上記動画像データの連続する上記フ レーム画像データから順次上記抽出画像データを抽出し、 当該抽出した上記抽出 画像データを上記動きべク トルを用いた動き補償予測符号化により圧縮符号化す る圧縮符号化ステップと
を実行させるための動画像符号化プログラム。
PCT/JP2002/004530 2001-05-10 2002-05-09 Moving picture encoding apparatus WO2002093936A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 엘지전자 주식회사 다중 후보를 이용한 움직임 벡터 병합 탐색 방법

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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