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

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

Info

Publication number
WO2013001720A1
WO2013001720A1 PCT/JP2012/003653 JP2012003653W WO2013001720A1 WO 2013001720 A1 WO2013001720 A1 WO 2013001720A1 JP 2012003653 W JP2012003653 W JP 2012003653W WO 2013001720 A1 WO2013001720 A1 WO 2013001720A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
unit
signal
coding
image
Prior art date
Application number
PCT/JP2012/003653
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 三菱電機株式会社
Publication of WO2013001720A1 publication Critical patent/WO2013001720A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Definitions

  • the present invention relates to an image coding apparatus and an image coding method for compressing and coding an image and transmitting the same, and an image decoding apparatus and an image decoding method for decoding an image from coded data transmitted by the image coding apparatus. is there.
  • FIG. 16 is a block diagram showing an image coding apparatus disclosed in Non-Patent Document 1.
  • the image division unit 101 when the block division unit 101 receives an image signal to be coded, the image division unit divides the image signal into macro block units and outputs the image signal of macro block units to the prediction unit 102 as divided image signals. .
  • the prediction unit 102 predicts the image signal of each color component in the macroblock within or between the frames to calculate a prediction error signal.
  • a motion vector is searched in units of a macroblock itself or subblocks obtained by further dividing the macroblock. Then, using the motion vector, motion compensated prediction is performed on the reference image signal stored in the memory 107 to generate a motion compensated predicted image, and a prediction signal indicating the motion compensated predicted image and the divided image signal are generated. The prediction error signal is calculated by finding the difference.
  • the prediction unit 102 outputs, to the variable-length coding unit 108, the prediction signal generation parameter determined when obtaining the prediction signal.
  • the prediction signal generation parameters include, for example, information such as an intra prediction mode indicating how to perform spatial prediction in a frame, and a motion vector indicating an amount of motion between frames.
  • the compression unit 103 When receiving the prediction error signal from the prediction unit 102, the compression unit 103 performs DCT (Discrete Cosine Transform) processing on the prediction error signal to remove signal correlation, and then quantizes to obtain compressed data.
  • DCT Discrete Cosine Transform
  • the local decoding unit 104 receives the compressed data from the compression unit 103, the local decoding unit 104 inversely quantizes the compressed data to perform inverse DCT processing, thereby generating a prediction error signal corresponding to the prediction error signal output from the prediction unit 102.
  • the adder 105 adds the prediction error signal and the prediction signal output from the prediction unit 102 to generate a locally decoded image.
  • the loop filter 106 removes coding distortion superimposed on the local decoded image signal indicating the local decoded image generated by the adder 105, and stores the local decoded image signal after distortion removal in the memory 107 as a reference image signal.
  • variable-length coding unit 108 When the variable-length coding unit 108 receives the compressed data from the compression unit 103, the variable-length coding unit 108 entropy codes the compressed data, and outputs a bit stream that is the coding result. When outputting a bitstream, the variable-length coding unit 108 multiplexes the prediction signal generation parameters output from the prediction unit 102 into a bitstream and outputs the multiplexed signal.
  • the loop filter 106 designs a filter that minimizes the difference between the local decoded image and the input image, and aims to reduce distortion generated by encoding. . This improves the quality of the decoded image.
  • MPEG-4 AVC ISO / IEC 14496-10
  • ITU-T H.264 standard M. Karczewicz, P. Chen, R. L. Joshi, X. Wang, W. Chien, R. Panchal, Y. Reznik, M. Coban, and I. S. Chong, "A hybrid video coder based on extended macroblock sizes, improved interpolation and flexible motion representation, "IEEE Transactions on Circuits and Systems for Video Technology, p. 1698-p. 1708, published on November 15, 2010.
  • the loop filter in the conventional image coding device is configured to cluster the pixels of the locally decoded image based on only the edge strength and design the filter for each cluster, but this clustering method is extremely simple. There is a problem that the image quality improvement effect is limited because it is not optimal.
  • the present invention has been made to solve the above problems, and an image coding apparatus, an image decoding apparatus, an image coding method, and an image capable of improving the coded image quality at a predetermined coding bit rate.
  • the purpose is to obtain a decoding method.
  • An image coding apparatus generates a prediction signal of a block based on a coding mode of a block serving as a predetermined coding unit of each picture of a moving image signal and a prediction parameter in the block; Decoded predicted difference generated by expanding predicted difference signal encoded data obtained by compressing the predicted difference signal, which is the difference between the input signal corresponding to the block and the prediction signal, based on the predicted difference signal coding parameter in the block
  • a loop filter unit that performs filter processing on a signal obtained by adding a signal and a prediction signal, a block size and coding mode, a prediction parameter in the block, and a coding unit that multiplexes prediction differential signal coded data into a bit stream
  • the loop filter unit performs clustering to determine a pixel set as a unit of filter design, Run on the basis of one or more parameters, the prediction unit is characterized in that for generating a prediction signal based on the reference image generated from the output signal of the loop filter unit.
  • an image quality improvement filter for coding distortion removal when designing an image quality improvement filter for coding distortion removal to be applied to a decoded image, it is configured such that various indexes can be used in combination and the clustering method can be controlled extremely flexibly. As a result, it is possible to design an optimum image quality improvement filter for each cluster, and to improve the image quality improvement accuracy.
  • FIG. 7 is a diagram illustrating how a largest coding block is hierarchically divided into a plurality of coding blocks. It is a figure which shows the example of the result in which the largest coding block was hierarchically divided
  • FIG. 16 is a diagram for explaining how a largest coding block is hierarchically divided into a plurality of coding blocks when the largest coding block is not a square block. It is a block diagram which shows the image coding apparatus currently disclosed by the nonpatent literature 1.
  • FIG. 16 is a diagram for explaining how a largest coding block is hierarchically divided into a plurality of coding blocks when the largest coding block is not a square block. It is a block diagram which shows the image coding apparatus currently disclosed by the nonpatent literature 1.
  • Embodiment 1 In the first embodiment, motion compensated prediction is performed between adjacent frames with each frame image of video as input, and compression processing by orthogonal transformation and quantization is performed on the obtained prediction difference signal, and then a variable-length code is generated.
  • An image coding apparatus that generates a bit stream by performing quantization and an image decoding apparatus that decodes a bit stream output by the image coding apparatus will be described.
  • the image coding apparatus divides the video signal into regions of various sizes and adapts intra-frame and inter-frame adaptive coding in accordance with local changes in the space and time directions of the video signal.
  • the video signal has a characteristic that the complexity of the signal changes locally in space and time.
  • some images have uniform signal characteristics in a relatively large image area such as the sky or a wall, while small images such as people or paintings with fine textures
  • patterns with complicated texture patterns are mixed in the area.
  • the sky and walls locally have small changes in the pattern in the time direction, but moving people and objects have rigid and non-rigid movements in time, so the time changes large.
  • the coding process is a process of generating a prediction differential signal with small signal power and entropy by temporal and spatial prediction to reduce the overall code amount, but the parameter for prediction is made as large as possible to the image signal area. If it can apply uniformly, the code amount of the said parameter can be made small.
  • the number of prediction errors increases and the code amount of the prediction difference signal can not be reduced for an image signal pattern that changes temporally and spatially. Therefore, in such a region, it is desirable to reduce the region to be predicted and reduce the power / entropy of the prediction difference signal even if the data amount of parameters for prediction is increased.
  • the image coding apparatus divides each frame of video into coding blocks of the maximum block size which is separately determined. Region division is performed in the coding block, and prediction is performed for each of the divided regions, and the encoding processing of the prediction difference is adapted.
  • the video signal format to be processed by the image coding apparatus is a color of an arbitrary color space such as a YUV signal consisting of a luminance signal and two color difference signals, and an RGB signal output from a digital imaging device.
  • an arbitrary video signal such as a monochrome image signal or an infrared image signal, in which a video frame is composed of horizontal and vertical two-dimensional digital sample (pixel) rows, is used.
  • the tone of each pixel may be 8 bits, or may be a tone such as 10 bits or 12 bits.
  • the input video signal is a YUV signal, and a 4: 2: 0 format signal in which two color difference components U and V are subsampled with respect to the luminance component Y is handled.
  • the present invention can be applied to other formats in which the sampling intervals of U and V are different (for example, 4: 2: 2 format, 4: 4: 4 format, etc.).
  • the coding block also includes a color difference signal block of which the horizontal and vertical components are each half in size in addition to the luminance component block.
  • a processing data unit corresponding to each frame of video is called a "picture".
  • the “picture” is described as a video frame signal which is sequentially scanned (progressive scan). However, when the video signal is an interlaced signal, the “picture” forms a video frame. It may be a field image signal which is a unit of Also, in the following description, a group of spatially continuous coded blocks may be referred to as a "slice".
  • FIG. 1 is a block diagram showing a configuration of an image coding apparatus according to Embodiment 1 of the present invention. Further, FIG. 2 shows a flow of processing at the picture level of the image coding apparatus shown in FIG. The operation of the image coding apparatus according to the first embodiment will be described below using these figures.
  • the image coding apparatus shown in FIG. 1 first, in the coding control unit 3, the size of the largest coding block used for coding a picture to be coded (current picture) and the largest coding block are hierarchically divided. The upper limit of the number of layers is determined (step S1 in FIG. 2).
  • the same size may be set to all the pictures according to the resolution of the input video signal 1, or the difference in the complexity of the local motion of the input video signal 1
  • the parameter may be quantified as a parameter, and may be defined as a small size for a moving picture or a large size for a moving picture.
  • the upper limit of the number of division layers is set, for example, to make the number of layers deeper to detect finer motion when the motion of the input video signal 1 is severe, and to set the number of layers to be smaller when the motion is small. is there.
  • the block division unit 2 divides the picture into the above-defined maximum coding block size.
  • the encoding control unit 3 hierarchically determines the encoding block size 4 and the encoding mode 7 for each encoding block hierarchically up to the above-defined upper limit of the number of division layers, for each image area of the maximum encoding block size. .
  • the block division unit 2 further divides the block according to the coding block size 4 and outputs the coding block 5 (step S2 in FIG. 2).
  • FIG. 3 shows an example of how the largest coding block is hierarchically divided into a plurality of coding blocks 5.
  • the largest coding block is defined as a coding block having a pixel size of (L 0 , M 0 ) and a luminance component described as “layer 0” in FIG.
  • the coding block 5 is obtained by hierarchically dividing to a predetermined depth separately defined in a quadtree structure.
  • the coding block 5 is an image area of size (L n , M n ).
  • the coding block size 4 is defined as the size (L n , M n ) of the luminance component of the coding block 5.
  • the size of all color components is (L n , M n ), but 4: 2
  • the coding block size of the corresponding chrominance component is (L n / 2, M n / 2).
  • the coding block 5 of the nth layer is denoted by B n
  • the coding mode 7 that can be selected by B n is denoted by m (B n ).
  • the encoding mode m (B n ) 7 may be configured to use an individual mode for each color component, but thereafter, unless otherwise specified, the YUV signal , 4: 2: 0 format will be described as referring to the coding mode for the luminance component of the coding block, but the present invention can be applied to any video format, color component and coding mode.
  • Coding mode m (B n ) 7 includes one or more intra coding modes (collectively referred to as INTRA) and one or more inter coding modes (collectively referred to as INTER), Based on a selection method to be described later, the coding control unit 3 performs coding with the highest coding efficiency for the coding block B n 5 among all the coding modes available for the picture or a subset thereof. Choose a mode.
  • INTRA intra coding modes
  • INTER inter coding modes
  • the coding control unit 3 of the first embodiment generates a block division state as shown in FIG. 3 for each maximum coding block of a picture (current picture) to be coded,
  • the coding block size 4 is specified, and the coding block 5 is generated in the block division unit 2 according to this.
  • An example of the division state of the largest coding block obtained as a result is shown in FIG.
  • the area surrounded by the dotted line in FIG. 6A is the area defined as the coding block 5B n
  • the shaded portion is the distribution of partitions serving as a prediction processing unit in the coding block 5 (b)
  • the situation where coding mode m (B n ) 7 is assigned by hierarchical division is illustrated by a quadtree graph in FIG.
  • the nodes enclosed by ⁇ in (b) are nodes to which the coding mode 7 is assigned, ie, the coding block 5.
  • B n is further divided into one or more prediction processing units (partitions). Since belonging partition B n, P i n: is denoted as (i partition number in the n layer). The way in which B n is partitioned is included as information in the coding mode m (B n ) 7. Partition P i n prediction process all according to the coding mode m (B n) 7 is made, but can select an individual prediction parameter for each partition.
  • the intra prediction unit 8 in FIG. based on the intra prediction processing for each partition P i n in B n is performed, the intra prediction image 11 generated is output to the subtraction unit 12 (step S4 in FIG. 2).
  • the intra prediction parameter 10 used to generate the intra prediction image 11 has, for example, a directivity such that the intra prediction process in the first embodiment is defined in the AVC / H.264 standard (ISO / IEC 14496-10).
  • variable-length coding unit 23 When performing adaptive spatial prediction, the variable-length coding unit 23 includes the bitstream 30 to include information such as prediction mode information selected for each partition and to generate the completely same intra-predicted image 11 on the decoding device side. Are multiplexed.
  • the intra prediction process in the first embodiment is not limited to the algorithm defined in the AVC / H.264 standard (ISO / IEC 14496-10), but as the intra prediction parameter 10, the encoding device side and the decoding device side It is necessary to include the information necessary to generate the exact same intra-predicted image 11.
  • the inter prediction parameters 16 used to generate the inter prediction image 17 include -Mode information describing partitioning in coding block 5-Motion vector of each partition-Motion compensated prediction In the case of a configuration including a plurality of reference pictures in the frame memory 14, which reference picture should be used for prediction In the case where there are reference image indication index information indicating that there is a plurality of motion vector prediction value candidates, which index information indicates which motion vector prediction value to select and use, in the case where there are a plurality of motion compensation interpolation filters Identification information indicating whether to select and use a filter • If the motion vector of the partition can indicate multiple pixel accuracy (half pixel, 1/4 pixel, 1/8 pixel, etc.), which pixel accuracy In order to generate exactly the same inter-predicted image 17 on the decoding device side, the variable length coding is performed. It is multiplexed into the bit stream 30 by 23.
  • Subtraction unit 12 subtracts one of the intra prediction image 11 or the inter prediction image 17, the partition P i n, to obtain a prediction difference signal e i n 13 (step S6 in FIG. 2).
  • Transform and quantization unit 19 the prediction difference signal e i n 13, based on the predicted differential coding parameters 20 that are instructed from the coding control unit 3, DCT (discrete cosine transform) and prespecified learning sequence
  • DCT discrete cosine transform
  • prespecified learning sequence While performing orthogonal transformation processing such as KL transformation for which base design has been performed on a predetermined block (transformation block) basis to calculate transformation coefficients, the transformation coefficients are predicted from the encoding control unit 3
  • the quantization is performed based on the differential encoding parameter 20 (step S7 in FIG.
  • step S8 in FIG. 2 the compressed data 21 which is the transform coefficient after quantization is dequantized / inverted by the inverse quantization / inverse transform unit 22 (in step S8 in FIG. 2).
  • the conversion processing unit) and the variable length coding unit 23 (in step S8 in FIG. 2) are output to the variable length coding unit.
  • the inverse quantization / inverse transform unit 22 inversely quantizes the compressed data 21 input from the transform / quantization unit 19 in units of transform blocks based on the prediction differential encoding parameter 20 instructed from the encoding control unit 3. further inverse DCT, to generate a local decoded prediction difference signal e i n '24 prediction difference signal e i n 13 by carrying out the inverse transformation processing inverse KL transform, and outputs to the adder 25 (in FIG. 2 Step S9).
  • Predictive differential coding parameter 20 for each region of the coding block 5, including a quantization parameter used for encoding of the interior of the prediction difference signal e i n 13, the information of the transform block size.
  • the prediction difference coding parameter 20 is determined in the coding control unit 3 as part of the coding mode determination in step S2 of FIG.
  • the quantization parameter may be assigned one in the unit of the largest coding block, and may be commonly used in units of divided coding blocks, or may be a difference value from the value of the largest coding block in each coding block. It may be expressed.
  • the transformation block size information may be represented by quadtree partitioning similarly to the division of the largest coding block starting from the coding block 5, or some selectable transform block sizes may be expressed as index information.
  • the transform / quantization unit 19 and the inverse quantization / inverse transform unit 22 perform processing by specifying the block size of the transform / quantization process based on the information of the transform block size.
  • the information of the transform block size, the coding block 5 no may be configured to determine the partition P i n that divides the coded block 5 as a unit.
  • Adding unit 25, a local decoded prediction difference signal e i n '24, locally decoded by adding the intra prediction image 11 or the inter prediction image 17 partitions image P i n 'to locally decoded coded block image as the collection B n '(hereinafter, local decoded image) 26 is generated (step S10 in FIG. 2), and the local decoded image 26 is output to the loop filter unit 27 (loop filter unit in step S11 in FIG. 2) It stores in memory 28 (memory for intra prediction in step S11 of FIG. 2).
  • the locally decoded image 26 is an image signal for the subsequent intra prediction.
  • the output destination is the intra prediction memory, then it is determined whether all the coding blocks in the picture have been processed, and if the processing of all coding blocks has not been completed, the next coding block is followed. The same encoding process is repeated (step S12 in FIG. 2).
  • the loop filter unit 27 When the output destination of the addition unit 25 is the loop filter unit 27, the loop filter unit 27 performs predetermined filtering processing on the local decoded image 26 output from the addition unit 25, and outputs the locally decoded image 29 after the filtering processing. While storing in the motion compensation prediction frame memory 14, the filter ON / OFF information 32 and the filter coefficient 33 are output to the variable length coding unit 23 (step S13 in FIG. 2). The locally decoded image 29 after this filtering process becomes the reference image 15 for motion compensation prediction.
  • the filtering process by the loop filter unit 27 is a point that is the point of the present invention, and thus the details will be described later.
  • the variable-length coding unit 23 includes the compressed data 21 output from the transform / quantization unit 19, the coding mode 7 of each coding block output from the coding control unit 3, the intra prediction parameter 10 to the inter prediction parameter 16. Entropy-code the prediction differential coding parameter 20 and generate a bit stream 30 indicating the coding result (step S14 in FIG. 2).
  • the loop filter unit 27 is a linear filter applied to a locally decoded image for reducing coding distortion.
  • FIG. 5 is a block diagram showing an internal configuration of the loop filter unit 27.
  • FIG. 6 shows a processing flow of the loop filter unit 27 of FIG. The operation of the loop filter unit 27 will be described below using these figures.
  • the loop filter unit 27 stores the locally decoded image 26 output in block units from the addition unit 25 in the internal memory 201 (step S21 in FIG. 6), and when encoding of the entire picture is completed (see FIG. Yes in step S22 of step 6), the locally decoded image 202 for one picture is input to the pixel clustering unit 203, and each pixel of the locally decoded image is clustered into a set of N types to output a cluster number 204 for each pixel Step S23 of FIG.
  • the filter design unit 205 receives the input image 1, the local decoded image 202, and the cluster number 204 as inputs, designs an image quality improvement filter for every N clusters, and outputs the filter coefficient 33 (step of FIG. 6) S24).
  • this filter design a pixel value difference between the input image and the local decoded image is calculated in cluster units, and a filter is designed to minimize the difference.
  • the coding block level ON / OFF determination unit 206 receives the filter coefficient 33 and the local decoded image 202, and the coding block It is determined whether to apply the filter in units and the ON / OFF information 32 is output (step S26 in FIG. 6).
  • the filtering processing unit 207 identifies the pixel in which the filter is turned on from the ON / OFF information 32, applies the filter coefficient 33 corresponding to the cluster number 204 for each pixel to the locally decoded image 202, and applies to all clusters.
  • the locally decoded image 29 after the filtering process is output (steps S27 and S28 in FIG. 6).
  • the image quality improvement filter used in the first embodiment is called a Wiener filter and is a filter that minimizes a square error between the original image and the degraded image, and restores the image quality of the degraded image to be close to the original image. Is mathematically guaranteed.
  • a Wiener filter is a filter that minimizes a square error between the original image and the degraded image, and restores the image quality of the degraded image to be close to the original image.
  • the code amount of the filter coefficient multiplexed in the stream increases.
  • filter design is performed in units of a large image area, such as the whole of one picture, for example, both the number of filter designs and the number of filters can be reduced, so that the amount of operation and code can be reduced.
  • pixels are clustered into N types based on edge strength of an image, and one Wiener filter is designed for each cluster.
  • step S23 in FIG. 6 the operation of pixel clustering in the first embodiment will be described (step S23 in FIG. 6).
  • the number of the cluster to which the pixel belongs is determined.
  • the following index can be used to determine v i, j , for example.
  • R i, j is a pixel value in the pixel (i, j) of the local decoded image
  • K 1 , K 2 , L 1 , L 2 , M 1 and M 2 are constants.
  • m i, j is obtained from the coding mode 7, and VMV i, j and HMV i, j are obtained from the output of the motion compensation prediction unit 9.
  • the above index is merely an example, and it is conceivable to use, for example, a local decoded image, a prediction difference signal, a coding block size, etc. as an index for pixel clustering besides the above.
  • FIG. 7 is a diagram for explaining an operation example of pixel clustering, where the number N of clusters is 20.
  • O in FIG. 7 represents a classifier.
  • the classifier 301 receives the coding mode m i, j and classifies the pixel (i, j) as INTRA or INTER.
  • the classifier 302 further receives the variance ⁇ 2 i, j , and classifies it into three according to the magnitude of the value.
  • the cluster number v i, j of the pixel (i, j) is determined to be zero.
  • the classifier 303 receives the edge strengths VE i, j and HE i, j , and classifies them into three according to the magnitude of the values.
  • the cluster number v i, j of the pixel (i, j) is determined to be 1.
  • the classifier 304 receives the edge intensities VE i, j and HE i, j and classifies them into three according to the direction of the edge calculated therefrom.
  • the cluster number v i, j of the pixel (i, j) is 2 or 3 or 4 depending on the classification.
  • the operation of the classifiers 306, 307, 308 may be similar to the classifiers 303, 304, 305 or may be modified.
  • the classifier 309 receives the motion vector VMVi , j and the HMV i, j , and classifies them into three according to the magnitude of the value.
  • the cluster number v i, j of the pixel (i, j) is determined to be 15.
  • the classifier 310 receives motion vectors VMV i, j and HMV i, j , and classifies them into three according to the direction of the motion vector calculated therefrom.
  • the cluster number v i, j of the pixel (i, j) is 16 or 17 depending on the classification.
  • the operation of the classifier 311 may be similar to the classifier 310 or may be modified.
  • the classifier is to classify a given numerical value into one or more clusters, and for example, the classifier 301 in FIG. 7 can set the coding mode mi , j into two clusters of INTRA and INTER. Classify.
  • the first embodiment is characterized in that the number of clusters in each classifier and the classification method can be controlled independently.
  • classifier 302 of FIG. 7 classifies variances into three clusters
  • classifier 310 classifies motion vectors into two clusters.
  • FIG. 8 shows a correspondence table in the case where the input value changes from 0 to 9 and the number of clusters is five.
  • FIG. 9 is a diagram for explaining an example of a method of adaptively determining a cluster number from a distribution of input values.
  • FIG. 9 is a histogram in which the horizontal axis is the input value and the vertical axis is the frequency of the input value, and when the number of clusters is 5, the range corresponding to each cluster is shown.
  • the range of each cluster is determined so that the integral value of the curve representing the frequency is equal in each range.
  • the classifier 302 performs clustering with reference to a table as shown in FIG. 8, and the classifier 303 performs clustering adaptively according to input values as shown in FIG.
  • each classifier it is possible to change the configuration of each classifier very flexibly, for example.
  • the number of clusters can be adaptively changed, for example, the number of clusters of the classifier 304 is 3 and the number of clusters of the classifier 305 is 5 .
  • the number of classifiers can be changed as needed, and unnecessary classifiers may be deleted or new classifiers may be added.
  • the cluster number once determined may be changed, for example, the cluster of number 0 and the cluster of number 1 may be regarded as the same cluster.
  • the filter used in the first embodiment is a diamond filter as shown in FIG. 10, and the number of taps can be freely changed.
  • FIG. 10 shows a filter with five taps as an example.
  • the Wiener filter used in the first embodiment is a filter that minimizes the sum of squared differences E between the locally decoded image F and the input image I after the filtering process shown in the following equation.
  • C v is a pixel group belonging to cluster number v
  • F i, j is a pixel value in pixel (i, j) of locally decoded image F i, j after filtering processing
  • I i, j is an input image I It is a pixel value at pixel (i, j).
  • the filter coefficient is w k and the pixel value sum of the k-th point-symmetrical pair centered on R i, j is s i, j, k
  • the above equation is rewritten as follows.
  • t is the number of taps of the filter, It is.
  • w k is the DC offset.
  • step S27 in FIG. 6 the operation of the filtering process will be described (step S27 in FIG. 6).
  • the corresponding filter is applied to each pixel belonging to that cluster to obtain the locally decoded image 29 after the filtering process.
  • the pixel value F i, j at the pixel (i, j) of the local decoded image F after the filtering process is obtained by the following equation.
  • the effect of the image quality improvement filter may not be obtained for a certain cluster.
  • pixels belonging to clusters having small variance or edge strength have almost no texture (pattern), and even if a filter is applied, the image quality improvement effect is very small.
  • by not applying the filter to the cluster in advance it is possible to reduce the amount of calculation required for the filtering process and the code amount of the filter coefficient to be multiplexed to the bit stream. That is, by setting for each cluster whether or not to apply the filter obtained by the above-described filter design, it is possible to reduce the operation amount and the code amount.
  • filter design may be skipped for that cluster, and a fixed filter (such as a low pass filter) prepared in advance may be applied. By doing this, the amount of operation required for filter design and the amount of code of the filter coefficients to be multiplexed into the bit stream can be reduced.
  • FIG. 11 shows that slice coded data is composed of a picture parameter set, a slice header, and the maximum coded block coded data for the number of slices in the subsequent slice.
  • Each maximum coded block coded data includes a coding mode 7.
  • the maximum coded block coded data includes, for each coding block, prediction parameters such as motion vectors in units of partitions, prediction residual coding parameters such as transform block size, and prediction residual coded data. (Quantized transform coefficient) is included.
  • the coefficient data of the designed loop filter is multiplexed and transmitted in the picture parameter set. Also, an ON / OFF flag is transmitted so that the filter can be turned ON / OFF for each coding block.
  • control information for clustering may be multiplexed into a bitstream.
  • control information for clustering is multiplexed in the picture parameter set as an example in FIG. 11, this is not always necessary.
  • control information may be multiplexed for each coding block.
  • FIG. 12 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 1 of the present invention. Also, FIG. 13 and FIG. 14 show the flow of processing at the picture level of the image decoding apparatus of FIG. The operation of the image decoding apparatus according to the first embodiment will be described below using these figures.
  • variable length decoding unit 61 When the image decoding apparatus according to the first embodiment receives the bit stream 30, the variable length decoding unit 61 performs variable length decoding processing on the bit stream 30 (step S41 in FIG. 13) to obtain one or more pieces of information.
  • Information that defines the picture size (the number of horizontal pixels and the number of vertical lines) is decoded in a sequence unit or a picture unit composed of pictures.
  • the maximum coding block size and the division layer number upper limit determined by the image coding apparatus according to the first embodiment are determined in the same procedure as the coding apparatus (step S42 in FIG. 13). For example, when the maximum coding block size is determined according to the resolution of the input video signal, the maximum coding block size is determined in the same procedure as the coding apparatus based on the decoded picture size.
  • variable-length decoding unit 61 that has received the bit stream 30 performs a decoding process in units of the determined maximum coding block.
  • the loop filter control information 62 is decoded prior to the decoding of the maximum coding block level.
  • Decoding of the largest coding block decodes information indicating the hierarchical division state into coding blocks included in the coded data, and hierarchically coding the coding block based on the division state of the largest coding block. It identifies (step S43 of FIG. 13).
  • the coding mode 63 assigned to the specified coding block is decoded.
  • the coding block is further divided into one or more prediction processing units (partitions), and the prediction parameters 80 allocated to the prediction processing units are decoded (FIG. 13 Step S44).
  • the coding mode 63 assigned to the coding block is the intra coding mode (Yes in step S46 of FIG. 13) ), And decodes intra prediction parameters (not shown) for each of one or more partitions included in the coding block and serving as a prediction processing unit.
  • Decoding the intra prediction parameters is based on the intra prediction parameters decoded partition near the same procedure as the encoding apparatus calculates a predicted value of intra prediction parameters partitions P i n is decoded, the calculated predicted value Decrypt using.
  • the intra prediction unit 69 performs intra prediction processing on each partition in the coding block based on the decoded intra prediction parameter (step S47 in FIG. 13), and the generated intra prediction image 71 is output to the addition unit 73. Ru.
  • the intra prediction process based on the intra prediction parameter is the same as the process in the intra prediction unit 8 on the encoding device side.
  • the motion compensation unit 70 determines for each partition in the coding block based on the decoded inter prediction parameter.
  • An inter-frame motion prediction process is performed (step S48 in FIG. 13), and the generated inter prediction image 72 is output to the addition unit 73.
  • the output destination of the variable-length decoding unit 61 is the inverse quantization / inverse conversion unit 66 (inverse quantization / inverse conversion unit in step S45 of FIG. 13)
  • the inverse quantization / inverse conversion unit 66 The compressed data 64 input from the decoding unit 61 for each partition serving as a conversion processing unit is inverse-quantized based on the quantization parameter included in the prediction difference encoding parameter 65 instructed from the variable-length decoding unit 61, and further inverse DCT Decoding prediction differential signal 67 is generated by performing inverse transformation processing such as inverse KL transformation, etc. (Step S49 in FIG. 13 and output to adding section 73.
  • the quantization parameter is a bit
  • the encoded block data is restored from encoded data extracted from the stream 30 in units of encoded blocks, and transform block size information (not shown) is the largest encoded block starting from the encoded block 5
  • the division information is extracted and restored from the bit stream 30 in the form of division information expressed in quadtree division or the form in which selectable transform block sizes are expressed as index information.
  • the unit 66 performs processing by specifying the block size of transform / quantization processing based on the information of the transform block size,
  • the transform block size information is not the coding block 5 but the coding block 5. it may be configured to determine a partition P i n that divides units.
  • the addition unit 73 adds the decoded prediction difference signal 67 and the intra prediction image 71 or the inter prediction image 72 to generate a decoded partition image 74 (step S50 in FIG. 13), and one or more included in the coding block
  • the decoded image is output to the loop filter unit 78 and stored in the intra prediction memory 77 as a group of a plurality of decoded partitions.
  • the decoded image is an image signal for the subsequent intra prediction.
  • the loop filter unit 78 decodes clustering control information (not shown) from the loop filter control information 62 as necessary after processing all coding blocks (Yes in step S51 of FIG. 13), and If pixel clustering processing similar to that of the loop filter unit 27 is performed and the loop filter ON / OFF flag is "ON" (Yes in step S52 of FIG. 13), the filter coefficients included in the bit stream are read and A filter is applied (step S53 in FIG. 13). At this time, depending on the clustering control information, an operation such as not applying a filter to a certain cluster or applying a fixed filter to a certain cluster is executed. Then, the decoded image 79 after the filtering process is stored in the motion compensation prediction frame memory 75. The decoded image 79 becomes a reference image 76 for motion compensation prediction and a reproduced image.
  • the loop filter unit 78 performs the same filtering processing as step S53 in FIG. 13 when processing of one coding block is completed without waiting for processing completion of all coding blocks. It is also possible to perform the (step S52 in FIG. 14, S53).
  • the image decoding apparatus is configured to use various indexes in combination in clustering of pixels as a design unit of the loop filter and to control the clustering method extremely flexibly. Therefore, it is possible to design an optimal image quality improvement filter for each cluster, and to decode a bitstream encoded by a loop filter which contributes to the improvement of image quality as compared to the prior art.
  • an encoding apparatus and a decoding apparatus using inter-frame motion compensation prediction has been described.
  • an encoding apparatus using intra-frame prediction (intra prediction) for all frames
  • the decoding apparatus may be configured to output a decoded image from which coding distortion has been removed by executing the processing of the loop filter unit 27 (78).
  • the loop filter unit 27 ( It is also possible to control so as not to use the operation of 78).
  • the case where a plurality of parameters are used when calculating the number of a cluster to which a pixel belongs, a point to be classified by a classifier, and a point to adaptively change the number of clusters are all combined.
  • it may be an image coding apparatus or an image decoding apparatus using each of them alone, or an image coding apparatus or an image decoding apparatus combining only necessary configurations.
  • the image coding device, the image decoding device, the image coding method, and the image decoding method according to the present invention can design an optimum image quality improvement filter for each cluster, and improve the image quality improvement accuracy.

Abstract

 動画像信号の各ピクチャが所定単位で分割されたブロックのサイズ及び符号化モード、該ブロック内の予測パラメータ及び予測差分信号符号化データをビットストリームから復号する復号ステップと、前記予測差分信号符号化パラメータに基づいて生成された復号予測差分信号と、前記符号化モードと前記予測パラメータとに基づいて生成された予測信号とを加算した信号に対し、フィルタ処理を行うループフィルタステップとを備え、該ループフィルタステップは、フィルタ設計の単位となる画素集合を決定するクラスタリングを、復号画像の一つあるいは複数のパラメータに基づいて実行する。

Description

画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
 この発明は、画像を圧縮符号化して伝送する画像符号化装置及び画像符号化方法と、画像符号化装置により伝送された符号化データから画像を復号する画像復号装置及び画像復号方法とに関するものである。
 従来、MPEGやITU-T H.26x等の国際標準映像符号化方式(例えば非特許文献1参照)では、入力映像フレームを、16×16画素ブロックからなるマクロブロックの単位に分割して、動き補償予測を実施した後、予測誤差信号をブロック単位に直交変換・量子化することによって情報圧縮を行うようにしている。
 ただし、圧縮により情報の一部が失われるため、復号された映像は圧縮前の映像よりも画質が低下するという問題がある。
 そのため、非特許文献2では、ループ内フィルタの処理を実施することで、圧縮により低下した映像の品質を改善するようにしている。
 ここで、図16は非特許文献1に開示されている画像符号化装置を示す構成図である。 この画像符号化装置では、ブロック分割部101が符号化対象の画像信号を入力すると、その画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号を分割画像信号として予測部102に出力する。
 予測部102は、ブロック分割部101から分割画像信号を受けると、マクロブロック内の各色成分の画像信号をフレーム内又はフレーム間で予測して、予測誤差信号を算出する。
 特に、フレーム間で動き補償予測を実施する場合、マクロブロック自体、または、マクロブロックをさらに細かく分割したサブブロックの単位で動きベクトルを探索する。
 そして、その動きベクトルを用いて、メモリ107により格納されている参照画像信号に対する動き補償予測を実施することで動き補償予測画像を生成し、その動き補償予測画像を示す予測信号と分割画像信号の差分を求めることで予測誤差信号を算出する。
 また、予測部102は、予測信号を得る際に決定した予測信号生成用パラメータを可変長符号化部108に出力する。
 なお、予測信号生成用パラメータには、例えば、フレーム内での空間予測をどのように行うかを示すイントラ予測モードや、フレーム間の動き量を示す動きベクトル等の情報が含まれる。
 圧縮部103は、予測部102から予測誤差信号を受けると、その予測誤差信号に対するDCT(離散コサイン変換)処理を実施することで信号相関を除去した後、量子化することで圧縮データを得る。
 局所復号部104は、圧縮部103から圧縮データを受けると、その圧縮データを逆量子化して、逆DCT処理を実施することで、予測部102から出力された予測誤差信号に相当する予測誤差信号を算出する。
 加算器105は、局所復号部104から予測誤差信号を受けると、その予測誤差信号と予測部102から出力された予測信号を加算して、局所復号画像を生成する。
 ループフィルタ106は、加算器105により生成された局所復号画像を示す局所復号画像信号に重畳されている符号化歪みを除去し、歪み除去後の局所復号画像信号を参照画像信号としてメモリ107に格納する。
 可変長符号化部108は、圧縮部103から圧縮データを受けると、その圧縮データをエントロピー符号化し、その符号化結果であるビットストリームを出力する。
 なお、可変長符号化部108は、ビットストリームを出力する際、予測部102から出力された予測信号生成用パラメータをビットストリームに多重化して出力する。
 ここで、非特許文献2に開示されている方式では、ループフィルタ106が、局所復号画像と入力画像との差分を最小化するフィルタを設計し、符号化により発生する歪みの低減を図っている。これによって、復号画像の画質が改善される。
MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格 M. Karczewicz, P. Chen, R. L. Joshi, X. Wang, W. Chien, R. Panchal, Y. Reznik, M. Coban, and I. S. Chong, "A hybrid video coder based on extended macroblock sizes, improved interpolation and flexible motion representation," IEEE Transactions on Circuits and Systems for Video Technology, p. 1698~p. 1708, 2010年11月15日発行
 従来の画像符号化装置におけるループフィルタでは、局所復号画像の画素をエッジ強度のみに基づいてクラスタリングし、クラスタごとにフィルタを設計するように構成されているが、このクラスタリング方法がきわめて単純なもので最適となっておらず、画質改善効果が限定されるという問題があった。
 この発明は上記のような課題を解決するためになされたもので、所定の符号化ビットレートで符号化画像品質を改善することができる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法を得ることを目的とする。
 本発明に係る画像符号化装置は、動画像信号の各ピクチャの所定の符号化単位となるブロックの符号化モードとブロック内の予測パラメータとに基づいてブロックの予測信号を生成する予測部と、ブロックに対応する入力信号と予測信号との差分である予測差分信号を圧縮処理した予測差分信号符号化データをブロック内の予測差分信号符号化パラメータに基づいて伸張処理して生成された復号予測差分信号と予測信号とを加算した信号に対し、フィルタ処理を行うループフィルタ部と、ブロックのサイズ及び符号化モード、ブロック中の予測パラメータ、予測差分信号符号化データをビットストリームに多重する符号化部とを備え、該ループフィルタ部は、フィルタ設計の単位となる画素集合を決定するクラスタリングを、局所復号画像の一つあるいは複数のパラメータに基づいて実行し、予測部は、ループフィルタ部の出力信号から生成された参照画像に基づいて予測信号を生成することを特徴とするものである。
 この発明によれば、復号画像に対して適用する符号化歪み除去のための画質改善フィルタを設計する際、様々な指標を複合的に利用し、かつきわめて柔軟にクラスタリング方法を制御できるように構成したので、各クラスタに対して最適な画質改善フィルタを設計でき、画像品質の改善精度を高めることができる効果がある。
この発明の実施の形態1による画像符号化装置を示す構成図である。 この発明の実施の形態1による画像符号化装置の動作を説明するフローチャートである。 最大符号化ブロックが階層的に複数の符号化ブロックへ分割される様子を説明する図面である。 最大符号化ブロックが階層的に複数の符号化ブロックへ分割された結果の例を示す図面である。 この発明の形態1による画像符号化装置のループフィルタ部27を示す構成図である。 この発明の実施の形態1による画像符号化装置のループフィルタ部27の動作を説明するフローチャートである。 この発明の実施の形態1による画素クラスタリングの動作を説明する図面である。 この発明の実施の形態1によるクラスタリング方法を説明する図面である。 この発明の実施の形態1によるクラスタリング方法を説明する図面である。 この発明の実施の形態1による画像符号化装置のループフィルタ部27で設計されるフィルタの形状例を示す図面である。 この発明の実施の形態1による画像符号化装置が出力するビットストリーム30の構成を説明する図面である。 この発明の実施の形態1による画像復号装置を示す構成図である。 この発明の実施の形態1による画像復号装置の動作を説明するフローチャートである。 この発明の実施の形態1による画像復号装置の動作を説明するフローチャートである。 最大符号化ブロックが正方ブロックでない場合に、階層的に複数の符号化ブロックへ分割される様子を説明する図面である。 非特許文献1に開示されている画像符号化装置を示す構成図である。
 以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 実施の形態1では、映像の各フレーム画像を入力として、近接フレーム間で動き補償予測を行い、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施した後、可変長符号化を行ってビットストリームを生成する画像符号化装置と、当該画像符号化装置が出力するビットストリームを復号する画像復号装置について説明する。
 本実施の形態1の画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズの領域に分割してフレーム内・フレーム間適応符号化を行う。一般に映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を持つ。空間的に見ると、ある特定の映像フレーム上では、空や壁などのような比較的広い画像領域中で均一な信号特性を持つ絵柄もあれば、人物や細かいテクスチャを持った絵画など小さい画像領域内で複雑なテクスチャパターンを持つ絵柄も混在することがある。時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体はその輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。符号化処理は、時間的・空間的な予測によって信号電力やエントロピーの小さい予測差分信号を生成して全体の符号量を削減する処理を行うが、予測のためのパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。一方、時間的・空間的に変化の大きい画像信号パターンに対しては、同一の予測パラメータを大きな画像領域に適用することで予測の誤りが増え、予測差分信号の符号量が削減できない。そこで、そういった領域では、予測対象の領域を小さくし、予測のためのパラメータのデータ量を増やしても予測差分信号の電力・エントロピーを低減するほうが望ましい。このような映像信号の一般的な性質に適応した符号化を行うため、本実施の形態1の画像符号化装置は、映像の各フレームを別途定める最大ブロックサイズの符号化ブロックに分割して、当該符号化ブロック内で領域分割を行い、分割された領域ごとに予測、およびその予測差分の符号化処理を適応化させる構成をとる。
 本実施の形態1の画像符号化装置が処理対象とする映像信号フォーマットは、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号とする。各画素の諧調は8ビットでもよいし、10ビット、12ビットなどの諧調であってもよい。ただし、以下の説明においては、特に断らない限り、入力映像信号はYUV信号とし、かつ輝度成分Yに対して2つの色差成分U,Vがサブサンプルされた4:2:0フォーマットの信号を扱う場合について述べるが、本発明はU,Vのサンプリング間隔が異なる他フォーマットにも適用できる(例えば4:2:2フォーマットや4:4:4フォーマットなど)。以下の説明では、符号化ブロック中にも、輝度成分のブロックに加えてその水平・垂直成分が各半分のサイズの色差信号ブロックが含まれるものとする。また、映像の各フレームに対応する処理データ単位を「ピクチャ」と呼ぶ。本実施の形態1においては、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレーム信号、として以下の説明を行うが、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。また、以降の説明において、空間的に連続する符号化ブロックのグループを「スライス」と記すことがある。
 図1は、この発明の実施の形態1に係る画像符号化装置の構成を示すブロック図である。
また、図2に図1の画像符号化装置のピクチャレベルの処理フローを示す。以下、これらの図を用いて、本実施の形態1の画像符号化装置の動作を説明する。図1に示す画像符号化装置は、まず、符号化制御部3において、符号化対象となるピクチャ(カレントピクチャ)の符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図2のステップS1)。最大符号化ブロックのサイズの決め方としては、例えば入力映像信号1の解像度に応じてすべてのピクチャに対して同じサイズに定めてもよいし、入力映像信号1の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャでは小さいサイズ、動きが少ないピクチャでは大きいサイズ、のように定めてもよい。分割階層数上限は例えば入力映像信号1の動きが激しい場合は階層数を深くしてより細かい動きが検出できるように設定し、動きが少ない場合は階層数を抑えるように設定するなどの方法がある。
 次いで、ブロック分割部2において、ピクチャを上記定めた最大符号化ブロックサイズで分割する。符号化制御部3は、最大符号化ブロックサイズの画像領域ごとに、上記定めた分割階層数上限に至るまで、階層的に符号化ブロックサイズ4と各符号化ブロックに対する符号化モード7を決定する。そして、ブロック分割部2は、符号化ブロックサイズ4にしたがってさらにブロックを分割し符号化ブロック5を出力する(図2のステップS2)。
 図3に、最大符号化ブロックが階層的に複数の符号化ブロック5へ分割される様子の例を示す。最大符号化ブロックは、図3において「第0階層」と記された輝度成分で (L0, M0)の画素サイズをもつ符号化ブロック、として定義する。最大符号化ブロックを出発点として、四分木構造で、別途定める所定の深さまで階層的に分割を行うことによって符号化ブロック5を得る。深さnにおいては、符号化ブロック5はサイズ(Ln, Mn)の画像領域である。LnはMnと同じであってもよいし異なっていてもよいが、図3ではLn = Mnのケースを示している。以降、符号化ブロックサイズ4は、符号化ブロック5の輝度成分におけるサイズ(Ln, Mn)と定義する。四分木分割を行うため、常に(Ln+1, Mn+1) = (Ln/2, Mn/2)が成り立つ。なお、RGB信号など、すべての色成分が同一サンプル数をもつカラー映像信号(4:4:4フォーマット)では、すべての色成分のサイズが(Ln, Mn)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックサイズは(Ln/2, Mn/2)である。以降、第n階層の符号化ブロック5をBnとし、Bnで選択しうる符号化モード7をm(Bn)と記す。
 複数の色成分からなるカラー映像信号の場合、符号化モードm(Bn)7は色成分ごとにそれぞれ個別のモードを用いるように構成されてもよいが、以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードのことを指すものとして説明を行うが、本発明は任意の映像フォーマット、色成分、符号化モードに適用できる。
 符号化モードm(Bn)7には、1つないし複数のイントラ符号化モード(総称してINTRAと呼ぶ)、1つないし複数のインター符号化モード(総称してINTERと呼ぶ)があり、符号化制御部3は、後述する選択方法に基づいて、当該ピクチャで利用可能な全ての符号化モードないしそのサブセットの中から、符号化ブロックBn5に対して最も符号化効率のよい符号化モードを選択する。
 本実施の形態1の符号化制御部3は、符号化対象となっているピクチャ(カレントピクチャ)の各最大符号化ブロックに対して、図3に示すようなブロック分割状態を生成して、符号化ブロックサイズ4を特定し、これにしたがってブロック分割部2において符号化ブロック5が生成される。この結果得られる最大符号化ブロックの分割状態の例を図4に示す。同図(a)の点線で囲まれた領域は符号化ブロック5Bnとして定義される領域を、網がけ部分は符号化ブロック5内で予測処理単位となるパーティションの分布を、また、(b)には階層分割によって符号化モードm(Bn)7が割り当てられる状況を四分木グラフで図示する。(b)の□で囲んだノードが、符号化モード7が割り当てられたノード、すなわち符号化ブロック5である。
 なお、図4に示すように、Bnはさらに1つないし複数の予測処理単位(パーティション)に分割される。Bnに属するパーティションを以降、Pi n(i: 第n階層におけるパーティション番号)と表記する。Bnのパーティション分割がどのようになされているかは符号化モードm(Bn)7の中に情報として含まれる。パーティションPi nはすべて符号化モードm(Bn)7に従って予測処理が行われるが、パーティションごとに個別の予測パラメータを選択できる。
 符号化ブロック5においてイントラ符号化モードが選択された場合(m(Bn)∈INTRAの場合)は(図2のステップS3でYes)、図1のイントラ予測部8において、イントラ予測パラメータ10に基づいて、Bn内の各パーティションPi nに対するイントラ予測処理が行われ、生成されるイントラ予測画像11が減算部12へ出力される(図2のステップS4)。イントラ予測画像11の生成に用いられたイントラ予測パラメータ10は、例えば本実施の形態1におけるイントラ予測処理が、AVC/H.264規格(ISO/IEC 14496-10)に定められるような方向性を有する適応空間予測を行う場合、各パーティションごとに選択される予測モード情報などの情報を含み、復号装置側でまったく同じイントラ予測画像11を生成するために、可変長符号化部23によってビットストリーム30に多重化される。本実施の形態1におけるイントラ予測処理は、AVC/H.264規格(ISO/IEC 14496-10)に定められるアルゴリズムに限定されないが、イントラ予測パラメータ10としては、符号化装置側と復号装置側でまったく同じイントラ予測画像11を生成するために必要な情報を含む必要がある。
 符号化ブロック5においてインター符号化モードが選択された場合(m(Bn)∈INTERの場合)は(図2のステップS3でNo)、図1の動き補償予測部9において、インター予測パラメータ16に基づいて、各パーティションPi nに対するフレーム間動き予測処理が行われ、生成されるインター予測画像17が減算部12へ出力されるとともに動きベクトル31が可変長符号化部23に出力される(図2のステップS5)。インター予測画像17の生成に用いられたインター予測パラメータ16には、
・符号化ブロック5内のパーティション分割を記述するモード情報
・各パーティションの動きベクトル
・動き補償予測フレームメモリ14内に複数の参照画像を含む構成の場合、いずれの参照画像を用いて予測を行うかを示す参照画像指示インデックス情報
・複数の動きベクトル予測値候補がある場合にいずれの動きベクトル予測値を選択して使用するかを示すインデックス情報
・複数の動き補償内挿フィルタがある場合にいずれのフィルタを選択して使用するかを示す識別情報
・当該パーティションの動きベクトルが複数の画素精度(半画素、1/4画素、1/8画素など)を示すことが可能な場合、いずれの画素精度を使用するかを示す選択情報
などの情報を含み、復号装置側でまったく同じインター予測画像17を生成するために、可変長符号化部23によってビットストリーム30に多重化される。
 減算部12は、イントラ予測画像11、またはインター予測画像17のいずれか一方をパーティションPi nから差し引いて、予測差分信号ei n13を得る(図2のステップS6)。変換・量子化部19は、予測差分信号ei n13に対して、符号化制御部3から指示される予測差分符号化パラメータ20に基づいて、DCT(離散コサイン変換)やあらかじめ特定の学習系列に対して基底設計がなされたKL変換等の直交変換処理を所定のブロック(変換ブロック)単位で実施して変換係数を算出すると共に、その変換係数を、符号化制御部3から指示される予測差分符号化パラメータ20に基づいて量子化し(図2のステップS7)、量子化後の変換係数である圧縮データ21を逆量子化・逆変換部22(図2のステップS8で逆量子化・逆変換処理部)および可変長符号化部23(図2のステップS8で可変長符号化部)へ出力する。
 逆量子化・逆変換部22は、変換・量子化部19から変換ブロック単位に入力された圧縮データ21を、符号化制御部3から指示される予測差分符号化パラメータ20に基づいて逆量子化し、さらに逆DCT、逆KL変換等の逆変換処理を実施することで予測差分信号ei n13の局所復号予測差分信号ei n'24を生成し、加算部25へ出力する(図2のステップS9)。
 予測差分符号化パラメータ20は、符号化ブロック5の領域ごとに、その内部の予測差分信号ei n13の符号化に用いる量子化パラメータ、変換ブロックサイズの情報を含む。予測差分符号化パラメータ20は、符号化制御部3において、図2のステップS2の符号化モード判定の一環として決定される。量子化パラメータは、最大符号化ブロックの単位でひとつ割り当て、それらを分割した符号化ブロック単位で共通に使用する形式でもよいし、各符号化ブロックごとに最大符号化ブロックの値からの差分値として表現するようにしてもよい。変換ブロックサイズ情報は、符号化ブロック5を起点として最大符号化ブロックの分割と同様、四分木分割表現がされていてもよいし、いくつかの選択可能な変換ブロックサイズがインデックス情報として表現された形式でもよい。変換・量子化部19、逆量子化・逆変換部22は、この変換ブロックサイズの情報に基づいて変換・量子化処理のブロックサイズを特定して処理を行う。なお、この変換ブロックサイズの情報は、符号化ブロック5ではなく、符号化ブロック5を分割するパーティションPi nを単位として決定するように構成されていてもよい。
 加算部25は、局所復号予測差分信号ei n'24と、イントラ予測画像11またはインター予測画像17とを加算して局所復号パーティション画像Pi n'ないしその集まりとしての局所復号符号化ブロック画像Bn' (以下、局所復号画像)26を生成し(図2のステップS10)、この局所復号画像26をループフィルタ部27へ出力すると共に(図2のステップS11でループフィルタ部)、イントラ予測用メモリ28に格納する(図2のステップS11でイントラ予測用メモリ)。局所復号画像26が以降のイントラ予測用の画像信号となる。出力先がイントラ予測用メモリの場合、続いて、ピクチャ中の全ての符号化ブロックを処理したかどうかを判定し、全符号化ブロックの処理が終了していなければ次の符号化ブロックへ以降して同様の符号化処理を繰り返す(図2のステップS12)。
 加算部25の出力先がループフィルタ部27の場合、ループフィルタ部27は、加算部25から出力された局所復号画像26に対し、所定のフィルタリング処理を行い、フィルタリング処理後の局所復号画像29を動き補償予測フレームメモリ14に格納するとともにフィルタのON/OFF情報32とフィルタ係数33を可変長符号化部23に出力する(図2のステップS13)。このフィルタリング処理後の局所復号画像29が動き補償予測用の参照画像15となる。ループフィルタ部27によるフィルタリング処理については、本発明のポイントとなる箇所であるため、詳細は後述する。
 可変長符号化部23は、変換・量子化部19から出力された圧縮データ21と、符号化制御部3から出力される各符号化ブロックの符号化モード7、イントラ予測パラメータ10ないしインター予測パラメータ16、予測差分符号化パラメータ20とをエントロピー符号化して、それらの符号化結果を示すビットストリーム30を生成する(図2のステップS14)。
 以下、本実施の形態1の特徴であるループフィルタ部27の処理について詳述する。本実施の形態1のループフィルタ部27は、局所復号画像に適用する、符号化歪みを低減させるための線形フィルタである。
 図5は、ループフィルタ部27の内部構成を示すブロック図である。また、図6に図5のループフィルタ部27の処理フローを示す。以下、これらの図を用いて、ループフィルタ部27の動作を説明する。ループフィルタ部27では、加算部25からブロック単位で出力される局所復号画像26を内部のメモリ201に格納していき(図6のステップS21)、ピクチャ全体の符号化が完了した時点で(図6のステップS22でYes)、1ピクチャ分の局所復号画像202が画素クラスタリング部203に入力され、局所復号画像の各画素をN種類の集合にクラスタリングして画素ごとのクラスタ番号204を出力する(図6のステップS23)。次に、フィルタ設計部205は、入力画像1、局所復号画像202、クラスタ番号204を入力として受け取り、N個のクラスタごとに画質改善フィルタを設計し、フィルタ係数33を出力する(図6のステップS24)。このフィルタ設計では、クラスタ単位で入力画像と局所復号画像の画素値差分を計算し、その差分を最小化するフィルタが設計される。N個のクラスタ全てに対してフィルタ設計を行った後(図6のステップS25でYes)、符号化ブロックレベルON/OFF判定部206はフィルタ係数33、局所復号画像202、を受け取り、符号化ブロック単位でフィルタを適用するかどうかを決定してON/OFF情報32を出力する(図6のステップS26)。そして、フィルタリング処理部207は、ON/OFF情報32からフィルタがONとなる画素を識別し、画素ごとのクラスタ番号204に対応するフィルタ係数33を局所復号画像202に適用し、全てのクラスタに対してフィルタリング処理を施した後にフィルタリング処理後の局所復号画像29を出力する(図6のステップS27,S28)。
 本実施の形態1で利用する画質改善フィルタはWienerフィルタと呼ばれ、原画像と劣化画像との間の二乗誤差を最小化するフィルタであり、劣化画像の画質を回復させて原画像に近づけることが数学的に保証されている。しかし、画質の改善効果を高めるためには、なるべく小さな画像領域ごとにフィルタの設計を行わなければならず、フィルタ設計の回数が増えるため演算量が増加し、また、フィルタの種類も増えるためビットストリームに多重化されるフィルタ係数の符号量が増加する。逆に、例えば1ピクチャ全体など、大きな画像領域を単位としてフィルタ設計を行えば、フィルタ設計回数とフィルタ数の両方を小さくできるため演算量・符号量を削減できるが、画質改善効果は小さくなる。このトレードオフを調整するため、非特許文献2では、画像のエッジ強度に基づいて画素をN種類にクラスタリングし、それぞれのクラスタごとに1つのWienerフィルタを設計している。
 Wienerフィルタによる画質改善効果を高めるためには、画素のクラスタリング方法がきわめて重要であり、似通ったフィルタが設計されると考えられる画素が同クラスタになるようにクラスタリングを行わなければならない。もし、本来ならば大きく異なるフィルタが設計されるような画素を同クラスタにしてしまうと、設計されるWienerフィルタの画質改善効果は非常に限定的なものとなる。ここで、画像のエッジ付近は、符号化歪みが目立ちやすく、似通ったフィルタが設計されると考えられるため、エッジ強度に基づく非特許文献2のクラスタリング方法は妥当であると言える。しかし、実際にはエッジの強度だけでなくきわめて多くの要因がフィルタ設計に影響を与えるため、より多くの指標を複合的に用いなければ最適なクラスタリングを行うことは不可能である。
 以上をふまえ、本実施の形態1における画素クラスタリングの動作について説明する(図6のステップS23)。画素クラスタリング処理では、局所復号画像の各画素に対して、その画素が属するクラスタの番号が決定される。ここで、画素(i, j)が属するクラスタの番号をvi,jとすると、vi,jの決定には例えば次のような指標を用いることができる。
Figure JPOXMLDOC01-appb-I000001
 これらは、それぞれ次式で計算される。
Figure JPOXMLDOC01-appb-I000002
           
Figure JPOXMLDOC01-appb-I000003
 ただし、Ri,jは局所復号画像の画素(i, j)における画素値、K1、K2、L1、L2、M1、M2は定数である。また、mi,jは符号化モード7から、VMVi,j、HMVi,jは動き補償予測部9の出力から得られる。なお、上記の指標はあくまでも一例であり、上記の他にも例えば局所復号画像や予測差分信号、符号化ブロックサイズなどを画素クラスタリングのための指標として用いることが考えられる。
 図7は、クラスタの数Nを20として、画素クラスタリングの動作例を説明する図である。図7における○は分類器を表す。以下、図7を用いて画素クラスタリングの動作の一例を説明する。まず、分類器301は符号化モードmi,jを受け取り、画素(i, j)をINTRAまたはINTERに分類する。INTRAである場合、さらに分類器302が分散σ2 i,jを受け取り、その値の大小に応じて3つに分類する。ここで、画素(i, j)が最も値の小さい分類に該当すれば、画素(i, j)のクラスタ番号vi,jは0に決定される。一方、その他2つの分類に該当した場合は、さらに分類を行う。分類器303は、エッジ強度VEi,jとHEi,jを受け取り、その値の大小に応じて3つに分類する。ここで、画素(i, j)が最も値の小さい分類に該当すれば、画素(i, j)のクラスタ番号vi,jは1に決定される。一方、その他2つの分類に該当した場合は、さらに分類を行う。分類器304は、エッジ強度VEi,jとHEi,jを受け取り、それらから計算されるエッジの方向に応じて3つに分類する。画素(i, j)のクラスタ番号vi,jは、その分類に応じて2または3または4となる。分類器306、307、308の動作は、分類器303、304、305と同様としてもよいし、変更してもよい。
分類器301により画素(i, j)がINTERと分類された場合は、分類器309が動きベクトルVMVi,jとHMVi,jを受け取り、その値の大小に応じて3つに分類する。ここで、画素(i, j)が最も値の小さい分類に該当すれば、画素(i, j)のクラスタ番号vi,jは15に決定される。一方、その他2つの分類に該当した場合は、さらに分類を行う。分類器310は、動きベクトルVMVi,jとHMVi,jを受け取り、それらから計算される動きベクトルの方向に応じて3つに分類する。画素(i, j)のクラスタ番号vi,jは、その分類に応じて16または17となる。分類器311の動作は、分類器310と同様としてもよいし、変更してもよい。
 ここで、分類器とは、与えられた数値を一つまたは複数のクラスタに分類するものであり、例えば図7の分類器301は符号化モードmi,jをINTRAとINTERの2つのクラスタに分類する。本実施の形態1は、それぞれの分類器のクラスタ数と分類方法を独立に制御できるという特徴を有する。例えば、図7の分類器302は、分散を3つのクラスタに分類するのに対し、分類器310は動きベクトルを2つのクラスタに分類する。分類方法としては、あらかじめ図8に示すような入力値とクラスタ番号の対応表を用意しておき、それを参照することが考えられる。図8では入力値が0から9まで変化し、クラスタ数が5の場合の対応表を示している。また、図8のような表を参照する他にも、入力値に応じて適応的にクラスタ番号を決定することも可能である。図9は、入力値の分布から適応的にクラスタ番号を決定する方法の一例を説明する図である。図9は、横軸に入力値、縦軸に入力値の頻度をとったヒストグラムであり、クラスタ数を5としたときに、各クラスタに該当する範囲を示している。ここで、各クラスタの範囲は、頻度を表す曲線の積分値がそれぞれの範囲で等しくなるように決定している。本実施の形態1では、例えば分類器302は図8のように表を参照してクラスタリングを実行するようにし、分類器303は図9のように入力値に応じて適応的にクラスタリングを実行するようにするなど、きわめて柔軟にそれぞれの分類器の構成を変更することができる。また、例えば分類器304と分類器305の分類方法は共通としつつも、分類器304のクラスタ数を3に、分類器305のクラスタ数を5にするなど、クラスタの数も適応的に変更できる。さらに、必要に応じて分類器の数を変更することも可能であり、不要な分類器を削除したり、新たな分類器を追加したりしてもよい。さらに、例えば番号0のクラスタと番号1のクラスタを同一のクラスタとみなすようにするなど、一度決定したクラスタ番号を変更できるようにしてもよい。
 次にフィルタ設計の動作について説明する(図6のステップS24)。本実施の形態1で使用するフィルタは、図10に示すようなダイヤモンドフィルタであり、そのタップ数は自由に変更できる。図10は、例としてタップ数5の場合のフィルタを示したものである。
本実施の形態1で使用するWienerフィルタは、次式に示すフィルタリング処理後の局所復号画像Fと入力画像Iとの間の差分二乗和Eを最小化するフィルタである。
Figure JPOXMLDOC01-appb-I000004
 ここで、Cvはクラスタ番号vに属する画素群、Fi,jはフィルタリング処理後の局所復号画像Fi,jの画素(i, j)における画素値、Ii,jは入力画像Iの画素(i, j)における画素値である。
フィルタ係数をwk、Ri,jを中心とするk番目の点対称ペアの画素値和をsi,j,kとすると、上式は次のように書き換えられる。
Figure JPOXMLDOC01-appb-I000005
 なお、tはフィルタのタップ数であり、
Figure JPOXMLDOC01-appb-I000006
である。kが最大値をとるとき、wkはDCオフセットとなる。また、点対称ペアとは、図10において同一の識別番号が与えられる2つの画素のことを指し、
Figure JPOXMLDOC01-appb-I000007
である。Eをwkで微分して整理すると、以下の方程式が得られる。
Figure JPOXMLDOC01-appb-I000008
 ここで、wはwkを並べたベクトルである。上式をAw=bとみなし、以下の手順で方程式を解くことで、求めるフィルタ係数wkが得られる。
(1)A=UTUなる上三角行列Uをコレスキー分解法によって求める。
(2)Uw=w'とおいて、UTw'=bをw'について前進代入法で解く。
(3)Uw=w'をwについて後退代入法で解く。
 上記のフィルタ設計処理をv=0~N-1のすべてについて実施することで、N種類のフィルタが得られる。
 次にフィルタリング処理の動作について説明する(図6のステップS27)。0~N-1の各クラスタにおいて、対応するフィルタをそのクラスタに属する各画素に対して適用することで、フィルタリング処理後の局所復号画像29を得る。フィルタリング処理後の局所復号画像Fの画素(i, j)における画素値Fi,jは次式により求められる。
Figure JPOXMLDOC01-appb-I000009
 なお、画素クラスタリングの結果、あるクラスタについてはほとんど画質改善フィルタの効果が得られない場合がある。例えば、分散やエッジ強度が小さいクラスタに属する画素はほとんどテクスチャ(模様)を持たず、フィルタを適用したとしても画質改善効果が非常に小さい。そのような場合は、あらかじめそのクラスタについてはフィルタを適用しないようにすることで、フィルタリング処理に要する演算量およびビットストリームに多重化するフィルタ係数の符号量を削減することができる。つまり、上述のようなフィルタ設計により求めたフィルタを適用するか否かをクラスタごとに設定することにより、演算量や符号量を削減することができる。あるいは、そのクラスタについてはフィルタ設計をスキップし、あらかじめ用意してある固定のフィルタ(ローパスフィルタなど)を適用してもよい。このようにすることで、フィルタ設計に要する演算量およびビットストリームに多重化するフィルタ係数の符号量が削減される。
 本実施の形態1の符号化装置が出力するビットストリーム30の構成を図11に示す。図11は、スライス符号化データがピクチャパラメータセットおよびスライスヘッダとそれに続くスライス内の個数分の最大符号化ブロック符号化データから構成される様子を示す。各最大符号化ブロック符号化データは、符号化モード7を含む。図示していないが、最大符号化ブロック符号化データには、符号化ブロックごとに、パーティション単位の動きベクトルなどの予測パラメータ、変換ブロックサイズなどの予測残差符号化パラメータ、予測残差符号化データ(量子化済み変換係数)を含む。設計されたループフィルタの係数データは、ピクチャパラメータセットに多重化されて伝送される。また、符号化ブロックごとにフィルタをON/OFFできるように、ON/OFFフラグが伝送される。
 本実施の形態1の特徴として、フィルタ設計のための画素クラスタリング方法がきわめて柔軟に制御できるという点があげられる。このとき、クラスタリングの方法や、クラスタリングに使用する指標値のダイナミックレンジなどのクラスタリング制御情報を画像復号装置に伝送することで、復号処理を効率的に行うことができるようになる。したがって、図11に示すように、クラスタリングのための制御情報をビットストリームに多重化してもよい。図11では例としてクラスタリングのための制御情報をピクチャパラメータセットに多重化しているが、必ずしもその必要はなく、例えば符号化ブロックごとに制御情報を多重化してもよい。また、この他にも、フィルタを適用しないクラスタ、あるいはフィルタ設計を行わず、固定のフィルタを適用するクラスタの情報などをクラスタリング制御情報の一部として多重化してもよい。
 次に本実施の形態1の画像符号化装置が出力するビットストリーム30を復号する画像復号装置について説明する。
 図12は、この発明の実施の形態1に係る画像復号装置の構成を示すブロック図である。
 また、図13および図14に図8の画像復号装置のピクチャレベルの処理フローを示す。
 以下、これらの図を用いて、本実施の形態1の画像復号装置の動作を説明する。
 可変長復号部61は、本実施の形態1に係る画像復号装置がビットストリーム30を受け取ると、そのビットストリーム30を可変長復号処理して(図13のステップS41)、1枚以上の複数のピクチャから構成されるシーケンス単位あるいはピクチャ単位にピクチャサイズ(水平画素数・垂直ライン数)を規定する情報を復号する。本実施の形態1に係る画像符号化装置で決定された最大符号化ブロックサイズおよび分割階層数上限を符号化装置と同様の手順で決定する(図13のステップS42)。例えば最大符号化ブロックサイズが入力映像信号の解像度に応じて決められた場合には、復号したピクチャサイズに基づいて、符号化装置と同様の手順で最大符号化ブロックサイズを決定する。最大符号化ブロックサイズおよび分割階層数上限が符号化装置側でビットストリーム30に多重化された場合には、ビットストリーム30から復号した値を用いる。ビットストリーム30を受け取った可変長復号部61は、決定された最大符号化ブロック単位に復号処理を行う。
 なお、図11の構成のビットストリーム30を入力とする場合、最大符号化ブロックレベルの復号に先立ち、ループフィルタ制御情報62を復号する。
 最大符号化ブロックの復号は、その符号化データ中に含まれる符号化ブロックへの階層分割状態を示す情報を復号して、当該最大符号化ブロックの分割状態に基づき、階層的に符号化ブロックを特定する(図13のステップS43)。次に特定された符号化ブロックに割り当てられた符号化モード63を復号する。復号した符号化モード63に含まれる情報に基づき、符号化ブロックをさらに1つないし複数の予測処理単位(パーティション)に分割し、予測処理単位に割り当てられた予測パラメータ80を復号する(図13のステップS44)。
 可変長復号部61の出力先が切替スイッチの場合(図13のステップS45で切替スイッチ)、符号化ブロックに割り当てられた符号化モード63がイントラ符号化モードの場合(図13のステップS46でYes)、符号化ブロックに含まれ、予測処理単位となる1つ以上のパーティションごとにイントラ予測パラメータ(図示せず)を復号する。イントラ予測パラメータの復号は、符号化装置側と同じ手順で周辺の復号済みパーティションのイントラ予測パラメータに基づき、復号対象であるパーティションPi nのイントラ予測パラメータの予測値を算出し、算出した予測値を用いて復号する。
 イントラ予測部69は、復号したイントラ予測パラメータに基づき、符号化ブロック内の各パーティションに対するイントラ予測処理が行われ(図13のステップS47)、生成されるイントラ予測画像71が加算部73へ出力される。イントラ予測パラメータに基づくイントラ予測処理は、符号化装置側のイントラ予測部8における処理と同じである。
 符号化ブロックに割り当てられた符号化モード63がインター符号化モードの場合(図13のステップS46でNo)、動き補償部70は、復号したインター予測パラメータに基づき、符号化ブロック内の各パーティションに対するフレーム間動き予測処理が行われ(図13のステップS48)、生成されるインター予測画像72が加算部73へ出力される。
 一方、可変長復号部61の出力先が逆量子化・逆変換部66である場合(図13のステップS45で逆量子化・逆変換部)、逆量子化・逆変換部66は、可変長復号部61から変換処理単位となるパーティションごとに入力される圧縮データ64を可変長復号部61から指示される予測差分符号化パラメータ65に含まれる量子化パラメータに基づいて逆量子化し、さらに逆DCT,逆KL変換等の逆変換処理を実施することで復号予測差分信号67を生成し(図13のステップS49、加算部73へ出力する。予測差分符号化パラメータ65のうち、量子化パラメータはビットストリーム30から抽出した符号化データから符号化ブロックの単位で復元し、変換ブロックサイズ情報(図示せず)は、符号化ブロック5を起点として最大符号化ブロックの分割と同様、四分木分割表現された分割情報の形式や、選択可能な変換ブロックサイズをインデックス情報として表現された形式などでビットストリーム30から抽出して復元する。逆量子化・逆変換部66は、この変換ブロックサイズの情報に基づいて変換・量子化処理のブロックサイズを特定して処理を行う。なお、変換ブロックサイズの情報は、符号化ブロック5ではなく、符号化ブロック5を分割するパーティションPi nを単位として決定するように構成されていてもよい。
 加算部73は、復号予測差分信号67とイントラ予測画像71またはインター予測画像72とを加算して復号パーティション画像74を生成し(図13のステップS50)、符号化ブロック内に含まれる1つないし複数の復号パーティションの集まりとして、復号画像をループフィルタ部78へ出力するとともにイントラ予測用メモリ77に格納する。復号画像が以降のイントラ予測用の画像信号となる。
 ループフィルタ部78は、全符号化ブロックの処理後(図13のステップS51でYes)、必要に応じてループフィルタ制御情報62からクラスタリング制御情報(図示せず)を復号し、符号化装置側のループフィルタ部27と同様の画素クラスタリング処理を行い、ループフィルタON/OFFフラグが「ON」であれば(図13のステップS52でYes)、ビットストリームに含まれるフィルタ係数を読み出してそれぞれのクラスタにフィルタを適用する(図13のステップS53)。なお、このとき、クラスタリング制御情報に応じて、あるクラスタにはフィルタを適用しない、あるいは、あるクラスタには固定のフィルタを適用する、などの動作を実行する。そして、フィルタリング処理後の復号画像79を動き補償予測フレームメモリ75に格納する。この復号画像79が動き補償予測用の参照画像76となるとともに再生画像となる。
 あるいは、図14に示すように、ループフィルタ部78は、全符号化ブロックの処理完了を待つことなく、一つの符号化ブロックの処理が完了した時点で、図13のステップS53と同様のフィルタリング処理を行うことも可能である(図14のステップS52でYes、S53)。
 以上の構成により、本実施の形態1の画像復号装置は、ループフィルタの設計単位となる画素のクラスタリングにおいて様々な指標を複合的に利用し、かつきわめて柔軟にクラスタリング方法を制御できるように構成したので、各クラスタに対して最適な画質改善フィルタを設計でき、従来よりも画質の改善に寄与するループフィルタによって符号化されたビットストリームを復号することができる。
 なお、以上の説明では、フレーム間動き補償予測(インター予測)を用いる符号化装置および復号装置の例を示したが、すべてのフレームに対してフレーム内予測(イントラ予測)を用いる符号化装置・復号装置であっても、ループフィルタ部27(78)の処理を実行させることによって符号化歪みを除去した復号画像を出力するように構成してもよい。フレーム内予測(イントラ予測)とフレーム間動き補償予測(インター予測)を組み合わせて用いる符号化装置・復号装置において、すべてのフレームをイントラ予測で符号化するように設定したときにループフィルタ部27(78)の動作を利用しないように制御することも可能である。
 また、以上の説明では、図4に示すLn = Mnのケースを示したが、例えば図15に示すように、最大符号化ブロックサイズをL0 = kM0とする場合にも適用できる。この際、第0階層では、(Ln+1, Mn+1) = (Mn, Mn)となる符号化ブロックへの分割のみを行うこととし、以降の分割は図4と同様の分割を行うように構成する。このような構成により、例えば、M0 = 16とすることにより、MPEG-2(ISO/IEC 13818-2)やMPEG-4 AVC/H.264(ISO/IEC 14496-10)のような16x16画素からなるマクロブロックを横に連結する構成の最大符号化ブロックを定義することができ、既存方式との互換性を維持した符号化装置を構成しやすいという効果がある。なお、Ln = kMnとしたが、これはkLn = Mnのように縦に連結したものであっても同様の考えで分割が可能であることはいうまでもない。
 また、以上の説明では、画素が属するクラスタの番号を算出する際に複数のパラメータを用いる点や、分類器で分類する点や、クラスタの数を適応的に変更する点を全て組み合わせた場合について説明したが、それぞれを単独で用いた画像符号化装置、画像復号装置や、必要な構成のみを組み合わせた画像符号化装置、画像復号装置であってもよい。
 以上のように、この発明に係る画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法は、各クラスタに対して最適な画質改善フィルタを設計でき、画像品質の改善精度を高めることができるため、画像を圧縮符号化して伝送する画像符号化装置及び画像符号化方法と、画像符号化装置により伝送された符号化データから画像を復号する画像復号装置及び画像復号方法などに用いるのに適している。
 2 ブロック分割部、3 符号化制御部、6 切替スイッチ、8 イントラ予測部、9 動き補償予測部、12 減算部、14 動き補償予測フレームメモリ、19 変換・量子化部、22 逆量子化・逆変換部、23 可変長符号化部、25 加算部、27 ループフィルタ部、28 イントラ予測用メモリ、61 可変長復号部、66 逆量子化・逆変換部、68 切替スイッチ、69 イントラ予測部、70 動き補償部、73 加算部、75 動き補償予測フレームメモリ、77 イントラ予測用メモリ、78 ループフィルタ部、101 ブロック分割部、102 予測部、103 圧縮部、104 局所復号部、105 加算器、106 ループフィルタ、107 メモリ、108 可変長符号化部、201 メモリ、203 画素クラスタリング部、205 フィルタ設計部、206 符号化ブロックレベルON/OFF判定部、207 フィルタリング処理部。

Claims (11)

  1.  動画像信号の各ピクチャの所定の符号化単位となるブロックの符号化モードと前記ブロック内の予測パラメータとに基づいて前記ブロックの予測信号を生成する予測部と、
     前記ブロックに対応する入力信号と前記予測信号との差分である予測差分信号を圧縮処理した予測差分信号符号化データを前記ブロック内の予測差分信号符号化パラメータに基づいて伸張処理して生成された復号予測差分信号と前記予測信号とを加算した信号に対し、フィルタ処理を行うループフィルタ部と、
     前記ブロックのサイズ及び符号化モード、前記ブロック中の予測パラメータ、前記予測差分信号符号化データをビットストリームに多重する符号化部とを備え、
     該ループフィルタ部は、フィルタ設計の単位となる画素集合を決定するクラスタリングを、局所復号画像の一つあるいは複数のパラメータに基づいて実行し、
     前記予測部は、前記ループフィルタ部の出力信号から生成された参照画像に基づいて前記予測信号を生成することを特徴とする画像符号化装置。
  2.  動画像信号の各ピクチャの所定の符号化単位となるブロックの符号化モードと、前記ブロック内の予測パラメータ及び予測差分信号符号化パラメータとを決定する制御部と、
     該制御部によって得られる符号化モードと予測パラメータとに基づいて前記ブロックの予測信号を生成する予測部と、
     前記ブロックに対応する入力信号と前記予測信号との差分をとって予測差分信号を生成する減算部と、
     前記予測差分信号符号化パラメータに基づいて該予測差分信号を圧縮処理して予測差分信号符号化データを生成する予測差分信号圧縮処理部と、
     前記予測差分信号符号化パラメータに基づいて前記予測差分信号符号化データを伸張処理して復号予測差分信号を生成する予測差分信号復号処理部と、
     該復号予測差分信号と前記予測信号とを加算する加算部と、
     該加算部の出力信号に対し、フィルタ処理を行うループフィルタ部と、
     前記ブロックのサイズ及び符号化モード、前記ブロック中の予測パラメータ、前記予測差分信号符号化データをビットストリームに多重する符号化部とを備えることを特徴とする請求項1記載の画像符号化装置。
  3.  動画像信号の各ピクチャが所定単位で分割されたブロックのサイズ及び符号化モード、該ブロック内の予測パラメータ及び予測差分信号符号化データをビットストリームから復号する復号部と、
     前記復号部によって得られる前記予測差分信号符号化パラメータに基づいて生成された復号予測差分信号と、前記復号部によって得られる前記符号化モードと前記予測パラメータとに基づいて生成された予測信号とを加算した信号に対し、フィルタ処理を行うループフィルタ部とを備え、
     該ループフィルタ部は、フィルタ設計の単位となる画素集合を決定するクラスタリングを、局所復号画像の一つあるいは複数のパラメータに基づいて実行することを特徴とする画像復号装置。
  4.  動画像信号の各ピクチャが所定単位で分割されたブロックのサイズ及び符号化モード、該ブロック内の予測パラメータ及び予測差分信号符号化データをビットストリームから復号する復号部と、
     該復号部によって得られる前記符号化モードと前記予測パラメータとに基づいて前記ブロックの予測信号を生成する予測部と、
     前記復号部によって得られる前記予測差分信号符号化パラメータに基づいて復号予測差分信号を生成する予測差分信号復号処理部と、
     該復号予測差分信号と前記予測信号とを加算する加算部と、
     該加算部の出力信号に対し、フィルタ処理を行うループフィルタ部とを備えることを特徴とする請求項3記載の画像復号装置。
  5.  動画像信号の各ピクチャの所定の符号化単位となるブロックの前記符号化モードと前記ブロック内の予測パラメータとに基づいて前記ブロックの予測信号を生成する予測ステップと、
     前記ブロックに対応する入力信号と前記予測信号との差分である予測差分信号を圧縮処理した予測差分信号符号化データを前記ブロック内の予測差分信号符号化パラメータに基づいて伸張処理して生成された復号予測差分信号と前記予測信号とを加算した信号に対し、フィルタ処理を行うループフィルタステップと、
     前記ブロックのサイズ及び符号化モード、前記ブロック中の予測パラメータ、前記予測差分信号符号化データをビットストリームに多重する符号化ステップとを備え、
     該ループフィルタステップは、フィルタ設計の単位となる画素集合を決定するクラスタリングを、局所復号画像の一つあるいは複数のパラメータに基づいて実行し、
     前記予測ステップは、前記ループフィルタステップの出力信号から生成された参照画像に基づいて前記予測信号を生成することを特徴とする画像符号化方法。
  6.  動画像信号の各ピクチャが所定単位で分割されたブロックのサイズ及び符号化モード、該ブロック内の予測パラメータ及び予測差分信号符号化データをビットストリームから復号する復号ステップと、
     前記予測差分信号符号化パラメータに基づいて生成された復号予測差分信号と、前記符号化モードと前記予測パラメータとに基づいて生成された予測信号とを加算した信号に対し、フィルタ処理を行うループフィルタステップとを備え、
     該ループフィルタステップは、フィルタ設計の単位となる画素集合を決定するクラスタリングを、復号画像の一つあるいは複数のパラメータに基づいて実行することを特徴とする画像復号方法。
  7.  前記ループフィルタ部は、クラスタリングを実行する際、前記一つあるいは複数のパラメータに対して、それぞれ所定の分類方法を選択することを特徴とする請求項1記載の画像符号化装置。
  8.  前記ループフィルタ部は、クラスタリングを実行する際、前記一つあるいは複数のパラメータに対して、それぞれ所定のクラスタ数を選択することを特徴とする請求項1記載の画像符号化装置。
  9.  前記ループフィルタ部は、クラスタリングの実行に必要となるクラスタリング制御情報を生成し、
     前記符号化部は、前記クラスタリング制御情報をビットストリームに多重化することを特徴とする請求項1記載の画像符号化装置。
  10.  前記ループフィルタ部は、前記フィルタ設計によるフィルタを適用するか否かを示すフィルタ適用情報をクラスタごとに設定し、
     前記符号化部は、前記フィルタ適用情報を前記クラスタリング制御情報の一部としてビットストリームに多重化することを特徴とする請求項1記載の画像符号化装置。
  11.  前記ループフィルタ部は、前記フィルタ設計を、画像の特徴や符号化歪み等に基づいて適応的に実行するか、あらかじめ登録されている固定のフィルタを用いて実行するかを、クラスタごとに選択的に実行することを特徴とする請求項1記載の画像符号化装置。
PCT/JP2012/003653 2011-06-30 2012-06-04 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 WO2013001720A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011145571 2011-06-30
JP2011-145571 2011-06-30

Publications (1)

Publication Number Publication Date
WO2013001720A1 true WO2013001720A1 (ja) 2013-01-03

Family

ID=47423652

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/003653 WO2013001720A1 (ja) 2011-06-30 2012-06-04 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Country Status (2)

Country Link
JP (1) JPWO2013001720A1 (ja)
WO (1) WO2013001720A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177959A (zh) * 2021-05-21 2021-07-27 广州普华灵动机器人技术有限公司 一种快速运动过程中qr码实时提取算法
CN116760983A (zh) * 2023-08-09 2023-09-15 中国科学技术大学 用于视频编码的环路滤波方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6253406B2 (ja) * 2013-12-27 2017-12-27 キヤノン株式会社 画像符号化装置、撮像装置、画像符号化方法、及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008084745A1 (ja) * 2007-01-09 2008-07-17 Panasonic Corporation 画像符号化装置および画像復号化装置
WO2009110559A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号装置
WO2010001614A1 (ja) * 2008-07-03 2010-01-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
WO2010021108A1 (ja) * 2008-08-18 2010-02-25 パナソニック株式会社 補間フィルタリング方法、画像符号化方法、画像復号方法、補間フィルタリング装置、プログラム、及び集積回路
WO2010026770A1 (ja) * 2008-09-04 2010-03-11 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路
JP2010514246A (ja) * 2006-12-18 2010-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像圧縮及び伸張

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0141824B1 (ko) * 1991-12-23 1998-07-15 구자홍 가변길이의 적응 영상 압축 방법 및 장치
JP2009048575A (ja) * 2007-08-22 2009-03-05 Sharp Corp クラスタリング装置、クラスタリング方法、プログラムおよび記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010514246A (ja) * 2006-12-18 2010-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像圧縮及び伸張
WO2008084745A1 (ja) * 2007-01-09 2008-07-17 Panasonic Corporation 画像符号化装置および画像復号化装置
WO2009110559A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号装置
WO2010001614A1 (ja) * 2008-07-03 2010-01-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
WO2010021108A1 (ja) * 2008-08-18 2010-02-25 パナソニック株式会社 補間フィルタリング方法、画像符号化方法、画像復号方法、補間フィルタリング装置、プログラム、及び集積回路
WO2010026770A1 (ja) * 2008-09-04 2010-03-11 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177959A (zh) * 2021-05-21 2021-07-27 广州普华灵动机器人技术有限公司 一种快速运动过程中qr码实时提取算法
CN116760983A (zh) * 2023-08-09 2023-09-15 中国科学技术大学 用于视频编码的环路滤波方法及装置
CN116760983B (zh) * 2023-08-09 2023-11-28 中国科学技术大学 用于视频编码的环路滤波方法及装置

Also Published As

Publication number Publication date
JPWO2013001720A1 (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
US11831881B2 (en) Image coding device, image decoding device, image coding method, and image decoding method
KR102272564B1 (ko) 화상 복호 장치, 화상 부호화 장치, 화상 복호 방법, 화상 부호화 방법 및 기억 매체
US11350120B2 (en) Image coding device, image decoding device, image coding method, and image decoding method
EP2437499A1 (en) Video encoder, video decoder, video encoding method, and video decoding method
EP3010232A1 (en) Image encoding device, image encoding method, image decoding device, and image decoding method
WO2013001730A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法
KR20140110076A (ko) 동영상 부호화 장치, 동영상 복호 장치, 동영상 부호화 방법 및 동영상 복호 방법
WO2014163200A1 (ja) カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法
US20150256827A1 (en) Video encoding device, video decoding device, video encoding method, and video decoding method
WO2010137322A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
WO2013001720A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2013108882A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2014049982A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013522706

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 12804102

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12804102

Country of ref document: EP

Kind code of ref document: A1