The invention relates to methods of color sensing and estimation. More particularly the invention relates to techniques for determining RGB filter set and color estimation performance for RGB LED color sensing.
In the field of color sensing it is known that any instrument or process used to distinguish or sense colors as the human eye does must have spectral responses which correspond to some linear transformation of the CIE color mixture functions {overscore (x)}(λ), {overscore (y)}(λ), {overscore (z)}(λ). In color photography this condition is known as the Luther-Ives condition. There are infinitely many real coefficients a1, a2 and a3, such that C(λ)=a1{overscore (x)}(λ)+a2{overscore (y)}(λ)+a3{overscore (z)}(λ), represents an equivalent new color matching function C(λ). All functions of the C(λ) family are equivalent under matrix transformation.
There is much greater freedom when using color filters for color sensing to approximately realize C(λ) for a set of coefficients instead of physically realizing the CIE color matching functions. Since there are infinitely many equivalent C(λ)'s, an appropriate set of C(λ)'s must be determined for a given color filter set.
In order to be approximated by practical color filters, the new transformed color matching functions need to satisfy three conditions: 1) C(λ) is positive or zero throughout the entire spectral range; 2) C(λ) has a single peak; 3) the overlaps between the three C(λ)'s are as small as possible.
One transformation matrix satisfying the above conditions is the well known MacAdam's matrix given by:
The MacAdam's matrix satisfies the conditions for color matching functions that may be realized by real filters and is therefore of use in the design of filter sets for specific color sensing applications. Custom designed filters sets are particularly expensive to implement, especially when the filter must be designed in a specialized shape. For many applications of color sensing, the custom designed filters necessary for optimal estimation are too expensive. It would be desirable to provide a method of utilizing existing low cost filters for sub-optimal color sensing to overcome these and other limitations.
The present invention is directed to a system and method for determining RGB filter set and color estimation performance for RGB LED color sensing. Color filter performance for an RGB LED color sensing system is substantially optimized by determining transformation parameters to optimize spectral approximation. A calibration is provided to allow adjustment of parameters.
In accordance with the invention, a method for determining RGB filter set and color estimation performance for RGB LED color sensing is provided. Means for constructing a criteria function describing an error between desired color matching functions and a spectral response of an RGB filter set are provided. Means for determining RGB filter set response characteristics based on the criteria function are also provided. Finally, means for determining color estimation parameters for substantially optimal color estimation with the RGB filter set based upon the determined RGB filter set response characteristics are provided.
In accordance with another aspect of the invention a computer readable medium storing a computer program is provided. Computer readable code for constructing a criteria function describing an error between desired color matching functions and a spectral response of an RGB filter set is provided. Computer readable code for determining RGB filter set response characteristics based on the criteria function is also provided. Finally, computer readable code for determining color estimation parameters for substantially optimal color estimation with the RGB filter set based upon the determined RGB filter set response characteristics is provided.
The foregoing and other features and advantages of the invention are apparent from the following detailed description of exemplary embodiments, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims and equivalents thereof.
The present invention is directed to a system and method for determining RGB filter set and color estimation performance for RGB LED color sensing.
A criteria function describing an error between desired color matching functions and a spectral response of an RGB filter set is constructed. RGB filter set response characteristics based on the criteria function are then determined. Finally, color estimation parameters for substantially optimal color estimation with the RGB filter set are determined based upon the determined RGB filter set response characteristics. Additional steps not elucidated may occur within the following description and some steps may be combined, omitted or occur in a different order without departing from the spirit and scope of the invention.
In step 220, RGB filter set response characteristics are determined based on the criteria function. Response characteristics include constant terms for the vector “n” and the matrix “M.” The criteria function is evaluated to determine values for “M” and “n.” In one embodiment, the criteria function is a constraint set criteria function with a minimum value constraint. In the present discussion, the minimum value of the criteria function with constraint set “M” and “n” is a color filter performance index for the system RGB LED illuminants. Therefore, the scalar values of “M” and “n” that result in a minimum value criteria function determine the system color filter performance.
In step, 230 color estimation parameters for substantially optimal color estimation with the RGB filter set are determined based upon the system RGB filter set response characteristics determined in step 210. Step 230, occurs at any time after the determination of “n” and “M” in step 220. Step 230 comprises one or more color estimation parameter determinations. In one embodiment, color estimation parameters includes structures describing localized spectral approximations with weighting functions. In another embodiment, color estimation parameters includes structures describing a new set of estimated tristimulus values of a white light illuminant formed by an RGB LED set. In yet another embodiment, color estimation parameters includes structures describing a color calibration for a color estimation system. Substantially optimal color estimation is sub-optimal estimation that approaches the ideal of the CIE color mixture functions or a linear combination equivalent, while remaining sub-optimal. The color estimation parameters determined in step 230 provide inverse transformation structures that allow substantially optimal color sensing and estimation with low-cost color filters. The criteria function J is generally represented by an equation in the form:
If a computer implements step 230, a database may be automatically accessed to obtain various data to determine color estimation parameters.
In step 350, estimated tristimulus values are determined based on the spectral functions estimated in step 340. The system color sensors equipped with the system color filter set estimate the new tristimulus values based on the white light emission of the system RGB LED's. The estimated tristimulus values {circumflex over (X)}, Ŷ, {circumflex over (Z)} are determined according to the relationship represented by the equation:
where P(λ)=RLED(λ)+GLED(λ)+BLED(λ).
In step 360, a color sensing calibration is implemented. The calibration occurs after the determination of tristimulus values in step 360. A calibration matrix is determined and applied to correct for error in the system color estimation. The calibration is determined according to the relationship represented by the equation:
The I/O device 410 is a device capable of bidirectional data communication with a device external to the computer system 300. Examples of I/O devices include serial, parallel, USB, Ethernet and IEEE 802.11 compliant wireless devices, for example.
The processor 420 is a computing device usually containing memory and data control capability, such as caching and the like. The processor 420 may be integrated with supporting hardware such a video controller, a storage device controller and the like. The processor 420 generally executes instructions of a computer program such as program 476, for example.
The user interface 430 is a device such as a keyboard, a mouse, a pointing device, a pen, a microphone or another device used to provide a data entry interface with a user of the computer system 400. The memory 440 is a hardware or virtual storage for computer code and data that the processor is manipulating. Memory 440 includes all dynamic memory external to the processor including video memory, additional cache memory and the like. Portions of mass storage 470 may also be used to provide virtual memory that may be used interchangeably with the memory 440. The display 450 is a visual display such as a CRT, LCD, plasma or projection display used to provide a user with a visual interface with the computer system 400.
The removable media 460 is any device that provides a removable medium for storing computer code or data such as a magnetic disc drive, a writable optical disc drive or the equivalent.
The mass storage 470 is any device that provides storage for computer code and data such as a hard disk drive a recordable optical medium and the like. In one embodiment, the mass storage 470 is provided by a second computer server system over a network (not shown). The mass storage generally contains the operating system 477, programs 476 and may include a database 475. Programs include applications for execution by the computer system 400.
The bus 490 is a bidirectional communication device that enabled data communication between the various devices of computer system 400. The bus may include a processor and other logic devices to enable multiple data clock speeds and protocols depending upon the connected devices.
An example of the system and method of the invention in operation is now provided. However, the following illustration is merely an example of the manner in which the invention may be practiced and in no way describes all applications or cites all known embodiments of the invention.
A computer system, such as computer system 400 of
While the preferred embodiments of the invention have been shown and described, numerous variations and alternative embodiments will occur to those skilled in the art. Accordingly, it is intended that the invention be limited only in terms of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
60432892 | Dec 2002 | US | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB03/05651 | 12/4/2003 | WO | 6/9/2005 |