Control for Digital Lighting
A digitally controlled lighting system where aspects have a central media server connected to remote media servers. The connection may have separate networks for control versus media. Automatic synchronization of the contents of the media servers may be carried out.
Latest Production Resource Group, LLC Patents:
This application is a divisional application of U.S. Ser. No. 11/332,843 filed Jan. 13, 2006, now U.S. Pat. No. 8,624,895 issued Jan. 7, 2014, which claims priority to U.S. Provisional Applications 60/646,140 filed Jan. 20, 2005 and titled “Control for a digital lighting device” and 60/657,832 filed Mar. 1, 2005 and titled “Controls for Digital Lighting”. The disclosures of the prior applications are considered part of (and are incorporated by reference in) the disclosure of this application.
BACKGROUNDDigital lighting has changed the paradigm of the lighting industry. Digital lighting uses a digitally-controllable device to control the lighting effect that is produced, based on an output from a controlling computer. The digital lighting device can therefore be, or include the functions of, a video projector, or a lighting projector, which can project any kind of light, in any shape and in any color. The shape of the light essentially emulates an analog gobo—which is a metal stencil that shapes the outer perimeter of the light that is projected. The digital lighting device can also project video and images. A special server for the video and images, called a “media server”, may be used to provide the information to the digital lighting device for projection.
SUMMARYThe present application describes control concepts for use in a light that can project any light, shaped light or video, herein a “digital light.”
The figures show additional aspects.
DETAILED DESCRIPTIONThe general structure and techniques, and more specific embodiments which can be used to effect different ways of carrying out the more general goals are described herein.
A block diagram of the basic system is shown in
A distributed lighting system is shown with first and second lights 101, 102. It should be understood that these lights are merely exemplary, and that any number of lights, for example between 1 and 1000 lights, could be controlled as part of a single show. The lights may be controlled over a common control line 104 as shown (using an industry standard protocol such as DMX, or using any other protocol), or alternatively can be controlled over multiple control lines. Each of the lights as shown is a digital light, and includes an associated graphics engine, but other lights may alternatively be controlled.
The digital light may control the lighting using a Texas Instrument digital micromirror “DMD” chip or other digital control chip. Graphics engine 101 is shown associated with light 100, and graphics engine 103 is shown associated with light 102. All of the lights and graphic engines are commonly controlled over a control line 104, by a control assembly 99. The control assembly 99 includes a controller 110 which can be a conventional lighting control desk such as the Production Resource Group™ Virtuoso™, or some other comparable lighting control device.
An aspect describes two separate networks between the control assembly 99 and the lights 100, 101, 102 and remote media servers. One network 104 is used for controlling the media servers 101 and lights 100. A totally separate network 106 is used for providing content to the lights 100 and media servers 101. The dual networks may prevent traffic on one network from effecting the other network. More specifically, control over the control network 104 will not be affected, no matter how much video or media traffic there is on the other network 106. In one aspect, real-time video can be streamed to multiple servers over the second network 106.
The control assembly 99 may control the streaming of real-time video. In an aspect, the control assembly may also stream the outputs, stream at a reduced resolution or thumbnail version, and the like.
It may be important that the user controlling the overall light show sees exactly what is being projected by each of the lights. When the lights are projecting media, that is video or images, or anything else that is based on information in the media server, an aspect described herein allows each of the media servers to return the actual information which is being sent to the control module 110 and finally to be displayed on the user interface 109. This aspect involves each of the media servers streaming a reduced resolution version of what they are actually playing back to the control assembly 99. The control assembly 99 then controls display of a reduced resolution version. The control network 104 can also configure the outputs for resolution of the output, refresh rates, synchronization of playback, monitoring the status, and error reporting.
The embodiment shown herein may use one or multiple back up media servers within the configuration. For example, a configuration with 30 media servers and 30 lights may include two extra media servers for backup in case of a malfunction of any media server.
The control network 99 includes a control desk 110 with a user interface 104, and is associated with a media server 120 which stores various clips of media that can be projected by the digital lighting devices. Media can include still images, moving images, shapes, effects and/or any other media that can be displayed by the digital lighting devices. This may allow an operator to preview any of the media clips prior to selecting it.
The control line between the controller 110 and the media servers 120, 101, 101 and lights may be any existing control, such as DMX or ethernet. The media server 120 can also communicate with a media workstation shown as 130, as well as a camera server 140 which can communicate with a camera 145. The media workstation and camera server can provide additional media that is served by the media server to each of the plurality of digital lighting devices. The camera and camera server can provide real-time media information, while the media workstation can provide processed information.
In operation, and under control of the controller 110, any of the media on the central media server 120 can be served to any of the digital lighting devices 100, 102. In order to avoid a bandwidth bottleneck, content to be used at some time in the future may be stored locally within a digital lighting device 100, and later signaled for use. Alternatively, it is possible to provide all of the media information to all of the digital lighting devices in real-time. The controller controls the providing of media to the digital lighting device.
In some instances, multiple digital lighting devices may be showing either the same or related video information. Therefore, synchronization may be desired between the local media servers that are associated with the digital lighting devices. Even when the digital lighting devices are not showing related video information, there may be advantages in synchronizing all of the frames that are produced in the graphics engines. A genlock assembly 151 produces a global sync output, that is used for each of the local media servers 101, 103 in at least a plurality of the digital lighting devices. Not all lights need to be synchronized, but preferably at least a plurality of these digital lighting devices are synchronized. The genlock output causes each of the graphics engines in the media servers of each of the digital lighting devices to generate their frames at substantially the same time. This may improve the effect which is produced thereby.
The user interface on the control unit 109, as described above, may include preview functions. These preview functions may include thumbnails of still images. However, for a video clip, the thumbnails may not be adequate. Accordingly, for video, the user interface may show animated versions of the control, for example, an animated GIF or JPEG image. Alternatively, the control system can produce preview movies, for example a clip of reduced resolution of the actual animation. In order to select one of the videos, it may be adequate to only play the beginning portion of the video and the end portion of the video. This way, the designer can select which media clip to use. A frame near the beginning and a frame near the end of the video can be displayed in the thumbnail window. It may be useful to select a frame that is five seconds spaced from the beginning and/or end, to avoid displaying the frame that may display a blank or the like. Alternatively, a frame may be the actual first frame or last frame of the video.
In addition, the control functions on the controller enable changing a media clip according to various controlled characteristics: including fade, cross fade, blur, black-and-white, crop, transition, and other effects. The animated thumbnails show animations of the different effects, to aid the operator in selecting one of these effects. In this way, the server provides a graphical pallet of the controls that are included thereon.
Another graphical control is the 3-D model control. The media server may generate media and map the media to 3-D objects. For example, the media server may provide color effect.
In the embodiment, the media server 101 is physically separate from the light it controls 100. However, each stand-alone media server may be associated with either one light or a number of lights. It is contemplated that the software and a media server may be updated relatively often. In addition, hardware may become out of date. By separating the media server from the light, it becomes possible to allow the media server to be easily updated. This also provides flexibility: that is any media server can be used with any light.
One aspect defines automated distribution of media to the media servers. For example, the media servers may store various kinds of media clips for use in being projected by the lights. Automated distribution allows making a list of information that each of the media servers should have, and then distributing this information to the media servers. In this embodiment, the media server 120 maintains a database of media at each of the media servers here 101 and 103. In a first embodiment, a system operates so that each media server 101, 103 should have the same media information thereon. Media server 120 includes a list of all information that should be present on all media servers. 101 and 103 periodically report back information about their media, that is, what they actually have stored in their local memories. At each predetermined time, for example, every hour, a processor within the media server 120 compares the media list from each remote media server to the desired contents of media servers 101, 103. If an item of media is not found on either media server, then it is sent at that time.
This may facilitate sending information to the media servers. The media server 120 can be updated with new media. When that happens, new media is added to the global database associated with media server 120 at the next refresh update. All of the media in all of the remote media servers is correspondingly updated to include that newly added media. This can be done by waiting for the next periodic update, or by forcing a new update. For example, one control on the media server 120 may include an ‘update now’ indication. Also, the media server can automatically force an “update now” each time its database is changed.
In a second embodiment, moreover, each media server includes its own individualized list. For example, the media server 101 has a list of media, including media x and media y. The media server 103 has a list including media x and media 2. The media server 120 periodically receives a list of media from the media servers indicating what media they actually have, and compares it with its own internal list. That way, if media server 101 needs to receive media 1, it can be added to the internal list in media server 120, and then automatically sent to media server 101.
The internal lists which are maintained on the media server may be in XML format, and may include metadata that describes the content of the media.
In addition, a control network may be used which configures the content for the multiple media servers. Each of the media servers may include the same media content or different media content. However, according to an aspect described herein, that media can be added and removed. When something is added, its association can be specified. For example, the association can be designated as being associated with multiple different media servers, or only one media server. In the alternative embodiment, all media on any media server or on the controller is automatically distributed to all the media servers in the system. This may use the separate network 106.
Since the digital lighting device may provide different kinds of digital media, one possible use for that media is for tiling. For example, a video or image may be formed from four separate lights, each of which shows ¼ of the image in a specified location. The overall effect can be obtained by tiling the four image portions together.
One aspect allows preprocessing the image to an open GL compressed format and sending that compressed format to the video card in either the light 100 or the media server 101 that actually will display the information. This uses less bandwidth than other video formats, and allows the card to operate more effectively. In addition, a “shader” may operate in the video card to implement certain effects. This allows certain parts of the processing to be offloaded to the video card, and also allows processing in a venue that may be optimized for pixel and/or vertex operations. The term shader herein is used to describe a shader which complies with any of the shader standards such as 2.0 or 3.0, and may include a pixel shader and/or a vertex shader.
In the embodiment, the shader is used for image processing in a digital light. That is, the shader is used for image processing of a type which can output video, or light, or shaped light, and where the video can be output with an outer shape that has been adjusted by image processing which may include the shader.
The shader may be used to implement a cross fade of a special type, as well as other effects described herein.
A brightness cross fade is described where the brightest part of the new image comes in first, and the least bright comes in last. This brightness cross fade may be implemented in either the shader or in normal image processing software.
Other effects are also described. Each of these effects can be implemented in a shader or in conventional software. A color-specific grayscale forms a grayscale of everything in the image, except for specified colors. This provides an effect where only a color, such as red, is seen as red. Everything else is changed to grayscale. A color range can also be defined so that a certain range of colors is affected in this way. The system can also do the opposite—that is grayscale only one color or only one range of colors.
A blur effect in only a specified area, or in all but a specified area may be carried out. Areas other than the specified area are either maintained in focus, or made to become out of focus.
Another effect is grid system that lays a grid over the image, and causes random shifting of the elements of the grid. This looks like a reflection from glass blocks with grid-ed areas.
A cartoon effect reduces the color set to a minimum set of colors, and also detects edges in the image and draws dark lines around the edges.
An alternative edge detection system draws an edge around the image and renders transparent everything other than the edge.
Another aspect describes using 3-D objects to morph, where the morphing fades from one 3-D object to the other 3-D object.
Another image processing effect is a black-and-white conversion in which an intensity level is set. Everything less bright than that intensity level shows up as white. Everything less bright than that intensity level shows up as black. This may also be used with grayscale.
A special kind of cross fader is also described, which takes pixels from each of two images. The combination is done such that there is X % from image pixel 1 and Y % from image pixel 2.
Another aspect describes wiping from one image to another. This is a cross fade across the screen, where the wiper controls the movement across. The cross fade may occur from the top right corner down, or may occur from left to right or a right to left. Other aspects include cross fades that go through black or white. That is, the image goes from image one, through to black or white, and then back to image 2.
The shader may also be used for zoom in or zoom out. This is done by a cross fading shader to a smaller version of the texture. Another warping aspect works the entire image into a circle or a spiral image, and then unwraps it.
Multiple different kinds of media servers may be used, and each media server may be programmed to understand how to produce a tiled image. According to one aspect, multiple different kinds of media servers may be mixed to form a tiled image from the multiple different kinds of media servers.
The controller runs a routine which simulates in three-dimensional space the way that the image will look when projected from four different XYZ locations in space. For example, the image 251 is projected from the XYZ location 201 of light 200. However, the image 254 is projected from a different XYZ location 231 of the light 230. According to this aspect, the image projection is simulated based on the XYZ locations in space, also based on the zoom of each projector, and the effect is simulated. Different aspects of the effect can be varied, including the edge blending, to improve the way the light looks.
The media server can also carry out various image and video processing operations. For example, the media server can play back a video clip in different ways. The media server may use a digital signal processor to create and manipulate three-dimensional objects. In addition, image processing of the video clip can be carried out in order to vary the video clip in a way that allows it to be projected onto a specified surface and/or from a specified angle. Different lighting of objects within the video clip can also be manipulated. For example, this may use conventionally available software such as Maya™ to make and manipulate three-dimensional scene.
Another aspect is correcting the projection to have a proper aspect ratio for the surface on which the image has been projected. This is used for automatic keystoning. According to an aspect, the media server automatically knows where it is in 3-D space. From this, a target is calculated. For example if a specific 3-D target is indicated, then the light can automatically go to its current position from its 3-D spatial location to point at that position. By knowing the 3-D information, the light can also calculate information about the angle from which it will receive the keystone. For example, the aspect ratio can be modified to change the angle of this keystoning. In addition to the above, the media server needs to know the light being controlled is located and what the edges of the other images look like. A special falloff for the edges of each image are made to overlap them with the other edges from the other lights.
Real-time information may be used by the media server. For example, as described above, the media server may obtain real-time information from the camera server, which may be indicative of lighting effects and other information. In addition, the real-time information may be used for three-dimensional visualization. When selecting an effect, three-dimensional visualization software may be used to assist the lighting designer in visualizing the actual scene that would be created by the effect or effects being selected.
The media server may also be used for frame blending. In the video sequence, the video is intended to be displayed at a specified rate. If the frames are slowed down, they often look jerky. The media server herein includes a frame blending process, in which each frame cross fades to the next frame. At each of a plurality of times, the system obtains a percentage of the old frame and a percentage of the new frame. Over time, the two frames are cross faded therebetween, so that one fades out while the other fades in. This avoids jerkiness between the frames. This effect can be used with slowed video, or with normal speed video.
The controller for the media server may use a conventional controller which allows selecting each of a plurality of effects, and controlling when those effects are applied. Another aspect of this system, however, is the recognition that control of the media server and specifically a digital media server using a conventional lighting desk does not take into account the realities of a digital light.
A media controller is described herein which includes timeline oriented control of different media information. The media controller as a number of controls, as shown in
Clips may be added and dropped on the timeline, and then synced with the show and its timing. The server can be used to figure out how long the clip will actually be, or alternatively how one of the clips should be. The clip is played at its set time slot.
The images themselves may be stored as thumbnails within libraries. The desk or console includes a list of libraries, organized by their specific type; for example clouds, water, or fire. Each library can be accessed to provide a reduced resolution version showing the clips which form the library.
The console also includes a list of the media that the console thinks the media server has. This may be based on the report file from the media server, discussed above. The console can also “order” a media clip, and view the clip. The console also includes reduced resolution versions which are synchronized with the real versions of the media clip, so that controls and graphics from the media server itself can be displayed as a thumbnail. For example, when the media server is displays image X, there may be an associated thumbnail called thumbnail Xc. That thumbnail X.sub.c may be sent back to the main controller, indicating to the central server that media X is being played. This provides an unambiguous without having to send back the entire image of media acts. Each of the controls on each of the media servers include reduced resolution versions, and this includes not only images, but also effects, transitions, and the like.
Another aspect describes use of a wireless low-power network, such as ZigBee. This low-power network forms a mesh of remote sensors. According to this aspect, the lights and/or media servers and/or controllers include two different sets of network operation capability. The normal network operation, over a wired network 104,106, is carried out in real time. However, in addition, there is a battery powered wireless low power mesh network 167, which can be used for initial set up before the power is initially applied. These low-power network devices such as 166 may be battery-operated. It allows setting addresses and other kinds of initial control into the light prior to the wiring. During wiring of the show, the designer is often forced to wait, since there is no power and no wiring. This system allows the lights to be unpacked, and immediately establish the network prior to wiring.
Another aspect of this system is that the lights are allowed to communicate node to node. This may be used for tiling and synchronization, where the lights may communicate synchronization and other communication information directly one to each other.
A rendered 3-D image may also be controlled across multiple servers using a mesh type network, either high power or low-power.
Another aspect relates to licensing of the media in the media servers. The media itself may be stored with keyed information, where a key is required on the machine before the media will actually play. This may be used, for example, in the case of custom media, to allow an author to have access exclusively to their own devices. The media will only play on a specified machine if the key is provided. Therefore, the use of keyed media within a digital light which plays video and projects light, and also allow shaping of light is provided. This system may use, for example, a QuickTime plug-in for this purpose.
Virtual scenery takes cognizance of the problem that there is limited room for scenery on any stage, especially in a Broadway show type production. The users must build the scenery and also move it in and out when there is only very limited space for such scenery. The present system describes projection of virtual scenery. One problem is that the projections are two-dimensional. According to this system, basic geometric shapes are used. A projection onto the shape is made. The projection is warped to track the system into projecting in 3-D.
Conventional 3-D modeling software is used in this system. First, a projection onto a 3-D image is made. A simulated camera is located in the simulation, near the projector. The camera sees the image of how the projection looks on the 3-D shape. An inverse of the way the item looks is used to distort the image to form the real protection, but this system provides very realistic effects. The real projectors must be used to places where they can avoid the actors interfering with the projection, but this system provides very realistic effects.
Usually when controlling an LED light there is no intensity control, but rather only control of RGB. The problem is that the consoles often use an intensity control. Accordingly, when controlling an LED light, the relative brightness of the coolers is set so that the intensity reduces them by 50%. The records from the intensity control is used as the intensity.
Another aspect describes cooling in a lighting fixture. These lighting fixtures are often used in stage environment, where extra light out of the fixture itself, could be very distracting to the audience. It may be desirable to put holes in the fixture in order to allow air circulation. However, light output from these holes would be highly undesirable. Accordingly, baffles and serpentine paths are often used. Another aspect, described herein, describes using a special kind of foam for restricting light but allowing airflow. An aluminum foam allows airflow between inputs and outputs, without allowing light flow. A 1″ thick mat of this aluminum foam can be used for restricting light output while allowing airflow.
Another aspect relates to the control of gobo-ing in such a system. In a digital light, the outer shape of the light which is projected may be controlled. One aspect describes using the data indicative of what parts of the image are light and what parts are not light to set the position of framing shutters which frame out the edges of the image which are not being projected. This may be used since even a small image, when projected using the DMD, will have some portions which are overly bright. The framing shutter is located at the image point of the lens after the DMD, and a shutter and iris may also be used alternatively on the translation stage at the image plane. By processing the gobo which is currently being used, the system may contract, automatically, the size to which the framing shutter etc. should be set. After noting that detection, the framing shutter size is automatically detected, and converted into information for the framing shutter. The framing shutter is then used to blot out the portions of the projection other than where the desired light shape is located.
Other embodiments are contemplated, and the disclosure is intended to encompass all embodiments and modifications which might be predictable based on the disclosed subject matter. Also, only those claims which use the words “means for” are intended to be interpreted under 35 USC 112, sixth paragraph. Moreover, no limitations from the specification are intended to be read into any claims, unless those limitations are expressly included in the claims.
Although only a few embodiments have been disclosed in detail above, other embodiments are possible and the inventor(s) intend these to be encompassed within this specification. The specification describes specific examples to accomplish a more general goal that may be accomplished in another way. This disclosure is intended to be exemplary, and the claims are intended to cover any modification or alternative which might be predictable to a person having ordinary skill in the art. For example, while this describes control of a DMD based digital light, other kinds of digital lights may be analogously controllable.
The computers and processors described herein may be any kind of computer, either general purpose, or some specific purpose computer such as a workstation. The computer may be a Pentium class computer, running Windows XP or Linux, or may be a Macintosh computer. The programs may be written in C, or Java, or any other programming language. The programs may be resident on a storage medium, e.g., magnetic or optical, e.g. the computer hard drive, a removable disk or other removable medium. The programs may also be run over a network, for example, with a server or other machine sending signals to the local machine, which allows the local machine to carry out the operations described herein.
Also, the inventor(s) intend that only those claims which use the words “means for” are intended to be interpreted under 35 USC 112, sixth paragraph. Moreover, no limitations from the specification are intended to be read into any claims, unless those limitations are expressly included in the claims.
Claims
1. A system comprising: sequence;
- a first lighting device, having a network connection, over which it receives at least one media item which includes a plurality of frames that are displayed in
- a second lighting device, also connected to said network, receiving a second media item to be displayed, said second media item also displayed in sequence; and
- a genlock device, connected to both of said first and second lighting devices, and synchronizing said first and second lighting devices, such that a specified first frame in said at least one media item is displayed at substantially the same time as a second frame in the second media item.
2. The system as in claim 1, wherein said at least one media item and said second media item are the same item of media.
3. The system as in claim 2, wherein said at least one media item and said second media item are different media items.
4. The system as in claim 1, wherein said first lighting device includes a first media server which serves media to said first lighting device, and said second lighting device includes a second media server serving media to said second lighting device, and wherein said genlock device is connected to said first and second media servers, and causes both of said first and second media servers to produce synchronized frames at substantially the same time.
5. The system as in claim 1, wherein said first and second media servers receive media over said network connection, and store said media for use at a later time.
6. The system as in claim 1, wherein said first and second media servers receive media over said network connection, and display said media as a real-time streamed item.
7. The system as in claim 1, wherein said media server displays frames of an animation by cross fading between a first frame and a second frame in the frame sequence.
8. A method, comprising:
- storing a central database of media information in a central media server;
- communicating between said central media server and each of a plurality of local media servers, over a local network connection which connects between said central media server and each of said local media servers;
- determining a list of information that should be located in each of said local media servers, and
- sending information to said local media servers that causes each of said local media servers to store all information indicated on said list of information.
9. The method as in claim 8, wherein said determining ‘a list of information comprises reporting back, from each of said local media servers, a list of information which is actually stored on said local media server, to said central media server.
10. The method as in claim 9, further comprising checking each of said lists from each of said local media servers, and sending media which is not on said list to said local media servers.
11. The method as in claim 8, further comprising using a second local network connection to control said local media servers, separate from said local network connection which is used to deliver media content.
12. The method as in claim 11, wherein said list of information includes information which is common for all of the media servers.
13. The method as in claim 12, further comprising enabling editing said list.
14. The method as in claim 13, further comprising after editing said list, periodically updating information in the local media servers based on information on the list.
15. The method as in claim 13, further comprising forcing an immediate update of content in the local media servers, which automatically and immediately updates the information on the list.
16. The method as in claim 11, wherein said list of information includes separate information for each of the local media servers, wherein at least one of the local media servers includes different information than at least one other of the media servers.
17. The method as in claim 16, further comprising editing said list.
18. The method as in claim 16, further comprising forcing an update of media servers based on information on the list.
19. The method as in claim 8, wherein said list is in XML format.
20. The method as in claim 8, wherein said list includes identifiers for the items of media clips” and metadata that describes the content of the media clips.
21. The method as in claim 8 wherein items in the list include information about which of multiple local media servers should store said item of information.
22. The method as in claim 8, wherein said information is in a local graphics format that is understood by a video card that actually does the display.
23. The method as in claim 22, wherein said local graphics format is an open GL format.
24. The method as in claim 22, further comprising enabling processing of the information within the video card, using a local video processor within the video card.
25. The method as in claim 24, wherein said local video processor is a shader.
Type: Application
Filed: Jan 6, 2014
Publication Date: May 1, 2014
Applicant: Production Resource Group, LLC (New Windsor, NY)
Inventors: Charles Reese (Grapevine, TX), Mark A. Hunt (Derby)
Application Number: 14/148,364
International Classification: G09G 5/10 (20060101); G06T 13/00 (20060101);