WO2019189899A1 - 画像符号化装置、画像復号装置、及びプログラム - Google Patents

画像符号化装置、画像復号装置、及びプログラム Download PDF

Info

Publication number
WO2019189899A1
WO2019189899A1 PCT/JP2019/014359 JP2019014359W WO2019189899A1 WO 2019189899 A1 WO2019189899 A1 WO 2019189899A1 JP 2019014359 W JP2019014359 W JP 2019014359W WO 2019189899 A1 WO2019189899 A1 WO 2019189899A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
transform
prediction
evaluation
Prior art date
Application number
PCT/JP2019/014359
Other languages
English (en)
French (fr)
Inventor
市ヶ谷 敦郎
俊輔 岩村
慎平 根本
井口 和久
Original Assignee
日本放送協会
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本放送協会 filed Critical 日本放送協会
Priority to KR1020227019455A priority Critical patent/KR20220085841A/ko
Priority to EP19774775.1A priority patent/EP3780598A4/en
Priority to KR1020207030463A priority patent/KR102409138B1/ko
Priority to JP2020509368A priority patent/JP6892555B2/ja
Priority to CN201980028417.XA priority patent/CN112020859A/zh
Publication of WO2019189899A1 publication Critical patent/WO2019189899A1/ja
Priority to US17/035,208 priority patent/US11394958B2/en
Priority to US17/841,461 priority patent/US11818360B2/en
Priority to US18/482,140 priority patent/US20240040128A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Definitions

  • the present invention relates to an image encoding device, an image decoding device, and a program.
  • motion compensation prediction is performed using a plurality of reference images, a predicted image corresponding to the target image is generated, and the target image and the predicted image are
  • a method of performing orthogonal transformation and quantization on a prediction residual indicating a difference in pixel units is known.
  • the image coding apparatus encodes the quantized transform coefficient obtained by orthogonal transform and quantization by entropy coding, and performs inverse quantization and inverse orthogonal transform on the quantized transform coefficient to perform prediction prediction. Restore the difference. Then, the image encoding device reconstructs the target image by combining the reconstructed prediction residual with the predicted image, and uses the reconstructed image for subsequent prediction.
  • the image decoding apparatus decodes the entropy-coded quantized transform coefficient and performs motion compensation prediction using a plurality of reference images to generate a predicted image corresponding to the target image.
  • the image decoding apparatus restores a prediction residual by inverse quantization and inverse orthogonal transform of the quantized transform coefficient, and combines the restored prediction residual with the prediction image to reconstruct the target image.
  • Such an image encoding device and an image decoding device generate a prediction image by, for example, averaging a plurality of reference images in motion compensated prediction using a plurality of reference images (see Non-Patent Document 1).
  • the restored prediction residual deteriorated in this way is combined with the predicted image and the target image block is reconstructed, the deterioration of the image quality is propagated to the portion where the highly accurate prediction is performed.
  • the image quality deteriorates due to the influence of the quantization of the orthogonal transform coefficient also on the high prediction accuracy, which causes a decrease in coding efficiency. there were.
  • an object of the present invention is to provide an image encoding device, an image decoding device, and a program that can improve encoding efficiency when prediction is performed using a plurality of reference images.
  • bi-prediction in motion compensated prediction is a representative prediction technique that performs prediction using a plurality of reference images, but is not limited thereto.
  • the same technique can be applied when a predicted image is generated by referring to a plurality of images such as IntraBC mode (intra block copy mode) of an image used in the HEVC encoding method.
  • IntraBC mode intra block copy mode
  • the image encoding device encodes a target image.
  • the image coding apparatus includes: a prediction unit that generates a predicted image corresponding to the target image by performing prediction (bidirectional motion compensated prediction as an example of a typical prediction method) using a plurality of reference images; And an evaluation unit that evaluates the prediction accuracy of the predicted image by calculating the similarity between the plurality of reference images.
  • such an image encoding apparatus can estimate a portion having a large prediction residual or a portion having a small prediction residual by evaluating the prediction accuracy of a predicted image for each image portion, and therefore, degradation in image quality. Can be efficiently suppressed. Therefore, it is possible to provide an image encoding device that can improve encoding efficiency when performing prediction using a plurality of reference images.
  • prediction unit can be used for the prediction performed by the prediction unit, regardless of what prediction method is used as long as a plurality of reference images are used.
  • An example of a typical prediction method is bi-directional motion compensation prediction, but may be prediction in a multi-reference intra BC mode (intra block copy mode) used in the HEVC scheme.
  • the image decoding apparatus decodes the target image.
  • the image decoding apparatus performs prediction using a plurality of reference images (bidirectional motion compensation prediction as an example of a typical prediction method), thereby generating a prediction image corresponding to the target image;
  • the gist is to include an evaluation unit that evaluates the prediction accuracy of the predicted image by calculating a similarity between the plurality of reference images.
  • the image decoding apparatus can estimate a portion having a large prediction residual or a portion having a small prediction residual by evaluating the prediction accuracy of the predicted image for each image portion. Can be suppressed. Therefore, it is possible to provide an image decoding apparatus that can improve the encoding efficiency when performing prediction using a plurality of reference images.
  • the gist of the program according to the third feature is a program for causing a computer to function as the image encoding device according to the first feature.
  • the gist of the fourth feature is a program for causing a computer to function as an image decoding device according to the second feature.
  • the image encoding device and the image decoding device according to the embodiment will be described with reference to the drawings.
  • the image encoding device and the image decoding device according to the embodiment encode and decode a moving image represented by MPEG.
  • MPEG moving image represented by MPEG.
  • FIG. 1 is a diagram illustrating a configuration of an image encoding device 1 according to the first embodiment.
  • the image encoding device 1 includes a block division unit 100, a subtraction unit 101, a conversion unit 102a, a quantization unit 102b, an entropy encoding unit 103, an inverse quantization unit 104a, An inverse transform unit 104b, a synthesis unit 105, an intra prediction unit 106, a loop filter 107, a frame memory 108, a motion compensation prediction unit 109, a switching unit 110, and an evaluation unit 111 are provided.
  • the block dividing unit 100 divides an input image in units of frames (or pictures) into block-like small regions, and outputs the image blocks to the subtracting unit 101 (and the motion compensation prediction unit 109).
  • the size of the image block is, for example, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • An image block is a unit in which the image encoding device 1 performs encoding and a unit in which the image decoding device 2 performs decoding. Such an image block is referred to as a target image block.
  • the subtracting unit 101 calculates a prediction residual indicating a difference in pixel units between the target image block input from the block dividing unit 100 and a predicted image (predicted image block) corresponding to the target image block. Specifically, the subtraction unit 101 calculates a prediction residual by subtracting each pixel value of the predicted image from each pixel value of the encoding target block, and outputs the calculated prediction residual to the conversion unit 102a. Note that the predicted image is input to the subtraction unit 101 from the intra prediction unit 106 or the motion compensation prediction unit 109 described later via the switching unit 110.
  • the transform unit 102a and the quantization unit 102b constitute a transform / quantization unit 102 that performs orthogonal transform processing and quantization processing in units of blocks.
  • the transform unit 102a performs orthogonal transform on the prediction residual input from the subtraction unit 101 to calculate transform coefficients, and outputs the calculated transform coefficients to the quantization unit 102b.
  • the orthogonal transform refers to, for example, discrete cosine transform (DCT), discrete sine transform (DST), Karhunen-Loeve Transform (KLT), and the like.
  • the quantization unit 102b quantizes the transform coefficient input from the transform unit 102a using a quantization parameter (Qp) and a quantization matrix, and generates a quantized transform coefficient.
  • the quantization parameter (Qp) is a parameter that is commonly applied to each transform coefficient in the block, and is a parameter that determines the roughness of quantization.
  • the quantization matrix is a matrix having a quantization value at the time of quantizing each transform coefficient as an element.
  • the quantization unit 102b outputs the quantization control information, the generated quantization transform coefficient information, and the like to the entropy encoding unit 103 and the inverse quantization unit 104a.
  • the entropy encoding unit 103 performs entropy encoding on the quantized transform coefficient input from the quantization unit 102b, performs data compression to generate encoded data (bit stream), and converts the encoded data into an image code Output to the outside of the converter 1.
  • entropy coding Huffman code, CABAC (Context-based Adaptive Binary Arithmetic Coding), or the like can be used.
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • the entropy coding unit 103 receives information related to prediction from the intra prediction unit 106 and the motion compensation prediction unit 109, and receives information related to filter processing from the loop filter 107.
  • the entropy encoding unit 103 also performs entropy encoding of these pieces of information.
  • the inverse quantization unit 104a and the inverse transform unit 104b constitute an inverse quantization / inverse transform unit 104 that performs an inverse quantization process and an inverse orthogonal transform process in units of blocks.
  • the inverse quantization unit 104a performs an inverse quantization process corresponding to the quantization process performed by the quantization unit 102b. Specifically, the inverse quantization unit 104a restores the transform coefficient by inversely quantizing the quantized transform coefficient input from the quantization unit 102b using the quantization parameter (Qp) and the quantization matrix. Then, the restored transform coefficient is output to the inverse transform unit 104b.
  • Qp quantization parameter
  • the inverse transform unit 104b performs an inverse orthogonal transform process corresponding to the orthogonal transform process performed by the transform unit 102a. For example, when the transform unit 102a performs discrete cosine transform, the inverse transform unit 104b performs inverse discrete cosine transform. The inverse transform unit 104 b performs inverse orthogonal transform on the transform coefficient input from the inverse quantization unit 104 a to restore the prediction residual, and outputs the restored prediction residual that is the restored prediction residual to the synthesis unit 105. To do.
  • the synthesizing unit 105 synthesizes the restored prediction residual input from the inverse transform unit 104b with the predicted image input from the switching unit 110 in units of pixels.
  • the synthesizing unit 105 adds each pixel value of the restored prediction residual and each pixel value of the predicted image to reconstruct the target image block, and reconstructs the reconstructed image that is the reconstructed target image block into the intra prediction unit 106 and the loop. Output to the filter 107.
  • the intra prediction unit 106 performs intra prediction using the reconstructed image input from the synthesis unit 105 to generate an intra prediction image, and outputs the intra prediction image to the switching unit 110. Also, the intra prediction unit 106 outputs information on the selected intra prediction mode and the like to the entropy encoding unit 103.
  • the loop filter 107 performs filter processing as post-processing on the reconstructed image input from the synthesis unit 105 and outputs the reconstructed image after the filter processing to the frame memory 108. Further, the loop filter 107 outputs information related to the filter process to the entropy encoding unit 103.
  • the filter process includes a deblocking filter process and a sample adaptive offset process.
  • the deblocking filter process is a process for reducing signal degradation caused by block-based processing, and is a process for smoothing a signal gap at the boundary between adjacent blocks. By this deblocking filter processing, the strength (filter strength) of the deblocking filter processing is controlled using the signal gap at the boundary and the quantization parameter indicating the degree of quantization.
  • the sample adaptive offset process is an image quality improvement filter process adopted in, for example, HEVC (see Non-Patent Document 1), and categorizes each pixel according to a relative relationship with an adjacent pixel of the pixel in the block.
  • This is a process of calculating an offset value for improving the image quality for each category and uniformly assigning the offset value to each pixel belonging to the same category. Since stronger filter processing is applied as the offset value increases, the offset value can be regarded as a value that determines the filter strength of the sample adaptive offset processing.
  • the frame memory 108 stores the reconstructed image input from the loop filter 107 in units of frames.
  • the motion compensation prediction unit 109 performs inter prediction using one or a plurality of reconstructed images stored in the frame memory 108 as reference images. Specifically, the motion compensation prediction unit 109 calculates a motion vector by a technique such as block matching, generates a motion compensation prediction image based on the motion vector, and outputs the motion compensation prediction image to the switching unit 110. In addition, the motion compensation prediction unit 109 outputs information on the motion vector to the entropy encoding unit 103.
  • the switching unit 110 switches between the intra prediction image input from the intra prediction unit 106 and the motion compensation prediction image input from the motion compensation prediction unit 109, and subtracts the prediction image (intra prediction image or motion compensation prediction image). Output to the unit 101 and the combining unit 105.
  • the evaluation unit 111 calculates a similarity between a plurality of reference images used for prediction for each image portion including one or a plurality of pixels. Then, the prediction accuracy of the predicted image is evaluated for each image portion based on the similarity, and the evaluation result information is output to the synthesis unit 105.
  • the evaluation unit 111 calculates the similarity between a plurality of reference images used for prediction in units of one pixel, and evaluates the prediction accuracy of the predicted image in units of one pixel.
  • the evaluation unit 111 uses a plurality of reference images.
  • the similarity between the plurality of reference images is calculated, the prediction accuracy of the predicted image is evaluated in units of pixels, and the evaluation result is output to the synthesis unit 105.
  • the combining unit 105 controls the restored prediction residual to be combined with the predicted image on a pixel basis based on the evaluation result by the evaluation unit 111. Details of the evaluation unit 111 and the combining unit 105 will be described later.
  • FIG. 2 is a diagram illustrating a configuration of the image decoding device 2 according to the first embodiment.
  • the image decoding apparatus 2 includes an entropy code decoding unit 200, an inverse quantization unit 201a, an inverse transform unit 201b, a synthesis unit 202, an intra prediction unit 203, a loop filter 204, a frame, A memory 205, a motion compensation prediction unit 206, a switching unit 207, and an evaluation unit 208 are provided.
  • the entropy code decoding unit 200 decodes the encoded data generated by the encoding device 1 and outputs the quantized transform coefficient to the inverse quantization unit 201a. In addition, the entropy code decoding unit 200 decodes encoded data, acquires information related to prediction (intra prediction and motion compensation prediction) and information related to filter processing, and stores information related to prediction to the intra prediction unit 203 and the motion compensated prediction unit. The information about the filter processing is output to the loop filter 204.
  • the inverse quantization unit 201a and the inverse transform unit 201b constitute an inverse quantization / inverse transform unit 201 that performs an inverse quantization process and an inverse orthogonal transform process in units of blocks.
  • the inverse quantization unit 201a performs an inverse quantization process corresponding to the quantization process performed by the quantization unit 102b of the image encoding device 1.
  • the inverse quantization unit 201a restores and restores the transform coefficient by inversely quantizing the quantized transform coefficient input from the entropy code decoding unit 200 using the quantization parameter (Qp) and the quantization matrix.
  • the transform coefficient is output to the inverse transform unit 201b.
  • the inverse transform unit 201b performs an inverse orthogonal transform process corresponding to the orthogonal transform process performed by the transform unit 102a of the image encoding device 1.
  • the inverse transform unit 201 b performs inverse orthogonal transform on the transform coefficient input from the inverse quantization unit 201 a to restore the prediction residual, and outputs the restored prediction residual (restored prediction residual) to the synthesis unit 202. To do.
  • the synthesizing unit 202 reconstructs the original target image block by synthesizing the prediction residual input from the inverse transform unit 201b and the predicted image input from the switching unit 207 in units of pixels, and reconstructed image Is output to the intra prediction unit 203 and the loop filter 204.
  • the intra prediction unit 203 refers to the reconstructed coded block image input from the synthesis unit 202, generates an intra prediction image by performing intra prediction according to the intra prediction information input from the entropy code decoding unit 200, and generates an intra prediction image.
  • the predicted image is output to the switching unit 207.
  • the loop filter 204 is similar to the filter processing performed by the loop filter 107 of the image encoding device 1 on the reconstructed image input from the synthesis unit 202 based on the filter processing information input from the entropy code decoding unit 200. Filter processing is performed, and the reconstructed image after the filter processing is output to the frame memory 205.
  • the frame memory 205 stores the reconstructed image input from the loop filter 204 in units of frames.
  • the frame memory 205 outputs the stored reconstructed images to the outside of the image decoding device 2 in the display order.
  • the motion compensation prediction unit 206 performs motion compensation prediction (inter prediction) according to the motion vector information input from the entropy code decoding unit 200, using one or a plurality of reconstructed images stored in the frame memory 205 as reference images. As a result, a motion compensated predicted image is generated, and the motion compensated predicted image is output to the switching unit 207.
  • inter prediction motion compensation prediction
  • the switching unit 207 switches between the intra prediction image input from the intra prediction unit 203 and the motion compensated prediction image input from the motion compensation prediction unit 206, and synthesizes a prediction image (intra prediction image or motion compensation prediction image). To the unit 202.
  • the evaluation unit 208 performs the same operation as the evaluation unit 111 of the image encoding device 1. Specifically, when the motion compensation prediction unit 206 performs motion compensation prediction using a plurality of reference images, the evaluation unit 208 calculates the similarity between the plurality of reference images in units of pixels, thereby predicting the predicted image. And the evaluation result information is output to the synthesis unit 202. The combining unit 202 controls the restored prediction residual to be combined with the predicted image on a pixel basis based on the evaluation result by the evaluation unit 208.
  • FIG. 3 is a diagram illustrating an example of motion compensation prediction.
  • FIG. 4 is a diagram illustrating an example of a predicted image generated by motion compensation prediction.
  • bi-prediction used in HEVC, particularly forward and backward prediction (bidirectional prediction) is used will be described.
  • the motion compensation prediction refers to the previous and subsequent frames in time with respect to the target frame (current frame).
  • the motion compensation prediction of the block in the image of the t frame is performed with reference to the t ⁇ 1 frame and the t + 1 frame.
  • a portion (block) similar to the target image block is detected from the reference range set in the system from the reference frames of the t ⁇ 1 and t + 1 frames.
  • Detected location is a reference image.
  • Information indicating the relative position of the reference image with respect to the target image block is an arrow shown in the figure, which is called a motion vector.
  • the motion vector information is encoded by entropy encoding together with the frame information of the reference image in the image encoding device 1.
  • the image decoding device 2 detects a reference image based on the motion vector information generated by the image encoding device 1.
  • the reference images 1 and 2 detected by motion compensation are similar partial images that are aligned in the reference frame with respect to the target image block.
  • the image is similar to the encoding target image.
  • the target image block includes a star pattern and a partial circle pattern.
  • the reference image 1 includes a star pattern and an overall circle pattern.
  • the reference image 2 includes a star pattern, but does not include a circle pattern.
  • a prediction image is generated from the reference images 1 and 2.
  • reference images 1 and 2 having different characteristics but partially similar are averaged to generate a prediction image having the characteristics of each reference image.
  • a predicted image may be generated by using more advanced processing, for example, signal enhancement processing using a low-pass filter, a high-pass filter, or the like.
  • the reference image 1 includes a circle pattern and the reference image 2 does not include a circle pattern, when the reference images 1 and 2 are averaged to generate a predicted image, the circle pattern in the predicted image is the reference image. Compared to 1, the signal is halved.
  • the difference between the prediction image obtained from the reference images 1 and 2 and the target image block (encoding target image) is the prediction residual.
  • the prediction residual shown in FIG. 4 a large difference occurs only in the edge shift portion of the star pattern and the shift portion (shaded portion) of the circle pattern, but the other portions are predicted accurately.
  • the difference is reduced (the difference is not generated in the example of FIG. 4).
  • the part where the difference does not occur is a part where the similarity between the reference image 1 and the reference image 2 is high, and the part where the high-precision prediction is performed. is there.
  • a portion where a large difference is generated is a portion specific to each reference image, that is, a portion where the similarity between the reference image 1 and the reference image 2 is extremely low. Therefore, it can be seen that a portion where the similarity between the reference image 1 and the reference image 2 is extremely low has low prediction accuracy and causes a large difference (residual).
  • the prediction image restored by inverse quantization and inverse orthogonal transform (reconstructed prediction residual) is combined with the prediction image to reconstruct the target image block, the non-edge portion and background of the star pattern shown in FIG.
  • the degradation of the image quality is propagated to a portion where a highly accurate prediction is performed, such as the portion.
  • the evaluation unit 111 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels. Then, based on the result of evaluation by the evaluation unit 111, the synthesis unit 105 controls the restored prediction residual to be synthesized with the predicted image in units of pixels.
  • the evaluation unit 208 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between a plurality of reference images in units of pixels. Then, the synthesis unit 202 controls the restored prediction residual to be synthesized with the predicted image on a pixel basis based on the result of the evaluation by the evaluation unit 208.
  • FIG. 5 is a diagram illustrating an example of the configuration of the evaluation unit 111 in the image encoding device 1.
  • the evaluation unit 111 includes a difference calculation unit (subtraction unit) 111a, a normalization unit 111b, and a weight adjustment unit 111c.
  • the difference calculation unit 111a calculates the absolute value of the difference value between the reference image 1 and the reference image 2 in units of pixels, and outputs the calculated absolute value of the difference value to the normalization unit 111b.
  • the absolute value of the difference value is an example of a value indicating similarity. It can be said that the smaller the absolute value of the difference value is, the higher the similarity is, and the larger the absolute value of the difference value is, the lower the similarity is.
  • the difference calculation unit 111a may calculate the absolute value of the difference value after performing filter processing on each reference image.
  • the difference calculation unit 111a may calculate a statistic such as a square error and use the statistic as the similarity.
  • the normalization unit 111b uses the difference value of each pixel input from the difference calculation unit 111a as the absolute value of the difference value of the pixel having the maximum absolute value of the difference value in the block (that is, the absolute value of the difference value in the block). Normalized difference value, which is an absolute value of the normalized difference value, is output to the weight adjustment unit 111c. In the first embodiment, the normalized difference value is used as a weight for weighting the restored prediction residual combined with the predicted image in the combining unit 105 in units of pixels.
  • the weight adjustment unit 111c adjusts the normalized difference value (weight) input from the normalization unit 111b based on the quantization parameter (Qp) that determines the roughness of quantization, and outputs this weight. Since the degree of deterioration of the restored prediction residual is higher as the quantization roughness is larger, the weight adjustment unit 111c adjusts the normalized difference value (weight) based on the quantization parameter (Qp), thereby reducing the degree of deterioration.
  • the restoration prediction residual can be weighted in consideration.
  • the weight Wij of each pixel (ij) output from the evaluation unit 111 can be expressed as, for example, the following equation (1).
  • Wij (abs (Xij-Yij) / maxD x Scale (Qp)) (1)
  • Xij is the pixel value of the pixel ij of the reference image 1
  • Yij is the pixel value of the pixel ij of the reference image 2
  • abs is a function for obtaining an absolute value.
  • the difference calculation unit 111a shown in FIG. 5 outputs abs (Xij ⁇ Yij).
  • maxD is the maximum value of the difference value abs (Xij ⁇ Yij) in the block.
  • maxD it is necessary to obtain difference values for all the pixels in the block, but in order to omit this process, the maximum value of an adjacent block that has already been encoded may be substituted. If there is more than that value, normalization of maxD may be performed by clipping with the maximum value used. Alternatively, maxD may be obtained from the quantization parameter (Qp) using a table that defines the correspondence between the quantization parameter (Qp) and maxD. Alternatively, a fixed value defined in advance by specifications may be used as maxD.
  • the normalization unit 111b outputs abs (Xij ⁇ Yij) / maxD.
  • Scale (Qp) is a coefficient that is multiplied according to the quantization parameter (Qp). Scale (Qp) is designed to approach 1.0 when Qp is large and close to 0 when Qp is small, and the degree is adjusted by the system. Alternatively, a fixed value defined in advance by specifications may be used as Scale (Qp). Furthermore, in order to simplify the processing, Scale (QP) may be a fixed value designed according to the system such as 1.0.
  • Clip (x, max, min) indicates a process of clipping at max when x exceeds max, and at min when x is below min.
  • the weight Wij calculated in this way is a value in the range from 0 to 1.0. Basically, the weight Wij approaches 1.0 when the absolute value of the difference value of the pixel ij between the reference images is large (that is, the prediction accuracy is low), and the absolute value of the difference value of the pixel ij between the reference images. It approaches 0 when the value is small (that is, the prediction accuracy is high).
  • the evaluation unit 111 outputs map information including the weight Wij of each pixel ij in the block to the synthesis unit 105 in units of blocks.
  • the evaluation unit 111 performs evaluation (calculation of the weight Wij) only when motion compensated prediction using a plurality of reference images is applied, and performs other modes such as unidirectional prediction and intra prediction without using a plurality of reference images. In the processing, the evaluation is not performed and 1.0 is uniformly set as the weight Wij.
  • FIG. 6 is a diagram illustrating an example of the configuration of the synthesis unit 105 in the image encoding device 1.
  • the synthesis unit 105 includes a weighting unit (multiplication unit) 105a and an addition unit 105b.
  • the weighting unit 105a uses the map information (weight Wij) input from the evaluation unit 111 to weight the restored prediction residual input from the inverse transform unit 104b on a pixel basis, and the weighted restored prediction residual. The difference is output to the adding unit 105b.
  • the adding unit 105b adds the reconstructed image after weighting input from the weighting unit 105a to the predicted image input from the motion compensation prediction unit 109 via the switching unit 110 in units of pixels. Generate and output the generated reconstructed image.
  • Such processing of the synthesizing unit 105 can be expressed as, for example, the following equation (2).
  • Recij Dij ⁇ Wij + Pij (2)
  • Recij is the pixel value of the pixel ij in the reconstructed image
  • Dij is the pixel value of the pixel ij in the restored prediction residual
  • Wij is the weight of the pixel ij in the map information
  • Pij is the prediction This is the pixel value of the pixel ij in the image.
  • the synthesis unit 105 performs weighting processing only when motion compensated prediction using a plurality of reference images is applied, and does not perform weighting processing in other modes, for example, unidirectional prediction or intra prediction processing.
  • the evaluation unit 111 and the synthesis unit 105 in the image encoding device 1 have been described, but the evaluation unit 208 and the synthesis unit 202 in the image decoding device 2 are the same as the evaluation unit 111 and the synthesis unit 105 in the image encoding device 1. Composed. Specifically, the evaluation unit 208 in the image decoding device 2 includes a difference calculation unit 208a, a normalization unit 208b, and a weight adjustment unit 208c. The synthesizing unit 202 in the image decoding device 2 includes a weighting unit (multiplication unit) 202a and an addition unit 202b.
  • FIG. 7 is a diagram illustrating a processing flow in the image encoding device 1 according to the first embodiment.
  • step S1101 the motion compensation prediction unit 109 predicts a target image block by performing motion compensation prediction using a plurality of reference images, and generates a predicted image corresponding to the target image block.
  • the motion compensation prediction information is encoded as part of the encoded data by the entropy encoding unit 103, and the entropy encoding unit 103 outputs encoded data including the motion compensation prediction information.
  • step S1102 the evaluation unit 111 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels, or averages the prediction accuracy of the plurality of pixels. Evaluation is performed on an image-by-image basis, and map information including the weight of each pixel or partial image in the block is generated.
  • step S1103 the subtraction unit 101 calculates a prediction residual indicating a difference in pixel units between the target image block and the predicted image.
  • step S1104 the transform / quantization unit 102 generates a quantized transform coefficient by performing orthogonal transform and quantization on the prediction residual calculated by the subtracting unit 101.
  • step S1105 the entropy encoding unit 103 performs entropy encoding on the quantized transform coefficient and outputs encoded data.
  • step S1106 the inverse quantization / inverse transform unit 104 restores the prediction residual by performing inverse quantization and inverse orthogonal transform on the quantized transform coefficient, and generates a restored prediction residual.
  • step S1107 the synthesizing unit 105 controls the restored prediction residual to be synthesized with the predicted image on a pixel basis based on the evaluation result (map information) by the evaluation unit 111. Specifically, the synthesizing unit 105 performs the weighting process in units of pixels as described above on the restored prediction residual.
  • step S1108 the synthesizing unit 105 reconstructs the target image block by synthesizing the weighted restored prediction residual with the predicted image in units of pixels, and generates a reconstructed image.
  • step S1109 the loop filter 107 performs filter processing on the reconstructed image. Also, information regarding the loop filter (such as offset and category information to which the offset is applied) is encoded as part of the encoded data by the entropy encoding unit 103, and the entropy encoding unit 103 is a code including information regarding the loop filter. Output data.
  • information regarding the loop filter such as offset and category information to which the offset is applied
  • the entropy encoding unit 103 is a code including information regarding the loop filter.
  • step S1110 the frame memory 108 stores the reconstructed image after the filter processing in units of frames.
  • FIG. 8 is a diagram illustrating a processing flow in the image decoding device 2 according to the first embodiment.
  • step S1201 the entropy code decoding unit 200 decodes the encoded data and acquires information related to the quantized transform coefficient, motion vector information, and loop filter.
  • step S1202 the motion compensation prediction unit 206 predicts the target image block by performing motion compensation prediction using a plurality of reference images based on the motion vector information, and generates a predicted image corresponding to the target image block.
  • the evaluation unit 208 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels, and includes the weight of each pixel or partial image in the block. Generate map information.
  • step S1204 the inverse quantization / inverse transform unit 201 restores the prediction residual by performing inverse quantization and inverse orthogonal transform on the quantized transform coefficient, and generates a restored prediction residual.
  • step S1205 the synthesis unit 202 controls the restored prediction residual to be synthesized with the predicted image on a pixel basis, based on the evaluation result (map information) by the evaluation unit 208. Specifically, the synthesizing unit 202 performs the weighting process in units of pixels as described above on the restored prediction residual.
  • step S1206 the synthesizer 202 reconstructs the target image block by synthesizing the weighted restored prediction residual with the predicted image in units of pixels, and generates a reconstructed image.
  • step S1207 the loop filter 204 performs filter processing on the reconstructed image.
  • step S1208 the frame memory 205 stores and outputs the reconstructed image after the filter processing in units of frames.
  • the evaluation unit 111 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels. Then, based on the result of evaluation by the evaluation unit 111, the synthesis unit 105 controls the restored prediction residual to be synthesized with the predicted image in units of pixels.
  • the evaluation unit 208 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels. Then, the synthesis unit 202 controls the restored prediction residual to be synthesized with the predicted image on a pixel basis based on the result of the evaluation by the evaluation unit 208.
  • Second Embodiment> The difference between the image encoding device and the image decoding device according to the second embodiment and the first embodiment will be mainly described.
  • the prediction accuracy evaluation result is used in the signal synthesis process.
  • the prediction accuracy evaluation result is used in the filter process.
  • FIG. 9 is a diagram illustrating a configuration of the image encoding device 1 according to the second embodiment.
  • the evaluation unit 111 outputs an evaluation result (map information) to the loop filter 107.
  • the evaluation unit 111 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels, as in the first embodiment.
  • the loop filter 107 controls the filter strength in the filter processing in units of pixels based on the evaluation result by the evaluation unit 111.
  • the loop filter 107 performs a filter process (sample adaptive offset process) by adding the offset value controlled in pixel units to the reconstructed image input from the synthesizing unit 105 in pixel units, and performs re-processing after the filter process.
  • the constituent image is output to the frame memory 108.
  • FIG. 10 is a diagram illustrating a configuration of the image decoding device 2 according to the second embodiment.
  • the evaluation unit 208 outputs an evaluation result (map information) to the loop filter 204.
  • the evaluation unit 208 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels, as in the first embodiment.
  • the loop filter 204 controls the filter strength in the filter process in units of pixels based on the evaluation result by the evaluation unit 208. Then, the loop filter 204 performs filter processing (sample adaptive offset processing) by adding the offset value controlled in pixel units to the reconstructed image input from the synthesis unit 202 in pixel units, and performs re-processing after the filter processing.
  • the constituent image is output to the frame memory 205.
  • FIG. 11 is a diagram illustrating an example of the configuration of the loop filter 107 in the image encoding device 1.
  • the loop filter 107 includes a weighting unit (multiplication unit) 107a and an addition unit 107b.
  • the weighting unit 107a uses the map information (weight Wij) input from the evaluation unit 111 to weight the offset value that determines the filter strength in units of pixels.
  • the offset value that determines the filter strength the offset value used in the sample adaptive offset process (see Non-Patent Document 1) can be used.
  • the loop filter 107 categorizes each pixel according to the relative relationship between the pixels in the block and the adjacent pixels, and sets an offset value for improving the image quality for each category. calculate.
  • the weighting unit 107a weights the offset value used for the sample adaptive offset processing in units of pixels, and outputs the weighted offset value to the adding unit 107b.
  • the adding unit 107b performs a filtering process (sample adaptive offset process) by adding the weighted offset value input from the weighting unit 107a to the reconstructed image input from the synthesizing unit 105 in units of pixels.
  • the later reconstructed image is output.
  • Such processing of the loop filter 107 can be expressed as, for example, the following equation (3).
  • Recij ' Recij + dij ⁇ Wij (3)
  • Recij ′ is the pixel value of the pixel ij in the reconstructed image after the filter process
  • Recij is the pixel value of the pixel ij in the reconstructed image before the filter process
  • dij is assigned to the pixel ij The offset value to be used
  • Wij is the weight of the pixel ij in the map information.
  • the loop filter 107 performs weighting processing based on map information only when motion compensated prediction using a plurality of reference images is applied. In other modes, such as unidirectional prediction or intra prediction processing, No weighting process based on it.
  • the loop filter 204 in the image decoding device 2 is configured in the same manner as the loop filter 107 in the image encoding device 1.
  • the loop filter 204 in the image decoding device 2 includes a weighting unit (multiplication unit) 204a and an addition unit 204b.
  • FIG. 12 is a diagram illustrating a processing flow in the image encoding device 1 according to the second embodiment.
  • step S2101 the motion compensation prediction unit 109 predicts a target image block by performing motion compensation prediction using a plurality of reference images, and generates a predicted image corresponding to the target image block.
  • the motion compensation prediction information is encoded as part of the encoded data by the entropy encoding unit 103, and the entropy encoding unit 103 generates and outputs encoded data including the motion compensation prediction information.
  • step S2102 the evaluation unit 111 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels, and obtains map information including the weights of the pixels in the block. Generate.
  • step S2103 the subtraction unit 101 calculates a prediction residual indicating a difference in pixel units between the target image block and the predicted image.
  • step S2104 the transform / quantization unit 102 generates a quantized transform coefficient by performing orthogonal transform and quantization on the prediction residual calculated by the subtracting unit 101.
  • step S2105 the entropy encoding unit 103 performs entropy encoding on the quantized transform coefficient and outputs encoded data.
  • step S2106 the inverse quantization / inverse transform unit 104 restores the prediction residual by performing inverse quantization and inverse orthogonal transform on the quantized transform coefficient, and generates a restored prediction residual.
  • step S2107 the synthesizing unit 105 reconstructs the target image block by synthesizing the restored prediction residual with the predicted image in units of pixels, and generates a reconstructed image.
  • the loop filter 107 controls the filter strength in the filter process in units of pixels based on the evaluation result (map information) by the evaluation unit 111. Specifically, as described above, the loop filter 107 weights the offset value that determines the filter strength in units of pixels. Also, information regarding the loop filter (such as offset and category information that provides the offset) is encoded as part of the encoded data by the entropy encoding unit 103, and the entropy encoding unit 103 is a code including information regarding the loop filter. Output data.
  • step S2109 the loop filter 107 performs filter processing (sample adaptive offset processing) by adding the weighted offset value to the reconstructed image in units of pixels, and outputs the reconstructed image after the filter processing.
  • filter processing sample adaptive offset processing
  • step S2110 the frame memory 108 stores the reconstructed image after the filter processing in units of frames.
  • FIG. 13 is a diagram illustrating a processing flow in the image decoding device 2 according to the second embodiment.
  • step S2201 the entropy code decoding unit 200 decodes the encoded data and acquires information related to the quantized transform coefficient, motion vector information, and loop filter.
  • step S2202 the motion compensation prediction unit 206 predicts the target image block by performing motion compensation prediction using a plurality of reference images based on the motion vector information, and generates a prediction image corresponding to the target image block.
  • step S2203 the evaluation unit 208 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels, and obtains map information including the weight of each pixel in the block. Generate.
  • step S2204 the inverse quantization / inverse transform unit 201 restores the prediction residual by performing inverse quantization and inverse orthogonal transform on the quantized transform coefficient, and generates a restored prediction residual.
  • step S2205 the synthesizing unit 202 reconstructs the target image block by synthesizing the restored prediction residual with the predicted image in units of pixels, and generates a reconstructed image.
  • step S2206 the loop filter 204 controls the filter strength in the filter process in units of pixels based on the evaluation result (map information) by the evaluation unit 208. Specifically, as described above, the loop filter 204 weights the offset value that determines the filter strength in units of pixels.
  • step S2207 the loop filter 204 performs filter processing (sample adaptive offset processing) by adding the weighted offset value to the reconstructed image in units of pixels, and outputs the reconstructed image after the filter processing.
  • filter processing sample adaptive offset processing
  • step S2208 the frame memory 205 stores and outputs the reconstructed image after the filtering process in units of frames.
  • the evaluation unit 111 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels. Then, the loop filter 107 controls the filter strength in the filter process in units of pixels based on the evaluation result by the evaluation unit 111.
  • the evaluation unit 208 evaluates the prediction accuracy of the predicted image in units of pixels by calculating the similarity between the plurality of reference images in units of pixels. Then, the loop filter 204 controls the filter strength in the filter processing in units of pixels based on the evaluation result by the evaluation unit 208.
  • the target image block is divided into N sub-blocks (N: an integer equal to or greater than 2).
  • N an integer equal to or greater than 2.
  • each sub-block is composed of m ⁇ n pixels, and at least one of m and n is an integer of 2 or more.
  • the evaluation unit 111 calculates the average value Wk of the weight Wij for each kth sub-block (however, 0 ⁇ k ⁇ N) .
  • the evaluation unit 111 outputs the weighted average value Wk calculated for each sub-block to the synthesis unit 105.
  • the combining unit 105 controls the restored prediction residual to be combined with the predicted image for each sub-block using the weighted average value Wk.
  • the synthesizing unit 105 uses the weighted average value Wk input from the evaluation unit 111 to weight the restored prediction residual input from the inverse transform unit 104b in units of subblocks, and after weighting
  • the reconstructed image is generated by adding the reconstructed prediction residual to the predicted image in units of pixels.
  • the image decoding device 2 performs similar processing.
  • the evaluation unit 111 outputs the weighted average value Wk calculated for each sub-block to the loop filter 107.
  • the loop filter 107 controls the filter strength in the filter processing for each sub-block using the weighted average value Wk. Specifically, the loop filter 107 weights the offset value used for the sample adaptive offset processing in units of sub-blocks, and adds the weighted offset value to the reconstructed image in units of pixels to perform filter processing (sample Adaptive offset processing).
  • the image decoding device 2 performs similar processing.
  • FIG. 16 is a diagram illustrating a configuration of the image encoding device 1 according to the third embodiment.
  • the image encoding device 1 includes a block division unit 100, a subtraction unit 101, a conversion unit 102a, a quantization unit 102b, an entropy encoding unit 103, an inverse quantization unit 104a, An inverse transform unit 104b, a synthesis unit 105, an intra prediction unit 106, a loop filter 107, a frame memory 108, a motion compensation prediction unit 109, a switching unit 110, and an evaluation unit 111 are provided.
  • the block dividing unit 100 divides an input image in units of frames (or pictures) into block-like small regions, and outputs the image blocks to the subtracting unit 101 (and the motion compensation prediction unit 109).
  • the size of the image block is, for example, 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, or 4 ⁇ 4 pixels.
  • An image block is a unit in which the image encoding device 1 performs encoding and a unit in which the image decoding device 2 performs decoding. Such an image block is referred to as a target image block.
  • the subtracting unit 101 calculates a prediction residual indicating a difference in pixel units between the target image block input from the block dividing unit 100 and a predicted image (predicted image block) corresponding to the target image block. Specifically, the subtraction unit 101 calculates a prediction residual by subtracting each pixel value of the predicted image from each pixel value of the encoding target block, and outputs the calculated prediction residual to the conversion unit 102a. Note that the predicted image is input to the subtraction unit 101 from the intra prediction unit 106 or the motion compensation prediction unit 109 described later via the switching unit 110.
  • the transform unit 102a and the quantization unit 102b constitute a transform / quantization unit 102 that performs orthogonal transform processing and quantization processing in units of blocks.
  • the transform unit 102a performs orthogonal transform on the prediction residual input from the subtraction unit 101, calculates transform coefficients for each frequency component, and outputs the calculated transform coefficients to the quantization unit 102b.
  • the orthogonal transform refers to, for example, discrete cosine transform (DCT), discrete sine transform (DST), Karhunen-Loeve Transform (KLT), and the like.
  • the orthogonal transform is a process for transforming the residual signal in the pixel area into the frequency domain.
  • the quantization unit 102b quantizes the transform coefficient input from the transform unit 102a using a quantization parameter (Qp) and a quantization matrix, and generates a quantized transform coefficient (quantized transform coefficient).
  • the quantization parameter (Qp) is a parameter that is commonly applied to each transform coefficient in the block, and is a parameter that determines the roughness of quantization.
  • the quantization matrix is a matrix having a quantization value at the time of quantizing each transform coefficient as an element.
  • the quantization unit 102b outputs the quantization control information, the generated quantization transform coefficient information, and the like to the entropy encoding unit 103 and the inverse quantization unit 104a.
  • the entropy encoding unit 103 performs entropy encoding on the quantized transform coefficient input from the quantization unit 102b, performs data compression to generate encoded data (bit stream), and converts the encoded data into an image code Output to the outside of the converter 1.
  • Entropy coding includes a process called serialization that reads transform coefficients arranged in two dimensions in a predetermined scan order and transforms them into a one-dimensional transform coefficient sequence.
  • the last significant coefficient (non-zero coefficient) in the predetermined scan order is set as the end position, and the transform coefficients up to this end position are efficiently encoded.
  • the entropy encoding unit 103 receives information related to prediction from the intra prediction unit 106 and the motion compensation prediction unit 109, and receives information related to filter processing from the loop filter 107.
  • the entropy encoding unit 103 also performs entropy encoding of these pieces of information.
  • the inverse quantization unit 104a and the inverse transform unit 104b constitute an inverse quantization / inverse transform unit 104 that performs an inverse quantization process and an inverse orthogonal transform process in units of blocks.
  • the inverse quantization unit 104a performs an inverse quantization process corresponding to the quantization process performed by the quantization unit 102b. Specifically, the inverse quantization unit 104a restores the transform coefficient by inversely quantizing the quantized transform coefficient input from the quantization unit 102b using the quantization parameter (Qp) and the quantization matrix. Then, the restored transform coefficient is output to the inverse transform unit 104b.
  • Qp quantization parameter
  • the inverse transform unit 104b performs an inverse orthogonal transform process corresponding to the orthogonal transform process performed by the transform unit 102a. For example, when the transform unit 102a performs discrete cosine transform, the inverse transform unit 104b performs inverse discrete cosine transform. The inverse transform unit 104 b performs inverse orthogonal transform on the transform coefficient input from the inverse quantization unit 104 a to restore the prediction residual, and outputs the restored prediction residual that is the restored prediction residual to the synthesis unit 105. To do.
  • the synthesizing unit 105 synthesizes the restored prediction residual input from the inverse transform unit 104b with the predicted image input from the switching unit 110 in units of pixels.
  • the synthesizing unit 105 adds each pixel value of the restored prediction residual and each pixel value of the predicted image to reconstruct the target image block, and reconstructs the reconstructed image that is the reconstructed target image block into the intra prediction unit 106 and the loop. Output to the filter 107.
  • the intra prediction unit 106 performs intra prediction using the reconstructed image input from the synthesis unit 105 to generate an intra prediction image, and outputs the intra prediction image to the switching unit 110. Also, the intra prediction unit 106 outputs information on the selected intra prediction mode and the like to the entropy encoding unit 103.
  • the loop filter 107 performs filter processing as post-processing on the reconstructed image input from the synthesis unit 105 and outputs the reconstructed image after the filter processing to the frame memory 108. Further, the loop filter 107 outputs information related to the filter process to the entropy encoding unit 103.
  • the filtering process includes a deblocking filtering process and a sample adaptive offset process.
  • the frame memory 108 stores the reconstructed image input from the loop filter 107 in units of frames.
  • the motion compensation prediction unit 109 performs inter prediction using one or a plurality of reconstructed images stored in the frame memory 108 as reference images. Specifically, the motion compensation prediction unit 109 calculates a motion vector by a technique such as block matching, generates a motion compensation prediction image based on the motion vector, and outputs the motion compensation prediction image to the switching unit 110. In addition, the motion compensation prediction unit 109 outputs information on the motion vector to the entropy encoding unit 103.
  • the switching unit 110 switches between the intra prediction image input from the intra prediction unit 106 and the motion compensation prediction image input from the motion compensation prediction unit 109, and subtracts the prediction image (intra prediction image or motion compensation prediction image). Output to the unit 101 and the combining unit 105.
  • the evaluation unit 111 evaluates the similarity between the plurality of reference images for each frequency component, and entropy-encodes the evaluation result information. Output to the unit 103.
  • intra prediction for example, intra block copy mode
  • the evaluation unit 111 uses the plurality of reference images.
  • the similarity between a plurality of reference images is evaluated for each frequency component, and the evaluation result is output to the entropy encoding unit 103.
  • the entropy encoding unit 103 rearranges and encodes the transform coefficients input from the quantization unit 102b based on the evaluation result by the evaluation unit 111. Details of the evaluation unit 111 and the entropy encoding unit 103 will be described later.
  • FIG. 17 is a diagram illustrating a configuration of the image decoding device 2 according to the third embodiment.
  • the image decoding apparatus 2 includes an entropy code decoding unit 200, an inverse quantization unit 201a, an inverse transform unit 201b, a synthesis unit 202, an intra prediction unit 203, a loop filter 204, a frame A memory 205, a motion compensation prediction unit 206, a switching unit 207, and an evaluation unit 208 are provided.
  • the entropy code decoding unit 200 decodes the encoded data generated by the encoding device 1 and outputs the quantized transform coefficient to the inverse quantization unit 201a. In addition, the entropy code decoding unit 200 decodes encoded data, acquires information related to prediction (intra prediction and motion compensation prediction) and information related to filter processing, and stores information related to prediction to the intra prediction unit 203 and the motion compensated prediction unit. The information about the filter processing is output to the loop filter 204.
  • the inverse quantization unit 201a and the inverse transform unit 201b constitute an inverse quantization / inverse transform unit 201 that performs an inverse quantization process and an inverse orthogonal transform process in units of blocks.
  • the inverse quantization unit 201a performs an inverse quantization process corresponding to the quantization process performed by the quantization unit 102b of the image encoding device 1.
  • the inverse quantization unit 201a restores and restores the transform coefficient by inversely quantizing the quantized transform coefficient input from the entropy code decoding unit 200 using the quantization parameter (Qp) and the quantization matrix.
  • the transform coefficient is output to the inverse transform unit 201b.
  • the inverse transform unit 201b performs an inverse orthogonal transform process corresponding to the orthogonal transform process performed by the transform unit 102a of the image encoding device 1.
  • the inverse transform unit 201b performs inverse orthogonal transform on the transform coefficient input from the inverse quantization unit 201a to restore the prediction residual, and outputs the restored prediction residual that is the restored prediction residual to the synthesis unit 202 To do.
  • the synthesizing unit 202 reconstructs the original target image block by synthesizing the prediction residual input from the inverse transform unit 201b and the predicted image input from the switching unit 207 in units of pixels, and reconstructed image Is output to the intra prediction unit 203 and the loop filter 204.
  • the intra prediction unit 203 refers to the reconstructed block image input from the synthesis unit 202, generates an intra prediction image by performing intra prediction according to the intra prediction information input from the entropy code decoding unit 200, and generates an intra prediction image. Is output to the switching unit 207.
  • the loop filter 204 is similar to the filter processing performed by the loop filter 107 of the image encoding device 1 on the reconstructed image input from the synthesis unit 202 based on the filter processing information input from the entropy code decoding unit 200. Filter processing is performed, and the reconstructed image after the filter processing is output to the frame memory 205.
  • the frame memory 205 stores the reconstructed image input from the loop filter 204 in units of frames.
  • the frame memory 205 outputs the stored reconstructed image to the outside of the image decoding apparatus 2 in the display order in the same manner as the processing of the entropy encoding unit 103.
  • the motion compensation prediction unit 206 performs motion compensation prediction (inter prediction) according to the motion vector information input from the entropy code decoding unit 200, using one or a plurality of reconstructed images stored in the frame memory 205 as reference images. As a result, a motion compensated predicted image is generated, and the motion compensated predicted image is output to the switching unit 207.
  • inter prediction motion compensation prediction
  • the switching unit 207 switches between the intra prediction image input from the intra prediction unit 203 and the motion compensated prediction image input from the motion compensation prediction unit 206, and synthesizes a prediction image (intra prediction image or motion compensation prediction image). To the unit 202.
  • the evaluation unit 208 performs the same operation as the evaluation unit 111 of the image encoding device 1. Specifically, when the motion compensation prediction unit 206 performs motion compensation prediction using a plurality of reference images, the evaluation unit 208 evaluates the similarity between the plurality of reference images for each frequency component, and the evaluation result Information is output to the entropy code decoding unit 200.
  • the entropy code decoding unit 200 decodes the encoded data, acquires transform coefficients for each frequency component, rearranges the transform coefficients based on the evaluation result by the evaluation unit 208, and outputs the rearranged coefficients. Details of the evaluation unit 208 and the entropy code decoding unit 200 will be described later.
  • FIG. 3 is a diagram illustrating an example of motion compensation prediction.
  • FIG. 4 is a diagram illustrating an example of a predicted image generated by motion compensation prediction.
  • bi-prediction used in HEVC, particularly forward and backward prediction (bidirectional prediction) is used will be described.
  • the motion compensation prediction refers to the previous and subsequent frames in time with respect to the target frame (current frame).
  • the motion compensation prediction of the block in the image of the t frame is performed with reference to the t ⁇ 1 frame and the t + 1 frame.
  • a portion (block) similar to the target image block is detected from the reference range set in the system from the reference frames of the t ⁇ 1 and t + 1 frames.
  • Detected location is a reference image.
  • Information indicating the relative position of the reference image with respect to the target image block is an arrow shown in the figure, which is called a motion vector.
  • the motion vector information is encoded by entropy encoding together with the frame information of the reference image in the image encoding device 1.
  • the image decoding device 2 detects a reference image based on the motion vector information generated by the image encoding device 1.
  • the reference images 1 and 2 detected by motion compensation are similar partial images that are aligned in the reference frame with respect to the target image block.
  • the image is similar to the encoding target image.
  • the target image block includes a star pattern and a partial circle pattern.
  • the reference image 1 includes a star pattern and an overall circle pattern.
  • the reference image 2 includes a star pattern, but does not include a circle pattern.
  • a prediction image is generated from the reference images 1 and 2.
  • the prediction process averages partially similar reference images 1 and 2 that have different features, but generates an image with higher prediction accuracy having the features of each reference image. I can do it.
  • a predicted image may be generated by using more advanced processing, for example, signal enhancement processing using a low-pass filter, a high-pass filter, or the like.
  • the reference image 1 shown in the figure includes a circular pattern and the reference image 2 does not include a circular pattern, when the reference images 1 and 2 are averaged to generate a predicted image, the reference image 2 cannot be predicted. Can be reflected in the prediction.
  • the signal of the circle pattern in the predicted image is halved compared to the reference image 1.
  • the difference between the prediction image obtained from the reference images 1 and 2 and the target image block (encoding target image) is the prediction residual.
  • the prediction residual shown in FIG. 4 a large difference occurs only in the edge shift portion of the star pattern and the shift portion (shaded portion) of the circle pattern, but the other portions are predicted accurately.
  • the difference is reduced (the difference is not generated in the example of FIG. 4).
  • the part where the difference does not occur is a part where the similarity between the reference image 1 and the reference image 2 is high, and the part where the high-precision prediction is performed. is there.
  • a portion where a large difference is generated is a portion specific to each reference image, that is, a portion where the similarity between the reference image 1 and the reference image 2 is extremely low. Therefore, it can be seen that the portion where the similarity between the reference image 1 and the reference image 2 is extremely low has low reliability of prediction and is likely to cause a large difference (residual).
  • the evaluation unit 111 evaluates the similarity between a plurality of reference images for each frequency component, and outputs evaluation result information to the entropy encoding unit 103.
  • the entropy encoding unit 103 rearranges and encodes the transform coefficients input from the quantization unit 102b based on the evaluation result by the evaluation unit 111.
  • frequency components with low similarity between a plurality of reference images can be regarded as having large power.
  • a frequency component having a high degree of similarity between a plurality of reference images can be considered that the power is close to zero. Therefore, according to the rearrangement order of the transform coefficients determined by the evaluation unit 111, the entropy coding unit 103 rearranges the transform coefficients of frequency components with low similarity so as to concentrate (consolidate) the transform coefficients. Can be encoded automatically.
  • FIG. 18 is a diagram illustrating an example of the configuration of the evaluation unit 111 in the image encoding device 1.
  • the evaluation unit 111 includes a first conversion unit 111a, a second conversion unit 111b, a similarity calculation unit 111c, and a normalization unit 111d.
  • the present invention aims to determine the coding order of coefficients based on the degree of similarity, and thus the evaluation unit 111 is not necessarily the normalization unit. 111d may not be provided.
  • the first transform unit 111a calculates the first transform coefficient for each frequency component by performing orthogonal transform on the reference image 1 (first reference image) input from the motion compensation prediction unit 109, and calculates the calculated first transform coefficient.
  • One conversion coefficient is output to the similarity calculation unit 111c.
  • the second transform unit 111b performs orthogonal transform on the reference image 2 (second reference image) input from the motion compensation prediction unit 109, thereby calculating a second transform coefficient for each frequency component, and calculating the calculated second transform coefficient. 2 conversion coefficients are output to the similarity calculation unit 111c.
  • the similarity calculation unit 111c calculates, for each frequency component, the similarity between the first conversion coefficient input from the first conversion unit 111a and the second conversion coefficient input from the second conversion unit 111b, and the calculated similarity Is output to the normalization unit 111d.
  • the similarity for example, the absolute value of the difference value can be used. It can be said that the smaller the absolute value of the difference value is, the higher the similarity is, and the larger the absolute value of the difference value is, the lower the similarity is.
  • the similarity calculation unit 111c may calculate a difference value after performing a filtering process on each reference image.
  • the similarity calculation unit 111c may calculate a statistic such as a square error and use the statistic as the similarity. In the following, an example in which the absolute value of the difference value is used as the similarity will be described.
  • the normalization unit 111d uses the absolute value of the difference value between the transform coefficients input from the similarity calculation unit 111c as the magnitude of the frequency component that maximizes the absolute value of the difference value within the block (that is, the difference within the block). Normalized by the absolute maximum value) and output.
  • the normalized difference value is used as the importance for determining the coding order of the transform coefficients in the entropy coding unit 103. The smaller the absolute value between transform coefficients, the higher the degree of similarity and the higher the prediction accuracy. Therefore, the importance of encoding the transform coefficient of the prediction error signal is low.
  • the entropy encoding unit 103 preferentially encodes the transform coefficient of the frequency component having high importance.
  • the normalization unit 111d receives an input from the normalization unit 111d based on at least one of a quantization parameter (Qp) that determines the roughness of quantization and a quantization matrix to which a different quantization value is applied for each transform coefficient.
  • Qp quantization parameter
  • the normalized normalized difference value (importance) may be adjusted, and the adjusted importance may be output. Since the degree of degradation of the restoration prediction residual is higher as the quantization roughness is larger, the degree of degradation is considered by adjusting the normalized difference value based on the quantization parameter (Qp) or the quantization value of the quantization matrix. And the importance can be set.
  • the importance Rij of each frequency component (ij) output by the evaluation unit 111 can be expressed as, for example, the following equation (4).
  • Rij (abs (Xij-Yij) / maxD x Scale (Qp)) (4)
  • Xij is a conversion coefficient of the frequency component ij of the reference image 1
  • Yij is a conversion coefficient of the frequency component ij of the reference image 2
  • abs is a function for obtaining an absolute value.
  • the similarity calculation unit 111c outputs abs (Xij ⁇ Yij).
  • maxD is the maximum value of the difference value abs (Xij ⁇ Yij) in the block.
  • maxD it is necessary to obtain a difference value between transform coefficients for all frequency components in the block.
  • the maximum value of an adjacent block that has already been encoded is substituted. For example, if there is more than that value, normalization of maxD may be performed by clipping with the maximum value used.
  • maxD can be obtained from the quantization parameter (Qp) or the quantization value of the quantization matrix using a table that defines the correspondence between the quantization parameter (Qp) or the quantization value of the quantization matrix and maxD. Good.
  • a fixed value defined in advance by specifications may be used as maxD.
  • the normalization unit 111d outputs abs (Xij ⁇ Yij) / maxD.
  • Scale (Qp) is a coefficient that is multiplied according to the quantization parameter (Qp) or the quantization value of the quantization matrix.
  • Scale (Qp) is designed to approach 1.0 when the quantization value of Qp or the quantization matrix is large, and to approach 0 when the quantization value is small, and the degree thereof is adjusted by the system.
  • a fixed value defined in advance by specifications may be used as Scale (Qp).
  • Scale (QP) may be a fixed value designed according to the system such as 1.0.
  • the normalization unit 111d outputs abs (Xij ⁇ Yij) / maxD ⁇ Scale (Qp) as the importance Rij.
  • Clip (x, max, min) indicates a process of clipping at max when x exceeds max, and at min when x is below min.
  • the importance Rij calculated in this way is a value in the range from 0 to 1.0. Basically, the importance Rij approaches 1.0 when the difference value between the transform coefficients of the frequency component ij is large (that is, the prediction accuracy is low), and is 0 when the difference value is small (that is, the prediction accuracy is high). Get closer to.
  • the evaluation unit 111 outputs map information including the importance Rij of each frequency component ij in the block (hereinafter referred to as “importance map”) to the entropy encoding unit 103.
  • the evaluation unit 111 performs evaluation (calculation of importance Rij) only when motion compensated prediction using a plurality of reference images is applied, and does not use other modes, such as unidirectional prediction or a plurality of reference images. In the intra prediction process, evaluation (calculation of importance Rij) is not performed, or 1.0 is uniformly set as importance Rij.
  • the evaluation unit 208 in the image decoding device 2 is configured in the same manner as the evaluation unit 111 in the image encoding device 1. Specifically, the evaluation unit 208 in the image decoding device 2 includes a first conversion unit 208a, a second conversion unit 208b, a similarity calculation unit 208c, and a normalization unit 208d. The evaluation unit 208 in the image decoding device 2 outputs an importance map composed of the importance Rij of each frequency component ij in the block to the entropy code decoding unit 200.
  • FIG. 19 is a diagram illustrating an example of the configuration of the entropy encoding unit 103.
  • the entropy encoding unit 103 includes a sorting unit 103a, a serialization unit 103b, and an encoding unit 103c.
  • the sort unit 103a and the serialization unit 103b constitute a rearrangement unit.
  • the sorting unit 103a sorts the importance Rij in the importance map input from the evaluation unit 111 in descending order. Since the importance level Rij is two-dimensionally arranged in the importance level map, the sorting unit 103a serializes the importance level map in a predetermined scan order, for example, to obtain the importance level column R [i], and stores the index label i. To do. Then, the sorting unit 103a rearranges the index labels i in descending order of importance Rij in the importance sequence R [i], and outputs the index labels i rearranged in order of importance to the serialization unit 103b.
  • the serialization unit 103b performs serialization processing that reads the transform coefficients input from the quantization unit 102b in a predetermined scan order and outputs the transform coefficient sequence to the encoding unit 103c. Since the transform coefficients input from the quantization unit 102b are two-dimensionally arranged, the serialization unit 103b, for example, serializes the two-dimensionally arranged transform coefficients in a predetermined scan order, thereby converting the transform coefficient sequence C [i]. And Here, the same scan order is used in the serialization unit 103b and the sorting unit 103a.
  • the serialization unit 103b rearranges and outputs the transform coefficients in the transform coefficient sequence C [i] in descending order of importance based on the index label i input from the sorting unit 103a. That is, the serialization unit 103b performs serialization processing based on the result of the evaluation by the evaluation unit 111 so that the transform coefficients are included in the transform coefficient sequence in order from the frequency component having the low similarity between the transform coefficients. Thereby, significant coefficients (non-zero coefficients) can be collected.
  • the serialization unit 103b determines the scan order so that the transform coefficients are scanned in descending order of importance, and performs a scan in the determined scan order, thereby outputting a transform coefficient sequence in which the transform coefficients are arranged in descending order of importance. May be.
  • the encoding unit 103c encodes the transform coefficient in the transform coefficient sequence input from the serialization unit 103b and outputs encoded data.
  • the encoding unit 103c encodes the transform coefficients up to the end position using the last significant coefficient of the transform coefficient sequence input from the serialization unit 103b as the end position. By collecting significant coefficients as described above, the number of transform coefficients up to the end position can be reduced, and the length of the transform coefficient sequence to be encoded can be shortened.
  • the entropy encoding unit 103 performs rearrangement processing based on importance only when motion compensated prediction using a plurality of reference images is applied, and is important in other modes such as unidirectional prediction and intra prediction processing. It is not necessary to perform the sorting process according to the degree.
  • FIG. 20 is a diagram illustrating an example of the configuration of the entropy code decoding unit 200.
  • the entropy code decoding unit 200 includes a decoding unit 200a, a sorting unit 200b, and a deserialization unit 200c.
  • the sort unit 200b and the deserialization unit 200c constitute a rearrangement unit.
  • the decoding unit 200a decodes the encoded data generated by the image encoding device 1, acquires a transform coefficient sequence (quantized transform coefficient) and information related to prediction (intra prediction and motion compensation prediction), The transform coefficient sequence is output to the deserialization unit 200c, and information related to prediction is output to the intra prediction unit 203 and the motion compensation prediction unit 206.
  • the sorting unit 200b sorts the importance Rij in the importance map input from the evaluation unit 208 in descending order. Since the importance level Rij is two-dimensionally arranged in the importance level map, the sorting unit 200b serializes the importance level map in a predetermined scan order, for example, to obtain the importance level column R [i], and stores the index label i. To do. Then, the sorting unit 200b rearranges the index labels i in descending order of importance Rij in the importance sequence R [i], the index label i rearranged in order of importance, and the coordinate value (frequency) corresponding to the index label i. The component ij) is output to the deserialization unit 200c.
  • the deserialization unit 200c deserializes the transform coefficient sequence input from the decoding unit 200a based on the index label i and the coordinate value (frequency component ij) input from the sort unit 200b, and is arranged in two dimensions
  • the transform coefficient is output to the inverse quantization unit 201a.
  • the entropy code decoding unit 200 performs the reordering process based on the importance only when motion compensated prediction using a plurality of reference images is applied, and is important in other modes such as unidirectional prediction and intra prediction processing. It is not necessary to perform the sorting process according to the degree.
  • FIG. 21 is a diagram illustrating a processing flow in the image encoding device 1 according to the third embodiment.
  • operations related to the present invention will be mainly described, and descriptions of operations having a low degree of relationship with the present invention will be omitted.
  • step S3101 the motion compensation prediction unit 109 predicts a target image block by performing motion compensation prediction using a plurality of reference images, and generates a predicted image corresponding to the target image block.
  • step S3102 the evaluation unit 111 evaluates the similarity between a plurality of reference images for each frequency component, and generates an importance map indicating the importance of each frequency component in the block.
  • step S3103 the subtraction unit 101 calculates a prediction residual indicating a difference in pixel units between the target image block and the predicted image.
  • step S3104 the transform / quantization unit 102 generates a quantized transform coefficient by performing orthogonal transform and quantization on the prediction residual calculated by the subtraction unit 101.
  • step S3105 the entropy encoding unit 103 uses the transform coefficient input from the transform / quantization unit 102 (quantization unit 102b) based on the evaluation result (importance map) by the evaluation unit 111 with high importance.
  • the data are rearranged in the order (that is, the order of low similarity between transform coefficients) and output.
  • step S3106 the entropy encoding unit 103 encodes the transform coefficients rearranged in order of importance by entropy encoding, and outputs encoded data.
  • step S ⁇ b> 3107 the inverse quantization / inverse transformation unit 104 performs prediction quantization residual by performing inverse quantization and inverse orthogonal transformation on the transform coefficient input from the transformation / quantization unit 102 (quantization unit 102 b). Restore and generate a restored prediction residual.
  • step S3108 the synthesizing unit 105 reconstructs the target image block by synthesizing the restored prediction residual with the predicted image in units of pixels, and generates a reconstructed image.
  • step S3109 the loop filter 107 performs filter processing on the reconstructed image.
  • step S3110 the frame memory 108 stores the reconstructed image after the filter processing in units of frames.
  • FIG. 22 is a diagram illustrating a processing flow in the image decoding device 2 according to the third embodiment.
  • operations related to the present invention will be mainly described, and descriptions of operations having a low degree of relationship with the present invention will be omitted.
  • step S3201 the entropy code decoding unit 200 acquires motion vector information by decoding encoded data, and outputs the acquired motion vector information to the motion compensation prediction unit 206.
  • step S3202 the motion compensation prediction unit 206 predicts the target image block by performing motion compensation prediction using a plurality of reference images based on the motion vector information, and generates a prediction image corresponding to the target image block.
  • step S3203 the evaluation unit 208 calculates the similarity between a plurality of reference images for each frequency component, and generates an importance map indicating the importance of each frequency component in the block.
  • step S3204 the entropy code decoding unit 200 decodes the encoded data to acquire a transform coefficient sequence, rearranges the acquired transform coefficient sequence, and performs inverse quantization and inverse transform on the transform coefficients arranged in two dimensions. Output to the unit 201.
  • step S3205 the inverse quantization / inverse transform unit 201 restores the prediction residual by performing inverse quantization and inverse orthogonal transform on the transform coefficient (quantized transform coefficient), and obtains the restored prediction residual. Generate.
  • step S3206 the synthesizing unit 202 reconstructs the target image block by synthesizing the restored prediction residual with the predicted image in units of pixels, and generates a reconstructed image.
  • step S3207 the loop filter 204 performs filter processing on the reconstructed image.
  • step S3208 the frame memory 205 stores and outputs the reconstructed image after the filter processing in units of frames.
  • the evaluation unit 111 evaluates the similarity between a plurality of reference images for each frequency component, and outputs evaluation result information to the entropy encoding unit 103.
  • the entropy encoding unit 103 rearranges and encodes the transform coefficients input from the quantization unit 102b based on the evaluation result by the evaluation unit 111. By rearranging and encoding so that the conversion coefficients of frequency components with low similarity are concentrated (combined), it is possible to efficiently encode the conversion coefficients and perform efficient entropy encoding. Efficiency can be improved.
  • the evaluation unit 208 evaluates the similarity between a plurality of reference images for each frequency component, and outputs evaluation result information to the entropy code decoding unit 200.
  • the entropy code decoding unit 200 decodes the encoded data, acquires transform coefficients for each frequency component, rearranges the transform coefficients based on the evaluation result by the evaluation unit 208, and outputs the rearranged coefficients. In this manner, by rearranging the transform coefficients based on the evaluation result by the evaluation unit 208, the entropy code decoding unit 200 is autonomous even if information specifying the details of the rearrangement is not transmitted from the image decoding device 1.
  • the conversion coefficients can be rearranged. Therefore, it is not necessary to transmit information specifying the details of the rearrangement from the image decoding apparatus 1, and a decrease in encoding efficiency can be avoided.
  • FIG. 23 is a diagram illustrating a modification example of the configuration of the evaluation unit 111 in the image encoding device 1.
  • the evaluation unit 111A according to this modification includes a similarity calculation unit 111c, a conversion unit 111e, and a normalization unit 111d.
  • the evaluation unit 111 does not necessarily include the normalization unit 111d.
  • the similarity calculation unit 111c calculates the similarity between the reference image 1 (first reference image) and the reference image 2 (second reference image) input from the motion compensation prediction unit 109 in units of pixels, and calculates in units of pixels.
  • the similarity is output to the conversion unit 111e.
  • the similarity for example, the absolute value of the difference value can be used. It can be said that the smaller the absolute value, the higher the similarity, and the larger the absolute value, the lower the similarity.
  • the similarity calculation unit 111c may calculate a difference value after performing a filtering process on each reference image.
  • the similarity calculation unit 111c may calculate a statistic such as a square error and use the statistic as the similarity. In the following, an example in which the absolute value of the difference value is used as the similarity will be described.
  • the similarity calculation unit 111c calculates a similarity for each frequency component by performing orthogonal transformation on the similarity (difference value) in units of pixels input from the similarity calculation unit 111c.
  • the normalization unit 111d uses the frequency component difference value (transform coefficient) input from the similarity calculation unit 111c as the difference value of the frequency component having the maximum difference value in the block (that is, the difference value in the block). Normalize (maximum absolute value) and output.
  • the normalization unit 111d receives an input from the normalization unit 111d based on at least one of a quantization parameter (Qp) that determines the roughness of quantization and a quantization matrix to which a different quantization value is applied for each transform coefficient.
  • Qp quantization parameter
  • the normalized normalized difference value (importance) may be adjusted and output.
  • Rij abs (Dij) / maxD ⁇ Scale (Qp) (5)
  • Dij is a conversion coefficient of the frequency component ij
  • abs is a function for obtaining an absolute value.
  • the conversion unit 111e outputs abs (Dij).
  • maxD is the maximum value of the transform coefficient in the block. In order to obtain maxD, it is necessary to obtain transform coefficients for all frequency components in the block, but in order to omit this process, the maximum value of an adjacent block that has already been subjected to encoding processing may be substituted.
  • maxD can be obtained from the quantization parameter (Qp) or the quantization value of the quantization matrix using a table that defines the correspondence between the quantization parameter (Qp) or the quantization value of the quantization matrix and maxD. Good.
  • a fixed value defined in advance by specifications may be used as maxD.
  • the normalization unit 111d outputs abs (Dij) / maxD.
  • Scale (Qp) is the same as that in the third embodiment described above.
  • the evaluation unit 111A generates an importance map including the importance Rij of each frequency component ij in the block, and outputs the generated importance map to the entropy encoding unit 103.
  • the evaluation unit 111A according to the modified example since the number of orthogonal transform units can be reduced as compared with the evaluation unit 111 according to the third embodiment described above, the processing load can be reduced. In general, since the orthogonal transform used for video encoding is almost orthonormal, the evaluation unit 111A according to the modified example can obtain the same performance as the evaluation unit 111 according to the third embodiment.
  • the evaluation unit 208A in the image decoding device 2 is configured in the same manner as the evaluation unit 111A in the image coding device 1. Specifically, the evaluation unit 208A in the image decoding device 2 includes a similarity calculation unit 208c, a conversion unit 208e, and a normalization unit 208d. The evaluation unit 208A in the image decoding device 2 outputs an importance map composed of the importance Rij of each frequency component ij in the block to the entropy code decoding unit 200.
  • FIG. 14 is a diagram illustrating a configuration of the image encoding device 1 when the first embodiment and the second embodiment are used together.
  • the evaluation unit 111 outputs the evaluation result (map information) to both the synthesis unit 105 and the loop filter 107.
  • FIG. 15 is a diagram illustrating a configuration of the image decoding device 2 when the first embodiment and the second embodiment are used together.
  • the evaluation unit 208 outputs the evaluation result (map information) to both the synthesis unit 202 and the loop filter 204.
  • the entropy encoding unit 103 reads out all the transform coefficients arranged in two dimensions in order of importance and performs serialization processing.
  • the conversion order arranged two-dimensionally may be incremented or decremented by a predetermined number depending on the importance.
  • a zigzag scan such as that employed in MPEG2 can be used as the scan order of transform coefficients.
  • HEVC see Non-Patent Document 1
  • the rearrangement of the transform coefficients is performed in units called CG grouped for each 4 ⁇ 4 transform coefficient in the block. It is determined whether or not there is a non-zero coefficient in the CG. If there is a non-zero coefficient in the CG, the transform coefficient in the CG is serialized and encoded.
  • the operation according to the third embodiment described above can also be applied to rearrangement of transform coefficients when reading transform coefficients in CG.
  • the present invention can be applied to serialization for determining the reading order of CG, and can be applied to rearrangement of reading order by calculating the average of the similarity of orthogonal transform coefficients in CG and comparing the similarity for each CG. .
  • inter prediction has been mainly described as motion compensation prediction.
  • inter prediction a reference image in a frame different from the current frame is used for prediction of a target image block in the current frame.
  • the present invention is not limited to motion compensation prediction, and can be applied to a plurality of reference blocks in a technique called intra-block copy, for example.
  • intra-block copy a reference image in the same frame as the current frame is used for prediction of a target image block in the current frame.
  • the specific example of the present invention described above may be provided by a program that causes a computer to execute each process performed by the image encoding device 1 and a program that causes a computer to execute each process performed by the image decoding device 2.
  • the program may be recorded on a computer readable medium. If a computer-readable medium is used, a program can be installed in the computer.
  • the computer-readable medium on which the program is recorded may be a non-transitory recording medium.
  • the non-transitory recording medium is not particularly limited, but may be a recording medium such as a CD-ROM or a DVD-ROM.
  • a circuit that executes each process performed by the image encoding device 1 may be integrated, and the image encoding device 1 may be configured as a semiconductor integrated circuit (chip set, SoC).
  • a circuit that executes each process performed by the image decoding device 2 may be integrated, and the image decoding device 2 may be configured as a semiconductor integrated circuit (chip set, SoC).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

画像符号化装置(1)は、複数の参照画像を用いて動き補償予測を行うことにより、対象画像に対応する予測画像を生成する動き補償予測部(109)と、複数の参照画像間の類似度を、1又は複数の画素からなる画像部分ごとに算出することにより、予測画像の予測精度を画像部分ごとに評価する評価部(111)とを備える。

Description

画像符号化装置、画像復号装置、及びプログラム
 本発明は、画像符号化装置、画像復号装置、及びプログラムに関する。
 従来、対象画像(画像ブロック)を符号化する符号化装置において、複数の参照画像を用いて動き補償予測を行い、対象画像に対応する予測画像を生成し、当該対象画像と予測画像との間の画素単位での差分を示す予測残差に対して直交変換及び量子化を行う方法が知られている。
 また、画像符号化装置は、直交変換及び量子化により得られた量子化変換係数をエントロピー符号化により符号化するとともに、量子化変換係数に対して逆量子化及び逆直交変換を行って予測残差を復元する。そして、画像符号化装置は、復元した予測残差を予測画像と合成して対象画像を再構成し、再構成画像をそれ以降の予測に用いる。
 一方、画像復号装置は、エントロピー符号化された量子化変換係数を復号するとともに、複数の参照画像を用いて動き補償予測を行い、対象画像に対応する予測画像を生成する。画像復号装置は、量子化変換係数を逆量子化及び逆直交変換して予測残差を復元し、復元予測残差を予測画像と合成して対象画像を再構成する。
 かかる画像符号化装置及び画像復号装置は、複数の参照画像を用いる動き補償予測において、例えば、複数の参照画像を平均化することにより予測画像を生成する(非特許文献1参照)。
Recommendation ITU-T H.265,(12/2016), "High efficiency video coding", International Telecommunication Union
 予測画像を生成するための複数の参照画像間の類似度が著しく低い部分が存在する場合、当該部分における予測画像の精度(すなわち、予測精度)が低下し、当該部分における予測残差が他の部分に比べて大きくなる。
 予測残差が大きい部分と小さい部分とが混在する予測残差を直交変換すると、低周波数成分に電力が集中せずに、変換係数の電力集中度が低下する。かかる変換係数について高周波数成分を粗く量子化すると、高周波数成分における変換係数が劣化する。かかる変換係数の劣化は、逆量子化及び逆直交変換を経て画像(ブロック)内に全体的に伝搬する。
 このようにして劣化した復元予測残差を予測画像に合成して対象画像ブロックを再構成すると、高精度な予測が行われた部分にも画質の劣化が伝搬してしまう。つまり、予測精度が低い部分に起因して、予測精度が高い部分にも直交変換係数の量子化の影響が伝搬することで画質が劣化し、これにより、符号化効率の低下を引き起こすという問題があった。
 そこで、本発明は、複数の参照画像を用いて予測を行う場合において符号化効率を改善可能な画像符号化装置、画像復号装置、及びプログラムを提供することを目的とする。
 なお、複数の参照画像を用いて予測を行う予測技術とは動き補償予測における双予測が代表的なものであるがそれに限定されるものではない。例えば、HEVC符号化方式で用いられている画像のIntraBCモード(イントラブロックコピーモード)などのように複数参照して予測画像を生成する場合においても同様の手法が適用可能である。
 第1の特徴に係る画像符号化装置は、対象画像を符号化する。当該画像符号化装置は、複数の参照画像を用いて予測(代表的な予測方法の例としては双方向動き補償予測)を行うことにより、前記対象画像に対応する予測画像を生成する予測部と、前記複数の参照画像間の類似度を算出することにより、前記予測画像の予測精度を評価する評価部と、を備えることを要旨とする。
 例えば、かかる画像符号化装置は、予測画像の予測精度を画像部分ごとに評価することにより、予測残差の大きい部分や予測残差の小さい部分を推定することが可能になるため、画質の劣化を効率的に抑制できる。よって、複数の参照画像を用いて予測を行う場合において符号化効率を改善可能な画像符号化装置を提供できる。
 なお、予測部が行う予測は、複数の参照画像を用いるものであればどのような予測方式であるかを問わず、様々な予測方式を利用可能である。代表的な予測方法の例としては双方向動き補償予測が挙げられるが、HEVC方式で用いられている複数参照のIntraBCモード(イントラブロックコピーモード)による予測であってもよい。
 第2の特徴に係る画像復号装置は、対象画像を復号する。当該画像復号装置は、複数の参照画像を用いて予測(代表的な予測方法の例としては双方向動き補償予測)を行うことにより、前記対象画像に対応する予測画像を生成する予測部と、前記複数の参照画像間の類似度を算出することにより、前記予測画像の予測精度を評価する評価部と、を備えることを要旨とする。
 例えば、画像復号装置は、予測画像の予測精度を画像部分ごとに評価することにより、予測残差の大きい部分や予測残差の小さい部分を推定することが可能になるため、画質の劣化を効率的に抑制できる。よって、複数の参照画像を用いて予測を行う場合において符号化効率を改善可能な画像復号装置を提供できる。
 第3の特徴に係るプログラムは、コンピュータを第1の特徴に係る画像符号化装置として機能させるためのプログラムであることを要旨とする。
 第4の特徴に係るプログラムは、コンピュータを第2の特徴に係る画像復号装置として機能させるためのプログラムであることを要旨とする。
第1実施形態に係る画像符号化装置の構成を示す図である。 第1実施形態に係る画像復号装置の構成を示す図である。 動き補償予測の一例を示す図である。 動き補償予測により生成される予測画像の一例を示す図である。 評価部の構成の一例を示す図である。 合成部の構成の一例を示す図である。 第1実施形態に係る画像符号化装置における処理フローを示す図である。 第1実施形態に係る画像復号装置における処理フローを示す図である。 第2実施形態に係る画像符号化装置の構成を示す図である。 第2実施形態に係る画像復号装置の構成を示す図である。 ループフィルタの構成の一例を示す図である。 第2実施形態に係る画像符号化装置における処理フローを示す図である。 第2実施形態に係る画像復号装置における処理フローを示す図である。 第1実施形態及び第2実施形態を併用する場合の画像符号化装置の構成を示す図である。 第1実施形態及び第2実施形態を併用する場合の画像復号装置の構成を示す図である。 第3実施形態に係る画像符号化装置の構成を示す図である。 第3実施形態に係る画像復号装置の構成を示す図である。 第3実施形態に係る評価部の構成の一例を示す図である。 第3実施形態に係るエントロピー符号化部の構成の一例を示す図である。 第3実施形態に係るエントロピー符号復号部の構成の一例を示す図である。 第3実施形態に係る画像符号化装置における処理フローを示す図である。 第3実施形態に係る画像復号装置における処理フローを示す図である。 第3実施形態に係る評価部の構成の変更例を示す図である。
 図面を参照して、実施形態に係る画像符号化装置及び画像復号装置について説明する。実施形態に係る画像符号化装置及び画像復号装置は、MPEGに代表される動画の符号化及び復号を行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
 <1.第1実施形態>
 第1実施形態に係る画像符号化装置及び画像復号装置について説明する。
 (1.1.画像符号化装置の構成)
 図1は、第1実施形態に係る画像符号化装置1の構成を示す図である。図1に示すように、画像符号化装置1は、ブロック分割部100と、減算部101と、変換部102aと、量子化部102bと、エントロピー符号化部103と、逆量子化部104aと、逆変換部104bと、合成部105と、イントラ予測部106と、ループフィルタ107と、フレームメモリ108と、動き補償予測部109と、切替部110と、評価部111とを備える。
 ブロック分割部100は、フレーム(或いはピクチャ)単位の入力画像をブロック状の小領域に分割し、画像ブロックを減算部101(及び動き補償予測部109)に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックは、画像符号化装置1が符号化を行う単位及び画像復号装置2が復号を行う単位であり、かかる画像ブロックを対象画像ブロックと称する。
 減算部101は、ブロック分割部100から入力された対象画像ブロックと対象画像ブロックに対応する予測画像(予測画像ブロック)との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部101は、符号化対象ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部102aに出力する。なお、予測画像は、後述するイントラ予測部106又は動き補償予測部109から切替部110を介して減算部101に入力される。
 変換部102a及び量子化部102bは、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部102を構成する。
 変換部102aは、減算部101から入力された予測残差に対して直交変換を行って変換係数を算出し、算出した変換係数を量子化部102bに出力する。直交変換とは、例えば、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)、カルーネンレーブ変換(KLT: Karhunen-Loeve Transform)等をいう。
 量子化部102bは、変換部102aから入力された変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化変換係数を生成する。量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部102bは、量子化制御情報、生成した量子化変換係数情報などをエントロピー符号化部103及び逆量子化部104aに出力する。
 エントロピー符号化部103は、量子化部102bから入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ(ビットストリーム)を生成し、符号化データを画像符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。なお、エントロピー符号化部103には、イントラ予測部106及び動き補償予測部109から予測に関する情報が入力され、ループフィルタ107からフィルタ処理に関する情報が入力される。エントロピー符号化部103は、これらの情報のエントロピー符号化も行う。
 逆量子化部104a及び逆変換部104bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部104を構成する。
 逆量子化部104aは、量子化部102bが行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部104aは、量子化部102bから入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部104bに出力する。
 逆変換部104bは、変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部102aが離散コサイン変換を行った場合には、逆変換部104bは逆離散コサイン変換を行う。逆変換部104bは、逆量子化部104aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部105に出力する。
 合成部105は、逆変換部104bから入力された復元予測残差を切替部110から入力された予測画像と画素単位で合成する。合成部105は、復元予測残差の各画素値と予測画像の各画素値を加算して対象画像ブロックを再構成し、再構成した対象画像ブロックである再構成画像をイントラ予測部106及びループフィルタ107に出力する。
 イントラ予測部106は、合成部105から入力された再構成画像を用いてイントラ予測を行ってイントラ予測画像を生成し、イントラ予測画像を切替部110に出力する。また、イントラ予測部106は、選択したイントラ予測モードの情報等をエントロピー符号化部103に出力する。
 ループフィルタ107は、合成部105から入力された再構成画像に対して、後処理としてのフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ108に出力する。また、ループフィルタ107は、フィルタ処理に関する情報をエントロピー符号化部103に出力する。フィルタ処理には、デブロッキングフィルタ処理とサンプルアダプティブオフセット処理とが含まれる。デブロッキングフィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、隣接するブロックの境界部における信号のギャップを平滑化する処理である。このデブロッキングフィルタ処理により、境界部における信号ギャップと量子化の程度を示す量子化パラメータとを用いてデブロッキングフィルタ処理の強さ(フィルタ強度)が制御される。一方、サンプルアダプティブオフセット処理は、例えばHEVC(非特許文献1参照)で採用されている画質改善フィルタ処理であって、ブロック内の画素の隣接画素との相対的な関係により各画素をカテゴリ分けし、それぞれのカテゴリについて画質を向上させるためのオフセット値を算出し、同じカテゴリに属する各画素に一律にオフセット値を付与する処理である。オフセット値が大きいほど強いフィルタ処理が適用されるため、オフセット値は、サンプルアダプティブオフセット処理のフィルタ強度を定める値とみなすことができる。
 フレームメモリ108は、ループフィルタ107から入力された再構成画像をフレーム単位で記憶する。
 動き補償予測部109は、フレームメモリ108に記憶された1又は複数の再構成画像を参照画像として用いるインター予測を行う。具体的には、動き補償予測部109は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいて動き補償予測画像を生成し、動き補償予測画像を切替部110に出力する。また、動き補償予測部109は、動きベクトルに関する情報をエントロピー符号化部103に出力する。
 切替部110は、イントラ予測部106から入力されたイントラ予測画像と、動き補償予測部109から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を減算部101及び合成部105に出力する。
 評価部111は、動き補償予測部109が複数の参照画像を用いて動き補償予測を行う場合において、予測に用いる複数の参照画像間の類似度を1又は複数の画素からなる画像部分ごとに算出し、かかる類似度により予測画像の予測精度を画像部分ごとに評価し、評価結果の情報を合成部105に出力する。
 本実施形態において、評価部111が、予測に用いる複数の参照画像間の類似度を1画素単位で算出し、予測画像の予測精度を1画素単位で評価する一例を説明する。なお、本実施形態では図示しないが、複数の参照画像を用いたイントラ予測(例えば、イントラブロックコピーモード)などを用いる場合には、評価部111は、イントラ予測部106が複数の参照画像を用いて予測を行う場合、複数の参照画像間の類似度を算出し、予測画像の予測精度を画素単位で評価し、この評価結果を合成部105に出力する。合成部105は、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。評価部111及び合成部105の詳細については後述する。
 (1.2.画像復号装置の構成)
 図2は、第1実施形態に係る画像復号装置2の構成を示す図である。図2に示すように、画像復号装置2は、エントロピー符号復号部200と、逆量子化部201aと、逆変換部201bと、合成部202と、イントラ予測部203と、ループフィルタ204と、フレームメモリ205と、動き補償予測部206と、切替部207と、評価部208とを備える。
 エントロピー符号復号部200は、符号化装置1により生成された符号化データを復号し、量子化変換係数を逆量子化部201aに出力する。また、エントロピー符号復号部200は、符号化データを復号し、予測(イントラ予測及び動き補償予測)に関する情報とフィルタ処理に関する情報とを取得し、予測に関する情報をイントラ予測部203及び動き補償予測部206に出力し、フィルタ処理に関する情報をループフィルタ204に出力する。
 逆量子化部201a及び逆変換部201bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部201を構成する。
 逆量子化部201aは、画像符号化装置1の量子化部102bが行う量子化処理に対応する逆量子化処理を行う。逆量子化部201aは、エントロピー符号復号部200から入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部201bに出力する。
 逆変換部201bは、画像符号化装置1の変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。逆変換部201bは、逆量子化部201aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部202に出力する。
 合成部202は、逆変換部201bから入力された予測残差と、切替部207から入力された予測画像とを画素単位で合成することにより、元の対象画像ブロックを再構成し、再構成画像をイントラ予測部203及びループフィルタ204に出力する。
 イントラ予測部203は、合成部202から入力された再構成符号化ブロック画像を参照し、エントロピー符号復号部200から入力されたイントラ予測情報に従ってイントラ予測を行うことによりイントラ予測画像を生成し、イントラ予測画像を切替部207に出力する。
 ループフィルタ204は、エントロピー符号復号部200から入力されたフィルタ処理情報に基づいて、合成部202から入力された再構成画像に対して、画像符号化装置1のループフィルタ107が行うフィルタ処理と同様なフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ205に出力する。
 フレームメモリ205は、ループフィルタ204から入力された再構成画像をフレーム単位で記憶する。フレームメモリ205は、記憶した再構成画像を表示順に画像復号装置2の外部に出力する。
 動き補償予測部206は、フレームメモリ205に記憶された1又は複数の再構成画像を参照画像として用いて、エントロピー符号復号部200から入力された動きベクトル情報に従って動き補償予測(インター予測)を行うことにより、動き補償予測画像を生成し、動き補償予測画像を切替部207に出力する。
 切替部207は、イントラ予測部203から入力されたイントラ予測画像と、動き補償予測部206から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を合成部202に出力する。
 評価部208は、画像符号化装置1の評価部111と同様な動作を行う。具体的には、評価部208は、動き補償予測部206が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、評価結果の情報を合成部202に出力する。合成部202は、評価部208による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
 (1.3.動き補償予測)
 図3は、動き補償予測の一例を示す図である。図4は、動き補償予測により生成される予測画像の一例を示す図である。動き補償予測のシンプルな例として、HEVCで用いられている双予測、特に前方向と後方向予測(両方向予測)を用いる場合について説明する。
 図3に示すように、動き補償予測は、対象フレーム(現フレーム)に対して時間的に前及び後のフレームを参照する。図3の例では、tフレーム目の画像中のブロックの動き補償予測を、t-1フレーム目とt+1フレーム目とを参照して行う。動き補償は、t-1及びt+1フレーム目の参照フレーム内から、対象画像ブロックと類似する箇所(ブロック)をシステムで設定された探索範囲の中から検出する。
 検出された箇所が参照画像である。対象画像ブロックに対する参照画像の相対位置を示す情報が図中に示す矢印であり、動きベクトルと呼ばれる。動きベクトルの情報は、画像符号化装置1において、参照画像のフレーム情報とともにエントロピー符号化によって符号化される。一方、画像復号装置2は、画像符号化装置1により生成された動きベクトルの情報に基づいて参照画像を検出する。
 図3及び図4に示すように、動き補償によって検出された参照画像1及び2は、対象画像ブロックに対し、参照するフレーム内で位置合わせされた類似する部分画像であるため、対象画像ブロック(符号化対象画像)に類似した画像となる。図4の例では、対象画像ブロックは、星の絵柄と部分的な円の絵柄とを含んでいる。参照画像1は、星の絵柄と全体的な円の絵柄とを含んでいる。参照画像2は、星の絵柄を含むが、円の絵柄を含んでいない。
 かかる参照画像1及び2から予測画像を生成する。なお、予測処理は、一般的に、特徴は異なるが部分的に類似する参照画像1及び2を平均化することによって、それぞれの参照画像の特徴を備えた予測画像を生成する。但し、より高度な処理、例えば、ローパスフィルタやハイパスフィルタ等による信号強調処理を併用して予測画像を生成してもよい。ここで、参照画像1は円の絵柄を含み、参照画像2は円の絵柄を含まないため、参照画像1及び2を平均化して予測画像を生成すると、予測画像における円の絵柄は、参照画像1に比べて信号が半減している。
 参照画像1及び2から得られた予測画像と対象画像ブロック(符号化対象画像)との差分が予測残差である。図4に示す予測残差において、星の絵柄のエッジのずれ部分と丸の絵柄のずれた部分(斜線部)とにのみ大きな差分が生じているが、それ以外の部分については、精度よく予測が行えており、差分が少なくなる(図4の例では差分が生じていない)。
 差分が生じていない部分(星の絵柄の非エッジ部分及び背景部分)は、参照画像1と参照画像2との間の類似度が高い部分であって、高精度な予測が行われた部分である。一方、大きな差分が生じている部分は、各参照画像に特有な部分、すなわち、参照画像1と参照画像2との間の類似度が著しく低い部分である。よって、参照画像1と参照画像2との間の類似度が著しく低い部分は、予測の精度が低く、大きな差分(残差)を生じさせることが分かる。
 このように差分が大きい部分と差分が無い部分とが混在した予測残差を直交変換し、量子化による変換係数の劣化が生じると、かかる変換係数の劣化が逆量子化及び逆直交変換を経て画像(ブロック)内に全体的に伝搬する。
 そして、逆量子化及び逆直交変換によって復元された予測残差(復元予測残差)を予測画像に合成して対象画像ブロックを再構成すると、図4に示す星の絵柄の非エッジ部分及び背景部分のように高精度な予測が行われた部分にも画質の劣化が伝搬してしまう。
 (1.4.評価部及び合成部)
 画像符号化装置1において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部105は、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
 同様に、画像復号装置2において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部202は、評価部208による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
 これにより、高精度な予測が行われる部分について、予測画像と合成する復元予測残差を抑制することが可能となるため、高精度な予測が行われる部分に対して復元予測残差における画質の劣化が伝搬することを抑制することができる。よって、複数の参照画像を用いて動き補償予測を行う場合において画質を向上し、符号化効率を改善することができる。
 図5は、画像符号化装置1における評価部111の構成の一例を示す図である。図5に示すように、評価部111は、差分算出部(減算部)111aと、正規化部111bと、重み調整部111cとを備える。
 差分算出部111aは、参照画像1と参照画像2との間の差分値の絶対値を画素単位で算出し、算出した差分値の絶対値を正規化部111bに出力する。差分値の絶対値は、類似度を示す値の一例である。差分値の絶対値が小さいほど類似度が高く、差分値の絶対値が大きいほど類似度が低いといえる。差分算出部111aは、各参照画像に対してフィルタ処理を行ったうえで差分値の絶対値を算出してもよい。差分算出部111aは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。
 正規化部111bは、差分算出部111aから入力された各画素の差分値を、ブロック内で差分値の絶対値が最大となる画素の差分値の絶対値(すなわち、ブロック内の差分値の絶対値の最大値)で正規化し、正規化した差分値の絶対値である正規化差分値を重み調整部111cに出力する。第1実施形態において、正規化差分値は、合成部105において予測画像と合成する復元予測残差を画素単位で重み付けするための重みとして用いられる。
 重み調整部111cは、量子化の粗さを定める量子化パラメータ(Qp)に基づいて、正規化部111bから入力された正規化差分値(重み)を調整し、この重みを出力する。量子化の粗さが大きいほど復元予測残差の劣化度が高いため、重み調整部111cは、量子化パラメータ(Qp)に基づいて正規化差分値(重み)を調整することにより、劣化度を考慮して復元予測残差の重み付けを行うことができる。
 評価部111が出力する各画素(ij)の重みWijは、例えば下記の式(1)のように表現することができる。
 Wij = (abs(Xij-Yij)/maxD × Scale(Qp))          ・・・(1)
 式(1)において、Xijは参照画像1の画素ijの画素値であり、Yijは参照画像2の画素ijの画素値であり、absは絶対値を得る関数である。図5に示す差分算出部111aでは、abs(Xij-Yij)を出力する。
 また、式(1)において、maxDは、ブロック内の差分値abs(Xij-Yij)の最大値である。maxDを求めるために、ブロック内のすべての画素について差分値を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値などで代用してもよく、例えば、その値以上が存在する場合は、使用した最大値でクリップすることで、maxDの正規化を行ってもよい。或いは、量子化パラメータ(Qp)とmaxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。正規化部111bは、abs(Xij-Yij)/maxDを出力する。
 また、式(1)において、Scale(Qp)は、量子化パラメータ(Qp)に応じて乗じられる係数である。Scale(Qp)は、Qpが大きい場合に1.0に近づき、小さい場合に0に近づくように設計され、その度合いはシステムによって調整するものとする。或いは、予め仕様で規定された固定値をScale(Qp)として用いてもよい。さらに、処理を簡略化するため、Scale(QP)を1.0などシステムに応じて設計された固定値としてもよい。
 重み調整部111cは、abs(Xij-Yij)/maxD×Scale(Qp)を重みWijとして出力する。また、このWijは、システムに応じて設計される感度関数によって調整された重み付けを出力しても良い。例えば、abs(Xij-Yij)/maxD×Scale(Qp)=wijとし、Wij=Clip(wij,1.0,0.0)だけではなく、Wij=Clip(wij+offset,1.0,0.0)と例えばQPなどの制御情報に応じたオフセットをつけて感度を調整してもよい。なお、Clip(x,max,min)は、xがmaxを超える場合はmaxで、xがminを下回る場合はminでクリップする処理を示す。
 このようにして算出された重みWijは、0から1.0までの範囲内の値となる。基本的には、重みWijは、参照画像間の画素ijの差分値の絶対値が大きい(すなわち、予測精度が低い)場合に1.0に近づき、参照画像間の画素ijの差分値の絶対値が小さい(すなわち、予測精度が高い)場合に0に近づく。評価部111は、ブロック内の各画素ijの重みWijからなるマップ情報をブロック単位で合成部105に出力する。
 なお、評価部111は、複数の参照画像を用いる動き補償予測を適用する場合にのみ評価(重みWijの算出)を行い、それ以外のモード、例えば単方向予測や複数参照画像を用いないイントラ予測処理においては、評価を行わず重みWijとして一律に1.0を設定する。
 図6は、画像符号化装置1における合成部105の構成の一例を示す図である。図6に示すように、合成部105は、重み付け部(乗算部)105aと、加算部105bとを備える。
 重み付け部105aは、評価部111から入力されたマップ情報(重みWij)を用いて、逆変換部104bから入力された復元予測残差に対して画素単位で重み付けを行い、重み付け後の復元予測残差を加算部105bに出力する。
 加算部105bは、重み付け部105aから入力された重み付け後の復元予測残差を、動き補償予測部109から切替部110を介して入力された予測画像に画素単位で加算することにより再構成画像を生成し、生成した再構成画像を出力する。
 このような合成部105の処理は、例えば下記の式(2)のように表現することができる。
 Recij = Dij × Wij + Pij     ・・・(2)
 式(2)において、Recijは再構成画像における画素ijの画素値であり、Dijは復元予測残差における画素ijの画素値であり、Wijはマップ情報における画素ijの重みであり、Pijは予測画像における画素ijの画素値である。
 なお、合成部105は、複数の参照画像を用いる動き補償予測を適用する場合にのみ重み付け処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、重み付け処理を行わない。
 また、画像符号化装置1における評価部111及び合成部105について説明したが、画像復号装置2における評価部208及び合成部202は、画像符号化装置1における評価部111及び合成部105と同様に構成される。具体的には、画像復号装置2における評価部208は、差分算出部208aと、正規化部208bと、重み調整部208cとを備える。画像復号装置2における合成部202は、重み付け部(乗算部)202aと、加算部202bとを備える。
 (1.5.画像符号化の動作)
 図7は、第1実施形態に係る画像符号化装置1における処理フローを示す図である。
 図7に示すように、ステップS1101において、動き補償予測部109は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。動き補償予測情報は、エントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、動き補償予測情報を含む符号化データを出力する。
 ステップS1102において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、あるいは複数の画素の予測精度を平均化した部分画像単位で評価し、ブロック内の各画素あるいは部分画像の重みからなるマップ情報を生成する。
 ステップS1103において、減算部101は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
 ステップS1104において、変換・量子化部102は、減算部101が算出した予測残差に対して直交変換及び量子化を行うことにより、量子化変換係数を生成する。
 ステップS1105において、エントロピー符号化部103は、量子化変換係数をエントロピー符号化して符号化データを出力する。
 ステップS1106において、逆量子化・逆変換部104は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
 ステップS1107において、合成部105は、評価部111による評価の結果(マップ情報)に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。具体的には、合成部105は、復元予測残差に対して、上述したような画素単位での重み付け処理を行う。
 ステップS1108において、合成部105は、重み付け後の復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
 ステップS1109において、ループフィルタ107は、再構成画像に対してフィルタ処理を行う。また、ループフィルタに関する情報(オフセットおよびオフセットを適用するカテゴリ情報など)は、エントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、ループフィルタに関する情報を含む符号化データを出力する。
 ステップS1110において、フレームメモリ108は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
 (1.6.画像復号の動作)
 図8は、第1実施形態に係る画像復号装置2における処理フローを示す図である。
 図8に示すように、ステップS1201において、エントロピー符号復号部200は、符号化データを復号して量子化変換係数、動きベクトル情報及びループフィルタに関する情報を取得する。
 ステップS1202において、動き補償予測部206は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
 ステップS1203において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、ブロック内の各画素あるいは部分画像の重みからなるマップ情報を生成する。
 ステップS1204において、逆量子化・逆変換部201は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
 ステップS1205において、合成部202は、評価部208による評価の結果(マップ情報)に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。具体的には、合成部202は、復元予測残差に対して、上述したような画素単位での重み付け処理を行う。
 ステップS1206において、合成部202は、重み付け後の復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
 ステップS1207において、ループフィルタ204は、再構成画像に対してフィルタ処理を行う。
 ステップS1208において、フレームメモリ205は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
 (1.7.第1実施形態のまとめ)
 画像符号化装置1において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部105は、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
 画像復号装置2において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部202は、評価部208による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
 これにより、高精度な予測が行われる部分について、予測画像と合成する復元予測残差を抑制することが可能となるため、高精度な予測が行われる部分に対して復元予測残差における画質の劣化が伝搬することを防止することができる。よって、複数の参照画像を用いて動き補償予測を行う場合において画質を向上し、符号化効率を改善することができる。
 <2.第2実施形態>
 第2実施形態に係る画像符号化装置及び画像復号装置について、第1実施形態との相違点を主として説明する。第1実施形態では予測精度の評価結果を信号合成処理において利用していたが、第2実施形態では予測精度の評価結果をフィルタ処理において利用する。
 (2.1.画像符号化装置)
 図9は、第2実施形態に係る画像符号化装置1の構成を示す図である。図9に示すように、第2実施形態において、評価部111は、評価結果(マップ情報)をループフィルタ107に出力する。具体的には、評価部111は、第1実施形態と同様に、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。
 ループフィルタ107は、評価部111による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。そして、ループフィルタ107は、画素単位で制御したオフセット値を、合成部105から入力された再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像をフレームメモリ108に出力する。
 (2.2.画像復号装置)
 図10は、第2実施形態に係る画像復号装置2の構成を示す図である。図10に示すように、第2実施形態において、評価部208は、評価結果(マップ情報)をループフィルタ204に出力する。具体的には、評価部208は、第1実施形態と同様に、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。
 ループフィルタ204は、評価部208による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。そして、ループフィルタ204は、画素単位で制御したオフセット値を、合成部202から入力された再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像をフレームメモリ205に出力する。
 (2.3.ループフィルタ)
 図11は、画像符号化装置1におけるループフィルタ107の構成の一例を示す図である。図11に示すように、ループフィルタ107は、重み付け部(乗算部)107aと、加算部107bとを備える。
 重み付け部107aは、評価部111から入力されたマップ情報(重みWij)を用いて、フィルタ強度を定めるオフセット値に対して画素単位で重み付けを行う。フィルタ強度を定めるオフセット値としては、サンプルアダプティブオフセット処理(非特許文献1参照)で用いるオフセット値を用いることができる。上述したように、サンプルアダプティブオフセット処理では、ループフィルタ107は、ブロック内の画素の隣接画素との相対的な関係により各画素をカテゴリ分けし、それぞれのカテゴリについて画質を向上させるためのオフセット値を算出する。重み付け部107aは、サンプルアダプティブオフセット処理に用いるオフセット値に対して画素単位で重み付けを行い、重み付け後のオフセット値を加算部107bに出力する。
 加算部107bは、重み付け部107aから入力された重み付け後のオフセット値を、合成部105から入力された再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像を出力する。
 このようなループフィルタ107の処理は、例えば下記の式(3)のように表現することができる。
 Recij' = Recij + dij × Wij     ・・・(3)
 式(3)において、Recij'はフィルタ処理後の再構成画像における画素ijの画素値であり、Recijはフィルタ処理前の再構成画像における画素ijの画素値であり、dijは画素ijに付与されるべきオフセット値であり、Wijはマップ情報における画素ijの重みである。
 なお、ループフィルタ107は、複数の参照画像を用いる動き補償予測を適用する場合にのみマップ情報に基づく重み付け処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、マップ情報に基づく重み付け処理を行わない。
 また、画像符号化装置1におけるループフィルタ107について説明したが、画像復号装置2におけるループフィルタ204は、画像符号化装置1におけるループフィルタ107と同様に構成される。具体的には、画像復号装置2におけるループフィルタ204は、重み付け部(乗算部)204aと、加算部204bとを備える。
 (2.4.画像符号化の動作)
 図12は、第2実施形態に係る画像符号化装置1における処理フローを示す図である。
 図12に示すように、ステップS2101において、動き補償予測部109は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。動き補償予測情報はエントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、動き補償予測情報を含む符号化データを生成し出力する。
 ステップS2102において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、ブロック内の各画素の重みからなるマップ情報を生成する。
 ステップS2103において、減算部101は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
 ステップS2104において、変換・量子化部102は、減算部101が算出した予測残差に対して直交変換及び量子化を行うことにより、量子化変換係数を生成する。
 ステップS2105において、エントロピー符号化部103は、量子化変換係数をエントロピー符号化して符号化データを出力する。
 ステップS2106において、逆量子化・逆変換部104は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
 ステップS2107において、合成部105は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
 ステップS2108において、ループフィルタ107は、評価部111による評価の結果(マップ情報)に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。具体的には、ループフィルタ107は、上述したように、フィルタ強度を定めるオフセット値に対して画素単位で重み付けを行う。また、ループフィルタに関する情報(オフセットおよびオフセットを提供するカテゴリ情報など)は、エントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、ループフィルタに関する情報を含む符号化データを出力する。
 ステップS2109において、ループフィルタ107は、重み付け後のオフセット値を再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像を出力する。
 ステップS2110において、フレームメモリ108は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
 (2.5.画像復号の動作)
 図13は、第2実施形態に係る画像復号装置2における処理フローを示す図である。
 図13に示すように、ステップS2201において、エントロピー符号復号部200は、符号化データを復号して量子化変換係数、動きベクトル情報及びループフィルタに関する情報を取得する。
 ステップS2202において、動き補償予測部206は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
 ステップS2203において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、ブロック内の各画素の重みからなるマップ情報を生成する。
 ステップS2204において、逆量子化・逆変換部201は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
 ステップS2205において、合成部202は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
 ステップS2206において、ループフィルタ204は、評価部208による評価の結果(マップ情報)に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。具体的には、ループフィルタ204は、上述したように、フィルタ強度を定めるオフセット値に対して画素単位で重み付けを行う。
 ステップS2207において、ループフィルタ204は、重み付け後のオフセット値を再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像を出力する。
 ステップS2208において、フレームメモリ205は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
 (2.6.第2実施形態のまとめ)
 画像符号化装置1において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、ループフィルタ107は、評価部111による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。
 画像復号装置2において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、ループフィルタ204は、評価部208による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。
 これにより、高精度な予測が行われる部分について、フィルタ強度を弱めて、フィルタ処理がかかりにくくすることが可能となる。また、高精度な予測が行われない部分について、フィルタ強度を強めて、フィルタ処理がかかり易くすることが可能となる。よって、複数の参照画像を用いて動き補償予測を行う場合において画質を向上し、符号化効率を改善することができる。
 <3.第1及び第2実施形態の変更例>
 上述した第1実施形態及び第2実施形態において、評価部111が、予測に用いる複数の参照画像間の類似度を1画素ごとに算出して予測画像の予測精度を1画素ごとに評価する一例を説明した。また、上述した第1実施形態において、合成部105が、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を1画素ごとに制御する一例を説明した。また、上述した第2実施形態において、ループフィルタ107が、評価部111による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を1画素ごとに制御する一例を説明した。
 しかしながら、このような1画素単位での処理に代えて、複数の画素からなるグループ(サブブロック)単位での処理を用いてもよい。本変更例において、対象画像ブロックをN個のサブブロックに分割する(N:2以上の整数)。ここで、各サブブロックは、m×n画素からなり、m及びnのうち少なくとも一方は2以上の整数である。評価部111は、上述した実施形態の方法によって各画素(ij)の重みWijを算出した後、k番目のサブブロックごとに重みWijの平均値Wkを算出する(但し、0≦k≦N)。
 そして、上述した第1実施形態においては、評価部111は、サブブロックごとに算出した重み平均値Wkを合成部105に出力する。合成部105は、重み平均値Wkを用いて、予測画像と合成する復元予測残差をサブブロックごとに制御する。具体的には、合成部105は、評価部111から入力された重み平均値Wkを用いて、逆変換部104bから入力された復元予測残差に対してサブブロック単位で重み付けを行い、重み付け後の復元予測残差を予測画像に画素単位で加算することにより再構成画像を生成する。なお、画像復号装置2においても同様な処理を行う。
 上述した第2実施形態においては、評価部111は、サブブロックごとに算出した重み平均値Wkをループフィルタ107に出力する。ループフィルタ107は、重み平均値Wkを用いて、フィルタ処理におけるフィルタ強度をサブブロックごとに制御する。具体的には、ループフィルタ107は、サンプルアダプティブオフセット処理に用いるオフセット値に対してサブブロック単位で重み付けを行い、重み付け後のオフセット値を再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行う。なお、画像復号装置2においても同様な処理を行う。
 <3.第3実施形態>
 (3.1.画像符号化装置の構成)
 図16は、第3実施形態に係る画像符号化装置1の構成を示す図である。図16に示すように、画像符号化装置1は、ブロック分割部100と、減算部101と、変換部102aと、量子化部102bと、エントロピー符号化部103と、逆量子化部104aと、逆変換部104bと、合成部105と、イントラ予測部106と、ループフィルタ107と、フレームメモリ108と、動き補償予測部109と、切替部110と、評価部111とを備える。
 ブロック分割部100は、フレーム(或いはピクチャ)単位の入力画像をブロック状の小領域に分割し、画像ブロックを減算部101(及び動き補償予測部109)に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックは、画像符号化装置1が符号化を行う単位及び画像復号装置2が復号を行う単位であり、かかる画像ブロックを対象画像ブロックと称する。
 減算部101は、ブロック分割部100から入力された対象画像ブロックと対象画像ブロックに対応する予測画像(予測画像ブロック)との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部101は、符号化対象ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部102aに出力する。なお、予測画像は、後述するイントラ予測部106又は動き補償予測部109から切替部110を介して減算部101に入力される。
 変換部102a及び量子化部102bは、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部102を構成する。
 変換部102aは、減算部101から入力された予測残差に対して直交変換を行って周波数成分ごとに変換係数を算出し、算出した変換係数を量子化部102bに出力する。直交変換とは、例えば、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)、カルーネンレーブ変換(KLT: Karhunen-Loeve Transform)等をいう。直交変換は画素領域の残差信号を周波数領域に変換する処理である。
 量子化部102bは、変換部102aから入力された変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化された変換係数(量子化変換係数)を生成する。量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部102bは、量子化制御情報、生成した量子化変換係数情報などをエントロピー符号化部103及び逆量子化部104aに出力する。
 エントロピー符号化部103は、量子化部102bから入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ(ビットストリーム)を生成し、符号化データを画像符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。エントロピー符号化は、2次元に配列された変換係数を所定のスキャン順で読み出して1次元の変換係数列に変換するシリアライズという処理を含む。ここで、所定のスキャン順で最後の有意係数(非ゼロ係数)を終了位置として、この終了位置までの変換係数を効率的に符号化している。
 なお、エントロピー符号化部103には、イントラ予測部106及び動き補償予測部109から予測に関する情報が入力され、ループフィルタ107からフィルタ処理に関する情報が入力される。エントロピー符号化部103は、これらの情報のエントロピー符号化も行う。
 逆量子化部104a及び逆変換部104bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部104を構成する。
 逆量子化部104aは、量子化部102bが行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部104aは、量子化部102bから入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部104bに出力する。
 逆変換部104bは、変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部102aが離散コサイン変換を行った場合には、逆変換部104bは逆離散コサイン変換を行う。逆変換部104bは、逆量子化部104aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部105に出力する。
 合成部105は、逆変換部104bから入力された復元予測残差を切替部110から入力された予測画像と画素単位で合成する。合成部105は、復元予測残差の各画素値と予測画像の各画素値を加算して対象画像ブロックを再構成し、再構成した対象画像ブロックである再構成画像をイントラ予測部106及びループフィルタ107に出力する。
 イントラ予測部106は、合成部105から入力された再構成画像を用いてイントラ予測を行ってイントラ予測画像を生成し、イントラ予測画像を切替部110に出力する。また、イントラ予測部106は、選択したイントラ予測モードの情報等をエントロピー符号化部103に出力する。
 ループフィルタ107は、合成部105から入力された再構成画像に対して、後処理としてのフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ108に出力する。また、ループフィルタ107は、フィルタ処理に関する情報をエントロピー符号化部103に出力する。HEVC規格において、フィルタ処理には、デブロッキングフィルタ処理とサンプルアダプティブオフセット処理とが含まれる。
 フレームメモリ108は、ループフィルタ107から入力された再構成画像をフレーム単位で記憶する。
 動き補償予測部109は、フレームメモリ108に記憶された1又は複数の再構成画像を参照画像として用いるインター予測を行う。具体的には、動き補償予測部109は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいて動き補償予測画像を生成し、動き補償予測画像を切替部110に出力する。また、動き補償予測部109は、動きベクトルに関する情報をエントロピー符号化部103に出力する。
 切替部110は、イントラ予測部106から入力されたイントラ予測画像と、動き補償予測部109から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を減算部101及び合成部105に出力する。
 評価部111は、動き補償予測部109が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号化部103に出力する。本実施例形態では図示しないが、複数の参照画像を用いたイントラ予測(例えば、イントラブロックコピーモード)などを用いる場合には、評価部111は、イントラ予測部106が複数の参照画像を用いて予測を行う場合、複数の参照画像間の類似度を周波数成分ごとに評価し、この評価結果をエントロピー符号化部103に出力する。エントロピー符号化部103は、評価部111による評価の結果に基づいて、量子化部102bから入力された変換係数を並び替えて符号化する。評価部111及びエントロピー符号化部103の詳細については後述する。
 (3.2.画像復号装置の構成)
 図17は、第3実施形態に係る画像復号装置2の構成を示す図である。図17に示すように、画像復号装置2は、エントロピー符号復号部200と、逆量子化部201aと、逆変換部201bと、合成部202と、イントラ予測部203と、ループフィルタ204と、フレームメモリ205と、動き補償予測部206と、切替部207と、評価部208とを備える。
 エントロピー符号復号部200は、符号化装置1により生成された符号化データを復号し、量子化変換係数を逆量子化部201aに出力する。また、エントロピー符号復号部200は、符号化データを復号し、予測(イントラ予測及び動き補償予測)に関する情報とフィルタ処理に関する情報とを取得し、予測に関する情報をイントラ予測部203及び動き補償予測部206に出力し、フィルタ処理に関する情報をループフィルタ204に出力する。
 逆量子化部201a及び逆変換部201bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部201を構成する。
 逆量子化部201aは、画像符号化装置1の量子化部102bが行う量子化処理に対応する逆量子化処理を行う。逆量子化部201aは、エントロピー符号復号部200から入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部201bに出力する。
 逆変換部201bは、画像符号化装置1の変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。逆変換部201bは、逆量子化部201aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部202に出力する。
 合成部202は、逆変換部201bから入力された予測残差と、切替部207から入力された予測画像とを画素単位で合成することにより、元の対象画像ブロックを再構成し、再構成画像をイントラ予測部203及びループフィルタ204に出力する。
 イントラ予測部203は、合成部202から入力された再構成ブロック画像を参照し、エントロピー符号復号部200から入力されたイントラ予測情報に従ってイントラ予測を行うことによりイントラ予測画像を生成し、イントラ予測画像を切替部207に出力する。
 ループフィルタ204は、エントロピー符号復号部200から入力されたフィルタ処理情報に基づいて、合成部202から入力された再構成画像に対して、画像符号化装置1のループフィルタ107が行うフィルタ処理と同様なフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ205に出力する。
 フレームメモリ205は、ループフィルタ204から入力された再構成画像をフレーム単位で記憶する。フレームメモリ205は、記憶した再構成画像を、エントロピー符号化部103の処理と同様に表示順に画像復号装置2の外部に出力する。
 動き補償予測部206は、フレームメモリ205に記憶された1又は複数の再構成画像を参照画像として用いて、エントロピー符号復号部200から入力された動きベクトル情報に従って動き補償予測(インター予測)を行うことにより、動き補償予測画像を生成し、動き補償予測画像を切替部207に出力する。
 切替部207は、イントラ予測部203から入力されたイントラ予測画像と、動き補償予測部206から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を合成部202に出力する。
 評価部208は、画像符号化装置1の評価部111と同様な動作を行う。具体的には、評価部208は、動き補償予測部206が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号復号部200に出力する。エントロピー符号復号部200は、符号化データを復号して周波数成分ごとに変換係数を取得し、評価部208による評価の結果に基づいて変換係数を並べ替えて出力する。評価部208及びエントロピー符号復号部200の詳細については後述する。
 (3.3.動き補償予測)
 図3は、動き補償予測の一例を示す図である。図4は、動き補償予測により生成される予測画像の一例を示す図である。動き補償予測のシンプルな例として、HEVCで用いられている双予測、特に前方向と後方向予測(両方向予測)を用いる場合について説明する。
 図3に示すように、動き補償予測は、対象フレーム(現フレーム)に対して時間的に前及び後のフレームを参照する。図3の例では、tフレーム目の画像中のブロックの動き補償予測を、t-1フレーム目とt+1フレーム目とを参照して行う。動き補償は、t-1及びt+1フレーム目の参照フレーム内から、対象画像ブロックと類似する箇所(ブロック)をシステムで設定された探索範囲の中から検出する。
 検出された箇所が参照画像である。対象画像ブロックに対する参照画像の相対位置を示す情報が図中に示す矢印であり、動きベクトルと呼ばれる。動きベクトルの情報は、画像符号化装置1において、参照画像のフレーム情報とともにエントロピー符号化によって符号化される。一方、画像復号装置2は、画像符号化装置1により生成された動きベクトルの情報に基づいて参照画像を検出する。
 図3及び図4に示すように、動き補償によって検出された参照画像1及び2は、対象画像ブロックに対し、参照するフレーム内で位置合わせされた類似する部分画像であるため、対象画像ブロック(符号化対象画像)に類似した画像となる。図4の例では、対象画像ブロックは、星の絵柄と部分的な円の絵柄とを含んでいる。参照画像1は、星の絵柄と全体的な円の絵柄とを含んでいる。参照画像2は、星の絵柄を含むが、円の絵柄を含んでいない。
 かかる参照画像1及び2から予測画像を生成する。なお、予測処理は、一般的に、特徴は異なるが、部分的に類似する参照画像1及び2を平均化することによって、それぞれの参照画像の特徴を備えたより予測の精度の高い画像を生成することが出来る。但し、より高度な処理、例えば、ローパスフィルタやハイパスフィルタ等による信号強調処理を併用して予測画像を生成してもよい。ここで、図に示す参照画像1は円の絵柄を含み、参照画像2は円の絵柄を含まないため、参照画像1及び2を平均化して予測画像を生成すると、参照画像2では予測できない円の絵柄を予測に反映することが出来る。しかしながら予測画像における円の絵柄は、参照画像1に比べて信号が半減している。
 参照画像1及び2から得られた予測画像と対象画像ブロック(符号化対象画像)との差分が予測残差である。図4に示す予測残差において、星の絵柄のエッジのずれ部分と丸の絵柄のずれた部分(斜線部)とにのみ大きな差分が生じているが、それ以外の部分については、精度よく予測が行えており、差分が少なくなる(図4の例では差分が生じていない)。
 差分が生じていない部分(星の絵柄の非エッジ部分及び背景部分)は、参照画像1と参照画像2との間の類似度が高い部分であって、高精度な予測が行われた部分である。一方、大きな差分が生じている部分は、各参照画像に特有な部分、すなわち、参照画像1と参照画像2との間の類似度が著しく低い部分である。よって、参照画像1と参照画像2との間の類似度が著しく低い部分は、予測の信頼性が低く、大きな差分(残差)を生じさせる可能性が高いことが分かる。
 このように差分が大きい部分と差分が無い部分とが混在した予測残差を直交変換すると、変換係数の量子化による信号劣化が予測精度の高低にかかわらず一様に多重されるため、符号化品質が低下する。
 第3実施形態において、評価部111は、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号化部103に出力する。エントロピー符号化部103は、評価部111による評価の結果に基づいて、量子化部102bから入力された変換係数を並び替えて符号化する。
 ここで、複数の参照画像間の類似度の低い周波数成分は、大きな電力を有するとみなすことができる。一方、複数の参照画像間の類似度の高い周波数成分は、電力がゼロに近くなるとみなすことができる。よって、評価部111によって決定される変換係数の並べ替え順によれば、エントロピー符号化部103が類似度の低い周波数成分の変換係数を集中させる(まとめる)ように並び替えることにより、変換係数を効率的に符号化することができる。
 したがって、直交変換後の残差画像において低周波数成分に電力が集中せずに変換係数の電力集中度が低下する場合であっても、効率的なエントロピー符号化を行うことを可能とし、符号化効率を改善することができる。
 (3.4.評価部)
 図18は、画像符号化装置1における評価部111の構成の一例を示す図である。図18に示すように、評価部111は、第1変換部111aと、第2変換部111bと、類似度算出部111cと、正規化部111dとを備える。なお、評価部111が正規化部111dを備える一例を説明するが、本発明は類似度の大小にもとづく係数の符号化順を決定することが目的であるため、評価部111は必ずしも正規化部111dを備えていなくてもよい。
 第1変換部111aは、動き補償予測部109から入力された参照画像1(第1参照画像)に対して直交変換を行うことにより、周波数成分ごとに第1変換係数を算出し、算出した第1変換係数を類似度算出部111cに出力する。
 第2変換部111bは、動き補償予測部109から入力された参照画像2(第2参照画像)に対して直交変換を行うことにより、周波数成分ごとに第2変換係数を算出し、算出した第2変換係数を類似度算出部111cに出力する。
 類似度算出部111cは、第1変換部111aから入力された第1変換係数と第2変換部111bから入力された第2変換係数との類似度を周波数成分ごとに算出し、算出した類似度を正規化部111dに出力する。類似度としては例えば差分値の絶対値を用いることができる。差分値の絶対値が小さいほど類似度が高く、差分値の絶対値が大きいほど類似度が低いといえる。類似度算出部111cは、各参照画像に対してフィルタ処理を行ったうえで差分値を算出してもよい。類似度算出部111cは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。以下においては、類似度として差分値の絶対値を用いる一例について説明する。
 正規化部111dは、類似度算出部111cから入力された変換係数間の差分値の絶対値を、ブロック内で差分値の絶対値が最大となる周波数成分の大きさ(すなわち、ブロック内の差分値の絶対値の最大値)で正規化して出力する。正規化された差分値は、エントロピー符号化部103において変換係数の符号化順を決定するための重要度として用いられる。変換係数間の絶対値が小さいほど類似度が高く、予測精度も高くなるため、予測誤差信号の変換係数の符号化における重要度が低い。一方、絶対値が大きい係数成分ほど類似度が低く、予測精度も低くなるため、予測誤差信号の変換係数の符号化における重要度が高い係数とみなすことが出来る。このため、エントロピー符号化部103は、重要度が高い周波数成分の変換係数を優先的に符号化する。
 正規化部111dは、量子化の粗さを定める量子化パラメータ(Qp)と、変換係数ごとに異なる量子化値が適用される量子化行列との少なくとも一方に基づいて、正規化部111dから入力された正規化差分値(重要度)を調整し、調整後の重要度を出力してもよい。量子化の粗さが大きいほど復元予測残差の劣化度が高いため、量子化パラメータ(Qp)や量子化行列の量子化値に基づいて正規化差分値を調整することにより、劣化度を考慮して重要度を設定することができる。
 評価部111が出力する各周波数成分(ij)の重要度Rijは、例えば下記の式(4)のように表現することができる。
 Rij = (abs(Xij-Yij)/maxD × Scale(Qp))          ・・・(4)
 式(4)において、Xijは参照画像1の周波数成分ijの変換係数であり、Yijは参照画像2の周波数成分ijの変換係数であり、absは絶対値を得る関数である。類似度算出部111cは、abs(Xij-Yij)を出力する。
 また、式(4)において、maxDは、ブロック内の差分値abs(Xij-Yij)の最大値である。maxDを求めるために、ブロック内のすべての周波数成分について変換係数間の差分値を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値などで代用してもよく、例えば、その値以上が存在する場合は、使用した最大値でクリップすることで、maxDの正規化を行ってもよい。或いは、量子化パラメータ(Qp)や量子化行列の量子化値と、maxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)や量子化行列の量子化値からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。正規化部111dは、abs(Xij-Yij)/maxDを出力する。
 また、式(4)において、Scale(Qp)は、量子化パラメータ(Qp)や量子化行列の量子化値に応じて乗じられる係数である。Scale(Qp)は、Qpや量子化行列の量子化値が大きい場合に1.0に近づき、小さい場合に0に近づくように設計され、その度合いはシステムによって調整するものとする。或いは、予め仕様で規定された固定値をScale(Qp)として用いてもよい。さらに、処理を簡略化するため、Scale(QP)を1.0などシステムに応じて設計された固定値としてもよい。
 正規化部111dは、abs(Xij-Yij)/maxD×Scale(Qp)を重要度Rijとして出力する。また、このRijは、システムに応じて設計される感度関数によって調整された重み付けを出力しても良い。例えば、abs(Xij-Yij)/maxD×Scale(Qp)=rijとし、Rij=Clip(rij,1.0,0.0)だけではなく、Rij=Clip(rij+offset,1.0,0.0)とオフセットをつけて感度を調整してもよい。なお、Clip(x,max,min)は、xがmaxを超える場合はmaxで、xがminを下回る場合はminでクリップする処理を示す。
 このようにして算出された重要度Rijは、0から1.0までの範囲内の値となる。基本的には、重要度Rijは、周波数成分ijの変換係数間の差分値が大きい(すなわち、予測精度が低い)場合に1.0に近づき、小さい(すなわち、予測精度が高い)場合に0に近づく。評価部111は、ブロック内の各周波数成分ijの重要度Rijからなるマップ情報(以下、「重要度マップ」と称する)をエントロピー符号化部103に出力する。
 なお、評価部111は、複数の参照画像を用いる動き補償予測を適用する場合にのみ評価(重要度Rijの算出)を行い、それ以外のモード、例えば単方向予測や、複数参照画像を用いないイントラ予測処理においては、評価(重要度Rijの算出)を行わない、又は重要度Rijとして一律に1.0を設定する。
 また、画像復号装置2における評価部208は、画像符号化装置1における評価部111と同様に構成される。具体的には、画像復号装置2における評価部208は、第1変換部208aと、第2変換部208bと、類似度算出部208cと、正規化部208dとを備える。画像復号装置2における評価部208は、ブロック内の各周波数成分ijの重要度Rijからなる重要度マップをエントロピー符号復号部200に出力する。
 (3.5.エントロピー符号化部)
 図19は、エントロピー符号化部103の構成の一例を示す図である。図19に示すように、エントロピー符号化部103は、ソート部103aと、シリアライズ部103bと、符号化部103cとを備える。ソート部103a及びシリアライズ部103bは、並び替え部を構成する。
 ソート部103aは、評価部111から入力された重要度マップ中の重要度Rijを高い順に並べ替える。重要度マップにおいて重要度Rijは2次元に配列されているため、ソート部103aは、例えば重要度マップを予め定めたスキャン順によりシリアライズして重要度列R[i]とし、インデックスラベルiを記憶する。そして、ソート部103aは、重要度列R[i]中の重要度Rijが高い順にインデックスラベルiを並び替え、重要度順に並び替えたインデックスラベルiをシリアライズ部103bに出力する。
 シリアライズ部103bは、量子化部102bから入力された変換係数を所定のスキャン順で読み出して変換係数列を符号化部103cに出力するシリアライズ処理を行う。量子化部102bから入力された変換係数は2次元に配列されているため、シリアライズ部103bは、例えば2次元に配列された変換係数を所定のスキャン順でシリアライズして変換係数列C[i]とする。ここで、シリアライズ部103bとソート部103aとで同じスキャン順を用いる。そして、シリアライズ部103bは、ソート部103aから入力されたインデックスラベルiに基づいて、変換係数列C[i]中の変換係数を重要度が高い順に並び替えて出力する。すなわち、シリアライズ部103bは、評価部111による評価の結果に基づいて、変換係数間の類似度の低い周波数成分から順に変換係数が変換係数列に含まれるようにシリアライズ処理を行う。これにより、有意係数(非ゼロ係数)をまとめることができる。
 或いは、シリアライズ部103bは、重要度が高い順に変換係数をスキャンするようにスキャン順を決定し、決定したスキャン順でスキャンを行うことにより、重要度が高い順に変換係数が並ぶ変換係数列を出力してもよい。
 符号化部103cは、シリアライズ部103bから入力された変換係数列中の変換係数を符号化して符号化データを出力する。符号化部103cは、シリアライズ部103bから入力された変換係数列の最後の有意係数を終了位置として、終了位置までの変換係数を符号化する。上記のように有意係数をまとめることにより、終了位置までの変換係数の数を少なくし、符号化すべき変換係数列の長さを短くすることができる。
 なお、エントロピー符号化部103は、複数の参照画像を用いる動き補償予測を適用する場合にのみ重要度による並び替え処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、重要度による並び替え処理を行わなくてもよい。
 (3.6.エントロピー符号復号部)
 図20は、エントロピー符号復号部200の構成の一例を示す図である。図20に示すように、エントロピー符号復号部200は、復号部200aと、ソート部200bと、デシリアライズ部200cとを備える。ソート部200b及びデシリアライズ部200cは、並び替え部を構成する。
 復号部200aは、画像符号化装置1により生成された符号化データを復号し、変換係数列(量子化された変換係数)と、予測(イントラ予測及び動き補償予測)に関する情報とを取得し、変換係数列をデシリアライズ部200cに出力し、予測に関する情報をイントラ予測部203及び動き補償予測部206に出力する。
 ソート部200bは、評価部208から入力された重要度マップ中の重要度Rijを高い順に並べ替える。重要度マップにおいて重要度Rijは2次元に配列されているため、ソート部200bは、例えば重要度マップを予め定めたスキャン順によりシリアライズして重要度列R[i]とし、インデックスラベルiを記憶する。そして、ソート部200bは、重要度列R[i]中の重要度Rijが高い順にインデックスラベルiを並び替え、重要度順に並び替えたインデックスラベルiとこのインデックスラベルiに対応する座標値(周波数成分ij)とをデシリアライズ部200cに出力する。
 デシリアライズ部200cは、復号部200aから入力された変換係数列を、ソート部200bから入力されたインデックスラベルiと座標値(周波数成分ij)とに基づいてデシリアライズし、2次元に配列された変換係数を逆量子化部201aに出力する。
 なお、エントロピー符号復号部200は、複数の参照画像を用いる動き補償予測を適用する場合にのみ重要度による並び替え処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、重要度による並び替え処理を行わなくてもよい。
 (3.7.画像符号化フロー)
 図21は、第3実施形態に係る画像符号化装置1における処理フローを示す図である。ここでは、本発明に関連する動作を主として説明し、本発明との関連度の低い動作については説明を省略する。
 図21に示すように、ステップS3101において、動き補償予測部109は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
 ステップS3102において、評価部111は、複数の参照画像間の類似度を周波数成分ごとに評価し、ブロック内の各周波数成分の重要度を示す重要度マップを生成する。
 ステップS3103において、減算部101は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
 ステップS3104において、変換・量子化部102は、減算部101が算出した予測残差に対して直交変換及び量子化を行うことにより、量子化された変換係数を生成する。
 ステップS3105において、エントロピー符号化部103は、評価部111による評価の結果(重要度マップ)に基づいて、変換・量子化部102(量子化部102b)から入力された変換係数を重要度の高い順(すなわち、変換係数間の類似度の低い順)に並び替えて出力する。
 ステップS3106において、エントロピー符号化部103は、重要度の高い順に並び替えた変換係数をエントロピー符号化により符号化して符号化データを出力する。
 ステップS3107において、逆量子化・逆変換部104は、変換・量子化部102(量子化部102b)から入力された変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
 ステップS3108において、合成部105は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
 ステップS3109において、ループフィルタ107は、再構成画像に対してフィルタ処理を行う。
 ステップS3110において、フレームメモリ108は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
 (3.8.画像復号フロー)
 図22は、第3実施形態に係る画像復号装置2における処理フローを示す図である。ここでは、本発明に関連する動作を主として説明し、本発明との関連度の低い動作については説明を省略する。
 図22に示すように、ステップS3201において、エントロピー符号復号部200は、符号化データを復号して動きベクトル情報を取得し、取得した動きベクトル情報を動き補償予測部206に出力する。
 ステップS3202において、動き補償予測部206は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
 ステップS3203において、評価部208は、複数の参照画像間の類似度を周波数成分ごとに算出し、ブロック内の各周波数成分の重要度を示す重要度マップを生成する。
 ステップS3204において、エントロピー符号復号部200は、符号化データを復号して変換係数列を取得し、取得した変換係数列を並び替えて、2次元に配列された変換係数を逆量子化・逆変換部201に出力する。
 ステップS3205において、逆量子化・逆変換部201は、変換係数(量子化された変換係数)に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
 ステップS3206において、合成部202は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
 ステップS3207において、ループフィルタ204は、再構成画像に対してフィルタ処理を行う。
 ステップS3208において、フレームメモリ205は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
 (3.9.第3実施形態のまとめ)
 画像符号化装置1において、評価部111は、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号化部103に出力する。エントロピー符号化部103は、評価部111による評価の結果に基づいて、量子化部102bから入力された変換係数を並び替えて符号化する。類似度の低い周波数成分の変換係数を集中させる(まとめる)よう並び替えて符号化することにより、変換係数を効率的に符号化し、効率的なエントロピー符号化を行うことが可能となるため、符号化効率を改善することができる。
 画像復号装置2において、評価部208は、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号復号部200に出力する。エントロピー符号復号部200は、符号化データを復号して周波数成分ごとに変換係数を取得し、評価部208による評価の結果に基づいて変換係数を並べ替えて出力する。このように、評価部208による評価の結果に基づいて変換係数を並べ替えることにより、並び替えの詳細を指定する情報が画像復号装置1から伝送されなくても、エントロピー符号復号部200が自律的に変換係数を並べ替えることができる。よって、並び替えの詳細を指定する情報を画像復号装置1から伝送する必要がなく、符号化効率の低下を回避することができる。
 (3.10.第3実施形態の変更例)
 図23は、画像符号化装置1における評価部111の構成の変更例を示す図である。図23に示すように、本変更例に係る評価部111Aは、類似度算出部111cと、変換部111eと、正規化部111dとを備える。なお、評価部111が正規化部111dを備える一例を説明するが、評価部111は必ずしも正規化部111dを備えていなくてもよい。
 類似度算出部111cは、動き補償予測部109から入力された参照画像1(第1参照画像)及び参照画像2(第2参照画像)の類似度を画素単位で算出し、画素単位で算出した類似度を変換部111eに出力する。類似度としては例えば差分値の絶対値を用いることができる。絶対値が小さいほど類似度が高く、絶対値が大きいほど類似度が低いといえる。類似度算出部111cは、各参照画像に対してフィルタ処理を行ったうえで差分値を算出してもよい。類似度算出部111cは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。以下においては、類似度として差分値の絶対値を用いる一例について説明する。
 類似度算出部111cは、類似度算出部111cから入力された画素単位の類似度(差分値)に対して直交変換を行うことにより、周波数成分ごとに類似度を算出する。
 正規化部111dは、類似度算出部111cから入力された周波数成分単位の差分値(変換係数)を、ブロック内で差分値が最大となる周波数成分の差分値(すなわち、ブロック内の差分値の絶対値の最大値)で正規化して出力する。
 正規化部111dは、量子化の粗さを定める量子化パラメータ(Qp)と、変換係数ごとに異なる量子化値が適用される量子化行列との少なくとも一方に基づいて、正規化部111dから入力された正規化差分値(重要度)を調整して出力してもよい。
 変更例に係る評価部111Aが出力する各周波数成分(ij)の重要度Rijは、例えば下記の式(5)のように表現することができる。
 Rij = abs(Dij)/maxD × Scale(Qp)     ・・・(5)
 式(5)において、Dijは周波数成分ijの変換係数であり、absは絶対値を得る関数である。変換部111eは、abs(Dij)を出力する。
 また、式(5)において、maxDは、ブロック内の変換係数の最大値である。maxDを求めるためにブロック内のすべての周波数成分について変換係数を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値などで代用してもよい。或いは、量子化パラメータ(Qp)や量子化行列の量子化値と、maxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)や量子化行列の量子化値からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。正規化部111dは、abs(Dij)/maxDを出力する。式(5)において、Scale(Qp)は、上述した第3実施形態と同様である。
 このようにして、変更例に係る評価部111Aは、ブロック内の各周波数成分ijの重要度Rijからなる重要度マップを生成し、生成した重要度マップをエントロピー符号化部103に出力する。
 変更例に係る評価部111Aによれば、上述した第3実施形態に係る評価部111に比べて、直交変換部の数を減らすことができるため、処理負荷を削減することができる。一般的に、映像の符号化で用いられる直交変換はほぼ正規直交変換であるため、変更例に係る評価部111Aは、第3実施形態に係る評価部111と同等の性能を得ることができる。
 また、変更例において、画像復号装置2における評価部208Aは、画像符号化装置1における評価部111Aと同様に構成される。具体的には、画像復号装置2における評価部208Aは、類似度算出部208cと、変換部208eと、正規化部208dとを備える。画像復号装置2における評価部208Aは、ブロック内の各周波数成分ijの重要度Rijからなる重要度マップをエントロピー符号復号部200に出力する。
 <4.その他の実施形態>
 上述した第1実施形態及び第2実施形態を併用してもよい。図14は、第1実施形態及び第2実施形態を併用する場合の画像符号化装置1の構成を示す図である。図14に示すように、評価部111は、評価結果(マップ情報)を合成部105及びループフィルタ107の両方に出力する。図15は、第1実施形態及び第2実施形態を併用する場合の画像復号装置2の構成を示す図である。図15に示すように、評価部208は、評価結果(マップ情報)を合成部202及びループフィルタ204の両方に出力する。
 上述した第3実施形態において、エントロピー符号化部103が、2次元に配列された変換係数の全てを重要度順に読み出してシリアライズ処理を行う一例について説明した。しかしながら、2次元に配列された変換係数のうち重要度が高い順に上位数個のみを読み出し、それ以外の変換係数についてはシステムで定められた固定の順序で読み出すとしてもよい。或いは、2次元に配列された変換係数について、重要度に応じて読み出し順を所定の数だけ繰り上げる又は繰り下げるとしてもよい。
 上述した第3実施形態において、変換係数のスキャン順として、例えばMPEG2で採用されているようなジグザグスキャンを用いることができるが、例えば最新の符号化方式であるHEVC(非特許文献1参照)の場合、変換係数の並び替えは、ブロック内において4×4の変換係数ごとにグループ分けされたCGと呼ばれる単位で行われる。CG内に非ゼロ係数があるか否かを判定し、CG内に非ゼロ係数がある場合に、そのCG内の変換係数をシリアライズして符号化する。上述した第3実施形態に係る動作を、CG内の変換係数を読み出す際の変換係数の並び替えに応用することもできる。また、あるいはCGの読み出し順を決定するシリアライズに適用し、CG内の直交変換係数の類似度の平均を算出しCGごとの類似度を比較することによって読み出し順の並べ替えに応用することも出来る。
 上述した各実施形態において、動き補償予測としてインター予測を主として説明した。インター予測においては、現フレームと異なるフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。しかしながら、動き補償予測に限定されるものではなく例えばイントラプロックコピーと呼ばれる技術における複数参照ブロックにも適用することが可能である。イントラプロックコピーにおいては、現フレームと同じフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。
 上述した本発明の具体例は、画像符号化装置1が行う各処理をコンピュータに実行させるプログラム及び画像復号装置2が行う各処理をコンピュータに実行させるプログラムにより提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。また、画像符号化装置1が行う各処理を実行する回路を集積化し、画像符号化装置1を半導体集積回路(チップセット、SoC)として構成してもよい。同様に、画像復号装置2が行う各処理を実行する回路を集積化し、画像復号装置2を半導体集積回路(チップセット、SoC)として構成してもよい。
 以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
 なお、本願は、日本国特許出願第2018-065895号(2018年3月29日出願)及び日本国特許出願第2018-065886号(2018年3月29日出願)の優先権を主張し、これらの内容の全てが参照により本願明細書に組み込まれている。

Claims (23)

  1.  対象画像を符号化する画像符号化装置であって、
     複数の参照画像を用いて予測を行うことにより、前記対象画像に対応する予測画像を生成する予測部と、
     前記複数の参照画像間の類似度を算出することにより、前記予測画像の予測精度を評価する評価部と、を備える、画像符号化装置。
  2.  前記評価部は、前記複数の参照画像間の類似度を、1又は複数の画素からなる画像部分ごとに算出することにより、前記予測画像の予測精度を前記画像部分ごとに評価する、請求項1に記載の画像符号化装置。
  3.  前記対象画像と前記予測画像との間の画素単位での差分を示す予測残差に対して直交変換及び量子化を行う変換・量子化部と、
     前記変換・量子化部から入力された量子化変換係数に対して逆量子化及び逆直交変換を行うことにより、前記予測残差を復元する逆量子化・逆変換部と、
     前記逆量子化・逆変換部から入力された復元予測残差を画素単位で前記予測画像と合成することにより、前記対象画像を再構成する合成部と、をさらに備え、
     前記合成部は、前記評価部による評価の結果に基づいて、前記予測画像と合成する前記復元予測残差を前記画像部分ごとに制御する、請求項2に記載の画像符号化装置。
  4.  前記合成部は、
     前記予測画像と合成する前記復元予測残差に対して前記画像部分ごとに重み付けを行う重み付け部と、
     前記重み付け後の前記復元予測残差を画素単位で前記予測画像に加算する加算部と、を含み、
     前記評価部は、前記評価の結果に基づいて、前記重み付けに用いる重みを前記画像部分ごとに設定する、請求項3に記載の画像符号化装置。
  5.  前記対象画像と前記予測画像との間の画素単位での差分を示す予測残差に対して直交変換及び量子化を行う変換・量子化部と、
     前記変換・量子化部から入力された量子化変換係数に対して逆量子化及び逆直交変換を行うことにより、前記予測残差を復元する逆量子化・逆変換部と、
     前記逆量子化・逆変換部から入力された復元予測残差を画素単位で前記予測画像と合成することにより、前記対象画像を再構成する合成部と、
     前記合成部から入力された再構成画像に対してフィルタ処理を行うループフィルタと、をさらに備え、
     前記ループフィルタは、前記評価部による評価の結果に基づいて、前記フィルタ処理におけるフィルタ強度を前記画像部分ごとに制御する、請求項2に記載の画像符号化装置。
  6.  前記ループフィルタは、
     前記フィルタ強度を定めるオフセット値に対して前記画像部分ごとに重み付けを行う重み付け部と、
     前記重み付け後の前記オフセット値を画素単位で前記再構成画像に加算する加算部と、を含み、
     前記評価部は、前記評価の結果に基づいて、前記重み付けに用いる重みを前記画像部分ごとに設定する、請求項5に記載の画像符号化装置。
  7.  前記評価部は、前記複数の参照画像間の類似度を1又は複数の周波数成分ごとに評価する、請求項1に記載の画像符号化装置。
  8.  前記対象画像と前記予測画像との間の画素単位での差分を示す予測残差に対して直交変換を行うことにより、周波数成分ごとに変換係数を算出する変換部と、
     前記評価部による評価の結果に基づいて前記変換係数を並び替える並び替え部と、
     前記並び替え部による並び替え後の前記変換係数を符号化する符号化部と、を備える、請求項7に記載の画像符号化装置。
  9.  前記評価部は、
     前記複数の参照画像に含まれる第1参照画像に対して直交変換を行うことにより、周波数成分ごとに第1変換係数を算出する第1変換部と、
     前記複数の参照画像に含まれる第2参照画像に対して直交変換を行うことにより、周波数成分ごとに第2変換係数を算出する第2変換部と、
     前記第1変換係数と前記第2変換係数との類似度を1又は複数の周波数成分ごとに算出する類似度算出部と、を備える、請求項7又は8に記載の画像符号化装置。
  10.  前記評価部は、
     前記複数の参照画像に含まれる第1及び第2参照画像の類似度を画素単位で算出する類似度算出部と、
     前記類似度算出部により画素単位で算出された前記類似度に対して直交変換を行うことにより、周波数成分ごとに前記類似度を算出する変換部と、を備える、請求項7又は8に記載の画像符号化装置。
  11.  前記並び替え部は、2次元に配列された前記変換係数を所定のスキャン順で読み出して変換係数列を出力するシリアライズ処理を行い、
     前記符号化部は、前記変換係数列のうち非ゼロ係数を符号化し、
     前記並び替え部は、前記評価部による評価の結果に基づいて、前記類似度が所定の条件を満たす周波数成分に対応する前記変換係数が前記変換係数列に集中的に含まれるように前記シリアライズ処理を行う、請求項7乃至10のいずれか一項に記載の画像符号化装置。
  12.  対象画像を復号する画像復号装置であって、
     複数の参照画像を用いて予測を行うことにより、前記対象画像に対応する予測画像を生成する予測部と、
     前記複数の参照画像間の類似度を算出することにより、前記予測画像の予測精度を評価する評価部と、を備える、画像復号装置。
  13.  前記評価部は、前記複数の参照画像間の類似度を、1又は複数の画素からなる画像部分ごとに算出することにより、前記予測画像の予測精度を前記画像部分ごとに評価する、請求項12に記載の画像復号装置。
  14.  前記対象画像と前記予測画像との間の画素単位での差分を示す予測残差を画像符号化装置において直交変換及び量子化して得られた量子化変換係数に対して逆量子化及び逆直交変換を行うことにより、前記予測残差を復元する逆量子化・逆変換部と、
     前記逆量子化・逆変換部から入力された復元予測残差を画素単位で前記予測画像と合成することにより、前記対象画像を再構成する合成部と、をさらに備え、
     前記合成部は、前記評価部による評価の結果に基づいて、前記予測画像と合成する前記復元予測残差を前記画像部分ごとに制御する、請求項13に記載の画像復号装置。
  15.  前記合成部は、
     前記予測画像と合成する前記復元予測残差に対して前記画像部分ごとに重み付けを行う重み付け部と、
     前記重み付け後の前記復元予測残差を画素単位で前記予測画像に加算する加算部と、を含み、
     前記評価部は、前記評価の結果に基づいて、前記重み付けに用いる重みを前記画像部分ごとに設定する、請求項14に記載の画像復号装置。
  16.  前記対象画像と前記予測画像との間の画素単位での差分を示す予測残差を画像符号化装置において直交変換及び量子化して得られた量子化変換係数に対して逆量子化及び逆直交変換を行うことにより、前記予測残差を復元する逆量子化・逆変換部と、
     前記逆量子化・逆変換部から入力された復元予測残差を画素単位で前記予測画像と合成することにより、前記対象画像を再構成する合成部と、
     前記合成部から入力された再構成画像に対してフィルタ処理を行うループフィルタと、をさらに備え、
     前記ループフィルタは、前記評価部による評価の結果に基づいて、前記フィルタ処理におけるフィルタ強度を前記画像部分ごとに制御する、請求項13に記載の画像復号装置。
  17.  前記ループフィルタは、
     前記フィルタ強度を定めるオフセット値に対して前記画像部分ごとに重み付けを行う重み付け部と、
     前記重み付け後の前記オフセット値を画素単位で前記再構成画像に加算する加算部と、を含み、
     前記評価部は、前記評価の結果に基づいて、前記重み付けに用いる重みを前記画像部分ごとに設定する、請求項16に記載の画像復号装置。
  18.  前記評価部は、前記複数の参照画像間の類似度を1又は複数の周波数成分ごとに評価する、請求項12に記載の画像復号装置。
  19.  前記符号化データを復号して周波数成分ごとに変換係数を取得する復号部と、
     前記評価部による評価の結果に基づいて前記変換係数を並べ替えて出力する並び替え部と、を備える、請求項18に記載の画像復号装置。
  20.  前記評価部は、
     前記複数の参照画像に含まれる第1参照画像に対して直交変換を行うことにより、周波数成分ごとに第1変換係数を算出する第1変換部と、
     前記複数の参照画像に含まれる第2参照画像に対して直交変換を行うことにより、周波数成分ごとに第2変換係数を算出する第2変換部と、
     前記第1変換係数と前記第2変換係数との類似度を1又は複数の周波数成分ごとに算出する類似度算出部と、を備える、請求項18又は19に記載の画像復号装置。
  21.  前記評価部は、
     前記複数の参照画像に含まれる第1及び第2参照画像の類似度を画素単位で算出する類似度算出部と、
     前記類似度算出部により画素単位で算出された前記類似度に対して直交変換を行うことにより、周波数成分ごとに前記類似度を算出する変換部と、を備える、請求項18又は19に記載の画像復号装置。
  22.  コンピュータを請求項1乃至11のいずれか一項に記載の画像符号化装置として機能させるためのプログラム。
  23.  コンピュータを請求項12乃至21のいずれか一項に記載の画像復号装置として機能させるためのプログラム。
PCT/JP2019/014359 2018-03-29 2019-03-29 画像符号化装置、画像復号装置、及びプログラム WO2019189899A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020227019455A KR20220085841A (ko) 2018-03-29 2019-03-29 화상 부호화 장치, 화상 복호 장치 및 프로그램
EP19774775.1A EP3780598A4 (en) 2018-03-29 2019-03-29 PICTURE CODING DEVICE, PICTURE DECODING DEVICE, AND PROGRAM
KR1020207030463A KR102409138B1 (ko) 2018-03-29 2019-03-29 화상 부호화 장치, 화상 복호 장치 및 프로그램
JP2020509368A JP6892555B2 (ja) 2018-03-29 2019-03-29 画像符号化装置、画像復号装置、及びプログラム
CN201980028417.XA CN112020859A (zh) 2018-03-29 2019-03-29 图像编码装置、图像解码装置以及程序
US17/035,208 US11394958B2 (en) 2018-03-29 2020-09-28 Image encoding device, image decoding device and program
US17/841,461 US11818360B2 (en) 2018-03-29 2022-06-15 Image encoding device, image decoding device and program
US18/482,140 US20240040128A1 (en) 2018-03-29 2023-10-06 Image encoding device, image decoding device and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018065895 2018-03-29
JP2018-065895 2018-03-29
JP2018065886 2018-03-29
JP2018-065886 2018-03-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/035,208 Continuation US11394958B2 (en) 2018-03-29 2020-09-28 Image encoding device, image decoding device and program

Publications (1)

Publication Number Publication Date
WO2019189899A1 true WO2019189899A1 (ja) 2019-10-03

Family

ID=68058216

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/014359 WO2019189899A1 (ja) 2018-03-29 2019-03-29 画像符号化装置、画像復号装置、及びプログラム

Country Status (6)

Country Link
US (3) US11394958B2 (ja)
EP (1) EP3780598A4 (ja)
JP (2) JP6892555B2 (ja)
KR (2) KR20220085841A (ja)
CN (1) CN112020859A (ja)
WO (1) WO2019189899A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11689743B2 (en) * 2020-11-12 2023-06-27 Tencent America LLC Method and apparatus for video coding
CN112905829A (zh) * 2021-03-25 2021-06-04 王芳 一种跨模态人工智能信息处理系统及检索方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010010942A1 (ja) * 2008-07-25 2010-01-28 ソニー株式会社 画像処理装置および方法
WO2011080806A1 (ja) * 2009-12-28 2011-07-07 富士通株式会社 動画像符号化装置および動画像復号装置
WO2011080807A1 (ja) * 2009-12-28 2011-07-07 富士通株式会社 動画像符号化装置および動画像復号装置
JP2018065886A (ja) 2016-10-17 2018-04-26 国立大学法人山口大学 含硫黄樹脂
JP2018065895A (ja) 2016-10-17 2018-04-26 西工業株式会社 可塑剤抽出装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059785A (ja) * 1998-08-06 2000-02-25 Hitachi Ltd 予測復号装置
KR100597402B1 (ko) * 2003-12-01 2006-07-06 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
KR20130034566A (ko) * 2011-09-28 2013-04-05 한국전자통신연구원 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치
TWI618401B (zh) * 2011-12-28 2018-03-11 Jvc Kenwood Corp Motion picture coding device, motion picture coding method and memory medium
JP6012014B2 (ja) * 2012-03-30 2016-10-25 サン パテント トラスト 画像符号化方法および画像復号方法
KR101373704B1 (ko) * 2012-05-29 2014-03-14 주식회사 코아로직 적응적 가중치 예측을 이용한 영상 처리 방법
WO2017197146A1 (en) * 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
WO2019189900A1 (ja) * 2018-03-29 2019-10-03 日本放送協会 画像符号化装置、画像復号装置、及びプログラム
US11575933B2 (en) * 2018-04-06 2023-02-07 Vid Scale, Inc. Bi-directional optical flow method with simplified gradient derivation
JP7022731B2 (ja) 2019-11-12 2022-02-18 Kddi株式会社 多数のアンテナを選択的に使用する制御装置、制御方法、及びプログラム。

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010010942A1 (ja) * 2008-07-25 2010-01-28 ソニー株式会社 画像処理装置および方法
WO2011080806A1 (ja) * 2009-12-28 2011-07-07 富士通株式会社 動画像符号化装置および動画像復号装置
WO2011080807A1 (ja) * 2009-12-28 2011-07-07 富士通株式会社 動画像符号化装置および動画像復号装置
JP2018065886A (ja) 2016-10-17 2018-04-26 国立大学法人山口大学 含硫黄樹脂
JP2018065895A (ja) 2016-10-17 2018-04-26 西工業株式会社 可塑剤抽出装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IWAMURA, SHUNSUKE ET AL.: "Description of SDR and HDR video coding technology proposal by NHK and SHARP", 10. JVET MEETING; 10-4-2018 - 20-4-2018; SAN DIEGO; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-J0027, 2 April 2018 (2018-04-02), San Diego, US, pages 1 - 10, XP030151195 *

Also Published As

Publication number Publication date
JP7203149B2 (ja) 2023-01-12
US11394958B2 (en) 2022-07-19
KR102409138B1 (ko) 2022-06-16
US20220321877A1 (en) 2022-10-06
US11818360B2 (en) 2023-11-14
EP3780598A1 (en) 2021-02-17
US20210014481A1 (en) 2021-01-14
KR20200136443A (ko) 2020-12-07
JPWO2019189899A1 (ja) 2021-02-12
US20240040128A1 (en) 2024-02-01
EP3780598A4 (en) 2022-01-26
JP2021141604A (ja) 2021-09-16
JP6892555B2 (ja) 2021-06-23
CN112020859A (zh) 2020-12-01
KR20220085841A (ko) 2022-06-22

Similar Documents

Publication Publication Date Title
US8249145B2 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
JP7092920B2 (ja) 画像復号装置及びプログラム
US20070160298A1 (en) Image encoder, image decoder, image encoding method, and image decoding method
JP2015164349A (ja) ビデオの画像コーディング及びイントラコーディングのための暗黙の係数予測及び走査適合化を提供するビデオコーダー
JP7203149B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
JP7483964B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
JP2023123811A (ja) 画像復号装置及び画像復号方法
JP6402520B2 (ja) 符号化装置、方法、プログラム及び機器
JP7291471B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
JP2938652B2 (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: 19774775

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020509368

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20207030463

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2019774775

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2019774775

Country of ref document: EP

Effective date: 20201029