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

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

Info

Publication number
WO2013108882A1
WO2013108882A1 PCT/JP2013/050953 JP2013050953W WO2013108882A1 WO 2013108882 A1 WO2013108882 A1 WO 2013108882A1 JP 2013050953 W JP2013050953 W JP 2013050953W WO 2013108882 A1 WO2013108882 A1 WO 2013108882A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
block
image
unit
coding
Prior art date
Application number
PCT/JP2013/050953
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 WO2013108882A1 publication Critical patent/WO2013108882A1/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Definitions

  • the present invention relates to a moving image encoding apparatus and a moving image encoding method for encoding a moving image with high efficiency, a moving image decoding apparatus and a moving image decoding method for decoding a moving image encoded with high efficiency, and It is about.
  • MPEG and ITU-T H.264 In an international standard video coding scheme such as 26x, an input video frame is divided into macroblock units each consisting of 16 ⁇ 16 pixel blocks, and after motion compensation prediction is performed, a prediction error signal is orthogonally transformed into block units. Information compression is performed by quantization. However, when the compression rate becomes high, there is a problem that the compression efficiency is hindered due to the deterioration of the quality of the prediction reference image used when the motion compensation prediction is performed. Therefore, MPEG-4 AVC / H. In the H.264 encoding method (see Non-Patent Document 1), the block distortion of the prediction reference image generated due to the quantization of the orthogonal transform coefficient is removed by performing the process of the in-loop deblocking filter. ing.
  • FIG. 15 is a block diagram showing an image encoding device disclosed in Non-Patent Document 1.
  • the block division unit 101 when the block division unit 101 receives an image signal to be encoded, the block division unit 101 divides the image signal into macroblock units, and outputs the macroblock unit image signal to the prediction unit 102 as a divided image signal.
  • the prediction unit 102 predicts the image signal of each color component in the macroblock within a frame or between frames, and calculates a prediction error signal.
  • a motion vector is searched in units of a macroblock itself or a subblock obtained by further dividing a macroblock. Then, using the motion vector, a motion compensation prediction image is generated by performing motion compensation prediction on the reference image signal stored in the memory 107, and a prediction signal indicating the motion compensation prediction image and the divided image signal are generated. A prediction error signal is calculated by obtaining the difference. Further, the prediction unit 102 outputs the prediction signal generation parameter determined when obtaining the prediction signal to the variable length coding unit 108.
  • the prediction signal generation parameter includes, for example, information such as an intra prediction mode indicating how to perform spatial prediction within a frame and a motion vector indicating the 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 the signal correlation, and obtains compressed data by quantization.
  • 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 and performs an inverse DCT process, so that a prediction error signal corresponding to the prediction error signal output from the prediction unit 102 is obtained. Is calculated.
  • the adder 105 When the adder 105 receives the prediction error signal from the local decoding unit 104, the adder 105 adds the prediction error signal and the prediction signal output from the prediction unit 102 to generate a local decoded image.
  • the loop filter 106 removes block distortion superimposed on the locally decoded image signal indicating the locally decoded image generated by the adder 105, and stores the locally decoded image signal after distortion removal in the memory 107 as a reference image signal. .
  • variable length coding unit 108 When the variable length coding unit 108 receives the compressed data from the compression unit 103, the variable length coding unit 108 performs entropy coding on the compressed data and outputs a bit stream that is a result of the coding. Note that the variable length coding unit 108 multiplexes the prediction signal generation parameter output from the prediction unit 102 into the bit stream and outputs the bit stream.
  • the loop filter 106 uses information such as the roughness of quantization, the encoding mode, and the degree of variation of motion vectors for pixels around the DCT block boundary.
  • the smoothing strength is determined based on this to reduce the distortion generated at the block boundary. As a result, the quality of the reference image signal is improved, and the efficiency of motion compensation prediction in subsequent encoding can be increased.
  • Non-Patent Document 1 has a problem in that the higher the compression rate, the more high-frequency components of the signal are lost, and the entire screen is excessively smoothed and the video is blurred. is there.
  • a Wiener filter is applied as the loop filter 106, an image signal to be encoded that is an original image signal, and a reference image signal corresponding to the image signal.
  • a technique for constructing the loop filter 106 has been proposed so that the square error distortion is minimized.
  • Non-Patent Document 2 discloses that the loop filter 106 is a square of an image signal to be encoded, which is an original image signal, and a reference image signal corresponding to the image signal, according to local characteristics of the image.
  • An adaptive offset process pixel adaptive offset process
  • an offset value is added to the luminance value of each pixel so as to minimize error distortion.
  • Non-Patent Document 3 adaptive processing for adding an offset to each pixel (pixel adaptive offset) described above, a Wiener filter, or the like
  • the parameters that need to be encoded are collected into one parameter set as header information of the encoded data. This parameter set is referred to as an “adaptive parameter set”.
  • a quantization matrix that scales the quantization step size of each transform coefficient existing in Non-Patent Document 1 is also an adaptive parameter set. It is defined as a parameter. Further, the adaptive parameter set includes a flag (present_flag) indicating whether or not each of the above three parameters exists. Therefore, the adaptive parameter set does not need to have all three types of parameters (parameters for pixel adaptive offset processing, parameters for adaptive filter processing, and quantization matrix), and only needs to have at least one.
  • Non-Patent Document 3 As illustrated in FIG. 16, an encoded stream is configured, and the number of adaptive parameter sets to be referred to in the slice is added to the slice data header (slice level header) included in the picture data.
  • the adaptive parameter set index (aps_id) corresponding to the number is encoded.
  • the slice data indicates data in which one or more pieces of encoded data of the block in the encoding processing unit are combined, and the sequence level header summarizes header information that is generally common to the sequence unit such as an image size. Is shown.
  • the picture level header is a summary of header information necessary for each picture such as the number of reference pictures at the time of motion compensation.
  • MPEG-4 AVC ISO / IEC 14496-10
  • ITU-T H.264 standard “CE13: Sample-Adaptive-Offset-with-LCU-Independent-Decoding”, JCT-VC-Document-JCTVC-E049, March-2011, Geneva, CH. “Using Multiple APSs for Quantization Matrix Parameters Signaling”, JCT-VC Document JCTVC-G1026, Nov. 2011, Geneva, CH.
  • the conventional moving image encoding apparatus is configured as described above, a plurality of adaptive parameter sets can be referred to in units of slices. For this reason, an optimal combination of the pixel adaptive offset processing parameter, the adaptive filter processing parameter, and the quantization matrix can be set for each slice.
  • an optimal combination of the pixel adaptive offset processing parameter, the adaptive filter processing parameter, and the quantization matrix can be set for each slice.
  • a part of each parameter for example, a specific filter for adaptive filter processing or a quantization matrix having a specific orthogonal transform size
  • the present invention has been made to solve the above-described problems, and eliminates the need for encoding parameters that are not updated, thereby improving the encoding efficiency, a moving image encoding device, a moving image decoding device, a moving image It is an object to obtain an encoding method and a moving image decoding method.
  • the moving picture decoding apparatus performs variable-length decoding on a parameter set including header information, quantization matrix parameters, and filter parameters of each slice from encoded data multiplexed in a bitstream, and is divided from the encoded data.
  • the transform coefficient, which is compressed data related to the coding block, is inversely quantized, the transform coefficient after inverse quantization is inversely transformed, and the difference image before compression is added to the prediction image generated by performing the prediction process.
  • Filtering means for performing a filtering process on the decoded image generated in this manner and outputting the decoded image after the filtering process,
  • the parameter set is provided with a flag indicating whether or not the quantization matrix parameter and the filter parameter are present in the set
  • the variable length decoding means includes a parameter set used in the slice as the header information.
  • the quantization matrix parameter and the filter parameter used in the slice are specified with reference to the index to be identified.
  • the variable length encoding means holds a plurality of indexes for identifying an adaptive parameter set used in a slice in the header information of the slice when encoding the slice
  • the adaptation indicated by each index Referring to a flag indicating whether or not the quantization matrix parameter and the filter parameter included in the parameter set exist in the set, the parameter existing in each adaptive parameter set is identified, and the slice header Since the adaptive parameter set updated with the parameters existing in each adaptive parameter set in the coding order of the index included in the information is used as the adaptive parameter set used in the slice, it is not necessary to encode the parameters that are not updated. Thus, the effect of improving the coding efficiency is That.
  • (A) shows the distribution of the encoding block and prediction block after a division
  • (b) is explanatory drawing which shows the condition where encoding mode m ( Bn ) is allocated by hierarchy division
  • the upper left pixels in the prediction block P i n is an explanatory diagram showing a relative coordinate whose origin.
  • FIG. 1 is a block diagram showing a moving picture coding apparatus according to Embodiment 1 of the present invention.
  • the slice division unit 14 when a video signal is input as an input image, the slice division unit 14 performs processing for dividing the input image into one or more partial images called “slices” according to the slice division information determined by the encoding control unit 2. carry out.
  • the slice division unit can be finely divided to a coding block unit described later.
  • the slice division unit 14 constitutes a slice division unit.
  • the slice dividing unit 1 divides the slice into maximum coding blocks which are coding blocks of the maximum size determined by the coding control unit 2, and Until the upper limit number of hierarchies determined by the encoding control unit 2 is reached, a process of dividing the maximum encoded block hierarchically into each encoded block is performed. That is, the block dividing unit 1 divides the slice into each encoded block according to the division determined by the encoding control unit 2, and performs processing for outputting the encoded block.
  • Each coding block is divided into one or a plurality of prediction blocks which are prediction processing units.
  • the block dividing unit 1 constitutes a block dividing unit.
  • the encoding control unit 2 determines the maximum size of the encoding block that is a processing unit when the encoding process is performed, and sets the upper limit number of layers when the encoding block of the maximum size is hierarchically divided. By determining, the process of determining the size of each encoded block is performed.
  • the encoding control unit 2 also includes one or more selectable encoding modes (one or more intra encoding modes having different prediction block sizes indicating prediction processing units, one or more inter codes having different prediction block sizes, and the like).
  • the coding mode to be applied to the coding block output from the block dividing unit 1 is selected from among the coding modes.
  • the selection method there is a method of selecting a coding mode having the highest coding efficiency for the coding block output from the block dividing unit 1 from one or more selectable coding modes.
  • the coding control unit 2 sets the intra prediction parameters used when performing the intra prediction processing on the coding block in the intra coding mode.
  • the inter prediction process for the coding block is performed in the inter coding mode. The process which determines the inter prediction parameter used when implementing for every prediction block which is a prediction process unit which the said inter coding mode shows is implemented.
  • the encoding control unit 2 performs a process of determining a prediction difference encoding parameter to be given to the transform / quantization unit 7 and the inverse quantization / inverse transform unit 8.
  • the prediction difference encoding parameter includes orthogonal transform block division information indicating the division information of the orthogonal transform block, which is an orthogonal transform processing unit in the encoded block, and a quantum that specifies the quantization step size when the transform coefficient is quantized. Parameters are included.
  • the encoding control unit 2 constitutes an encoding control unit.
  • the changeover switch 3 outputs the coded block output from the block dividing unit 1 to the intra prediction unit 4 and the coding control unit 2. If the coding mode determined by the above is the inter coding mode, a process of outputting the coding block output from the block dividing unit 1 to the motion compensation prediction unit 5 is performed.
  • the intra prediction unit 4 When the intra control mode is selected by the encoding control unit 2 as the encoding mode corresponding to the encoded block output from the changeover switch 3, the intra prediction unit 4 performs the prediction process for the encoded block. For each prediction block that is a prediction processing unit, an intra prediction process (intraframe prediction) using an intra prediction parameter determined by the encoding control unit 2 while referring to a locally decoded image stored in the intra prediction memory 10. Process) to generate an intra-predicted image.
  • the intra prediction unit 4 and the intra prediction memory 10 constitute intra prediction means.
  • the motion compensation prediction unit 5 and the motion compensated prediction frame memory 12 A motion vector is searched by comparing a local decoded image of one frame or more stored in the image with a prediction block unit that is a prediction processing unit, and the motion vector and a frame number to be referenced determined by the encoding control unit 2 Using the inter prediction parameters, an inter prediction process (motion compensation prediction process) for the encoded block is performed for each prediction block, and an inter prediction image is generated.
  • the motion compensation prediction unit 5 and the motion compensation prediction frame memory 12 constitute a motion compensation prediction unit.
  • the subtraction unit 6 subtracts the intra prediction image generated by the intra prediction unit 4 or the inter prediction image generated by the motion compensated prediction unit 5 from the encoded block output from the block division unit 1 and performs the subtraction.
  • the process which outputs the prediction difference signal which shows the difference image which is a result to the conversion and quantization part 7 is implemented.
  • the subtracting unit 6 constitutes a difference image generating unit.
  • the transform / quantization unit 7 refers to the orthogonal transform block division information included in the prediction difference coding parameter determined by the coding control unit 2 and performs orthogonal transform processing on the prediction difference signal output from the subtraction unit 6 (for example, , DCT (discrete cosine transform), DST (discrete sine transform), orthogonal transform processing such as KL transform in which a base design is made in advance for a specific learning sequence is performed in units of orthogonal transform blocks to calculate transform coefficients
  • the transform coefficient of the orthogonal transform block unit is quantized, and the quantized compressed data that is the transform coefficient is inversely quantized / inversely transformed. 8 and the process of outputting to the variable length encoding unit 13 is performed.
  • the transform / quantization unit 7 constitutes an image compression unit.
  • FIG. 10 is an explanatory diagram showing an example of an 8 ⁇ 8 DCT quantization matrix.
  • the numbers in the figure indicate the scaling value of the quantization step size of each transform coefficient (in this figure, 0 indicates “no quantization”). For example, in order to suppress the encoding bit rate, as shown in FIG. 10, by scaling the quantization step size to a larger value for the higher frequency transform coefficient, the higher frequency generated in a complex image region or the like.
  • a quantization matrix may be used.
  • an independent matrix can be used for each orthogonal transform size and color signal.
  • the inverse quantization / inverse transform unit 8 refers to the quantization parameter and the orthogonal transform block division information included in the prediction difference coding parameter determined by the coding control unit 2, and transforms / quantizes the orthogonal transform block unit. 7, the quantized data output from the subtractor 6 is inversely quantized and inverse orthogonal transform processing is performed on the transform coefficient that is the compressed data after the inverse quantization, and the local decoded prediction corresponding to the prediction difference signal output from the subtractor 6 A process for calculating the difference signal is performed. When a quantization matrix is used for the quantization process in the transform / quantization unit 7, the corresponding inverse quantization process is performed with reference to the quantization matrix even during the inverse quantization process.
  • the adding unit 9 includes a local decoded prediction difference signal calculated by the inverse quantization / inverse transform unit 8, an intra prediction image generated by the intra prediction unit 4, or an inter prediction image generated by the motion compensation prediction unit 5. And a process of calculating a locally decoded image corresponding to the encoded block output from the block dividing unit 1 is performed.
  • a local decoded image generating unit is configured by the inverse quantization / inverse transform unit 8 and the addition unit 9.
  • the intra prediction memory 10 is a recording medium that stores the locally decoded image calculated by the adding unit 9.
  • the loop filter unit 11 performs a predetermined filter process on the local decoded image calculated by the adding unit 9 and performs a process of outputting the local decoded image after the filter process. Specifically, filter (deblocking filter) processing for reducing distortion occurring at the boundaries of orthogonal transform blocks and prediction blocks, processing for adaptively adding an offset for each pixel (pixel adaptive offset), Wiener filter, etc.
  • the adaptive filter processing that performs the filter processing by adaptively switching the linear filter is performed.
  • the loop filter unit 11 may be configured to perform one of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, or two or more as shown in FIG.
  • the loop filter unit 11 constitutes filtering means.
  • the parameter is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the pixel adaptive offset processing first, an image is divided into a plurality of blocks, and when the offset processing is not performed for each block, it is defined as one of the class classification methods, and a plurality of class classifications prepared in advance. One classification method is selected from the methods. Next, each pixel in the block is classified by the selected class classification method, and an offset value that minimizes the sum of square errors of luminance values between the encoding target image and the local decoded image is calculated for each class.
  • the image quality of the locally decoded image is improved by performing a process of adding the offset value to the luminance value of the locally decoded image. Therefore, in the pixel adaptive offset processing, the block division information, the index indicating the class classification method of each block, and the offset value of each class in block units are output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded. .
  • the image may be always divided into units of the maximum coding block, and the class classification method may be selected for each maximum coding block to perform the adaptive offset processing for each class. In this case, the block division information is not necessary, and the code amount can be reduced by the amount of code required for the block division information.
  • a filter that compensates for the distortion that is superimposed is designed for each region (local decoded image) belonging to each class. Then, the local decoded image is filtered. Then, the filter designed for each class is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • a class classification method there are a simple method for spatially dividing an image at equal intervals, and a method for classifying the image in units of blocks according to local characteristics (such as dispersion) of the image.
  • the number of classes used in the adaptive filter processing may be set in advance to a value common to the image encoding device and the image decoding device, or may be a part of the adaptive parameter set to be encoded.
  • the number of classes used by the latter can be set freely compared to the former, so the image quality improvement effect is improved.
  • the number of classes since the number of classes is encoded, the amount of code increases accordingly.
  • the class classification and filter design / processing of the adaptive filter processing may be performed for each maximum coding block instead of the entire image. In other words, a plurality of blocks in the maximum coding block are classified into classes according to local characteristics (such as dispersion) of the image, and filter design and processing are performed for each class.
  • each class of filter is encoded as part of the adaptive parameter set for each maximum encoding block.
  • the motion compensated prediction frame memory 12 is a recording medium that stores a locally decoded image after the filter processing of the loop filter unit 11.
  • the variable length encoding unit 13 outputs the compressed data output from the transform / quantization unit 7 and the output signal of the encoding control unit 2 (block division information in the maximum encoding block, encoding mode, prediction difference encoding parameter, Intra prediction parameters or inter prediction parameters) and motion vectors output from the motion compensation prediction unit 5 (when the encoding mode is the inter encoding mode) are variable-length encoded to generate encoded data. Further, as illustrated in FIG.
  • variable length encoding unit 13 encodes a sequence level header, a picture level header, and an adaptive parameter set as header information of the encoded bit stream, and generates a bit stream together with the picture data. .
  • the variable length encoding unit 13 constitutes variable length encoding means.
  • picture data is composed of one or more slice data, and each slice data is a combination of a slice level header and the encoded data in the slice.
  • the sequence level header is a collection of header information that is generally common to the sequence unit such as the image size.
  • the slice level header includes position information indicating where the slice is located in the picture, an index indicating which picture level header is referred to, and a slice coding type (all-intra coding, inter coding).
  • the adaptive parameter set is a parameter set having parameters (filter parameters) related to adaptive filter processing, pixel adaptive offset processing, and deblocking filter processing, and parameters (quantization matrix parameters) related to a quantization matrix.
  • a block division unit 1 an encoding control unit 2, a changeover switch 3, an intra prediction unit 4, a motion compensation prediction unit 5, a subtraction unit 6, transform / quantization, which are components of the moving image encoding device.
  • FIG. 2 is a flowchart showing the processing contents (moving image coding method) of the moving image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a block diagram showing a moving picture decoding apparatus according to Embodiment 1 of the present invention.
  • the variable length decoding unit 31 receives the bit stream generated by the moving picture encoding apparatus of FIG. 1, each of the sequence level header, picture level header, adaptive parameter set, slice level header, etc.
  • variable length decoding is performed on the block division information indicating the division status of each encoded block divided hierarchically from the bitstream.
  • the variable length decoding unit 31 refers to each header information, specifies the maximum decoding block (block corresponding to the “maximum encoding block” of the video encoding device in FIG.
  • a decoding block (a block corresponding to the “encoding block” of the video encoding device in FIG. 1) that identifies a unit for performing decoding processing by dividing the maximum decoding block hierarchically is specified.
  • Compressed data, coding mode, intra prediction parameter (when the coding mode is the intra coding mode), inter prediction parameter (when the coding mode is the inter coding mode), and prediction difference relating to each decoded block A process of performing variable length decoding on the encoding parameter and the motion vector (when the encoding mode is the inter encoding mode) is performed.
  • the variable length decoding unit 31 constitutes a variable length decoding unit.
  • the inverse quantization / inverse transform unit 32 refers to the quantization parameter and the orthogonal transform block division information included in the prediction difference encoding parameter variable length decoded by the variable length decoding unit 31, and the variable length decoding unit 31 performs variable length decoding.
  • the decoded compressed data is inversely quantized in units of orthogonal transform blocks, and inverse orthogonal transform processing is performed on transform coefficients that are compressed data after inverse quantization, and output from the inverse quantization / inverse transform unit 8 in FIG.
  • the process which calculates the decoding prediction difference signal same as the local decoding prediction difference signal performed is implemented.
  • each header information that has been variable-length decoded by the variable-length decoding unit 31 indicates that the inverse quantization process is to be performed using the quantization matrix in the slice
  • the reference parameter parameter set is referred to.
  • Inverse quantization processing is performed using a certain quantization matrix.
  • the inverse quantization / inverse transform unit 32 constitutes a difference image generation unit.
  • the changeover switch 33 outputs the intra prediction parameter variable length decoded by the variable length decoding unit 31 to the intra prediction unit 34 if the encoding mode variable length decoded by the variable length decoding unit 31 is the intra coding mode. If the encoding mode variable-length decoded by the variable-length decoding unit 31 is an inter-coding mode, a process of outputting the inter prediction parameters and motion vectors variable-length decoded by the variable-length decoding unit 31 to the motion compensation unit 35 carry out.
  • the intra prediction unit 34 When the encoding mode related to the decoded block specified from the block division information variable-length decoded by the variable-length decoding unit 31 is the intra-encoding mode, the intra prediction unit 34 performs prediction when performing prediction processing of the decoded block For each prediction block as a processing unit, an intra prediction process (intraframe prediction process) using the intra prediction parameter output from the changeover switch 33 is performed with reference to the decoded image stored in the intra prediction memory 37. Then, a process for generating an intra-predicted image is performed.
  • the intra prediction unit 34 and the intra prediction memory 37 constitute an intra prediction unit.
  • the motion compensation unit 35 When the coding mode related to the decoded block specified from the block division information variable-length decoded by the variable-length decoding unit 31 is the inter-coding mode, the motion compensation unit 35 performs prediction when performing the decoding block prediction process. For each prediction block that is a processing unit, while referring to the decoded image stored in the motion compensation prediction frame memory 39, an inter prediction process (motion compensation prediction) using the motion vector output from the changeover switch 33 and the inter prediction parameter is used. Process) to generate an inter prediction image.
  • the motion compensation unit 35 and the motion compensation prediction frame memory 39 constitute a motion compensation prediction unit.
  • the addition unit 36 adds the decoded prediction difference signal calculated by the inverse quantization / inverse conversion unit 32 and the intra prediction image generated by the intra prediction unit 34 or the inter prediction image generated by the motion compensation unit 35. Then, a process of calculating the same decoded image as the local decoded image output from the adding unit 9 in FIG. 1 is performed.
  • the adding unit 36 constitutes a decoded image generating unit.
  • the intra prediction memory 37 is a recording medium that stores the decoded image calculated by the addition unit 36.
  • the loop filter unit 38 performs a predetermined filter process on the decoded image calculated by the adder unit 36 and performs a process of outputting the decoded image after the filter process. Specifically, filter (deblocking filter) processing for reducing distortion occurring at the boundaries of orthogonal transform blocks and prediction blocks, processing for adaptively adding an offset for each pixel (pixel adaptive offset), Wiener filter, etc.
  • the adaptive filter processing that performs the filter processing by adaptively switching the linear filter is performed.
  • the loop filter unit 38 may be configured to perform one of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, or two or more as shown in FIG.
  • the loop filter unit 38 constitutes filtering means.
  • the change information Based on the above, deblocking filtering is performed.
  • the adaptive parameter set referred to by the slice is referred to, divided based on the block division information included in the adaptive parameter set, and the block unit class included in the adaptive parameter set is divided into block units.
  • an index indicating a classification method if the index is not an index indicating that “offset processing is not performed”, each pixel in the block is classified into blocks.
  • the process which adds the offset for every class contained in an adaptive parameter set to the luminance value of a corresponding decoded image is performed.
  • the block division information is not encoded, the image is always divided into units of the maximum encoding block, and the class is determined for each maximum encoding block.
  • the loop filter unit 38 similarly performs the pixel adaptive offset processing for each maximum coding block.
  • the adaptive filter processing after referring to the adaptive parameter set referred to by the slice, and using the filter for each class included in the adaptive parameter set, classifying by the same method as the moving picture coding apparatus in FIG.
  • Filter processing is performed based on the classification information.
  • the filter unit 38 performs the class classification and filter processing by decoding the filter used in each class for each maximum coding block.
  • the motion compensated prediction frame memory 39 is a recording medium for storing the decoded image after the filter processing of the loop filter unit 38.
  • variable length decoding unit 31 the inverse quantization / inverse conversion unit 32, the changeover switch 33, the intra prediction unit 34, the motion compensation unit 35, the addition unit 36, and the intra prediction, which are components of the video decoding device.
  • each of the memory 37, the loop filter unit 38, and the motion compensation prediction frame memory 39 is configured by dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, a one-chip microcomputer, or the like).
  • FIG. 4 is a flowchart showing the processing contents (moving image decoding method) of the moving image decoding apparatus according to Embodiment 1 of the present invention.
  • each frame image of a video is used as an input image, intra prediction from encoded neighboring pixels or motion compensation prediction between adjacent frames is performed, and an obtained prediction difference signal is obtained.
  • a video encoding device that performs compression processing by orthogonal transform / quantization and then performs variable length encoding to generate a bitstream, and a video decoding that decodes the bitstream output from the video encoding device The apparatus will be described.
  • the moving image encoding apparatus of FIG. 1 performs intra-frame and inter-frame adaptive encoding by dividing a video signal into blocks of various sizes in response to local changes in the spatial and temporal directions of the video signal. It is characterized by that.
  • a video signal has a characteristic that the complexity of the signal changes locally in space and time.
  • a small image such as a picture with a uniform signal characteristic in a relatively large image area such as the sky or a wall, or a picture containing a person or fine texture, on a certain video frame.
  • a pattern having a complicated texture pattern in the region may be mixed.
  • the sky and the wall are locally small in the change of the pattern in the time direction, but the moving person or object changes in time because the contour moves in rigid or non-rigid in time. Is big.
  • a prediction difference signal with small signal power and entropy is generated by temporal and spatial prediction to reduce the overall code amount.
  • the parameters used for the prediction are set as large as possible in the image signal region. If it can be applied uniformly, the code amount of the parameter can be reduced.
  • the same prediction parameter is applied to a large image region with respect to an image signal pattern having a large temporal and spatial change, the number of prediction differential signals increases because prediction errors increase. . Therefore, in a region where the temporal and spatial changes are large, the block size for performing the prediction process by applying the same prediction parameter is reduced, the amount of parameter data used for prediction is increased, and the power and entropy of the prediction difference signal are increased. It is desirable to reduce
  • the first embodiment in order to perform coding adapted to the general characteristics of such a video signal, first, prediction processing or the like is started from a predetermined maximum block size, and the video signal region is divided hierarchically. In addition, the prediction process and the encoding process of the prediction difference are adapted for each divided area.
  • the video signal format to be processed by the moving image encoding apparatus of FIG. 1 is a color video signal in an arbitrary color space such as a YUV signal composed of a luminance signal and two color difference signals, or an RGB signal output from a digital image sensor.
  • the video frame is an arbitrary video signal including a horizontal / vertical two-dimensional digital sample (pixel) sequence such as a monochrome image signal or an infrared image signal.
  • the gradation of each pixel may be 8 bits, or a gradation of 10 bits or 12 bits.
  • a processing data unit corresponding to each frame of the video signal is referred to as a “picture”.
  • “picture” is described as a video frame signal that is sequentially scanned (progressive scan).
  • the video signal is an interlaced signal
  • “picture” is a unit constituting a video frame. It may be a field image signal.
  • the encoding control unit 2 determines the slice division state of a picture to be encoded (current picture), and also determines the size of the maximum encoding block used for encoding the picture and the hierarchy for dividing the maximum encoding block into layers. The upper limit of the number is determined (step ST1 in FIG. 2).
  • the same size may be determined for all the pictures according to the resolution of the video signal of the input image, or the local motion of the video signal of the input image
  • the size difference may be quantified as a parameter, and a small size may be determined for a picture with high motion, while a large size may be determined for a picture with little motion.
  • Examples of how to determine the upper limit of the number of division layers include, for example, a method of determining the same number of layers for all pictures according to the resolution of the video signal of the input image, or when the motion of the video signal of the input image is severe There is a method in which the number of hierarchies is increased so that finer movements can be detected, and when there are few movements, the number of hierarchies is set to be suppressed. Note that the size of the maximum coding block and the upper limit of the number of layers for dividing the maximum coding block into layers may be encoded in a sequence level header or the like, and the moving picture decoding apparatus side does not perform the same determination. Processing may be performed.
  • the encoding control unit 2 selects an encoding mode corresponding to each encoding block divided hierarchically from one or more available encoding modes (step ST2). That is, the encoding control unit 2 divides the image area of the maximum encoding block size into encoded blocks having the encoding block size hierarchically until reaching the upper limit of the number of division layers defined above. A coding mode for each coding block is determined. There are one or more intra coding modes (collectively referred to as “INTRA”) and one or more inter coding modes (collectively referred to as “INTER”). The coding control unit 2 selects a coding mode corresponding to each coding block from all coding modes available for the picture or a subset thereof.
  • ITRA intra coding modes
  • INTER inter coding modes
  • each coding block that is hierarchically divided by the block division unit 1 to be described later is further divided into one or a plurality of prediction blocks, which are units for performing prediction processing, and the division state of the prediction block is also coded mode.
  • the coding mode is an index for identifying what kind of prediction block division the intra or inter coding mode is. Since the encoding mode selection method by the encoding control unit 2 is a known technique, detailed description thereof is omitted. For example, an encoding process for an encoding block is performed using any available encoding mode. There is a method in which coding efficiency is verified by performing and a coding mode having the best coding efficiency is selected from among a plurality of available coding modes.
  • the encoding control unit 2 determines a quantization parameter and an orthogonal transform block division state used when the difference image is compressed for each encoding block, and is used when a prediction process is performed. Prediction parameter (intra prediction parameter or inter prediction parameter) is determined. However, when the encoded block is further divided into prediction block units for performing prediction processing, a prediction parameter (intra prediction parameter or inter prediction parameter) can be selected for each prediction block. Furthermore, in the coding block whose coding mode is the intra coding mode, the details will be described later. However, since an encoded pixel adjacent to the prediction block is used when performing the intra prediction process, the prediction block unit Since it is necessary to perform encoding, the selectable transform block size is limited to the size of the prediction block or less.
  • the encoding control unit 2 outputs the prediction difference encoding parameter including the quantization parameter and the transform block size to the transform / quantization unit 7, the inverse quantization / inverse transform unit 8, and the variable length coding unit 13. Also, the encoding control unit 2 outputs intra prediction parameters to the intra prediction unit 4 as necessary. Also, the encoding control unit 2 outputs inter prediction parameters to the motion compensation prediction unit 5 as necessary.
  • the slice dividing unit 14 divides the input image into slices that are one or more partial images according to the slice division information determined by the encoding control unit 2. Each time the slice dividing unit 1 inputs each slice from the slice dividing unit 14, the slice dividing unit 1 divides the slice into the maximum coding block size determined by the coding control unit 2, and further encodes the divided maximum coding block.
  • the coding block is hierarchically divided into coding blocks determined by the coding control unit 2, and the coding blocks are output.
  • FIG. 5 is an explanatory diagram showing an example in which the maximum coding block is hierarchically divided into a plurality of coding blocks.
  • the maximum coding block is a coding block whose luminance component described as “0th layer” has a size of (L 0 , M 0 ).
  • a coding block is obtained by performing hierarchical division to a predetermined depth separately defined by a quadtree structure.
  • the coding block is an image area of size (L n , M n ).
  • the size of all color components is (L n , M n ), but 4: 2. :
  • the encoding block size of the corresponding color difference component is (L n / 2, M n / 2).
  • the coding block of the n hierarchy expressed in B n denote the encoding modes selectable by the coding block B n with m (B n).
  • the encoding mode m (B n ) may be configured to use an individual mode for each color component, or common to all color components. It may be configured to use a mode.
  • description will be made assuming that it indicates a coding mode for a luminance component of a coding block of a YUV signal and 4: 2: 0 format.
  • the coding block B n is divided by the block dividing unit 1 into one or a plurality of prediction blocks representing a prediction processing unit.
  • a prediction block belonging to the coding block B n is denoted as P i n (i is a prediction block number in the n-th layer).
  • FIG. 5 shows an example of P 0 0 and P 1 0 .
  • How the prediction block is divided in the coding block Bn is included as information in the coding mode m ( Bn ). All the prediction blocks P i n are subjected to prediction processing according to the encoding mode m (B n ), and it is possible to select individual prediction parameters (intra prediction parameters or inter prediction parameters) for each prediction block P i n. it can.
  • the encoding control unit 2 generates a block division state as illustrated in FIG. 6 for the maximum encoding block, and identifies the encoding block.
  • a rectangle surrounded by a dotted line in FIG. 6A represents each coding block, and a block painted with diagonal lines in each coding block represents a division state of each prediction block.
  • FIG. 6B shows, in a quadtree graph, a situation in which the encoding mode m (B n ) is assigned by hierarchical division in the example of FIG. 6A. Nodes surrounded by squares in FIG. 6B are nodes (encoding blocks) to which the encoding mode m (B n ) is assigned.
  • Information of the quadtree graph is output from the encoding control unit 2 to the variable length encoding unit 13 together with the encoding mode m (B n ), and is multiplexed into the bit stream.
  • the changeover switch 3 is output from the block dividing unit 1 when the encoding mode m (B n ) determined by the encoding control unit 2 is an intra encoding mode (when m (B n ) ⁇ INTRA).
  • the encoded block B n is output to the intra prediction unit 4.
  • the encoding mode m (B n ) determined by the encoding control unit 2 is the inter encoding mode (when m (B n ) ⁇ INTER)
  • the encoded block output from the block dividing unit 1 B n is output to the motion compensation prediction unit 5.
  • the coding mode m (B n ) determined by the coding control unit 2 is the intra coding mode (when m (B n ) ⁇ INTRA), and the coding block B is changed from the changeover switch 3 to the coding block B.
  • n step ST3, using the intra prediction parameters determined by the encoding control unit 2 while referring to the local decoded image stored in the intra prediction memory 10, the coding block B n and implementing intra prediction process for each of the prediction block P i n in, it generates an intra prediction image P INTRAi n (step ST4).
  • intra prediction parameters used for generating the intra prediction image P INTRAi n is from encoding control unit 2
  • the data is output to the variable length encoding unit 13 and multiplexed into the bit stream. Details of processing contents of the intra prediction unit 4 will be described later.
  • the motion-compensated prediction unit 5 has the coding mode m (B n ) determined by the coding control unit 2 in the inter coding mode (when m (B n ) ⁇ INTER), and the coding block is switched from the changeover switch 3 to the coding block.
  • the motion vector Upon receiving the B n (step ST3), the motion vector by comparing the locally decoded image after the filtering process stored in the prediction block P i n and the motion compensated prediction frame memory 12 of the encoding block B n Using the motion vector and the inter prediction parameter determined by the encoding control unit 2, the inter prediction process for each prediction block P i n in the encoding block B n is performed, and the inter prediction image P generating a INTERi n (step ST5).
  • inter prediction parameters used for generating the inter prediction image P INTERi n is from encoding control unit 2
  • the data is output to the variable length coding unit 13 and multiplexed into the bit stream.
  • the motion vector searched by the motion compensation prediction unit 5 is also output to the variable length encoding unit 13 and multiplexed into the bit stream.
  • Subtraction unit 6 upon receiving the encoded block B n from the block dividing unit 1 from its prediction block P i n the coded block B n, the intra prediction image P INTRAi n generated by the intra prediction unit 4 or, , by subtracting one of the inter prediction image P INTERi n generated by the motion compensation prediction unit 5, and outputs the prediction difference signal e i n representing a difference image is the subtraction result to the transform and quantization unit 7 (Step ST6).
  • the transform / quantization unit 7 When the transform / quantization unit 7 receives the prediction difference signal e i n from the subtraction unit 6, the transform / quantization unit 7 refers to the orthogonal transform block division information included in the prediction difference coding parameter determined by the coding control unit 2, and orthogonal transform processing for the predicted difference signal e i n (e.g., DCT (discrete cosine transform) or DST (discrete sine transform), the orthogonal transform for KL conversion and the base design have been made in advance to the particular learning sequence) This is performed for each orthogonal transform block, and transform coefficients are calculated.
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the transform / quantization unit 7 refers to the quantization parameter included in the prediction differential encoding parameter, quantizes the transform coefficient of the orthogonal transform block unit, and compresses the compressed data that is the quantized transform coefficient.
  • the data is output to the inverse quantization / inverse transform unit 8 and the variable length coding unit 13 (step ST7).
  • the quantization process may be performed using a quantization matrix that scales the quantization step size calculated from the quantization parameter for each transform coefficient.
  • the quantization matrix an independent matrix can be used for each orthogonal transform size and color signal, and when using a quantization matrix other than the quantization matrix prepared in advance in the image encoding device as an initial value,
  • the quantization matrix is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the inverse quantization / inverse transform unit 8 When receiving the compressed data from the transform / quantization unit 7, the inverse quantization / inverse transform unit 8 receives the quantization parameter and the orthogonal transform block division information included in the prediction difference coding parameter determined by the coding control unit 2. With reference, the compressed data is inversely quantized in units of orthogonal transform blocks. When a quantization matrix is used for the quantization process in the transform / quantization unit 7, the corresponding inverse quantization process is performed with reference to the quantization matrix even during the inverse quantization process.
  • the inverse quantization / inverse transform unit 8 performs inverse orthogonal transform processing (for example, inverse DCT, inverse DST, inverse KL transform, etc.) on transform coefficients that are compressed data after inverse quantization in units of orthogonal transform blocks. Then, a local decoded prediction difference signal corresponding to the prediction difference signal e i n output from the subtraction unit 6 is calculated and output to the addition unit 9 (step ST8).
  • inverse orthogonal transform processing for example, inverse DCT, inverse DST, inverse KL transform, etc.
  • the adding unit 9 Upon receiving the local decoded prediction difference signal from the inverse quantization / inverse transform unit 8, the adding unit 9 receives the local decoded prediction difference signal and the intra predicted image P INTRAi n generated by the intra prediction unit 4 or motion compensation.
  • a local decoded image is calculated by adding one of the inter prediction images P INTERIn n generated by the prediction unit 5 (step ST9).
  • the adding unit 9 outputs the local decoded image to the loop filter unit 11 and stores the local decoded image in the intra prediction memory 10. This locally decoded image becomes an encoded image signal used in the subsequent intra prediction processing.
  • Step ST10 When the loop filter unit 11 receives the local decoded image from the adding unit 9, the loop filter unit 11 performs a predetermined filter process on the local decoded image, and stores the filtered local decoded image in the motion compensated prediction frame memory 12.
  • filter deblocking filter
  • the adaptive filter processing that performs the filter processing by adaptively switching the linear filter is performed.
  • the loop filter unit 11 may be configured to perform one of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, or two or more as shown in FIG. It may be configured to perform the filtering process.
  • the configuration may be determined according to the processing load allowed by the moving image encoding apparatus.
  • the parameter is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the pixel adaptive offset processing first, an image is divided into a plurality of blocks, and when the offset processing is not performed for each block, it is defined as one of the class classification methods, and a plurality of class classifications prepared in advance. One classification method is selected from the methods. Next, each pixel in the block is classified by the selected class classification method, and an offset value that minimizes the sum of square errors of luminance values between the encoding target image and the local decoded image is calculated for each class. Finally, the image quality of the locally decoded image is improved by performing a process of adding the offset value to the luminance value of the locally decoded image.
  • the pixel adaptive offset processing outputs the block division information, the index indicating the class classification method for each block, and the offset value of each class for each block to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the image may be always divided into units of the maximum coding block, and the class classification method may be selected for each maximum coding block to perform the adaptive offset processing for each class.
  • the block division information is not necessary, and the code amount can be reduced by the amount of code required for the block division information.
  • a filter that compensates for the distortion that is superimposed is designed for each region (local decoded image) belonging to each class. Then, the local decoded image is filtered. Then, the filter designed for each class is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • a class classification method there are a simple method for spatially dividing an image at equal intervals, and a method for classifying the image in units of blocks according to local characteristics (such as dispersion) of the image.
  • the number of classes used in the adaptive filter processing may be set in advance to a value common to the image encoding device and the image decoding device, or may be a part of the adaptive parameter set to be encoded.
  • the number of classes used by the latter can be set freely compared to the former, so the image quality improvement effect is improved.
  • the number of classes since the number of classes is encoded, the amount of code increases accordingly.
  • the class classification and filter design / processing of the adaptive filter processing may be performed for each maximum coding block instead of the entire image. In other words, a plurality of blocks in the maximum coding block are classified into classes according to local characteristics (such as dispersion) of the image, and filter design and processing are performed for each class.
  • each class of filter is encoded as part of the adaptive parameter set for each maximum encoding block.
  • steps ST3 to ST9 are repeated until the processes for all the coding blocks Bn divided hierarchically are completed, and when the processes for all the coding blocks Bn are completed, the process proceeds to the process of step ST13. (Steps ST11 and ST12).
  • the variable length encoding unit 13 uses the compressed data output from the transform / quantization unit 7 and the block division information (FIG. 6B) in the maximum encoded block output from the encoding control unit 2 as an example. (Quadrant tree information), coding mode m (B n ) and prediction differential coding parameters, and intra prediction parameters output from the coding control unit 2 (when the coding mode is an intra coding mode) or inter prediction
  • the parameters (when the encoding mode is the inter encoding mode) and the motion vector (when the encoding mode is the inter encoding mode) output from the motion compensated prediction unit 5 are variable-length encoded, Encoded data indicating the encoding result is generated (step ST13).
  • variable length encoding unit 13 encodes a sequence level header, a picture level header, and an adaptive parameter set as header information of the encoded bit stream, and generates a bit stream together with the picture data.
  • picture data is composed of one or more slice data
  • each slice data is a combination of a slice level header and the encoded data in the slice.
  • the sequence level header is a collection of header information that is generally common to the sequence unit such as the image size.
  • the slice level header includes position information indicating where the slice is located in the picture, an index indicating which picture level header is referred to, and a slice coding type (all-intra coding, inter coding).
  • the adaptive parameter set is a parameter set having parameters related to adaptive filter processing, pixel adaptive offset processing, and deblocking filter processing (filter parameters), and parameters related to quantization matrices (quantization matrix parameters).
  • each adaptation parameter set has an index (aps_id).
  • Each adaptive parameter set has a flag (present_flag) indicating whether or not each filter parameter related to adaptive filter processing, pixel adaptive offset processing, and deblocking filter processing and a quantization matrix parameter exist.
  • the quantization matrix parameter presence flag is “valid”
  • the quantization matrix has a flag indicating whether or not a matrix exists for each orthogonal transform size and color signal
  • the filter parameter for adaptive filter processing has a flag indicating whether or not a filter coefficient exists for each class.
  • each existence flag When each existence flag is “valid”, it has a parameter corresponding to it. Therefore, the adaptive parameter set can freely set whether or not each parameter is present.
  • Each slice has at least one index (aps_id) of an adaptive parameter set referred to in the slice decoding process in the slice header, and quantization processing / inverse quantization processing is performed with reference to the corresponding adaptive parameter set. And loop filter processing.
  • the adaptive parameter set used only in the slice is updated with the adaptive parameter set corresponding to each index in the order encoded in the slice header. In the slice. By doing so, it is possible to partially update parameters of the adaptive parameter set in units of slices.
  • an adaptive parameter set is encoded and multiplexed into an encoded bitstream
  • an adaptive parameter set having the same index (aps_id) already exists in the encoded bitstream the adaptive parameter set having that index is Is replaced with the adaptive parameter set to be encoded. Therefore, when encoding a new adaptive parameter set, if an already encoded adaptive parameter set is unnecessary, it can be overwritten and updated by encoding with the index of the unnecessary adaptive parameter set. Therefore, since it is not necessary to increase the number of adaptive parameter sets that must be stored, the capacity of the memory to be used can be suppressed.
  • FIG. 7 is an explanatory diagram showing an example of the intra prediction mode is an intra prediction parameters each prediction block P i n is selectable within a coding block B n.
  • N I is the number of intra prediction modes.
  • FIG. 7 shows the index value of the intra prediction mode and the prediction direction vector indicated by the intra prediction mode. In the example of FIG. 7, as the number of selectable intra prediction modes increases, Designed to reduce the angle.
  • Intra prediction unit 4 as described above, with reference to the intra prediction parameters of the prediction block P i n, to implement intra prediction processing for the prediction block P i n, but to generate an intra prediction image P INTRAi n , it will be described here intra process of generating an intra prediction signal of a prediction block P i n in the luminance signal.
  • the size of the prediction block P i n is assumed to be l i n ⁇ m i n pixels.
  • the encoded pixels (2 ⁇ l i n +1) and the left encoded pixels (2 ⁇ m i n ) on the prediction block P i n are used as prediction pixels.
  • the number of pixels used for prediction may be more or less than the pixels shown in FIG.
  • it is used to predict one line or pixel of one column in the vicinity of the predicted block P i n, 2 rows or two columns, or may be used more pixels in the prediction.
  • the encoded pixel adjacent on the prediction block P i n is adjacent to the left of the prediction block P i n. using encoded pixels that generates a predicted image interpolated value according to the distance of the pixel and the prediction pixel in the prediction block P i n as the predicted value.
  • the index value of the intra prediction mode for the prediction block P i n is 2 (average value (DC) prediction)
  • the encoded pixels adjacent on the prediction block P i n and the prediction block P i n are placed to the left of the prediction block P i n .
  • the integer pixel When the reference pixel is at the integer pixel position, the integer pixel is set as the prediction value of the prediction target pixel. When the reference pixel is not at the integer pixel position, an interpolation pixel generated from the integer pixel adjacent to the reference pixel is selected. Estimated value. In the example of FIG. 8, since the reference pixel is not located at the integer pixel position, a value interpolated from two pixels adjacent to the reference pixel is set as the predicted value. Note that an interpolation pixel may be generated not only from two adjacent pixels but also from two or more adjacent pixels as a predicted value.
  • the prediction pixels for all the pixels of the luminance signal in the prediction block P i n are generated, and the intra prediction image P INTRA i n is output.
  • the intra prediction parameters used for generating the intra prediction image P INTRAi n is output to the variable length coding unit 13 for multiplexing the bitstream.
  • the MPEG-4 AVC / H Similar to the smoothing process performed on the reference image at the time of 8 ⁇ 8 pixel block intra prediction of the 264, the intra prediction unit 4, the reference pixels in generating the intermediate prediction image predicted block P i n even when configured as a prediction block P i n pixels smoothed the encoded pixels adjacent to, it is possible to perform the filtering for the same intermediate predicted image and the above example.
  • the intra prediction processing based on the intra prediction parameters (intra prediction mode) performed the intra prediction parameters used for generating the intra prediction image Is output to the variable length encoding unit 13.
  • the intra prediction parameter (intra prediction mode) that can be selected by the color difference signal may be different from that of the luminance signal.
  • the color difference signal (U, V signal) is a signal obtained by reducing the resolution to 1/2 in both the horizontal direction and the vertical direction with respect to the luminance signal (Y signal).
  • the number of intra prediction parameters that can be selected is smaller than the luminance signal, and the amount of code required to encode the intra prediction parameter can be reduced.
  • the computation of the prediction process may be reduced.
  • variable length decoding unit 31 receives the bit stream generated by the moving picture encoding device in FIG. 1, the variable length decoding unit 31 performs variable length decoding processing on the bit stream (step ST21 in FIG. 4), and information on the frame size, etc.
  • Sequence unit header information sequence level header
  • picture unit header information picture level header
  • filter parameters used in the loop filter unit 38 encoded as an adaptive parameter set
  • Decode quantization matrix parameters Decode quantization matrix parameters.
  • slice unit header information slice level header
  • slice unit header information such as the picture division information of the slice is decoded from the slice data constituting the picture unit data, and the encoded data of each slice is decoded.
  • the adaptive parameter set used in each slice is specified by referring to the index (aps_id) of the adaptive parameter set existing in the slice header.
  • the index (aps_id) of the adaptive parameter set existing in the slice header when there are a plurality of indexes of the adaptive parameter set in the slice header, as the adaptive parameter set used only in the corresponding slice, the one updated with the adaptive parameter set corresponding to the order in which the indexes are decoded is used in the decoding process of the corresponding slice.
  • an adaptive parameter set having the same index (aps_id) already exists in the decoded adaptive parameter set when the adaptive parameter set is decoded, the adaptive parameter set having that index is newly decoded. Updated to the adaptive parameter set.
  • variable length decoding unit 31 determines the maximum coding block size and the upper limit of the number of divided layers determined by the coding control unit 2 of the moving image coding device in FIG. 1 in the same procedure as the moving image coding device. (Step ST22). For example, when the maximum encoding block size and the upper limit of the number of division layers are determined according to the resolution of the video signal, the maximum encoding is performed in the same procedure as the moving image encoding apparatus based on the decoded frame size information. Determine the block size. When the maximum encoding block size and the upper limit of the number of divided layers are multiplexed on a sequence level header or the like on the moving image encoding device side, values decoded from the header are used.
  • the maximum encoded block size is referred to as a maximum decoded block size
  • the maximum encoded block is referred to as a maximum decoded block.
  • the variable length decoding unit 31 decodes the division state of the maximum decoding block as shown in FIG. 6 for each determined maximum decoding block. Based on the decoded division state, a decoded block (a block corresponding to the “encoded block” of the moving image encoding apparatus in FIG. 1) is identified hierarchically (step ST23).
  • variable length decoding unit 31 decodes the encoding mode assigned to the decoding block. Based on the information included in the decoded coding mode, the decoded block is further divided into one or more prediction blocks which are prediction processing units, and the prediction parameters assigned to the prediction block units are decoded (step ST24).
  • the variable length decoding unit 31 is included in the decoding block and is intra for each of one or more prediction blocks serving as a prediction processing unit. Decode prediction parameters.
  • the coding mode assigned to the decoding block is the inter coding mode
  • the inter prediction parameter and the motion vector are decoded for each of one or more prediction blocks included in the decoding block and serving as a prediction processing unit. (Step ST24).
  • variable length decoding unit 31 decodes the compressed data (transformed / transformed transform coefficients) for each orthogonal transform block based on the orthogonal transform block division information included in the prediction difference encoding parameter (step ST24).
  • variable-length decoded by the variable-length decoding unit 31 is an intra-encoding mode (when m (B n ) ⁇ INTRA)
  • the changeover switch 33 is The intra-prediction parameter for each prediction block subjected to variable length decoding is output to the intra-prediction unit 34.
  • variable length decoded coding mode m (B n) is if the inter coding mode by the variable length decoding unit 31, variable length decoding by the variable length decoding unit 31
  • the predicted inter prediction parameters and motion vectors in units of prediction blocks are output to the motion compensation unit 35.
  • the intra prediction unit 34 when the coding mode m (B n ) variable-length decoded by the variable-length decoding unit 31 is the intra coding mode (m (B n ) ⁇ INTRA) (step ST25), the selector switch 33.
  • the intra prediction parameters in units of prediction blocks output from the above are received, and the intra prediction parameters are referred to with reference to the decoded image stored in the intra prediction memory 37 in the same procedure as the intra prediction unit 4 in FIG. and implementing intra prediction process to generate an intra prediction image P INTRAi n for each of the prediction block P i n of the decoded block B n using (step ST26).
  • the motion compensation unit 35 performs the changeover switch 33.
  • the motion vector and the inter prediction parameter for each prediction block output from the above are received, and the motion vector and the inter prediction parameter are used while referring to the decoded image after filtering stored in the motion compensated prediction frame memory 39. by carrying out inter-prediction processing for each of the prediction block P i n of the decoded block B n to generate an inter prediction image P INTERi n (step ST27).
  • the inverse quantization / inverse conversion unit 32 When receiving the compressed data and the prediction difference encoding parameter from the variable length decoding unit 31, the inverse quantization / inverse conversion unit 32 performs the prediction difference encoding in the same procedure as the inverse quantization / inverse conversion unit 8 of FIG. With reference to the quantization parameter and orthogonal transform block division information included in the parameters, the compressed data is inversely quantized in units of orthogonal transform blocks. At this time, when referring to each header information variable-length decoded by the variable-length decoding unit 31, each header information indicates that the inverse quantization process is performed using the quantization matrix in the slice. Then, the inverse quantization process is performed using the quantization matrix in the reference destination adaptive parameter set.
  • the inverse quantization / inverse transform unit 32 performs an inverse orthogonal transform process on transform coefficients that are compressed data after inverse quantization in units of orthogonal transform blocks, and the inverse quantization / inverse transform unit 8 in FIG.
  • a decoded prediction difference signal identical to the output local decoded prediction difference signal is calculated (step ST28).
  • Addition unit 36 decodes the prediction difference signal calculated by the inverse quantization and inverse transform unit 32, an intra prediction image P INTRAi n generated by the intra prediction unit 34 or, inter prediction generated by the motion compensation unit 35 by adding one of the image P INTERi n calculates a decoded image, and outputs the decoded image to the loop filter unit 38, and stores the decoded image to the intra prediction memory 37 (step ST29).
  • This decoded image becomes a decoded image signal used in the subsequent intra prediction processing.
  • the loop filter unit 38 performs a predetermined filtering process on the decoded image output from the adding unit 36, and filters
  • the decoded image after processing is stored in the motion compensated prediction frame memory 39 (step ST31).
  • filter deblocking filter
  • processing for reducing distortion occurring at the boundaries of orthogonal transform blocks and prediction blocks processing for adaptively adding an offset for each pixel (pixel adaptive offset), Wiener filter, etc.
  • the adaptive filter processing that performs the filter processing by adaptively switching the linear filter is performed.
  • the loop filter unit 38 may be configured to perform one of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, or two or more as shown in FIG.
  • the same filter processing as that performed by the loop filter unit 11 of the moving image encoding device must be performed. Therefore, the filtering process to be performed on the slice is specified with reference to each header information variable length decoded by the variable length decoding unit 31.
  • the change information Based on the above, deblocking filtering is performed.
  • the adaptive parameter set referred to by the slice is referred to, divided based on the block division information included in the adaptive parameter set, and the block unit class included in the adaptive parameter set is divided into block units.
  • an index indicating a classification method if the index is not an index indicating that “offset processing is not performed”, each pixel in the block is classified into blocks.
  • the process which adds the offset for every class contained in an adaptive parameter set to the luminance value of a corresponding decoded image is performed.
  • the block division information is not encoded, the image is always divided into units of the maximum encoding block, and the class is determined for each maximum encoding block.
  • the loop filter unit 38 similarly performs the pixel adaptive offset process for each maximum coding block.
  • the adaptive filter processing after referring to the adaptive parameter set referred to by the slice, and using the filter for each class included in the adaptive parameter set, classifying by the same method as the moving picture coding apparatus in FIG.
  • Filter processing is performed based on the classification information.
  • the loop filter The unit 38 performs the class classification and filter processing by decoding the filter used in each class for each maximum coding block.
  • the decoded image after the filter processing by the loop filter unit 38 becomes a reference image for motion compensation prediction and also becomes a reproduced image.
  • the adaptive parameter set used in the transform / quantization unit 7, the inverse quantization / inverse transform unit 8, and the loop filter unit 11 of the moving image coding apparatus is sliced.
  • the effect which can suppress a fall is produced.
  • a plurality of adaptive parameter sets used in the inverse quantization / inverse transform unit 32 and loop filter unit 38 of the video decoding device are referred to in units of slices, and a partial update of the adaptive parameter set is performed.
  • Embodiment 2 when the variable length coding unit 13 performs variable length coding of the adaptive parameter set, when the header information holds a plurality of indexes for identifying the adaptive parameter set used in the slice, Refer to the flags provided in each adaptive parameter set to identify the parameters that exist in each adaptive parameter set, and use the parameters that exist in each adaptive parameter set in the order of encoding of multiple indexes in the slice.
  • the header information when the variable length coding unit 13 performs variable length coding on the adaptive parameter set, the header information is used in the slice. Holds an index that identifies an adaptive parameter set and update information for that adaptive parameter set If updates the adaptive parameter set corresponding to the index in accordance with the update information, the adaptive parameter set after the updating is described that the adaptation parameter set to be used within the slice.
  • each frame image of a video is used as an input image, intra prediction from encoded neighboring pixels or motion compensation prediction between adjacent frames is performed, and the obtained prediction difference signal is obtained.
  • a video encoding device that performs compression processing by orthogonal transform / quantization and then performs variable length encoding to generate a bitstream, and a video decoding that decodes the bitstream output from the video encoding device The apparatus will be described.
  • the moving image encoding apparatus of FIG. 1 performs intra-frame and inter-frame adaptive encoding by dividing a video signal into blocks of various sizes in response to local changes in the spatial and temporal directions of the video signal. It is characterized by that.
  • a video signal has a characteristic that the complexity of the signal changes locally in space and time.
  • a small image such as a picture with a uniform signal characteristic in a relatively large image area such as the sky or a wall, or a picture containing a person or fine texture, on a certain video frame.
  • a pattern having a complicated texture pattern in the region may be mixed.
  • the sky and the wall are locally small in the change of the pattern in the time direction, but the moving person or object changes in time because the contour moves in rigid or non-rigid in time. Is big.
  • a prediction difference signal with small signal power and entropy is generated by temporal and spatial prediction to reduce the overall code amount.
  • the parameters used for the prediction are set as large as possible in the image signal region. If it can be applied uniformly, the code amount of the parameter can be reduced.
  • the same prediction parameter is applied to a large image region with respect to an image signal pattern having a large temporal and spatial change, the number of prediction differential signals increases because prediction errors increase. . Therefore, in a region where the temporal and spatial changes are large, the block size for performing the prediction process by applying the same prediction parameter is reduced, the amount of parameter data used for prediction is increased, and the power and entropy of the prediction difference signal are increased. It is desirable to reduce
  • the second embodiment in order to perform coding adapted to the general characteristics of such a video signal, first, prediction processing and the like are started from a predetermined maximum block size, and the video signal region is divided hierarchically. In addition, the prediction process and the encoding process of the prediction difference are adapted for each divided area.
  • the video signal format to be processed by the moving image encoding apparatus of FIG. 1 is a color video signal in an arbitrary color space such as a YUV signal composed of a luminance signal and two color difference signals, or an RGB signal output from a digital image sensor.
  • the video frame is an arbitrary video signal including a horizontal / vertical two-dimensional digital sample (pixel) sequence such as a monochrome image signal or an infrared image signal.
  • the gradation of each pixel may be 8 bits, or a gradation of 10 bits or 12 bits.
  • a processing data unit corresponding to each frame of the video signal is referred to as a “picture”.
  • “picture” is described as a video frame signal that is sequentially scanned (progressive scan).
  • the video signal is an interlace signal
  • “picture” is a unit constituting a video frame. It may be a field image signal.
  • the encoding control unit 2 determines the slice division state of a picture to be encoded (current picture), and also determines the size of the maximum encoding block used for encoding the picture and the hierarchy for dividing the maximum encoding block into layers. The upper limit of the number is determined (step ST1 in FIG. 2).
  • the same size may be determined for all the pictures according to the resolution of the video signal of the input image, or the local motion of the video signal of the input image
  • the size difference may be quantified as a parameter, and a small size may be determined for a picture with high motion, while a large size may be determined for a picture with little motion.
  • Examples of how to determine the upper limit of the number of division layers include, for example, a method of determining the same number of layers for all pictures according to the resolution of the video signal of the input image, or when the motion of the video signal of the input image is severe There is a method in which the number of hierarchies is increased so that finer movements can be detected, and when there are few movements, the number of hierarchies is set to be suppressed. Note that the size of the maximum coding block and the upper limit of the number of layers for dividing the maximum coding block into layers may be encoded in a sequence level header or the like, and the moving picture decoding apparatus side does not perform the same determination. Processing may be performed.
  • the encoding control unit 2 selects an encoding mode corresponding to each encoding block divided hierarchically from one or more available encoding modes (step ST2). That is, the encoding control unit 2 divides the image area of the maximum encoding block size into encoded blocks having the encoding block size hierarchically until reaching the upper limit of the number of division layers defined above. A coding mode for each coding block is determined. There are one or more intra coding modes (collectively referred to as “INTRA”) and one or more inter coding modes (collectively referred to as “INTER”). The coding control unit 2 selects a coding mode corresponding to each coding block from all coding modes available for the picture or a subset thereof.
  • ITRA intra coding modes
  • INTER inter coding modes
  • each coding block that is hierarchically divided by the block division unit 1 to be described later is further divided into one or a plurality of prediction blocks, which are units for performing prediction processing, and the division state of the prediction block is also coded mode.
  • the coding mode is an index for identifying what kind of prediction block division the intra or inter coding mode is. Since the encoding mode selection method by the encoding control unit 2 is a known technique, detailed description thereof is omitted. For example, an encoding process for an encoding block is performed using any available encoding mode. There is a method in which coding efficiency is verified by performing and a coding mode having the best coding efficiency is selected from among a plurality of available coding modes.
  • the encoding control unit 2 determines a quantization parameter and an orthogonal transform block division state used when the difference image is compressed for each encoding block, and is used when a prediction process is performed. Prediction parameter (intra prediction parameter or inter prediction parameter) is determined. However, when the encoded block is further divided into prediction block units for performing prediction processing, a prediction parameter (intra prediction parameter or inter prediction parameter) can be selected for each prediction block. Furthermore, in the coding block whose coding mode is the intra coding mode, the details will be described later. However, since an encoded pixel adjacent to the prediction block is used when performing the intra prediction process, the prediction block unit Since it is necessary to perform encoding, the selectable transform block size is limited to the size of the prediction block or less.
  • the encoding control unit 2 outputs the prediction difference encoding parameter including the quantization parameter and the transform block size to the transform / quantization unit 7, the inverse quantization / inverse transform unit 8, and the variable length coding unit 13. Also, the encoding control unit 2 outputs intra prediction parameters to the intra prediction unit 4 as necessary. Also, the encoding control unit 2 outputs inter prediction parameters to the motion compensation prediction unit 5 as necessary.
  • the slice dividing unit 14 divides the input image into slices that are one or more partial images according to the slice division information determined by the encoding control unit 2. Each time the slice dividing unit 1 inputs each slice from the slice dividing unit 14, the slice dividing unit 1 divides the slice into the maximum coding block size determined by the coding control unit 2, and further encodes the divided maximum coding block.
  • the coding block is hierarchically divided into coding blocks determined by the coding control unit 2, and the coding blocks are output.
  • FIG. 5 is an explanatory diagram showing an example in which the maximum coding block is hierarchically divided into a plurality of coding blocks.
  • the maximum coding block is a coding block whose luminance component described as “0th layer” has a size of (L 0 , M 0 ).
  • a coding block is obtained by performing hierarchical division to a predetermined depth separately defined by a quadtree structure.
  • the coding block is an image area of size (L n , M n ).
  • the size of all color components is (L n , M n ), but 4: 2. :
  • the encoding block size of the corresponding color difference component is (L n / 2, M n / 2).
  • the coding block of the n hierarchy expressed in B n denote the encoding modes selectable by the coding block B n with m (B n).
  • the encoding mode m (B n ) may be configured to use an individual mode for each color component, or common to all color components. It may be configured to use a mode.
  • description will be made assuming that it indicates a coding mode for a luminance component of a coding block of a YUV signal and 4: 2: 0 format.
  • the coding block B n is divided by the block dividing unit 1 into one or a plurality of prediction blocks representing a prediction processing unit.
  • a prediction block belonging to the coding block B n is denoted as P i n (i is a prediction block number in the n-th layer).
  • FIG. 5 shows an example of P 0 0 and P 1 0 .
  • How the prediction block is divided in the coding block Bn is included as information in the coding mode m ( Bn ). All the prediction blocks P i n are subjected to prediction processing according to the encoding mode m (B n ), and it is possible to select individual prediction parameters (intra prediction parameters or inter prediction parameters) for each prediction block P i n. it can.
  • the encoding control unit 2 generates a block division state as illustrated in FIG. 6 for the maximum encoding block, and identifies the encoding block.
  • a rectangle surrounded by a dotted line in FIG. 6A represents each coding block, and a block painted with diagonal lines in each coding block represents a division state of each prediction block.
  • FIG. 6B shows, in a quadtree graph, a situation in which the encoding mode m (B n ) is assigned by hierarchical division in the example of FIG. 6A. Nodes surrounded by squares in FIG. 6B are nodes (encoding blocks) to which the encoding mode m (B n ) is assigned.
  • Information of the quadtree graph is output from the encoding control unit 2 to the variable length encoding unit 13 together with the encoding mode m (B n ), and is multiplexed into the bit stream.
  • the changeover switch 3 is output from the block dividing unit 1 when the encoding mode m (B n ) determined by the encoding control unit 2 is an intra encoding mode (when m (B n ) ⁇ INTRA).
  • the encoded block B n is output to the intra prediction unit 4.
  • the encoding mode m (B n ) determined by the encoding control unit 2 is the inter encoding mode (when m (B n ) ⁇ INTER)
  • the encoded block output from the block dividing unit 1 B n is output to the motion compensation prediction unit 5.
  • the coding mode m (B n ) determined by the coding control unit 2 is the intra coding mode (when m (B n ) ⁇ INTRA), and the coding block B is changed from the changeover switch 3 to the coding block B.
  • n step ST3, using the intra prediction parameters determined by the encoding control unit 2 while referring to the local decoded image stored in the intra prediction memory 10, the coding block B n and implementing intra prediction process for each of the prediction block P i n in, it generates an intra prediction image P INTRAi n (step ST4).
  • intra prediction parameters used for generating the intra prediction image P INTRAi n is from encoding control unit 2
  • the data is output to the variable length encoding unit 13 and multiplexed into the bit stream. Details of processing contents of the intra prediction unit 4 will be described later.
  • the motion-compensated prediction unit 5 has the coding mode m (B n ) determined by the coding control unit 2 in the inter coding mode (when m (B n ) ⁇ INTER), and the coding block is switched from the changeover switch 3 to the coding block.
  • the motion vector Upon receiving the B n (step ST3), the motion vector by comparing the locally decoded image after the filtering process stored in the prediction block P i n and the motion compensated prediction frame memory 12 of the encoding block B n Using the motion vector and the inter prediction parameter determined by the encoding control unit 2, the inter prediction process for each prediction block P i n in the encoding block B n is performed, and the inter prediction image P generating a INTERi n (step ST5).
  • inter prediction parameters used for generating the inter prediction image P INTERi n is from encoding control unit 2
  • the data is output to the variable length coding unit 13 and multiplexed into the bit stream.
  • the motion vector searched by the motion compensation prediction unit 5 is also output to the variable length encoding unit 13 and multiplexed into the bit stream.
  • Subtraction unit 6 upon receiving the encoded block B n from the block dividing unit 1 from its prediction block P i n the coded block B n, the intra prediction image P INTRAi n generated by the intra prediction unit 4 or, , by subtracting one of the inter prediction image P INTERi n generated by the motion compensation prediction unit 5, and outputs the prediction difference signal e i n representing a difference image is the subtraction result to the transform and quantization unit 7 (Step ST6).
  • the transform / quantization unit 7 When the transform / quantization unit 7 receives the prediction difference signal e i n from the subtraction unit 6, the transform / quantization unit 7 refers to the orthogonal transform block division information included in the prediction difference coding parameter determined by the coding control unit 2, and Orthogonal transformation processing (for example, DCT (discrete cosine transformation) or DST (discrete sine transformation), or orthogonal transformation processing such as KL transformation in which a base design is made in advance for a specific learning sequence) is performed on the prediction difference signal e i n . This is performed for each orthogonal transform block, and transform coefficients are calculated.
  • Orthogonal transformation processing for example, DCT (discrete cosine transformation) or DST (discrete sine transformation), or orthogonal transformation processing such as KL transformation in which a base design is made in advance for a specific learning sequence
  • the transform / quantization unit 7 refers to the quantization parameter included in the prediction differential encoding parameter, quantizes the transform coefficient of the orthogonal transform block unit, and compresses the compressed data that is the quantized transform coefficient.
  • the data is output to the inverse quantization / inverse transform unit 8 and the variable length coding unit 13 (step ST7).
  • the quantization process may be performed using a quantization matrix that scales the quantization step size calculated from the quantization parameter for each transform coefficient.
  • the quantization matrix an independent matrix can be used for each orthogonal transform size and color signal, and when using a quantization matrix other than the quantization matrix prepared in advance in the image encoding device as an initial value,
  • the quantization matrix is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the inverse quantization / inverse transform unit 8 When receiving the compressed data from the transform / quantization unit 7, the inverse quantization / inverse transform unit 8 receives the quantization parameter and the orthogonal transform block division information included in the prediction difference coding parameter determined by the coding control unit 2. With reference, the compressed data is inversely quantized in units of orthogonal transform blocks. When a quantization matrix is used for the quantization process in the transform / quantization unit 7, the corresponding inverse quantization process is performed with reference to the quantization matrix even during the inverse quantization process.
  • the inverse quantization / inverse transform unit 8 performs inverse orthogonal transform processing (for example, inverse DCT, inverse DST, inverse KL transform, etc.) on transform coefficients that are compressed data after inverse quantization in units of orthogonal transform blocks. Then, a local decoded prediction difference signal corresponding to the prediction difference signal e i n output from the subtraction unit 6 is calculated and output to the addition unit 9 (step ST8).
  • inverse orthogonal transform processing for example, inverse DCT, inverse DST, inverse KL transform, etc.
  • the adding unit 9 Upon receiving the local decoded prediction difference signal from the inverse quantization / inverse transform unit 8, the adding unit 9 receives the local decoded prediction difference signal and the intra predicted image P INTRAi n generated by the intra prediction unit 4 or motion compensation.
  • a local decoded image is calculated by adding one of the inter prediction images P INTERIn n generated by the prediction unit 5 (step ST9).
  • the adding unit 9 outputs the local decoded image to the loop filter unit 11 and stores the local decoded image in the intra prediction memory 10. This locally decoded image becomes an encoded image signal used in the subsequent intra prediction processing.
  • Step ST10 When the loop filter unit 11 receives the local decoded image from the adding unit 9, the loop filter unit 11 performs a predetermined filter process on the local decoded image, and stores the filtered local decoded image in the motion compensated prediction frame memory 12.
  • filter deblocking filter
  • the adaptive filter processing that performs the filter processing by adaptively switching the linear filter is performed.
  • the loop filter unit 11 may be configured to perform one of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, or two or more as shown in FIG. It may be configured to perform the filtering process.
  • the configuration may be determined according to the processing load allowed by the moving image encoding apparatus.
  • the parameter is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the pixel adaptive offset processing first, an image is divided into a plurality of blocks, and when the offset processing is not performed for each block, it is defined as one of the class classification methods, and a plurality of class classifications prepared in advance. One classification method is selected from the methods. Next, each pixel in the block is classified by the selected class classification method, and an offset value that minimizes the sum of square errors of luminance values between the encoding target image and the local decoded image is calculated for each class. Finally, the image quality of the locally decoded image is improved by performing a process of adding the offset value to the luminance value of the locally decoded image.
  • the pixel adaptive offset processing outputs the block division information, the index indicating the class classification method for each block, and the offset value of each class for each block to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • the image may be always divided into units of the maximum coding block, and the class classification method may be selected for each maximum coding block to perform the adaptive offset processing for each class.
  • the block division information is not necessary, and the code amount can be reduced by the amount of code required for the block division information.
  • a filter that compensates for the distortion that is superimposed is designed for each region (local decoded image) belonging to each class. Then, the local decoded image is filtered. Then, the filter designed for each class is output to the variable length encoding unit 13 as a part of the adaptive parameter set to be encoded.
  • a class classification method there are a simple method for spatially dividing an image at equal intervals, and a method for classifying the image in units of blocks according to local characteristics (such as dispersion) of the image.
  • the number of classes used in the adaptive filter processing may be set in advance to a value common to the image encoding device and the image decoding device, or may be a part of the adaptive parameter set to be encoded.
  • the number of classes used by the latter can be set freely compared to the former, so the image quality improvement effect is improved.
  • the number of classes since the number of classes is encoded, the amount of code increases accordingly.
  • the class classification and filter design / processing of the adaptive filter processing may be performed for each maximum coding block instead of the entire image. In other words, a plurality of blocks in the maximum coding block are classified into classes according to local characteristics (such as dispersion) of the image, and filter design and processing are performed for each class.
  • each class of filter is encoded as part of the adaptive parameter set for each maximum encoding block.
  • steps ST3 to ST9 are repeated until the processes for all the coding blocks Bn divided hierarchically are completed, and when the processes for all the coding blocks Bn are completed, the process proceeds to the process of step ST13. (Steps ST11 and ST12).
  • the variable length encoding unit 13 uses the compressed data output from the transform / quantization unit 7 and the block division information (FIG. 6B) in the maximum encoded block output from the encoding control unit 2 as an example. (Quadrant tree information), coding mode m (B n ) and prediction differential coding parameters, and intra prediction parameters output from the coding control unit 2 (when the coding mode is an intra coding mode) or inter prediction
  • the parameters (when the encoding mode is the inter encoding mode) and the motion vector (when the encoding mode is the inter encoding mode) output from the motion compensated prediction unit 5 are variable-length encoded, Encoded data indicating the encoding result is generated (step ST13).
  • variable length encoding unit 13 encodes a sequence level header, a picture level header, and an adaptive parameter set as header information of the encoded bit stream, and generates a bit stream together with the picture data.
  • picture data is composed of one or more slice data
  • each slice data is a combination of a slice level header and the encoded data in the slice.
  • the sequence level header is a collection of header information that is generally common to the sequence unit such as the image size.
  • the slice level header includes position information indicating where the slice is located in the picture, an index indicating which picture level header is referred to, and a slice coding type (all-intra coding, inter coding).
  • the adaptive parameter set is a parameter set having parameters related to adaptive filter processing, pixel adaptive offset processing, and deblocking filter processing (filter parameters), and parameters related to quantization matrices (quantization matrix parameters).
  • each adaptation parameter set has an index (aps_id).
  • Each adaptive parameter set has a flag (present_flag) indicating whether or not each filter parameter related to adaptive filter processing, pixel adaptive offset processing, and deblocking filter processing and a quantization matrix parameter exist.
  • the quantization matrix parameter presence flag is “valid”
  • the quantization matrix has a flag indicating whether or not a matrix exists for each orthogonal transform size and color signal
  • the filter parameter for adaptive filter processing has a flag indicating whether or not a filter coefficient exists for each class.
  • each existence flag When each existence flag is “valid”, it has a parameter corresponding to it. Therefore, the adaptive parameter set can freely set whether or not each parameter is present.
  • Each slice has an index (aps_id) of an adaptive parameter set to be referred to during slice decoding processing in the slice header, so that quantization processing, inverse quantization processing, and loop filter processing are performed with reference to the corresponding adaptive parameter set.
  • the slice header has a flag (override_flag) indicating whether or not the update parameter information of the adaptive parameter set is included.
  • the slice header indicates each filter parameter and quantization related to adaptive filter processing, pixel adaptive offset processing, and deblocking filter processing in the same manner as the adaptive parameter set.
  • the quantization matrix has a matrix for each orthogonal transform size and color signal. If the presence flag of the filter parameter of the adaptive filter process is “valid”, the adaptive filter process has a flag as to whether a filter coefficient exists for each class.
  • each existence flag is “valid”, it has a parameter corresponding to it. Therefore, when the slice header has the update information of the adaptation parameter, the adaptation parameter set used only in the slice is adapted to the adaptation parameter set indicated by the parameter set index (aps_id) in the slice header. By having the slice overwritten with the updated parameter information of the parameter set, it is possible to partially update the parameters of the adaptive parameter set in units of slices.
  • the update parameter information of the adaptive parameter set in the slice level header as described above, and a plurality of indexes (aps_id) of the adaptive parameter set are included in the slice level header as in the first embodiment. You may comprise so that it can have.
  • the same adaptive parameter is encoded a plurality of times by expressing the adaptive parameter set index (aps_id) in the slice level header. Therefore, highly efficient encoding can be realized.
  • the slice level header has a plurality of adaptive parameter set indexes (aps_id) in the slice level header.
  • an adaptive parameter set is encoded and multiplexed into an encoded bitstream
  • an adaptive parameter set having the same index (aps_id) already exists in the encoded bitstream the adaptive parameter set having that index is Is replaced with the adaptive parameter set to be encoded. Therefore, when a new adaptive parameter set is encoded, if an already encoded adaptive parameter set is not required, the adaptive parameter set can be overwritten and updated by encoding with the index of the unnecessary adaptive parameter set. Since it is not necessary to increase the number of adaptive parameter sets that must be stored, the capacity of the memory to be used can be reduced.
  • FIG. 7 is an explanatory diagram showing an example of the intra prediction mode is an intra prediction parameters each prediction block P i n is selectable within a coding block B n.
  • N I is the number of intra prediction modes.
  • FIG. 7 shows the index value of the intra prediction mode and the prediction direction vector indicated by the intra prediction mode. In the example of FIG. 7, as the number of selectable intra prediction modes increases, Designed to reduce the angle.
  • Intra prediction unit 4 as described above, with reference to the intra prediction parameters of the prediction block P i n, to implement intra prediction processing for the prediction block P i n, but to generate an intra prediction image P INTRAi n , it will be described here intra process of generating an intra prediction signal of a prediction block P i n in the luminance signal.
  • the size of the prediction block P i n is assumed to be l i n ⁇ m i n pixels.
  • the encoded pixels (2 ⁇ l i n +1) and the left encoded pixels (2 ⁇ m i n ) on the prediction block P i n are used as prediction pixels.
  • the number of pixels used for prediction may be more or less than the pixels shown in FIG.
  • it is used to predict one line or pixel of one column in the vicinity of the predicted block P i n, 2 rows or two columns, or may be used more pixels in the prediction.
  • the encoded pixel adjacent on the prediction block P i n is adjacent to the left of the prediction block P i n. using encoded pixels that generates a predicted image interpolated value according to the distance of the pixel and the prediction pixel in the prediction block P i n as the predicted value.
  • the index value of the intra prediction mode for the prediction block P i n is 2 (average value (DC) prediction)
  • the encoded pixels adjacent on the prediction block P i n and the prediction block P i n are placed to the left of the prediction block P i n .
  • the integer pixel When the reference pixel is at the integer pixel position, the integer pixel is set as the prediction value of the prediction target pixel. When the reference pixel is not at the integer pixel position, an interpolation pixel generated from the integer pixel adjacent to the reference pixel is selected. Estimated value. In the example of FIG. 8, since the reference pixel is not located at the integer pixel position, a value interpolated from two pixels adjacent to the reference pixel is set as the predicted value. Note that an interpolation pixel may be generated not only from two adjacent pixels but also from two or more adjacent pixels as a predicted value.
  • the prediction pixels for all the pixels of the luminance signal in the prediction block P i n are generated, and the intra prediction image P INTRA i n is output.
  • the intra prediction parameters used for generating the intra prediction image P INTRAi n is output to the variable length coding unit 13 for multiplexing the bitstream.
  • the MPEG-4 AVC / H Similar to the smoothing process performed on the reference image at the time of 8 ⁇ 8 pixel block intra prediction of the 264, the intra prediction unit 4, the reference pixels in generating the intermediate prediction image predicted block P i n even when configured as a prediction block P i n pixels smoothed the encoded pixels adjacent to, it is possible to perform the filtering for the same intermediate predicted image and the above example.
  • the intra prediction processing based on the intra prediction parameters (intra prediction mode) performed the intra prediction parameters used for generating the intra prediction image Is output to the variable length encoding unit 13.
  • the intra prediction parameter (intra prediction mode) that can be selected by the color difference signal may be different from that of the luminance signal.
  • the color difference signal (U, V signal) is a signal obtained by reducing the resolution to 1/2 in both the horizontal direction and the vertical direction with respect to the luminance signal (Y signal).
  • the number of intra prediction parameters that can be selected is smaller than the luminance signal, and the amount of code required to encode the intra prediction parameter can be reduced.
  • the computation of the prediction process may be reduced.
  • variable length decoding unit 31 receives the bit stream generated by the moving picture encoding device in FIG. 1, the variable length decoding unit 31 performs variable length decoding processing on the bit stream (step ST21 in FIG. 4), and information on the frame size, etc.
  • Sequence unit header information sequence level header
  • picture unit header information picture level header
  • filter parameters used in the loop filter unit 38 encoded as an adaptive parameter set
  • Decode quantization matrix parameters Decode quantization matrix parameters.
  • slice unit header information slice level header
  • slice unit header information such as the picture division information of the slice is decoded from the slice data constituting the picture unit data, and the encoded data of each slice is decoded.
  • the adaptive parameter set used in each slice is specified by referring to the index (aps_id) of the adaptive parameter set existing in the slice header.
  • the adaptive parameter set used only in the slice is overwritten with the adaptive parameter set indicated by the index (aps_id) of the adaptive parameter set according to the update information Are used in the decoding process of the slice.
  • the adaptive parameter set having the same index (aps_id) already exists in the decoded adaptive parameter set when the adaptive parameter set is decoded the adaptive parameter set having that index is newly decoded. Updated to the adaptive parameter set.
  • the update parameter information of the adaptive parameter set can be included in the slice level header, and a plurality of adaptive parameter set indexes (aps_id) are included in the slice level header as in the first embodiment.
  • aps_id adaptive parameter set indexes
  • variable length decoding unit 31 determines the maximum coding block size and the upper limit of the number of divided layers determined by the coding control unit 2 of the moving image coding device in FIG. 1 in the same procedure as the moving image coding device. (Step ST22). For example, when the maximum encoding block size and the upper limit of the number of division layers are determined according to the resolution of the video signal, the maximum encoding is performed in the same procedure as the moving image encoding apparatus based on the decoded frame size information. Determine the block size. When the maximum encoding block size and the upper limit of the number of divided layers are multiplexed on a sequence level header or the like on the moving image encoding device side, values decoded from the header are used.
  • the maximum encoded block size is referred to as a maximum decoded block size
  • the maximum encoded block is referred to as a maximum decoded block.
  • the variable length decoding unit 31 decodes the division state of the maximum decoding block as shown in FIG. 6 for each determined maximum decoding block. Based on the decoded division state, a decoded block (a block corresponding to the “encoded block” of the moving image encoding apparatus in FIG. 1) is identified hierarchically (step ST23).
  • variable length decoding unit 31 decodes the encoding mode assigned to the decoding block. Based on the information included in the decoded coding mode, the decoded block is further divided into one or more prediction blocks which are prediction processing units, and the prediction parameters assigned to the prediction block units are decoded (step ST24).
  • the variable length decoding unit 31 is included in the decoding block and is intra for each of one or more prediction blocks serving as a prediction processing unit. Decode prediction parameters.
  • the coding mode assigned to the decoding block is the inter coding mode
  • the inter prediction parameter and the motion vector are decoded for each of one or more prediction blocks included in the decoding block and serving as a prediction processing unit. (Step ST24).
  • variable length decoding unit 31 decodes the compressed data (transformed / transformed transform coefficients) for each orthogonal transform block based on the orthogonal transform block division information included in the prediction difference encoding parameter (step ST24).
  • variable-length decoded by the variable-length decoding unit 31 is an intra-encoding mode (when m (B n ) ⁇ INTRA)
  • the changeover switch 33 is The intra-prediction parameter for each prediction block subjected to variable length decoding is output to the intra-prediction unit 34.
  • variable length decoded coding mode m (B n) is if the inter coding mode by the variable length decoding unit 31, variable length decoding by the variable length decoding unit 31
  • the predicted inter prediction parameters and motion vectors in units of prediction blocks are output to the motion compensation unit 35.
  • the intra prediction unit 34 when the coding mode m (B n ) variable-length decoded by the variable-length decoding unit 31 is the intra coding mode (m (B n ) ⁇ INTRA) (step ST25), the selector switch 33.
  • the intra prediction parameters in units of prediction blocks output from the above are received, and the intra prediction parameters are referred to with reference to the decoded image stored in the intra prediction memory 37 in the same procedure as the intra prediction unit 4 in FIG. and implementing intra prediction process to generate an intra prediction image P INTRAi n for each of the prediction block P i n of the decoded block B n using (step ST26).
  • the motion compensation unit 35 performs the changeover switch 33.
  • the motion vector and the inter prediction parameter for each prediction block output from the above are received, and the motion vector and the inter prediction parameter are used while referring to the decoded image after filtering stored in the motion compensated prediction frame memory 39. by carrying out inter-prediction processing for each of the prediction block P i n of the decoded block B n to generate an inter prediction image P INTERi n (step ST27).
  • the inverse quantization / inverse conversion unit 32 When receiving the compressed data and the prediction difference encoding parameter from the variable length decoding unit 31, the inverse quantization / inverse conversion unit 32 performs the prediction difference encoding in the same procedure as the inverse quantization / inverse conversion unit 8 of FIG. With reference to the quantization parameter and orthogonal transform block division information included in the parameters, the compressed data is inversely quantized in units of orthogonal transform blocks. At this time, reference is made to each header information variable-length decoded by the variable-length decoding unit 31, and each header information indicates that the inverse quantization process is performed using the quantization matrix in the slice. Inverse quantization processing is performed using the quantization matrix in the previous adaptive parameter set.
  • the inverse quantization / inverse transform unit 32 performs an inverse orthogonal transform process on transform coefficients that are compressed data after inverse quantization in units of orthogonal transform blocks, and the inverse quantization / inverse transform unit 8 in FIG.
  • a decoded prediction difference signal identical to the output local decoded prediction difference signal is calculated (step ST28).
  • Addition unit 36 decodes the prediction difference signal calculated by the inverse quantization and inverse transform unit 32, an intra prediction image P INTRAi n generated by the intra prediction unit 34 or, inter prediction generated by the motion compensation unit 35 by adding one of the image P INTERi n calculates a decoded image, and outputs the decoded image to the loop filter unit 38, and stores the decoded image to the intra prediction memory 37 (step ST29).
  • This decoded image becomes a decoded image signal used in the subsequent intra prediction processing.
  • the loop filter unit 38 performs a predetermined filtering process on the decoded image output from the adding unit 36, and filters
  • the decoded image after processing is stored in the motion compensated prediction frame memory 39 (step ST31).
  • filter deblocking filter
  • processing for reducing distortion occurring at the boundaries of orthogonal transform blocks and prediction blocks processing for adaptively adding an offset for each pixel (pixel adaptive offset), Wiener filter, etc.
  • the adaptive filter processing that performs the filter processing by adaptively switching the linear filter is performed.
  • the loop filter unit 38 may be configured to perform one of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, or two or more as shown in FIG.
  • the same filter processing as that performed by the loop filter unit 11 of the moving image encoding device must be performed. Therefore, the filtering process to be performed on the slice is specified with reference to each header information variable length decoded by the variable length decoding unit 31.
  • the change information Based on the above, deblocking filtering is performed.
  • the adaptive parameter set referred to by the slice is referred to, divided based on the block division information included in the adaptive parameter set, and the block unit class included in the adaptive parameter set is divided into block units.
  • an index indicating a classification method if the index is not an index indicating that “offset processing is not performed”, each pixel in the block is classified into blocks.
  • the process which adds the offset for every class contained in an adaptive parameter set to the luminance value of a corresponding decoded image is performed.
  • the block division information is not encoded, the image is always divided into units of the maximum encoding block, and the class is determined for each maximum encoding block.
  • the loop filter unit 38 similarly performs the pixel adaptive offset process for each maximum coding block.
  • the adaptive filter processing after referring to the adaptive parameter set referred to by the slice, and using the filter for each class included in the adaptive parameter set, classifying by the same method as the moving picture coding apparatus in FIG.
  • Filter processing is performed based on the classification information.
  • the loop filter The unit 38 performs the class classification and filter processing by decoding the filter used in each class for each maximum coding block.
  • the decoded image after the filter processing by the loop filter unit 38 becomes a reference image for motion compensation prediction and also becomes a reproduced image.
  • the update information of the adaptive parameter set used in the transform / quantization unit 7, the inverse quantization / inverse transform unit 8, and the loop filter unit 11 of the moving image coding apparatus By having a slice header to hold a partial update of the adaptive parameter set in units of slices, it is possible to suppress a decrease in encoding efficiency without encoding redundant information. There is an effect.
  • the slice unit By providing the slice header with the update information of the adaptive parameter set used in the inverse quantization / inverse transform unit 32 and the loop filter unit 38 of the video decoding device, the slice unit An effect of being able to correctly decode a bitstream encoded by a moving picture decoding apparatus that encodes only parameters desired to be changed between slices and does not encode redundant information. Play.
  • the moving image encoding apparatus, the moving image decoding apparatus, the moving image encoding method, and the moving image decoding method according to the present invention eliminate the need for encoding parameters that are not updated, and can increase the encoding efficiency.

Abstract

 可変長符号化部13が、適応パラメータセットを可変長符号化する際、ヘッダ情報が、スライス内で使用する適応パラメータセットを識別するインデックスを複数保持している場合、各適応パラメータセットが備えているフラグを参照して、各適応パラメータセット内に存在しているパラメータを特定し、複数のインデックスの符号化順に各適応パラメータセット内に存在するパラメータをスライス内で使用する適応パラメータセットとして上書き処理を行う。

Description

動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
 この発明は、動画像を高効率で符号化を行う動画像符号化装置及び動画像符号化方法と、高効率で符号化されている動画像を復号する動画像復号装置及び動画像復号方法とに関するものである。
 従来、MPEGやITU-T H.26x等の国際標準映像符号化方式では、入力映像フレームを、16×16画素ブロックからなるマクロブロックの単位に分割して、動き補償予測を実施した後、予測誤差信号をブロック単位に直交変換・量子化することによって情報圧縮を行うようにしている。
 ただし、圧縮率が高くなると、動き補償予測を実施する際に用いる予測参照画像の品質が低下することに起因して、圧縮効率が妨げられる問題がある。
 そのため、MPEG-4 AVC/H.264の符号化方式(非特許文献1を参照)では、ループ内デブロッキングフィルタの処理を実施することで、直交変換係数の量子化に伴って発生する予測参照画像のブロック歪みを除去するようにしている。
 ここで、図15は非特許文献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から出力された予測信号生成用パラメータをビットストリームに多重化して出力する。
 ここで、非特許文献1に開示されている方式では、ループフィルタ106が、DCTのブロック境界の周辺画素に対して、量子化の粗さ、符号化モード、動きベクトルのばらつき度合い等の情報に基づいて平滑化強度を決定して、ブロック境界に発生する歪みの低減を図っている。
 これによって、参照画像信号の品質が改善され、以降の符号化における動き補償予測の効率を高めることができる。
 一方、非特許文献1に開示されている方式では、高圧縮率で符号化する程、信号の高周波成分が失われてしまい、画面全体が過度に平滑化されて映像がぼやけてしまうという問題がある。
 この問題を解決するために、特許文献1には、ループフィルタ106としてウィーナフィルタ(Wiener Filter)を適用し、原画像信号である符号化対象の画像信号と、その画像信号に対応する参照画像信号との二乗誤差歪みが最小化するように、ループフィルタ106を構成する技術が提案されている。
 その他にも、非特許文献2には、ループフィルタ106として、画像の局所的特性に応じて、原画像信号である符号化対象の画像信号と、その画像信号に対応する参照画像信号との二乗誤差歪みを最小化するように各画素の輝度値にオフセット値を加算する適応オフセット処理(画素適応オフセット処理)が提案されている。
 このようにループフィルタでのフィルタ処理は様々な手法が提案されており、非特許文献3では、上記で述べた画素単位に適応的にオフセットを加算する(画素適応オフセット)処理や、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理を行う上で、符号化が必要なパラメータを符号化データのヘッダ情報として、1つのパラメータセットにまとめている。このパラメータセットを「適応パラメータセット」と称する。
 また、非特許文献3では、上記の2種類のループフィルタ処理に必要なパラメータに加えて、非特許文献1にも存在する各変換係数の量子化ステップサイズをスケーリングする量子化マトリクスも適応パラメータセットのパラメータとして定義している。
 さらに、適応パラメータセットは、上記の3つのパラメータがそれぞれ存在するか否かを示すフラグ(present_flag)を備えている。
 したがって、適応パラメータセットは、3種類のパラメータ(画素適応オフセット処理のパラメータ、適応フィルタ処理のパラメータ、量子化マトリクス)の全てを持つ必要はなく、少なくとも1つを持てばよいことになる。
 そして、非特許文献3では、図16に例示するように、符号化ストリームが構成され、ピクチャデータを構成するスライスデータのヘッダ(スライスレベルヘッダ)に、スライス内で参照する適応パラメータセットの数と、その数分の適応パラメータセットインデックス(aps_id)を符号化するようにしている。
 ただし、スライスデータは、符号化処理単位のブロックの符号化データを1つ以上まとめたデータを示しており、シーケンスレベルヘッダは、画像サイズ等の一般的にシーケンス単位に共通となるヘッダ情報をまとめたものを示している。また、ピクチャレベルヘッダは、動き補償時の参照ピクチャ数等のピクチャ単位で必要となるヘッダ情報をまとめたものを示している。
国際公開第2008/010929号公報
MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格 "CE13:Sample Adaptive Offset with LCU-Independent Decoding",JCT-VC Document JCTVC-E049,March 2011, Geneva,CH. "Using Multiple APSs for Quantization Matrix Parameters Signaling",JCT-VC Document JCTVC-G1026,Nov. 2011, Geneva,CH.
 従来の動画像符号化装置は以上のように構成されているので、スライス単位に複数の適応パラメータセットを参照することができる。このため、スライス単位に画素適応オフセット処理のパラメータ、適応フィルタ処理のパラメータ、量子化マトリクスの最適な組み合わせを設定することができる。しかし、各パラメータの一部分だけ(例えば、適応フィルタ処理の特定のフィルタや、特定の直交変換サイズの量子化マトリクスなど)をスライス間で変更して、それ以外のパラメータについてはスライス間で共有したい場合でも、各パラメータの一部分だけを更新することができず、各パラメータの全体を別のインデックスの適応パラメータセットで定義する必要がある。したがって、スライス間で共有したいパラメータを再度符号化することになり、冗長なビットが発生して符号化効率が低下してしまう課題があった。
 この発明は上記のような課題を解決するためになされたもので、更新しないパラメータの符号化を不要にして、符号化効率を高めることができる動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法を得ることを目的とする。
 この発明に係る動画像復号装置は、ビットストリームに多重化された符号化データから各スライスのヘッダ情報、量子化マトリクスパラメータ及びフィルタパラメータを含むパラメータセットを可変長復号し、符号化データから分割されている各々の符号化ブロックに係る圧縮データを可変長復号する可変長復号手段と、可変長復号手段により可変長復号された量子化マトリクスパラメータを用いて、可変長復号手段により可変長復号された符号化ブロックに係る圧縮データである変換係数を逆量子化し、逆量子化後の変換係数を逆変換して、圧縮前の差分画像と予測処理を実施して生成された予測画像とを加算して生成された復号画像に対するフィルタ処理を実施し、フィルタ処理後の復号画像を出力するフィルタリング手段とを備え、パラメータセットには、量子化マトリクスパラメータ及びフィルタパラメータが当該セット内に存在しているか否かを示すフラグが備えられており、可変長復号手段は、ヘッダ情報が、スライス内で使用するパラメータセットを識別するインデックスを参照してスライス内で使用する量子化マトリクスパラメータ及びフィルタパラメータを特定することを特徴とするものである。
 この発明によれば、可変長符号化手段が、スライスを符号化する際、スライスのヘッダ情報にスライス内で使用する適応パラメータセットを識別するインデックスを複数保持している場合、各インデックスが示す適応パラメータセットが備えている量子化マトリクスパラメータ及びフィルタパラメータが当該セット内に存在しているか否かを示すフラグを参照して、各適応パラメータセット内に存在しているパラメータを特定し、スライスのヘッダ情報に含まれる上記インデックスの符号化順に各適応パラメータセット内に存在するパラメータで更新した適応パラメータセットをスライス内で使用する適応パラメータセットとするように構成したので、更新しないパラメータの符号化を不要にして、符号化効率を高めることができる効果がある。
この発明の実施の形態1による動画像符号化装置を示す構成図である。 この発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。 この発明の実施の形態1による動画像復号装置を示す構成図である。 この発明の実施の形態1による動画像復号装置の処理内容(動画像復号方法)を示すフローチャートである。 最大符号化ブロックが階層的に複数の符号化ブロックに分割される例を示す説明図である。 (a)は分割後の符号化ブロック及び予測ブロックの分布を示し、(b)は階層分割によって符号化モードm(B)が割り当てられる状況を示す説明図である。 符号化ブロックB内の各予測ブロックP が選択可能なイントラ予測パラメータ(イントラ予測モード)の一例を示す説明図である。 =m =4の場合の予測ブロックP 内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。 予測ブロックP 内の左上画素を原点とする相対座標を示す説明図である。 量子化マトリクスの一例を示す説明図である。 この発明の実施の形態1による動画像符号化装置のループフィルタ部で複数のループフィルタ処理を用いる場合の構成例を示す説明図である。 この発明の実施の形態1による動画像復号装置のループフィルタ部で複数のループフィルタ処理を用いる場合の構成例を示す説明図である。 画素適応オフセット処理を行う場合のクラス分類手法の一部を示す説明図である。 スライスで複数の適応フィルタセットを参照する際の一例を示す説明図である。 非特許文献1に開示されている画像符号化装置を示す構成図である。 ビットストリームの一例を示す説明図である。
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
 図1において、スライス分割部14は入力画像として映像信号を入力すると、その入力画像を符号化制御部2により決定されたスライス分割情報にしたがって1以上の“スライス”という部分画像に分割する処理を実施する。スライスの分割単位は、後述する符号化ブロック単位まで細かくすることができる。なお、スライス分割部14はスライス分割手段を構成している。
 ブロック分割部1はスライス分割部14により分割されたスライスを入力する毎に、そのスライスを符号化制御部2により決定された最大サイズの符号化ブロックである最大符号化ブロックに分割するとともに、符号化制御部2により決定された上限の階層数に至るまで、その最大符号化ブロックを階層的に各符号化ブロックへ分割する処理を実施する。
 即ち、ブロック分割部1はスライスを符号化制御部2により決定された分割に応じて各符号化ブロックに分割して、その符号化ブロックを出力する処理を実施する。また、各符号化ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
 なお、ブロック分割部1はブロック分割手段を構成している。
 符号化制御部2は符号化処理が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定することで、各々の符号化ブロックのサイズを決定する処理を実施する。
 また、符号化制御部2は選択可能な1以上の符号化モード(予測処理単位を示す予測ブロックのサイズなどが異なる1以上のイントラ符号化モード、予測ブロックのサイズなどが異なる1以上のインター符号化モード)の中から、ブロック分割部1から出力される符号化ブロックに適用する符号化モードを選択する処理を実施する。選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部1から出力される符号化ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
 また、符号化制御部2は符号化効率が最も高い符号化モードがイントラ符号化モードである場合、そのイントラ符号化モードで符号化ブロックに対するイントラ予測処理を実施する際に用いるイントラ予測パラメータを上記イントラ符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードがインター符号化モードである場合、そのインター符号化モードで符号化ブロックに対するインター予測処理を実施する際に用いるインター予測パラメータを上記インター符号化モードが示す予測処理単位である予測ブロック毎に決定する処理を実施する。
 さらに、符号化制御部2は変換・量子化部7及び逆量子化・逆変換部8に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化ブロックにおける直交変換処理単位となる直交変換ブロックの分割情報を示す直交変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。
 なお、符号化制御部2は符号化制御手段を構成している。
 切換スイッチ3は符号化制御部2により決定された符号化モードがイントラ符号化モードであれば、ブロック分割部1から出力された符号化ブロックをイントラ予測部4に出力し、符号化制御部2により決定された符号化モードがインター符号化モードであれば、ブロック分割部1から出力された符号化ブロックを動き補償予測部5に出力する処理を実施する。
 イントラ予測部4は切換スイッチ3から出力された符号化ブロックに対応する符号化モードとして、符号化制御部2によりイントラ符号化モードが選択された場合、その符号化ブロックの予測処理を行う際の予測処理単位である予測ブロック毎に、イントラ予測用メモリ10に格納されている局所復号画像を参照しながら、符号化制御部2により決定されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施してイントラ予測画像を生成する処理を実施する。
 なお、イントラ予測部4及びイントラ予測用メモリ10からイントラ予測手段が構成されている。
 動き補償予測部5は切換スイッチ3から出力された符号化ブロックに対応する符号化モードとして、符号化制御部2によりインター符号化モードが選択された場合、符号化ブロックと動き補償予測フレームメモリ12に格納されている1フレーム以上の局所復号画像を予測処理単位である予測ブロック単位に比較して動きベクトルを探索し、その動きベクトルと符号化制御部2により決定された参照するフレーム番号などのインター予測パラメータを用いて、その符号化ブロックに対するインター予測処理(動き補償予測処理)を予測ブロック単位に実施してインター予測画像を生成する処理を実施する。
 なお、動き補償予測部5及び動き補償予測フレームメモリ12から動き補償予測手段が構成されている。
 減算部6はブロック分割部1より出力された符号化ブロックから、イントラ予測部4により生成されたイントラ予測画像、または、動き補償予測部5により生成されたインター予測画像を減算して、その減算結果である差分画像を示す予測差分信号を変換・量子化部7に出力する処理を実施する。なお、減算部6は差分画像生成手段を構成している。
 変換・量子化部7は符号化制御部2により決定された予測差分符号化パラメータに含まれる直交変換ブロック分割情報を参照して、減算部6から出力された予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を直交変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する処理を実施する。
 なお、変換・量子化部7は画像圧縮手段を構成している。
 変換・量子化部7は変換係数を量子化する際、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて、変換係数の量子化処理を実施するようにしてもよい。
 図10は8×8DCTの量子化マトリクスの一例を示す説明図である。
 図中の数字は、各変換係数の量子化ステップサイズのスケーリング値を示している(この図では、0は“量子化なし”を示す)。
 例えば、符号化ビットレートを抑制するために、図10に示すように、高域の変換係数程、量子化ステップサイズを大きな値にスケーリングすることで、複雑な画像領域等で発生する高域の変換係数を抑制して符号量を抑えつつ、主観品質に大きく影響する低域の係数の情報は落とさず符号化することができる。
 このように、変換係数毎の量子化ステップサイズを制御したい場合には量子化マトリクスを用いればよい。また、量子化マトリクスは直交変換サイズや色信号毎に独立したマトリクスを使用することができ、初期値として、予め画像符号化装置に用意されている量子化マトリクス以外の量子化マトリクスを用いる場合は、その量子化マトリクスを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 逆量子化・逆変換部8は符号化制御部2により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位に変換・量子化部7から出力された圧縮データを逆量子化するとともに逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、減算部6から出力された予測差分信号に相当する局所復号予測差分信号を算出する処理を実施する。なお、変換・量子化部7での量子化処理に量子化マトリクスを用いている場合は、逆量子化処理時にも、その量子化マトリクスを参照して、対応する逆量子化処理を実施する。
 加算部9は逆量子化・逆変換部8により算出された局所復号予測差分信号と、イントラ予測部4により生成されたイントラ予測画像、または、動き補償予測部5により生成されたインター予測画像とを加算して、ブロック分割部1から出力された符号化ブロックに相当する局所復号画像を算出する処理を実施する。
 なお、逆量子化・逆変換部8及び加算部9から局所復号画像生成手段が構成されている。
 イントラ予測用メモリ10は加算部9により算出された局所復号画像を格納する記録媒体である。
 ループフィルタ部11は加算部9により算出された局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を出力する処理を実施する。
 具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
 ただし、ループフィルタ部11は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理の中の1つの処理を行うように構成してもよいし、図11に示すように、2つ以上のフィルタ処理を行うように構成してもよい。
 一般に、使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にあるため、動画像符号化装置が許容する処理負荷にしたがって構成を決めればよい。
 なお、ループフィルタ部11はフィルタリング手段を構成している。
 ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意している複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
 次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化対象画像と局所復号画像との間の輝度値の二乗誤差和が最小となるオフセット値を算出する。
 最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
 したがって、画素適応オフセット処理では、ブロック分割情報、各ブロックのクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 なお、上記画素適応オフセット処理において、常に画像を最大符号化ブロック単位に分割して、その最大符号化ブロック毎にクラス分類手法を選択してクラス毎の適応オフセット処理を行ってもよい。このようにした場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量を削減することができる。
 また、適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
 そして、クラス毎に設計したフィルタを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。
 また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置共通の値に設定してもよいし、符号化すべき適応パラメータセットの一部としてもよい。
前者と比較して後者の方が使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
 さらに、上記適応フィルタ処理のクラス分類及びフィルタ設計・処理を画像全体に対してではなく、最大符号化ブロック毎に行ってもよい。すなわち、最大符号化ブロック内の複数のブロック単位に画像の局所的な特性(分散など)に応じてクラス分類し、クラス毎にフィルタ設計及びフィルタ処理を行う。したがって、最大符号化ブロック毎に各クラスのフィルタを適応パラメータセットの一部として符号化する。このようにすることで、画像全体に対してクラス分類及びフィルタ設計・処理を実施した場合よりも局所的な性質に応じた高精度なフィルタ処理が実現できる。
 なお、画素適応オフセット処理及び適応フィルタ処理を行う場合には、映像信号をループフィルタ部11で参照する必要があるため、映像信号がループフィルタ部11に入力されるように図1の動画像符号化装置を変更する必要がある。
 動き補償予測フレームメモリ12はループフィルタ部11のフィルタ処理後の局所復号画像を格納する記録媒体である。
 可変長符号化部13は変換・量子化部7から出力された圧縮データと、符号化制御部2の出力信号(最大符号化ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ又はインター予測パラメータ)と、動き補償予測部5から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して符号化データを生成する。
 また、可変長符号化部13は、図16に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダ、適応パラメータセットを符号化し、ピクチャデータと共にビットストリームを生成する。
 なお、可変長符号化部13は可変長符号化手段を構成している。
 ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。
 シーケンスレベルヘッダは、画像サイズ等の一般的にシーケンス単位に共通となるヘッダ情報をまとめたものであり、ピクチャレベルヘッダは、動き補償時の参照ピクチャ数等のピクチャ単位で必要となるヘッダ情報をまとめたものであり、スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかの位置情報、どのピクチャレベルヘッダを参照するかのインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)などといったスライス単位で設定可能なパラメータをまとめたものである。
 適応パラメータセットは、適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理に関わるパラメータ(フィルタパラメータ)と、量子化マトリクスに関わるパラメータ(量子化マトリクスパラメータ)とを持つパラメータセットである。
 図1の例では、動画像符号化装置の構成要素であるブロック分割部1、符号化制御部2、切換スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、イントラ予測用メモリ10、ループフィルタ部11、動き補償予測フレームメモリ12及び可変長符号化部13のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、ブロック分割部1、符号化制御部2、切換スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、ループフィルタ部11及び可変長符号化部13の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。
 図3はこの発明の実施の形態1による動画像復号装置を示す構成図である。
 図3において、可変長復号部31は図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームからシーケンスレベルヘッダ、ピクチャレベルヘッダ、適応パラメータセット、スライスレベルヘッダなどの各ヘッダ情報を復号するとともに、そのビットストリームから、階層的に分割されている各々の符号化ブロックの分割状況を示すブロック分割情報を可変長復号する。
 また、可変長復号部31は、各ヘッダ情報を参照して、スライスデータに含まれる最大復号ブロック(図1の動画像符号化装置の「最大符号化ブロック」に相当するブロック)を特定し、ブロック分割情報を参照して、最大復号ブロックを階層的に分割して復号処理を行う単位である復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定し、各々の復号ブロックに係る圧縮データ、符号化モード、イントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)、インター予測パラメータ(符号化モードがインター符号化モードである場合)、予測差分符号化パラメータ及び動きベクトル(符号化モードがインター符号化モードである場合)を可変長復号する処理を実施する。なお、可変長復号部31は可変長復号手段を構成している。
 逆量子化・逆変換部32は可変長復号部31により可変長復号された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、可変長復号部31により可変長復号された圧縮データを直交変換ブロック単位に逆量子化するとともに逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部8から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する処理を実施する。
 ここで、可変長復号部31により可変長復号された各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合、参照先の適応パラメータセットにある量子化マトリクスを用いて逆量子化処理を行う。なお、逆量子化・逆変換部32は差分画像生成手段を構成している。
 切換スイッチ33は可変長復号部31により可変長復号された符号化モードがイントラ符号化モードであれば、可変長復号部31により可変長復号されたイントラ予測パラメータをイントラ予測部34に出力し、可変長復号部31により可変長復号された符号化モードがインター符号化モードであれば、可変長復号部31により可変長復号されたインター予測パラメータ及び動きベクトルを動き補償部35に出力する処理を実施する。
 イントラ予測部34は可変長復号部31により可変長復号されたブロック分割情報から特定される復号ブロックに係る符号化モードがイントラ符号化モードである場合、その復号ブロックの予測処理を行う際の予測処理単位である予測ブロック毎に、イントラ予測用メモリ37に格納されている復号画像を参照しながら、切換スイッチ33から出力されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施してイントラ予測画像を生成する処理を実施する。
 なお、イントラ予測部34及びイントラ予測用メモリ37からイントラ予測手段が構成されている。
 動き補償部35は可変長復号部31により可変長復号されたブロック分割情報から特定される復号ブロックに係る符号化モードがインター符号化モードである場合、上記復号ブロックの予測処理を行う際の予測処理単位である予測ブロック毎に、動き補償予測フレームメモリ39に格納されている復号画像を参照しながら、切換スイッチ33から出力された動きベクトルとインター予測パラメータを用いたインター予測処理(動き補償予測処理)を実施してインター予測画像を生成する処理を実施する。
 なお、動き補償部35及び動き補償予測フレームメモリ39から動き補償予測手段が構成されている。
 加算部36は逆量子化・逆変換部32により算出された復号予測差分信号と、イントラ予測部34により生成されたイントラ予測画像、または、動き補償部35により生成されたインター予測画像とを加算して、図1の加算部9から出力された局所復号画像と同一の復号画像を算出する処理を実施する。なお、加算部36は復号画像生成手段を構成している。
 イントラ予測用メモリ37は加算部36により算出された復号画像を格納する記録媒体である。
 ループフィルタ部38は加算部36により算出された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を出力する処理を実施する。
 具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
 ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理の中の1つの処理を行うように構成してもよいし、図12に示すように、2つ以上のフィルタ処理を行うように構成してもよいが、動画像符号化装置のループフィルタ部11で行われるフィルタ処理と同じフィルタ処理を行うように構成しなくてはならない。したがって、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで行うフィルタ処理を特定する。
 なお、ループフィルタ部38はフィルタリング手段を構成している。
 ここで、デブロッキングフィルタ処理では、当該スライスが参照する適応パラメータセットを参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合には、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
 画素適応オフセット処理では、当該スライスが参照する適応パラメータセットを参照し、その適応パラメータセットに含まれるブロック分割情報に基づいて分割し、そのブロック単位に、その適応パラメータセットに含まれるブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素をクラス分類する。
 そして、適応パラメータセットに含まれるクラス毎のオフセットを対応する復号画像の輝度値に加算する処理を行う。
 ただし、動画像符号化装置のループフィルタ部11の画素適応オフセット処理において、ブロック分割情報は符号化せずに、常に画像を最大符号化ブロック単位に分割して、その最大符号化ブロック毎にクラス分類手法を選択してクラス毎の適応オフセット処理を行うように構成した場合、ループフィルタ部38も同様に、最大符号化ブロック単位に画素適応オフセット処理を実施する。
 適応フィルタ処理では、当該スライスが参照する適応パラメータセットを参照し、その適応パラメータセットに含まれるクラス毎のフィルタを用いて、図1の動画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
 ただし、動画像符号化装置のループフィルタ部11の適応フィルタ処理において、上記のクラス分類及びフィルタ設計・処理を画像全体に対してではなく、最大符号化ブロック毎に行うように構成した場合、ループフィルタ部38は最大符号化ブロック毎に、各クラスで用いるフィルタを復号して上記クラス分類及びフィルタ処理を行う。
 動き補償予測フレームメモリ39はループフィルタ部38のフィルタ処理後の復号画像を格納する記録媒体である。
 図3の例では、動画像復号装置の構成要素である可変長復号部31、逆量子化・逆変換部32、切換スイッチ33、イントラ予測部34、動き補償部35、加算部36、イントラ予測用メモリ37、ループフィルタ部38及び動き補償予測フレームメモリ39のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなど)で構成されているものを想定しているが、動画像復号装置がコンピュータで構成される場合、可変長復号部31、逆量子化・逆変換部32、切換スイッチ33、イントラ予測部34、動き補償部35、加算部36及びループフィルタ部38の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
 図4はこの発明の実施の形態1による動画像復号装置の処理内容(動画像復号方法)を示すフローチャートである。
 次に動作について説明する。
 この実施の形態1では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行ってビットストリームを生成する動画像符号化装置と、その動画像符号化装置から出力されるビットストリームを復号する動画像復号装置について説明する。
 図1の動画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。
 一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
 時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
 符号化処理は、時間・空間的な予測によって、信号電力やエントロピーの小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測に用いるパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。
 一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。
 したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
 この実施の形態1では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
 図1の動画像符号化装置が処理対象とする映像信号フォーマットは、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号とする。
 ただし、各画素の階調は、8ビットでもよいし、10ビットや12ビットなどの階調でもよい。
 以下の説明では、便宜上、特に断らない限り、入力画像の映像信号はYUV信号であるとし、かつ、2つの色差成分U,Vが輝度成分Yに対して、サブサンプルされた4:2:0フォーマットの信号を扱う場合について述べる。
 また、映像信号の各フレームに対応する処理データ単位を「ピクチャ」と称する。
 この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレーム信号として説明を行うが、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
 最初に、図1の動画像符号化装置の処理内容を説明する。
 まず、符号化制御部2は、符号化対象となるピクチャ(カレントピクチャ)のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図2のステップST1)。
 最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
 分割階層数の上限の決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一の階層数を定める方法や、入力画像の映像信号の動きが激しい場合には、階層数を深くして、より細かい動きが検出できるように設定し、動きが少ない場合には、階層数を抑えるように設定する方法などがある。
 なお、上記最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限はシーケンスレベルヘッダなどに符号化してもよいし、符号化せずに動画像復号装置側も同一の決定処理を行うようにしてもよい。前者はヘッダ情報の符号量が増加するものの、動画像復号装置側で上記決定処理を行わずに済むため、動画像復号装置の処理負荷を抑えることができる上、動画像符号化側で最適な値を探索して送ることができる。後者は反対に、動画像復号装置側で上記決定処理を行うため、動画像復号装置の処理負荷が増加するものの、ヘッダ情報の符号量は増加しない。
 また、符号化制御部2は、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化ブロックに対応する符号化モードを選択する(ステップST2)。
 即ち、符号化制御部2は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化ブロックサイズを有する符号化ブロックに分割して、各々の符号化ブロックに対する符号化モードを決定する。
 符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部2は、当該ピクチャで利用可能な全ての符号化モード、または、そのサブセットの中から、各々の符号化ブロックに対応する符号化モードを選択する。
 ただし、後述するブロック分割部1により階層的に分割される各々の符号化ブロックは、さらに予測処理を行う単位である1つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。すなわち、符号化モードは、どのような予測ブロック分割を持つイントラまたはインター符号化モードかを識別するインデックスである。
 符号化制御部2による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
 また、符号化制御部2は、各々の符号化ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び直交変換ブロック分割状態を決定するとともに、予測処理が実施される際に用いられる予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を決定する。
 ただし、符号化ブロックがさらに予測処理を行う予測ブロック単位に分割される場合は、予測ブロック毎に予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択することができる。
 さらに、符号化モードがイントラ符号化モードである符号化ブロックにおいては、詳細は後述するが、イントラ予測処理を行う際に予測ブロックに隣接する符号化済みの画素を用いることから、予測ブロック単位に符号化を行う必要があるため、選択可能な変換ブロックサイズは予測ブロックのサイズ以下に制限される。
 符号化制御部2は、量子化パラメータ及び変換ブロックサイズを含む予測差分符号化パラメータを変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13に出力する。
 また、符号化制御部2は、イントラ予測パラメータを必要に応じてイントラ予測部4に出力する。
 また、符号化制御部2は、インター予測パラメータを必要に応じて動き補償予測部5に出力する。
 スライス分割部14は、入力画像として映像信号を入力すると、その入力画像を符号化制御部2により決定されたスライス分割情報にしたがって1以上の部分画像であるスライスに分割する。
 ブロック分割部1は、スライス分割部14から各スライスを入力する毎に、そのスライスを符号化制御部2により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部2により決定された符号化ブロックへ階層的に分割して、その符号化ブロックを出力する。
 ここで、図5は最大符号化ブロックが階層的に複数の符号化ブロックに分割される例を示す説明図である。
 図5において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L,M)のサイズを有する符号化ブロックである。
 最大符号化ブロックを出発点として、4分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化ブロックを得るようにしている。
 深さnにおいては、符号化ブロックはサイズ(L,M)の画像領域である。
 ただし、LとMは、同じであってもよいし、異なっていてもよいが、図5では、L=Mのケースを示している。
 以降、符号化制御部2により決定される符号化ブロックサイズは、符号化ブロックの輝度成分におけるサイズ(L,M)と定義する。
 4分木分割を行うため、常に、(Ln+1,Mn+1)=(L/2,M/2)が成立する。
 なお、RGB信号など、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(L,M)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックサイズは(L/2,M/2)になる。
 以降、第n階層の符号化ブロックをBで表し、符号化ブロックBで選択可能な符号化モードをm(B)で表すものとする。
 複数の色成分からなるカラー映像信号の場合、符号化モードm(B)は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、全ての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。
 符号化ブロックBは、図5に示すように、ブロック分割部1によって、予測処理単位を表す1つないし複数の予測ブロックに分割される。
 以降、符号化ブロックBに属する予測ブロックをP (iは、第n階層における予測ブロック番号)と表記する。図5にはP とP の例を示している。
 符号化ブロックB内の予測ブロックの分割が、どのようになされているかは、符号化モードm(B)の中に情報として含まれる。
 予測ブロックP は、全て符号化モードm(B)に従って予測処理が行われるが、予測ブロックP 毎に、個別の予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択することができる。
 符号化制御部2は、最大符号化ブロックに対して、例えば、図6に示すようなブロック分割状態を生成して、符号化ブロックを特定する。
 図6(a)の点線で囲まれた矩形が各符号化ブロックを表し、各符号化ブロック内にある斜線で塗られたブロックが各予測ブロックの分割状態を表している。
 図6(b)は、図6(a)の例について、階層分割によって符号化モードm(B)が割り当てられる状況を4分木グラフで示したものである。図6(b)の□で囲まれているノードは、符号化モードm(B)が割り当てられたノード(符号化ブロック)である。
 この4分木グラフの情報は符号化モードm(B)と共に符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
 切換スイッチ3は、符号化制御部2により決定された符号化モードm(B)がイントラ符号化モードである場合(m(B)∈INTRAの場合)、ブロック分割部1から出力された符号化ブロックBをイントラ予測部4に出力する。
 一方、符号化制御部2により決定された符号化モードm(B)がインター符号化モードである場合(m(B)∈INTERの場合)、ブロック分割部1から出力された符号化ブロックBを動き補償予測部5に出力する。
 イントラ予測部4は、符号化制御部2により決定された符号化モードm(B)がイントラ符号化モードであり(m(B)∈INTRAの場合)、切換スイッチ3から符号化ブロックBを受けると(ステップST3)、イントラ予測用メモリ10に格納されている局所復号画像を参照しながら、符号化制御部2により決定されたイントラ予測パラメータを用いて、その符号化ブロックB内の各予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成する(ステップST4)。
 なお、動画像復号装置がイントラ予測画像PINTRAi と全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi の生成に用いられたイントラ予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
 イントラ予測部4の処理内容の詳細は後述する。
 動き補償予測部5は、符号化制御部2により決定された符号化モードm(B)がインター符号化モードであり(m(B)∈INTERの場合)、切換スイッチ3から符号化ブロックBを受けると(ステップST3)、その符号化ブロックB内の各予測ブロックP と動き補償予測フレームメモリ12に格納されているフィルタ処理後の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部2により決定されたインター予測パラメータを用いて、その符号化ブロックB内の各予測ブロックP に対するインター予測処理を実施して、インター予測画像PINTERi を生成する(ステップST5)。
 なお、動画像復号装置がインター予測画像PINTERi と全く同じインター予測画像を生成する必要があるため、インター予測画像PINTERi の生成に用いられたインター予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
 また、動き補償予測部5により探索された動きベクトルも可変長符号化部13に出力されて、ビットストリームに多重化される。
 減算部6は、ブロック分割部1から符号化ブロックBを受けると、その符号化ブロックB内の予測ブロックP から、イントラ予測部4により生成されたイントラ予測画像PINTRAi 、または、動き補償予測部5により生成されたインター予測画像PINTERi のいずれか一方を減算して、その減算結果である差分画像を示す予測差分信号e を変換・量子化部7に出力する(ステップST6)。
 変換・量子化部7は、減算部6から予測差分信号e を受けると、符号化制御部2により決定された予測差分符号化パラメータに含まれる直交変換ブロック分割情報を参照して、その予測差分信号e に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を直交変換ブロック単位に実施して、変換係数を算出する。
 また、変換・量子化部7は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する(ステップST7)。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
 量子化マトリクスは、直交変換サイズや色信号毎に独立したマトリクスを使用することができ、初期値として、予め画像符号化装置に用意されている量子化マトリクス以外の量子化マトリクスを用いる場合は、その量子化マトリクスを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 逆量子化・逆変換部8は、変換・量子化部7から圧縮データを受けると、符号化制御部2により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位にその圧縮データを逆量子化する。なお、変換・量子化部7での量子化処理に量子化マトリクスを用いている場合は、逆量子化処理時にも、その量子化マトリクスを参照して対応した逆量子化処理を実施する。
 また、逆量子化・逆変換部8は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算部6から出力された予測差分信号e に相当する局所復号予測差分信号を算出して加算部9に出力する(ステップST8)。
 加算部9は、逆量子化・逆変換部8から局所復号予測差分信号を受けると、その局所復号予測差分信号と、イントラ予測部4により生成されたイントラ予測画像PINTRAi 、または、動き補償予測部5により生成されたインター予測画像PINTERi のいずれか一方を加算することで、局所復号画像を算出する(ステップST9)。
 なお、加算部9は、その局所復号画像をループフィルタ部11に出力するとともに、その局所復号画像をイントラ予測用メモリ10に格納する。
 この局所復号画像が、以降のイントラ予測処理の際に用いられる符号化済みの画像信号になる。
 ループフィルタ部11は、加算部9から局所復号画像を受けると、その局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を動き補償予測フレームメモリ12に格納する(ステップST10)。
 具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
 ただし、ループフィルタ部11は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理の中の1つの処理を行うように構成してもよいし、図11に示すように、2つ以上のフィルタ処理を行うように構成してもよい。
 一般に、使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にあるため、動画像符号化装置が許容する処理負荷にしたがって構成を決めればよい。
 ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意している複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
 次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化対象画像と局所復号画像との間の輝度値の二乗誤差和が最小となるオフセット値を算出する。
 最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
 クラス分類を行う所定の手法としては、局所復号画像の輝度値の大きさで分類する手法や、図13に示すようなエッジの方向毎に、各画素の周囲の状況(エッジ部か否か等)に応じて分類する手法がある。これらの手法は、予め画像符号化装置及び画像復号装置共通で用意されており、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、符号化側では、これらの手法のうち、どの手法でクラス分類を行うかを上記ブロック単位に選択する。
 したがって、画素適応オフセット処理は、ブロックの分割情報、ブロック単位のクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 なお、上記画素適応オフセット処理において、常に画像を最大符号化ブロック単位に分割して、その最大符号化ブロック毎にクラス分類手法を選択してクラス毎の適応オフセット処理を行ってもよい。このようにした場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量を削減することができる。
 また、適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
 そして、クラス毎に設計したフィルタを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置共通の値に設定してもよいし、符号化すべき適応パラメータセットの一部としてもよい。
 前者と比較して後者の方が使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
 さらに、上記適応フィルタ処理のクラス分類及びフィルタ設計・処理を画像全体に対してではなく、最大符号化ブロック毎に行ってもよい。すなわち、最大符号化ブロック内の複数のブロック単位に画像の局所的な特性(分散など)に応じてクラス分類し、クラス毎にフィルタ設計及びフィルタ処理を行う。したがって、最大符号化ブロック毎に各クラスのフィルタを適応パラメータセットの一部として符号化する。このようにすることで、画像全体に対してクラス分類及びフィルタ設計・処理を実施した場合よりも局所的な性質に応じた高精度なフィルタ処理が実現できる。
 ステップST3~ST9の処理は、階層的に分割された全ての符号化ブロックBに対する処理が完了するまで繰り返し実施され、全ての符号化ブロックBに対する処理が完了すると、ステップST13の処理に移行する(ステップST11,ST12)。
 可変長符号化部13は、変換・量子化部7から出力された圧縮データと、符号化制御部2から出力された最大符号化ブロック内のブロック分割情報(図6(b)を例とする4分木情報)、符号化モードm(B)及び予測差分符号化パラメータと、符号化制御部2から出力されたイントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)又はインター予測パラメータ(符号化モードがインター符号化モードである場合)と、動き補償予測部5から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して、それらの符号化結果を示す符号化データを生成する(ステップST13)。
 また、可変長符号化部13は、図16に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダ、適応パラメータセットを符号化し、ピクチャデータと共にビットストリームを生成する。
 ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。
 シーケンスレベルヘッダは、画像サイズ等の一般的にシーケンス単位に共通となるヘッダ情報をまとめたものであり、ピクチャレベルヘッダは、動き補償時の参照ピクチャ数等のピクチャ単位で必要となるヘッダ情報をまとめたものであり、スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかの位置情報、どのピクチャレベルヘッダを参照するかのインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)などといったスライス単位で設定可能なパラメータをまとめたものである。
 適応パラメータセットは、適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理に関わるパラメータ(フィルタパラメータ)と、量子化マトリクスに関わるパラメータ(量子化マトリクスパラメータ)とを持つパラメータセットであり、符号化ビットストリームに多重されている複数の適応パラメータセットを識別するために、各適応パラメータセットはインデックス(aps_id)を持っている。
 そして、各適応パラメータセットは、適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理に関わるそれぞれのフィルタパラメータと、量子化マトリクスパラメータとがそれぞれ存在しているか否かを示すフラグ(present_flag)を持ち、さらに、量子化マトリクスパラメータの存在フラグが“有効”の場合、量子化マトリクスは直交変換サイズ及び色信号毎に、それぞれマトリクスが存在するか否かを示すフラグを持ち、適応フィルタ処理のフィルタパラメータの存在フラグが“有効”の場合、適応フィルタ処理はクラス毎にそれぞれフィルタ係数が存在するか否かを示すフラグを持っている。
 そして、各存在フラグが“有効”の場合は、それに対応するパラメータを持っている。
 したがって、適応パラメータセットは、各パラメータがあるか否かを自由に設定することができる。
 各スライスは、スライスヘッダ内にスライスの復号処理時に参照する適応パラメータセットのインデックス(aps_id)を少なくとも1つ以上持っており、対応する適応パラメータセットを参照して、量子化処理・逆量子化処理やループフィルタ処理を実施する。
 ただし、スライスヘッダに適応パラメータセットのインデックス(aps_id)が複数存在する場合、当該スライスでのみ用いる適応パラメータセットとして、スライスヘッダに符号化されている順に各インデックスに対応する適応パラメータセットで更新したものを当該スライスで持つことにする。
 このようにすることで、スライス単位での適応パラメータセットのパラメータの部分更新が可能になる。
 図14は適応フィルタ処理のフィルタ係数における一例を示す説明図である。
 これより、aps_id=0,1を順にスライスヘッダで符号化するスライスは、aps_id=0のフィルタに対して、クラス番号が10~15のフィルタのみをaps_id=1のフィルタに書き換えて使用することができる。
 一方、aps_id=0,2を順にスライスヘッダで符号化するスライスは、aps_id=0のフィルタに対して、クラス番号が0~3のフィルタのみをaps_id=2のフィルタに書き換えて使用することができる。
 量子化マトリクスにおいても同様に、例えば、4×4変換の量子化マトリクスのみを持つ適応パラメータセットを用意することで、上記の4×4変換の量子化マトリクスのみを更新することができる。
 また、適応パラメータセットを符号化して符号化ビットストリームに多重する際、同じインデックス(aps_id)を持つ適応パラメータセットが既に符号化ビットストリームに存在する場合は、そのインデックスを持つ適応パラメータセットが、上記の符号化対象の適応パラメータセットに置き換えられる。
 したがって、新しい適応パラメータセットを符号化する際、既に符号化された適応パラメータセットが不要の場合は、その不要な適応パラメータセットのインデックスで符号化することで、適応パラメータセットの上書き更新が可能になり、保存しなければならない適応パラメータセットの数を増やさずに済むため、使用するメモリの容量を抑えることができる。
 次に、イントラ予測部4の処理内容を詳細に説明する。
 図7は符号化ブロックB内の各予測ブロックP が選択可能なイントラ予測パラメータであるイントラ予測モードの一例を示す説明図である。ただし、Nはイントラ予測モード数を表す。
 図7では、イントラ予測モードのインデックス値と、そのイントラ予測モードが示す予測方向ベクトルを示しており、図7の例では、選択可能なイントラ予測モードの個数が増えるに従って、予測方向ベクトル同士の相対角度が小さくなるように設計されている。
 イントラ予測部4は、上述したように、予測ブロックP のイントラ予測パラメータを参照して、その予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成するが、ここでは、輝度信号における予測ブロックP のイントラ予測信号を生成するイントラ処理について説明する。
 予測ブロックP のサイズをl ×m 画素とする。
 図8はl =m =4の場合の予測ブロックP 内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。
 図8では、予測ブロックP の上の符号化済みの画素(2×l +1)個と、左の符号化済みの画素(2×m )個を予測に用いる画素としているが、予測に用いる画素は、図8に示す画素より多くても少なくてもよい。
 また、図8では、予測ブロックP の近傍の1行又は1列分の画素を予測に用いているが、2行又は2列、あるいは、それ以上の画素を予測に用いてもよい。
 予測ブロックP に対するイントラ予測モードのインデックス値が0(平面(Planar)予測)の場合には、予測ブロックP の上に隣接する符号化済み画素と予測ブロックP の左に隣接する符号化済み画素を用いて、これら画素と予測ブロックP 内の予測対象画素との距離に応じて内挿した値を予測値として予測画像を生成する。
 予測ブロックP に対するイントラ予測モードのインデックス値が2(平均値(DC)予測)の場合には、予測ブロックP の上に隣接する符号化済み画素と予測ブロックP の左に隣接する符号化済み画素の平均値を予測ブロックP 内の画素の予測値として予測画像を生成する。
 イントラ予測モードのインデックス値が0(平面予測)と2(平均値予測)以外の場合には、インデックス値が示す予測方向ベクトルυ=(dx,dy)に基づいて、予測ブロックP 内の画素の予測値を生成する。
 図9に示すように、予測ブロックP の左上画素を原点として、予測ブロックP 内の相対座標を(x,y)と設定すると、予測に用いる参照画素の位置は、下記のLと隣接画素の交点になる。

Figure JPOXMLDOC01-appb-I000001
 参照画素が整数画素位置にある場合には、その整数画素を予測対象画素の予測値とし、参照画素が整数画素位置にない場合には、参照画素に隣接する整数画素から生成される補間画素を予測値とする。
 図8の例では、参照画素は整数画素位置にないので、参照画素に隣接する2画素から内挿したものを予測値とする。なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。
 補間処理に用いる画素を多くすることで補間画素の補間精度を向上させる効果がある一方、補間処理に要する演算の複雑度が増加することから、演算負荷が大きくても高い符号化性能を要求する動画像符号化装置の場合には、より多くの画素から補間画素を生成するようにした方がよい。
 以上に述べた処理によって、予測ブロックP 内の輝度信号の全ての画素に対する予測画素を生成して、イントラ予測画像PINTRAi を出力する。
 なお、イントラ予測画像PINTRAi の生成に用いられたイントラ予測パラメータ(イントラ予測モード)は、ビットストリームに多重化するために可変長符号化部13に出力される。
 なお、先に説明したMPEG-4 AVC/H.264における8×8画素のブロックのイントラ予測時に参照画像に対して施される平滑化処理と同様に、イントラ予測部4において、予測ブロックP の中間予測画像を生成する際の参照画素を、予測ブロックP に隣接する符号化済み画素を平滑化処理した画素とするように構成した場合であっても、上述の例と同様の中間予測画像に対するフィルタ処理を行うことができる。
 予測ブロックP の色差信号に対しても、輝度信号と同様の手順で、イントラ予測パラメータ(イントラ予測モード)に基づくイントラ予測処理を実施し、イントラ予測画像の生成に用いられたイントラ予測パラメータを可変長符号化部13に出力する。
 ただし、色差信号で選択可能なイントラ予測パラメータ(イントラ予測モード)は輝度信号と異なっていてもよい。例えば、YUV信号4:2:0フォーマットの場合、色差信号(U、V信号)は、輝度信号(Y信号)に対して解像度を水平方向、垂直方向共に1/2に縮小した信号であり、輝度信号に比べて画像信号の複雑性が低く予測が容易であることから、選択可能なイントラ予測パラメータは輝度信号よりも少ない数としてイントラ予測パラメータを符号化するのに要する符号量の削減や、予測処理の低演算化を図ってもよい。
 次に、図3の動画像復号装置の処理内容を具体的に説明する。
 可変長復号部31は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図4のステップST21)、フレームサイズの情報などの1フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報(シーケンスレベルヘッダ)及びピクチャ単位のヘッダ情報(ピクチャレベルヘッダ)、適応パラメータセットとして符号化されたループフィルタ部38で使用するフィルタパラメータや量子化マトリクスパラメータを復号する。
 そして、ピクチャ単位のデータを構成するスライスデータから、スライスのピクチャ分割情報等のスライス単位のヘッダ情報(スライスレベルヘッダ)を復号し、各スライスの符号化データを復号する。このとき、各スライスで用いる適応パラメータセットは、スライスヘッダ内に存在する適応パラメータセットのインデックス(aps_id)を参照することで特定する。
 ただし、スライスヘッダ内に適応パラメータセットのインデックスが複数存在する場合、当該スライスでのみ用いる適応パラメータセットとして、インデックスが復号される順に対応する適応パラメータセットで更新したものを当該スライスの復号処理で用いる。
 また、適応パラメータセットを復号した際に、同じインデックス(aps_id)を持つ適応パラメータセットが既に復号済みの適応パラメータセットの中に存在する場合は、そのインデックスを持つ適応パラメータセットは、新しく復号された適応パラメータセットに更新される。
 また、可変長復号部31は、図1の動画像符号化装置の符号化制御部2により決定された最大符号化ブロックサイズ及び分割階層数の上限を動画像符号化装置と同様の手順で決定する(ステップST22)。
 例えば、最大符号化ブロックサイズや分割階層数の上限が映像信号の解像度に応じて決められた場合には、復号したフレームサイズ情報に基づいて、動画像符号化装置と同様の手順で最大符号化ブロックサイズを決定する。
 最大符号化ブロックサイズ及び分割階層数の上限が、動画像符号化装置側でシーケンスレベルヘッダなどに多重化されている場合には、上記ヘッダから復号した値を用いる。
 以降、動画像復号装置では、上記最大符号化ブロックサイズを最大復号ブロックサイズと称し、最大符号化ブロックを最大復号ブロックと称する。
 可変長復号部31は、決定された最大復号ブロック単位に、図6で示されるような最大復号ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定する(ステップST23)。
 次に、可変長復号部31は、復号ブロックに割り当てられている符号化モードを復号する。復号した符号化モードに含まれる情報に基づき、復号ブロックをさらに1つないし複数の予測処理単位である予測ブロックに分割し、予測ブロック単位に割り当てられている予測パラメータを復号する(ステップST24)。
 即ち、可変長復号部31は、復号ブロックに割り当てられている符号化モードがイントラ符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にイントラ予測パラメータを復号する。
 一方、復号ブロックに割り当てられている符号化モードがインター符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する(ステップST24)。
 さらに、可変長復号部31は、予測差分符号化パラメータに含まれる直交変換ブロック分割情報に基づき、直交変換ブロック毎に圧縮データ(変換・量子化後の変換係数)を復号する(ステップST24)。
 切換スイッチ33は、可変長復号部31により可変長復号された符号化モードm(B)がイントラ符号化モードであれば(m(B)∈INTRAの場合)、可変長復号部31により可変長復号された予測ブロック単位のイントラ予測パラメータをイントラ予測部34に出力する。
 一方、可変長復号部31により可変長復号された符号化モードm(B)がインター符号化モードであれば(m(B)∈INTERの場合)、可変長復号部31により可変長復号された予測ブロック単位のインター予測パラメータ及び動きベクトルを動き補償部35に出力する。
 イントラ予測部34は、可変長復号部31により可変長復号された符号化モードm(B)がイントラ符号化モード(m(B)∈INTRA)である場合(ステップST25)、切換スイッチ33から出力された予測ブロック単位のイントラ予測パラメータを受け取って、図1のイントラ予測部4と同様の手順で、イントラ予測用メモリ37に格納されている復号画像を参照しながら、上記イントラ予測パラメータを用いた復号ブロックB内の各予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成する(ステップST26)。
 動き補償部35は、可変長復号部31により可変長復号された符号化モードm(B)がインター符号化モード(m(B)∈INTER)である場合(ステップST25)、切換スイッチ33から出力された予測ブロック単位の動きベクトルとインター予測パラメータを受け取って、動き補償予測フレームメモリ39に格納されているフィルタ処理後の復号画像を参照しながら、その動きベクトルとインター予測パラメータを用いた復号ブロックB内の各予測ブロックP に対するインター予測処理を実施してインター予測画像PINTERi を生成する(ステップST27)。
 逆量子化・逆変換部32は、可変長復号部31から圧縮データ及び予測差分符号化パラメータを受けると、図1の逆量子化・逆変換部8と同様の手順で、その予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位にその圧縮データを逆量子化する。
 このとき、可変長復号部31により可変長復号された各ヘッダ情報を参照し、各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合は、参照先の適応パラメータセットにある量子化マトリクスを用いて逆量子化処理を行う。
 また、逆量子化・逆変換部32は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部8から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する(ステップST28)。
 加算部36は、逆量子化・逆変換部32により算出された復号予測差分信号と、イントラ予測部34により生成されたイントラ予測画像PINTRAi 、または、動き補償部35により生成されたインター予測画像PINTERi のいずれか一方を加算して復号画像を算出し、その復号画像をループフィルタ部38に出力するとともに、その復号画像をイントラ予測用メモリ37に格納する(ステップST29)。
 この復号画像が、以降のイントラ予測処理の際に用いられる復号済みの画像信号になる。
 ループフィルタ部38は、全ての復号ブロックBに対するステップST23~ST29の処理が完了すると(ステップST30)、加算部36から出力された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を動き補償予測フレームメモリ39に格納する(ステップST31)。
 具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
 ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理の中の1つの処理を行うように構成してもよいし、図12に示すように、2つ以上のフィルタ処理を行うように構成してもよいが、動画像符号化装置のループフィルタ部11で行われるフィルタ処理と同じフィルタ処理を行うように構成しなくてはならない。したがって、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで行うフィルタ処理を特定する。
 ここで、デブロッキングフィルタ処理では、当該スライスが参照する適応パラメータセットを参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合には、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
 画素適応オフセット処理では、当該スライスが参照する適応パラメータセットを参照し、その適応パラメータセットに含まれるブロック分割情報に基づいて分割し、そのブロック単位に、その適応パラメータセットに含まれるブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素をクラス分類する。
 そして、適応パラメータセットに含まれるクラス毎のオフセットを対応する復号画像の輝度値に加算する処理を行う。
 ただし、動画像符号化装置のループフィルタ部11の画素適応オフセット処理において、ブロック分割情報は符号化せずに、常に画像を最大符号化ブロック単位に分割して、その最大符号化ブロック毎にクラス分類手法を選択してクラス毎の適応オフセット処理を行うように構成した場合、ループフィルタ部38も同様に最大符号化ブロック単位に画素適応オフセット処理を実施する。
 適応フィルタ処理では、当該スライスが参照する適応パラメータセットを参照し、その適応パラメータセットに含まれるクラス毎のフィルタを用いて、図1の動画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
 ただし、動画像符号化装置のループフィルタ部11の適応フィルタ処理において、上記のクラス分類及びフィルタ設計・処理を画像全体に対してではなく最大符号化ブロック毎に行うように構成した場合、ループフィルタ部38は最大符号化ブロック毎に、各クラスで用いるフィルタを復号して上記クラス分類及びフィルタ処理を行う。
 このループフィルタ部38によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
 以上で明らかなように、この実施の形態1によれば、動画像符号化装置の変換・量子化部7、逆量子化・逆変換部8、ループフィルタ部11で用いる適応パラメータセットをスライス単位で複数参照して、適応パラメータセットの一部更新を行えるようにすることで、スライス間で変更したいパラメータのみ符号化することができるため、冗長な情報を符号化することなく、符号化効率の低下を抑えることができる効果を奏する。
 また、この実施の形態1によれば、動画像復号装置の逆量子化・逆変換部32、ループフィルタ部38で用いる適応パラメータセットをスライス単位で複数参照して適応パラメータセットの一部更新を行えるようにすることで、スライス間で変更したいパラメータのみ符号化して冗長な情報を符号化しない動画像復号装置で符号化したビットストリームを正しく復号することができる効果を奏する。
実施の形態2.
 上記実施の形態1では、可変長符号化部13が、適応パラメータセットを可変長符号化する際、ヘッダ情報が、スライス内で使用する適応パラメータセットを識別するインデックスを複数保持している場合、各適応パラメータセットが備えているフラグを参照して、各適応パラメータセット内に存在しているパラメータを特定し、複数のインデックスの符号化順に各適応パラメータセット内に存在するパラメータをスライス内で使用する適応パラメータセットとして上書き処理を行うものを示したが、この実施の形態2では、可変長符号化部13が、適応パラメータセットを可変長符号化する際、ヘッダ情報が、スライス内で使用する適応パラメータセットを識別するインデックスと、その適応パラメータセットの更新情報とを保持している場合、その更新情報にしたがって上記インデックスに対応する適応パラメータセットを更新し、更新後の適応パラメータセットを上記スライス内で使用する適応パラメータセットとするものについて説明する。
 動画像符号化装置及び動画像復号装置の構成は、上記実施の形態1と同一であるため、この実施の形態2でも、図1や図3等を参照しながら説明する。
 この実施の形態2では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行ってビットストリームを生成する動画像符号化装置と、その動画像符号化装置から出力されるビットストリームを復号する動画像復号装置について説明する。
 図1の動画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。
 一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
 時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
 符号化処理は、時間・空間的な予測によって、信号電力やエントロピーの小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測に用いるパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。
 一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。
 したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
 この実施の形態2では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
 図1の動画像符号化装置が処理対象とする映像信号フォーマットは、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号とする。
 ただし、各画素の階調は、8ビットでもよいし、10ビットや12ビットなどの階調でもよい。
 以下の説明では、便宜上、特に断らない限り、入力画像の映像信号はYUV信号であるとし、かつ、2つの色差成分U,Vが輝度成分Yに対して、サブサンプルされた4:2:0フォーマットの信号を扱う場合について述べる。
 また、映像信号の各フレームに対応する処理データ単位を「ピクチャ」と称する。
 この実施の形態2では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレーム信号として説明を行うが、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
 最初に、図1の動画像符号化装置の処理内容を説明する。
 まず、符号化制御部2は、符号化対象となるピクチャ(カレントピクチャ)のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図2のステップST1)。
 最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
 分割階層数の上限の決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一の階層数を定める方法や、入力画像の映像信号の動きが激しい場合には、階層数を深くして、より細かい動きが検出できるように設定し、動きが少ない場合には、階層数を抑えるように設定する方法などがある。
 なお、上記最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限はシーケンスレベルヘッダなどに符号化してもよいし、符号化せずに動画像復号装置側も同一の決定処理を行うようにしてもよい。前者はヘッダ情報の符号量が増加するものの、動画像復号装置側で上記決定処理を行わずに済むため、動画像復号装置の処理負荷を抑えることができる上、動画像符号化側で最適な値を探索して送ることができる。後者は反対に、動画像復号装置側で上記決定処理を行うため、動画像復号装置の処理負荷が増加するものの、ヘッダ情報の符号量は増加しない。
 また、符号化制御部2は、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化ブロックに対応する符号化モードを選択する(ステップST2)。
 即ち、符号化制御部2は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化ブロックサイズを有する符号化ブロックに分割して、各々の符号化ブロックに対する符号化モードを決定する。
 符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部2は、当該ピクチャで利用可能な全ての符号化モード、または、そのサブセットの中から、各々の符号化ブロックに対応する符号化モードを選択する。
 ただし、後述するブロック分割部1により階層的に分割される各々の符号化ブロックは、さらに予測処理を行う単位である1つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。すなわち、符号化モードは、どのような予測ブロック分割を持つイントラまたはインター符号化モードかを識別するインデックスである。
 符号化制御部2による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
 また、符号化制御部2は、各々の符号化ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び直交変換ブロック分割状態を決定するとともに、予測処理が実施される際に用いられる予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を決定する。
 ただし、符号化ブロックがさらに予測処理を行う予測ブロック単位に分割される場合は、予測ブロック毎に予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択することができる。
 さらに、符号化モードがイントラ符号化モードである符号化ブロックにおいては、詳細は後述するが、イントラ予測処理を行う際に予測ブロックに隣接する符号化済みの画素を用いることから、予測ブロック単位に符号化を行う必要があるため、選択可能な変換ブロックサイズは予測ブロックのサイズ以下に制限される。
 符号化制御部2は、量子化パラメータ及び変換ブロックサイズを含む予測差分符号化パラメータを変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13に出力する。
 また、符号化制御部2は、イントラ予測パラメータを必要に応じてイントラ予測部4に出力する。
 また、符号化制御部2は、インター予測パラメータを必要に応じて動き補償予測部5に出力する。
 スライス分割部14は、入力画像として映像信号を入力すると、その入力画像を符号化制御部2により決定されたスライス分割情報にしたがって1以上の部分画像であるスライスに分割する。
 ブロック分割部1は、スライス分割部14から各スライスを入力する毎に、そのスライスを符号化制御部2により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部2により決定された符号化ブロックへ階層的に分割して、その符号化ブロックを出力する。
 ここで、図5は最大符号化ブロックが階層的に複数の符号化ブロックに分割される例を示す説明図である。
 図5において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L,M)のサイズを有する符号化ブロックである。
 最大符号化ブロックを出発点として、4分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化ブロックを得るようにしている。
 深さnにおいては、符号化ブロックはサイズ(L,M)の画像領域である。
 ただし、LとMは、同じであってもよいし、異なっていてもよいが、図5では、L=Mのケースを示している。
 以降、符号化制御部2により決定される符号化ブロックサイズは、符号化ブロックの輝度成分におけるサイズ(L,M)と定義する。
 4分木分割を行うため、常に、(Ln+1,Mn+1)=(L/2,M/2)が成立する。
 なお、RGB信号など、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(L,M)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックサイズは(L/2,M/2)になる。
 以降、第n階層の符号化ブロックをBで表し、符号化ブロックBで選択可能な符号化モードをm(B)で表すものとする。
 複数の色成分からなるカラー映像信号の場合、符号化モードm(B)は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、全ての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。
 符号化ブロックBは、図5に示すように、ブロック分割部1によって、予測処理単位を表す1つないし複数の予測ブロックに分割される。
 以降、符号化ブロックBに属する予測ブロックをP (iは、第n階層における予測ブロック番号)と表記する。図5にはP とP の例を示している。
 符号化ブロックB内の予測ブロックの分割が、どのようになされているかは、符号化モードm(B)の中に情報として含まれる。
 予測ブロックP は、全て符号化モードm(B)に従って予測処理が行われるが、予測ブロックP 毎に、個別の予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択することができる。
 符号化制御部2は、最大符号化ブロックに対して、例えば、図6に示すようなブロック分割状態を生成して、符号化ブロックを特定する。
 図6(a)の点線で囲まれた矩形が各符号化ブロックを表し、各符号化ブロック内にある斜線で塗られたブロックが各予測ブロックの分割状態を表している。
 図6(b)は、図6(a)の例について、階層分割によって符号化モードm(B)が割り当てられる状況を4分木グラフで示したものである。図6(b)の□で囲まれているノードは、符号化モードm(B)が割り当てられたノード(符号化ブロック)である。
 この4分木グラフの情報は符号化モードm(B)と共に符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
 切換スイッチ3は、符号化制御部2により決定された符号化モードm(B)がイントラ符号化モードである場合(m(B)∈INTRAの場合)、ブロック分割部1から出力された符号化ブロックBをイントラ予測部4に出力する。
 一方、符号化制御部2により決定された符号化モードm(B)がインター符号化モードである場合(m(B)∈INTERの場合)、ブロック分割部1から出力された符号化ブロックBを動き補償予測部5に出力する。
 イントラ予測部4は、符号化制御部2により決定された符号化モードm(B)がイントラ符号化モードであり(m(B)∈INTRAの場合)、切換スイッチ3から符号化ブロックBを受けると(ステップST3)、イントラ予測用メモリ10に格納されている局所復号画像を参照しながら、符号化制御部2により決定されたイントラ予測パラメータを用いて、その符号化ブロックB内の各予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成する(ステップST4)。
 なお、動画像復号装置がイントラ予測画像PINTRAi と全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi の生成に用いられたイントラ予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
 イントラ予測部4の処理内容の詳細は後述する。
 動き補償予測部5は、符号化制御部2により決定された符号化モードm(B)がインター符号化モードであり(m(B)∈INTERの場合)、切換スイッチ3から符号化ブロックBを受けると(ステップST3)、その符号化ブロックB内の各予測ブロックP と動き補償予測フレームメモリ12に格納されているフィルタ処理後の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部2により決定されたインター予測パラメータを用いて、その符号化ブロックB内の各予測ブロックP に対するインター予測処理を実施して、インター予測画像PINTERi を生成する(ステップST5)。
 なお、動画像復号装置がインター予測画像PINTERi と全く同じインター予測画像を生成する必要があるため、インター予測画像PINTERi の生成に用いられたインター予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
 また、動き補償予測部5により探索された動きベクトルも可変長符号化部13に出力されて、ビットストリームに多重化される。
 減算部6は、ブロック分割部1から符号化ブロックBを受けると、その符号化ブロックB内の予測ブロックP から、イントラ予測部4により生成されたイントラ予測画像PINTRAi 、または、動き補償予測部5により生成されたインター予測画像PINTERi のいずれか一方を減算して、その減算結果である差分画像を示す予測差分信号e を変換・量子化部7に出力する(ステップST6)。
 変換・量子化部7は、減算部6から予測差分信号e を受けると、符号化制御部2により決定された予測差分符号化パラメータに含まれる直交変換ブロック分割情報を参照して、その予測差分信号e に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を直交変換ブロック単位に実施して、変換係数を算出する。
 また、変換・量子化部7は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する(ステップST7)。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
 量子化マトリクスは、直交変換サイズや色信号毎に独立したマトリクスを使用することができ、初期値として、予め画像符号化装置に用意されている量子化マトリクス以外の量子化マトリクスを用いる場合は、その量子化マトリクスを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 逆量子化・逆変換部8は、変換・量子化部7から圧縮データを受けると、符号化制御部2により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位にその圧縮データを逆量子化する。なお、変換・量子化部7での量子化処理に量子化マトリクスを用いている場合は、逆量子化処理時にも、その量子化マトリクスを参照して対応した逆量子化処理を実施する。
 また、逆量子化・逆変換部8は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算部6から出力された予測差分信号e に相当する局所復号予測差分信号を算出して加算部9に出力する(ステップST8)。
 加算部9は、逆量子化・逆変換部8から局所復号予測差分信号を受けると、その局所復号予測差分信号と、イントラ予測部4により生成されたイントラ予測画像PINTRAi 、または、動き補償予測部5により生成されたインター予測画像PINTERi のいずれか一方を加算することで、局所復号画像を算出する(ステップST9)。
 なお、加算部9は、その局所復号画像をループフィルタ部11に出力するとともに、その局所復号画像をイントラ予測用メモリ10に格納する。
 この局所復号画像が、以降のイントラ予測処理の際に用いられる符号化済みの画像信号になる。
 ループフィルタ部11は、加算部9から局所復号画像を受けると、その局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を動き補償予測フレームメモリ12に格納する(ステップST10)。
 具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
 ただし、ループフィルタ部11は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理の中の1つの処理を行うように構成してもよいし、図11に示すように、2つ以上のフィルタ処理を行うように構成してもよい。
 一般に、使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にあるため、動画像符号化装置が許容する処理負荷にしたがって構成を決めればよい。
 ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意している複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
 次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化対象画像と局所復号画像との間の輝度値の二乗誤差和が最小となるオフセット値を算出する。
 最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
 クラス分類を行う所定の手法としては、局所復号画像の輝度値の大きさで分類する手法や、図13に示すようなエッジの方向毎に、各画素の周囲の状況(エッジ部か否か等)に応じて分類する手法がある。これらの手法は、予め画像符号化装置及び画像復号装置共通で用意されており、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、符号化側では、これらの手法のうち、どの手法でクラス分類を行うかを上記ブロック単位に選択する。
 したがって、画素適応オフセット処理は、ブロックの分割情報、ブロック単位のクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 なお、上記画素適応オフセット処理において、常に画像を最大符号化ブロック単位に分割して、その最大符号化ブロック毎にクラス分類手法を選択してクラス毎の適応オフセット処理を行ってもよい。このようにした場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量を削減することができる。
 また、適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
 そして、クラス毎に設計したフィルタを符号化すべき適応パラメータセットの一部として可変長符号化部13に出力する。
 ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置共通の値に設定してもよいし、符号化すべき適応パラメータセットの一部としてもよい。
 前者と比較して後者の方が使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
 さらに、上記適応フィルタ処理のクラス分類及びフィルタ設計・処理を画像全体に対してではなく、最大符号化ブロック毎に行ってもよい。すなわち、最大符号化ブロック内の複数のブロック単位に画像の局所的な特性(分散など)に応じてクラス分類し、クラス毎にフィルタ設計及びフィルタ処理を行う。したがって、最大符号化ブロック毎に各クラスのフィルタを適応パラメータセットの一部として符号化する。このようにすることで、画像全体に対してクラス分類及びフィルタ設計・処理を実施した場合よりも局所的な性質に応じた高精度なフィルタ処理が実現できる。
 ステップST3~ST9の処理は、階層的に分割された全ての符号化ブロックBに対する処理が完了するまで繰り返し実施され、全ての符号化ブロックBに対する処理が完了すると、ステップST13の処理に移行する(ステップST11,ST12)。
 可変長符号化部13は、変換・量子化部7から出力された圧縮データと、符号化制御部2から出力された最大符号化ブロック内のブロック分割情報(図6(b)を例とする4分木情報)、符号化モードm(B)及び予測差分符号化パラメータと、符号化制御部2から出力されたイントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)又はインター予測パラメータ(符号化モードがインター符号化モードである場合)と、動き補償予測部5から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して、それらの符号化結果を示す符号化データを生成する(ステップST13)。
 また、可変長符号化部13は、図16に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダ、適応パラメータセットを符号化し、ピクチャデータと共にビットストリームを生成する。
 ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。
 シーケンスレベルヘッダは、画像サイズ等の一般的にシーケンス単位に共通となるヘッダ情報をまとめたものであり、ピクチャレベルヘッダは、動き補償時の参照ピクチャ数等のピクチャ単位で必要となるヘッダ情報をまとめたものであり、スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかの位置情報、どのピクチャレベルヘッダを参照するかのインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)などといったスライス単位で設定可能なパラメータをまとめたものである。
 適応パラメータセットは、適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理に関わるパラメータ(フィルタパラメータ)と、量子化マトリクスに関わるパラメータ(量子化マトリクスパラメータ)とを持つパラメータセットであり、符号化ビットストリームに多重されている複数の適応パラメータセットを識別するために、各適応パラメータセットはインデックス(aps_id)を持っている。
 そして、各適応パラメータセットは、適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理に関わるそれぞれのフィルタパラメータと、量子化マトリクスパラメータとがそれぞれ存在しているか否かを示すフラグ(present_flag)を持ち、さらに、量子化マトリクスパラメータの存在フラグが“有効”の場合、量子化マトリクスは直交変換サイズ及び色信号毎に、それぞれマトリクスが存在するか否かを示すフラグを持ち、適応フィルタ処理のフィルタパラメータの存在フラグが“有効”の場合、適応フィルタ処理はクラス毎にそれぞれフィルタ係数が存在するか否かを示すフラグを持っている。
 そして、各存在フラグが“有効”の場合は、それに対応するパラメータを持っている。
 したがって、適応パラメータセットは、各パラメータがあるか否かを自由に設定することができる。
 各スライスは、スライスヘッダ内にスライスの復号処理時に参照する適応パラメータセットのインデックス(aps_id)を持つことで、対応する適応パラメータセットを参照して、量子化処理・逆量子化処理やループフィルタ処理を実施する。
 さらに、スライスヘッダには、適応パラメータセットの更新パラメータ情報を持っている否かを示すフラグ(override_flag)を有している。
 上記フラグが“更新パラメータ情報を持つ”ことを示している場合、スライスヘッダは、適応パラメータセットと同様に、適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理に関わるそれぞれのフィルタパラメータと量子化マトリクスパラメータがそれぞれ存在するか否かを示すフラグ(present_flag)を持ち、さらに、量子化マトリクスパラメータの存在フラグが“有効”の場合、量子化マトリクスは直交変換サイズ及び色信号毎にそれぞれマトリクスが存在するか否かを示すフラグを持ち、適応フィルタ処理のフィルタパラメータの存在フラグが“有効”の場合、適応フィルタ処理はクラス毎にそれぞれフィルタ係数が存在するか否かのフラグを持っている。
 そして、各存在フラグが“有効”の場合は、それに対応するパラメータを持っている。
 したがって、スライスヘッダに適応パラメータの更新情報を有する場合、当該スライスでのみ用いる適応パラメータセットとして、スライスヘッダ内のパラメータセットのインデックス(aps_id)が示す適応パラメータセットに対して、上記スライスヘッダ内の適応パラメータセットの更新パラメータ情報を上書きしたものを当該スライスで持つことで、スライス単位での適応パラメータセットのパラメータの部分更新が可能になる。
 また、上記のようにスライスレベルヘッダ内に適応パラメータセットの更新パラメータ情報を持つことを可能とした上で、実施ぼ形態1のようにスライスレベルヘッダ内で適応パラメータセットのインデックス(aps_id)を複数持つことができるように構成してもよい。
 この場合、ある特定の適応パラメータセットを複数のスライスで使用するような場合は適応パラメータセットのインデックス(aps_id)をスライスレベルヘッダ内で複数持つ形で表現した方が同じ適応パラメータを複数回符号化せずに済むため、高効率な符号化が実現できる。一方、ある1つのスライスでしか使用しない適応パラメータセットがある場合は、スライスレベルヘッダ内に適応パラメータセットの更新パラメータ情報として持つ方がスライスレベルヘッダ内に適応パラメータセットのインデックス(aps_id)を複数持つ必要がなく、高効率な符号化が実現できる。このように、スライスレベルヘッダ内に適応パラメータセットのインデックス(aps_id)を複数持つことと、適応パラメータセットの更新パラメータ情報を持つことを可能とすることで、より高効率な適応パラメータセットの符号化が可能となる。
ただし、スライスレベルヘッダ内に適応パラメータセットのインデックス(aps_id)が複数ある上に、適応パラメータセットの更新パラメータ情報も存在する場合は、まずインデックスが符号化される順に対応する適応パラメータセットで更新し、そして、適応パラメータセットの更新情報にしたがって上記更新済みの適応パラメータセットを上書きしたものを当該スライスで用いる適応パラメータセットとする。
 また、適応パラメータセットを符号化して符号化ビットストリームに多重する際、同じインデックス(aps_id)を持つ適応パラメータセットが既に符号化ビットストリームに存在する場合は、そのインデックスを持つ適応パラメータセットが、上記の符号化対象の適応パラメータセットに置き換えられる。
 したがって、新しい適応パラメータセットを符号化する際、既に符号化された適応パラメータセットが不要の場合は、その不要な適応パラメータセットのインデックスで符号化することで適応パラメータセットの上書き更新が可能になり、保存しなければならない適応パラメータセットの数を増やさずに済むため、使用するメモリの容量を抑えることができる。
 次に、イントラ予測部4の処理内容を詳細に説明する。
 図7は符号化ブロックB内の各予測ブロックP が選択可能なイントラ予測パラメータであるイントラ予測モードの一例を示す説明図である。ただし、Nはイントラ予測モード数を表す。
 図7では、イントラ予測モードのインデックス値と、そのイントラ予測モードが示す予測方向ベクトルを示しており、図7の例では、選択可能なイントラ予測モードの個数が増えるに従って、予測方向ベクトル同士の相対角度が小さくなるように設計されている。
 イントラ予測部4は、上述したように、予測ブロックP のイントラ予測パラメータを参照して、その予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成するが、ここでは、輝度信号における予測ブロックP のイントラ予測信号を生成するイントラ処理について説明する。
 予測ブロックP のサイズをl ×m 画素とする。
 図8はl =m =4の場合の予測ブロックP 内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。
 図8では、予測ブロックP の上の符号化済みの画素(2×l +1)個と、左の符号化済みの画素(2×m )個を予測に用いる画素としているが、予測に用いる画素は、図8に示す画素より多くても少なくてもよい。
 また、図8では、予測ブロックP の近傍の1行又は1列分の画素を予測に用いているが、2行又は2列、あるいは、それ以上の画素を予測に用いてもよい。
 予測ブロックP に対するイントラ予測モードのインデックス値が0(平面(Planar)予測)の場合には、予測ブロックP の上に隣接する符号化済み画素と予測ブロックP の左に隣接する符号化済み画素を用いて、これら画素と予測ブロックP 内の予測対象画素との距離に応じて内挿した値を予測値として予測画像を生成する。
 予測ブロックP に対するイントラ予測モードのインデックス値が2(平均値(DC)予測)の場合には、予測ブロックP の上に隣接する符号化済み画素と予測ブロックP の左に隣接する符号化済み画素の平均値を予測ブロックP 内の画素の予測値として予測画像を生成する。
 イントラ予測モードのインデックス値が0(平面予測)と2(平均値予測)以外の場合には、インデックス値が示す予測方向ベクトルυ=(dx,dy)に基づいて、予測ブロックP 内の画素の予測値を生成する。
 図9に示すように、予測ブロックP の左上画素を原点として、予測ブロックP 内の相対座標を(x,y)と設定すると、予測に用いる参照画素の位置は、下記のLと隣接画素の交点になる。

Figure JPOXMLDOC01-appb-I000002
 参照画素が整数画素位置にある場合には、その整数画素を予測対象画素の予測値とし、参照画素が整数画素位置にない場合には、参照画素に隣接する整数画素から生成される補間画素を予測値とする。
 図8の例では、参照画素は整数画素位置にないので、参照画素に隣接する2画素から内挿したものを予測値とする。なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。
 補間処理に用いる画素を多くすることで補間画素の補間精度を向上させる効果がある一方、補間処理に要する演算の複雑度が増加することから、演算負荷が大きくても高い符号化性能を要求する動画像符号化装置の場合には、より多くの画素から補間画素を生成するようにした方がよい。
 以上に述べた処理によって、予測ブロックP 内の輝度信号の全ての画素に対する予測画素を生成して、イントラ予測画像PINTRAi を出力する。
 なお、イントラ予測画像PINTRAi の生成に用いられたイントラ予測パラメータ(イントラ予測モード)は、ビットストリームに多重化するために可変長符号化部13に出力される。
 なお、先に説明したMPEG-4 AVC/H.264における8×8画素のブロックのイントラ予測時に参照画像に対して施される平滑化処理と同様に、イントラ予測部4において、予測ブロックP の中間予測画像を生成する際の参照画素を、予測ブロックP に隣接する符号化済み画素を平滑化処理した画素とするように構成した場合であっても、上述の例と同様の中間予測画像に対するフィルタ処理を行うことができる。
 予測ブロックP の色差信号に対しても、輝度信号と同様の手順で、イントラ予測パラメータ(イントラ予測モード)に基づくイントラ予測処理を実施し、イントラ予測画像の生成に用いられたイントラ予測パラメータを可変長符号化部13に出力する。
 ただし、色差信号で選択可能なイントラ予測パラメータ(イントラ予測モード)は輝度信号と異なっていてもよい。例えば、YUV信号4:2:0フォーマットの場合、色差信号(U、V信号)は、輝度信号(Y信号)に対して解像度を水平方向、垂直方向共に1/2に縮小した信号であり、輝度信号に比べて画像信号の複雑性が低く予測が容易であることから、選択可能なイントラ予測パラメータは輝度信号よりも少ない数としてイントラ予測パラメータを符号化するのに要する符号量の削減や、予測処理の低演算化を図ってもよい。
 次に、図3の動画像復号装置の処理内容を具体的に説明する。
 可変長復号部31は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図4のステップST21)、フレームサイズの情報などの1フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報(シーケンスレベルヘッダ)及びピクチャ単位のヘッダ情報(ピクチャレベルヘッダ)、適応パラメータセットとして符号化されたループフィルタ部38で使用するフィルタパラメータや量子化マトリクスパラメータを復号する。
 そして、ピクチャ単位のデータを構成するスライスデータから、スライスのピクチャ分割情報等のスライス単位のヘッダ情報(スライスレベルヘッダ)を復号し、各スライスの符号化データを復号する。このとき、各スライスで用いる適応パラメータセットはスライスヘッダ内に存在する適応パラメータセットのインデックス(aps_id)を参照することで特定する。
 ただし、スライスヘッダ内に適応パラメータセットの更新情報が存在する場合、当該スライスでのみ用いる適応パラメータセットとして、その更新情報にしたがって上記適応パラメータセットのインデックス(aps_id)が示す適応パラメータセットを上書きしたものを当該スライスの復号処理で用いる。
 また、適応パラメータセットを復号した際に、同じインデックス(aps_id)を持つ適応パラメータセットが既に復号済みの適応パラメータセットの中に存在する場合は、そのインデックスを持つ適応パラメータセットは、新しく復号された適応パラメータセットに更新される。
 なお、上記のようにスライスレベルヘッダ内に適応パラメータセットの更新パラメータ情報を持つことを可能とした上で、実施例1のようにスライスレベルヘッダ内で適応パラメータセットのインデックス(aps_id)を複数持つことができるように動画像符号化装置を構成している場合、当該スライスでのみ用いる適応パラメータセットとして、まずスライスヘッダ内に適応パラメータセットのインデックスが複数存在する場合はインデックスが復号される順に対応する適応パラメータセットで更新し、さらに、スライスヘッダ内に適応パラメータセットの更新情報が存在する場合はその更新情報にしたがって上記更新済みの適応パラメータセットを上書きしたものを当該スライスの復号処理で用いる。
 また、可変長復号部31は、図1の動画像符号化装置の符号化制御部2により決定された最大符号化ブロックサイズ及び分割階層数の上限を動画像符号化装置と同様の手順で決定する(ステップST22)。
 例えば、最大符号化ブロックサイズや分割階層数の上限が映像信号の解像度に応じて決められた場合には、復号したフレームサイズ情報に基づいて、動画像符号化装置と同様の手順で最大符号化ブロックサイズを決定する。
 最大符号化ブロックサイズ及び分割階層数の上限が、動画像符号化装置側でシーケンスレベルヘッダなどに多重化されている場合には、上記ヘッダから復号した値を用いる。
 以降、動画像復号装置では、上記最大符号化ブロックサイズを最大復号ブロックサイズと称し、最大符号化ブロックを最大復号ブロックと称する。
 可変長復号部31は、決定された最大復号ブロック単位に、図6で示されるような最大復号ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定する(ステップST23)。
 次に、可変長復号部31は、復号ブロックに割り当てられている符号化モードを復号する。復号した符号化モードに含まれる情報に基づき、復号ブロックをさらに1つないし複数の予測処理単位である予測ブロックに分割し、予測ブロック単位に割り当てられている予測パラメータを復号する(ステップST24)。
 即ち、可変長復号部31は、復号ブロックに割り当てられている符号化モードがイントラ符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にイントラ予測パラメータを復号する。
 一方、復号ブロックに割り当てられている符号化モードがインター符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する(ステップST24)。
 さらに、可変長復号部31は、予測差分符号化パラメータに含まれる直交変換ブロック分割情報に基づき、直交変換ブロック毎に圧縮データ(変換・量子化後の変換係数)を復号する(ステップST24)。
 切換スイッチ33は、可変長復号部31により可変長復号された符号化モードm(B)がイントラ符号化モードであれば(m(B)∈INTRAの場合)、可変長復号部31により可変長復号された予測ブロック単位のイントラ予測パラメータをイントラ予測部34に出力する。
 一方、可変長復号部31により可変長復号された符号化モードm(B)がインター符号化モードであれば(m(B)∈INTERの場合)、可変長復号部31により可変長復号された予測ブロック単位のインター予測パラメータ及び動きベクトルを動き補償部35に出力する。
 イントラ予測部34は、可変長復号部31により可変長復号された符号化モードm(B)がイントラ符号化モード(m(B)∈INTRA)である場合(ステップST25)、切換スイッチ33から出力された予測ブロック単位のイントラ予測パラメータを受け取って、図1のイントラ予測部4と同様の手順で、イントラ予測用メモリ37に格納されている復号画像を参照しながら、上記イントラ予測パラメータを用いた復号ブロックB内の各予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成する(ステップST26)。
 動き補償部35は、可変長復号部31により可変長復号された符号化モードm(B)がインター符号化モード(m(B)∈INTER)である場合(ステップST25)、切換スイッチ33から出力された予測ブロック単位の動きベクトルとインター予測パラメータを受け取って、動き補償予測フレームメモリ39に格納されているフィルタ処理後の復号画像を参照しながら、その動きベクトルとインター予測パラメータを用いた復号ブロックB内の各予測ブロックP に対するインター予測処理を実施してインター予測画像PINTERi を生成する(ステップST27)。
 逆量子化・逆変換部32は、可変長復号部31から圧縮データ及び予測差分符号化パラメータを受けると、図1の逆量子化・逆変換部8と同様の手順で、その予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位にその圧縮データを逆量子化する。
 このとき、可変長復号部31により可変長復号された各ヘッダ情報を参照し、各ヘッダ情報が当該スライスで量子化マトリクスを用いて逆量子化処理を実施することを示している場合は、参照先の適応パラメータセットにある量子化マトリクスを用いて逆量子化処理を行う。
 また、逆量子化・逆変換部32は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部8から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する(ステップST28)。
 加算部36は、逆量子化・逆変換部32により算出された復号予測差分信号と、イントラ予測部34により生成されたイントラ予測画像PINTRAi 、または、動き補償部35により生成されたインター予測画像PINTERi のいずれか一方を加算して復号画像を算出し、その復号画像をループフィルタ部38に出力するとともに、その復号画像をイントラ予測用メモリ37に格納する(ステップST29)。
 この復号画像が、以降のイントラ予測処理の際に用いられる復号済みの画像信号になる。
 ループフィルタ部38は、全ての復号ブロックBに対するステップST23~ST29の処理が完了すると(ステップST30)、加算部36から出力された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を動き補償予測フレームメモリ39に格納する(ステップST31)。
 具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
 ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理の中の1つの処理を行うように構成してもよいし、図12に示すように、2つ以上のフィルタ処理を行うように構成してもよいが、動画像符号化装置のループフィルタ部11で行われるフィルタ処理と同じフィルタ処理を行うように構成しなくてはならない。したがって、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで行うフィルタ処理を特定する。
 ここで、デブロッキングフィルタ処理では、当該スライスが参照する適応パラメータセットを参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合には、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
 画素適応オフセット処理では、当該スライスが参照する適応パラメータセットを参照し、その適応パラメータセットに含まれるブロック分割情報に基づいて分割し、そのブロック単位に、その適応パラメータセットに含まれるブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素をクラス分類する。
 そして、適応パラメータセットに含まれるクラス毎のオフセットを対応する復号画像の輝度値に加算する処理を行う。
 ただし、動画像符号化装置のループフィルタ部11の画素適応オフセット処理において、ブロック分割情報は符号化せずに、常に画像を最大符号化ブロック単位に分割して、その最大符号化ブロック毎にクラス分類手法を選択してクラス毎の適応オフセット処理を行うように構成した場合、ループフィルタ部38も同様に最大符号化ブロック単位に画素適応オフセット処理を実施する。
 適応フィルタ処理では、当該スライスが参照する適応パラメータセットを参照し、その適応パラメータセットに含まれるクラス毎のフィルタを用いて、図1の動画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
 ただし、動画像符号化装置のループフィルタ部11の適応フィルタ処理において、上記のクラス分類及びフィルタ設計・処理を画像全体に対してではなく最大符号化ブロック毎に行うように構成した場合、ループフィルタ部38は最大符号化ブロック毎に、各クラスで用いるフィルタを復号して上記クラス分類及びフィルタ処理を行う。
 このループフィルタ部38によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
 以上で明らかなように、この実施の形態2によれば、動画像符号化装置の変換・量子化部7、逆量子化・逆変換部8、ループフィルタ部11で用いる適応パラメータセットの更新情報をスライスヘッダで持つようにすることで、スライス単位での適応パラメータセットの一部更新を行えるようにすることで、冗長な情報を符号化することなく、符号化効率の低下を抑えることができる効果を奏する。
 また、この実施の形態2によれば、動画像復号装置の逆量子化・逆変換部32、ループフィルタ部38で用いる適応パラメータセットの更新情報をスライスヘッダで持つようにすることで、スライス単位での適応パラメータセットの一部更新を行えるようになり、スライス間で変更したいパラメータのみ符号化して冗長な情報を符号化しない動画像復号装置で符号化したビットストリームを正しく復号することができる効果を奏する。
 なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
 以上のように、この発明に係る動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法は、更新しないパラメータの符号化を不要にして、符号化効率を高めることができるようにしたため、動画像を高効率で符号化を行う動画像符号化装置及び動画像符号化方法と、高効率で符号化されている動画像を復号する動画像復号装置及び動画像復号方法に用いるのに適している。
 1 ブロック分割部(ブロック分割手段)、2 符号化制御部(符号化制御手段)、3 切換スイッチ、4 イントラ予測部(イントラ予測手段)、5 動き補償予測部(動き補償予測手段)、6 減算部(差分画像生成手段)、7 変換・量子化部(画像圧縮手段)、8 逆量子化・逆変換部(局所復号画像生成手段)、9 加算部(局所復号画像生成手段)、10 イントラ予測用メモリ(イントラ予測手段)、11 ループフィルタ部(フィルタリング手段)、12 動き補償予測フレームメモリ(動き補償予測手段)、13 可変長符号化部(可変長符号化手段)、14 スライス分割部(スライス分割手段)、31 可変長復号部(可変長復号手段)、32 逆量子化・逆変換部(差分画像生成手段)、33 切換スイッチ、34 イントラ予測部(イントラ予測手段)、35 動き補償部(動き補償予測手段)、36 加算部(復号画像生成手段)、37 イントラ予測用メモリ(イントラ予測手段)、38 ループフィルタ部(フィルタリング手段)、39 動き補償予測フレームメモリ(動き補償予測手段)、101 ブロック分割部、102 予測部、103 圧縮部、104 局所復号部、105 加算器、106 ループフィルタ、107 メモリ、108 可変長符号化部。

Claims (12)

  1.  ビットストリームに多重化された符号化データから各スライスのヘッダ情報、量子化マトリクスパラメータ及びフィルタパラメータを含むパラメータセットを可変長復号し、上記符号化データから分割されている各々の符号化ブロックに係る圧縮データを可変長復号する可変長復号手段と、上記可変長復号手段により可変長復号された量子化マトリクスパラメータを用いて、上記可変長復号手段により可変長復号された符号化ブロックに係る圧縮データである変換係数を逆量子化し、逆量子化後の変換係数を逆変換して、圧縮前の差分画像と予測処理を実施して生成された予測画像とを加算して生成された復号画像に対するフィルタ処理を実施し、フィルタ処理後の復号画像を出力するフィルタリング手段とを備え、
     上記パラメータセットには、上記量子化マトリクスパラメータ及び上記フィルタパラメータが当該セット内に存在しているか否かを示すフラグが備えられており、
     上記可変長復号手段は、上記ヘッダ情報が、スライス内で使用する上記パラメータセットを識別するインデックスを参照してスライス内で使用する上記量子化マトリクスパラメータ及び上記フィルタパラメータを特定することを特徴とする動画像復号装置。
  2.  上記量子化マトリクスパラメータとして、逆変換処理に係る逆直交変換のサイズ又は画像の色信号毎に、量子化マトリクスが存在しているか否かを示すフラグを備えていることを特徴とする請求項1記載の動画像復号装置。
  3.  フィルタリング手段は、直交変換ブロックの境界、予測ブロックの境界に対してフィルタ処理を行うデブロッキングフィルタ処理から構成されており、
     上記フィルタパラメータとして、ブロック境界にかけるフィルタ強度にかかわる各種パラメータを備えていることを特徴とする請求項2記載の動画像復号装置。
  4.  可変長復号手段により可変長復号された符号化ブロックに係る符号化モードがイントラ符号化モードである場合、上記符号化ブロックの予測処理を行う際の予測処理単位となる予測ブロック毎に、上記イントラ符号化モードに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段を設け、
     可変長復号手段により可変長復号された符号化ブロックに係る符号化モードがインター符号化モードである場合、符号化ブロックの予測処理を行う際の予測処理単位となる予測ブロック毎に、参照画像を用いて、当該予測ブロックに対する動き補償予測処理を実施して予測画像を生成する動き補償予測手段を設け、
     復号画像生成手段は、差分画像生成手段により生成された差分画像とイントラ予測手段又は上記動き補償予測手段により生成された予測画像とを加算して復号画像を生成し、
     フィルタリング手段は、上記復号画像生成手段により得られた復号画像に対するフィルタ処理を実施し、フィルタ処理後の復号画像を参照画像として上記動き補償予測手段に出力することを特徴とする請求項3記載の動画像復号装置。
  5.  可変長復号手段は、ビットストリームに多重化された符号化データから圧縮データ、符号化モード、パラメータセットを可変長復号する際、イントラ予測パラメータ又はインター予測パラメータ及び変換ブロック分割情報を可変長復号し、
     イントラ予測手段は、上記可変長復号手段により可変長復号されたイントラ予測パラメータを用いて、フレーム内予測処理を実施し、
     動き補償予測手段は、上記可変長復号手段により可変長復号されたインター予測パラメータを用いて、動き補償予測処理を実施し、
     差分画像生成手段は、上記可変長復号手段により可変長復号された変換ブロック分割情報から得られる変換ブロック単位で、逆量子化後の変換係数を逆変換して、圧縮前の差分画像を生成することを特徴とする請求項4記載の動画像復号装置。
  6.  入力画像を符号化ブロックに分割するブロック分割手段と、上記符号化ブロックの予測処理を行う際の予測処理単位となる予測ブロック毎に、参照画像を用いて、当該予測ブロックに対する動き補償予測処理を実施して予測画像を生成する動き補償予測手段と、上記ブロック分割手段により分割された符号化ブロックと上記動き補償予測手段により生成された予測画像との差分画像の変換処理を実施して、上記差分画像の変換係数を量子化した量子化後の変換係数である圧縮データから差分画像を復号し、復号後の差分画像と上記予測画像を加算して生成された局所復号画像に対するフィルタ処理を実施し、フィルタ処理後の局所復号画像を上記参照画像として上記動き補償予測手段に出力するフィルタリング手段と、上記圧縮データ、上記変換係数が量子化される際に用いられる量子化マトリクスを表す量子化マトリクスパラメータ及び上記フィルタリング手段によりフィルタ処理が実施される際に用いられるフィルタパラメータを含むパラメータセット、各スライスのヘッダ情報を可変長符号化して、上記圧縮データ、上記パラメータセット、上記ヘッダ情報の符号化データが多重化されたビットストリームを生成する可変長符号化手段とを備え、
     上記パラメータセットには、上記量子化マトリクスパラメータ及び上記フィルタパラメータが当該セット内に存在しているか否かを示すフラグが備えられており、
     上記可変長符号化手段は、上記ヘッダ情報が、スライス内で使用する上記パラメータセットを識別するインデックスを参照してスライス内で使用する上記量子化マトリクスパラメータ及び上記フィルタパラメータを特定することを特徴とする動画像符号化装置。
  7.  上記量子化マトリクスパラメータとして、変換処理に係る直交変換のサイズ又は画像の色信号毎に、量子化マトリクスが存在しているか否かを示すフラグを備えていることを特徴とする請求項6記載の動画像符号化装置。
  8.  フィルタリング手段は、直交変換ブロックの境界、予測ブロックの境界に対してフィルタ処理を行うデブロッキングフィルタ処理から構成されており、
     上記フィルタパラメータとして、ブロック境界にかけるフィルタ強度にかかわる各種パラメータを備えていることを特徴とする請求項7記載の動画像符号化装置。
  9.  ブロック分割手段により分割された符号化ブロックに対応する符号化モードとして、符号化制御手段によりイントラ符号化モードが選択された場合、上記符号化ブロックの予測処理を行う際の予測処理単位となる予測ブロック毎に、上記イントラ符号化モードに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段を設け、
     ブロック分割手段により分割された符号化ブロックに係る符号化モードがインター符号化モードである場合、符号化ブロックの予測処理を行う際の予測処理単位となる予測ブロック毎に、参照画像を用いて、当該予測ブロックに対する動き補償予測処理を実施して予測画像を生成する動き補償予測手段を設け、
     差分画像生成手段は、上記ブロック分割手段により分割された符号化ブロックと上記イントラ予測手段又は動き補償予測手段により生成された予測画像との差分画像を生成し、
     局所復号画像生成手段は、復号後の差分画像と上記イントラ予測手段又は上記動き補償予測手段により生成された予測画像を加算して局所復号画像を生成し、
     フィルタリング手段は、上記局所復号手段により生成された局所復号画像に対するフィルタ処理を実施し、フィルタ処理後の局所復号画像を参照画像として上記動き補償予測手段に出力することを特徴とする請求項8記載の動画像符号化装置。
  10.  符号化制御手段は、各々の符号化ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロック分割状態を決定するとともに、予測処理が実施される際に用いられるイントラ予測パラメータ又はインター予測パラメータを当該符号化ブロックの予測ブロック毎に決定し、
     イントラ予測手段は、上記符号化制御手段により決定されたイントラ予測パラメータを用いて、フレーム内予測処理を実施し、
     動き補償予測手段は、上記符号化制御手段により決定されたインター予測パラメータを用いて、動き補償予測処理を実施し、
     画像圧縮手段は、上記符号化制御手段により決定された変換ブロック単位で、差分画像生成手段により生成された差分画像の変換処理を実施するとともに、上記符号化制御手段により決定された量子化パラメータ及び量子化マトリクスパラメータを用いて、上記差分画像の変換係数を量子化して量子化後の変換係数を上記差分画像の圧縮データとして出力し、
     可変長符号化手段は、上記圧縮データ、符号化モード、上記量子化マトリクスパラメータとフィルタパラメータを含むパラメータセット、各スライスのヘッダ情報を可変長符号化する際、上記符号化制御手段により決定されたイントラ予測パラメータ又はインター予測パラメータ及び変換ブロック分割情報を可変長符号化して、上記圧縮データ、上記符号化モード、上記パラメータセット、上記ヘッダ情報、上記イントラ予測パラメータ又は上記インター予測パラメータ及び上記変換ブロック分割情報の符号化データが多重化されたビットストリームを生成することを特徴とする請求項9記載の動画像符号化装置。
  11.  ブロック分割手段が、入力画像を符号化ブロックに分割するブロック分割処理ステップと、動き補償予測手段が、上記符号化ブロックの予測処理を行う際の予測処理単位となる予測ブロック毎に、参照画像を用いて、当該予測ブロックに対する動き補償予測処理を実施して予測画像を生成する動き補償予測処理ステップと、フィルタリング手段が、上記ブロック分割処理ステップで分割された符号化ブロックと上記動き補償予測処理ステップで生成された予測画像との差分画像の変換処理を実施して、上記差分画像の変換係数を量子化した量子化後の変換係数である圧縮データから差分画像を復号し、復号後の差分画像と上記予測画像を加算して生成された局所復号画像に対するフィルタ処理を実施し、フィルタ処理後の局所復号画像を上記参照画像として上記動き補償予測手段に出力するフィルタリング処理ステップと、可変長符号化手段が、上記圧縮データ、上記変換係数が量子化される際に用いられる量子化マトリクスを表す量子化マトリクスパラメータ及び上記フィルタリング処理ステップでフィルタ処理が実施される際に用いられるフィルタパラメータを含むパラメータセット、各スライスのヘッダ情報を可変長符号化して、上記圧縮データ、上記パラメータセット、上記ヘッダ情報の符号化データが多重化されたビットストリームを生成する可変長符号化処理ステップとを備え、
     上記パラメータセットには、上記量子化マトリクスパラメータ及び上記フィルタパラメータが当該セット内に存在しているか否かを示すフラグが備えられており、
     上記可変長符号化処理ステップは、上記ヘッダ情報が、スライス内で使用する上記パラメータセットを識別するインデックスを参照してスライス内で使用する上記量子化マトリクスパラメータ及び上記フィルタパラメータを特定することを特徴とする動画像符号化方法。
  12.  可変長復号手段が、ビットストリームに多重化された符号化データから各スライスのヘッダ情報、量子化マトリクスパラメータ及びフィルタパラメータを含むパラメータセットを可変長復号し、上記符号化データから分割されている各々の符号化ブロックに係る圧縮データを可変長復号する可変長復号処理ステップと、フィルタリング手段が、上記可変長復号処理ステップで可変長復号された量子化マトリクスパラメータを用いて、上記可変長復号処理ステップで可変長復号された符号化ブロックに係る圧縮データである変換係数を逆量子化し、逆量子化後の変換係数を逆変換して、圧縮前の差分画像と予測処理を実施して生成された予測画像とを加算して生成された復号画像に対するフィルタ処理を実施し、フィルタ処理後の復号画像を出力するフィルタリング処理ステップとを備え、
     上記パラメータセットには、上記量子化マトリクスパラメータ及び上記フィルタパラメータが当該セット内に存在しているか否かを示すフラグが備えられており、
     上記可変長復号処理ステップは、上記ヘッダ情報が、スライス内で使用する上記パラメータセットを識別するインデックスを参照してスライス内で使用する上記量子化マトリクスパラメータ及び上記フィルタパラメータを特定することを特徴とする動画像復号方法。
PCT/JP2013/050953 2012-01-19 2013-01-18 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 WO2013108882A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-009142 2012-01-19
JP2012009142A JP2015080002A (ja) 2012-01-19 2012-01-19 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Publications (1)

Publication Number Publication Date
WO2013108882A1 true WO2013108882A1 (ja) 2013-07-25

Family

ID=48799303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/050953 WO2013108882A1 (ja) 2012-01-19 2013-01-18 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Country Status (2)

Country Link
JP (1) JP2015080002A (ja)
WO (1) WO2013108882A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113767623B (zh) 2019-04-16 2024-04-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
GB2590634A (en) 2019-12-20 2021-07-07 Canon Kk High Level syntax for video coding and decoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152518A1 (ja) * 2010-06-04 2011-12-08 ソニー株式会社 画像処理装置および方法
JP2013034161A (ja) * 2011-06-28 2013-02-14 Sharp Corp 画像復号装置、画像符号化装置、および符号化データのデータ構造

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152518A1 (ja) * 2010-06-04 2011-12-08 ソニー株式会社 画像処理装置および方法
JP2013034161A (ja) * 2011-06-28 2013-02-14 Sharp Corp 画像復号装置、画像符号化装置、および符号化データのデータ構造

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MING LI ET AL.: "Using Multiple APSs for Quantization Matrix Parameters Signaling", JCTVC-G1026, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, 21 November 2011 (2011-11-21), pages 1 - 6 *
STEPHAN WENGER: "Parameter set updates using conditional replacement", JCTVC-E309, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, 16 March 2011 (2011-03-16), pages 1 - 4 *

Also Published As

Publication number Publication date
JP2015080002A (ja) 2015-04-23

Similar Documents

Publication Publication Date Title
JP6835448B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及び符号化ビットストリームを記録した記録媒体
JP6580185B2 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP6082073B2 (ja) 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法及びビットストリーム
KR101547041B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
WO2014163200A1 (ja) カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法
WO2014049981A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2013108882A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014090327A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014090326A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2013098715A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2014049982A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2013098713A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014135552A (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: 13739012

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP