DECODING APPARATUS AND DECODING METHOD

Information

  • Patent Application
  • 20070140574
  • Publication Number
    20070140574
  • Date Filed
    November 08, 2006
    18 years ago
  • Date Published
    June 21, 2007
    17 years ago
Abstract
A decoding apparatus having a de-ringing filter to filter image data decoded from encoded image data by orthogonal transformation encoding. In the de-ringing filter, a subtracter generates an absolute value of difference between a value of a filter object pixel and a value of at least one pixel selected from pixels surrounding the filter object pixel on the image data. A comparator compares the absolute value with a threshold. A selector outputs the value of the at least one pixel if the absolute value is less than the threshold, and outputs the value of the filter object pixel if the absolute value is not less than the threshold. A convolution operator convolutes a filter coefficient with the value output from the selector, and outputs a convolution result as a filtered value of the filter object pixel.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a decoding apparatus according to one embodiment of the present invention.



FIG. 2 is a block diagram of a post filter unit in FIG. 1.



FIG. 3 is a block diagram of a de-ringing filter in FIG. 2.



FIG. 4 is a block diagram of non-linear operation unit in FIG. 3.



FIG. 5 is a schematic diagram to explain processing of the de-ringing filter.



FIG. 6 is a block diagram of a first filter adaptive control unit in FIG. 2.



FIG. 7 is a graph of edge intensity versus second Q-value.



FIG. 8 is a flow chart of processing of a de-block filter in FIG. 2.



FIG. 9 is a schematic diagram to explain classification by the de-block filter.



FIG. 10 is a schematic diagram to explain relationship between a block boundary and pixels for de-block filter processing.



FIGS. 11A and 11B are schematic diagrams to explain relationship between a macro block boundary and blocks for MPEG-2.



FIGS. 12A and 12B are schematic diagrams to explain a quantization matrix for MPEG-2.


Claims
  • 1. A decoding apparatus comprising: a decoder configured to obtain image data from an encoded image data by orthogonal transformation decoding;a de-ringing filter configured to filter the image data, wherein the de-ringing filter comprising:a subtracter configured to generate an absolute value of difference between a value of a filter object pixel and a value of at least one pixel selected from pixels surrounding the filter object pixel;a comparator configured to compare the absolute value with a threshold;a selector configured to output the value of the at least one pixel if the absolute value is less than the threshold, and to output the value of the filter object pixel if the absolute value is not less than the threshold; anda convolution operator configured to convolute a filter coefficient with the value output from the selector, and to output a convolution result as a filtered value of the filter object pixel.
  • 2. The decoding apparatus according to claim 1, wherein the subtracter, the comparator, and the selector compose a non-linear operation unit, andthe non-linear operation unit is respectively set to each of the pixels surrounding the filter object pixel.
  • 3. The decoding apparatus according to claim 2, wherein the convolution operator respectively convolutes the filter coefficient with the value output from each non-linear operation unit, and outputs a sum of each convolution result as the filtered value of the filter object pixel of a reproduction image.
  • 4. The decoding apparatus according to claim 1, further comprising: a degradation degree estimation unit configured to estimate a degradation degree of image quality based on coding information of the filter object pixel and the pixels surrounding the filter object pixel; anda threshold controlling unit configured to control the threshold based on the degradation degree and values of pixels in a block including the filter object pixel.
  • 5. The decoding apparatus according to claim 4, wherein, the threshold is calculated as a function value of the degradation degree and a dynamic range of the values of pixels in the block.
  • 6. The apparatus according to claim 5, further comprising: a first switchover unit configured to switch the image data and an external signal to the de-ringing filter.
  • 7. The decoding apparatus according to claim 6, further comprising: a vertical de-block filter configured to count a number of pixels each having a difference between neighboring pixels less than a first threshold on a vertical pixel line crossing a horizontal block boundary of the image data, to decide whether the number of pixels is less than a second threshold, and to partially correct values of pixels on the vertical pixel line based on the decision result; anda horizontal de-block filter configured to count a number of pixels each having a difference between neighboring pixels less than the first threshold on a horizontal pixel line crossing a vertical block boundary of the image data, to decide whether the number of pixels is less than the second threshold, and to partially correct values of pixels on the horizontal pixel line based on the decision result.
  • 8. The decoding apparatus according to claim 7, wherein the vertical de-block filter calculates a difference between a maximum and a minimum of values of pixels on each side of the vertical pixel line from a cross point between the vertical pixel line and the horizontal block boundary if the number of pixels is less than the second threshold, decides whether the difference is less than a quantization variable of a pixel neighboring the horizontal block boundary, and filters the pixels on the side of the vertical pixel line from the cross point if the difference is less than the quantization variable, andthe horizontal de-block filter calculates a difference between a maximum and a minimum of values of pixels on each side of the horizontal pixel line from a cross point between the horizontal pixel line and the vertical block boundary if the number of pixels is less than the second threshold, decides whether the difference is less than a quantization variable of a pixel neighboring the vertical block boundary, and filters the pixels on the side of the horizontal pixel line from the cross point if the difference is less than the quantization variable.
  • 9. The decoding apparatus according to claim 7, further comprising: a second switchover unit configured to directly output the convolution result from the de-ringing filter by skipping the vertical de-block filter and the horizontal de-block filter if the convolution result is processed from the external signal.
  • 10. A decoding method comprising: obtaining image data from an encoded image data by orthogonal transformation decoding;filtering the image data;generating an absolute value of difference between a value of a filter object pixel and a value of at least one pixel selected from pixels surrounding the filter object pixel;comparing the absolute value with a threshold;outputting the value of the at least one pixel if the absolute value is less than the threshold;outputting the value of the filter object pixel if the absolute value is not less than the threshold;convoluting a filter coefficient with the value outputted; andoutputting a convolution result as a filtered value of the filter object pixel.
  • 11. The method according to claim 10, wherein the generating step, the comparing step, and the value-outputting steps are executed for each of the pixels surrounding the filter object pixel.
  • 12. The method according to claim 11, wherein the convoluting step is executed to the value outputted for each of the pixels surrounding the filter object pixel, andthe convolution result is a sum of the filtered value of each of the pixels surrounding the filter object pixel.
  • 13. The method according to claim 10, further comprising: estimating a degradation degree of image quality based on coding information of the filter object pixel and the pixels surrounding the filter object pixel; andcontrolling the threshold based on the degradation degree and values of pixels in a block including the filter object pixel.
  • 14. The method according to claim 13, wherein the threshold is calculated as a function value of the degradation degree and a dynamic range of the values of pixels in the block.
  • 15. The method according to claim 14, further comprising: switching the image data and an external signal to the de-ringing filter.
  • 16. The method according to claim 15, further comprising: counting a number of pixels each having a difference between neighboring pixels less than a first threshold on a pixel line vertically crossing a block boundary of the image data;deciding whether the number of pixels is less than a second threshold; andpartially correcting values of pixels on the pixel line based on the decision result.
  • 17. The method according to claim 16, further comprising: calculating a difference between a maximum and a minimum of values of pixels on each side of the pixel line from a cross point between the pixel line and the block boundary if the number of pixels is less than the second threshold;deciding whether the difference is less than a quantization variable of a pixel neighboring the block boundary; andfiltering the pixels on the side of the pixel line from the cross point if the difference is less than the quantization variable.
  • 18. The method according to claim 16, further comprising: directly outputting the convolution result without the counting step, the deciding step and the partially-correcting step if the convolution result is processed using the external signal.
  • 19. A computer readable medium that stores a computer program for causing a computer to decode image data, the computer program comprising: a first program code to obtain image data from an encoded image data by orthogonal transformation decoding;a second program code to filter the image data;a third program code to generate an absolute value of difference between a value of a filter object pixel and a value of at least one pixel selected from pixels surrounding the filter object pixel;a fourth program code to compare the absolute value with a threshold;a fifth program code to output the value of the at least one pixel if the absolute value is less than the threshold;a sixth program code to output the value of the filter object pixel if the absolute value is not less than the threshold;a seventh program code to convolute a filter coefficient with the value outputted; anda eighth program code to output a convolution result as a filtered value of the filter object pixel.
Priority Claims (1)
Number Date Country Kind
2005-363626 Dec 2005 JP national