Image format conversion such as photometric, rotation, cropping, padding, scaling, dithering, bit padding, grayscale and color transformation, encoding and decoding using a plurality of filters
First Claim
1. A method of transforming image data between formats, comprising:
- receiving a request for image data in a requested format, the requested format including a plurality of parameters having a first set of parameter values including width, height, orientation, horizontal resolution, vertical resolution, bits per sample, and photometric;
identifying a present format for the image data, the present format including a second set of parameter values for the plurality of parameters;
comparing the second set of parameter values to the first set of parameter values;
responsive to identifying at least one parameter value within the second set which does not match a parameter value within the first set for a corresponding parameter, initializing a filter stack capable of containing an arbitrary number of selectively installed filters;
for each parameter value within the second set which does not match a corresponding parameter value within the first set, installing a filter in the filter stack for altering the image data; and
applying each filter in the filter stack to the image data, wherein the image data may be efficiently transformed from the present format to the requested format.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and system for transforming image data from a present format to a requested format. A request for the image data is received wherein the request includes a requested format, the requested format includes a first plurality of parameters. A present format for the image data is determined in response to receiving a request for the image data, wherein the present format includes a second plurality of parameters describing the image data. The first plurality of parameters within the requested format is compared to the second plurality of parameters within the present format describing the image data, wherein each parameter within the first plurality of parameters corresponds to a parameter within the second plurality of parameters. Parameters from the first and second plurality of parameters are identified, wherein a match between a parameter within the first plurality of parameters and a corresponding parameter within the second plurality of parameters is absent. The image data is altered utilizing the identified parameters, wherein the image data is transformed from a present format to a requested format.
80 Citations
17 Claims
-
1. A method of transforming image data between formats, comprising:
-
receiving a request for image data in a requested format, the requested format including a plurality of parameters having a first set of parameter values including width, height, orientation, horizontal resolution, vertical resolution, bits per sample, and photometric;
identifying a present format for the image data, the present format including a second set of parameter values for the plurality of parameters;
comparing the second set of parameter values to the first set of parameter values;
responsive to identifying at least one parameter value within the second set which does not match a parameter value within the first set for a corresponding parameter, initializing a filter stack capable of containing an arbitrary number of selectively installed filters;
for each parameter value within the second set which does not match a corresponding parameter value within the first set, installing a filter in the filter stack for altering the image data; and
applying each filter in the filter stack to the image data, wherein the image data may be efficiently transformed from the present format to the requested format. - View Dependent Claims (2, 3, 4, 5, 6, 7)
reading the image data into a buffer; and
applying each filter in the filter stack to the image data in the buffer.
-
-
3. The method of claim 1, wherein the step of installing a filter in the filter stack further comprises:
installing a software filter selected from a filter library including a photometric filter, a rotate filter, a crop filter, a pad filter, a scale filter, a bit pad filter, a dither filter, a gray filter, a color transform filter, a decode filter, and an encode filter.
-
4. The method of claim 1, wherein the step of altering the image data further comprises:
-
installing within the filter stack only those filters altering a parameter of the image data corresponding to a parameter value within the second set which does not match a corresponding parameter value in the first set; and
passing the image data through the filter stack.
-
-
5. The method of claim 1, wherein the step of creating a filter stack further comprises:
serially connecting a plurality of selected filters together, wherein a first of the plurality of selected filters provides an input for the filter stack and a last of the plurality of selected filters provides an output for the filter stack.
-
6. The method of claim 1, further comprising:
storing the altered image in a storage device.
-
7. The method of claim 1, further comprising:
sending the altered image to a printer.
-
8. A data processing system for transforming image data, comprising:
-
a storage device containing the image data;
a processor implementing an image transformer by;
receiving a request for the image data in a requested format describing an image with a first set of parameter values including width, height, orientation, horizontal resolution, bits per sample, and photometric;
identifying a present format of the image data, wherein the present format describes the image with a second set of parameter values;
comparing the first and second sets of parameter values to each parameter for which a parameter value within the first set does not match a corresponding parameter value within the second set;
if at least one parameter value within the first set does not match a corresponding parameter value within the second set, initializing a filter stack capable of containing an arbitrary number of selectively installed filters;
for each identified parameter having a parameter value within the first set which does not match a corresponding parameter value within the second set, selecting and installing a filter in the filter stack for altering the image data with respect to the identified parameter; and
applying each selected filter installed in the filter stack to the image data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
a storage device coupled to the processor receiving and storing the altered image.
-
-
14. The data processing system of claim 8, further comprising:
a printer coupled to the processor receiving the altered image.
-
15. A computer program product within a computer usable medium, comprising:
-
instructions for receiving a request for the image data in a requested format describing an image with a first set of parameter values;
instructions for identifying a present format of the image data, wherein the present format describes the image with a second set of parameter values;
instructions for comparing the first and second sets of parameter values to each parameter for which a parameter value within the first set does not match a corresponding parameter value within the second set;
instructions, if at least one parameter value within the first set does not match a corresponding parameter value within the second set, for initializing a filter stack capable of containing an arbitrary number of selectively installed filters;
instructions, for each identified parameter having a parameter value within the first set which does not match a corresponding parameter value within the second set, for selecting and installing a filter in the filter stack for altering the image data with respect to the identified parameter, wherein said filter is selected from a filter library including a photometric filter, a rotate filter, a crop filter, a pad filter, a scale filter, a bit pad filter, a dither filter, a gray filter, a color transform filter, a decode filter, and an encode filter; and
instructions for applying each selected filter installed in the filter stack to the image data. - View Dependent Claims (16, 17)
instructions for installing within the filter stack only those filters altering an identified parameter of the image data having a parameter value within the first set which does not match a corresponding parameter value within the second set.
-
-
17. The computer program product of claim 15, further comprising:
-
instructions for serially connecting the selected filters are serially installed in the filter stack;
instructions for specifying a first of the selected filters as an input for the filter stack; and
instructions for specifying a last of the selected filters as an output for the filter stack.
-
Specification