IP Library › Granted Patent US 7,805,016
Granted Patent B2
US 7,805,016 · App. 11/557,590 · Granted Sep 28, 2010

Decoding apparatus and decoding method

Assignee: Kabushiki Kaisha Toshiba
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,805,016
App. No.
11/557,590
Granted
Sep 28, 2010
Kind
B2
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.

Claims (70)

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 includes,

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 first threshold;

a selector configured to output the value of the at least one pixel if the absolute value is less than the first threshold, and to output the value of the filter object pixel if the absolute value is not less than the first threshold, and

a 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;

a vertical de-block filter configured to calculate an absolute difference value between each unit of two neighboring pixels along a vertical pixel line crossing a horizontal block boundary of the image data, to count a number of units of which the absolute difference value is less than a second threshold, to decide whether the number of the units is less than a third threshold, and to partially correct values of pixels on the vertical pixel line based on the decision result; and

a horizontal de-block filter configured to calculate an absolute difference value between each unit of two neighboring pixels along a horizontal pixel line crossing a vertical block boundary of the image data, to count number of units of which the absolute difference value is less than the second threshold, to decide whether the number of the units is less than the third threshold, and to partially correct values of pixels on the horizontal pixel line based on the decision result.

2. The decoding apparatus according to claim 1 , wherein

the subtracter, the comparator, and the selector compose a non-linear operation unit, and

the 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; and

a threshold controlling unit configured to control the first 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 first 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 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.

8. The decoding apparatus according to claim 1 , 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 the units is less than the third 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, and

the 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 the units is less than the third 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. 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 first threshold;

outputting the value of the at least one pixel if the absolute value is less than the first threshold;

outputting the value of the filter object pixel if the absolute value is not less than the first threshold;

convoluting a filter coefficient with the value outputted;

outputting a convolution result as a filtered value of the filter object pixel;

calculating an absolute difference value between each unit of two neighboring pixels along a pixel line vertically crossing a block boundary of the image data;

counting a number of units of which the absolute difference value is less than a second threshold;

deciding whether the number of the units is less than a third threshold; and

partially correcting values of pixels on the pixel line based on the decision result.

10. The method according to claim 9 , wherein

the generating step, the comparing step, and the value-outputting steps are executed for each of the pixels surrounding the filter object pixel.

11. The method according to claim 10 , wherein

the convoluting step is executed to the value outputted for each of the pixels surrounding the filter object pixel, and

the convolution result is a sum of the filtered value of each of the pixels surrounding the filter object pixel.

12. The method according to claim 9 , 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; and

controlling the first threshold based on the degradation degree and values of pixels in a block including the filter object pixel.

13. The method according to claim 12 , wherein

the first threshold is calculated as a function value of the degradation degree and a dynamic range of the values of pixels in the block.

14. The method according to claim 13 , further comprising:

switching the image data and an external signal to the de-ringing filter.

15. The method according to claim 14 , 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.

16. The method according to claim 9 , 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 the units is less than the third threshold;

deciding whether the difference is less than a quantization variable of a pixel neighboring the block boundary; and

filtering the pixels on the side of the pixel line from the cross point if the difference is less than the quantization variable.

17. A non-transitory computer readable medium including computer executable instructions, wherein the instructions, when executed by a computer, cause the computer to perform a method for decoding image data, the 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 first threshold;

outputting the value of the at least one pixel if the absolute value is less than the first threshold;

outputting the value of the filter object pixel if the absolute value is not less than the first threshold;

convoluting a filter coefficient with the value outputted;

outputting a convolution result as a filtered value of the filter object pixel;

calculating an absolute difference value between each unit of two neighboring pixels along a pixel line vertically crossing a block boundary of the image data;

counting a number of units of which the absolute difference value is less than a second threshold;

deciding whether the number of the units is less than a third threshold; and

partially correcting values of pixels on the pixel line based on the decision result.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2006
From: YAMAGUCHI, NOBORU; KODAMA, TOMOYA
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 018743/0318 →
Priority Claims (1)
JP 2005-363626 · Dec 16, 2005 · national
Continuity (1)
Related Publication 20070140574A1 · Jun 21, 2007