WO2012124406A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
WO2012124406A1
WO2012124406A1 PCT/JP2012/052749 JP2012052749W WO2012124406A1 WO 2012124406 A1 WO2012124406 A1 WO 2012124406A1 JP 2012052749 W JP2012052749 W JP 2012052749W WO 2012124406 A1 WO2012124406 A1 WO 2012124406A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
boundary
block
deblocking filter
image
Prior art date
Application number
PCT/JP2012/052749
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 WO2012124406A1 publication Critical patent/WO2012124406A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • H. is one of the standard specifications for image coding.
  • a deblocking filter is adaptively applied to the block boundary for each block of 4 ⁇ 4 pixels, for example, in order to suppress deterioration in image quality due to block distortion that occurs during image coding.
  • the adaptive application of the deblocking filter means that a block boundary where block distortion occurs is determined and the deblocking filter is applied only to the block boundary where block distortion occurs. As a result, the deblocking filter is applied to the block boundary where no block distortion has occurred, thereby avoiding the secondary effect that the image resolution is lowered and the image quality is impaired.
  • JCTVC-A119 deblocks each block boundary of a block of 8 ⁇ 8 pixels or more. It has been proposed to apply a filter.
  • JCT-VC Video coding technology proposal by Tandberg, Nokia, and Ericsson
  • JCT-VC Documents of the team of the int on Video Coding
  • the effect of improving the image quality by the deblocking filter depends on the accuracy of determining whether to apply the deblocking filter for each block boundary. If this determination is not accurate, the possibility that the deblocking filter is not applied to the block boundary where the block distortion occurs and the possibility that the deblocking filter is applied to the block boundary where no block distortion occurs are increased. As an example, in the existing method, when a plurality of different texture regions are included in one block, the above-described determination may not be performed appropriately.
  • the technology according to the present disclosure is intended to provide an image processing apparatus and an image processing method that can more appropriately determine whether to apply a deblocking filter for each block boundary.
  • a detection unit that detects a position of a region boundary that intersects a block boundary in an image that is decoded for each block, and deblocking according to the position of the region boundary detected by the detection unit
  • a deblocking filter is applied to the block boundary using a selection unit that selects a reference line to be referred to when determining whether to apply a filter, and a pixel value that belongs to the reference line selected by the selection unit.
  • an image processing apparatus including a determination unit that determines whether or not and a filtering unit that applies a deblocking filter to a block boundary determined to be applied by the determination unit.
  • the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
  • the selection unit may select one line belonging to the first area and one line belonging to the second area as the reference line, which are divided by the area boundary.
  • the selection unit may select, as the reference line, a line that is closest to an intersection between the region boundary and the block boundary among lines belonging to each region.
  • the selection unit may select a line passing through a substantially central part of the block boundary in each region as the reference line.
  • the detection unit may detect a position where the difference in pixel values between adjacent pixels along the block boundary becomes the largest as the position of the region boundary.
  • the detection unit may determine that the region boundary does not exist when the maximum value of the difference is below a threshold value.
  • the threshold value may be set larger as the quantization scale is larger.
  • the position of a region boundary that intersects a block boundary in an image that is decoded for each block is detected, and a deblocking filter is set according to the detected position of the region boundary. Selecting a reference line to be referred to when determining whether to apply, determining whether to apply a deblocking filter to the block boundary using pixel values belonging to the selected reference line, Applying a deblocking filter to a block boundary determined to apply the deblocking filter is provided.
  • the detection unit that detects the position of the region boundary that intersects the block boundary in the image encoded for each block, and the position of the region boundary that is detected by the detection unit And selecting a reference line to be referred to when determining whether to apply a deblocking filter, and using a pixel value belonging to the reference line selected by the selection unit to deblock the block boundary.
  • An image processing apparatus includes a determination unit that determines whether to apply a filter, and a filtering unit that applies a deblocking filter to a block boundary determined to be applied by the determination unit.
  • the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
  • the position of a region boundary that intersects a block boundary in an image encoded for each block is detected, and a deblocking filter is used according to the detected position of the region boundary.
  • a deblocking filter is used according to the detected position of the region boundary.
  • the image processing apparatus and the image processing method according to the present disclosure it is possible to more appropriately determine whether to apply the deblocking filter for each block boundary.
  • FIG. 8 is a block diagram illustrating an example of a more detailed configuration of a determination unit illustrated in FIG. 7. It is a flowchart which shows an example of the flow of the process by the deblocking filter which concerns on one Embodiment. It is a flowchart which shows an example of the detailed flow of the filtering necessity determination process which concerns on one Embodiment. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device.
  • FIG. 1 is a block diagram illustrating an example of a configuration of an image encoding device 10 according to an embodiment.
  • an image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, Accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter 24a, frame memory 25, selector 26, intra prediction unit 30, motion search unit 40, and mode selection Part 50 is provided.
  • a / D Analogue to Digital
  • the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
  • the rearrangement buffer 12 rearranges images included in a series of image data input from the A / D conversion unit 11.
  • the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. To do.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data selected by the mode selection unit 50 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 12 and the prediction image data input from the mode selection unit 50, and sends the calculated prediction error data to the orthogonal transformation unit 14. Output.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14 and a rate control signal from the rate control unit 18 described later.
  • the quantizing unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the quantization unit 15 changes the bit rate of the quantized data input to the lossless encoding unit 16 by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16 includes quantized data input from the quantization unit 15, and intra prediction or inter prediction generated by the intra prediction unit 30 or the motion search unit 40 described later and selected by the mode selection unit 50.
  • Information about is provided.
  • the information regarding intra prediction may include, for example, prediction mode information indicating an optimal intra prediction mode for each block.
  • the information regarding inter prediction may include, for example, prediction mode information for motion vector prediction for each block, differential motion vector information, reference image information, and the like.
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless encoding by the lossless encoding unit 16 may be variable length encoding or arithmetic encoding, for example.
  • the lossless encoding unit 16 multiplexes the above-described information related to intra prediction or information related to inter prediction in a header (for example, a block header or a slice header) of an encoded stream. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory.
  • the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandwidth of the transmission path (or the output line from the image encoding device 10).
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the addition unit 23 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the mode selection unit 50. Then, the adder 23 outputs the generated decoded image data to the deblock filter 24 a and the frame memory 25.
  • the deblocking filter 24a performs a filtering process for reducing block distortion that occurs during image encoding. For example, the deblocking filter 24a determines whether or not filtering is necessary for the decoded image data input from the adding unit 23 for each block boundary, and applies the deblocking filter to the block boundary that is determined to be applied with the filter. . In addition to the decoded image data from the adding unit 23, information (for example, mode information, transform coefficient information, and motion vector information) used for determining whether filtering is necessary is input to the deblocking filter 24a. . Then, the deblocking filter 24 a outputs the decoded image data after filtering from which block distortion has been removed to the frame memory 25. The processing by the deblocking filter 24a will be described in detail later.
  • the frame memory 25 stores the decoded image data input from the adding unit 23 and the decoded image data after filtering input from the deblocking filter 24a using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the filtered decoded image data used for inter prediction from the frame memory 25 and supplies the read decoded image data to the motion search unit 40 as reference image data.
  • the intra prediction unit 30 performs intra prediction processing in each intra prediction mode based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. For example, the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function. Then, the intra prediction unit 30 selects an intra prediction mode in which the cost function value is minimum, that is, an intra prediction mode in which the compression rate is the highest as the optimal intra prediction mode. Further, the intra prediction unit 30 outputs information related to intra prediction, such as prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value, to the mode selection unit 50.
  • the motion search unit 40 performs inter prediction processing (interframe prediction processing) based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. For example, the motion search unit 40 evaluates the prediction result in each prediction mode using a predetermined cost function. Next, the motion search unit 40 selects a prediction mode with the smallest cost function value, that is, a prediction mode with the highest compression rate, as the optimum prediction mode. Further, the motion search unit 40 generates predicted image data according to the optimal prediction mode. Then, the motion search unit 40 outputs information related to inter prediction such as prediction mode information representing the selected optimal prediction mode, predicted image data, and cost function value to the mode selection unit 50.
  • inter prediction processing interframe prediction processing
  • the mode selection unit 50 compares the cost function value related to intra prediction input from the intra prediction unit 30 with the cost function value related to inter prediction input from the motion search unit 40. And the mode selection part 50 selects the prediction method with few cost function values among intra prediction and inter prediction.
  • the mode selection unit 50 outputs information on the intra prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • the mode selection unit 50 outputs the above-described information regarding inter prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • FIG. 2 is a block diagram illustrating an example of the configuration of the image decoding device 60 according to an embodiment.
  • the image decoding device 60 includes a storage buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblocking filter 24b, a rearrangement buffer 67, a D / A (Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80, and motion compensation unit 90 are provided.
  • a storage buffer 61 a storage buffer 61
  • a lossless decoding unit 62 the image decoding device 60 includes a storage buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblocking filter 24b, a rearrangement buffer 67, a D / A (Digital to Analogue) conversion unit 68, frame memory 69, selectors
  • the accumulation buffer 61 temporarily accumulates the encoded stream input via the transmission path using a storage medium.
  • the lossless decoding unit 62 decodes the encoded stream input from the accumulation buffer 61 according to the encoding method used at the time of encoding. In addition, the lossless decoding unit 62 decodes information multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header area of the encoded stream can include, for example, information related to intra prediction and information related to inter prediction in a block header.
  • the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 80. Further, the lossless decoding unit 62 outputs information related to inter prediction to the motion compensation unit 90.
  • the inverse quantization unit 63 performs inverse quantization on the quantized data decoded by the lossless decoding unit 62.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 according to the orthogonal transform method used at the time of encoding. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 24b and the frame memory 69.
  • the deblocking filter 24b performs a filtering process for reducing block distortion appearing in the decoded image. For example, the deblocking filter 24b determines whether or not filtering is required for each block boundary for the decoded image data input from the adding unit 65, and applies the deblocking filter to the block boundary that is determined to be applied with the filter. . In addition to the decoded image data from the adding unit 65, information used for determining whether filtering is necessary is input to the deblocking filter 24b. Then, the deblocking filter 24 b outputs the decoded image data after filtering from which block distortion has been removed to the rearrangement buffer 67 and the frame memory 69. The processing by the deblocking filter 24b will be described in detail later.
  • the rearrangement buffer 67 generates a series of image data in time series by rearranging the images input from the deblocking filter 24b. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the deblocking filter 24b using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80 and the motion compensation unit 90 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80 as reference image data.
  • the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 to the motion compensation unit 90 as reference image data.
  • the selector 71 sets the output source of the predicted image data to be supplied to the adding unit 65 for each block in the image according to the mode information acquired by the lossless decoding unit 62 between the intra prediction unit 80 and the motion compensation unit 90. Switch between. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 80 to the adding unit 65 when the intra prediction mode is designated. The selector 71 supplies the predicted image data output from the motion compensation unit 90 to the adding unit 65 when the inter prediction mode is designated.
  • the intra prediction unit 80 performs in-screen prediction of pixel values based on information related to intra prediction input from the lossless decoding unit 62 and reference image data from the frame memory 69, and generates predicted image data. Then, the intra prediction unit 80 outputs the generated predicted image data to the selector 71.
  • the motion compensation unit 90 performs motion compensation processing based on the inter prediction information input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. Then, the motion compensation unit 90 outputs the generated predicted image data to the selector 71.
  • the filtering necessity determination process is a process for determining whether or not a deblocking filter should be applied for each block boundary in the input image.
  • the block boundary includes a vertical block boundary between adjacent blocks on the left and right and a horizontal block boundary between adjacent blocks on the upper and lower sides.
  • the block size of 8 ⁇ 8 pixels is the smallest processing unit.
  • the term “macroblock” includes a coding unit (CU) in the context of HEVC.
  • FIG. 3 is an explanatory diagram illustrating an example of pixels in two blocks Ba and Bb adjacent to each other with a block boundary interposed therebetween.
  • a vertical block boundary will be described as an example, but it should be understood that the items described here are equally applicable to a horizontal block boundary.
  • the pixels in the block Ba are indicated by the symbol p ij .
  • i is a column index and j is a row index.
  • the column index i is numbered 0, 1, 2, 3 in order from the column closest to the vertical block boundary (from right to left).
  • the row index j is numbered 0, 1, 2,..., 7 from top to bottom. Note that the left half of the block Ba is omitted in the figure.
  • the pixels in the block Bb are indicated by the symbol q kj .
  • k is a column index and j is a row index.
  • the column index k is numbered 0, 1, 2, 3 in order from the column closest to the vertical block boundary (from left to right).
  • the right half of the block Bb is also omitted in the drawing.
  • Whether the deblocking filter should be applied to the block boundary between the blocks Ba and Bb shown in FIG. 3 can be determined according to the following conditions:
  • Condition A (A1) Block Ba or Bb is the intra prediction mode; (A2) Block Ba or Bb has a non-zero orthogonal transform coefficient; or (A3)
  • the motion vector of the block Ba with Qpel (1/4 pixel) accuracy is (MVAx, MVAy), and the motion vector of the block Bb is (MVBx, MVBy).
  • ⁇ in the condition B is an edge determination threshold value. The initial value of ⁇ is given according to the quantization parameter. Also, the value of ⁇ can be specified by the user with a parameter in the slice header.
  • a row or column orthogonal to a block boundary is referred to as a “line”. That is, a line orthogonal to the vertical block boundary is a row, and a line orthogonal to the horizontal block boundary is a column.
  • the line index is counted from the zeroth in order from the upper end of the vertical block boundary or the left end of the horizontal block boundary.
  • the filtering processing is performed on the pixels on the left and right of the boundary for the vertical block boundary, Done.
  • the filter strength can be switched between a strong filter and a weak filter in accordance with the pixel value.
  • Luminance component filtering-Intensity selection Select filter intensity for each row (or for each column). A strong filter is selected if all of the following conditions C1 to C3 are satisfied, and a weak filter is selected if any one of the following conditions is not satisfied: (C1) d ⁇ ( ⁇ >> 2) (C2) (
  • j is an index of a line at the block boundary.
  • Clip ( ⁇ t C , t C , (13 (q 0j ⁇ p 0j ) +4 (q 1j ⁇ p 1j ) ⁇ 5 (q 2j ⁇ p 2j ) +16) >> 5))
  • p 0j Clip 0-255 (p 0j + ⁇ )
  • q 0j Clip 0-255 (q 0j - ⁇ )
  • p 1j Clip 0-255 (p 1j + ⁇ / 2)
  • q 1j Clip 0-255 (q 1j - ⁇ / 2)
  • p 0j Clip 0-255 ((p 2j + 2p 1j + 2p 0j + 2q 0j + q 1j +4) >> 3)
  • q 0j Clip 0-255 ((p 1j + 2p 0j + 2q 0j + 2q 1j + q 2j +4) >> 3)
  • p 1j Clip 0-255 ((p 2j + p 1j + p 0j + q 0j +2) >> 2)
  • q 1j Clip 0-255 ((p 0j + q 0j + q 1j + q 2j +2) >> 2)
  • p 2j Clip 0-255 ((2p 3j + 3p 2j + p 1j + p 0j + q 0j +4) >> 3)
  • q 2j Clip 0-255 ((p 0j + q 0j + 3q 2j + 2q 3j +4) >> 3)
  • Clip (a, b, c) is a process of clipping the value c in the range of a ⁇ c ⁇ b
  • Clip 0-255 (c) is a process of clipping the value c in the range of 0 ⁇ c ⁇ 255.
  • Clip ( ⁇ t C , t C , ((((q 0j ⁇ p 0j ) ⁇ 2) + p 1j ⁇ q 1j +4) >> 3))
  • p 0j Clip 0-255 (p 0j + ⁇ )
  • q 0j Clip 0-255 (q 0j - ⁇ )
  • the filtering necessity determination process is performed with reference to two lines orthogonal to the block boundary as described above, while the filtering process is performed on the block boundary determined to be applied with the deblocking filter. It can be performed on all orthogonal lines (0 ⁇ j ⁇ 7).
  • FIG. 5 is an explanatory diagram for explaining a situation in which the accuracy of determination in the necessity determination process for filtering may decrease in the existing method described above.
  • the left side of FIG. 5 shows an image Im1 that is encoded or decoded for each block.
  • the image Im1 shows the sky, mountains, and trees in the natural scenery.
  • an image region R 01 corresponding to the sky and an image region R 02 corresponding to the mountain are included in the block boundary BB 1.
  • the boundary between is crossed. In this case, for example, even if no block distortion occurs in the image region R 01 , there is a possibility that block distortion occurs in the image region R 02 .
  • the filtering necessity determination processing is performed by referring only to the line belonging to the image region on one side of the region boundary. If done, the block distortion in the image area on the other side cannot be properly evaluated.
  • FIG. 6 is an explanatory diagram for explaining the above-described situation in more detail.
  • the region boundary RB 1 intersects the block boundary BB 0 between the block Ba and the block Bb.
  • Both the block Ba and the block Bb include a region R 11 on one side of the region boundary RB 1 and a region R 12 on the other side.
  • the region R 11 and the region R 12 may be different texture regions on the surface of one subject, or may be different subject regions.
  • the intersection between the block boundary BB 0 and the region boundary RB 1 is between the pixel P 01 and the pixel P 02 from the viewpoint of the block Ba, and the pixel q 01 and the pixel q 02 from the viewpoint of the block Bb. Located between and.
  • both the reference lines L2 and L5 of the filtering necessity determination process using the existing method belong to the region R12.
  • the filtering necessity determination process in the existing techniques while block distortion for areas R 12 is evaluated, block distortion of the region R 11 is not evaluated.
  • even a strong block distortion has occurred for regions R 11, may not be able to improve the block distortion by the application of the deblocking filter.
  • the above-described inconvenience is solved by adaptively changing the reference line of the necessity determination process for filtering in accordance with the position of the region boundary that intersects the block boundary, and the image quality after filtering. To improve.
  • FIG. 7 is a block diagram illustrating an example of a detailed configuration of the deblocking filter 24 according to an embodiment.
  • the deblocking filter 24 includes a determination information buffer 110, a region boundary detection unit 120, a reference line selection unit 130, a determination unit 140, and a filtering unit 150.
  • the determination information buffer 110 temporarily stores determination information used for determining the necessity of filtering for each block boundary using a storage medium such as a hard disk or a semiconductor memory.
  • the determination information stored by the determination information buffer 110 includes, for example, mode information (intra prediction mode or inter prediction mode) acquired for each block, transform coefficient information (whether it has non-zero orthogonal transform coefficients), and a motion vector. Information can be included. These pieces of determination information stored in the determination information buffer 110 are used in filtering necessity determination processing by the determination unit 140 described later.
  • the region boundary detection unit 120 detects the presence of a region boundary that intersects a block boundary in an image that is encoded or decoded for each block, and the position of the region boundary (if any).
  • FIG. 8 is an explanatory diagram for explaining an example of region boundary detection processing by the region boundary detection unit 120. Referring to FIG. 8, two blocks Ba and Bb adjacent to each other across a certain block boundary are partially shown.
  • the region boundary detection unit 120 calculates a difference in pixel values between two pixels adjacent to each other along the block boundary among the pixels of the block Ba.
  • the region boundary detection unit 120 includes the difference d a01 between the pixel p 00 and the pixel p 01 , the difference d a12 between the pixel p 01 and the pixel p 02 , the pixel p 02 and the pixel p 03.
  • the indices u and v of the difference d uv indicating the maximum value Xa indicate the pixel position where the change in the pixel value between adjacent pixels along the block boundary is the largest in the block Ba.
  • the region boundary detection unit 120 calculates a pixel value difference between two pixels adjacent to each other along the block boundary among the pixels of the block Bb.
  • the region boundary detection unit 120 includes the difference d b01 between the pixel q 00 and the pixel q 01 , the difference d b12 between the pixel q 01 and the pixel q 02 , the pixel q 02 and the pixel q 03.
  • the indexes s and t of the difference d st indicating the maximum value Xb indicate the pixel position where the change in the pixel value between adjacent pixels along the block boundary is the largest in the block Bb.
  • the region boundary detection unit 120 determines whether there is a region boundary that intersects the block boundary between the blocks Ba and Bb based on the calculated maximum values Xa and Xb. For example, the region boundary detection unit 120 may determine that the region boundary exists when the following determination formula is satisfied: Xa> T and Xb> T
  • T is a determination threshold value.
  • the threshold value T may be set fixedly or may be set dynamically. For example, when the quantization scale used in the quantization or inverse quantization of the orthogonal transform coefficient is large, the pixel value takes a more discrete coarse value, and thus the difference between the pixels tends to be larger. is there. Therefore, by setting the threshold T to be larger as the quantization scale is larger, it is possible to more accurately determine the presence of the region boundary.
  • the region boundary detection unit 120 further determines the position of the region boundary when the determination formula indicates that there is a region boundary that intersects the block boundary. More specifically, region boundary detection unit 120, the index u of the difference d uv giving the maximum value Xa, v to corresponding two pixels p 0u, between p 0 v, and the difference d st giving the maximum value Xb A position passing between the two pixels q 0s and q 0t corresponding to the indexes s and t can be determined as the position of the region boundary.
  • FIG. 9 and 10 show examples of the position of the region boundary detected by the region boundary detection unit 120, respectively.
  • the region boundary detection unit 120 detects the existence of the region boundary intersecting with the block boundary and the position of the region boundary, and refers to the information indicating the presence or absence of the region boundary and the position of the detected region boundary for each block boundary.
  • the data is output to the line selection unit 130.
  • the reference line selection unit 130 selects a reference line to be referred to when determining whether to apply the deblocking filter, according to the position of the region boundary detected by the region boundary detection unit 120. More specifically, the reference line selection unit 130 selects the second line and the fifth line as reference lines in the same manner as the existing method for the block boundary where the intersecting region boundary is not detected. (See FIG. 4). On the other hand, for the block boundary where the intersecting region boundary is detected, the reference line selection unit 130 selects one line belonging to the first region and one line belonging to the second region divided by the region boundary. And selected as a reference line for the above determination.
  • the line belonging to each region means a line in which at least two adjacent pixels across the block boundary on the line belong to the region.
  • the reference line selection unit 130 refers to a line closest to the intersection of a region boundary and a block boundary among lines belonging to each region. It may be selected as a line. 11 and 12 show examples of reference lines selected in the first example.
  • the region boundary RB 2 intersecting with the block boundary BB 0 illustrated in FIG. 9 is shown again.
  • the intersection of the block boundary BB 0 and the region boundary RB 2 is located between the pixel p 01 and the pixel p 02 .
  • the intersection of the block boundary BB 0 and the region boundary RB 2 is located between the pixel q 01 and the pixel q 02 . Therefore, the reference line selection unit 130, the first line L1 as a reference line belonging to the first region R 21, the second line L2 is selected as the reference line belonging to the second region R 22.
  • the region boundary RB 3 intersecting with the block boundary BB 0 illustrated in FIG. 10 is shown again.
  • the intersection of the block boundary BB 0 and the region boundary RB 3 is located between the pixel p 01 and the pixel p 02 .
  • the intersection of the block boundary BB 0 and the region boundary RB 3 is located between the pixel q 04 and the pixel q 05 . Therefore, the reference line selection unit 130 selects the first region the first line L1 as a reference line belonging to R 31, 5 th line L5 as reference lines belonging to the second region R 32.
  • selection should be made from pixel position indexes (for example, the above-described indexes u and v and indexes s and t) indicating the position of the region boundary detected by the region boundary detection unit 120.
  • the reference line can be determined directly. Therefore, an additional memory for selecting the reference line is unnecessary, and the reference line can be selected quickly.
  • the reference line selection unit 130 selects a line located at the center of the block boundary in each region as a reference line. Also good. 13 and 14 show examples of reference lines selected in the second example.
  • the reference line selection unit 130 includes a first region R 21 reference 0th line L0 as a line belonging to, selects a fourth line L4 as a reference line belonging to the second region R 22 (1 th line L1 and the fifth line L5 may be selected as reference lines).
  • the region boundary RB 3 intersecting with the block boundary BB 0 illustrated in FIG. 10 is shown again.
  • the center of the block boundary BB 0 in the first region R 31 on the upper right side of the region boundary RB 3 is between the 0th and 1st lines.
  • the center of the block boundary BB 0 in the second region R 32 below the region boundary RB 3 is on the sixth line. Therefore, the reference line selection unit 130 includes a first region R 31 reference 0th line L0 as a line belonging to, select the sixth line L6 as a reference line belonging to the second region R 32 (instead of the line L0
  • the first line L1 may be selected as the reference line).
  • more pixels belonging to the same region can be included in one reference line than in the first example.
  • all six reference pixels on the reference line L0 belongs to the first region R 31, 5 single reference pixel among the six reference pixels on the reference line L6 is the second region R 32 Belonging to. This makes it possible to perform the determination of the luminance component determination condition B described above more accurately.
  • the determination unit 140 determines whether to apply a deblocking filter to each block boundary using pixel values belonging to the reference line selected by the reference line selection unit 130.
  • FIG. 15 is a block diagram illustrating an example of a more detailed configuration of the determination unit 140 illustrated in FIG.
  • the determination unit 140 includes a tap construction unit 141, a calculation unit 142, a threshold comparison unit 143, a distortion evaluation unit 144, and a filtering determination unit 145.
  • the tap constructing unit 141 acquires the pixel values on the reference lines of two blocks adjacent to each other across each block boundary, and selects the tap (reference pixel value set) for determination of the luminance component determination condition B described above. To construct.
  • the reference line here is a line selected by the reference line selection unit 130.
  • the computing unit 142 substitutes the tap constructed by the tap constructing unit 141 into the left side of the judgment formula of the judgment condition B, and calculates the value of the edge to be compared with the edge judgment threshold ⁇ .
  • the threshold comparison unit 143 compares the value calculated by the calculation unit 142 with the edge determination threshold ⁇ and outputs the comparison result to the filtering determination unit 145.
  • the distortion evaluation unit 144 evaluates the above-described luminance component determination condition A using the mode information, conversion coefficient information, and motion vector information supplied as the determination information. Then, the distortion evaluation unit 144 outputs the evaluation result to the filtering determination unit 145. For the color difference component, only the determination on the determination condition A1 based on the mode information by the distortion evaluation unit 144 can be performed.
  • the filtering determination unit 145 deblocks the target boundary based on the comparison result for the determination condition B input from the threshold comparison unit 143 and the evaluation result for the determination condition A input from the distortion evaluation unit 144. Whether or not should be applied. And the filtering determination part 145 outputs the information which shows a determination result to the filtering part 150 of FIG.
  • the filtering unit 150 is supplied with the determination result and filter coefficient for each block boundary from the determination unit 140. Then, the filtering unit 150 applies the deblocking filter to the block boundary determined by the determination unit 140 that the deblocking filter should be applied.
  • the filtering process by the filtering unit 150 may be the same as the existing method described above. For example, for the luminance component, the filtering unit 150 may filter each line orthogonal to the block boundary while switching the filter strength between the strong filter and the weak filter according to the pixel value. Further, the filtering unit 150 can filter each line for the color difference component without switching the filter strength. Then, the filtering unit 150 outputs the pixel value after filtering for the pixel to which the filter is applied, and the input pixel value for the other pixels. The output from the filtering unit 150 constitutes an output image from the deblocking filter 24.
  • FIG. 16 is a flowchart showing an example of the flow of processing by the deblocking filter 24 according to this embodiment.
  • the region boundary detection unit 120 pays attention to one block boundary in an image that is encoded or decoded for each block, and detects a region boundary that intersects the block boundary (step S110). .
  • the region boundary detection unit 120 determines the maximum value of the pixel value difference between two pixels adjacent along the block boundary in the block on one side of the block boundary, and the same maximum value for the other block. If both of these maximum values exceed the determination threshold T, it can be determined that there is a region boundary that intersects the block boundary. If a region boundary that intersects the block boundary is detected, the process proceeds to step S130. On the other hand, if the region boundary is not detected, the process proceeds to step S140 (step S120).
  • the reference line for determining whether or not to apply the deblocking filter to the block boundary where the intersecting area boundary is detected is determined by the reference line selection unit 130 according to the position of the detected area boundary. Is selected (step S130). For example, the reference line selection unit 130 may select, as a reference line, a line that is closest to the intersection of the region boundary and the block boundary among lines belonging to each region divided by the region boundary. Instead, the reference line selection unit 130 may select a line located approximately at the center of the block boundary in each region as a reference line.
  • step S140 the reference line selection unit 130 selects a predetermined reference line (for example, the second and fifth lines) for the block boundary where the intersecting region boundary is not detected (step S140).
  • a predetermined reference line for example, the second and fifth lines
  • the determination unit 140 performs a filtering necessity determination process illustrated in FIG. 17 using the pixel values belonging to the reference line selected by the reference line selection unit 130 (step S150). Then, as a result of the filtering necessity determination process, when it is determined that the deblocking filter should be applied to the block boundary, the process proceeds to step S170. On the other hand, when it is determined that the deblocking filter should not be applied to the block boundary, step S170 is skipped (step S160).
  • step S170 the deblocking filter is applied to the block boundary determined by the filtering unit 150 that the deblocking filter should be applied (step S170). Thereby, block distortion occurring at the block boundary can be removed.
  • step S180 the series of processing ends (step S180).
  • FIG. 17 is a flowchart showing an example of a detailed flow of the filtering necessity determination process in step S150 of FIG.
  • the distortion evaluation unit 144 evaluates the distortion at each boundary based on the mode information, the transform coefficient information, and the motion vector information (step S151). If it is evaluated that there is distortion (when the determination condition A is true), the process proceeds to step S153. On the other hand, if it is evaluated that there is no distortion, the process proceeds to step S157 (step S152).
  • step S153 the tap constructing unit 141 acquires pixel values on the reference lines of two adjacent blocks across the block boundary, and constructs a tap for determining the above-described luminance component determination condition B (step S153). S153).
  • the computing unit 142 calculates the value of the edge of the block boundary based on the tap constructed by the tap constructing unit 141 (step S154).
  • the threshold value comparison unit 143 compares the calculated value with the edge determination threshold value ⁇ (step S156). If the edge value is smaller than the threshold value ⁇ (when the determination condition B is true), the process proceeds to step S156. On the other hand, if the edge value is not smaller than the threshold value ⁇ , the process proceeds to step S157.
  • step S156 the filtering determination unit 145 determines that the deblocking filter should be applied to the block boundary to be determined (step S156).
  • step S157 the filtering determination unit 145 determines that the deblocking filter should not be applied to the block boundary to be determined (step S157).
  • the image encoding device 10 and the image decoding device 60 include a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication,
  • the present invention can be applied to various electronic devices such as a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a reproducing apparatus that reproduces an image from the storage medium.
  • a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a reproducing apparatus that reproduces an image from the storage medium.
  • FIG. 18 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. In other words, the tuner 902 serves as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 60 according to the above-described embodiment. As a result, when the image is decoded by the television apparatus 900, it is possible to more appropriately determine whether to apply the deblocking filter for each block boundary, and to effectively improve the image quality.
  • FIG. 19 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, when encoding and decoding an image with the mobile phone 920, it is possible to more appropriately determine whether to apply a deblocking filter for each block boundary, and to effectively improve image quality.
  • FIG. 20 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing device 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • FIG. 21 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. Accordingly, when encoding and decoding an image by the imaging device 960, it is possible to more appropriately determine whether to apply a deblocking filter for each block boundary, and to effectively improve image quality.
  • One line belonging to the region is selected as the reference line. Therefore, even if there are two different subject areas or texture areas in the block, it is possible to appropriately evaluate whether block distortion has occurred in each area. Further, the difference between the determination process in such a configuration and the determination process in the existing method is only that the positions of the two reference lines can be changed. Therefore, the above-described mechanism can be implemented at a relatively low cost while utilizing the configuration of an existing image processing apparatus.
  • the position where the difference between the pixel values between two adjacent pixels along the block boundary becomes the largest is detected as the region boundary position, and is referred to according to the detected region boundary position.
  • a line is selected. Therefore, the reference line can be selected after obtaining the position of the boundary region by a simple calculation using the pixel value.
  • the present embodiment it is determined whether or not there is a region boundary that intersects the block boundary by comparing the maximum value of the pixel value difference described above with a threshold value.
  • the threshold value can be set according to a quantization scale used when the orthogonal transform coefficient is quantized or inversely quantized. Thereby, it is possible to stably ensure the accuracy of the determination of the existence of the region boundary.
  • deblock filter described in this specification may be implemented as a post filter applied to improve image quality after decoding an image.
  • the method of transmitting information used for the deblocking filter processing from the encoding side to the decoding side is not limited to the method of multiplexing these information in the header of the encoded stream.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or the bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.

Landscapes

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

Abstract

【課題】ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行うこと。 【解決手段】ブロックごとに復号される画像内のブロック境界に交差する領域境界の位置を検出する検出部と、上記検出部により検出される上記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択する選択部と、上記選択部により選択される上記参照ラインに属する画素値を用いて、上記ブロック境界にデブロックフィルタを適用するかを判定する判定部と、上記判定部によりデブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用するフィルタリング部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 画像符号化方式の標準仕様の1つであるH.264/AVCでは、画像の符号化の際に生じるブロック歪みに起因する画質の劣化を抑制するために、例えば4×4画素のブロックごとに、ブロック境界に適応的にデブロックフィルタが適用される。デブロックフィルタの適応的な適用とは、ブロック歪みが生じているブロック境界を判定し、ブロック歪みが生じているブロック境界にのみデブロックフィルタを適用することをいう。それにより、ブロック歪みが生じていないブロック境界にまでデブロックフィルタが適用されることで却って画像の解像度が低下して画質が損なわれるという副次的な影響が避けられる。
 次世代の画像符号化方式であるHEVC(High Efficiency Video Coding)の標準化作業では、JCTVC-A119(下記非特許文献1参照)において、8×8画素以上のサイズのブロックのブロック境界ごとにデブロックフィルタを適用することが提案されている。
K.Ugur (Nokia), K.R.Andersson (LM Ericsson), A.Fuldseth (Tandberg Telecom), "JCTVC-A119:Video coding technology proposal by Tandberg, Nokia, and Ericsson", Documents of the first meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Dresden, Germany, 15-23 April, 2010.
 デブロックフィルタによる画質の改善の効果は、ブロック境界ごとのデブロックフィルタを適用するか否かの判定の正確さに依存する。この判定が正確でなければ、ブロック歪みが生じているブロック境界にデブロックフィルタが適用されない可能性、及びブロック歪みが生じていないブロック境界にまでデブロックフィルタが適用される可能性が高まる。一例として、既存の手法では、1つのブロック内に互いに異なる複数のテクスチャ領域が含まれていると、上述した判定を適切に行うことのできない場合があった。
 そこで、本開示に係る技術は、ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行うことのできる、画像処理装置及び画像処理方法を提供しようとするものである。
 ある実施形態によれば、ブロックごとに復号される画像内のブロック境界に交差する領域境界の位置を検出する検出部と、上記検出部により検出される上記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択する選択部と、上記選択部により選択される上記参照ラインに属する画素値を用いて、上記ブロック境界にデブロックフィルタを適用するかを判定する判定部と、上記判定部によりデブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用するフィルタリング部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、上記選択部は、上記領域境界により区分される第1の領域に属する1つのラインと第2の領域に属する1つのラインとを上記参照ラインとして選択してもよい。
 また、上記選択部は、各領域に属するラインのうち上記領域境界と上記ブロック境界との交点に最も近いラインを上記参照ラインとして選択してもよい。
 また、上記選択部は、各領域内での上記ブロック境界の略中央部を通るラインを上記参照ラインとして選択してもよい。
 また、上記検出部は、上記ブロック境界に沿って隣接する画素間の画素値の差分が最も大きくなる位置を、上記領域境界の位置として検出してもよい。
 また、上記検出部は、上記差分の最大値が閾値を下回る場合には、上記領域境界が存在しないと判定してもよい。
 また、上記閾値は、量子化スケールが大きいほどより大きく設定されてもよい。
 また、別の実施形態によれば、ブロックごとに復号される画像内のブロック境界に交差する領域境界の位置を検出することと、検出される上記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択することと、選択される上記参照ラインに属する画素値を用いて、上記ブロック境界にデブロックフィルタを適用するかを判定することと、デブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用することと、を含む画像処理方法が提供される。
 また、別の実施形態によれば、ブロックごとに符号化される画像内のブロック境界に交差する領域境界の位置を検出する検出部と、上記検出部により検出される上記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択する選択部と、上記選択部により選択される上記参照ラインに属する画素値を用いて、上記ブロック境界にデブロックフィルタを適用するかを判定する判定部と、上記判定部によりデブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用するフィルタリング部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
 また、別の実施形態によれば、ブロックごとに符号化される画像内のブロック境界に交差する領域境界の位置を検出することと、検出される上記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択することと、選択される上記参照ラインに属する画素値を用いて、上記ブロック境界にデブロックフィルタを適用するかを判定することと、デブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用することと、を含む画像処理方法が提供される。
 本開示に係る画像処理装置及び画像処理方法によれば、ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行うことができる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 ブロック境界を挟んで隣接する画素の一例を示す説明図である。 既存の手法におけるフィルタリング要否判定処理の参照ラインについて説明するための説明図である。 既存の手法においてフィルタリング要否判定処理の判定の精度が低下し得る状況について説明するための説明図である 図5に例示した状況についてより詳細に説明するための説明図である。 一実施形態に係るデブロックフィルタの詳細な構成の一例を示すブロック図である。 一実施形態に係る領域境界検出処理の一例について説明するための説明図である。 領域境界検出処理により検出される領域境界の位置の一例を示す説明図である。 領域境界検出処理により検出される領域境界の位置の他の例を示す説明図である。 図9に例示した領域境界の位置に応じて選択される参照ラインの第1の例を示す説明図である。 図10に例示した領域境界の位置に応じて選択される参照ラインの第1の例を示す説明図である。 図9に例示した領域境界の位置に応じて選択される参照ラインの第2の例を示す説明図である。 図10に例示した領域境界の位置に応じて選択される参照ラインの第2の例を示す説明図である。 図7に例示した判定部のさらに詳細な構成の一例を示すブロック図である。 一実施形態に係るデブロックフィルタによる処理の流れの一例を示すフローチャートである。 一実施形態に係るフィルタリング要否判定処理の詳細な流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
 また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
  1.装置の概要
   1-1.画像符号化装置
   1-2.画像復号装置
  2.既存の手法の説明
   2-1.デブロックフィルタの基本的な構成
   2-2.領域境界の影響
  3.一実施形態に係るデブロックフィルタの構成
  4.一実施形態に係る処理の流れ
  5.応用例
  6.まとめ
 <1.装置の概要>
 まず、図1及び図2を用いて、本明細書で開示する技術を適用可能な一例としての装置の概要を説明する。本明細書で開示する技術は、例えば、画像符号化装置及び画像復号装置に適用可能である。
  [1-1.画像符号化装置]
 図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24a、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
 A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並び替えバッファ12へ出力する。
 並び替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並び替える。並び替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並び替えた後、並び替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
 減算部13には、並び替えバッファ12から入力される画像データ、及び後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並び替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
 可逆符号化部16には、量子化部15から入力される量子化データ、及び、後に説明するイントラ予測部30又は動き探索部40により生成されモード選択部50により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、ブロックごとの動きベクトルの予測のための予測モード情報、差分動きベクトル情報、及び参照画像情報などを含み得る。
 可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ(例えばブロックヘッダ又はスライスヘッダなど)内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24a及びフレームメモリ25へ出力する。
 デブロックフィルタ24aは、画像の符号化の際に生じるブロック歪みを減少させるためのフィルタリング処理を行う。例えば、デブロックフィルタ24aは、加算部23から入力される復号画像データについてブロック境界ごとにフィルタリングの要否を判定し、フィルタを適用すべきであると判定したブロック境界にデブロックフィルタを適用する。デブロックフィルタ24aには、加算部23からの復号画像データに加えて、フィルタリングの要否の判定のために使用される情報(例えば、モード情報、変換係数情報及び動きベクトル情報)も入力される。そして、デブロックフィルタ24aは、ブロック歪みの除去されたフィルタリング後の復号画像データをフレームメモリ25へ出力する。なお、デブロックフィルタ24aによる処理について、後に詳細に説明する。
 フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24aから入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。
 イントラ予測部30は、並び替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。
 動き探索部40は、並び替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、インター予測処理(フレーム間予測処理)を行う。例えば、動き探索部40は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部40は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部40は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部40は、選択した最適な予測モードを表す予測モード情報、予測画像データ、及びコスト関数値などのインター予測に関する情報を、モード選択部50へ出力する。
 モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。また、モード選択部50は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13及び加算部23へ出力する。
  [1-2.画像復号装置]
 図2は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図2を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ24b、並び替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、並びに動き補償部90を備える。
 蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、インター予測に関する情報を動き補償部90へ出力する。
 逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化の際に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ24b及びフレームメモリ69へ出力する。
 デブロックフィルタ24bは、復号された画像に現れるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24bは、例えば、加算部65から入力される復号画像データについてブロック境界ごとにフィルタリングの要否を判定し、フィルタを適用すべきであると判定したブロック境界にデブロックフィルタを適用する。デブロックフィルタ24bには、加算部65からの復号画像データに加えて、フィルタリングの要否の判定のために使用される情報も入力される。そして、デブロックフィルタ24bは、ブロック歪みの除去されたフィルタリング後の復号画像データを並び替えバッファ67及びフレームメモリ69へ出力する。なお、デブロックフィルタ24bによる処理について、後に詳細に説明する。
 並び替えバッファ67は、デブロックフィルタ24bから入力される画像を並び替えることにより、時系列の一連の画像データを生成する。そして、並び替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並び替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ24bから入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。セレクタ71は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
 イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。
 動き補償部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、生成した予測画像データをセレクタ71へ出力する。
 <2.既存の手法の説明>
  [2-1.デブロックフィルタの基本的な構成]
 一般的に、H.264/AVC又はHEVCなどの既存の画像符号化方式におけるデブロックフィルタによる処理は、フィルタリング要否判定処理及びフィルタリング処理という2種類の処理を含む。以下、HEVCを例にとって、これら2つの処理について説明する。
   (1)フィルタリング要否判定処理
 フィルタリング要否判定処理は、入力画像内のブロック境界ごとにデブロックフィルタを適用すべきか否かを判定する処理である。ブロック境界は、左右に隣接するブロック間の垂直ブロック境界と、上下に隣接するブロック間の水平ブロック境界とを含む。JCTVC-A119では、8×8画素のブロックサイズが最小の処理単位である。例えば、16×16画素のマクロブロック内には4つの8×8画素のブロックが存在し、ブロックごとに1つの(左の)垂直ブロック境界及び1つの(上の)水平ブロック境界、即ち合計で4+4=8個のブロック境界が判定の対象となる。なお、本明細書において、マクロブロックとの用語は、HEVCの文脈における符号化単位(CU:Coding Unit)をも含むものとする。
 図3は、ブロック境界を挟んで隣接する2つのブロックBa及びBb内の画素の一例を示す説明図である。ここでは垂直ブロック境界を例にとって説明するが、当然ながら、ここで説明される事項は水平ブロック境界にも同等に適用可能である。図3の例において、ブロックBa内の画素は、pijという記号で示されている。iは列のインデックス、jは行のインデックスである。列のインデックスiは、垂直ブロック境界に近い列から順に(右から左へ)0,1,2,3と付番されている。行のインデックスjは、上から下へ0,1,2,…,7と付番されている。なお、ブロックBaの左半分は図中で省略されている。一方、ブロックBb内の画素は、qkjという記号で示されている。kは列のインデックス、jは行のインデックスである。列のインデックスkは、垂直ブロック境界に近い列から順に(左から右へ)0,1,2,3と付番されている。なお、ブロックBbの右半分もまた図中で省略されている。
 図3に示したブロックBa及びBbの間のブロック境界について、デブロックフィルタを適用すべきか否かは、次のような条件に従って判定され得る:
 ・輝度成分(Luma)の判定条件・・・条件A及び条件Bがいずれも真なら適用
  -条件A:
   (A1)ブロックBa若しくはBbがイントラ予測モードである;
   (A2)ブロックBa若しくはBbが非ゼロの直交変換係数を有する;又は
   (A3)|MVAx-MVBx|≧4若しくは|MVAy-MVBy|≧4
  -条件B:
   |p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|<β
 なお、条件A3に関し、Qpel(1/4画素)精度のブロックBaの動きベクトルを(MVAx,MVAy)、ブロックBbの動きベクトルを(MVBx,MVBy)とする。また、条件Bにおけるβは、エッジ判定閾値である。βの初期値は量子化パラメータに応じて与えられる。また、βの値は、スライスヘッダ内のパラメータでユーザにより指定可能である。
 ・色差成分(Chroma)の判定条件・・・条件A1が真なら適用
  -条件A1:ブロックBa又はBbがイントラ予測モードである
 即ち、図4において点線枠L2及びL5で示しているように、一般的なブロック境界についてのフィルタリング要否判定処理(特に、輝度成分の判定条件Bの判定)では、各ブロックの2番目及び5番目のライン上の画素が参照される。そして、上述した判定条件に従ってデブロックフィルタを適用すべきと判定されたブロック境界に直交する各ラインに、次に説明するフィルタリング処理が行われる。
 なお、本明細書では、ブロック境界に直交する行又は列を「ライン」という。即ち、垂直ブロック境界に直交するラインは行であり、水平ブロック境界に直交するラインは列である。また、ラインのインデックスを、垂直ブロック境界の上端又は水平ブロック境界の左端から順にゼロ番目からカウントするものとする。
   (2)フィルタリング処理
 あるブロック境界についてデブロックフィルタを適用すべきと判定されると、垂直ブロック境界については当該境界の左右の画素、水平ブロック境界については当該境界の上下の画素に、フィルタリング処理が行われる。輝度成分については、画素値に応じてフィルタ強度が強(strong)フィルタと弱(weak)フィルタとの間で切り替えられ得る。
 ・輝度成分のフィルタリング
  -強度選択・・・1行ごと(又は1列ごと)にフィルタ強度を選択。以下の条件C1~C3が全て満たされる場合には強フィルタ、いずれか1つでも満たされない場合には弱フィルタが選択される:
   (C1)d<(β>>2)
   (C2)(|p3j-p0j|+|q0j-q3j|)<(β>>3)
   (C3)|p0j-q0j|<((5t+1)>>1)
ここで、jは、ブロック境界のラインのインデックスである。また、d=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|である。
  -弱フィルタリング:
   Δ=Clip(-t,t,(13(q0j-p0j)+4(q1j-p1j)-5(q2j-p2j)+16)>>5))
   p0j=Clip0-255(p0j+Δ)
   q0j=Clip0-255(q0j-Δ)
   p1j=Clip0-255(p1j+Δ/2)
   q1j=Clip0-255(q1j-Δ/2)
  -強フィルタリング:
   p0j=Clip0-255((p2j+2p1j+2p0j+2q0j+q1j+4)>>3)
   q0j=Clip0-255((p1j+2p0j+2q0j+2q1j+q2j+4)>>3)
   p1j=Clip0-255((p2j+p1j+p0j+q0j+2)>>2)
   q1j=Clip0-255((p0j+q0j+q1j+q2j+2)>>2)
   p2j=Clip0-255((2p3j+3p2j+p1j+p0j+q0j+4)>>3)
   q2j=Clip0-255((p0j+q0j+q1j+3q2j+2q3j+4)>>3)
 なお、Clip(a,b,c)は値cをa≦c≦bの範囲でクリップする処理、Clip0-255(c)は値cを0≦c≦255の範囲でクリップする処理をそれぞれ表す。
 ・色差成分のフィルタリング:
   Δ=Clip(-t,t,((((q0j-p0j)<<2)+p1j-q1j+4)>>3))
   p0j=Clip0-255(p0j+Δ)
   q0j=Clip0-255(q0j-Δ)
 即ち、HEVCでは、上述したようにブロック境界に直交する2つのラインを参照してフィルタリング要否判定処理が行われる一方で、フィルタリング処理は、デブロックフィルタを適用すべきと判定されたブロック境界に直交する全てのライン(0≦j≦7)に行われ得る。
  [2-2.領域境界の影響]
 図5は、上述した既存の手法においてフィルタリング要否判定処理の判定の精度が低下し得る状況について説明するための説明図である。図5の左には、ブロックごとに符号化又は復号される画像Im1が示されている。画像Im1には、自然の風景の中の空、山及び木々が写っている。このような画像Im1のブロックB11とブロックB12との間のブロック境界BBに着目すると、当該ブロック境界BBに、空に対応する画像領域R01と山に対応する画像領域R02との間の境界が交差している。この場合、例えば画像領域R01においてブロック歪みが生じていなかったとしても、画像領域R02においてはブロック歪みが生じている可能性がある。同様に、ブロックB21とブロックB22との間のブロック境界BBに着目すると、当該ブロック境界BBに、山に対応する画像領域R02と木々に対応する画像領域R03との間の境界が交差している。この場合、例えば画像領域R02においてブロック歪みが生じていたとしても、画像領域R03においてはブロック歪みが生じていない可能性もある。このように、ブロック境界と何らかの画像領域の境界(以下、領域境界という)とが交差している場合、領域境界の一方の側の画像領域に属するラインのみを参照してフィルタリング要否判定処理を行うと、他方の側の画像領域におけるブロック歪みを適切に評価することができない。
 図6は、上述した状況をより詳細に説明するための説明図である。図6を参照すると、ブロックBaとブロックBbとの間のブロック境界BBに、領域境界RBが交差している。ブロックBa及びブロックBbは、共に、領域境界RBの一方の側の領域R11及び他方の側の領域R12を含む。領域R11及び領域R12は、1つの被写体の表面の互いに異なるテクスチャの領域であってもよく、又は互いに異なる被写体の領域であってもよい。図6の例では、ブロック境界BBと領域境界RBとの交点は、ブロックBaの観点からは画素P01と画素P02との間、ブロックBbの観点からは画素q01と画素q02との間に位置する。この場合、既存の手法でのフィルタリング要否判定処理の参照ラインL2及びL5は、共に領域R12に属する。従って、既存の手法のフィルタリング要否判定処理では、領域R12についてのブロック歪みが評価される一方で、領域R11についてのブロック歪みは評価されない。その結果、例えば領域R11について強いブロック歪みが生じていたとしても、そのブロック歪みをデブロックフィルタの適用によって改善することができない可能性がある。
 そこで、次節より説明する実施形態では、ブロック境界と交差する領域境界の位置に応じてフィルタリング要否判定処理の参照ラインを適応的に変化させることにより、上述した不都合を解決し、フィルタリング後の画質を向上させる。
 <3.一実施形態に係るデブロックフィルタの構成>
 本節では、図1に示した画像符号化装置10のデブロックフィルタ24a及び図2に示した画像復号装置60のデブロックフィルタ24bの一実施形態に係る構成の一例を説明する。なお、デブロックフィルタ24a及びデブロックフィルタ24bの構成は、共通であってよい。従って、これ以降の説明では、特に両者を区別する必要が無い場合には、デブロックフィルタ24a及びデブロックフィルタ24bをデブロックフィルタ24と総称する。
 図7は、一実施形態に係るデブロックフィルタ24の詳細な構成の一例を示すブロック図である。図7を参照すると、デブロックフィルタ24は、判定情報バッファ110、領域境界検出部120、参照ライン選択部130、判定部140及びフィルタリング部150を有する。
  (判定情報バッファ)
 判定情報バッファ110は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、各ブロック境界についてのフィルタリングの要否の判定のために使用される判定情報を一時的に記憶する。判定情報バッファ110により記憶される判定情報は、例えば、ブロックごとに取得されるモード情報(イントラ予測モードかインター予測モードか)、変換係数情報(非ゼロの直交変換係数を有するか)及び動きベクトル情報を含み得る。判定情報バッファ110により記憶されるこれら判定情報は、後に説明する判定部140によるフィルタリング要否判定処理において使用される。
  (領域境界検出部)
 領域境界検出部120は、ブロックごとに符号化又は復号される画像内のブロック境界に交差する領域境界の存在及び(存在する場合の)当該領域境界の位置を検出する。
 図8は、領域境界検出部120による領域境界検出処理の一例について説明するための説明図である。図8を参照すると、ある1つのブロック境界を挟んで隣接する2つのブロックBa及びBbが部分的に示されている。
 領域境界検出部120は、例えば、ブロックBaの画素のうちブロック境界に沿って隣接する2つの画素の間の画素値の差分を計算する。図8の例では、領域境界検出部120は、画素p00と画素p01との間の差分da01、画素p01と画素p02との間の差分da12、画素p02と画素p03との間の差分da23、画素p03と画素p04との間の差分da34、画素p04と画素p05との間の差分da45、画素p05と画素p06との間の差分da56及び画素p06と画素p07との間の差分da67を計算する。そして、領域境界検出部120は、これら7個の差分のうちの最大値Xa=max[da01,…,da67]を算出する。最大値Xaを示す差分duvのインデックスu,vは、ブロックBaにおいてブロック境界に沿って隣接する画素間の画素値の変化が最も大きくなる画素位置を示す。
 同様に、領域境界検出部120は、ブロックBbの画素のうちブロック境界に沿って隣接する2つの画素の間の画素値の差分を計算する。図8の例では、領域境界検出部120は、画素q00と画素q01との間の差分db01、画素q01と画素q02との間の差分db12、画素q02と画素q03との間の差分db23、画素q03と画素q04との間の差分db34、画素q04と画素q05との間の差分db45、画素q05と画素q06との間の差分db56及び画素q06と画素q07との間の差分db67を計算する。そして、領域境界検出部120は、これら7個の差分のうちの最大値Xb=max[db01,…,db67]を算出する。最大値Xbを示す差分dstのインデックスs,tは、ブロックBbにおいてブロック境界に沿って隣接する画素間の画素値の変化が最も大きくなる画素位置を示す。
 そして、領域境界検出部120は、算出した最大値Xa及びXbに基づいて、ブロックBa及びBbの間のブロック境界に交差する領域境界が存在するか否かを判定する。例えば、領域境界検出部120は、次の判定式が満たされる場合に、上記領域境界が存在すると判定してよい:
   Xa>T and Xb>T
 ここで、Tは判定閾値である。閾値Tは、固定的に設定されてもよく、又は動的に設定されてもよい。例えば、直交変換係数の量子化又は逆量子化の際に使用される量子化スケールが大きい場合には、画素値はより離散的な粗い値をとるため、画素間の差分はより大きくなる傾向にある。従って、閾値Tを量子化スケールが大きいほどより大きく設定することで、領域境界の存在をより正確に判定することが可能となる。
 領域境界検出部120は、ブロック境界と交差する領域境界が存在することを上記判定式が示している場合には、さらに当該領域境界の位置を決定する。より具体的には、領域境界検出部120は、最大値Xaを与える差分duvのインデックスu,vに対応する2つの画素p0u,p0vの間、及び最大値Xbを与える差分dstのインデックスs,tに対応する2つの画素q0s,q0tの間を通る位置を領域境界の位置と決定し得る。
 図9及び図10は、領域境界検出部120により検出される領域境界の位置の一例をそれぞれ示している。例えば、上記判定式が満たされる場合において、Xa=da12,Xb=db12であるときは、図9の例のように、画素p01と画素p02との間及び画素q01と画素q02との間に領域境界RBが位置していると決定される。同様に、上記判定式が満たされる場合において、Xa=da12,Xb=db45であるときは、図10の例のように、画素p01と画素p02との間及び画素q04と画素q05との間に領域境界RBが位置していると決定される。
 領域境界検出部120は、このように、ブロック境界と交差する領域境界の存在及び当該領域境界の位置を検出し、領域境界の有無及び検出した領域境界の位置を示す情報をブロック境界ごとに参照ライン選択部130へ出力する。
  (参照ライン選択部)
 参照ライン選択部130は、ブロック境界ごとに、領域境界検出部120により検出される領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択する。より具体的には、参照ライン選択部130は、交差する領域境界が検出されなかったブロック境界については、既存の手法と同じように、2番目のライン及び5番目のラインを参照ラインとして選択する(図4参照)。一方、参照ライン選択部130は、交差する領域境界が検出されたブロック境界については、当該領域境界により区分される第1の領域に属する1つのラインと第2の領域に属する1つのラインとを、上記判定のための参照ラインとして選択する。ここで、各領域に属するラインとは、少なくとも当該ライン上のブロック境界を挟んで隣接する2つの画素が共にその領域に属するラインをいう。
   (1)選択基準の第1の例
 参照ラインの選択基準の第1の例として、参照ライン選択部130は、各領域に属するラインのうち領域境界とブロック境界との交点に最も近いラインを参照ラインとして選択してもよい。図11及び図12は、当該第1の例において選択される参照ラインの一例をそれぞれ示している。
 図11を参照すると、図9に例示したブロック境界BBと交差する領域境界RBが再び示されている。ブロックBa側では、ブロック境界BBと領域境界RBとの交点は、画素p01と画素p02との間に位置する。ブロックBb側では、ブロック境界BBと領域境界RBとの交点は、画素q01と画素q02との間に位置する。そこで、参照ライン選択部130は、第1の領域R21に属する参照ラインとして1番目のラインL1、第2の領域R22に属する参照ラインとして2番目のラインL2を選択する。
 図12を参照すると、図10に例示したブロック境界BBと交差する領域境界RBが再び示されている。ブロックBa側では、ブロック境界BBと領域境界RBとの交点は、画素p01と画素p02との間に位置する。ブロックBb側では、ブロック境界BBと領域境界RBとの交点は、画素q04と画素q05との間に位置する。そこで、参照ライン選択部130は、第1の領域R31に属する参照ラインとして1番目のラインL1、第2の領域R32に属する参照ラインとして5番目のラインL5を選択する。
 このような第1の例によれば、領域境界検出部120により検出される領域境界の位置を示す画素位置のインデックス(例えば、上述したインデックスu,v及びインデックスs,t)から、選択すべき参照ラインを直接的に決定することができる。そのため、参照ラインの選択のための追加的なメモリは不要であり、迅速に参照ラインを選択することが可能である。
   (2)選択基準の第2の例
 参照ラインの選択基準の第2の例として、参照ライン選択部130は、各領域内でのブロック境界の中央部に位置するラインを参照ラインとして選択してもよい。図13及び図14は、当該第2の例において選択される参照ラインの一例をそれぞれ示している。
 図13を参照すると、図9に例示したブロック境界BBと交差する領域境界RBが再び示されている。領域境界RBの上側の第1の領域R21内でのブロック境界BBの中央は、0番目と1番目のラインの間にある。領域境界RBの下側の第2の領域R22内のブロック境界BBの中央は、4番目と5番目のラインの間にある。そこで、参照ライン選択部130は、第1の領域R21に属する参照ラインとして0番目のラインL0、第2の領域R22に属する参照ラインとして4番目のラインL4を選択する(1番目のラインL1及び5番目のラインL5が参照ラインとして選択されてもよい)。
 図14を参照すると、図10に例示したブロック境界BBと交差する領域境界RBが再び示されている。領域境界RBの右上側の第1の領域R31内でのブロック境界BBの中央は、0番目と1番目のラインの間にある。領域境界RBの下側の第2の領域R32内のブロック境界BBの中央は、6番目のライン上にある。そこで、参照ライン選択部130は、第1の領域R31に属する参照ラインとして0番目のラインL0、第2の領域R32に属する参照ラインとして6番目のラインL6を選択する(ラインL0の代わりに1番目のラインL1が参照ラインとして選択されてもよい)。
 このような第2の例によれば、第1の例と比較して、1つの参照ラインに同じ領域に属する画素をより多く含めることができる。例えば、図14の例では、参照ラインL0上の6つの参照画素は全て第1の領域R31に属し、参照ラインL6上の6つの参照画素のうち5つの参照画素は第2の領域R32に属する。それにより、特に上述した輝度成分の判定条件Bの判定をより正確に行うことが可能となる。
  (判定部)
 判定部140は、参照ライン選択部130により選択される参照ラインに属する画素値を用いて、各ブロック境界にデブロックフィルタを適用するか否かを判定する。
 図15は、図8に例示した判定部140のさらに詳細な構成の一例を示すブロック図である。図15を参照すると、判定部140は、タップ構築部141、演算部142、閾値比較部143、歪み評価部144及びフィルタリング判定部145を含む。
 タップ構築部141は、各ブロック境界を挟んで隣接する2つのブロックの参照ライン上の画素値を取得し、上述した輝度成分の判定条件Bの判定のためのタップ(参照画素値のセット)を構築する。ここでの参照ラインは、参照ライン選択部130により選択されるラインである。演算部142は、タップ構築部141により構築されたタップを判定条件Bの判定式の左辺に代入し、エッジ判定閾値βと比較されるエッジの値を算出する。閾値比較部143は、演算部142により算出された値をエッジ判定閾値βと比較し、比較結果をフィルタリング判定部145へ出力する。
 歪み評価部144は、判定情報として供給されるモード情報、変換係数情報及び動きベクトル情報を用いて、上述した輝度成分の判定条件Aを評価する。そして、歪み評価部144は、評価結果をフィルタリング判定部145へ出力する。なお、色差成分については、歪み評価部144によるモード情報に基づく判定条件A1についての判定のみが行われ得る。
 フィルタリング判定部145は、閾値比較部143から入力される判定条件Bについての比較結果と、歪み評価部144から入力される判定条件Aについての評価結果とに基づいて、注目する境界についてデブロックフィルタを適用すべきか否かを判定する。そして、フィルタリング判定部145は、判定結果を示す情報を図7のフィルタリング部150へ出力する。
 (フィルタリング部)
 フィルタリング部150には、判定部140からの各ブロック境界についての判定結果及びフィルタ係数が供給される。そして、フィルタリング部150は、デブロックフィルタを適用すべきであると判定部140により判定されたブロック境界に、デブロックフィルタを適用する。フィルタリング部150によるフィルタリング処理は、上述した既存の手法と同様であってよい。例えば、フィルタリング部150は、輝度成分については、画素値に応じてフィルタ強度を強フィルタと弱フィルタとの間で切り替えながらブロック境界に直交する各ラインをフィルタリングし得る。また、フィルタリング部150は、色差成分については、フィルタ強度を切り替えることなく各ラインをフィルタリングし得る。そして、フィルタリング部150は、フィルタを適用した画素についてはフィルタリング後の画素値、その他の画素については入力された画素値を出力する。フィルタリング部150からの出力は、デブロックフィルタ24からの出力画像を構成する。
 <4.一実施形態に係る処理の流れ>
 図16は、本実施形態に係るデブロックフィルタ24による処理の流れの一例を示すフローチャートである。
 図16を参照すると、まず、領域境界検出部120は、ブロックごとに符号化又は復号される画像内の1つのブロック境界に注目し、当該ブロック境界に交差する領域境界を検出する(ステップS110)。例えば、領域境界検出部120は、ブロック境界の一方の側のブロック内で当該ブロック境界に沿って隣接する2つの画素間の画素値の差分の最大値と、他方のブロックについての同様の最大値とを算出し、これら最大値が共に判定閾値Tを上回る場合には、当該ブロック境界に交差する領域境界が存在すると判定し得る。ここで、ブロック境界に交差する領域境界が検出された場合には、処理はステップS130へ進む。一方、当該領域境界が検出されなかった場合には、処理はステップS140へ進む(ステップS120)。
 ステップS130では、交差する領域境界が検出されたブロック境界について、参照ライン選択部130により、検出された領域境界の位置に応じて、デブロックフィルタを適用するか否かの判定のための参照ラインが選択される(ステップS130)。参照ライン選択部130は、例えば、領域境界により区分される各領域に属するラインのうち、当該領域境界とブロック境界との交点に最も近いラインを、参照ラインとして選択してもよい。その代わりに、参照ライン選択部130は、各領域内でのブロック境界の略中央に位置するラインを、参照ラインとして選択してもよい。
 一方、ステップS140では、参照ライン選択部130は、交差する領域境界が検出されなかったブロック境界について、既定の参照ライン(例えば、2番目及び5番目のライン)を選択する(ステップS140)。
 次に、判定部140は、参照ライン選択部130により選択された参照ラインに属する画素値を用いて、図17に例示するフィルタリング要否判定処理を行う(ステップS150)。そして、フィルタリング要否判定処理の結果として、当該ブロック境界にデブロックフィルタを適用すべきであると判定された場合には、処理はステップS170へ進む。一方、当該ブロック境界にデブロックフィルタを適用すべきでないと判定された場合には、ステップS170はスキップされる(ステップS160)。
 ステップS170では、フィルタリング部150により、デブロックフィルタを適用すべきであると判定されたブロック境界に、デブロックフィルタが適用される(ステップS170)。それにより、当該ブロック境界に生じているブロック歪みが除去され得る。
 その後、画像内に未処理のブロック境界が残っている場合には、処理はステップS110へ戻り、図16に示した一連の処理が繰り返される。一方、未処理のブロック境界が残っていない場合には、一連の処理は終了する(ステップS180)。
 図17は、図16のステップS150におけるフィルタリング要否判定処理の詳細な流れの一例を示すフローチャートである。
 図17を参照すると、まず、歪み評価部144は、モード情報、変換係数情報及び動きベクトル情報に基づいて、各境界の歪みを評価する(ステップS151)。ここで、歪みがあると評価された場合(判定条件Aが真であった場合)には、処理はステップS153へ進む。一方、歪みがないと評価された場合には、処理はステップS157へ進む(ステップS152)。
 ステップS153では、タップ構築部141は、ブロック境界を挟んで隣接する2つのブロックの参照ライン上の画素値を取得し、上述した輝度成分の判定条件Bの判定のためのタップを構築する(ステップS153)。次に、演算部142は、タップ構築部141により構築されたタップに基づいて、ブロック境界のエッジの値を算出する(ステップS154)。そして、閾値比較部143は、算出された値をエッジ判定閾値βと比較する(ステップS156)。ここで、エッジの値が閾値βよりも小さい場合(判定条件Bが真であった場合)には、処理はステップS156へ進む。一方、エッジの値が閾値βよりも小さくない場合には、処理はステップS157へ進む。
 ステップS156では、フィルタリング判定部145は、判定の対象のブロック境界にデブロックフィルタを適用すべきであると判定する(ステップS156)。一方、ステップS157では、フィルタリング判定部145は、判定の対象のブロック境界にデブロックフィルタを適用すべきでないと判定する(ステップS157)。
 <5.応用例>
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  [5-1.第1の応用例]
 図18は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行い、画質を効果的に改善することができる。
  [5-2.第2の応用例]
 図19は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行い、画質を効果的に改善することができる。
  [5-3.第3の応用例]
 図20は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行い、画質を効果的に改善することができる。
  [5-4.第4の応用例]
 図21は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、ブロック境界ごとのデブロックフィルタの適用の判定をより適切に行い、画質を効果的に改善することができる。
 <6.まとめ>
 ここまで、図1~図21を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60のデブロックフィルタの構成について詳しく説明した。本実施形態によれば、ブロックごとに符号化又は復号される画像内のブロック境界に交差する領域境界の位置に応じて、デブロックフィルタを適用するか否かの判定の際に参照される参照ラインが、適応的に選択される。それにより、参照ラインの位置が固定的に設定されている既存の手法と比較して、上述した判定をより適切に行うことが可能となる。
 また、本実施形態によれば、ブロック境界を挟んで隣接する2つのブロックの当該ブロック境界と直交するラインのうち、上記領域境界により区分される第1の領域に属する1つのラインと第2の領域に属する1つのラインとが上記参照ラインとして選択される。従って、ブロック内に互いに異なる2つの被写体領域又はテクスチャ領域があったとしても、各領域においてブロック歪みが生じているかを適切に評価することができる。また、かかる構成における判定処理と既存の手法における判定処理との違いは、2つの参照ラインの位置が変化し得る点のみである。そのため、既存の画像処理装置の構成を活用しながら、比較的少ないコストで上述した仕組みを実装することができる。
 また、本実施形態によれば、ブロック境界に沿って隣接する2つの画素間の画素値の差分が最も大きくなる位置が領域境界の位置として検出され、検出された領域境界の位置に応じて参照ラインが選択される。従って、画素値を用いた簡易な演算によって、境界領域の位置を求めた上で参照ラインを選択することができる。
 また、本実施形態によれば、上述した画素値の差分の最大値を閾値と比較することにより、ブロック境界に交差する領域境界が存在するか否かが判定される。当該閾値は、直交変換係数の量子化又は逆量子化の際に用いられる量子化スケールに応じて設定され得る。それにより、領域境界の存在の判定の正確さを安定的に確保することができる。
 なお、本明細書で説明したデブロックフィルタは、画像の復号後に画質を改善するために適用されるポストフィルタとして実装されてもよい。
 また、デブロックフィルタの処理のために使用される情報を符号化側から復号側に伝送する手法は、これら情報を符号化ストリームのヘッダに多重化する手法に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 10, 60  画像処理装置
 120     検出部
 130     選択部
 140     判定部
 150     フィルタリング部
 

Claims (10)

  1.  ブロックごとに復号される画像内のブロック境界に交差する領域境界の位置を検出する検出部と、
     前記検出部により検出される前記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択する選択部と、
     前記選択部により選択される前記参照ラインに属する画素値を用いて、前記ブロック境界にデブロックフィルタを適用するかを判定する判定部と、
     前記判定部によりデブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用するフィルタリング部と、
     を備える画像処理装置。
  2.  前記選択部は、前記領域境界により区分される第1の領域に属する1つのラインと第2の領域に属する1つのラインとを前記参照ラインとして選択する、請求項1に記載の画像処理装置。
  3.  前記選択部は、各領域に属するラインのうち前記領域境界と前記ブロック境界との交点に最も近いラインを前記参照ラインとして選択する、請求項2に記載の画像処理装置。
  4.  前記選択部は、各領域内での前記ブロック境界の略中央部を通るラインを前記参照ラインとして選択する、請求項2に記載の画像処理装置。
  5.  前記検出部は、前記ブロック境界に沿って隣接する画素間の画素値の差分が最も大きくなる位置を、前記領域境界の位置として検出する、請求項1に記載の画像処理装置。
  6.  前記検出部は、前記差分の最大値が閾値を下回る場合には、前記領域境界が存在しないと判定する、請求項5に記載の画像処理装置。
  7.  前記閾値は、量子化スケールが大きいほどより大きく設定される、請求項6に記載の画像処理装置。
  8.  ブロックごとに復号される画像内のブロック境界に交差する領域境界の位置を検出することと、
     検出される前記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択することと、
     選択される前記参照ラインに属する画素値を用いて、前記ブロック境界にデブロックフィルタを適用するかを判定することと、
     デブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用することと、
     を含む画像処理方法。
  9.  ブロックごとに符号化される画像内のブロック境界に交差する領域境界の位置を検出する検出部と、
     前記検出部により検出される前記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択する選択部と、
     前記選択部により選択される前記参照ラインに属する画素値を用いて、前記ブロック境界にデブロックフィルタを適用するかを判定する判定部と、
     前記判定部によりデブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用するフィルタリング部と、
     を備える画像処理装置。
  10.  ブロックごとに符号化される画像内のブロック境界に交差する領域境界の位置を検出することと、
     検出される前記領域境界の位置に応じて、デブロックフィルタを適用するかの判定の際に参照される参照ラインを選択することと、
     選択される前記参照ラインに属する画素値を用いて、前記ブロック境界にデブロックフィルタを適用するかを判定することと、
     デブロックフィルタを適用すると判定されたブロック境界にデブロックフィルタを適用することと、
     を含む画像処理方法。
     
PCT/JP2012/052749 2011-03-17 2012-02-07 画像処理装置及び画像処理方法 WO2012124406A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011058984A JP2012195815A (ja) 2011-03-17 2011-03-17 画像処理装置及び画像処理方法
JP2011-058984 2011-03-17

Publications (1)

Publication Number Publication Date
WO2012124406A1 true WO2012124406A1 (ja) 2012-09-20

Family

ID=46830484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/052749 WO2012124406A1 (ja) 2011-03-17 2012-02-07 画像処理装置及び画像処理方法

Country Status (2)

Country Link
JP (1) JP2012195815A (ja)
WO (1) WO2012124406A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003259367A (ja) * 2002-02-27 2003-09-12 Toshiba Corp 画像復号装置および画像復号方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003259367A (ja) * 2002-02-27 2003-09-12 Toshiba Corp 画像復号装置および画像復号方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
THOMAS DAVIES ET AL.: "Suggestion for a Test Model", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/ SC29/WG11 1ST MEETING: DRESDEN, DE, DOCUMENT: JCTVC-A033, ITU-T, April 2010 (2010-04-01), pages 19 - 21 *

Also Published As

Publication number Publication date
JP2012195815A (ja) 2012-10-11

Similar Documents

Publication Publication Date Title
US10785504B2 (en) Image processing device and image processing method
US10931955B2 (en) Image processing device and image processing method that horizontal filtering on pixel blocks
US20200204796A1 (en) Image processing device and image processing method
US10666945B2 (en) Image processing device and image processing method for decoding a block of an image
US11770525B2 (en) Image processing device and image processing method
JP2013141187A (ja) 画像処理装置及び画像処理方法
WO2013088833A1 (ja) 画像処理装置及び画像処理方法
WO2013073328A1 (ja) 画像処理装置及び画像処理方法
JP6217826B2 (ja) 画像処理装置及び画像処理方法
WO2013001886A1 (ja) 画像処理装置及び画像処理方法
WO2012124406A1 (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: 12758236

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

Country of ref document: EP

Kind code of ref document: A1