Method and apparatus for separating image data from a color system in image processing
First Claim
1. A system for separating image data from a color system in image processing comprising:
- a data source having a plurality of channels of raw data for an image, said plurality representing a number, said number being independent of any particular color system, wherein each of said plurality of channels of raw data comprises pixel data for said image;
a buffered-image object having a buffer of information regarding said image in a desired color system, said desired color system being selected from a plurality of color systems, each of said plurality of color systems requiring a number of channels not greater than said plurality of channels of raw data, said buffer of information including type, height, and width of said image, said type defining which subset of said plurality of channels of raw data are used for said desired color system and the manner of storage of said raw data in said channels and definition of said desired color system;
a tile object associated with said buffered-image object, said tile object providing a capability to perform image operations, which are outside of said desired color system, on said raw data using said subset of said plurality of channels;
a color model object associated with said buffered-image object, said color model object providing capability for color operations within said desired color system.
2 Assignments
0 Petitions
Accused Products
Abstract
Raw image data is separated from color image data such that image data can be operated on independent of a color model. Alternatively, image data can be associated with a color model and image processing operations can operate on the image data in terms of the color model. No color model is presupposed for a given image. When an image processing operation uses a color system, a color system can be selected in which the operation is performed and the source image will be converted. Different color systems can be associated with the same image data to process the image. Where it is not necessary to perform an image processing operation in a color system, the operation can access the image data independent of a color system. In an embodiment of the invention, a Tile object class is comprised of an array of Channel objects. A Channel object is associated with one or more storage bands of image data. A ColorModel object class identifies a color system and specifies a mapping between the raw image data and the color and alpha components of a color system. A BufferedImage object class is defined that associates a ColorModel with a Tile. BufferedImageOp and TileOp interfaces are defined in embodiments of the invention that are implemented by image processing or filtering object classes. A BufferedImageOp interface is used for filtering operations performed within a color system. Filtering operations that are performed outside a color system use the TileOp interface.
68 Citations
31 Claims
-
1. A system for separating image data from a color system in image processing comprising:
-
a data source having a plurality of channels of raw data for an image, said plurality representing a number, said number being independent of any particular color system, wherein each of said plurality of channels of raw data comprises pixel data for said image;
a buffered-image object having a buffer of information regarding said image in a desired color system, said desired color system being selected from a plurality of color systems, each of said plurality of color systems requiring a number of channels not greater than said plurality of channels of raw data, said buffer of information including type, height, and width of said image, said type defining which subset of said plurality of channels of raw data are used for said desired color system and the manner of storage of said raw data in said channels and definition of said desired color system;
a tile object associated with said buffered-image object, said tile object providing a capability to perform image operations, which are outside of said desired color system, on said raw data using said subset of said plurality of channels;
a color model object associated with said buffered-image object, said color model object providing capability for color operations within said desired color system. - View Dependent Claims (2, 3, 4)
-
-
5. A method of separating raw image data from a color system comprising:
-
obtaining a data source having a plurality of channels of raw data for an image, said plurality representing a number, said number being independent of any particular color system, wherein each of said plurality of channels of raw data comprises pixel data for said image;
selecting a desired color system from a plurality of color systems for processing said raw data, said desired color system requiring a number of channels not greater than said plurality of channels of raw data;
creating a buffered-image object having a buffer of information regarding said image in said desired color system, said buffer of information including type, height, and width of said image, said type defining which subset of said plurality of channels of raw data are used for said desired color system and the manner of storage of said raw data in said channels and definition of said desired color system;
creating a tile object associated with said buffered-image object, said tile object providing a capability to perform image operations, which are outside of said desired color system, on said raw data using said subset of said plurality of channels;
creating a color model object associated with said buffered-image object, said color model object providing capability for color operations within said desired color system. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
creating a destination tile object, if a destination tile object does not exist;
accessing said tile object to retrieve an item of raw image data from said one or more channel objects;
performing said image processing operation on said item of raw image data to generate a modified item of raw image data;
accessing said destination tile object to store said modified item of raw image data.
-
-
7. The method of claim 6 wherein said creating a destination tile object further comprises:
identifying said tile object as said destination tile object.
-
8. The method of claim 5 further comprising an image processing operation performed within a color system, said image processing operation comprising:
-
creating a destination image object;
accessing said image object to retrieve an item of color data;
performing said image processing operation on said item of color data to generate a modified color data item;
accessing said destination image object to store said modified color data item.
-
-
9. The method of claim 8 wherein said accessing said image object to retrieve further comprises:
-
retrieving an item of raw image data;
accessing said color model object associated with said image object to interpret said item of raw image data as a component of said color system.
-
-
10. The method of claim 8 wherein said accessing said image object to store further comprises:
-
accessing said color model object associated with said image object to interpret said modified color data item as raw image data;
storing said modified color data item as raw image data.
-
-
11. The method of claim 8 wherein said creating a destination image object further comprises:
identifying said image object as said destination image object.
-
12. The method of claim 5 further comprising:
-
creating a plurality of additional channel objects that are associated with a plurality of additional bands of raw image data;
creating a parent tile object, said parent tile object providing operations for retrieving raw image data from said channel object and said plurality of additional channel objects;
identifying said tile object as a subtile of said parent tile object.
-
-
13. The method of claim 12 further comprising:
-
creating a second image object, said second image object is associated with said parent tile object;
creating a second color model object associated with said second image object, said second color model object providing operations to interpret said raw image data as color components of a second color system.
-
-
14. An article of manufacture comprising:
-
a computer usable medium having computer readable program code embodied therein for separating raw image data from a color system comprising;
computer readable program code configured to cause a computer to obtain a data source having a plurality of channels of raw data for an image, said plurality representing a number, said number being independent of any particular color system, wherein each of said plurality of channels of raw data comprises pixel data for said image;
computer readable program code configured to cause a computer to select a desired color system from a plurality of color systems for processing said raw data, said desired color system requiring a number of channels not greater than said plurality of channels of raw data;
computer readable program code configured to cause a computer to create a buffered-image object having a buffer of information regarding said image in said desired color system, said buffer of information including type, height, and width of said image, said type defining which subset of said plurality of channels of raw data are used for said desired color system and the manner of storage of said raw data in said channels and definition of said desired color system;
computer readable program code configured to cause a computer to create a tile object associated with said buffered-image object, said tile object providing a capability to perform image operations, which are outside of said desired color system, on said raw data using said subset of said plurality of channels;
computer readable program code configured to cause a computer to create a color model object associated with said buffered-image object, said color model object providing capability for color operations within said desired color system. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
computer readable program code configured to cause a computer to create a destination tile object, if a destination tile object does not exist;
computer readable program code configured to cause a computer to access said tile object to retrieve an item of raw image data from said one or more channel objects;
computer readable program code configured to cause a computer to perform said image processing operation on said item of raw image data to generate a modified item of raw image data;
computer readable program code configured to cause a computer to access said destination tile object to store said modified item of raw image data.
-
-
16. The article of manufacture of claim 15 wherein said computer readable program code configured to cause a computer to create a destination tile object further comprises:
computer readable program code configured to cause a computer to identify said tile object as said destination tile object.
-
17. The article of manufacture of claim 14 further comprising an image processing operation performed within a color system, said article of manufacture further comprising:
-
computer readable program code configured to cause a computer to create a destination image object;
computer readable program code configured to cause a computer to access said image object to retrieve an item of color data;
computer readable program code configured to cause a computer to perform said image processing operation on said item of color data to generate a modified color data item;
computer readable program code configured to cause a computer to access said destination image object to store said modified color data item.
-
-
18. The article of manufacture of claim 17 wherein said computer readable program code configured to cause a computer to access said image object to retrieve further comprises:
-
computer readable program code configured to cause a computer to retrieve an item of raw image data;
computer readable program code configured to cause a computer to access said color model object associated with said image object to interpret said item of raw image data as a component of said color system.
-
-
19. The article of manufacture of claim 17 wherein said computer readable program code configured to cause a computer to access said image object to store further comprises:
-
computer readable program code configured to cause a computer to access said color model object associated with said image object to interpret said modified color data item as raw image data;
computer readable program code configured to cause a computer to store said modified color data item as raw image data.
-
-
20. The article of manufacture of claim 17 wherein said computer readable program code configured to cause a computer to create a destination image object further comprises:
computer readable program code configured to cause a computer to identify said image object as said destination image object.
-
21. The article of manufacture of claim 14 further comprising:
-
computer readable program code configured to cause a computer to create a plurality of additional channel objects that are associated with a plurality of additional bands of raw image data;
computer readable program code configured to cause a computer to create a parent tile object, said parent tile object providing operations for retrieving raw image data from said channel object and said plurality of additional channel objects;
computer readable program code configured to cause a computer to identify said tile object as a subtile of said parent tile object.
-
-
22. The article of manufacture of claim 21 further comprising:
-
computer readable program code configured to cause a computer to create a second image object, said second image object is associated with said parent tile object;
computer readable program code configured to cause a computer to create a second color model object associated with said second image object, said second color model object providing operations to interpret said raw image data as color components of a second color system.
-
-
23. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to separate raw image data from a color system by performing:
-
obtaining a data source having a plurality of channels of raw data for an image, said plurality representing a number, said number being independent of any particular color system, wherein each of said plurality of channels of raw data comprises pixel data for said image;
selecting a desired color system from a plurality of color systems for processing said raw data, said desired color system requiring a number of channels not greater than said plurality of channels of raw data;
creating a buffered-image object having a buffer of information regarding said image in said desired color system, said buffer of information including type, height, and width of said image, said type defining which subset of said plurality of channels of raw data are used for said desired color system and the manner of storage of said raw data in said channels and definition of said desired color system;
creating a tile object associated with said buffered-image object, said tile object providing a capability to perform image operations, which are outside of said desired color system, on said raw data using said subset of said plurality of channels;
creating a color model object associated with said buffered-image object, said color model object providing capability for color operations within said desired color system. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
creating a destination tile object, if a destination tile object does not exist;
accessing said tile object to retrieve an item of raw image data from said one or more channel objects;
performing said image processing operation on said item of raw image data to generate a modified item of raw image data;
accessing said destination tile object to store said modified item of raw image data.
-
-
25. The computer data signal of claim 24 wherein said creating a destination tile object further comprises:
identifying said tile object as said destination tile object.
-
26. The computer data signal of claim 23 further comprising an image processing operation performed within a color system, said sequences of instructions further comprise:
-
creating a destination image object;
accessing said image object to retrieve an item of color data;
performing said image processing operation on said item of color data to generate a modified color data item;
accessing said destination image object to store said modified color data item.
-
-
27. The computer data signal of claim 26 wherein said accessing said image object to retrieve further comprises:
-
retrieving an item of raw image data;
accessing said color model object associated with said image object to interpret said item of raw image data as a component of said color system.
-
-
28. The computer data signal of claim 26 wherein said accessing said image object to store further comprises:
-
accessing said color model object associated with said image object to interpret said modified color data item as raw image data;
storing said modified color data item as raw image data.
-
-
29. The computer data signal of claim 26 wherein said creating a destination image object further comprises:
identifying said image object as said destination image object.
-
30. The computer data signal of claim 23, wherein said sequences of instructions which, when executed by a processor, cause said processor to perform:
-
creating a plurality of additional channel objects that are associated with a plurality of additional bands of raw image data;
creating a parent tile object, said parent tile object providing operations for retrieving raw image data from said channel object and said plurality of additional channel objects;
identifying said tile object as a subtile of said parent tile object.
-
-
31. The computer data signal of claim 30, wherein said sequences of instructions which, when executed by a processor, cause said processor to perform:
-
creating a second image object, said second image object is associated with said parent tile object;
creating a second color model object associated with said second image object, said second color model object providing operations to interpret said raw image data as color components of a second color system.
-
Specification