Abstract:
A digital picture processing method for mainly partitioning an inputted picture into a plurality of blocks and then separately performing a deblocking process and a deringing process on each of the blocks so as to reduce the required memory space and to instantaneously process the data.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    This invention relates to a digital picture processing method, and more particularly to a digital picture processing method capable of reducing the required memory space.  
           [0003]    2. Description of the Prior Art  
           [0004]    Presently, the digital pictures, such as digital still images or digital video frames, have some conventional artefacts, namely blocking artefact and ringing artefact. The blocking artifacts are generated due to the compression performed by block-base compression schemes, such as discrete cosine transform (DCT), and due to the discontinuities at the boundaries of the adjacent blocks caused by the quantization process. The ringing artifacts are generated due to the indistinctions at the object edges caused by discarding high-frequency coefficients during compression.  
           [0005]    The above two types of artefacts will degrade the quality of picture, and cause unpleasant viewing experience to the viewer. Therefore, in order to improve the picture quality, a deblocking process and a deringing process are used for removing the block artifacts as well as the ringing artifacts.  
           [0006]    Please refer to FIG. 1. FIG. 1 shows the flowcharts of the conventional deblocking and deranging processes. In the step  10 , after a picture is inputted, the deblocking process is performed. This deblocking process includes filtering vertical block edges (step  11 ) and filtering horizontal block edges (step  12 ). Then, the deringing process is performed. The deranging process includes generating a reference image (step  13 ) and performing spatial low-pass filtering (step  14 ). Finally, in step  15 , the picture is outputted so as to complete the deblocking and deranging processes.  
           [0007]    [0007]FIG. 2A is the schematic diagram of the deblocking process in FIG. 1. A picture  2  is partitioned into a plurality of blocks  20 , and a boundary between two blocks  20  is defined as a block boundary  200 . FIG. 2B is a schematic diagram of enlargement of the dotted region in FIG. 2A. Each of the blocks  20  includes a plurality of pixels  21 . In the deblocking process, a vertical or a horizontal low-pass filtering process can be performed to each row of pixels  22  or each column of pixels  23  along the boundary of each of the blocks  20 . Therefore, the discontinuity at the boundary  200  of each of the blocks  20  will be smoothed.  
           [0008]    [0008]FIG. 3A is a schematic diagram of the deringing process in FIG. 1. In the deringing process, a spatial low-pass filtering process is performed to a picture  3  by using a spatial filtering mask  30  so as to smooth the ringing artifacts. However, the spatial low-pass filtering process will make the object edge  300  indistinct. In order to avoid this kind of problem, as shown in FIG. 3B, a binary reference picture  3 ′ is used for preventing the spatial low-pass filtering process from being applied to the object edge  300 ′. If the values in a mask window of the picture are the same (for example, a first mask window  31 ′ and a second mask window  32 ′), the spatial low-pass filtering process will be used. If the values in a mask window of the picture are not the same (for example, a third mask window  33 ), the spatial low-pass filtering process will not be used. Because the above method is well-known, no detailed description will given.  
           [0009]    [0009]FIG. 4 is a perspective diagram of a system for performing the deblocking and deringing processes in FIG. 1. The system comprises a first memory  40 , a deblocking module  41  connected to the first memory  40 , a deringing module  42  connected to the deblocking module  41 , and a second memory  43  connected to the deringing module  42 . The first memory  40  is used for inputting a whole piece of picture. The deblocking module  41  includes a filtering processor  410  and a temporary memory buffer  411  for performing filtering function and temporarily storing the data. The deringing module  42  includes a reference map generator  420 , a spatial filtering processor  421  and a reference map buffer  422 . The reference map generator  420  is used for generating a reference map to the reference map buffer  422 , and then the reference map will transmitted to the spatial filtering processor  421  for performing the spatial filtering process on the picture stored in temporary memory buffer 411 . Finally, the spatial-filrtered picture will be outputted to the second memory  43 .  
           [0010]    However, the conventional deblocking and deringing processes will cost a lot of time on data processing. This is because in each of the steps, it is required to process a whole piece of picture. Therefore, only after the processing of the whole piece of picture is finished in the previous step, the following step can be performed.  
           [0011]    Furthermore, because the processing unit is the whole piece of picture during processing, a greater memory space is required for temporarily storing data. In the prior art, the required memory space is at least double of the space required by the picture. This is because not only the picture but also the reference map data have to be stored. In other words, if a picture is composed of M rows of scanning lines and each of the rows is composed of N pixels, 2×M×N bytes of memory space will be required for storing the inputted picture (source data) and the outputted picture (destination data), and M×N/8 bytes of memory space will be required for storing the reference binary map. Therefore, if the inputted picture in FIG. 4 is composed of M×N bytes, more than 2.125 ×M×N of memory space will be required.  
           [0012]    Therefore, the conventional deblocking and deringing processes require greater memory space, and more time is required for data processing. Hence they are not suitable for real-time applications.  
         SUMMARY OF THE INVENTION  
         [0013]    In order to solve the mentioned problem of the conventional deblocking and deringing processes, this invention provides a digital picture processing method which can process the digital picture more effectively and require less memory space.  
           [0014]    The invention relates to a digital picture processing method. In this method, an inputted picture is partitioned into a plurality of blocks, and the deblocking and the deringing processes are performed on each of the blocks so as to reduce the required memory space and to process the data more instantaneously.  
           [0015]    In order to achieve the above objective, the digital picture processing method of the invention comprises the following steps. First, a picture to be inputted is partitioned into a plurality of blocks, and the position of each of the blocks is overlapped with the edge of the adjacent block. Next, the deblocking and the deringing processes are performed on each of the blocks. Finally, the processed blocks will be reorganized and outputted so as to complete the deblocking and the deranging processes. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    The accompanying drawings, which are incorporated in and form part of the specification in which like numerals designate like parts, illustrate preferred embodiments of the present invention and together with the description, serve to explain the principles of the invention. In the drawings:  
         [0017]    [0017]FIG. 1 shows the flowcharts of the conventional deblocking and deringing processes;  
         [0018]    [0018]FIG. 2A is the schematic diagram of the deblocking process in FIG. 1;  
         [0019]    [0019]FIG. 2B is a schematic diagram of enlargement of the dotted region in FIG. 2A;  
         [0020]    [0020]FIG. 3A is a schematic diagram of the deringing process in FIG. 1;  
         [0021]    [0021]FIG. 3B is a plane schematic diagram of using a binary reference map;  
         [0022]    [0022]FIG. 4 is a perspective diagram of a system for performing the deblocking and deringing processes in FIG. 1;  
         [0023]    [0023]FIG. 5 is a flowchart of a preferred embodiment of a digital picture processing method according to the invention;  
         [0024]    [0024]FIG. 6 is a plane perspective diagram of the picture partitioned into a plurality of blocks in the preferred embodiment;  
         [0025]    [0025]FIG. 7 is a schematic diagram of the deblocking process in the preferred embodiment; and  
         [0026]    [0026]FIG. 8 is a perspective diagram of a system performing the digital picture processing method of the invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0027]    [0027]FIG. 5 is a flowchart of a preferred embodiment of a digital picture processing method according to the invention. The method includes the following steps.  
         [0028]    First, in step  50 , a picture is inputted, and this picture is compressed by using discrete cosine transform (DCT). The picture has a plurality of discrete cosine transformation (DCT) blocks. A block boundary is formed between the DCT blocks. Next, in step  51 , this picture is partitioned into a plurality of blocks, and each of the blocks and the edge of the adjacent block are overlapped. In step  52 , one of the blocks is inputted into the first memory.  
         [0029]    When performing the deblocking process, first, in step  53 , the low-pass filtering process is performed on the inputted block along the vertical edge of the DCT block. Then, in step  54 , the low-pass filtering process is performed on the inputted block along the horizontal edge of the DCT block.  
         [0030]    When performing the deringing process, in step  55 , a binary reference map is generated for indicating the object edge. Then, in step  56 , the spatial low-pass filtering process is performed so as to remove the ringing artifacts. In step  57 , the blocks are outputted to the memory, and in step  58 , it is to be determined whether the block is the last block. If yes, then go to step  59  so as to output the picture; If no, return to step  52  so as to input the next block.  
         [0031]    [0031]FIG. 6 is a plane perspective diagram of the picture partitioned into a plurality of blocks in the preferred embodiment. The picture  6  is composed of a plurality of DCT blocks  60 , and the block  61  is overlapped with the edges of the adjacent block  62 ,  63  so as to form an overlapping region  610 . The blocks in the overlapping region  610  are used as reference. The unoverlapped blocks  611  are the blocks to be processed. For example, in this preferred embodiment, each of the blocks  61  is composed of 10×10 pixels, but only 8×8 pixels are processed.  
         [0032]    [0032]FIG. 7 is a schematic diagram of the deblocking process in the preferred embodiment. Here, v0 to v9 are the coefficients of the vertical pixels  70  of each column or of the horizontal pixels  71  of each row. In FIG. 7, the pixels along the edge  71  of each of the horizontal blocks or along the edge  70  of each of the vertical blocks are scanned. Then. The scanned column (or row) pixels are leaded into a conventional mathematical formula so as to obtain a smoothness coefficient. Therefore, it will be checked that the DCT block is within the smooth region or the non-smooth region. The mathematical formula in this preferred embodiment is as follows:  
         [0033]    Thesmoothness  
         coefficient=φ( v 0 −v 1)+φ( v 1 −v 2)+φ( v 2 −v 3)+φ( v 3 −v 4)+φ( v 4 −v 5)+φ( v 5 −v 6)+φ( v 6 −v 7)+φ( v 7 −v 8)+( v  8 −v 9)  
         [0034]    If |γ|≦THR 1 , then φ(γ)=1, otherwise φ(γ)=0. And THR 1 =2.  
         [0035]    Next, based on the smoothness coefficient, it will be determined to use a high filtering mode or a low filtering mode. If the value of the smoothness coefficient is greater than a second threshold value (THR 2 ), then the high filtering mode will be used. And if the value is not greater than the second threshold value (THR 2 ), then the low filtering mode will be used. In this embodiment, the second threshold value is 6.  
         [0036]    If the high filtering mode is chosen, then the steps of the filtering mode are as follows:  
         [0037]    max=MAX(v1,v2,v3,v4,v5,v6,v7,v8),  
         [0038]    min=MIN(v1,v2,v3,v4,v5,v6,v7,v8),  
         [0039]    If (|max−min|&lt;2QP), then { 
           ∑     k   =     -   4       4                       b   k     ·     p     n   +   k           ,     1   ≤   n   ≤   8               p   m     =     {                 (              v   1     -     v   0       ≺   QP          )     ?     v   0            :          v   1                   if                 m     ≺   1                   v     m   ,                     if                 1     ≤   m   ≤   8                     (              v   8     -     v   9       ≺   QP          )     ?     v   9            :          v   8                   if                                m     ≻   8           }                           
 
         [0040]    {b k :−4≦k≦4}={1,1,2,2,4,2,2,1,1,}//16 }  
         [0041]    Otherwise, it will not be changed.  
         [0042]    On the other hand, if the low filtering mode is chosen, then perform the following steps:  
         
       V 
       4 
       ′=V 
       4 
       −d,  
     
         
       V 
       5 
       ′=V 
       5 
       +d,  
     
         and  d =CLIP(5( a   3,0   ′−a   3,0 )//8,0( V   4   −V   5 /2)δ(| a   3.0   |&lt;QP )  
         [0043]    wherein a 3.0 ′=SIGN( a 3.0 )MIN(|a 3.0 |,|a 3.1 |,|a 3.2 |),  
         [0044]    a 3.0 =ROUND(([2-55-2][V3V4V5V6]T)/8),  
         [0045]    a 3.1 =ROUND(([2-55-2][V1V2V3V4]T)/8),  
         [0046]    a 3.2 =ROUND(([2-55-2][V5V6V7V8]T)/8),  
         [0047]    Because the mathematical formulas in the above steps are well-known in the art and can be well understood by the skilled in the art, the detailed description will not given.  
         [0048]    In addition, in the preferred embodiment, the steps of the deringing process are as follows. First, a binary reference map is found out which includes the following steps:  
         [0049]    1. First, find out the pixel range and the threshold value (Thr)  
         Thr=ROUND [(max+min)/2],  
         Range=max−min  
         [0050]    Wherein the max is the maximum value of the pixel, and the min is the minimum value of the pixel.  
         [0051]    2. Based on the following cases, the threshold value (Thr) is adjusted.  
         If (Range&lt;activity th), then Thr=0  
         [0052]    Wherein 10&lt;activity th&lt;20  
         [0053]    3. Reconstructing the binary reference map  
         Binmap (u, v)={1 if datasrc (u, v)≧Thr; 0 otherwise  
         [0054]    Wherein u,v=0, 1 . . . 9 and datasrc(u,v) is the pixel value after the deblocking process is performed.  
         [0055]    Next, by using the binary reference map, a spatial low-pass filtering will be performed so as to avoid filtering out the object edge. In the preferred embodiment, the following steps are included:  
         [0056]    All of the binary reference maps in the mask window will be obtained by performing the following mathematical formulas:  
           Counts                   (     u   ,   v     )       =       ∑     i   =     -   1       1                       ∑     j   =     -   1       1          bin                 map                   (     u   +     i                 v     +   j     )             ,                         
 
         [0057]    Wherein u,v=1, 2 . . . 8.  
         [0058]    Based on the following cases, the values of all of the binary reference maps in the mask window will be defined as “1” or “0” and the spatial filtering process will be accordingly performed.  
         [0059]    If counts (u, v)=0 or counts (u, v)=9, then  
           datast        (     u   ,   v     )       =       ∑     i   =     -   1       1                       ∑     j   =     -   1       1          datasrc                     (     u   +     i                 v     +   j     )     ·     w        (     i   ,   j     )                 ,                         
 
         [0060]    wherein u,v=1, 2 . . . 8, datast (u, v) is the destination buffer memory and w (u, v) is the spatial filtering mask. In the preferred embodiment, the mathematical formula of the spatial filtering mask is as follows:  
         w        (     i   ,   j     )       =         1   16                    [         1       2       1           2       4       2           1       2       1         ]                             
 
         [0061]    Because the mathematical formulas in the above steps are well-known in the art and can be well understood by the skilled in the art, the detailed description will not given.  
         [0062]    [0062]FIG. 8 is a perspective diagram of a system performing the digital picture processing method of the invention. This system also comprises a first memory  40 ′, a deblocking module  41 ′ connected to the first memory  40 ′, a deringing module  42 ′ connected to the deblocking module  41 ′, and a second memory  43 ′ connected to the deringing module  42 ′, The main difference between this system and the system in FIG. 4 is that only one block is inputted into the first memory body  40 ′, the temporary memory buffer  411  and the second memory body  43 ′, in this preferred embodiment, only 10×10 bytes of memory space is required, so that the required memory space is greatly reduced.