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 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 an inverse transform operation on the estimated transform coefficients, and adding the thus-obtained adjustment value to an inverse-transform-operated reconstructed image signal.

Description:
BACKGROUND OF THE INVENTION 
     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. 
     FIG. 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, FIG. 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 FIG. 1 and reproducing the decoded result. The operation of the circuit shown in FIG. 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 (FIG. 1). Then, an N×N inverse transform operator 23 performs a 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 FIG. 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.(yx) can be defined as follows. ##EQU1## Here, u, v, y and x are integers from 0 to 7, and C u  and C v  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 (FIG. 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 &#34;Transform-domain Postprocessing of DCT-coded Images&#34; (&#39;93 SPIE Proceedings, Vol. 2094, pp. 1627-1638), post-processing is performed using a compensated DCT coefficient, which will be explained with reference to FIG. 3 to FIG. 7. 
     FIG. 3 is a flowchart illustrating the post-processing method. 
     Referring to FIG. 3, received quantized blocks are inversely quantized (step 1), and a processed segment consisting of the current block and its eight neighboring blocks, as shown in FIG. 4, is classified is 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 i ,j (DC i ,j) can be replaced with an adjusted DC value DC adj (i,j), for a smooth transition between adjacent blocks. Here, the adjusted DC value can be calculated as follows. ##EQU2## Here, the weighted mask (WM), shown in the following expression (4), is selected by experience. ##EQU3## 
     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) (where v=0 and u=1) is calculated. ##EQU4## Here, S.sub.(0,1) 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). ##EQU5## 
     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 FIGS. 4 and 5, block i ,j-1, block i ,j and block i ,j+1 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 i ,j (left) and P ij  (right) correspond to the left and right boundaries of block i ,j and can be expressed as follows. ##EQU6## 
     Then, the right boundaries of block i ,j-1 and the left boundaries of block i ,j+1 can be expressed as follows. 
     
         P.sub.i,j-1 (right)=0.17654VAC.sub.i,j-1                   ( 9) 
    
     and 
     
         P.sub.i,j+1 (left)=0.17654VAC.sub.i,j+1                    ( 10) 
    
     The gaps between adjacent block boundaries can be calculated as follows. 
     
         gap.sub.i,j (left)=P.sub.i,j-1 (right)-P.sub.i,j (left)    (11) 
    
     
         gap.sub.i,j (right)=P.sub.i,j (right)-P.sub.i,j+1 (left)   (12) 
    
     FIG. 6 shows an intensity and a gap between boundary intensities. 
     An average gap (gap ave (i,j)) between the current block boundary and adjacent blocks can be expressed as follows. ##EQU7## 
     If the current block and the adjacent blocks have pixel values which are continuous in the horizontal direction, the value of gap ave  is zero. A large gap ave  value indicates a large discontinuity. Therefore, the discontinuity can be lowered by reducing the value of gap ave . The gap adjustment is made by halving the average gap; that is, gap adj  =gap ave  /2. To reduce the gap of a boundary of block i ,j, ##EQU8## 
     An intensity of a block boundary after VAC adjustment is shown in FIG. 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. 
     SUMMARY OF THE INVENTION 
     Accordingly, it is an object 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 object of the present invention to provide a post-processing method performed by the above post-processing device. 
     To accomplish the first object 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 subjected to a predetermined inverse-quantizing and inverse-transform-operation 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. 
     To accomplish the other object 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. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above objects and other advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof is with reference to the attached drawings in which: 
     FIG. 1 is a block diagram showing a general encoder of image data; 
     FIG. 2 is a block diagram showing a general decoder and post-processing device of image data; 
     FIG. 3 is a flowchart illustrating a conventional post-processing method; 
     FIG. 4 illustrates a current block and adjacent blocks; 
     FIG. 5 illustrates adjacent blocks affected by VAC and HAC adjustment; 
     FIG. 6 illustrates an intensity and the gap between the adjacent blocks; 
     FIG. 7 illustrates an intensity of a block boundary after VAC adjustment; 
     FIG. 8 is a block diagram of a post-processing device for eliminating a blocking artifact according to the present invention; 
     FIG. 9A and FIG. 9B illustrate the operation of the adjustment coefficient calculator shown in FIG. 8; 
     FIG. 10 illustrates a block value before and after adjustment; 
     FIG. 11 illustrates a method for employing the sum of pixel differences at a block boundary; and 
     FIG. 12 is a detailed block diagram showing the adjustment controller shown in FIG. 8 employing a Sobel operator. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     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 FIG. 2. 
     An output signal of a variable-length decoder 21 shown in FIG. 2 is quantized by transform coefficients QF(u,v). Suppose F(u,v) represents a transform coefficient suffering no information loss generated during quantization or inverse quantization, and Fq(u,v) denotes a transform coefficient output by the inverse quantizer 22. Then, F(u,v) can be written as 
     
         F(u,v)=Fq(u,v)+ΔF(u,v)                               (15) 
    
     where ΔF(u,v) is the information loss in the quantization step, and it is the cause of blocking artifact. 
     In 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. 
     FIG. 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 FIG. 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&#39;(x,y). Here, the inverse-transform-operated original image signal fq(x,y) is input via adder A3 shown in FIG. 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 FIG. 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 2 . 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 2 . However, in the preferred embodiment of the present invention there are three such signals: a 0 , a 1  and a 2 . 
     FIGS. 9A and 9B are for explaining the selection of an adjustment coefficient. In FIG. 9A, a pixel of a block to be processed is indicated as f(x,y), and the surrounding adjacent blocks are Z 1 , Z 2 , Z 3  and Z 4 . FIG. 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 ##EQU9## wherein a 0 , a 1  and a 2  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. ##EQU10## 
     As can be seen by expression (17), discontinuity (D) can be expressed using variables a 0 , a 1  and a 3  by substituting Δf in equation (16). 
     When the three equations obtained by partially differentiating expression (17) with respect to a 0 , a 1  and a 3  are equated with zero, adjustment coefficient values a 1 , a 2  and a 3  which minimize equation (17) are obtained. Then, in expression (16), the calculated adjustment coefficient values are employed instead of using variables; that is, ##EQU11## 
     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 is performed independently in each block, a spurious artifact can be generated at boundaries between the current block and the adjacent blocks. An example of this spurious artifact is shown in FIG. 10. To reduce the effect, an actual adjustment value can be calculated by employing predetermined adjustment factor coefficients λ 0 , λ 1  and λ 2 , as follows. ##EQU12## 
     In general, adjustment factor values can be defined independently for each adjustment coefficient or in common with all adjustment coefficients, i.e., λ 0  =λ 1  =λ 2  =λ. 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 FIG. 11, discontinuities D 1 , D 2 , D 3  and D 4  can be calculated by the following expressions (20) to (23), and pertain to the four basic boundaries of an N×N block. ##EQU13## 
     Whether to perform adjustment in the horizontal direction (x-axis) is determined by comparing a horizontal threshold value THD 1  with the difference between the discontinuity D 2  (the sum of the right boundary pixel differences between the current block and block Z 2 ) and the discontinuity D 4  (the sum of the left boundary pixel difference between the current block and block Z 4 ). 
     
         no adjustment: |D.sub.2 -D.sub.4 |&gt;THD.sub.1 (24) 
    
     
         adjustment: |D.sub.2 -D.sub.4 |&lt;THD.sub.1 (25) 
    
     As can be seen in the above expressions (24) and (25), the case where the difference |D 2  -D 4  | between adjacent blocks is larger than threshold value THD 1  indicates an edge area, which does not require an adjustment, and the case where the difference |D 2  -D 4  | between adjacent blocks is smaller than threshold value THD 1  indicates a smooth area, which requires an adjustment. 
     Applying the same method, a vertical threshold value THD 2  is used for vertical (y-axis) adjustment, as follows. 
     
         no adjustment: |D.sub.1 -D.sub.3 |&gt;THD.sub.2 (26) 
    
     
         adjustment: |D.sub.1 -D.sub.3 |&lt;THD.sub.2 (27) 
    
     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 2  -D 4  |&lt;THD 1  and |D 1  -D 3  |&gt;THD 2 ), adjustment coefficient calculator 31 only calculates for the a 0  and a 1  values and adjustment value calculator 32 does not adjust a frequency component in the vertical direction. That is, using expression (19), ##EQU14## 
     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. FIG. 12 is a detailed block diagram showing an adjustment controller adopting the second method. 
     In FIG. 12, Sobel operator 41 receives the inverse-transform-operated original image signal fq(x,y) and a threshold value THD 3 , compares the sum of difference between current and adjacent pixels in a window having a predetermined size with threshold THD 3 , and determines whether the pixel has an edge component if the difference is larger than threshold THD 3 . An edge control signal based on the determination is output to an edge pixel counter 42. (An explanation of Sobel&#39;s method for detecting an edge can be found in &#34;Two-dimensional Signal and Image Processing&#34; 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 2  pixels of the block. Then, the number of edges (NE blk ) in each block is compared with the allowable number of edges (THD 4 ). 
     
         no adjustment: |NE.sub.blk &gt;THD.sub.4             (29) 
    
     
         adjustment: |NE.sub.blk &lt;THD.sub.4                (30) 
    
     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 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 an inverse transform operation on 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.