Post-processing device and method for eliminating blocking artifacts from decompressed images
Abstract
A post-processing device for eliminating a blocking artifact generated upon reconstructing an image compressed by block transform operation and a method thereof minimize a blocking artifact at block boundaries by selecting a predetermined a discrete cosine transform (DCT), estimating transform coefficients with respect to the information lost upon quantization or inverse quantization to have the highest continuity with respect to adjacent blocks, performing inverse transform operation on the estimated transform coefficients, and adding the thus-obtained adjustment value to an inverse-transform-operated reconstructed image signal.

Term
Term ended
Projected expiry passed 18 January 2016, 10.7 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
27 claims: 6 independent, 21 dependent
- 1A post-processing device for substantially eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform-operated by block units and reconstructing the original image, comprising:an input terminal for receiving an inverse-transform-operated image signal;adjustment coefficients calculating means (31) for calculating a predetermined number of adjustment coefficients in a predetermined transform region which minimize the sum of pixel differences at boundaries between a current block of an image signal input via said input terminal and the adjacent blocks;adjustment value calculating means (32) for calculating an adjustment value using the adjustment coefficients;adjustment control means (33) for determining whether the inverse-transform-operated image signal is in an edge area or in a smooth area and outputting an adjustment control signal that determines whether to adjust said block image signal;andadding means (35) for summing the adjustment value and the inverse-transform-operated image signal according to the adjustment control signal.
- 13A post-processing device according to any of the preceding claims, wherein said adjustment control means (33) comprises:a Sobel operator (41) for receiving said inverse-transform-operated image signal, determining whether the inverse-transform-operated reconstructed image signal has an edge component and outputting an edge control signal;an edge pixel counter (42) for counting the number of pixels in a block according to said edge control signal;anda determiner (43) for comparing the counted number of edge pixels with a threshold value indicating the number of edge pixels allowed in a predetermined block and outputting an adjustment control signal based on the comparison result.
- 15A post-processing device according to any of the preceding claims, wherein said post-processing devices are plural in an image decoder.
- 18A post-processing method for substantially eliminating a blocking artifact with regard to a received image which has been inverse-quantized and inverse-transform-operated by block units, and reconstructing the original image, said method comprising the steps of:(a) inputting an inverse-transform-operated image signal;(b) selecting a predetermined number of adjustment coefficients in the region where a selected transform operation is performed;(c) calculating adjustment coefficients for minimizing the sum of the pixel differences at boundaries between the current block and adjacent blocks;(d) calculating an adjustment value using said adjustment coefficient and adjustment factor value(s);(e) generating an adjustment control signal for determining whether to adjust the image signal according to the result of determination on whether said inverse-transform-operated image signal is in an edge area or in a smooth area;and(f) adding said calculated adjustment value to said inverse-transform-operated image signal according to said adjustment control signal.
- 25A post processing device for substantially eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform operated by block units and reconstructing the original image, the device comprising:means for selecting a predetermined transform;means for estimating transform coefficients (31) on the basis of information lost upon quantization or inverse-quantization so as to provide substantial continuity between adjacent blocks;means (32, 33) for performing an inverse transform operation on the estimated transform coefficients to provide an adjustment value;andadding means (35) for adding the adjustment value to the inverse-transform operated image signal.
- 26A post processing method for substantially eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform operated by block units and reconstructing the original image, the method comprising:selecting a predetermined transform;estimating transform co-efficients on the basis of information lost upon quantization or inverse quantization so as to provide substantial continuity between blocks;performing an inverse transform operation on the estimated transform coefficients;and adding the thus obtained adjustment value to the inverse-transform operated image signal.
Independent claims6
85 paragraphs, as filed
The present invention relates to a post-processing device for eliminating a blocking artifact and a method thereof, and more particularly, to a post-processing device for minimizing a blocking artifact where a discontinuity occurs among adjacent blocks in a device for restoring image data compressed by a block transform operation, and a method thereof.
There are various standard methods for encoding video (and audio) signals into a digital signal for transmission or storage, and decoding the transmitted or stored result for reproduction. These methods, however, produce very large amounts of encoded digital video data. Therefore, in order to decrease the total amount of data, redundancy contained in the digital image signal is eliminated by coding techniques such as transform coding, differential pulse code modulation, quantization, and variable-length coding.
Figure 1 is a block diagram schematically showing a general coder of image data. The device roughly comprises means 11 and 12 for transforming an input image signal into a frequency domain signal by block units and quantizing a transform coefficient, means 13 and 14 for variable-length-coding the quantized data, and means 15, 16, 17, 18, 19, A1, A2, SW1 and SW2 for inverse quantizing and performing an inverse-transform operation on the quantized data so as to perform motion compensation, to thereby encode image data in an intramode or in an intermode.
In addition, Figure 2 is a block diagram schematically showing a general decoder and a post-processing device of image data, for decoding image data which has been coded by the coder shown in Figure 1 and reproducing the decoded result. The operation of the circuit shown in Figure 2 is as follows.
Coded image data QF(u,v) is decoded by a variable-length decoder 21 for output to an inverse quantizer 22. Here, the magnitude of the output transform coefficient is controlled by a quantization step size Qss provided by the coder (Figure 1). Then, an N×N inverse transform operator 23 performs transform operation on a transform coefficient of a frequency domain provided by inverse quantizer 22 to output image data of a space domain.
The data compression with respect to each block in N×N inverse transform operator 23 shown in Figure 1, employs a discrete cosine transform (DCT), Walsh-Hadamard transform (WHT), discrete Fourier transform (DFT) or discrete sine transform (DST) method. For example, if data compression is performed by employing the DCT method, a two-dimensional forward DCT function (equation 1) and an inverse DCT function (equation 2) with respect to pixel P<sub>(y,x)</sub> can be defined as follows.<maths id="math0001" num=""><img file="EP0723375A2_D0001.tif" /></maths><maths id="math0002" num=""><img file="EP0723375A2_D0002.tif" /></maths> Here, u,v, y and x are integers from 0 to 7, and C<sub>u</sub> and C<sub>v</sub> are both equal to 1/√2 when u and v are both zero and are otherwise equal to one.
A motion vector MV from the coder (Figure 1) is provided to a motion compensator 24 of a decoder. Motion compensator 24 reads an N×N block corresponding to the motion vector from the previous frame data stored in a frame memory 25, performs motion compensation and provides the result to an adder A3. The adder A3 sums the inverse DCT data and the N×N block data and outputs the result to a post-processor 26 for restoring the original image from a received distorted image. That is, if the received signal is image data compressed by block units, blocking artifacts are generated. A blocking artifact is a discontinuity which occurs among adjacent blocks and is a form of distortion.
Therefore, in a conventional device, to reduce the generation of blocking artifacts, a low-pass filtering operation is performed spatially for boundary pixels. However, post-processing in a transform domain rather than a space domain simplifies the decoder structure, and it is also effective.
Accordingly, as disclosed by Chung-nan Tien and Hseuh-ming Hang in "Transform-domain Postprocessing of DCT-coded Images" <i>('93 SPIE Proceedings,</i> Vol. 2094, pp. 1627-1638), post-processing is performed using a compensated DCT coefficient, which will be explained with reference to Figure 3 to Figure 7.
Figure 3 is a flowchart illustrating the post-processing method.
Referring to Figure 3, received quantized blocks are inversely quantized (step 1), and a processed segment consisting of the current block and its eight neighbouring blocks, as shown in Figure 4, is classified into smooth or edge segments (step 2). Since a blocking artifact is especially annoying in a smooth segment, post-processing (steps S3 to S5) is performed if a processed segment is smooth, and the processed segment is inversely transform-operated so as to output reconstructed image blocks if the processed segment is an edge segment (step S6).
First, the post-processing (steps S3 to S5) will be explained in more detail.
If the classified segment is a smooth segment, a DC value is adjusted (step S3). Here, since the DC value indicates an average luminance of the image block, an overall image block luminance level can be changed by adjusting the DC value. In other words, a weighted averaging method for adjusting the DC value of the current block based on information of the adjacent blocks is employed to reduce discontinuity (blocking) among adjacent blocks. The DC value of a block<sub>i,j</sub> (DC<sub>i,j</sub>) can be replaced with an adjusted DC value DC<sub>adj(i,j)</sub>, for a smooth transition between adjacent blocks. Here, the adjusted DC value can be calculated as follows.<maths id="math0003" num=""><img file="EP0723375A2_D0003.tif" /></maths> Here, the weighted mask (WM), shown in the following expression (4), is selected by experience.<maths id="math0004" num=""><img file="EP0723375A2_D0004.tif" /></maths>
Though the average image intensity can be changed by adjusting the DC value, as described above, discontinuity may still remain, even when the discontinuity of the DC value of the adjacent blocks is lowered by the DC value adjustment, and a blocking artifact cannot be completely eliminated. Therefore, two additional transform coefficients need to be adjusted, inversely transform-operated and output. That is, the vertical and horizontal AC coefficients VAC and HAC, i.e., DCT coefficients (0,1) and (1,0), are adjusted (steps S4 and S5). Since the HAC and VAC operations are very similar, only the VAC operation will be described.
Using the forward DCT function of the above equation (1), the vertical AC coefficient for S<sub>(v,u)</sub> (where v=0 and u=1) is calculated.<maths id="math0005" num=""><img file="EP0723375A2_D0005.tif" /></maths> Here, S<sub>(0,1)</sub> is a vertical AC coefficient (VAC). The amount of pixel values in a space region, which is affected by the vertical AC coefficient is calculated by an inverse DCT operation of the above equation (2).<maths id="math0006" num=""><img file="EP0723375A2_D0006.tif" /></maths>
As can be seen in the above expression (6), a vertical AC coefficient is related only to the magnitude variation in the horizontal direction modulated by a cosine function. Accordingly, the VAC value reduces a blocking artifact across a vertical boundary and reestablishes continuity in the horizontal direction.
As shown in Figures 4 and 5, block<sub>i,j-1</sub>, block<sub>i,j</sub> and block<sub>i,j+1</sub> are horizontally adjacent blocks and thus require VAC adjustment. The VAC adjustment is employed to remove a blocking artifact that remains after DC adjustment. Therefore, it is necessary to measure a gap between two adjacent blocks at their boundaries. Under the assumption that there is no acute variation in a block, the above expression (6) is employed to estimate a gap through the following processes.
First, intensities P<sub>i,j</sub>(left) and P<sub>i,j</sub>(right) correspond to the left and right boundaries of block<sub>i,j</sub> and can be expressed as follows.<maths id="math0007" num="(7)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">P</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">left</mtext><mtext> ) = </mtext><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>4</mtext></mrow></mfrac><mtext></mtext><mfrac><mrow><mtext>1</mtext></mrow><mrow><msqrt><mtext>2</mtext></msqrt></mrow></mfrac><mtext></mtext><msub><mrow><mtext mathvariant="italic">VAC</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mtext> COS</mtext><mfrac><mrow><mtext>π</mtext></mrow><mrow><mtext>16</mtext></mrow></mfrac><mspace linebreak="newline" /><mtext> = 0.17654 </mtext><msub><mrow><mtext mathvariant="italic">VAC</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0007.tif" /></maths> and<maths id="math0008" num="(8)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">P</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">right</mtext><mtext>) = </mtext><mfrac><mrow><mtext>1</mtext></mrow><mrow><mtext>4</mtext></mrow></mfrac><mtext></mtext><mfrac><mrow><mtext>1</mtext></mrow><mrow><msqrt><mtext>2</mtext></msqrt></mrow></mfrac><mtext></mtext><msub><mrow><mtext mathvariant="italic">VAC</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mtext>COS</mtext><mfrac><mrow><mtext>15π</mtext></mrow><mrow><mtext>16</mtext></mrow></mfrac><mspace linebreak="newline" /><mtext> = 0.17654 </mtext><msub><mrow><mtext mathvariant="italic">VAC</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0008.tif" /></maths>
Then, the right boundaries of block<sub>i,j-1</sub> and the left boundaries of block<sub>i,j+1</sub> can be expressed as follows.<maths id="math0009" num="(9)"><math display="block"><mrow><msub><mrow><mtext>P</mtext></mrow><mrow><mtext>i,j-1</mtext></mrow></msub><msub><mrow><mtext>(right) = 0.17654VAC</mtext></mrow><mrow><mtext>i,j-1</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0009.tif" /></maths> and<maths id="math0010" num="(10)"><math display="block"><mrow><msub><mrow><mtext>P</mtext></mrow><mrow><mtext>i,j+1</mtext></mrow></msub><msub><mrow><mtext>(left) = 0.17654VAC</mtext></mrow><mrow><mtext>i,j+1</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0010.tif" /></maths>
The gaps between adjacent block boundaries can be calculated as follows.<maths id="math0011" num="(11)"><math display="block"><mrow><msub><mrow><mtext>gap</mtext></mrow><mrow><mtext>i,j</mtext></mrow></msub><msub><mrow><mtext>(left) = P</mtext></mrow><mrow><mtext>i,j-1</mtext></mrow></msub><msub><mrow><mtext>(right) - P</mtext></mrow><mrow><mtext>i,j</mtext></mrow></msub><mtext>(left)</mtext></mrow></math><img file="EP0723375A2_D0011.tif" /></maths><maths id="math0012" num="(12)"><math display="block"><mrow><msub><mrow><mtext>gap</mtext></mrow><mrow><mtext>i,j</mtext></mrow></msub><msub><mrow><mtext>(right) = P</mtext></mrow><mrow><mtext>i,j</mtext></mrow></msub><msub><mrow><mtext>(right) - P</mtext></mrow><mrow><mtext>i,j+1</mtext></mrow></msub><mtext>(left)</mtext></mrow></math><img file="EP0723375A2_D0012.tif" /></maths>
Figure 6 shows an intensity and a gap between boundary intensities.
An average gap (gap<sub>ave(i,j)</sub>) between the current block boundary and adjacent blocks can be expressed as follows.<maths id="math0013" num="(13)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">gap</mtext></mrow><mrow><mtext mathvariant="italic">ave (i,j)</mtext></mrow></msub><mtext> = </mtext><mfrac><mrow><msub><mrow><mtext mathvariant="italic">gap</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mfenced open="(" close=")"><mrow><mtext mathvariant="italic">left</mtext></mrow></mfenced><mtext> - </mtext><msub><mrow><mtext mathvariant="italic">gap</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mfenced open="(" close=")"><mrow><mtext mathvariant="italic">right</mtext></mrow></mfenced></mrow><mrow><mtext>2</mtext></mrow></mfrac></mrow></math><img file="EP0723375A2_D0013.tif" /></maths>
If the current block and the adjacent blocks have pixel values which are continuous in the horizontal direction, the value of gap<sub>ave</sub> is zero. A large gap<sub>ave</sub> value indicates a large discontinuity. Therefore, the discontinuity can be lowered by reducing the value of gap<sub>ave</sub>. The gap adjustment is made by halving the average gap; that is, gap<sub>adj</sub>=gap<sub>ave</sub>/2. To reduce the gap of a boundary of block<sub>i,j</sub>,<maths id="math0014" num="(14)"><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">VAC</mtext></mrow><mrow><mtext mathvariant="italic">adj</mtext></mrow></msub><mtext> = </mtext><msub><mrow><mtext mathvariant="italic">VAC</mtext></mrow><mrow><mtext mathvariant="italic">i,j</mtext></mrow></msub><mtext> + </mtext><mfrac><mrow><mtext>4</mtext><msqrt><mtext>2</mtext></msqrt><msub><mrow><mtext mathvariant="italic">gap</mtext></mrow><mrow><mtext mathvariant="italic">adj</mtext></mrow></msub></mrow><mrow><mtext>cos </mtext><mfenced open="(" close=")"><mrow><mtext>π/16</mtext></mrow></mfenced></mrow></mfrac></mrow></math><img file="EP0723375A2_D0014.tif" /></maths>
An intensity of a block boundary after VAC adjustment is shown in Figure 7. Here, HAC adjustment would be performed to reduce the vertical discontinuity in a similar method.
Since the above-described post-processing method employs a weighted average value for the DC value of peripheral blocks during adjusting DC value, and performs horizontal and vertical adjustments independently upon calculating horizontal and vertical AC adjustment values HAC and VAC, this method is not very effective for eliminating a blocking artifact.
Accordingly, it is an aim of preferred embodiments of the present invention to provide a post-processing device for minimizing a blocking artifact by estimating a transform coefficient (adjustment value) with respect to the information lost upon quantization in order to minimize pixel differences between block boundaries, and adding the estimated signal to an original signal, in a device for reconstructing image data which has been compressed by block units.
It is another aim of preferred embodiments of the present invention to provide a post-processing method performed by the above post-processing device.
According to a first aspect of the present invention, there is provided a post-processing device for eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform-operated by block units, and reconstructing the original image, comprising: an input terminal for receiving an inverse-transform-operated image signal; adjustment coefficients calculating means for calculating a predetermined number of adjustment coefficients in a predetermined transform region which minimize the sum of pixel differences at boundaries between a current block of an image signal input via the input terminal and the adjacent blocks; adjustment value calculating means for calculating an adjustment value using the adjustment coefficients; adjustment control means for determining whether the inverse-transform-operated image signal is in an edge area or in a smooth area and outputting an adjustment control signal that determines whether to adjust the block image signal; and adding means for summing the adjustment value and the inverse-transform-operated image signal according to the adjustment control signal.
Preferably, said predetermined transform is a discrete cosine transform (DCT).
Said adjustment coefficient calculating means preferably selects at least one adjustment coefficient among a number of adjustment coefficients corresponding to the transform block size.
Preferably, the adjustment coefficients of said adjustment coefficient calculating means (31) are a DC component and horizontal and vertical first-order cosine components of a DCT block.
Said predetermined block transform may be a Walsh-Hadamard transform (WHT).
Said adjustment value calculating means may control the degree of adjustment by employing predetermined adjustment factor values. Said adjustment factor values may be set according to said number of adjustment coefficients. Alternatively, said adjustment factor values may all be set as the same value.
Said adjustment controller preferably generates an adjustment control signal for independently controlling vertical and horizontal adjustment by employing the sum of the differences of boundary pixels between the current block and the adjacent blocks. Said adjustment controller preferably generates an adjustment control signal for determining whether to perform adjustment in the horizontal direction, by comparing the discontinuity corresponding to the sum of the differences between boundary pixels of the current block and boundary pixels of an adjacent right block with the discontinuity corresponding to the sum of the differences between boundary pixels of the current block and boundary pixels of an adjacent left block.
Said adjustment controller may generate an adjustment control signal for determining whether to perform adjustment in the vertical direction, by comparing the discontinuity corresponding to the sum of the differences between boundary pixels of the current block and boundary pixels of an adjacent upper block with the discontinuity corresponding to the sum of the differences between boundary pixels of the current block and boundary pixels of an adjacent lower block.
Said adjustment controller may output an adjustment control signal with respect to the vertical direction only, horizontal direction only and both directions.
Said adjustment control means may comprise:
a Sobel operator for receiving said inverse-transform-operated image signal, determining whether the inverse-transform-operated reconstructed image signal has an edge component and outputting an edge control signal; <ul id="ul0001" list-style="none"><li>an edge pixel counter for counting the number of pixels in a block according to said edge control signal; and</li><li>a determiner for comparing the counted number of edge pixels with a threshold value indicating the number of edge pixels allowed in a predetermined block and outputting an adjustment control signal based on the comparison result.</li></ul>
Said determiner preferably outputs an adjustment control signal for adjusting simultaneously with respect to vertical and horizontal directions.
Preferably, said post-processing devices may be provided in an image decoder, wherein each adjustment value calculating means of said plural post-processing devices preferably employs the same adjustment factor values so as to control a degree of adjustment. Alternatively, each adjustment value calculating means of said plural post-processing devices may employ different adjustment factor values so as to control a degree of adjustment.
According to a second aspect of the present invention, there is provided a post-processing method for eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform-operated by block units, and reconstructing the original image, the method comprising the steps of: (a) inputting an inverse-transform-operated image signal; (b) selecting a predetermined number of adjustment coefficients in the region where a selected transform operation is performed; (c) calculating adjustment coefficients for minimizing the sum of the pixel differences at boundaries between the current block and adjacent blocks; (d) calculating an adjustment value using the adjustment coefficient and adjustment factor value(s); (e) generating an adjustment control signal for determining whether to adjust the image signal according to the result of determination on whether the inverse-transform-operated image signal is in an edge area or in a smooth area; and (f) adding said calculated adjustment value to the inverse-transform-operated image signal according to the adjustment control signal.
Said steps (c) through (f) are preferably repeated using the sum signal obtained in said step (f).
Said selected transform is preferably a discrete cosine transform (DCT).
Alternatively, said selected transform may be a Walsh-Hadamard transform (WHT).
Preferably, said step (b) selects a DC-component, first-order horizontal and vertical components of discrete cosine transform.
Said step (d) preferably employs adjustment factor values all equal irrespective of corresponding transform coefficients.
Alternatively, the adjustment factor values in said step (d) are determined separately for each selected transform coefficient.
According to a third aspect, there is provided a post processing device for substantially eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform operated by block units and reconstructing the original image, the device comprising: <ul id="ul0002" list-style="none"><li>means for selecting a predetermined transform;</li><li>means for estimating transform coefficients on the basis of information lost upon quantization or inverse-quantization so as to provide substantial continuity between adjacent blocks;</li><li>means for performing an inverse transform operation on the estimated transform coefficients to provide an adjustment value; and</li><li>adding means for adding the adjustment value to the inverse-transform operated image signal.</li></ul>
According to a fourth aspect, there is provided a post processing method for substantially eliminating a blocking artifact with regard to a received image signal which has been inverse-quantized and inverse-transform operated by block units and reconstructing the original image, the method comprising: selecting a predetermined transform; estimating transform co-efficients on the basis of information lost upon quantization or inverse quantization so as to provide substantial continuity between blocks; performing an inverse transform operation on the estimated transform coefficients; and adding the thus obtained adjustment value to the inverse-transform operated image signal.
A device according to the third aspect or a method according to the fourth aspect may further comprise any feature or combination of features from the accompanying specification, claims, figures or abstract.
For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings, in which: <ul id="ul0003" list-style="none"><li>Figure 1 is a block diagram showing a general encoder of image data;</li><li>Figure 2 is a block diagram showing a general decoder and post-processing device of image data;</li><li>Figure 3 is a flowchart illustrating a conventional post-processing method;</li><li>Figure 4 illustrates a current block and adjacent blocks;</li><li>Figure 5 illustrates adjacent blocks affected by VAC and HAC adjustment;</li><li>Figure 6 illustrates an intensity and the gap between the adjacent blocks;</li><li>Figure 7 illustrates an intensity of a block boundary after VAC adjustment;</li><li>Figure 8 is a block diagram of a post-processing device for eliminating a blocking artifact according to aspects of the present invention;</li><li>Figure 9A and Figure 9B illustrate the operation of the adjustment coefficient calculator shown in Figure 8;</li><li>Figure 10 illustrates a block value before and after adjustment;</li><li>Figure 11 illustrates a method for employing the sum of pixel differences at a block boundary; and</li><li>Figure 12 is a detailed block diagram showing the adjustment controller shown in Figure 8 employing a Sobel operator.</li></ul>
An embodiment of a post-processing device for eliminating a blocking artifact and a method thereof will be explained by first describing how a blocking artifact is generated, with reference to Figure 2.
An output signal of a variable-length decoder 21 shown in Figure 2 is quantized transform coefficients QF(u,v). Suppose F(u,v) represents transform coefficient suffering no information loss generated during quantization or inverse quantization, and Fq(u,v) denotes transform coefficient output by the inverse quantizer 22. Then, F(u,v) can be written as<maths id="math0015" num="(15)"><math display="block"><mrow><mtext>F(u,v) = Fq(u,v) + ΔF(u,v)</mtext></mrow></math><img file="EP0723375A2_D0015.tif" /></maths> where ΔF(u,v) is the information loss in the quantization step, and it is the cause of blocking artifact.
In embodiments of the present invention, the value ΔF(u,v) is estimated and inverse-transform-operated. Then, the inverse- transform-operated adjustment value is added to signal fq(x,y), i.e., an inverse transform operation of Fq(u,v), to thereby effectively decrease the degree of blocking artifacts.
Figure 8 is a block diagram showing an embodiment of a post-processing device for eliminating a blocking artifact according to the present invention.
Referring to Figure 8, reference numeral 31 denotes an adjustment coefficient calculator for receiving the inverse-transform-operated original image signal fq(x,y) and an adjustment coefficient selection signal and calculating adjustment coefficients, reference numeral 32 denotes an adjustment value calculator for receiving the adjustment coefficient selection signal and adjustment coefficients calculated by adjustment coefficient calculator 31 and adjustment factor and calculating an adjustment value for minimizing pixel differences at a block boundary, reference numeral 33 denotes an adjustment controller for receiving the inverse-transform-operated original image signal fq(x,y) and an adjustment threshold value and outputting an adjustment control signal to adjustment coefficient calculator 31 and adjustment value calculator 32, reference numeral 34 denotes a selector for selectively outputting the adjustment value calculated by adjustment value calculator 32 according to the adjustment control signal from adjustment controller 33, and reference numeral 35 denotes an adder for summing the inverse-transform-operated original image signal fq(x,y) and the output of selector 34 and outputting a post-processed image signal f'(x,y). Here, the inverse-transform-operated original image signal fq(x,y) is input via adder A3 shown in Figure 2, and the adjustment coefficient selection signal, the adjustment factor and the threshold value are supplied from a general system controller which is not shown.
In the operation of the device shown in Figure 8, first, adjustment coefficient calculator 31 receives the inverse- transform-operated original image signal fq(x,y) and the adjustment coefficient selection signal and calculates selected coefficients.
When block size is N×N, the number of estimable coefficients of ΔF(u,v) is in general N<sup>2</sup>. However, in practice, only those coefficients which are advantageous for eliminating a blocking artifact are selected and input to adjustment coefficient calculator 31 as a predetermined number of adjustment coefficient selection signals. The number of adjustment coefficient selection signals can be set from 1 to N<sup>2</sup>. However, in the preferred embodiment of the present invention there are three such signals: a<sub>0</sub>, a<sub>1</sub> and a<sub>2</sub>.
Figures 9A and 9B are for explaining the selection of an adjustment coefficient. In Figure 9A, a pixel of a block to be processed is indicated as f(x,y), and the surrounding adjacent blocks are Z<sub>1</sub>, Z<sub>2</sub>, Z<sub>3</sub> and Z<sub>4</sub>. Figure 9B schematically illustrates each pixel of a current block whose size is N×N.
Here, an example where a compression technique employed for an adjustment is arbitrary and a two-dimensional DCT which is widely used by an image encoder and a decoder is employed in order to convert an image signal into horizontal and vertical frequency components will be explained.
If the adjustment coefficient selection signal indicates a DC coefficient of DCT and first-order cosine values (vertical and horizontal first-order components), the adjustment value Δf(x,y) can be expressed as<maths id="math0016" num=""><img file="EP0723375A2_D0016.tif" /></maths> wherein a<sub>0</sub>, a<sub>1</sub> and a<sub>2</sub> are adjustment coefficients calculated by adjustment coefficient calculator 31. A method of calculating the adjustment coefficients uses the value for minimizing the degree of discontinuity (D) at boundaries.<maths id="math0017" num=""><img file="EP0723375A2_D0017.tif" /></maths>
As can be seen by expression (17), discontinuity (D) can be expressed using variables a<sub>0</sub>, a<sub>1</sub> and a<sub>3</sub> by substituting Δf in equation (16).
When the three equations obtained by partially differentiating expression (17) with respect to a<sub>0</sub>, a<sub>1</sub> and a<sub>3</sub> are equated with zero, adjustment coefficient values â<sub>1</sub>, â<sub>2</sub> and â<sub>3</sub> which minimize equation (17) are obtained. Then, in expression (16), the calculated adjustment coefficient values are employed instead of using variables; that is,<maths id="math0018" num=""><img file="EP0723375A2_D0018.tif" /></maths>
The adjustment value calculated by expression (18) is added, via a selector 34, to the inverse-transform-operated original image signal fq(x,y) by an adder 35.
At this time, since an adjustment performed independently in each block, a spurious artifact can be generated at boundaries between the current block and the adjacent blocks. As an example of this spurious artifact is shown in Figure 10. To reduce the effect, an actual adjustment value can be calculated by employing predetermined adjustment factor coefficients λ<sub>0</sub>, λ<sub>1</sub> and λ<sub>2</sub>, as follows.<maths id="math0019" num=""><img file="EP0723375A2_D0019.tif" /></maths>
In general, adjustment factor values can be defined independently for each adjustment coefficient or in common with all adjustment coefficients, i.e., λ<sub>0</sub>=λ<sub>1</sub>=λ<sub>2</sub>=λ. The proper adjustment factor values are selected.
In the meantime, when an edge exists in the inverse-transform-operated image signal fq(x,y) and the calculated adjustment value is applied to the corresponding block to eliminate a blocking artifact, the edge may be degraded, which causes image quality deterioration. Therefore, adjustment controller 33 generates an adjustment control signal so that adjustment is performed only if the current block is in a smooth area; that is, so that adjustment is not performed if the current block is in an edge area.
In doing so, adjustment controller 33 may employ an edge determiner for determining an edge by using a differential value between pixels. The present invention proposes the following two methods.
The first method uses the sum of pixel differences at block boundaries. If this sum is larger than a predetermined threshold value, it is determined that an image edge occurs and a blocking artifact is not adjusted. The method is separately applied to horizontal and vertical block boundaries.
As shown in Figure 11, discontinuities D<sub>1</sub>, D<sub>2</sub>, D<sub>3</sub> and D<sub>4</sub> can be calculated by the following expressions (20) to (23), and pertain to the four basic boundaries of an N×N block.<maths id="math0020" num=""><img file="EP0723375A2_D0020.tif" /></maths><maths id="math0021" num=""><img file="EP0723375A2_D0021.tif" /></maths><maths id="math0022" num=""><img file="EP0723375A2_D0022.tif" /></maths><maths id="math0023" num=""><img file="EP0723375A2_D0023.tif" /></maths>
Whether to perform adjustment in the horizontal direction (x-axis) is determined by comparing a horizontal threshold value THD<sub>1</sub> with the difference between the discontinuity D<sub>2</sub> (the sum of the right boundary pixel differences between the current block and block Z<sub>2</sub>) and the discontinuity D<sub>4</sub> (the sum of the left boundary pixel difference between the current block and block Z<sub>4</sub>). no adjustment:<maths id="math0024" num="(24)"><math display="block"><mrow><msub><mrow><mtext>| D</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-D</mtext></mrow><mrow><mtext>4</mtext></mrow></msub><msub><mrow><mtext>| > THD</mtext></mrow><mrow><mtext>1</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0024.tif" /></maths> adjustment:<maths id="math0025" num="(25)"><math display="block"><mrow><msub><mrow><mtext>|D</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-D</mtext></mrow><mrow><mtext>4</mtext></mrow></msub><msub><mrow><mtext>| < THD</mtext></mrow><mrow><mtext>1</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0025.tif" /></maths>
As can be seen in the above expressions (24) and (25), the case where the difference |D<sub>2</sub>-D<sub>4</sub>| between adjacent blocks is larger than threshold value THD<sub>1</sub> indicates an edge area, which does not require an adjustment, and the case where the difference |D<sub>2</sub>-D<sub>4</sub>| between adjacent blocks is smaller than threshold value THD<sub>1</sub> indicates a smooth area, which requires an adjustment.
Applying the same method, a vertical threshold value THD<sub>2</sub> is used for vertical (y-axis) adjustment, as follows. no adjustment:<maths id="math0026" num="(26)"><math display="block"><mrow><msub><mrow><mtext>|D</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>-D</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>| > THD</mtext></mrow><mrow><mtext>2</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0026.tif" /></maths> adjustment:<maths id="math0027" num="(27)"><math display="block"><mrow><msub><mrow><mtext>|D</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>-D</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>| < THD</mtext></mrow><mrow><mtext>2</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0027.tif" /></maths>
Adjustment controller 33 outputs an adjustment control signal indicating whether adjustment is to be performed in the vertical direction only, in the horizontal direction only, or for both directions. The adjustment control signal is applied to adjustment coefficient calculator 31 and adjustment value calculator 32. If, for example, adjustment is to be performed only in the horizontal direction (i.e., |D<sub>2</sub>-D<sub>4</sub>| < THD<sub>1</sub> and |D<sub>1</sub>-D<sub>3</sub>| > THD<sub>2</sub>), adjustment coefficient calculator 31 only calculates for the a<sub>0</sub> and a<sub>1</sub> values and adjustment value calculator 32 does not adjust a frequency component in the vertical direction. That is, using expression (19),<maths id="math0028" num=""><img file="EP0723375A2_D0028.tif" /></maths>
The adjustment value calculated by the above expression (28) is added to the inverse-transform-operated original image signal fq(x,y), to thereby output a post-processed image signal.
The second method proposed by the present invention to determine the presence of an edge employs a Sobel operator. Figure 12 is a detailed block diagram showing an adjustment controller adopting the second method.
In Figure 12, Sobel operator 41 receives the inverse-transform-operated original image signal fq(x,y) and a threshold value THD<sub>3</sub>, compares the sum of difference between current and adjacent pixels in a window having a predetermined size with threshold THD<sub>3</sub>, and determines whether the pixel has an edge component if the difference is larger than threshold THD<sub>3</sub>. An edge control signal based on the determination is output to an edge pixel counter 42. (An explanation of Sobel's method for detecting an edge can be found in "Two-dimensional Signal and Image Processing" by Jae S. Lim, Prentice-Hall, 1990, pp.478-483.) Edge pixel counter 42 calculates the number of pixels which are determined as being edge components among the N<sup>2</sup> pixels of the block. Then, the number of edges (NE<sub>blk</sub>) in each block is compared with the allowable number of edges (THD<sub>4</sub>). no adjustment:<maths id="math0029" num="(29)"><math display="block"><mrow><msub><mrow><mtext>NE</mtext></mrow><mrow><mtext>blk</mtext></mrow></msub><msub><mrow><mtext> > THD</mtext></mrow><mrow><mtext>4</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0029.tif" /></maths> adjustment:<maths id="math0030" num="(30)"><math display="block"><mrow><msub><mrow><mtext>NE</mtext></mrow><mrow><mtext>blk</mtext></mrow></msub><msub><mrow><mtext> < THD</mtext></mrow><mrow><mtext>4</mtext></mrow></msub></mrow></math><img file="EP0723375A2_D0030.tif" /></maths>
A determiner 43 determines whether to perform an adjustment according to the relationship shown in the above expressions (29) and (30) and outputs an adjustment control signal for simultaneously performing DC adjustment and vertical and horizontal adjustment on the adjustment value of expression (19).
To eliminate blocking artifacts more efficiently, the post-processing method of the present invention can be repeatedly performed using plural post-processing devices connected to the output of post-processing device 26, each of which perform the above-described post-processing method. At this time, different adjustment factor values are set for each post-processing device.
Since most of the image compression is performed by block transform operation, for example, high definition television, digital television, MPEG-1 and MPEG-2 applied products and multi-media systems, the present invention has wide applications.
As described above, according to the present invention, the device estimates transform coefficients lost during quantization, performs inverse transform operation the estimated signal and adds the estimated signal to the inverse-transform-operated reconstructed image signal, to thereby minimize images differences at boundary pixels. Further, horizontal and vertical adjustments are performed simultaneously with respect to block boundary differences, which enables more efficient blocking artifact elimination.
The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.
39 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US6370279B1 | Cited by | United States of America | Applicant |
| EP0808068A3 | Cited by | European Patent Office (EPO) | Search report |
| EP0875857A2 | Cited by | European Patent Office (EPO) | Search report |
| CN100377598C | Cited by | China | Search report |
| US6539060B1 | Cited by | United States of America | Search report |
| GB2325583B | Cited by | United Kingdom | Search report |
| EP0808068A2 | Cited by | European Patent Office (EPO) | Search report |
| EP1469680A2 | Cited by | European Patent Office (EPO) | Search report |
| KR100871998B1 | Cited by | Republic of Korea | Search report |
| WO02084593A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO02084593A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| EP1469680A3 | Cited by | European Patent Office (EPO) | Search report |
| GB2325583A | Cited by | United Kingdom | Search report |
| FR2823338A1 | Cited by | France | Search report |
| EP0875857A3 | Cited by | European Patent Office (EPO) | Search report |
| EP0590922A2 | Cites | European Patent Office (EPO) | Search report |
12 members in 6 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 19950000951 | Republic of Korea | A | |
| 9500951 | Republic of Korea | – | |
| 9500951 | – | – | – |
| KR19950000951 | – | – | – |
Members12
| Document | Office | Kind | |
|---|---|---|---|
| EP0723375A2This record | European Patent Office (EPO) | A2 | |
| KR960030711A | Republic of Korea | A | |
| JPH08251591A | Japan | A | |
| CN1145566A | China | A | |
| EP0723375A3 | European Patent Office (EPO) | A3 | |
| KR0165497B1 | Republic of Korea | B1 | |
| US5937101A | United States of America | A | |
| JP3269960B2 | Japan | B2 | |
| EP0723375B1 | European Patent Office (EPO) | B1 | |
| CN1130917C | China | C | |
| DE69630828D1 | Germany | D1 | |
| DE69630828T2 | Germany | T2 |
26 legal events, as 4 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0723375
- Publication, DOCDB
- 0723375
- Publication, EPODOC
- EP0723375
- Application
- 96300374
- Application, DOCDB
- 96300374
- Application, EPODOC
- EP19960300374
Titles3
- German
- Nachbearbeitungsverfahren und -vorrichtung zur Eliminierung von Blockstörungen in dekomprimierten Bildern
- English
- Post-processing device and method for eliminating blocking artifacts from decompressed images
- French
- Dispositif et méthode de post-traitement pour l'élimination des artefacts de blocs dans des images décomprimées
Classification
- CPC, 3
- H04N19/527
- H04N19/625
- H04N19/86
- IPC, 14
- H04N5 92
- G06T9 00
- H04N1 41
- H04N19 102
- H04N19 134
- H04N19 14
- H04N19 154
- H04N19 176
- H04N19 196
- H04N19 44
- H04N19 60
- H04N19 625
- H04N19 85
- H04N19 86
Designated states3
- Contracting states, 3
- Germany
- France
- United Kingdom