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

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

Info

Publication number
WO2011121894A1
WO2011121894A1 PCT/JP2011/001329 JP2011001329W WO2011121894A1 WO 2011121894 A1 WO2011121894 A1 WO 2011121894A1 JP 2011001329 W JP2011001329 W JP 2011001329W WO 2011121894 A1 WO2011121894 A1 WO 2011121894A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
prediction
predicted
generated
decoded
Prior art date
Application number
PCT/JP2011/001329
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 US13/638,095 priority Critical patent/US8948243B2/en
Priority to KR1020127028411A priority patent/KR101420957B1/ko
Priority to JP2012508043A priority patent/JPWO2011121894A1/ja
Priority to CN201180016494.7A priority patent/CN102823250B/zh
Priority to EP11762148.2A priority patent/EP2555523A4/en
Priority to TW100109657A priority patent/TW201206203A/zh
Publication of WO2011121894A1 publication Critical patent/WO2011121894A1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to an image encoding device, an image decoding device, an image encoding method, and an image decoding method used for image compression encoding technology, compressed image data transmission technology, and the like.
  • a luminance signal 16 ⁇ 16 pixels and a color difference signal 8 ⁇ corresponding to the luminance signal 16 ⁇ 16 pixels are used.
  • a method is adopted in which block data (hereinafter referred to as “macroblock”) including eight pixels is used as a unit for compression based on a motion compensation technique or an orthogonal transform / transform coefficient quantization technique.
  • the motion compensation technique is a technique for reducing the redundancy of a signal in the time direction for each macroblock using a high correlation existing between video frames. That is, in the motion compensation technique, a coded frame that has already been coded is stored in a memory as a reference image, and motion compensation prediction is performed within a predetermined search range in the reference image stored in the memory. A block area having the smallest difference power from the current macro block which is the target block is searched. In this technique, the displacement between the spatial position of the block area with the smallest differential power and the spatial position of the current macroblock is encoded as a motion vector.
  • the above motion vectors often represent local motion in each block between video frames as well as the prediction efficiency. Therefore, in recent years, information on the motion vector has been used to per unit time of video.
  • a technique for generating an interpolated image has been developed.
  • As the simplest model for example, when generating an interpolated image in the middle between video frames temporally, a value obtained by halving the value of the motion vector is adopted as the motion vector of the interpolated image, and the motion vector is used.
  • the motion vector often represents a local motion in each block between video frames.
  • the motion vector is obtained by searching a block area having the smallest difference power. Sometimes it does not represent a typical movement. In such a case, the interpolated image is distorted, and the turbulence is often very conspicuous, so how to determine the “motion vector that cannot accurately represent the motion” and exclude them It is important how accurately the motion can be estimated.
  • Non-Patent Document 1 and Patent Document 1 below a motion parameter is extracted from a bitstream obtained by a general-purpose video encoding method, and depending on the motion parameter, a frame of a playback moving image on the receiving side A frame interpolation technique aimed at artificially increasing the rate is disclosed.
  • the quality of the reproduced moving image can be improved to some extent by artificially increasing the frame rate of the reproduced moving image on the receiving side.
  • optimal encoding control is not performed so that sufficient encoding quality can be obtained in the course of the encoding process, there is a limit to improving the quality of the playback video obtained on the receiving side.
  • the quality of the reproduced moving image cannot be guaranteed optimal.
  • the present invention has been made to solve the above-described problems, and an object of the present invention is to obtain an image coding apparatus and an image coding method capable of improving the quality of a reproduced image on the receiving side. Another object of the present invention is to obtain an image decoding apparatus and an image decoding method capable of reproducing an image with high quality from encoded data transmitted from an image encoding apparatus.
  • An image encoding apparatus includes a motion detection unit that detects a motion vector of a block, a first prediction image generation unit that generates a first prediction image using the motion vector detected by the motion detection unit, and A memory that holds the motion vector detected by the motion detector, a motion vector generator that generates a motion vector of the block to be encoded based on the motion vector held in the memory, and a motion vector generator that generates the motion vector A second predicted image generating unit that generates a second predicted image using the motion vector thus generated, and a difference image between the first predicted image generated by the first predicted image generating unit and the block to be encoded
  • encoding means for encoding the motion vector used for generating the first predicted image, and generating a locally decoded image of the difference image, A local decoding unit that generates a local decoded image by adding the partial decoded image to the first predicted image, and a smoothing of the block prediction with respect to the second predicted image generated by the second predicted image generating unit Filtering means for performing
  • the motion detection means for detecting the motion vector of the block, the first predicted image generation means for generating the first predicted image using the motion vector detected by the motion detection means, and the motion detection means A motion vector generating unit that generates a motion vector of a block to be encoded based on a motion vector stored in the memory, and a motion vector generated by the motion vector generating unit A second predicted image generating unit that generates a second predicted image using the, and a difference image between the first predicted image generated by the first predicted image generating unit and the block to be encoded is encoded
  • FIG. 1 It is a block diagram which shows the image coding apparatus by Embodiment 1 of this invention. It is explanatory drawing which shows an example of the motion prediction mode which can be selected according to a picture type. It is a schematic diagram which shows the calculation method of the direct vector in time direct mode. It is a schematic diagram which shows the estimation method of the motion vector by spatial direct mode. It is explanatory drawing which shows an overlap motion compensation process. It is explanatory drawing which shows the bit stream output from the variable-length encoding part 11.
  • FIG. It is a block diagram which shows the image decoding apparatus by Embodiment 1 of this invention. It is a flowchart which shows the processing content of the image coding apparatus by Embodiment 1 of this invention.
  • FIG. 5 is an explanatory diagram showing an estimation content of a motion vector d f (x, t) of a macroblock X. It is explanatory drawing which shows the weight parameter defined according to each pixel position in a macroblock. It is explanatory drawing which shows the weight parameter defined according to each pixel position in a macroblock.
  • FIG. 1 is a block diagram showing an image coding apparatus according to Embodiment 1 of the present invention.
  • the input image is divided into macroblock units (or submacroblock units obtained by dividing the macroblock), and the input image in macroblock units (or submacroblock units) is motion compensated.
  • the data is input to the prediction unit 2 and the subtracter 3. It is assumed that the encoding process is executed for each macroblock, and the encoding process for the input image is completed when the encoding process for all the macroblocks constituting the input image is completed.
  • a motion parameter memory 1 is a recording medium such as a RAM that stores, for example, prediction parameters (motion prediction mode, motion vector, reference image identification number) of an encoded macroblock.
  • the motion compensation prediction unit 2 selects a reference image that is actually used for prediction from one or more reference images for motion compensation prediction stored in the frame memory 10, and is a unit of macroblocks constituting the input image Then, the process which produces
  • the motion compensated prediction unit 2 uses a first predicted image generation method (a predicted image generation method based on “motion prediction mode A”) and a second predicted image generation method (“ Prediction image generation method by “motion prediction mode B”), and prediction images are generated by motion prediction mode A and motion prediction mode B, respectively.
  • one motion vector is selected from one or more reference images stored in the frame memory 10, and the target of motion compensation prediction is selected in the selected reference image.
  • the block that best represents the image pattern of the target macroblock among the positions displaced in translation is specified, and the amount of displacement in the screen is obtained. That is, since the motion vector is defined as a pair with the reference image used for the calculation, it is referred to which one of the reference images stored in the frame memory 10 is used for the reference image.
  • each may indicate a different reference image identification number, some of which may be the same reference image.
  • An identification number may be used.
  • a predicted image A is generated using the obtained motion vector and reference image identification number (using an image region at a position shifted by the amount of the motion vector from the position in the screen of the macroblock to be subjected to motion compensation prediction).
  • a predicted image A is generated).
  • motion prediction mode B an estimated vector of a macroblock to be encoded as a prediction parameter of a coded macroblock stored in the motion parameter memory 1 is generated, and a motion compensation prediction process using the estimated vector is performed.
  • a predicted image B is generated.
  • the motion compensation prediction unit 2 generates a prediction image in each of the motion prediction mode A and the motion prediction mode B. If it indicates that “skip picture encoding is performed”, the motion prediction mode A is not used, and the prediction image is generated only in the motion prediction mode B.
  • the motion compensation prediction unit 2 constitutes a predicted image generation unit.
  • the subtractor 3 calculates a difference image A by obtaining a difference between the image of the macroblock to be encoded and the prediction image A generated in the motion prediction mode A by the motion compensation prediction unit 2, and also calculates the difference between the macroblock to be encoded.
  • a process of calculating a difference image B by obtaining a difference between the image and the predicted image B generated in the motion prediction mode B by the motion compensation prediction unit 2 is performed.
  • the picture encoding method control information indicates that “skip picture encoding is performed”
  • the prediction image A is not generated, so the prediction is generated in the image of the macroblock to be encoded and the motion prediction mode A.
  • the process of calculating the difference image A by obtaining the difference between the images A is not performed.
  • the encoding mode determination unit 4 evaluates the encoding efficiency of the difference image A between the image of the macroblock to be encoded and the prediction image A generated in the motion prediction mode A, and the macroblock to be encoded and the motion prediction The encoding efficiency of the difference image B between the prediction images B generated in mode B is evaluated, and the process of selecting the difference image with the highest encoding efficiency is performed. In addition, the encoding mode determination unit 4 outputs a prediction difference signal indicating a difference image with the highest encoding efficiency to the compression unit 5 and also uses prediction parameters (motion prediction mode) used to generate a prediction image related to the difference image.
  • prediction parameters motion prediction mode
  • Predicted image identification information motion vector (or direct vector), reference image identification number
  • the prediction parameters motion prediction mode (predicted image identification information), motion vector (difference) are stored. Only when the image A is selected, the motion vector is included in the prediction parameter, and when the difference image B is selected, the motion vector is not included in the prediction parameter), and the identification number of the reference image) is output to the variable length encoding unit 11 Perform the process. However, when the picture encoding method control information indicates that “skip picture encoding is performed”, the predicted image A is not generated, and thus the process of evaluating the encoding efficiency of the difference image A is not performed.
  • the subtractor 3 and the encoding mode determination unit 4 constitute a difference image selection unit.
  • the compression unit 5 performs DCT (Discrete Cosine Transform) processing on the prediction difference signal output from the encoding mode determination unit 4 to calculate DCT coefficients, quantizes the DCT coefficients, and performs DCT after quantization. A process of outputting the compressed data, which is a coefficient, to the local decoding unit 6 and the variable length coding unit 11 is performed. Note that the compression unit 5 constitutes a quantization means.
  • DCT Discrete Cosine Transform
  • the local decoding unit 6 dequantizes 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 locally decoded prediction difference signal corresponding to the output prediction difference signal is performed. If the picture coding method control information indicates that “normal picture coding is to be performed”, the selection switch 7 selects the local decoding prediction difference signal calculated by the local decoding unit 6 and outputs it to the adder 8. If the picture encoding method control information indicates that “skip picture encoding is to be performed”, an all-zero value is selected and output to the adder 8.
  • inverse DCT Inverse Discrete Cosine Transform
  • the adder 8 converts the local decoded prediction difference signal selected by the selection switch 7 or the all-zero value into a prediction signal indicating the prediction image (the prediction image related to the difference image having the highest coding efficiency) generated by the motion compensation prediction unit 2. By performing the addition, a process for generating a locally decoded image signal indicating the locally decoded image is performed. If the picture encoding method control information indicates “perform normal picture encoding”, the loop filter 9 is generated by the adder 8 using a block distortion removal filter (deblocking filter) for the DCT block boundary.
  • the motion vector of the predicted image Motion block boundary smoothing processing is performed to alleviate discontinuity of block boundaries (macroblock boundaries in motion prediction mode B) that occur in the allocation area.
  • the local decoding unit 6, the selection switch 7, the adder 8, and the loop filter 9 constitute reference image generating means.
  • the frame memory 10 is a recording medium such as a RAM that stores the loop filter image (the locally decoded image after the filter process) output from the loop filter 9 as a reference image.
  • the variable length encoding unit 11 includes compressed data output from the compression unit 5 (including quantization parameters used when quantizing DCT coefficients), prediction parameters output from the encoding mode determination unit 4, and picture encoding method control.
  • the information is entropy-encoded, a bit stream (encoded data) indicating the encoding result is generated, and the bit stream is output.
  • the variable length encoding unit 11 constitutes a variable length encoding means.
  • a motion compensation prediction unit 2 a subtracter 3, a coding mode determination unit 4, a compression unit 5, a local decoding unit 6, a selection switch 7, an adder 8, and a loop filter 9 are constituent elements of the image coding apparatus.
  • each of the variable length encoding unit 11 is configured by dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, or a one-chip microcomputer).
  • FIG. 8 is a flowchart showing the processing contents of the image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 7 is a block diagram showing an image decoding apparatus according to Embodiment 1 of the present invention. It is assumed that the decoding process is executed for each macroblock, and the decoding process of the decoded image ends when the decoding process of all the macroblocks constituting the decoded image is completed. Furthermore, when one macroblock is composed of a plurality of sub-macroblocks, the decoding process for one macroblock is terminated when the decoding processes for all the sub-macroblocks therein are completed.
  • “macroblock” is described as a processing unit in accordance with the encoding apparatus side, but “macroblock” is replaced with “submacroblock” to explain decoding processing for the submacroblock.
  • the motion parameter memory 21 stores, for example, a prediction parameter (motion prediction mode, motion vector, reference image identification number) of a decoded macroblock (or decoded sub-macroblock) and the like, for example, a recording medium such as a RAM. It is.
  • the variable length decoding unit 22 receives the bit stream (encoded data) output from the image encoding apparatus in FIG. 1 and receives compressed data (including quantization parameters for quantizing the DCT coefficients) from the bit stream.
  • Prediction parameters motion prediction mode (predicted image identification information), motion vector (if the difference image A is selected by the encoding mode determination unit 4 in FIG. 1, the motion vector is included in the prediction parameter, the difference image When B is selected, the motion vector is not included in the prediction parameter), the reference image identification number) and the picture encoding method control information are entropy decoded, and the compressed data is output to the prediction error decoding unit 23
  • the prediction parameter is output to the motion compensation unit 24, and the picture coding method control information is output to the motion compensation unit 24 and the selection switch 25. And it carries out a process of outputting a fine loop filter 27.
  • the variable length decoding unit 22 constitutes variable length decoding means.
  • the prediction error decoding unit 23 inversely quantizes the compressed data output from the variable length decoding unit 22 to obtain a DCT coefficient, and performs an inverse DCT process on the DCT coefficient, thereby predicting a prediction error signal decoded value indicating a difference image ( A process of calculating a signal corresponding to the prediction difference signal output from the encoding mode determination unit 4 in FIG. 1 is performed.
  • the prediction error decoding unit 23 constitutes an inverse quantization unit.
  • the motion compensation unit 24 reads the reference image indicated by the identification number in the prediction parameter output from the variable length decoding unit 22 from one or more reference images stored in the frame memory 28, and the variable length decoding unit 22. If the picture encoding method control information output from the image indicates that “normal picture encoding is to be performed”, the motion prediction mode and motion vector in the prediction parameter output from the variable length decoding unit 22 and the reference image By performing the motion compensation process using, a process for generating the predicted image A is performed. On the other hand, if the picture coding method control information output from the variable length decoding unit 22 indicates that “skip picture coding is performed”, the motion vector of the decoded macroblock stored in the motion parameter memory 21 is used. An estimation vector of a macroblock to be decoded is generated, and a process for generating a predicted image B by performing a motion compensation process using the estimation vector is performed.
  • the motion compensation unit 24 constitutes a predicted image generation unit.
  • the selection switch 25 calculates the prediction error signal decoded value calculated by the prediction error decoding unit 23. Is selected and output to the adder 26. If the picture encoding method control information indicates that “skip picture encoding is performed”, an all-zero value is selected and output to the adder 26. .
  • the adder 26 adds a local decoded prediction difference signal or all-zero value selected by the selection switch 25 to a prediction signal indicating a prediction image generated by the motion compensation unit 24, thereby generating a decoded image signal indicating a decoded image. Perform the process.
  • the loop filter 27 sets a block distortion removal filter (deblocking filter) for the DCT block boundary. And a distortion compensation process for compensating for the coding distortion included in the decoded image generated by the adder 26 is performed, and the picture coding method control information indicates that “skip picture coding is performed”. Then, the motion block boundary smoothing process is performed to alleviate the discontinuity of the block boundary (macroblock boundary in the motion prediction mode B) that occurs in the motion vector allocation region of the predicted image.
  • the selection switch 25, the adder 26, and the loop filter 27 constitute decoded image generation means.
  • the frame memory 28 is a recording medium such as a RAM that stores a reproduced image (decoded image after filtering) output from the loop filter 27 as a reference image.
  • each of the variable length decoding unit 22, the prediction error decoding unit 23, the motion compensation unit 24, the selection switch 25, the adder 26, and the loop filter 27, which are constituent elements of the image decoding device, has dedicated hardware (for example, It is assumed that the CPU is a semiconductor integrated circuit or a one-chip microcomputer. However, when the image decoding device is a computer, the variable length decoding unit 22, prediction error decoding A program that describes the processing contents of the unit 23, motion compensation unit 24, selection switch 25, adder 26, and loop filter 27 is stored in the memory of the computer, and the CPU of the computer is stored in the memory May be executed.
  • FIG. 9 is a flowchart showing the processing contents of the image decoding apparatus according to Embodiment 1 of the present invention.
  • the motion compensated prediction unit 2 generates predicted images for all motion prediction modes (macroblocks or motion vector allocation patterns in subblocks) that can be selected according to the designated picture type.
  • FIG. 2 is an explanatory diagram showing an example of a motion prediction mode that can be selected according to the picture type.
  • mc_mode0 is a mode in which one motion vector is assigned to the entire macroblock (M ⁇ L pixel block).
  • mc_mode1 is a mode in which a macroblock is equally divided in the horizontal direction and different motion vectors are assigned to the divided left and right subblocks.
  • mc_mode2 is a mode in which a macroblock is equally divided in the vertical direction, and different motion vectors are assigned to the divided upper and lower subblocks.
  • mc_mode3 is a mode in which a macroblock is divided into four, and different motion vectors are assigned to the four divided subblocks.
  • a unit obtained by dividing a macroblock in mc_mode3 into four is a submacroblock, and the submacroblock can be further divided into mc_mode0 to mc_mode3 and assigned motion vectors.
  • the sub-macroblock corresponds to a 16 ⁇ 16 pixel block.
  • the structure may be configured to take a hierarchical division structure.
  • the encoding apparatus / decoding apparatus according to the first embodiment can cope with such a sub-macroblock structure.
  • the motion compensation prediction unit 2 is limited to a case corresponding to mc_mode0 in FIG. 2 in which one motion vector is assigned to a macroblock as a prediction image generation method when generating a prediction image.
  • An example of using a prediction image generation method in motion prediction mode A and motion prediction mode B will be described.
  • both motion prediction mode A and motion prediction mode B may be applied to individual motion vector allocation unit blocks.
  • step ST1 in FIG. 8 If the input picture coding method control information indicates that “normal picture coding is performed” (step ST1 in FIG. 8), the motion compensated prediction unit 2 generates a predicted image A using the motion prediction mode A. At the same time, a predicted image B is generated in the motion prediction mode B (step ST2). On the other hand, if the picture coding method control information indicates that “skip picture coding is performed” (step ST1), the prediction image A is not generated in the motion prediction mode A and the prediction image B is generated in the motion prediction mode B. Is generated (step ST3).
  • the motion compensated prediction unit 2 selects a reference image for one frame from one or more reference images for motion compensated prediction stored in the frame memory 10.
  • a motion vector is searched between the macroblock to be encoded and the reference image (searches for a motion vector within a predetermined motion search range on the reference image).
  • a motion compensated prediction process using the motion vector is performed to generate a predicted image A (using an image region at a position shifted from the position in the screen of the macroblock to be encoded by the motion vector, A predicted image A is generated).
  • the motion compensated prediction unit 2 generates an estimation vector of the encoding target macroblock from the motion vector of the encoded macroblock stored in the motion parameter memory 1. Then, a motion compensated prediction process using the estimated vector is performed to generate a predicted image B.
  • Examples of the motion prediction mode B include MPEG-4 visual (ISO / IEC 14496-2) and MPEG-4 AVC / ITU-T H.264. H.264 (hereinafter referred to as “AVC”) and other standard encoding schemes that can be used for predictive image generation using direct prediction can be used.
  • a prediction image generation method based on AVC direct prediction can be used for B pictures that can be predicted using a maximum of two motion vectors for each motion vector assignable block, and two types of temporal direct mode and spatial direct mode are prepared.
  • the temporal direct mode refers to the motion vector of another picture that has already been encoded, and performs the scaling process of the motion vector according to the time difference between the encoded picture and the current picture to be encoded.
  • the motion vector (direct vector) used in the macroblock is calculated.
  • the spatial direct mode refers to a motion vector of a macroblock to be encoded (direct) with reference to a motion vector of at least one encoded macroblock located around the macroblock to be encoded. Vector).
  • either the temporal direct mode or the spatial direct mode is selected in units of slices.
  • FIG. 3 is a schematic diagram showing a direct vector calculation method in the temporal direct mode.
  • P represents a P picture
  • B represents a B picture.
  • a P picture is a picture that can be predicted using one motion vector per block that can be assigned a motion vector.
  • Numbers 0 to 3 indicate the display order of pictures, and represent the display images at times 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 motion of the macroblock MB2 which is the motion vector of the picture P3 closest to the picture B2 among the encoded pictures located on the rear side of the picture B2 on the time axis, and is in the same spatial position as the macroblock MB1.
  • Vector MV is used.
  • the motion vector MV refers to the picture P0 (the motion vector MV is a motion vector obtained as a result of searching using the picture P0 as a reference image), and the motion vectors MVL0 and MVL1 used when encoding the macroblock MB1 are: It calculates
  • the motion parameter memory 1 that holds the motion vector MV Necessary.
  • the motion vector is stored in the motion parameter memory 1 when a P picture or a picture used as a reference image for motion compensation prediction is encoded. Store sequentially for one screen.
  • FIG. 4 is a schematic diagram showing a motion vector estimation method in the spatial direct mode.
  • currentMB represents a macroblock to be encoded.
  • the motion vector of the encoded macroblock A on the left side of the macroblock to be encoded is MVa
  • the motion vector of the encoded macroblock B above the macroblock to be encoded is MVb
  • the motion vector of the encoded macro block C at the upper right of the macro block is MVc
  • the motion vector MV of the macroblock to be encoded can be estimated.
  • the AVC direct prediction mode is assumed as the motion prediction mode B.
  • the subtracter 3 When the subtracter 3 receives the prediction images A and B generated in the motion prediction modes A and B from the motion compensation prediction unit 2, the subtracter 3 subtracts the prediction image A from the image of the macroblock to be encoded, and the subtraction result A prediction difference signal indicating a certain difference image A is output to the encoding mode determination unit 4. Also, the prediction image B is subtracted from the image of the macro block to be encoded, and a prediction difference signal indicating the difference image B as the subtraction result is output to the encoding mode determination unit 4 (step ST4).
  • the picture coding method control information indicates that “skip picture coding is performed”, the process of calculating the difference image is not performed.
  • the coding mode determination unit 4 uses the prediction difference signal indicating the difference images A and B output from the subtractor 3. Then, a rate distortion cost J is calculated as an evaluation value of the coding efficiency of the difference images A and B (step ST5).
  • J D + ⁇ R (3)
  • “ ⁇ ” is a positive constant.
  • D is the sum of absolute values in the macroblock of the prediction difference signal indicating the difference image A or the prediction difference signal indicating the difference image B, or the prediction difference signal indicating the difference image A or the prediction difference signal indicating the difference image B is compressed.
  • R is a code amount (or an estimated value thereof) when a prediction difference signal indicating the difference image A or a prediction difference signal indicating the difference image B and a prediction parameter corresponding to the prediction difference signal are encoded. Is used.
  • the encoding mode determination unit 4 selects the difference image with the smaller rate distortion cost J and predicts the difference image.
  • the difference signal is output to the compression unit 5 (step ST6).
  • the prediction difference signal indicating the difference image A is output to the compression unit 5 and the prediction parameter (used for generating the prediction image A in the motion prediction mode A ( The motion prediction mode A, the motion vector, and the reference image identification number) are stored in the motion parameter memory 1 and the prediction parameters are output to the variable length coding unit 11.
  • a prediction difference signal indicating the difference image B is output to the compression unit 5, and the prediction parameter (motion prediction) used in the generation of the prediction image B in the motion prediction mode B is output.
  • the mode B, the direct vector, and the reference image identification number) are stored in the motion parameter memory 1, and the prediction parameter (motion prediction mode B, the reference image identification number) is output to the variable length coding unit 11.
  • the coding mode determination unit 4 is obtained by DCT processing or quantization processing when the power of the prediction difference signal indicating the difference image B calculated from the prediction image B generated in the motion prediction mode B does not become zero.
  • the prediction difference signal is output to the compression unit 5.
  • the coding mode determination unit 4 When the picture coding method control information indicates that “skip picture coding is performed”, the coding mode determination unit 4 always outputs a zero-value prediction difference signal. That is, the encoding mode determination unit 4 forcibly replaces the prediction difference signal with a zero value even when the power of the prediction difference signal indicating the difference image B output from the subtractor 3 does not become zero. Are output to the compression unit 5 (step ST7).
  • the picture encoding method control information indicates that “skip picture encoding is performed”
  • the prediction parameters (motion prediction mode B, direct vector, reference image identification number) used in generating the predicted image B in the motion prediction mode B are stored in the motion parameter memory 1.
  • the rate distortion cost J of each macroblock when the picture encoding method control information indicates that “skip picture encoding is performed” is calculated as the distortion obtained as a result of forcibly zeroing the prediction difference signal.
  • the cost J is substantially equal to “D” indicating distortion obtained as a result of forcibly zeroing the prediction difference signal.
  • “R” as described above, the code amount when the prediction difference signal and the prediction parameter are encoded is used, but the motion vector of the encoded macroblock stored in the motion parameter memory 1 is used. (In the image decoding apparatus, the motion vector of the decoded macroblock stored in the motion parameter memory 21 is referred to), and the direct vector is calculated in the AVC direct prediction procedure. The quantity is considered zero.
  • the code amount of the prediction difference signal is also regarded as zero because the prediction difference signal is forced to zero. For this reason, the amount of code required for encoding the macroblock to be encoded is considered to be zero, and the cost J is substantially equal to “D”.
  • the compression unit 5 When receiving the prediction difference signal from the encoding mode determination unit 4, the compression unit 5 performs DCT processing on the prediction difference signal to calculate a DCT coefficient, quantizes the DCT coefficient, The compressed data (including the quantization parameter for quantizing the DCT coefficient) that is a DCT coefficient is output to the local decoding unit 6 and the variable length coding unit 11 (step ST8).
  • the compression unit 5 skips the processing because the encoding mode determination unit 4 provides an all-zero prediction difference signal. You may comprise so that (step ST9). Alternatively, it may be configured to forcibly output a zero value upon receiving picture encoding method control information.
  • the local decoding unit 6 When receiving the compressed data from the compression unit 5, the local decoding unit 6 uses the quantization parameter included in the compressed data to dequantize the compressed data to obtain a DCT coefficient, and performs inverse DCT on the DCT coefficient. By performing the processing, a local decoded prediction difference signal corresponding to the prediction difference signal output from the encoding mode determination unit 4 is calculated (step ST8). However, when the picture encoding method control information indicates that “skip picture encoding is performed”, the local decoding unit 6 is provided with all-zero compressed data from the compression unit 5, so that the processing is skipped. You may comprise (step ST9). Alternatively, it may be configured to forcibly output a zero value upon receiving picture encoding method control information.
  • the selection switch 7 selects the local decoding prediction difference signal calculated by the local decoding unit 6 and outputs it to the adder 8 if the picture encoding method control information indicates that “normal picture encoding is performed”. To do. On the other hand, if the picture coding method control information indicates that “skip picture coding is performed”, an all-zero value is selected and output to the adder 8 (step ST9).
  • the adder 8 predicts a local decoded prediction difference signal or all-zero value selected by the selection switch 7 and a prediction image generated by the motion compensation prediction unit 2 (a prediction image related to a difference image having the highest coding efficiency). By adding the signals, a locally decoded image signal indicating a locally decoded image is generated (steps ST8 and ST9).
  • the loop filter 9 is generated by the adder 8 using a block distortion removal filter (deblocking filter) for the DCT block boundary. Distortion compensation processing for compensating for coding distortion included in the locally decoded image is performed (step ST10).
  • the picture coding method control information indicates that “skip picture coding is performed”
  • the predicted image is directly input from the adding unit 8 to the loop filter 9, so that the motion vector allocation region of the predicted image is set.
  • a motion block boundary smoothing process is performed to alleviate discontinuity of the generated block boundary (macroblock boundary in motion prediction mode B) (step ST11).
  • the loop filter image (the locally decoded image after the filter process) output from the loop filter 9 is stored as a reference image.
  • the motion block boundary smoothing process in the loop filter 9 uses an overlap motion compensation process at a macroblock boundary.
  • FIG. 5 is an explanatory diagram showing the overlap motion compensation process.
  • the macroblock X in FIG. 5A is the current macroblock to be processed, and the macroblocks A, B, C, and D are macroblocks at positions surrounding the macroblock X.
  • the motion block boundary smoothing process according to the first embodiment assumes that the process is performed in units of frames, and when the smoothing process is performed on the macroblock X, the surrounding macroblocks A, B, C, Similarly, it is assumed that motion vectors MVL0 and MVL1 are determined for D. By utilizing this fact, the following image data is regenerated for the block boundary regions X0 to X3 in the macroblock X shown in FIG.
  • u0 i horizontal component of MVL0 i
  • v0 vertical component of MVL0 i (i: any one of A, B, C, D)
  • u1 i horizontal component of MVL1 i
  • v1 vertical component of MVL1 i (i: any one of A, B, C, D)
  • the weight parameters w 0 to w 4 are defined according to each pixel position in the macro block as shown in FIGS. 12 and 13 (when the macro block is a 16 ⁇ 16 pixel block).
  • the smoothing process By performing the smoothing process with such weights, only the motion block boundaries in the macroblock X are subjected to the smoothing process, and appropriate motion vectors of surrounding macroblocks are considered according to the boundary positions.
  • the weight values in the figure can be multiplied and divided by bit shift, and can be realized by processing with a reduced amount of calculation.
  • the input image is a color image made up of a luminance signal and a color difference signal (or RGB, etc.) and the macro block also includes blocks of each color component
  • this smoothing processing is performed according to the weight parameter determined according to the characteristics of each color component. It is executed for each color component block.
  • the area defining the non-zero weight in the X0 to X3 regions may be determined according to the size of the macroblock when the size of the macroblock is variable.
  • the weight parameter may be designed so that the weight of the value by the peripheral motion vector with respect to the vicinity of the center of the macroblock X becomes small according to the macroblock size.
  • the image encoding apparatus may control the weight parameter to an optimal value, and the variable length encoding unit 11 may encode the weight parameter and multiplex it into a bit stream.
  • the unit for encoding the weight parameter may be a picture unit or a slice unit obtained by collecting a plurality of macroblocks.
  • the encoding apparatus controls each unit using the picture encoding method control information, thereby performing local decoding image and picture code amount in the case of “performing normal picture encoding” and “skip picture”
  • a locally decoded image and a picture code amount (which can be regarded as almost zero) in the case of “encoding” can be obtained. Therefore, a rate distortion cost as a picture is calculated from both the processing results (steps ST12 and ST13), and the smaller calculated cost is used for encoding the picture (step ST14).
  • variable-length coding unit 11 uses the compressed data output from the compression unit 5 (quantization parameters for quantizing DCT coefficients). A bit indicating the encoding result by entropy encoding the prediction parameters (motion prediction mode, motion vector, reference image identification number) and picture encoding method control information output from the encoding mode determination unit 4 A stream (encoded data) is generated, and the bit stream is output (step ST10). However, when the encoding mode determination unit 4 selects the difference image A, the variable length encoding unit 11 performs entropy encoding on the prediction parameter including the motion vector.
  • variable length encoding unit 11 When the image B is selected, a prediction parameter that does not include a motion vector (direct vector) is entropy encoded.
  • the variable length encoding unit 11 only encodes the picture encoding method control information, and all codes at the macroblock level are encoded. Do not multiplex data into a bitstream. However, when encoding is performed by adaptively changing the weight parameter, the weight parameter value is multiplexed into the bit stream in units of change.
  • the rate distortion cost is reduced.
  • the encoding procedure is not limited to such two-pass encoding.
  • the motion prediction mode B is The motion parameters obtained as a result of the evaluation are separately stored for all the macroblocks, and each time when “normal picture coding” and “skip picture coding” are performed when reaching the loop filter 9. It can be configured to obtain results simultaneously.
  • activity information for determining whether sufficient encoding performance can be realized by performing “skip picture encoding” at the picture level in advance is obtained, and based on the activity information, Alternatively, it may be configured to determine whether or not to evaluate the “perform skip picture encoding” process. For example, only when the frame rate is higher than a predetermined numerical value, “skip picture encoding” is allowed, or when the simple difference between adjacent frames is less than a predetermined threshold (the motion between frames is compared). In such a case, it is allowed to perform “skip picture coding” only in the case of a small size), or between adjacent frames based on the motion parameter and the code amount of the prediction difference signal based on the result of past interframe predictive coding. Thus, it is possible to perform encoding with a reduced amount of computation without performing 2-pass encoding processing / evaluation.
  • FIG. 6 is an explanatory diagram showing a bit stream output from the variable length encoding unit 11.
  • a picture encoded data portion is shown. If the picture encoding method control information indicates that “normal picture encoding is performed”, the variable length encoding unit 11 adds, in addition to the picture level header data, as shown in FIG. A bit stream into which encoded data (encoded data of compressed data, prediction parameters) of a plurality of macroblocks in a picture is inserted is generated and output. On the other hand, if the picture coding method control information indicates that “skip picture coding is performed”, as shown in FIG. 6B, the bit stream contains coded data (compressed data of the compressed data). (Encoded data) is not multiplexed.
  • the encoded data of the macroblock (the prediction parameter indicating the motion prediction mode and the identification number of the reference image) is multiplexed into the bit stream.
  • the prediction parameter indicating the motion prediction mode and the identification number of the reference image
  • the direct parameter generated by the motion compensation prediction unit 2 is not included in the prediction parameter, and is included in the bitstream. Not multiplexed.
  • the variable length coding unit 11 uses the image code.
  • the picture encoding method selection information input to the encoding device is multiplexed with the picture level header data. If the image coding apparatus controls the weight parameters w 0 to w 7 of the overlap motion compensation process to optimum values, the variable length coding unit 11 sets the weight parameters w 0 to w 7 to the picture level. To the header data.
  • normal picture coding or skip picture coding is selected at the picture level. However, selection may be made in units of slices that define a specific partial area in the screen.
  • the processing of the image encoding device is configured to be executed separately for each slice, and the picture encoding method selection information is multiplexed on the slice level header data as slice encoding method selection information.
  • the weight parameters w 0 to w 4 may also be configured to be multiplexed on the slice level header data.
  • the block unit for obtaining the direct vector is not necessarily limited to the macro block.
  • the block size when performing skip picture encoding can be configured so that the encoding device and decoding device define common rules according to the size of the input image and the size of the macro block, or in the picture level header
  • the block size in the case of performing skip picture encoding may be encoded and transmitted to the decoding device side. (This encoding is not limited to pictures. It may be in units of slices).
  • the motion vector (direct vector) is estimated in units of macroblocks, and the overlap motion compensation process in the loop filter 9 is applied. It goes without saying that the overlap motion compensation processing in the loop filter 9 can be applied even if the motion vector estimation unit in the prediction mode is a sub-block or the like.
  • the motion block boundary smoothing process an activity value is obtained for the motion vector allocation block boundary according to the size of the motion vector, the difference in the identification number of the reference image, the size of the pixel shift at the boundary, etc.
  • a process for performing smoothing filtering of pixels adjacent to the boundary according to the magnitude of the activity values may be introduced.
  • the difference image A is encoded between the image of the macroblock to be encoded and the prediction image A generated in the motion prediction mode A by the motion compensation prediction unit 2. While evaluating efficiency, the encoding efficiency of the difference image B between the image of the macroblock to be encoded and the prediction image B generated in the motion prediction mode B by the motion compensation prediction unit 2 is evaluated, and the encoding efficiency is high
  • a coding mode determination unit 4 that selects the difference image of the other side, and a DCT process and a quantization process on the prediction difference signal indicating the difference image selected by the coding mode determination unit 4 to perform compression data (quantization parameter)
  • a variable length encoding unit 11 includes compressed data output from the compression unit 5 (including quantization parameters used when quantizing DCT coefficients), an encoding module, and the like.
  • the bit stream is generated by variable length coding the prediction parameter and the picture coding method control information output from the video determination unit 4, it is possible to obtain a sufficient coding quality during the coding process.
  • the quality of the reproduced image in the image decoding apparatus is increased with the same code amount as compared with the conventional example in which the motion vector is estimated on the image decoding apparatus side regardless of the image encoding apparatus and the interpolation frame is generated. There is an effect that can be.
  • the predicted image B is generated in the motion prediction mode B in which skip pictures are encoded, it is not necessary to multiplex picture encoded data (encoded compressed data) into the bit stream, so that the normal picture code
  • the amount of code can be significantly reduced as compared with the case where the prediction image A is generated in the motion prediction mode A in which the prediction is performed, while the prediction image B generated in the motion prediction mode B ensures sufficient quality.
  • the prediction image A generated in the motion prediction mode A can be used, the encoding quality can be maintained.
  • motion prediction mode B that encodes a skip picture
  • direct prediction it is possible to reduce the discontinuity of the block boundary that occurs in the motion vector allocation region of the predicted image. For example, when the frame rate is high and the motion between frames is extremely small, macro block skip control information indicating that the prediction difference signal is zero is provided for each macro block. The amount of signaling data can be reduced compared to transmission. In particular, when the video resolution is high and the number of macroblocks in the picture is large, the effect of reducing the amount of control information is increased.
  • the encoding mode determination unit 4 determines that the encoding target macroblock image and Since the prediction error signal indicating the difference image B between the prediction images B generated in the motion prediction mode B is forcibly replaced with a zero value, the amount of code required for encoding the macroblock to be encoded is approximately As a result, the code amount of the bit stream can be greatly reduced.
  • the compression unit 5 when the picture coding method control information indicates that “skip picture coding is performed”, the compression unit 5 generates a macroblock image to be coded and the motion prediction mode B.
  • the prediction error signal (all zero value signal) indicating the difference image B between the predicted images B is not subjected to DCT processing or quantization processing, and the prediction error signal (all zero value signal) is sent to the variable length coding unit 11. Since it was comprised so that it might output, there exists an effect which can reduce the processing amount of an image coding apparatus.
  • the loop filter 9 includes the coding distortion included in the locally decoded image.
  • the loop filter 9 detects the discontinuity existing at the block boundary. Since the block boundary smoothing process to be relaxed is implemented, there is an effect that the quality of the locally decoded image can be improved in any of the motion prediction modes A and B.
  • the local decoding unit 6 when the picture coding method control information indicates that “skip picture coding is performed”, the local decoding unit 6 performs an inverse quantization process on the compressed data output from the compression unit 5 In addition, since the prediction image B generated by the motion compensation prediction unit 2 is handled as a locally decoded image without performing the inverse DCT process, the processing amount of the image encoding device can be reduced.
  • variable length decoding unit 22 receives the bit stream output from the image encoding device of FIG. 1, the variable length decoding unit 22 analyzes the picture level header data in the bit stream and decodes the picture encoding method selection information (FIG. 9). Step ST11). If the picture coding method control information indicates that “normal picture coding is performed” (step ST12), the variable length decoding unit 22 performs entropy decoding on macroblock coded data after the picture level header data. Processing is performed to decode compressed data (including quantization parameters for quantizing DCT coefficients) and prediction parameters of a plurality of macroblocks in a picture (step ST13). The compressed data (including the quantization parameter when quantizing the DCT coefficient) decoded by the variable length decoding unit 22 is output to the prediction error decoding unit 23, and the prediction parameter is output to the motion compensation unit 24.
  • the variable length decoding unit 22 analyzes the picture level header data and multiplexes it into the bit stream. If so, information on the weight parameters w 0 to w 4 and the motion vector allocation block size to be processed in motion prediction mode B is decoded. Further, the entropy decoding process is performed on the macroblock encoded data after the picture level header data to decode the prediction parameters of a plurality of macroblocks in the picture (step ST14). The prediction parameters and weight parameters w 0 to w 4 decoded by the variable length decoding unit 22 are output to the motion compensation unit 24. Note that the picture coding method selection information decoded by the variable length decoding unit 22 is output to the motion compensation unit 24, the selection switch 25, and the loop filter 27.
  • the prediction error decoding unit 23 When receiving the compressed data from the variable length decoding unit 22, the prediction error decoding unit 23 reverses the compressed data using the quantization parameter included in the compressed data, similarly to the local decoding unit 6 of FIG. 1.
  • a DCT coefficient is obtained by quantization, and an inverse DCT process is performed on the DCT coefficient, whereby a prediction error signal decoded value indicating a difference image (corresponding to a prediction difference signal output from the encoding mode determination unit 4 in FIG. 1). Signal) is calculated (step ST15).
  • the selection switch 25 decodes the prediction error signal decoded by the prediction error decoding unit 23. A value is selected and output to the adder 26 (step ST16). On the other hand, if the picture coding method control information indicates that “skip picture coding is performed”, the all-zero value is selected and output to the adder 26 (step ST17).
  • the motion compensation unit 24 When the motion compensation unit 24 receives the prediction parameter from the variable length decoding unit 22, the motion compensation unit 24 reads the reference image indicated by the identification number in the prediction parameter from one or more reference images stored in the frame memory 28. Do. When the picture encoding method control information output from the variable length decoding unit 22 indicates that “normal picture encoding is performed”, the motion compensation unit 24 includes the prediction parameter in the prediction parameter output from the variable length decoding unit 22. If the motion prediction mode is motion prediction mode A (step ST18), the prediction image A is generated in the motion prediction mode A in the same manner as the motion compensation prediction unit 2 in FIG. 1 (step ST19). However, unlike the motion compensation prediction unit 2 in FIG.
  • the motion compensation unit 24 uses the motion vector in the prediction parameter output from the variable length decoding unit 22 without performing the motion vector search process itself.
  • the motion prediction mode in the prediction parameter output from the variable length decoding unit 22 is the motion prediction mode B (step ST18)
  • the prediction image is used in the motion prediction mode B as in the motion compensation prediction unit 2 in FIG. B is generated (step ST20).
  • the motion compensation unit 24 generates a direct vector of the macroblock to be decoded from the motion vector of the decoded macroblock stored in the motion parameter memory 21, and performs a motion compensation prediction process using the direct vector.
  • a predicted image B is generated.
  • the motion compensation unit 24 prepares for generating a predicted image of the next macroblock in the motion prediction mode B.
  • the vector (direct vector) and related information are stored in the motion parameter memory 21 for one screen. If the picture coding method control information output from the variable length decoding unit 22 indicates that “skip picture coding is to be performed”, the motion compensation unit 24, like the motion compensation prediction unit 2 in FIG. A prediction image B is generated in the prediction mode B (step ST21).
  • the adder 26 adds the prediction error signal decoded value and the prediction signal indicating the prediction image A or the prediction image B generated by the motion compensation unit 24.
  • a decoded image signal indicating the decoded image is generated (step ST22).
  • the decoded image signal indicating the decoded image is generated by adding the all-zero value and the predicted signal indicating the predicted image B generated by the motion compensation unit 24. (Step ST23).
  • the loop filter 27 like the loop filter 9 in FIG.
  • a distortion compensation process for compensating for the coding distortion included in the decoded image generated by the adder 26 is performed using a block distortion removal filter (deblocking filter) for (step ST24).
  • the picture coding method control information indicates that “skip picture coding is performed”, as with the loop filter 9 in FIG. 1, a block boundary (motion prediction) generated in the motion vector allocation region of the predicted image is displayed.
  • mode B motion block boundary smoothing processing is performed to alleviate the discontinuity of the macroblock boundary (step ST25).
  • the reproduced image (the decoded image after the filtering process) output from the loop filter 27 is referred to as a reference image.
  • variable length decoding unit 22 if the picture encoding method control information decoded by the variable length decoding unit 22 indicates that “normal picture encoding is performed”, the variable length The prediction vector A is generated in the motion prediction mode A using the motion vector decoded by the decoding unit 22, and the picture encoding method control information decoded by the variable length decoding unit 22 is “perform skip picture encoding”.
  • the motion compensation unit 24 that generates a prediction image in the motion prediction mode B, the prediction image generated by the motion compensation unit 24, and the difference image output from the prediction error decoding unit 23 are added to generate an image Since it is configured to generate a decoded image corresponding to the input image of the encoding device, it is possible to reproduce a high-quality image from the bitstream transmitted from the image encoding device Unlikely to.
  • the loop filter 27 performs the decoded image.
  • the loop filter 27 is placed at the block boundary. Since the block boundary smoothing process for relieving the existing discontinuity is performed, the effect of improving the quality of the reproduced image is achieved.
  • Embodiment 2 when the picture coding method control information indicates that “skip picture coding is performed”, the motion compensation prediction unit 2 predicts that the motion prediction mode B is the AVC direct prediction mode. Although shown about what produces
  • FIG. 10 shows a process of generating a predicted image B by the motion compensated prediction unit 2 (in the case of encoding a picture F t that is exactly in the middle of time as a skipped picture with respect to the encoded pictures F t ⁇ 1 and F t + 1 .
  • FIG. 11 is an explanatory diagram showing the estimated contents of the motion vector d f (x, t) of the macroblock X.
  • the motion compensation prediction unit 2 encodes a picture F as a P picture or an image to be referenced for motion compensation prediction after that as a preparation for generating the prediction image B in the motion prediction mode B, and a plurality of macros in the picture F It is assumed that the motion prediction mode, motion vector, and motion prediction error amount of the block are stored in the motion parameter memory 1. As shown in FIG. 10, the motion compensated prediction unit 2 encodes a picture F t that is exactly in the middle of time as a skip picture with respect to the encoded pictures F t ⁇ 1 and F t + 1 . The bi-directional interpolation shown in FIG.
  • d f (x, t) and d b (x, t) are motion vectors, and are shown in FIG. 11 from the motion vector of the encoded picture F t + 1 stored in the motion parameter memory 1. It is obtained by estimation in the procedure.
  • the motion compensated prediction unit 2 spatially has the same position as the nine macroblocks constituting the region R in the encoded picture F t + 1 (the processing target macroblock X in the encoding target picture F t ).
  • the motion vector, motion prediction mode, and prediction residual amount of the macro block in the encoded picture F t + 1 and eight macro blocks located in the vicinity of the macro block are acquired from the motion parameter memory 1 and referred to. .
  • the vector in the block having a small prediction error amount can be given a strong weight.
  • the estimation method of the motion vector d f (x, t) here is such that the smaller the prediction error amount, the higher the reliability of the vector itself, and the greater the prediction residual absolute value sum, the lower the reliability of the vector itself. It is a method based on properties.
  • is a weighting coefficient determined by a time interval between the picture F t and the picture F t + 1 .
  • blocks that are intra-coded are excluded from the above calculation.
  • the motion vector d f (x, t) is estimated to be (0, 0).
  • It may be configured to be used for generation of a decoded picture of a skip picture by selecting the encoding apparatus alone or by cooperation of the encoding apparatus and the decoding apparatus.
  • an optimum estimated motion vector index is multiplexed into the bitstream for each unit for which the estimated motion vector is obtained.
  • additional processing for selecting the estimated motion vector is required on the decoding device side, while the index of the estimated motion vector is multiplexed on the bitstream. Therefore, encoding efficiency can be improved.
  • the estimated motion vector can be selected from a plurality of candidates, so the quality was maintained even when the accuracy of the estimated motion vector uniquely obtained by a specific estimation method was not sufficient There is an effect that encoding can be performed.
  • the image encoding device, the image decoding device, the image encoding method, and the image decoding method according to the present invention can improve the quality of the reproduced image on the receiving side, the image compression encoding technology, the compressed image data transmission technology, etc. Suitable for use.

Abstract

 符号化対象のマクロブロックの画像と動き補償予測部2により動き予測モードAで生成された予測画像A間の差分画像Aの符号化効率を評価するとともに、符号化対象のマクロブロックの画像と動き補償予測部2により動き予測モードBで生成された予測画像B間の差分画像Bの符号化効率を評価し、符号化効率が高い方の差分画像を選択する符号化モード判定部4を設けるように構成する。

Description

画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
 この発明は、画像圧縮符号化技術や圧縮画像データ伝送技術などに用いられる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法に関するものである。
 例えば、MPEG(Moving Picture Experts Group)や「ITU-T H.26x」などの国際標準映像符号化方式では、輝度信号16×16画素と、その輝度信号16×16画素に対応する色差信号8×8画素とをまとめたブロックデータ(以下、「マクロブロック」と称する)を一単位として、動き補償技術や直交変換/変換係数量子化技術に基づいて圧縮する方法が採用されている。
 動き補償技術は、ビデオフレーム間に存在する高い相関を利用してマクロブロック毎に時間方向の信号の冗長度を削減する技術である。
 即ち、動き補償技術では、既に符号化が完了している符号化済みフレームを参照画像としてメモリに蓄積し、そのメモリに蓄積している参照画像内の所定の探索範囲内で、動き補償予測の対象ブロックである現マクロブロックと最も差分電力が小さいブロック領域を探索する。
 そして、最も差分電力が小さいブロック領域の空間位置と現マクロブロックの空間位置との変位を動きベクトルとして符号化する技術である。
 上記の動きベクトルは、予測の効率のみならず、ビデオフレーム間の各ブロックにおける局所的な動きを表していることも多いため、近年、その動きベクトルの情報を利用して、映像の単位時間当りのコマ数(フレームレート)を増やす目的で、補間画像を生成する技術が開発されている。
 最も単純なモデルとしては、例えば、時間的にビデオフレーム間のちょうど真ん中に補間画像を生成する際、動きベクトルの値を半分にした値を補間画像の動きベクトルとして採用し、その動きベクトルを用いて、前後のフレームから動きを補償するという方法がある。
 これはビデオフレーム間の動きがリニアであることを仮定した場合のモデルであり、ビデオフレームの間隔が短い程に上記の仮定が成り立ち、また、その動きベクトルが小さい程に上記の仮定が成り立つため、ある程度の補間画像を作成することが可能である。
 ただし、動きベクトルは、上述したように、ビデオフレーム間の各ブロックにおける局所的な動きを表していることが多いが、実際は最も差分電力が小さいブロック領域を探索して求められるものであり、局所的な動きを表さないこともある。
 そのような場合、補間画像に乱れが発生し、その乱れが非常に目立つことが多いため、「動きを正確に表現できていない動きベクトル」を如何に判定して、それらを除外しつつ本来の動きをどこまで正確に推定できるかが重要である。
 例えば、以下の非特許文献1や特許文献1には、汎用の映像符号化方式によって得られたビットストリームから動きパラメータを抽出し、その動きパラメータに依存して、受信側における再生動画像のフレームレートを擬似的に増加させることを目的とするフレーム補間技術が開示されている。
特開2009-188996号公報
H. Sasai, S. Kondoh, and S. Kadono, "Frame-rate Up-conversion using Reliable Analysis of Transmitted Motion Information". IEEE International Conference on Acoustic, Speech and Signal Processing (ICASSP) 2004, ITT-L1.5, May 2004.
 従来の画像符号化装置は以上のように構成されているので、受信側において、再生動画像のフレームレートを擬似的に増加することで、ある程度は、再生動画像の品質を高めることができる。しかし、符号化処理の過程で十分な符号化品質が得られるように、最適な符号化制御を実施しているものではないため、受信側で得られる再生動画像の品質の向上には限度があり、再生動画像の品質の最適性を保証することができない課題があった。
 この発明は上記のような課題を解決するためになされたもので、受信側における再生画像の品質を高めることができる画像符号化装置及び画像符号化方法を得ることを目的とする。
 また、この発明は、画像符号化装置から送信された符号化データから品質が高い画像を再生することができる画像復号装置及び画像復号方法を得ることを目的とする。
 この発明に係る画像符号化装置は、ブロックの動きベクトルを検出する動き検出手段と、動き検出手段により検出された動きベクトルを用いて第1の予測画像を生成する第1の予測画像生成手段と、動き検出手段により検出された動きベクトルを保持するメモリと、メモリに保持される動きベクトルをもとに符号化対象のブロックの動きベクトルを生成する動きベクトル生成手段と、動きベクトル生成手段により生成された動きベクトルを用いて第2の予測画像を生成する第2の予測画像生成手段と、第1の予測画像生成手段により生成された第1の予測画像と符号化対象のブロックとの差分画像を符号化するとともに、第1の予測画像の生成に用いた動きベクトルを符号化する符号化手段と、その差分画像の局部復号画像を生成し、その局部復号画像を第1の予測画像と加算することによって局部復号画像を生成する局部復号手段と、第2の予測画像生成手段により生成された第2の予測画像に対して、ブロック境界に対する平滑化処理を行うフィルタリング手段とを備え、局部復号手段によって得られるブロックの第1の局部復号画像か、フィルタリング手段によって得られる画像のいずれかを、1つないし複数のブロックから構成される所定画像領域内の局部復号画像として選択し、その選択結果をビットストリームに多重して符号化伝送するようにしたものである。
 この発明によれば、ブロックの動きベクトルを検出する動き検出手段と、動き検出手段により検出された動きベクトルを用いて第1の予測画像を生成する第1の予測画像生成手段と、動き検出手段により検出された動きベクトルを保持するメモリと、メモリに保持される動きベクトルをもとに符号化対象のブロックの動きベクトルを生成する動きベクトル生成手段と、動きベクトル生成手段により生成された動きベクトルを用いて第2の予測画像を生成する第2の予測画像生成手段と、第1の予測画像生成手段により生成された第1の予測画像と符号化対象のブロックとの差分画像を符号化するとともに、第1の予測画像の生成に用いた動きベクトルを符号化する符号化手段と、その差分画像の局部復号画像を生成し、その局部復号画像を第1の予測画像と加算することによって局部復号画像を生成する局部復号手段と、第2の予測画像生成手段により生成された第2の予測画像に対して、ブロック境界に対する平滑化処理を行うフィルタリング手段とを備え、局部復号手段によって得られるブロックの第1の局部復号画像か、フィルタリング手段によって得られる画像のいずれかを、1つないし複数のブロックから構成される所定画像領域内の局部復号画像として選択し、その選択結果をビットストリームに多重して符号化伝送するように構成したので、受信側における再生画像の品質を高めることができる効果がある。
この発明の実施の形態1による画像符号化装置を示す構成図である。 ピクチャタイプに応じて選択可能な動き予測モードの一例を示す説明図である。 時間ダイレクトモードにおけるダイレクトベクトルの算出方法を示す模式図である。 空間ダイレクトモードによる動きベクトルの推定方法を示す模式図である。 オーバラップ動き補償処理を示す説明図である。 可変長符号化部11から出力されるビットストリームを示す説明図である。 この発明の実施の形態1による画像復号装置を示す構成図である。 この発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。 動き補償予測部2による予測画像Bの生成処理(符号化済みピクチャFt-1,Ft+1に対して、時間的にちょうど真ん中にあるピクチャFをスキップピクチャとして符号化する場合の生成処理)の一例を示す説明図である。 マクロブロックXの動きベクトルd(x,t)の推定内容を示す説明図である。 マクロブロック内の各画素位置に応じて定義される重みパラメータを示す説明図である。 マクロブロック内の各画素位置に応じて定義される重みパラメータを示す説明図である。
 以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
 図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
 図1の画像符号化装置では、入力画像がマクロブロック単位(あるいは、マクロブロックが分割されたサブマクロブロック単位)に分割され、マクロブロック単位(あるいは、サブマクロブロック単位)の入力画像が動き補償予測部2及び減算器3に入力される。符号化処理はマクロブロックごとに実行されるものとし、入力画像を構成するすべてのマクロブロックの符号化処理が終了した時点で、該入力画像の符号化処理が終了するものとする。
 以下、この実施の形態1では、説明の便宜上、マクロブロック単位の入力画像が動き補償予測部2及び減算器3に入力されるものとして説明する。動き補償予測部2及び減算器3への入力がサブマクロブロック単位となる場合、「マクロブロック」を「サブマクロブロック」に読み替え、1つのマクロブロックの処理は、その内部のすべてのサブマクロブロックの処理が終了することで終了、とする。
 また、図1の画像符号化装置では、「マクロブロックごとに動きパラメータや予測残差情報の符号化を伴う通常のピクチャ符号化を行う」のか、「スキップピクチャ符号化を行う」のか示すピクチャ符号化方法制御情報(制御情報)が動き補償予測部2、符号化モード判定部4、選択スイッチ7、ループフィルタ9及び可変長符号化部11に入力される。
 図1において、動きパラメータメモリ1は例えば符号化済みマクロブロックの予測パラメータ(動き予測モード、動きベクトル、参照画像の識別番号)などを格納する例えばRAMなどの記録媒体である。
 動き補償予測部2はフレームメモリ10に格納されている1フレーム以上の動き補償予測用の参照画像の中から実際に予測に用いる参照画像を選択し、入力画像を構成しているマクロブロックの単位で、動き補償予測処理を実施することで予測画像を生成する処理を実施する。
 動き補償予測部2は予測画像を生成する際の予測画像生成方式として、第1の予測画像生成方式(「動き予測モードA」による予測画像生成方式)と、第2の予測画像生成方式(「動き予測モードB」による予測画像生成方式)とを備えており、動き予測モードAと動き予測モードBによって予測画像をそれぞれ生成する。
 動き予測モードAの場合、1つの動きベクトルは、フレームメモリ10に格納されている1フレーム以上の参照画像のうちのいずれか1つを選び、該選択した参照画像中で、動き補償予測の対象となるマクロブロックの画面内位置を起点として、平行移動変位した位置のうち、対象マクロブロックの画像パターンをもっともよく表現するブロックを特定することにより、その画面内変位量として求められる。即ち、動きベクトルは、その算出に用いた参照画像と対で規定されるため、フレームメモリ10に格納されている1フレーム以上の参照画像のうちのいずれの参照画像を用いて算出されたかを参照画像識別番号によって指定する。動き補償予測の対象となるマクロブロックに対して2つ以上の動きベクトルが割り当てられる場合は、それぞれの動きベクトルがそれぞれいずれの参照画像を用いて得られたかを、個別に参照画像識別番号によって指定する。なお、動き補償予測の対象となるマクロブロックに対して2つ以上の動きベクトルが使用される場合に、それぞれが異なる参照画像識別番号を示していてもよいし、そのうちのいくつかが同じ参照画像識別番号であってもかまわない。得られた動きベクトル及び参照画像識別番号を用いて予測画像Aを生成する(動き補償予測の対象となるマクロブロックの画面内位置から、その動きベクトルの分だけ変移した位置の画像領域を用いて、予測画像Aを生成する)。
 動き予測モードBの場合、動きパラメータメモリ1に格納されている符号化済みマクロブロックの予測パラメータ符号化対象のマクロブロックの推定ベクトルを生成し、その推定ベクトルを用いる動き補償予測処理を実施して予測画像Bを生成する。
 ただし、動き補償予測部2はピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、動き予測モードAと動き予測モードBによって、予測画像をそれぞれ生成するが、「スキップピクチャ符号化を行う」旨を示していれば、動き予測モードAを使用せず、動き予測モードBのみで予測画像を生成する。
 なお、動き補償予測部2は予測画像生成手段を構成している。
 減算器3は符号化対象のマクロブロックの画像と動き補償予測部2により動き予測モードAで生成された予測画像Aの差分を求めて差分画像Aを算出するとともに、符号化対象のマクロブロックの画像と動き補償予測部2により動き予測モードBで生成された予測画像Bの差分を求めて差分画像Bを算出する処理を実施する。
 ただし、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、予測画像Aが生成されないので、符号化対象のマクロブロックの画像と動き予測モードAで生成された予測画像Aの差分を求めて差分画像Aを算出する処理は行わない。
 符号化モード判定部4は符号化対象のマクロブロックの画像と動き予測モードAで生成された予測画像A間の差分画像Aの符号化効率を評価するとともに、符号化対象のマクロブロックと動き予測モードBで生成された予測画像B間の差分画像Bの符号化効率を評価し、最も符号化効率が高い差分画像を選択する処理を実施する。
 また、符号化モード判定部4は最も符号化効率が高い差分画像を示す予測差分信号を圧縮部5に出力するとともに、その差分画像に係る予測画像の生成に用いられた予測パラメータ(動き予測モード(予測画像識別情報)、動きベクトル(またはダイレクトベクトル)、参照画像の識別番号)を動きパラメータメモリ1に格納し、また、その予測パラメータ(動き予測モード(予測画像識別情報)、動きベクトル(差分画像Aを選択した場合に限り、動きベクトルを予測パラメータに含め、差分画像Bを選択した場合、動きベクトルを予測パラメータに含めない)、参照画像の識別番号)を可変長符号化部11に出力する処理を実施する。
 ただし、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、予測画像Aが生成されないので、差分画像Aの符号化効率を評価する処理は行わない。
 なお、減算器3及び符号化モード判定部4から差分画像選択手段が構成されている。
 圧縮部5は符号化モード判定部4から出力された予測差分信号に対するDCT(離散コサイン変換)処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化して、量子化後のDCT係数である圧縮データを局部復号部6及び可変長符号化部11に出力する処理を実施する。
 なお、圧縮部5は量子化手段を構成している。
 局部復号部6は圧縮部5から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT(逆離散コサイン変換)処理を実施することで、符号化モード判定部4から出力された予測差分信号に相当する局部復号予測差分信号を算出する処理を実施する。
 選択スイッチ7はピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、局部復号部6により算出された局部復号予測差分信号を選択して加算器8に出力し、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、オールゼロ値を選択して加算器8に出力する処理を実施する。
 加算器8は選択スイッチ7により選択された局部復号予測差分信号又はオールゼロ値を動き補償予測部2により生成された予測画像(最も符号化効率が高い差分画像に係る予測画像)を示す予測信号に加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
 ループフィルタ9はピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、DCTブロック境界に対するブロック歪み除去フィルタ(デブロッキングフィルタ)を用いて、加算器8により生成された局部復号画像に含まれている符号化歪みを補償する歪み補償処理を実施し、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、予測画像の動きベクトル割り当て領域に発生するブロック境界(動き予測モードBでは、マクロブロック境界)の不連続性を緩和する動きブロック境界平滑化処理を実施する。
 なお、局部復号部6、選択スイッチ7、加算器8及びループフィルタ9から参照画像生成手段が構成されている。
 フレームメモリ10はループフィルタ9から出力されたループフィルタ画像(フィルタ処理後の局部復号画像)を参照画像として格納するRAMなどの記録媒体である。
 可変長符号化部11は圧縮部5から出力された圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)、符号化モード判定部4から出力された予測パラメータ及びピクチャ符号化方法制御情報をエントロピー符号化して、その符号化結果を示すビットストリーム(符号化データ)を生成し、そのビットストリームを出力する処理を実施する。
 なお、可変長符号化部11は可変長符号化手段を構成している。
 図1では、画像符号化装置の構成要素である動き補償予測部2、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、選択スイッチ7、加算器8、ループフィルタ9及び可変長符号化部11のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部2、減算器3、符号化モード判定部4、圧縮部5、局部復号部6、選択スイッチ7、加算器8、ループフィルタ9及び可変長符号化部11の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図8はこの発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。
 図7はこの発明の実施の形態1による画像復号装置を示す構成図である。復号処理はマクロブロックごとに実行されるものとし、復号画像を構成するすべてのマクロブロックの復号処理が終了した時点で、該復号画像の復号処理が終了するものとする。さらに、1つのマクロブロックが複数のサブマクロブロックから構成される場合、1つのマクロブロックの復号処理は、その内部のすべてのサブマクロブロックの復号処理が終了することで終了、とする。以下では、説明の便宜上、符号化装置側にあわせて「マクロブロック」を処理単位として説明を行うが、「マクロブロック」を「サブマクロブロック」に読み替えることにより、サブマクロブロックに対する復号処理として説明可能である。
 図7において、動きパラメータメモリ21は例えば復号済みマクロブロック(あるいは、復号済みサブマクロブロック)の予測パラメータ(動き予測モード、動きベクトル、参照画像の識別番号)などを格納する例えばRAMなどの記録媒体である。
 可変長復号部22は図1の画像符号化装置から出力されたビットストリーム(符号化データ)を入力し、そのビットストリームから圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)、予測パラメータ(動き予測モード(予測画像識別情報)、動きベクトル(図1の符号化モード判定部4により差分画像Aが選択されている場合、動きベクトルが予測パラメータに含まれているが、差分画像Bが選択されている場合、動きベクトルは予測パラメータに含まれていない)、参照画像の識別番号)及びピクチャ符号化方法制御情報をエントロピー復号して、その圧縮データを予測誤差復号部23に出力し、その予測パラメータを動き補償部24に出力し、そのピクチャ符号化方法制御情報を動き補償部24、選択スイッチ25及びループフィルタ27に出力する処理を実施する。なお、可変長復号部22は可変長復号手段を構成している。
 予測誤差復号部23は可変長復号部22から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号復号値(図1の符号化モード判定部4から出力された予測差分信号に相当する信号)を算出する処理を実施する。なお、予測誤差復号部23は逆量子化手段を構成している。
 動き補償部24はフレームメモリ28に格納されている1フレーム以上の参照画像の中から、可変長復号部22から出力された予測パラメータ内の識別番号が示す参照画像を読み出し、可変長復号部22から出力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、可変長復号部22から出力された予測パラメータ内の動き予測モード及び動きベクトルと上記参照画像を用いる動き補償処理を実施することで、予測画像Aを生成する処理を実施する。
 一方、可変長復号部22から出力されたピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、動きパラメータメモリ21に格納されている復号済みマクロブロックの動きベクトルから復号対象のマクロブロックの推定ベクトルを生成し、その推定ベクトルを用いる動き補償処理を実施して予測画像Bを生成する処理を実施する。
 なお、動き補償部24は予測画像生成手段を構成している。
 選択スイッチ25は可変長復号部22から出力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、予測誤差復号部23により算出された予測誤差信号復号値を選択して加算器26に出力し、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、オールゼロ値を選択して加算器26に出力する処理を実施する。
 加算器26は選択スイッチ25により選択された局部復号予測差分信号又はオールゼロ値を動き補償部24により生成された予測画像を示す予測信号に加算することで、復号画像を示す復号画像信号を生成する処理を実施する。
 ループフィルタ27は可変長復号部22から出力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、DCTブロック境界に対するブロック歪み除去フィルタ(デブロッキングフィルタ)を用いて、加算器26により生成された復号画像に含まれている符号化歪みを補償する歪み補償処理を実施し、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、予測画像の動きベクトル割り当て領域に発生するブロック境界(動き予測モードBでは、マクロブロック境界)の不連続性を緩和する動きブロック境界平滑化処理を実施する。
 なお、選択スイッチ25、加算器26及びループフィルタ27から復号画像生成手段が構成されている。
 フレームメモリ28はループフィルタ27から出力された再生画像(フィルタ処理後の復号画像)を参照画像として格納するRAMなどの記録媒体である。
 図7では、画像復号装置の構成要素である可変長復号部22、予測誤差復号部23、動き補償部24、選択スイッチ25、加算器26及びループフィルタ27のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部22、予測誤差復号部23、動き補償部24、選択スイッチ25、加算器26及びループフィルタ27の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図9はこの発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。
 次に動作について説明する。
 最初に、画像符号化装置の処理内容を説明する。
 動き補償予測部2は、指定されるピクチャタイプに応じて選択可能な全ての動き予測モード(マクロブロックないしサブブロック内での動きベクトル割り当てパターン)について、それぞれ予測画像を生成する。
 図2はピクチャタイプに応じて選択可能な動き予測モードの一例を示す説明図である。
 図2において、mc_mode0はマクロブロック(M×L画素ブロック)の全体に対して、1つの動きベクトルを割り当てるモードである。
 mc_mode1はマクロブロックを水平方向に等分割し、分割した左右のサブブロックに対して、それぞれ異なる動きベクトルを割り当てるモードである。
 mc_mode2はマクロブロックを垂直方向に等分割し、分割した上下のサブブロックに対して、それぞれ異なる動きベクトルを割り当てるモードである。
 mc_mode3はマクロブロックを4分割し、分割した4個のサブブロックに対して、それぞれ異なる動きベクトルを割り当てるモードである。mc_mode3におけるマクロブロックを4分割した単位がサブマクロブロックとなり、サブマクロブロックは、さらに、mc_mode0~mc_mode3のような分割を行って動きベクトル割り当てが可能である。マクロブロックの大きさが十分に大きい場合(例えば、32×32画素ブロックや64×64画素ブロックなど)、サブマクロブロックは16×16画素ブロックに対応するので、それを更に細かく分割することによって木構造の階層分割構造をとるように構成してもよい。本実施の形態1の符号化装置・復号装置は、そのようなサブマクロブロック構造に対しても対応可能である。
 ただし、この実施の形態1では、動き補償予測部2が、予測画像を生成する際の予測画像生成方式として、マクロブロックにつき1つの動きベクトルが割り当てられる図2のmc_mode0相当のケースに限定して、動き予測モードAによる予測画像生成方式と、動き予測モードBとを用いる例について説明する。上記のようなサブマクロブロックの階層分割構造に対応する場合は、動き予測モードA、動き予測モードBとも、個々の動きベクトル割り当て単位ブロックに対して適用すればよい。
 動き補償予測部2は、入力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば(図8のステップST1)、動き予測モードAによって予測画像Aを生成するとともに、動き予測モードBによって予測画像Bを生成する(ステップST2)。
 一方、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば(ステップST1)、動き予測モードAでは予測画像Aを生成せずに、動き予測モードBによって予測画像Bを生成する(ステップST3)。
 (1)動き予測モードAによる予測画像Aの生成
 動き補償予測部2は、フレームメモリ10に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択して、符号化対象のマクロブロックと参照画像の間で動きベクトルを探索する(参照画像上の所定の動き探索範囲内で動きベクトルを探索する)。
 そして、その動きベクトルを用いる動き補償予測処理を実施して予測画像Aを生成する(符号化対象のマクロブロックの画面内位置から、その動きベクトルの分だけ変移した位置の画像領域を用いて、予測画像Aを生成する)。
 (2)動き予測モードBによる予測画像Bの生成
 動き補償予測部2は、動きパラメータメモリ1により格納されている符号化済みマクロブロックの動きベクトルから符号化対象のマクロブロックの推定ベクトルを生成し、その推定ベクトルを用いる動き補償予測処理を実施して予測画像Bを生成する。
 動き予測モードBとしては、例えば、MPEG-4ビジュアル(ISO/IEC 14496-2)や、MPEG-4 AVC/ITU-T H.264(以下、「AVC」と称する)などの標準符号化方式において採用されるダイレクト予測による予測画像生成方式が利用できる。
 AVCのダイレクト予測による予測画像生成方式は、1つの動きベクトル割り当て可能ブロックにつき最大2つの動きベクトルを用いた予測が可能なBピクチャで利用でき、時間ダイレクトモードと空間ダイレクトモードの2種類が用意されている。
 時間ダイレクトモードは、既に符号化済みの他のピクチャの動きベクトルを参照し、符号化済みピクチャと符号化対象ピクチャとの間の時間差に応じて動きベクトルのスケーリング処理を行うことで、符号化対象のマクロブロックで用いる動きベクトル(ダイレクトベクトル)を算出するものである。
 一方、空間ダイレクトモードは、符号化対象のマクロブロックの周囲に位置している少なくとも1つ以上の符号化済みマクロブロックの動きベクトルを参照して、符号化対象のマクロブロックで用いる動きベクトル(ダイレクトベクトル)を算出するものである。
 AVCのダイレクト予測では、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方をスライス単位で選択する。
 ここで、図3は時間ダイレクトモードにおけるダイレクトベクトルの算出方法を示す模式図である。
 図3において、「P」はPピクチャを表し、「B」はBピクチャを表している。Pピクチャは、1つの動きベクトル割り当て可能ブロックにつき1つの動きベクトルを用いた予測が可能なピクチャである。
 また、数字0-3はピクチャの表示順を示し、時間T0,T1,T2,T3の表示画像であることを表している。
 ピクチャの符号化処理は、P0,P3,B1,B2の順番で行われるものとする。
 例えば、ピクチャB2の中のマクロブロックMB1を時間ダイレクトモードで符号化する場合を想定する。
 この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2の動きベクトルMVを用いる。
 この動きベクトルMVはピクチャP0を参照しており(動きベクトルMVはピクチャP0を参照画像として探索した結果の動きベクトルである)、マクロブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式(1)で求められる。

Figure JPOXMLDOC01-appb-I000001
 したがって、時間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを求めるには、符号化済みピクチャの動きベクトルMVを1画面分必要とするため、その動きベクトルMVを保持する動きパラメータメモリ1が必要となる。
 動きパラメータメモリ1に対する動きベクトルの格納は、図3に示すように、Pピクチャないし、それ以降の動き補償予測に参照画像として用いるピクチャを符号化したときに、その符号化に用いた動きベクトルを1画面分順次格納する。
 図4は空間ダイレクトモードによる動きベクトルの推定方法を示す模式図である。
 図4において、currentMBは、符号化対象のマクロブロックを表している。
 このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックAの動きベクトルをMVa、符号化対象のマクロブロックの上の符号化済マクロブロックBの動きベクトルをMVb、符号化対象のマクロブロックの右上の符号化済マクロブロックCの動きベクトルをMVcとすると、下記の式(2)に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン(中央値)を求めることにより、符号化対象のマクロブロックの動きベクトルMVを推定することができる。
   MV=median(MVa、MVb、MVc)      (2)
 なお、空間ダイレクトモードの場合も、符号化済みのマクロブロックの動きベクトルMV等を動きパラメータメモリ1に保持しておく必要がある。
 以下、この実施の形態1では、動き予測モードBとして、このAVCのダイレクト予測モードを想定する。
 減算器3は、動き補償予測部2から動き予測モードA,Bで生成された予測画像A,Bを受けると、符号化対象のマクロブロックの画像から予測画像Aを減算し、その減算結果である差分画像Aを示す予測差分信号を符号化モード判定部4に出力する。また、符号化対象のマクロブロックの画像から予測画像Bを減算し、その減算結果である差分画像Bを示す予測差分信号を符号化モード判定部4に出力する(ステップST4)。
 ただし、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、差分画像を算出する処理は行わない。
 符号化モード判定部4は、ピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示している場合、減算器3から出力された差分画像A,Bを示す予測差分信号を用いて、その差分画像A,Bの符号化効率の評価値として、レート歪みコストJを算出する(ステップST5)。
   J=D+λR                      (3)
 ただし、「λ」は正の定数である。
 「D」は差分画像Aを示す予測差分信号又は差分画像Bを示す予測差分信号のマクロブロック内絶対値和、あるいは、差分画像Aを示す予測差分信号又は差分画像Bを示す予測差分信号が圧縮部5に出力されたとき、局部復号部6から出力される局部復号予測差分信号と入力されたマクロブロックの画像との間の二乗歪み和などが用いられる。
 「R」は差分画像Aを示す予測差分信号又は差分画像Bを示す予測差分信号と、それらの予測差分信号に対応する予測パラメータとが符号化された場合の符号量(または、その推定値)が用いられる。
 符号化モード判定部4は、差分画像A,Bの符号化効率の評価値として、レート歪みコストJを算出すると、レート歪みコストJが小さい方の差分画像を選択し、その差分画像を示す予測差分信号を圧縮部5に出力する(ステップST6)。
 例えば、差分画像Aのレート歪みコストJの方が小さい場合、その差分画像Aを示す予測差分信号を圧縮部5に出力し、動き予測モードAによる予測画像Aの生成で用いられた予測パラメータ(動き予測モードA、動きベクトル、参照画像の識別番号)を動きパラメータメモリ1に格納するとともに、その予測パラメータを可変長符号化部11に出力する。
 差分画像Bのレート歪みコストJの方が小さい場合、その差分画像Bを示す予測差分信号を圧縮部5に出力し、動き予測モードBによる予測画像Bの生成で用いられた予測パラメータ(動き予測モードB、ダイレクトベクトル、参照画像の識別番号)を動きパラメータメモリ1に格納するとともに、その予測パラメータ(動き予測モードB、参照画像の識別番号)を可変長符号化部11に出力する。
 なお、符号化モード判定部4は、動き予測モードBで生成された予測画像Bから算出された差分画像Bを示す予測差分信号の電力がゼロにならない場合、DCT処理や量子化処理によって得られる非ゼロ変換係数(圧縮データ)を符号化するため、その予測差分信号を圧縮部5に出力する。
 符号化モード判定部4は、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、常にゼロ値の予測差分信号を出力する。
 即ち、符号化モード判定部4は、減算器3から出力された差分画像Bを示す予測差分信号の電力がゼロにならない場合でも、その予測差分信号を強制的にゼロ値に置換し、ゼロ値の予測差分信号を圧縮部5に出力する(ステップST7)。または、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、符号化モード判定部4は処理をスキップするようにして、圧縮部5及び局部復号部6がオールゼロの予測差分信号を内部的に生成するように構成してもよい。
 また、動き予測モードBによる予測画像Bの生成で用いられた予測パラメータ(動き予測モードB、ダイレクトベクトル、参照画像の識別番号)を動きパラメータメモリ1に格納する。
 ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合の各マクロブロックのレート歪みコストJは、予測差分信号を強制的にゼロ値化した結果として得られる歪みが算出され、コストJは、予測差分信号を強制的にゼロ値化した結果として得られる歪みを示す「D」と概ね等しい値になる。また、「R」については、上述したように、予測差分信号と予測パラメータが符号化された場合の符号量が用いられるが、動きパラメータメモリ1により格納されている符号化済みマクロブロックの動きベクトルを参照して(画像復号装置では、動きパラメータメモリ21により格納されている復号済みマクロブロックの動きベクトルを参照する)、AVCのダイレクト予測の手順でダイレクトベクトルが算出されるため、予測パラメータの符号量はゼロとみなされる。また、予測差分信号の符号量も、その予測差分信号が強制的にゼロ値化されているのでゼロとみなされる。
 このため、符号化対象のマクロブロックの符号化に要する符号量はゼロとみなされ、コストJは「D」と概ね等しい値になる。
 圧縮部5は、符号化モード判定部4から予測差分信号を受けると、その予測差分信号に対するDCT処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化して、量子化後のDCT係数である圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)を局部復号部6及び可変長符号化部11に出力する(ステップST8)。
 ただし、圧縮部5は、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、符号化モード判定部4からオールゼロ値の予測差分信号が与えられるため、処理をスキップするように構成してもよい(ステップST9)。あるいは、ピクチャ符号化方法制御情報を受けて、自身が強制的にゼロ値を出力するようにしてもよい。
 局部復号部6は、圧縮部5から圧縮データを受けると、その圧縮データに含まれている量子化パラメータを用いて、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、符号化モード判定部4から出力された予測差分信号に相当する局部復号予測差分信号を算出する(ステップST8)。
 ただし、局部復号部6は、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、圧縮部5からオールゼロ値の圧縮データが与えられるので、処理をスキップするように構成してもよい(ステップST9)。あるいは、ピクチャ符号化方法制御情報を受けて、自身が強制的にゼロ値を出力するようにしてもよい。
 選択スイッチ7は、ピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、局部復号部6により算出された局部復号予測差分信号を選択して加算器8に出力する。
 一方、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、オールゼロ値を選択して加算器8に出力する(ステップST9)。
 加算器8は、選択スイッチ7により選択された局部復号予測差分信号又はオールゼロ値と、動き補償予測部2により生成された予測画像(最も符号化効率が高い差分画像に係る予測画像)を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する(ステップST8,ST9)。
 ループフィルタ9は、ピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、DCTブロック境界に対するブロック歪み除去フィルタ(デブロッキングフィルタ)を用いて、加算器8により生成された局部復号画像に含まれている符号化歪みを補償する歪み補償処理を実施する(ステップST10)。
 一方、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、加算部8から予測画像がループフィルタ9に直接入力されるため、予測画像の動きベクトル割り当て領域に発生するブロック境界(動き予測モードBでは、マクロブロック境界)の不連続性を緩和する動きブロック境界平滑化処理を実施する(ステップST11)。
 フレームメモリ10には、ループフィルタ9から出力されたループフィルタ画像(フィルタ処理後の局部復号画像)を参照画像として格納される。
 この実施の形態1では、ループフィルタ9における動きブロック境界平滑化処理は、マクロブロック境界におけるオーバラップ動き補償処理を用いる。
 ここで、図5はオーバラップ動き補償処理を示す説明図である。
 図5(a)のマクロブロックXは、現在の処理対象のマクロブロックであり、マクロブロックA,B,C,DはマクロブロックXを取り囲む位置にあるマクロブロックである。
 本実施の形態1の動きブロック境界平滑化処理は、フレームの単位で処理を行うことを前提とし、マクロブロックXに対する平滑化処理を行う時点では、既にその周囲のマクロブロックA,B,C,Dについても同様に動きベクトルMVL0,MVL1が決定されている状態であるとする。
 このことを利用して、図5(b)に示すマクロブロックX内のブロック境界領域X0~X3に対して、以下に示すような画像データを再生成する。
Figure JPOXMLDOC01-appb-I000002
 u0i=MVL0の水平成分、v0=MVL0の垂直成分(i:A,B,C,Dのいずれか)
 u1i=MVL1の水平成分、v1=MVL1の垂直成分(i:A,B,C,Dのいずれか)
 I(x,y):画素位置(x,y)の画素値
 I’(x,y):オーバラップ動き補償処理による画素位置(x,y)の画素値
 w~w4:重みパラメータ
 重みパラメータw~w4は、例えば、図12及び図13のようにマクロブロック内の各画素位置に応じて定義される(マクロブロックが16×16画素ブロックの場合)。
 このような重みで平滑化処理を行うことにより、マクロブロックX内の動きブロック境界のみが平滑化処理対象となり、境界位置に応じて適切な周辺マクロブロックの動きベクトルが考慮される。また、同図の重み値はビットシフトで乗除算が可能であり、演算量を抑えた処理で実現できる。入力画像が輝度信号と色差信号(あるいはRGBなど)からなるカラー画像で、マクロブロックにも各色成分のブロックが含まれる場合は、本平滑化処理は各色成分の特性に合わせて定める重みパラメータにより、それぞれの色成分ブロックに対して実行される。
 また、X0~X3領域で非ゼロの重みを定義する面積は、マクロブロックのサイズが可変となる場合、マクロブロックの大きさに応じて定めるように構成してもよい。
 マクロブロックサイズが大きい場合、マクロブロックXの中心付近の画素値は、周辺マクロブロックA,B,C,Dの動きベクトルには影響を受け難いため、マクロブロックの全域を対象にして上記のようなオーバラップ動き補償処理を行うことで、画素値を不当に歪めてしまう可能性がある。
 そこで、マクロブロックサイズが大きい場合、よりマクロブロック境界に隣接している画素だけをオーバラップ動き補償処理の対象となるようにしてもよい。
 あるいは、マクロブロックサイズに応じて、マクロブロックXの中心付近に対する周辺動きベクトルによる値の重みが小さくなるように、重みパラメータを設計するようにしてもよい。
 また、画像符号化装置側で、重みパラメータを最適な値に制御し、可変長符号化部11が、その重みパラメータを符号化してビットストリームに多重化するようにしてもよい。
 例えば、複雑な動きがあまりなく、マクロブロック境界があまり不連続な状態にならない場合には、極力周辺のマクロブロックの影響が小さくなるように、重みパラメータを決める方が望ましいと考えられる。
 一方、複雑な動きが多い場合には、マクロブロック境界が不連続な状態になるケースが増加するので、極力周辺のマクロブロックの影響を加味するように、重みパラメータを決める方が望ましいと考えられる。
 このような状態は、符号化処理過程で映像信号の性質や符号化ビットレートなどによって変動するので、画像符号化装置側で、重みパラメータを最適な値に制御できれば符号化効率を高めることが可能になる。重みパラメータを符号化する単位は、ピクチャ単位でもよいし、マクロブロックを複数集めたスライス単位でもよい。
 以上の処理の結果、符号化装置では、ピクチャ符号化方法制御情報を用いて各部を制御することにより、「通常のピクチャ符号化を行う」場合の局部復号画像及びピクチャ符号量と、「スキップピクチャ符号化を行う」場合の局部復号画像及びピクチャ符号量(ほぼゼロとみなすことができる)をそれぞれ得ることができる。よって、これら両方の処理結果から、それぞれピクチャとしてのレート歪みコストを計算し(ステップST12,ST13)、算出したコストの小さい方を当該ピクチャの符号化に用いるように構成する(ステップST14)。
 上記コスト比較の結果「通常のピクチャ符号化を行う」ことが選択された場合、可変長符号化部11は、圧縮部5から出力された圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)、符号化モード判定部4から出力された予測パラメータ(動き予測モード、動きベクトル、参照画像の識別番号)及びピクチャ符号化方法制御情報をエントロピー符号化して、その符号化結果を示すビットストリーム(符号化データ)を生成し、そのビットストリームを出力する(ステップST10)。
 ただし、可変長符号化部11は、符号化モード判定部4が差分画像Aを選択している場合、動きベクトルを含んでいる予測パラメータをエントロピー符号化するが、符号化モード判定部4が差分画像Bを選択している場合、動きベクトル(ダイレクトベクトル)を含んでいない予測パラメータをエントロピー符号化する。
 一方、上記コスト比較の結果「スキップピクチャ符号化を行う」ことが選択された場合は、可変長符号化部11はピクチャ符号化方法制御情報を符号化するのみで、マクロブロックレベルの一切の符号化データをビットストリームに多重化しない。ただし、重みパラメータを適応的に変化させて符号化する場合は、変化させる単位で重みパラメータ値をビットストリームに多重化する。
 なお、本実施の形態1では、以上のように、「通常のピクチャ符号化を行う」場合と「スキップピクチャ符号化を行う」場合のそれぞれをすべて符号化・効率評価した後に、レート歪みコストの小さい方を選択して符号化するように構成したが、符号化手順は、このような2パス符号化に限定されない。例えば、「通常のピクチャ符号化を行う」処理手順の中で、「スキップピクチャ符号化を行う」場合にも用いる動き予測モードBに相当する予測処理を実行済みであるため、動き予測モードBを評価した結果として得られる動きパラメータを全マクロブロック分別途保持しておき、ループフィルタ9に到達する時点で「通常のピクチャ符号化を行う」場合と「スキップピクチャ符号化を行う」場合のそれぞれの結果が同時に得られるように構成することができる。また、図示はしていないが、予めピクチャレベルで「スキップピクチャ符号化を行う」ことで十分な符号化性能が実現できるかどうかを判断するためのアクティビティ情報を取得し、それに基づいて、当該ピクチャに対して「スキップピクチャ符号化を行う」処理を評価するか否かを決定するように構成してもよい。例えば、フレームレートが所定の数値よりも高い場合のみ「スキップピクチャ符号化を行う」ことを許容したり、隣接するフレーム間の単純差分が所定の閾値以下である場合(フレーム間での動きが比較的小さい場合)のみ「スキップピクチャ符号化を行う」ことを許容したり、過去のフレーム間予測符号化の結果から動きパラメータや予測差分信号の符号量から隣接するフレーム間において、このように構成することによって、2パスの符号化処理・評価を行うことなく、演算量を抑えた符号化を行うことができる。
 ここで、図6は可変長符号化部11から出力されるビットストリームを示す説明図である。特にピクチャ符号化データ部分を示している。
 可変長符号化部11は、ピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、図6(a)に示すように、ピクチャレベルのヘッダデータに加えて、ピクチャ内の複数のマクロブロックの符号化データ(圧縮データの符号化データ、予測パラメータ)を挿入しているビットストリームを生成して出力する。
 一方、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、図6(b)に示すように、ビットストリームには、マクロブロックの符号化データ(圧縮データの符号化データ)が多重されない。ただし、図6(b)では明記していないが、マクロブロックの符号化データ(動き予測モード及び参照画像の識別番号を示す予測パラメータ)はビットストリームに多重される。
 なお、AVCのダイレクト予測では、画像復号装置の動き補償部24が独自にダイレクトベクトルを生成するので、予測パラメータには、動き補償予測部2により生成されたダイレクトベクトルが含められず、ビットストリームに多重されない。
 これは、上述したように、スキップピクチャ符号化を行う場合、全てのマクロブロックに対する動きベクトル(ダイレクトベクトル)を符号化済みマクロブロックの動きベクトルから推定し、その動きベクトルを用いて生成した予測画像から復号画像を生成するようにしているので、画像復号装置では、マクロブロックレベルの符号化データがなくても、画像符号化装置と同様の方法で予測画像を生成して、その予測画像から復号画像を生成することができるからである。
 ただし、画像復号装置において、通常ピクチャ符号化が行われているのか、スキップピクチャ符号化が行われているのかを判別することができるようにするために、可変長符号化部11が、画像符号化装置に入力されているピクチャ符号化方法選択情報をピクチャレベルのヘッダデータに多重している。
 また、画像符号化装置がオーバラップ動き補償処理の重みパラメータw~wを最適な値に制御していれば、可変長符号化部11が、その重みパラメータw~wをピクチャレベルのヘッダデータに多重する。
 この実施の形態1では、通常ピクチャ符号化又はスキップピクチャ符号化をピクチャのレベルで選択するものについて示したが、画面内の特定部分領域を定義するスライスの単位で選択するようにしてもよい。
 この場合、画像符号化装置の処理は、スライス毎に分けて実行するように構成し、ピクチャ符号化方法選択情報は、スライス符号化方法選択情報として、スライスレベルのヘッダデータに多重し、また、重みパラメータw~wもスライスレベルのヘッダデータに多重するように構成すればよい。
 また、この実施の形態1では、スキップピクチャ符号化を行う場合に、通常のピクチャ符号化を行う場合の動き予測モードBを、同じように適用する例を示したが、スキップピクチャ符号化を行う場合には、当該ピクチャの符号データを一切ビットストリームに多重しないため、ダイレクトベクトルを求めるブロックの単位は必ずしもマクロブロックに限定する必要はない。スキップピクチャでは、動きベクトル割り当て単位のブロックサイズが小さくなっても動きベクトルの符号は発生しないので、この自由度を高めることにより、スキップピクチャの符号化効率を高めることができる。例えば、スキップピクチャ符号化を行う場合のブロックサイズを、入力画像のサイズやマクロブロックのサイズに応じて、符号化装置・復号装置が共通の規則で定めるように構成したり、ピクチャレベルのヘッダに、スキップピクチャ符号化を行う場合のブロックサイズを符号化して、復号装置側へ伝送するように構成してもよい。(この符号化はピクチャに限定されない。スライス単位でもかまわない)。
 この実施の形態1では、動き予測モードBを用いる場合、マクロブロックの単位で動きベクトル(ダイレクトベクトル)を推定して、ループフィルタ9におけるオーバラップ動き補償処理を適用するものを示したが、動き予測モードにおける動きベクトルの推定単位がサブブロック等であっても、ループフィルタ9におけるオーバラップ動き補償処理を適用することが可能であることは言うまでもない。
 この他、動きブロック境界平滑化処理としては、動きベクトル割り当てブロック境界について、動きベクトルの大きさ、参照画像の識別番号の違い、境界での画素ずれの大きさなどに応じてアクティビティ値を求めて、それらアクティビティ値の大きさによって境界に隣接する画素の平滑化フィルタリングを行うような処理を導入してもよい。
 以上で明らかなように、この実施の形態1によれば、符号化対象のマクロブロックの画像と動き補償予測部2により動き予測モードAで生成された予測画像A間の差分画像Aの符号化効率を評価するとともに、符号化対象のマクロブロックの画像と動き補償予測部2により動き予測モードBで生成された予測画像B間の差分画像Bの符号化効率を評価し、符号化効率が高い方の差分画像を選択する符号化モード判定部4と、符号化モード判定部4により選択された差分画像を示す予測差分信号に対するDCT処理及び量子化処理を実施して圧縮データ(量子化パラメータを含む)を生成する圧縮部5とを設け、可変長符号化部11が、圧縮部5から出力された圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)、符号化モード判定部4から出力された予測パラメータ及びピクチャ符号化方法制御情報を可変長符号化してビットストリームを生成するように構成したので、符号化処理の過程で十分な符号化品質が得られるようになり、その結果、画像符号化装置と無関係に画像復号装置側で動きベクトルを推定して補間フレームを生成する従来例と比べて、同等の符号量で、画像復号装置における再生画像の品質を高めることができる効果を奏する。
 即ち、スキップピクチャの符号化を行う動き予測モードBで予測画像Bが生成された場合、ピクチャ符号化データ(符号化された圧縮データ)をビットストリームに多重する必要がないので、通常ピクチャの符号化を行う動き予測モードAで予測画像Aが生成された場合より、符号量を大幅に削減することができる一方、動き予測モードBで生成された予測画像Bでは、十分な品質を確保することができない場合、動き予測モードAで生成された予測画像Aを用いることができるので、符号化品質を維持することができる。
 スキップピクチャの符号化を行う動き予測モードBを用いることが可能なケースとしては、ダイレクト予測において、予測画像の動きベクトル割り当て領域に発生するブロック境界の不連続性を緩和するだけで、品質的に十分な画像を再現できるケースであり、例えば、フレームレートが高く、フレーム間の動きが極めて少ない場合などでは、マクロブロック毎に、予測差分信号がゼロであることを示すマクロブロックスキップの制御情報を伝送するよりも、シグナリングのデータ量を小さくできる。特に、映像解像度が高く、ピクチャ内のマクロブロック数が多くなるケースでは、制御情報の符号量削減効果が大きくなる。
 また、この実施の形態1によれば、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、符号化モード判定部4が、符号化対象のマクロブロックの画像と動き予測モードBで生成された予測画像B間の差分画像Bを示す予測誤差信号を強制的にゼロ値に置き換えるように構成したので、符号化対象のマクロブロックの符号化に要する符号量が略ゼロになり、ビットストリームの符号量を大幅に削減することができる効果を奏する。
 この実施の形態1によれば、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、圧縮部5が符号化対象のマクロブロックの画像と動き予測モードBで生成された予測画像B間の差分画像Bを示す予測誤差信号(オールゼロ値の信号)に対するDCT処理や量子化処理を行わず、その予測誤差信号(オールゼロ値の信号)を可変長符号化部11に出力するように構成したので、画像符号化装置の処理量を軽減することができる効果を奏する。
 また、この実施の形態1によれば、ピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、ループフィルタ9が、局部復号画像に含まれている符号化歪みを補償する歪み補償処理を実施し、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、ループフィルタ9が、ブロックの境界に存在している不連続性を緩和するブロック境界平滑化処理を実施するように構成したので、動き予測モードA,Bのいずれであっても、局部復号画像の品質を高めることができる効果を奏する。
 この実施の形態1によれば、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、局部復号部6が圧縮部5から出力された圧縮データに対する逆量子化処理や逆DCT処理を行わず、動き補償予測部2により生成された予測画像Bを局部復号画像として取り扱うように構成したので、画像符号化装置の処理量を軽減することができる効果を奏する。
 次に、画像復号装置の処理内容を説明する。
 可変長復号部22は、図1の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームにおけるピクチャレベルのヘッダデータを解析して、ピクチャ符号化方法選択情報を復号する(図9のステップST11)。
 可変長復号部22は、そのピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば(ステップST12)、ピクチャレベルのヘッダデータ以降のマクロブロック符号化データに対するエントロピー復号処理を実施して、ピクチャ内の複数のマクロブロックの圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)及び予測パラメータを復号する(ステップST13)。
 可変長復号部22により復号された圧縮データ(DCT係数を量子化する際の量子化パラメータを含む)は予測誤差復号部23に出力され、予測パラメータは動き補償部24に出力される。
 可変長復号部22は、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば(ステップST12)、ピクチャレベルのヘッダデータを解析して、ビットストリームに多重化されている場合は重みパラメータw~wや、動き予測モードBの処理対象となる動きベクトル割り当てブロックサイズの情報を復号する。
 また、ピクチャレベルのヘッダデータ以降のマクロブロック符号化データに対するエントロピー復号処理を実施して、ピクチャ内の複数のマクロブロックの予測パラメータを復号する(ステップST14)。
 可変長復号部22により復号された予測パラメータ及び重みパラメータw~wは動き補償部24に出力される。
 なお、可変長復号部22により復号されたピクチャ符号化方法選択情報は、動き補償部24、選択スイッチ25及びループフィルタ27に出力される。
 予測誤差復号部23は、可変長復号部22から圧縮データを受けると、図1の局部復号部6と同様に、その圧縮データに含まれている量子化パラメータを用いて、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号復号値(図1の符号化モード判定部4から出力された予測差分信号に相当する信号)を算出する(ステップST15)。
 選択スイッチ25は、可変長復号部22から出力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、予測誤差復号部23により算出された予測誤差信号復号値を選択して加算器26に出力する(ステップST16)。
 一方、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、オールゼロ値を選択して加算器26に出力する(ステップST17)。
 動き補償部24は、可変長復号部22から予測パラメータを受けると、フレームメモリ28に格納されている1フレーム以上の参照画像の中から、その予測パラメータ内の識別番号が示す参照画像の読み出しを行う。
 動き補償部24は、可変長復号部22から出力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示している場合、可変長復号部22から出力された予測パラメータ内の動き予測モードが動き予測モードAであれば(ステップST18)、図1の動き補償予測部2と同様に、動き予測モードAで予測画像Aを生成する(ステップST19)。
 ただし、動き補償部24は、図1の動き補償予測部2と異なり、自ら動きベクトルの探索処理を実施せずに、可変長復号部22から出力された予測パラメータ内の動きベクトルを使用する。
 一方、可変長復号部22から出力された予測パラメータ内の動き予測モードが動き予測モードBであれば(ステップST18)、図1の動き補償予測部2と同様に、動き予測モードBで予測画像Bを生成する(ステップST20)
 即ち、動き補償部24は、動きパラメータメモリ21に格納されている復号済みマクロブロックの動きベクトルから復号対象のマクロブロックのダイレクトベクトルを生成し、そのダイレクトベクトルを用いる動き補償予測処理を実施して予測画像Bを生成する。
 なお、動き補償部24は、当該マクロブロックの予測画像を生成すると、次のマクロブロックの予測画像を動き予測モードBで生成する場合に備えるため、当該マクロブロックの予測画像の生成に用いた動きベクトル(ダイレクトベクトル)や関連情報(動き予測モードB、参照画像の識別番号、予測誤差量など)を1画面分だけ動きパラメータメモリ21に格納する。
 動き補償部24は、可変長復号部22から出力されたピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、図1の動き補償予測部2と同様に、動き予測モードBで予測画像Bを生成する(ステップST21)。
 加算器26は、選択スイッチ25により予測誤差信号復号値が選択された場合、その予測誤差信号復号値と動き補償部24により生成された予測画像A又は予測画像Bを示す予測信号とを加算することで、復号画像を示す復号画像信号を生成する(ステップST22)。
 一方、選択スイッチ25によりオールゼロ値が選択された場合、そのオールゼロ値と動き補償部24により生成された予測画像Bを示す予測信号とを加算することで、復号画像を示す復号画像信号を生成する(ステップST23)。
 ループフィルタ27は、可変長復号部22から出力されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、図1のループフィルタ9と同様に、DCTブロック境界に対するブロック歪み除去フィルタ(デブロッキングフィルタ)を用いて、加算器26により生成された復号画像に含まれている符号化歪みを補償する歪み補償処理を実施する(ステップST24)。
 一方、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、図1のループフィルタ9と同様に、予測画像の動きベクトル割り当て領域に発生するブロック境界(動き予測モードBでは、マクロブロック境界)の不連続性を緩和する動きブロック境界平滑化処理を実施する(ステップST25)。
 フレームメモリ28には、ループフィルタ27から出力された再生画像(フィルタ処理後の復号画像)が参照画像される。
 以上で明らかなように、この実施の形態1によれば、可変長復号部22により復号されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、可変長復号部22により復号された動きベクトルを用いて、動き予測モードAで予測画像Aを生成し、可変長復号部22により復号されたピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示していれば、動き予測モードBで予測画像を生成する動き補償部24と、動き補償部24により生成された予測画像と予測誤差復号部23から出力された差分画像を加算して、画像符号化装置の入力画像に相当する復号画像を生成するように構成したので、画像符号化装置より送信されたビットストリームから品質が高い画像を再生することができる効果を奏する。
 また、この実施の形態1によれば、可変長復号部22により復号されたピクチャ符号化方法制御情報が「通常のピクチャ符号化を行う」旨を示していれば、ループフィルタ27が、復号画像に含まれている符号化歪みを補償する歪み補償処理を実施し、そのピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、ループフィルタ27が、ブロックの境界に存在している不連続性を緩和するブロック境界平滑化処理を実施するように構成したので、再生画像の品質を高めることができる効果を奏する。
実施の形態2.
 上記実施の形態1では、ピクチャ符号化方法制御情報が「スキップピクチャ符号化を行う」旨を示している場合、動き予測モードBがAVCのダイレクト予測モードであるとして、動き補償予測部2が予測画像Bを生成するものについて示したが、動き予測モードBがAVCのダイレクト予測モードであるものに限るものではなく、他のモードとして、動き補償予測部2が予測画像Bを生成するようにしてもよい。
 以下、動き補償予測部2による予測画像Bの生成処理を具体的に説明する。
 図10は動き補償予測部2による予測画像Bの生成処理(符号化済みピクチャFt-1,Ft+1に対して、時間的にちょうど真ん中にあるピクチャFをスキップピクチャとして符号化する場合の生成処理)の一例を示す説明図である。
 また、図11はマクロブロックXの動きベクトルd(x,t)の推定内容を示す説明図である。
 動き補償予測部2は、動き予測モードBで予測画像Bを生成する準備として、Pピクチャないしそれ以降の動き補償予測に参照する画像としてピクチャFを符号化すると、そのピクチャF内の複数のマクロブロックの動き予測モード、動きベクトル、動き予測誤差量を動きパラメータメモリ1に格納するものとする。
 動き補償予測部2は、図10に示すように、符号化済みピクチャFt-1,Ft+1に対して、時間的にちょうど真ん中にあるピクチャFをスキップピクチャとして符号化する場合、処理対象のマクロブロックに関し、図10に示す両方向補間を実施する。
 この場合の補間式は、下記の式(4)で与えられる。

Figure JPOXMLDOC01-appb-I000003
 式(4)において、d(x,t)及びd(x,t)は動きベクトルであり、動きパラメータメモリ1に格納されている符号化済みピクチャFt+1の動きベクトルから図11に示す手順で推定して求めるものである。
 まず、動き補償予測部2は、符号化済みピクチャFt+1における領域Rを構成している9つのマクロブロック(符号化対象のピクチャFにおける処理対象のマクロブロックXと空間的に同じ位置にある符号化済みピクチャFt+1内のマクロブロックと、そのマクロブロックの近傍に位置している8つのマクロブロック)の動きベクトル、動き予測モード及び予測残差量を動きパラメータメモリ1から取得して参照する。
 このとき、動きベクトルをd(x+v,t+1),0≦i≦8,(V=0)とし、予測誤差量をe(x+v,t+1),0≦i≦8,(V=0)とすると、下記の式(5)の演算を行うことで、補間画像上での処理該当ブロックにおける符号化済みピクチャFt-1に対する参照ベクトルである動きベクトルd(x,t)の推定が可能になる。

Figure JPOXMLDOC01-appb-I000004

Figure JPOXMLDOC01-appb-I000005

Figure JPOXMLDOC01-appb-I000006
 予測誤差量の逆数でベクトルを重み付けすることで、予測誤差量が小さいブロックにおけるベクトルが強い重みを与えられる。
 ここでの動きベクトルd(x,t)の推定手法は、予測誤差量が小さいほど、ベクトル自体の信頼性が高く、予測残差絶対値和が大きいほど、ベクトル自体の信頼性が低いという性質に基づく手法である。
 αはピクチャFとピクチャFt+1との間の時間間隔で定まる重み係数である。ただし、図11に示すR領域を構成している9つのマクロブロックのうち、フレーム内符号化されるブロックは上記演算から除外する。
 領域R内の9つマクロブロックのうち、一定の割合以上がフレーム内符号化のブロックである場合、動きベクトルd(x,t)が(0,0)であると推定する。
 この実施の形態2のように、動きベクトルd(x,t)の推定を行うことにより、ダイレクト予測のみで動きベクトルを推定する場合よりも、動きベクトルの信頼性を加味した精度の高い動きベクトルの推定が可能になる。このため、スキップピクチャの品質を改善することができるため、符号化処理過程で、より多くのスキップピクチャを利用することができるようになり、全体の符号量削減効果を高めることができる。
 なお、スキップピクチャを生成する推定動きベクトルを求めるにあたっては、あらかじめ空間・時間的に近傍に位置する複数の動きベクトルを推定動きベクトル候補として保持しておき、その中から最適な推定動きベクトルを、符号化装置単独ないし符号化装置と復号装置の連携によって選択して、スキップピクチャの復号画像の生成に利用するように構成してもよい。符号化装置で選択する場合は、推定動きベクトルを求める単位ごとに最適な推定動きベクトルのインデックスをビットストリームに多重化するように構成する。一方、符号化装置と復号装置側で同じ判定方法を用いて選択する場合は、復号装置側に推定動きベクトル選択のための追加処理が必要になる一方、推定動きベクトルのインデックスをビットストリームに多重化する必要がないため、符号化効率を高めることができる。このように構成することにより、推定動きベクトルを複数の候補の中から選択できるようになるため、ある特定の推定方法によって一意に得られる推定動きベクトルの精度が十分でない場合にも品質を維持した符号化を行うことができる効果がある。
 この発明に係る画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法は、受信側における再生画像の品質を高めることができるため、画像圧縮符号化技術や圧縮画像データ伝送技術などに用いるのに適している。
 1 動きパラメータメモリ、2 動き補償予測部(予測画像生成手段、動き検出手段、第1の予測画像生成手段、動きベクトル生成手段、第2の予測画像生成手段)、3 減算器(差分画像選択手段、符号化手段)、4 符号化モード判定部(差分画像選択手段、符号化手段)、5 圧縮部(量子化手段)、6 局部復号部(参照画像生成手段、局部復号手段)、7 選択スイッチ(参照画像生成手段、局部復号手段)、8 加算器(参照画像生成手段、局部復号手段)、9 ループフィルタ(参照画像生成手段、フィルタリング手段)、10 フレームメモリ、11 可変長符号化部(可変長符号化手段、符号化手段)、21 動きパラメータメモリ、22 可変長復号部(可変長復号手段、第1の予測画像生成手段、復号手段)、23 予測誤差復号部(逆量子化手段、復号手段)、24 動き補償部(予測画像生成手段、第1の予測画像生成手段、動きベクトル生成手段、第2の予測画像生成手段)、25 選択スイッチ(復号画像生成手段)、26 加算器(復号画像生成手段、加算手段)、27 ループフィルタ(復号画像生成手段、フィルタリング手段)、28 フレームメモリ。

Claims (13)

  1.  入力画像を所定のブロック毎に動き補償予測を用いて圧縮符号化を行う画像符号化装置において、
     上記ブロックの動きベクトルを検出する動き検出手段と、上記動き検出手段により検出された動きベクトルを用いて第1の予測画像を生成する第1の予測画像生成手段と、
     上記動き検出手段により検出された動きベクトルを保持するメモリと、
     上記メモリに保持される動きベクトルをもとに符号化対象のブロックの動きベクトルを生成する動きベクトル生成手段と、
     上記動きベクトル生成手段により生成された動きベクトルを用いて第2の予測画像を生成する第2の予測画像生成手段と、
     上記第1の予測画像生成手段により生成された第1の予測画像と符号化対象のブロックとの差分画像を符号化するとともに、上記第1の予測画像の生成に用いた動きベクトルを符号化する符号化手段と、
     上記差分画像の局部復号画像を生成し、上記局部復号画像を上記第1の予測画像と加算することによって局部復号画像を生成する局部復号手段と、
     上記第2の予測画像生成手段により生成された第2の予測画像に対して、ブロック境界に対する平滑化処理を行うフィルタリング手段とを備え、
     上記局部復号手段によって得られる上記ブロックの第1の局部復号画像か、上記フィルタリング手段によって得られる画像のいずれかを、1つないし複数の上記ブロックから構成される所定画像領域内の局部復号画像として選択し、その選択結果をビットストリームに多重して符号化伝送することを特徴とする画像符号化装置。
  2.  入力画像を構成しているブロック毎に、符号化対象のブロックと参照画像の間で動きベクトルを探索し、上記動きベクトルを用いる動き補償予測処理を実施して予測画像を生成する第1の予測画像生成方式を備えるとともに、符号化済みブロックの動きベクトルから符号化対象のブロックのダイレクトベクトルを生成し、上記ダイレクトベクトルを用いる動き補償予測処理を実施して予測画像を生成する第2の予測画像生成方式を備えている予測画像生成手段と、符号化対象のブロックと上記予測画像生成手段により第1の予測画像生成方式で生成された予測画像間の差分画像の符号化効率を評価するとともに、符号化対象のブロックと上記予測画像生成手段により第2の予測画像生成方式で生成された予測画像間の差分画像の符号化効率を評価し、上記符号化効率が高い方の差分画像を選択する差分画像選択手段と、上記差分画像選択手段により選択された差分画像を量子化し、上記差分画像の量子化係数を出力する量子化手段と、上記量子化手段から出力された量子化係数及び上記差分画像選択手段により選択された差分画像に係る予測画像が第1の予測画像生成方式で生成されている予測画像であるのか、第2の予測画像生成方式で生成されている予測画像であるのかを示す予測画像識別情報を可変長符号化するとともに、上記差分画像選択手段により選択された差分画像が第1の予測画像生成方式で生成された予測画像に係る差分画像である場合、上記予測画像生成手段により探索された動きベクトルを可変長符号化して符号化データを生成する可変長符号化手段とを備えた画像符号化装置。
  3.  予測画像生成手段は、第1の予測画像生成方式と第2の予測画像生成方式の双方の使用を指示する制御情報が入力された場合、第1の予測画像生成方式で予測画像を生成するとともに、第2の予測画像生成方式で予測画像を生成し、第2の予測画像生成方式のみの使用を指示する制御情報が入力された場合、第1の予測画像生成方式では予測画像を生成せずに、第2の予測画像生成方式でのみ予測画像を生成することを特徴とする請求項2記載の画像符号化装置。
  4.  差分画像選択手段は、第2の予測画像生成方式のみの使用を指示する制御情報が入力された場合、符号化対象のブロックと予測画像生成手段により第2の予測画像生成方式で生成された予測画像間の差分画像を示す予測誤差信号をゼロ値に置き換えることを特徴とする請求項3記載の画像符号化装置。
  5.  量子化手段は、第2の予測画像生成方式のみの使用を指示する制御情報が入力された場合、差分画像選択手段により選択された差分画像を示す予測誤差信号に対する量子化処理を行わず、ゼロ値の予測誤差信号を可変長符号化手段に出力することを特徴とする請求項4記載の画像符号化装置。
  6.  量子化手段から出力された量子化係数を逆量子化し、その逆量子化結果が示す差分画像と予測画像生成手段により生成された予測画像を加算して局部復号画像を生成し、上記局部復号画像を参照画像としてフレームメモリに格納する参照画像生成手段を設け、
     上記参照画像生成手段は、上記予測画像が第1の予測画像生成方式で生成されている場合、上記局部復号画像に含まれている符号化歪みを補償する歪み補償処理を実施し、上記予測画像が第2の予測画像生成方式で生成されている場合、ブロックの境界に存在している不連続性を緩和するブロック境界平滑化処理を実施することを特徴とする請求項2記載の画像符号化装置。
  7.  参照画像生成手段は、第2の予測画像生成方式のみの使用を指示する制御情報が入力された場合、量子化手段から出力された量子化係数に対する逆量子化処理を行わず、予測画像生成手段により生成された予測画像を局部復号画像として取り扱うことを特徴とする請求項6記載の画像符号化装置。
  8.  画像を所定のブロック毎に動き補償予測を用いて圧縮符号化したビットストリームを入力として、上記ブロック毎に復号伸張処理を行う画像復号装置において、
     上記ブロック毎に動きベクトルをビットストリームから復号し、当該動きベクトルを用いて第1の予測画像を生成する第1の予測画像生成手段と、
     上記ブロック毎に動き補償予測の差分画像の符号化データをビットストリームから復号し、当該符号化データから復号差分画像を生成する復号手段と、
     上記第1の予測画像と上記復号差分画像とを加算して復号画像を得る加算手段と、
     上記ビットストリームから復号された動きベクトルを保持するメモリと、
     上記メモリに保持される動きベクトルをもとに復号対象のブロックの動きベクトルを生成する動きベクトル生成手段と、
     上記動きベクトル生成手段により生成された動きベクトルを用いて第2の予測画像を生成する第2の予測画像生成手段と、
     上記第2の予測画像生成手段により生成された第2の予測画像に対して、ブロック境界に対する平滑化処理を行うフィルタリング手段とを備え、
     1つないし複数の上記ブロックから構成される所定画像領域の単位で、当該画像領域中のすべての上記ブロックが、上記加算手段から出力される復号画像か、上記フィルタリング手段から出力される画像のいずれが最終的な復号画像になるかを示す識別情報をビットストリームから復号して、上記識別情報に基づいて最終復号画像を生成することを特徴とする画像復号装置。
  9.  符号化データから量子化係数と、画像符号化装置では予測画像が第1の予測画像生成方式で生成されているのか、第2の予測画像生成方式で生成されているのかを示す予測画像識別情報とを復号するとともに、予測画像が第1の予測画像生成方式で生成されている場合、符号化データから動きベクトルを復号する可変長復号手段と、上記可変長復号手段により復号された量子化係数を逆量子化する逆量子化手段と、上記可変長復号手段により復号された予測画像識別情報が、画像符号化装置では予測画像が第1の予測画像生成方式で生成されている旨を示している場合、上記可変長復号手段により復号された動きベクトルを用いる動き補償予測処理を実施して予測画像を生成し、上記可変長復号手段により復号された予測画像識別情報が、上記画像符号化装置側では予測画像が第2の予測画像生成方式で生成されている旨を示している場合、復号済みブロックの動きベクトルから復号対象のブロックのダイレクトベクトルを生成し、上記ダイレクトベクトルを用いる動き補償予測処理を実施して予測画像を生成する予測画像生成手段と、上記予測画像生成手段により生成された予測画像と上記逆量子化手段の逆量子化結果が示す差分画像を加算して、上記画像符号化装置の入力画像に相当する復号画像を生成する復号画像生成手段とを備えた画像復号装置。
  10.  復号画像生成手段は、可変長復号手段により復号された予測画像識別情報が、画像符号化装置側では予測画像が第2の予測画像生成方式で生成されている旨を示している場合、予測画像生成手段により生成された予測画像を復号画像として取り扱うことを特徴とする請求項9記載の画像復号装置。
  11.  復号画像生成手段は、可変長復号手段により復号された予測画像識別情報が、画像符号化装置側では予測画像が第1の予測画像生成方式で生成されている旨を示している場合、復号画像に含まれている符号化歪みを補償する歪み補償処理を実施し、上記可変長復号手段により復号された予測画像識別情報が、画像符号化装置側では予測画像が第2の予測画像生成方式で生成されている旨を示している場合、ブロックの境界に存在している不連続性を緩和するブロック境界平滑化処理を実施することを特徴とする請求項9記載の画像復号装置。
  12.  予測画像生成手段が、入力画像を構成しているブロック毎に、符号化対象のブロックと参照画像の間で動きベクトルを探索し、上記動きベクトルを用いる動き補償予測処理を実施して予測画像を生成する第1の予測画像生成方式を実施する第1の予測画像生成処理ステップと、上記予測画像生成手段が、符号化済みブロックの動きベクトルから符号化対象のブロックのダイレクトベクトルを生成し、上記ダイレクトベクトルを用いる動き補償予測処理を実施して予測画像を生成する第2の予測画像生成方式を実施する第2の予測画像生成処理ステップと、差分画像選択手段が、符号化対象のブロックと上記第1の予測画像生成処理ステップで生成された予測画像間の差分画像の符号化効率を評価するとともに、符号化対象のブロックと上記第2の予測画像生成処理ステップで生成された予測画像間の差分画像の符号化効率を評価し、上記符号化効率が高い方の差分画像を選択する差分画像選択処理ステップと、量子化手段が上記差分画像選択処理ステップで選択された差分画像を量子化し、上記差分画像の量子化係数を出力する量子化処理ステップと、可変長符号化手段が、上記量子化処理ステップで出力された量子化係数及び上記差分画像選択処理ステップで選択された差分画像に係る予測画像が第1の予測画像生成方式で生成されている予測画像であるのか、第2の予測画像生成方式で生成されている予測画像であるのかを示す予測画像識別情報を可変長符号化するとともに、上記差分画像選択手段により選択された差分画像が第1の予測画像生成方式で生成された予測画像に係る差分画像である場合、上記第1の予測画像生成処理ステップで探索された動きベクトルを可変長符号化して符号化データを生成する可変長符号化処理ステップとを備えた画像符号化方法。
  13.  可変長復号手段が、符号化データから量子化係数と、画像符号化装置では予測画像が第1の予測画像生成方式で生成されているのか、第2の予測画像生成方式で生成されているのかを示す予測画像識別情報とを復号するとともに、予測画像が第1の予測画像生成方式で生成されている場合、符号化データから動きベクトルを復号する可変長復号処理ステップと、逆量子化手段が上記可変長復号処理ステップで復号された量子化係数を逆量子化する逆量子化処理ステップと、予測画像生成手段が、上記可変長復号処理ステップで復号された予測画像識別情報が、画像符号化装置では予測画像が第1の予測画像生成方式で生成されている旨を示している場合、上記可変長復号処理ステップで復号された動きベクトルを用いる動き補償予測処理を実施して予測画像を生成し、上記可変長復号処理ステップで復号された予測画像識別情報が、上記画像符号化装置では予測画像が第2の予測画像生成方式で生成されている旨を示している場合、復号済みブロックの動きベクトルから復号対象のブロックのダイレクトベクトルを生成し、上記ダイレクトベクトルを用いる動き補償予測処理を実施して予測画像を生成する予測画像生成処理ステップと、復号画像生成手段が上記予測画像生成処理ステップで生成された予測画像と上記逆量子化処理ステップでの逆量子化結果が示す差分画像を加算して、上記画像符号化装置の入力画像に相当する復号画像を生成する復号画像生成処理ステップとを備えた画像復号方法。
PCT/JP2011/001329 2010-03-31 2011-03-07 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 WO2011121894A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US13/638,095 US8948243B2 (en) 2010-03-31 2011-03-07 Image encoding device, image decoding device, image encoding method, and image decoding method
KR1020127028411A KR101420957B1 (ko) 2010-03-31 2011-03-07 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
JP2012508043A JPWO2011121894A1 (ja) 2010-03-31 2011-03-07 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN201180016494.7A CN102823250B (zh) 2010-03-31 2011-03-07 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
EP11762148.2A EP2555523A4 (en) 2010-03-31 2011-03-07 IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
TW100109657A TW201206203A (en) 2010-03-31 2011-03-22 Image encoding device, image decoding device, image encoding method and image decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010081830 2010-03-31
JP2010-081830 2010-03-31

Publications (1)

Publication Number Publication Date
WO2011121894A1 true WO2011121894A1 (ja) 2011-10-06

Family

ID=44711665

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001329 WO2011121894A1 (ja) 2010-03-31 2011-03-07 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Country Status (7)

Country Link
US (1) US8948243B2 (ja)
EP (1) EP2555523A4 (ja)
JP (1) JPWO2011121894A1 (ja)
KR (1) KR101420957B1 (ja)
CN (1) CN102823250B (ja)
TW (1) TW201206203A (ja)
WO (1) WO2011121894A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465925A (zh) * 2016-06-06 2017-12-12 谷歌公司 在可变块尺寸的视频译码中的自适应重叠块预测
US10931962B2 (en) 2012-05-11 2021-02-23 Sun Patent Trust Video coding method, video decoding method, video coding apparatus and video decoding apparatus

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
TWI463878B (zh) 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
EP2604031B1 (en) * 2010-08-10 2017-03-08 Google Technology Holdings LLC Method and apparatus for streaming media content using variable duration media segments
JP5594841B2 (ja) * 2011-01-06 2014-09-24 Kddi株式会社 画像符号化装置及び画像復号装置
JP6048941B2 (ja) 2012-01-27 2016-12-27 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP6399433B2 (ja) * 2013-05-31 2018-10-03 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP6481457B2 (ja) * 2015-03-26 2019-03-13 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法
KR20170096088A (ko) * 2016-02-15 2017-08-23 삼성전자주식회사 영상처리장치, 영상처리방법 및 이를 기록한 기록매체
KR102338356B1 (ko) 2016-05-24 2021-12-13 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
US10567793B2 (en) * 2016-06-06 2020-02-18 Google Llc Adaptive overlapped block prediction in variable block size video coding
KR20190029748A (ko) 2016-09-22 2019-03-20 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
CN110490213B (zh) * 2017-09-11 2021-10-29 腾讯科技(深圳)有限公司 图像识别方法、装置及存储介质
IL295916A (en) * 2020-03-12 2022-10-01 Interdigital Vc Holdings France Method and device for encoding and decoding video
US11949877B2 (en) * 2021-10-01 2024-04-02 Microsoft Technology Licensing, Llc Adaptive encoding of screen content based on motion type

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005102170A (ja) * 2003-08-14 2005-04-14 Intervideo Inc ビデオエンコーダにおける離散的余弦変換係数に適応したフィルタリングの方法およびシステム
JP2005513883A (ja) * 2001-12-17 2005-05-12 マイクロソフト コーポレーション スキップマクロブロックコード化
JP2007513566A (ja) * 2003-12-02 2007-05-24 ソンギュングァン ユニヴァーシティ 動画符号化方法及び装置
JP2007535221A (ja) * 2003-12-31 2007-11-29 中国科学院計算技▲づ▼研究所 ビデオ画像のスキップマクロブロックの符号化方法
JP2009188996A (ja) 2008-01-10 2009-08-20 Panasonic Corp 動画像コーデック装置及びその方法
JP2009232324A (ja) * 2008-03-25 2009-10-08 Panasonic Corp 画像符号化装置、画像符号化方法および画像符号化プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817499A3 (en) * 1996-06-28 2002-05-22 Matsushita Electric Industrial Co., Ltd. Image coding method using extrapolated pixels in insignificant areas of blocks
DE69817460T2 (de) * 1997-06-09 2004-06-09 Hitachi, Ltd. Bildsequenzdekodierungsverfahren
CN1220391C (zh) * 2001-06-29 2005-09-21 株式会社Ntt都科摩 图像编码装置、图像译码装置、图像编码方法和图像译码方法
JP2003102013A (ja) * 2001-09-21 2003-04-04 Hitachi Ltd 復号装置、符号化装置、及び符号化復号装置
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
KR20050053297A (ko) 2003-12-02 2005-06-08 학교법인 성균관대학 동영상 부호화 방법 및 장치
JP4414904B2 (ja) * 2004-04-16 2010-02-17 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
JP5219089B2 (ja) * 2009-04-30 2013-06-26 株式会社メガチップス 画像データの生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513883A (ja) * 2001-12-17 2005-05-12 マイクロソフト コーポレーション スキップマクロブロックコード化
JP2005102170A (ja) * 2003-08-14 2005-04-14 Intervideo Inc ビデオエンコーダにおける離散的余弦変換係数に適応したフィルタリングの方法およびシステム
JP2007513566A (ja) * 2003-12-02 2007-05-24 ソンギュングァン ユニヴァーシティ 動画符号化方法及び装置
JP2007535221A (ja) * 2003-12-31 2007-11-29 中国科学院計算技▲づ▼研究所 ビデオ画像のスキップマクロブロックの符号化方法
JP2009188996A (ja) 2008-01-10 2009-08-20 Panasonic Corp 動画像コーデック装置及びその方法
JP2009232324A (ja) * 2008-03-25 2009-10-08 Panasonic Corp 画像符号化装置、画像符号化方法および画像符号化プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H. SASAI; S. KONDOH; S. KADONO: "Frame-rate Up-conversion using Reliable Analysis of Transmitted Motion Information", IEEE INTERNATIONAL CONFERENCE ON ACOUSTIC, SPEECH AND SIGNAL PROCESSING (ICASSP, May 2004 (2004-05-01)
See also references of EP2555523A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931962B2 (en) 2012-05-11 2021-02-23 Sun Patent Trust Video coding method, video decoding method, video coding apparatus and video decoding apparatus
US11647218B2 (en) 2012-05-11 2023-05-09 Sun Patent Trust Video coding method, video decoding method, video coding apparatus and video decoding apparatus
CN107465925A (zh) * 2016-06-06 2017-12-12 谷歌公司 在可变块尺寸的视频译码中的自适应重叠块预测

Also Published As

Publication number Publication date
KR20130026436A (ko) 2013-03-13
US20130022124A1 (en) 2013-01-24
JPWO2011121894A1 (ja) 2013-07-04
CN102823250A (zh) 2012-12-12
TW201206203A (en) 2012-02-01
CN102823250B (zh) 2015-08-19
US8948243B2 (en) 2015-02-03
EP2555523A1 (en) 2013-02-06
EP2555523A4 (en) 2016-05-11
KR101420957B1 (ko) 2014-07-30

Similar Documents

Publication Publication Date Title
WO2011121894A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR100813963B1 (ko) 동영상의 무손실 부호화, 복호화 방법 및 장치
JP6321749B2 (ja) 動画符号化装置
KR102013093B1 (ko) 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR101365567B1 (ko) 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP4724351B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
KR100772391B1 (ko) 직교 변환 및 벡터 양자화에 기반한 동영상 부호화 및복호화 방법과 이를 이용한 장치
WO2012172668A1 (ja) 動画像符号化方法及び装置並びに動画復号化方法及び装置
KR20070047522A (ko) 영상의 부호화, 복호화 방법 및 장치
JP2004336369A (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
JP4793424B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
KR20100099723A (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 및 화상 복호 방법
KR20090095317A (ko) 영상 부호화 및 복호화 방법 및 장치
KR20190110159A (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
JP5209572B2 (ja) 画像符号化装置及び画像復号装置
JP5598199B2 (ja) 動画像符号化装置
JP5442039B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR20080013843A (ko) 동영상의 무손실 부호화, 복호화 방법 및 장치
JP2013077865A (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2011122659A1 (ja) 符号化装置および復号装置
KR100774297B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
TW202408243A (zh) 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置
KR100774298B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR20120138426A (ko) 교차 삽입법을 이용한 향상된 움직임 백터 예측 방법 및 장치
KR20120008271A (ko) 주변 화소의 정합을 이용한 예측 움직임 벡터 선택 장치 및 그 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180016494.7

Country of ref document: CN

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

Ref document number: 11762148

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012508043

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13638095

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011762148

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20127028411

Country of ref document: KR

Kind code of ref document: A