Mixed but indistinguishable raster and vector image data types
First Claim
Patent Images
1. A method of manipulating image data corresponding to an image in a computer having a computer-readable memory and an output device, the method comprising the steps of:
- creating an image history graph and storing the image history graph in the computer-readable memory;
creating an entry in the image history graph corresponding to an image;
receiving user input requesting performance of a series of operations on the image;
creating an entry in the image history graph corresponding to each operation in the series of operations, whereby the temporal order of operations is maintained;
retrievably associating with each operation in the graph any parameters used to execute the operation;
creating an entry in the image history graph corresponding to an output operator operable to provide the image data resulting from the series of operations; and
if a first operation corresponding to a first entry in the image history graph is executable on a group of data types which group includes supported data types and excludes unsupported data types, determining whether the output of a second operation corresponding to a second entry just prior to the first entry in the image history graph is of an unsupported data type;
if the output of the second operation is of an unsupported data type, inserting in the image history graph, at a point between the first and second entries, an entry corresponding to a conversion operator, wherein the conversion operator is operable to convert the output of the second operation to a supported data type; and
if the output of the second operation is not of an unsupported data type, omitting from between the first and second entries in the image history graph an entry corresponding to a conversion operator.
2 Assignments
0 Petitions
Accused Products
Abstract
An image processing application employs the concept of integral pre-multiplied alpha channel, and combines the techniques of multi-resolution representation, graph-structured representation, and automatic and intelligent data type conversion in order to permit a computer user to mix and manipulate both raster and vector based images in a single user interface while remaining unaware of the different data types underlying the images.
29 Citations
3 Claims
-
1. A method of manipulating image data corresponding to an image in a computer having a computer-readable memory and an output device, the method comprising the steps of:
-
creating an image history graph and storing the image history graph in the computer-readable memory;
creating an entry in the image history graph corresponding to an image;
receiving user input requesting performance of a series of operations on the image;
creating an entry in the image history graph corresponding to each operation in the series of operations, whereby the temporal order of operations is maintained;
retrievably associating with each operation in the graph any parameters used to execute the operation;
creating an entry in the image history graph corresponding to an output operator operable to provide the image data resulting from the series of operations; and
if a first operation corresponding to a first entry in the image history graph is executable on a group of data types which group includes supported data types and excludes unsupported data types, determining whether the output of a second operation corresponding to a second entry just prior to the first entry in the image history graph is of an unsupported data type;
if the output of the second operation is of an unsupported data type, inserting in the image history graph, at a point between the first and second entries, an entry corresponding to a conversion operator, wherein the conversion operator is operable to convert the output of the second operation to a supported data type; and
if the output of the second operation is not of an unsupported data type, omitting from between the first and second entries in the image history graph an entry corresponding to a conversion operator.
-
-
2. A method of manipulating image data corresponding to an image in a computer having a computer-readable memory and an output device, the method comprising the steps of:
-
creating an image history graph and storing the image history graph in the computer-readable memory;
creating an entry in the image history graph corresponding to an image;
receiving user input requesting performance of a series of operations on the image;
creating an entry in the image history graph corresponding to each operation in the series of operations, whereby the temporal order of operations is maintained;
retrievably associating with each operation in the graph any parameters used to execute the operation;
creating an entry in the image history graph corresponding to an output operator operable to provide the image data resulting from the series of operations; and
if a first operation corresponding to a first entry in the image history graph is executable on a group of data types which group includes supported data types and excludes unsupported data types, determining whether the output of a second operation corresponding to a second entry just prior to the first entry in the image history graph is of an unsupported data type;
if the output of the second operation is of an unsupported data type, inserting in the image history graph, at a point between the first and second entries, an entry corresponding to a conversion operator, wherein the conversion operator is operable to convert the output of the second operation to raster data, and wherein the output device has an output device resolution, and determining the output device resolution and associating with the entry in the image history graph corresponding to the conversion operator a resolution parameter, whereby the conversion operator uses the resolution parameter to convert the image data to raster data at the output device resolution; and
if the output of the second operation is not of an unsupported data type, omitting from between the first and second entries in the image history graph an entry corresponding to a conversion operator.
-
-
3. In a computer having memory wherein is stored data corresponding to an image of a data type selected from the group consisting of (raster and vector) and the group consisting of (two-dimensional and three-dimensional), and an output device, an apparatus for executing a user-requested image manipulation operation, the apparatus comprising:
- a user interface for displaying the image;
an alpha channel pre-multiplier module for converting the image to a shape raster image if the image data is raster data having an alpha channel, whereby the alpha channel pre-multiplier module automatically multiplies the color values of each pixel by the alpha value of that pixel;
a pre-calculator module, whereby if the image is of a raster data type, the pre calculator module automatically modifies the image data in accordance with a potential image manipulation operation and stores the modified image data separately from the image data;
a graph module for creating an ordered graph of prior image manipulation operations;
a converter module usable to convert image data from raster to vector, from vector to raster, from two-dimensional to three-dimensional, and from three-dimensional to two-dimensional data types; and
a processing module for receiving user input requesting performance of an image manipulation operation, and for;
retrieving the ordered graph of image manipulation from the graph module, and re-executing at least a portion of the operations therein execution of the user-requested operation requires redoing any prior image manipulation operation;
retrieving the ordered graph of image manipulation operation from the graph module, and re-executing at least a portion of the operations therein if execution of the user-requested operation requires undoing any prior image manipulation operation;
retrieving and using in performance of the user-requested operation the modified image data created by the pre-calculator module if the potential operation is the same as the user-requested operation; and
determining which data type are unsupported by the user-requested operation and if the image is of a data type which is unsupported by the user-requested operation using the converter module to convert the image data type, wherein if the conversion is to raster data type, the conversion is automatically accomplished at a resolution corresponding to the resolution of the output device, and instructing the graph module to insert as late as possible in the graph a conversion operator;
whereby the user-requested image manipulation operation is automatically executed.
- a user interface for displaying the image;
Specification