Controlling one or more lighting devices
The system optimizes lighting updates by transmitting only when significant changes occur, reducing bandwidth and maintaining smooth transitions, addressing bandwidth consumption and lag issues in dynamic lighting systems.
Patent Information
- Application Number
- PCT/EP2024/085299
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-02
- Filing Date
- 2024-12-09
- Publication Date
- 2025-07-10
AI Technical Summary
Existing lighting systems consume excessive bandwidth due to frequent update messages for rendering dynamic light effects, especially when streaming content, and smoothing methods introduce lag or are impractical for live content.
A system and method that determines potential light settings and transmits updates only when differences exceed a threshold, allowing for gradual transitions based on user preference, reducing bandwidth consumption and maintaining smooth light effects.
Reduces bandwidth usage while ensuring smooth and dynamic lighting effects by optimizing update messages based on content dynamics, eliminating lag, and preventing sudden brightness changes.
Smart Images

Figure EP2024085299_10072025_PF_FP_ABST
Abstract
Description
[0001] Controlling one or more lighting devices
[0002] FIELD OF THE INVENTION
[0003] The invention relates to a system for controlling one or more lighting devices to render consecutive light settings.
[0004] The invention further relates to a method of controlling one or more lighting devices to render consecutive light settings.
[0005] The invention also relates to a computer program product enabling a computer system to perform such a method.
[0006] BACKGROUND OF THE INVENTION
[0007] In the past few years, there has been an increase in smart connected lights focused on entertainment. US2019 / 364627A1 discloses such a lighting device. These connected lights may serve to add immersiveness and ambiance to activities like e.g. watching tv, gaming, and listening to music. In these cases, lights render content based either on visual content (e.g. tv, gaming) or on audio content, where in both cases the light effects need to be streamed to the lights. Alternatively, lights may render content in stand-alone mode, where a light may render an effect like a fireplace effect or a candle-effect, which is typically stored locally on the light and does not need to be streamed to the light.
[0008] When light effects are streamed to the lights, update messages need to be transmitted frequently and these update messages consume bandwidth. WO 2013 / 128353 A2 discloses a method and an apparatus which reduce bandwidth consumption of such transmissions. The disclosed method includes, in a microcontroller of a light fixture, receiving input data frames at a low frame rate from a light controller over a data bus, generating output data frames from any two adjacent input data frames according to a scaling in a lookup table, and transmitting the output data frames at a frame rate greater than the frame rate of the received input data frames to control a lighting effect of a light-emitting unit.
[0009] SUMMARY OF THE INVENTION It is advantageous to provide a system and method, which can be used to further reduce bandwidth consumption of transmissions in a lighting system or to reduce bandwidth consumption of transmissions in a lighting system in a different manner.
[0010] The present invention is set out in the appended set of independent and dependent claims. In an aspect, a system for controlling one or more lighting devices to render consecutive light settings comprises at least one transmitter and at least one processor configured to determine a first potential light setting to be potentially rendered at a first moment, control, via said at least one transmitter, said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first potential light setting, determine a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment, determine a difference between said first potential light setting and said second potential light setting, determine whether said difference exceeds a threshold, and control, via said at least one transmitter, if said difference is determined to exceed said threshold, said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second potential light setting.
[0011] In an aspect, the invention provides: a system for controlling one or more lighting devices to render consecutive light settings, said system comprising: at least one transmitter; and at least one processor configured to: determine a first potential light setting to be potentially rendered at a first moment, control, via said at least one transmitter, said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first potential light setting, determine a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment, determine a difference between said first potential light setting and said second potential light setting, determine whether said difference exceeds a threshold, and control, via said at least one transmitter, if said difference is determined to exceed said threshold, said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second potential light setting, wherein said at least one processor is configured to obtain a user setting specifying a target level of dynamicity for rendered light effects, and determine, in dependence of said user setting, said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment. With this system, a variable number of update message may be transmitted to the one or more lighting devices. The number of transmitted update messages depends on the dynamicity of the content. If there is a small difference between a current potential light setting and a previously rendered light setting, the transmission of an update message may be skipped. This reduces bandwidth consumption when the content is less dynamic, while ensuring an excellent light / user experience even when the content is more dynamic. The content based on which the potential light settings are determined may comprise video and / or audio which is rendered on a display and / or audio device, but the content may be also be ambient content which is not rendered on any display or audio device.
[0012] Said at least one processor may be configured to determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment. For example, the one or more lighting devices may be requested to render intermediate frames between two light settings determined from successive (e.g. video) frames of the content. Gradual transitions between two (consecutive) potential light settings may be beneficial if user has set the user preference for the level of dynamicity of the light effects to low.
[0013] By using gradual transitions instead of smoothing, transitions between consecutive light (e.g. color) settings are relatively small, like with smoothing, but without reducing the range of the (e.g. color) settings of the light effects compared to the corresponding (e.g. color) range in the content when the content is dynamic. In certain existing lighting systems like Philips Hue with Hue Sync, when light effects for real-time usage (e.g. tv / gaming / music) are rendered, they typically are not rendered directly. Instead, smoothing is applied, where the smoothing depends on the level of dynamicity set by the user. Smoothing enables aesthetically pleasing transitions that do not distract from the content.
[0014] Smoothing typically involves calculating a weighted average of at least the current color of the original content and one or more previous colors of the original content. If the content is (very) dynamic, to prevent that the range of rendered color settings is smaller than the range of colors in the content, the quantity of previous colors (and therefore the time window covered by the weighted average) used for calculating the weighted average may be increased. However, this would introduce a longer lag in the light effects catching up with the content. Even if it is possible to look ahead in the content such that the weighted average may be calculated also based on next colors of the content, thereby reducing the lag, it is not practically feasible to get rid of the lag entirely. Moreover, it is not possible or desirable to look (far) ahead in all content, e.g. in live video and games.
[0015] In aspects, throughout the application, the phrasing of first potential light setting may be phrased as first light setting, and the phrasing of a second potential light setting may be phrased as second light setting, and where applicable the phrasing of potentially rendering may be phrased as rendering.
[0016] Hence, in aspects, the invention provides: A system for controlling one or more lighting devices to render consecutive light settings comprises at least one transmitter and at least one processor configured to determine a first light setting to be rendered at a first moment, control, via said at least one transmitter, said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first light setting, determine a second light setting to be rendered at a second moment, said second moment being after said first moment, determine a difference between said first light setting and said second light setting, determine whether said difference exceeds a threshold, and control, via said at least one transmitter, if said difference is determined to exceed said threshold, said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second light setting.
[0017] In aspects, the invention provides: A system for controlling one or more lighting devices to render consecutive light settings, the system comprising at least one transmitter and at least one processor configured to determine a first light setting to be rendered at a first moment, transmit, via said at least one transmitter, first update messages to said one or more lighting devices to cause said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first light setting, determine a second light setting to be rendered at a second moment, said second moment being after said first moment, determine a difference between said first light setting and said second light setting, determine whether said difference exceeds a threshold, and if said difference exceeds the threshold, transmit, via said at least one transmitter, second update messages to cause said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second light setting, and if said difference does not exceed the threshold, do not transmit said second update messages. Thereby, said at least one processor may be configured to determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment. Said at least one processor may be configured to obtain a user setting specifying a target level of dynamicity for rendered light effects, and determine, in dependence of said user setting, said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment. For example, if the user has set the user preference for the level of dynamicity to high, gradual transitions (i.e. extra intermediate frames rendered by the lighting device(s)) may be disabled.
[0018] Said at least one processor may be configured to: determine, if said target level of dynamicity does not exceed a threshold, said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment. The user setting may comprise said threshold (for the target level of dynamicity).
[0019] Said at least one processor may be configured to control said one or more lighting devices to render said second light effect by transmitting one or more commands to said one or more lighting devices, said one or more commands comprising a transition duration and said second potential light setting. For example, the driver of the lighting device(s) may be able to execute a linear transition from the current state to the new state. Gradual transitions may be realized in the manner disclosed in WO 2013 / 128353 A2, for example.
[0020] Said at least one processor may be configured to determine a third potential light setting to be potentially rendered at a third moment, said further moment being after said second moment, determine a transition difference between a transition between said first potential light setting and said third potential light setting and a composite transition, said composite transition comprising a first sub transition between said first potential light setting and said second potential light setting and a second sub transition between said second potential light setting and said third potential light setting, compare said transition difference with another threshold, and if said transition difference is determined not to exceed said other threshold, determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said third potential light setting at said third moment.
[0021] By letting a gradual transition comprise not just a transition between two consecutive potential light settings but a (longer) transition between more than two consecutive potential light settings, the quantity of update messages, and therefore the consumed bandwidth, may be reduced even further. If rendering this longer transition is similar to rendering the normal composite transition, then rendering this longer transition does not significantly impact the light / user experience. This may require some looking ahead in the content, but the use of buffering may be sufficient to enable this for live video.
[0022] Unlike the composite transition, the transition between the first potential light setting and the third potential light setting does not need to include the second potential light setting. This transition may be a linear transition or an exponential transition, for example.
[0023] Said at least one processor may be configured to, if said transition difference is determined to exceed said other threshold and said difference is determined to exceed said threshold, determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment.
[0024] Said at least one processor may be configured to determine an elapsed time since controlling said one or more lighting devices to render said first light effect, compare said elapsed time with a further threshold, and control said one or more lighting devices to render said second light effect if said difference is determined to exceed said threshold and said elapsed time is determined to exceed said further threshold. This may be used to ensure that the maximum frame rate of the update messages is not exceeded. The maximum update frame rate is typically lower than the maximum frame rate with which lighting devices can render data frames. The maximum update frame rate may be lower than the frame rate of the content.
[0025] Said first potential light setting may comprise a first potential color setting, said second potential light setting may comprise a second potential color setting, and said at least one processor may be configured to determine said difference between said first potential light setting and said second potential light setting by determining a difference between said first potential color setting and said second potential color setting in a color space. The color space may be a CIELAB, HSV, or RGB color space, for example.
[0026] As a first example, said at least one processor may be configured to extract a first color from a first frame relating to said first moment, determine said first potential color setting based on at least said first color, extract a second color from a second frame relating to said second moment, and determine said second potential color setting based on at least said second color. Said first frame may be a first video frame to be displayed at said first moment. Said second frame may be a second video frame to be displayed at said second moment. Said second video frame may succeed said first video frame in a video content item. Alternatively, said first and second frames may be content frames created by a content engine which creates abstract effects like sunrise and sun through leaves. These frames may comprise RGB values, for examples.
[0027] Said at least one processor may be configured to determine said second potential color setting further based on at least said first color. This allows transitions to be smoothed based on colors of a current content frame and colors of one or more previous content frames to decrease the level of dynamicity of the rendered light effects.
[0028] Said at least one processor may be configured to determine said first potential color setting further based on at least said second color. This allows transitions to be smoothed based on colors of a current content frame and colors of one or more next previous content frames to decrease the level of dynamicity of the rendered light effects. This may be beneficial for types of content other than games. In live TV, a short delay may be introduced in the video stream to extract a color from a next video frame. In games, delay in video will create lag between user action and game reaction.
[0029] As a second example, said at least one processor may be configured to obtain music metadata, said music metadata resulting from an audio analysis of a song, determine said first potential light setting in relation to a first moment of said song, said first potential light setting and / or said first moment being determined based on said music metadata, and determine said second potential light setting in relation to a second moment of said song, said second potential light setting and / or said second moment being determined based on said music metadata, said second moment being later than said first moment. The music metadata may be obtained, for example, from a music streaming service, e.g. Spotify.
[0030] Said at least one processor may be configured to, if said difference is determined to exceed said threshold, determine whether controlling said one or more lighting devices to render said second potential light setting at said second moment without a gradual transition would cause bright sudden flashing, if it is determined that controlling said one or more lighting devices to render said second potential light setting at said second moment without a gradual transition would cause bright sudden flashing, adjust said second potential light setting and / or determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment, and control said one or more lighting devices to render said second light effect at said second moment. Such a system may be used to reduce bright sudden flashing.
[0031] In a second aspect, a method of controlling one or more lighting devices to render consecutive light settings comprises determining a first potential light setting to be potentially rendered at a first moment, controlling said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first potential light setting, determining a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment, determining a difference between said first potential light setting and said second potential light setting, determining whether said difference exceeds a threshold, and controlling, if said difference is determined to exceed said threshold, said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second potential light setting. Said method may be performed by software running on a programmable device. This software may be provided as a computer program product.
[0032] Moreover, a computer program for carrying out the methods described herein, as well as a non-transitory computer readable storage-medium storing the computer program are provided. A computer program may, for example, be downloaded by or uploaded to an existing device or be stored upon manufacturing of these systems.
[0033] A non-transitory computer-readable storage medium stores at least one software code portion, the software code portion, when executed or processed by a computer, being configured to perform executable operations for controlling one or more lighting devices to render consecutive light settings.
[0034] The executable operations comprise determining a first potential light setting to be potentially rendered at a first moment, controlling said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first potential light setting, determining a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment, determining a difference between said first potential light setting and said second potential light setting, determining whether said difference exceeds a threshold, and controlling, if said difference is determined to exceed said threshold, said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second potential light setting.
[0035] As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a device, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit", "module" or "system." Functions described in this disclosure may be implemented as an algorithm executed by a processor / microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.
[0036] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium may include, but are not limited to, the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device.
[0037] A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
[0038] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0039] Aspects of the present invention are described below with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or a central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0040] These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks.
[0041] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0042] In aspects, the present invention provides a system for controlling one or more lighting devices to render consecutive light settings, wherein the system comprises a processor configured to determine a first potential light setting to be potentially rendered at a first moment, and determine a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment, and determine a difference between said first potential light setting and said second potential light setting; wherein the processor is configured to determine a dynamicity of the rendered light effects; wherein the processor is configured to obtain a user setting specifying a target level of dynamicity for rendered light effects; wherein the processor is configured to determine a first condition wherein said difference exceeds a threshold and a dynamicity of the rendered light effects is below said target level; wherein the processor is configured to determine a second condition wherein said difference exceeds a threshold and a dynamicity of the rendered light effects exceeds said target level; wherein the processor is configured to render, if said first condition is determined, intermediate light settings between the first potential light setting at the first moment in time and the second potential light setting at the second moment in time, wherein the intermediate light settings render (or: cause) a gradual transition between the first potential light setting and the second potential light setting; wherein the processor is configured to not to render said intermediate light settings if said second condition is determined.
[0043] BRIEF DESCRIPTION OF THE DRAWINGS
[0044] These and other aspects of the invention are apparent from and will be further elucidated, by way of example, with reference to the drawings, in which:
[0045] Fig. 1 is a block diagram of an embodiment of the system;
[0046] Fig. 2 is a flow diagram of a first embodiment of the method;
[0047] Fig. 3 is a flow diagram of a second embodiment of the method;
[0048] Fig. 4 is a flow diagram of a third embodiment of the method;
[0049] Fig. 5 shows an example of gradual transitions used in the method of Fig. 4; Fig. 6 is a flow diagram of a fourth embodiment of the method;
[0050] Fig. 7 illustrates the determination of the transition difference in the method of Fig. 6;
[0051] Fig. 8 is a flow diagram of a fifth embodiment of the method;
[0052] Fig. 9 is a flow diagram of a sixth embodiment of the method;
[0053] Fig. 10 is a flow diagram of a seventh embodiment of the method; Fig. 11 is a flow diagram of an eighth embodiment of the method; Fig. 12 is a flow diagram of a ninth embodiment of the method; Fig. 13 is a flow diagram of a tenth embodiment of the method; Fig. 14 illustrates the measures used in the method of Fig. 13 to reduce bright sudden flashing; and
[0054] Fig. 15 is a block diagram of an exemplary data processing system for performing the method of the invention.
[0055] Corresponding elements in the drawings are denoted by the same reference numeral.
[0056] DETAILED DESCRIPTION OF THE EMBODIMENTS
[0057] Fig. 1 shows an embodiment of the system for controlling one or more lighting devices to render consecutive light settings. In this embodiment, the system is a mobile device 1. The mobile device 1 may be a mobile phone or a tablet, for example. In an alternative embodiment, the system may be an HDMI module (e.g. a Hue Play HDMI sync box), a television (e.g. a television running a Hue sync app), a personal computer, or an Internet server, for example. In the example of Fig. 1, the mobile device 1 is connected to the Internet 11 via a wireless LAN access point 17. Alternatively or additionally, the mobile device 1 may be connected to the Internet 11 via a mobile communication network, e.g. 4G, 5G, or 6G.
[0058] The mobile device 1 can control lighting devices 31-34 via a controller 16, e.g. a bridge. Controller 16 is connected to the wireless LAN access point 17, e.g. via Wi-Fi or Ethernet. The wireless LAN access point 17 is connected to the Internet 11. In an alternative embodiment, the mobile device 1 can communicate with lighting devices 31-34 without the use of a controller, e.g. directly via Bluetooth or via the Internet server 13. The lighting devices 31-34 may be capable of receiving and transmitting Bluetooth and / or Wi-Fi signals, for example. The Internet server 13 is also connected to the Internet 11.
[0059] The mobile device 1 comprises a receiver 3, a transmitter 4, a processor 5, memory 7, and a display 9. The processor 5 is configured to determine a first potential light setting to be potentially rendered at a first moment and control, via the transmitter 4, one or more of the lighting devices 31-34 to render a first light effect at the first moment. The first light effect comprises the first potential light setting. The processor 5 may be configured to determine the potential light settings based on content stored in memory 7 or received via receiver 3, for example.
[0060] The processor 5 is further configured to determine a second potential light setting to be potentially rendered at a second moment, determine a difference between the first potential light setting and the second potential light setting, determine whether the difference exceeds a threshold, and control, via the transmitter 4, if the difference is determined to exceed the threshold, one or more of the lighting devices 31-34 to render a second light effect at the second moment. The second moment occurs after the first moment. The second light effect comprises the second potential light setting.
[0061] In the embodiment of the mobile device 1 shown in Fig. 1, the mobile device 1 comprises one processor 5. In an alternative embodiment, the mobile device 1 comprises multiple processors. The processor 5 of the mobile device 1 may be a general-purpose processor, e.g. from ARM or Qualcomm or an application-specific processor. The processor 5 of the mobile device 1 may run an Android or iOS operating system for example. The camera 8 may comprise a CMOS or CCD sensor, for example. The display 9 may comprise an LCD or OLED display panel, for example. The memory 7 may comprise one or more memory units. The memory 7 may comprise solid state memory, for example.
[0062] The receiver 3 and the transmitter 4 may use one or more wireless communication technologies, e.g. Wi-Fi (IEEE 802.11) for communicating with the wireless LAN access point 17, for example. In an alternative embodiment, multiple receivers and / or multiple transmitters are used instead of a single receiver and a single transmitter. In the embodiment shown in Fig. 1, a separate receiver and a separate transmitter are used. In an alternative embodiment, the receiver 3 and the transmitter 4 are combined into a transceiver. The mobile device 1 may comprise other components typical for a mobile device such as a battery and a power connector. The invention may be implemented using a computer program running on one or more processors.
[0063] In the embodiment of Fig. 1, the system of the invention is a mobile device. In an alternative embodiment, the system may be another device, e.g., an HDMI module, a television, a personal computer, or an Internet server. In the embodiment of Fig. 1, the system of the invention comprises a single device. In an alternative embodiment, the system of the invention comprises a plurality of devices.
[0064] A first embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 2. The method may be performed by the mobile device 1 of Fig. 1, for example.
[0065] A step 101 comprises determining a first potential light setting to be potentially rendered at a first moment. The potential light settings may be determined based on content. The content may be video and / or audio content which is rendered on a display and / or audio device or may be ambient content not rendered on any rendering device. A step 103 comprises controlling the one or more lighting devices to render a first light effect at the first moment. The first light effect comprises the first potential light setting determined in step 101.
[0066] The one or more lighting devices may be controlled by transmitting update messages. Three framerates may be distinguished: framerate of the content (usually high, e.g. colors calculated from onscreen content or music content); framerate of the update messages (how quickly update messages can be sent to a light source), usually a bottleneck; framerate of the lighting device(s) (usually high).
[0067] The rate at which update messages are transmitted to a lighting device cannot exceed the framerate of the updates and it is not useful to transmit update messages at a rate higher than the framerate of the lighting device. Since update messages consume bandwidth, it is beneficial to transmit less update messages than allowed by the framerate of the update messages.
[0068] A step 105 comprises determining a second potential light setting to be potentially rendered at a second moment. The second moment occurs after the first moment. A step 107 comprises determining a difference between the first potential light setting determined in step 101 (which has now been rendered and can therefore also be referred to as the previously rendered light setting) and the second potential light setting determined in step 105. A step 109 comprises determining whether the difference determined in step 107 exceeds a threshold.
[0069] A step 111 comprises controlling, if it is determined in step 109 that the difference exceeds the threshold, the one or more lighting devices to render a second light effect at the second moment. The second light effect comprises the second potential light setting determined in step 105. Additionally, one or more steps of one or more of the embodiments of Figs. 3-4, 6, 8-13 may be added to the embodiment of Fig. 2.
[0070] A second embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 3. The method may be performed by the mobile device 1 of Fig. 1, for example.
[0071] A step 121 comprises determining a current potential light setting to be potentially rendered currently. A step 123 comprises determining whether a previously rendered light setting can be retrieved or determined. In the first iteration of step 123, a previously rendered light setting cannot be retrieved or determined. If a previously rendered light setting cannot be retrieved or determined, a step 129 is performed next and the one or more lighting devices are controlled to render a light effect which comprises the current potential light setting determined in step 121.
[0072] If a previously rendered light setting can be retrieved or determined, a step 125 is performed next. Step 125 comprises obtaining, e.g. retrieving or recalculating, the previously rendered light setting. The previously rendered light setting may be retrieved from a memory if it has been previously stored in the memory, e.g. in the previous iteration of step 121. Alternatively, the previously rendered light setting may be recalculated from the content in step 125 if it has not been stored in a memory.
[0073] Next, step 107 comprises determining a difference (diff) between the previously rendered light setting obtained in step 125 and the current potential light setting determined in step 121. Step 109 comprises determining whether the difference exceeds a threshold T. A step 127 comprises checking whether the difference (diff) is determined in step 127 to exceed the threshold T. If so, step 129 is performed. If not, the current potential light setting is not rendered and step 121 is repeated at a later moment for a next potential light setting. The method then proceeds as shown in Fig. 3.
[0074] Step 129 comprises controlling the one or more lighting devices to render a light effect which comprises the current potential light setting determined in step 121. After step 129 has been performed, step 121 is repeated at a later moment for a next potential light setting. Additionally, one or more steps of one or more of the embodiments of Figs. 4, 6, and 8-13 may be added to the embodiment of Fig. 3.
[0075] A third embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 4. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 4 is an extension of the method of Fig. 3.
[0076] In the embodiment of Fig. 4, a step 131 is performed between steps 127 and 129. Step 131 comprises determining a light effect such that the light effect gradually transitions with a specified transition duration from the previously rendered light setting obtained in step 125 to the current potential light setting determined in step 121. The specified transition duration may correspond to the time interval between frames of the content (1 / framerate), for example. Step 129 comprises controlling the one or more lighting devices to render the light effect determined in step 121. Additionally, one or more steps of one or more of the embodiments of Figs. 6 and 8-13 may be added to the embodiment of Fig. 4. Fig. 5 shows an example of gradual transitions used in the method of Fig. 4. Row 51 represents colors 1-4 of the content. Row 52 shows color settings that have been determined based on the colors the content without smoothing and without gradual transitions, i.e. with normal transitions. These color settings are the same as the colors of the content.
[0077] Row 53 shows color settings that have been determined based on the colors of the content with smoothing and without gradual transitions. In the example of Fig. 5, each current color setting has been determined by calculating a weighted average of the current color of the content and one or more previous colors of the content. Due to this smoothing and the dynamicity of the content, the range of the color settings is reduced in the example of Fig. 5; for example, row 53 does not comprise any color setting that corresponds to color 2 (= color 4) of the content.
[0078] Row 54 shows color settings that have been determined based on the colors of the content without smoothing and with gradual transitions. When gradual transitions are used, more than two consecutive color settings are determined for each two consecutive colors of the content. In the example of Fig. 5, four consecutive color settings are determined for each two consecutive colors of the content.
[0079] This ensures that the transitions between consecutive color settings are relatively small, like with smoothing, but without reducing the range of the color settings when the original content is dynamic. In the example of Fig. 5, either smoothing or gradual transitions are used. In an alternative example, both smoothing (e.g. to a lesser degree) and gradual transitions are used.
[0080] A fourth embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 6. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 6 is an extension of the method of Fig. 3. A step 141 comprises determining a next potential light setting to be potentially rendered at a next moment.
[0081] A step 143 comprises obtaining, e.g. retrieving or (re)calculating, a current potential light setting to be potentially rendered currently. The current potential light setting may be retrieved from a memory if it has been previously stored in the memory, e.g. in a previous iteration of step 141. Alternatively, the current potential light setting may be calculated (in the first iteration of step 143) or recalculated (in next iterations of step 143) from the content. Next, a step 145 comprises determining whether the one or more lighting devices have already been instructed to render the current potential light setting. If so, step 141 is repeated at a later moment for a further next potential light setting, and the method proceeds as shown in Fig. 6. If not, step 123 is performed next.
[0082] Step 123 comprises determining whether a previously rendered light setting can be retrieved or determined. In the first iteration of step 123, a previously rendered light setting cannot be retrieved or determined. If a previously rendered light setting cannot be retrieved or determined, step 129 is performed next and the one or more lighting devices are controlled to render a light effect which comprises the current potential light setting obtained in step 143.
[0083] If a previously rendered light setting can be retrieved or determined, step 125 is performed next. Step 125 comprises obtaining, e.g. retrieving or recalculating, the previously rendered light setting. The previously rendered light setting may be retrieved from a memory if it has been previously stored in the memory. Alternatively, the previously rendered light setting may be recalculated from the content in step 125 if it has not been stored in a memory.
[0084] Next, step 107 comprises determining a difference (diff) between the previously rendered light setting obtained in step 125 and the current potential light setting obtained in step 143. Step 109 comprises determining whether the difference exceeds a threshold T. Step 127 comprises checking whether the difference (diff) is determined in step 127 to exceed the threshold T. If so, a step 147 is performed. If not, the current potential light setting is not rendered and step 141 is repeated at a later moment for a further next potential light setting. The method then proceeds as shown in Fig. 6.
[0085] Step 147 comprises determining a transition difference (tdiff) between a transition between the previously rendered light setting obtained in step 125 and the next potential light setting determined in step 141 and a composite transition. The composite transition comprising a first sub transition between the previously rendered light setting obtained in step 125 and the current potential light setting obtained in step 143 and a second sub transition between the current potential light setting obtained in step 143 and the next potential light setting determined in step 141. Unlike the composite transition, the transition between the previously rendered light setting and the next potential light setting does not need to include the current potential light setting. This transition may be a linear transition or an exponential transition, for example. Fig. 7 shows two examples of potential light settings (color settings in this example) determined based on two segments of content. Row 61 represents colors 1-3 of a first segment of content: yellow, red, purple, respectively. Row
[0086] 62 show a previously rendered color setting, a current potential color setting, and a next potential color setting that have been determined based on the colors of row 61 without smoothing. These color settings are the same as the colors of the content of row 61.
[0087] Row 63 represents colors 1-3 of a second segment of content: yellow, blue, yellow, respectively. Row 64 show a previously rendered color setting, a current potential color setting, and a next potential color setting that have been determined based on the colors of row 63 without smoothing. These color settings are the same as the colors of the content of row 63.
[0088] In the example of Fig. 7, a large transition difference would be determined in step 147 for the color settings of row 64, as a transition from yellow to yellow would not pass blue (the current potential color setting), and a small transition difference would be determined in step 147 for the color settings of row 62, as a transition from yellow to purple would typically pass red (the current potential color setting).
[0089] A step 149 comprises comparing the transition difference (tdiff) determined in step 147 with another threshold T2. A step 151 is performed if it is determined in step 149 that the transition difference does not exceed the other threshold T2 (i.e. the transition is similar to the composite transition). Step 151 comprises determining a light effect such that the second light effect gradually transitions from the previously rendered light setting (obtained in step 125) to the next potential light setting (determined in step 141) at the next moment.
[0090] A step 153 is performed if it is determined in step 149 that the transition difference exceeds the other threshold T2 (i.e. the composite transition is better than the transition). Step 153 comprises determining a light effect such that the light effect gradually transitions with a specified transition duration from the previously rendered light setting (obtained in step 125) to the current potential light setting (obtained in step 133). Step 153 is similar to step 131 of Fig. 4. The specified transition duration of the light effect determined in step 153 may be half of the transition duration of the light effect determined in step 151.
[0091] Step 129 comprises controlling the one or more lighting devices to render the light effect determined in step 151 or step 153. Step 129 may comprise controlling the one or more lighting devices by transmitting one or more commands to the one or more lighting devices. The one or more commands may comprise a transition duration and either the next potential light setting (if step 151 is performed) or the current potential light setting (if step 153 is performed). After step 129 has been performed, step 141 is repeated at a later moment for a further next potential light setting, and the method proceeds as shown in Fig. 6. If the light effect was determined in step 151 instead of step 153, it will be determined in the next iteration of step 145 that the one or more lighting devices have already been instructed to render the (then) current potential light setting. Additionally, one or more steps of one or more of the embodiments of Figs. 8-13 may be added to the embodiment of Fig. 6.
[0092] A fifth embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 8. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 8 is an extension of the method of Fig. 6. In the embodiment of Fig. 8, steps 171 and 173 are performed between steps 127 and 147 of Fig. 6. Step 171 comprises obtaining a user setting specifying atarget level of dynamicity (tlod) for rendered light effects.
[0093] Step 173 comprises determining whether the target level of dynamicity (tlod) exceeds a third threshold (T3). If not, step 147 of Fig. 6 is performed. If so, a step 175 is performed. Step 175 comprises determining the light effect such that the light effect directly transitions from the previously rendered light setting obtained in step 125 to the current potential light setting obtained in step 143. Step 175 is also performed if it is determined in step 123 that a previously rendered light setting cannot be retrieved or determined.
[0094] Step 129 comprises controlling the one or more lighting devices to render the light effect determined in step 151, 153, or 175. Additionally, one or more steps of one or more of the embodiments of Figs. 9-13 may be added to the embodiment of Fig. 8.
[0095] A sixth embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 9. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 9 is an extension of the method of Fig. 3.
[0096] In the embodiment of Fig. 9, step 127 of Fig. 3 is implemented by a step 193 and a step 191 is performed between steps 109 and 193. Step 191 comprises determining an elapsed time At since controlling the one or more lighting devices to render the first light effect in the previous iteration of step 129. Step 193 comprises comparing the elapsed time At with a further threshold T4.
[0097] Step 129 is performed if it determined in step 193 that the difference (diff) exceeds the threshold T and the elapsed time (At) exceeds the further threshold T4. Otherwise, the current potential light setting is not rendered and step 121 is repeated at a later moment for a next potential light setting. The method then proceeds as shown in Fig. 9. Steps 191 and 193 may be used to ensure that the maximum frame rate of the update messages is not exceeded. The maximum update frame rate is typically lower than the maximum frame rate with which lighting devices can render data frames. The maximum update frame rate may be lower than the frame rate of the content. Additionally, one or more steps of one or more of the embodiments of Figs. 4, 6, 8, and 10-13 may be added to the embodiment of Fig. 9.
[0098] A seventh embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 10. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 10 is an extension of the method of Fig. 3.
[0099] A step 201 comprises extracting a color from a current video frame to be displayed currently. A step 203 comprises storing the color extracted in step 201 in a memory. An optional step 205 comprises retrieving one or more previous colors extracted and stored in previous iterations of steps 201 and 203.
[0100] A step 207 comprises determining a current potential color setting to be potentially rendered currently based on the color extracted in step 201 and optionally further based on one or more previous colors retrieved in optional step 205. The latter may done to achieve smoothing. For example, a weighted average of the current potential color and the one or more previous colors may be calculated in step 207. The current potential color has the highest weight. Preferably, a more recently extracted previous color is given more weight than a less recently extracted previous color.
[0101] Step 123 comprises determining whether a previously rendered color setting can be retrieved or determined. In the first iteration of step 123, a previously rendered color setting cannot be retrieved or determined. If a previously rendered color setting cannot be retrieved or determined, step 129 is performed next and the one or more lighting devices are controlled to render a light effect which comprises the current potential color setting determined in step 207.
[0102] If a previously rendered color setting can be retrieved or determined, a step 209 is performed next. Step 209 comprises obtaining, e.g. retrieving or recalculating, the previously rendered color setting. The previously rendered color setting may be retrieved from a memory if it has been previously stored in the memory, e.g. in the previous iteration of step 207. Alternatively, the previously rendered color setting may be recalculated from the content in step 209 if it has not been stored in a memory. Next, a step 211 comprises determining a difference (diff) between the previously rendered color setting obtained in step 209 and the current potential color setting determined in step 207 in a color space. Step 109 comprises determining whether the difference exceeds a threshold T. Step 127 comprises checking whether the difference (diff) is determined in step 211 exceeds the threshold T. If so, step 129 is performed. If not, the current potential light setting is not rendered and step 201 is repeated at a later moment. The method then proceeds as shown in Fig. 10.
[0103] Step 129 comprises controlling the one or more lighting devices to render a light effect which comprises the current potential color setting determined in step 207. After step 129 has been performed, step 201 is repeated at a later moment, and the method proceeds as shown in Fig. 10. Additionally, one or more steps of one or more of the embodiments of Figs. 4, 6, 8-9, and 13 may be added to the embodiment of Fig. 10.
[0104] An eighth embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 11. The method may be performed by the mobile device 1 of Fig. 1, for example. The embodiment of Fig. 11 is variant on the embodiment of Fig. 10. In the embodiment of Fig, 11, steps 201, 203, 205, and 207 have been replaced with steps 221, 223, 225, and 227.
[0105] Step 221 comprises extracting a color from a next video frame. Step 223 comprises storing the color extracted in step 221 in a memory. Step 225 comprises retrieving colors extracted in previous iterations of step 221. In addition to a color extracted from a now current video frame in a previous iteration of step 221 and one or more previous colors extracted from one or more previous video frames in even earlier iterations of step 221, one or more colors extracted in previous iterations step 221 from video frames which are still to be rendered may be retrieved in step 225.
[0106] Step 227 comprises determining a current potential color setting to be potentially rendered currently based on at least the color extracted from the current video frame, which was retrieved in step 225, the color extracted from the previous video frame directly preceding the current video frame, which was also retrieved in step 225, and the color extracted from the next video frame directly succeeding the current video frame, which was extracted in step 221 or retrieved in step 225.
[0107] For example, a weighted average of one or more next potential colors, the current potential color, and one or more previous colors may be calculated in step 227. The current potential color has the highest weight. Preferably, a more recently extracted previous color is given more weight than a less recently extracted previous color. Preferably, a more recently extracted next color is given less weight than a less recently extracted next color.
[0108] In some cases, e.g. depending on the content, more smoothing may be performed, thereby creating light effects that are less dynamic than the content and thereby introducing a latency that may allow the full range of colors of the content to be represented in the light effects. This approach works best when the content is itself not rendered, so the latency is not apparent. This approach makes sense, for example, when ambient content is rendered at different speeds, e.g. set by a user. In that example, the smoothing parameters may be set based on the speed settings. Additionally, one or more steps of one or more of the embodiments of Figs. 4, 6, 8-9, and 13 may be added to the embodiment of Fig. 11.
[0109] In the embodiment of Figs. 10 and 11, one color is extracted from each video frame, e.g. an average color of all pixels of the video frame. In an alternative embodiment, each video frame is divided into multiple spatial regions and an (average) color is extracted per spatial region of the video frame. The spatial regions may then be mapped to the one or more lighting devices based on the locations of the one or more lighting devices.
[0110] A ninth embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 12. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 12 is an extension of the method of Fig. 3.
[0111] A step 241 comprises obtaining music metadata, e.g. from a music streaming service like Spotify. The music metadata results from an audio analysis of a song. A step 243 comprises determining a current potential color setting in relation to a moment of the song. The current potential color setting and / or the moment is determined in step 243 based on the music metadata obtained in step 241. The moments at which a different light setting should be rendered may be the moments at which the audio intensity exceeds a certain audio threshold, for example. In this case, the different light setting may be a next color of a user- selected or system-defined color palette, for example.
[0112] Step 123 comprises determining whether a previously rendered color setting can be retrieved or determined. In the first iteration of step 123, a previously rendered color setting cannot be retrieved or determined. If a previously rendered color setting cannot be retrieved or determined, step 129 is performed next and the one or more lighting devices are controlled to render a light effect which comprises the current potential color setting determined in step 243. If a previously rendered color setting can be retrieved or determined, a step 245 is performed next. Step 245 comprises obtaining, e.g. retrieving or recalculating, the previously rendered color setting. The previously rendered color setting may be retrieved from a memory if it has been previously stored in the memory, e.g. in the previous iteration of step 243. Alternatively, the previously rendered color setting may be recalculated from the content in step 245 if it has not been stored in a memory.
[0113] Next, a step 247 comprises determining a difference (diff) between the previously rendered color setting obtained in step 245 and the current potential color setting determined in step 243 in a color space. Step 109 comprises determining whether the difference determined in step 247 exceeds a threshold T. Step 127 comprises checking whether the difference (diff) is determined in step 109 exceeds the threshold T. If so, step 129 is performed. If not, the current potential light setting is not rendered and step 243 is repeated at a later moment. The method then proceeds as shown in Fig. 12.
[0114] Step 129 comprises controlling the one or more lighting devices to render a light effect which comprises the current potential color setting determined in step 243. After step 129 has been performed, step 243 is repeated at a later moment, and the method proceeds as shown in Fig. 12. Additionally, one or more steps of one or more of the embodiments of Figs. 4, 6, 8-9, and 13 may be added to the embodiment of Fig. 12.
[0115] A tenth embodiment of the method of controlling one or more lighting devices to render consecutive light settings is shown in Fig. 13. The method may be performed by the mobile device 1 of Fig. 1, for example. The method of Fig. 13 is an extension of the method ofFig. 3.
[0116] In the embodiment ofFig. 13, steps 261, 263, 175, and 267 are performed between steps 127 and 129 ofFig. 3. Step 261 is performed if it is determined in step 127 that the difference (diff) exceeds the threshold T. Step 261 comprises determining whether controlling the one or more lighting devices to render the current potential light setting without a gradual transition would cause bright sudden flashing.
[0117] If it is determined in step 261 that controlling the one or more lighting devices to render the current potential light setting without a gradual transition would cause bright sudden flashing, step 267 is performed. Step 267 comprises determining the light effect with an adjusted current potential light setting and / or such that the light effect gradually transitions with a specified transition duration from the previously rendered light setting to the current potential light setting, to reduce the bright sudden flashing. Fig. 14 shows brightness settings 71 which have been determined from content and which would cause bright sudden flashing when rendered. At a first moment, a third moment, and a fifth moment, the brightness setting is 0%. At a second moment and a fourth moment, the brightness setting is 100%.
[0118] In the first example of Fig. 14, the original brightness settings 71 have been adjusted to adjusted brightness settings 72 in the determined light effects to reduce the bright sudden flashes; the brightness of original brightness settings of 0% have been increased and the brightness of original brightness settings of 100% have been decreased. In the second example of Fig. 14, the light effects are determined such that in the rendered brightness settings 73, there are gradual transitions between the original brightness settings 71. In an alternative example, the original brightness settings are adjusted and gradual transitions are also used.
[0119] If it is determined in step 261 that controlling the one or more lighting devices to render the current potential light setting without a gradual transition would not cause bright sudden flashing, step 175 is performed. Step 175 comprises determining the light effect such that the light effect directly transitions from the previously rendered light setting obtained in step 125 to the current potential light setting obtained in step 121. Step 175 is also performed if it is determined in step 123 that a previously rendered light setting cannot be retrieved or determined. Additionally, one or more steps of one or more of the embodiments of Figs. 4, 6, 8-12 may be added to the embodiment of Fig. 13.
[0120] Fig. 15 depicts a block diagram illustrating an exemplary data processing system that may perform the method as described with reference to Figs. 2-4, 6, and 8-13.
[0121] As shown in Fig. 15, the data processing system 300 may include at least one processor 302 coupled to memory elements 304 through a system bus 306. As such, the data processing system may store program code within memory elements 304. Further, the processor 302 may execute the program code accessed from the memory elements 304 via a system bus 306. In one aspect, the data processing system may be implemented as a computer that is suitable for storing and / or executing program code. It should be appreciated, however, that the data processing system 300 may be implemented in the form of any system including a processor and a memory that is capable of performing the functions described within this specification. The data processing system may be an Internet / cloud server, for example.
[0122] The memory elements 304 may include one or more physical memory devices such as, for example, local memory 308 and one or more bulk storage devices 310. The local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive or other persistent data storage device. The processing system 300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the quantity of times program code must be retrieved from the bulk storage device 310 during execution. The processing system 300 may also be able to use memory elements of another processing system, e.g. if the processing system 300 is part of a cloud-computing platform.
[0123] Input / output (I / O) devices depicted as an input device 312 and an output device 314 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, a microphone (e.g. for voice and / or speech recognition), or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and / or output devices may be coupled to the data processing system either directly or through intervening I / O controllers.
[0124] In an embodiment, the input and the output devices may be implemented as a combined input / output device (illustrated in Fig. 15 with a dashed line surrounding the input device 312 and the output device 314). An example of such a combined device is a touch sensitive display, also sometimes referred to as a “touch screen display” or simply “touch screen”. In such an embodiment, input to the device may be provided by a movement of a physical object, such as e.g. a stylus or a finger of a user, on or near the touch screen display.
[0125] A network adapter 316 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and / or remote storage devices through intervening private or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and / or networks to the data processing system 300, and a data transmitter for transmitting data from the data processing system 300 to said systems, devices and / or networks. Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 300.
[0126] As pictured in Fig. 15, the memory elements 304 may store an application 318. In various embodiments, the application 318 may be stored in the local memory 308, the one or more bulk storage devices 310, or separate from the local memory and the bulk storage devices. It should be appreciated that the data processing system 300 may further execute an operating system (not shown in Fig. 15) that can facilitate execution of the application 318. The application 318, being implemented in the form of executable program code, can be executed by the data processing system 300, e.g., by the processor 302. Responsive to executing the application, the data processing system 300 may be configured to perform one or more operations or method steps described herein.
[0127] Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein). In one embodiment, the program(s) can be contained on a variety of non-transitory computer-readable storage media, where, as used herein, the expression “non-transitory computer readable storage media” comprises all computer-readable media, with the sole exception being a transitory, propagating signal. In another embodiment, the program(s) can be contained on a variety of transitory computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored. The computer program may be run on the processor 302 described herein.
[0128] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0129] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present invention. The embodiments were chosen and described in order to best explain the principles and some practical applications of the present invention, and to enable others of ordinary skill in the art to understand the present invention for various embodiments with various modifications as are suited to the particular use contemplated.
Claims
CLAIMS:
1. A system (1) for controlling one or more lighting devices (31-34) to render consecutive light settings, said system (1) comprising: at least one transmitter (4); and at least one processor (5) configured to:- determine a first potential light setting to be potentially rendered at a first moment,- control, via said at least one transmitter (4), said one or more lighting devices (31-34) to render a first light effect at said first moment, said first light effect comprising said first potential light setting,- determine a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment,- determine a difference between said first potential light setting and said second potential light setting,- determine whether said difference exceeds a threshold, and- control, via said at least one transmitter (4), if said difference is determined to exceed said threshold, said one or more lighting devices (31-34) to render a second light effect at said second moment, said second light effect comprising said second potential light setting, wherein said at least one processor (5) is configured to- obtain a user setting specifying a target level of dynamicity for rendered light effects, and- determine, in dependence of said user setting, said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment.
2. A system (1) as claimed in claim 1, wherein said at least one processor (5) is configured to:- determine, if said target level of dynamicity does not exceed a threshold, said second light effect such that said second light effect gradually transitions from said firstpotential light setting at said first moment to said second potential light setting at said second moment.
3. A system (1) as claimed in claim 1, wherein said at least one processor (5) is configured to control said one or more lighting devices (31-34) to render said second light effect by transmitting one or more commands to said one or more lighting devices (31-34), said one or more commands comprising a transition duration and said second potential light setting.
4. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to:- determine a third potential light setting to be potentially rendered at a third moment, said further moment being after said second moment,- determine a transition difference between a transition between said first potential light setting and said third potential light setting and a composite transition, said composite transition comprising a first sub transition between said first potential light setting and said second potential light setting and a second sub transition between said second potential light setting and said third potential light setting, said further moment being after said second moment and before said third moment,- compare said transition difference with an other threshold, and- if said transition difference is determined not to exceed said other threshold, determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said third potential light setting at said third moment.
5. A system (1) as claimed in claim 4, wherein said at least one processor (5) is configured to, if said transition difference is determined to exceed said other threshold and said difference is determined to exceed said threshold, determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment.
6. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to:- determine an elapsed time since controlling said one or more lighting devices (31-34) to render said first light effect,- compare said elapsed time with a further threshold, and- control said one or more lighting devices (31-34) to render said second light effect if said difference is determined to exceed said threshold and said elapsed time is determined to exceed said further threshold.
7. A system (1) as claimed in any one of the preceding claims, wherein said first potential light setting comprises a first potential color setting and said second potential light setting comprises a second potential color setting and said at least one processor (5) is configured to determine said difference between said first potential light setting and said second potential light setting by determining a difference between said first potential color setting and said second potential color setting in a color space.
8. A system (1) as claimed in claim 7, wherein said at least one processor (5) is configured to:- extract a first color from a first frame relating to said first moment,- determine said first potential color setting based on at least said first color,- extract a second color from a second frame relating to said second moment, and- determine said second potential color setting based on at least said second color.
9. A system (1) as claimed in claim 8, wherein said at least one processor (5) is configured to determine said second potential color setting further based on at least said first color.
10. A system (1) as claimed in claim 9, wherein said at least one processor (5) is configured to determine said first potential color setting further based on at least said second color.
11. A system (1) as claimed in any of claims 1 to 7, wherein said at least one processor (5) is configured to:- obtain music metadata, said music metadata resulting from an audio analysis of a song,- determine said first potential light setting in relation to a first moment of said song, said first potential light setting and / or said first moment being determined based on said music metadata, and- determine said second potential light setting in relation to a second moment of said song, said second potential light setting and / or said second moment being determined based on said music metadata, said second moment being later than said first moment.
12. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to, if said difference is determined to exceed said threshold:- determine whether controlling said one or more lighting devices (31-34) to render said second potential light setting at said second moment without a gradual transition would cause bright sudden flashing,- if it is determined that controlling said one or more lighting devices (31-34) to render said second potential light setting at said second moment without a gradual transition would cause bright sudden flashing, adjust said second potential light setting and / or determine said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment, and- control said one or more lighting devices (31-34) to render said second light effect at said second moment.
13. A method of controlling one or more lighting devices to render consecutive light settings, said method comprising:- determining (101,121) a first potential light setting to be potentially rendered at a first moment;- controlling (103,129) said one or more lighting devices to render a first light effect at said first moment, said first light effect comprising said first potential light setting;- determining (105,121) a second potential light setting to be potentially rendered at a second moment, said second moment being after said first moment;- determining (107) a difference between said first potential light setting and said second potential light setting;- determining (109) whether said difference exceeds a threshold; and- obtaining a user setting specifying a target level of dynamicity for rendered light effects, and- controlling (111,129), in dependence of said user setting, if said difference is determined to exceed said threshold, said one or more lighting devices to render a second light effect at said second moment, said second light effect comprising said second potential light setting.
14. The method according to claim 13, wherein the method comprising: - determining, if said target level of dynamicity does not exceed a threshold, said second light effect such that said second light effect gradually transitions from said first potential light setting at said first moment to said second potential light setting at said second moment.
15. A computer program product for a computing device, the computer program product comprising computer program code to perform the method of claim 14 when the computer program product is run on a processing unit of the computing device.
Citation Information
Patent Citations
Methods and apparatus for interpolating low frame rate transmissions in lighting systems
WO2013128353A2
Selecting entertainment lighting devices based on dynamicity of video content
EP4274387A1
LED lighting device and luminaire
US20190364627A1
Determining a degree of smoothing based on whether a latency between light and audio will likely exceed a threshold
WO2023057402A1