Image rotation system

Image analysis – Image transformation or preprocessing – Changing the image coordinates

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C382S297000

Reexamination Certificate

active

06275622

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to digital image processing systems, and more particularly, to image processing systems that have limited memory resources and that allow for image manipulation.
2. Brief Description of Background Arts
Conventional image data processing systems have one or more additional large memory arrays in addition to a primary memory array to accommodate data intensive processes, for example rotating an image. To rotate the image by ninety (90) degrees in an image data processing system requires a significant amount of memory array space. Specifically, to rotate the image, a large amount of image data must be processed and moved between two or more of the large memory arrays.
There are significant drawbacks of the conventional image data processing systems having these additional memory arrays. For example, because memory arrays are expensive, each additional memory array significantly increases the overall cost of the image data processing system. In addition, because memory arrays are relatively large and consume valuable space in electronic circuit environments, each additional memory array consumes valuable footprint space within an image data processing system, making such a device undesirable for compact applications.
Attempts to save memory by rotating pixels one-by-one, require that the next source location (i.e., the location of the pixel to be rotated) coincides with the destination address of the previously rotated pixel. This is a chain calculation. Each rotated pixel pushes an old pixel out of its cell, so that this old pixel is the next one to be rotated. Once the destination address is found for this new rotation, another pixel is going to be pushed out of its cell, and the process must be repeated.
The problem with this kind of chain calculation is that it might end up with a destination address that coincides with the initially selected source address before all the image pixels have been rotated. Whether or not this is going to happen depends on the relation between the height and width of the image. As the number of pixel rows and the number of pixel columns of a scanned image can have arbitrary values, this relation cannot be controlled, and the results of the chain calculation are hard to predict. In sum, an attempt to rotate image pixels one-by-one yields unpredictable results for an image of arbitrary size, and might deadlock before the rotation is complete.
Thus, there is a need for an image data processing system and method that (1) allows for image rotation using a limited size memory array, (2) that is also fast and efficient with respect to rotation of the image.
SUMMARY OF THE INVENTION
An image processing system in accordance with the present invention includes an image rotation system (
210
) and method for rotating an image between a first image position and a second image position or between an initial position and a final position. The image includes two or more pixels that may be arranged in m pixel rows and n pixel columns, where m and n are integer values.
The image rotation system includes an orientation module (
220
) that receives the image. The orientation module (
220
) identifies the image as being in the landscape position in response to m less than n or in the portrait position in response to m greater than or equal to n.
As the landscape image position (or orientation) is defined by m<n, the landscape image contains at least one sub-image equal to the maximal inscribed square, and a remaining rectangular sub-image of size m * (n−m). On the other hand, the portrait image position (or orientation) is defined by m≧n, so that the portrait image contains at least one maximal inscribed square, but does not necessarily contain a remaining rectangular sub-image.
If the received image is in the landscape position, the cut module (
225
) receives the image in the first (initial) image position from the orientation module (
220
) and rearranges the landscape image into a portrait image composed of a plurality of superimposed sub-images. At least one sub-image is a square of m pixels by m pixels. A rotation module (
235
) receives this portrait image and rotates the pixels in each of its superimposed sub-images to generate the portrait image in the second image position.
If the received image is in the portrait image position, the rotation module (
235
) receives the image in the portrait image position and rotates the pixels in each of its superimposed sub-images. At least one of the sub-images is a square of n pixels by n pixels. A collation module (
240
) receives the portrait image with rotated sub-images and rearranges it into a landscape image. The rows of the landscape image are obtained by concatenation (collation) of rows of all sub-images with the same sub-image row number. The collated landscape image is in the second (final, rotated) position.
The present invention also includes a method for rotating an image by an orthogonal angle or a multiple of ninety degrees to a rotated position. The image may be m pixel rows and n pixel columns, where m and n have integer values. The method includes determining whether m is less than n. When the first image position has a landscape orientation, that is, when m is less than n, the method includes rearranging (cutting) the landscape image into a portrait image composed of a plurality of superimposed sub-images, where at least one sub-image has m pixels by m pixels. The method then includes rotating the pixels in each sub-image in order to ultimately produce the portrait image which is the second (final, rotated) image position.
When m is greater than or equal to n, the first image position is portrait and is composed of a plurality of superimposed sub-images. At least one of the sub-images is a square sub-image of n pixels by n pixels. The method then includes rotating the pixels in each of the superimposed sub-images and rearranging (collating) the portrait image (with rotated sub-images) into a landscape image. The rows of the landscape image are obtained by concatenation (collation) of rows of all sub-images with the same sub-image row number. The collated landscape image is in the second (final, rotated) image position.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.


REFERENCES:
patent: 4995089 (1991-02-01), Altrieth, III
patent: 5301036 (1994-04-01), Barrett et al.
patent: 5479525 (1995-12-01), Nakamura et al.
patent: 5598181 (1997-01-01), Kermisch
patent: 5634088 (1997-05-01), Banton
patent: 5734760 (1998-03-01), Yoshida
patent: 5734875 (1998-03-01), Cheng
patent: 5909222 (1999-06-01), Umeshima
patent: 5966116 (1999-10-01), Wakeland
patent: 5973721 (1999-10-01), Bergmans et al.
patent: 5991450 (1999-11-01), Ohsawa et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Image rotation system does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Image rotation system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Image rotation system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2483422

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.