WO2012008506A1 - 画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造 - Google Patents

画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造 Download PDF

Info

Publication number
WO2012008506A1
WO2012008506A1 PCT/JP2011/066020 JP2011066020W WO2012008506A1 WO 2012008506 A1 WO2012008506 A1 WO 2012008506A1 JP 2011066020 W JP2011066020 W JP 2011066020W WO 2012008506 A1 WO2012008506 A1 WO 2012008506A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
image
unit
input
prediction
Prior art date
Application number
PCT/JP2011/066020
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
Priority claimed from JP2010160730A external-priority patent/JP2013201467A/ja
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2012008506A1 publication Critical patent/WO2012008506A1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to an image filter device that performs image filtering.
  • the present invention also relates to an encoding device, a moving image encoding device, a decoding device, and a moving image decoding device that include such an image filter.
  • the present invention also relates to a data structure of encoded data decoded by such a decoding device.
  • a moving image encoding device that generates encoded data by encoding the moving image, and decoding by decoding the encoded data
  • a video decoding device (decoding device) that generates an image
  • a specific moving picture encoding method for example, H.264 is used.
  • KTA software which is a codec for joint development in AVC (Non-patent Document 1) and VCEG (Video Coding Expert Group).
  • an image (picture) constituting a moving image is a slice obtained by dividing the image, a coding unit obtained by dividing the slice (macroblock or coding unit (Coding Unit)) And is managed by a hierarchical structure composed of blocks and partitions obtained by dividing an encoding unit, and is normally encoded block by block.
  • a predicted image is usually generated based on a local decoded image obtained by encoding / decoding an input image, and a difference image between the predicted image and the input image (“ “Sometimes referred to as” residual image "or” predictive residual ").
  • inter prediction inter-screen prediction
  • intra-screen prediction intra-screen prediction
  • intra prediction predicted images in a corresponding frame are sequentially generated based on a locally decoded image in the same frame.
  • any prediction direction is selected from prediction directions included in a predetermined prediction direction (prediction mode) group for each prediction unit (for example, partition), and is also referred to in the local decoded image.
  • prediction direction prediction direction
  • partition prediction unit
  • extrapolating the pixel value of the pixel in the selected prediction direction a predicted pixel value on the prediction target region is generated.
  • inter prediction by applying motion compensation using a motion vector to a reference image in a reference frame (decoded image) obtained by decoding the entire frame, a prediction image in a prediction target frame is converted into a prediction unit. Generated every time.
  • a decoded image or an image obtained by performing a block noise reduction process on the decoded image is used as an input image, and noise is generated by performing a filtering process using an optimized filter coefficient on the input image.
  • a technique called an adaptive loop filter (hereinafter also referred to simply as “adaptive filter”) that generates a reduced decoded image (decoded image with reduced noise) is also known. It is also possible to generate a predicted image using the noise-reduced decoded image output from the filter as a reference image.
  • the filter coefficient group is optimized by the encoding device so as to minimize the error between the noise-reduced decoded image and the encoding target image, for example, for each slice. It is transmitted to the decoding device as part of the data.
  • the adaptive filter as described above is also referred to as a one-input type adaptive filter.
  • the input image is not limited to the decoded image, but the decoded image, the prediction residual, and the predicted image are used as the input image, and the noise has been reduced by acting on all of the plurality of input images.
  • a multi-input type adaptive filter that generates a decoded image is disclosed.
  • the adaptive filter disclosed in Non-Patent Document 2 operates on all of a plurality of input images, the number of filter coefficients to be optimized increases compared to a configuration in which only a decoded image is used as an input image. Therefore, the noise-reduced decoded image generated by the adaptive filter disclosed in Non-Patent Document 2 has an error from the encoding target image as compared with that generated by the adaptive filter using only the decoded image as an input image. Since it tends to be smaller, it is possible to improve the prediction accuracy and the encoding efficiency.
  • the multi-input type adaptive filter disclosed in Non-Patent Document 2 has a problem that the time required for filter processing increases because it operates on all of a plurality of input images.
  • the processing amount of the filter processing is smaller than that of the multi-input type adaptive filter, but the encoding efficiency is higher than that of the multi-input type.
  • the encoding efficiency is higher than that of the multi-input type.
  • it is lower than that of an adaptive filter.
  • the present invention has been made on the basis of the knowledge obtained by the inventor in view of the above problems, and its purpose is to maintain high coding efficiency when there are a plurality of usable input images.
  • An object of the present invention is to realize an image filter device capable of reducing the processing amount necessary for the filter processing, and a decoding device and an encoding device including such an image filter device.
  • the inventor does not act on all of the plurality of input images depending on the characteristics of the image to be encoded, but acts on a part of the plurality of input images to achieve high coding efficiency. It was found that the amount of filter processing can be effectively reduced while maintaining the above.
  • an image filter device is an image filter device that generates one output image by acting on one or a plurality of input images, and can be used as an input image.
  • Selection means for selecting one or a plurality of input images designated by input image designation information associated with the plurality of input image candidates, and one or a plurality of input images selected by the selection means
  • a filter means for generating an output image by applying a filter using a filter coefficient group determined for the one or a plurality of input images is provided.
  • the image filter device configured as described above selects an input image designated by the input image designation information from among a plurality of input image candidates that can be used as an input image, and the selected input image Filter processing for.
  • the input image designation information is associated with the plurality of input image candidates, it is possible to designate a combination of input images on which the filter means acts for each set of input image candidates.
  • an encoding target image and the image filter device are used as a combination of input image candidates and a filter coefficient group used for filter processing. It is possible to employ a configuration in which an image determined so as to minimize a difference from an output image generated by the. Since the output image generated by the image filter device with reference to such input image designation information is used as a reference image, the encoding device and the decoding device can generate a prediction image with high prediction accuracy. The amount of filter processing can be reduced while maintaining high coding efficiency.
  • a decoding device is a decoding device that decodes encoded data and generates an output image, and includes the image filter device and predicted image generation means for generating a predicted image, and the image filter device. Is a decoded image obtained by adding the residual image decoded from the encoded data to the predicted image generated by the predicted image generation means, and noise obtained by subjecting the decoded image to noise reduction processing Among the reduced decoded images, at least one designated by the input image designation information decoded from the encoded data is set as an input image, and an output image is generated by acting on the input image.
  • the image filter device included in the decoding device configured as described above includes at least one of the decoded image and the noise-reduced decoded image specified by the input image specifying information decoded from the encoded data.
  • An output image is generated by acting on the input image as an input image.
  • the image filter device since the image filter device performs a filtering process using the filter coefficient determined for the input image, high output efficiency is maintained by generating an output image having a small difference from the encoding target image. There is an effect that can be.
  • the filter device takes both the decoded image and the noise-reduced decoded image as input images and acts on the input image, the contribution ratio of the decoded image to the output image, and the output image Since the output image is generated using the filter coefficient group in which the ratio of the contribution of the noise-reduced decoded image is determined, the noise reduction process that is too strong or the noise reduction process that is too weak for the decoded image is performed. Even when a noise-reduced decoded image is generated, an appropriate output image can be generated without being affected by such influence.
  • the encoding device having the same configuration as the above configuration can generate a predicted image with reference to an output image having a small difference from the encoding target image, encoded data with high encoding efficiency. Can be generated. Moreover, according to the decoding apparatus having the above configuration, it is possible to appropriately decode such encoded data with high encoding efficiency.
  • the decoding device configured as described above, it is possible to reduce the amount of processing necessary for the filter processing, compared to a configuration in which filter processing is always performed on both the decoded image and the noise-reduced decoded image. There is an effect that can be done.
  • an image obtained by performing either or both of a nonlinear denoising process and a deblocking process for reducing block noise on the decoded image can be used.
  • An encoding device is an encoding device that generates encoded data by encoding a residual image between an encoding target image and a predicted image, and generates the predicted image by the image filter device.
  • the image filter device adds the residual image to the prediction image generated by the prediction image generation unit.
  • At least one designated by the input image designation information is used as an input image, and acts on the input image.
  • an output image is generated, and the predicted image generation means generates a predicted image with reference to the decoded image or the output image.
  • the filter device takes both the decoded image and the noise-reduced decoded image as input images and acts on the input image, the contribution ratio of the decoded image to the output image, and the output image Since the output image is generated using the filter coefficient group in which the ratio of contribution of the noise-reduced decoded image is optimized, noise reduction processing that is too strong or too weak for the decoded image is performed. Even if a noise-reduced decoded image is generated by this, there is an effect that an appropriate output image can be generated without being affected by such influence.
  • the encoding device having the above configuration can generate a predicted image with reference to an output image having a small difference from the encoding target image, it can generate encoded data with high encoding efficiency. Can do.
  • the amount of processing necessary for the filtering process can be reduced as compared with the configuration in which the filtering process is always performed on both the decoded image and the noise-reduced decoded image. There is an effect that can be.
  • the data structure of encoded data according to the present invention is a data structure of encoded data referred to by a decoding device including an image filter device that generates one output image by acting on one or a plurality of input images, Used for residual data indicating a residual image between an encoding target image and a predicted image, input image designation information for designating one or a plurality of input images on which the image filter device acts, and filter processing by the image filter device A filter coefficient group for each of the one or a plurality of input images, wherein the image filter device includes a plurality of input image candidates from a plurality of input image candidates that can be used as input images. Select one or more input images specified by the input image specification information associated with the image candidate, and select one or more selected inputs To generate an output image by applying a filter using the filter coefficient group to the image is characterized by.
  • An image filter device included in a decoding device that decodes encoded data configured as described above selects an input image specified by the input image specifying information from among a plurality of input image candidates that can be used as an input image. Filter processing is performed on the selected input image.
  • the input image designation information is associated with the plurality of input image candidates, it is possible to designate a combination of input images on which the filter means acts for each set of input image candidates.
  • the decoding device can generate a predicted image with high prediction accuracy. It is possible to reduce the amount of filter processing while maintaining efficiency.
  • a decoding apparatus is a decoding apparatus that decodes encoded data obtained by encoding a residual image between an encoding target image and a predicted image, and generates an output image.
  • a predicted image generating means for generating an image
  • an image filter device for generating one output image by acting on one or a plurality of input images, wherein the image filter device is generated by the predicted image generating means.
  • the image filter device included in the decoding device configured as described above is configured to output one or a plurality of input images selected from the predicted image, the residual image, the decoded image, and the noise-reduced decoded image.
  • the output image is generated by applying a filter using a filter coefficient group, and the combination of the input images and the filter coefficient group reduce the difference between the encoding target image and the output image. Therefore, it is possible to reduce the amount of processing necessary for the filter processing while maintaining high encoding efficiency.
  • the inventor has obtained knowledge regarding an efficient prediction method related to a filter coefficient used in an adaptive filter capable of inputting a plurality of types of signals.
  • a video decoding apparatus includes an adaptive filter that can input a plurality of types of signals, a variable-length code decoding unit that performs variable-length code decoding of a filter coefficient from encoded data, And a filter coefficient prediction unit that calculates a prediction value of a filter coefficient to be decoded using a decoded filter coefficient, wherein the filter coefficient prediction unit has a contribution rate determined for each filter coefficient, Weight coefficient sum calculating means for calculating a weight coefficient sum calculated by a product sum with a filter coefficient is provided.
  • the moving picture coding apparatus includes an adaptive filter that can input a plurality of types of signals, and a filter coefficient prediction unit that calculates a prediction value of the filter coefficient of the prediction target using a filter coefficient other than the prediction target.
  • the filter coefficient prediction unit includes weight coefficient sum calculation means for calculating a weight coefficient sum calculated by a product sum of a contribution rate determined for each filter coefficient and the filter coefficient. It is characterized by that.
  • the moving picture coding apparatus configured as described above can accurately predict the filter coefficient by the weight coefficient sum calculation means applicable even when there are a plurality of types of signals as the input image. Is possible. Therefore, the code amount of the filter coefficient encoded as the prediction difference value can be reduced.
  • the data structure of the encoded data according to the present invention is a data structure of encoded data including adaptive filter information including a filter coefficient set including a filter coefficient related to a decoded image and a filter coefficient related to a post-NRF image.
  • the filter coefficient applied to at least the central element of the post-NRF image is a difference value predicted using a weight coefficient sum calculated from other than the filter coefficient applied to the central element of the post-NRF image.
  • the data structure of the encoded data according to the present invention includes a code including adaptive filter information including a filter coefficient set including a filter coefficient for a predicted image, a filter coefficient for a residual image, and a filter coefficient for an image after NRF.
  • at least the filter coefficient applied to the central element of the post-NRF image is a difference value predicted using a weight coefficient sum calculated from other than the filter coefficient applied to the central element of the post-NRF image It is characterized by that.
  • the encoded data according to the present invention configured as described above is encoded as a differential value in which the filter coefficient relating to the central element of the post-NRF image, which often has the largest value, is accurately predicted. Therefore, the encoded data is obtained by reducing the code amount of the filter coefficient.
  • the image filter device is an image filter device that generates one output image by acting on one or a plurality of input images, and a plurality of input image candidates that can be used as input images. From the selection means for selecting one or a plurality of input images designated by the input image designation information associated with the plurality of input image candidates, and the one or a plurality of input images selected by the selection means, Filter means for generating an output image by applying a filter using a filter coefficient group determined for the one or a plurality of input images.
  • the moving picture decoding apparatus includes an adaptive filter capable of inputting a plurality of types of signals, a variable length code decoding unit that performs variable length code decoding of a filter coefficient from encoded data, and a decoded filter coefficient. And a filter coefficient prediction unit that calculates a prediction value of a filter coefficient to be decoded using the filter coefficient prediction unit, wherein the filter coefficient prediction unit is a product sum of a contribution rate and a filter coefficient determined for each filter coefficient. Weight coefficient sum calculation means for calculating the calculated weight coefficient sum is provided.
  • the moving picture coding apparatus includes an adaptive filter that can input a plurality of types of signals, and a filter coefficient prediction unit that calculates a prediction value of the filter coefficient of the prediction target using a filter coefficient other than the prediction target.
  • the filter coefficient prediction unit includes weight coefficient sum calculation means for calculating a weight coefficient sum calculated by a product sum of a contribution rate determined for each filter coefficient and the filter coefficient. ing.
  • the moving picture coding apparatus and the moving picture decoding apparatus accurately calculate the filter coefficient by the weight coefficient sum calculation means that can be applied even when a plurality of types of signals can exist as an input image. It is possible to predict. Therefore, the code amount of the filter coefficient encoded as the prediction difference value can be reduced. Therefore, encoding efficiency can be improved.
  • FIG. 5B is a diagram illustrating a configuration of a slice layer included in a picture layer
  • FIG. 5C is a diagram illustrating a configuration of an LCU layer included in the slice layer.
  • (D) is a figure which shows the structure of the LCU header contained in an LCU layer
  • (e) is a figure which shows the structure of the prediction parameter regarding an inter prediction partition among the prediction parameters contained in an LCU layer
  • (F) is a figure which shows the structure of the prediction parameter regarding an intra prediction partition among the prediction parameters contained in a LCU layer
  • (g) Is a diagram showing a configuration of a filter parameters included in the slice header. It is a figure which shows the 1st structural example of the filter parameter which is produced
  • (B) is a diagram showing a one-dimensional configuration in the encoded data when the number of filter coefficients is five
  • (b) is a diagram showing a one-dimensional configuration in the encoded data when there are five filter coefficients.
  • (c) is a diagram illustrating a one-dimensional configuration in the encoded data when the number of filter coefficients is 13
  • (d) is a diagram illustrating how the filter reference region is obtained when the number of filter coefficients is one. It is a figure which shows the mode of allocation, (e) is a figure which shows the mode of allocation to a filter reference area in case the number of filter coefficients is 5, (f) is a figure which shows the number of filter coefficients of 13 Filter reference It shows an aspect of the allocation to the regions.
  • FIG. 9 is a diagram for explaining processing by a loop filter included in the video decoding device according to the first embodiment, and includes various flags included in the second configuration example of the filter parameter and an adaptive filter unit included in the loop filter. It is a table
  • FIG. 1 It is a block diagram which shows the 1st structural example of the noise removal filter part with which the moving image encoder and moving image decoder which concern on embodiment of this invention are provided. It is for demonstrating the noise removal filter part with which the moving image encoding apparatus and moving image decoding apparatus which concern on embodiment of this invention are provided, Comprising: (a) shows the 2nd structural example of a noise removal filter part. It is a block diagram and (b) is a figure which shows the pixel referred in the process of a noise removal filter part. It is for demonstrating the noise removal filter part with which the moving image encoding apparatus and moving image decoding apparatus which concern on embodiment of this invention are provided, Comprising: (a) shows the 3rd structural example of a noise removal filter part.
  • FIG. 1 is a diagram for explaining a noise removal filter unit included in a video encoding device and a video decoding device according to an embodiment of the present invention
  • FIG. (B) is a table showing the correspondence between the parameters ⁇ and t c used in the processing by the fourth configuration example of the noise removal filter unit and the quantization parameter qp.
  • the encoded data # 1 has a hierarchical structure including a sequence layer, a GOP (Group Of Pictures) layer, a picture layer, a slice layer, and a maximum coding unit (LCU: Large Coding Unit) layer.
  • GOP Group Of Pictures
  • LCU Large Coding Unit
  • FIG. 2 shows the hierarchical structure below the picture layer in the encoded data # 1.
  • 2A to 2G are a picture layer P, a slice layer S, an LCU layer LCU, an LCU header LCUH, a prediction parameter PP of an inter prediction (inter prediction), an intra prediction (intra prediction) partition, respectively. It is a figure which shows the structure of the prediction parameter PP of this, and the filter parameter FP.
  • the picture layer P is a set of data referred to by the video decoding device 1 in order to decode the target picture. As shown in FIG. 2A, the picture layer P includes a picture header PH and slice layers S1 to SNs (Ns is the total number of slice layers included in the picture layer P).
  • Each slice layer S included in the picture layer P is a set of data referred to by the video decoding device 1 in order to decode the target slice.
  • the slice layer S includes a slice header SH and LCU layers LCU1 to LCUn (Nc is the total number of LCUs included in the slice S).
  • the slice header SH includes a coding parameter group that the moving image decoding apparatus 1 refers to in order to determine a decoding method of the target slice.
  • Slice type designation information (slice_type) for designating a slice type is an example of an encoding parameter included in the slice header SH.
  • the slice header SH includes a filter parameter FP used by the loop filter.
  • slice types that can be specified by the slice type specification information, (1) I slice using only intra prediction at the time of encoding, and (2) P using unidirectional prediction or intra prediction at the time of encoding. Slice, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding.
  • Each LCU layer LCU included in the slice layer S is a set of data referred to by the video decoding device 1 in order to decode the target LCU.
  • Each LCU is divided into quadtrees into a plurality of coding units (CU).
  • the size of each CU is determined by the size of the LCU and the hierarchical depth (hierarchial depth) included in the sequence parameter set SPS of the encoded data # 1.
  • the CU included in the LCU has five types of sizes, that is, 128 ⁇ 128 pixels, 64 ⁇ 64 pixels, Any of 32 ⁇ 32 pixels, 16 ⁇ 16 pixels, and 8 ⁇ 8 pixels can be taken.
  • a CU (CU leaf) that cannot be further divided is treated as a prediction unit (PU).
  • PU prediction unit
  • For each PU a prediction type and partitioning (PU Splitting) are defined, and a prediction image is generated for each partition.
  • the prediction type either intra prediction or inter prediction can be selected, and the division of each PU into partitions is determined according to the prediction type selected for the PU.
  • a PU to which intra prediction is applied is also referred to as an intra PU
  • a PU to which inter prediction is applied is also referred to as an inter PU.
  • the intra PU can be divided into two types of partitions of 2N ⁇ 2N pixels and N ⁇ N pixels.
  • the inter PU has 4 symmetric splittings of 2N ⁇ 2N pixels, 2N ⁇ N pixels, N ⁇ 2N pixels, and N ⁇ N pixels, and 2N ⁇ nU pixels, 2N ⁇ nD pixels, It is possible to divide into 8 types of partitions in total by four asymmetric splittings of nL ⁇ 2N pixels and nR ⁇ 2N pixels.
  • the specific value of N is defined by the size of the CU to which the PU belongs, and the specific values of nU, nD, nL, and nR are determined according to the value of N.
  • a 128 ⁇ 128 pixel CU can be divided into 128 ⁇ 128 pixel and 64 ⁇ 64 pixel intra prediction partitions, and 128 ⁇ 128 pixels, 128 ⁇ 64 pixels, 64 ⁇ 128 pixels, It is also possible to divide into 64 ⁇ 64, 128 ⁇ 32, 128 ⁇ 96, 32 ⁇ 128, and 96 ⁇ 128 pixel inter prediction partitions.
  • a CU (CU leaf) that cannot be further divided can be divided into one or a plurality of transform units (TU).
  • the conversion unit is a unit of frequency conversion (for example, DCT conversion described later) and quantization.
  • a leaf of a CU is divided into TUs by binary tree division. Information indicating the maximum size that the TU can take and the maximum depth of the binary tree division is included in the encoded data # 1.
  • Each TU can be, for example, a size from 64 ⁇ 64 pixels to 2 ⁇ 2 pixels.
  • the LCU layer LCU includes (1) a skip flag SKIP, (2) an LCU header LCUH, (3) prediction parameters PP1 to PPNP allocated to each partition, and (4) each Quantization prediction errors QD1 to QDNb assigned to the TU are included.
  • Np represents the total number of partitions included in the target LCU
  • Nb represents the total number of TUs included in the target LCU.
  • the LCU header LCUH includes an encoding parameter referred to by the video decoding device 1 in order to determine a decoding method of the target LCU.
  • LCU type designation information LCUT (mb_type) for designating the LCU type of the target LCU, CBP (coded_block_pattern) for designating the coding block pattern, and the size of the quantization step includes a quantization parameter difference ⁇ qp (mb_qp_delta).
  • the LCU type designation information LCUT includes prediction unit designation information PT and conversion unit designation information TT.
  • the prediction unit designation information PT includes the division pattern of the target LCU into partitions (that is, the size of each partition included in the target LCU and the position in the target LCU), and the video encoding device 2 uses the prediction in each partition. Specify the prediction method (L0 unidirectional prediction, L1 unidirectional prediction, bidirectional prediction, intra prediction, etc.) used when generating the image.
  • the conversion unit designation information TT designates the division pattern (that is, the size of each TU included in the target LCU and the position in the target LCU) of the target LCU.
  • TU is also referred to as a block.
  • the quantization parameter difference ⁇ qp is a difference qp ⁇ qp ′ between the quantization parameter qp in the target LCU and the quantization parameter qp ′ in the LCU encoded immediately before the LCU.
  • Each quantized prediction residual QDn included in the LCU layer LCU is encoded data generated by applying the following processes 1 to 3 to the target block by the moving image encoding apparatus 2.
  • Process 1 DCT transform (Discrete Cosine Transform) is performed on the prediction residual obtained by subtracting the prediction image from the encoding target image.
  • Process 2 The DCT coefficient obtained in Process 1 is quantized.
  • Process 3 The DCT coefficient quantized in Process 2 is variable length encoded.
  • the prediction parameter PP related to the intra prediction partition for which a prediction image is generated by intra prediction includes a prediction index PI as shown in FIG.
  • the prediction index PI is an index for designating an intra prediction method (prediction mode) for the target partition.
  • the moving picture encoding device 2 that generates the encoded data # 1 calculates an estimated value of the prediction index for the target partition based on the prediction index of the partition around the target partition, and the estimated value and the A configuration may be adopted in which a flag indicating whether or not the prediction index for the target partition is the same is included in the encoded data # 1. With such a configuration, when the estimated value and the prediction index for the target partition are the same, encoding of the prediction index for the target partition can be omitted.
  • the slice header SH included in the encoded data # 1 includes a filter parameter FP that is referred to by a loop filter included in the video decoding device 1.
  • the configuration of the filter parameter FP is roughly described as follows. The configuration of the filter parameter FP will be described in detail in the description of the video decoding device 1.
  • the filter parameter FP includes filter control information (input image designation information) referred to for controlling the loop filter included in the video decoding device 1 for each slice, and filter coefficient group 1 to filter coefficient group Nf.
  • Nf is the total number of filter coefficient groups included in the filter parameter FP.
  • Each filter coefficient group includes a filter coefficient and an offset.
  • each filter coefficient and offset may be encoded as they are, or may be encoded (predictive encoding) as a difference from the predicted value.
  • the filter control information is information for designating an input image to the loop filter provided in the video decoding device 1. Further, the total number of filter coefficient groups included in the filter parameter FP is equal to the type of image referred to in the adaptive filter processing by the loop filter provided in the video decoding device 1. Note that the loop filter included in the moving image decoding apparatus 1 includes a noise removal filter unit for removing noise in the decoded image, and the filter control information includes information for designating on / off of the noise removal filter. .
  • the filter control information may be, for example, information (loop filter mode) for designating a combination of input images to the loop filter, and whether or not to input each of the plurality of input images to the loop filter. It may be information composed of a specified flag.
  • information for specifying a default input image that is constantly used for adaptive filter processing and an additional input image that is additionally used for adaptive filter processing are specified. It is good also as a structure containing information.
  • the filter control information may not be included in the slice header but may be included in the sequence header that is header information about the sequence, and the loop filter included in the video decoding device 1 may be controlled for each sequence.
  • the memory size used for adaptive filter processing can be reduced in decoding the entire sequence.
  • the moving picture decoding apparatus 1 includes H.264 as a part thereof. H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 1 is a block diagram showing a configuration of the moving picture decoding apparatus 1.
  • the moving picture decoding apparatus 1 includes a variable length code decoding unit 11, a predicted image generation unit 12, an inverse quantization / inverse conversion unit 13, an adder 14, a frame memory 15, and a loop filter 16. Yes.
  • the moving picture decoding apparatus 1 is an apparatus for generating moving picture # 2 by decoding encoded data # 1.
  • variable length code decoding unit 11 decodes the LCU type designation information LCUT from the encoded data # 1, and supplies this to the predicted image generation unit 12. (Not shown). Further, the variable length code decoding unit 11 decodes the quantization prediction residual QD for each block (transform unit) and the quantization parameter difference ⁇ qp for the LCU including the block from the encoded data # 1, and reverses them. This is supplied to the quantization / inverse transform unit 13. Further, the variable length code decoding unit 11 decodes the filter parameter FP from the encoded data # 1 and supplies this to the loop filter 16.
  • the predicted image generation unit 12 identifies whether each partition is an inter prediction partition that should perform inter prediction or an intra prediction partition that should perform intra prediction based on the LCU type designation information LCUT. In the former case, the inter prediction image Pred_Inter is generated, and the generated inter prediction image Pred_Inter is supplied to the adder 14 as the prediction image Pred. In the latter case, the intra prediction image Pred_Intra is generated, The generated intra predicted image Pred_Intra is supplied to the adder 14. Note that the predicted image generation unit 12 can omit the generation of the predicted image when the skip mode is applied to the processing target LCU.
  • the motion vector restoration unit restores the motion vector mv related to each inter prediction partition from the motion vector residual MVD related to that partition and the restored motion vector mv ′ related to another partition. Specifically, (1) the estimated motion vector pmv is derived from the restored motion vector mv ′ according to the estimation method specified by the estimated motion vector index PMVI, and (2) the derived estimated motion vector pmv and the motion vector remaining are derived. The motion vector mv is obtained by adding the difference MVD. It should be noted that the restored motion vector mv ′ relating to other partitions can be read from the frame memory 15. The motion vector restoration unit supplies the restored motion vector mv together with the corresponding reference image index RI to the inter predicted image generation unit.
  • the intra predicted image generation unit generates a predicted image Pred_Intra related to each intra prediction partition. Specifically, first, a prediction mode is specified based on the prediction index PI supplied from the variable-length code decoding unit 11, and the specified prediction mode is assigned to the target partition in, for example, raster scan order. Subsequently, a predicted image Pred_Intra is generated from the decoded image P by intra prediction according to the prediction method indicated by the prediction mode. The intra predicted image Pred_Intra generated by the intra predicted image generation unit is supplied to the prediction method determination unit.
  • the intra predicted image generation unit can also be configured to generate a predicted image Pred_Intra from the adaptive filtered decoded image P_ALF by intra prediction.
  • Direction prediction A method of generating a predicted image Pred_Intra in the target partition by extrapolating pixel values of pixels around the target partition in a direction (prediction direction) indicated by a prediction mode assigned to the target partition. It is sometimes called Angular Prediction. Moreover, a prediction direction may be designated by (dx, dy), and in that case, it may be called an arbitrary direction intra (Arbitrary Directional Intra (ADI)).
  • ADI Arbitr Directional Intra
  • the pixel value of the pixel in the target partition and in the rightmost column (hereinafter referred to as “rightmost column pixel”) is set as the pixel in the target partition and the pixel in the lowermost right (hereinafter referred to as “ By linear interpolation of the pixel value of the lower right pixel) and the pixel value of the pixel in the target partition adjacent to the uppermost pixel located in the upper right corner
  • the pixel value of the pixel in the lowermost row (hereinafter referred to as the “lowermost row pixel”) generated in the target partition, the pixel value of the lower right pixel, and the pixel in the target partition
  • the pixel value of the pixel adjacent to the left side of the pixel located at the bottom left is generated by linear interpolation, and the pixel values of the other pixels in the target partition are calculated as the rightmost column.
  • Pixel image Elementary value pixel value of the bottom row pixel, pixel value of the pixel adjacent to the left side of the pixel in the leftmost column of the target partition, and pixel of the pixel adjacent to the top side of the pixel of the uppermost column of the target partition.
  • Planar prediction Sometimes called Planar prediction.
  • TM prediction An inverted L-shaped template region is set on the upper side and the left side of the target partition, and an image of a region defined by an inverted L-shaped region that is most similar to the image in the template region is obtained as a predicted image Pred_Intra in the target partition. And how to. Sometimes referred to as Template Matching Prediction.
  • the image data of the reduced image is generated by inverse quantization and frequency conversion of the quantized coefficient of the reduced image down-sampled by the moving image encoding device, and the average value of the pixel values of the partitions around the target partition And a method of generating a predicted image Pred_Intra in the target partition by performing upsampling after adding the image data of the reduced image. It is sometimes called scaling prediction (Scaling Prediction).
  • Edge prediction A method of generating a predicted image Pred_Intra in a target partition by detecting edges in the peripheral image of the target partition by a Sobel filter and extrapolating the peripheral image along a direction indicated by the edge. Sometimes referred to as edge based prediction.
  • the generation of the prediction residual D by the inverse quantization / inverse transform unit 13 is performed in units of blocks (transform units).
  • the adder 14 generates the decoded image P by adding the prediction image Pred supplied from the prediction image generation unit 12 and the prediction residual D supplied from the inverse quantization / inverse conversion unit 13.
  • the generated decoded image P is supplied to the loop filter 16 and stored in the frame memory 15.
  • the noise-removed decoded image P_NR and the adaptive filtered decoded image P_ALF generated by the loop filter 16 are associated with the POC designation information decoded from the encoded data # 1 by the variable length code decoding unit 11, and the frame memory 15 Stored in A moving image composed of the adaptive filtered decoded image P_ALF is output to the outside of the moving image decoding apparatus 1 as a moving image # 2.
  • the filter control unit 161 decodes the encoded data # 1, and based on the filter control information included in the filter parameter FP supplied from the variable length code decoding unit 11, each unit of the loop filter 16 To control. Further, the filter control unit 161 supplies the decoded image P and the number of input signals information to the adaptive filter memory 162 based on the filter control information.
  • the adaptive filter unit 163 receives the decoded image P, the denoised decoded image P_NR, and the filter parameter FP, and supplies the adaptive filtered decoded image P_ALF to the frame memory 15.
  • the noise removal filter unit 164 generates a noise-removed decoded image P_NR by performing noise removal processing on the decoded image P, and supplies it to the frame memory 15.
  • the configuration of the noise removal filter unit 164 will be described later and will not be described here.
  • the loop filter 16 refers to the filter parameter FP decoded from the encoded data # 1 by the variable length code decoding unit 11 and selectively performs any of a plurality of processes listed below.
  • the loop filter 16 determines which of the plurality of processes is to be performed with reference to the filter control information included in the filter parameter FP.
  • the loop filter 16 may be configured to selectively perform one of a plurality of processes listed below for each sequence, for each GOP (Group Of Pictures), for each picture, or for each LCU.
  • FIG. 3 is a diagram illustrating a first configuration example of the filter parameter FP (loop_filter_param) decoded from the encoded data # 1 and referred to by the loop filter 16.
  • the first configuration example of the filter parameter FP includes a plurality of syntaxes (loop_filter_mode, alf_length_default_minus5_div2, alf_coeff_default [i], alf_length_raw_minus5_div2, and alf_coeff_raw [i]).
  • Loop_filter_mode is a syntax for defining the content of the filter processing by the loop filter 16, and corresponds to the filter control information described above.
  • possible values of loop_filter_mode are 0-4.
  • Alf_coeff_default [i] is a syntax indicating a filter coefficient of a filter acting on an image stored in the frame memory 15.
  • alf_coeff_default [i] may include an offset of a filter acting on an image stored in the frame memory 15.
  • the set of alf_coeff_default [i] constitutes a filter coefficient group G_coeff_default of a filter that acts on an image stored in the frame memory 15.
  • alf_length_default_minus5_div2 and alf_coeff_default [i] are decoded by the variable-length code decoding unit 11 when loop_filter_mode is 2, 3, or 4.
  • alf_length_raw_minus5_div2 and alf_coeff_raw [i] are decoded by the variable-length code decoding unit 11 when loop_filter_mode is 4.
  • the image stored in the frame memory 15 (for example, in the following processing example 1-1-3, the decoded image P, the processing examples 1-1-4 and 1-1-5).
  • the image stored in the frame memory 15 Indicates a case where the decoded image P_NR after noise removal is input to the adaptive filter unit 163, and the case where there is an additional input refers to an image stored in the adaptive filter memory 162 (for example, the following processing example) 1-1-5 indicates a case where the decoded image P) is input to the adaptive filter unit 163.
  • the filter control unit 161 sets the noise removal filter unit 164 to ON and sets the adaptive filter unit 163 to OFF. Therefore, when the loop filter mode is 1, the noise removal filter unit 164 generates the noise-removed decoded image P_NR, but the adaptive filter unit 163 does not generate the adaptive-filtered decoded image P_ALF.
  • the noise removal filter unit 164 performs noise removal processing on the decoded image P stored in the frame memory 15 to generate a noise-removed decoded image P_NR in the target slice.
  • the generated noise-removed decoded image P_NR is stored in the frame memory 15.
  • the filter control unit 161 does not store any image in the adaptive filter memory 162.
  • the loop filter 16 functions as a noise removal filter.
  • the filter control unit 161 sets the noise removal filter unit 164 to OFF and sets the adaptive filter unit 163 to ON. Therefore, when the loop filter mode is 2, the noise removal filter unit 164 does not generate the noise-removed decoded image P_NR, but the adaptive filter unit 163 generates the adaptive-filtered decoded image P_ALF.
  • the adaptive filter unit 163 performs filter processing using the filter coefficient and offset included in the filter parameter FP on the decoded image P stored in the frame memory 15, so that An adaptive filtered decoded image P_ALF is generated. More specifically, if the pixel value of the adaptive filtered decoded image P_ALF in the target slice is expressed as SALF (x ′, y ′) and the pixel value of the decoded image P is expressed as SP (x, y), then adaptive The filter unit 163 calculates the pixel value SALF (x ′, y ′) by the following formula (1).
  • the coordinates (x, y) may be the same coordinates as the coordinates (x ′, y ′), or may be different coordinates as long as they have a one-to-one correspondence.
  • aP (u, v) represents a filter coefficient to be multiplied by the pixel value SP (x + u, y + v) of the decoded image P among the filter coefficients included in the filter parameter FP of the encoded data # 1.
  • oP represents an offset used for filter processing of the decoded image P among offsets included in the filter parameter FP of the encoded data # 1. Note that specific values of the filter coefficient aP (u, v) and the offset oP are specified by the syntax alf_coeff_default [i] included in the filter parameter FP.
  • RP indicates a region referred to in the filter processing by the adaptive filter unit 163 in this processing example (hereinafter also referred to as “filter reference region RP”).
  • the filter reference region RP is set on the decoded image P in accordance with the position of the pixel (filter target pixel) that is the target for calculating the filtered pixel value.
  • the size of the filter reference region RP is specified by the syntax alf_length_default_minus5_div2 included in the filter parameter FP.
  • FIGS. 5A to 5C show a one-dimensional configuration in the encoded data # 1 of each filter coefficient included in the filter coefficient group G_coeff_default in the filter parameter FP.
  • FIG. 5A shows the filter coefficient.
  • (B) is a diagram showing a case where the number of filter coefficients is five, and (c) is a case where the number of filter coefficients is thirteen.
  • FIG. 5D to 5F are assigned to the respective pixels of the filter reference region RP when the filter reference region RP is 1 ⁇ 1 pixel, 3 ⁇ 3 pixel, and 5 ⁇ 5 pixel, respectively.
  • FIG. 5D shows the case where the number of filter coefficients is one as shown in FIG. 5A
  • FIG. 5E shows the number of filter coefficients.
  • FIG. 5B is a diagram in the case where the number is 5
  • one filter coefficient a0 included in the filter coefficient group G_coeff_default is one pixel included in the filter reference region RP. Allocated to the filter target pixel.
  • the filter reference region RP when the filter reference region RP is 3 ⁇ 3 pixels, five filter coefficients a0 to a5 included in the filter coefficient group G_coeff_default are included in the filter reference region RP.
  • the pixels are assigned to have 180 degree rotational symmetry.
  • the pixel to which the filter coefficient a4 is assigned corresponds to the filter target pixel.
  • the filter reference region RP when the filter reference region RP is 5 ⁇ 5 pixels, 13 filter coefficients a0 to a12 included in the filter coefficient group G_coeff_default are included in the filter reference region RP.
  • the pixels are assigned to have 180 degree rotational symmetry.
  • the pixel to which the filter coefficient a12 is assigned corresponds to the filter target pixel.
  • the adaptive filter unit 163 in this processing example assigns each filter coefficient included in the filter coefficient group G_coeff_default to each pixel included in the filter reference region RP so as to have a rotational symmetry of 180 degrees. Can be configured. In such a configuration, if the number of pixels included in the filter reference region is M ⁇ M, the number of filter coefficients is reduced by using symmetry, and the number of necessary filter coefficients is ( M ⁇ M + 1) / 2.
  • the present processing example is not limited to such a configuration, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry.
  • the filter reference region RP may more generally be a region constituted by pixels whose city distance from the coordinate (x, y) is equal to or less than Ncb in units of pixels, or the coordinates (x, y). It may be a rectangular region of Nx ⁇ Ny taps centered on, or may be a region configured to include other pixels.
  • the filter control unit 161 does not store any image in the adaptive filter memory 162.
  • the filter control unit 161 sets both the noise removal filter unit 164 and the adaptive filter unit 163 to ON. Therefore, when the loop filter mode is 3, the noise removal filter unit 164 generates a noise-removed decoded image P_NR, and the adaptive filter unit 163 generates an adaptive-filtered decoded image P_ALF.
  • the noise removal filter unit 164 performs noise removal processing on the decoded image P stored in the frame memory 15 to generate a noise-removed decoded image P_NR in the target slice.
  • the generated noise-removed decoded image P_NR is stored in the frame memory 15.
  • the adaptive filter unit 163 performs filter processing using the filter coefficient and offset included in the filter parameter FP on the noise-removed decoded image P_NR stored in the frame memory 15. Then, an adaptive filtered decoded image P_ALF in the target slice is generated. More specifically, the pixel value of the adaptive filtered decoded image P_ALF in the target slice is represented as SALF (x ′, y ′), and the pixel value of the noise-removed decoded image P_NR is represented as SPNR (x, y). Then, the adaptive filter unit 163 calculates the pixel value SALF (x ′, y ′) by the following formula (2).
  • the coordinates (x, y) may be the same coordinates as the coordinates (x ′, y ′), or may be different coordinates as long as they have a one-to-one correspondence.
  • aPNR (u, v) represents a filter coefficient to be multiplied by the pixel value SPNR (x + u, y + v) of the decoded image P_NR after noise removal, among the filter coefficients included in the filter parameter FP of the encoded data # 1.
  • oPNR represents an offset used for the filtering process of the noise-removed decoded image P_NR among the offsets included in the filter parameter FP of the encoded data # 1. Note that specific values of the filter coefficient aPNR (u, v) and the offset oPNR are specified by each syntax alf_coeff_default [i] included in the filter parameter FP.
  • RPNR indicates a region (hereinafter also referred to as “filter reference region RPNR”) referred to in the filter processing by the adaptive filter unit 163 in the present processing example.
  • the filter reference region RPNR is set on the noise-removed decoded image P_NR according to the position of the pixel (filter target pixel) for which the pixel value after filtering is calculated.
  • the size of the filter reference region RPNR is specified by the syntax alf_length_default_minus5_div2 included in the filter parameter FP.
  • the adaptive filter unit 163 in this processing example includes each filter coefficient in the filter reference region RP so as to have a rotational symmetry of 180 degrees, as in the above-described (processing example 1-1-3). It can be set as the structure allocated with respect to each pixel.
  • the present processing example is not limited to such a configuration, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry.
  • the filter reference region RP may more generally be a region composed of pixels whose urban area distance from the coordinate (x, y) is Ncb ′ or less with the pixel as a unit, or the coordinates (x, y Nx ′ ⁇ Ny ′ tap-shaped rectangular area centering around ()), or an area configured to include other pixels.
  • the filter control unit 161 sets both the noise removal filter unit 164 and the adaptive filter unit 163 to ON. Therefore, when the loop filter mode is 4, the noise removal filter unit 164 generates a noise-removed decoded image P_NR, and the adaptive filter unit 163 generates an adaptive-filtered decoded image P_ALF.
  • the noise removal filter unit 164 performs noise removal processing on the decoded image P stored in the frame memory 15 to generate a noise-removed decoded image P_NR in the target slice.
  • the generated noise-removed decoded image P_NR is stored in the frame memory 15.
  • the adaptive filter unit 163 applies filter parameters to the noise-removed decoded image P_NR stored in the frame memory 15 and the decoded image P stored in the adaptive filter memory 162.
  • An adaptive filtered decoded image P_ALF in the target slice is generated by performing filter processing using the filter coefficient and offset included in the FP. More specifically, the pixel value of the adaptive filtered decoded image P_ALF in the target slice is represented as SALF (x ′, y ′), the pixel value of the noise-removed decoded image P_NR is represented as SPNR (x, y), and decoding is performed. If the pixel value of the image P is expressed as SP (x, y), the adaptive filter unit 163 calculates the pixel value SALF (x ′, y ′) by the following mathematical formula (3).
  • aP (u, v) represents a filter coefficient to be multiplied by the pixel value SP (x + u, y + v) of the decoded image P among the filter coefficients included in the filter parameter FP of the encoded data # 1.
  • a specific value of the filter coefficient aP (u, v) is specified by each syntax alf_coeff_raw [i] included in the filter parameter FP.
  • a specific value of the offset o (PNR, P) is designated by one or both of the syntaxes alf_coeff_default [i] and alf_coeff_raw [i] included in the filter parameter FP.
  • the filter reference region RPNR is set on the decoded image P_NR after noise removal according to the position of the pixel (filter target pixel) for which the pixel value after filtering is calculated.
  • the size of the filter reference region RPNR is specified by the syntax alf_length_default_minus5_div2 included in the filter parameter FP.
  • the filter reference region RP is set on the decoded image P in accordance with the position of the pixel (filter target pixel) that is the target for calculating the filtered pixel value.
  • the size of the filter reference region RP is specified by the syntax alf_length_raw_minus5_div2 included in the filter parameter FP.
  • the adaptive filter unit 163 in the present processing example sets the filter reference region RPNR and the filter reference so that each filter coefficient has a rotational symmetry of 180 degrees, as in (Processing Example 1-1-3) described above.
  • a configuration can be adopted in which each pixel included in the region RP is assigned.
  • the present processing example is not limited to such a configuration, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry. Also, the size and shape of the filter reference region RPNR may be different from the size and shape of the filter reference region RP.
  • the number of inputs to the adaptive filter unit 163 is two. That is, the adaptive filter unit 163 refers to both the noise-removed decoded image P_NR and the decoded image P. Therefore, compared to the case where the adaptive filtered decoded image P_ALF is calculated with reference to either the noise-removed decoded image P_NR or the decoded image P, the adaptive filtered decoded image that is more appropriate for generating the prediction image P_ALF can be generated. Therefore, the loop filter 16 performs the operation of this processing example, thereby comparing with the case where the adaptive filtered decoded image P_ALF is calculated with reference to either the noise-removed decoded image P_NR or the decoded image P. Encoding efficiency is improved.
  • the adaptive filter unit 163 refers to the decoded image P stored in the adaptive filter memory 162 and the noise-removed decoded image P_NR stored in the frame memory 15. Both the pixel value and the pixel value of the noise-removed decoded image P_NR are read in parallel, and the calculation of the first term and the calculation of the second term in Equation (3) can be performed in parallel. Therefore, the adaptive filter unit 163 performs the operation of this processing example, thereby comparing the pixel value of the decoded image P and the pixel value of the noise-removed decoded image P_NR from only the frame memory 15. High-speed filter processing can be performed.
  • the loop filter 16 can perform high-speed filter processing while improving encoding efficiency by performing the operation of this processing example.
  • FIG. 6 is a diagram illustrating a second configuration example of the filter parameter FP (loop_filter_param) decoded from the encoded data # 1 and referred to by the loop filter 16.
  • the second configuration example of the filter parameter FP includes a plurality of syntaxes (noise_reduction_filter_flag, adaptive_loop_filter_flag, alf_length_default_minus5_div2, alf_coeff_default [i], enable_another_input, alf_length_raw_minus5_div2, and alf_coeff).
  • the noise_reduction_filter_flag is a flag for designating ON / OFF of the noise removal filter unit 164.
  • the noise removal filter unit 164 is designated as OFF, and when the noise_reduction_filter_flag is 1, the noise removal filter unit 164 is designated as ON.
  • Adaptive_loop_filter_flag is a flag that specifies whether the adaptive filter unit 163 is on or off. When adaptive_loop_filter_flag is 0, the adaptive filter unit 163 is specified to be off. When adaptive_loop_filter_flag is 1, the adaptive filter unit 163 is specified to be on.
  • Alf_length_default_minus5_div2, AlfNumCoeffDefault, and alf_coeff_default [i] are the same as those described in the first configuration example of the filter parameter FP. Further, the set of alf_coeff_default [i] constitutes a filter coefficient group G_coeff_default of a filter that acts on an image stored in the frame memory 15 as described in the first configuration example of the filter parameter FP.
  • Alf_length_default_minus5_div2 and alf_coeff_default [i] are decoded by the variable-length code decoding unit 11 when adaptive_loop_filter_flag is other than 0.
  • enable_another_input is a flag that specifies whether or not there is an additional input to the adaptive filter unit 163. When enable_another_input is 0, no additional input to the adaptive filter unit 163 is instructed, and when enable_another_input is 1, to the adaptive filter unit 163 An additional input is instructed.
  • enable_another_input is decoded by the variable-length code decoding unit 11 when noise_reduction_filter_flag is 1 and adaptive_loop_filter_flag is other than 0.
  • Alf_length_raw_minus5_div2, AlfNumCoeffRaw, and alf_coeff_raw [i] are the same as those described in the first configuration example of the filter parameter FP. Further, the set of alf_coeff_raw [i] constitutes a filter coefficient group G_coeff_raw of the filter acting on the decoded image P as described in the first configuration example of the filter parameter FP.
  • Alf_length_raw_minus5_div2 and alf_coeff_raw [i] are decoded by the variable-length code decoding unit 11 when enable_another_input is 1.
  • FIG. 7 is a diagram for explaining processing by the loop filter 16, and includes values of a noise removal filter flag (noise_reduction_filter_flag), an adaptive filter flag (adaptive_loop_filter_flag), and an additional input flag (enable_another_input) included in the filter parameter FP.
  • the number of inputs to the adaptive filter unit 163 included in the loop filter 16, presence / absence of default input to the adaptive filter unit 163 (x indicates that there is a default input), and presence / absence of additional input to the adaptive filter unit 163 It is a table
  • the image stored in the frame memory 15 (for example, in the following processing example 1-2-3, the decoded image P, the processing examples 1-2-4 and 1-2-5) Indicates a case where the decoded image P_NR after noise removal is input to the adaptive filter unit 163, and the case where there is an additional input refers to an image stored in the adaptive filter memory 162 (for example, the following processing example) 1-2-5 indicates a case where the decoded image P) is input to the adaptive filter unit 163.
  • the loop filter 16 performs the following processing.
  • the loop filter 16 is controlled in the same manner as when the filter parameter FP is configured as in the first configuration example. be able to. Therefore, by configuring the filter parameter FP as in the second configuration example, the loop filter 16 increases the encoding efficiency as in the case where the filter parameter FP is configured as in the first configuration example. It is possible to perform high-speed filter processing while enhancing.
  • the moving picture encoding apparatus 2 includes H.264 as a part thereof. H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 8 is a block diagram showing the configuration of the moving picture coding apparatus 2.
  • the moving image encoding apparatus 2 includes a predicted image generation unit 21, a transform / quantization unit 22, an inverse quantization / inverse transform unit 23, an adder 24, a frame memory 25, a loop filter 26, a filter A parameter deriving unit 27, a variable length code encoding unit 28, and a subtractor 29 are provided.
  • the moving image encoding device 2 is a device that generates encoded data # 1 by encoding moving image # 10 (encoding target image).
  • the prediction image generation unit 21 divides the processing target LCU into one or a plurality of partitions, and generates an inter prediction image Pred_Inter using inter-screen prediction or an intra prediction image Pred_Intra using intra prediction for each partition. To do.
  • the generated inter prediction image Pred_Inter and intra prediction image Pred_Intra are supplied to the adder 24 and the subtractor 29 as the prediction image Pred.
  • the predicted image generation unit 21 may omit the predicted image generation process for the LCU to which the skip mode is applied. Also, (1) the mode of dividing the target LCU into partitions, (2) whether to apply the skip mode, and (3) which of the inter prediction image Pred_Inter and the intra prediction image Pred_Intra is generated for each partition Are determined to optimize coding efficiency.
  • generation of the intra estimated image by the intra estimated image generation part with which the moving image encoding apparatus 2 is provided can be performed by the process similar to the process with the intra estimated image generation part with which the moving image decoding apparatus 1 is provided.
  • the unit can read out the pixel value of each pixel constituting the adaptive filtered decoded image P_ALF ′ from the frame memory 25.
  • the motion vector detection unit supplies the detected motion vector mv to the inter prediction image generation unit and the motion vector redundancy deletion unit together with the reference image index RI that specifies the adaptive filtered decoded image P_ALF ′ used as the reference image.
  • the prediction method control unit compares the intra predicted image Pred_Intra and the inter predicted image Pred_Inter with the encoding target image, and selects whether to perform intra prediction or inter prediction.
  • the prediction scheme control unit supplies the intra prediction image Pred_Intra as the prediction image Pred to the adder 24 and the subtractor 29, and also uses the prediction index PI supplied from the intra prediction image generation unit as the prediction parameter PP. Is supplied to the variable-length code encoding unit.
  • the motion vector redundancy deletion unit deletes redundancy in the motion vector mv detected by the motion vector detection unit. Specifically, (1) an estimation method used for estimating the motion vector mv is selected, (2) an estimated motion vector pmv is derived according to the selected estimation method, and (3) the estimated motion vector pmv is subtracted from the motion vector mv. As a result, a motion vector residual MVD is generated. The motion vector redundancy deletion unit supplies the generated motion vector residual MVD to the prediction scheme control unit described above together with the estimated motion vector index PMVI indicating the selected estimation method.
  • the transform / quantization unit 22 performs (1) DCT transform (Discrete Cosine Transform) for each block (transform unit) on the prediction residual D obtained by subtracting the predicted image Pred from the encoding target image, and (2) obtains the DCT transform. The obtained DCT coefficients are quantized, and (3) the quantized prediction residual QD obtained by the quantization is supplied to the variable length code encoding unit 28 and the inverse quantization / inverse transform unit 23.
  • the transform / quantization unit 22 (1) selects a quantization step QP to be used for quantization for each LCU, and (2) sets a quantization parameter difference ⁇ qp indicating the size of the selected quantization step QP.
  • the variable length code encoding unit 28 is supplied, and (3) the selected quantization step QP is supplied to the inverse quantization / inverse transform unit 23.
  • the inverse quantization / inverse transform unit 23 (1) inversely quantizes the quantized prediction residual QD, (2) performs inverse DCT (Discrete Cosine Transform) transformation on the DCT coefficient obtained by the inverse quantization, and (3) The prediction residual D obtained by the inverse DCT transform is supplied to the adder 24.
  • the quantization prediction residual QD is inversely quantized, the quantization step QP supplied from the transform / quantization unit 22 is used.
  • the prediction residual D output from the inverse quantization / inverse transform unit 23 is obtained by adding a quantization error to the prediction residual D input to the transform / quantization unit 22. Common names are used for this purpose.
  • the adder 24 generates a (local) decoded image P by adding the prediction image Pred selected by the prediction scheme control unit to the prediction residual D generated by the inverse quantization / inverse transform unit 23. To do.
  • the (local) decoded image P generated by the adder 24 is supplied to the loop filter 26 and stored in the frame memory 25, and is used as a reference image in inter prediction.
  • variable-length code encoding unit 28 includes (1) a quantized prediction residual QD and ⁇ qp supplied from the transform / quantization unit 22, and (2) a quantum supplied from a prediction method control unit included in the predicted image generation unit 21.
  • the encoded data # 1 is generated by variable length encoding the encoding parameter PP and (3) the filter parameter FP supplied from the filter parameter deriving unit 27 described later.
  • the loop filter 26 includes a filter control unit 261, an adaptive filter memory 262, an adaptive filter unit 263, and a noise removal filter unit 264.
  • the filter control unit 261, the adaptive filter memory 262, the adaptive filter unit 263, and the noise removal filter unit 264 are respectively included in the filter control unit 161, the adaptive filter memory 162, and the loop filter 16 in the video decoding device 1.
  • the configuration is the same as that of the adaptive filter unit 163 and the noise removal filter unit 164, and the operation thereof has already been described.
  • “frame memory 15” and “filter parameter FP decoded from encoded data # 1” in the description of loop filter 16 are supplied from “frame memory 25” and “filter parameter deriving unit 27, respectively”. To "filter parameter FP".
  • the filter parameter derivation unit 27 (1) ON / OFF of each of the noise removal filter unit 264 and the adaptive filter unit 263, (2) Types of images to be input to the adaptive filter unit 263 included in the loop filter 26 and combinations thereof (either one or both of the decoded image P and the noise-removed decoded image P_NR), (3) The number of filter taps acting on the decoded image P, (4) Filter coefficient and offset acting on the decoded image P, (5) The number of filter taps acting on the noise-removed decoded image P_NR, (6) filter coefficients and offsets acting on the denoised decoded image P_NR, Are determined so that the coding efficiency is optimal.
  • Loop filter mode 0: When the noise removal filter unit 264 is turned off and the adaptive filter unit 263 is turned off.
  • Loop filter mode 1: When the noise removal filter unit 264 is turned on and the adaptive filter unit 263 is turned off.
  • Loop filter mode 2: When the noise removal filter unit 264 is turned off and the adaptive filter unit 263 is turned on, and the input image to the adaptive filter unit 263 is the decoded image P.
  • Loop filter mode 3: When the noise removal filter unit 264 is turned on and the adaptive filter unit 263 is turned on, and the input image to the adaptive filter unit 263 is the decoded image P_NR with the noise removed.
  • Loop filter mode 4: In this case, the noise removal filter unit 264 is turned on and the adaptive filter unit 263 is turned on.
  • the filter parameter when the loop filter mode is set to 2, 3, or 4
  • the operation by the deriving unit 27 is as follows.
  • the filter parameter deriving unit 27 calculates the filter coefficient aP (u, v) and offset oP of the filter acting on the decoded image P, and the error between the filtered image and the encoding target image (original image). Is determined to be minimum. For example, the filter coefficient aP (u, v) and the offset op are determined so that the square error E1 shown in the following formula (4) is minimized.
  • SP (x, y) represents the pixel value of the decoded image P
  • S0 (x, y) represents the pixel value of the encoding target image.
  • RP represents a filter reference area. The number of taps that define the size of the filter reference region RP is selected from among a plurality of candidates (for example, 1 tap, 3 taps, 5 taps, 7 taps, 9 taps) with the optimum encoding efficiency.
  • the sum of x and y represents the sum of all pixels included in the processing unit in which the filter parameter FP designates the loop filter mode. For example, when the filter parameter FP specifies the loop filter mode for each slice (or LCU), the sum for x and y is the sum for all pixels included in the slice (or the LCU). (The same applies hereinafter).
  • the filter coefficient aP (u, v) and the offset oP determined as described above are included in the filter parameter FP as syntax alf_coeff_default [i].
  • a parameter that specifies the number of taps of the filter reference region RP determined as described above is included in the filter parameter FP as alf_length_default_minus5_div2.
  • the filter parameter deriving unit 27 that performs the operation in this mode more generally uses the filter coefficient aP (u, v) and the offset oP of the filter acting on the decoded image P in the loop filter mode 2 as the filtered image. And the encoding target image (original image) are determined so as to be smaller.
  • the filter parameter deriving unit 27 calculates the filter coefficient aPNR (u, v) and offset oPNR of the filter acting on the noise-removed decoded image P_NR, the filtered image, and the encoding target image (original image). Is determined so as to minimize the error.
  • the filter coefficient aPNR (u, v) and the offset oPNR are determined so that the square error E2 shown in the following formula (5) is minimized.
  • SPNR (x, y) represents the pixel value of the noise-removed decoded image P_NR
  • S0 (x, y) represents the pixel value of the encoding target image.
  • RPNR represents the filter reference area. The number of taps defining the size of the filter reference region RPNR is selected from among a plurality of candidates (for example, 1 tap, 3 taps, 5 taps, 7 taps, 9 taps) with the optimum encoding efficiency. .
  • the filter coefficient aPNR (u, v) and the offset oPNR determined as described above are included in the filter parameter FP as syntax alf_coeff_default [i]. Also, the parameter that specifies the number of taps of the filter reference region RPNR determined as described above is included in the filter parameter FP as alf_length_default_minus5_div2.
  • the filter parameter deriving unit 27 that performs the operation in this mode more generally uses the filter coefficient aPNR (u, v) and the offset oPNR of the filter acting on the noise-removed decoded image P_NR in the loop filter mode 3. It can be expressed that it is determined so that the error between the subsequent image and the encoding target image (original image) becomes smaller.
  • the filter parameter deriving unit 27 filters the filter coefficient aPNR (u, v) acting on the noise-removed decoded image P_NR, the filter coefficient aP (u, v) acting on the decoded image P,
  • the offset o (PNR, P) is determined so that the error between the filtered image and the encoding target image (original image) is minimized.
  • the filter coefficient aPNR (u, v), the filter coefficient aP (u, v), and the offset o (PNR, P) are determined so that the square error E3 shown in the following formula (6) is minimized. .
  • SPNR (x, y) represents the pixel value of the noise-removed decoded image P_NR
  • SP (x, y) represents the pixel value of the decoded image P_NR
  • S0 (x, y) is This represents the pixel value of the encoding target image.
  • RPNR and RP represent filter reference areas. The number of taps that define the sizes of the filter reference regions RPNR and RP is selected from among a plurality of candidates (for example, 1 tap, 3 taps, 5 taps, 7 taps, 9 taps) with the optimum encoding efficiency. Is done.
  • the filter coefficient aPNR (u, v) determined as described above is included in the filter parameter FP as syntax alf_coeff_default [i]. Also, the parameter that specifies the number of taps of the filter reference region RPNR determined as described above is included in the filter parameter FP as alf_length_default_minus5_div2.
  • the filter coefficient aP (u, v) determined as described above is included in the filter parameter FP as the syntax alf_coeff_raw [i]. Further, the parameter that specifies the number of taps of the filter reference region RP determined as described above is included in the filter parameter FP as alf_length_raw_minus5_div2.
  • the offset o (PNR, P) determined as described above is included in the filter parameter FP as one or both of the syntax alf_coeff_default [i] and alf_coeff_raw [i].
  • the filter parameter deriving unit 27 that operates in this mode more generally operates on the filter coefficient aPNR (u, v) of the filter that acts on the noise-removed decoded image P_NR and the decoded image P in the loop filter mode 4.
  • the filter coefficient aP (u, v) and the offset o (PNR, P) of the filter to be performed are determined so that the error between the filtered image and the encoding target image (original image) is minimized. It can be expressed as
  • the filter parameter FP configured as described above corresponds to the first configuration example of the filter parameter FP described above.
  • the filter parameter derivation unit 27 replaces the loop filter mode (loop_filter_mode) with a noise removal filter flag (noise_reduction_filter_flag), an adaptive filter flag (adaptive_loop_filter_flag), and an additional input flag ( enable_another_input) may be included in the filter parameter FP.
  • a noise removal filter flag noise_reduction_filter_flag
  • an adaptive filter flag adaptive_loop_filter_flag
  • an additional input flag enable_another_input
  • the filter parameter FP used for the filter processing by the loop filter 26 included in the moving image encoding device 2 is set so as to optimize the encoding efficiency. For example, encoded data # 1 with high encoding efficiency can be generated.
  • the type of image input to the adaptive filter unit 263 may be specified by information acquired by the moving image encoding apparatus 2 from the outside.
  • the filter parameter deriving unit 27 determines the optimum filter coefficient and offset for the image specified by the information.
  • the slice header of the encoded data # 3 includes a filter parameter FP ′ instead of the filter parameter FP included in the slice header of the encoded data # 1.
  • the configuration of the filter parameter FP ′ will be described in detail in the description of the video decoding device 3.
  • the configuration of the encoded data # 3 other than the filter parameter FP ′ is substantially the same as that of the encoded data # 1.
  • the moving image decoding apparatus 3 includes H.264 as a part thereof. H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • the loop filter 36 includes a filter control unit 361, an adaptive filter memory 362, an adaptive filter unit 363, and a noise removal filter unit 364.
  • the filter control unit 361 decodes the encoded data # 3 and based on the filter control information included in the filter parameter FP ′ supplied from the variable length code decoding unit 11, Control each part. Further, the filter control unit 361 supplies the prediction image Pred, the prediction residual D, and the input signal number information to the adaptive filter memory 362 based on the filter control information.
  • the adaptive filter unit 363 receives the predicted image Pred, the prediction residual D, and the noise-reduced predicted image P_NR, and supplies the adaptive filtered decoded image P_ALF to the frame memory 15.
  • the noise removal filter unit 364 generates a noise-removed decoded image P_NR by performing noise removal processing on the decoded image P, and supplies it to the frame memory 15.
  • the loop filter 36 refers to the filter parameter FP ′ decoded from the encoded data # 3 by the variable length code decoding unit 11 and selectively performs one of a plurality of processes listed below.
  • the loop filter 36 determines which of the plurality of processes is to be performed with reference to the filter control information included in the filter parameter FP ′.
  • the loop filter 36 may be configured to selectively perform one of a plurality of processes listed below for each sequence, for each GOP (Group Of Pictures), for each picture, or for each LCU.
  • FIG. 10 is a diagram illustrating a first configuration example of the filter parameter FP ′ (loop_filter_param) decoded from the encoded data # 3 and referred to by the loop filter 36.
  • the first configuration example of the filter parameter FP ′ includes a plurality of syntaxes (loop_filter_mode, alf_length_default_minus5_div2, alf_coeff_default [i], alf_length_error_minus1_div2, alf_coeff_error [i], alf_length_pred_minus1pref_minus1pref_ Contains.
  • Loop_filter_mode is a syntax for defining the contents of filter processing by the loop filter 36, and corresponds to the filter control information described above. In this embodiment, possible values of loop_filter_mode are 0-6.
  • Alf_length_default_minus5_div2, AlfNumCoeffDefault, and alf_coeff_default [i] are the same as those described in the first embodiment. However, in this configuration example, alf_length_default_minus5_div2 and alf_coeff_default [i] are decoded by the variable-length code decoding unit 11 when loop_filter_mode is 2, 3, 4, 5, or 6.
  • the set of alf_coeff_default [i] constitutes a filter coefficient group G_coeff_default for a filter that acts on an image stored in the frame memory 15.
  • Alf_coeff_error [i] is a syntax indicating a filter coefficient of a filter acting on the prediction residual D.
  • alf_coeff_error [i] may include a filter offset that affects the prediction residual D.
  • the set of alf_coeff_error [i] constitutes a filter coefficient group G_coeff_error of the filter acting on the prediction residual D.
  • alf_length_error_minus1_div2 and alf_coeff_error [i] are decoded by the variable-length code decoding unit 11 when the loop_filter_mode is 4, 5, or 6.
  • Alf_coeff_pred [i] is a syntax indicating a filter coefficient of a filter acting on the predicted image Pred.
  • alf_coeff_pred [i] may include an offset of a filter acting on the predicted image Pred.
  • the set of alf_coeff_pred [i] constitutes a filter coefficient group G_coeff_pred of filters that act on the predicted image Pred.
  • alf_length_pred_minus1_div2 and alf_coeff_pred [i] are decoded by the variable length code decoding unit 11 when loop_filter_mode is 6.
  • FIG. 11 is a diagram for explaining processing by the loop filter 36.
  • the value of the loop filter mode (loop_filter_mode) included in the filter parameter FP ′, the noise removal filter unit 364 and the adaptive filter unit included in the loop filter 36 are illustrated. It is a table
  • the number of inputs to the adaptive filter unit 363, the presence / absence of a default input to the adaptive filter unit 363 x indicates that there is a default input
  • loop filter mode 1
  • the processing performed by the loop filter 36 is the same as that performed by the loop filter 16 in the first embodiment (processing example 1-1-2), and thus description thereof is omitted here. .
  • loop filter mode 2
  • the processing performed by the loop filter 36 is the same as that performed by the loop filter 16 in the first embodiment (processing example 1-1-3), and thus the description thereof is omitted here. .
  • the filter control unit 361 sets the noise removal filter unit 364 to OFF and sets the adaptive filter unit 363 to ON. Therefore, when the loop filter mode is 4, the noise removal filter unit 364 does not generate the noise-removed decoded image P_NR, and the adaptive filter unit 363 generates the adaptive-filtered decoded image P_ALF.
  • the filter control unit 361 secures a memory area for a residual image (an image indicating a prediction residual) in the adaptive filter memory 362 and is supplied from the inverse quantization / inverse conversion unit 13.
  • the prediction residual D is stored in the residual image memory area.
  • the filter control unit 361 may be configured to store the prediction residual D for one frame in the residual image memory area or may be configured to store one slice. Further, after the filter processing by the adaptive filter unit 363 is completed, the filter control unit 361 releases the residual image memory area, and the residual image memory area can be used by each unit included in the video decoding device 3. Set to state.
  • the adaptive filter unit 363 applies the filter parameter FP ′ to the decoded image P stored in the frame memory 15 and the prediction residual D stored in the adaptive filter memory 362.
  • the adaptive filtered decoded image P_ALF in the target slice is generated by performing the filter processing using the filter coefficient and offset included in. More specifically, the pixel value of the adaptive filtered decoded image P_ALF in the target slice is represented as SALF (x ′, y ′), the pixel value of the decoded image P is represented as SP (x, y), and the prediction residual D
  • the adaptive filter unit 363 calculates the pixel value SALF (x ′, y ′) by the following formula (7).
  • the coordinates (x, y) may be the same coordinates as the coordinates (x ′, y ′), or may be different coordinates as long as they have a one-to-one correspondence.
  • aP (u, v) represents a filter coefficient to be multiplied by the pixel value SP (x + u, y + v) of the decoded image P among the filter coefficients included in the filter parameter FP ′ of the encoded data # 3.
  • a specific value of the filter coefficient aP (u, v) is specified by each syntax alf_coeff_default [i] included in the filter parameter FP ′.
  • aD (u, v) is a filter coefficient multiplied by the pixel value SD (x + u, y + v) of the image indicated by the prediction residual D among the filter coefficients included in the filter parameter FP ′ of the encoded data # 3.
  • a specific value of the filter coefficient aD (u, v) is specified by each syntax alf_coeff_error [i] included in the filter parameter FP ′.
  • the specific value of the offset o (P, D) is specified by one or both of the syntax alf_coeff_default [i] and alf_coeff_error [i] included in the filter parameter FP ′.
  • the filter reference region RP is set on the decoded image P in accordance with the position of the pixel (filter target pixel) that is the target for calculating the filtered pixel value.
  • the size of the filter reference region RP is specified by the syntax alf_length_default_minus5_div2 included in the filter parameter FP ′.
  • the filter reference region RD is set on the image indicated by the prediction residual D according to the position of the pixel (filter target pixel) that is the target for calculating the filtered pixel value.
  • the size of the filter reference region RD is specified by the syntax alf_length_error_minus1_div2 included in the filter parameter FP ′.
  • the adaptive filter unit 363 in the present processing example like (Processing example 1-1-3) in the first embodiment, sets each filter coefficient to the filter reference region RP and the rotational symmetry of 180 degrees.
  • a configuration may be adopted in which each pixel included in the filter reference region RD is allocated.
  • the present processing example is not limited to such a configuration, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry.
  • the size and shape of the filter reference region RP may be different from the size and shape of the filter reference region RD.
  • the number of inputs to the adaptive filter unit 363 is two. That is, the adaptive filter unit 363 refers to both the decoded image P and the prediction residual D. Therefore, compared with the case where the adaptive filtered decoded image P_ALF is calculated with reference to either the decoded image P or the prediction residual D, the adaptive filtered decoded image P_ALF more appropriate for generating the predicted image is obtained. Can be generated. Therefore, the loop filter 36 performs the operation of this processing example, so that compared with the case where the adaptive filtered decoded image P_ALF is calculated with reference to either the decoded image P or the prediction residual D, the code Efficiency.
  • the adaptive filter unit 363 refers to the decoded image P stored in the frame memory 15 and the prediction residual D stored in the adaptive filter memory 362, and thus the pixel value of the decoded image P , And the pixel value of the prediction residual D can be read in parallel, and the calculation of the first term and the calculation of the second term in Equation (7) can be performed in parallel. Therefore, the adaptive filter unit 363 performs the operation of this processing example, thereby comparing the configuration in which both the pixel value of the decoded image P and the pixel value of the prediction residual D are read from only the frame memory 15. High-speed filter processing can be performed.
  • the loop filter 36 can perform high-speed filter processing while improving encoding efficiency by performing the operation of this processing example.
  • the filter control unit 361 sets both the noise removal filter unit 364 and the adaptive filter unit 363 to ON. Therefore, when the loop filter mode is 5, the noise removal filter unit 364 generates a noise-removed decoded image P_NR, and the adaptive filter unit 363 generates an adaptive-filtered decoded image P_ALF.
  • the filter control unit 361 secures a memory area for a residual image (an image indicating a prediction residual) in the adaptive filter memory 362 and supplies it from the inverse quantization / inverse transform unit 13.
  • the predicted residual D is stored in the residual image memory area.
  • the filter control unit 361 may be configured to store the prediction residual D for one frame in the residual image memory area or may be configured to store one slice. Further, after the filter processing by the adaptive filter unit 363 is completed, the filter control unit 361 releases the residual image memory area, and the residual image memory area can be used by each unit included in the video decoding device 3. Set to state.
  • the adaptive filter unit 363 performs filtering on the noise-removed decoded image P_NR stored in the frame memory 15 and the prediction residual D stored in the adaptive filter memory 362.
  • An adaptive filtered decoded image P_ALF in the target slice is generated by performing filter processing using the filter coefficient and offset included in the parameter FP ′. More specifically, the pixel value of the adaptive filtered decoded image P_ALF in the target slice is represented as SALF (x ′, y ′), the pixel value of the noise-removed decoded image P_NR is represented as SPNR (x, y), and prediction is performed. Assuming that the pixel value of the residual D is expressed as SD (x, y), the adaptive filter unit 363 calculates the pixel value SALF (x ′, y ′) by the following formula (8).
  • aD (u, v) is a filter coefficient multiplied by the pixel value SD (x + u, y + v) of the image indicated by the prediction residual D among the filter coefficients included in the filter parameter FP ′ of the encoded data # 3.
  • a specific value of the filter coefficient aD (u, v) is specified by each syntax alf_coeff_error [i] included in the filter parameter FP ′.
  • the specific value of the offset o (PNR, D) is specified by one or both of the syntax alf_coeff_default [i] and alf_coeff_error [i] included in the filter parameter FP ′.
  • the filter reference region RPNR is set on the decoded image P_NR after noise removal according to the position of the pixel (filter target pixel) for which the pixel value after filtering is calculated.
  • the size of the filter reference region RPNR is specified by the syntax alf_length_default_minus5_div2 included in the filter parameter FP ′.
  • the filter reference region RD is set on the image indicated by the prediction residual D according to the position of the pixel (filter target pixel) that is the target for calculating the filtered pixel value.
  • the size of the filter reference region RD is specified by the syntax alf_length_error_minus1_div2 included in the filter parameter FP ′.
  • the adaptive filter unit 363 in the present processing example like (Processing example 1-1-3) in the first embodiment, sets each filter coefficient to the filter reference region RP and the rotational symmetry of 180 degrees.
  • a configuration may be adopted in which each pixel included in the filter reference region RD is allocated.
  • the present processing example is not limited to such a configuration, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry.
  • the size and shape of the filter reference region RP may be different from the size and shape of the filter reference region RD.
  • the number of inputs to the adaptive filter unit 363 is two. That is, the adaptive filter unit 363 refers to both the noise-removed decoded image P_NR and the prediction residual D. Therefore, compared with the case where the adaptive filtered decoded image P_ALF is calculated with reference to either the noise-removed decoded image P_NR or the prediction residual D, the adaptive filtered decoding is more appropriate for generating the predicted image. An image P_ALF can be generated. Therefore, the loop filter 36 performs the operation of the present processing example, thereby comparing with the case of calculating the adaptive filtered decoded image P_ALF with reference to either the noise-removed decoded image P_NR or the prediction residual D. Thus, the coding efficiency is improved.
  • the noise-removed decoded image P_NR is an image in which noise is reduced compared to the decoded image P. Therefore, the loop filter 36 performs the operation of this processing example, so that the encoding efficiency is improved as compared with the case where only the decoded image P is referred to and the case where the decoded image P and the prediction residual D are referred to. To do.
  • the adaptive filter unit 363 refers to the noise-removed decoded image P stored in the frame memory 15 and the prediction residual D stored in the adaptive filter memory 362. Both the pixel value of the decoded image P_NR and the pixel value of the prediction residual D are read out in parallel, and the calculation of the first term and the calculation of the second term in Equation (8) can be performed in parallel. Become. Therefore, the adaptive filter unit 363 is configured to read out both the pixel value of the noise-removed decoded image P_NR and the pixel value of the prediction residual D from only the frame memory 15 by performing the operation of this processing example. In comparison, high-speed filter processing can be performed.
  • the loop filter 36 can perform high-speed filter processing while improving encoding efficiency by performing the operation of this processing example.
  • the filter control unit 361 sets both the noise removal filter unit 364 and the adaptive filter unit 363 to ON. Therefore, when the loop filter mode is 6, the noise removal filter unit 364 generates a noise-removed decoded image P_NR, and the adaptive filter unit 363 generates an adaptive-filtered decoded image P_ALF.
  • the filter control unit 361 secures a memory area for a residual image (an image indicating a prediction residual) and a memory for a predicted image in the adaptive filter memory 362, and performs inverse quantization / inverse processing.
  • the prediction residual D supplied from the conversion unit 13 and the prediction image Pred supplied from the prediction image generation unit 12 are stored in the residual image memory area and the prediction image memory area, respectively.
  • the filter control unit 361 may store the prediction residual D and the prediction image Pred for one frame in the residual image memory area and the prediction image memory, respectively, or may store one slice. Also good.
  • the adaptive filter unit 363 has the noise-removed decoded image P_NR stored in the frame memory 15, the prediction residual D stored in the adaptive filter memory 362, and the adaptive filter memory.
  • the adaptive filtered decoded image P_ALF in the target slice is generated by performing filter processing using the filter coefficient and offset included in the filter parameter FP ′ on the prediction image Pred stored in 362. More specifically, the pixel value of the adaptive filtered decoded image P_ALF in the target slice is represented as SALF (x ′, y ′), the pixel value of the noise-removed decoded image P_NR is represented as SPNR (x, y), and prediction is performed.
  • the adaptive filter unit 363 uses the pixel value SALF (x ′, y ′). ) Is calculated by the following formula (9).
  • aPNR (u, v) represents a filter coefficient to be multiplied by the pixel value SPNR (x + u, y + v) of the decoded image P_NR after noise removal, among the filter coefficients included in the filter parameter FP ′ of the encoded data # 3. ing.
  • a specific value of the filter coefficient aPNR (u, v) is specified by each syntax alf_coeff_default [i] included in the filter parameter FP ′.
  • the specific value of the offset o (PNR, D, Pred) is determined by one or more of the syntaxes alf_coeff_default [i], alf_coeff_error [i], and alf_coeff_pred [i] included in the filter parameter FP ′. It is specified.
  • the filter reference region RPNR is set on the decoded image P_NR after noise removal according to the position of the pixel (filter target pixel) for which the pixel value after filtering is calculated.
  • the size of the filter reference region RPNR is specified by the syntax alf_length_default_minus5_div2 included in the filter parameter FP ′.
  • the filter reference region RPred is set on the predicted image Pred according to the position of the pixel (filter target pixel) that is the target for calculating the filtered pixel value.
  • the size of the filter reference region RPred is specified by the syntax alf_length_pred_minus1_div2 included in the filter parameter FP ′.
  • the present processing example is not limited to such a configuration, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry.
  • the size and shape of the filter reference region RP may be different from the size and shape of the filter reference region RD.
  • the noise-removed decoded image P_NR is an image in which noise is reduced compared to the decoded image P. Therefore, the loop filter 36 performs the operation of this processing example to refer only to the decoded image P and when to refer to the decoded image P and the prediction residual D, the decoded image P and the prediction residual D. Compared with the case where the prediction residual Pred is referred to, the encoding efficiency is improved.
  • the adaptive filter unit 363 stores the noise-removed decoded image P stored in the frame memory 15, the prediction residual D stored in the adaptive filter memory 362, and the adaptive filter memory 362. Since the predicted image Pred is referred to, the pixel value of the noise-removed decoded image P_NR, the pixel value of the prediction residual D, and the pixel value of the predicted image Pred are read in parallel, and the calculation of the first term in Equation (9) is performed. And the calculation of the second term and the third term can be performed in parallel.
  • FIG. 12 is a diagram illustrating a second configuration example of the filter parameter FP ′ (loop_filter_param) decoded from the encoded data # 3 and referred to by the loop filter 36.
  • the second configuration example of the filter parameter FP ′ includes a plurality of syntaxes (noise_reduction_filter_flag, adaptive_loop_filter_flag, alf_length_default_minus5_div2, alf_coeff_default [i], enable_error_alf, enable_pred_alf, alf_length_error_minusf_length_error_minusi_div_ i]).
  • noise_reduction_filter_flag is a flag for designating ON / OFF of the noise removal filter unit 364.
  • the noise removal filter unit 364 is designated as OFF, and when the noise_reduction_filter_flag is 1, the noise removal filter unit 364 is designated as ON.
  • Adaptive_loop_filter_flag is a flag that specifies whether the adaptive filter unit 363 is on or off. When adaptive_loop_filter_flag is 0, the adaptive filter unit 363 is specified to be off. When adaptive_loop_filter_flag is 1, the adaptive filter unit 363 is specified to be on.
  • Alf_length_error_minus1_div2, AlfNumCoeffError, and alf_coeff_error [i] are the same as those described in the first configuration example of the filter parameter FP ′. However, alf_length_error_minus1_div2 and alf_coeff_error [i] are decoded by the variable-length code decoding unit 11 when enable_error_alf is 1.
  • enable_pred_alf is a flag that specifies whether or not the predicted image Pred is input to the adaptive filter unit 363. When enable_pred_alf is 0, the predicted image Pred is not input to the adaptive filter unit 363, and when enable_pred_alf is 1, The predicted image Pred is input to the filter unit 363.
  • FIG. 13 is a diagram for explaining processing by the loop filter 36, and includes a noise removal filter flag (noise_reduction_filter_flag), an adaptive filter flag (adaptive_loop_filter_flag), a residual image addition flag (enable_error_alf) included in the filter parameter FP ′, Each value of the predicted image addition flag (enable_pred_alf), the number of inputs to the adaptive filter unit 363 included in the loop filter 36, and the presence / absence of a default input to the adaptive filter unit 363 (x indicates that there is a default input) , And the presence / absence of additional input to the adaptive filter unit 363 (x indicates that there is an additional input).
  • the case where there is a default input means that the image stored in the frame memory 15 (for example, in the following processing examples 2-2-3 and 2-2-5, the decoded image P, the processing example 2-2-4).
  • 2-2-6 and 2-2-7 indicate a case where the noise-removed decoded image P_NR) is input to the adaptive filter unit 363, and the case where there is an additional input is stored in the adaptive filter memory 362.
  • the stored image (for example, prediction residual D in processing examples 2-2-5 and 2-2-6 below, and prediction residual D and prediction image Pred in processing examples 2-2-7) is an adaptive filter. This refers to the case of being input to the part 363.
  • the loop filter 36 performs the above-described processing example 2-1 Processing similar to 7 is performed.
  • the loop filter 36 can be configured in the same manner as when the filter parameter FP ′ is configured as in the first configuration example. Can be controlled. Therefore, by configuring the filter parameter FP ′ as in the second configuration example, the loop filter 36 performs encoding in the same manner as when the filter parameter FP ′ is configured as in the first configuration example. High-speed filter processing can be performed while increasing efficiency.
  • the moving image encoding device 4 includes H.264 as a part thereof. H.264 / MPEG-4. This is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 14 is a block diagram showing a configuration of the moving image encoding device 4.
  • the moving image encoding device 4 includes a predicted image generation unit 21, a transform / quantization unit 22, an inverse quantization / inverse transform unit 23, an adder 24, a frame memory 25, a loop filter 46, a filter A parameter deriving unit 47, a variable length code encoding unit 28, and a subtractor 29 are provided.
  • the moving image encoding device 2 is a device that generates encoded data # 3 by encoding moving image # 20 (encoding target image).
  • the loop filter 46 includes a filter control unit 461, an adaptive filter memory 462, an adaptive filter unit 463, and a noise removal filter unit 464.
  • the filter control unit 461, the adaptive filter memory 462, the adaptive filter unit 463, and the noise removal filter unit 464 are respectively provided with the filter control unit 361, the adaptive filter memory 362, and the loop filter 36 in the video decoding device 3. Since it is the same structure as the adaptive filter part 363 and the noise removal filter part 364, since those operation
  • frame memory 15 and “filter parameter FP ′ decoded from encoded data # 3” in the description of the loop filter 36 are respectively “frame memory 25” and “filter parameter deriving unit 47”. It shall be read as “filter parameter FP ′ supplied”.
  • the filter parameter derivation unit 47 generates a filter parameter FP ′ that is referred to by the loop filter 36 included in the video decoding device 3 and the loop filter 46 included in the video encoding device 4.
  • the filter parameter derivation unit 47 (1) ON / OFF of each of the noise removal filter unit 464 and the adaptive filter unit 463, (2) Types of images input to the adaptive filter unit 463 included in the loop filter 46 and combinations thereof (one or more of the decoded image P, the denoised decoded image P_NR, the prediction residual D, and the prediction image Pred) combination), (3) The number of filter taps acting on the decoded image P, (4) Filter coefficient and offset acting on the decoded image P, (5) The number of filter taps acting on the noise-removed decoded image P_NR, (6) filter coefficients and offsets acting on the denoised decoded image P_NR, (7) The number of filter taps acting on the image indicated by the prediction residual D, (8) filter coefficients and offsets acting on the image indicated by the prediction residual D; (9) The number of filter taps acting on the image indicated by the predicted image Pred, (10) Filter coefficient and offset acting on the image indicated by the predicted image Pred, Are determined so that the
  • the filter parameter deriving unit 47 sets the loop filter mode (loop_filter_mode) to one of the values listed below.
  • Loop filter mode 0: When the noise removal filter unit 464 is turned off and the adaptive filter unit 463 is turned off.
  • Loop filter mode 1: When the noise removal filter unit 464 is turned on and the adaptive filter unit 463 is turned off.
  • Loop filter mode 2: When the noise removal filter unit 464 is turned off and the adaptive filter unit 463 is turned on, and the input image to the adaptive filter unit 463 is a decoded image P.
  • Loop filter mode 3: When the noise removal filter unit 464 is turned on and the adaptive filter unit 463 is turned on, and the input image to the adaptive filter unit 463 is a noise-removed decoded image P_NR.
  • the filter when the loop filter mode is set to 2 or 3 The operation of the parameter deriving unit 47 is as follows when the loop filter mode is set to 2 or 3. Is the same as the operation of the filter parameter derivation unit 27 provided in the 2, the description thereof is omitted here.
  • the operation of the filter parameter deriving unit 47 when the loop filter mode is set to 4, 5, or 6 is as follows.
  • the filter parameter deriving unit 47 includes the number of taps, the filter coefficient, and the offset in the filter parameter FP for the loop filter mode in which the square error is minimum among the loop filter modes 2 to 6. More generally, the filter parameter derivation unit 47 includes the number of taps, the filter coefficient, and the offset in the filter parameter FP for the loop filter mode in which the square error is smaller among the loop filter modes 2 to 6.
  • the filter parameter FP ′ generated in this way is referred to by the video decoding device 3.
  • the filter parameter deriving unit 47 for the loop filter mode 4 has a filter coefficient aP (u, v) of a filter acting on the decoded image P, a filter coefficient aD (u, v) of a filter acting on the prediction residual D, and
  • the offset o (P, D) is determined so that the error between the filtered image and the encoding target image (original image) is minimized.
  • the filter coefficient aP (u, v), the filter coefficient aD (u, v), and the offset o (P, D) are determined so that the square error E1 ′ shown in the following formula (10) is minimized. To do.
  • SP (x, y) represents the pixel value of the decoded image P
  • SD (x, y) represents the pixel value of the prediction residual D
  • S0 (x, y) represents the encoding. This represents the pixel value of the target image.
  • RP and RD represent filter reference areas. The number of taps that define the sizes of the filter reference regions RP and RD is selected from among a plurality of candidates (for example, 1 tap, 3 taps, 5 taps, 7 taps, 9 taps) with the optimum encoding efficiency. Is done.
  • the filter coefficient aP (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_default [i]. Further, the parameter that specifies the number of taps of the filter reference region RP determined as described above is included in the filter parameter FP ′ as alf_length_default_minus5_div2.
  • the filter coefficient aD (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_error [i]. Further, the parameter that specifies the tap number of the filter reference region RD determined as described above is included in the filter parameter FP ′ as alf_length_error_minus5_div2.
  • the offset o (P, D) determined as described above is included in the filter parameter FP ′ as one or both of the syntax alf_coeff_default [i] and alf_coeff_error [i].
  • the filter parameter deriving unit 47 that performs the operation in this mode is, for the loop filter mode 4, the filter coefficient aP (u, v) of the filter acting on the decoded image P and the filter of the filter acting on the prediction residual D.
  • the coefficient aD (u, v) and the offset o (P, D) are expressed as being determined so that the error between the filtered image and the encoding target image (original image) becomes smaller. be able to.
  • the filter coefficient aPNR (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_default [i].
  • a parameter that specifies the number of taps of the filter reference region RPNR determined as described above is included in the filter parameter FP ′ as alf_length_default_minus5_div2.
  • the filter coefficient aD (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_error [i]. Further, the parameter that specifies the number of taps of the filter reference region RD determined as described above is included in the filter parameter FP ′ as alf_length_error_minus1_div2.
  • the filter parameter deriving unit 47 that performs the operation in this mode is the filter coefficient aPNR (u, v) of the filter that acts on the noise-removed decoded image P_NR and the filter coefficient of the filter that acts on the prediction residual D in the loop filter mode 5
  • aD (u, v) and offset o (PNR, D) as determining that the error between the filtered image and the encoding target image (original image) is smaller. Can do.
  • the filter parameter deriving unit 47 filters the filter coefficient aPNR (u, v) acting on the noise-removed decoded image P_NR and the filter coefficient aD (u, v) acting on the prediction residual D.
  • the filter coefficient aPred (u, v) and the offset o (PNR, D, Pred) of the filter that acts on the predicted image Pred are set so that the error between the filtered image and the encoding target image (original image) is minimized. Decide to be.
  • An offset o (PNR, D, Pred) is determined.
  • SPNR (x, y) represents the pixel value of the noise-removed decoded image P_NR
  • SD (x, y) represents the pixel value of the prediction residual D
  • SPPred (x, y) is The pixel value of the prediction image Pred is represented
  • S0 (x, y) represents the pixel value of the encoding target image.
  • RPNR, RD, and RPred represent filter reference areas. The number of taps that define the sizes of the filter reference regions RPNR, RD, and RPred is such that the coding efficiency is optimal from among a plurality of candidates (eg, 1 tap, 3 taps, 5 taps, 7 taps, 9 taps) Is selected.
  • the filter coefficient aPNR (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_default [i].
  • a parameter that specifies the number of taps of the filter reference region RPNR determined as described above is included in the filter parameter FP ′ as alf_length_default_minus5_div2.
  • the filter coefficient aD (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_error [i]. Further, the parameter that specifies the number of taps of the filter reference region RD determined as described above is included in the filter parameter FP ′ as alf_length_error_minus1_div2.
  • the filter coefficient aPred (u, v) determined as described above is included in the filter parameter FP ′ as the syntax alf_coeff_pred [i]. Further, the parameter for designating the tap number of the filter reference region RPred determined as described above is included in the filter parameter FP ′ as alf_length_pred_minus1_div2.
  • the offset o (PNR, D, Pred) determined as described above is the filter parameter FP ′ as one or more of the syntax alf_coeff_default [i], alf_coeff_error [i], and alf_coeff_pred [i]. Included in
  • the filter parameter deriving unit 47 that performs the operation in this mode, for the loop filter mode 6, the filter coefficient aPNR (u, v) of the filter acting on the noise-removed decoded image P_NR and the filter coefficient of the filter acting on the prediction residual D aD (u, v), filter coefficient aPred (u, v) of the filter acting on the predicted image Pred, and offset o (PNR, D, Pred), filtered image and encoding target image (original image) It can be expressed that the error is determined so as to be smaller.
  • the filter parameter FP ′ configured as described above corresponds to the first configuration example of the filter parameter FP ′ described above.
  • the filter parameter derivation unit 47 replaces the loop filter mode (loop_filter_mode) with a noise removal filter flag (noise_reduction_filter_flag), an adaptive filter flag (adaptive_loop_filter_flag), a residual image addition flag ( enable_error_alf) and a predicted image addition flag (enable_pred_alf) may be included in the filter parameter FP.
  • the filter parameter FP ′ used for the filter processing by the loop filter 46 included in the moving image encoding device 4 is set so as to optimize the encoding efficiency. Accordingly, encoded data # 3 with high encoding efficiency can be generated.
  • the type of image input to the adaptive filter unit 463 may be specified by information acquired by the moving image encoding device 4 from the outside.
  • the filter parameter deriving unit 47 determines the optimum filter coefficient and offset for the image specified by the information.
  • the slice header of the encoded data # 5 includes a filter parameter FP ′′ instead of the filter parameter FP included in the slice header of the encoded data # 1.
  • the configuration of the filter parameter FP ′′ will be described in detail in the description of the video decoding device 5.
  • the configuration of the encoded data # 5 other than the filter parameter FP ′′ is substantially the same as that of the encoded data # 1.
  • the moving image decoding apparatus 5 includes a part of the H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 15 is a block diagram showing a configuration of the moving picture decoding device 5.
  • the video decoding device 5 includes a variable length code decoding unit 11, a predicted image generation unit 12, an inverse quantization / inverse conversion unit 13, an adder 14, a frame memory 15, and a loop filter 56.
  • the moving picture decoding apparatus 5 is an apparatus for generating moving picture # 6 by decoding encoded data # 3.
  • the loop filter 56 includes a filter control unit 561, an adaptive filter memory 562, an adaptive filter unit 563, and a noise removal filter unit 564.
  • the filter control unit 561 decodes the encoded data # 5 and based on the filter control information included in the filter parameter FP ′′ supplied from the variable length code decoding unit 11, the loop filter 56. Control each part. Further, the filter control unit 561 supplies the decoded image P, the predicted image Pred, the prediction residual D, and the number of input signals information to the adaptive filter memory 562 based on the filter control information.
  • the adaptive filter unit 563 receives the decoded image P, the predicted image Pred, the prediction residual D, and the noise-removed predicted image P_NR, and supplies the adaptive filtered decoded image P_ALF to the frame memory 15.
  • the noise removal filter unit 564 generates a noise-removed decoded image P_NR by performing noise removal processing on the decoded image P, and supplies it to the frame memory 15.
  • the loop filter 56 refers to the filter parameter FP ′′ decoded from the encoded data # 5 by the variable length code decoding unit 11 and selectively performs any of a plurality of processes listed below.
  • the loop filter 56 determines which of the plurality of processes is to be performed with reference to the filter control information included in the filter parameter FP ′′.
  • the loop filter 56 may be configured to selectively perform one of a plurality of processes listed below for each sequence, for each GOP (Group Of Pictures), for each picture, or for each LCU.
  • loop filter 56 refers to the first configuration example and the second configuration example of the filter parameter FP ′′ decoded from the encoded data # 5 will be described.
  • FIG. 16 is a diagram illustrating a first configuration example of the filter parameter FP ′′ (loop_filter_param) decoded from the encoded data # 5 and referred to by the loop filter 56.
  • the first configuration example of the filter parameter FP ′′ includes a plurality of syntaxes (loop_filter_mode, alf_length_default_minus5_div2, alf_coeff_default [i], alf_length_raw_minus5_div2, alf_coeff_raw [i], alf_length_error_minus1_divd_f And alf_coeff_pred [i]).
  • Loop_filter_mode is a syntax for defining the contents of the filter processing by the loop filter 56, and corresponds to the filter control information described above. In this embodiment, possible values of loop_filter_mode are 0-7.
  • Alf_length_default_minus5_div2, AlfNumCoeffDefault, and alf_coeff_default [i] are the same as those described in the first and second embodiments. However, in this configuration example, alf_length_default_minus5_div2 and alf_coeff_default [i] are decoded by the variable-length code decoding unit 11 when loop_filter_mode is 2, 3, 4, 5, 6, or 7.
  • Alf_length_raw_minus5_div2, AlfNumCoeffRaw, and alf_coeff_raw [i] are the same as those described in the first configuration example of the filter parameter FP in the first embodiment. However, alf_length_raw_minus5_div2 and alf_coeff_raw [i] are decoded by the variable-length code decoding unit 11 when loop_filter_mode is 5.
  • the set of alf_coeff_raw [i] constitutes the filter coefficient group G_coeff_default of the filter that acts on the decoded image P as described in the first embodiment.
  • Alf_length_error_minus1_div2, AlfNumCoeffError, and alf_coeff_error [i] are the same as those described in the first configuration example of the filter parameter FP ′ in the second embodiment. However, alf_length_error_minus1_div2 and alf_coeff_error [i] are decoded by the variable length code decoding unit 11 when the loop_filter_mode is 4, 6, or 7.
  • the set of alf_coeff_error [i] constitutes a filter coefficient group G_coeff_error of the filter acting on the prediction residual D as described in the second embodiment.
  • Alf_length_pred_minus1_div2, AlfNumCoeffPred, and alf_coeff_pred [i] are the same as those described in the first configuration example of the filter parameter FP ′ in the second embodiment. However, alf_length_pred_minus1_div2 and alf_coeff_pred [i] are decoded by the variable-length code decoding unit 11 when loop_filter_mode is 7.
  • the set of alf_coeff_pred [i] constitutes a filter coefficient group G_coeff_pred of filters that act on the predicted image Pred.
  • FIG. 17 is a diagram for explaining processing by the loop filter 56, and includes a value of a loop filter mode (loop_filter_mode) included in the filter parameter FP ′′, a noise removal filter unit 564 and an adaptive filter included in the loop filter 56. It is a table
  • the number of inputs to the adaptive filter unit 563, the presence or absence of a default input to the adaptive filter unit 563 x indicates that there is a default input
  • the image stored in the frame memory 15 (for example, in the following processing examples 3-1-3 and 3-1-5, the decoded image P, the processing example 3-1-4).
  • 3-1-6, 3-1-7, and 3-1-8 indicate a case where the decoded image P_NR after noise removal is input to the adaptive filter unit 563, and a case where there is an additional input
  • Images stored in the adaptive filter memory 562 (for example, prediction residual D in the following processing example 3-1-5, decoded image P in the processing example 3-1-6, processing example 3-1-7) Indicates a case where the prediction residual D is input to the adaptive filter unit 563 and the prediction residual D and the prediction image Pred) are input to the processing example 3-1-8.
  • FIG. 18 is a diagram illustrating a second configuration example of the filter parameter FP ′′ (loop_filter_param) decoded from the encoded data # 5 and referred to by the loop filter 56.
  • the second configuration example of the filter parameter FP ′′ includes a plurality of syntaxes (noise_reduction_filter_flag, adaptive_loop_filter_flag, alf_length_default_minus5_div2, alf_coeff_default [i], enable_raw_alf, alf_al_length_raw_prev_error_pref, , Alf_coeff_error [i], alf_length_pred_minus1_div2, alf_coeff_pred [i]).
  • the noise_reduction_filter_flag is a flag for designating ON / OFF of the noise removal filter unit 564.
  • the noise removal filter unit 564 is designated OFF, and when the noise_reduction_filter_flag is 1, the noise removal filter unit 564 is designated ON.
  • Adaptive_loop_filter_flag is a flag that specifies whether the adaptive filter unit 563 is on or off. When adaptive_loop_filter_flag is 0, the adaptive filter unit 563 is specified to be off. When adaptive_loop_filter_flag is 1, the adaptive filter unit 563 is specified to be on.
  • Alf_length_default_minus5_div2, AlfNumCoeffDefault, and alf_coeff_default [i] are the same as those described in the first configuration example of the filter parameter FP. However, alf_length_default_minus5_div2 and alf_coeff_default [i] are decoded by the variable-length code decoding unit 11 when adaptive_loop_filter_flag is other than 0.
  • the set of alf_coeff_default [i] constitutes a filter coefficient group G_coeff_default of a filter that acts on an image stored in the frame memory 15.
  • enable_raw_alf is a flag that specifies whether or not the decoded image P is input to the adaptive filter unit 563. When enable_raw_alf is 0, the decoded image P is not input to the adaptive filter unit 563, and when enable_raw_alf is 1, adaptive The decoded image P is input to the filter unit 563. Note that enable_raw_alf is decoded by the variable-length code decoding unit 11 when noise_reduction_filter_flag is other than 0.
  • Alf_length_raw_minus5_div2, AlfNumCoeffRaw, and alf_coeff_raw [i] are the same as those described in the second configuration example of the filter parameter FP in the first embodiment. However, alf_length_raw_minus5_div2 and alf_coeff_raw [i] are decoded by the variable length code decoding unit 11 when alf_raw_alf is 1.
  • enable_pred_alf is a flag that specifies whether or not the predicted image Pred is input to the adaptive filter unit 363. When enable_pred_alf is 0, the predicted image Pred is not input to the adaptive filter unit 363, and when enable_pred_alf is 1, The predicted image Pred is input to the filter unit 363.
  • Alf_length_pred_minus1_div2, AlfNumCoeffPred, and alf_coeff_pred [i] are the same as those described in the first configuration example of the filter parameter FP ′. However, alf_length_pred_minus1_div2 and alf_coeff_pred [i] are decoded by the variable-length code decoding unit 11 when enable_pred_alf is 1.
  • FIG. 19 is a diagram for explaining processing by the loop filter 56, and includes a noise removal filter flag (noise_reduction_filter_flag), an adaptive filter flag (adaptive_loop_filter_flag), a decoded image addition flag (alf_raw_alf) included in the filter parameter FP ′′, Each value of the residual image addition flag (enable_error_alf) and the predicted image addition flag (enable_pred_alf), the number of inputs to the adaptive filter unit 563 included in the loop filter 56, the presence / absence of a default input to the adaptive filter unit 563 (mark x) Represents a default input) and the presence / absence of an additional input to the adaptive filter unit 563 (x indicates that there is an additional input).
  • the image stored in the frame memory 15 (for example, in the following processing examples 3-2-3 and 3-2-5, the decoded image P, the processing example 3-2-4).
  • 3-2-6, 3-2-7, and 3-2-8 indicate a case where the decoded image P_NR after noise removal is input to the adaptive filter unit 563, and a case where there is an additional input
  • Images stored in the adaptive filter memory 562 (for example, the prediction residual D in the following processing example 3-2-5, the decoded image P in the processing example 3-2-6, and the processing example 3-2-7) Indicates a case where the prediction residual D is input to the adaptive filter unit 563, and in the processing example 3-2-8, the prediction residual D and the prediction image Pred) are input to the adaptive filter unit 563.
  • the loop filter 56 performs the following processing.
  • the loop filter 56 performs processing example 3-1 described above. Processing similar to 6 is performed.
  • the loop filter 56 is configured such that the filter parameter FP ′′ is configured as in the first configuration example. It can be controlled similarly. Therefore, by configuring the filter parameter FP ′′ as in the second configuration example, the loop filter 56 is configured similarly to the case where the filter parameter FP ′′ is configured as in the first configuration example. High-speed filter processing can be performed while increasing encoding efficiency.
  • the moving picture encoding device 6 includes H.264 as a part thereof. H.264 / MPEG-4. It is a decoding device including a technique adopted in AVC and KTA software.
  • FIG. 20 is a block diagram illustrating a configuration of the moving image encoding device 6.
  • the moving image encoding device 6 includes a predicted image generation unit 21, a transform / quantization unit 22, an inverse quantization / inverse transform unit 23, an adder 24, a frame memory 25, a loop filter 66, a filter A parameter deriving unit 67, a variable length code encoding unit 28, and a subtractor 29 are provided.
  • the moving image encoding device 2 is a device that generates encoded data # 3 by encoding moving image # 20 (encoding target image).
  • the loop filter 66 includes a filter control unit 661, an adaptive filter memory 662, an adaptive filter unit 663, and a noise removal filter unit 664.
  • the filter control unit 661, the adaptive filter memory 662, the adaptive filter unit 663, and the noise removal filter unit 664 respectively include a filter control unit 561, an adaptive filter memory 562, and a loop filter 56 included in the moving image decoding device 5.
  • the configuration is the same as that of the adaptive filter unit 563 and the noise removal filter unit 564, and the operation thereof has already been described.
  • frame memory 15 and “filter parameter FP ′′ decoded from encoded data # 5” in the description of loop filter 56 are “frame memory 25” and “filter parameter deriving unit 67”, respectively. It shall be read as “filter parameter FP ′′ supplied from”.
  • the filter parameter deriving unit 67 generates a filter parameter FP ′′ that is referred to by the loop filter 56 included in the video decoding device 5 and the loop filter 66 included in the video encoding device 6.
  • the filter parameter derivation unit 67 (1) ON / OFF of each of the noise removal filter unit 664 and the adaptive filter unit 663, (2) Type and combination of images input to adaptive filter unit 663 included in loop filter 66 (one or more of decoded image P, denoised decoded image P_NR, prediction residual D, and predicted image Pred) combination), (3) The number of filter taps acting on the decoded image P, (4) Filter coefficient and offset acting on the decoded image P, (5) The number of filter taps acting on the noise-removed decoded image P_NR, (6) filter coefficients and offsets acting on the denoised decoded image P_NR, (7) The number of filter taps acting on the image indicated by the prediction residual D, (8) filter coefficients and offsets acting on the image indicated by the prediction residual D; (9) The number of filter taps acting on the image indicated by the predicted image Pred, (10) Filter coefficient and offset acting on the image indicated by the predicted image Pred, Are determined so that the coding efficiency is optimal.
  • the filter parameter deriving unit 67 sets the loop filter mode (loop_filter_mode) to one of the values listed below.
  • Loop filter mode 5: When the noise removal filter unit 664 is turned on and the adaptive filter unit 663 is turned on. In the case where the input image to the adaptive filter unit 663 is the decoded image P_NR and the decoded image P with the noise removed.
  • Loop filter mode 6: The noise removal filter unit 664 is turned on and the adaptive filter unit 663 is turned on. In the case where the input image to the adaptive filter unit 663 is the decoded image P_NR with the noise removed and the prediction residual D.
  • Loop filter mode 7: The noise removal filter unit 664 is turned on and the adaptive filter unit 663 is turned on.
  • the prediction In the case of the difference D and the predicted image Pred
  • the operation of the filter parameter deriving unit 67 sets the loop filter mode to 2, 3, or 4, respectively.
  • the operation is the same as the operation of the filter parameter deriving unit 47 included in the video encoding device 4.
  • the operation of the filter parameter deriving unit 67 when the loop filter mode is set to 5 is the same as the operation of the filter parameter deriving unit 27 included in the moving picture coding apparatus 2 when the loop filter mode is set to 4. is there.
  • the operation of the filter parameter deriving unit 67 when the loop filter mode is set to 6 or 7 is the filter parameter deriving unit included in the moving picture coding device 4 when the loop filter mode is set to 5 or 6, respectively.
  • the operation is the same as that of 47.
  • the filter parameter derivation unit 67 includes the number of taps, the filter coefficient, and the offset in the filter parameter FP ′′ for the loop filter mode in which the square error is minimum among the loop filter modes 2 to 7. More generally, the filter parameter derivation unit 67 includes the number of taps, the filter coefficient, and the offset in the filter parameter FP ′′ for the loop filter mode in which the square error is smaller among the loop filter modes 2 to 7.
  • the filter parameter FP ′′ generated in this way is referred to by the video decoding device 5.
  • the filter parameter FP ′′ configured as described above corresponds to the first configuration example of the filter parameter FP ′′ described above.
  • the filter parameter derivation unit 67 replaces the loop filter mode (loop_filter_mode) with a noise removal filter flag (noise_reduction_filter_flag), an adaptive filter flag (adaptive_loop_filter_flag), and a decoded image addition flag (enable_raw_alf) having the following correspondence with the loop filter mode. ), A residual image addition flag (enable_error_alf), and a predicted image addition flag (enable_pred_alf) may be included in the filter parameter FP.
  • the filter parameter FP ′′ used for the filter processing by the loop filter 66 included in the moving image encoding device 6 is set so as to optimize the encoding efficiency. According to the above, encoded data # 5 with high encoding efficiency can be generated.
  • the type of image input to the adaptive filter unit 663 may be specified by information acquired by the moving image encoding device 6 from the outside.
  • the filter parameter deriving unit 67 determines the optimum filter coefficient and offset for the image specified by the information.
  • the filter parameter deriving unit 67 calculates the square error for all 16 possible combinations of the decoded image P, the denoised decoded image P_NR, the prediction residual D, and the prediction image Pred, and calculates the calculated square
  • the number of taps, the filter coefficient, and the offset for the loop filter mode are included in the encoded data FP ′′, the adaptive filter unit 663, and the moving image
  • the adaptive filter unit 563 included in the decoding device 5 performs filter processing using the number of taps, filter coefficients, and offset decoded from the encoded data FP ′′ for the combination of input images specified by the loop filter mode. It is good also as composition which performs.
  • Embodiments 1 to 3 ⁇ Configuration of Noise Removal Filter in Embodiments 1 to 3> Below, the structure of the noise removal filter part 164 in Embodiment 1 is demonstrated. The same applies to the noise removal filter unit 264 in the first embodiment, the noise removal filter units 364 and 464 in the second embodiment, and the noise removal filter units 564 and 664 in the third embodiment.
  • the noise removal filter unit 164 can be configured to reduce block noise that occurs at one or both of the block boundary and the partition boundary in the decoded image P, for example.
  • the pixel value in the removed decoded image P_NR is shown.
  • FIG. 22 is a block diagram illustrating a first configuration example of the noise removal filter unit 164.
  • the noise removal filter unit 164 includes a boundary edge calculation unit 401, an activity calculation unit 402, and a BF pixel generation unit 403.
  • the boundary edge calculation unit 401 calculates the edge strength d at the block boundary based on the pixel values of two pixels adjacent to each other via the block boundary. Specifically, the boundary edge calculation unit 401 calculates the edge strength d using, for example, the following equation.
  • the activity level calculation unit 402 calculates the activity level ap using the following formula, for example.
  • the BF pixel generation unit 403 refers to the edge strength d calculated by the boundary edge calculation unit 401 and the value of the activity ap calculated by the activity calculation unit 402, and from the pixel value of each pixel of the decoded image P, Then, the pixel value of each pixel of the noise-removed decoded image P_NR is generated.
  • the BF pixel generation unit 403 uses the following formula to calculate each pixel of the noise-removed decoded image P_NR.
  • p0 ′ (p2 + 2 ⁇ p1 + 2 ⁇ p0 + 2 ⁇ q0 + q1) / 8
  • p1 ' (p2 + p1 + p0 + q0) / 4
  • p2 ′ (2 ⁇ p3 + 3 ⁇ p2 + p1 + p0 + q0) / 8
  • each pixel value p0 ′ of the noise-removed decoded image P_NR is calculated by the following equation (the same applies to q0 ′).
  • ⁇ and ⁇ represent predetermined threshold values set for the edge strength d and the activity ap, respectively.
  • the processing for the block boundary in the vertical direction is taken as an example.
  • the BF pixel generation unit 403 performs the same processing for the block boundary in the horizontal direction.
  • the BF pixel generation unit 403 performs the same processing not only on the block boundary, that is, the boundary of the conversion unit but also on the boundary of the partition, that is, the boundary of the unit for generating the predicted image.
  • the deblocking process by the noise removal filter unit 164 is not limited to the above example, and a configuration using a conventionally known deblocking process, for example, a configuration using DCT may be used.
  • FIG. 23A is a block diagram illustrating a second configuration example of the noise removal filter unit 164.
  • the noise removal filter unit 164 includes a vertical boundary value reference unit 501, a horizontal boundary value reference unit 502, a target pixel value reference unit 503, a BF weight calculation unit 504, and a weighted average unit 505. It has.
  • the vertical boundary value reference unit 501 included in the noise removal filter unit 164 is a pixel in a block (or partition) adjacent to the block (or partition) to which the filter target pixel belongs, and is adjacent to the vertical boundary closest to the filter target pixel.
  • condition 1 a pixel in a block (or partition) adjacent to the block (or partition) to which the filter target pixel belongs
  • condition 2 a pixel having the same X coordinate as the filter target pixel
  • condition 3 Refers to the pixel value of the pixel closest to the filter target pixel among the pixels satisfying the three conditions of being a pixel adjacent to the block (or partition).
  • a predetermined process for example, a pixel having the smallest X coordinate and Y coordinate.
  • This pixel will be referred to as a vertical boundary pixel XV, and its pixel value will be represented as xv.
  • the horizontal boundary value reference unit 502 refers to a pixel in a block (or partition) adjacent to the block (or partition) to which the filter target pixel belongs, and a pixel adjacent to the horizontal boundary closest to the filter target pixel. This pixel is referred to as a horizontal boundary pixel XH, and its pixel value is represented as xh.
  • the BF weight calculation unit 504 calculates the weight used by the weighted average unit 505 according to the following procedure.
  • the weight is adjusted so as to decrease as the distance from the boundary increases.
  • the BF weight calculation unit 504 calculates the weight pt by the following equation (A2).
  • the weighted average unit 505 removes noise by taking a weighted average of the weights pt, pv, ph, the filter target pixel value xt, the vertical boundary pixel value xv, and the horizontal boundary pixel value xh calculated by the BF weight calculation unit 504.
  • a pixel value xd of the finished decoded image P_NR is calculated. Specifically, it is calculated by the following formula (A3).
  • the shift is preferably about 8.
  • Formula (A3) can be suitably used when calculating by integer arithmetic processing.
  • the adaptive filter unit 163 can use the noise-removed decoded image P_NR with higher accuracy.
  • the filter coefficient in the adaptive filter unit 163 has fixed decimal precision (implemented by converting the decimal precision to a total by integer), and uses a precision higher than the integer precision, so that the value of the reference image with high precision can be used effectively. Therefore, increasing the dynamic range of the noise-removed decoded image P_NR improves the accuracy of reducing coding distortion.
  • clip (x, y, z) indicates an operation for clipping z to be greater than or equal to x and less than or equal to y.
  • Pixel values that are close to each other are often close to each other (xv ⁇ xh ⁇ xt).
  • ph + pv + pt 0, that is, when the sum of weights applied to pixels is 0, the weighted average value is 0. Close to.
  • the dynamic range of the pixel value becomes smaller correspondingly to the correction amount of the pixel value or the difference between the pixel values.
  • the noise-removed decoded pixel P_NR can be stored in bits (here, 8 bits, ⁇ 128 to 127). In this way, when storing the noise-removed decoded pixel P_NR in the temporary buffer (for example, the adaptive filter memory 162), it is possible to reduce the amount of memory required for the temporary buffer.
  • FIG. 24A is a block diagram illustrating a third configuration example of the noise removal filter unit 164.
  • the noise removal filter unit 164 includes a second vertical boundary value reference unit 501b, a second horizontal boundary value reference unit 502b, a second target pixel value reference unit 503b, and a second BF weight calculation.
  • FIG. 24B is a schematic diagram for explaining pixels referred to in the processing of the noise removal filter unit 164.
  • B is a block boundary or a partition boundary.
  • XT is a filter target pixel
  • XV1 and XV2 are vertical block boundary pixels
  • XH1 and XH2 are horizontal block boundary pixels.
  • the noise removal filter unit 164 generates the noise-removed decoded image P_NR with reference to the filter target pixel XT and boundary pixels XV1, XV2, XH1, and XH2 of adjacent blocks.
  • the second vertical boundary value reference unit 501b refers to two vertical boundary pixels existing on the left and right of the filter target pixel. These pixels are XV1 and XV2, and the pixel values are called xv1 and xv2.
  • the second horizontal boundary value reference unit 502b refers to two pixels on the horizontal boundary above and below the pixel to be filtered. These pixels are XH1 and XH2, and the pixel values are called xh1 and xh2.
  • the second target pixel value reference unit 503b refers to the pixel value of the filter target pixel. This pixel is XT, and the pixel value is called xt.
  • the second BF weight calculation unit 504b calculates the weights pt, pv1, pv2, ph1, and ph2 used in the second weighted average unit 505b according to the following procedure.
  • the second BF weight calculation unit 504b calculates the distances Dv1 and Dv2 between the filtering target pixel XT and the vertical boundary pixels XT1 and XT2, and further calculates the distances Dh1 and Dh2 between the filtering target pixel XT and the horizontal boundary pixels XV1 and XV2. calculate.
  • weights pv1, pv2, ph1, and ph2 are calculated from the distances Dv1, Dv2, Dh1, and Dh2 according to the following equations.
  • the weight is adjusted to be smaller as the distance from the boundary is larger.
  • the weight pt is calculated by the following formula.
  • the weight pt is calculated by the following equation (A10) so that the sum of the pixel weights becomes 0, which is also appropriate for suppressing the dynamic range of the pixel value xd of the noise-removed decoded image P_NR.
  • the dynamic range of the deblocking process may be expanded.
  • the round process is deleted by the division (/ 8) generated in the filter process, and the accuracy of the deblock process is increased. Can be improved.
  • the process of returning the dynamic range of the pixel value to the original range is performed by the adaptive filter unit 163. Since the filter coefficient in the adaptive filter unit 163 has fixed decimal precision and uses precision equal to or higher than integer precision, a highly accurate reference image value can be used effectively. Therefore, the expansion of the dynamic range of the noise-removed decoded image P improves the accuracy of coding distortion reduction.
  • ⁇ BF BF-IN More specifically, the BF pixel generation unit 403 in the first configuration example of the noise removal filter unit 164 shown in FIG. 5 may be replaced with the following BF pixel generation unit 403 ′′.
  • the following filter processing is performed.
  • p0 ′ clip ( ⁇ 127, 128, (2 ⁇ p1 + p0 + q0) ⁇ 2 ⁇ 8 ⁇ p0) Note that the pixel value of the portion where the above processing is not performed is 0.
  • the image including the correction amount in the deblocking process is used for the noise-removed decoded image P_NR. It becomes possible to suppress the dynamic range, and it is possible to store the noise-removed decoded image P_NR with a small number of bits (here, 8 bits, ⁇ 128 to 127). In this way, when storing the noise-removed decoded image P_NR in the temporary buffer (for example, the adaptive filter memory 162), it is possible to reduce the amount of memory required for the temporary buffer.
  • the temporary buffer for example, the adaptive filter memory 162
  • the noise removal filter unit 164 may be configured to output an image having a value ⁇ BF expressed by the following expression as a pixel value. Since the inverse operation of the process of emphasizing block noise results in block noise reduction, it is possible to obtain a block noise reduction effect and a deblocking strength adjustment effect by weighting the adaptive filter unit 163 even with an appropriate block noise enhancement filter. it can.
  • ⁇ BF ′ (BF ⁇ IN) ⁇ 2 + IN
  • the noise removal filter unit 164 refers to the boundary and pixels near the boundary. In general, the process of approaching the boundary pixel value reduces the block noise, so that the block noise reduction effect can be obtained in this configuration (conversely, the block noise reduction effect can be weakened by moving away from the boundary pixel value). Since the noise-removed decoded image P_NR is used as an input to the adaptive filter unit 163, the adaptive filter unit 163 can adjust the strength of block noise reduction (that is, a deblocking strength adjustment effect can be obtained).
  • the pixel near the boundary is referred to when the pixel to be filtered is in the vicinity of the boundary or the like. It depends on the relationship. For this reason, in order to change the weights of the pixels near the boundary, it is necessary to use different filter coefficients depending on the positional relationship with the boundary. In such a configuration, the code amount of the filter coefficient increases. In the embodiment, the deblocking strength adjustment effect can be obtained with a small amount of code by the noise removal filter unit 164 explicitly referring to pixels near the boundary with weights considering the positional relationship with the boundary.
  • FIG. 25A is a schematic diagram for explaining pixels referred to in the processing of the noise removal filter unit 164.
  • a macroblock is a processing unit corresponding to an LCU.
  • Condition 3 The absolute value difference of the horizontal component or the vertical component of the motion vector used for prediction of the block A and the block B is 4 or more with 1/4 pixel as a unit.
  • ⁇ in the condition 4 may be a value different from ⁇ used in the configuration examples 1 to 3 of the noise removal filter unit 164.
  • the noise removal filter unit 164 does not perform the deblocking process on the boundary between the block A and the block B when any of the following conditions 5 to 9 is satisfied.
  • Condition 7 The boundary between the block A and the block B exists inside the enlarged macroblock LMB32.
  • Condition 8 The boundary between the block A and the block B exists inside the enlarged macroblock LMB64.
  • any one of two types of filtering that is, a weak filter (weak filtering) and a strong filter (strong filtering) is performed as the deblocking process.
  • Condition 12
  • t C and ⁇ depend on the quantization parameter qp.
  • noise removal filter unit 164 may be a non-linear denoising filter (NDF) instead of the configuration for reducing block noise.
  • NDF non-linear denoising filter
  • the noise removal filter unit 164 performs (1) decoded image DCT conversion, and (2) minute coefficient removal processing that sets a frequency component equal to or lower than a predetermined threshold among the frequency components after DCT conversion to 0. (3)
  • the pixel value of the decoded image P_NR after noise removal may be calculated by performing inverse DCT transform on each frequency component after performing the minute coefficient removal processing.
  • the noise removal filter unit 164 is configured to include both the configuration of (Configuration Example 1) to (Configuration Example 4) and the configuration of the non-linear denoising filter.
  • the configuration may be such that the noise-removed decoded image P_NR is generated by performing both blocking processing and nonlinear denoising processing.
  • image data image information
  • prediction is performed in units of divided prediction blocks
  • a difference (residual) between the prediction image and the input image is orthogonally transformed.
  • the orthogonal transformation of the difference (residual) is performed in units of transform blocks that are the same as the prediction block or that are determined independently of the prediction block.
  • large distortion so-called block noise
  • various coding noises such as blur and mosquito noise are generated.
  • a technique for performing a filtering process on a decoded image used as a reference image at the time of prediction is disclosed.
  • a technique called an adaptive loop filter (adaptive loop filter, hereinafter referred to as ALF) that performs spatial filter processing by a weighted sum of ⁇ 9 pixels is disclosed.
  • ALF adaptive loop filter
  • predictive coding is performed using a weighting coefficient that has already been coded, and the coding amount of the weighting coefficient is reduced by coding a prediction error of the weighting coefficient.
  • the predictive coding of the weighting coefficient is also performed in the 3-input ALF.
  • the encoding of the weighting coefficient is performed in the order of the post-DNF image, the predicted image, and the error image.
  • the weighting coefficient applied to the central element of the predicted image is predicted from the encoded weighting coefficient applied to the central element of the post-DNF image.
  • the difference value is encoded.
  • the weighting coefficient applied to the central element of the error image is predicted from the decoded weighting coefficient applied to the central element of the post-DNF image and the weighting coefficient applied to the central element of the predicted image, and the difference value is encoded.
  • weighting coefficient prediction is performed in the same order as encoding.
  • the moving picture decoding apparatus configured as described above can accurately predict the filter coefficient by the weight coefficient sum calculation means applicable even when there are a plurality of types of signals as the input image. Is possible. Therefore, the code amount of the filter coefficient encoded as the prediction difference value can be reduced.
  • Adaptive filter Prior to the description of the video decoding device 7 according to the present embodiment, the adaptive filter used in the video encoding device 8 and the video decoding device 7 according to the present embodiment will be briefly described. Next, the concept of a filter coefficient prediction method used in the adaptive filter will be described.
  • the adaptive filter is a Wiener filter using a filter coefficient that is optimized so that the square error between the original image and the output image of the adaptive filter processing becomes smaller.
  • the optimum filter coefficient calculated by the moving image encoding device is transmitted to the moving image decoding device through the encoded data.
  • filter coefficients are decoded from the encoded data, and a filter process is performed by the product sum of the decoded filter coefficients and the input signal of the adaptive filter.
  • the input signal of the adaptive filter a plurality of types of signals can be used.
  • the decoded image in addition to the decoded image obtained by the video decoding device, the decoded image is referred to as a noise reduction filter (Noise Reduction Filter, NRF). ) Is also used as an input signal.
  • NRF Noise Reduction Filter
  • a decoded image that is an input image of the noise reduction filter is referred to as a pre-NRF image
  • an image after the noise reduction filter is referred to as a post-NRF image.
  • the expression (1-1) can be expressed using the one-dimensional index k instead of the two-dimensional indexes u, v. It can be expressed as equation (1-1 ′).
  • NumM and NumN are the numbers of weight coefficients for the pre-NRF image and the post-NRF image, respectively.
  • the expression (1-4b) is expressed by the following expression (1-6).
  • the sum obtained by multiplying the weighting factor by the contribution rate (hereinafter referred to as the weighting factor sum) has a property of approximately 1.
  • the contribution rates mag_a and mag_b are 1, the following expression (1-6 ′) is established.
  • the weight coefficient is predicted using the property that the weighted linear sum considering the contribution ratio of the input signal is about 1.
  • the predicted value pred_bi is as follows: You can get like that.
  • the expression (1-6) the following expression (1-7a) is obtained by dividing the expression into a sum obtained by replacing the prediction target weight coefficient bi and the prediction target weight coefficient bi with pred_bi.
  • the sum of the values is obtained. This corresponds to obtaining the sum from 0 to i-1 and from i + 1 to NumN-1.
  • the weighting factors to be predicted are ai and bj, and the predicted value ai_pred of ai and the predicted value bj_pred of bj.
  • i and j are indexes indicating the weighting coefficients to be predicted, i is a value from 0 to NumM-1, and j is a value from 0 to NumN-1.
  • the following formula (1-8) is obtained from the formula (1-6).
  • Equation (1-13) means that the predicted value of the offset o can be obtained by multiplying the value obtained by subtracting the product sum of the weighting factor and the contribution rate from 1 by the average value of SALF. Assuming that AVEVAL is the expected value of SALF and sum is the product sum of the contribution rate and the weighting coefficient, the formula for calculating the predicted value pred_o of the offset o is obtained by the following formula (1-14).
  • the pre-NRF weighting factor a k , the post-NRF weighting factor b k , and the offset o are quantized and predictively encoded.
  • the weight coefficient and offset of the Wiener filter are decimal numbers, but a value that is converted into an integer by quantization is used in the encoded data.
  • bit_depth bits an integer value obtained by multiplying the weighting coefficient of decimal precision by 1 ⁇ bit_depth is used.
  • is a symbol indicating a left shift.
  • the weight coefficient and the offset are collectively referred to as a filter coefficient. (Configuration of weighting factor) With reference to FIG.
  • 42 the structure of the weighting factor in the encoded data and the corresponding position of the weighting factor in the two-dimensional filter will be described.
  • 42 (a), (b), and (c) show weighting coefficients when the number of taps is 1, 3, and 5, respectively.
  • the left side of the figure shows the configuration of the weighting factors in the encoded data, and each of 1, 5, and 13 weighting factors is one-dimensionally ordered.
  • the right side of FIG. 42 shows the corresponding position of the weighting coefficient when used as a two-dimensional filter.
  • the two-dimensional filter is a filter that calculates a weighted average obtained by multiplying a weighting coefficient corresponding to a pixel to be filtered and pixel values located around the pixel to be filtered.
  • the same weighting factor is assigned to pixels located symmetrically with respect to the filter target pixel.
  • the encoded data input to the video decoding device 7 is first input to the variable length encoding / decoding unit 114.
  • the variable-length encoding / decoding unit 114 performs adaptive-length filter of encoded data, adaptive filter information including weighting coefficients used for filter processing, MB parameters indicating a prediction method and a conversion method, and converted / quantized conversion coefficients
  • the residual information is decoded.
  • the inverse quantization unit 115 inversely quantizes the transformed / quantized residual image input from the variable length coding / decoding unit 114.
  • the inverse transformation unit 116 inversely transforms the inversely quantized signal input from the inverse quantization unit 115 to generate a residual image.
  • the prediction unit 111 receives the MB parameter decoded from the variable length coding / decoding unit 114 and generates a prediction image using the decoded image (decoded image) stored in the frame memory 117 according to the MB parameter.
  • the MB parameter includes a block type, a prediction block size, a transform block size, and a prediction parameter.
  • the block type indicates whether it is an intra block or an inter block.
  • a prediction image is generated with reference to a decoded image (frame memory image) before loop filter processing, which will be described later.
  • a prediction image is referred to with reference to a decoded image after loop filter processing. Is generated.
  • the prediction block size indicates whether the prediction block size is 16 ⁇ 16, 8 ⁇ 8, or 4 ⁇ 4, and the conversion block size is 16 ⁇ 16, 8 ⁇ 8, Indicates 4x4.
  • the prediction parameter varies depending on the block type. In the case of an intra block, the prediction parameter is an intra prediction mode indicating whether DC prediction or direction prediction is used. In the case of an inter block, it is a motion vector and a reference index. The reference index is an identifier for designating a reference frame when there are a plurality of frames that can be referred to in the frame memory. Note that the block type, prediction block size, transform block size, prediction parameter, and the like are not limited to this configuration.
  • the addition unit 109 generates a decoded image by adding the prediction image input from the prediction unit 111 and the residual image input from the inverse transformation unit 116 and stores the decoded image in the frame memory 117.
  • the weighting factor included in the adaptive filter information subjected to variable length decoding by the variable length encoding / decoding unit 114 is partly or entirely subjected to predictive encoding. When it is not predictively encoded, it is the weighting coefficient itself, and when it is predictively encoded, it is the prediction difference value of the filter coefficient. Here, the value at the time of encoding together is called a filter coefficient encoded value. These encoded filter coefficient values are once stored in the adaptive filter information storage unit 119.
  • the filter coefficient prediction decoding unit 201 restores the filter coefficient from the filter coefficient encoded value stored in the adaptive filter information storage unit 119.
  • the restored weighting factor is stored again in the adaptive filter information storage unit 119.
  • the loop filter unit 120 reads out the restored adaptive filter information stored in the adaptive filter information storage unit 119, performs a filtering process on the decoded image stored in the frame memory 117, and writes it back to the frame memory 117 again.
  • the filter coefficient predictive decoding unit 201 includes a filter coefficient prediction unit 202 and an addition unit 205 in the filter set.
  • the filter coefficient prediction decoding unit 201 restores a target filter coefficient from the difference value. Although the target filter coefficient may be one or plural, restoration is performed one by one.
  • the intra-filter-set filter coefficient prediction unit 202 calculates the predicted value of the target filter coefficient using another filter coefficient in the current slice input from the adaptive filter information storage unit 119.
  • the adding unit 205 restores the filter coefficient by calculating the sum of the calculated predicted value of the filter coefficient and the difference value of the filter coefficient decoded from the encoded data.
  • the filter coefficient prediction unit 202 in the filter set includes a prediction target coefficient identification unit 1501, a weight coefficient sum calculation unit 1502, a filter coefficient prediction unit 1503, and a contribution rate calculation unit 1505.
  • the filter coefficient prediction unit 202 in the filter set calculates a prediction value of the filter coefficient for the prediction-encoded filter coefficient, and restores the filter coefficient from the sum with the filter coefficient encoded value that is the difference value.
  • the filter coefficient prediction unit 202 in the filter set receives the number of weight coefficients NumM, NumN, and filter coefficients.
  • the number of filter coefficients is NumM + NumN + 1, and is input in the order of the weight coefficient applied to the pre-NRF image, the weight coefficient applied to the post-NRF image, and the offset.
  • a value indicating the order of input is called an index l.
  • the index l takes a value from 0 to NumM + NumN.
  • the number of filter coefficients NumM, NumN, and filter coefficients are input to the prediction target coefficient specifying unit 1501.
  • the prediction target coefficient specifying unit 1501 uses the index l to determine whether each filter coefficient input to the filter coefficient prediction unit 202 in the filter set is a predicted filter coefficient (difference value) or the filter coefficient itself. Determine if it exists.
  • the filter coefficient input to the filter coefficient prediction unit 202 in the filter set is the filter coefficient itself, the value of the filter coefficient is output to the weight coefficient sum calculation unit 1502 as it is. If it is a predicted filter coefficient, 0 is output to the weight coefficient sum calculation unit 1502. (Weighting coefficient sum calculation unit 1502) The weight coefficient sum calculation unit 1502 calculates the weight coefficient sum sum by the following equation (5-2).
  • mag (l) indicates the contribution rate of the weighting factor w (l) of the index 1 and is calculated by a contribution rate calculation unit 1505 described later.
  • the predicted filter coefficient is previously input as 0 in the prediction target coefficient specifying unit 1501, it is not used for calculating the weighting coefficient sum sum.
  • the filter coefficient prediction unit 1503 calculates a predicted value as follows according to the type of filter coefficient to be predicted and the number of predicted filter coefficients.
  • the weighting coefficient predicted value pred is calculated from the weighting coefficient sum sum using the following equation (5-3).
  • bit_depth indicates the accuracy of quantization of the weight coefficient
  • mag is the contribution ratio of the weight coefficient to be predicted.
  • the contribution rate mag is calculated by the contribution rate calculation unit 1505.
  • a prediction value of the weighting coefficient is calculated from the weighting coefficient sum sum using the following equation (5-3 ′).
  • sum_mag is the sum of the contribution ratios of a plurality of weighting factors.
  • the prediction value calculation represented by the equation (5-3 ′) is repeatedly performed and restored.
  • the prediction value calculation represented by the equation (5-3 ′) is repeatedly performed and restored.
  • the prediction value calculation represented by the equation (5-3 ′) is repeatedly performed and restored.
  • the prediction value pred_o is calculated from the weight coefficient sum sum using the following equation (5-3 ′′).
  • AVEVAL is a predetermined value, and a slice average value of the decoded image is preferable.
  • a fixed value may be used in order to omit the process of obtaining the slice average value.
  • the decoded image to which the loop filter is applied is a luminance signal
  • the bit depth of the luminance signal is 8 bits
  • about 90 to 100 is preferable.
  • the average value varies depending on the bit depth, when the luminance signal bit depth luma_bit_depth is obtained, for example, 100 ⁇ (luma_bit_depth-8) based on the value 100 used in the case of 8 bits. It is preferable to change AVEVAL according to the bit depth.
  • AVEVAL may be changed according to the bit depth of the color difference signal, such as 128 ⁇ (chroma_bit_depth-8).
  • the weighting coefficient a NumM-1 (here a12) applied to the central element of the pre- NRF image, the weight coefficient b NumN-1 (here b0) applied to the central element of the post-NRF image, and the offset o are predicted codes.
  • the difference value obtained by converting is encoded.
  • the other filter coefficients are themselves encoded.
  • the values encoded as the difference values are displayed with a mark such as a12 ′, b0 ′, o ′.
  • the filter coefficient to be predicted is placed at the end of the encoded data.
  • decoding is performed in the order of encoded data, that is, a12, b0, and o. Note that the processing can be facilitated if the encoded data order and the decoding order are the same, but the decoding process can be performed regardless of the encoded data order.
  • the predicted value of the weighting coefficient a12 applied to the central element of the pre-NRF image is obtained as shown in the following expression (26) by the expression (5-3 ′).
  • the prediction target coefficient a12 is not used for calculating the weight coefficient sum.
  • the numerator is the weight coefficient sum calculated by the weight coefficient sum calculation unit 1502
  • the denominator is the sum of the contribution rates calculated by the contribution rate calculation unit 1505.
  • the weighting factor a12 can be restored by the following equation.
  • the predicted value is calculated using the restored a12.
  • the weight coefficient sum calculation unit 1502 calculates the weight coefficient sum.
  • any weight coefficient can be predicted by the above method. Therefore, the weighting factor a NumM-1 (hereinafter referred to as ac) applied to the central element of the pre- NRF image and the weighting factor b NumN-1 (hereinafter referred to as bc) applied to the central element of the post-NRF image are restored. It is.
  • ac NumM-1
  • bc NumN-1
  • a weighting factor other than the weighting factor applied to the central element often takes a value close to 0. Therefore, a variable length code that encodes a value close to 0 with a short code length and encodes with a long code length as the distance from 0 increases. Is used.
  • the weighting coefficient applied to the central element it is not close to 0, so that a difference value from the predicted value for performing the prediction may be encoded. In the case of prediction, the larger the weighting coefficient and the higher the prediction accuracy (smaller the prediction difference value), the greater the effect.
  • the weight coefficient restored at the end can be restored with high accuracy. Therefore, the weighting factor restored last is preferably the largest of the weighting factors.
  • an image close to the original image is generated by using the weighting of the pre-NRF image and the post-NRF image as shown in Expression (1-1).
  • the post-NRF image to which a noise reduction filter is applied is often closer to the original image than the pre-NRF image.
  • the weight coefficient to be encoded (restored) last is bc and the weight coefficient to be encoded (restored) immediately before is ac.
  • the contribution rate calculation unit 1505 includes a type specifying unit 601, a type contribution rate calculation unit 602, a reference signal number calculation unit 603, and a multiplication unit 604.
  • the type specifying unit 601 receives the index l corresponding to the weighting factor, and outputs the type information of the weighting factor from each index l as follows.
  • a type identifier (here, 0) indicating that the type information of the weighting coefficient is the pre-NRF image is output. Since the index 1 from NumM to NumM + NumN ⁇ 1 is a filter coefficient related to the post-NRF image, a type identifier (here, 1) indicating that the type information of the weighting coefficient is the post-NRF image is output. When the index 1 is NumM + NumN, it is an offset, so a type identifier (here, 5) indicating that the type information of the weighting factor is an offset is output. (Type contribution rate calculation unit 602) The type contribution rate calculating unit 602 receives type information from the type specifying unit 601 and outputs a type contribution rate kind_mag. The type contribution rate kind_mag in this embodiment is calculated as follows.
  • kind_mag is a predetermined value calculated using the following equation (6-2) for each type of input signal of the adaptive filter (the type of weighting factor to which the weighting factor applies).
  • E (X) represents the slice average for X.
  • the input signal of the adaptive filter is a pre-NRF image or a post-NRF image.
  • the slice average E (X) is experimentally obtained by taking the average of X in a slice. However, in practice, it is not necessary to obtain by experiment, and it can be conceptually determined in advance as described below.
  • the filter coefficient kind_mag for the pre-NRF image is 1 according to equation (6-2). It is determined. Further, since the slice average value of the post-NRF image and the slice average of the output of the adaptive filter are considered to be substantially equal, the filter coefficient kind_mag for the post-NRF image is also set to 1.
  • the input type is 1 when the filter is applied to the pre-NRF image or the filter applied to the post-NRF image, and 0 is set otherwise. Calculate the value.
  • the input type is a predicted image or a residual image.
  • the reference signal number calculation unit 603 receives the index l and outputs the reference signal number ref_num. A method for calculating ref_num will be described below with reference to FIG. 42 again.
  • the weighting coefficient of the adaptive filter is often reduced in the number of weighting coefficients to be encoded using symmetry.
  • the number of weight coefficients input to the adaptive filter is smaller than the number of input signals of the adaptive filter, and one weight coefficient is used for a plurality of input signals.
  • the reference signal number ref_num is the number of input signals referred to the weighting factor.
  • the reference signal number ref_num of the filter coefficient concerning the center pixel is 1, and the reference signal number ref_num of the filter coefficient concerning the other pixels is 2.
  • the number of filter coefficient reference signals applied to the pixels other than the central element is 2 when vertically and horizontally symmetric, and 4 when vertically and horizontally symmetrical.
  • the reference signal number ref_num is 1.
  • FIG. 32 is a block diagram showing another configuration (filter coefficient prediction decoding unit 201 ′) of the filter coefficient prediction decoding unit 201.
  • the filter coefficient prediction decoding unit 201 ′ includes a filter coefficient prediction unit 202 in the filter set, a filter It comprises an inter-set filter coefficient prediction unit 203, a prediction method switching unit 204, and an addition unit 205.
  • the filter coefficient prediction unit 202 in the filter set is means for predicting the filter coefficient using the decoded filter coefficient included in the filter set of the slice.
  • the inter-filter-set filter coefficient predicting unit 203 is a means for predicting a filter coefficient using a filter set included in a past slice that has already been decoded.
  • the prediction method switching unit 204 uses the prediction value by the filter coefficient prediction unit 202 in the filter set when the filter coefficient to be predicted is the weighting coefficient bc applied to the central element of the post-NRF image, and otherwise.
  • the prediction value by the filter coefficient prediction unit 203 between filter sets is used.
  • the addition unit 205 restores the filter coefficient by adding the predicted value of the filter coefficient and the difference value.
  • the restored filter coefficient is stored in the adaptive filter information storage unit 119.
  • FIG. 33 is a block diagram showing a configuration of the filter coefficient prediction unit 203 between filter sets.
  • the inter-filter set filter coefficient prediction unit 203 includes a corresponding filter coefficient reference unit 1506.
  • the corresponding filter coefficient reference unit 1506 calculates a predicted value of the filter coefficient using the filter coefficient set decoded by the past slice stored in the adaptive filter information storage unit 119. Specifically, filter coefficients of the same type and the same position are set as predicted values. Assuming that the filter value at the current slice t is the filter coefficient before NRF is ak (t), the filter coefficient after NRF is bk (t), and the predicted values are pred_ak (t) and pred_bk (t), The predicted value can be obtained.
  • pred_ak (t) ak (t-1) (5-6a)
  • pred_bk (t) bk (t-1) (5-6b)
  • a prediction value is obtained using the filter coefficient of the previous slice t-1.
  • the predicted value is set to 0 when there is no corresponding filter coefficient. . Also, the predicted value is set to 0 even when there is no already decoded filter coefficient set such as the first slice.
  • the filter coefficient predicting / decoding unit 201 ′ configured as described above is a filter capable of accurately predicting the filter coefficient related to the central element of the post-NRF image that is the output of the noise reduction filter unit, which is often the largest value.
  • intra-set prediction and using inter-filter set prediction for other filter coefficients intra-filter set prediction that predicts with high accuracy for a small number of filter coefficients and prediction for many filter coefficients are possible. It is possible to take advantage of both features of inter-filter set prediction that it is possible. Therefore, the code amount of the filter coefficient can be reduced.
  • FIG. 34 is a diagram illustrating an internal configuration of the loop filter unit 120.
  • the loop filter unit 120 includes a noise reduction filter unit (NRF unit) 301 and an adaptive filter unit 302.
  • the loop filter unit 120 is a means for generating an image with reduced coding distortion using the decoded image stored in the frame memory 117 and the adaptive filter information stored in the adaptive filter information storage unit 119.
  • the NRF unit 301 is a filter that reduces coding noise, and a deblocking filter, a denoising filter, or the like can be used.
  • the adaptive filter unit 302 is a means for performing filter processing by weighted average using the weighting factor and offset included in the adaptive filter information.
  • the adaptive filter unit 302 includes two input images, one is a decoded image (post-NRF image) processed by the NRF unit 301, and the other is a decoded image (pre-NRF image) before processing by the NRF unit 301. is there.
  • the processing unit of the loop filter unit 120, the NRF unit 301, and the adaptive filter unit 302 may be a frame, a slice, a block, or a pixel. (NRF unit 301)
  • NRF unit 301 an example in which the NRF unit 301 is a deblocking filter will be described in detail.
  • FIG. 36 is a diagram schematically illustrating pixels at a boundary portion of a block. In FIG.
  • a pixel of one block is a pixel Pi and a pixel of the other block is a pixel Qi (i is an integer from 0 to n). Note that i in the pixel Pi and the pixel Qi corresponds to the distance from the block boundary.
  • the pixel values corresponding to the pixel Pi and the pixel Qi are shown as the pixel value pi and the pixel value qi, respectively, and the processed pixel value corresponding to the unprocessed pixel value pk in the processing target pixel Pk is shown. It is shown as pk ′.
  • k is an integer that takes a value from 0 to the block size (k is 0 to n).
  • FIG. 35 is a diagram showing an internal configuration of the NRF unit 301.
  • the NRF unit 301 includes a boundary edge calculation unit 1401, an activity calculation unit 1402, and an NRF pixel generation unit 1403.
  • the boundary edge calculation unit 1401 calculates the edge strength d of the boundary using the following equation (4-1).
  • the activity calculation unit 1402 calculates a value ap representing the activity using the following equation (4-2).
  • the degree of activity is used to calculate the state of unevenness or the magnitude of the gradient near the boundary and the filter target pixel.
  • the NRF pixel generation unit 1403 performs the following filtering process when the calculated “d” and “ap” are d ⁇ and ap ⁇ with respect to the predetermined threshold values ⁇ and ⁇ .
  • p0 ′ (p2 + 2 ⁇ p1 + 2 ⁇ p0 + 2 ⁇ q0 + q1) / 8
  • p1 ' (p2 + p1 + p0 + q0) / 4
  • p2 ′ (2 ⁇ p3 + 3 ⁇ p2 + p1 + p0 + q0) / 8 Otherwise, the following filter is applied.
  • the NRF unit 301 performs the above processing on the boundary of the prediction block and the boundary of the transform block. More specifically, processing is first performed on the vertical boundary between the prediction block and the transform block, and then processing is performed on the horizontal boundary between the prediction block and the transform block. Thereby, the post-NRF pixel value Snrf is obtained.
  • the NRF unit 301 configured as described above can perform block noise reduction processing in which the filter strength is adjusted so that a strong filter is not applied when the edge strength or activity of the boundary is large.
  • the adaptive filter unit 302 includes a decoded image adaptive weighting unit 701, a post-NRF image adaptive weighting unit 702, and a shift / division unit 703.
  • the adaptive filter unit 302 performs a filter process expressed by the following equation (7-1).
  • shift is a shift value for executing division, and the same value as bit_depth used for quantization of the filter coefficient is used.
  • total2 is a value calculated by 1 ⁇ (shift-1) and is used for rounding (rounding off).
  • the meaning of equation (7-1) is almost the same as equation (1-1) above, but after weighting factors ak, bk and offset are quantized, rounding and division are added. Yes.
  • the filter processing itself is the same as that in Equation 1-1, rounding and division processing are added to Equation (7-1) along with the use of integerized filter coefficients in order to facilitate calculation. .
  • a k expressed using the value k after being converted from the two-dimensional index (u, v) to the one-dimensional index k is used.
  • FIG. 27 is a block diagram showing the configuration of the moving picture encoding device 8.
  • the same members as those of the video decoding device 7 are denoted by the same reference numerals, and the description thereof is omitted.
  • the inverse quantization unit 115 inversely quantizes the quantized transform coefficient.
  • the inverse transform unit 116 inversely transforms the inversely quantized transform coefficient to calculate a residual block.
  • the adder 109 calculates the sum of the residual block and the prediction block and reproduces the input block. The reproduced block is stored in the frame memory 117.
  • FIG. 39 is a diagram illustrating another configuration of the filter coefficient prediction encoding unit 211 (filter coefficient prediction encoding unit 211 ′).
  • the filter coefficient prediction encoding unit 211 ′ includes a filter coefficient prediction unit 202 within a filter set, a filter coefficient prediction unit 203 between filter sets, a prediction method switching unit 204, and a subtraction unit 206.
  • the intra-filter-set filter coefficient prediction unit 202, the inter-filter-set filter coefficient prediction unit 203, and the prediction method switching unit 204 are as described above in the video decoding device 7, and calculate the predicted value of the filter coefficient.
  • the subtraction unit 206 calculates the difference between the filter coefficient and the predicted value. The calculated difference value is encoded by the variable length encoding unit 214.
  • f is an abbreviation of “float”, which means that a weighting coefficient is calculated as a decimal number in the least square method.
  • the filter reference regions Rdec and Rnrf are set on the decoded images Sdec and Snrf according to the position of the pixel (filter target pixel) for which the pixel value after filtering is calculated.
  • the filter reference area Rdec is an M ⁇ M rectangular area
  • the filter reference area Rnrf is an N ⁇ N rectangular area.
  • Formula (8-1) is rewritten into the following formula (8-2) using the weighting factors af k and bf k and the offset of as parameters.
  • weighting factors ak and bk corresponding to relative positions (u, v) are used.
  • the sum related to (u, v) is replaced with the sum related to k.
  • k since there are two correspondences from k to (u, v), one is expressed as (uk, vk) and the other is expressed as (uk ′, vk ′).
  • u and v are calculated from k0 and k0 ′ using the following equations.
  • % is an operation for calculating a remainder
  • / is an operation for dividing and rounding down to the nearest whole number
  • ofst M / 2.
  • equation (8-2) can be expressed as equation (8-3).
  • the equation (8-3) is regarded as an equation of parameters af k , bf k , and of, and partial differentiation is performed on each parameter, which is set to zero.
  • simultaneous equations of NumM + NumN + 1 number of parameters called normal equations are obtained.
  • the optimum estimated value afe of af k By solving the obtained equation by a Gaussian elimination method or the like, the optimum estimated value afe of af k , the optimum estimated values bfe of bf k , and the optimum estimated value of of can be obtained. These sets of weighting factors are called estimated values zfe. Note that the pixel value Snrf after NRF is calculated by operating the NRF unit 301 in the loop filter unit 120.
  • the calculation of the least square method is performed in advance by setting the number of filter taps M applied to the pre-NRF image and the number of filter taps N applied to the post-NRF image to specific values.
  • the least square method is performed on all possible combinations of M and N by the processing expressed by the following pseudo code, and the optimal combination Optimization is performed by selecting a combination of M and N.
  • COSTMIN 0x7FFFFFFF (a sufficiently large value, here the maximum value of a 32-bit signed integer is set)
  • LOOP (M 1, 3, 5)
  • LOOP (N 1, 3, 5)
  • LOOP (N 1, 3, 5)
  • PN, EN, and N have values of 1, 3, and 5
  • NumPN, NumEN, and NumN are the number of weighting coefficients for the prediction image, the number of weighting coefficients for the residual image, This is the number of weighting factors applied to the post-NRF image.
  • any or all of the tap numbers EN, PN, and N may be fixed values determined in advance without being explicitly encoded. (Basic concept of the fifth embodiment) Subsequently, a brief description of the adaptive filter in the present embodiment will be given, and a concept related to prediction of weighting factors used in the adaptive filter in the present embodiment will be described.
  • SALF is the pixel value after the adaptive filter
  • pred is the pixel value of the predicted image
  • error is the pixel value of the residual image
  • Snrf is the pixel value after NRF.
  • U, v indicates a relative position from the position (x, y) of the filter target pixel.
  • c (u, v), d (u, v), and b (u, v) are the weighting coefficient applied to the prediction image corresponding to the relative position (u, v), the weighting coefficient applied to the residual image, and after NRF. This is a weighting factor for the image.
  • o is an offset.
  • Rpred indicates a region (hereinafter referred to as “filter reference region Rpred”) referred to in the filtering process of the predicted image.
  • Rerror indicates an area referred to in the residual image filtering process (hereinafter referred to as “filter reference area Rerror”).
  • Rnrf represents a region referred to in the filter processing of the post-NRF image (hereinafter referred to as “filter reference region Rnrd”).
  • the filter reference regions Rpred, Rerror, and Rnrf are set on the predicted image pred, the residual image error, and the post-NRF image Snrf according to the position of the pixel (filter target pixel) for which the pixel value after filtering is calculated. Is done.
  • the filter reference regions Rpred, Rerror, and Rnrf are a PN ⁇ PN rectangular region, an EN ⁇ EN rectangular region, and an N ⁇ N rectangular region, respectively.
  • pred k pred (u, v)
  • error k error (u, v)
  • Snrf k Snrf (u, v).
  • mag_c contribution ratios given by the following formulas.
  • the weighting coefficient is predicted using the property that the weighted linear sum considering the contribution ratio of the input signal is 1.
  • the weighting coefficients to be predicted are ci0, di1, and bi2, and the predicted values pred_ci0 and dj are predicted values cid and pred_di1 and bi2.
  • i0, i1, and i2 are indexes indicating the weighting factors to be predicted, i0 ranges from 0 to NumPN-1, i1 ranges from 0 to NumEN-1, and i2 ranges from 0 to NumN-1. Note that the index here is different from the description of the weight coefficient sum calculation unit, and is described by giving an individual index for each type.
  • FIG. 40 is a block diagram showing a configuration of a video decoding device 7 ′ according to the fifth embodiment.
  • the video decoding device 7 ′ includes a prediction unit 111, a variable length coding / decoding unit 114, an inverse quantization unit 115, an inverse transform unit 116, a frame memory 117, and adaptive filter information.
  • the storage unit 119, the filter coefficient prediction decoding unit 201, the loop filter unit 120 ′, and the addition unit 109 are included.
  • the operation of the video decoding device 7 ′ will be described below. Since the variable length coding / decoding unit 114, the inverse quantization unit 115, the inverse transformation unit 116, the frame memory 117, the adaptive filter information storage unit 119, and the addition unit 109 are the same as those in the fourth embodiment, the description thereof is omitted.
  • the loop filter unit 120 ′ includes an NRF unit 301 and an adaptive filter unit 302 ′.
  • the feature of the loop filter unit 120 ′ is that three signals of the post-NRF image, the predicted image # 111, and the residual image # 116 are used as input signals to the adaptive filter unit 302 ′.
  • Adaptive filter unit 302 ' Here, the adaptive filter unit 302 ′ will be described in detail with reference to FIG.
  • the adaptive filter unit 302 ′ includes a predicted image adaptive weighting unit 704, a residual image adaptive weighting unit 705, a post-NRF image adaptive weighting unit 702, and a shift / division unit 703.
  • NumPN (PN ⁇ PN + 1) / 2
  • NumEN (EN ⁇ EN + 1) / 2
  • NumN (N ⁇ N + 1) / 2.
  • the adaptive filter unit 302 ′ performs a filter process expressed by the following equation (7-1 ′).
  • b (u, v), c (u, v), and d (u, v) are the weighting coefficient for the post-NRF pixel value corresponding to the relative position (u, v), the weighting coefficient for the predicted image, and the remaining It is a weighting coefficient concerning a difference image.
  • o is an offset
  • shift is a shift value for performing division.
  • Rpred, Rerror, and Rnrf are the filter reference region Rpred, filter reference region Rerror, and filter reference region Rnrf already described.
  • the weighting factor c NumPN-1 (here c4) applied to the central element of the predicted image
  • the weighting factor d NumEN-1 (here d0) applied to the central element of the residual image
  • the central element of the post- NRF image The weight coefficient b NumN-1 (here b12) and the offset o are predictively encoded, and the other filter coefficients are encoded as they are.
  • the values that have been predictively encoded are displayed with a symbol such as c4 ′, d0 ′, b12 ′, and o ′.
  • the filter coefficient to be predicted is placed at the end of the encoded data.
  • decoding is performed in the order of encoded data, that is, c4, d0, b12, and o.
  • the predicted value of the weighting coefficient c4 applied to the central element of the predicted image is obtained by the following equation (52) by the equation (5-3 ′).
  • an image close to the original original image is generated using the weighting of the predicted image, the residual image, and the post-NRF image.
  • the post-NRF image which is a noise reduction filter, is often closer to the original image than the predicted image and the residual image. Therefore, the maximum weight coefficient is the weight coefficient bc applied to the central element of the post-NRF image.
  • a type identifier (here, 3) indicating that the type information of the weighting factor is a predicted image is output. Since the index l is a coefficient related to the residual image from NumPN to NumPN + NumEN ⁇ 1, a type identifier (here, 4) indicating that the type information of the weighting coefficient is a residual image is output. Since the index 1 from NumPN + NumEN to NumPN + NumEN + NumN ⁇ 1 is a coefficient related to the post-NRF image, a type identifier (here, 2) indicating that the type information of the weighting coefficient is the post-NRF image is output.
  • the type contribution rate kind_mag of the predicted image and the residual image is determined as follows. Since the slice average value of the predicted image and the slice average of the output of the adaptive filter are considered to be substantially equal, the kind_mag of the filter coefficient relating to the pre-NRF image is defined as 1 by Equation (6-2). Further, since the slice average value of the residual image is considered to be 0, the kind_mag of the filter coefficient relating to the post-NRF image is determined to be 0. (Type contribution rate calculation unit 602 ′)
  • FIG. 31B is another example of the value of the type contribution rate kind_mag calculated by the type contribution rate calculation unit 602. The type contribution rate calculation unit 602 ′ that performs the operation of this example will be described below.
  • the type contribution rate calculation unit 602 ′ performs the following operations.
  • mag_d E (error) / E (SALF)
  • mag_c (E (Sdec) ⁇ E (error)) / E (SALF)
  • mag_b E (Snrf) / E (SALF) It is.
  • the contribution rate is determined as follows.
  • the weight coefficient is composed of a plurality of taps, prediction is performed for each corresponding position. For example, the central element of the weight coefficient of the residual image is predicted from the central element of the weight coefficient of the predicted image. If there is no corresponding position, 0 is assumed as the predicted value.
  • Predicted value of predictive image weighting factor Residual image weighting factor (5-3 ′ ′′ ′′) (Moving picture encoding device 8 ')
  • FIG. 41 is a block diagram showing a configuration of the moving picture encoding device 8 ′.
  • the same members as those of the moving image encoding device 8 are denoted by the same reference numerals, and the description thereof is omitted.
  • a program for realizing each function of the video decoding device and the video decoding device is recorded on a computer-readable recording medium, and the program recorded on the recording medium is recorded.
  • the video decoding device or the video decoding device may be controlled by being read and executed by a computer system.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • the image filter device configured as described above selects an input image designated by the input image designation information from among a plurality of input image candidates that can be used as an input image, and the selected input image Filter processing for.
  • the input image designation information is associated with the plurality of input image candidates, it is possible to designate a combination of input images on which the filter means acts for each set of input image candidates.
  • the input image designation information referred to by the image filter device is for designating whether or not the filter means acts on each of a plurality of input image candidates that can be used as an input image. preferable.
  • the image filter device since the input image designation information designates whether or not the filter means acts on each of a plurality of input image candidates that can be used as an input image, the image filter device The selection means included in determines whether the filter device should act on each of a plurality of input image candidates that can be used as input images with reference to the input image designation information, and the filter device acts Only input image candidates to be selected are selected.
  • the filter means operates on the input image selected as such. Therefore, according to said structure, there exists an effect that the processing amount of a filter process can be reduced.
  • a decoding device is a decoding device that decodes encoded data and generates an output image, and includes the image filter device and predicted image generation means for generating a predicted image, and the image filter device. Is a decoded image obtained by adding the residual image decoded from the encoded data to the predicted image generated by the predicted image generation means, and noise obtained by subjecting the decoded image to noise reduction processing Among the reduced decoded images, at least one designated by the input image designation information decoded from the encoded data is set as an input image, and an output image is generated by acting on the input image.
  • the image filter device included in the decoding device configured as described above includes at least one of the decoded image and the noise-reduced decoded image specified by the input image specifying information decoded from the encoded data.
  • An output image is generated by acting on the input image as an input image.
  • the image filter device since the image filter device performs filter processing using the filter coefficient optimized for the input image, high output efficiency is maintained by generating an output image having a small difference from the image to be encoded. There is an effect that can be done.
  • the filter device takes both the decoded image and the noise-reduced decoded image as input images and acts on the input image, the contribution ratio of the decoded image to the output image, and the output image Since the output image is generated using the filter coefficient group in which the ratio of contribution of the noise-reduced decoded image is optimized, noise reduction processing that is too strong or too weak for the decoded image is performed. Even if a noise-reduced decoded image is generated by this, there is an effect that an appropriate output image can be generated without being affected by such influence.
  • an image obtained by performing either or both of a nonlinear denoising process and a deblocking process for reducing block noise on the decoded image can be used.
  • the noise-reduced decoded image is preferably an image obtained by performing block noise reduction processing on the decoded image.
  • the decoded image with reduced noise is an image obtained by performing block noise reduction processing on the decoded image, an output generated by acting on the decoded image with reduced noise There is a further effect that the difference between the image and the encoding target image can be further reduced.
  • An encoding device having a configuration similar to the above configuration generates an output image having a smaller difference from the encoding target image by an image filter device having a configuration similar to that of the image filter device. Since a prediction image with higher prediction accuracy can be generated with reference to the above, encoded data with higher encoding efficiency can be generated.
  • the decoding device having the above configuration, it is possible to appropriately decode such encoded data with high encoding efficiency.
  • the image filter device included in the decoding device may include at least one of the predicted image and the residual image specified by the input image specifying information, at least one of the decoded image and the noise-reduced decoded image.
  • an output image is generated by acting as an input image and acting on the input image.
  • the image filter device includes at least one specified by the input image specifying information decoded from the encoded data among the decoded image and the noise-reduced decoded image, and the Of the predicted image and the residual image, at least one designated by the input image designation information is used as an input image, and an output image is generated by acting on these input images.
  • the difference can be further reduced.
  • an encoding device having the same configuration as the above configuration generates an output image having a smaller difference from the encoding target image in the image filter device having the same configuration as the above image filter device, and the output image Since a prediction image with higher prediction accuracy can be generated with reference to the above, encoded data with higher encoding efficiency can be generated.
  • the decoding device having the above configuration, it is possible to appropriately decode such encoded data with higher encoding efficiency.
  • the combination of input images specified by the input image specifying information and the filter coefficient group used for the filter processing by the image filter device are configured to reduce the difference between the encoding target image and the output image. It is preferable that it is determined.
  • the combination of the input images and the filter coefficient group used for the filter processing by the image filter device are determined so as to reduce the difference between the encoding target image and the output image. Therefore, the output image generated by the image filter device with reference to the input image designation information configured as described above is a combination of possible input image candidates and each element of the filter coefficient group. In the range of values to be obtained, the difference from the encoding target image is the smallest. Accordingly, the output image generated by the image filter device with reference to the input image designation information configured as described above is used as a reference image, and the prediction accuracy of the generated predicted image is improved by referring to the reference image. It can be further increased.
  • An encoding device that refers to input image designation information having a configuration similar to the above configuration can generate a predicted image with higher prediction accuracy, and therefore can generate encoded data with higher encoding efficiency. it can.
  • a decoding device that refers to input image designation information having the above configuration can appropriately decode such encoded data with higher encoding efficiency.
  • the combination of one or a plurality of input image candidates specified by the input image specifying information and the filter coefficient group used for the filter processing by the image filter device include, for example, a plurality of inputs usable as input images.
  • the encoding device calculates each filter coefficient group that makes the difference between the encoding target image and the output image generated by the image filter device smaller. What is necessary is just to use the combination of the input image candidate corresponding to the output image with the smallest difference from the image to be converted and the filter coefficient group calculated for the combination.
  • An encoding device is an encoding device that generates encoded data by encoding a residual image between an encoding target image and a predicted image, and generates the predicted image by the image filter device.
  • the image filter device adds the residual image to the prediction image generated by the prediction image generation unit.
  • At least one designated by the input image designation information is used as an input image, and acts on the input image.
  • an output image is generated, and the predicted image generation means generates a predicted image with reference to the decoded image or the output image.
  • the image filter device included in the encoding device configured as described above has at least one of the decoded image and the noise-reduced decoded image designated by the input image designation information as an input image, and the input An output image is generated by acting on the image.
  • the image filter device since the image filter device performs filter processing using the filter coefficient optimized for the input image, high output efficiency is maintained by generating an output image having a small difference from the image to be encoded. There is an effect that can be done.
  • the filter device takes both the decoded image and the noise-reduced decoded image as input images and acts on the input image, the contribution ratio of the decoded image to the output image, and the output image Since the output image is generated using the filter coefficient group in which the ratio of contribution of the noise-reduced decoded image is optimized, noise reduction processing that is too strong or too weak for the decoded image is performed. Even if a noise-reduced decoded image is generated by this, there is an effect that an appropriate output image can be generated without being affected by such influence.
  • the encoding device having the above configuration can generate a predicted image with reference to an output image having a small difference from the encoding target image, it can generate encoded data with high encoding efficiency. Can do.
  • the amount of processing necessary for the filtering process can be reduced as compared with the configuration in which the filtering process is always performed on both the decoded image and the noise-reduced decoded image. There is an effect that can be.
  • an image obtained by performing either one or both of nonlinear denoising processing and deblocking processing to reduce block noise on the decoded image can be used.
  • the noise-reduced decoded image is preferably an image obtained by performing block noise reduction processing on the decoded image.
  • the decoded image with reduced noise is an image obtained by performing block noise reduction processing on the decoded image, an output generated by acting on the decoded image with reduced noise There is a further effect that the difference between the image and the encoding target image can be further reduced.
  • the encoding device having the above configuration generates an output image having a smaller difference from the encoding target image by the image filter device, and refers to the output image to generate a prediction image with higher prediction accuracy. Therefore, encoded data with higher encoding efficiency can be generated.
  • the image filter device included in the encoding device may include at least one of the predicted image and the residual image specified by the input image specifying information with respect to the decoded image and the noise-reduced decoded image. It is preferable that an input image is generated together with at least one and an output image is generated by acting on the input image.
  • the image filter device includes at least one specified by the input image specifying information decoded from the encoded data among the decoded image and the noise-reduced decoded image, and the Of the predicted image and the residual image, at least one designated by the input image designation information is used as an input image, and an output image is generated by acting on these input images.
  • the difference can be further reduced.
  • the encoding device having the above configuration generates an output image having a smaller difference from the encoding target image by the image filter device, and refers to the output image to generate a prediction image with higher prediction accuracy. Therefore, encoded data with higher encoding efficiency can be generated.
  • the combination of input images specified by the input image specifying information and the filter coefficient group used for the filter processing by the image filter device reduce the difference between the encoding target image and the output image. It is preferred that
  • the combination of the input images and the filter coefficient group used for the filter processing by the image filter device are determined so as to reduce the difference between the encoding target image and the output image. Therefore, the output image generated by the image filter device with reference to the input image designation information configured as described above is a combination of possible input image candidates and each element of the filter coefficient group. In the range of values to be obtained, the difference from the encoding target image is the smallest. Accordingly, the output image generated by the image filter device with reference to the input image designation information configured as described above is used as a reference image, and the prediction accuracy of the generated predicted image is improved by referring to the reference image. It can be further increased.
  • the encoding device that refers to the input image designation information having the above configuration can generate a predicted image with higher prediction accuracy, it can generate encoded data with higher encoding efficiency.
  • the combination of one or a plurality of input image candidates specified by the input image specifying information and the filter coefficient group used for the filter processing by the image filter device include, for example, a plurality of inputs usable as input images.
  • the encoding device calculates each filter coefficient group that makes the difference between the encoding target image and the output image generated by the image filter device smaller, and What is necessary is just to use the combination of the input image candidate corresponding to the output image from which the difference with an encoding object image becomes the smallest, and the filter coefficient group calculated about the said combination.
  • the data structure of encoded data according to the present invention is a data structure of encoded data referred to by a decoding device including an image filter device that generates one output image by acting on one or a plurality of input images, Used for residual data indicating a residual image between an encoding target image and a predicted image, input image designation information for designating one or a plurality of input images on which the image filter device acts, and filter processing by the image filter device A filter coefficient group for each of the one or a plurality of input images, wherein the image filter device includes a plurality of input image candidates from a plurality of input image candidates that can be used as input images. Select one or more input images specified by the input image specification information associated with the image candidate, and select one or more selected inputs To generate an output image by applying a filter using the filter coefficient group to the image is characterized by.
  • An image filter device included in a decoding device that decodes encoded data configured as described above selects an input image specified by the input image specifying information from among a plurality of input image candidates that can be used as an input image. Filter processing is performed on the selected input image.
  • the input image designation information is associated with the plurality of input image candidates, it is possible to designate a combination of input images on which the filter means acts for each set of input image candidates.
  • the decoding device can generate a predicted image with high prediction accuracy. It is possible to reduce the amount of filter processing while maintaining efficiency.
  • the input image designation information designates whether or not the image filter device acts on each of a plurality of input image candidates that can be used as input images.
  • the image filter device determines whether or not the filter device should act on each of a plurality of input image candidates that can be used as input images with reference to the input image designation information, and the input image candidate that the filter device should act on Select only.
  • the image filter device operates on the input image selected as such. Therefore, according to said structure, there exists an effect that the processing amount of a filter process can be reduced.
  • the combination of input images specified by the input image specifying information and the filter coefficient group included in the encoded data are determined so as to reduce the difference between the encoding target image and the output image. It is preferable that
  • the combination of input images and the filter coefficient group are determined so as to reduce the difference between the encoding target image and the output image, and thus configured as described above.
  • the output image generated by the image filter device with reference to the input image designation information is encoded in a possible combination of input image candidates and a range of values that each element of the filter coefficient group can take. The difference is the smallest. Accordingly, the output image generated by the image filter device with reference to the input image designation information configured as described above is used as a reference image, and the prediction accuracy of the generated predicted image is improved by referring to the reference image. It can be further increased.
  • the combination of one or more input image candidates specified by the input image specifying information and the filter coefficient group include, for example, each possible combination of a plurality of input image candidates that can be used as an input image.
  • the encoding device calculates each filter coefficient group that makes the difference between the encoding target image and the output image generated by the image filter device smaller, and the difference from the encoding target image is the smallest.
  • a combination of input image candidates corresponding to the output image and a filter coefficient group calculated for the combination may be used.
  • a decoding apparatus is a decoding apparatus that decodes encoded data obtained by encoding a residual image between an encoding target image and a predicted image, and generates an output image.
  • a predicted image generating means for generating an image
  • an image filter device for generating one output image by acting on one or a plurality of input images, wherein the image filter device is generated by the predicted image generating means.
  • An output image is generated by applying a filter using a filter coefficient group to one or a plurality of input images selected from the obtained noise-reduced decoded image It is those, a combination of the input image, and, the filter coefficient group are those defined differences between the encoding target image and the output image to smaller, are characterized.
  • the image filter device included in the decoding device configured as described above is configured to output one or a plurality of input images selected from the predicted image, the residual image, the decoded image, and the noise-reduced decoded image.
  • the output image is generated by applying a filter using a filter coefficient group, and the combination of the input images and the filter coefficient group reduce the difference between the encoding target image and the output image. Therefore, it is possible to reduce the amount of processing necessary for the filter processing while maintaining high encoding efficiency.
  • the moving picture decoding apparatus includes an adaptive filter capable of inputting a plurality of types of signals, a variable length code decoding unit that performs variable length code decoding of a filter coefficient from encoded data, and a decoded filter coefficient. And a filter coefficient prediction unit that calculates a prediction value of a filter coefficient to be decoded using the filter coefficient prediction unit, wherein the filter coefficient prediction unit is a product sum of a contribution rate and a filter coefficient determined for each filter coefficient. Weight coefficient sum calculating means for calculating the calculated weight coefficient sum is provided.
  • the moving picture decoding apparatus configured as described above can accurately predict the filter coefficient by the weight coefficient sum calculation means applicable even when there are a plurality of types of signals as input images. It is. Therefore, the code amount of the filter coefficient encoded as the prediction difference value can be reduced.
  • the contribution rate used by the weighting factor calculation means is a value calculated by the product of the type contribution rate determined according to the type of the signal to which the filter coefficient is applied and the number of reference signals that is the number of signals to which the filter coefficient is applied. It is preferable that
  • the moving picture decoding apparatus configured as described above uses not only the number of reference signals, which is the number of signals to which filter coefficients are applied, but also a weighting coefficient using an appropriate contribution rate according to the type of input signal. Since the sum is calculated, the filter coefficient can be predicted with higher accuracy.
  • the filter coefficient prediction unit predicts an offset that is one of the filter coefficients of the adaptive filter.
  • the moving picture decoding apparatus configured as described above can accurately predict an offset component.
  • the moving picture decoding apparatus further includes a noise reduction filter unit, and the output of the noise reduction filter unit can be input to the adaptive filter.
  • the filter coefficient prediction unit includes the noise reduction filter unit. It is preferable to predict the filter coefficient concerning the center element of the post-NRF image, which is an output.
  • the moving picture decoding apparatus configured as described above is the output of the noise reduction filter means, which is often the largest value among the filter coefficients of the adaptive filter capable of inputting a plurality of types of signals. Since the filter coefficient concerning the center element of a certain post-NRF image can be accurately predicted, the code amount of the filter coefficient can be reduced.
  • the moving image decoding apparatus can input the decoded image and the output of the noise reduction filter means to the adaptive filter, and the filter coefficient predicting unit performs post-NRF and filter coefficients on the central element of the decoded image. It is preferable to predict the filter coefficient for the central element of the image.
  • the moving picture decoding apparatus configured as described above has the largest value in the moving picture decoding apparatus in which the noise reduction intensity can be adjusted by using the decoded picture and the decoded picture after noise reduction.
  • the filter coefficient applied to the center element of the post-NRF image, which is the output of the noise reduction filter means can be predicted with high accuracy, so that the code amount of the filter coefficient can be reduced.
  • the filter coefficient prediction unit includes a filter coefficient prediction unit that predicts a filter coefficient using a filter coefficient included in a filter set that has been decoded in the past, and a filter coefficient that has already been decoded within the same filter set.
  • An intra-filter-set prediction unit that performs coefficient prediction, and predicts a filter coefficient applied to a central element of the post-NRF image, which is an output of the noise reduction filter unit, using the intra-filter-set prediction unit, It is preferable to predict the prediction of the filter coefficient using the inter-filter-set prediction unit.
  • the moving picture decoding apparatus configured as described above accurately predicts the filter coefficient related to the central element of the post-NRF image that is the output of the noise reduction filter means, which is often the largest value.
  • intra-filter-set prediction and using other inter-filter-set prediction for other filter coefficients, intra-filter-set prediction that predicts with high accuracy for a small number of filter coefficients, and many filters It is possible to take advantage of both features of inter-filter set prediction that prediction is possible with respect to coefficients. Therefore, the code amount of the filter coefficient can be reduced.
  • the moving picture decoding apparatus can use the prediction image, the residual image, and the output of the noise reduction filter unit as inputs of the adaptive filter, and the filter coefficient prediction unit includes the noise reduction filter unit. It is preferable to predict the filter coefficient concerning the center element of the post-NRF image, which is an output.
  • the moving picture decoding apparatus configured as described above is a moving picture decoding apparatus having a high degree of freedom and adjustable noise reduction strength by using a predicted image, a decoded image, and a decoded image after noise reduction. Since the filter coefficient applied to the central element of the post-NRF image that is the output of the noise reduction filter means, which is often the largest value, can be accurately predicted, the code amount of the filter coefficient can be reduced.
  • the moving picture decoding apparatus further includes a contribution rate calculation unit that calculates a contribution rate to the type of the input signal of the adaptive filter, and the contribution rate calculation unit sets the contribution rate to the decoded image to 1, and NRF It is preferable to set the contribution ratio to the post-image to 1.
  • the moving picture decoding apparatus configured as described above can calculate a weight coefficient sum using a statistically appropriate contribution rate with respect to an input signal, and thus predicts a filter coefficient with high accuracy. Therefore, the code amount of the filter coefficient can be reduced.
  • the video decoding device further includes a contribution rate calculation unit that calculates a contribution rate to the type of the input signal of the adaptive filter, and the contribution rate calculation unit sets the contribution rate to the predicted image to 1, It is preferable to set the contribution rate to the difference image to 0 and to set the contribution rate to the post-NRF image to 1.
  • the moving picture decoding apparatus configured as described above can calculate a weight coefficient sum using a statistically appropriate contribution rate with respect to an input signal, and thus predicts a filter coefficient with high accuracy. Therefore, the code amount of the filter coefficient can be reduced.
  • the moving image decoding apparatus further includes a contribution rate calculation unit that calculates a contribution rate to the type of the input signal of the adaptive filter, and the contribution rate calculation unit sets A to a predetermined value of 0.5 or less. At this time, it is preferable to set the contribution rate to the predicted image to 1-A, set the contribution rate to the residual image to A, and set the contribution rate to the post-NRF image to 1.
  • the moving picture decoding apparatus configured as described above can calculate a weight coefficient sum using a statistically appropriate contribution rate with respect to an input signal, and thus predicts a filter coefficient with high accuracy. Therefore, the code amount of the filter coefficient can be reduced.
  • the moving picture coding apparatus includes an adaptive filter that can input a plurality of types of signals, and a filter coefficient prediction unit that calculates a prediction value of the filter coefficient of the prediction target using a filter coefficient other than the prediction target.
  • the filter coefficient prediction unit includes weight coefficient sum calculation means for calculating a weight coefficient sum calculated by a product sum of a contribution rate determined for each filter coefficient and the filter coefficient. It is characterized by that.
  • the moving picture coding apparatus configured as described above can accurately predict the filter coefficient by the weight coefficient sum calculation means applicable even when there are a plurality of types of signals as the input image. Is possible. Therefore, the code amount of the filter coefficient encoded as the prediction difference value can be reduced.
  • the data structure of the encoded data according to the present invention is a data structure of encoded data including adaptive filter information including at least an offset, and the offset encoded in the encoded data is other than the offset. It is a difference value predicted using a weight coefficient sum calculated from filter coefficients.
  • the encoded data according to the present invention configured as described above is encoded as a difference value in which an offset is accurately predicted. Therefore, the encoded data is obtained by reducing the code amount of the filter coefficient.
  • the data structure of the encoded data according to the present invention is a data structure of encoded data including adaptive filter information including a filter coefficient set including a filter coefficient related to a decoded image and a filter coefficient related to a post-NRF image.
  • the filter coefficient applied to at least the central element of the post-NRF image is a difference value predicted using a weight coefficient sum calculated from other than the filter coefficient applied to the central element of the post-NRF image.
  • the encoded data according to the present invention configured as described above is encoded as a differential value in which the filter coefficient relating to the central element of the post-NRF image, which often has the largest value, is accurately predicted. Therefore, the encoded data is obtained by reducing the code amount of the filter coefficient.
  • the data structure of the encoded data according to the present invention includes a code including adaptive filter information including a filter coefficient set including a filter coefficient for a predicted image, a filter coefficient for a residual image, and a filter coefficient for an image after NRF.
  • at least the filter coefficient applied to the central element of the post-NRF image is a difference value predicted using a weight coefficient sum calculated from other than the filter coefficient applied to the central element of the post-NRF image It is characterized by that.
  • the encoded data according to the present invention configured as described above is encoded as a differential value in which the filter coefficient relating to the central element of the post-NRF image, which often has the largest value, is accurately predicted. Therefore, the encoded data is obtained by reducing the code amount of the filter coefficient.
  • the present invention can be suitably used for an image filter for filtering image data. Further, the present invention can be suitably applied to a decoding device that decodes encoded data and an encoding device that generates encoded data.
  • 1,3,5 video decoding device (decoding device) 12 Predictive image generation unit (predictive image generation means) 16, 36, 56 Loop filter (image filter device) 161,361,561 Filter control unit (selection means) 162,362,562 Adaptive filter memory 163,363,563 Adaptive filter section (filter means) 164, 364, 564 Noise removal filter unit 25 Frame memory 2, 4, 6 Moving picture coding device 21 Predicted image generating unit (predicted image generating means) 26, 46, 66 Loop filter (image filter device) 261, 461, 661 Filter control unit (selection means) 262, 462, 662 Adaptive filter memory 263, 463, 663 Adaptive filter unit (filter means) 264, 464, 664 Noise removal filter unit 25 Frame memory 27, 47, 67 Filter parameter derivation unit (input image designation information generation means) 7, 7 ′ moving image decoding device 8, 8 ′ moving image encoding device 107 subtracting unit 109 adding unit 111 predicting unit 112 converting unit 113 quantizing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 ループフィルタ(16)は、複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される入力画像を選択するフィルタ制御部(161)と、フィルタ制御部(161)によって選択された入力画像に対して、当該入力画像について定められたフィルタ係数群を用いたフィルタを作用させることによって出力画像を生成する適応フィルタ部(163)と、を備えている。

Description

画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造
 本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、そのような画像フィルタを備えている符号化装置、動画像符号化装置、復号装置、及び動画像復号装置に関する。また、そのような復号装置によって復号される符号化データのデータ構造に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置(符号化装置)、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置(復号装置)が用いられている。具体的な動画像符号化方式としては、例えば、H.264/MPEG-4.AVC(非特許文献1)、および、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式などが挙げられる。
 このような符号化方式において、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位(マクロブロックまたはコーディングユニット(Coding Unit)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、普通、ブロックごとに符号化される。
 また、このような符号化方式においては、通常、入力画像を符号化/復号化することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分画像(「残差画像」または「予測残差」と呼ぶこともある)が符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)と呼ばれる方法が知られている。
 イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。イントラ予測においては、例えば、予測単位(例えば、パーティション)毎に、予め定められた予測方向(予測モード)群に含まれる予測方向から何れかの予測方向が選択されると共に、局所復号画像における参照画素の画素値を、選択された予測方向に外挿することによって、予測対象領域上の予測画素値が生成される。
 一方で、インター予測においては、フレーム全体が復号された参照フレーム(復号画像)内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位毎に生成される。
 また、復号画像若しくは復号画像に対してブロックノイズ低減処理を施して得られる画像を入力画像とし、該入力画像に対して、最適化されたフィルタ係数を用いたフィルタ処理を施すことによって、ノイズが低減された復号画像(ノイズ低減済復号画像)を生成する適応的ループフィルタ(Adaptive Loop Filter)(以下単に「適応フィルタ」とも呼ぶ)と呼ばれる技術も知られており、インター予測においては、当該適応フィルタが出力するノイズ低減済復号画像を参照画像として予測画像を生成することもできる。ここで、上記フィルタ係数群は、符号化装置にて、例えば、スライス毎に、ノイズ低減済復号画像と符号化対象画像との誤差を最小にするように最適化されたものであり、符号化データの一部として復号装置に伝送される。以下では、上記のような適応フィルタを一入力型の適応フィルタとも呼ぶことにする。
 非特許文献2には、入力画像を復号画像のみとするのではなく、復号画像、予測残差、及び、予測画像を入力画像とし、当該複数の入力画像の全てに作用することによってノイズ低減済復号画像を生成する多入力型の適応フィルタが開示されている。
 非特許文献2に開示された適応フィルタは、複数の入力画像の全てに作用するため、最適化の対象であるフィルタ係数の数が、復号画像のみを入力画像とする構成に比べて増大する。したがって、非特許文献2に開示された適応フィルタにより生成されたノイズ低減済復号画像は、復号画像のみを入力画像とする適応フィルタにより生成されたものに比べて、符号化対象画像との誤差がより小さくなるという傾向があるため、予測精度の向上および符号化効率の向上を図ることができる。
「Recommendation ITU-T H.264」,Telecommunication Standardization Sector of ITU,03/2009(2009年3月公開) 「JCTVC-A114」,Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,1st Meeting:Dresden,DE,04/2010(2010年4月公開)
 しかしながら、非特許文献2に開示された多入力型の適応フィルタは、複数の入力画像の全てに作用するため、フィルタ処理に要する時間が増大するという問題を有している。一方で、上述した一入力型の適応フィルタは、1つの入力画像に作用するため、フィルタ処理の処理量は、多入力型の適応フィルタに比べて小さいが、符号化効率は、多入力型の適応フィルタに比べて低くなるという問題点がある。
 本発明は、上記の問題に鑑みて発明者によって得られた知見に基づいてなされたものであり、その目的は、利用可能な入力画像が複数存在する場合に、高い符号化効率を維持しつつ、フィルタ処理に必要な処理量を低減することのできる画像フィルタ装置、並びに、そのような画像フィルタ装置を備える復号装置および符号化装置を実現することにある。
 発明者は、上記の問題に鑑み、符号化対象画像の特性如何によっては、複数の入力画像の全てに作用するのではなく、複数の入力画像の一部に作用することによって、高い符号化効率を維持しつつ、フィルタ処理の処理量を効果的に削減することができるとの知見を得た。
 上記の問題を解決するために、本発明に係る画像フィルタ装置は、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置であって、入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択する選択手段と、上記選択手段によって選択された一または複数の入力画像に対して、当該一または複数の入力画像について定められたフィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するフィルタ手段と、を備えていることを特徴としている。
 上記のように構成された本発明に係る画像フィルタ装置は、入力画像として利用可能な複数の入力画像候補のうち、上記入力画像指定情報によって指定される入力画像を選択し、選択された入力画像に対してフィルタ処理を行う。ここで、上記入力画像指定情報は、上記複数の入力画像候補に関連付けられているため、入力画像候補のセット毎に、上記フィルタ手段の作用する入力画像の組み合わせを指定することができる。
 したがって、上記の構成によれば、常に複数の入力画像候補の全てにフィルタを作用させる構成に比べて、フィルタ処理の処理量を低減させることができるという効果を奏する。また、フィルタ処理に用いられるフィルタ係数群は、上記一または複数の入力画像について定められたものであるため、高い符号化効率を維持することができるという効果を奏する。
 なお、上記画像フィルタ装置を符号化装置および復号装置の一部として実現する場合には、入力画像候補の組み合わせ、および、フィルタ処理に用いられるフィルタ係数群として、符号化対象画像と上記画像フィルタ装置の生成する出力画像との相違を最小化するように定められたものを用いる構成とすることができる。このような入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像として用いることにより、符号化装置および復号装置は、予測精度の高い予測画像を生成することができるので、高い符号化効率を維持しつつ、フィルタ処理の処理量を削減することができる。
 本発明に係る復号装置は、符号化データを復号し、出力画像を生成する復号装置であって、上記画像フィルタ装置と、予測画像を生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像に符号化データから復号された残差画像を加算することによって得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって出力画像を生成する、ことを特徴としている。
 上記のように構成された復号装置の備える画像フィルタ装置は、上記復号画像、および、上記ノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって、出力画像を生成する。また、上記画像フィルタ装置は、上記入力画像について定められたフィルタ係数を用いてフィルタ処理を行うので、符号化対象画像との相違の小さい出力画像を生成することにより、高い符号化効率を維持することができるという効果を奏する。
 さらに、上記フィルタ装置が、上記復号画像および上記ノイズ低減済復号画像の双方を入力画像とし、該入力画像に作用する場合には、出力画像に対する上記復号画像の寄与する割合、および、出力画像に対する上記ノイズ低減済復号画像が寄与する割合が定められたフィルタ係数群を用いて出力画像が生成されるので、復号画像に対して強すぎるノイズ低減処理や弱すぎるノイズ低減処理が施されることによってノイズ低減済復号画像が生成されているような場合であっても、そのような影響を受けることなく、適切な出力画像を生成することができるという効果を奏する。
 また、上記の構成と同様の構成を有する符号化装置は、符号化対象画像との相違の小さい出力画像を参照して、予測画像を生成することができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができるという効果を奏する。
 また、上記のように構成された復号装置によれば、常に上記復号画像および上記ノイズ低減済復号画像の双方にフィルタ処理を行う構成に比べて、フィルタ処理に必要な処理量を低減することができるという効果を奏する。
 なお、上記ノイズ低減済復号画像としては、上記復号画像に対して非線形デノイジング処理、および、ブロックノイズを低減するデブロッキング処理の何れか一方若しくは双方の処理を行ったものを用いることができる。
 本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置と、予測画像を生成する予測画像生成手段と、入力画像として利用可能な複数の入力画像候補のうち上記画像フィルタ装置が作用する一または複数の入力画像候補を指定する入力画像指定情報を生成する入力画像指定情報生成手段と、符号化対象画像と上記予測画像生成手段によって生成された予測画像との残差画像と共に、上記入力画像指定情報生成手段によって生成された入力画像指定情報を、該残差画像に関連付けて符号化する符号化手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像に上記残差画像を加算することによって得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって出力画像を生成するものであり、上記予測画像生成手段は、上記復号画像または上記出力画像を参照して予測画像を生成するものである、ことを特徴としている。
 上記のように構成された符号化装置の備える画像フィルタ装置は、上記復号画像、および、上記ノイズ低減済復号画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって、出力画像を生成する。また、上記画像フィルタ装置は、上記入力画像について定められたフィルタ係数を用いてフィルタ処理を行うので、符号化対象画像との相違の小さい出力画像を生成することにより、高い符号化効率を維持することができるという効果を奏する。
 さらに、上記フィルタ装置が、上記復号画像および上記ノイズ低減済復号画像の双方を入力画像とし、該入力画像に作用する場合には、出力画像に対する上記復号画像の寄与する割合、および、出力画像に対する上記ノイズ低減済復号画像が寄与する割合が最適化されたフィルタ係数群を用いて出力画像が生成されるので、復号画像に対して強すぎるノイズ低減処理や弱すぎるノイズ低減処理が施されることによってノイズ低減済復号画像が生成されているような場合であっても、そのような影響を受けることなく、適切な出力画像を生成することができるという効果を奏する。
 また、上記の構成を有する符号化装置は、符号化対象画像との相違の小さい出力画像を参照して、予測画像を生成することができるので、符号化効率の高い符号化データを生成することができる。
 また、上記のように構成された符号化装置によれば、常に上記復号画像および上記ノイズ低減済復号画像の双方にフィルタ処理を行う構成に比べて、フィルタ処理に必要な処理量を低減することができるという効果を奏する。
 また、上記ノイズ低減済復号画像としては、上記復号画像に対して非線形デノイジング処理、および、ブロックノイズを低減するデブロッキング処理の何れか一方若しくは双方の処理を行ったものを用いることができる。
 本発明に係る符号化データのデータ構造は、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置を備える復号装置が参照する符号化データのデータ構造であって、符号化対象画像と予測画像との残差画像を示す残差データと、上記画像フィルタ装置が作用する一または複数の入力画像を指定する入力画像指定情報と、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群であって、上記1または複数の入力画像の各々についてのフィルタ係数群と、を含み、上記画像フィルタ装置は、入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択し、選択された一または複数の入力画像に対して上記フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成する、ことを特徴としている。
 上記のように構成された符号化データを復号する復号装置の備える画像フィルタ装置は、入力画像として利用可能な複数の入力画像候補のうち、上記入力画像指定情報によって指定される入力画像を選択し、選択された入力画像に対してフィルタ処理を行う。ここで、上記入力画像指定情報は、上記複数の入力画像候補に関連付けられているため、入力画像候補のセット毎に、上記フィルタ手段の作用する入力画像の組み合わせを指定することができる。
 したがって、上記の構成によれば、常に複数の入力画像候補の全てにフィルタを作用させる構成に比べて、フィルタ処理の処理量を低減させることができるという効果を奏する。また、フィルタ処理に用いられるフィルタ係数群は、上記一または複数の入力画像について定められたものであるため、高い符号化効率を維持することができるという効果を奏する。
 なお、入力画像候補の組み合わせ、および、フィルタ処理に用いられるフィルタ係数群として、符号化対象画像と上記画像フィルタ装置の生成する出力画像との相違をより小さくするように定められたものを用いる構成とすることができる。このような入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像として用いることにより、復号装置は、予測精度の高い予測画像を生成することができるので、高い符号化効率を維持しつつ、フィルタ処理の処理量を削減することができる。
 また、本発明に係る復号装置は、符号化対象画像と予測画像との残差画像を符号化することによって得られた符号化データを復号し、出力画像を生成する復号装置であって、予測画像を生成する予測画像生成手段と、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像、上記符号化データを復号することによって得られる残差画像、該予測画像と該残差画像とを加算して得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像から選択された一または複数の入力画像に対して、フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するものであり、上記入力画像の組み合わせ、および、上記フィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、特徴としている。
 上記のように構成された復号装置の備える画像フィルタ装置は、上記予測画像、上記残差画像、上記復号画像、および、上記ノイズ低減済復号画像から選択された一または複数の入力画像に対して、フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するものであり、上記入力画像の組み合わせ、および、上記フィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものであるため、高い符号化効率を維持しつつ、フィルタ処理に必要な処理量を低減することができる。
 また、発明者は、上記の問題に鑑み、複数種別の信号を入力が可能な適応フィルタで用いられるフィルタ係数に関する効率的な予測方法に関する知見を得た。
 上記の問題を解決するために、本発明に係る動画像復号装置は、複数種別の信号を入力可能な適応フィルタと、符号化データからフィルタ係数の可変長符号復号を行う可変長符号復号部と、復号済みのフィルタ係数を用いて復号対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像復号装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴とする。
 上記のように構成された本発明に係る動画像復号装置は、入力画像として複数種別の信号が存在する場合にも適用可能な重み係数和算出手段によって、フィルタ係数を精度よく予測することが可能である。そのため、予測差分値として符号化されるフィルタ係数の符号量を低減することができる。
 また、本発明に係る動画像符号化装置は、複数種別の信号を入力可能な適応フィルタと、予測対象以外のフィルタ係数を用いて前記予測対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像符号化装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴としている。
 上記のように構成された本発明に係る動画像符号化装置は、入力画像として複数種別の信号が存在する場合にも適用可能な重み係数和算出手段によって、フィルタ係数を精度よく予測することが可能である。そのため、予測差分値として符号化されるフィルタ係数の符号量を低減することができる。
 また、本発明に係る符号化データのデータ構造は、少なくともオフセットを含む適応フィルタ情報を含む符号化データのデータ構造であって、前記符号化データ中に符号化されたオフセットが、前記オフセット以外のフィルタ係数から算出された重み係数和を用いて予測された差分値であることを特徴としている。
 上記のように構成された本発明に係る符号化データは、オフセットが精度よく予測された差分値として符号化されている。そのため、フィルタ係数の符号量を低減された符号化データとなる。
 また、本発明に係る符号化データのデータ構造は、復号画像にかかるフィルタ係数とNRF後画像にかかるフィルタ係数とを含むフィルタ係数セットを含む適応フィルタ情報を含む符号化データのデータ構造であって、少なくともNRF後画像の中心要素にかかるフィルタ係数が、NRF後画像の中心要素にかかるフィルタ係数以外から算出された重み係数和を用いて予測された差分値であることを特徴としている。
 上記のように構成された本発明に係る符号化データは、最も大きな値となることが多いNRF後画像の中心要素にかかるフィルタ係数が精度よく予測された差分値として符号化されている。そのため、フィルタ係数の符号量を低減された符号化データとなる。
 また、本発明に係る符号化データのデータ構造は、予測画像にかかるフィルタ係数と残差画像にかかるフィルタ係数とNRF後画像にかかるフィルタ係数とを含むフィルタ係数セットを含む適応フィルタ情報を含む符号化データのデータ構造であって、少なくともNRF後画像の中心要素にかかるフィルタ係数が、NRF後画像の中心要素にかかるフィルタ係数以外から算出された重み係数和を用いて予測された差分値であることを特徴としている。
 上記のように構成された本発明に係る符号化データは、最も大きな値となることが多いNRF後画像の中心要素にかかるフィルタ係数が精度よく予測された差分値として符号化されている。そのため、フィルタ係数の符号量を低減された符号化データとなる。
 以上のように、本発明に係る画像フィルタ装置は、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置であって、入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択する選択手段と、上記選択手段によって選択された一または複数の入力画像に対して、当該一または複数の入力画像について定められたフィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するフィルタ手段と、を備えている。
 上記のように構成された画像フィルタ装置によれば、高い符号化効率を維持しつつ、フィルタ処理に必要な処理量を低減することができる。
 また、本発明に係る動画像復号装置は、複数種別の信号を入力可能な適応フィルタと、符号化データからフィルタ係数の可変長符号復号を行う可変長符号復号部と、復号済みのフィルタ係数を用いて復号対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像復号装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えている。
 また、本発明に係る動画像符号化装置は、複数種別の信号を入力可能な適応フィルタと、予測対象以外のフィルタ係数を用いて前記予測対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像符号化装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えている。
 以上のように、本発明に係る動画像符号化装置および動画像復号装置は、入力画像として複数種別の信号が存在可能な場合にも適用可能な重み係数和算出手段によって、フィルタ係数を精度よく予測することが可能である。そのため、予測差分値として符号化されるフィルタ係数の符号量を低減することができる。そのため、符号化効率を高めることができる。
本発明の第1の実施形態に係る動画像復号装置の構成を示すブロック図である。 第1の実施形態に係る動画像符号化装置によって生成され、第1の実施形態に係る動画像復号装置によって参照される符号化データのデータ構造を示すものであって、(a)は、符号化データのピクチャレイヤの構成を示す図であり、(b)は、ピクチャレイヤに含まれるスライスレイヤの構成を示す図であり、(c)は、スライスレイヤに含まれるLCUレイヤの構成を示す図であり、(d)は、LCUレイヤに含まれるLCUヘッダの構成を示す図であり、(e)は、LCUレイヤに含まれる予測パラメータのうち、インター予測パーティションに関する予測パラメータの構成を示す図であり、(f)は、LCUレイヤに含まれる予測パラメータのうち、イントラ予測パーティションに関する予測パラメータの構成を示す図であり、(g)は、スライスヘッダに含まれるフィルタパラメータの構成を示す図である。 第1の実施形態に係る動画像符号化装置によって生成され、第1の実施形態に係る動画像復号装置によって参照される符号化データに含まれるフィルタパラメータの第1の構成例を示す図である。 第1の実施形態に係る動画像復号装置の備えるループフィルタによる処理を説明するためのものであって、フィルタパラメータの第1の構成例に含まれるループフィルタモードの値と、ループフィルタの備える各部のオンオフ、入力画像の数および入力画像の種類との対応を示す表である。 フィルタパラメータ中のフィルタ係数群に含まれる各フィルタ係数の符号化データ中の1次元構成、および、フィルタ参照領域への割り付けの態様を示すものであり、(a)は、フィルタ係数の個数が1個である場合の符号化データ中の1次元構成を示す図であり、(b)は、フィルタ係数の個数が5個である場合の符号化データ中の1次元構成を示す図であり、(c)は、フィルタ係数の個数が13個である場合の符号化データ中の1次元構成を示す図であり、(d)は、フィルタ係数の個数が1個である場合のフィルタ参照領域への割り付けの態様を示す図であり、(e)は、フィルタ係数の個数が5個である場合のフィルタ参照領域への割り付けの態様を示す図であり、(f)は、フィルタ係数の個数が13個である場合のフィルタ参照領域への割り付けの態様を示す図である。 第1の実施形態に係る動画像復号装置によって参照される符号化データに含まれるフィルタパラメータの第2の構成例を示す図である。 第1の実施形態に係る動画像復号装置の備えるループフィルタによる処理を説明するためのものであって、フィルタパラメータの第2の構成例に含まれる各種のフラグと、ループフィルタの備える適応フィルタ部への入力画像数および入力画像の種類との対応を示す表である。 本発明の第1の実施形態に係る動画像符号化装置の構成を示すブロック図である。 本発明の第2の実施形態に係る動画像復号装置の構成を示すブロック図である。 第2の実施形態に係る動画像復号装置によって参照される符号化データに含まれるフィルタパラメータの第1の構成例を示す図である。 第2の実施形態に係る動画像復号装置の備えるループフィルタによる処理を説明するためのものであって、フィルタパラメータの第1の構成例に含まれるループフィルタモードの値と、ループフィルタの備える各部のオンオフ、入力画像の数および入力画像の種類との対応を示す表である。 第2の実施形態に係る動画像復号装置によって参照される符号化データに含まれるフィルタパラメータの第2の構成例を示す図である。 第2の実施形態に係る動画像復号装置の備えるループフィルタによる処理を説明するためのものであって、フィルタパラメータの第2の構成例に含まれる各種のフラグと、ループフィルタの備える適応フィルタ部への入力画像数および入力画像の種類との対応を示す表である。 本発明の第2の実施形態に係る動画像符号化装置の構成を示すブロック図である。 本発明の第3の実施形態に係る動画像復号装置の構成を示すブロック図である。 第3の実施形態に係る動画像復号装置によって参照される符号化データに含まれるフィルタパラメータの第1の構成例を示す図である。 第3の実施形態に係る動画像復号装置の備えるループフィルタによる処理を説明するためのものであって、フィルタパラメータの第1の構成例に含まれるループフィルタモードの値と、ループフィルタの備える各部のオンオフ、入力画像の数および入力画像の種類との対応を示す表である。 第3の実施形態に係る動画像復号装置によって参照される符号化データに含まれるフィルタパラメータの第2の構成例を示す図である。 第3の実施形態に係る動画像復号装置の備えるループフィルタによる処理を説明するためのものであって、フィルタパラメータの第2の構成例に含まれる各種のフラグと、ループフィルタの備える適応フィルタ部への入力画像数および入力画像の種類との対応を示す表である。 本発明の第3の実施形態に係る動画像符号化装置の構成を示すブロック図である。 本発明の実施形態に係る動画像符号化装置および動画像復号装置の備えるノイズ除去フィルタ部によるブロックノイズ低減処理を説明するためのものであって、ブロック境界近傍の各画素および各画素値を示す図である。 本発明の実施形態に係る動画像符号化装置および動画像復号装置の備えるノイズ除去フィルタ部の第1の構成例を示すブロック図である。 本発明の実施形態に係る動画像符号化装置および動画像復号装置の備えるノイズ除去フィルタ部を説明するためのものであって、(a)は、ノイズ除去フィルタ部の第2の構成例を示すブロック図であり、(b)は、ノイズ除去フィルタ部の処理において参照する画素を示す図である。 本発明の実施形態に係る動画像符号化装置および動画像復号装置の備えるノイズ除去フィルタ部を説明するためのものであって、(a)は、ノイズ除去フィルタ部の第3の構成例を示すブロック図であり、(b)は、ノイズ除去フィルタ部の処理において参照する画素を示す図である。 本発明の実施形態に係る動画像符号化装置および動画像復号装置の備えるノイズ除去フィルタ部を説明するためのものであって、(a)は、ノイズ除去フィルタ部の第4の構成例が参照する画素を示す図であり、(b)は、ノイズ除去フィルタ部の第4の構成例による処理に用いられるパラメータβおよびtcと量子化パラメータqpとの対応を示す表である。 本発明の実施形態に係る動画像復号装置7のブロック図である。 本発明の実施形態に係る動画像符号化装置8のブロック図である。 本発明の実施形態に係るフィルタ係数予測復号部201のブロック図である。 本発明の実施形態に係るフィルタセット内フィルタ係数予測部202のブロック図である。 本発明の実施形態に係る寄与率算出部1505のブロック図である。 本発明の実施形態に係る種別寄与率を示す図である。 本発明の実施形態に係るフィルタ係数予測復号部201´のブロック図である。 本発明の実施形態に係るフィルタセット間フィルタ係数予測部203のブロック図である。 本発明の実施形態に係るループフィルタ部120のブロック図である。 本発明の実施形態に係るNRF部301のブロック図である。 本発明の実施形態に係る境界を説明するための図である。 本発明の実施形態に係る適応フィルタ部302を説明するための図である。 本発明の実施形態に係るフィルタ係数予測符号化部211のブロック図である。 本発明の実施形態に係るフィルタ係数予測符号化部211´のブロック図である。 本発明の実施形態に係る動画像復号装置7´のブロック図である。 本発明の実施形態に係る動画像符号化装置8´のブロック図である。 本発明の実施形態に係る重み係数の構成を示す図である。 本発明の実施形態に係る動画像復号装置7および動画像符号化装置8が扱う符号化データの構造を示す図である。 本発明の実施形態に係る動画像復号装置7´および動画像符号化装置8´が扱う符号化データの構造を示す図である。 本発明の実施形態に係る動画像復号装置7および動画像符号化装置8が扱うフィルタセットの具体例を示す図である。 本発明の実施形態に係る動画像復号装置7´および動画像符号化装置8´が扱うフィルタセットの具体例を示す図である。 本発明の実施形態に係る適応フィルタ部302´を説明するための図である。
 〔実施形態1〕
 以下では、本発明の第1の実施形態について説明する。
 (符号化データ#1の構成)
 本実施形態に係る動画像復号装置1の説明に先立ち、本実施形態に係る動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成について、図2を参照して説明する。符号化データ#1は、シーケンスレイヤ、GOP(Group Of Pictures)レイヤ、ピクチャレイヤ、スライスレイヤ、及び、最大符号化単位(LCU:Largest Coding Unit)レイヤからなる階層構造を有している。
 符号化データ#1におけるピクチャレイヤ以下の階層の構造を図2に示す。図2(a)~(g)は、それぞれ、ピクチャレイヤP、スライスレイヤS、LCUレイヤLCU、LCUヘッダLCUH、インター予測(画面間予測)パーティションの予測パラメータPP、イントラ予測(画面内予測)パーティションの予測パラメータPP、フィルタパラメータFPの構造を示す図である。
 (ピクチャレイヤ)
 ピクチャレイヤPは、対象ピクチャを復号するために動画像復号装置1が参照するデータの集合である。ピクチャレイヤPは、図2(a)に示すように、ピクチャヘッダPH、及び、スライスレイヤS1~SNsを含んでいる(NsはピクチャレイヤPに含まれるスライスレイヤの総数)。
 ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置2が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entoropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
 (スライスレイヤ)
 ピクチャレイヤPに含まれる各スライスレイヤSは、対象スライスを復号するために動画像復号装置1が参照するデータの集合である。スライスレイヤSは、図2(b)に示すように、スライスヘッダSH、及び、LCUレイヤLCU1~LCUNc(NcはスライスSに含まれるLCUの総数)を含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。また、動画像符号化装置2および動画像復号装置1がループフィルタを備える場合には、スライスヘッダSHには、当該ループフィルタによって用いられるフィルタパラメータFPが含まれる。
 なお、スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 (LCUレイヤ)
 スライスレイヤSに含まれる各LCUレイヤLCUは、対象LCUを復号するために動画像復号装置1が参照するデータの集合である。各LCUは、複数の符号化単位(CU:Coding Unit)に4分木分割される。各CUのサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、LCUのサイズおよび階層深度(hierarchial depth)によって定められる。
 例えば、LCUのサイズが128×128画素であって、最大階層深度が5である場合には、当該LCUに含まれるCUは、5種類のサイズ、すなわち、128×128画素、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
 (予測単位(PU)について)
 それ以上分割することができないCU(CUのリーフ)は予測単位(PU:Prediction Unit)として取り扱われる。各PUについて、予測タイプ、および、パーティションへの分割(PU Splitting)が規定され、予測画像は、パーティション毎に生成される。また、予測タイプとしては、イントラ予測およびインター予測の何れか一方が選択可能であり、各PUのパーティションへの分割は、当該PUについて選択された予測タイプに応じて定められる。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
 イントラPUは、2N×2N画素、および、N×N画素の2種類のパーティションに分割することが可能である。一方で、インターPUは、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)により、合計8種類のパーティションに分割することが可能である。ここで、Nの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。
 例えば、128×128画素のCUは、128×128画素、および、64×64画素のイントラ予測パーティションへ分割することが可能であると共に、128×128画素、128×64画素、64×128画素、64×64画素、128×32画素、128×96画素、32×128画素、および、96×128画素のインター予測パーティションへ分割することも可能である。
 (変換単位(TU)について)
 また、それ以上分割することができないCU(CUのリーフ)は、1または複数の変換単位(TU:Transform Unit)へ分割することが可能である。ここで、変換単位とは、周波数変換(例えば後述するDCT変換)および量子化の単位である。CUのリーフは、2分木分割により、TUに分割される。TUのとり得る最大のサイズ、および当該2分木分割の最大深度(maximum depth)を示す情報は、符号化データ#1に含まれる。各TUは、例えば、64×64画素から2×2画素までのサイズをとり得る。
 図2(c)に示すように、LCUレイヤLCUは、(1)スキップフラグSKIP、(2)LCUヘッダLCUH、(3)各パーティションに割り付けられた予測パラメータPP1~PPNP、及び、(4)各TUに割り付けられた量子化予測誤差QD1~QDNbを含んでいる。ここで、Npは、対象LCUに含まれるパーティションの総数を表し、Nbは、対象LCUに含まれるTUの総数を表す。スキップフラグSKIPの値が1の場合、すなわち、対象LCUにスキップモードが適用されている場合、そのLCUレイヤにおけるLCUヘッダLCUH、予測パラメータPP1~PPNP、及び、量子化予測誤差QD1~QDNbは省略される。
 (LCUヘッダ)
 LCUヘッダLCUHには、対象LCUの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2(d)に示すように、対象LCUのLCUタイプを指定するLCUタイプ指定情報LCUT(mb_type)、符号化ブロックパターンを指定するCBP(coded_block_pattern)、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(mb_qp_delta)が含まれる。LCUタイプ指定情報LCUTは、予測単位指定情報PTと変換単位指定情報TTとを含む。
 予測単位指定情報PTは、対象LCUのパーティションへの分割パターン(すなわち、対象LCUに含まれる各パーティションのサイズ、及び、対象LCU内での位置)と、動画像符号化装置2が各パーティションにおける予測画像を生成する際に用いた予測方法(L0単方向予測、L1単方向予測、双方向予測、イントラ予測など)を指定する。
 一方、変換単位指定情報TTは、対象LCUのTUへの分割パターン(すなわち、対象LCUに含まれる各TUのサイズ、及び、対象LCU内での位置)を指定する。なお、以下では、TUをブロックとも称する。
 量子化パラメータ差分Δqpは、対象LCUにおける量子化パラメータqpと、そのLCUの直前に符号化されたLCUにおける量子化パラメータqp’との差分qp-qp’である。
 (量子化予測残差および予測パラメータ)
 LCUレイヤLCUに含まれる各量子化予測残差QDnは、動画像符号化装置2が以下の処理1~3を対象ブロックに施すことによって生成した符号化データである。処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する。処理2:処理1にて得られたDCT係数を量子化する。処理3:処理2にて量子化されたDCT係数を可変長符号化する。上述した量子化パラメータqpは、動画像符号化装置2がDCT係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
 LCUレイヤLCUに含まれる予測パラメータPPのうち、インター予測によって予測画像が生成されるインター予測パーティションに関する予測パラメータPPは、図2(e)に示すように、参照画像インデックスRIと、推定動きベクトルインデックスPMVIと、動きベクトル残差MVDとを含んでいる。
 LCUレイヤLCUに含まれる予測パラメータPPのうち、イントラ予測によって予測画像が生成されるイントラ予測パーティションに関する予測パラメータPPは、図2(f)に示すように、予測インデックスPIを含んでいる。ここで、予測インデックスPIは、対象パーティションについてのイントラ予測方法(予測モード)を指定するためのインデックスである。なお、符号化データ#1を生成する動画像符号化装置2は、対象パーティションの周辺のパーティションの予測インデックスに基づいて、当該対象パーティションについての予測インデックスの推定値を算出し、当該推定値と当該対象パーティションについての予測インデックスとが同じであるか否かを示すフラグを符号化データ#1に含める構成としてもよい。このような構成とすることにより、当該推定値と当該対象パーティションについての予測インデックスとが同じである場合には、当該対象パーティションについての予測インデックスの符号化を省略することができる。
 (フィルタパラメータFP)
 また、符号化データ#1に含まれるスライスヘッダSHには、動画像復号装置1の備えるループフィルタが参照するフィルタパラメータFPが含まれる。フィルタパラメータFPの構成について概略的に説明すれば以下の通りである。なお、フィルタパラメータFPの構成については、動画像復号装置1の説明において詳述する。
 フィルタパラメータFPには、動画像復号装置1の備えるループフィルタをスライス毎に制御するために参照されるフィルタ制御情報(入力画像指定情報)、および、フィルタ係数群1~フィルタ係数群Nfが含まれる(Nfは、フィルタパラメータFPに含まれるフィルタ係数群の総数)。各フィルタ係数群は、フィルタ係数およびオフセットから構成される。ここで、各フィルタ係数およびオフセットは、そのまま符号化されていてもよいし、予測値との差分として符号化(予測符号化)されていてもよい。
 フィルタ制御情報は、動画像復号装置1の備えるループフィルタへの入力画像を指定するための情報である。また、フィルタパラメータFPに含まれるフィルタ係数群の総数は、動画像復号装置1の備えるループフィルタによる適応的フィルタ処理において参照される画像の種類に等しい。なお、動画像復号装置1の備えるループフィルタは、復号画像のノイズを除去するためのノイズ除去フィルタ部を備えており、フィルタ制御情報には、当該ノイズ除去フィルタのオンオフを指定する情報も含まれる。
 また、フィルタ制御情報は、例えば、ループフィルタへの入力画像の組み合わせを指定する情報(ループフィルタモード)であってもよいし、複数の入力画像の各々について、ループフィルタに入力するか否かを指定するフラグより構成される情報であってもよい。また、入力画像の候補が複数存在する場合には、適応的フィルタ処理に恒常的に用いられるデフォルト入力画像を指定する情報、および、適応的フィルタ処理に追加的に用いられる追加入力画像を指定する情報を含む構成としてもよい。
 なお、フィルタ制御情報をスライスヘッダに含めずに、シーケンスについてのヘッダ情報であるシーケンスヘッダに含める構成とし、動画像復号装置1の備えるループフィルタをシーケンス毎に制御する構成としてもよい。この場合には、シーケンス全体に対して、ループフィルタへの入力画像の数が規定されるため、シーケンス全体の復号において、適応的フィルタ処理に用いられるメモリサイズを削減することができる。
 (動画像復号装置1)
 以下では、本実施形態に係る動画像復号装置1について図1~図7を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図1は、動画像復号装置1の構成を示すブロック図である。図1に示すように、動画像復号装置1は、可変長符号復号部11、予測画像生成部12、逆量子化・逆変換部13、加算器14、フレームメモリ15、ループフィルタ16を備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
 (可変長符号復号部11)
 可変長符号復号部11は、各パーティションに関する予測パラメータPPを、符号化データ#1から復号し、予測画像生成部12に供給する。具体的には、可変長符号復号部11は、インター予測パーティションに関しては、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDを符号化データ#1から復号し、これらを予測画像生成部12に供給する。一方、イントラ予測パーティションに関しては、(1)パーティションのサイズを指定するサイズ指定情報、および、(2)予測インデックスを指定する予測インデックス指定情報を符号化データ#1から復号し、これを予測画像生成部12に供給する。
 また、可変長符号復号部11は、LCUタイプ指定情報LCUTを符号化データ#1から復号し、これを予測画像生成部12に供給する。(図示省略)。更に、可変長符号復号部11は、各ブロック(変換単位)に関する量子化予測残差QD、及び、そのブロックを含むLCUに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部13に供給する。また、可変長符号復号部11は、符号化データ#1からフィルタパラメータFPを復号し、これをループフィルタ16に供給する。
 (予測画像生成部12)
 予測画像生成部12は、LCUタイプ指定情報LCUTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Pred_Interを生成すると共に、生成したインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像Pred_Intraを生成すると共に、生成したイントラ予測画像Pred_Intraを加算器14に供給する。なお、予測画像生成部12は、処理対象LCUに対してスキップモードが適用されている場合には、予測画像の生成を省略することができる。
 特に図示はしないが、予測画像生成部12は、動きベクトル復元部、インター予測画像生成部、イントラ予測画像生成部、予測方式決定部を備える構成とすることができる。このような構成の場合の上記各部の動作は、以下の通りである。
 (動きベクトル復元部)
 動きベクトル復元部は、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差MVDと、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスPMVIにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルpmvを導出し、(2)導出した推定動きベクトルpmvと動きベクトル残差MVDとを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、フレームメモリ15から読み出すことができる。動きベクトル復元部は、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部に供給する。
 (インター予測画像生成部)
 インター予測画像生成部は、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部から供給された動きベクトルmvを用いて、同じく動きベクトル復元部から供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ16による適応的フィルタ処理を施すことによって得られる画像であり、インター予測画像生成部は、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ15から読み出すことができる。インター予測画像生成部によって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部に供給される。
 (イントラ予測画像生成部)
 イントラ予測画像生成部は、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、可変長符号復号部11から供給された予測インデックスPIに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。続いて、当該予測モードの示す予測方法に従って、画面内予測によって、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部によって生成されたイントラ予測画像Pred_Intraは、予測方式決定部に供給される。なお、イントラ予測画像生成部は、画面内予測によって、適応フィルタ済復号画像P_ALFから予測画像Pred_Intraを生成する構成とすることも可能である。
 また、対象パーティションにおける予測画像Pred_Intraの具体的な生成方法としては、例えば以下のような方法が挙げられる。
 (1:方向予測)
 当該対象パーティションの周辺の画素の画素値を、当該対象パーティションに割り付けられた予測モードの示す方向(予測方向)に外挿することによって、当該対象パーティションにおける予測画像Pred_Intraを生成する方法。角度予測(Angular Prediction)と呼ばれることもある。また、予測方向は、(dx、dy)によって指定されることもあり、その場合、任意方向イントラ(Arbitrary Directional Intra (ADI))と呼ばれることもある。
 (2:DC予測)
 当該対象パーティションの周辺の画素の画素値の平均値用いて当該対象パーティションにおける予測画像Pred_Intraを生成する方法。
 (3:プレーン予測)
 当該対象パーティション内の画素であって最も右側の列の画素(以下、「最右列画素」と呼ぶ)の画素値を、当該対象パーティション内の画素であって最も右下の画素(以下、「右下画素」と呼ぶ)の画素値、および、当該対象パーティション内の画素であって最も右上に位置する画素の上辺に隣接する画素の画素値を線形的に内挿(linear interpolation)することによって生成し、当該対象パーティション内の画素であって最も下側の行の画素(以下、「最下行画素」と呼ぶ)の画素値を、右下画素の画素値、および、当該対象パーティション内の画素であって最も左下に位置する画素の左辺に隣接する画素の画素値を線形的に内挿(linear interpolation)することによって生成し、当該対象パーティション内の他の画素の画素値を、最右列画素の画素値、最下行画素の画素値、当該対象パーティションの最も左側の列の画素の左辺に隣接する画素の画素値、および、当該対象パーティションの最も上側の列の画素の上辺に隣接する画素の画素値を双線形的に内挿(bi-linear interpolation)することによって生成する方法。プラナー予測(Planar prediction)を呼ばれることもある。
 (4:TM予測)
 当該対象パーティションの上辺および左辺に逆L字型のテンプレート領域を設定し、当該テンプレート領域における画像と最も類似する逆L字型の領域によって画定される領域の画像を、当該対象パーティションにおける予測画像Pred_Intraとする方法。テンプレートマッチング予測(Template Matching Prediction)と呼ばれることもある。
 (5:スケール予測)
 動画像符号化装置によってダウンサンプリングされた縮小画像についての量子化係数を逆量子化および周波数変換することによって当該縮小画像の画像データを生成し、対象パーティションの周辺のパーティションの各画素値の平均値と、上記縮小画像の画像データとを加算した後、アップサンプリングすることによって、対象パーティションにおける予測画像Pred_Intraを生成する方法。スケーリング予測(Scaling Prediction)と呼ばれることもある。
 (6:エッジ予測)
 当該対象パーティションの周辺の画像におけるエッジを、ソーベルフィルタによって検出し、当該エッジの示す方向に沿って当該周辺の画像を外挿することによって、対象パーティションにおける予測画像Pred_Intraを生成する方法。エッジに基づく予測(Edge based prediction)と呼ばれることもある。
 (7:組み合わせ予測)
 当該対象パーティション内の予測対象画素の画素値を、当該予測対象画素に隣接する画素の画素値の平均値と、当該対象パーティションの周辺の画素を方向予測によって外挿することによって得られる画素値とを加重平均することによって生成する方法。組み合わせイントラ予測(Combined Intra Prediction (CIP))と呼ばれることもある。
 (予測方式決定部)
 予測方式決定部は、LCUタイプ指定情報LCUTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部にて生成されたインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像生成部にて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器14に供給する。
 (逆量子化・逆変換部13)
 逆量子化・逆変換部13は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器14に供給する。なお、量子化予測残差QDを逆量子化する際に、逆量子化・逆変換部13は、可変長符号復号部11から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化/逆DCT変換したLCUに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpから例えばQP=2pq/6によって導出できる。また、逆量子化・逆変換部13による予測残差Dの生成は、ブロック(変換単位)を単位として行われる。
 (加算器14)
 加算器14は、予測画像生成部12から供給された予測画像Predと、逆量子化・逆変換部13から供給された予測残差Dとを加算することによって復号画像Pを生成する。生成された復号画像Pは、ループフィルタ16に供給されると共に、フレームメモリ15に格納される。
 (ループフィルタ16)
 ループフィルタ16は、復号画像Pに対してノイズ除去処理を施し、ノイズ除去済復号画像P_NRを生成する。また、ループフィルタ16は、復号画像P、および、ノイズ除去済復号画像P_NRの何れか一方若しくは双方に対して適応的フィルタ処理を施すことによって適応的フィルタ済復号画像P_ALFを生成する。ループフィルタ16によって生成されたノイズ除去済復号画像P_NR、および、適応的フィルタ済復号画像P_ALFは、可変長符号復号部11によって符号化データ#1から復号されたPOC指定情報と関連付けてフレームメモリ15に格納される。適応的フィルタ済復号画像P_ALFより構成される動画像は動画像#2として、動画像復号装置1の外部に出力される。
 以下では、ループフィルタ16の構成について図1~図7を参照してより具体的に説明する。図1に示すように、ループフィルタ16は、フィルタ制御部161、適応フィルタ用メモリ162、適応フィルタ部163、および、ノイズ除去フィルタ部164を備えている。
 図1に示すように、フィルタ制御部161は、符号化データ#1より復号され、可変長符号復号部11より供給されるフィルタパラメータFPに含まれるフィルタ制御情報に基づいて、ループフィルタ16の各部を制御する。また、フィルタ制御部161は、フィルタ制御情報に基づいて、適応フィルタ用メモリ162に復号画像Pおよび入力信号数情報を供給する。適応フィルタ部163は、復号画像P、ノイズ除去済復号画像P_NR、および、フィルタパラメータFPを受け、適応フィルタ済復号画像P_ALFをフレームメモリ15に供給する。ノイズ除去フィルタ部164は、復号画像Pに対してノイズ除去処理を施すことによってノイズ除去済復号画像P_NRを生成し、フレームメモリ15に供給する。ノイズ除去フィルタ部164の構成については、後述するためここでは説明を省略する。
 ループフィルタ16は、可変長符号復号部11により符号化データ#1から復号されたフィルタパラメータFPを参照して、以下に列挙する複数の処理の何れかを選択的に行う。ループフィルタ16は、当該複数の処理のうち何れの処理を行うかを、フィルタパラメータFPに含まれるフィルタ制御情報を参照して決定する。以下では、ループフィルタ16が、スライス毎に、以下に列挙する複数の処理の何れかを選択的に行う場合を例に挙げ説明を行うが、本実施形態はこれに限定されるものではなく、ループフィルタ16は、シーケンス毎、GOP(Group Of Pictures)毎、ピクチャ毎、若しくは、LCU毎に、以下に列挙する複数の処理の何れかを選択的に行う構成とすることもできる。
 また、以下では、ループフィルタ16が、符号化データ#1から復号されるフィルタパラメータFPの第1の構成例および第2の構成例を参照する場合について、それぞれ説明する。
 (フィルタパラメータFPの第1の構成例)
 図3は、符号化データ#1から復号され、ループフィルタ16によって参照されるフィルタパラメータFP(loop_filter_param)の第1の構成例を示す図である。図3に示すように、フィルタパラメータFPの第1の構成例は、複数のシンタックス(loop_filter_mode、alf_length_default_minus5_div2、alf_coeff_default[i]、alf_length_raw_minus5_div2、および、alf_coeff_raw[i])を含んでいる。
 loop_filter_modeは、ループフィルタ16によるフィルタ処理の内容を規定するためのシンタックスであり、上述したフィルタ制御情報に対応している。本実施形態において、loop_filter_modeのとり得る可能な値は0~4である。
 alf_length_default_minus5_div2は、フレームメモリ15に格納されている画像に作用するフィルタのタップ数を示すシンタックスである。また、図3に示されているAlfNumCoeffDefaultは、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数の数を示しており、alf_length_default_minus5_div2から、
 AlfNumCoeffDefault=alf_length_default_minus5_div2*2+5+1
によって算出される。ここで、記号*は、積を表す演算記号である(以下同様)。
 alf_coeff_default[i]は、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数を示すシンタックスである。alf_coeff_default[i]には、フレームメモリ15に格納されている画像に作用するフィルタのオフセットが含まれていてもよい。alf_coeff_default[i]のセットは、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 なお、alf_length_default_minus5_div2、および、alf_coeff_default[i]は、可変長符号復号部11によって、loop_filter_modeが2、3、または4である場合に復号される。
 alf_length_raw_minus5_div2は、復号画像Pに作用するフィルタのタップ数を示すシンタックスである。また、図3に示されているAlfNumCoeffRawは、復号画像Pに作用するフィルタのフィルタ係数の数を示しており、alf_length_raw_minus5_div2から、
 AlfNumCoeffRaw=alf_length_raw_minus5_div2*2+5+1
によって算出される。
 alf_coeff_raw[i]は、復号画像Pに作用するフィルタのフィルタ係数を示すシンタックスである。alf_coeff_raw[i]には、復号画像Pに作用するフィルタのオフセットが含まれていてもよい。alf_coeff_raw[i]のセットは、復号画像Pに作用するフィルタのフィルタ係数群G_coeff_rawを構成する。
 なお、alf_length_raw_minus5_div2、および、alf_coeff_raw[i]は、可変長符号復号部11によって、loop_filter_modeが4である場合に復号される。
 図4は、ループフィルタ16による処理を説明するためのものであって、フィルタパラメータFPに含まれるループフィルタモード(loop_filter_mode)の値と、ループフィルタ16の備えるノイズ除去フィルタ部164および適応フィルタ部163のオンオフとの対応を示す表である。また、図4においては、適応フィルタ部163への入力数、適応フィルタ部163へのデフォルト入力の有無(x印はデフォルト入力があることを示す)、及び、適応フィルタ部163への追加入力の有無(x印は追加入力があることを示す)が示されている。ここで、デフォルト入力がある場合とは、フレームメモリ15に格納された画像(例えば、以下の処理例1-1-3においては復号画像P、処理例1-1-4および1-1-5においては、ノイズ除去済復号画像P_NR)が適応フィルタ部163に入力される場合のことを指し、追加入力がある場合とは、適応フィルタ用メモリ162に格納された画像(例えば、以下の処理例1-1-5においては、復号画像P)が適応フィルタ部163に入力される場合のことを指す。
 以下では、各ループフィルタモードについてのループフィルタ16の具体的な処理について説明する。
 (処理例1-1-1:ループフィルタモード=0)
 まず、ループフィルタモードが0である場合に、ループフィルタ16によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが0である場合、図4に示すように、フィルタ制御部161は、ノイズ除去フィルタ部164および適応フィルタ部163の何れをもオフに設定する。したがって、ループフィルタモードが0である場合、ノイズ除去フィルタ部164は、ノイズ除去済復号画像P_NRを生成せず、適応フィルタ部163は、適応フィルタ済復号画像P_ALFを生成しない。また、本処理例においては、フィルタ制御部161は、適応フィルタ用メモリ162に何らの画像を格納しない。
 (処理例1-1-2:ループフィルタモード=1)
 続いて、ループフィルタモードが1である場合に、ループフィルタ16によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが1である場合、図4に示すように、フィルタ制御部161は、ノイズ除去フィルタ部164をオンに設定し、適応フィルタ部163をオフに設定する。したがって、ループフィルタモードが1である場合、ノイズ除去フィルタ部164は、ノイズ除去済復号画像P_NRを生成するが、適応フィルタ部163は、適応フィルタ済復号画像P_ALFを生成しない。
 本処理例においては、ノイズ除去フィルタ部164は、フレームメモリ15に格納されている復号画像Pに対して、ノイズ除去処理を施し、対象スライスにおけるノイズ除去済復号画像P_NRを生成する。生成されたノイズ除去済復号画像P_NRは、フレームメモリ15に格納される。また、本処理例においては、フィルタ制御部161は、適応フィルタ用メモリ162に何らの画像を格納しない。
 このように、本処理例においては、ループフィルタ16は、ノイズ除去フィルタとして機能する。
 (処理例1-1-3:ループフィルタモード=2)
 続いて、ループフィルタモードが2である場合に、ループフィルタ16によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが2である場合、図4に示すように、フィルタ制御部161は、ノイズ除去フィルタ部164をオフに設定し、適応フィルタ部163をオンに設定する。したがって、ループフィルタモードが2である場合、ノイズ除去フィルタ部164は、ノイズ除去済復号画像P_NRを生成しないが、適応フィルタ部163は、適応フィルタ済復号画像P_ALFを生成する。
 本処理例においては、適応フィルタ部163は、フレームメモリ15に格納されている復号画像Pに対して、フィルタパラメータFPに含まれるフィルタ係数およびオフセットを用いたフィルタ処理を行うことによって、対象スライスにおける適応フィルタ済復号画像P_ALFを生成する。より具体的には、対象スライスにおける適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、復号画像Pの画素値をSP(x、y)と表すことにすると、適応フィルタ部163は、画素値SALF(x’、y’)を、以下の数式(1)によって算出する。
Figure JPOXMLDOC01-appb-M000001
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aP(u、v)は、符号化データ#1のフィルタパラメータFPに含まれるフィルタ係数のうち、復号画像Pの画素値SP(x+u、y+v)に乗ぜられるフィルタ係数を表している。また、oPは、符号化データ#1のフィルタパラメータFPに含まれるオフセットのうち、復号画像Pのフィルタ処理に用いられるオフセットを表している。なお、フィルタ係数aP(u、v)およびオフセットoPの具体的な値は、フィルタパラメータFPに含まれる各シンタックスalf_coeff_default[i]によって指定される。
 また、RPは、本処理例における適応フィルタ部163によるフィルタ処理において参照される領域(以下、「フィルタ参照領域RP」とも呼称する)を示している。フィルタ参照領域RPは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、復号画像P上に設定される。また、フィルタ参照領域RPのサイズは、フィルタパラメータFPに含まれるシンタックスalf_length_default_minus5_div2によって指定される。
 図5(a)~(c)は、フィルタパラメータFP中のフィルタ係数群G_coeff_defaultに含まれる各フィルタ係数の符号化データ#1中の1次元構成を示すものであり、(a)は、フィルタ係数の個数が1個である場合を示す図であり、(b)は、フィルタ係数の個数が5個である場合を示す図であり、(c)は、フィルタ係数の個数が13個である場合を示す図である。
 また、図5(d)~(f)は、それぞれ、フィルタ参照領域RPが1×1画素、3×3画素、および、5×5画素である場合のフィルタ参照領域RPの各画素に割り付けられたフィルタ係数を示すものであって、(d)は、フィルタ係数の個数が、図5(a)に示すように、1個である場合の図であり、(e)は、フィルタ係数の個数が、図5(b)に示すように、5個である場合の図であり、(f)は、フィルタ係数の個数が、図5(c)に示すように、13個である場合の図である。なお、図5(a)~(f)におけるa0~a12は、それぞれ、フィルタパラメータFPに含まれるalf_coeff_default[i](i=0~12)に対応している。
 図5(d)に示すように、フィルタ参照領域RPが1×1画素である場合、フィルタ係数群G_coeff_defaultに含まれる1個のフィルタ係数a0が、フィルタ参照領域RPに含まれる1つの画素であるフィルタ対象画素に対して割り付けられる。
 また、図5(e)に示すように、フィルタ参照領域RPが3×3画素である場合、フィルタ係数群G_coeff_defaultに含まれる5個のフィルタ係数a0~a5が、フィルタ参照領域RPに含まれる9個の画素に対して180度の回転対称性を有するように割り付けられる。図5(e)において、フィルタ係数a4が割り付けられている画素がフィルタ対象画素に対応する。
 また、図5(f)に示すように、フィルタ参照領域RPが5×5画素である場合、フィルタ係数群G_coeff_defaultに含まれる13個のフィルタ係数a0~a12が、フィルタ参照領域RPに含まれる25個の画素に対して180度の回転対称性を有するように割り付けられる。図5(f)において、フィルタ係数a12が割り付けられている画素がフィルタ対象画素に対応する。
 このように、本処理例における適応フィルタ部163は、フィルタ係数群G_coeff_defaultに含まれる各フィルタ係数を、180度の回転対称性を有するように、フィルタ参照領域RPに含まれる各画素に対して割り付けられる構成とすることができる。このような構成の場合、フィルタ参照領域に含まれる画素の数がM×Mであるとすると、対称性を利用することによりフィルタ係数の個数は削減されており、必要なフィルタ係数の個数は(M×M+1)/2となる。
 ただし、本処理例はこのような構成に限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域RPは、より一般に、画素を単位として、座標(x、y)からの市街地距離がNcb以下である画素によって構成される領域であってもよいし、座標(x、y)を中心とするNx×Nyタップの矩形状の領域としてもよいし、その他の画素を含むように構成される領域であってもよい。
 なお、本処理例においては、フィルタ制御部161は、適応フィルタ用メモリ162に何らの画像を格納しない。
 (処理例1-1-4:ループフィルタモード=3)
 続いて、ループフィルタモードが3である場合に、ループフィルタ16によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが3である場合、図4に示すように、フィルタ制御部161は、ノイズ除去フィルタ部164および適応フィルタ部163の双方をオンに設定する。したがって、ループフィルタモードが3である場合、ノイズ除去フィルタ部164は、ノイズ除去済復号画像P_NRを生成し、適応フィルタ部163は、適応フィルタ済復号画像P_ALFを生成する。
 本処理例においては、ノイズ除去フィルタ部164は、フレームメモリ15に格納されている復号画像Pに対して、ノイズ除去処理を施し、対象スライスにおけるノイズ除去済復号画像P_NRを生成する。生成されたノイズ除去済復号画像P_NRは、フレームメモリ15に格納される。
 また、本処理例においては、適応フィルタ部163は、フレームメモリ15に格納されたノイズ除去済復号画像P_NRに対して、フィルタパラメータFPに含まれるフィルタ係数およびオフセットを用いたフィルタ処理を行うことによって、対象スライスにおける適応フィルタ済復号画像P_ALFを生成する。より具体的には、対象スライスにおける適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、ノイズ除去済復号画像P_NRの画素値をSPNR(x、y)と表すことにすると、適応フィルタ部163は、画素値SALF(x’、y’)を、以下の数式(2)によって算出する。
Figure JPOXMLDOC01-appb-M000002
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aPNR(u、v)は、符号化データ#1のフィルタパラメータFPに含まれるフィルタ係数のうち、ノイズ除去済復号画像P_NRの画素値SPNR(x+u、y+v)に乗ぜられるフィルタ係数を表している。また、oPNRは、符号化データ#1のフィルタパラメータFPに含まれるオフセットのうち、ノイズ除去済復号画像P_NRのフィルタ処理に用いられるオフセットを表している。なお、フィルタ係数aPNR(u、v)およびオフセットoPNRの具体的な値は、フィルタパラメータFPに含まれる各シンタックスalf_coeff_default[i]によって指定される。
 また、RPNRは、本処理例における適応フィルタ部163によるフィルタ処理において参照される領域(以下、「フィルタ参照領域RPNR」とも呼称する)を示している。フィルタ参照領域RPNRは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、ノイズ除去済復号画像P_NR上に設定される。また、フィルタ参照領域RPNRのサイズは、フィルタパラメータFPに含まれるシンタックスalf_length_default_minus5_div2によって指定される。
 なお、本処理例における適応フィルタ部163は、上述した(処理例1-1-3)と同様に、各フィルタ係数を、180度の回転対称性を有するように、フィルタ参照領域RPに含まれる各画素に対して割り付けられる構成とすることができる。
 ただし、本処理例はこのような構成に限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域RPは、より一般に、画素を単位として、座標(x、y)からの市街地距離がNcb’以下である画素によって構成される領域であってもよいし、座標(x、y)を中心とするNx’×Ny’タップの矩形状の領域としてもよいし、その他の画素を含むように構成される領域であってもよい。
 なお、本処理例においては、フィルタ制御部161は、適応フィルタ用メモリ162に何らの画像を格納しない。
 (処理例1-1-5:ループフィルタモード=4)
 続いて、ループフィルタモードが4である場合に、ループフィルタ16によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが4である場合、図4に示すように、フィルタ制御部161は、ノイズ除去フィルタ部164および適応フィルタ部163の双方をオンに設定する。したがって、ループフィルタモードが4である場合、ノイズ除去フィルタ部164は、ノイズ除去済復号画像P_NRを生成し、適応フィルタ部163は、適応フィルタ済復号画像P_ALFを生成する。
 本処理例においては、ノイズ除去フィルタ部164は、フレームメモリ15に格納されている復号画像Pに対して、ノイズ除去処理を施し、対象スライスにおけるノイズ除去済復号画像P_NRを生成する。生成されたノイズ除去済復号画像P_NRは、フレームメモリ15に格納される。
 さらに、本処理例においては、フィルタ制御部161は、適応フィルタ用メモリ162に復号画像用メモリ領域を確保し、加算器14より供給される復号画像Pを、当該復号画像用メモリ領域に格納する。なお、フィルタ制御部161は、復号画像Pを上記復号画像用メモリ領域に1フレーム分格納する構成としてもよいし、1スライス分格納する構成としてもよい。また、フィルタ制御部161は、適応フィルタ部163によるフィルタ処理が終了した後、復号画像用メモリ領域を開放し、当該復号画像用メモリ領域を動画像復号装置1の備える各部によって利用可能な状態に設定する。
 また、本処理例においては、適応フィルタ部163は、フレームメモリ15に格納されているノイズ除去済復号画像P_NR、および、適応フィルタ用メモリ162に格納されている復号画像Pに対して、フィルタパラメータFPに含まれるフィルタ係数およびオフセットを用いたフィルタ処理を行うことによって、対象スライスにおける適応フィルタ済復号画像P_ALFを生成する。より具体的には、対象スライスにおける適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、ノイズ除去済復号画像P_NRの画素値をSPNR(x、y)と表し、復号画像Pの画素値をSP(x、y)と表すことにすると、適応フィルタ部163は、画素値SALF(x’、y’)を、以下の数式(3)によって算出する。
Figure JPOXMLDOC01-appb-M000003
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aPNR(u、v)は、符号化データ#1のフィルタパラメータFPに含まれるフィルタ係数のうち、ノイズ除去済復号画像P_NRの画素値SPNR(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aPNR(u、v)の具体的な値は、フィルタパラメータFPに含まれる各シンタックスalf_coeff_default[i]によって指定される。
 一方で、aP(u、v)は、符号化データ#1のフィルタパラメータFPに含まれるフィルタ係数のうち、復号画像Pの画素値SP(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aP(u、v)の具体的な値は、フィルタパラメータFPに含まれる各シンタックスalf_coeff_raw[i]によって指定される。
 また、オフセットo(PNR,P)の具体的な値は、フィルタパラメータFPに含まれるシンタックスalf_coeff_default[i]およびalf_coeff_raw[i]の何れか一方若しくは双方によって指定される。
 また、フィルタ参照領域RPNRは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、ノイズ除去済復号画像P_NR上に設定される。ここで、フィルタ参照領域RPNRのサイズは、フィルタパラメータFPに含まれるシンタックスalf_length_default_minus5_div2によって指定される。
 一方で、フィルタ参照領域RPは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、復号画像P上に設定される。ここで、フィルタ参照領域RPのサイズは、フィルタパラメータFPに含まれるシンタックスalf_length_raw_minus5_div2によって指定される。
 なお、本処理例における適応フィルタ部163は、上述した(処理例1-1-3)と同様に、各フィルタ係数を、180度の回転対称性を有するように、フィルタ参照領域RPNRおよびフィルタ参照領域RPに含まれる各画素に対して割り付けられる構成とすることができる。
 ただし、本処理例はこのような構成に限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域RPNRのサイズおよび形状は、フィルタ参照領域RPのサイズおよび形状とは異なっていてもよい。
 本処理例においては、適応フィルタ部163への入力数は2である。すなわち、適応フィルタ部163は、ノイズ除去済復号画像P_NR、および、復号画像Pの双方を参照する。したがって、ノイズ除去済復号画像P_NR、および、復号画像Pの何れか一方を参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、予測画像を生成するためにより適切な適応フィルタ済復号画像P_ALFを生成することができる。したがって、ループフィルタ16は、本処理例の動作を行うことによって、ノイズ除去済復号画像P_NR、および、復号画像Pの何れか一方を参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、符号化効率が向上する。
 また、上述のように、適応フィルタ部163は、適応フィルタ用メモリ162に格納された復号画像P、および、フレームメモリ15に格納されたノイズ除去済復号画像P_NRを参照するので、復号画像Pの画素値、および、ノイズ除去済復号画像P_NRの画素値の双方を並列的に読み出し、数式(3)における第1項の計算と第2項の計算とを並列的に行うことが可能になる。したがって、適応フィルタ部163は、本処理例の動作を行うことによって、フレームメモリ15のみから復号画像Pの画素値、および、ノイズ除去済復号画像P_NRの画素値の双方を読み出す場合に比べて、高速なフィルタ処理を行うことができる。
 このように、ループフィルタ16は、本処理例の動作を行うことによって、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (フィルタパラメータFPの第2の構成例)
 続いて、ループフィルタ16が、符号化データ#1から復号されるフィルタパラメータFPの第2の構成例を参照する場合について説明する。
 図6は、符号化データ#1から復号され、ループフィルタ16によって参照されるフィルタパラメータFP(loop_filter_param)の第2の構成例を示す図である。図6に示すように、フィルタパラメータFPの第2の構成例は、複数のシンタックス(noise_reduction_filter_flag、adaptive_loop_filter_flag、alf_length_default_minus5_div2、alf_coeff_default[i]、enable_another_input、alf_length_raw_minus5_div2、および、alf_coeff_raw[i])を含んでいる。
 noise_reduction_filter_flagは、ノイズ除去フィルタ部164のオンオフを指定するフラグであり、noise_reduction_filter_flagが0の場合、ノイズ除去フィルタ部164がオフに指定され、noise_reduction_filter_flagが1の場合、ノイズ除去フィルタ部164がオンに指定される。
 adaptive_loop_filter_flagは、適応フィルタ部163のオンオフを指定するフラグであり、adaptive_loop_filter_flagが0の場合、適応フィルタ部163がオフに指定され、adaptive_loop_filter_flagが1の場合、適応フィルタ部163がオンに指定される。
 alf_length_default_minus5_div2、AlfNumCoeffDefault、および、alf_coeff_default[i]は、フィルタパラメータFPの第1の構成例において説明したものと同じである。また、alf_coeff_default[i]のセットは、フィルタパラメータFPの第1の構成例において説明したように、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 alf_length_default_minus5_div2、および、alf_coeff_default[i]は、可変長符号復号部11によって、adaptive_loop_filter_flagが0以外の場合に復号される。
 enable_another_inputは、適応フィルタ部163への追加入力の有無を指定するフラグであり、enable_another_inputが0の場合、適応フィルタ部163への追加入力が指示されず、enable_another_inputが1の場合、適応フィルタ部163への追加入力が指示される。enable_another_inputは、可変長符号復号部11によって、noise_reduction_filter_flagが1かつadaptive_loop_filter_flagが0以外の場合に復号される。
 alf_length_raw_minus5_div2、AlfNumCoeffRaw、および、alf_coeff_raw[i]は、フィルタパラメータFPの第1の構成例において説明したものと同じである。また、alf_coeff_raw[i]のセットは、フィルタパラメータFPの第1の構成例において説明したように、復号画像Pに作用するフィルタのフィルタ係数群G_coeff_rawを構成する。
 alf_length_raw_minus5_div2、および、alf_coeff_raw[i]は、可変長符号復号部11によって、enable_another_inputが1の場合に復号される。
 図7は、ループフィルタ16による処理を説明するためのものであって、フィルタパラメータFPに含まれるノイズ除去フィルタフラグ(noise_reduction_filter_flag)、適応フィルタフラグ(adaptive_loop_filter_flag)および追加入力フラグ(enable_another_input)の各値と、ループフィルタ16の備える適応フィルタ部163への入力数、適応フィルタ部163へのデフォルト入力の有無(x印はデフォルト入力があることを示す)、及び、適応フィルタ部163への追加入力の有無(x印は追加入力があることを示す)との対応を示す表である。ここで、デフォルト入力がある場合とは、フレームメモリ15に格納された画像(例えば、以下の処理例1-2-3においては復号画像P、処理例1-2-4および1-2-5においては、ノイズ除去済復号画像P_NR)が適応フィルタ部163に入力される場合のことを指し、追加入力がある場合とは、適応フィルタ用メモリ162に格納された画像(例えば、以下の処理例1-2-5においては、復号画像P)が適応フィルタ部163に入力される場合のことを指す。
 ノイズ除去フィルタフラグ、適応フィルタフラグおよび追加入力フラグが各値をとる場合、ループフィルタ16は以下の処理を行う。
 (処理例1-2-1:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=0)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が0である場合、ループフィルタ16は、上述した処理例1-1-1と同様の処理を行う。
 (処理例1-2-2:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=0)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが0である場合、ループフィルタ16は、上述した処理例1-1-2と同様の処理を行う。
 (処理例1-2-3:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1)
 ノイズ除去フィルタフラグが0であり、適応フィルタフラグが1である場合、ループフィルタ16は、上述した処理例1-1-3と同様の処理を行う。
 (処理例1-2-4:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、追加入力フラグ=0)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が1であり、追加入力フラグが0である場合、ループフィルタ16は、上述した処理例1-1-4と同様の処理を行う。
 (処理例1-2-5:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、追加入力フラグ=1)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が1であり、追加入力フラグが1である場合、ループフィルタ16は、上述した処理例1-1-5と同様の処理を行う。
 このように、フィルタパラメータFPを上記第2の構成例のように構成することによっても、ループフィルタ16を、フィルタパラメータFPが上記第1の構成例のように構成される場合と同様に制御することができる。したがって、フィルタパラメータFPを上記第2の構成例のように構成することにより、ループフィルタ16は、フィルタパラメータFPが上記第1の構成例のように構成される場合と同様に、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (動画像符号化装置2)
 本実施形態に係る動画像符号化装置2の構成について図8を参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図8は、動画像符号化装置2の構成を示すブロック図である。図8に示すように、動画像符号化装置2は、予測画像生成部21、変換・量子化部22、逆量子化・逆変換部23、加算器24、フレームメモリ25、ループフィルタ26、フィルタパラメータ導出部27、可変長符号符号化部28、および、減算器29を備えている。動画像符号化装置2は、動画像#10(符号化対象画像)を符号化することによって、符号化データ#1を生成する装置である。
 (予測画像生成部21)
 予測画像生成部21は、処理対象LCUを、1または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Pred_Inter、または、画面内予測を用いたイントラ予測画像Pred_Intraを生成する。生成されたインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraは、予測画像Predとして、加算器24および減算器29に供給される。
 なお、予測画像生成部21は、スキップモードの適応されたLCUについては、予測画像の生成処理を省略することもできる。また、(1)対象LCUのパーティションへの分割の態様、(2)スキップモードを適用するか否か、および、(3)パーティション毎にインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraの何れを生成するか、は、符号化効率を最適化するように決定される。
 特に図示はしないが、予測画像生成部21は、イントラ予測画像生成部、動きベクトル検出部、インター予測画像生成部、予測方式制御部、動きベクトル冗長性削除部を備える構成とすることができる。このような構成の場合の上記各部の動作は、以下の通りである。
 (イントラ予測画像生成部)
 イントラ予測画像生成部は、画面内予測によって、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部は、生成したイントラ予測画像Pred_Intraを、予測方式制御部に供給する。また、イントラ予測画像生成部は、各パーティションについての予測インデックスPIを特定し、各パーティションについての当該予測インデックスPIを示す予測インデックス指定情報を予測方式制御部に供給する。
 なお、動画像符号化装置2の備えるイントラ予測画像生成部によるイントラ予測画像の生成は、動画像復号装置1の備えるイントラ予測画像生成部による処理と同様の処理によって行うことができる。
 (動きベクトル検出部)
 動きベクトル検出部は、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する適応フィルタ済復号画像P_ALF’を選択し、(2)選択した適応フィルタ済復号画像P_ALF’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ26による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部は、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。動きベクトル検出部は、検出した動きベクトルmvを、参照画像として利用した適応フィルタ済復号画像P_ALF’を指定する参照画像インデックスRIと共に、インター予測画像生成部及び動きベクトル冗長性削除部に供給する。
 (インター予測画像生成部)
 インター予測画像生成部は、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部から供給された動きベクトルmvを用いて、動きベクトル検出部から供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。動きベクトル検出部と同様、インター予測画像生成部は、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。インター予測画像生成部は、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部から供給された参照画像インデックスRIと共に、予測方式制御部に供給する。
 (予測方式制御部)
 予測方式制御部は、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部は、イントラ予測画像Pred_Intraを予測画像Predとして加算器24及び減算器29に供給すると共に、イントラ予測画像生成部から供給された予測インデックスPIを予測パラメータPPとして可変長符号符号化部28に供給する。一方、インター予測を選択した場合、予測方式制御部は、インター予測画像Pred_Interを予測画像Predとして加算器24及び減算器29に供給すると共に、インター予測画像生成部から供給された参照画像インデックスRI、並びに、後述する動きベクトル冗長性削除部から供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDを予測パラメータPPとして可変長符号符号化部に供給する。
 (動きベクトル冗長性削除部)
 動きベクトル冗長性削除部は、動きベクトル検出部によって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部は、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、上述した予測方式制御部に供給する。
 (変換・量子化部22)
 変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック(変換単位)毎にDCT変換(Discrete Cosine Transform)し、(2)DCT変換により得られたDCT係数を量子化し、(3)量子化により得られた量子化予測残差QDを可変長符号符号化部28及び逆量子化・逆変換部23に供給する。なお、変換・量子化部22は、(1)量子化の際に用いる量子化ステップQPをLCU毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部28に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、DCT変換/量子化するマクロブロックに関する量子化パラメータqp(例えばQP=2pq/6)の値から、直前にDCT変換/量子化したLCUに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
 (逆量子化・逆変換部23)
 逆量子化・逆変換部23は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器24に供給する。量子化予測残差QDを逆量子化する際には、変換・量子化部22から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部22に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
 (加算器24)
 加算器24は、予測方式制御部にて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、(局所)復号画像Pを生成する。加算器24にて生成された(局所)復号画像Pは、ループフィルタ26に供給されると共にフレームメモリ25に格納され、インター予測における参照画像として利用される。
 (可変長符号符号化部28)
 可変長符号符号化部28は、(1)変換・量子化部22から供給された量子化予測残差QD並びにΔqp、(2)予測画像生成部21の備える予測方式制御部から供給された量子化パラメータPP、および、(3)後述するフィルタパラメータ導出部27から供給されたフィルタパラメータFPを可変長符号化することによって、符号化データ#1を生成する。
 (減算器29)
 減算器29は、予測方式制御部にて選択された予測画像Predを、符号化対象画像から減算することによって、予測残差Dを生成する。減算器29にて生成された予測残差Dは、変換・量子化部22によってDCT変換/量子化される。
 (ループフィルタ26)
 図8に示すように、ループフィルタ26は、フィルタ制御部261、適応フィルタ用メモリ262、適応フィルタ部263、および、ノイズ除去フィルタ部264を備えている。フィルタ制御部261、適応フィルタ用メモリ262、適応フィルタ部263、および、ノイズ除去フィルタ部264は、それぞれ、動画像復号装置1におけるループフィルタ16の備える、フィルタ制御部161、適応フィルタ用メモリ162、適応フィルタ部163、および、ノイズ除去フィルタ部164と同様の構成であり、それらの動作については既に説明したため、ここでは説明を省略する。ただし、ループフィルタ16の説明における「フレームメモリ15」、および、「符号化データ#1から復号されるフィルタパラメータFP」は、それぞれ、「フレームメモリ25」、および、「フィルタパラメータ導出部27から供給されるフィルタパラメータFP」と読み替えるものとする。
 (フィルタパラメータ導出部27)
 フィルタパラメータ導出部27は、動画像復号装置1の備えるループフィルタ16、および、動画像符号化装置2の備えるループフィルタ26によって参照されるフィルタパラメータFPを生成する。
 フィルタパラメータ導出部27は、
(1)ノイズ除去フィルタ部264および適応フィルタ部263のそれぞれのオンオフ、
(2)ループフィルタ26の備える適応フィルタ部263に入力する画像の種類およびその組み合わせ(復号画像P、および、ノイズ除去済復号画像P_NRの何れか一方若しくは双方)、
(3)復号画像Pに作用するフィルタのタップ数、
(4)復号画像Pに作用するフィルタ係数およびオフセット、
(5)ノイズ除去済復号画像P_NRに作用するフィルタのタップ数、
(6)ノイズ除去済復号画像P_NRに作用するフィルタ係数およびオフセット、
を符号化効率が最適となるように決定する。
 また、フィルタパラメータ導出部27は、ループフィルタモード(loop_filter_mode)を以下に列挙する値の何れかに設定し、フィルタパラメータFPに含める。
 ・ループフィルタモード=0:ノイズ除去フィルタ部264をオフ、適応フィルタ部263をオフに決定する場合
 ・ループフィルタモード=1:ノイズ除去フィルタ部264をオン、適応フィルタ部263をオフに決定する場合
 ・ループフィルタモード=2:ノイズ除去フィルタ部264をオフ、適応フィルタ部263をオンに決定する場合であって、適応フィルタ部263への入力画像を、復号画像Pとする場合
 ・ループフィルタモード=3:ノイズ除去フィルタ部264をオン、適応フィルタ部263をオンに決定する場合であって、適応フィルタ部263への入力画像を、ノイズ除去済復号画像P_NRとする場合
 ・ループフィルタモード=4:ノイズ除去フィルタ部264をオン、適応フィルタ部263をオンに決定する場合であって、適応フィルタ部263への入力画像を、復号画像Pおよびノイズ除去済復号画像P_NRとする場合
 ここで、ループフィルタモードを2、3、または4の何れかに設定する場合の、フィルタパラメータ導出部27による動作は以下の通りである。
 フィルタパラメータ導出部27は、ループフィルタモード2~4のうち、二乗誤差が最小となるループフィルタモードについて、タップ数、フィルタ係数、および、オフセットをフィルタパラメータFPに含める。このようにして生成されたフィルタパラメータFPは、動画像復号装置1によって参照される。
 (ループフィルタモード=2)
 フィルタパラメータ導出部27は、ループフィルタモード2について、復号画像Pに作用するフィルタのフィルタ係数aP(u、v)およびオフセットoPを、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定する。例えば、以下の数式(4)に示す二乗誤差E1が最小となるように、フィルタ係数aP(u、v)およびオフセットoPを決定する。
Figure JPOXMLDOC01-appb-M000004
ここで、SP(x、y)は復号画像Pの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、RPは、フィルタ参照領域を表している。フィルタ参照領域RPのサイズを規定するタップ数は、複数の候補(例えば、1タップ、3タップ、5タップ、7タップ、9タップ)の中から、符号化効率が最適となるものが選択される。また、x、yについての和は、フィルタパラメータFPがループフィルタモードを指定する処理単位に含まれる全ての画素についての和を表している。例えば、フィルタパラメータFPが、スライス(またはLCU)毎にループフィルタモードを指定する場合には、x、yについての和は、当該スライス(または当該LCU)に含まれる全ての画素についての和である(以下同様)。
 上記のように決定されたフィルタ係数aP(u、v)およびオフセットoPは、シンタックスalf_coeff_default[i]として、フィルタパラメータFPに含められる。また、上記のように決定されたフィルタ参照領域RPのタップ数を指定するパラメータは、alf_length_default_minus5_div2として、フィルタパラメータFPに含められる。
 なお、本モードの動作を行うフィルタパラメータ導出部27は、より一般には、ループフィルタモード2について、復号画像Pに作用するフィルタのフィルタ係数aP(u、v)およびオフセットoPを、フィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定するものである、と表現することができる。
 (ループフィルタモード=3)
 フィルタパラメータ導出部27は、ループフィルタモード3について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)およびオフセットoPNRを、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定する。例えば、以下の数式(5)に示す二乗誤差E2が最小となるように、フィルタ係数aPNR(u、v)およびオフセットoPNRを決定する。
Figure JPOXMLDOC01-appb-M000005
ここで、SPNR(x、y)はノイズ除去済復号画像P_NRの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、RPNRは、フィルタ参照領域を表している。フィルタ参照領域RPNRのサイズを規定するタップ数は、複数の候補(例えば、1タップ、3タップ、5タップ、7タップ、9タップ)の中から、符号化効率が最適となるものが選択される。
 上記のように決定されたフィルタ係数aPNR(u、v)およびオフセットoPNRは、シンタックスalf_coeff_default[i]として、フィルタパラメータFPに含められる。また、上記のように決定されたフィルタ参照領域RPNRのタップ数を指定するパラメータは、alf_length_default_minus5_div2として、フィルタパラメータFPに含められる。
 なお、本モードの動作を行うフィルタパラメータ導出部27は、より一般には、ループフィルタモード3について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)およびオフセットoPNRを、フィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定するものである、と表現することができる。
 (ループフィルタモード=4)
 フィルタパラメータ導出部27は、ループフィルタモード4について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)、復号画像Pに作用するフィルタのフィルタ係数aP(u、v)、および、オフセットo(PNR,P)を、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定する。例えば、以下の数式(6)に示す二乗誤差E3が最小となるように、フィルタ係数aPNR(u、v)、フィルタ係数aP(u、v)、および、オフセットo(PNR,P)を決定する。
Figure JPOXMLDOC01-appb-M000006
ここで、SPNR(x、y)はノイズ除去済復号画像P_NRの画素値を表しており、SP(x、y)は復号画像P_NRの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、RPNRおよびRPは、フィルタ参照領域を表している。フィルタ参照領域RPNRおよびRPのサイズを規定するタップ数は、複数の候補(例えば、1タップ、3タップ、5タップ、7タップ、9タップ)の中から、符号化効率が最適となるものが選択される。
 上記のように決定されたフィルタ係数aPNR(u、v)は、シンタックスalf_coeff_default[i]として、フィルタパラメータFPに含められる。また、上記のように決定されたフィルタ参照領域RPNRのタップ数を指定するパラメータは、alf_length_default_minus5_div2として、フィルタパラメータFPに含められる。
 また、上記のように決定されたフィルタ係数aP(u、v)は、シンタックスalf_coeff_raw[i]として、フィルタパラメータFPに含められる。また、上記のように決定されたフィルタ参照領域RPのタップ数を指定するパラメータは、alf_length_raw_minus5_div2として、フィルタパラメータFPに含められる。
 また、上記のように決定されたオフセットo(PNR,P)は、シンタックスalf_coeff_default[i]およびalf_coeff_raw[i]の何れか一方若しくは双方としてフィルタパラメータFPに含められる。
 なお、本モードの動作を行うフィルタパラメータ導出部27は、より一般には、ループフィルタモード4について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)、復号画像Pに作用するフィルタのフィルタ係数aP(u、v)、および、オフセットo(PNR,P)を、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定するものである、と表現することができる。
 以上のようにして構成されたフィルタパラメータFPは、上述したフィルタパラメータFPの第1の構成例に対応する。
 また、フィルタパラメータ導出部27は、ループフィルタモード(loop_filter_mode)に代えて、ループフィルタモードと以下の対応付けを有するノイズ除去フィルタフラグ(noise_reduction_filter_flag)、適応フィルタフラグ(adaptive_loop_filter_flag)、および、追加入力フラグ(enable_another_input)をフィルタパラメータFPに含める構成としてもよい。
 (ループフィルタモード=0)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=0
 (ループフィルタモード=1)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=0
 (ループフィルタモード=2)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1
 (ループフィルタモード=3)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、追加入力フラグ=0
 (ループフィルタモード=4)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、追加入力フラグ=1
 以上のようにして構成されたフィルタパラメータFPは、上述したフィルタパラメータFPの第2の構成例に対応する。
 以上のように、動画像符号化装置2の備えるループフィルタ26によるフィルタ処理に用いられるフィルタパラメータFPは、符号化効率が最適となるように設定されているため、動画像符号化装置2によれば、符号化効率の高い符号化データ#1を生成することができる。
 なお、適応フィルタ部263に入力する画像の種類は、動画像符号化装置2が外部から取得する情報によって指定されるものであってもよい。この場合、フィルタパラメータ導出部27は、当該情報によって指定される画像に対して、最適なフィルタ係数およびオフセットを決定する。
 〔実施形態2〕
 以下では、本発明の第2の実施形態について説明する。
 (符号化データ#3の構成)
 符号化データ#3のスライスヘッダには、符号化データ#1のスライスヘッダに含まれるフィルタパラメータFPに代えて、フィルタパラメータFP’が含まれる。フィルタパラメータFP’の構成については、動画像復号装置3の説明において詳述する。また、符号化データ#3の、フィルタパラメータFP’以外の構成は符号化データ#1と略同様である。
 (動画像復号装置3)
 以下では、本実施形態に係る動画像復号装置3について図9~図13を参照して説明する。動画像復号装置3は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 なお、以下では、実施形態1において既に説明した部分と同じ機能を有する部分については、同じ符号を付し、その説明を省略する。
 図9は、動画像復号装置3の構成を示すブロック図である。図9に示すように、動画像復号装置3は、可変長符号復号部11、予測画像生成部12、逆量子化・逆変換部13、加算器14、フレームメモリ15、ループフィルタ36を備えている。動画像復号装置3は、符号化データ#3を復号することによって動画像#4を生成するための装置である。
 (ループフィルタ36)
 以下では、ループフィルタ36の構成について図9~図13を参照してより具体的に説明する。図9に示すように、ループフィルタ36は、フィルタ制御部361、適応フィルタ用メモリ362、適応フィルタ部363、および、ノイズ除去フィルタ部364を備えている。
 図9に示すように、フィルタ制御部361は、符号化データ#3より復号され、可変長符号復号部11より供給されるフィルタパラメータFP’に含まれるフィルタ制御情報に基づいて、ループフィルタ36の各部を制御する。また、フィルタ制御部361は、フィルタ制御情報に基づいて、適応フィルタ用メモリ362に予測画像Pred、予測残差Dおよび入力信号数情報を供給する。適応フィルタ部363は、予測画像Pred、予測残差D、およびノイズ除去済予測画像P_NRを受け、適応フィルタ済復号画像P_ALFをフレームメモリ15に供給する。ノイズ除去フィルタ部364は、復号画像Pに対してノイズ除去処理を施すことによってノイズ除去済復号画像P_NRを生成し、フレームメモリ15に供給する。
 ループフィルタ36は、可変長符号復号部11により符号化データ#3から復号されたフィルタパラメータFP’を参照して、以下に列挙する複数の処理の何れかを選択的に行う。ループフィルタ36は、当該複数の処理のうち何れの処理を行うかを、フィルタパラメータFP’に含まれるフィルタ制御情報を参照して決定する。以下では、ループフィルタ36が、スライス毎に、以下に列挙する複数の処理の何れかを選択的に行う場合を例に挙げ説明を行うが、本実施形態はこれに限定されるものではなく、ループフィルタ36は、シーケンス毎、GOP(Group Of Pictures)毎、ピクチャ毎、若しくは、LCU毎に、以下に列挙する複数の処理の何れかを選択的に行う構成とすることもできる。
 また、以下では、ループフィルタ36が、符号化データ#3から復号されるフィルタパラメータFP’の第1の構成例および第2の構成例を参照する場合について、それぞれ説明する。
 (フィルタパラメータFP’の第1の構成例)
 図10は、符号化データ#3から復号され、ループフィルタ36によって参照されるフィルタパラメータFP’(loop_filter_param)の第1の構成例を示す図である。図10に示すように、フィルタパラメータFP’の第1の構成例は、複数のシンタックス(loop_filter_mode、alf_length_default_minus5_div2、alf_coeff_default[i]、alf_length_error_minus1_div2、alf_coeff_error[i]、alf_length_pred_minus1_div2、および、alf_coeff_pred[i])を含んでいる。
 loop_filter_modeは、ループフィルタ36によるフィルタ処理の内容を規定するためのシンタックスであり、上述したフィルタ制御情報に対応している。本実施形態において、loop_filter_modeのとり得る可能な値は0~6である。
 alf_length_default_minus5_div2、AlfNumCoeffDefault、および、alf_coeff_default[i]は、実施形態1において説明したものと同じである。ただし、本構成例においては、alf_length_default_minus5_div2、および、alf_coeff_default[i]は、可変長符号復号部11によって、loop_filter_modeが2、3、4、5、または6である場合に復号される。
 また、alf_coeff_default[i]のセットは、実施形態1において説明したように、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 alf_length_error_minus1_div2は、予測残差Dに作用するフィルタのタップ数を示すシンタックスである。また、図10に示されているAlfNumCoeffErrorは、予測残差Dに作用するフィルタのフィルタ係数の数を示しており、alf_length_error_minus1_div2から、
 AlfNumCoeffError=alf_length_error_minus1_div2*2+1
によって算出される。ここで、記号*は、積を表す演算記号である(以下同様)。
 alf_coeff_error[i]は、予測残差Dに作用するフィルタのフィルタ係数を示すシンタックスである。alf_coeff_error[i]には、予測残差Dに作用するフィルタのオフセットが含まれていてもよい。alf_coeff_error[i]のセットは、予測残差Dに作用するフィルタのフィルタ係数群G_coeff_errorを構成する。
 なお、alf_length_error_minus1_div2、および、alf_coeff_error[i]は、可変長符号復号部11によって、loop_filter_modeが4、5、または6である場合に復号される。
 alf_length_pred_minus1_div2は、予測画像Predに作用するフィルタのタップ数を示すシンタックスである。また、図10に示されているAlfNumCoeffPredは、予測画像Predに作用するフィルタのフィルタ係数の数を示しており、alf_length_pred_minus1_div2から、
 AlfNumCoeffPred=alf_length_pred_minus1_div2*2+1
によって算出される。
 alf_coeff_pred[i]は、予測画像Predに作用するフィルタのフィルタ係数を示すシンタックスである。alf_coeff_pred[i]には、予測画像Predに作用するフィルタのオフセットが含まれていてもよい。alf_coeff_pred[i]のセットは、予測画像Predに作用するフィルタのフィルタ係数群G_coeff_predを構成する。
 なお、alf_length_pred_minus1_div2、および、alf_coeff_pred[i]は、可変長符号復号部11によって、loop_filter_modeが6である場合に復号される。
 図11は、ループフィルタ36による処理を説明するためのものであって、フィルタパラメータFP’に含まれるループフィルタモード(loop_filter_mode)の値と、ループフィルタ36の備えるノイズ除去フィルタ部364および適応フィルタ部363のオンオフとの対応を示す表である。また、図11においては、適応フィルタ部363への入力数、適応フィルタ部363へのデフォルト入力の有無(x印はデフォルト入力があることを示す)、及び、適応フィルタ部363への追加入力の有無(x印は追加入力があることを示す)が示されている。ここで、デフォルト入力がある場合とは、フレームメモリ15に格納された画像(例えば、以下の処理例2-1-3および2-1-5においては復号画像P、処理例2-1-4、2-1-6および2-1-7においてはノイズ除去済復号画像P_NR)が適応フィルタ部363に入力される場合のことを指し、追加入力がある場合とは、適応フィルタ用メモリ362に格納された画像(例えば、以下の処理例2-1-5および2-1-6においては予測残差D、処理例2-1-7においては予測残差Dおよび予測画像Pred)が適応フィルタ部363に入力される場合のことを指す。
 以下では、各ループフィルタモードについてのループフィルタ36の具体的な処理について説明する。
 (処理例2-1-1:ループフィルタモード=0)
 ループフィルタモードが0である場合に、ループフィルタ36によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-1)と同様であるため、ここでは説明を省略する。
 (処理例2-1-2:ループフィルタモード=1)
 ループフィルタモードが1である場合に、ループフィルタ36によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-2)と同様であるため、ここでは説明を省略する。
 (処理例2-1-3:ループフィルタモード=2)
 ループフィルタモードが2である場合に、ループフィルタ36によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-3)と同様であるため、ここでは説明を省略する。
 (処理例2-1-4:ループフィルタモード=3)
 ループフィルタモードが3である場合に、ループフィルタ36によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-4)と同様であるため、ここでは説明を省略する。
 (処理例2-1-5:ループフィルタモード=4)
 続いて、ループフィルタモードが4である場合に、ループフィルタ36によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが4である場合、図11に示すように、フィルタ制御部361は、ノイズ除去フィルタ部364をオフに設定し、適応フィルタ部363をオンに設定する。したがって、ループフィルタモードが4である場合、ノイズ除去フィルタ部364は、ノイズ除去済復号画像P_NRを生成せず、適応フィルタ部363は、適応フィルタ済復号画像P_ALFを生成する。
 さらに、本処理例においては、フィルタ制御部361は、適応フィルタ用メモリ362に残差画像(予測残差の示す画像)用のメモリ領域を確保し、逆量子化・逆変換部13より供給される予測残差Dを、当該残差画像用メモリ領域に格納する。なお、フィルタ制御部361は、予測残差Dを上記残差画像用メモリ領域に1フレーム分格納する構成としてもよいし、1スライス分格納する構成としてもよい。また、フィルタ制御部361は、適応フィルタ部363によるフィルタ処理が終了した後、残差画像用メモリ領域を開放し、当該残差画像用メモリ領域を動画像復号装置3の備える各部によって利用可能な状態に設定する。
 また、本処理例においては、適応フィルタ部363は、フレームメモリ15に格納されている復号画像P、および、適応フィルタ用メモリ362に格納されている予測残差Dに対して、フィルタパラメータFP’に含まれるフィルタ係数およびオフセットを用いたフィルタ処理を行うことによって、対象スライスにおける適応フィルタ済復号画像P_ALFを生成する。より具体的には、対象スライスにおける適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、復号画像Pの画素値をSP(x、y)と表し、予測残差Dの画素値をSD(x、y)と表すことにすると、適応フィルタ部363は、画素値SALF(x’、y’)を、以下の数式(7)によって算出する。
Figure JPOXMLDOC01-appb-M000007
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aP(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、復号画像Pの画素値SP(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aP(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_default[i]によって指定される。
 一方で、aD(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、予測残差Dの示す画像の画素値SD(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aD(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_error[i]によって指定される。
 また、オフセットo(P,D)の具体的な値は、フィルタパラメータFP’に含まれるシンタックスalf_coeff_default[i]およびalf_coeff_error[i]の何れか一方若しくは双方によって指定される。
 また、フィルタ参照領域RPは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、復号画像P上に設定される。ここで、フィルタ参照領域RPのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_default_minus5_div2によって指定される。
 一方で、フィルタ参照領域RDは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、予測残差Dの示す画像上に設定される。ここで、フィルタ参照領域RDのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_error_minus1_div2によって指定される。
 なお、本処理例における適応フィルタ部363は、実施形態1における(処理例1-1-3)と同様に、各フィルタ係数を、180度の回転対称性を有するように、フィルタ参照領域RPおよびフィルタ参照領域RDに含まれる各画素に対して割り付けられる構成とすることができる。
 ただし、本処理例はこのような構成に限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域RPのサイズおよび形状は、フィルタ参照領域RDのサイズおよび形状とは異なっていてもよい。
 本処理例においては、適応フィルタ部363への入力数は2である。すなわち、適応フィルタ部363は、復号画像P、および、予測残差Dの双方を参照する。したがって、復号画像P、および、予測残差Dの何れか一方を参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、予測画像を生成するためにより適切な適応フィルタ済復号画像P_ALFを生成することができる。したがって、ループフィルタ36は、本処理例の動作を行うことによって、復号画像P、および、予測残差Dの何れか一方を参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、符号化効率が向上する。
 また、上述のように、適応フィルタ部363は、フレームメモリ15に格納された復号画像P、および、適応フィルタ用メモリ362に格納された予測残差Dを参照するので、復号画像Pの画素値、および、予測残差Dの画素値の双方を並列的に読み出し、数式(7)における第1項の計算と第2項の計算とを並列的に行うことが可能になる。したがって、適応フィルタ部363は、本処理例の動作を行うことによって、フレームメモリ15のみから復号画像Pの画素値、および、予測残差Dの画素値の双方を読み出すような構成に比べて、高速なフィルタ処理を行うことができる。
 このように、ループフィルタ36は、本処理例の動作を行うことによって、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (処理例2-1-6:ループフィルタモード=5)
 続いて、ループフィルタモードが5である場合に、ループフィルタ36によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが5である場合、図11に示すように、フィルタ制御部361は、ノイズ除去フィルタ部364および適応フィルタ部363の双方をオンに設定する。したがって、ループフィルタモードが5である場合、ノイズ除去フィルタ部364は、ノイズ除去済復号画像P_NRを生成し、適応フィルタ部363は、適応フィルタ済復号画像P_ALFを生成する。
 さらに、本処理例においては、フィルタ制御部361は、適応フィルタ用メモリ362に残差画像(予測残差の示す画像)用のメモリ領域を確保し、逆量子化・逆変換部13よりより供給される予測残差Dを、当該残差画像用メモリ領域に格納する。なお、フィルタ制御部361は、予測残差Dを上記残差画像用メモリ領域に1フレーム分格納する構成としてもよいし、1スライス分格納する構成としてもよい。また、フィルタ制御部361は、適応フィルタ部363によるフィルタ処理が終了した後、残差画像用メモリ領域を開放し、当該残差画像用メモリ領域を動画像復号装置3の備える各部によって利用可能な状態に設定する。
 また、本処理例においては、適応フィルタ部363は、フレームメモリ15に格納されているノイズ除去済復号画像P_NR、および、適応フィルタ用メモリ362に格納されている予測残差Dに対して、フィルタパラメータFP’に含まれるフィルタ係数およびオフセットを用いたフィルタ処理を行うことによって、対象スライスにおける適応フィルタ済復号画像P_ALFを生成する。より具体的には、対象スライスにおける適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、ノイズ除去済復号画像P_NRの画素値をSPNR(x、y)と表し、予測残差Dの画素値をSD(x、y)と表すことにすると、適応フィルタ部363は、画素値SALF(x’、y’)を、以下の数式(8)によって算出する。
Figure JPOXMLDOC01-appb-M000008
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aPNR(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、ノイズ除去済復号画像P_NRの画素値SPNR(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aPNR(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_default[i]によって指定される。
 一方で、aD(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、予測残差Dの示す画像の画素値SD(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aD(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_error[i]によって指定される。
 また、オフセットo(PNR,D)の具体的な値は、フィルタパラメータFP’に含まれるシンタックスalf_coeff_default[i]およびalf_coeff_error[i]の何れか一方若しくは双方によって指定される。
 また、フィルタ参照領域RPNRは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、ノイズ除去済復号画像P_NR上に設定される。ここで、フィルタ参照領域RPNRのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_default_minus5_div2によって指定される。
 一方で、フィルタ参照領域RDは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、予測残差Dの示す画像上に設定される。ここで、フィルタ参照領域RDのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_error_minus1_div2によって指定される。
 なお、本処理例における適応フィルタ部363は、実施形態1における(処理例1-1-3)と同様に、各フィルタ係数を、180度の回転対称性を有するように、フィルタ参照領域RPおよびフィルタ参照領域RDに含まれる各画素に対して割り付けられる構成とすることができる。
 ただし、本処理例はこのような構成に限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域RPのサイズおよび形状は、フィルタ参照領域RDのサイズおよび形状とは異なっていてもよい。
 本処理例においては、適応フィルタ部363への入力数は2である。すなわち、適応フィルタ部363は、ノイズ除去済復号画像P_NR、および、予測残差Dの双方を参照する。したがって、ノイズ除去済復号画像P_NR、および、予測残差Dの何れか一方を参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、予測画像を生成するためにより適切な適応フィルタ済復号画像P_ALFを生成することができる。したがって、ループフィルタ36は、本処理例の動作を行うことによって、ノイズ除去済復号画像P_NR、および、予測残差Dの何れか一方を参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、符号化効率が向上する。
 また、ノイズ除去済復号画像P_NRは、復号画像Pに比べて、ノイズが低減されている画像である。したがって、ループフィルタ36は、本処理例の動作を行うことによって、復号画像Pのみを参照する場合、および、復号画像Pと予測残差Dとを参照する場合に比べて、符号化効率が向上する。
 また、上述のように、適応フィルタ部363は、フレームメモリ15に格納されたノイズ除去済復号画像P、および、適応フィルタ用メモリ362に格納された予測残差Dを参照するので、ノイズ除去済復号画像P_NRの画素値、および、予測残差Dの画素値の双方を並列的に読み出し、数式(8)における第1項の計算と第2項の計算とを並列的に行うことが可能になる。したがって、適応フィルタ部363は、本処理例の動作を行うことによって、フレームメモリ15のみからノイズ除去済復号画像P_NRの画素値、および、予測残差Dの画素値の双方を読み出すような構成に比べて、高速なフィルタ処理を行うことができる。
 このように、ループフィルタ36は、本処理例の動作を行うことによって、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (処理例2-1-7:ループフィルタモード=6)
 続いて、ループフィルタモードが6である場合に、ループフィルタ36によって行われる処理について説明する。
 対象スライスについてのループフィルタモードが6である場合、図11に示すように、フィルタ制御部361は、ノイズ除去フィルタ部364および適応フィルタ部363の双方をオンに設定する。したがって、ループフィルタモードが6である場合、ノイズ除去フィルタ部364は、ノイズ除去済復号画像P_NRを生成し、適応フィルタ部363は、適応フィルタ済復号画像P_ALFを生成する。
 さらに、本処理例においては、フィルタ制御部361は、適応フィルタ用メモリ362に残差画像(予測残差の示す画像)用のメモリ領域および予測画像用のメモリを確保し、逆量子化・逆変換部13よりより供給される予測残差D、および、予測画像生成部12より供給される予測画像Predを、それぞれ、当該残差画像用メモリ領域、および、予測画像用メモリ領域に格納する。なお、フィルタ制御部361は、予測残差Dおよび予測画像Predをそれぞれ上記残差画像用メモリ領域および上記予測画像用メモリに1フレーム分格納する構成としてもよいし、1スライス分格納する構成としてもよい。また、フィルタ制御部361は、適応フィルタ部363によるフィルタ処理が終了した後、残差画像用メモリ領域および予測画像用メモリ領域を開放し、当該残差画像用メモリ領域および予測画像用メモリ領域を動画像復号装置3の備える各部によって利用可能な状態に設定する。
 また、本処理例においては、適応フィルタ部363は、フレームメモリ15に格納されているノイズ除去済復号画像P_NR、適応フィルタ用メモリ362に格納されている予測残差D、および、適応フィルタ用メモリ362に格納されている予測画像Predに対して、フィルタパラメータFP’に含まれるフィルタ係数およびオフセットを用いたフィルタ処理を行うことによって、対象スライスにおける適応フィルタ済復号画像P_ALFを生成する。より具体的には、対象スライスにおける適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、ノイズ除去済復号画像P_NRの画素値をSPNR(x、y)と表し、予測残差Dの画素値をSD(x、y)と表し、予測画像Predの画素値をSPred(x、y)と表すことにすると、適応フィルタ部363は、画素値SALF(x’、y’)を、以下の数式(9)によって算出する。
Figure JPOXMLDOC01-appb-M000009
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aPNR(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、ノイズ除去済復号画像P_NRの画素値SPNR(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aPNR(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_default[i]によって指定される。
 また、aD(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、予測残差Dの示す画像の画素値SD(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aD(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_error[i]によって指定される。
 また、aPred(u、v)は、符号化データ#3のフィルタパラメータFP’に含まれるフィルタ係数のうち、予測画像Predの示す画像の画素値SPred(x+u、y+v)に乗ぜられるフィルタ係数を表している。フィルタ係数aPred(u、v)の具体的な値は、フィルタパラメータFP’に含まれる各シンタックスalf_coeff_pred[i]によって指定される。
 また、オフセットo(PNR,D,Pred)の具体的な値は、フィルタパラメータFP’に含まれるシンタックスalf_coeff_default[i]、alf_coeff_error[i]、およびalf_coeff_pred[i]の何れか1つ若しくは複数によって指定される。
 また、フィルタ参照領域RPNRは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、ノイズ除去済復号画像P_NR上に設定される。ここで、フィルタ参照領域RPNRのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_default_minus5_div2によって指定される。
 また、フィルタ参照領域RDは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、予測残差Dの示す画像上に設定される。ここで、フィルタ参照領域RDのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_error_minus1_div2によって指定される。
 また、フィルタ参照領域RPredは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、予測画像Pred上に設定される。ここで、フィルタ参照領域RPredのサイズは、フィルタパラメータFP’に含まれるシンタックスalf_length_pred_minus1_div2によって指定される。
 なお、本処理例における適応フィルタ部363は、実施形態1における(処理例1-1-3)と同様に、各フィルタ係数を、180度の回転対称性を有するように、フィルタ参照領域RPおよびフィルタ参照領域RDに含まれる各画素に対して割り付けられる構成とすることができる。
 ただし、本処理例はこのような構成に限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域RPのサイズおよび形状は、フィルタ参照領域RDのサイズおよび形状とは異なっていてもよい。
 本処理例においては、適応フィルタ部363への入力数は3である。すなわち、適応フィルタ部363は、ノイズ除去済復号画像P_NR、予測残差D、および、予測画像Predをを参照する。したがって、ノイズ除去済復号画像P_NR、予測残差D、および、予測画像Predの何れか1つもしくは2つを参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、予測画像を生成するためにより適切な適応フィルタ済復号画像P_ALFを生成することができる。したがって、ループフィルタ36は、本処理例の動作を行うことによって、ノイズ除去済復号画像P_NR、予測残差D、および、予測画像Predの何れか1つもしくは2つを参照して適応フィルタ済復号画像P_ALFを算出する場合に比べて、符号化効率が向上する。
 また、ノイズ除去済復号画像P_NRは、復号画像Pに比べて、ノイズが低減されている画像である。したがって、ループフィルタ36は、本処理例の動作を行うことによって、復号画像Pのみを参照する場合、および、復号画像Pと予測残差Dとを参照する場合、復号画像Pと予測残差Dと予測残差Predを参照する場合に比べて、符号化効率が向上する。
 また、上述のように、適応フィルタ部363は、フレームメモリ15に格納されたノイズ除去済復号画像P、適応フィルタ用メモリ362に格納された予測残差D、適応フィルタ用メモリ362に格納された予測画像Predを参照するので、ノイズ除去済復号画像P_NRの画素値と、予測残差Dの画素値および予測画像Predの画素値とを並列的に読み出し、数式(9)における第1項の計算と、第2項および第3項の計算とを並列的に行うことが可能になる。したがって、適応フィルタ部363は、本処理例の動作を行うことによって、フレームメモリ15のみからノイズ除去済復号画像P_NRの画素値、予測残差Dの画素値、および予測画像Predの画素値を読み出すような構成に比べて、高速なフィルタ処理を行うことができる。
 このように、ループフィルタ36は、本処理例の動作を行うことによって、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (フィルタパラメータFP’の第2の構成例)
 続いて、ループフィルタ36が、符号化データ#3から復号されるフィルタパラメータFP’の第2の構成例を参照する場合について説明する。
 図12は、符号化データ#3から復号され、ループフィルタ36によって参照されるフィルタパラメータFP’(loop_filter_param)の第2の構成例を示す図である。図12に示すように、フィルタパラメータFP’の第2の構成例は、複数のシンタックス(noise_reduction_filter_flag、adaptive_loop_filter_flag、alf_length_default_minus5_div2、alf_coeff_default[i]、enable_error_alf、enable_pred_alf、alf_length_error_minus1_div2、alf_coeff_error[i]、alf_length_pred_minus1_div2、alf_coeff_pred[i])を含んでいる。
 noise_reduction_filter_flagは、ノイズ除去フィルタ部364のオンオフを指定するフラグであり、noise_reduction_filter_flagが0の場合、ノイズ除去フィルタ部364がオフに指定され、noise_reduction_filter_flagが1の場合、ノイズ除去フィルタ部364がオンに指定される。
 adaptive_loop_filter_flagは、適応フィルタ部363のオンオフを指定するフラグであり、adaptive_loop_filter_flagが0の場合、適応フィルタ部363がオフに指定され、adaptive_loop_filter_flagが1の場合、適応フィルタ部363がオンに指定される。
 alf_length_default_minus5_div2、AlfNumCoeffDefault、および、alf_coeff_default[i]は、フィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_default_minus5_div2、および、alf_coeff_default[i]は、可変長符号復号部11によって、adaptive_loop_filter_flagが0以外の場合に復号される。
 また、alf_coeff_default[i]のセットは、フィルタパラメータFPの第1の構成例において説明したように、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 enable_error_alfは、適応フィルタ部363へ予測残差Dを入力するか否かを指定するフラグであり、enable_error_alfが0の場合、適応フィルタ部363へ予測残差Dが入力されず、enable_error_alfが1の場合、適応フィルタ部363へ予測残差Dが入力される。
 alf_length_error_minus1_div2、AlfNumCoeffError、および、alf_coeff_error[i]は、フィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_error_minus1_div2、および、alf_coeff_error[i]は、可変長符号復号部11によって、enable_error_alfが1の場合に復号される。
 enable_pred_alfは、適応フィルタ部363へ予測画像Predを入力するか否かを指定するフラグであり、enable_pred_alfが0の場合、適応フィルタ部363へ予測画像Predが入力されず、enable_pred_alfが1の場合、適応フィルタ部363へ予測画像Predが入力される。
 alf_length_pred_minus1_div2、AlfNumCoeffPred、および、alf_coeff_pred[i]は、フィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_pred_minus1_div2、および、alf_coeff_pred[i]は、可変長符号復号部11によって、enable_pred_alfが1の場合に復号される。
 図13は、ループフィルタ36による処理を説明するためのものであって、フィルタパラメータFP’に含まれるノイズ除去フィルタフラグ(noise_reduction_filter_flag)、適応フィルタフラグ(adaptive_loop_filter_flag)、残差画像追加フラグ(enable_error_alf)、および、予測画像追加フラグ(enable_pred_alf)の各値と、ループフィルタ36の備える適応フィルタ部363への入力数、適応フィルタ部363へのデフォルト入力の有無(x印はデフォルト入力があることを示す)、及び、適応フィルタ部363への追加入力の有無(x印は追加入力があることを示す)との対応を示す表である。ここで、デフォルト入力がある場合とは、フレームメモリ15に格納された画像(例えば、以下の処理例2-2-3および2-2-5においては復号画像P、処理例2-2-4、2-2-6および2-2-7においてはノイズ除去済復号画像P_NR)が適応フィルタ部363に入力される場合のことを指し、追加入力がある場合とは、適応フィルタ用メモリ362に格納された画像(例えば、以下の処理例2-2-5および2-2-6においては予測残差D、処理例2-2-7においては予測残差Dおよび予測画像Pred)が適応フィルタ部363に入力される場合のことを指す。
 ノイズ除去フィルタフラグ、適応フィルタフラグ、残差画像追加フラグ、および予測画像追加フラグが各値をとる場合、ループフィルタ36は以下の処理を行う。
 (処理例2-2-1:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=0)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が0である場合、ループフィルタ36は、上述した処理例2-1-1と同様の処理を行う。
 (処理例2-2-2:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=0)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが0である場合、ループフィルタ36は、上述した処理例2-1-2と同様の処理を行う。
 (処理例2-2-3:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=0、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグが0であり、適応フィルタフラグが1であり、残差画像追加フラグおよび予測画像追加フラグの双方が0である場合、ループフィルタ36は、上述した処理例2-1-3と同様の処理を行う。
 (処理例2-2-4:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、残差画像追加フラグ=0、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が1であり、残差画像追加フラグおよび予測画像追加フラグの双方が0である場合、ループフィルタ36は、上述した処理例2-1-4と同様の処理を行う。
 (処理例2-2-5:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグが0であり、適応フィルタフラグが1であり、残差画像追加フラグが1であり、予測画像追加フラグが0である場合、ループフィルタ36は、上述した処理例2-1-5と同様の処理を行う。
 (処理例2-2-6:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが1であり、残差画像追加フラグが1であり、予測画像追加フラグが0である場合、ループフィルタ36は、上述した処理例2-1-6と同様の処理を行う。
 (処理例2-2-7:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=1)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが1であり、残差画像追加フラグが1であり、予測画像追加フラグが1である場合、ループフィルタ36は、上述した処理例2-1-7と同様の処理を行う。
 このように、フィルタパラメータFP’を上記第2の構成例のように構成することによっても、ループフィルタ36を、フィルタパラメータFP’が上記第1の構成例のように構成される場合と同様に制御することができる。したがって、フィルタパラメータFP’を上記第2の構成例のように構成することにより、ループフィルタ36は、フィルタパラメータFP’が上記第1の構成例のように構成される場合と同様に、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (動画像符号化装置4)
 本実施形態に係る動画像符号化装置4の構成について図14を参照して説明する。動画像符号化装置4は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図14は、動画像符号化装置4の構成を示すブロック図である。図14に示すように、動画像符号化装置4は、予測画像生成部21、変換・量子化部22、逆量子化・逆変換部23、加算器24、フレームメモリ25、ループフィルタ46、フィルタパラメータ導出部47、可変長符号符号化部28、および、減算器29を備えている。動画像符号化装置2は、動画像#20(符号化対象画像)を符号化することによって、符号化データ#3を生成する装置である。
 (ループフィルタ46)
 図14に示すように、ループフィルタ46は、フィルタ制御部461、適応フィルタ用メモリ462、適応フィルタ部463、および、ノイズ除去フィルタ部464を備えている。フィルタ制御部461、適応フィルタ用メモリ462、適応フィルタ部463、および、ノイズ除去フィルタ部464は、それぞれ、動画像復号装置3におけるループフィルタ36の備える、フィルタ制御部361、適応フィルタ用メモリ362、適応フィルタ部363、および、ノイズ除去フィルタ部364と同様の構成であり、それらの動作については既に説明したため、ここでは説明を省略する。ただし、ループフィルタ36の説明における「フレームメモリ15」、および、「符号化データ#3から復号されるフィルタパラメータFP’」は、それぞれ、「フレームメモリ25」、および、「フィルタパラメータ導出部47から供給されるフィルタパラメータFP’」と読み替えるものとする。
 (フィルタパラメータ導出部47)
 フィルタパラメータ導出部47は、動画像復号装置3の備えるループフィルタ36、および、動画像符号化装置4の備えるループフィルタ46によって参照されるフィルタパラメータFP’を生成する。
 フィルタパラメータ導出部47は、
(1)ノイズ除去フィルタ部464および適応フィルタ部463のそれぞれのオンオフ、
(2)ループフィルタ46の備える適応フィルタ部463に入力する画像の種類およびその組み合わせ(復号画像P、ノイズ除去済復号画像P_NR、予測残差D、および、予測画像Predのうち1つ若しくは複数の組み合わせ)、
(3)復号画像Pに作用するフィルタのタップ数、
(4)復号画像Pに作用するフィルタ係数およびオフセット、
(5)ノイズ除去済復号画像P_NRに作用するフィルタのタップ数、
(6)ノイズ除去済復号画像P_NRに作用するフィルタ係数およびオフセット、
(7)予測残差Dの示す画像に作用するフィルタのタップ数、
(8)予測残差Dの示す画像に作用するフィルタ係数およびオフセット、
(9)予測画像Predの示す画像に作用するフィルタのタップ数、
(10)予測画像Predの示す画像に作用するフィルタ係数およびオフセット、
を符号化効率が最適となるように決定する。
 また、フィルタパラメータ導出部47は、ループフィルタモード(loop_filter_mode)を以下に列挙する値の何れかに設定する。
 ・ループフィルタモード=0:ノイズ除去フィルタ部464をオフ、適応フィルタ部463をオフに決定する場合
 ・ループフィルタモード=1:ノイズ除去フィルタ部464をオン、適応フィルタ部463をオフに決定する場合
 ・ループフィルタモード=2:ノイズ除去フィルタ部464をオフ、適応フィルタ部463をオンに決定する場合であって、適応フィルタ部463への入力画像を、復号画像Pとする場合
 ・ループフィルタモード=3:ノイズ除去フィルタ部464をオン、適応フィルタ部463をオンに決定する場合であって、適応フィルタ部463への入力画像を、ノイズ除去済復号画像P_NRとする場合
 ・ループフィルタモード=4:ノイズ除去フィルタ部464をオン、適応フィルタ部463をオンに決定する場合であって、適応フィルタ部463への入力画像を、復号画像Pおよび予測残差Dとする場合
 ・ループフィルタモード=5:ノイズ除去フィルタ部464をオン、適応フィルタ部463をオンに決定する場合であって、適応フィルタ部463への入力画像を、ノイズ除去済復号画像P_NRおよび予測残差Dとする場合
 ・ループフィルタモード=6:ノイズ除去フィルタ部464をオン、適応フィルタ部463をオンに決定する場合であって、適応フィルタ部463への入力画像を、ノイズ除去済復号画像P_NR、予測残差D、予測画像Predとする場合
 ここで、ループフィルタモードを2または3に設定する場合のフィルタパラメータ導出部47の動作は、それぞれ、ループフィルタモードを2または3に設定する場合の、動画像符号化装置2の備えるフィルタパラメータ導出部27の動作と同様であるため、ここでは説明を省略する。
 ループフィルタモードを4、5、または6に設定する場合のフィルタパラメータ導出部47の動作は以下の通りである。
 フィルタパラメータ導出部47は、ループフィルタモード2~6のうち、二乗誤差が最小となるループフィルタモードについて、タップ数、フィルタ係数、および、オフセットをフィルタパラメータFPに含める。より一般には、フィルタパラメータ導出部47は、ループフィルタモード2~6のうち、二乗誤差がより小さくなるループフィルタモードについて、タップ数、フィルタ係数、および、オフセットをフィルタパラメータFPに含める。このようにして生成されたフィルタパラメータFP’は、動画像復号装置3によって参照される。
 (ループフィルタモード=4)
 フィルタパラメータ導出部47は、ループフィルタモード4について、復号画像Pに作用するフィルタのフィルタ係数aP(u、v)、予測残差Dに作用するフィルタのフィルタ係数aD(u、v)、および、オフセットo(P,D)を、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定する。例えば、以下の数式(10)に示す二乗誤差E1’が最小となるように、フィルタ係数aP(u、v)、フィルタ係数aD(u、v)、および、オフセットo(P,D)を決定する。
Figure JPOXMLDOC01-appb-M000010
ここで、SP(x、y)は復号画像Pの画素値を表しており、SD(x、y)は予測残差Dの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、RPおよびRDは、フィルタ参照領域を表している。フィルタ参照領域RPおよびRDのサイズを規定するタップ数は、複数の候補(例えば、1タップ、3タップ、5タップ、7タップ、9タップ)の中から、符号化効率が最適となるものが選択される。
 上記のように決定されたフィルタ係数aP(u、v)は、シンタックスalf_coeff_default[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RPのタップ数を指定するパラメータは、alf_length_default_minus5_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたフィルタ係数aD(u、v)は、シンタックスalf_coeff_error[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RDのタップ数を指定するパラメータは、alf_length_error_minus5_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたオフセットo(P,D)は、シンタックスalf_coeff_default[i]およびalf_coeff_error[i]の何れか一方若しくは双方としてフィルタパラメータFP’に含められる。
 本モードの動作を行うフィルタパラメータ導出部47は、より一般には、ループフィルタモード4について、復号画像Pに作用するフィルタのフィルタ係数aP(u、v)、予測残差Dに作用するフィルタのフィルタ係数aD(u、v)、および、オフセットo(P,D)を、フィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定するものである、と表現することができる。
 (ループフィルタモード=5)
 フィルタパラメータ導出部47は、ループフィルタモード5について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)、予測残差Dに作用するフィルタのフィルタ係数aD(u、v)、および、オフセットo(PNR,D)を、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定する。例えば、以下の数式(11)に示す二乗誤差E2’が最小となるように、フィルタ係数aPNR(u、v)、フィルタ係数aD(u、v)、および、オフセットo(PNR,D)を決定する。
Figure JPOXMLDOC01-appb-M000011
ここで、SPNR(x、y)はノイズ除去済復号画像P_NRの画素値を表しており、SD(x、y)は予測残差Dの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、RPNRおよびRDは、フィルタ参照領域を表している。フィルタ参照領域RPNRおよびRDのサイズを規定するタップ数は、複数の候補(例えば、1タップ、3タップ、5タップ、7タップ、9タップ)の中から、符号化効率が最適となるものが選択される。
 上記のように決定されたフィルタ係数aPNR(u、v)は、シンタックスalf_coeff_default[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RPNRのタップ数を指定するパラメータは、alf_length_default_minus5_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたフィルタ係数aD(u、v)は、シンタックスalf_coeff_error[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RDのタップ数を指定するパラメータは、alf_length_error_minus1_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたオフセットo(PNR,D)は、シンタックスalf_coeff_default[i]およびalf_coeff_error[i]の何れか一方若しくは双方としてフィルタパラメータFP’に含められる。
 本モードの動作を行うフィルタパラメータ導出部47は、ループフィルタモード5について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)、予測残差Dに作用するフィルタのフィルタ係数aD(u、v)、および、オフセットo(PNR,D)を、フィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定するものである、と表現することができる。
 (ループフィルタモード=6)
 フィルタパラメータ導出部47は、ループフィルタモード6について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)、予測残差Dに作用するフィルタのフィルタ係数aD(u、v)、予測画像Predに作用するフィルタのフィルタ係数aPred(u、v)、および、オフセットo(PNR,D,Pred)を、フィルタ後の画像と符号化対象画像(原画像)との誤差が最小となるように決定する。例えば、以下の数式(12)に示す二乗誤差E3’が最小となるように、フィルタ係数aPNR(u、v)、フィルタ係数aD(u、v)、フィルタ係数aPred(u、v)、および、オフセットo(PNR,D,Pred)を決定する。
Figure JPOXMLDOC01-appb-M000012
ここで、SPNR(x、y)はノイズ除去済復号画像P_NRの画素値を表しており、SD(x、y)は予測残差Dの画素値を表しており、SPred(x、y)は予測画像Predの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、RPNR、RD、およびRPredは、フィルタ参照領域を表している。フィルタ参照領域RPNR、RD、および、RPredのサイズを規定するタップ数は、複数の候補(例えば、1タップ、3タップ、5タップ、7タップ、9タップ)の中から、符号化効率が最適となるものが選択される。
 上記のように決定されたフィルタ係数aPNR(u、v)は、シンタックスalf_coeff_default[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RPNRのタップ数を指定するパラメータは、alf_length_default_minus5_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたフィルタ係数aD(u、v)は、シンタックスalf_coeff_error[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RDのタップ数を指定するパラメータは、alf_length_error_minus1_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたフィルタ係数aPred(u、v)は、シンタックスalf_coeff_pred[i]として、フィルタパラメータFP’に含められる。また、上記のように決定されたフィルタ参照領域RPredのタップ数を指定するパラメータは、alf_length_pred_minus1_div2として、フィルタパラメータFP’に含められる。
 また、上記のように決定されたオフセットo(PNR,D,Pred)は、シンタックスalf_coeff_default[i]、alf_coeff_error[i]、および、alf_coeff_pred[i]の何れか1つ若しくは複数としてフィルタパラメータFP’に含められる。
 本モードの動作を行うフィルタパラメータ導出部47は、ループフィルタモード6について、ノイズ除去済復号画像P_NRに作用するフィルタのフィルタ係数aPNR(u、v)、予測残差Dに作用するフィルタのフィルタ係数aD(u、v)、予測画像Predに作用するフィルタのフィルタ係数aPred(u、v)、および、オフセットo(PNR,D,Pred)を、フィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定するものである、と表現することができる。
 以上のようにして構成されたフィルタパラメータFP’は、上述したフィルタパラメータFP’の第1の構成例に対応する。
 また、フィルタパラメータ導出部47は、ループフィルタモード(loop_filter_mode)に代えて、ループフィルタモードと以下の対応付けを有するノイズ除去フィルタフラグ(noise_reduction_filter_flag)、適応フィルタフラグ(adaptive_loop_filter_flag)、残差画像追加フラグ(enable_error_alf)、および、予測画像追加フラグ(enable_pred_alf)をフィルタパラメータFPに含める構成としてもよい。
 (ループフィルタモード=0)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=0
 (ループフィルタモード=1)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=0
 (ループフィルタモード=2)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=0、予測画像追加フラグ=0
 (ループフィルタモード=3)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、残差画像追加フラグ=0、予測画像追加フラグ=0
 (ループフィルタモード=4)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=0
 (ループフィルタモード=5)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=0
 (ループフィルタモード=6)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=1
 以上のようにして構成されたフィルタパラメータFP’は、上述したフィルタパラメータFP’の第2の構成例に対応する。
 以上のように、動画像符号化装置4の備えるループフィルタ46によるフィルタ処理に用いられるフィルタパラメータFP’は、符号化効率が最適となるように設定されているため、動画像符号化装置4によれば、符号化効率の高い符号化データ#3を生成することができる。
 なお、適応フィルタ部463に入力する画像の種類は、動画像符号化装置4が外部から取得する情報によって指定されるものであってもよい。この場合、フィルタパラメータ導出部47は、当該情報によって指定される画像に対して、最適なフィルタ係数およびオフセットを決定する。
 〔実施形態3〕
 以下では、本発明の第3の実施形態について説明する。
 (符号化データ#5の構成)
 符号化データ#5のスライスヘッダには、符号化データ#1のスライスヘッダに含まれるフィルタパラメータFPに代えて、フィルタパラメータFP’’が含まれる。フィルタパラメータFP’’の構成については、動画像復号装置5の説明において詳述する。また、符号化データ#5の、フィルタパラメータFP’’以外の構成は符号化データ#1と略同様である。
 (動画像復号装置5)
 以下では、本実施形態に係る動画像復号装置5について図15~図19を参照して説明する。動画像復号装置5は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 なお、以下では、実施形態1および実施形態2において既に説明した部分と同じ機能を有する部分については、同じ符号を付し、その説明を省略する。
 図15は、動画像復号装置5の構成を示すブロック図である。図15に示すように、動画像復号装置5は、可変長符号復号部11、予測画像生成部12、逆量子化・逆変換部13、加算器14、フレームメモリ15、ループフィルタ56を備えている。動画像復号装置5は、符号化データ#3を復号することによって動画像#6を生成するための装置である。
 (ループフィルタ56)
 以下では、ループフィルタ56の構成について図15~図19を参照してより具体的に説明する。図15に示すように、ループフィルタ56は、フィルタ制御部561、適応フィルタ用メモリ562、適応フィルタ部563、および、ノイズ除去フィルタ部564を備えている。
 図15に示すように、フィルタ制御部561は、符号化データ#5より復号され、可変長符号復号部11より供給されるフィルタパラメータFP’’に含まれるフィルタ制御情報に基づいて、ループフィルタ56の各部を制御する。また、フィルタ制御部561は、フィルタ制御情報に基づいて、適応フィルタ用メモリ562に復号画像P、予測画像Pred、予測残差Dおよび入力信号数情報を供給する。適応フィルタ部563は、復号画像P、予測画像Pred、予測残差D、およびノイズ除去済予測画像P_NRを受け、適応フィルタ済復号画像P_ALFをフレームメモリ15に供給する。ノイズ除去フィルタ部564は、復号画像Pに対してノイズ除去処理を施すことによってノイズ除去済復号画像P_NRを生成し、フレームメモリ15に供給する。
 ループフィルタ56は、可変長符号復号部11により符号化データ#5から復号されたフィルタパラメータFP’’を参照して、以下に列挙する複数の処理の何れかを選択的に行う。ループフィルタ56は、当該複数の処理のうち何れの処理を行うかを、フィルタパラメータFP’’に含まれるフィルタ制御情報を参照して決定する。以下では、ループフィルタ56が、スライス毎に、以下に列挙する複数の処理の何れかを選択的に行う場合を例に挙げ説明を行うが、本実施形態はこれに限定されるものではなく、ループフィルタ56は、シーケンス毎、GOP(Group Of Pictures)毎、ピクチャ毎、若しくは、LCU毎に、以下に列挙する複数の処理の何れかを選択的に行う構成とすることもできる。
 また、以下では、ループフィルタ56が、符号化データ#5から復号されるフィルタパラメータFP’’の第1の構成例および第2の構成例を参照する場合について、それぞれ説明する。
 (フィルタパラメータFP’’の第1の構成例)
 図16は、符号化データ#5から復号され、ループフィルタ56によって参照されるフィルタパラメータFP’’(loop_filter_param)の第1の構成例を示す図である。図16に示すように、フィルタパラメータFP’’の第1の構成例は、複数のシンタックス(loop_filter_mode、alf_length_default_minus5_div2、alf_coeff_default[i]、alf_length_raw_minus5_div2、alf_coeff_raw[i]、alf_length_error_minus1_div2、alf_coeff_error[i]、alf_length_pred_minus1_div2、および、alf_coeff_pred[i])を含んでいる。
 loop_filter_modeは、ループフィルタ56によるフィルタ処理の内容を規定するためのシンタックスであり、上述したフィルタ制御情報に対応している。本実施形態において、loop_filter_modeのとり得る可能な値は0~7である。
 alf_length_default_minus5_div2、AlfNumCoeffDefault、および、alf_coeff_default[i]は、実施形態1および実施形態2において説明したものと同じである。ただし、本構成例においては、alf_length_default_minus5_div2、および、alf_coeff_default[i]は、可変長符号復号部11によって、loop_filter_modeが2、3、4、5、6、または7である場合に復号される。
 また、alf_coeff_default[i]のセットは、実施形態1および実施形態2において説明したように、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 alf_length_raw_minus5_div2、AlfNumCoeffRaw、および、alf_coeff_raw[i]は、実施形態1におけるフィルタパラメータFPの第1の構成例において説明したものと同じである。ただし、alf_length_raw_minus5_div2、および、alf_coeff_raw[i]は、可変長符号復号部11によって、loop_filter_modeが5である場合に復号される。
 また、alf_coeff_raw[i]のセットは、実施形態1において説明したように、復号画像Pに作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 alf_length_error_minus1_div2、AlfNumCoeffError、および、alf_coeff_error[i]は、実施形態2におけるフィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_error_minus1_div2、および、alf_coeff_error[i]は、可変長符号復号部11によって、loop_filter_modeが4、6、または7である場合に復号される。
 また、alf_coeff_error[i]のセットは、実施形態2において説明したように、予測残差Dに作用するフィルタのフィルタ係数群G_coeff_errorを構成する。
 alf_length_pred_minus1_div2、AlfNumCoeffPred、および、alf_coeff_pred[i]は、実施形態2におけるフィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_pred_minus1_div2、および、alf_coeff_pred[i]は、可変長符号復号部11によって、loop_filter_modeが7である場合に復号される。
 また、alf_coeff_pred[i]のセットは、実施形態2において説明したように、予測画像Predに作用するフィルタのフィルタ係数群G_coeff_predを構成する。
 図17は、ループフィルタ56による処理を説明するためのものであって、フィルタパラメータFP’’に含まれるループフィルタモード(loop_filter_mode)の値と、ループフィルタ56の備えるノイズ除去フィルタ部564および適応フィルタ部563のオンオフとの対応を示す表である。また、図17においては、適応フィルタ部563への入力数、適応フィルタ部563へのデフォルト入力の有無(x印はデフォルト入力があることを示す)、及び、適応フィルタ部563への追加入力の有無(x印は追加入力があることを示す)が示されている。ここで、デフォルト入力がある場合とは、フレームメモリ15に格納された画像(例えば、以下の処理例3-1-3および3-1-5においては復号画像P、処理例3-1-4、3-1-6、3-1-7、および3-1-8においてはノイズ除去済復号画像P_NR)が適応フィルタ部563に入力される場合のことを指し、追加入力がある場合とは、適応フィルタ用メモリ562に格納された画像(例えば、以下の処理例3-1-5においては予測残差D、処理例3-1-6においては復号画像P、処理例3-1-7においては予測残差D、処理例3-1-8においては予測残差Dおよび予測画像Pred)が適応フィルタ部563に入力される場合のことを指す。
 以下では、各ループフィルタモードについてのループフィルタ56の具体的な処理について説明する。
 (処理例3-1-1:ループフィルタモード=0)
 ループフィルタモードが0である場合に、ループフィルタ56によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-1)と同様である。
 (処理例3-1-2:ループフィルタモード=1)
 ループフィルタモードが1である場合に、ループフィルタ56によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-2)と同様である。
 (処理例3-1-3:ループフィルタモード=2)
 ループフィルタモードが2である場合に、ループフィルタ56によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-3)と同様である。
 (処理例3-1-4:ループフィルタモード=3)
 ループフィルタモードが3である場合に、ループフィルタ56によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-4)と同様である。
 (処理例3-1-5:ループフィルタモード=4)
 ループフィルタモードが4である場合に、ループフィルタ56によって行われる処理は、実施形態2におけるループフィルタ36によって行われる(処理例2-1-5)と同様である。
 (処理例3-1-6:ループフィルタモード=5)
 ループフィルタモードが5である場合に、ループフィルタ56によって行われる処理は、実施形態1におけるループフィルタ16によって行われる(処理例1-1-5)と同様である。
 (処理例3-1-7:ループフィルタモード=6)
 ループフィルタモードが6である場合に、ループフィルタ56によって行われる処理は、実施形態2におけるループフィルタ36によって行われる(処理例2-1-6)と同様である。
 (処理例3-1-8:ループフィルタモード=7)
 ループフィルタモードが7である場合に、ループフィルタ56によって行われる処理は、実施形態2におけるループフィルタ36によって行われる(処理例2-1-7)と同様である。
 (フィルタパラメータFP’’の第2の構成例)
 続いて、ループフィルタ56が、符号化データ#5から復号されるフィルタパラメータFP’’の第2の構成例を参照する場合について説明する。
 図18は、符号化データ#5から復号され、ループフィルタ56によって参照されるフィルタパラメータFP’’(loop_filter_param)の第2の構成例を示す図である。図18に示すように、フィルタパラメータFP’’の第2の構成例は、複数のシンタックス(noise_reduction_filter_flag、adaptive_loop_filter_flag、alf_length_default_minus5_div2、alf_coeff_default[i]、enable_raw_alf、alf_length_raw_minus5_div2、alf_coeff_raw[i]、enable_error_alf、enable_pred_alf、alf_length_error_minus1_div2、alf_coeff_error[i]、alf_length_pred_minus1_div2、alf_coeff_pred[i])を含んでいる。
 noise_reduction_filter_flagは、ノイズ除去フィルタ部564のオンオフを指定するフラグであり、noise_reduction_filter_flagが0の場合、ノイズ除去フィルタ部564がオフに指定され、noise_reduction_filter_flagが1の場合、ノイズ除去フィルタ部564がオンに指定される。
 adaptive_loop_filter_flagは、適応フィルタ部563のオンオフを指定するフラグであり、adaptive_loop_filter_flagが0の場合、適応フィルタ部563がオフに指定され、adaptive_loop_filter_flagが1の場合、適応フィルタ部563がオンに指定される。
 alf_length_default_minus5_div2、AlfNumCoeffDefault、および、alf_coeff_default[i]は、フィルタパラメータFPの第1の構成例において説明したものと同じである。ただし、alf_length_default_minus5_div2、および、alf_coeff_default[i]は、可変長符号復号部11によって、adaptive_loop_filter_flagが0以外の場合に復号される。
 また、alf_coeff_default[i]のセットは、フィルタパラメータFPの第1の構成例において説明したように、フレームメモリ15に格納されている画像に作用するフィルタのフィルタ係数群G_coeff_defaultを構成する。
 enable_raw_alfは、適応フィルタ部563へ復号画像Pを入力するか否かを指定するフラグであり、enable_raw_alfが0の場合、適応フィルタ部563へ復号画像Pが入力されず、enable_raw_alfが1の場合、適応フィルタ部563へ復号画像Pが入力される。なお、enable_raw_alfは、可変長符号復号部11によって、noise_reduction_filter_flagが0以外の場合に復号される。
 alf_length_raw_minus5_div2、AlfNumCoeffRaw、および、alf_coeff_raw[i]は、実施形態1におけるフィルタパラメータFPの第2の構成例において説明したものと同じである。ただし、alf_length_raw_minus5_div2、および、alf_coeff_raw[i]は、可変長符号復号部11によって、alf_raw_alfが1の場合に復号される。
 enable_error_alfは、適応フィルタ部363へ予測残差Dを入力するか否かを指定するフラグであり、enable_error_alfが0の場合、適応フィルタ部363へ予測残差Dが入力されず、enable_error_alfが1の場合、適応フィルタ部363へ予測残差Dが入力される。
 alf_length_error_minus1_div2、AlfNumCoeffError、および、alf_coeff_error[i]は、フィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_error_minus1_div2、および、alf_coeff_error[i]は、可変長符号復号部11によって、enable_error_alfが1の場合に復号される。
 enable_pred_alfは、適応フィルタ部363へ予測画像Predを入力するか否かを指定するフラグであり、enable_pred_alfが0の場合、適応フィルタ部363へ予測画像Predが入力されず、enable_pred_alfが1の場合、適応フィルタ部363へ予測画像Predが入力される。
 alf_length_pred_minus1_div2、AlfNumCoeffPred、および、alf_coeff_pred[i]は、フィルタパラメータFP’の第1の構成例において説明したものと同じである。ただし、alf_length_pred_minus1_div2、および、alf_coeff_pred[i]は、可変長符号復号部11によって、enable_pred_alfが1の場合に復号される。
 図19は、ループフィルタ56による処理を説明するためのものであって、フィルタパラメータFP’’に含まれるノイズ除去フィルタフラグ(noise_reduction_filter_flag)、適応フィルタフラグ(adaptive_loop_filter_flag)、復号画像追加フラグ(alf_raw_alf)、残差画像追加フラグ(enable_error_alf)、および、予測画像追加フラグ(enable_pred_alf)の各値と、ループフィルタ56の備える適応フィルタ部563への入力数、適応フィルタ部563へのデフォルト入力の有無(x印はデフォルト入力があることを示す)、及び、適応フィルタ部563への追加入力の有無(x印は追加入力があることを示す)との対応を示す表である。ここで、デフォルト入力がある場合とは、フレームメモリ15に格納された画像(例えば、以下の処理例3-2-3および3-2-5においては復号画像P、処理例3-2-4、3-2-6、3-2-7、および3-2-8においてはノイズ除去済復号画像P_NR)が適応フィルタ部563に入力される場合のことを指し、追加入力がある場合とは、適応フィルタ用メモリ562に格納された画像(例えば、以下の処理例3-2-5においては予測残差D、処理例3-2-6においては復号画像P、処理例3-2-7においては予測残差D、処理例3-2-8においては予測残差Dおよび予測画像Pred)が適応フィルタ部563に入力される場合のことを指す。
 ノイズ除去フィルタフラグ、適応フィルタフラグ、復号画像フラグ、残差画像追加フラグ、および予測画像追加フラグが各値をとる場合、ループフィルタ56は以下の処理を行う。
 (処理例3-2-1:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=0)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が0である場合、ループフィルタ56は、上述した処理例3-1-1と同様の処理を行う。
 (処理例3-2-2:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=0)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが0である場合、ループフィルタ56は、上述した処理例3-1-2と同様の処理を行う。
 (処理例3-2-3:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=0、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグが0であり、適応フィルタフラグが1であり、残差画像追加フラグおよび予測画像追加フラグの双方が0である場合、ループフィルタ56は、上述した処理例3-1-3と同様の処理を行う。
 (処理例3-2-4:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=0、残差画像追加フラグ=0、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグおよび適応フィルタフラグの双方が1であり、復号画像追加フラグ、残差画像追加フラグおよび予測画像追加フラグが0である場合、ループフィルタ56は、上述した処理例3-1-4と同様の処理を行う。
 (処理例3-2-5:ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグが0であり、適応フィルタフラグが1であり、残差画像追加フラグが1であり、予測画像追加フラグが0である場合、ループフィルタ56は、上述した処理例3-1-5と同様の処理を行う。
 (処理例3-2-6:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=1)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが1であり、残差画像追加フラグが1であり、復号画像追加フラグが1である場合、ループフィルタ56は、上述した処理例3-1-6と同様の処理を行う。
 (処理例3-2-7:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=0、残差画像追加フラグ=1、予測画像追加フラグ=0)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが1であり、復号画像追加フラグが0であり、残差画像追加フラグが1であり、予測画像追加フラグが0である場合、ループフィルタ56は、上述した処理例3-1-7と同様の処理を行う。
 (処理例3-2-8:ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=0、残差画像追加フラグ=1、予測画像追加フラグ=1)
 ノイズ除去フィルタフラグが1であり、適応フィルタフラグが1であり、復号画像追加フラグが0であり、残差画像追加フラグが1であり、予測画像追加フラグが1である場合、ループフィルタ56は、上述した処理例3-1-8と同様の処理を行う。
 このように、フィルタパラメータFP’’を上記第2の構成例のように構成することによっても、ループフィルタ56を、フィルタパラメータFP’’が上記第1の構成例のように構成される場合と同様に制御することができる。したがって、フィルタパラメータFP’’を上記第2の構成例のように構成することにより、ループフィルタ56は、フィルタパラメータFP’’が上記第1の構成例のように構成される場合と同様に、符号化効率を高めつつ、高速なフィルタ処理を行うことができる。
 (動画像符号化装置6)
 本実施形態に係る動画像符号化装置6の構成について図20を参照して説明する。動画像符号化装置6は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図20は、動画像符号化装置6の構成を示すブロック図である。図20に示すように、動画像符号化装置6は、予測画像生成部21、変換・量子化部22、逆量子化・逆変換部23、加算器24、フレームメモリ25、ループフィルタ66、フィルタパラメータ導出部67、可変長符号符号化部28、および、減算器29を備えている。動画像符号化装置2は、動画像#20(符号化対象画像)を符号化することによって、符号化データ#3を生成する装置である。
 (ループフィルタ66)
 図20に示すように、ループフィルタ66は、フィルタ制御部661、適応フィルタ用メモリ662、適応フィルタ部663、および、ノイズ除去フィルタ部664を備えている。フィルタ制御部661、適応フィルタ用メモリ662、適応フィルタ部663、および、ノイズ除去フィルタ部664は、それぞれ、動画像復号装置5におけるループフィルタ56の備える、フィルタ制御部561、適応フィルタ用メモリ562、適応フィルタ部563、および、ノイズ除去フィルタ部564と同様の構成であり、それらの動作については既に説明したため、ここでは説明を省略する。ただし、ループフィルタ56の説明における「フレームメモリ15」、および、「符号化データ#5から復号されるフィルタパラメータFP’’」は、それぞれ、「フレームメモリ25」、および、「フィルタパラメータ導出部67から供給されるフィルタパラメータFP’’」と読み替えるものとする。
 (フィルタパラメータ導出部67)
 フィルタパラメータ導出部67は、動画像復号装置5の備えるループフィルタ56、および、動画像符号化装置6の備えるループフィルタ66によって参照されるフィルタパラメータFP’’を生成する。
 フィルタパラメータ導出部67は、
(1)ノイズ除去フィルタ部664および適応フィルタ部663のそれぞれのオンオフ、
(2)ループフィルタ66の備える適応フィルタ部663に入力する画像の種類およびその組み合わせ(復号画像P、ノイズ除去済復号画像P_NR、予測残差D、および、予測画像Predのうち1つ若しくは複数の組み合わせ)、
(3)復号画像Pに作用するフィルタのタップ数、
(4)復号画像Pに作用するフィルタ係数およびオフセット、
(5)ノイズ除去済復号画像P_NRに作用するフィルタのタップ数、
(6)ノイズ除去済復号画像P_NRに作用するフィルタ係数およびオフセット、
(7)予測残差Dの示す画像に作用するフィルタのタップ数、
(8)予測残差Dの示す画像に作用するフィルタ係数およびオフセット、
(9)予測画像Predの示す画像に作用するフィルタのタップ数、
(10)予測画像Predの示す画像に作用するフィルタ係数およびオフセット、
を符号化効率が最適となるように決定する。
 また、フィルタパラメータ導出部67は、ループフィルタモード(loop_filter_mode)を以下に列挙する値の何れかに設定する。
 ・ループフィルタモード=0:ノイズ除去フィルタ部664をオフ、適応フィルタ部663をオフに決定する場合
 ・ループフィルタモード=1:ノイズ除去フィルタ部664をオン、適応フィルタ部663をオフに決定する場合
 ・ループフィルタモード=2:ノイズ除去フィルタ部664をオフ、適応フィルタ部663をオンに決定する場合であって、適応フィルタ部663への入力画像を、復号画像Pとする場合
 ・ループフィルタモード=3:ノイズ除去フィルタ部664をオン、適応フィルタ部663をオンに決定する場合であって、適応フィルタ部663への入力画像を、ノイズ除去済復号画像P_NRとする場合
 ・ループフィルタモード=4:ノイズ除去フィルタ部664をオン、適応フィルタ部663をオンに決定する場合であって、適応フィルタ部663への入力画像を、復号画像Pおよび予測残差Dとする場合
 ・ループフィルタモード=5:ノイズ除去フィルタ部664をオン、適応フィルタ部663をオンに決定する場合であって、適応フィルタ部663への入力画像を、ノイズ除去済復号画像P_NRおよび復号画像Pとする場合
 ・ループフィルタモード=6:ノイズ除去フィルタ部664をオン、適応フィルタ部663をオンに決定する場合であって、適応フィルタ部663への入力画像を、ノイズ除去済復号画像P_NRおよび予測残差Dとする場合
 ・ループフィルタモード=7:ノイズ除去フィルタ部664をオン、適応フィルタ部663をオンに決定する場合であって、適応フィルタ部663への入力画像を、ノイズ除去済復号画像P_NR、予測残差D、予測画像Predとする場合
 ここで、ループフィルタモードを2、3、または4に設定する場合のフィルタパラメータ導出部67の動作は、それぞれ、ループフィルタモードを2、3、または4に設定する場合の、動画像符号化装置4の備えるフィルタパラメータ導出部47の動作と同様である。
 また、ループフィルタモードを5に設定する場合のフィルタパラメータ導出部67の動作は、ループフィルタモードを4に設定する場合の、動画像符号化装置2の備えるフィルタパラメータ導出部27の動作と同様である。
 また、ループフィルタモードを6または7に設定する場合のフィルタパラメータ導出部67の動作は、それぞれ、ループフィルタモードを5または6に設定する場合の、動画像符号化装置4の備えるフィルタパラメータ導出部47の動作と同様である。
 フィルタパラメータ導出部67は、ループフィルタモード2~7のうち、二乗誤差が最小となるループフィルタモードについて、タップ数、フィルタ係数、および、オフセットをフィルタパラメータFP’’に含める。より一般には、フィルタパラメータ導出部67は、ループフィルタモード2~7のうち、二乗誤差がより小さくなるループフィルタモードについて、タップ数、フィルタ係数、および、オフセットをフィルタパラメータFP’’に含める。このようにして生成されたフィルタパラメータFP’’は、動画像復号装置5によって参照される。
 以上のようにして構成されたフィルタパラメータFP’’は、上述したフィルタパラメータFP’’の第1の構成例に対応する。
 また、フィルタパラメータ導出部67は、ループフィルタモード(loop_filter_mode)に代えて、ループフィルタモードと以下の対応付けを有するノイズ除去フィルタフラグ(noise_reduction_filter_flag)、適応フィルタフラグ(adaptive_loop_filter_flag)、復号画像追加フラグ(enable_raw_alf)、残差画像追加フラグ(enable_error_alf)、および、予測画像追加フラグ(enable_pred_alf)をフィルタパラメータFPに含める構成としてもよい。
 (ループフィルタモード=0)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=0
 (ループフィルタモード=1)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=0
 (ループフィルタモード=2)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=0、予測画像追加フラグ=0
 (ループフィルタモード=3)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加負フラグ=0、残差画像追加フラグ=0、予測画像追加フラグ=0
 (ループフィルタモード=4)
 ノイズ除去フィルタフラグ=0、適応フィルタフラグ=1、残差画像追加フラグ=1、予測画像追加フラグ=0
 (ループフィルタモード=5)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=1
 (ループフィルタモード=6)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=0、残差画像追加フラグ=1、予測画像追加フラグ=0
 (ループフィルタモード=7)
 ノイズ除去フィルタフラグ=1、適応フィルタフラグ=1、復号画像追加フラグ=0、残差画像追加フラグ=1、予測画像追加フラグ=1
 以上のようにして構成されたフィルタパラメータFP’’は、上述したフィルタパラメータFP’’の第2の構成例に対応する。
 以上のように、動画像符号化装置6の備えるループフィルタ66によるフィルタ処理に用いられるフィルタパラメータFP’’は、符号化効率が最適となるように設定されているため、動画像符号化装置6によれば、符号化効率の高い符号化データ#5を生成することができる。
 なお、適応フィルタ部663に入力する画像の種類は、動画像符号化装置6が外部から取得する情報によって指定されるものであってもよい。この場合、フィルタパラメータ導出部67は、当該情報によって指定される画像に対して、最適なフィルタ係数およびオフセットを決定する。
 また、フィルタパラメータ導出部67は、復号画像P、ノイズ除去済復号画像P_NR、予測残差D、および、予測画像Predの可能な組み合わせ16通りの全てについて、二乗誤差を算出し、算出された二乗誤差が最も小さい組み合わせを指定するループフィルタモードと共に、当該ループフィルタモードについての、タップ数、フィルタ係数、および、オフセットを符号化データFP’’に含める構成とし、適応フィルタ部663、および、動画像復号装置5の備える適応フィルタ部563は、当該ループフィルタモードが指定する入力画像の組み合わせに対して、符号化データFP’’から復号されたタップ数、フィルタ係数、および、オフセットを用いたフィルタ処理を行う構成としてもよい。
 <実施形態1~3におけるノイズ除去フィルタの構成>
 以下では、実施形態1におけるノイズ除去フィルタ部164の構成について説明する。実施形態1におけるノイズ除去フィルタ部264、実施形態2におけるノイズ除去フィルタ部364および464、実施形態3におけるノイズ除去フィルタ部564および664についても同様である。
 ノイズ除去フィルタ部164は、例えば、復号画像Pにおいて、ブロック境界およびパーティション境界の何れか一方若しくは双方に生じるブロックノイズを低減するための構成とすることができる。
 このような場合のノイズ除去フィルタ部164の構成について図21~図25(a)~(b)を参照して以下に説明する。
 図21は、ノイズ除去フィルタ部164によるブロックノイズ低減処理(以下、デブロック処理とも呼ぶ)を説明するためのものであって、ブロック境界近傍の画素Pi(i=0~n)およびQi(i=0~n)を示す図である。また、図21において、pi(i=0~n)およびqi(i=0~n)は、それぞれ、画素Pi(i=0~n)およびQi(i=0~n)の復号画像Pにおける画素値を示しており、pi’(i=0~n)およびqi’(i=0~n)は、それぞれ、画素Pi(i=0~n)およびQi(i=0~n)のノイズ除去済復号画像P_NRにおける画素値を示している。
 (構成例1)
 まず、ノイズ除去フィルタ部164の第1の構成例について、図22を参照して説明する。図22は、ノイズ除去フィルタ部164の第1の構成例を示すブロック図である。図22に示すように、ノイズ除去フィルタ部164は、境界エッジ算出部401、活性度算出部402、および、BF画素生成部403を備えている。
 (境界エッジ算出部401)
 境界エッジ算出部401は、ブロック境界を介して互いに隣接する2つの画素の画素値に基づき、当該ブロック境界におけるエッジ強度dを算出する。具体的には、境界エッジ算出部401は、例えば以下の式によって、エッジ強度dを算出する。
 d=|p0-q0|
ここで、|a|は、aの絶対値を表している(以下同様)。
 (活性度算出部402)
 活性度算出部402は、ブロック境界近傍の画像の活性度apを算出(検出)する。ここで、活性度とは、概略的に言えば、画像の乱雑さ、若しくは、画像の勾配を示す指標であ。活性度apは、変換係数に大きな高周波成分が存在するかなどによっても検出可能であるが、ここでは隣接する画素の画素値によって検出する場合を例に挙げる。一般に、互いに近傍に位置する画素の画素値の差が大きいほど、活性度が大きくなるという傾向がある。
 活性度算出部402は、例えば以下の式によって、活性度apを算出する。
 ap=|p2-p0|
 (BF画素生成部403)
 BF画素生成部403は、境界エッジ算出部401によって算出されたエッジ強度d、および、活性度算出部402によって算出された活性度apの値を参照し、復号画像Pの各画素の画素値から、ノイズ除去済復号画像P_NRの各画素の画素値を生成する。
 例えば、BF画素生成部403は、エッジ強度d、および、活性度apがそれぞれ、d<α、および、ap<βを満たす場合には、以下の式によって、ノイズ除去済復号画像P_NRの各画素値p0’~p2’を算出し(q0’~q2’についても同様)、
 p0´=(p2+2×p1+2×p0+2×q0+q1)/8
 p1´=(p2+p1+p0+q0)/4
 p2´=(2×p3+3×p2+p1+p0+q0)/8
そうでない場合には、以下の式によって、ノイズ除去済復号画像P_NRの各画素値p0’を算出する(q0’についても同様)。
 p0´=(2×p1+p0+q0)/4
 なお、上記の説明において、αおよびβは、それぞれ、エッジ強度dおよび活性度apについて設定される所定の閾値を表すものとする。
 また、上記の説明においては、垂直方向のブロック境界についての処理を例に挙げたが、BF画素生成部403は、水平方向のブロック境界についても同様の処理を行う。
 また、BF画素生成部403は、ブロック境界、すなわち、変換単位の境界のみならず、パーティションの境界、すなわち、予測画像を生成する単位の境界についても同様の処理を行う。
 ノイズ除去フィルタ部164は、上記のような構成をとることによって、ブロック境界(またはパーティション境界)におけるエッジ強度、および、活性度が大きい場合には、過剰な平滑化を避けつつ、ブロックノイズ低減処理を行うことができる。
 また、ノイズ除去フィルタ部164は、上記の構成に加えて、適応的なフィルタ処理を行う構成としてもよい。例えば、ノイズ除去フィルタ部164は、ブロック境界(またはパーティション境界)を介して隣接するパーティションが、インター予測パーティションであるのか、または、イントラ予測パーティションであるのかに応じて、互いに異なる複数のフィルタ処理の何れかを行う構成としてもよいし、ブロック境界(またはパーティション境界)を介して隣接するパーティションに割り付けられた動きベクトルの大きさに応じて、互いに異なる複数のフィルタ処理の何れかを行う構成としてもよいし、ブロック境界(またはパーティション境界)を介して隣接するブロックにおける量子化予測残差の値に応じて、互いに異なる複数のフィルタ処理の何れかを行う構成としてもよい。
 また、ノイズ除去フィルタ部164によるデブロック処理は、上記の例に限定されるものではなく、従来知られたデブロック処理を用いる構成、例えば、DCTを用いた処理を行う構成としてもよい。
 (構成例2)
 続いて、ノイズ除去フィルタ部164の第2の構成例について、図23(a)~(b)を参照して説明する。図23(a)は、ノイズ除去フィルタ部164の第2の構成例を示すブロック図である。図23(a)に示すように、ノイズ除去フィルタ部164は、垂直境界値参照部501、水平境界値参照部502、対象画素値参照部503、BF重み算出部504、および、加重平均部505を備えている。
 図23(b)は、ノイズ除去フィルタ部164の処理において参照する画素を説明するための模式図である。図23(b)においてBはブロック境界もしくはパーティション境界である。XTはフィルタ対象画素、XVは垂直ブロック境界画素、XHは水平ブロック境界画素を示す。ノイズ除去フィルタ部164は、XT、XV、XHを用いて画像を生成する。
 ノイズ除去フィルタ部164の備える垂直境界値参照部501は、フィルタ対象画素が属するブロック(またはパーティション)に隣接するブロック(またはパーティション)内の画素で、フィルタ対象画素に最も近い垂直境界に隣接する画素を参照する。すなわち、条件1:フィルタ対象画素が属するブロック(またはパーティション)に隣接するブロック(またはパーティション)内の画素であること、条件2:フィルタ対象画素と同じX座標を持つ画素であること、および、条件3:ブロック(またはパーティション)に隣接する画素であること、の3つの条件を満たす画素のうち、フィルタ対象画素に最も近い画素の画素値を参照する。但し、最も近い画素が複数存在する場合には所定の処理(例えば最もX座標とY座標とが小さい画素)によって1つを選択する。この画素を垂直境界画素XVと呼ぶことにし、その画素値をxvと表すことにする。
 水平境界値参照部502も、同様に、フィルタ対象画素が属するブロック(またはパーティション)に隣接するブロック(またはパーティション)内の画素で、フィルタ対象画素に最も近い水平境界に隣接する画素を参照する。この画素が水平境界画素XHと呼ぶことにし、その画素値をxhと表すことにする。
 対象画素値参照部503は、フィルタ対象画素XTの画素値を参照する。その画素値をxtと表すことにする。
 BF重み算出部504は、加重平均部505で使用される重みを下記の手順によって算出する。
 まず、BF重み算出部504は、フィルタ対象画素と垂直境界画素の距離Dv、及び、フィルタ対象画素と水平境界画素の距離Dhを算出する。次に対象ブロック(または対象パーティション)のサイズに応じて、以下の式によって、距離D(DvもしくはDh)から重みp(pvもしくはph)を算出する。
 (対象ブロック(または対象パーティション)のサイズが4×4の場合)
 p=total×4/8 D=1(図21のp0に相当)   …(A1)
 p=total×1/8 D=2(図21のp1に相当)
 (対象ブロック(または対象パーティション)のサイズが8×8の場合)
 p=total×4/8 D=1(図21のp0に相当)
 p=total×2/8 D=2(図21のp1に相当)
 p=total×1/8 D=3(図21のp2に相当)
 p=0         D=それ以外
 (対象ブロック(または対象パーティション)のサイズが16×16の場合)
 p=total×4/8 D=1(図21のp0に相当)
 p=total×3/8 D=2(図21のp1に相当)
 p=total×2/8 D=3(図21のp2に相当)
 p=total×1/8 D=4(図21のp3に相当)
 p=0         D=それ以外
 なお、垂直境界の場合にはDをDv、pをpvと読み替え、水平境界の場合にはDをDh、pをphと読み替えて算出する。totalは値を整数化するために使用される値であり、256程度を用いると良い(以下同様)。
 上記の重み算出では、境界からの距離が大きくなるほど重みが小さくなるように調整している。
 また、BF重み算出部504は、重みptを以下の式(A2)によって算出する。
 pt=(total―ph-pv)   …(A2)
 加重平均部505は、BF重み算出部504で算出された重みpt、pv、ph、フィルタ対象画素値xt、垂直境界画素値xv、および、水平境界画素値xhの加重平均をとることによってノイズ除去済復号画像P_NRの画素値xdを算出する。具体的には、以下の式(A3)によって算出する。
 xd={pt×xt+pv×xv+ph×xh+total2}>>shift
 …(A3)
ここで、>>は右シフトを示す記号である。なお、totalは1<<shift、total2はtotal/2とする。<<は左シフトを示す記号である。
 また、shiftは8程度であることが好ましい。式(A3)は、整数演算処理で算出する場合に好適に用いることができる。
 なお、小数演算の場合には以下の式(A4)を用いて算出する構成とすることが好ましい。なお小数演算の場合には、BF重み算出部504においてtotal=1を用いる。
 xd=pt×xt+pv×xv+ph×xh   …(A4)
 ノイズ除去フィルタ部164は、上記の処理を、ブロックの境界およびパーティションの境界に対して行う。
 また、式(A1)~式(A3)の重み算出においてtotalの代わりにtotal×4のような値を用いても良い。
 p=total×4/8 D=1(図21のp0に相当)   …(A5)
 この場合、重みptは式(A2)ではなく以下の式(A6)になる。
 pt=(total×4―ph-pv)   …(A6)
 このようにするとノイズ除去済復号画素P_NRのダイナミックレンジは4倍になるが、適応フィルタ部163は、その分精度の高いノイズ除去済復号画像P_NRを用いることができる。適応フィルタ部163でのフィルタ係数は固定小数精度(小数精度をtotalでかけて整数化して実現)であり整数精度以上の精度を用いるため、高精度の参照画像の値を有効に利用できる。そのため、ノイズ除去済復号画像P_NRのダイナミックレンジの拡大は、符号化歪み低減の精度を向上させる。
 さらに、重みptの算出では、式(A2)ではなくph+pv+pt=0を満たすような以下の式(A7)を用いても良い。
 pt=―(ph+pv)   …(A7)
 この場合、以下の式(A8)によりノイズ除去済復号画素P_NRの画素値を算出するとさらに適当である。
 xd=clip(-127、128、pt×xt+pv×xv+ph×xh)
 …(A8)
 ここでclip(x、y、z)は、zをx以上、y以下にクリップする演算を示す。
 位置が近い画素値は互いに近い値をとる(xv≒xh≒xt)ことが多いが、ph+pv+pt=0、つまり、画素にかかる重みの総和が0にした場合には、その加重平均の値は0に近くなる。この場合は、比ゆ的には画素値の補正量もしくは画素値の差分に対応し画素値のダイナミックレンジは小さくなる。
 このようにすることで、totalの代わりにtotal×4のように重みを大きくすることによりダイナミックレンジを拡大した場合においても、ノイズ除去済復号画素P_NRのダイナミックレンジを抑えることが可能になり、少ないビット(ここでは8ビット、-128~127)でノイズ除去済復号画素P_NRを格納することができる。このようにするとノイズ除去済復号画素P_NRを一時バッファ(例えば、適応フィルタ用メモリ162)に格納する場合において、必要となる一時バッファのメモリ量を低減させることができる。
 (構成例3)
 続いて、ノイズ除去フィルタ部164の第3の構成例について、図24(a)~(b)を参照して説明する。図24(a)は、ノイズ除去フィルタ部164の第3の構成例を示すブロック図である。図24に示すように、ノイズ除去フィルタ部164は、第2の垂直境界値参照部501b、第2の水平境界値参照部502b、第2の対象画素値参照部503b、第2のBF重み算出部504b、および、第2の加重平均部505bを備えている。
 図24(b)は、ノイズ除去フィルタ部164の処理において参照する画素を説明するための模式図である。図24(b)において、Bはブロック境界もしくはパーティション境界である。XTはフィルタ対象画素、XV1、XV2は垂直ブロック境界画素、XH1、XH2は水平ブロック境界画素を示す。ノイズ除去フィルタ部164は、フィルタ対象画素XTと、隣接するブロックの境界画素XV1、XV2、XH1、XH2を参照してノイズ除去済復号画像P_NRを生成する。
 第2の垂直境界値参照部501bは、フィルタ対象画素の左および右に存在する垂直境界の画素を2つ参照する。この画素がXV1、XV2であり、画素値をxv1、xv2と呼ぶ。
 第2の水平境界値参照部502bも同様にフィルタ対象画素の上および下に存在する水平境界の画素を2つ参照する。この画素がXH1、XH2であり、画素値をxh1、xh2と呼ぶ。
 第2の対象画素値参照部503bは、フィルタ対象画素の画素値を参照する。この画素がXTであり、画素値をxtと呼ぶ。
 第2のBF重み算出部504bは、第2の加重平均部505bで使用される重みpt、pv1、pv2、ph1、ph2を下記の手順で算出する。
 まず、第2のBF重み算出部504bは、フィルタ対象画素XTと垂直境界画素XT1及びXT2の距離Dv1、Dv2を算出し、さらにフィルタ対象画素XTと水平境界画素XV1及びXV2の距離Dh1、Dh2を算出する。次に対象ブロック(または対象パーティション)のサイズに応じて、以下の式によって、距離Dv1、Dv2、Dh1、Dh2から重みpv1、pv2、ph1、ph2を算出する。
 (対象ブロック(または対象パーティション)のサイズが4×4の場合)
 p=total×1/(D×2)   …(A9)
 (対象ブロック(または対象パーティション)のサイズが8×8の場合)
 p=total×2/((D+1)×2)
 (対象ブロック(または対象パーティション)のサイズが16×16の場合)
 p=total×4/((D+3)×2)
 なお、垂直境界の場合にはDをDv1、Dv2、pをpv1、pv2と読み替え、水平境界の場合にはDをDh1、Dh2、pをph1、ph2と読み替えて算出する。
 この重み算出では、境界からの距離が大きくなるほど重みが小さくなるように調整している。
 また重みptは以下の式で算出する。
 pt=(total―ph1-pv1-ph2-pv2)
 もしくは式(5-9)以後のpv1、pv2、ph1、ph2の算出においてtotalの代わりにtotal×4を用いた上で重みptを以下の式で算出する。
 pt=(total×4―ph1-pv1-ph2-pv2)
 これにより高い精度のBF後画像が得られる。
 もしくは重みptは画素の重みの和が0となるように以下の式(A10)によって算出することも、ノイズ除去済復号画像P_NRの画素値xdのダイナミックレンジの抑制に適当である。
 pt=―(ph1+pv1+ph2+pv2)   …式(A10)
 第2の加重平均部505bは、第2のBF重み算出部504bで算出された重みpt、pv1、pv2、ph1、ph2、とフィルタ対象画素値xt、垂直境界画素値xv1、xv2、水平境界画素値xh1、hv2の加重平均からBF後画像の画素値x´を算出する。算出は以下の式(A11)によって行われる。
 xd={pt×xt+pv1×xv1+pv2×xv2+ph1×xh1+ph2×xh2+total2}>>shift   …(A11)
 また、さらに各重みのダイナミックレンジを復号画像Pの値の範囲に抑えると良い。復号画像Pのビット深度が8である場合には、ダイナミックレンジは0から255であるから、以下の式によりxdの範囲を制限する。
 xd=clip(0、255、xd)
 また、重みptの算出に式(A10)を用いる場合には、ノイズ除去済復号画像P_NRの画素値xdのダイナミックレンジを抑えることができるが、ノイズ除去済復号画像P_NRの格納用のメモリをさらに削減するには以下のようにさらにクリップし確実に所定のビット幅で格納できるようにすればよい。
 xd=clip(-127、128、xd)
 ノイズ除去フィルタ部164は、上記の処理に限定されず、対象ブロック(または対象パーティション)に隣接するブロック(またはパーティション)の境界付近の画素値を用いて、適応フィルタ部163によって参照される画像の画素値を算出する処理であれば良い。
 例えば、ノイズ除去フィルタ部164の処理として、デブロック処理のダイナミックレンジを拡大しても良い。
 より具体的には図22で示されるノイズ除去フィルタ部164の第1の構成例におけるBF画素生成部403を以下のBF画素生成部403´に置き替えても良い。BF画素生成部403´に入力された「d」および「ap」が、所定の閾値α、βに対して、d<α、かつ、ap<βである場合に以下のフィルタ処理を施す。
 p0´=(p2+2×p1+2×p0+2×q0+q1)
 p1´=(p2+p1+p0+q0)×2
 p2´=(2×p3+3×p2+p1+p0+q0)×2
 そうではない場合には、以下のフィルタを施す。
 p0´=(2×p1+p0+q0)×2
 なお、上記処理を行わない部分の画素値も8倍とする。
 このように画素値のダイナミックレンジを拡大する(BF画素生成部403に比べ8倍に拡大)ことによって、フィルタ処理で発生する除算(/8)によりラウンド処理を削除し、デブロック処理の精度を向上させることができる。最終的に、画素値のダイナミックレンジを元のレンジに戻す処理は、適応フィルタ部163で行われる。適応フィルタ部163でのフィルタ係数は固定小数精度であり整数精度以上の精度を用いるため、高精度の参照画像の値を有効に利用できる。そのため、ノイズ除去済復号画像Pのダイナミックレンジの拡大は、符号化歪み低減の精度を向上させる。
 また、ノイズ除去フィルタ部164の別の処理として、デブロック処理の出力と入力の差分、すなわち、ブロックノイズ低減処理における入力信号の補正量を、ノイズ除去フィルタ部164が出力するとしても良い。より具体的には、ノイズ除去フィルタ部164は、デブロック処理の入力をIN、出力をBFと表現した場合、以下の式で表現される値ΔBFを画素値とする画像を出力する構成としてもよい。
 ΔBF=BF-IN
 より具体的には図5で示されるノイズ除去フィルタ部164の第1の構成例におけるBF画素生成部403を以下のBF画素生成部403´´に置き替えても良い。BF画素生成部403´´に入力された「d」および「ap」が、所定の閾値α、βに対して、d<α、かつ、ap<βである場合に以下のフィルタ処理を施す。
 p0´=clip(―127、128、(p2+2×p1+2×p0+2×q0+q1)―8×p0)
 p1´=clip(―127、128、(p2+p1+p0+q0)×2―8×p1)
 p2´=clip(―127、128、(2×p3+3×p2+p1+p0+q0)×2―8×p2)
 そうではない場合には、以下のフィルタを施す。
  p0´=clip(―127、128、(2×p1+p0+q0)×2―8×p0)
 なお、上記処理を行わない部分の画素値は0とする。
 このようにデブロック処理後の画像の代わりに、デブロック処理における補正量からなる画像をノイズ除去済復号画像P_NRに用いることによって、ダイナミックレンジを拡大した場合においても、ノイズ除去済復号画像P_NRのダイナミックレンジを抑えることが可能になり、少ないビット(ここでは8ビット、-128~127)でノイズ除去済復号画像P_NRを格納することができる。このようにするとノイズ除去済復号画像P_NRを一時バッファ(例えば、適応フィルタ用メモリ162)に格納する場合において、必要となる一時バッファのメモリ量を低減させることができる。
 また、デブロック処理とは逆に、ブロックノイズを強調する処理を行う処理を用いても良い。例えば、ノイズ除去フィルタ部164は、以下の式で表現される値ΔBFを画素値とする画像を出力する構成としてもよい。ブロックノイズを強調する処理の逆演算がブロックノイズ低減になることから、適当なブロックノイズ強調フィルタであっても適応フィルタ部163の重みづけによりブロックノイズ低減効果及びデブロッキング強度調整効果を得ることができる。
 ΔBF´=(BF-IN)×2+IN
 なお、処理対象ブロックとは異なるブロック(隣接ブロック)の画素は、予測もしくは変換が異なることから、処理対象ブロックと異なる特性を有する。このような異なる特性の画素値を適応フィルタ部163の入力信号として用いると歪み低減の効果を増大させることができる。ノイズ除去フィルタ部164は、隣接ブロックの画素値を用いて、適応フィルタ対象画素の参照画素を生成するものであり、異なる特性の入力信号を準備することを意味する。
 さらに、ノイズ除去フィルタ部164は、ブロック境界との位置関係に応じて処理を変更している。適応フィルタ部163においては、位置関係に応じて異なる処理を行うためには位置毎に異なる重み係数の組が必要になりフィルタ係数が増加する。適応フィルタ部163の入力信号として、ノイズ除去フィルタ部164の出力画像を用いることによって、ブロック境界との位置関係に応じた処理をノイズ除去フィルタ部164が行うことできるため、多くのフィルタ係数を符号化することなく、適応フィルタ部163によって、境界との位置関係に応じた適応的フィルタ処理を施すことが可能になる。
 また、ノイズ除去フィルタ部164は、境界および境界付近の画素を参照する。一般に境界画素値に近づける処理はブロックノイズ低減になることから、この構成においてブロックノイズ低減効果を得ることができる(逆に境界画素値から遠ざけることによってブロックノイズ低減効果を弱めることもできる)。ノイズ除去済復号画像P_NRは、適応フィルタ部163の入力に用いられることから、適応フィルタ部163においてブロックノイズ低減の強度を調整することもできる(すなわちデブロック強度調整効果が得られる)。
 ループフィルタ16が、ノイズ除去フィルタ部164を備えない構成においても、フィルタ対象画素が境界付近にある場合などにおいて境界付近の画素を参照するが、参照のされ方は、フィルタ対象画素と境界の位置関係によって変化する。そのため、境界付近の画素の重みを変化させるには、境界との位置関係に応じて異なるフィルタ係数を用いる必要があるが、このような構成では、フィルタ係数の符号量が大きくなる。実施形態においては、ノイズ除去フィルタ部164が、境界との位置関係を考慮した重みで境界付近の画素を明示的に参照することによって、少ない符号量でデブロック強度調整効果を得ることができる。
 (構成例4)
 続いて、ノイズ除去フィルタ部164の第4の構成例について、図25(a)~(b)を参照して説明する。図25(a)は、ノイズ除去フィルタ部164の処理において参照する画素を説明するための模式図である。以下の説明においては、図25(a)に示すように、4×8画素のブロック(またはパーティション、以下同様)Aに属する各画素の画素値は、pNM(N=0~3、M=0~7)によって表され、ブロックAに隣接するブロックである4×8画素のブロック(またはパーティション、以下同様)Bに属する各画素の画素値は、qNMによって表されるものとする。
 ノイズ除去フィルタ部164は、以下の条件4が満たされているときであって、以下の条件1~3の何れかが満たされているときに、ブロックAとブロックBとの境界に対して、デブロック処理を行う。なお、以下の説明においてマクロブロックとは、LCUに対応する処理単位のことである。
 条件1:ブロックAまたはブロックBがイントラ予測が適用されている(mbMode==INTRA)。
 条件2:ブロックAまたはブロックBが0でない変換係数を有している。
 条件3:ブロックAおよびブロックBの予測に用いられる動きベクトルの水平成分または垂直成分の絶対値差分が、1/4画素を単位として、4以上である。
 条件4:|p22-2*p12+p02|+|q22-2*q12+q02|+|p25-2*p15+p05|+|q25-2*q15+q05|<β
が満たされている。
 なお、条件4におけるβは、ノイズ除去フィルタ部164の構成例1~3において用いたβとは異なる値であってもよい。
 また、ノイズ除去フィルタ部164は、以下の条件5~9の何れかが満たされているとき、ブロックAとブロックBとの境界に対して、デブロック処理を行わない。
 条件5:ブロックAおよびブロックBが同じマクロブロックに属しており、かつ、mb_svt_flag=1である。
 条件6:ブロックAおよびブロックBが同じマクロブロックに属しており、かつ、(mb_Mode==INTER_16x16またはmb_Mode==INTRA)であり、16×16画素の変換が用いられている。
 条件7:ブロックAとブロックBとの境界が拡大マクロブロックLMB32の内部に存在する。
 条件8:ブロックAとブロックBとの境界が拡大マクロブロックLMB64の内部に存在する。
 条件9:ブロックAとブロックBとの境界がマクロブロックの境界に重複しており、かつ、ブロックAおよびブロックBについてplanar_frag==1である。
 ブロックAとブロックBとの境界にデブロック処理を行う場合、デブロック処理として、弱いフィルタ(weak filtering)および強いフィルタ(strong filtering)の2つのタイプのフィルタリングの何れかが施される。強いフィルタおよび弱いフィルタの何れを用いるかの選択は、以下の条件にしたがって、ライン毎に行われる。i=0,7のそれぞれのラインについて、以下の条件10~12の全てが満たされる場合には、強いフィルタが施され、そうでない場合には、弱いフィルタが施される。
 条件10:d<(β>>2)が満たされている。
 条件11:(|p3i-p0i|+|q0i-q3i|)<(β>>3)が満たされている。
 条件12:|p0i-q0i|<((5*tC+1)>>1)が満たされている。
ここで、tCおよびβは、量子化パラメータqpに依存する。図25(b)は、tCおよびβと量子化パラメータqpとの対応を示す表である。なお、tCの値は、ブロックAおよびブロックBの何れかについてmb_Mode==INTRAである場合には、4増加する。
 なお、弱いフィルタを施す場合の各画素の画素値は、以下のように算出される。
 Δ=Clip(-tC,tC,(13*(q0i-p0i)+4*(q1i-p1i)-5*(q2i-p2i)+16)>>5))  (i=0,7)
 p0i=Clip0-255(p0i+Δ)                      (i=0,7)
 q0i=Clip0-255(q0i-Δ)                      (i=0,7)
 p1i=Clip0-255(p1i+Δ/2)                     (i=0,7)
 q1i=Clip0-255(q1i-Δ/2)                     (i=0,7)
 また、強いフィルタを施す場合の各画素の画素値は、以下のように算出される。
 p00=Clip0-255((p2i+2*p1i+2*p0i+2*q0i+q1i+4)>>3)          (i=0,7)
 q00=Clip0-255((p1i+2*p0i+2*q0i+2*q1i+q2i+4)>>3)          (i=0,7)
 p10=Clip0-255((p2i+p1i+p0i+q0i+2)>>2)               (i=0,7)
 q10=Clip0-255((p0i+q0i+q1i+q2i+2)>>2)               (i=0,7)
 p20=Clip0-255((2*p3i+3*p2i+p1i+p0i+q0i+4)>>3)           (i=0,7)
 q20=Clip0-255((p0i+q0i+q1i+3*q2i+2*q3i+4)>>3)           (i=0,7)
 以上のように、ノイズ除去フィルタ部164は、主に、ブロック(またはパーティション)の境界に生じるブロックノイズを低減するための構成とすることができる。
 また、ノイズ除去フィルタ部164は、ブロックノイズを低減するための構成に代えて、非線形デノイジングフィルタ(Non-linear Denoising Filter、NDF)としてもよい。
 すなわち、ノイズ除去フィルタ部164は、(1)復号画像DCT変換を行い、(2)DCT変換後の各周波数成分のうち、予め定められた閾値以下の周波数成分を0に設定する微小係数除去処理を行い、(3)微小係数除去処理を行った後の各周波数成分を逆DCT変換することによって、ノイズ除去済復号画像P_NRの画素値を算出する構成としてもよい。
 また、ノイズ除去フィルタ部164は、(構成例1)~(構成例4)の何れかの構成と、非線形デノイジングフィルタの構成との双方を備える構成とし、復号画像Pに対して、デブロッキング処理および非線形デノイジング処理の双方を施すことによってノイズ除去済復号画像P_NRを生成する構成としてもよい。
 〔実施形態4〕
 以下では、本発明の第4の実施形態について説明する。本実施形態の具体的な説明に先立ち、上述した内容とも一部重複するが、背景技術及びその課題を本実施形態の観点から概観する。
 (背景技術)
 動画像符号化技術の分野では、一般に、画像データ(画像情報)を複数の予測ブロックに分割し、分割した予測ブロック単位で予測を行い、予測画像と入力画像の差分(残差)を直交変換し、得られた変換係数を量子化した上で、量子化された変換係数の可変長符号化により符号化する。差分(残差)の直交変換は、予測ブロックと同一の、あるいは、予測ブロックとは独立に定められた変換ブロック単位で行われる。このような符号化方法では、予測を行う単位もしくは直交変換を実行する単位の境界において大きな歪み(いわゆる、ブロックノイズ)が生じやすい。また、ブロックノイズ以外にも、ボケやモスキートノイズなどさまざまな符号化ノイズが発生する。
 これらの歪みを低減するために、予測の際に参照画像として利用される復号画像にフィルタ処理を行う技術が開示されている。
 文献(「VCEG-AI18」,Telecommunication Standardization Sector,35th Mee-ting:Berlin,Germany,07/2008)(以下文献A1とも呼ぶ)には、フィルタ対象画素の周囲の5×5もしくは7×7もしくは9×9画素の重み付和によって空間的なフィルタ処理を行う適応ループフィルタ(AdaptiveLoopFilter、以下ALF)と呼ばれる技術が開示されている。ALFでは既に符号化した重み係数を用いて予測符号化し、重み係数の予測誤差を符号化することで重み係数の符号量の低減が行われる。
 文献(「JCTVC-A114」、Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor, JCTVC Contribution JCTVC-A114, Dresden, Germany, April 2010)(以下文献A2とも呼ぶ)には、ALFの入力信号を1つから3つに増やした方法が開示されている。この3入力ALFでは、復号画像のノイズを除去するデノイジングフィルタ(DNF)を備え、DNF後の復号画像と、予測画像、残差画像に対して、各々重み係数との積和を算出することによって、フィルタ処理が行われる。なお、DNFは、周波数領域における微小係数の除去によって行われる。3入力ALFにおいても、重み係数の予測符号化が行われる。重み係数の符号化は、DNF後画像、予測画像、誤差画像の順で行われ、予測画像の中心要素にかかる重み係数は、DNF後画像の中心要素にかかる符号化済みの重み係数から予測され差分値が符号化される。誤差画像の中心要素にかかる重み係数は、DNF後画像の中心要素にかかる復号済みの重み係数と、予測画像の中心要素にかかる重み係数とから予測され差分値が符号化される。復号処理においても、重み係数の予測は符号化と同じ順で行われる。
 なお、上述のALFでは、ピクチャあるいはスライスごとに、フィルタが適用された後の参照画像と原画像との誤差が最小となる重み係数を定める。
 しかしながら、文献A1のALFは、入力信号が1つであるから、入力信号が複数に増えた場合に有効な重み係数の符号化方法は明らかとされていない。
 文献A1の3入力ALFは、入力信号が3つであり、予測画像の中心要素にかかる重み係数、誤差画像の中心要素にかかる重み係数が予測されるが、入力信号の性質を十分に活かしていないために予測精度が低いという課題があった。予測精度が低い場合には、重み係数の符号量が増加するという問題が生じる。
 (課題)
 発明者は、上記の問題に鑑み、複数種別の信号を入力が可能な適応フィルタで用いられるフィルタ係数に関する効率的な予測方法に関する知見を得た。
 (本実施形態に係る動画像復号装置の概観)
 上記の問題を解決するために、本実施形態に係る動画像復号装置は、複数種別の信号を入力可能な適応フィルタと、符号化データからフィルタ係数の可変長符号復号を行う可変長符号復号部と、復号済みのフィルタ係数を用いて復号対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像復号装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴としている。
 上記のように構成された本実施形態に係る動画像復号装置は、入力画像として複数種別の信号が存在する場合にも適用可能な重み係数和算出手段によって、フィルタ係数を精度よく予測することが可能である。そのため、予測差分値として符号化されるフィルタ係数の符号量を低減することができる。
 続いて、本実施形態についてより具体的に説明を行う。
 (適応フィルタ)
 本実施形態に係る動画像復号装置7の説明に先立ち、本実施形態に係る動画像符号化装置8及び動画像復号装置7で用いられる適応フィルタについて簡単に説明する。次に、上記適応フィルタで用いられるフィルタ係数の予測方法の概念を説明する。
 適応フィルタとは、原画像と適応フィルタ処理の出力画像との二乗誤差がより小さくなるように最適化されたフィルタ係数を用いたウィナーフィルタである。動画像符号化装置で算出された最適なフィルタ係数は、符号化データを通じて動画像復号装置に伝送される。動画像復号装置では、符号化データからフィルタ係数を復号し、復号したフィルタ係数と適応フィルタの入力信号との積和によってフィルタ処理を行う。
 適応フィルタの入力信号としては、複数種類の信号を用いることが可能であるが、本実施形態では、動画像復号装置で得られる復号画像の他、復号画像にノイズ低減フィルタ(NoiseReductionFilter、NRFと呼ぶ)を施した後の復号画像も入力信号とする。以下、ノイズ低減フィルタの入力画像である復号画像をNRF前画像、ノイズ低減フィルタ後の画像をNRF後画像と呼ぶ。
 NRF前画像、NRF後画像の2つの入力を備える適応フィルタは、以下の式(1-1)で表現される。
Figure JPOXMLDOC01-appb-M000013
 ここで、SALFは適応フィルタ後の画素値、SdecはNRF前画像の画素値(NRF前画素値)、SnrfはNRF後画像の画素値(NRF後画素値)である。(u、v)は、フィルタ対象画素の位置(x、y)からの相対位置を示す。a(u、v)、b(u、v)は各々、相対位置(u、v)に対応するNRF前画素値にかかる重み係数、相対位置(u、v)に対応するNRF後画素値にかかる重み係数である。oはオフセットである。Rdecは、NRF前画像のフィルタ処理において参照される領域(以下、「フィルタ参照領域Rdec」と呼ぶ)を示している。Rnrfは、NRF後画像のフィルタ処理において参照される領域(以下、「フィルタ参照領域Rnrf」と呼ぶ)を示している。フィルタ参照領域Rdec及びRnrfは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、復号画像Sdec及びNRF後画像Snrf上に設定される。フィルタ参照領域RdecはM×Mの矩形領域であり、フィルタ参照領域RnrfはN×Nの矩形領域である。
1次元インデックスkが一組の(u、v)に対応すると仮定すると、式(1-1)は、2次元インデックスu、vの代わりに1次元インデックスkを用いて表すことができる。式(1-1´)のように表現できる。
Figure JPOXMLDOC01-appb-M000014
 ここでNumM、NumNは各々、NRF前画像およびNRF後画像に対する重み係数の数である。
 式(1-1)の右辺及び左辺の各々についてスライス内での平均をとると、以下の式(1-2)が得られる。なお、E(x)はxのスライス平均をとる演算を示す。
Figure JPOXMLDOC01-appb-M000015
 なお、オフセットはスライス内で固定の定数であるからE(o)=oとした。
 ここで、以下の式(1-3a)、式(1-3b)を仮定する。
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000017
 式(1―3a)、式(1-3b)に加え、さらにオフセットo=0と仮定すると以下の式(1-4a)が得られる。
Figure JPOXMLDOC01-appb-M000018
式(1-4a)の両辺をE(SALF)で割ると、次の式式(1-4b)が得られる。
Figure JPOXMLDOC01-appb-M000019
 寄与率mag_a、寄与率mag_bを以下の式(1-5a)、(1-5b)で定義する。
Figure JPOXMLDOC01-appb-M000020
Figure JPOXMLDOC01-appb-M000021
 寄与率を用いると式(1-4b)は、以下の式(1-6)で表現される。
Figure JPOXMLDOC01-appb-M000022
 式(1-6)より、重み係数に寄与率をかけて得られる和(以下、重み係数和と呼ぶ)は約1になる性質をもつ。寄与率mag_a、mag_bが1である場合には、以下の式(1-6´)が成り立つ。
Figure JPOXMLDOC01-appb-M000023
 この入力信号の寄与率を考慮した重み線形和が約1である性質を利用して重み係数を予測する。
 例えば、NRF後画像にかかる重み係数の一つbi(iは予測対象の重み係数を示すインデックスで、iは0からNumN-1までの値をとる)を予測する場合、予測値pred_biは、以下のように得ることができる。式(1―6)において、予測対象の重み係数bi以外の和、予測対象の重み係数biをpred_biに置き換えて得られる和に分けて表現すると、以下の式(1-7a)が得られる。
Figure JPOXMLDOC01-appb-M000024
 ここで、第2項のΣ演算は、和の算出範囲をk=0..NumN-1、k≠iと表現しているが、これは0からNumN-1値で、かつ、iを除く値についての和を求めることになる。これは0からi-1までとi+1からNumN-1までの和を求めることに相当する。以下の式においてもこの表現方法を適用する。
 さらにpred_biに対して変形すると、式(1-7b)が得られる。
Figure JPOXMLDOC01-appb-M000025
 同様にaiの予測値pred_aiは以下の式(1-7c)で得られる。
Figure JPOXMLDOC01-appb-M000026
 上記方法では、重み係数のうち1つの重み係数が予測できる。
 以下、2つ以上の重み係数を予測する場合を説明する。予測対象の重み係数をai、bjとし、aiの予測値ai_pred、bjの予測値bj_predとする。i、jは予測対象の重み係数を示すインデックスであり、iは0からNumM-1までの値、jは0からNumN-1までの値である。このとき、式(1-6)から以下の式(1-8)が得られる。
Figure JPOXMLDOC01-appb-M000027
 ここで、予測対象とする複数の重み係数が全て等しいと仮定してai=bj=tとおく。この場合、予測値も等しいと考えられることからpred_ai=pred_bj=pred_tとなり、式(1-8)は以下の式(1-9)のように変形できる。
Figure JPOXMLDOC01-appb-M000028
 式(1-9)をさらに変形すると、次の式(1-10)を得る。
Figure JPOXMLDOC01-appb-M000029
 予測対象とする複数の重み係数が全て等しいという仮定は、対象とする重み係数が比較的大きな値を持つ場合、すなわち、適応フィルタに用いられる各入力信号の中心要素にかかる重み係数同士の場合は妥当であることが実験から分かっている。
(オフセット予測の概念)
式(1-2)を変形すると、以下の式(1-11)が得られる。
Figure JPOXMLDOC01-appb-M000030
 続いて、式(1-3a)と式(1-3b)を仮定するとさらに以下の式(1-12)にように変形できる。
Figure JPOXMLDOC01-appb-M000031
さらに、寄与率を用いて変形すると、式(1-13)が得られる。
Figure JPOXMLDOC01-appb-M000032
式(1-13)は、重み係数と寄与率の積和を1から引いた値にSALFの平均値をかけることによって、オフセットoの予測値が得られることを意味する。AVEVALがSALFの期待値であり、sumは、寄与率と重み係数の積和とすると、オフセットoの予測値pred_oを算出する式は、以下の式(1-14)によって得られる。
Figure JPOXMLDOC01-appb-M000033
 なお、上記の重み係数予測の概念、および、オフセット予測の概念においては、入力の種別に応じた寄与率(種別寄与率)については考慮されているが、後述のフィルタ係数の量子化や対称性に関しては考慮されていない。これらを考慮した予測については、後述の予測手段の説明において示す。
 次に、本実施形態に係る動画像符号化装置8によって生成され、動画像復号装置7によって復号される符号化データの構成について、図43を参照して説明する。
 符号化データは、一連の画像データ(ピクチャ)から構成されている。図43に示すように、一つのピクチャは複数のスライスから構成される。スライスは、適応フィルタ情報とマクロブロックデータ(MBデータ)とから構成される。MBデータは、復号画像を生成するための情報であり、ブロックタイプ、予測ブロックサイズ、予測パラメータ、変換ブロックサイズ、及び、残差情報から構成される。ここではスライス単位で、適応フィルタ情報を符号化しているが、フレーム単位など異なる単位で符号化しても構わない。
 適応フィルタ情報は、フレームメモリに格納された復号画像に対して、適応フィルタ処理を制御するために使用される情報であり、フィルタのオンオフを制御するオンオフ情報、2次元フィルタにおけるフィルタのサイズを示すタップ数、及び、1つ以上のフィルタ係数から構成されるフィルタ係数セットを含んでいる。タップ数はさらにNRF前画像にかかるフィルタのタップ数を示すタップ数M、NRF後画像にかかるフィルタのタップ数を示すタップ数Nから構成され、フィルタ係数セットは、NRF前重み係数a(k=0~NumM-1)、NRF後重み係数b(k=0~NumN-1)、オフセットoから構成される。なお、M、Nは、1、3、5の何れかの値をとるものとし、NumMおよびNumNは、NRF前画像にかかる重み係数の数、NRF後画像にかかる重み係数の数である。タップ数M、Nと重み係数の数はNumM=(M×M+1)/2、NumN=(N×N+1)/2の関係がある。なお、タップ数M及びタップ数Nの一方もしくは両方は明示的に符号化することなく予め決められた固定値を用いても良い。例えばMであれば1、Nであれば5であっても良い。
 NRF前重み係数a、NRF後重み係数b、および、オフセットoは、量子化および予測符号化される。一般にウィナーフィルタの重み係数およびオフセットは小数であるが、符号化データ中には、量子化により整数化した値が用いられる。例えば、量子化の粗さを示すビット深度がbit_depthビットである場合には、小数精度の重み係数に、1<<bit_depthを乗じて、整数化した値が用いられる。なお、<<は、左シフトを示す記号である。以下、重み係数とオフセットを合わせてフィルタ係数と呼ぶ。
(重み係数の構成)
 図42を参照して符号化データ中の重み係数の構成と、2次元フィルタにおける重み係数の対応位置を説明する。図42(a)、(b)、(c)は、各々タップ数が1、3、5の場合の重み係数を示す。図の左側は符号化データ中の重み係数の構成であり、各々1、5、13個の重み係数が一次元的に順序づけられて構成されている。図42の右側は2次元フィルタとして用いられる場合の重み係数の対応位置を示すものである。2次元フィルタは、フィルタ対象画素およびその周囲に位置する画素値に対応する重み係数を乗算して得られる加重平均を算出するフィルタである。図42においては、フィルタ対象画素からみて点対称に位置する画素に対して同じ重み係数が割り当てられている。
 (動画像復号装置7)
 本発明を適用した動画像復号装置について、図26を参照しつつ以下に説明する。図26は、第4の実施形態に係る動画像復号装置7の構成を示すブロック図である。
 図26に示すように、動画像復号装置7は、予測部111と、可変長符号化復号部114と、逆量子化部115と、逆変換部116と、フレームメモリ117と、適応フィルタ情報保存部119と、フィルタ係数予測復号部201と、ループフィルタ部120と、加算部109とから構成されている。動画像復号装置7の動作について以下に説明する。
 動画像復号装置7に入力された符号化データは、まず、可変長符号化復号部114に入力される。可変長符号化復号部114は、符号化データの可変長復号により、フィルタ処理に用いる重み係数を含む適応フィルタ情報と、予測方法および変換方法を示すMBパラメータと、変換・量子化された変換係数である残差情報とを復号する。
 逆量子化部115は、可変長符号化復号部114より入力された変換・量子化された残差画像を逆量子化する。逆変換部116は、逆量子化部115より入力された逆量子化された信号を逆変換し、残差画像を生成する。
 予測部111は、可変長符号化復号部114より復号されたMBパラメータが入力され、当該MBパラメータに従って、フレームメモリ117に格納された復号画像(復号済みの画像)を用いて、予測画像を生成する。MBパラメータは、ブロックタイプと予測ブロックサイズ、変換ブロックサイズ、及び、予測パラメータから構成される。ブロックタイプはイントラブロックかインターブロックかを示す。イントラブロックの場合には後述のループフィルタ処理前の復号画像(フレームメモリの画像)を参照して予測画像を生成し、インターブロックの場合にはループフィルタ処理後の復号画像を参照して予測画像を生成する。この実施形態では、予測ブロックサイズは予測のブロックサイズが16×16、8×8、4×4の何れであるかを示し、変換ブロックサイズは変換のブロックサイズが16×16、8×8、4×4の何れであるかを示す。予測パラメータはブロックタイプにより異なり、イントラブロックの場合には、DC予測を用いるか、方向予測を用いるかを示すイントラ予測モードである。インターブロックの場合には、動きベクトル、参照インデックスである。なお、参照インデックスは、フレームメモリに参照可能なフレームが複数存在する場合に、参照フレームを指定するための識別子である。なお、ブロックタイプ、予測ブロックサイズ、変換ブロックサイズ、予測パラメータなどはこの構成に限らない。
 加算部109は、予測部111より入力された予測画像と、逆変換部116より入力された残差画像の加算により、復号画像を生成し、フレームメモリ117に格納する。
 可変長符号化復号部114で可変長復号された適応フィルタ情報に含まれる重み係数は、その一部もしくは全てが予測符号化されたものである。予測符号化されていない場合は重み係数自体であり、予測符号化されている場合はフィルタ係数の予測差分値である。ここでは、両者を合わせて、符号化された時点での値をフィルタ係数符号化値と呼ぶ。これらフィルタ係数符号化値は一度、適応フィルタ情報保存部119に保存される。
 フィルタ係数予測復号部201は、適応フィルタ情報保存部119に保存されたフィルタ係数符号化値から、フィルタ係数を復元する。復元された重み係数は、再度、適応フィルタ情報保存部119に保存される。
 ループフィルタ部120は、適応フィルタ情報保存部119に保存され、復元された適応フィルタ情報を読み出し、フレームメモリ117に格納された復号画像のフィルタ処理を行い、再度フレームメモリに117に書き出す。
(フィルタ係数予測復号部201)
 ここで、フィルタ係数予測復号部201について図28を用いて説明する。フィルタ係数予測復号部201は、フィルタセット内のフィルタ係数予測部202と、加算部205から構成される。フィルタ係数予測復号部201では、差分値から対象となるフィルタ係数を復元する。対象となるフィルタ係数は一つであっても複数であっても良いが、復元は一つ一つ行われる。フィルタセット内フィルタ係数予測部202では、適応フィルタ情報保存部119から入力された、現スライス内の他のフィルタ係数を用いて、対象となるフィルタ係数の予測値を算出する。加算部205では算出したフィルタ係数の予測値と、符号化データから復号されたフィルタ係数の差分値の和を算出することで、フィルタ係数が復元される。
(フィルタセット内フィルタ係数予測部202)
 フィルタセット内フィルタ係数予測部202は、図29に示すように予測対象係数特定部1501と、重み係数和算出部1502と、フィルタ係数予測部1503と、寄与率算出部1505から構成される。フィルタセット内フィルタ係数予測部202は、予測符号化されたフィルタ係数に対して、フィルタ係数の予測値を算出し、差分値であるフィルタ係数符号化値との和から、フィルタ係数を復元する。
 フィルタセット内フィルタ係数予測部202には、重み係数の個数NumM、NumN、及び、フィルタ係数が入力される。フィルタ係数の数は、NumM+NumN+1個であり、NRF前画像にかかる重み係数、NRF後画像にかかる重み係数、オフセットの順に入力される。入力される順序を示す値をインデックスlと呼ぶ。インデックスlは0からNumM+NumNの値をとる。
(予測対象係数特定部1501)
 予測対象係数特定部1501には、フィルタ係数の個数NumM、NumN、及び、フィルタ係数が入力される。まず、予測対象係数特定部1501は、インデックスlを用いて、フィルタセット内フィルタ係数予測部202に入力された各フィルタ係数が、予測されたフィルタ係数(差分値)であるか、フィルタ係数自体であるかを特定する。
 フィルタセット内フィルタ係数予測部202に入力されたフィルタ係数がフィルタ係数自体であれば、そのフィルタ係数の値をそのまま、重み係数和算出部1502に出力する。予測されたフィルタ係数であれば0を重み係数和算出部1502に出力する。
(重み係数和算出部1502)
 重み係数和算出部1502では、重み係数和sumを以下の式(5-2)により算出する。
Figure JPOXMLDOC01-appb-M000034
 なお、mag(l)は、インデックスlの重み係数w(l)の寄与率を示し、後述の寄与率算出部1505で算出される。
 予測されたフィルタ係数については、予め予測対象係数特定部1501において0として入力されているため、重み係数和sumの算出には用いられない。
 なお、重み係数和の算出を簡単にするために、差分値であるフィルタ係数の値を0とする処理を用いているが、これを避けて和を算出するようにすれば、寄与率算出部1505に予測されたフィルタ係数を入力する必要はない。
(フィルタ係数予測部1503)
 フィルタ係数予測部1503では、予測対象とするフィルタ係数の種類および予測されたフィルタ係数の数に応じて、以下のように予測値を算出する。
 予測対象が1つの重み係数である場合には、重み係数和sumから、以下の式(5-3)を用いて重み係数の予測値predを算出する。
Figure JPOXMLDOC01-appb-M000035
 なお、bit_depthは、重み係数の量子化の精度を示し、magは予測対象の重み係数の寄与率である。寄与率magは寄与率算出部1505で算出する。重み係数の予測対象が1つの場合には、差分値として符号化された重み係数が1つである場合と、差分値として符号化された重み係数が複数存在するときに最後に復元する重み係数1つに適用する場合とがある。
 予測対象が重み係数であり、さらに複数ある場合には、重み係数和sumから、以下の式(5-3´)を用いて重み係数の予測値を算出する。
Figure JPOXMLDOC01-appb-M000036
 ここでsum_magは、複数個の重み係数の寄与率の和である。
 予測符号化された重み係数が複数ある場合には、1個の予測値の算出、復元を行った後に、繰り返し、式(5-3´)で示される予測値算出を行い、復元することが好ましい。例えば、予測符号化された重み係数が3個である場合には、最初に、最後から3つ目の重み係数について予測値算出、復元を行い、次に、最後から2つ目の重み係数について予測値算出、復元を行い、最後に、式(5-3)を用いて、最後の重み係数について予測値算出、復元を行うことが好ましい。
 予測対象がオフセットである場合には、重み係数和sumから、以下の式(5-3´´)を用いて予測値pred_oを算出する。
Figure JPOXMLDOC01-appb-M000037
 なおAVEVALは所定の値であり、復号画像のスライス平均値が好ましい。但し、スライス平均値を求める処理を省略するために、固定の値を用いても構わない。例えば、ループフィルタがかかる復号画像が輝度信号であり、その輝度信号のビット深度が8ビットの場合には90から100程度が好ましい。平均値はビット深度によって異なることから、輝度信号のビット深度luma_bit_depthが得られる場合には、例えば8ビットの場合に用いる値100をベースとして100<<(luma_bit_depth―8)のように、輝度信号のビット深度に応じてAVEVALを変化させると良い。ループフィルタがかかる復号画像が色差信号であり、そのビット深度が8ビットの場合には128が好ましい。色差信号のビット深度chroma_bit_depthが得られる場合には、128<<(chroma_bit_depth―8)のように、色差信号のビット深度に応じてAVEVALを変化させると良い。
(具体例)
 寄与率算出部1505を説明する前に、フィルタセット内フィルタ係数予測部202のより具体的な動作例をさらに具体的なフィルタ係数セットを用いて説明する。
 図45は、具体的なフィルタ係数セットの構成を示す図である。ここでは、NumM=13、NumN=1の場合のフィルタ係数セットの例である。図45における構成に示す通り、中心要素にかかる重み係数以外のNRF前画像にかかる重み係数、中心要素にかかる重み係数以外のNRF後画像にかかる重み係数、NRF前画像の中心要素にかかる重み係数、NRF後画像の中心要素にかかる重み係数の順に符号化されている。また、NRF前画像の中心要素にかかる重み係数aNumM-1(ここではa12)、NRF後画像の中心要素にかかる重み係数bNumN-1(ここではb0)、及びオフセットoについては、予測符号化することによって得られる差分値が符号化されている。また、他のフィルタ係数はそれ自体が符号化されている。なお、図45においては、差分値として符号化されている値はa12´、b0´、o´というように´付きで表示されている。ここでは、予測対象となるフィルタ係数を符号化データの最後におく。また、符号化データ順、すなわち、a12、b0、oの順に復号する。なお、符号化データ順と復号順を同一とした方が処理が容易となりうるが、復号処理は符号化データ順によらずに可能である。
 まず、フィルタセット内フィルタ係数予測部202では、式(5-3´)によりNRF前画像の中心要素にかかる重み係数a12の予測値が以下の式(26)のように得られる。
Figure JPOXMLDOC01-appb-M000038
 算出方法は後述するが、寄与率mag_a0~mag_a11は2であり、寄与率mag_a12、mag_b0は1であるので、以下の式(27)となる。
Figure JPOXMLDOC01-appb-M000039
 式(27)に示すとおり、予測対象係数であるa12は重み係数和の算出には用いられない。分子は重み係数和算出部1502で算出される重み係数和であり、分母は寄与率算出部1505で算出される寄与率の和である。
 以上により、重み係数a12は以下の式で復元できる。
 a12=pred_a12+a12´
 続いて、式(5-3)を用いてNRF後画像の中心要素にかかる重み係数b0の予測値式(28)が得られる。
Figure JPOXMLDOC01-appb-M000040
 ここでは、復元したa12を用いて予測値を算出する。
 算出方法は後述するが、寄与率mag_a12は1、寄与率mag_ak(k=0~11)は2、寄与率mag_b0は1であるので、以下の式(29)となる。
Figure JPOXMLDOC01-appb-M000041
 最後に、式(5-3´´)によりオフセットoの予測値が以下の式(30)により得られる。
Figure JPOXMLDOC01-appb-M000042
 ここで重み係数和は重み係数和算出部1502で算出される。
 (備考)
 オフセットを除くフィルタ係数の場合、いずれの重み係数も以上の方式で予測可能である。そのため、NRF前画像の中心要素にかかる重み係数aNumM-1(以下ac)、NRF後画像の中心要素にかかる重み係数bNumN-1(以下bc)を復元したが、他の構成でも復元可能である。なお、ac、bcのcはcenterの略である。
 一般に、中心要素にかかる重み係数以外の重み係数は0に近い値をとることが多いため、0に近い値を短い符号長で符号化し、0から遠ざかるにつれて長い符号長で符号化する可変長符号化が用いられる。中心要素にかかる重み係数の場合には0に近くはないため、予測を行う予測値との差分値を符号化すると良い。予測する場合には、大きな重み係数ほど、また、予測精度が高い(予測差分値が小さい)ほど効果が大きい。
 また、上記、重み係数和を用いた手法では、最後に復元される重み係数は高い精度で復元することができる。そのため、最後に復元される重み係数は、重み係数のうちで最大のものが好ましい。
 本実施形態の適応フィルタでは、式(1-1)のように、NRF前画像とNRF後画像の重み付けを用いて、原画に近い画像を生成する。一般にノイズ低減フィルタをかけたNRF後画像の方が、NRF前画像よりも、原画に近いことが多い。複数の入力信号を適応フィルタに入力し原画を近似する場合には、原画に近い入力信号の重み係数が大きくなるという性質があり、発明者による実験的にも確かめられている。従って、NRF後画像を入力信号として用いる適応フィルタにおいては、NRF後画像の中心要素にかかる重み係数bcが最大の重み係数となることが多い。
 次に大きな値となる重み係数はNRF前画像の中心要素にかかる重み係数acであることが実験的から得られている。従って、最後に符号化(復元)する重み係数をbc、その直前に符号化(復元)する重み係数をacとするのが良い。
 なお、処理の簡単化のため、NRF後画像の中心要素にかかる重み係数bcだけを予測する。もしくは、NRF後画像の中心要素にかかる重み係数bcとオフセットoのみを予測する構成としても良い。
(寄与率算出部1505)
 ここで、寄与率算出部1505について図30を用いて説明する。寄与率算出部1505は種別特定部601と、種別寄与率算出部602と、参照信号数算出部603と、乗算部604から構成される。
(種別特定部601)
 種別特定部601は、重み係数に対応するインデックスlを入力とし、各インデックスlから重み係数の種別情報を次のように出力する。インデックスlが0からNumM-1まではNRF前画像にかかるフィルタ係数であるので、重み係数の種別情報がNRF前画像であることを示す種別識別子(ここでは0)を出力する。インデックスlがNumMからNumM+NumN-1まではNRF後画像にかかるフィルタ係数であるので、重み係数の種別情報がNRF後画像であることを示す種別識別子(ここでは1)を出力する。インデックスlがNumM+NumNの場合にはオフセットであるので、重み係数の種別情報がオフセットであることを示す種別識別子(ここでは5)を出力する。
(種別寄与率算出部602)
 種別寄与率算出部602は種別特定部601から種別情報を入力し、種別寄与率kind_magを出力する。本実施形態における種別寄与率kind_magは以下のように算出する。
 種別がNRF前画像にかかるフィルタ係数もしくはNRF後画像にかかるフィルタ係数の場合(種別識別子が0もしくは1の場合)
  kind_mag=1
 種別がオフセットの場合(種別識別子が5の場合)
  kind_mag=0
 一般に、kind_magは、適応フィルタの入力信号の種別(重み係数がかかる重み係数の種別)毎に以下の式(6-2)を用いて算出される所定の値である。
 kind_mag=E(適応フィルタの入力信号)/E(適応フィルタの出力信号)
                                  (6-2)
 ここでE(X)はXに対するスライス平均を表す。適応フィルタの入力信号とは、NRF前画像もしくはNRF後画像である。スライス平均E(X)とは、実験的にはスライスにおいてXの平均をとることによって求められる。しかし、実際には実験によって求める必要はなく、以下に説明するように予め概念的に定めておくことができる。
 具体的には、復号画像(NRF前画像)のスライス平均と、適応フィルタの出力のスライス平均はほぼ等しいと考えられるため、式(6-2)によりNRF前画像にかかるフィルタ係数のkind_magは1と定められる。また、NRF後画像のスライス平均値と、適応フィルタの出力のスライス平均はほぼ等しいと考えられるため、NRF後画像にかかるフィルタ係数のkind_magも1と定められる。
 なお、ここでは、入力の種別が、NRF前画像にかかるフィルタもしくはNRF後画像にかかるフィルタである場合は1、それ以外を0としているが、他の入力種別がある場合には、それに対応する値を算出する。例えば、入力種別が予測画像である場合、もしくは、残差画像である場合には実施形態5において説明する。
(参照信号数算出部603)
 参照信号数算出部603は、インデックスlを入力とし、参照信号数ref_numを出力する。図42を再度参照してref_numの算出方法を以下に説明する。
 図42において説明したように、一般に適応フィルタの重み係数は対称性を利用して符号化する重み係数の数を減らしていることが多い。対称性を利用する場合には、適応フィルタの入力信号の数よりも、適応フィルタに入力される重み係数の数の方が少なく、一つの重み係数が、複数の入力信号に対して用いられる。
 参照信号数ref_numは、当該重み係数に対して参照される入力信号の数である。図42の例では、中心の画素にかかるフィルタ係数の参照信号数ref_numは1、それ以外の画素にかかるフィルタ係数の参照信号数ref_numは2となる。
 なお、他の対称性を利用する、もしくは、対称性を利用しない方法も可能である。中心要素以外の画素にかかるフィルタ係数の参照信号数は、上下対称および左右対称の場合には2、上下および左右対称の場合には4になる。また、対称性を利用しない場合には参照信号数ref_numは1となる。
(乗算部604)
 乗算部604は、式(6―4)に示すように種別寄与率kind_magと参照信号数ref_numの積により、寄与率magを算出する。
 mag = kind_mag × ref_num       (6-4)
(フィルタセット間予測)
 図32は、フィルタ係数予測復号部201の別の構成(フィルタ係数予測復号部201´)を示すブロック図であり、フィルタ係数予測復号部201´は、フィルタセット内フィルタ係数予測部202と、フィルタセット間フィルタ係数予測部203、予測方式切替部204、加算部205から構成される。
 符号化データには、図43を用いて説明した通り、スライス毎に1つのフィルタセットが符号化される。フィルタセット内フィルタ係数予測部202は、当該スライスのフィルタセットに含まれる復号済みのフィルタ係数を用いてフィルタ係数を予測する手段である。
 フィルタセット間フィルタ係数予測部203は既に復号された過去のスライスに含まれるフィルタセットを用いてフィルタ係数を予測する手段である。
 予測方式切替部204は、予測対象のフィルタ係数がNRF後画像の中心要素にかかる重み係数bcである場合には、フィルタセット内フィルタ係数予測部202による予測値を用い、それ以外の場合には、フィルタセット間フィルタ係数予測部203による予測値を用いる。
 加算部205はフィルタ係数の予測値と、差分値を加算してフィルタ係数を復元する。復元されたフィルタ係数は、適応フィルタ情報保存部119で保存される。
 図33は、フィルタセット間フィルタ係数予測部203の構成を示すブロック図である。フィルタセット間フィルタ係数予測部203は、対応フィルタ係数参照部1506から構成される。 
 対応フィルタ係数参照部1506では、適応フィルタ情報保存部119に格納された過去のスライスで復号されたフィルタ係数セットを用いて、フィルタ係数の予測値を算出する。具体的には、同じ種別および同じ位置のフィルタ係数を予測値とする。現スライスtでのフィルタ値をNRF前のフィルタ係数をak(t)、NRF後のフィルタ係数をbk(t)、それらの予測値をpred_ak(t)、pred_bk(t)とすると、以下の式で予測値が得られる。
 pred_ak(t) = ak(t-1)        (5-6a)
 pred_bk(t) = bk(t-1)        (5-6b)
 この式では、前スライスt-1のフィルタ係数を用いて予測値としている。なお、予測値として参照する前スライスt-1におけるタップ数が、予測対象である現スライスtにおけるタップ数よりも小さい場合など、対応するフィルタ係数が存在しない場合には、予測値を0とする。また、最初のスライスなど、既に復号されたフィルタ係数セットが存在しない場合にも、予測値を0とする。
 上記の構成のフィルタ係数予測復号部201´は、最も大きな値になることが多い、ノイズ低減フィルタ手段の出力であるNRF後画像の中心要素にかかるフィルタ係数について精度よく予測することが可能なフィルタセット内予測を用い、それ以外のフィルタ係数についてはフィルタセット間予測を用いることによって、小数のフィルタ係数に対して高精度に予測可能であるというフィルタセット内予測と、多くのフィルタ係数に関して予測が可能であるというフィルタセット間予測の両者の特徴を活かすことができる。そのため、フィルタ係数の符号量を低減することができる。
(ループフィルタ部120)
 図34は、ループフィルタ部120の内部構成を示す図である。ループフィルタ部120は、ノイズ低減フィルタ部(NRF部)301と、適応フィルタ部302から構成される。
 ループフィルタ部120は、フレームメモリ117に格納された復号画像と、適応フィルタ情報保存部119に格納された適応フィルタ情報を用いて、符号化歪みを低減した画像を生成する手段である。
 NRF部301は、符号化ノイズを低減するフィルタであり、デブロッキングフィルタやデノイジングフィルタなどを用いることができる。適応フィルタ部302は、適応フィルタ情報に含まれる重み係数およびオフセットを用いて加重平均によりフィルタ処理を行う手段である。
 適応フィルタ部302は、2つの入力画像を備え、一方がNRF部301で処理された復号画像(NRF後画像)であり、もう一方がNRF部301の処理前の復号画像(NRF前画像)である。なお、ループフィルタ部120、NRF部301、及び適応フィルタ部302の処理単位は、フレーム、スライス、ブロックのいずれかであっても画素であっても構わない。
(NRF部301)
 ここで、NRF部301がデブロッキングフィルタである例について詳細に説明する。
図36は、ブロックの境界部分における画素を模式的に示した図である。図36では、互いに隣接するブロックのうち、一方のブロックの画素を画素Piとし、もう一方のブロックの画素を画素Qiとしている(iは0~nまでの整数)。なお、画素Piおよび画素Qiにおけるiは、ブロック境界からの距離に相当する。
 また、図36では、画素Piおよび画素Qiに対応する画素値をそれぞれ画素値piおよび画素値qiとして示しており、処理対象画素Pkにおける処理前の画素値pkに対応する処理後の画素値をpk´として示している。ここで、kは0からブロックサイズ以下の値をとる整数である(kは0~n)。
 すなわち、図36では、ブロック境界において隣接する2つのブロックのうち、一方のブロックの画素値を画素値pk(kは境界からの距離により定められる値)、他方のブロックの画素値を画素値qk(kは境界からの距離により定められる値)として表している。なお、図36では、境界が水平方向の境界であるのか、または垂直方向の境界であるのかについては区別していない。
 図35は、NRF部301の内部構成を示す図である。NRF部301は、境界エッジ算出部1401と、活性度算出部1402と、NRF画素生成部1403を備える。
 境界エッジ算出部1401は、下記の式(4-1)を用いて、境界のエッジ強度dを算出する。
  d=ABS(p0-q0)        (4-1)
 活性度算出部1402は、下記の式(4-2)を用いて、活性度を表す値apを算出する。活性度は境界およびフィルタ対象画素付近の凹凸の状態もしくは勾配の大きさを算出するものである。
  ap=ABS(p2-p0)        (4-2)
 NRF画素生成部1403は、算出された「d」および「ap」が、所定の閾値α、βに対して、d<α、かつ、ap<βである場合に以下のフィルタ処理を施す。
  p0´=(p2+2×p1+2×p0+2×q0+q1)/8
  p1´=(p2+p1+p0+q0)/4
  p2´=(2×p3+3×p2+p1+p0+q0)/8
 そうではない場合には、以下のフィルタを施す。
  p0´=(2×p1+p0+q0)/4
 NRF部301は、予測ブロックの境界および変換ブロックの境界に対して上記の処理を実行する。より具体的にはまず予測ブロック及び変換ブロックの垂直境界に処理を行い、続いて、予測ブロック及び変換ブロックの水平境界に処理を行う。これによりNRF後画素値Snrfを得る。
 このように構成したNRF部301は、境界のエッジ強度または活性度が大きい場合に強いフィルタがかからないようにフィルタ強度を調整したブロックノイズ低減処理を行うことができる。
(適応フィルタ部302)
 ここで、適応フィルタ部302について図37を用いて詳細に説明する。適応フィルタ部302は、復号画像適応重み付け部701と、NRF後画像適応重み付け部702と、シフト/除算部703を備える。復号画像適応重み付け部701は、タップ数Mおよび重み係数a(k=0~NumM-1)とオフセットoを用いて、フレームメモリ117から入力された復号画像を用いてフィルタ処理を行う。NRF後画像適応重み付け部702は、タップ数Nおよび重み係数b(k=0~NumN-1)と、NRF部301から入力された復号画像を用いてフィルタ処理を行う。
 適応フィルタ部302は、下記の式(7-1)で表現されるフィルタ処理を行う。
Figure JPOXMLDOC01-appb-M000043
 ここでshiftは除算を実行するためのシフト値であり、フィルタ係数の量子化に用いたbit_depthと同じ値が用いられる。total2は、1<<(shift-1)で算出される値で丸め(四捨五入)に用いられる。なお式(7-1)の意味は、前述の式(1-1)とほぼ同じであるが、重み係数ak、bkおよびオフセットが量子化された後であるため、丸め及び除算が追加されている。フィルタ処理自体は式(1-1)と同様であるが演算を容易にするために、式(7-1)では整数化したフィルタ係数を用いることに伴い、丸め及び除算処理が追加されている。
 (重み係数のインデックス)
 ここで、符号化データから復号され、適応フィルタ情報保存部119に保存された、1次元インデックスで表示された重み係数a(k=0~NumM-1)と、2次元インデックスで表示された重み係数a(u、v)の関係について説明する。まず2次元インデックス(u、v)より、次の式で得られるk0を計算し、さらにk0からkを計算することで1次元インデックスkを得る。
 k0=(u+ofst)+(v+ofst)×M
 ここでofst=M/2、u=―M/2~M/2、v=-M/2~M/2。
 k=k0            (k0<(M×M+1)/2)
  =(M×M―1)―k0    (それ以外)
 以下、a(u、v)と表示される演算では、2次元インデックス(u、v)から1次元インデックスkに変換された後の値kを用いて表現されるaを用いる。
 1次元の重み係数b(k=0~NumN-1)と、上記2次元の重み係数b(u、v)との関係も同様であり、次の式で得られるk0を計算し、さらにk0からkを計算することで1次元インデックスkを得る。
 k0=(u+ofst)+(v+ofst)×N
 ここでofst=N/2、i=―N/2~N/2、j=-N/2~N/2。
 k=k0            (k0<(N×N+1)/2)
  =(N×N―1)―k0    (それ以外)
 以下、b(u、v)と表示される演算では、2次元インデックス(u、v)から1次元インデックスkに変換された後の値kを用いて表現されるbを用いる。
 適応フィルタ部302は、復号画像適応重み付け部701、NRF後画像適応重み付け部702、シフト/除算部703を用いて先に説明した式(7-1)の処理を行う。
 復号画像適応重み付け部701は、
式(7-1)の第1項、及び、オフセットの加算
 Σa(u、v)×Sdec(x+u、y+v)+o
を実行する。
NRF後画像適応重み付け部702は式(7-1)の第2項、すなわち、
 Σb(u、v)×Snrf(x+u、y+v)
を実行する。
シフト/除算部703はラウンド付きシフト演算による除算rdiv(x)を行う。この処理は、入力信号をxとすると、以下の関数で表現できる。
 rdiv(x)=(x+total2)>>shift
 このような適応フィルタ処理によって、NRF前画素値とNRF後画素値の両者の空間的な重み演算により効果的に歪みの低減を行うことができる。
(動画像符号化装置8)
 続いて、本発明を適用した画像符号化装置について、図を参照して説明する。
 図27は、動画像符号化装置8の構成を示すブロック図である。動画像復号装置7と同様の部材に関しては、同一の符号を付し、その説明を省略する。
 図27に示すように、動画像符号化装置8は、予測部111と、変換部112と、量子化部113と、可変長符号化部214と、逆量子化部115と、逆変換部116と、フレームメモリ117と、適応フィルタ情報算出部118と適応フィルタ情報保存部119とループフィルタ部120、フィルタ係数予測符号化部211と、減算部107、加算部109とから構成される。
 動画像符号化装置8は、フレームメモリ117に格納された局所復号画像の歪みを低減するループフィルタ部120を備え、ループフィルタ部120を制御するための適応フィルタ情報を格納する適応フィルタ情報保存部119を備える。以下、動画像符号化装置8の動作について説明する。
 動画像符号化装置8に入力された画像はブロックに分解され、以下の処理がなされる。予測部111は、入力ブロックを近似する予測ブロックを生成する。減算部107は、入力ブロックと予測部111から出力される予測ブロックの差分値である差分値ブロックを計算する。
 変換部112は、減算部107から入力された差分値ブロックに対しDCT変換などにより変換係数を算出する。量子化部113は、量子化ステップにより定まるステップに従い、変換係数を量子化する。量子化された変換係数は、可変長符号化部214により符号化され外部に出力される。
 逆量子化部115は、量子化された変換係数を逆量子化する。逆変換部116は、逆量子化された変換係数を逆変換し、残差ブロックを算出する。加算部109は、残差ブロックと予測ブロックの和を計算し、入力ブロックを再生する。再生されたブロックは、フレームメモリ117に格納される。
 適応フィルタ情報算出部118は、適応フィルタ情報を算出する。算出された適応フィルタ情報は、適応フィルタ情報保存部119に格納される。適応フィルタ情報保存部119に格納された適応フィルタ情報に含まれるフィルタ係数のうち、一部もしくは全てはフィルタ係数予測符号化部211で予測差分値に変換される。フィルタ係数もしくはフィルタ係数の予測差分値は、可変長符号化部214において符号化される。可変長符号化部214は、適応フィルタ情報だけでなく予測方法を示す情報と変換係数も符号化する。
 算出された適応フィルタ情報は適応フィルタ情報保存部119に格納される。ループフィルタ部120は、適応フィルタ情報保存部119に保存された適応フィルタ情報を読み出し、その値に従って、フレームメモリ117に格納された局所復号画像にフィルタ処理を行う。フィルタ処理された画像はフレームメモリ117に再度格納される。
 適応フィルタ情報保存部119、ループフィルタ部120の動作は、動画像復号装置7と同一であるので、説明を省略する。
 (フィルタ係数予測符号化部211)
 図38は、フィルタ係数予測符号化部211の構成を示す図である。フィルタ係数予測符号化部211は、フィルタセット内フィルタ係数予測部202と減算部206から構成される。フィルタセット内フィルタ係数予測部202は動画像復号装置7において先に説明した通りであり、フィルタ係数の予測値を算出する。減算部206は、フィルタ係数と予測値の差分を算出する。算出された差分値は、可変長符号化部214において符号化される。
 図39は、フィルタ係数予測符号化部211の別の構成(フィルタ係数予測符号化部211´)を示す図である。フィルタ係数予測符号化部211´は、フィルタセット内フィルタ係数予測部202、フィルタセット間フィルタ係数予測部203、予測方式切替部204、減算部206から構成される。フィルタセット内フィルタ係数予測部202、フィルタセット間フィルタ係数予測部203、予測方式切替部204は動画像復号装置7において先に説明した通りであり、フィルタ係数の予測値を算出する。減算部206は、フィルタ係数と予測値の差分を算出する。算出された差分値は、可変長符号化部214において符号化される。
 (適応フィルタ情報算出部118)
 以下、適応フィルタ情報算出部118の動作を説明する。適応フィルタ情報算出部118は、入力画像Sorgと復号画像SdecおよびNRF後の画素値Snrfから、以下の式(8-1)をより小さくする重み係数af(k=0~NumM-1)とbf(k=0~NumN-1)、オフセットofの推定値を最小二乗法により求める。ここでfはfloatの略であり、最小二乗法では小数点数として重み係数を算出することを意味する。
Figure JPOXMLDOC01-appb-M000044
 ここで、Sorgは原画の画素値、SdecはNRF前画像の画素値、SnrfはNRF後画像の画素値である。(u、v)は、フィルタ対象画素の位置(x、y)からの相対位置を示す。a(u、v)、b(u、v)は各々、相対位置(u、v)に対応するNRF前画素値およびNRF後画素値にかかる重み係数である。oはオフセットである。Rdecは、フィルタ参照領域Rdec、Rnrfはフィルタ参照領域Rnrdである。Rsliceは適応フィルタ処理が行われる領域(フィルタ対象領域)である。フィルタ参照領域Rdec及びRnrfは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、復号画像Sdec及びSnrf上に設定される。フィルタ参照領域RdecはM×Mの矩形領域であり、フィルタ参照領域RnrfはN×Nの矩形領域である。
 なお、aとaf(u、v)の関係、bとbf(u、v)の関係は既に動画像復号装置7の説明で示したとおりである。
 最小二乗法に先立ち、以下の式変形を行う。式(8-1)を重み係数afとbf、オフセットofをパラメータとする以下の式(8-2)に直す。
Figure JPOXMLDOC01-appb-M000045
 ここでak、bkとしては、相対位置(u、v)に対応する重み係数ak、bkを用いる。
 さらに、Σで示される和として、(u、v)に関する和から、kに関する和に置き替える。
ここでkから(u、v)への対応関係は2通りあるため、一方を(uk、vk)、もう一方を(uk´、vk´)と表現する。
 kから(u、v)、(u´、v´)への変換は以下の演算で行われる。まず、以下の式を用いてkからk0とk0´を計算する。
 k0 =k
 k0´=(M×M-1)―k
 次に、k0とk0´から以下の式を用いてu、vを計算する。
 u=(k0%M)-ofst
 v=(k0/M)-ofst
 u´=(k0´%M)-ofst
 v´=(k0´/M)-ofst
 ここで%は剰余を計算する演算、/は除算を行い小数点以下を切り捨てて整数化する演算、ofst=M/2である。
 なお、Snrfに関しては上の式でMをNに置き替えた演算で(u、v)、(u´、v´)を計算する。
 上記の置き替えにより、式(8-2)は式(8-3)として表現することができる。
Figure JPOXMLDOC01-appb-M000046
 最小二乗法では、式(8-3)をパラメータaf、bf、ofの式とみなして、各々のパラメータに対して偏微分を行い、これを0とする。これによって、正規方程式と呼ばれるパラメータの数NumM+NumN+1個の連立方程式が得られる。
 得られた方程式をガウスの消去法などによって解くことにより、afの最適推定値afeと、bfの最適推定値bfe、ofの最適推定値ofeが得られる。
これらを重み係数の組を推定値zfeと呼ぶ。なお、NRF後の画素値Snrfは、ループフィルタ部120内のNRF部301を動作させて算出する。
 最小二乗法の演算は、事前にNRF前画像にかかるフィルタのタップ数MとNRF後画像にかかるフィルタのタップ数Nを特定の値に定めて行われる。但し、最適なMとNの組み合わせを予め定めることは困難であることから、次に示す擬似コードで表現する処理によって可能な全ての組み合わせのMおよびNに対して最小二乗法を行い、最適なMとNの組み合わせを選択することで、最適化を行う。
  COSTMIN=0x7FFFFFFF(十分大きな値、ここでは32ビット符号付き整数の最大値を設定)
  LOOP(M=1、3、5){
    LOOP(N=1、3、5){
      最小二乗法により重み係数zfeを得る
      zfeを式(8-3)に代入して得られる二乗誤差の大きさをCOSTとする。
      IF(COST <COSTMIN){
        重み係数zfeを最適な重み係数zfbestとして保存
        COST=COSTMIN
      }
    }
  }
 ここで算出された最適な重み係数セットをzfbest={afbest、bfbest、obbest}とする。次の式で示される演算で整数化し、適応フィルタ情報保存部119に保存する。
 abest=(int){afbest×(1<<shift)}
 bbest=(int){bfbest×(1<<shift)}
 obest=(int){ofbest×(1<<shift)}
 なお(int)は整数化を示す。
 〔実施形態5〕
(動画像復号装置7´)
 本実施形態に係る動画像復号装置7´の説明に先立ち、本実施形態に係る動画像符号化装置8´によって生成され、動画像復号装置7´によって復号される符号化データのうち適応フィルタ情報の構成について図44を参照して説明する。符号化データの基本的な構成は第4の実施形態と同じく図43の通りであるが、適応フィルタ情報の詳細構成が異なる。
 図44に示すように、フィルタのオンオフを制御するオンオフ情報、予測画像にかかるフィルタのタップ数を示すタップ数PN、残差画像にかかるフィルタのタップ数を示すタップ数EN、NRF後画像にかかるフィルタのタップ数を示すタップ数N、予測画像重み係数c(k=0~NumPN-1)、残差画像重み係数d(k=0~NumEN-1)、NRF後重み係数b(k=0~NumN-1)、オフセットoから構成される。なお、PN、EN、Nは、1、3、5の何れかの値をとるものとし、NumPN、NumENおよびNumNは、予測画像にかかる重み係数の数、残差画像にかかる重み係数の数、NRF後画像にかかる重み係数の数である。なお、タップ数EN、PN、Nのいずれかもしくは全ては明示的に符号化することなく予め決められた固定値を用いても良い。
(第5の実施形態の基本概念)
 続いて、本実施形態における適応フィルタの簡単な説明を行い、本実施形態での適応フィルタで使用される重み係数の予測に関するコンセプトを説明する。
 本発明で用いられる適応フィルタ処理は、予測画像、残差画像、NRF後画像の3つの入力を備えるものであり、簡単には以下の式(10-1)で表現される。詳細については後述する。
Figure JPOXMLDOC01-appb-M000047
 ここで、SALFは適応フィルタ後の画素値、predは予測画像の画素値、errorは残差画像の画素値、SnrfはNRF後画素値である。(u、v)は、フィルタ対象画素の位置(x、y)からの相対位置を示す。c(u、v)、d(u、v)、b(u、v)は各々、相対位置(u、v)に対応する予測画像にかかる重み係数、残差画像にかかる重み係数、NRF後画像にかかる重み係数である。oはオフセットである。Rpredは、予測画像のフィルタ処理において参照される領域(以下、「フィルタ参照領域Rpred」と呼ぶ)を示している。Rerrorは、残差画像のフィルタ処理において参照される領域(以下、「フィルタ参照領域Rerror」と呼ぶ)を示している。Rnrfは、NRF後画像のフィルタ処理において参照される領域(以下、「フィルタ参照領域Rnrd」と呼ぶ)を示している。フィルタ参照領域Rpred、Rerror、Rnrfは、フィルタ後の画素値を算出する対象となる画素(フィルタ対象画素)の位置に応じて、予測画像pred、残差画像error、及びNRF後画像Snrf上に設定される。フィルタ参照領域Rpred、Rerror、Rnrfは各々PN×PNの矩形領域、EN×ENの矩形領域、N×Nの矩形領域である。
 ここで、2次元インデックスu、vの代わりに1次元インデックスkを用いて表すと、式(10-1)は式(10-1´)のように表現できる。
Figure JPOXMLDOC01-appb-M000048
 ここでpred=pred(u、v)、error=error(u、v)、Snrf=Snrf(u、v)である。
 式(10-1´)の両辺をスライス内での平均をとると、以下の式(10-2)が得られる。なお、E(x)はxのスライス平均をとる演算を示す。
Figure JPOXMLDOC01-appb-M000049
 さらに、以下の仮定、式(10-3a)、式(10-3b)、式(10-3c)を置く。
Figure JPOXMLDOC01-appb-M000050
Figure JPOXMLDOC01-appb-M000051
Figure JPOXMLDOC01-appb-M000052
 式(10-2)において、式(10-3a)、式(10-3b)、式(10-3c)を仮定し、オフセットo=0と仮定すると以下の式(10-4)が得られる。
Figure JPOXMLDOC01-appb-M000053
 ここで、以下の式で与えられる寄与率と呼ぶ値、mag_c、mag_d、mag_bを定義する。
  mag_c=E(pred)/E(SALF)        (10-5a)
  mag_d=E(error)/E(SALF)       (10-5b)
  mag_b=E(Snrf)/E(SALF)          (10-5c)
このとき、式(10-4)は、寄与率を用いて以下の式(10-6)で表現される。
Figure JPOXMLDOC01-appb-M000054
 これは、重み係数に寄与率をかけて得られる和(以下、重み係数和と呼ぶ)がほぼ1になることを意味する。
 この入力信号の寄与率を考慮した重み線形和が1であるという性質を利用して重み係数を予測する。
 例えば、NRF後画像にかかる重み係数の一つbiを予測する場合、予測値pred_biを、以下のように得ることができる。なお、iは予測対象の重み係数を示すインデックスで0からNumN-1までの値をとる。
Figure JPOXMLDOC01-appb-M000055
 pred_biに対して変形すると、式(10-7b)が得られる。
Figure JPOXMLDOC01-appb-M000056
 同様にciの予測値pred_ciは、式(10-7c)により得られる。
Figure JPOXMLDOC01-appb-M000057
 同様にdiの予測値pred_diは、式(10-7d)により得られる。
Figure JPOXMLDOC01-appb-M000058
 上記方法では、1つの重み係数が予測可能である。
 以下、2つ以上の重み係数を予測する場合を説明する。予測対象の重み係数をci0、di1、bi2とし、ci0の予測値pred_ci0、djの予測値pred_di1、bi2の予測値pred_bi2とする。i0、i1、i2は予測対象の重み係数を示すインデックスであり、i0は0からNumPN-1まで、i1は0からNumEN-1、i2は0からNumN-1までの値をとる。なお、ここのインデックスは、重み係数和算出部の説明とは異なり、種別毎に個別のインデックスを与えて説明している。
 このとき、式(10-6)から以下(10-8)の式が得られる。
Figure JPOXMLDOC01-appb-M000059
 ここで、ci0=di1=bi2=tである、つまり、予測対象とする複数の重み係数が全て等しいと仮定する。すると、予測値も等しいと考えられることからpred_ci0=pred_di1=pred_bi2=pred_tとなり、式(10-8)は以下の式(10-9)に変形できる。
Figure JPOXMLDOC01-appb-M000060
 さらに変形すると、次の式(10-10)を得る。この式により複数のフィルタ係数が差分値として符号化されている場合においても、予測対象とするフィルタ係数の予測値を算出することができる、
Figure JPOXMLDOC01-appb-M000061
 オフセットの予測においては3入力の場合の重み係数和を以下の式(10-13)で算出する。
Figure JPOXMLDOC01-appb-M000062
 続いて、式(5-3´´)によって、オフセットの予測値pred_oが算出される。
 本発明を適用した動画像復号装置7´について、図40を参照しつつ以下に説明する。図40は、第5の実施形態に係る動画像復号装置7´の構成を示すブロック図である。
 図40に示すように、動画像復号装置7´は、予測部111と、可変長符号化復号部114と、逆量子化部115と、逆変換部116と、フレームメモリ117と、適応フィルタ情報保存部119と、フィルタ係数予測復号部201と、ループフィルタ部120´と、加算部109から構成されている。動画像復号装置7´の動作について以下に説明する。可変長符号化復号部114、逆量子化部115と、逆変換部116と、フレームメモリ117、適応フィルタ情報保存部119、加算部109の第4の実施形態と同じため、説明を省略する。
(ループフィルタ部120´)
 ループフィルタ部120´は、NRF部301と、適応フィルタ部302´から構成される。ループフィルタ部120´の特徴は、適応フィルタ部302´の入力信号として、NRF後画像と、予測画像#111と、残差画像#116の3つの信号を用いることにある。
(適応フィルタ部302´)
 ここで、適応フィルタ部302´について図47を用いて詳細に説明する。適応フィルタ部302´は、予測画像適応重み付け部704と、残差画像適応重み付け部705とNRF後画像適応重み付け部702と、シフト/除算部703を備える。予測画像適応重み付け部704は、タップ数PNおよび重み係数c(k=0~NumPN-1)とオフセットoを用いて、予測部111から入力された予測画像を用いてフィルタ処理を行う。残差画像適応重み付け部702は、タップ数ENおよび重み係数d(k=0~NumEN-1)と残差画像を用いてフィルタ処理を行う。NRF後画像適応重み付け部702は、タップ数Nおよび重み係数b(k=0~NumN-1)と、NRF部301から入力されたNRF後画像を用いてフィルタ処理を行う。なお、第5の実施形態においても対称性を利用することからNumPN=(PN×PN+1)/2、NumEN=(EN×EN+1)/2、NumN=(N×N+1)/2である。
 適応フィルタ部302´は、下記の式(7-1´)で表現されるフィルタ処理を行う。
Figure JPOXMLDOC01-appb-M000063
 ここで、Snrf(x、y)はNRF後画素値、pred(x、y)は予測画像の値、error(x、y)は残差画像の値、SALF(x、y)は適応フィルタ後画素値である。(x、y)はフィルタ対象画素のフレーム内での位置で、フレームの幅w、フレームの高さをhとすると、0<=x<=w-1、0<=y<=h-1をとる。また、(u、v)は、フィルタ対象画素の位置(x、y)からの相対位置を示す。b(u、v)、c(u、v)、d(u、v)は各々、相対位置(u、v)に対応するNRF後画素値にかかる重み係数、予測画像にかかる重み係数、残差画像にかかる重み係数である。oはオフセット、shiftは除算を実行するためのシフト値である。Rpred、Rerror、Rnrfは既に説明したフィルタ参照領域Rpred、フィルタ参照領域Rerror、フィルタ参照領域Rnrfである。
(フィルタ係数予測復号部201)
 フィルタ係数予測復号部201は概念的には第4の実施形態と同じ動作を行うが、細かい部分で動作が異なるため、相違点のみを説明する。
(具体例)
 図46は、具体的なフィルタ係数セットの構成を示す図である。ここでは、NumPN=5、NumEN=1、NumN=13の場合のフィルタ係数セットの例である。構成に示す通り、中心要素にかかる重み係数以外の予測画像にかかる重み係数、中心要素にかかる重み係数以外の残差画像にかかる重み係数、中心要素にかかる重み係数以外のNRF後画像にかかる重み係数、予測画像の中心要素にかかる重み係数、残差画像の中心要素にかかる重み係数、NRF後画像の中心要素にかかる重み係数の順に符号化されている。また、予測画像の中心要素にかかる重み係数cNumPN-1(ここではc4)と、残差画像の中心要素にかかる重み係数dNumEN-1(ここではd0)、NRF後画像の中心要素にかかる重み係数bNumN-1(ここではb12)、オフセットoが予測符号化されており、他のフィルタ係数はそのまま符号化されている。予測符号化されている値はc4´、d0´、b12´、o´というように´付きで表示されている。ここでは、予測対象となるフィルタ係数を符号化データの最後におく。また、符号化データ順、すなわち、c4、d0、b12、oの順に復号する。
 まず、フィルタセット内フィルタ係数予測部202では、式(5-3´)により、予測画像の中心要素にかかる重み係数c4の予測値は以下の式(52)により得られる。
Figure JPOXMLDOC01-appb-M000064
 続いて、式(5-3´)により残差画像の中心要素にかかる重み係数d0の予測値が以下の式(53)により得られる。
Figure JPOXMLDOC01-appb-M000065
 続いて、式(5-3)によりNRF後画像の中心要素にかかる重み係数b0の予測値が以下の式(54)により得られる。
Figure JPOXMLDOC01-appb-M000066
 最後に、式(5-3´´)によりオフセットoの予測値が以下の式(55)により得られる。
Figure JPOXMLDOC01-appb-M000067
 第5の実施形態の適応フィルタ部302´では、予測画像と残差画像とNRF後画像の重み付けを用いて、元々の原画に近い画像を生成する。一般にノイズ低減フィルタであるNRF後画像が、予測画像、残差画像よりも元々の原画に近いことが多い。そのため最大の重み係数は、NRF後画像の中心要素にかかる重み係数bcとなる。
 なお、実際の構成では、処理の簡単化のため、NRF後画像の中心要素にかかる重み係数bcだけを予測する。もしくは、NRF後画像の中心要素にかかる重み係数bcとオフセットoのみを予測する構成としても良い。
(種別特定部601´)
 第5の実施形態では、種別特定部601の代わりに種別特定部601´を用いる。種別特定部601´は重み係数に対応するインデックスlを入力とし、各インデックスlから重み係数の種別情報を次のように出力する。インデックスlが0からNumPN-1までは予測画像であるので、重み係数の種別情報が予測画像であることを示す種別識別子(ここでは3)を出力する。インデックスlがNumPNからNumPN+NumEN-1までは残差画像にかかる係数であるので、重み係数の種別情報が残差画像であることを示す種別識別子(ここでは4)を出力する。インデックスlがNumPN+NumENからNumPN+NumEN+NumN-1まではNRF後画像にかかる係数であるので、重み係数の種別情報がNRF後画像であることを示す種別識別子(ここでは2)を出力する。インデックスlがNumPN+NumEN+NumNの場合にはオフセットであるので、重み係数の種別情報がオフセットであることを示す種別識別子(ここでは5)を出力する。
(種別寄与率算出部602)
 図31は、種別寄与率算出部602で算出される種別寄与率kind_magの値を示す図である。種別寄与率算出部602は種別特定部601´から種別情報を入力し、種別寄与率kind_magを出力する。図31(a)に示すように本実施形態における種別寄与率kind_magは以下のように算出する。
 種別がNRF後画像にかかるフィルタ係数もしくは予測画像にかかるフィルタ係数の場合(種別が2もしくは3の場合)
  kind_mag=1
 種別がそれ以外の場合(種別が4もしくは5の場合)
  kind_mag=0
 また、この実施形態では入力されないが、仮に、NRF前画像にかかるフィルタ係数(種別識別子は1)が入力された場合には、
 種別がNRF後画像にかかるフィルタ係数の場合(種別識別子が1の場合)
  kind_mag=1
 のように動作する。
 ここで、予測画像と残差画像の種別寄与率kind_magは以下のように定められる。予測画像のスライス平均値と、適応フィルタの出力のスライス平均はほぼ等しいと考えられるため、式(6-2)によりNRF前画像にかかるフィルタ係数のkind_magは1と定められる。また、残差画像のスライス平均値は0であると考えられるため、NRF後画像にかかるフィルタ係数のkind_magは0と定められる。
(種別寄与率算出部602´)
 図31(b)は、種別寄与率算出部602で算出される種別寄与率kind_magの値の別の例である。この例の動作を行う種別寄与率算出部602´を以下に説明する。
 種別寄与率算出部602´では、以下の動作を行う。
 種別がNRF前画像にかかるフィルタ係数の場合(種別識別子が1の場合)
  kind_mag=1
 種別がNRF後画像にかかるフィルタ係数の場合(種別識別子が2の場合)
  kind_mag=1
 種別が予測画像の場合(種別識別子が3の場合)
  kind_mag=0.9
 種別が残差画像の場合(種別識別子が4の場合)
  kind_mag=0.1
 種別がそれ以外の場合(種別識別子が5の場合)
  kind_mag=0
 予測画像と残差画像の種別寄与率kind_magを上記のように定めた方法について以下説明する。予測画像predと残差画像errorの和が、復号画像であるから、復号画像をSdecと置くと以下の式になる。
 Sdec=pred+error              (6-2´´)
 この式のスライス平均を算出すると
  E(Sdec)=E(pred)+E(error)    (6-2´)
 となる。ここでE(error)=Aと置くと、式(6-2´)より、
  E(pred)=E(x)―Aとなる。
 これを式(1-2)に代入すると、
  E(SALF)≒Σc(E(Sdec)―A)+Σd×A+Σb×E(Snrf)
となる。
 ここで両辺をE(SALF)で割り、寄与率mag_c、mag_d、mag_bを用いて表現すると、重み係数和に関する条件が得られる。
  Σc×mag_c+Σd×mag_d+Σb×mag_b=1
 ここで、
  mag_d = E(error)/E(SALF)
  mag_c = (E(Sdec)―E(error))/E(SALF)
  mag_b = E(Snrf)/E(SALF)
 である。
 残差画像errorのスライス平均は、フィルタ後画像(SALF)のスライス平均に比べて十分に小さいと考えられるので、ここでは
  mag_d = 0.1
とした。
 この場合、E(Sdec)とE(SALF)はほぼ等しいと考えられるため、
  mag_c = (E(Sdec)/E(SALF)―E(error))/E(SALF)
        = 1 - mag_d
 により、
 mag_c = 0.9
とすることができる。
 なお、他にAとしては0.5以下の値を用いることができ、この場合、以下のように寄与率を定める。
  mag_d = A
  mag_c  = 1-A
(フィルタ係数予測部1503の別の構成)
 フィルタ係数予測部1503の別の構成について以下で説明する。予測対象とする寄与率が小さい場合もしくは0である場合には、上記では、残差画像の重み係数を求める場合には、(式5-3´)を用いても精度が十分ではない可能性がある。この場合には、別の性質に基づいた推定を行う構成が考えられる。
 この構成では、既に復号されている予測画像の重み係数を用いて、残差画像にかかる重み係数を予測する。すなわち、
 残差画像の重み係数の予測値 = 予測画像の重み係数      (5-3´´´)
により予測を行う。重み係数が複数のタップ数から構成されている場合には、対応する位置毎に予測を行う。例えば、残差画像の重み係数の中心要素は、予測画像の重み係数の中心要素から予測する。対応する位置がない場合には0を予測値とする。
 この性質は、式(6-2´´)に基づいて求められたものである。すなわち、予測画像と残差画像の和が復号画像であることから、復号画像に近い値である原画に近い値を重み付けで得るためには、予測画像と残差画像の重み係数が等しい必要がある。この必要に基づいて、式(5-3´´´)が定められている。
 なお、以下の式(5―3´´´´)を用いて、予測画像にかかる重み係数を予測しても構わない。
 予測画像の重み係数の予測値 = 残差画像の重み係数      (5-3´´´´)
(動画像符号化装置8´)
 続いて、本発明を適用した画像符号化装置について、図を参照して説明する。
 図41は、動画像符号化装置8´の構成を示すブロック図である。動画像符号化装置8と同様の部材に関しては、同一の符号を付し、その説明を省略する。
 図41に示すように、動画像符号化装置8´は、予測部111と、変換部112と、量子化部113と、可変長符号化部214と、逆量子化部115と、逆変換部116と、フレームメモリ117と、適応フィルタ情報算出部118´と適応フィルタ情報保存部119とループフィルタ部120´、フィルタ係数予測符号化部211、と減算部107と加算部109とから構成される。予測部111、変換部112、量子化部113、可変長符号化部214、逆量子化部115、逆変換部116、フレームメモリ117、適応フィルタ情報保存部119、ループフィルタ部120´、フィルタ係数予測符号化部211、減算部107、加算部109は、第4の実施形態における動画像符号化装置8および第5の実施形態における動画像復号装置7´と同じ動作であるので説明を省略する。
 (適応フィルタ情報算出部118´)
 以下、適応フィルタ情報算出部118´の動作を説明する。適応フィルタ情報算出部118´は、入力画像Sorgと予測画像pred、残差画像error、NRF後画像Snrfから、以下の式(8-1´)をより小さくする重み係数cf(k=0~NumPN-1)とdf(k=0~NumEN-1)とbf(k=0~NumN-1)、オフセットofの推定値を最小二乗法により求める。ここでfはfloatの略であり、最小二乗法では小数点数として重み係数を算出することを意味する。
Figure JPOXMLDOC01-appb-M000068
 ここで、1次元インデックスkとu、vの関係は既に動画像符号化装置8の説明で示したとおりである。
 最小二乗法に先立ち、式(8-1´)を重み係数cfとdf、bf、オフセットofをパラメータとする以下の式(8-2´)に直す。
Figure JPOXMLDOC01-appb-M000069
 最小二乗法においては、式(8-2´)をパラメータcf、df、bf、ofの式とみなして、各々のパラメータに対して偏微分を行い、これを0とする。これによって、正規方程式と呼ばれるパラメータの数NumPN+NumEN+NumN+1個の連立方程式が得られる。
 得られた方程式をガウスの消去法などによって解くことにより、cfの最適推定値cfeと、dfの最適推定値dfe、bfの最適推定値bfe、ofの最適推定値ofeが得られる。これらを重み係数の組を推定値zfeと呼ぶ。
 最小二乗法の演算は、事前にタップ数PN、EN、及びNを特定の値に定めて行われる。但し、最適なPN、EN、Nの組み合わせを予め定めることは困難であることから、可能な全ての組み合わせに対して最小二乗法を行い、最適なPN、EN、Nの組み合わせを二乗誤差最小やRDコスト最小などの条件に基づいて選択することで、最適化を行う。
 また、以上説明したそれぞれの実施形態において、動画像復号装置および動画像復号装置の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより動画像復号装置や動画像復号装置の制御を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであっても良い。
 (まとめ)
 以上のように、本発明に係る画像フィルタ装置は、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置であって、入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択する選択手段と、上記選択手段によって選択された一または複数の入力画像に対して、当該一または複数の入力画像について最適化されたフィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するフィルタ手段と、を備えていることを特徴としている。
 上記のように構成された本発明に係る画像フィルタ装置は、入力画像として利用可能な複数の入力画像候補のうち、上記入力画像指定情報によって指定される入力画像を選択し、選択された入力画像に対してフィルタ処理を行う。ここで、上記入力画像指定情報は、上記複数の入力画像候補に関連付けられているため、入力画像候補のセット毎に、上記フィルタ手段の作用する入力画像の組み合わせを指定することができる。
 したがって、上記の構成によれば、常に複数の入力画像候補の全てにフィルタを作用させる構成に比べて、フィルタ処理の処理量を低減させることができるという効果を奏する。また、フィルタ処理に用いられるフィルタ係数群は、上記一または複数の入力画像について最適化されたものであるため、高い符号化効率を維持することができるという効果を奏する。
 なお、上記画像フィルタ装置を符号化装置および復号装置の一部として実現する場合には、入力画像候補の組み合わせ、および、フィルタ処理に用いられるフィルタ係数群として、符号化対象画像と上記画像フィルタ装置の生成する出力画像との相違をより小さくするように定められたものを用いる構成とすることができる。このような入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像として用いることにより、符号化装置および復号装置は、予測精度の高い予測画像を生成することができるので、高い符号化効率を維持しつつ、フィルタ処理の処理量を削減することができる。
 また、上記画像フィルタ装置によって参照される上記入力画像指定情報は、入力画像として利用可能な複数の入力画像候補の各々について、上記フィルタ手段が作用するか否かを指定するものである、ことが好ましい。
 上記の構成によれば、上記入力画像指定情報は、入力画像として利用可能な複数の入力画像候補の各々について、上記フィルタ手段が作用するか否かを指定するものであるので、上記画像フィルタ装置の備える上記選択手段は、上記入力画像指定情報を参照して、入力画像として利用可能な複数の入力画像候補の各々について、上記フィルタ装置が作用すべきか否かを判別し、上記フィルタ装置が作用すべき入力画像候補のみを選択する。また、上記フィルタ手段は、そのように選択された入力画像に作用する。したがって、上記の構成によれば、フィルタ処理の処理量を低減することができるという効果を奏する。
 本発明に係る復号装置は、符号化データを復号し、出力画像を生成する復号装置であって、上記画像フィルタ装置と、予測画像を生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像に符号化データから復号された残差画像を加算することによって得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって出力画像を生成する、ことを特徴としている。
 上記のように構成された復号装置の備える画像フィルタ装置は、上記復号画像、および、上記ノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって、出力画像を生成する。また、上記画像フィルタ装置は、上記入力画像について最適化されたフィルタ係数を用いてフィルタ処理を行うので、符号化対象画像との相違の小さい出力画像を生成することにより、高い符号化効率を維持することができるという効果を奏する。
 さらに、上記フィルタ装置が、上記復号画像および上記ノイズ低減済復号画像の双方を入力画像とし、該入力画像に作用する場合には、出力画像に対する上記復号画像の寄与する割合、および、出力画像に対する上記ノイズ低減済復号画像が寄与する割合が最適化されたフィルタ係数群を用いて出力画像が生成されるので、復号画像に対して強すぎるノイズ低減処理や弱すぎるノイズ低減処理が施されることによってノイズ低減済復号画像が生成されているような場合であっても、そのような影響を受けることなく、適切な出力画像を生成することができるという効果を奏する。
 また、上記の構成と同様の構成を有する符号化装置は、符号化対象画像との相違の小さい出力画像を参照して、予測画像を生成することができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができるという効果を奏する。
 また、上記のように構成された復号装置によれば、常に上記復号画像および上記ノイズ低減済復号画像の双方にフィルタ処理を行う構成に比べて、フィルタ処理に必要な処理量を低減することができるという効果を奏する。
 なお、上記ノイズ低減済復号画像としては、上記復号画像に対して非線形デノイジング処理、および、ブロックノイズを低減するデブロッキング処理の何れか一方若しくは双方の処理を行ったものを用いることができる。
 また、上記ノイズ低減済復号画像は、上記復号画像にブロックノイズ低減処理を施すことによって得られた画像である、ことが好ましい。
 上記の構成によれば、上記ノイズ低減済復号画像は、上記復号画像にブロックノイズ低減処理を施すことによって得られた画像であるため、当該ノイズ低減済復号画像に作用することによって生成された出力画像と、符号化対象画像との相違を更に小さくすることができるという更なる効果を奏する。
 また、上記の構成と同様の構成を有する符号化装置は、上記画像フィルタ装置と同様の構成を有する画像フィルタ装置にて符号化対象画像との相違の更に小さい出力画像を生成し、当該出力画像を参照して、予測精度の更に高い予測画像を生成することができるため、符号化効率の更に高い符号化データを生成することができる。
 また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、上記の復号装置の備える画像フィルタ装置は、上記予測画像および上記残差画像のうち、上記入力画像指定情報によって指定される少なくとも一方を、上記復号画像および上記ノイズ低減済復号画像の少なくとも一方とともに入力画像とし、該入力画像に作用することによって出力画像を生成する、ことが好ましい。
 上記の構成によれば、上記画像フィルタ装置は、上記復号画像、および、上記ノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方、および、上記予測画像および上記残差画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、これらの入力画像に作用することによって出力画像を生成するので、出力画像と、符号化対象画像との相違を更に小さくすることができるという更なる効果を奏する。
 また、上記の構成と同様の構成を有する符号化装置は、上記画像フィルタ装置と同様の構成を有する画像フィルタ装置にて符号化対象画像との相違が更に小さい出力画像を生成し、当該出力画像を参照して、予測精度の更に高い予測画像を生成することができるため、符号化効率の更に高い符号化データを生成することができる。
 また、上記の構成を有する復号装置によれば、そのような符号化効率の更に高い符号化データを適切に復号することができる。
 また、上記入力画像指定情報によって指定される入力画像の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、ことが好ましい。
 上記の構成によれば、入力画像の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものであるため、上記のように構成された入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像は、入力画像候補の可能な組み合わせ、および、フィルタ係数群の各々の要素がとり得る値の範囲において、符号化対象画像との相違が最も小さい。したがって、上記のように構成された入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像とし、該参照画像を参照することによって、生成される予測画像の予測精度を更に高めることができる。
 上記の構成と同様の構成を有する入力画像指定情報を参照する符号化装置は、予測精度の更に高い予測画像を生成することができるので、符号化効率の更に高い符号化データを生成することができる。
 また、上記の構成を有する入力画像指定情報を参照する復号装置は、そのような符号化効率の更に高い符号化データを適切に復号することができる。
 なお、上記入力画像指定情報によって指定される一または複数の入力画像候補の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群としては、例えば、入力画像として利用可能な複数の入力画像候補の可能な組み合わせの各々について、符号化対象画像と、上記画像フィルタ装置により生成される出力画像との相違をより小さくするような各フィルタ係数群を符号化装置において算出する構成とし、符号化対象画像との相違が最も小さくなる出力画像に対応する入力画像候補の組み合わせ、および、当該組み合わせについて算出されたフィルタ係数群を用いる構成とすればよい。
 本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置と、予測画像を生成する予測画像生成手段と、入力画像として利用可能な複数の入力画像候補のうち上記画像フィルタ装置が作用する一または複数の入力画像候補を指定する入力画像指定情報を生成する入力画像指定情報生成手段と、符号化対象画像と上記予測画像生成手段によって生成された予測画像との残差画像と共に、上記入力画像指定情報生成手段によって生成された入力画像指定情報を、該残差画像に関連付けて符号化する符号化手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像に上記残差画像を加算することによって得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって出力画像を生成するものであり、上記予測画像生成手段は、上記復号画像または上記出力画像を参照して予測画像を生成するものである、ことを特徴としている。
 上記のように構成された符号化装置の備える画像フィルタ装置は、上記復号画像、および、上記ノイズ低減済復号画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって、出力画像を生成する。また、上記画像フィルタ装置は、上記入力画像について最適化されたフィルタ係数を用いてフィルタ処理を行うので、符号化対象画像との相違の小さい出力画像を生成することにより、高い符号化効率を維持することができるという効果を奏する。
 さらに、上記フィルタ装置が、上記復号画像および上記ノイズ低減済復号画像の双方を入力画像とし、該入力画像に作用する場合には、出力画像に対する上記復号画像の寄与する割合、および、出力画像に対する上記ノイズ低減済復号画像が寄与する割合が最適化されたフィルタ係数群を用いて出力画像が生成されるので、復号画像に対して強すぎるノイズ低減処理や弱すぎるノイズ低減処理が施されることによってノイズ低減済復号画像が生成されているような場合であっても、そのような影響を受けることなく、適切な出力画像を生成することができるという効果を奏する。
 また、上記の構成を有する符号化装置は、符号化対象画像との相違の小さい出力画像を参照して、予測画像を生成することができるので、符号化効率の高い符号化データを生成することができる。
 また、上記のように構成された符号化装置によれば、常に上記復号画像および上記ノイズ低減済復号画像の双方にフィルタ処理を行う構成に比べて、フィルタ処理に必要な処理量を低減することができるという効果を奏する。
 また、上記ノイズ低減済復号画像としては、上記復号画像に対して非線形デノイジング処理、および、ブロックノイズを低減するデブロッキング処理の何れか一方若しくは双方の処理を行ったものを用いることができる。
 また、上記ノイズ低減済復号画像は、上記復号画像にブロックノイズ低減処理を施すことによって得られた画像である、ことが好ましい。
 上記の構成によれば、上記ノイズ低減済復号画像は、上記復号画像にブロックノイズ低減処理を施すことによって得られた画像であるため、当該ノイズ低減済復号画像に作用することによって生成された出力画像と、符号化対象画像との相違を更に小さくすることができるという更なる効果を奏する。
 また、上記の構成を有する符号化装置は、上記画像フィルタ装置にて符号化対象画像との相違の更に小さい出力画像を生成し、当該出力画像を参照して、予測精度の更に高い予測画像を生成することができるため、符号化効率の更に高い符号化データを生成することができる。
 また、上記符号化装置の備える画像フィルタ装置は、上記予測画像、および、上記残差画像のうち、上記入力画像指定情報によって指定される少なくとも一方を、上記復号画像および上記ノイズ低減済復号画像の少なくとも一方とともに入力画像とし、該入力画像に作用することによって出力画像を生成する、ことが好ましい。
 上記の構成によれば、上記画像フィルタ装置は、上記復号画像、および、上記ノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方、および、上記予測画像および上記残差画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、これらの入力画像に作用することによって出力画像を生成するので、出力画像と、符号化対象画像との相違を更に小さくすることができるという更なる効果を奏する。
 また、上記の構成を有する符号化装置は、上記画像フィルタ装置にて符号化対象画像との相違が更に小さい出力画像を生成し、当該出力画像を参照して、予測精度の更に高い予測画像を生成することができるため、符号化効率の更に高い符号化データを生成することができる。
 また、上記入力画像指定情報によって指定される入力画像の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群は、上記符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、ことが好ましい。
 上記の構成によれば、入力画像の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものであるため、上記のように構成された入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像は、入力画像候補の可能な組み合わせ、および、フィルタ係数群の各々の要素がとり得る値の範囲において、符号化対象画像との相違が最も小さい。したがって、上記のように構成された入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像とし、該参照画像を参照することによって、生成される予測画像の予測精度を更に高めることができる。
 上記の構成を有する入力画像指定情報を参照する符号化装置は、予測精度の更に高い予測画像を生成することができるので、符号化効率の更に高い符号化データを生成することができる。
 なお、上記入力画像指定情報によって指定される一または複数の入力画像候補の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群としては、例えば、入力画像として利用可能な複数の入力画像候補の可能な組み合わせの各々について、符号化対象画像と、上記画像フィルタ装置により生成される出力画像との相違をより小さくするような各フィルタ係数群を上記符号化装置において算出する構成とし、符号化対象画像との相違が最も小さくなる出力画像に対応する入力画像候補の組み合わせ、および、当該組み合わせについて算出されたフィルタ係数群を用いる構成とすればよい。
 本発明に係る符号化データのデータ構造は、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置を備える復号装置が参照する符号化データのデータ構造であって、符号化対象画像と予測画像との残差画像を示す残差データと、上記画像フィルタ装置が作用する一または複数の入力画像を指定する入力画像指定情報と、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群であって、上記1または複数の入力画像の各々についてのフィルタ係数群と、を含み、上記画像フィルタ装置は、入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択し、選択された一または複数の入力画像に対して上記フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成する、ことを特徴としている。
 上記のように構成された符号化データを復号する復号装置の備える画像フィルタ装置は、入力画像として利用可能な複数の入力画像候補のうち、上記入力画像指定情報によって指定される入力画像を選択し、選択された入力画像に対してフィルタ処理を行う。ここで、上記入力画像指定情報は、上記複数の入力画像候補に関連付けられているため、入力画像候補のセット毎に、上記フィルタ手段の作用する入力画像の組み合わせを指定することができる。
 したがって、上記の構成によれば、常に複数の入力画像候補の全てにフィルタを作用させる構成に比べて、フィルタ処理の処理量を低減させることができるという効果を奏する。また、フィルタ処理に用いられるフィルタ係数群は、上記一または複数の入力画像について最適化されたものであるため、高い符号化効率を維持することができるという効果を奏する。
 なお、入力画像候補の組み合わせ、および、フィルタ処理に用いられるフィルタ係数群として、符号化対象画像と上記画像フィルタ装置の生成する出力画像との相違をより小さくするように定められたものを用いる構成とすることができる。このような入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像として用いることにより、復号装置は、予測精度の高い予測画像を生成することができるので、高い符号化効率を維持しつつ、フィルタ処理の処理量を削減することができる。
 また、上記入力画像指定情報は、入力画像として利用可能な複数の入力画像候補の各々について、上記画像フィルタ装置が作用するか否かを指定するものである、ことが好ましい。
 上記の構成によれば、上記入力画像指定情報は、入力画像として利用可能な複数の入力画像候補の各々について、上記フィルタ手段が作用するか否かを指定するものであるので、上記画像フィルタ装置は、上記入力画像指定情報を参照して、入力画像として利用可能な複数の入力画像候補の各々について、上記フィルタ装置が作用すべきか否かを判別し、上記フィルタ装置が作用すべき入力画像候補のみを選択する。また、上記画像フィルタ装置は、そのように選択された入力画像に作用する。したがって、上記の構成によれば、フィルタ処理の処理量を低減することができるという効果を奏する。
 また、上記入力画像指定情報が指定する入力画像の組み合わせ、および、上記符号化データに含まれるフィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、ことが好ましい。
 上記の構成によれば、入力画像の組み合わせ、および、上記フィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものであるため、上記のように構成された入力画像指定情報を参照して画像フィルタ装置によって生成された出力画像は、入力画像候補の可能な組み合わせ、および、フィルタ係数群の各々の要素がとり得る値の範囲において、符号化対象画像との相違が最も小さい。したがって、上記のように構成された入力画像指定情報を参照して上記画像フィルタ装置によって生成された出力画像を参照画像とし、該参照画像を参照することによって、生成される予測画像の予測精度を更に高めることができる。
 なお、上記入力画像指定情報によって指定される一または複数の入力画像候補の組み合わせ、および、上記フィルタ係数群としては、例えば、入力画像として利用可能な複数の入力画像候補の可能な組み合わせの各々について、符号化対象画像と、上記画像フィルタ装置により生成される出力画像との相違をより小さくするような各フィルタ係数群を符号化装置において算出する構成とし、符号化対象画像との相違が最も小さくなる出力画像に対応する入力画像候補の組み合わせ、および、当該組み合わせについて算出されたフィルタ係数群を用いればよい。
 また、本発明に係る復号装置は、符号化対象画像と予測画像との残差画像を符号化することによって得られた符号化データを復号し、出力画像を生成する復号装置であって、予測画像を生成する予測画像生成手段と、一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像、上記符号化データを復号することによって得られる残差画像、該予測画像と該残差画像とを加算して得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像から選択された一または複数の入力画像に対して、フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するものであり、上記入力画像の組み合わせ、および、上記フィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、特徴としている。
 上記のように構成された復号装置の備える画像フィルタ装置は、上記予測画像、上記残差画像、上記復号画像、および、上記ノイズ低減済復号画像から選択された一または複数の入力画像に対して、フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するものであり、上記入力画像の組み合わせ、および、上記フィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものであるため、高い符号化効率を維持しつつ、フィルタ処理に必要な処理量を低減することができる。
 また、本発明に係る動画像復号装置は、複数種別の信号を入力可能な適応フィルタと、符号化データからフィルタ係数の可変長符号復号を行う可変長符号復号部と、復号済みのフィルタ係数を用いて復号対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像復号装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴とする。
 上記のように構成された本発明に係る動画像復号装置は、入力画像として複数種別の信号が存在する場合にも適用可能な重み係数和算出手段によって、フィルタ係数を精度よく予測することが可能である。そのため、予測差分値として符号化されるフィルタ係数の符号量を低減することができる。
 また、上記、重み係数算出手段によって用いられる寄与率は、フィルタ係数がかかる信号の種別に応じて定まる種別寄与率と、フィルタ係数がかかる信号の数である参照信号数の積で算出される値であることが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、フィルタ係数がかかる信号の数である参照信号数だけでなく、入力の信号の種別に応じて適当な寄与率を用いて重み係数和を算出するため、フィルタ係数をさらに精度よく予測することが可能である。
 また、前記フィルタ係数予測部では、適応フィルタのフィルタ係数の一つであるオフセットを予測することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、オフセット成分を精度よく予測することが可能である。
 また、前記動画像復号装置は、ノイズ低減フィルタ手段を更に備え、前記ノイズ低減フィルタ手段の出力を前記適応フィルタへ入力することが可能であり、前記フィルタ係数予測部は、前記ノイズ低減フィルタ手段の出力である、NRF後画像の中心要素にかかるフィルタ係数を予測することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、複数種別の信号を入力が可能な適応フィルタのフィルタ係数のうち、最も大きな値になることが多い、ノイズ低減フィルタ手段の出力であるNRF後画像の中心要素にかかるフィルタ係数を精度よく予測することができるため、フィルタ係数の符号量を低減することができる。
 また、前記動画像復号装置は、復号画像とノイズ低減フィルタ手段の出力を前記適応フィルタへ入力することが可能であり、前記フィルタ係数予測部は、復号画像の中心要素にかかるフィルタ係数とNRF後画像の中心要素にかかるフィルタ係数とを予測することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、復号画像とノイズ低減後の復号画像を用いることによって、ノイズ低減強度が調整可能な動画像復号装置において、最も大きな値になることが多い、ノイズ低減フィルタ手段の出力であるNRF後画像の中心要素にかかるフィルタ係数を精度よく予測することができるため、フィルタ係数の符号量を低減することができる。
 また、前記フィルタ係数予測部は、過去に復号したフィルタセットに含まれるフィルタ係数を用いてフィルタ係数の予測を行うフィルタセット間予測部と、同一フィルタセット内で既に復号したフィルタ係数を用いてフィルタ係数の予測を行うフィルタセット内予測部とを備え、前記ノイズ低減フィルタ手段の出力である、NRF後画像の中心要素にかかるフィルタ係数を前記フィルタセット内予測部を用いて予測し、それ以外のフィルタ係数の予測を前記フィルタセット間予測部を用いて予測することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、最も大きな値になることが多い、ノイズ低減フィルタ手段の出力であるNRF後画像の中心要素にかかるフィルタ係数について精度よく予測することが可能なフィルタセット内予測を用い、それ以外のフィルタ係数についてはフィルタセット間予測を用いることによって、小数のフィルタ係数に対して高精度に予測可能であるというフィルタセット内予測と、多くのフィルタ係数に関して予測が可能であるというフィルタセット間予測の両者の特徴を活かすことができる。そのため、フィルタ係数の符号量を低減することができる。
 また、前記動画像復号装置は、予測画像と残差画像とノイズ低減フィルタ手段の出力とを前記適応フィルタの入力とすることが可能であり、前記フィルタ係数予測部は、前記ノイズ低減フィルタ手段の出力である、NRF後画像の中心要素にかかるフィルタ係数を予測することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、予測画像と復号画像とノイズ低減後の復号画像を用いることによって、自由度が高くノイズ低減強度が調整可能な動画像復号装置において、最も大きな値になることが多い、ノイズ低減フィルタ手段の出力であるNRF後画像の中心要素にかかるフィルタ係数を精度よく予測することができるため、フィルタ係数の符号量を低減することができる。
 また、前記動画像復号装置は、前記適応フィルタの入力信号の種別に対する寄与率を算出する寄与率算出部を更に備え、前記寄与率算出部は、復号画像に対する寄与率を1に設定し、NRF後画像に対する寄与率を1に設定することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、入力信号に対して統計的に適当な寄与率を用いて重み係数和を算出することができることから、フィルタ係数を精度よく予測することができるため、フィルタ係数の符号量を低減することができる。
 また、前記動画像復号装置は、前記適応フィルタの入力信号の種別に対する寄与率を算出する寄与率算出部を更に備え、前記寄与率算出部は、予測画像に対する寄与率を1に設定し、残差画像に対する寄与率を0に設定し、NRF後画像に対する寄与率を1に設定することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、入力信号に対して統計的に適当な寄与率を用いて重み係数和を算出することができることから、フィルタ係数を精度よく予測することができるため、フィルタ係数の符号量を低減することができる。
 また、前記動画像復号装置は、前記適応フィルタの入力信号の種別に対する寄与率を算出する寄与率算出部を更に備え、前記寄与率算出部は、0.5以下の所定の値をAとしたとき、予測画像に対する寄与率を1-Aに設定し、残差画像に対する寄与率をAに設定し、NRF後画像に対する寄与率を1に設定することが好ましい。
 上記のように構成された本発明に係る動画像復号装置は、入力信号に対して統計的に適当な寄与率を用いて重み係数和を算出することができることから、フィルタ係数を精度よく予測することができるため、フィルタ係数の符号量を低減することができる。
 また、本発明に係る動画像符号化装置は、複数種別の信号を入力可能な適応フィルタと、予測対象以外のフィルタ係数を用いて前記予測対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像符号化装置であって、前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴としている。
 上記のように構成された本発明に係る動画像符号化装置は、入力画像として複数種別の信号が存在する場合にも適用可能な重み係数和算出手段によって、フィルタ係数を精度よく予測することが可能である。そのため、予測差分値として符号化されるフィルタ係数の符号量を低減することができる。
 また、本発明に係る符号化データのデータ構造は、少なくともオフセットを含む適応フィルタ情報を含む符号化データのデータ構造であって、前記符号化データ中に符号化されたオフセットが、前記オフセット以外のフィルタ係数から算出された重み係数和を用いて予測された差分値であることを特徴としている。
 上記のように構成された本発明に係る符号化データは、オフセットが精度よく予測された差分値として符号化されている。そのため、フィルタ係数の符号量を低減された符号化データとなる。
 また、本発明に係る符号化データのデータ構造は、復号画像にかかるフィルタ係数とNRF後画像にかかるフィルタ係数とを含むフィルタ係数セットを含む適応フィルタ情報を含む符号化データのデータ構造であって、少なくともNRF後画像の中心要素にかかるフィルタ係数が、NRF後画像の中心要素にかかるフィルタ係数以外から算出された重み係数和を用いて予測された差分値であることを特徴としている。
 上記のように構成された本発明に係る符号化データは、最も大きな値となることが多いNRF後画像の中心要素にかかるフィルタ係数が精度よく予測された差分値として符号化されている。そのため、フィルタ係数の符号量を低減された符号化データとなる。
 また、本発明に係る符号化データのデータ構造は、予測画像にかかるフィルタ係数と残差画像にかかるフィルタ係数とNRF後画像にかかるフィルタ係数とを含むフィルタ係数セットを含む適応フィルタ情報を含む符号化データのデータ構造であって、少なくともNRF後画像の中心要素にかかるフィルタ係数が、NRF後画像の中心要素にかかるフィルタ係数以外から算出された重み係数和を用いて予測された差分値であることを特徴としている。
 上記のように構成された本発明に係る符号化データは、最も大きな値となることが多いNRF後画像の中心要素にかかるフィルタ係数が精度よく予測された差分値として符号化されている。そのため、フィルタ係数の符号量を低減された符号化データとなる。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、画像データにフィルタリングを行う画像フィルタに好適に用いることができる。また、符号化データを復号する復号装置、および、符号化データを生成する符号化装置に好適に適用することができる。
1,3,5          動画像復号装置(復号装置)
12             予測画像生成部(予測画像生成手段)
16,36,56       ループフィルタ(画像フィルタ装置)
161,361,561    フィルタ制御部(選択手段)
162,362,562 適応フィルタ用メモリ
163,363,563    適応フィルタ部(フィルタ手段)
164,364,564 ノイズ除去フィルタ部
25             フレームメモリ
2,4,6         動画像符号化装置
21             予測画像生成部(予測画像生成手段)
26,46,66       ループフィルタ(画像フィルタ装置)
261,461,661    フィルタ制御部(選択手段)
262,462,662 適応フィルタ用メモリ
263,463,663    適応フィルタ部(フィルタ手段)
264,464,664 ノイズ除去フィルタ部
25             フレームメモリ
27,47,67  フィルタパラメータ導出部(入力画像指定情報生成手段)
7,7´           動画像復号装置
8,8´          動画像符号化装置
107                減算部
109                加算部
111                予測部
112                変換部
113               量子化部
114            可変長符号化部
115              逆量子化部
116               逆変換部
117            フレームメモリ
118,118´   適応フィルタ情報算出部
119        適応フィルタ情報保存部
120,120´      ループフィルタ部
201,201´   フィルタ係数予測復号部
202  フィルタセット内フィルタ係数予測部
203  フィルタセット間フィルタ係数予測部
204            予測方式切替部
205                加算部
206                減算部
211       フィルタ係数予測符号化部
301               NRF部
302            適応フィルタ部
302´           適応フィルタ部
1401          境界エッジ算出部
1402            活性度算出部
1403          NRF画素生成部
1501         予測対象係数特定部
1502          重み係数和算出部
1503         フィルタ係数予測部
1505            寄与率算出部
1506       対応フィルタ係数参照部
601              種別特定部
602           種別寄与率算出部
603           参照信号数算出部
604                乗算部
701        復号画像適応重み付け部
702      NRF後画像適応重み付け部
703            シフト/除算部
704        予測画像適応重み付け部
705        残差画像適応重み付け部

Claims (28)

  1.  一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置であって、
     入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択する選択手段と、
     上記選択手段によって選択された一または複数の入力画像に対して、当該一または複数の入力画像について定められたフィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するフィルタ手段と、
    を備えていることを特徴とする画像フィルタ装置。
  2.  上記入力画像指定情報は、上記複数の入力画像候補の各々について、上記フィルタ手段が作用するか否かを指定するものである、
    ことを特徴とする請求項1に記載の画像フィルタ装置。
  3.  符号化データを復号し、出力画像を生成する復号装置であって、
     請求項1または2に記載の画像フィルタ装置と、
     予測画像を生成する予測画像生成手段と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像に符号化データから復号された残差画像を加算することによって得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像のうち、上記符号化データから復号された入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって出力画像を生成する、
    ことを特徴とする復号装置。
  4.  上記ノイズ低減済復号画像は、上記復号画像にブロックノイズ低減処理を施すことによって得られた画像である、
    ことを特徴とする請求項3に記載の復号装置。
  5.  上記画像フィルタ装置は、上記予測画像および上記残差画像のうち、上記入力画像指定情報によって指定される少なくとも一方を、上記復号画像および上記ノイズ低減済復号画像の少なくとも一方とともに入力画像とし、該入力画像に作用することによって出力画像を生成する、
    ことを特徴とする請求項3または4に記載の復号装置。
  6.  上記入力画像指定情報によって指定される入力画像の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、
    ことを特徴とする請求項3から5の何れか1項に記載の復号装置。
  7.  符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、
     請求項1または2に記載の画像フィルタ装置と、
     予測画像を生成する予測画像生成手段と、
     入力画像として利用可能な複数の入力画像候補のうち上記画像フィルタ装置が作用する一または複数の入力画像候補を指定する入力画像指定情報を生成する入力画像指定情報生成手段と、
     符号化対象画像と上記予測画像生成手段によって生成された予測画像との残差画像と共に、上記入力画像指定情報生成手段によって生成された入力画像指定情報を、該残差画像に関連付けて符号化する符号化手段と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像に上記残差画像を加算することによって得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像のうち、上記入力画像指定情報によって指定される少なくとも一方を入力画像とし、該入力画像に作用することによって出力画像を生成するものであり、
     上記予測画像生成手段は、上記復号画像または上記出力画像を参照して予測画像を生成するものである、
    ことを特徴とする符号化装置。
  8.  上記ノイズ低減済復号画像は、上記復号画像にブロックノイズ低減処理を施すことによって得られた画像である、
    ことを特徴とする請求項7に記載の符号化装置。
  9.  上記画像フィルタ装置は、上記予測画像および上記残差画像のうち、上記入力画像指定情報によって指定される少なくとも一方を、上記復号画像および上記ノイズ低減済復号画像の少なくとも一方とともに入力画像とし、該入力画像に作用することによって出力画像を生成する、
    ことを特徴とする請求項7または8に記載の符号化装置。
  10.  上記入力画像指定情報によって指定される入力画像の組み合わせ、および、上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群は、上記符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、
    ことを特徴とする請求項7から9の何れか1項に記載の符号化装置。
  11.  一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置を備える復号装置が参照する符号化データのデータ構造であって、
     符号化対象画像と予測画像との残差画像を示す残差データと、
     上記画像フィルタ装置が作用する一または複数の入力画像を指定する入力画像指定情報と、
     上記画像フィルタ装置によるフィルタ処理に用いられるフィルタ係数群であって、上記1または複数の入力画像の各々についてのフィルタ係数群と、
    を含み、
     上記画像フィルタ装置は、
     入力画像として利用可能な複数の入力画像候補から、該複数の入力画像候補に関連付けられた入力画像指定情報によって指定される一または複数の入力画像を選択し、選択された一または複数の入力画像に対して上記フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成する、
    ことを特徴とする符号化データのデータ構造。
  12.  上記入力画像指定情報は、入力画像として利用可能な複数の入力画像候補の各々について、上記画像フィルタ装置が作用するか否かを指定するものである、
    ことを特徴とする請求項11に記載の符号化データのデータ構造。
  13.  上記入力画像指定情報が指定する入力画像の組み合わせ、および、上記符号化データに含まれるフィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、
    ことを特徴とする請求項12に記載の符号化データのデータ構造。
  14.  符号化対象画像と予測画像との残差画像を符号化することによって得られた符号化データを復号し、出力画像を生成する復号装置であって、
     予測画像を生成する予測画像生成手段と、
     一または複数の入力画像に作用することによって一の出力画像を生成する画像フィルタ装置と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像、上記符号化データを復号することによって得られる残差画像、該予測画像と該残差画像とを加算して得られる復号画像、および、該復号画像にノイズ低減処理を施すことによって得られるノイズ低減済復号画像から選択された一または複数の入力画像に対して、フィルタ係数群を用いたフィルタを作用させることによって出力画像を生成するものであり、
     上記入力画像の組み合わせ、および、上記フィルタ係数群は、符号化対象画像と上記出力画像との相違をより小さくするように定められたものである、
    ことを特徴とする復号装置。
  15.  複数種別の信号を入力可能な適応フィルタと、符号化データからフィルタ係数の可変長符号復号を行う可変長符号復号部と、復号済みのフィルタ係数を用いて復号対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像復号装置であって、
     前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴とする動画像復号装置。
  16.  前記重み係数和算出手段で用いられる寄与率は、フィルタ係数がかかる信号の種別に応じて定まる種別寄与率と、フィルタ係数がかかる信号の数である参照信号数の積で算出される値であることを特徴とする請求項15に記載の動画像復号装置。
  17.  前記フィルタ係数予測部は、適応フィルタのフィルタ係数の一つであるオフセットを予測することを特徴とする請求項15または16に記載の動画像復号装置。
  18.  前記動画像復号装置は、ノイズ低減フィルタ手段を更に備え、前記ノイズ低減フィルタ手段の出力を前記適応フィルタへ入力することが可能であり、前記フィルタ係数予測部は、前記ノイズ低減フィルタ手段の出力である、NRF後画像の中心要素にかかるフィルタ係数を予測することを特徴とする請求項15から17に記載の動画像復号装置。
  19.  前記動画像復号装置は、復号画像とノイズ低減フィルタ手段の出力を前記適応フィルタへ入力することが可能であり、前記フィルタ係数予測部は、復号画像の中心要素にかかるフィルタ係数とNRF後画像の中心要素にかかるフィルタ係数とを予測することを特徴とする請求項15から18に記載の動画像復号装置。
  20.  前記フィルタ係数予測部は、過去に復号したフィルタセットに含まれるフィルタ係数を用いてフィルタ係数の予測を行うフィルタセット間予測部と、同一フィルタセット内で既に復号したフィルタ係数を用いてフィルタ係数の予測を行うフィルタセット内予測部とを備え、前記ノイズ低減フィルタ手段の出力である、NRF後画像の中心要素にかかるフィルタ係数を前記フィルタセット内予測部を用いて予測し、それ以外のフィルタ係数の予測を前記フィルタセット間予測部を用いて予測することを特徴とする請求項19に記載の動画像復号装置。
  21.  前記動画像復号装置は、予測画像と残差画像とノイズ低減フィルタ手段の出力とを前記適応フィルタの入力とすることが可能であり、前記フィルタ係数予測部は、前記ノイズ低減フィルタ手段の出力である、NRF後画像の中心要素にかかるフィルタ係数を予測することを特徴とする請求項15から18に記載の動画像復号装置。
  22.  前記適応フィルタの入力信号の種別に対する寄与率を算出する寄与率算出部を更に備え、前記寄与率算出部は、復号画像に対する寄与率を1に設定し、NRF後画像に対する寄与率を1に設定することを特徴とする請求項19または20に記載の動画像復号装置。
  23.  前記適応フィルタの入力信号の種別に対する寄与率を算出する寄与率算出部を更に備え、前記寄与率算出部は、予測画像に対する寄与率を1に設定し、残差画像に対する寄与率を0に設定し、NRF後画像に対する寄与率を1に設定することを特徴とする請求項21に記載の動画像復号装置。
  24.  前記適応フィルタの入力信号の種別に対する寄与率を算出する寄与率算出部を更に備え、前記寄与率算出部は、0.5以下の所定の値をAとしたとき、予測画像に対する寄与率を1-Aに設定し、残差画像に対する寄与率をAに設定し、NRF後画像に対する寄与率を1に設定することを特徴とする請求項21に記載の動画像復号装置。
  25.  複数種別の信号を入力可能な適応フィルタと、予測対象以外のフィルタ係数を用いて前記予測対象のフィルタ係数の予測値を算出するフィルタ係数予測部とを備える動画像符号化装置であって、
     前記フィルタ係数予測部は、フィルタ係数毎に定まる寄与率とフィルタ係数との積和によって算出される重み係数和を算出する重み係数和算出手段を備えることを特徴とする動画像符号化装置。
  26.  少なくともオフセットを含む適応フィルタ情報を含む符号化データのデータ構造であって、
     前記符号化データ中に符号化されたオフセットが、前記オフセット以外のフィルタ係数から算出された重み係数和を用いて予測された差分値であることを特徴とする符号化データのデータ構造。
  27.  復号画像にかかるフィルタ係数とNRF後画像にかかるフィルタ係数とを含むフィルタ係数セットを含む適応フィルタ情報を含む符号化データのデータ構造であって、
     少なくともNRF後画像の中心要素にかかるフィルタ係数が、NRF後画像の中心要素にかかるフィルタ係数以外から算出された重み係数和を用いて予測された差分値であることを特徴とする符号化データのデータ構造。
  28.  予測画像にかかるフィルタ係数と残差画像にかかるフィルタ係数とNRF後画像にかかるフィルタ係数とを含むフィルタ係数セットを含む適応フィルタ情報を含む符号化データのデータ構造であって、
     少なくともNRF後画像の中心要素にかかるフィルタ係数が、NRF後画像の中心要素にかかるフィルタ係数以外から算出された重み係数和を用いて予測された差分値であることを特徴とする符号化データのデータ構造。
     
PCT/JP2011/066020 2010-07-15 2011-07-13 画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造 WO2012008506A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010160730A JP2013201467A (ja) 2010-07-15 2010-07-15 動画像符号化装置および動画像復号装置および符号化データ構造
JP2010-160730 2010-07-15
JP2010-160863 2010-07-15
JP2010160863 2010-07-15

Publications (1)

Publication Number Publication Date
WO2012008506A1 true WO2012008506A1 (ja) 2012-01-19

Family

ID=45469502

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/066020 WO2012008506A1 (ja) 2010-07-15 2011-07-13 画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造

Country Status (1)

Country Link
WO (1) WO2012008506A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167849A1 (en) * 2018-02-28 2019-09-06 Sharp Kabushiki Kaisha Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes
CN112333450A (zh) * 2019-08-05 2021-02-05 腾讯美国有限责任公司 一种视频编解码的方法和装置
US11206421B2 (en) 2012-04-12 2021-12-21 Jvckenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
US11463672B2 (en) 2016-10-04 2022-10-04 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001614A1 (ja) * 2008-07-03 2010-01-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
WO2010143427A1 (ja) * 2009-06-10 2010-12-16 パナソニック株式会社 画像符号化方法、画像復号方法、およびそれらの装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001614A1 (ja) * 2008-07-03 2010-01-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
WO2010143427A1 (ja) * 2009-06-10 2010-12-16 パナソニック株式会社 画像符号化方法、画像復号方法、およびそれらの装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
I. AMONOU ET AL.: "Description of video coding technology proposal by France Telecom", NTT DOCOMO, PANASONIC AND TECHNICOLOR, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A114, 1ST MEETING: DRESDEN, DE, April 2010 (2010-04-01), pages 1 - 42 *
TAKESHI CHUJOH ET AL.: "Specification and experimental results of Quadtree-based Adaptive Loop Filter, ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6, VCEG-AK22", VIDEO CODING EXPERTS GROUP (VCEG) 37TH MEETING, April 2009 (2009-04-01), YOKOHAMA, JAPAN, pages 1 - 11 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11206421B2 (en) 2012-04-12 2021-12-21 Jvckenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
US11831898B2 (en) 2012-04-12 2023-11-28 Jvckenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
US11677926B1 (en) 2016-10-04 2023-06-13 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11463672B2 (en) 2016-10-04 2022-10-04 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11553168B2 (en) 2016-10-04 2023-01-10 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11778158B2 (en) 2016-10-04 2023-10-03 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11863732B1 (en) 2016-10-04 2024-01-02 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11936841B2 (en) 2016-10-04 2024-03-19 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11949846B1 (en) 2016-10-04 2024-04-02 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11962744B2 (en) 2016-10-04 2024-04-16 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11991339B2 (en) 2016-10-04 2024-05-21 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
US11445187B2 (en) 2018-02-28 2022-09-13 Sharp Kabushiki Kaisha Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes
WO2019167849A1 (en) * 2018-02-28 2019-09-06 Sharp Kabushiki Kaisha Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes
CN112333450B (zh) * 2019-08-05 2023-07-14 腾讯美国有限责任公司 一种视频编解码的方法和装置
CN112333450A (zh) * 2019-08-05 2021-02-05 腾讯美国有限责任公司 一种视频编解码的方法和装置

Similar Documents

Publication Publication Date Title
JP6916939B2 (ja) 復号装置、符号化装置、復号方法および符号化方法
JP5875979B2 (ja) フィルタ装置、画像復号装置、画像符号化装置、および、フィルタパラメータのデータ構造
JP7384911B2 (ja) 映像符号化におけるイントラブロックコピーのためのバッファ初期化
JP6335365B2 (ja) 復号装置
JP7405861B2 (ja) 映像符号化におけるイントラブロックコピーのための方向に基づく予測
US11375199B2 (en) Interpolation filter for an inter prediction apparatus and method for video coding
JP2022522738A (ja) 映像符号化におけるイントラブロックコピーの実装形態の態様
JP7359934B2 (ja) 映像符号化におけるイントラブロックコピーのためのサンプル識別
JP2024020308A (ja) 映像符号化におけるイントラブロックコピーのための仮想予測バッファ
WO2020216255A1 (en) Method and apparatus of encoding or decoding with mode dependent intra smoothing filter in intra prediction
JP2023143946A (ja) クロマデブロックフィルタリングのための量子化パラメータオフセット
WO2012008506A1 (ja) 画像フィルタ装置、復号装置、動画像復号装置、符号化装置、動画像符号化装置、および、データ構造
JP2024020420A (ja) 適応ループフィルタリングのための境界位置
JP2024026154A (ja) クロス成分適応ループフィルタリングのためのサンプルパディング
JP7399928B2 (ja) 画像復号装置、画像復号方法及びプログラム
US20220038688A1 (en) Method and Apparatus of Encoding or Decoding Using Reference Samples Determined by Predefined Criteria
WO2011158867A1 (ja) 画像復号装置、及び画像符号化装置
JP2013201467A (ja) 動画像符号化装置および動画像復号装置および符号化データ構造
KR102435316B1 (ko) 이미지 처리 장치 및 방법
JP7384910B2 (ja) 映像符号化におけるイントラブロックコピーのためのバッファ管理
JP2022177180A (ja) 画像復号装置、画像復号方法及びプログラム
JP2014197722A (ja) 画像フィルタ装置、復号装置、符号化装置、および、データ構造
JP2011023842A (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: 11806836

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP