WO2011125445A1 - 画像フィルタ装置、符号化装置、および、復号装置 - Google Patents

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

Info

Publication number
WO2011125445A1
WO2011125445A1 PCT/JP2011/056305 JP2011056305W WO2011125445A1 WO 2011125445 A1 WO2011125445 A1 WO 2011125445A1 JP 2011056305 W JP2011056305 W JP 2011056305W WO 2011125445 A1 WO2011125445 A1 WO 2011125445A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
filter coefficient
image
pixel
target
Prior art date
Application number
PCT/JP2011/056305
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2011125445A1 publication Critical patent/WO2011125445A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

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.
  • a moving image encoding device In order to efficiently transmit or record moving images, a moving image encoding device is used.
  • a specific moving picture encoding method for example, H.264 is used.
  • Examples include AVC (Non-Patent Document 1) and a method adopted in KTA software.
  • 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.
  • Non-Patent Document 2 discloses a filter called BALF (Block-based Adaptive Loop Filter) that performs filtering on a decoded image.
  • FIG. 16 is a block diagram illustrating a configuration of a video decoding device including the BALF.
  • the BALF in the moving image encoding apparatus is a deblocking method in which BALF is applied to each slice on a deblocked image obtained by applying a deblocking filter to a decoded image obtained by transforming and inversely transforming an encoding target image.
  • a filter coefficient that minimizes an error between the image and the original image is determined, and whether to perform filtering using the filter coefficient for each block is controlled.
  • the BALF in the video decoding device refers to a flag included in the encoded data, and performs filtering using the filter coefficient on a deblocked image obtained by applying a deblocking filter to the decoded image. Whether or not.
  • the pixel value of the target pixel is calculated by adding an offset to the weighted sum of the pixel values of each pixel belonging to the reference region (filter reference region) in the decoded image, with the filter coefficient as a weight.
  • the filter coefficient and offset used for filtering constitute a filter coefficient vector.
  • the present inventor found that in the decoded image to which the BALF is applied, block distortion (block noise) occurs at the boundary between the filtered block and the non-filtered block, and the subjective image quality deteriorates. Found that there is a tendency to.
  • a deblocking filter employed in AVC is provided in the subsequent stage of the BALF, and block distortion reduction processing is performed by the deblocking filter.
  • the deblocking filter calculates one pixel value in the deblocked image using the pixel values of a plurality of pixels located near the block boundary, the block distortion caused by BALF is reduced. Therefore, there is a problem that the amount of processing for it becomes huge.
  • the present invention has been made in view of the above problems, and an object of the present invention is to realize an image filter that can reduce block distortion with a small amount of processing compared to the case of using a deblocking filter. .
  • an image filter device in an input image composed of a plurality of unit regions, for target pixels belonging to a target region that is a unit region for which a filter coefficient vector is set.
  • An image filter device that derives a pixel value in an output image based on a pixel value in an input image of a pixel around the target pixel and the target pixel, and a filter coefficient vector set for the target region,
  • the filter coefficient vector set for each of the target area and the adjacent area is specified, and the adjacent area is If the filter coefficient vector is not set, it is set for the target area.
  • a specifying means for specifying a predetermined filter coefficient vector that can be regarded as a filter coefficient vector of an image filter that acts on the adjacent region, and two filters specified by the specifying means A filter coefficient vector calculating means for calculating an adjusted filter coefficient vector by taking an average of the coefficient vectors; and a pixel value in an output image of the target pixel belonging to the target area as a boundary between the target area and the adjacent area.
  • the target pixel For a target pixel whose distance from is equal to or less than a predetermined distance, the target pixel is derived using the adjusted filter coefficient vector calculated by the filter coefficient vector calculation means, and the distance from the boundary between the target area and the adjacent area If the target pixel is larger than the predetermined distance, Is characterized by comprising a filter means for deriving using a filter coefficient vector set in this household.
  • the pixel value in the output image of the target pixel whose distance from the boundary is equal to or less than a predetermined distance is used when the filter coefficient vector is set for the adjacent region.
  • the filter coefficient vector after the adjustment is obtained by taking the average of the filter coefficient vectors set for each of the target area and the adjacent area, and the filter coefficient vector is set for the adjacent area. If not, the filter coefficient vector is derived using the adjusted filter coefficient vector obtained by averaging the filter coefficient vector set for the target area and the predetermined filter coefficient vector.
  • the image filter device configured as described above when a filter coefficient vector is set for the adjacent region, calculates a pixel value of a target pixel whose distance from the boundary is equal to or less than a predetermined distance.
  • the distance from the boundary is equal to or less than a predetermined distance Is derived using an intermediate filter between the filter acting on the target region and the filter defined by the predetermined filter coefficient vector. Therefore, according to the image filter device configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, the block distortion at the boundary is reduced. .
  • the filter means can reduce block distortion by a simple process of performing filtering using the adjusted filter coefficient vector calculated by the filter coefficient vector calculation means. Compared to a configuration in which a filtered image is generated once by filtering using the filter coefficient vector as it is and the block distortion generated in the filtered image is reduced using a deblocking filter, the block distortion is reduced with a small amount of processing. can do.
  • the image filter device configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, there is an effect that the coding efficiency is improved.
  • the predetermined filter coefficient vector for example, the value of the filter coefficient multiplied by the center pixel of the filter reference area is 1, and the value of the filter coefficient multiplied by a pixel other than the center pixel is 0.
  • a trivial filter coefficient vector whose offset value is 0, or a filter coefficient vector whose difference from such a vector is a predetermined value or less can be used.
  • the average may be a normal arithmetic average, a geometric average, or a weighted average using a predetermined weight coefficient.
  • the image filter device derives a pixel value in an output image of a target pixel belonging to a target region that is a unit region for which a filter coefficient vector is set in an input image composed of a plurality of unit regions.
  • An image filter device that performs processing based on a pixel value in an input image of a target pixel belonging to the target region and pixels around the target pixel, and a filter coefficient vector set for the target region.
  • a filter means for deriving a pixel value in the filtered image of the target pixel; and after adjusting the target pixel by taking an average of the pixel value in the input image of the target pixel and the pixel value in the filtered image of the target pixel
  • a pixel value calculating means for calculating a pixel value of the target area, and the target area and a unit area adjacent to the target area
  • the adjusted pixel value calculated by the pixel value calculation unit is set as the pixel value in the output image of the target pixel, and the boundary
  • a pixel value setting means for setting a pixel value in the filtered image to a pixel value in an output image of the target pixel for a target pixel whose distance from the target is greater than the predetermined distance .
  • a pixel value in the output image of the target pixel whose distance from the boundary is equal to or less than a predetermined distance, a pixel value in the input image of the target pixel, and the target It is calculated by taking the average of the pixel values in the filtered image of the pixels.
  • This is equivalent to applying a weaker filter than the filter defined by the filter coefficient vector to a region where the distance from the boundary of the target pixel is a predetermined distance or less. Therefore, according to the above configuration, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, block distortion can be reduced.
  • the block distortion is reduced by a simple process of averaging the pixel value in the input image of the target pixel and the pixel value in the filtered image of the target pixel. Can be reduced.
  • the image filter configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, there is an effect that the coding efficiency is improved.
  • the average may be a normal arithmetic average, a geometric average, or a weighted average using a predetermined weight coefficient.
  • a decoding apparatus comprising the image filter and causing the image filter to act on a decoded image, and a decoding device comprising the image filter and causing the image filter to act on a locally decoded image.
  • Encoding devices are also included in the scope of the present invention.
  • the image filter device is a pixel in an output image of a target pixel belonging to a target region that is a unit region for which a filter coefficient vector is set in an input image composed of a plurality of unit regions.
  • An image filter device that derives a value based on a pixel value in an input image of the target pixel and pixels around the target pixel and a filter coefficient vector set for the target region, When a filter coefficient vector is set for an adjacent area that is an adjacent unit area, the filter coefficient vector set for each of the target area and the adjacent area is specified, and the filter coefficient vector is set for the adjacent area.
  • the filter set for the target area A specifying means for specifying a predetermined filter coefficient vector, which can be regarded as a filter coefficient vector of an image filter that acts on the adjacent region, while specifying a number vector, and two filter coefficient vectors specified by the specifying means
  • the filter coefficient vector calculation means for calculating the adjusted filter coefficient vector by taking the average of the pixel value in the output image of the target pixel belonging to the target area from the boundary between the target area and the adjacent area
  • a target pixel whose distance is equal to or less than a predetermined distance is derived using the adjusted filter coefficient vector calculated by the filter coefficient vector calculation unit, and the distance from the boundary between the target area and the adjacent area is For target pixels larger than a predetermined distance, the target area is set. It comprises a filter means for deriving using a filter coefficient vector are, the.
  • the image filter device derives a pixel value in an output image of a target pixel belonging to a target region that is a unit region for which a filter coefficient vector is set in an input image composed of a plurality of unit regions.
  • An image filter device that performs processing based on a pixel value in an input image of a target pixel belonging to the target region and pixels around the target pixel, and a filter coefficient vector set for the target region.
  • a filter means for deriving a pixel value in the filtered image of the target pixel; and after adjusting the target pixel by taking an average of the pixel value in the input image of the target pixel and the pixel value in the filtered image of the target pixel
  • a pixel value calculating means for calculating a pixel value of the target area, and the target area and a unit area adjacent to the target area
  • the adjusted pixel value calculated by the pixel value calculation unit is set as the pixel value in the output image of the target pixel, and the boundary
  • a pixel value setting unit that sets a pixel value in the filtered image to a pixel value in the output image of the target pixel for a target pixel whose distance from the target is greater than the predetermined distance.
  • the image filter configured as described above, it is possible to reduce block distortion with a small amount of processing compared to the case of using a deblocking filter.
  • FIG. 1 It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on 1st Embodiment. It is a figure which shows the example of the structure area
  • FIG. 1 shows the example of the block noise reduction process by the block noise reduction part with which an adaptive filter is provided, Comprising: (a) shows the example of the deblock image in the vicinity of the boundary of two adjacent structure areas, ( (b) is a figure which shows the example of the filtered image in the vicinity of the said boundary, (c) shows the example of the image which the output image data in the vicinity of the said boundary show. It is a block diagram which shows the structure of the moving image encoder which concerns on 1st Embodiment.
  • Embodiment 1 (Configuration of encoded data # 1) Prior to the description of the video decoding device 1 according to the present embodiment, the configuration of the encoded data # 1 generated by the video encoding device 2 according to the present embodiment and decoded by the video decoding device 1 will be described with reference to FIG. This will be described with reference to (a) to (b).
  • FIG. 13A is a diagram showing a bit stream #BS for each slice of encoded data # 1 generated by the video encoding device 2 and decoded by the video decoding device 1.
  • a slice is one or a plurality of areas constituting a frame, and each slice is composed of a plurality of macroblocks, and each macroblock is composed of a plurality of blocks.
  • the bitstream #BS includes filter-related information FI and macroblock information MB1 to MBNm (Nm is the total number of macroblocks included in the slice).
  • Macroblock information MB1 to MBNm is information related to each macroblock included in the slice, and includes motion vector information MV, quantized prediction residual information QD, side information SI other than motion vector information, and the like.
  • the motion vector information MV is information that is referred to in order to decode a motion vector in the video decoding device 1, and the decoded motion vector is used to generate an inter prediction image.
  • the quantized prediction residual information QD is information including quantized prediction residual data indicating a residual image to be added to the predicted image when the decoded image is generated in the video decoding device 1. .
  • the side information SI includes various types of information that are referred to when the moving image decoding apparatus 1 generates a decoded image. More specifically, in the side information SI, prediction mode information referred to select either an intra prediction image generated by intra prediction or an inter prediction image generated by inter prediction.
  • Block division information including the number of blocks constituting the macroblock, the size of each block, and information indicating the position of each block in the macroblock, whether each block is a bi-predicted block, or Prediction direction information indicating whether the block is unidirectionally predicted, skip information indicating whether the skip mode is applied to each macroblock, or a reference image for designating a reference image to be referred to when generating a predicted image Index, weight information to specify the weight for weighted prediction, and associated with each block Include quantization parameter information indicating the coca parameter QP.
  • FIG. 13B is a diagram illustrating an example of the configuration of the filter related information FI.
  • the filter related information FI includes filter coefficient information FC indicating filter coefficients and offsets used for filtering of slices in the moving image decoding apparatus 1, and filter parameter information FP. Yes.
  • the filter parameter information FP is information including tap number information for specifying the number of taps for filtering and filter on / off information for specifying on / off of filtering.
  • the specific format of the tap number information is not limited to the present embodiment.
  • “00” is set for 3 ⁇ 3 taps and “01” is set for 5 ⁇ 5 taps.
  • the filter on / off information is information for designating whether or not to perform filtering for each of a plurality of unit areas constituting a slice, and is composed of information indicating an area and information indicating on / off for each area. Is done.
  • the information indicating ON / OFF is expressed by 1-bit information that takes “1” for an area to be filtered, and takes “0” for an area that is not.
  • the information indicating the area is, for example, information indicating that the area is an area having a predetermined size, or a plurality of areas in which the area is classified by a quad-tree. It is the information which shows to which hierarchy it belongs to.
  • the unit area may be a macro block, a block, or an area smaller than the block.
  • the unit area may be composed of a plurality of pixels or a single pixel.
  • the filter coefficient information FC can include luminance value and color difference bit depth information.
  • the bit depth is information for indicating a range of values. For example, when the bit depth is N, the range of the luminance value and the color difference value is from 0 to 2 to the Nth power ⁇ 1.
  • the filter coefficient information FC may include filter quantization information that specifies the coarseness of the filter coefficient and offset quantization. If the filter quantization information is not included, a fixed quantization step, for example, 8-bit quantization is used.
  • the filter coefficient information FC may include a plurality of sets of filter coefficients and offsets
  • the filter parameter information FP may include information specifying which set should be used for each area constituting the slice. is there. In such a case, the moving picture decoding apparatus 1 can perform different filtering on each region constituting the slice using each set.
  • the filter related information FI may include threshold information indicating a threshold that is referred to when determining the magnitude of block noise in the video decoding device 1. .
  • the filter related information FI is determination operation designation information that is referred to in order to designate one of the plurality of decision operations for judging the magnitude of block noise in the video decoding device 1. It is good also as a structure containing. Further, the determination operation designation information may be configured to include determination operation on / off information that is referred to when the moving image decoding apparatus 1 switches on / off of the block noise determination operation. Moreover, it is good also as a structure containing the index used for the threshold value used for determination, or the index for designating a threshold value.
  • the moving picture decoding apparatus 1 includes H.264 as a part thereof. H.264 / MPEG-4 AVC, and a decoding device including technology adopted in 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 50, and an adaptive filter 100.
  • the video decoding device 1 generates and outputs a decoded image # 2 by decoding the encoded data # 1.
  • the generation of decoded image # 2 by the moving image decoding apparatus 1 is performed in units of macroblocks constituting a frame or blocks constituting a macroblock.
  • a frame, a macro block, and a block to be decoded are referred to as a target frame, a target macro block, and a target block, respectively.
  • the size of the macroblock is, for example, 16 ⁇ 16 pixels, and the size of the block is, for example, 4 ⁇ 4 pixels.
  • these sizes are not limited to the present embodiment, and the size of the macroblock is 16 ⁇ 32 pixels, 32 ⁇ 16 pixels, or 32 ⁇ 32 pixels may be used, and the block size may be set to 4 ⁇ 8 pixels, 8 ⁇ 4 pixels, or 8 ⁇ 8 pixels.
  • variable length code decoding unit 13 performs variable length decoding on the encoded data # 1, and performs differential motion vector # 13a, side information # 13b, quantized prediction residual data # 13c, filter coefficient information # 13d, and filter parameter information. # 13e is output.
  • the differential motion vector # 13a and the side information # 13b are obtained by variable-length decoding the motion vector information MV and the side information SI included in the encoded data # 1, respectively, and the quantization prediction residuals are obtained.
  • the difference data # 13c, the filter coefficient information # 13d, and the filter parameter information # 13e are respectively the quantized prediction residual information QD, the filter coefficient information FC, and the filter parameter information FP included in the encoded data # 1. It is obtained by variable length decoding.
  • the filter coefficient information # 13d is composed of information specifying a filter coefficient group and an offset allocated to one or a plurality of areas on each frame. Since the filter coefficient information # 13d will be described later, detailed description thereof is omitted here.
  • the filter parameter information # 13e includes information specifying the position and size of a region to be filtered using the filter coefficient indicated by the filter coefficient information # 13d, information specifying the number of taps for filtering, and filtering Information that specifies on / off is assumed to be included.
  • the motion vector restoration unit 14 decodes the motion vector # 14 for the target block from the difference motion vector # 13a and the motion vector # 15a that has already been decoded and stored in the buffer memory 15.
  • the buffer memory 15 stores output image data # 100 output from the adaptive filter 100, motion vector # 14, and side information # 13b.
  • the inter prediction image generation unit 16 is decoded by the motion vector restoration unit 14 and based on the motion vector # 15c that has passed through the buffer memory 15 and the reference image # 15d stored in the buffer memory 15, the inter prediction image # 16. Is generated.
  • the generation of the inter prediction image # 16 is performed in units of macroblocks or blocks, for example.
  • the motion vector # 15c may be the same motion vector as the motion vector # 14.
  • Reference image # 15d corresponds to an image indicated by output image data # 100 output from adaptive filter 100 described later and stored in buffer memory 15, and corresponding to an image obtained by decoding the entire frame.
  • the intra-predicted image generation unit 17 generates an intra-predicted image # 17 from the local decoded image # 15b stored in the buffer memory 15. More specifically, the intra predicted image generation unit 17 generates an image on the target macroblock of the intra predicted image # 17 using the locally decoded image # 15b in the same frame as the prediction target macroblock.
  • the prediction method determination unit 18 selects one of the intra prediction image # 17 and the inter prediction image # 16 based on the prediction mode information included in the side information # 13b, and outputs the selected prediction image # 18. To do.
  • Quantization prediction residual data # 13c is supplied to the inverse quantization / inverse transform unit 19 in units of blocks.
  • the inverse quantization / inverse transform unit 19 transforms the quantized prediction residual data # 13c into a frequency component by performing inverse quantization, and further performs inverse DCT (Discrete Cosine Transform) transform on the frequency component. As a result, a prediction residual # 19 is generated and output.
  • inverse DCT Discrete Cosine Transform
  • the adder 20 generates a decoded image # 2 by adding the prediction residual # 19 and the prediction image # 18, and outputs the decoded image # 2.
  • the output decoded image # 2 is also supplied to the deblocking filter 50.
  • the deblocking filter 50 performs deblocking processing for reducing block distortion at the block boundary or macroblock boundary on the decoded image # 2.
  • the image data subjected to the deblocking process is output as a deblocked image # 50.
  • the adaptive filter 100 calculates filter coefficients based on the filter coefficient information # 13d decoded from the encoded data # 1, and performs output filtering on the deblocked image # 50 using the filter coefficients. # 100 is generated.
  • the output image data # 100 is supplied to the buffer memory 15.
  • the filtering process in adaptive filter 100 is performed with reference to side information # 13b and filter parameter information # 13e decoded from encoded data # 1.
  • the configuration of the adaptive filter 100 will be described later and will not be described here.
  • an area composed of unit areas designated as filtering on by the filter parameter information # 13e is referred to as a filter on area, and filtering is off by the filter parameter information # 13e.
  • An area composed of the designated unit areas is called a filter-off area.
  • the filter coefficient information # 13d includes a plurality of sets of filter coefficients and offsets, a plurality of filter-on areas exist on the same slice, and a different set is assigned to each of them.
  • the “filter-on region” and the “filter-off region” will be collectively referred to as “configuration region”.
  • the filter coefficient information # 13d is decoded from the encoded data # 1, and is configured from information designating a filter coefficient and an offset used for filtering of each unit area.
  • the filter coefficient group and the information specifying the offset are assigned.
  • the number of elements included in the filter coefficient group is defined by the number of taps. For example, the number of elements included in the filter coefficient group of M ⁇ N taps is M ⁇ N.
  • the filter coefficient group allocated to the configuration area ORg is M ⁇ N taps
  • the filter coefficient group and offset allocated to the configuration area ORg are, for example, a filter coefficient matrix Hg shown in the following equation (1),
  • the filter coefficient matrix Hg has M ⁇ N filter coefficients h (g) ij (1 ⁇ 1 ). i ⁇ M, 1 ⁇ j ⁇ N) as a matrix.
  • the superscript g attached to the filter coefficient h (g) ij and the offset h (g) offset indicates that the filter coefficient and offset are the filter coefficient and offset assigned to the configuration area ORg. Show.
  • h (g) ij a filter coefficient that is multiplied by the center pixel of the filter reference region that is referred to in filtering is expressed as h (g) 00, and a filter coefficient that is multiplied by a pixel whose relative coordinates from the center pixel is (s, t) is h. (g) It may be expressed as st .
  • the M ⁇ N tap filter coefficient group and offset allocated to the configuration area ORg can be expressed by the following M ⁇ N + 1-dimensional filter coefficient vector Vg.
  • the 1st to M ⁇ Nth components of the filter coefficient vector Vg represent the filter coefficient h (g) ij , and the last component (hereinafter referred to as an offset component ) of the filter coefficient vector Vg. ) Represents the offset h (g) offset .
  • the filter coefficient h (g) ij and the offset h (g) offset can be uniformly expressed.
  • each component of the filter coefficient vector Vg may be represented as v (g) K using a one-dimensional subscript K.
  • v (g) 1 h (g) 11
  • v (g) 2 h (g) 12
  • V (g) M ⁇ N h (g) MN
  • j K / M + 1.
  • % represents a surplus.
  • x% y represents a remainder obtained by dividing x by y.
  • X / y represents the result of performing an operation of truncating the fractional part (that is, an operation of calculating a floor function) on the quotient obtained by dividing x by y.
  • the value of the filter coefficient multiplied by the center pixel of the filter reference area is 1 for the constituent area, and the filter coefficient multiplied by the pixels other than the center pixel is It may be handled as a filter coefficient and an offset having a value of 0 and an offset value of 0.
  • the component having a value of 1 represents a filter coefficient to be multiplied by the center pixel of the filter reference region, and the other components (including the offset component) are 0.
  • 2 (a) to 2 (b) are diagrams showing examples of configuration areas constituting the target frame.
  • FIG. 2 (a) is a diagram showing a case where the target frame is composed of two constituent areas, where the constituent area OR1 is a filter-on area and the constituent area OR2 is a filter-off area.
  • the filter coefficient h (1) ij and the offset h (1) offset decoded from the encoded data # 1 are assigned to the configuration area OR1.
  • the filter coefficient and the offset decoded from the encoded data # 1 are not assigned to the configuration area OR2, but the center of the filter reference area as described above is assigned to the configuration area OR2. It is assumed that a filter coefficient and an offset are assigned such that the value of the filter coefficient multiplied by the pixel is 1, the value of the filter coefficient multiplied by a pixel other than the central pixel is 0, and the offset value is 0. It should be handled.
  • FIG. 2B is a diagram showing a case where the target frame is composed of three constituent areas, and any constituent area is a filter-on area.
  • the filter coefficient h (b) ij and the offset h (b) offset decoded from the encoded data # 1 are set. Assigned.
  • the filter coefficient h (g) ij and the offset h (g) offset may be quantized and encoded as an integer value. Specifically, when the filter coefficient h (g) ij and the offset h (g) offset are encoded by 8 bits, they are encoded as a multiple of 1/256 as a unit. Also good.
  • the unit of quantization can also be encoded as filter quantization information as described above. In the following description, it is assumed that inverse quantization is performed when the variable length code decoding unit 13 decodes the filter coefficient information # 13d. However, the present embodiment is not limited to this, and the determination can also be performed using a coefficient before inverse quantization.
  • the filter coefficient information # 13d may be obtained by encoding a difference value between the filter coefficient and the predicted value of the filter coefficient. In such a case, it is assumed that the variable length code decoding unit 13 performs calculation of a predicted value and addition processing with the predicted value.
  • the adaptive filter 100 includes a filter coefficient accumulation unit 101, a block noise determination unit 102, a filter processing unit 103, and a block noise reduction unit 104.
  • the filter coefficient accumulation unit 101 accumulates the filter coefficient and offset indicated by the filter coefficient information # 13d. More specifically, the filter coefficient storage unit 101 stores at least the filter coefficients assigned to two adjacent constituent regions. When the constituent area is a filter-off area, for the constituent area, as described above, the value of the filter coefficient multiplied by the central pixel of the filter reference area is 1, and pixels other than the central pixel are used. The filter coefficient to be multiplied by 0 may be treated as being assigned a filter coefficient and offset such that the value of the filter coefficient is 0 and the offset value is 0.
  • the filter coefficient accumulation unit 101 may be configured to accumulate the filter coefficients and offsets assigned to all the configuration areas included in each slice constituting the frame. In that case, a configuration in which the block noise determination unit 102 described later performs block noise determination on all the configuration areas included in one slice and outputs information indicating the determination result as determination information # 102. And it is sufficient.
  • the filter processing unit 103 generates a filtered image # 103 by performing filtering on the deblocked image # 50 using the filter coefficient and offset stored in the filter coefficient storage unit 101.
  • the filter processing unit 103 weights the pixel value S O (x ′, y ′) at the coordinates (x ′, y ′) of the filtered image # 103 by the following equation (4). Calculate by linear sum.
  • S I (x, y) represents a pixel value at the coordinates (x, y) of the deblocked image # 50.
  • h (i, j) is a filter coefficient multiplied by the pixel value S I (x + i, y + j) constituting the deblocked image # 50, and corresponds to the above-described filter coefficient h (g) ij .
  • h (i, j) in Expression (4) corresponds to h (a) ij . .
  • hoffset in Expression (4) represents an offset assigned to the constituent area to which the coordinates (x, y) of the deblocked image # 50 belong.
  • R in Equation (4) represents a pixel region (filter reference region) that takes the above-described weighted linear sum, and is designated by filter parameter information # 13e.
  • the coordinates (x ′, y ′) and the coordinates (x, y) may be the same coordinates or different coordinates as long as they have a one-to-one correspondence.
  • the block noise determination unit 102 refers to the filter coefficient and offset accumulated in the filter coefficient accumulation unit 101, and based on the filter coefficient and offset values assigned to two adjacent constituent regions, the filtered noise image # 103 The magnitude of block noise generated at the boundary between the two constituent areas is determined.
  • the block noise determination unit 102 is likely to generate block noise at the boundary between the two constituent areas in the filtered image # 103. It can also be expressed as an estimate.
  • the block noise determination unit 102 determines the magnitude of block noise generated at the boundary between the two constituent areas in the filtered image # 103 based on the filter coefficient and the offset value assigned to the two adjacent constituent areas. It can also be expressed as a determination device for determination.
  • the block noise determination unit 102 refers to the pixel value of either the deblocked image # 50 or the filtered image # 103 together with the filter coefficient and offset accumulated in the filter coefficient accumulation unit 101, and the filtered image # 103. It may be configured to determine the magnitude of the block noise at. (Cause of block noise occurrence and judgment method) Hereinafter, the cause of the block noise and the determination method will be briefly described.
  • filter processing is performed using filter coefficients that are optimized for the filter target frame. However, image quality deteriorates when filter processing is performed using the calculated filter coefficients. There are areas to do.
  • a frame is divided into a plurality of blocks, and control is performed on whether or not to perform filter processing in units of blocks (ON) and not to perform filter processing (OFF).
  • OFF filter processing
  • the filter coefficient value and the offset value balance the size of the two, and the filter coefficient greatly changes the pixel value.
  • region segmentation the same processing is often performed by collecting blocks with a large pixel value or blocks with a small pixel value. The value also tends to be such that the change in pixel value is large, and block noise is likely to occur.
  • the pixel value change in the average pixel value can be expressed by the sum of the filter coefficients and the offset (the average pixel value change is when the sum is 1 and the offset is 0).
  • the average pixel value change is when the sum is 1 and the offset is 0.
  • the occurrence of block noise is significant when there is such an average pixel value change
  • a determination method based on how far away from a filter having no value change is shown, and a determination method for referring to the entire filter coefficient is also described.
  • the reason for referring to the entire filter coefficient is that the occurrence of block noise is not limited to an average change in pixel values, and even when image sharpening or blurring occurs due to filtering, the nature of the image is at the boundary. This is because it may occur due to discontinuous change. Since the filter properties are related to the entire filter coefficient, the entire filter coefficient is referred to.
  • FIG. 3 is a flowchart showing the operation flow of the block noise determination unit 102 in this example.
  • the block noise determination unit 102 performs filtering according to whether or not the absolute value of the difference between the offset values assigned to each of the two adjacent configuration regions is greater than a predetermined threshold value. It is determined whether the possibility of block noise occurring at the boundary between the two constituent areas in the image # 103 is high or low.
  • Step S101 the block noise determination unit 102 selects a boundary to be determined from the boundaries of a plurality of constituent areas constituting a frame. This is equivalent to selecting two different sets from the set of filter coefficients and offset stored in the filter coefficient storage unit 101. Further, this step can be omitted when there is only one boundary of the configuration area (the same applies to the following operation examples).
  • the block noise determination unit 102 refers to the offset stored in the filter coefficient storage unit 101, and calculates the absolute value of the difference between the offsets assigned to each of the adjacent constituent regions via the boundary to be determined. To do.
  • the boundary to be determined is represented as a boundary B (g, g ′), and two constituent areas adjacent via the boundary B (g, g ′) are represented as a constituent area ORg and a constituent area ORg ′, respectively.
  • the absolute value of the offset assigned to the filter-on region is calculated. That's fine.
  • Step S103 the block noise determination unit 102 determines whether or not the difference absolute value D 1 (g, g ′) calculated in step S102 is greater than a predetermined threshold Th 1 .
  • Step S104 When the difference absolute value D 1 (g, g ′) is larger than the predetermined threshold Th 1 (Yes in step S103), the block noise determination unit 102 sets the boundary B (g, g ′) to be determined. Therefore, it is determined that block noise is highly likely to occur.
  • Step S105 On the other hand, when the difference absolute value D 1 (g, g ′) is equal to or less than a predetermined threshold Th 1 (No in step S103), the block noise determination unit 102 determines the boundary B (g, g, In g ′), it is determined that the possibility of occurrence of block noise is low.
  • information indicating the determination result by the block noise determination unit 102 is supplied to the block noise reduction unit 104 as determination information # 102.
  • the determination information # 102 can be expressed by, for example, 1-bit information that takes 1 when it is determined that the possibility of occurrence of block noise is high and takes 0 when it is determined that the block noise is low.
  • the determination information # 102 may be configured to include information on the coordinates of the boundary B (g, g ′) that is the determination target along with the determination result (the same applies to the following operation examples).
  • Step S106 Subsequently, the block noise determination unit 102 returns to (Step S101) when determining the other boundary, and ends the process when not determining the other boundary.
  • the threshold value may be set according to the quantization parameter of the transform coefficient used for generating the decoded image, in addition to the filter coefficient quantization step. That is, since the block noise is more conspicuous when the quantization parameter is small, the threshold value may be reduced when the quantization parameter is small. For example, it is preferable to set the threshold value to 2 when the quantization parameter is less than a predetermined threshold value and to set it to 3 when the quantization parameter is greater than or equal to a certain threshold value.
  • 4A and 4B are diagrams showing examples of offsets allocated to two adjacent configuration areas.
  • 4 (a) is absolute difference of the offset assigned to each of the two configurations regions OR1 and OR2 adjacent through boundary B (1, 2) is a view showing a case where the threshold value Th 1 or less There,
  • FIG. 4 (b) the difference absolute value of the offset assigned to each of the two configurations regions OR1 and OR2 adjacent through boundary B (1, 2) exhibits a greater than the threshold Th 1 FIG.
  • Block noise determination unit 102 determines that there is a low possibility that block noise is generated, a boundary B (1 shown in FIG. 4 (b) , 2) , it is determined that block noise is highly likely to occur.
  • FIG. 5 is a diagram in which offset values assigned to each of the filter-on areas in a plurality of frames in which the bit depth of the pixel value is 8 bits are plotted.
  • the horizontal axis in FIG. 5 represents the frame number assigned to each frame, and the vertical axis represents the offset value assigned to the filter-on area of each frame.
  • the offset value assigned to each frame varies, and when the bit depth of the pixel value is 8, if the offset value exceeds 3, the filtered filter There is a tendency that block noise starts to stand out at the boundary between the ON region and the filter OFF region.
  • the block noise determination unit 102 can appropriately determine the size of the block noise by referring to the offset value assigned to the adjacent configuration area by performing the operation of this example.
  • the block noise determination unit 102 performs the operation of this example to determine the size of the block noise by referring to the offset value assigned to the adjacent configuration area, so that the configuration Compared to the conventional configuration in which block noise at the boundary is determined in units of pixels by referring to the pixel values of adjacent pixels via the boundary of the region, the processing amount for determining the magnitude of the block noise is reduced be able to.
  • step S103 it is determined whether or not the difference A 1 (g, g ′) satisfies the conditional expression ⁇ Th 1 ⁇ A 1 (g, g ′) ⁇ Th 1. When the expression is satisfied, it is determined that the possibility of occurrence of block noise at the boundary B (g, g ′) is low. When the conditional expression is not satisfied, the block noise at the boundary B (g, g ′) It is good also as a structure which determines with possibility that this will generate
  • the block noise determination unit 102 may be configured to perform the above determination for each unit region pair adjacent via the boundary to be determined, or for each pair of adjacent configuration regions via the boundary to be determined.
  • the above determination may be performed (the same applies to the following (determination operation example 2) to (determination operation example 7)).
  • An example of determination processing for determining block noise for each configuration region pair will be described more specifically in (determination operation example 8) described later.
  • FIG. 6 is a flowchart showing an operation flow of the block noise determination unit 102 in this example.
  • the block noise determination unit 102 calculates the sum for each constituent area of the filter coefficients allocated to two adjacent constituent areas (that is, the sum for each filter coefficient vector), and the difference absolute value of the sum Is greater than or less than a predetermined threshold value, it is determined whether the possibility of block noise occurring at the boundary between the two constituent regions in the filtered image # 103 is high or low.
  • Step S201 First, the block noise determination unit 102 selects a boundary to be determined from the boundaries of a plurality of constituent areas constituting a frame.
  • the block noise determination unit 102 refers to the filter coefficients stored in the filter coefficient storage unit 101, and calculates the sum of offsets allocated to each of the adjacent constituent regions via the boundary to be determined. Further, the block noise determination unit 102 calculates a difference absolute value of the calculated sum of filter coefficients (an absolute value of a difference between two sums calculated for each configuration region).
  • the boundary to be determined is represented as a boundary B (g, g ′), and two constituent areas adjacent via the boundary B (g, g ′) are represented as a constituent area ORg and a constituent area ORg ′, respectively.
  • Step S203 the block noise determination unit 102 determines whether or not the difference absolute value D 2 (g, g ′) calculated in step S202 is greater than a predetermined threshold Th 2 .
  • Step S204 When the difference absolute value D 2 (g, g ′) is larger than the predetermined threshold Th 2 (Yes in step S203), the block noise determination unit 102 sets the boundary B (g, g ′) to be determined. Therefore, it is determined that block noise is highly likely to occur.
  • Step S205 On the other hand, when the difference absolute value D 2 (g, g ′) is equal to or less than a predetermined threshold Th 2 (No in step S203), the block noise determination unit 102 determines the boundary B (g, g, In g ′), it is determined that the possibility of occurrence of block noise is low.
  • information indicating the determination result by the block noise determination unit 102 is supplied to the block noise reduction unit 104 as determination information # 102.
  • Step S206 Subsequently, the block noise determination unit 102 returns to (Step S201) when determining about another boundary, and ends the process when determining not about another boundary.
  • the threshold Th 2 is preferably determined so as to have a positive correlation with the bit depth of the pixel value.
  • the block noise determination unit 102 can appropriately determine the size of the block noise by referring to the absolute difference value of the sum of the filter coefficients allocated to the adjacent configuration regions. it can.
  • the block noise determination unit 102 performs the operation of this example, and refers to the absolute value of the sum of the filter coefficients assigned to the adjacent configuration areas, thereby determining the size of the block noise in units of the configuration areas. Since the determination is made, the block noise level is determined by referring to the pixel value of the adjacent pixel through the boundary of the configuration area as compared with the conventional configuration in which the block noise at the boundary is determined in pixel units. The amount of processing can be reduced.
  • the block noise at the boundary B (g, g ′) It is good also as a structure which determines with possibility that this will generate
  • one of two constituent regions adjacent to each other through the boundary to be determined is a filter-off region and the other is a filter-on region.
  • FIG. 7 is a flowchart showing a flow of operation of the block noise determination unit 102 in this example.
  • the block noise determination unit 102 calculates the sum of absolute differences of the corresponding filter coefficients among the filter coefficients assigned to two adjacent constituent areas, and the sum of the absolute differences is calculated in advance. It is determined whether the possibility of block noise occurring at the boundary between the two constituent areas in the filtered image # 103 is high or low depending on whether or not the threshold value is greater than a predetermined threshold.
  • the corresponding filter coefficient refers to a filter coefficient designated by the same index (i, j) (the same applies hereinafter).
  • the block noise determination unit 102 selects a boundary to be determined from the boundaries of a plurality of constituent areas constituting a frame.
  • the block noise determination unit 102 refers to the filter coefficient stored in the filter coefficient storage unit 101, and corresponds to the filter coefficient assigned to each of the adjacent constituent regions via the boundary to be determined.
  • the sum of absolute differences of filter coefficients that is, the sum of absolute values of differences of corresponding filter coefficients is calculated.
  • the boundary to be determined is represented as a boundary B (g, g ′), and two constituent areas adjacent via the boundary B (g, g ′) are represented as a constituent area ORg and a constituent area ORg ′, respectively.
  • the center pixel of the filter reference region is set to the filter-off region.
  • the sum of absolute difference values may be calculated assuming that filter coefficients are assigned such that 1 is taken and 0 is taken for pixels other than the central pixel.
  • the block noise determination unit 102 D 3 (g, g ′) ⁇ ′
  • ⁇ ′ represents a sum related to filter coefficients other than the filter coefficient multiplied by the center pixel of the filter reference area
  • h (g) center represents a filter coefficient multiplied by the center pixel of the filter reference area.
  • Step S303 the block noise determination unit 102 determines whether or not the sum D 3 (g, g ′) of absolute difference values calculated in step S302 is greater than a predetermined threshold Th 3 .
  • Step S304 When the sum D 3 (g, g ′) of the absolute differences is larger than a predetermined threshold Th 3 (Yes in step S303), the block noise determination unit 102 determines the boundary B (g, g ′) to be determined. ), It is determined that the possibility of block noise is high.
  • Step S305 On the other hand, when the sum D 3 (g, g ′) of the absolute differences is equal to or less than a predetermined threshold Th 3 (No in step S303), the block noise determination unit 102 determines the boundary B ( It is determined that the possibility of block noise is low at g, g ′).
  • information indicating the determination result by the block noise determination unit 102 is supplied to the block noise reduction unit 104 as determination information # 102.
  • Step S306 Subsequently, the block noise determination unit 102 returns to (Step S301) when determining the other boundary, and ends the process when not determining the other boundary.
  • Nf represents the number of filter coefficients (for example, 9 for 3 ⁇ 3 taps) assigned to the configuration area
  • Md is a constant determined according to the variation of the values of the filter coefficients. It is.
  • the threshold Th 3 is preferably determined so as to have a positive correlation with the bit depth of the pixel value.
  • Step S302 when the number of taps of the filter coefficients allocated to each of the adjacent constituent regions via the boundary to be determined is different, the following (Step S302a) or (Step S302b) The process shown in FIG.
  • Step S302a Let ⁇ in ⁇
  • the filter coefficient allocated to the configuration area ORg among the configuration areas adjacent via the boundary to be determined is M ⁇ M taps
  • the filter coefficient allocated to the configuration area ORg ′ is N ⁇ N taps (N If ⁇ M)
  • ⁇ N ⁇ N represents taking the sum only for N ⁇ N taps.
  • Step S302b Let ⁇ in ⁇
  • the sum of absolute values of only filter coefficients with a larger number of taps may be taken.
  • the filter coefficient allocated to the configuration area ORg among the configuration areas adjacent via the boundary to be determined is M ⁇ M taps
  • the filter coefficient allocated to the configuration area ORg ′ is N ⁇ N taps
  • ⁇ N ⁇ N indicates that the sum is obtained only for N ⁇ N taps
  • ⁇ M ⁇ MN ⁇ N is the sum for the range excluding N ⁇ N taps among the M ⁇ M taps. Represents taking.
  • the block noise determination unit 102 appropriately determines the magnitude of the block noise by referring to the sum of the absolute values of the differences between the filter coefficients allocated to the adjacent configuration regions. Can do.
  • the block noise determination unit 102 performs the operation of this example, thereby referring to the sum of absolute values of differences between filter coefficients assigned to adjacent configuration regions, thereby determining the size of block noise in units of configuration regions.
  • the block noise determination unit 102 determines the magnitude of the block noise compared to the conventional configuration in which the block noise at the boundary is determined in units of pixels by referring to the pixel values of adjacent pixels through the boundary of the configuration area The amount of processing can be reduced.
  • FIG. 8 is a flowchart showing a flow of operation of the block noise determination unit 102 in this example.
  • the block noise determination unit 102 calculates the difference absolute value of the sum of the filter coefficients allocated to two adjacent constituent areas for each constituent area (that is, the sum of each filter coefficient vector), and the two adjacent ones. Block noise occurs at the boundary between the two constituent regions in the filtered image # 103 depending on whether the weighted sum of the absolute values of the offset differences assigned to the constituent regions is larger than a predetermined threshold. Determine if the likelihood is high or low.
  • Step S401 First, the block noise determination unit 102 selects a boundary to be determined from the boundaries of a plurality of constituent areas constituting a frame.
  • the block noise determination unit 102 refers to the filter coefficients stored in the filter coefficient storage unit 101, and calculates the sum of the filter coefficients assigned to each of the adjacent constituent regions via the boundary to be determined. . Furthermore, the block noise determination unit 102 calculates a difference absolute value of the calculated sum of filter coefficients, that is, an absolute value of a difference between two sums calculated for each configuration region.
  • the block noise determination unit 102 refers to the offset stored in the filter coefficient storage unit 101, and calculates the absolute value of the difference between the offsets assigned to each of the adjacent constituent regions via the determination target boundary. . Further, the block noise determination unit 102 calculates a weighted sum of the calculated difference absolute value of the filter coefficients and the absolute value of the offset difference.
  • the boundary to be determined is represented as a boundary B (g, g ′), and two constituent areas adjacent via the boundary B (g, g ′) are represented as a constituent area ORg and a constituent area ORg ′, respectively.
  • the block noise determination unit 102 includes the difference absolute value
  • the weighted sum D 4 (g, g ′) is the difference absolute value D 1 (g, g ′) and the difference absolute value D 2 ( determined operation example 1) and (determination operation example 2), respectively.
  • D 4 (g, g ') D 4 (g, g ′) w1 ⁇ D 2 (g, g ′) + w2 ⁇ D 1 (g, g ′) It can also be expressed as
  • the difference absolute value D 1 (g, g ′) and the difference absolute value may be applied to D 2 (g, g ′) .
  • Step S403 the block noise determination unit 102 determines whether or not the weighted sum D 4 (g, g ′) calculated in step S402 is greater than a predetermined threshold Th 4 .
  • Step S404 When the weighted sum D 4 (g, g ′) is larger than the predetermined threshold Th 4 (Yes in step S403), the block noise determination unit 102 determines the boundary B (g, g ′) to be determined. It is determined that block noise is highly likely to occur.
  • Step S405 On the other hand, when the weighted sum D 4 (g, g ′) is equal to or less than a predetermined threshold Th 4 (No in step S403), the block noise determination unit 102 determines the boundary B (g, g) to be determined. In '), it is determined that the possibility of block noise is low.
  • information indicating the determination result by the block noise determination unit 102 is supplied to the block noise reduction unit 104 as determination information # 102.
  • Step S406 Subsequently, the block noise determination unit 102 returns to (Step S401) when determining about another boundary, and ends the process when determining not about another boundary.
  • the specific values of the weighting factors w1 and w2 used in (Step S402) may be determined according to the bit depth of the pixel value.
  • the bit depth of the pixel value is 8 bits
  • the maximum value of the pixel value is 255.
  • the ratio w1 / w2 between the weighting factor w1 and the weighting factor w2 is preferably determined so as to have a positive correlation with the maximum pixel value.
  • the threshold Th 4 is preferably determined so as to have a positive correlation with the bit depth of the pixel value.
  • the block noise determination unit 102 can appropriately determine the size of the block noise by performing the operation of this example.
  • FIG. 9 is a flowchart showing an operation flow of the block noise determination unit 102 in this example.
  • the block noise determination unit 102 among the filter coefficients assigned to two adjacent constituent areas, the sum of the absolute differences of the corresponding filter coefficients and the offset assigned to the two adjacent constituent areas. Whether the block noise is likely to occur at the boundary between the two constituent areas in the filtered image # 103 or not depending on whether the weighted sum of the difference between the two and the absolute value is greater than a predetermined threshold value Determine.
  • Step S501 First, the block noise determination unit 102 selects a boundary to be determined from the boundaries of a plurality of constituent areas constituting a frame.
  • the block noise determination unit 102 refers to the filter coefficient stored in the filter coefficient storage unit 101, and corresponds to the filter coefficient assigned to each of the adjacent constituent regions via the boundary to be determined.
  • the sum of absolute differences of filter coefficients that is, the sum of absolute values of differences of corresponding filter coefficients is calculated.
  • the block noise determination unit 102 refers to the offset stored in the filter coefficient storage unit 101, and calculates the absolute value of the difference between the offsets assigned to each of the adjacent constituent regions via the determination target boundary. .
  • the boundary to be determined is represented as a boundary B (g, g ′), and two constituent areas adjacent via the boundary B (g, g ′) are represented as a constituent area ORg and a constituent area ORg ′, respectively.
  • a filter corresponding to the filter coefficients h (g) ij of the filter coefficients h (g) ij assigned to construction area ORg filter coefficients assigned to construction area ORg ' Sum of absolute values of difference from coefficient h (g ′) ij ⁇
  • of the offset assigned to each of ' is calculated.
  • the block noise determination unit 102 calculates the sum of the absolute differences of the filter coefficients ⁇
  • and the weighted sum D 5 (g, g ′) w1 ′ ⁇ ⁇
  • w1 ′ and w2 ′ represent weighting factors.
  • the weighted sum D 5 (g, g ′) is the difference absolute value D 1 (g, g ′) and the difference absolute value D 3 ( determined operation example 1) and (determination operation example 3), respectively.
  • D 5 (g, g ') D 5 (g, g ′) w1 ′ ⁇ D 3 (g, g ′) + w2 ′ ⁇ D 1 (g, g ′) It can also be expressed as
  • the difference absolute value D 1 (g, g ′) and the difference absolute value may be applied to D 3 (g, g ′) .
  • Step S503 the block noise determination unit 102 determines whether or not the weighted sum D 5 (g, g ′) calculated in step S502 is greater than a predetermined threshold Th 5 .
  • Step S504 When the weighted sum D 5 (g, g ′) is larger than the predetermined threshold Th 5 (Yes in step S503), the block noise determination unit 102 determines that the boundary B (g, g ′) is a determination target. It is determined that block noise is highly likely to occur.
  • Step S505 On the other hand, when the weighted sum D 5 (g, g ′) is equal to or less than a predetermined threshold Th 5 (No in step S503), the block noise determination unit 102 determines the boundary B (g, g) to be determined. In '), it is determined that the possibility of block noise is low.
  • information indicating the determination result by the block noise determination unit 102 is supplied to the block noise reduction unit 104 as determination information # 102.
  • Step S506 Subsequently, the block noise determination unit 102 returns to (Step S501) when determining the other boundary, and ends the process when determining not about the other boundary.
  • the specific values of the weighting factors w1 ′ and w2 ′ used in (Step S502) may be determined according to the bit depth of the pixel value.
  • the bit depth of the pixel value is 8 bits
  • the maximum value of the pixel value is 255.
  • the ratio w1 ′ / w2 ′ between the weighting factor w1 ′ and the weighting factor w2 ′ is preferably determined so as to have a positive correlation with the maximum pixel value.
  • Nf represents the number of filter coefficients (for example, 9 for 3 ⁇ 3 taps) assigned to the configuration area
  • Md is a constant determined according to the variation of the values of the filter coefficients. It is.
  • the threshold Th 5 is preferably determined so as to have a positive correlation with the bit depth of the pixel value.
  • the block noise determination unit 102 can appropriately determine the size of the block noise by performing the operation of this example.
  • the block noise determination unit 102 may be configured to perform multi-stage determination.
  • the determination information # 102 preferably includes information indicating the intensity X of the block noise.
  • the block noise determination unit 102 can determine the size of the block noise step by step by performing the operation of this example.
  • the means for reducing the block noise can more effectively reduce the block noise by referring to the determination information # 102 indicating the result determined by the operation of this example.
  • the block noise determination unit 102 refers to either the filter coefficient or the offset assigned to each of the two adjacent constituent areas, and refers to the pixel values of the two constituent areas, thereby filtering the filtered image # A configuration may be adopted in which the magnitude of block noise generated at the boundary between the two configuration regions in 103 is determined.
  • Step S103 to (Step S105) (see FIG. 3) in (Judgment operation example 1) may be replaced with (Step S103 ') to (Step S105') shown below, respectively.
  • Step S103 ′ The block noise determination unit 102 determines whether or not the difference absolute value D 1 (g, g ′) calculated in step S102 is larger than a predetermined threshold Th 1, and also determines the deblocked image at the boundary. and a pixel value in the configuration space ORg, with de average pixel value D B of the pixel values in the configuration space ORg 'block image, to determine whether greater than the threshold Th B1 predetermined, average pixel value D B Is smaller than a predetermined threshold value Th B2 (Th B2 ⁇ Th B1 ).
  • Step S104 ′ When the difference absolute value D 1 (g, g ′) is larger than a predetermined threshold Th 1 and D B is larger than a predetermined threshold Th B1 , the boundary B (g, g It is determined that the possibility of block noise is high at ').
  • the boundary B () to be determined is also determined when the difference absolute value D 1 (g, g ′) is larger than the predetermined threshold Th 1 and D B is smaller than the predetermined threshold Th B2. It is determined that the possibility of block noise is high at g, g ′).
  • Step S105 ′ On the other hand, when the difference absolute value D 1 (g, g ′) is equal to or smaller than a predetermined threshold Th 1 , the block noise determination unit 102 sets the boundary B (g, g ′) to be determined. Therefore, it is determined that the possibility of block noise is low. Further, when D B is the threshold value Th B1 below a threshold value Th B2 than the predetermined well, the block noise determination unit 102, the block noise in the determination target boundary B (g, g ') is It is determined that the possibility of occurrence is low.
  • Block noise is also likely to occur in areas where the difference from the original image tends to be large. Further, visually, the smaller the pixel value, the easier it is to see block noise.
  • the block noise determination unit 102 refers to either the filter coefficient or the offset assigned to each of the two adjacent configuration regions and the pixel value of the two configuration regions. The determination accuracy of block noise can be further increased.
  • FIG. 8 An eighth example of the block noise magnitude determination operation by the block noise determination unit 102 will be described with reference to FIG.
  • This example is characterized in that the determination is made for each configuration region pair, not for each configuration region boundary pair.
  • an example of a determination process in which the block noise determination unit 102 performs block noise determination for each configuration region pair will be described more specifically.
  • the block noise determination unit 102 determines, for each constituent region pair, whether block noise is large between the constituent element boundaries, and, for each target slice, the boundary of the constituent area existing in the slice.
  • the block noise flag FBN indicating whether or not it is determined that the block noise is large for at least one boundary will also be described.
  • Step S801 the block noise determination unit 102 initializes the value of the block noise flag FBN to 0.
  • Step S802 the block noise determination unit 102 initializes the value of the loop variable i to 1, and starts a first loop process that sets the increment value of the loop variable i for each loop to 1 for i that satisfies i ⁇ NOR.
  • NOR represents the total number of configuration areas existing in the target slice. Steps to be subjected to the first loop process are step S802 to step S809.
  • Step S803 the block noise determination unit 102 initializes the value of the loop variable j to i + 1, and starts a second loop process that sets the increment value of the loop variable j for each loop to 1 for j that satisfies j ⁇ NOR. . Steps that are targets of the second loop processing are step S803 to step S808.
  • Step S804 the block noise determination unit 102 determines block noise at the boundary between the configuration area ORi and the configuration area ORj.
  • the block noise determination unit 102 determines block noise at the boundary between the configuration area ORi and the configuration area ORj.
  • any of the determination processing described in the determination operation example 1 to the determination operation example 7 may be performed.
  • Step S805 When it is determined in step S804 that the block noise is large, the block noise determination unit 102 performs the process of step S806, and when it is determined that the block noise is small, the block noise determination unit 102 performs the process of step S807.
  • Step S806 If it is determined that the block noise is large (Yes in step S805), the value of the block noise flag FBN is set to 1.
  • the block noise determination unit 102 stores determination result information indicating the result determined in step S804 in a block noise determination result accumulation unit (not shown) included in the block noise determination unit 102.
  • Step S808 This step is the end of the second loop.
  • Step S809 This step is the end of the first loop.
  • NOR NOR
  • block noise can be determined for the boundaries between all the configuration regions existing in the target slice.
  • the block noise determination unit 102 may be configured not to calculate the block noise flag FBN. In this case, Step 801, Step 805, and Step 806 are not necessary. In this case, for each configuration region pair, it is determined whether block noise is large between the boundaries of the configuration elements.
  • the target region may be a region larger or smaller than the slice.
  • the block noise determination unit 102 determines that the block noise is large for at least one boundary among the boundaries of the constituent areas existing in the frame for each target frame. It may be configured to output a block noise flag FBN ′ indicating whether or not.
  • NOR referred to in step S802 represents the total number of configuration regions existing in the target frame, and in step S806, the block noise determination unit 102 determines that the block noise flag FBN ′. The value may be set to 1.
  • a configuration is also provided that outputs a block noise flag indicating whether or not block noise is determined to be large for at least one of the boundaries of the configuration regions existing in the region. It can be realized similarly.
  • the block noise reduction unit 104 that performs block noise reduction processing based on the block noise determination result according to the present example refers to the determination result information stored in the block noise determination result accumulation unit in units of boundaries.
  • the determination result for each boundary can be acquired with a small amount of calculation.
  • the block noise reduction unit 104 refers to the block noise flag FBN after all the above steps are completed, and if the block noise flag FBN is 0, that is, if the block noise is small at all boundaries, When the determination is made, it is possible to omit all the determinations at the boundary and to perform the block noise reduction processing.
  • the moving picture coding apparatus that generates the coded data # 1 and includes a block noise determination unit that performs the same operation as the operation of the present example encodes the block noise flag FBN.
  • a configuration for transmission to the video decoding device 1 may be adopted. In that case, the moving picture decoding apparatus 1 may refer to the block noise flag FBN, and when the value of the block noise flag FBN is 0, the block noise determination process and the block noise reduction process may be skipped. Good. With this configuration, it is possible to reduce the amount of processing related to block noise determination and block noise reduction.
  • the above is a specific example of the block noise determination operation by the block noise determination unit 102.
  • the block noise determination unit 102 refers to the flag included in the encoded data # 1, and determines, for example, for each frame, each slice, or each boundary in (determination operation example 1) to (determination operation example 7).
  • a configuration may be adopted in which any of the operations shown is selectively performed.
  • the determination may be performed by selecting a determination operation with higher encoding efficiency for each frame, for each slice, or for each boundary.
  • the block noise determination unit 102 may be configured to switch the determination operation on / off for each boundary with reference to the determination operation on / off information included in the encoded data # 1.
  • a predetermined value may be used, or a threshold obtained by decoding the threshold information included in the encoded data # 1 may be used. It may be used.
  • the block noise determination unit 102 includes a plurality of unit areas, and an input image (deblocked image # 50) in which a filter coefficient vector is set for at least one unit area among the plurality of unit areas. For each unit region for which a filter coefficient vector is set, a filtered result obtained by applying an image filter (an image filter that operates in the filter processing unit 103) using the filter coefficient vector set for the unit region.
  • an image filter an image filter that operates in the filter processing unit 103
  • each of the adjacent unit areas Identify the filter coefficient vector set for When the filter coefficient vector is set only in one of the adjacent unit areas, the filter coefficient vector set for the one unit area is specified and the filter of the image filter that acts on the other unit area is specified. It functions as a specifying means for specifying a predetermined filter coefficient vector that can be regarded as a coefficient vector.
  • the block noise determination unit 102 refers to the two specified filter coefficient vectors and is the object of the above determination. Also, it functions as a determination means for determining the intensity of block distortion occurring between adjacent unit areas.
  • the block noise determination unit 102 refers to the two specified filter coefficient vectors, and determines the strength of block distortion that occurs between adjacent unit regions that are the targets of the determination. The intensity of the generated block distortion can be accurately determined.
  • the predetermined filter coefficient vector for example, the value of the filter coefficient to be multiplied by the center pixel of the filter reference area is 1, and the value of the filter coefficient to be multiplied by a pixel other than the center pixel is 0.
  • a filter coefficient vector having an offset value of 0 hereinafter referred to as a trivial filter coefficient vector
  • a filter coefficient vector having a difference from the trivial filter coefficient vector equal to or less than a predetermined magnitude can be used.
  • the block noise determination unit 102 refers to the filter coefficient vector to determine the block distortion strength for each unit region pair. Therefore, the block noise determination unit 102 refers to the pixel value to determine the block distortion strength for each pixel pair. Compared to the configuration, the processing amount for determining the strength of block distortion can be reduced.
  • Block noise reduction unit 104 Block noise reduction unit 1004.
  • the block noise reduction unit 104 refers to the deblocked image # 50 and performs block noise reduction processing on the pixels located in the vicinity of the boundary between adjacent constituent regions in the filtered image # 103, thereby outputting the output image data # 100 is generated and output.
  • the block noise reduction unit 104 is a pixel of a pixel located in the vicinity of the boundary between two adjacent constituent regions in the image indicated by the output image data # 100, as shown in the following formula (5).
  • the value is calculated by taking a weighted average of the pixel values of the pixel in the filtered image # 103 and the deblocked image # 50.
  • S L (x, y) r ⁇ S O (x, y) + (1 ⁇ r) ⁇ S I (x, y) (5)
  • S L (x, y) represents the pixel value at the coordinates (x, y) of the image indicated by the output image data # 100
  • S O (x, y) represents the filtered image # 103.
  • the pixel value at the coordinates (x, y) is represented
  • S I (x, y) represents the pixel value at the coordinates (x, y) of the deblocked image # 50.
  • r in Equation (5) represents a weighting factor that is determined according to the distance between the boundary between two adjacent constituent regions and the pixel indicated by coordinates (x, y).
  • a specific value of the weighting factor r may be determined as follows, for example.
  • the weight coefficient r takes a value closer to 0, and the pixel indicated by the coordinates (x, y) is sufficient from the boundary. Is a coefficient that takes 1.
  • the contribution of the filtered image # 103 to the image indicated by the output image data # 100 calculated by Expression (5) is smaller as it is closer to the boundary between two adjacent constituent regions, and the contribution of the deblocked image # 50 is The closer to the boundary between two adjacent constituent regions, the larger.
  • the block noise reduction unit 104 can reduce the block noise by calculating each pixel value of the output image data # 100 using Expression (5).
  • the pixel value of the pixel belonging to the filter-off area in the filtered image # 103 is set as the pixel value of the pixel in the output image data # 100. It is good also as a structure which outputs as.
  • the block noise reduction unit 104 refers to the determination information # 102, and applies the formula (5) to the pixels in the vicinity of the boundary determined by the block noise determination unit 102 that block noise is highly likely to occur. It is preferable to adopt a configuration in which the processing using is performed.
  • the block noise reduction unit 104 may be configured to switch whether or not to perform the above processing with reference to determination information # 203 generated in the moving picture coding apparatus 2 described later.
  • the adaptive filter 100 improves the image quality by dividing the deblocked image # 50 into a plurality of regions and performing on / off control of filtering for each region, or by using an optimum filter coefficient group and offset for each region.
  • the filter selected for each region is not always the optimum filter near the boundary of the region due to the limitation of the granularity and accuracy of the region division.
  • it is considered that a filter having an intermediate effect between two filters in contact with the boundary is most suitable near the boundary of the region. Based on such knowledge, the present inventor confirmed the effect of the block noise reduction process, and found that the effect of improving the coding efficiency can be obtained by making the block reduction process effective.
  • the block noise reduction unit 104 may be configured to perform the above-described processing on pixels near all boundaries without referring to any of the determination information # 102 and the determination information # 203.
  • a flag indicating whether or not to perform the determination process may be included in the filter coefficient information FC. Since the block noise reduction process requires a certain amount of processing, a flag indicating whether or not to perform the block noise reduction process is included in the filter coefficient information FC so that this process can be adaptively turned off. May be.
  • FIG. 11 is a diagram illustrating an example of block noise reduction processing by the block noise reduction unit 104.
  • FIG. 11A illustrates a deblocking process in the vicinity of the boundary B (1, 2) between two adjacent constituent regions OR1 and OR2.
  • An example of the image # 50 is shown
  • (b) is an example of the filtered image # 103 in the vicinity of the boundary
  • (c) is an output image data # 100 in the vicinity of the boundary.
  • the example of the image to show is shown.
  • the configuration area OR1 is a filter-off area
  • the configuration area OR2 is a filter-on area. Therefore, the pixel value of the pixel belonging to the constituent area OR1 of the filtered image # 103 is the same as the pixel value of the corresponding pixel of the deblocked image # 50. On the other hand, the pixel value of the pixel belonging to the constituent area OR2 of the filtered image # 103 is different from the pixel value of the corresponding pixel of the deblocked image # 50.
  • NR0 shown in FIG. 11 (c) represents a region having a pixel whose distance d from the boundary B (1,2) is 0, that is, a pixel adjacent to the boundary B (1,2) .
  • NRn (1.ltoreq.n.ltoreq.3) represents a region composed of pixels whose distance d from the boundary B.sub. ( 1,2) is n.
  • the configuration area OR1 is a filter-off area
  • the pixel values of the pixels belonging to the configuration area OR1 in the image indicated by the output image data # 100 are deblocked. This is the same as the pixel value of the pixel in image # 50 and filtered image # 103.
  • a value determined in advance for each frame may be used, or a value set for each boundary targeted for block noise reduction processing may be used.
  • the block noise reduction unit 104 refers to the determination information # 102 and the block determined by the block noise determination unit 102
  • the noise intensity X may be set to the value of the parameter P.
  • the block noise reduction unit 104 can more effectively reduce block noise by performing the block noise reduction process according to the intensity determined by the block noise determination unit 102.
  • the block noise reduction unit 104 refers to the determination information # 203 and sets the parameter P. It is good also as a structure which determines a value.
  • each configuration included in the adaptive filter 100 can also be applied to an AIF (Adaptive Interpolation Filter) employed in KTA software, which is a codec for joint development in VCEG (Video Coding Expert Group).
  • AIF Adaptive Interpolation Filter
  • the adaptive filter 100 can generally be widely applied as a filter that performs filtering using a filter coefficient and an offset on an input image.
  • the adaptive filter 100 functions as a filter that can effectively reduce block noise with a small amount of processing even in such a general case.
  • the block noise determination unit 102 included in the adaptive filter 100 can be widely applied as a device that generally determines the magnitude of block noise generated by filtering using a filter coefficient and an offset.
  • the adaptive filter 100 is an output image of a target pixel belonging to a target region that is a unit region in which a filter coefficient vector is set in an input image (deblocked image # 50) configured from a plurality of unit regions.
  • An image filter device for deriving a pixel value in the above, based on a pixel value in an input image of a target pixel belonging to the target region and pixels around the target pixel, and a filter coefficient vector set for the target region Filter means (filter processing unit 103) for deriving a pixel value in the filtered image of the target pixel, an average of the pixel value in the input image of the target pixel and the pixel value in the filtered image of the target pixel.
  • the pixel value calculating means (block) for calculating the adjusted pixel value of the target pixel by taking The target pixel whose distance from the boundary between the noise reduction unit 104) and the target region and the adjacent region which is a unit region adjacent to the target region is equal to or less than a predetermined distance is
  • the pixel value in the output image of the target pixel whose distance from the boundary is equal to or less than a predetermined distance is obtained by using the pixel value in the input image of the target pixel and the target value. It is calculated by taking the average of the pixel values in the filtered image of the pixels. This is equivalent to applying a weaker filter than the filter defined by the filter coefficient vector to a region where the distance from the boundary of the target pixel is a predetermined distance or less. Therefore, according to the above configuration, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, block distortion can be reduced.
  • block distortion is obtained by a simple process of averaging the pixel value of the target pixel in the input image and the pixel value of the target pixel in the filtered image. Can be reduced.
  • a predetermined filter coefficient having a strong effect of removing high frequency components that is, a filter coefficient having a low-pass effect
  • the filter coefficient having a strong effect of removing high frequency components that is, a filter coefficient having a low-pass effect.
  • the adaptive filter 100 configured as described above adaptively derives the filter coefficient (and offset), and the derived filter coefficient (and offset) There is a tendency that the effect to remove is weak (that is, the low-pass effect is weak) On without determination of an edge, such as a deblocking filter, a problem that blur occurs in an edge and a high frequency component originally present in the block boundary is less likely to occur by the filter.
  • the filter coefficient and the offset used for the vicinity of the boundary of the unit region are from the filter defined by the filter coefficient and the offset that are adaptively obtained for the unit region. Since the filter is weak, the problem of blurring of edges and high-frequency components that originally exist on the block boundary due to the filter is less likely to occur.
  • the adaptive filter 100 it is possible to omit a determination process for the presence or absence of an edge as in the conventional deblocking filter. Therefore, the adaptive filter 100 can reduce block distortion with a small amount of calculation compared with the conventional deblocking filter.
  • the adaptive filter 100 configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, there is an effect that the coding efficiency is improved.
  • the average may be a normal arithmetic average, a geometric average, or a weighted average using a predetermined weight coefficient.
  • the moving image encoding apparatus 2 includes H.264 as a part thereof. H.264 / MPEG-4 AVC, and a decoding device including technology adopted in KTA software.
  • FIG. 12 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 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 25, and an inter prediction image generation unit 25.
  • a prediction image generation unit 26, a prediction method control unit 28, a motion vector redundancy reduction unit 29, an adder 31, a subtracter 32, a deblocking filter 50, and an adaptive filter 200 are provided.
  • the input image # 10 divided into macro blocks is input to the moving image encoding device 2.
  • the moving image encoding device 2 performs an encoding process on the input image # 10 and outputs encoded data # 1.
  • the transform / quantization unit 21 converts the difference image # 32 between the input image # 10 divided into macroblocks and a prediction image # 28a output from the prediction scheme control unit 28, which will be described later, into frequency components by DCT conversion. After conversion, the frequency component is quantized to generate quantized prediction residual data # 21.
  • the quantization is an operation for associating the frequency component with an integer value.
  • the DCT transform and quantization are performed in units of blocks obtained by dividing a macroblock.
  • a macro block to be processed is referred to as a “target macro block”
  • a block to be processed is referred to as a “target block”.
  • the inverse quantization / inverse transform unit 23 decodes the quantized prediction residual data # 21 and generates a prediction residual # 23. Specifically, the inverse quantization / inverse transform unit 23 performs inverse quantization of the quantized prediction residual data # 21, that is, associates integer values constituting the quantized prediction residual data # 21 with frequency components. Then, inverse DCT transformation of the frequency component, that is, inverse transformation to the pixel component of the target macroblock based on the frequency component is performed to generate prediction residual # 23.
  • the adder 31 adds the prediction residual # 23 and the prediction image # 28a to generate a decoded image # 31.
  • the generated decoded image # 31 is supplied to the deblocking filter 50.
  • the deblocking filter 50 performs a deblocking process on the block boundary or the macroblock boundary in the decoded image # 31.
  • the image data subjected to the deblocking process is output as a deblocked image # 50.
  • the deblocking filter 50 has the same configuration as the deblocking filter 50 included in the video decoding device 1.
  • the adaptive filter 200 performs filtering on the deblocked image # 50 and outputs output image data # 200 to the buffer memory 24.
  • the adaptive filter 200 also outputs filter coefficient information # 201a, which is information indicating the filter coefficient and the offset used for filtering, to the variable length coding unit 22.
  • the filter coefficient information # 201a corresponds to the filter coefficient information # 13d referred to by the video decoding device 1.
  • the adaptive filter 200 also includes information for specifying the position and size of a region to be filtered using the filter coefficient indicated by the filter coefficient information # 201a, information for specifying the number of taps for filtering, and filtering on / off. Is output to the variable length coding unit 22. Since the configuration of the adaptive filter 200 will be described later, the description thereof is omitted here.
  • the intra-predicted image generation unit 25 extracts the local decoded image # 24a (the already decoded area of the same frame as the target macroblock) from the output image data # 200 stored in the buffer memory 24, and based on the local decoded image # 24a Intraframe prediction is performed to generate an intra predicted image # 25.
  • the inter prediction image generation unit 26 calculates and assigns a motion vector # 27 to the target block on the input image # 10 by using the reference image # 24b in which the entire frame has already been decoded and stored in the buffer memory 24.
  • the reference image # 24b is an image indicated by the output image data # 200 output from the adaptive filter 200 described later and stored in the buffer memory 24, and corresponds to an image obtained by decoding the entire frame.
  • the calculated motion vector # 27 is output to the inter prediction image generation unit 26 and the motion vector redundancy reduction unit 29 and is stored in the buffer memory 24.
  • the inter predicted image generation unit 26 performs motion compensation on the reference image # 24b based on the motion vector # 27 for each block, and generates an inter predicted image # 26.
  • the prediction method control unit 28 compares the intra prediction image # 25, the inter prediction image # 26, and the input image # 10 in units of macro blocks, and the intra prediction image # 25 or the inter prediction image # 26. Any one of them is selected and output as a predicted image # 28a. In addition, the prediction method control unit 28 outputs prediction mode information # 28b that is information indicating which of the intra prediction image # 25 or the inter prediction image # 26 is selected. The predicted image # 28a is input to the subtracter 32.
  • Prediction mode information # 28b is stored in the buffer memory 24 and input to the variable length encoding unit 22.
  • the motion vector redundancy reduction unit 29 assigns the motion vector # 27 to the target block in the inter predicted image generation unit 26, and then assigns the motion vector # 27c to the other block and stored in the buffer memory 24. Based on this, a prediction vector is calculated. In addition, the motion vector redundancy reduction unit 29 takes the difference between the prediction vector and the motion vector # 27, and generates a difference motion vector # 29. The generated difference motion vector # 29 is output to the variable length coding unit 22.
  • variable length coding unit 22 performs variable length coding on the quantized prediction residual data # 21, the difference motion vector # 29, the prediction mode information # 28b, the filter coefficient information # 201a, and the filter parameter information # 201b. To generate encoded data # 1.
  • the subtractor 32 takes the difference between the input image # 10 and the predicted image # 28a for the target macroblock, and outputs a difference image # 32.
  • the adaptive filter 200 includes a filter processing unit 201, a filter coefficient accumulation unit 202, a block noise determination unit 203, and a block noise reduction unit 204.
  • the filter processing unit 201 derives the filter coefficient and offset used for filtering performed on the deblocked image # 50 so that the error between the filtered deblocked image and the input image # 10 is minimized. Also, the filter processing unit 201 performs filtering on the deblocked image # 50 using the derived filter coefficient and offset.
  • Step S1001 the filter processing unit 201 applies each pixel value of the filtered deblocked image and the input image # 10, which can be given by the following formula (8) for each predetermined region (for example, for each slice or each frame).
  • the filter coefficient h (i, j) and the offset hoffset are derived so that the square error E with each pixel value is minimized.
  • S (x, y) represents the pixel value at the coordinates (x, y) of the input image # 10
  • S I (x, y) represents the coordinates (x, y) of the deblocked image # 50.
  • R in Expression (8) represents a filter reference area specified by the number of taps, and is an object of a weighted linear sum of S I (x, y) using the filter coefficient h (i, j) as a weight coefficient. Can be expressed by a set of relative coordinates.
  • R ⁇ ( ⁇ 1, ⁇ 1), ( ⁇ 1, 0), ( ⁇ 1, 1) , (0, -1), (0, 0), (0, 1), (1, -1), (1, 0), (1, 1) ⁇ .
  • Step S1002 the filter processing unit 201 calculates each pixel value of the filtered deblocked image by filtering the deblocked image # 50 using Expression (4) already described.
  • S O (x ′, y ′) in Expression (4) represents the pixel value at the coordinates (x ′, y ′) of the deblocked image after filtering.
  • h (i, j) and hoffset in Equation (4) represent the filter coefficient and offset derived in Step S1001, respectively, and R in Equation (4) is It is assumed that the filter reference area used in step S1001 is represented.
  • the filter processing unit 201 encodes the residual data between the pixel value S O (x, y) of the deblocked image after filtering and the pixel value S (x, y) of the input image # 10. It is good also as a structure which optimizes the tap number of the filter reference area
  • each unit area may be a macro block, a block, or an area smaller than the block.
  • Each unit area may be the same size, or the predetermined area may be divided hierarchically by a quad-tree.
  • the unit area may be composed of a plurality of pixels or a single pixel.
  • the filter processing unit 201 stores the remaining pixel value S O (x, y) of the filtered deblocked image and the pixel value S (x, y) of the input image # 10.
  • the coding efficiency CE2 is compared. If CE1 ⁇ CE2, the unit area is classified as a filter-on area. If CE1 ⁇ CE2, the unit area is set as a filter-off area. Classify.
  • FIG. 1 As an example of the filter-on region and the filter-off region composed of the unit regions classified in this step, FIG.
  • Step S1004 Subsequently, the filter processing unit 201 performs the filtering shown in (Step S1002) only on the unit areas classified as the filter-on area among the unit areas constituting the deblocked image # 50, thereby performing the filtering. A finished image # 103c is generated and output.
  • the filter processing unit 201 outputs information indicating the filter coefficient h (i, j) and the offset hoffset determined by the above processing as filter coefficient information # 201a.
  • the filter processing unit 201 also specifies information for specifying the position and size of each unit area, information for specifying the number of taps optimized in step S1002, and information indicating filtering on / off (filter on / off). Information) is output as filter parameter information # 201b.
  • the filter on / off information is information for designating whether or not to perform filtering for each of the plurality of unit areas constituting the predetermined area.
  • Information indicating ON / OFF is expressed by 1-bit information that takes “1” for an area to be filtered, and takes “0” for an area that is not.
  • the information indicating the area is, for example, information indicating that the area is an area having a predetermined size, or a plurality of areas in which the area is classified by a quad-tree. It is the information which shows to which hierarchy it belongs to.
  • the filter processing unit 201 may be configured to repeat the processes corresponding to (Step S1001) to (Step S1003) a plurality of times. That is, the filter processing unit 201 performs filtering so that the square error E given by Expression (8) is minimized with respect to the unit region group composed only of the unit regions classified as the filter-on region in step S1003.
  • a configuration may be adopted in which coefficients and offsets are derived, and processing corresponding to steps S1002 to S1003 is performed using these filter coefficients and offsets. By adopting such a configuration, it is possible to derive a combination of the arrangement of the filter-on region and the filter-off region, the value of the filter coefficient and the offset, and the number of taps that can further increase the coding efficiency.
  • the filter processing unit 201 divides the predetermined region into a plurality of constituent regions, and derives a filter coefficient and an offset so as to minimize the square error shown in Equation (8) for each constituent region. It is good.
  • the filter processing unit 201 divides the predetermined region into a plurality of configuration regions OR1 to OR3, and uses the least square method using pixel values of pixels belonging to the configuration region OR1. Is used to derive the filter coefficient h (1) ij and the offset h (1) offset, and the filter coefficient h (2) ij and the offset h (2) offset are obtained by the least square method using the pixel values of the pixels belonging to the configuration region OR2.
  • the filter coefficient h (3) ij and the offset h (3) offset may be derived by the least square method using the pixel values of the pixels belonging to the configuration region OR3.
  • the filter process part 201 outputs the information which shows the filter coefficient and offset derived
  • the filter processing unit 201 is configured such that, as in the above (Modification 1), the encoding efficiency is further improved by repeating the division into the configuration regions and the derivation of the filter coefficients and the offsets a plurality of times. A combination of area arrangement, filter coefficient and offset values, and the number of taps may be derived.
  • the filter coefficient accumulation unit 202 accumulates the filter coefficient and offset indicated by the filter coefficient information # 201a. More specifically, the filter coefficient storage unit 202 stores at least the filter coefficients assigned to two adjacent constituent regions. When the constituent area is a filter-off area, the filter coefficient to be multiplied by the center pixel of the filter reference area is 1 for the constituent area, and the filter coefficient to be multiplied by pixels other than the center pixel The filter coefficient and the offset are assigned so that the value of 0 is 0 and the offset value is 0.
  • the block noise determination unit 203 refers to the filter coefficient and offset accumulated in the filter coefficient accumulation unit 202, and based on the filter coefficient and offset value assigned to two adjacent constituent regions, the filtered noise image # 201c The magnitude of block noise generated at the boundary between the two constituent areas is determined. More precisely, the block noise determination unit 203 generates block noise at the boundary between the two constituent areas in the filtered image # 201c based on the filter coefficient and the offset value assigned to the two adjacent constituent areas. Determine if the likelihood is high or low.
  • the block noise determination unit 203 may be configured to perform the same operation as the block noise determination unit 102 included in the video decoding device 1 already described.
  • the block noise determination unit 203 outputs information indicating the determination result as determination information # 203.
  • the determination information # 203 corresponds to the determination information # 102 output from the block noise determination unit 102.
  • the block noise determination unit 203 may be configured to selectively perform any one of the determination operations corresponding to the plurality of determination operations shown in (determination operation example 1) to (determination operation example 7).
  • the block noise determination unit 203 may be configured to select a determination operation with higher encoding efficiency for each boundary, for example.
  • the block noise at the boundary B (1, 2) between the configuration area OR1 and the configuration area OR2 (judgment operation example 1) )
  • the determination operation corresponding to (determination operation example 2) is performed on the block noise at the boundary B (2, 3) between the configuration region OR2 and the configuration region OR3, and the configuration region OR3 and the configuration are configured.
  • the determination operation corresponding to (determination operation example 3) may be performed on the block noise at the boundary B (3, 1) with the region OR1.
  • the selection of the determination operation may be performed, for example, for each slice or each frame.
  • the block noise determination unit 203 When the determination operation is selectively performed as described above, the block noise determination unit 203 outputs a flag indicating which determination operation has been performed to the variable length encoding unit 22, and the variable length encoding unit 22 preferably encodes the flag as determination operation designation information.
  • the block noise determination unit 203 may be configured to be able to switch the determination operation on / off for each boundary. For example, in the above example, the block noise determination unit 203 may perform a determination operation on the configuration regions OR1 and OR2, but may not perform a determination operation on the configuration region OR3.
  • the block noise determination unit 203 when switching on / off of the block noise determination operation for each boundary, changes a flag for designating on / off of the block noise determination operation for each boundary. It is preferable to output to the long encoding unit 22 and the variable length encoding unit 22 encodes the flag as determination operation designation information.
  • the block noise determination unit 203 outputs a threshold value used for the determination operation (for example, Th 1 in the determination operation example 1 ) to the variable length encoding unit 22, and the variable length encoding unit 22 specifies the threshold value. It is good also as a structure which encodes information.
  • the block noise determination unit 203 may output the determination information # 203 to the variable length encoding unit 22, and the variable length encoding unit 22 may encode the determination information # 203.
  • the block noise reduction unit 204 refers to the deblocked image # 50, performs block noise reduction processing on pixels located in the vicinity of the boundary between adjacent constituent regions in the filtered image # 201c, and thereby outputs the output image data # 200 is generated and output.
  • the block noise reduction unit 204 may be configured to perform the same operation as the block noise reduction unit 104 included in the video decoding device 1 described above.
  • the output image data # 200 corresponds to the output image data # 100 output from the block noise reduction unit 104, and the filtered image # 201c supplied to the block noise reduction unit 204 is supplied to the block noise reduction unit 104.
  • the adaptive filter 100 including the block noise reduction unit 104 that performs the block noise reduction process on the filtered image # 103 that has been filtered by the filter processing unit 103 has been described.
  • the invention is not limited to such a configuration.
  • filter coefficients and offsets that are less likely to cause block noise are calculated in advance based on the filter coefficients and offsets accumulated in the filter coefficient accumulation unit 101.
  • An adaptive filter that reduces block noise by filtering the deblocked image # 50 using a filter coefficient and an offset, a moving image decoding apparatus including such an adaptive filter, and such an adaptation A moving image encoding apparatus including a filter will be described.
  • the video decoding device 3 generates and outputs a decoded image # 2 by decoding the encoded data # 3. Since the configuration of the encoded data # 3 is the same as that of the encoded data # 1, description thereof is omitted.
  • FIG. 14 is a block diagram showing a configuration of the video decoding device 3 according to the present embodiment.
  • the video decoding device 3 includes an adaptive filter 300 instead of the adaptive filter 100 included in the video decoding device 1 according to the first embodiment.
  • Other configurations of the video decoding device 3 are the same as the configurations of the video decoding device 1.
  • output image data # 300 output from the adaptive filter 300 is supplied to the buffer memory 15 instead of the output image data # 100 in the first embodiment.
  • the adaptive filter 300 includes a filter coefficient accumulation unit 101, a block noise determination unit 102, and a filter processing unit 303.
  • the configurations of the filter coefficient accumulation unit 101 and the block noise determination unit 102 are the same as those described in the first embodiment. However, in the present embodiment, “filtered image # 103” in the description of (determination operation example 1) to (determination operation example 7) by the block noise determination unit 102 of the first embodiment is changed to “filter coefficient # 101”. It is to be read as “image when filtering using the included filter coefficient and offset is performed”.
  • the filter processing unit 303 derives a corrected filter coefficient and offset based on the filter coefficient and offset stored in the filter coefficient storage unit 101, and outputs the deblocked image # 50 using the corrected filter coefficient and offset.
  • Output image data # 300 is generated by filtering the image.
  • the filter processing unit 303 calculates the pixel value S L (x, y) at the coordinates (x, y) of the output image data # 300 by a weighted linear sum represented by the following equation (9). To do.
  • S I (x, y) represents a pixel value at the coordinates (x, y) of the deblocked image # 50.
  • h ′ (i, j) represents a modified filter coefficient derived based on the filter coefficient accumulated in the filter coefficient accumulation unit 101, and the pixel value S I constituting the deblocked image # 50. This is a filter coefficient multiplied by (x + i, y + j).
  • the offset h′offset represents a corrected offset derived based on the offset accumulated in the filter coefficient accumulation unit 101.
  • R in Expression (9) represents the filter reference area, as in R in Expression (4), and is designated by filter parameter information # 13e.
  • the filter coefficient h ′ (x, y) and the offset h′offset in the equation (9) are more accurately performed.
  • h (g) ij ′ and h (g) offset ′ will be expressed.
  • the filter coefficient multiplied by the center pixel of the filter reference area is represented as h (g) center '.
  • the filter processing unit 303 changes the filter coefficient accumulated in the filter coefficient storage unit 101 to a larger filter coefficient for the center pixel, a smaller filter coefficient other than the center pixel, and
  • the filter coefficient is derived by performing at least one of the changes that reduce the offset.
  • the filter processing unit 303 derives the filter coefficient h (g) ij ′ and the offset h (g) offset ′ by the following equations (10a) to (10c).
  • h (g) ij represents a filter coefficient assigned to the configuration region ORg among the filter coefficients accumulated in the filter coefficient accumulation unit 101
  • h (g) offset represents the filter coefficient accumulation unit 101.
  • H (g) center represents a filter coefficient for the center pixel of the filter reference region R in h (g) ij .
  • r is a weighting factor similar to that described using the mathematical expressions (6a) to (6d) in the first embodiment.
  • the weight coefficient r takes a value closer to 0 when the pixel indicated by the coordinates (x, y) is closer to the boundary, and the pixel indicated by the coordinates (x, y) is sufficiently far from the boundary. In this case, the coefficient is 1.
  • FIG. 15 is a diagram for explaining a specific derivation operation of the filter coefficient h ′ (i, j) and the offset h′offset by the filter processing unit 303, and shows two adjacent constituent regions ORg and ORg ′. It is a figure which shows the example of the image which the output image data # 300 shows in the vicinity of boundary B (g, g ') .
  • the configuration area ORg is a filter-on area
  • the configuration area ORg ′ is a filter-off area.
  • NR0 ′ shown in FIG. 15 represents a region having a pixel whose distance d from the boundary B (g, g ′) is 0, that is, a pixel adjacent to the boundary B (g, g ′) .
  • NRn ′ (1 ⁇ n ⁇ 2) represents a region composed of pixels whose distance d from the boundary B (g, g ′) is n
  • NR3 ′ represents the boundary B (g, g ′).
  • region comprised from the pixel whose distance d from is 3 or more is represented.
  • Expression (9) output image data # 300 for the pixels belonging to the region NR1 ′, the region NR2 ′, and the region NR3 ′ is calculated.
  • the filter processing unit 303 more generally uses filter equations h (g) center ′, h (g) using equations (10a) to (10c) into which r determined by equations (7a) to (7b) is substituted. derives a ij 'and offset h (g) offset', the derived filter coefficients h (g) center by using a ', h (g) ij' and offset h (g) formula obtained by substituting the offset '(9)
  • the output image data # 300 for the pixel whose distance from the boundary B (g, g ′) is d may be calculated.
  • the pixel value of the pixel belonging to the configuration area ORg ′ in the image indicated by the output image data # 300 is the corresponding value of the deblocked image # 50. It is the same as the pixel value of the pixel.
  • the filter processing unit 303 that performs the operation of this example is such that the pixel indicated by the coordinates (x, y) (that is, the center pixel of the filter reference region) is the boundary B (g , g ′) , h (g) ij ′ is calculated by multiplying h (g) ij ((i, j) ⁇ center) by a weight coefficient closer to 0.
  • the filter processing unit 303 that performs the operation of the present example is such that the pixel indicated by the coordinates (x, y) is closer to the boundary B (g, g ′) of the configuration area. a, by multiplying the weight coefficient closer to zero h (g) offset, calculates the h (g) offset '.
  • the filter processing unit 303 that performs the operation of the present example uses the filter coefficient h (g) center ′ multiplied by the center pixel of the filter reference region as the boundary of the constituent region. When it is closer to B (g, g ′) , it is calculated to be closer to 1.
  • the filter processing unit 303 in this example stores the deblocked image # 50 in the filter coefficient storage unit 101 when the pixel indicated by the coordinates (x, y) is sufficiently far from the boundary of the configuration area. Filtering is performed using the filter coefficient and offset, and weaker filtering is performed on the deblocked image # 50 as the pixel indicated by the coordinates (x, y) approaches the boundary of the constituent area. Since filtering that causes block noise is weakened in the vicinity of the filter boundary, the filter processing unit 303 in this example can reduce block noise at the boundary of the configuration region.
  • the filter processing unit 303 calculates an intermediate filter coefficient and offset from the two filter coefficients and offset accumulated in the filter coefficient accumulation unit 101, and sets the boundary for pixels near the boundary. An intermediate filtering process between the two filtering processes is performed.
  • the filter processing unit 303 derives the filter coefficient h (g) ij ′ and the offset h (g) offset ′ by the following equations (11a) to (11b).
  • h (g) ij ' r ⁇ h (g) ij + (1 ⁇ r) ⁇ h (g ′) ij (11a)
  • h (g) offset ' r ⁇ h (g) offset + (1 ⁇ r) ⁇ h (g ′) offset (11b)
  • h (g) ij represents a filter coefficient assigned to the configuration region ORg among the filter coefficients accumulated in the filter coefficient accumulation unit 101
  • h (g) offset represents the filter coefficient accumulation unit 101. Represents the offset allocated to the configuration area ORg.
  • h (g ′) ij represents a filter coefficient assigned to the configuration area ORg ′ adjacent to the configuration area ORg among the filter coefficients stored in the filter coefficient storage section 101
  • h (g ′ ) offset represents an offset allocated to the configuration region ORg ′ among the offsets stored in the filter coefficient storage unit 101.
  • r is a weighting factor similar to that described using the mathematical expressions (6a) to (6d) in the first embodiment. Also, r may be determined as shown in equations (7a) to (7b) using a parameter P that specifies the strength of the block noise reduction process.
  • the index (i, j) of the filter coefficient in the mathematical formula (11a) includes a filter coefficient to be multiplied by the center pixel of the filter reference area.
  • the filter processing unit 303 in this example stores the filter coefficient h (g) ij ′ multiplied by each pixel of the deblocked image # 50 in the configuration area ORg in the filter coefficient storage unit 101.
  • the stored filter coefficients h (g) ij assigned to the pixel and the filter coefficient h assigned to the pixel corresponding to the pixel in the configuration area ORg ′ adjacent to the configuration area ORg. (g ′) Calculated by taking a weighted linear sum with ij .
  • the value of the weight coefficient r multiplied by the filter coefficient h (g) ij for each pixel of the deblocked image # 50 in the configuration area ORg is the boundary between the pixel indicated by the coordinates (x, y) and the configuration area ORg ′. It is closer to 0 when it is closer to B (g, g ') .
  • the value of the weight coefficient (1-r) multiplied by the filter coefficient h (g ′) ij for each pixel of the deblocked image # 50 in the constituent area ORg ′ is the pixel indicated by the coordinates (x, y), It is closer to 1 when it is closer to the boundary B (g, g ') with the constituent region ORg'.
  • the value of the weight coefficient r multiplied by the filter coefficient h (g) ij for each pixel of the deblocked image # 50 in the configuration area ORg is the boundary between the pixel indicated by the coordinates (x, y) and the configuration area ORg ′. It is 1 when it is far enough from B (g, g ′) .
  • the filter processing unit 303 in the present example when the pixel indicated by the coordinates (x, y) is sufficiently far from the boundary B (g, g ′) of the configuration area with respect to the deblocked image # 50 in the configuration area ORg. Then, filtering is performed using the filter coefficient h (g) ij assigned to the configuration area ORg, and as the pixel indicated by the coordinates (x, y) approaches the boundary B (g, g ′) of the configuration area, the configuration area ORg Filtering is performed using a filter coefficient closer to the filter coefficient h (g ') ij assigned to ' .
  • the filter processing unit 303 in this example supplies the offset h (g) offset ′ used for the deblocked image # 50 filtering in the configuration region ORg to the filter coefficient storage unit 101.
  • the filter processing unit 303 in the present example when the pixel indicated by the coordinates (x, y) is sufficiently far from the boundary B (g, g ′) of the configuration area with respect to the deblock image # 50 in the configuration area ORg. Then, filtering is performed using the offset h (g) offset assigned to the configuration area ORg, and as the pixel indicated by the coordinates (x, y) approaches the boundary B (g, g ′) of the configuration area, the configuration area ORg ′ Filtering is performed using an offset closer to the offset h (g ′) offset assigned to.
  • the filter processing unit 303 in this example performs similar filtering by filtering performed on the adjacent configuration region via the boundary. Do.
  • the filter processing unit 303 can reduce block noise at the boundary of the configuration area by performing the operation of this example.
  • the filter processing unit 303 performs the same operation as that of the derivation operation example 1.
  • the adaptive filter 300 uses the pixel value in the output image of the target pixel belonging to the target area, which is the unit area for which the filter coefficient vector is set, in the input image composed of a plurality of unit areas.
  • An image filter device that is derived based on pixel values in an input image of a pixel and pixels around the target pixel and a filter coefficient vector set for the target region, wherein the unit region adjacent to the target region
  • a filter coefficient vector is set for a certain adjacent area, a filter coefficient vector set for each of the target area and the adjacent area is specified, and a filter coefficient vector is not set for the adjacent area Includes the filter coefficient vector set for the target region.
  • And specifying means for specifying a predetermined filter coefficient vector, which can be regarded as a filter coefficient vector of an image filter to be applied to the adjacent region, and two specified by the specifying means
  • Filter coefficient vector calculation means for calculating an adjusted filter coefficient vector by taking the average of the filter coefficient vectors, and the pixel value in the output image of the target pixel belonging to the target area
  • a target pixel whose distance from the boundary between the target area and the adjacent area is equal to or less than a predetermined distance is derived using the adjusted filter coefficient vector calculated by the filter coefficient vector calculating means, and the target area and the adjacent area
  • Te is characterized in that it comprises a filter unit (filter processor 303) for deriving using a filter coefficient vector set for the target region.
  • the adaptive filter 300 configured as described above applies a pixel value of a target pixel whose distance from the boundary is equal to or less than a predetermined distance to the target region. Derived using an intermediate filter between the acting filter and the filter acting on the adjacent region, and when the filter coefficient vector is not set for the adjacent region, the distance from the boundary is equal to or less than a predetermined distance The pixel value of the target pixel is derived using an intermediate filter between the filter acting on the target region and the filter defined by the predetermined filter coefficient vector. Therefore, according to the adaptive filter 300 configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, the block distortion at the boundary is reduced. .
  • the filter means can reduce block distortion by a simple process of performing filtering using the adjusted filter coefficient vector calculated by the filter coefficient vector calculating means. Less processing compared to a configuration in which a filtered image is generated by performing filtering using the filter coefficient vector set for each region as it is, and block distortion generated in the filtered image is reduced using a deblocking filter. Block distortion can be reduced by the amount.
  • a predetermined filter coefficient having a strong effect of removing high frequency components that is, a filter coefficient having a low-pass effect
  • the filter coefficient having a strong effect of removing high frequency components that is, a filter coefficient having a low-pass effect.
  • the adaptive filter 300 configured as described above adaptively derives the filter coefficient (and offset), and the derived filter coefficient (and offset) There is a tendency that the effect to remove is weak (that is, the low-pass effect is weak) On without determination of an edge, such as a deblocking filter, a problem that blur occurs in an edge and a high frequency component originally present in the block boundary is less likely to occur by the filter.
  • the filter coefficient and the offset used for the vicinity of the boundary of the unit region are the filter defined by the filter coefficient and the offset that are adaptively obtained for the unit region. Since the filter is an intermediate filter with the filter defined by the filter coefficient and the offset adaptively used for the unit region adjacent to the unit region via the boundary, the edge originally existing at the block boundary by the filter The problem that the high frequency component is blurred is less likely to occur.
  • the adaptive filter 300 it is possible to omit a determination process for the presence or absence of an edge as in the conventional deblocking filter. Therefore, the adaptive filter 300 can reduce block distortion with a small amount of calculation compared with the conventional deblocking filter.
  • the adaptive filter 300 configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, there is an effect that the coding efficiency is improved.
  • the predetermined filter coefficient vector for example, the value of the filter coefficient multiplied by the center pixel of the filter reference area is 1, and the value of the filter coefficient multiplied by a pixel other than the center pixel is 0.
  • a trivial filter coefficient vector whose offset value is 0, or a filter coefficient vector whose difference from such a vector is a predetermined value or less can be used.
  • the average may be a normal arithmetic average, a geometric average, or a weighted average using a predetermined weight coefficient.
  • the filter coefficient storage unit 101 stores the filter coefficients stored in the filter coefficient storage unit 101.
  • the number of taps of the filter coefficient h (g) ij for the constituent area ORg and the filter coefficient h (g ') ij for the constituent area ORg ′ When the number of taps is different from each other, for example, the following processing may be performed.
  • the index (I, J) in the formula (12a) is an index that specifies the filter coefficient assigned to the configuration area ORg ′
  • the index (I ′, J ′) in the formula (12b) is the configuration area.
  • the index that excludes the index that specifies the filter coefficient assigned to the configuration region ORg ′ are examples of the filter coefficient assigned to ORg ′.
  • the index (I, J) in the equation (13a) is an index for specifying the filter coefficient assigned to the configuration region ORg
  • the index (I ′, J ′) in the equation (13b) is the configuration region ORg.
  • the filtering applied to the deblocked image # 50 in the constituent area ORg is the filter coefficient h (g ′) ij assigned to the constituent area ORg ′.
  • the number of taps is the same as the number of taps.
  • the filter processing by the filter processing unit 303 is similar to the block noise reduction unit 104, and realizes filtering that exerts an intermediate change between two filters in contact with the boundary in the vicinity of the boundary of the region. Therefore, as described in the block noise reduction unit 104, not only the subjective image quality can be improved but also the encoding efficiency can be improved.
  • Moving picture coding apparatus 4 that generates the coded data # 3 decoded by the moving picture decoding apparatus 3 will be described with reference to FIG.
  • FIG. 16 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 400 instead of the adaptive filter 200 included in the moving image encoding device 4 according to the first embodiment.
  • Other configurations of the moving image encoding device 4 are the same as the configurations of the moving image encoding device 2.
  • output image data # 400 output from the adaptive filter 400 is supplied to the buffer memory 24 instead of the output image data # 200 in the first embodiment.
  • the adaptive filter 400 includes a filter coefficient deriving unit 401, a filter coefficient accumulating unit 202, a block noise determining unit 203, and a filter processing unit 404.
  • the filter coefficient accumulating unit 202 and the block noise determining unit 203 have been described in the first embodiment, description thereof is omitted here.
  • the filter coefficient storage unit 202 instead of the filter coefficient and offset indicated by the filter coefficient information # 201a described in the first embodiment, the filter coefficient and offset indicated by the filter coefficient information # 401a output from the filter coefficient derivation unit 401 are stored. Is accumulated.
  • the filter coefficient storage unit 202 may be configured to store filter parameter information # 401b in addition to the filter coefficient and the offset.
  • the filter coefficient deriving unit 401 derives the filter coefficient and the offset to be encoded so that the error between the filtered deblocked image and the input image # 10 is minimized.
  • the filter coefficient deriving unit 401 derives the filter coefficient h (i, j) and the offset hoffset by performing the same processing as in steps S1001 to S1003 by the filter processing unit 201 described in the first embodiment. Then, information indicating the derived filter coefficient h (i, j) and offset hoffset is output as filter coefficient information # 401a.
  • the filter coefficient deriving unit 401 also specifies information for specifying the position and size of each unit region, information for specifying the number of taps optimized in step S1002, and information for specifying on / off of filtering (that is, filtering). Information including information indicating whether each unit region is classified as a filter-on region or a filter-off region is output as filter parameter information # 401b.
  • the filter coefficient deriving unit 401 may perform the same processing as the first modification and the second modification of the processing by the filter processing unit 201 described in the first embodiment.
  • the filter coefficient information # 401a and the filter parameter information # 401b output from the filter coefficient deriving unit 401 are encoded by the variable length encoding unit 22.
  • the filter coefficient and the offset indicated by the filter coefficient information # 401 a output from the filter coefficient deriving unit 401 are accumulated in the filter coefficient accumulating unit 202.
  • the filter processing unit 404 derives a corrected filter coefficient and offset based on the filter coefficient and offset stored in the filter coefficient storage unit 202, and uses the corrected filter coefficient and offset to generate the deblocked image # 50.
  • Output image data # 400 is generated by filtering the image.
  • the filter processing unit 404 calculates and outputs the output image data # 400 by performing the same processing as the filter processing unit 303 already described.
  • S L (x, y) in Expression (9) represents a pixel value at the coordinates (x, y) of the output image data # 400
  • the filter reference region R is designated by the filter parameter information # 401b. Shall be.
  • 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).
  • the image filter device is a pixel in an output image of a target pixel belonging to a target region that is a unit region for which a filter coefficient vector is set in an input image composed of a plurality of unit regions.
  • An image filter device that derives a value based on a pixel value in an input image of the target pixel and pixels around the target pixel and a filter coefficient vector set for the target region, When a filter coefficient vector is set for an adjacent area that is an adjacent unit area, the filter coefficient vector set for each of the target area and the adjacent area is specified, and the filter coefficient vector is set for the adjacent area.
  • the filter function set for the target area A specifying means for specifying a predetermined filter coefficient vector, which can be regarded as a filter coefficient vector of an image filter to be applied to the adjacent region, as well as specifying a vector, and two filter coefficient vectors specified by the specifying means
  • Filter coefficient vector calculation means for calculating an adjusted filter coefficient vector by taking an average, and the pixel value in the output image of the target pixel belonging to the target area, the distance from the boundary between the target area and the adjacent area
  • the target pixel is derived using the adjusted filter coefficient vector calculated by the filter coefficient vector calculating means, and the distance from the boundary between the target area and the adjacent area is the predetermined distance.
  • the filter means for deriving using a filter coefficient vector in that it comprises that.
  • the pixel value in the output image of the target pixel whose distance from the boundary is equal to or less than a predetermined distance is used when the filter coefficient vector is set for the adjacent region.
  • the filter coefficient vector after the adjustment is obtained by taking the average of the filter coefficient vectors set for each of the target area and the adjacent area, and the filter coefficient vector is set for the adjacent area. If not, the filter coefficient vector is derived using the adjusted filter coefficient vector obtained by averaging the filter coefficient vector set for the target area and the predetermined filter coefficient vector.
  • the image filter device configured as described above when a filter coefficient vector is set for the adjacent region, calculates a pixel value of a target pixel whose distance from the boundary is equal to or less than a predetermined distance.
  • the distance from the boundary is equal to or less than a predetermined distance Is derived using an intermediate filter between the filter acting on the target region and the filter defined by the predetermined filter coefficient vector. Therefore, according to the image filter device configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, the block distortion at the boundary is reduced. .
  • the filter means can reduce block distortion by a simple process of performing filtering using the adjusted filter coefficient vector calculated by the filter coefficient vector calculation means. Compared to a configuration in which a filtered image is generated once by filtering using the filter coefficient vector as it is and the block distortion generated in the filtered image is reduced using a deblocking filter, the block distortion is reduced with a small amount of processing. can do.
  • the image filter device configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, there is an effect that the coding efficiency is improved.
  • the predetermined filter coefficient vector for example, the value of the filter coefficient multiplied by the center pixel of the filter reference area is 1, and the value of the filter coefficient multiplied by a pixel other than the center pixel is 0.
  • a trivial filter coefficient vector whose offset value is 0, or a filter coefficient vector whose difference from such a vector is a predetermined value or less can be used.
  • the average may be a normal arithmetic average, a geometric average, or a weighted average using a predetermined weight coefficient.
  • the filter coefficient vector calculation means in the image filter device sets a smaller weight coefficient for the target region as the distance from the boundary of the target pixel is smaller for each target pixel belonging to the target region.
  • a weighted average which is a linear sum of the two filter coefficient vectors multiplied by the filter coefficient vector of the image filter that multiplies the filter coefficient vector being applied and a larger weight coefficient on the adjacent region. It is preferable to calculate an adjusted filter coefficient vector by taking the adjustment.
  • the adjusted filter coefficient vector is obtained by multiplying the filter coefficient vector of the image filter that acts on the adjacent region by a large weight coefficient and taking a weighted average that is a linear sum of the two filter coefficient vectors multiplied by the weight coefficient. Since the calculation is performed, a filter closer to the filter acting on the adjacent region is applied to the target pixel closer to the boundary.
  • the change in the image characteristics of the output image around the boundary becomes smoother, so that block distortion can be reduced more effectively.
  • the change of the image characteristic of the output image in the periphery of the said boundary becomes smoother, the further effect that encoding efficiency improves more is also show
  • the image filter device further includes a determination unit that determines the intensity of block distortion at the boundary with reference to the two filter coefficient vectors specified by the specifying unit.
  • the filter unit includes: If the pixel value in the output image of the target pixel whose distance from the boundary is equal to or less than a predetermined distance, the block distortion intensity at the boundary determined by the determination means is greater than a predetermined intensity, Derived using the adjusted filter coefficient vector calculated by the filter coefficient vector calculating means, and if not, derived using the filter coefficient vector set for the target region to which the target pixel belongs. Is preferred.
  • the block distortion reduction processing is performed only when the intensity of the block distortion is larger than a predetermined value by the determination unit, the processing amount is reduced. Block distortion reduction processing can be performed effectively.
  • the filter means in the image filter device according to the present invention sets the predetermined distance for each target region so as to have a positive correlation with the intensity of the block distortion determined by the determination means. Is preferred.
  • the filter means sets the predetermined distance so as to have a positive correlation with the intensity of the block distortion determined by the determination means. Therefore, the block determined by the determination means The block reduction process can be performed in a wider area as the strain intensity is larger. Therefore, according to said structure, block distortion can be reduced more effectively.
  • the image filter device derives a pixel value in an output image of a target pixel belonging to a target region that is a unit region for which a filter coefficient vector is set in an input image composed of a plurality of unit regions.
  • An image filter device that performs processing based on a pixel value in an input image of a target pixel belonging to the target region and pixels around the target pixel, and a filter coefficient vector set for the target region.
  • a filter means for deriving a pixel value in the filtered image of the target pixel; and after adjusting the target pixel by taking an average of the pixel value in the input image of the target pixel and the pixel value in the filtered image of the target pixel
  • a pixel value calculating means for calculating a pixel value of the target area, and the target area and a unit area adjacent to the target area
  • the adjusted pixel value calculated by the pixel value calculation unit is set as the pixel value in the output image of the target pixel, and the boundary
  • a pixel value setting means for setting a pixel value in the filtered image to a pixel value in an output image of the target pixel for a target pixel whose distance from the target is greater than the predetermined distance .
  • a pixel value in the output image of the target pixel whose distance from the boundary is equal to or less than a predetermined distance, a pixel value in the input image of the target pixel, and the target It is calculated by taking the average of the pixel values in the filtered image of the pixels.
  • This is equivalent to applying a weaker filter than the filter defined by the filter coefficient vector to a region where the distance from the boundary of the target pixel is a predetermined distance or less. Therefore, according to the above configuration, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, block distortion can be reduced.
  • the block distortion is reduced by a simple process of averaging the pixel value in the input image of the target pixel and the pixel value in the filtered image of the target pixel. Can be reduced.
  • the image filter configured as described above, since the discontinuous change in the image characteristics of the output image around the boundary is suppressed, there is an effect that the coding efficiency is improved.
  • the average may be a normal arithmetic average, a geometric average, or a weighted average using a predetermined weight coefficient.
  • the pixel value calculation means sets a smaller weight coefficient for the target pixel as the distance from the boundary of the target pixel is smaller for each target pixel belonging to the target region.
  • the said pixel value calculation means makes a smaller weighting coefficient in the said filtered image of the said target pixel, so that the distance from the said boundary of a target pixel is small for every target pixel which belongs to the said target area.
  • the change in the image characteristics of the output image around the boundary becomes smoother, so that block distortion can be reduced more effectively.
  • the change of the image characteristic of the output image in the periphery of the said boundary becomes smoother, the further effect that encoding efficiency improves more is also show
  • the image filter device when a filter coefficient vector is set for the adjacent area, a filter coefficient vector set for the target area and a filter coefficient vector set for the adjacent area The block distortion strength at the boundary is determined, and when the filter coefficient vector is not set for the adjacent area, the filter coefficient vector set for the target area is referred to and applied to the adjacent area.
  • a determination unit that determines a block distortion strength at the boundary with reference to a predetermined filter coefficient vector that can be regarded as a filter coefficient vector of an image filter to be performed, and the pixel value setting unit includes: , From the boundary between the target area and the adjacent area For a target pixel whose separation is equal to or less than a predetermined distance, when the intensity of block distortion at the boundary determined by the determination unit is greater than a predetermined intensity, the adjusted pixel calculated by the pixel value calculation unit Is set to the pixel value in the output image of the target pixel, and if not, the pixel value in the filtered image of the target pixel is set to the pixel value in the output image of the target pixel.
  • the pixel value setting unit includes: , From the boundary between the target area and the adjacent area For a target pixel whose separation is equal to or less than a predetermined distance, when the intensity of block distortion at the boundary determined by the determination unit is greater than a predetermined intensity, the adjusted pixel calculated by the pixel value calculation unit
  • the block distortion reduction processing is performed only when the intensity of the block distortion is larger than a predetermined value by the determination unit, the processing amount is reduced. Block distortion reduction processing can be performed effectively.
  • the pixel value setting unit sets the predetermined distance for each target region so as to have a positive correlation with the intensity of the block distortion determined by the determination unit.
  • the pixel value setting means sets the predetermined distance so as to have a positive correlation with the intensity of the block distortion determined by the determination means. As the block distortion strength increases, the block reduction process can be performed over a wider area. Therefore, according to said structure, block distortion can be reduced more effectively.
  • a decoding apparatus comprising the image filter and causing the image filter to act on a decoded image, and a decoding device comprising the image filter and causing the image filter to act on a locally decoded image.
  • Encoding devices are also included in the scope of the present invention.
  • the unit area In a block distortion determination apparatus for determining the intensity of block distortion generated in a filtered image obtained by applying an image filter using a filter coefficient vector set for the unit regions adjacent to each other, which are objects of determination When filter coefficient vectors are set for both, the filter coefficient vector set for each of the adjacent unit areas is specified, and the filter coefficient is applied to only one of the adjacent unit areas that is the object of the determination.
  • a block distortion determination apparatus comprising: a determination unit that refers to two filter coefficient vectors and determines the intensity of block distortion generated between adjacent unit regions, which is a target of the determination.
  • the determination means calculates a difference between the filter coefficients included in the two filter coefficient vectors for each filter coefficient vector, and based on the difference between the filter coefficients for each filter coefficient vector, the block distortion strength 2.
  • the determination means calculates a sum of absolute values of differences between filter coefficients corresponding to each other among filter coefficients included in the two filter coefficient vectors, and based on a sum of absolute values of differences between the corresponding filter coefficients.
  • the block distortion determination device according to 1 above, wherein the block distortion intensity is determined.
  • the determination means calculates a weighted sum of the absolute value of the difference between the offsets included in the two filter coefficient vectors and the absolute value of the difference between the filter coefficients included in the two filter coefficient vectors for each filter coefficient vector. 2. The block distortion determination device according to item 1, wherein the block distortion intensity is calculated and the intensity of the block distortion is determined based on the weighted sum.
  • the determination means includes an absolute value of an offset difference included in the two filter coefficient vectors and a total sum of absolute values of differences between filter coefficients corresponding to each other among the filter coefficients included in the two filter coefficient vectors. 2.
  • the block distortion determination apparatus according to 1 above, wherein a weighted sum is calculated, and the intensity of the block distortion is determined based on the weighted sum.
  • a decoding device characterized by:
  • the block distortion determination device determines the intensity of block distortion generated in a filtered image obtained by applying an image filter to a locally decoded image.
  • An encoding device characterized by determining.
  • the present invention can be suitably applied to an image filter device that performs image filtering.
  • Video decoding device (decoding device) 50 Deblocking filter 100 Adaptive filter (image filter) 101 Filter coefficient storage unit 102 Block noise determination unit (determination means) 103 Filter processing section (filter means) 104 Block noise reduction unit (filter means, pixel value calculation means, pixel value setting means) 2 Video encoding device (encoding device) 200 Adaptive filter (image filter) 201 Filter processing section (filter means) 202 Filter coefficient storage unit 203 Block noise determination unit (determination means) 204 Block noise reduction unit (filter means, pixel value calculation means, pixel value setting means) 3 Video decoding device (decoding device) 300 Adaptive filter (image filter) 303 Filter processing unit (identifying means, filter coefficient vector calculating means, filter means) 4 Video encoding device (encoding device) 400 Adaptive filter (image filter) 401 Filter coefficient deriving section 404 Filter processing section (identifying means, filter coefficient vector calculating means, filter means)

Landscapes

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

Abstract

 適応フィルタ(300)は、デブロック画像(#50)において、フィルタ係数ベクトルが設定されている対象領域に隣接する隣接領域についてフィルタ係数ベクトルが設定されている場合には、当該対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルを特定し、そうでない場合には、上記対象領域について設定されているフィルタ係数ベクトルおよび予め定められたフィルタ係数ベクトルを特定し、また、特定した2つのフィルタ係数ベクトルの平均をとることにより、調整後のフィルタ係数ベクトルを算出し、さらに、上記対象領域と上記隣接領域との境界からの上記対象領域における対象画素の距離が所定の距離以下である場合に、上記対象画素の出力画像データ(#300)における画素値を、フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出する。

Description

画像フィルタ装置、符号化装置、および、復号装置
 本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、そのような画像フィルタを備えている符号化装置、および、復号装置に関する。
 動画像を効率的に伝送または記録するために、動画像符号化装置が用いられている。具体的な動画像符号化方式としては、例えば、H.264/MPEG-4.AVC(非特許文献1)、および、KTAソフトウェアに採用されている方式などが挙げられる。
 このような符号化方式において、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られるマクロブロック、及び、マクロブロックを分割することより得られるブロックからなる階層構造により管理され、普通、ブロックごとに符号化される。
 非特許文献2には、復号画像に対しフィルタリングを行うBALF(Block-based Adaptive Loop Filter)と呼ばれるフィルタが開示されている。図16は、当該BALFを備えている動画像復号装置の構成を示すブロック図である。
 動画像符号化装置におけるBALFは、符号化対象画像を変換および逆変換して得られる復号画像にデブロッキングフィルタを作用させて得られるデブロック画像上のスライスごとに、BALFが適用されたデブロック画像と原画像との誤差が最小となるフィルタ係数を定め、ブロック毎に当該フィルタ係数を用いたフィルタリングを施すか否かを制御するものである。また、動画像復号装置おけるBALFは、符号化データに含まれるフラグを参照し、復号画像にデブロッキングフィルタを作用させて得られるデブロック画像に対して、上記フィルタ係数を用いたフィルタリングを施すか否かを制御するものである。
 上記BALFによるフィルタリングにおいては、対象画素の画素値が、復号画像における参照領域(フィルタ参照領域)に属する各画素の画素値の、フィルタ係数を重みとした加重和にオフセットを加算することにより算出される。また、フィルタリングに用いられるフィルタ係数およびオフセットは、フィルタ係数ベクトルを構成する。
「ITU-T Recommendation H.264」,Telecommunication Standardization Sector of ITU,11/2007(2007年11月公開) 「VCEG-AI18」,Telecommunication Standardization Sector,35th Mee-ting:Berlin,Germany,07/2008(2008年7月公開)
 本発明者は、上記BALFが適用された復号画像においては、フィルタリングが施されたブロックとフィルタリングが施されなかったブロックとの境界にブロック歪み(ブロックノイズ)が発生し、主観的な画質が低下する傾向があることを見出した。
 また、ブロック毎に異なったフィルタ係数ベクトルを用いてフィルタリングを施すような構成においても、同様に、ブロックの境界にブロック歪みが発生し、主観的な画質が低下する傾向があるという知見を得た。
 上記ブロック歪みを低減するためには、例えば、H.264/MPEG-4.AVCに採用されているデブロッキングフィルタを上記BALFの後段に設け、当該デブロッキングフィルタにより、ブロック歪み低減処理を行うことが考えられる。
 しかしながら、上記デブロッキングフィルタは、デブロック画像における1つの画素値を、ブロック境界の近傍に位置する複数の画素の画素値を用いて算出するものであるため、BALFによって生じたブロック歪みを低減するための処理量が膨大になるという問題がある。
 本発明は、上記の問題に鑑みてなされたものであり、その目的は、デブロッキングフィルタを用いる場合に比べて少ない処理量で、ブロック歪みを低減することのできる画像フィルタを実現することにある。
 上記の問題を解決するために、本発明に係る画像フィルタ装置は、複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を、当該対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて導出する画像フィルタ装置であって、上記対象領域に隣接する単位領域である隣接領域についてフィルタ係数ベクトルが設定されている場合には、上記対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルを特定し、当該隣接領域についてフィルタ係数ベクトルが設定されていない場合には、上記対象領域について設定されているフィルタ係数ベクトルを特定すると共に、当該隣接領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルを特定する特定手段と、上記特定手段が特定した2つのフィルタ係数ベクトルの平均をとることにより、調整後のフィルタ係数ベクトルを算出するフィルタ係数ベクトル算出手段と、上記対象領域に属する対象画素の出力画像における画素値を、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素については、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、上記対象領域と上記隣接領域との境界からの距離が上記所定の距離より大きい対象画素については、上記対象領域について設定されているフィルタ係数ベクトルを用いて導出するフィルタ手段と、を備えていることを特徴としている。
 上記のように構成された画像フィルタ装置は、上記境界からの距離が所定の距離以下である上記対象画素の出力画像における画素値を、上記隣接領域についてフィルタ係数ベクトルが設定されている場合には、上記対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルの平均をとることによって得られる上記調整後のフィルタ係数ベクトルを用いて導出し、上記隣接領域についてフィルタ係数ベクトルが設定されていない場合には、上記対象領域について設定されているフィルタ係数ベクトルと上記予め定められたフィルタ係数ベクトルとの平均をとることによって得られる上記調整後のフィルタ係数ベクトルを用いて導出する。すなわち、上記のように構成された画像フィルタ装置は、上記隣接領域についてフィルタ係数ベクトルが設定されているときに、上記境界からの距離が所定の距離以下である対象画素の画素値を、上記対象領域に作用するフィルタと上記隣接領域に作用するフィルタとの中間的なフィルタを用いて導出し、上記隣接領域についてフィルタ係数ベクトルが設定されていないときに、上記境界からの距離が所定の距離以下である対象画素の画素値を、上記対象領域に作用するフィルタと上記予め定められたフィルタ係数ベクトルによって規定されるフィルタとの中間的なフィルタを用いて導出する。したがって、上記のように構成された画像フィルタ装置によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、上記境界におけるブロック歪みが低減されるという効果を奏する。
 また、上記フィルタ手段は、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いてフィルタリングを行うという単純な処理によってブロック歪みを低減することができるので、各領域について設定されたフィルタ係数ベクトルをそのまま用いてフィルタリングを行うことによってフィルタ済画像を一旦生成し、当該フィルタ済画像に生じるブロック歪みをデブロッキングフィルタを用いて低減させる構成に比べて、少ない処理量でブロック歪みを低減することができる。
 また、上記のように構成された画像フィルタ装置によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、符号化効率が向上するという効果も奏する。
 なお、上記予め定められたフィルタ係数ベクトルとしては、例えば、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、当該中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるような自明なフィルタ係数ベクトル、または、そのようなベクトルとの差が所定の値以下であるフィルタ係数ベクトルを用いることができる。
 また、上記平均は、通常の相加平均であってもよいし、相乗平均であってもよいし、所定の重み係数を用いた加重平均であってもよい。
 また、本発明に係る画像フィルタ装置は、複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を導出する画像フィルタ装置であって、上記対象領域に属する対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて、当該対象画素のフィルタ済画像における画素値を導出するフィルタ手段と、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることによって、上記対象画素の調整後の画素値を算出する画素値算出手段と、上記対象領域と当該対象領域に隣接する単位領域である隣接領域との境界からの距離が所定の距離以下である対象画素については、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、上記境界からの距離が上記所定の距離より大きい対象画素については、上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する画素値設定手段と、を備えていることを特徴としている。
 上記のように構成された画像フィルタ装置によれば、上記境界からの距離が所定の距離以下である上記対象画素の出力画像における画素値を、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることにより算出する。これは、上記対象画素の上記境界からの距離が所定の距離以下である領域に対して、上記フィルタ係数ベクトルによって規定されるフィルタよりも弱いフィルタを作用させることと同等である。したがって、上記の構成によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、ブロック歪みを低減することができる。
 すなわち、上記のように構成された画像フィルタによれば、当該対象画素の入力画像における画素値と、当該対象画素の上記フィルタ済画像における画素値との平均をとるという単純な処理によってブロック歪みを低減することができる。
 また、上記のように構成された画像フィルタによれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、符号化効率が向上するという効果も奏する。
 なお、上記平均は、通常の相加平均であってもよいし、相乗平均であってもよいし、所定の重み係数を用いた加重平均であってもよい。
 また、上記画像フィルタを備え、復号画像に上記画像フィルタを作用させる、ことを特徴とする復号装置、および、上記画像フィルタを備え、局所復号画像に上記画像フィルタを作用させる、ことを特徴とする符号化装置も本発明の範疇に含まれる。
 以上のように、本発明に係る画像フィルタ装置は、複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を、当該対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて導出する画像フィルタ装置であって、上記対象領域に隣接する単位領域である隣接領域についてフィルタ係数ベクトルが設定されている場合には、上記対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルを特定し、当該隣接領域についてフィルタ係数ベクトルが設定されていない場合には、上記対象領域について設定されているフィルタ係数ベクトルを特定すると共に、当該隣接領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルを特定する特定手段と、上記特定手段が特定した2つのフィルタ係数ベクトルの平均をとることにより、調整後のフィルタ係数ベクトルを算出するフィルタ係数ベクトル算出手段と、上記対象領域に属する対象画素の出力画像における画素値を、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素については、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、上記対象領域と上記隣接領域との境界からの距離が上記所定の距離より大きい対象画素については、上記対象領域について設定されているフィルタ係数ベクトルを用いて導出するフィルタ手段と、を備えている。
 また、本発明に係る画像フィルタ装置は、複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を導出する画像フィルタ装置であって、上記対象領域に属する対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて、当該対象画素のフィルタ済画像における画素値を導出するフィルタ手段と、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることによって、上記対象画素の調整後の画素値を算出する画素値算出手段と、上記対象領域と当該対象領域に隣接する単位領域である隣接領域との境界からの距離が所定の距離以下である対象画素については、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、上記境界からの距離が上記所定の距離より大きい対象画素については、上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する画素値設定手段と、を備えている。
 上記のように構成された画像フィルタによれば、デブロッキングフィルタを用いる場合に比べて少ない処理量で、ブロック歪みを低減することができる。
第1の実施形態に係る動画像復号装置の構成を示すブロック図である。 スライスを構成する構成領域の例を示す図であって、(a)は、2つの構成領域のうち一方がフィルタオン領域であり、他方がフィルタオフ領域である場合を示すものであり、(b)は、3つの構成領域の何れもフィルタオン領域である場合を示すものである。 第1の実施形態に係る動画像復号装置が備える適応フィルタによる第1の判定動作の流れを示すフローチャートである。 隣接する2つの構成領域に割り付けられたオフセットの例を示す図であって、(a)は、隣接する2つの構成領域の各々に割り付けられたオフセットの差分絶対値が、閾値以下である場合を示すものであり、(b)は、隣接する2つの構成領域の各々に割り付けられたオフセットの差分絶対値が、閾値よりも大きい場合を示すものである。 画素値のビット深度が8ビットである複数のフレームの各々に割り付けられたオフセットの値をプロットした図である。 第1の実施形態に係る動画像復号装置が備える適応フィルタによる第2の判定動作の流れを示すフローチャートである。 第1の実施形態に係る動画像復号装置が備える適応フィルタによる第3の判定動作の流れを示すフローチャートである。 第1の実施形態に係る動画像復号装置が備える適応フィルタによる第4の判定動作の流れを示すフローチャートである。 第1の実施形態に係る動画像復号装置が備える適応フィルタによる第5の判定動作の流れを示すフローチャートである。 第1の実施形態に係る動画像復号装置が備える適応フィルタによる第8の判定動作の流れを示すフローチャートである。 適応フィルタが備えるブロックノイズ低減部によるブロックノイズ低減処理の例を示す図であって、(a)は、隣接する2つの構成領域の境界の近傍におけるデブロック画像の例を示すものであり、(b)は、当該境界の近傍におけるフィルタ済画像の例を示す図であり、(c)は、当該境界の近傍における出力画像データの示す画像の例を示すものである。 第1の実施形態に係る動画像符号化装置の構成を示すブロック図である。 第1の実施形態に係る動画像符号化装置が生成する符号化データの構成を説明するための図であって、(a)は、符号化データのスライスごとのビットストリームを示すものであり、(b)は、符号化データに含まれるフィルタ係数情報の構成の一例を示すものである。 第2の実施形態に係る動画像復号装置の構成を示すブロック図である。 第2の実施形態に係る動画像復号装置における適応フィルタが備えるフィルタ処理部の動作を説明するための図であって、隣接する2つの構成領域の境界の近傍における出力画像データの示す画像の例を示すものである。 第2の実施形態に係る動画像符号化装置の構成を示すブロック図である。 非特許文献2に記載された動画像復号装置の構成を示すブロック図である。
 〔実施形態1〕
 (符号化データ#1の構成)
 本実施形態に係る動画像復号装置1の説明に先立ち、本実施形態に係る動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成について、図13(a)~(b)を参照して説明する。
 図13(a)は、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1のスライスごとのビットストリーム#BSを示す図である。ここで、スライスとは、フレームを構成する1または複数の領域であり、各スライスは、複数のマクロブロックから構成され、各マクロブロックは複数のブロックから構成される。
 図13(a)に示すように、ビットストリーム#BSは、フィルタ関連情報FI、マクロブロック情報MB1~MBNm(Nmはスライスに含まれるマクロブロックの総数)を含んでいる。
 マクロブロック情報MB1~MBNmは、スライスに含まれる各マクロブロックに関する情報であり、動きベクトル情報MV、量子化予測残差情報QD、および、動きベクトル情報以外のサイド情報SIなどが含まれている。
 また、動きベクトル情報MVとは、動画像復号装置1において、動きベクトルを復号するために参照される情報であり、復号された動きベクトルは、インター予測画像を生成するために用いられる。
 また、量子化予測残差情報QDは、動画像復号装置1において、復号画像を生成する際に、予測画像に対して加算される残差画像を示す量子化予測残差データを含む情報である。
 また、サイド情報SIには、動画像復号装置1において復号画像を生成する際に参照される各種の情報が含まれる。より具体的には、サイド情報SIには、画面内予測によって生成されるイントラ予測画像、または、画面間予測によって生成されるインター予測画像の何れか一方を選択するために参照される予測モード情報、マクロブロックを構成するブロックの数、各ブロックのサイズ、および、マクロブロック内における各ブロックの位置を示す情報などを含むブロック分割情報、各ブロックが双方向予測されたブロックであるのか、または、単方向予測されたブロックであるかを示す予測方向情報、各マクロブロックにスキップモードが適用されているか否かを示すスキップ情報、予測画像を生成する際に参照される参照画像を指定する参照画像インデックス、重み付け予測を行う際の重みを指定する重み情報、および、各ブロックに関連付けられた量子化パラメータQPを示す量子化パラメータ情報が含まれる。
 図13(b)は、フィルタ関連情報FIの構成の一例を示す図である。図13(b)に示すように、フィルタ関連情報FIには、動画像復号装置1においてスライスのフィルタリングに用いられるフィルタ係数およびオフセットを示すフィルタ係数情報FC、および、フィルタパラメータ情報FPが含まれている。
 また、フィルタパラメータ情報FPとは、フィルタリングのタップ数を指定するタップ数情報、および、フィルタリングのオン/オフを指定するフィルタオン/オフ情報を含む情報である。
 ここで、タップ数情報の具体的な形式は、本実施形態を限定するものではないが、例えば、3×3タップでに対して“00”をとり、5×5タップに対して“01”をとり、7×7タップに対して“10”をとり、9×9タップに対して“11”をとる2ビットの情報によって表現される。
 また、フィルタオン/オフ情報は、スライスを構成する複数の単位領域の各々についてフィルタリングを行うか否かを指定する情報であり、領域を示す情報と、その領域毎にオンオフを示す情報とから構成される。ここで、オンオフを示す情報は、例えば、フィルタリングの対象となる領域に対して“1”をとり、そうでない領域に対して“0”をとる1ビットの情報によって表現される。一方で、領域を示す情報とは、例えば、当該領域が予め定められた所定のサイズの領域であることを示す情報、若しくは、当該領域が、四分木(Quad-tree)によって分類された複数の階層のうち、何れの階層に属するものであるかを示す情報である。単位領域とは、マクロブロックであってもよいし、ブロックであってもよいし、ブロックよりも小さな領域であってもよい。なお、単位領域は、複数の画素から構成されていてもよいし、単一の画素から構成されていてもよい。
 また、フィルタ係数情報FCには、輝度値および色差のビット深度情報を含むことができる。ビット深度とは、値の範囲を示すための情報であり、例えばビット深度がNの場合には、輝度値、色差値の範囲は0から2のN乗-1までになる。また、フィルタ係数情報FCには、フィルタ係数およびオフセットの量子化の粗さを指定するフィルタ量子化情報を含むことができる。フィルタ量子化情報を含まない場合には固定の量子化ステップ、例えば8ビットの量子化を用いるものとする。
 なお、フィルタ係数情報FCが、フィルタ係数およびオフセットのセットを複数含むと共に、フィルタパラメータ情報FPが、スライスを構成する各領域に対して、何れのセットを用いるべきかを指定する情報を含む場合もある。このような場合、動画像復号装置1は、それぞれのセットを用いて、スライスを構成する各領域に対して異なったフィルタリングを行うことができる。
 また、図13(b)に示すように、フィルタ関連情報FIは、動画像復号装置1にて、ブロックノイズの大きさを判定する際に参照される閾値を示す閾値情報を含む構成としてもよい。
 また、フィルタ関連情報FIは、動画像復号装置1にて、ブロックノイズの大きさを判定するための複数の判定動作のうち、何れかの判定動作を指定するために参照される判定動作指定情報を含む構成としてもよい。また、判定動作指定情報は、動画像復号装置1にて、ブロックノイズの判定動作のオン/オフを切り替える際に参照される判定動作オン/オフ情報を含む構成としてもよい。また、判定に用いる閾値を含む構成や、閾値を指定するためのインデックスを含む構成としてもよい。
 (動画像復号装置1)
 以下では、本発明の第1の実施形態に係る動画像復号装置1(復号装置)について図1~図11を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG-4 AVC、および、KTAソフトウェアに採用されている技術を含む復号装置である。
 図1は、動画像復号装置1の構成を示すブロック図である。図1に示すように、動画像復号装置1は、可変長符号復号部13、動きベクトル復元部14、バッファメモリ15、インター予測画像生成部16、イントラ予測画像生成部17、予測方式決定部18、逆量子化・逆変換部19、加算器20、デブロッキングフィルタ50、および、適応フィルタ100を備えている。
 動画像復号装置1は、符号化データ#1を復号することによって復号画像#2を生成し、出力する。動画像復号装置1による復号画像#2の生成は、フレームを構成するマクロブロック単位、または、マクロブロックを構成するブロック単位で行われる。
 以下では、復号の対象となるフレーム、マクロブロック、および、ブロックをそれぞれ、対象フレーム、対象マクロブロック、対象ブロックと呼ぶことにする。
 なお、マクロブロックのサイズは、例えば16×16画素であり、ブロックのサイズは、例えば4×4画素であるが、これらのサイズは本実施形態を限定するものではなく、マクロブロックのサイズを16×32画素、32×16画素、または、32×32画素などとしてもよいし、ブロックのサイズを4×8画素、8×4画素、または、8×8画素などとしてもよい。
 可変長符号復号部13は、符号化データ#1を可変長復号し、差分動きベクトル#13a、サイド情報#13b、量子化予測残差データ#13c、フィルタ係数情報#13d、および、フィルタパラメータ情報#13eを出力する。
 ここで、差分動きベクトル#13aおよびサイド情報#13bは、それぞれ、符号化データ#1に含まれる動きベクトル情報MVおよびサイド情報SIを可変長復号することによって得られるものであり、量子化予測残差データ#13c、フィルタ係数情報#13d、および、フィルタパラメータ情報#13eは、それぞれ、符号化データ#1に含まれる量子化予測残差情報QD、フィルタ係数情報FC、および、フィルタパラメータ情報FPを可変長復号することによって得られるものである。
 以下では、フィルタ係数情報#13dは、各フレーム上の1または複数の領域に割り付けられたフィルタ係数群およびオフセットを指定する情報から構成されているものとする。フィルタ係数情報#13dについては後述するため、ここではその詳細な説明を省略する。
 また、フィルタパラメータ情報#13eには、フィルタ係数情報#13dの示すフィルタ係数を用いたフィルタリングの対象となる領域の位置およびサイズを指定する情報、フィルタリングのタップ数を指定する情報、および、フィルタリングのオン/オフを指定する情報などが含まれるものとする。
 動きベクトル復元部14は、差分動きベクトル#13a、および、すでに復号され、バッファメモリ15に格納された動きベクトル#15aから、対象ブロックに対する動きベクトル#14を復号する。
 バッファメモリ15には、適応フィルタ100から出力される出力画像データ#100、動きベクトル#14、および、サイド情報#13bが格納される。
 インター予測画像生成部16は、動きベクトル復元部14によって復号され、バッファメモリ15を経由した動きベクトル#15c、および、バッファメモリ15に格納された参照画像#15dに基づいて、インター予測画像#16を生成する。ここで、インター予測画像#16の生成は、例えば、マクロブロック単位、または、ブロック単位で行われる。なお、動きベクトル#15cは、動きベクトル#14と同一の動きベクトルであってもよい。なお、参照画像#15dは、後述する適応フィルタ100から出力され、バッファメモリ15に格納された出力画像データ#100の示す画像であって、フレーム全体が復号された画像に対応している。
 イントラ予測画像生成部17は、バッファメモリ15に格納された局所復号画像#15bから、イントラ予測画像#17を生成する。より具体的には、イントラ予測画像生成部17は、イントラ予測画像#17の対象マクロブロック上の画像を、当該予測対象マクロブロックと同じフレーム内の局所復号画像#15bを用いて生成する。
 予測方式決定部18は、サイド情報#13bに含まれる予測モード情報に基づいて、イントラ予測画像#17、または、インター予測画像#16のうち、何れか一方を選択し、予測画像#18として出力する。
 逆量子化・逆変換部19には、量子化予測残差データ#13cが、ブロック単位で供給される。
 逆量子化・逆変換部19は、量子化予測残差データ#13cを逆量子化することによって、周波数成分へ変換し、さらに、当該周波数成分に対して逆DCT(Discrete Cosine Transform)変換を施すことによって、予測残差#19を生成し、出力する。
 加算器20は、予測残差#19と予測画像#18とを加算することによって復号画像#2を生成し、出力する。また、出力された復号画像#2は、デブロッキングフィルタ50に対しても供給される。
 デブロッキングフィルタ50は、復号画像#2に対して、ブロック境界またはマクロブロック境界におけるブロック歪を低減するためのデブロッキング処理を施す。デブロッキング処理が施された画像データは、デブロック画像#50として出力される。
 適応フィルタ100は、符号化データ#1から復号されたフィルタ係数情報#13dに基づいてフィルタ係数を算出し、デブロック画像#50に対して当該フィルタ係数を用いたフィルタリングを行うことによって出力画像データ#100を生成する。出力画像データ#100は、バッファメモリ15に対して供給される。なお、適応フィルタ100におけるフィルタリング処理は、符号化データ#1から復号されたサイド情報#13bおよびフィルタパラメータ情報#13eを参照して行われる。適応フィルタ100の構成については、後述するためここでは説明を省略する。
 (フィルタ係数情報#13d)
 続いて、可変長符号復号部13によって符号化データ#1より復号されたフィルタ係数情報#13dについて、より具体的に説明する。
 まず、以下では、各スライスについて、フィルタパラメータ情報#13eによってフィルタリングがオンであると指定された単位領域から構成される領域をフィルタオン領域と呼び、フィルタパラメータ情報#13eによってフィルタリングがオフであると指定された単位領域から構成される領域をフィルタオフ領域と呼ぶことにする。
 なお、フィルタ係数情報#13dが、フィルタ係数およびオフセットのセットを複数含んでいる場合には、同一のスライス上にフィルタオン領域が複数存在し、その各々に対して、異なったセットが割り付けられる。
 また、以下では、説明の便宜上、「フィルタオン領域」および「フィルタオフ領域」を総称して「構成領域」と呼ぶことにする。
 フィルタ係数情報#13dは、符号化データ#1から復号され、各単位領域のフィルタリングに用いられるフィルタ係数およびオフセットを指定する情報から構成されている。
 換言すれば、フィルタ係数情報#13dは、符号化データ#1から復号され、対象フレーム上の1または複数の構成領域ORg(g=1~G、Gはフレーム上の構成領域の総数)に対して割り付けられたフィルタ係数群およびオフセットを指定する情報から構成されている。一般に、フィルタ係数群に含まれる要素の数は、タップ数によって規定される。例えば、M×Nタップのフィルタ係数群に含まれる要素の数は、M×N個である。
 構成領域ORgに割り付けられたフィルタ係数群がM×Nタップであるとすると、当該構成領域ORgに割り付けられたフィルタ係数群およびオフセットは、例えば、以下の数式(1)に示すフィルタ係数行列Hg、
Figure JPOXMLDOC01-appb-M000001
およびオフセットh(g) offsetによって表現することができる。数式(1)に示すように、構成領域ORgに割り付けられたフィルタ係数群がM×Nタップであるとすると、フィルタ係数行列Hgは、M×N個のフィルタ係数h(g) ij(1≦i≦M、1≦j≦N)を成分に持つ行列として表現される。また、フィルタ係数h(g) ijおよびオフセットh(g) offsetに付された上付きの添え字gは、当該フィルタ係数およびオフセットが、構成領域ORgに割り付けられたフィルタ係数およびオフセットであることを示している。
 なお、フィルタ係数h(g) ijの下付きの添え字(i、j)がとる具体的な値は、上記の例に限定されるものではない。例えば、フィルタリングにおいて参照されるフィルタ参照領域の中心画素に乗ぜられるフィルタ係数をh(g) 00と表現し、中心画素からの相対座標が(s、t)である画素に乗ぜられるフィルタ係数をh(g) stと表現してもよい。
 また、構成領域ORgに割り付けられたM×Nタップのフィルタ係数群およびオフセットは、以下に示すM×N+1次元のフィルタ係数ベクトルVgによって表現することもできる。
Figure JPOXMLDOC01-appb-M000002
 数式(2)に示すように、フィルタ係数ベクトルVgの1からM×N番目の成分は、フィルタ係数h(g) ijを表しており、フィルタ係数ベクトルVgの最後の成分(以下オフセット成分と呼ぶ)は、オフセットh(g) offsetを表している。
 このような記法を用いることによって、フィルタ係数h(g) ij、および、オフセットh(g) offsetを統一的に表すことができる。
 また、フィルタ係数ベクトルVgの各成分を、1次元的な添え字Kを用いて、v(g) Kと表してもよい。たとえば、上記の例では、v(g) 1=h(g) 11、v(g) 2=h(g) 12、…、v(g) M×N=h(g) MN、および、v(g) M×N+1=h(g) offsetである。一般に、M×Nタップに対する、1次元添え字Kと、2次元添え字(i,j)との関係は、i=K%M+1、j=K/M+1のように表すこともできる。ここで、%は剰余を表している。すなわちx%yはxをyで割った余りを表している。また、x/yは、xをyで割った商に対して、小数点以下を切り捨てる操作(すなわちFloor関数を演算する操作)を行った結果を表している。
 なお、構成領域がフィルタオフ領域である場合には、当該構成領域に対して、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数およびオフセットが割り付けられているものとして取り扱えばよい。
 より具体的には、構成領域ORaがフィルタオフ領域である場合には、当該構成領域ORaに対するフィルタ係数ベクトルVaが、
 Va=(0,...,0,1,0,...,0,0)   (3)
であるとして取り扱えばよい。ここで、値が1である成分は、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数を表しており、それ以外の成分(オフセット成分も含む)は0である。
 図2(a)~(b)は、対象フレームを構成する構成領域の例を示す図である。
 図2(a)は、対象フレームが2つの構成領域より構成されている場合であって、構成領域OR1がフィルタオン領域であり、構成領域OR2がフィルタオフ領域である場合を示す図である。
 図2(a)に示すように、構成領域OR1に対しては、符号化データ#1より復号されたフィルタ係数h(1) ijおよびオフセットh(1) offsetが割り付けられている。一方で、構成領域OR2に対しては、符号化データ#1より復号されたフィルタ係数およびオフセットは割り付けられていないが、当該構成領域OR2に対しては、上述のように、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数およびオフセットが割り付けられているものとして取り扱えばよい。
 図2(b)は、対象フレームが3つの構成領域から構成されている場合であって、何れの構成領域もフィルタオン領域である場合を示す図である。
 図2(b)に示すように、構成領域ORb(b=1~3)のそれぞれに対して、符号化データ#1より復号されたフィルタ係数h(b) ijおよびオフセットh(b) offsetが割り付けられている。
 なお、フィルタ係数h(g) ij及びオフセットh(g) offsetは、量子化されて整数値として符号化される構成であってもよい。具体的には、フィルタ係数h(g) ij及びオフセットh(g) offsetは、8ビットで符号化される場合には、1/256を単位として、その倍数として符号化される構成であってもよい。量子化の単位は、上述のようにフィルタ量子化情報として符号化することもできる。以下の説明では、可変長符号復号部13においてフィルタ係数情報#13dを復号する際に、逆量子化が行われているものとする。ただし、本実施形態は、これによって限定されるものではなく、逆量子化前の係数を用いても判定を行うこともできる。
 また、フィルタ係数情報#13dは、フィルタ係数とフィルタ係数の予測値との差分値を符号化したものであってもよい。このような場合には、可変長符号復号部13は、予測値の算出および予測値との加算処理を行うものとする。
 (適応フィルタ100の構成)
 続いて、図1を参照して、適応フィルタ100の構成について説明する。
 図1に示すように、適応フィルタ100は、フィルタ係数蓄積部101、ブロックノイズ判定部102、フィルタ処理部103、および、ブロックノイズ低減部104を備えている。
 (フィルタ係数蓄積部101)
 フィルタ係数蓄積部101には、フィルタ係数情報#13dの示すフィルタ係数およびオフセットが蓄積される。より具体的には、フィルタ係数蓄積部101には、少なくとも、隣接する2つの構成領域に割り付けられたフィルタ係数が蓄積される。なお、構成領域がフィルタオフ領域である場合には、当該構成領域に対しては、上述のように、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数およびオフセットが割り付けられているものとして取り扱えばよい。
 また、フィルタ係数蓄積部101には、フレームを構成する各スライスに含まれるすべての構成領域に割り付けられたフィルタ係数およびオフセットが蓄積されるような構成としてもよい。その場合には、後述するブロックノイズ判定部102が、1スライスに含まれるすべての構成領域についてブロックノイズの判定を行い、それらの判定結果を示す情報を、判定情報#102として出力するような構成とすればよい。
 (フィルタ処理部103)
 フィルタ処理部103は、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットを用いて、デブロック画像#50に対してフィルタリングを行うことによって、フィルタ済画像#103を生成する。
 より具体的には、フィルタ処理部103は、フィルタ済画像#103の座標(x’、y’)における画素値SO(x’、y’)を以下の数式(4)によって表される加重線形和によって算出する。
Figure JPOXMLDOC01-appb-M000003
 ここで、SI(x、y)は、デブロック画像#50の座標(x、y)における画素値を表している。また、h(i、j)は、デブロック画像#50を構成する画素値SI(x+i、y+j)に乗ぜられるフィルタ係数であり、上述したフィルタ係数h(g) ijに対応している。より具体的には、数式(4)におけるフィルタ係数h(i、j)は、上述したフィルタ係数h(g) ij(g=1~G、Gはデブロック画像#50を構成する構成領域の総数)のうち、デブロック画像#50の座標(x、y)が属する構成領域に割り付けられたフィルタ係数に対応している。例えば、デブロック画像#50の座標(x、y)が、構成領域ORaに属している場合には、数式(4)におけるh(i、j)は、h(a) ijに対応している。同様に、数式(4)におけるhoffsetは、デブロック画像#50の座標(x、y)が属する構成領域に割り付けられたオフセットを表している。
 また、数式(4)におけるRは、上記加重線形和をとる画素の領域(フィルタ参照領域)を表しており、フィルタパラメータ情報#13eによって指定される。Rは、具体的には、上記加重線形和の対象となる相対座標のセットによって表現される。例えば、座標(x、y)における画素を中心とした3×3タップのフィルタリングを行う場合には、R={(-1、-1)、(-1、0)、(-1、1)、(0、-1)、(0、0)、(0、1)、(1、-1)、(1、0)、(1、1)}である。なお、座標(x’、y’)と座標(x、y)とは同一の座標であってもよいし、1対1の対応を有していれば、異なった座標であってもよい。
 なお、座標(x、y)が、フィルタオフ領域に属する場合には、フィルタ処理は行われない。すなわち、画素値SO(x’、y’)は、SO(x’、y’)=SI(x、y)のように、画素値SI(x、y)と同一の画素値となる。これは、数式(4)において、フィルタ参照領域Rの中心画素に乗ぜられるフィルタ係数の値が1であり、中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数およびオフセットを用いて、画素値SO(x’、y’)を算出する場合と同等である。
 (ブロックノイズ判定部102)
 ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットを参照し、隣接する2つの構成領域に割り付けられたフィルタ係数およびオフセットの値に基づいて、フィルタ済画像#103における当該2つの構成領域の境界に生じるブロックノイズの大きさを判定する。
 ブロックノイズ判定部102は、隣接する2つの構成領域に割り付けられたフィルタ係数およびオフセットの値に基づいて、フィルタ済画像#103における当該2つの構成領域の境界にブロックノイズが生じる可能性の大きさを推定するものである、と表現することもできる。
 なお、ブロックノイズ判定部102は、隣接する2つの構成領域に割り付けられたフィルタ係数およびオフセットの値に基づいて、フィルタ済画像#103における当該2つの構成領域の境界に生じるブロックノイズの大きさを判定する判定装置である、と表現することもできる。
 また、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットと共に、デブロック画像#50およびフィルタ済画像#103の何れかの画素値を参照し、フィルタ済画像#103におけるブロックノイズの大きさを判定するような構成としてもよい。
(ブロックノイズの発生原因と判定方法)
 以下、ブロックノイズの発生原因と判定方法について簡単に説明する。まず、フィルタ係数およびオフセットを適応的に導出する適応フィルタでは、フィルタ対象フレームに最適化されたフィルタ係数を用いてフィルタ処理を行うが、算出したフィルタ係数を用いてフィルタ処理を行うと画質が低下する領域が存在する。そのため、従来技術では、フレームを複数のブロックに分割し、ブロック単位でフィルタ処理を行うか(オン)と、フィルタ処理を行わないか(オフ)を制御する。ところで、復号フレーム上では、原画に比べて、画素値が大きくなるブロックと、画素値が小さくなるブロックが存在する。画素値が大きくなるブロックでは、参照画素にかかるフィルタ係数の値を全体として小さくするフィルタ処理や、オフセットをマイナスとするフィルタ処理により原画に近づけることができる(画素値が小さくなるブロックではその逆)。
 領域分割を行わず、フレーム全体で1つのフィルタ処理を行う場合、両者の大きさのバランスをとるようなフィルタ係数の値およびオフセット値となるため、画素値を大きく変更するようなフィルタ係数となることは少ない。しかしながら、領域分割を行った場合には、画素値が大きくなるブロック、もしくは、画素値が小さくなるブロックを集めて同じ処理を行うことが多いため、それを補償するフィルタ処理のフィルタ係数及びオフセットの値も画素値変化が大きくなるようなものとなる傾向があり、ブロックノイズが生じやすくなる。
 ここで、フィルタ処理をN個の入力画素値xi(i=1~N)。フィルタ係数をai、オフセットをoとすると、出力画素値は、Σai ×xi + oとなる。平均的な変化を検討するために入力画素値が一定であるxi=xj(i!=j)と仮定し(平坦ブロックとの仮定と同値)、その値をxと記述すると、出力画素値は、(Σai) × x + oと表示される。この変化は、参照画素にかかるフィルタ係数の総和を傾き、として入力画素を変化させた上で、オフセットを加える処理になる。このように、平均的な画素値における画素値変化は、フィルタ係数の総和とオフセットにより表現することができる(総和が1である場合、及び、オフセットが0である場合が平均的な画素値変化のない場合に対応する。換言すれば、総和が1であるフィルタ、及び、オフセットが0であるフィルタが平均的な画素値変化のないフィルタに対応する)。
 ブロックノイズの発生はこのような平均的な画素値変化がある場合に顕著であることから、まず、オフセットの変化およびフィルタ係数の総和が、平均的な画素値変化のない場合もしくは平均的な画素値変化のないフィルタからどの程度離れているかにより判定する方法を示し、次に、フィルタ係数の全体を参照する判定方法についても説明する。フィルタ係数全体を参照するのは、ブロックノイズの発生は、画素値の平均的な変化だけとは限らず、フィルタ処理により画像の尖鋭化やぼけが生じた場合にも、画像の性質が境界で不連続に変化することから発生することもあるためである。フィルタの性質はフィルタ係数全体が関係するため、フィルタ係数全体を参照する。
 以下では、ブロックノイズの大きさについての、ブロックノイズ判定部102による判定動作について説明する。
 (判定動作例1)
 まず、ブロックノイズ判定部102による、ブロックノイズの大きさの判定動作の第1の例について、図3を参照して説明する。図3は、本例におけるブロックノイズ判定部102の動作の流れを示すフローチャートである。
 本例においては、ブロックノイズ判定部102は、隣接する2つの構成領域の各々に割り付けられたオフセットの値の差の絶対値が、予め定められた閾値より大きいか否かに応じて、フィルタ済画像#103における当該2つの構成領域の境界にブロックノイズが生じる可能性が高いか低いかを判定する。
 (ステップS101)
 ブロックノイズ判定部102は、まず、フレームを構成する複数の構成領域の境界から、判定対象となる境界を選択する。これは、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットのセットから、互いに異なる2つのセットを選択することと同等である。また、構成領域の境界が1つである場合には、本ステップを省略することができる(以下の動作例においても同様)。
 (ステップS102)
 続いて、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたオフセットを参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたオフセットの差の絶対値を算出する。
 すなわち、判定対象となる境界を境界B(g,g')と表し、境界B(g,g')を介して隣接する2つの構成領域を、それぞれ、構成領域ORgおよび構成領域ORg'と表すことにすると、ブロックノイズ判定部102は、構成領域ORgに割り付けられたオフセットh(g) offsetと、構成領域ORg'に割り付けられたオフセットh(g') offsetとの差の絶対値(以下、「差の絶対値」を「差分絶対値」と呼ぶ)
 D1 (g,g')=|h(g) offset-h(g') offset
を算出する。
 なお、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合には、当該フィルタオン領域に割り付けられたオフセットの絶対値を算出すればよい。例えば、構成領域ORgがフィルタオン領域であり、構成領域ORg'がフィルタオフ領域である場合には、ブロックノイズ判定部102は、上記差分絶対値に代えて、
 D1 (g,g')=|h(g) offset
を算出すればよい。これは、フィルタオフ領域に対して、値が0であるオフセットが割り付けられているものとして差分絶対値を算出することと同等である。
 (ステップS103)
 続いて、ブロックノイズ判定部102は、ステップS102にて算出された差分絶対値D1 (g,g')が、予め定められた閾値Th1より大きいか否かを判定する。
 (ステップS104)
 差分絶対値D1 (g,g')が、予め定められた閾値Th1より大きい場合(ステップS103でYes)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 (ステップS105)
 一方で、差分絶対値D1 (g,g')が、予め定められた閾値Th1以下である場合(ステップS103でNo)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。
 ここで、ブロックノイズ判定部102による判定結果を示す情報は、判定情報#102として、ブロックノイズ低減部104に供給される。
 判定情報#102は、例えば、ブロックノイズが発生する可能性が高いと判定された場合に1をとり、低いと判定された場合に0をとる1ビットの情報によって表現することができる。また、判定情報#102には、判定結果と共に、判定対象となった境界B(g,g')の座標に関する情報が含まれるような構成としてもよい(以下の動作例についても同様)。
 (ステップS106)
 続いて、ブロックノイズ判定部102は、他の境界について判定を行う場合には、(ステップS101)に戻り、他の境界について判定を行わない場合には、処理を終了する。
 なお、ステップS103にて参照される閾値Th1は、画素のビット深度に応じて定めればよい。例えば、フィルタ対象画素が輝度値の画素であって、輝度値のビット深度が8ビットである場合、Th1=3ととればよい。なお、閾値Th1は、画素値のビット深度と正の相関を有するように定められることが好ましい。また、ビット深度がNビットである場合には、3<<(N-8)を閾値とすることが好ましい。ここで<<は左シフト演算を示す。なお、フィルタ係数が量子化されたままで比較を行う場合には、そのフィルタ係数の量子化ステップ分だけ乗算した閾値を用いることが好ましい。すなわち、量子化ステップが256の場合でビット深度が10ビットの場合には、{3<<(10-8)}×256を用いることが好ましい。
 また、閾値はフィルタ係数の量子化ステップの他、復号画像の生成に用いた変換係数の量子化パラメータに応じて設定することとしても構わない。すなわち、ブロックノイズは量子化パラメータが小さいときの方が目立ちやすいことから、量子化パラメータが小さい場合に閾値を小さくすると良い。例えば、量子化パラメータが所定の閾値未満の場合に、閾値を2とし、ある閾値以上の場合に3にするなどは好適である。
 図4(a)~(b)は、隣接する2つの構成領域に割り付けられたオフセットの例を示す図である。図4(a)は、境界B(1,2)を介して隣接する2つの構成領域OR1およびOR2の各々に割り付けられたオフセットの差分絶対値が、閾値Th1以下である場合を示す図であり、図4(b)は、境界B(1,2)を介して隣接する2つの構成領域OR1およびOR2の各々に割り付けられたオフセットの差分絶対値が、閾値Th1よりも大きい場合を示す図である。
 ブロックノイズ判定部102は、図4(a)に示す境界B(1,2)に対しては、ブロックノイズが発生する可能性が低いと判定し、図4(b)に示す境界B(1,2)に対しては、ブロックノイズが発生する可能性が高いと判定する。
 図5は、画素値のビット深度が8ビットである複数のフレームにおけるフィルタオン領域の各々に割り付けられたオフセットの値をプロットした図である。図5の横軸は、各フレームに付されたフレーム番号を表しており、縦軸は、各フレームのフィルタオン領域に割り付けられたオフセットの値を表している。
 図5に示すように、一般に、各フレームに割り付けられたオフセットの値にはばらつきがあり、画素値のビット深度が8である場合には、オフセットの値が3を越えると、フィルタ後のフィルタオン領域とフィルタオフ領域との境界においてブロックノイズが目立ちはじめるという傾向がある。
 より一般には、隣接する構成領域に割り付けられたオフセットの差の絶対値が、所定の値を越えると、当該隣接する構成領域の境界において、ブロックノイズが目立ちはじめるという傾向がある。
 ブロックノイズ判定部102は、本例の動作を行うことにより、隣接する構成領域に割り付けられたオフセットの値を参照することによって、ブロックノイズの大きさを適切に判定することができる。
 また、ブロックノイズ判定部102は、本例の動作を行うことにより、隣接する構成領域に割り付けられたオフセットの値を参照することによってブロックノイズの大きさを構成領域を単位として判定するので、構成領域の境界を介して隣接する画素の画素値を参照することによって当該境界におけるブロックノイズを画素単位で判定する従来の構成に比べて、ブロックノイズの大きさを判定するための処理量を削減することができる。
 なお、ブロックノイズ判定部102は、上記ステップS102において、差分絶対値D1 (g,g')に代えて、差分A1 (g,g')=h(g) offset-h(g') offsetを算出し、上記ステップS103において、当該差分A1 (g,g')が、条件式-Th1≦A1 (g,g')≦Th1を満たすか否かを判定し、当該条件式を満たす場合に、境界B(g,g')にてブロックノイズが発生する可能性が低いと判定し、当該条件式を満たさない場合に、境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する構成としてもよい。また、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合もついても同様である。
 また、ブロックノイズ判定部102は、判定対象となる境界を介して隣接する単位領域対毎に上記の判定を行う構成としてもよいし、判定対象となる境界を介して隣接する構成領域対毎に上記の判定を行う構成としてもよい(以下の(判定動作例2)~(判定動作例7)においても同様)。また、後述する(判定動作例8)にて、構成領域対毎にブロックノイズの判定を行う判定処理の一例についてより具体的に説明する。
 (判定動作例2)
 続いて、ブロックノイズ判定部102による、ブロックノイズの大きさの判定動作の第2の例について、図6を参照して説明する。図6は、本例におけるブロックノイズ判定部102の動作の流れを示すフローチャートである。
 本例においては、ブロックノイズ判定部102は、隣接する2つの構成領域に割り付けられたフィルタ係数の構成領域毎の総和(すなわち、フィルタ係数ベクトル毎の総和)を算出し、当該総和の差分絶対値が、予め定められた閾値より大きいか否かに応じて、フィルタ済画像#103における当該2つの構成領域の境界にブロックノイズが生じる可能性が高いか低いかを判定する。
 (ステップS201)
 ブロックノイズ判定部102は、まず、フレームを構成する複数の構成領域の境界から、判定対象となる境界を選択する。
 (ステップS202)
 続いて、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたフィルタ係数を参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたオフセットの総和を算出する。また、ブロックノイズ判定部102は、算出されたフィルタ係数の総和の差分絶対値(構成領域毎に算出された2つの総和の差の絶対値)を算出する。
 すなわち、判定対象となる境界を境界B(g,g')と表し、境界B(g,g')を介して隣接する2つの構成領域を、それぞれ、構成領域ORgおよび構成領域ORg'と表すことにすると、ブロックノイズ判定部102は、構成領域ORgに割り付けられたフィルタ係数の総和Σh(g) ij(Σはi,jに関する和を表す)、および、構成領域ORg'に割り付けられたフィルタ係数の総和Σh(g') ijをそれぞれ算出する。さらに、ブロックノイズ判定部102は、算出された総和の差分絶対値
 D2 (g,g')=|Σh(g) ij-Σh(g') ij
を算出する。
 なお、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合には、当該フィルタオン領域に割り付けられたフィルタ係数の総和と1との差分絶対値を算出すればよい。例えば、構成領域ORgがフィルタオン領域であり、構成領域ORg'がフィルタオフ領域である場合には、ブロックノイズ判定部102は、差分絶対値
 D2 (g,g')=|Σh(g) ij-1|
を算出すればよい。これは、フィルタオフ領域に対して、総和が1であるフィルタ係数が割り付けられているものとして差分絶対値を算出することと同等である。また、フィルタ係数が量子化されている場合には、1に量子化ステップを乗算した値と、Σh(g) ijとの差分絶対値を算出すればよい。
 (ステップS203)
 続いて、ブロックノイズ判定部102は、ステップS202にて算出された差分絶対値D2 (g,g')が、予め定められた閾値Th2より大きいか否かを判定する。
 (ステップS204)
 差分絶対値D2 (g,g')が、予め定められた閾値Th2より大きい場合(ステップS203でYes)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 (ステップS205)
 一方で、差分絶対値D2 (g,g')が、予め定められた閾値Th2以下である場合(ステップS203でNo)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。
 ここで、ブロックノイズ判定部102による判定結果を示す情報は、判定情報#102として、ブロックノイズ低減部104に供給される。
 (ステップS206)
 続いて、ブロックノイズ判定部102は、他の境界について判定を行う場合には、(ステップS201)に戻り、他の境界について判定を行わない場合には、処理を終了する。
 なお、ステップS203にて参照される閾値Th2は、画素値のビット深度に応じて定めればよい。例えば、画素値のビット深度が8ビットである場合には、画素値の最大値は255であるので、例えば、Th2=3/255ととればよい。これは、画素値のビット深度が8である場合には、隣接する2つの構成領域の各々の割り付けられたフィルタ係数の総和の差の絶対値に画素値の最大値を乗じたものが3を越えると、フィルタ済画像#103上の当該2つの構成領域の境界におけるブロックノイズが目立ちはじめるという傾向があるためである。なお、閾値Th2は、画素値のビット深度と正の相関を有するように定められることが好ましい。
 ブロックノイズ判定部102は、本例の動作を行うことにより、隣接する構成領域に割り付けられたフィルタ係数の総和の差分絶対値を参照することによって、ブロックノイズの大きさを適切に判定することができる。
 また、ブロックノイズ判定部102は、本例の動作を行うことにより、隣接する構成領域に割り付けられたフィルタ係数の総和の差分絶対値を参照することによってブロックノイズの大きさを構成領域を単位として判定するので、構成領域の境界を介して隣接する画素の画素値を参照することによって当該境界におけるブロックノイズを画素単位で判定する従来の構成に比べて、ブロックノイズの大きさを判定するための処理量を削減することができる。
 なお、ブロックノイズ判定部102は、上記ステップS202において、差分絶対値D2 (g,g')に代えて、差分A2 (g,g')=Σh(g) ij-Σh(g') ijを算出し、上記ステップS203において、当該差分A1 (g,g')が、条件式-Th2≦A2 (g,g')≦Th2を満たすか否かを判定し、当該条件式を満たす場合に、境界B(g,g')にてブロックノイズが発生する可能性が低いと判定し、当該条件式を満たさない場合に、境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する構成としてもよい。また、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合もついても同様である。
 (判定動作例3)
 続いて、ブロックノイズ判定部102による、ブロックノイズの大きさの判定動作の第3の例について、図7を参照して説明する。図7は、本例におけるブロックノイズ判定部102の動作の流れを示すフローチャートである。
 本例においては、ブロックノイズ判定部102は、隣接する2つの構成領域に割り付けられたフィルタ係数のうち、対応するフィルタ係数の差分絶対値の総和を算出し、当該差分絶対値の総和が、予め定められた閾値より大きいか否かに応じて、フィルタ済画像#103における当該2つの構成領域の境界にブロックノイズが生じる可能性が高いか低いかを判定する。
 なお、上記対応するフィルタ係数とは、同じインデックス(i、j)によって指定されるフィルタ係数のことを指す(以下同様)
 (ステップS301)
 ブロックノイズ判定部102は、まず、フレームを構成する複数の構成領域の境界から、判定対象となる境界を選択する。
 (ステップS302)
 続いて、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたフィルタ係数を参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたフィルタ係数のうち、対応するフィルタ係数の差分絶対値の総和、すなわち、対応するフィルタ係数の差の絶対値の総和を算出する。
 すなわち、判定対象となる境界を境界B(g,g')と表し、境界B(g,g')を介して隣接する2つの構成領域を、それぞれ、構成領域ORgおよび構成領域ORg'と表すことにすると、ブロックノイズ判定部102は、構成領域ORgに割り付けられたフィルタ係数h(g) ijと、構成領域ORg'に割り付けられたフィルタ係数のうちフィルタ係数h(g) ijに対応するフィルタ係数h(g') ijとの差分絶対値の総和
 D3 (g,g')=Σ|h(g) ij-h(g') ij|(Σはi,jに関する和を表す)
を算出する。
 なお、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合には、当該フィルタオフ領域に対して、フィルタ参照領域の中心画素に対して1をとり、中心画素以外の画素に対して0をとるようなフィルタ係数が割り付けられているものとして差分絶対値の総和を算出すればよい。例えば、構成領域ORgがフィルタオン領域であり、構成領域ORg'がフィルタオフ領域である場合には、ブロックノイズ判定部102は、
 D3 (g,g')=Σ’|h(g) ij|+|h(g) center-1|
を算出すればよい。ここで、Σ’は、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数以外のフィルタ係数に関する和を表しており、h(g) centerは、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数を表している。なお、フィルタ係数が量子化されている場合には、1に量子化ステップを乗算した値と、h(g) centerとの差分絶対値を算出すればよい。
 (ステップS303)
 続いて、ブロックノイズ判定部102は、ステップS302にて算出された差分絶対値の総和D3 (g,g')が、予め定められた閾値Th3より大きいか否かを判定する。
 (ステップS304)
 差分絶対値の総和D3 (g,g')が、予め定められた閾値Th3より大きい場合(ステップS303でYes)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 (ステップS305)
 一方で、差分絶対値の総和D3 (g,g')が、予め定められた閾値Th3以下である場合(ステップS303でNo)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。
 ここで、ブロックノイズ判定部102による判定結果を示す情報は、判定情報#102として、ブロックノイズ低減部104に供給される。
 (ステップS306)
 続いて、ブロックノイズ判定部102は、他の境界について判定を行う場合には、(ステップS301)に戻り、他の境界について判定を行わない場合には、処理を終了する。
 なお、ステップS303にて参照される閾値Th3は、画素値のビット深度、構成領域に割り付けられたフィルタ係数の数、および、各フィルタ係数の値のばらつきの態様に応じて定めればよい。例えば、画素値のビット深度が8ビットである場合には、画素値の最大値は255であるので、例えば、Th3=3×(Nf/Md+1)/255ととればよい。ここで、Nfは、構成領域に割り付けられたフィルタ係数の数(例えば、3×3タップであれば9)を表しており、Mdは、各フィルタ係数の値のばらつきの態様に応じて定まる定数である。なお、閾値Th3は、画素値のビット深度と正の相関を有するように定められることが好ましい。
 なお、(ステップS302)において、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたフィルタ係数のタップ数が異なっている場合には、以下の(ステップS302a)または(ステップS302b)に示す処理を行えばよい。
 (ステップS302a)
 Σ|h(g) ij-h(g') ij|におけるΣを、タップ数のより小さなフィルタ係数に付されたインデックス(i、j)がとり得る範囲についての総和とする。
 例えば、判定対象となる境界を介して隣接する構成領域のうち構成領域ORgに割り付けられたフィルタ係数がM×Mタップであり、構成領域ORg'に割り付けられたフィルタ係数がN×Nタップ(N<M)である場合には、ブロックノイズ判定部102は、差分絶対値の総和D3 (g,g')=ΣN×N|h(g) ij-h(g') ij|を算出する。ここで、ΣN×Nは、N×Nタップについてのみの和をとることを表している。
 (ステップS302b)
 Σ|h(g) ij-h(g') ij|におけるΣを、タップ数のより大きなフィルタ係数に付されたインデックス(i、j)がとり得る範囲についての総和とする。ここで、タップ数のより小さなフィルタ係数が存在しない範囲については、タップ数のより大きなフィルタ係数のみの絶対値の和をとればよい。
 例えば、判定対象となる境界を介して隣接する構成領域のうち構成領域ORgに割り付けられたフィルタ係数がM×Mタップであり、構成領域ORg'に割り付けられたフィルタ係数がN×Nタップ(N<M)である場合には、ブロックノイズ判定部102は、差分絶対値の総和D3 (g,g')=ΣN×N|h(g) ij-h(g') ij|+ΣM×M-N×N|h(g) ij|を算出する。ここで、ΣN×Nは、N×Nタップについてのみの和をとることを表しており、ΣM×M-N×Nは、M×Mタップのうち、N×Nタップを除く範囲についての和をとることを表している。
 ブロックノイズ判定部102は、本例の動作を行うことにより、隣接する構成領域に割り付けられたフィルタ係数の差の絶対値の総和を参照することによって、ブロックノイズの大きさを適切に判定することができる。
 また、ブロックノイズ判定部102は、本例の動作を行うことにより、隣接する構成領域に割り付けられたフィルタ係数の差の絶対値の総和を参照することによってブロックノイズの大きさを構成領域を単位として判定するので、構成領域の境界を介して隣接する画素の画素値を参照することによって当該境界におけるブロックノイズを画素単位で判定する従来の構成に比べて、ブロックノイズの大きさを判定するための処理量を削減することができる。
 (判定動作例4)
 続いて、ブロックノイズ判定部102による、ブロックノイズの大きさの判定動作の第4の例について、図8を参照して説明する。図8は、本例におけるブロックノイズ判定部102の動作の流れを示すフローチャートである。
 本例においては、ブロックノイズ判定部102は、隣接する2つの構成領域に割り付けられたフィルタ係数の構成領域毎の総和(すなわち、フィルタ係数ベクトル毎の総和)の差分絶対値と、隣接する2つの構成領域に割り付けられたオフセットの差の絶対値との加重和が、予め定められた閾値より大きいか否かに応じて、フィルタ済画像#103における当該2つの構成領域の境界にブロックノイズが生じる可能性が高いか低いかを判定する。
 (ステップS401)
 ブロックノイズ判定部102は、まず、フレームを構成する複数の構成領域の境界から、判定対象となる境界を選択する。
 (ステップS402)
 続いて、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたフィルタ係数を参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたフィルタ係数の総和を算出する。さらに、ブロックノイズ判定部102は、算出されたフィルタ係数の総和の差分絶対値、すなわち、構成領域毎に算出された2つの総和の差の絶対値を算出する。
 また、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたオフセットを参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたオフセットの差の絶対値を算出する。さらに、ブロックノイズ判定部102は、算出されたフィルタ係数の総和の差分絶対値とオフセットの差の絶対値との加重和を算出する。
 すなわち、判定対象となる境界を境界B(g,g')と表し、境界B(g,g')を介して隣接する2つの構成領域を、それぞれ、構成領域ORgおよび構成領域ORg'と表すことにすると、ブロックノイズ判定部102は、構成領域ORgおよび構成領域ORg'のそれぞれに割り付けられたフィルタ係数の総和の差分絶対値|Σh(g) ij-Σh(g') ij|と、構成領域ORgおよび構成領域ORg'のそれぞれに割り付けられたオフセットの差分絶対値|h(g) offset-h(g') offset|との加重和
 D4 (g,g')=w1×|Σh(g) ij-Σh(g') ij|+w2×|h(g) offset-h(g') offset
を算出する。ここで、w1およびw2は、重み係数を表している。
 なお、加重和D4 (g,g')は、(判定動作例1)および(判定動作例2)において、それぞれ説明した差分絶対値D1 (g,g')および差分絶対値D2 (g,g')を用いて、
 D4 (g,g')=w1×D2 (g,g')+w2×D1 (g,g')
と表現することもできる。
 また、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合には、差分絶対値D1 (g,g')および差分絶対値D2 (g,g')について、ステップS102およびステップS202においてそれぞれ説明した算出処理を適用すればよい。
 (ステップS403)
 続いて、ブロックノイズ判定部102は、ステップS402にて算出された加重和D4 (g,g')が、予め定められた閾値Th4より大きいか否かを判定する。
 (ステップS404)
 加重和D4 (g,g')が、予め定められた閾値Th4より大きい場合(ステップS403でYes)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 (ステップS405)
 一方で、加重和D4 (g,g')が、予め定められた閾値Th4以下である場合(ステップS403でNo)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。
 ここで、ブロックノイズ判定部102による判定結果を示す情報は、判定情報#102として、ブロックノイズ低減部104に供給される。
 (ステップS406)
 続いて、ブロックノイズ判定部102は、他の境界について判定を行う場合には、(ステップS401)に戻り、他の境界について判定を行わない場合には、処理を終了する。
 なお、(ステップS402)において用いられる重み係数w1およびw2の具体的な値は、画素値のビット深度に応じて定めればよい。画素値のビット深度が8ビットである場合には、画素値の最大値が255であるので、例えば、それぞれ、w1=255、および、w2=1とすればよい。なお、重み係数w1と重み係数w2との比w1/w2は、画素値の最大値と正の相関を有するように定めることが好ましい。
 また、ステップS403にて参照される閾値Th4は、画素値のビット深度、および重み係数w1、w2の具体的な値に応じて定めればよい。例えば、画素値のビット深度が8ビットであり、w1=255およびw2=1ととった場合には、Th4=6ととればよい。これは、隣接する2つの構成領域の各々の割り付けられたフィルタ係数の総和の差の絶対値に画素値の最大値を乗じたものと、隣接する2つの構成領域の各々の割り付けられたオフセットの差の絶対値との和が6を越えると、フィルタ済画像#103上の当該2つの構成領域の境界におけるブロックノイズが目立ちはじめるという傾向があるためである。なお、閾値Th4は、画素値のビット深度と正の相関を有するように定められることが好ましい。
 ブロックノイズ判定部102は、本例の動作を行うことにより、ブロックノイズの大きさを適切に判定することができる。
 (判定動作例5)
 続いて、ブロックノイズ判定部102による、ブロックノイズの大きさの判定動作の第5の例について、図9を参照して説明する。図9は、本例におけるブロックノイズ判定部102の動作の流れを示すフローチャートである。
 本例においては、ブロックノイズ判定部102は、隣接する2つの構成領域に割り付けられたフィルタ係数のうち、対応するフィルタ係数の差分絶対値の総和と、隣接する2つの構成領域に割り付けられたオフセットの差の絶対値との加重和が、予め定められた閾値より大きいか否かに応じて、フィルタ済画像#103における当該2つの構成領域の境界にブロックノイズが生じる可能性が高いか低いかを判定する。
 (ステップS501)
 ブロックノイズ判定部102は、まず、フレームを構成する複数の構成領域の境界から、判定対象となる境界を選択する。
 (ステップS502)
 続いて、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたフィルタ係数を参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたフィルタ係数のうち、対応するフィルタ係数の差分絶対値の総和、すなわち、対応するフィルタ係数の差の絶対値の総和を算出する。
 また、ブロックノイズ判定部102は、フィルタ係数蓄積部101に蓄積されたオフセットを参照し、判定対象となる境界を介して隣接する構成領域の各々に割り付けられたオフセットの差の絶対値を算出する。
 すなわち、判定対象となる境界を境界B(g,g')と表し、境界B(g,g')を介して隣接する2つの構成領域を、それぞれ、構成領域ORgおよび構成領域ORg'と表すことにすると、ブロックノイズ判定部102は、構成領域ORgに割り付けられたフィルタ係数h(g) ijと、構成領域ORg'に割り付けられたフィルタ係数のうちフィルタ係数h(g) ijに対応するフィルタ係数h(g') ijとの差分絶対値の総和Σ|h(g) ij-h(g') ij|(Σはi,jに関する和を表す)、および、構成領域ORgおよび構成領域ORg'のそれぞれに割り付けられたオフセットの差分絶対値|h(g) offset-h(g') offset|を算出する。
 さらに、ブロックノイズ判定部102は、フィルタ係数の差分絶対値の総和Σ|h(g) ij-h(g') ij|と、オフセットの差分絶対値|h(g) offset-h(g') offset|との加重和
5 (g,g')=w1'×Σ|h(g) ij-h(g') ij|+w2'×|h(g) offset-h(g') offset
を算出する。ここで、w1'およびw2'は、重み係数を表している。
 なお、加重和D5 (g,g')は、(判定動作例1)および(判定動作例3)において、それぞれ説明した差分絶対値D1 (g,g')および差分絶対値D3 (g,g')を用いて、
5 (g,g')=w1'×D3 (g,g')+w2'×D1 (g,g')
と表現することもできる。
 また、判定対象となる境界を介して隣接する2つの構成領域の一方がフィルタオフ領域であり他方がフィルタオン領域である場合には、差分絶対値D1 (g,g')および差分絶対値D3 (g,g')について、(ステップS102)および(ステップS302)においてそれぞれ説明した算出処理を適用すればよい。
 (ステップS503)
 続いて、ブロックノイズ判定部102は、ステップS502にて算出された加重和D5 (g,g')が、予め定められた閾値Th5より大きいか否かを判定する。
 (ステップS504)
 加重和D5 (g,g')が、予め定められた閾値Th5より大きい場合(ステップS503でYes)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 (ステップS505)
 一方で、加重和D5 (g,g')が、予め定められた閾値Th5以下である場合(ステップS503でNo)、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。
 ここで、ブロックノイズ判定部102による判定結果を示す情報は、判定情報#102として、ブロックノイズ低減部104に供給される。
 (ステップS506)
 続いて、ブロックノイズ判定部102は、他の境界について判定を行う場合には、(ステップS501)に戻り、他の境界について判定を行わない場合には、処理を終了する。
 なお、(ステップS502)において用いられる重み係数w1'およびw2'の具体的な値は、画素値のビット深度に応じて定めればよい。画素値のビット深度が8ビットである場合には、画素値の最大値が255であるので、例えば、それぞれ、w1’=255、および、w2’=1とすればよい。なお、重み係数w1'と重み係数w2'との比w1'/w2'は、画素値の最大値と正の相関を有するように定めることが好ましい。
 また、ステップS503にて参照される閾値Th5は、画素値のビット深度、構成領域に割り付けられたフィルタ係数の数、各フィルタ係数の値のばらつきの態様、および重み係数w1'、w2'の具体的な値に応じて定めればよい。例えば、画素値のビット深度が8ビットであり、w1'=255およびw2'=1ととった場合には、Th5=3×(Nf/Md+1)+3ととればよい。ここで、Nfは、構成領域に割り付けられたフィルタ係数の数(例えば、3×3タップであれば9)を表しており、Mdは、各フィルタ係数の値のばらつきの態様に応じて定まる定数である。なお、閾値Th5は、画素値のビット深度と正の相関を有するように定められることが好ましい。
 ブロックノイズ判定部102は、本例の動作を行うことにより、ブロックノイズの大きさを適切に判定することができる。
 (判定動作例6)
 上述した(判定動作例1)~(判定動作例5)においては、ブロックノイズ判定部102は、それぞれ、自身が算出した値Di (g,g')(i=1~5は、判定動作例1~5を示すインデックス)が閾値Thiより大きいか否かに応じて、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いか低いかを判定する場合について説明したが、より一般には、ブロックノイズ判定部102は、Di (g,g')を複数の閾値と比較し、ブロックノイズが発生する可能性について多段階の判定を行うような構成としてもよい。
 例えば、(判定動作例1)において、ブロックノイズ判定部102は、差分絶対値D1 (g,g')を、閾値Th1 (1)、Th1 (2)、Th1 (3)(0<Th1 (1)<Th1 (2)<Th1 (3))と比較し、以下のようにブロックノイズの大きさを示す指標(強度)Xを判定する構成としてもよい。
・D1 (g,g')≦Th1 (1)  …X=0、
・Th1 (1)<D1 (g,g')≦Th1 (2)  …X=1、
・Th1 (2)<D1 (g,g')≦Th1 (3)  …X=2、
・Th1 (3)<D1 (g,g')  …X=3、
ここで、閾値Th1 (1)、Th1 (2)、Th1 (3)の具体的な値は、画素値のビット深度に応じて定めればよい。例えば、画素値のビット深度が8ビットである場合、Th1 (1)=3、Th1 (2)=5、Th1 (3)=8ととればよい。これは、画素値のビット深度が8ビットである場合、差分絶対値D1 (g,g')の値が3を越えるとブロックノイズが目立ちはじめ、5を越えるとブロックノイズが明確となり、8を超えるとブロックノイズが顕著となる傾向があるためである。
 同様に、(判定動作例2)~(判定動作例5)においても、ブロックノイズ判定部102が多段階の判定を行うような構成としてもよい。
 その場合には、ブロックノイズ判定部102、例えば、以下のようにブロックノイズの強度Xを判定すればよい(i=2~5は、判定動作例2~5を示すインデックス)。
・Di (g,g')≦Thi (1)  …X=0、
・Thi (1)<Di (g,g')≦Thi (2)  …X=1、
・Thi (2)<Di (g,g')≦Thi (3)  …X=2、
・Thi (3)<Di (g,g')  …X=3、
ここで、閾値Thi (1)、Thi (2)、Thi (3)の具体的な値としては、例えば、Thi (1)=Thi、Thi (2)=(5/3)×Thi、Thi (3)=(8/3)×Thiを用いればよい。
 また、ブロックノイズ判定部102が上記のように多段階の判定を行う場合には、判定情報#102は、ブロックノイズの強度Xを示す情報を含むことが好ましい。ブロックノイズの強度Xを示す情報は、例えば、判定情報#102は、強度X=0に対して“00”をとり、強度X=1に対して“01”をとり、強度X=2に対して“10”をとり、強度X=3に対して“11”をとる2ビットの情報によって表現することができる。
 ブロックノイズ判定部102は、本例の動作を行うことにより、ブロックノイズの大きさを段階的に判定することができる。
 また、ブロックノイズを低減するための手段は、本例の動作によって判定された結果を示す判定情報#102を参照することによって、より効果的にブロックノイズを低減することができる。
 (判定動作例7)
 (判定動作例1)~(判定動作例6)においては、ブロックノイズ判定部102は、フィルタ係数およびオフセットの何れかを参照して、ブロックノイズの大きさを判定する動作について説明したが、本実施形態はこれらに限定されるものではない。
 例えば、ブロックノイズ判定部102は、隣接する2つの構成領域の各々に割り付けられたフィルタ係数およびオフセットの何れかを参照すると共に、当該2つの構成領域の画素値を参照して、フィルタ済画像#103における当該2つの構成領域の境界に生じるブロックノイズの大きさを判定するような構成としてもよい。
 例えば、(判定動作例1)における(ステップS103)~(ステップS105)(図3を参照)を、それぞれ、以下に示す(ステップS103’)~(ステップS105’)に置き換えてもよい。
 (ステップS103’)
 ブロックノイズ判定部102は、ステップS102にて算出された差分絶対値D1 (g,g')が、予め定められた閾値Th1より大きいか否かを判定すると共に、境界におけるデブロック画像の構成領域ORgにおける画素値と、デブロック画像の構成領域ORg’における画素値との平均画素値DBが、予め定められた閾値ThB1より大きいか否かを判定すると共に、平均画素値DBが、予め定められた閾値ThB2(ThB2<ThB1)より小さいか否かを判定する。
 (ステップS104’)
 差分絶対値D1 (g,g')が、予め定められた閾値Th1より大きく、かつ、DBが予め定められた閾値ThB1より大きい場合に、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 また、差分絶対値D1 (g,g')が、予め定められた閾値Th1より大きく、かつ、DBが予め定められた閾値ThB2より小さい場合にも、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が高いと判定する。
 (ステップS105’)
 一方で、差分絶対値D1 (g,g')が、予め定められた閾値Th1以下である場合には、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。また、DBが予め定められた閾値ThB2以上であって閾値ThB1以下である場合にも、ブロックノイズ判定部102は、判定対象となる境界B(g,g')にてブロックノイズが発生する可能性が低いと判定する。
 同様に、(判定動作例2)~(判定動作例6)においても、Di (g,g')(i=2~6)が予め定められた閾値Thiより大きいか否か、および、デブロック画像の構成領域ORgにおける画素値と、デブロック画像の構成領域ORg’における画素値との平均画素値DBが予め定められた閾値ThB1より大きいか否か、もしくは閾値ThB2より小さいか否かに応じて、判定対象となる境界B(g,g')におけるブロックノイズの大きさを判定する構成としてもよい。
 一般に、フィルタ係数およびオフセットを適応的に導出する適応フィルタが作用した画像においては、画素値が小さいほど、もしくは画素値が大きいほど、原画との画素値の差が大きくなりやすいという傾向がある。原画との差が大きくなりやすい領域についてはブロックノイズも生じやすい。また、視覚的にも画素値が小さいほどブロックノイズが見えやすいという性質がある。
 本例のように、隣接する2つの構成領域の各々に割り付けられたフィルタ係数およびオフセットの何れかを参照すると共に、当該2つの構成領域の画素値を参照することによって、ブロックノイズ判定部102によるブロックノイズの判定精度をより高めることができる。
 (判定動作例8)
 続いて、ブロックノイズ判定部102による、ブロックノイズの大きさの判定動作の第8の例について、図10を参照して説明する。本例は、構成領域の境界対ごとではなく、構成領域対ごとに判定を行うことを特徴とする。本例においては、ブロックノイズ判定部102が構成領域対毎にブロックノイズの判定を行う判定処理の一例についてより具体的に説明する。ブロックノイズ判定部102は、構成領域対ごとに、その構成要素の境界間にブロックノイズが大きいかどうかの判定を行う他、対象となるスライス毎に、当該スライス内に存在する構成領域の境界のうち、少なくとも1つの境界についてブロックノイズが大きいと判定されたか否かを示すブロックノイズフラグFBNも出力する場合について説明を行う。
 (ステップS801)
 まず、ブロックノイズ判定部102は、ブロックノイズフラグFBNの値を0に初期化する。
 (ステップS802)
 続いて、ブロックノイズ判定部102は、ループ変数iの値を1に初期化し、i≦NORを満たすiについて、ループ毎のループ変数iの増分値を1とする第1のループ処理を開始する。ここで、NORは、対象となるスライス内に存在する構成領域の総数を表している。当該第1のループ処理の対象となるステップは、ステップS802からステップS809までである。
 (ステップS803)
 続いて、ブロックノイズ判定部102は、ループ変数jの値をi+1に初期化し、j≦NORを満たすjについて、ループ毎のループ変数jの増分値を1とする第2のループ処理を開始する。当該第2のループ処理の対象となるステップは、ステップS803からステップS808までである。
 (ステップS804)
 本ステップにおいては、ブロックノイズ判定部102は、構成領域ORiと構成領域ORjと境界におけるブロックノイズを判定する。具体的な判定処理としては、判定動作例1~判定動作例7において説明した判定処理の何れかを行えばよい。
 (ステップS805)
 ブロックノイズ判定部102は、ステップS804にて、ブロックノイズが大きいと判定された場合には、ステップS806の処理を行い、ブロックノイズが小さいと判定された場合には、ステップS807の処理を行う。
 (ステップS806)
 ブロックノイズが大きいと判定された場合(ステップS805でYes)、ブロックノイズフラグFBNの値を1に設定する。
 (ステップS807)
 続いて、ブロックノイズ判定部102は、ステップS804にて判定された結果を示す判定結果情報を、ブロックノイズ判定部102の備える図示しないブロックノイズ判定結果蓄積部に格納する。ブロックノイズ判定結果蓄積部は、例えば、整数値を蓄積可能な2次元配列BlockNoise[][]を用いて、BlockNoise[i][j]=(結果)のように蓄積する。
 (ステップS808)
 本ステップは、第2ループの終端である。
 (ステップS809)
 本ステップは、第1ループの終端である。
 本例の判定処理によれば、ブロックノイズ判定部102は、NOR2=(NOR)!/2回の判定を行うことによって、対象となるスライス内に存在する全ての構成領域間の境界についてブロックノイズの判定を行うことができる。例えば、構成領域の数NOR=2の場合には1回、NOR=3の場合には3回であり、単位領域対毎、または、画素対毎に判定を行う場合に比べて、非常に少ない演算量で判定処理を行うことが可能である。
 なお、ブロックノイズ判定部102は、ブロックノイズフラグFBNを算出しない構成でも良い。この場合、ステップ801、ステップ805、およびステップ806は不要となる。この場合、構成領域対ごとに、その構成要素の境界間にブロックノイズが大きいか否かの判定を行う。
 なお、対象とする領域は、スライスよりも大きい領域や小さい領域でも良い。例えば、ブロックノイズ判定部102は、ブロックノイズフラグFBNに代えて、対象となるフレーム毎に、当該フレーム内に存在する構成領域の境界のうち、少なくとも1つの境界についてブロックノイズが大きいと判定されたか否かを示すブロックノイズフラグFBN’を出力するような構成としてもよい。このような構成とする場合、ステップS802において参照されるNORは、対象となるフレーム内に存在する構成領域の総数を表すものとし、ステップS806において、ブロックノイズ判定部102は、ブロックノイズフラグFBN’の値を1に設定する構成とすればよい。
 また、スライスよりも小さい領域毎に、当該領域内に存在する構成領域の境界のうち、少なくとも1つの境界についてブロックノイズが大きいと判定されたか否かを示すブロックノイズフラグを出力するような構成も同様に実現することができる。
 また、本例によるブロックノイズ判定の結果を受けて、ブロックノイズの低減処理を行うブロックノイズ低減部104は、上記ブロックノイズ判定結果蓄積部に格納済みの判定結果情報を、境界単位で参照することにより、少ない演算量で境界毎の判定結果を取得することができる。また、ブロックノイズ低減部104は、上記のステップが全て終了した後で、ブロックノイズフラグFBNを参照し、ブロックノイズフラグFBNの値が0の場合、すなわち、全ての境界において、ブロックノイズが小さいと判定されている場合には、境界での判定を全て省き、ブロックノイズの低減処理を行わない構成とすることができる。
 また、符号化データ#1を生成する動画像符号化装置であって、本例の動作と同様の動作を行うブロックノイズ判定部を備える動画像符号化装置は、上記ブロックノイズフラグFBNを符号化し、動画像復号装置1に伝送する構成としてもよい。その場合、動画像復号装置1は、ブロックノイズフラグFBNを参照し、ブロックノイズフラグFBNの値が0である場合には、ブロックノイズの判定処理、および、ブロックノイズ低減処理をスキップする構成としてもよい。このような構成とすることにより、ブロックノイズの判定およびブロックノイズの低減に関する処理量の削減を図ることができる。
 以上が、ブロックノイズ判定部102による、ブロックノイズの判定動作の具体例である。
 なお、ブロックノイズ判定部102は、符号化データ#1に含まれるフラグを参照し、例えば、フレーム毎、スライス毎、または、境界毎に、(判定動作例1)~(判定動作例7)に示した動作のうち何れかの動作を選択的に行うような構成としてもよい。
 例えば、フレーム毎、スライス毎、または、境界毎に、より符号化効率が高くなるような判定動作を選択し、判定を行ってもよい。
 また、ブロックノイズ判定部102は、符号化データ#1に含まれる判定動作オン/オフ情報を参照し、境界毎に判定動作のオン/オフを切り替えるような構成としてもよい。
 また、上記の判定動作例において参照される閾値Thiの値は、予め定められている値を用いてもよいし、符号化データ#1に含まれる閾値情報を復号することによって得られる閾値を用いてもよい。
 また、ブロックノイズ判定部102は、複数の単位領域から構成され、当該複数の単位領域のうち少なくとも1つの単位領域についてフィルタ係数ベクトルが設定されている入力画像(デブロック画像#50)に対し、フィルタ係数ベクトルが設定されている単位領域毎に、当該単位領域について設定されているフィルタ係数ベクトルを用いた画像フィルタ(フィルタ処理部103にて作用する画像フィルタ)を作用させることにより得られるフィルタ済画像#103に生じるブロック歪みの強度を判定するブロック歪み判定装置において、判定の対象である、隣接する単位領域の双方にフィルタ係数ベクトルが設定されている場合には、当該隣接する単位領域の各々について設定されたフィルタ係数ベクトルを特定し、上記判定の対象である、隣接する単位領域の一方にのみフィルタ係数ベクトルが設定されている場合には、当該一方の単位領域について設定されたフィルタ係数ベクトルを特定するとともに、他方の単位領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルを特定する特定手段として機能し、さらにブロックノイズ判定部102は、特定した2つのフィルタ係数ベクトルを参照して、上記判定の対象である、隣接する単位領域の間で生じるブロック歪みの強度を判定する判定手段としても機能する。
 ブロックノイズ判定部102は、上記特定した2つのフィルタ係数ベクトルを参照して、上記判定の対象である、隣接する単位領域の間で生じるブロック歪みの強度を判定するので、上記単位領域の境界に生じるブロック歪みの強度を精度よく判定することができる。
 ここで、上記予め定められたフィルタ係数ベクトルとしては、例えば、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、当該中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数ベクトル(以下、自明なフィルタ係数ベクトルと呼ぶ)、または、そのような自明なフィルタ係数ベクトルとの差が所定の大きさ以下であるフィルタ係数ベクトルを用いることができる。
 また、ブロックノイズ判定部102は、フィルタ係数ベクトルを参照して、ブロック歪みの強度を単位領域対ごとに判定するので、画素値を参照してブロック歪みの強度を画素対ごとに判定する従来の構成に比べて、ブロック歪みの強度を判定するための処理量を削減することができるという効果を奏する。
 (ブロックノイズ低減部104)
 続いて、ブロックノイズ低減部104について図11を参照して説明する。
 ブロックノイズ低減部104は、デブロック画像#50を参照し、フィルタ済画像#103において隣接する構成領域の境界の近傍に位置する画素に対してブロックノイズ低減処理を行うことによって、出力画像データ#100を生成し出力する。
 より具体的には、ブロックノイズ低減部104は、以下の数式(5)に示すように、出力画像データ#100の示す画像における、隣接する2つの構成領域の境界の近傍に位置する画素の画素値を、フィルタ済画像#103およびデブロック画像#50における当該画素の画素値の加重平均をとることによって算出する。
 SL(x、y)=r×SO(x、y)+(1-r)×SI(x、y)   (5)
ここで、SL(x、y)は、出力画像データ#100の示す画像の座標(x、y)における画素値を表しており、SO(x、y)は、フィルタ済画像#103の座標(x、y)における画素値を表しており、SI(x、y)は、デブロック画像#50の座標(x、y)における画素値を表している。
 また、数式(5)におけるrは、隣接する2つの構成領域の境界と座標(x、y)の示す画素との距離に応じて定まる重み係数を表している。重み係数rの具体的な値は、例えば、以下のように定めればよい。
 ・d=0のとき、r=1/4   (6a)
 ・d=1のとき、r=1/2   (6b)
 ・d=2のとき、r=3/4   (6c)
 ・d≧3のとき、r=1     (6d)
 ここで、dは、隣接する2つの構成領域の境界と座標(x、y)との画素を単位として表した距離を表している。すなわち、d=0は、座標(x、y)の示す画素が、上記境界に接している場合を表しており、d=nは、座標(x、y)の示す画素が、上記境界からn画素離れている場合を表している(以下同様)。
 このように、重み係数rは、座標(x、y)の示す画素が、上記境界により近い場合に、より0に近い値をとり、座標(x、y)の示す画素が、上記境界から十分に遠い場合に、1をとる係数である。
 したがって、数式(5)によって算出される出力画像データ#100の示す画像に対するフィルタ済画像#103の寄与は、隣接する2つの構成領域の境界に近いほど小さく、デブロック画像#50の寄与は、隣接する2つの構成領域の境界に近いほど大きい。
 これは、デブロック画像#50に対して、隣接する2つの構成領域の境界に近いほど弱いフィルタが施されていることと同等である。
 したがって、ブロックノイズ低減部104は、数式(5)を用いて出力画像データ#100の各画素値を算出することによって、ブロックノイズを低減することができる。
 なお、隣接する2つの構成領域の何れかがフィルタオフ領域である場合には、フィルタ済画像#103における当該フィルタオフ領域に属する画素の画素値を、出力画像データ#100の当該画素の画素値として出力するような構成としてもよい。
 また、ブロックノイズ低減部104は、判定情報#102を参照し、ブロックノイズ判定部102によって、ブロックノイズが発生する可能性が高いと判定された境界の近傍の画素に対して、数式(5)を用いた処理を行う構成とすることが好ましい。
 また、ブロックノイズ低減部104は、後述する動画像符号化装置2において生成される判定情報#203を参照して、上記の処理を行うか否かを切り替えるような構成としてもよい。
 適応フィルタ100は、デブロック画像#50を複数の領域に分割し、領域毎にフィルタリングをオン/オフ制御することによって、もしくは、領域毎に最適なフィルタ係数群及びオフセットを用いることによって画質を向上させる。しかしこのように領域分割を行った場合であっても、領域分割の粒度および精度の制限により、領域毎に選択されたフィルタが、領域の境界付近においても最適なフィルタであるとは限らない。実際には、領域の境界付近においては、境界に接する2つのフィルタの中間的な効果を有するフィルタの方が最適であると考えられる。このような知見に基づき、本発明者はブロックノイズ低減処理の効果を確認したところ、ブロック低減処理を有効とすることにより符号化効率向上の効果が得られることを見出した。
 この符号化効率向上効果は、判定情報を用いない場合にも得られ、また、本発明者の実験では、判定情報を用いない場合にも主観画質の低下は見出されない。このことから、ブロックノイズ低減部104は、判定情報#102および判定情報#203の何れも参照することなく、すべての境界の近傍の画素に対して上記の処理を行うような構成としてもよい。
 なお、さらに符号化効率向上を高めることを目的とする場合には、判定処理を行うか否かを示すフラグを、フィルタ係数情報FCに含めるようにしても良い。また、ブロックノイズ低減処理は一定の処理量を必要とすることから、この処理を適応的にオフにできるよう、フィルタ係数情報FCにブロックノイズ低減処理を行うか否かを示すフラグを含めるようにしても良い。
 図11は、ブロックノイズ低減部104によるブロックノイズ低減処理の例を示す図であって、(a)は、隣接する2つの構成領域OR1およびOR2の境界B(1,2)の近傍におけるデブロック画像#50の例を示すものであり、(b)は、当該境界の近傍におけるフィルタ済画像#103の例を示すものであり、(c)は、当該境界の近傍における出力画像データ#100の示す画像の例を示すものである。
 図11(a)~(c)に示す例においては、構成領域OR1がフィルタオフ領域であり、構成領域OR2がフィルタオン領域である。したがって、フィルタ済画像#103の構成領域OR1に属する画素の画素値は、デブロック画像#50の対応する画素の画素値と同じである。一方で、フィルタ済画像#103の構成領域OR2に属する画素の画素値と、デブロック画像#50の対応する画素の画素値とは異なっている。
 図11(c)に示すNR0は、境界B(1,2)からの距離dが0である画素、すなわち、境界B(1,2)に隣接する画素から構成される領域を表しており、NRn(1≦n≦3)は、境界B(1,2)からの距離dがnである画素から構成される領域を表している。
 図11(c)に示す例においては、ブロックノイズ低減部104は、領域NR0に属する画素の画素値に対してはr=1/4とした数式(5)を用いて、出力画像データ#100の当該画素の画素値を生成し、領域NR1に属する画素の画素値に対してはr=1/2とした数式(5)を用いて、出力画像データ#100の当該画素の画素値を生成し、領域NR2に属する画素の画素値に対してはr=3/4とした数式(5)を用いて、出力画像データ#100の当該画素の画素値を生成し、領域NR3に属する画素の画素値に対してはr=1とした数式(5)を用いて、出力画像データ#100の当該画素の画素値を生成する。
 また、図11(a)~(c)に示す例においては、構成領域OR1がフィルタオフ領域であるため、出力画像データ#100の示す画像における構成領域OR1に属する画素の画素値は、デブロック画像#50およびフィルタ済画像#103の当該画素の画素値と同じになる。
 なお、数式(5)における重み係数rの値は、一般には、パラメータPと上記距離dとを用いて、
 ・0≦d≦Pのとき、r=(d+1)/(P+1)   (7a)
 ・P+1≦dのとき、r=1             (7b)
ととればよい。ここで、パラメータPは、ブロックノイズ低減処理の強度を指定するパラメータであり、0以上の整数である。なお、パラメータPの値が大きいほど、より強いブロックノイズ低減処理を施すことに対応しており、P=0は、ブロックノイズ低減処理を行わないことと同等である。また、数式(6a)~(6d)は、P=3とおいた場合に対応している。
 また、パラメータPの値は、フレーム毎に予め定められた値を用いてもよいし、ブロックノイズ低減処理の対象となる境界毎に設定された値を用いてもよい。
 例えば、ブロックノイズ判定部102が、(判定動作例6)に示した動作を行う場合には、ブロックノイズ低減部104は、判定情報#102を参照し、ブロックノイズ判定部102によって判定されたブロックノイズの強度Xの値を、上記パラメータPの値に設定するような構成としてもよい。
 このように、ブロックノイズ低減部104が、ブロックノイズ判定部102によって判定された強度に応じたブロックノイズ低減処理を行うことによって、より効果的にブロックノイズを低減することができる。
 なお、符号化データ#1が、後述する動画像符号化装置2において生成される判定情報#203を含む場合には、ブロックノイズ低減部104は、判定情報#203を参照して、パラメータPの値を決定するような構成としてもよい。
 以上、適応フィルタ100が、動画像復号装置1におけるデブロッキングフィルタ50の後段に配置されている場合を例に挙げ説明を行ったが、本発明はそのような配置に限定されるものではない。例えば、適応フィルタ100の備える各構成は、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されているAIF(Adaptive Interpolation Filter)に対して適用することもできる。
 また、適応フィルタ100は、一般に、入力画像に対してフィルタ係数およびオフセットを用いたフィルタリングを施すフィルタとして、広く適用することができる。また、適応フィルタ100は、そのように一般に用いられる場合であっても、少ない処理量によって効果的にブロックノイズを低減することができるフィルタとして機能する。
 また、適応フィルタ100の備えるブロックノイズ判定部102は、一般に、フィルタ係数およびオフセットを用いたフィルタリングによって生じるブロックノイズの大きさを判定する装置として、広く適用することができる。
 このように、適応フィルタ100は、複数の単位領域から構成されている入力画像(デブロック画像#50)において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を導出する画像フィルタ装置であって、上記対象領域に属する対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて、当該対象画素のフィルタ済画像における画素値を導出するフィルタ手段(フィルタ処理部103)と、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることによって、上記対象画素の調整後の画素値を算出する画素値算出手段(ブロックノイズ低減部104)と、上記対象領域と当該対象領域に隣接する単位領域である隣接領域との境界からの距離が所定の距離以下である対象画素については、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、上記境界からの距離が上記所定の距離より大きい対象画素については、上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する画素値設定手段(ブロックノイズ低減部104)と、を備えている。
 上記のように構成された適応フィルタ100によれば、上記境界からの距離が所定の距離以下である上記対象画素の出力画像における画素値を、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることにより算出する。これは、上記対象画素の上記境界からの距離が所定の距離以下である領域に対して、上記フィルタ係数ベクトルによって規定されるフィルタよりも弱いフィルタを作用させることと同等である。したがって、上記の構成によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、ブロック歪みを低減することができる。
 すなわち、上記のように構成された適応フィルタ100によれば、当該対象画素の入力画像における画素値と、当該対象画素の上記フィルタ済画像における画素値との平均をとるという単純な処理によってブロック歪みを低減することができる。
 また、従来のデブロッキングフィルタにおいては、予め定められたフィルタ係数であって、高周波成分を除去する効果の強いフィルタ係数(すなわち、ローパス的な効果の強いフィルタ係数)が用いられるので、フィルタによってブロック境界に元々存在するエッジや高周波成分にボケが発生することを防ぐために、ブロック境界におけるエッジの有無、高周波成分の有無、または、それらの強度を判定し、判定結果に応じてフィルタのオンオフや強弱を変更する処理を行う必要があるが、上記のように構成された適応フィルタ100は、フィルタ係数(およびオフセット)を適応的に導出し、導出されたフィルタ係数(およびオフセット)は、高周波成分を除去する効果が弱い(すなわち、ローパス的な効果が弱い)という傾向があるため、デブロッキングフィルタのようなエッジの判定を行わなくとも、フィルタによってブロック境界に元々存在するエッジや高周波成分にボケが発生するという問題が生じにくい。
 また、上記のように構成された適応フィルタ100において、単位領域の境界付近に対して用いられるフィルタ係数およびオフセットは、当該単位領域について適応的に求められたフィルタ係数およびオフセットによって規定されるフィルタよりも弱いフィルタであるため、フィルタによってブロック境界に元々存在するエッジや高周波成分にボケが発生するという問題が、より生じにくいものとなっている。
 このため、適応フィルタ100においては、従来のデブロッキングフィルタのような、エッジの有無などについての判定処理を省略することができる。したがって、適応フィルタ100は、従来のデブロッキングフィルタに比べて、少ない演算量でブロック歪みを低減することができる。
 また、上記のように構成された適応フィルタ100によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、符号化効率が向上するという効果も奏する。
 なお、上記平均は、通常の相加平均であってもよいし、相乗平均であってもよいし、所定の重み係数を用いた加重平均であってもよい。
 (動画像符号化装置2)
 以下では、動画像復号装置1によって復号される符号データ#1を生成することのできる動画像符号化装置2(符号化装置)の構成について図12を参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG-4 AVC、および、KTAソフトウェアに採用されている技術を含む復号装置である。
 図12は、動画像符号化装置2の構成を示すブロック図である。図12に示すように、動画像符号化装置2は、変換・量子化部21、可変長符号化部22、逆量子化・逆変換部23、バッファメモリ24、イントラ予測画像生成部25、インター予測画像生成部26、予測方式制御部28、動きベクトル冗長性削減部29、加算器31、減算器32、デブロッキングフィルタ50、および、適応フィルタ200を備えている。
 動画像符号化装置2には、マクロブロックに分割された入力画像#10が入力される。
 動画像符号化装置2は、入力画像#10の符号化処理を行い、符号化データ#1を出力する。
 変換・量子化部21は、マクロブロックに分割された入力画像#10と、後述する予測方式制御部28から出力される予測画像#28aとの差分画像#32を、DCT変換により、周波数成分へ変換した後、当該周波数成分の量子化を行い、量子化予測残差データ#21を生成する。ここで、上記量子化とは、上記周波数成分を整数値に対応付ける演算のことである。また、上記DCT変換、および、量子化は、マクロブロックを分割したブロック単位で行われる。以下では、処理の対象となるマクロブロックを「対象マクロブロック」と呼び、処理の対象となるブロックを「対象ブロック」と呼ぶ。
 逆量子化・逆変換部23は、量子化予測残差データ#21の復号を行い、予測残差#23を生成する。具体的には、逆量子化・逆変換部23は、量子化予測残差データ#21の逆量子化、すなわち、量子化予測残差データ#21を構成する整数値の周波数成分への対応付け、および、当該周波数成分の逆DCT変換、すなわち、当該周波数成分に基づいた対象マクロブロックの画素成分への逆変換を行い、予測残差#23を生成する。
 加算器31は、予測残差#23と、予測画像#28aとを加算し、復号画像#31を生成する。生成された復号画像#31は、デブロッキングフィルタ50に供給される。
 デブロッキングフィルタ50は、復号画像#31における当該ブロック境界、またはマクロブロック境界に対してデブロッキング処理を施す。デブロッキング処理が施された画像データは、デブロック画像#50として出力される。デブロッキングフィルタ50は、動画像復号装置1の備えるデブロッキングフィルタ50と同様の構成である。
 適応フィルタ200は、デブロック画像#50に対してフィルタリングを施し、出力画像データ#200をバッファメモリ24に対して出力する。また、適応フィルタ200は、フィルタリングに用いたフィルタ係数およびオフセットを示す情報であるフィルタ係数情報#201aを可変長符号化部22に対して出力する。ここで、フィルタ係数情報#201aは、動画像復号装置1によって参照されるフィルタ係数情報#13dに対応している。
 また、適応フィルタ200は、フィルタ係数情報#201aの示すフィルタ係数を用いたフィルタリングの対象となる領域の位置およびサイズを指定する情報、フィルタリングのタップ数を指定する情報、および、フィルタリングのオン/オフを指定する情報を含むフィルタパラメータ情報#201bを可変長符号化部22に対して出力する。適応フィルタ200の構成については、後述するため、ここでは説明を省略する。
 イントラ予測画像生成部25は、バッファメモリ24に格納された出力画像データ#200から局所復号画像#24a(対象マクロブロックと同じフレームの既復号領域)を抽出し、局所復号画像#24aに基づいてフレーム内予測を行い、イントラ予測画像#25を生成する。
 インター予測画像生成部26は、入力画像#10上の対象ブロックに対し、既にフレーム全体が復号され、バッファメモリ24に格納された参照画像#24bを用いて、動きベクトル#27を算出し、割り付ける。なお、参照画像#24bは、後述する適応フィルタ200から出力され、バッファメモリ24に格納された出力画像データ#200の示す画像であって、フレーム全体が復号された画像に対応している。
 算出された動きベクトル#27は、インター予測画像生成部26、動きベクトル冗長性削減部29に対して出力されると共に、バッファメモリ24に格納される。また、インター予測画像生成部26は、参照画像#24bに対し、ブロックごとに、動きベクトル#27に基づいた動き補償を行い、インター予測画像#26を生成する。
 予測方式制御部28は、マクロブロック単位で、イントラ予測画像#25と、インター予測画像#26と、入力画像#10とを比較し、イントラ予測画像#25、または、インター予測画像#26のうち、何れか一方を選択し、予測画像#28aとして出力する。また、予測方式制御部28は、イントラ予測画像#25、または、インター予測画像#26のうち、何れを選択したのかを表す情報である予測モード情報#28bを出力する。予測画像#28aは減算器32に入力される。
 予測モード情報#28bは、バッファメモリ24に格納されると共に、可変長符号化部22に入力される。
 動きベクトル冗長性削減部29は、インター予測画像生成部26において上記対象ブロックに動きベクトル#27が割り付けられた後、他のブロックに割り付けられ、バッファメモリ24に格納された動きベクトル群#24cに基づいて予測ベクトルを算出する。また、動きベクトル冗長性削減部29は、当該予測ベクトルと、動きベクトル#27との差分をとり、差分動きベクトル#29を生成する。生成された差分動きベクトル#29は、可変長符号化部22に出力される。
 可変長符号化部22は、量子化予測残差データ#21、差分動きベクトル#29、予測モード情報#28b、フィルタ係数情報#201a、および、フィルタパラメータ情報#201bに対して可変長符号化を行い、符号化データ#1を生成する。
 減算器32は、対象マクロブロックに対し、入力画像#10と、予測画像#28aとの差分をとり、差分画像#32を出力する。
 (適応フィルタ200)
 以下では、図12を参照して、適応フィルタ200の構成について説明する。図12に示すように、適応フィルタ200は、フィルタ処理部201、フィルタ係数蓄積部202、ブロックノイズ判定部203、および、ブロックノイズ低減部204を備えている。
 (フィルタ処理部201)
 フィルタ処理部201は、デブロック画像#50に対して行うフィルタリングに用いられるフィルタ係数およびオフセットを、フィルタ後のデブロック画像と入力画像#10との誤差が最小になるように導出する。また、フィルタ処理部201は、導出されたフィルタ係数およびオフセットを用いて、デブロック画像#50に対してフィルタリングを行う。
 以下では、フィルタ処理部201の動作の例についてより具体的に説明する。
 (ステップS1001)
 フィルタ処理部201は、まず、所定の領域毎(例えば、スライス毎またはフレーム毎)に、以下の数式(8)によって与えられえる、フィルタ後のデブロック画像の各画素値と入力画像#10の各画素値との二乗誤差Eが最小となるようにフィルタ係数h(i、j)およびオフセットhoffsetを導出する。
Figure JPOXMLDOC01-appb-M000004
 ここで、S(x、y)は、入力画像#10の座標(x、y)における画素値を表しており、SI(x、y)は、デブロック画像#50の座標(x、y)における画素値を表している。また、数式(8)におけるRは、タップ数によって指定されるフィルタ参照領域を表しており、フィルタ係数h(i、j)を重み係数とするSI(x、y)の加重線形和の対象となる相対座標のセットによって表現することができる。例えば、座標(x、y)における画素を中心とした3×3タップのフィルタリングを行う場合には、R={(-1、-1)、(-1、0)、(-1、1)、(0、-1)、(0、0)、(0、1)、(1、-1)、(1、0)、(1、1)}である。
 (ステップS1002)
 続いて、フィルタ処理部201は、デブロック画像#50に対して、すでに説明した数式(4)を用いたフィルタリングを行うことによって、フィルタ後のデブロック画像の各画素値を算出する。なお、本ステップにおいては、数式(4)のSO(x’、y’)は、フィルタ後のデブロック画像の座標(x’、y’)における画素値を表しているものとする。また、本ステップにおいては、数式(4)のh(i、j)およびhoffsetは、それぞれ、ステップS1001にて導出されたフィルタ係数およびオフセットを表しているものとし、数式(4)のRは、ステップS1001にて用いられたフィルタ参照領域を表しているものとする。
 また、フィルタ処理部201は、フィルタ後のデブロック画像の画素値SO(x、y)と入力画像#10の画素値S(x、y)との残差データを符号化する場合の符号化効率が最大となるように、フィルタ参照領域Rのタップ数を最適化する構成としてもよい。
 (ステップS1003)
 続いて、フィルタ処理部201は、上記所定の領域を構成する複数の単位領域の各々をフィルタオン領域またはフィルタオフ領域の何れかに分類する。ここで、各単位領域は、マクロブロックであってもよいし、ブロックであってもよいし、ブロックよりも小さな領域であってもよい。また、各単位領域は、同一のサイズであってもよいし、上記所定の領域を四分木(Quad-tree)により階層的に分割したものであってもよい。なお、単位領域は、複数の画素から構成されていてもよいし、単一の画素から構成されていてもよい。
 より具体的には、フィルタ処理部201は、単位領域毎に、フィルタ後のデブロック画像の画素値SO(x、y)と入力画像#10の画素値S(x、y)との残差データを符号化する場合の符号化効率CE1と、デブロック画像#50の画素値SI(x、y)と入力画像#10の画素値S(x、y)との残差データを符号化する場合の符号化効率CE2とを比較し、CE1<CE2である場合には、当該単位領域をフィルタオン領域に分類し、CE1≧CE2である場合には、当該単位領域をフィルタオフ領域に分類する。
 本ステップにて分類された単位領域から構成されるフィルタオン領域およびフィルタオフ領域の一例としては、すでに説明した図2(a)が挙げられる。
 (ステップS1004)
 続いて、フィルタ処理部201は、デブロック画像#50を構成する単位領域のうち、フィルタオン領域に分類された単位領域に対してのみ、(ステップS1002)に示したフィルタリングを行うことによって、フィルタ済画像#103cを生成し、出力する。
 また、フィルタ処理部201は、以上の処理によって決定されたフィルタ係数h(i、j)およびオフセットhoffsetを示す情報を、フィルタ係数情報#201aとして出力する。また、フィルタ処理部201は、各単位領域の位置およびサイズを指定する情報、ステップS1002にて最適化されたタップ数を指定する情報、および、フィルタリングのオン/オフを示す情報(フィルタオン/オフ情報)を含む情報を、フィルタパラメータ情報#201bとして出力する。
 ここで、フィルタオン/オフ情報は、上記所定の領域を構成する複数の単位領域の各々についてフィルタリングを行うか否かを指定する情報であり、領域を示す情報と、その領域毎にオンオフを示す情報とから構成される。ここで、オンオフを示す情報は、例えば、フィルタリングの対象となる領域に対して“1”をとり、そうでない領域に対して“0”をとる1ビットの情報によって表現される。一方で、領域を示す情報とは、例えば、当該領域が予め定められた所定のサイズの領域であることを示す情報、若しくは、当該領域が、四分木(Quad-tree)によって分類された複数の階層のうち、何れの階層に属するものであるかを示す情報である。
 (変形例1)
 なお、フィルタ処理部201は、(ステップS1001)~(ステップS1003)に対応する処理を複数回繰り返すような構成としてもよい。すなわち、フィルタ処理部201は、ステップS1003にてフィルタオン領域に分類された単位領域のみから構成される単位領域群に対して、数式(8)によって与えられる二乗誤差Eが最小となるようにフィルタ係数およびオフセットを導出し、それらのフィルタ係数およびオフセットを用いて、ステップS1002~ステップS1003に対応する処理を行う構成としてもよい。このような構成とすることで、符号化効率がより高くなるようなフィルタオン領域およびフィルタオフ領域の配置、フィルタ係数およびオフセットの値、および、タップ数の組み合わせを導出することができる。
 (変形例2)
 また、フィルタ処理部201は、上記所定の領域を複数の構成領域に分割し、構成領域毎に、数式(8)に示す二乗誤差を最小にするようにフィルタ係数およびオフセットを導出するような構成としてもよい。例えば、フィルタ処理部201は、図2(b)に示すように、上記所定の領域を、複数の構成領域OR1~OR3に分割し、構成領域OR1に属する画素の画素値を用いた最小二乗法によってフィルタ係数h(1) ijおよびオフセットh(1) offsetを導出し、構成領域OR2に属する画素の画素値を用いた最小二乗法によってフィルタ係数h(2) ijおよびオフセットh(2) offsetを導出し、構成領域OR3に属する画素の画素値を用いた最小二乗法によってフィルタ係数h(3) ijおよびオフセットh(3) offsetを導出するような構成としてもよい。
 なお、上記のような構成とする場合、フィルタ処理部201は、構成領域毎に導出されたフィルタ係数およびオフセットを示す情報を、フィルタ係数情報#201aとして出力する。
 また、フィルタ処理部201は、上記の(変形例1)と同様に、構成領域への分割、および、フィルタ係数およびオフセットの導出を複数回繰り返すことによって、符号化効率がより高くなるような構成領域の配置、フィルタ係数およびオフセットの値、および、タップ数の組み合わせを導出するようにしてもよい。
 (フィルタ係数蓄積部202)
 フィルタ係数蓄積部202には、フィルタ係数情報#201aの示すフィルタ係数およびオフセットが蓄積される。より具体的には、フィルタ係数蓄積部202には、少なくとも、隣接する2つの構成領域に割り付けられたフィルタ係数が蓄積される。なお、構成領域がフィルタオフ領域である場合には、当該構成領域に対しては、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数およびオフセットが割り付けられているものとして取り扱えばよい。
 (ブロックノイズ判定部203)
 ブロックノイズ判定部203は、フィルタ係数蓄積部202に蓄積されたフィルタ係数およびオフセットを参照し、隣接する2つの構成領域に割り付けられたフィルタ係数およびオフセットの値に基づいて、フィルタ済画像#201cにおける当該2つの構成領域の境界に生じるブロックノイズの大きさを判定する。より正確には、ブロックノイズ判定部203は、隣接する2つの構成領域に割り付けられたフィルタ係数およびオフセットの値に基づいて、フィルタ済画像#201cにおける当該2つの構成領域の境界にブロックノイズが生じる可能性が高いか低いかを判定する。
 ブロックノイズ判定部203は、すでに説明した動画像復号装置1が備えるブロックノイズ判定部102と同様の動作を行う構成とすればよい。
 また、ブロックノイズ判定部203は、判定した結果を示す情報を、判定情報#203として出力する。ここで、判定情報#203は、ブロックノイズ判定部102が出力する判定情報#102に対応している。
 なお、ブロックノイズ判定部203は、(判定動作例1)~(判定動作例7)に示した複数の判定動作に対応する動作のうち何れかの判定動作を選択的に行う構成としてもよい。ここで、ブロックノイズ判定部203は、例えば、境界毎に符号化効率のより高い判定動作を選択するような構成とすればよい。
 例えば、1フレームが構成領域OR1、OR2、および、OR3から構成される場合であって、構成領域OR1と構成領域OR2との境界B(1、2)におけるブロックノイズに対して(判定動作例1)に対応する判定動作を行い、構成領域OR2と構成領域OR3との境界B(2、3)におけるブロックノイズに対して(判定動作例2)に対応する判定動作を行い、構成領域OR3と構成領域OR1との境界B(3、1)におけるブロックノイズに対して(判定動作例3)に対応する判定動作を行ってもよい。
 また、判定動作の選択は、例えば、スライス毎、フレーム毎に行われるような構成としてもよい。
 このように選択的に判定動作を行う場合には、ブロックノイズ判定部203は、何れの判定動作を行ったのかを示すフラグを可変長符号化部22に対して出力し、可変長符号化部22は当該フラグを判定動作指定情報として符号化することが好ましい。
 また、ブロックノイズ判定部203は、境界毎に判定動作のオン/オフを切り替え可能に構成してもよい。例えば、上記の例において、ブロックノイズ判定部203は、構成領域OR1およびOR2に対して判定動作を行うが、構成領域OR3に対しては判定動作を行わないような構成としてもよい。
 このように、各境界に対してブロックノイズの判定動作のオン/オフを切り替える場合には、ブロックノイズ判定部203は、境界毎に、ブロックノイズの判定動作のオン/オフを指定するフラグを可変長符号化部22に対して出力し、可変長符号化部22は当該フラグを判定動作指定情報として符号化することが好ましい。
 また、ブロックノイズ判定部203は、判定動作に用いた閾値(例えば、判定動作例1におけるTh1)を可変長符号化部22に出力し、可変長符号化部22が当該閾値を指定する閾値情報を符号化するような構成としてもよい。
 また、ブロックノイズ判定部203は、判定情報#203を可変長符号化部22に出力し、可変長符号化部22は判定情報#203を符号化するような構成としてもよい。
 (ブロックノイズ低減部204)
 ブロックノイズ低減部204は、デブロック画像#50を参照し、フィルタ済画像#201cにおいて隣接する構成領域の境界の近傍に位置する画素に対してブロックノイズ低減処理を行うことによって、出力画像データ#200を生成し出力する。
 ブロックノイズ低減部204は、すでに説明した動画像復号装置1が備えるブロックノイズ低減部104と同様の動作を行う構成とすればよい。なお、出力画像データ#200は、ブロックノイズ低減部104が出力する出力画像データ#100に対応し、ブロックノイズ低減部204に供給されるフィルタ済画像#201cは、ブロックノイズ低減部104に供給されるフィルタ済画像#103に対応している。
 〔実施形態2〕
 以下では、本発明の第2の実施形態について図14~図16を参照して説明する。
 実施形態1においては、フィルタ処理部103によってフィルタリングが施されたフィルタ済画像#103に対してブロックノイズ低減処理を施すブロックノイズ低減部104を備えている適応フィルタ100について説明を行ったが、本発明は、そのような構成に限定されるものではない。
 以下では、本発明に係る第2の実施形態として、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットに基づいて、予めブロックノイズを生じにくいフィルタ係数およびオフセットを算出しておき、そのようなフィルタ係数およびオフセットを用いて、デブロック画像#50に対してフィルタリングを行うことによって、ブロックノイズを低減する適応フィルタ、および、そのような適応フィルタを備えている動画像復号装置並びにそのような適応フィルタを備えている動画像符号化装置について説明を行う。
 (動画像復号装置)
 まず、本実施形態に係る動画像復号装置3について図14を参照して説明する。動画像復号装置3は、符号化データ#3を復号することによって復号画像#2を生成し、出力する。符号化データ#3の構成は、符号化データ#1と同様であるため、説明を省略する。
 また、以下では、実施形態1において説明した部分には実施形態1において用いた符号と同じ符号を付し、その説明を省略する。また、フィルタ係数およびオフセットについては、実施形態1において用いた表記法と同様の表記法を用いる。
 図14は、本実施形態に係る動画像復号装置3の構成を示すブロック図である。図14に示すように、動画像復号装置3は、実施形態1に係る動画像復号装置1が備える適応フィルタ100に代えて、適応フィルタ300を備えている。動画像復号装置3の他の構成は、動画像復号装置1の構成と同様である。ただし、本実施形態においては、バッファメモリ15には、実施形態1における出力画像データ#100に代えて、適応フィルタ300の出力する出力画像データ#300が供給される。
 (適応フィルタ300)
 以下では、適応フィルタ300の構成について、図14を参照して説明する。図14に示すように、適応フィルタ300は、フィルタ係数蓄積部101、ブロックノイズ判定部102、および、フィルタ処理部303を備えている。
 フィルタ係数蓄積部101、および、ブロックノイズ判定部102の構成は、実施形態1において説明したものと同様である。ただし、本実施形態においては、実施形態1のブロックノイズ判定部102による(判定動作例1)~(判定動作例7)の説明文中の「フィルタ済画像#103」を、「フィルタ係数#101に含まれているフィルタ係数およびオフセットを用いたフィルタリングが行われたとした場合の画像」と読み替えるものとする。
 (フィルタ処理部303)
 フィルタ処理部303は、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットに基づいて、修正されたフィルタ係数およびオフセットを導出し、修正されたフィルタ係数およびオフセットを用いてデブロック画像#50に対してフィルタリングを行うことによって、出力画像データ#300を生成する。
 より具体的には、フィルタ処理部303は、出力画像データ#300の座標(x、y)における画素値SL(x、y)を以下の数式(9)によって表される加重線形和によって算出する。
Figure JPOXMLDOC01-appb-M000005
 ここで、SI(x、y)は、デブロック画像#50の座標(x、y)における画素値を表している。また、h'(i、j)は、フィルタ係数蓄積部101に蓄積されたフィルタ係数に基づいて導出される修正されたフィルタ係数を表しており、デブロック画像#50を構成する画素値SI(x+i、y+j)に乗ぜられるフィルタ係数である。また、オフセットh'offsetは、フィルタ係数蓄積部101に蓄積されたオフセットに基づいて導出される修正されたオフセットを表している。
 また、数式(9)におけるRは、数式(4)におけるRと同様に、フィルタ参照領域を表しており、フィルタパラメータ情報#13eによって指定される。
 以下では、フィルタ処理部303による、フィルタ係数h'(i、j)、および、オフセットh'offsetの具体的な導出動作の例について説明する。
 なお、以下では、数式(9)における座標(x、y)の示す画素が、構成領域ORgに属しているものとし、構成領域ORgに隣接する構成領域をORg’と表すことにするが、これによって一般性が失われるものではない。
 また、座標(x、y)の示す画素が、構成領域ORgに属しているとき、数式(9)におけるフィルタ係数h'(x、y)およびオフセットh'offsetを、それぞれ、より正確に、実施形態1において用いた表記法を用いて、h(g) ij’およびh(g) offset’と表わすことにする。また、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数をh(g) center’と表すことにする。
 (導出動作例1)
 まず、フィルタ処理部303による、フィルタ係数h'(i、j)およびオフセットh'offsetの具体的な導出動作の第1の例について図15を参照して説明する。
 本例においては、フィルタ処理部303は、フィルタ係数蓄積部101に蓄積されたフィルタ係数に対して、中心画素にかかるフィルタ係数が大きくなる変更、中心画素以外のフィルタ係数を小さくする変更、および、オフセットを小さくする変更のうち少なくとも1つの変更を行うことによってフィルタ係数を導出する。
 以下では、一例として、フィルタ処理部303が、フィルタ係数h(g) ij’およびオフセットh(g) offset’を、以下の数式(10a)~(10c)によって導出する場合について説明する。
 h(g) center’=r×h(g) center+1-r   (10a)
 h(g) ij’=r×h(g) ij   ただし(i,j)≠center   (10b)
 h(g) offset’=r×h(g) offset       (10c)
 ここで、h(g) ijは、フィルタ係数蓄積部101に蓄積されたフィルタ係数のうち、構成領域ORgに割り付けられたフィルタ係数を表しており、h(g) offsetは、フィルタ係数蓄積部101に蓄積されたオフセットのうち、構成領域ORgに割り付けられたオフセットを表している。また、h(g) centerは、h(g) ijのうち、フィルタ参照領域Rの中心画素に対するフィルタ係数を表している。
 また、rは、実施形態1における数式(6a)~(6d)を用いて説明したものと同様の重み係数である。
 すなわち、重み係数rは、座標(x、y)の示す画素が、上記境界により近い場合に、より0に近い値をとり、座標(x、y)の示す画素が、上記境界から十分に遠い場合に、1をとる係数である。
 図15は、フィルタ処理部303によるフィルタ係数h'(i、j)およびオフセットh'offsetの具体的な導出動作を説明するためのものであって、隣接する2つの構成領域ORgおよびORg’の境界B(g,g')の近傍における出力画像データ#300の示す画像の例を示す図である。図15においては、構成領域ORgがフィルタオン領域であり、構成領域ORg’がフィルタオフ領域であるものとしている。
 図15に示すNR0’は、境界B(g,g')からの距離dが0である画素、すなわち、境界B(g,g')に隣接する画素から構成される領域を表しており、NRn’(1≦n≦2)は、境界B(g,g')からの距離dがnである画素から構成される領域を表しており、NR3’は、境界B(g,g')からの距離dが3以上である画素から構成される領域を表している。
 本例の動作を行うフィルタ処理部303は、r=1/4を代入した数式(10a)~(10c)を用いてフィルタ係数h(g) center’、h(g) ij’およびオフセットh(g) offset’を導出し、導出したフィルタ係数h(g) center’、h(g) ij’およびオフセットh(g) offset’を代入した数式(9)を用いることによって、領域NR0’に属する画素に対する出力画像データ#300を算出する。
 同様に、本例の動作を行うフィルタ処理部303は、r=1/2、r=3/4、r=1をそれぞれ代入した数式(10a)~(10c)を用いてフィルタ係数h(g) center’、h(g) ij’およびオフセットh(g) offset’を導出し、導出したフィルタ係数h(g) center’、h(g) ij’およびオフセットh(g) offset’を代入した数式(9)を用いることによって、領域NR1’、領域NR2’、領域NR3’に属する画素に対する出力画像データ#300をそれぞれ算出する。
 また、フィルタ処理部303は、より一般に、数式(7a)~(7b)によって定められるrを代入した数式(10a)~(10c)を用いてフィルタ係数h(g) center’、h(g) ij’およびオフセットh(g) offset’を導出し、導出したフィルタ係数h(g) center’、h(g) ij’およびオフセットh(g) offset’を代入した数式(9)を用いることによって、境界B(g,g')からの距離がdである画素に対する出力画像データ#300を算出する構成としてもよい。
 なお、図15に示す例においては、構成領域ORg’がフィルタオフ領域であるため、出力画像データ#300の示す画像における構成領域ORg’に属する画素の画素値は、デブロック画像#50の当該画素の画素値と同じである。
 数式(10b)から明らかなように、本例の動作を行うフィルタ処理部303は、座標(x、y)の示す画素(すなわち、フィルタ参照領域の中心画素)が、構成領域の境界B(g,g')により近い場合に、より0に近い重み係数をh(g) ij((i,j)≠center)に乗じることによって、h(g) ij’を算出する。
 同様に、数式(10c)から明らかなように、本例の動作を行うフィルタ処理部303は、座標(x、y)の示す画素が、構成領域の境界B(g,g')により近い場合に、より0に近い重み係数をh(g) offsetに乗じることによって、h(g) offset’を算出する。
 一方で、数式(10a)が、
 h(g) center’=r×(h(g) center-1)+1   (10a’)
を表されることから明らかなように、本例の動作を行うフィルタ処理部303は、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数h(g) center’を、当該中心画素が構成領域の境界B(g,g')により近い場合に、より1に近くなるように算出する。
 また、数式(10a’)から明らかなように、フィルタ処理部303は、座標(x、y)の示す画素が構成領域の境界B(g,g')から十分に遠い場合(r=1)に、h(g) centerをh(g) center’に設定し、座標(x、y)の示す画素が構成領域の境界B(g,g')に近づくに従い(すなわち、rの値が0により近くなるに従い)、h(g) center’を1により近い値に設定するものである、と表現することもできる。
 このように、本例におけるフィルタ処理部303は、座標(x、y)の示す画素が構成領域の境界から十分に遠い場合、デブロック画像#50に対して、フィルタ係数蓄積部101に蓄積されたフィルタ係数およびオフセットを用いてフィルタリングを行い、座標(x、y)の示す画素が構成領域の境界に近づくに従い、デブロック画像#50に対して、より弱いフィルタリングを行う。フィルタ境界付近において、ブロックノイズの原因となるフィルタリングを弱めることになるので、本例におけるフィルタ処理部303は、構成領域の境界におけるブロックノイズを低減することができる。
 (導出動作例2)
 続いて、フィルタ処理部303による、フィルタ係数h'(i、j)、および、オフセットh'offsetの具体的な導出動作の第2の例について説明する。
 本例においては、フィルタ処理部303は、フィルタ係数蓄積部101に蓄積された2つのフィルタ係数およびオフセットから、その中間的なフィルタ係数、オフセットを算出し、境界付近の画素に対して、境界をまたぐ2つのフィルタ処理の中間的なフィルタ処理を行う。
 以下では、一例として、フィルタ処理部303が、フィルタ係数h(g) ij’およびオフセットh(g) offset’を、以下の数式(11a)~(11b)によって導出する場合について説明する。
 h(g) ij’=r×h(g) ij+(1-r)×h(g') ij      (11a)
 h(g) offset’=r×h(g) offset+(1-r)×h(g') offset   (11b)
 ここで、h(g) ijは、フィルタ係数蓄積部101に蓄積されたフィルタ係数のうち、構成領域ORgに割り付けられたフィルタ係数を表しており、h(g) offsetは、フィルタ係数蓄積部101に蓄積されたオフセットのうち、構成領域ORgに割り付けられたオフセットを表している。
 一方で、h(g') ijは、フィルタ係数蓄積部101に蓄積されたフィルタ係数のうち、構成領域ORgに隣接する構成領域ORg’に割り付けられたフィルタ係数を表しており、h(g') offsetは、フィルタ係数蓄積部101に蓄積されたオフセットのうち、構成領域ORg’に割り付けられたオフセットを表している。
 また、rは、実施形態1における数式(6a)~(6d)を用いて説明したものと同様の重み係数である。また、rは、ブロックノイズ低減処理の強度を指定するパラメータPを用いて、数式(7a)~(7b)のように定められるものであってもよい。
 なお、数式(11a)におけるフィルタ係数のインデックス(i、j)には、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数を指定するものも含まれる。
 数式(11a)から明らかなように、本例におけるフィルタ処理部303は、構成領域ORgにおけるデブロック画像#50の各画素に乗ぜられるフィルタ係数h(g) ij’を、フィルタ係数蓄積部101に蓄積されたフィルタ係数であって、当該画素に割り付けられたフィルタ係数h(g) ijと、当該構成領域ORgに隣接する構成領域ORg’において、当該画素に対応する画素に割り付けられたフィルタ係数h(g') ijとの加重線形和をとることによって算出する。
 また、構成領域ORgにおけるデブロック画像#50の各画素に対するフィルタ係数h(g) ijに乗ぜられる重み係数rの値は、座標(x、y)の示す画素が、構成領域ORg’との境界B(g,g')により近い場合に、より0に近い。一方で、構成領域ORg’におけるデブロック画像#50の各画素に対するフィルタ係数h(g') ijに乗ぜられる重み係数(1-r)の値は、座標(x、y)の示す画素が、構成領域ORg’との境界B(g,g')により近い場合に、より1に近い。
 また、構成領域ORgにおけるデブロック画像#50の各画素に対するフィルタ係数h(g) ijに乗ぜられる重み係数rの値は、座標(x、y)の示す画素が、構成領域ORg’との境界B(g,g')から十分遠い場合に、1となる。
 したがって、本例におけるフィルタ処理部303は、構成領域ORgにおけるデブロック画像#50に対して、座標(x、y)の示す画素が構成領域の境界B(g,g')から十分遠い場合に、構成領域ORgに割り付けられたフィルタ係数h(g) ijを用いてフィルタリングを行い、座標(x、y)の示す画素が構成領域の境界B(g,g')に近づくに従い、構成領域ORg’に割り付けられたフィルタ係数h(g') ijにより近い値のフィルタ係数を用いて、フィルタリングを行う。
 同様に、数式(11b)から明らかなように、本例におけるフィルタ処理部303は、構成領域ORgにおけるデブロック画像#50フィルタリングに用いられるオフセットh(g) offset’を、フィルタ係数蓄積部101に蓄積されたオフセットであって、当該構成領域ORgに割り付けられたオフセットh(g) offsetと、当該構成領域ORgに隣接する構成領域ORg’に割り付けられたh(g') offsetとの加重線形和をとることによって算出する。
 したがって、本例におけるフィルタ処理部303は、構成領域ORgにおけるデブロック画像#50に対して、座標(x、y)の示す画素が構成領域の境界B(g,g')から十分遠い場合に、構成領域ORgに割り付けられたオフセットh(g) offsetを用いてフィルタリングを行い、座標(x、y)の示す画素が構成領域の境界B(g,g')に近づくに従い、構成領域ORg’に割り付けられたオフセットh(g') offsetにより近い値のオフセットを用いて、フィルタリングを行う。
 以上のように、本例におけるフィルタ処理部303は、フィルタ参照領域の中心画素が構成領域の境界により近い場合に、当該境界を介して隣接する構成領域に対して行われるフィルタリングにより類似したフィルタリングを行う。
 したがって、フィルタ処理部303は、本例の動作を行うことによって、構成領域の境界におけるブロックノイズを低減することができる。
 なお、構成領域ORgまたは構成領域ORg’の何れか一方がフィルタオフ領域である場合には、当該フィルタオフ領域に対して、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるようなフィルタ係数およびオフセットが割り付けられているものとして取り扱えばよい。この場合には、フィルタ処理部303は、導出動作例1の動作と同様の動作を行うことになる。
 このように、適応フィルタ300は、複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を、当該対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて導出する画像フィルタ装置であって、上記対象領域に隣接する単位領域である隣接領域についてフィルタ係数ベクトルが設定されている場合には、上記対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルを特定し、当該隣接領域についてフィルタ係数ベクトルが設定されていない場合には、上記対象領域について設定されているフィルタ係数ベクトルを特定すると共に、当該隣接領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルを特定する特定手段(フィルタ処理部303)と、上記特定手段が特定した2つのフィルタ係数ベクトルの平均をとることにより、調整後のフィルタ係数ベクトルを算出するフィルタ係数ベクトル算出手段(フィルタ処理部303)と、上記対象領域に属する対象画素の出力画像における画素値を、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素については、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、上記対象領域と上記隣接領域との境界からの距離が上記所定の距離より大きい対象画素については、上記対象領域について設定されているフィルタ係数ベクトルを用いて導出するフィルタ手段(フィルタ処理部303)と、を備えていることを特徴としている。
 上記のように構成された適応フィルタ300は、上記隣接領域についてフィルタ係数ベクトルが設定されているときに、上記境界からの距離が所定の距離以下である対象画素の画素値を、上記対象領域に作用するフィルタと上記隣接領域に作用するフィルタとの中間的なフィルタを用いて導出し、上記隣接領域についてフィルタ係数ベクトルが設定されていないときに、上記境界からの距離が所定の距離以下である対象画素の画素値を、上記対象領域に作用するフィルタと上記予め定められたフィルタ係数ベクトルによって規定されるフィルタとの中間的なフィルタを用いて導出する。したがって、上記のように構成された適応フィルタ300によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、上記境界におけるブロック歪みが低減されるという効果を奏する。
 また、上記フィルタ手段(フィルタ処理部303)は、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いてフィルタリングを行うという単純な処理によってブロック歪みを低減することができるので、各領域について設定されたフィルタ係数ベクトルをそのまま用いてフィルタリングを行うことによってフィルタ済画像を一旦生成し、当該フィルタ済画像に生じるブロック歪みをデブロッキングフィルタを用いて低減させる構成に比べて、少ない処理量でブロック歪みを低減することができる。
 また、従来のデブロッキングフィルタにおいては、予め定められたフィルタ係数であって、高周波成分を除去する効果の強いフィルタ係数(すなわち、ローパス的な効果の強いフィルタ係数)が用いられるので、フィルタによってブロック境界に元々存在するエッジや高周波成分にボケが発生することを防ぐために、ブロック境界におけるエッジの有無、高周波成分の有無、または、それらの強度を判定し、判定結果に応じてフィルタのオンオフや強弱を変更する処理を行う必要があるが、上記のように構成された適応フィルタ300は、フィルタ係数(およびオフセット)を適応的に導出し、導出されたフィルタ係数(およびオフセット)は、高周波成分を除去する効果が弱い(すなわち、ローパス的な効果が弱い)という傾向があるため、デブロッキングフィルタのようなエッジの判定を行わなくとも、フィルタによってブロック境界に元々存在するエッジや高周波成分にボケが発生するという問題が生じにくい。
 また、上記のように構成された適応フィルタ300において、単位領域の境界付近に対して用いられるフィルタ係数およびオフセットは、当該単位領域について適応的に求められたフィルタ係数およびオフセットによって規定されるフィルタと、当該単位領域に当該境界を介して隣接する単位領域について適応的に用いられたフィルタ係数およびオフセットによって規定されるフィルタとの中間的なフィルタであるため、フィルタによってブロック境界に元々存在するエッジや高周波成分にボケが発生するという問題が、より生じにくいものとなっている。
 このため、適応フィルタ300においては、従来のデブロッキングフィルタのような、エッジの有無などについての判定処理を省略することができる。したがって、適応フィルタ300は、従来のデブロッキングフィルタに比べて、少ない演算量でブロック歪みを低減することができる。
 また、上記のように構成された適応フィルタ300によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、符号化効率が向上するという効果も奏する。
 なお、上記予め定められたフィルタ係数ベクトルとしては、例えば、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、当該中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるような自明なフィルタ係数ベクトル、または、そのようなベクトルとの差が所定の値以下であるフィルタ係数ベクトルを用いることができる。
 また、上記平均は、通常の相加平均であってもよいし、相乗平均であってもよいし、所定の重み係数を用いた加重平均であってもよい。
 また、本例において、フィルタ係数蓄積部101に蓄積されたフィルタ係数のうち、構成領域ORgに対するフィルタ係数h(g) ijのタップ数と、構成領域ORg’に対するフィルタ係数h(g') ijのタップ数とが互いに異なる場合には、例えば、以下のような処理を行えばよい。
 (例外処理1:(h(g) ijのタップ数)>(h(g') ijのタップ数)の場合)
 フィルタ係数蓄積部101に蓄積されたフィルタ係数のうち、構成領域ORgに割り付けられたフィルタ係数h(g) ijのタップ数が、構成領域ORg’に割り付けられたフィルタ係数h(g') ijのタップ数よりも大きい場合には、フィルタ処理部303は、フィルタ係数h(g) ij’を、
 h(g) IJ’=r×h(g) IJ+(1-r)×h(g') IJ   (12a)
 h(g) I'J'’=r×h(g) I'J'           (12b)
によって算出する。ここで、数式(12a)におけるインデックス(I、J)は、構成領域ORg’に割り付けられたフィルタ係数を指定するインデックスであり、数式(12b)におけるインデックス(I’、J’)は、構成領域ORgに割り付けられたフィルタ係数を指定するインデックスのうち、構成領域ORg’に割り付けられたフィルタ係数を指定するインデックスを除くインデックスである。
 数式(12a)~(12b)から明らかなように、本例外処理は、構成領域ORgに割り付けられたフィルタ係数に対応するフィルタ係数が構成領域ORg’において存在しない場合に、当該対応するフィルタ係数の値が0であるとして、数式(11a)に示した加重線形和をとることと同等である。
 (例外処理2:(h(g) ijのタップ数)<(h(g') ijのタップ数)の場合)
 また、フィルタ係数蓄積部101に蓄積されたフィルタ係数のうち、構成領域ORgに割り付けられたフィルタ係数h(g) ijのタップ数が、構成領域ORg’に割り付けられたフィルタ係数h(g') ijのタップ数よりも小さい場合には、フィルタ処理部303は、フィルタ係数h(g) ij’を、
 h(g) IJ’=r×h(g) IJ+(1-r)×h(g') IJ   (13a)
 h(g) I'J'’=(1-r)×h(g') I'J'        (13b)
によって算出する。ここで、数式(13a)におけるインデックス(I、J)は、構成領域ORgに割り付けられたフィルタ係数を指定するインデックスであり、数式(13b)におけるインデックス(I’、J’)は、構成領域ORg’に割り付けられたフィルタ係数を指定するインデックスのうち、構成領域ORgに割り付けられたフィルタ係数を指定するインデックスを除くインデックスである。
 数式(13a)~(13b)から明らかなように、本例外処理は、構成領域ORg’に割り付けられたフィルタ係数に対応するフィルタ係数が構成領域ORgにおいて存在しない場合に、当該対応するフィルタ係数の値が0であるとして、数式(11a)に示した加重線形和をとることと同等である。
 また、数式(13b)から明らかなように、本例外処理においては、構成領域ORgにおけるデブロック画像#50に施されるフィルタリングは、構成領域ORg’に割り付けられたフィルタ係数h(g') ijのタップ数と同じタップ数のフィルタリングとなる。
 なお、フィルタ処理部303によるフィルタ処理は、ブロックノイズ低減部104と同様に、領域の境界付近では、境界に接する2つのフィルタの中間的な変化を及ぼすフィルタリングを実現する。そのため、ブロックノイズ低減部104において説明したように、主観画質向上のみならず符号化効率向上の効果をも得ることができる。
 (動画像符号化装置4)
 以下では、動画像復号装置3によって復号される符号化データ#3を生成する動画像符号化装置4について図16を参照して説明を行う。
 なお、以下では、実施形態1において説明した部分には実施形態1において用いた符号と同じ符号を付し、その説明を省略する。また、フィルタ係数およびオフセットについては、実施形態1において用いた表記法と同様の表記法を用いる。
 図16は、本実施形態に係る動画像符号化装置4の構成を示すブロック図である。図16に示すように、動画像符号化装置4は、実施形態1に係る動画像符号化装置4が備える適応フィルタ200に代えて、適応フィルタ400を備えている。動画像符号化装置4の他の構成は、動画像符号化装置2の構成と同様である。ただし、本実施形態においては、バッファメモリ24には、実施形態1における出力画像データ#200に代えて、適応フィルタ400の出力する出力画像データ#400が供給される。
 (適応フィルタ400)
 以下では、適応フィルタ400の構成について、図16を参照して説明する。図16に示すように、適応フィルタ400は、フィルタ係数導出部401、フィルタ係数蓄積部202、ブロックノイズ判定部203、および、フィルタ処理部404を備えている。
 フィルタ係数蓄積部202およびブロックノイズ判定部203については、実施形態1において説明を行ったため、ここでは説明を省略する。ただし、フィルタ係数蓄積部202には、実施形態1において説明したフィルタ係数情報#201aの示すフィルタ係数およびオフセットに代えて、フィルタ係数導出部401の出力するフィルタ係数情報#401aの示すフィルタ係数およびオフセットが蓄積される。また、フィルタ係数蓄積部202には、フィルタ係数およびオフセットに加えて、フィルタパラメータ情報#401bも格納される構成としてもよい。
 (フィルタ係数導出部401)
 フィルタ係数導出部401は、符号化の対象となるフィルタ係数およびオフセットを、フィルタ後のデブロック画像と入力画像#10との誤差が最小になるように導出する。
 具体的には、フィルタ係数導出部401は、実施形態1において説明したフィルタ処理部201によるステップS1001~ステップS1003と同様の処理を行うことによって、フィルタ係数h(i、j)およびオフセットhoffsetを導出し、導出されたフィルタ係数h(i、j)およびオフセットhoffsetを示す情報を、フィルタ係数情報#401aとして出力する。また、フィルタ係数導出部401は、各単位領域の位置およびサイズを指定する情報、ステップS1002にて最適化されたタップ数を指定する情報、および、フィルタリングのオン/オフを指定する情報(すなわち、各単位領域がフィルタオン領域に分類されているのかフィルタオフ領域に分類されているのかを示す情報)を含む情報を、フィルタパラメータ情報#401bとして出力する。
 また、フィルタ係数導出部401は、実施形態1において説明したフィルタ処理部201による処理の変形例1および変形例2と同様の処理を行ってもよい。
 フィルタ係数導出部401の出力するフィルタ係数情報#401aおよびフィルタパラメータ情報#401bは、可変長符号化部22において符号化される。
 また、上述のように、フィルタ係数導出部401の出力するフィルタ係数情報#401aの示すフィルタ係数およびオフセットは、フィルタ係数蓄積部202に蓄積される。
 (フィルタ処理部404)
 フィルタ処理部404は、フィルタ係数蓄積部202に蓄積されたフィルタ係数およびオフセットに基づいて、修正されたフィルタ係数およびオフセットを導出し、修正されたフィルタ係数およびオフセットを用いてデブロック画像#50に対してフィルタリングを行うことによって、出力画像データ#400を生成する。
 具体的には、フィルタ処理部404は、すでに説明したフィルタ処理部303と同様の処理を行うことによって、出力画像データ#400を算出し、出力する。ここで、数式(9)におけるSL(x、y)は、出力画像データ#400の座標(x、y)における画素値を表すものとし、フィルタ参照領域Rは、フィルタパラメータ情報#401bによって指定されるものとする。
 (付記事項)
 なお、上記実施形態における、マクロブロックは、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つのフィルタ係数ベクトルの平均をとることにより、調整後のフィルタ係数ベクトルを算出するフィルタ係数ベクトル算出手段と、上記対象領域に属する対象画素の出力画像における画素値を、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素については、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、上記対象領域と上記隣接領域との境界からの距離が上記所定の距離より大きい対象画素については、上記対象領域について設定されているフィルタ係数ベクトルを用いて導出するフィルタ手段と、を備えていることを特徴としている。
 上記のように構成された画像フィルタ装置は、上記境界からの距離が所定の距離以下である上記対象画素の出力画像における画素値を、上記隣接領域についてフィルタ係数ベクトルが設定されている場合には、上記対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルの平均をとることによって得られる上記調整後のフィルタ係数ベクトルを用いて導出し、上記隣接領域についてフィルタ係数ベクトルが設定されていない場合には、上記対象領域について設定されているフィルタ係数ベクトルと上記予め定められたフィルタ係数ベクトルとの平均をとることによって得られる上記調整後のフィルタ係数ベクトルを用いて導出する。すなわち、上記のように構成された画像フィルタ装置は、上記隣接領域についてフィルタ係数ベクトルが設定されているときに、上記境界からの距離が所定の距離以下である対象画素の画素値を、上記対象領域に作用するフィルタと上記隣接領域に作用するフィルタとの中間的なフィルタを用いて導出し、上記隣接領域についてフィルタ係数ベクトルが設定されていないときに、上記境界からの距離が所定の距離以下である対象画素の画素値を、上記対象領域に作用するフィルタと上記予め定められたフィルタ係数ベクトルによって規定されるフィルタとの中間的なフィルタを用いて導出する。したがって、上記のように構成された画像フィルタ装置によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、上記境界におけるブロック歪みが低減されるという効果を奏する。
 また、上記フィルタ手段は、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いてフィルタリングを行うという単純な処理によってブロック歪みを低減することができるので、各領域について設定されたフィルタ係数ベクトルをそのまま用いてフィルタリングを行うことによってフィルタ済画像を一旦生成し、当該フィルタ済画像に生じるブロック歪みをデブロッキングフィルタを用いて低減させる構成に比べて、少ない処理量でブロック歪みを低減することができる。
 また、上記のように構成された画像フィルタ装置によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、符号化効率が向上するという効果も奏する。
 なお、上記予め定められたフィルタ係数ベクトルとしては、例えば、フィルタ参照領域の中心画素に乗ぜられるフィルタ係数の値が1であり、当該中心画素以外の画素に乗ぜられるフィルタ係数の値が0であり、オフセットの値が0であるような自明なフィルタ係数ベクトル、または、そのようなベクトルとの差が所定の値以下であるフィルタ係数ベクトルを用いることができる。
 また、上記平均は、通常の相加平均であってもよいし、相乗平均であってもよいし、所定の重み係数を用いた加重平均であってもよい。
 また、本発明に係る画像フィルタ装置における上記フィルタ係数ベクトル算出手段は、上記対象領域に属する対象画素毎に、対象画素の上記境界からの距離が小さいほど、より小さな重み係数を上記対象領域について設定されているフィルタ係数ベクトルに乗じるとともに、より大きな重み係数を上記隣接領域に作用させる画像フィルタのフィルタ係数ベクトルに乗じ、該重み係数を乗じた上記2つのフィルタ係数ベクトルの線形和である加重平均をとることによって、調整後のフィルタ係数ベクトルを算出する、ことが好ましい。
 上記の構成によれば、上記対象領域に属する対象画素毎に、対象画素の上記境界からの距離が小さいほど、より小さな重み係数を上記対象領域について設定されているフィルタ係数ベクトルに乗じるとともに、より大きな重み係数を上記隣接領域に作用させる画像フィルタのフィルタ係数ベクトルに乗じ、該重み係数を乗じた上記2つのフィルタ係数ベクトルの線形和である加重平均をとることによって、調整後のフィルタ係数ベクトルを算出するので、上記境界により近い対象画素に対して、隣接領域に作用するフィルタにより近いフィルタが適用される。
 したがって、上記の構成によれば、上記境界の周辺における出力画像の画像特性の変化がより滑らかとなるので、ブロック歪みをより効果的に低減することができる。また、上記の構成によれば、上記境界の周辺における出力画像の画像特性の変化がより滑らかとなるので、符号化効率がより向上するという更なる効果も奏する。
 また、本発明に係る画像フィルタ装置は、上記特定手段が特定した2つのフィルタ係数ベクトルを参照して、上記境界におけるブロック歪みの強度を判定する判定手段をさらに備えており、上記フィルタ手段は、上記境界からの距離が所定の距離以下である対象画素の出力画像における画素値を、上記判定手段によって判定された上記境界におけるブロック歪みの強度が予め定められた強度よりも大きい場合には、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、そうでない場合には、当該対象画素が属する上記対象領域について設定されているフィルタ係数ベクトルを用いて導出する、ことが好ましい。
 上記のように構成された画像フィルタ装置によれば、上記判定手段によってブロック歪みの強度が、予め定められた値より大きい場合にのみ、ブロック歪み低減処理を行うので、処理量を削減しつつ、効果的にブロック歪みの低減処理を行うことができる。
 また、本発明に係る画像フィルタ装置における上記フィルタ手段は、上記判定手段によって判定された上記ブロック歪みの強度と正の相関を有するように、上記所定の距離を上記対象領域ごとに設定する、ことが好ましい。
 上記の構成によれば、上記フィルタ手段は、上記所定の距離を、上記判定手段によって判定された上記ブロック歪みの強度と正の相関を有するように設定するので、上記判定手段によって判定されたブロック歪みの強度がより大きいほど、より広い領域にブロック低減処理を行うことができる。したがって、上記の構成によれば、ブロック歪みをより効果的に低減することができる。
 また、本発明に係る画像フィルタ装置は、複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を導出する画像フィルタ装置であって、上記対象領域に属する対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて、当該対象画素のフィルタ済画像における画素値を導出するフィルタ手段と、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることによって、上記対象画素の調整後の画素値を算出する画素値算出手段と、上記対象領域と当該対象領域に隣接する単位領域である隣接領域との境界からの距離が所定の距離以下である対象画素については、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、上記境界からの距離が上記所定の距離より大きい対象画素については、上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する画素値設定手段と、を備えていることを特徴としている。
 上記のように構成された画像フィルタ装置によれば、上記境界からの距離が所定の距離以下である上記対象画素の出力画像における画素値を、上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることにより算出する。これは、上記対象画素の上記境界からの距離が所定の距離以下である領域に対して、上記フィルタ係数ベクトルによって規定されるフィルタよりも弱いフィルタを作用させることと同等である。したがって、上記の構成によれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、ブロック歪みを低減することができる。
 すなわち、上記のように構成された画像フィルタによれば、当該対象画素の入力画像における画素値と、当該対象画素の上記フィルタ済画像における画素値との平均をとるという単純な処理によってブロック歪みを低減することができる。
 また、上記のように構成された画像フィルタによれば、上記境界の周辺における出力画像の画像特性の不連続な変化が抑制されるので、符号化効率が向上するという効果も奏する。
 なお、上記平均は、通常の相加平均であってもよいし、相乗平均であってもよいし、所定の重み係数を用いた加重平均であってもよい。
 また、本発明に係る画像フィルタにおいては、上記画素値算出手段は、上記対象領域に属する対象画素毎に、対象画素の上記境界からの距離が小さいほど、より小さな重み係数を上記対象画素の上記フィルタ済画像における画素値に乗じるとともに、より大きな重み係数を上記対象画素の入力画像における画素値にに乗じ、該重み係数を乗じた上記2つの画素値の線形和である加重平均をとることによって、調整後のフィルタ係数ベクトルを算出する、ことが好ましい。
 上記の構成によれば、上記画素値算出手段は、上記対象領域に属する対象画素毎に、対象画素の上記境界からの距離が小さいほど、より小さな重み係数を上記対象画素の上記フィルタ済画像における画素値に乗じるとともに、より大きな重み係数を上記対象画素の入力画像における画素値にに乗じ、該重み係数を乗じた上記2つの画素値の線形和である加重平均をとることによって、調整後のフィルタ係数ベクトルを算出するので、上記対象領域において上記境界により近い対象画素の画素値に対する上記フィルタ済画像の寄与はより小さくなる。これは、上記境界により近い画素に対して、より弱いフィルタを適用することと同等である。
 したがって、上記の構成によれば、上記境界の周辺における出力画像の画像特性の変化がより滑らかとなるので、ブロック歪みをより効果的に低減することができる。また、上記の構成によれば、上記境界の周辺における出力画像の画像特性の変化がより滑らかとなるので、符号化効率がより向上するという更なる効果も奏する。
 また、本発明に係る画像フィルタ装置は、上記隣接領域についてフィルタ係数ベクトルが設定されている場合に、上記対象領域について設定されたフィルタ係数ベクトルと、上記隣接領域について設定されたフィルタ係数ベクトルとを参照して、上記境界におけるブロック歪みの強度を判定し、上記隣接領域についてフィルタ係数ベクトルが設定されていない場合に、上記対象領域について設定されたフィルタ係数ベクトルを参照すると共に、当該隣接領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルとを参照して、上記境界におけるブロック歪みの強度を判定する判定手段をさらに備えており、上記画素値設定手段は、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素について、上記判定手段によって判定された上記境界におけるブロック歪みの強度が予め定められた強度よりも大きい場合には、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、そうでない場合には、上記対象画素の上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する、ことが好ましい。
 上記のように構成された画像フィルタ装置によれば、上記判定手段によってブロック歪みの強度が、予め定められた値より大きい場合にのみ、ブロック歪み低減処理を行うので、処理量を削減しつつ、効果的にブロック歪みの低減処理を行うことができる。
 上記画素値設定手段は、上記判定手段によって判定された上記ブロック歪みの強度と正の相関を有するように、上記所定の距離を上記対象領域ごとに設定する、ことが好ましい。
 上記の構成によれば、上記画素値設定手段は、上記所定の距離を、上記判定手段によって判定された上記ブロック歪みの強度と正の相関を有するように設定するので、上記判定手段によって判定されたブロック歪みの強度がより大きいほど、より広い領域にブロック低減処理を行うことができる。したがって、上記の構成によれば、ブロック歪みをより効果的に低減することができる。
 また、上記画像フィルタを備え、復号画像に上記画像フィルタを作用させる、ことを特徴とする復号装置、および、上記画像フィルタを備え、局所復号画像に上記画像フィルタを作用させる、ことを特徴とする符号化装置も本発明の範疇に含まれる。
 また、以下のような構成であってもよい。
 1.複数の単位領域から構成され、当該複数の単位領域のうち少なくとも1つの単位領域についてフィルタ係数ベクトルが設定されている入力画像に対し、フィルタ係数ベクトルが設定されている単位領域毎に、当該単位領域について設定されているフィルタ係数ベクトルを用いた画像フィルタを作用させることにより得られるフィルタ済画像に生じるブロック歪みの強度を判定するブロック歪み判定装置において、判定の対象である、互いに隣接する単位領域の双方にフィルタ係数ベクトルが設定されている場合には、当該隣接する単位領域の各々について設定されたフィルタ係数ベクトルを特定し、上記判定の対象である、互いに隣接する単位領域の一方にのみフィルタ係数ベクトルが設定されている場合には、当該一方の単位領域について設定されたフィルタ係数ベクトルを特定するとともに、他方の単位領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルを特定する特定手段と、上記特定手段が特定した2つのフィルタ係数ベクトルを参照して、上記判定の対象である、隣接する単位領域の間で生じるブロック歪みの強度を判定する判定手段と、を備えていることを特徴とするブロック歪み判定装置。
 2.上記判定手段は、上記2つのフィルタ係数ベクトルに含まれるオフセットの差を算出し、当該オフセットの差に基づいて、上記ブロック歪みの強度を判定する、ことを特徴とする上記1に記載のブロック歪み判定装置。
 3.上記判定手段は、上記2つのフィルタ係数ベクトルに含まれるフィルタ係数のフィルタ係数ベクトル毎の総和の差を算出し、当該フィルタ係数のフィルタ係数ベクトル毎の総和の差に基づいて、上記ブロック歪みの強度を判定する、ことを特徴とする上記1に記載のブロック歪み判定装置。
 4.上記判定手段は、上記2つのフィルタ係数ベクトルに含まれるフィルタ係数のうち、互いに対応するフィルタ係数の差の絶対値の総和を算出し、当該互いに対応するフィルタ係数の差の絶対値の総和に基づいて、上記ブロック歪みの強度を判定する、ことを特徴とする上記1に記載のブロック歪み判定装置。
 5.上記判定手段は、上記2つのフィルタ係数ベクトルに含まれるオフセットの差の絶対値と、上記2つのフィルタ係数ベクトルに含まれるフィルタ係数のフィルタ係数ベクトル毎の総和の差の絶対値との加重和を算出し、当該加重和に基づいて、上記ブロック歪みの強度を判定する、ことを特徴とする上記1に記載のブロック歪み判定装置。
 6.上記判定手段は、上記2つのフィルタ係数ベクトルに含まれるオフセットの差の絶対値と、上記2つのフィルタ係数ベクトルに含まれるフィルタ係数のうち、互いに対応するフィルタ係数の差の絶対値の総和との加重和を算出し、当該加重和に基づいて、上記ブロック歪みの強度を判定する、ことを特徴とする上記1に記載のブロック歪み判定装置。
 7.上記1から6の何れか1つに記載のブロック歪み判定装置を備え、復号画像に対し画像フィルタを作用させることにより得られるフィルタ済画像に生じるブロック歪みの強度を、上記ブロック歪み判定装置により判定する、ことを特徴とする復号装置。
 8.上記1から6の何れか1つに記載のブロック歪み判定装置を備え、局所復号画像に対し画像フィルタを作用させることにより得られるフィルタ済画像に生じるブロック歪みの強度を、上記ブロック歪み判定装置により判定する、ことを特徴とする符号化装置。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、画像のフィルタリングを行う画像フィルタ装置に好適に適用することができる。
1       動画像復号装置(復号装置)
50  デブロッキングフィルタ
100      適応フィルタ(画像フィルタ)
101   フィルタ係数蓄積部
102  ブロックノイズ判定部(判定手段)
103     フィルタ処理部(フィルタ手段)
104  ブロックノイズ低減部(フィルタ手段、画素値算出手段、画素値設定手段)
2      動画像符号化装置(符号化装置)
200      適応フィルタ(画像フィルタ)
201     フィルタ処理部(フィルタ手段)
202   フィルタ係数蓄積部
203  ブロックノイズ判定部(判定手段)
204  ブロックノイズ低減部(フィルタ手段、画素値算出手段、画素値設定手段)
3       動画像復号装置(復号装置)
300      適応フィルタ(画像フィルタ)
303  フィルタ処理部(特定手段、フィルタ係数ベクトル算出手段、フィルタ手段)
4      動画像符号化装置(符号化装置)
400      適応フィルタ(画像フィルタ)
401   フィルタ係数導出部
404  フィルタ処理部(特定手段、フィルタ係数ベクトル算出手段、フィルタ手段)

Claims (10)

  1.  複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を、当該対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて導出する画像フィルタ装置であって、
     上記対象領域に隣接する単位領域である隣接領域についてフィルタ係数ベクトルが設定されている場合には、上記対象領域および当該隣接領域の各々について設定されているフィルタ係数ベクトルを特定し、当該隣接領域についてフィルタ係数ベクトルが設定されていない場合には、上記対象領域について設定されているフィルタ係数ベクトルを特定すると共に、当該隣接領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルを特定する特定手段と、
     上記特定手段が特定した2つのフィルタ係数ベクトルの平均をとることにより、調整後のフィルタ係数ベクトルを算出するフィルタ係数ベクトル算出手段と、
     上記対象領域に属する対象画素の出力画像における画素値を、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素については、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、上記対象領域と上記隣接領域との境界からの距離が上記所定の距離より大きい対象画素については、上記対象領域について設定されているフィルタ係数ベクトルを用いて導出するフィルタ手段と、
    を備えていることを特徴とする画像フィルタ装置。
  2.  上記フィルタ係数ベクトル算出手段は、上記対象領域に属する対象画素毎に、対象画素の上記境界からの距離が小さいほど、より小さな重み係数を上記対象領域について設定されているフィルタ係数ベクトルに乗じるとともに、より大きな重み係数を上記隣接領域に作用させる画像フィルタのフィルタ係数ベクトルに乗じ、該重み係数を乗じた上記2つのフィルタ係数ベクトルの線形和である加重平均をとることによって、調整後のフィルタ係数ベクトルを算出する、
    ことを特徴とする請求項1に記載の画像フィルタ装置。
  3.  上記特定手段が特定した2つのフィルタ係数ベクトルを参照して、上記境界におけるブロック歪みの強度を判定する判定手段をさらに備えており、
     上記フィルタ手段は、上記境界からの距離が所定の距離以下である対象画素の出力画像における画素値を、上記判定手段によって判定された上記境界におけるブロック歪みの強度が予め定められた強度よりも大きい場合には、上記フィルタ係数ベクトル算出手段によって算出された調整後のフィルタ係数ベクトルを用いて導出し、そうでない場合には、当該対象画素が属する上記対象領域について設定されているフィルタ係数ベクトルを用いて導出する、
    ことを特徴とする請求項1または2に記載の画像フィルタ装置。
  4.  上記フィルタ手段は、上記判定手段によって判定された上記ブロック歪みの強度と正の相関を有するように、上記所定の距離を上記対象領域ごとに設定する、
    ことを特徴とする請求項3に記載の画像フィルタ装置。
  5.  複数の単位領域から構成されている入力画像において、フィルタ係数ベクトルが設定されている単位領域である対象領域に属する対象画素の出力画像における画素値を導出する画像フィルタ装置であって、
     上記対象領域に属する対象画素および当該対象画素の周辺の画素の入力画像における画素値と、当該対象領域について設定されているフィルタ係数ベクトルとに基づいて、当該対象画素のフィルタ済画像における画素値を導出するフィルタ手段と、
     上記対象画素の入力画像における画素値と、上記対象画素の上記フィルタ済画像における画素値との平均をとることによって、上記対象画素の調整後の画素値を算出する画素値算出手段と、
     上記対象領域と当該対象領域に隣接する単位領域である隣接領域との境界からの距離が所定の距離以下である対象画素については、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、上記境界からの距離が上記所定の距離より大きい対象画素については、上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する画素値設定手段と、
    を備えていることを特徴とする画像フィルタ装置。
  6.  上記画素値算出手段は、上記対象領域に属する対象画素毎に、対象画素の上記境界からの距離が小さいほど、より小さな重み係数を上記対象画素の上記フィルタ済画像における画素値に乗じるとともに、より大きな重み係数を上記対象画素の入力画像における画素値に乗じ、該重み係数を乗じた上記2つの画素値の線形和である加重平均をとることによって、調整後のフィルタ係数ベクトルを算出する、
    ことを特徴とする請求項5に記載の画像フィルタ装置。
  7.  上記隣接領域についてフィルタ係数ベクトルが設定されている場合に、上記対象領域について設定されたフィルタ係数ベクトルと、上記隣接領域について設定されたフィルタ係数ベクトルとを参照して、上記境界におけるブロック歪みの強度を判定し、上記隣接領域についてフィルタ係数ベクトルが設定されていない場合に、上記対象領域について設定されたフィルタ係数ベクトルを参照すると共に、当該隣接領域に作用させる画像フィルタのフィルタ係数ベクトルとしてみなすことができる、予め定められたフィルタ係数ベクトルとを参照して、上記境界におけるブロック歪みの強度を判定する判定手段をさらに備えており、
     上記画素値設定手段は、上記対象領域と上記隣接領域との境界からの距離が所定の距離以下である対象画素について、上記判定手段によって判定された上記境界におけるブロック歪みの強度が予め定められた強度よりも大きい場合には、上記画素値算出手段によって算出された調整後の画素値を当該対象画素の出力画像における画素値に設定し、そうでない場合には、上記対象画素の上記フィルタ済画像における画素値を当該対象画素の出力画像における画素値に設定する、
    ことを特徴とする請求項5または6に記載の画像フィルタ装置。
  8.  上記画素値設定手段は、上記判定手段によって判定された上記ブロック歪みの強度と正の相関を有するように、上記所定の距離を上記対象領域ごとに設定する、
    ことを特徴とする請求項7に記載の画像フィルタ装置。
  9.  請求項1から8の何れか1項に記載の画像フィルタ装置を備え、復号画像に上記画像フィルタを作用させる、ことを特徴とする復号装置。
  10.  請求項1から8の何れか1項に記載の画像フィルタ装置を備え、局所復号画像に上記画像フィルタを作用させる、ことを特徴とする符号化装置。
PCT/JP2011/056305 2010-03-31 2011-03-16 画像フィルタ装置、符号化装置、および、復号装置 WO2011125445A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010-083354 2010-03-31
JP2010084413 2010-03-31
JP2010-084413 2010-03-31
JP2010083354 2010-03-31

Publications (1)

Publication Number Publication Date
WO2011125445A1 true WO2011125445A1 (ja) 2011-10-13

Family

ID=44762405

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/056305 WO2011125445A1 (ja) 2010-03-31 2011-03-16 画像フィルタ装置、符号化装置、および、復号装置

Country Status (1)

Country Link
WO (1) WO2011125445A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014084107A1 (ja) * 2012-11-30 2014-06-05 ソニー株式会社 画像処理装置および方法
JP2014207643A (ja) * 2013-04-16 2014-10-30 大日本印刷株式会社 画像圧縮装置
US9641866B2 (en) 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
JP2017513312A (ja) * 2014-03-14 2017-05-25 シャープ株式会社 色空間スケーラビリティを用いたビデオ圧縮

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61121589A (ja) * 1984-11-16 1986-06-09 Nec Corp 画像信号復号化後処理装置
JPH03174891A (ja) * 1989-12-04 1991-07-30 Graphics Commun Technol:Kk ブロック歪除去フィルタ
JPH0638188A (ja) * 1992-07-20 1994-02-10 Canon Inc ブロック歪み除去装置
JPH08181984A (ja) * 1994-12-26 1996-07-12 Sharp Corp 画像圧縮装置および画像圧縮方法
JP2004343451A (ja) * 2003-05-15 2004-12-02 Matsushita Electric Ind Co Ltd 動画像復号化方法および動画像復号化装置
JP2005026746A (ja) * 2003-06-30 2005-01-27 Matsushita Electric Ind Co Ltd フィルタ処理装置、画像符号化装置及び方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61121589A (ja) * 1984-11-16 1986-06-09 Nec Corp 画像信号復号化後処理装置
JPH03174891A (ja) * 1989-12-04 1991-07-30 Graphics Commun Technol:Kk ブロック歪除去フィルタ
JPH0638188A (ja) * 1992-07-20 1994-02-10 Canon Inc ブロック歪み除去装置
JPH08181984A (ja) * 1994-12-26 1996-07-12 Sharp Corp 画像圧縮装置および画像圧縮方法
JP2004343451A (ja) * 2003-05-15 2004-12-02 Matsushita Electric Ind Co Ltd 動画像復号化方法および動画像復号化装置
JP2005026746A (ja) * 2003-06-30 2005-01-27 Matsushita Electric Ind Co Ltd フィルタ処理装置、画像符号化装置及び方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9641866B2 (en) 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
CN109274971A (zh) * 2012-11-30 2019-01-25 索尼公司 图像处理设备和图像处理方法
WO2014084106A1 (ja) * 2012-11-30 2014-06-05 ソニー株式会社 画像処理装置および方法
CN104798374A (zh) * 2012-11-30 2015-07-22 索尼公司 图像处理设备和图像处理方法
CN104813664A (zh) * 2012-11-30 2015-07-29 索尼公司 图像处理设备和图像处理方法
CN104813664B (zh) * 2012-11-30 2018-09-04 索尼公司 图像处理设备和图像处理方法
JPWO2014084106A1 (ja) * 2012-11-30 2017-01-05 ソニー株式会社 画像処理装置および方法
US11706448B2 (en) 2012-11-30 2023-07-18 Sony Corporation Image processing apparatus and image processing method
US11245925B2 (en) 2012-11-30 2022-02-08 Sony Corporation Image processing apparatus and image processing method
JPWO2014084107A1 (ja) * 2012-11-30 2017-01-05 ソニー株式会社 画像処理装置および方法
CN104798374B (zh) * 2012-11-30 2018-09-04 索尼公司 图像处理设备和图像处理方法
CN109257606A (zh) * 2012-11-30 2019-01-22 索尼公司 图像处理设备和图像处理方法
WO2014084107A1 (ja) * 2012-11-30 2014-06-05 ソニー株式会社 画像処理装置および方法
US10666973B2 (en) 2012-11-30 2020-05-26 Sony Corporation Image processing apparatus and image processing method
US10812826B2 (en) 2012-11-30 2020-10-20 Sony Corporation Image processing apparatus and image processing method
JP2014207643A (ja) * 2013-04-16 2014-10-30 大日本印刷株式会社 画像圧縮装置
JP2017513312A (ja) * 2014-03-14 2017-05-25 シャープ株式会社 色空間スケーラビリティを用いたビデオ圧縮

Similar Documents

Publication Publication Date Title
JP6335365B2 (ja) 復号装置
JP6158998B2 (ja) 映像復号化装置
JP5846675B2 (ja) イントラ予測モード復号化方法及び装置
JP5905613B2 (ja) 映像復号化装置
JP4455487B2 (ja) 復号化装置及び復号化方法及びプログラム
EP2755388B1 (en) Method, device, and program for encoding and decoding image
WO2011086836A1 (ja) 符号化装置、復号装置、および、データ構造
WO2011125445A1 (ja) 画像フィルタ装置、符号化装置、および、復号装置
WO2011105231A1 (ja) フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
US9438907B2 (en) Motion picture encoding apparatus
WO2011105230A1 (ja) フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
JP7483725B2 (ja) 符号化装置、復号装置、及びプログラム
JP7130890B2 (ja) 符号化装置、復号装置、及びプログラム
JP2020005228A (ja) ループフィルタ制御装置、画像符号化装置、画像復号装置、及びプログラム
JP7474772B2 (ja) 符号化装置、復号装置、及びプログラム
JP2020109959A (ja) インター予測装置、画像符号化装置、画像復号装置、及びプログラム
Choi et al. Macroblock-level adaptive dynamic resolution conversion technique
JP2011082801A (ja) 画像処理装置および画像処理方法

Legal Events

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

Ref document number: 11765347

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11765347

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP