Abstract:
An image interpolation apparatus to interpolate an input image signal having a first resolution into an output image signal having a second resolution according to a predetermined resolution conversion ratio includes a frequency determiner to detect a variation in a frequency of the input image signal to determine a frequency domain that corresponds to the input image signal, a controller to calculate interpolation positions of the input image signal according to the predetermined resolution conversion ratio, a coefficient storage to store interpolation coefficients that correspond to the interpolation positions, an interpolation filter to receive the interpolation coefficients from the coefficient storage and to interpolate the input image signal accordingly, and an interpolation value corrector to correct the output image signal interpolated from the input image signal output from the interpolation filter based on information as to the frequency domain of the input image signal determined by the frequency determiner.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of Korean Patent Application No. 2004-47156 filed Jun. 23, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present general inventive concept relates to an image interpolation apparatus and method, and more particularly, to an image interpolation apparatus and a method of improving characteristics of an edge portion of an image signal. 
     2. Description of the Related Art 
     In general, when an image display device receives an image having a resolution that is different from a resolution that is preset in the image display device, the image display device is required to convert the resolution of the image to match the preset resolution of the image display device. 
     If the resolution of the image input to the image display device is different from the preset resolution of the image display device, the resolution of the image is converted by either increasing or decreasing a number of pixels of the input image to interpolate (i.e., upscale) or decimate (i.e., downscale) the resolution of the image, respectively. The conversion of the image is typically referred to as scaling or format conversion. In particular, if an image having a lower resolution than the preset resolution of the image display device is input thereto, the image display device uses a linear interpolation method to vertically and/or horizontally upscale the lower resolution of the image to match the preset resolution. 
     The linear interpolation method can include a bi-linear interpolation method, a cubic convolution interpolation method, and the like.  FIGS. 1A and 1B  are views illustrating the bi-linear interpolation method and the cubic convolution interpolation method respectively used by a conventional image interpolation apparatus. The bi-linear interpolation method and the cubic convolution interpolation method use a finite impulse response (FIR) filter to convert an input image signal into a frequency domain and then filter the frequency domain image signal using weights of pixels that neighbor an interpolation position (i.e., a pixel being interpolated). As a result, upscaled interpolation data is output. For example, in the bi-linear interpolation method, input image signals are interpolated using 2-tab filtering as illustrated in  FIG. 1A . In other words, the bi-linear interpolation method is performed using two pixels that neighbor a position to be interpolated (i.e., a pixel). 
     In the cubic convolution interpolation method, input image signals are interpolated using 4-tab filtering as illustrated in  FIG. 1B . In other words, the cubic convolution interpolation method is performed using four pixels that neighbor a position to be interpolated. However, the conventional image interpolation apparatus typically performs interpolation using only one interpolation method (i.e., one preset filtering). Thus, image quality in each frequency domain of an image signal may deteriorate. For example, when the conventional image interpolation apparatus interpolates an input image signal using the cubic convolution interpolation method, image quality may not deteriorate in portions of the image having high frequency components. However, when the conventional image interpolation apparatus interpolates the input image signal using the bi-linear interpolation method, image quality may deteriorate in portions of the image having the high frequency components. 
     Most image display devices typically use the cubic convolution interpolation method, a convolution type image interpolation method (e.g., a sinc interpolation method), or both the cubic convolution interpolation method and the convolution type image interpolation method. When the image display devices selectively adopt the cubic convolution interpolation method or the sinc interpolation method to reproduce an image, it can be difficult to reduce blurring occurring in an edge portion of the image. 
     When the cubic convolution interpolation method is used, a ringing phenomenon hardly occurs in an edge area of an image signal but a blurring phenomenon occurs in the edge area. When the sinc interpolation method is used, a frequency characteristic is good in a low frequency domain (i.e., a domain in which a change in the image is low) but ringing may occur in the edge area.  FIG. 2  is a graph illustrating response characteristics of a square wave A according to the cubic convolution interpolation method. As illustrated in  FIG. 2 , the cubic convolution interpolation method is used with respect to the square wave A, blurring represented by a line graph B occurs in the edge portion. Thus, image quality of the edge portion deteriorates. When the sinc interpolation method is used with respect to the square wave A, ringing represented by a line graph C occurs in the edge area. 
     Accordingly, when the conventional image reproducing apparatus reproduces an image by selectively using the cubic convolution interpolation method or the sinc interpolation method, it becomes necessary to determine a method of reducing a blurring that occurs in the edge portion when the cubic convolution interpolation method is used. 
     When the cubic convolution interpolation method is used with respect to an image signal, blurring occurs in the edge portion of the image signal. However, an 8-tab poly phase interpolation method, which is a type of sinc interpolation method, can be used to reduce blurring in the edge portion. However, in this case, ringing occurs in the edge area. 
     SUMMARY OF THE INVENTION 
     The present general inventive concept provides an image interpolation apparatus to minimize blurring occurring in an edge area of an image signal and to reduce ringing occurring in the edge area of the image signal by adopting a sinc interpolation method. 
     Additional aspects of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept. 
     The foregoing and/or other aspects of the present general inventive concept may be achieved by providing an image interpolation apparatus to interpolate an input image signal having a first resolution into an output image signal having a second resolution according to a predetermined resolution conversion ratio, including a frequency determiner to detect a variation in a frequency of the input image signal to determine a frequency domain that corresponds to the input image signal, a controller to calculate interpolation positions of the input image signal according to the predetermined resolution conversion ratio, a coefficient storage to store interpolation coefficients that correspond to the interpolation positions, an interpolation filter to receive the interpolation coefficients from the coefficient storage and to interpolate the input image signal accordingly, and an interpolation value corrector to correct the output image signal interpolated from the input image signal output from the interpolation filter based on information as to the frequency domain of the input image signal determined by the frequency determiner. 
     The interpolation filter may include: a plurality of delay cells to delay the input image signal for a predetermined period of time and to output the delayed image signal, a plurality of multipliers to multiply the input image signal output from the plurality of delay cells by the interpolation coefficients output from the coefficient storage and to output a plurality of interpolation data, and an adder to add the plurality of interpolation data output from the plurality of multipliers to generate the output image signal. Interpolation values output from at least two multipliers of the plurality of multipliers may be provided to the interpolation value corrector. 
     The interpolation values output from the at least two multipliers may be luminance values of the input image signal. 
     The interpolation value corrector may calculate a difference value between the interpolation values output from the at least two multipliers and an output value of the interpolation filter and multiply the difference value by a predetermined weight to correct the interpolation values. 
     If an output value of the interpolation filter is larger than the interpolation values output from the at least two multipliers, the interpolation value corrector may determine the output value of the interpolation filter as being an under-shoot. 
     If an output value of the interpolation filter is smaller than the interpolation values output from the at least two multipliers, the interpolation value corrector may determine the output value of the interpolation filter as being an over-shoot. 
     The predetermined weight may be a value between “0” and “1.” 
     The interpolation value corrector may determine the input image signal as one of a high frequency domain and a low frequency domain according to the determination made by the frequency determiner. 
     If the interpolation value corrector determines the input image signal is in the high frequency domain, the interpolation value corrector may select the output value of the interpolation filter as the output image signal. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and/or other aspects and advantages of the present general inventive concept will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which: 
         FIGS. 1A and 1B  are views illustrating 2-tab filtering methods of interpolating an input image signal using a conventional image interpolation apparatus; 
         FIG. 2  is a graph illustrating response characteristics of a square wave according to a cubic convolution interpolation method; 
         FIG. 3  is a block diagram illustrating an image interpolation apparatus according to an embodiment of the present general inventive concept; and 
         FIG. 4  is a view illustrating a method of generating interpolation coefficients according to interpolation positions calculated by a controller of the image interpolation apparatus of  FIG. 3 . 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept by referring to the figures. 
       FIG. 3  is a block diagram illustrating an image interpolation apparatus according to an embodiment of the present general inventive concept. Referring to  FIG. 3 , the image interpolation apparatus of the present general inventive concept includes a frequency determiner  200 , a controller  300 , a coefficient storage  400 , an interpolation filter  500 , and an interpolation value corrector  600 . 
     In general, an apparatus that upscales a resolution of an input image signal by increasing a number of pixels using a predetermined interpolation method may be called a “scaler,” a “format converter,” an “image upscaler,” or the like, but hereinafter, is referred to as an “image interpolation apparatus.” 
     The controller  300  upscales or downscales an input image signal having a first resolution to an output image signal having a second resolution according to a conversion ratio of a preset resolution. In other words, the controller  300  compares a magnitude of the input image signal with a magnitude of the output image signal according to the conversion ratio of the preset resolution and selects coefficients stored in the coefficient storage  400  according to comparison result. 
     The coefficient storage  400  provides the coefficients selected by the controller  300  to the interpolation filter  500 . The interpolation filter  500  may be an 8-tab poly phase filter. The 8-tab poly phase filter uses 8 input image signals to interpolate the output image signal from the input image signal. 
     The interpolation filter  500  includes a plurality of delay cells  500   a  through  500   g  and a plurality of multipliers  501   a  through  501   h  to multiply signals output from the delay cells  500   a  through  500   g  by the coefficients respectively provided by the coefficient storage  400  to the multipliers  501   a  through  501   h . The interpolation filter  500  further adds the multiplication results and generates the output image signal from the input image signal. 
     The frequency determiner  200  analyzes increases and decreases of luminance levels among sequentially input image signals. The frequency determiner  200  determines the input image signals as high and low frequency domains based on a number of times luminance values of the input image signals are suddenly changed. For example, when mosaic type image signals are sequentially input to the frequency determiner  200 , luminance levels of the mosaic type image signals are substantially changed several times. Thus, the frequency determiner  200  determines that the mosaic type image signals are image signals in the high frequency domain. If image signals input to the frequency determiner  200  are slightly changed or are changed at edge portions thereof, the luminance levels of the input image signals are hardly changed. Thus, the frequency determiner  200  determines that the input image signals that are hardly changed are image signals in the low frequency domain. When the frequency determiner  200  determines that the input image signals are in the low frequency domain, the frequency determiner  200  generates a control signal SH_CONTL_FLAG having a logic “high” level. When the frequency determiner  200  determines that the input image signal is in the high frequency domain, the frequency determiner  200  generates the control signal SH_CONTL_FLAG having a logic “low” level. The frequency determiner  200  transmits the control signal SH_CONTL_FLAG to the interpolation value corrector  600 . Although the frequency determiner  200  has been described as generating the control signals having the logic “high” and “low” levels, it should be understood that other control signals (having different logic values) may also be used with the present general inventive concept. 
     The interpolation value corrector  600  corrects an interpolation value PRO OUT output from the interpolation filter  500  with reference to a value of the control signal SH_CONTL_FLAG output from the frequency determiner  200  and interpolation data output from two of the multipliers  501   a  through  501   h  of the interpolation filter  500 . For example, the two multipliers may be  501   d  and  501   e . The correction of the interpolation value PRO OUT may be performed using a method illustrated by Table 1 below. 
     
       
         
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
             
             
               
                   
                 SH_CONTL_FLAG = “ON” 
               
               
                   
                  if PRO OUT &gt; max{DI, D2} //over-shoot// 
               
               
                   
                  DATA OUT = W * max {D1, D2} + (1−W) * PRO OUT 
               
               
                   
                  if PRO OUT &lt; min {DI, D2} //under-shoot// 
               
               
                   
                  DATA OUT = W * min {D1, D2} + (1−W) * PRO OUT 
               
               
                   
                  else 
               
               
                   
                  DATA OUT = PRO OUT 
               
               
                   
                  SH_CONTL_FLAG = “OFF” 
               
               
                   
                  DATA OUT = PRO OUT 
               
               
                   
                   
               
             
          
         
       
     
     As illustrated by Table 1, when the control signal SH_CONTL_FLAG output from the frequency determiner  200  is logic “high” (i.e., “ON”) the interpolation value corrector  600  compares a maximum value of the interpolation data output from the multipliers  501   d  and  501   e  (i.e., D 1  and D 2 ) with the output interpolation value PRO OUT of the interpolation filter  500 . If the output interpolation value PRO OUT of the interpolation filter  500  is greater than the interpolation data output from the multipliers  501   d  and  501   e  D 1  and D 2 , the interpolation value corrector  600  adds a first value obtained by multiplying the interpolation data output from the multipliers  501   d  and  501   e  D 1  and D 2  by a weight W to a second value obtained by multiplying the output interpolation value PRO OUT of the interpolation filter  500  by a weight of 1-W. The interpolation value corrector  600  then outputs the sum of the first value and the second value as an output image signal (i.e., DATA OUT). If the output interpolation value PRO OUT of the interpolation filter  500  is less than the interpolation data output from the multipliers  501   d  and  501   e  D 1  and D 2 , the interpolation value corrector  600  adds a third value obtained by multiplying a minimum value of the interpolation data output from the multipliers  501   d  and  501   e  D 1  and D 2  by the weight W and a fourth value obtained by multiplying the output interpolation value PRO OUT of the interpolation filter  500  by the weight of 1-W. The interpolation value corrector  600  then generates the sum of the third and fourth values as the output image signal DATA OUT. 
     An example of the operation of the interpolation value corrector  600  will now be described with reference to Table 1 above. 
     If luminance values of D 1  and D 2  (i.e., the interpolation data output from the multipliers  501   d  and  501   e ) are respectively “100” and “110,” a luminance value of the interpolation value output from the interpolation filter  500  (i.e., PRO OUT) is “130,” and the weight W is “0.5,” the luminance values of D 1  and D 2  are an overshoot compared to the output interpolation value PRO OUT of the interpolation filter  500 . Thus, according to the method illustrated by Table 1 above, a first value obtained by multiplying the luminance value “110” of D 2  as a maximum value of the luminance values of D 1  and D 2  by the weight “0.5” is added to a second value obtained by multiplying the output interpolation value PRO OUT of the interpolation filter  500  by the weight of 1-W. This can be expressed in Equation 1 below:
 
DATA-OUT=(0.5·110)+(1−0.5)·130=120  (1)
 
     In other words, the output interpolation value PRO OUT of the interpolation filter  500  is reduced in order to relieve over-shooting. Here, the output interpolation value PRO OUT, the interpolation data D 1  and D 2  of the interpolation filter  500 , and the output of the interpolation value corrector  600  DATA-OUT can be luminance values. 
     In another example, if the luminance values of D 1  and D 2  (i.e., the interpolation data output from the multipliers  501   d  and  501   e ) are respectively “140” and “130,” the luminance level of the output interpolation value PRO OUT output from the interpolation filter  500  is “120”, and the weight W is “0.5”, the luminance values of D 1  and D 2  are an under-shoot compared to the output interpolation value PRO OUT of the interpolation filter  500 . Thus, according to the method illustrated by Table 1 above, a third value obtained by multiplying the luminance value “130” of D 2  as a minimum value of the luminance values of D 1  and D 2  by the weight “0.5” is added to a fourth value obtained by multiplying the output interpolation value PRO OUT of the interpolation filter  500  by the weight of 1-W. This can be expressed in Equation 2 below:
 
DATA-OUT=(0.5·130)+(1−0.5)·130=130  (2)
 
     In other words, the output interpolation value PRO OUT of the interpolation filter  500  is increased to relieve under-shooting. 
       FIG. 4  is a view illustrating a method of generating interpolation coefficients according to interpolation positions (i.e., pixels that are to be interpolated) calculated by the controller  300  illustrated in  FIG. 4 . Referring to  FIG. 4 , in an 8-tab kernel, 8 input image signals are used in interpolation. The 8 input image signals may be sequentially related. Additionally, if a plurality of interpolation positions are (p−4), (p−3), (p−2), (p−1), (p), (p+1), (p+2), and (p+3), a plurality of interpolation coefficients to obtain final interpolation data are f(p−4), f(p−3), f(p−2), f(p−1), f(p), f(p+1), f(p+2), and f(p+3). Here, “p” denotes a relative position value between tabs. 
     The interpolation coefficients are calculated in advance using the 8-tab kernel and are stored in the coefficient storage  400 . For example, if an interval between tabs is divided into 32 sections, interpolation positions between the tabs have relative position values of 0, 1/32, 2/32, 3/32, . . . , 31/32, and 1, and vertical and/or horizontal interpolation coefficients that correspond to the interpolation positions are pre-calculated and stored in the coefficient storage  400 . Alternatively, the interval between the tabs may be divided into 16 sections, 64 sections, or the like. The calculation of interpolation positions and filter coefficients for the interpolation positions according to a conversion ratio of a preset resolution should be well known to those of ordinary skill in the art and thus will not be described in detail herein. 
     The various embodiments of the present general inventive concept can be embodied in software, hardware, or a combination thereof. Various embodiments can be embodied as computer programs and can be implemented in general-use digital computers that execute the programs using a computer readable recording medium. Examples of the computer readable recording medium include magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.), and optical recording media (e.g., CD-ROMs, DVDs, etc.). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer programs are stored and executed in a distributed fashion. 
     As described above, in an image interpolation apparatus according to various embodiments of the present general inventive concept, a frequency of an input image signal can be considered while converting a resolution of the input image signal into another resolution to correct an output value of an interpolation filter. Thus, over-shooting and under-shooting can be reduced. Additionally, the image interpolation apparatus can calculate a difference value between interpolation data generated by the interpolation filter and the output value of the interpolation filter and multiply the difference value by a weight in order to correct the output interpolation value. As a result, a deterioration in image quality that results from over-shooting and/or under-shooting can be prevented. 
     Although a few embodiments of the present general inventive concept have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the appended claims and their equivalents.