Abstract:
A method of spatially filtering an image using an adaptive convolution filter is disclosed. The adaptive convolution filter has two major properties. First, size of the convolution filter adapts to the resolution density of the image being filtered. Second, values of the filter dynamically vary depending on an adaptive value that, in turn, depends on the output resolution.

Description:
BACKGROUND 
     The present invention relates to the art of processing digital images. More particularly, the present invention relates to the art of image filtering techniques for visual enhancement of digital prints and photographs. 
     Many techniques exist for processing and filtering signals, especially signals representing two-dimensional (2D) images. As the 2D images are increasingly digitized and computerized, it becomes easier to apply many more different filtering techniques than before. Digitized images are typically represented by an array (typically but not necessarily rectangular) of pixels, each pixel represented by a digital value and representing a smallest unit of the digital image. 
     Spatial filtering is the filtering of an image in the spatial domain. That is, the value of each pixel of the image is modified in contextual relationship to neighboring pixels. Typically, spatial filtering is used to remove noise, to enhance the image, to manipulate the image into some more visually attractive form, or any combination of these. For example, a low pass filter, applied to an image, smoothes the image by removing finer details such as noise but will also blur image detail. 
     On the other hand, a high pass filter removes low spatial frequencies while retaining (“passing”) high frequency information. This tends to highlight edges and other sharp boundaries. Because of human visual perception consideration, an image having enhanced high frequency components appears sharper than an image without enhanced high frequency components. The following is a typical high pass filter in a 3×3 (conservative) kernel:                           
     Filters are not limited to 3×3 in size, and the values of each component of the kernel may be different to achieve different filtering effects. However, because such filters are rectangular in configuration, they tend to amplify the grid-nature, or digital-ness, of the image they are filtering. 
     Further, filters of this nature are not necessarily matched in either scale (or strength) or spatial extent to the natural visual scale that is optimum for viewing the digital form of the image. 
     Consequently, there is a need for a technique and apparatus for filtering images overcoming these shortcomings of the current art and matching the digital image in scale and extent to the optimum visual characteristics as viewed. 
     SUMMARY 
     The need is met by the present invention. According to one aspect of the present invention, a method of processing an image includes spatially filtering the image using an adaptive convolution filter. 
     According to another aspect of the invention, an apparatus for processing an image includes a processor and storage connected to the processor. The storage includes instructions for the processor to filter the image using an adaptive convolution filter. 
     Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in combination with the accompanying drawings, illustrating by way of example the principles of the invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified diagram of a computing apparatus used to implement one embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION 
     As shown in the drawings for purposes of illustration, the present invention is embodied in a method of processing an image by spatially filtering the image using an adaptive and circular-symmetric-approximating convolution filter. Because the convolution filter is adaptive to the underlying spatial resolution (in dots per inch, or dpi) of the image, output resolution density (also in dpi), or both, the degree of filtering can be controlled for maximal enhancement according to the needs of teach individual image. In this document, for convenience, phrase “circular filter” or “circular convolution filter” are used in place of and with the same meaning as “circular-symmetric-approximating filter.” 
     Convolution Filter Adaptive to Output Interval 
     TABLE 1 below illustrates one embodiment of the adaptive convolution filter, which is shown as a five-by-five (5×5) filter. 
     
       
         
               
               
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
             
             
               
                  0 
                  0 
                 −2A 
                  0 
                  0 
               
               
                  0 
                  −9A 
                 −14A 
                  −9A 
                 0 
               
               
                 −2A 
                 −14A 
                   C 
                 −14A 
                 −2A 
               
               
                  0 
                  −9A 
                 −14A 
                  −9A 
                 0 
               
               
                  0 
                  0 
                  −2A 
                  0 
                 0 
               
               
                   
               
             
          
         
       
     
     where C is 101 plus an adaptive value (designated herein as X for brevity) and A is (C−1)/100). 
     Note that in this example, this convolution filter is conservative (sums to 1) for any value of X. The image-specific value X may be any positive value, and may depend upon the density (“output density” or “output interval”) at which the image is to be printed or displayed at an output device, in addition to the sharpening need of the image under application of the filter. For example, for printing at 300 dpi, the adaptive value may typically range from ten to 40 or higher. TABLE 2 below illustrates adaptive values typically usable for image sharpening. 
     
       
         
               
               
               
             
               
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
             
             
               
                   
                   
               
               
                   
                 Resolution 
                 Adaptive X-value Range 
               
             
          
           
               
                   
                 Density (dpi) 
                 Moderate 
                 Strong 
                 Aggressive 
               
               
                   
                   
               
             
          
           
               
                   
                 300 
                 40 
                 20 
                 10 
               
               
                   
                 200 
                 80 
                 40 
                 20 
               
               
                   
                 150 
                 160 
                 80 
                 40 
               
               
                   
                  75 
                 320 
                 160 
                 80 
               
               
                   
                 Any 
                 10 
                 5 
                 −1 
               
               
                   
                   
               
             
          
         
       
     
     For instance, if the image is to be printed at 150 dpi, then, using the adaptive value of 160 for moderate filtering effect, TABLE 3A below illustrates the filter of TABLE 1 with the adaptive value 160. 
     
       
         
               
               
               
               
               
             
           
               
                 TABLE 3A 
               
               
                   
               
             
             
               
                 0 
                 0 
                  −2*(C/100) 
                 0 
                 0 
               
               
                 0 
                 0 
                  −9*(C/100) 
                 0 
                 0 
               
               
                 0 
                  −9*(C/100) 
                 −14*(C/100) 
                  −9*(C/100) 
                 0 
               
               
                 −9*(C/100) 
                 −14*(C/100) 
                 101 + 160 
                 −14*(C/100) 
                 −9*(C/100) 
               
               
                 0 
                  −9*(C/100) 
                 −14*(C/100) 
                  −9*(C/100) 
                 0 
               
               
                 0 
                 0 
                  −2*(C/100) 
                 0 
                 0 
               
               
                   
               
             
          
         
       
     
     Where C=101+160 and A=C/100 resulting in values in TABLE 3B below: 
     
       
         
               
               
               
               
               
             
           
               
                 TABLE 3B 
               
               
                   
               
             
             
               
                 0 
                 0 
                 −5.2 
                  0 
                 0 
               
               
                 0 
                 −23.4 
                 −36.4 
                 −23.4 
                 0 
               
               
                 −5.2 
                 −36.4 
                 261 
                 −36.4 
                 −5.2 
               
               
                 0 
                 −23.4 
                 −36.4 
                 −23.4 
                 0 
               
               
                 0 
                 0 
                 −5.2 
                 0 
                 0 
               
               
                   
               
             
          
         
       
     
     In one embodiment, the values of the adaptive convolution filter sum to one. However, this is not required to practice the present invention, and values that do not sum to one may be used for special purposes, such as an accompanying general lightening or darkening of the image. For instance, for a 5×5 filter similar to the filter illustrated by TABLE 1 having C=100+X instead of C=101+X may be used. In this case, the values of the filter sum to a zero. Such filters may be used for diagnosis of the underlying image structure by effectively contouring the image. 
     Convolution Filter Adaptive to Resolution Density 
     The adaptive convolution filter is adaptive in another aspect. That is, the size and the values of the convolution filter are adaptable to the underlying spatial resolution (“resolution interval”) of the image. This is independent of the output interval. The resolution interval is that at which the image is to be printed or viewed. 
     For example, the filter illustrated by TABLES 1 or 3B above may be used for a 300 dpi image. For another, a second, image having resolution density of 600 dpi, a seven-by-seven (7×7) filter may be used. TABLE 4 illustrates a 7×7 filter that may be used to process a 600 dpi image. 
     
       
         
               
               
               
               
               
               
               
             
           
               
                 TABLE 4 
               
               
                   
               
             
             
               
                 0 
                 0 
                 0 
                 −15A 
                 0 
                 0 
                 0 
               
               
                 0 
                 −15A 
                 −50A 
                 −70A 
                 −50A 
                 −15A 
                 0 
               
               
                 0 
                 −50A 
                 0 
                 (100 + X)A 
                 0 
                 −50A 
                 0 
               
               
                 −15A 
                 −70A 
                 (100 + X)A 
                 401 + 4X 
                 (100 + X)A 
                 −70A 
                 −15A 
               
               
                 0 
                 −50A 
                 0 
                 (100 + X)A 
                 0 
                 −50A 
                 0 
               
               
                 0 
                 −15A 
                 −50A 
                 −70A 
                 −50A 
                 −15A 
                 0 
               
               
                 0 
                 0 
                 0 
                 −15A 
                 0 
                 0 
                 0 
               
               
                   
               
             
          
         
       
     
     where X is the adaptive value, C=401+4X, and A (C−1)/400. Note that, in this example, the filter is conservative for any value of x 
     To filter images having even higher resolution interval, even larger adaptive convolution filters may be used. For instance, for 1200 dip images, a nine-by-nine adaptive filter or an even larger filter may be used. 
     Alternatively, the resolution interval of an image may be changed (reduced or increased) for the application of the adaptive convolution filter. For instance, a 1200 dpi image may be changed to a 300 dpi image for application of the 5×5 filter of TABLE 1. On the other hand, a 150 dpi image may be changed to a 300 dpi image for application of the 5×5 filter of TABLE 1. Standard extrapolation and interpolation techniques for changing the resolution interval of digitized images are known in the art. 
     Computer Implementing Adaptive Convolution Filter 
     Referring to FIG. 1, a computing apparatus  10  implementing one embodiment of the present invention is illustrated. The apparatus  10  includes a processor  12 , for example a central processing unit connected to storage  14 . The storage  14  includes image files  16 , instructions  18  for the processor  12 , or both. The instructions  18  include instructions for the processor  12  to filtering the image  14  using an adaptive convolution filter described herein above including, but not limited to, all aspects of the filtering technique and the properties of the filters. 
     The processor  12  and the storage  14  may be connected to each other via a system bus  20 . Output devices such as a monitor  22 , a printer  24 , or both may be connected to the system  10  via the system bus  20 . Capabilities of these output devices  22  and  24  determine display density of the images  14  filtered by the processor  12 . 
     From the foregoing, it will be appreciated that the present invention is novel and offers advantages over the current art. Although a specific embodiment of the invention is described and illustrated above, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. For example, other sizes of the adaptive convolution filters may be used to achieve similar results. The invention is limited by the claims that follow.