Digital image scaling by stepwise pixel movement
First Claim
1. A method for scaling a digitized source image of a first size to yield a digitized output image of a second size;
- said method comprising the steps of;
(a) initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images;
(b) incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image;
(c) incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image;
(d) setting, in response to the new values of said first and second coordinate addresses, a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses;
(e) repeating steps (b)-(d) until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and
(f) repeating steps (b)-(e) until a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated, andwherein said first and second pre-defined horizontal increments are respectively one and less than one in value so that horizontal reduction scaling is produced in the output image.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus and accompanying method(s) digitally scaling, particularly reducing, an original image to yield a scaled image particularly suited for display by a document workstation in an image management system as one image in a composite multi-image display. Reduction scaling is achieved by mapping source pixels into destination pixels. Specifically, a reduced image is produced by moving through a source image by increments of a single full pixel with corresponding movement through a destination image in fractional movements in order to define corresponding pairs of pixel coordinate addresses in both images, i.e. one pixel coordinate address in the original image and a corresponding pixel coordinate address in the enlarged image. Once a pair of these addresses is defined, a current pixel in the enlarged image is set to the value of its corresponding pixel in the source image, with both of these pixels being defined by the integer values of their associated coordinate addresses. To digitally enlarge (magnify) the source image, incremental movement occurs on a pixel-by-pixel basis, both horizontally and vertically, in an enlarged image with fractional movement, in either both directions depending upon the desired scale factors, occurring in the source image. Given these incremental movements, the pixel values that occur at successive integer pixel coordinate addresses in the source image are merely copied, i.e. replicated, rather than mapped into corresponding integer pixel coordinate locations in the enlarged image.
104 Citations
20 Claims
-
1. A method for scaling a digitized source image of a first size to yield a digitized output image of a second size;
- said method comprising the steps of;
(a) initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; (b) incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; (c) incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; (d) setting, in response to the new values of said first and second coordinate addresses, a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; (e) repeating steps (b)-(d) until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and (f) repeating steps (b)-(e) until a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated, and wherein said first and second pre-defined horizontal increments are respectively one and less than one in value so that horizontal reduction scaling is produced in the output image. - View Dependent Claims (2)
- said method comprising the steps of;
-
3. A method for scaling a digitized source image of a first size to yield a digitized output image of a second size;
- said method comprising the steps of;
(a) initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; (b) incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; (c) incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; (d) setting, in response to the new values of said first and second coordinate addresses, a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; (e) repeating steps (b)-(d) until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and (f) repeating steps (b)-(e) until a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated, and wherein said first and second pre-defined vertical increments are respectively one and less than one in value so that vertical reduction scaling is produced in the output image. - View Dependent Claims (4)
- said method comprising the steps of;
-
5. A method for scaling a digitized source image of a first size to yield a digitized output image of a second size;
- said method comprising the steps of;
(a) initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; (b) incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; (c) incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; (d) setting, in response to the new values of said first and second coordinate addresses, a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; (e) repeating steps (b)-(d) until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and (f) repeating steps (b)-(e) until a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated, and wherein said first and second pre-defined horizontal increments are respectively less than one and one in value so that horizontal enlargement scaling is produced in the output image. - View Dependent Claims (6)
- said method comprising the steps of;
-
7. A method for scaling a digitized source image of a first size to yield a digitized output image of a second size;
- said method comprising the steps of;
(a) initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; (b) incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; (c) incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; (d) setting, in response to the new values of said first and second coordinate addresses, a value of a specific pixel in the bit map of said output image equal to a specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; (e) repeating steps (b)-(d) until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and (f) repeating steps (b)-(e) until a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated, and wherein said first and second pre-defined vertical increments are respectively less than one and one in value so that vertical enlargement scaling is produced in the output image. - View Dependent Claims (8)
- said method comprising the steps of;
-
9. Apparatus for scaling a digitized source image of a first size to yield a digitized output image of a second size, said apparatus comprising:
-
means for initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; first means for incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; second means for incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; means, responsive to the new values of said first and second coordinate addresses, for setting a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; and control mans for repetitively invoking said first and second incrementing means and said setting means until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and
for terminating scaling when a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated; andwherein said first and second pre-defined horizontal increments are respectively one and less than one in value so that horizontal reduction scaling is produced in the output image. - View Dependent Claims (10, 11)
-
-
12. Apparatus for scaling a digitized source image of a first size to yield a digitized output image of a second size, said apparatus comprising:
-
means for initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; first means for incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; second means for incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; means, responsive to the new values of said first and second coordinate addresses, for setting a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; and control means for repetitively invoking said first and second incrementing means and said setting means until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and
for terminating scaling when a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated; andwherein said first and second pre-defined vertical increments are respectively one and less than one in value so that vertical reduction scaling is produced in the output image. - View Dependent Claims (13, 14)
-
-
15. Apparatus for scaling a digitized source image of a first size to yield a digitized output image of a second size, said apparatus comprising:
-
means for initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; first means for incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; second means for incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; means, responsive to the new values of said first and second coordinate addresses, for setting a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; and control means for repetitively invoking said first and second incrementing means and said setting means until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and
for terminating scaling when a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated; andwherein said first and second pre-defined horizontal increments are respectively less than one and one in value so that horizontal enlargement scaling is produced in the output image. - View Dependent Claims (16, 17)
-
-
18. Apparatus for scaling a digitized source image of a first size to yield a digitized output image of a second size, said apparatus comprising:
-
means for initializing first and second coordinate addresses to corresponding first and second starting pixel addresses in respectively digitized source and output images; first means for incrementing the first coordinate address horizontally by a first pre-defined horizontal increment to yield a new value of the first coordinate address, said first coordinate address representing a position in the source image; second means for incrementing the second coordinate address horizontally by a second pre-defined horizontal increment to yield a new value of the second coordinate address, said second coordinate address representing a position in the output image; means, responsive to the new values of said first and second coordinate addresses, for setting a value of a specific pixel in the bit map of said output image equal to a specific pixel in a bit map of said source image, wherein said specific pixels in the bit maps of said source and output images are respectively defined by integer portions of the new values of said first and second coordinate addresses; and control means for repetitively invoking said first and second incrementing means and said setting mans until a pre-defined horizontal end condition is reached in the bit map of either said source or output images at which both the first and second coordinate addresses are reset to starting horizontal coordinate locations of said first and second starting pixel addresses and are incremented by first and second pre-defined vertical increments, respectively; and
for terminating scaling when a pre-defined vertical end condition is reached in the bit map of the source image whereby a desired bit map for the output image is generated; andwherein said first and second pre-defined vertical increments are respectively less than one and one in value so that vertical enlargement scaling is produced in the output image. - View Dependent Claims (19, 20)
-
Specification