Image rotation with substantially no aliasing error
AssigneeInternational Business Machines Corporation
InventorsRavi Prakash, Clair Frederick Rohe, Robert E. Shirley
Life of this patent
Estimating the term…
Abstract
A system, method and program product for rotating a first image in an image buffer such that the resulting, rotated image is substantially free of an aliasing error, i.e., broken lines, stair stepped edges, etc., is disclosed. An algorithm is applied to the first image that uses weighted sums of data points of the first image to create the rotated image. The weighting is based on the skew angle and data point location of the first image. The resulting rotated image also has a reduced data storage space requirement compared to rotated images created by prior art techniques.
Claims11
A system for rotating an initial image stored in an image buffer, the system comprising:
- a memory having an image rotation module configured to rotate the initial image to create a rotated image by using weighted sums of a plurality of data points of the initial image that represent pixel data values of the initial image and to output the rotated image from the image buffer, wherein the weighting depends on a skew angle of the initial image and data point location in the initial image,
- wherein the image rotation module repetitively applies the following algorithm to initial image data to create the rotated image:
- V0=Kh(V3−V4)+Kv(V2−V4)+V4,
- wherein V0 is a data point of the rotated image;
- V2, V3, and V4 are data points of the initial image that each incorporate a portion of V0;
- and Kh and Kv are fractions that are functions of skew angle and data point location of the initial image.
A computer readable medium having a stored computer program product for processing a first image in an image buffer, the computer program product comprising:
- program code configured to rotate the first image to create a rotated image by using weighted sums of a plurality of data points of the first image that represent pixel data values of the first image, wherein the weighting depends on a skew angle of the first image and data point location in the first image;
- and
- program code configured to output the rotated image from the image buffer,
- wherein the program code configured to rotate the first image repetitively applies the following algorithm to first image data to create the rotated image:
- V0=Kh(V3−V4)+Kv(V2−V4)+V4,
- wherein V0 is a data point of the rotated image;
- V2, V3, and V4 are data points of the first image that each incorporate a portion of V0;
- and Kh and Kv are fractions that are functions of skew angle and data point location of the first image.
A system for rotating an initial image stored in an image buffer, the system comprising:
- an image rotation module configured to rotate the initial image to create a rotated image that is substantially free of an aliasing error using weighted sums of a plurality of data points of the initial image that represent pixel data values of the initial image and to output the rotated image from the image buffer, wherein weighting depends on a skew angle of the initial image and data point location in the initial image and is implemented in ⅛th increments,
- wherein the image rotation module repetitively applies the following algorithm to initial image data to create the rotated image:
- V0=Kh*Kv(V1+V4−V2−V3)+Kh(V3−V4)+Kv(V2−V4)+V4,
- wherein V0 is a data point of the rotated image;
- V1, V2, V3, and V4 are data points of the initial image that each incorporate a portion of V0;
- and Kh and Kv are fractions that are functions
Dependencies are inferred from the claim text.