CONTENT-BASED COMPRESSION IN AERIAL IMAGING USING INTER-COLOR CORRELATION

The high regional correlation between the R, G, B components of color aerial imaging is used as a basis for a new coding technique. In this work we approximate subordinate colors in smooth segmented regions of an image as a function of one of its base colors. This way, only a reduced number of parameters are required for coding a significant part of the color information. The encoded results are superior to those obtained by other compression techniques that are based on decorrelated color spaces, as in JPEG. We also introduce an option of progressive transmission, which could be used for slower communication channels. Our conclusion is that the use of correlation in color images compression could be superior to the traditional decorrelation techniques, in particular for images with localized high correlation, such as aerial imaging. 1. BACKGROUND Most aerial images are characterized by high correlation between their R, G, B color components. Many compression techniques take advantage of this redundancy and transform the color primaries into a decorrelated color space such as YIQ or YUV. The JPEG compression algorithm is a typical example of this approach where the I and Q information of the YIQ representation are encoded separately at lower rates than the Y. In recent years, however, a new approach has been developed, where instead of decorrelating the color components, the correlation is used to approximate two of the components as functions of the third component (Goffman and Porat, 2002; Kotera and Kanamori, 1990). Since color images also have spatial or regional color correlation, the color information could be further compressed based on its spatial correlation. A promising approach that segments gray images into regions and achieves a high compression ratio is based on the Region Growing algorithm and was introduced in (Kunt et al. 1985), regarded as a ‘second generation’ compression method. In our work we extend the principles of Kunt et al. and of Goffman and Porat to account for these two types of correlation localized spatial correlation and the inter-color correlation. We will show that the combined approach of the ‘second generation’ tools for image compression improves significantly the results reported in previous color compression algorithms (Goffman and Porat, 2002; Kotera and Kanamori, 1990). In Region Growing we refer to the standard image processing technique that describes an image as a set of adjacent regions. The pixels inside the regions represent the texture information of the image, and the pixels of the region boundaries represent the contour details. In our proposed algorithm, contour and texture information are coded separately. 2. STAGES OF THE ALGORITHM The proposed algorithm is described in detail in this section. The flowchart of the encoder is described in Figure 1. Component Separation – based on the RGB image, the Y component is calculated to represent the luminance of the image. This component is likely to best represent edges in the image, regardless of their actual color, R, G, or B. Pre-processing – reduction of noise in the image while preserving the information of the contour. If the segmentation process is done on the original image, the noise that appears as small variation of the gray level will produce undesired contours. In this work the inverse gradient filter (Wang and Vaganucci 1981) is used due to its two main qualities: 1. The inverse gradient filter reduces the variance, of each region, while preserving the average. 2. The inverse gradient filter has little effect on the sharpness of edges in the picture. Segmentation – The image is then segmented into contour pixels and texture pixels. This procedure partitions the image into regions in which the brightness is continuous and smooth. The segmentation starts with a seed pixel and examines the properties of neighbouring pixels. If the neighbouring pixels have similar properties, they are added to the region. The procedure stops when no additional pixels satisfy the criteria to be added to the region, or when the algorithm reaches the image boundary. In order to achieve a high compression ratio, the number of regions is reduced before coding the information. Two heuristics are used in this paper to decrease the number of regions obtained by region growing: elimination of the small regions and merging weakly contrasted adjacent regions. Contour Coding – The contour pixels are coded using chain code (Freeman 1961). In this scheme, the location of the first contour pixel in a chain has to be transmitted. Then the direction of each neighbouring contour pixel is transmitted sequentially. To improve the compression, the chain is represented by the changes in the direction rather than the actual directions, using Huffman coding. This work assumes 8 adjacent neighbours, i.e., allowing 8 possible directions from each pixel. Once a complete chain (region) is transmitted, the starting point of the next region has to be coded. Here to save bits, only the distance (vertically and horizontally) between the new starting point and the previous one are transmitted instead. Since the number of bits allocated to this part of the algorithm is significant (typically some 50% of the bit budget) it is of interest to consider the factors that affect this part of the coding. The number of bits needed to code each direction is estimated as follows: ∑ ⋅ = i i i L p bpd (1) ∑ where bpd is the number of bits per direction, pi is the frequency of each change in direction, Li is the length of each code word; i=0, 1, 2, . 7. Then, )) (max_ (log 2 dist ceiling bsc = , (2) where bsc is the number of bits per each starting point, max_dist is the maximum distance between consecutive two starting points of chains. From (1) and (2) we can calculate the number of bits per contour (bpc): contour chain N fsb bsc N bpd bpc ] * 2 * ) 1 [( + − + = , (3) here Nchain is the number of chains, Ncontour is the number of contour points, and fsb is the number of bits needed to code the first starting point. Texture coding – since each region is relatively smooth, the color components in each region is described using a smooth two-dimensional polynomial function. The order of the polynomial function is determined according to the approximation error and the number of bits needed to code the region information. In our algorithm, we use one of the primary colors of the image (R,G,B) to represent the brightness. In most cases we select the Green, which is closely related to the gray level (Y) information (Goffman and Porat, 2002). The coefficients of each polynomial are calculated so that the error between the approximation and the original region is minimized. For a zero order polynomial function the coefficient is the average value. For a first order polynomial function the approximation and the error are: 2 3 1 2 1 X a X a a Yaprox + + = (4) 2 2 3 1 2 1 1 ) ( i i n i x a x a a y SE − − − = ∑ where Yaprox is the approximation of Y X1, X2 are axes of the polynomial function a1, a2, a3, are the approximation coefficients SE represents the Squared Error The coefficients that minimize the SE are found based on