Virtual Pixel Access

<< Click to Display Table of Contents >>

Navigation:  Image Manager > CVB Technology > Common Image Model >

Virtual Pixel Access

 

Virtual Pixel Access

 

The greatest problem in image processing is the rapid computation and/or modification of the function v.
Given a linear memory representation of an image plane this amounts to rapid computation of the address

 

 M(X, Y)  = M(0, 0) + X*DeltaX + Y*DeltaY

 

for a given image plane.

This is done in CVB with the aid of tables to effect the two multiplications involved and simultaneously resolve complexities such as interlaced scan lines.

 
To understand the basic idea we introduce two functions (tables)

 XTable ( X ) := M(0, 0) + X*DeltaX,  for X = 0, ..., Width - 1

and

 YTable ( Y ) := Y*DeltaY,  for X = 0, ..., Height - 1.

 

Then the address is computed by

 M(X, Y)  = XTable ( X ) + YTable ( Y ),

which can be computed very rapidly.

 

The pixel reference tables XTable and YTable provide random access to pixels in a few clock cycles.
Details and the associated data structures are described in the next section which also explains how the tables are to be programmed.

 

In addition to providing random access, the tables are able to influence the underlying image geometry without any loss in subsequent computation time:
Suppose you interchange the tables, the resulting image is reflected and rotated by 90°.
If you also reverse the order of one of the tables the result is a rotation without reflection.
By omitting (duplicating) every other value in both tables you shrink (enlarge) the image by a factor of two.
Practical applications are the zoom function in image display and the squaring of pixels from non square pixel image acquisition device.
It is important to realise that these operations need computations in the order O(Width + Height) when programmed through the tables while the order is o(Width * Height) if the computations are carried out on the images themselves.
This is typically larger by a factor > 100.

Of course the tables have to be programmed just once for a given target geometry of an image plane.

 

We propose the tables as descriptors for images. We know of no other addressing scheme possessing the same generality, speed and flexibility.
The principal philosophy is to shift the attention from the specific memory layout of an image to information about this layout.
It seems appropriate to call the corresponding image addressing virtual pixel access, VPA in short.