This invention relates to controlling an output of a light fixture.
The color temperature of a white-light light source (e.g., an incandescent light bulb) corresponds to the temperature of an ideal black-body radiator that radiates light of a comparable hue, and is identified in units of absolute temperature, Kelvin (“K”). Color temperatures of approximately 5,000K or greater are referred to as cool colors, and color temperatures between approximately 2,700K and 3,000K are referred to as warm colors. For example, the light output by an incandescent light bulb is thermal radiation and approximates an ideal black-body radiator. The color temperatures associated with the incandescent light bulb follow the Planckian locus through a particular color space (e.g., the CIE xyY color space) from low color temperatures (i.e., warm colors) to high color temperatures (i.e., cool colors). Accordingly, color temperature is a convenient way to describe the output of an incandescent light bulb or other similar white-light light sources.
Although color temperature is convenient for describing the output of white-light light sources, color temperature is undefined with respect to light sources that do not approximate, or cannot be correlated to, ideal black-body radiators (e.g., red light emitting diodes (“LEDs”), green LEDs, blue LEDs, etc.). Such light sources cannot be individually described with respect to a color temperature. Although systems have been developed that use discrete color light sources (e.g., LEDs) to approximate white-light light sources, such systems are unable to produce a non-white output that mimics the color temperature changes of an ideal black-body radiator.
As such, the invention provides systems and methods for controlling an output of a light fixture. The light fixture includes four or more light sources. The light fixture, or a controller connected to the light fixture, is configured to produce an output that mimics the color temperature changes of an ideal black-body radiator based on a desired target color, a white point color temperature setting, and an intensity value. For example, input parameters corresponding to the desired target color and the intensity for the desired target color are inputted using a color control methodology (e.g., HSI, RGB, etc.). The white point color temperature setting is then determined based on the intensity value and a relationship between the intensity value and the color temperature of an ideal black-body radiator. A color temperature transform is then determined, selected, or identified based on the white point color temperature setting. The color temperature transform and the desired target color are used to determine a modified target color point within a color space (e.g., the CIE xyY color space). A set of light source output intensity values corresponding to the modified target color point are then identified, and the light sources are driven to the identified output intensity values.
In one implementation, the invention provides a method of controlling an output of a light fixture. The light fixture includes four or more light sources. The method includes receiving a first input parameter corresponding to a first color point within a color space, receiving a second input parameter associated with a desired intensity for the first color point, and determining a white point based on a relationship between the second input parameter and the color temperature of a black-body radiator. The white point corresponds to a second color point within the color space, and a color temperature transform is selected based on the white point. The method also includes calculating a third color point within the color space based on the color temperature transform, determining a respective light source output value for each of the four or more light sources based on the third color point, and driving each of the four or more light sources at the respective light source output value to produce the output of the light fixture. The color temperature transform defines a relationship between the first color point and the third color point. The third color point is different than the first color point, and the third color point is different than the second color point.
In another implementation, the invention provides a method of controlling an output of a light fixture. The light fixture includes four or more light sources. The method includes receiving a set of input parameters. The set of input parameters correspond to a first color point within a color space and an intensity for the first color point. The method also includes determining a color temperature setting based on a relationship between the set of input parameters and the color temperature of a black-body radiator. The color temperature setting corresponds to a second color point within the color space. A color temperature transform is determined based on the color temperature setting, and a third color point within the color space is calculated based on the color temperature transform. The color temperature transform defines a relationship between the first color point and the third color point. The third color point is different than the first color point, and the third color point is different than the second color point. The method also includes determining a respective light source output value for each of the four or more light sources based on the third color point, and driving each of the four or more light sources at the respective light source output value to produce the output of the light fixture.
In one construction, the invention provides a system for controlling the output of a light fixture. The system includes four or more light sources and a controller. The controller is configured to receive a first input parameter corresponding to a first color point within a color space, receive a second input parameter associated with a desired intensity for the first color point, and determine a white point based on a relationship between the second input parameter and the color temperature of a black-body radiator. The white point corresponds to a second color point within the color space, and a color temperature transform is selected based on the white point. The controller is also configured to calculate a third color point within the color space based on the color temperature transform, determine a respective light source output value for each of the four or more light sources based on the third color point, and drive each of the four or more light sources at the respective light source output value to produce the output of the light fixture. The color temperature transform defines a relationship between the first color point and the third color point. The third color point is different than the first color point, and the third color point is different than the second color point.
Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings.
Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways.
The invention described herein relates to systems and methods for controlling an output of a light fixture. The light fixture includes four or more light sources. The light fixture, or a controller connected to the light fixture, is configured to produce an output that mimics the color temperature changes of an ideal black-body radiator based on one or more input parameters (e.g., a desired target color, a white point color temperature setting, an intensity value, etc.). For example, the input parameters corresponding to a desired target color and an intensity value for the desired color are inputted using one or more color control methodologies (e.g., HSI, RGB, etc.). The desired target color corresponds to a first color point or coordinate within a color space (e.g., the CIE xyY color space), and the intensity value corresponds to an intensity for the first color point. The white point color temperature setting is then determined, selected, or calculated based on, for example, the intensity value and a relationship between the intensity value and the color temperature of an ideal black-body radiator. The white point color temperature setting corresponds to a second color point or coordinate within the color space and is used to determine, select, or identify a color temperature transform. The color temperature transform defines a relationship between the first color point and a third color point or coordinate. The color temperature transform is then used to determine the third color point within the color space. The third color point is different from the first color point and the second color point. A set of light source output intensity values corresponding to the third color point are then identified, and the light sources are driven to the identified output intensity values.
In some implementations, light fixtures are used in, for example, a theatre, a hall, an auditorium, a studio, or the like. Each light fixture 100 includes, among other things, a controller 105, a plurality of light sources 110A-110G, a power supply module 115, a user interface 120, one or more indicators 125, and a communications module 130, as shown in
The controller 105 includes, or is connected to an external device (e.g., a computer), which includes combinations of software and hardware that are operable to, among other things, control the operation of one or more of the light fixtures, control the output of each of the light sources 110A-110G, and activate the one or more indicators 125 (e.g., LEDs or a liquid crystal display (“LCD”)). In one construction, the controller 105 or external device includes a printed circuit board (“PCB”) (not shown) that is populated with a plurality of electrical and electronic components that provide power, operational control, and protection to the light fixtures. In some constructions, the PCB includes, for example, a processing unit 135 (e.g., a microprocessor, a microcontroller, or another suitable programmable device), a memory 140, and a bus. The bus connects various components of the PCB including the memory 140 to the processing unit 135. The memory 140 includes, for example, a read-only memory (“ROM”), a random access memory (“RAM”), an electrically erasable programmable read-only memory (“EEPROM”), a flash memory, a hard disk, or another suitable magnetic, optical, physical, or electronic memory device. The processing unit 135 is connected to the memory 140 and executes software that is capable of being stored in the RAM (e.g., during execution), the ROM (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc. Additionally or alternatively, the memory 140 is included in the processing unit 135. The controller 105 also includes an input/output (“I/O”) system 145 that includes routines for transferring information between components within the controller 105 and other components of the light fixtures or system. For example, the communications module 130 is configured to provide communication between the light fixture 100 and one or more additional light fixtures or another control device within a lighting system.
Software included in the implementation of the light fixture 100 is stored in the memory 140 of the controller 105. The software includes, for example, firmware, one or more applications, program data, one or more program modules, and other executable instructions. The controller 105 is configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described below. For example, the controller 105 is configured to execute instructions retrieved from the memory 140 for performing a mathematical transformation of a control value to a value that is required to drive the light sources 110A-110G to produce a desired color. In other constructions, the controller 105 or external device includes additional, fewer, or different components.
The PCB also includes, among other things, a plurality of additional passive and active components such as resistors, capacitors, inductors, integrated circuits, and amplifiers. These components are arranged and connected to provide a plurality of electrical functions to the PCB including, among other things, filtering, signal conditioning, or voltage regulation. For descriptive purposes, the PCB and the electrical components populated on the PCB are collectively referred to as the controller 105.
The user interface 120 is included to control the light fixture 100 or the operation of a lighting system as a whole. The user interface 120 is operably coupled to the controller 105 to control, for example, the output of the light sources 110A-110G. The user interface 120 can include any combination of digital and analog input devices required to achieve a desired level of control for the system. For example, the user interface 120 can include a computer having a display and input devices, a touch-screen display, a plurality of knobs, dials, switches, buttons, faders, or the like. In some constructions, the user interface is separated from the light fixture 100.
The power supply module 115 supplies a nominal AC or DC voltage to the light fixture 100 or system of light fixtures. The power supply module 115 is powered by mains power having nominal line voltages between, for example, 100V and 240V AC and frequencies of approximately 50-60 Hz. The power supply module 115 is also configured to supply lower voltages to operate circuits and components within the light fixture 100. In other constructions, the light fixture 100 is powered by one or more batteries or battery packs.
As illustrated in
The white point color temperature control section 210 includes a white point input portion 230, an increment button 235, a decrement button 240, and a fader 245. The white point input portion 230 is controlled by directly selecting and modifying a white point setting for the output of the light fixture. For example, a user is able to modify or populate the white point input portion 230 with a desired white point color temperature (i.e., a value in Kelvin). The user populates the white point input portion 230 by entering text via a mechanical or virtual keyboard of a computer or similar processing device, and using a pointing or selection device such as a mouse to control a curser on the display. Input signals from the keyboard and the mouse are received, processed, and translated into a visual result or action in the interface 200. For example, if the user enters text using a keyboard, the activated keys produce signals which are represented as type-written text in the interface 200. Similarly, a mouse click, which corresponds to a location of the cursor on the screen, results in selecting/deselecting the increment button 235, the decrement button 240, a dropdown menu, the position of the fader 245, etc. In other implementations, the interface 200 is accessed and controlled using a touch-screen device and a user's finger strokes or tapping are used to populate or modify the white point input portion 230.
Like the white point color temperature control section 210, the intensity control section 215 includes an intensity input portion 250, an increment button 255, a decrement button 260, and a fader 265. The intensity input portion 250 is controlled by directly selecting and modifying an intensity setting or value for the target color. For example, a user is able to modify or populate the intensity input portion 250 with a desired intensity setting or value (e.g., a percent). The intensity input portion 250 is modified or populated in a manner similar to that described above with respect to the white point input portion 230.
The CIE xyY color space 300 represents x-coordinates with values between 0.0 and 0.8, and y-coordinates with values between 0.0 and 0.9. To avoid floating point calculations, 16-bit integers are used in some constructions to represent both the x-coordinate and the y-coordinate. An integer value of zero corresponds to a coordinate of 0.0, and an integer value of 32,767 corresponds to a coordinate of 1.0. Therefore, some constructions of the invention achieve a resolution of 1/32,767 or approximately 0.00003.
The invention can be implemented using a variety of color control, targeting, and matching methodologies, such as HSI, RGB, CYM, YIQ, YUV, HSV, HLS, XYS, etc. The techniques described below are exemplary, and other techniques for controlling the output of the light fixture 100 to mimic the color temperature changes of an ideal black-body radiator are within the spirit and scope of the invention. Additionally, the invention is capable of being implemented internal to or external from the light fixture 100. For example, the light fixture 100 can include sufficient memory and processing power to execute one or more programs associated with the inventive methods. Additionally or alternatively, a separate computer (e.g., a central computer, a control panel, a controller, etc.) includes sufficient memory and processing power to execute one or more programs associated with the inventive methods.
Following step 405, light fixture 100 or a controller connected to the light fixture 100 determines whether color temperature control is enabled (step 410). For example, the color temperature control can be enabled using the control interface 200 described above with respect to
If, at step 410, the color temperature control is not enabled, the input parameters are used to determine a target color point or coordinate (step 415) within a color space (e.g., the CIE xyY color space) using, for example, a standard color space conversion (e.g., based on tristimulus values). The target color coordinate substantially corresponds to the desired target color. The tristimulus values correspond to the amounts of three primary colors in a three-component additive color model that are needed to match a target color. The tristimulus values, denoted by X, Y, and Z, are derived parameters that are used to represent the human eye's response to red, green, and blue colors and are calculated using three corresponding color matching functions. The target color coordinate is determined based on the calculated tristimulus values and includes an x-coordinate and a y-coordinate which correspond to a location within the color space (see
If the color temperature control is enabled at step 410, a white point color temperature setting for the output of the light fixture is determined (step 425). The white point color temperature setting corresponds to a white point color coordinate within the color space that substantially lies on the Planckian locus. In some implementations, the white point color coordinate is different from the target color coordinate (e.g., the target color coordinate does not substantially lie on the Planckian locus). In other implementations, the white point color coordinate is the same as the target color coordinate. As described above, the control interface 200 can be used to set or select a white point color temperature or an intensity value. Additionally or alternatively, a predetermined or preselected white point color temperature setting (e.g., a default white point color temperature setting) can be retrieved from memory. In some implementations, the intensity value is used to determine the white point color temperature setting. For example, depending on the intensity value, one of a plurality of calculated or predetermined white point color temperatures is selected. In other implementations, a white point color temperature is selected using the control interface 200, and the intensity value is used to scale the selected white point color temperature. For example, the selected white point color temperature can be set as a maximum white point color temperature. As the intensity value is decreased, the user-selected white point color temperature is decreased. Additional selection techniques can also be used. For example, the user-selected white point color temperature may correspond to 50% intensity. In such an implementation, as the intensity value is increased, the white point color temperature is increased, and as the intensity value is decreased, the white point color temperature is decreased.
In some implementations, the white point color temperature setting is set using the intensity input portion 250 described above with respect to
where the maximum intensity is the maximum intensity setting for the light fixture (e.g., 255 for an 8-bit input value), the actual intensity is the intensity value setting based on the input parameter, the maximum lumens is the maximum lumen setting for the light fixture, and the exponent, X, has a value that is based on a manner in which the intensity of the light fixture is dimmed.
The desired intensity value in lumens can then be correlated to an intensity value in volts. An exemplary conversion is provided below in EQN. 2.
where the maximum volts is the maximum volt reading for the light fixture, the maximum lumens is the maximum lumen setting for the light fixture (e.g., 255 for an 8-bit input value), the actual lumens is the lumen setting calculated using EQN. 1, and the exponent, Y, has a value that is based on a relationship between lumens and volts for the light fixture 100.
The intensity value in volts is then converted to a color temperature. An exemplary conversion is provided below in EQN. 3.
where the maximum color temperature is a maximum color temperature setting for the light fixture or the maximum color temperature achievable by the light fixture. The maximum volts is the maximum volt reading for the light fixture, the actual volts is the volt setting calculated using EQN. 2, and the exponent, Z, has a value that is based a relationship between color temperature and volts for the light fixture 100. The calculated color temperature can then be associated with, or approximated to, a color space coordinate (e.g., an x-y coordinate at (xw, yw)) that lies on the Planckian locus and corresponds to the color temperature of an ideal black-body radiator. Each of the conversions shown in EQNS. 1-3 can be combined into a single conversion or relationship, or can be executed separately. The relationships between the intensity values and color temperature are then used to generate one or more color temperature transforms, as described below. In some implementations, the relationships between each of the intensity values and a color temperature are stored in memory. Additionally or alternatively, the color temperatures corresponding to particular intensity values are stored in memory. For example, depending on a desired resolution for the color temperature control, a predetermined number of color temperature values are stored in memory (e.g., 256 values, 65,536 values, etc.) that correspond to discrete intensity values or ranges of intensity values.
Returning to the process 400, a color temperature transform is then selected and retrieved (i.e., from memory) based on the white point color temperature (step 430), and the input parameters are used to determine a modified target color coordinate based on the color temperature transform (step 435). In some implementations, the modified target color coordinate is different from the target color coordinate and the white point color coordinate (e.g., the modified target color coordinate does not substantially lie on the Planckian locus). In other implementations, the modified target color coordinate is the same as the white point color coordinate.
The color temperature transform is configured to generate a modified target color coordinate based on the desired target color. The color temperature transform is different than the standard color space conversion described above. As an illustrative example, given a particular target color, the standard color space conversion and the color temperature transform each generate a different color space coordinate. The color space coordinate generated using the known color space conversion substantially corresponds to the target color. However, the color space coordinate generated or determined using the color temperature transform is shifted within the color space in order to mimic the color temperature changes of an ideal black-body radiator.
The color temperature transforms are generated based on a selected color gamut (e.g., the RGB color gamut) that can be defined with respect to the CIE xyY color space 300. For example, as described above, the user is able to select a desired target color based on any of a number of complex color control methodologies. The input values from the complex color control methodology are then associated with the RGB color gamut (e.g., RT, GT, BT), which is represented by a triangle in the CIE xyY color space having a red coordinate (xR, yR), a green coordinate (xG, yG), and a blue coordinate (xB, yB), which have predetermined values. The red coordinate, the green coordinate, and the blue coordinate correspond to the bounds of the RGB color gamut. The red coordinate, the green coordinate, and the blue coordinate are used to generate tristimulus values associated with each coordinate, as well as generate the color temperature transforms. For example, the tristimulus values for the red coordinate can be calculated using EQNS. 4-6 below.
In a similar manner, the tristimulus values for the green coordinate can be calculated using EQNS. 7-9 below.
The tristimulus values for the blue coordinate can be calculated using EQNS. 10-12 below.
In some implementations, the tristimulus values for the red coordinate, the green coordinate, and the blue coordinate are calculated once and stored in memory. In other implementations, the tristimulus values are calculated continually, at predetermined intervals, or based on a user input.
After the white point color temperature and corresponding color space coordinate for the white point color temperature have been determined, as described above, tristimulus values for the white point color temperature can also be determined. For example, the tristimulus values for the white point color temperature can be calculated using EQNS. 13-15 below.
Using the tristimulus values for the red coordinate, the green coordinate, the blue coordinate, and the white point coordinate, a matrix of scale factors, S, can be calculated, as shown below in EQN. 16.
The matrix of scale factors, S, can then be used to calculate the tristimulus values associated with a modified target color, as shown below in EQN. 17.
where RT, GT, and BT are red, green, and blue values corresponding to the desired target color.
The x-y color coordinate (i.e., chromaticity) of the modified target color is then determined as a function of the tristimulus values XM, YM, and ZM, as shown below in EQNS. 18-20.
In some implementations, the relationships or transforms between the target color coordinate and the modified target color coordinate described above with respect EQNS. 1-20 are combined into a single relationship to, for example, reduce processing time, processing requirements, and memory usage. In other implementations, the color temperature transforms corresponding to particular intensity values are stored in memory. For example, depending on a desired resolution for the color temperature control, a predetermined number of color temperature transforms are stored in memory (e.g., 256 transforms, 65,536 transforms, etc.) that correspond to discrete intensity values or ranges of intensity values. A color temperature transform can then be determined or retrieved from memory based on the intensity setting or stored color temperature value, and the x-y coordinate of the modified target color is determined based on the target color and the color temperature transform.
As described above, the target color coordinate determined using the color temperature transform is different from the target color coordinate that is determined using the standard conversion. As such, the target color coordinate determined using the color temperature transform is indicated as a “modified” target color coordinate. For descriptive purposes, the target color coordinate and the modified target color coordinate are each referred to as the target color coordinate with respect to the remainder of the process 400 (i.e., starting at step 420), because the remainder of the process 400 is substantially independent of the manner in which the target color coordinate was calculated. The target color coordinate is then stored to memory (step 420) and the process 400 proceeds to section AA shown in and described with respect to
With reference to
At step 450, the color space coordinate for the selected light source is retrieved from memory. The target color coordinate is also retrieved from memory (step 455). The distance between the target color coordinate and the color space coordinate for the first light source is then calculated (step 460). For example, if the target color coordinate is designated by an x-coordinate, xT, and a y-coordinate, yT, and the first light source is designated by an x-coordinate, x1, and a y-coordinate, y1, the distance, D1, between the target color coordinate and the first light source coordinate can be calculated as shown below in EQN. 21. EQN. 21 can be used to calculate the distance between each of the light sources in the light fixture and the target color coordinate.
D
1=√{square root over ((xT−x1)2+(yT−y1)2)}{square root over ((xT−x1)2+(yT−y1)2)} EQN. 21
The calculated distance, D1, for the first light source is then stored in memory (step 465). The selected light source corresponding to the second variable, B, is compared to the number of LEDs in the light fixture (step 470). If the selected light source is not the last light source in the light fixture, the second variable, B, is incremented by one (step 475) and the light source variable, LS, is reset to the new value of the second variable, B (step 445). If the selected light source is the last light source in the light fixture, the process 400 proceeds to section BB shown in and described with respect to
The locations described herein generally relate to positions or coordinates within a color space that can be used to map colors in one, two, or three dimensional space, and allow for the consistent identification of colors. Implementations and constructions of the invention are described herein with respect to the CIE xyY color space, but other color spaces can also be used. The separations between the locations within the color space are described generally with respect to distances. However, the separations can also be based on, for example, ratios, products, sums, or differences between wavelengths, frequencies, intensities, polarizations, phases, color temperature, brightness, saturation, etc., and correspond generally to an intervening space or gap between points, values, quantities, objects, locations, and the like.
With reference to
At step 515 shown in
With reference to
At step 600 in
With reference to
After the step size value has been added to or subtracted from the output intensity value, the output intensity values of each of the light sources are normalized (step 665). For example, modifying the output intensity values as described above can result in each of the light sources having an output intensity value of less than 100.0%. In such an instance, the light source or light sources having the highest output intensity value are normalized to a 100.0% output intensity value. As an illustrative example, a light fixture including seven light sources has output intensity values for each of the light sources (following step 660) as shown below in Table #1. Because the green light source has the highest output intensity value (i.e., 80.0%), the output intensity value of the green light source is reset to an output intensity value of 100.0%. The increase in the output intensity value of the green light source is 25.0% based on the un-normalized output intensity value. As such, the output intensity values of each of the remaining light sources are also increased by 25.0% based on the un-normalized output intensity values. For example, the red light source has an un-normalized output intensity value of 40.0%. Increasing the output intensity by 25.0% results in a normalized output intensity value of 50.0%. The output intensity values of the light sources are normalized to ensure or at least approximate the combination of light source output intensity values that produces a maximum lumen output (i.e., a maximum luminous flux) for the light fixture. Although the step of normalizing the light source output intensity values is shown following step 660, the output intensity values can be normalized in the same or a similar manner later in the process 400 (e.g., following step 670, step 675, or step 685 (all described below)).
The new output intensity values corresponding to that light sources are then stored in memory (step 670). The shortest distance is then compared to the threshold value (step 675). Because the normalization described above modified the output intensities of the light sources by the same amount, the ratios of the light source intensities remain the same. As such, the shortest distance that was determined at step 655 remains unchanged and does not need to be recalculated following the normalization of step 665. As described above, the threshold value is, for example, a distance value, a percent-error value, or the like. If the distance is not less than or equal to the threshold value, the process 400 proceeds to section GG shown in and described with respect to
The process 400 can be performed or executed following, for example, receiving a set of input parameters, a determined change in the intensity value, a determined change in the white point, or the like. As such, additional modified target color points can be calculated based on a modification to the intensity value and without modification to the desired target color. For example, after a first modified target color coordinate has been identified, a change in the intensity value causes, among other things, a new white point color temperature and white point color coordinate to be identified, a new color temperature transformation to be selected, and a new modified target color coordinate to be calculated. Additionally or alternatively, the process 400 can be preformed each time a signal related to the input parameters is received (e.g., even if none of the values associated with those signals have changed).
Thus, the invention provides, among other things, systems and methods for controlling an output of a light fixture to mimic the color temperature changes of an ideal black-body radiator. Various features and advantages of the invention are set forth in the following claims.