WO2011099242A1 - 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 - Google Patents

画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 Download PDF

Info

Publication number
WO2011099242A1
WO2011099242A1 PCT/JP2011/000419 JP2011000419W WO2011099242A1 WO 2011099242 A1 WO2011099242 A1 WO 2011099242A1 JP 2011000419 W JP2011000419 W JP 2011000419W WO 2011099242 A1 WO2011099242 A1 WO 2011099242A1
Authority
WO
WIPO (PCT)
Prior art keywords
direct
vector
image
direct vector
spatial
Prior art date
Application number
PCT/JP2011/000419
Other languages
English (en)
French (fr)
Inventor
裕介 伊谷
関口 俊一
杉本 和夫
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2011553735A priority Critical patent/JP5442039B2/ja
Priority to TW100104246A priority patent/TW201143455A/zh
Publication of WO2011099242A1 publication Critical patent/WO2011099242A1/ja

Links

Images

Classifications

    • 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
    • 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

Definitions

  • the present invention relates to an image coding apparatus, an image decoding apparatus, an image coding method, and an image decoding method used for image compression coding technology, compressed image data transmission technology and the like.
  • AVC / H. H.264 (ISO / IEC 14496-10
  • temporal direct mode a macroblock to be encoded is processed by scaling the motion vector according to the time difference between the encoded picture and the picture to be encoded, with reference to the motion vectors of the other pictures already encoded.
  • Generate a motion vector for In the spatial direct mode motion vectors of at least one or more encoded macroblocks located around a macroblock to be encoded are referenced, and from those motion vectors, motion vectors of the macroblock to be encoded are obtained.
  • this direct mode it is possible to select either temporal direct mode or spatial direct mode on a slice basis by using a flag "direct_spatial_mv_pred_flag" provided in the slice header.
  • temporal direct mode or spatial direct may be selected on a slice basis by referring to "direct_spatial_mv_pred_flag" which is a flag provided in the slice header. Since it is necessary to select the mode, it is not possible to switch to the optimum direct mode and use it for each macroblock.
  • MPEG-4 AVC ISO / IEC 14496-10
  • the spatial direct mode spatial direct mode vector is generated from the motion vector of the encoded block located around the encoding target block, and the temporal direct neighborhood of the encoding target block is generated.
  • An evaluation value of the spatial direct mode is calculated using direct vector generation means for generating a temporal direct vector in temporal direct mode from motion vectors of encoded pictures and the spatial direct vector generated by the direct vector generation means,
  • the evaluation value calculation means for calculating the evaluation value of the time direct mode using the time direct vector and the evaluation value of the space direct mode calculated by the evaluation value calculation means are compared with the evaluation value of the time direct mode Direct vector or time delay Direct vector selection means for selecting any one of the rect vectors is provided, and the prediction image generation means performs motion compensation prediction processing using the direct vector selected by the direct vector selection means to generate a prediction image
  • the prediction image generation means performs motion compensation prediction processing using the direct vector selected by the direct vector selection means to generate a prediction image
  • FIG. 2 is a block diagram showing a direct vector generation unit 22 constituting a motion compensation prediction unit 11;
  • FIG. 6 is a block diagram showing a direct vector determination unit 34 that constitutes the direct vector generation unit 22. It is a block diagram which shows the image decoding apparatus by Embodiment 3 of this invention. It is a block diagram which shows the direct vector generation part 61 which comprises the motion compensation estimation part 59.
  • FIG. FIG. 6 is a block diagram showing a direct vector determination unit 74 which constitutes the direct vector generation unit 61.
  • FIG. 1 is a block diagram showing an image coding apparatus according to a first embodiment of the present invention.
  • a motion vector memory 1 is a recording medium, such as a RAM, which stores motion vectors of encoded macroblocks (or sub-macroblocks obtained by dividing the macroblocks).
  • the motion compensation prediction unit 2 selects a reference image of one frame from among the reference images for motion compensation prediction stored in one or more frames of the frame memory 9, and makes up a macro block (or macro block constituting an input image).
  • Motion-compensated prediction processing is executed in units of sub-macroblocks obtained by dividing a block to generate a motion vector of the macroblock (macroblock to be encoded) to generate a predicted image, and for each of the macroblocks.
  • the motion compensation prediction unit 2 when the motion compensation prediction unit 2 generates a motion vector of a macroblock to be encoded and generates a prediction image, the motion compensation prediction unit 2 is positioned around the macroblock for each of the macroblocks constituting the input image.
  • the spatial direct mode spatial direct vector is generated from the motion vector of the encoded macroblock (the motion vector stored in the motion vector memory 1), and the motion of the encoded picture in the temporal vicinity of the macroblock is generated.
  • a process of generating a temporal direct vector in temporal direct mode from a vector (motion vector stored in motion vector memory 1) is performed. Further, the motion compensation prediction unit 2 performs processing of calculating an evaluation value of the spatial direct mode using the spatial direct vector and calculating an evaluation value of the temporal direct mode using the temporal direct vector.
  • the motion compensation prediction unit 2 compares the evaluation value of the spatial direct mode with the evaluation value of the temporal direct mode, and carries out a process of selecting either the spatial direct vector or the temporal direct vector. Furthermore, the motion compensation prediction unit 2 performs a motion compensation prediction process using the selected direct vector, thereby performing a process of generating a predicted image.
  • the subtractor 3 calculates a difference image between the predicted image generated by the motion compensation prediction unit 2 and the input image, and performs a process of outputting a predicted difference signal indicating the difference image to the coding mode determination unit 4.
  • the coding mode determination unit 4 evaluates the prediction efficiency of the prediction difference signal output from the subtractor 3, and among the at least one prediction difference signal output from the subtractor 3, the prediction difference having the highest prediction efficiency A signal is selected, and a motion vector, a macroblock type / sub-macroblock type (for example, a coding mode used in the macroblock), used by the motion compensation / prediction unit 2 to generate a prediction image related to the prediction differential signal
  • the compression unit 5 performs DCT (Discrete Cosine Transform) processing on the prediction difference signal output from the coding mode determination unit 4 to calculate a DCT coefficient, and quantizes the DCT coefficient to obtain a DCT after quantization. A process of outputting compressed data, which are coefficients, to the local decoding unit 6 and the variable-length coding unit 10 is performed.
  • the subtractor 3, the coding mode determination unit 4 and the compression unit 5 constitute a quantization means.
  • the local decoding unit 6 inversely quantizes the compressed data output from the compression unit 5 to obtain a DCT coefficient, and performs an inverse DCT (inverse discrete cosine transform) process on the DCT coefficient. A process of calculating a prediction error signal corresponding to the output prediction difference signal is performed.
  • the adder 7 adds the prediction error signal calculated by the local decoding unit 6 and the prediction signal indicating the prediction image generated by the motion compensation prediction unit 2 to generate a local decoded image signal indicating a local decoded image. Conduct.
  • the variable-length coding unit 10 calculates the compressed data output from the compression unit 5 and the coding mode information (macro block type / sub-macro block type, motion vector, identification number of reference image) output from the motion compensation prediction unit 2 Entropy coding is performed to generate a bit stream (coded data) indicating the coding result, and a process of outputting the bit stream is performed.
  • the variable-length coding unit 10 constructs a variable-length coding unit.
  • FIG. 2 is a block diagram showing a motion compensation prediction unit 2 of the image coding apparatus in accordance with Embodiment 1 of the present invention.
  • the motion vector search unit 21 receives information indicating that the coding mode is the inter mode (for example, information from the outside that indicates that the inter mode is to be used is received)
  • the motion vector optimum in the inter mode is received.
  • the process of outputting the motion vector to the motion compensation processing unit 23 is performed.
  • FIG. 5 is a block diagram showing an image decoding apparatus in accordance with Embodiment 1 of the present invention.
  • a motion vector memory 51 is a recording medium such as a RAM that stores motion vectors of decoded macroblocks (or sub-macroblocks obtained by dividing the macroblocks).
  • FIG. 7 is a block diagram showing the direct vector generation unit 61 constituting the motion compensation prediction unit 54.
  • the spatial direct vector generation unit 71 detects the motion vectors of the decoded macroblocks located around the macroblock to be decoded. To generate a spatial direct vector in the spatial direct mode from the motion vector.
  • the temporal direct vector generation unit 72 is a motion vector of a decoded picture in the temporal vicinity of the macroblock to be decoded among the motion vectors of the decoded macroblock stored in the motion vector memory 51, A motion vector of a macroblock located at the same position as that of the target macroblock is read out, and processing of generating a temporal direct vector in temporal direct mode from the motion vector is performed.
  • a direct vector generation unit is configured by the space direct vector generation unit 71 and the temporal direct vector generation unit 72.
  • a motion compensation prediction unit 2 a subtractor 3, a coding mode determination unit 4, a compression unit 5, a local decoding unit 6, an adder 7, a loop filter 8 and a variable length code, which are components of an image coding apparatus.
  • each of the encoding units 10 is configured by dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, or a one-chip microcomputer), the image encoding apparatus is a computer.
  • each of the variable-length decoding unit 52, the prediction error decoding unit 53, the motion compensation prediction unit 54, the adder 55, and the loop filter 56 which are constituent elements of the image decoding apparatus, has dedicated hardware (for example, CPU
  • the variable length decoding unit 52, the prediction error decoding unit 53, A program describing the processing contents of the motion compensation prediction unit 54, the adder 55, and the loop filter 56 is stored in the memory of the computer, and the CPU of the computer executes the program stored in the memory. It is also good.
  • FIG. 13 is a flow chart showing processing contents of the image decoding apparatus according to the first embodiment of the present invention.
  • the motion compensation prediction unit 2 receives a moving image signal indicating an input image, it divides each frame of the moving image signal into macro block units (or sub macro block units). When the motion compensation prediction unit 2 divides the moving image signal into macroblock units (or submacroblock units), one frame is selected from the reference images for motion compensation prediction of one or more frames stored in the frame memory 9. Select the reference image and execute motion compensation prediction processing on a macroblock basis (or sub macroblock basis) to generate a motion vector of the macroblock (or sub macroblock) to be encoded. Generate a prediction image.
  • the motion compensation prediction unit 2 When the motion compensation prediction unit 2 generates a motion vector of the macroblock (or sub-macroblock) to be encoded and generates a prediction image, the motion image is output to the subtractor 3 and the prediction image is generated. Indicates whether the coding mode used in the motion vector used for the macro block type / sub macro block type (for example, the macro block (or sub macro block) is the inter mode or the direct mode). Information) and the identification number of the reference image are output to the coding mode determination unit 4; The processing content of the motion compensation prediction unit 2 will be specifically described below. However, here, for convenience of explanation, it is assumed that a motion vector is generated on a macroblock basis to generate a prediction image.
  • the spatial direct vector generation unit 31 of the direct vector generation unit 22 is located around the macroblock to be encoded among the motion vectors of the encoded macroblocks stored in the motion vector memory 1.
  • the motion vector of the encoded macroblock is read out, and the spatial direct mode spatial direct vector is generated from the motion vector (step ST1 in FIG. 12).
  • the temporal direct vector generation unit 32 of the direct vector generation unit 22 is temporally close to the encoding target macroblock among the motion vectors of the encoded macroblock stored in the motion vector memory 1.
  • a motion vector of a coded picture which is a motion vector of a macroblock located at the same spatial position as the coding target macroblock, is read, and a temporal direct vector in temporal direct mode is generated from the motion vector (step ST2) ).
  • FIG. 9 is a schematic view showing a method of generating a motion vector (time direct vector) in the time direct mode.
  • the macroblock MB1 in the picture B2 is a macroblock to be encoded
  • the macroblock MB1 is encoded in the temporal direct mode.
  • Use the vector MV refers to the picture P0, and the motion vectors MVL0 and MVL1 used when encoding the macroblock MB1 are obtained by the following equation (3).
  • the time direct vector generation unit 32 After calculating the motion vectors MVL0 and MVL1, the time direct vector generation unit 32 outputs the motion vectors MVL0 and MVL1 to the direct vector determination unit 33 as a time direct vector in the time direct mode.
  • the method of generating a temporal direct vector in temporal direct vector generation unit 32 is the same as that of H.264 shown in FIG. Although the H.264 method may be used, it is not limited to this, and another method may be used.
  • the motion compensation unit 41 of the direct vector determination unit 33 uses the spatial direct vector MVL 0 as shown in FIG. A predicted image f spatial is generated, and a backward predicted image g spatial in the spatial direct mode is generated using the spatial direct vector MVL 1 (step ST3).
  • the temporal direct vector generation unit 32 generates a temporal direct vector that is a forward and backward motion vector MV
  • the motion compensation unit 41 uses the temporal direct vector that is a forward motion vector MV as illustrated in FIG. Te, generating a forward prediction picture f temporal time direct mode, the time is behind the motion vector MV using a direct vector to generate a backward predictive picture g temporal time direct mode (step ST4).
  • the similarity between the forward prediction image f spatial and the backward prediction image g spatial in the spatial direct mode is higher than the similarity between the forward prediction image f temporal and the backward prediction image g temporal in the temporal direct mode (SAD spatial ⁇ SAD temporal), and select the spatial direct vector generated by the spatial direct vector generation unit 31, and outputs the motion compensation processing section 23 as a motion vector the spatial direct vector (step ST8).
  • the motion compensation processing unit 23 receives a motion vector from the motion vector search unit 21 when the coding mode is not the direct mode (step ST10), the motion vector and the reference image of one frame stored in the frame memory 9 By using the motion compensation prediction process, a predicted image is generated (step ST11).
  • the coding mode is the direct mode (step ST10), when the motion vector (the direct vector selected by the direct vector selection unit 43) is received from the direct vector generation unit 22, the motion vector and the frame memory 9 are stored.
  • a prediction image is generated (step ST12).
  • the motion compensation prediction processing of the motion compensation processing unit 23 is a known technique, and therefore the detailed description is omitted.
  • the similarity calculation unit 42 calculates the evaluation value SAD which is the sum of absolute differences
  • the direct vector selection unit 43 compares the evaluation values SAD
  • the similarity calculation unit 42 sets the evaluation value as an evaluation value.
  • the difference square sum SSE between the forward prediction image and the backward prediction image may be calculated, and the direct vector selection unit 43 may compare the difference square sum SSE.
  • variable-length coding unit 10 Is output to the variable-length coding unit 10, but if the coding mode is the direct mode, the motion vector used to generate the predicted image is not included in the coding mode information, but the motion vector is included.
  • the encoding mode information not present is output to the variable-length encoding unit 10.
  • compression unit 5 When compression unit 5 receives the prediction difference signal from coding mode determination unit 4, compression unit 5 performs DCT processing on the prediction difference signal to calculate DCT coefficients and quantizes the DCT coefficients (step ST15). .
  • the compression unit 5 outputs the compressed data which is the DCT coefficient after quantization to the local decoding unit 6 and the variable length coding unit 10.
  • the loop filter 8 compensates for the encoding distortion included in the local decoded image signal output from the adder 7 in order to prepare for the next encoding process, and the local decoded image signal after the encoding distortion compensation indicates the local
  • the decoded image is stored in the frame memory 9 as a reference image.
  • variable-length coding unit 10 When the variable-length coding unit 10 receives the compressed data from the compression unit 5, the variable-length coding unit 10 receives the compressed data and the coding mode information (macro block type / sub macro block type, motion vector (coding When the mode is inter mode), the identification number of the reference image is entropy coded to generate a bit stream indicating the coding result, and the bit stream is output (step ST16).
  • the coding mode information macro block type / sub macro block type, motion vector (coding When the mode is inter mode)
  • the identification number of the reference image is entropy coded to generate a bit stream indicating the coding result, and the bit stream is output (step ST16).
  • variable-length decoding unit 52 receives a bit stream output from the image coding apparatus shown in FIG. 1, compressed data and coding mode information (macro block type / sub-macro block type, motion vector (coding When the mode is inter mode), the identification number of the reference image is entropy decoded, the compressed data is output to the prediction error decoding unit 53, and the coding mode information is output to the motion compensation prediction unit 54 (FIG. 13).
  • Step ST21 receives the compressed data from the variable length decoding unit 52, dequantizes the compressed data to obtain DCT coefficients, and performs inverse DCT processing on the DCT coefficients to obtain a differential image.
  • An error signal (a prediction error signal corresponding to the prediction difference signal output from the coding mode determination unit 4 of FIG. 1) is calculated (step ST22).
  • the motion compensation prediction unit 54 When the motion compensation prediction unit 54 receives the identification number of the reference image from the variable length decoding unit 52, the motion compensation prediction unit 54 reads out the reference image indicated by the identification number from among the one or more reference images stored in the frame memory 57. Do. In addition, when the motion compensation prediction unit 54 receives the macro block type / sub macro block type from the variable length decoding unit 52, the image coding apparatus in FIG. 1 performs coding with reference to the macro block type / sub macro block type. It is determined whether the inter mode or the direct mode is used as the conversion mode (step ST23).
  • the motion compensation prediction unit 54 performs motion compensation using the motion vector output from the variable length decoding unit 52 and the reference image when the image coding apparatus in FIG. 1 uses the inter mode as the coding mode.
  • the prediction process is performed to generate a prediction image (step ST24).
  • the image coding apparatus of FIG. 1 uses the direct mode as the coding mode
  • the spatial direct vector and the temporal direct vector are calculated in the same manner as the motion compensation prediction unit 2 in the image coding apparatus of FIG.
  • a predicted image is generated by performing motion compensation prediction processing by generating one of either the spatial direct vector or the temporal direct vector and using the selected direct vector and the reference image indicated by the identification number. To do (step ST25).
  • the temporal direct vector generation unit 72 of the direct vector generation unit 61 uses the decoded pictures in the temporally vicinity of the macroblock to be decoded.
  • the motion vector of a macroblock that is spatially the same position as the macroblock to be decoded is read out, and a temporal direct vector in temporal direct mode is generated from the motion vector.
  • the method of generating the temporal direct vector in the temporal direct vector generator 72 is the same as the method of generating the temporal direct vector in the temporal direct vector generator 32 of FIG.
  • the direct vector determination unit 73 of the direct vector generation unit 61 calculates an evaluation value of the space direct mode using the space direct vector. Also, when the time direct vector generation unit 72 generates a time direct vector, the direct vector determination unit 73 calculates an evaluation value of the time direct mode using the time direct vector. The direct vector determination unit 73 compares the evaluation value of the spatial direct mode with the evaluation value of the temporal direct mode, selects the direct vector of the direct mode of the appropriate one out of the spatial direct vector or the temporal direct vector, and moves. It is output to the compensation processing unit 62.
  • the motion compensation unit 81 of the direct vector determination unit 73 uses the spatial direct vector MVL 0 as shown in FIG.
  • the predicted image f spatial is generated, and a spatial direct mode backward predicted image g spatial is generated using the spatial direct vector MVL 1.
  • the temporal direct vector generation unit 72 generates a temporal direct vector that is a forward and backward motion vector MV
  • the motion compensation unit 81 uses the temporal direct vector that is a forward motion vector MV as shown in FIG. Te, generating a forward prediction picture f temporal time direct mode, the time is behind the motion vector MV using a direct vector to generate a backward predictive picture g temporal time direct mode.
  • the similarity calculation unit 82 of the direct vector determination unit 73 When the motion compensation unit 81 generates the forward prediction image f spatial and the backward prediction image g spatial in the spatial direct mode, the similarity calculation unit 82 of the direct vector determination unit 73 generates the space as in the similarity calculation unit 42 in FIG.
  • the similarity between the forward predicted image f spatial and the backward predicted image g spatial is calculated as the direct mode evaluation value SAD spatial .
  • the similarity calculation unit 82 evaluates the time direct mode similarly to the similarity calculation unit 42 in FIG. 4. As the value SAD temporal , the similarity between the forward predicted image f temporal and the backward predicted image g temporal is calculated.
  • the similarity calculation unit 82 calculates the evaluation value SAD spatial in the spatial direct mode and the evaluation value SAD temporal in the temporal direct mode in the direct vector selection unit 83 of the direct vector determination unit 73, the direct vector selection unit 43 in FIG. Similarly, by comparing the evaluation value SAD spatial with the evaluation value SAD temporal , the similarity between the forward predicted image f spatial and the backward predicted image g spatial in the spatial direct mode, and the forward predicted image f temporal in the temporal direct mode The similarity of the backward predicted image g temporal is compared.
  • the motion compensation processor 62 indicates that the macroblock type / sub-macroblock type output from the variable length decoder 52 uses the inter mode, the motion vector output from the variable length decoder 52
  • the motion compensation prediction process is performed using the reference image of one frame (the reference image indicated by the identification number output from the variable length decoding unit 52) stored in the frame memory 9 and a prediction image is generated.
  • the macro block type / sub macro block type output from the variable length decoding unit 52 indicates that the direct mode is used
  • the motion vector output from the direct vector generation unit 61 and the frame memory 9 are By performing motion compensation prediction processing using the stored reference image of one frame (the reference image indicated by the identification number output from the variable length decoding unit 52), a predicted image is generated.
  • the motion compensation prediction processing of the motion compensation processing unit 62 is a known technique, and thus the detailed description is omitted.
  • the similarity calculation unit 82 calculates the evaluation value SAD which is the sum of difference absolute values and the direct vector selection unit 83 compares the evaluation values SAD, the similarity calculation unit 82 sets the evaluation value as the evaluation value.
  • the difference square sum SSE between the forward prediction image and the backward prediction image may be calculated, and the direct vector selection unit 83 may compare the difference square sum SSE.
  • the similarity calculation unit 82 uses the same evaluation value as the similarity calculation unit 46 of the encoder.
  • the adder 55 adds the prediction image and the difference image indicated by the prediction error signal output from the prediction error decoding unit 53, to obtain the image coding apparatus shown in FIG.
  • a decoded image signal indicating a decoded image corresponding to the local decoded image output from the adder 7 is generated (step ST26).
  • the adder 55 generates the decoded image signal
  • the loop filter 56 compensates for the coding distortion included in the decoded image signal, and the frame using the decoded image indicated by the decoded image signal after the coding distortion compensation as a reference image While storing in the memory 57, the decoded image is output to the outside (step ST27).
  • the spatial direct vector in the spatial direct mode is generated from the motion vector of the encoded macroblock located around the macroblock to be encoded, Direct vector generation unit 22 that generates a temporal direct vector in temporal direct mode from motion vectors of encoded pictures that are temporally close to the macroblock to be encoded, and spatial direct vectors generated by direct vector generation unit 22
  • the similarity calculation unit 42 calculates the evaluation value of the spatial direct mode while using the temporal direct vector, and the space direct calculated by the similarity calculation unit 42.
  • a spatial direct vector in spatial direct mode is generated from the motion vector of the decoded macroblock located around the macroblock to be decoded, and the time of the macroblock to be decoded is generated.
  • Direct vector generation unit 61 that generates a temporal direct vector in temporal direct mode from motion vectors of decoded pictures that are close to each other, and evaluation of spatial direct mode using the spatial direct vector generated by direct vector generation unit 61
  • the similarity calculation unit 82 calculates the evaluation value of the temporal direct mode using the temporal direct vector while calculating the value, and the evaluation value of the spatial direct mode calculated by the similarity calculation unit 82 and the temporal direct mode Compare the evaluation values
  • a direct vector selection unit 83 is provided to select one of an inter-direct vector and a temporal direct vector, and the motion compensation processing unit 62 performs motion compensation prediction processing using the direct vector selected by the direct vector selection unit 83.
  • the similarity calculation units 42 and 82 calculate the similarity between the forward prediction image f spatial in the spatial direct mode and the backward prediction image g spatial as the spatial direct mode evaluation value SAD spatial , while the time In the direct mode evaluation value SAD temporal , the similarity between the forward prediction image f temporal in the temporal direct mode and the backward prediction image g temporal is calculated, but as the evaluation value in the spatial direct mode, the coding target (decoding target).
  • the macro to be encoded as the evaluation value of the temporal direct mode Block decrypted In a coded picture (decoded picture) that is temporally close to the macro block
  • it is located around a macro block located at the same spatial position as the macro block to be coded (decoded macro block)
  • m is a symbol indicating spatial or temporal.
  • the direct vector selection units 43 and 83 compare the variance value ⁇ (spatial) of the motion vector with the variance value ⁇ (temporal) of the motion vector, and the variance value ⁇ (spatial) of the motion vector is the variance value ⁇ of the motion vector If larger than temporal, it is determined that the reliability of the motion vector in the spatial direct mode (spatial direct vector) is low, and the motion vector in the temporal direct mode (temporal direct vector) is selected. On the other hand, if the variance value ⁇ (temporal) of the motion vector is larger than the variance value ⁇ (spatial) of the motion vector, it is judged that the reliability of the motion vector (time direct vector) in temporal direct mode is low Select a motion vector (spatial direct vector).
  • the processing content of the third embodiment will be specifically described below.
  • the direct mode switching flag included in the slice header is “0”, it is assumed that predicted image generation processing similar to that of the above-described first embodiment is performed (for each macroblock) Select a spatial direct vector or a temporal direct vector). If the direct mode switching flag is “1”, the spatial direct mode spatial direct vector is selected for all macroblocks in the slice. If the direct mode switching flag is “2”, it is assumed that the temporal direct mode temporal direct mode vector is selected for all macroblocks in the slice. In the third embodiment, when the direct mode switching flag is “1” or “2”, switching to the spatial direct vector or the temporal direct vector is performed in slice units, but the present invention is not limited to this.
  • the spatial direct vector or the temporal direct vector may be switched on a picture basis or a sequence basis.
  • the motion compensation prediction unit 11 when the direct mode switching flag included in the slice header is “2”, the motion compensation prediction unit 11 generates a temporal direct vector in temporal direct mode, and performs motion compensation prediction processing using the temporal direct vector. By implementing, the process which produces
  • the motion compensation prediction unit 11 includes the motion vector search unit 21, the direct vector generation unit 22, and the motion compensation processing unit 23 (see FIG. 2) as in the case of the motion compensation prediction unit 2 in FIG.
  • FIG. 16 is a block diagram showing the direct vector generation unit 22 constituting the motion compensation prediction unit 11.
  • the same reference numerals as those in FIG. the direct vector determination unit 34 generates the spatial direct vector generated by the spatial direct vector generation unit 31 as in the direct vector determination unit 33 of FIG.
  • the evaluation value of the spatial direct mode is calculated using the temporal direct vector generated by the temporal direct vector generation unit 32, and the evaluation value of the temporal direct mode is calculated using the A process of comparing the evaluation values of the temporal direct mode and selecting either the spatial direct vector or the temporal direct vector is performed.
  • the direct vector determination unit 34 selects the spatial direct vector generated by the spatial direct vector generation unit 31 and sets the spatial direct vector as a motion vector to the motion compensation processing unit 23.
  • the direct vector determination unit 34 selects the temporal direct vector generated by the temporal direct vector generation unit 32 and sets the temporal direct vector as the motion vector to the motion compensation processing unit 23.
  • FIG. 17 is a block diagram showing the direct vector determination unit 34 constituting the direct vector generation unit 22.
  • the direct mode switching flag included in the slice header is “0” in the motion compensation unit 44, the space generated by the spatial direct vector generation unit 31 as in the motion compensation unit 41 in FIG. 4.
  • the forward prediction image and the backward prediction image in the temporal direct mode Implement the process to generate
  • the direct mode switching flag is “1”
  • the motion compensation unit 44 outputs the spatial direct vector generated by the spatial direct vector generation unit 31 to the similarity calculation unit 45, and the direct mode switching flag is “2”. In the case of “1”, the process of outputting the time direct vector generated by the time direct vector generation unit 32 to the similarity calculation unit 45 is performed.
  • the similarity calculation unit 45 determines, as the evaluation value of the spatial direct mode, the forward prediction image and the backward prediction image in the spatial direct mode, as in the similarity calculation unit 42 of FIG. A process of calculating the similarity between the forward prediction image and the backward prediction image in the time direct mode is performed as the evaluation value of the time direct mode while calculating the similarity.
  • the direct mode switching flag is "1”
  • the similarity calculating unit 45 outputs the spatial direct vector output from the motion compensating unit 44 to the direct vector selecting unit 46, and the direct mode switching flag is "2". If there is, the process of outputting the temporal direct vector output from the motion compensation unit 44 to the direct vector selection unit 46 is performed.
  • the motion compensation unit 44 and the similarity calculation unit 45 constitute an evaluation value calculation unit.
  • the similarity between the forward prediction image and the backward prediction image in the temporal direct mode is compared, and of the spatial direct vector or the temporal direct vector, the direct mode in which the similarity between the forward prediction image and the backward prediction image is higher.
  • the direct vector selecting unit 46 selects the spatial direct vector output from the similarity calculating unit 45 and outputs it to the motion compensation processing unit 23, and the direct mode switching flag When it is “2”, processing for selecting the temporal direct vector output from the similarity calculation unit 45 and outputting it to the motion compensation processing unit 23 is performed.
  • the direct vector selection unit 46 constitutes a direct vector selection unit.
  • the motion compensation prediction unit 59 reads the reference image indicated by the identification number output from the variable length decoding unit 58 from the reference images of one or more frames stored in the frame memory 57, and outputs the reference image from the variable length decoding unit 58 When it is indicated that the selected macro block type / sub macro block type uses the inter mode, motion compensation prediction processing is performed using the motion vector output from the variable length decoding unit 58 and the reference image. Process to generate a predicted image.
  • the motion compensation prediction unit 59 indicates that the macro block type / sub macro block type output from the variable length decoding unit 58 uses the direct mode, and is output from the variable length decoding unit 58
  • the direct mode switching flag is "0”
  • a spatial direct vector and a temporal direct vector are generated as in the motion compensation prediction unit 11 in the image coding apparatus of FIG. 15, and the spatial direct vector or temporal direct vector is generated.
  • One of the selected vectors is selected, and a motion compensated prediction process is performed using the selected direct vector and the reference image indicated by the identification number, whereby a process of generating a predicted image is performed.
  • the motion compensation prediction unit 59 indicates that the macro block type / sub macro block type output from the variable length decoding unit 58 uses the direct mode, and is output from the variable length decoding unit 58 A process of generating a spatial direct vector when the direct mode switching flag is “1”, and performing a motion compensation prediction process using the spatial direct vector and a reference image indicated by an identification number to generate a predicted image Conduct.
  • the motion compensation prediction unit 59 indicates that the macro block type / sub macro block type output from the variable length decoding unit 58 uses the direct mode, and is output from the variable length decoding unit 58 When a direct mode switching flag is “2”, a temporal direct vector is generated, and a motion compensated prediction process is performed using the temporal direct vector and the reference image indicated by the identification number to generate a predicted image Conduct.
  • the motion compensation prediction unit 59 includes the direct vector generation unit 61 and the motion compensation processing unit 62 as in the motion compensation prediction unit 54 of FIG. 6 (see FIG. 6).
  • FIG. 19 is a block diagram showing the direct vector generation unit 61 constituting the motion compensation prediction unit 59.
  • the same reference numerals as those in FIG. 7 the direct vector determination unit 74 generates the space generated by the spatial direct vector generation unit 71 as in the direct vector determination unit 73 of FIG. 7.
  • the evaluation value of the spatial direct mode is calculated using the direct vector
  • the evaluation value of the temporal direct mode is calculated using the temporal direct vector generated by the temporal direct vector generator 72, and the evaluation of the spatial direct mode is performed.
  • the value and the evaluation value in the temporal direct mode are compared, and processing for selecting either the spatial direct vector or the temporal direct vector is performed.
  • the direct vector determination unit 74 selects the spatial direct vector generated by the spatial direct vector generation unit 71 and sets the spatial direct vector as the motion vector to the motion compensation processing unit 62.
  • the direct vector determination unit 74 selects the temporal direct vector generated by the temporal direct vector generation unit 72 and sets the temporal direct vector as the motion vector to the motion compensation processing unit 62.
  • FIG. 20 is a block diagram showing a direct vector determination unit 74 which constitutes the direct vector generation unit 61.
  • the motion compensation unit 84 is generated by the spatial direct vector generation unit 71 as in the case of the motion compensation unit 81 in FIG.
  • the spatial direct vector to generate a forward prediction image and a backward prediction image in the spatial direct mode
  • the temporal direct vector generated by the temporal direct vector generation unit 72 the forward prediction image in the temporal direct mode and the rear Implement a process of generating a predicted image.
  • the motion compensation unit 84 outputs the spatial direct vector generated by the spatial direct vector generation unit 71 to the similarity calculation unit 85, and the direct mode switching flag is “2”.
  • the direct mode switching flag is “1”
  • the process of outputting the time direct vector generated by the time direct vector generation unit 72 to the similarity calculation unit 85 is performed.
  • the similarity calculation unit 85 sets, as an evaluation value of the spatial direct mode, the forward prediction image and the backward prediction image in the spatial direct mode, as in the similarity calculation unit 82 of FIG. A process of calculating the similarity between the forward prediction image and the backward prediction image in the time direct mode is performed as the evaluation value of the time direct mode while calculating the similarity.
  • the direct mode switching flag is "1”
  • the similarity calculating unit 85 outputs the spatial direct vector output from the motion compensating unit 84 to the direct vector selecting unit 86, and the direct mode switching flag is "2". If there is, the process of outputting the temporal direct vector output from the motion compensation unit 84 to the direct vector selection unit 86 is performed.
  • the motion compensation unit 84 and the similarity calculation unit 85 constitute an evaluation value calculation unit.
  • the direct vector selecting unit 86 selects the spatial direct vector output from the similarity calculating unit 85 and outputs it to the motion compensation processing unit 62, and the direct mode switching flag If it is “2”, processing for selecting the temporal direct vector output from the similarity calculation unit 85 and outputting it to the motion compensation processing unit 62 is performed.
  • the direct vector selection unit 86 constitutes a direct vector selection unit.
  • a motion compensation prediction unit 11 a subtractor 3, a coding mode determination unit 4, a compression unit 5, a local decoding unit 6, an adder 7, a loop filter 8 and a variable length code, which are components of the image coding apparatus.
  • each of the encoding units 12 is composed of dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, or a one-chip microcomputer), the image encoding apparatus is a computer.
  • the computer program may be stored in the memory of the computer, and the CPU of the computer may execute the program stored in the memory.
  • each of the variable-length decoding unit 58, the prediction error decoding unit 53, the motion compensation prediction unit 59, the adder 5 and the loop filter 56 which are components of the image decoding apparatus has dedicated hardware (for example, a CPU
  • the variable length decoding unit 58, the prediction error decoding unit 53, A program describing the processing contents of the motion compensation prediction unit 59, the adder 55, and the loop filter 56 is stored in the memory of the computer, and the CPU of the computer executes the program stored in the memory. It is also good.
  • the motion compensation prediction unit 11 When the motion compensation prediction unit 11 receives a moving image signal indicating an input image, it divides each frame of the moving image signal into macro block units (or sub macro block units). When the motion compensation prediction unit 11 divides the moving image signal into macroblock units (or sub macroblock units), one frame is selected from the reference images for motion compensation prediction of one or more frames stored in the frame memory The motion vector of the macro block (or sub-macro block) to be encoded is selected by selecting the reference image and performing motion compensation prediction processing for each color component in macroblock units (or sub-macro blocks) Generate to generate a predicted image.
  • the motion compensation prediction unit 11 When the motion compensation prediction unit 11 generates a motion vector of the macroblock (or sub-macroblock) to be encoded and generates a prediction image, the motion image is output to the subtractor 3 and the prediction image is generated. Indicates whether the coding mode used in the motion vector used for the macro block type / sub macro block type (for example, the macro block (or sub macro block) is the inter mode or the direct mode). Information) and the identification number of the reference image are output to the coding mode determination unit 4; The processing content of the motion compensation prediction unit 11 will be specifically described below. However, here, for convenience of explanation, it is assumed that a motion vector is generated on a macroblock basis to generate a prediction image.
  • the space direct vector generation unit 31 of the direct vector generation unit 22 is the one to be encoded out of motion vectors of encoded macroblocks stored in the motion vector memory 1.
  • the motion vector of the encoded macroblock located around the macroblock is read out, and the spatial direct mode spatial direct vector is generated from the motion vector.
  • the temporal direct vector generation unit 32 of the direct vector generation unit 22 is the target of encoding among motion vectors of encoded macroblocks stored in the motion vector memory 1.
  • a motion vector of a coded picture temporally adjacent to the macroblock, and a motion vector of a macroblock located at the same spatial position as the macroblock to be coded is read, and from the motion vector Generate a temporal direct vector.
  • the direct vector determination unit 34 of the direct vector generation unit 22 When the direct mode switching flag included in the slice header is “0”, the direct vector determination unit 34 of the direct vector generation unit 22 generates the spatial direct vector when the spatial direct vector generation unit 31 generates the spatial direct vector. Is used to calculate the evaluation value of the spatial direct mode, and when the temporal direct vector generation unit 32 generates a temporal direct vector, the temporal direct vector is used to calculate the evaluation value of the temporal direct mode. Then, similar to the direct vector determination unit 33 of FIG. 3, the direct vector determination unit 34 compares the evaluation value of the spatial direct mode with the evaluation value of the temporal direct mode, and selects the spatial direct vector or the temporal direct vector. The selected direct vector is output to the motion compensation processing unit 23 as a motion vector.
  • the direct vector determination unit 34 selects the spatial direct vector generated by the spatial direct vector generation unit 31 and sets the spatial direct vector as a motion vector to the motion compensation processing unit 23. Output. Further, when the direct mode switching flag is “2”, the direct vector determination unit 34 selects the temporal direct vector generated by the temporal direct vector generation unit 32, and sets the temporal direct vector as the motion vector to the motion compensation processing unit Output to 23.
  • a direct mode switching flag of “2” indicating that the time direct mode is selected is given, and in the case of an input image having different motion in the screen, It is conceivable that a direct mode switching flag of “1” indicating that the spatial direct mode is selected is given.
  • the motion compensation unit 44 of the direct vector determination unit 34 uses the spatial direct vector generated by the spatial direct vector generation unit 31 as in the case of the motion compensation unit 41 of FIG.
  • the forward prediction image and the backward prediction image in the spatial direct mode are generated, and the forward prediction image and the backward prediction image in the temporal direct mode are generated using the temporal direct vector generated by the temporal direct vector generation unit 32.
  • the direct mode switching flag is “1”
  • the motion compensation unit 44 outputs the spatial direct vector generated by the spatial direct vector generating unit 31 to the similarity calculation unit 45 and the direct mode switching flag is “1”. If it is 2 ′ ′, the temporal direct vector generated by the temporal direct vector generation unit 32 is output to the similarity calculation unit 45.
  • the similarity calculation unit 45 of the direct vector determination unit 34 As in the similarity calculation unit 42 in FIG.
  • the similarity between the predicted image and the backward predicted image is calculated, and the similarity between the forward predicted image and the backward predicted image in the time direct mode is calculated as the evaluation value in the time direct mode.
  • the similarity calculating unit 45 outputs the spatial direct vector output from the motion compensating unit 44 to the direct vector selecting unit 46, and the direct mode switching flag is "2". In this case, the temporal direct vector output from the motion compensation unit 44 is output to the direct vector selection unit 46.
  • the similarity between the forward prediction image and the backward prediction image is compared with the similarity between the forward prediction image and the backward prediction image in the temporal direct mode, and the similarity between the forward prediction image and the backward prediction image in the spatial direct vector or the temporal direct vector
  • the direct vector in the direct mode of the higher degree is selected, and the direct vector is output to the motion compensation processing unit 23 as a motion vector.
  • the direct vector selection unit 46 receives the spatial direct vector output from the similarity calculation unit 45, and uses the spatial direct vector as a motion vector to perform motion compensation processing unit 23 Output to Further, when the direct mode switching flag is “2”, the direct vector selection unit 46 receives the temporal direct vector output from the similarity calculation unit 45, and uses the temporal direct vector as a motion vector to perform motion compensation processing unit 23 Output to
  • the motion compensation prediction unit 59 performs motion compensation using the motion vector output from the variable length decoding unit 58 and the reference image when the image coding apparatus in FIG. 15 uses the inter mode as the coding mode.
  • the prediction process is performed to generate a prediction image.
  • the motion compensation prediction unit 59 determines that the direct mode switching flag output from the variable length decoding unit 58 is “0”. For example, as in the motion compensation prediction unit 11 in the image coding device of FIG. 15, a spatial direct vector and a temporal direct vector are generated, and either the spatial direct vector or the temporal direct vector is selected and selected.
  • a motion compensated prediction process is performed using a direct image and a reference image indicated by an identification number to generate a predicted image.
  • the processing contents of the motion compensation prediction unit 59 will be specifically described below.
  • the direct vector generation unit 61 of the motion compensation prediction unit 59 indicates that the macro block type / sub macro block type output from the variable length decoding unit 58 uses the direct mode
  • the first embodiment can be used.
  • a spatial direct vector in spatial direct mode and a temporal direct vector in temporal direct mode are generated, and either one of the spatial direct vector or temporal direct vector is used as a motion vector to perform motion compensation processing.
  • Output to section 62 is used for each macroblock to be decoded.
  • the spatial direct vector generation unit 71 of the direct vector generation unit 61 selects a macroblock to be decoded out of motion vectors of the decoded macroblocks stored in the motion vector memory 51.
  • the motion vector of the decoded macroblock located at the periphery of is read, and the spatial direct mode spatial direct vector is generated from the motion vector.
  • the temporal direct vector generation unit 72 of the direct vector generation unit 61 determines the time of the macroblock to be decoded out of the motion vectors of the decoded macroblocks stored in the motion vector memory 51. Read out the motion vector of the macroblock in the spatially neighboring decoded target that is spatially the same as the macroblock to be decoded, and generate the temporal direct vector in temporal direct mode from the motion vector .
  • the direct mode determination unit 74 of the direct vector generation unit 61 When the direct mode determination unit 74 of the direct vector generation unit 61 generates the spatial direct vector when the direct mode generation flag is “0” when the direct mode switching flag output from the variable length decoding unit 58 is “0”, The evaluation value of the spatial direct mode is calculated using the direct vector, and when the temporal direct vector generation unit 72 generates the temporal direct vector, the evaluation value of the temporal direct mode is calculated using the temporal direct vector. Then, as in the direct vector determination unit 73 of FIG. 7, the direct vector determination unit 74 compares the evaluation value of the spatial direct mode with the evaluation value of the temporal direct mode, and selects the spatial direct vector or the temporal direct vector. The selected direct vector is output to the motion compensation processing unit 62 as a motion vector.
  • the direct vector determination unit 74 selects the spatial direct vector generated by the spatial direct vector generation unit 71 and sets the spatial direct vector as the motion vector to the motion compensation processing unit 62. Output. Further, when the direct mode switching flag is “2”, the direct vector determination unit 74 selects the temporal direct vector generated by the temporal direct vector generation unit 72 and sets the temporal direct vector as a motion vector to the motion compensation processing unit Output to 62.
  • the processing contents of the direct vector determination unit 74 will be specifically described below. If the direct mode switching flag output from the variable length decoding unit 58 is “0”, the motion compensation unit 84 of the direct vector determination unit 74 performs the spatial direct vector generation unit 71 as in the case of the motion compensation unit 81 in FIG. While generating the forward prediction image and backward prediction image in the spatial direct mode using the spatial direct vector generated by the above, and using the temporal direct vector generated by the temporal direct vector generation unit 72, the forward prediction in the temporal direct mode Generate an image and a backward prediction image.
  • the motion compensation unit 84 outputs the spatial direct vector generated by the spatial direct vector generation unit 71 to the similarity calculation unit 85, and the direct mode switching flag is “1”. If it is 2 ′ ′, the time direct vector generated by the time direct vector generation unit 72 is output to the similarity calculation unit 85.
  • the similarity calculation unit 85 As the evaluation value of the spatial direct mode, is a forward prediction image and a backward prediction image in the spatial direct mode, as in the similarity calculation unit 82 of FIG.
  • the similarity between the forward prediction image and the backward prediction image in the time direct mode is calculated as the evaluation value of the time direct mode as well as the similarity degree in the above.
  • the similarity calculating unit 85 outputs the spatial direct vector output from the motion compensating unit 84 to the direct vector selecting unit 86, and the direct mode switching flag is "2". In this case, the temporal direct vector output from the motion compensation unit 84 is output to the direct vector selection unit 86.
  • the direct vector selection unit 86 predicts the forward prediction image and the backward prediction in the spatial direct mode calculated by the similarity calculation unit 85 as in the direct vector selection unit 83 of FIG.
  • the similarity of the image and the similarity of the forward prediction image and the backward prediction image in the temporal direct mode are compared, and the direct of the spatial direct vector or the temporal direct vector, which has high similarity between the forward prediction image and the backward prediction image
  • the direct vector of the mode is selected, and the direct vector is output to the motion compensation processing unit 62 as a motion vector.
  • the direct vector selection unit 86 selects the spatial direct vector output from the similarity calculation unit 85 and sets the spatial direct vector as a motion vector to the motion compensation processing unit 62. If the direct mode switching flag is “2”, the time direct vector output from the similarity calculation unit 85 is selected, and the time direct vector is output to the motion compensation processing unit 62 as a motion vector.
  • the present invention is suitable for an image coding apparatus and an image coding method in which it is necessary to avoid unnecessary coding of motion vectors and to prevent an increase in code amount. Furthermore, the present invention is suitable for an image decoding apparatus and an image decoding method in which it is necessary to decode encoded data generated by the image encoding apparatus as described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部42と、空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部43とを設け、動き補償処理部23がダイレクトベクトル選択部43により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する。

Description

画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
 この発明は、画像圧縮符号化技術や圧縮画像データ伝送技術などに用いられる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法に関するものである。
 例えば、MPEG(Moving Picture Experts Group)や「ITU-T H.26x」などの国際標準映像符号化方式では、輝度信号16×16画素と、その輝度信号16×16画素に対応する色差信号8×8画素とをまとめたブロックデータ(以下、「マクロブロック」と称する)を一単位として、動き補償技術や直交変換/変換係数量子化技術に基づいて圧縮する方法が採用されている。
 画像符号化装置及び画像復号装置における動き補償処理では、前方または後方のピクチャを参照して、マクロブロック単位で動きベクトルの検出や予測画像の生成を行う。
 このとき、1枚のピクチャのみを参照して、画面間予測符号化を行うものをPピクチャと称し、同時に2枚のピクチャを参照して、画面間予測符号化を行うものをBピクチャと称する。
 国際標準方式であるAVC/H.264(ISO/IEC 14496-10|ITU-T H.264)では、Bピクチャを符号化する際に、ダイレクトモードと呼ばれる符号化モードを選択することができる(例えば、非特許文献1を参照)。
 即ち、符号化対象のマクロブロックには、動きベクトルの符号化データを持たず、符号化済みの他のピクチャのマクロブロックの動きベクトルや、周囲のマクロブロックの動きベクトルを用いる所定の演算処理で、符号化対象のマクロブロックの動きベクトルを生成する符号化モードを選択することができる。
 このダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードの2種類が存在する。
 時間ダイレクトモードでは、符号化済みの他ピクチャの動きベクトルを参照し、符号化済みピクチャと符号化対象のピクチャとの時間差に応じて動きベクトルのスケーリング処理を行うことで、符号化対象のマクロブロックの動きベクトルを生成する。
 空間ダイレクトモードでは、符号化対象のマクロブロックの周囲に位置している少なくとも1つ以上の符号化済みマクロブロックの動きベクトルを参照し、それらの動きベクトルから符号化対象のマクロブロックの動きベクトルを生成する。
 このダイレクトモードでは、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を用いることにより、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方を選択することが可能である。
 ここで、図9は時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
 図9において、「P」はPピクチャを表し、「B」はBピクチャを表している。
 また、数字0-3はピクチャの表示順を示し、時間T0,T1,T2,T3の表示画像であることを表している。
 ピクチャの符号化処理は、P0,P3,B1,B2の順番で行われているものとする。
 例えば、ピクチャB2の中のマクロブロックMB1を時間ダイレクトモードで符号化する場合を想定する。
 この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2の動きベクトルMVを用いる。
 この動きベクトルMVはピクチャP0を参照しており、マクロブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式(1)で求められる。
Figure JPOXMLDOC01-appb-I000001
 したがって、時間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを求めるには、符号化済みピクチャの動きベクトルMVを1画面分必要とするため、動きベクトルを保持するメモリが必要となる。
 図10は空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
 図10において、currentMBは、符号化対象のマクロブロックを表している。
 このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックAの動きベクトルをMVa、符号化対象のマクロブロックの上の符号化済マクロブロックBの動きベクトルをMVb、符号化対象のマクロブロックの右上の符号化済マクロブロックCの動きベクトルをMVcとすると、下記の式(2)に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン(中央値)を求めることにより、符号化対象のマクロブロックの動きベクトルMVを算出することができる。
   MV=median(MVa、MVb、MVc)  (2)
 空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。
 AVC/H.264では、空間ダイレクトモード又は時間ダイレクトモードのいずれか一方を選択するが、上述したように、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を参照すると、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードを選択する必要があるため、マクロブロック毎に、最適なダイレクトモードに切り替えて使用することはできない。
MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格
 従来の画像符号化装置は以上のように構成されているので、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を参照すれば、スライス単位で、時間ダイレクトモードと空間ダイレクトモードを切り替えることができる。しかし、マクロブロック単位では、時間ダイレクトモードと空間ダイレクトモードを切り替えることができないため、或るスライスに属している或るマクロブロックに対する最適なダイレクトモードが例えば空間ダイレクトモードであっても、当該スライスに対応するダイレクトモードが時間ダイレクトモードに決められていれば、当該マクロブロックに対して時間ダイレクトモードを使用しなければならず、最適なダイレクトモードを選択することができない。このような場合、最適なダイレクトモードを選択することができないため、不必要な動きベクトルを符号化しなければならず、符号量が増加してしまうなどの課題があった。
 この発明は上記のような課題を解決するためになされたもので、所定のブロック単位に最適なダイレクトモードを選択することができる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法を得ることを目的とする。
 この発明に係る画像符号化装置は、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する評価値算出手段と、評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段とを設け、予測画像生成手段がダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するようにしたものである。
 この発明によれば、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する評価値算出手段と、評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段とを設け、予測画像生成手段がダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、所定のブロック単位に最適なダイレクトモードを選択することができるようになり、その結果、不必要な動きベクトルの符号化を避けて、符号量の増加を防止することができる効果がある。
この発明の実施の形態1による画像符号化装置を示す構成図である。 この発明の実施の形態1による画像符号化装置の動き補償予測部2を示す構成図である。 動き補償予測部2を構成しているダイレクトベクトル生成部22を示す構成図である。 ダイレクトベクトル生成部22を構成しているダイレクトベクトル判定部33を示す構成図である。 この発明の実施の形態1による画像復号装置を示す構成図である。 この発明の実施の形態1による画像復号装置の動き補償予測部54を示す構成図である。 動き補償予測部54を構成しているダイレクトベクトル生成部61を示す構成図である。 ダイレクトベクトル生成部61を構成しているダイレクトベクトル判定部73を示す構成図である。 時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。 空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。 前方予測画像と後方予測画像の類似度による評価値の算出例を示す説明図である。 この発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。 動きベクトルの分散値を用いた評価式を示す説明図である。 この発明の実施の形態3による画像符号化装置を示す構成図である。 動き補償予測部11を構成しているダイレクトベクトル生成部22を示す構成図である。 ダイレクトベクトル生成部22を構成しているダイレクトベクトル判定部34を示す構成図である。 この発明の実施の形態3による画像復号装置を示す構成図である。 動き補償予測部59を構成しているダイレクトベクトル生成部61を示す構成図である。 ダイレクトベクトル生成部61を構成しているダイレクトベクトル判定部74を示す構成図である。
 以下、この発明をより詳細に説明するために、この発明の実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
 図1の画像符号化装置では、AVC/H.264規格で採用されている符号化方式を用いている例を説明する。
 図1において、動きベクトルメモリ1は符号化済みマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している例えばRAMなどの記録媒体である。
 動き補償予測部2はフレームメモリ9に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、入力画像を構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の単位で、動き補償予測処理を実行して、当該マクロブロック(符号化対象のマクロブロック)の動きベクトルを生成して予測画像を生成し、それぞれのマクロブロック毎に選択した参照画像の識別番号、動きベクトル及び予測画像等を出力する処理を実施する。
 ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
 ただし、動き補償予測部2は符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する際、入力画像を構成しているマクロブロック毎に、当該マクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトル(動きベクトルメモリ1に格納されている動きベクトル)から空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該マクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトル(動きベクトルメモリ1に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
 また、動き補償予測部2は空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する処理を実施する。
 また、動き補償予測部2は空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
 さらに、動き補償予測部2は選択したダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 減算器3は動き補償予測部2により生成された予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部4に出力する処理を実施する。
 符号化モード判定部4は減算器3から出力された予測差分信号の予測効率を評価して、減算器3から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択し、動き補償予測部2で当該予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード情報として可変長符号化部10に出力し、また、最も予測効率が高い予測差分信号を圧縮部5に出力する処理を実施する。
 圧縮部5は符号化モード判定部4から出力された予測差分信号に対するDCT(離散コサイン変換)処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化して、量子化後のDCT係数である圧縮データを局部復号部6及び可変長符号化部10に出力する処理を実施する。
 なお、減算器3、符号化モード判定部4及び圧縮部5から量子化手段が構成されている。
 局部復号部6は圧縮部5から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT(逆離散コサイン変換)処理を実施することで、符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号を算出する処理を実施する。
 加算器7は局部復号部6により算出された予測誤差信号と動き補償予測部2により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
 ループフィルタ8は加算器7から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ9に出力する処理を実施する。
 フレームメモリ9はループフィルタ8から出力された参照画像を格納するRAMなどの記録媒体である。
 可変長符号化部10は圧縮部5から出力された圧縮データ及び動き補償予測部2から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)をエントロピー符号化して、その符号化結果を示すビットストリーム(符号化データ)を生成し、そのビットストリームを出力する処理を実施する。なお、可変長符号化部10は可変長符号化手段を構成している。
 図2はこの発明の実施の形態1による画像符号化装置の動き補償予測部2を示す構成図である。
 図2において、動きベクトル探索部21は符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部23に出力する処理を実施する。
 ダイレクトベクトル生成部22は符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部23に出力する処理を実施する。
 動き補償処理部23は動きベクトル探索部21又はダイレクトベクトル生成部22から出力された動きベクトルとフレームメモリ9に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。なお、動き補償処理部23は予測画像生成手段を構成している。
 図3は動き補償予測部2を構成しているダイレクトベクトル生成部22を示す構成図である。
 図3において、空間ダイレクトベクトル生成部31は動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。
 時間ダイレクトベクトル生成部32は動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
 なお、空間ダイレクトベクトル生成部31及び時間ダイレクトベクトル生成部32からダイレクトベクトル生成手段が構成されている。
 ダイレクトベクトル判定部33は空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
 図4はダイレクトベクトル生成部22を構成しているダイレクトベクトル判定部33を示す構成図である。
 図4において、動き補償部41は空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
 類似度算出部42は空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
 なお、動き補償部41及び類似度算出部42から評価値算出手段が構成されている。
 ダイレクトベクトル選択部43は類似度算出部42により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。なお、ダイレクトベクトル選択部43はダイレクトベクトル選択手段を構成している。
 図5はこの発明の実施の形態1による画像復号装置を示す構成図である。
 図5の画像復号装置では、AVC/H.264規格で採用されている符号化方式を用いている例を説明する。
 図5において、動きベクトルメモリ51は復号済みマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している例えばRAMなどの記録媒体である。
 可変長復号部52は図1の画像符号化装置から出力されたビットストリーム(符号化データ)を入力し、そのビットストリームから圧縮データ及び符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)をエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報を動き補償予測部54に出力する処理を実施する。なお、可変長復号部52は可変長復号手段を構成している。
 予測誤差復号部53は可変長復号部52から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号(図1の符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号)を算出する処理を実施する。なお、予測誤差復号部53は逆量子化手段を構成している。
 動き補償予測部54はフレームメモリ57に格納されている1フレーム以上の参照画像の中から、可変長復号部52から出力された識別番号が示す参照画像を読み出し、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部52から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 一方、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、図1の画像符号化装置における動き補償予測部2と同様にして、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 加算器55は動き補償予測部54により生成された予測画像と予測誤差復号部53から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器7から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する処理を実施する。
 ループフィルタ56は加算器55により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ57に格納するとともに、その復号画像を外部に出力する処理を実施する。
 なお、加算器55及びループフィルタ56から画像加算手段が構成されている。
 フレームメモリ57はループフィルタ56から出力された参照画像を格納するRAMなどの記録媒体である。
 図6はこの発明の実施の形態1による画像復号装置の動き補償予測部54を示す構成図である。
 図6において、ダイレクトベクトル生成部61は可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部62に出力する処理を実施する。
 動き補償処理部62はフレームメモリ57に格納されている1フレーム以上の参照画像の中から、可変長復号部52から出力された識別番号が示す参照画像を読み出し、マクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部52から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成し、マクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、ダイレクトベクトル生成部61から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する処理を実施する。なお、動き補償処理部62は予測画像生成手段を構成している。
 図7は動き補償予測部54を構成しているダイレクトベクトル生成部61を示す構成図である。
 図7において、空間ダイレクトベクトル生成部71は動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する処理を実施する。
 時間ダイレクトベクトル生成部72は動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する処理を実施する。
 なお、空間ダイレクトベクトル生成部71及び時間ダイレクトベクトル生成部72からダイレクトベクトル生成手段が構成されている。
 ダイレクトベクトル判定部73は空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
 図8はダイレクトベクトル生成部61を構成しているダイレクトベクトル判定部73を示す構成図である。
 図8において、動き補償部81は空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
 類似度算出部82は空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
 なお、動き補償部81及び類似度算出部82から評価値算出手段が構成されている。
 ダイレクトベクトル選択部83は類似度算出部82により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。なお、ダイレクトベクトル選択部83はダイレクトベクトル選択手段を構成している。
 図1では、画像符号化装置の構成要素である動き補償予測部2、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部10のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部2、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部10の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図12はこの発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。
 図5では、画像復号装置の構成要素である可変長復号部52、予測誤差復号部53、動き補償予測部54、加算器55及びループフィルタ56のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部52、予測誤差復号部53、動き補償予測部54、加算器55及びループフィルタ56の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図13はこの発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。
 次に動作について説明する。
 最初に、図1の画像符号化装置の処理内容を説明する。
 動き補償予測部2は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位(あるいは、サブマクロブロック単位)に分割する。
 動き補償予測部2は、動画像信号をマクロブロック単位(あるいは、サブマクロブロック単位)に分割すると、フレームメモリ9に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロック単位(あるいは、サブマクロブロック単位)で、動き補償予測処理を実行することで、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成する。
 動き補償予測部2は、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成すると、その予測画像を減算器3に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロック(あるいは、サブマクロブロック)において使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード判定部4に出力する。
 以下、動き補償予測部2の処理内容を具体的に説明する。
 ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
 動き補償予測部2の動きベクトル探索部21は、符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部23に出力する。
 インターモードで最適な動きベクトルを探索する処理自体は公知の技術であるため詳細な説明を省略する。
 動き補償予測部2のダイレクトベクトル生成部22は、符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部23に出力する。
 即ち、ダイレクトベクトル生成部22の空間ダイレクトベクトル生成部31は、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する(図12のステップST1)。
 また、ダイレクトベクトル生成部22の時間ダイレクトベクトル生成部32は、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する(ステップST2)。
 ここで、図9は時間ダイレクトモードで動きベクトル(時間ダイレクトベクトル)を生成する方法を示す模式図である。
 例えば、ピクチャB2の中のマクロブロックMB1が符号化対象のマクロブロックであり、マクロブロックMB1を時間ダイレクトモードで符号化する場合を想定する。
 この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2の動きベクトルMVを用いる。
 この動きベクトルMVはピクチャP0を参照しており、マクロブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式(3)で求められる。
Figure JPOXMLDOC01-appb-I000002
 時間ダイレクトベクトル生成部32は、動きベクトルMVL0,MVL1を算出すると、その動きベクトルMVL0,MVL1を時間ダイレクトモードの時間ダイレクトベクトルとしてダイレクトベクトル判定部33に出力する。
 ただし、時間ダイレクトベクトル生成部32における時間ダイレクトベクトルの生成方法は、図9に示すようなH.264方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。
 図10は空間ダイレクトモードで動きベクトル(空間ダイレクトベクトル)を生成する方法を示す模式図である。
 図10において、currentMBは、符号化対象のマクロブロックを表している。
 このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックAの動きベクトルをMVa、符号化対象のマクロブロックの上の符号化済マクロブロックBの動きベクトルをMVb、符号化対象のマクロブロックの右上の符号化済マクロブロックCの動きベクトルをMVcとすると、下記の式(4)に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン(中央値)を求めることにより、符号化対象のマクロブロックの動きベクトルMVを算出することができる。
   MV=median(MVa、MVb、MVc) (4)
 空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも上記の方法を用いて求めることが可能である。
 空間ダイレクトベクトル生成部31は、上記のようにして、前方及び後方の動きベクトルMVを算出すると、前方及び後方の動きベクトルMVを空間ダイレクトモードの空間ダイレクトベクトルとしてダイレクトベクトル判定部33に出力する。
 ただし、空間ダイレクトベクトル生成部31における空間ダイレクトベクトルの生成方法は、図10に示すようなH.264方式を用いてもよいが、これに限るものではなく、他の方法を用いてもよい。
 ダイレクトベクトル生成部22のダイレクトベクトル判定部33は、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。
 また、ダイレクトベクトル判定部33は、時間ダイレクトベクトル生成部32が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
 ダイレクトベクトル判定部33は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、以下に記載するような判定手段によってダイレクトモードのダイレクトベクトルを選択して動き補償処理部23に出力する。
 以下、ダイレクトベクトル判定部33の処理内容を具体的に説明する。
 ダイレクトベクトル判定部33の動き補償部41は、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルMVL0,MVL1を生成すると、図11に示すように、その空間ダイレクトベクトルMVL0を用いて、空間ダイレクトモードの前方予測画像fspatialを生成し、その空間ダイレクトベクトルMVL1を用いて、空間ダイレクトモードの後方予測画像gspatialを生成する(ステップST3)。
 また、動き補償部41は、時間ダイレクトベクトル生成部32が前方及び後方の動きベクトルMVである時間ダイレクトベクトルを生成すると、図11に示すように、前方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像ftemporalを生成し、後方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの後方予測画像gtemporalを生成する(ステップST4)。
 ダイレクトベクトル判定部33の類似度算出部42は、動き補償部41が空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialを生成すると、空間ダイレクトモードの評価値SADspatialとして、その前方予測画像fspatialと後方予測画像gspatialの類似度を算出する(ステップST5)。
   SADspatial=|fspatial-gspatial|    (5)
 また、類似度算出部42は、動き補償部41が時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalを生成すると、時間ダイレクトモードの評価値SADtemporalとして、その前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出する(ステップST6)。
   SADtemporal=|ftemporal-gtemporal| (6)
 なお、前方予測画像と後方予測画像間の差分が大きい程、2つの画像間の類似度が低くなり(2つの画像の差分絶対値和を示す評価値SADが大きくなる)、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、2つの画像間の類似度が高くなり(2つの画像の差分絶対値和を示す評価値SADが小さくなる)、時間的な相関が高くなる。
 ダイレクトベクトル判定部33のダイレクトベクトル選択部43は、類似度算出部42が空間ダイレクトモードの評価値SADspatialと、時間ダイレクトモードの評価値SADtemporalとを算出すると、その評価値SADspatialと評価値SADtemporalを比較することで、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度と、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度とを比較する(ステップST7)。
 ダイレクトベクトル選択部43は、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度が、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度より高い場合(SADspatial≦SADtemporal)、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する(ステップST8)。
 一方、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度が、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度より高い場合(SADspatial>SADtemporal)、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する(ステップST9)。
 動き補償処理部23は、符号化モードがダイレクトモードでないとき(ステップST10)、動きベクトル探索部21から動きベクトルを受けると、その動きベクトルとフレームメモリ9に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST11)。
 一方、符号化モードがダイレクトモードであるとき(ステップST10)、ダイレクトベクトル生成部22から動きベクトル(ダイレクトベクトル選択部43により選択されたダイレクトベクトル)を受けると、その動きベクトルとフレームメモリ9に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST12)。
 なお、動き補償処理部23の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
 ここでは、類似度算出部42が差分絶対値和である評価値SADを算出し、ダイレクトベクトル選択部43が評価値SADを比較するものについて示したが、類似度算出部42が評価値として、前方予測画像と後方予測画像間の差分二乗和SSEを算出し、ダイレクトベクトル選択部43が差分二乗和SSEを比較するようにしてもよい。SSEを用いることにより処理量は増えるが、より正確に類似度を算出することが可能となる。
 減算器3は、動き補償予測部2が予測画像を生成すると、その予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部4に出力する(ステップST13)。
 符号化モード判定部4は、減算器3から予測差分信号を受ける毎に、その予測差分信号の予測効率を評価して、減算器3から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する。
 符号化モード判定部4における予測差分信号の予測効率を評価する処理自体は公知の技術であるため詳細な説明を省略する。
 符号化モード判定部4は、最も予測効率が高い予測差分信号を選択すると、動き補償予測部2において、その予測差分信号に係る予測画像の生成に用いられた動きベクトルと、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)と、参照画像の識別番号とを含む符号化モード情報を可変長符号化部10に出力する。
 また、符号化モード判定部4は、最も予測効率が高い予測差分信号を圧縮部5に出力する(ステップST14)。
 ただし、符号化モード判定部4は、符号化モードがインターモードであれば、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めて、その動きベクトルを含んでいる符号化モード情報を可変長符号化部10に出力するが、符号化モードがダイレクトモードである場合には、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めずに、その動きベクトルを含んでいない符号化モード情報を可変長符号化部10に出力する。
 圧縮部5は、符号化モード判定部4から予測差分信号を受けると、その予測差分信号に対するDCT処理を実施することで、DCT係数を算出して、そのDCT係数を量子化する(ステップST15)。
 圧縮部5は、量子化後のDCT係数である圧縮データを局部復号部6及び可変長符号化部10に出力する。
 局部復号部6は、圧縮部5から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号を算出する。
 加算器7は、局部復号部6が予測誤差信号を復号すると、その予測誤差信号と動き補償予測部2により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。
 ループフィルタ8は、次の符号化処理に備えるため、加算器7から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ9に格納する。
 可変長符号化部10は、圧縮部5から圧縮データを受けると、その圧縮データと動き補償予測部2から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)をエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する(ステップST16)。
 次に、図5の画像復号装置の処理内容を説明する。
 可変長復号部52は、図1の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ及び符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)をエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報を動き補償予測部54に出力する(図13のステップST21)。
 予測誤差復号部53は、可変長復号部52から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号(図1の符号化モード判定部4から出力された予測差分信号に相当する予測誤差信号)を算出する(ステップST22)。
 動き補償予測部54は、可変長復号部52から参照画像の識別番号を受けると、フレームメモリ57に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
 また、動き補償予測部54は、可変長復号部52からマクロブロックタイプ/サブマクロブロックタイプを受けると、そのマクロブロックタイプ/サブマクロブロックタイプを参照して、図1の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する(ステップST23)。
 動き補償予測部54は、図1の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部52から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST24)。
 一方、図1の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、図1の画像符号化装置における動き補償予測部2と同様にして、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST25)。
 以下、動き補償予測部54の処理内容を具体的に説明する。
 動き補償予測部54のダイレクトベクトル生成部61は、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部62に出力する。
 即ち、ダイレクトベクトル生成部61の空間ダイレクトベクトル生成部71は、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
 ただし、空間ダイレクトベクトル生成部71における空間ダイレクトベクトルの生成方法は、図3の空間ダイレクトベクトル生成部31における空間ダイレクトベクトルの生成方法と同様であるため詳細な説明を省略する。
 ダイレクトベクトル生成部61の時間ダイレクトベクトル生成部72は、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
 ただし、時間ダイレクトベクトル生成部72における時間ダイレクトベクトルの生成方法は、図3の時間ダイレクトベクトル生成部32における時間ダイレクトベクトルの生成方法と同様であるため詳細な説明を省略する。
 ダイレクトベクトル生成部61のダイレクトベクトル判定部73は、空間ダイレクトベクトル生成部71が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出する。
 また、ダイレクトベクトル判定部73は、時間ダイレクトベクトル生成部72が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
 ダイレクトベクトル判定部73は、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、適正な方のダイレクトモードのダイレクトベクトルを選択して動き補償処理部62に出力する。
 以下、ダイレクトベクトル判定部73の処理内容を具体的に説明する。
 ダイレクトベクトル判定部73の動き補償部81は、空間ダイレクトベクトル生成部71が空間ダイレクトベクトルMVL0,MVL1を生成すると、図11に示すように、その空間ダイレクトベクトルMVL0を用いて、空間ダイレクトモードの前方予測画像fspatialを生成し、その空間ダイレクトベクトルMVL1を用いて、空間ダイレクトモードの後方予測画像gspatialを生成する。
 また、動き補償部81は、時間ダイレクトベクトル生成部72が前方及び後方の動きベクトルMVである時間ダイレクトベクトルを生成すると、図11に示すように、前方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像ftemporalを生成し、後方の動きベクトルMVである時間ダイレクトベクトルを用いて、時間ダイレクトモードの後方予測画像gtemporalを生成する。
 ダイレクトベクトル判定部73の類似度算出部82は、動き補償部81が空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialを生成すると、図4の類似度算出部42と同様に、空間ダイレクトモードの評価値SADspatialとして、その前方予測画像fspatialと後方予測画像gspatialの類似度を算出する。
 また、類似度算出部82は、動き補償部81が時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalを生成すると、図4の類似度算出部42と同様に、時間ダイレクトモードの評価値SADtemporalとして、その前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出する。
 なお、前方予測画像と後方予測画像間の差分が大きい程、2つの画像間の類似度が低くなり(2つの画像の差分絶対値和を示す評価値SADが大きくなる)、時間的な相関が低くなる。逆に、前方予測画像と後方予測画像間の差分が小さい程、2つの画像間の類似度が高くなり(2つの画像の差分絶対値和を示す評価値SADが小さくなる)、時間的な相関が高くなる。
 ダイレクトベクトル判定部73のダイレクトベクトル選択部83は、類似度算出部82が空間ダイレクトモードの評価値SADspatialと、時間ダイレクトモードの評価値SADtemporalとを算出すると、図4のダイレクトベクトル選択部43と同様に、その評価値SADspatialと評価値SADtemporalを比較することで、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度と、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度とを比較する。
 ダイレクトベクトル選択部83は、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度が、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度より高い場合(SADspatial≦SADtemporal)、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 一方、時間ダイレクトモードにおける前方予測画像ftemporalと後方予測画像gtemporalの類似度が、空間ダイレクトモードにおける前方予測画像fspatialと後方予測画像gspatialの類似度より高い場合(SADspatial>SADtemporal)、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 動き補償処理部62は、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部52から出力された動きベクトルとフレームメモリ9に格納されている1フレームの参照画像(可変長復号部52から出力された識別番号が示す参照画像)を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 一方、可変長復号部52から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、ダイレクトベクトル生成部61から出力された動きベクトルとフレームメモリ9に格納されている1フレームの参照画像(可変長復号部52から出力された識別番号が示す参照画像)を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 なお、動き補償処理部62の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
 ここでは、類似度算出部82が差分絶対値和である評価値SADを算出し、ダイレクトベクトル選択部83が評価値SADを比較するものについて示したが、類似度算出部82が評価値として、前方予測画像と後方予測画像間の差分二乗和SSEを算出し、ダイレクトベクトル選択部83が差分二乗和SSEを比較するようにしてもよい。なお、類似度算出部82は符号化器の類似度算出部46と同一の評価値を用いる。
 加算器55は、動き補償予測部54が予測画像を生成すると、その予測画像と予測誤差復号部53から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器7から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する(ステップST26)。
 ループフィルタ56は、加算器55が復号画像信号を生成すると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ57に格納するとともに、その復号画像を外部に出力する(ステップST27)。
 以上で明らかなように、この実施の形態1によれば、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成部22と、ダイレクトベクトル生成部22により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部42と、類似度算出部42により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部43とを設け、動き補償処理部23がダイレクトベクトル選択部43により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、マクロブロック単位に最適なダイレクトモードを選択することができるようになり、その結果、不必要な動きベクトルの符号化を避けて、符号量の増加を防止することができる画像符号化装置が得られる効果を奏する。
 また、この実施の形態1によれば、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成部61と、ダイレクトベクトル生成部61により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する類似度算出部82と、類似度算出部82により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択部83とを設け、動き補償処理部62がダイレクトベクトル選択部83により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成するように構成したので、マクロブロック単位に最適なダイレクトモードを選択することができるような符号化データを符号化可能な画像復号装置が得られる効果を奏する。
実施の形態2.
 上記実施の形態1では、類似度算出部42,82が、空間ダイレクトモードの評価値SADspatialとして、空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialの類似度を算出する一方、時間ダイレクトモードの評価値SADtemporalとして、時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出するものについて示したが、空間ダイレクトモードの評価値として、符号化対象(復号対象)のマクロブロックの周囲に位置している符号化済みマクロブロック(復号済みマクロブロック)の動きベクトルの分散値σ(spatial)を算出する一方、時間ダイレクトモードの評価値として、符号化対象のマクロブロック(復号済みマクロブロック)の時間的に近傍にある符号化済みピクチャ(復号済みピクチャ)において、符号化対象のマクロブロック(復号済みマクロブロック)と空間的に同じ位置にあるマクロブロックの周囲に位置している符号化済みブロック(復号済みマクロブロック)の動きベクトルの分散値σ(temporal)を算出するようにしてもよく、上記実施の形態1と同様の効果を奏することができる。
 即ち、類似度算出部42,82が、空間ダイレクトモードの評価値SADspatialとして、空間ダイレクトモードの前方予測画像fspatialと後方予測画像gspatialの類似度を算出する代わりに、図14(a)に示すように、符号化対象(復号対象)のマクロブロックの周囲に位置している符号化済みマクロブロック(復号済みマクロブロック)の動きベクトルの分散値σ(spatial)を算出する(下記の式(7)を参照)。
 また、類似度算出部42,82が、時間ダイレクトモードの評価値SADtemporalとして、時間ダイレクトモードの前方予測画像ftemporalと後方予測画像gtemporalの類似度を算出する代わりに、図14(b)に示すように、符号化対象のマクロブロック(復号済みマクロブロック)の時間的に近傍にある符号化済みピクチャ(復号済みピクチャ)において、符号化対象のマクロブロック(復号済みマクロブロック)と空間的に同じ位置にあるマクロブロックの周囲に位置している符号化済みブロック(復号済みマクロブロック)の動きベクトルの分散値σ(temporal)を算出する(下記の式(7)を参照)。
Figure JPOXMLDOC01-appb-I000003
ただし、
Figure JPOXMLDOC01-appb-I000004
は周囲の動きベクトルを示し、
Figure JPOXMLDOC01-appb-I000005
は周囲の動きベクトルの平均を示している。
 また、mはspatial又はtemporalを示す記号である。
 ダイレクトベクトル選択部43,83は、動きベクトルの分散値σ(spatial)と動きベクトルの分散値σ(temporal)とを比較し、動きベクトルの分散値σ(spatial)が動きベクトルの分散値σ(temporal)より大きい場合、空間ダイレクトモードの動きベクトル(空間ダイレクトベクトル)の信頼性が低いと判断して、時間ダイレクトモードの動きベクトル(時間ダイレクトベクトル)を選択する。
 一方、動きベクトルの分散値σ(temporal)が動きベクトルの分散値σ(spatial)より大きい場合、時間ダイレクトモードの動きベクトル(時間ダイレクトベクトル)の信頼性が低いと判断して、空間ダイレクトモードの動きベクトル(空間ダイレクトベクトル)を選択する。
実施の形態3.
 上記実施の形態1では、符号化モードがダイレクトモードであれば、マクロブロック単位に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを用いて、予測画像を生成するものについて示したが、例えば、スライスヘッダに含まれているダイレクトモード切替フラグである“direct_spatial_mv_pred_flag”が無意(例えば、“0”)である場合に限り、上記実施の形態1と同様な予測画像生成処理を実施し、そのダイレクトモード切替フラグが有意(例えば、“1”又は“2”)である場合、そのダイレクトモード切替フラグが指示するダイレクトモードのダイレクトベクトルを選択する(例えば、フラグ=1の場合、空間ダイレクトモードの空間ダイレクトベクトルを選択し、フラグ=2の場合、時間ダイレクトモードの時間ダイレクトベクトルを選択する)ようにしてもよい。
 以下、この実施の形態3の処理内容を具体的に説明する。
 ここでは、説明の便宜上、スライスヘッダに含まれているダイレクトモード切替フラグが“0”であれば、上記実施の形態1と同様な予測画像生成処理を実施するものとする(マクロブロック単位に、空間ダイレクトベクトル又は時間ダイレクトベクトルを選択する)。
 ダイレクトモード切替フラグが“1”であれば、当該スライスにおいては、全てのマクロブロックに対して、空間ダイレクトモードの空間ダイレクトベクトルを選択するものとする。
 また、ダイレクトモード切替フラグが“2”であれば、当該スライスにおいては、全てのマクロブロックに対して、時間ダイレクトモードの時間ダイレクトベクトルを選択するものとする。
 この実施の形態3では、ダイレクトモード切替フラグが“1”又は“2”である場合、スライス単位で、空間ダイレクトベクトル又は時間ダイレクトベクトルに切り替えることになるが、これに限るものではなく、例えば、ピクチャ単位やシーケンス単位で、空間ダイレクトベクトル又は時間ダイレクトベクトルに切り替えるようにしてもよい。
 なお、この実施の形態3では、ダイレクトモード切替フラグが、3つの状態(“0”、“1”、“2”)を表すものとして説明するが、これに限るものではなく、例えば、ダイレクトモード切替フラグがON(有意)又はOFF(無意)のみを表す場合、更に、別のフラグ(例えば、プロファイル情報や、constraint_set_flagなど)を入力するようにしてもよい。
 即ち、ダイレクトモード切替フラグがOFFである場合、上記実施の形態1と同様な予測画像生成処理を実施する。
 一方、ダイレクトモード切替フラグがONである場合、例えば、別のフラグ情報が“0”であれば、空間ダイレクトモードの空間ダイレクトベクトルを選択し、別のフラグが“1”であれば、時間ダイレクトモードの時間ダイレクトベクトルを選択するようにする。
 図15はこの発明の実施の形態3による画像符号化装置を示す構成図であり、図において、図1と同一符号は同一又は相当部分を示すので説明を省略する。
 動き補償予測部11はスライスヘッダに含まれているダイレクトモード切替フラグが“0”である場合、図1の動き補償予測部2と同様の処理を実施する。
 また、動き補償予測部11はスライスヘッダに含まれているダイレクトモード切替フラグが“1”である場合、空間ダイレクトモードの空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 また、動き補償予測部11はスライスヘッダに含まれているダイレクトモード切替フラグが“2”である場合、時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 ただし、動き補償予測部11は、図1の動き補償予測部2と同様に、動きベクトル探索部21、ダイレクトベクトル生成部22及び動き補償処理部23から構成されている(図2を参照)。
 可変長符号化部12は圧縮部5から出力された圧縮データと、動き補償予測部11から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)及びダイレクトモード切替フラグとをエントロピー符号化して、その符号化結果を示すビットストリーム(符号化データ)を生成し、そのビットストリームを出力する処理を実施する。なお、可変長符号化部12は可変長符号化手段を構成している。
 図16は動き補償予測部11を構成しているダイレクトベクトル生成部22を示す構成図であり、図において、図3と同一符号は同一又は相当部分を示すので説明を省略する。
 ダイレクトベクトル判定部34はスライスヘッダに含まれているダイレクトモード切替フラグが“0”である場合、図3のダイレクトベクトル判定部33と同様に、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
 また、ダイレクトベクトル判定部34はダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する処理を実施する。
 また、ダイレクトベクトル判定部34はダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する処理を実施する。
 図17はダイレクトベクトル生成部22を構成しているダイレクトベクトル判定部34を示す構成図である。
 図17において、動き補償部44はスライスヘッダに含まれているダイレクトモード切替フラグが“0”である場合、図4の動き補償部41と同様に、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
 また、動き補償部44はダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを類似度算出部45に出力し、そのダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを類似度算出部45に出力する処理を実施する。
 類似度算出部45はダイレクトモード切替フラグが“0”である場合、図4の類似度算出部42と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
 また、類似度算出部45はダイレクトモード切替フラグが“1”である場合、動き補償部44から出力された空間ダイレクトベクトルをダイレクトベクトル選択部46に出力し、ダイレクトモード切替フラグが“2”である場合、動き補償部44から出力された時間ダイレクトベクトルをダイレクトベクトル選択部46に出力する処理を実施する。
 なお、動き補償部44及び類似度算出部45から評価値算出手段が構成されている。
 ダイレクトベクトル選択部46はダイレクトモード切替フラグが“0”である場合、図4のダイレクトベクトル選択部43と同様に、類似度算出部45により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。
 また、ダイレクトベクトル選択部46はダイレクトモード切替フラグが“1”である場合、類似度算出部45から出力された空間ダイレクトベクトルを選択して動き補償処理部23に出力し、ダイレクトモード切替フラグが“2”である場合、類似度算出部45から出力された時間ダイレクトベクトルを選択して動き補償処理部23に出力する処理を実施する。なお、ダイレクトベクトル選択部46はダイレクトベクトル選択手段を構成している。
 図18はこの発明の実施の形態3による画像復号装置を示す構成図であり、図において、図5と同一符号は同一又は相当部分を示すので説明を省略する。
 可変長復号部58は図15の画像符号化装置から出力されたビットストリーム(符号化データ)を入力し、そのビットストリームから圧縮データ、符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)及びダイレクトモード切替フラグをエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報及びダイレクトモード切替フラグを動き補償予測部59に出力する処理を実施する。なお、可変長復号部58は可変長復号手段を構成している。
 動き補償予測部59はフレームメモリ57に格納されている1フレーム以上の参照画像の中から、可変長復号部58から出力された識別番号が示す参照画像を読み出し、可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部58から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 また、動き補償予測部59は可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部58から出力されたダイレクトモード切替フラグが“0”である場合、図15の画像符号化装置における動き補償予測部11と同様に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 また、動き補償予測部59は可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部58から出力されたダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 また、動き補償予測部59は可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示しており、かつ、可変長復号部58から出力されたダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 ただし、動き補償予測部59は、図6の動き補償予測部54と同様に、ダイレクトベクトル生成部61及び動き補償処理部62から構成されている(図6を参照)。
 図19は動き補償予測部59を構成しているダイレクトベクトル生成部61を示す構成図であり、図において、図7と同一符号は同一又は相当部分を示すので説明を省略する。
 ダイレクトベクトル判定部74は可変長復号部58から出力されたダイレクトモード切替フラグが“0”である場合、図7のダイレクトベクトル判定部73と同様に、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出し、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択する処理を実施する。
 また、ダイレクトベクトル判定部74はダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する処理を実施する。
 また、ダイレクトベクトル判定部74はダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する処理を実施する。
 図20はダイレクトベクトル生成部61を構成しているダイレクトベクトル判定部74を示す構成図である。
 図20において、動き補償部84は可変長復号部58から出力されたダイレクトモード切替フラグが“0”である場合、図8の動き補償部81と同様に、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する処理を実施する。
 また、動き補償部84はダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを類似度算出部85に出力し、そのダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを類似度算出部85に出力する処理を実施する。
 類似度算出部85はダイレクトモード切替フラグが“0”である場合、図8の類似度算出部82と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する処理を実施する。
 また、類似度算出部85はダイレクトモード切替フラグが“1”である場合、動き補償部84から出力された空間ダイレクトベクトルをダイレクトベクトル選択部86に出力し、ダイレクトモード切替フラグが“2”である場合、動き補償部84から出力された時間ダイレクトベクトルをダイレクトベクトル選択部86に出力する処理を実施する。
 なお、動き補償部84及び類似度算出部85から評価値算出手段が構成されている。
 ダイレクトベクトル選択部86はダイレクトモード切替フラグが“0”である場合、図8のダイレクトベクトル選択部83と同様に、類似度算出部85により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択する処理を実施する。
 また、ダイレクトベクトル選択部86はダイレクトモード切替フラグが“1”である場合、類似度算出部85から出力された空間ダイレクトベクトルを選択して動き補償処理部62に出力し、ダイレクトモード切替フラグが“2”である場合、類似度算出部85から出力された時間ダイレクトベクトルを選択して動き補償処理部62に出力する処理を実施する。なお、ダイレクトベクトル選択部86はダイレクトベクトル選択手段を構成している。
 図15では、画像符号化装置の構成要素である動き補償予測部11、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部12のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部11、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、加算器7、ループフィルタ8及び可変長符号化部12の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図18では、画像復号装置の構成要素である可変長復号部58、予測誤差復号部53、動き補償予測部59、加算器5及びループフィルタ56のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部58、予測誤差復号部53、動き補償予測部59、加算器55及びループフィルタ56の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 次に動作について説明する。
 最初に、図15の画像符号化装置の処理内容を説明する。
 ただし、動き補償予測部11及び可変長符号化部12以外は、図1の画像符号化装置と同様であるため、動き補償予測部11及び可変長符号化部12の処理内容についてのみ説明する。
 動き補償予測部11は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位(あるいは、サブマクロブロック単位)に分割する。
 動き補償予測部11は、動画像信号をマクロブロック単位(あるいは、サブマクロブロック単位)に分割すると、フレームメモリ9に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロック単位(あるいは、サブマクロブロック)で、色成分毎に動き補償予測処理を実行することで、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成する。
 動き補償予測部11は、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成すると、その予測画像を減算器3に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロック(あるいは、サブマクロブロック)において使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード判定部4に出力する。
 以下、動き補償予測部11の処理内容を具体的に説明する。
 ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
 動き補償予測部11の動きベクトル探索部21は、符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると、上記実施の形態1と同様に、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部23に出力する。
 動き補償予測部11のダイレクトベクトル生成部22は、符号化モードがダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部23に出力する。
 即ち、ダイレクトベクトル生成部22の空間ダイレクトベクトル生成部31は、上記実施の形態1と同様に、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
 また、ダイレクトベクトル生成部22の時間ダイレクトベクトル生成部32は、上記実施の形態1と同様に、動きベクトルメモリ1により格納されている符号化済みマクロブロックの動きベクトルの中から、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルであって、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
 ダイレクトベクトル生成部22のダイレクトベクトル判定部34は、スライスヘッダに含まれているダイレクトモード切替フラグが“0”である場合、空間ダイレクトベクトル生成部31が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出し、また、時間ダイレクトベクトル生成部32が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
 そして、ダイレクトベクトル判定部34は、図3のダイレクトベクトル判定部33と同様に、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。
 ダイレクトベクトル判定部34は、ダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。
 また、ダイレクトベクトル判定部34は、ダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。
 例えば、画像全体がパンしているような入力画像であれば、時間ダイレクトモードを選択する旨を示す“2”のダイレクトモード切替フラグが与えられ、画面内で動きが異なる入力画像であれば、空間ダイレクトモードを選択する旨を示す“1”のダイレクトモード切替フラグが与えられることが考えられる。
 以下、ダイレクトベクトル判定部34の処理内容を具体的に説明する。
 ダイレクトベクトル判定部34の動き補償部44は、ダイレクトモード切替フラグが“0”である場合、図4の動き補償部41と同様に、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する。
 また、動き補償部44は、ダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部31により生成された空間ダイレクトベクトルを類似度算出部45に出力し、そのダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部32により生成された時間ダイレクトベクトルを類似度算出部45に出力する。
 ダイレクトベクトル判定部34の類似度算出部45は、ダイレクトモード切替フラグが“0”である場合、図4の類似度算出部42と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する。
 また、類似度算出部45は、ダイレクトモード切替フラグが“1”である場合、動き補償部44から出力された空間ダイレクトベクトルをダイレクトベクトル選択部46に出力し、ダイレクトモード切替フラグが“2”である場合、動き補償部44から出力された時間ダイレクトベクトルをダイレクトベクトル選択部46に出力する。
 ダイレクトベクトル判定部34のダイレクトベクトル選択部46は、ダイレクトモード切替フラグが“0”である場合、図4のダイレクトベクトル選択部43と同様に、類似度算出部45により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択し、そのダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。
 また、ダイレクトベクトル選択部46は、ダイレクトモード切替フラグが“1”である場合、類似度算出部45から出力された空間ダイレクトベクトルを入力し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。
 また、ダイレクトベクトル選択部46は、ダイレクトモード切替フラグが“2”である場合、類似度算出部45から出力された時間ダイレクトベクトルを入力し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部23に出力する。
 可変長符号化部12は、圧縮部5から圧縮データを受け、動き補償予測部11から符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)を受けると、その圧縮データ、符号化モード情報及びダイレクトモード切替フラグをエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する。
 次に、図18の画像復号装置の処理内容を説明する。
 ただし、動き補償予測部59及び可変長復号部58以外は、図5の画像復号装置と同様であるため、動き補償予測部59及び可変長復号部58の処理内容についてのみ説明する。
 可変長復号部58は、図15の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ、符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)及びダイレクトモード切替フラグをエントロピー復号して、その圧縮データを予測誤差復号部53に出力し、その符号化モード情報及びダイレクトモード切替フラグを動き補償予測部59に出力する。
 動き補償予測部59は、可変長復号部58から参照画像の識別番号を受けると、フレームメモリ57に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
 また、動き補償予測部59は、可変長復号部58からマクロブロックタイプ/サブマクロブロックタイプを受けると、そのマクロブロックタイプ/サブマクロブロックタイプを参照して、図15の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する。
 動き補償予測部59は、図15の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部58から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 また、動き補償予測部59は、図15の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部58から出力されたダイレクトモード切替フラグが“0”であれば、図15の画像符号化装置における動き補償予測部11と同様に、空間ダイレクトベクトルと時間ダイレクトベクトルを生成して、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を選択し、その選択したダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 動き補償予測部59は、図15の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部58から出力されたダイレクトモード切替フラグが“1”であれば、空間ダイレクトベクトルを生成し、その空間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 また、動き補償予測部59は、図15の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、可変長復号部58から出力されたダイレクトモード切替フラグが“2”であれば、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと識別番号が示す参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 以下、動き補償予測部59の処理内容を具体的に説明する。
 動き補償予測部59のダイレクトベクトル生成部61は、可変長復号部58から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、上記実施の形態1と同様に、復号対象のマクロブロック毎に、空間ダイレクトモードの空間ダイレクトベクトルと時間ダイレクトモードの時間ダイレクトベクトルを生成し、その空間ダイレクトベクトル又は時間ダイレクトベクトルのいずれか一方を動きベクトルとして動き補償処理部62に出力する。
 即ち、ダイレクトベクトル生成部61の空間ダイレクトベクトル生成部71は、上記実施の形態1と同様に、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを読み出し、その動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成する。
 ダイレクトベクトル生成部61の時間ダイレクトベクトル生成部72は、上記実施の形態1と同様に、動きベクトルメモリ51により格納されている復号済みマクロブロックの動きベクトルの中から、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルであって、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックの動きベクトルを読み出し、その動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。
 ダイレクトベクトル生成部61のダイレクトベクトル判定部74は、可変長復号部58から出力されたダイレクトモード切替フラグが“0”である場合、空間ダイレクトベクトル生成部71が空間ダイレクトベクトルを生成すると、その空間ダイレクトベクトルを用いて、空間ダイレクトモードの評価値を算出し、また、時間ダイレクトベクトル生成部72が時間ダイレクトベクトルを生成すると、その時間ダイレクトベクトルを用いて、時間ダイレクトモードの評価値を算出する。
 そして、ダイレクトベクトル判定部74は、図7のダイレクトベクトル判定部73と同様に、その空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、その空間ダイレクトベクトル又は時間ダイレクトベクトルを選択し、その選択したダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 ダイレクトベクトル判定部74は、ダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 また、ダイレクトベクトル判定部74は、ダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 以下、ダイレクトベクトル判定部74の処理内容を具体的に説明する。
 ダイレクトベクトル判定部74の動き補償部84は、可変長復号部58から出力されたダイレクトモード切替フラグが“0”である場合、図8の動き補償部81と同様に、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを用いて、空間ダイレクトモードの前方予測画像と後方予測画像を生成するとともに、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを用いて、時間ダイレクトモードの前方予測画像と後方予測画像を生成する。
 また、動き補償部84は、ダイレクトモード切替フラグが“1”である場合、空間ダイレクトベクトル生成部71により生成された空間ダイレクトベクトルを類似度算出部85に出力し、そのダイレクトモード切替フラグが“2”である場合、時間ダイレクトベクトル生成部72により生成された時間ダイレクトベクトルを類似度算出部85に出力する。
 類似度算出部85は、ダイレクトモード切替フラグが“0”である場合、図8の類似度算出部82と同様に、空間ダイレクトモードの評価値として、空間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出するとともに、時間ダイレクトモードの評価値として、時間ダイレクトモードの前方予測画像と後方予測画像の類似度を算出する。
 また、類似度算出部85は、ダイレクトモード切替フラグが“1”である場合、動き補償部84から出力された空間ダイレクトベクトルをダイレクトベクトル選択部86に出力し、ダイレクトモード切替フラグが“2”である場合、動き補償部84から出力された時間ダイレクトベクトルをダイレクトベクトル選択部86に出力する。
 ダイレクトベクトル選択部86は、ダイレクトモード切替フラグが“0”である場合、図8のダイレクトベクトル選択部83と同様に、類似度算出部85により算出された空間ダイレクトモードにおける前方予測画像と後方予測画像の類似度と、時間ダイレクトモードにおける前方予測画像と後方予測画像の類似度とを比較し、空間ダイレクトベクトル又は時間ダイレクトベクトルのうち、前方予測画像と後方予測画像の類似度が高い方のダイレクトモードのダイレクトベクトルを選択し、そのダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 また、ダイレクトベクトル選択部86は、ダイレクトモード切替フラグが“1”である場合、類似度算出部85から出力された空間ダイレクトベクトルを選択し、その空間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力し、ダイレクトモード切替フラグが“2”である場合、類似度算出部85から出力された時間ダイレクトベクトルを選択し、その時間ダイレクトベクトルを動きベクトルとして動き補償処理部62に出力する。
 以上で明らかなように、この実施の形態3によれば、スライスヘッダに含まれているダイレクトモード切替フラグである“direct_spatial_mv_pred_flag”が無意(例えば、“0”)である場合に限り、上記実施の形態1と同様な予測画像生成処理を実施し、そのダイレクトモード切替フラグが有意(例えば、“1”又は“2”)である場合、そのダイレクトモード切替フラグが指示するダイレクトモードのダイレクトベクトルを選択する(例えば、フラグ=1の場合、空間ダイレクトモードの空間ダイレクトベクトルを選択し、フラグ=2の場合、時間ダイレクトモードの時間ダイレクトベクトルを選択する)ように構成したので、単位時間当たりに行える演算量や使用可能なメモリ量に応じて適切なモードを選択できる効果を奏する。
 また、画像符号化装置及び画像復号装置における処理の揺らぎを吸収して、適切な処理量で符号化や復号を行うことが可能になる。
 この発明は、不必要な動きベクトルの符号化を避けて、符号量の増加を防止する必要がある画像符号化装置及び画像符号化方法に適している。
 また、この発明は、上記のような画像符号化装置により生成された符号化データを復号する必要がある画像復号装置及び画像復号方法に適している。
 1 動きベクトルメモリ、2,11 動き補償予測部 減算器(量子化手段)、4 符号化モード判定部(量子化手段)、5 圧縮部(量子化手段)、6 局部復号部、7 加算器、8 ループフィルタ、9 フレームメモリ、10,12 可変長符号化部(可変長符号化手段)、21 動きベクトル探索部、22 ダイレクトベクトル生成部、23 動き補償処理部(予測画像生成手段)、31 空間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、32 時間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、33,34 ダイレクトベクトル判定部、41,44 動き補償部(評価値算出手段)、42,45 類似度算出部(評価値算出手段)、43,46 ダイレクトベクトル選択部(ダイレクトベクトル選択手段)、51 動きベクトルメモリ、52,58 可変長復号部(可変長復号手段)、53 予測誤差復号部(逆量子化手段)、54,59 動き補償予測部、55 加算器(画像加算手段)、56 ループフィルタ(画像加算手段)、57 フレームメモリ、61 ダイレクトベクトル生成部、62 動き補償処理部(予測画像生成手段)、71 空間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、72 時間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、73,74 ダイレクトベクトル判定部、81,84 動き補償部(評価値算出手段)、82,85 類似度算出部(評価値算出手段)、83,86 ダイレクトベクトル選択部(ダイレクトベクトル選択手段)。

Claims (10)

  1.  入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化手段と、上記量子化手段から出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化手段とを備えた画像符号化装置。
  2.  評価値算出手段は、空間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする請求項1記載の画像符号化装置。
  3.  評価値算出手段は、空間ダイレクトモードの評価値として、符号化対象のブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出する一方、時間ダイレクトモードの評価値として、符号化対象のブロックの時間的に近傍にある符号化済みピクチャにおいて、符号化対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している符号化済みブロックの動きベクトルの分散値を算出することを特徴とする請求項1記載の画像符号化装置。
  4.  ダイレクトベクトル選択手段は、選択対象のダイレクトモードを示すダイレクトモード切替フラグを入力すると、評価値算出手段により算出された評価値の比較結果に拘らず、上記ダイレクトモード切替フラグが示すダイレクトモードのダイレクトベクトルを選択し、
     可変長符号化手段は、上記ダイレクトモード切替フラグと量子化手段から出力された量子化係数を可変長符号化して、上記ダイレクトモード切替フラグ及び上記量子化係数の符号化データを出力することを特徴とする請求項1記載の画像符号化装置。
  5.  符号化データから量子化係数を復号する可変長復号手段と、上記可変長復号手段により復号された量子化係数を逆量子化する逆量子化手段と、復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、上記ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出手段と、上記評価値算出手段により算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択手段と、上記ダイレクトベクトル選択手段により選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記逆量子化手段の逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算手段とを備えた画像復号装置。
  6.  評価値算出手段は、空間ダイレクトモードの評価値として、ダイレクトベクトル生成手段により生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出する一方、時間ダイレクトモードの評価値として、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの前方予測画像と後方予測画像を生成して、上記前方予測画像と上記後方予測画像の類似度を算出することを特徴とする請求項5記載の画像復号装置。
  7.  評価値算出手段は、空間ダイレクトモードの評価値として、復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出する一方、時間ダイレクトモードの評価値として、復号対象のブロックの時間的に近傍にある復号済みピクチャにおいて、復号対象のブロックと空間的に同じ位置にあるブロックの周囲に位置している復号済みブロックの動きベクトルの分散値を算出することを特徴とする請求項5記載の画像復号装置。
  8.  可変長復号手段は、符号化データから量子化係数及びダイレクトモード切替フラグを復号し、
     ダイレクトベクトル選択手段は、評価値算出手段により算出された評価値の比較結果に拘らず、上記可変長復号手段により復号されたダイレクトモード切替フラグが示すダイレクトモードのダイレクトベクトルを選択することを特徴とする請求項5記載の画像復号装置。
  9.  ダイレクトベクトル生成手段が入力画像を構成しているブロック毎に、当該ブロックの周囲に位置している符号化済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、量子化手段が上記予測画像生成処理ステップで生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化処理ステップと、可変長符号化手段が上記量子化処理ステップで出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化処理ステップとを備えた画像符号化方法。
  10.  可変長復号手段が符号化データから量子化係数を復号する可変長復号処理ステップと、逆量子化手段が上記可変長復号処理ステップで復号された量子化係数を逆量子化する逆量子化処理ステップと、ダイレクトベクトル生成手段が復号対象のブロックの周囲に位置している復号済みブロックの動きベクトルから空間ダイレクトモードの空間ダイレクトベクトルを生成するとともに、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、評価値算出手段が上記ダイレクトベクトル生成処理ステップで生成された空間ダイレクトベクトルを用いて、上記空間ダイレクトモードの評価値を算出するとともに、上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、上記時間ダイレクトモードの評価値を算出する評価値算出処理ステップと、ダイレクトベクトル選択手段が上記評価値算出処理ステップで算出された空間ダイレクトモードの評価値と時間ダイレクトモードの評価値を比較して、上記空間ダイレクトベクトル又は上記時間ダイレクトベクトルのいずれか一方を選択するダイレクトベクトル選択処理ステップと、予測画像生成手段が上記ダイレクトベクトル選択処理ステップで選択されたダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、画像加算手段が上記予測画像生成処理ステップで生成された予測画像と上記逆量子化処理ステップにおける逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算処理ステップとを備えた画像復号方法。
PCT/JP2011/000419 2010-02-12 2011-01-26 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 WO2011099242A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011553735A JP5442039B2 (ja) 2010-02-12 2011-01-26 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
TW100104246A TW201143455A (en) 2010-02-12 2011-02-09 Image encoding device, image decoding device, image encoding method, image decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010029080 2010-02-12
JP2010-029080 2010-02-12

Publications (1)

Publication Number Publication Date
WO2011099242A1 true WO2011099242A1 (ja) 2011-08-18

Family

ID=44367531

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/000419 WO2011099242A1 (ja) 2010-02-12 2011-01-26 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Country Status (3)

Country Link
JP (1) JP5442039B2 (ja)
TW (1) TW201143455A (ja)
WO (1) WO2011099242A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042719A1 (ja) * 2010-09-30 2012-04-05 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014183544A (ja) * 2013-03-21 2014-09-29 Fujitsu Ltd 画像処理装置、及び画像処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004165703A (ja) * 2002-09-20 2004-06-10 Toshiba Corp 動画像符号化方法及び復号化方法
JP2007097063A (ja) * 2005-09-30 2007-04-12 Fujitsu Ltd 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
JP2007221202A (ja) * 2006-02-14 2007-08-30 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム
JP2007251497A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP2010028221A (ja) * 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
WO2010095559A1 (ja) * 2009-02-20 2010-08-26 ソニー株式会社 画像処理装置および方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004165703A (ja) * 2002-09-20 2004-06-10 Toshiba Corp 動画像符号化方法及び復号化方法
JP2007097063A (ja) * 2005-09-30 2007-04-12 Fujitsu Ltd 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
JP2007221202A (ja) * 2006-02-14 2007-08-30 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム
JP2007251497A (ja) * 2006-03-15 2007-09-27 Fujitsu Ltd 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP2010028221A (ja) * 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
WO2010095559A1 (ja) * 2009-02-20 2010-08-26 ソニー株式会社 画像処理装置および方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEXIS MICHAEL TOURAPIS ET AL.: "Direct Mode Coding for Bipredictive Slices in the H.264 Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 15, no. 1, January 2005 (2005-01-01), pages 119 - 126 *
SAKAE OKUBO: "H.264/AVC Kyokasho", KABUSHIKI KAISHA IMPRESS R&D, 1 January 2009 (2009-01-01), pages 330 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042719A1 (ja) * 2010-09-30 2012-04-05 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9369730B2 (en) 2010-09-30 2016-06-14 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9894375B2 (en) 2010-09-30 2018-02-13 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9894376B2 (en) 2010-09-30 2018-02-13 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9900611B2 (en) 2010-09-30 2018-02-20 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9900612B2 (en) 2010-09-30 2018-02-20 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
JP2014183544A (ja) * 2013-03-21 2014-09-29 Fujitsu Ltd 画像処理装置、及び画像処理方法

Also Published As

Publication number Publication date
JPWO2011099242A1 (ja) 2013-06-13
TW201143455A (en) 2011-12-01
JP5442039B2 (ja) 2014-03-12

Similar Documents

Publication Publication Date Title
US9148668B2 (en) Coding of motion vector information
KR100856411B1 (ko) 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
US7426308B2 (en) Intraframe and interframe interlace coding and decoding
TW202005392A (zh) 用於視訊編解碼系統中的子塊運動補償的視訊處理方法和裝置
KR101420957B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
US8144776B2 (en) Direct mode video coding using variable selection criterion
US20140146876A1 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, and moving picture decoding apparatus
KR20110008653A (ko) 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
EP3682636B1 (en) Memory access window and padding for motion vector refinement
WO2011061880A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2004336369A (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
EP1982530A2 (en) Method and apparatus for reusing available motion information as a motion estimation predictor for videoencoding
KR101388902B1 (ko) 모션 추정을 위한 기법들
US9088797B2 (en) Video processing method and apparatus with residue prediction
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
US8699576B2 (en) Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoding, and decoding method
JP3866624B2 (ja) 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置
JP2011010197A (ja) 画像符号化装置及び画像復号装置
WO2011099242A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP4624308B2 (ja) 動画像復号装置及び動画像復号方法
WO2011099241A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR100774297B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR100774298B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR100774300B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR100774299B1 (ko) 움직임 벡터 복호화 방법 및 그 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11741993

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011553735

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11741993

Country of ref document: EP

Kind code of ref document: A1