Claims
- 1. In an image processing system containing a display device, a computer and an input device, a method of editing an image comprising the steps of:
- displaying a portion of said image on said display device;
- selecting, by manipulation of said input device, an editing operation for selectively editing said displayed portion of said image;
- allocating a screen array containing elements for defining edits to be applied to said displayed portion of said image;
- filling said screen array elements with existing position dependent parameters that are defined by the selected editing operation;
- updating said screen array elements as editing is accomplished;
- updating said displayed portion of said image to reflect said updated screen array elements to display an edited version of said displayed portion of said image;
- selecting, by manipulation of said input device, a different editing operation;
- updating said existing position dependent parameters using the updated screen array elements; and
- saving said updated position dependent parameters as a layer in an expression tree.
- 2. In an image processing system containing a display device, a computer and an input device, a method of editing an image comprising the steps of:
- (a) displaying a portion of said image on said display device;
- (b) selecting, by manipulation of said input device, an editing operation for selectively editing said displayed portion of said image;
- (c) allocating a screen array containing elements for defining edits to be applied to said displayed portion of said image;
- (d) filling said screen array elements with existing position dependent parameters that are defined by the selected editing operation;
- (e) updating said screen array elements as said editing is accomplished; and
- (f) updating said displayed portion of said image to reflect said updated screen array elements to display an edited version of said displayed portion of said image, comprising the step of:
- (f.1) raster image processing said screen array elements and said displayed portion of said image to display said edited version of said displayed portion of said image, comprising the steps of:
- (f.1.A) updating said existing position dependent parameters using said screen array elements;
- (f.1.B) performing an inverse transform to map a plurality of discrete pixel locations within said display to a plurality of positions in continuous space;
- (f.1.C) calculating a pixel color for each position in continuous space using the updated position dependent parameters, comprising:
- (f.1.C.i) solving a series of elementary operations having the form;
- F.sub.i (x,y)=.alpha..sub.i (x,y)F.sub.i-1 (x,y)+b.sub.i (x,y)I.sub.i (P.sub.i (x,y))+c.sub.i (x,y)
- where:
- F.sub.i (x,y) is a pixel color at a position (x,y) in continuous space;
- .alpha..sub.i (x,y) is a scalar function of (x,y) representing a degree of presence at this position of an image resulting from a previously calculated elementary operation F.sub.i-1 (x,y);
- F.sub.i-1 (x,y) is a function representing an image defined by a previous layer L.sub.i-1 in an expression tree;
- b.sub.i (x,y) is a scalar function representing a degree of presence at position (x,y) of a color of an imported image I.sub.i ;
- I.sub.i (x,y) represents an imported image;
- P.sub.i (x,y) represents geometric transforms, including one or more of rotation, scaling, or distortion of the imported image I.sub.i ; and
- c.sub.i (x,y) is a position dependent parameter that can affect the color value at location (x,y); and
- (f.1.D) buffering in a buffer said calculated pixel colors; and
- (f.1.E) displaying, when said buffer is full, said pixel colors on said display device.
- 3. The method of claim 2 wherein said calculating step further comprises the step of:
- solving a global operation having the form: ##EQU2## where: .gamma.' and .alpha.'.sub.i are a function of parameters .beta..sub.i, .alpha..sub.i and .gamma..sub.i ; and
- q is a number of imported images which contribute to the pixel color at location (x,y).
- 4. The method of claim 3 wherein said calculating step further comprises the steps of:
- calculating for a subset of said plurality of locations in said displayed portion of said image said pixel color;
- interpolating the parameters .beta..sub.i, .alpha..sub.i and .gamma..sub.i at selected locations not within the subset of locations from the parameters associated with the subset of locations; and
- calculating pixel color at the locations not in the subset using the global operation and the interpolated parameters.
- 5. In an image editing system containing an input device, a computer, and a display device, a method of editing an image using a brush editing effect comprising the steps of:
- defining an area at a first location in a displayed image within which a brush editing effect is to be performed;
- moving, by manipulation of said input device, said area in said displayed image to a second location;
- defining a displacement vector in response to the direction and distance of the movement of said area from said first location to said second location;
- computing pixel values within said area at said second location that are not within said area at said first location; and
- displaying the computed pixel values.
- 6. The method of claim 5 wherein said area is of unlimited size.
- 7. The method of claim 5 wherein a velocity of motion between said first and second locations for said area is unlimited.
- 8. The method of claim 5 wherein said pixel value computing step further comprises a step of updating elements within a screen array in response to the computed pixel values.
- 9. The method of claim 8 wherein said displaying step further comprises the steps of raster image processing said screen array elements and said displayed image to display an edited version of said displayed image.
- 10. The method of claim 9 wherein said displaying step further comprises the steps of raster image processing said screen array elements and said displayed image to print an edited version of said displayed image on a printer.
- 11. The method of claim 9 or 10 wherein said step of raster image processing further comprises the steps of:
- updating position dependent parameters using said updated elements of said screen array;
- performing an inverse transform to map a plurality of discrete pixel locations within said display to a plurality of positions in continuous space;
- calculating a pixel color for each position in continuous space using the updated position dependent parameters;
- buffering in a buffer said calculated pixel colors; and
- displaying, when said buffer is full, said pixel colors on said display device.
- 12. In an image editing system containing an input device, a computer and a display device, a method of editing an image using a brush editing effect comprising the steps of:
- (a) defining an area at a first location in a displayed image within which a brush editing effect is to be performed;
- (b) moving, by manipulation of said input device, said area in said displayed image to a second location;
- (c) defining a displacement vector in response to the direction and distance of the movement of said area from said first location to said second location;
- (d) computing pixel values within said area at said second location that are not within said area at said first location, comprising:
- (d.1) updating elements within a screen array in response to the computed pixel values; and
- (e) displaying the computed pixel values, comprising:
- (e.1) raster image processing said screen array elements and said displayed image to display an edited version of said displayed image, comprising:
- (e.1.A) updating position dependent parameters using updated elements of said screen array;
- (e.1.B) performing an inverse transform to map a plurality of discrete pixel locations within said display to a plurality of positions in continuous space;
- (e.1.C) calculating a pixel color for each position in continuous space using the updated position dependent parameters, comprising:
- (e.1.C.i) solving a series of elementary operations having the form:
- F.sub.i (x,y)=.alpha..sub.i (x,y)F.sub.i-1 (x,y)+b.sub.i (x,y)I.sub.i (P.sub.i (x,y))+c.sub.i (x,y)
- where:
- F.sub.i (x,y) is a pixel color at a position (x,y) in continuous space;
- .alpha..sub.i (x,y) is a scalar function of (x,y) representing a degree of presence at this position of an image resulting from a previously calculated elementary operation F.sub.i-1 (x,y);
- F.sub.i-1 (x,y) is a function representing an image defined by a previous layer L.sub.i-1 in an expression tree;
- b.sub.i (x,y) is a scalar function representing a degree of presence at position (x,y) of a color of an imported image I.sub.i ;
- I.sub.i (x,y) represents an imported image;
- P.sub.i (x,y) represents geometric transforms, including one or more of rotation, scaling, or distortion of the imported image I.sub.i ; and
- c.sub.i (x,y) is a position dependent parameter that can affect the color value at location (x,y); and
- (e.1.D) buffering in a buffer said calculated pixel colors; and
- (e.1.E) displaying, when said buffer is full, said pixel colors on said display device.
- 13. The method of claim 12 wherein said calculating step further comprises the step of:
- solving a global operation having the form: ##EQU3## where: .gamma.' and .alpha.'.sub.i are a function of parameters .beta..sub.i, .alpha..sub.i and .gamma..sub.i ; and
- q is a number of imported images which contribute to the pixel color at location (x,y).
- 14. The method of claim 12 wherein said calculating step further comprises the steps of:
- calculating for a subset of said plurality of locations in said displayed image said pixel color;
- interpolating the parameters .beta..sub.i, .alpha..sub.i and .gamma..sub.i at selected locations not within the subset of location from the parameters associated with the subset of locations; and
- calculating pixel color at the locations not in the subset using the global operation and the interpolated parameters.
- 15. A method of editing an image comprising the steps of:
- inputting an input image;
- preprocessing the input image into a series of reduced resolution images;
- selecting one of the series of reduced resolution images for editing;
- editing the image in a continuous space;
- defining a plurality of pixel locations within a display device;
- mapping the pixel locations within the display device to locations within the continuous space;
- calculating a pixel color at each mapped location in the continuous space; and
- displaying each pixel color at an associated pixel location in the display device.
- 16. The method of claim 15 wherein said preprocessing step further comprises the step of tiling said reduced resolution images and said selecting step selects one or more of said tiles for editing.
- 17. The method of claim 15 wherein said editing step further comprises the steps of:
- allocating a screen array containing elements for defining edits to be applied to said displayed image;
- filling said screen array elements with existing position dependent parameters that are defined by a selected editing operation; and
- updating said screen array elements as said editing operation is accomplished.
- 18. The method of claim 17 wherein said displaying step further comprises the steps of raster image processing said screen array elements and said displayed image to display an edited version of said displayed image.
- 19. The method of claim 17 wherein said displaying step further comprises the steps of raster image processing said screen array elements and said displayed image to print an edited version of said displayed image on a printer.
- 20. The method of claim 18 or 19 wherein said step of raster image processing further comprises the steps of:
- updating position dependent parameters using said screen array elements;
- performing an inverse transform to map a plurality of discrete pixel locations within said display to a plurality of positions in continuous space;
- calculating a pixel color for each position in continuous space using the updated position dependent parameters; and
- buffering in a buffer said calculated pixel colors; and
- displaying, when said buffer is full, said pixel colors on said display device.
- 21. A method of editing an image comprising the steps of:
- (a) inputting an input image;
- (b) preprocessing the input image into a series of reduced resolution images;
- (c) selecting one of the series of reduced resolution images for editing;
- (d) editing the image in a continuous space, comprising the steps of:
- (d.1) allocating a screen array containing elements for defining edits to be applied to said displayed image;
- (d.2) filling said screen array elements with existing position dependent parameters that are defined by a selected editing operation; and
- (d.3) updating said screen array elements as said editing operation is accomplished;
- (e) defining a plurality of pixel locations within a display device;
- (f) mapping the pixel locations within the display device to locations within the continuous space;
- (g) calculating a pixel color at each mapped location in the continuous space; and
- (h) displaying each pixel color at an associated pixel location in the display device, comprising the step of:
- (h.1) raster image processing said screen array elements and said displayed image to display an edited version of said displayed image, comprising the steps of:
- (h.1.A) updating position dependent parameters using said screen array elements;
- (h.1.B) performing an inverse transform to map a plurality of discrete pixel locations within said display to a plurality of positions in continuous space;
- (h.1.C) calculating a pixel color for each position in continuous space using the updated position dependent parameters, comprising:
- (h.1.C.i) solving a series of elementary operations having the form:
- F.sub.i (x,y)=.alpha..sub.i (x,y)F.sub.i-1 (x,y)+b.sub.i (x,y)I.sub.i (P.sub.i (x,y))+c.sub.i (x,y)
- where:
- F.sub.i (x,y) is a pixel color at a position (x,y) in continuous space;
- .alpha..sub.i (x,y) is a scalar function of (x,y) representing a degree of presence at this position of an image resulting from a previously calculated elementary operation F.sub.i-1 (x,y);
- F.sub.i-1 (x,y) is a function representing an image defined by a previous layer L.sub.i-1 in an expression tree;
- b.sub.i (x,y) is a scalar function representing a degree of presence at position (x,y) of a color of an imported image I.sub.i ;
- I.sub.i (x,y) represents an imported image;
- P.sub.i (x,y) represents geometric transforms, including one or more of rotation, scaling, or distortion of the imported image I.sub.i ; and
- c.sub.i (x,y) is a position dependent parameter that can affect the color value at location (x,y); and
- (h.1.D) buffering in a buffer said calculated pixel colors; and
- (h.1.E) displaying, when said buffer is full, said pixel colors on said display device.
- 22. The method of claim 21 wherein said calculating step further comprises the step of:
- solving a global operation having the form: ##EQU4## where: .gamma.' and .alpha.'.sub.j are a function of parameters .beta..sub.i, .alpha..sub.i and .gamma..sub.i ; and
- q is a number of imported images which contribute to the pixel color at location (x,y).
- 23. The method of claim 22 wherein said calculating step further comprises the steps of:
- calculating for a subset of said plurality of locations in said displayed portion of said image said pixel color;
- interpolating the parameters .beta..sub.i, .alpha..sub.i and .gamma..sub.i at locations not within the subset of location from the parameters associated with the subset of locations; and
- calculating pixel color at the locations not in the subset using the global operation and the interpolated parameters.
- 24. A method for non-destructive image composition of an original digital image residing in an original digital file, comprising:
- displaying a user-selected region of said original image at a first user-selected resolution;
- modifying said user-selected region of said original image, in response to input from a user, so as to define a modified original digital image;
- expressing said modifying step as parameters of at least one spatially resolution independent transformation;
- recording said parameters separate from said original digital image; and
- outputting a user-selected region of said modified original image at a second user-selectable resolution onto an output device, by:
- applying said at least one spatially resolution independent transformation to said original digital image so as to produce said user-selected region of said modified original image; and
- rendering said user-selected region of said modified original image on said output device.
- 25. A method according to claim 24 and wherein said original digital file also contains original parameter data for at least one original spatially resolution independent transformation, and wherein said recording step merges said parameters with said original parameter data, and wherein said applying step combines said at least one spatially resolution independent transformation with said at least one original spatially resolution independent transformation.
- 26. A method according to claim 24 and wherein said recording step represents the parameters as a tree data structure.
- 27. A method according to claim 24 and wherein said original digital image is represented as a pyramid of sub-images, each sub-image having a lower pixel resolution than its predecessor in the pyramid.
- 28. A method according to claim 27 and wherein said sub-images are partitioned into individually accessible rectangular image tiles.
- 29. A method according to claim 24 and wherein at least one of said spatially resolution independent transformations corresponds to an air-brushing effect.
- 30. A method according to claim 24 and wherein at least one of said spatially resolution independent transformations corresponds to a color leveling effect.
- 31. A method according to claim 24 and wherein at least one of said spatially resolution independent transformations corresponds to a color contrasting effect.
- 32. A method according to claim 24 and wherein at least one of said spatially resolution independent transformations corresponds to image insertion.
- 33. A method according to claim 24 and wherein at least one of said spatially resolution independent transformations corresponds to a lightening/darkening effect.
- 34. A method according to claim 24 and wherein at least one of said spatially resolution independent transformations corresponds to an image deformation.
- 35. A method according to claim 24 and wherein said expressing step only produces a subset of said parameters of spatially resolution independent transformations, and wherein said applying step also includes filling in the missing parameters by interpolation.
- 36. A method according to claim 24 and wherein a user successively modifies said original digital image, producing repeated modifications which are expressed as spatially resolution independent transformations, organized into a tree data-structure, and recorded.
- 37. A system for non-destructive image composition, of an original digital image residing in an original digital file, comprising:
- a display device displaying a user-selected region of said original image at a first user-selected resolution;
- a user interface modifying, said user-selected region of said original image, in response to input from a user, so as to define a modified original digital image;
- an interpreter expressing modification of the original image as parameters of at least one spatially resolution independent transformation;
- a storage device recording said parameters separate from said original digital image; and
- an output device outputting a user-selected region of said modified original image at a second user-selectable resolution onto an output device, by:
- an image processor applying said at least one spatially resolution independent transformation to said original digital image so as to produce said user-selected region of said modified original image; and
- an image renderer rendering said user-selected region of said modified original image on said output device.
- 38. A system according to claim 37 and wherein said original digital file digital also contains original parameter data for at least one original spatially resolution independent transformation, and wherein said storage device merges said parameters with said original parameter data, and wherein said image processor combines said at least one spatially resolution independent transformation with said at least one original spatially resolution independent transformation.
- 39. A system according to claim 37 and wherein said storage device uses a representation of the parameters as a tree data structure.
- 40. A system according to claim 37 and wherein said original digital image is represented as a pyramid of sub-images, each sub-image having a lower pixel resolution than its predecessor in the pyramid.
- 41. A system according to claim 37 and wherein said sub-images are partitioned into individually accessible rectangular image tiles.
- 42. A system according to claim 37 and wherein at least one of said spatially resolution independent transformations corresponds to an air-brushing effect.
- 43. A system according to claim 37 and wherein at least one of said spatially resolution independent transformations corresponds to a color leveling effect.
- 44. A system according to claim 37 and wherein at least one of said spatially resolution independent transformations corresponds to a color contrasting effect.
- 45. A system according to claim 37 and wherein at least one of said spatially resolution independent transformations corresponds to image insertion.
- 46. A system according to claim 37 and wherein at least one of said spatially resolution independent transformations corresponds to a lightening/darkening effect.
- 47. A system according to claim 37 and wherein at least one of said spatially resolution independent transformations corresponds to an image deformation.
- 48. A system according to claim 37 and wherein said interpreter only produces a subset of said parameters of spatially resolution independent transformations, and wherein said image processor also includes filling in the missing parameters by interpolation.
- 49. A system according to claim 37 and wherein the user successively modifies said original digital image, producing repeated modifications which are expressed as spatially resolution independent transformations, organized into a tree data-structure, and recorded.
Priority Claims (1)
| Number |
Date |
Country |
Kind |
| 93 03455 |
Mar 1993 |
FRX |
|
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of U.S. patent application Ser. No. 08/085,534, filed Jun. 30, 1993, for "Method and System for Image Processing", the contents of which are herein incorporated by reference. This patent application, as well as the parent patent application, claims priority of French patent application No. 93.03455, filed Mar. 25, 1993, the contents of which are herein incorporated by reference.
PCT Information
| Filing Document |
Filing Date |
Country |
Kind |
102e Date |
371c Date |
| PCT/US94/03266 |
3/25/1994 |
|
|
11/13/1995 |
11/13/1995 |
| Publishing Document |
Publishing Date |
Country |
Kind |
| WO94/22101 |
9/29/1994 |
|
|
US Referenced Citations (28)
Foreign Referenced Citations (1)
| Number |
Date |
Country |
| 0198269 |
Oct 1986 |
EPX |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
085534 |
Jun 1993 |
|