Image convertion method
First Claim
1. A method for converting an original image of an original size to a scaled image of the original image having dimensional differences from said original image, the scaled image being of a scaled size having scaled horizontal and vertical dimensions and resolution in pixels per unit of dimension and said original image being of original size having original horizontal and vertical dimensions and resolution in pixels per unit of dimension, comprising the steps of:
- a. storing said original image in a storage medium as a plurality of sequential lengths of data runs of pixels;
b. setting a cumulative remainder value at zero in a buffer;
c. determining a base scaling factor by dividing said scaled resolution of said desired image in pixels per unit of dimension by said original resolution of the original image in pixels per unit of dimension;
d. retrieving from the storage medium a first sequential data run of pixels representing a length of the original image data;
e. multiplying said retrieved first sequential data run representing a length of original image data by said base scaling factor to produce a first length of scaled image information represented by a whole integer and an incomplete length of scaled image information represented by a decimal value;
f. storing in said storage medium said first whole integer representing said first length of scaled image information in pixels and adding said first decimal value representing said incomplete length of scaled image information to said cumulative remainder value in said buffer;
g. retrieving from said storage medium a next data run length representing another length of original image data;
h. multiplying said next retrieved original data run length representing another length of original image data by said base scaling factor and adding said cumulative remainder value, wherein the result is a next length of scaled image information represented by a next whole integer and a next incomplete length of scaled image information represented by a next decimal value;
i. storing said next whole integer representing a length of scaled image information in pixels as the scaled data run length and storing said second decimal value representing said incomplete length of scaled image information as said cumulative remainder in said buffer; and
h. repeating steps d through i for each original data run length stored in said storage medium until all of said plurality of data runs of said original image have been scaled to produce in said storage medium a stored scaled representation of the original image scaled in horizontal and vertical dimensions and resolution in pixels per unit of dimension.
2 Assignments
0 Petitions
Accused Products
Abstract
An image conversion method using an algorithm for scaling rasterized images in both the horizontal and vertical direction. Non-integer remainders of multiplication functions are incorporated into the conversion process to provide highly accurate conversion results. The process provides expansion or contraction of the image in a best fit mode in order to provide the ideal amount of scaling to coincide with the physical requirements of the output device. In addition, conversion with maintenance of the aspect ratio of the original image can be effected with highly accurate image reproduction results.
21 Citations
10 Claims
-
1. A method for converting an original image of an original size to a scaled image of the original image having dimensional differences from said original image, the scaled image being of a scaled size having scaled horizontal and vertical dimensions and resolution in pixels per unit of dimension and said original image being of original size having original horizontal and vertical dimensions and resolution in pixels per unit of dimension, comprising the steps of:
-
a. storing said original image in a storage medium as a plurality of sequential lengths of data runs of pixels; b. setting a cumulative remainder value at zero in a buffer; c. determining a base scaling factor by dividing said scaled resolution of said desired image in pixels per unit of dimension by said original resolution of the original image in pixels per unit of dimension; d. retrieving from the storage medium a first sequential data run of pixels representing a length of the original image data; e. multiplying said retrieved first sequential data run representing a length of original image data by said base scaling factor to produce a first length of scaled image information represented by a whole integer and an incomplete length of scaled image information represented by a decimal value; f. storing in said storage medium said first whole integer representing said first length of scaled image information in pixels and adding said first decimal value representing said incomplete length of scaled image information to said cumulative remainder value in said buffer; g. retrieving from said storage medium a next data run length representing another length of original image data; h. multiplying said next retrieved original data run length representing another length of original image data by said base scaling factor and adding said cumulative remainder value, wherein the result is a next length of scaled image information represented by a next whole integer and a next incomplete length of scaled image information represented by a next decimal value; i. storing said next whole integer representing a length of scaled image information in pixels as the scaled data run length and storing said second decimal value representing said incomplete length of scaled image information as said cumulative remainder in said buffer; and h. repeating steps d through i for each original data run length stored in said storage medium until all of said plurality of data runs of said original image have been scaled to produce in said storage medium a stored scaled representation of the original image scaled in horizontal and vertical dimensions and resolution in pixels per unit of dimension.
-
-
2. A method for vertically scaling an original image to produce a vertically scaled image having scaled vertical and horizontal lengths and a resolution in pixels per unit length based upon said original image having original horizontal and vertical lengths and an original number of original lines, said original image being stored in a storage medium as a plurality of lines of pixels, comprising:
-
a. determining a scaled number of lines of pixels for said scale image; b. calculating a base scaling factor by dividing the scaled number of lines of pixels by said original number of original lines of pixels; c. setting a cumulative line remainder value in a buffer at zero; d. retrieving from said storage medium a line of original data; e. adding said base scaling factor to said cumulative line remainder value to arrive at a whole line output integer and a sub-line decimal value; f. storing said sub-line decimal value as said cumulative line remainder value; g. outputting a number of said whole lines of pixel data dependent upon said whole line output integer; and h. repeating steps d through g until said plurality of original lines of data has been vertically scaled. - View Dependent Claims (3, 4, 5)
-
-
6. A method for converting an original image of an original size to a scaled image of the original image having dimensional differences from said original image, the scaled image being of a scaled size having scaled horizontal and vertical dimensions and said original image being of original size and having original horizontal and vertical dimensions and resolution in pixels per unit of dimension comprising the steps of:
-
a. storing said original image in a storage medium as a plurality of sequential lengths of data runs of pixels; b. setting a cumulative remainder value at zero in a buffer; c. determining the resolution of said scaled image in pixels per unit of dimension; d. determining a base scaling factor by dividing said scaled resolution of said desired image in pixels per unit of dimension by said original resolution of the original image in pixels per unit of dimension; e. retrieving from the storage medium a first sequential data run of pixels representing a length of the original image data; f. multiplying said retrieved first sequential data run representing a length of original image data by said base scaling factor to produce a first length of scaled image information represented by a whole integer and an incomplete length of scaled image information represented by a decimal value; g. storing in said storage medium said first whole integer representing said first length of scaled image information in pixels and adding said first decimal value representing said incomplete length of scaled image information to said cumulative remainder value in said buffer; h. retrieving from said storage medium a next data run length representing another length of original image data; i. multiplying said next retrieved original data run length representing another length of original image data by said base scaling factor and adding said cumulative remainder value, wherein the result is a next length of scaled image information represented by a next whole integer and a next incomplete length of scaled image information represented by a next decimal value; j. storing said next whole integer representing a length of scaled image information in pixels as the scaled data run length and storing said second decimal value representing said incomplete length of scaled image information as said cumulative remainder in said buffer; and k. repeating steps e through j for each original data run length stored in said storage medium until all of said plurality of data runs of said original image have been scaled to produce in said storage medium a representation of the original image stored in said storage medium which representation is scaled in horizontal and vertical dimensions and resolution in pixels per unit of dimension. - View Dependent Claims (7, 8, 9)
-
-
10. A facsimile machine adapted to convert an original image of an original size to a scaled image of the original image, said scaled image having dimensional differences from said original image, the scaled image being of a scaled size having scaled horizontal and vertical dimensions and said original image being of original size having original horizontal and vertical dimensions and resolution in pixels per unit of dimension, comprising:
-
a. first storage means for storing said original image as a plurality of sequential lengths of data runs of pixels; b. means adapted to determine the resolution of said desired scaled image in pixels per unit of dimension; c. buffer means for temporary storage of cumulative remainder values; d. retrieval means for retrieving sequential data runs representing sequential lengths of said original image data from said storage means; e. processor means for determining a base scaling factor by dividing said scaled resolution of said desired image in pixels per unit of dimension by said original resolution of the original image in pixels per unit of dimension, and for multiplying said retrieved sequential data run by said base scaling factor and adding said cumulative remainder values from said buffer means to produce complete lengths of scaled image information represented by whole integers and incomplete lengths of scaled image information represented by decimal values, said decimal values stored as said cumulative remainder in said buffer; f. second storage means for storing said whole integers representing said lengths of scaled image information in pixels; and g. output means for outputting said lengths of scaled image information.
-
Specification