Stage lighting effects have become increasingly complex, and are increasingly handled using more and more computing power. During a show, commands for various lights are often produced by a console which controls the overall show. The console has a number of encoders and controls which may be used to control any number of lights.
Complex effects may be controlled by the console. Typically each effect is individual for each light that is controlled.
The present system teaches an apparatus in which a computer produces an output which is adapted for driving a projector according to commands produced by a console that controls multiple lights. The projector produces the light according to the commands entered on the console.
According to an aspect, certain commands are in a special generic form which enables them to be processed by many different computers.
These and other aspects will now be described in detail with reference to the accompanying drawings, wherein:
The output of the console 100 may be in various different formats, including DMX 512, or ethernet. The console 100 may be an ICON™ console. This console produces a number of outputs 110, 114 to respectively control a number of lighting units 112, 116. Console is shown producing output 110 to control light 112. Similarly, output 114 may be produced to control light 116.
Another output 120 may be produced to control a digital light shape altering device. Such a light may be the icon M, aspects of which are described, for example, in U.S. Pat. Nos. 6,549,326, 6,617,792, 6,736,528. In this embodiment, however, the output 120 which is intended for the light is actually sent to a computer 130 which runs software to form an image according to commands from the console. The computer 130 produces an output 135 which may be a standard video output. The video output 135 may be further processed according to a dimmer 140. The output of the dimmer is connected to a projector 150. The projector may be, for example, a projector using digital mirror devices or DMD's.
The projector produces output according to its conventional way of producing output. However, this is based on the control 120 which is produced by the console.
In the embodiment, the computer 130 may actually be a bank of multiple computers, which respectively produce multiple outputs for multiple projectors 150, 151, 152.
The computer 130 is actually a standalone half-height rack, on wheels, with three rack-mounted computers therein. The ethernet output 120 is coupled to an ethernet hub 125 which directs the output to each of the three computers. The three computers are shown as computer 1; designation 200, computer 2; designation 202, and computer 3; designation 204. Each of these computers may be standard computers having keyboard input and display outputs. The outputs of each of the computers are connected to the interface board 140.
Board 140 produces and outputs a first dimmed output 145 adapted for connection to the projector. The second, typically non-dimmed output 210 is connected to a three-way KVM switch. Each of the three computers have outputs which are coupled to the KVM switch. The KVM switch produces a single output representative of the selected computer output.
A single rack-mounted keyboard and monitor are located within the rack and driven by the KVM switch. The keyboard 220 is also connected to the KVM switch 230, and produces its output to the selected computer. For example, when computer 3 is selected, the KVM switch sends the output from keyboard 222 to computer 3 and the output from computer 3 is sent to display 225.
Any type of switch can be used, however standard KVM switches are typically available. Moreover, while this embodiment describes three different computers being used, there is practically no limit on the number of computers that can share input and output with a KVM switch.
The dimmer board may carry out dimming by multiplying each video output by analog values supplied by the associated computer. Moreover, the KVM switch is shown outside of the rack for simplicity, but in reality the KVM switch is rack-mounted within the rack.
As described above, the console produces a signal for each of many lights. That signal represents the desired effect. Different kinds of effects that can be produced may be described herein. The computer which actually does the image processing to form the desired result requested by the console. The computer processes the signal by receiving the command, converting that command into an image which forms a layer, and combining the multiple layers to form an overall image to be displayed by the projector/lamp.
The final image is formed by combining a plurality of layers. Each layer can have a number of different characteristics, but primarily, each layer may be considered to have a shape, a color, and/or an effect. The layers are combined such that each layer covers, adds to, subtracts, or allows transparency, to a layer below it.
An example of the operation is shown in
Layer 2 is overlaid on the layer one. Layer 2 is shown as 310, and corresponds to a rectangle which is rotating in a clockwise direction at a specified speed. In this layer, the perimeter area 312 is effectively black and opaque, while the interior area 314 is clear. Accordingly, as this layer is superimposed over the other layer, the area 314 allows the animation of layer 1 to show through, but the area 312 blocks the animation from showing through. The resultant image is shown as 330, with the rotating triangle 314 being transparent and showing portions of the cloud animation 300 through it. A third layer 320 is also shown, which simply includes an orange circle 322 in its center. In the resultant image 330, the orange circle 322 forms an orange filter over the portion of the scene which is showing.
Each layer can have a number of different effects, besides the effects noted above. An incomplete list of effects is:
color
shape
intensity
timing
rotation
Parameters associated with any of these effects can be specified. For example, parameters of rotation can be selected including the speed of rotation, the direction of rotation, and the center of rotation. One special effect is obtained by selecting a center of rotation that is actually off axis of the displayed scene. Other effects include scaling
Blocking (also called subtractive, allowing defining a hole and seeing through the hole).
Color filtering (changing the color of any layer or any part of any layer).
Decay (which is a trailing effect, in which as an image moves, images produced at previous times are not immediately erased, but rather fade away over time giving a trailing effect).
Timing of decay (effectively the time during which the effect is removed).
A movie can also be produced and operations can include
coloring the movie
scaling the movie
dimming of the image of the movie
Shake of the image, in which the image is moved up and down or back-and-forth in a specified shaking motion based on a random number. Since the motion is random, this gives the effect of a noisy shaking operation.
Wobble of the image, which is effectively a sinusoidal motion of the image in a specified direction. For wobble of the image, different parameters can be controlled, including speed of the wobble.
Forced redraw-this is a technique where at specified intervals, a command is given to produce an all-black screen. This forces the processor to redraw the entire image.
Other effects are also possible.
The computer may operate according to the flowchart of
Note that this system is extremely complex. This will require the computer to carry out multiple different kinds of highly computation-intensive operations. The operations may include, but are not limited to, playing of an animation, rotating an image, (which may consist of forming the image as a matrix arithmetic version of the image, and rotating the matrix), and other complicated image processes. In addition, however, all processors have different ways of rendering images.
In order to obtain better performance, the code for these systems has been highly individualized to a specified processor. For example, much of this operation was done on Apple processors, and the code was individualized to an Apple G4 processor. This can create difficulties, however, when new generations of processors become available. The developers are then given a choice between creating the code, and buying outdated equipment.
According to this system, the code which forms the layers is compiled for a specified real or hypothetical processor which does all of the operations that are necessary to carry out all of the image processing operations. Each processor, such as the processor 200, effectively runs an interpreter which interprets the compiled code according to a prewritten routine. In an embodiment, a hypothetical processor may be an Apple G4 processor, and all processors are provided with a code decompilation tool which enables operating based on this compiled code. Notably, the processor has access to the open GL drawing environment which enables the processor to produce the image. However, in this way, any processor is capable of executing the code which is produced. This code may be compiled versions of any of the effects noted above.
Although only a few embodiments have been disclosed in detail above, other modifications are possible. All such modifications are intended to be encompassed within the following claims.
This application claims the benefit of prior U.S. Provisional Application Ser. No. 60/493,531, filed Aug. 7, 2003 and entitled “Gobo Virtual Machine.”
Number | Name | Date | Kind |
---|---|---|---|
3312142 | Shistovsky | Apr 1967 | A |
3596379 | Faulkner | Aug 1971 | A |
4468688 | Gabriel et al. | Aug 1984 | A |
4599645 | Brown et al. | Jul 1986 | A |
4681415 | Beer et al. | Jul 1987 | A |
4776796 | Nossal | Oct 1988 | A |
4972305 | Blackburn | Nov 1990 | A |
5343294 | Kuchel et al. | Aug 1994 | A |
5414328 | Hunt et al. | May 1995 | A |
5812596 | Hunt et al. | Sep 1998 | A |
5969485 | Hunt | Oct 1999 | A |
5983280 | Hunt | Nov 1999 | A |
6029122 | Hunt | Feb 2000 | A |
6175771 | Hunt et al. | Jan 2001 | B1 |
6211627 | Callahan | Apr 2001 | B1 |
6256136 | Hunt | Jul 2001 | B1 |
6431711 | Pinhanez | Aug 2002 | B1 |
6466357 | Hunt | Oct 2002 | B2 |
6530662 | Haseltine et al. | Mar 2003 | B1 |
6536904 | Kunzman | Mar 2003 | B2 |
6549326 | Hunt et al. | Apr 2003 | B2 |
6565941 | Hewlett | May 2003 | B1 |
6751239 | Raman et al. | Jun 2004 | B2 |
6831617 | Miyauchi et al. | Dec 2004 | B1 |
7139617 | Morgan et al. | Nov 2006 | B1 |
7228190 | Dowling et al. | Jun 2007 | B2 |
7242152 | Dowling et al. | Jul 2007 | B2 |
7290895 | Hunt | Nov 2007 | B2 |
7353071 | Blackwell et al. | Apr 2008 | B2 |
7358929 | Mueller et al. | Apr 2008 | B2 |
7390092 | Belliveau | Jun 2008 | B2 |
20020005858 | Aoki | Jan 2002 | A1 |
20020038157 | Dowling et al. | Mar 2002 | A1 |
20020141732 | Reese et al. | Oct 2002 | A1 |
20030057887 | Dowling et al. | Mar 2003 | A1 |
20030076281 | Morgan et al. | Apr 2003 | A1 |
20030128210 | Muffler et al. | Jul 2003 | A1 |
20030214530 | Wang et al. | Nov 2003 | A1 |
20050057543 | Hunt et al. | Mar 2005 | A1 |
20050086589 | Hunt | Apr 2005 | A1 |
20050094635 | Hunt | May 2005 | A1 |
20050190985 | Hunt | Sep 2005 | A1 |
20050200318 | Hunt et al. | Sep 2005 | A1 |
20050275626 | Mueller et al. | Dec 2005 | A1 |
20060158461 | Reese et al. | Jul 2006 | A1 |
20060187532 | Hewlett et al. | Aug 2006 | A1 |
20060227297 | Hunt | Oct 2006 | A1 |
20080140231 | Blackwell et al. | Jun 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20090076627 A1 | Mar 2009 | US |
Number | Date | Country | |
---|---|---|---|
60493531 | Aug 2003 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10913023 | Aug 2004 | US |
Child | 12276035 | US |