Image analysis – Image transformation or preprocessing – Changing the image coordinates
Reexamination Certificate
2001-08-30
2004-10-05
Mehta, Bhavesh M. (Department: 2625)
Image analysis
Image transformation or preprocessing
Changing the image coordinates
C382S296000, C382S299000, C348S580000, C348S583000
Reexamination Certificate
active
06801674
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally relates to digital image processing, and more particularly to resizing and rotation of digital images.
BACKGROUND
An example programmable logic device (PLD) is the field programmable gate array (FPGA), first introduced by Xilinx, Inc., in 1985. PLDs such as FPGAs are becoming increasingly popular for use in electronics systems. For example, multimedia communications systems employ FPGAs in large measure for their re-programmability. In general, the use of FPGAs continues to grow at a rapid rate because they permit relatively short design cycles, reduce costs through logic consolidation, and offer flexibility in their re-programmability.
Advances in semiconductor process technology are delivering FPGAs having logic densities in the range of a million system gates and having operating speeds in excess of 200 MHz. These powerful devices are capable of and have been used to implement digital signal processing (DSP) algorithms which are inherently parallel and normally require multiple DSP microprocessors in order to accommodate the high data rates. It is feasible to implement such algorithms on a single FPGA because such devices offer a programmable architecture.
Image resizing typically involves fractional re-sampling, which can lead to prohibitively large implementations and result in compromises in range and resolution. Polyphase decimators and polyphase interpolators are generally employed for fractional re-sampling, depending on whether an image is being reduced (decimator) or enlarged (interpolator).
In many two-dimensional resizing implementations, an intermediate buffer is disposed between horizontal and vertical filter elements. The structure has considerable memory requirements because the size of the intermediate buffer is doubled relative to the image size to support continuous operation.
Image rotation also involves re-sampling, but is performed on non-integer points. For example, with a center point of an image defined, a single parameter • specifies the transformation. The equations below provide the coordinate transformation in terms of rotation of the coordinate axis.
S
x
=D
x
cos (•)+
D
y
sin (•)
S
y
=−D
x
sin (•)+
D
cos (•)
where S and D represent source and destination coordinates, respectively.
In an implementation having linear addressing through the destination image, the first step in the rotation algorithm is computation of the source values S
x
and S
y
. From these values, the neighborhood of pixels is known for the filter operation. The location of the destination pixels in the source pixel matrix also gives the weighting factors for bilinear or bicubic interpolation. The pixel value is then calculated with the weighting factors and pixel values in the neighborhood. The process repeats by incrementing the D
x
value and continuing in a raster out format. One drawback of this process is the non-uniform addressing of the source pixels. Essentially, the input memory design must have four times the bandwidth (or 16 for bicubic) because there is no sharing of source pixels between destination pixel operations.
Given the speed and flexibility of FPGAs, it would be desirable to implement image resize and rotation circuitry on an FPGA. However, memory bandwidth and frame latency issues must be factored into any solution.
SUMMARY OF THE INVENTION
The invention provides circuit arrangements and methods for real-time image resizing and image rotation. In various embodiments, line buffers are used for storage of lines of pixel values for both resizing and rotation. A first one of the line buffers receives input pixel values, and the line buffers are coupled in a chain such that line buffer i receives pixel values from line buffer i−1. The lines of pixel values are moved from line buffer i to line buffer i+1 as the pixel values are processed for resizing or rotation.
The line buffers offer improved performance in real-time image resizing by eliminating the need to re-read sample values from a memory. The line buffers further eliminate the need for the added memory of a double buffering approach and introduce no frame latency. For image rotation, the line buffers allows the source pixels to be shared and linearly addressed in generating destination pixels. This greatly reduces the memory requirements for a given bandwidth requirement.
It will be appreciated that various other embodiments are set forth in the Detailed Description and Claims which follow.
REFERENCES:
patent: 4989091 (1991-01-01), Lucas
patent: 5384600 (1995-01-01), Kaizaki et al.
patent: 5671018 (1997-09-01), Ohara et al.
patent: 5917554 (1999-06-01), Ohta
Kassa Yosef
Maunu LeRoy D.
Mehta Bhavesh M.
Xilinx , Inc.
LandOfFree
Real-time image resizing and rotation with line buffers does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Real-time image resizing and rotation with line buffers, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Real-time image resizing and rotation with line buffers will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3278030