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

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

Info

Publication number
WO2011099241A1
WO2011099241A1 PCT/JP2011/000418 JP2011000418W WO2011099241A1 WO 2011099241 A1 WO2011099241 A1 WO 2011099241A1 JP 2011000418 W JP2011000418 W JP 2011000418W WO 2011099241 A1 WO2011099241 A1 WO 2011099241A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
block
temporal direct
direct vector
vector
Prior art date
Application number
PCT/JP2011/000418
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 TW100104089A priority Critical patent/TW201143452A/zh
Publication of WO2011099241A1 publication Critical patent/WO2011099241A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to 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.
  • luminance signal 16 x 16 pixels and color difference signal 8 x corresponding to the luminance signal 16 x 16 pixels are grouped as one unit.
  • macroblock block data
  • detection of a motion vector and generation of a predicted image are performed in units of macroblocks with reference to a forward or backward picture.
  • P picture one that performs inter-picture prediction encoding with reference to only one picture
  • B picture one that performs inter-picture prediction encoding with reference to two pictures simultaneously.
  • AVC / H. H.264 (ISO / IEC 14496-10
  • a predetermined calculation process to be used can select a coding mode for generating a motion vector of a macro block to be coded.
  • 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.
  • FIG. 12 is a schematic view showing a method of generating a motion vector in the temporal direct mode.
  • P represents a P picture
  • B represents a B picture.
  • Numerals 0-3 indicate the display order of pictures, and indicate that they are display images of time T0, T1, T2 and T3. It is assumed that the picture encoding process is performed in the order of P0, P3, B1, and B2.
  • the macroblock MB1 in the picture B2 is encoded in the temporal direct mode.
  • the motion 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 (1).
  • the macroblock MB2 in the picture P3 is divided into two or more rectangular blocks, as shown in FIG. 13, use the motion vector of the rectangular block including the upper left pixel of the macroblock MB2 as the motion vector MV.
  • MPEG-4 AVC ISO / IEC 14496-10
  • the motion vector of the rectangular block including the upper left pixel of the macroblock MB2 is always used as the motion vector MV. Therefore, when the macroblock MB2 in the picture P3 is divided into two or more rectangular blocks, the motion vector MV to be used necessarily indicates the motion at the same pixel position as the macroblock MB1 to be encoded. However, there is a problem that the accuracy of the temporal direct vector is lowered to deteriorate the coding efficiency.
  • the present invention has been made to solve the above problems, and an image coding apparatus and an image capable of generating a temporal direct vector close to the motion of a macro block to be coded to improve coding efficiency.
  • the purpose is to obtain a coding method.
  • the present invention has an object of obtaining an image decoding apparatus and an image decoding method capable of decoding a coded stream with high coding efficiency by generating a temporal direct vector by the same means as the coding apparatus. Do.
  • the direct vector generation unit generates the block to be coded and the block to be coded from among the blocks constituting the coded picture that is temporally close to the block to be coded.
  • the block located at the same position is identified, and the temporal direct mode temporal direct vector is generated from the motion vectors of the plurality of divided areas located at the center of the block.
  • the direct vector generation means is located at the same spatial position as the block to be encoded among the blocks constituting the encoded picture that is temporally close to the block to be encoded. Since a certain block is specified and the temporal direct vector of temporal direct mode is generated from the motion vectors of a plurality of divided areas located at the center of the block, temporal direct close to the motion of the block to be encoded It becomes possible to generate a temporal direct vector of a mode, and as a result, it is possible to increase the coding efficiency of the block to be coded.
  • FIG. 18 is an explanatory drawing showing a motion vector MV used when a macroblock MB2 in a picture P3 is divided into two or more rectangular blocks.
  • Embodiment 1 In the first embodiment, an image coding apparatus that performs coding closed in a frame in units of equally dividing a video frame forming an input image into rectangular regions (macro blocks) of 16 ⁇ 16 pixels, and An image decoding apparatus compatible with the image coding apparatus will be described. Also, in the first embodiment, the image encoding device and the image decoding device are AVC / H. An example using the coding method adopted in the H.264 standard will be described. However, in the first embodiment, when the image coding apparatus and the image decoding apparatus use the direct mode, the temporal direct mode is used, but the spatial direct mode is used as needed. It is also good.
  • FIG. 1 is a block diagram showing an image coding apparatus according to a first embodiment of the present invention.
  • the motion compensation prediction unit 1 selects a reference image of one frame from among the reference images for motion compensation prediction stored in the frame memory 8 for one or more frames, and constitutes a macro block constituting an input image.
  • Motion compensation prediction processing is executed in units of (or sub-macroblocks obtained by dividing a macro-block) to generate motion vectors of the macroblocks (macroblocks to be encoded) to generate predicted images, respectively.
  • a process of outputting the identification number of the reference image selected for each block, the motion vector, the predicted image, etc. is performed. 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 motion compensation prediction unit 1 stores the motion vector memory 11 (see FIG. 2) storing the motion vector of the macro block (or the sub macro block obtained by dividing the macro block) constituting the coded picture.
  • the motion vector memory 11 for each macro block constituting the input image, the macro among the macro blocks constituting an encoded picture that is temporally close to the macro block, the macro A macroblock located at the same position as that of the block is identified, and motion vectors (motion vectors stored in the motion vector memory 11) of, for example, four blocks (division areas) located at the center of the macroblock Generate a time direct vector in time direct mode from and use that time direct vector By carrying out the motion compensation prediction processing, and carries out a process of generating the predicted image.
  • the subtractor 2 calculates a difference image between the predicted image generated by the motion compensation prediction unit 1 and the input image, and outputs a predicted difference signal indicating the difference image to the coding mode determination unit 3.
  • the coding mode determination unit 3 evaluates the prediction efficiency of the prediction difference signal output from the subtractor 2, and among the at least one prediction difference signal output from the subtractor 2, 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 1 to generate a prediction image related to the prediction differential signal
  • the compression unit 4 performs DCT (Discrete Cosine Transform) processing on the prediction difference signal output from the coding mode determination unit 3 to calculate a DCT coefficient, and quantizes the DCT coefficient to obtain a DCT after quantization.
  • DCT Discrete Cosine Transform
  • a process of outputting compressed data (quantization coefficient) which is a coefficient to the local decoding unit 5 and the variable length coding unit 9 is performed.
  • the subtractor 2, the encoding mode determination unit 3 and the compression unit 4 constitute a quantizing unit.
  • the local decoding unit 5 inversely quantizes the compressed data output from the compression unit 4 to obtain a DCT coefficient, and performs an inverse DCT (inverse discrete cosine transform) process on the DCT coefficient to obtain the coding mode determination unit 3. A process of calculating a prediction error signal corresponding to the output prediction difference signal is performed.
  • the adder 6 adds the prediction error signal calculated by the local decoding unit 5 and the prediction signal indicating the prediction image generated by the motion compensation prediction unit 1 to generate a local decoded image signal indicating a local decoded image. Conduct.
  • the loop filter 7 compensates for the coding distortion included in the local decoded image signal output from the adder 6, and the frame memory 8 uses the local decoded image indicated by the local decoded image signal after the coding distortion compensation as a reference image. Implement the process to output.
  • the frame memory 8 is a recording medium such as a RAM that stores the reference image output from the loop filter 7.
  • the variable-length coding unit 9 calculates the compressed data output from the compression unit 4 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 1. 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 9 constitutes a variable length coding means.
  • the motion vector information may be encoded as it is. As in H.264 / AVC, a motion vector of a coded macroblock may be used to generate a prediction vector, and a difference between the prediction vector and the motion vector may be encoded.
  • FIG. 11 In the case of predicting a motion vector of a non-rectangular block, for example, a method as shown in FIG. 11 can be considered.
  • the arrows represent peripheral motion vectors used to derive a prediction vector.
  • the prediction vector of the divided area indicated by the three motion vectors enclosed by ⁇ is obtained by the median (central value) of the three motion vectors enclosed by ⁇ .
  • FIG. 2 is a block diagram showing a motion compensation prediction unit 1 of the image coding apparatus in accordance with Embodiment 1 of the present invention.
  • a motion vector memory 11 is a recording medium such as a RAM that stores motion vectors of macroblocks (or sub-macroblocks obtained by dividing the macroblocks) constituting a coded picture.
  • the motion vector search unit 12 Upon receiving information indicating that the coding mode is the inter mode (for example, receiving information indicating that the inter mode is to be used from the outside), the motion vector search unit 12 searches for an optimal motion vector in the inter mode, A process of outputting the motion vector to the motion compensation processing unit 14 and the motion vector memory 11 is performed.
  • the temporal direct vector generation unit 13 When the temporal direct vector generation unit 13 receives the information indicating that the encoding mode is the temporal direct mode, the temporal direct vector generation unit 13 forms, for each macro block to be encoded, an encoded picture temporally adjacent to the macro block.
  • the macro blocks the macro block located at the same spatial position as the macro block is specified, and motion vectors (motion vectors) of, for example, four blocks (division areas) located at the center of the macro block
  • a temporal direct vector in the temporal direct mode is generated from the motion vector (stored in the memory 11), and the temporal direct vector is generated as a motion vector and output to the motion compensation processing unit 14 and the motion vector memory 11.
  • the temporal direct vector generation unit 13 constitutes a direct vector generation means.
  • the motion compensation processing unit 14 performs motion compensation prediction processing using the motion vector output from the motion vector search unit 12 or the temporal direct vector generation unit 13 and the reference image of one frame stored in the frame memory 8. Then, a process of generating a predicted image is performed.
  • the motion compensation processing unit 14 constructs a prediction image generation unit.
  • FIG. 3 is a block diagram showing an image decoding apparatus according to Embodiment 1 of the present invention.
  • the variable-length decoding unit 21 receives a bit stream (coded data) output from the image coding apparatus shown in FIG. 1, and generates compressed data (quantization coefficient) and coding mode information (macro) from the bit stream. It entropy-decodes block type / sub-macroblock type, motion vector, identification number of reference image), outputs the compressed data to prediction error decoding unit 22, and outputs the coding mode information to motion compensation prediction unit 23. Perform the process.
  • the variable length decoding unit 21 constructs a variable length decoding means.
  • the prediction error decoding unit 22 inversely quantizes the compressed data output from the variable length decoding unit 21 to obtain a DCT coefficient, and performs an inverse DCT process on the DCT coefficient to obtain a prediction error signal (FIG. A process of calculating a prediction error signal corresponding to the prediction difference signal output from the coding mode determination unit 3 is performed.
  • the prediction error decoding unit 22 constructs an inverse quantization unit.
  • the motion compensation prediction unit 23 reads the reference image indicated by the identification number output from the variable length decoding unit 21 from the reference images of one or more frames stored in the frame memory 26, and outputs the reference image from the variable length decoding unit 21.
  • motion compensation prediction processing is performed using the motion vector output from the variable length decoding unit 21 and the reference image. Process to generate a predicted image.
  • the motion compensation / prediction unit 1 in the image coding apparatus of FIG. the motion compensation / prediction unit 1 in the image coding apparatus of FIG. Then, a temporal direct vector is generated, and a motion compensated prediction process is performed using the temporal direct vector and the reference image, thereby performing a process of generating a predicted image.
  • the adder 24 adds the prediction image generated by the motion compensation prediction unit 23 and the difference image indicated by the prediction error signal output from the prediction error decoding unit 22, and outputs the result from the adder 6 of the image coding apparatus of FIG.
  • a process of generating a decoded image signal indicating a decoded image corresponding to the selected local decoded image is performed.
  • the loop filter 25 compensates for the coding distortion included in the decoded image signal generated by the adder 24 and stores the decoded image indicated by the decoded image signal after the coding distortion compensation in the frame memory 26 as a reference image. , And output the decoded image to the outside.
  • the adder 24 and the loop filter 25 constitute an image adding means.
  • the frame memory 26 is a recording medium such as a RAM that stores the reference image output from the loop filter 25.
  • FIG. 4 is a block diagram showing the motion compensation prediction unit 23 of the image decoding apparatus according to the first embodiment of the present invention.
  • a motion vector memory 31 is a recording medium, such as a RAM, which stores motion vectors of macroblocks (or sub-macroblocks obtained by dividing the macroblocks) constituting a decoded picture.
  • the temporal direct vector generation unit 32 When the temporal direct vector generation unit 32 indicates that the macro block type / sub macro block type output from the variable length decoding unit 21 uses the direct mode, the corresponding macro block is generated for each macro block to be decoded.
  • the macroblock located at the same spatial position as the macroblock is identified, and the macroblock located at the center of the macroblock, for example, 4
  • a temporal direct vector in temporal direct mode is generated from motion vectors (motion vectors stored in the motion vector memory 31) of the blocks (divided regions), and the temporal direct vector is used as a motion vector, and the motion compensation processing unit 33 and A process of outputting to the motion vector memory 31 is performed.
  • the time direct vector generation unit 32 constructs a direct vector generation unit.
  • the motion compensation processing unit 33 reads the reference image indicated by the identification number output from the variable length decoding unit 21 from the reference images of one or more frames stored in the frame memory 26, and the macro block type / sub macro block type Indicates that the inter mode is being used, the motion compensated prediction process is performed using the motion vector output from the variable length decoding unit 21 and the reference image to generate a predicted image, and When the block type / sub-macroblock type indicates that the direct mode is used, motion compensation prediction processing is performed using the motion vector output from the temporal direct vector generation unit 32 and the reference image. The process of generating a predicted image is performed.
  • the motion compensation processing unit 33 constructs a prediction image generation unit.
  • a motion compensation prediction unit 1 a subtractor 2, a coding mode determination unit 3, a compression unit 4, a local decoding unit 5, an adder 6, a loop filter 7 and a variable length code, which are components of the image coding apparatus.
  • each of the encoding units 9 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.
  • FIG. 5 is a flow chart showing the contents of processing of the image coding apparatus in accordance with Embodiment 1 of the present invention.
  • each of the variable-length decoding unit 21, the prediction error decoding unit 22, the motion compensation prediction unit 23, the adder 24 and the loop filter 25 which are components of the image decoding apparatus has dedicated hardware (for example, a CPU is mounted
  • the variable length decoding unit 21, the prediction error decoding unit 22, A program describing the processing contents of the motion compensation prediction unit 23, the adder 24, and the loop filter 25 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. 6 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 1 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 1 divides a 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 8.
  • the motion vector of the macro block (or sub macro block) to be encoded by selecting the reference image of and performing motion compensation prediction processing for each color component in macro block units (or sub macro block units). To generate a predicted image.
  • the motion compensation prediction unit 1 When the motion compensation prediction unit 1 generates a motion vector of a macro block (or a sub macro block) to be encoded and generates a prediction image, the motion compensation prediction unit 1 outputs the prediction image to the subtractor 2 and generates the prediction image 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 is included) and the identification number of the reference image are output to the encoding mode determination unit 3.
  • the processing content of the motion compensation prediction unit 1 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 motion vector search unit 12 of the motion compensation prediction unit 1 receives information indicating that the coding mode is the inter mode (for example, receiving information indicating that the inter mode is to be used from the outside) (step of FIG. 5) ST1)
  • An optimal motion vector is searched in the inter mode, and the motion vector is output to the motion compensation processing unit 14 (step ST2). Since the process itself for searching for the optimal motion vector in the inter mode is a known technique, detailed description will be omitted.
  • the temporal direct vector generation unit 13 of the motion compensation prediction unit 1 receives information indicating that the coding mode is the direct mode (step ST1)
  • the temporally corresponding vector of the macro block to be encoded is temporally Among the macroblocks constituting the encoded picture in the vicinity, the macroblock located at the same position as the macroblock in question is specified (step ST3).
  • the macroblock MB1 of the picture B2 when the macroblock to be encoded is the macroblock MB1 of the picture B2, the macroblocks constituting the encoded picture P3 temporally adjacent to the macroblock MB1.
  • the macroblock MB2 located at the same position as the macroblock MB1 is specified.
  • the temporal direct vector generation unit 13 identifies the macroblock MB2 at the same position as the macroblock MB1 to be encoded, as shown in FIG. 7, the encoded vector stored in the motion vector memory 11 has already been encoded.
  • the motion vector of the upper left rectangular block is MV 1
  • the motion vector of the lower right rectangular block is MV 4
  • numbers are assigned in raster scan order.
  • the time direct vector generation unit 13 When generating the time direct vector MV direct in the time direct mode, the time direct vector generation unit 13 outputs the time direct vector MV direct as a motion vector to the motion compensation processing unit 14 and the motion vector memory 11.
  • the motion compensation processing unit 14 of the motion compensation prediction unit 1 receives a motion vector from the motion vector search unit 12 when the coding mode is the inter mode, the motion compensation processing unit 14 of the motion vector and the one frame stored in the frame memory 8 By performing motion compensation prediction processing using the reference image, a predicted image is generated (step ST6).
  • the encoding mode is the direct mode and the temporal direct vector MV direct is received from the temporal direct vector generation unit 13 as the motion vector
  • the temporal direct vector MV direct and reference of one frame stored in the frame memory 8 By performing motion compensation prediction processing using an image, a predicted image is generated (step ST6).
  • the motion compensation prediction processing of the motion compensation processing unit 14 is a known technique, and thus the detailed description is omitted.
  • the subtractor 2 calculates a difference image between the prediction image and the input image, and outputs a prediction difference signal indicating the difference image to the coding mode determination unit 3 ( Step ST7). Every time the coding mode determination unit 3 receives the prediction difference signal from the subtractor 2, the coding mode determination unit 3 evaluates the prediction efficiency of the prediction difference signal, and among the at least one prediction difference signal output from the subtractor 2, The prediction differential signal with the highest prediction efficiency is selected. Since the process itself for evaluating the prediction efficiency of the prediction difference signal in the coding mode determination unit 3 is a known technique, the detailed description will be omitted.
  • the motion compensation prediction unit 1 selects the motion vector used to generate the prediction image related to the prediction difference signal, and the macroblock type / sub Coding mode information including a macroblock type (for example, including information indicating whether a coding mode used in the macroblock is an inter mode or a direct mode) and an identification number of a reference image It is output to the variable length coding unit 9. Further, the coding mode determination unit 3 outputs the prediction difference signal with the highest prediction efficiency to the compression unit 4. However, if the coding mode is the inter mode, the coding mode determination unit 3 includes the motion vector used to generate the predicted image in the coding mode information, and coding mode information including the motion vector.
  • variable-length coding unit 9 Is output to the variable-length coding unit 9, 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 9.
  • compression unit 4 When compression unit 4 receives the prediction difference signal from coding mode determination unit 3, compression unit 4 performs DCT processing on the prediction difference signal to calculate DCT coefficients and quantizes the DCT coefficients (step ST8). .
  • the compression unit 4 outputs compressed data, which are DCT coefficients after quantization, to the local decoding unit 5 and the variable length coding unit 9.
  • the local decoding unit 5 When the local decoding unit 5 receives the compressed data from the compression unit 4, the local decoding unit 5 inversely quantizes the compressed data to obtain DCT coefficients, and performs inverse DCT processing on the DCT coefficients to output from the coding mode determination unit 3. A prediction error signal corresponding to the predicted difference signal thus calculated is calculated.
  • the adder 6 adds the prediction error signal to the prediction signal indicating the prediction image generated by the motion compensation prediction unit 1 to thereby perform local decoding indicating the local decoded image. Generate an image signal.
  • the loop filter 7 compensates for the encoding distortion included in the local decoded image signal output from the adder 6 in order to prepare for the next encoding process, and indicates the local indicated by the local decoded image signal after the encoding distortion compensation.
  • the decoded image is stored in the frame memory 8 as a reference image.
  • variable-length coding unit 9 When the variable-length coding unit 9 receives the compressed data from the compression unit 4, the variable-length coding unit 9 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 encoded to generate a bit stream indicating the encoding result, and the bit stream is output (step ST9).
  • 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 encoded to generate a bit stream indicating the encoding result, and the bit stream is output (step ST9).
  • variable-length decoding unit 21 receives a bit stream output from the image coding apparatus shown in FIG. 1, the variable-length decoding unit 21 extracts 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 22, and the coding mode information is output to the motion compensation prediction unit 23 (FIG. 6) Step ST11).
  • 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 22
  • the coding mode information is output to the motion compensation prediction unit 23 (FIG. 6) Step ST11).
  • the prediction error decoding unit 22 When the prediction error decoding unit 22 receives the compressed data from the variable length decoding unit 21, the prediction error decoding unit 22 inversely quantizes the compressed data to obtain DCT coefficients, and performs inverse DCT processing on the DCT coefficients to perform prediction indicating a difference image.
  • An error signal (a prediction error signal corresponding to the prediction difference signal output from the coding mode determination unit 3 of FIG. 1) is calculated (step ST12).
  • the motion compensation prediction unit 23 When the motion compensation prediction unit 23 receives the identification number of the reference image from the variable length decoding unit 21, the motion compensation prediction unit 23 reads out the reference image indicated by the identification number from among the reference images of one or more frames stored in the frame memory 26. Do. In addition, when the motion compensation prediction unit 23 receives the macroblock type / sub-macroblock type from the variable-length decoding unit 21, the image encoding device in FIG. 1 performs coding with reference to the macroblock type / sub-macroblock type. It is determined whether the inter mode or the direct mode is used as the conversion mode (step ST13).
  • the motion compensation prediction unit 23 performs motion compensation using the motion vector output from the variable length decoding unit 21 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.
  • a temporal direct vector is generated in the same manner as the motion compensation prediction unit 1 in the image coding apparatus of FIG.
  • By performing motion compensation prediction processing using the temporal direct vector a predicted image is generated.
  • the processing contents of the motion compensation prediction unit 23 will be specifically described below.
  • the macro to be decoded is Among the macroblocks constituting the decoded picture temporally adjacent to the macroblock, for each block, the macroblock at the same spatial position as the macroblock is specified (step ST14). For example, as shown in FIG. 12, when the macroblock to be decoded is the macroblock MB1 of the picture B2, among the macroblocks constituting the decoded picture P3 temporally adjacent to the macroblock MB1. , And the macroblock MB2 located at the same position as the macroblock MB1.
  • a temporal direct vector MV direct in temporal direct mode in the macroblock MB1 to be decoded is generated (step ST16).
  • the time direct vector generation unit 32 When generating the time direct vector MV direct in the time direct mode, the time direct vector generation unit 32 outputs the time direct vector MV direct as a motion vector to the motion compensation processing unit 33 and the motion vector memory 31.
  • the motion compensation processing unit 33 of the motion compensation prediction unit 23 receives the identification number of the reference image from the variable length decoding unit 21, among the reference images of one or more frames stored in the frame memory 26, the identification number Read out the reference image shown.
  • the motion compensation processor 33 indicates that the macro block type / sub macro block type output from the variable length decoding unit 21 uses the inter mode, the motion vector output from the variable length decoding unit 21 The motion compensation prediction process is performed using the reference image and the reference image to generate a prediction image (step ST17).
  • the time direct vector generation unit 32 uses the time direct vector MV direct as a motion vector.
  • a motion compensated prediction process is performed using the temporal direct vector MV direct and the reference image to generate a predicted image (step ST17).
  • the motion compensation prediction processing of the motion compensation processing unit 33 is a known technique, and thus the detailed description will be omitted.
  • the adder 24 adds the prediction image and the difference image indicated by the prediction error signal output from the prediction error decoding unit 22 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 6 is generated (step ST18).
  • the adder 24 generates the decoded image signal
  • the loop filter 25 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 26, the decoded image is output to the outside (step ST19).
  • the temporal direct vector generation unit 13 generates a macroblock among encoded macroblocks that are temporally close to the macroblock to be encoded. , Identify a macroblock located at the same position as the encoding target macroblock and generate a temporal direct vector in temporal direct mode from the motion vectors of four rectangular blocks located at the center of the macroblock Since it is possible to generate a temporal direct vector in temporal direct mode close to the motion vector of the macroblock to be encoded, as a result, the coding efficiency of the macroblock to be encoded is improved. The effect is obtained that an image coding apparatus that can
  • the temporal direct vector generation unit 32 generates a macroblock to be decoded out of macroblocks constituting a decoded picture that is temporally close to the macroblock to be decoded. Since the macro block located at the same position as that of the block is specified and the temporal direct vector of the temporal direct mode is generated from the motion vectors of four rectangular blocks located at the center of the macro block, decoding is performed. It becomes possible to generate a temporal direct vector in temporal direct mode close to the motion vector of the target macroblock, and as a result, a stream encoded by the encoding device with high encoding efficiency of the macroblock to be decoded The effect is obtained that an image decoding apparatus that can perform decoding can be obtained.
  • the generation of the temporal direct vector MV direct in temporal direct mode has been described, the number of blocks located at the center of the macroblock is not limited to four, and three blocks located at the center of the macroblock are shown.
  • the time direct vector MV direct in the time direct mode may be generated from three or less or five or more blocks if the number is less than or five or more.
  • this embodiment 1 has been described as generating a temporal direct vector as a motion vector, this vector may be used as a prediction vector.
  • FIG. 8 is an explanatory view showing a method of generating a temporal direct vector MV direct by weighted addition according to the block size.
  • the temporal direct vector generation units 13 and 32 generate, for each macro block to be coded (decoded), a coded picture (a decoded picture) that is temporally close to the macro block.
  • the macroblock at the same position as that of the macroblock is identified. For example, as shown in FIG.
  • the macroblock MB2 located at the same position as the macroblock MB1 is specified.
  • the motion vector of the upper left block is MV 1
  • the motion vector of the lower right block is MV 4
  • numbers are assigned in raster scan order.
  • the distance d i from the center of the macroblock MB2 to the centers of the four blocks is proportional to the size of the block.
  • the temporal direct vector generation units 13 and 32 acquire the motion vector MV i of four blocks and the distance d i from the center of the macroblock MB2 to the centers of the four blocks, the following equation (3) is obtained.
  • the time direct vector MV direct in the time direct mode is generated by weighting and adding the four motion vectors MV i according to the distance d i to the centers of the four blocks.
  • the temporal direct vector generation units 13 and 32 perform weighted addition of motion vectors MV i of a plurality of divided areas according to the block sizes of the plurality of divided areas.
  • motion vectors MV i of four rectangular blocks located at the center of the macroblock are generated as in the first embodiment. It becomes possible to estimate the motion vector at the center position of the macroblock MB1 to be encoded (decoding target) more accurately than in the case of generating the temporal direct vector MV direct by adding and averaging, and the temporal direct vector MV direct The effect of improving the accuracy of the
  • the temporal direct vector MV direct in the temporal direct mode may be generated by weighting and adding the motion vectors MV i of the plurality of divided areas according to the vectors.
  • FIG. 9 is an explanatory view showing a method of generating a temporal direct vector MV direct by weighted addition in accordance with a differential motion vector.
  • the temporal direct vector generation units 13 and 32 generate, for each macro block to be coded (decoded), a coded picture (a decoded picture) that is temporally close to the macro block.
  • the macroblock at the same position as that of the macroblock is identified. For example, as shown in FIG.
  • the macroblock MB2 located at the same position as the macroblock MB1 is specified.
  • the motion vector of the upper left block is MV 1
  • the motion vector of the lower right block is MV 4
  • the numbers are assigned in the raster scan order.
  • a temporal direct vector MV direct in temporal direct mode is generated by weighting and adding four motion vectors MV i according to the differential motion vector MVd i of the block.
  • the differential motion vector MVd i is "0" shall be given a fixed value A as the weight.
  • the magnitude of the differential motion vector MVd i represents the degree of isolation of the vector, and the larger the magnitude of the differential motion vector MVd i , the higher the possibility that the degree of isolation is greater. in 6), by incorporating the size inverse of the differential motion vector MVd i, it is possible to reduce the weight of the isolated vector.
  • the temporal direct vector generation unit 13 and 32 in accordance with the differential motion vector MVd i of the plurality of divided regions, the motion vector MV i of the plurality of divided regions Since the time direct vector MV direct in the time direct mode is generated by performing weighted addition, the effect of being able to improve the accuracy of the time direct vector MV direct can be achieved as compared with the first embodiment.
  • the motion vectors MV i of the plurality of divided regions are weighted and added according to the block sizes of the plurality of divided regions
  • the differential motion vectors MVd i of the plurality of divided regions are added. in response, has been described which weighted addition of the motion vector MV i of the plurality of divided areas, according to the coding mode of the plurality of divided regions, so as to weighted addition of the motion vector MV i of the plurality of divided regions It is also good.
  • a method of generating a temporal direct vector MV direct by excluding the divided area from the calculation target can be considered.
  • the upper left block (division region) is an intra block (in FIG. 8, although the motion vector MV 1 is described in the upper left block, it is an intra block
  • Generate a direct vector MV direct Since the intra block does not have motion vector information, by excluding the intra block from the calculation target, the temporal direct vector does not unnecessarily become a zero vector, and the accuracy of the temporal direct vector is improved.
  • Embodiment 5 In the first to third embodiments described above, the vector of four blocks is used to generate the temporal direct vector MV direct .
  • the temporal direct vector MV is generated using the motion vectors of all the blocks in a macroblock. You may make it generate direct .
  • FIG. 10 is an explanatory view showing a method of generating a temporal direct vector MV direct using motion vectors of all blocks in a macroblock.
  • the motion vectors of k blocks in the macroblock MB2 located at the same spatial position as the macroblock MB1 to be encoded (decoded) are MV i (0 ⁇ i ⁇ k), and the sizes of k blocks are Assuming that S i (0 ⁇ i ⁇ k), the time direct vector MV direct in the time direct mode is generated by calculating the following equation (7).
  • the present invention is suitable for an image coding apparatus in which high coding efficiency is required when compression coding an image and transmitting a compressed image.
  • motion compensation prediction unit 1 motion compensation prediction unit, 2 subtractor (quantization unit), 3 coding mode determination unit (quantization unit), 4 compression unit (quantization unit), 5 local decoding unit, 6 adder, 7 loop filter, 8 Frame memory 9 Variable length coding unit 11 Variable length coding unit 11 Motion vector memory 12 Motion vector search unit 13 Direct vector generation unit 13 (Direct vector generation unit) 14 Motion compensation processing unit (Predicted image generation Means) 21 variable length decoding unit (variable length decoding unit) 22 prediction error decoding unit (inverse quantization unit) 23 motion compensation prediction unit 24 adder (image addition unit) 5 loop filter (image addition unit) , 26 frame memory, 31 motion vector memory, 32 time direct vector generation unit (direct vector generation means), 33 motion Compensation processing section (prediction image generating means).

Landscapes

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

Abstract

 時間ダイレクトベクトル生成部13が、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成する。

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”を用いることにより、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方を選択することが可能である。
 ここで、図12は時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
 図12において、「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
 ただし、ピクチャP3におけるマクロブロックMB2が2つ以上の矩形ブロックに分割されていた場合、図13に示すように、マクロブロックMB2の左上の画素を含む矩形ブロックの動きベクトルを動きベクトルMVとして用いることが、AVC/H.264で定められている。
MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格
 従来の画像符号化装置は以上のように構成されているので、常にマクロブロックMB2の左上の画素を含む矩形ブロックの動きベクトルを動きベクトルMVとして用いている。このため、ピクチャP3におけるマクロブロックMB2が2つ以上の矩形ブロックに分割されていた場合、使用する動きベクトルMVが、必ずしも符号化対象のマクロブロックMB1と空間的に同じ画素位置の動きを示しているとは限らず、時間ダイレクトベクトルの精度が低下して符号化効率が悪化することがある課題があった。
 この発明は上記のような課題を解決するためになされたもので、符号化対象のマクロブロックの動きに近い時間ダイレクトベクトルを生成して、符号化効率を高めることができる画像符号化装置及び画像符号化方法を得ることを目的とする。
 また、この発明は、符号化装置と同様の手段で時間ダイレクトベクトルを生成することで、符号化効率の高い符号化ストリームを復号することができる画像復号装置及び画像復号方法を得ることを目的とする。
 この発明に係る画像符号化装置は、ダイレクトベクトル生成手段が、符号化対象のブロックの時間的に近傍にある符号化済みピクチャを構成しているブロックの中から、符号化対象のブロックと空間的に同じ位置にあるブロックを特定し、そのブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するようにしたものである。
 この発明によれば、ダイレクトベクトル生成手段が、符号化対象のブロックの時間的に近傍にある符号化済みピクチャを構成しているブロックの中から、符号化対象のブロックと空間的に同じ位置にあるブロックを特定し、そのブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するように構成したので、符号化対象のブロックの動きに近い時間ダイレクトモードの時間ダイレクトベクトルを生成することができるようになり、その結果、符号化対象のブロックの符号化効率を高めることができる効果がある。
この発明の実施の形態1による画像符号化装置を示す構成図である。 この発明の実施の形態1による画像符号化装置の動き補償予測部1を示す構成図である。 この発明の実施の形態1による画像復号装置を示す構成図である。 この発明の実施の形態1による画像復号装置の動き補償予測部23を示す構成図である。 この発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。 時間ダイレクトモードの時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。 ブロックサイズに応じた重み付け加算による時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。 差分動きベクトルに応じた重み付け加算による時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。 マクロブロック内の全てのブロックの動きベクトルを用いて、時間ダイレクトベクトルMVdirectを生成する方法を示す説明図である。 非矩形ブロックの動きベクトルの予測処理を示す説明図である。 時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。 ピクチャP3におけるマクロブロックMB2が2つ以上の矩形ブロックに分割されている場合に使用する動きベクトルMVを示す説明図である。
 以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
 この実施の形態1では、入力画像を構成している映像フレームを16×16画素の矩形領域(マクロブロック)に均等に分割した単位で、フレーム内に閉じた符号化を行う画像符号化装置と、その画像符号化装置に対応している画像復号装置について説明する。
 また、この実施の形態1では、画像符号化装置及び画像復号装置が、AVC/H.264規格で採用されている符号化方式を使用している例を説明する。
 ただし、この実施の形態1では、画像符号化装置及び画像復号装置が、ダイレクトモードを使用する場合、時間ダイレクトモードを使用するものとするが、必要に応じて空間ダイレクトモードを使用するようにしてもよい。
 図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
 図1において、動き補償予測部1はフレームメモリ8に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、入力画像を構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の単位で、動き補償予測処理を実行して、当該マクロブロック(符号化対象のマクロブロック)の動きベクトルを生成して予測画像を生成し、それぞれのブロック毎に選択した参照画像の識別番号、動きベクトル及び予測画像等を出力する処理を実施する。
 ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
 即ち、動き補償予測部1は符号化済みピクチャを構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している動きベクトルメモリ11(図2を参照)を実装しており、時間ダイレクトモードの場合は入力画像を構成しているマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している例えば4個のブロック(分割領域)の動きベクトル(動きベクトルメモリ11に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 減算器2は動き補償予測部1により生成された予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部3に出力する処理を実施する。
 符号化モード判定部3は減算器2から出力された予測差分信号の予測効率を評価して、減算器2から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択し、動き補償予測部1で当該予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード情報として可変長符号化部9に出力し、また、最も予測効率が高い予測差分信号を圧縮部4に出力する処理を実施する。
 圧縮部4は符号化モード判定部3から出力された予測差分信号に対するDCT(離散コサイン変換)処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化して、量子化後のDCT係数である圧縮データ(量子化係数)を局部復号部5及び可変長符号化部9に出力する処理を実施する。
 なお、減算器2、符号化モード判定部3及び圧縮部4から量子化手段が構成されている。
 局部復号部5は圧縮部4から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT(逆離散コサイン変換)処理を実施することで、符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号を算出する処理を実施する。
 加算器6は局部復号部5により算出された予測誤差信号と動き補償予測部1により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
 ループフィルタ7は加算器6から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ8に出力する処理を実施する。
 フレームメモリ8はループフィルタ7から出力された参照画像を格納するRAMなどの記録媒体である。
 可変長符号化部9は圧縮部4から出力された圧縮データ及び動き補償予測部1から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)をエントロピー符号化して、その符号化結果を示すビットストリーム(符号化データ)を生成し、そのビットストリームを出力する処理を実施する。
 なお、可変長符号化部9は可変長符号化手段を構成している。
 ただし、動きベクトル情報については、そのまま符号化してもよいし、例えば、H.264/AVCのように、符号化済みマクロブロックの動きベクトルを用いて予測ベクトルを生成し、その予測ベクトルとの差分を符号化するようにしてもよい。
 非矩形ブロックの動きベクトルを予測する場合には、例えば、図11のような方法が考えられる。図11において、矢印は予測ベクトルの導出に利用する周辺の動きベクトルを表している。
 ○で囲まれている3本の動きベクトルが指し示めしている分割領域の予測ベクトルは、○で囲まれている3本の動きベクトルのメディアン(中央値)によって求められる。
 図2はこの発明の実施の形態1による画像符号化装置の動き補償予測部1を示す構成図である。
 図2において、動きベクトルメモリ11は符号化済みピクチャを構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している例えばRAMなどの記録媒体である。
 動きベクトル探索部12は符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部14及び動きベクトルメモリ11に出力する処理を実施する。
 時間ダイレクトベクトル生成部13は符号化モードが時間ダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している例えば4個のブロック(分割領域)の動きベクトル(動きベクトルメモリ11に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを動きベクトルとして、動き補償処理部14及び動きベクトルメモリ11に出力する処理を実施する。
 なお、時間ダイレクトベクトル生成部13はダイレクトベクトル生成手段を構成している。
 動き補償処理部14は動きベクトル探索部12又は時間ダイレクトベクトル生成部13から出力された動きベクトルとフレームメモリ8に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。なお、動き補償処理部14は予測画像生成手段を構成している。
 図3はこの発明の実施の形態1による画像復号装置を示す構成図である。
 図3において、可変長復号部21は図1の画像符号化装置から出力されたビットストリーム(符号化データ)を入力し、そのビットストリームから圧縮データ(量子化係数)及び符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)をエントロピー復号して、その圧縮データを予測誤差復号部22に出力し、その符号化モード情報を動き補償予測部23に出力する処理を実施する。なお、可変長復号部21は可変長復号手段を構成している。
 予測誤差復号部22は可変長復号部21から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号(図1の符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号)を算出する処理を実施する。なお、予測誤差復号部22は逆量子化手段を構成している。
 動き補償予測部23はフレームメモリ26に格納されている1フレーム以上の参照画像の中から、可変長復号部21から出力された識別番号が示す参照画像を読み出し、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 一方、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、図1の画像符号化装置における動き補償予測部1と同様にして、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
 加算器24は動き補償予測部23により生成された予測画像と予測誤差復号部22から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器6から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する処理を実施する。
 ループフィルタ25は加算器24により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ26に格納するとともに、その復号画像を外部に出力する処理を実施する。
 なお、加算器24及びループフィルタ25から画像加算手段が構成されている。
 フレームメモリ26はループフィルタ25から出力された参照画像を格納するRAMなどの記録媒体である。
 図4はこの発明の実施の形態1による画像復号装置の動き補償予測部23を示す構成図である。
 図4において、動きベクトルメモリ31は復号済みピクチャを構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している例えばRAMなどの記録媒体である。
 時間ダイレクトベクトル生成部32は可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある復号済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している例えば4個のブロック(分割領域)の動きベクトル(動きベクトルメモリ31に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを動きベクトルとして、動き補償処理部33及び動きベクトルメモリ31に出力する処理を実施する。
 なお、時間ダイレクトベクトル生成部32はダイレクトベクトル生成手段を構成している。
 動き補償処理部33はフレームメモリ26に格納されている1フレーム以上の参照画像の中から、可変長復号部21から出力された識別番号が示す参照画像を読み出し、マクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成し、マクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、時間ダイレクトベクトル生成部32から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する処理を実施する。なお、動き補償処理部33は予測画像生成手段を構成している。
 図1では、画像符号化装置の構成要素である動き補償予測部1、減算器2、符号化モード判定部3、圧縮部4、局部復号部5、加算器6、ループフィルタ7及び可変長符号化部9のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部1、減算器2、符号化モード判定部3、圧縮部4、局部復号部5、加算器6、ループフィルタ7及び可変長符号化部9の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図5はこの発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。
 図3では、画像復号装置の構成要素である可変長復号部21、予測誤差復号部22、動き補償予測部23、加算器24及びループフィルタ25のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部21、予測誤差復号部22、動き補償予測部23、加算器24及びループフィルタ25の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図6はこの発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。
 次に動作について説明する。
 最初に、図1の画像符号化装置の処理内容を説明する。
 動き補償予測部1は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位(あるいは、サブマクロブロック単位)に分割する。
 動き補償予測部1は、動画像信号をマクロブロック単位(あるいは、サブマクロブロック単位)に分割すると、フレームメモリ8に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロック単位(あるいは、サブマクロブロック単位)で、色成分毎に動き補償予測処理を実行することで、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成する。
 動き補償予測部1は、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成すると、その予測画像を減算器2に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロック(あるいは、サブマクロブロック)において使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード判定部3に出力する。
 以下、動き補償予測部1の処理内容を具体的に説明する。
 ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
 動き補償予測部1の動きベクトル探索部12は、符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると(図5のステップST1)、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部14に出力する(ステップST2)。
 インターモードで最適な動きベクトルを探索する処理自体は公知の技術であるため詳細な説明を省略する。
 動き補償予測部1の時間ダイレクトベクトル生成部13は、符号化モードがダイレクトモードである旨を示す情報を受信すると(ステップST1)、符号化対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する(ステップST3)。
 例えば、符号化対象のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある符号化済みピクチャP3を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
 時間ダイレクトベクトル生成部13は、符号化対象のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図7に示すように、動きベクトルメモリ11に格納されている符号化済みの動きベクトルの中から、そのマクロブロックMB2の中心に位置している4個の矩形ブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する(ステップST4)。
 図7の例では、左上の矩形ブロックの動きベクトルをMV1、右下の矩形ブロックの動きベクトルをMV4とし、ラスタスキャン順に番号が割り振られている。
 時間ダイレクトベクトル生成部13は、4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)を取得すると、下記の式(2)に示すように、4個の動きベクトルMViの加算平均を求めることで、符号化対象のマクロブロックMB1における時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する(ステップST5)。

Figure JPOXMLDOC01-appb-I000002
 時間ダイレクトベクトル生成部13は、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成すると、その時間ダイレクトベクトルMVdirectを動きベクトルとして、動き補償処理部14及び動きベクトルメモリ11に出力する。
 動き補償予測部1の動き補償処理部14は、符号化モードがインターモードであるとき、動きベクトル探索部12から動きベクトルを受けると、その動きベクトルとフレームメモリ8に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST6)。
 一方、符号化モードがダイレクトモードであるとき、時間ダイレクトベクトル生成部13から動きベクトルとして時間ダイレクトベクトルMVdirectを受けると、その時間ダイレクトベクトルMVdirectとフレームメモリ8に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST6)。
 なお、動き補償処理部14の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
 減算器2は、動き補償予測部1が予測画像を生成すると、その予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部3に出力する(ステップST7)。
 符号化モード判定部3は、減算器2から予測差分信号を受ける毎に、その予測差分信号の予測効率を評価して、減算器2から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する。
 符号化モード判定部3における予測差分信号の予測効率を評価する処理自体は公知の技術であるため詳細な説明を省略する。
 符号化モード判定部3は、最も予測効率が高い予測差分信号を選択すると、動き補償予測部1において、その予測差分信号に係る予測画像の生成に用いられた動きベクトルと、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)と、参照画像の識別番号とを含む符号化モード情報を可変長符号化部9に出力する。
 また、符号化モード判定部3は、最も予測効率が高い予測差分信号を圧縮部4に出力する。
 ただし、符号化モード判定部3は、符号化モードがインターモードであれば、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めて、その動きベクトルを含んでいる符号化モード情報を可変長符号化部9に出力するが、符号化モードがダイレクトモードである場合には、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めずに、その動きベクトルを含んでいない符号化モード情報を可変長符号化部9に出力する。
 圧縮部4は、符号化モード判定部3から予測差分信号を受けると、その予測差分信号に対するDCT処理を実施することで、DCT係数を算出して、そのDCT係数を量子化する(ステップST8)。
 圧縮部4は、量子化後のDCT係数である圧縮データを局部復号部5及び可変長符号化部9に出力する。
 局部復号部5は、圧縮部4から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号を算出する。
 加算器6は、局部復号部5が予測誤差信号を算出すると、その予測誤差信号と動き補償予測部1により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。
 ループフィルタ7は、次の符号化処理に備えるため、加算器6から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ8に格納する。
 可変長符号化部9は、圧縮部4から圧縮データを受けると、その圧縮データと動き補償予測部1から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)をエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する(ステップST9)。
 次に、図3の画像復号装置の処理内容を説明する。
 可変長復号部21は、図1の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ及び符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)をエントロピー復号して、その圧縮データを予測誤差復号部22に出力し、その符号化モード情報を動き補償予測部23に出力する(図6のステップST11)。
 予測誤差復号部22は、可変長復号部21から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号(図1の符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号)を算出する(ステップST12)。
 動き補償予測部23は、可変長復号部21から参照画像の識別番号を受けると、フレームメモリ26に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
 また、動き補償予測部23は、可変長復号部21からマクロブロックタイプ/サブマクロブロックタイプを受けると、そのマクロブロックタイプ/サブマクロブロックタイプを参照して、図1の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する(ステップST13)。
 動き補償予測部23は、図1の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
 一方、図1の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、図1の画像符号化装置における動き補償予測部1と同様にして、時間ダイレクトベクトルを生成して、その時間ダイレクトベクトルを用いて、動き補償予測処理を実施することで、予測画像を生成する。
 以下、動き補償予測部23の処理内容を具体的に説明する。
 動き補償予測部23の時間ダイレクトベクトル生成部32は、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある復号済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する(ステップST14)。
 例えば、復号対象のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある復号済みピクチャP3を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
 時間ダイレクトベクトル生成部32は、復号対象のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図7に示すように、動きベクトルメモリ31に格納されている復号済みの動きベクトルの中から、そのマクロブロックMB2の中心に位置している4個の矩形ブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する(ステップST15)。
 時間ダイレクトベクトル生成部32は、4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)を取得すると、上記の式(2)に示すように、4個の動きベクトルMViの加算平均を求めることで、復号対象のマクロブロックMB1における時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する(ステップST16)。
 時間ダイレクトベクトル生成部32は、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成すると、その時間ダイレクトベクトルMVdirectを動きベクトルとして、動き補償処理部33及び動きベクトルメモリ31に出力する。
 動き補償予測部23の動き補償処理部33は、可変長復号部21から参照画像の識別番号を受けると、フレームメモリ26に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
 動き補償処理部33は、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する(ステップST17)。
 一方、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、時間ダイレクトベクトル生成部32から動きベクトルとして時間ダイレクトベクトルMVdirectを受けると、その時間ダイレクトベクトルMVdirectと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する(ステップST17)。
 なお、動き補償処理部33の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
 加算器24は、動き補償予測部23が予測画像を生成すると、その予測画像と予測誤差復号部22から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器6から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する(ステップST18)。
 ループフィルタ25は、加算器24が復号画像信号を生成すると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ26に格納するとともに、その復号画像を外部に出力する(ステップST19)。
 以上で明らかなように、この実施の形態1によれば、時間ダイレクトベクトル生成部13が、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するように構成したので、符号化対象のマクロブロックの動きベクトルに近い時間ダイレクトモードの時間ダイレクトベクトルを生成することができるようになり、その結果、符号化対象のマクロブロックの符号化効率を高めることができる画像符号化装置が得られる効果を奏する。
 また、この実施の形態1によれば、時間ダイレクトベクトル生成部32が、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャを構成しているマクロブロックの中から、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するように構成したので、復号対象のマクロブロックの動きベクトルに近い時間ダイレクトモードの時間ダイレクトベクトルを生成することができるようになり、その結果、復号対象のマクロブロックの符号化効率の高い符号化装置で符号化されたストリームを復号できる画像復号装置が得られる効果を奏する。
 なお、この実施の形態1では、時間ダイレクトベクトル生成部13,32が、マクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)から時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するものについて示したが、マクロブロックの中心に位置しているブロックが4個に限るものではなく、マクロブロックの中心に位置しているブロックが3個以下又は5個以上であれば、3個以下又は5個以上のブロックから時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
 また、この実施の形態1では、動きベクトルとして時間ダイレクトベクトルを生成するものについて示したが、このベクトルを予測ベクトルとして用いるようにしてもよい。
実施の形態2.
 上記実施の形態1では、時間ダイレクトベクトル生成部13,32が、符号化対象(復号対象)のマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)の加算平均を求めることで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するものについて示したが、符号化対象(復号対象)のマクロブロック内の複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
 以下、時間ダイレクトベクトルMVdirectの生成方法を具体的に説明する。
 図8はブロックサイズに応じた重み付け加算による時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。
 時間ダイレクトベクトル生成部13,32は、上記実施の形態1と同様に、符号化対象(復号対象)のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャ(復号済みピクチャ)を構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する。
 例えば、符号化対象(復号対象)のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある符号化済みピクチャP3(復号済みピクチャP3)を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
 時間ダイレクトベクトル生成部13,32は、符号化対象(復号対象)のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図8に示すように、動きベクトルメモリ11,31に格納されている符号化済みの動きベクトル(復号済みの動きベクトル)の中から、そのマクロブロックMB2の中心に位置している4個のブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する。
 図8の例では、左上のブロックの動きベクトルをMV1、右下のブロックの動きベクトルをMV4とし、ラスタスキャン順に番号が割り振られている。
 また、時間ダイレクトベクトル生成部13,32は、マクロブロックMB2の中心から4個のブロックの中心までの距離di(i=1,2,3,4)を取得する。
 なお、マクロブロックMB2の中心から4個のブロックの中心までの距離diは、当該ブロックのサイズに比例している。
 時間ダイレクトベクトル生成部13,32は、4個のブロックの動きベクトルMViと、マクロブロックMB2の中心から4個のブロックの中心までの距離diとを取得すると、下記の式(3)に示すように、4個のブロックの中心までの距離diに応じて、4個の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。

Figure JPOXMLDOC01-appb-I000003

Figure JPOXMLDOC01-appb-I000004
 以上で明らかなように、この実施の形態2によれば、時間ダイレクトベクトル生成部13,32が、複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するように構成したので、上記実施の形態1のように、マクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMViを加算平均して時間ダイレクトベクトルMVdirectを生成する場合よりも、符号化対象(復号対象)のマクロブロックMB1の中心位置における動きベクトルを精度よく推定することができるようになり、時間ダイレクトベクトルMVdirectの精度を高めることができる効果を奏する。
実施の形態3.
 上記実施の形態1では、時間ダイレクトベクトル生成部13,32が、符号化対象(復号対象)のマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)の加算平均を求めることで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するものについて示したが、符号化対象(復号対象)のマクロブロック内の複数の分割領域の差分動きベクトルに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
 以下、時間ダイレクトベクトルMVdirectの生成方法を具体的に説明する。
 図9は差分動きベクトルに応じた重み付け加算による時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。
 時間ダイレクトベクトル生成部13,32は、上記実施の形態1と同様に、符号化対象(復号対象)のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャ(復号済みピクチャ)を構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する。
 例えば、符号化対象(復号対象)のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある符号化済みピクチャP3(復号済みピクチャP3)を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
 時間ダイレクトベクトル生成部13,32は、符号化対象(復号対象)のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図9に示すように、動きベクトルメモリ11,31に格納されている符号化済みの動きベクトル(復号済みの動きベクトル)の中から、そのマクロブロックMB2の中心に位置している4個のブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する。
 図9の例では、左上のブロックの動きベクトルをMV1、右下のブロックの動きベクトルをMV4とし、ラスタスキャン順に番号が割り振られている。
 また、時間ダイレクトベクトル生成部13,32は、マクロブロックMB2の中心に位置している4個のブロックの差分動きベクトルMVdi(i=1,2,3,4)を取得する。
 時間ダイレクトベクトル生成部13,32は、4個のブロックの動きベクトルMViと、4個のブロックの差分動きベクトルMVdiとを取得すると、下記の式(5)に示すように、4個のブロックの差分動きベクトルMVdiに応じて、4個の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。
 ただし、差分動きベクトルMVdiが“0”である場合には、重みとして固定値Aを与えるものとする。

Figure JPOXMLDOC01-appb-I000005

Figure JPOXMLDOC01-appb-I000006
 なお、差分動きベクトルMVdiの大きさはベクトルの孤立度を表しており、差分動きベクトルMVdiの大きさが大きいほど、孤立度が大きい可能性が高いので、重みの計算式である式(6)において、差分動きベクトルMVdiの大きさの逆数を取り入れることで、孤立したベクトルの重みを小さくすることができる。
 以上で明らかなように、この実施の形態3によれば、時間ダイレクトベクトル生成部13,32が、複数の分割領域の差分動きベクトルMVdiに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するように構成したので、上記実施の形態1よりも、時間ダイレクトベクトルMVdirectの精度を高めることができる効果を奏する。
実施の形態4.
 上記実施の形態2では、複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルMViを重み付け加算し、上記実施の形態3では、複数の分割領域の差分動きベクトルMVdiに応じて、複数の分割領域の動きベクトルMViを重み付け加算するものについて示したが、複数の分割領域の符号化モードに応じて、複数の分割領域の動きベクトルMViを重み付け加算するようにしてもよい。
 例えば、符号化済みブロック(復号済みブロック)である分割領域がイントラブロックである場合は、その分割領域を計算対象から除外して時間ダイレクトベクトルMVdirectを生成する方法が考えられる。
 具体的には、図8において、例えば、左上のブロック(分割領域)がイントラブロックである場合(図8では、左上のブロックに動きベクトルMV1が表記されているが、イントラブロックである場合、動きベクトルの情報を持たない)、左上のブロックを計算対象から除外して、残り3つのブロックの動きベクトルMVi(i=2,3,4)を重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。
 イントラブロックは動きベクトルの情報を持たないため、イントラブロックを計算対象から除外することで、不必要に時間ダイレクトベクトルがゼロベクトルにならずに済み、時間ダイレクトベクトルの精度が向上する。
実施の形態5.
 上記実施の形態1~3では、4つのブロックのベクトルを用いて、時間ダイレクトベクトルMVdirectを生成するものについて示したが、マクロブロック内の全てのブロックの動きベクトルを用いて、時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
 図10はマクロブロック内の全てのブロックの動きベクトルを用いて、時間ダイレクトベクトルMVdirectを生成する方法を示す説明図である。
 符号化対象(復号対象)のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2内のk個のブロックの動きベクトルをMVi(0≦i≦k)、k個のブロックの大きさをSi(0≦i≦k)とすると、下記の式(7)を演算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。

Figure JPOXMLDOC01-appb-I000007

Figure JPOXMLDOC01-appb-I000008
 この発明は、画像を圧縮符号化して圧縮画像を伝送する際に、高い符号化効率が要求される画像符号化装置に適している。
 1 動き補償予測部、2 減算器(量子化手段)、3 符号化モード判定部(量子化手段)、4 圧縮部(量子化手段)、5 局部復号部、6 加算器、7 ループフィルタ、8 フレームメモリ、9 可変長符号化部(可変長符号化手段)、11 動きベクトルメモリ、12 動きベクトル探索部、13 時間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、14 動き補償処理部(予測画像生成手段)、21 可変長復号部(可変長復号手段)、22 予測誤差復号部(逆量子化手段)、23 動き補償予測部、24 加算器(画像加算手段)、5 ループフィルタ(画像加算手段)、26 フレームメモリ、31 動きベクトルメモリ、32 時間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、33 動き補償処理部(予測画像生成手段)。

Claims (10)

  1.  入力画像を構成しているブロック毎に、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化手段と、上記量子化手段から出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化手段とを備えるとともに、上記ダイレクトベクトル生成手段は、符号化対象のブロックの時間的に近傍にある符号化済みピクチャを構成しているブロックの中から、符号化対象のブロックと空間的に同じ位置にあるブロックを特定し、上記ブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする画像符号化装置。
  2.  ダイレクトベクトル生成手段は、複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする請求項1記載の画像符号化装置。
  3.  ダイレクトベクトル生成手段は、複数の分割領域の差分動きベクトルに応じて、複数の分割領域の動きベクトルを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする請求項1記載の画像符号化装置。
  4.  ダイレクトベクトル生成手段は、複数の分割領域の符号化モードに応じて、複数の分割領域の動きベクトルを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする請求項1記載の画像符号化装置。
  5.  符号化データから量子化係数を復号する可変長復号手段と、上記可変長復号手段により復号された量子化係数を逆量子化する逆量子化手段と、復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成手段と、上記ダイレクトベクトル生成手段により生成された時間ダイレクトベクトルを用いて、動き補償予測処理を実施することで、予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記逆量子化手段の逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算手段とを備えるとともに、上記ダイレクトベクトル生成手段は、復号対象のブロックの時間的に近傍にある復号済みピクチャを構成しているブロックの中から、復号対象のブロックと空間的に同じ位置にあるブロックを特定し、上記ブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする画像復号装置。
  6.  ダイレクトベクトル生成手段は、複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする請求項5記載の画像復号装置。
  7.  ダイレクトベクトル生成手段は、複数の分割領域の差分動きベクトルに応じて、複数の分割領域の動きベクトルを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする請求項5記載の画像復号装置。
  8.  ダイレクトベクトル生成手段は、複数の分割領域の符号化モードに応じて、複数の分割領域の動きベクトルを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする請求項5記載の画像復号装置。
  9.  ダイレクトベクトル生成手段が入力画像を構成しているブロック毎に、当該ブロックの時間的に近傍にある符号化済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、予測画像生成手段が上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、量子化手段が上記予測画像生成処理ステップで生成された予測画像と上記入力画像の差分画像を量子化し、上記差分画像の量子化係数を出力する量子化処理ステップと、可変長符号化手段が上記量子化処理ステップで出力された量子化係数を可変長符号化して、上記量子化係数の符号化データを出力する可変長符号化処理ステップとを備えるとともに、上記ダイレクトベクトル生成手段がダイレクトベクトル生成処理ステップを実施する際、符号化対象のブロックの時間的に近傍にある符号化済みピクチャを構成しているブロックの中から、符号化対象のブロックと空間的に同じ位置にあるブロックを特定し、上記ブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする画像符号化方法。
  10.  可変長復号手段が符号化データから量子化係数を復号する可変長復号処理ステップと、逆量子化手段が上記可変長復号処理ステップで復号された量子化係数を逆量子化する逆量子化処理ステップと、ダイレクトベクトル生成手段が復号対象のブロックの時間的に近傍にある復号済みピクチャの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するダイレクトベクトル生成処理ステップと、予測画像生成手段が上記ダイレクトベクトル生成処理ステップで生成された時間ダイレクトベクトルを用いて、動き補償予測処理を実施することで、予測画像を生成する予測画像生成処理ステップと、画像加算手段が上記予測画像生成処理ステップで生成された予測画像と上記逆量子化処理ステップにおける逆量子化結果が示す差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を得る画像加算処理ステップとを備えるとともに、上記ダイレクトベクトル生成手段がダイレクトベクトル生成処理ステップを実施する際、復号対象のブロックの時間的に近傍にある復号済みピクチャを構成しているブロックの中から、復号対象のブロックと空間的に同じ位置にあるブロックを特定し、上記ブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成することを特徴とする画像復号方法。
PCT/JP2011/000418 2010-02-10 2011-01-26 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 WO2011099241A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100104089A TW201143452A (en) 2010-02-10 2011-02-08 Image encoding device, image decoding device, image encoding method and image decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-027520 2010-02-10
JP2010027520A JP2013077865A (ja) 2010-02-10 2010-02-10 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Publications (1)

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

Family

ID=44367530

Family Applications (1)

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

Country Status (3)

Country Link
JP (1) JP2013077865A (ja)
TW (1) TW201143452A (ja)
WO (1) WO2011099241A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114712A1 (ja) * 2011-02-25 2012-08-30 パナソニック株式会社 画像符号化方法および画像復号化方法
CN109996075A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 一种图像解码方法及解码器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236584A (ja) * 2004-02-18 2005-09-02 Victor Co Of Japan Ltd 動画像情報変換符号化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236584A (ja) * 2004-02-18 2005-09-02 Victor Co Of Japan Ltd 動画像情報変換符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HEIKO SCHWARZ: "Rec.ITU-T H.264(03/2009)- Prepublished version(JVT-AF11_draft_text.doc)", ITU-T, November 2009 (2009-11-01), pages 177 - 185 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114712A1 (ja) * 2011-02-25 2012-08-30 パナソニック株式会社 画像符号化方法および画像復号化方法
JP5883431B2 (ja) * 2011-02-25 2016-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法および画像復号化方法
CN109996075A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 一种图像解码方法及解码器
CN109996075B (zh) * 2017-12-29 2022-07-12 华为技术有限公司 一种图像解码方法及解码器

Also Published As

Publication number Publication date
TW201143452A (en) 2011-12-01
JP2013077865A (ja) 2013-04-25

Similar Documents

Publication Publication Date Title
US11876979B2 (en) Image encoding device, image decoding device, image encoding method, image decoding method, and image prediction device
JP6667609B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置および画像復号方法
US9973756B2 (en) Video encoder and video encoding method
JP6675289B2 (ja) 画像復号装置、画像復号方法、画像符号化装置及び画像符号化方法
US7426308B2 (en) Intraframe and interframe interlace coding and decoding
KR100856411B1 (ko) 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
WO2010137323A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法
US20220030249A1 (en) Image encoding/decoding method and device
KR101857755B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
WO2012042719A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US7212573B2 (en) Method and/or apparatus for determining minimum positive reference indices for a direct prediction mode
WO2011121894A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2014163200A1 (ja) カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法
WO2011061880A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2009530960A (ja) 照明変化補償動き予測符号化および復号化方法とその装置
WO2012081162A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR101187580B1 (ko) 조도 보상 방법 및 그 장치와 이를 이용한 동영상 부호화방법 및 그 장치
US10104389B2 (en) Apparatus, method and non-transitory medium storing program for encoding moving picture
JP2008004984A (ja) 画像理装置および方法、プログラム、並びに記録媒体
JP2011010197A (ja) 画像符号化装置及び画像復号装置
WO2011099241A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2014090326A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014090327A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP5442039B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2013098713A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

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: 11741992

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11741992

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP