Digital Imaging & Data Compression
|
|
Object-based Stereo Image Compression 1. Overview To reflect the true disparity between left and right frames, free-form object based matching would be more efficient than block-based techniques. This has been proved in video compression, such as MPEG-4. However, the price to pay is to encode the arbitrary shape of those objects and the complexity level will also be increased accordingly. To make a better balance, we proposed a hybrid scheme with features of both block-based and object-based coding techniques to achieve data compression for stereo image pairs. The proposed algorithm comprises the following operations:
2. Algorithm Design Contour Analysis of Stereo Images The contour is extracted by a two-step process. Firstly, the image is convolved (LoG*Image) with a Laplacian-of-Gaussian (LoG) operator, defined by:
where Secondly, edges are detected at the zero-crossing points (e.g., patterns such as "++--" and "--++" along both vertical and horizontal directions). In this step, the slopes of the LoG of the image along both x and y directions, denoted by Sx and Sy, are used to compute the edge strength at each zero-crossing point. An edge strength at a point ( x,y ) is defined as follows: S (x,y) = The contour points are chosen using a hysteresis thresholding technique, which is given as follows: The edge strength at each point along the contour is greater than Tl and at least one point on the contour has an edge strength greater than Tu , where Tl and Tu are pre-set thresholds and Tl < Tu . Generally, Tl is set sufficiently low to preserve the whole contour around the region boundary and Tu is chosen large enough to avoid spurious edges. Contour search is initiated whenever one point with a value greater than Tu is scanned. The search is conducted in both directions of the contour and the neighbouring pixels, with values greater than Tl being accepted as contour points. The search is terminated when no neighbouring pixels are found to satisfy this condition. Then all edge strength values along the detected contour are set to zero so that these points will not be visited again. The same search operation continues until the whole edge strength array has been scanned. Figure 1 illustrate an example:
Contour Matching The contoured objects are matched in terms of: (i) those that are closed in as illustrated in Fig. 3(a); and (ii) those which are open, and terminated at the image boundaries as shown in Fig. 3(b). Closed contour matching:
For every closed-in contour, three shape attributes are computed: (i) the number of pixels
representing the perimeter of the contour,
Where
Every closed-in contour of the right frame is compared with that of the left frame. A contour from the left frame is accepted as an initial candidate match for the right frame contour, if the differences between each of their shape attributes fall below some pre-set thresholds (e.g. 20% for h, and 10% for y0 and n). At the end of this procedure, closed-in contours in right frames may have multiple candidate matches and a further step is necessary to find the best match among them. This is performed as follows. Firstly, the contours are
converted into their chain codes b1= a1 bi = qi
, qi is an integer such that (qi -ai) mod 8 =0 and Let
MCkl = Where, In order to identify the
location of the best fit between the two contours, an n-point segment of L, starting at
index k (e.g. k=0), is slid over contour B. The similarity function,
is a pre-set threshold that eliminates matches with poor correlation. In the case that multiple
contours get matched to the same contour, the pair with the highest Open contour matching: For
matching of open contours, the salient segments along the contours are used as the
matching primitives. Salient segments such as corners can be detected from the chain code
representation. Specifically, for a contour of length
where,
where p is a constant that determines the
minimum distance between the salient points, and Contour Blocking Contour blocking is a process designed to divide the matched objects into blocks in a most efficient way so that different encoding techniques can be applied to compress the stereo image pair. The basic principle is similar to MPEG-4 techniques, which include fitting an object into smallest possible rectangle, padding the reference object and produce disparity compensated predictive errors. Object Encoding The stereo image pair is encoded on an object basis by identifying three types of objects within the images. These include: objects that are bounded within closed contours, objects that have open contours and both ends of the open contour terminate at image boundaries, and the rest which fall into the background. Although there exist differences among the three types and their encoding requires individual co-ordination, the major proposed encoding techniques can be described as: (i) padding of left object bounding rectangles; (ii) disparity-based prediction for both arbitrary shaped boundary blocks and internal blocks; (iii) background encoding. Therefore, the proposed encoding scheme can be highlighted as follows:
|