Abstract:
Picture elements of a digitally coded image are each represented by a color value. The value of an element x is adjusted by firstly making a number of comparisons between elements elsewhere in the image. This comparison involves comparing a first picture element group (which may comprise the picture element x under consideration and at least one further picture element in the vicinity thereof) with a second picture element group. The second picture element group comprises a base picture element y and at least one further picture element, the number of picture elements in the second group being the same as the number of picture elements in the first group and the position of each further element of the second group relative to the base picture element of the second group being the same as the position of the respective further element of the first group relative to the picture element under consideration. The comparison determines whether the two groups match in the sense that they meet a criterion of similarity. When at least one comparison results in a match, a replacement color value for the picture element under consideration is generated, as a function of the color value for the base picture element of the second group for which a match was obtained.

Description:
This application is the U.S. national phase of international application PCT/GB2004/005049 filed 1 Dec. 2004 which designated the U.S. and claims benefit of GB 0328326.4, dated 5 Dec. 2003, the entire content of which is hereby incorporated by reference. 
   BACKGROUND 
   1. Technical Field 
   The present invention is concerned with image processing. 
   2. Related Art 
   There is extensive prior art in the filed of image processing. One example is Brett, U.S. Pat. No. 5,850,471, directed to high-definition digital video processing, wherein a given pixel value is compared to its neighbors and, under certain conditions, is replaced by an average value. In effect, this is a smoothing filter that may be used to remove noise. Other prior art is discussed below. 
   BRIEF SUMMARY 
   According to the present exemplary embodiments, there is provided a method of processing a digitally coded image in which picture elements are each represented by a color value, comprising, for each of a plurality of said picture elements: 
   (a) performing a plurality of comparisons, each comparison comprising comparing a first picture element group which comprises the picture element under consideration and at least one further picture element in the vicinity thereof with a second picture element group which comprises a base picture element and at least one further picture element, the number of picture elements in the second group being the same as the number of picture elements in the first group and the position of the or each further element of the second group relative to the base picture element of the second group being the same as the position of the or a respective further element of the first group relative to the picture element under consideration, wherein each comparison determines whether the two groups match in the sense that they meet a criterion of similarity; and 
   (b) when at least one comparison results in a match, computing a replacement color value for the picture element under consideration, the replacement color value being a function of the color value for the base picture element of the or each second group for which a match was obtained. 
   Preferably, the method includes identifying picture elements which meet a criterion of distinctiveness, and computing a replacement color value only for picture elements not meeting the distinctiveness criterion. 
   Other, preferred, aspects of the exemplary embodiments are defined in the appended claims. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Some embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: 
       FIG. 1  is a block diagram of an apparatus for performing the invention; 
       FIG. 2  is a flowchart of the steps to be performed by the apparatus of  FIG. 1  in accordance with one embodiment of the invention; 
       FIG. 3  is a similar flowchart for a second embodiment of the invention; 
       FIG. 4  is a similar flowchart for a third embodiment of the invention; and 
       FIGS. 5 to 8  illustrate the effects of this processing on some sample images. 
   

   DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     FIG. 1  shows an apparatus consisting of a general purpose computer programmed to perform image analysis according to a first embodiment of the invention. It has a bus  1 , to which are connected a central processing unit  2 , a visual display  3 , a keyboard  4 , a scanner  5  (or other input device, not shown) for input of images, and a memory  6 . 
   In the memory  6  are stored an operating system  601 , a program  602  for performing the image analysis, and storage areas  603 ,  604  for storing an image to be processed and a processed image, respectively. Each image is stored as a two-dimensional array of values, each value representing the brightness and/or color of a picture element within the array. 
   In a first embodiment of the invention, the program  602  is arranged to operate as shown in the flowchart of  FIG. 2 . The image to be processed is stored as an array [C] of pixels where the position of a pixel is expressed in Cartesian co-ordinates, e.g. (x 1 , x 2 ) or as a vector (in bold type), e.g. x=(x 1 , x 2 ). The color of a pixel at x is stored as a vector C(x) consisting of three components. In these examples r, g, b components are used, but other color spaces could be employed. In a monochrome system, C would have only one (luminance) component. The results of this process are to be stored in a similar array C OUT . 
   The process is iterative and starts at Step  100  which simply indicates that one begins with one pixel x and repeats for each other pixel (the order which this is performed is not significant), exiting the loop at Step  102  when all have been processed. However it is not essential to process all pixels: some may be deliberately excluded, for reasons that will be discussed presently. 
   In Step  104 , a comparison count I is set to zero, a match count M is set to 1, and a color vector V is set to the color at x. V has three components which take values according to the color space employed, e.g. (r, g, b). 
   Step  106 : n (typically 3) random pixels at x′ i =(x′ i1 x′ i2 ) i=1, . . . n are selected in the neighborhood of x where 
   |x′ ij −x j |&lt;r j  for all j=1, 2 and r j  defines the size of a rectangular neighborhood (or square neighborhood with r 1 =r 2 =r). A typical value for r j  would be 2 for a 640×416 image. 
   Step  108 : A pixel at y=(y 1 , y 2 ) is then randomly selected elsewhere in the image and (Step  110 ) the comparison count I incremented. This pixel is selected to be &gt;r j  from the image boundary to avoid edge effects. If desired, the choice of y could be limited to lie within a certain maximum distance from x. If, at Step  112 , the value of I does not exceed the value of a threshold L (typical values are 10-100), a test for a match between the neighborhoods of x and y is carried out. 
   Step  114 : Let the color of the pixel at x be C(x)=(C 1 (x), C 2 (x), C 3 (x))=(r x , g x , b x ) 
   Then the neighborhoods match if each of the pixels x, x′ i (that is, the pixel under consideration and its n neighboring pixels) matches the corresponding pixel at y, Y′ i , where the positions of y′ i  relative to y are the same as those of x′ i , relative to x. That is to say:
 
 x−x′   i   =y−y′   i  for all  i= 1 , . . . , n.  
 
   where pixels at x and y are deemed to match if
 
| C   j ( x )− C   j ( y )|&lt; d   j  for all  j =1, 2, 3.
 
   and similarly for x′ i  and y′ i :
 
| C   j ( x′   i )−C j ( y′   i )|&lt; d   j  for all  j =1,2,3 and all  i= 1, . . . , n.
 
   where d j  is a threshold that determines whether color component j is sufficiently different to constitute a pixel mismatch. In the tests described below, the color components were represented on a scale of 0 to 255 and a single value of d j =80 was used. In general, d j  may be dependent upon x. For example, it may be preferred to model attention so that less emphasis is given to darker regions by increasing d j  in these areas. 
   If a match is found, then at Step  116  the counter M is incremented and the values of the color components at y are added to V.
 
 V=V+C ( y )
 
   Following a match, the process returns to Step  106  of selecting a fresh neighborhood around x containing n random pixels, whereas if no match is found, it returns to Step  108  to select a new y without changing the pixel neighborhood. 
   If at Step  112 , the value of I exceeds the threshold L, the color of the pixel at x=(x 1 , x 2 ) in the transformed image is given (Step  118 ) the average value of the colors of the M pixels found to have matching neighborhoods i.e.
 
 C   OUT ( x )= V/M.  
 
   This process is repeated from Step  100  until all pixels in the image have been dealt with. The resulting transformed image possesses a much reduced spread of colors, but also contains small levels of noise arising from the random nature of the algorithm. This noise can be simply removed (Step  120 ) by applying a standard smoothing algorithm. In this embodiment, a pixel is assigned the average color of the pixels in the surrounding 3×3 window. 
   The algorithm shown in  FIG. 2  processes all pixels x, and all will have their colors altered except in the case of pixels whose neighborhoods are so dissimilar to the rest of the image that no matches are found. In that the process necessarily involves a loss of information, we prefer to identify important parts of the image and exclude these. Thus, the embodiment of  FIG. 3  excludes regions of interest from the filtering process. In  FIG. 3 , those steps which are identical to those of  FIG. 2  are given the same reference numerals. 
   The process begins at Step  130  with the generation of a saliency map consisting of an array of attention scores Scores(x 1 , x 2 ) using the method described in our international patent application WO01/61648 (also published as US 20020080133). Other methods of generating saliency maps may also be used although their performance may not always be best suited to this application: See for example L Itti, C Koch and E Niebur, “A model of saliency-based visual attention for rapid scene analysis,” IEEE Trans on PAMI, vol 20, no 11, pp 1254-1259, November 1998; W Osberger and A J Maeder, “Automatic identification of perceptually important regions in an image,” Proc 14 th  IEEE Int. Conf on Pattern Recognition, pp 701-704, August 1998; and W Osberger, U.S. Patent Application no 2002/0126891, “Visual Attention Model,” Sep. 12, 2002. The values of Scores(x 1 , x 2 ) assigned to each pixel at x=(x 1 , x 2 ) or a subset of pixels in an image reflect the level of attention at that location. 
   A value is given to the variable T. typically 0.9, which sets a threshold on Scores(x 1 , x 2 ) and determines whether the color of the pixel at x is to be transformed or not where 
             Threshold     =           T   *     ⁡     (     max   -   min     )       +     min   ⁢           ⁢     and     ⁢           ⁢   max       =           Max       x   1     ⁢     x   2         ⁡     (       Scores     ⁢     (       x   1     ,     x   2       )       )       ⁢   min     =         Min       x   1     ⁢     x   2         ⁡     (       Scores     ⁢     (       x   1     ,     x   2       )       )       .               
However, other means of calculating the value of Threshold may be used some of which can be dependent upon x.
 
   If at Step  132  the value of Scores(x 1 , x 2 ) is greater than Threshold, the pixel in the original image at x is, at Step  134 , copied unchanged into the transformed image array C OUT (x 1 , x 2 ). This pixel represents a point of high attention in the image and will not be altered by this process. 
   The remainder of the process is as previously described: note however that, owing to the test at  132 , in the smoothing algorithm, the color value is replaced by the smoothed value only for those pixels whose attention scores are less than the value of Threshold. 
   Another embodiment is shown in  FIG. 4  in which attention scores are not computed beforehand. Instead, when at Step  112  the comparison count I exceeds the threshold L, a test is performed at Step  150  to determine whether the match count M is greater than a threshold mt. If so, then, as before, the color of the pixel at (x 1 , x 2 ) in the transformed image is given, at Step  118 , the average value of the colors of the M pixels found to have matching neighborhoods i.e. V/M 
   If, however, M is less than or equal to mt, the pixel in the original image at x is, at Step  152 , copied unchanged into the transformed image array C OUT (x 1 , x 2 ). This means that pixels representing areas of high attention will be unlikely to be altered because only low values of M will be obtained in these image regions. 
   The degree of filtering that is applied to the image may be controlled by selecting the value of the thresholds d j . Alternatively, or in addition, the filtering process can if desired be repeated: as shown at Step  170  in all three versions. The transformed image may be reloaded while (in the case of  FIG. 4 ) retaining the original attention scores Scores(x 1 , x 2 ) and the whole process repeated to obtain successive transformations and greater suppression of background information. 
   Note that where random selection is called for, pseudo-random selection may be used instead. 
   Once filtering is complete, the transformed image may if desired be encoded in JPEG format (or any other compression algorithm) as shown at Step  180 . The reduction in information contained in regions of low interest enables higher compression performances to be attained than on the original image. 
   The results of applying the algorithm of  FIG. 4  to a football source are shown in  FIGS. 5   a - c , which show, from left to right,  FIG. 5   a  the original image (GIF format),  FIG. 5   b  the image after JPEG coding, and  FIG. 5   c  the image after filtering followed by JPEG CODING. Histograms of the distribution of hue values in the range 1-100 are also shown. It is found that the filtering reduces the compressed image file size from 13719 bytes to 10853 bytes. 
   Typically two iterations of pixel color replacement and smoothing are sufficient, but this can be extended depending upon the color reduction required. 
     FIGS. 6   a - d  illustrate how background information may be substantially removed while preserving important features of the image such as the boat and the mountain outline. The original JPEG encoding ( FIG. 6   a ) occupies 13361 bytes which is reduced to 10158 bytes after processing once and JPEG encoding the transformed version ( FIG. 6   b ). The output image is reprocessed using the same VA scores and obtains a file size of 8881 bytes ( FIG. 6   c ). A further iteration obtains a size of 8317 bytes ( FIG. 6   d ). 
   This method may be applied with advantage to images containing artifacts (such as JPEG blocking effects). The re-assignment of colors to background regions tends to remove artifacts which normally possess some similarity to their surroundings (see  FIGS. 7   a - b , where the original image is shown on the left; on the right in  FIG. 7   b  is shown the image obtained following processing with this method and subsequent re-coding using JPEG). However, artifacts which are very obtrusive and interfere with the main subject material will not be removed. 
   A further application of the method is the enhancement of figure-ground or the removal of background distractions for improved recognizability. This application is illustrated in  FIGS. 8   a - b  in which the background is almost completely replaced with a constant color and the image of the dog is much more prominent. The method could therefore be applied to the processing of images displayed in a digital viewfinder in a camera where the enhancement of subject material will assist photographers to compose their pictures. 
   Essential visual information is retained in the transformed images while reducing the variability of colors in unimportant areas. The transformed images thereby become much easier to segment using conventional algorithms because there are fewer color boundaries to negotiate and shape outlines are more distinct. This means that this method will enhance the performance of many conventional algorithms that seek to partition images into separate and meaningful homogeneous regions for whatever purpose. 
   In the embodiments we have described, the replacement color value used is the average of the original value and those of all the pixels which it was found to match (although in fact it is not essential that the original value be included). Although in practice this does not necessarily result in a reduction in the number of different color values in the image, nevertheless it results in a reduction in the color variability and hence—as has been demonstrated—increases the scope for compression and/or reduces the perception of artifacts in the image. Other replacement strategies may be adopted instead. For example, having obtained the average, the replacement could be chosen to be that one of a more limited (i.e. more coarsely quantized) range of colors to which the average is closest. Or the match results could be used to identify groups of pixels which could then all be assigned the same color value. 
   These embodiments assume that low level segmentation algorithms should not be applied to those areas in an image that merit high visual attention. Such regions are naturally anomalous and contain a high density of meaningful information for an observer. This means that any attempt to segment these areas is likely to be arbitrary because there is little or no information in the surrounding regions or elsewhere in the image that can be usefully extrapolated. On the other hand less significant parts of the image that are more extensive can justifiably be transformed using quite primitive and low level algorithms. Paradoxically, distinctive object edges in an image attract high attention and therefore are not subjected to alteration in this approach. In fact the edges of objects at the pixel level in real images are extremely complex and diverse and would need specifically tailored algorithms to be sure of a correct result in each case. 
   The second and third embodiments of the invention offer an approach to color compression that makes use of a visual attention algorithm to determine visually important areas in the image which are not to be transformed. This approach therefore possesses the significant advantage that the process of assigning region identities does not have to address the difficult problem of defining edges which normally hold the highest density of meaningful information. Non-attentive regions are transformed according to parameters derived from the same VA algorithm which indicates those regions sharing properties with many other parts of the image. The visual attention algorithm does not rely upon the pre-selection of features and hence has application to a greater range of images than standard feature based methods which tend to be tailored to work on categories of images most suited to the selected feature measurements. Pixels in the regions subject to transformation are assigned an average color and increased compression obtained through JPEG encoding or any other compression standard. Compression is applied to the least attentive regions of the image and, therefore, is unlikely to affect the perceptual quality of the overall image. The algorithm may be iteratively applied to the transformed images to obtain further compression at the expense of more background detail.