Patent Publication Number: US-2013229425-A1

Title: Image processing method and associated apparatus

Description:
This application claims the benefit of Taiwan application Serial No. 101107236, filed Mar. 3, 2012, the subject matter of which is incorporated herein by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention relates in general to image processing, and more particularly to an image processing apparatus and associated method applied to a liquid crystal overdrive technique. 
     2. Description of the Related Art 
     An overdrive technique is prevalent in current liquid crystal displays (LCD) for enhancing a response speed of liquid crystal molecules. In the overdrive technique, an overdrive process is performed according to a previous frame and a current frame to obtain a corresponding overdrive voltage for driving liquid crystal molecules. Therefore, data of the previous frame needs to be temporarily stored in a memory when applying the overdrive technique. 
     To minimize a usage amount of the memory, data of the previous frame is truncated before being stored into the memory. For example, assuming each pixel in the previous frame contains 8 bits of data, but only data of 4 most significant bits out of the 8 bits is stored into the memory. Thus, information on image details of the previous frame is lost due to the truncated data of the previous frame stored in the memory. For example, due to the lost data of the least significant bits, an original continuous grayscale gradient appears as a discontinuous gradient. In other words, the overdrive technique has a tendency of downgrading the quality of an output frame by sacrificing details of a previous frame. 
     SUMMARY OF THE INVENTION 
     The invention is directed to a solution for mitigating and eliminating the foregoing issue of an unsatisfactory quality of an output frame caused by reduced memory usage amount in the overdrive technique. 
     According to an aspect the present invention, an image processing apparatus is provided. The apparatus comprises a memory, a processing unit and an overdriving unit. The memory stores a data-truncated previous frame. The processing unit performs an image smoothing process on the previous frame. The overdriving unit performs an overdriving process according to the processed previous frame and a current frame to generate an output frame. 
     According to another aspect of the present invention, an image processing method, applied to an image processing apparatus, is provided. The method comprises steps of: storing a data-truncated previous frame; performing an image smoothing process on the previous frame; and performing an overdriving process according to the processed previous frame and a current frame to generate an output frame. 
     The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiments. The following description is made with reference to the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an image processing apparatus according to one embodiment of the present invention. 
         FIG. 2  is a flowchart of an image processing method according to one embodiment of the present invention. 
         FIG. 3  is a block diagram of processing unit according to one embodiment of the present invention. 
         FIG. 4  is a detailed flowchart of Step  22 . 
         FIG. 5  is a schematic diagram of partial pixels of a previous frame F(n−1)[7:4]. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     To eliminate a discontinuous gradient caused by truncated data, an image processing apparatus and associated method is provided by an embodiment below. The image processing apparatus according to an embodiment of the present invention comprises a memory, a processing unit and an overdriving unit. The memory stores a previous frame, which is data-truncated before being stored into the memory. The processing unit performs edge detection on the previous frame, and performs an image smoothing process on the previous frame according to an edge detection result. The overdriving unit performs an overdriving process according to the processed previous frame and a current frame to generate an output frame. 
     The image processing method according to an embodiment of the present invention comprises steps of: storing a previous frame into a memory, the previous frame being data-truncated before being stored into the memory; performing edge detection on the previous frame, and performing an image smoothing process on the previous frame according to an edge detection result; and performing an overdriving process according to the processed previous frame and a current frame to generate an output frame. 
     In one embodiment, the processing unit of the present invention comprises an edge detecting unit, a coefficient selecting unit and a low-pass filter. The edge detecting unit performs edge detection on a target block in a plurality of blocks of the data-truncated previous frame to generate the edge detection result. The coefficient selecting unit determines a set of filter coefficients according to the edge detection result. The low-pass filter performs the image smoothing process according to the set of filter coefficients to repair the truncated data of the previous frame. 
     Referring to  FIGS. 1 and 2 ,  FIG. 1  shows a block diagram of an image processing apparatus according to one embodiment of the present invention;  FIG. 2  shows a flowchart of an image processing method according to one embodiment of the present invention. An image processing apparatus  10  comprises a memory  11 , a processing unit  12  and an overdriving unit  13 . For exemplary and illustrative purposes, in the following description, a previous frame is expressed as F(n−1)[7:4], a current frame is expressed as F(n)[7:0], and a processed previous frame is expressed as F′(n−1)[7:0]. [7:0] represents data comprising bits  7  to  0 , and [7:4] represents data comprising bits  7  to  4 . Therefore, the previous frame F(n−1)[7:4] indicates that data from bit  3  to bit  0  is truncated. 
     The image processing method is applicable to the image processing apparatus  10 , and comprises the following steps. In Step  21 , the memory  11  stores the previous frame F(n−1)[7:4], which contains only data of bit  7  to bit  4  of each pixel. That is to say, data of bit  3  to bit  0  in each pixel in the previous frame F(n−1) is truncated. In Step  22 , the processing unit  12  performs edge detection on the previous frame F(n−1)[7:4], and performs an image smoothing process on the previous frame F(n−1)[7:4] according to an edge detection result to repair the truncated data of the previous frame. Accordingly, each pixel in the processed previous frame F′(n−1)[7:0] is provided with complete 8 bits of data. In Step  23 , the overdriving unit  13  performs an overdriving process according to the repaired previous frame F′(n−1)[7:0] and the current frame F(n)[7:0] to generate an output frame OD_out. 
     Referring to  FIGS. 3 ,  4  and  5 ,  FIG. 3  shows a block diagram of a processing unit according to an embodiment of the present invention;  FIG. 4  shows a detailed flowchart of Step  22  according to an embodiment of the present invention;  FIG. 5  shows a schematic diagram of partial pixels in the previous frame F(n−1)[7:4]. The processing unit  12  further comprises an edge detecting unit  121 , a coefficient selecting unit  122  and a low-pass filter  123 . Step  22  further comprises Steps  221  to  223 . In Step  221 , the edge detecting unit  121  performs edge detection on a target block in a plurality of blocks of the previous frame F(n−1)[7:4] to generate the edge detection result. For example, edge detection comprises determining whether a neighboring pixel difference in the target block is not greater than a threshold. When the neighboring pixel difference is not greater than the threshold, the neighboring pixel difference does not correspond to an image edge of the previous frame F(n−1)[7:4]. Conversely, when the neighboring pixel difference is greater than the threshold, it means the target block corresponds to an image edge of the previous frame F(n−1)[7:4]. That is, the image edge is a real edge and is not a discontinuous gradient caused by the truncated data. Thus, the real edges of the target block do not need to be image smoothing processed by the low-pass filter  123 . In other words, the low-pass filter  123  only processes the discontinuous gradient caused by the truncated image data. The foregoing threshold may correspond to a least significant bit of the previous frame F(n−1)[7:4]. For example, the number of the least significant bit is 1 bit. 
     In Step  222 , the coefficient selecting unit  122  determines a set of filter coefficients according to the edge detection result. More specifically, the coefficient selecting unit  122  determines a pixel value distribution of the target block according to the edge detection result, so as to determine a filter interval from the target block and a set of filter coefficients. The coefficient selecting unit  122  further determines whether the pixel value distribution detected in the interval is monotonically increasing or monotonically decreasing. When the pixel value distribution is concurrently increasing and decreasing, it means the interval contains real image edges. Thus, by determining whether the pixel value distribution is monotonically increasing or monotonically decreasing, the coefficient selecting unit  122  identifies the discontinuous gradient caused by the truncated image data in the previous frame F(n−1)[7:4]. 
     A coefficient sum of the set of filter coefficients corresponds to a ratio of a grayscale resolution of the current frame F(n)[7:0] and a grayscale resolution of the previous frame F(n−1)[7:4]. More specifically, the current frame F(n)[7:0] has a grayscale resolution of 256 by having 8 bits of data, whereas the previous frame F(n−1)[7:4] has a grayscale resolution of 16 by having only 4 bits of data. Thus, the grayscale resolution ratio of the current frame F(n)[7:0] and the previous frame F(n−1)[7:4] is 16, and so the sum of each set of filter coefficients corresponds to 16. In fact, the grayscale resolution ratio of the current frame F(n)[7:0] and the previous frame F(n−1)[7:4] equals the grayscale resolution of the truncated data of the previous frame. In this embodiment, the previous frame is truncated by 4 bits of data, which represents 16 levels of grayscale. It is concluded that the sum of each set of filter coefficients is physically determined by the bit count of the truncated data of the previous frame. In Step  223 , the low-pass filter  223  performs the image smoothing process on the target block according to the set of filter coefficients to eliminate the discontinuous gradient and to repair the data of the previous frame F(n−1)[7:4]. 
     For example, the target block includes pixels P n−7  to P n+7 . The coefficient selecting unit  122  determines the pixel value distribution of the pixels P n−1  to P n+7  of the target block according to the edge detection result to accordingly determine a filter interval from the target block and a set of filter coefficients. When performing Step  221 , the edge detecting unit  121  subtracts a pixel value of every two neighboring pixels from the other in the pixels P n−7  to P n+7  to respectively obtain a pixel difference. The pixel differences may be represented by pixel differences D n−6  to D n+7 . For example, the pixel difference D n−6  equals the pixel value P n−5  subtracted from P n−6 , the pixel difference D n+7  equals the pixel value P n+6  subtracted from P n+7 , and so forth. 
     The coefficient selecting unit  122  determines whether the pixel value distribution of the pixels P n−7  to P n+7  is monotonically increasing or monotonically decreasing according to the pixel differences D n−6  to D n+7 , and determines whether an absolute value of the pixel difference between the pixel P n+7  and the pixel P n−7  is not greater than a threshold. The pixel difference between the pixel P n+7  and the pixel P n−7  is the foregoing neighboring pixel difference. When the pixel value distribution of the pixels P n−7  to P n+7  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixel P n+7  and the pixel P n−7  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[1 1 1 1 1 1 1 2 1 1 1 1 1 1 1]. The coefficient selecting unit  122  further determines that the filter interval is 15 taps. After determining the filter coefficients and the filter interval, the low-pass filter  223  generates a pixel value of a target pixel in the target interval according to the set of filter coefficients and the pixel values of the pixels in the filter interval. In this example, the low-pass filter  223  generates the pixel value of a target pixel according to the pixel values of 15 pixels in the filter interval and the corresponding filter coefficients. For example, the target pixel is a middle pixel in the filter interval. 
     Conversely, when the pixel value distribution of the pixels P n−7  to P n+7  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−7  and P n+7  is greater than the threshold, the coefficient selecting unit  122  decreases the filter interval. 
     The coefficient selecting unit  122  then determines whether the pixel value distribution of the pixels P n−6  to P n+6  is monotonically increasing or monotonically decreasing according to the pixel differences D n−5  to D n+6 , and determines whether the neighboring pixel difference between the pixels P n−6  and P n+6  is not greater than a threshold. When the pixel value distribution of the pixels P n−6  to P n+6  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixels P n−6  and P n+6  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 1 1 1 1 1 2 2 2 1 1 1 1 1 0]. The coefficient selecting unit  122  further changes the filter interval from 15 taps to 13 taps. 
     Conversely, when the pixel value distribution of the pixels P n−6  to P n+6  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−6  and P n+6  is greater than the threshold, the coefficient selecting unit  122  determines whether the pixel value distribution of the pixels P n−5  to P n+5  is monotonically increasing or monotonically decreasing according to the pixel differences D n−4  to D n+5 , and determines whether the neighboring pixel difference between the pixels P n−5  and P n+5  is not greater than a threshold. When the pixel value distribution of the pixels P n−5  to P n+5  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixels P n−5  and P n+5  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 0 1 1 1 2 2 2 2 2 1 1 1 0 0]. The coefficient selecting unit  122  further changes the filter interval from  13  taps to  11  taps. 
     Conversely, when the pixel value distribution of the pixels P n−5  to P n+5  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−5  and P n+5  is greater than the threshold, the coefficient selecting unit  122  determines whether the pixel value distribution of the pixels P n−4  to P n+4  is monotonically increasing or monotonically decreasing according to the pixel differences D n−3  to D n+4 , and determines whether the neighboring pixel difference between the pixels P n−4  and P n+4  is not greater than a threshold. When the pixel value distribution of the pixels P n−4  to P n+4  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixels P n−4  and P n+4  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 0 0 1 2 2 2 2 2 2 2 1 0 0 0]. The coefficient selecting unit  122  further changes the filter interval from 11 taps to 9 taps. 
     Conversely, when the pixel value distribution of the pixels P n−4  to P n+4  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−4  and P n+4  is greater than the threshold, the coefficient selecting unit  122  determines whether the pixel value distribution of the pixels P n−3  to P n+3  is monotonically increasing or monotonically decreasing according to the pixel differences D n−2  to D n+3 , and determines whether the neighboring pixel difference between the pixels P n−3  and P n+3  is not greater than a threshold. When the pixel value distribution of the pixels P n−3  to P n+3  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixels P n−3  and P n+3  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 0 0 0 2 2 2 4 2 2 2 0 0 0 0]. The coefficient selecting unit  122  further changes the filter interval from 9 taps to 7 taps. 
     Conversely, when the pixel value distribution of the pixels P n−3  to P n+3  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−3  and P n+3  is greater than the threshold, the coefficient selecting unit  122  determines whether the pixel value distribution of the pixels P n−2  to P n+2  is monotonically increasing or monotonically decreasing according to the pixel differences D n−1  to D n+2 , and determines whether the neighboring pixel difference between the pixels P n−2  and P n+2  is not greater than a threshold. When the pixel value distribution of the pixels P n−2  to P n+2  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixels P n−2  and P n+2  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 0 0 0 0 2 4 4 4 2 0 0 0 0 0]. The coefficient selecting unit  122  further changes the filter interval from 7 taps to 5 taps. 
     Conversely, when the pixel value distribution of the pixels P n−2  to P n+2  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−2  and P n+2  is greater than the threshold, the coefficient selecting unit  122  determines whether the pixel value distribution of the pixels P n−1  to P n+1  is monotonically increasing or monotonically decreasing according to the pixel differences D n  to D n+1 , and determines whether the neighboring pixel difference between the pixels P n−1  and P n+1  is not greater than a threshold. When the pixel value distribution of the pixels P n−1  to P n+1  is monotonically increasing or monotonically decreasing and the neighboring pixel difference between the pixels P n−1  and P n+1  is not greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 0 0 0 0 0 4 8 4 0 0 0 0 0 0]. The coefficient selecting unit  122  further changes the filter interval from 5 taps to 3 taps. 
     Conversely, when the pixel value distribution of the pixels P n−1  to P n+1  is not monotonically increasing or monotonically decreasing, or when the neighboring pixel difference between the pixels P n−1  and P n+1  is greater than the threshold, the coefficient selecting unit  122  selects a corresponding set of filter coefficients Coef=[0 0 0 0 0 0 0 16 0 0 0 0 0 0 0]. The coefficient selecting unit  122  further changes the filter interval from 3 taps to 1 tap. When the coefficient selecting unit  122  selects the set of filter coefficients Coef=[0 0 0 0 0 0 0 16 0 0 0 0 0 0 0], it means the low-pass filter  123  does not perform low-pass filter. 
     The above examples can be implemented by a processor executing the code below: 
         Dn=Pn−Pn− 1 
     If {(((Dn−6˜Dn+7)&gt;=0 or ((Dn−6˜Dn+7)&lt;=0))&amp;(abs(Pn+7-Pn−7)&lt;=1))} 
       Coef=[1 1 1 1 1 1 1 2 1 1 1 1 1 1 1] 
     else if {(((Dn−5˜Dn+6)&gt;=0 or ((Dn−5˜Dn+6)&lt;=0))&amp;abs(Pn+6-Pn−6)&lt;=1))} 
       Coef=[0 1 1 1 1 1 2 2 2 1 1 1 1 1 0] 
     else if {(((Dn−4˜Dn+5)&gt;=0 or ((Dn−4˜Dn+5)&lt;=0))&amp;(abs(Pn+5-Pn−5)&lt;=1))} 
       Coef=[0 0 1 1 1 2 2 2 2 2 1 1 1 0 0] 
     else if {(((Dn−3˜Dn+4)&gt;=0 or ((Dn−3˜Dn+4)&lt;=0))&amp;(abs(Pn+4-Pn−4)&lt;=1))} 
       Coef=[0 0 0 1 2 2 2 2 2 2 2 1 0 0 0] 
     else if {(((Dn−2˜Dn+3)&gt;=0 or ((Dn−2˜Dn+3)&lt;=0))&amp;(abs(Pn+3-Pn−3)&lt;=1))} 
       Coef=[0 0 0 0 2 2 2 4 2 2 2 0 0 0 0] 
     else if {(((Dn−1˜Dn+2)&gt;=0 or ((Dn−1˜Dn+2)&lt;=0))&amp;(abs(Pn+2-Pn−2)&lt;=1))} 
       Coef=[0 0 0 0 0 2 4 4 4 2 0 0 0 0 0] 
     else if {(((Dn˜Dn+1)&gt;=0 or ((Dn˜Dn+1)&lt;=0))&amp;(abs(Pn+1-Pn−1)&lt;=1))} 
       Coef=[0 0 0 0 0 0 4 8 4 0 0 0 0 0 0] 
     else Coef=[0 0 0 0 0 0 0 16 0 0 0 0 0 0 0] 
     With the above description of the embodiment, it is illustrated that the image processing apparatus and the image processing method of the present invention are capable of eliminating the discontinuous gradient caused by the truncated data in the previous frame, thereby effectively enhancing the image quality as well as increasing product competitiveness. 
     While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.