WO2002099780A2 - System and methods of generating control signals - Google Patents

System and methods of generating control signals Download PDF

Info

Publication number
WO2002099780A2
WO2002099780A2 PCT/US2002/017773 US0217773W WO02099780A2 WO 2002099780 A2 WO2002099780 A2 WO 2002099780A2 US 0217773 W US0217773 W US 0217773W WO 02099780 A2 WO02099780 A2 WO 02099780A2
Authority
WO
WIPO (PCT)
Prior art keywords
light
lighting
light systems
ofthe
effect
Prior art date
Application number
PCT/US2002/017773
Other languages
French (fr)
Other versions
WO2002099780A3 (en
Inventor
Kevin J. Dowling
M. Morgan. Frederick
Ihor A. Lys
Brian Chemel
Michael K. Blackwell
John Warwick
Original Assignee
Color Kinetics Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/971,367 external-priority patent/US6788011B2/en
Application filed by Color Kinetics Incorporated filed Critical Color Kinetics Incorporated
Priority to EP02776579A priority Critical patent/EP1395975A2/en
Priority to JP2003502812A priority patent/JP4173091B2/en
Priority to AU2002346802A priority patent/AU2002346802A1/en
Publication of WO2002099780A2 publication Critical patent/WO2002099780A2/en
Publication of WO2002099780A3 publication Critical patent/WO2002099780A3/en

Links

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/18Controlling the light source by remote control via data-bus transmission
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/155Coordinated control of two or more light sources
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B47/00Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
    • H05B47/10Controlling the light source
    • H05B47/175Controlling the light source by remote control
    • H05B47/19Controlling the light source by remote control via wireless transmission
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21SNON-PORTABLE LIGHTING DEVICES; SYSTEMS THEREOF; VEHICLE LIGHTING DEVICES SPECIALLY ADAPTED FOR VEHICLE EXTERIORS
    • F21S8/00Lighting devices intended for fixed installation
    • F21S8/03Lighting devices intended for fixed installation of surface-mounted type
    • F21S8/033Lighting devices intended for fixed installation of surface-mounted type the surface being a wall or like vertical structure, e.g. building facade
    • F21S8/035Lighting devices intended for fixed installation of surface-mounted type the surface being a wall or like vertical structure, e.g. building facade by means of plugging into a wall outlet, e.g. night light
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V23/00Arrangement of electric circuit elements in or on lighting devices
    • F21V23/04Arrangement of electric circuit elements in or on lighting devices the elements being switches
    • F21V23/0442Arrangement of electric circuit elements in or on lighting devices the elements being switches activated by means of a sensor, e.g. motion or photodetectors
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21WINDEXING SCHEME ASSOCIATED WITH SUBCLASSES F21K, F21L, F21S and F21V, RELATING TO USES OR APPLICATIONS OF LIGHTING DEVICES OR SYSTEMS
    • F21W2121/00Use or application of lighting devices or systems for decorative purposes, not provided for in codes F21W2102/00 – F21W2107/00
    • F21W2121/006Use or application of lighting devices or systems for decorative purposes, not provided for in codes F21W2102/00 – F21W2107/00 for illumination or simulation of snowy or iced items, e.g. icicle

Definitions

  • Color Kinetics Incorporated offers a full line of networked lighting systems as well as controllers and light-show authoring tools.
  • Control signals for lighting systems are generally generated and communicated through a network to a plurality of lighting systems.
  • Several lighting systems may be a ⁇ anged in a lighting network and information pertaining to each lighting device may be communicated to through the network.
  • Each lighting device or system may have a unique identifier or address such that it only reads and react to information directed at its particular address.
  • a control-signal generating tool can offer a graphical user interface where lighting shows and sequences can be authored. The user can set up series of addressed lighting systems and then create a lighting control signal that is directed to the individually addressed lighting systems.
  • Such an authoring system can be used to generate coordinated effects between lighting systems or within groups of lighting systems.
  • One particularly popular lighting effect that would be difficult to program without an authoring system is chasing a rainbow of colors down a corridor.
  • the methods and systems include facilities for providing a light management facility for mapping the positions of a plurality of light systems, generating a map file that maps the positions of a plurality of light systems, generating an effect using a computer application, associating characteristics ofthe light systems with code for the computer application, and generating a lighting control signal to control the light systems.
  • Provided herein are methods and systems for controlling a light system.
  • the methods and systems may include providing graphical information; associating a plurality of addressable light systems with locations in an environment; and converting the graphical information to control signals capable of controlling the light systems to illuminate the environment in correspondence to the graphical information.
  • the methods and systems may include accessing a set of information for producing a graphic; associating a plurality of addressable light systems with locations in an environment; and applying an algorithm to the graphical information to convert the graphical information to control signals capable of controlling the light systems to create an effect in the environment in co ⁇ espondence to the graphical information.
  • the methods and systems may include accessing an imaging device for capturing an image of a light system; commanding each of a plurality of light systems to turn on in a predetermined sequence; capturing an image during the "on" time for each of a plurality of light systems; and calculating the position of the light system in the environment based on the position of the lighting system in the image.
  • the methods and systems may include generating an image using a non- lighting system; associating a plurality of light systems with positions in an environment; and using the association ofthe light systems and positions to convert the image into control signals for a light system, wherein the light system generates an effect that corresponds to the image.
  • the methods and systems may include providing a light management facility for mapping the positions of a plurality of light systems; using the light management facility to generate map files that map the positions of a plurality of light systems; using an animation facility to generate a plurality of graphics files; associating the positions ofthe light systems in the map files with data in the graphics files; and generating a lighting control signal to control the light systems in association with the graphics files.
  • the methods and systems may include obtaining a lighting control signal for a plurality of light systems in an environment; obtaining a graphics signal from a computer; and modifying the lighting control signal in response to the content ofthe graphics signal.
  • An embodiment ofthe invention is a system for generating control signals.
  • the system may allow a user to generate an image, representation of an image, algorithm or other effect information.
  • the effect information may then be converted to lighting control signals to be saved or communicated to a networked lighting system.
  • An embodiment ofthe invention may enable the authoring, generation and communication of control signals such that an effect is generated in a space or area.
  • control signals capable of controlling a lighting system, lighting network, light, LED, LED lighting system, audio system, surround sound system, fog machine, rain machine, electromechanical system or other system may be generated.
  • a system may include the generation of image information and conversion ofthe image information to control signals capable of controlling a networked lighting system.
  • configuration information may be generated identifying a plurality of addressable lighting systems with locations within an area or space.
  • configuration information may be generated associated lighted surfaces with lighting systems, h an embodiment, control signals may be communicated to a lighting network comprising a plurality of addressed lighting systems.
  • sound or other effects may be coordinated with lighting control signals.
  • Fig. 1 is a representation of an environment in which a plurality of light systems are disposed.
  • Fig. 2 is a schematic diagram showing control of a plurality of lights using a group of control elements.
  • Fig. 3 is a schematic diagram showing elements for generating a lighting control signal using a configuration facility and a graphical representation facility.
  • Fig. 4 is a schematic diagram showing elements for generating a lighting control signal from an animation facility and light management facility.
  • Fig. 5 illustrates a configuration file for data relating to light systems in an environment.
  • Fig. 6 illustrates a virtual representation of an environment using a computer screen.
  • Fig. 7 is a representation of an environment with light systems that project light onto portions ofthe environment.
  • Fig. 8 is a schematic diagram showing the propagation of an effect through a light system.
  • Fig. 9 is a flow diagram showing steps for using an image capture device to determine the positions of a plurality of light systems in an environment.
  • Fig. 10 is a flow diagram showing steps for interacting with a graphical user interface to generate a lighting effect in an environment.
  • Fig. 11 is a schematic diagram depicting light systems that transmit data that is generated by a network transmitter.
  • Fig. 12 is a flow diagram showing steps for generating a control signal for a light system using an object-oriented programming technique.
  • Fig. 13 is a flow diagram for executing a thread to generate a lighting signal for a real world light system based on data from a computer application.
  • An embodiment of this invention relates to systems and methods for generating control signals.
  • the control signals may be used to control a lighting system, lighting network, light, LED, LED lighting system, audio system, su ⁇ ound sound system, fog machine, rain machine, electromechanical system or other systems.
  • Lighting systems like those described in U.S. Patent Nos. 6,016,038, 6,150,774, and 6,166,496 illustrate some different types of lighting systems where control signals may be used.
  • a display screen (which could be a personal computer screen, television screen, laptop screen, handheld, gameboy screen, computer monitor, flat screen display, LCD display, PDA screen, or other display) that represents a virtual environment of some type.
  • a user in a real world environment that surrounds the display screen.
  • the present invention relates, among other things, to using a computer application in a virtual environment to generate control signals for systems, such as lighting systems, that are located in real world environments.
  • an environment 100 includes one or more light systems 102.
  • light systems should be understood where context is appropriate to comprise all light systems, including LED systems, as well as incandescent sources, including filament lamps, pyro- luminescent sources, such as flames, candle-luminescent sources, such as gas mantles and carbon arc radiation sources, as well as photo-luminescent sources, including gaseous discharges, fluorescent sources, phosphorescence sources, lasers, electroluminescent sources, such as electro-luminescent lamps, light emitting diodes, and cathode luminescent sources using electronic satiation, as well as miscellaneous luminescent sources including galvano-luminescent sources, crystallo-luminescent sources, kine-luminescent sources, thermo-luminescent sources, triboluminescent sources, sonoluminescent sources, and radioluminescent sources.
  • Light systems 102 may also include luminescent polymers capable of producing colors, such as primary colors.
  • the light systems 102 are LED-based light systems.
  • the light systems 102 are capable of mixing two colors of light, which might be red, green, blue, white, amber, or other colors of light, hi one embodiment, the colors of lights may be different colors of white light, i.e., white lights of different color temperatures.
  • the term "LED” means any system that is capable of receiving an electrical signal and producing a color of light in response to the signal.
  • the term “LED” should be understood to include light emitting diodes of all types, light emitting polymers, semiconductor dies that produce light in response to cu ⁇ ent, organic LEDs, electro-luminescent strips, and other such systems.
  • an “LED” may refer to a single light emitting diode having multiple semiconductor dies that are individually controlled. It should also be understood that the term “LED” does not restrict the package type ofthe LED.
  • the term “LED” includes packaged LEDs, non- packaged LEDs, surface mount LEDs, chip on board LEDs and LEDs of all other configurations.
  • the term “LED” also includes LEDs packaged or associated with phosphor wherein the phosphor may convert energy from the LED to a different wavelength.
  • An LED system is one type of illumination source.
  • illumination should be understood to refer to the production of a frequency of radiation by an illumination source.
  • light and color should be understood where context is appropriate to refer to any frequency of radiation within a spectrum; that is, a “color” of "light,” as used herein, should be understood to encompass a f equency or combination of f equencies not only ofthe visible spectrum, including white light, but also frequencies in the infrared and ultraviolet areas ofthe spectrum, and in other areas ofthe electromagnetic spectrum.
  • Fig. 2 is a block diagram illustrating one embodiment of a lighting system 200.
  • a processor 204 is associated several lights 208.
  • the processor sends control signals to the lights 208.
  • Such a system may optionally have one or more intermediate components between the processor and the lights 208, such as one or more controllers, transistors, or the like.
  • processor may refer to any system for processing electronic signals.
  • a processor may include a microprocessor, microcontroller, programmable digital signal processor, other programmable device, a controller, addressable controller, microprocessor, microcontroller, addressable microprocessor, computer, programmable processor, programmable controller, dedicated processor, dedicated controller, integrated circuit, control circuit or other processor.
  • a processor may also, or instead, include an application specific integrated circuit, a programmable gate array, programmable a ⁇ ay logic, a programmable logic device, a digital signal processor, an analog-to-digital converter, a digital-to-analog converter, or any other device that may be configured to process electronic signals.
  • a processor may include discrete circuitry such as passive or active analog components including resistors, capacitors, inductors, transistors, operational amplifiers, and so forth, as well as discrete digital components such as logic components, shift registers, latches, or any other separately packaged chip or other component for realizing a digital function. Any combination ofthe above circuits and components, whether packaged discretely, as a chip, as a chipset, or as a die, may be suitably adapted to use as a processor as described herein. It will further be appreciated that the term processor may apply to an integrated system, such as a personal computer, network server, or other system that may operate autonomously or in response to commands to process electronic signals such as those described herein.
  • a processor includes a programmable device such as the microprocessor or microcontroller mentioned above, the processor may further include computer executable code that controls operation ofthe programmable device.
  • the processor 204 is a Microchip PIC processor 12C672 and the lights 208 are LEDs, such as red, green and blue LEDs.
  • the processor 204 may optionally include or be used in association with various other components and control elements (not shown), such as a pulse width modulator, pulse amplitude modulator, pulse displacement modulator, resistor ladder, cu ⁇ ent source, voltage source, voltage ladder, switch, transistor, voltage controller, or other controller.
  • control elements and processor 204 can control cu ⁇ ent, voltage and/or power through the lights 208.
  • LEDs with different spectral output may be used as lights 208. Each of these colors maybe driven through separate channels of control.
  • the processor 204 and controller may be incorporated into one device. This device may power capabilities to drive several LEDs in a string or it may only be able to support one or a few LEDs directly.
  • the processor 204 and controller may also be separate devices. By controlling the LEDs independently, color mixing can be achieved for the creation of lighting effects.
  • memory 210 may also be provided.
  • the memory 210 is capable of storing algorithms, tables, or values associated with the control signals.
  • the memory 210 may store programs for controlling the processor 204, other components, and lights 208.
  • the memory 210 may be memory, read-only memory, programmable memory, programmable read-only memory, electronically erasable programmable read- only memory, random access memory, dynamic random access memory, double data rate random access memory, Rambus direct random access memory, flash memory, or any other volatile or non-volatile memory for storing program instructions, program data, address information, and program output or other intermediate or final results.
  • a program may store control signals to operate several different colored lights 208.
  • a user interface 202 may also optionally be associated with the processor 204. The user interface 202 may be used to select a program from memory, modify a program from memory, modify a program parameter from memory, select an external signal or provide other user interface solutions.
  • the processor 204 can also be addressable to receive programming signals addressed to it.
  • a processor 204 can receive a stream of data (or lighting control signals) that includes data elements for multiple similar processors or other devices, and the processor 204 can extract from the stream the appropriate data elements that are addressed to it.
  • the user interface can include an authoring system for generating a lighting control signal, such as described in more detail below.
  • U.S. Patents in the field of LED control include Ser. Nos. 6,016,038, 6,150,774, and 6,166,496.
  • U.S. Patent Application No. 09/716,819 for "Systems and Methods for Generating and Modulating Illumination Conditions" also describes, among other things, systems and controls. The entire disclosure of all these documents is herein incorporated by reference.
  • the lighting system may be used to illuminate an environment.
  • environment 100 On such environment 100 is shown in Fig. 1.
  • the environment has at least one light system 102 mounted therein, and in a prefe ⁇ ed embodiment may have multiple light systems 102 therein.
  • the light system 102 may be a controllable light system 102, such as described above in connection with Fig. 2, with lights 208 that illuminate portions ofthe environment 100.
  • the light systems 102 can be mounted in a manner that a viewer in the environment 100 can see either the illumination projected by a light system 102 directly, or the viewer sees the illumination indirectly, such as after the illumination bounces off a surface, or through a lens, filter, optic, housing, screen, or similar element that is designed to reflect, diffuse, refract, diffract, or otherwise affect the illumination from the light system 102.
  • the light systems 102 in combination comprise a lighting or illumination system.
  • the lighting system may be in communication with a control system or other user interface 202, such as a computer, by any manner known to one of skill in the art which can include, but is not limited to: wired connections, cable connections, infrared (IR) connections, radio frequency (RF) connections, any other type of connection, or any combination ofthe above.
  • IR infrared
  • RF radio frequency
  • control may be passed to the lighting system via a video-to-DMX device, which provides a simple way of generating the lighting signal.
  • a video-to-DMX device may have a video-in port and a pass-through video-out port.
  • the device may also have a lighting signal port where the DMX, or other protocol data, is communicated to the lights in the room.
  • the device may apply an algorithm to the received video signal (e.g. average, average of a given section or time period, max, min) and then generate a lighting signal co ⁇ esponding to the algorithm output. For example, the device may average the signal over the period of one second with a resultant value equal to blue light.
  • the device may then generate blue light signals and communicate them to the lighting system, hi an embodiment, a simple system would communicate the same averaged signal to all ofthe lights in the room, but a variant would be to communicate the average of a portion ofthe signal to one portion ofthe room.
  • a simple system would communicate the same averaged signal to all ofthe lights in the room, but a variant would be to communicate the average of a portion ofthe signal to one portion ofthe room.
  • partitioning the video signal and algorithms could be applied to the various sections ofthe light system, thus providing different inputs based on the same video signal.
  • the environment 100 may include a surface 107 that is lit by one or more lighting systems 102.
  • the surface 107 comprises a wall or other surface upon which light could be reflected
  • the surface could be designed to absorb and retransmit light, possibly at a different frequency.
  • the surface 107 could be a screen coated with a phosphor where illumination of a particular color could be projected on the screen and the screen could convert the color ofthe illumination and provide a different color of illumination to a viewer in the environment 100.
  • the projected illumination could primarily be in the blue, violet or ultraviolet range while the transmitted light is more of a white.
  • the surface 107 may also include one or more colors, figures, lines, designs, figures, pictures, photographs, textures, shapes or other visual or graphical elements that can be illuminated by the lighting system.
  • the elements on the surface can be created by textures, materials, coatings, painting, dyes, pigments, coverings, fabrics, or other methods or mechanisms for rendering graphical or visual effects, h embodiments, changing the illumination from the lighting system may create visual effects. For example, a picture on the surface 107 may fade or disappear, or become more apparent or reappear, based on the color ofthe light from the lighting system that is rendered on the surface 107.
  • effects can be created on the surface 107 not only by shining light on a plain surface, but also through the interaction of light with the visual or graphical elements on the surface.
  • the light systems 102 are networked lighting systems where the lighting control signals are packaged into packets of addressed information.
  • the addressed information may then be communicated to the lighting systems in the lighting network.
  • Each ofthe lighting systems may then respond to the control signals that are addressed to the particular lighting system.
  • This is an extremely useful a ⁇ angement for generating and coordinating lighting effects in across several lighting systems.
  • Embodiments of U.S. Patent Application No. 09/616,214 "Systems and Methods for Authoring Lighting Sequences" describe systems and methods for generating system control signals and is herby incorporated by reference herein.
  • a lighting system may be associated with an addressable controller.
  • the addressable controller may be a ⁇ anged to "listen" to network information until it "hears" its address. Once the systems address is identified, the system may read and respond to the information in a data packet that is assigned to the address.
  • a lighting system may include an addressable controller.
  • the addressable controller may also include an alterable address and a user may set the address ofthe system.
  • the lighting system may be connected to a network where network information is communicated.
  • the network may be used to communicate information to many controlled systems such as a plurality of lighting systems for example. In such an a ⁇ angement, each ofthe plurality of lighting systems may be receiving information pertaining to more than one lighting system.
  • the information may be in the form of a bit stream where information for a first addressed lighting system is followed by information directed at a second addressed lighting system.
  • An example of such a lighting system can be found in U.S. Patent No. 6,016,038, which is herby incorporated by reference herein.
  • a network transmitter 1102 communicates network information to the light systems 102.
  • the light systems 102 can include an input port 1104 and an export port 1108.
  • the network information may be communicated to the first light system 102 and the first light system 102 may read the information that is addressed to it and pass the remaining portion ofthe information on to the next light system 102.
  • a person with ordinary skill in the art would appreciate that there are other network topologies that are encompassed by a system according to the principles ofthe present invention.
  • the light system 102 is placed in a real world environment 100.
  • the real world environment 100 could be a room.
  • the lighting system could be a ⁇ anged, for example, to light the walls, ceiling, floor or other sections or objects in a room, or particular surfaces 107 ofthe room.
  • the lighting system may include several addressable light systems 102 with individual addresses.
  • the illumination can be projected so as to be visible to a viewer in the room either directly or indirectly. That is a light 208 of a light system 102 could shine so that the light is projected to the viewer without reflection, or could be reflected, refracted, absorbed and reemitted, or in any other manner indirectly presented to the viewer.
  • An embodiment ofthe present invention describes a method for generating control signals as illustrated in the block diagram in Fig. 3.
  • the method may involve providing or generating an image or representation of an image, i.e., a graphical representation 302.
  • the graphical representation may be a static image such as a drawing, photograph, generated image, or image that is or appears to be static.
  • the static image may include images displayed on a computer screen or other screen even though the image is continually being refreshed on the screen.
  • the static image may also be a hard copy of an image.
  • Providing a graphical representation 302 may also involve generating an image or representation of an image.
  • a processor may be used to execute software to generate the graphical representation 302.
  • the image that is generated may be or appear to be static or the image may be dynamic.
  • An example of software used to generate a dynamic image is Flash 5 computer software offered by Macromedia,
  • Flash 5 is a widely used computer program to generate graphics, images and animations.
  • Other useful products used to generate images include, for example, Adobe Illustrator, Adobe Photoshop, and Adobe LiveMotion.
  • Microsoft Corporation makes a computer program Paint. This software is used to generate images on a screen in a bit map format.
  • Other software programs may be used to generate images in bitmaps, vector coordinates, or other techniques.
  • Direct X libraries from Microsoft Corporation, for example generate images in three-dimensional space. The output of any ofthe foregoing software programs or similar programs can serve as the graphical representation 302.
  • the graphical representation 302 may be generated using software executed on a processor but the graphical representation 302 may never be displayed on a screen.
  • an algorithm may generate an image or representation therof, such as an explosion in a room for example.
  • the explosion function may generate an image and this image may be used to generate control signals as described herein with or without actually displaying the image on a screen.
  • the image ma>"be displayed through a lighting network for example without ever being displayed on a screen.
  • generating or representing an image may be accomplished through a program that is executed on a processor.
  • the purpose of generating the image or representation ofthe image may be to provide information defined in a space.
  • the generation of an image may define how a lighting effect travels through a room.
  • the lighting effect may represent an explosion, for example.
  • the representation may initiate bright white light in the corner of a room and the light may travel away from this corner ofthe room at a velocity (with speed and direction) and the color ofthe light may change as the propagation ofthe effect continues.
  • An illustration of an environment 100 showing vectors 104 demonstrating the velocity of certain lighting effects is illustrated in Fig. 1.
  • an image generator may generate a function or algorithm.
  • the function or algorithm may represent an event such as an explosion, lighting strike, headlights, train passing through a room, bullet shot through a room, light moving through a room, sunrise across a room, or other event.
  • the function or algorithm may represent an image such as lights swirling in a room, balls of light bouncing in a room, sounds bouncing in a room, or other images.
  • the function or algorithm may also represent randomly generated effects or other effects.
  • a light system configuration facility 304 may accomplish further steps for the methods and systems described herein.
  • the light system configuration facility may generate a system configuration file, configuration data or other configuration information for a lighting system, such as the one depicted in connection with Fig. 1.
  • the light system configuration facility can represent or co ⁇ elate a system, such as a light system 102, sound system or other system as described herein with a position or positions in the environment 100.
  • a system such as a light system 102, sound system or other system as described herein with a position or positions in the environment 100.
  • an LED light system 102 maybe co ⁇ elated with a position within a room.
  • the location of a lighted surface 107 may also be determined for inclusion into the configuration file.
  • the position ofthe lighted surface may also be associated with a light system 102.
  • the lighted surface 107 may be the desired parameter while the light system 102 that generates the light to illuminate the surface is also important.
  • Lighting control signals may be communicated to a light system 102 when a surface is scheduled to be lit by the light system 102.
  • control signals may be communicated to a lighting system when a generated image calls for a particular section of a room to change in hue, saturation or brightness.
  • the control signals may be used to control the lighting system such that the lighted surface 107 is illuminated at the proper time.
  • the lighted surface 107 may be located on a wall but the light system 102 designed to project light onto the surface 107 may be located on the ceiling.
  • the configuration information could be a ⁇ anged to initiate the light system 102 to activate or change when the surface 107 is to be lit.
  • the graphical representation 302 and the configuration information from the light system configuration facility 304 can be delivered to a conversion module 308, which associates position information from the configuration facility with information from the graphical representation and converts the information into a control signal, such as a control signal for a light system 102. Then the conversion module can communicate the control signal, such as to the light system 102.
  • the conversion module maps positions in the graphical representation to positions of light systems 102 in the environment, as stored in a configuration file for the environment (as described below). The mapping might be a one-to-one mapping of pixels or groups of pixels in the graphical representation to light systems 102 or groups of light systems 102 in the environment 100.
  • mapping of pixels in the graphical representation to surfaces 107, polygons, or objects in the environment that are lit by light systems 102. It could be a mapping of vector coordinate information, a wave function, or algorithm to positions of light systems 102. Many different mapping relations can be envisioned and are encompassed herein.
  • a light management facility 402 is used to generate a map file 404 that maps light systems 102 to positions in an environment, to surfaces that are lit by the light systems, and the like.
  • An animation facility 408 generates a sequence of graphics files for an animation effect.
  • a conversion module 412 relates the information in the map file 404 for the light systems 102 to the graphical information in the graphics files. For example, color information in the graphics file may be used to convert to a color control signal for a light system to generate a similar color. Pixel information for the graphics file may be converted to address information for light systems which will co ⁇ espond to the pixels in question.
  • the conversion module 412 includes a lookup table for converting particular graphics file information into particular lighting control signals, based on the content of a configuration file for the lighting system and conversion algorithms appropriate for the animation facility in question.
  • the converted information can be sent to a playback tool 414, which may in turn play the animation and deliver control signals 418 to light systems 102 in an environment.
  • a configuration file 500 is depicted; showing certain elements of configuration information that can be stored for a light system 102 or other system.
  • the configuration file 500 can store an identifier 502 for each light system 102, as well as the position 508 of that light system in a desired coordinate or mapping system for the environment 100 (which may be (x,y,z) coordinates, polar coordinates, (x,y) coordinates, or the like).
  • the position 508 and other information may be time-dependent, so the configuration file 500 can include an element of time 504.
  • the configuration file 500 can also store information about the position 510 that is lit by the light system 102.
  • That information can consist of a set of coordinates, or it may be an identified surface, polygon, object, or other item in the environment.
  • the configuration file 500 can also store information about the available degrees of freedom for use ofthe light system 102, such as available colors in a color range 512, available intensities in an intensity range 514, or the like.
  • the configuration file 500 can also include information about other systems in the environment that are controlled by the control systems disclosed herein, information about the characteristics of surfaces 107 in the environment, and the like.
  • the configuration file 500 can map a set of light systems 102 to the conditions that they are capable of generating in an environment 100.
  • configuration information such as the configuration file 500 may be generated using a program executed on a processor.
  • the program may run on a computer 600 with a graphical user interface 612 where a representation of an environment 602 can be displayed, showing light systems 102, lit surfaces 107 or other elements in a graphical format.
  • the interface may include a representation 602 of a room for example. Representations of lights, lighted surfaces or other systems may then be presented in the interface 612 and locations can be assigned to the system.
  • position coordinates or a position map may represent a system, such as a light system. A position map may also be generated for the representation of a lighted surface for example.
  • Figure 6 illustrates a room with light systems 102.
  • the representation 602 can also be used to simplify generation of effects.
  • a set of stored effects can be represented by icons 610 on the screen 612.
  • An explosion icon can be selected with a cursor or mouse, which may prompt the user to click on a starting and ending point for the explosion in the coordinate system.
  • the user can cause an explosion to be initiated in the upper corner ofthe room 602 and a wave of light and or sound may propagate through the environment.
  • the representation ofthe explosion can be played in the room by the light system and or another system such as a sound system.
  • a control system such as used herein can be used to provide information to a user or programmer from the light systems 102 in response to or in coordination with the information being provided to the user ofthe computer 600.
  • One example of how this can be provided is in conjunction with the user generating a computer animation on the computer 600.
  • the light system 102 may be used to create one or more light effects in response to displays 612 on the computer 600.
  • the lighting effects, or illumination effects can produce a vast variety of effects including color-changing effects; stroboscopic effects; flashing effects; coordinated lighting effects; lighting effects coordinated with other media such as video or audio; color wash where the color changes in hue, saturation or intensity over a period of time; creating an ambient color; color fading; effects that simulate movement such as a color chasing rainbow, a flare streaking across a room, a sun rising, a plume from an explosion, other moving effects; and many other effects.
  • the effects that can be generated are nearly limitless. Light and color continually su ⁇ ound the user, and controlling or changing the illumination or color in a space can change emotions, create atmosphere, provide enhancement of a material or object, or create other pleasing and or useful effects.
  • Fig. 7 illustrates how the light from a given light system 102 may be displayed on a surface.
  • a light system 102, sound system, or other system may project onto a surface. In the case of a light system 102, this maybe an area 702 that is illuminated by the light system 102.
  • the light system 102, or other system may also move, so the area 107 may move as well, hi the case of a sound system, this may be the area where the user desires the sound to emanate from.
  • the information generated to form the image or representation may be communicated to a light system 102 or plurality of light systems 102.
  • the information may be sent to lighting systems as generated in a configuration file.
  • the image may represent an explosion that begins in the upper right hand comer of a room and the explosion may propagate through the room.
  • control signals can be communicated to lighting systems in the co ⁇ esponding space.
  • the communication signal may cause the lighting system to generate light of a given hue, saturation and intensity when the image is passing through the lighted space the lighting systems projects onto.
  • An embodiment ofthe invention projects the image through a lighting system.
  • the image may also be projected through a computer screen or other screen or projection device, hi an embodiment, a screen may be used to visualize the image prior or during the playback ofthe image on a lighting system.
  • sound or other effects may be co ⁇ elated with the lighting effects.
  • the peak intensity of a light wave propagating through a space may be just ahead of a sound wave.
  • the light wave may pass through a room followed by a sound wave.
  • the light wave may be played back on a lighting system and the sound wave may be played back on a sound system. This coordination can create effects that appear to be passing through a room or they can create various other effects.
  • an effect can propagate through a virtual environment that is represented in 3D on the display screen 612 ofthe computer 600.
  • the effect can be modeled as a vector or plane moving through space over time.
  • all light systems 102 that are located on the plane ofthe effect in the real world environment can be controlled to generate a certain type of illumination when the effect plane propagates through the light system plane.
  • This can be modeled in the virtual environment ofthe display screen, so that a developer can drag a plane through a series of positions that vary over time.
  • an effect plane 618 can move with the vector 608 through the virtual environment.
  • the effect plan 618 reaches a polygon 614, the polygon can be highlighted in a color selected from the color palette 604.
  • a light system 102 positioned on a real world object that co ⁇ esponds to the polygon can then illuminate in the same color in the real world environment.
  • the polygon could be any configuration of light systems on any object, plane, surface, wall, or the like, so the range of 3D effects that can be created is unlimited.
  • the image information may be communicated from a central controller.
  • the information may be altered before a lighting system responds to the information.
  • the image information may be directed to a position within a position map. All ofthe information directed at a position map may be collected prior to sending the information to a lighting system. This may be accomplished every time the image is refreshed or every time this section ofthe image is refreshed or at other times.
  • an algorithm may be performed on information that is collected. The algorithm may average the information, calculate and select the maximum information, calculate and select the minimum information, calculate and select the first quartile ofthe information, calculate and select the third quartile ofthe information, calculate and select the most used information calculate and select the integral of the information or perform another calculation on the information. This step may be completed to level the effect of the lighting system in response to information received. For example, the information in one refresh cycle may change the information in the map several times and the effect may be viewed best when the projected light takes on one value in a given refresh cycle.
  • the information communicated to a lighting system may be altered before a lighting system responds to the information.
  • the information format may change prior to the communication for example.
  • the information may be communicated from a computer through a USB port or other communication port and the format ofthe information may be changed to a lighting protocol such as DMX when the information is communicated to the lighting system.
  • the information or control signals may be communicated to a lighting system or other system through a communications port of a computer, portable computer, notebook computer, personal digital assistant or other system.
  • the information or control signals may also be stored in memory, electronic or otherwise, to be retrieved at a later time.
  • Systems such the iPlayer and SmartJack systems manufactured and sold by Color Kinetics Incorporated can be used to communicate and or store lighting control signals.
  • several systems may be associated with position maps and the several systems may a share position map or the systems may reside in independent position areas. For example, the position of a lighted surface from a first lighting system may intersect with a lighted surface from a second lighting system. The two systems may still respond to information communicated to the either ofthe lighting systems.
  • the interaction of two lighting systems may also be controlled.
  • An algorithm, function or other technique may be used to change the lighting effects of one or more ofthe lighting systems in a interactive space.
  • the lighting system's hue, saturation or brightness may be modified to compensate the interactive area. This may be used to adjust the overall appearance ofthe interactive area or an adjacent area for example.
  • Control signals generated using methods and or systems according to the principles ofthe present invention can be used to produce a vast variety of effects.
  • a fire or explosion effect that one wishes to have move across a wall or room. It starts at one end ofthe room as a white flash that quickly moves out followed by a highbrightness yellow wave whose intensity varies as it moves through the room.
  • a lighting designer does not have to be concerned with the lights in the room and the timing and generation of each light system's lighting effects. Rather the designer only needs to be concerned with the relative position or actual position of those lights in the room. The designer can lay out the lighting in a room and then associate the lights in the room with graphical information, such as pixel information, as described above.
  • the designer can program the fire or explosion effect on a computer, using Flash 5 for example, and the information can be communicated to the light systems 102 in an environment.
  • the position ofthe lights in the environment may be considered as well as the surfaces 107 or areas 702 that are going to be lit.
  • the lighting effects could also be coupled to sound that will add to and reinforce the lighting effects.
  • An example is a 'red alert' sequence where a ' whoop whoop' siren-like effect is coupled with the entire room pulsing red in concert with the sound. One stimulus reinforces the other. Sounds and movement of an earthquake using low frequency sound and flickering lights is another example of coordinating these effects. Movement of light and sound can be used to indicate direction.
  • the lights are represented in a two-dimensional or plan view. This allows representation ofthe lights in a plane where the lights can be associated with various pixels. Standard computer graphics techniques can then be used for effects. Animation tweening and even standard tools may be used to create lighting effects.
  • Macromedia Flash works with relatively low-resolution graphics for creating animations on the web. Flash uses simple vector graphics to easily create animations. The vector representation is efficient for streaming applications such as on the World Wide Web for sending animations over the net. The same technology can be used to create animations that can be used to derive lighting commands by mapping the pixel information or vector information to vectors or pixels that co ⁇ espond to positions of light systems 102 within a coordinate system for an environment 100.
  • an animation window of a computer 600 can represent a room or other environment ofthe lights. Pixels in that window can co ⁇ espond to lights within the room or a low-resolution averaged image can be created from the higher resolution image. In this way lights in the room can be activated when a co ⁇ esponding pixel or neighborhood of pixels turn on. Because LED-based lighting technology can create any color on demand using digital control information, see U.S. Patents 6,016,038, 6,150,774, and 6,166,496, the lights can faithfully recreate the colors in the original image.
  • effects that could be generated using systems and methods according to the principles ofthe invention include, but are not limited to, explosions, colors, underwater effects, turbulence, color variation, fire, missiles, chases, rotation of a room, shape motion, tinkerbell-like shapes, lights moving in a room, and many others.
  • Any ofthe effects can be specified with parameters, such as frequencies, wavelengths, wave widths, peak-to-peak measurements, velocities, inertia, friction, speed, width, spin, vectors, and the like. Any of these can be coupled with other effects, such as sound.
  • anti-aliasing is a technique for removing staircase effects in imagery where edges are drawn and resolution is limited. This effect can be seen on television when a na ⁇ ow striped pattern is shown. The edges appear to crawl like ants as the lines approach the horizontal. In a similar fashion, the lighting can be controlled in such a way as to provide a smoother transition during effect motion.
  • the effect parameters such as wave width, amplitude, phase or frequency can be modified, to provide better effects.
  • a schematic diagram 800 has circles that represent a single light 804 over time.
  • this light might simply have a step function that causes the light to pulse as the wave passes through the light.
  • the effect might be indiscernible.
  • the effect preferably has width. If however, the effect on the light was simply a step function that turned on for a period of time, then might appear to be a harsh transition, which may be desirable in some cases but for effects that move over time (i.e. have some velocity associated with them) then this would not normally be the case.
  • the wave 802 shown in Fig. 8 has a shape that co ⁇ esponds to the change. In essence it is a visual convolution ofthe wave 802 as it propagates through a space. So as a wave, such as from an explosion, moves past points in space, those points rise in intensity from zero, and can even have associated changes in hue or saturation, which gives a much more realistic effect ofthe motion ofthe effect. At some point, as the number and density of lights increases, the room then becomes an extension ofthe screen and provides large sparse pixels. Even with a relatively small number of light systems 102 the effect eventually can serve as a display similar to a large screen display.
  • Effects can have associated motion and direction, i.e. a velocity. Even other physical parameters can be described to give physical parameters such as friction, inertia, and momentum. Even more than that, the effect can have a specific trajectory, hi an embodiment, each light may have a representation that gives attributes ofthe light. This can take the form of 2D position, for example.
  • a light system 102 can have all various degrees of freedom assigned (e.g., xyz-rpy), or any combination.
  • Control signals can be propogated through other devices based on their positions, such as special effects devices such as pyrotechnics, smell-generating devices, fog machines, bubble machines, moving mechanisms, acoustic devices, acoustic effects that move in space, or other systems.
  • special effects devices such as pyrotechnics, smell-generating devices, fog machines, bubble machines, moving mechanisms, acoustic devices, acoustic effects that move in space, or other systems.
  • An embodiment ofthe present invention is a method of automatically capturing the position ofthe light systems 102 within an environment.
  • An imaging device may be used as a means of capturing the position ofthe light.
  • a camera connected to a computing device, can capture the image for analysis can calculation ofthe position of the light.
  • Fig. 9 depicts a flow diagram 900 that depicts a series of steps that may be used to accomplish this method.
  • the environment to be mapped may be darkened by reducing ambient light.
  • control signals can be sent to each light system 102, commanding the light system 102 to turn on and off in turn.
  • the camera can capture an image during each "on" time at a step 906.
  • the image is analyzed to locate the position ofthe "on" light system 102.
  • a centroid can be extracted. Because no other light is present when the particular light system 102 is on, there is little issue with other artifacts to filter and remove from the image.
  • the centroid position ofthe light system 102 is stored and the system generates a table of light systems 102 and centroid positions. This data can be used to populate a configuration file, such as that depicted in connection with Fig. 5.
  • each light system 102 is activated, and the centroid measurement determined. This is done for all ofthe light systems 102.
  • An image thus gives a position ofthe light system in a plane, such as with (x,y) coordinates.
  • a second image may be captured to triangulate the position ofthe light in another coordinate dimension. This is the stereo problem.
  • a second set of images may be taken to provide the co ⁇ espondence.
  • the camera is either duplicated at a known position relative to the first camera or the first camera is moved a fixed distance and direction. This movement or difference in position establishes the baseline for the two images and allows derivation of a third coordinate (e.g., (x,y,z)) for the light system 102.
  • Fig. 10 contains a flow diagram 1000 with steps for generating a control signal.
  • a user can access a graphical user interface, such as the display 612 depicted in Fig. 6.
  • the user can generate an image on the display, such as using a graphics program or similar facility.
  • the image can be a representation of an environment, such as a room, wall, building, surface, object, or the like, in which light systems 102 are disposed. It is assumed in connection with Fig. 10 that the configuration ofthe light systems 102 in the environment is known and stored, such as in a table or configuration file 500.
  • a user can select an effect, such as from a menu of effects.
  • the effect may be a color selected from a color palette.
  • the color might be a color temperature of white.
  • the effect might be another effect, such as described herein.
  • generating the image 1003 may be accomplished through a program executed on a processor. The image may then be displayed on a computer screen.
  • a user may select a portion ofthe image at a step 1008. This may be accomplished by using a cursor on the screen in a graphical user interface where the cursor is positioned over the desired portion ofthe image and then the portion is selected with a mouse.
  • the information from that portion can be converted to lighting control signals at a step 1010.
  • This may involve changing the format ofthe bit stream or converting the information into other information.
  • the information that made the image may be segmented into several colors such as red, green, and blue.
  • the information may also be communicated to a lighting system in, for example, segmented red, green, and blue signals.
  • the signal may also be communicated to the lighting system as a composite signal at a step 1012.
  • This technique can be useful for changing the color of a lighting system.
  • a color palette may be presented in a graphical user interface and the palette may represent millions of different colors. A user may want to change the lighting in a room or other area to a deep blue.
  • the user can select the color from the screen using a mouse and the lighting in the room changes to match the color ofthe portion ofthe screen she selected.
  • the information on a computer screen is presented in small pixels of red, green and blue. LED systems, such as those found in U.S. Patent Nos. 6,016,038, 6,150,774 and
  • 6,166,496, may include red, green and blue lighting elements as well.
  • the conversion process from the information on the screen to control signals may be a format change such that the lighting system understands the commands.
  • the information or the level ofthe separate lighting elements may be the same as the information used to generate the pixel information. This provides for an accurate duplication ofthe pixel information in the lighting system.
  • light systems can be disposed in a wide range of lines, strings, curves, polygons, cones, cylinders, cubes, spheres, hemispheres, non-linear configurations, clouds, and arbitrary shapes and configurations, then modeled in a virtual environment that captures their positions in selected coordinate dimensions.
  • light systems can be disposed in or on the interior or exterior of any environment, such as a room, building, home, wall, object, product, retail store, vehicle, ship, airplane, pool, spa, hospital, operating room, or other location.
  • the light system may be associated with code for the computer application, so that the computer application code is modified or created to control the light system.
  • object-oriented programming techniques can be used to attach attributes to objects in the computer code, and the attributes can be used to govern behavior ofthe light system.
  • Object oriented techniques are known in the field, and can be found in texts such as "Introduction to Object-Oriented Programming" by Timothy Budd, the entire disclosure of which is herein incorporated by reference. It should be understood that other programming techniques may also be used to direct lighting systems to illuminate in coordination with computer applications, object oriented programming being one of a variety of programming techniques that would be understood by one of ordinary skill in the art to facilitate the methods and systems described herein.
  • a developer can attach the light system inputs to objects in the computer application.
  • the developer may have an abstraction of a light system 102 that is added to the code construction, or object, of an application object.
  • An object may consist of various attributes, such as position, velocity, color, intensity, or other values.
  • a developer can add light as an instance in the object in the code of a computer application.
  • the object could be vector in an object-oriented computer animation program or solid modeling program, with attributes, such as direction and velocity.
  • a light system 102 can be added as an instance ofthe object of the computer application, and the light system can have attributes, such as intensity, color, and various effects.
  • a thread running through the program can draw code to serve as an input to the processor ofthe light system.
  • the light can accurately represent geometry, placement, spatial location, represent a value ofthe attribute or trait, or provide indication of other elements or objects.
  • a flow chart 1200 provides steps for a method of providing for coordinated illumination.
  • the programmer codes an object for a computer application, using, for example, object-oriented programming techniques.
  • the programming creates instances for each ofthe objects in the application.
  • the programmer adds light as an instance to one or more objects ofthe application.
  • the programmer provides for a thread, running through the application code.
  • the programmer provides for the thread to draw lighting system input code from the objects that have light as an instance.
  • the input signal drawn from the thread at the step 1212 is provided to the light system, so that the lighting system responds to code drawn from the computer application.
  • various lighting effects can be associated in the real world environment with the virtual world objects of a computer application.
  • a light effect can be attached with the explosion ofthe polygon, such as sound, flashing, motion, vibration and other temporal effects.
  • the light system 102 could include other effects devices including sound producing devices, motion producing devices, fog machines, rain machines or other devices which could also produce indications related to that object.
  • a flow diagram 1300 depicts steps for coordinated illumination between a representation on virtual environment of a computer screen and a light system 102 or set of light systems 102 in a real environment
  • program code for control ofthe light system 102 has a separate thread running on the machine that provides its control signals.
  • the program initiates the thread.
  • the thread as often as possible runs through a list of virtual lights, namely, objects in the program code that represent lights in the virtual environment.
  • the thread does three-dimensional math to determine which real- world light systems 102 in the environment are in proximity to a reference point in the real world (e.g., a selected surface 107) that is projected as the reference point ofthe coordinate system of objects in the virtual environment ofthe computer representation.
  • a reference point in the real world e.g., a selected surface 107
  • the (0,0,0) position can be a location in a real environment and a point on the screen in the display ofthe computer application (for instance the center ofthe display.
  • the code maps the virtual environment to the real world environment, including the light systems 102, so that events happening outside the computer screen are similar in relation to the reference point as are virtual objects and events to a reference point on the computer screen.
  • the host ofthe method may provide an interface for mapping.
  • the mapping function maybe done with a function, e.g., "project-all-lights," as described in Directlight API described below and in Appendix A, that maps real world lights using a simple user interface, such as drag and drop interface.
  • the placement of the lights may not be as important as the surface the lights are directed towards. It may be this surface that reflects the illumination or lights back to the environment and as a result it may be this surface that is the most important for the mapping program.
  • the mapping program may map these surfaces rather than the light system locations or it may also map both the locations ofthe light systems and the light on the surface.
  • a system for providing the code for coordinated illumination may be any suitable computer capable of allowing programming, including a processor, an operating system, and memory, such as a database, for storing files for execution.
  • Each real light 102 may have attributes that are stored in a configuration file.
  • An example of a structure for a configuration file is depicted in Fig. 5.
  • the configuration file may include various data, such as a light number, a position of each light, the position or direction of light output, the gamma (brightness) ofthe light, an indicator number for one or more attributes, and various other attributes.
  • the developer can thus create time-based effects, such as an explosion.
  • time-based effects such as an explosion.
  • effects in the code can be attached to various application attributes. Examples include explosions, rainbows, color chases, fades in and out, etc.
  • the developer attaches the effects to virtual objects in the application. For example, when an explosion is done, the light goes off in the display, reflecting the destruction ofthe object that is associated with the light in the configuration file.
  • the configuration file can be typed in, or can be put into a graphical user interface that can be used to drag and drop light sources onto a representation of an environment.
  • the developer can create a configuration file that matches the fixtures with true placement in a real environment. For example, once the lighting elements are dragged and dropped in the environment, the program can associate the virtual lights in the program with the real lights in the environment.
  • An example of a light authoring program to aid in the configuration of lighting is included in U.S. Patent Application No. 09/616,214 "Systems and Methods for Authoring Lighting Sequences.” Color Kinetics Inc. also offers a suitable authoring and configuration program called "ColorPlay.”
  • Directlight API is a programmer's interface that allows a programmer to incorporate lighting effects into a program.
  • Directlight API is attached in Appendix A and the disclosure incorporated by reference herein.
  • Object oriented programming is just one example of a programming technique used to incorporate lighting effects. Lighting effects could be incorporated into any programming language or method of programming. In object oriented programming, the programmer is often simulating a 3D space.
  • lights were used to indicate the position of objects which produce the expected light or have light attached to them. There are many other ways in which light can be used.
  • the lights in the light system can be used for a variety of purposes, such as to indicate events in a computer application (such as a game), or to indicate levels or attributes of objects.
  • Simulation types of computer applications are often 3D rendered and have objects with attributes as well as events.
  • a programmer can code events into the application for a simulation, such as a simulation of a real world environment.
  • a programmer can also code attributes or objects in the simulation.
  • a program can track events and attributes, such as explosions, bullets, prices, product features, health, other people, patterns of light, and the like.
  • the code can then map from the virtual world to the real world.
  • the system can add to the virtual world with real world data, such as from sensors or input devices. Then the system can control real and virtual world objects in coordination with each other. Also, by using the light system as an indicator, it is possible to give information through the light system that aids a person in the real world environment.
  • Shadow visualization, mechanical engineering models, and other solid modeling environments are encompassed herein as embodiments.
  • lighting is often relevant both in a virtual environment and in a solid model real world visualization environment.
  • the user can thus position and control a light system 102 the illuminates a real world sold model to illuminate the real world solid model in co ⁇ espondence to illumination conditions that are created in the virtual world modeling environment.
  • Scale physical models in a room of lights can be modeled for lighting during the course of a day or year or during different seasons for example, possibly to detect previously unknown interaction with the light and various building surfaces.
  • Another example would be to construct a replica of a city or portion of a city in a room with a lighting system such as those discussed above.
  • the model could then be analyzed for color changes over a period of time, shadowing, or other lighting effects.
  • this technique could be used for landscape design.
  • the lighting system is used to model the interior space of a room, building, or other piece of architecture. For example, an interior designer may want to project the colors ofthe room, or fabric or objects in the room with colors representing various times ofthe day, year, or season.
  • a lighting system is used in a store near a paint section to allow for simulation of lighting conditions on paint chips for visualization of paint colors under various conditions.
  • These types of real world modeling applications can enable detection of potential design flaws, such as reflective buildings reflecting sunlight in the eyes of drivers during certain times ofthe year. Further, the three- dimensional visualization may allow for more rapid recognition ofthe aesthetics ofthe design by human beings, than by more complex computer modeling.
  • Solid modeling programs can have virtual lights.
  • One can light a model in the virtual environment while simultaneously lighting a real world model the same way.
  • one can model environmental conditions ofthe model and recreate them in the real world modeling environment outside the virtual environment.
  • one can model a house or other building and show how it would appear in any daylight environment.
  • a hobbyist could also model lighting for a model train set (for instance based on pictures of an actual train) and translate that lighting into the illumination for the room wherein the model train exists. Therefore the model train may not only be a physical representation of an actual train, but may even appear as that train appeared at a particular time.
  • a civil engineering project could also be assembled as a model and then a lighting system according to the principles of the invention could be used to simulate the lighting conditions over the period ofthe day.
  • This simulation could be used to generate lighting conditions, shadows, color effects or other effects.
  • This technique could also be used in Film/Theatrical modeling or could be used to generate special effects in filmmaking.
  • Such a system could also be used by a homeowner, for instance by selecting what they want their dwelling to look like from the outside and having lights be selected to produce that look. This is a possibility for safety when the owner is away.
  • the system could work in reverse where the owner turns on the lights in their house and a computer provides the appearance ofthe house from various different directions and distances.
  • a lighting system may be used to simulate the lighting conditions during a medical procedure. This may involve creating an operating room setting or other environment such as an auto accident at night, with specific lighting conditions.
  • the lighting on highways is generally high-pressure sodium lamps which produce nearly monochromatic yellow light and as a result objects and fluids may appear to be a non-normal color.
  • Parking lots generally use metal halide lighting systems and produce a broad spectrum light that has spectral gaps. Any of these environments could be simulated using a system according to the principles ofthe invention.
  • These simulators could be used to train emergency personnel how to react in situations lit in different ways. They could also be used to simulate conditions under which any job would need to be performed.
  • the light that will be experienced by an astronaut repairing an orbiting satellite can be simulated on earth in a simulation chamber.
  • Lights can also be used to simulate travel in otherwise inaccessible areas such as the light that would be received traveling through space or viewing astronomical phenomena, or lights could be used as a three dimensional projection of an otherwise unviewable object.
  • a lighting system attached to a computing device could provide a three dimensional view from the inside of a molecular model.
  • Temporal Function or other mathematical concepts could also be visualized.
  • An application for example, a 3D rendered game
  • DirectLight can map these lights onto real-world Color Kirieitics full spectrum digital lights with color and brightness settings corresponding to the location and color ofthe virtual lights within the game.
  • Dynamic light The most common form of virtual light has a position and a color value. This light can be moved and it's color change ⁇ as often as necessary. Dynamic lights could represent glowing space nebulae, rocket flares, a yellow spotlight flying past a corporate logo, or the bright red eye. of a ravenous mutant ice-weasel.
  • Ambient light is stationary and has only color value. Tlie sun., an overhead room light, or a general color wash are examples of ambient. Alihpugh you can have as many dynamic and indicator lights as you want, y ⁇ u : can only have one ambient light source (which amounts to an ambient color value).
  • Indicator lights can only be assigned to specific real-world lights. While dynamic lights can change position and henceforth will affect! different real-world lights, and ambient lights are a constant color which can effect any or all real-world lights, indicator lights will always only effect a single real-world light. Indicators are intended to give feedback to the user separate from lighting, e.g. shield status, threat location, etc.
  • niy_Iigbt:s.h” configuration fde is created in' nd can be edited by, the "DirectLight GUI Setup" program.
  • Virtual lights can be created and static, or created at run time dy ⁇ amical ly.
  • DircctLights runs in it's own thread; constantly poking new values into the lights 10 make sure they don't fall asleep. After updating your v ⁇ rtuat lights you send them to the real-worlid light;: with a single function call. DirectLights handles all the mapping from virtual world to real world.
  • a typical setup for action games has one overhead light set to primarily ambient, lights to the back, side and around the monitor set primarily to dynamic, and
  • the ambient light creates a mood and atmosphere.
  • the dynamicj lights around the player give feedback on things happening around him: weapons, environment objects, explosions, etc.
  • the indicator lights give instant feedback on game parameters: shieljl level., danger, detection, etc.
  • LightingFX can be attached to lights which override or enhance the dynamic lighting.
  • Star Trek: Armada for example, hitting Red Alert causes every light in the room to pulse red, replacing temporarily any other color information the lights havje.
  • Explosion effects can be attached to a single virtual light and will play out over time, so rather than have to continuously tweak values to make the fireball fade, virtual lights can be created, an effect attached and started, and the light can be left alone .until the effect is done.
  • Real lights have a coordinate system based on the room they are installed in. Using a person sitting at a computer monitor as a reference, their head should be consi ered the origin. X increases to their right. Y increases towards the ceiling. Z increases towards the monitor.
  • Virtual lights are free to use any coordinate system at all. There are several different modes to map virtual lights onto real lights. Having the virtual light coordinate system axis-aligned with the real light coordinate system can make your life much easier.
  • Light positions can take on any real values.
  • the DirectLight GUI setup program restricts the lights to within I meter of the center ofthe room, but you can cjha ⁇ ge the values by hand to your heart's content if you like. Read about the Projection Types first, though. Some modes require that the real world and virtual world coordinate systems have trie samu scale. Getting Started
  • the DirectLight DLL implements a COM object which encapsu ' a ⁇ es the DirectLight functionality.
  • the DirectLight object possesses the DirectLJight inlerface, which is used by the client program.
  • DirectLight COM object To access the DirectLight COM object from a program (w ⁇ 'U call it a client), you must first include ''directlight.h", which contains the definition ofthe; DirectLight COM interface (among other things) and "directlight J.c”, which contains the definitions of the various UIDs of the objects and interfaces (more on this later).
  • CLS ⁇ D_CDirectL ⁇ ght is the identifier (declared in directUghtJ-c) ofthe DirectLight object
  • IID_IDirectL_ght is the identifier of the DirectLight interface
  • pDirectLight is a pointer to the implementation ofthe DirectLight interface on the object we just instantiated. The pDirectLight pointer will be used by the rest ofthe client to access the EJirectLiights functionality.
  • CoFreeUnusedLibrariesO will ask COM to remove our DirectLight factory (a server that created the COM object when we called CoCreatelnstanceO) from memory, a d CoUnm ⁇ tial ⁇ :e() will shut down the COM library.
  • the DirectLight class con t ains the core functionality of the AjPl. It contains functionality for se t ting ambient light values, global brightness of all the lighuj (gamma), and add i ng and removing virtual lights.
  • Us vii ⁇ ual position is specified by space coordinates. The values for the color are in the range 0 - HA: ⁇ _LIGHT_BRIGHTNESS . T is function returns a pointer to the light created.
  • Remove_Virtual_Light ( Vircua._Light ⁇ bad_light ) ; Given a pointer to a Virtual_Lighc instance, Reroove_virtual_Li ⁇ :;,u Will delete the virtual light.
  • Set_Gamma ( float gamma ) ;
  • the Set_Gamma function sets the gamma value ofthe Direct Light dila structure. This value can be used to control the overall value of all the lights, as every virtual light is multiplied by the gamma value before it is projected onto the real lights.
  • void Project_AU_Lights ( void J ; Pro; ⁇ ect_AU_ Ligric5 calculates the effect of every virtual ori ever; real-world light, taking into account gamma, ambient and dynamic contributions, position and projection mode, cutoff angle and cutoff range, and sends the values to every real-world light.
  • Indicators can be assigned to any ofthe real world lights via the con-ig ⁇ ration file( myjights.h )- Each indicator must have a unique non-negative integer ID.
  • set_l t ⁇ licator_color changes the color ofthe indicator designated by vhich_indicator to the! red, t ⁇ l-en, and blue values specified. If Set_lndicator_Color is called with an indicator id which does not exist, nothing will happen. The user specifies which lights should be indicators, h t note that lights that are indicators can still be effected by the ambient and dynamic lights.
  • Indicator Get indicator ( int which_i ⁇ dicator j) ; Returns a pointer to the indicator with the specified value.
  • Load_Real_Light_Configuratio ⁇ ( char " fullpjath » NULL ) ; Loads the "myjights.h” file from the default location determined by the registry. DirectLight will create a list of real lights based on the information in the file.
  • ie, int indicator_nu ber, float add ambient, float add_dynamic, float gamma, float cutoff_angle, float x, float y, float 2 ) ; Creates a new real light in the real world. Typically DirectLight will load the real light information from the "myjights.h" file at startup.
  • Light GetAmbientLight ( void ) ; Returns a pointer to the ambient light.
  • Ambient lights are defined as lights.
  • Light class is the parent class fur Virtual Lights and Real Lights. Member variables: static const int MAX_LIGHT_BRIGHTNESS. Defined as 255
  • CoiorRGB m coior. Every light must have a color! colorRGJB is defined in Co lorRGB.h void Attach J"X( LightingFX • newJTX ) Attach a new lighting effect to this virtual light. void DetachJTXt LightingFX • old FX 1 Detach an old lighting effect from this virtual light.
  • Real Light inherits from the Light class. Real lights represent lightsli ⁇ the real world. Member variables: sta t ic const int NOT_M_INDICATORJ.IGHT defined as -1. char ⁇ identi ier [100 j is the name ofthe light ( like "overhead” or " ovelightl”). Unused by DirectLight except as a debugging tool. in t D M X_p o r t is a unique non-negative integer representing the channel the given light will receive information on. DMX information is sent out in a buffer with 3 bytes (red, green and blue ) for each light. iDMX_port * 3) is actually the index of the ⁇ 'ed vaKie for the specified light. DirectLight DMX buffers are 512 bytes, so DirectLight can support approximately 170 lights. Large buffers can cause performance problems, so if possible avoid using large DMXjport numbers.
  • Hght rype m type describes the different models of Color Kinetics fights. Currently unused except by DirectLight GUI Setup to display icons. floa t m_ add _ ⁇ _ien t the amount of ambient light contribution to this, lights color. Range 0-1 float m_add_dynamic the amount of dynamic light contributionjto this lights color. Range 0-1 float ⁇ i_garona is the overall brightness of this light. Range 0-1. floa m_ c utof f_angle determines how sensitive the light is to (the ctintr ⁇ bt ⁇ ons ofthe virtual lights around it. Large values cause it to receive information from most, vitual lights. Smaller values cause it to receive contributions only from virtual lights in the same arc as the real light.
  • Projection Type ⁇ r_projection_type defines how the virtuall ll ights map onto the real lights
  • SCALE_B Y_DISTANCE_AND_ANGLE this real light will receive contribution.- from virtual lights based on the distance as coniputed above AND the difference in angle between ⁇ h ⁇ real V$& and the virtual light.
  • SCALE_BY_DISTANCE_VIRTUAL_TO_REAL this real light will receive contributions from virtual lights based on the distance in 3-spacc from real light to virtual light. This (mode iis ⁇ umcs that the real and virtual coordinate systems are identical. The virtual light contribution fades! linearly as the distance from real to virtual approaches the cutoff range. ' loat ⁇ _ ⁇ pos x,y,z position in virtual space , flo n_ypos float m__zpos int m_indicatoi:_number. if indicator is negative the light is not an indicator. If it is non- negative it will only receive colors sent to that indicator number. Virtual Lights
  • Virtual LH it s represent li-ht sources within a game or other r ⁇ al ⁇ n ⁇ application that arc m pped ⁇ i aUworl Color Kinetics lights.
  • Virtual Lights may b, reated, moved, destroyed, and have their color changed as often as is feasible with i n the appl i cat i on.
  • MAX LIGHT B RI GH TNE SS is a constant representing the largest ,value a light can have. In the case 7 ⁇ 5SSS ⁇ this value is 255. Lights are assumed «, have a range that starts at 0
  • the s et ositio n function sets the position values ofthe virtual light to the values passed into the function.
  • the posi t ion should use application space coord i nate;.
  • Lighting FX are time-based effects which can be attached to real or virtual lights, or indicators or even the ambient light. Lighting effects can have other cffpcts as children, in which case the children are played sequentially.
  • static const int FX_OFF Defined as -1. static const int START_TIKE ; Times to start and stoplthe effect. This is a virtual value. The static const int STOP TIKE.- individual effects will scale trcir time of play based on the to t al.
  • Indicator lights referenced either by a pointer to the indicator or it's number
  • Amb ⁇ entllight and all Real Lights.
  • Time_Is_Up ( void ) ; , Either loop or stop playing the efFect, since time it up for it.
  • void ⁇ pdate_Time ( float time passed ) ; Change how much game time has gone by for this effect.
  • void UpdateJteal Time ⁇ void ) Find out how much real time has passed for this effect.
  • Update_Extrapolated_Time I void Change the FX time based on extrapolating how much application time per real time we have had so far.
  • void-Apply_All_FX_To_All_Virtual_Lights ( voidl ) ; Apply each effect to all virtual, ambient and indicator lights that are appropriate.
  • Add_ChildFX LightingFX * the_chlld, loat timeshare ) ;
  • Timeshare is this child's share ofthe total time the effect will play.
  • the timfesharta don't have to add up to one, as the total shares are scaled to match the total real play time ofthe effect
  • the file “myjtghts.li” contains information about real-world lights, ac.d is loaded into the DirectLight system at startup.
  • the files “myjights.h” and “light .eitiiitions. "' must be included in the same directory as the application using DirectLights.
  • This example file is taken from our offices, where we had lights setup around a computer, with the following lights (referenced from someone sitting at the monitor); One overhead (mostly ambient); one on each side of our head (Left and Right); one behind uur head; Three each along the top, left and right side ofthe monitor in front of us.
  • Each line in the "myjights" file represents one Real J ght.
  • Eajch Rt lJLight instance represents, surprise surprise, one real-world light.
  • the lower lights on the left and right side ofthe monitor are indicatoi s 0 and 2, the middle light on the left side ofthe monitor is indicator I.
  • the positional values are in meters.
  • Z is into/out ofthe plane of the monitor.
  • X is vertical in the plane ofthe monitor,
  • Y is horizontal in the plane ofthe monitojr.
  • MAXJJGHTS can be as high as 170 for each DMX universe.! Each DMX universe is usually a single physical connection to the computer (COMI, for example). The larger MAXJ IGHTS is, the slower the lights will respond, as MAXJ.IGHTS determinjes the size ofthe buffer sent to DMX (MAX_LIGHTS * 3) Obviously, larger buffers will take long; ⁇ to send.
  • OVERALL JAMMA can have a value of 0 - 1, This value ⁇ s

Abstract

An embodiment of the invention is a system for generating control signals. The system may allow a user to generate an image, representation of an image, algorithm or other effect information. The effect information may then be converted to lighting control signals to be saved or communicated to a networked lighting system. An embodiment of the invention may enable the authoring, generation and communcation of control signals such that an effect is generated in a space or area.

Description

Systems and Methods of Generating Control Signals
Cross Reference to Related Applications
This patent application claims the benefit under 35 U.S.C. §119(e) ofthe following U.S. Provisional Applications: Serial No. 60/296,344, filed June 6, 2001, entitled "Systems and Methods of Generating Control Signals"; Serial No. 60/301,692, filed June 28, 2001, entitled "Systems and Methods for Networking LED Lighting Systems"; Serial No. 60/328,867, filed October 12, 2001, entitled "Systems and Methods for Networking LED Lighting Systems;" and Serial No. 60/341,476, filed October 30, 2001, entitled "Systems and Methods for LED Lighting."
This application also claims the benefit under 35 U.S.C. §120 as a continuation- in-part (CIP) of U.S. Non-provisional Application Serial No. 09/971,367, filed October 4, 2001, entitled "Multicolored LED Lighting Method and Apparatus," which is a continuation of U.S. Non-provisional Application Serial No. 09/669,121, filed September 25, 2000, entitled "Multicolored LED Lighting Method and Apparatus," which is a continuation of U.S. Serial No. 09/425,770, filed October 22, 1999, now Patent No. 6,150,774, which is a continuation of U.S. Serial No. 08/920,156, filed August 26, 1997, now Patent No. 6,016,038.
This application also claims the benefit under 35 U.S.C. §120 as a continuation- in-part (CP) ofthe following U.S. Non-provisional Applications: Serial No. 09/870,193, filed May 30, 2001, entitled "Methods and Apparatus for Controlling Devices in a Networked Lighting System;" Serial No. 09/215,624, filed December 17, 1998, entitled "Smart Light Bulb;" Serial No. 09/213,607, filed December 17, 1998, entitled "Systems and Methods for Sensor-Responsive lllummation;" Serial No. 09/213,189, filed December 17, 1998, entitled "Precision Illumination;" Serial No. 09/213,581, filed December 17, 1998, entitled "Kinetic IHumination;" Serial No. 09/213,540, filed December 17, 1998, entitled "Data Delivery Track;" Serial No. 09/333,739, filed June 15, 1999, entitled "Diffuse Illumination Systems and Methods;" Serial No. 09/815,418, filed March 22, 2001, entitled "Lighting Entertainment System," which is a continuation of U.S. Serial No. 09/213,548, filed December 17, 1998, now Patent No. 6,166,496; Serial No. 10/045,604, filed October 23, 2001, entitled "Systems and Methods for Digital Entertainment;" Serial No. 09/989,095, filed November 20, 2001, entitled "Automotive Information Systems:" Serial No. 09/989,747, filed November 20, 2001, entitled "Packaged Information Systems;" and Serial No. 09/989,677, filed November 20, 2001, entitles "Information Systems."
This application also claims the benefit under 35 U.S.C. § 120 of each ofthe following U.S. Provisional Applications, as at least one ofthe above-identified U.S. Non- provisional Applications similarly is entitled to the benefit of at least one ofthe following Provisional Applications: Serial No. 60/071,281, filed December 17, 1997, entitled "Digitally Controlled Light Emitting Diodes Systems and Methods;" Serial No. 60/068,792, filed December 24, 1997, entitled "Multi-Color Intelligent Lighting;" Serial No. 60/078,861, filed March 20, 1998, entitled "Digital Lighting Systems;" Serial No. 60/079,285, filed March 25, 1998, entitled "System and Method for Controlled Illumination;" Serial No. 60/090,920, filed June 26, 1998, entitled "Methods for Software Driven Generation of Multiple Simultaneous High Speed Pulse Width Modulated Signals;" Serial No. 60/277,911, filed March 22, 2001, entitled "Systems and Methods for Digital Entertainment;" Serial No. 60/242,484, filed October 23, 2000, entitled, " Systems and Methods for Digital Entertainment;" Serial No. 60/252,004, filed November 20, 2000, entitled, "Intelligent Indicators;" Serial No. 60/262,022, filed January 16, 2001, entitled, "Color Changing LCD Screens;" Serial No. 60/262,153, filed January 17, 2001, entitled, "Information Systems;" Serial No. 60/268,259, filed February 13, 2001, entitled, "LED Based Lighting Systems for Vehicals;" and Serial No. 60/296,219, filed June 6, 2001, entitled, "Systems and Methods for Displaying Information."
Each ofthe foregoing applications is hereby incorporated herein by reference.
Background of The Invention
Networked lighting control has become increasingly popular due to the variety of illumination conditions that can be created. Color Kinetics Incorporated offers a full line of networked lighting systems as well as controllers and light-show authoring tools.
Control signals for lighting systems are generally generated and communicated through a network to a plurality of lighting systems. Several lighting systems may be aπanged in a lighting network and information pertaining to each lighting device may be communicated to through the network. Each lighting device or system may have a unique identifier or address such that it only reads and react to information directed at its particular address. There are several methods used for generating networked lighting control signals. A control-signal generating tool can offer a graphical user interface where lighting shows and sequences can be authored. The user can set up series of addressed lighting systems and then create a lighting control signal that is directed to the individually addressed lighting systems. Such an authoring system can be used to generate coordinated effects between lighting systems or within groups of lighting systems. One particularly popular lighting effect that would be difficult to program without an authoring system is chasing a rainbow of colors down a corridor.
To produce a coordinated lighting effect a user must conventionally have knowledge of where the lighting systems reside as well as knowing the particular addresses each ofthe lighting systems. It remains difficult to program lighting effects that are designed to move through an area other than in a line or within a group of lighting systems. It would be useful to provide a system that allowed a user to generate and communicate lighting control signals based on the desired effect in an area.
Summary ofthe Invention
Provided herein are methods and systems for generating a control signal for a light system. The methods and systems include facilities for providing a light management facility for mapping the positions of a plurality of light systems, generating a map file that maps the positions of a plurality of light systems, generating an effect using a computer application, associating characteristics ofthe light systems with code for the computer application, and generating a lighting control signal to control the light systems. Provided herein are methods and systems for controlling a light system. The methods and systems may include providing graphical information; associating a plurality of addressable light systems with locations in an environment; and converting the graphical information to control signals capable of controlling the light systems to illuminate the environment in correspondence to the graphical information.
Provided herein are methods and systems for controlling a light system. The methods and systems may include accessing a set of information for producing a graphic; associating a plurality of addressable light systems with locations in an environment; and applying an algorithm to the graphical information to convert the graphical information to control signals capable of controlling the light systems to create an effect in the environment in coπespondence to the graphical information.
Provided herein are methods and systems for automatically associating a plurality of light systems with positions in an environment. The methods and systems may include accessing an imaging device for capturing an image of a light system; commanding each of a plurality of light systems to turn on in a predetermined sequence; capturing an image during the "on" time for each of a plurality of light systems; and calculating the position of the light system in the environment based on the position of the lighting system in the image.
Provided herein are methods and systems for generating a lighting effect in an environment. The methods and systems may include generating an image using a non- lighting system; associating a plurality of light systems with positions in an environment; and using the association ofthe light systems and positions to convert the image into control signals for a light system, wherein the light system generates an effect that corresponds to the image.
Provided herein are methods and systems for generating a control signal for a light system. The methods and systems may include providing a light management facility for mapping the positions of a plurality of light systems; using the light management facility to generate map files that map the positions of a plurality of light systems; using an animation facility to generate a plurality of graphics files; associating the positions ofthe light systems in the map files with data in the graphics files; and generating a lighting control signal to control the light systems in association with the graphics files.
Provided herein are methods and systems for controlling a lighting system. The methods and systems may include obtaining a lighting control signal for a plurality of light systems in an environment; obtaining a graphics signal from a computer; and modifying the lighting control signal in response to the content ofthe graphics signal.
The present invention eliminates many ofthe problems associated with the prior art. An embodiment ofthe invention is a system for generating control signals. The system may allow a user to generate an image, representation of an image, algorithm or other effect information. The effect information may then be converted to lighting control signals to be saved or communicated to a networked lighting system. An embodiment ofthe invention may enable the authoring, generation and communication of control signals such that an effect is generated in a space or area.
In an embodiment, control signals capable of controlling a lighting system, lighting network, light, LED, LED lighting system, audio system, surround sound system, fog machine, rain machine, electromechanical system or other system may be generated.
A system according to the principles ofthe invention may include the generation of image information and conversion ofthe image information to control signals capable of controlling a networked lighting system. In an embodiment, configuration information may be generated identifying a plurality of addressable lighting systems with locations within an area or space. In an embodiment, configuration information may be generated associated lighted surfaces with lighting systems, h an embodiment, control signals may be communicated to a lighting network comprising a plurality of addressed lighting systems. In an embodiment, sound or other effects may be coordinated with lighting control signals.
Brief Description ofthe Figures
The following figures depict certain illustrative embodiments ofthe invention in which like reference numerals refer to like elements. These depicted embodiments are to be understood as illustrative ofthe invention and not as limiting in any way.
Fig. 1 is a representation of an environment in which a plurality of light systems are disposed. Fig. 2 is a schematic diagram showing control of a plurality of lights using a group of control elements.
Fig. 3 is a schematic diagram showing elements for generating a lighting control signal using a configuration facility and a graphical representation facility. Fig. 4 is a schematic diagram showing elements for generating a lighting control signal from an animation facility and light management facility.
Fig. 5 illustrates a configuration file for data relating to light systems in an environment.
Fig. 6 illustrates a virtual representation of an environment using a computer screen.
Fig. 7 is a representation of an environment with light systems that project light onto portions ofthe environment.
Fig. 8 is a schematic diagram showing the propagation of an effect through a light system. Fig. 9 is a flow diagram showing steps for using an image capture device to determine the positions of a plurality of light systems in an environment.
Fig. 10 is a flow diagram showing steps for interacting with a graphical user interface to generate a lighting effect in an environment.
Fig. 11 is a schematic diagram depicting light systems that transmit data that is generated by a network transmitter.
Fig. 12 is a flow diagram showing steps for generating a control signal for a light system using an object-oriented programming technique.
Fig. 13 is a flow diagram for executing a thread to generate a lighting signal for a real world light system based on data from a computer application. Detailed Description ofthe Preferred Embodiment(s
The description below pertains to several illustrative embodiments ofthe invention. Although many variations ofthe invention may be envisioned by one skilled in- the art, such variations and improvements are intended to fall within the compass of this disclosure. Thus, the scope ofthe invention is not to be limited in any way by the disclosure below.
An embodiment of this invention relates to systems and methods for generating control signals. The control signals may be used to control a lighting system, lighting network, light, LED, LED lighting system, audio system, suπound sound system, fog machine, rain machine, electromechanical system or other systems. Lighting systems like those described in U.S. Patent Nos. 6,016,038, 6,150,774, and 6,166,496 illustrate some different types of lighting systems where control signals may be used.
To provide an overall understanding ofthe invention, certain illustrative embodiments will now be described, including various applications for programmable lights and lighting systems, including LED-based systems. However, it will be understood by those of ordinary skill in the art that the methods and systems described herein may be suitably adapted to other environments where programmable lighting may be desired, and embodiments described herein may be suitable to non-LED based lighting. One of skill in the art would also understand that the embodiments described below could be used in conjunction with any type of computer software that need not be an authoring tool for lighting control systems, but of various other types of computer application. Further, the user need not be operating a computer, but could be operating any type of computing device, capable of running a software application that is providing that user with information.
In certain computer applications, there is typically a display screen (which could be a personal computer screen, television screen, laptop screen, handheld, gameboy screen, computer monitor, flat screen display, LCD display, PDA screen, or other display) that represents a virtual environment of some type. There is also typically a user in a real world environment that surrounds the display screen. The present invention relates, among other things, to using a computer application in a virtual environment to generate control signals for systems, such as lighting systems, that are located in real world environments.
Referring to Fig. 1, in an embodiment ofthe invention described herein, an environment 100 includes one or more light systems 102. As used herein "light systems" should be understood where context is appropriate to comprise all light systems, including LED systems, as well as incandescent sources, including filament lamps, pyro- luminescent sources, such as flames, candle-luminescent sources, such as gas mantles and carbon arc radiation sources, as well as photo-luminescent sources, including gaseous discharges, fluorescent sources, phosphorescence sources, lasers, electroluminescent sources, such as electro-luminescent lamps, light emitting diodes, and cathode luminescent sources using electronic satiation, as well as miscellaneous luminescent sources including galvano-luminescent sources, crystallo-luminescent sources, kine-luminescent sources, thermo-luminescent sources, triboluminescent sources, sonoluminescent sources, and radioluminescent sources. Light systems 102 may also include luminescent polymers capable of producing colors, such as primary colors. In one preferred embodiment, the light systems 102 are LED-based light systems. In one prefeπed embodiment, the light systems 102 are capable of mixing two colors of light, which might be red, green, blue, white, amber, or other colors of light, hi one embodiment, the colors of lights may be different colors of white light, i.e., white lights of different color temperatures.
As used herein, the term "LED" means any system that is capable of receiving an electrical signal and producing a color of light in response to the signal. Thus, the term "LED" should be understood to include light emitting diodes of all types, light emitting polymers, semiconductor dies that produce light in response to cuπent, organic LEDs, electro-luminescent strips, and other such systems. In an embodiment, an "LED" may refer to a single light emitting diode having multiple semiconductor dies that are individually controlled. It should also be understood that the term "LED" does not restrict the package type ofthe LED. The term "LED" includes packaged LEDs, non- packaged LEDs, surface mount LEDs, chip on board LEDs and LEDs of all other configurations. The term "LED" also includes LEDs packaged or associated with phosphor wherein the phosphor may convert energy from the LED to a different wavelength. An LED system is one type of illumination source.
The term "illuminate" should be understood to refer to the production of a frequency of radiation by an illumination source. The terms "light" and "color" should be understood where context is appropriate to refer to any frequency of radiation within a spectrum; that is, a "color" of "light," as used herein, should be understood to encompass a f equency or combination of f equencies not only ofthe visible spectrum, including white light, but also frequencies in the infrared and ultraviolet areas ofthe spectrum, and in other areas ofthe electromagnetic spectrum.
Fig. 2 is a block diagram illustrating one embodiment of a lighting system 200. A processor 204 is associated several lights 208. The processor sends control signals to the lights 208. Such a system may optionally have one or more intermediate components between the processor and the lights 208, such as one or more controllers, transistors, or the like.
As used herein, the term processor may refer to any system for processing electronic signals. A processor may include a microprocessor, microcontroller, programmable digital signal processor, other programmable device, a controller, addressable controller, microprocessor, microcontroller, addressable microprocessor, computer, programmable processor, programmable controller, dedicated processor, dedicated controller, integrated circuit, control circuit or other processor. A processor may also, or instead, include an application specific integrated circuit, a programmable gate array, programmable aπay logic, a programmable logic device, a digital signal processor, an analog-to-digital converter, a digital-to-analog converter, or any other device that may be configured to process electronic signals. In addition, a processor may include discrete circuitry such as passive or active analog components including resistors, capacitors, inductors, transistors, operational amplifiers, and so forth, as well as discrete digital components such as logic components, shift registers, latches, or any other separately packaged chip or other component for realizing a digital function. Any combination ofthe above circuits and components, whether packaged discretely, as a chip, as a chipset, or as a die, may be suitably adapted to use as a processor as described herein. It will further be appreciated that the term processor may apply to an integrated system, such as a personal computer, network server, or other system that may operate autonomously or in response to commands to process electronic signals such as those described herein. Where a processor includes a programmable device such as the microprocessor or microcontroller mentioned above, the processor may further include computer executable code that controls operation ofthe programmable device. In an embodiment, the processor 204 is a Microchip PIC processor 12C672 and the lights 208 are LEDs, such as red, green and blue LEDs.
The processor 204 may optionally include or be used in association with various other components and control elements (not shown), such as a pulse width modulator, pulse amplitude modulator, pulse displacement modulator, resistor ladder, cuπent source, voltage source, voltage ladder, switch, transistor, voltage controller, or other controller. The control elements and processor 204 can control cuπent, voltage and/or power through the lights 208.
In an embodiment, several LEDs with different spectral output may be used as lights 208. Each of these colors maybe driven through separate channels of control. The processor 204 and controller may be incorporated into one device. This device may power capabilities to drive several LEDs in a string or it may only be able to support one or a few LEDs directly. The processor 204 and controller may also be separate devices. By controlling the LEDs independently, color mixing can be achieved for the creation of lighting effects.
In an embodiment, memory 210 may also be provided. The memory 210 is capable of storing algorithms, tables, or values associated with the control signals. The memory 210 may store programs for controlling the processor 204, other components, and lights 208. The memory 210 may be memory, read-only memory, programmable memory, programmable read-only memory, electronically erasable programmable read- only memory, random access memory, dynamic random access memory, double data rate random access memory, Rambus direct random access memory, flash memory, or any other volatile or non-volatile memory for storing program instructions, program data, address information, and program output or other intermediate or final results.
A program, for example, may store control signals to operate several different colored lights 208. A user interface 202 may also optionally be associated with the processor 204. The user interface 202 may be used to select a program from memory, modify a program from memory, modify a program parameter from memory, select an external signal or provide other user interface solutions. Several methods of color mixing and pulse width modulation control are disclosed in U.S. Patent 6,016,038
"Multicolored LED Lighting Method and Apparatus," the entire disclosure of which is incorporated by reference herein. The processor 204 can also be addressable to receive programming signals addressed to it. For example, a processor 204 can receive a stream of data (or lighting control signals) that includes data elements for multiple similar processors or other devices, and the processor 204 can extract from the stream the appropriate data elements that are addressed to it. In an embodiment, the user interface can include an authoring system for generating a lighting control signal, such as described in more detail below.
There have been significant advances in the control of LEDs. U.S. Patents in the field of LED control include Ser. Nos. 6,016,038, 6,150,774, and 6,166,496. U.S. Patent Application No. 09/716,819 for "Systems and Methods for Generating and Modulating Illumination Conditions" also describes, among other things, systems and controls. The entire disclosure of all these documents is herein incorporated by reference.
In embodiments ofthe invention, the lighting system may be used to illuminate an environment. On such environment 100 is shown in Fig. 1. The environment has at least one light system 102 mounted therein, and in a prefeπed embodiment may have multiple light systems 102 therein. The light system 102 may be a controllable light system 102, such as described above in connection with Fig. 2, with lights 208 that illuminate portions ofthe environment 100.
Generally the light systems 102 can be mounted in a manner that a viewer in the environment 100 can see either the illumination projected by a light system 102 directly, or the viewer sees the illumination indirectly, such as after the illumination bounces off a surface, or through a lens, filter, optic, housing, screen, or similar element that is designed to reflect, diffuse, refract, diffract, or otherwise affect the illumination from the light system 102.
The light systems 102 in combination comprise a lighting or illumination system. The lighting system may be in communication with a control system or other user interface 202, such as a computer, by any manner known to one of skill in the art which can include, but is not limited to: wired connections, cable connections, infrared (IR) connections, radio frequency (RF) connections, any other type of connection, or any combination ofthe above.
Various control systems can be used to generate lighting control signals, as described below. In one embodiment, control may be passed to the lighting system via a video-to-DMX device, which provides a simple way of generating the lighting signal. Such a device may have a video-in port and a pass-through video-out port. The device may also have a lighting signal port where the DMX, or other protocol data, is communicated to the lights in the room. The device may apply an algorithm to the received video signal (e.g. average, average of a given section or time period, max, min) and then generate a lighting signal coπesponding to the algorithm output. For example, the device may average the signal over the period of one second with a resultant value equal to blue light. The device may then generate blue light signals and communicate them to the lighting system, hi an embodiment, a simple system would communicate the same averaged signal to all ofthe lights in the room, but a variant would be to communicate the average of a portion ofthe signal to one portion ofthe room. There are many ways of partitioning the video signal, and algorithms could be applied to the various sections ofthe light system, thus providing different inputs based on the same video signal.
Referring still to Fig. 1, the environment 100 may include a surface 107 that is lit by one or more lighting systems 102. In the depicted embodiment the surface 107 comprises a wall or other surface upon which light could be reflected, hi another embodiment, the surface could be designed to absorb and retransmit light, possibly at a different frequency. For instance the surface 107 could be a screen coated with a phosphor where illumination of a particular color could be projected on the screen and the screen could convert the color ofthe illumination and provide a different color of illumination to a viewer in the environment 100. For instance the projected illumination could primarily be in the blue, violet or ultraviolet range while the transmitted light is more of a white. In embodiments, the surface 107 may also include one or more colors, figures, lines, designs, figures, pictures, photographs, textures, shapes or other visual or graphical elements that can be illuminated by the lighting system. The elements on the surface can be created by textures, materials, coatings, painting, dyes, pigments, coverings, fabrics, or other methods or mechanisms for rendering graphical or visual effects, h embodiments, changing the illumination from the lighting system may create visual effects. For example, a picture on the surface 107 may fade or disappear, or become more apparent or reappear, based on the color ofthe light from the lighting system that is rendered on the surface 107. Thus, effects can be created on the surface 107 not only by shining light on a plain surface, but also through the interaction of light with the visual or graphical elements on the surface.
In certain prefeπed embodiments, the light systems 102 are networked lighting systems where the lighting control signals are packaged into packets of addressed information. The addressed information may then be communicated to the lighting systems in the lighting network. Each ofthe lighting systems may then respond to the control signals that are addressed to the particular lighting system. This is an extremely useful aπangement for generating and coordinating lighting effects in across several lighting systems. Embodiments of U.S. Patent Application No. 09/616,214 "Systems and Methods for Authoring Lighting Sequences" describe systems and methods for generating system control signals and is herby incorporated by reference herein.
A lighting system, or other system according to the principles ofthe present invention, may be associated with an addressable controller. The addressable controller may be aπanged to "listen" to network information until it "hears" its address. Once the systems address is identified, the system may read and respond to the information in a data packet that is assigned to the address. For example, a lighting system may include an addressable controller. The addressable controller may also include an alterable address and a user may set the address ofthe system. The lighting system may be connected to a network where network information is communicated. The network may be used to communicate information to many controlled systems such as a plurality of lighting systems for example. In such an aπangement, each ofthe plurality of lighting systems may be receiving information pertaining to more than one lighting system. The information may be in the form of a bit stream where information for a first addressed lighting system is followed by information directed at a second addressed lighting system. An example of such a lighting system can be found in U.S. Patent No. 6,016,038, which is herby incorporated by reference herein.
Referring to Fig. 11, in one embodiment of a networked lighting system according to the principles ofthe invention, a network transmitter 1102 communicates network information to the light systems 102. In such an embodiment, the light systems 102 can include an input port 1104 and an export port 1108. The network information may be communicated to the first light system 102 and the first light system 102 may read the information that is addressed to it and pass the remaining portion ofthe information on to the next light system 102. A person with ordinary skill in the art would appreciate that there are other network topologies that are encompassed by a system according to the principles ofthe present invention.
In an embodiment, the light system 102 is placed in a real world environment 100. The real world environment 100 could be a room. The lighting system could be aπanged, for example, to light the walls, ceiling, floor or other sections or objects in a room, or particular surfaces 107 ofthe room. The lighting system may include several addressable light systems 102 with individual addresses. The illumination can be projected so as to be visible to a viewer in the room either directly or indirectly. That is a light 208 of a light system 102 could shine so that the light is projected to the viewer without reflection, or could be reflected, refracted, absorbed and reemitted, or in any other manner indirectly presented to the viewer. An embodiment ofthe present invention describes a method for generating control signals as illustrated in the block diagram in Fig. 3. The method may involve providing or generating an image or representation of an image, i.e., a graphical representation 302. The graphical representation may be a static image such as a drawing, photograph, generated image, or image that is or appears to be static. The static image may include images displayed on a computer screen or other screen even though the image is continually being refreshed on the screen. The static image may also be a hard copy of an image.
Providing a graphical representation 302 may also involve generating an image or representation of an image. For example, a processor may be used to execute software to generate the graphical representation 302. Again, the image that is generated may be or appear to be static or the image may be dynamic. An example of software used to generate a dynamic image is Flash 5 computer software offered by Macromedia,
Incorporated. Flash 5 is a widely used computer program to generate graphics, images and animations. Other useful products used to generate images include, for example, Adobe Illustrator, Adobe Photoshop, and Adobe LiveMotion. There are many other programs that can be used to generate both static and dynamic images. For example, Microsoft Corporation makes a computer program Paint. This software is used to generate images on a screen in a bit map format. Other software programs may be used to generate images in bitmaps, vector coordinates, or other techniques. There are also many programs that render graphics in three dimensions or more. Direct X libraries, from Microsoft Corporation, for example generate images in three-dimensional space. The output of any ofthe foregoing software programs or similar programs can serve as the graphical representation 302.
In embodiments the graphical representation 302 may be generated using software executed on a processor but the graphical representation 302 may never be displayed on a screen. In an embodiment, an algorithm may generate an image or representation therof, such as an explosion in a room for example. The explosion function may generate an image and this image may be used to generate control signals as described herein with or without actually displaying the image on a screen. The image ma>"be displayed through a lighting network for example without ever being displayed on a screen.
In an embodiment, generating or representing an image may be accomplished through a program that is executed on a processor. In an embodiment, the purpose of generating the image or representation ofthe image may be to provide information defined in a space. For example, the generation of an image may define how a lighting effect travels through a room. The lighting effect may represent an explosion, for example. The representation may initiate bright white light in the corner of a room and the light may travel away from this corner ofthe room at a velocity (with speed and direction) and the color ofthe light may change as the propagation ofthe effect continues. An illustration of an environment 100 showing vectors 104 demonstrating the velocity of certain lighting effects is illustrated in Fig. 1. hi an embodiment, an image generator may generate a function or algorithm. The function or algorithm may represent an event such as an explosion, lighting strike, headlights, train passing through a room, bullet shot through a room, light moving through a room, sunrise across a room, or other event. The function or algorithm may represent an image such as lights swirling in a room, balls of light bouncing in a room, sounds bouncing in a room, or other images. The function or algorithm may also represent randomly generated effects or other effects.
Referring again to Fig. 3, a light system configuration facility 304 may accomplish further steps for the methods and systems described herein. The light system configuration facility may generate a system configuration file, configuration data or other configuration information for a lighting system, such as the one depicted in connection with Fig. 1.
The light system configuration facility can represent or coπelate a system, such as a light system 102, sound system or other system as described herein with a position or positions in the environment 100. For example, an LED light system 102 maybe coπelated with a position within a room. In an embodiment, the location of a lighted surface 107 may also be determined for inclusion into the configuration file. The position ofthe lighted surface may also be associated with a light system 102. In embodiments, the lighted surface 107 may be the desired parameter while the light system 102 that generates the light to illuminate the surface is also important. Lighting control signals may be communicated to a light system 102 when a surface is scheduled to be lit by the light system 102. For example, control signals may be communicated to a lighting system when a generated image calls for a particular section of a room to change in hue, saturation or brightness. In this situation, the control signals may be used to control the lighting system such that the lighted surface 107 is illuminated at the proper time. The lighted surface 107 may be located on a wall but the light system 102 designed to project light onto the surface 107 may be located on the ceiling. The configuration information could be aπanged to initiate the light system 102 to activate or change when the surface 107 is to be lit.
Referring still to Fig. 3, the graphical representation 302 and the configuration information from the light system configuration facility 304 can be delivered to a conversion module 308, which associates position information from the configuration facility with information from the graphical representation and converts the information into a control signal, such as a control signal for a light system 102. Then the conversion module can communicate the control signal, such as to the light system 102. In embodiments the conversion module maps positions in the graphical representation to positions of light systems 102 in the environment, as stored in a configuration file for the environment (as described below). The mapping might be a one-to-one mapping of pixels or groups of pixels in the graphical representation to light systems 102 or groups of light systems 102 in the environment 100. It could be a mapping of pixels in the graphical representation to surfaces 107, polygons, or objects in the environment that are lit by light systems 102. It could be a mapping of vector coordinate information, a wave function, or algorithm to positions of light systems 102. Many different mapping relations can be envisioned and are encompassed herein.
Referring to Fig. 4, another embodiment of a block diagram for a method and system for generating a control signal is depicted. A light management facility 402 is used to generate a map file 404 that maps light systems 102 to positions in an environment, to surfaces that are lit by the light systems, and the like. An animation facility 408 generates a sequence of graphics files for an animation effect. A conversion module 412 relates the information in the map file 404 for the light systems 102 to the graphical information in the graphics files. For example, color information in the graphics file may be used to convert to a color control signal for a light system to generate a similar color. Pixel information for the graphics file may be converted to address information for light systems which will coπespond to the pixels in question. In embodiments, the conversion module 412 includes a lookup table for converting particular graphics file information into particular lighting control signals, based on the content of a configuration file for the lighting system and conversion algorithms appropriate for the animation facility in question. The converted information can be sent to a playback tool 414, which may in turn play the animation and deliver control signals 418 to light systems 102 in an environment.
Referring to Fig. 5, an embodiment of a configuration file 500 is depicted; showing certain elements of configuration information that can be stored for a light system 102 or other system. Thus, the configuration file 500 can store an identifier 502 for each light system 102, as well as the position 508 of that light system in a desired coordinate or mapping system for the environment 100 (which may be (x,y,z) coordinates, polar coordinates, (x,y) coordinates, or the like). The position 508 and other information may be time-dependent, so the configuration file 500 can include an element of time 504. The configuration file 500 can also store information about the position 510 that is lit by the light system 102. That information can consist of a set of coordinates, or it may be an identified surface, polygon, object, or other item in the environment. The configuration file 500 can also store information about the available degrees of freedom for use ofthe light system 102, such as available colors in a color range 512, available intensities in an intensity range 514, or the like. The configuration file 500 can also include information about other systems in the environment that are controlled by the control systems disclosed herein, information about the characteristics of surfaces 107 in the environment, and the like. Thus, the configuration file 500 can map a set of light systems 102 to the conditions that they are capable of generating in an environment 100.
In an embodiment, configuration information such as the configuration file 500 may be generated using a program executed on a processor. Referring to Fig. 6, the program may run on a computer 600 with a graphical user interface 612 where a representation of an environment 602 can be displayed, showing light systems 102, lit surfaces 107 or other elements in a graphical format. The interface may include a representation 602 of a room for example. Representations of lights, lighted surfaces or other systems may then be presented in the interface 612 and locations can be assigned to the system. In an embodiment, position coordinates or a position map may represent a system, such as a light system. A position map may also be generated for the representation of a lighted surface for example. Figure 6 illustrates a room with light systems 102.
The representation 602 can also be used to simplify generation of effects. For example, a set of stored effects can be represented by icons 610 on the screen 612. An explosion icon can be selected with a cursor or mouse, which may prompt the user to click on a starting and ending point for the explosion in the coordinate system. By locating a vector in the representation, the user can cause an explosion to be initiated in the upper corner ofthe room 602 and a wave of light and or sound may propagate through the environment. With all ofthe light systems 102 in predetermined positions, as identified in the configuration file 500, the representation ofthe explosion can be played in the room by the light system and or another system such as a sound system.
In use, a control system such as used herein can be used to provide information to a user or programmer from the light systems 102 in response to or in coordination with the information being provided to the user ofthe computer 600. One example of how this can be provided is in conjunction with the user generating a computer animation on the computer 600. The light system 102 may be used to create one or more light effects in response to displays 612 on the computer 600. The lighting effects, or illumination effects, can produce a vast variety of effects including color-changing effects; stroboscopic effects; flashing effects; coordinated lighting effects; lighting effects coordinated with other media such as video or audio; color wash where the color changes in hue, saturation or intensity over a period of time; creating an ambient color; color fading; effects that simulate movement such as a color chasing rainbow, a flare streaking across a room, a sun rising, a plume from an explosion, other moving effects; and many other effects. The effects that can be generated are nearly limitless. Light and color continually suπound the user, and controlling or changing the illumination or color in a space can change emotions, create atmosphere, provide enhancement of a material or object, or create other pleasing and or useful effects. The user ofthe computer 600 can observe the effects while modif ing them on the display 612, thus enabling a feedback loop that allows the user to conveniently modify effects. Fig. 7 illustrates how the light from a given light system 102 may be displayed on a surface. A light system 102, sound system, or other system may project onto a surface. In the case of a light system 102, this maybe an area 702 that is illuminated by the light system 102. The light system 102, or other system, may also move, so the area 107 may move as well, hi the case of a sound system, this may be the area where the user desires the sound to emanate from.
In an embodiment, the information generated to form the image or representation may be communicated to a light system 102 or plurality of light systems 102. The information may be sent to lighting systems as generated in a configuration file. For example, the image may represent an explosion that begins in the upper right hand comer of a room and the explosion may propagate through the room. As the image propagates through its calculated space, control signals can be communicated to lighting systems in the coπesponding space. The communication signal may cause the lighting system to generate light of a given hue, saturation and intensity when the image is passing through the lighted space the lighting systems projects onto. An embodiment ofthe invention projects the image through a lighting system. The image may also be projected through a computer screen or other screen or projection device, hi an embodiment, a screen may be used to visualize the image prior or during the playback ofthe image on a lighting system. In an embodiment, sound or other effects may be coπelated with the lighting effects. For example, the peak intensity of a light wave propagating through a space may be just ahead of a sound wave. As a result, the light wave may pass through a room followed by a sound wave. The light wave may be played back on a lighting system and the sound wave may be played back on a sound system. This coordination can create effects that appear to be passing through a room or they can create various other effects.
Referring to Fig. 6, an effect can propagate through a virtual environment that is represented in 3D on the display screen 612 ofthe computer 600. In embodiments, the effect can be modeled as a vector or plane moving through space over time. Thus, all light systems 102 that are located on the plane ofthe effect in the real world environment can be controlled to generate a certain type of illumination when the effect plane propagates through the light system plane. This can be modeled in the virtual environment ofthe display screen, so that a developer can drag a plane through a series of positions that vary over time. For example, an effect plane 618 can move with the vector 608 through the virtual environment. When the effect plan 618 reaches a polygon 614, the polygon can be highlighted in a color selected from the color palette 604. A light system 102 positioned on a real world object that coπesponds to the polygon can then illuminate in the same color in the real world environment. Of course, the polygon could be any configuration of light systems on any object, plane, surface, wall, or the like, so the range of 3D effects that can be created is unlimited.
In an embodiment, the image information may be communicated from a central controller. The information may be altered before a lighting system responds to the information. For example, the image information may be directed to a position within a position map. All ofthe information directed at a position map may be collected prior to sending the information to a lighting system. This may be accomplished every time the image is refreshed or every time this section ofthe image is refreshed or at other times. In an embodiment, an algorithm may be performed on information that is collected. The algorithm may average the information, calculate and select the maximum information, calculate and select the minimum information, calculate and select the first quartile ofthe information, calculate and select the third quartile ofthe information, calculate and select the most used information calculate and select the integral of the information or perform another calculation on the information. This step may be completed to level the effect of the lighting system in response to information received. For example, the information in one refresh cycle may change the information in the map several times and the effect may be viewed best when the projected light takes on one value in a given refresh cycle.
In an embodiment, the information communicated to a lighting system may be altered before a lighting system responds to the information. The information format may change prior to the communication for example. The information may be communicated from a computer through a USB port or other communication port and the format ofthe information may be changed to a lighting protocol such as DMX when the information is communicated to the lighting system. In an embodiment, the information or control signals may be communicated to a lighting system or other system through a communications port of a computer, portable computer, notebook computer, personal digital assistant or other system. The information or control signals may also be stored in memory, electronic or otherwise, to be retrieved at a later time. Systems such the iPlayer and SmartJack systems manufactured and sold by Color Kinetics Incorporated can be used to communicate and or store lighting control signals. In an embodiment, several systems may be associated with position maps and the several systems may a share position map or the systems may reside in independent position areas. For example, the position of a lighted surface from a first lighting system may intersect with a lighted surface from a second lighting system. The two systems may still respond to information communicated to the either ofthe lighting systems. In an embodiment, the interaction of two lighting systems may also be controlled. An algorithm, function or other technique may be used to change the lighting effects of one or more ofthe lighting systems in a interactive space. For example, if the interactive space is greater than half of the non-interactive space from a lighting system, the lighting system's hue, saturation or brightness may be modified to compensate the interactive area. This may be used to adjust the overall appearance ofthe interactive area or an adjacent area for example.
Control signals generated using methods and or systems according to the principles ofthe present invention can be used to produce a vast variety of effects.
Imagine a fire or explosion effect that one wishes to have move across a wall or room. It starts at one end ofthe room as a white flash that quickly moves out followed by a highbrightness yellow wave whose intensity varies as it moves through the room. When generating a control signal according to the principles ofthe present invention, a lighting designer does not have to be concerned with the lights in the room and the timing and generation of each light system's lighting effects. Rather the designer only needs to be concerned with the relative position or actual position of those lights in the room. The designer can lay out the lighting in a room and then associate the lights in the room with graphical information, such as pixel information, as described above. The designer can program the fire or explosion effect on a computer, using Flash 5 for example, and the information can be communicated to the light systems 102 in an environment. The position ofthe lights in the environment may be considered as well as the surfaces 107 or areas 702 that are going to be lit.
In an embodiment, the lighting effects could also be coupled to sound that will add to and reinforce the lighting effects. An example is a 'red alert' sequence where a ' whoop whoop' siren-like effect is coupled with the entire room pulsing red in concert with the sound. One stimulus reinforces the other. Sounds and movement of an earthquake using low frequency sound and flickering lights is another example of coordinating these effects. Movement of light and sound can be used to indicate direction.
In an embodiment the lights are represented in a two-dimensional or plan view. This allows representation ofthe lights in a plane where the lights can be associated with various pixels. Standard computer graphics techniques can then be used for effects. Animation tweening and even standard tools may be used to create lighting effects. Macromedia Flash works with relatively low-resolution graphics for creating animations on the web. Flash uses simple vector graphics to easily create animations. The vector representation is efficient for streaming applications such as on the World Wide Web for sending animations over the net. The same technology can be used to create animations that can be used to derive lighting commands by mapping the pixel information or vector information to vectors or pixels that coπespond to positions of light systems 102 within a coordinate system for an environment 100. For example, an animation window of a computer 600 can represent a room or other environment ofthe lights. Pixels in that window can coπespond to lights within the room or a low-resolution averaged image can be created from the higher resolution image. In this way lights in the room can be activated when a coπesponding pixel or neighborhood of pixels turn on. Because LED-based lighting technology can create any color on demand using digital control information, see U.S. Patents 6,016,038, 6,150,774, and 6,166,496, the lights can faithfully recreate the colors in the original image.
Some examples of effects that could be generated using systems and methods according to the principles ofthe invention include, but are not limited to, explosions, colors, underwater effects, turbulence, color variation, fire, missiles, chases, rotation of a room, shape motion, tinkerbell-like shapes, lights moving in a room, and many others. Any ofthe effects can be specified with parameters, such as frequencies, wavelengths, wave widths, peak-to-peak measurements, velocities, inertia, friction, speed, width, spin, vectors, and the like. Any of these can be coupled with other effects, such as sound.
In computer graphics, anti-aliasing is a technique for removing staircase effects in imagery where edges are drawn and resolution is limited. This effect can be seen on television when a naπow striped pattern is shown. The edges appear to crawl like ants as the lines approach the horizontal. In a similar fashion, the lighting can be controlled in such a way as to provide a smoother transition during effect motion. The effect parameters such as wave width, amplitude, phase or frequency can be modified, to provide better effects.
For example, referring to Fig. 8, a schematic diagram 800 has circles that represent a single light 804 over time. For an effect to 'traverse' this light, it might simply have a step function that causes the light to pulse as the wave passes through the light. However, without the notion of width, the effect might be indiscernible. The effect preferably has width. If however, the effect on the light was simply a step function that turned on for a period of time, then might appear to be a harsh transition, which may be desirable in some cases but for effects that move over time (i.e. have some velocity associated with them) then this would not normally be the case.
The wave 802 shown in Fig. 8 has a shape that coπesponds to the change. In essence it is a visual convolution ofthe wave 802 as it propagates through a space. So as a wave, such as from an explosion, moves past points in space, those points rise in intensity from zero, and can even have associated changes in hue or saturation, which gives a much more realistic effect ofthe motion ofthe effect. At some point, as the number and density of lights increases, the room then becomes an extension ofthe screen and provides large sparse pixels. Even with a relatively small number of light systems 102 the effect eventually can serve as a display similar to a large screen display.
Effects can have associated motion and direction, i.e. a velocity. Even other physical parameters can be described to give physical parameters such as friction, inertia, and momentum. Even more than that, the effect can have a specific trajectory, hi an embodiment, each light may have a representation that gives attributes ofthe light. This can take the form of 2D position, for example. A light system 102 can have all various degrees of freedom assigned (e.g., xyz-rpy), or any combination.
The techniques listed here are not limited to lighting. Control signals can be propogated through other devices based on their positions, such as special effects devices such as pyrotechnics, smell-generating devices, fog machines, bubble machines, moving mechanisms, acoustic devices, acoustic effects that move in space, or other systems.
An embodiment ofthe present invention is a method of automatically capturing the position ofthe light systems 102 within an environment. An imaging device may be used as a means of capturing the position ofthe light. A camera, connected to a computing device, can capture the image for analysis can calculation ofthe position of the light. Fig. 9 depicts a flow diagram 900 that depicts a series of steps that may be used to accomplish this method. First, at a step 902, the environment to be mapped may be darkened by reducing ambient light. Next, at a step 904, control signals can be sent to each light system 102, commanding the light system 102 to turn on and off in turn. Simultaneously, the camera can capture an image during each "on" time at a step 906. Next, at a step 908, the image is analyzed to locate the position ofthe "on" light system 102. At a step 910 a centroid can be extracted. Because no other light is present when the particular light system 102 is on, there is little issue with other artifacts to filter and remove from the image. Next, at a step 912, the centroid position ofthe light system 102 is stored and the system generates a table of light systems 102 and centroid positions. This data can be used to populate a configuration file, such as that depicted in connection with Fig. 5. In sum, each light system 102, in turn, is activated, and the centroid measurement determined. This is done for all ofthe light systems 102. An image thus gives a position ofthe light system in a plane, such as with (x,y) coordinates.
Where a 3D position is desired a second image may be captured to triangulate the position ofthe light in another coordinate dimension. This is the stereo problem. In the same way human eyes determine depth through the coπespondence and disparity between the images provided by each eye, a second set of images may be taken to provide the coπespondence. The camera is either duplicated at a known position relative to the first camera or the first camera is moved a fixed distance and direction. This movement or difference in position establishes the baseline for the two images and allows derivation of a third coordinate (e.g., (x,y,z)) for the light system 102.
Another embodiment ofthe invention is depicted in Fig. 10, which contains a flow diagram 1000 with steps for generating a control signal. First, at a step 1002 a user can access a graphical user interface, such as the display 612 depicted in Fig. 6. Next, at a step 1003, the user can generate an image on the display, such as using a graphics program or similar facility. The image can be a representation of an environment, such as a room, wall, building, surface, object, or the like, in which light systems 102 are disposed. It is assumed in connection with Fig. 10 that the configuration ofthe light systems 102 in the environment is known and stored, such as in a table or configuration file 500. Next, at a step 1004, a user can select an effect, such as from a menu of effects. In an embodiment, the effect may be a color selected from a color palette. The color might be a color temperature of white. The effect might be another effect, such as described herein. In an embodiment, generating the image 1003 may be accomplished through a program executed on a processor. The image may then be displayed on a computer screen. Once a color is selected from the palette at the step 1004, a user may select a portion ofthe image at a step 1008. This may be accomplished by using a cursor on the screen in a graphical user interface where the cursor is positioned over the desired portion ofthe image and then the portion is selected with a mouse. Following the selection of a portion ofthe image, the information from that portion can be converted to lighting control signals at a step 1010. This may involve changing the format ofthe bit stream or converting the information into other information. The information that made the image may be segmented into several colors such as red, green, and blue. The information may also be communicated to a lighting system in, for example, segmented red, green, and blue signals. The signal may also be communicated to the lighting system as a composite signal at a step 1012. This technique can be useful for changing the color of a lighting system. For example, a color palette may be presented in a graphical user interface and the palette may represent millions of different colors. A user may want to change the lighting in a room or other area to a deep blue. To accomplish her task, the user can select the color from the screen using a mouse and the lighting in the room changes to match the color ofthe portion ofthe screen she selected. Generally, the information on a computer screen is presented in small pixels of red, green and blue. LED systems, such as those found in U.S. Patent Nos. 6,016,038, 6,150,774 and
6,166,496, may include red, green and blue lighting elements as well. The conversion process from the information on the screen to control signals may be a format change such that the lighting system understands the commands. However, in an embodiment, the information or the level ofthe separate lighting elements may be the same as the information used to generate the pixel information. This provides for an accurate duplication ofthe pixel information in the lighting system.
Using the techniques described herein, including techniques for determining positions of light systems in environments, techniques for modeling effects in environments (including time- and geometry-based effects), and techniques for mapping light system environments to virtual environments, it is possible to model an unlimited range of effects in an unlimited range of environments. Effects need not be limited to those that can be created on a square or rectangular display. Instead, light systems can be disposed in a wide range of lines, strings, curves, polygons, cones, cylinders, cubes, spheres, hemispheres, non-linear configurations, clouds, and arbitrary shapes and configurations, then modeled in a virtual environment that captures their positions in selected coordinate dimensions. Thus, light systems can be disposed in or on the interior or exterior of any environment, such as a room, building, home, wall, object, product, retail store, vehicle, ship, airplane, pool, spa, hospital, operating room, or other location.
In embodiments, the light system may be associated with code for the computer application, so that the computer application code is modified or created to control the light system. For example, object-oriented programming techniques can be used to attach attributes to objects in the computer code, and the attributes can be used to govern behavior ofthe light system. Object oriented techniques are known in the field, and can be found in texts such as "Introduction to Object-Oriented Programming" by Timothy Budd, the entire disclosure of which is herein incorporated by reference. It should be understood that other programming techniques may also be used to direct lighting systems to illuminate in coordination with computer applications, object oriented programming being one of a variety of programming techniques that would be understood by one of ordinary skill in the art to facilitate the methods and systems described herein.
In an embodiment, a developer can attach the light system inputs to objects in the computer application. For example, the developer may have an abstraction of a light system 102 that is added to the code construction, or object, of an application object. An object may consist of various attributes, such as position, velocity, color, intensity, or other values. A developer can add light as an instance in the object in the code of a computer application. For example, the object could be vector in an object-oriented computer animation program or solid modeling program, with attributes, such as direction and velocity. A light system 102 can be added as an instance ofthe object of the computer application, and the light system can have attributes, such as intensity, color, and various effects. Thus, when events occur in the computer application that call on the object ofthe vector, a thread running through the program can draw code to serve as an input to the processor ofthe light system. The light can accurately represent geometry, placement, spatial location, represent a value ofthe attribute or trait, or provide indication of other elements or objects.
Referring to Fig. 12, a flow chart 1200 provides steps for a method of providing for coordinated illumination. At the step 1202, the programmer codes an object for a computer application, using, for example, object-oriented programming techniques. At a step 1204, the programming creates instances for each ofthe objects in the application. At a step 1208, the programmer adds light as an instance to one or more objects ofthe application. At a step 1210, the programmer provides for a thread, running through the application code. At a step 1212, the programmer provides for the thread to draw lighting system input code from the objects that have light as an instance. At a step 1214, the input signal drawn from the thread at the step 1212 is provided to the light system, so that the lighting system responds to code drawn from the computer application.
Using such object-oriented light input to the light system 102 from code for a computer application, various lighting effects can be associated in the real world environment with the virtual world objects of a computer application. For example, in animation of an effect such as explosion of a polygon, a light effect can be attached with the explosion ofthe polygon, such as sound, flashing, motion, vibration and other temporal effects. Further, the light system 102 could include other effects devices including sound producing devices, motion producing devices, fog machines, rain machines or other devices which could also produce indications related to that object.
Referring to Fig. 13, a flow diagram 1300 depicts steps for coordinated illumination between a representation on virtual environment of a computer screen and a light system 102 or set of light systems 102 in a real environment, hi embodiments, program code for control ofthe light system 102 has a separate thread running on the machine that provides its control signals. At a step 1302 the program initiates the thread. At a step 1304 the thread as often as possible runs through a list of virtual lights, namely, objects in the program code that represent lights in the virtual environment. At a step 1308 the thread does three-dimensional math to determine which real- world light systems 102 in the environment are in proximity to a reference point in the real world (e.g., a selected surface 107) that is projected as the reference point ofthe coordinate system of objects in the virtual environment ofthe computer representation. Thus, the (0,0,0) position can be a location in a real environment and a point on the screen in the display ofthe computer application (for instance the center ofthe display. At a step 1310, the code maps the virtual environment to the real world environment, including the light systems 102, so that events happening outside the computer screen are similar in relation to the reference point as are virtual objects and events to a reference point on the computer screen.
At a step 1312, the host ofthe method may provide an interface for mapping. The mapping function maybe done with a function, e.g., "project-all-lights," as described in Directlight API described below and in Appendix A, that maps real world lights using a simple user interface, such as drag and drop interface. The placement of the lights may not be as important as the surface the lights are directed towards. It may be this surface that reflects the illumination or lights back to the environment and as a result it may be this surface that is the most important for the mapping program. The mapping program may map these surfaces rather than the light system locations or it may also map both the locations ofthe light systems and the light on the surface.
A system for providing the code for coordinated illumination may be any suitable computer capable of allowing programming, including a processor, an operating system, and memory, such as a database, for storing files for execution. Each real light 102 may have attributes that are stored in a configuration file. An example of a structure for a configuration file is depicted in Fig. 5. hi embodiments, the configuration file may include various data, such as a light number, a position of each light, the position or direction of light output, the gamma (brightness) ofthe light, an indicator number for one or more attributes, and various other attributes. By changing the coordinates in the configuration file, the real world lights can be mapped to the virtual world represented on the screen in a way that allows them to reflect what is happening in the virtual environment. The developer can thus create time-based effects, such as an explosion. There can then be a library of effects in the code that can be attached to various application attributes. Examples include explosions, rainbows, color chases, fades in and out, etc. The developer attaches the effects to virtual objects in the application. For example, when an explosion is done, the light goes off in the display, reflecting the destruction ofthe object that is associated with the light in the configuration file.
To simplify the configuration file, various techniques can be used, i embodiments, hemispherical cameras, sequenced in turn, can be used as a baseline with scaling factors to triangulate the lights and automatically generate a configuration file without ever having to measure where the lights are. In embodiments, the configuration file can be typed in, or can be put into a graphical user interface that can be used to drag and drop light sources onto a representation of an environment. The developer can create a configuration file that matches the fixtures with true placement in a real environment. For example, once the lighting elements are dragged and dropped in the environment, the program can associate the virtual lights in the program with the real lights in the environment. An example of a light authoring program to aid in the configuration of lighting is included in U.S. Patent Application No. 09/616,214 "Systems and Methods for Authoring Lighting Sequences." Color Kinetics Inc. also offers a suitable authoring and configuration program called "ColorPlay."
Further details as to the implementation ofthe code can be found in the Directlight API document attached hereto as Appendix A. Directlight API is a programmer's interface that allows a programmer to incorporate lighting effects into a program. Directlight API is attached in Appendix A and the disclosure incorporated by reference herein. Object oriented programming is just one example of a programming technique used to incorporate lighting effects. Lighting effects could be incorporated into any programming language or method of programming. In object oriented programming, the programmer is often simulating a 3D space.
In the above examples, lights were used to indicate the position of objects which produce the expected light or have light attached to them. There are many other ways in which light can be used. The lights in the light system can be used for a variety of purposes, such as to indicate events in a computer application (such as a game), or to indicate levels or attributes of objects.
Simulation types of computer applications are often 3D rendered and have objects with attributes as well as events. A programmer can code events into the application for a simulation, such as a simulation of a real world environment. A programmer can also code attributes or objects in the simulation. Thus, a program can track events and attributes, such as explosions, bullets, prices, product features, health, other people, patterns of light, and the like. The code can then map from the virtual world to the real world. In embodiments, at an optional step, the system can add to the virtual world with real world data, such as from sensors or input devices. Then the system can control real and virtual world objects in coordination with each other. Also, by using the light system as an indicator, it is possible to give information through the light system that aids a person in the real world environment.
Architectural visualization, mechanical engineering models, and other solid modeling environments are encompassed herein as embodiments. In these virtual environments lighting is often relevant both in a virtual environment and in a solid model real world visualization environment. The user can thus position and control a light system 102 the illuminates a real world sold model to illuminate the real world solid model in coπespondence to illumination conditions that are created in the virtual world modeling environment. Scale physical models in a room of lights can be modeled for lighting during the course of a day or year or during different seasons for example, possibly to detect previously unknown interaction with the light and various building surfaces. Another example would be to construct a replica of a city or portion of a city in a room with a lighting system such as those discussed above. The model could then be analyzed for color changes over a period of time, shadowing, or other lighting effects. In an embodiment, this technique could be used for landscape design. In an embodiment, the lighting system is used to model the interior space of a room, building, or other piece of architecture. For example, an interior designer may want to project the colors ofthe room, or fabric or objects in the room with colors representing various times ofthe day, year, or season. In an embodiment, a lighting system is used in a store near a paint section to allow for simulation of lighting conditions on paint chips for visualization of paint colors under various conditions. These types of real world modeling applications can enable detection of potential design flaws, such as reflective buildings reflecting sunlight in the eyes of drivers during certain times ofthe year. Further, the three- dimensional visualization may allow for more rapid recognition ofthe aesthetics ofthe design by human beings, than by more complex computer modeling.
Solid modeling programs can have virtual lights. One can light a model in the virtual environment while simultaneously lighting a real world model the same way. For example, one can model environmental conditions ofthe model and recreate them in the real world modeling environment outside the virtual environment. For example, one can model a house or other building and show how it would appear in any daylight environment. A hobbyist could also model lighting for a model train set (for instance based on pictures of an actual train) and translate that lighting into the illumination for the room wherein the model train exists. Therefore the model train may not only be a physical representation of an actual train, but may even appear as that train appeared at a particular time. A civil engineering project could also be assembled as a model and then a lighting system according to the principles of the invention could be used to simulate the lighting conditions over the period ofthe day. This simulation could be used to generate lighting conditions, shadows, color effects or other effects. This technique could also be used in Film/Theatrical modeling or could be used to generate special effects in filmmaking. Such a system could also be used by a homeowner, for instance by selecting what they want their dwelling to look like from the outside and having lights be selected to produce that look. This is a possibility for safety when the owner is away. Alternatively, the system could work in reverse where the owner turns on the lights in their house and a computer provides the appearance ofthe house from various different directions and distances.
Although the above examples discuss modeling for architecture, one of skill in the art would understand that any device, object, or structure where the effect of light on that device, object, or structure can be treated similarly.
Medical or other job simulation could also be performed. A lighting system according to the principles ofthe present invention may be used to simulate the lighting conditions during a medical procedure. This may involve creating an operating room setting or other environment such as an auto accident at night, with specific lighting conditions. For example, the lighting on highways is generally high-pressure sodium lamps which produce nearly monochromatic yellow light and as a result objects and fluids may appear to be a non-normal color. Parking lots generally use metal halide lighting systems and produce a broad spectrum light that has spectral gaps. Any of these environments could be simulated using a system according to the principles ofthe invention. These simulators could be used to train emergency personnel how to react in situations lit in different ways. They could also be used to simulate conditions under which any job would need to be performed. For instance, the light that will be experienced by an astronaut repairing an orbiting satellite can be simulated on earth in a simulation chamber. Lights can also be used to simulate travel in otherwise inaccessible areas such as the light that would be received traveling through space or viewing astronomical phenomena, or lights could be used as a three dimensional projection of an otherwise unviewable object. For instance, a lighting system attached to a computing device could provide a three dimensional view from the inside of a molecular model. Temporal Function or other mathematical concepts could also be visualized.
All articles, patents, and other references set forth above are hereby incorporated by reference. While the invention has been disclosed in connection with the embodiments shown and described in detail, various equivalents, modifications, and improvements will be apparent to one of ordinary skill in the art from the above description.
Important Stuff You Should Read First.
1) The sample program and Real Light Setup won't run until you re jester the DirectLight.dll COM object with Windows on your computer. Two small programs, cleverly named "Register DirectLighLexe" and "Unrcgistcr DircctLight.exe" have been) included with this install.
2) DirectLight assumes that you have a SmartJack hooked up to CO Ml. You can change this assumption by editing the DMX_INTE FACE_NUM value in jthe file "my ights.h."
About DirectLight
Organization
An application (for example, a 3D rendered game) can create yirtuat lights within its 3D world. DirectLight can map these lights onto real-world Color Kirieitics full spectrum digital lights with color and brightness settings corresponding to the location and color ofthe virtual lights within the game.
In DirectLights three general types of virtual lights exist:
Dynamic light. The most common form of virtual light has a position and a color value. This light can be moved and it's color changeα as often as necessary. Dynamic lights could represent glowing space nebulae, rocket flares, a yellow spotlight flying past a corporate logo, or the bright red eye. of a ravenous mutant ice-weasel.
Ambient light is stationary and has only color value. Tlie sun., an overhead room light, or a general color wash are examples of ambient. Alihpugh you can have as many dynamic and indicator lights as you want, yαu:can only have one ambient light source (which amounts to an ambient color value).
Indicator lights can only be assigned to specific real-world lights. While dynamic lights can change position and henceforth will affect! different real-world lights, and ambient lights are a constant color which can effect any or all real-world lights, indicator lights will always only effect a single real-world light. Indicators are intended to give feedback to the user separate from lighting, e.g. shield status, threat location, etc.
All these lights allow their color to be changed as θften as necessary.
In general, the user will setup the real-world lights. The nniy_Iigbt:s.h" configuration fde is created in' nd can be edited by, the "DirectLight GUI Setup" program. The APljloads the settings from (he "my ϊϊghts. " file, which contains ail ϊnfoirmatioii on where the; real-world lights are, what type they are, and which sort of virtual ligrψs (dymirjύc, ambient; indicator, or some combination) are going to affect them. Virtual lights can be created and static, or created at run time dyψamical ly. DircctLights runs in it's own thread; constantly poking new values into the lights 10 make sure they don't fall asleep. After updating your vϊrtuat lights you send them to the real-worlid light;: with a single function call. DirectLights handles all the mapping from virtual world to real world.
If your application already uses 3D light sources, implementing DirectLight can be very easy, as your light sources can be mapped 1:1 onto the virtuaijLάght cjlass.
A typical setup for action games has one overhead light set to primarily ambient, lights to the back, side and around the monitor set primarily to dynamic, and|ρerhaps some small lights near the screen set to indicators.
The ambient light creates a mood and atmosphere. The dynamicj lights around the player give feedback on things happening around him: weapons, environment objects, explosions, etc. The indicator lights give instant feedback on game parameters: shieljl level., danger, detection, etc.
Effects ( LightingFX ) can be attached to lights which override or enhance the dynamic lighting. In Star Trek: Armada, for example, hitting Red Alert causes every light in the room to pulse red, replacing temporarily any other color information the lights havje.
Other effects can augment. Explosion effects, for example, can be attached to a single virtual light and will play out over time, so rather than have to continuously tweak values to make the fireball fade, virtual lights can be created, an effect attached and started, and the light can be left alone .until the effect is done.
Real lights have a coordinate system based on the room they are installed in. Using a person sitting at a computer monitor as a reference, their head should be consi ered the origin. X increases to their right. Y increases towards the ceiling. Z increases towards the monitor.
Virtual lights are free to use any coordinate system at all. There are several different modes to map virtual lights onto real lights. Having the virtual light coordinate system axis-aligned with the real light coordinate system can make your life much easier.
Light positions can take on any real values. The DirectLight GUI setup program restricts the lights to within I meter of the center ofthe room, but you can cjhaπge the values by hand to your heart's content if you like. Read about the Projection Types first, though. Some modes require that the real world and virtual world coordinate systems have trie samu scale. Getting Started
Installing DirectLight SDK
Running the Setup.exe file will install:
In /Windows/System/ three dll files, one for DirectLight, Jrwo for low-level communications with the real-world lights via DMX.
DircctLight.dH
DMXl0. ll
DLPORTIO-dll
In the folder you installed DirectLight in: Visual C++ project files, source code and header files:
Direct lght.dsp DireαLight.dsw etc.
DirectLight.
DirectLight.cpp
RcalJLight.h
Rcal_Lighι.cpp
Virtual_Light.h
VirtuaM_tght.cpp etc. "" compile time libraries: FXJLibrary.lib DircclLight.lib DMXlO.ltb and configuration files: my ights.h lighc_defιnitions.h GUfconfIg Ue.h Dynamic jΛ∞lized_Striogs.h
The "my lϊghts.h" file is referenced both by DirectLight an lDirec Lϊght GUI Setup.exe. "my lights.h" in turn references "light_defιnϊtions.h" The other file/* are referenced only by DirectLight GUI Setup. Both the DLL and the Setup prograπji use a iregistry entry to find these Files:
HKEY LOCAL MACfflN)E^oftvrare\CαlorKjneiϊcs^^^
Also included in this directory is this documentation, and su&folde*::;: FXJLibrarics contain lighting effects which can be accessed by DircdjLighis, Real Light Setup contains a graphical editor for changing info about the real lijjhts. '' Sample Program contains a copiously commented program dcmonslrajling how ω use DircciLighl. pircctUg t COM
The DirectLight DLL implements a COM object which encapsu'aζes the DirectLight functionality. The DirectLight object possesses the DirectLJight inlerface, which is used by the client program.
In order to use the DirectLight COM object, the machine oh which you will use the object must have the DirectLight COM server registered (see above: Jrrjiport2.it t Stuff You Should Read First). If you have not done this, the Microsoft COM runtime library wil I not know where to find your COM server (essentially, it needs the path of DirectLight.d.l).
To access the DirectLight COM object from a program (wέ'U call it a client), you must first include ''directlight.h", which contains the definition ofthe; DirectLight COM interface (among other things) and "directlight J.c", which contains the definitions of the various UIDs of the objects and interfaces (more on this later).
Before you can use any COM services, you must first initialize the COM runtime. To do this, call the Colnitialize function with a NULL parameter:
Colnitialize (NULL) ;
For our purposes, you don't need to concern yourself with the return value.
Next, you must instantiate a DirectLight object. To do thisj you n (led to call the CoCreatelnstance function. This will create an instance of a DirectLight object, and will provide a pointer to the DirectLight interface:
HRESULT hCOMError =
CoCreatelnstance ! CLSID_COirectLight, NULL, " CLSCTX_ALI. , IID_IDΪreccLight, (void • •J SpDirectϊiiglht) ;
CLSΪD_CDirectLϊght is the identifier (declared in directUghtJ-c) ofthe DirectLight object, IID_IDirectL_ght is the identifier of the DirectLight interface, and pDirectLight is a pointer to the implementation ofthe DirectLight interface on the object we just instantiated. The pDirectLight pointer will be used by the rest ofthe client to access the EJirectLiights functionality.
Any error returned by CoCreatelnstance will most likely be EGI.)B_E_CLASSNOTREG, which indicates that the class isn't registered on youϊ machme. If that's the case, ensure that you ran the Register DirectLight program, and try again.
When you're cleaning up your app, you should include thej following three lines:
// ki ll the COM object pDirectLight->Release ( J ;
// We ask. COM to unload any unused COM servers . CoFreeUnuaedLibraries 0 ; // e" re exiting this app so shut down the COM ifc i ary . CoUniπitialize O ;
You absolutely must release the COM interface when you are done usi.tg it. Failure to do so will result in the object remaining in memory after the termination otT our app.
CoFreeUnusedLibrariesO will ask COM to remove our DirectLight factory (a server that created the COM object when we called CoCreatelnstanceO) from memory, a d CoUnmϊtialύ:e() will shut down the COM library.
DirectLight Class
The DirectLight class contains the core functionality of the AjPl. It contains functionality for setting ambient light values, global brightness of all the lighuj (gamma), and adding and removing virtual lights.
Types: enu Pcojection_Tyρe( .
SCALE BY_VTRTUAL_DISTANCε_Tθ_CAMERA_ONLY -.0,
SCALE~BY DISTANCE AND_ANGLE = 1, SCALE_BY DISTANCε"viRTOAL_TO_REAl. = 2 1:
Foran explanation of these values, see "Projection Types" inJDirect Light Class enum Light_Typet C_75 = 0, COVE 6 = 1 ) ; . _. . . , _, . , ., ...
For an explanation of these values, see "Light Types" D.rect Light Class, or look at the onhne help for "DirectLight GUI Setup." enum Curve Type t
DIRECTLIGHT LINEAR = 0,
DIRECTLIGHT~EXPOMENTlAL •> I.
DIRECTLIGHT~LOGARITHMIC = 2 ) ; ,
These values represenfdifferent curves for lighting effects w.hen filing from one color to another.
Public Member Functions:
Figure imgf000054_0001
percentage ofthe ambient light.
void Stir Liαhts ( void *user data , ) ; stir Lights lenl light information fo the real world ligh based on the light buffer created within D ectLights. The DirectLight DLL handles stirring Λie lights foe you. This tυnchon .s normally not called by the application
Virtual.Light • Submit. Virtual.Light l float Jo.. float zfcos, int red|, inc gr n, int blue ;• ; . .... ...~.t,.e a υ< ,f,,aι iαht instance!. Us viiεual position is specified by space coordinates. The values for the color are in the range 0 - HA:< _LIGHT_BRIGHTNESS . T is function returns a pointer to the light created.
void Remove_Virtual_Light ( Vircua._Light bad_light ) ; Given a pointer to a Virtual_Lighc instance, Reroove_virtual_Liι:;,u Will delete the virtual light.
void Set_Gamma ( float gamma ) ; The Set_Gamma function sets the gamma value ofthe Direct Light dila structure. This value can be used to control the overall value of all the lights, as every virtual light is multiplied by the gamma value before it is projected onto the real lights.
void Set_Cuto£ f_Range t float cutof f_range ) ; Set_cutof £_Range sets the cutoff distance from the camera. Beyond this distance virtual lights will have no effect on real-world lights. Set the value high to allow irtual lights to affect real world lights from a long way away. If the value is small virtual lights must be close to the camera to have any effect. The value should be in application ispace coordinates.
void Clear_AH_Real_Lights ( void ) ; ciear_Ail_Lights destroys all real lights.
void Project_AU_Lights ( void J ; Pro;}ect_AU_ Ligric5 calculates the effect of every virtual ori ever; real-world light, taking into account gamma, ambient and dynamic contributions, position and projection mode, cutoff angle and cutoff range, and sends the values to every real-world light.
void Set_Indicator_Color ( int whichJLndicator, int red, int green, int blue ) ;
Indicators can be assigned to any ofthe real world lights via the con-igαration file( myjights.h )- Each indicator must have a unique non-negative integer ID. set_l tκlicator_color changes the color ofthe indicator designated by vhich_indicator to the! red, tøl-en, and blue values specified. If Set_lndicator_Color is called with an indicator id which does not exist, nothing will happen. The user specifies which lights should be indicators, h t note that lights that are indicators can still be effected by the ambient and dynamic lights.
Indicator Get indicator ( int which_iπdicator j) ; Returns a pointer to the indicator with the specified value.
int Get_RealJ_ight_Count t void ) ; Returns the number of real lights.
Figure imgf000056_0001
void Load_Real_Light_Configuratioπ ( char " fullpjath » NULL ) ; Loads the "myjights.h" file from the default location determined by the registry. DirectLight will create a list of real lights based on the information in the file.
void Submit Reai ight ( char * indentif ier, int DMX_port. (
Projection Type project_on_t|,"ie, int indicator_nu ber, float add ambient, float add_dynamic, float gamma, float cutoff_angle, float x, float y, float 2 ) ; Creates a new real light in the real world. Typically DirectLight will load the real light information from the "myjights.h" file at startup.
void Remove_Real_Light ( Real_Light » dead igljit ] Safely deletes an instance of a real light.
Light GetAmbientLight ( void ) ; Returns a pointer to the ambient light.
bool RealLightListEmpty ( void ) ; Returns true if the list of real lights is empty, false otherwise.!
Light Class
Ambient lights are defined as lights. Light class is the parent class fur Virtual Lights and Real Lights. Member variables: static const int MAX_LIGHT_BRIGHTNESS. Defined as 255
LightingFX List * π_FX_currently_att ched. A list of the effects currently attached to this light.
CoiorRGB m coior. Every light must have a color! colorRGJB is defined in Co lorRGB.h void Attach J"X( LightingFX • newJTX ) Attach a new lighting effect to this virtual light. void DetachJTXt LightingFX old FX 1 Detach an old lighting effect from this virtual light.
Real Lights
Real Light inherits from the Light class. Real lights represent lightsliπ the real world. Member variables: static const int NOT_M_INDICATORJ.IGHT defined as -1. char ^identi ier [100 j is the name ofthe light ( like "overhead" or " ovelightl"). Unused by DirectLight except as a debugging tool. int DMX_port is a unique non-negative integer representing the channel the given light will receive information on. DMX information is sent out in a buffer with 3 bytes (red, green and blue ) for each light. iDMX_port * 3) is actually the index of the ^'ed vaKie for the specified light. DirectLight DMX buffers are 512 bytes, so DirectLight can support approximately 170 lights. Large buffers can cause performance problems, so if possible avoid using large DMXjport numbers.
Hght rype m type describes the different models of Color Kinetics fights. Currently unused except by DirectLight GUI Setup to display icons. float m_add _π_ient the amount of ambient light contribution to this, lights color. Range 0-1 float m_add_dynamic the amount of dynamic light contributionjto this lights color. Range 0-1 float ϋi_garona is the overall brightness of this light. Range 0-1. floa m_cutof f_angle determines how sensitive the light is to (the ctintrϊbtϊons ofthe virtual lights around it. Large values cause it to receive information from most, vitual lights. Smaller values cause it to receive contributions only from virtual lights in the same arc as the real light.
Projection Type ιr_projection_type defines how the virtuall ll ights map onto the real lights,
SCALE JBΫ VIRTUALJDISTANCE_TO CAMERA_ONLV this real tighφ [will receive contributions from virtual tights based soley on the .distaαce from (he origin of the virtual coordinate system to the position of the virtual light The virtual light contribution fades linearly as the dist»nce from the origin approaches the cutoffrange.
SCALE_B Y_DISTANCE_AND_ANGLE this real light will receive contribution.- from virtual lights based on the distance as coniputed above AND the difference in angle between ιhρ real V$& and the virtual light. The virtual light contribution Tides linearly as the distaαce From the origin approaches the cutoffrange and the angle approaches the cutoff angle.
SCALE_BY_DISTANCE_VIRTUAL_TO_REAL this real light will receive contributions from virtual lights based on the distance in 3-spacc from real light to virtual light. This (mode iisϋumcs that the real and virtual coordinate systems are identical. The virtual light contribution fades! linearly as the distance from real to virtual approaches the cutoff range. ' loat π_χpos x,y,z position in virtual space, flo n_ypos float m__zpos int m_indicatoi:_number. if indicator is negative the light is not an indicator. If it is non- negative it will only receive colors sent to that indicator number. Virtual Lights
Virtual LHits represent li-ht sources within a game or other r^al ϋnικ application that arc m pped ^i aUworl Color Kinetics lights. Virtual Lights may b, reated, moved, destroyed, and have their color changed as often as is feasible within the application.
static const int nAX_LIGHT_BRIGHTMESS; MAX LIGHT BRIGHTNESS is a constant representing the largest ,value a light can have. In the case 7^5SSS^ this value is 255. Lights are assumed «, have a range that starts at 0
void Set_Color ( int R, int G,
The set_color function sphe re , green and blue color values of the virtual light to the values passed into the function-
void Set Position ( float xjpos, float y_poa, float z_pos ) ; The set osition function sets the position values ofthe virtual light to the values passed into the function. The position should use application space coordinate;.
void Get Position ( float *x_pos, float »y_pos, float *zjpos J
Gets the position ofthe light.
Lighting FX
Lighting FX are time-based effects which can be attached to real or virtual lights, or indicators or even the ambient light. Lighting effects can have other cffpcts as children, in which case the children are played sequentially.
static const int FX_OFF Defined as -1. static const int START_TIKE; Times to start and stoplthe effect. This is a virtual value. The static const int STOP TIKE.- individual effects will scale trcir time of play based on the total.
void Set_Real_Time ( bool Real_Tlme ) ; If TRUE is passed in. this effect will use real world time and update itself as often as Scir_Lights is called. If FALSE' is passed in the effect will uke application time, and update every time Apply-Fx is called.
void Set_Tlme_Extrapolation { bool extrapolate ) ; If TRUE is passed in, this effect will extrapolate it's value when st ι.ι: jLigh s is called.
void Atcach_FX_To_lΛght { Light * the_light ) a Attach this effect to the light passed in.
void Detach_FX_Froπι_ Light ( Light ' the_light> tool remove_FX_ rbmJUcjht ■= true ) ; Remove this effect's contribution to the light. If reraove_FxJf rom_ _ Light is true, the effect is also detached from the light.
The above functions also exist as versions to effect Virtual lights. Indicator lights (referenced either by a pointer to the indicator or it's number ), Ambϊentllight, and all Real Lights.
void Start ( float FX_play_tΪ!ϊie, bool looping = false );
Start the effect. If looping is true the effect will start again ajfter it ends.
void Stop ( void ) ; Stop the effect without destroying iL
void Time_Is_Up ( void ) ; , Either loop or stop playing the efFect, since time it up for it.
void ϋpdate_Time ( float time passed ) ; Change how much game time has gone by for this effect. void UpdateJteal Time { void ) ; Find out how much real time has passed for this effect.
void Update_Extrapolated_Time I void ) ; Change the FX time based on extrapolating how much application time per real time we have had so far.
virtual void Appl _FX ( CoiorRGB fibase color ) ; This is the principle lighting function. When Lighting_FX is inherited, this function does all the important work of actually changing the light's color values over time. Note that you can choose to add your value to the existing light value, replace the existing va isj wid) your value, or any combination ofthe two. This way Lighting effects can override the existing lights or simply supplant them.
static void Update_All_FX_Time ( float timejpassed ) , Update the time of all the effects.
void Apply_FX_To_All_Virtual_Lights ( void > : Apply this effect to all virtual, ambient and indicator lights t ai are appropriate.
void-Apply_All_FX_To_All_Virtual_Lights ( voidl ) ; Apply each effect to all virtual, ambient and indicator lights that are appropriate.
void Aρply_All_FX_To _Real_Light ( Real_Llght « the reai ight ) ; Apply Uiis effect to a single real light.
void Start JJext_ChildFX ( void } ; If this effect has child effect, start the next one.
void Add_ChildFX ( LightingFX * the_chlld, loat timeshare ) ;
Add a new child effect onto the end ofthe list of child effects jthat this effect has. Timeshare is this child's share ofthe total time the effect will play. The timfesharta don't have to add up to one, as the total shares are scaled to match the total real play time ofthe effect
void Become :hild_Of ( Lightlng_FX • thejparent ) ; Become a parent ofthe specified effect.
void InhericJ.ightJ.ist t Af ected_Lights » ouri_light.s 1 ; Have this effect and all it's children inherit the list of lights toj affect. Configuration File
The file "myjtghts.li" contains information about real-world lights, ac.d is loaded into the DirectLight system at startup. The files "myjights.h" and "light .eitiiitions. "' must be included in the same directory as the application using DirectLights.
"myjfghts.h" is created and edited by the DirectLight GUI Setup program. For more information on how to use the program check the online help within f. ιe program.
Here is an example of a "my ights.h" file:
iimiiiililiiiiiiiiiiiiiiiiiiiilllliniiiiiπiiiiiitiiliiii n
II my lighcs.fr
//
// Configuration file for Color Kinetics lights
// used by DirectLights
//
// This file ere.ted with DirectLights GUI Setup vl.o
//
II Load up the basic structures •include "Lighc_DeιlnAti-tn3.h"
// overall gamraa float OVERALL. _GΛHMΛ - 1.0 fl uhich DMX interface do vα use? int DMX_IrtTERrΛCε_N-N > 0 ;
II
II This Is a 1 ist of ■11 the real lights in the world
//
Heal Ught my lights[NAX .ICHr5» • l
//NAMe PORT τreε PJU INO ΛMB DXH GΛKHΛ. CUTOE^ X ϊ z
"Overhead". 0. 1, 0, -I. 1.000. 0.400, 1.000, 3.142], o.wio. -1.000. o.oαo.
-Left". 1. 0. x. -i. 0.000, l.oαo. 1.000. i.ceoj. -l. «00. 0.000, 0.000,
-Right", 2, 0, 1, -x. 0.000, 1.000, o.aoo, 1-6-01. 1.1100. 0.000. 0.000.
-Back", 3. 0, 1, -I. 0.000, x.ooo. 1.000, l.ββtf. o.poo, 0.000, -1.000,
-LefCCoveO", 4, 0, 1, 0, 0.000, 0.000, 1.000, 0.149., -0..SD0, -0.300. 0.500.
-LeftCovel", s. 0. I , I. 0.000, α.ooo. 1.000, o.aid. -0 MJ0, 0.100, o.soo,
-LβfECoveZ", «. 0, .1. --• 0.000, o.ooo. 1.000, 0.840, -O .. J0. o.soo. 0.500.
-CencetCoveO", 7. 0. 1, -1. o.ooo. o.ooo 1.000, o.βttj. -0.190, 0.100. 0.500,
"CenterCovel". 8, 0, 1. -I- 0.000. o.ooo, 1.000, o.wq. -0 „'iι)0. 0.700, o.soo,
"CepCerCovc2"« 9. 0. 1, -1. 0.000, 0.000, l.ooo. β.B4β. O.X'30. 0.700, 0-500,
-CenterCoveS". 10, 0, 1. -1. o.oαo. 0.000, i.αoo, 0.(40, 0.-I 10. 0.700, o.soo.
"RightCoveO". 11, o. 1. 2. 0.000. o.ooo. 1.000, 0.149, O.flOO. o.soo. 0.500,
-RightCσvc-1", 12. 0, X. -1. 0.000, o.oαo. 1.000, 0.840. α.'i α. 0.100. Q.500.
-RightCoveJ:-. 13. 0. 1, -1. 0.000. ,0.000, lrOOO, 0.140. 0.1! OO, -0.300, o.soo.
This example file is taken from our offices, where we had lights setup around a computer, with the following lights (referenced from someone sitting at the monitor); One overhead (mostly ambient); one on each side of our head (Left and Right); one behind uur head; Three each along the top, left and right side ofthe monitor in front of us. Each line in the "myjights" file represents one Real J ght. Eajch Rt lJLight instance represents, surprise surprise, one real-world light.
The lower lights on the left and right side ofthe monitor are indicatoi s 0 and 2, the middle light on the left side ofthe monitor is indicator I.
The positional values are in meters. Z is into/out ofthe plane of the monitor. X is vertical in the plane ofthe monitor, Y is horizontal in the plane ofthe monitojr.
MAXJJGHTS can be as high as 170 for each DMX universe.! Each DMX universe is usually a single physical connection to the computer (COMI, for example). The larger MAXJ IGHTS is, the slower the lights will respond, as MAXJ.IGHTS determinjes the size ofthe buffer sent to DMX (MAX_LIGHTS * 3) Obviously, larger buffers will take long;< to send.
OVERALL JAMMA can have a value of 0 - 1, This value ϊs|read uito DirectLights and can be changed during run-time.

Claims

Claims
1. A method for generating a control signal for a light system, comprising: providing a light management facility for mapping the positions of a plurality of light systems; generating a map file that maps the positions of a plurality of light systems; generating an effect using a computer application; associating characteristics ofthe light systems with code for the computer application; and generating a lighting control signal to control the light systems.
2. A method of claim 1, wherein generating the effect comprises generating a computer graphics file.
3. A method of claim 2, wherein the file comprises at least one 2D graphics file.
4. A method of claim 2, wherein the file comprises at least one 3D graphics file.
5. A method of claim 1 , wherein generating the effect comprises using at least one of a bitmap and a vector coordinate.
6. A method of claim 1 , wherein generating the effect comprises using a generation function.
7. A method of claim 1 , wherein the light management facility generates a configuration file for a plurality of light systems that stores at least one ofthe position, intensity, color, illumination characteristics, location, and type ofthe lighting system.
8. A method of claim 7, wherein a configuration file is generated by associating a lighting system with a location in an environment.
9. A method of claim 8 wherein the environment is selected from the group consisting of a building, a wall, a room, a hallway, a corridor, a ceiling, a floor, a transportation environment, a vehicle exterior, a vehicle interior, an indoor environment, an outdoor environment, a pool, a spa, an office, a park, a theme park, and an entertainment venue.
10. A method of claim 7, wherein the configuration file is generated by associating a plurality of addressable light systems with surfaces that are lit by the light systems.
11. A method of claim 1 , wherein associating characteristics ofthe light systems comprises adding light as an instance to at least one object ofthe computer application.
12. A method of claim 11 , wherein adding light as an instance comprises adding a light thread to a computer application.
13. A method of claim 1 , wherein associating characteristics of the light systems comprises generating code for a lighting control signal based on code for the computer application.
14. A method of claim 1, wherein associating characteristics ofthe light systems comprises adding a control signal for a lighting system to a signal generated by the computer application.
15. A method of claim 1 , wherein associating characteristics of the light systems comprises using an algorithm ofthe computer application to generate the lighting control signal.
16. A method of claim 1, further comprising providing a control signal for a lighting system and another system.
17. A method of claim 16, wherein the other system is selected from the group consisting of a lighting system, lighting network, light, LED, LED lighting system, audio system, surround sound system, fog machine, rain machine, and an electromechanical system.
18. A method for controlling a light system, comprising: providing graphical information; associating a plurality of addressable light systems with locations in an environment; converting the graphical information to control signals capable of controlling the light systems to illuminate the environment in correspondence to the graphical information.
19. A method of claim 18, wherein the light systems are associated with their locations in the environment.
20 A method of claim 18, wherein the light systems are associated with locations that the light systems illuminate in the environment.
21. A method of claim 18, wherein control signals are communicated to a lighting network comprising a plurality of addressed light systems.
22. A method of claim 18, further comprising coordinating another control signal with the lighting control signals.
23. A method of claim 18, wherein the light systems are networked light systems wherein the lighting control signals are packaged into packets of addressed information.
24. A method of claim 23, wherein the addressed information is communicated to the light systems in the lighting network and each ofthe light systems responds to the control signals that are addressed to the particular lighting system.
25. A method of claim 18, wherein the graphical information is selected from the group consisting of a drawing, photograph, a static image, a dynamic image, and a generated image.
26. A method of claim 25, wherein the graphical information is displayed on a computer screen.
27. A method of claim 18, wherein providing graphical information comprises generating the information using a computer.
28. A method of claim 27, wherein the graphical information is generated using at least one of bitmaps and vector coordinates.
29. A method of claim 27, wherein the graphical information is rendered in 3D space.
30. A method of claim 27, wherein the graphical information is generated by a function.
31. A method of claim 30, wherein the function represents an image selected from the group consisting of lights swirling in a room, balls of light bouncing in a room, and sounds bouncing in a room
32. A method of claim 30, wherein the function represents randomly generated effects.
33. A method of claim 30, wherein the function relates to an input to the system.
34. A method of claim 33, wherein the input comprises at least one of information, a file, music, a signal, a data stream, a voice stream, a wireless data stream, and a sensed condition.
35. A method of claim 18, wherein the graphical information converted for display on a lighting system without being displayed on a computer screen.
36. A method of claim 18, wherein the control signals include signals for controlling at least one of a color, an intensity, an area, and a propogation rate for an effect that is created using the lighting system.
37. A method of claim 36, wherein the control signals control an effect that simulates an event.
38. A method of claim 37, wherein the event is selected from the group consisting of an explosion, lighting strike, headlights, train passing through a room, bullet shot through a room, light moving through a room, sunrise across a room, or other event.
40. A method of claim 18, wherein signals are used to control the light systems to illuminate at a designated time.
41. A method of claim 18, wherein associating a plurality of addressable light systems with locations in an environment comprises using a graphical user interface.
42. A method of claim 41 , wherein the interface includes a representation of a space.
43. A method of claim 42, wherein the space is selected from the group consisting of a room, a corridor, a hall, a building, a display, a booth, a theatre, a retail venue, a store, a shelf, an object, and a product.
44. A method of claim 18, further comprising generating a position map for the representation of a surface that is lit by a lighting system.
45. A method of claim 44, wherein the position map changes over time based on a change of a characteristic of a lighting system.
46. A method of claim 18, further comprising providing a screen for visualizing an effect on the screen prior to sending a control signal to control a lighting system.
47. A method of claim 18, further comprising coordinating another effect with the lighting effect.
48. A method of claim 47, wherein the other effect is selected from the group consisting of a sound effect, a computer effect, a sensory effect, and an information effect.
49. A method of claim 47, wherein the other effect is a sound effect and the sound effect is correlated with the lighting effect.
50. A method for controlling a light system, comprising: accessing a set of information for producing a graphic; associating a plurality of addressable light systems with locations in an environment; and applying an algorithm to the graphical information to convert the graphical information to control signals capable of controlling the light systems to create an effect in the environment in correspondence to the graphical information.
51. A method of claim 50, wherein the algorithm averages the information.
52. A method of claim 50, wherein the algorithm selects maximum information.
53. A method of claim 50, wherein the algorithm selects a quartile ofthe information.
54. A method of claim 50, wherein the algorithm calculates and selects the most used information.
55. A method of claim 50, wherein the algorithm calculates and selects an integral of the information.
56. A method of claim 50, wherein the algorithm is based on the effect ofthe lighting system in response to the information received.
57. A method of claim 50, wherein the control signal communicated to a lighting system is altered before a lighting system responds to the information.
58. A method of claim 50, wherein the information is in a format selected from a group consisting of a computer data format, a flash format, a 3D rendering format, a 2D graphics format, a USB format, a serial format, a wireless format, an IP format and a DMX format.
59. A method of claim 50, wherein more than one lighting system is associated with a given position.
60. A method of claim 59, wherein different light systems reside in independent position areas.
61. A method of claim 50, wherein the position of a lighted surface from a first lighting system intersects with a lighted surface from a second lighting system.
62. A method of claim 50, wherein the interaction of two light systems is controlled.
63. A method of claim 50, further comprising: providing a graphical user interface for associating a light system with a position.
64. A method of claim 63, wherein the light systems are represented in a two-dimensional view.
65. A method of claim 63, wherein the light systems are represented in a 3D view.
66. A method of claim 63, wherein the light systems are represented in a plane wherein the light systems can be associated with various pixels.
67. A method of claim 63, further comprising generating vector graphics to model animated effects by controlling pixels on a display screen.
68. A method of claim 67, wherein the control signals cause the light systems to generate effects that correspond to the animated effects modeled by the vector graphics.
69. A method of claim 63, further comprising mapping pixels of an animated effect to light systems in an environment.
70. A method of claim 69, wherein the animated effects are displayed on the light systems in the environment.
71. A method of claim 70, wherein the effects are designed to be viewed by a viewer of the light systems.
72. A method of claim 70, wherein the effects are designed to be viewed by a viewer of a lighted surface that is lit by the light systems.
73. A method of claim 70, wherein the effect is selected from a group consisting of an explosion, fire, a missile, a ball, a wave, a pattern, a logo, a character, a number, a letter, a brand, a name, an underwater effect, turbulence, apparent motion of an environment, apparent rotation of an environment, motion of a shape, and a moving light.
74. A method of claim 73, wherein the effect is coupled with a sound effect.
75. A method of claim 50, wherein the effect is generated using a parameter selected from the group consisting of a color, a wavelength, a width, a speed, a velocity, a direction, a spin, a phase, a peak-to-peak value, a color variation, a wave width, an amplitude, a frequency, a friction, an inertia, a trajectory and a momentum.
76. A method of claim 75, wherein the effect is coupled with a sound effect.
77. A method of claim 75, wherein at least one parameter is modified using an antialiasing technique.
78. A method of claim 75, wherein the effect is propagated as a wave through an environment.
79. A method of claim 78, wherein a lighting system for the effect is varied continuously in at least one of a saturation, an intensity and a hue to generate the propagation ofthe wave.
80. A method of claim 63, wherein the graphical user interface has a representation that depicts attributes ofthe lighting system.
81. A method of claim 80, wherein the representation has coordinates reflecting the degrees of freedom ofthe attributes ofthe lighting system.
82. A method of claim 50, further comprising providing a signal for control of a non- lighting device, wherein the non-lighting device is selected from the group consisting of a pyrotechnic device, a smell-generating device, a fog machine, a bubble machine, a moving mechanism, a motor, and an acoustic device.
83. A method of automatically associating a plurality of light systems with positions in an environment, comprising: accessing an imaging device for capturing an image of a light system; commanding each of a plurality of light systems to turn on in a predetermined sequence; capturing an image during the "on" time for each of a plurality of light systems; and calculating the position ofthe light system in the environment based on the position ofthe lighting system in the image.
84. A method of claim 83, wherein calculating the position ofthe light system is based on extraction of a centroid position.
85. A method of claim 84, further comprising generating a table of lights and centroid positions.
86. A method of claim 83, further comprising determining a position of the light system in an additional coordinate direction based on a second image ofthe environment.
87. A method of generating a lighting effect in an environment, comprising: generating an image using a non-lighting system; associating a plurality of light systems with positions in an environment; and using the association ofthe light systems and positions to convert the image into control signals for a light system, wherein the light system generates an effect that corresponds to the image.
88. A method of claim 87, wherein the image is generated using a program executed with a processor and wherein the image is displayed on a computer screen.
89. A method of claim 87, wherein the image is displayed on a lighting system after being displayed on the computer screen.
90. A method of claim 87, wherein the image is displayed on a lighting system simultaneously with being displayed on a computer screen.
91. A method of claim 87, wherein the image is selected from the group consisting of a rainbow, a color chase, a person, an object, a brand, a logo, a product, an explosion, a propagating plane, a vector-based effect, a flash, and a wave.
92. A method of claim 87, wherein converting comprises changing the format of the information used to generate the image into information used to generate a lighting control signal.
93. A method of claim 92, wherein the lighting control signal comprises a bit stream.
94. A method of claim 93, wherein the bit stream comprises signals for generation of at least two colors.
95. A method of claim 94, wherein the two colors are two colors of white of different color temperature.
96. A method of claim 87, wherein the lighting control signal controls light systems of red, green and blue color.
97. A method of claim 87, wherein the image comprises a color palette representing a plurality of colors.
98. A method of claim 97, wherein the user selects a color from the color palette and selections a portion ofthe screen, and wherein the light systems in a portion of an environment corresponding to the portion ofthe screen illuminate in a color corresponding to the color selected from the color palette.
99. A method of claim 87, wherein the information used to generate lighting control signals is the same information used to generate pixel information for display of an image on a computer screen.
100. A method for generating a control signal for a light system, comprising: providing a light management facility for mapping the positions of a plurality of light systems; using the light management facility to generate map files that map the positions of a plurality of light systems; using an animation facility to generate a plurality of graphics files; associating the positions ofthe light systems in the map files with data in the graphics files; and generating a lighting control signal to control the light systems in association with the graphics files.
101. A method of claim 100, wherein the animation facility is a flash animation facility.
102. A method of claim 100, wherein the animation facility generates a sequence of 2D graphics files.
103. A method of claim 100, wherein the animation facility generates a sequence of 3D graphics files.
104. A method of claim 103, wherein the 3D graphics files are associated with a vector in 3D space and wherein an effect is generated to move in a plane that is associated with the vector.
105. A method of claim 104, wherein the plane is normal to the vector.
106. A method of claim 100, wherein the graphics files and the map file are associated in an XML file.
107. A method of claim 100, wherein the graphics files and the map file are associated in a data stream.
108. A method of claim 100, wherein the lighting control signals are merged into an animation playback facility.
109. A method of claim 108, wherein the animation playback facility is a flash animation facility.
110. A method of claim 100, wherein the lighting control signal is a DMX format signal.
111. A method of claim 100, wherein the light systems are mapped to show positions that will be viewed directly by a viewer.
112. A method of claim 100, wherein the light systems are mapped to show positions that will be illuminated by the light systems.
113. A method of claim 100, further comprising providing a configuration file for configuring the locations of a plurality of light systems.
114. A method of claim 113, wherein the configuration file accesses a database of light systems to obtain locations ofthe light systems.
115. A method of claim 100, wherein the light systems are movable light systems, and wherein the map file for the light systems is a time-dependent map file.
116. A method of claim 100, wherein the file stores data to generate a static image.
117. A method of claim 100, wherein the file stores further data associated with changes to the static image.
118. A method of controlling a lighting system, comprising: obtaining a lighting control signal for a plurality of light systems in an environment; obtaining a graphics signal from a computer; and modifying the lighting control signal in response to the content ofthe graphics signal.
119. A method of claim 118, further comprising obtaining a position map for the light systems and modifying the lighting control signal in response to position information from the graphics signal.
120. A method of claim 119, further comprising collecting all information directed to a given position prior to sending a signal for a lighting system of that position.
121. A system for generating a control signal for a light system, comprising: a light management facility for mapping the positions of a plurality of light systems and generating a map file that maps the positions of a plurality of light systems; a computer application adapted to generate an effect; an association system adapted to associate characteristics ofthe light systems with code for the computer application; and a control signal generator adapted to generate a lighting control signal to control the light systems.
122. A system of claim 121, wherein the computer application is adapted to generate a computer graphics file.
123. A system of claim 122, wherein the file comprises at least one 2D graphics file.
124. A system of claim 122, wherein the file comprises at least one 3D graphics file.
125. A system of claim 121, wherein the computer application is adapted to generate the effect using at least one of a bitmap and a vector coordinate.
126. A system of claim 121, wherein the computer application is adapted to generate the effect using a generation function.
127. A system of claim 121, wherein the light management facility generates a configuration file for a plurality of light systems that stores at least one ofthe position, intensity, color, illumination characteristics, location, and type ofthe lighting system.
128. A system of claim 127, wherein the configuration file is generated by associating a lighting system with a location in an environment.
129. A system of claim 128 wherein the environment is selected from the group consisting of a building, a wall, a room, a hallway, a corridor, a ceiling, a floor, a transportation environment, a vehicle exterior, a vehicle interior, an indoor environment, an outdoor environment, a pool, a spa, an office, a park, a theme park, and an entertainment venue.
130. A system of claim 127, wherein the configuration file is generated by associating a plurality of addressable light systems with surfaces that are lit by the light systems.
131. A system of claim 121, wherein the association system is adapted to add light as an instance to at least one object ofthe computer application.
132. A system of claim 131, wherein the association system is further adapted to add light as an instance by adding a light thread to the computer application.
133. A system of claim 121, wherein the association system is adapted to generate code for the lighting control signal based on code for the computer application.
134. A system of claim 121, wherein the association system is adapted to add a control signal for a lighting system to a signal generated by the computer application.
135. A system of claim 121, wherein the association system is adapted to use an algorithm ofthe computer application to generate the lighting control signal.
136. A system of claim 121, wherein the control signal generator is further adapted to provide a control signal for another system.
137. A system of claim 136, wherein the other system is selected from the group consisting of a lighting system, lighting network, light, LED, LED lighting system, audio system, surround sound system, fog machine, rain machine, and an electromechanical system.
138. A system for controlling a light system, comprising: a computer application adapted to provide graphical information; an association system adapted to associate a plurality of addressable light systems with locations in an environment; and a converter adapted to convert the graphical information to control signals to control the light systems to illuminate the environment in correspondence to the graphical information.
139. A system of claim 138, wherein the light systems are associated with their locations in the environment.
140 A system of claim 138, wherein the light systems are associated with locations that the light systems illuminate in the environment.
141. A system of claim 138, further comprising a transmitter adapted to communicate control signals to a lighting network comprising a plurality of addressed light systems.
142. A system of claim 138, wherein the converter is further adapted to coordinate another control signal with the lighting control signals.
143. A system of claim 138, wherein the light systems are networked light systems and wherein the control signals are packaged into packets of addressed information.
144. A system of claim 143, wherein the addressed information is communicated to the light systems in the lighting network and each ofthe light systems responds to the control signals that are addressed to the particular lighting system.
145. A system of claim 138, wherein the graphical information is selected from the group consisting of a drawing, photograph, a static image, a dynamic image, and a generated image.
146. A system of claim 145, wherein the graphical information is displayed on a computer screen.
147. A system of claim 138, wherein the computer application is adapted to generate the graphical information.
148. A system of claim 147, wherein the graphical information is generated using at least one of bitmaps and vector coordinates.
149. A system of claim 147, wherein the graphical information is rendered in 3D space.
150. A system of claim 147, wherein the graphical information is generated by a function.
151. A system of claim 150, wherein the function represents an image selected from the group consisting of lights swirling in a room, balls of light bouncing in a room, and sounds bouncing in a room.
152. A system of claim 150, wherein the function represents randomly generated effects.
153. A system of claim 150, wherein the function relates to an input to the system.
154. A system of claim 153, wherein the input comprises at least one of information, a file, music, a signal, a data stream, a voice stream, a wireless data stream, and a sensed condition.
155. A system of claim 138, wherein the computer application is adapted to provide the graphical information without the graphical information being displayed on a computer screen.
156. A system of claim 138, wherein the control signals include signals for controlling at least one of a color, an intensity, an area, and a propogation rate for an effect that is created using the lighting system.
157. A system of claim 156, wherein the control signals control an effect that simulates an event.
158. A system of claim 157, wherein the event is selected from the group consisting of an explosion, lighting strike, headlights, train passing through a room, bullet shot through a room, light moving through a room, sunrise across a room, or other event.
159. A system of claim 138, wherein the control signals are used to control the light systems to illuminate at a designated time.
160. A system of claim 138, wherein the association system is associated with a graphical user interface wherein the graphical user interface is used to associate the plurality of addressable light systems with locations in the environment.
161. A system of claim 160, wherein the graphical user interface includes a representation of a space.
162. A system of claim 1612, wherein the space is selected from the group consisting of a room, a corridor, a hall, a building, a display, a booth, a theatre, a retail venue, a store, a shelf, an object, and a product.
163. A system of claim 138, further a position map generator adapted to generate a position map for the representation of a surface that is lit by a lighting system.
164. A system of claim 163, wherein the position map changes over time based on a change of a characteristic of a lighting system.
165. A system of claim 138, further comprising a screen for visualizing an effect on the screen prior to sending a control signal to control a lighting system.
166. A system of claim 138, wherein the converted is further adapted to coordinate another effect with the lighting effect.
167. A system of claim 166, wherein the other effect is selected from the group consisting of a sound effect, a computer effect, a sensory effect, and an information effect.
168. A system of claim 167, wherein the other effect is a sound effect and the sound effect is correlated with the lighting effect.
169. A system for controlling a light system, comprising: an accessing system adapted to access a set of information for producing a graphic; an association system adapted to associate a plurality of addressable light systems with locations in an environment; and a computing system adapted to apply an algorithm to the graphical information to convert the graphical information to control signals for controlling the light systems to create an effect in the environment in correspondence to the graphical information.
170. A system of claim 169, wherein the algorithm averages the information.
171. A system of claim 169, wherein the algorithm selects maximum information.
172. A system of claim 169, wherein the algorithm selects a quartile ofthe information.
173. A system of claim 169, wherein the algorithm calculates and selects the most used information.
174. A system of claim 169, wherein the algorithm calculates and selects an integral of the information.
175. A system of claim 169, wherein the algorithm is based on the effect ofthe lighting system in response to the information received.
176. A system of claim 169, wherein the control signal communicated to the lighting system is altered before the lighting system responds to the information.
177. A system of claim 169, wherein the information is in a format selected from a group consisting of a computer data format, a flash format, a 3D rendering format, a 2D graphics format, a USB format, a serial format, a wireless format, an IP format and a DMX format.
178. A system of claim 169, wherein more than one lighting system of the plurality of lighting systems is associated with a given location.
179. A system of claim 59, wherein different light systems reside in independent position areas.
180. A system of claim 169, wherein the plurality of light systems includes a first light system and a second light system wherein the position of a lighted surface from a first lighting system intersects with a lighted surface from a second lighting system.
181. A system of claim 180, wherein control signal is adapted to control at least one of the first and second light systems such that the intseted lighted area is controlled.
182. A system of claim 169, further comprising: wherein the associating system includes a graphical user interface wherein a user can graphically associate the light system with the location.
183. A system of claim 182, wherein the graphical user interface is adapted to represent the light systems in a two-dimensional view.
184. A system of claim 182, wherein the graphical user interface is adapted to represent the light systems in a 3D view.
185. A system of claim 182, wherein the graphical user interface is adapted to represent the light systems in a plane wherein the light systems can be associated with various pixels.
186. A system of claim 182, further wherein the association system further comprises a vector generator adapted to generate vector graphics to model animated effects by controlling pixels on a display screen.
187. A system of claim 186, wherein the computing system generates control signals adapted to cause the light systems to generate effects that correspond to the animated effects modeled by the vector graphics.
188. A system of claim 182, wherein the associating system is further adapted to map pixels of an animated effect to light systems in an environment.
189. A system of claim 188, wherein the animated effects are displayed on the light systems in the environment.
190. A system of claim 189, wherein the effects are designed to be viewed by a viewer ofthe light systems.
191. A system of claim 189, wherein the effects are designed to be viewed by a viewer of a lighted surface that is lit by the light systems.
192. A system of claim 189, wherein the effect is selected from a group consisting of an explosion, fire, a missile, a ball, a wave, a pattern, a logo, a character, a number, a letter, a brand, a name, an underwater effect, turbulence, apparent motion of an environment, apparent rotation of an environment, motion of a shape, and a moving light.
193. A system of claim 192, wherein the effect is coupled with a sound effect.
194. A system of claim 169, wherein the effect is generated using a parameter selected from the group consisting of a color, a wavelength, a width, a speed, a velocity, a direction, a spin, a phase, a peak-to-peak value, a color variation, a wave width, an amplitude, a frequency, a friction, an inertia, a trajectory and a momentum.
195. A system of claim 194, wherein the effect is coupled with a sound effect.
196. A system of claim 194, wherein at least one parameter of the effect is modified using an anti-aliasing technique.
197. A system of claim 194, wherein the effect is propagated as a wave through an environment.
198. A system of claim 197, wherein a lighting system for the effect is varied continuously in at least one of a saturation, an intensity and a hue to generate the propagation ofthe wave.
199. A system of claim 182, wherein the graphical user interface has a representation that depicts attributes ofthe lighting system.
200. A system of claim 199, wherein the representation has coordinates reflecting the degrees of freedom ofthe attributes ofthe lighting system.
201. A system of claim 169, wherein a transmitting system communicates a signal for control of a non-lighting device, wherein the non-lighting device is selected from the group consisting of a pyrotechnic device, a smell-generating device, a fog machine, a bubble machine, a moving mechanism, a motor, and an acoustic device.
202. A system of automatically associating a plurality of light systems with positions in an environment, comprising: an imaging device for capturing an image of a light system; a control system adapted to command each of a plurality of light systems to turn on in a predetermined sequence; the imaging system further adapted to capture the image during the "on" time for each of a plurality of light systems; and calculating the position ofthe light system in the environment based on the position ofthe lighting system in the image.
203. A system of claim 202, wherein calculating the position ofthe light system is based on extraction of a centroid position.
204. A system of claim 202, wherein the imaging system is further adapted to generate a table of lights and centroid positions.
205. A system of claim 203, wherein the imaging system is further adapted determine a position ofthe light system in an additional coordinate direction based on a second image ofthe environment.
206. A system of generating a lighting effect in an environment, comprising: a non-lighting system adapted to generate an image by associating a plurality of light systems with positions in an environment; and using the association ofthe light systems and positions to convert the image into control signals for a light system, wherein the light system generates an effect that corresponds to the image.
207. A system of claim 206, wherein the image is generated using a program executed with a processor and wherein the image is displayed on a computer screen.
208. A system of claim 206, wherein illumination is displayed on a lighting system after a related image is displayed on the computer screen.
209. A system of claim 206, wherein illumination is displayed on a lighting system simultaneously with a related image being displayed on a computer screen.
210. A system of claim 206, wherein the image is an image selected from the group consisting of a brand, a logo, a character, an effect, an explosion, a person, a building, a room, a product, a polygon, a rainbow, a propagating plane, a vector, and a color chasing effect.
211. A system of claim 206, wherein the non-light system is adapted to convert the image into control signals by changing the format ofthe information used to generate the image into information used to generate a lighting control signal.
212. A system of claim 211, wherein the lighting control signal comprises a bit stream.
213. A system of claim 212, wherein the bit stream comprises signals for generation of at least two colors.
214. A system of claim 213, wherein the two colors are two colors of white of different color temperature.
215. A system of claim 206, wherein the lighting control signal controls light systems of red, green and blue color.
216. A system of claim 206, wherein the image comprises a color palette representing a plurality of colors.
217. A system of claim 216, wherein the non-light system is further adapted to enable a user to select a color from the color palette and selection a portion ofthe screen, and wherein the light system in a portion of an environment corresponding to the portion ofthe screen illuminate in a color corresponding to the color selected from the color palette.
218. A system of claim 206, wherein the information used to generate lighting control signals is the same information used to generate pixel information for display of an image on a computer screen.
219. A system for generating a control signal for a light system, comprising: a light management facility adapted to map the positions of a plurality of light systems and to generate map files that map the positions of a plurality of light systems in response to user input; an animation facility adapted to generate a plurality of graphics files; an association system adapted to associate the positions ofthe light systems in the map files with data in the graphics files; and generate a lighting control signal to control the light systems in association with the graphics files.
220. A system of claim 219, wherein the animation facility is a flash animation facility.
221. A system of claim 219, wherein the animation facility is adapted to generate a sequence of 2D graphics files.
222. A system of claim 219, wherein the animation facility is adapted to generate a sequence of 3D graphics files.
223. A system of claim 222, wherein the 3D graphics files are associated with a vector in 3D space and wherein an effect is generated to move in a plane that is associated with the vector.
224. A system of claim 223, wherein the plane is normal to the vector.
225. A system of claim 219, wherein the graphics files and the map file are associated in an XML file.
226. A system of claim 219, wherein the graphics files and the map file are associated in a data stream.
227. A system of claim 219, wherein the lighting control signals are merged into an animation playback facility.
228. A system of claim 227, wherein the animation playback facility is a flash animation facility.
229. A system of claim 219, wherein the lighting control signal is a DMX format signal.
230. A system of claim 219, wherein the light systems are mapped to show positions that will be viewed directly by a viewer.
231. A system of claim 219, wherein the light systems are mapped to show positions that will be illuminated by the light systems.
232. A system of claim 219, further comprising a configuration system adapted to generate a file ofthe locations of a plurality of light systems.
233. A system of claim 232, wherein the configuration file accesses a database of light systems to obtain locations ofthe light systems.
234. A system of claim 219, wherein the light systems are movable light systems, and wherein the map file for the light systems is a time-dependent map file.
235. A system of claim 219, wherein the file stores data to generate a static image.
236. A system of claim 219, wherein the file stores further data associated with changes to the static image.
237. A system of controlling a lighting system, comprising: a light controller adapted to obtain a lighting control signal for a plurality of light systems in an environment; a computer system adapted to obtain a graphics signal; and a configuration system adapted to modify the lighting control signal in response to the content ofthe graphics signal.
238. A system of claim 237, further comprising a mapping system adapted to obtain a position map for the light systems and modifying the lighting control signal in response to position information from the graphics signal.
239. A system of claim 238, wherein the mapping system is further adapted to collect all information directed to a given position prior to sending a signal for a lighting system of that position.
PCT/US2002/017773 2001-06-06 2002-06-05 System and methods of generating control signals WO2002099780A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP02776579A EP1395975A2 (en) 2001-06-06 2002-06-05 System and methods of generating control signals
JP2003502812A JP4173091B2 (en) 2001-06-06 2002-06-05 System and method for generating control signals
AU2002346802A AU2002346802A1 (en) 2001-06-06 2002-06-05 System and methods of generating control signals

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US29634401P 2001-06-06 2001-06-06
US60/296,344 2001-06-06
US30169201P 2001-06-28 2001-06-28
US60/301,692 2001-06-28
US09/971,367 US6788011B2 (en) 1997-08-26 2001-10-04 Multicolored LED lighting method and apparatus
US09/971,367 2001-10-04
US32886701P 2001-10-12 2001-10-12
US60/328,867 2001-10-12
US34147601P 2001-10-30 2001-10-30
US60/341,476 2001-10-30

Publications (2)

Publication Number Publication Date
WO2002099780A2 true WO2002099780A2 (en) 2002-12-12
WO2002099780A3 WO2002099780A3 (en) 2003-07-31

Family

ID=27540807

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/017773 WO2002099780A2 (en) 2001-06-06 2002-06-05 System and methods of generating control signals

Country Status (3)

Country Link
EP (1) EP1395975A2 (en)
JP (1) JP4173091B2 (en)
WO (1) WO2002099780A2 (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1624729A1 (en) * 2004-08-03 2006-02-08 Siemens Aktiengesellschaft Method for installing a lighting system
WO2009060376A1 (en) * 2007-11-06 2009-05-14 Philips Intellectual Property & Standards Gmbh Light management system with automatic identification of light effects available for a home entertainment system
WO2010141076A1 (en) * 2009-06-03 2010-12-09 Savant Systems Llc Virtual room-based light fixture and device control
US8840282B2 (en) 2010-03-26 2014-09-23 Ilumisys, Inc. LED bulb with internal heat dissipating structures
US8870415B2 (en) 2010-12-09 2014-10-28 Ilumisys, Inc. LED fluorescent tube replacement light with reduced shock hazard
US8894430B2 (en) 2010-10-29 2014-11-25 Ilumisys, Inc. Mechanisms for reducing risk of shock during installation of light tube
US8901823B2 (en) 2008-10-24 2014-12-02 Ilumisys, Inc. Light and light sensor
US8928025B2 (en) 2007-12-20 2015-01-06 Ilumisys, Inc. LED lighting apparatus with swivel connection
US8946996B2 (en) 2008-10-24 2015-02-03 Ilumisys, Inc. Light and light sensor
US9013119B2 (en) 2010-03-26 2015-04-21 Ilumisys, Inc. LED light with thermoelectric generator
US9057493B2 (en) 2010-03-26 2015-06-16 Ilumisys, Inc. LED light tube with dual sided light distribution
US9072171B2 (en) 2011-08-24 2015-06-30 Ilumisys, Inc. Circuit board mount for LED light
US9084314B2 (en) 2006-11-28 2015-07-14 Hayward Industries, Inc. Programmable underwater lighting system
US9101026B2 (en) 2008-10-24 2015-08-04 Ilumisys, Inc. Integration of LED lighting with building controls
US9163794B2 (en) 2012-07-06 2015-10-20 Ilumisys, Inc. Power supply assembly for LED-based light tube
US9184518B2 (en) 2012-03-02 2015-11-10 Ilumisys, Inc. Electrical connector header for an LED-based light
US9267650B2 (en) 2013-10-09 2016-02-23 Ilumisys, Inc. Lens for an LED-based light
US9271367B2 (en) 2012-07-09 2016-02-23 Ilumisys, Inc. System and method for controlling operation of an LED-based light
US9285084B2 (en) 2013-03-14 2016-03-15 Ilumisys, Inc. Diffusers for LED-based lights
US9353939B2 (en) 2008-10-24 2016-05-31 iLumisys, Inc Lighting including integral communication apparatus
GB2535135A (en) * 2014-11-20 2016-08-17 Ambx Uk Ltd Light Control
US9510400B2 (en) 2014-05-13 2016-11-29 Ilumisys, Inc. User input systems for an LED-based light
US9574717B2 (en) 2014-01-22 2017-02-21 Ilumisys, Inc. LED-based light with addressed LEDs
US20170213451A1 (en) 2016-01-22 2017-07-27 Hayward Industries, Inc. Systems and Methods for Providing Network Connectivity and Remote Monitoring, Optimization, and Control of Pool/Spa Equipment
EP2298027B1 (en) 2008-07-11 2018-09-12 Philips Lighting Holding B.V. Method and computer implemented apparatus for lighting experience translation
US10161568B2 (en) 2015-06-01 2018-12-25 Ilumisys, Inc. LED-based light with canted outer walls
US10176689B2 (en) 2008-10-24 2019-01-08 Ilumisys, Inc. Integration of led lighting control with emergency notification systems
US10270613B2 (en) 2017-01-23 2019-04-23 Panasonic Intellectual Property Management Co., Ltd. Layout creation method and light position registration system
US10613704B2 (en) 2009-06-03 2020-04-07 Savant Systems, Llc Small screen virtual room-based user interface
US10718507B2 (en) 2010-04-28 2020-07-21 Hayard Industries, Inc. Underwater light having a sealed polymer housing and method of manufacture therefor
US10775960B2 (en) 2009-06-03 2020-09-15 Savant Systems, Inc. User generated virtual room-based user interface
US20200319621A1 (en) 2016-01-22 2020-10-08 Hayward Industries, Inc. Systems and Methods for Providing Network Connectivity and Remote Monitoring, Optimization, and Control of Pool/Spa Equipment
US10976713B2 (en) 2013-03-15 2021-04-13 Hayward Industries, Inc. Modular pool/spa control system
US11168876B2 (en) 2019-03-06 2021-11-09 Hayward Industries, Inc. Underwater light having programmable controller and replaceable light-emitting diode (LED) assembly
US11688140B2 (en) 2019-09-11 2023-06-27 Savant Systems, Inc. Three dimensional virtual room-based user interface for a home automation system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE449525T1 (en) * 2006-06-08 2009-12-15 Koninkl Philips Electronics Nv DEVICE FOR GENERATING LIGHT OF DIFFERENT COLORS
CN101523987A (en) * 2006-09-29 2009-09-02 皇家飞利浦电子股份有限公司 Method and device for composing a lighting atmosphere from an abstract description and lighting atmosphere composition system
US20100031298A1 (en) * 2006-12-28 2010-02-04 Sharp Kabushiki Kaisha Transmission device, audio-visual environment control device, and audio-visual environment control system
WO2008129505A1 (en) * 2007-04-24 2008-10-30 Koninklijke Philips Electronics N.V. Method, system and user interface for automatically creating an atmosphere, particularly a lighting atmosphere, based on a keyword input
TWI383345B (en) * 2009-05-22 2013-01-21 Chunghwa Picture Tubes Ltd Display apparatus and light source device used in the display apparatus
KR101353728B1 (en) * 2012-04-18 2014-01-22 정상옥 Control method for realizating led illuminated image
KR101446297B1 (en) * 2014-02-26 2014-10-06 주식회사 하남아트텍 Apparatus and system for controlling light in wireless manner
CN105956353A (en) * 2016-07-18 2016-09-21 长江重庆航道工程局 Method and device for simulation distribution of underwater blasting shock relieve vents

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797795A (en) * 1982-11-19 1989-01-10 Michael Callahan Control system for variable parameter lighting fixtures
GB2209229A (en) * 1987-08-28 1989-05-04 Tasco Ltd Remote control system
US5010459A (en) * 1986-07-17 1991-04-23 Vari-Lite, Inc. Console/lamp unit coordination and communication in lighting systems
US5061997A (en) * 1990-06-21 1991-10-29 Rensselaer Polytechnic Institute Control of visible conditions in a spatial environment
EP0495305A2 (en) * 1991-01-14 1992-07-22 Vari-Lite, Inc. Creating and controlling lighting designs
GB2267160A (en) * 1992-05-21 1993-11-24 Flying Pig Systems Limited Light system configuration
US5969485A (en) * 1996-11-19 1999-10-19 Light & Sound Design, Ltd. User interface for a lighting system that allows geometric and color sets to be simply reconfigured
WO2002040921A2 (en) * 2000-10-23 2002-05-23 Color Kinetics Incorporated Systems and methods for digital entertainement

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797795A (en) * 1982-11-19 1989-01-10 Michael Callahan Control system for variable parameter lighting fixtures
US5010459A (en) * 1986-07-17 1991-04-23 Vari-Lite, Inc. Console/lamp unit coordination and communication in lighting systems
GB2209229A (en) * 1987-08-28 1989-05-04 Tasco Ltd Remote control system
US5061997A (en) * 1990-06-21 1991-10-29 Rensselaer Polytechnic Institute Control of visible conditions in a spatial environment
EP0495305A2 (en) * 1991-01-14 1992-07-22 Vari-Lite, Inc. Creating and controlling lighting designs
GB2267160A (en) * 1992-05-21 1993-11-24 Flying Pig Systems Limited Light system configuration
US5969485A (en) * 1996-11-19 1999-10-19 Light & Sound Design, Ltd. User interface for a lighting system that allows geometric and color sets to be simply reconfigured
WO2002040921A2 (en) * 2000-10-23 2002-05-23 Color Kinetics Incorporated Systems and methods for digital entertainement

Cited By (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1624729A1 (en) * 2004-08-03 2006-02-08 Siemens Aktiengesellschaft Method for installing a lighting system
US9084314B2 (en) 2006-11-28 2015-07-14 Hayward Industries, Inc. Programmable underwater lighting system
WO2009060376A1 (en) * 2007-11-06 2009-05-14 Philips Intellectual Property & Standards Gmbh Light management system with automatic identification of light effects available for a home entertainment system
US8352079B2 (en) 2007-11-06 2013-01-08 Koninklijke Philips Electronics N.V. Light management system with automatic identification of light effects available for a home entertainment system
US8928025B2 (en) 2007-12-20 2015-01-06 Ilumisys, Inc. LED lighting apparatus with swivel connection
EP2298027B1 (en) 2008-07-11 2018-09-12 Philips Lighting Holding B.V. Method and computer implemented apparatus for lighting experience translation
US10036549B2 (en) 2008-10-24 2018-07-31 Ilumisys, Inc. Lighting including integral communication apparatus
US9353939B2 (en) 2008-10-24 2016-05-31 iLumisys, Inc Lighting including integral communication apparatus
US11333308B2 (en) 2008-10-24 2022-05-17 Ilumisys, Inc. Light and light sensor
US11073275B2 (en) 2008-10-24 2021-07-27 Ilumisys, Inc. Lighting including integral communication apparatus
US8901823B2 (en) 2008-10-24 2014-12-02 Ilumisys, Inc. Light and light sensor
US10973094B2 (en) 2008-10-24 2021-04-06 Ilumisys, Inc. Integration of LED lighting with building controls
US8946996B2 (en) 2008-10-24 2015-02-03 Ilumisys, Inc. Light and light sensor
US10932339B2 (en) 2008-10-24 2021-02-23 Ilumisys, Inc. Light and light sensor
US10713915B2 (en) 2008-10-24 2020-07-14 Ilumisys, Inc. Integration of LED lighting control with emergency notification systems
US10571115B2 (en) 2008-10-24 2020-02-25 Ilumisys, Inc. Lighting including integral communication apparatus
US10560992B2 (en) 2008-10-24 2020-02-11 Ilumisys, Inc. Light and light sensor
US10342086B2 (en) 2008-10-24 2019-07-02 Ilumisys, Inc. Integration of LED lighting with building controls
US9101026B2 (en) 2008-10-24 2015-08-04 Ilumisys, Inc. Integration of LED lighting with building controls
US10176689B2 (en) 2008-10-24 2019-01-08 Ilumisys, Inc. Integration of led lighting control with emergency notification systems
US9635727B2 (en) 2008-10-24 2017-04-25 Ilumisys, Inc. Light and light sensor
US9585216B2 (en) 2008-10-24 2017-02-28 Ilumisys, Inc. Integration of LED lighting with building controls
US9398661B2 (en) 2008-10-24 2016-07-19 Ilumisys, Inc. Light and light sensor
US10182480B2 (en) 2008-10-24 2019-01-15 Ilumisys, Inc. Light and light sensor
US10802668B2 (en) 2009-06-03 2020-10-13 Savant Systems, Inc. Small screen virtual room-based user interface
US10613704B2 (en) 2009-06-03 2020-04-07 Savant Systems, Llc Small screen virtual room-based user interface
RU2528016C2 (en) * 2009-06-03 2014-09-10 Савант Системс Ллс Method and device for controlling lighting device in virtual room
US10775960B2 (en) 2009-06-03 2020-09-15 Savant Systems, Inc. User generated virtual room-based user interface
US9055627B2 (en) 2009-06-03 2015-06-09 Savant Systems, Llc Virtual room-based light fixture and device control
AU2010257154B2 (en) * 2009-06-03 2014-02-20 Savant Systems, Inc. Virtual room-based light fixture and device control
US10146398B2 (en) 2009-06-03 2018-12-04 Savant Systems, Llc Generating a virtual-room of a virtual room-based user interface
WO2010141076A1 (en) * 2009-06-03 2010-12-09 Savant Systems Llc Virtual room-based light fixture and device control
US8296669B2 (en) 2009-06-03 2012-10-23 Savant Systems, Llc Virtual room-based light fixture and device control
US8840282B2 (en) 2010-03-26 2014-09-23 Ilumisys, Inc. LED bulb with internal heat dissipating structures
US9395075B2 (en) 2010-03-26 2016-07-19 Ilumisys, Inc. LED bulb for incandescent bulb replacement with internal heat dissipating structures
US9057493B2 (en) 2010-03-26 2015-06-16 Ilumisys, Inc. LED light tube with dual sided light distribution
US9013119B2 (en) 2010-03-26 2015-04-21 Ilumisys, Inc. LED light with thermoelectric generator
US10718507B2 (en) 2010-04-28 2020-07-21 Hayard Industries, Inc. Underwater light having a sealed polymer housing and method of manufacture therefor
US8894430B2 (en) 2010-10-29 2014-11-25 Ilumisys, Inc. Mechanisms for reducing risk of shock during installation of light tube
US8870415B2 (en) 2010-12-09 2014-10-28 Ilumisys, Inc. LED fluorescent tube replacement light with reduced shock hazard
US9072171B2 (en) 2011-08-24 2015-06-30 Ilumisys, Inc. Circuit board mount for LED light
US9184518B2 (en) 2012-03-02 2015-11-10 Ilumisys, Inc. Electrical connector header for an LED-based light
US9163794B2 (en) 2012-07-06 2015-10-20 Ilumisys, Inc. Power supply assembly for LED-based light tube
US10966295B2 (en) 2012-07-09 2021-03-30 Ilumisys, Inc. System and method for controlling operation of an LED-based light
US9807842B2 (en) 2012-07-09 2017-10-31 Ilumisys, Inc. System and method for controlling operation of an LED-based light
US9271367B2 (en) 2012-07-09 2016-02-23 Ilumisys, Inc. System and method for controlling operation of an LED-based light
US9285084B2 (en) 2013-03-14 2016-03-15 Ilumisys, Inc. Diffusers for LED-based lights
US10976713B2 (en) 2013-03-15 2021-04-13 Hayward Industries, Inc. Modular pool/spa control system
US11822300B2 (en) 2013-03-15 2023-11-21 Hayward Industries, Inc. Modular pool/spa control system
US9267650B2 (en) 2013-10-09 2016-02-23 Ilumisys, Inc. Lens for an LED-based light
US9574717B2 (en) 2014-01-22 2017-02-21 Ilumisys, Inc. LED-based light with addressed LEDs
US10260686B2 (en) 2014-01-22 2019-04-16 Ilumisys, Inc. LED-based light with addressed LEDs
US9510400B2 (en) 2014-05-13 2016-11-29 Ilumisys, Inc. User input systems for an LED-based light
GB2535135A (en) * 2014-11-20 2016-08-17 Ambx Uk Ltd Light Control
GB2535135B (en) * 2014-11-20 2018-05-30 Ambx Uk Ltd Light Control
US10690296B2 (en) 2015-06-01 2020-06-23 Ilumisys, Inc. LED-based light with canted outer walls
US11028972B2 (en) 2015-06-01 2021-06-08 Ilumisys, Inc. LED-based light with canted outer walls
US10161568B2 (en) 2015-06-01 2018-12-25 Ilumisys, Inc. LED-based light with canted outer walls
US11428370B2 (en) 2015-06-01 2022-08-30 Ilumisys, Inc. LED-based light with canted outer walls
US11096862B2 (en) 2016-01-22 2021-08-24 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US11720085B2 (en) 2016-01-22 2023-08-08 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US20200319621A1 (en) 2016-01-22 2020-10-08 Hayward Industries, Inc. Systems and Methods for Providing Network Connectivity and Remote Monitoring, Optimization, and Control of Pool/Spa Equipment
US10363197B2 (en) 2016-01-22 2019-07-30 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US10272014B2 (en) 2016-01-22 2019-04-30 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US11122669B2 (en) 2016-01-22 2021-09-14 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US11129256B2 (en) 2016-01-22 2021-09-21 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US11000449B2 (en) 2016-01-22 2021-05-11 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US10219975B2 (en) 2016-01-22 2019-03-05 Hayward Industries, Inc. Systems and methods for providing network connectivity and remote monitoring, optimization, and control of pool/spa equipment
US20170213451A1 (en) 2016-01-22 2017-07-27 Hayward Industries, Inc. Systems and Methods for Providing Network Connectivity and Remote Monitoring, Optimization, and Control of Pool/Spa Equipment
US10270613B2 (en) 2017-01-23 2019-04-23 Panasonic Intellectual Property Management Co., Ltd. Layout creation method and light position registration system
US11168876B2 (en) 2019-03-06 2021-11-09 Hayward Industries, Inc. Underwater light having programmable controller and replaceable light-emitting diode (LED) assembly
US11754268B2 (en) 2019-03-06 2023-09-12 Hayward Industries, Inc. Underwater light having programmable controller and replaceable light-emitting diode (LED) assembly
US11688140B2 (en) 2019-09-11 2023-06-27 Savant Systems, Inc. Three dimensional virtual room-based user interface for a home automation system

Also Published As

Publication number Publication date
EP1395975A2 (en) 2004-03-10
JP2004534355A (en) 2004-11-11
WO2002099780A3 (en) 2003-07-31
JP4173091B2 (en) 2008-10-29

Similar Documents

Publication Publication Date Title
US7231060B2 (en) Systems and methods of generating control signals
EP1395975A2 (en) System and methods of generating control signals
US7242152B2 (en) Systems and methods of controlling light systems
US7502034B2 (en) Light system manager
WO2002101702A9 (en) Systems and methods of controlling light systems
JP4652691B2 (en) Method and apparatus for controlled light emission
CN103017017B (en) Tile lighting methods and system
US7202613B2 (en) Controlled lighting methods and apparatus
US7358929B2 (en) Tile lighting methods and systems
EP1729615B1 (en) Entertainment lighting system
US7764026B2 (en) Systems and methods for digital entertainment
US20050275626A1 (en) Entertainment lighting system
JP2009070832A (en) System and method for controlling light system
WO2002040921A2 (en) Systems and methods for digital entertainement

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003502812

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2002776579

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002776579

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642