WO2011039931A1 - 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 - Google Patents
画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 Download PDFInfo
- Publication number
- WO2011039931A1 WO2011039931A1 PCT/JP2010/005149 JP2010005149W WO2011039931A1 WO 2011039931 A1 WO2011039931 A1 WO 2011039931A1 JP 2010005149 W JP2010005149 W JP 2010005149W WO 2011039931 A1 WO2011039931 A1 WO 2011039931A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- filter
- prediction
- generated
- decoded
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to an image encoding device and an image encoding method for compressing and transmitting an image, and an image decoding device and an image decoding method for decoding an image from encoded data generated by the image encoding device. is there.
- MPEG and ITU-T H.264 In an international standard video coding scheme such as 26x, an input video frame is divided into units of rectangular blocks called macroblocks, motion compensation prediction is performed, and then a prediction error signal is orthogonally transformed and quantized in units of blocks. Therefore, information compression is performed. Furthermore, many international standard video coding schemes perform motion compensation prediction with non-integer pixel precision such as, for example, motion compensation with 1/4 pixel precision in order to increase the precision of motion compensation prediction ( For example, the MPEG-4 AVC / H.264 encoding method (see Non-Patent Document 1) employs motion compensation prediction with 1/4 pixel accuracy). In general, in video coding, a unit of an image to be encoded is defined by a unit called a picture.
- one frame is one picture (the frame and picture represent the same), but in the video called interlace video in which the odd field and even field are combined into one frame, the odd field and even field are In some cases, each picture is handled as an independent picture (two pictures in one frame), or one odd picture and even field are combined into one picture in one frame.
- all progressive video one picture per frame
- all the parts expressed as “frames” are referred to as “pictures”. Just replace it.
- FIG. 17 is a block diagram showing an image encoding device disclosed in Non-Patent Document 1.
- the block dividing unit 101 when the block dividing unit 101 inputs an encoding target image signal, the encoding target image signal is divided into macro block units, and the macro block unit image signal is divided into divided image signals to the prediction unit 102. Output.
- the prediction unit 102 predicts the image signal of each color component in the macroblock within a frame or between frames, and calculates a prediction error signal.
- a motion vector is searched for in units of a macroblock itself or a subblock obtained by further dividing a macroblock. Then, using the motion vector, a motion compensated prediction image is generated by performing motion compensation prediction on the reference image signal stored in the memory 107, and a prediction signal indicating the motion compensated prediction image and the block dividing unit 101 are generated.
- the prediction error signal is calculated by obtaining the difference between the divided image signals output from the.
- the prediction unit 102 outputs the prediction signal generation parameter determined when obtaining the prediction signal to the variable length coding unit 108.
- the prediction signal generation parameter includes, for example, information such as a prediction mode indicating how to perform prediction within a frame or between frames and a motion vector indicating a motion amount between frames.
- the compression unit 103 Upon receiving the prediction error signal from the prediction unit 102, the compression unit 103 performs DCT (Discrete Cosine Transform) processing on the prediction error signal to remove signal correlation, and then quantizes the prediction error signal after DCT processing. To obtain compressed data.
- DCT Discrete Cosine Transform
- the local decoding unit 104 receives the compressed data from the compression unit 103, the local decoding unit 104 inverse quantizes the compressed data, and performs inverse DCT processing on the compressed data after the inverse quantization, thereby generating a prediction error signal output from the prediction unit 102. A corresponding prediction error signal is calculated.
- DCT Discrete Cosine Transform
- the adder 105 When the adder 105 receives the prediction error signal from the local decoding unit 104, the adder 105 adds the prediction error signal and the prediction signal output from the prediction unit 102 to generate a local decoded image.
- the loop filter 106 removes block distortion superimposed on the locally decoded image signal indicating the locally decoded image generated by the adder 105, and stores the locally decoded image signal after distortion removal in the memory 107 as a reference image signal. .
- variable length coding unit 108 When the variable length coding unit 108 receives the compressed data from the compression unit 103, the variable length coding unit 108 performs entropy coding on the compressed data and outputs a bit stream that is a result of the coding. Note that the variable length coding unit 108 multiplexes the prediction signal generation parameter output from the prediction unit 102 into the bit stream and outputs the bit stream.
- Non-Patent Document 1 a motion vector in motion compensation prediction can be searched with 1/4 pixel accuracy.
- non-integer pixel accuracy such as 1 ⁇ 4 pixel accuracy
- Non-Patent Document 1 a reference pixel with non-integer pixel accuracy when performing motion compensation prediction is generated using a predetermined fixed non-integer pixel generation filter.
- a non-integer pixel generation filter is optimally designed for each non-integer pixel position for each frame.
- a filter called a Wiener filter is used. That is, a filter that minimizes the sum of square errors between the encoding target image signal and the prediction signal is used.
- FIG. 18 is an explanatory diagram illustrating the principle of the quality improvement of the prediction signal by the Wiener filter in the image encoding device disclosed in Non-Patent Document 2.
- a signal s is a signal corresponding to an encoding target image signal input to the block division unit 101 in FIG. 17, and a signal s ′ is before the Wiener filter is applied in the prediction unit 102 in FIG. 17. It is a prediction signal.
- the prediction signal is generated from the reference image signal stored in the memory 107, and the reference image signal is a signal on which encoding distortion is superimposed, the signal s ′ is added to the signal s. On the other hand, it becomes a signal on which various noises e generated by the encoding process and the prediction process are superimposed.
- a Wiener filter is defined as a filter that is applied to the signal s ′ so as to minimize the noise e with a square error distortion criterion.
- the filter coefficient w can be obtained from the following equation (1).
- the sizes of the matrices R s ′s ′ and R ss ′ correspond to the number of filter taps to be obtained.
- the signal s hat whose quality has been improved by applying the Wiener filter with the filter coefficient w (in the relation to the electronic application, “ ⁇ ” attached to the alphabetical character is expressed as a hat) is finally used as the prediction unit of FIG. It is obtained as a signal corresponding to the prediction signal output from 102.
- Non-Patent Document 3 instead of performing filter design, a plurality of fixed non-integer pixel generation filters are prepared, and the quality of the predicted image is improved by switching the plurality of filters for each frame or each non-integer pixel position.
- An improved example is disclosed.
- MPEG-4 AVC ISO / IEC 14496-10
- ITU-T H.264 standard Y.Vatis, B.Edler, D.T.Nguyen, J.Ostermann, “Two-dimensional non-separable Adaptive Wiener Interpolation Filter for H.264 / AVC”
- VCEG-Z17 ITU-T SG16 / Q.6 meeting, April 2005
- M.Karczewicz Y.Ye, P.Chen, “Switched Interpolation Filter with Offset”
- VCEG-AI35 ITU-T SG16 / Q.6 meeting, July 2008
- Non-Patent Documents 2 and 3 have a problem that a large coding delay occurs when motion compensation prediction is performed. That is, in Non-Patent Document 2, when performing motion compensation prediction, first, a motion vector is detected in the entire frame using a predetermined initial filter, and the motion vector is used to detect a non-integer pixel position.
- the Wiener filter is designed so that the entire frame error between the predicted image signal and the encoding target image signal when the Wiener filter is applied is minimized.
- Non-Patent Document 3 in order to select one optimum filter from a plurality of fixed non-integer pixel generation filters for each non-integer pixel position in a frame, In order to obtain a combination of non-integer pixel generation filters, iterative optimization processing is required in units of frames, resulting in a large coding delay.
- Non-Patent Document 3 since a predetermined fixed non-integer pixel generation filter is used instead of a filter according to the characteristics of the encoding target image signal, an appropriate filter may be used depending on the encoding target image. Does not exist in the selection candidates, and the improvement effect of the prediction performance may not be obtained.
- the present invention has been made to solve the above-described problems, and provides an image encoding device and an image encoding method capable of suppressing encoding delay and improving image quality improvement accuracy. For the purpose. Another object of the present invention is to obtain an image decoding apparatus and an image decoding method that can improve the accuracy of image quality improvement.
- the prediction processing means generates a reference image from a locally decoded image stored in a memory, using a fixed filter prepared in advance for each local region of the input image.
- a reference image is generated from the locally decoded image
- an optimal reference image is selected from the generated multiple reference images
- an optimal reference image and input are input.
- a predicted image is generated from a local region of the image.
- the prediction processing means generates a reference image from a locally decoded image stored in the memory using a fixed filter prepared in advance for each local region of the input image, and generates a filter.
- a reference image is generated from the local decoded image using the filter generated by the means, an optimal reference image is selected from the generated plurality of reference images, and the optimal reference image and the local region of the input image are selected. Therefore, it is possible to suppress the coding delay and improve the accuracy of improving the image quality.
- FIG. 6 is an explanatory diagram illustrating an example of a bitstream generated by a variable-length encoding unit 8.
- FIG. It is explanatory drawing which shows the example of arrangement
- FIG. 1 is a configuration diagram illustrating an image encoding device disclosed in Non-Patent Document 1.
- FIG. 1 In the image coding apparatus disclosed in Non-Patent Document 2, it is an explanatory diagram showing the principle of quality improvement of a predicted signal by a Wiener filter.
- FIG. 1 is a block diagram showing an image coding apparatus according to Embodiment 1 of the present invention.
- a block dividing unit 1 divides a signal of an encoding target image, which is an input image, into units of macroblocks (local regions of the input image), and outputs image signals in units of macroblocks (hereinafter referred to as “divided image signals”). ) Is output to the prediction unit 2.
- the prediction unit 2 receives the divided image signal output from the block division unit 1, the prediction unit 2 predicts the divided image signal within a frame or between frames to generate a prediction signal.
- a first reference image signal is generated from a locally decoded image signal stored in the memory 7 using a fixed filter prepared in advance, and image quality is improved.
- a second reference image signal is generated from the locally decoded image signal using the filters (the integer pixel Wiener filter and the non-integer pixel Wiener filter) generated by the filter generation unit 6, and the first and second
- the optimal reference image signal is selected from the reference image signals for each macro block, and a prediction signal indicating the prediction image is generated using the optimal reference image signal, and the difference between the divided image signal and the prediction signal A process of calculating a prediction error signal is performed.
- the prediction unit 2 when generating the prediction signal, the prediction unit 2 performs a process of generating a prediction signal generation parameter that is information for specifying the prediction process.
- This prediction signal generation parameter is a prediction mode (intraframe prediction or interframe (motion compensation) prediction) indicating which prediction method is used within a frame or between frames. (Including information such as the division state of the sub-block for switching motion vectors).
- the prediction mode indicates motion compensation prediction between frames, a motion vector or a reference frame number for each macroblock or subblock indicating the amount of motion between frames (when motion compensation is performed with reference to a plurality of frames)
- Reference image generation method identification information indicating the selection result of the reference image signal is also included as a prediction signal generation parameter.
- the block dividing unit 1 and the prediction unit 2 constitute a prediction processing unit.
- the compression unit 3 performs DCT (discrete cosine transform) processing on the prediction error signal calculated by the prediction unit 2 to calculate a DCT coefficient, quantizes the DCT coefficient, and compresses the compressed DCT coefficient. A process of outputting data to the local decoding unit 4 and the variable length coding unit 8 is performed.
- the compression unit 3 constitutes a differential image compression unit.
- the local decoding unit 4 performs inverse quantization on the compressed data output from the compression unit 3 and performs inverse DCT processing on the compressed data after the inverse quantization, so that a prediction corresponding to the prediction error signal output from the prediction unit 2 is performed. A process for calculating an error signal is performed.
- the adder 5 adds the prediction error signal calculated by the local decoding unit 4 and the prediction signal generated by the prediction unit 2 to generate a local decoded image signal indicating a local decoded image, and the local decoded image signal is A process of outputting to the image quality improvement filter generation unit 6 and the memory 7 is performed.
- the local decoding unit 4 and the adder 5 constitute local decoding means.
- the image quality improvement filter generation unit 6 generates an integer pixel Wiener filter that minimizes an error of an integer pixel precision pixel (originally existing pixel) between the local decoded image signal output from the adder 5 and the encoding target image signal. Design and compensate for coding distortion superimposed on the local decoded image signal using the integer pixel Wiener filter, and upsampled code for the locally decoded image signal after coding distortion compensation A process of designing a Wiener filter for generating a non-integer pixel that minimizes an error of the non-integer pixel precision of the image signal to be processed is performed.
- the image quality improvement filter generator 6 constitutes a filter generator.
- the memory 7 stores the locally decoded image signal output from the adder 5 in preparation for encoding of the next frame, and also generates the integer pixel Wiener filter and non-integer pixel generated by the image quality improvement filter generation unit 6.
- This is a recording medium for storing filter information related to the Wiener filter for use.
- the filter information is stored in the memory 7 in a one-to-one correspondence with the local decoded image signals of a plurality of frames stored in the memory 7 for each frame.
- the storage method of data in the memory 7 is not limited as long as it is clear which filter information corresponds to which local decoded image signal of which frame.
- the prediction unit 2 stores the locally decoded image signal and the filter information in the memory 7 in order to generate the first reference image signal and the second reference image signal.
- the first reference image signal and the second reference image signal may be generated first, and the image encoding device may be configured to directly store these reference images in the memory 7. Good.
- the variable length encoding unit 8 entropy-encodes the compressed data output from the compression unit 3, the filter information output from the image quality improvement filter generation unit 6, and the prediction signal generation parameter output from the prediction unit 2. A process of generating a bit stream indicating the encoding result of is performed.
- the variable length coding unit 8 constitutes variable length coding means.
- FIG. 1 shows an example in which the locally decoded image signal output from the adder 5 is given to the image quality improvement filter generation unit 6 and the memory 7. However, as shown in FIG. A deblocking filter 9, which is a loop filter for removing block distortion superimposed on the decoded image signal, is provided after the adder 5, and the local decoded image signal from which block distortion has been removed by the deblocking filter 9 is an image quality improvement filter. You may make it give to the production
- a block division unit 1 a prediction unit 2, a compression unit 3, a local decoding unit 4, an adder 5, an image quality improvement filter generation unit 6, and a variable length coding unit 8 that are components of the image coding apparatus. It is assumed that each is configured with dedicated hardware (for example, a semiconductor integrated circuit or a one-chip microcomputer on which a CPU is mounted). However, when the image encoding device is configured with a computer, block division is performed. A program in which the processing contents of the unit 1, the prediction unit 2, the compression unit 3, the local decoding unit 4, the adder 5, the image quality improvement filter generation unit 6 and the variable length coding unit 8 are described is stored in a computer memory. The CPU of the computer may execute a program stored in the memory.
- FIG. 3 is a block diagram showing the image quality improvement filter generation unit 6 of the image coding apparatus according to Embodiment 1 of the present invention.
- the frame memory 11 stores a locally decoded image signal generated by the adder 5 (or a locally decoded image signal from which block distortion has been removed by the deblocking filter 9 of FIG. 2) for one frame. It is.
- the integer pixel filter design unit 12 is an integer pixel Wiener filter that minimizes the square error sum of pixels of integer pixel accuracy between the local decoded image signal for one frame stored in the frame memory 11 and the encoding target image signal. The process to generate is performed.
- the filter processing unit 13 uses the integer pixel Wiener filter designed by the integer pixel filter design unit 12 to reduce the coding distortion superimposed on the local decoded image signal for one frame stored in the frame memory 11.
- the designed integer pixel Wiener filter is a filter that minimizes the total distortion (sum of squared errors) in the region to be filtered, so when viewed for each local region such as a macroblock, the image is processed by filtering. Since it is considered that there is a region where quality is not improved, the filter processing unit 13 may switch whether or not to perform filter processing for compensating for coding distortion for each local region. The switching information at this time may be output to the variable length coding unit 8 as filter information together with information about the designed Wiener filter. By switching whether or not to perform the filtering process for each local area in this way, it is possible to filter only the local area where the image quality is improved, and it is possible to realize a higher quality distortion compensation process. .
- the up-sampling unit 14 up-samples the encoding target image signal to a predetermined non-integer pixel accuracy (for example, 1/4 pixel accuracy) using a fixed non-integer pixel generation filter prepared in advance.
- the non-integer pixel generation filter design unit 15 determines the non-integer pixel precision pixels of the encoding target image signal up-sampled by the up-sampling unit 14 for the local decoded image signal after the encoding distortion compensation by the filter processing unit 13. A process for designing a Wiener filter for generating non-integer pixels that minimizes the error is performed.
- the filter information multiplexing unit 16 includes filter information (filter coefficient, number of filter taps (number of reference pixels), etc.) related to the integer pixel Wiener filter designed by the integer pixel filter design unit 12 and a non-integer pixel generation filter design unit 15.
- the filter information on the non-integer pixel generation Wiener filter generated by the above is multiplexed and output to the variable length encoding unit 8.
- FIG. 4 is a block diagram showing a motion compensation prediction unit in the prediction unit 2 of the image coding apparatus according to Embodiment 1 of the present invention.
- the reference image generation unit 21 generates a first reference image signal from the locally decoded image signal stored in the memory 7 using a fixed filter prepared in advance for each macroblock, Using a filter related to filter information stored in the memory 7 (an integer pixel Wiener filter and a non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6), a second is obtained from the locally decoded image signal.
- a filter related to filter information stored in the memory 7 an integer pixel Wiener filter and a non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6
- the reference image generation unit 21 when the motion compensation unit 23 performs the motion compensated prediction with 1 ⁇ 4 pixel accuracy, the reference image generation unit 21 generates at least one fixed reference when the first reference image signal is generated.
- the locally decoded image signal is expanded to 1/4 pixel accuracy using the non-integer pixel generation filter.
- the second reference image signal when the second reference image signal is generated, the local decoded image signal is generated using the integer pixel Wiener filter and at least one non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6. Is expanded to 1/4 pixel accuracy.
- Examples of the fixed non-integer pixel generation filter include a 6-tap 1/2 pixel generation filter and a 2-tap 1/4 pixel generation filter described in Non-Patent Document 1.
- an example is shown in which an integer pixel Wiener filter and at least one non-integer pixel generation Wiener filter are used when generating the second reference image signal.
- a Wiener filter is used for the generation filter, and a fixed filter is used for a part of the filters, such as a fixed 1/4 pixel generation filter, as in the first reference image signal, for generation of 1/4 pixels. You may make it use.
- the image encoding device and an image to be described later are used. It may be determined in advance when configuring the decoding device, or may be encoded as header information in units of frames or in units of slices composed of a plurality of macroblocks for each pixel accuracy. .
- the changeover switch 22 is a switch that is switched under the instruction of the motion compensation unit 23, and applies the first reference image signal and the second reference image signal generated by the reference image generation unit 21 to the motion compensation unit 23 in order. Perform the process.
- the motion compensation unit 23 performs motion in units of macroblocks or subblocks obtained by further subdividing macroblocks from the first reference image signal generated by the reference image generation unit 21 and the divided image signal output from the block division unit 1.
- a vector is detected, a prediction signal and a prediction signal generation parameter are generated from the motion vector and the first reference image signal, and a cost C1 for generating the prediction signal and the like is calculated.
- a motion vector is detected in units of macroblocks or subblocks obtained by further dividing a macroblock from the second reference image signal generated by the reference image generation unit 21 and the divided image signal output from the block division unit 1.
- a prediction signal and a prediction signal generation parameter are generated from the motion vector and the second reference image signal, and a process of calculating the cost C2 for generating the prediction signal and the like is performed.
- the motion compensation unit 23 compares the cost C1 and the cost C2 for each local region such as a macroblock, and if the cost C1 is smaller than the cost C2, selects the first reference image signal as the optimum reference image signal.
- the prediction signal generated from the first reference image signal and the prediction signal generation parameter are output. If the cost C1 is equal to or higher than the cost C2, the second reference image signal is selected as the optimum reference image signal, The process which outputs the prediction signal produced
- Examples of the costs C1 and C2 include only the square error sum D (or absolute value error sum D ′) between the predicted image signal and the divided image signal in the local region, or D (D ′). And a value (D + ⁇ R (D ′ + ⁇ R), ⁇ is a constant) that takes into account the code amount R generated when the prediction signal generation parameter is encoded.
- the subtracter 24 performs a process of calculating a prediction error signal that is a difference between the divided image signal output from the block dividing unit 1 and the prediction signal output from the motion compensation unit 23.
- FIG. 5 is a flowchart showing the processing contents (image coding method) of the image coding apparatus according to Embodiment 1 of the present invention.
- FIG. 6 is a flowchart showing the motion compensation prediction process in the prediction unit 2 of the image coding apparatus according to Embodiment 1 of the present invention.
- the block dividing unit 1 divides the encoding target image signal into units of macroblocks, and outputs a divided image signal that is an image signal in units of macroblocks to the prediction unit 2 (FIG. 5). Step ST1).
- the prediction unit 2 When the prediction unit 2 receives the divided image signal from the block division unit 1, the specific processing content will be described later, but is stored in the memory 7 using a fixed filter prepared in advance for each macroblock.
- a first reference image signal is generated from the local decoded image signal (step ST2) and a filter related to filter information stored in the memory 7 (an integer pixel Wiener filter generated by the image quality improvement filter generation unit 6) And a non-integer pixel generation Wiener filter), a second reference image signal is generated from the locally decoded image signal (step ST3).
- the prediction unit 2 selects an optimal reference image signal from the first reference image signal and the second reference image signal (step ST4).
- a prediction signal indicating a prediction image is generated using the optimal reference image signal (step ST5).
- the prediction unit 2 also performs intra-frame prediction, and the most suitable one of the inter-frame prediction and the intra-frame prediction is adopted as the final predicted image.
- the operation related to intra-frame prediction is omitted.
- the prediction unit 2 When the prediction unit 2 generates the prediction signal, the prediction unit 2 outputs the prediction signal to the adder 5 and calculates a prediction error signal that is a difference between the prediction signal and the divided image signal output from the block division unit 1.
- the prediction error signal is output to the compression unit 3 (step ST6).
- the prediction unit 2 generates a prediction signal by performing a motion compensation prediction process between frames, but information specifying the motion compensation prediction process (for example, what kind of prediction is performed between frames (motion Prediction mode indicating information such as the division state of sub-blocks for switching vectors), motion vector for each macroblock or sub-block indicating the amount of motion between frames, reference frame number (when motion compensation is performed with reference to a plurality of frames) And the like, and a reference signal generation parameter including reference image generation method identification information indicating the selection result of the reference image signal is generated.
- motion Prediction mode indicating information such as the division state of sub-blocks for switching vectors
- motion vector for each macroblock or sub-block indicating the amount of motion between frames
- reference frame number when motion compensation is performed with reference to a plurality of frames
- the compression unit 3 When receiving the prediction error signal from the prediction unit 2, the compression unit 3 performs DCT (discrete cosine transform) processing on the prediction error signal to calculate a DCT coefficient, and quantizes the DCT coefficient (step ST7). .
- the compression unit 3 outputs compressed data that is a DCT coefficient after quantization to the local decoding unit 4 and the variable length coding unit 8.
- the local decoding unit 4 When the local decoding unit 4 receives the compressed data from the compression unit 3, the local decoding unit 4 inversely quantizes the compressed data, and performs the inverse DCT process on the compressed data after the inverse quantization, whereby the prediction error output from the prediction unit 2 A prediction error signal corresponding to the signal is calculated (step ST8).
- the adder 5 adds the prediction error signal and the prediction signal generated by the prediction unit 2 to generate a local decoded image signal indicating the local decoded image,
- the local decoded image signal is output to the image quality improvement filter generation unit 6, and the local decoded image signal is stored in the memory 7 (step ST9).
- the image quality improvement filter generation unit 6 When the adder 5 generates a local decoded image signal, the image quality improvement filter generation unit 6 superimposes the local decoded image signal. At least one filter that compensates for the coding distortion is designed, and filter information related to the filter is output to the variable length coding unit 8 and the filter information is stored in the memory 7 (step ST10).
- variable length encoding unit 8 entropy-encodes the compressed data output from the compression unit 3, the filter information output from the image quality improvement filter generation unit 6, and the prediction signal generation parameter output from the prediction unit 2, A bit stream indicating the encoding result is generated, and the bit stream is transmitted to the image decoding apparatus in FIG. 10 (step ST11).
- the variable length coding unit 8 also performs entropy coding on the prediction signal generation parameter, but the prediction signal generation parameter is not entropy encoded but is multiplexed and transmitted in the generated bitstream. It may be.
- FIG. 7 is an explanatory diagram showing an example of a bitstream generated by the variable length encoding unit 8.
- a slice is a unit obtained by bundling a plurality of macroblocks, and a picture (frame) is composed of at least one slice.
- filter information (filter information relating to the integer pixel Wiener filter and the non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6) is encoded in units of slices. Filter information is stored in the slice header.
- the prediction signal generation parameter generated by the prediction unit 2 is encoded in units of macroblocks, and the encoded prediction signal generation parameter is stored in the macroblock header.
- the filter design processing in the image quality improvement filter generation unit 6 may be performed in units of slices instead of in units of frames.
- the filter design process in the image quality improvement filter generation unit 6 is performed in units of slices, the code amount required for the filter information is increased as compared with the case where the design process is performed in units of frames. The quality of the signal and the reference image signal can be improved.
- the integer pixel filter design unit 12 of the image quality improvement filter generation unit 6 acquires a local decoded image signal for one frame stored in the frame memory 11, and the local decoded image signal and the encoding target image signal are obtained.
- An integer pixel Wiener filter that minimizes the sum of square errors of pixels with integer pixel accuracy between them (originally existing pixels) is generated.
- FIG. 8 is an explanatory diagram showing an example of arrangement of filter coefficients in the integer pixel Wiener filter.
- the filter coefficient (a 0 , a 1 ,..., A N ⁇ 1 ) of the reference pixels of the surrounding N pixels including the filter application pixel position and the offset coefficient a N are configured.
- the pixel value s hat (x 0 ) after filtering at this time can be expressed by the following equation (2).
- the weight applied to the reference pixel x l (0 ⁇ l ⁇ N ⁇ 1) is the filter coefficient a l . . N is an arbitrary number of reference pixels.
- N may be given as a fixed value in advance, or may be a variable value as determined by some predetermined means.
- the shape of the reference pixel arrangement may be an arrangement prepared in advance as in the case of the number of reference pixels, or the shape may be variable according to a predetermined rule.
- the filter application target image signal is a locally decoded image signal output from the adder 5 (or the deblocking filter 9), and the integer pixel Wiener filter is designed based on the above-described equation (1). Thus, it is possible to minimize the square error sum of the pixels with integer pixel accuracy between the encoding target image signal and the locally decoded image signal.
- the filter processing unit 13 uses the integer pixel Wiener filter to generate a local decoded image signal for one frame stored in the frame memory 11.
- a filter process for compensating the superimposed coding distortion is performed, and the locally decoded image signal after the coding distortion compensation is output to the non-integer pixel generation filter design unit 15.
- the upsampling unit 14 upsamples the encoding target image signal to 1/4 pixel accuracy using a fixed filter prepared in advance.
- the fixed filter include a 1 ⁇ 2 pixel generation filter and a 1 ⁇ 4 pixel generation filter described in Non-Patent Document 1.
- the non-integer pixel generation filter design unit 15 performs an error between the non-integer pixel of the encoding target image signal up-sampled by the up-sampling unit 14 with respect to the locally decoded image signal after the encoding distortion compensation by the filter processing unit 13.
- a 1 ⁇ 2 pixel generation Wiener filter and a 1 ⁇ 4 pixel generation Wiener filter are respectively designed as non-integer pixel generation Wiener filters will be described.
- FIG. 9 is an explanatory diagram showing an example of arrangement of filter coefficients in the 1 ⁇ 2 pixel generation Wiener filter.
- the filter coefficient (b 0 , b 1 ,..., B N′ ⁇ 1 ) of the reference pixels of N ′ pixels around the non-integer pixel generation position y 0 and the offset coefficient b N ′ are included.
- all the reference pixels are integer pixels.
- the pixel value s hat (y 0 ) at the 1/2 pixel position (non-integer pixel generation position y 0 ) at this time can be expressed by the following equation (3).
- N ′ is an arbitrary number of reference pixels.
- N ′ may be given as a fixed value in advance, or may be a variable value as determined by some predetermined means.
- the shape of the reference pixel arrangement may be an arrangement prepared in advance as in the case of the number of reference pixels, or the shape may be variable according to a predetermined rule. Then, a 1 ⁇ 2 pixel generation Wiener filter that generates a 1 ⁇ 2 pixel that minimizes an error from the 1 ⁇ 2 pixel of the encoding target image signal is generated based on Expression (1) under the reference pixel. . Further, the Wiener filter for generating half pixels at the non-integer pixel generation positions y 1 and y 2 is also generated by the same method as that at the non-integer pixel generation position y 0 .
- the 1 / P pixel is generated so that the square error sum between the 1/4 pixel generated by the Wiener filter and the 1/4 pixel of the encoding target image signal is minimized. It is generated by the same method as the method for generating the 2-pixel generation Wiener filter.
- the integer pixel Wiener filter, the 1/2 pixel Wiener filter, and the 1/4 pixel Wiener filter are designed, but only the integer pixel Wiener filter and the 1/2 pixel Wiener filter are used. It may be designed so that the 1 ⁇ 4 pixel Wiener filter is not designed. Since the Wiener filter designed by the image quality improvement filter generation unit 6 is a filter used when the reference image generation unit 21 of the prediction unit 2 generates the second reference image signal, the pixel accuracy that does not generate the Wiener filter These pixels are generated using a fixed filter prepared in advance. By not generating the Wiener filter in this way, the image quality improvement effect by the filter processing may be reduced, but the code amount required for the filter can be reduced.
- the second reference image signal generation filter selection information may be determined in advance for each pixel accuracy as frame unit or slice unit header information composed of a plurality of macroblocks. You may make it encode.
- the generation method of the second reference image signal can be switched, so that the code amount required for the filter and the reference image signal generated by the reference image generation unit 21 of the prediction unit 2 It is possible to adaptively control the quality of the image.
- the reference image generation unit 21 of the prediction unit 2 generates a first reference image signal from the locally decoded image signal stored in the memory 7 using a fixed filter prepared in advance for each macroblock ( Step ST21 in FIG. 6). Further, the reference image generation unit 21 generates a Wiener filter designed with an already encoded frame for each macroblock, that is, an integer pixel Wiener filter and non-integer pixel generation generated by the image quality improvement filter generation unit 6. A second reference image signal is generated from the locally decoded image signal stored in the memory 7 by using the Wiener filter (step ST22).
- the motion compensation unit 23 controls the changeover switch 22 to sequentially acquire the first reference image signal and the second reference image signal generated by the reference image generation unit 21.
- the motion compensation unit 23 calculates a macroblock unit or a macro from the first reference image signal and the divided image signal output from the block division unit 1.
- a motion vector is detected in units of sub-blocks obtained by further finely dividing the block, and a prediction signal and a prediction signal generation parameter are generated from the motion vector and the first reference image signal (step ST23).
- the motion compensation unit 23 acquires the second reference image signal generated by the reference image generation unit 21, the motion compensation unit 23 generates a macroblock unit from the second reference image signal and the divided image signal output from the block division unit 1.
- a motion vector is detected in units of sub-blocks obtained by further finely dividing the macroblock, and a prediction signal and a prediction signal generation parameter are generated from the motion vector and the second reference image signal (step ST24).
- the motion compensation unit 23 calculates a cost C1 for generating a prediction signal and a prediction signal generation parameter from the first reference image signal (step ST25).
- the cost C1 is calculated from the following equation (4).
- C1 D1 + ⁇ ⁇ R1 (4)
- D1 is the sum of square errors between the encoding target image signal and the first reference image signal in the macroblock
- ⁇ is a constant
- R1 is a code amount generated when encoding the prediction signal generation parameter.
- the cost C1 is calculated by the equation (4), but this is only an example, and for example, only the square error sum D1 may be used as the cost C1.
- the square error sum D1 other evaluation values such as the sum of absolute values of errors may be used.
- the motion compensation unit 23 calculates a cost C2 for generating a prediction signal and a prediction signal generation parameter from the second reference image signal (step ST26).
- the cost C2 is calculated from the following equation (5).
- C2 D2 + ⁇ ⁇ R2 (5)
- D2 is the sum of square errors between the encoding target image signal and the second reference image signal in the macroblock
- ⁇ is a constant
- R2 is the amount of code generated when encoding the prediction signal generation parameter. .
- the motion compensation unit 23 After calculating the cost C1 and the cost C2, the motion compensation unit 23 compares the cost C1 and the cost C2 (step ST27). If the cost C1 is smaller than the cost C2, the motion compensation unit 23 selects the first reference image signal as the optimum reference image signal, and outputs the prediction signal generated from the first reference image signal and the prediction signal generation parameter. (Step ST28). On the other hand, if the cost C1 is equal to or higher than the cost C2, the second reference image signal is selected as the optimum reference image signal, and the prediction signal generated from the second reference image signal and the prediction signal generation parameter are output (step) ST29).
- the motion compensation unit 23 When the first reference image signal is selected as the optimal reference image signal, the motion compensation unit 23 generates a reference image generation method of “0” indicating that the optimal reference image signal is the first reference image signal.
- the identification information is included in the prediction signal generation parameter and output to the variable length coding unit 8.
- “1” reference image generation method identification information indicating that the optimum reference image signal is the second reference image signal is generated as a prediction signal. And output to the variable length encoding unit 8.
- the subtractor 24 Upon receiving the prediction signal from the motion compensation unit 23, the subtractor 24 calculates a prediction error signal that is a difference between the prediction signal and the divided image signal output from the block dividing unit 1, and the prediction error signal is compressed by the compression unit 3. (Step ST30).
- the prediction unit 2 performs the motion compensation prediction process from step ST21 to ST29 in units of macroblocks, but for example, a unit of blocks for switching motion vectors or a unit of slices composed of a plurality of macroblocks.
- the processing from step ST21 to ST29 may be performed in units of other local regions that are not in units of macroblocks, such as performing motion compensation prediction processing.
- the reference image switching unit becomes smaller as the processing unit becomes smaller, the quality of the predicted image is improved, but the reference image generation method identification information for identifying the optimum reference image signal increases.
- the unit of motion compensation prediction processing is equal to or less than a macroblock, independent encoding is possible for each macroblock (repetitive processing across macroblocks such as a frame unit is unnecessary). Compared to, encoding delay can be greatly suppressed.
- the prediction unit 2 uses a fixed filter prepared in advance for each macroblock from the locally decoded image signal stored in the memory 7. Using the integer pixel Wiener filter and non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6 to generate the first reference image signal, the second reference image is generated from the locally decoded image signal. Since the signal is generated, the optimum reference image signal is selected from the first and second reference image signals, and the prediction signal is generated from the reference image signal, the coding delay is suppressed. As a result, an encoding process capable of improving the quality of a predicted image by motion compensation prediction is realized, and as a result, the improvement accuracy of the image quality can be improved. That.
- FIG. 10 is a block diagram showing an image decoding apparatus according to Embodiment 2 of the present invention.
- the variable length decoding unit 31 receives the bit stream transmitted from the image encoding device of FIG. 1, the variable length decoding unit 31 performs variable length decoding on the compressed data, the filter information, and the prediction signal generation parameter from the bit stream, A process of outputting the compressed data to the prediction error decoding unit 33 is performed.
- the filter information is stored in the memory 35, and the process of outputting the prediction signal generation parameter to the prediction unit 32 is performed.
- the variable length decoding unit 31 constitutes a variable length decoding unit.
- the prediction unit 32 When the prediction mode included in the prediction signal generation parameter variable-length decoded by the variable-length decoding unit 31 indicates that intra-frame prediction is to be performed, the prediction unit 32 performs intra-frame prediction and indicates a predicted image. A process for generating a prediction signal is performed. On the other hand, when the prediction mode indicates that inter-frame prediction is performed, the prediction unit 32 performs motion compensation prediction. First, reference image generation method identification information (optimum reference image signal selection result by the motion compensation unit 23 in FIG. 4) included in the prediction signal generation parameter is prepared in advance by the reference image generation unit 21 in FIG. If the first reference image signal generated using the fixed filter is selected, the reference image signal is referenced from the decoded image signal stored in the memory 35 using the fixed filter.
- the reference image generation method identification information included in the prediction signal generation parameter is the integer pixel Wiener filter and non-integer pixel generation generated by the image quality improvement filter generation unit 6 of FIG. That the second reference image signal generated using the Wiener filter for use (the filter related to the filter information subjected to variable length decoding by the variable length decoding unit 31) is selected. If indicated, using a filter according to the filter information to generate a reference picture signal from the decoded image signal stored in the memory 35. And the process which produces
- the prediction unit 32 constitutes a predicted image generation unit.
- the prediction error decoding unit 33 performs inverse DCT processing on the compressed data subjected to variable length decoding by the variable length decoding unit 31 and performs inverse DCT processing on the compressed data after the inverse quantization, thereby outputting from the local decoding unit 4 in FIG. A process of calculating a prediction error signal corresponding to the predicted error signal is performed.
- the adder 34 adds the prediction error signal calculated by the prediction error decoding unit 33 and the prediction signal generated by the prediction unit 32, thereby decoding corresponding to the locally decoded image signal output from the adder 5 of FIG. A process of calculating the image signal and outputting the decoded image signal to the memory 35 and the image quality improvement filter processing unit 36 is performed.
- the prediction error decoding unit 33 and the adder 34 constitute decoded image generation means.
- the memory 35 is a recording medium for storing the decoded image signal output from the adder 34 and the filter information variable-length decoded by the variable-length decoding unit 31 in preparation for the decoding of the next frame.
- the filter information is stored in the memory 35 in a one-to-one correspondence for each frame of the decoded image signals of a plurality of frames stored in the memory 35.
- the storage method of data in the memory 35 is not limited as long as it is clear which filter information corresponds to which frame of the decoded image signal.
- the decoded image signal and the filter information are stored in the memory 35 in order to generate the reference image signal in the prediction unit 32, but the reference image signal generation process is not required in the prediction unit 32.
- a reference image signal is generated with reference to the reference image generation method identification information included in the prediction signal generation parameter variable-length decoded by the variable-length decoding unit 31, and the reference image is directly stored in the memory 7.
- An image decoding apparatus may be configured.
- the image quality improvement filter processing unit 36 compensates for the coding distortion superimposed on the decoded image signal output from the adder 34 by using a filter related to the filter information that has been variable length decoded by the variable length decoding unit 31, A process of outputting the decoded image signal after compensation for coding distortion to the outside as a reproduced image signal is performed.
- the image quality improvement filter processing unit 36 constitutes filtering means.
- FIG. 10 illustrates an example in which the decoded image signal output from the adder 34 is provided to the memory 35 and the image quality improvement filter processing unit 36.
- the decoded image signal output from the adder 34 is illustrated.
- a deblocking filter 37 which is a loop filter for removing block distortion superimposed on the signal, is provided at the subsequent stage of the adder 34, and the decoded image signal from which the block distortion has been removed by the deblocking filter 37 is stored in the memory 35 and the image quality improvement filter. You may make it give to the process part 36.
- each of the variable-length decoding unit 31, the prediction unit 32, the prediction error decoding unit 33, the adder 34, and the image quality improvement filter processing unit 36 which are components of the image decoding device, has dedicated hardware (for example, a CPU
- a variable length decoding unit 31, a prediction unit 32, and a prediction error decoding are assumed.
- the program in which the processing contents of the unit 33, the adder 34, and the image quality improvement filter processing unit 36 are described is stored in the memory of the computer, and the CPU of the computer executes the program stored in the memory. Also good.
- FIG. 12 is a block diagram showing a motion compensation prediction unit in the prediction unit 32 of the image decoding apparatus according to Embodiment 2 of the present invention.
- the reference image generation unit 41 is the case where the reference image generation method identification information included in the prediction signal generation parameter variable-length decoded by the variable-length decoding unit 31 is “0” (optimal reference image signal Is the first reference image signal), the decoded image signal stored in the memory 35 (decoding of the reference frame number included in the prediction signal generation parameter) using a fixed filter prepared in advance.
- a process of generating a reference image signal is performed by performing a filtering process on the image signal.
- the image quality improvement filter generation unit The decoded image signal stored in the memory 35 using the integer pixel Wiener filter and the non-integer pixel generation Wiener filter (filters relating to the filter information variable-length decoded by the variable-length decoding unit 31) generated by 6 A process for generating a reference image signal is performed by performing a filtering process on the (decoded image signal of the reference frame number included in the prediction signal generation parameter).
- the motion compensation unit 42 specifies information for specifying motion compensation prediction processing included in the prediction signal generation parameter (for example, what kind of prediction is performed between frames (information such as the division state of sub-blocks for switching motion vectors).
- information for specifying motion compensation prediction processing included in the prediction signal generation parameter for example, what kind of prediction is performed between frames (information such as the division state of sub-blocks for switching motion vectors).
- FIG. 13 is a block diagram showing the image quality improvement filter processing unit 36 of the image decoding apparatus according to Embodiment 2 of the present invention.
- a frame memory 51 is a recording medium that stores the decoded image signal output from the adder 34 (or deblocking filter 37) for one frame.
- the filter processing unit 52 uses the integer pixel Wiener filter among the filters related to the filter information that has been variable-length decoded by the variable-length decoding unit 31, and is a code superimposed on the decoded image signal stored in the frame memory 51.
- a process of compensating for the encoding distortion is performed, and a process of outputting the decoded image signal after the encoding distortion compensation as a reproduced image signal is performed.
- the filter processing unit 52 may switch whether or not to perform filter processing for compensating for coding distortion for each local region.
- the switching information at this time may be received as encoded data from the image encoding device and acquired by decoding the encoded data, or the image decoding device calculates the switching information by a predetermined method. You may do it. By switching whether or not to perform the filtering process for each local area in this way, it is possible to filter only the local area where the image quality is improved, and it is possible to realize a higher quality distortion compensation process. .
- the filter processing unit 52 selects a non-integer pixel generation Wiener filter among the filters related to the filter information that has been variable length decoded by the variable length decoding unit 31. It can also be used as a resolution enlargement filter (super-resolution filter) of a reproduced image signal. As a result, the resolution enlargement process can be realized without preparing a new special resolution enlargement filter. As shown in FIG. 14, the image quality improvement filter processing unit 36 may be configured such that the filter processing unit 52 sequentially performs filter processing in units of macro blocks without mounting the frame memory 51. .
- FIG. 15 is a flowchart showing the processing contents (image decoding method) of the image decoding apparatus according to Embodiment 2 of the present invention.
- FIG. 16 is a flowchart showing motion compensation prediction processing in the prediction unit 32 of the image decoding apparatus according to Embodiment 2 of the present invention.
- variable length decoding unit 31 receives the bit stream from the image encoding device, the variable length decoding unit 31 performs variable length decoding on the compressed data, the filter information, and the prediction signal generation parameter from the bit stream (step ST51 in FIG. 15).
- the prediction unit 32 Upon receiving the prediction signal generation parameter from the variable length decoding unit 31, the prediction unit 32 performs intra-frame prediction when the prediction mode included in the prediction signal generation parameter represents the intra-frame prediction mode. A prediction signal indicating a prediction image is generated. On the other hand, when the prediction mode represents the inter-frame prediction mode, the specific processing content will be described later, but the prediction unit 32 performs motion compensation prediction as follows. First, when the reference image generation method identification information included in the prediction signal generation parameter is “0” (when the optimum reference image signal is the first reference image signal), a fixed prepared in advance. Is used to generate a reference image signal from the decoded image signal stored in the memory 35 (step ST52).
- the variable length decoding unit 31 Stored in the memory 35 using a filter related to the variable length decoded filter information, that is, the integer pixel Wiener filter and the non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6 of the image encoding device.
- a reference image signal is generated from the decoded image signal that has been processed (step ST52).
- the prediction unit 32 refers to information specifying the motion compensation prediction process included in the prediction signal generation parameter, and indicates the prediction image from the reference image signal A signal is generated (step ST53).
- the prediction error decoding unit 33 When the prediction error decoding unit 33 receives the compressed data from the variable length decoding unit 31, the prediction error decoding unit 33 performs inverse DCT processing on the compressed data after inverse quantization, and performs the inverse DCT process on the compressed data after the inverse quantization.
- a prediction error signal corresponding to the prediction error signal output from 4 is calculated (step ST54).
- the adder 34 adds the prediction error signal and the prediction signal generated by the prediction unit 32, thereby local decoding output from the adder 5 of FIG. 1.
- a decoded image signal corresponding to the image signal is calculated, the decoded image signal is stored in the memory 35, and the decoded image signal is output to the image quality improvement filter processing unit 36 (step ST55).
- the image quality improvement filter processing unit 36 uses the filter related to the filter information, The encoding distortion superimposed on the decoded image signal output from the adder 34 (or deblocking filter 37) is compensated, and the decoded image signal after the encoding distortion compensation is output to the outside as a reproduced image signal (step) ST56).
- the reference image generation unit 41 of the prediction unit 32 receives the prediction signal generation parameter from the variable length decoding unit 31, the reference image generation method identification information included in the prediction signal generation parameter is “0”. , “1” is discriminated (step ST61 in FIG. 16).
- the reference image generation method identification information is “0”
- the reference image generation unit 41 selects the first reference image signal as the optimum reference image signal by the motion compensation unit 23 of FIG.
- the decoded image signal (included in the prediction signal generation parameter) stored in the memory 35 is used.
- a reference image signal is generated by performing a filtering process on the decoded image signal of the reference frame number (step ST62).
- the motion compensation unit 23 in FIG. 4 selects the second reference image signal as the optimum reference image signal. Therefore, the filter relating to the filter information variable length decoded by the variable length decoding unit 31, that is, the integer pixel Wiener filter and the non-integer pixel generation Wiener generated by the image quality improvement filter generation unit 6 of FIG.
- a reference image signal is generated by performing a filtering process on the decoded image signal (decoded image signal of the reference frame number included in the prediction signal generation parameter) stored in the memory 35 using the filter (step) ST63).
- Examples of the fixed filter used when the reference image generation method identification information is “0” include a 1/2 pixel generation filter and a 1/4 pixel generation filter described in Non-Patent Document 1.
- the integer pixel Wiener filter and the non-integer pixel generation Wiener filter generated by the image quality improvement filter generation unit 6 are used. That is, when the pixel accuracy for motion compensation is 1/4 pixel accuracy, the integer pixel Wiener filter, the 1/2 pixel generating Wiener filter, and the 1/4 pixel generating Wiener filter are all included in the variable length decoding unit 31.
- the integer pixel Wiener filter and the 1 ⁇ 2 pixel generation Wiener filter are filters related to the filter information variable-length decoded by the variable-length decoding unit 31.
- a fixed filter is used for some filters, such as using a fixed 1/4 pixel generation filter, as in the case where the reference image generation method identification information is “0”. May be used.
- the reference image generation method identification information is “1”
- a fixed filter is used for each pixel accuracy, or a filter related to the filter information variable-length decoded by the variable-length decoding unit 31 is used. Whether to do so may be determined in advance when configuring the image encoding device and the image decoding device, and the filter selection information may be frame-wise or multiple for each pixel accuracy from the image encoding device. It is also possible to receive data encoded as header information in units of slices composed of the macroblocks and decode the header information. As described above, by using the header information so that the reference image signal generation method can be switched when the reference image generation method identification information is “1”, the code amount required for the filter, the quality of the reference image, etc. Can be adaptively controlled.
- the motion compensation unit 42 specifies information for specifying the motion compensation prediction process included in the prediction signal generation parameter (for example, what kind of prediction is performed between frames).
- Motion compensation prediction for the reference image signal with reference to a prediction mode indicating (information such as a division state of a subblock for switching a motion vector), a motion vector for each macroblock or subblock indicating a motion amount between frames, and the like.
- the prediction signal indicating the prediction image is generated, and the prediction signal is output to the adder 34 (step ST64).
- the processing content of the image quality improvement filter process part 36 is demonstrated concretely.
- the decoded image signal output from the adder 34 (or the deblocking filter 37) is stored for one frame.
- the filter processing unit 52 is superimposed on the decoded image signal stored in the frame memory 51 using the integer pixel Wiener filter among the filters related to the filter information variable-length decoded by the variable-length decoding unit 31. Filter processing for compensating for the coding distortion is performed, and the decoded image signal after the coding distortion compensation is output as a reproduced image signal.
- the reference pixel number N may be a predetermined fixed value that is the same as that of the image encoding device, or may be a variable value that is determined by additional information transmitted from a predetermined unit or the image encoding device.
- the shape of the reference pixel arrangement may be a predetermined arrangement like the number of reference pixels, or may be a variable shape determined by a predetermined law or additional information transmitted from the image encoding device.
- the reference image generation method identification information included in the prediction signal generation parameter variable-length decoded by the variable-length decoding unit 31 is “0”.
- the reference image signal is generated from the decoded image signal stored in the memory 35 using a fixed filter prepared in advance, and the reference image generation method identification information included in the prediction signal generation parameter is “ 1 ′′, a reference image generation unit 41 that generates a reference image signal from the decoded image signal stored in the memory 35 using a filter related to the filter information variable-length decoded by the variable-length decoding unit 31;
- motion compensation for the reference image signal generated by the reference image generation unit 41 is performed.
- the image encoding device, the image decoding device, the image encoding method, and the image decoding method according to the present invention select an optimal reference image from among a plurality of generated reference images, and an optimal reference image By generating a predicted image from the local area of the input image, it is possible to suppress coding delay and improve the accuracy of image quality, so that it can be used for, for example, a device related to a digital broadcasting system. Is suitable.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
画像符号化装置は、マクロブロック毎に、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、その局所復号画像信号から第2の参照画像信号を生成し、第1及び第2の参照画像信号の中から最適な参照画像信号を選択して、その参照画像信号と分割画像信号から予測信号を生成する予測部2を備えた。
Description
この発明は、画像を圧縮符号化して伝送する画像符号化装置及び画像符号化方法と、画像符号化装置により生成された符号化データから画像を復号する画像復号装置及び画像復号方法とに関するものである。
従来、MPEGやITU-T H.26x等の国際標準映像符号化方式では、入力映像フレームを、マクロブロックと呼ばれる矩形ブロックの単位に分割して、動き補償予測を実施した後、予測誤差信号をブロック単位に直交変換・量子化することによって、情報圧縮を行うようにしている。
さらに、国際標準映像符号化方式では、動き補償予測の精度を高めるために、例えば、1/4画素精度の動き補償などの非整数画素精度の動き補償予測を実施しているものが多くある(例えば、MPEG-4 AVC/H.264の符号化方式(非特許文献1を参照)では、1/4画素精度の動き補償予測を採用している)。
なお、一般に映像符号化では、符号化される画像の単位をピクチャと呼ばれる単位で定義している。プログレッシブ映像と呼ばれる映像では、1フレーム1ピクチャである(フレームとピクチャが同じものを表す)が、奇数フィールドと偶数フィールドを合わせて1フレームとなるインターレース映像と呼ばれる映像では、奇数フィールドと偶数フィールドをそれぞれ独立のピクチャ(1フレームで2ピクチャ)として扱う場合も、奇数フィールドと偶数フィールドを合わせて1フレームで1ピクチャとする場合もある。以降、説明の便宜上、全てプログレッシブ映像(1フレーム1ピクチャ)を前提として説明するが、符号化する映像がインターレース映像である場合においても、「フレーム」と表現している箇所を全て「ピクチャ」に置き換えるだけでよい。
さらに、国際標準映像符号化方式では、動き補償予測の精度を高めるために、例えば、1/4画素精度の動き補償などの非整数画素精度の動き補償予測を実施しているものが多くある(例えば、MPEG-4 AVC/H.264の符号化方式(非特許文献1を参照)では、1/4画素精度の動き補償予測を採用している)。
なお、一般に映像符号化では、符号化される画像の単位をピクチャと呼ばれる単位で定義している。プログレッシブ映像と呼ばれる映像では、1フレーム1ピクチャである(フレームとピクチャが同じものを表す)が、奇数フィールドと偶数フィールドを合わせて1フレームとなるインターレース映像と呼ばれる映像では、奇数フィールドと偶数フィールドをそれぞれ独立のピクチャ(1フレームで2ピクチャ)として扱う場合も、奇数フィールドと偶数フィールドを合わせて1フレームで1ピクチャとする場合もある。以降、説明の便宜上、全てプログレッシブ映像(1フレーム1ピクチャ)を前提として説明するが、符号化する映像がインターレース映像である場合においても、「フレーム」と表現している箇所を全て「ピクチャ」に置き換えるだけでよい。
ここで、図17は非特許文献1に開示されている画像符号化装置を示す構成図である。
この画像符号化装置では、ブロック分割部101が符号化対象画像信号を入力すると、その符号化対象画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号を分割画像信号として予測部102に出力する。
予測部102は、ブロック分割部101から分割画像信号を受けると、マクロブロック内の各色成分の画像信号をフレーム内又はフレーム間で予測して、予測誤差信号を算出する。
この画像符号化装置では、ブロック分割部101が符号化対象画像信号を入力すると、その符号化対象画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号を分割画像信号として予測部102に出力する。
予測部102は、ブロック分割部101から分割画像信号を受けると、マクロブロック内の各色成分の画像信号をフレーム内又はフレーム間で予測して、予測誤差信号を算出する。
特に、フレーム間で動き補償予測を実施する場合、マクロブロック自体、又は、マクロブロックをさらに細かく分割したサブブロックの単位で動きベクトルを探索する。
そして、その動きベクトルを用いて、メモリ107に格納されている参照画像信号に対する動き補償予測を実施することで動き補償予測画像を生成し、その動き補償予測画像を示す予測信号とブロック分割部101から出力された分割画像信号の差分を求めることで予測誤差信号を算出する。
また、予測部102は、予測信号を得る際に決定した予測信号生成用パラメータを可変長符号化部108に出力する。
なお、予測信号生成用パラメータには、例えば、フレーム内又はフレーム間での予測をどのように行うかを示す予測モードや、フレーム間の動き量を示す動きベクトル等の情報が含まれる。
そして、その動きベクトルを用いて、メモリ107に格納されている参照画像信号に対する動き補償予測を実施することで動き補償予測画像を生成し、その動き補償予測画像を示す予測信号とブロック分割部101から出力された分割画像信号の差分を求めることで予測誤差信号を算出する。
また、予測部102は、予測信号を得る際に決定した予測信号生成用パラメータを可変長符号化部108に出力する。
なお、予測信号生成用パラメータには、例えば、フレーム内又はフレーム間での予測をどのように行うかを示す予測モードや、フレーム間の動き量を示す動きベクトル等の情報が含まれる。
圧縮部103は、予測部102から予測誤差信号を受けると、その予測誤差信号に対するDCT(離散コサイン変換)処理を実施することで信号相関を除去した後、DCT処理後の予測誤差信号を量子化することで圧縮データを得る。
局所復号部104は、圧縮部103から圧縮データを受けると、その圧縮データを逆量子化し、逆量子化後の圧縮データを逆DCT処理することで、予測部102から出力された予測誤差信号に相当する予測誤差信号を算出する。
局所復号部104は、圧縮部103から圧縮データを受けると、その圧縮データを逆量子化し、逆量子化後の圧縮データを逆DCT処理することで、予測部102から出力された予測誤差信号に相当する予測誤差信号を算出する。
加算器105は、局所復号部104から予測誤差信号を受けると、その予測誤差信号と予測部102から出力された予測信号を加算して、局所復号画像を生成する。
ループフィルタ106は、加算器105により生成された局所復号画像を示す局所復号画像信号に重畳されているブロック歪みを除去し、歪み除去後の局所復号画像信号を参照画像信号としてメモリ107に格納する。
ループフィルタ106は、加算器105により生成された局所復号画像を示す局所復号画像信号に重畳されているブロック歪みを除去し、歪み除去後の局所復号画像信号を参照画像信号としてメモリ107に格納する。
可変長符号化部108は、圧縮部103から圧縮データを受けると、その圧縮データをエントロピー符号化し、その符号化結果であるビットストリームを出力する。
なお、可変長符号化部108は、ビットストリームを出力する際、予測部102から出力された予測信号生成用パラメータをビットストリームに多重化して出力する。
なお、可変長符号化部108は、ビットストリームを出力する際、予測部102から出力された予測信号生成用パラメータをビットストリームに多重化して出力する。
ここで、非特許文献1に開示されている方式では、動き補償予測の際の動きベクトルを1/4画素精度で探索可能としている。
このように、1/4画素精度などの非整数画素精度の動き補償予測を行うことで、整数画素精度に限定された動き補償予測を行う場合よりも、高精度に動きを追従することができるため、予測画像の品質を高めることができる。
このように、1/4画素精度などの非整数画素精度の動き補償予測を行うことで、整数画素精度に限定された動き補償予測を行う場合よりも、高精度に動きを追従することができるため、予測画像の品質を高めることができる。
しかし、非特許文献1に開示されている方式では、予め決められている固定の非整数画素生成フィルタを用いて、動き補償予測を行う際の非整数画素精度の参照画素を生成している。
このように、常に固定の非整数画素生成フィルタを用いる場合、必ずしも適正なフィルタでない場合もある。
そこで、非特許文献2に開示されている方式では、フレーム毎に非整数画素生成フィルタを非整数画素位置毎に最適設計している。
具体的には、ウィーナフィルタ(Wiener Filter)と呼ばれるフィルタを用いるようにしている。即ち、符号化対象画像信号と予測信号間の二乗誤差和を最小化するフィルタを用いるようにしている。
このように、常に固定の非整数画素生成フィルタを用いる場合、必ずしも適正なフィルタでない場合もある。
そこで、非特許文献2に開示されている方式では、フレーム毎に非整数画素生成フィルタを非整数画素位置毎に最適設計している。
具体的には、ウィーナフィルタ(Wiener Filter)と呼ばれるフィルタを用いるようにしている。即ち、符号化対象画像信号と予測信号間の二乗誤差和を最小化するフィルタを用いるようにしている。
図18は非特許文献2に開示されている画像符号化装置において、ウィーナフィルタによる予測信号の品質改善の原理を示す説明図である。
図18において、信号sは、図17のブロック分割部101に入力される符号化対象画像信号に相当する信号であり、信号s’は、図17の予測部102においてウィーナフィルタを適用する前の予測信号である。
ここで、予測信号は、メモリ107に格納されている参照画像信号から生成されており、その参照画像信号は、符号化歪みが重畳されている信号であるため、信号s’は、信号sに対して符号化処理や予測処理によって生じる種々の雑音eが重畳された信号となる。
図18において、信号sは、図17のブロック分割部101に入力される符号化対象画像信号に相当する信号であり、信号s’は、図17の予測部102においてウィーナフィルタを適用する前の予測信号である。
ここで、予測信号は、メモリ107に格納されている参照画像信号から生成されており、その参照画像信号は、符号化歪みが重畳されている信号であるため、信号s’は、信号sに対して符号化処理や予測処理によって生じる種々の雑音eが重畳された信号となる。
ウィーナフィルタは、雑音eを二乗誤差歪みの規範で最小化するように、信号s’に対して施されるフィルタとして定義される。
一般的には、信号s’の自己相関行列をRs's'、信号s,s’の相互相関行列をRss'とすると、下記の式(1)からフィルタ係数wを求めることができる。
ただし、行列Rs's',Rss'の大きさは、求められるフィルタタップ数に対応している。
一般的には、信号s’の自己相関行列をRs's'、信号s,s’の相互相関行列をRss'とすると、下記の式(1)からフィルタ係数wを求めることができる。
ただし、行列Rs's',Rss'の大きさは、求められるフィルタタップ数に対応している。
フィルタ係数wのウィーナフィルタを施すことにより、品質改善がなされた信号sハット(電子出願の関係上、アルファベット文字に付いた「^」をハットと表記する)が、最終的に図17の予測部102から出力される予測信号に相当する信号として得られる。
また、非特許文献3では、フィルタ設計を行わない代わりに固定の非整数画素生成フィルタを複数用意し、これら複数のフィルタをフレーム毎もしくは非整数画素位置毎に切り換えることで、予測画像の品質を改善している例が開示されている。
MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格
Y.Vatis, B.Edler, D.T.Nguyen, J.Ostermann, "Two-dimensional non-separable Adaptive Wiener Interpolation Filter for H.264/AVC", VCEG-Z17, ITU-T SG16/Q.6 meeting, April 2005
M.Karczewicz, Y.Ye, P.Chen, "Switched Interpolation Filter with Offset", VCEG-AI35, ITU-T SG16/Q.6 meeting, July 2008
従来の画像符号化装置は以上のように構成されているので、動き補償予測に用いる非整数画素を生成するフィルタをフレーム毎、あるいは、非整数画素位置毎に適応的に切り換えれば、予測精度を高めることができる(非特許文献2,3を参照)。しかし、非特許文献2,3では、動き補償予測を行う際、大きな符号化遅延が生じてしまう課題があった。
即ち、非特許文献2では、動き補償予測を行う際、最初に、予め決められている初期のフィルタを用いて、フレーム全体で動きベクトルを検出し、その動きベクトルを用いて、非整数画素位置毎にウィーナフィルタを適用した場合の予測画像信号と符号化対象画像信号間のフレーム全体の誤差が最小となるようにウィーナフィルタを設計する。次に、そのウィーナフィルタを用いて、動きベクトルを再探索してフィルタの再設計を実施する。このフィルタの再設計は、ある評価値が所定の閾値に達するまで繰り返し実施するものであるため、フレーム単位での反復最適化処理が発生し、符号化側で、大きな符号化遅延が生じてしまうことになる。
非特許文献3では、非整数画素位置毎に複数の固定の非整数画素生成フィルタの中から最適なフィルタをフレーム内で1つ選択するため、非特許文献2と同様に、最適な動きベクトルと非整数画素生成フィルタの組み合わせを求めるためにはフレーム単位での反復最適化処理が必要となり、大きな符号化遅延が生じてしまうことになる。
なお、非特許文献3では、符号化対象画像信号の特性に応じたフィルタではなく、予め決められている固定の非整数画素生成フィルタを用いているため、符号化対象の画像によっては適切なフィルタが選択候補に存在せず、予測性能の改善効果を得られないことがある。
即ち、非特許文献2では、動き補償予測を行う際、最初に、予め決められている初期のフィルタを用いて、フレーム全体で動きベクトルを検出し、その動きベクトルを用いて、非整数画素位置毎にウィーナフィルタを適用した場合の予測画像信号と符号化対象画像信号間のフレーム全体の誤差が最小となるようにウィーナフィルタを設計する。次に、そのウィーナフィルタを用いて、動きベクトルを再探索してフィルタの再設計を実施する。このフィルタの再設計は、ある評価値が所定の閾値に達するまで繰り返し実施するものであるため、フレーム単位での反復最適化処理が発生し、符号化側で、大きな符号化遅延が生じてしまうことになる。
非特許文献3では、非整数画素位置毎に複数の固定の非整数画素生成フィルタの中から最適なフィルタをフレーム内で1つ選択するため、非特許文献2と同様に、最適な動きベクトルと非整数画素生成フィルタの組み合わせを求めるためにはフレーム単位での反復最適化処理が必要となり、大きな符号化遅延が生じてしまうことになる。
なお、非特許文献3では、符号化対象画像信号の特性に応じたフィルタではなく、予め決められている固定の非整数画素生成フィルタを用いているため、符号化対象の画像によっては適切なフィルタが選択候補に存在せず、予測性能の改善効果を得られないことがある。
この発明は上記のような課題を解決するためになされたもので、符号化遅延を抑制することができるとともに、画像品質の改善精度を高めることができる画像符号化装置及び画像符号化方法を得ることを目的とする。
また、この発明は、画像品質の改善精度を高めることができる画像復号装置及び画像復号方法を得ることを目的とする。
また、この発明は、画像品質の改善精度を高めることができる画像復号装置及び画像復号方法を得ることを目的とする。
この発明に係る画像符号化装置は、予測処理手段が、入力画像の局所領域毎に、予め用意されている固定のフィルタを用いて、メモリに格納されている局所復号画像から参照画像を生成するとともに、フィルタ生成手段により生成されたフィルタを用いて、その局所復号画像から参照画像を生成し、その生成した複数の参照画像の中から最適な参照画像を選択して、最適な参照画像と入力画像の局所領域から予測画像を生成するようにしたものである。
この発明によれば、予測処理手段が、入力画像の局所領域毎に、予め用意されている固定のフィルタを用いて、メモリに格納されている局所復号画像から参照画像を生成するとともに、フィルタ生成手段により生成されたフィルタを用いて、その局所復号画像から参照画像を生成し、その生成した複数の参照画像の中から最適な参照画像を選択して、最適な参照画像と入力画像の局所領域から予測画像を生成するように構成したので、符号化遅延を抑制することができるとともに、画像品質の改善精度を高めることができる効果がある。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
図1において、ブロック分割部1は入力画像である符号化対象画像の信号をマクロブロック(入力画像の局所領域)単位に分割し、マクロブロック単位の画像信号(以下、「分割画像信号」と称する)を予測部2に出力する処理を実施する。
予測部2はブロック分割部1から出力された分割画像信号を受けると、分割画像信号をフレーム内又はフレーム間で予測して予測信号を生成する。
特にフレーム間で動き補償予測を実施する場合、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに、画像品質改善フィルタ生成部6により生成されたフィルタ(整数画素用ウィーナフィルタ、非整数画素生成用ウィーナフィルタ)を用いて、その局所復号画像信号から第2の参照画像信号を生成し、第1及び第2の参照画像信号の中から最適な参照画像信号をマクロブロック毎に選択して、その最適な参照画像信号を用いて予測画像を示す予測信号を生成し、その分割画像信号と予測信号の差分である予測誤差信号を算出する処理を実施する。
実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
図1において、ブロック分割部1は入力画像である符号化対象画像の信号をマクロブロック(入力画像の局所領域)単位に分割し、マクロブロック単位の画像信号(以下、「分割画像信号」と称する)を予測部2に出力する処理を実施する。
予測部2はブロック分割部1から出力された分割画像信号を受けると、分割画像信号をフレーム内又はフレーム間で予測して予測信号を生成する。
特にフレーム間で動き補償予測を実施する場合、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに、画像品質改善フィルタ生成部6により生成されたフィルタ(整数画素用ウィーナフィルタ、非整数画素生成用ウィーナフィルタ)を用いて、その局所復号画像信号から第2の参照画像信号を生成し、第1及び第2の参照画像信号の中から最適な参照画像信号をマクロブロック毎に選択して、その最適な参照画像信号を用いて予測画像を示す予測信号を生成し、その分割画像信号と予測信号の差分である予測誤差信号を算出する処理を実施する。
ただし、予測部2は予測信号を生成する際、予測処理を特定する情報である予測信号生成用パラメータを生成する処理を実施する。この予測信号生成パラメータとしては、フレーム内又はフレーム間で、どのような予測方式を用いるかを示す予測モード(フレーム内予測かフレーム間(動き補償)予測かを示す情報であり、フレーム間予測の場合は動きベクトルを切り換えるサブブロックの分割状態などの情報を含む)が挙げられる。さらに上記予測モードがフレーム間での動き補償予測を示す場合、フレーム間の動き量を示すマクロブロック又はサブブロック毎の動きベクトルや参照フレーム番号(複数のフレームを参照して動き補償を行う場合)、参照画像信号の選択結果を示す参照画像生成方法識別情報なども予測信号生成パラメータとして含まれる。
なお、ブロック分割部1及び予測部2から予測処理手段が構成されている。
なお、ブロック分割部1及び予測部2から予測処理手段が構成されている。
圧縮部3は予測部2により算出された予測誤差信号に対するDCT(離散コサイン変換)処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化し、量子化後のDCT係数である圧縮データを局所復号部4及び可変長符号化部8に出力する処理を実施する。なお、圧縮部3は差分画像圧縮手段を構成している。
局所復号部4は圧縮部3から出力された圧縮データを逆量子化し、逆量子化後の圧縮データに対する逆DCT処理を実施することで、予測部2から出力された予測誤差信号に相当する予測誤差信号を算出する処理を実施する。
加算器5は局所復号部4により算出された予測誤差信号と予測部2により生成された予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成し、その局所復号画像信号を画像品質改善フィルタ生成部6及びメモリ7に出力する処理を実施する。
なお、局所復号部4及び加算器5から局所復号手段が構成されている。
加算器5は局所復号部4により算出された予測誤差信号と予測部2により生成された予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成し、その局所復号画像信号を画像品質改善フィルタ生成部6及びメモリ7に出力する処理を実施する。
なお、局所復号部4及び加算器5から局所復号手段が構成されている。
画像品質改善フィルタ生成部6は加算器5から出力された局所復号画像信号と符号化対象画像信号間の整数画素精度の画素(元々存在する画素)の誤差を最小化する整数画素用ウィーナフィルタを設計し、その整数画素用ウィーナフィルタを用いて、その局所復号画像信号に重畳されている符号化歪みを補償するとともに、符号化歪み補償後の局所復号画像信号に対して、アップサンプリングされた符号化対象画像信号の非整数画素精度の画素との誤差を最小化する非整数画素生成用ウィーナフィルタを設計する処理を実施する。なお、画像品質改善フィルタ生成部6はフィルタ生成手段を構成している。
メモリ7は次のフレームの符号化に備えて、加算器5から出力された局所復号画像信号を格納するとともに、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタに関するフィルタ情報を格納する記録媒体である。
なお、フィルタ情報は、メモリ7により格納されている複数のフレームの局所復号画像信号に対して、フレーム毎に一対一で対応してメモリ7に格納されている。ただし、どのフィルタ情報が、どのフレームの局所復号画像信号と対応しているかが明らかとなる格納方式であれば、メモリ7へのデータの格納方式は問わない。
また、今回は予測部2で第1の参照画像信号と第2の参照画像信号を生成するためにメモリ7に局所復号画像信号とフィルタ情報を格納しているが、予測部2で参照画像信号生成処理を行わずに済むように、先に第1の参照画像信号と第2の参照画像信号を生成し、これら参照画像をメモリ7に直接格納するように画像符号化装置を構成してもよい。
なお、フィルタ情報は、メモリ7により格納されている複数のフレームの局所復号画像信号に対して、フレーム毎に一対一で対応してメモリ7に格納されている。ただし、どのフィルタ情報が、どのフレームの局所復号画像信号と対応しているかが明らかとなる格納方式であれば、メモリ7へのデータの格納方式は問わない。
また、今回は予測部2で第1の参照画像信号と第2の参照画像信号を生成するためにメモリ7に局所復号画像信号とフィルタ情報を格納しているが、予測部2で参照画像信号生成処理を行わずに済むように、先に第1の参照画像信号と第2の参照画像信号を生成し、これら参照画像をメモリ7に直接格納するように画像符号化装置を構成してもよい。
可変長符号化部8は圧縮部3から出力された圧縮データ、画像品質改善フィルタ生成部6から出力されたフィルタ情報及び予測部2から出力された予測信号生成用パラメータをエントロピー符号化して、それらの符号化結果を示すビットストリームを生成する処理を実施する。なお、可変長符号化部8は可変長符号化手段を構成している。
図1では、加算器5から出力された局所復号画像信号が画像品質改善フィルタ生成部6及びメモリ7に与えられる例を示したが、図2に示すように、加算器5から出力された局所復号画像信号に重畳されているブロック歪みを除去するループフィルタであるデブロッキングフィルタ9を加算器5の後段に設け、デブロッキングフィルタ9によりブロック歪みが除去された局所復号画像信号が画像品質改善フィルタ生成部6及びメモリ7に与えられるようにしてもよい。
図1では、加算器5から出力された局所復号画像信号が画像品質改善フィルタ生成部6及びメモリ7に与えられる例を示したが、図2に示すように、加算器5から出力された局所復号画像信号に重畳されているブロック歪みを除去するループフィルタであるデブロッキングフィルタ9を加算器5の後段に設け、デブロッキングフィルタ9によりブロック歪みが除去された局所復号画像信号が画像品質改善フィルタ生成部6及びメモリ7に与えられるようにしてもよい。
図1では、画像符号化装置の構成要素であるブロック分割部1、予測部2、圧縮部3、局所復号部4、加算器5、画像品質改善フィルタ生成部6及び可変長符号化部8のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路やワンチップマイコン)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、ブロック分割部1、予測部2、圧縮部3、局所復号部4、加算器5、画像品質改善フィルタ生成部6及び可変長符号化部8の処理内容が記述されているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図3はこの発明の実施の形態1による画像符号化装置の画像品質改善フィルタ生成部6を示す構成図である。
図3において、フレームメモリ11は加算器5により生成された局所復号画像信号(又は、図2のデブロッキングフィルタ9によりブロック歪みが除去された局所復号画像信号)を1フレーム分だけ格納する記録媒体である。
整数画素用フィルタ設計部12はフレームメモリ11により格納されている1フレーム分の局所復号画像信号と符号化対象画像信号間の整数画素精度の画素の二乗誤差和を最小化する整数画素用ウィーナフィルタを生成する処理を実施する。
図3において、フレームメモリ11は加算器5により生成された局所復号画像信号(又は、図2のデブロッキングフィルタ9によりブロック歪みが除去された局所復号画像信号)を1フレーム分だけ格納する記録媒体である。
整数画素用フィルタ設計部12はフレームメモリ11により格納されている1フレーム分の局所復号画像信号と符号化対象画像信号間の整数画素精度の画素の二乗誤差和を最小化する整数画素用ウィーナフィルタを生成する処理を実施する。
フィルタ処理部13は整数画素用フィルタ設計部12により設計された整数画素用ウィーナフィルタを用いて、フレームメモリ11により格納されている1フレーム分の局所復号画像信号に重畳されている符号化歪みを補償する処理を実施する。
ただし、設計した整数画素用ウィーナフィルタは、フィルタ処理対象となる領域における歪みの総和(二乗誤差和)を最小化するフィルタであるため、マクロブロックなどの局所領域毎に見ると、フィルタ処理によって画像品質が改善しない領域も存在すると考えられるため、フィルタ処理部13は、符号化歪みを補償するフィルタ処理を行うか否かを局所領域毎に切り換えるようにしてもよい。このときの切り換え情報は、設計したウィーナフィルタに関する情報と共にフィルタ情報として可変長符号化部8に出力するようにしてもよい。
このようにフィルタ処理を行うか否かを局所領域毎に切り換えることで、画像の品質が改善する局所領域のみをフィルタ処理することが可能となり、より高品質な歪み補償処理を実現することができる。
ただし、設計した整数画素用ウィーナフィルタは、フィルタ処理対象となる領域における歪みの総和(二乗誤差和)を最小化するフィルタであるため、マクロブロックなどの局所領域毎に見ると、フィルタ処理によって画像品質が改善しない領域も存在すると考えられるため、フィルタ処理部13は、符号化歪みを補償するフィルタ処理を行うか否かを局所領域毎に切り換えるようにしてもよい。このときの切り換え情報は、設計したウィーナフィルタに関する情報と共にフィルタ情報として可変長符号化部8に出力するようにしてもよい。
このようにフィルタ処理を行うか否かを局所領域毎に切り換えることで、画像の品質が改善する局所領域のみをフィルタ処理することが可能となり、より高品質な歪み補償処理を実現することができる。
アップサンプリング部14は予め用意されている固定の非整数画素生成フィルタを用いて、符号化対象画像信号を所定の非整数画素精度(例えば、1/4画素精度)までアップサンプリングを行う。
非整数画素生成フィルタ設計部15はフィルタ処理部13による符号化歪み補償後の局所復号画像信号に対して、アップサンプリング部14によりアップサンプリングされた符号化対象画像信号の非整数画素精度の画素との誤差を最小化する非整数画素を生成する非整数画素生成用ウィーナフィルタを設計する処理を実施する。
フィルタ情報多重化部16は整数画素用フィルタ設計部12により設計された整数画素用ウィーナフィルタに関するフィルタ情報(フィルタ係数、フィルタのタップ数(参照画素数)など)と非整数画素生成フィルタ設計部15により生成された非整数画素生成用ウィーナフィルタに関するフィルタ情報とを多重化して、可変長符号化部8に出力する処理を実施する。
フィルタ情報多重化部16は整数画素用フィルタ設計部12により設計された整数画素用ウィーナフィルタに関するフィルタ情報(フィルタ係数、フィルタのタップ数(参照画素数)など)と非整数画素生成フィルタ設計部15により生成された非整数画素生成用ウィーナフィルタに関するフィルタ情報とを多重化して、可変長符号化部8に出力する処理を実施する。
図4はこの発明の実施の形態1による画像符号化装置の予測部2における動き補償予測部を示す構成図である。
図4において、参照画像生成部21はマクロブロック毎に、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに、メモリ7に格納されているフィルタ情報に係るフィルタ(画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ)を用いて、その局所復号画像信号から第2の参照画像信号を生成する処理を実施する。
例えば、動き補償部23が1/4画素精度の動き補償予測を実施する場合、参照画像生成部21は、第1の参照画像信号を生成する際、予め用意されている少なくとも1つ以上の固定の非整数画素生成フィルタを用いて、局所復号画像信号を1/4画素精度まで拡大する。また、第2の参照画像信号を生成する際、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び少なくとも1つ以上の非整数画素生成用ウィーナフィルタを用いて、局所復号画像信号を1/4画素精度まで拡大する。
図4において、参照画像生成部21はマクロブロック毎に、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに、メモリ7に格納されているフィルタ情報に係るフィルタ(画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ)を用いて、その局所復号画像信号から第2の参照画像信号を生成する処理を実施する。
例えば、動き補償部23が1/4画素精度の動き補償予測を実施する場合、参照画像生成部21は、第1の参照画像信号を生成する際、予め用意されている少なくとも1つ以上の固定の非整数画素生成フィルタを用いて、局所復号画像信号を1/4画素精度まで拡大する。また、第2の参照画像信号を生成する際、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び少なくとも1つ以上の非整数画素生成用ウィーナフィルタを用いて、局所復号画像信号を1/4画素精度まで拡大する。
固定の非整数画素生成フィルタの例としては、非特許文献1に記載されている6タップの1/2画素生成フィルタや2タップの1/4画素生成フィルタが挙げられる。
ここでは、第2の参照画像信号を生成する際、整数画素用ウィーナフィルタと少なくとも1つ以上の非整数画素生成用ウィーナフィルタを用いる例を示しているが、整数画素用フィルタ及び1/2画素生成フィルタについてはウィーナフィルタを用いて、1/4画素の生成には、第1の参照画像信号と同様に、固定の1/4画素生成フィルタを用いるなど、一部のフィルタで固定のフィルタを用いるようにしてもよい。
このように、第2の参照画像信号を生成する際、画素精度毎に固定のフィルタを用いることにするか、設計したウィーナフィルタを用いることにするかについては、画像符号化装置及び後述する画像復号装置を構成する際に予め決定しておいてもよいし、画素精度毎に、フレーム単位、又は、複数のマクロブロックから構成されるスライス単位のヘッダ情報として、符号化するようにしてもよい。
ここでは、第2の参照画像信号を生成する際、整数画素用ウィーナフィルタと少なくとも1つ以上の非整数画素生成用ウィーナフィルタを用いる例を示しているが、整数画素用フィルタ及び1/2画素生成フィルタについてはウィーナフィルタを用いて、1/4画素の生成には、第1の参照画像信号と同様に、固定の1/4画素生成フィルタを用いるなど、一部のフィルタで固定のフィルタを用いるようにしてもよい。
このように、第2の参照画像信号を生成する際、画素精度毎に固定のフィルタを用いることにするか、設計したウィーナフィルタを用いることにするかについては、画像符号化装置及び後述する画像復号装置を構成する際に予め決定しておいてもよいし、画素精度毎に、フレーム単位、又は、複数のマクロブロックから構成されるスライス単位のヘッダ情報として、符号化するようにしてもよい。
上記のように、ヘッダ情報を用いて、第2の参照画像信号の生成方法を切り換えられるようにすることで、フィルタに要する符号量や参照画像の品質などを適応的に制御することが可能となる。
また、上記の参照画素の生成処理を1/4画素精度以外の精度(例えば1/8画素精度)で行う場合においても、上述した全ての処理が同様に可能であることは容易に考えられる。
なお、この実施の形態1の画像品質改善フィルタ生成部6では、第2の参照画像信号の生成に用いるウィーナフィルタだけ設計することとなる。
また、上記の参照画素の生成処理を1/4画素精度以外の精度(例えば1/8画素精度)で行う場合においても、上述した全ての処理が同様に可能であることは容易に考えられる。
なお、この実施の形態1の画像品質改善フィルタ生成部6では、第2の参照画像信号の生成に用いるウィーナフィルタだけ設計することとなる。
切換スイッチ22は動き補償部23の指示の下で切り換えられるスイッチであり、参照画像生成部21により生成された第1の参照画像信号と第2の参照画像信号を順番に動き補償部23に与える処理を実施する。
動き補償部23は参照画像生成部21により生成された第1の参照画像信号とブロック分割部1より出力された分割画像信号から、マクロブロック単位又はマクロブロックを更に細かく分割したサブブロック単位で動きベクトルを検出し、その動きベクトルと第1の参照画像信号から予測信号及び予測信号生成用パラメータを生成するとともに、その予測信号等を生成する際のコストC1を算出する。また、参照画像生成部21により生成された第2の参照画像信号とブロック分割部1より出力された分割画像信号から、マクロブロック単位又はマクロブロックを更に細かく分割したサブブロック単位で動きベクトルを検出し、その動きベクトルと第2の参照画像信号から予測信号及び予測信号生成用パラメータを生成するとともに、その予測信号等を生成する際のコストC2を算出する処理を実施する。
また、動き補償部23はマクロブロックなどの局所領域毎に、コストC1とコストC2を比較し、コストC1がコストC2より小さければ、第1の参照画像信号を最適な参照画像信号として選択して、第1の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力し、コストC1がコストC2以上であれば、第2の参照画像信号を最適な参照画像信号として選択して、第2の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力する処理を実施する。
なお、上記コストC1、C2の例としては、上記局所領域内の予測画像信号と分割画像信号との間の二乗誤差和D(もしくは絶対値誤差和D’)や、D(D’)だけでなく、予測信号生成用パラメータを符号化した際に発生する符号量Rも考慮した値(D+λR(D’+λR)、λは定数)などが挙げられる。
減算器24はブロック分割部1から出力された分割画像信号と動き補償部23から出力された予測信号の差分である予測誤差信号を算出する処理を実施する。
また、動き補償部23はマクロブロックなどの局所領域毎に、コストC1とコストC2を比較し、コストC1がコストC2より小さければ、第1の参照画像信号を最適な参照画像信号として選択して、第1の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力し、コストC1がコストC2以上であれば、第2の参照画像信号を最適な参照画像信号として選択して、第2の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力する処理を実施する。
なお、上記コストC1、C2の例としては、上記局所領域内の予測画像信号と分割画像信号との間の二乗誤差和D(もしくは絶対値誤差和D’)や、D(D’)だけでなく、予測信号生成用パラメータを符号化した際に発生する符号量Rも考慮した値(D+λR(D’+λR)、λは定数)などが挙げられる。
減算器24はブロック分割部1から出力された分割画像信号と動き補償部23から出力された予測信号の差分である予測誤差信号を算出する処理を実施する。
図5はこの発明の実施の形態1による画像符号化装置の処理内容(画像符号化方法)を示すフローチャートである。
また、図6はこの発明の実施の形態1による画像符号化装置の予測部2における動き補償予測処理を示すフローチャートである。
また、図6はこの発明の実施の形態1による画像符号化装置の予測部2における動き補償予測処理を示すフローチャートである。
次に動作について説明する。
ブロック分割部1は、符号化対象画像信号を入力すると、その符号化対象画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号である分割画像信号を予測部2に出力する(図5のステップST1)。
ブロック分割部1は、符号化対象画像信号を入力すると、その符号化対象画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号である分割画像信号を予測部2に出力する(図5のステップST1)。
予測部2は、ブロック分割部1から分割画像信号を受けると、具体的な処理内容については後述するが、マクロブロック毎に予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに(ステップST2)、メモリ7に格納されているフィルタ情報に係るフィルタ(画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ)を用いて、その局所復号画像信号から第2の参照画像信号を生成する(ステップST3)。
予測部2は、第1の参照画像信号と第2の参照画像信号を生成すると、第1の参照画像信号と第2の参照画像信号の中から最適な参照画像信号を選択し(ステップST4)、その最適な参照画像信号を用いて予測画像を示す予測信号を生成する(ステップST5)。
なお、本発明では、予測部2でフレーム内予測も行い、上記フレーム間予測とフレーム内予測の内、最適な方を最終的な予測画像として採用するが、本発明は、フレーム内予測の具体的な方式に係る発明ではないため、説明の便宜上、本実施の形態ではフレーム内予測に係る詳細な動作の説明は割愛する。
予測部2は、第1の参照画像信号と第2の参照画像信号を生成すると、第1の参照画像信号と第2の参照画像信号の中から最適な参照画像信号を選択し(ステップST4)、その最適な参照画像信号を用いて予測画像を示す予測信号を生成する(ステップST5)。
なお、本発明では、予測部2でフレーム内予測も行い、上記フレーム間予測とフレーム内予測の内、最適な方を最終的な予測画像として採用するが、本発明は、フレーム内予測の具体的な方式に係る発明ではないため、説明の便宜上、本実施の形態ではフレーム内予測に係る詳細な動作の説明は割愛する。
予測部2は、予測信号を生成すると、その予測信号を加算器5に出力するとともに、その予測信号とブロック分割部1から出力された分割画像信号の差分である予測誤差信号を算出し、その予測誤差信号を圧縮部3に出力する(ステップST6)。
なお、予測部2は、フレーム間で動き補償予測処理を実施することで予測信号を生成するが、その動き補償予測処理を特定する情報(例えば、フレーム間でどのような予測を行うのか(動きベクトルを切り換えるサブブロックの分割状態などの情報)を示す予測モード、フレーム間の動き量を示すマクロブロック又はサブブロック毎の動きベクトル、参照フレーム番号(複数のフレームを参照して動き補償を行う場合)など)や、参照画像信号の選択結果を示す参照画像生成方法識別情報などを含む予測信号生成用パラメータを生成する。
なお、予測部2は、フレーム間で動き補償予測処理を実施することで予測信号を生成するが、その動き補償予測処理を特定する情報(例えば、フレーム間でどのような予測を行うのか(動きベクトルを切り換えるサブブロックの分割状態などの情報)を示す予測モード、フレーム間の動き量を示すマクロブロック又はサブブロック毎の動きベクトル、参照フレーム番号(複数のフレームを参照して動き補償を行う場合)など)や、参照画像信号の選択結果を示す参照画像生成方法識別情報などを含む予測信号生成用パラメータを生成する。
圧縮部3は、予測部2から予測誤差信号を受けると、その予測誤差信号に対するDCT(離散コサイン変換)処理を実施することでDCT係数を算出し、そのDCT係数を量子化する(ステップST7)。
圧縮部3は、量子化後のDCT係数である圧縮データを局所復号部4及び可変長符号化部8に出力する。
圧縮部3は、量子化後のDCT係数である圧縮データを局所復号部4及び可変長符号化部8に出力する。
局所復号部4は、圧縮部3から圧縮データを受けると、その圧縮データを逆量子化し、逆量子化後の圧縮データに対する逆DCT処理を実施することで、予測部2から出力された予測誤差信号に相当する予測誤差信号を算出する(ステップST8)。
加算器5は、局所復号部4が予測誤差信号を算出すると、その予測誤差信号と予測部2により生成された予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成し、その局所復号画像信号を画像品質改善フィルタ生成部6に出力するとともに、その局所復号画像信号をメモリ7に格納する(ステップST9)。
加算器5は、局所復号部4が予測誤差信号を算出すると、その予測誤差信号と予測部2により生成された予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成し、その局所復号画像信号を画像品質改善フィルタ生成部6に出力するとともに、その局所復号画像信号をメモリ7に格納する(ステップST9)。
画像品質改善フィルタ生成部6の具体的な処理内容については後述するが、画像品質改善フィルタ生成部6は、加算器5が局所復号画像信号を生成すると、その局所復号画像信号に重畳されている符号化歪みを補償するフィルタを少なくとも1つ以上設計し、そのフィルタに関するフィルタ情報を可変長符号化部8に出力するとともに、そのフィルタ情報をメモリ7に格納する(ステップST10)。
可変長符号化部8は、圧縮部3から出力された圧縮データ、画像品質改善フィルタ生成部6から出力されたフィルタ情報及び予測部2から出力された予測信号生成用パラメータをエントロピー符号化して、それらの符号化結果を示すビットストリームを生成し、そのビットストリームを図10の画像復号装置に伝送する(ステップST11)。
この例では、可変長符号化部8が予測信号生成用パラメータについてもエントロピー符号化しているが、予測信号生成用パラメータについてはエントロピー符号化せずに、生成したビットストリームに多重化して伝送するようにしてもよい。
この例では、可変長符号化部8が予測信号生成用パラメータについてもエントロピー符号化しているが、予測信号生成用パラメータについてはエントロピー符号化せずに、生成したビットストリームに多重化して伝送するようにしてもよい。
ここで、図7は可変長符号化部8により生成されるビットストリームの一例を示す説明図である。ここで、スライスとは複数のマクロブロックを束ねた単位であり、少なくとも1つ以上のスライスからピクチャ(フレーム)は構成されている。
図7の例では、フィルタ情報(画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタに関するフィルタ情報)がスライス単位に符号化されて、符号化後のフィルタ情報がスライスヘッダに格納されている。
また、予測部2により生成された予測信号生成用パラメータは、マクロブロック単位に符号化されて、符号化後の予測信号生成用パラメータがマクロブロックヘッダに格納されている。
ただし、上記のように、フィルタ情報をスライス単位に符号化する場合、画像品質改善フィルタ生成部6におけるフィルタの設計処理をフレーム単位ではなく、スライス単位で行うようにしてもよい。
画像品質改善フィルタ生成部6におけるフィルタの設計処理をスライス単位で行う場合、フレーム単位で設計処理を行う場合と比較して、フィルタ情報に要する符号量が増加するが、フィルタ処理を行う局所復号画像信号及び参照画像信号の品質を高めることができる。
図7の例では、フィルタ情報(画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタに関するフィルタ情報)がスライス単位に符号化されて、符号化後のフィルタ情報がスライスヘッダに格納されている。
また、予測部2により生成された予測信号生成用パラメータは、マクロブロック単位に符号化されて、符号化後の予測信号生成用パラメータがマクロブロックヘッダに格納されている。
ただし、上記のように、フィルタ情報をスライス単位に符号化する場合、画像品質改善フィルタ生成部6におけるフィルタの設計処理をフレーム単位ではなく、スライス単位で行うようにしてもよい。
画像品質改善フィルタ生成部6におけるフィルタの設計処理をスライス単位で行う場合、フレーム単位で設計処理を行う場合と比較して、フィルタ情報に要する符号量が増加するが、フィルタ処理を行う局所復号画像信号及び参照画像信号の品質を高めることができる。
以下、画像品質改善フィルタ生成部6の処理内容を具体的に説明する。
ここでは、説明の便宜上、非特許文献1と同様に、1/4画素精度で動き補償予測を行うものとする。
まず、画像品質改善フィルタ生成部6の整数画素用フィルタ設計部12は、フレームメモリ11により格納されている1フレーム分の局所復号画像信号を取得し、その局所復号画像信号と符号化対象画像信号間の整数画素精度の画素(元々存在する画素)の二乗誤差和を最小化する整数画素用ウィーナフィルタを生成する。
ここでは、説明の便宜上、非特許文献1と同様に、1/4画素精度で動き補償予測を行うものとする。
まず、画像品質改善フィルタ生成部6の整数画素用フィルタ設計部12は、フレームメモリ11により格納されている1フレーム分の局所復号画像信号を取得し、その局所復号画像信号と符号化対象画像信号間の整数画素精度の画素(元々存在する画素)の二乗誤差和を最小化する整数画素用ウィーナフィルタを生成する。
ここで、図8は整数画素用ウィーナフィルタにおけるフィルタ係数の配置例を示す説明図である。
図8の例では、フィルタ適用画素位置を含む周囲N画素の参照画素のフィルタ係数(a0,a1,・・・,aN-1)とオフセット係数aNから構成されている。
このときのフィルタ処理後の画素値sハット(x0)は、下記の式(2)で表すことができる。
ただし、xn(n=0,1,・・・,N-1)は参照画素を表しており、参照画素xl(0≦l≦N-1)にかかる重みがフィルタ係数alである。Nは任意の参照画素数である。
図8の例では、フィルタ適用画素位置を含む周囲N画素の参照画素のフィルタ係数(a0,a1,・・・,aN-1)とオフセット係数aNから構成されている。
このときのフィルタ処理後の画素値sハット(x0)は、下記の式(2)で表すことができる。
ただし、xn(n=0,1,・・・,N-1)は参照画素を表しており、参照画素xl(0≦l≦N-1)にかかる重みがフィルタ係数alである。Nは任意の参照画素数である。
Nは予め固定値で与えてもよいし、ある所定の手段によって決まるように可変値としてもよい。また、参照画素配置の形状も参照画素数と同様に、予め用意した配置でもよいし、所定の法則に従って形状を可変としてもよい。
なお、フィルタ適用対象画像信号は、加算器5(又は、デブロッキングフィルタ9)から出力された局所復号画像信号であり、上述した式(1)に基づいて、整数画素用ウィーナフィルタを設計することで、符号化対象画像信号と局所復号画像信号間の整数画素精度の画素の二乗誤差和を最小化することができる。
なお、フィルタ適用対象画像信号は、加算器5(又は、デブロッキングフィルタ9)から出力された局所復号画像信号であり、上述した式(1)に基づいて、整数画素用ウィーナフィルタを設計することで、符号化対象画像信号と局所復号画像信号間の整数画素精度の画素の二乗誤差和を最小化することができる。
フィルタ処理部13は、整数画素用フィルタ設計部12が整数画素用ウィーナフィルタを生成すると、その整数画素用ウィーナフィルタを用いて、フレームメモリ11により格納されている1フレーム分の局所復号画像信号に重畳されている符号化歪みを補償するフィルタ処理を実施し、符号化歪み補償後の局所復号画像信号を非整数画素生成フィルタ設計部15に出力する。
アップサンプリング部14は、予め用意されている固定のフィルタを用いて、符号化対象画像信号を1/4画素精度までアップサンプリングを行う。
固定のフィルタとしては、例えば、非特許文献1に記載されている1/2画素生成フィルタおよび1/4画素生成フィルタが挙げられる。
固定のフィルタとしては、例えば、非特許文献1に記載されている1/2画素生成フィルタおよび1/4画素生成フィルタが挙げられる。
非整数画素生成フィルタ設計部15は、フィルタ処理部13による符号化歪み補償後の局所復号画像信号に対して、アップサンプリング部14によりアップサンプリングされた符号化対象画像信号の非整数画素との誤差を最小化する非整数画素を生成する非整数画素生成用ウィーナフィルタを生成する。
例として、非整数画素生成用ウィーナフィルタとして1/2画素生成用ウィーナフィルタと1/4画素生成用ウィーナフィルタをそれぞれ設計する場合について説明する。
例として、非整数画素生成用ウィーナフィルタとして1/2画素生成用ウィーナフィルタと1/4画素生成用ウィーナフィルタをそれぞれ設計する場合について説明する。
ここで、図9は1/2画素生成用ウィーナフィルタにおけるフィルタ係数の配置例を示す説明図である。
図9の例では、非整数画素生成位置y0の周囲N’画素の参照画素のフィルタ係数(b0,b1,・・・,bN’-1)とオフセット係数bN'から構成されている。今回の例では、参照画素は全て整数画素としている。
このときの1/2画素位置(非整数画素生成位置y0)の画素値sハット(y0)は、下記の式(3)で表すことができる。
ただし、xn’(n’=0,1,・・・,N’-1)は参照画素を表しており、参照画素xl’(0≦l’≦N’-1)にかかる重みがフィルタ係数al’である。N’は任意の参照画素数である。
図9の例では、非整数画素生成位置y0の周囲N’画素の参照画素のフィルタ係数(b0,b1,・・・,bN’-1)とオフセット係数bN'から構成されている。今回の例では、参照画素は全て整数画素としている。
このときの1/2画素位置(非整数画素生成位置y0)の画素値sハット(y0)は、下記の式(3)で表すことができる。
ただし、xn’(n’=0,1,・・・,N’-1)は参照画素を表しており、参照画素xl’(0≦l’≦N’-1)にかかる重みがフィルタ係数al’である。N’は任意の参照画素数である。
N’は予め固定値で与えてもよいし、ある所定の手段によって決まるように可変値としてもよい。また、参照画素配置の形状も参照画素数と同様に、予め用意した配置でもよいし、所定の法則に従って形状を可変としてもよい。
そして、上記参照画素の下、式(1)に基づいて符号化対象画像信号の1/2画素との誤差を最小化する1/2画素を生成する1/2画素生成用ウィーナフィルタを生成する。
さらに、非整数画素生成位置y1、y2の1/2画素生成用ウィーナフィルタについても非整数画素生成位置y0と同様の手法によって生成する。
また、1/4画素生成用ウィーナフィルタについても、ウィーナフィルタにより生成される1/4画素と符号化対象画像信号の1/4画素との二乗誤差和が最小となるように、上記の1/2画素生成用ウィーナフィルタの生成手法と同様の手法によって生成する。
そして、上記参照画素の下、式(1)に基づいて符号化対象画像信号の1/2画素との誤差を最小化する1/2画素を生成する1/2画素生成用ウィーナフィルタを生成する。
さらに、非整数画素生成位置y1、y2の1/2画素生成用ウィーナフィルタについても非整数画素生成位置y0と同様の手法によって生成する。
また、1/4画素生成用ウィーナフィルタについても、ウィーナフィルタにより生成される1/4画素と符号化対象画像信号の1/4画素との二乗誤差和が最小となるように、上記の1/2画素生成用ウィーナフィルタの生成手法と同様の手法によって生成する。
上記の例では、整数画素用ウィーナフィルタ、1/2画素用ウィーナフィルタ、1/4画素用ウィーナフィルタの全てを設計しているが、整数画素用ウィーナフィルタと1/2画素用ウィーナフィルタのみを設計して、1/4画素用ウィーナフィルタについては設計を行わないものとしてもよい。画像品質改善フィルタ生成部6で設計されるウィーナフィルタは、予測部2の参照画像生成部21が第2の参照画像信号を生成する際に用いられるフィルタであるため、ウィーナフィルタを生成しない画素精度の画素については、予め用意された固定のフィルタを用いて生成することになる。
このようにウィーナフィルタの生成を行わないことで、フィルタ処理による画像品質の改善効果が減少する可能性はあるが、フィルタに要する符号量を削減することができる。
このようにウィーナフィルタの生成を行わないことで、フィルタ処理による画像品質の改善効果が減少する可能性はあるが、フィルタに要する符号量を削減することができる。
なお、上記のように画素精度毎に固定のフィルタを用いることにするか、設計したウィーナフィルタを用いることにするかについては、上述したように、画像符号化装置及び後述する画像復号装置を構成する際に予め決定しておいてもよいし、画素精度毎に第2の参照画像信号生成用のフィルタの選択情報を、フレーム単位又は複数のマクロブロックから構成されるスライス単位のヘッダ情報として、符号化するようにしてもよい。
上記のようにヘッダ情報を用いて、第2の参照画像信号の生成手法を切り換えられるようにすることで、フィルタに要する符号量や予測部2の参照画像生成部21により生成される参照画像信号の品質などを適応的に制御することが可能となる。
上記のようにヘッダ情報を用いて、第2の参照画像信号の生成手法を切り換えられるようにすることで、フィルタに要する符号量や予測部2の参照画像生成部21により生成される参照画像信号の品質などを適応的に制御することが可能となる。
以下、予測部2の動き補償予測処理の内容を具体的に説明する。
予測部2の参照画像生成部21は、マクロブロック毎に、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成する(図6のステップST21)。
また、参照画像生成部21は、マクロブロック毎に、既に符号化済みのフレームで設計されたウィーナフィルタ、即ち、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、メモリ7に格納されている局所復号画像信号から第2の参照画像信号を生成する(ステップST22)。
予測部2の参照画像生成部21は、マクロブロック毎に、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成する(図6のステップST21)。
また、参照画像生成部21は、マクロブロック毎に、既に符号化済みのフレームで設計されたウィーナフィルタ、即ち、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、メモリ7に格納されている局所復号画像信号から第2の参照画像信号を生成する(ステップST22)。
動き補償部23は、切換スイッチ22を制御して、参照画像生成部21により生成された第1の参照画像信号と第2の参照画像信号を順番に取得する。
動き補償部23は、参照画像生成部21により生成された第1の参照画像信号を取得すると、第1の参照画像信号とブロック分割部1より出力された分割画像信号から、マクロブロック単位又はマクロブロックを更に細かく分割したサブブロック単位で動きベクトルを検出し、その動きベクトルと第1の参照画像信号から予測信号及び予測信号生成用パラメータを生成する(ステップST23)。
また、動き補償部23は、参照画像生成部21により生成された第2の参照画像信号を取得すると、第2の参照画像信号とブロック分割部1より出力された分割画像信号から、マクロブロック単位又はマクロブロックを更に細かく分割したサブブロック単位で動きベクトルを検出し、その動きベクトルと第2の参照画像信号から予測信号及び予測信号生成用パラメータを生成する(ステップST24)。
動き補償部23は、参照画像生成部21により生成された第1の参照画像信号を取得すると、第1の参照画像信号とブロック分割部1より出力された分割画像信号から、マクロブロック単位又はマクロブロックを更に細かく分割したサブブロック単位で動きベクトルを検出し、その動きベクトルと第1の参照画像信号から予測信号及び予測信号生成用パラメータを生成する(ステップST23)。
また、動き補償部23は、参照画像生成部21により生成された第2の参照画像信号を取得すると、第2の参照画像信号とブロック分割部1より出力された分割画像信号から、マクロブロック単位又はマクロブロックを更に細かく分割したサブブロック単位で動きベクトルを検出し、その動きベクトルと第2の参照画像信号から予測信号及び予測信号生成用パラメータを生成する(ステップST24)。
次に、動き補償部23は、第1の参照画像信号から予測信号及び予測信号生成用パラメータを生成する際のコストC1を算出する(ステップST25)。
例えば、コストC1は、下記の式(4)から算出する。
C1=D1+λ・R1 (4)
ただし、D1は当該マクロブロック内の符号化対象画像信号と第1の参照画像信号間の二乗誤差和、λは定数、R1は予測信号生成用パラメータを符号化する際に発生する符号量である。
ここでは、コストC1を式(4)で算出しているが、これは一例に過ぎず、例えば、二乗誤差和D1だけをコストC1としてもよい。また、二乗誤差和D1ではなく、誤差の絶対値和などの他の評価値を用いてもよい。
例えば、コストC1は、下記の式(4)から算出する。
C1=D1+λ・R1 (4)
ただし、D1は当該マクロブロック内の符号化対象画像信号と第1の参照画像信号間の二乗誤差和、λは定数、R1は予測信号生成用パラメータを符号化する際に発生する符号量である。
ここでは、コストC1を式(4)で算出しているが、これは一例に過ぎず、例えば、二乗誤差和D1だけをコストC1としてもよい。また、二乗誤差和D1ではなく、誤差の絶対値和などの他の評価値を用いてもよい。
次に、動き補償部23は、第2の参照画像信号から予測信号及び予測信号生成用パラメータを生成する際のコストC2を算出する(ステップST26)。
例えば、コストC2は、下記の式(5)から算出する。
C2=D2+λ・R2 (5)
ただし、D2は当該マクロブロック内の符号化対象画像信号と第2の参照画像信号間の二乗誤差和、λは定数、R2は予測信号生成用パラメータを符号化する際に発生する符号量である。
例えば、コストC2は、下記の式(5)から算出する。
C2=D2+λ・R2 (5)
ただし、D2は当該マクロブロック内の符号化対象画像信号と第2の参照画像信号間の二乗誤差和、λは定数、R2は予測信号生成用パラメータを符号化する際に発生する符号量である。
動き補償部23は、コストC1とコストC2を算出すると、そのコストC1とコストC2を比較する(ステップST27)。
動き補償部23は、コストC1がコストC2より小さければ、第1の参照画像信号を最適な参照画像信号として選択し、第1の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力する(ステップST28)。
一方、コストC1がコストC2以上であれば、第2の参照画像信号を最適な参照画像信号として選択し、第2の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力する(ステップST29)。
動き補償部23は、コストC1がコストC2より小さければ、第1の参照画像信号を最適な参照画像信号として選択し、第1の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力する(ステップST28)。
一方、コストC1がコストC2以上であれば、第2の参照画像信号を最適な参照画像信号として選択し、第2の参照画像信号から生成した予測信号及び予測信号生成用パラメータを出力する(ステップST29)。
なお、動き補償部23は、第1の参照画像信号を最適な参照画像信号として選択した場合、最適な参照画像信号が第1の参照画像信号である旨を示す“0”の参照画像生成方法識別情報を予測信号生成用パラメータに含めて可変長符号化部8に出力する。
一方、第2の参照画像信号を最適な参照画像信号として選択した場合、最適な参照画像信号が第2の参照画像信号である旨を示す“1”の参照画像生成方法識別情報を予測信号生成用パラメータに含めて可変長符号化部8に出力する。
一方、第2の参照画像信号を最適な参照画像信号として選択した場合、最適な参照画像信号が第2の参照画像信号である旨を示す“1”の参照画像生成方法識別情報を予測信号生成用パラメータに含めて可変長符号化部8に出力する。
減算器24は、動き補償部23から予測信号を受けると、その予測信号とブロック分割部1から出力された分割画像信号の差分である予測誤差信号を算出し、その予測誤差信号を圧縮部3に出力する(ステップST30)。
ここでは、予測部2がマクロブロック単位でステップST21からST29までの動き補償予測処理を行うものについて示したが、例えば、動きベクトルを切り換えるブロックの単位や、複数のマクロブロックから構成されるスライス単位で、動き補償予測処理を行うなど、マクロブロック単位ではない他の局所領域単位で、ステップST21からST29までの処理を行うようにしてもよい。
このとき、上記の処理単位が小さいほど参照画像の切り換え単位が小さくなるため、予測画像の品質は向上するが、最適な参照画像信号を識別する参照画像生成方法識別情報が増加する。
また、動き補償予測処理の単位がマクロブロック以下であれば、マクロブロック毎に独立した符号化が可能(フレーム単位などのマクロブロックを跨った反復処理が不要)であり、非特許文献2,3と比較して符号化遅延を大きく抑えることができる。
このとき、上記の処理単位が小さいほど参照画像の切り換え単位が小さくなるため、予測画像の品質は向上するが、最適な参照画像信号を識別する参照画像生成方法識別情報が増加する。
また、動き補償予測処理の単位がマクロブロック以下であれば、マクロブロック毎に独立した符号化が可能(フレーム単位などのマクロブロックを跨った反復処理が不要)であり、非特許文献2,3と比較して符号化遅延を大きく抑えることができる。
以上で明らかなように、この実施の形態1によれば、予測部2が、マクロブロック毎に、予め用意されている固定のフィルタを用いて、メモリ7に格納されている局所復号画像信号から第1の参照画像信号を生成するとともに、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、その局所復号画像信号から第2の参照画像信号を生成し、第1及び第2の参照画像信号の中から最適な参照画像信号を選択して、その参照画像信号から予測信号を生成するように構成したので、符号化遅延を抑制しながら、動き補償予測による予測画像の品質を改善することが可能な符号化処理が実現されるようになり、その結果、画像品質の改善精度を高めることができる効果を奏する。
実施の形態2.
図10はこの発明の実施の形態2による画像復号装置を示す構成図である。
図10において、可変長復号部31は図1の画像符号化装置から伝送されたビットストリームを受信すると、そのビットストリームから圧縮データ、フィルタ情報及び予測信号生成用パラメータを可変長復号して、その圧縮データを予測誤差復号部33に出力する処理を実施する。また、そのフィルタ情報をメモリ35に格納するとともに、その予測信号生成用パラメータを予測部32に出力する処理を実施する。なお、可変長復号部31は可変長復号手段を構成している。
図10はこの発明の実施の形態2による画像復号装置を示す構成図である。
図10において、可変長復号部31は図1の画像符号化装置から伝送されたビットストリームを受信すると、そのビットストリームから圧縮データ、フィルタ情報及び予測信号生成用パラメータを可変長復号して、その圧縮データを予測誤差復号部33に出力する処理を実施する。また、そのフィルタ情報をメモリ35に格納するとともに、その予測信号生成用パラメータを予測部32に出力する処理を実施する。なお、可変長復号部31は可変長復号手段を構成している。
予測部32は可変長復号部31により可変長復号された予測信号生成用パラメータに含まれている予測モードがフレーム内予測を行う旨を示している場合、フレーム内予測を行って予測画像を示す予測信号を生成する処理を実施する。
一方、予測モードがフレーム間予測を行う旨を示している場合、予測部32は動き補償予測を実施する。まず、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報(図4の動き補償部23による最適な参照画像信号の選択結果)が、図4の参照画像生成部21により予め用意されている固定のフィルタを用いて生成された第1の参照画像信号を選択している旨を示している場合、上記固定のフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が、図1の画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ(可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ)を用いて生成された第2の参照画像信号を選択している旨を示している場合、そのフィルタ情報に係るフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する。そして、その予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、その生成した参照画像信号から予測画像を示す予測信号を生成する処理を実施する。
なお、予測部32は予測画像生成手段を構成している。
一方、予測モードがフレーム間予測を行う旨を示している場合、予測部32は動き補償予測を実施する。まず、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報(図4の動き補償部23による最適な参照画像信号の選択結果)が、図4の参照画像生成部21により予め用意されている固定のフィルタを用いて生成された第1の参照画像信号を選択している旨を示している場合、上記固定のフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が、図1の画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ(可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ)を用いて生成された第2の参照画像信号を選択している旨を示している場合、そのフィルタ情報に係るフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する。そして、その予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、その生成した参照画像信号から予測画像を示す予測信号を生成する処理を実施する。
なお、予測部32は予測画像生成手段を構成している。
予測誤差復号部33は可変長復号部31により可変長復号された圧縮データを逆量子化し、逆量子化後の圧縮データに対する逆DCT処理を実施することで、図1の局所復号部4から出力された予測誤差信号に相当する予測誤差信号を算出する処理を実施する。
加算器34は予測誤差復号部33により算出された予測誤差信号と予測部32により生成された予測信号を加算することで、図1の加算器5から出力された局所復号画像信号に相当する復号画像信号を算出し、その復号画像信号をメモリ35及び画像品質改善フィルタ処理部36に出力する処理を実施する。
なお、予測誤差復号部33及び加算器34から復号画像生成手段が構成されている。
加算器34は予測誤差復号部33により算出された予測誤差信号と予測部32により生成された予測信号を加算することで、図1の加算器5から出力された局所復号画像信号に相当する復号画像信号を算出し、その復号画像信号をメモリ35及び画像品質改善フィルタ処理部36に出力する処理を実施する。
なお、予測誤差復号部33及び加算器34から復号画像生成手段が構成されている。
メモリ35は次のフレームの復号に備えて、加算器34から出力された復号画像信号を格納するとともに、可変長復号部31により可変長復号されたフィルタ情報を格納する記録媒体である。
なお、フィルタ情報は、メモリ35により格納されている複数のフレームの復号画像信号に対して、フレーム毎に一対一で対応してメモリ35に格納されている。ただし、どのフィルタ情報が、どのフレームの復号画像信号と対応しているかが明らかとなる格納方式であれば、メモリ35へのデータの格納方式は問わない。
また、今回は、予測部32で参照画像信号を生成するためにメモリ35に復号画像信号とフィルタ情報を格納しているが、予測部32で参照画像信号生成処理を行わずに済むように、可変長復号部31により可変長復号された予測信号生成用パラメータに含まれている参照画像生成方法識別情報を参照して参照画像信号を生成し、その参照画像をメモリ7に直接格納するように画像復号装置を構成してもよい。
なお、フィルタ情報は、メモリ35により格納されている複数のフレームの復号画像信号に対して、フレーム毎に一対一で対応してメモリ35に格納されている。ただし、どのフィルタ情報が、どのフレームの復号画像信号と対応しているかが明らかとなる格納方式であれば、メモリ35へのデータの格納方式は問わない。
また、今回は、予測部32で参照画像信号を生成するためにメモリ35に復号画像信号とフィルタ情報を格納しているが、予測部32で参照画像信号生成処理を行わずに済むように、可変長復号部31により可変長復号された予測信号生成用パラメータに含まれている参照画像生成方法識別情報を参照して参照画像信号を生成し、その参照画像をメモリ7に直接格納するように画像復号装置を構成してもよい。
画像品質改善フィルタ処理部36は可変長復号部31により可変長復号されたフィルタ情報に係るフィルタを用いて、加算器34から出力された復号画像信号に重畳されている符号化歪みを補償し、符号化歪み補償後の復号画像信号を再生画像信号として外部に出力する処理を実施する。なお、画像品質改善フィルタ処理部36はフィルタリング手段を構成している。
図10では、加算器34から出力された復号画像信号がメモリ35及び画像品質改善フィルタ処理部36に与えられる例を示したが、図11に示すように、加算器34から出力された復号画像信号に重畳されているブロック歪みを除去するループフィルタであるデブロッキングフィルタ37を加算器34の後段に設け、デブロッキングフィルタ37によりブロック歪みが除去された復号画像信号がメモリ35及び画像品質改善フィルタ処理部36に与えられるようにしてもよい。
図10では、画像復号装置の構成要素である可変長復号部31、予測部32、予測誤差復号部33、加算器34及び画像品質改善フィルタ処理部36のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路やワンチップマイコン)で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部31、予測部32、予測誤差復号部33、加算器34及び画像品質改善フィルタ処理部36の処理内容が記述されているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図12はこの発明の実施の形態2による画像復号装置の予測部32における動き補償予測部を示す構成図である。
図12において、参照画像生成部41は可変長復号部31により可変長復号された予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”である場合(最適な参照画像信号が第1の参照画像信号である場合)、予め用意されている固定のフィルタを用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する処理を実施する。一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“1”である場合(最適な参照画像信号が第2の参照画像信号である場合)、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ(可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ)を用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する処理を実施する。
図12において、参照画像生成部41は可変長復号部31により可変長復号された予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”である場合(最適な参照画像信号が第1の参照画像信号である場合)、予め用意されている固定のフィルタを用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する処理を実施する。一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“1”である場合(最適な参照画像信号が第2の参照画像信号である場合)、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタ(可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ)を用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する処理を実施する。
動き補償部42は予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報(例えば、フレーム間でどのような予測を行うのか(動きベクトルを切り換えるサブブロックの分割状態などの情報)を示す予測モード、フレーム間の動き量を示すマクロブロック又はサブブロック毎の動きベクトルなど)を参照して、参照画像生成部41により生成された参照画像信号に対する動き補償予測を実施することで、予測画像を示す予測信号を生成する処理を実施する。
図13はこの発明の実施の形態2による画像復号装置の画像品質改善フィルタ処理部36を示す構成図である。
図13において、フレームメモリ51は加算器34(又は、デブロッキングフィルタ37)から出力された復号画像信号を1フレーム分だけ格納する記録媒体である。
フィルタ処理部52は可変長復号部31により可変長復号されたフィルタ情報に係るフィルタのうち、整数画素用ウィーナフィルタを用いて、フレームメモリ51により格納されている復号画像信号に重畳されている符号化歪みを補償する処理を実施し、符号化歪み補償後の復号画像信号を再生画像信号として出力する処理を実施する。
図13において、フレームメモリ51は加算器34(又は、デブロッキングフィルタ37)から出力された復号画像信号を1フレーム分だけ格納する記録媒体である。
フィルタ処理部52は可変長復号部31により可変長復号されたフィルタ情報に係るフィルタのうち、整数画素用ウィーナフィルタを用いて、フレームメモリ51により格納されている復号画像信号に重畳されている符号化歪みを補償する処理を実施し、符号化歪み補償後の復号画像信号を再生画像信号として出力する処理を実施する。
ただし、フィルタ処理部52は、符号化歪みを補償するフィルタ処理を行うか否かを局所領域毎に切り換えるようにしてもよい。
このときの切り換え情報は、画像符号化装置から符号化データとして受信し、その符号化データを復号することで取得するようにしてもよいし、画像復号装置が所定の手法によって切り換え情報を算出するようにしてもよい。
このようにフィルタ処理を行うか否かを局所領域毎に切り換えることで、画像の品質が改善する局所領域のみをフィルタ処理することが可能となり、より高品質な歪み補償処理を実現することができる。
このときの切り換え情報は、画像符号化装置から符号化データとして受信し、その符号化データを復号することで取得するようにしてもよいし、画像復号装置が所定の手法によって切り換え情報を算出するようにしてもよい。
このようにフィルタ処理を行うか否かを局所領域毎に切り換えることで、画像の品質が改善する局所領域のみをフィルタ処理することが可能となり、より高品質な歪み補償処理を実現することができる。
また、再生画像信号の解像度を上げる必要がある場合などには、フィルタ処理部52が、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタのうち、非整数画素生成用ウィーナフィルタを再生画像信号の解像度拡大用フィルタ(超解像フィルタ)として利用することも可能である。
これにより、新たに特別な解像度拡大用フィルタを用意せずに、解像度拡大処理を実現することができる。
なお、画像品質改善フィルタ処理部36の構成としては、図14に示すように、フレームメモリ51を実装せずに、フィルタ処理部52がマクロブロック単位で、逐次、フィルタ処理を行う構成としてもよい。
これにより、新たに特別な解像度拡大用フィルタを用意せずに、解像度拡大処理を実現することができる。
なお、画像品質改善フィルタ処理部36の構成としては、図14に示すように、フレームメモリ51を実装せずに、フィルタ処理部52がマクロブロック単位で、逐次、フィルタ処理を行う構成としてもよい。
図15はこの発明の実施の形態2による画像復号装置の処理内容(画像復号方法)を示すフローチャートである。
また、図16はこの発明の実施の形態2による画像復号装置の予測部32における動き補償予測処理を示すフローチャートである。
また、図16はこの発明の実施の形態2による画像復号装置の予測部32における動き補償予測処理を示すフローチャートである。
次に動作について説明する。
可変長復号部31は、画像符号化装置からビットストリームを受信すると、そのビットストリームから圧縮データ、フィルタ情報及び予測信号生成用パラメータを可変長復号する(図15のステップST51)。
可変長復号部31は、画像符号化装置からビットストリームを受信すると、そのビットストリームから圧縮データ、フィルタ情報及び予測信号生成用パラメータを可変長復号する(図15のステップST51)。
予測部32は、可変長復号部31から予測信号生成用パラメータを受けると、その予測信号生成用パラメータに含まれている予測モードがフレーム内予測モードを表している場合、フレーム内予測を行って予測画像を示す予測信号を生成する。一方、予測モードがフレーム間予測モードを表している場合、具体的な処理内容については後述するが、予測部32は動き補償予測を次のように実施する。
まず、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”である場合(最適な参照画像信号が第1の参照画像信号である場合)、予め用意されている固定のフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する(ステップST52)。
一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“1”である場合(最適な参照画像信号が第2の参照画像信号である場合)、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ、即ち、画像符号化装置の画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する(ステップST52)。
予測部32は、復号画像信号から参照画像信号を生成すると、その予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、その参照画像信号から予測画像を示す予測信号を生成する(ステップST53)。
まず、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”である場合(最適な参照画像信号が第1の参照画像信号である場合)、予め用意されている固定のフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する(ステップST52)。
一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“1”である場合(最適な参照画像信号が第2の参照画像信号である場合)、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ、即ち、画像符号化装置の画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する(ステップST52)。
予測部32は、復号画像信号から参照画像信号を生成すると、その予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、その参照画像信号から予測画像を示す予測信号を生成する(ステップST53)。
予測誤差復号部33は、可変長復号部31から圧縮データを受けると、その圧縮データを逆量子化し、逆量子化後の圧縮データに対する逆DCT処理を実施することで、図1の局所復号部4から出力された予測誤差信号に相当する予測誤差信号を算出する(ステップST54)。
加算器34は、予測誤差復号部33が予測誤差信号を算出すると、その予測誤差信号と予測部32により生成された予測信号を加算することで、図1の加算器5から出力された局所復号画像信号に相当する復号画像信号を算出し、その復号画像信号をメモリ35に格納するとともに、その復号画像信号を画像品質改善フィルタ処理部36に出力する(ステップST55)。
加算器34は、予測誤差復号部33が予測誤差信号を算出すると、その予測誤差信号と予測部32により生成された予測信号を加算することで、図1の加算器5から出力された局所復号画像信号に相当する復号画像信号を算出し、その復号画像信号をメモリ35に格納するとともに、その復号画像信号を画像品質改善フィルタ処理部36に出力する(ステップST55)。
画像品質改善フィルタ処理部36の具体的な処理内容については後述するが、画像品質改善フィルタ処理部36は、可変長復号部31からフィルタ情報を受けると、そのフィルタ情報に係るフィルタを用いて、加算器34(又は、デブロッキングフィルタ37)から出力された復号画像信号に重畳されている符号化歪みを補償し、符号化歪み補償後の復号画像信号を再生画像信号として外部に出力する(ステップST56)。
以下、予測部32の動き補償予測処理の内容を具体的に説明する。
予測部32の参照画像生成部41は、可変長復号部31から予測信号生成用パラメータを受けると、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”であるか、“1”であるかを判別する(図16のステップST61)。
参照画像生成部41は、参照画像生成方法識別情報が“0”である場合、図4の動き補償部23により最適な参照画像信号として、第1の参照画像信号が選択されているので、予め用意されている固定のフィルタ(図4の参照画像生成部21により用いられた固定のフィルタと同一のフィルタ)を用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する(ステップST62)。
予測部32の参照画像生成部41は、可変長復号部31から予測信号生成用パラメータを受けると、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”であるか、“1”であるかを判別する(図16のステップST61)。
参照画像生成部41は、参照画像生成方法識別情報が“0”である場合、図4の動き補償部23により最適な参照画像信号として、第1の参照画像信号が選択されているので、予め用意されている固定のフィルタ(図4の参照画像生成部21により用いられた固定のフィルタと同一のフィルタ)を用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する(ステップST62)。
一方、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“1”である場合、図4の動き補償部23により最適な参照画像信号として、第2の参照画像信号が選択されているので、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタ、即ち、図1の画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いて、メモリ35に格納されている復号画像信号(予測信号生成用パラメータに含まれている参照フレーム番号の復号画像信号)に対するフィルタ処理を行うことで、参照画像信号を生成する(ステップST63)。
参照画像生成方法識別情報が“0”である場合に用いる固定のフィルタの例としては、非特許文献1に記載されている1/2画素生成フィルタや1/4画素生成フィルタが挙げられる。
ここでは、参照画像生成方法識別情報が“1”である場合、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いる例を示している。
即ち、動き補償を行う画素精度が1/4画素精度であるとき、整数画素用ウィーナフィルタ、1/2画素生成用ウィーナフィルタ、1/4画素生成用ウィーナフィルタの全てが、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタとして用いているが、整数画素用ウィーナフィルタ及び1/2画素生成用ウィーナフィルタについては、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタを用いて、1/4画素の生成には、参照画像生成方法識別情報が“0”である場合と同様に、固定の1/4画素生成フィルタを用いるなど、一部のフィルタで固定のフィルタを用いるようにしてもよい。
ここでは、参照画像生成方法識別情報が“1”である場合、画像品質改善フィルタ生成部6により生成された整数画素用ウィーナフィルタ及び非整数画素生成用ウィーナフィルタを用いる例を示している。
即ち、動き補償を行う画素精度が1/4画素精度であるとき、整数画素用ウィーナフィルタ、1/2画素生成用ウィーナフィルタ、1/4画素生成用ウィーナフィルタの全てが、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタとして用いているが、整数画素用ウィーナフィルタ及び1/2画素生成用ウィーナフィルタについては、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタを用いて、1/4画素の生成には、参照画像生成方法識別情報が“0”である場合と同様に、固定の1/4画素生成フィルタを用いるなど、一部のフィルタで固定のフィルタを用いるようにしてもよい。
このように、参照画像生成方法識別情報が“1”であるとき、画素精度毎に固定のフィルタを用いることにするか、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタを用いることにするかについては、画像符号化装置及び画像復号装置を構成する際に予め決定しておいてもよいし、画像符号化装置から画素精度毎に、フィルタ選択情報がフレーム単位、又は、複数のマクロブロックから構成されるスライス単位のヘッダ情報として符号化されているデータを受信して、そのヘッダ情報を復号するようにしてもよい。
上記のように、ヘッダ情報を用いて、参照画像生成方法識別情報が“1”である場合の参照画像信号生成方法を切り換えられるようにすることで、フィルタに要する符号量や参照画像の品質などを適応的に制御することが可能となる。
上記のように、ヘッダ情報を用いて、参照画像生成方法識別情報が“1”である場合の参照画像信号生成方法を切り換えられるようにすることで、フィルタに要する符号量や参照画像の品質などを適応的に制御することが可能となる。
動き補償部42は、参照画像生成部41が参照画像信号を生成すると、予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報(例えば、フレーム間でどのような予測を行うのか(動きベクトルを切り換えるサブブロックの分割状態などの情報)を示す予測モード、フレーム間の動き量を示すマクロブロック又はサブブロック毎の動きベクトルなど)を参照して、その参照画像信号に対する動き補償予測を実施することで、予測画像を示す予測信号を生成し、その予測信号を加算器34に出力する(ステップST64)。
以下、画像品質改善フィルタ処理部36の処理内容を具体的に説明する。
画像品質改善フィルタ処理部36のフレームメモリ51には、加算器34(又は、デブロッキングフィルタ37)から出力された復号画像信号が1フレーム分だけ格納される。
フィルタ処理部52は、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタのうち、整数画素用ウィーナフィルタを用いて、フレームメモリ51により格納されている復号画像信号に重畳されている符号化歪みを補償するフィルタ処理を実施し、符号化歪み補償後の復号画像信号を再生画像信号として出力する。
画像品質改善フィルタ処理部36のフレームメモリ51には、加算器34(又は、デブロッキングフィルタ37)から出力された復号画像信号が1フレーム分だけ格納される。
フィルタ処理部52は、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタのうち、整数画素用ウィーナフィルタを用いて、フレームメモリ51により格納されている復号画像信号に重畳されている符号化歪みを補償するフィルタ処理を実施し、符号化歪み補償後の復号画像信号を再生画像信号として出力する。
整数画素用ウィーナフィルタを用いるフィルタ処理において、フィルタ処理後の復号画像信号の画素値sハット(x0)は、上記実施の形態1の画像符号化装置と同様に、参照画素群xn(n=0,1,・・・,N-1)とフィルタ係数及びオフセット係数(a0,a1,・・・,aN-1,aN)を用いて、上述した式(2)で表すことができる(図8を参照)。
ただし、参照画素数Nは、画像符号化装置と同一の予め決められた固定値としてもよいし、ある所定の手段又は画像符号化装置から伝送される付加情報によって決まる可変値としてもよい。
また、参照画素配置の形状も参照画素数と同様に、予め決められた配置でもよいし、所定の法則又は画像符号化装置から伝送される付加情報によって決まる可変の形状としてもよい。
ただし、参照画素数Nは、画像符号化装置と同一の予め決められた固定値としてもよいし、ある所定の手段又は画像符号化装置から伝送される付加情報によって決まる可変値としてもよい。
また、参照画素配置の形状も参照画素数と同様に、予め決められた配置でもよいし、所定の法則又は画像符号化装置から伝送される付加情報によって決まる可変の形状としてもよい。
以上で明らかなように、この実施の形態2によれば、可変長復号部31により可変長復号された予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“0”である場合、予め用意されている固定のフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成し、その予測信号生成用パラメータに含まれている参照画像生成方法識別情報が“1”である場合、可変長復号部31により可変長復号されたフィルタ情報に係るフィルタを用いて、メモリ35に格納されている復号画像信号から参照画像信号を生成する参照画像生成部41と、その予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、参照画像生成部41により生成された参照画像信号に対する動き補償予測を実施する動き補償部42とから予測部32を構成し、可変長復号部31により可変長復号されたフィルタ情報を参照して、加算器34またはデブロッキングフィルタ37から出力された復号画像信号に重畳されている歪みを補償するフィルタ処理部52から画像品質改善フィルタ処理部36を構成するようにしたので、再生画像の品質を改善するだけでなく、動き補償予測による予測画像の品質も改善する処理が実現されるようになり、その結果、画像品質の改善精度を高めることができる効果を奏する。
以上のように、この発明に係る画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法は、生成した複数の参照画像の中から最適な参照画像を選択して、最適な参照画像と入力画像の局所領域から予測画像を生成することにより、符号化遅延を抑制することができるとともに、画像品質の改善精度を高めることができるので、例えばデジタル放送システムに係る機器などに用いるのに適している。
Claims (7)
- フィルタを用いて、メモリに格納されている局所復号画像から参照画像を生成し、上記参照画像と入力画像から予測画像を生成して、上記入力画像と上記予測画像の差分画像を算出する予測処理手段と、上記予測処理手段により算出された差分画像を圧縮する差分画像圧縮手段と、上記差分画像圧縮手段により圧縮された差分画像を復号し、復号後の差分画像と上記予測処理手段により生成された予測画像を加算して局所復号画像を生成し、上記局所復号画像を上記メモリに格納する局所復号手段と、上記局所復号手段により生成された局所復号画像と上記入力画像間の誤差を最小化するフィルタを生成するフィルタ生成手段と、上記差分画像圧縮手段により圧縮された差分画像及び上記フィルタ生成手段により生成されたフィルタに関するフィルタ情報を可変長符号化し、その符号化結果を示すビットストリームを生成する可変長符号化手段とを備えるとともに、上記予測処理手段は、上記入力画像の局所領域毎に、予め用意されている固定のフィルタを用いて、上記メモリに格納されている局所復号画像から参照画像を生成するとともに、上記フィルタ生成手段により生成されたフィルタを用いて、上記局所復号画像から参照画像を生成し、その生成した複数の参照画像の中から最適な参照画像を選択して、最適な参照画像を用いて予測画像を生成することを特徴とする画像符号化装置。
- フィルタ生成手段は、局所復号手段により生成された局所復号画像と入力画像間の整数画素精度の画素の誤差を最小化する整数画素用フィルタを生成し、上記整数画素用フィルタを用いて、上記局所復号画像に重畳されている歪みを補償するとともに、歪み補償後の局所復号画像に対して、上記入力画像の非整数画素精度の画素との誤差を最小化する非整数画素を生成する非整数画素生成フィルタを生成する処理を実施し、
予測処理手段は、予め用意されている固定のフィルタを用いて、メモリに格納されている局所復号画像から参照画像を生成するとともに、上記フィルタ生成手段により生成された整数画素用フィルタ及び非整数画素生成フィルタを用いて、上記局所復号画像から参照画像を生成することを特徴とする請求項1記載の画像符号化装置。 - 予測処理手段は、固定のフィルタを用いて生成した参照画像を選択して、予測画像を生成する際のコストと、フィルタ生成手段により生成されたフィルタを用いて生成した参照画像を選択して、予測画像を生成する際のコストとを算出し、予測画像を生成する際のコストが小さくなる方の参照画像を最適な参照画像として選択することを特徴とする請求項1記載の画像符号化装置。
- 可変長符号化手段は、予測処理手段による最適な参照画像の選択結果及び上記予測処理手段による動き補償予測処理を特定する情報を含む予測信号生成用パラメータを可変長符号化し、その符号化結果を含むビットストリームを生成することを特徴とする請求項1記載の画像符号化装置。
- ビットストリームから予測信号生成用パラメータ、圧縮されている差分画像及びフィルタ情報を可変長復号する可変長復号手段と、上記可変長復号手段により可変長復号された予測信号生成用パラメータに含まれている最適な参照画像の選択結果が、予め用意されている固定のフィルタを用いて生成した参照画像を選択している旨を示している場合、上記固定のフィルタを用いて、メモリに格納されている復号画像から参照画像を生成する一方、上記予測信号生成用パラメータに含まれている最適な参照画像の選択結果が、上記可変長復号手段により可変長復号されたフィルタ情報に係るフィルタを用いて生成した参照画像を選択している旨を示している場合、上記フィルタ情報に係るフィルタを用いて、上記復号画像から参照画像を生成し、上記予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、その生成した参照画像から予測画像を生成する予測画像生成手段と、上記可変長復号手段により可変長復号された圧縮されている差分画像を復号し、復号後の差分画像と上記予測画像生成手段により生成された予測画像を加算して復号画像を生成し、上記復号画像を上記メモリに格納する復号画像生成手段と、上記可変長復号手段により可変長復号されたフィルタ情報に係るフィルタを用いて、上記復号画像生成手段により生成された復号画像に重畳されている歪みを補償するフィルタリング手段とを備えた画像復号装置。
- 予測処理手段がフィルタを用いて、メモリに格納されている局所復号画像から参照画像を生成し、上記参照画像と入力画像から予測画像を生成して、上記入力画像と上記予測画像の差分画像を算出する予測処理ステップと、差分画像圧縮手段が上記予測処理ステップで算出された差分画像を圧縮する差分画像圧縮処理ステップと、局所復号手段が上記差分画像圧縮処理ステップで圧縮された差分画像を復号し、復号後の差分画像と上記予測処理ステップで生成された予測画像を加算して局所復号画像を生成し、上記局所復号画像を上記メモリに格納する局所復号処理ステップと、フィルタ生成手段が上記局所復号処理ステップで生成された局所復号画像と上記入力画像間の誤差を最小化するフィルタを生成するフィルタ生成処理ステップと、可変長符号化手段が上記差分画像圧縮処理ステップで圧縮された差分画像及び上記フィルタ生成処理ステップで生成されたフィルタに関するフィルタ情報を可変長符号化し、その符号化結果を示すビットストリームを生成する可変長符号化処理ステップとを備えるとともに、上記予測処理手段が予測処理ステップを実行する際、上記入力画像の局所領域毎に、予め用意されている固定のフィルタを用いて、上記メモリに格納されている局所復号画像から参照画像を生成するとともに、上記フィルタ生成処理ステップで生成されたフィルタを用いて、上記局所復号画像から参照画像を生成し、その生成した複数の参照画像の中から最適な参照画像を選択して、最適な参照画像を用いて予測画像を生成することを特徴とする画像符号化方法。
- 可変長復号手段がビットストリームから予測信号生成用パラメータ、圧縮されている差分画像及びフィルタ情報を可変長復号する可変長復号処理ステップと、予測画像生成手段が、上記可変長復号処理ステップで可変長復号された予測信号生成用パラメータに含まれている最適な参照画像の選択結果が、予め用意されている固定のフィルタを用いて生成した参照画像を選択している旨を示している場合、上記固定のフィルタを用いて、メモリに格納されている復号画像から参照画像を生成する一方、上記予測信号生成用パラメータに含まれている最適な参照画像の選択結果が、上記可変長復号処理ステップで可変長復号されたフィルタ情報に係るフィルタを用いて生成した参照画像を選択している旨を示している場合、上記フィルタ情報に係るフィルタを用いて、上記復号画像から参照画像を生成し、上記予測信号生成用パラメータに含まれている動き補償予測処理を特定する情報を参照して、その生成した参照画像から予測画像を生成する予測画像生成処理ステップと、復号画像生成手段が上記可変長復号処理ステップで可変長復号された圧縮されている差分画像を復号し、復号後の差分画像と上記予測画像生成処理ステップで生成された予測画像を加算して復号画像を生成し、上記復号画像を上記メモリに格納する復号画像生成処理ステップと、フィルタリング手段が上記可変長復号処理ステップで可変長復号されたフィルタ情報に係るフィルタを用いて、上記復号画像生成処理ステップで生成された復号画像に重畳されている歪みを補償するフィルタリング処理ステップとを備えた画像復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011534040A JPWO2011039931A1 (ja) | 2009-09-30 | 2010-08-20 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009227350 | 2009-09-30 | ||
JP2009-227350 | 2009-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011039931A1 true WO2011039931A1 (ja) | 2011-04-07 |
Family
ID=43825786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/005149 WO2011039931A1 (ja) | 2009-09-30 | 2010-08-20 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2011039931A1 (ja) |
WO (1) | WO2011039931A1 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012160614A1 (ja) * | 2011-05-25 | 2012-11-29 | パナソニック株式会社 | 動画像復号装置 |
WO2014078422A1 (en) * | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive, characteristics compensated prediction for next generation video |
JP2015519829A (ja) * | 2012-06-15 | 2015-07-09 | インテル コーポレイション | スケーラブルなビデオコーディングのためのアダプティブフィルタリング |
JP2015533037A (ja) * | 2012-09-24 | 2015-11-16 | インテル・コーポレーション | ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ |
WO2016129185A1 (ja) * | 2015-02-09 | 2016-08-18 | Kddi株式会社 | 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム |
JP2017028714A (ja) * | 2016-09-08 | 2017-02-02 | インテル・コーポレーション | ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ |
JP2017184262A (ja) * | 2017-05-29 | 2017-10-05 | インテル・コーポレーション | ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ |
US9787990B2 (en) | 2013-01-30 | 2017-10-10 | Intel Corporation | Content adaptive parametric transforms for coding for next generation video |
US10123011B2 (en) | 2012-09-24 | 2018-11-06 | Intel Corporation | Histogram segmentation based local adaptive filter for video encoding and decoding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007111292A1 (ja) * | 2006-03-27 | 2007-10-04 | Matsushita Electric Industrial Co., Ltd. | 画像符号化装置および画像復号化装置 |
WO2008069073A1 (ja) * | 2006-11-30 | 2008-06-12 | Ntt Docomo, Inc. | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
JP2008536414A (ja) * | 2005-04-13 | 2008-09-04 | ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー | ビデオの拡張された符号化方法及び装置 |
WO2009047917A1 (ja) * | 2007-10-11 | 2009-04-16 | Panasonic Corporation | 映像符号化方法及び映像復号方法 |
-
2010
- 2010-08-20 WO PCT/JP2010/005149 patent/WO2011039931A1/ja active Application Filing
- 2010-08-20 JP JP2011534040A patent/JPWO2011039931A1/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008536414A (ja) * | 2005-04-13 | 2008-09-04 | ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー | ビデオの拡張された符号化方法及び装置 |
WO2007111292A1 (ja) * | 2006-03-27 | 2007-10-04 | Matsushita Electric Industrial Co., Ltd. | 画像符号化装置および画像復号化装置 |
WO2008069073A1 (ja) * | 2006-11-30 | 2008-06-12 | Ntt Docomo, Inc. | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
WO2009047917A1 (ja) * | 2007-10-11 | 2009-04-16 | Panasonic Corporation | 映像符号化方法及び映像復号方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012160614A1 (ja) * | 2011-05-25 | 2012-11-29 | パナソニック株式会社 | 動画像復号装置 |
JP2015519829A (ja) * | 2012-06-15 | 2015-07-09 | インテル コーポレイション | スケーラブルなビデオコーディングのためのアダプティブフィルタリング |
US10979703B2 (en) | 2012-06-15 | 2021-04-13 | Intel Corporation | Adaptive filtering for scalable video coding |
JP2015533037A (ja) * | 2012-09-24 | 2015-11-16 | インテル・コーポレーション | ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ |
US10477208B2 (en) | 2012-09-24 | 2019-11-12 | Intel Corporation | Histogram segmentation based local adaptive filter for video encoding and decoding |
US10123011B2 (en) | 2012-09-24 | 2018-11-06 | Intel Corporation | Histogram segmentation based local adaptive filter for video encoding and decoding |
US9819965B2 (en) | 2012-11-13 | 2017-11-14 | Intel Corporation | Content adaptive transform coding for next generation video |
WO2014078422A1 (en) * | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive, characteristics compensated prediction for next generation video |
CN104854866A (zh) * | 2012-11-13 | 2015-08-19 | 英特尔公司 | 下一代视频的内容自适应、特性补偿预测 |
US9762929B2 (en) | 2012-11-13 | 2017-09-12 | Intel Corporation | Content adaptive, characteristics compensated prediction for next generation video |
US9787990B2 (en) | 2013-01-30 | 2017-10-10 | Intel Corporation | Content adaptive parametric transforms for coding for next generation video |
US9794569B2 (en) | 2013-01-30 | 2017-10-17 | Intel Corporation | Content adaptive partitioning for prediction and coding for next generation video |
WO2016129185A1 (ja) * | 2015-02-09 | 2016-08-18 | Kddi株式会社 | 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム |
JP2017028714A (ja) * | 2016-09-08 | 2017-02-02 | インテル・コーポレーション | ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ |
JP2017184262A (ja) * | 2017-05-29 | 2017-10-05 | インテル・コーポレーション | ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011039931A1 (ja) | 2013-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2714100C1 (ru) | Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений | |
WO2011039931A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP5197630B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
KR100772883B1 (ko) | 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더 | |
US7925107B2 (en) | Adaptive variable block transform system, medium, and method | |
US7379496B2 (en) | Multi-resolution video coding and decoding | |
JP4999340B2 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法 | |
JP5513740B2 (ja) | 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路 | |
EP2437499A1 (en) | Video encoder, video decoder, video encoding method, and video decoding method | |
WO2010001614A1 (ja) | 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路 | |
US9736500B2 (en) | Methods and apparatus for spatially varying residue coding | |
KR101253156B1 (ko) | 영상 신호의 인코딩/디코딩 방법 | |
JP2005506815A (ja) | 空間拡張可能圧縮のための方法及び装置 | |
US7903306B2 (en) | Sensor image encoding and/or decoding system, medium, and method | |
JP6055098B2 (ja) | 映像復号方法及びそれを利用する装置 | |
US20120263225A1 (en) | Apparatus and method for encoding moving picture | |
JP5361998B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
JP4762486B2 (ja) | マルチ・リゾルーション・ビデオ符号化および復号化 | |
WO2011070698A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
JP2004129304A (ja) | 動画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10820057 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011534040 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10820057 Country of ref document: EP Kind code of ref document: A1 |