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

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

Info

Publication number
WO2011158657A1
WO2011158657A1 PCT/JP2011/062656 JP2011062656W WO2011158657A1 WO 2011158657 A1 WO2011158657 A1 WO 2011158657A1 JP 2011062656 W JP2011062656 W JP 2011062656W WO 2011158657 A1 WO2011158657 A1 WO 2011158657A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
filter
characteristic value
region
Prior art date
Application number
PCT/JP2011/062656
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
山本 智幸
隆紀 山崎
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to US13/704,169 priority Critical patent/US8995776B2/en
Priority to JP2012520365A priority patent/JPWO2011158657A1/ja
Priority to CN201180029034.8A priority patent/CN102948151B/zh
Priority to EP11795565.8A priority patent/EP2584781A4/en
Publication of WO2011158657A1 publication Critical patent/WO2011158657A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe 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/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
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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 and a decoding device provided with 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 obtained by dividing a slice obtained by dividing an image, a macroblock obtained by dividing the slice, and a macroblock. It is managed by a hierarchical structure consisting of blocks to be encoded, and is usually encoded for each block.
  • a predicted image is usually generated based on a local decoded image obtained by encoding / decoding an input image, and difference data between the predicted image and the input image is encoded. It becomes.
  • methods for generating a predicted image methods called inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction) are known.
  • intra prediction predicted images in a corresponding frame are sequentially generated based on a locally decoded image in the same frame.
  • one prediction direction is selected from prediction directions included in a predetermined prediction direction (prediction mode) group for each prediction unit (for example, block), and A prediction pixel value on the prediction target region is generated by extrapolating the pixel value of the reference pixel in the locally decoded image in the selected prediction direction.
  • inter prediction by applying motion compensation using a motion vector to a reference image in a reference frame (decoded image) in which the entire frame is decoded, a predicted image in a prediction target frame is converted into a prediction unit ( For example, it is generated for each block).
  • Non-Patent Document 2 and Non-Patent Document 3 the (local) decoded image is divided into a plurality of regions, and the activity (Activity) indicating the local randomness of the (local) decoded image in each region is set.
  • an adaptive loop filter Adaptive Loop Filter
  • adaptive filter that performs filter processing while switching the filter coefficient group for each region is disclosed.
  • the filter coefficient group for each region is determined by the encoding device so as to minimize the error between the filtered image in the region and the encoding target image.
  • An encoding device and a decoding device provided with such an adaptive filter generate a prediction image with reference to a filtered decoded image obtained by performing filter processing on the (local) decoded image using the adaptive filter. As a result, it is possible to improve the prediction accuracy and the encoding efficiency.
  • Non-Patent Document 2 and Non-Patent Document 3 are used, the encoding efficiency is not improved or the encoding efficiency is expected to be expected. It had the problem of not improving.
  • 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 provide an image characteristic that does not improve the encoding efficiency even when the filter coefficient group is switched depending on the degree of activity.
  • An object of the present invention is to realize an image filter device capable of improving the coding efficiency for a (local) decoded image, and a decoding device and a coding device including such an image filter device.
  • the inventor does not switch the filter coefficient group according to the local activity level of the (local) decoded image, depending on the image characteristics of the encoding target image. It was found that the coding efficiency can be improved more effectively by switching the filter coefficient group according to the difference in local directionality of the (local) decoded image.
  • an image filter device includes a pixel value of each pixel in an output image, a pixel value in a reference area determined according to the position of the pixel in the input image, and a filter coefficient group.
  • directionality identifying means for identifying the directionality of the input image in each of the plurality of unit areas constituting the input image
  • Classification means for classifying each unit region into any one of a plurality of unit region groups according to which of the plurality of predetermined groups the directionality of the input image belongs to
  • each pixel in the output image Filter means for calculating a pixel value using a filter coefficient group optimized for a unit region group to which the unit region including the pixel belongs. It is characterized in that.
  • the inventor when the directionality of the input image input to the image filter device is different for each region (unit region) constituting the input image, the filter coefficient according to the difference in directionality It has been found that by switching the group, the prediction accuracy of the predicted image generated with reference to the output image can be improved.
  • the direction identification means identifies the directionality of the input image in each of a plurality of unit regions constituting the input image, and the classification means Are classified into any of a plurality of unit area groups according to which of the plurality of predetermined groups belong to, and the filter means determines the pixel value of each pixel in the output image Since the calculation is performed using the optimized filter coefficient group for the unit region group to which the unit region including the pixel belongs, when the directionality of the input image is different for each unit region, it is appropriate according to the directionality. Filter processing can be performed.
  • the image filter device configured as described above, even if the input image has an image characteristic that does not improve the encoding efficiency even when the filter coefficient group is switched depending on the degree of activity, the output The prediction accuracy of the predicted image generated with reference to the image can be improved.
  • the directionality of the input image in each unit region can be defined as a direction orthogonal to the local gradient direction of the input image in each unit region, for example.
  • the gradient of the image is a curved surface ⁇ (x defined in a three-dimensional space having x, y, z as coordinates, where the pixel value of the pixel (x, y) is z (x, y). , Y, z (x, y))
  • Nx, Ny, and Nz respectively represent the total number of pixels in the x direction, the total number of pixels in the y direction, and the maximum value that the pixel value z can take.
  • the directionality of the input image in each unit region can be expressed as a direction in which the correlation between the pixel values of the input image in each unit region is higher.
  • the direction identification means may be configured to directly identify the directionality of the input image in each unit region by detecting an edge of the input image, or the image filter device may perform intra-screen prediction.
  • the image filter device may perform intra-screen prediction.
  • predicted image generation means for generating an intra-predicted image by the above it may be configured to be indirectly identified by the direction indicated by the intra-prediction mode that is referred to when generating the intra-predicted image. It is good also as a structure identified by.
  • the unit area represents each of a plurality of non-overlapping areas constituting the input image.
  • the unit region is a prediction that is a unit for generating a predicted image, for example. It may be a unit (partition), may be a conversion unit that is a unit of frequency conversion, or may be other than those.
  • the decoding device is a decoding device that decodes encoded data and generates a decoded image after filtering, wherein the image filter device and the predicted image in each unit region are represented by the image filter device.
  • a prediction image generation unit that generates a reference image by referring to the generated output image, and the image filter device includes a prediction image generated by the prediction image generation unit, a residual image decoded from the encoded data, and It is characterized in that the decoded image obtained by adding is used as an input image, and the decoded image after filtering is generated as an output image.
  • the image filter device included in the decoding device includes the prediction image generated by the prediction image generation unit and the residual decoded from the encoded data.
  • a decoded image obtained by adding the difference image is used as an input image, and an output image (using a filter coefficient group optimized for each unit region group according to the directionality of the input image (decoded image)) (Decoded image after filtering) is generated, so that even if the directionality of the input image is different for each unit region, an output image suitable as a reference image for generating a predicted image is generated. can do. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the encoding device having the configuration corresponding to the above configuration it is possible to improve the prediction accuracy of the predicted image even when the directionality of the encoding target image in each unit region is different for each unit region. Therefore, 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 is a decoding device that decodes encoded data and generates a decoded image after filtering, and includes the image filter device, and the image filter device corresponds to the input image.
  • a decoded image obtained by adding a prediction image generated by intra prediction with reference to a reference image and a residual image decoded from the encoded data is used as an input image, and the filtered image is output as an output image.
  • the decoded image is generated.
  • the image filter device included in the decoding device includes a prediction image generated by intra prediction and a residual image decoded from the encoded data. Is used as an input image, and an output image (filtered) is obtained using a filter coefficient group optimized for each unit region group according to the directionality of the input image (decoded image). Therefore, even when the directionality of the input image is different for each unit region, an output image suitable as an image to be referred to for generating a predicted image is generated. Can do. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the encoding device having the configuration corresponding to the above configuration it is possible to improve the prediction accuracy of the predicted image even when the directionality of the encoding target image in each unit region is different for each unit region. Therefore, 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 image filter device identifies the directionality of the input image in each unit area based on at least one of the direction indicated by the prediction parameter used in the intra prediction and the shape of each unit area.
  • the directionality of the input image can be identified without performing calculations that refer to pixel values such as edge detection, so that the amount of processing for identifying the directionality is reduced and encoding efficiency is high.
  • the encoded data can be decoded.
  • An encoding apparatus is an encoding apparatus that generates encoded data by encoding a residual image between an encoding target image and a prediction image, the image filter device, and each unit Prediction image generation means for generating the prediction image in the region with reference to the output image generated by the image filter device, the image filter device, the prediction image generated by the prediction image generation means, A decoded image obtained by adding the residual image is used as an input image, and an output image is generated.
  • the image filter apparatus included in the encoding apparatus includes a prediction image generated by the prediction image generation unit, an encoding target image, and a prediction image.
  • a decoded image obtained by adding residual images is used as an input image, and an output image is generated using a filter coefficient group optimized for each unit region group in accordance with the directionality of the input image (decoded image). Therefore, even when the directionality of the input image is different for each unit region, an output image suitable as an image to be referred to for generating a predicted image can be generated. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • An encoding apparatus is an encoding apparatus that generates encoded data by encoding a residual image between an encoding target image and a predicted image, and includes the image filter device.
  • the filter device generates an output image using, as an input image, a decoded image obtained by adding a prediction image generated by intra prediction with reference to a reference image corresponding to the input image and the residual image. It is what is to be done.
  • the image filter device included in the decoding device includes a prediction image generated by intra prediction, a residual between an encoding target image and a prediction image. Since a decoded image obtained by adding images is used as an input image, an output image is generated using a filter coefficient group optimized for each unit region group according to the directionality of the input image (decoded image). Even when the directionality of the input image is different for each unit region, an output image suitable as an image to be referred to for generating a predicted image can be generated. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the image filter device identifies the directionality of the input image in each unit area based on at least one of the direction indicated by the prediction parameter used in the intra prediction and the shape of each unit area.
  • the directionality of the input image can be identified without performing calculations that refer to pixel values such as edge detection, so that the amount of processing for identifying the directionality is reduced and encoding efficiency is high. Encoded data can be generated.
  • the pixel value of each pixel in the output image is calculated from the pixel value in the reference area determined according to the position of the pixel in the input image and the filter coefficient group.
  • a data structure of encoded data referred to by an image filter device comprising: a plurality of filter coefficient groups; and directionality information associated with each of the plurality of filter coefficient groups.
  • Each unit area is classified into one of a plurality of unit area groups according to which of the plurality of predetermined groups the directionality of the input image in each of the plurality of unit areas constituting the input image.
  • the pixel value of each pixel in the output image is calculated using the filter coefficient group that is selected for the unit region group unit area including the pixel belongs, is characterized by.
  • the encoded data according to the present invention configured as described above includes a plurality of filter coefficient groups and directionality information associated with each of the plurality of filter coefficient groups.
  • the image filter device to be referenced selects a filter coefficient group optimized for each of the plurality of unit region groups from the plurality of filter coefficient groups with reference to the directionality information, and each pixel in the output image Is calculated using the filter coefficient group selected for the unit region group to which the unit region including the pixel belongs, and therefore, when the directionality of the input image is different for each unit region, the predicted image It is possible to generate a more suitable output image for generating the image. Therefore, it is possible to improve the prediction accuracy of the prediction image generated with reference to the output image generated by the image filter device according to the present invention configured as described above.
  • An image filter device is an image filter device that generates an output image from an input image generated for each unit region using intra prediction, and the pixel value of each pixel in the output image
  • the shape and size of each unit area is any of a plurality of predetermined groups.
  • Classifying means for classifying each unit area into one of a plurality of unit area groups depending on whether it belongs, and the pixel value of each pixel in the output image is optimized for the unit area group to which the unit area including the pixel belongs
  • the inventor switches the filter coefficient group for each unit region according to the shape and size difference of the unit region (prediction unit) constituting the input image generated for each unit region using intra prediction. Since a more suitable output image for generating a prediction image can be generated, the input image has an image characteristic that does not improve the encoding efficiency even if the filter coefficient group is switched depending on the degree of activity. It has also been found that the prediction accuracy of a predicted image generated with reference to the output image can be improved.
  • the classification unit includes a plurality of unit regions according to which of the plurality of predetermined groups the shape and size of each unit region belong to.
  • the filter means calculates the pixel value of each pixel in the output image using a filter coefficient group optimized for the unit area group to which the unit area including the pixel belongs. Therefore, even if the input image has an image characteristic that does not improve the encoding efficiency even if the filter coefficient group is switched depending on the degree of activity, the prediction accuracy of the predicted image generated with reference to the output image Can be improved.
  • the image filter device includes a filter unit that operates on an input image composed of a plurality of unit regions, and a characteristic value that indicates an image characteristic of the input image in each unit region, and each of the derivation methods
  • Characteristic value calculating means for calculating different first and second characteristic values, and a characteristic that divides the characteristic value area spanned by the first and second characteristic values into a plurality of characteristic value partial areas according to the characteristic value division information
  • a value dividing unit wherein the filter unit sets each pixel value of the output image in each unit region for the characteristic value partial region to which the first and second characteristic values calculated for the unit region belong. It is characterized by calculating using filter coefficients.
  • the image filter device configured as described above divides a characteristic value area spanned by first and second characteristic values having different derivation methods into a plurality of characteristic value partial areas according to characteristic value division information. Then, it operates on the input image in each characteristic value partial area using the filter coefficient set for the characteristic value partial area to which the first and second characteristic values calculated for the unit area belong.
  • the filter processing using the filter coefficient set according to the first and second characteristic values is performed for each unit region, the first and the first input images in each unit region are processed. Even when the second characteristic value varies, it is possible to perform filter processing using an appropriate filter coefficient for each unit region. In addition, it is possible to improve the prediction accuracy of a predicted image generated by referring to the output image of the image filter device configured as described above.
  • first and second characteristic values have different derivation methods, so that a two-dimensional characteristic value region is created. Any two characteristic values that can extend a two-dimensional characteristic value region can be used as the first and second characteristic values.
  • the unit area represents each of a plurality of non-overlapping areas constituting the input image.
  • the unit region is a prediction that is a unit for generating a predicted image, for example. It may be a unit (partition), may be a conversion unit that is a unit of frequency conversion, may be an encoding unit, or may be other than those.
  • the decoding device is a decoding device that decodes encoded data and generates a decoded image after filtering, wherein the image filter device and the predicted image in each unit region are represented by the image filter device.
  • a prediction image generation unit that generates a reference image by referring to the generated output image, and the image filter device includes a prediction image generated by the prediction image generation unit, a residual image decoded from the encoded data, and It is characterized in that the decoded image obtained by adding is used as an input image, and the decoded image after filtering is generated as an output image.
  • the image filter device included in the decoding device includes the prediction image generated by the prediction image generation unit and the residual decoded from the encoded data.
  • the decoded image obtained by adding the difference image is used as an input image, and the characteristic value portion to which the first and second characteristic values calculated for the unit region belong to the input image in each characteristic value partial region Since the output image (filtered decoded image) is generated by acting using the filter coefficient set for the region, the first and second characteristic values of the input image in each unit region vary. Even if it exists, an output image suitable as an image referred in order to generate a prediction image can be generated. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the encoding device having a configuration corresponding to the above configuration, even if the first and second characteristic values for the encoding target image in each unit region are different for each unit region, the predicted image Therefore, it is possible to generate encoded data with high encoding efficiency. Moreover, according to the decoding apparatus having the above configuration, it is possible to appropriately decode such encoded data with high encoding efficiency.
  • An encoding apparatus is an encoding apparatus that generates encoded data by encoding a residual image between an encoding target image and a prediction image, the image filter device, and each unit Prediction image generation means for generating the prediction image in the region with reference to the output image generated by the image filter device, and the image filter device includes the prediction image generated by the prediction image generation means and the prediction image generation device.
  • a decoded image obtained by adding the residual image is used as an input image, and an output image is generated.
  • the image filter device included in the encoding device includes the prediction image generated by the prediction image generation unit, the encoding target image, and the prediction image. And the decoded image obtained by adding the residual images to the input image, and the characteristic value to which the first and second characteristic values calculated for the unit region belong to the input image in each characteristic value partial region
  • an output image decoded image after filtering
  • the first and second characteristic values of the input image in each unit region vary. Even so, it is possible to generate an output image suitable as an image to be referred to for generating a predicted image. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the data structure of the encoded data according to the present invention is a characteristic value indicating an image characteristic in each unit region of an input image composed of a plurality of unit regions, and the first and second derivation methods are different from each other.
  • Characteristic value calculating means for calculating the characteristic value, characteristic value dividing means for dividing the characteristic value area spanned by the first and second characteristic values into a plurality of characteristic value partial areas, and each of the output images in each unit area Reference is made by an image filter device comprising: filter means for calculating a pixel value using a filter coefficient group set for a characteristic value partial region to which the first and second characteristic values calculated for the unit region belong
  • the characteristic value division information referred to by the characteristic value dividing means, wherein the characteristic value division information specifies how to divide the characteristic value area.
  • a filter coefficient used by the filter means is characterized in that it contains a filter coefficient for each of the characteristic values partial region.
  • the image filter device that refers to the encoded data configured as described above has a plurality of characteristic value regions spanned by the first and second characteristic values in accordance with the characteristic value division information included in the encoded data. While dividing into characteristic value partial areas, the input image is filtered using the filter coefficient for each characteristic value partial area included in the encoded data.
  • an appropriate filter process can be performed on the input image using the filter coefficient set for each characteristic value partial region. it can.
  • the image filter device calculates the pixel value of each pixel in the output image from the pixel value in the reference area determined according to the position of the pixel in the input image and the filter coefficient group.
  • directionality identifying means for identifying the directionality of the input image in each of the plurality of unit areas constituting the input image, and the input image in each unit area identified by the directionality identification means
  • Classifying means for classifying each unit region into any of a plurality of unit region groups according to which of the plurality of predetermined groups the directionality, and the pixel value of each pixel in the output image
  • Filter means for calculating using a filter coefficient group optimized for a unit area group to which the unit area including the pixel belongs.
  • the image filter device According to the image filter device, appropriate filter processing can be performed according to the difference in directionality of the input image in each unit region. Therefore, according to the image filter device configured as described above, even if the input image has an image characteristic that does not improve the encoding efficiency even when the filter coefficient group is switched depending on the degree of activity, the output The prediction accuracy of the predicted image generated with reference to the image can be improved.
  • An image filter device is an image filter device that generates an output image from an input image generated for each unit region using intra prediction, and the pixel value of each pixel in the output image
  • the shape and size of each unit area is any of a plurality of predetermined groups.
  • Classifying means for classifying each unit area into one of a plurality of unit area groups depending on whether it belongs, and the pixel value of each pixel in the output image is optimized for the unit area group to which the unit area including the pixel belongs
  • the above image filter device appropriate filter processing can be performed according to the difference in shape and size of each unit region. Therefore, according to the image filter device configured as described above, even if the input image has an image characteristic that does not improve the encoding efficiency even when the filter coefficient group is switched depending on the degree of activity, the output The prediction accuracy of the predicted image generated with reference to the image can be improved.
  • the image filter device includes a filter unit that operates on an input image composed of a plurality of unit regions, and a characteristic value that indicates an image characteristic of the input image in each unit region, and each of the derivation methods
  • Characteristic value calculating means for calculating different first and second characteristic values, and a characteristic that divides the characteristic value area spanned by the first and second characteristic values into a plurality of characteristic value partial areas according to the characteristic value division information
  • a value dividing unit wherein the filter unit sets each pixel value of the output image in each unit region for the characteristic value partial region to which the first and second characteristic values calculated for the unit region belong. Calculate using filter coefficients.
  • the image filter device even when there is a variation in the first and second characteristic values of the input image in each unit region, filter processing using an appropriate filter coefficient is performed for each unit region. Can do.
  • the data structure of the encoded data according to the present invention is a characteristic value indicating an image characteristic in each unit region of an input image composed of a plurality of unit regions, and the first and second derivation methods are different from each other.
  • Characteristic value calculating means for calculating the characteristic value, characteristic value dividing means for dividing the characteristic value area spanned by the first and second characteristic values into a plurality of characteristic value partial areas, and each of the output images in each unit area Reference is made by an image filter device comprising: filter means for calculating a pixel value using a filter coefficient group set for a characteristic value partial region to which the first and second characteristic values calculated for the unit region belong
  • the characteristic value division information referred to by the characteristic value dividing means, wherein the characteristic value division information specifies how to divide the characteristic value area.
  • a filter coefficient used by the filter means includes a filter coefficient for each of the characteristic values partial region.
  • the image filter apparatus that refers to the encoded data configured as described above can perform an appropriate filter process on the input image using the filter coefficient set for each characteristic value partial region.
  • FIG. 1 It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on the 1st Embodiment of this invention. It is a figure which shows the structural example of the encoding data produced
  • (F) is a prediction parameter related to the intra prediction partition among the prediction parameters included in the macroblock layer. Is a diagram showing the configuration, (g) is a diagram showing the configuration of a filter parameters included in the slice header. It is a figure for demonstrating the prediction mode which is a prediction parameter used for intra prediction, Comprising: (a) is a corresponding table
  • segmentation of the 1st step is according to each value of syntax alf_second_split_flag [i0] and alf_second_split_type It is a figure which shows specifically how it is divided
  • (a) is a table
  • (B) is a table showing specific examples of the subdivision points PY1 to PY3 set for each value of the syntax alf_select_split_char
  • (c) is a table indicating the re-set set according to the value of the syntax alf_second_split_val [k].
  • 10 is a table showing specific examples of dividing points PY1 to PY3.
  • Embodiment 1 (Configuration of encoded data) Prior to the description of the video encoding device 2 and the video decoding device 1 according to the present embodiment, the data structure of the encoded data # 1 generated by the video encoding device 2 and decoded by the video decoding device 1 Will be described.
  • the encoded data # 1 generated by the moving image encoding device 2 and decoded by the moving image decoding device 1 includes a sequence layer, a GOP (Group Of Pictures) layer, a picture layer, a slice layer, and a macroblock layer. Has a hierarchical structure.
  • FIG. 2 shows the structure of the encoded data for the layers below the picture layer.
  • 2A to 2G show a picture layer P, a slice layer S, a macroblock layer MB, a macroblock header MBH, a prediction parameter PP of an inter prediction partition, a prediction parameter PP of an intra prediction partition, and a filter parameter FP, respectively.
  • FIG. 1 shows the structure of the encoded data for the layers below the picture layer.
  • 2A to 2G show a picture layer P, a slice layer S, a macroblock layer MB, a macroblock header MBH, a prediction parameter PP of an inter prediction partition, a prediction parameter PP of an intra prediction partition, and a filter parameter FP, respectively.
  • 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 S 1 to S Ns (Ns is the total number of slice layers included in the picture layer P).
  • the picture header PH includes a coding parameter group referred to by the video decoding device 1 in order to determine a decoding method of the target picture.
  • the encoding mode information (entoropy_coding_mode_flag) indicating the variable length encoding mode used in encoding by the moving image encoding device 2 is an example of an encoding parameter included in the picture header PH.
  • 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 macroblock layers MB 1 to MB Nm (Nm is the total number of macroblocks 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 specification information (slice_type) for specifying a slice type
  • POC specification information (pic_order_cnt_lbs, delta_pic_order_cnt, etc.) for specifying the display order (POC: Picture Order Count) of a picture including the target slice
  • POC Picture Order Count
  • the weighting factor designation information pred_weight_table
  • pred_weight_table that designates the weighting factor used when the moving image coding apparatus 2 performs the coding is an example of a coding parameter included in the slice header SH.
  • 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.
  • the slice header SH includes a filter parameter FP that is referred to by the adaptive filter included in the video decoding device 1.
  • the adaptive filter included in the video decoding device 1 classifies each of one or a plurality of divided regions (or partitions) included in the target slice or the target macroblock as one of a plurality of types, as will be described later.
  • the filter processing is performed using different filter coefficient groups for each type.
  • FIG. 2G shows the data structure of the filter parameter FP. As shown in FIG.
  • the said partition is a unit (prediction unit) which produces
  • the said division area is an area
  • the filter on / off information includes (1) region designation information for designating the size and position of the one or a plurality of divided regions in the target slice or each macroblock included in the target slice, and (2) for each divided region ( On / off information for specifying on / off of the filtering process is included for each partition).
  • the filter set number is a number for specifying, for each slice, how to classify one or a plurality of divided regions (or partitions) included in the target slice or the target macroblock.
  • the adaptive filter included in the moving image decoding apparatus 1 refers to the filter set number to determine how many divided regions should be classified, and which filter coefficient group is used in each type of divided region. Can be identified.
  • AI NT-1 (NT is the total number of filter coefficients included in the filter coefficient group I), and (3) offset oI is included.
  • filter coefficient groups with different filter numbers are used for filter processing of divided regions (or partitions) classified into different types.
  • the filter coefficient group 0 and the filter coefficient group 1 are used for filter processing of a divided area classified into type A and a divided area classified into type B different from type A, respectively.
  • Each macroblock layer MB 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 macroblock.
  • the macroblock layer MB includes a skip flag SKIP, a macroblock header MBH, prediction parameters PP 1 to PP NP , and quantization prediction errors QD 1 to QD Nb .
  • Np represents the number of types of partitions (prediction units) included in the target macroblock
  • Nb represents the number of types of blocks (conversion units) included in the target macroblock.
  • the value of the skip flag SKIP is 1, that is, when the target macroblock is a skip block, the macroblock header MBH, the prediction parameters PP 1 to PP NP , and the quantized prediction errors QD 1 to QD in that macroblock layer Nb is omitted.
  • the macroblock header MBH includes an encoding parameter referred to by the video decoding device 1 in order to determine a decoding method of the target macroblock.
  • macroblock type designation information MBT (mb_type) for designating the macroblock type of the target macroblock
  • CBP coded_block_pattern
  • quantization step Quantization parameter difference ⁇ qp (mb_qp_delta) that specifies the size of.
  • the macroblock type designation information MBT includes prediction unit designation information PT and conversion unit designation information TT.
  • the prediction unit designation information PT includes a partition pattern (that is, the size of each partition included in the target macroblock and a position in the target macroblock) into the partition (prediction unit) of the target macroblock, and video coding.
  • the prediction method (L0 unidirectional prediction, L1 unidirectional prediction, bidirectional prediction, intra prediction, etc.) used when the apparatus 2 generates a predicted image in each partition is designated.
  • the partition size is, for example, 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, 4 ⁇ 4 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, 8 ⁇ 1 pixels, and 1 X 8 pixels can be selected.
  • each partition has M ⁇ N pixels (M is an integer equal to or smaller than the number of pixels in the horizontal direction of the target macroblock, and N is an integer equal to or smaller than the number of pixels in the vertical direction of the target macroblock).
  • M is an integer equal to or smaller than the number of pixels in the horizontal direction of the target macroblock
  • N is an integer equal to or smaller than the number of pixels in the vertical direction of the target macroblock.
  • the conversion unit designation information TT designates the division pattern (that is, the size of each block included in the target macroblock and the position in the target macroblock) into the block (conversion unit) of the target macroblock.
  • Each block is 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, 4 ⁇ 4 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, 8 ⁇ 1 pixels, and 1 ⁇ 8 pixels.
  • each block has M ′ ⁇ N ′ pixels (M ′ is an integer less than or equal to the number of pixels on one side of the target macroblock, and N ′ is less than or equal to the number of pixels on the other side of the target macroblock. (Which is an integer).
  • the partition when the macro block is a square area of 16 ⁇ 16 pixels is exemplified, but the present invention is not limited to this.
  • a 64 ⁇ 64 pixel macroblock a 64 ⁇ 64 pixel or 32 ⁇ 32 pixel square area, or 64 ⁇ 32 pixel, 32 ⁇ 64 pixel, 32 ⁇ 16 pixel, or 16 ⁇ 32 pixel
  • the rectangular area is also allowed as a partition or block.
  • the quantization parameter difference ⁇ qp is a difference qp ⁇ qp ′ between the quantization parameter qp in the target macroblock and the quantization parameter qp ′ in the macroblock encoded immediately before the macroblock.
  • Each quantized prediction residual QD n included in the macroblock layer MB is encoded data generated by the moving image encoding apparatus 2 performing the following processes 1 to 3 on the target block.
  • 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 inter prediction partition in which the prediction image is generated by the inter prediction includes a reference image index RI, an estimated motion vector, as shown in FIG.
  • the index PMVI and the motion vector residual MVD are included.
  • the motion vector residual MVD is encoded data generated by the moving image encoding device 2 executing the following processes 4 to 6.
  • Process 4 Select an encoded / decoded locally decoded image (more precisely, an image obtained by performing deblocking processing and adaptive filtering on the encoded / decoded local decoded image)
  • the motion vector mv for the target partition is derived with reference to the selected encoded / decoded local decoded image (hereinafter also referred to as “reference image”).
  • Process 5 An estimation method is selected, and an estimated value (hereinafter also referred to as “estimated motion vector”) pmv of the motion vector mv assigned to the target partition is derived using the selected estimation method.
  • Process 6 The motion vector residual MVD obtained by subtracting the estimated motion vector pmv derived in Process 5 from the motion vector mv derived in Process 4 is encoded.
  • the reference image index RI described above specifies the locally decoded image (reference image) that has been encoded / decoded selected in the process 4, and the estimated motion vector index PMVI described above is selected in the process 5.
  • the estimation methods that can be selected in the processing 5 include: (1) a locally decoded image being encoded / decoded (more precisely, a region that has already been decoded in a locally decoded image being encoded / decoded).
  • a median of a motion vector allocated to a partition adjacent to the target partition hereinafter also referred to as “adjacent partition” is used as an estimated motion vector pmv.
  • a motion vector assigned to a partition (often referred to as a “collocated partition”) occupying the same position as the target partition is used as an estimated motion vector pmv, etc. Is mentioned.
  • the prediction parameter PP related to the partition for which unidirectional prediction is performed includes one reference image index RI, one estimated motion vector index PMVI, and one motion vector residual MVD.
  • the prediction parameters PP for a partition that performs bi-directional prediction include two reference image indexes RI1 and RI2, two estimated motion vector indexes PMVI1 and PMVI2, and two motion vector residuals MVD1. And MVD2.
  • the prediction parameter PP related to an 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. Note that since the types of prediction modes that can be selected for the target partition differ depending on the size of the target partition, the range of values that the prediction index can take also differs depending on the size of the target partition.
  • FIG. 3A shows a correspondence table between the prediction index PI and the prediction mode for each partition size.
  • prediction mode numbers 0 to 11 are assigned to each prediction mode.
  • the prediction index PI is a relative number whose meaning changes depending on the partition size, whereas the prediction mode number is a unique number independent of the partition size, and each prediction mode can be distinguished from each other by the prediction mode number. (Hereinafter, the prediction mode whose prediction mode number is A will be expressed as prediction mode A).
  • the prediction index PI takes one of 0, 1, 2, 3, and 4.
  • prediction index 0 corresponds to prediction mode 0 (DC prediction)
  • prediction index 1 corresponds to prediction mode 1 (plane prediction)
  • prediction index 2 corresponds to prediction mode 2 (direction Corresponding to prediction 0)
  • prediction index 3 corresponds to prediction mode 6 (direction prediction 4).
  • each prediction index PI for each partition size is used. Is associated with one of the prediction modes.
  • the video decoding device 1 may store the correspondence table shown in FIG. 3A in its own memory, and specify a prediction mode to be allocated to the target partition from the size of the target partition and the prediction index. it can.
  • 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 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 13, a motion vector restoration unit 14, a buffer memory 15, an inter prediction image generation unit 16, an intra prediction image generation unit 17, and a prediction method determination unit 18. , An inverse quantization / inverse transform unit 19, an adder 20, a deblocking filter 41, and an adaptive filter 42.
  • the moving picture decoding apparatus 1 is an apparatus for generating moving picture # 2 by decoding encoded data # 1.
  • the variable length code decoding unit 13 decodes the prediction parameter PP related to each partition from the encoded data # 1. That is, for the inter prediction partition, the reference image index RI, the estimated motion vector index PMVI, and the motion vector residual MVD are decoded from the encoded data # 1, and these are supplied to the motion vector restoration unit 14. On the other hand, with respect to the intra prediction partition, (1) size designation information for designating the size of the partition and (2) prediction index designation information for designating the prediction index are decoded from the encoded data # 1, and this is decoded into the intra prediction image. This is supplied to the generation unit 17. Further, the variable length code decoding unit 13 decodes the macroblock type MBT from the encoded data, and supplies this to the prediction method determination unit 18 (not shown).
  • variable length code decoding unit 13 decodes the quantization prediction residual QD for each block and the quantization parameter difference ⁇ qp for the macroblock including the block from the encoded data # 1, and dequantizes and decodes them. This is supplied to the inverse conversion unit 19.
  • the variable length code decoding unit 13 also decodes the filter on / off information, the filter set number, and the filter coefficient group from the encoded data # 1 and supplies them to the adaptive filter 42.
  • the motion vector restoration unit 14 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 remaining motion vector 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 buffer memory 15. The motion vector restoration unit 14 supplies the restored motion vector mv to the inter predicted image generation unit 17 together with the corresponding reference image index RI. For the inter prediction partition that performs bi-directional prediction (weighted prediction), the restored two motion vectors mv1 and mv2 are supplied to the inter prediction image generation unit 17 together with the corresponding reference image indexes RI1 and RI2.
  • the inter prediction image generation unit 16 generates a motion compensation image mc related to each inter prediction partition. Specifically, using the motion vector mv supplied from the motion vector restoration unit 14, the motion compensated image mc from the filtered decoded image P_FL ′ designated by the reference image index RI also supplied from the motion vector restoration unit 14 is used. Is generated.
  • the filtered decoded image P_FL ′ is obtained by performing deblocking processing by the deblocking filter 41 and adaptive filtering processing by the adaptive filter 42 on the decoded image that has already been decoded.
  • the inter prediction image generation unit 16 is an image, and can read out the pixel value of each pixel constituting the filtered decoded image P_FL ′ from the buffer memory 15.
  • the motion compensation image mc generated by the inter prediction image generation unit 16 is supplied to the prediction method determination unit 18 as an inter prediction image Pred_Inter.
  • a motion compensated image mc1 is generated from the filtered decoded image P_FL1 ′ specified by the reference image index RI1 using the motion vector mv1.
  • a motion compensated image mc2 is generated from the filtered decoded image P_FL2 ′ specified by the reference image index RI2 using the motion vector mv2, and (3) weighting between the motion compensated image mc1 and the motion compensated image mc2
  • An inter predicted image Pred_Inter is generated by adding an offset value to the average.
  • the intra predicted image generation unit 17 generates a predicted image Pred_Intra related to each intra prediction partition. Specifically, first, referring to the correspondence table shown in FIG. 3A recorded in its own memory, the size designation information and the prediction index designation information supplied from the variable length code decoding unit 13 are used. Based on the prediction mode, 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 according to the prediction method indicated by the prediction mode. The intra predicted image Pred_Intra generated by the intra predicted image generation unit 17 is supplied to the prediction method determination unit 18.
  • the intra predicted image generation unit 17 supplies the adaptive filter 42 with intra coding mode information IEM that is information indicating the size of the target partition and the prediction mode assigned to the target partition.
  • IEM intra coding mode information
  • the prediction method determination unit 18 determines 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 macroblock type MBT. In the former case, the inter predicted image Pred_Inter generated by the inter predicted image generation unit 16 is supplied to the adder 20 as the predicted image Pred. In the latter case, the inter predicted image generation unit 17 generates the inter predicted image Pred_Inter. The intra predicted image Pred_Intra that has been processed is supplied to the adder 20 as the predicted image Pred.
  • the inverse quantization / inverse transform unit 19 (1) inversely quantizes the quantized prediction residual QD, (2) performs inverse DCT (Discrete Cosine Transform) transform 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 20.
  • the inverse quantization / inverse transform unit 19 derives the quantization step QP from the quantization parameter difference ⁇ qp supplied from the variable length code decoding unit 13.
  • the generation of the prediction residual D by the inverse quantization / inverse transform unit 19 is performed in units of blocks (transform units).
  • the adder 20 generates the decoded image P by adding the prediction image Pred supplied from the prediction method determination unit 18 and the prediction residual D supplied from the inverse quantization / inverse transformation unit 19.
  • the deblocking filter 41 When the difference between the pixel values of pixels adjacent to each other via a block boundary or a macroblock boundary in the decoded image P is smaller than a predetermined threshold, the deblocking filter 41 By performing deblocking processing on the macroblock boundary, an image near the block boundary or the macroblock boundary is smoothed.
  • the image that has been deblocked by the deblocking filter 41 is output to the adaptive filter 42 as a deblocked decoded image P_DB.
  • the adaptive filter 42 performs a filtering process using the filter coefficient decoded from the encoded data # 1 on the deblocked decoded image P_DB supplied from the deblocking filter 41, thereby obtaining the filtered decoded image P_FL. Generate.
  • the image subjected to the filter processing by the adaptive filter 42 is output to the outside as the filtered decoded image P_FL, and is associated with the POC designation information decoded from the encoded data by the variable length code decoding unit 13 in the buffer memory 15. Stored. Since a specific configuration of the adaptive filter 42 will be described later, description thereof is omitted here.
  • the intra-predicted image generation unit 17 uses the pixel value of each pixel belonging to a block that has already been decoded among the pixels constituting the decoded image P, and uses the intra-prediction method specified by the prediction mode assigned to the target partition, An intra predicted image Pred_Intra for the target partition is generated.
  • Each prediction mode can be distinguished from each other by a prediction mode number.
  • the prediction modes DC prediction, plane prediction, direction prediction 0 to 7, TM prediction, scale prediction
  • Direction predictions 0 to 7 indicate prediction methods for generating a predicted image of the target partition by extrapolating decoded pixel values around the target partition in a predetermined direction (prediction direction).
  • FIG. 3B shows prediction directions corresponding to each of the direction predictions 0 to 7. As shown in FIG. 3B, the direction predictions 0 to 7 indicate the decoded pixel values around the target partition by 0 degree, 22.5 degrees, 45 degrees, 67.5 degrees, 90 degrees, respectively.
  • FIG. 4A is a diagram illustrating each pixel (prediction target pixel) of the target partition, which is 4 ⁇ 4 pixels, and pixels (reference pixels) around the target partition.
  • each of the prediction target pixel and the reference pixel is designated by coordinates (x, y).
  • the pixel value of the prediction target pixel at the coordinates (x, y) is represented as pred4x4 [x, y], and the pixel value of the reference pixel at the coordinates (x, y) is represented as p [x, y]. Also, it is assumed that all reference pixels have been decoded.
  • DC prediction prediction mode number 0
  • the intra prediction image generation unit 17 takes the average value of the pixel values of the reference pixels adjacent to the upper side or the left side of the target partition, thereby calculating the pixel of the prediction target pixel. Generate a value.
  • >> represents a right shift operation
  • the value of a >> b is equal to the value obtained by rounding down the decimal part of the value of a ⁇ (2 to the power of b).
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to the DC prediction mode in the AVC standard.
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to the Horizontal prediction mode in the AVC standard.
  • zHD 2 * yx.
  • the symbol * is an arithmetic symbol representing a product (the same applies hereinafter).
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to the Horizontal down prediction mode in the AVC standard.
  • Direction prediction 2 prediction mode number 4
  • the intra predicted image generation unit 17 generates the pixel value of the prediction target pixel by extrapolating the pixel value of the reference pixel in a 45 degree direction.
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to the Diagonal down-right prediction mode in the AVC standard.
  • Direction prediction 3 prediction mode number 5
  • the intra predicted image generation unit 17 generates the pixel value of the prediction target pixel by extrapolating the pixel value of the reference pixel in the direction of 67.5 degrees. .
  • Direction prediction 4 prediction mode number 6
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to the Vertical prediction mode in the AVC standard.
  • Direction prediction 5 prediction mode number 7
  • the intra predicted image generation unit 17 generates the pixel value of the prediction target pixel by extrapolating the pixel value of the reference pixel in the direction of 112.5 degrees. .
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to Vertical left prediction mode in the AVC standard.
  • Direction prediction 6 prediction mode number 8
  • the intra predicted image generation unit 17 generates the pixel value of the prediction target pixel by extrapolating the pixel value of the reference pixel in the direction of 135 degrees.
  • This prediction mode is H.264. H.264 / MPEG-4. It corresponds to the Diagonal down left prediction mode in the AVC standard.
  • Direction prediction 7 prediction mode number 9
  • the intra predicted image generation unit 17 generates the pixel value of the prediction target pixel by extrapolating the pixel value of the reference pixel in the direction of ⁇ 22.5 degrees. To do.
  • each pixel value of the target partition can be generated by a method substantially similar to the method described above.
  • Plain prediction is a prediction mode that can be selected when the target partition is 16 ⁇ 16 pixels.
  • the intra predicted image generation unit 17 uses the pixel value of the decoded reference pixel adjacent to the target partition to determine each pixel value of the target partition in a planar manner. Generate by prediction.
  • BRS DC + planar_delta_y DC represents a pixel value generated by DC prediction.
  • the intra estimated image generation part 17 is good also as a structure which calculates pixel value pred_P (x, y) of an object partition with the following formula
  • Clip1Y Clip1Y (x) Clip3 (0, (1 ⁇ BitDepthY) -1, x)
  • Clip3 (a, b, c) is a clip function that takes the value a when c ⁇ a, takes the value b when c> b, and takes the value c otherwise. is there.
  • BitDepthY takes a value determined according to the bit depth.
  • this example is H.264. H.264 / MPEG-4. This corresponds to Intra_16x16_Plane prediction mode in the AVC standard.
  • TM prediction is a prediction mode that can be selected when the target partition is 4 ⁇ 4 pixels.
  • the intra predicted image generation unit 17 sets a template region around the target partition, and from the decoded image P (or filtered decoded image P_FL), An area most similar to the template area is searched, and each pixel value of the area around the searched area is set as each pixel value of the target partition.
  • the intra predicted image generation unit 17 performs, for example, the following processing.
  • Step S101 First, as shown in FIG. 4B, an inverted L-shaped region composed of pixels adjacent to the left side or upper side of the target partition and pixels sharing the top left vertex of the target partition is set as the template region TR. .
  • Step S102 Subsequently, in the decoded image P (or filtered decoded image P_FL) that has already been decoded, a reference region RR that is the same shape as the template region TR and is most similar to the template region TR is searched.
  • the search of the reference region RR can be performed, for example, by evaluating the sum of absolute differences of pixel values (Sum of Absolute Difference).
  • each pixel value of the 4 ⁇ 4 pixel region where the upper side and the left side are in contact with the reference region RR is set to the corresponding pixel value of the target partition.
  • Scale prediction is a prediction mode that can be selected when the target partition is 16 ⁇ 16 pixels.
  • the intra prediction image generation unit 17 performs (1) inverse quantization and frequency conversion on the quantization coefficient of the reduced image downsampled by the moving image encoding device. Generate image data of the reduced image, and (2) add the average value of each pixel value of the peripheral partition of the target partition and the image data of the reduced image, and then upsample, A prediction image is generated.
  • the intra predicted image generation unit 17 performs, for example, the following processing.
  • Step S201 frequency conversion is performed on residual data that is a difference between image data obtained by down-sampling a 16 ⁇ 16 pixel target partition to 4 ⁇ 4 pixels and an average value of each pixel value of a partition around the target partition.
  • the quantized coefficient Fsr transmitted from the moving picture encoding apparatus, which is the quantized coefficient obtained by the quantization, is decoded.
  • Step S202 Subsequently, the predicted value d is calculated by taking the average value of the pixel values of the partitions around the target partition.
  • Step S203 Subsequently, the quantization coefficient decoded in step S201 is subjected to inverse quantization and inverse frequency conversion, thereby generating residual data B′sr of 4 ⁇ 4 pixels.
  • Step S204 Subsequently, 4 ⁇ 4 pixel image data B ′s is obtained by adding the predicted value d calculated in step S202 and the 4 ⁇ 4 pixel residual data B′sr generated in step S203. Is generated.
  • Step S205 the 16 ⁇ 16 pixel intra-predicted image Pred_Intra for the target partition is generated by up-sampling the 4 ⁇ 4 pixel image data B ′s generated in step S204 to 16 ⁇ 16 pixels.
  • generation part with which the moving image encoder 2 mentioned later is provided performs the following processes about the object partition in which scale prediction was selected.
  • Step S201 ′ First, the 4 ⁇ 4 pixel image data Bs is generated by down-sampling the 16 ⁇ 16 pixel target partition to 4 ⁇ 4 pixels.
  • Step S202 ′ Subsequently, the predicted value d is calculated by taking the average value of the pixel values of the partitions around the target partition.
  • Step S203 ′ Subsequently, residual data Bsr is generated by taking the difference between the image data Bs generated in step S201 ′ and the predicted value d calculated in step S202 ′.
  • Step S204 ′ Subsequently, the residual data Bsr is frequency-transformed and quantized to generate a quantization coefficient.
  • the generated quantization coefficient is transmitted to the video decoding device 1.
  • Step S205 ′ Subsequently, residual data B′sr is generated by performing inverse frequency transform and inverse quantization on the quantization coefficient generated in step S204 ′.
  • image data B ′s is generated by adding the residual data B′sr generated in step S205 ′ and the predicted value d calculated in step S202 ′.
  • Step S207 ′ the image data B ′s generated in step S206 is up-sampled to 16 ⁇ 16 pixels to generate a 16 ⁇ 16 pixel intra-predicted image Pred_Intra.
  • FIG. 5 is a block diagram showing the configuration of the adaptive filter 42.
  • the adaptive filter 42 includes a prediction mode / size accumulation unit 421, an edge direction detection unit 422, an activity calculation unit 423, a region classification unit 424, and a filter processing unit 425.
  • the adaptive filter 42 performs a filtering process using the filter coefficient decoded from the encoded data # 1 on the deblocked decoded image P_DB supplied from the deblocking filter 41, thereby obtaining the filtered decoded image P_FL. Generate.
  • the generation of the filtered decoded image P_FL may be performed in units of macroblocks, an area smaller than the macroblock may be performed as a unit, or an area larger than the macroblock may be performed as a unit.
  • a description will be given by taking as an example the case where the adaptive filter 42 generates the filtered decoded image P_FL in units of macroblocks.
  • the prediction mode / size accumulation unit 421 accumulates the partition size (shape and size) and the prediction mode assigned to the partition indicated by the intra coding mode information IEM supplied from the intra prediction image generation unit 17. .
  • the prediction mode / size storage unit 421 can be configured to store the sizes and prediction modes for all partitions included in the target macroblock.
  • the size of each partition stored in the prediction mode / size storage unit 421 and information including the prediction mode are supplied to the region classification unit 424.
  • each partition and the direction indicated by the prediction mode tend to correlate with the directionality of the decoded image P (or deblocked decoded image P_DB) in each partition.
  • the partition size is horizontally long, such as 8 ⁇ 1 pixels or 8 ⁇ 2 pixels
  • the partition size is 1 ⁇ 8 pixels.
  • the partition size is 1 ⁇ 8 pixels.
  • the partition size is 1 ⁇ 8 pixels.
  • the partition is vertically long, such as 2 ⁇ 8 pixels
  • there is a tendency that an edge in the vertical direction is included in the partition.
  • the direction prediction performed by extrapolating the decoded pixel value in a predetermined direction predetermined direction
  • the size of the partition tends to correlate with the flatness of the decoded image P (or deblocked decoded image P_DB) in each partition. For example, when the partition size is small, the flatness tends to be small, and when the partition size is large, the flatness tends to be large. When the flatness is small, that is, when the activity (described later) is large, the activity is large when the partition size is small, and the activity tends to be small when the partition size is large.
  • some prediction modes tend to correlate with the flatness of the decoded image P (or deblocked decoded image P_DB) in the partition in which the prediction mode is used.
  • partitions predicted by plane prediction and scale prediction tend to have high flatness (low activity).
  • the region classification unit 424 classifies each partition into one or a plurality of types according to the size of each partition and the prediction mode, and a filter coefficient group is included in the target macroblock. Since each divided region or partition is assigned for each type, the adaptive filter 42 is an appropriate filter according to the directionality and flatness of the decoded image P (or deblocked decoded image P_DB) in each partition. Processing can be performed.
  • the edge direction detection unit 422 refers to the region designation information included in the filter on / off information supplied from the variable length code decoding unit 13, and divides the target macroblock in the deblocked decoded image P_DB into one or a plurality of divided regions. Then, edge detection is performed on the image of each divided region. In addition, an angle Theta indicating the edge direction is supplied to the region classification unit 424 for each divided region. Note that only one pixel may be included in the divided region, or a plurality of pixels may be included. In the following, the edge direction detection unit 422 performs each of the case where the divided region (target divided region) that is the target of edge detection includes only one pixel and the case where the target divided region includes a plurality of pixels. The calculation process of the angle Theta will be described.
  • the edge detection unit 422 sets a 3 ⁇ 3 pixel reference region centered on the target pixel, and for each pixel in the reference region,
  • the pixel values Sobel_x and Sobel_y after the Sobel filter are calculated by applying the Sobel filter matrices SFM_x and SFM_y defined by the mathematical expressions (1a) and (1b).
  • Sobel_x ⁇ a + c ⁇ 2 ⁇ d + 2 ⁇ e ⁇ f + h (2a)
  • Sobel_y ⁇ a ⁇ 2 ⁇ b ⁇ c + f + 2 ⁇ g + h (2b)
  • edge angle an angle (hereinafter, also referred to as “edge angle”) Theta indicating the edge direction by the following mathematical formula (3).
  • Theta arctan (Sobel_x / Sobel_y) (3)
  • arctan represents an inverse function of the trigonometric function tan.
  • the angle Theta increases clockwise and is expressed in a range from 0 degrees to 180 degrees (0 ° ⁇ Theta ⁇ 180 °).
  • the edge detection unit 422 When the target divided region includes a plurality of pixels, the edge detection unit 422 first sets a 3 ⁇ 3 pixel reference region for each pixel included in the target divided region, and performs the Sobel for each pixel by the method described above. The filtered pixel values Sobel_x and Sobel_y are calculated.
  • the edge detection unit 422 calculates the edge intensity ES for each pixel by the following formula (4), and uses the pixel values Sobel_x and Sobel_y after the Sobel filter for the pixel having the largest edge intensity ES. Then, the edge angle Theta is calculated by the above equation (3).
  • the edge detection unit 422 determines that there is no edge for the target divided region when the edge intensity ES for all the pixels included in the target divided region is equal to or less than a predetermined threshold, and the determination result Is supplied to the region classification unit 424.
  • the edge detection unit 422 may be configured to output a number (direction index) corresponding to the edge direction without calculating the angle of the edge.
  • the direction index can be generated as follows by dividing the case according to the magnitude relationship between Sobel_y and Sobel_x.
  • the activity calculation unit 423 refers to the region designation information included in the filter on / off information supplied from the variable length code decoding unit 13 and divides the target macroblock in the deblocked decoded image P_DB into one or a plurality of divided regions. Then, an activity ACT is calculated for the image of each divided region.
  • the activity is roughly an index indicating the randomness of the image, and whether there is a large high-frequency component in the conversion coefficient obtained when the DCT conversion is performed on the region including the divided region.
  • the measurement is performed based on the pixel values of adjacent pixels. The greater the difference in pixel value between adjacent pixels, the greater the activity.
  • the calculated activity ACT for each divided region is supplied to the region classification unit 424.
  • the activity calculating unit 423 For example, the activity ACT can be calculated by using the following formula (5a).
  • Equation (5a) corresponds to the evaluation of the activity using the sum of absolute values of adjacent pixel values (Sum of Absolute Difference, SAD) as an index.
  • the activity calculation unit 423 may be configured to calculate the activity ACT by using the following formula (5b).
  • the sum relating to k and l in Equation (5b) indicates the sum for a rectangular region (x direction: 2K + 1 pixel, y direction: 2L + 1 pixel) centered on the pixel of coordinates (i, j). Yes.
  • the sum related to k and l in Expression (5b) may be the total sum for the pixels included in the target divided region.
  • Formula (5b) corresponds to the evaluation of activity using the sum of the modified Laplacians (Sum-Modified Laplacian, SML) as an index.
  • the activity calculation unit 423 calculates the activity ACT for each partition included in the target macroblock.
  • the area classification unit 424 includes (1) the size of each partition supplied from the prediction mode / size storage unit 421, (2) the prediction mode assigned to each partition supplied from the prediction mode / size storage unit 421, (3 ) Based on the edge angle Theta supplied from the edge direction detection unit 422 and (4) the activity ACT supplied from the activity calculation unit 423, each divided region or each partition included in the target macroblock is determined. It is classified into one or a plurality of types (hereinafter also referred to as “divided region groups”). The classification of each divided region or each partition by the region classification unit 424 is performed with reference to the filter set number decoded from the encoded data # 1 by the variable length code decoding unit 13.
  • a direction index may be used instead of the edge angle Theta.
  • the direction index 0 and the edge angle are set when the edge angle Theta is (0 ° ⁇ Theta ⁇ 22.5 °, or 157.5 ° ⁇ Theta ⁇ 180 °).
  • edge angle Theta is A similar classification may be performed by replacing the case of (112.5 ° ⁇ Theta ⁇ 157.5 °) with the direction index 3.
  • classification information indicating which type each divided region or each partition included in the target macroblock is classified is supplied to the filter processing unit 425 together with the filter coefficient group assigned to each divided region or each partition. Is done.
  • the region classification unit 424 determines each partition based on the size of each partition, the prediction mode assigned to each partition, and the activity ACT of each partition. Are classified into one of a plurality of types, and when inter prediction is applied to the target macroblock, a plurality of divided regions are classified based on the edge angle in each divided region and the activity ACT of each divided region.
  • the present embodiment is not limited to this.
  • the configuration of the adaptive filter 42 is exemplified by the configuration shown in FIG. 5, but the present embodiment is not limited to this (hereinafter, the adaptive filter 42 shown in FIG.
  • the configuration is also referred to as a basic configuration of the adaptive filter 42).
  • the adaptive filter 42 includes a prediction mode size accumulation unit 421 among the prediction mode / size accumulation unit 421, the edge direction detection unit 422, and the activity calculation unit 423 in the configuration illustrated in FIG. 5.
  • the configuration of the adaptive filter 42 shown in FIG. 6 is also referred to as a first modification of the adaptive filter 42).
  • the adaptive filter 42 includes only the edge direction detection unit 422 among the prediction mode / size accumulation unit 421, the edge direction detection unit 422, and the activity calculation unit 423 in the configuration illustrated in FIG. 5. (Hereinafter, the configuration of the adaptive filter 42 shown in FIG. 7 is also referred to as a second modification of the adaptive filter 42).
  • the adaptive filter 42 includes an edge direction detection unit 422 and a prediction mode / size storage unit 421, an edge direction detection unit 422, and an activity calculation unit 423 in the configuration shown in FIG. Only the activity calculation unit 423 may be included (hereinafter, the configuration of the adaptive filter 42 illustrated in FIG. 8 is also referred to as a third modification of the adaptive filter 42).
  • the adaptive filter 42 includes a prediction mode / size storage unit among the prediction mode / size storage unit 421, the edge direction detection unit 422, and the activity calculation unit 423 in the configuration shown in FIG. Only the configuration 421 and the activity calculation unit 423 may be employed (hereinafter, the configuration of the adaptive filter 42 illustrated in FIG. 9 is also referred to as a fourth modification of the adaptive filter 42).
  • the encoded data # 1 includes a flag indicating whether or not the classification process has been performed, and the area classification unit 424 refers to the flag and includes the following (classification process example 1) to (classification process example 6): Any one of the classification processes may be performed.
  • FIG. 11 is a diagram for explaining the classification processing by the region classification unit 424 in this example, in which (a) is a table showing classification when the filter set number is 0, and (b) is It is a table
  • the region classification unit 424 classifies all the divided regions included in the target macroblock as type 0 as illustrated in FIG.
  • the region classification unit 424 divides the edge angle Theta so that the edge angle Theta satisfies (0 ° ⁇ Theta ⁇ 45 ° or 135 ° ⁇ Theta ⁇ 180 °) as shown in FIG. The region is classified as type 0, and the divided region where the edge angle Theta satisfies (45 ° ⁇ Theta ⁇ 135 °) is classified as type 1.
  • the region classification unit 424 determines that the edge angle Theta is (0 ° ⁇ Theta ⁇ 22.5 °, or 157.5 ° ⁇ Theta ⁇ 180 °. ) Are classified into type 0, and divided regions satisfying the edge angle Theta (22.5 ° ⁇ Theta ⁇ 67.5 °) are classified into type 1 and the edge angle Theta is (67.5 °). A divided region satisfying ⁇ Theta ⁇ 112.5 °) is classified as type 2, and a divided region satisfying an edge angle Theta (112.5 ° ⁇ Theta ⁇ 157.5 °) is classified as type 3.
  • the divided area can be classified as type 0 (see below). The same applies to the classification processing example).
  • the adaptive filter 42 for performing the processing of this example the adaptive filter 42 having the basic configuration shown in FIG. 5 may be used, the second modification shown in FIG. 7 may be used, and FIG. A third modification shown in FIG. Among the (classification processing example 1) to (classification processing example 6), when only the processing of this example is performed, the configuration of the adaptive filter 42 is simplified by using the modification shown in FIG. Can do.
  • the region classification unit 424 classifies each divided region included in the target macroblock based on the filter set number, the edge angle Theta of each divided region, and the activity ACT of each divided region.
  • FIG. 12 is a diagram for explaining the classification processing by the region classification unit 424 in this example, in which (a) is a table showing classification when the filter set number is 0, and (b) is FIG. 4 is a table showing classification when the filter set number is 1, FIG. 5C is a table showing classification when the filter set number is 2, and FIG. 4D is a case where the filter set number is 3.
  • FIG. It is a table
  • the region classification unit 424 classifies all the divided regions included in the target macroblock as type 0 as illustrated in FIG.
  • the region classification unit 424 classifies the divided regions whose activity ACT is equal to or less than a predetermined threshold TH as type 0, and the activity ACT Is divided into type 1 where the edge angle Theta satisfies (0 ° ⁇ Theta ⁇ 45 °, or 135 ° ⁇ Theta ⁇ 180 °), and the activity ACT is A divided region that is larger than the threshold TH and that satisfies the edge angle Theta (45 ° ⁇ Theta ⁇ 135 °) is classified as type 2.
  • the region classification unit 424 classifies divided regions whose activity ACT is equal to or less than a predetermined first threshold TH1 as type 0, Divided areas whose activity ACT is larger than the second threshold TH2 that is larger than the first threshold are classified as type 5.
  • the region classification unit 424 classifies the divided regions whose activity ACT is larger than the first threshold value and is equal to or smaller than the second threshold value as follows. That is, the divided area where the edge angle Theta satisfies (0 ° ⁇ Theta ⁇ 22.5 ° or 157.5 ° ⁇ Theta ⁇ 180 °) is classified as type 1, and the edge angle Theta is (22.5 ° ⁇ Theta ⁇ 67.5 °) is classified into type 2, and the divided region where edge angle Theta satisfies (67.5 ° ⁇ Theta ⁇ 112.5 °) is classified as type 3 to obtain edge angle. Divided regions in which Theta satisfies (112.5 ° ⁇ Theta ⁇ 157.5 °) are classified as type 4.
  • each divided region included in the target macroblock is classified into one type, and the activity level is larger than the predetermined threshold value. Only, each divided region included in the target macroblock is classified into a plurality of types according to the directionality measured by the edge angle. This is because the merit of using the image directionality is small when the activity is small, and the merit of using the image directionality is large when the activity is large.
  • the adaptive filter 42 for performing the processing of this example a filter having the basic configuration shown in FIG. 5 may be used, or a third modification shown in FIG. 8 may be used.
  • the configuration of the adaptive filter 42 is simplified by using the modification shown in FIG. Can do.
  • the region classification unit 424 classifies each partition included in the target macroblock based on the filter set number and the size of each partition.
  • FIG. 13 is a diagram for explaining the classification processing by the region classification unit 424 in this example, where (a) is a table showing classification when the filter set number is 0, and (b) is It is a table
  • (a) is a table showing classification when the filter set number is 0, and
  • (c) is a table
  • the region classification unit 424 classifies the 16 ⁇ 16 pixel partition and the 8 ⁇ 8 pixel partition into type 0 as illustrated in FIG.
  • the pixel partition is classified as type 1
  • the 8 ⁇ 1 pixel partition is classified as type 2
  • the 1 ⁇ 8 pixel partition is classified as type 3.
  • each partition is classified into a plurality of types according to the size and shape of each partition included in the target macroblock.
  • classifying each partition according to the size of the partition depends on the activity of the image.
  • classifying each partition according to the shape of the partition classifies each partition according to the directionality of the image.
  • this example uses the correlation between the partition size and the activity, and the correlation between the partition shape and the directionality, without substantially referring to the activity and directionality. Classification is performed according to activity and directionality.
  • the adaptive filter 42 for performing the processing of this example the adaptive filter 42 having the basic configuration shown in FIG. 5 may be used, the first modification shown in FIG. 6 may be used, and FIG. A fourth modification shown in FIG.
  • FIG. 4 When at least one of the processing of this example, (classification processing example 4), and (classification processing example 5) is performed among (classification processing example 1) to (classification processing example 6), it is shown in FIG.
  • the configuration of the adaptive filter 42 can be simplified.
  • the region classification unit 424 classifies each partition included in the target macroblock based on the filter set number and the prediction mode assigned to each partition.
  • FIG. 14 is a diagram for explaining the classification processing by the region classification unit 424 in this example, where (a) is a table showing classification when the filter set number is 0, and (b) is It is a table
  • FIG. 14 is a diagram for explaining the classification processing by the region classification unit 424 in this example, where (a) is a table showing classification when the filter set number is 0, and (b) is It is a table
  • the region classification unit 424 classifies all partitions included in the target macroblock as type 0 as illustrated in FIG.
  • the region classification unit 424 classifies the partition to which any one of the DC prediction, the plane prediction, and the scale prediction is applied as type 0
  • a partition to which direction prediction 0 is applied is classified as type 1
  • a partition to which direction prediction 4 is applied is classified as type 2
  • a partition to which any one of direction predictions 1 to 3 is applied is classified as type 3
  • a partition to which any of the direction predictions 5 to 7 is applied is classified as type 4
  • a partition to which the TM prediction is applied is classified as type 5.
  • the tendency that the degree of activity decreases in a specific prediction mode is used. That is, the specific prediction mode in which the activity tends to be small and the other prediction modes are classified into different types.
  • the tendency that the degree of activity decreases in the case of DC prediction, plane prediction, and scale prediction is used.
  • plane prediction, and Different types may be assigned for scale prediction and DC prediction.
  • DC prediction is assigned to different types, it is better to assign type 1 when the filter set number is 1 and type 5 when the filter set number is 2.
  • the adaptive filter 42 for performing the processing of this example the adaptive filter 42 having the basic configuration shown in FIG. 5 may be used, the first modification shown in FIG. 6 may be used, and FIG. A fourth modification shown in FIG.
  • FIG. 3 When at least one of the processing of this example, (classification processing example 3), and (classification processing example 5) is performed among (classification processing example 1) to (classification processing example 6), it is shown in FIG.
  • the configuration of the adaptive filter 42 can be simplified.
  • the region classification unit 424 classifies each partition included in the target macroblock based on the filter set number, the size of each partition, and the prediction mode assigned to each partition.
  • FIG. 15 is a diagram for explaining the classification processing by the region classification unit 424 in this example, in which (a) is a table showing classification when the filter set number is 0, and (b) is FIG. 4 is a table showing classification when the filter set number is 1, FIG. 5C is a table showing classification when the filter set number is 2, and FIG. 4D is a case where the filter set number is 3.
  • FIG. (E) is a table showing the classification when the filter set number is 4.
  • the region classification unit 424 classifies the partition of 16 ⁇ 16 pixels and the partition of 8 ⁇ 8 pixels into type 0 as shown in FIG.
  • the pixel partition, the 8 ⁇ 1 pixel partition, and the 1 ⁇ 8 pixel partition are classified as type 1.
  • the area classification unit 424 has a size of either 16 ⁇ 16 pixels or 8 ⁇ 8 pixels, as shown in FIG.
  • a partition to which any of the scale predictions is applied is classified as type 0, and the size is either 16 ⁇ 16 pixels or 8 ⁇ 8 pixels, and prediction modes other than DC prediction, plane prediction, and scale prediction are applied.
  • the classified partition is classified as type 1, and the size is any of 4 ⁇ 4 pixels, 8 ⁇ 1 pixels, and 1 ⁇ 8 pixels, and any of DC prediction, plane prediction, and scale prediction is applied.
  • the partition is classified as type 2 and the size is any of 4 ⁇ 4 pixels, 8 ⁇ 1 pixels, and 1 ⁇ 8 pixels, and prediction other than DC prediction, plane prediction, and scale prediction Over soil to classify the applied partition to type 3.
  • the region classification unit 424 selects a partition whose size is any of 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4 pixels. Classify as follows. That is, a partition to which any one of DC prediction, plane prediction, and scale prediction is applied is classified into type 0, a partition to which direction prediction 0 is applied is classified into type 1, and a partition to which direction prediction 4 is applied is classified. A partition that is classified into type 2 and to which any one of direction predictions 1 to 3 and 5 to 7 is applied is classified into type 3, and a partition to which TM prediction is applied is classified into type 4.
  • the region classification unit 424 converts a partition having a size of 8 ⁇ 1 pixels into a type 1 (that is, a size of 16 ⁇ 16 pixels, 8 ⁇ 8 pixels, and 4 ⁇ 4). Any of the pixels is classified into the same type as the partition to which the direction prediction 0 is applied), and the partition whose size is 1 ⁇ 8 pixels is type 2 (that is, the size is 16 ⁇ 16 pixels, 8 ⁇ 8 pixels) And the same type as the partition to which the direction prediction 4 is applied).
  • the region classification unit 424 classifies a partition whose size is either 16 ⁇ 16 pixels or 8 ⁇ 8 pixels as follows. . That is, a partition to which any one of DC prediction, plane prediction, and scale prediction is applied is classified into type 0, a partition to which direction prediction 0 is applied is classified into type 1, and a partition to which direction prediction 4 is applied is classified. Partitions are classified as type 2, partitions to which any of direction predictions 1 to 3 is applied are classified as type 1, partitions to which any of direction predictions 5 to 7 are applied are classified as type 2, and TM prediction is applied. The assigned partition is classified into type 3.
  • the area classification unit 424 classifies the partition having a size of 4 ⁇ 4 pixels as follows. That is, a partition to which any one of DC prediction, plane prediction, and scale prediction is applied is classified as type 4, a partition to which direction prediction 0 is applied is classified as type 5, and direction prediction 4 is applied. Partitions are classified as type 6, partitions to which any of direction predictions 1 to 3 is applied are classified as type 7, partitions to which any of direction predictions 5 to 7 are applied are classified as type 8, and TM prediction is performed. Is applied to type 9.
  • the region classification unit 424 uses a partition having a size of 8 ⁇ 1 pixels as a type 5 (that is, a size of 4 ⁇ 4 pixels and direction prediction 0 is applied).
  • the partition having the size of 1 ⁇ 8 pixels is classified into the type 6 (that is, the same type as the partition having the size of 4 ⁇ 4 pixels and the direction prediction 4 applied).
  • this example uses both (1) the relationship between the partition size and the degree of activity, and (2) the relationship between the partition shape and the prediction mode and the directionality.
  • the adaptive filter 42 for performing the processing of this example the adaptive filter 42 having the basic configuration shown in FIG. 5 may be used, the first modification shown in FIG. 6 may be used, and FIG. A fourth modification shown in FIG. FIG. 6 shows the case where at least one of the processing of this example, (classification processing example 3), and (classification processing example 4) is performed among (classification processing example 1) to (classification processing example 6).
  • the configuration of the adaptive filter 42 can be simplified.
  • the region classification unit 424 classifies each partition included in the target macroblock based on the filter set number, the prediction mode assigned to each partition, and the activity of each partition.
  • FIG. 16 is a diagram for explaining the classification processing by the region classification unit 424 in this example, where (a) is a table showing classification when the filter set number is 0, and (b) is FIG. 4 is a table showing classification when the filter set number is 1, FIG. 5C is a table showing classification when the filter set number is 2, and FIG. 4D is a case where the filter set number is 3.
  • FIG. (E) is a table showing the classification when the filter set number is 4.
  • the region classification unit 424 classifies all partitions included in the target macroblock as type 0 as illustrated in FIG.
  • the region classification unit 424 classifies a partition whose activity ACT is equal to or less than a predetermined threshold TH as type 0, and the activity ACT is Partitions larger than the threshold TH are classified as type 1.
  • the region classification unit 424 classifies a partition whose activity ACT is equal to or less than a predetermined threshold TH as type 0, and the activity ACT is A partition that is larger than the threshold TH and to which any one of DC prediction, plane prediction, and scale prediction is applied is classified as type 1, and the activity ACT is larger than the threshold TH, Partitions to which prediction modes other than DC prediction, plane prediction, and scale prediction are applied are classified as type 2.
  • the region classification unit 424 classifies the partition whose activity ACT is equal to or less than a predetermined threshold TH as type 0. Further, the region classification unit 424 classifies the partition having the activity ACT larger than the threshold TH as follows. That is, a partition to which any one of DC prediction, plane prediction, and scale prediction is applied is classified into type 1, a partition to which direction prediction 0 is applied is classified into type 2, and a partition to which direction prediction 4 is applied is classified. A partition that is classified into type 3 and to which other prediction modes are applied is classified into type 4.
  • the region classification unit 424 classifies the partition whose activity ACT is equal to or less than a predetermined threshold TH as type 0. Further, the region classification unit 424 classifies the partition having the activity ACT larger than the threshold TH as follows. That is, a partition to which any one of DC prediction, plane prediction, and scale prediction is applied is classified into type 1, a partition to which direction prediction 0 is applied is classified into type 2, and a partition to which direction prediction 4 is applied is classified. Partitions classified as type 3 and applied with any one of direction predictions 1 to 3 are classified as type 4; partitions applied with any of direction predictions 5 to 7 are classified as type 5 and TM prediction is applied. The assigned partition is classified into type 6.
  • this example uses both (1) the relationship between partition size and activity, and (2) the relationship between partition shape or prediction mode and directionality.
  • the adaptive filter 42 for performing the processing of this example a filter having the basic configuration shown in FIG. 5 may be used, or a fourth modification shown in FIG. 9 may be used.
  • the configuration of the adaptive filter 42 is simplified by using the modification shown in FIG. Can do.
  • the filter processing unit 425 performs filter processing on each divided region or each partition included in the target macroblock in the deblocked decoded image P_DB using the filter coefficient group supplied from the region classification unit 424. To generate a filtered decoded image P_FL.
  • the pixel value of the filter target pixel in the divided area or partition is represented as SF (x ′, y ′), and within the target macroblock or the target macroblock in the deblocked decoded image P_DB (hereinafter also referred to as “pre-filter image”)
  • pre-filter image the filter processing unit 425 calculates the pixel value SF (x ′, y ′) by the following formula (6).
  • 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.
  • AI (i, j) represents a filter coefficient to be multiplied by the pixel value S (x + i, y + j) of the pre-filter image, and corresponds to the filter coefficient included in the filter coefficient group included in the encoded data # 1. is doing.
  • OI represents an offset included in the filter coefficient group I.
  • FIG. 17A shows an example of the filter reference region R in the present embodiment.
  • the hatched pixels indicate the filter target pixels.
  • a0 to a12 are filter coefficients decoded from the encoded data # 1, and represent filter coefficients assigned to each pixel included in the filter reference region R.
  • the filter reference region R can be configured by pixels having an urban area distance of 3 or less from the filter target pixel, for example.
  • the present embodiment is not limited to this, and the assignment of each filter coefficient to each pixel value may not have rotational symmetry.
  • the filter reference region R may 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 method of assigning the filter coefficient to each pixel included in the filter reference region R and the shape of the filter reference region R may be appropriately set according to the configuration of the moving picture encoding device that generates the encoded data # 1. Good.
  • the filter processing unit 425 is configured not to perform the filter processing for the divided regions and partitions designated as being off by the on / off information supplied from the variable length code decoding unit 13. be able to.
  • the adaptive filter 42 sets the pixel value of each pixel in the output image (filtered decoded image P_FL) to a pixel in the reference region R that is determined according to the position of the pixel in the input image (deblocked image P_DB).
  • directionality identifying means edge direction for identifying the directionality of the input image in each of a plurality of unit regions (divided regions or partitions) constituting the input image
  • Each unit according to which of the plurality of predetermined groups the directionality of the input image in each unit area identified by the direction identification unit is detected by the detection unit 422 and the region classification unit 424).
  • Classification means for classifying the region into any one of a plurality of unit region groups (types); The pixel value of the pixel, and a, a filter unit (filter processor 425) calculated using the optimized filter coefficient group for the unit area belongs unit area group including the pixel.
  • the filter means uses the filter coefficient group optimized for the unit region group to which the unit region including the pixel belongs as the pixel value of each pixel in the output image. Therefore, when the directionality of the input image is different for each unit region, appropriate filter processing can be performed according to the directionality.
  • the input image is generated with reference to the output image even if the input image has an image characteristic that does not improve the encoding efficiency even when the filter coefficient is switched depending on the degree of activity.
  • the prediction accuracy of the predicted image can be improved.
  • the directionality of the input image (deblocked image P_DB) in each unit region may be identified by detecting the edge of the input image by the edge direction detection unit 422, or an intra predicted image is generated. It is good also as a structure indirectly identified in the area
  • the adaptive filter 42 generates an output image (filtered decoded image P_FL) from an input image (deblocked image P_DB) generated for each unit region (divided region or partition) using intra prediction.
  • the image filter device for calculating the pixel value of each pixel in the output image from the pixel value of the input image in the reference area determined according to the position of the pixel and the filter coefficient group, the shape of each unit area
  • a classifying means for classifying each unit region into one of a plurality of unit region groups (types) according to which of a plurality of predetermined groups the size belongs to,
  • the pixel value of each pixel in the output image is calculated using a filter coefficient group optimized for the unit area group to which the unit area including the pixel belongs. That the filter means and (filter processor 425), in which is provided with a, a it can be expressed.
  • the adaptive filter 42 classifies each partition into one of a plurality of groups as shown in (Classification Processing Example 3), for example, according to the shape and size of the partition. Filter processing can be performed using the filter coefficient.
  • the input image is generated with reference to the output image even if the input image has an image characteristic that does not improve the encoding efficiency even when the filter coefficient is switched depending on the degree of activity.
  • the prediction accuracy of the predicted image can be improved.
  • the filter set number is included in the slice header SH of the encoded data # 1
  • the slice header SH of the encoded data # 1 is replaced with the edge angle Theta, the prediction mode, the size of each partition, the activity ACT, and one or a plurality of filter coefficient groups (more specifically, instead of the filter set number).
  • FIG. 18 is a diagram illustrating a configuration of a slice header SH ′ including a filter assignment table.
  • the slice header SH ′ includes filter on / off information and filter coefficient groups 0 to Nf ⁇ 1 similarly to the slice header SH described above. Further, the slice header SH ′ includes the above-described filter assignment table instead of the filter set number included in the slice header SH.
  • the filter assignment table may be, for example, a table showing the correspondence between the edge angle Theta and the filter number, or as shown in FIG. And the correspondence between the partition size and the filter number.
  • the filter allocation table is not limited to that shown in FIGS. 19A to 19B, and any one of the edge direction, the partition size, the prediction mode, and the activity is associated with the filter number. Anything is acceptable.
  • the area classification unit 424 included in the adaptive filter 42 refers to the filter assignment table included in the slice header SH ′, and decodes each divided area or each partition included in the target macroblock from the encoded data # 1.
  • a filter coefficient group which is a filter coefficient group specified by the filter assignment table, may be assigned.
  • the region classification unit 424 sets the edge angle Theta to (0 ° ⁇ Theta ⁇ 22.5 °, or 157.
  • the filter coefficient group 0 is assigned to the divided area where 5 ° ⁇ Theta ⁇ 180 °), and the filter coefficient is assigned to the divided area where the edge angle Theta is (22.5 ° ⁇ Theta ⁇ 67.5 °).
  • Group 2 is assigned, and the filter coefficient group 1 is assigned to the divided region where the edge angle Theta is (67.5 ° ⁇ Theta ⁇ 112.5 °), and the edge angle Theta is (112.5 ° ⁇ Theta ⁇ 157. .. (5 °), the filter coefficient group 2 is assigned to the divided area.
  • the filter assignment table included in the slice header SH ′ is as shown in FIG.
  • the degree of freedom to associate each of the plurality of filter coefficient groups with a different type (unit area group) is increased as compared with the case where a filter set is used.
  • the degree of freedom of selection increases.
  • the filter assignment table can also be regarded as information (direction information) indicating which edge angle each of the plurality of filter coefficient groups included in the encoded data # 1 is associated with.
  • the filter reference region R in Expression (6) is exemplified as that shown in FIG. 17A, but the present embodiment is not limited to this.
  • the filter reference region R in this embodiment for example, those shown in FIGS. 17B to 17D may be used.
  • the hatched pixels indicate the filter target pixels.
  • the filter reference region R illustrated in FIG. 17A is referred to as a “basic reference region”
  • the filter reference region R illustrated in FIG. 17B is referred to as a “vertical reference region”.
  • the filter reference region R shown in (c) is referred to as a “horizontal type reference region”
  • the filter reference region R shown in FIG. 17D is referred to as an “oblique direction type reference region”.
  • the basic reference area shown in FIG. 17A is a divided area or partition in which no edge exists in the target macroblock of the deblocked decoded image P_DB, or a divided area or partition whose edge strength is smaller than a predetermined value. It can be suitably used for filter processing.
  • the vertical reference region has a feature that the vertical length is longer than the horizontal length. For this reason, in the object macroblock of the deblocked decoded image P_DB, it can be used suitably for the filtering process of the divided area or partition in which the vertical edge exists.
  • the horizontal type reference region has a feature that the horizontal length is longer than the vertical length. For this reason, in the object macroblock of the deblocked decoded image P_DB, it can be used suitably for the filtering process of the divided area or partition where the edge in the horizontal direction exists.
  • the oblique reference type area is rectangular, and therefore, in the target macroblock of the deblocked decoded image P_DB, the divided area or partition in which the oblique edge exists. It can be suitably used for filter processing.
  • the filter processing unit 425 included in the adaptive filter 42 has any one of the basic reference area, the vertical direction reference area, the horizontal direction reference area, and the oblique direction reference area as the filter reference area R.
  • the reference region can be selectively used. More specifically, the prediction mode / size accumulation unit 421 and the edge direction detection unit 422 are configured to supply the prediction mode of each partition and the edge angle Theta of each divided region to the filter processing unit 425, respectively.
  • the filter processing unit 425 may be configured to selectively use any of the plurality of reference regions according to the edge angle of each divided region or the prediction mode of each partition.
  • FIG. 20 (a) shows an example of the correspondence relationship between the edge angle and the reference area to be used.
  • the filter processing unit 425 is, for example, in a divided region where the edge angle Theta satisfies (0 ° ⁇ Theta ⁇ 22.5 °, or 157.5 ° ⁇ Theta ⁇ 180 °).
  • a horizontal reference area is used, and when the filter target pixel exists in a divided region where the edge angle Theta satisfies (22.5 ° ⁇ Theta ⁇ 67.5 °),
  • the vertical direction type reference region is used,
  • FIG. 20 (b) shows an example of the correspondence between the prediction mode and the reference area to be used.
  • the filter processing unit 425 for example, when a pixel to be filtered exists in a partition whose prediction mode is any one of DC prediction, plane prediction, TM prediction, and scale prediction.
  • a filter target pixel is used in the partition in which the prediction mode is directional prediction 4 using a horizontal reference region. If there is a filter target pixel in a partition that uses a vertical reference area and has a prediction mode of any one of direction predictions 1 to 3 and direction predictions 5 to 7 The reference area can be used.
  • the video encoding apparatus having the same configuration as the configuration of the present modification is more suitable by selecting an optimal shape from among the shapes of the plurality of filter reference regions according to the edge angle and the prediction mode. Therefore, it is possible to improve the prediction accuracy and improve the encoding efficiency. Further, by optimizing the shape of the filter reference region according to the edge angle and the prediction mode, it is possible to perform effective filtering while reducing the total number of filter coefficient groups as much as possible.
  • the moving picture decoding apparatus 1 having the configuration of the present modification can appropriately decode such encoded data with high encoding efficiency.
  • the shape of the selectable reference region is not limited to that shown in FIGS. 20A to 20D, and other shapes may be used depending on the edge angle and the prediction mode. Reference regions of various shapes and sizes can be used.
  • the slice header of the encoded data # 1 may be configured to include neither the filter set number nor the filter assignment table.
  • the edge detection unit 422 detects the edge angle Theta in each divided region in a range of 0 ° ⁇ Theta ⁇ 180 °, but the present embodiment is limited to this. is not.
  • the edge detection unit 422 may be configured to detect the edge angle Theta of each divided region in a range of 0 ° ⁇ Theta ⁇ 360 °.
  • FIG. 21 shows a case where the encoded data # 1 has a configuration that does not include either the filter set number or the filter assignment table, and the edge detection unit 422 sets the angle Theta of each divided region to 0 °. It is a table
  • category part 424 when it is the structure detected in the range of ⁇ Theta ⁇ 360 degrees. As shown in FIG. 21, the region classification unit 424 classifies divided regions that satisfy the edge angle Theta (0 ° ⁇ Theta ⁇ 22.5 ° or 337.5 ° ⁇ Theta ⁇ 360 °) as type 0.
  • the divided region where the edge angle Theta satisfies (22.5 ° ⁇ Theta ⁇ 67.5 °) is classified as type 1, and the edge angle Theta satisfies (67.5 ° ⁇ Theta ⁇ 112.5 °).
  • the divided area is classified into type 2, and the divided area where the edge angle Theta satisfies (112.5 ° ⁇ Theta ⁇ 157.5 °) is classified into type 3, and the edge angle Theta is (157.5 ° ⁇ Theta).
  • ⁇ 202.5 °) is divided into type 4, and the divided region satisfying edge angle Theta (202.5 ° ⁇ Theta ⁇ 247.5 °) is classified as type 5.
  • the divided area where the edge angle Theta satisfies (247.5 ° ⁇ Theta ⁇ 292.5 °) is classified as type 6, and the edge angle Theta satisfies (292.5 ° ⁇ Theta ⁇ 337.5 °).
  • the divided area is classified into type 7.
  • the edge angle is detected in the range of 0 ° ⁇ Theta ⁇ 360 °, and the filter coefficient group is assigned according to the detected angle, so that more effective filter processing can be performed.
  • the encoded data # 1 has a configuration that includes neither the filter set number nor the filter assignment table, so that the code amount of the encoded data # 1 can be reduced.
  • the region classification unit 424 is configured to classify each divided region or each partition (prediction unit) included in the target macroblock into one of a plurality of types. It is not limited to this.
  • the region classification unit 424 may be configured to classify each block (conversion unit) included in the target macroblock into one of a plurality of types.
  • the region classifying unit 424 assigns each block to a plurality of types according to the size, prediction mode, edge angle, and activity ACT of each block included in the target macroblock in substantially the same manner as described above. It can be set as the structure classified into either.
  • the intra prediction mode accumulation unit 421 allocates the prediction mode of each partition included in the target macroblock to the corresponding block, and accumulates the prediction mode of each block and the size of each block. And it is sufficient.
  • the edge direction detection unit 422 may be configured to perform edge detection for each block included in the target macroblock.
  • the activity calculation unit 423 may be configured to calculate the activity ACT for each block included in the target macroblock.
  • the adaptive filter 42 can perform an appropriate filter process on the deblocked decoded image P_DB even in the configuration of this example.
  • the moving image 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. 22 is a block diagram showing a configuration of the moving picture encoding apparatus 2.
  • the moving image encoding device 2 includes a transform / quantization unit 21, a variable-length code encoding unit 22, an inverse quantization / inverse transform unit 23, a buffer memory 24, an intra predicted image generation unit 25, An inter prediction image generation unit 26, a motion vector detection unit 27, a prediction scheme control unit 28, a motion vector redundancy deletion unit 29, an adder 31, a subtractor 32, a deblocking filter 33, and an adaptive filter 34 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 transform / quantization unit 21 performs (1) DCT transform (Discrete Cosine Transform) on the prediction residual D obtained by subtracting the predicted image Pred from the encoding target image, and (2) DCT coefficients obtained by the DCT transform. (3)
  • the quantized prediction residual QD obtained by the quantization is supplied to the variable-length code encoding unit 22 and the inverse quantization / inverse transform unit 23.
  • the transform / quantization unit 21 selects (1) a quantization step QP to be used for quantization for each macroblock, and (2) a quantization parameter difference ⁇ qp indicating the size of the selected quantization step QP. Is supplied to the variable-length code encoding unit 22, and (3) the selected quantization step QP is supplied to the inverse quantization / inverse transform unit 23.
  • the variable length code encoding unit 22 includes (1) a quantized prediction residual QD and ⁇ qp supplied from the transform / quantization unit 21, and (2) a quantization parameter PP supplied from a prediction scheme control unit 28 described later, (3)
  • the encoded data # 1 is generated by variable length encoding the filter set number, the filter coefficient group, the region designation information, and the on / off information supplied from the adaptive filter 34 described later.
  • 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 31.
  • the quantization step QP supplied from the transform / quantization unit 21 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 21. Common names are used for this purpose.
  • the intra predicted image generation unit 25 generates a predicted image Pred_Intra related to each partition. Specifically, (1) a prediction mode used for intra prediction is selected for each partition, and (2) a prediction image Pred_Intra is generated from the decoded image P using the selected prediction mode. The intra predicted image generation unit 25 supplies the generated intra predicted image Pred_Intra to the prediction method control unit 28.
  • the intra prediction image generation unit 25 refers to the correspondence table shown in FIG. 3A stored in its own memory, and for each partition from the prediction mode selected for each partition and the size of each partition. Prediction index PI is specified, and prediction index designation information indicating the prediction index PI for each partition is supplied to the prediction method control unit 28.
  • the intra prediction image generation unit 25 supplies the adaptive filter 34 with the intra coding mode information IEM that is information indicating the size of the target partition and the prediction mode assigned to the target partition.
  • generation part 25 can be performed by the process similar to the process demonstrated in (the production
  • the motion vector detection unit 27 detects a motion vector mv related to each partition. Specifically, (1) a filtered decoded image P_FL ′ used as a reference image is selected, and (2) a target partition is searched by searching for a region that best approximates the target partition in the selected filtered decoded image P_FL ′. Detects a motion vector mv.
  • the filtered decoded image P_FL ′ is obtained by performing deblocking processing by the deblocking filter 33 and adaptive filtering processing by the adaptive filter 34 on the decoded image that has already been decoded. It is an image, and the motion vector detection unit 27 can read out the pixel value of each pixel constituting the filtered decoded image P_FL ′ from the buffer memory 24.
  • the motion vector detection unit 27 supplies the detected motion vector mv to the inter prediction image generation unit 26 and the motion vector redundancy deletion unit 29 together with the reference image index RI that specifies the filtered decoded image P_FL ′ used as the reference image. To do. Note that for a partition that performs bi-directional prediction (weighted prediction), two filtered decoded images P_FL1 ′ and P_FL2 ′ are selected as reference images, and each of the two filtered decoded images P_FL1 ′ and P_FL2 ′ is selected. Corresponding motion vectors mv1 and mv2 and reference image indexes RI1 and RI2 are supplied to the inter prediction image generation unit 26 and the motion vector redundancy deletion unit 29.
  • the inter prediction image generation unit 26 generates a motion compensation image mc related to each inter prediction partition. Specifically, using the motion vector mv supplied from the motion vector detection unit 27, the motion compensated image mc is obtained from the filtered decoded image P_FL ′ specified by the reference image index RI supplied from the motion vector detection unit 27. Generate. Similar to the motion vector detection unit 27, the inter predicted image generation unit 26 can read out the pixel value of each pixel constituting the filtered decoded image P_FL ′ from the buffer memory 24. The inter prediction image generation unit 26 supplies the generated motion compensated image mc (inter prediction image Pred_Inter) together with the reference image index RI supplied from the motion vector detection unit 27 to the prediction method control unit 28.
  • inter prediction image Pred_Inter inter prediction image Pred_Inter
  • the motion compensated image mc1 is generated from the filtered decoded image P_FL1 ′ specified by the reference image index RI1 using the motion vector mv1, and (2 )
  • a motion compensated image mc2 is generated from the filtered reference image P_FL2 ′ specified by the reference image index RI2 using the motion vector mv2, and (3) an offset value is added to the weighted average of the motion compensated image mc1 and the motion compensated image mc2. Is added to generate the inter predicted image Pred_Inter.
  • the prediction method control unit 28 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 28 supplies the intra prediction image Pred_Intra as the prediction image Pred to the adder 31 and the subtracter 32 and also predicts the prediction index PI supplied from the intra prediction image generation unit 25.
  • the parameter PP is supplied to the variable length code encoder 22.
  • the prediction scheme control unit 28 supplies the inter prediction image Pred_Inter as the prediction image Pred to the adder 31 and the subtractor 32, and the reference image index supplied from the inter prediction image generation unit 26.
  • the RI and the estimated motion vector index PMVI and the motion vector residual MVD supplied from the motion vector redundancy deleting unit 29 (described later) are supplied to the variable length code encoding unit as the prediction parameters PP.
  • the prediction residual D is generated by the subtracter 32 by subtracting the prediction image Pred selected by the prediction method control unit 28 from the encoding target image.
  • the prediction residual D generated by the subtractor 32 is DCT transformed / quantized by the transform / quantization unit 21 as described above.
  • the adder 31 by adding the prediction image Pred selected by the prediction method control unit 28 to the prediction residual D generated by the inverse quantization / inverse conversion unit 23, the adder 31 generates a local decoded image P. Generated.
  • the local decoded image P generated by the adder 31 passes through the deblocking filter 33 and the adaptive filter 34, is then stored in the buffer memory 24 as a filtered decoded image P_FL, and is used as a reference image in inter prediction.
  • the motion vector redundancy deleting unit 29 deletes the redundancy in the motion vector mv detected by the motion vector detecting unit 27. 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 29 supplies the generated motion vector residual MVD to the prediction method control unit 28 together with the estimated motion vector index PMVI indicating the selected estimation method.
  • the deblocking filter 33 determines the block boundary in the decoded image P or the block boundary in the decoded image P when the difference between the pixel values of pixels adjacent to each other via the block boundary or the macroblock boundary in the decoded image P is smaller than a predetermined threshold value. By performing deblocking processing on the macroblock boundary, an image near the block boundary or the macroblock boundary is smoothed.
  • the image that has been deblocked by the deblocking filter 33 is output to the adaptive filter 34 as a deblocked decoded image P_DB.
  • the adaptive filter 34 generates a filtered decoded image P_FL by performing an adaptive filter process on the deblocked decoded image P_DB supplied from the deblocking filter 33.
  • the filtered decoded image P_FL that has been filtered by the adaptive filter 34 is stored in the buffer memory 24. Since a specific configuration of the adaptive filter 34 will be described later, description thereof is omitted here.
  • FIG. 23 is a block diagram showing a configuration of the adaptive filter 34.
  • the adaptive filter 34 includes an area dividing unit 340, an intra coding mode accumulating unit 341, an edge direction detecting unit 342, an activity calculating unit 343, an area classifying unit 344, a filter processing unit 345, and a filter.
  • a parameter deriving unit 346 is provided.
  • the adaptive filter 34 filters the deblocked decoded image P_DB supplied from the deblocking filter 33 using a filter coefficient determined so as to minimize the error between the filtered image and the encoding target image.
  • the processing is performed.
  • the filtered image is stored in the buffer memory 24 as a filtered decoded image P_FL.
  • the filtered decoded image P_FL may be generated in units of macroblocks, in units of areas smaller than the macroblocks, or in units of areas larger than the macroblocks. In the following, description will be given by taking as an example the case where the adaptive filter 34 generates a filtered decoded image P_FL in units of macroblocks.
  • the area dividing unit 340 divides the target macroblock into one or a plurality of divided areas, and sets area designation information for designating the size and position of each divided area as an edge direction detecting unit 342, an activity calculating unit 343, and a variable This is supplied to the long code encoding unit 22.
  • each divided region may be composed of one pixel or may be composed of a plurality of pixels.
  • the region dividing unit 340 may be configured to divide the target macroblock into divided regions according to the characteristics (luminance, texture, etc.) of the image in the target macroblock, and to optimize the encoding efficiency. It is good also as a structure divided into divided areas.
  • the intra coding mode accumulation unit 341 accumulates the partition size and the prediction mode assigned to the partition indicated by the intra coding mode information IEM supplied from the intra prediction image generation unit 25.
  • the intra coding mode accumulation unit 341 can be configured to accumulate the sizes and prediction modes for all partitions included in the target macroblock.
  • the information including the size of each partition and the prediction mode stored in the intra coding mode storage unit 341 is supplied to the region classification unit 344.
  • the edge direction detection unit 342 refers to the region designation information supplied from the region dividing unit 340, divides the target macroblock in the deblocked decoded image P_DB into one or a plurality of divided regions, and the image of each divided region Perform edge detection. Further, for each divided region, an angle (edge angle) Theta indicating the direction of the edge is supplied to the region classification unit 344. The calculation of the edge angle Theta by the edge direction detection unit 342 can be performed by the same method as the edge direction detection unit 422. Note that the edge detection unit 342 determines that there is no edge for the target divided region when the edge intensity for all the pixels included in the target divided region is equal to or less than a predetermined threshold, and determines the determination result. The region classification unit 344 can be supplied.
  • the activity calculation unit 343 refers to the region designation information supplied from the region dividing unit 340, divides the target macroblock in the deblocked decoded image P_DB into one or a plurality of divided regions, and the image of each divided region Calculate the activity ACT. In addition, when the intra prediction is applied to the target macroblock, the activity calculation unit 343 calculates the activity ACT for each partition included in the target macroblock. The calculated activity ACT is supplied to the region classification unit 344. The calculation of the activity ACT by the activity calculation unit 343 can be performed by the same method as the activity calculation unit 423.
  • the area classification unit 344 includes (1) the size of each partition supplied from the intra coding mode storage unit 341, (2) the prediction mode assigned to each partition supplied from the intra coding mode storage unit 341, (3 ) Based on the edge angle Theta supplied from the edge direction detection unit 342 and (4) the activity ACT supplied from the activity calculation unit 343, each divided region or each partition included in the target macroblock is determined. Classify into one or more types.
  • the classification of each divided area or each partition by the area classification unit 344 is performed by the same method as the (classification processing example 1) to (classification processing example 6) by the area classification unit 424.
  • the region classification unit 344 performs a classification process a plurality of times while updating the filter set number, and generates classification information for each filter set number. That is, the region classification unit 344 is configured to perform the following processing.
  • Step S302 the classification process determined by the filter set number k is performed by the same method as the region classification unit 424.
  • Step S303 Based on the classification performed in step S303, classification information (k) indicating which type each divided region or each partition is classified into is generated.
  • the generated classification information (k) is supplied to the filter parameter deriving unit 346 and the filter processing unit 345.
  • the filtered decoded image P_FL (k) is generated by performing filtering on each partition.
  • the filter processing unit 345 generates, as a filtered decoded image P_FL, a filtered decoded image generated by using the filter coefficient group included in the filter set number that is supplied from the filter parameter deriving unit 346 and has the minimum encoding cost. To the buffer memory 24.
  • the generation of the filtered decoded image P_FL (k) by the filter processing unit 345 can be performed by the same process as the generation of the filtered decoded image P_FL by the filter processing unit 425.
  • the filter processing unit 345 is configured not to perform filter processing for the divided regions and partitions designated as filter processing off by the on / off information supplied from the filter parameter deriving unit 346. Can do.
  • FIG. 24 is a block diagram showing the configuration of the filter parameter deriving unit 346.
  • the filter parameter deriving unit 346 includes a filter calculating unit 461, a cost calculating unit 462, and an optimum filter set selecting unit 463.
  • the filter calculation unit 461 performs the following processing.
  • Step S402 Subsequently, based on the classification information (k), each divided region or each partition included in the deblocked decoded image P_DB is classified into one or a plurality of types.
  • Step S403 an image composed of divided regions or partitions classified as type I in the deblocked decoded image P_DB in the target macroblock is represented as an image I, and coordinates of the pixels included in the image I are (x, y).
  • the pixel value of a certain pixel is expressed as SI (x, y), and the pixel value of the pixel whose coordinates are (x, y) among the pixels included in the encoding target image in the target macroblock is ST (x, y).
  • the filter calculation unit 461 derives a filter coefficient aI (i, j) and an offset oI that minimize the square error E given by the following equation (7).
  • Step S404 Subsequently, the filter coefficient aI (i, j) and the offset oI derived in step S404 are supplied to the filter processing unit 345 and the optimum filter set selection unit 463 as the filter coefficient group (k).
  • the filter calculation unit 461 supplies on / off information for designating on / off of the filter processing for each divided region or each partition to the filter processing unit 345.
  • the filter set number is supplied to the variable length code encoding unit 22 and the filter processing unit 345.
  • the optimum filter set selection unit 463 supplies the filter coefficient group included in the filter set associated with the minimum encoding cost and the on / off information to the variable length code encoding unit 22.
  • ⁇ Modification 1 '> In the above description, the case where the video encoding device 2 includes the filter set number in the encoded data # 1 has been described as an example. However, the configuration of the video encoding device 2 in the present embodiment is limited to this. It is not something. As described in ⁇ Modification 1>, the video encoding device 2 replaces the filter set number with the edge angle Theta, the prediction mode, the size of each partition, the activity ACT, and one or more filter coefficients. A table (filter allocation table) indicating a correspondence relationship with a group (more specifically, a filter number specifying a filter coefficient group) may be included in the encoded data # 1.
  • the region classification unit 344 included in the adaptive filter 34 is configured to supply the edge angle Theta, the prediction mode, the size of each partition, and the activity ACT to the filter parameter deriving unit 346, and the filter parameter deriving unit 346 includes the edge A configuration may be adopted in which a filter assignment table indicating the correspondence relationship between the angle Theta, the prediction mode, the size of each partition, and the activity ACT and one or a plurality of filter coefficient groups is generated.
  • examples of the filter assignment table generated by the filter parameter deriving unit 346 include those shown in FIGS. 19 (a) to 19 (b).
  • the filter processing unit 345 included in the adaptive filter 34 has, as the filter reference region R, as described in ⁇ Modification 2>, a basic reference region, a vertical reference region, a horizontal reference region, and Any one of the reference areas in the oblique direction type can be selectively used. More specifically, the intra coding mode accumulation unit 341 and the edge direction detection unit 342 are configured to supply the prediction mode of each partition and the edge angle Theta of each divided region to the filter processing unit 345, respectively. The filter processing unit 345 may be configured to selectively use one of the plurality of reference regions according to the edge angle Theta of each divided region or the prediction mode of each partition.
  • Examples of the correspondence relationship between the filter reference region that is selectively used in this modification, the prediction mode, and the edge angle include those shown in FIGS. 20 (a) to 20 (b).
  • the moving image encoding apparatus 2 in the present modification can perform more appropriate filter processing by selectively using any one of a plurality of filter reference regions according to the edge angle and the prediction mode. Prediction accuracy is improved and coding efficiency can be improved.
  • the moving image encoding apparatus 2 may be configured such that neither the filter set number nor the filter assignment table is included in the encoded data # 1.
  • the region classification unit 344 generates classification information based on a predetermined filter set number, and the filter parameter deriving unit 346 derives a filter coefficient group based on the predetermined filter set number,
  • the processing unit 345 may be configured to perform filter processing using the filter coefficient.
  • the edge detection unit 342 may be configured to detect the edge angle Theta of each divided region in a range of 0 ° ⁇ Theta ⁇ 360 °.
  • 21 shows an example of classification processing by the region classification unit 344 in this modification.
  • the edge angle is detected in the range of 0 ° ⁇ Theta ⁇ 360 °, and the filter coefficient group is assigned according to the detected angle, so that more effective filter processing can be performed.
  • the encoded data # 1 has a configuration that includes neither the filter set number nor the filter assignment table, so that the code amount of the encoded data # 1 can be reduced.
  • the region classification unit 344 may be configured to classify each block (conversion unit) included in the target macroblock into any of a plurality of types. In this case, the region classification unit 344 assigns each block to a plurality of types according to the size, prediction mode, edge angle, and activity ACT of each block included in the target macroblock in substantially the same manner as the above-described configuration. It can be set as the structure classified into either.
  • the intra prediction mode storage unit 341 allocates the prediction mode of each partition included in the target macroblock to the corresponding block, and stores the prediction mode of each block and the size of each block. And it is sufficient.
  • the edge direction detection unit 342 may be configured to perform edge detection for each block included in the target macroblock.
  • the activity calculation unit 343 may be configured to calculate the activity ACT for each block included in the target macroblock.
  • the adaptive filter 34 can perform an appropriate filter process on the deblocked decoded image P_DB even in the configuration of this example.
  • the adaptive filter according to the present embodiment derives two characteristic values having different derivation methods from each other for each unit region constituting the pre-filter image (for example, the deblocked decoded image P_DB). Each unit region is classified into one or a plurality of groups according to the above. In addition, the adaptive filter according to the present embodiment acts on the pre-filter image for each unit region using a filter coefficient determined for each unit region.
  • the unit region may be a block that is a unit of DCT transform (more generally, frequency transform), a partition that is a unit for generating a predicted image, or any of a block and a partition. Instead, it may be a region in which the size and position are set by the adaptive filter according to the present embodiment. Further, the unit area may be composed of one pixel.
  • Each group has a one-to-one correspondence with each partial area set on a two-dimensional area stretched by two characteristic values. Therefore, it is determined how to set one or a plurality of groups by designating how to divide the two-dimensional area into partial areas.
  • a characteristic value having a higher priority that is, a characteristic value for which more effective classification can be expected
  • the other characteristic value is referred to as a second characteristic value.
  • the two-dimensional area spanned by the two characteristic values is also called a characteristic value area
  • each partial area set on the characteristic value area is also called a characteristic value partial area.
  • the first characteristic value X and the second characteristic value Y for example, the following combinations are possible.
  • the case where the first characteristic value X is the activity of the image is handled.
  • these combinations do not limit the invention according to the present application, and the present invention also applies to other characteristic values and combinations.
  • the embodiment can be easily applied.
  • First characteristic value X Image activity, second characteristic value Y: Image directionality First characteristic value X: Image activity, second characteristic value Y: Average pixel value First Characteristic value X: image activity, second characteristic value Y: unit area coordinates • first characteristic value X: unit area coordinates, second characteristic value Y: image activity • first characteristic Value X: slice number, second characteristic value Y: image activity level • first characteristic value X: average pixel value, second characteristic value Y: image activity level • first characteristic value X: unit area Y-coordinate, second characteristic value Y: x-coordinate of unit area ⁇ First characteristic value X: x-coordinate of unit area, second characteristic value Y: y-coordinate of unit area From the viewpoint of the effect of reducing the error between the current image and the encoding target image (noise reduction effect), priority is given to the activity.
  • the image activity as the first characteristic value X.
  • priority may be given to characteristic values that allow easy calculation of characteristic values.
  • the coordinates of the unit area, the slice number, the average pixel value, and the like can be used as the first characteristic value.
  • an application method in which the division is completed only by the first division is possible, and the effect of the filter by region can be obtained with a small complexity. .
  • each characteristic value derived for each unit region may depend on the size of the unit region depending on the derivation method. In such a case, a normalized characteristic value obtained by removing the dependency on the size of the unit region can be used as each characteristic value.
  • the adaptive filter according to the present embodiment divides the characteristic value region into the partial regions hierarchically by the first-stage division and the second-stage division.
  • the division in the first stage is a division relating to the first characteristic value X
  • the division in the second stage is a division relating to at least one of the first characteristic value X and the second characteristic value Y.
  • the division of the characteristic value area into the partial areas is performed in units of division units. Therefore, each partial region is composed of one or a plurality of division units DU. Further, the boundary of each division unit is determined using a division point (also referred to as a characteristic value division point) set for each characteristic value.
  • the first stage division is also referred to as initial division
  • the second stage division is also referred to as subdivision.
  • FIG. 25 shows a characteristic value region CR and a division unit DU [i] [j] (i is an integer satisfying 0 ⁇ i ⁇ NX ⁇ 1, j is 0 ⁇ i ⁇ NY ⁇ ) set on the characteristic value region CR.
  • 1 is an integer that satisfies 1
  • NX is the total number of division units along the first characteristic value X
  • NY is the total number of division units along the second characteristic value Y).
  • the solid line indicates the boundary between the characteristic value partial region and the division unit
  • the broken line indicates the boundary between the division units.
  • the division units DU [0] [0] and DU [0] [1] constitute one characteristic value partial region
  • DU [1] [0] and DU [ [2] [0] constitutes another characteristic value partial region
  • DU [1] [1] alone constitutes a characteristic value partial region.
  • each division unit DU is characteristic value division points PX1 to PX_NX-1 for the first characteristic value X and characteristic value division points PY1 to PY_NY for the second characteristic value Y. Specified by -1.
  • the first characteristic value X is also simply referred to as the characteristic value X
  • the second characteristic value Y is also simply referred to as the characteristic value Y.
  • the index [i] [j] that designates each division unit is also called a characteristic index.
  • an index related to the characteristic value X ([i] in the above example) is also referred to as a characteristic X index
  • an index related to the characteristic value Y ([j] in the above example) is also referred to as a characteristic Y index.
  • the characteristic index is a two-dimensional index that uniquely designates each division unit.
  • FIG. 26 is a diagram illustrating syntaxes included in the filter parameter FP (denoted as alf_param () in FIG. 26) of the encoded data # 3 according to the present embodiment.
  • adaptive_loop_filter_flag is a flag that specifies on / off of adaptive filter processing by the adaptive filter 50 described later.
  • adaptive_loop_filter_flag is 0, adaptive filter processing is specified to be off.
  • adaptive_loop_filter_flag is 1, adaptive filter processing is on. Specified.
  • alf_enable_region_filter is a flag that specifies on / off of filter processing for each characteristic value partial region by the adaptive filter 50.
  • alf_enable_region_filter is 0, filter processing for each characteristic value partial region is specified to be off, and when alf_enable_region_filter is 1, The filter processing for each characteristic value partial area is designated to be on.
  • alf_num_first_split_minus1 alf_first_split_val_shift
  • alf_second_split_type alf_second_split_flag [i0]
  • alf_length_luma_minus5_div2 alf_region_pred_luma [i] a___
  • Alf_num_first_split_minus1, alf_first_split_val_shift, alf_second_split_type, and alf_second_split_flag [i0] constitute characteristic value division information that specifies how to divide the characteristic value region CR into each characteristic value partial region CPR.
  • the characteristic value division information is information for designating how to divide the characteristic value region CR, information for designating the number and shape of the first stage (here, alf_num_first_split_minus1), and the characteristic value obtained in the first division.
  • alf_second_split_flag [i0] information that specifies the number of divisions and the shape of the second stage for the partial region
  • information (alf_second_split_type) for specifying the boundary of the characteristic value used for the division.
  • alf_second_split_type information for designating a division method can also be designated, which is also a kind of characteristic value division information.
  • the characteristic value division information is information that hierarchically specifies how to divide the characteristic value region CR.
  • hierarchically it is possible to prevent an increase in the code amount for designating the division that occurs when the degree of division freedom is increased while having a high degree of division freedom.
  • a plurality of areas having the same type of characteristics can be expressed as a single unit, and the same filter coefficient can be assigned to the plurality of collected areas. Therefore, the code amount of the filter coefficient can be reduced as compared with the case where the filter coefficient is simply assigned for each characteristic value or for each combination of characteristic values.
  • the hierarchical expression can also be used when the same characteristic value (for example, activity) is used in the first stage division and the second stage division.
  • a plurality of areas having close characteristic values are expressed as one unit, and the same filter coefficient is assigned to the plurality of collected areas, thereby encoding the filter coefficient with a small code amount. it can.
  • division is performed preferentially using characteristic values having a large noise reduction effect, and even if the division is performed, a region having a small effect is handled as one unit without being divided.
  • the code amount of the filter coefficient can be made relatively small.
  • alf_num_first_split_minus1 alf_num_first_split_minus1 + 1 Determined by.
  • FIG. 27B illustrates a case where the boundary between these three characteristic value partial areas is designated by characteristic value division points PX2 and PX4.
  • FIG. 27C is a diagram showing re-division points PX1, PX3, and PX5 used in the second division in addition to the initial division points PX2 and PX4.
  • Each characteristic value partial region obtained by the first division is identified by the initial division index [i0] (0 ⁇ i0 ⁇ AlfNumFirstSplit ⁇ 1).
  • the correspondence between the initial split index [i0] and the characteristic X index [i] is given as follows according to the value of alf_second_split_type described later.
  • alf_first_split_val_shift is a flag referred to for changing the characteristic value dividing point PXn (1 ⁇ n ⁇ NX ⁇ 1).
  • the characteristic value dividing point PXn is changed according to the value of alf_first_split_val_shift.
  • alf_second_split_type is a flag for designating the type of division in the second stage. If alf_second_split_type is 0, each characteristic value partial area is further divided into one or a plurality of characteristic value partial areas based on characteristic value X and characteristic value Y. If alf_second_split_type is 1, each characteristic value partial area is Based on the characteristic value Y, it is further divided into one or more characteristic value partial areas.
  • FIG. 27D is a table illustrating characteristic value division points PX1 to PX5 set according to the values of alf_first_split_val_shift and alf_second_split_type when the activity is used as the characteristic value X.
  • alf_second_split_type 1
  • each value of the initial division points PX2 and PX4 is specified
  • alf_second_split_type 0, all the characteristic value division points including the initial division point
  • Each value of PX1 to PX5 is designated.
  • FIG. 27D is a table illustrating characteristic value division points PX1 to PX5 set according to the values of alf_first_split_val_shift and alf_second_split_type when the activity is used as the characteristic value X.
  • each value of the characteristic value dividing point PXn is changed according to the value of alf_first_split_val_shift.
  • the larger the characteristic value X the larger the interval between the initial division points. This is because many of the unit areas included in the processing target frame (or slice) have a small activity. As shown in FIG. 27D, by dividing the small range of the characteristic value X more finely, the number of unit areas classified into the characteristic value partial areas can be made closer to a constant value. Not only the initial division point but also the re-division, it is appropriate that the interval between the division points is other than equal intervals in consideration of the frequency of the characteristic value.
  • the frequency tends to concentrate in many cases, it is preferable to make the interval finer in the portion where the frequency is concentrated and increase the interval in the portion where the frequency is small.
  • the degree of activity the frequency tends to concentrate on a portion having a small value, and the directionality tends to concentrate on the horizontal direction and the vertical direction.
  • Alf_first_split_val_shift constitutes information (first division point designation information) for designating a division point in the initial division (first stage division).
  • alf_second_split_flag alf_second_split_flag [i0] is a syntax for designating a specific mode of the second-stage division for each characteristic value partial region obtained by the first-stage division.
  • the above-described alf_second_split_type and alf_second_split_flag [i0] specifically specify the second-stage division for each characteristic value partial region obtained by the first-stage division.
  • alf_second_split_flag [i0] specifies the number of divisions and the division shape in the second division.
  • FIG. 28C shows characteristic value division points PY1 to PY3 when the directionality of the image is used as the characteristic value Y, and characteristic value division points PY1 to PY3 when the average pixel value is used as the characteristic value Y. Show.
  • Alf_second_split_type constitutes information (second division point designation information) for designating a division point in subdivision (second stage division).
  • alf_second_split_type 1
  • the subdivision index [j0] is an index for designating each characteristic value partial region included in the characteristic value partial region CPR [i0].
  • the characteristic value partial region designated by the characteristic value region internal index (i0, j0) is also expressed as a characteristic value partial region CPR (i0, j0).
  • the characteristic value partial region CPR [i0] obtained by the first-stage division includes the following characteristic value partial region CPR: (I0, j0) is included.
  • the division unit DU [i] [j] included in each characteristic value partial region CPR (i0, j0) is as follows.
  • FIG. 30 is a diagram illustrating reference regions R0, R1, and R2 set by the adaptive filter according to the present embodiment when the value of alf_length_luma_minus5_div2 [i0] is 1, 2, and 3, respectively.
  • a diamond-shaped reference area is illustrated, but the reference area in the present embodiment is not limited to these examples, and a rectangular reference in which the number of taps is specified by alf_length_luma_minus5_div2 [i0] An area may be used.
  • alf_length_luma_minus5_div2 [i0] is transmitted in a higher layer than a syntax alf_coeff_luma [i] [j] for specifying a filter coefficient described later.
  • a syntax for designating the number of taps of the filter for each characteristic value partial region obtained by the second stage division may be encoded.
  • the syntax alf_length_luma_minus5_div2 [i] [j] for designating the number of filter taps for each characteristic value partial region obtained in the second division is the same as that of alf_coeff_luma [i] [j]. Encoded.
  • adaptive filter processing can be performed using filter coefficients having different tap numbers for each region. Since the appropriate number of taps differs depending on the activity of the region and the effect of each region, the above configuration that can adaptively select the number of taps can improve the coding efficiency. For example, when the activity of the region is small, it is appropriate to take a larger number of taps than when the activity is large, and in the characteristic value partial region where the effect of the adaptive filter is large, the characteristic value partial region where the effect is small It is appropriate to use a larger number of taps.
  • the number of taps is encoded with the filter coefficients of the filters acting on a plurality of characteristic value partial areas as one unit instead of the filter coefficients of the filters acting on one characteristic value partial area.
  • alf_coeff_luma [i] [j] is more accurately an index [k] (0 ⁇ k ⁇ Ncomp ⁇ 1, where Ncomp is a filter coefficient component) for designating each component of the filter coefficient or filter coefficient residual. In this case, such index notation is omitted.
  • the offset component included in alf_coeff_luma [i] [j] may be transmitted in a higher layer than components other than the offset.
  • the offset component included in alf_coeff_luma [i] [j] is transmitted in the same layer as alf_length_luma_minus5_div2 [i0], and the components other than the offset are transmitted in a layer lower than alf_length_luma_minus5_div2 [i0]. It is good also as a structure which transmits.
  • alf_coeff_luma [i] [j] assigned to the characteristic value partial region CPR (i0, j0) is also expressed as alf_coeff_luma (i0, j0).
  • alf_region_pred_luma [i] [j] is a characteristic value partial area in which a plurality of characteristic value partial areas that can be referred to when deriving the predicted value of the filter coefficient are adjacent among the characteristic value partial areas CPR (i0, j0) Encoded for CPR.
  • the decoding of the filter coefficient for each characteristic value partial region included in the characteristic value region CR is performed in the reverse order of the raster scan, the characteristic value in which the characteristic value partial region is adjacent to both the right side and the lower side Alf_region_pred_luma is encoded for the partial region.
  • FIG. 31 is a diagram illustrating a prediction direction assigned to each characteristic value partial region CPR (i0, j0) obtained by performing the second stage division on the characteristic value partial region CPR [i0].
  • alf_region_pred_luma As a prediction direction, (1) the characteristic value partial region whose characteristic value Y is the same as the characteristic value partial region to be processed, or the characteristic value Y value is closer to the characteristic value partial region to be processed A prediction direction (upward) using a filter coefficient that has already been decoded for the characteristic value partial region as a predicted value, and (2) a characteristic value partial region having the same characteristic value X as the processing target characteristic value partial region, or a characteristic It is possible to select a prediction direction (lateral direction) using a filter coefficient that has already been decoded for a characteristic value partial region whose value X is closer to the processing target characteristic value partial region as a predicted value.
  • whether or not the characteristic value is close is determined according to the type of the characteristic value. For example, for a characteristic value expressed by a simple scalar quantity such as the degree of activity, a characteristic value having a smaller value difference is closer. On the other hand, the characteristic value expressed by assigning an index to a vector quantity (here, direction) such as directionality is closer to the one with the smaller angle formed by the original vector.
  • the filter parameter FP may be configured not to include alf_region_pred_luma [i] [j].
  • the upward direction may be fixedly used as shown in FIG.
  • the syntax alf_length_luma_minus5_div2 and alf_coeff_luma [0] [0] shown at the end of FIG. 26 indicate the filter parameter FP when the syntax alf_enable_region_filter is 0, that is, when the filtering process for each characteristic value partial region is specified to be off. Included in The number of taps is specified by alf_length_luma_minus5_div2, and the filter coefficient is specified by alf_coeff_luma [0] [0].
  • Descriptor (descriptor) u (1) shown in FIG. 26 indicates that the syntax associated with these descriptors is fixed-length encoded with 1 bit
  • u (2) is Indicates that the syntax associated with this descriptor is fixed-length encoded with 2 bits
  • ue (v) indicates that the syntax associated with this descriptor is variable-length encoded.
  • the value of the syntax alf_second_split_flag [i0] is one of 0 to 3, but this does not limit the present embodiment.
  • the syntax alf_second_split_flag [i0] may take any value from 0 to 7.
  • An example of subdivision specified by such syntax alf_second_split_flag [i0] is shown in FIG.
  • the characteristic value partial region CPR [i0] obtained by the initial division is divided into two at maximum with respect to the characteristic value X according to each value of alf_second_split_flag [i0]. Divided into three.
  • FIG. 34 is a block diagram showing a configuration of the moving picture decoding apparatus 3.
  • the moving image decoding device 3 includes an adaptive filter 50 instead of the adaptive filter 42 included in the moving image decoding device 1.
  • the filter parameter FP included in the encoded data # 3 is supplied to the adaptive filter 50.
  • description is abbreviate
  • Adaptive filter 50 When the syntax adaptive_loop_filter_flag is 1, the adaptive filter 50 generates a filtered decoded image P_FL by performing an adaptive filter process on the deblocked decoded image P_DB.
  • the adaptive filter 50 associates the target unit region with any of the above-described characteristic value partial regions according to the characteristic value of the deblocked decoded image P_DB in the target unit region, and the characteristic value portion to which the unit region is associated.
  • a filter process is performed on the unit area using the filter coefficient decoded for the area.
  • FIG. 35 is a block diagram showing the configuration of the adaptive filter 50.
  • the adaptive filter 50 includes an adaptive filter information decoding unit 51 and an adaptive filter unit 52.
  • the adaptive filter 50 includes an upper syntax decoding unit that decodes the syntax alf_enable_region_filter and the syntax alf_num_first_split_minus1.
  • the adaptive filter 50 performs filter processing for each characteristic value partial region.
  • the adaptive filter information decoding unit 51 derives the characteristic value division points PXn and PYm and the filter coefficient RegionFilterLuma [i0] [j0] by decoding the filter parameter FP included in the encoded data # 3. It is the composition.
  • Each derived characteristic value division point and filter coefficient RegionFilterLuma [i0] [j0] are supplied to the adaptive filter unit 52.
  • the derivation of the filter coefficient RegionFilterLuma [i0] [j0] by the adaptive filter information decoding unit 51 is performed in the raster scan order for each characteristic value partial region constituting the characteristic value region CR.
  • the adaptive filter information decoding unit 51 includes a region-specific tap number decoding unit 511, a region structure decoding unit 512, a filter coefficient residual decoding unit 513, a two-dimensional prediction flag decoding unit 514, and a filter coefficient prediction unit 515.
  • the area-specific tap number decoding unit 511 decodes the syntax alf_length_luma_minus5_div2 [i0] (0 ⁇ i0 ⁇ AlfNumFirstSplit) included in the filter parameter FP.
  • the decoded syntax alf_length_luma_minus5_div2 [i0] is allocated to the characteristic value partial region CPR [i0] and supplied to the filter coefficient residual decoding unit 513.
  • the syntax alf_length_luma_minus5_div2 [i0] is also supplied to the filter coefficient prediction unit 515, the filter coefficient decoding unit 516, the filter coefficient storage unit 517 for each region, the filter coefficient allocation unit 524, and the filter unit 525 (in FIG. 35). Arrow not shown).
  • the region structure decoding unit 512 decodes the syntax alf_second_split_type and alf_second_split_flag [i0] included in the filter parameter FP.
  • the decoded syntax alf_second_split_type is assigned to the entire characteristic value region CR and is supplied to the filter coefficient residual decoding unit 513, the two-dimensional prediction flag decoding unit 514, and the characteristic value division point setting unit 519.
  • the decoded syntax alf_second_split_flag [i0] is assigned to the characteristic value partial region CPR [i0], and the filter coefficient residual decoding unit 513, the two-dimensional prediction flag decoding unit 514, and the characteristic value division point setting unit 519.
  • the filter coefficient residual decoding unit 513 refers to alf_length_luma_minus5_div2 [i0], alf_second_split_type, and alf_second_split_flag [i0], decodes the syntax alf_coeff_luma [i] [j] included in the filter parameter FP, and each syntax alf_coeff_lum [i] [j] are assigned to the corresponding characteristic value partial regions CPR (i0, j0). Since the correspondence relationship between alf_coeff_luma [i] [j] and the characteristic value partial region CPR (i0, j0) has already been described in the description of the encoded data # 3, the description thereof is omitted here. Also, the decoded syntax alf_coeff_luma [i] [j] is supplied to the filter coefficient decoding unit 516.
  • the two-dimensional prediction flag decoding unit 514 refers to alf_second_split_type and alf_second_split_flag [i0], decodes the syntax alf_region_pred_luma [i] [j] included in the filter parameter FP, and each syntax alf_region_pred_luma [i] [j ] Are assigned to the characteristic value partial areas CPR (i0, j0) corresponding thereto. Since the correspondence between alf_region_pred_luma [i] [j] and the characteristic value partial region CPR (i0, j0) has already been described in the description of the encoded data # 3, the description thereof is omitted here. Also, the decoded syntax alf_region_pred_luma is supplied to the filter coefficient prediction unit 515.
  • the filter coefficient prediction unit 515 refers to the syntax alf_region_pred_luma, and uses the decoded filter coefficient RegionFilterLuma [i0 ′] [j0 ′] stored in the region-specific filter coefficient storage unit 517 to predict the prediction filter coefficient PredRegionFilterLuma [i0] [j0]. ] Is derived for each characteristic value partial region.
  • the derived prediction filter coefficient PredRegionFilterLuma [i0] [j0] is supplied to the filter coefficient decoding unit 516.
  • the filter coefficient predicting unit 515 determines that the syntax alf_region_pred_luma is set for the target characteristic value partial region.
  • the decoded filter coefficient RegionFilterLuma [i0 ′] [j0 ′] for the characteristic value partial region adjacent to the indicated direction is set to the prediction filter coefficient PredRegionFilterLuma [i0] [j0] for the target characteristic value partial region.
  • the filter coefficient prediction unit 515 decodes the filtered filter coefficient RegionFilterLuma [for the characteristic value partial region adjacent to the upper side of the target characteristic value partial region.
  • i0 ′] [j0 ′] is set to the prediction filter coefficient PredRegionFilterLuma [i0] [j0] for the target characteristic value partial region.
  • the filter coefficient decoding unit 516 adds the filter coefficient residual alf_coeff_luma (i0, j0) and the prediction filter coefficient PredRegionFilterLuma [i0] [j0] for each characteristic value partial region, thereby adding the filter coefficient RegionFilterLuma [i0] [j0]. ] Is assigned to each characteristic value sub-region.
  • the generated filter coefficient RegionFilterLuma [i0] [j0] is stored in the filter coefficient storage unit 517 for each region.
  • the characteristic value dividing point change flag decoding unit 518 decodes the syntax alf_first_split_val_shift included in the filter parameter FP.
  • the decoded syntax alf_first_split_val_shift is supplied to the characteristic value division point setting unit 519.
  • the characteristic value dividing point setting unit 519 derives characteristic value dividing points PXn (1 ⁇ n ⁇ NX ⁇ 1) and PYm (1 ⁇ m ⁇ NX ⁇ 1) based on alf_first_split_val_shift and alf_second_split_type.
  • the derived characteristic value division points PXn and PYm are supplied to the characteristic index calculation unit 523 included in the adaptive filter unit 52.
  • the characteristic value division point setting unit 519 refers to the characteristic value division point PXn (1 ⁇ n ⁇ NX ⁇ ) according to the characteristic value division information stored in advance in its own memory without referring to both alf_first_split_val_shift and alf_second_split_type. 1) and PYm (1 ⁇ m ⁇ NX-1) may be derived. In the case of such a configuration, it is preferable to use the same characteristic value division information in the moving image decoding device 3 and the moving image encoding device 4.
  • the adaptive filter unit 52 is configured to generate a filtered decoded image P_FL by performing an adaptive filter process on each unit region constituting the deblocked decoded image P_DB.
  • the filter coefficient used for the filter processing of each unit area is based on the characteristic value X of the deblocked decoded image P_DB in the unit area from the filter coefficient RegionFilterLuma [i0] [j0] decoded from the filter parameter FP. Or according to the characteristic value X and characteristic value Y of the deblocked decoded image P_DB in the unit area.
  • the generated filtered decoded image P_FL is stored in the buffer memory 15.
  • the adaptive filter unit 52 includes a first characteristic value calculation unit 521, a second characteristic value calculation unit 522, a characteristic index calculation unit 523, a filter coefficient assignment unit 524, and a filter unit 525. .
  • the image input to the adaptive filter unit 52 is not limited to the deblocked decoded image P_DB, and a plurality of input images can be input.
  • the adaptive filter unit 52 may be configured to input at least one of the decoded image P and the prediction residual D in addition to the deblocked decoded image P_DB.
  • a first characteristic value calculation unit 521 and a second characteristic value calculation unit 522 which will be described later, not only for the deblocked decoded image P_DB but also for at least one of the decoded image P and the prediction residual D.
  • Each characteristic value may be calculated, and the filter unit 525 may perform an adaptive filter process on each input image, add the filtered images, and output the result.
  • the filter parameter FP may include a filter coefficient for each input image and a filter coefficient corresponding to each characteristic value partial region.
  • the first characteristic value calculation unit 521 calculates a characteristic value X for the deblocked decoded image P_DB in the target unit area that is the unit area to be processed.
  • a calculation process for calculating the activity level as the characteristic value X (characteristic value X calculation process example 1) and a calculation process for calculating the variance of the pixel values as the characteristic value X (characteristic value X calculation process example 2) will be described. I do. However, specific examples of the characteristic value X are not limited to these.
  • the first characteristic value calculation unit 521 calculates the activity ACT of the deblocked decoded image P_DB in the target unit region as the characteristic value X.
  • the activity is an index indicating the randomness of the image, and is there a large high-frequency component in the conversion coefficient obtained when DCT conversion is performed on the region including the target unit region?
  • the calculation is based on the pixel values of adjacent pixels. The greater the difference in pixel value between adjacent pixels, the greater the activity.
  • the calculated activity ACT is supplied to the characteristic index calculation unit 523 as the characteristic value X.
  • the target unit area is a rectangle of Bx pixels ⁇ By pixels
  • the coordinates of each pixel in the target unit area are (u, v) (u and v are 0 ⁇ u ⁇ Bx ⁇ 1 and 0 ⁇ v ⁇ By ⁇ , respectively. 1)
  • the pixel value of the deblocked decoded image P_DB at the coordinates is represented by S (u, v)
  • the first characteristic value calculation unit 521 for example, By using 1a
  • the activity ACT can be calculated.
  • Formula (2-1a) corresponds to the evaluation of the activity using the sum of absolute values of adjacent pixel values (Sum of Absolute Difference, SAD) as an index.
  • the first characteristic value calculation unit 521 may be configured to calculate the activity ACT by using the following formula (2-1b).
  • Formula (2-1b) corresponds to the evaluation of activity using the sum of modified Laplacians (Sum-Modified Laplacian, SML) of pixel values of adjacent pixels as an index.
  • the first characteristic value calculation unit 521 can calculate only the pixel S (i, j) in the target unit region.
  • the pixels S ( ⁇ 1, v), S (Bx, v), S (u, ⁇ 1), and S (u, By) adjacent to the target unit region are also referred to. That is, the characteristic value calculation reference region when using the formula (2-1a) or (2-1b) is the pixel S (u, v) in the target unit region and the pixel S ( ⁇ ) adjacent to the target unit region. 1, v), S (Bx, v), S (u, ⁇ 1), and S (u, By).
  • the pixel value of the deblocked decoded image P_DB may not be referred to for some pixels in the characteristic value calculation reference region.
  • the pixel value of the undecoded macroblock cannot be referred to.
  • the first characteristic value calculation unit 521 calculates the activity ACT without referring to those pixel values that cannot be referred to.
  • the first characteristic value calculation unit 521 partially limits the range of the sum of u and v in Equation (2-1a).
  • the activity ACT may be calculated using the following mathematical formula (2-1a ′) obtained as described above.
  • the first characteristic value calculation unit 521 refers to only the pixel values in the target unit region for the activity of the target unit region regardless of whether the target unit region is in contact with the slice boundary or the macroblock boundary. It can also be set as the structure calculated by doing. For example, the first characteristic value calculation unit 521 can also calculate the activity ACT by using the following formula (2-1c).
  • the mathematical expression (2-1c) corresponds to the evaluation of the activity of the pixel value of the adjacent pixel by using the SAD of the pixel value of the adjacent pixel as an index, like the mathematical expression (2-1a). Unlike (2-1a), the degree of activity is calculated by referring to only the pixels included in the target unit area.
  • the first characteristic value calculation unit 521 may be configured to calculate the activity ACT by using the following formula (2-1d).
  • Equation (2-1d) corresponds to evaluating the degree of activity using the SML of the pixel value of an adjacent pixel as an index, but Equation (2-1d) and Differently, the degree of activity is calculated by referring to only the pixels included in the target unit area.
  • the first characteristic value calculation unit 521 calculates the activity for the target unit region by referring to only the pixel values in the target unit region, as shown in FIG.
  • the calculated reference area CRR is the same area as the target unit area UR.
  • a variance VP which will be described later, is also an example of the degree of activity that can be calculated with reference to only pixel values in the target unit region.
  • the first characteristic value calculation unit 521 calculates the activity for the target unit region by referring only to the pixel values in the target unit region, the first characteristic value calculation unit 521 also refers to the pixel values other than the target unit region.
  • the number of pixels read from the buffer memory 15 is reduced, and the data transmission amount from the buffer memory 15 to the adaptive filter 50 is reduced. Further, since the number of pixels referred to calculate the activity level is small and exception processing is unnecessary, the processing amount for calculating the activity level is reduced.
  • the first characteristic value calculation unit 521 that calculates the activity ACT by using the mathematical expression (2-1c) can also be expressed as follows. That is, the first characteristic value calculation unit 521 determines the activity ACT (u, v) for the pixel (u, v) in the vicinity of the coordinates (u, v) ⁇ (u, v), (u + 1, v), (U, v + 1) ⁇ is calculated with reference to the pixel value of each pixel, and the ACT in the inner region ⁇ (u, v)
  • the ACT for the target unit area is calculated using the sum of (u, v).
  • the first characteristic value calculation unit 521 that calculates the activity ACT by using the mathematical formula (2-1d) can be expressed as follows. That is, the first characteristic value calculation unit 521 determines the activity ACT (u, v) for the pixel (u, v) in the vicinity of the coordinates (u, v) ⁇ (u, v), (u + 1, v), (U, v + 1), (u ⁇ 1, v), (u, v ⁇ 1) ⁇ is calculated with reference to the pixel value of each pixel, and the inner region ⁇ (u, v)
  • the ACT for the target unit region is calculated using the sum of ACT (u, v) in u ⁇ Bx ⁇ 2, 1 ⁇ v ⁇ By ⁇ 2 ⁇ .
  • the first characteristic value calculation unit 521 that calculates the activity by referring only to the pixels included in the target unit region is an internal region in which the entire neighborhood of the target unit region includes pixels included in the target unit region. After deriving the activity of each pixel belonging to the area by referring to the pixel values of the pixels included in the vicinity of the pixel, the activity of the target unit area is determined from the activity of each pixel belonging to the internal area. It can also be expressed as something to be calculated.
  • the configuration for calculating the degree of activity with reference to only the pixels included in the target unit region is not limited to the above example, and the target unit region is a pixel whose entire neighborhood is included in the target unit region. Is divided into a peripheral region consisting of pixels that are not included in the target unit region, and the activity of each pixel belonging to the internal region is referred to the pixel value of the pixel in the vicinity of the pixel. And the activity of each pixel belonging to the peripheral region is derived by referring to the pixel value of the pixel in the vicinity of the pixel and in the unit region, and then belonging to the unit region A configuration may be employed in which the degree of activity for the unit region is calculated from the degree of activity of each pixel.
  • the first characteristic value calculation unit 521 may be configured to calculate the activity ACT by the same processing as the activity calculation unit 423 in the first embodiment. However, “divided areas” and “partitions” in the first embodiment correspond to “unit areas” in the present embodiment.
  • the first characteristic value calculation unit 521 calculates the variance VP of the pixel values of the deblocked decoded image P_DB in the target unit region as the characteristic value X.
  • the calculated variance VP is supplied to the characteristic index calculation unit 523 as the characteristic value X.
  • the target unit region is a rectangle of Bx pixels ⁇ By pixels
  • the coordinates of each pixel in the target unit region are (u, v) (u and v are 0 ⁇ u ⁇ Bx ⁇ 1 and 0 ⁇ v, respectively).
  • ⁇ By ⁇ 1 the coordinates of each pixel in the target unit region
  • the pixel value of the deblocked decoded image P_DB at the coordinates is represented by S (u, v)
  • the first characteristic value calculation unit 521 may, for example, The variance VP is calculated using (2-2).
  • the variance VP calculated by the first characteristic value calculation unit 521 functions as an index indicating the randomness of the deblocked decoded image P_DB in the target unit region, similar to the activity ACT described above.
  • the second characteristic value calculation unit 522 calculates a characteristic value Y for the deblocked decoded image P_DB in the target unit region.
  • calculation processing for calculating the directionality of an image as the characteristic value Y (characteristic value Y calculation processing example 1) and (characteristic value Y calculation processing example 2), and calculation processing for calculating an average pixel value as the characteristic value X (Calculation process example 2 of characteristic value Y) and calculation process (calculation process example 3 of characteristic value Y) of calculating the coordinate value of the target unit region as the characteristic value X
  • specific examples of the characteristic value Y are not limited to these.
  • the second characteristic value calculation unit 522 calculates the directionality of the deblocked decoded image in the target unit region as the characteristic value Y.
  • An index indicating the calculated directionality (direction index) is supplied as a characteristic value Y to the characteristic index calculation unit 523.
  • the second characteristic value calculation unit 522 first calculates the vertical activity ACT_V and the horizontal activity ACT_H of the deblocked decoded image P_DB in the target unit region.
  • the horizontal direction activity ACT_H and the vertical direction activity ACT_V can be calculated by, for example, the first term and the second term of the above-described formula (2-1a), respectively.
  • the horizontal direction activity ACT_H and the vertical direction activity ACT_V are respectively determined by the first term and the second term of any one of the equations (2-1b) to (2-1d). It can also be calculated.
  • the second characteristic value calculation unit 522 supplies the direction index listed below as the characteristic value Y to the characteristic index calculation unit 523 according to the magnitudes of the vertical activity ACT_V and the horizontal activity ACT_H. To do.
  • the second characteristic value calculation unit 522 classifies the directionality of the deblocked decoded image in the target unit region into three according to the sizes of the vertical direction activity ACT_V and the horizontal direction activity ACT_H, It is good also as a structure which outputs the direction index which shows those directions, and classifies the directionality of the deblocked decoded image in an object unit area into two, and also has the structure which outputs the direction index which shows those directions Good. Further, the directionality of the deblocked decoded image in the target unit region may be classified into five or more according to the size of each of the vertical activity ACT_V and the horizontal activity ACT_H.
  • the second characteristic value calculation unit 522 determines the directionality of the deblocked decoded image in the target unit region according to the size of each of the vertical activity ACT_V and the horizontal activity ACT_H as follows. Can be classified.
  • the second characteristic value calculation unit 522 for example, as described below, the directionality of the deblocked decoded image in the target unit region according to the sizes of the vertical activity ACT_V and the horizontal activity ACT_H. Can be classified into two.
  • the characteristic value partial region CPR [i0] obtained by the initial division is related to the characteristic value Y.
  • the second characteristic value calculation unit 522 calculates the directionality of the deblocked decoded image in the target unit region as the characteristic value Y.
  • the edge direction of the deblocked decoded image in the target unit region is detected, and the direction index is determined according to the detected edge direction. Is supplied to the characteristic index calculation unit 523 as the characteristic value Y.
  • the edge direction detection processing in this processing example is the same as the edge direction detection processing by the edge direction detection unit 422 in the first embodiment.
  • the second characteristic value calculation unit 522 generates a direction index as follows by performing case classification according to the magnitude relationship between Sobel_y and Sobel_x.
  • the characteristic value partial region CPR [i0] obtained by the initial division has the maximum number of direction indexes with respect to the characteristic value Y. Subdivided into the same number of characteristic value sub-regions.
  • the second characteristic value calculation unit 522 calculates, as the characteristic value Y, the average (also referred to as average pixel value) of the pixel values of the deblocked decoded image in the target unit region, and calculates the calculated average pixel value. , And supplied to the characteristic index calculation unit 523 as the characteristic value Y.
  • the second characteristic value calculation unit 522 calculates the average pixel value MP by reading each pixel value of the deblocked decoded image P_DB in the target unit region to be processed from the buffer memory 15 and averaging the pixel values. To do.
  • the target unit area is a rectangle of Bx pixels ⁇ By pixels
  • the coordinates of each pixel in the target unit area are (u, v) (u and v are 0 ⁇ u ⁇ Bx ⁇ 1 and 0 ⁇ v ⁇ By ⁇ , respectively. 1)
  • the pixel value of the deblocked decoded image P_DB at the coordinates is represented by S (u, v)
  • the second characteristic value calculation unit 522 for example,
  • the average pixel value MP can be calculated by taking a simple average of the pixel values using 3).
  • the second characteristic value calculation unit 522 calculates the average pixel value MP by taking a weighted average using a predetermined weighting factor for each pixel value instead of taking a simple average of each pixel value. Also good.
  • the characteristic value partial region CPR [i0] obtained by the initial division is subdivided into a maximum of four characteristic value partial regions with respect to the characteristic value Y is taken as an example.
  • the present embodiment is not limited to this.
  • the second characteristic value calculation unit 522 calculates the coordinates of the target unit region in the processing target frame (or processing target slice). The calculated coordinates are supplied to the characteristic index calculation unit 523 as the characteristic value Y.
  • the coordinates of the target unit region are more accurately the coordinates of the representative pixels of the target unit region.
  • the representative pixel for example, a pixel in the target unit region and the upper left pixel of the target unit region can be used.
  • the specific position of the representative pixel in the target unit region is not limited to the present embodiment.
  • the coordinates of the target unit area in the processing target frame can be calculated by referring to the following information decoded from the encoded data # 3.
  • the adaptive filter 50 refers to information indicating the position of the set unit area, The coordinates of the target unit area can be specified.
  • the characteristic index calculation unit 523 sets the characteristic value X supplied from the first characteristic value calculation unit 521 and the characteristic value Y supplied from the second characteristic value calculation unit 522 for the target unit region, respectively, as characteristic value division points PXn. And by comparing with PYm, the index (i0, j0) in the characteristic value area is assigned to the target unit area. Further, the characteristic value region index (i0, j0) assigned to the target unit region is supplied to the filter coefficient assigning unit 524.
  • the characteristic index calculation unit 523 first compares the characteristic value X for the target unit region with the initial division point used for the first stage division among the characteristic value division points PX1 to PX_NX ⁇ 1 to thereby obtain the initial division index. [I0] is calculated, and the calculated initial division index [i0] is assigned to the target unit area. As shown in FIG. 27B, when PX2 and PX4 are used as the initial division points, the initial division index [i0] is calculated as follows.
  • the characteristic index calculation unit 523 refers to alf_second_split_type and alf_second_split_flag [i0]
  • the re-division index [j0] is calculated by comparing the characteristic value X and the characteristic value Y with the re-division point used for the second-stage division.
  • the calculated subdivision index [j0] is assigned to the target unit area.
  • the calculation process of the subdivision index [j0] for the assigned target unit area may be read as PX1 in the following description.
  • alf_second_split_type 1, the characteristic index calculation unit 523 calculates the re-division index [j0] for the target unit
  • the filter coefficient assigning unit 524 reads the filter coefficient RegionFilterLuma [i0] [j0] corresponding to the index (i0, j0) in the characteristic value area assigned to the target unit area from the filter coefficient RegionFilterLuma [i0] [j0] corresponding to the index (i0, j0) in the characteristic value area assigned to the target unit area from the filter coefficient RegionFilterLuma [i0] [j0] corresponding to the index (i0, j0) in the characteristic value area assigned to the target unit area from the
  • the filter unit 525 generates a filtered decoded image P_FL in the target unit region by performing a filtering process using the filter coefficient RegionFilterLuma [i0] [j0] on the target unit region.
  • the generated filtered decoded image P_FL is stored in the buffer memory 15.
  • the pixel value of the pixel to be filtered in the filtered decoded image P_FL (also referred to as “filtered image”) is represented as SF (x ′, y ′), and the deblocked decoded image P_DB (“prefiltered”). If the pixel value in the “image” is also expressed as S (x, y), the filter unit 525 calculates the pixel value SF (x ′, y ′) by the following equation (2-4). .
  • 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.
  • a (u, v) represents a filter coefficient to be multiplied by the pixel value S (x + u, y + v) of the pre-filter image, and the filter coefficient RegionFilterLuma [i0] [j0] supplied from the filter coefficient assigning unit 524 Corresponds to each component of.
  • o represents an offset component included in the filter coefficient RegionFilterLuma [i0] [j0].
  • R in Expression (2-4) represents an area referred to in filter processing (also referred to as “filter reference area R”).
  • the number of taps in the reference region R is specified by alf_length_luma_minus5_div2 [i0].
  • any of the reference regions R0, R1, and R2 set according to each value of alf_length_luma_minus5_div2 [i0] may be used.
  • a diamond-shaped reference region is illustrated, but the reference region R in the present embodiment is not limited to these examples, and is a rectangular shape in which the number of taps is specified by alf_length_luma_minus5_div2 [i0].
  • a reference area may be used.
  • Moving picture coding apparatus 4 that generates the coded data # 3 by coding the picture to be coded will be described with reference to FIGS.
  • the same wording and the same reference numerals are used for the parts already described, and the description thereof is omitted.
  • FIG. 37 is a block diagram showing a configuration of the video encoding device 4 according to the present embodiment.
  • the moving image encoding device 4 includes an adaptive filter 60 instead of the adaptive filter 34 included in the moving image encoding device 2 according to the first embodiment.
  • the other configuration of the video encoding device 4 is the same as the configuration of the video encoding device 2 according to the first embodiment, and a description thereof will be omitted.
  • the adaptive filter 60 generates a filtered decoded image P_FL by performing an adaptive filter process on the deblocked decoded image P_DB.
  • the generated filtered decoded image P_FL is stored in the buffer memory 24.
  • the adaptive filter 60 also supplies various types of adaptive filter information used for the filter processing to the variable length code encoding unit 22 as filter parameters FP.
  • the variable length code encoding unit 22 encodes the filter parameter FP as a part of the encoded data # 3.
  • FIG. 38 is a block diagram showing the configuration of the adaptive filter 60.
  • the adaptive filter 60 includes an adaptive filter information setting unit 61 and an adaptive filter unit 62.
  • the adaptive filter information setting unit 61 includes a region-specific tap number setting unit 611, a region structure setting unit 612, a filter parameter generation unit 613, a two-dimensional prediction flag setting unit 614, a filter coefficient prediction unit 515, a filter A coefficient residual generation unit 616, a characteristic-specific filter coefficient storage unit 617, a characteristic value division point change flag setting unit 618, and a characteristic value division point setting unit 519 are provided.
  • the area-specific tap number setting unit 611 sets a syntax alf_length_luma_minus5_div2 [i0] for designating the number of taps for the characteristic value partial area CPR [i0] obtained by the initial division.
  • the set syntax alf_length_luma_minus5_div2 [i0] is supplied to the filter parameter generation unit 613.
  • the syntax alf_length_luma_minus5_div2 [i0] is also supplied to the filter coefficient prediction unit 515, the filter coefficient residual generation unit 616, the filter coefficient storage unit 617 for each region, the filter coefficient derivation unit 624, and the filter unit 525 (see FIG. 38, arrow not shown).
  • alf_length_luma_minus5_div2 [i0] Since the specific value that alf_length_luma_minus5_div2 [i0] can take and the correspondence between the specific value of alf_length_luma_minus5_div2 [i0] and the number of taps AlfLengthLuma of the reference region R have already been described, the description thereof is omitted here.
  • alf_length_luma_minus5_div2 [i0] is determined so that the encoding efficiency is further improved.
  • the region structure setting unit 612 includes a flag alf_second_split_type for designating the type of subdivision, and a syntax alf_second_split_flag [i0 for designating a specific mode of subdivision for each characteristic value partial region obtained by the initial division. ] Is set.
  • the set flag alf_second_split_type and syntax alf_second_split_flag [i0] are supplied to the characteristic value division point setting unit 519, the two-dimensional prediction flag setting unit 614, and the filter parameter generation unit 613.
  • alf_second_split_type and alf_second_split_flag [i0] are determined so that the encoding efficiency is further improved.
  • the two-dimensional prediction flag setting unit 614 refers to alf_second_split_type and alf_second_split_flag [i0], and flags alf_region_pred_luma [i] [i] [ j] is set.
  • the set flag alf_region_pred_luma [i] [j] is supplied to the filter coefficient prediction unit 515.
  • alf_region_pred_luma [i] [j] Since the possible values of alf_region_pred_luma [i] [j] and the correspondence between the specific values of alf_region_pred_luma [i] [j] and the prediction direction have already been described, the description thereof is omitted here. Note that the specific value of alf_region_pred_luma [i] [j] is determined so that the coding efficiency is further improved.
  • the filter coefficient residual 616 is the difference between the prediction filter coefficient PredRegionFilterLuma supplied from the filter coefficient prediction unit 515 and the filter coefficient RegionFilterLuma read from the characteristic-specific filter coefficient storage unit 617 for each characteristic value partial region CPR (i0, j0).
  • the generated filter coefficient residual alf_coeff_luma [i] [j] is supplied to the filter parameter generation unit 613.
  • the characteristic value dividing point change flag setting unit 618 sets a flag alf_first_split_val_shift referred to for changing the characteristic value dividing point PXn (1 ⁇ n ⁇ NX ⁇ 1).
  • the set flag alf_first_split_val_shift is supplied to the characteristic value division point setting unit 519.
  • alf_first_split_val_shift is determined so that the encoding efficiency is further improved.
  • the filter parameter generation unit 613 generates a filter parameter FP from the syntax alf_length_luma_minus5_div2 [i0], alf_second_split_type, alf_second_split_flag [i0], alf_first_split_val_shift, and alf_coeff_luma [i] [j].
  • the generated filter parameter FP is supplied to the variable length code encoder 22.
  • the filter parameter FP includes a syntax alf_enable_region_filter for specifying whether or not to perform filter processing for each characteristic value partial region, and a syntax alf_num_first_split_minus1 for specifying the initial division number AlfNumFirstSplit. Specific values of these syntaxes are determined so that the encoding efficiency is further improved.
  • the filter coefficient storage unit 617 for each characteristic stores the filter coefficient RegionFilterLuma [i0] [j0] derived by the filter coefficient deriving unit 624 described later.
  • the adaptive filter unit 62 includes a first characteristic value calculation unit 521, a second characteristic value calculation unit 522, a characteristic index calculation unit 523, a filter coefficient derivation unit 624, and a filter unit 525.
  • the filter coefficient deriving unit 624 derives a filter coefficient RegionFilterLuma [i0] [j0] such that an error between the filtered decoded image P_FL and the encoding target image in the target unit region becomes smaller.
  • the derived filter coefficient RegionFilterLuma [i0] [j0] is supplied to the filter unit 525 and stored in the characteristic-specific filter coefficient storage unit 617.
  • a filter coefficient is derived.
  • the unit 624 derives a filter coefficient a (u, v) and an offset o that minimize the square error E given by the following equation (2-5), for example.
  • the filter coefficient a (u, v) and the offset o are each component of RegionFilterLuma [i0] [j0].
  • FIG. FIG. 39 is a diagram showing each syntax included in the filter parameter FP (denoted as alf_param () in FIG. 39) according to this modification.
  • the characteristic value dividing points PX1 to PX_NX-1 for the first characteristic value X that is, the dividing points in the initial division are set according to the value of the syntax alf_num_first_split_minus1 that specifies the number of divisions of the initial division. Is done.
  • FIG. 40 is a table illustrating characteristic value division points PX1 to PX5 set according to each value of alf_num_first_split_minus1 in the present modification.
  • the division points are set according to the number of divisions of the initial division, so that the number of unit areas classified into each characteristic value partial area can be made closer to a certain level. For this reason, high encoding efficiency is realizable.
  • FIG. 41 to 44 a third embodiment of the present invention will be described with reference to FIGS. 41 to 44.
  • FIG. the same words and the same reference numerals are used for portions already described in the second embodiment, and the description thereof is omitted.
  • FIG. 41 is a diagram illustrating each syntax included in the filter parameter FP (denoted as alf_param () in FIG. 41) of the encoded data # 5 according to the present embodiment.
  • alf_filter_pattern (1 ⁇ i ⁇ AlfMaxNumFilters, AlfMaxNumFilters is the maximum value of the initial division points) is a flag for determining the initial division points in the initial division (first stage division). Regardless of whether or not subdivision (second stage division) is performed, the initial division point is determined by alf_filter_pattern [i].
  • encoding efficiency may be improved by reducing the code amount by not performing re-division.
  • Encoding efficiency can be improved by including alf_enable_second_split in the encoded data # 5.
  • alf_select_split_char is a syntax that specifies which of the plurality of candidates is used as the characteristic value Y. As shown in FIG. 42A, alf_select_split_char specifies the characteristic value X and the characteristic value Y as follows.
  • the y coordinate refers to the in-frame y coordinate of the target unit region in the processing target frame
  • the x coordinate refers to the target unit region in the processing target frame. The x coordinate in the frame.
  • the characteristic value Y is calculated using, for example, the vertical direction activity ACT_V and the horizontal direction activity ACT_H.
  • FIG. 42B shows a specific example of subdivision points PY1 to PY3 set for each value of alf_select_split_char.
  • “height” refers to the number of pixels in the y direction of the frame
  • “width” refers to the number of pixels in the x direction of the frame.
  • FIG. 42 (c) shows the relationship between alf_second_split_val [k] and the subdivision points PY1 to PY3. As shown in FIG. 42 (c), each value of the subdivision points PY1 to PY3 is determined according to each value of alf_second_split_val [k].
  • Alf_secocond_split_flag and the above alf_filter_pattern, alf_enable_second_split, alf_select_split_char, alf_enable_second_split_val, and alf_second_split_val constitute characteristic value division information that specifies how to divide the characteristic value region CR into each characteristic value partial region CPR.
  • alf_region_disable_idc is a flag (on / off designation information) for designating a region where the filtering process is turned off among the characteristic value partial regions obtained by the subdivision.
  • alf_second_split_flag [i0] is 0, that is, when subdivision is not performed, alf_region_disable_idc [i0] takes a value of ⁇ 1 or 0, and the value of alf_second_split_flag [i0] is 1 or 2.
  • alf_region_disable_idc [i0] takes any value of -1, 0, 1 and when the value of alf_second_split_flag [i0] is 3, ie, the subdivision is 4 In the case of division, alf_region_disable_idc [i0] takes a value of -1, 0, 1, 2, or 3.
  • the filter coefficient (or filter coefficient residual) alf_coeff_luma is not encoded for the characteristic value partial region for which the filter processing is specified to be off.
  • FIG. 41 exemplifies a configuration that does not include the syntax alf_region_pred_luma that specifies the prediction direction when deriving the prediction filter coefficient.
  • the filter parameter FP may include the syntax alf_region_pred_luma.
  • the video decoding device includes an adaptive filter 70 instead of the adaptive filter 50 included in the video decoding device 3 according to the second embodiment.
  • the other configuration of the video decoding device according to the present embodiment is the same as the configuration of the video decoding device 3 according to the second embodiment, and a description thereof will be omitted.
  • FIG. 43 is a block diagram showing the configuration of the adaptive filter 70.
  • the adaptive filter 70 includes an area structure decoding unit 512, a filter coefficient residual decoding unit 513, a characteristic value division point change flag decoding unit 518, a characteristic value division point setting unit 519, and Instead of the second characteristic value calculation unit 522, a region structure decoding unit 712, a filter coefficient residual decoding unit 713, a characteristic value division point change flag decoding unit 718, a characteristic value division point setting unit 719, and a second A characteristic value calculation unit 722 is provided.
  • the adaptive filter 70 includes an adaptive filter-off decoding unit 731 and a characteristic selection flag decoding unit 732. Other configurations of the adaptive filter 70 are the same as those of the adaptive filter 50.
  • FIG. 43 illustrates a configuration that does not include the two-dimensional prediction flag decoding unit 514 included in the adaptive filter 50.
  • the adaptive filter 70 is configured to include the two-dimensional prediction flag. It is good also as a structure provided with the decoding part 514, and a structure which includes alf_region_pred_luma in coding data # 5.
  • the adaptive filter-off decoding unit 731 decodes the syntax alf_disable_region_idc [i0] included in the filter parameter FP.
  • the decoded syntax alf_disable_region_idc [i0] is supplied to the filter coefficient residual decoding unit 713 and the filter unit 525.
  • alf_disable_region_idc [i0] specifies that the filtering process is turned off, the filter unit 525 does not perform the filtering process.
  • the region structure decoding unit 712 decodes the syntax alf_second_split_flag [i0] included in the filter parameter FP.
  • the decoded syntax alf_second_split_flag [i0] is allocated to the characteristic value partial region CPR [i0] and is also supplied to the filter coefficient residual decoding unit 713 and the characteristic value division point setting unit 719.
  • the filter coefficient residual decoding unit 713 refers to alf_length_luma_minus5_div2 [i0], alf_disable_region_idc [i0], and alf_second_split_flag [i0], and decodes the syntax alf_coeff_luma [i] [j] included in the filter parameter FP.
  • the tax alf_coeff_luma [i] [j] is assigned to the corresponding characteristic value partial region CPR (i0, j0).
  • alf_coeff_luma [i] [j] Since the correspondence between alf_coeff_luma [i] [j] and the characteristic value partial region CPR (i0, j0) is the same as the correspondence already described in the description of the encoded data # 3 according to the second embodiment, here Description is omitted. Also, the decoded syntax alf_coeff_luma [i] [j] is supplied to the filter coefficient decoding unit 516.
  • filter coefficient residual decoding unit 713 does not decode the filter coefficient residual alf_coeff_luma [i] [j] for the characteristic value partial region in which the filter processing is specified to be off by alf_disable_region_idc [i0].
  • the decoded syntax alf_second_split_val [k] is supplied to the characteristic value division point setting unit 719.
  • the characteristic value selection flag decoding unit 732 decodes the syntax alf_second_split_char included in the filter parameter FP.
  • the decoded syntax alf_second_split_char is supplied to the characteristic value division point setting unit 719 and the second characteristic value calculation unit 722.
  • the characteristic value dividing point setting unit 719 Based on alf_second_split_flag [i0], alf_second_split_val [k], and alf_second_split_char, the characteristic value dividing point setting unit 719 performs characteristic value dividing points PXn (1 ⁇ n ⁇ NX ⁇ 1) and PYm (1 ⁇ m ⁇ NX ⁇ 1). ) Is derived. The derived characteristic value division points PXn and PYm are supplied to the characteristic index calculation unit 523.
  • the second characteristic value calculation unit 722 calculates a characteristic value specified by alf_second_split_char for the deblocked decoded image P_DB in the target unit region.
  • the calculated characteristic value is supplied as the characteristic value Y to the characteristic index calculation unit 523.
  • Moving picture encoding apparatus 6 that generates the encoded data # 5 by encoding the encoding target picture will be described with reference to FIG.
  • the same wording and the same reference numerals are used for the parts already described, and the description thereof is omitted.
  • the moving picture encoding apparatus includes an adaptive filter 80 instead of the adaptive filter 60 included in the moving picture encoding apparatus 4 according to the second embodiment.
  • Other configurations of the video decoding device according to the present embodiment are the same as the configurations of the video encoding device 4 according to the second embodiment, and thus the description thereof is omitted.
  • the adaptive filter 80 generates a filtered decoded image P_FL by performing an adaptive filter process on the deblocked decoded image P_DB.
  • the generated filtered decoded image P_FL is stored in the buffer memory 24.
  • the adaptive filter 80 supplies various types of adaptive filter information used for the filter processing to the variable length code encoding unit 22 as filter parameters FP.
  • the variable length code encoding unit 22 encodes the filter parameter FP as a part of the encoded data # 5.
  • the adaptive filter 80 includes an adaptive filter information setting unit 81 and an adaptive filter unit 82.
  • the adaptive filter information setting unit 81 includes a region-specific tap number setting unit 611, an adaptive on / off setting unit 831, a region structure setting unit 812, a characteristic value division point change flag setting unit 818, and a characteristic selection flag setting.
  • the adaptive filter off setting unit 831 sets a flag alf_region_disable_idc [i0] for designating a region where the filter processing is turned off among the characteristic value partial regions obtained by the re-division.
  • the set flag alf_region_disable_idc [i0] is supplied to the filter parameter generation unit 813 and the filter unit 525.
  • alf_region_disable_idc [i0] specifies that the filtering process is turned off, the filter unit 525 does not perform the filtering process.
  • alf_region_disable_idc [i0] the specific value of alf_region_disable_idc [i0] is determined so that the coding efficiency is further improved.
  • the region structure setting unit 812 sets a syntax alf_second_split_flag [i0] for designating a specific mode of subdivision for each characteristic value partial region obtained by the initial division.
  • the set syntax alf_second_split_flag [i0] is supplied to the characteristic value division point setting unit 719 and the filter parameter generation unit 813.
  • alf_second_split_flag [i0] the specific value of alf_second_split_flag [i0] is determined so that the coding efficiency is further improved.
  • the set syntax alf_second_split_val [k] is supplied to the characteristic value division point setting unit 719 and the filter parameter generation unit 813.
  • alf_second_split_val [k] the specific value of alf_second_split_val [k] is determined so that the coding efficiency is further improved.
  • the characteristic selection flag setting unit 832 sets a syntax alf_select_split_char that specifies which characteristic value of a plurality of candidates is used as the characteristic value Y.
  • the set syntax alf_select_split_char is supplied to the characteristic value division point setting unit 719, the filter parameter generation unit 813, and the second characteristic value calculation unit 722.
  • alf_select_split_char a specific value of alf_select_split_char is determined so that the encoding efficiency is further improved.
  • the filter parameter generation unit 813 generates a parameter F from the syntax alf_length_luma_minus5_div2 [i0], alf_disable_region_idc [i0], alf_second_split_flag [i0], alf_second_split_val, alf_second_split_char, and alf_coeff_luma [i] [j].
  • the generated filter parameter FP is supplied to the variable length code encoder 22.
  • the filter parameter FP includes a syntax alf_enable_region_filter for specifying whether or not to perform filter processing for each characteristic value partial region, flags alf_filter_pattern and alf_second_split_val [k] for determining an initial division point in the initial division.
  • a flag alf_enable_second_split_val indicating whether or not included in the FP and a syntax alf_num_first_split_minus1 for specifying the division number AlfNumFirstSplit of the initial division are included. Specific values of these syntaxes are determined so that the encoding efficiency is further improved.
  • the adaptive filter unit 82 includes a first characteristic value calculation unit 521, a second characteristic value calculation unit 722, a characteristic index calculation unit 523, a filter coefficient derivation unit 624, and a filter 525. Since these parts have already been described, description thereof will be omitted.
  • Embodiment 2 and Embodiment 3 Among the syntaxes included in the filter parameter FP of the encoded data # 3 in the second embodiment, at least one of the syntaxes included in the filter parameter FP of the encoded data # 5 in the second embodiment, and among the syntaxes included in the filter parameter FP of the encoded data # 5 in the third embodiment, A filter parameter FP ′ including at least one syntax is also included in the scope of the present invention.
  • Such a moving image decoding apparatus that decodes the filter parameter FP ′ includes each part necessary for decoding the syntax included in the filter parameter FP ′ among the parts already described in the second and third embodiments. What is necessary is just composition.
  • the filter parameter FP of the encoded data # 3 in the second embodiment may include a syntax alf_second_split_char, alf_enable_second_split_val, and alf_second_split_val included in the filter parameter FP of the encoded data # 5.
  • the adaptive filter 50 included in the video decoding device 3 may be configured to include the characteristic selection flag decoding unit 732 and the characteristic value division point change flag decoding unit 718.
  • the filter parameter FP of the encoded data # 5 in the third embodiment may be configured not to include the syntax alf_region_disable_idc [i0].
  • the video decoding device 5 that decodes the encoded data # 5 is configured to perform adaptive filter processing on all unit regions.
  • the macroblock in the above embodiment is H.264.
  • Macroblocks and blocks correspond to HEVC CUs (sometimes referred to as coding units, coding tree leaves), PUs (Prediction Units), or TUs (Transformation Units).
  • An image filter device is an image filter device that calculates a pixel value of each pixel in an output image from a pixel value in a reference region determined according to the position of the pixel in an input image and a filter coefficient group.
  • Directionality identifying means for identifying the directionality of the input image in each of the plurality of unit areas constituting the input image, and the directionality of the input image in each unit area identified by the directionality identification means
  • Classifying means for classifying each unit area into any of a plurality of unit area groups according to which of a plurality of defined groups belongs, and a unit including the pixel for a pixel value of each pixel in the output image
  • a filter means for calculating using a filter coefficient group optimized for the unit area group to which the area belongs.
  • the inventor when the directionality of the input image input to the image filter device is different for each region (unit region) constituting the input image, the filter coefficient according to the difference in directionality It has been found that by switching the group, the prediction accuracy of the predicted image generated with reference to the output image can be improved.
  • the direction identification means identifies the directionality of the input image in each of a plurality of unit regions constituting the input image, and the classification means Are classified into any of a plurality of unit area groups according to which of the plurality of predetermined groups belong to, and the filter means determines the pixel value of each pixel in the output image Since the calculation is performed using the optimized filter coefficient group for the unit region group to which the unit region including the pixel belongs, when the directionality of the input image is different for each unit region, it is appropriate according to the directionality. Filter processing can be performed.
  • the image filter device configured as described above, even if the input image has an image characteristic that does not improve the encoding efficiency even when the filter coefficient group is switched depending on the degree of activity, the output The prediction accuracy of the predicted image generated with reference to the image can be improved.
  • the directionality of the input image in each unit region can be defined as a direction orthogonal to the local gradient direction of the input image in each unit region, for example.
  • the gradient of the image is a curved surface ⁇ (x defined in a three-dimensional space having x, y, z as coordinates, where the pixel value of the pixel (x, y) is z (x, y). , Y, z (x, y))
  • Nx, Ny, and Nz respectively represent the total number of pixels in the x direction, the total number of pixels in the y direction, and the maximum value that the pixel value z can take.
  • the directionality of the input image in each unit region can be expressed as a direction in which the correlation between the pixel values of the input image in each unit region is higher.
  • the direction identification means may be configured to directly identify the directionality of the input image in each unit region by detecting an edge of the input image, or the image filter device may perform intra-screen prediction.
  • the image filter device may perform intra-screen prediction.
  • predicted image generation means for generating an intra-predicted image by the above it may be configured to be indirectly identified by the direction indicated by the intra-prediction mode that is referred to when generating the intra-predicted image. It is good also as a structure identified by.
  • the unit area represents each of a plurality of non-overlapping areas constituting the input image.
  • the unit region is a prediction that is a unit for generating a predicted image, for example. It may be a unit (partition), may be a conversion unit that is a unit of frequency conversion, or may be other than those.
  • the image filter device further includes an activity calculation unit that calculates an activity of the input image in each of the plurality of unit regions, and the classification unit includes a direction of the input image in each unit region. It is preferable to classify each unit region into one of a plurality of unit region groups according to which of the plurality of predetermined groups the sex and the activity belong to.
  • the activity calculation means calculates the activity of the input image in each of the plurality of unit areas
  • the classification means calculates the directionality and activity of the input image in each unit area. Since each unit region is classified into one of a plurality of unit region groups according to which of a plurality of predetermined groups belongs, the directionality of the input image input to the image filter device is a unit. Even when the region is different for each region and when the activity of the input image is different for each unit region, it is possible to perform the filtering process using the optimum filter coefficient group for each unit region group. That is, even when the directionality and activity of the input image are different for each unit region, an output image that is more suitable for generating a predicted image can be generated. Therefore, it is possible to improve the prediction accuracy of the prediction image generated with reference to the output image generated by the image filter device according to the present invention configured as described above.
  • the directionality identifying means identifies the directionality of the input image in each unit region by detecting the edge direction of the input image in each unit region.
  • the direction identification means identifies the directionality of the input image in each unit region by detecting the edge direction of the input image in each unit region.
  • the filter processing can be performed using the optimum filter coefficient group for each unit region group.
  • an optimized shape of the reference region is associated with each unit region group, and the shape of the reference region overlaps at least partly with the reference region. It is preferable to further include a reference area changing unit that optimizes the unit area group to which the unit area belongs.
  • the optimized shape of the reference region is associated with each unit region group, and the reference region changing means changes the shape of the reference region at least partially with the reference region. Since the unit area group to which the overlapping unit areas belong is optimized, the filter process can be performed using the optimum reference area for each unit area. Therefore, according to said structure, the output image more suitable for the production
  • the direction identification means refers to a reference image corresponding to the input image, a direction indicated by a prediction parameter used when generating a predicted image in each unit region by intra-screen prediction, and each unit region It is preferable that the directionality of the input image in each unit region is identified based on at least one of the shapes.
  • the prediction parameter (intra prediction mode) referred to when generating a predicted image in each unit area by intra-screen prediction is the above input in the unit area. It was found that there is a correlation with the directionality of the image.
  • each unit area also referred to as prediction unit or partition
  • the shape of each unit area (also referred to as prediction unit or partition) set in the intra prediction used in the AVC standard, KTA software, etc. and in the intra prediction used in the extended method is the unit. It has been found that there is a correlation with the directionality of the input image in the region. For example, when the longitudinal direction of the unit region is the horizontal direction, the input image in the unit region tends to have a lateral edge, and when the longitudinal direction of the unit region is the vertical direction, The input image in the unit area tends to have vertical edges.
  • the said directionality identification means produces
  • the direction of the input image is calculated by referring to a pixel value such as edge detection because the direction of the input image is identified based on at least one of the direction indicated by the prediction parameter and the shape of each unit area. Can be identified.
  • the input image is obtained, for example, by adding a residual image decoded from encoded data to the predicted image when the image filter device is used in a decoding device.
  • the image filter device is obtained by adding a residual image between the prediction image and the encoding target image to the prediction image.
  • the reference image corresponding to the input image referred to in the intra prediction is an image in the same frame as the input image input to the image filter device, and is predetermined from a unit area to be processed. It is preferable that the image is within a distance of. Further, when the image filter device is used in a decoding device, the reference image is an image within the same frame as the input image, and has been decoded within a predetermined distance from the unit area to be processed. Images can be used.
  • an optimized shape of the reference region is associated with each unit region group, and the shape of the reference region overlaps at least partly with the reference region. It is preferable to further include a reference area changing unit that optimizes the unit area group to which the unit area belongs.
  • the optimized shape of the reference region is associated with each unit region group, and the reference region changing means changes the shape of the reference region at least partially with the reference region. Since the unit area group to which the overlapping unit areas belong is optimized, the filter process can be performed using the optimum reference area for each unit area. Therefore, according to said structure, the output image more suitable for the production
  • the decoding device is a decoding device that decodes encoded data and generates a decoded image after filtering, wherein the image filter device and the predicted image in each unit region are represented by the image filter device.
  • a prediction image generation unit that generates a reference image by referring to the generated output image, and the image filter device includes a prediction image generated by the prediction image generation unit, a residual image decoded from the encoded data, and It is characterized in that the decoded image obtained by adding is used as an input image, and the decoded image after filtering is generated as an output image.
  • the image filter device included in the decoding device includes the prediction image generated by the prediction image generation unit and the residual decoded from the encoded data.
  • a decoded image obtained by adding the difference image is used as an input image, and an output image (using a filter coefficient group optimized for each unit region group according to the directionality of the input image (decoded image)) (Decoded image after filtering) is generated, so that even if the directionality of the input image is different for each unit region, an output image suitable as a reference image for generating a predicted image is generated. can do. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the encoding device having the configuration corresponding to the above configuration it is possible to improve the prediction accuracy of the predicted image even when the directionality of the encoding target image in each unit region is different for each unit region. Therefore, 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 is a decoding device that decodes encoded data and generates a decoded image after filtering, and includes the image filter device, and the image filter device corresponds to the input image.
  • a decoded image obtained by adding a prediction image generated by intra prediction with reference to a reference image and a residual image decoded from the encoded data is used as an input image, and the filtered image is output as an output image.
  • the decoded image is generated.
  • the image filter device included in the decoding device includes a prediction image generated by intra prediction and a residual image decoded from the encoded data. Is used as an input image, and an output image (filtered) is obtained using a filter coefficient group optimized for each unit region group according to the directionality of the input image (decoded image). Therefore, even when the directionality of the input image is different for each unit region, an output image suitable as an image to be referred to for generating a predicted image is generated. Can do. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the encoding device having the configuration corresponding to the above configuration it is possible to improve the prediction accuracy of the predicted image even when the directionality of the encoding target image in each unit region is different for each unit region. Therefore, 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 image filter device identifies the directionality of the input image in each unit area based on at least one of the direction indicated by the prediction parameter used in the intra prediction and the shape of each unit area.
  • the directionality of the input image can be identified without performing calculations that refer to pixel values such as edge detection, so that the amount of processing for identifying the directionality is reduced and encoding efficiency is high.
  • the encoded data can be decoded.
  • the reference image corresponding to the input image referred to in the intra prediction is an image in the same frame as the input image input to the image filter device, and is predetermined from a unit area to be processed. It is preferable that the image is within a distance of. Further, as the reference image, an image within the same frame as the input image and a decoded image within a predetermined distance from the unit area to be processed can be used.
  • the filter means refers to the directionality information associated with each of the plurality of filter coefficient groups decoded from the encoded data, and determines the plurality of filter coefficients from the plurality of filter coefficient groups included in the encoded data.
  • the filter coefficient group optimized for each of the unit area groups is selected, and the pixel value of each pixel in the output image is used as the filter coefficient group selected for the unit area group to which the unit area including the pixel belongs. It is preferable to calculate by
  • the filter means refers to the directionality information associated with each of the plurality of filter coefficient groups decoded from the encoded data, and the plurality of filters included in the encoded data.
  • a filter coefficient group optimized for each of the plurality of unit area groups is selected from the coefficient group, and a pixel value of each pixel in the output image is selected for the unit area group to which the unit area including the pixel belongs. Since the calculation is performed using the filter coefficient group, each filter coefficient group used in the encoding device that generates the encoded data can be appropriately allocated to the unit region group classified by the encoding device. .
  • a decoding device including the image filter device having the above configuration can appropriately decode encoded data generated by the encoding device and having high encoding efficiency.
  • An encoding apparatus is an encoding apparatus that generates encoded data by encoding a residual image between an encoding target image and a prediction image, the image filter device, and each unit Prediction image generation means for generating the prediction image in the region with reference to the output image generated by the image filter device, the image filter device, the prediction image generated by the prediction image generation means, A decoded image obtained by adding the residual image is used as an input image, and an output image is generated.
  • the image filter apparatus included in the encoding apparatus includes a prediction image generated by the prediction image generation unit, an encoding target image, and a prediction image.
  • a decoded image obtained by adding residual images is used as an input image, and an output image is generated using a filter coefficient group optimized for each unit region group in accordance with the directionality of the input image (decoded image). Therefore, even when the directionality of the input image is different for each unit region, an output image suitable as an image to be referred to for generating a predicted image can be generated. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • An encoding apparatus is an encoding apparatus that generates encoded data by encoding a residual image between an encoding target image and a predicted image, and includes the image filter device.
  • the filter device generates an output image using, as an input image, a decoded image obtained by adding a prediction image generated by intra prediction with reference to a reference image corresponding to the input image and the residual image. It is what is to be done.
  • the image filter device included in the decoding device includes a prediction image generated by intra prediction, a residual between an encoding target image and a prediction image. Since a decoded image obtained by adding images is used as an input image, an output image is generated using a filter coefficient group optimized for each unit region group according to the directionality of the input image (decoded image). Even when the directionality of the input image is different for each unit region, an output image suitable as an image to be referred to for generating a predicted image can be generated. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the image filter device identifies the directionality of the input image in each unit area based on at least one of the direction indicated by the prediction parameter used in the intra prediction and the shape of each unit area.
  • the directionality of the input image can be identified without performing calculations that refer to pixel values such as edge detection, so that the amount of processing for identifying the directionality is reduced and encoding efficiency is high. Encoded data can be generated.
  • the reference image corresponding to the input image referred to in the intra prediction is an image in the same frame as the input image input to the image filter device, and is predetermined from a unit area to be processed. It is preferable that the image is within a distance of. Further, as the reference image, an image within the same frame as the input image and a decoded image within a predetermined distance from the unit area to be processed can be used.
  • the filter coefficient group used by the filter means is determined so as to minimize the difference between the encoding target image and the output image for each unit region group.
  • the filter coefficient group used by the filter unit is determined so as to minimize the difference between the encoding target image and the output image for each unit region group.
  • the encoding device including the means can generate a prediction image with high prediction accuracy, and can thereby generate encoded data with high encoding efficiency.
  • the pixel value of each pixel in the output image is calculated from the pixel value in the reference area determined according to the position of the pixel in the input image and the filter coefficient group.
  • a data structure of encoded data referred to by an image filter device comprising: a plurality of filter coefficient groups; and directionality information associated with each of the plurality of filter coefficient groups.
  • Each unit area is classified into one of a plurality of unit area groups according to which of the plurality of predetermined groups the directionality of the input image in each of the plurality of unit areas constituting the input image.
  • the pixel value of each pixel in the output image is calculated using the filter coefficient group that is selected for the unit region group unit area including the pixel belongs, is characterized by.
  • the encoded data according to the present invention configured as described above includes a plurality of filter coefficient groups and directionality information associated with each of the plurality of filter coefficient groups.
  • the image filter device to be referenced selects a filter coefficient group optimized for each of the plurality of unit region groups from the plurality of filter coefficient groups with reference to the directionality information, and each pixel in the output image Is calculated using the filter coefficient group selected for the unit region group to which the unit region including the pixel belongs, and therefore, when the directionality of the input image is different for each unit region, the predicted image It is possible to generate a more suitable output image for generating the image. Therefore, it is possible to improve the prediction accuracy of the prediction image generated with reference to the output image generated by the image filter device according to the present invention configured as described above.
  • An image filter device is an image filter device that generates an output image from an input image generated for each unit region using intra prediction, and the pixel value of each pixel in the output image
  • the shape and size of each unit area is any of a plurality of predetermined groups.
  • Classifying means for classifying each unit area into one of a plurality of unit area groups depending on whether it belongs, and the pixel value of each pixel in the output image is optimized for the unit area group to which the unit area including the pixel belongs
  • the inventor switches the filter coefficient group for each unit region according to the shape and size difference of the unit region (prediction unit) constituting the input image generated for each unit region using intra prediction. Since a more suitable output image for generating a prediction image can be generated, the input image has an image characteristic that does not improve the encoding efficiency even if the filter coefficient group is switched depending on the degree of activity. It has also been found that the prediction accuracy of a predicted image generated with reference to the output image can be improved.
  • the classification unit includes a plurality of unit regions according to which of the plurality of predetermined groups the shape and size of each unit region belong to.
  • the filter means calculates the pixel value of each pixel in the output image using a filter coefficient group optimized for the unit area group to which the unit area including the pixel belongs. Therefore, even if the input image has an image characteristic that does not improve the encoding efficiency even if the filter coefficient group is switched depending on the degree of activity, the prediction accuracy of the predicted image generated with reference to the output image Can be improved.
  • the image filter device includes a filter unit that operates on an input image composed of a plurality of unit regions, and a characteristic value that indicates an image characteristic of the input image in each unit region, and each of the derivation methods
  • Characteristic value calculating means for calculating different first and second characteristic values, and a characteristic that divides the characteristic value area spanned by the first and second characteristic values into a plurality of characteristic value partial areas according to the characteristic value division information
  • a value dividing unit wherein the filter unit sets each pixel value of the output image in each unit region for the characteristic value partial region to which the first and second characteristic values calculated for the unit region belong. It is characterized by calculating using filter coefficients.
  • the image filter device configured as described above divides a characteristic value area spanned by first and second characteristic values having different derivation methods into a plurality of characteristic value partial areas according to characteristic value division information. Then, it operates on the input image in each characteristic value partial area using the filter coefficient set for the characteristic value partial area to which the first and second characteristic values calculated for the unit area belong.
  • the filter processing using the filter coefficient set according to the first and second characteristic values is performed for each unit region, the first and the first input images in each unit region are processed. Even when the second characteristic value varies, it is possible to perform filter processing using an appropriate filter coefficient for each unit region. In addition, it is possible to improve the prediction accuracy of a predicted image generated by referring to the output image of the image filter device configured as described above.
  • first and second characteristic values have different derivation methods, so that a two-dimensional characteristic value region is created. Any two characteristic values that can extend a two-dimensional characteristic value region can be used as the first and second characteristic values.
  • the unit area represents each of a plurality of non-overlapping areas constituting the input image.
  • the unit region is a prediction that is a unit for generating a predicted image, for example. It may be a unit (partition), may be a conversion unit that is a unit of frequency conversion, may be an encoding unit, or may be other than those.
  • the characteristic value dividing means divides the characteristic value area into one or a plurality of characteristic value partial areas by the first division, and then sets each characteristic value partial area obtained by the first division, It is preferable to further divide into one or a plurality of characteristic value partial regions by the second division.
  • the characteristic value dividing unit divides the characteristic value area hierarchically by the first and second divisions. Therefore, each characteristic value partial region obtained by the first division can be further finely divided by the second division.
  • the filter coefficient can be set for each of the characteristic value partial areas that are finely divided, so that more appropriate filter processing can be performed.
  • the first division relates to the first characteristic value and the second division relates to the second characteristic value.
  • segmentation means performs the 1st division
  • each characteristic value partial region divided with respect to the first characteristic value can be further divided with respect to the second characteristic value, so that more appropriate filter processing can be performed.
  • the first characteristic value is a characteristic value that can be expected to improve prediction accuracy over the second characteristic value, that is, the first characteristic value. It is also possible to use a characteristic value having a higher priority than the two characteristic values. As described above, by using a characteristic value having a high priority as the first characteristic value, it is possible to perform more appropriate filter processing while suppressing an increase in the processing amount.
  • the first division is preferably related to the first characteristic value
  • the second division is preferably related to the first characteristic value and the second characteristic value.
  • the characteristic value dividing unit performs the first division related to the first characteristic value, and the first and second characteristic values are obtained for each of the characteristic value partial regions obtained by the first division. A second division for the characteristic value of 2 is performed.
  • each characteristic value partial region divided with respect to the first characteristic value can be further divided with respect to the first and second characteristic values, so that more appropriate filter processing is performed. Can do.
  • the first characteristic value is a characteristic value that can be expected to improve prediction accuracy over the second characteristic value, that is, the first characteristic value. It is also possible to use a characteristic value having a higher priority than the two characteristic values. As described above, by using a characteristic value having a high priority as the first characteristic value, it is possible to perform more appropriate filter processing while suppressing an increase in the processing amount.
  • the image filter device is configured to set the number of taps for setting the number of taps of the filter means for each characteristic value partial region obtained by the first division according to the tap number designation information acquired from the outside.
  • the image filter device sets the number of taps of the filter means for each characteristic value partial region obtained by the first division. Therefore, according to the above configuration, the filter process is performed using the number of taps set for each characteristic value partial region obtained by the first division, so that a more appropriate filter process can be performed.
  • the number of taps is set for each characteristic value partial region obtained by the first division, so the number of taps is set for each characteristic value partial region obtained by the second division. Compared with the case where it does, the increase in a processing amount can be suppressed.
  • the image filter device configured as described above is used in a decoding device that decodes encoded data or an encoding device that generates encoded data, an increase in the amount of code is suppressed and a prediction scheme is Since the improvement can be achieved, the encoding efficiency is improved.
  • the image filter device further includes an on / off control unit that controls on / off of the filter unit for each characteristic value partial region obtained by the second division according to on / off designation information acquired from the outside. It is preferable to provide.
  • the image filter device controls the on / off of the filter unit for each characteristic value partial region obtained by the second division. No filtering process is performed on the unit area that decreases. Therefore, according to the above configuration, more appropriate filter processing can be performed.
  • the first characteristic value indicates the randomness of the input image in each unit region.
  • the inventor uses the characteristic value indicating the randomness of the image as the first characteristic value of the input image in each unit area, and derives the randomness of the image as the second characteristic value of the input image in each unit area. It was found that appropriate filter processing can be performed by using different characteristic values.
  • the disorder of the image can be detected using, for example, the degree of activity of the image as an index, or can be detected using the variance of pixel values as an index.
  • the second characteristic value a characteristic value having a different derivation method from the randomness of the image may be used.
  • the second characteristic value any one of the directionality of the image, the average of the pixel values, and the in-frame coordinates of the target unit region can be used.
  • the decoding device is a decoding device that decodes encoded data and generates a decoded image after filtering, wherein the image filter device and the predicted image in each unit region are represented by the image filter device.
  • a prediction image generation unit that generates a reference image by referring to the generated output image, and the image filter device includes a prediction image generated by the prediction image generation unit, a residual image decoded from the encoded data, and It is characterized in that the decoded image obtained by adding is used as an input image, and the decoded image after filtering is generated as an output image.
  • the image filter device included in the decoding device includes the prediction image generated by the prediction image generation unit and the residual decoded from the encoded data.
  • the decoded image obtained by adding the difference image is used as an input image, and the characteristic value portion to which the first and second characteristic values calculated for the unit region belong to the input image in each characteristic value partial region Since the output image (filtered decoded image) is generated by acting using the filter coefficient set for the region, the first and second characteristic values of the input image in each unit region vary. Even if it exists, an output image suitable as an image referred in order to generate a prediction image can be generated. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the encoding device having a configuration corresponding to the above configuration, even if the first and second characteristic values for the encoding target image in each unit region are different for each unit region, the predicted image Therefore, it is possible to generate encoded data with high encoding efficiency. 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 apparatus uses a filter coefficient set for a target characteristic value partial region, which is a characteristic value partial region to be decoded, as a target characteristic among the filter coefficient residuals included in the encoded data.
  • the filter coefficient set for the target characteristic value partial area which is the characteristic value partial area to be decoded, is selected for the target characteristic value partial area out of the filter coefficient residuals included in the encoded data. Since the decoding is performed by adding the filter coefficient residual and the filter coefficient that has already been decoded for the characteristic value partial region around the target characteristic value partial region, by referring to the filter coefficient residual with a small code amount, The filter coefficient for each characteristic value partial region can be decoded. Therefore, according to the above configuration, it is possible to perform an appropriate filter process while reducing the amount of codes, thereby improving the coding efficiency.
  • An encoding apparatus is an encoding apparatus that generates encoded data by encoding a residual image between an encoding target image and a prediction image, the image filter device, and each unit Prediction image generation means for generating the prediction image in the region with reference to the output image generated by the image filter device, and the image filter device includes the prediction image generated by the prediction image generation means and the prediction image generation device.
  • a decoded image obtained by adding the residual image is used as an input image, and an output image is generated.
  • the image filter device included in the encoding device includes the prediction image generated by the prediction image generation unit, the encoding target image, and the prediction image. And the decoded image obtained by adding the residual images to the input image, and the characteristic value to which the first and second characteristic values calculated for the unit region belong to the input image in each characteristic value partial region
  • an output image decoded image after filtering
  • the first and second characteristic values of the input image in each unit region vary. Even so, it is possible to generate an output image suitable as an image to be referred to for generating a predicted image. Therefore, according to said structure, the improvement of the prediction precision of the estimated image which the said estimated image generation means produces
  • the filter coefficient used by the filter means is determined so that the difference between the encoding target image and the output image is smaller for each unit region. It is preferable that there is.
  • the filter coefficient used by the filter unit is determined so that the difference between the encoding target image and the output image is smaller for each unit region. Since a predicted image can be generated with reference to an output image having a smaller difference from the target image, encoding efficiency is improved.
  • the data structure of the encoded data according to the present invention is a characteristic value indicating an image characteristic in each unit region of an input image composed of a plurality of unit regions, and the first and second derivation methods are different from each other.
  • Characteristic value calculating means for calculating the characteristic value, characteristic value dividing means for dividing the characteristic value area spanned by the first and second characteristic values into a plurality of characteristic value partial areas, and each of the output images in each unit area Reference is made by an image filter device comprising: filter means for calculating a pixel value using a filter coefficient group set for a characteristic value partial region to which the first and second characteristic values calculated for the unit region belong
  • the characteristic value division information referred to by the characteristic value dividing means, wherein the characteristic value division information specifies how to divide the characteristic value area.
  • a filter coefficient used by the filter means is characterized in that it contains a filter coefficient for each of the characteristic values partial region.
  • the image filter device that refers to the encoded data configured as described above has a plurality of characteristic value regions spanned by the first and second characteristic values in accordance with the characteristic value division information included in the encoded data. While dividing into characteristic value partial areas, the input image is filtered using the filter coefficient for each characteristic value partial area included in the encoded data.
  • an appropriate filter process can be performed on the input image using the filter coefficient set for each characteristic value partial region. it can.
  • the characteristic value dividing means divides the characteristic value area into a plurality of characteristic value partial areas by the first division, and then sets each characteristic value partial area obtained by the first division to the second characteristic value area.
  • the characteristic value division information includes first division point designation information for designating division points in the first division, and division in the second division. It is preferable that second division point designation information for designating a point is included.
  • the image filter device that refers to the encoded data configured as described above performs the first division using the division points designated by the first division point designation information, and the second division point designation information. Since the second division is performed using the division point designated by the above, the characteristic value region spanned by the first and second characteristic values can be appropriately divided.
  • the encoding device that generates the encoded data configured as described above sets the division points in the first and second divisions so that the encoding efficiency is improved, and indicates the set division points Can be included in the encoded data as the first and second division point designation information. Therefore, the image filter device that refers to the encoded data configured as described above can perform a filtering process using the division points set so that the encoding efficiency is improved in the encoding device.
  • the encoded data according to the present invention preferably further includes tap number designation information for designating the number of taps of the filter means for each characteristic value partial region obtained by the first division. .
  • the image filter device that refers to the encoded data configured as described above sets the number of taps of the filter means for each characteristic value partial region obtained by the first division according to the tap number designation information. . Therefore, according to the image filter device that refers to the encoded data configured as described above, the filtering process is performed using the number of taps set for each characteristic value partial region obtained by the first division. More appropriate filter processing can be performed.
  • the encoded data according to the present invention preferably further includes on / off designation information for designating on / off of the filter means for each characteristic value partial region obtained by the second division.
  • the image filter device that refers to the encoded data configured as described above controls the on / off of the filter unit for each characteristic value partial region obtained by the second division according to the on / off designation information, Rather, the filtering process is not performed on the unit area where the encoding efficiency is rather lowered by the filtering process. Therefore, according to the above configuration, more appropriate filter processing can be performed.
  • 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 encodes encoded data.
  • Video decoding device 16 Inter prediction image generation unit (prediction image generation means) 17 Intra prediction image generation unit (prediction image generation means) 42 Adaptive filter (image filter device) 421 Prediction mode / size accumulating unit 422 Edge direction detecting unit (directional identification means) 423 activity calculation unit (activity calculation means) 424 area classification unit (direction identification means, classification means) 425 Filter processing unit (filter means, reference area changing means) 2 Video encoding device (encoding device) 25 Intra prediction image generation unit (prediction image generation means) 26 Inter prediction image generation unit (prediction image generation means) 34 Adaptive filter (image filter device) 340 Region dividing unit 341 Prediction mode / size accumulating unit 342 Edge direction detecting unit (directional identification means) 343 Activity calculation unit (activity calculation means) 344 Area classification unit (direction identification means, classification means) 345 Filter processing unit (filter means, reference area changing means) 346 Filter Parameter Deriving Units 3, 5 Video Decoding Device (Decoding Device) 50, 60, 70,

Landscapes

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

Abstract

 適応フィルタ(42)は、入力画像を構成する複数の単位領域の各々における入力画像の方向性を識別するエッジ方向検出部(422)と、エッジ方向検出部(422)によって識別された各単位領域における入力画像の方向性が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する領域分類部(424)と、出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ処理部(425)とを備えている。

Description

画像フィルタ装置、復号装置、符号化装置、および、データ構造
 本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、そのような画像フィルタを備えている符号化装置、および、復号装置に関する。また、そのような復号装置によって復号される符号化データのデータ構造に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置(符号化装置)、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置(復号装置)が用いられている。具体的な動画像符号化方式としては、例えば、H.264/MPEG-4.AVC(非特許文献1)、および、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式などが挙げられる。
 このような符号化方式において、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られるマクロブロック、及び、マクロブロックを分割することより得られるブロックからなる階層構造により管理され、普通、ブロックごとに符号化される。
 また、このような符号化方式においては、通常、入力画像を符号化/復号化することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分データが符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)と呼ばれる方法が知られている。
 イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。具体的には、イントラ予測においては、通常、予測単位(例えば、ブロック)毎に、予め定められた予測方向(予測モード)群に含まれる予測方向から何れかの予測方向が選択されると共に、局所復号画像における参照画素の画素値を、選択された予測方向に外挿することによって、予測対象領域上の予測画素値が生成される。また、インター予測においては、フレーム全体が復号された参照フレーム(復号画像)内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位(例えば、ブロック)毎に生成される。
 非特許文献2および非特許文献3には、(局所)復号画像を複数の領域に分割し、各領域における(局所)復号画像の局所的な乱雑さを示す活性度(Activity)の大きさに応じて、領域毎にフィルタ係数群を切り替えつつフィルタ処理を行う適応的ループフィルタ(Adaptive Loop Filter)(以下、単に「適応フィルタ」とも呼ぶ)が開示されている。ここで、領域毎のフィルタ係数群は、符号化装置にて、該領域におけるフィルタ済みの画像と符号化対象画像との誤差を最小にするように決定される。
 このような適応フィルタを備えた符号化装置および復号装置は、(局所)復号画像に対して当該適応フィルタによりフィルタ処理を施して得られるフィルタ済みの復号画像を参照して予測画像を生成することにより、予測精度の向上および符号化効率の向上を図ることができる。
「Recommendation ITU-T H.264」,Telecommunication Standardization Sector of ITU,03/2009(2009年3月公開) 「VCEG-AL27」,Telecommunication Standardization Sector,38th Meeting:London,UK/Geneva,CH,07/2009(2009年7月公開) 「JCTVCA-A121」,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および非特許文献3に開示された適応フィルタを用いたとしても、符号化効率が向上しない、若しくは、符号化効率が期待されるほど向上しないという問題を有していた。
 本発明は、上記の問題に鑑み、発明者によって得られた知見に基づいてなされたものであり、その目的は、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有する(局所)復号画像に対しても、符号化効率を向上させることのできる画像フィルタ装置、並びに、そのような画像フィルタ装置を備える復号装置および符号化装置を実現することにある。
 発明者は、上記の問題に鑑み、符号化対象画像の画像特性如何によっては、(局所)復号画像の局所的な活性度の大きさに応じてフィルタ係数群を切り替えるのではなく、むしろ、(局所)復号画像の局所的な方向性の違いに応じてフィルタ係数群を切り替えることによって、符号化効率をより効果的に向上させることができるとの知見を得た。
 上記の問題を解決するために、本発明に係る画像フィルタ装置は、出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性を識別する方向性識別手段と、上記方向性識別手段によって識別された各単位領域における上記入力画像の方向性が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、を備えていることを特徴としている。
 発明者は、上記の知見に基づき、画像フィルタ装置に入力される入力画像の方向性が、入力画像を構成する領域(単位領域)毎に異なる場合には、方向性の違いに応じてフィルタ係数群を切り替えることによって、上記出力画像を参照して生成される予測画像の予測精度を向上させることができることを見出した。
 上記のように構成された本発明に係る画像フィルタ装置によれば、上記方向性識別手段が、入力画像を構成する複数の単位領域の各々における上記入力画像の方向性を識別し、上記分類手段が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記フィルタ手段が、出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するので、上記入力画像の方向性が、単位領域毎に異なるような場合に、当該方向性に応じて適切なフィルタ処理を行うことができる。
 したがって、上記のように構成された画像フィルタ装置によれば、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 なお、各単位領域における上記入力画像の方向性とは、例えば、各単位領域における上記入力画像の局所的な勾配方向に直交する方向として定義することができる。ここで、画像の勾配とは、画素(x,y)の画素値をz(x,y)とすると、x,y,zを座標とする3次元空間内に定義される、曲面{(x,y,z(x,y))|0≦x≦Nx,0≦y≦Ny,0≦z≦Nz)}の勾配のことを指す。ここで、Nx,Ny,Nzは、それぞれ、x方向の画素の総数、y方向の画素の総数、画素値zのとり得る最大値を表す。また、各単位領域における上記入力画像の方向性とは、各単位領域における上記入力画像の画素値の相関のより高い方向であると表現することもできる。
 また、上記方向性識別手段は、各単位領域における上記入力画像の方向性を、入力画像のエッジを検出することによって直接的に識別する構成としてもよいし、上記画像フィルタ装置が、画面内予測によってイントラ予測画像を生成する予測画像生成手段と共に用いられる場合には、イントラ予測画像を生成する際に参照されるイントラ予測モードの示す方向によって間接的に識別する構成としてもよいし、その他の方法によって識別する構成としてもよい。
 また、上記単位領域とは、上記入力画像を構成する複数の重複しない領域の各々ことを表すものとする。上記画像フィルタ装置が、画像を符号化する符号化装置、および、符号化データから画像を復号する復号装置において用いられる場合には、上記単位領域を、例えば、予測画像を生成する単位である予測単位(パーティション)としてもよいし、周波数変換の単位である変換単位としてもよいし、それら以外のものとしてもよい。
 また、本発明に係る復号装置は、符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、上記画像フィルタ装置と、各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像(フィルタ後の復号画像)を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 上記の構成に対応する構成を有する符号化装置によれば、各単位領域における符号化対象画像の方向性が単位領域毎に異なるような場合であっても、予測画像の予測精度を向上させることができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、本発明に係る復号装置は、符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、上記画像フィルタ装置を備え、上記画像フィルタ装置は、上記入力画像に対応する参照画像を参照して画面内予測によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、画面内予測によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像(フィルタ後の復号画像)を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 上記の構成に対応する構成を有する符号化装置によれば、各単位領域における符号化対象画像の方向性が単位領域毎に異なるような場合であっても、予測画像の予測精度を向上させることができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、上記画像フィルタ装置が、画面内予測において用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて、各単位領域における上記入力画像の方向性を識別するものである場合には、上記入力画像の方向性を、エッジ検出などの画素値を参照する計算を行うことなく識別できるので、方向性を識別するための処理量を削減しつつ、符号化効率の高い符号化データを復号することができる。
 また、本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置と、各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、ことを特徴としている。
 上記の構成を有する本発明に係る符号化装置によれば、当該符号化装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、符号化対象画像と予測画像との残差画像を加算することによって得られる復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。また、予測精度が向上するため、上記符号化装置は、符号化効率の高い符号化データを生成することができる。
 また、本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置を備え上記画像フィルタ装置は、上記入力画像に対応する参照画像を参照して画面内予測によって生成された予測画像と、上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、画面内予測によって生成された予測画像と、符号化対象画像と予測画像との残差画像を加算することによって得られる復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 また、上記画像フィルタ装置が、画面内予測において用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて、各単位領域における上記入力画像の方向性を識別するものである場合には、上記入力画像の方向性を、エッジ検出などの画素値を参照する計算を行うことなく識別できるので、方向性を識別するための処理量を削減しつつ、符号化効率の高い符号化データを生成することができる。
 また、本発明に係る符号化データのデータ構造は、出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置が参照する符号化データのデータ構造であって、複数のフィルタ係数群と、上記複数のフィルタ係数群の各々に関連付けられた方向性情報と、を含み、上記画像フィルタ装置は、上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性が予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記方向性情報を参照して上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出する、ことを特徴としている。
 上記のように構成された本発明に係る符号化データは、複数のフィルタ係数群と、上記複数のフィルタ係数群の各々に関連付けられた方向性情報とを含んでいるため、上記符号化データを参照する上記画像フィルタ装置は、上記方向性情報を参照して上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出するので、上記入力画像の方向性が、単位領域毎に異なるような場合に、予測画像を生成するためのより好適な出力画像を生成することができるという効果を奏する。したがって、上記のように構成された本発明に係る画像フィルタ装置が生成する出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、本発明に係る画像フィルタ装置は、画面内予測を用いて単位領域毎に生成された入力画像から出力画像を生成する画像フィルタ装置であって、出力画像における各画素の画素値を、該画素の位置に応じて定まる参照領域内の入力画像の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、を備えていることを特徴としている。
 発明者は、画面内予測を用いて単位領域毎に生成された入力画像を構成する単位領域(予測単位)の形状および大きさ違いに応じて、単位領域毎にフィルタ係数群を切り替えることにより、予測画像を生成するためのより好適な出力画像を生成することができるので、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができることを見出した。
 上記のように構成された画像フィルタ装置によれば、上記分類手段が、各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記フィルタ手段が、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するので、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用するフィルタ手段と、各単位領域における上記入力画像の画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、上記第1及び第2の特性値によって張られる特性値領域を、特性値分割情報に従って複数の特性値部分領域に分割する特性値分割手段と、を備え、上記フィルタ手段は、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて算出する、ことを特徴としている。
 上記のように構成された本発明に係る画像フィルタ装置は、互いに導出方法の異なる第1及び第2の特性値によって張られる特性値領域を、特性値分割情報に従って複数の特性値部分領域に分割し、各特性値部分領域における入力画像に対して、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて作用する。
 したがって、上記の構成によれば、単位領域毎に、第1及び第2の特性値に応じて設定されたフィルタ係数を用いたフィルタ処理を行うので、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、単位領域毎に適切なフィルタ係数を用いたフィルタ処理を行うことができる。また、上記のように構成された画像フィルタ装置の出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 なお、上記第1及び第2の特性値は、互いに導出方法が異なっているため、それらによって、2次元の特性値領域が張られる。また、2次元の特性値領域を張ることのできる2つの特性値であれば、上記第1及び第2の特性値として用いることができる。
 また、上記単位領域とは、上記入力画像を構成する複数の重複しない領域の各々ことを表すものとする。上記画像フィルタ装置が、画像を符号化する符号化装置、および、符号化データから画像を復号する復号装置において用いられる場合には、上記単位領域を、例えば、予測画像を生成する単位である予測単位(パーティション)としてもよいし、周波数変換の単位である変換単位としてもよいし、符号化の単位としてもよいし、それら以外のものとしてもよい。
 また、本発明に係る復号装置は、符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、上記画像フィルタ装置と、各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、各特性値部分領域における入力画像に対して、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて作用することによって出力画像(フィルタ後の復号画像)を生成するので、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 上記の構成に対応する構成を有する符号化装置によれば、各単位領域における符号化対象画像についての第1及び第2の特性値が単位領域毎に異なるような場合であっても、予測画像の予測精度を向上させることができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置と、各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る符号化装置によれば、当該符号化装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、符号化対象画像と予測画像との残差画像を加算することによって得られる復号画像を入力画像とし、各特性値部分領域における入力画像に対して、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて作用することによって出力画像(フィルタ後の復号画像)を生成するので、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。また、予測精度が向上するため、上記符号化装置は、符号化効率の高い符号化データを生成することができる。
 また、本発明に係る符号化データのデータ構造は、複数の単位領域から構成される入力画像の各単位領域における画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、当該第1及び第2の特性値によって張られる特性値領域を複数の特性値部分領域に分割する特性値分割手段と、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数群を用いて算出するフィルタ手段と、を備えている画像フィルタ装置によって参照される符号化データのデータ構造において、上記特性値分割手段によって参照される特性値分割情報であって、上記特性値領域の分割の仕方を指定する特性値分割情報と、上記フィルタ手段によって用いられるフィルタ係数であって、上記特性値部分領域の各々についてのフィルタ係数と、を含んでいることを特徴としている。
 上記のように構成された符号化データを参照する上記画像フィルタ装置は、上記符号化データに含まれる特性値分割情報に従って、上記第1及び第2の特性値によって張られる特性値領域を複数の特性値部分領域に分割すると共に、上記符号化データに含まれる、各特性値部分領域についてのフィルタ係数を用いて入力画像に対するフィルタ処理を施す。
 したがって、上記のように構成された符号化データを参照する画像フィルタ装置によれば、入力画像に対して、特性値部分領域毎に設定されたフィルタ係数を用いて適切なフィルタ処理を行うことができる。
 以上のように、本発明に係る画像フィルタ装置は、出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性を識別する方向性識別手段と、上記方向性識別手段によって識別された各単位領域における上記入力画像の方向性が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、を備えている。
 上記画像フィルタ装置によれば、各単位領域における上記入力画像の方向性の違いに応じて、適切なフィルタ処理を行うことができる。したがって、上記のように構成された画像フィルタ装置によれば、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、本発明に係る画像フィルタ装置は、画面内予測を用いて単位領域毎に生成された入力画像から出力画像を生成する画像フィルタ装置であって、出力画像における各画素の画素値を、該画素の位置に応じて定まる参照領域内の入力画像の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、を備えている。
 上記画像フィルタ装置によれば、各単位領域の形状および大きさの違いに応じて、適切なフィルタ処理を行うことができる。したがって、上記のように構成された画像フィルタ装置によれば、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用するフィルタ手段と、各単位領域における上記入力画像の画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、上記第1及び第2の特性値によって張られる特性値領域を、特性値分割情報に従って複数の特性値部分領域に分割する特性値分割手段と、を備え、上記フィルタ手段は、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて算出する。
 上記画像フィルタ装置によれば、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、単位領域毎に適切なフィルタ係数を用いたフィルタ処理を行うことができる。
 また、本発明に係る符号化データのデータ構造は、複数の単位領域から構成される入力画像の各単位領域における画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、当該第1及び第2の特性値によって張られる特性値領域を複数の特性値部分領域に分割する特性値分割手段と、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数群を用いて算出するフィルタ手段と、を備えている画像フィルタ装置によって参照される符号化データのデータ構造において、上記特性値分割手段によって参照される特性値分割情報であって、上記特性値領域の分割の仕方を指定する特性値分割情報と、上記フィルタ手段によって用いられるフィルタ係数であって、上記特性値部分領域の各々についてのフィルタ係数と、を含んでいる。
 上記のように構成された符号化データを参照する上記画像フィルタ装置は、入力画像に対して、特性値部分領域毎に設定されたフィルタ係数を用いて適切なフィルタ処理を行うことができる。
本発明の第1の実施形態に係る動画像復号装置の構成を示すブロック図である。 第1の実施形態に係る動画像符号化装置によって生成され、実施形態に係る動画像復号装置によって復号される符号化データの構成例を示す図であって、(a)は、符号化データのピクチャレイヤの構成を示す図であり、(b)は、ピクチャレイヤに含まれるスライスレイヤの構成を示す図であり、(c)は、スライスレイヤに含まれるマクロブロックレイヤの構成を示す図であり、(d)は、マクロブロックレイヤに含まれるマクロブロックヘッダの構成を示す図であり、(e)は、マクロブロックレイヤに含まれる予測パラメータのうち、インター予測パーティションに関する予測パラメータの構成を示す図であり、(f)は、マクロブロックレイヤに含まれる予測パラメータのうち、イントラ予測パーティションに関する予測パラメータの構成を示す図であり、(g)は、スライスヘッダに含まれるフィルタパラメータの構成を示す図である。 イントラ予測に用いられる予測パラメータである予測モードを説明するための図であって、(a)は、パーティションのサイズ毎の予測インデックスPIと予測モードとの対応表であり、(b)は、複数の予測モードのうち、方向予測0~7の各々に対応する予測方向を示す図である。 第1の実施形態に係る動画像復号装置が備えるイントラ予測生成部によるイントラ予測画像の生成処理を説明するための図であって、(a)は、対象パーティションが4×4画素である場合の当該対象パーティションの各画素と、当該対象パーティションの周辺の画素とを示す図であり、(b)は、対象パーティションが4×4画素である場合の当該対象パーティションの各画素と、当該対象パーティションの周辺に設定されたテンプレート領域とを示す図である。 第1の実施形態に係る動画像復号装置が備える適応フィルタの構成を示すブロック図である。 第1の実施形態に係る動画像復号装置が備える適応フィルタの第1の変形例を示すブロック図である。 第1の実施形態に係る動画像復号装置が備える適応フィルタの第2の変形例を示すブロック図である。 第1の実施形態に係る動画像復号装置が備える適応フィルタの第3の変形例を示すブロック図である。 第1の実施形態に係る動画像復号装置が備える適応フィルタの第4の変形例を示すブロック図である。 第1の実施形態に係る適応フィルタが備えるエッジ検出部によるエッジ検出処理を説明するための図であって、(a)は、対象画素を含む参照領域に属する画素を示す図であり、(b)は、実施形態における角度の規定の仕方を示す図である。 第1の実施形態に係る適応フィルタが備える領域分類部による分類処理の第1の例を説明するための図であって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表である。 第1の実施形態に係る適応フィルタが備える領域分類部による分類処理の第2の例を説明するための図であって、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表であり、(d)は、フィルタセット番号が3である場合の分類を示す表である。 第1の実施形態に係る適応フィルタが備える領域分類部による分類処理の第3の例を説明するための図であって、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表である。 第1の実施形態に係る適応フィルタが備える領域分類部による分類処理の第4の例を説明するための図であって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表である。 第1の実施形態に係る適応フィルタが備える領域分類部による分類処理の第5の例を説明するための図であって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表であり、(d)は、フィルタセット番号が3である場合の分類を示す表であり、(e)は、フィルタセット番号が4である場合の分類を示す表である。 第1の実施形態に係る適応フィルタが備える領域分類部による分類処理の第6の例を説明するための図であって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表であり、(d)は、フィルタセット番号が3である場合の分類を示す表であり、(e)は、フィルタセット番号が4である場合の分類を示す表である。 第1の実施形態に係る適応フィルタが参照する参照領域の形状について説明するための図であって、(a)は、基本参照領域を示す図であり、(b)は、垂直方向型の参照領域を示す図であり、(c)は、水平方向型の参照領域を示す図であり、(d)は、斜め方向型の参照領域を示す図である。 第1の実施形態に係る動画像符号化装置によって生成され、実施形態に係る動画像復号装置によって復号される符号化データの他の構成例を示す図である。 第1の実施形態に係る符号化データに含まれるフィルタ割り当てテーブルを説明するための図であって、(a)は、フィルタ割り当てテーブルの第1の例を示す表であり、(b)は、フィルタ割り当てテーブルの第2の例を示す表である。 第1の実施形態に係る適応フィルタが参照する参照領域の形状と、画像の方向性との対応関係を示す図であり、(a)は、参照領域の形状とエッジ角度との対応関係を示す図であり、(b)は、参照領域の形状と、画面内予測において用いられる予測モードとの対応関係を示す図である。 第1の実施形態に係る適応フィルタの備えるエッジ検出部が、各単位領域のエッジの角度Thetaを、0°≦Theta<360°の範囲で検出する構成である場合の、該適応フィルタの備える領域分類部による分類処理の例を示す表である。 第1の実施形態に係る動画像符号化装置の構成を示すブロック図である。 第1の実施形態に係る動画像符号化装置が備える適応フィルタの構成を示すブロック図である。 第1の実施形態に係る動画像符号化装置が備える適応フィルタにおけるフィルタパラメータ導出部の構成を示すブロック図である。 第2の実施形態に係る適応フィルタについて説明するための図であって、特性値領域CRと、特性値領域CR上に設定される分割単位DU[i][j]とを示す図である。 第2の実施形態に係る符号化データのフィルタパラメータに含まれる各シンタックスを示す図である。 第2の実施形態に係る適応フィルタについて説明するための図であって、(a)は、分割されていない特性値領域を示す図であり、(b)は、第1段階の分割が行われた特性値領域を示す図であり、(c)は、第1段階の分割において用いられる特性値分割点と、第2段階の分割において用いられる特性値分割点とを示す図であり、(d)は、第1の特性値として活性度を用いる場合に、シンタックスalf_first_split_val_shiftおよびalf_second_split_typeの値に応じて設定される特性値分割点を例示する表である。 第2の実施形態に係る適応フィルタについて説明するための図であって、(a)は、第1段階の分割によって得られた特性値部分領域が、シンタックスalf_second_split_type=0によって指定される第2段階の分割によって、第2の特性値に関して2つの特性値部分領域に分割される場合を示す図であり、(b)は、第1段階の分割によって得られた特性値部分領域が、シンタックスalf_second_split_type=1によって指定される第2段階の分割によって、第2の特性値に関して4つの特性値部分領域に分割される場合を示す図であり、(c)は、第2の特性値として画像の方向性を用いた場合の特性値分割点と、第2の特性値として平均画素値を用いた場合の特性値分割点とを例示する表である。 第2の実施形態に係る適応フィルタについて説明するための図であって、第1段階の分割によって得られた特性値部分領域が、シンタックスalf_second_split_flag[i0]、および、alf_second_split_typeの各値に応じて、第2段階の分割によってどのように分割されるのかを具体的に示す図である。 第2の実施形態に係る適応フィルタについて説明するための図であって、シンタックスalf_length_luma_minus5_div2[i0]の値に応じて設定される参照領域を例示する図である。 第2の実施形態に係る適応フィルタについて説明するための図であって、特性値部分領域に対して第2段階の分割を行うことによって得られた各特性値部分領域について適応的に割り付けられる予測方向を示す図である。 第2の実施形態に係る適応フィルタについて説明するための図であって、特性値部分領域に対して第2段階の分割を行うことによって得られた各特性値部分領域について固定的に割り付けられる予測方向を示す図である。 第2の実施形態に係る適応フィルタについて説明するための図であって、第1段階の分割によって得られた特性値部分領域が、第1の特性値について最大で2分割され、第2の特性値について最大で3分割される例を示す図である。 第2の実施形態に係る動画像復号装置の構成を示すブロック図である。 第2の実施形態に係る動画像復号装置の備える適応フィルタの構成を示すブロック図である。 第2の実施形態に係る適応フィルタによるフィルタ処理を説明するための図であって、(a)は、対象単位領域URに含まれる画素と対象単位領域URに隣接する画素とから構成される特性値算出参照領域CRRを示しており、(b)は、対象単位領域URに含まれる画素から構成される特性値算出参照領域CRRを示している。 第2の実施形態に係る動画像符号化装置の構成を示すブロック図である。 第2の実施形態に係る動画像符号化装置の備える適応フィルタの構成を示すブロック図である。 第2の実施形態の変形例に係るフィルタパラメータに含まれる各シンタックスを示す図である。 第2の実施形態の変形例に係るフィルタパラメータに含まれるシンタックスalf_num_first_split_minus1によって指定される特性値分割点を例示する表である。 第3の実施形態に係る符号化データのフィルタパラメータに含まれる各シンタックスを示す図である。 第3の実施形態に係る適応フィルタについて説明するための図であって、(a)は、シンタックスalf_select_split_charによって指定される第1の特性値Xおよび第2の特性値Yを示す表であり、(b)は、シンタックスalf_select_split_charの各値について設定される再分割点PY1~PY3の具体例を示す表であり、(c)は、シンタックスalf_second_split_val[k]の値に応じて設定される再分割点PY1~PY3の具体例を示す表である。 第3の実施形態に係る動画像復号装置の備える適応フィルタの構成を示すブロック図である。 第3の実施形態に係る動画像符号化装置の備える適応フィルタの構成を示すブロック図である。
 〔実施形態1〕
 (符号化データの構成)
 本実施形態に係る動画像符号化装置2及び動画像復号装置1の説明に先立って、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1のデータ構造について説明を行う。動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1は、シーケンスレイヤ、GOP(Group Of Pictures)レイヤ、ピクチャレイヤ、スライスレイヤ、及び、マクロブロックレイヤ、からなる階層構造を有している。
 ピクチャレイヤ以下の階層について符号化データの構造を図2に示す。図2(a)~(g)は、それぞれ、ピクチャレイヤP、スライスレイヤS、マクロブロックレイヤMB、マクロブロックヘッダMBH、インター予測パーティションの予測パラメータ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、及び、マクロブロックレイヤMB1~MBNm(NmはスライスSに含まれるマクロブロックの総数)を含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。(1)スライスタイプを指定するスライスタイプ指定情報(slice_type)、(2)対象スライスを含むピクチャの表示順序(POC:Picture Order Count)を指定するPOC指定情報(pic_order_cnt_lbsやdelta_pic_order_cntなど)、及び、(3)動画像符号化装置2が符号化の際に用いた重み係数を指定する重み係数指定情報(pred_weight_table)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 なお、スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 また、スライスヘッダSHには、動画像復号装置1の備える適応フィルタが参照するフィルタパラメータFPが含まれる。ここで、動画像復号装置1の備える適応フィルタは、後述するように、対象スライスまたは対象マクロブロックに含まれる1若しくは複数の分割領域(またはパーティション)の各々を複数のタイプの何れかに分類し、タイプ毎に異なったフィルタ係数群を用いてフィルタ処理を行うものである。図2(g)に、フィルタパラメータFPのデータ構造を示す。図2(g)に示すように、フィルタパラメータFPには、フィルタオンオフ情報、フィルタセット番号、およびフィルタ係数群n(nは、フィルタ係数群を互いに識別するためのフィルタ番号であり、n=0、1、・・・、Nf-1をとる。Nfは、フィルタパラメータFPに含まれるフィルタ係数群の総数を表す)が含まれる。なお、上記パーティションとは、動画像符号化装置2および動画像復号装置1において予測画像を生成する単位(予測単位)のことである。また、上記分割領域とは、マクロブロックを構成する1または複数の互いに重複しない領域のことであり、各マクロブロックの分割領域への分割の態様は、動画像符号化装置2において決定される。
 フィルタオンオフ情報には、(1)対象スライスまたは対象スライスに含まれる各マクロブロックにおける上記1若しくは複数の分割領域のサイズおよび位置を指定するための領域指定情報、および、(2)分割領域毎(またはパーティション毎)にフィルタ処理のオンオフを指定するオンオフ情報が含まれる。
 フィルタセット番号は、対象スライスまたは対象マクロブロックに含まれる1若しくは複数の分割領域(またはパーティション)の分類の仕方をスライス毎に指定するための番号である。動画像復号装置1の備える適応フィルタは、フィルタセット番号を参照することにより、分割領域を幾つのタイプに分類すべきか、また、各タイプに分類された分割領域においてどのフィルタ係数群を用いるかを識別することができる。
 フィルタ係数群I(I=0~Nf-1)には、(1)フィルタのタップ数(若しくはフィルタ係数群毎のフィルタ係数の総数)を指定するタップ数指定情報、(2)フィルタ係数aI0~aINT-1(NTは、フィルタ係数群Iに含まれるフィルタ係数の総数)、および、(3)オフセットoIが含まれる。なお、互いに異なるフィルタ番号の付されたフィルタ係数群は、互いに異なるタイプに分類された分割領域(またはパーティション)のフィルタ処理に用いられる。例えば、フィルタ係数群0およびフィルタ係数群1は、それぞれ、タイプAに分類された分割領域、および、タイプAとは異なるタイプBに分類された分割領域のフィルタ処理に用いられる。
 スライスレイヤSに含まれる各マクロブロックレイヤMBは、対象マクロブロックを復号するために動画像復号装置1が参照するデータの集合である。マクロブロックレイヤMBは、図2(c)に示すように、スキップフラグSKIP、マクロブロックヘッダMBH、予測パラメータPP1~PPNP、及び、量子化予測誤差QD1~QDNbを含んでいる。ここで、Npは、対象マクロブロックに含まれるパーティション(予測単位)の種類の数を表し、Nbは、対象マクロブロックに含まれるブロック(変換単位)の種類の数を表す。スキップフラグSKIPの値が1の場合、すなわち、対象マクロブロックがスキップブロックである場合、そのマクロブロックレイヤにおけるマクロブロックヘッダMBH、予測パラメータPP1~PPNP、及び、量子化予測誤差QD1~QDNbは省略される。
 マクロブロックヘッダMBHには、対象マクロブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2(d)に示すように、対象マクロブロックのマクロブロックタイプを指定するマクロブロックタイプ指定情報MBT(mb_type)、符号化ブロックパターンを指定するCBP(coded_block_pattern)、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(mb_qp_delta)が含まれる。マクロブロックタイプ指定情報MBTは、予測単位指定情報PTと変換単位指定情報TTとを含む。
 予測単位指定情報PTは、対象マクロブロックのパーティション(予測単位)への分割パターン(すなわち、対象マクロブロックに含まれる各パーティションのサイズ、及び、対象マクロブロック内での位置)と、動画像符号化装置2が各パーティションにおける予測画像を生成する際に用いた予測方法(L0単方向予測、L1単方向予測、双方向予測、イントラ予測など)を指定する。パーティションのサイズは、例えば、16×16画素、8×8画素、4×4画素、16×8画素、8×16画素、8×4画素、4×8画素、8×1画素、および、1×8画素の中から選択可能である。より一般には、各パーティションは、M×N画素(Mは、対象マクロブロックの横方向の画素数以下の整数であり、Nは、対象マクロブロックの縦方向の画素数以下の整数である)の領域とすることができる。
 一方、変換単位指定情報TTは、対象マクロブロックのブロック(変換単位)への分割パターン(すなわち、対象マクロブロックに含まれる各ブロックのサイズ、及び、対象マクロブロック内での位置)を指定する。各ブロックは、16×16画素、8×8画素、4×4画素、16×8画素、8×16画素、8×4画素、4×8画素、8×1画素、および、1×8画素の中から選択可能である。より一般には、各ブロックは、M’×N’画素(M’は、対象マクロブロックの1辺の画素数以下の整数であり、N’は、対象マクロブロックの他の1辺の画素数以下の整数である)の領域とすることができる。
 なお、上記の説明では、マクロブロックを16×16画素の正方形領域としたときのパーティションを例示したが、これに限定されるものではない。例えば、64×64画素のマクロブロックに対しては、64×64画素、若しくは32×32画素の正方形領域、又は、64×32画素、32×64画素、32×16画素、若しくは16×32画素の長方形領域もパーティション、またはブロックとして許容される。
 量子化パラメータ差分Δqpは、対象マクロブロックにおける量子化パラメータqpと、そのマクロブロックの直前に符号化されたマクロブロックにおける量子化パラメータqp’との差分qp-qp’である。
 マクロブロックレイヤMBに含まれる各量子化予測残差QDnは、動画像符号化装置2が以下の処理1~3を対象ブロックに施すことによって生成した符号化データである。処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する。処理2:処理1にて得られたDCT係数を量子化する。処理3:処理2にて量子化されたDCT係数を可変長符号化する。上述した量子化パラメータqpは、動画像符号化装置2がDCT係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2pq/6)。
 マクロブロックレイヤMBに含まれる予測パラメータPPのうち、インター予測によって予測画像が生成されるインター予測パーティションに関する予測パラメータPPは、図2(e)に示すように、参照画像インデックスRIと、推定動きベクトルインデックスPMVIと、動きベクトル残差MVDとを含んでいる。
 動きベクトル残差MVDは、動画像符号化装置2が以下の処理4~6を実行することによって生成した符号化データである。処理4:符号化/復号化済みの局所復号画像(より正確には、符号化/復号化済みの局所復号画像に対してデブロック処理および適応的フィルタ処理を施すことによって得られる画像)を選択し、選択した符号化/復号化済みの局所復号画像(以下「参照画像」とも呼称)を参照して対象パーティションに対する動きベクトルmvを導出する。処理5:推定方法を選択し、選択した推定方法を用いて対象パーティションに割り付ける動きベクトルmvの推定値(以下「推定動きベクトル」とも呼称)pmvを導出する。処理6:処理4にて導出した動きベクトルmvから処理5にて導出した推定動きベクトルpmvを減算した動きベクトル残差MVDを符号化する。
 上述した参照画像インデックスRIは、処理4にて選択した符号化/復号化済みの局所復号画像(参照画像)を指定するものであり、上述した推定動きベクトルインデックスPMVIは、処理5にて選択した推定方法を指定するものである。処理5にて選択可能な推定方法としては、(1)符号化/復号化中の局所復号画像(より正確には、符号化/復号化中の局所復号画像における復号済みの領域に対してデブロック処理および適応的フィルタ処理を施すことによって得られる画像)において、対象パーティションに隣接するパーティション(以下「隣接パーティション」とも呼称する)に割り付けられた動きベクトルのメジアンを推定動きベクトルpmvとする方法や、(2)符号化/復号化済みの局所復号画像において、対象パーティションと同じ位置を占めるパーティション(しばしば「コロケートパーティション」と呼称される)に割り付けられた動きベクトルを推定動きベクトルpmvとする方法などが挙げられる。
 なお、単方向予測を行うパーティションに関する予測パラメータPPには、図2(e)に示すように、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDがそれぞれ1つずつ含まれているが、双方向予測(重み付き予測)を行うパーティションに関する予測パラメータPPには、2つの参照画像インデックスRI1及びRI2、2つの推定動きベクトルインデックスPMVI1及びPMVI2、並びに、2つの動きベクトル残差MVD1及びMVD2が含まれる。
 マクロブロックレイヤMBに含まれる予測パラメータPPのうち、イントラ予測によって予測画像が生成されるイントラ予測パーティションに関する予測パラメータPPは、図2(f)に示すように、予測インデックスPIを含んでいる。ここで、予測インデックスPIは、対象パーティションについてのイントラ予測方法(予測モード)を指定するためのインデックスである。なお、対象パーティションについて選択可能な予測モードの種類は、当該対象パーティションのサイズによって異なるため、予測インデックスのとり得る値の範囲も、対象パーティションのサイズによって異なる。
 図3(a)に、パーティションのサイズ毎の予測インデックスPIと予測モードとの対応表を示す。図3(a)に示すように、各予測モードには、予測モード番号0~11が付されている。予測インデックスPIがパーティションサイズによって意味が変わる相対的な番号であるのに対し、予測モード番号はパーティションサイズに依存しない一意な番号であり、各予測モードは、予測モード番号によって互いに識別が可能である(以下では、予測モード番号がAである予測モードを予測モードAと表すことにする)。また、図3(a)に示すように、パーティションのサイズが16×16画素である場合には、予測インデックスPIは、0,1,2,3,および4の何れかの値をとる。16×16画素のパーティションに対しては、予測インデックス0は予測モード0(DC予測)に対応し、予測インデックス1は予測モード1(プレーン予測)に対応し、予測インデックス2は予測モード2(方向予測0)に対応し、予測インデックス3は予測モード6(方向予測4)に対応している。パーティションのサイズが8×8画素、4×4画素、8×1画素、または、1×8画素である場合にも、図3(a)に示すように、パーティションのサイズ毎の各予測インデックスPIは、予測モードの何れかに対応付けられている。
 動画像復号装置1は、自身の備えるメモリに図3(a)に示す対応表を記憶しておき、対象パーティションのサイズと、予測インデックスとから、当該対象パーティションに割り付ける予測モードを特定することができる。
 なお、符号化データ#1を生成する動画像符号化装置2は、対象パーティションの周辺のパーティションの予測インデックスに基づいて、当該対象パーティションについての予測インデックスの推定値を算出し、当該推定値と当該対象パーティションについての予測インデックスとが同じであるか否かを示すフラグを符号化データ#1に含める構成としてもよい。このような構成とすることにより、当該推定値と当該対象パーティションについての予測インデックスとが同じである場合には、当該対象パーティションについての予測インデックスの符号化を省略することができる。
 (動画像復号装置1)
 以下では、本実施形態に係る動画像復号装置1について図1~図21を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図1は、動画像復号装置1の構成を示すブロック図である。図1に示すように、動画像復号装置1は、可変長符号復号部13、動きベクトル復元部14、バッファメモリ15、インター予測画像生成部16、イントラ予測画像生成部17、予測方式決定部18、逆量子化・逆変換部19、加算器20、デブロッキングフィルタ41、および、適応フィルタ42を備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
 可変長符号復号部13は、各パーティションに関する予測パラメータPPを、符号化データ#1から復号する。すなわち、インター予測パーティションに関しては、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDを符号化データ#1から復号し、これらを動きベクトル復元部14に供給する。一方、イントラ予測パーティションに関しては、(1)パーティションのサイズを指定するサイズ指定情報、および、(2)予測インデックスを指定する予測インデックス指定情報を符号化データ#1から復号し、これをイントラ予測画像生成部17に供給する。また、可変長符号復号部13は、マクロブロックタイプMBTを符号化データから復号し、これを予測方式決定部18に供給する(図示省略)。更に、可変長符号復号部13は、各ブロックに関する量子化予測残差QD、及び、そのブロックを含むマクロブロックに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部19に供給する。また、可変長符号復号部13は、符号化データ#1からフィルタオンオフ情報、フィルタセット番号、および、フィルタ係数群を復号し、それらを適応フィルタ42に供給する。
 動きベクトル復元部14は、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差MVDと、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスPMVIにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルpmvを導出し、(2)導出した推定動きベクトルpmvと動きベクトル残差MVDとを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、バッファメモリ15から読み出すことができる。動きベクトル復元部14は、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部17に供給する。なお、双方向予測(重み付き予測)を行うインター予測パーティションについては、復元した2つの動きベクトルmv1及びmv2を、対応する参照画像インデックスRI1及びRI2と共に、インター予測画像生成部17に供給する。
 インター予測画像生成部16は、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部14から供給された動きベクトルmvを用いて、同じく動きベクトル復元部14から供給された参照画像インデックスRIによって指定されるフィルタ済復号画像P_FL’から動き補償画像mcを生成する。ここで、フィルタ済復号画像P_FL’は、既に復号が完了した復号済みの復号画像に対して、デブロッキングフィルタ41によるデブロック処理、および、適応フィルタ42による適応的フィルタ処理を施すことによって得られる画像であり、インター予測画像生成部16は、フィルタ済復号画像P_FL’を構成する各画素の画素値をバッファメモリ15から読み出すことができる。インター予測画像生成部16によって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部18に供給される。なお、双方向予測(重み付き予測)を行うインター予測パーティションについては、(1)動きベクトルmv1を用いて、参照画像インデックスRI1によって指定されたフィルタ済復号画像P_FL1’から動き補償画像mc1を生成し、(2)動きベクトルmv2を用いて、参照画像インデックスRI2によって指定されたフィルタ済復号画像P_FL2’とから動き補償画像mc2を生成し、(3)動き補償画像mc1と動き補償画像mc2との加重平均にオフセット値を加えることによってインター予測画像Pred_Interを生成する。
 イントラ予測画像生成部17は、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、自身のメモリに記録されている図3(a)に示した対応表を参照して、可変長符号復号部13から供給されたサイズ指定情報と予測インデックス指定情報とに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。続いて、当該予測モードの示す予測方法に従って、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部17によって生成されたイントラ予測画像Pred_Intraは、予測方式決定部18に供給される。
 また、イントラ予測画像生成部17は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報IEMを適応フィルタ42に供給する。なお、イントラ予測画像生成部17によるイントラ予測画像Pred_Intraの具体的な生成処理については、後述するためここでは説明を省略する。
 予測方式決定部18は、マクロブロックタイプMBTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部16にて生成されたインター予測画像Pred_Interを予測画像Predとして加算器20に供給し、後者の場合には、イントラ予測画像生成部17にて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器20に供給する。
 逆量子化・逆変換部19は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器20に供給する。なお、量子化予測残差QDを逆量子化する際に、逆量子化・逆変換部19は、可変長符号復号部13から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化/逆DCT変換したマクロブロックに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpからQP=2pq/6によって導出できる。また、逆量子化・逆変換部19による予測残差Dの生成は、ブロック(変換単位)を単位として行われる。
 加算器20は、予測方式決定部18から供給された予測画像Predと、逆量子化・逆変換部19から供給された予測残差Dとを加算することによって復号画像Pを生成する。
 デブロッキングフィルタ41は、復号画像Pにおけるブロック境界、またはマクロブロック境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像Pにおける当該ブロック境界、または当該マクロブロック境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該マクロブロック境界付近の画像の平滑化を行う。デブロッキングフィルタ41によりデブロッキング処理が施された画像は、デブロック済復号画像P_DBとして、適応フィルタ42に出力される。
 適応フィルタ42は、デブロッキングフィルタ41から供給されるデブロック済復号画像P_DBに対して、符号化データ#1から復号されたフィルタ係数を用いたフィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。適応フィルタ42によりフィルタ処理が施された画像は、フィルタ済復号画像P_FLとして外部に出力されると共に、可変長符号復号部13によって符号化データから復号されたPOC指定情報と関連付けてバッファメモリ15に格納される。適応フィルタ42の具体的な構成については、後述するため、ここでは説明を省略する。
 (イントラ予測画像生成部17によるイントラ予測画像の生成処理)
 以下では、イントラ予測画像生成部17によるイントラ予測画像Pred_Intraの生成処理について、図3~図4を参照して説明する。
 イントラ予測画像生成部17は、復号画像Pを構成する画素のうち既に復号が完了したブロックに属する各画素の画素値を用い、対象パーティションに割り付けられた予測モードによって指定されるイントラ予測方法により、当該対象パーティションについてのイントラ予測画像Pred_Intraを生成する。
 各予測モードは、予測モード番号によって互いに識別可能であり、本実施形態においては、図3(a)に示した予測モード(DC予測、プレーン予測、方向予測0~7、TM予測、スケール予測)が選択可能である。方向予測0~7は、対象パーティションの周辺の復号済みの画素値を所定の方向(予測方向)に外挿することによって、当該対象パーティションの予測画像を生成する予測方法を示している。図3(b)に、方向予測0~7の各々に対応する予測方向を示す。図3(b)に示すように、方向予測0~7は、対象パーティションの周辺の復号済みの画素値を、それぞれ、0度、22.5度、45度、67.5度、90度、112.5度、135度、および、-22.5度の方向に外挿することによって予測画像を生成することを示している。なお、上記の角度は、水平方向右向きを0度とし、時計回りに増加するものとして表現したものである(以下同様)。
 以下では、まず、図4(a)を参照して、対象パーティションが4×4画素である場合の、DC予測、および方向予測0~7について説明する。図4(a)は、4×4画素である対象パーティションの各画素(予測対象画素)と、当該対象パーティションの周辺の画素(参照画素)とを示す図である。図4(a)に示すように、予測対象画素および参照画素の各々は、座標(x、y)によって指定されるものとする。ここで、予測対象画素の各々は、x=0~3およびy=0~3を満たす(x、y)によって指定され、参照画素の各々は、(x、-1)(x=-1~7)、または、座標(-1、y)(y=0~3)によって指定されるものとする。また、座標(x、y)における予測対象画素の画素値をpred4x4[x,y]と表し、座標(x、y)における参照画素の画素値をp[x,y]と表すことにする。また、参照画素は、何れも復号済みであるとする。
 (DC予測:予測モード番号0)
 対象パーティションに割り付けられた予測モードがDC予測である場合、イントラ予測画像生成部17は、対象パーティションの上辺または左辺に隣接する参照画素の画素値の平均値をとることにより、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、予測対象画素の画素値pred[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[0,-1]+p[1,-1]+p[2,-1]+p[3,-1]+p[-1,0]+p[-1,1]+p[-1,2]+p[-1,3] +4)>>3
によって生成する。ここで、>>は右シフト演算を表し、a>>bの値はa÷(2のb乗)の値の小数部分を切り捨てた値に等しい。また、<<は左シフト演算を表し、a<<bの値はa×(2のb乗)の値に等しい。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるDC prediction modeに対応している。
 (方向予測0:予測モード番号2)
 対象パーティションについての予測モードが方向予測0である場合、イントラ予測画像生成部17は、参照画素の画素値を水平方向右向きに外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、予測対象画素の画素値pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=p[-1,y],(x,y=0...3)
によって生成する。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるHorizontal prediction modeに対応している。
 (方向予測1:予測モード番号3)
 対象パーティションについての予測モードが方向予測1である場合、イントラ予測画像生成部17は、参照画素の画素値を22.5度の方向に外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[-1,y-(x>>1)-1]+p[-1,y-(x>>1)]+1)>>1,(zHD=0,2,4,6の場合)
 pred4x4[x,y]=(p[-1,y-(x>>1)-2]+2*p[-1,y-(x>>1)-1]+p[-1,y-(x>>1)]+2)>>2,(zHD=1, 3,5の場合)
 pred4x4[x,y]=(p[-1,0]+2*p[-1,-1]+p[0,-1]+2)>>2,(zHD=-1の場合)
 pred4x4[x,y]=(p[x-1,-1]+2*p[x-2,-1]+p[x-3,-1]+2)>>2(zHD=-2,-3の場合)
によって生成する。ここで、zHDは、zHD=2*y-xによって定義される。また、記号*は、積を表す演算記号である(以下同様)。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるHorizontal down prediction modeに対応している。
 (方向予測2:予測モード番号4)
 対象パーティションについての予測モードが方向予測2である場合、イントラ予測画像生成部17は、参照画素の画素値を45度の方向に外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[x-y-2,-1]+2*p[x-y-1,-1]+p[x-y,-1]+2)>>2,(x>yの場合)
 pred4x4[x,y]=(p[-1,y-x-2]+2*p[-1,y-x-1]+p[-1,y-x]+2)>>2,(x<yの場合)
 pred4x4[x,y]=(p[0,-1]+2*p[-1,-1]+p[-1,0]+2)>>2,(x=yの場合)
によって生成する。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるDiagonal down-right prediction modeに対応している。
 (方向予測3:予測モード番号5)
 対象パーティションについての予測モードが方向予測3である場合、イントラ予測画像生成部17は、参照画素の画素値を67.5度の方向に外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[x-(y>>1)-1,-1]+p[x-(y>>1),-1]+1)>>1,(zVR=0,2,4,6の場合)
 pred4x4[x,y]=(p[x-(y>>1)-2,-1]+2*p[x-(y>>1)-1,-1]+p[x-(y>>1),-1]+2)>>2,(zVR=1, 3,5の場合)
 pred4x4[x,y]=(p[-1,0]+2*p[-1,-1]+p[0,-1]+2)>>2,(zVR=-1の場合)
 pred4x4[x,y]=(p[-1,y-1]+2*p[-1,y-2]+p[-1,y-3]+2)>>2,(zVR=-2,-3の場合)
によって生成する。ここで、zVRは、zVR=2*x-yによって定義される。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるVertical right prediction modeに対応している。
 (方向予測4:予測モード番号6)
 対象パーティションについての予測モードが方向予測4である場合、イントラ予測画像生成部17は、参照画素の画素値を垂直方向下向きに外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=p[x,-1],(x,y=0...3)
によって生成する。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるVertical prediction modeに対応している。
 (方向予測5:予測モード番号7)
 対象パーティションについての予測モードが方向予測5である場合、イントラ予測画像生成部17は、参照画素の画素値を112.5度の方向に外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[x+(y>>1),-1]+p[x+(y>>1)+1,-1]+1)>>1,(y=0,2の場合)
 pred4x4[x,y]=(p[x+(y>>1),-1]+2*p[x+(y>>1)+1,-1]+p[x+(y>>1)+2,-1]+2)>>2,(y=1,3の場合)
によって生成する。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるVertical left prediction modeに対応している。
 (方向予測6:予測モード番号8)
 対象パーティションについての予測モードが方向予測6である場合、イントラ予測画像生成部17は、参照画素の画素値を135度の方向に外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[6,-1]+3*p[7,-1]+2)>>2,(x=3,y=3の場合)
 pred4x4[x,y]=(p[x+y,-1]+2*p[x+y+1,-1]+p[x+y+2,-1]+2)>>2,(x=3ではなく,y=3ではない場合)
によって生成する。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるDiagonal down left prediction modeに対応している。
 (方向予測7:予測モード番号9)
 対象パーティションについての予測モードが方向予測7である場合、イントラ予測画像生成部17は、参照画素の画素値を-22.5度の方向に外挿することによって、予測対象画素の画素値を生成する。より具体的には、イントラ予測画像生成部17は、pred4x4[x,y]を、例えば以下の式
 pred4x4[x,y]=(p[-1,y+(x>>1)]+p[-1,y+(x>>1)+1]+1)>>1,(zHU=0,2,4の場合)
 pred4x4[x,y]=(p[-1,y+(x>>1)]+2*p[-1,y+(x>>1)+1]+p[-1,y+(x>>1)+2]+2)>>2,(zHU=1, 3の場合)
 pred4x4[x,y]=(p[-1,2]+3*p[-1,3]+2)>>2,(zHU=5の場合)
 pred4x4[x,y]=p[-1,3],(zHU>5の場合)
によって生成する。ここで、zHUは、zHU=x+2*yによって定義される。なお、本予測モードは、H.264/MPEG-4.AVC規格におけるHorizontal up prediction modeに対応している。
 以上、対象パーティションが4×4画素である場合の、DC予測、および方向予測0~7について説明を行ったが、イントラ予測画像生成部17は、参照画素の画素値を各方向に外挿することによって、対象パーティションが4×4画素以外である場合についても、上述した方法と略同様の方法によって、当該対象パーティションの各画素値を生成することができる。
 続いて、イントラ予測画像生成部17によるプレーン予測、TM(テンプレートマッチング)予測、および、スケール予測について説明する。
 (プレーン予測:予測モード番号1)
 プレーン予測は、対象パーティションが16×16画素である場合に選択可能な予測モードである。対象パーティションについての予測モードがプレーン予測である場合、イントラ予測画像生成部17は、当該対象パーティションに隣接する復号済みの参照画素の画素値を用いて、当該対象パーティションの各画素値を平面的な予測によって生成する。
 以下では、16×16画素である対象パーティションの各画素は、座標(x、y)(x=0~15、y=0~15)によって指定されるものとする。なお、対象パーティション内の左上の画素の座標を(0、0)とし、右に行くにつれてxが増大し、下に行くにつれてyが増大するものとする。また、対象パーティションの上辺に隣接する復号済みの参照画素の座標を(x、-1)、その画素値をP(x,-1)(x=0~15)と表し、対象パーティションの左辺に隣接する復号済みの参照画素の座標を(-1、y)、その画素値をP(-1,y)(y=0~15)と表す。また、対象パーティションにおいて座標(x、y)によって指定される画素の画素値をpred_P(x,y)と表すことにする。
 (プレーン予測の例1)
 対象パーティションについての予測モードがプレーン予測である場合、イントラ予測画像生成部17は、対象パーティションの画素値pred_P(x,y)を、例えば以下の式
 pred_P(x,y)=((15-y)*TR(x)+(y+1)*BR(x)+(15-x)*LC(y)+(x+1)*RC(y)+16)/32(x,y=0...15)
によって生成する。ここで、
 TR(x)=P(x,-1),(x=0...15)
 LC(y)=P(-1,y),(y=0...15)
 BR(x)=((15-x)*LC(15)+(x+1)*BRS+8)/16,(x=0...15)
 RC(y)=((15-y)*TR(15)+(y+1)*BRS+8)/16,(y=0...15)
 BRS=DC+planar_delta_y
であり、DCは、DC予測によって生成された画素値を表すものとする。
 (プレーン予測の例2)
 また、イントラ予測画像生成部17は、対象パーティションの画素値pred_P(x,y)を、以下の式によって算出する構成としてもよい。
 pred_P[x,y]=Clip1Y((a+b*(x-7)+c*(y-7)+16)>>5),(x,y=0...15)
ここで、
 a=16*(p[-1,15]+p[15,-1])
 b=(5*H+32)>>6
 c=(5*V+32)>>6
 H=Σ_x'{(x'+1)*(p[8+x',-1]-p[6-x',-1])}
 V=Σ_y'{(y'+1)*(p[-1,8+y']-p[-1,6-y'])}
である。なお、上記の式において、Σ_x'{...}は、{}内の式について、x'=0からx'=7までの総和を表すものとし、Σ_y'{...}は、{}内の式について、y'=0からx'=7までの総和を表すものとする。また、Clip1Yは、
 Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)
によって定義され、Clip3(a,b,c)は、c<aであるときに値aをとり、c>bであるときに値bをとり、それ以外の場合に値cをとるクリップ関数である。また、BitDepthYは、ビット深度に応じて定まる値をとる。なお、本例は、H.264/MPEG-4.AVC規格におけるIntra_16x16_Plane prediction modeに対応している。
 (TM予測:予測モード番号10)
 続いて、TM予測について、図4(b)を参照して説明を行う。
 TM予測は、対象パーティションが4×4画素である場合に選択可能な予測モードである。対象パーティションについての予測モードがTM予測である場合、イントラ予測画像生成部17は、対象パーティションの周辺にテンプレート領域を設定し、復号済みの復号画像P(または、フィルタ済復号画像P_FL)から、当該テンプレート領域に最も類似する領域を探索し、探索された領域の周辺の領域の各画素値を、対象パーティションの各画素値に設定する。
 より具体的には、対象パーティションについてTM予測が選択されている場合、イントラ予測画像生成部17は、例えば、以下の処理を行う。
 (ステップS101)
 まず、図4(b)に示すように、対象パーティションの左辺または上辺に隣接する画素、および、対象パーティションの左上の頂点を共有する画素よりなる逆L字型の領域をテンプレート領域TRに設定する。
 (ステップS102)
 続いて、復号済みの復号画像P(または、フィルタ済復号画像P_FL)において、テンプレート領域TRと同じ形の領域であって、テンプレート領域TRに最も類似する参照領域RRを探索する。ここで、参照領域RRの探索は、例えば、画素値の差分絶対値の総和(Sum of Absolute Difference)を評価することによって行うことができる。
 (ステップS103)
 最後に、参照領域RRに上辺および左辺が接する4×4画素の領域の各画素値を、対象パーティションの対応する各画素値に設定する。
 (スケール予測:予測モード番号11)
 続いて、スケール予測について説明を行う。
 スケール予測は、対象パーティションが16×16画素である場合に選択可能な予測モードである。対象パーティションについてスケール予測が選択されている場合、イントラ予測画像生成部17は、(1)動画像符号化装置によってダウンサンプリングされた縮小画像についての量子化係数を逆量子化および周波数変換することによって当該縮小画像の画像データを生成し、(2)対象パーティションの周辺のパーティションの各画素値の平均値と、上記縮小画像の画像データとを加算した後、アップサンプリングすることによって、対象パーティションについての予測画像を生成する。
 より具体的には、対象パーティションについてスケール予測が選択されている場合、イントラ予測画像生成部17は、例えば、以下の処理を行う。
 (ステップS201)
 まず、16×16画素の対象パーティションを4×4画素にダウンサンプリングすることによって得られる画像データと、対象パーティションの周辺のパーティションの各画素値の平均値との差分である残差データを周波数変換および量子化することにより得られた量子化係数であって、動画像符号化装置から伝送される量子化係数Fsrを復号する。
 (ステップS202)
 続いて、対象パーティションの周辺のパーティションの各画素値の平均値をとることによって、予測値dを算出する。
 (ステップS203)
 続いて、ステップS201にて復号された量子化係数を逆量子化および逆周波数変換することによって、4×4画素の残差データB’srを生成する。
 (ステップS204)
 続いて、ステップS202にて算出された予測値dと、ステップS203にて生成された4×4画素の残差データB’srとを加算することによって、4×4画素の画像データB’sを生成する。
 (ステップS205)
 最後に、ステップS204にて生成された4×4画素の画像データB’sを16×16画素にアップサンプリングすることによって、対象パーティションについての16×16画素のイントラ予測画像Pred_Intraを生成する。
 なお、後述する動画像符号化装置2の備えるイントラ予測画像生成部は、スケール予測
が選択されている対象パーティションについて以下の処理を行う。
 (ステップS201’)
 まず、16×16画素の対象パーティションを4×4画素にダウンサンプリングすることによって4×4画素の画像データBsを生成する。
 (ステップS202’)
 続いて、対象パーティションの周辺のパーティションの各画素値の平均値をとることによって、予測値dを算出する。
 (ステップS203’)
 続いて、ステップS201’にて生成された画像データBsと、ステップS202’にて算出された予測値dとの差分をとることによって残差データBsrを生成する。
 (ステップS204’)
 続いて、残差データBsrを周波数変換および量子化することによって、量子化係数を生成する。生成された量子化係数は、動画像復号装置1に伝送される。
 (ステップS205’)
 続いて、ステップS204’にて生成された量子化係数を逆周波数変換および逆量子化することによって残差データB’srを生成する。
 (ステップS206’)
 続いて、ステップS205’にて生成された残差データB’srと、ステップS202’にて算出された予測値dとを加算することによって画像データB’sを生成する。
 (ステップS207’)
 最後に、ステップS206にて生成された画像データB’sを16×16画素にアップサンプリングすることによって、16×16画素のイントラ予測画像Pred_Intraを生成する。
 (適応フィルタ42)
 以下では、動画像復号装置1の備える適応フィルタ42について、図5~図9を参照して説明を行う。
 図5は、適応フィルタ42の構成を示すブロック図である。図5に示すように、適応フィルタ42は、予測モード/サイズ蓄積部421、エッジ方向検出部422、活性度算出部423、領域分類部424、および、フィルタ処理部425を備えている。
 適応フィルタ42は、デブロッキングフィルタ41から供給されるデブロック済復号画像P_DBに対して、符号化データ#1から復号されたフィルタ係数を用いたフィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。ここで、フィルタ済復号画像P_FLの生成は、マクロブロック単位で行ってもよいし、マクロブロックよりも小さい領域を単位として行ってもよいし、マクロブロックよりも大きい領域を単位として行ってもよい。以下では、適応フィルタ42が、マクロブロック単位で、フィルタ済復号画像P_FLの生成を行う場合を例に挙げ説明を行う。
 (予測モード/サイズ蓄積部421)
 予測モード/サイズ蓄積部421は、イントラ予測画像生成部17より供給されるイントラ符号化モード情報IEMの示す、パーティションのサイズ(形状および大きさ)、および、パーティションに割り付けられた予測モードを蓄積する。予測モード/サイズ蓄積部421は、対象マクロブロックに含まれるすべてのパーティションについてのサイズおよび予測モードを蓄積する構成とすることができる。
 また、予測モード/サイズ蓄積部421に蓄積された各パーティションのサイズ、および予測モードを含む情報は、領域分類部424に供給される。
 なお、各パーティションの形状、および、予測モードの示す方向は、各パーティションにおける復号画像P(若しくはデブロック済復号画像P_DB)の方向性と相関があるという傾向がある。例えば、パーティションのサイズが8×1画素や8×2画素のように横長である場合には、該パーティションに横方向のエッジが含まれているという傾向があり、パーティションのサイズが1×8画素や2×8画素のように縦長である場合には、該パーティションに縦方向のエッジが含まれているという傾向がある。また、復号済みの画素値を所定の方向(予測方向)に外挿することによって行われる方向予測では、予測方向に沿ったエッジが含まれている傾向がある。
 また、パーティションの大きさは、各パーティションにおける復号画像P(若しくはデブロック済復号画像P_DB)の平坦度と相関があるという傾向がある。例えば、パーティションの大きさが小さい場合には、平坦度が小さく、パーティションのサイズが大きい場合には、平坦度が大きいという傾向がある。平坦度が小さい場合とはすなわち活性度(後述)が大きい場合であるから、パーティションサイズが小さい場合には活性度が大きく、パーティションのサイズが大きい場合には、活性度が小さい傾向があると表現することもできる。
 また、一部の予測モードは、予測モードが用いられたパーティションにおける復号画像P(若しくはデブロック済復号画像P_DB)の平坦度と相関がある傾向がある。例えば、プレーン予測およびスケール予測で予測されたパーティションは平坦度が大きい(活性度は小さい)傾向がある。
 領域分類部424は、後述するように、各パーティションのサイズ、および予測モードに応じて、各パーティションを、1または複数のタイプの何れかに分類し、フィルタ係数群を、対象マクロブロックに含まれる各分割領域、または、各パーティションに対して、タイプ毎に割り付けるので、適応フィルタ42は、各パーティションにおける復号画像P(若しくはデブロック済復号画像P_DB)の方向性および平坦度に応じて適切なフィルタ処理を行うことができる。
 (エッジ方向検出部422)
 以下では、エッジ方向検出部422について、図10(a)~(b)を参照して説明する。
 エッジ方向検出部422は、可変長符号復号部13から供給されるフィルタオンオフ情報に含まれる領域指定情報を参照して、デブロック済復号画像P_DBにおける対象マクロブロックを1または複数の分割領域に分割し、各分割領域の画像についてエッジ検出を行う。また、各分割領域について、エッジの方向を示す角度Thetaを、領域分類部424に供給する。なお、上記分割領域には、1つの画素のみが含まれていてもよいし、複数の画素が含まれていてもよい。以下では、エッジ検出の対象となる分割領域(対象分割領域)が1つの画素のみを含む場合、および、対象分割領域に複数の画素が含まれている場合の各々について、エッジ方向検出部422による角度Thetaの算出処理について説明を行う。
 (対象分割領域が1つの画素のみを含む場合のThetaの算出処理)
 対象分割領域が1つの画素(対象画素)のみを含む場合、エッジ検出部422は、対象画素を中心とする3×3画素の参照領域を設定し、当該参照領域の各画素に対して、以下の数式(1a)および(1b)によって定義されるソーベルフィルタ行列SFM_x、およびSFM_yを作用させることによって、ソーベルフィルタ後の画素値Sobel_xおよびSobel_yを算出する。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 より具体的には、例えば、3×3画素の参照領域に含まれる各画素の画素値を、図10(a)に示すように、a~hと表すことにすると、エッジ検出部422は、ソーベルフィルタ後の画素値Sobel_xおよびSobel_yを、それぞれ、以下の数式(2a)および(2b)によって算出する。
 Sobel_x=-a+c-2×d+2×e-f+h   (2a)
 Sobel_y=-a-2×b-c+f+2×g+h   (2b)
 続いて、エッジ検出部422は、以下の数式(3)によって、エッジ方向を示す角度(以下、「エッジ角度」とも呼称する)Thetaを算出する。
 Theta=arctan(Sobel_x/Sobel_y) (3)
ここで、arctanは、三角関数tanの逆関数を表す。また、角度Thetaは、図10(b)に示すように、時計周りに増加するものとし、0度から180度までの範囲(0°≦Theta<180°)で表現されるものとする。
 (対象分割領域が複数の画素を含む場合のThetaの算出処理)
 対象分割領域が複数の画素を含む場合、エッジ検出部422は、まず、対象分割領域に含まれる各画素について、3×3画素の参照領域を設定し、上述した方法によって各画素についてのソーベルフィルタ後の画素値Sobel_xおよびSobel_yを算出する。
 続いて、エッジ検出部422は、以下の数式(4)によって、各画素についてのエッジ強度ESを算出し、最もエッジ強度ESの大きい画素についてのソーベルフィルタ後の画素値Sobel_xおよびSobel_yを用いて、上記数式(3)によってエッジ角度Thetaを算出する。
 ES=(Sobel_x)2+(Sobel_y)2   (4)
 なお、エッジ検出部422は、対象分割領域に含まれる全ての画素についてのエッジ強度ESが予め定められた閾値以下である場合には、当該対象分割領域については、エッジなしと判定し、判定結果を領域分類部424に供給する。
 なお、エッジ検出部422は、エッジの角度を算出することなく、エッジ方向に対応する番号(方向インデックス)を出力する構成としても良い。
 例えば、三角関数tanの逆関数を用いるのではなく、Sobel_yとSobel_xの大小関係に応じて場合分けをすることによって、以下のように方向インデックスを生成可能である。
 方向インデックス=0  |Sobel_y|<a×|Sobel_x|の場合
 方向インデックス=1  |Sobel_y|≧a×|Sobel_x|かつ
             |Sobel_y|≦b×|Sobel_x|かつ
             Sobel_yとSobel_xの符号が等しい場合
 方向インデックス=2  |Sobel_y|>b×|Sobel_x|の場合
 方向インデックス=3  |Sobel_y|≧a×|Sobel_x|かつ
             |Sobel_y|≦b×|Sobel_x|かつ
             Sobel_yとSobel_xの符号が反対の場合
但し、a=tan(22.5°)=0.414・・・、b=tan(67.5°)=2.414・・・である。なお、この例では4つの方向インデックスを算出したが、2個の方向インデックスの算出や8個の方向インデックスを算出する構成としてもよい。
 (活性度算出部423)
 活性度算出部423は、可変長符号復号部13から供給されるフィルタオンオフ情報に含まれる領域指定情報を参照して、デブロック済復号画像P_DBにおける対象マクロブロックを1または複数の分割領域に分割し、各分割領域の画像について、活性度(activity)ACTを算出する。ここで、活性度とは、概略的に言えば、画像の乱雑さを示す指標であり、分割領域を含む領域にDCT変換を施した場合に得られる変換係数において大きな高周波成分が存在するかなどによっても測定可能であるが、ここでは隣接する画素の画素値によって測定する。隣接する画素の画素値の差が大きいほど、活性度が大きくなる。算出された分割領域毎の活性度ACTは、領域分類部424に供給される。
 活性度の算出の対象となる分割領域(対象分割領域)における画素の座標を(i、j)と表し、その画素値をR(i、j)と表すことにすると、活性度算出部423は、例えば、以下の数式(5a)を用いることによって、活性度ACTを算出することができる。
Figure JPOXMLDOC01-appb-M000003
ここで、i、jに関する和記号Σは、対象分割領域に含まれる画素についての総和をとることを表すものとする。数式(5a)は、隣接する画素の画素値の絶対値の総和(Sum of Absolute Difference, SAD)を指標として、活性度を評価することに対応している。
 また、活性度算出部423は、以下の数式(5b)を用いることによって、活性度ACTを算出する構成としてもよい。
Figure JPOXMLDOC01-appb-M000004
ここで、数式(5b)におけるkおよびlに関する和は、座標(i、j)の画素を中心とした矩形状の領域(x方向:2K+1画素、y方向:2L+1画素)についての和を示している。本実施形態においては、数式(5b)におけるkおよびlに関する和は、対象分割領域に含まれる画素についての総和としてもよい。数式(5b)は、変形ラプラシアンの総和(Sum-Modified Laplacian, SML)を指標として、活性度を評価することに対応している。
 なお、活性度算出部423は、対象マクロブロックにイントラ予測が適用されている場合には、対象マクロブロックに含まれるパーティション毎に活性度ACTを算出する。
 (領域分類部424)
 領域分類部424は、(1)予測モード/サイズ蓄積部421から供給される各パーティションのサイズ、(2)予測モード/サイズ蓄積部421から供給される各パーティションに割り付けられた予測モード、(3)エッジ方向検出部422から供給されるエッジ角度Theta、および、(4)活性度算出部423から供給される活性度ACTに基づいて、対象マクロブロックに含まれる各分割領域、または、各パーティションを、1または複数のタイプ(以下、「分割領域グループ」とも呼称)の何れかに分類する。領域分類部424による各分割領域、または、各パーティションの分類は、可変長符号復号部13により符号化データ#1から復号されたフィルタセット番号を参照して行われる。
 なお、エッジ方向検出部422から供給される情報としては、エッジ角度Thetaの代わりに、方向インデックスを用いても良い。以下では、方向インデックスを用いて分類を行う場合には、エッジ角度Thetaが(0°≦Theta<22.5°、または157.5°≦Theta<180°)の場合を方向インデックス0、エッジ角度Thetaが(22.5°≦Theta<67.5°)の場合を方向インデックス1、エッジ角度Thetaが(67.5°≦Theta<112.5°)の場合を方向インデックス2、エッジ角度Thetaが(112.5°≦Theta<157.5°)の場合を方向インデックス3と置き替えることによって、同様の分類を行う構成としてもよい。
 また、領域分類部424は、可変長符号復号部13から供給されるフィルタ係数群を、対象マクロブロックに含まれる各分割領域、または、各パーティションに対して、タイプ毎に、割り付ける。より具体的には、タイプI(I=1、2、…)に分類された分割領域またはパーティションに対して、符号化データ#1から復号されたフィルタ係数群Iを割り付ける。例えば、タイプ1に分類された分割領域に対しては、フィルタ係数群1を割り付け、タイプ2に分類された分割領域に対しては、フィルタ係数群2を割り付ける。
 また、対象マクロブロックに含まれる各分割領域または各パーティションが何れのタイプに分類されたのかを示す分類情報は、各分割領域または各パーティションに割り付けられたフィルタ係数群と共に、フィルタ処理部425に供給される。
 なお、領域分類部424は、対象マクロブロックにイントラ予測が適用されている場合に、各パーティションのサイズ、各パーティションに割り付けられた予測モード、および、各パーティションの活性度ACTに基づいて、各パーティションを複数のタイプの何れかに分類し、対象マクロブロックにインター予測が適用されている場合に、各分割領域におけるエッジ角度、および、各分割領域の活性度ACTに基づいて、各分割領域を複数のタイプの何れかに分類する構成とすることが好適であるが、本実施形態はこれに限定されるものではない。
 また、上記の説明では、適応フィルタ42の構成として、図5に示すものを例に挙げたが、本実施形態はこれに限定されるものではない(以下では、図5に示す適応フィルタ42の構成を適応フィルタ42の基本構成とも呼称する)。
 例えば、適応フィルタ42は、図6に示すように、図5に示す構成における予測モード/サイズ蓄積部421、エッジ方向検出部422、および、活性度算出部423のうち、予測モードサイズ蓄積部421のみを有する構成としてもよい(以下では、図6に示す適応フィルタ42の構成を適応フィルタ42の第1の変形例とも呼称する)。
 また、適応フィルタ42は、図7に示すように、図5に示す構成における予測モード/サイズ蓄積部421、エッジ方向検出部422、および、活性度算出部423のうち、エッジ方向検出部422のみを有する構成としてもよい(以下では、図7に示す適応フィルタ42の構成を適応フィルタ42の第2の変形例とも呼称する)。
 また、適応フィルタ42は、図8に示すように、図5に示す構成における予測モード/サイズ蓄積部421、エッジ方向検出部422、および、活性度算出部423のうち、エッジ方向検出部422および活性度算出部423のみを有する構成としてもよい(以下では、図8に示す適応フィルタ42の構成を適応フィルタ42の第3の変形例とも呼称する)。
 また、適応フィルタ42は、図9に示すように、図5に示す構成における予測モード/サイズ蓄積部421、エッジ方向検出部422、および、活性度算出部423のうち、予測モード/サイズ蓄積部421および活性度算出部423のみを有する構成としてもよい(以下では、図9に示す適応フィルタ42の構成を適応フィルタ42の第4の変形例とも呼称する)。
 以下では、領域分類部424による分類処理の例について図11~図16を参照して説明する。なお、符号化データ#1を生成する動画像符号化装置2において、以下に示す(分類処理例1)~(分類処理例6)に示した方法が選択的に用いられる場合には、何れの分類処理を行ったのかを示すフラグを符号化データ#1に含める構成とし、領域分類部424は当該フラグを参照して、以下に示す(分類処理例1)~(分類処理例6)のうち、何れかの分類処理を行う構成としてもよい。
 (分類処理例1)
 以下では、領域分類部424による分類処理の第1の例について図11(a)~(c)を参照して説明する。
 本例においては、領域分類部424は、フィルタセット番号、および、各分割領域のエッジ角度Thetaに基づいて、対象マクロブロックに含まれる各分割領域を分類する。図11は、本例における領域分類部424による分類処理を説明するためのものであって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表である。なお、図11(a)~(c)におけるΘは、エッジ角度Thetaを表している(以下同様)。
 (1-1:フィルタセット番号=0の場合)
 フィルタセット番号が0である場合、領域分類部424は、図11(a)に示すように、対象マクロブロックに含まれる全ての分割領域をタイプ0に分類する。
 (1-2:フィルタセット番号=1の場合)
 フィルタセット番号が1である場合、領域分類部424は、図11(b)に示すように、エッジ角度Thetaが(0°≦Theta<45°、または135°≦Theta<180°)を満たす分割領域を、タイプ0に分類し、エッジ角度Thetaが(45°≦Theta<135°)を満たす分割領域をタイプ1に分類する。
 (1-3:フィルタセット番号=2の場合)
 フィルタセット番号が2である場合、領域分類部424は、図11(c)に示すように、エッジ角度Thetaが(0°≦Theta<22.5°、または157.5°≦Theta<180°)を満たす分割領域を、タイプ0に分類し、エッジ角度Thetaが(22.5°≦Theta<67.5°)を満たす分割領域をタイプ1に分類し、エッジ角度Thetaが(67.5°≦Theta<112.5°)を満たす分割領域をタイプ2に分類し、エッジ角度Thetaが(112.5°≦Theta<157.5°)を満たす分割領域をタイプ3に分類する。
 なお、何れのフィルタセット番号の場合についても、エッジ検出部422によりエッジなしと判定された分割領域が存在する場合には、当該分割領域をタイプ0に分類する構成とすることができる(以下の分類処理例においても同様)。
 また、本例の処理を行うための適応フィルタ42としては、図5に示す基本構成を有するものを用いてもよいし、図7に示す第2の変形例を用いてもよいし、図8に示す第3の変形例を用いてもよい。(分類処理例1)~(分類処理例6)のうち、本例の処理のみを行う場合には、図7に示す変形例を用いることによって、適応フィルタ42の構成を簡単なものにすることができる。
 (分類処理例2)
 以下では、領域分類部424による分類処理の第2の例について図12(a)~(d)を参照して説明する。
 本例においては、領域分類部424は、フィルタセット番号、各分割領域のエッジ角度Theta、および、各分割領域の活性度ACTに基づいて、対象マクロブロックに含まれる各分割領域を分類する。図12は、本例における領域分類部424による分類処理を説明するためのものであって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表であり、(d)は、フィルタセット番号が3である場合の分類を示す表である。
 (2-1:フィルタセット番号=0の場合)
 フィルタセット番号が0である場合、領域分類部424は、図12(a)に示すように、対象マクロブロックに含まれる全ての分割領域をタイプ0に分類する。
 (2-2:フィルタセット番号=1の場合)
 フィルタセット番号が1である場合、領域分類部424は、図12(b)に示すように、活性度ACTが予め定められた閾値TH以下である分割領域をタイプ0に分類し、活性度ACTが当該閾値THよりも大きい分割領域をタイプ1に分類する。
 (2-3:フィルタセット番号=2の場合)
 フィルタセット番号が2である場合、領域分類部424は、図12(c)に示すように、活性度ACTが予め定められた閾値TH以下である分割領域をタイプ0に分類し、活性度ACTが当該閾値THよりも大きい分割領域であって、エッジ角度Thetaが(0°≦Theta<45°、または135°≦Theta<180°)を満たす分割領域をタイプ1に分類し、活性度ACTが当該閾値THよりも大きい分割領域であって、エッジ角度Thetaが(45°≦Theta<135°)を満たす分割領域をタイプ2に分類する。
 (2-4:フィルタセット番号=3の場合)
 フィルタセット番号が3である場合、領域分類部424は、図12(d)に示すように、活性度ACTが予め定められた第1の閾値TH1以下である分割領域をタイプ0に分類し、活性度ACTが当該第1の閾値よりも大きい第2の閾値TH2よりも大きい分割領域をタイプ5に分類する。
 また領域分類部424は、活性度ACTが上記第1の閾値よりも大きく、かつ、上記第2の閾値以下である分割領域を以下のように分類する。すなわち、エッジ角度Thetaが、(0°≦Theta<22.5°、または157.5°≦Theta<180°)を満たす分割領域をタイプ1に分類し、エッジ角度Thetaが、(22.5°≦Theta<67.5°)を満たす分割領域をタイプ2に分類し、エッジ角度Thetaが、(67.5°≦Theta<112.5°)を満たす分割領域をタイプ3に分類し、エッジ角度Thetaが、(112.5°≦Theta<157.5°)を満たす分割領域をタイプ4に分類する。
 このように、本例においては、活性度が所定の閾値以下である場合には、対象マクロブロックに含まれる各分割領域を1つのタイプに分類し、活性度が所定の閾値よりも大きい場合にのみ、対象マクロブロックに含まれる各分割領域を、エッジ角度で測定される方向性によって複数のタイプに分類する。これは、活性度が小さい場合には、画像の方向性を利用するメリットが小さく、活性度が大きい場合には、画像の方向性を利用するメリットが大きいためである。
 なお、本例の処理を行うための適応フィルタ42としては、図5に示す基本構成を有するものを用いてもよいし、図8に示す第3の変形例を用いてもよい。(分類処理例1)~(分類処理例6)のうち、本例の処理のみを行う場合には、図8に示す変形例を用いることによって、適応フィルタ42の構成を簡単なものにすることができる。
 (分類処理例3)
 以下では、領域分類部424による分類処理の第3の例について図13(a)~(c)を参照して説明する。
 本例においては、領域分類部424は、フィルタセット番号、および、各パーティションのサイズに基づいて、対象マクロブロックに含まれる各パーティションを分類する。図13は、本例における領域分類部424による分類処理を説明するためのものであって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表である。
 (3-1:フィルタセット番号=0の場合)
 フィルタセット番号が0である場合、領域分類部424は、図13(a)に示すように、対象マクロブロックに含まれる全てのパーティションをタイプ0に分類する。
 (3-2:フィルタセット番号=1の場合)
 フィルタセット番号が1である場合、領域分類部424は、図13(b)に示すように、16×16画素のパーティション、および、8×8画素のパーティションをタイプ0に分類し、4×4画素のパーティション、8×1画素のパーティション、および、1×8画素のパーティションをタイプ1に分類する。
 (3-2:フィルタセット番号=2の場合)
 フィルタセット番号が2である場合、領域分類部424は、図13(c)に示すように、16×16画素のパーティション、および、8×8画素のパーティションをタイプ0に分類し、4×4画素のパーティションをタイプ1に分類し、8×1画素のパーティションをタイプ2に分類し、1×8画素のパーティションをタイプ3に分類する。
 このように、本例においては、対象マクロブロックに含まれる各パーティションの大きさおよび形状に応じて、各パーティションを複数のタイプに分類する。上述したように、パーティションの大きさと該パーティションにおける画像の活性度との間には負の相関があるため、パーティションの大きさに応じて各パーティションを分類することは、画像の活性度に応じて各パーティションを分類することに対応する。また、上述したように、パーティションの形状と該パーティションにおける画像の方向性とは相関があるため、パーティションの形状に応じて各パーティションを分類することは、画像の方向性に応じて各パーティションを分類することに対応する。このように、本例は、パーティションの大きさと活性度との相関、および、パーティションの形状と方向性との相関を利用することによって、活性度および方向性を直接参照することなく、実質的に活性度および方向性に応じた分類を行うものである。
 なお、本例の処理を行うための適応フィルタ42としては、図5に示す基本構成を有するものを用いてもよいし、図6に示す第1の変形例を用いてもよいし、図9に示す第4の変形例を用いてもよい。(分類処理例1)~(分類処理例6)のうち、本例の処理、(分類処理例4)、および(分類処理例5)の少なくとも何れかのみを行う場合には、図6に示す変形例を用いることによって、適応フィルタ42の構成を簡単なものにすることができる。
 (分類処理例4)
 以下では、領域分類部424による分類処理の第4の例について図14(a)~(c)を参照して説明する。
 本例においては、領域分類部424は、フィルタセット番号、および、各パーティションに割り付けられた予測モードに基づいて、対象マクロブロックに含まれる各パーティションを分類する。図14は、本例における領域分類部424による分類処理を説明するためのものであって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表である。
 (4-1:フィルタセット番号=0の場合)
 フィルタセット番号が0である場合、領域分類部424は、図14(a)に示すように、対象マクロブロックに含まれる全てのパーティションをタイプ0に分類する。
 (4-2:フィルタセット番号=1の場合)
 フィルタセット番号が1である場合、領域分類部424は、図14(b)に示すように、DC予測、プレーン予測、および、スケール予測の何れかが適用されたパーティションをタイプ0に分類し、それ以外の予測モードが適用されたパーティションをタイプ1に分類する。
 (4-3:フィルタセット番号=2の場合)
 フィルタセット番号が1である場合、領域分類部424は、図14(c)に示すように、DC予測、プレーン予測、および、スケール予測の何れかが適用されたパーティションをタイプ0に分類し、方向予測0が適用されたパーティションをタイプ1に分類し、方向予測4が適用されたパーティションをタイプ2に分類し、方向予測1~3の何れかが適用されたパーティションをタイプ3に分類し、方向予測5~7の何れかが適用されたパーティションをタイプ4に分類し、TM予測が適用されたパーティションをタイプ5に分類する。
 本例では、特定の予測モードでは活性度が小さくなるという傾向を利用している。すなわち、活性度が小さくなる傾向のある特定の予測モードと、それ以外の予測モードとを異なったタイプに分類している。上記の説明では、DC予測、プレーン予測、スケール予測の場合に活性度が小さくなる傾向を利用しているが、DC予測の場合には活性度が大きい場合もあることから、プレーン予測、および、スケール予測の場合とDC予測の場合とで異なるタイプを割り当てても良い。DC予測を異なるタイプに割り当てる場合、フィルタセット番号が1の場合にはタイプ1、フィルタセット番号が2の場合には、タイプ5に割り当てると良い。
 なお、本例の処理を行うための適応フィルタ42としては、図5に示す基本構成を有するものを用いてもよいし、図6に示す第1の変形例を用いてもよいし、図9に示す第4の変形例を用いてもよい。(分類処理例1)~(分類処理例6)のうち、本例の処理、(分類処理例3)、および(分類処理例5)の少なくとも何れかのみを行う場合には、図6に示す変形例を用いることによって、適応フィルタ42の構成を簡単なものにすることができる。
 (分類処理例5)
 以下では、領域分類部424による分類処理の第5の例について図15(a)~(e)を参照して説明する。
 本例においては、領域分類部424は、フィルタセット番号、各パーティションのサイズ、および、各パーティションに割り付けられた予測モードに基づいて、対象マクロブロックに含まれる各パーティションを分類する。図15は、本例における領域分類部424による分類処理を説明するためのものであって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表であり、(d)は、フィルタセット番号が3である場合の分類を示す表であり、(e)は、フィルタセット番号が4である場合の分類を示す表である。
 (5-1:フィルタセット番号=0の場合)
 フィルタセット番号が0である場合、領域分類部424は、図15(a)に示すように、対象マクロブロックに含まれる全てのパーティションをタイプ0に分類する。
 (5-2:フィルタセット番号=1の場合)
 フィルタセット番号が1である場合、領域分類部424は、図15(b)に示すように、16×16画素のパーティション、および、8×8画素のパーティションをタイプ0に分類し、4×4画素のパーティション、8×1画素のパーティション、および、1×8画素のパーティションをタイプ1に分類する。
 (5-3:フィルタセット番号=2の場合)
 フィルタセット番号が2である場合、領域分類部424は、図15(c)に示すように、サイズが16×16画素および8×8画素の何れかであって、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ0に分類し、サイズが16×16画素および8×8画素の何れかであって、DC予測、プレーン予測、およびスケール予測以外の予測モードが適用されたパーティションをタイプ1に分類し、サイズが4×4画素、8×1画素、および1×8画素の何れかであって、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ2に分類し、サイズが4×4画素、8×1画素、および1×8画素の何れかであって、DC予測、プレーン予測、およびスケール予測以外の予測モードが適用されたパーティションをタイプ3に分類する。
 (5-4:フィルタセット番号=3の場合)
 フィルタセット番号が3である場合、領域分類部424は、図15(d)に示すように、サイズが16×16画素、8×8画素、および、4×4画素の何れかであるパーティションを以下のように分類する。すなわち、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ0に分類し、方向予測0が適用されたパーティションをタイプ1に分類し、方向予測4が適用されたパーティションをタイプ2に分類し、方向予測1~3および5~7の何れかが適用されたパーティションをタイプ3に分類し、TM予測が適用されたパーティションをタイプ4に分類する。
 また、領域分類部424は、図15(d)に示すように、サイズが8×1画素であるパーティションをタイプ1(すなわち、サイズが16×16画素、8×8画素、および、4×4画素の何れかであって、方向予測0が適用されたパーティションと同じタイプ)に分類し、サイズが1×8画素であるパーティションをタイプ2(すなわち、サイズが16×16画素、8×8画素、および、4×4画素の何れかであって、方向予測4が適用されたパーティションと同じタイプ)に分類する。
 (5-5:フィルタセット番号=4の場合)
 フィルタセット番号が4である場合、領域分類部424は、図15(e)に示すように、サイズが16×16画素、および8×8画素の何れかであるパーティションを以下のように分類する。すなわち、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ0に分類し、方向予測0が適用されたパーティションをタイプ1に分類し、方向予測4が適用されたパーティションをタイプ2に分類し、方向予測1~3の何れかが適用されたパーティションをタイプ1に分類し、方向予測5~7の何れかが適用されたパーティションをタイプ2に分類し、TM予測が適応されたパーティションをタイプ3に分類する。
 また、領域分類部424は、図15(e)に示すように、サイズが4×4画素であるパーティションを以下のように分類する。すなわち、すなわち、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ4に分類し、方向予測0が適用されたパーティションをタイプ5に分類し、方向予測4が適用されたパーティションをタイプ6に分類し、方向予測1~3の何れかが適用されたパーティションをタイプ7に分類し、方向予測5~7の何れかが適用されたパーティションをタイプ8に分類し、TM予測が適応されたパーティションをタイプ9に分類する。
 また、領域分類部424は、図15(e)に示すように、サイズが8×1画素であるパーティションをタイプ5(すなわち、サイズが4×4画素であって、方向予測0が適用されたパーティションと同じタイプ)に分類し、サイズが1×8画素であるパーティションをタイプ6(すなわち、サイズが4×4画素であって、方向予測4が適用されたパーティションと同じタイプ)に分類する。
 このように、本例は、(1)パーティションのサイズと活性度との関係、および、(2)パーティションの形状及び予測モードと方向性との関係、の両方を利用するものである。
 なお、本例の処理を行うための適応フィルタ42としては、図5に示す基本構成を有するものを用いてもよいし、図6に示す第1の変形例を用いてもよいし、図9に示す第4の変形例を用いてもよい。(分類処理例1)~(分類処理例6)のうち、本例の処理、(分類処理例3)、および(分類処理例4)の少なくとも何れかのみを行う場合には、図6に示す変形例を用いることによって、適応フィルタ42の構成を簡単なものにすることができる。
 (分類処理例6)
 以下では、領域分類部424による分類処理の第6の例について図16(a)~(e)を参照して説明する。
 本例においては、領域分類部424は、フィルタセット番号、および、各パーティションに割り付けられた予測モード、および、各パーティションの活性度に基づいて、対象マクロブロックに含まれる各パーティションを分類する。図16は、本例における領域分類部424による分類処理を説明するためのものであって、(a)は、フィルタセット番号が0である場合の分類を示す表であり、(b)は、フィルタセット番号が1である場合の分類を示す表であり、(c)は、フィルタセット番号が2である場合の分類を示す表であり、(d)は、フィルタセット番号が3である場合の分類を示す表であり、(e)は、フィルタセット番号が4である場合の分類を示す表である。
 (6-1:フィルタセット番号=0の場合)
 フィルタセット番号が0である場合、領域分類部424は、図16(a)に示すように、対象マクロブロックに含まれる全てのパーティションをタイプ0に分類する。
 (6-2:フィルタセット番号=1の場合)
 フィルタセット番号が1である場合、領域分類部424は、図16(b)に示すように、活性度ACTが予め定められた閾値TH以下であるパーティションをタイプ0に分類し、活性度ACTが当該閾値THよりも大きいパーティションをタイプ1に分類する。
 (6-3:フィルタセット番号=2の場合)
 フィルタセット番号が2である場合、領域分類部424は、図16(c)に示すように、活性度ACTが予め定められた閾値TH以下であるパーティションをタイプ0に分類し、活性度ACTが当該閾値THよりも大きいパーティションであって、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ1に分類し、活性度ACTが当該閾値THよりも大きいパーティションであって、DC予測、プレーン予測、およびスケール予測以外の予測モードが適用されたパーティションをタイプ2に分類する。
 (6-4:フィルタセット番号=3の場合)
 フィルタセット番号が3である場合、領域分類部424は、図16(d)に示すように、活性度ACTが予め定められた閾値TH以下であるパーティションをタイプ0に分類する。また、領域分類部424は、活性度ACTが当該閾値THよりも大きいパーティションを以下のように分類する。すなわち、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ1に分類し、方向予測0が適用されたパーティションをタイプ2に分類し、方向予測4が適用されたパーティションをタイプ3に分類し、それ以外の予測モードが適用されたパーティションをタイプ4に分類する。
 (6-5:フィルタセット番号=4の場合)
 フィルタセット番号が3である場合、領域分類部424は、図16(e)に示すように、活性度ACTが予め定められた閾値TH以下であるパーティションをタイプ0に分類する。また、領域分類部424は、活性度ACTが当該閾値THよりも大きいパーティションを以下のように分類する。すなわち、DC予測、プレーン予測、およびスケール予測の何れかが適用されたパーティションをタイプ1に分類し、方向予測0が適用されたパーティションをタイプ2に分類し、方向予測4が適用されたパーティションをタイプ3に分類し、方向予測1~3の何れかが適用されたパーティションをタイプ4に分類し、方向予測5~7の何れかが適用されたパーティションをタイプ5に分類し、TM予測が適用されたパーティションをタイプ6に分類する。
 このように、本例は、(1)パーティションのサイズと活性度との関係、および、(2)パーティションの形状もしくは予測モードと方向性の関係の両方を利用するものである。
 なお、本例の処理を行うための適応フィルタ42としては、図5に示す基本構成を有するものを用いてもよいし、図9に示す第4の変形例を用いてもよい。(分類処理例1)~(分類処理例6)のうち、本例の処理のみを行う場合には、図9に示す変形例を用いることによって、適応フィルタ42の構成を簡単なものにすることができる。
 (フィルタ処理部425)
 フィルタ処理部425は、デブロック済復号画像P_DBにおける対象マクロブロックに含まれる各分割領域、または、各パーティションに対して、領域分類部424より供給されるフィルタ係数群を用いてフィルタ処理を行うことによって、フィルタ済復号画像P_FLを生成する。ここで、タイプI(I=1、2、…)に分類された分割領域またはパーティションに対しては、フィルタ係数群Iを用いたフィルタ処理が行われる。
 より具体的には、フィルタ済復号画像P_FL(以下、「フィルタ後画像」とも呼称する)における対象マクロブロック内の画素値であって、タイプI(I=1、2、…)に分類された分割領域またはパーティションにおけるフィルタ対象画素の画素値をSF(x’、y’)と表し、デブロック済復号画像P_DB(以下、「フィルタ前画像」とも呼称する)における対象マクロブロック内または対象マクロブロック周辺の画素値をS(x、y)と表すことにすると、フィルタ処理部425は、画素値SF(x’、y’)を、以下の数式(6)によって算出する。
Figure JPOXMLDOC01-appb-M000005
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aI(i、j)は、フィルタ前画像の画素値S(x+i、y+j)に乗ぜられるフィルタ係数を表しており、符号化データ#1に含まれるフィルタ係数群に含まれるフィルタ係数に対応している。また、oIは、フィルタ係数群Iに含まれるオフセットを表している。
 また、Rは、フィルタ処理において参照される領域(以下、「フィルタ参照領域R」とも呼称する)を示している。図17(a)に、本実施形態におけるフィルタ参照領域Rの例を示す。図17(a)において、斜線が付された画素は、フィルタ対象画素を示している。また、図17(a)において、a0~a12は、符号化データ#1から復号されたフィルタ係数であって、フィルタ参照領域Rに含まれる各画素に割り付けられたフィルタ係数を表している。図17(a)に示すように、フィルタ参照領域Rは、例えば、フィルタ対象画素からの市街地距離が3以下である画素から構成することができる。
 また、図17(a)に示すように、各フィルタ係数は、180度の回転対称性を有するように、フィルタ参照領域Rに含まれる各画素に対して割り付けられる構成とすることができる。すなわち、数式(6)におけるaI(i、j)は、符号化データ#1から復号されたフィルタ係数a0~a12を用いて、aI(0、-3)=aI(0、3)=a0、aI(1、-2)=aI(-1、2)=a1、…、のように、aI(i、j)=aI(-i、-j)を満たすように設定される構成とすることができる。
 ただし、本実施形態はこれに限定されるものではなく、各フィルタ係数の各画素値への割り付けは、回転対称性を有していなくてもよい。また、フィルタ参照領域Rは、より一般に、画素を単位として、座標(x、y)からの市街地距離がNcb以下である画素によって構成される領域であってもよいし、座標(x、y)を中心とするNx×Nyタップの矩形状の領域としてもよいし、その他の画素を含むように構成される領域であってもよい。
 フィルタ参照領域Rに含まれる各画素へのフィルタ係数の割り付け方、および、フィルタ参照領域Rの形状については、符号化データ#1を生成する動画像符号化装置の構成に応じて適宜設定すればよい。
 また、フィルタ処理部425は、可変長符号復号部13から供給されるオンオフ情報によって、フィルタ処理がオフであると指定されている分割領域、および、パーティションについては、フィルタ処理を行わない構成とすることができる。
 以上のように、適応フィルタ42は、出力画像(フィルタ済復号画像P_FL)における各画素の画素値を、入力画像(デブロック画像P_DB)における該画素の位置に応じて定まる参照領域R内の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、上記入力画像を構成する複数の単位領域(分割領域またはパーティション)の各々における上記入力画像の方向性を識別する方向性識別手段(エッジ方向検出部422、領域分類部424)と、上記方向性識別手段によって識別された各単位領域における上記入力画像の方向性が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループ(タイプ)の何れかに分類する分類手段(領域分類部424)と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段(フィルタ処理部425)と、を備えている。
 以上のような構成を有する適応フィルタ42によれば、上記フィルタ手段が、出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するので、上記入力画像の方向性が、単位領域毎に異なるような場合に、当該方向性に応じて適切なフィルタ処理を行うことができる。
 したがって、適応フィルタ42によれば、上記入力画像が、活性度によってフィルタ係数を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 なお、各単位領域における入力画像(デブロック画像P_DB)の方向性は、当該入力画像のエッジを、エッジ方向検出部422にて検出することによって識別してもよいし、イントラ予測画像を生成する際に参照されるイントラ予測モード(予測モード)の示す方向によって領域分類部424にて間接的に識別する構成としてもよい。
 また、適応フィルタ42は、画面内予測を用いて単位領域(分割領域またはパーティション)毎に生成された入力画像(デブロック画像P_DB)から出力画像(フィルタ済復号画像P_FL)を生成する画像フィルタ装置であって、出力画像における各画素の画素値を、該画素の位置に応じて定まる参照領域内の入力画像の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループ(タイプ)の何れかに分類する分類手段(領域分類部424)と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段(フィルタ処理部425)と、を備えているものである、と表現することもできる。
 このように、適応フィルタ42は、パーティションの形状および大きさに応じて、例えば、(分類処理例3)に示したように各パーティションを複数のグループの何れかに分類し、グループ毎に最適なフィルタ係数を用いてフィルタ処理を行うことができる。
 したがって、適応フィルタ42によれば、上記入力画像が、活性度によってフィルタ係数を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 <変形例1>
 以上の説明では、符号化データ#1のスライスヘッダSHに、フィルタセット番号が含まれている場合を例に挙げたが、本実施形態はこれに限定されるものではない。例えば、符号化データ#1のスライスヘッダSHは、フィルタセット番号に代えて、エッジ角度Theta、予測モード、各パーティションのサイズ、および活性度ACTと、1または複数のフィルタ係数群(より具体的には、フィルタ係数群を指定するフィルタ番号)との対応関係を示すテーブル(以下、「フィルタ割り当てテーブル」とも呼称する)を含む構成としてもよい。
 図18は、フィルタ割り当てテーブルを含むスライスヘッダSH’の構成を示す図である。スライスヘッダSH’は、既に説明したスライスヘッダSHと同様に、フィルタオンオフ情報、フィルタ係数群0~Nf-1を含んでいる。また、スライスヘッダSH’は、スライスヘッダSHに含まれるフィルタセット番号に代えて、上述したフィルタ割り当てテーブルを含んでいる。
 図19(a)~(b)に、フィルタ割り当てテーブルの例を示す。図19(a)に示すように、フィルタ割り当てテーブルは、例えば、エッジ角度Thetaと、フィルタ番号との対応関係を示すテーブルであってもよいし、図19(b)に示すように、予測モード、および、パーティションのサイズと、フィルタ番号との対応関係であってもよい。また、フィルタ割り当てテーブルとしては、図19(a)~(b)に示したものに限られるものではなく、エッジ方向、パーティションのサイズ、予測モード、および活性度の何れかと、フィルタ番号とを対応付けるものであればよい。
 適応フィルタ42の備える領域分類部424は、スライスヘッダSH’に含まれるフィルタ割り当てテーブルを参照し、対象マクロブロックに含まれる各分割領域または各パーティションに対して、符号化データ#1から復号されるフィルタ係数群であって、当該フィルタ割り当てテーブルによって指定されるフィルタ係数群を割り付ける構成とすることができる。
 例えば、領域分類部424は、スライスヘッダSH’に含まれるフィルタ割り当てテーブルが図19(a)に示すものである場合、エッジ角度Thetaが(0°≦Theta<22.5°、または、157.5°≦Theta<180°)である分割領域に対して、フィルタ係数群0を割り付け、エッジ角度Thetaが(22.5°≦Theta<67.5°)である分割領域に対して、フィルタ係数群2を割り付け、エッジ角度Thetaが(67.5°≦Theta<112.5°)である分割領域に対して、フィルタ係数群1を割り付け、エッジ角度Thetaが(112.5°≦Theta<157.5°)である分割領域に対して、フィルタ係数群2を割り付ける。スライスヘッダSH’に含まれるフィルタ割り当てテーブルが図19(b)に示すものである場合についても、同様である。
 このように、フィルタ割り当てテーブルを参照することによって、フィルタセットを用いる場合に比べて、複数のフィルタ係数群の各々を異なったタイプ(単位領域グループ)に関連付ける自由度が増大するため、フィルタ係数群の選択の自由度が増大する。
 なお、フィルタ割り当てテーブルは、符号化データ#1に含まれる複数のフィルタ係数群の各々を、何れのエッジ角度に関連付けるのかを示す情報(方向性情報)として捉えることもできる。
 <変形例2>
 また、以上の説明では、数式(6)のフィルタ参照領域Rとして、図17(a)に示すものを例に挙げたが、本実施形態はこれに限られるものではない。本実施形態におけるフィルタ参照領域Rとしては、例えば、図17(b)~(d)に示すものを用いてもよい。図17(a)~(d)において、斜線が付された画素は、フィルタ対象画素を示している。以下では、図17(a)に示すフィルタ参照領域Rを「基本参照領域」と呼称し、図17(b)に示すフィルタ参照領域Rを「垂直方向型の参照領域」と呼称し、図17(c)に示すフィルタ参照領域Rを「水平方向型の参照領域」と呼称し、図17(d)に示すフィルタ参照領域Rを「斜め方向型の参照領域」と呼称する。
 図17(a)に示す基本参照領域は、デブロック済復号画像P_DBの対象マクロブロックにおいて、エッジが存在しない分割領域若しくはパーティション、または、エッジの強度が所定の値よりも小さい分割領域若しくはパーティションのフィルタ処理に好適に用いることができる。
 一方で、図17(b)に示すように、垂直方向型の参照領域は、垂直方向の長さが水平方向の長さに比べて長いという特徴がある。このため、デブロック済復号画像P_DBの対象マクロブロックにおいて、縦方向のエッジが存在する分割領域またはパーティションのフィルタ処理に好適に用いることができる。
 また、図17(c)に示すように、水平方向型の参照領域は、水平方向の長さが垂直方向の長さに比べて長いという特徴がある。このため、デブロック済復号画像P_DBの対象マクロブロックにおいて、横方向のエッジが存在する分割領域またはパーティションのフィルタ処理に好適に用いることができる。
 また、図17(d)に示すように、斜め方向型の参照領域は、矩形状であるため、デブロック済復号画像P_DBの対象マクロブロックにおいて、斜め方向のエッジが存在する分割領域またはパーティションのフィルタ処理に好適に用いることができる。
 適応フィルタ42の備えるフィルタ処理部425は、フィルタ参照領域Rとして、上述の基本参照領域、垂直方向型の参照領域、水平方向型の参照領域、および、斜め方向型の参照領域のうち、何れかの参照領域を選択的に用いる構成とすることができる。より具体的には、予測モード/サイズ蓄積部421およびエッジ方向検出部422が、それぞれ、各パーティションの予測モード、および、各分割領域のエッジ角度Thetaを、フィルタ処理部425に供給する構成とし、フィルタ処理部425は、各分割領域のエッジ角度、または、各パーティションの予測モードに応じて、上記複数の参照領域の何れかを選択的に用いる構成とすることができる。
 図20(a)に、エッジ角度と、使用される参照領域との対応関係の例を示す。図20(a)に示すように、フィルタ処理部425は、例えば、エッジ角度Thetaが(0°≦Theta<22.5°、または157.5°≦Theta<180°)を満たす分割領域内にフィルタ対象画素が存在する場合に、水平方向型の参照領域を用い、エッジ角度Thetaが(22.5°≦Theta<67.5°)を満たす分割領域内にフィルタ対象画素が存在する場合に、斜め方向型の参照領域を用い、エッジ角度Thetaが(67.5°≦Theta<112.5°)を満たす分割領域内にフィルタ対象画素が存在する場合に、垂直方向型の参照領域を用い、エッジ角度Thetaが(112.5°≦Theta<157.5°)を満たす分割領域内にフィルタ対象画素が存在する場合に、斜め方向型の参照領域を用いる構成とすることができる。
 また、図20(b)に、予測モードと、使用される参照領域との対応関係の例を示す。図20(b)に示すように、フィルタ処理部425は、例えば、予測モードがDC予測、プレーン予測、TM予測、およびスケール予測の何れかであるパーティション内にフィルタ対象画素が存在する場合に、基本参照領域を用い、予測モードが方向予測0であるパーティション内にフィルタ対象画素が存在する場合に、水平方向型の参照領域を用い、予測モードが方向予測4であるパーティション内にフィルタ対象画素が存在する場合に、垂直方向型の参照領域を用い、予測モードが方向予測1~3、および、方向予測5~7の何れかであるパーティション内にフィルタ対象画素が存在する場合に、斜め方向型の参照領域を用いる構成とすることができる。
 本変形例の構成と同様の構成を有する動画像符号化装置は、エッジ角度、および、予測モードに応じて、複数のフィルタ参照領域の形状のうちから最適な形状を選択することによって、より適切なフィルタ処理を行うことができるので、予測精度が向上し、符号化効率を向上させることができる。また、フィルタ参照領域の形状をエッジ角度、および、予測モードに応じて、最適化することによって、フィルタ係数群の総数を可能な限り少なくしつつ効果的なフィルタ処理を行うことができる。
 また、本変形例の構成を有する動画像復号装置1は、そのような符号化効率の高い符号化データを適切に復号することができる。
 なお、本実施形態において、選択可能な参照領域の形状は、図20(a)~(d)に示すものに限定されるものではなく、エッジ角度、および、予測モードに応じて、他にも様々な形状および大きさの参照領域を用いることができる。
 <変形例3>
 以上の説明では、符号化データ#1のスライスヘッダにフィルタセット番号が含まれている場合、および、当該フィルタセット番号に代えて、フィルタ割り当てテーブルが含まれている場合を例に挙げたが、本実施形態は、これらに限定されるものではない。
 例えば、符号化データ#1のスライスヘッダは、フィルタセット番号、および、フィルタ割り当てテーブルの何れも含まない構成としてもよい。
 符号化データ#1がこのような構成である場合、領域分類部424は、フィルタセット番号を参照することなく、(1)各パーティションのサイズ、(2)予測モード、(3)エッジ角度Theta、および、(4)活性度ACTに基づいて、対象マクロブロックに含まれる各分割領域、または、各パーティションを、1または複数のタイプに分類し、タイプI(I=1、2、…)に分類された分割領域またはパーティションに対して、符号化データ#1から復号されたフィルタ係数群Iを割り付ける構成とすればよい。
 また、以上の説明では、エッジ検出部422は、各分割領域のエッジの角度Thetaを、0°≦Theta<180°の範囲で検出するものとしたが、本実施形態はこれに限定されるものではない。例えば、エッジ検出部422は、各分割領域のエッジの角度Thetaを、0°≦Theta<360°の範囲で検出する構成としてもよい。
 図21は、符号化データ#1がフィルタセット番号、および、フィルタ割り当てテーブルの何れも含まない構成である場合であって、エッジ検出部422が、各分割領域のエッジの角度Thetaを、0°≦Theta<360°の範囲で検出する構成である場合の、領域分類部424による分類処理の例を示す表である。図21に示すように、領域分類部424は、エッジ角度Thetaが(0°≦Theta<22.5°、または、337.5°≦Theta<360°)を満たす分割領域を、タイプ0に分類し、エッジ角度Thetaが(22.5°≦Theta<67.5°)を満たす分割領域を、タイプ1に分類し、エッジ角度Thetaが(67.5°≦Theta<112.5°)を満たす分割領域を、タイプ2に分類し、エッジ角度Thetaが(112.5°≦Theta<157.5°)を満たす分割領域を、タイプ3に分類し、エッジ角度Thetaが(157.5°≦Theta<202.5°)を満たす分割領域を、タイプ4に分類し、エッジ角度Thetaが(202.5°≦Theta<247.5°)を満たす分割領域を、タイプ5に分類し、エッジ角度Thetaが(247.5°≦Theta<292.5°)を満たす分割領域を、タイプ6に分類し、エッジ角度Thetaが(292.5°≦Theta<337.5°)を満たす分割領域を、タイプ7に分類する。
 また、領域分類部424は、タイプI(I=1~7)に分類された分割領域に、符号化データ#1から復号されたフィルタ係数群Iを割り付ける。
 本変形例においては、エッジ角度を0°≦Theta<360°の範囲で検出し、検出された角度に応じてフィルタ係数群を割り付けるので、より効果的なフィルタ処理を行うことができる。また、本変形例においては、符号化データ#1は、フィルタセット番号、および、フィルタ割り当てテーブルの何れも含まない構成であるため、符号化データ#1の符号量を削減することができる。
 <変形例4>
 また、以上の説明では、領域分類部424は、対象マクロブロックに含まれる各分割領域、または、各パーティション(予測単位)を複数のタイプの何れかに分類する構成としたが、本実施形態はこれに限定されるものではない。例えば、領域分類部424は、対象マクロブロックに含まれる各ブロック(変換単位)を複数のタイプの何れかに分類する構成としてもよい。この場合、領域分類部424は、上述した構成と略同様に、対象マクロブロックに含まれる各ブロックのサイズ、予測モード、エッジ角度、および、活性度ACTに応じて、各ブロックを複数のタイプの何れかに分類する構成とすることができる。
 また、このような構成の場合、イントラ予測モード蓄積部421は、対象マクロブロックに含まれる各パーティションの予測モードを、対応するブロックに割り付け、各ブロックの予測モードおよび各ブロックのサイズを蓄積する構成とすればよい。また、エッジ方向検出部422は、対象マクロブロックに含まれる各ブロックについてエッジ検出を行う構成とすればよい。また、活性度算出部423は、対象マクロブロックに含まれる各ブロックについて活性度ACTを算出する構成とすればよい。また、フィルタ処理部425は、タイプI(I=1、2、…)に分類されたブロックに対して、フィルタ係数群Iを用いたフィルタ処理を行う構成とすればよい。
 適応フィルタ42は、本例のような構成であっても、デブロック済復号画像P_DBに対して、適切なフィルタ処理を行うことができる。
 (動画像符号化装置2)
 本実施形態に係る動画像符号化装置2の構成について図22~図24を参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG-4.AVC、及び、KTAソフトウェアに採用されている技術を含む復号装置である。
 図22は、動画像符号化装置2の構成を示すブロック図である。図22に示すように、動画像符号化装置2は、変換・量子化部21、可変長符号符号化部22、逆量子化・逆変換部23、バッファメモリ24、イントラ予測画像生成部25、インター予測画像生成部26、動きベクトル検出部27、予測方式制御部28、動きベクトル冗長性削除部29、加算器31、減算器32、デブロッキングフィルタ33、および、適応フィルタ34を備えている。動画像符号化装置2は、動画像#10(符号化対象画像)を符号化することによって、符号化データ#1を生成する装置である。
 変換・量子化部21は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック毎にDCT変換(Discrete Cosine Transform)し、(2)DCT変換により得られたDCT係数を量子化し、(3)量子化により得られた量子化予測残差QDを可変長符号符号化部22及び逆量子化・逆変換部23に供給する。なお、変換・量子化部21は、(1)量子化の際に用いる量子化ステップQPをマクロブロック毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部22に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、DCT変換/量子化するマクロブロックに関する量子化パラメータqp(QP=2pq/6)の値から、直前にDCT変換/量子化したマクロブロックに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
 可変長符号符号化部22は、(1)変換・量子化部21から供給された量子化予測残差QD並びにΔqp、(2)後述する予測方式制御部28から供給された量子化パラメータPP、および、(3)後述する適応フィルタ34から供給されたフィルタセット番号、フィルタ係数群、領域指定情報、並びにオンオフ情報を可変長符号化することによって、符号化データ#1を生成する。
 逆量子化・逆変換部23は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器31に供給する。量子化予測残差QDを逆量子化する際には、変換・量子化部21から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部21に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
 イントラ予測画像生成部25は、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部25は、生成したイントラ予測画像Pred_Intraを、予測方式制御部28に供給する。
 また、イントラ予測画像生成部25は、自身のメモリに格納されている図3(a)に示す対応表を参照し、各パーティションについて選択された予測モードと、各パーティションのサイズとから各パーティションについての予測インデックスPIを特定し、各パーティションについての当該予測インデックスPIを示す予測インデックス指定情報を予測方式制御部28に供給する。
 また、イントラ予測画像生成部25は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報IEMを適応フィルタ34に供給する。
 なお、イントラ予測画像生成部25によるイントラ予測画像の生成は、(イントラ予測画像生成部17によるイントラ予測画像の生成処理)において説明した処理と同様の処理によって行うことができる。
 動きベクトル検出部27は、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用するフィルタ済復号画像P_FL’を選択し、(2)選択したフィルタ済復号画像P_FL’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、フィルタ済復号画像P_FL’は、既に復号が完了した復号済みの復号画像に対して、デブロッキングフィルタ33によるデブロック処理、および、適応フィルタ34による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部27は、フィルタ済復号画像P_FL’を構成する各画素の画素値をバッファメモリ24から読み出すことができる。動きベクトル検出部27は、検出した動きベクトルmvを、参照画像として利用したフィルタ済復号画像P_FL’を指定する参照画像インデックスRIと共に、インター予測画像生成部26及び動きベクトル冗長性削除部29に供給する。なお、双方向予測(重み付き予測)を行うパーティションについては、参照画像として2枚のフィルタ済復号画像P_FL1’及びP_FL2’を選択し、2枚のフィルタ済復号画像P_FL1’及びP_FL2’の各々に対応する動きベクトルmv1及びmv2、並びに、参照画像インデックスRI1及びRI2をインター予測画像生成部26及び動きベクトル冗長性削除部29に供給する。
 インター予測画像生成部26は、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部27から供給された動きベクトルmvを用いて、動きベクトル検出部27から供給された参照画像インデックスRIによって指定されるフィルタ済復号画像P_FL’から動き補償画像mcを生成する。動きベクトル検出部27と同様、インター予測画像生成部26は、フィルタ済復号画像P_FL’を構成する各画素の画素値をバッファメモリ24から読み出すことができる。インター予測画像生成部26は、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部27から供給された参照画像インデックスRIと共に、予測方式制御部28に供給する。なお、双方向予測(重み付き予測)をパーティションについては、(1)動きベクトルmv1を用いて、参照画像インデックスRI1によって指定されたフィルタ済復号画像P_FL1’から動き補償画像mc1を生成し、(2)動きベクトルmv2を用いて、参照画像インデックスRI2によって指定されたフィルタ済参照画像P_FL2’から動き補償画像mc2を生成し、(3)動き補償画像mc1と動き補償画像mc2との加重平均にオフセット値を加えることによってインター予測画像Pred_Interを生成する。
 予測方式制御部28は、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部28は、イントラ予測画像Pred_Intraを予測画像Predとして加算器31及び減算器32に供給すると共に、イントラ予測画像生成部25から供給された予測インデックスPIを予測パラメータPPとして可変長符号符号化部22に供給する。一方、インター予測を選択した場合、予測方式制御部28は、インター予測画像Pred_Interを予測画像Predとして加算器31及び減算器32に供給すると共に、インター予測画像生成部26から供給された参照画像インデックスRI、並びに、動きベクトル冗長性削除部29(後述)から供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDを予測パラメータPPとして可変長符号符号化部に供給する。
 予測方式制御部28にて選択された予測画像Predを、符号化対象画像から減算することによって、減算器32にて予測残差Dが生成される。減算器32にて生成された予測残差Dは、上述したとおり、変換・量子化部21によってDCT変換/量子化される。一方、予測方式制御部28にて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、加算器31にて局所復号画像Pが生成される。加算器31にて生成された局所復号画像Pは、デブロッキングフィルタ33および適応フィルタ34を経由したのち、フィルタ済復号画像P_FLとしてバッファメモリ24に格納され、インター予測における参照画像として利用される。
 なお、動きベクトル冗長性削除部29は、動きベクトル検出部27によって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部29は、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部28に供給する。
 デブロッキングフィルタ33は、復号画像Pにおけるブロック境界、またはマクロブロック境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像Pにおける当該ブロック境界、または当該マクロブロック境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該マクロブロック境界付近の画像の平滑化を行う。デブロッキングフィルタ33によりデブロッキング処理が施された画像は、デブロック済復号画像P_DBとして、適応フィルタ34に出力される。
 適応フィルタ34は、デブロッキングフィルタ33から供給されるデブロック済復号画像P_DBに対して、適応的なフィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。適応フィルタ34によりフィルタ処理が施されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。適応フィルタ34の具体的な構成については、後述するため、ここでは説明を省略する。
 (適応フィルタ34)
 以下では、動画像符号化装置2の備える適応フィルタ34について、図23~図24を参照して説明を行う。
 図23は、適応フィルタ34の構成を示すブロック図である。図23に示すように、適応フィルタ34は、領域分割部340、イントラ符号化モード蓄積部341、エッジ方向検出部342、活性度算出部343、領域分類部344、フィルタ処理部345、および、フィルタパラメータ導出部346を備えている。
 適応フィルタ34は、デブロッキングフィルタ33から供給されるデブロック済復号画像P_DBに対して、フィルタ後の画像と符号化対象画像との誤差が最小となるように決定されたフィルタ係数を用いてフィルタ処理を行うものである。フィルタ後の画像は、フィルタ済復号画像P_FLとしてバッファメモリ24に格納される。なお、フィルタ済復号画像P_FLの生成は、マクロブロック単位で行ってもよいし、マクロブロックよりも小さい領域を単位として行ってもよいし、マクロブロックよりも大きい領域を単位として行ってもよい。以下では、適応フィルタ34が、マクロブロック単位で、フィルタ済復号画像P_FLの生成を行う場合を例に挙げ説明を行う。
 (領域分割部340)
 領域分割部340は、対象マクロブロックを1または複数の分割領域に分割し、各分割領域のサイズおよび位置を指定する領域指定情報を、エッジ方向検出部342、活性度算出部343、および、可変長符号符号化部22に対して供給する。ここで、各分割領域は、1つの画素から構成されるものであってもよいし、複数の画素から構成されるものであってもよい。なお、領域分割部340は、対象マクロブロックを、当該対象マクロブロック内の画像の特性(輝度、テクスチャ等)に応じて分割領域に分割する構成としてもよいし、符号化効率を最適化するように分割領域に分割する構成としてもよい。
 (イントラ符号化モード蓄積部341)
 イントラ符号化モード蓄積部341は、イントラ予測画像生成部25より供給されるイントラ符号化モード情報IEMの示す、パーティションのサイズ、および、パーティションに割り付けられた予測モードを蓄積する。イントラ符号化モード蓄積部341は、対象マクロブロックに含まれるすべてのパーティションについてのサイズおよび予測モードを蓄積する構成とすることができる。
 また、イントラ符号化モード蓄積部341に蓄積された各パーティションのサイズ、および予測モードを含む情報は、領域分類部344に供給される。
 (エッジ方向検出部342)
 エッジ方向検出部342は、領域分割部340から供給される領域指定情報を参照して、デブロック済復号画像P_DBにおける対象マクロブロックを1または複数の分割領域に分割し、各分割領域の画像についてエッジ検出を行う。また、各分割領域について、エッジの方向を示す角度(エッジ角度)Thetaを、領域分類部344に供給する。エッジ方向検出部342によるエッジ角度Thetaの算出は、エッジ方向検出部422と同様の方法によって行うことができる。なお、エッジ検出部342は、対象分割領域に含まれる全ての画素についてのエッジ強度が予め定められた閾値以下である場合には、当該対象分割領域については、エッジなしと判定し、判定結果を領域分類部344に供給する構成とすることができる。
 (活性度算出部343)
 活性度算出部343は、領域分割部340から供給される領域指定情報を参照して、デブロック済復号画像P_DBにおける対象マクロブロックを1または複数の分割領域に分割し、各分割領域の画像について、活性度(activity)ACTを算出する。また、活性度算出部343は、対象マクロブロックにイントラ予測が適用されている場合には、対象マクロブロックに含まれるパーティション毎に活性度ACTを算出する。算出された活性度ACTは、領域分類部344に供給される。活性度算出部343による活性度ACTの算出は、活性度算出部423と同様の方法によって行うことができる。
 (領域分類部344)
 領域分類部344は、(1)イントラ符号化モード蓄積部341から供給される各パーティションのサイズ、(2)イントラ符号化モード蓄積部341から供給される各パーティションに割り付けられた予測モード、(3)エッジ方向検出部342から供給されるエッジ角度Theta、および、(4)活性度算出部343から供給される活性度ACTに基づいて、対象マクロブロックに含まれる各分割領域、または、各パーティションを、1または複数のタイプの何れかに分類する。
 領域分類部344による各分割領域または各パーティションの分類は、領域分類部424による(分類処理例1)~(分類処理例6)と同様の方法によって行われる。ただし、領域分類部344は、フィルタセット番号を更新しながら、分類処理を複数回行い、フィルタセット番号毎に分類情報を生成する構成とする。すなわち、領域分類部344は、以下の処理を行う構成とする。
 (ステップS301)
 まず、フィルタセット番号kをk=0に設定する。
 (ステップS302)
 続いて、フィルタセット番号kによって定まる分類処理を、領域分類部424と同様の方法によって行う。
 (ステップS303)
 ステップS303にて行った分類により、各分割領域または各パーティションが何れのタイプに分類されたのかを示す分類情報(k)を生成する。
 (ステップS304)
 続いて、kに1を加算し、k≦4である場合には、ステップS302およびステップS303の処理を行い、k=5となったら処理を終了する。
 以上の処理によって、領域分類部344は、フィルタセット番号がk(k=0~4)であるときの分類情報(k)を生成する。生成された分類情報(k)は、フィルタパラメータ導出部346、および、フィルタ処理部345に供給される。
 なお、領域分類部344が、(分類処理例1)~(分類処理例6)に示した方法を選択的に用いる場合には、何れの分類処理を行ったのかを示すフラグを符号化データ#1に含める構成としてもよい。
 (フィルタ処理部345)
 フィルタ処理部345は、k=0~4の各々について、分類情報(k)に基づいてフィルタパラメータ導出部346が算出したフィルタ係数群(k)を用いて、対象マクロブロックに含まれる各分割領域または各パーティションに対してフィルタ処理を行うことによって、フィルタ済復号画像P_FL(k)を生成する。生成されたフィルタ済復号画像P_FL(k)(k=0~4)は、フィルタ処理部345の備えるメモリ、または、バッファメモリ24に格納される。また、フィルタ処理部345は、フィルタパラメータ導出部346より供給される、符号化コストが最小となるフィルタセット番号に含まれるフィルタ係数群を用いて生成したフィルタ済復号画像をフィルタ済復号画像P_FLとして、バッファメモリ24に供給する。
 なお、フィルタ処理部345によるフィルタ済復号画像P_FL(k)の生成は、フィルタ処理部425によるフィルタ済復号画像P_FLの生成と同様の処理によって行うことができる。また、フィルタ処理部345は、フィルタパラメータ導出部346から供給されるオンオフ情報によって、フィルタ処理がオフであると指定されている分割領域、および、パーティションについては、フィルタ処理を行わない構成とすることができる。
 (フィルタパラメータ導出部346)
 続いて、フィルタパラメータ導出部346の構成について、図24を参照して説明する。図24は、フィルタパラメータ導出部346の構成を示すブロック図である。図24に示すように、フィルタパラメータ導出部346は、フィルタ算出部461、コスト算出部462、および、最適フィルタセット選択部463を備えている。
 (フィルタ算出部461)
 フィルタ算出部461は、k=0~4の各々について、分類情報(k)に基づいて、デブロック済復号画像P_DBに含まれる各分割領域、または、各パーティションを1または複数のタイプに分類し、タイプ毎に最適なフィルタ係数を算出する。
 より具体的には、フィルタ算出部461は以下の処理を行う。
 (ステップS401)
 まず、フィルタセット番号kを、k=0に設定する。
 (ステップS402)
 続いて、分類情報(k)に基づいて、デブロック済復号画像P_DBに含まれる各分割領域、または、各パーティションを1または複数のタイプに分類する。
 (ステップS403)
 続いて、対象マクロブロックにおけるデブロック済復号画像P_DBのうちタイプIに分類された分割領域またはパーティションよりなる画像を画像Iと表し、画像Iに含まれる画素のうち座標が(x、y)である画素の画素値をSI(x、y)と表し、対象マクロブロックにおける符号化対象画像に含まれる画素のうち座標が(x、y)である画素の画素値をST(x、y)と表すことにすると、フィルタ算出部461は、例えば、以下の数式(7)によって与えられる二乗誤差Eを最小にするようなフィルタ係数aI(i、j)およびオフセットoIを導出する。
Figure JPOXMLDOC01-appb-M000006
 (ステップS404)
 続いて、ステップS404にて導出されたフィルタ係数aI(i、j)およびオフセットoIをフィルタ係数群(k)として、フィルタ処理部345および最適フィルタセット選択部463に供給する。
 (ステップS405)
 続いて、kに1を加算し、k≦4である場合には、ステップS402~ステップS404の処理を行い、k=5となったら処理を終了する。
 以上の処理によって、フィルタ算出部461は、フィルタセット番号がk(k=0~4)であるときの分類情報(k)に基づいて算出されたフィルタ係数群(k)をフィルタ処理部345および最適フィルタセット選択部463に供給する。
 また、フィルタ算出部461は、分割領域毎またはパーティション毎にフィルタ処理のオンオフを指定するオンオフ情報をフィルタ処理部345に供給する。
 (コスト算出部462)
 コスト算出部462は、フィルタ処理部345より供給されるフィルタ済復号画像P_FL(k)(k=0~4)の各々と、符号化対象画像とを比較することによって、フィルタセット番号k(k=0~4)毎の符号化コストを算出する。また、フィルタセット番号k(k=0~4)毎の符号化コストを示すコスト情報は、最適フィルタセット選択部463に供給される。なお、符号化コストの算出には、レート歪み関数(Rate-Distortion function)を用いることができる。
 (最適フィルタセット選択部463)
 最適フィルタセット選択部463は、コスト算出部462より供給されるコスト情報の示すフィルタセット番号k(k=0~4)毎の符号化コストを互いに比較し、最小の符号化コストに関連付けられたフィルタセット番号を、可変長符号符号化部22およびフィルタ処理部345に供給する。また、最適フィルタセット選択部463は、上記最小の符号化コストに関連付けられたフィルタセットに含まれるフィルタ係数群、および、オンオフ情報を可変長符号符号化部22に供給する。
 <変形例1’>
 以上の説明では、動画像符号化装置2が、符号化データ#1にフィルタセット番号を含める場合を例に挙げたが、本実施形態における動画像符号化装置2の構成は、これに限定されるものではない。<変形例1>において説明したように、動画像符号化装置2は、フィルタセット番号に代えて、エッジ角度Theta、予測モード、各パーティションのサイズ、および活性度ACTと、1または複数のフィルタ係数群(より具体的には、フィルタ係数群を指定するフィルタ番号)との対応関係を示すテーブル(フィルタ割り当てテーブル)を符号化データ#1に含める構成としてもよい。この場合、適応フィルタ34の備える領域分類部344が、エッジ角度Theta、予測モード、各パーティションのサイズ、および活性度ACTをフィルタパラメータ導出部346に供給する構成とし、フィルタパラメータ導出部346が、エッジ角度Theta、予測モード、各パーティションのサイズ、および活性度ACTと、1または複数のフィルタ係数群との対応関係を示すフィルタ割り当てテーブルを生成する構成とすればよい。
 本変形例において、フィルタパラメータ導出部346により生成されるフィルタ割り当てテーブルの例としては、図19(a)~(b)に示すものが挙げられる。
 <変形例2’>
 また、適応フィルタ34の備えるフィルタ処理部345は、フィルタ参照領域Rとして、<変形例2>において説明したように、基本参照領域、垂直方向型の参照領域、水平方向型の参照領域、および、斜め方向型の参照領域のうち、何れかの参照領域を選択的に用いる構成とすることができる。より具体的には、イントラ符号化モード蓄積部341およびエッジ方向検出部342が、それぞれ、各パーティションの予測モード、および、各分割領域のエッジ角度Thetaを、フィルタ処理部345に供給する構成とし、フィルタ処理部345は、各分割領域のエッジ角度Theta、または、各パーティションの予測モードに応じて、上記複数の参照領域の何れかを選択的に用いる構成とすることができる。
 本変形例において選択的に用いられるフィルタ参照領域と、予測モードおよびエッジ角度との対応関係の例としては、図20(a)~(b)に示すものが挙げられる。
 本変形例における動画像符号化装置2は、エッジ角度、および、予測モードに応じて、複数のフィルタ参照領域の何れかを選択的に用いることによって、より適切なフィルタ処理を行うことができるので、予測精度が向上し、符号化効率を向上させることができる。
 <変形例3’>
 また、動画像符号化装置2は、符号化データ#1に、フィルタセット番号、および、フィルタ割り当てテーブルの何れも含めない構成としてもよい。
 すなわち、領域分類部344は、予め定められたフィルタセット番号に基づいて分類情報を生成し、フィルタパラメータ導出部346は、当該予め定められたフィルタセット番号に基づいてフィルタ係数群を導出し、フィルタ処理部345は、当該フィルタ係数を用いてフィルタ処理を行う構成としてもよい。
 また、エッジ検出部342は、各分割領域のエッジの角度Thetaを、0°≦Theta<360°の範囲で検出する構成としてもよい。
 本変形例における領域分類部344による分類処理の例を示すものとして、図21が挙げられる。
 本変形例においては、エッジ角度を0°≦Theta<360°の範囲で検出し、検出された角度に応じてフィルタ係数群を割り付けるので、より効果的なフィルタ処理を行うことができる。また、本変形例においては、符号化データ#1は、フィルタセット番号、および、フィルタ割り当てテーブルの何れも含まない構成であるため、符号化データ#1の符号量を削減することができる。
 <変形例4’>
 また、領域分類部344は、対象マクロブロックに含まれる各ブロック(変換単位)を複数のタイプの何れかに分類する構成としてもよい。この場合、領域分類部344は、上述した構成と略同様に、対象マクロブロックに含まれる各ブロックのサイズ、予測モード、エッジ角度、および、活性度ACTに応じて、各ブロックを複数のタイプの何れかに分類する構成とすることができる。
 また、このような構成の場合、イントラ予測モード蓄積部341は、対象マクロブロックに含まれる各パーティションの予測モードを、対応するブロックに割り付け、各ブロックの予測モードおよび各ブロックのサイズを蓄積する構成とすればよい。また、エッジ方向検出部342は、対象マクロブロックに含まれる各ブロックについてエッジ検出を行う構成とすればよい。また、活性度算出部343は、対象マクロブロックに含まれる各ブロックについて活性度ACTを算出する構成とすればよい。また、フィルタ処理部345は、タイプI(I=1、2、…)に分類されたブロックに対して、フィルタ係数群Iを用いたフィルタ処理を行う構成とすればよい。
 適応フィルタ34は、本例のような構成であっても、デブロック済復号画像P_DBに対して、適切なフィルタ処理を行うことができる。
 〔実施形態2〕
 以下では、本発明の第2の実施形態について図25~図38を参照して説明する。
 本実施形態に係る適応フィルタは、フィルタ前画像(例えば、デブロック済復号画像P_DB)を構成する各単位領域について、互いに導出方法の異なる2つの特性値を導出し、導出された2つの特性値に応じて、各単位領域を1または複数のグループの何れかに分類する。また、本実施形態に係る適応フィルタは、単位領域毎に定められたフィルタ係数を用いて、フィルタ前画像に対して単位領域毎に作用する。
 ここで単位領域とは、DCT変換(より一般には周波数変換)の単位であるブロックであってもよいし、予測画像を生成する単位であるパーティションであってもよいし、ブロックまたはパーティションの何れでもなく、本実施形態に係る適応フィルタによってサイズおよび位置が設定された領域であってもよい。また、単位領域は、1画素から構成されるものであってもよい。
 また、各グループは、2つの特性値によって張られる2次元領域上に設定される各部分領域と1対1の対応を有する。したがって、上記2次元領域をどのように各部分領域へ分割するのかを指定することにより、1または複数のグループをどのように設定するかが定まることになる。また、導出された2つの特性値のうち、優先度のより高い特性値、すなわち、より効果的な分類が期待できる特性値を第1の特性値Xと呼び、もう一方の特性値を第2の特性値Yと呼ぶ。なお、以下の説明において、上記2つの特性値によって張られる2次元領域を特性値領域とも呼称し、特性値領域上に設定される各部分領域を特性値部分領域とも呼称する。
 第1の特性値Xおよび第2の特性値Yとして、例えば以下のような組み合わせが可能である。本実施形態においては第1の特性値Xが画像の活性度である場合を取り扱うが、これらの組み合わせは本願に係る発明を限定するものではなく、他の特性値および組み合わせに対しても、本実施形態を容易に適用することができる。
 ・第1の特性値X:画像の活性度、第2の特性値Y:画像の方向性
 ・第1の特性値X:画像の活性度、第2の特性値Y:平均画素値
 ・第1の特性値X:画像の活性度、第2の特性値Y:単位領域の座標
 ・第1の特性値X:単位領域の座標、第2の特性値Y:画像の活性度
 ・第1の特性値X:スライス番号、第2の特性値Y:画像の活性度
 ・第1の特性値X:平均画素値、第2の特性値Y:画像の活性度
 ・第1の特性値X:単位領域のy座標、第2の特性値Y:単位領域のx座標
 ・第1の特性値X:単位領域のx座標、第2の特性値Y:単位領域のy座標
 なお、適応フィルタによる、フィルタ済みの画像と符号化対象画像との誤差を減らす効果(ノイズ低減の効果)の観点からは、活性度を優先する。すなわち、第1の特性値Xとして画像の活性度を用いることが適当である。一方、複雑性の観点からは、特性値の算出が容易な特性値を優先することも考えられる。具体的には、単位領域の座標や、スライス番号、平均画素値などを第1の特性値として用いることも可能である。この場合、低複雑性が要求されるようなアプリケーションの場合において、第1の分割のみで分割を終了させるような適用方法が可能であり、小さな複雑性で領域別フィルタの効果を得ることができる。
 ここで、画像の活性度に代えて、画素値の分散を用いてもよい。また、各単位領域について導出される各特性値は、導出方法如何によって、単位領域のサイズに依存する場合がある。このような場合には、各特性値として、単位領域のサイズへの依存性を取り除くことによって得られる正規化された特性値を用いることができる。
 本実施形態に係る適応フィルタは、特性値領域を第1段階の分割および第2段階の分割によって階層的に各部分領域へと分割する。ここで、第1段階の分割は、第1の特性値Xに関する分割であり、第2段階の分割は、第1の特性値Xおよび第2の特性値Yの少なくとも何れかに関する分割である。また、特性値領域の各部分領域への分割は、分割単位を単位として行われる。したがって、各部分領域は、1または複数の分割単位DUから構成される。また、各分割単位の境界は、各特性値について設定される分割点(特性値分割点とも呼称する)を用いて定められる。なお、第1段階の分割を初期分割とも呼称し、第2段階の分割を再分割とも呼称する。
 図25は、特性値領域CRと、特性値領域CR上に設定される分割単位DU[i][j](iは0≦i≦NX-1を満たす整数、jは0≦i≦NY-1を満たす整数、NXは第1の特性値Xに沿った分割単位の総数、NYは第2の特性値Yに沿った分割単位の総数)とを示す図である。
 図25に示す例において、実線は、特性値部分領域および分割単位の境界を示しており、破線は、分割単位の境界を示している。また、図25に示す例において、分割単位DU[0][0]およびDU[0][1]は、1つの特性値部分領域を構成しており、DU[1][0]およびDU[2][0]は、他の1つの特性値部分領域を構成している。また、DU[1][1]は、単独で特性値部分領域を構成している。
 図25に示すように、各分割単位DUの境界は、第1の特性値Xについての特性値分割点PX1~PX_NX-1、および、第2の特性値Yについての特性値分割点PY1~PY_NY-1によって指定される。
 なお、以下では、第1の特性値Xのことを、単に特性値Xとも呼び、第2の特性値Yのことを単に特性値Yとも呼ぶ。
 また、各分割単位を指定するインデックス[i][j]のことを特性インデックスとも呼ぶ。特に、特性値Xに関するインデックス(上記の例では[i])を特性Xインデックスとも呼び、特性値Yに関するインデックス(上記の例では[j])を特性Yインデックスとも呼ぶ。特性インデックスは、各分割単位を一意に指定する2次元のインデックスである。
 (符号化データ#3)
 本実施形態に係る動画像符号化装置4及び動画像復号装置3の詳細な説明に先立って、動画像符号化装置4によって生成され、動画像復号装置3によって復号される符号化データ#3のデータ構造について説明を行う。
 符号化データ#3のデータ構造は、実施形態1に係る符号化データ#1のデータ構造と略同じであるが、フィルタパラメータFPの構成が異なる。図26は、本実施形態に係る符号化データ#3のフィルタパラメータFP(図26においてalf_param()と表記)に含まれる各シンタックスを示す図である。
 (adaptive_loop_filter_flag)
 adaptive_loop_filter_flagは、後述する適応フィルタ50による適応的フィルタ処理のオンオフを指定するフラグであり、adaptive_loop_filter_flagが0の場合、適応的フィルタ処理がオフに指定され、adaptive_loop_filter_flagが1の場合、適応的フィルタ処理がオンに指定される。
 (alf_enable_region_filter)
 alf_enable_region_filterは、適応フィルタ50による特性値部分領域毎のフィルタ処理のオンオフを指定するフラグであり、alf_enable_region_filterが0の場合、特性値部分領域毎のフィルタ処理がオフに指定され、alf_enable_region_filterが1の場合、特性値部分領域毎のフィルタ処理がオンに指定される。後述する各種のシンタックスalf_num_first_split_minus1、alf_first_split_val_shift、alf_second_split_type、alf_second_split_flag[i0]、alf_length_luma_minus5_div2[i0]、alf_region_pred_luma[i][j]、およびalf_coeff_luma[i][j]は、alf_enable_region_filterが1の場合にのみ符号化される。
 alf_num_first_split_minus1、alf_first_split_val_shift、alf_second_split_type、および、alf_second_split_flag[i0]は、特性値領域CRを各特性値部分領域CPRに分割する分割の仕方を指定する特性値分割情報を構成する。特性値分割情報は、特性値領域CRの分割の仕方を指定する情報であり、第1段階の分割数及び形状(ここではalf_num_first_split_minus1)を指定する情報と、第1の分割で得られた特性値部分領域に対して第2段階の分割数及び形状を指定する情報(ここではalf_second_split_flag[i0])と、分割に用いる特性値の境界を指定するための情報(alf_second_split_type)から構成される。また、分割数及び形状とは別に、分割の仕方を指定する情報(ここではalf_second_split_type)も指定可能であり、これも特性値分割情報の一種である。
 本実施形態では、特性値分割情報は、特性値領域CRの分割の仕方を階層的に指定する情報である。階層的に指定することによって、高い分割の自由度を有しながら、分割の自由度を増やした場合に生じる分割を指定するための符号量の増加を防ぐことができる。また、階層的な表現では、同種の特性を有する複数の領域を、1つのまとまりとして表現することが可能であり、まとめられた該複数の領域に対して同じフィルタ係数を割り当てることが可能であるため、単純に特性値毎、もしくは、特性値の組み合わせ毎にフィルタ係数を割り当てる場合に比べて、フィルタ係数の符号量を低減することができる。実施形態には図示していないが、階層的な表現は、第1段階の分割と第2段階の分割で同じ特性値(例えば活性度)を用いる場合にも用いることが可能である。この場合も、近い特性値を有する複数の領域を1つのまとまりとして表現し、まとめられた該複数の領域に対して同じフィルタ係数を割り当てることにより、小さな符号量でフィルタ係数を符号化することができる。また、複数の特性値を用いる場合においては、ノイズ低減効果が大きい特性値を用いて優先的に分割を行い、分割したとしても効果の小さい領域については分割せずに1つのまとまりとして取り扱うことによって、フィルタ係数の符号量を相対的に小さくすることができる。
 (alf_num_first_split_minus1)
 alf_num_first_split_minus1は、特性値領域の第1段階の分割の分割数AlfNumFirstSplitを指定するシンタックスであり、このシンタックスより、分割数AlfNumFirstSplitが、
  AlfNumFirstSplit=alf_num_first_split_minus1+1
によって決定される。
 図27の(a)は、alf_enable_region_filter=0の場合の特性値領域CR、すなわち分割されていない特性値領域CRを示す図であり、図27の(b)は、alf_enable_region_filter=1、かつAlfNumFirstSplit=3の場合について、第1段階の分割が行われた特性値領域CRを示す図である。図27の(b)に示すように、AlfNumFirstSplit=3の場合、特性値領域CRは、第1段階の分割によって、特性値Xに関して3つの特性値部分領域に分割される。図27の(b)では、これら3つの特性値部分領域の境界が、特性値分割点PX2およびPX4によって指定される場合を例示している。このように第1段階の分割において用いられる特性値分割点のことを初期分割点とも呼ぶ。また、第2段階の分割において用いられる特性値分割点のことを再分割点とも呼ぶ。図27の(c)は、初期分割点PX2およびPX4に加えて、第2段階の分割において用いられる再分割点PX1、PX3およびPX5を示す図である。
 なお、第1の分割によって得られた各特性値部分領域は、初期分割インデックス[i0](0≦i0≦AlfNumFirstSplit-1)によって識別される。初期分割インデックス[i0]と特性Xインデックス[i]との対応は、後述するalf_second_split_typeの値に応じて以下のように与えられる。
 ・alf_second_split_type=0の場合
  i=2×i0、または2×i0+1
 ・alf_second_split_type=1の場合
  i=i0
 第1の分割によって得られた特性値部分領域であって、初期分割インデックス[i0]によって指定される特性値部分領域のことを特性値部分領域CPR[i0]とも表記する。
 (alf_first_split_val_shift)
 alf_first_split_val_shiftは、特性値分割点PXn(1≦n≦NX-1)を変更するために参照されるフラグである。特性値分割点PXnは、alf_first_split_val_shiftの値に応じて変更される。
 (alf_second_split_type)
 alf_second_split_typeは、第2段階の分割の種別を指定するためのフラグである。alf_second_split_typeが0であれば、各特性値部分領域は、特性値Xおよび特性値Yに基づいて1または複数の特性値部分領域に更に分割され、alf_second_split_typeが1であれば、各特性値部分領域は、特性値Yに基づいて1または複数の特性値部分領域に更に分割される。
 図27の(d)は、特性値Xとして活性度を用いる場合に、alf_first_split_val_shiftおよびalf_second_split_typeの値に応じて設定される特性値分割点PX1~PX5を例示する表である。図27の(d)に示す例においては、alf_second_split_type=1の場合に、初期分割点PX2およびPX4の各値が指定され、alf_second_split_type=0の場合に、初期分割点を含む全ての特性値分割点PX1~PX5の各値が指定される。図27の(d)に示す例においては、alf_first_split_val_shift=1の場合のPX1~PX5の各値が、alf_first_split_val_shift=0の場合の各値の1/2に設定されている。このように、特性値分割点PXnの各値は、alf_first_split_val_shiftの値に応じて変更される。
 また、図27の(d)に示すように、特性値Xとして活性度を用いる場合、特性値Xの値が大きい程、初期分割点の間隔が大きく設定される。これは、処理対象フレーム(またはスライス)に含まれる単位領域の多くは、小さな活性度を有しているためである。図27の(d)に示すように、特性値Xの小さい範囲をより細かく分割することによって、各特性値部分領域に分類される単位領域の数を一定に近づけることができる。初期分割点に限らず、再分割においても、特性値の度数を考慮して、分割点の間隔を等間隔以外とすることが適当である。すなわち、特性値のヒストグラムを作成した場合において、多くの場合に度数が集中しやすい部分があれば、その度数が集中する部分ほど間隔を細かくし、度数が小さい部分では間隔を大きくすると良い。例えば、活性度に関しては、値が小さい部分に度数が集中しやすい傾向があり、方向性に関しては、水平方向と垂直方向に度数が集中しやすい傾向にある。
 alf_first_split_val_shiftは、初期分割(第1段階の分割)における分割点を指定するための情報(第1分割点指定情報)を構成する。
 (alf_second_split_flag)
 alf_second_split_flag[i0]は、第1段階の分割によって得られた各特性値部分領域について、第2段階の分割の具体的な態様を指定するシンタックスである。上述のalf_second_split_type、およびalf_second_split_flag[i0]によって、第1段階の分割によって得られた各特性値部分領域についての、第2段階の分割が具体的に指定される。
 図28の(a)は、第1段階の分割によって得られた特性値部分領域が、alf_second_split_type=0によって指定される第2段階の分割によって、特性値Yに関して2つの特性値部分領域に分割される場合を示しており、図28の(b)は、第1段階の分割によって得られた特性値部分領域が、alf_second_split_type=1によって指定される第2段階の分割によって、特性値Yに関して4つの特性値部分領域に分割される場合を示している。このように、alf_second_split_flag[i0]は、第2段階の分割において分割数と分割形状を指定する。
 図28の(c)は、特性値Yとして画像の方向性を用いた場合の特性値分割点PY1~PY3と、特性値Yとして平均画素値を用いた場合の特性値分割点PY1~PY3を示している。
 alf_second_split_typeは、再分割(第2段階の分割)における分割点を指定するための情報(第2分割点指定情報)を構成する。
 図29は、第1段階の分割によって得られた特性値部分領域CPR[i0=0]が、alf_second_split_flag[i0]、および、alf_second_split_typeの各値に応じて、第2段階の分割によってどのように分割されるのかを具体的に示す図である。[i0=0]以外の初期分割インデックスによって指定される特性値部分領域CPR[i0]の第2段階の分割も同様である。
 図29に示すように、alf_second_split_type=0の場合、第1段階の分割によって得られた特性値部分領域CPR[i0=0]は以下のように分割される。
 ・alf_second_split_flag[i0]=0:分割なし
 ・alf_second_split_flag[i0]=1:特性値Xに関して2分割(特性値分割点:PX1)
 ・alf_second_split_flag[i0]=2:特性値Yに関して2分割(特性値分割点:PY2)
 ・alf_second_split_flag[i0]=3:特性値Xおよび特性値Yのそれぞれに関して2分割の合計4分割(特性値分割点:PX1,PY2)
 また、alf_second_split_type=1の場合、第1段階の分割によって得られた特性値部分領域CPR[i0=0]は以下のように分割される。
 ・alf_second_split_flag[i0]=0:分割なし
 ・alf_second_split_flag[i0]=1:特性値Yに関して2分割(特性値分割点:PY2)
 ・alf_second_split_flag[i0]=2:特性値Yに関して2分割(特性値分割点:PY1)
 ・alf_second_split_flag[i0]=3:特性値Yに関して4分割(特性値分割点:PY1,PY2,PY3)
 また、第1段階の分割によって得られた特性値部分領域CPR[i0=0]に対して第2段階の分割を行うことによって得られた各特性値部分領域は、初期分割インデックス[i0]と再分割インデックス[j0]とを組み合わせて得られる特性値領域内インデックス(i0、j0)によって指定される。ここで、再分割インデックス[j0]は、特性値部分領域CPR[i0]に含まれる各特性値部分領域を指定するインデックスである。特性値領域内インデックス(i0、j0)によって指定される特性値部分領域を特性値部分領域CPR(i0、j0)とも表記する。
 図29に示すように、alf_second_split_type=0、および、alf_second_split_type=1の何れの場合にも、第1段階の分割によって得られた特性値部分領域CPR[i0]には、以下の特性値部分領域CPR(i0、j0)が含まれる。
  ・alf_second_split_flag[i0]=0:CPR(i0、0)
  ・alf_second_split_flag[i0]=1:CPR(i0、0)、およびCPR(i0、1)
  ・alf_second_split_flag[i0]=2:CPR(i0、0)、およびCPR(i0、1)
  ・alf_second_split_flag[i0]=3:CPR(i0、0)、CPR(i0、1)、CPR(i0、2)、およびCPR(i0、3)
 また、alf_second_split_type=0の場合、各特性値部分領域CPR(i0、j0)に含まれている分割単位DU[i][j]は以下の通りである。
  ・alf_second_split_flag=0の場合:
   CPR(i0、0):DU[2×i0][0],DU[2×i0][1],DU[2×i0+1][0],DU[2×i0+1][1]
  ・alf_second_split_flag=1の場合:
   CPR(i0、0):DU[2×i0][0],DU[2×i0][1]
   CPR(i0、1):DU[2×i0+1][0],DU[2×i0+1][1]
  ・alf_second_split_flag=2の場合:
   CPR(i0、0):DU[2×i0][0],DU[2×i0+1][0]
   CPR(i0、1):DU[2×i0][1],DU[2×i0+1][1]
  ・alf_second_split_flag=3の場合:
   CPR(i0、0):DU[2×i0][0]
   CPR(i0、1):DU[2×i0][1]
   CPR(i0、2):DU[2×i0+1][0]
   CPR(i0、3):DU[2×i0+1][1]
 また、alf_second_split_type=1の場合、各特性値部分領域CPR(i0、j0)に含まれている分割単位DU[i][j]は以下の通りである。
  ・alf_second_split_flag=0の場合:
   CPR(i0、0):DU[i0][0],DU[i0][1],DU[i0][2],DU[i0][3]
  ・alf_second_split_flag=1の場合:
   CPR(i0、0):DU[i0][0],DU[i0][1]
   CPR(i0、1):DU[i0][2],DU[i0][3]
  ・alf_second_split_flag=2の場合:
   CPR(i0、0):DU[i0][0]
   CPR(i0、1):DU[i0][1],DU[i0][2],DU[i0][3]
  ・alf_second_split_flag=3の場合:
   CPR(i0、0):DU[i0][0]
   CPR(i0、1):DU[i0][1]
   CPR(i0、2):DU[i0][2]
   CPR(i0、3):DU[i0][3]
 (alf_length_luma_minus5_div2)
 alf_length_luma_minus5_div2[i0]は、第1段階の分割によって得られた各特性値部分領域についてのフィルタのタップ数を指定するためのシンタックス(タップ数指定情報)である。このシンタックスより、タップ数AlfLengthLumaが、
  AlfLengthLuma=alf_length_luma_minus5_div2×2+5
によって決定される。
 図30は、alf_length_luma_minus5_div2[i0]の値が、1、2、および3である場合に、本実施形態に係る適応フィルタによってそれぞれ設定される参照領域R0、R1、R2を例示する図である。図30においては、菱形の参照領域を例示しているが、本実施形態における参照領域は、これらの例に限定されるものではなく、alf_length_luma_minus5_div2[i0]によってタップ数が指定される矩形状の参照領域を用いてもよい。
 また、図26に示すように、フィルタパラメータFPにおいて、alf_length_luma_minus5_div2[i0]は、後述するフィルタ係数を指定するためのシンタックスalf_coeff_luma[i][j]よりも上位の階層にて伝送される。また、図示しないが、第2段階の分割で得られた各特性値部分領域についてのフィルタのタップ数を指定するためのシンタックスを符号化しても良い。この場合、第2段階の分割で得られた各特性値部分領域についてのフィルタのタップ数を指定するためのシンタックスalf_length_luma_minus5_div2[i][j]が、alf_coeff_luma[i][j]と同じ階層において符号化される。上記の構成により、領域毎に異なるタップ数のフィルタ係数を用いて適応フィルタ処理を行うことが可能になる。領域の活性度及び領域毎の効果の違いに応じて適したタップ数が異なるため、適応的にタップ数を選択できる上記の構成は符号化効率を向上させることができる。例えば、領域の活性度が小さい場合には活性度が大きい場合よりもタップ数を大きくとることが適当であり、適応フィルタの効果が大きい特性値部分領域には、効果が小さい特性値部分領域よりも大きいタップ数を用いることが適当である。
 また、図示した構成では、1つの特性値部分領域に作用するフィルタのフィルタ係数ではなく、複数の特性値部分領域にそれぞれ作用するフィルタのフィルタ係数を1つのまとまりとしてタップ数を符号化する。これにより、多くのフィルタ係数を符号化する場合においてもタップ数の符号量を低減させることができる。
 (alf_coeff_luma)
 alf_coeff_luma[i][j](i=i0,2×i0,2×i0+1、j=0,1,2,3)は、各特性値部分領域についてのフィルタ係数(オフセットを含む、以下同様)を指定するためのシンタックスである。
 alf_second_split_type=0の場合について、各特性値部分領域CPR(i0、j0)と、それらに割り付けられるalf_coeff_luma[i][j]との対応関係、すなわち、特性値領域内インデックス(i0、j0)とalf_coeff_luma[i][j]との対応関係は以下の通りである。なお、以下の表記において、「*」は積を表す演算記号である。
  ・alf_second_split_flag=0の場合:
   CPR(i0、0):alf_coeff_luma[i0*2][0]
  ・alf_second_split_flag=1の場合:
   CPR(i0、0):alf_coeff_luma[i0*2][0]
   CPR(i0、1):alf_coeff_luma[i0*2][1]
  ・alf_second_split_flag=2の場合:
   CPR(i0、0):alf_coeff_luma[i0*2][0]
   CPR(i0、1):alf_coeff_luma[i0*2][1]
  ・alf_second_split_flag=3の場合:
   CPR(i0、0):alf_coeff_luma[i0*2][0]
   CPR(i0、1):alf_coeff_luma[i0*2][1]
   CPR(i0、2):alf_coeff_luma[i0*2+1][0]
   CPR(i0、3):alf_coeff_luma[i0*2+1][1]
 また、alf_second_split_type=1の場合について、各特性値部分領域CPR(i0、j0)と、それらに割り付けられるalf_coeff_luma[i][j]との対応関係、すなわち、特性値領域内インデックス(i0、j0)とalf_coeff_luma[i][j]との対応関係は以下の通りである。
  ・alf_second_split_flag=0の場合:
   CPR(i0、0):alf_coeff_luma[i0][0]
  ・alf_second_split_flag=1の場合:
   CPR(i0、0):alf_coeff_luma[i0][0]
   CPR(i0、1):alf_coeff_luma[i0][2]
  ・alf_second_split_flag=2の場合:
   CPR(i0、0):alf_coeff_luma[i0][0]
   CPR(i0、1):alf_coeff_luma[i0][1]
  ・alf_second_split_flag=3の場合:
   CPR(i0、0):alf_coeff_luma[i0][0]
   CPR(i0、1):alf_coeff_luma[i0][1]
   CPR(i0、2):alf_coeff_luma[i0][2]
   CPR(i0、3):alf_coeff_luma[i0][3]
 なお、alf_coeff_luma[i][j]のうち、最初に符号化/復号されるフィルタ係数alf_coeff_luma[0][0]は、特性値部分領域CPR(0、0)についてのフィルタ係数そのものであり、alf_coeff_luma[i][j](i≠0、j≠0)は、対象となる特性値部分領域についてのフィルタ係数の予測値(予測フィルタ係数とも呼ぶ)と、実際に用いられるフィルタ係数との残差(フィルタ係数残差とも呼ぶ)である。alf_coeff_luma[i][j]は、より正確には、フィルタ係数又はフィルタ係数残差の各成分を指定するためのインデックス[k](0≦k≦Ncomp-1、Ncompは、フィルタ係数の成分の総数)を有しているが、ここではそのようなインデックスの表記を省略している。
 また、例えば、alf_coeff_luma[i][j]に含まれるオフセット成分を、オフセット以外の成分よりも上位の階層にて伝送する構成としてもよい。具体的には、alf_coeff_luma[i][j]に含まれるオフセット成分を、alf_length_luma_minus5_div2[i0]と同じ階層にて伝送しておき、オフセット以外の成分を、alf_length_luma_minus5_div2[i0]よりも下位の階層にて伝送する構成としてもよい。
 また、以下では、特性値部分領域CPR(i0、j0)に割り付けられたalf_coeff_luma[i][j]を、alf_coeff_luma(i0,j0)とも表記する。
 (alf_region_pred_luma)
 alf_region_pred_luma[i][j](i=i0,2×i0,2×i0+1、j=1,2,3)は、各特性値部分領域についてのフィルタ係数の予測値を導出する際の予測方向を指定するためのフラグである。alf_region_pred_luma[i][j]は、各特性値部分領域CPR(i0、j0)のうち、フィルタ係数の予測値を導出する際に参照可能な特性値部分領域が複数隣接している特性値部分領域CPRについて符号化される。例えば、特性値領域CRに含まれる各特性値部分領域についてのフィルタ係数の復号がラスタスキャン順に行われる場合には、左辺および上辺の双方に特性値部分領域が隣接している特性値部分領域についてalf_region_pred_lumaが符号化される。例えば、alf_region_pred_luma=0であれば、上辺に隣接する特性値部分領域が参照され、alf_region_pred_luma=1であれば、左辺に隣接する特性値部分領域が参照される。
 一方で、特性値領域CRに含まれる各特性値部分領域についてのフィルタ係数の復号がラスタスキャンの逆順に行われる場合には、右辺および下辺の双方に特性値部分領域が隣接している特性値部分領域についてalf_region_pred_lumaが符号化される。
 図31は、特性値部分領域CPR[i0]に対して第2段階の分割を行うことによって得られた各特性値部分領域CPR(i0、j0)について割り付けられる予測方向を示す図である。
 各特性値部分領域についてのフィルタ係数の復号がラスタスキャン順に行われる場合であって、alf_second_split_type=0の場合における、各特性値部分領域CPR(i0、j0)と、それらに割り付けられるalf_region_pred_luma[i][j]との対応関係は以下の通りである。
  ・alf_second_split_flag=2の場合:
   CPR(i0、1):alf_region_pred_luma[i0*2][1]
  ・alf_second_split_flag=3の場合:
   CPR(i0、1):alf_region_pred_luma[i0*2][1]
   CPR(i0、3):alf_region_pred_luma[i0*2+1][1]
 図31に示すように、これらの特性値部分領域については、alf_region_pred_lumaの値に応じて、予測方向として、上方向および左方向のうち何れかが割り付けられる。
 alf_region_pred_lumaを用いることにより、予測方向として、(1)特性値Yの値が処理対象の特性値部分領域と同じ特性値部分領域、または、特性値Yの値が処理対象の特性値部分領域により近い特性値部分領域について既に復号されたフィルタ係数を予測値とする予測方向(上方向)と、(2)特性値Xの値が処理対象の特性値部分領域と同じ特性値部分領域、または、特性値Xの値が処理対象の特性値部分領域により近い特性値部分領域について既に復号されたフィルタ係数を予測値とする予測方向(横方向)との選択が可能になる。
 ここで、特性値が近いか否かは、特性値の種類に応じて定まるものである。例えば、活性度などの単純なスカラー量によって表現される特性値については、値の差がより小さいものがより近いものとなる。一方で、方向性などのベクトル量(ここでは方向)に対してインデックスを割り当てることによって表現される特性値については、元のベクトルのなす角がより小さいものがより近いものとなる。
 また、各特性値部分領域についてのフィルタ係数の復号がラスタスキャン順に行われる場合であって、alf_second_split_type=1の場合における、各特性値部分領域CPR(i0、j0)と、それらに割り付けられるalf_region_pred_luma[i][j]との対応関係は以下の通りである。
  ・alf_second_split_flag=1の場合:
   CPR(i0、1):alf_region_pred_luma[i0][2]
  ・alf_second_split_flag=2の場合:
   CPR(i0、1):alf_region_pred_luma[i0][1]
  ・alf_second_split_flag=3の場合:
   CPR(i0、1):alf_region_pred_luma[i0][1]
   CPR(i0、2):alf_region_pred_luma[i0][2]
   CPR(i0、3):alf_region_pred_luma[i0][3]
 図31に示すように、これらの特性値部分領域については、alf_region_pred_lumaの値に応じて、予測方向として、上方向および左方向のうち何れかが割り付けられる。
 一方で、図31に示すように、以下に列挙する特性値部分領域については、上辺に隣接した特性値部分領域のみ参照可能であるため、予測方向として上方向のみが割り付けられる。
 ・alf_second_split_type=0の場合:
  ・alf_second_split_flag=0の場合:
   CPR(i0、0)
  ・alf_second_split_flag=1の場合:
   CPR(i0、0)
   CPR(i0、1)
  ・alf_second_split_flag=2の場合:
   CPR(i0、0)
  ・alf_second_split_flag=3の場合:
   CPR(i0、0)
   CPR(i0、2)
 ・alf_second_split_type=1の場合:
  ・alf_second_split_flag=0の場合:
   CPR(i0、0)
  ・alf_second_split_flag=1の場合:
   CPR(i0、0)
  ・alf_second_split_flag=2の場合:
   CPR(i0、0)
  ・alf_second_split_flag=3の場合:
   CPR(i0、0)
 なお、以下では、特性値部分領域CPR(i0、j0)に割り付けられたalf_region_pred_luma[i][j]を、alf_region_pred_luma(i0,j0)とも表記する。
 また、フィルタパラメータFPは、alf_region_pred_luma[i][j]を含まない構成としてもよい。この場合には、各特性値部分領域についての予測方向は、図32に示すように、固定的に上方向を用いればよい。
 図26の末尾に示すシンタックスalf_length_luma_minus5_div2、およびalf_coeff_luma[0][0]は、シンタックスalf_enable_region_filterが0である場合、すなわち、特性値部分領域毎のフィルタ処理がオフに指定される場合にフィルタパラメータFPに含められる。alf_length_luma_minus5_div2によってタップ数が指定され、alf_coeff_luma[0][0]によってフィルタ係数が指定される。
 なお、図26に示したDescriptor(記述子)u(1)は、これらの記述子に関連付けられたシンタックスが1ビットで固定長符号化されることを示しており、u(2)は、この記述子に関連付けられたシンタックスが2ビットで固定長符号化されることを示しており、ue(v)は、この記述子に関連付けられたシンタックスが可変長符号化されることを示している。
 また、上記の例では、シンタックスalf_second_split_flag[i0]の値は、0~3のうち何れかの値をとるものとしたが、これは本実施形態を限定するものではない。例えば、シンタックスalf_second_split_flag[i0]が、0~7のうち何れかの値をとる構成としてもよい。このようなシンタックスalf_second_split_flag[i0]によって指定される再分割の例を図33に示す。図33に示す例では、alf_second_split_flag[i0]の各値に応じて、初期分割によって得られた特性値部分領域CPR[i0]が、特性値Xについて最大で2分割され、特性値Yについて最大で3分割される。
 (動画像復号装置3)
 以下では、本実施形態に係る動画像復号装置3について図34~図36を参照して説明する。なお、以下では、実施形態1において既に説明した部分と同じ部分には同じ符号を付し、その説明を省略する。
 図34は、動画像復号装置3の構成を示すブロック図である。図34に示すように、動画像復号装置3は、動画像復号装置1の備える適応フィルタ42に代えて、適応フィルタ50を備えている。適応フィルタ50には、符号化データ#3に含まれるフィルタパラメータFPが供給される。なお、動画像復号装置3のその他の構成は、動画像復号装置1と同じであるため、説明を省略する。
 (適応フィルタ50)
 適応フィルタ50は、シンタックスadaptive_loop_filter_flagが1である場合に、デブロック済復号画像P_DBに対して適応的フィルタ処理を施すことによってフィルタ済復号画像P_FLを生成する。
 適応フィルタ50は、対象単位領域におけるデブロック済復号画像P_DBの特性値に応じて、該対象単位領域を、上述した各特性値部分領域の何れかと関連付け、該単位領域が関連付けられた特性値部分領域について復号されたフィルタ係数を用いて、該単位領域に対するフィルタ処理を施す。
 図35は、適応フィルタ50の構成を示すブロック図である。図35に示すように、適応フィルタ50は、適応フィルタ情報復号部51および適応フィルタ部52を備えている。なお、図35には図示していないが、適応フィルタ50は、シンタックスalf_enable_region_filterおよびシンタックスalf_num_first_split_minus1を復号する上位シンタックス復号部を備えている。
 適応フィルタ50は、シンタックスalf_enable_region_filterが1である場合に、特性値部分領域毎のフィルタ処理を行う。また、適応フィルタ50は、alf_num_first_split_minus1の値を用いて、分割数AlfNumFirstSplitを、
  AlfNumFirstSplit=alf_num_first_split_minus1+1
に設定する。
 (適応フィルタ情報復号部51)
 適応フィルタ情報復号部51は、符号化データ#3に含まれているフィルタパラメータFPを復号することによって、特性値分割点PXnおよびPYm、並びに、フィルタ係数RegionFilterLuma[i0][j0]を導出するための構成である。導出された各特性値分割点およびフィルタ係数RegionFilterLuma[i0][j0]は、適応フィルタ部52に供給される。なお、以下の説明では、適応フィルタ情報復号部51によるフィルタ係数RegionFilterLuma[i0][j0]の導出は、特性値領域CRを構成する各特性値部分領域についてラスタスキャン順に行われるものとするが、これは本実施形態を限定するものではなく、フィルタ係数RegionFilterLuma[i0][j0]の導出がラスタスキャンの逆順に行われる場合であっても適用することができる。その場合には、以下の説明における「左辺」を「右辺」と読み替え、「上辺」を「下辺」と読み替えればよい。
 図35に示すように、適応フィルタ情報復号部51は、領域別タップ数復号部511、領域構造復号部512、フィルタ係数残差復号部513、2次元予測フラグ復号部514、フィルタ係数予測部515、フィルタ係数復号部516、領域別フィルタ係数格納部517、特性値分割点変更フラグ復号部518、および、特性値分割点設定部519を備えている。
 領域別タップ数復号部511は、フィルタパラメータFPに含まれるシンタックスalf_length_luma_minus5_div2[i0](0≦i0<AlfNumFirstSplit)を復号する。復号されたシンタックスalf_length_luma_minus5_div2[i0]は、特性値部分領域CPR[i0]に割り付けられると共に、フィルタ係数残差復号部513に供給される。また、シンタックスalf_length_luma_minus5_div2[i0]は、フィルタ係数予測部515、フィルタ係数復号部516、領域別フィルタ係数格納部517、フィルタ係数割り付け部524、および、フィルタ部525にも供給される(図35において矢印不図示)。
 領域構造復号部512は、フィルタパラメータFPに含まれるシンタックスalf_second_split_typeおよびalf_second_split_flag[i0]を復号する。復号されたシンタックスalf_second_split_typeは、特性値領域CR全体に割り付けられると共に、フィルタ係数残差復号部513、2次元予測フラグ復号部514、および、特性値分割点設定部519に供給される。また、復号されたシンタックスalf_second_split_flag[i0]は、特性値部分領域CPR[i0]に割り付けられると共に、フィルタ係数残差復号部513、2次元予測フラグ復号部514、および、特性値分割点設定部519に供給される。
 フィルタ係数残差復号部513は、alf_length_luma_minus5_div2[i0]、alf_second_split_type、およびalf_second_split_flag[i0]を参照して、フィルタパラメータFPに含まれるシンタックスalf_coeff_luma[i][j]を復号すると共に、各シンタックスalf_coeff_luma[i][j]を、それぞれに対応する特性値部分領域CPR(i0、j0)に割り付ける。alf_coeff_luma[i][j]と特性値部分領域CPR(i0、j0)との対応関係については、符号化データ#3の説明において既に述べたため、ここでは説明を省略する。また、復号されたシンタックスalf_coeff_luma[i][j]は、フィルタ係数復号部516に供給される。
 2次元予測フラグ復号部514は、alf_second_split_type、およびalf_second_split_flag[i0]を参照して、フィルタパラメータFPに含まれるシンタックスalf_region_pred_luma[i][j]を復号すると共に、各シンタックスalf_region_pred_luma[i][j]を、それぞれに対応する特性値部分領域CPR(i0、j0)に割り付ける。alf_region_pred_luma[i][j]と特性値部分領域CPR(i0、j0)との対応関係については、符号化データ#3の説明において既に述べたため、ここでは説明を省略する。また、復号されたシンタックスalf_region_pred_lumaは、フィルタ係数予測部515に供給される。
 フィルタ係数予測部515は、シンタックスalf_region_pred_lumaを参照し、領域別フィルタ係数格納部517に格納された復号済みのフィルタ係数RegionFilterLuma[i0'][j0']から、予測フィルタ係数PredRegionFilterLuma[i0][j0]を特性値部分領域毎に導出する。導出された予測フィルタ係数PredRegionFilterLuma[i0][j0]は、フィルタ係数復号部516に供給される。
 ここで、処理対象の特性値部分領域である対象特性値部分領域にシンタックスalf_region_pred_lumaが割り付けられている場合には、フィルタ係数予測部515は、対象特性値部分領域に対して当該シンタックスalf_region_pred_lumaが示す方向に隣接する特性値部分領域について復号済みのフィルタ係数RegionFilterLuma[i0'][j0']を、対象特性値部分領域についての予測フィルタ係数PredRegionFilterLuma[i0][j0]に設定する。一方で、対象特性値部分領域にシンタックスalf_region_pred_lumaが割り付けられていない場合には、フィルタ係数予測部515は、対象特性値部分領域の上辺に隣接する特性値部分領域について復号済みのフィルタ係数RegionFilterLuma[i0'][j0']を、対象特性値部分領域についての予測フィルタ係数PredRegionFilterLuma[i0][j0]に設定する。
 フィルタ係数復号部516は、各特性値部分領域について、フィルタ係数残差alf_coeff_luma(i0,j0)と予測フィルタ係数PredRegionFilterLuma[i0][j0]とを加算することによって、フィルタ係数RegionFilterLuma[i0][j0]を生成し、各特性値部分領域に割り付ける。生成されたフィルタ係数RegionFilterLuma[i0][j0]は、領域別フィルタ係数格納部517に格納される。
 特性値分割点変更フラグ復号部518は、フィルタパラメータFPに含まれるシンタックスalf_first_split_val_shiftを復号する。復号されたシンタックスalf_first_split_val_shiftは、特性値分割点設定部519に供給される。
 特性値分割点設定部519は、alf_first_split_val_shiftおよびalf_second_split_typeに基づいて、特性値分割点PXn(1≦n≦NX-1)およびPYm(1≦m≦NX-1)を導出する。導出された特性値分割点PXnおよびPYmは、適応フィルタ部52の備える特性インデックス算出部523に供給される。
 シンタックスalf_first_split_val_shiftおよびalf_second_split_typeの各値に対する特性値分割点PXnおよびPYmの具体例については、符号化データ#3の説明において既に述べたため、ここでは説明を省略する。
 なお、特性値分割点設定部519は、alf_first_split_val_shiftおよびalf_second_split_typeの何れをも参照することなく、自身の備えるメモリに予め格納された特性値分割情報に従って、特性値分割点PXn(1≦n≦NX-1)およびPYm(1≦m≦NX-1)を導出する構成としてもよい。このような構成の場合、上記特性値分割情報は、動画像復号装置3および動画像符号化装置4において共通のものを用いることが好ましい。
 (適応フィルタ部52)
 適応フィルタ部52は、デブロック済復号画像P_DBを構成する各単位領域に対して、適応的フィルタ処理を行うことによってフィルタ済復号画像P_FLを生成するための構成である。ここで、各単位領域のフィルタ処理に用いられるフィルタ係数は、フィルタパラメータFPから復号されたフィルタ係数RegionFilterLuma[i0][j0]から、該単位領域におけるデブロック済復号画像P_DBの特性値Xに応じて、または、該単位領域におけるデブロック済復号画像P_DBの特性値Xおよび特性値Yに応じて選択される。また、生成されたフィルタ済復号画像P_FLは、バッファメモリ15に格納される。
 図35に示すように、適応フィルタ部52は、第1特性値算出部521、第2特性値算出部522、特性インデックス算出部523、フィルタ係数割り当て部524、および、フィルタ部525を備えている。
 なお、適応フィルタ部52に入力される画像は、デブロック済復号画像P_DBに限定されるものではなく、複数の入力画像を入力することもできる。例えば、適応フィルタ部52には、デブロック済復号画像P_DBに加えて、復号画像Pおよび予測残差Dの少なくとも何れかを入力する構成としてもよい。このような構成の場合、後述する第1特性値算出部521および第2特性値算出部522は、デブロック済復号画像P_DBのみならず、復号画像Pおよび予測残差Dの少なくとも何れかについても各特性値を算出する構成とし、フィルタ部525は、それぞれの入力画像に対して、適応的フィルタ処理を行い、フィルタ後の画像を加算した後に出力する構成としてもよい。このような場合、フィルタパラメータFPには、各入力画像に対するフィルタ係数であって、各特性値部分領域に対応するフィルタ係数を含めておく構成とすればよい。
 (第1特性値算出部521)
 第1特性値算出部521は、処理対象の単位領域である対象単位領域におけるデブロック済復号画像P_DBについての特性値Xを算出する。以下では、特性値Xとして活性度を算出する算出処理(特性値Xの算出処理例1)および特性値Xとして画素値の分散を算出する算出処理(特性値Xの算出処理例2)について説明を行う。ただし、特性値Xの具体例はこれらに限定されるものではない。
 (特性値Xの算出処理例1)
 本処理例では、第1特性値算出部521は、特性値Xとして、対象単位領域におけるデブロック済復号画像P_DBの活性度ACTを算出する。ここで、活性度とは、概略的に言えば、画像の乱雑さを示す指標であり、対象単位領域を含む領域にDCT変換を施した場合に得られる変換係数において大きな高周波成分が存在するかなどに基づいても算出可能であるが、ここでは隣接する画素の画素値に基づいて算出するものとする。隣接する画素の画素値の差が大きいほど、活性度が大きくなる。算出された活性度ACTは、特性値Xとして特性インデックス算出部523に供給される。
 対象単位領域がBx画素×By画素の矩形状である場合、対象単位領域における各画素の座標を(u、v)(u、vはそれぞれ0≦u≦Bx-1、0≦v≦By-1を満たす整数)と表し、その座標におけるデブロック済復号画像P_DBの画素値をS(u、v)と表すことにすると、第1特性値算出部521は、例えば、以下の数式(2-1a)を用いることによって、活性度ACTを算出することができる。
Figure JPOXMLDOC01-appb-M000007
数式(2-1a)は、隣接する画素の画素値の絶対値の総和(Sum of Absolute Difference, SAD)を指標として、活性度を評価することに対応している。
 また、第1特性値算出部521は、以下の数式(2-1b)を用いることによって、活性度ACTを算出する構成としてもよい。
Figure JPOXMLDOC01-appb-M000008
数式(2-1b)は、隣接する画素の画素値の変形ラプラシアンの総和(Sum-Modified Laplacian, SML)を指標として、活性度を評価することに対応している。
 対象単位領域についての活性度を数式(2-1a)または(2-1b)を用いて算出する場合、第1特性値算出部521は、対象単位領域内の画素S(i、j)のみならず、対象単位領域に隣接する画素S(-1、v)、S(Bx、v)、S(u、-1)、および、S(u、By)をも参照する。すなわち、数式(2-1a)または(2-1b)を用いる場合の特性値算出参照領域は、対象単位領域内の画素S(u、v)、および、対象単位領域に隣接する画素S(-1、v)、S(Bx、v)、S(u、-1)、および、S(u、By)から構成される。第1特性値算出部521が、4×4画素の対象単位領域URについての活性度ACTを、数式(2-1a)または(2-1b)を用いて算出する場合の特性値算出参照領域CRRを図36(a)に示す。
 なお、対象単位領域がスライス境界またはマクロブロック境界に接している場合、特性値算出参照領域内の一部の画素について、デブロック済復号画像P_DBの画素値が参照不能である場合が生じ得る。例えば、対象単位領域が、未復号のマクロブロックに隣接している場合、この未復号のマクロブロックの画素値を参照することはできない。このような場合、例外処理として、第1特性値算出部521は、それらの参照不能な画素値を参照することなく活性度ACTの算出を行う。例えば、対象単位領域の右辺および下辺が未復号のマクロブロックに隣接している場合、第1特性値算出部521は、数式(2-1a)においてu、vの和の範囲を一部制限して得られる以下の数式(2-1a’)を用いて活性度ACTを算出すればよい。
Figure JPOXMLDOC01-appb-M000009
数式(2-1b)についても同様である。
 一方で、第1特性値算出部521は、対象単位領域がスライス境界またはマクロブロック境界に接しているか否かに関わらず、対象単位領域についての活性度を対象単位領域内の画素値のみを参照することによって算出する構成とすることもできる。例えば、第1特性値算出部521は、以下の数式(2-1c)を用いることによって、活性度ACTを算出することもできる。
Figure JPOXMLDOC01-appb-M000010
数式(2-1c)は、数式(2-1a)と同様に、隣接する画素の画素値のSADを指標として隣接する画素の画素値の活性度を評価することに対応しているが、数式(2-1a)と異なり、対象単位領域に含まれる画素のみを参照して活性度を算出することを表している。
 また、第1特性値算出部521は、以下の数式(2-1d)を用いることによって、活性度ACTを算出する構成としてもよい。
Figure JPOXMLDOC01-appb-M000011
数式(2-1d)は、数式(2-1b)と同様に、隣接する画素の画素値のSMLを指標として、活性度を評価することに対応しているが、数式(2-1d)と異なり、対象単位領域に含まれる画素のみを参照して活性度を算出することを表している。
 このように、第1特性値算出部521が、対象単位領域についての活性度を対象単位領域内の画素値のみを参照することによって算出する場合、図36(b)に示すように、特性値算出参照領域CRRは、対象単位領域URと同一の領域となる。後述する分散VPも、対象単位領域内の画素値のみを参照して算出可能な活性度の一例である。
 したがって、第1特性値算出部521が、対象単位領域についての活性度を対象単位領域内の画素値のみを参照することによって算出する場合には、対象単位領域以外の画素値をも参照する場合に比べて、バッファメモリ15から読み出す画素数が削減され、バッファメモリ15から適応フィルタ50へのデータ伝送量が削減される。また、活性度を算出するために参照される画素の数が少なく、例外処理も不要であるため、活性度を算出するための処理量が削減される。
 なお、数式(2-1c)を用いることによって活性度ACTを算出する第1特性値算出部521を以下のように表現することもできる。すなわち、第1特性値算出部521は、画素(u、v)についての活性度ACT(u、v)を、座標(u、v)の近傍{(u、v),(u+1、v),(u、v+1)}における各画素の画素値を参照して算出し、対象単位領域の内部領域{(u、v)|0≦u≦Bx-2,0≦v≦By-2}におけるACT(u、v)の総和を用いて、対象単位領域についてのACTを算出する。
 また、数式(2-1d)を用いることによって活性度ACTを算出する第1特性値算出部521を以下のように表現することもできる。すなわち、第1特性値算出部521は、画素(u、v)についての活性度ACT(u、v)を、座標(u、v)の近傍{(u、v),(u+1、v),(u、v+1),(u-1、v),(u、v-1)}における各画素の画素値を参照して算出し、対象単位領域の内部領域{(u、v)|1≦u≦Bx-2,1≦v≦By-2}におけるACT(u、v)の総和を用いて、対象単位領域についてのACTを算出する。
 このように、対象単位領域に含まれる画素のみを参照して活性度を算出する第1特性値算出部521は、対象単位領域において、その近傍全体が該対象単位領域に含まれる画素からなる内部領域に属する各画素の活性度を、該画素の上記近傍に含まれる画素の画素値を参照して導出したうえで、内部領域に属する各画素の活性度から該対象単位領域についての活性度を算出するものであると表現することもできる。
 なお、対象単位領域に含まれる画素のみを参照して活性度を算出する構成は、上記の例に限定されるものではなく、対象単位領域を、その近傍全体が該対象単位領域に含まれる画素からなる内部領域と、その近傍全体が該対象単位領域に含まれない画素からなる周辺領域とに分け、内部領域に属する各画素の活性度を該画素の近傍内の画素の画素値を参照して導出し、かつ、周辺領域に属する各画素の活性度を該画素の上記近傍内の画素であって該単位領域内の画素の画素値を参照して導出したうえで、該単位領域に属する各画素の活性度から該単位領域についての活性度を算出する構成としてもよい。
 また、第1特性値算出部521は、実施形態1における活性度算出部423と同様の処理によって活性度ACTを算出する構成としてもよい。ただし、実施形態1における「分割領域」および「パーティション」は、本実施形態における「単位領域」に対応する。
 (特性値Xの算出処理例2)
 本処理例では、第1特性値算出部521は、特性値Xとして、対象単位領域におけるデブロック済復号画像P_DBの画素値の分散VPを算出する。算出された分散VPは、特性値Xとして特性インデックス算出部523に供給される。
 ここで、対象単位領域がBx画素×By画素の矩形状である場合、対象単位領域における各画素の座標を(u、v)(u、vはそれぞれ0≦u≦Bx-1、0≦v≦By-1を満たす整数)と表し、その座標におけるデブロック済復号画像P_DBの画素値をS(u、v)と表すことにすると、第1特性値算出部521は、例えば、以下の数式(2-2)を用いて分散VPを算出する。
Figure JPOXMLDOC01-appb-M000012
 なお、第1特性値算出部521によって算出される分散VPは、上述した活性度ACTと同様に、対象単位領域におけるデブロック済復号画像P_DBの乱雑さを示す指標として機能する。
 (第2特性値算出部522)
 第2特性値算出部522は、対象単位領域におけるデブロック済復号画像P_DBについての特性値Yを算出する。以下では、特性値Yとして画像の方向性を算出する算出処理(特性値Yの算出処理例1)および(特性値Yの算出処理例2)、特性値Xとして平均画素値を算出する算出処理(特性値Yの算出処理例2)、並びに、特性値Xとして対象単位領域の座標値を算出する算出処理(特性値Yの算出処理例3)について説明を行う。ただし、特性値Yの具体例はこれらに限定されるものではない。
 (特性値Yの算出処理例1)
 本処理例では、第2特性値算出部522は、特性値Yとして、対象単位領域におけるデブロック済復号画像の方向性を算出する。算出された方向性を示すインデックス(方向インデックス)は、特性値Yとして特性インデックス算出部523に供給される。
 第2特性値算出部522は、まず、対象単位領域におけるデブロック済復号画像P_DBの垂直方向活性度ACT_V、および、水平方向活性度ACT_Hを算出する。ここで、水平方向活性度ACT_H、および、垂直方向活性度ACT_Vは、例えば、上述した数式(2-1a)の第1項、および、第2項によってそれぞれ算出することができる。また、水平方向活性度ACT_H、および、垂直方向活性度ACT_Vは、上述した数式(2-1b)~(2-1d)のうち、何れかの数式の第1項、および、第2項によってそれぞれ算出することもできる。
 続いて、第2特性値算出部522は、垂直方向活性度ACT_Vおよび水平方向活性度ACT_Hの各々の大きさに応じて、以下に列挙する方向インデックスを特性値Yとして特性インデックス算出部523に供給する。
 ・方向インデックス=0:ACT_H>2×ACT_Vの場合
 ・方向インデックス=1:ACT_H≦2×ACT_VかつACT_V≦ACT_Hの場合
 ・方向インデックス=2:ACT_H<ACT_VかつACT_V≦2×ACT_Hの場合
 ・方向インデックス=3:2×ACT_H<ACT_Vの場合
 なお、本処理例における方向インデックスの導出方向は上記の例に限られるものではない。例えば、第2特性値算出部522は、垂直方向活性度ACT_Vおよび水平方向活性度ACT_Hの各々の大きさに応じて、対象単位領域におけるデブロック済復号画像の方向性を3つに分類し、それらの方向性を示す方向インデックスを出力する構成としてもよいし、対象単位領域におけるデブロック済復号画像の方向性を2つに分類し、それらの方向性を示す方向インデックスを出力する構成としてもよい。また、垂直方向活性度ACT_Vおよび水平方向活性度ACT_Hの各々の大きさに応じて、対象単位領域におけるデブロック済復号画像の方向性を5つ以上に分類してもよい。
 第2特性値算出部522は、例えば、以下のように、垂直方向活性度ACT_Vおよび水平方向活性度ACT_Hの各々の大きさに応じて、対象単位領域におけるデブロック済復号画像の方向性を3つに分類することができる。
 ・方向インデックス=0:ACT_H>2×ACT_Vの場合
 ・方向インデックス=1:ACT_H≦2×ACT_Vかつ2×ACT_H≧ACT_Vの場合
 ・方向インデックス=2:2×ACT_H<ACT_Vの場合
 このような構成とする場合、初期分割によって得られた特性値部分領域CPR[i0]は、特性値Yに関して、最大で3つの特性値部分領域CPR(i0、j0)(j0=0、1、2)に再分割される。ここで、j0=0、1、2は、それぞれ、方向インデックス=0、1、2に対応する。
 また、第2特性値算出部522は、例えば、以下のように、垂直方向活性度ACT_Vおよび水平方向活性度ACT_Hの各々の大きさに応じて、対象単位領域におけるデブロック済復号画像の方向性を2つに分類することができる。
 ・方向インデックス=0:ACT_H>ACT_Vの場合
 ・方向インデックス=1:ACT_H<ACT_Vの場合
 このような構成とする場合、初期分割によって得られた特性値部分領域CPR[i0]は、特性値Yに関して、最大で2つの特性値部分領域CPR(i0、j0)(j0=0、1)に再分割される。ここで、j0=0、1は、それぞれ、方向インデックス=0、1、に対応する。
 (特性値Yの算出処理例2)
 本処理例では、第2特性値算出部522は、特性値Yとして、対象単位領域におけるデブロック済復号画像の方向性を算出する。ただし、本処理例では、上述の(特性値Yの算出処理例1)とは異なり、対象単位領域におけるデブロック済復号画像のエッジ方向を検出し、検出されたエッジ方向に応じて、方向インデックスを特性値Yとして特性インデックス算出部523に供給する。
 本処理例におけるエッジ方向検出処理は、実施形態1におけるエッジ方向検出部422によるエッジ方向検出処理と同様である。第2特性値算出部522は、Sobel_yおよびSobel_xの大小関係に応じて場合分けをすることによって、以下のように方向インデックスを生成する。
 方向インデックス=0  |Sobel_y|<a×|Sobel_x|の場合
 方向インデックス=1  |Sobel_y|≧a×|Sobel_x|かつ
             |Sobel_y|≦b×|Sobel_x|かつ
             Sobel_yとSobel_xの符号が等しい場合
 方向インデックス=2  |Sobel_y|>b×|Sobel_x|の場合
 方向インデックス=3  |Sobel_y|≧a×|Sobel_x|かつ
             |Sobel_y|≦b×|Sobel_x|かつ
             Sobel_yとSobel_xの符号が反対の場合
但し、a=tan(22.5°)=0.414・・・、b=tan(67.5°)=2.414・・・である。なお、この例では4つの方向インデックスを算出したが、2個または3個の方向インデックスの算出や5個以上の方向インデックスを算出する構成としてもよい。このような構成の場合、特性値Yの算出処理例1において説明したように、初期分割によって得られた特性値部分領域CPR[i0]は、特性値Yに関して、最大で、方向インデックスの総数と同数の特性値部分領域に再分割される。
 (特性値Yの算出処理例3)
 本処理例では、第2特性値算出部522は、特性値Yとして、対象単位領域におけるデブロック済復号画像の画素値の平均(平均画素値とも呼ぶ)を算出し、算出した平均画素値を、特性値Yとして特性インデックス算出部523に供給する。
 第2特性値算出部522は、処理対象となる対象単位領域におけるデブロック済復号画像P_DBの各画素値をバッファメモリ15から読み出し、それらの画素値の平均をとることによって平均画素値MPを算出する。
 対象単位領域がBx画素×By画素の矩形状である場合、対象単位領域における各画素の座標を(u、v)(u、vはそれぞれ0≦u≦Bx-1、0≦v≦By-1を満たす整数)と表し、その座標におけるデブロック済復号画像P_DBの画素値をS(u、v)と表すことにすると、第2特性値算出部522は、例えば、以下の数式(2-3)を用いて、各画素値の単純平均をとることによって、平均画素値MPを算出することができる。
Figure JPOXMLDOC01-appb-M000013
 なお、第2特性値算出部522は、各画素値の単純平均をとることに代えて、各画素値について所定の重み係数を用いた加重平均をとることによって平均画素値MPを算出する構成としてもよい。
 また、符号化データ#3の説明において、初期分割によって得られた特性値部分領域CPR[i0]が、特性値Yに関して、最大で4つの特性値部分領域に再分割される場合を例に挙げたが、本実施形態は、これに限定されるものではない。例えば、初期分割によって得られた特性値部分領域CPR[i0]が、特性値Yに関して、以下のように、最大で3つの特性値部分領域CPR(i0、j0)(j0=0、1、2)に分割される構成としてもよい。
 CPR(i0、0):MP≦64
 CPR(i0、1):64<MPかつMP≦160
 CPR(i0、2):160<MP
 また、初期分割によって得られた特性値部分領域CPR[i0]が、特性値Yに関して、以下のように、最大で2つの特性値部分領域CPR(i0、j0)(j0=0、1)に分割される構成としてもよい。
 CPR(i0、0):MP≦128
 CPR(i0、1):128<MP
 (特性値Yの算出処理例4)
 本処理例では、第2特性値算出部522は、処理対象フレーム(または処理対象スライス)における対象単位領域の座標を算出する。算出された座標は、特性値Yとして特性インデックス算出部523に供給される。ここで、対象単位領域の座標とは、より正確には、対象単位領域の代表画素の座標である。代表画素としては、例えば、対象単位領域内の画素であって、該対象単位領域の左上端の画素を用いることができる。ただし、対象単位領域における代表画素の具体的な位置は本実施形態を限定するものではない。
 対象単位領域が、ブロックまたはパーティションである場合には、処理対象フレームにおける当該対象単位領域の座標は、符号化データ#3から復号された以下の情報を参照することによって算出することができる。
 ・符号化ブロックパターンを指定するCBP(coded_block_pattern)
 ・予測単位指定情報PT
 ・変換単位指定情報TT
 また対象単位領域が、ブロックまたはパーティションの何れでもなく、適応フィルタ部50によって設定される領域である場合には、適応フィルタ50は、設定された単位領域の位置を示す情報を参照することによって、対象単位領域の座標を特定することができる。
 (特性インデックス算出部523)
 特性インデックス算出部523は、対象単位領域について、第1特性値算出部521から供給される特性値Xおよび第2特性値算出部522から供給される特性値Yを、それぞれ、特性値分割点PXnおよびPYmと比較することによって、当該対象単位領域に対して、特性値領域内インデックス(i0、j0)を割り付ける。また、対象単位領域に対して割り付けた特性値領域内インデックス(i0、j0)をフィルタ係数割り付け部524に供給する。
 特性インデックス算出部523は、まず、対象単位領域についての特性値Xを、特性値分割点PX1~PX_NX-1のうち第1段階の分割に用いられる初期分割点と比較することによって、初期分割インデックス[i0]を算出し、算出された初期分割インデックス[i0]を対象単位領域に割り付ける。図27(b)に示すように初期分割点としてPX2およびPX4が用いられる場合、初期分割インデックス[i0]は以下のように算出される。
 ・i0=0:X<PX2の場合
 ・i0=1:PX2≦X<PX4の場合
 ・i0=2:PX4≦Xの場合
 続いて、特性インデックス算出部523は、alf_second_split_typeおよびalf_second_split_flag[i0]を参照し、特性値Xおよび特性値Yを、第2段階の分割に用いられる再分割点と比較することによって、再分割インデックス[j0]を算出する。算出された再分割インデックス[j0]は、対象単位領域に割り付けられる。
 図27(c)に示すように、特性値Xについての再分割点としてPX1、PX3、PX5が用いられる場合、再分割点PX1は、初期分割インデックス[i0=0]が割り付けられた対象単位領域に対して用いられ、再分割点PX3は、初期分割インデックス[i0=1]が割り付けられた対象単位領域に対して用いられ、再分割点PX5は、初期分割インデックス[i0=2]が割り付けられた対象単位領域に対して用いられる。
 以下では、初期分割インデックス[i0=0]が割り付けられた対象単位領域についての再分割インデックス[j0]の算出処理について、より具体的に説明を行う。初期分割インデックス[i0=1]が割り付けられた対象単位領域についての再分割インデックス[j0]の算出処理は、以下の説明におけるPX1をPX3と読み替えればよく、初期分割インデックス[i0=2]が割り付けられた対象単位領域についての再分割インデックス[j0]の算出処理は、以下の説明におけるPX1をPX5と読み替えればよい。
 特性インデックス算出部523は、alf_second_split_type=0の場合、初期分割インデックス[i0=0]が割り付けられた対象単位領域について、再分割インデックス[j0]を以下のように算出する。
 ・alf_second_split_flag=0の場合:
   j0=0
 ・alf_second_split_flag=1の場合:
   j0=0:X<PX1のとき
   j0=1:PX1≦Xのとき
 ・alf_second_split_flag=2の場合:
   j0=0:Y<PY2のとき
   j0=1:PY2≦Yのとき
 ・alf_second_split_flag=3の場合:
   j0=0:X<PX1かつY<PY2のとき
   j0=1:X<PX1かつPY2≦Yのとき
   j0=2:PX1≦XかつY<PY2のとき
   j0=3:PX1≦XかつPY2≦Yのとき
 また、特性インデックス算出部523は、alf_second_split_type=1の場合、初期分割インデックス[i0=0]が割り付けられた対象単位領域について、再分割インデックス[j0]を以下のように算出する。
 ・alf_second_split_flag=0の場合:
   j0=0
 ・alf_second_split_flag=1の場合:
   j0=0:Y<PY2のとき
   j0=1:PY2≦Yのとき
 ・alf_second_split_flag=2の場合:
   j0=0:Y<PY1のとき
   j0=1:PY1≦Yのとき
 ・alf_second_split_flag=3の場合:
   j0=0:Y<PY1のとき
   j0=1:PY1≦Y<PY2のとき
   j0=2:PY2≦Y<PY3のとき
   j0=3:PY3≦Yのとき
 (フィルタ係数割り付け部524)
 フィルタ係数割り付け部524は、対象単位領域に割り付けられた特性値領域内インデックス(i0、j0)に対応するフィルタ係数RegionFilterLuma[i0][j0]を、特性別フィルタ係数格納部517から読み出し、読み出したフィルタ係数RegionFilterLuma[i0][j0]を、当該対象単位領域に割り付ける。対象単位領域に割り付けられたフィルタ係数RegionFilterLuma[i0][j0]は、フィルタ部525に供給される。
 (フィルタ部525)
 フィルタ部525は、対象単位領域に対して、フィルタ係数RegionFilterLuma[i0][j0]を用いたフィルタ処理を施すことによって、該対象単位領域におけるフィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ15に格納される。
 より具体的には、フィルタ済復号画像P_FL(「フィルタ後画像」とも呼称する)におけるフィルタ対象画素の画素値をSF(x’、y’)と表し、デブロック済復号画像P_DB(「フィルタ前画像」とも呼称する)における画素値をS(x、y)と表すことにすると、フィルタ部525は、画素値SF(x’、y’)を、以下の数式(2-4)によって算出する。
Figure JPOXMLDOC01-appb-M000014
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、a(u、v)は、フィルタ前画像の画素値S(x+u、y+v)に乗ぜられるフィルタ係数を表しており、フィルタ係数割り付け部524から供給されたフィルタ係数RegionFilterLuma[i0][j0]の各成分に対応する。また、oは、フィルタ係数RegionFilterLuma[i0][j0]に含まれるオフセット成分を表している。
 また、数式(2-4)におけるRは、フィルタ処理において参照される領域(「フィルタ参照領域R」とも呼称する)を表している。参照領域Rのタップ数は、alf_length_luma_minus5_div2[i0]によって指定される。参照領域Rとしては、例えば、図30に示したように、alf_length_luma_minus5_div2[i0]の各値に応じて設定される参照領域R0、R1、およびR2の何れかを用いればよい。なお。図30においては、菱形の参照領域を例示しているが、本実施形態における参照領域Rは、これらの例に限定されるものではなく、alf_length_luma_minus5_div2[i0]によってタップ数が指定される矩形状の参照領域を用いてもよい。
 また、各フィルタ係数は、180度の回転対称性を有するように、フィルタ参照領域Rに含まれる各画素に対して割り付けられる構成とすることができる。すなわち、a(u、v)=a(-u、-v)を満たすように設定される構成とすることができる。このような構成とすることによって、alf_coeff_luma[i][j]に含まれる各成分の数を削減することができる。
 (動画像符号化装置4)
 以下では、符号化対象画像を符号化することによって符号化データ#3を生成する動画像符号化装置4について、図37~図38を参照して説明する。なお、以下では、既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
 図37は、本実施形態に係る動画像符号化装置4の構成を示すブロック図である。図37に示すように、動画像符号化装置4は、実施形態1に係る動画像符号化装置2の備える適応フィルタ34に代えて、適応フィルタ60を備えている。動画像符号化装置4のその他の構成は、実施形態1に係る動画像符号化装置2の構成と同様であるため、説明を省略する。
 (適応フィルタ60)
 適応フィルタ60は、デブロック済復号画像P_DBに対して、適応的フィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。また、適応フィルタ60は、フィルタ処理に用いた各種の適応フィルタ情報をフィルタパラメータFPとして可変長符号符号化部22に供給する。可変長符号符号化部22は、フィルタパラメータFPを符号化データ#3の一部として符号化する。
 図38は、適応フィルタ60の構成を示すブロック図である。図38に示すように、適応フィルタ60は、適応フィルタ情報設定部61、および、適応フィルタ部62を備えている。
 (適応フィルタ情報設定部61)
 適応フィルタ情報設定部61は、図38に示すように、領域別タップ数設定部611、領域構造設定部612、フィルタパラメータ生成部613、2次元予測フラグ設定部614、フィルタ係数予測部515、フィルタ係数残差生成部616、特性別フィルタ係数格納部617、特性値分割点変更フラグ設定部618、特性値分割点設定部519を備えている。
 フィルタ係数予測部515、および特性値分割点設定部519については既に述べたためここでは説明を省略する。
 (領域別タップ数設定部611)
 領域別タップ数設定部611は、初期分割によって得られた特性値部分領域CPR[i0]についてのタップ数を指定するためのシンタックスalf_length_luma_minus5_div2[i0]を設定する。設定されたシンタックスalf_length_luma_minus5_div2[i0]は、フィルタパラメータ生成部613に供給される。また、シンタックスalf_length_luma_minus5_div2[i0]は、フィルタ係数予測部515、フィルタ係数残差生成部616、領域別フィルタ係数格納部617、フィルタ係数導出部624、および、フィルタ部525にも供給される(図38において矢印不図示)。
 alf_length_luma_minus5_div2[i0]の取り得る具体的な値、および、alf_length_luma_minus5_div2[i0]の具体的な値と参照領域Rのタップ数AlfLengthLumaとの対応関係については、既に述べたためここでは説明を省略する。
 なお、alf_length_luma_minus5_div2[i0]の具体的な値は、符号化効率がより向上するように定められる。
 (領域構造設定部612)
 領域構造設定部612は、再分割の種別を指定するためのフラグalf_second_split_type、および、初期分割によって得られた各特性値部分領域について再分割の具体的な態様を指定するためのシンタックスalf_second_split_flag[i0]を設定する。設定されたフラグalf_second_split_typeおよびシンタックスalf_second_split_flag[i0]は、特性値分割点設定部519、2次元予測フラグ設定部614、および、フィルタパラメータ生成部613に供給される。
 alf_second_split_typeおよびalf_second_split_flag[i0]の取り得る値、並びに、alf_second_split_typeおよびalf_second_split_flag[i0]の具体的な値と再分割の態様との対応関係については、既に述べたためここでは説明を省略する。
 なお、alf_second_split_typeおよびalf_second_split_flag[i0]の具体的な値は、符号化効率がより向上するように定められる。
 (2次元予測フラグ設定部614)
 2次元予測フラグ設定部614は、alf_second_split_typeおよびalf_second_split_flag[i0]を参照して、各特性値部分領域についてのフィルタ係数の予測値を導出する際の予測方向を指定するためのフラグalf_region_pred_luma[i][j]を設定する。設定されたフラグalf_region_pred_luma[i][j]は、フィルタ係数予測部515に供給される。
 alf_region_pred_luma[i][j]の取り得る値、およびalf_region_pred_luma[i][j]の具体的な値と予測方向との対応関係については既に述べたため、ここでは説明を省略する。なお、alf_region_pred_luma[i][j]の具体的な値は、符号化効率がより向上するように定められる。
 (フィルタ係数残差生成部616)
 フィルタ係数残差616は、各特性値部分領域CPR(i0、j0)について、フィルタ係数予測部515より供給される予測フィルタ係数PredRegionFilterLumaと特性別フィルタ係数格納部617から読み出したフィルタ係数RegionFilterLumaとの差分をとることによって、フィルタ係数残差alf_coeff_luma[i][j]を生成する。生成されたフィルタ係数残差alf_coeff_luma[i][j]はフィルタパラメータ生成部613に供給される。
 (特性値分割点変更フラグ設定部618)
 特性値分割点変更フラグ設定部618は、特性値分割点PXn(1≦n≦NX-1)を変更するために参照されるフラグalf_first_split_val_shiftを設定する。設定されたフラグalf_first_split_val_shiftは、特性値分割点設定部519に供給される。
 alf_first_split_val_shiftの取り得る値、および、alf_first_split_val_shiftの具体的な値と特性値分割点PXnとの対応関係については既に述べたため、ここでは説明を省略する。
 なお、alf_first_split_val_shiftの具体的な値は、符号化効率がより向上するように定められる。
 (フィルタパラメータ生成部613)
 フィルタパラメータ生成部613は、シンタックスalf_length_luma_minus5_div2[i0]、alf_second_split_type、alf_second_split_flag[i0]、alf_first_split_val_shift、および、alf_coeff_luma[i][j]からフィルタパラメータFPを生成する。生成されたフィルタパラメータFPは、可変長符号符号化部22に供給される。
 なお、フィルタパラメータFPには、特性値部分領域毎のフィルタ処理を行うのか否かを指定するためのシンタックスalf_enable_region_filter、および、初期分割の分割数AlfNumFirstSplitを指定するためのシンタックスalf_num_first_split_minus1が含まれる。これらのシンタックスの具体的な値は、符号化効率がより向上するように定められる。
 (特性別フィルタ係数格納部617)
 特性別フィルタ係数格納部617は、後述するフィルタ係数導出部624によって導出されたフィルタ係数RegionFilterLuma[i0][j0]が格納される。
 (適応フィルタ部62)
 適応フィルタ部62は、図38に示すように、第1特性値算出部521、第2特性値算出部522、特性インデックス算出部523、フィルタ係数導出部624、およびフィルタ部525を備えている。
 第1特性値算出部521、第2特性値算出部522、特性インデックス算出部523、およびフィルタ部525については、既に述べたため、ここでは説明を省略する。
 (フィルタ係数導出部624)
 フィルタ係数導出部624は、対象単位領域におけるフィルタ済復号画像P_FLと符号化対象画像との誤差がより小さくなるようなフィルタ係数RegionFilterLuma[i0][j0]を導出する。導出されたフィルタ係数RegionFilterLuma[i0][j0]は、フィルタ部525に供給されると共に、特性別フィルタ係数格納部617に格納される。
 対象単位領域におけるデブロック済復号画像P_DBの画素値をS(x、y)と表し、対象単位領域における符号化対象画像の画素値をST(x、y)と表すことにすると、フィルタ係数導出部624は、例えば、以下の数式(2-5)によって与えられる二乗誤差Eを最小にするようなフィルタ係数a(u、v)およびオフセットoを導出する。ここで、フィルタ係数a(u、v)およびオフセットoは、RegionFilterLuma[i0][j0]の各成分である。
Figure JPOXMLDOC01-appb-M000015
 <実施形態2の変形例>
 以下では、実施形態2の変形例について、図39~図40を参照して説明する。図39は、本変形例に係るフィルタパラメータFP(図39においてalf_param()と表記)に含まれる各シンタックスを示す図である。図39に示すように、本変形例に係るフィルタパラメータFPには、図26に示したフィルタパラメータFPとは異なり、シンタックスalf_first_split_val_shift、および、alf_second_split_typeは含まれておらず、alf_second_split_typeの値としては、alf_second_split_type=0の固定値が用いられる。
 本変形例においては、第1の特性値Xについての特性値分割点PX1~PX_NX-1、すなわち、初期分割における分割点が、初期分割の分割数を指定するシンタックスalf_num_first_split_minus1の値に応じて設定される。図40は、本変形例におけるalf_num_first_split_minus1の各値に応じて設定される特性値分割点PX1~PX5を例示する表である。
 図40に示すように、本変形例においては、初期分割の分割数に応じて分割点が設定されるので、各特性値部分領域に分類される単位領域の数を一定に近づけることができる。このため、高い符号化効率を実現することができる。
 また、図40に示すように、alf_num_first_split_minus1=0または1の場合に設定される特性値分割点の値は、alf_num_first_split_minus1=2の場合に設定される特性値分割点の何れかが用いられる。例えば、alf_num_first_split_minus1=0の場合に設定される特性値分割点PX1の値には、alf_num_first_split_minus1=2の場合に設定される特性値分割点PX3の値64が用いられる。このように、本変形例では、最大分割以外の分割(図40に示す例では、alf_num_first_split_minus1=0または1)に用いられる分割点の値が、最大分割(図40に示す例では、alf_num_first_split_minus1=2)に用いられる分割点の値の集合の要素となっている。
 このような構成とすることによって、動画像符号化装置において初期分割点の最適化を行う際に、各特性値部分領域についての特性値の算出をやり直す必要がなくなるため、処理量が削減される。
 〔実施形態3〕
 以下では、本発明の第3の実施形態について、図41~図44を参照して説明する。なお、以下では、実施形態2において既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
 (符号化データ#5)
 本実施形態に係る動画像符号化装置6及び動画像復号装置5の詳細な説明に先立って、動画像符号化装置6によって生成され、動画像復号装置5によって復号される符号化データ#5のデータ構造について説明を行う。
 符号化データ#5のデータ構造は、実施形態1に係る符号化データ#1のデータ構造と略同じであるが、フィルタパラメータFPの構成が異なる。図41は、本実施形態に係る符号化データ#5のフィルタパラメータFP(図41においてalf_param()と表記)に含まれる各シンタックスを示す図である。
 (alf_filter_pattern)
 alf_filter_pattern[i](1≦i<AlfMaxNumFilters、AlfMaxNumFiltersは、初期分割点の最大値)は、初期分割(第1段階の分割)における初期分割点を定めるためのフラグである。再分割(第2段階の分割)を行うか否かに関わらず、alf_filter_pattern[i]によって初期分割点が定まる。
 (alf_enable_second_split)
 alf_enable_second_splitは、再分割を行うのか否かを指定するフラグである。alf_enable_second_split=0の場合には、再分割が行われず、alf_enable_second_split=1の場合には、再分割が行われる。
 符号化対象画像の画像特性如何によっては、再分割を行わないことによって符号量を削減したほうが、符号化効率が向上する場合がある。符号化データ#5に、alf_enable_second_splitを含めておくことによって、符号化効率の向上を図ることができる。
 (alf_select_split_char)
 alf_select_split_charは、特性値Yとして、複数の候補のうち何れの特性値を用いるのかを指定するシンタックスである。図42(a)に示すように、alf_select_split_charは、特性値Xおよび特性値Yを以下のように指定する。
  alf_select_split_char=0のとき:
    特性値X=活性度、特性値Y=方向性
  alf_select_split_char=1のとき:
    特性値X=活性度、特性値Y=平均画素値
  alf_select_split_char=2のとき:
    特性値X=活性度、特性値Y=y座標
  alf_select_split_char=3のとき:
    特性値X=活性度、特性値Y=x座標
 ここで、y座標とは、処理対象フレームにおける対象単位領域のフレーム内y座標のことを指し、x座標とは、処理対象フレームにおける対象単位領域のフレーム内x座標のことを指す。
 また、特性値Yとして方向性が指定される場合、当該特性値Yは、例えば、垂直方向活性度ACT_Vおよび水平方向活性度ACT_Hを用いて、
  Y=(ACT_H+k)/(ACT_V+k)×4
  k=(ACT_H+ACT_V)/16+1
によって算出される。
 図42(b)は、alf_select_split_charの各値について設定される再分割点PY1~PY3の具体例を示している。図42(b)において、「height」とは、フレームのy方向の画素数のことを指し、「width」とは、フレームのx方向の画素数のことを指す。
 (alf_enable_second_split_val)
 alf_enable_second_split_valは、後述するalf_second_split_val[k](k=0、1、2)がフィルタパラメータFPに含まれるか否かを示すフラグである。alf_enable_second_split_val=1であれば、alf_second_split_val[k]がフィルタパラメータFPに含まれる。alf_enable_second_split_valは、再分割が行われる場合に符号化される。
 (alf_second_split_val)
 alf_second_split_val[k](k=0、1、2)は、特性値Yについての再分割における再分割点を決定するために参照されるシンタックスである。
 alf_second_split_val[k]と、再分割点PY1~PY3との関係を図42(c)に示す。図42(c)に示すように、再分割点PY1~PY3の各値は、alf_second_split_val[k]の各値に応じて決定される。
 alf_secocond_split_flag、並びに、上記のalf_filter_pattern、alf_enable_second_split、alf_select_split_char、alf_enable_second_split_val、及びalf_second_split_valは、特性値領域CRを各特性値部分領域CPRに分割する分割の仕方を指定する特性値分割情報を構成する。
 (alf_region_disable_idc)
 alf_region_disable_idc[i0]は、再分割によって得られた特性値部分領域のうち、フィルタ処理をオフとする領域を指定するためのフラグ(オンオフ指定情報)である。alf_second_split_flag[i0]の値が0のとき、すなわち、再分割が行われないとき、alf_region_disable_idc[i0]は、-1、0の何れかの値をとり、alf_second_split_flag[i0]の値が1または2のとき、すなわち、再分割が2分割であるとき、alf_region_disable_idc[i0]は、-1、0、1の何れかの値をとり、alf_second_split_flag[i0]の値が3のとき、すなわち、再分割が4分割であるとき、alf_region_disable_idc[i0]は、-1、0、1、2、3の何れかの値をとる。
 alf_region_disable_idc[i0]が-1のとき、再分割によって得られた特性値部分領域についてのフィルタ処理がオンに指定される。
 alf_region_disable_idc[i0]が-1以外の値であるとき、再分割によって得られた特性値部分領域のうち、再分割インデックス[j0](j0=alf_region_disable_idc[i0])によって指定される特性値部分領域についてのフィルタ処理がオフに指定される。フィルタ処理がオフに指定された特性値部分領域についてのフィルタ係数(またはフィルタ係数残差)alf_coeff_lumaの符号化は行われない。
 なお、図41には、予測フィルタ係数を導出する際の予測方向を指定するシンタックスalf_region_pred_lumaを含まない構成を例示したが、これは本実施形態を限定するものではなく、実施形態2において説明したように、本実施形態においても、フィルタパラメータFPにシンタックスalf_region_pred_lumaを含める構成としてもよい。
 また、図41には、実施形態2において説明したシンタックスalf_second_split_typeを含まずに、実施形態2において説明したalf_second_split_type=1の場合の再分割に関するフィルタ係数(またはフィルタ係数残差)alf_coeff_lumaを含む構成を例示したが、これは本実施形態を限定するものではない。本実施形態においても、フィルタパラメータFPに、alf_second_split_type、および、alf_second_split_typeの各値に対するフィルタ係数(またはフィルタ係数残差)alf_coeff_lumaを含める構成としてもよい。
 (適応フィルタ70)
 本実施形態に係る動画像復号装置は、実施形態2に係る動画像復号装置3の備える適応フィルタ50に代えて、適応フィルタ70を備えている。本実施形態に係る動画像復号装置のその他の構成は、実施形態2に係る動画像復号装置3の構成と同様であるので、説明を省略する。
 図43は、適応フィルタ70の構成を示すブロック図である。図43に示すように、適応フィルタ70は、適応フィルタ50の備える領域構造復号部512、フィルタ係数残差復号部513、特性値分割点変更フラグ復号部518、特性値分割点設定部519、および、第2特性値算出部522に代えて、それぞれ、領域構造復号部712、フィルタ係数残差復号部713、特性値分割点変更フラグ復号部718、特性値分割点設定部719、および、第2特性値算出部722を備えている。また、適応フィルタ70は、適応的フィルタオフ復号部731、特性選択フラグ復号部732を備えている。適応フィルタ70のその他の構成は、適応フィルタ50と同様である。
 なお、図43には、適応フィルタ50の備える2次元予測フラグ復号部514を備えない構成を例示しているが、これは本実施形態を限定するものではなく、適応フィルタ70が2次元予測フラグ復号部514を備える構成とし、符号化データ#5に、alf_region_pred_lumaを含めておく構成としてもよい。
 適応的フィルタオフ復号部731は、フィルタパラメータFPに含まれるシンタックスalf_disable_region_idc[i0]を復号する。復号されたシンタックスalf_disable_region_idc[i0]は、フィルタ係数残差復号部713、および、フィルタ部525に供給される。alf_disable_region_idc[i0]がフィルタ処理のオフを指定している場合、フィルタ部525は、フィルタ処理を行わない。
 領域構造復号部712は、フィルタパラメータFPに含まれるシンタックスalf_second_split_flag[i0]を復号する。復号されたシンタックスalf_second_split_flag[i0]は、特性値部分領域CPR[i0]に割り付けられると共に、フィルタ係数残差復号部713、および、特性値分割点設定部719に供給される。
 フィルタ係数残差復号部713はalf_length_luma_minus5_div2[i0]、alf_disable_region_idc[i0]、およびalf_second_split_flag[i0]を参照して、フィルタパラメータFPに含まれるシンタックスalf_coeff_luma[i][j]を復号すると共に、各シンタックスalf_coeff_luma[i][j]を、それぞれに対応する特性値部分領域CPR(i0、j0)に割り付ける。alf_coeff_luma[i][j]と特性値部分領域CPR(i0、j0)との対応関係は、実施形態2に係る符号化データ#3の説明において既に述べた対応関係と同様であるため、ここでは説明を省略する。また、復号されたシンタックスalf_coeff_luma[i][j]は、フィルタ係数復号部516に供給される。
 なお、フィルタ係数残差復号部713は、alf_disable_region_idc[i0]によってフィルタ処理がオフに指定された特性値部分領域については、フィルタ係数残差alf_coeff_luma[i][j]の復号を行わない。
 特性値分割点変更フラグ復号部718は、フィルタパラメータFPに含まれるシンタックスalf_second_split_val[k](k=0、1、2)を復号する。復号されたシンタックスalf_second_split_val[k]は、特性値分割点設定部719に供給される。
 特性値選択フラグ復号部732は、フィルタパラメータFPに含まれるシンタックスalf_second_split_charを復号する。復号されたシンタックスalf_second_split_charは、特性値分割点設定部719、および、第2特性値算出部722に供給される。
 特性値分割点設定部719は、alf_second_split_flag[i0]、alf_second_split_val[k]、および、alf_second_split_charに基づいて、特性値分割点PXn(1≦n≦NX-1)およびPYm(1≦m≦NX-1)を導出する。導出された特性値分割点PXnおよびPYmは、特性インデックス算出部523に供給される。
 シンタックスalf_second_split_val[k]およびalf_second_split_charの各値に対する特性値分割点PXnおよびPYmの具体例については、符号化データ#5の説明において既に述べたため、ここでは説明を省略する。
 第2特性値算出部722は、対象単位領域におけるデブロック済復号画像P_DBについて、alf_second_split_charによって指定される特性値を算出する。算出された特性値は、特性値Yとして、特性インデックス算出部523に供給される。
 (動画像符号化装置6)
 以下では、符号化対象画像を符号化することによって符号化データ#5を生成する動画像符号化装置6について、図44を参照して説明する。なお、以下では、既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
 本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置4の備える適応フィルタ60に代えて、適応フィルタ80を備えている。本実施形態に係る動画像復号装置のその他の構成は、実施形態2に係る動画像符号化装置4の構成と同様であるので、説明を省略する。
 適応フィルタ80は、デブロック済復号画像P_DBに対して、適応的フィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。また、適応フィルタ80は、フィルタ処理に用いた各種の適応フィルタ情報をフィルタパラメータFPとして可変長符号符号化部22に供給する。可変長符号符号化部22は、フィルタパラメータFPを符号化データ#5の一部として符号化する。
 図44は、適応フィルタ80の構成を示すブロック図である。図44に示すように、適応フィルタ80は、適応フィルタ情報設定部81、および、適応フィルタ部82を備えている。
 (適応フィルタ情報設定部81)
 適応フィルタ情報設定部81は、図44に示すように、領域別タップ数設定部611、適応的オンオフ設定部831、領域構造設定部812、特性値分割点変更フラグ設定部818、特性選択フラグ設定部832、特性値分割点設定部719、フィルタ係数残差生成部616、フィルタ係数予測部515、フィルタパラメータ生成部813、および、特性別フィルタ係数格納部617を備えている。
 領域別タップ数設定部611、特性値分割点設定部719、フィルタ係数残差生成部616、フィルタ係数予測部515、および、特性別フィルタ係数格納部617については既に述べたため、ここでは説明を省略する。
 (適応的フィルタオフ設定部831)
 適応的フィルタオフ設定部831は、再分割によって得られた特性値部分領域のうちフィルタ処理をオフとする領域を指定するためのフラグalf_region_disable_idc[i0]を設定する。設定されたフラグalf_region_disable_idc[i0]は、フィルタパラメータ生成部813、およびフィルタ部525に供給される。alf_region_disable_idc[i0]がフィルタ処理のオフを指定している場合、フィルタ部525は、フィルタ処理を行わない。
 alf_region_disable_idc[i0]の取り得る値とフィルタ処理のオンオフとの対応関係については既に述べたためここでは説明を省略する。
 なお、alf_region_disable_idc[i0]の具体的な値は、符号化効率がより向上するように定められる。
 (領域構造設定部812)
 領域構造設定部812は、初期分割によって得られた各特性値部分領域について再分割の具体的な態様を指定するためのシンタックスalf_second_split_flag[i0]を設定する。設定されたシンタックスalf_second_split_flag[i0]は、特性値分割点設定部719、および、フィルタパラメータ生成部813に供給される。
 alf_second_split_flag[i0]の取り得る値、並びに、alf_second_split_flag[i0]の具体的な値と再分割の態様との対応関係については、既に述べたためここでは説明を省略する。
 なお、alf_second_split_flag[i0]の具体的な値は、符号化効率がより向上するように定められる。
 (特性値分割点変更フラグ設定部818)
 特性値分割点変更フラグ設定部818は、特性値Yについての再分割における再分割点を決定するために参照されるシンタックスalf_second_split_val[k](k=0、1、2)を設定する。設定されたシンタックスalf_second_split_val[k]は、特性値分割点設定部719、および、フィルタパラメータ生成部813に供給される。
 alf_second_split_val[k]の取り得る値、および、alf_second_split_val[k]の各値と、特性値Yについての再分割における再分割点との対応関係については既に述べたためここでは説明を省略する。
 なお、alf_second_split_val[k]の具体的な値は、符号化効率がより向上するように定められる。
 (特性選択フラグ設定部832)
 特性選択フラグ設定部832は、特性値Yとして複数の候補のうち何れの特性値を用いるのかを指定するシンタックスalf_select_split_charを設定する。設定されたシンタックスalf_select_split_charは、特性値分割点設定部719、フィルタパラメータ生成部813、および、第2特性値算出部722に供給される。
 alf_select_split_charの取り得る値、および、alf_select_split_charの各値と、特性値Yとの対応関係については既に述べたため、ここでは説明を省略する。
 なお、alf_select_split_charの具体的な値は、符号化効率がより向上するように定められる。
 (フィルタパラメータ生成部813)
 フィルタパラメータ生成部813は、シンタックスalf_length_luma_minus5_div2[i0]、alf_disable_region_idc[i0]、alf_second_split_flag[i0]、alf_second_split_val、alf_second_split_char、および、alf_coeff_luma[i][j]からフィルタパラメータFPを生成する。生成されたフィルタパラメータFPは、可変長符号符号化部22に供給される。
 なお、フィルタパラメータFPには、特性値部分領域毎のフィルタ処理を行うのか否かを指定するためのシンタックスalf_enable_region_filter、初期分割における初期分割点を定めるためのフラグalf_filter_pattern、alf_second_split_val[k]がフィルタパラメータFPに含まれるか否かを示すフラグalf_enable_second_split_val、および、初期分割の分割数AlfNumFirstSplitを指定するためのシンタックスalf_num_first_split_minus1が含まれる。これらのシンタックスの具体的な値は、符号化効率がより向上するように定められる。
 (適応フィルタ部82)
 適応フィルタ部82は、図44に示すように、第1特性値算出部521、第2特性値算出部722、特性インデックス算出部523、フィルタ係数導出部624、および、フィルタ525を備えている。これらの各部については、既に述べたため説明を省略する。
 <実施形態2および実施形態3についての付記事項>
 実施形態2における符号化データ#3のフィルタパラメータFPに含まれるシンタックスのうち、少なくとも何れかのシンタックスと、実施形態3における符号化データ#5のフィルタパラメータFPに含まれるシンタックスのうち、少なくとも何れかのシンタックスとを含むフィルタパラメータFP’も本発明の範疇に含まれる。そのようなフィルタパラメータFP’を復号する動画像復号装置は、実施形態2および実施形態3において既に説明した部分のうち、フィルタパラメータFP’に含まれるシンタックスを復号するために必要な各部を備える構成とすればよい。
 例えば、実施形態2における符号化データ#3のフィルタパラメータFPは、符号化データ#5のフィルタパラメータFPに含まれるシンタックスalf_second_split_char、alf_enable_second_split_val、および、alf_second_split_valを含む構成としてもよい。このような構成の場合、動画像復号装置3の備える適応フィルタ50は、特性選択フラグ復号部732、特性値分割点変更フラグ復号部718を備える構成とすればよい。
 また、実施形態3における符号化データ#5のフィルタパラメータFPは、シンタックスalf_region_disable_idc[i0]を含まない構成としてもよい。このような構成の場合、符号化データ#5を復号する動画像復号装置5は、全ての単位領域に対して適応的フィルタ処理を行う構成となる。
 <その他の付記事項1>
 なお、上記実施形態における、マクロブロックは、H.264/MPEG-4 AVCの後継規格として提案されているHEVC(High Efficiency Video Coding)のLCU(最大コーディングユニット:Largest Coding Unit、コーディングツリー(Coding Tree)のrootと呼ばれることもある)に相当し、マクロブロックおよびブロックは、HEVCのCU(コーディングユニット:Coding Unit、コーディングツリーのleafと呼ばれることもある)、PU(Prediction Unit)、またはTU(Transformation Unit)に相当するものである。
 <その他の付記事項2>
 上述したように、発明者は、符号化対象画像の画像特性如何によっては、(局所)復号画像の局所的な活性度の大きさに応じてフィルタ係数群を切り替えるのではなく、むしろ、(局所)復号画像の局所的な方向性の違いに応じてフィルタ係数群を切り替えることによって、符号化効率をより効果的に向上させることができるとの知見を得た。
 本発明に係る画像フィルタ装置は、出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性を識別する方向性識別手段と、上記方向性識別手段によって識別された各単位領域における上記入力画像の方向性が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、を備えていることを特徴としている。
 発明者は、上記の知見に基づき、画像フィルタ装置に入力される入力画像の方向性が、入力画像を構成する領域(単位領域)毎に異なる場合には、方向性の違いに応じてフィルタ係数群を切り替えることによって、上記出力画像を参照して生成される予測画像の予測精度を向上させることができることを見出した。
 上記のように構成された本発明に係る画像フィルタ装置によれば、上記方向性識別手段が、入力画像を構成する複数の単位領域の各々における上記入力画像の方向性を識別し、上記分類手段が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記フィルタ手段が、出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するので、上記入力画像の方向性が、単位領域毎に異なるような場合に、当該方向性に応じて適切なフィルタ処理を行うことができる。
 したがって、上記のように構成された画像フィルタ装置によれば、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 なお、各単位領域における上記入力画像の方向性とは、例えば、各単位領域における上記入力画像の局所的な勾配方向に直交する方向として定義することができる。ここで、画像の勾配とは、画素(x,y)の画素値をz(x,y)とすると、x,y,zを座標とする3次元空間内に定義される、曲面{(x,y,z(x,y))|0≦x≦Nx,0≦y≦Ny,0≦z≦Nz)}の勾配のことを指す。ここで、Nx,Ny,Nzは、それぞれ、x方向の画素の総数、y方向の画素の総数、画素値zのとり得る最大値を表す。また、各単位領域における上記入力画像の方向性とは、各単位領域における上記入力画像の画素値の相関のより高い方向であると表現することもできる。
 また、上記方向性識別手段は、各単位領域における上記入力画像の方向性を、入力画像のエッジを検出することによって直接的に識別する構成としてもよいし、上記画像フィルタ装置が、画面内予測によってイントラ予測画像を生成する予測画像生成手段と共に用いられる場合には、イントラ予測画像を生成する際に参照されるイントラ予測モードの示す方向によって間接的に識別する構成としてもよいし、その他の方法によって識別する構成としてもよい。
 また、上記単位領域とは、上記入力画像を構成する複数の重複しない領域の各々ことを表すものとする。上記画像フィルタ装置が、画像を符号化する符号化装置、および、符号化データから画像を復号する復号装置において用いられる場合には、上記単位領域を、例えば、予測画像を生成する単位である予測単位(パーティション)としてもよいし、周波数変換の単位である変換単位としてもよいし、それら以外のものとしてもよい。
 また、本発明に係る画像フィルタ装置は、上記複数の単位領域の各々における上記入力画像の活性度を算出する活性度算出手段を更に備え、上記分類手段は、各単位領域における上記入力画像の方向性および活性度が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する、ことが好ましい。
 上記の構成によれば、上記活性度算出手段が、上記複数の単位領域の各々における上記入力画像の活性度を算出し、上記分類手段が、各単位領域における上記入力画像の方向性および活性度が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類するので、上記画像フィルタ装置に入力される入力画像の方向性が単位領域毎に異なる場合、および、入力画像の活性度が単位領域毎に異なる場合であっても、上記単位領域グループ毎に最適なフィルタ係数群を用いてフィルタ処理を行うことができる。すなわち、上記入力画像の方向性および活性度が、単位領域毎に異なるような場合であっても、予測画像の生成により適した出力画像を生成することができる。したがって、上記のように構成された本発明に係る画像フィルタ装置が生成する出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、上記方向性識別手段は、各単位領域における上記入力画像のエッジ方向を検出することによって、各単位領域における上記入力画像の方向性を識別するものである、ことが好ましい。
 上記の構成によれば、上記方向性識別手段は、各単位領域における上記入力画像の方向性を、各単位領域における上記入力画像のエッジ方向を検出することによって識別するので、上記入力画像が、単位領域毎に異なるエッジ方向を有している場合に、上記単位領域グループ毎に最適なフィルタ係数群を用いてフィルタ処理を行うことができる。これにより、上記入力画像のエッジ方向が、単位領域毎に異なるような場合であっても、予測画像の生成により適した出力画像を生成することができる。
 また、本発明に係る画像フィルタ装置においては、上記単位領域グループ毎に上記参照領域の最適化された形状が関連付けられており、上記参照領域の形状を、該参照領域と少なくとも一部が重複する単位領域が属する単位領域グループについて最適化する参照領域変更手段を更に備えている、ことが好ましい。
 上記の構成によれば、上記単位領域グループ毎に上記参照領域の最適化された形状が関連付けられており、上記参照領域変更手段が、上記参照領域の形状を、該参照領域と少なくとも一部が重複する単位領域が属する単位領域グループについて最適化するので、上記単位領域毎に最適な参照領域を用いてフィルタ処理を行うことができる。従って、上記の構成によれば、予測画像の生成により適した出力画像を生成することができる。
 また、上記方向性識別手段は、上記入力画像に対応する参照画像を参照して画面内予測によって各単位領域における予測画像を生成する際に用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて、各単位領域における上記入力画像の方向性を識別するものである、ことが好ましい。
 発明者は、例えば、H.264/MPEG-4.AVC規格やKTAソフトウェアなどに採用されている画面内予測においては、各単位領域における予測画像を画面内予測によって生成する際に参照される予測パラメータ(イントラ予測モード)は、該単位領域における上記入力画像の方向性と相関を有していることを見出した。
 また、発明者は、例えば、H.264/MPEG-4.AVC規格やKTAソフトウェアなどに採用されている画面内予測およびその拡張方式に用いられている画面内予測において設定される各単位領域(予測単位、または、パーティションとも呼称する)の形状は、該単位領域における上記入力画像の方向性と相関を有していることを見出した。例えば、単位領域の長手方向が横方向である場合には、該単位領域における上記入力画像は、横方向のエッジを有する傾向があり、単位領域の長手方向が縦方向である場合には、該単位領域における上記入力画像は、縦方向のエッジを有する傾向がある。
 上記の構成によれば、上記方向性識別手段は、各単位領域における上記入力画像の方向性を、上記入力画像に対応する参照画像を参照して画面内予測によって各単位領域における予測画像を生成する際に用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて識別するので、上記入力画像の方向性を、エッジ検出などの画素値を参照する計算を行うことなく、識別することができる。
 したがって、上記の構成によれば、各単位領域における上記入力画像の方向性を識別するための処理量を削減しつつ、該方向性に応じて適切なフィルタ処理を行うことができる。
 なお、上記入力画像とは、例えば、上記画像フィルタ装置が、復号装置において用いられる場合には、上記予測画像に、符号化データから復号された残差画像を加算することによって得られるものであり、上記画像フィルタ装置が、符号化装置において用いられる場合には、上記予測画像に、該予測画像と符号化対象画像との残差画像を加算することによって得られるものである。
 また、上記画面内予測において参照される上記入力画像に対応する参照画像とは、上記画像フィルタ装置に入力される上記入力画像と同一フレーム内の画像であって、処理対象となる単位領域から所定の距離以内にある画像であることが好ましい。また、上記画像フィルタ装置が、復号装置において用いられる場合には、上記参照画像として、上記入力画像と同一フレーム内の画像であって、処理対象の単位領域から所定の距離以内にある復号済みの画像を用いることができる。
 また、本発明に係る画像フィルタ装置においては、上記単位領域グループ毎に上記参照領域の最適化された形状が関連付けられており、上記参照領域の形状を、該参照領域と少なくとも一部が重複する単位領域が属する単位領域グループについて最適化する参照領域変更手段を更に備えている、ことが好ましい。
 上記の構成によれば、上記単位領域グループ毎に上記参照領域の最適化された形状が関連付けられており、上記参照領域変更手段が、上記参照領域の形状を、該参照領域と少なくとも一部が重複する単位領域が属する単位領域グループについて最適化するので、上記単位領域毎に最適な参照領域を用いてフィルタ処理を行うことができる。従って、上記の構成によれば、予測画像の生成により適した出力画像を生成することができる。
 また、本発明に係る復号装置は、符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、上記画像フィルタ装置と、各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像(フィルタ後の復号画像)を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 上記の構成に対応する構成を有する符号化装置によれば、各単位領域における符号化対象画像の方向性が単位領域毎に異なるような場合であっても、予測画像の予測精度を向上させることができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、本発明に係る復号装置は、符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、上記画像フィルタ装置を備え、上記画像フィルタ装置は、上記入力画像に対応する参照画像を参照して画面内予測によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、画面内予測によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像(フィルタ後の復号画像)を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 上記の構成に対応する構成を有する符号化装置によれば、各単位領域における符号化対象画像の方向性が単位領域毎に異なるような場合であっても、予測画像の予測精度を向上させることができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、上記画像フィルタ装置が、画面内予測において用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて、各単位領域における上記入力画像の方向性を識別するものである場合には、上記入力画像の方向性を、エッジ検出などの画素値を参照する計算を行うことなく識別できるので、方向性を識別するための処理量を削減しつつ、符号化効率の高い符号化データを復号することができる。
 また、上記画面内予測において参照される上記入力画像に対応する参照画像とは、上記画像フィルタ装置に入力される上記入力画像と同一フレーム内の画像であって、処理対象となる単位領域から所定の距離以内にある画像であることが好ましい。また、上記参照画像として、上記入力画像と同一フレーム内の画像であって、処理対象の単位領域から所定の距離以内にある復号済みの画像を用いることができる。
 また、上記フィルタ手段は、符号化データから復号された、複数のフィルタ係数群の各々に関連付けられた方向性情報を参照して、該符号化データに含まれる上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出する、ことが好ましい。
 上記の構成によれば、上記フィルタ手段は、符号化データから復号された、複数のフィルタ係数群の各々に関連付けられた方向性情報を参照して、該符号化データに含まれる上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出するので、上記符号化データを生成する符号化装置にて用いられた各フィルタ係数群を、該符号化装置にて分類された単位領域グループに適切に割り付けることができる。
 したがって、上記の構成によれば、当該画像フィルタ装置に入力される入力画像に対して、符号化装置にて用いられたフィルタ係数群を適切に用いてフィルタ処理を行うことができる。また、上記の構成を有する画像フィルタ装置を備える復号装置は、符号化装置によって生成された高い符号化効率を有する符号化データを適切に復号することができる。
 また、本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置と、各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、ことを特徴としている。
 上記の構成を有する本発明に係る符号化装置によれば、当該符号化装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、符号化対象画像と予測画像との残差画像を加算することによって得られる復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。また、予測精度が向上するため、上記符号化装置は、符号化効率の高い符号化データを生成することができる。
 また、本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置を備え上記画像フィルタ装置は、上記入力画像に対応する参照画像を参照して画面内予測によって生成された予測画像と、上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、画面内予測によって生成された予測画像と、符号化対象画像と予測画像との残差画像を加算することによって得られる復号画像を入力画像とし、上記入力画像(復号画像)の方向性に応じて上記単位領域グループ毎に最適化されたフィルタ係数群を用いて出力画像を生成するので、上記入力画像の方向性が、単位領域毎に異なるような場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 また、上記画像フィルタ装置が、画面内予測において用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて、各単位領域における上記入力画像の方向性を識別するものである場合には、上記入力画像の方向性を、エッジ検出などの画素値を参照する計算を行うことなく識別できるので、方向性を識別するための処理量を削減しつつ、符号化効率の高い符号化データを生成することができる。
 また、上記画面内予測において参照される上記入力画像に対応する参照画像とは、上記画像フィルタ装置に入力される上記入力画像と同一フレーム内の画像であって、処理対象となる単位領域から所定の距離以内にある画像であることが好ましい。また、上記参照画像として、上記入力画像と同一フレーム内の画像であって、処理対象の単位領域から所定の距離以内にある復号済みの画像を用いることができる。
 また、上記フィルタ手段によって用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違を単位領域グループ毎に最小化するように定められたものである、ことが好ましい。
 上記の構成によれば、上記フィルタ手段によって用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違を単位領域グループ毎に最小化するように定められたものであるため、上記フィルタ手段を備える符号化装置は、予測精度の高い予測画像を生成することができ、また、それにより、符号化効率の高い符号化データを生成することができる。
 また、本発明に係る符号化データのデータ構造は、出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置が参照する符号化データのデータ構造であって、複数のフィルタ係数群と、上記複数のフィルタ係数群の各々に関連付けられた方向性情報と、を含み、上記画像フィルタ装置は、上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性が予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記方向性情報を参照して上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出する、ことを特徴としている。
 上記のように構成された本発明に係る符号化データは、複数のフィルタ係数群と、上記複数のフィルタ係数群の各々に関連付けられた方向性情報とを含んでいるため、上記符号化データを参照する上記画像フィルタ装置は、上記方向性情報を参照して上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出するので、上記入力画像の方向性が、単位領域毎に異なるような場合に、予測画像を生成するためのより好適な出力画像を生成することができるという効果を奏する。したがって、上記のように構成された本発明に係る画像フィルタ装置が生成する出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、本発明に係る画像フィルタ装置は、画面内予測を用いて単位領域毎に生成された入力画像から出力画像を生成する画像フィルタ装置であって、出力画像における各画素の画素値を、該画素の位置に応じて定まる参照領域内の入力画像の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、を備えていることを特徴としている。
 発明者は、画面内予測を用いて単位領域毎に生成された入力画像を構成する単位領域(予測単位)の形状および大きさ違いに応じて、単位領域毎にフィルタ係数群を切り替えることにより、予測画像を生成するためのより好適な出力画像を生成することができるので、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができることを見出した。
 上記のように構成された画像フィルタ装置によれば、上記分類手段が、各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記フィルタ手段が、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するので、上記入力画像が、活性度によってフィルタ係数群を切り替えたとしても符号化効率が向上しない画像特性を有するものであっても、上記出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 また、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用するフィルタ手段と、各単位領域における上記入力画像の画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、上記第1及び第2の特性値によって張られる特性値領域を、特性値分割情報に従って複数の特性値部分領域に分割する特性値分割手段と、を備え、上記フィルタ手段は、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて算出する、ことを特徴としている。
 上記のように構成された本発明に係る画像フィルタ装置は、互いに導出方法の異なる第1及び第2の特性値によって張られる特性値領域を、特性値分割情報に従って複数の特性値部分領域に分割し、各特性値部分領域における入力画像に対して、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて作用する。
 したがって、上記の構成によれば、単位領域毎に、第1及び第2の特性値に応じて設定されたフィルタ係数を用いたフィルタ処理を行うので、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、単位領域毎に適切なフィルタ係数を用いたフィルタ処理を行うことができる。また、上記のように構成された画像フィルタ装置の出力画像を参照して生成される予測画像の予測精度を向上させることができる。
 なお、上記第1及び第2の特性値は、互いに導出方法が異なっているため、それらによって、2次元の特性値領域が張られる。また、2次元の特性値領域を張ることのできる2つの特性値であれば、上記第1及び第2の特性値として用いることができる。
 また、上記単位領域とは、上記入力画像を構成する複数の重複しない領域の各々ことを表すものとする。上記画像フィルタ装置が、画像を符号化する符号化装置、および、符号化データから画像を復号する復号装置において用いられる場合には、上記単位領域を、例えば、予測画像を生成する単位である予測単位(パーティション)としてもよいし、周波数変換の単位である変換単位としてもよいし、符号化の単位としてもよいし、それら以外のものとしてもよい。
 また、上記特性値分割手段は、上記特性値領域を、第1の分割によって1または複数の特性値部分領域に分割したうえで、当該第1の分割によって得られた各特性値部分領域を、第2の分割によって1または複数の特性値部分領域に更に分割するものである、ことが好ましい。
 上記の構成によれば、上記特性値分割手段は、上記第1及び第2の分割によって、特性値領域を階層的に分割する。したがって、上記第1の分割によって得られた各特性値部分領域を、上記第2の分割によって更に細かく分割することができる。
 したがって、上記の構成によれば、より細かく分割された特性値部分領域の各々に対してフィルタ係数を設定することができるので、より適切なフィルタ処理を行うことができる。
 また、上記第1の分割は、上記第1の特性値に関するものであり、上記第2の分割は、上記第2の特性値に関するものである、ことが好ましい。
 上記の構成によれば、上記特性値分割手段は、上記第1の特性値に関する第1の分割を行い、当該第1の分割によって得られた特性値部分領域の各々について、上記第2の特性値に関する第2の分割を行う。
 したがって、上記の構成によれば、第1の特性値に関して分割された各特性値部分領域を、第2の特性値に関して更に分割することができるので、より適切なフィルタ処理を行うことができる。
 なお、上記第1の特性値として、上記第2の特性値よりも優先度の高いものを用いることも可能である。例えば、上記画像フィルタ装置の出力画像を参照して予測画像を生成する場合、上記第1の特性値として、上記第2の特性値よりも予測精度の向上が期待できる特性値、すなわち、上記第2特性値よりも優先度の高い特性値を用いることも可能である。このように、優先度の高い特性値を第1の特性値として用いることによって、処理量の増大を抑えつつ、より適切なフィルタ処理を行うことができる。
 また、上記第1の分割は、上記第1の特性値に関するものであり、上記第2の分割は、上記第1の特性値及び上記第2の特性値に関するものである、ことが好ましい。
 上記の構成によれば、上記特性値分割手段は、上記第1の特性値に関する第1の分割を行い、当該第1の分割によって得られた特性値部分領域の各々について、上記第1及び第2の特性値に関する第2の分割を行う。
 したがって、上記の構成によれば、第1の特性値に関して分割された各特性値部分領域を、第1及び第2の特性値に関して更に分割することができるので、より適切なフィルタ処理を行うことができる。
 なお、上記第1の特性値として、上記第2の特性値よりも優先度の高いものを用いることも可能である。例えば、上記画像フィルタ装置の出力画像を参照して予測画像を生成する場合、上記第1の特性値として、上記第2の特性値よりも予測精度の向上が期待できる特性値、すなわち、上記第2特性値よりも優先度の高い特性値を用いることも可能である。このように、優先度の高い特性値を第1の特性値として用いることによって、処理量の増大を抑えつつ、より適切なフィルタ処理を行うことができる。
 また、本発明に係る上記画像フィルタ装置は、外部から取得したタップ数指定情報に従って、上記フィルタ手段のタップ数を、上記第1の分割によって得られた特性値部分領域毎に設定するタップ数設定手段を更に備えている、ことが好ましい。
 上記の構成によれば、上記画像フィルタ装置は、上記フィルタ手段のタップ数を、上記第1の分割によって得られた特性値部分領域毎に設定する。したがって、上記の構成によれば、上記第1の分割によって得られた特性値部分領域毎に設定されたタップ数を用いてフィルタ処理を行うので、より適切なフィルタ処理を行うことができる。
 また、上記の構成によれば、上記第1の分割によって得られた特性値部分領域毎にタップ数を設定するので、上記第2の分割によって得られた特性値部分領域毎にタップ数を設定する場合に比べて、処理量の増大を抑制することができる。また、上記のように構成された画像フィルタ装置を、符号化データを復号する復号装置、または、符号化データを生成する符号化装置に用いる場合、符号量の増大を抑制しつつ、予測制度の向上を図ることができるので、符号化効率が向上する。
 また、本発明に係る上記画像フィルタ装置は、外部から取得したオンオフ指定情報に従って、上記フィルタ手段のオンオフを、上記第2の分割によって得られた特性値部分領域毎に制御するオンオフ制御手段を更に備えている、ことが好ましい。
 上記の構成によれば、上記画像フィルタ装置は、上記フィルタ手段のオンオフを、上記第2の分割によって得られた特性値部分領域毎に制御するので、フィルタ処理を行うことによってむしろ符号化効率が低下してしまう単位領域については、フィルタ処理を施すことがない。したがって、上記の構成によれば、より適切なフィルタ処理を行うことができる。
 また、上記第1の特性値は、各単位領域における上記入力画像の乱雑さを示すものである、ことが好ましい。
 発明者は、各単位領域における入力画像の第1の特性値として、画像の乱雑さを示す特性値を用い、各単位領域における入力画像の第2の特性値として、画像の乱雑さとは導出方法の異なる特性値を用いることによって、適切なフィルタ処理を行うことができることを見出した。
 したがって、上記の構成によれば、適切なフィルタ処理を行うことができる。また、上記のように構成された画像フィルタ装置を備える復号装置および符号化装置によれば、符号化効率を向上させることができる。
 なお、画像の乱雑さとは、例えば、画像の活性度を指標として検出することもできるし、画素値の分散を指標として検出することもできる。
 また、第2の特性値としては、画像の乱雑さとは導出方法の異なる特性値を用いればよい。例えば、第2の特性値として、画像の方向性、画素値の平均、および、対象となる単位領域のフレーム内座標などの何れかを用いることができる。
 また、本発明に係る復号装置は、符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、上記画像フィルタ装置と、各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る復号装置によれば、当該復号装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、各特性値部分領域における入力画像に対して、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて作用することによって出力画像(フィルタ後の復号画像)を生成するので、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。
 上記の構成に対応する構成を有する符号化装置によれば、各単位領域における符号化対象画像についての第1及び第2の特性値が単位領域毎に異なるような場合であっても、予測画像の予測精度を向上させることができるので、符号化効率の高い符号化データを生成することができる。また、上記の構成を有する復号装置によれば、そのような符号化効率の高い符号化データを適切に復号することができる。
 また、本発明に係る上記復号装置は、復号対象の特性値部分領域である対象特性値部分領域について設定されるフィルタ係数を、上記符号化データに含まれるフィルタ係数残差のうち、当該対象特性値部分領域についてのフィルタ係数残差と、当該対象特性値部分領域の周辺の特性値部分領域について復号済みのフィルタ係数とを加算することによって復号するフィルタ係数復号手段を更に備えている、ことが好ましい。
 上記の構成によれば、復号対象の特性値部分領域である対象特性値部分領域について設定されるフィルタ係数を、上記符号化データに含まれるフィルタ係数残差のうち、当該対象特性値部分領域についてのフィルタ係数残差と、当該対象特性値部分領域の周辺の特性値部分領域について復号済みのフィルタ係数とを加算することによって復号するので、少ない符号量のフィルタ係数残差を参照することによって、各特性値部分領域についてのフィルタ係数を復号することができる。したがって、上記の構成によれば、符号量を削減しつつ、適切なフィルタ処理を行うことができるので、符号化効率が向上する。
 また、本発明に係る符号化装置は、符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、上記画像フィルタ装置と、各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、ことを特徴としている。
 上記のように構成された本発明に係る符号化装置によれば、当該符号化装置の備える上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、符号化対象画像と予測画像との残差画像を加算することによって得られる復号画像を入力画像とし、各特性値部分領域における入力画像に対して、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて作用することによって出力画像(フィルタ後の復号画像)を生成するので、各単位領域における上記入力画像の第1及び第2の特性値にばらつきがある場合であっても、予測画像を生成するために参照される画像として好適な出力画像を生成することができる。したがって、上記の構成によれば、上記予測画像生成手段が生成する予測画像の予測精度を向上が向上する。また、予測精度が向上するため、上記符号化装置は、符号化効率の高い符号化データを生成することができる。
 また、本発明に係る上記符号化装置において、上記フィルタ手段によって用いられるフィルタ係数は、単位領域毎に、上記符号化対象画像と上記出力画像との相違がより小さくなるように定められたものである、ことが好ましい。
 上記の構成によれば、上記フィルタ手段によって用いられるフィルタ係数は、単位領域毎に、上記符号化対象画像と上記出力画像との相違がより小さくなるように定められたものであるため、符号化対象画像との相違がより小さい出力画像を参照して予測画像を生成することができるので、符号化効率が向上する。
 また、本発明に係る符号化データのデータ構造は、複数の単位領域から構成される入力画像の各単位領域における画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、当該第1及び第2の特性値によって張られる特性値領域を複数の特性値部分領域に分割する特性値分割手段と、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数群を用いて算出するフィルタ手段と、を備えている画像フィルタ装置によって参照される符号化データのデータ構造において、上記特性値分割手段によって参照される特性値分割情報であって、上記特性値領域の分割の仕方を指定する特性値分割情報と、上記フィルタ手段によって用いられるフィルタ係数であって、上記特性値部分領域の各々についてのフィルタ係数と、を含んでいることを特徴としている。
 上記のように構成された符号化データを参照する上記画像フィルタ装置は、上記符号化データに含まれる特性値分割情報に従って、上記第1及び第2の特性値によって張られる特性値領域を複数の特性値部分領域に分割すると共に、上記符号化データに含まれる、各特性値部分領域についてのフィルタ係数を用いて入力画像に対するフィルタ処理を施す。
 したがって、上記のように構成された符号化データを参照する画像フィルタ装置によれば、入力画像に対して、特性値部分領域毎に設定されたフィルタ係数を用いて適切なフィルタ処理を行うことができる。
 また、上記特性値分割手段は、上記特性値領域を、第1の分割によって複数の特性値部分領域に分割したうえで、当該第1の分割によって得られた各特性値部分領域を、第2の分割によって複数の特性値部分領域に更に分割するものであり、上記特性値分割情報は、上記第1の分割における分割点を指定する第1分割点指定情報と、上記第2の分割における分割点を指定する第2分割点指定情報と、を含んでいることが好ましい。
 上記のように構成された符号化データを参照する上記画像フィルタ装置は、上記第1分割点指定情報によって指定される分割点を用いて上記第1の分割を行い、上記第2分割点指定情報によって指定される分割点を用いて上記第2の分割を行うので、第1及び第2の特性値によって張られる特性値領域を適切に分割することができる。
 また、上記のように構成された符号化データを生成する符号化装置は、符号化効率が向上するように第1及び第2の分割における分割点を設定し、設定された分割点を示す情報を上記第1及び第2分割点指定情報として、上記符号化データに含めておくことができる。したがって、そのように構成された上記符号化データを参照する画像フィルタ装置は、符号化装置において符号化効率が向上するように設定された分割点を用いたフィルタ処理を行うことができる。
 また、本発明に係る符号化データは、上記フィルタ手段のタップ数を、上記第1の分割によって得られた特性値部分領域毎に指定するするタップ数指定情報を更に含んでいる、ことが好ましい。
 上記のように構成された符号化データを参照する画像フィルタ装置は、上記タップ数指定情報に従って、上記フィルタ手段のタップ数を、上記第1の分割によって得られた特性値部分領域毎に設定する。したがって、上記のように構成された符号化データを参照する画像フィルタ装置によれば、上記第1の分割によって得られた特性値部分領域毎に設定されたタップ数を用いてフィルタ処理を行うので、より適切なフィルタ処理を行うことができる。
 また、本発明に係る符号化データは、上記フィルタ手段のオンオフを、上記第2の分割によって得られた特性値部分領域毎に指定するオンオフ指定情報を更に含んでいる、ことが好ましい。
 上記のように構成された符号化データを参照する画像フィルタ装置は、上記オンオフ指定情報に従って、上記フィルタ手段のオンオフを、上記第2の分割によって得られた特性値部分領域毎に制御するので、フィルタ処理を行うことによってむしろ符号化効率が低下してしまう単位領域については、フィルタ処理を施すことがない。したがって、上記の構成によれば、より適切なフィルタ処理を行うことができる。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、画像データにフィルタリングを行う画像フィルタに好適に用いることができる。また、符号化データを復号する復号装置、および、符号化データを符号化する符号化装置に好適に適用することができる。
1         動画像復号装置(復号装置)
16    インター予測画像生成部(予測画像生成手段)
17    イントラ予測画像生成部(予測画像生成手段)
42         適応フィルタ(画像フィルタ装置)
421  予測モード/サイズ蓄積部
422      エッジ方向検出部(方向性識別手段)
423        活性度算出部(活性度算出手段)
424         領域分類部(方向性識別手段、分類手段)
425       フィルタ処理部(フィルタ手段、参照領域変更手段)
2        動画像符号化装置(符号化装置)
25    イントラ予測画像生成部(予測画像生成手段)
26    インター予測画像生成部(予測画像生成手段)
34         適応フィルタ(画像フィルタ装置)
340         領域分割部
341  予測モード/サイズ蓄積部
342      エッジ方向検出部(方向性識別手段)
343        活性度算出部(活性度算出手段)
344         領域分類部(方向性識別手段、分類手段)
345       フィルタ処理部(フィルタ手段、参照領域変更手段)
346  フィルタパラメータ導出部
3,5          動画像復号装置(復号装置)
50,60,70,80   適応フィルタ(画像フィルタ装置)
51       適応フィルタ情報復号部
511       領域別タップ数復号部(タップ数設定手段)
512          領域構造復号部
513      フィルタ係数残差復号部
514      2次元予測フラグ復号部
515        フィルタ係数予測部
516        フィルタ係数復号部(フィルタ係数復号手段)
517     特性別フィルタ係数格納部
518   特性値分割点変更フラグ復号部
519        特性値分割点設定部(特性値分割手段)
52           適応フィルタ部
521         第1特性値算出部(特性値算出手段)
522         第2特性値算出部(特性値算出手段)
523      特性インデックス算出部
524      フィルタ係数割り付け部
525            フィルタ部(フィルタ手段)
731     適応的フィルタオフ復号部(オンオフ制御手段)
4,6         動画像符号化装置(符号化装置)
CR             特性値領域
CPR          特性値部分領域
PX1~PX5       特性値分割点(分割点)
PY1~PY3       特性値分割点(分割点)

Claims (29)

  1.  出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、
     上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性を識別する方向性識別手段と、
     上記方向性識別手段によって識別された各単位領域における上記入力画像の方向性が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、
     上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、
    を備えていることを特徴とする画像フィルタ装置。
  2.  上記複数の単位領域の各々における上記入力画像の活性度を算出する活性度算出手段を更に備え、
     上記分類手段は、各単位領域における上記入力画像の方向性および活性度が、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する、
    ことを特徴とする請求項1に記載の画像フィルタ装置。
  3.  上記方向性識別手段は、各単位領域における上記入力画像のエッジ方向を検出することによって、各単位領域における上記入力画像の方向性を識別するものである、
    ことを特徴とする請求項1または2に記載の画像フィルタ装置。
  4.  上記単位領域グループ毎に上記参照領域の最適化された形状が関連付けられており、上記参照領域の形状を、該参照領域と少なくとも一部が重複する単位領域が属する単位領域グループについて最適化する参照領域変更手段を更に備えている、
    ことを特徴とする請求項3に記載の画像フィルタ装置。
  5.  上記方向性識別手段は、上記入力画像に対応する参照画像を参照して画面内予測によって各単位領域における予測画像を生成する際に用いられる予測パラメータの示す方向、および、各単位領域の形状の少なくとも何れかに基づいて、各単位領域における上記入力画像の方向性を識別するものである、
    ことを特徴とする請求項1または2に記載の画像フィルタ装置。
  6.  上記単位領域グループ毎に上記参照領域の最適化された形状が関連付けられており、上記参照領域の形状を、該参照領域と少なくとも一部が重複する単位領域が属する単位領域グループについて最適化する参照領域変更手段を更に備えている、
    ことを特徴とする請求項5に記載の画像フィルタ装置。
  7.  符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、
     請求項3または4に記載の画像フィルタ装置と、
     各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、
    ことを特徴とする復号装置。
  8.  符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、
     請求項5または6に記載の画像フィルタ装置を備え、
     上記画像フィルタ装置は、上記入力画像に対応する参照画像を参照して画面内予測によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、
    ことを特徴とする復号装置。
  9.  上記フィルタ手段は、符号化データから復号された、複数のフィルタ係数群の各々に関連付けられた方向性情報を参照して、該符号化データに含まれる上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出する、
    ことを特徴とする請求項7または8に記載の復号装置。
  10.  符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、
     請求項3または4に記載の画像フィルタ装置と、
     各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、
    ことを特徴とする符号化装置。
  11.  符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、
     請求項5または6に記載の画像フィルタ装置を備え
     上記画像フィルタ装置は、上記入力画像に対応する参照画像を参照して画面内予測によって生成された予測画像と、上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、
    ことを特徴とする符号化装置。
  12.  上記フィルタ手段によって用いられるフィルタ係数群は、符号化対象画像と上記出力画像との相違を単位領域グループ毎に最小化するように定められたものである、
    ことを特徴とする請求項10または11に記載の符号化装置。
  13.  出力画像における各画素の画素値を、入力画像における該画素の位置に応じて定まる参照領域内の画素値と、フィルタ係数群とから算出する画像フィルタ装置が参照する符号化データのデータ構造であって、
     複数のフィルタ係数群と、
     上記複数のフィルタ係数群の各々に関連付けられた方向性情報と、
    を含み、
     上記画像フィルタ装置は、上記入力画像を構成する複数の単位領域の各々における上記入力画像の方向性が予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類し、上記方向性情報を参照して上記複数のフィルタ係数群から上記複数の単位領域グループの各々について最適化されたフィルタ係数群を選択すると共に、上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて選択されたフィルタ係数群を用いて算出する、
    ことを特徴とする符号化データのデータ構造。
  14.  画面内予測を用いて単位領域毎に生成された入力画像から出力画像を生成する画像フィルタ装置であって、出力画像における各画素の画素値を、該画素の位置に応じて定まる参照領域内の入力画像の画素値と、フィルタ係数群とから算出する画像フィルタ装置において、
     各単位領域の形状および大きさが、予め定められた複数のグループの何れに属するかに応じて、各単位領域を複数の単位領域グループの何れかに分類する分類手段と、
     上記出力画像における各画素の画素値を、該画素を含む単位領域が属する単位領域グループについて最適化されたフィルタ係数群を用いて算出するフィルタ手段と、
    を備えていることを特徴とする画像フィルタ装置。
  15.  複数の単位領域から構成される入力画像に作用するフィルタ手段と、
     各単位領域における上記入力画像の画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、
     上記第1及び第2の特性値によって張られる特性値領域を、特性値分割情報に従って複数の特性値部分領域に分割する特性値分割手段と、
    を備え、
     上記フィルタ手段は、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数を用いて算出する、
    ことを特徴とする画像フィルタ装置。
  16.  上記特性値分割手段は、上記特性値領域を、第1の分割によって1または複数の特性値部分領域に分割したうえで、当該第1の分割によって得られた各特性値部分領域を、第2の分割によって1または複数の特性値部分領域に更に分割するものである、
    ことを特徴とする請求項15に記載の画像フィルタ装置。
  17.  上記第1の分割は、上記第1の特性値に関するものであり、上記第2の分割は、上記第2の特性値に関するものである、
    ことを特徴とする請求項16に記載の画像フィルタ装置。
  18.  上記第1の分割は、上記第1の特性値に関するものであり、上記第2の分割は、上記第1の特性値及び上記第2の特性値に関するものである、
    ことを特徴とする請求項16に記載の画像フィルタ装置。
  19.  外部から取得したタップ数指定情報に従って、上記フィルタ手段のタップ数を、上記第1の分割によって得られた特性値部分領域毎に設定するタップ数設定手段を更に備えている、
    ことを特徴とする請求項16から18の何れか1項に記載の画像フィルタ装置。
  20.  外部から取得したオンオフ指定情報に従って、上記フィルタ手段のオンオフを、上記第2の分割によって得られた特性値部分領域毎に制御するオンオフ制御手段を更に備えている、
    ことを特徴とする請求項16から19の何れか1項に記載の画像フィルタ装置。
  21.  上記第1の特性値は、各単位領域における上記入力画像の乱雑さを示すものである、
    ことを特徴とする請求項15から20の何れか1項に記載の画像フィルタ装置。
  22.  符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、
     請求項15から21の何れか1項に記載の画像フィルタ装置と、
     各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、
    ことを特徴とする復号装置。
  23.  復号対象の特性値部分領域である対象特性値部分領域について設定されるフィルタ係数を、上記符号化データに含まれるフィルタ係数残差のうち、当該対象特性値部分領域についてのフィルタ係数残差と、当該対象特性値部分領域の周辺の特性値部分領域について復号済みのフィルタ係数とを加算することによって復号するフィルタ係数復号手段を更に備えている、
    ことを特徴とする請求項22に記載の復号装置。
  24.  符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、
     請求項15から21の何れか1項に記載の画像フィルタ装置と、
     各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、
    を備え、
     上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、
    ことを特徴とする符号化装置。
  25.  上記フィルタ手段によって用いられるフィルタ係数は、単位領域毎に、上記符号化対象画像と上記出力画像との相違がより小さくなるように定められたものである、
    ことを特徴とする請求項24に記載の符号化装置。
  26.  複数の単位領域から構成される入力画像の各単位領域における画像特性を示す特性値であって、互いに導出方法の異なる第1及び第2の特性値を算出する特性値算出手段と、当該第1及び第2の特性値によって張られる特性値領域を複数の特性値部分領域に分割する特性値分割手段と、各単位領域における出力画像の各画素値を、該単位領域について算出された第1及び第2の特性値の属する特性値部分領域について設定されたフィルタ係数群を用いて算出するフィルタ手段と、を備えている画像フィルタ装置によって参照される符号化データのデータ構造において、
     上記特性値分割手段によって参照される特性値分割情報であって、上記特性値領域の分割の仕方を指定する特性値分割情報と、
     上記フィルタ手段によって用いられるフィルタ係数であって、上記特性値部分領域の各々についてのフィルタ係数と、
    を含んでいることを特徴とする符号化データのデータ構造。
  27.  上記特性値分割手段は、上記特性値領域を、第1の分割によって複数の特性値部分領域に分割したうえで、当該第1の分割によって得られた各特性値部分領域を、第2の分割によって複数の特性値部分領域に更に分割するものであり、
     上記特性値分割情報は、
     上記第1の分割における分割点を指定する第1分割点指定情報と、
     上記第2の分割における分割点を指定する第2分割点指定情報と、
    を含んでいることを特徴とする請求項26に記載の符号化データのデータ構造。
  28.  上記フィルタ手段のタップ数を、上記第1の分割によって得られた特性値部分領域毎に指定するするタップ数指定情報を更に含んでいる、
    ことを特徴とする請求項27に記載の符号化データのデータ構造。
  29.  上記フィルタ手段のオンオフを、上記第2の分割によって得られた特性値部分領域毎に指定するオンオフ指定情報を更に含んでいる、
    ことを特徴とする請求項27または28に記載の符号化データのデータ構造。
PCT/JP2011/062656 2010-06-17 2011-06-02 画像フィルタ装置、復号装置、符号化装置、および、データ構造 WO2011158657A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/704,169 US8995776B2 (en) 2010-06-17 2011-06-02 Image filter device, decoding apparatus, encoding apparatus, and data structure
JP2012520365A JPWO2011158657A1 (ja) 2010-06-17 2011-06-02 画像フィルタ装置、復号装置、符号化装置、および、データ構造
CN201180029034.8A CN102948151B (zh) 2010-06-17 2011-06-02 图像滤波装置、解码装置及编码装置
EP11795565.8A EP2584781A4 (en) 2010-06-17 2011-06-02 IMAGE FILTER DEVICE, DECODING APPARATUS, ENCODING APPARATUS, AND DATA STRUCTURE

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010138675 2010-06-17
JP2010-138675 2010-06-17
JP2010294114 2010-12-28
JP2010-294114 2010-12-28

Publications (1)

Publication Number Publication Date
WO2011158657A1 true WO2011158657A1 (ja) 2011-12-22

Family

ID=45348065

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/062656 WO2011158657A1 (ja) 2010-06-17 2011-06-02 画像フィルタ装置、復号装置、符号化装置、および、データ構造

Country Status (5)

Country Link
US (1) US8995776B2 (ja)
EP (1) EP2584781A4 (ja)
JP (5) JPWO2011158657A1 (ja)
CN (4) CN102948151B (ja)
WO (1) WO2011158657A1 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012161063A (ja) * 2011-01-12 2012-08-23 Kddi Corp 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
WO2012137890A1 (ja) * 2011-04-05 2012-10-11 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
JP2013150084A (ja) * 2012-01-18 2013-08-01 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像符号化装置,画像復号方法,画像復号装置およびそれらのプログラム
JP2013543315A (ja) * 2010-10-01 2013-11-28 クゥアルコム・インコーポレイテッド ビデオコード化のためのイントラ平滑化フィルタ
WO2014052602A1 (en) * 2012-09-28 2014-04-03 Vid Scale, Inc. Method and apparatus of edge guided processing for video coding
JP2014187535A (ja) * 2013-03-22 2014-10-02 Fujitsu Ltd 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP2014187704A (ja) * 2012-01-19 2014-10-02 Mitsubishi Electric Corp 画像復号装置及び画像復号方法
AU2015255161B2 (en) * 2012-01-06 2017-03-16 Sony Corporation Image Processing Device and Method
JP2017508324A (ja) * 2014-05-23 2017-03-23 華為技術有限公司Huawei Technologies Co.,Ltd. ブロック予測技法での使用のための事前予測フィルタリングのための方法及び装置
CN108696757A (zh) * 2012-04-06 2018-10-23 索尼公司 解码装置和解码方法以及编码装置和编码方法
JP2019036772A (ja) * 2017-08-10 2019-03-07 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP2022551527A (ja) * 2020-04-17 2022-12-09 テンセント・アメリカ・エルエルシー ビデオコーディングの方法、コンピュータシステム、及びコンピュータプログラム
JP2023508292A (ja) * 2020-10-14 2023-03-02 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置及びプログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270871B2 (en) * 2009-04-20 2016-02-23 Dolby Laboratories Licensing Corporation Optimized filter selection for reference picture processing
ES2681838T3 (es) * 2010-12-21 2018-09-17 Ntt Docomo, Inc. Codificación y descodificación de intra-predicción en un modo plano
JP5291134B2 (ja) * 2011-03-09 2013-09-18 日本電信電話株式会社 映像符号化/復号方法,映像符号化/復号装置およびそのプログラム
JP5291133B2 (ja) 2011-03-09 2013-09-18 日本電信電話株式会社 画像処理方法,画像処理装置,映像符号化/復号方法,映像符号化/復号装置およびそれらのプログラム
US9641866B2 (en) * 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
TWI632808B (zh) * 2012-04-06 2018-08-11 新力股份有限公司 Image processing device and method
CN104272738A (zh) * 2012-06-15 2015-01-07 英特尔公司 用于可扩展视频编码的自适应滤波
US20140307780A1 (en) * 2013-04-11 2014-10-16 Mitsubishi Electric Research Laboratories, Inc. Method for Video Coding Using Blocks Partitioned According to Edge Orientations
US9544613B2 (en) * 2013-04-24 2017-01-10 Sony Corporation Local detection model (LDM) for recursive motion estimation
JP6171627B2 (ja) * 2013-06-28 2017-08-02 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム
CN104282030A (zh) * 2013-07-12 2015-01-14 富士通株式会社 图像压缩装置及方法
JP6174966B2 (ja) * 2013-10-17 2017-08-02 キヤノン株式会社 画像符号化装置、画像符号化方法、及びプログラム
CN104754362B (zh) * 2014-01-01 2021-11-02 上海天荷电子信息有限公司 使用精细划分块匹配的图像压缩方法
CN104615585B (zh) * 2014-01-06 2017-07-21 腾讯科技(深圳)有限公司 处理文本信息的方法及装置
CN104796725B (zh) * 2014-01-21 2019-10-01 Vixs系统公司 具有帧内预测预处理的视频编码器及与其一起使用的方法
US9774854B2 (en) * 2014-02-27 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors
WO2016204374A1 (ko) * 2015-06-18 2016-12-22 엘지전자 주식회사 영상 코딩 시스템에서 영상 필터링 방법 및 장치
KR20180019548A (ko) * 2015-06-18 2018-02-26 엘지전자 주식회사 영상 코딩 시스템에서 영상 특성에 기반한 적응적 필터링 방법 및 장치
KR102570911B1 (ko) * 2015-07-08 2023-08-24 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 교차 평면 필터링을 이용한 향상된 크로마 코딩
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
CA3025490A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding using affine motion compensation
TWI604731B (zh) * 2016-08-05 2017-11-01 瑞昱半導體股份有限公司 影像濾波方法及其影像濾波裝置
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
JP7047776B2 (ja) * 2017-01-12 2022-04-05 ソニーグループ株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法
US10778974B2 (en) * 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
JP2019129371A (ja) * 2018-01-23 2019-08-01 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
CN110290384A (zh) * 2018-03-19 2019-09-27 华为技术有限公司 图像滤波方法、装置及视频编解码器
CN110956594B (zh) * 2019-11-27 2023-12-01 北京金山云网络技术有限公司 图像滤波方法、装置、电子设备及存储介质
US11516514B2 (en) * 2020-03-27 2022-11-29 Tencent America LLC High level control for deblocking operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05316361A (ja) * 1992-04-24 1993-11-26 Sony Corp ブロック歪除去フィルタ
WO2010026770A1 (ja) * 2008-09-04 2010-03-11 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2759939B2 (ja) * 1986-03-14 1998-05-28 キヤノン株式会社 画像処理システム
JPH05143726A (ja) * 1991-11-25 1993-06-11 Canon Inc 画像処理方法及び装置
KR960015396B1 (ko) * 1992-02-28 1996-11-11 삼성전자 주식회사 고정비트율 압축부호화방법
KR100213089B1 (ko) * 1997-01-29 1999-08-02 윤종용 루프필터링 방법 및 루프필터
JP4042563B2 (ja) * 2002-12-27 2008-02-06 セイコーエプソン株式会社 画像ノイズの低減
JP2006032999A (ja) * 2004-07-12 2006-02-02 Sharp Corp 画像復号装置及び画像復号方法
JP2006148878A (ja) * 2004-10-14 2006-06-08 Mitsubishi Electric Research Laboratories Inc 画像中の画素を分類する方法
JP2006157267A (ja) * 2004-11-26 2006-06-15 Canon Inc 画像処理装置及び画像処理方法
US7136536B2 (en) * 2004-12-22 2006-11-14 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter
KR100695155B1 (ko) * 2005-06-18 2007-03-14 삼성전자주식회사 가리어진 얼굴 검출장치 및 방법과 이를 이용한 부정거래자식별장치 및 방법
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US8488889B2 (en) * 2005-07-22 2013-07-16 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
JP4455487B2 (ja) * 2005-12-16 2010-04-21 株式会社東芝 復号化装置及び復号化方法及びプログラム
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding
JP4747975B2 (ja) * 2006-07-14 2011-08-17 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
CN1905622A (zh) * 2006-08-11 2007-01-31 威盛电子股份有限公司 动态选择模块与动态选择滤波器系数组的方法
JP5339919B2 (ja) * 2006-12-15 2013-11-13 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
RU2461977C2 (ru) * 2006-12-18 2012-09-20 Конинклейке Филипс Электроникс Н.В. Сжатие и снятие сжатия изображения
JP2009095004A (ja) * 2007-10-03 2009-04-30 Mitsubishi Electric Research Laboratories Inc 画像シーケンス中の画素をフィルタリングする方法
EP2252063A4 (en) * 2008-03-07 2012-09-12 Toshiba Kk DEVICE FOR DYNAMIC IMAGE CODING / DECODING
WO2009133844A1 (ja) * 2008-04-30 2009-11-05 株式会社 東芝 エッジを考慮したフィルタリング機能を備えた動画像符号化/復号化方法及び装置
JPWO2010001911A1 (ja) * 2008-07-03 2011-12-22 シャープ株式会社 フィルタ装置
TWI386068B (zh) * 2008-10-22 2013-02-11 Nippon Telegraph & Telephone 解塊處理方法、解塊處理裝置、解塊處理程式及記錄該程式之可由電腦讀取之記錄媒體
CN101742292B (zh) * 2008-11-14 2013-03-27 北京中星微电子有限公司 基于图像内容信息的环路滤波方法和滤波器
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
CN101674475B (zh) * 2009-05-12 2011-06-22 北京合讯数通科技有限公司 一种h.264/svc的自适应层间纹理预测方法
JP5335574B2 (ja) * 2009-06-18 2013-11-06 キヤノン株式会社 画像処理装置及びその制御方法
JP5464435B2 (ja) * 2010-04-09 2014-04-09 ソニー株式会社 画像復号装置および方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05316361A (ja) * 1992-04-24 1993-11-26 Sony Corp ブロック歪除去フィルタ
WO2010026770A1 (ja) * 2008-09-04 2010-03-11 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11", JCTVCA-A 121, April 2010 (2010-04-01)
"Recommendation ITU-T H.264", TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, March 2009 (2009-03-01)
MARKA KARCZEWICZ ET AL.: "Video coding technology proposal by Qualcomm Inc.", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 1ST MEETING, 15 April 2010 (2010-04-15), DRESDEN, DE, XP008167652 *
See also references of EP2584781A4
TELECOMMUNICATION STANDARDIZATION SECTOR, 38TH MEETING, July 2009 (2009-07-01)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543315A (ja) * 2010-10-01 2013-11-28 クゥアルコム・インコーポレイテッド ビデオコード化のためのイントラ平滑化フィルタ
US9008175B2 (en) 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
JP2012161063A (ja) * 2011-01-12 2012-08-23 Kddi Corp 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
WO2012137890A1 (ja) * 2011-04-05 2012-10-11 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
AU2015255161B2 (en) * 2012-01-06 2017-03-16 Sony Corporation Image Processing Device and Method
JP2013150084A (ja) * 2012-01-18 2013-08-01 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像符号化装置,画像復号方法,画像復号装置およびそれらのプログラム
JP2014187704A (ja) * 2012-01-19 2014-10-02 Mitsubishi Electric Corp 画像復号装置及び画像復号方法
JP2015228709A (ja) * 2012-01-19 2015-12-17 三菱電機株式会社 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法及びビットストリーム
JP2017092980A (ja) * 2012-01-19 2017-05-25 三菱電機株式会社 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法及び符号化データ
CN108696757A (zh) * 2012-04-06 2018-10-23 索尼公司 解码装置和解码方法以及编码装置和编码方法
CN108696757B (zh) * 2012-04-06 2021-06-29 索尼公司 解码装置和解码方法以及编码装置和编码方法
WO2014052602A1 (en) * 2012-09-28 2014-04-03 Vid Scale, Inc. Method and apparatus of edge guided processing for video coding
JP2014187535A (ja) * 2013-03-22 2014-10-02 Fujitsu Ltd 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US10313705B2 (en) 2014-05-23 2019-06-04 Huawei Technologies Co., Ltd. Method and apparatus for pre-prediction filtering for use in block-prediction techniques
JP2017508324A (ja) * 2014-05-23 2017-03-23 華為技術有限公司Huawei Technologies Co.,Ltd. ブロック予測技法での使用のための事前予測フィルタリングのための方法及び装置
JP2019036772A (ja) * 2017-08-10 2019-03-07 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP2022551527A (ja) * 2020-04-17 2022-12-09 テンセント・アメリカ・エルエルシー ビデオコーディングの方法、コンピュータシステム、及びコンピュータプログラム
JP7352020B2 (ja) 2020-04-17 2023-09-27 テンセント・アメリカ・エルエルシー ビデオコーディングの方法、コンピュータシステム、及びコンピュータプログラム
JP2023508292A (ja) * 2020-10-14 2023-03-02 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置及びプログラム
JP7443527B2 (ja) 2020-10-14 2024-03-05 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法、装置及びプログラム

Also Published As

Publication number Publication date
JP2019198114A (ja) 2019-11-14
JP2017085674A (ja) 2017-05-18
CN110430428A (zh) 2019-11-08
CN106454356A (zh) 2017-02-22
CN106060546A (zh) 2016-10-26
JP6916939B2 (ja) 2021-08-11
JP2020191690A (ja) 2020-11-26
JP2018157596A (ja) 2018-10-04
CN106454356B (zh) 2019-11-08
US20130136371A1 (en) 2013-05-30
EP2584781A1 (en) 2013-04-24
EP2584781A4 (en) 2016-03-09
CN110430428B (zh) 2022-02-11
JPWO2011158657A1 (ja) 2013-08-19
JP6353943B2 (ja) 2018-07-04
JP6561174B2 (ja) 2019-08-14
JP6759428B2 (ja) 2020-09-23
CN102948151B (zh) 2016-08-03
CN102948151A (zh) 2013-02-27
US8995776B2 (en) 2015-03-31

Similar Documents

Publication Publication Date Title
JP6561174B2 (ja) 復号装置および符号化装置
KR101988888B1 (ko) 화면 내 예측 모드에 대한 부호화/복호화 방법 및 장치
EP4221202A1 (en) Image encoding and decoding method and image decoding device
EP3598760A1 (en) Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therfor
JP7395518B2 (ja) マージモードに基づくインター予測方法及び装置
KR101809630B1 (ko) 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치
KR101782154B1 (ko) 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치
KR102558269B1 (ko) 적응적인 디블록킹 필터링을 이용하는 영상 부호화 방법과 영상 복호화 방법 및 장치
KR102628693B1 (ko) 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치
KR101966195B1 (ko) 화면내 예측에서의 참조 화소 구성에 관한 부호화/복호화 방법 및 장치
KR102476230B1 (ko) 움직임 벡터 정밀성을 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치
JP2014197722A (ja) 画像フィルタ装置、復号装置、符号化装置、および、データ構造
KR20190008809A (ko) 복수의 참조 화소 계층을 지원하는 영상 복호화 방법 및 장치
KR20240148448A (ko) 적응적인 화소 분류 기준에 따른 인루프 필터링 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180029034.8

Country of ref document: CN

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

Ref document number: 11795565

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2012520365

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011795565

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10739/CHENP/2012

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 13704169

Country of ref document: US