Color transition control for light scenes
The system optimizes transition durations in dynamic light scenes by adjusting them based on color differences and user preferences, ensuring visually pleasing and responsive light transitions.
Patent Information
- Application Number
- PCT/EP2025/062782
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-23
- Filing Date
- 2025-05-09
- Publication Date
- 2025-11-27
AI Technical Summary
Existing dynamic light scenes often appear unresponsive or aesthetically displeasing due to inconsistent transition durations between colors, particularly when colors are similar, leading to perceptual differences that deviate from user expectations.
A system and method that determine transition durations based on color differences in perceptually uniform color spaces, adjusting durations to maintain visually pleasing transitions by using processors to control light sources, considering factors like location and user-configured dynamics.
Ensures that light scenes transition smoothly and aesthetically, avoiding perceptual discrepancies by optimizing transition times according to color differences and user preferences, enhancing the overall visual experience.
Smart Images

Figure EP2025062782_27112025_PF_FP_ABST
Abstract
Description
[0001] COLOR TRANSITION CONTROL FOR LIGHT SCENES
[0002] FIELD OF THE INVENTION
[0003] The invention relates to a system for controlling one or more light sources to render a light scene, the light scene being associated with a set of multiple colors.
[0004] The invention further relates to a method of controlling one or more light sources to render a light scene, the light scene being associated with a set of multiple colors.
[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] When a user sets a given light scene in a connected lighting system, e.g., a sunset light scene, the scene consists of a set of multiple colors. When this scene is made dynamic, which is something that for example the Philips Hue app enables, the lights in the area will ‘cycle’ through the colors in the current palette. The user may be allowed to indicate a speed setting such as ‘subtle’, ‘fast’, etc. to indicate how fast a light may change from one color to the next in the current palette. This speed setting determines the time it takes for a light to change from color 1 to color 2, such as e.g. 5 seconds, i.e. the transition duration.
[0008] It is also known to determine the speed setting automatically. For example, US 2021 / 0243870 Al describes an electronic device that is configured to identify a dynamic light scene to be rendered, determine one or more current, previous and / or planned light settings for one or more lights, determine a target dynamic light scene based on the identified dynamic light scene and the light settings, and render the target dynamic light scene on at least one light.
[0009] Independent of whether the speed setting is determined manually or automatically, certain dynamic light scenes or parts of a dynamic light scene may not look as expected, or may not even look good, with a selected speed setting. For example, in certain cases, depending on the color palette of the light scene, lights may seem to be unresponsive as they cycle through colors that are quite similar. SUMMARY OF THE INVENTION
[0010] It is advantageous to provide a system and method, which can be used to render dynamic light scenes such that they are more likely to be perceived in the manner expected by the user.
[0011] In one aspect, a system for controlling one or more light sources to render a light scene, the light scene being associated with a set of multiple colors, comprises at least one control interface and at least one processor configured to, for each respective light source of the one or more light sources, determine a current color being rendered by the respective light source, the current color being included in the set of multiple colors, determine a next color to be rendered by the respective light source, the next color being included in the set of multiple colors, determine a color difference between the current color and the next color, determine a transition duration of a transition between the current color and the next color based on the color difference, and control, via the at least one control interface, the respective light source to render the transition between the current color and the next color with the transition duration and to render the next color.
[0012] By using transition times that are related to the actual colors to be rendered, the suboptimal performance, from a perceptual perspective, of using transition times that are unrelated to the actual colors to be rendered may be prevented. With this system, radical differences in the perceptual changes over time on the one or more light source(s) may be avoided, both differences between different light scenes and differences between different parts of the same light scene.
[0013] For example, when two colors of the set of colors are close in a perceptually uniform color space (e.g. (0,20,255) and (0,0,255)), then a transition duration of e.g. 5 seconds between these two colors would lead to the one or more light source(s) seeming to be unresponsive, especially when compared to the same transition time when the two colors are far apart, such as pure green and pure red. The former transition may seem so subtle that it is hardly noticeable. Here, a faster transition time may be more appropriate, such as a time dependent on distance covered in e.g. LAB color space: Delta E.
[0014] The at least one processor may be configured to determine the color difference between the current color and the next color in a first color space and control the respective light source to render the transition between the current color and the next color in the first color space.
[0015] The at least one processor may be configured to determine the color difference between the current color and the next color in a first color space and control the respective light source to render the transition between the current color and the next color in a second color space, the second color space being different from the first color space. The first color space may be a perceptually uniform color space and the second color space may be selected such that color transitions are visually pleasing, for example.
[0016] The at least one processor may be configured to determine a shorter transition duration if the color difference is a first color difference and determine a longer transition duration if the color difference is a second color difference, the longer transition duration being longer than the shorter transition duration and the second color difference being larger than the first color difference.
[0017] The one or more light sources may comprise a plurality of light sources.
[0018] The at least one processor may be configured to obtain location information indicative of locations of the plurality of light sources and determine the transition duration for the respective light source further based on the locations.
[0019] The at least one processor may be configured to determine a first transition duration if the color difference is the first color difference and the distances between the locations exceed a threshold and determine a second transition duration if the color difference is the first color difference and the distances between the locations do not exceed the threshold, the first transition duration being shorter than the second transition duration.
[0020] The at least one processor may be configured to determine the transition durations for the plurality of light sources such that a division of the color difference by the transition duration is the same for each respective light source of the plurality of light sources.
[0021] The at least one processor may be configured to control the plurality of light sources such that each of the plurality of light sources cycles through the set of multiple colors in a same order.
[0022] The set of multiple colors might be an ordered set of multiple colors and the at least one processor may be configured to determine the next color by selecting a color succeeding the current color in the ordered set of multiple colors.
[0023] The at least one processor may be configured to determine for each respective pair of successive colors in the ordered set of multiple colors whether a color difference between the respective pair of successive colors exceeds a color difference threshold, and reorder the ordered set of multiple colors if at least one of the color differences does not exceed the color difference threshold, such that each color difference between each pair of successive colors in the ordered set of multiple colors exceeds the color difference threshold. The set of multiple colors might not be ordered and the at least one processor may be configured to determine an ordered set of multiple colors based on the set of multiple colors and determine the next color by selecting a color succeeding the current color in the ordered set of multiple colors.
[0024] The at least one processor may be configured to determine the ordered set of multiple colors such that each color difference between each pair of successive colors in the ordered set of multiple colors exceeds a color difference threshold.
[0025] The ordered set of multiple colors might be ordered according to color.
[0026] The at least one processor may be configured to obtain a user-configured level of dynamics and determine the transition duration for each respective light source further based on the user-configured level of dynamics.
[0027] In one aspect, a method of controlling one or more light sources to render a light scene, the light scene being associated with a set of multiple colors, comprises, for each respective light source of the one or more light sources, determining a current color being rendered by the respective light source, the current color being included in the set of multiple colors, determining a next color to be rendered by the respective light source, the next color being included in the set of multiple colors, determining a color difference between the current color and the next color, determining a transition duration of a transition between the current color and the next color based on the color difference, and controlling the respective light source to render the transition between the current color and the next color with the transition duration and to render the next color. The method may be performed by software running on a programmable device. This software may be provided as a computer program product.
[0028] 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.
[0029] In one aspect, a non-transitory computer-readable storage medium stores a software code portion, the software code portion, when executed or processed by a computer, being configured to perform the method described above.
[0030] As will be appreciated by one skilled in the art, aspects of the present invention may take the form of a device, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware implementation, an entirely software implementation (including firmware, resident software, micro-code, etc.) or an implementation 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 in one or more computer readable medium(s) having computer readable program code stored thereon.
[0031] 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: an electrical connection having one or more wires, 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), an optical fiber, 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.
[0032] A computer readable signal medium may include a propagated data signal with computer readable program code included 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.
[0033] Program code 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 standalone 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).
[0034] 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 implementations 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.
[0035] 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.
[0036] 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.
[0037] The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various implementations of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0038] BRIEF DESCRIPTION OF THE DRAWINGS
[0039] 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:
[0040] Fig. l is a block diagram of an implementation of the system;
[0041] Fig. 2 shows example locations of the lighting devices of Fig. 1;
[0042] Fig. 3 shows example transition durations;
[0043] Fig. 4 is a flow chart of a first implementation of the method;
[0044] Fig. 5 is a flow chart of a second implementation of the method;
[0045] Fig. 6 is a flow chart of a third implementation of the method;
[0046] Fig. 7 is a flow chart of a fourth implementation of the method;
[0047] Fig. 8 is a flow chart of a fifth implementation of the method;
[0048] Fig. 9 is a flow chart of a sixth implementation of the method; and
[0049] Fig. 10 is a block diagram of an exemplary data processing system for performing the method.
[0050] Corresponding elements in the drawings are denoted by the same reference numeral.
[0051] DETAILED DESCRIPTION
[0052] Fig. 1 shows an implementation of the system for controlling one or more light sources to render a light scene. The light scene is associated with a set of multiple colors. In this implementation, the system is a bridge 21. The bridge 21 may be a Philips Hue bridge, for example. The bridge 21 is connected to a wireless LAN access point 33, e.g. via Ethernet or Wi-Fi. The wireless LAN access point 33 is connected to the Internet 31. The bridge 21 is able to communicate with lighting devices 51, 52, 53, and 54, e.g. using Zigbee technology. These devices form a lighting system. The lighting devices 51-53 are single-pixel lighting devices, i.e., comprising one individually controllable light source each. The lighting device 54 is a pixelated lighting device. The lighting device 54 comprises a controller 59 and nine individually controllable lighting sources 41-49.
[0053] In the example of Fig. 1, a user of user device 35 is able to use an app running on their user device to control one or more of lighting devices 51-54 via the bridge 21, e.g. by selecting a dynamic light scene. The user device 35 may be, for example, a mobile device such as a mobile phone, a tablet or a smart watch. In the example of Fig. 1, user device 35 is connected directly to the wireless LAN access point 33. Alternatively, user device 35 may be connected to the Internet 31 remotely, e.g. via an LTE or 5G mobile communication network. It may also be possible to control lighting devices 51-54 via Internet server 37 (and bridge 21). The Internet server 37 may be operated by a manufacturer of a lighting company, for example. The Internet server 37 is also connected to the Internet 31.
[0054] The bridge 21 comprises a receiver 23, a transmitter 24, a processor 25, and memory 27. The processor 25 is configured to, for each respective light source of the one or more light sources, determine a current color being rendered by the respective light source, determine a next color to be rendered by the respective light source, and determine a color difference between the current color and the next color. The current color and the next color are included in the set of multiple colors.
[0055] The processor 25 is further configured to determine a transition duration of a transition between the current color and the next color based on the color difference, and control, via the transmitter 24, the respective light source to render the transition between the current color and the next color with the transition duration and to render the next color.
[0056] The bridge 21 may start rendering the dynamic light scene and obtaining the set of multiple colors after receiving a signal from the user device 35. This signal may comprise the set of multiple colors or just an identifier of the light scene, which allows the bridge 21 to retrieve the set of multiple colors from memory 27 of Internet server 37.
[0057] Optionally, the processor 25 is configured to obtain location information indicative of locations of the plurality of light sources and determine the transition duration for the respective light source further based on the locations. For example, if the color difference is small, the decrease in transition duration compared to the conventionally determined transition duration may be smaller if light sources are closer together and the user can see multiple light sources at the same time and larger if the light sources are farther apart and the user cannot see multiple light sources at the same time. Fig. 2 shows example locations of the lighting devices 51-54 and bridge 21 of Fig. 1 in apartment 61. If the user is sitting on the couch of the apartment, the user can see both lighting devices 51 and 52 (and thus their light sources) at the same time, so it is beneficial to then make the decrease in transition duration smaller if the color difference is small. Whether a user can see multiple light sources at the same time may be estimated based on only the distances between the light sources, or the position and / or orientation of the user may also be considered, e.g. based on information provided by the user’s mobile phone or based on camera images of a stationary camera.
[0058] To obtain the locations of light sources, first the locations of the lighting devices which include these light sources may be obtained. If the relative locations of the light sources compared to each other are fixed, information which indicates the locations of the light sources relative to each other may be obtained from the pixelated lighting device or from an Internet server.
[0059] To obtain the locations of lighting devices and light sources in a smart lighting system such as the one described in relation to Fig. 1, one or more of the following approaches may be used, for example:
[0060] • Zigbee Network Mapping: The Zigbee network may provide network topology information, which may be interpreted to identify the approximate locations of connected devices relative to each other.
[0061] • User-Provided Layout Information: Users may manually input the physical locations of each light source using a mobile app or web interface linked to the lighting system.
[0062] • Integration with Indoor Positioning Systems (IPS): The lighting system may be integrated with an IPS which can provide precise device locations.
[0063] • Camera-Based Monitoring: Description: Utilizing visual information from cameras installed within the environment may help determine the locations of light sources, especially in dynamic settings where lights may be moved or adjusted frequently.
[0064] • Utilizing Mobile Device Sensors: Mobile devices, such as smartphones and tablets, equipped with sensors like GPS, accelerometers, and gyroscopes may assist in providing spatial data relative to the user’s location within the lighting network.
[0065] With bridge 21 described above, the actual speed of color change, i.e., the transition duration, will depend on the color palette of the selected scene, and the actual level of dynamics will correspond to the speed of movement in a given color space rather than the speed of changing from one palette color to another palette color. Fig. 3 shows example transition durations. Tokyo scene 81 comprises five colors with larger color differences, including a current color 82 and a next color 83. Arctic Aurora scene 86 also comprises five colors, but with smaller color differences, including a current color 87 and a next color 88. This would conventionally have resulted in the Tokyo scene looking significantly more dynamic than the Arctic Aurora light scene, as the same transition duration Tref would be used for all transitions.
[0066] However, with bridge 21 described as above, the determined transition duration depends on the color difference. For example, in the example of Fig. 3, a transition duration 84 of 0.9 times Tref is used for the transition between the current color 82 and the next color 83 of the Tokyo scene 81 and a transition duration 89 of 0.2 times Tref is used for the transition between the current color 87 and the next color 88 of the Arctic Aurora scene 86.
[0067] The processor 25 may be configured to determine the color difference between the current color and the next color in a first color space and control the respective light source to render the transition between the current color and the next color in the first color space or in a second color space different from the first color space. The first color space may be a perceptually uniform color space and the second color space may be selected such that color transitions are visually pleasing, for example.
[0068] In other words, either one color space may be used for both color difference determination and transition rendering or two different color spaces may be used: one for color difference determination and one for transition rendering. Preferably, a perceptually uniform color space such as CIELAB or IPT is used to calculate the color difference and thus the transition duration, and a different color space where the transition might be more visually pleasing such as HSV is used to render the transition.
[0069] The connections depicted in Fig. 1 are only schematic representations. For example, it is not required that the lighting device 51-54 communicates directly with bridge 21. The devices of the lighting system may form a mesh network, and physical communication may be routed over multiple nodes in order to keep the distances of each radio connection short.
[0070] In the implementation of the bridge 21 shown in Fig. 1, the bridge 21 comprises one processor 25. In an alternative implementation, the bridge 1 comprises multiple processors. The processor 25 of the bridge 21 may be a general -purpose processor, e.g. ARM-based, or an application-specific processor. The processor 25 of the bridge 21 may run a Unix-based operating system for example. The memory 27 may comprise one or more memory units. The memory 27 may comprise one or more hard disks and / or solid-state memory, for example.
[0071] The receiver 23 and the transmitter 24 may use one or more wired or wireless communication technologies such as Zigbee to communicate with the lighting devices 51-54, and Ethernet to communicate with the wireless LAN access point 33, for example. In an alternative implementation, multiple receivers and / or multiple transmitters are used instead of a single receiver and a single transmitter. In the implementation shown in Fig. 1, a separate receiver and a separate transmitter are used. In an alternative implementation, the receiver 23 and the transmitter 24 are combined into a transceiver. The bridge 21 may comprise other components typical for a bridge such as a power connector. The invention may be implemented using a computer program running on one or more processors.
[0072] In the implementation of Fig. 1, the system is a bridge. In an alternative implementation, the system is a different device, e.g. an Internet server or a mobile device. In the implementation of Fig. 1, the system comprises a single device. In an alternative implementation, the system comprises a plurality of devices, e.g. the bridge 21 and the Internet server 37.
[0073] A first implementation of the method of controlling one or more light sources to render a light scene is shown in Fig. 4. The light scene is associated with a set of multiple colors. The method may be performed by bridge 21 of Fig. 1, for example. Steps 101, 103, 105, 107, and 109 are performed for each respective light source of the one or more light sources.
[0074] Step 101 comprises determining a current color being rendered by the respective light source. Step 103 comprises determining a next color to be rendered by the respective light source. The current color and the next color are included in the set of multiple colors. The set of colors may be associated with a curated light scene or with a user- designed light scene, for example. The colors may have been extracted from an image, for example.
[0075] Step 105 comprises determining a color difference between the current color determined in step 101 and the next color determined in step 103. This color difference may be expressed in Delta E, which is described for example on https: / / en.wikipedia.org / wiki / Color_difference.
[0076] Step 107 comprises determining a transition duration of a transition between the current color and the next color based on the color difference determined in step 105. Step 107 may comprise determining a shorter transition duration if the color difference is a first color difference and determining a longer transition duration if the color difference is a second color difference which is larger than the first color difference. For example, the velocity of moving in the color space may be made the same for each transition.
[0077] Step 107 may comprise determining the transition durations for a plurality of light sources such that a division of the color difference by the transition duration is the same for each respective light source of the plurality of light sources. In other words, this means that all light sources will travel at the same velocity from current color to next color.
[0078] Step 109 comprises controlling the respective light source to render the transition between the current color and the next color with the transition duration determined in step 107 and to render the next color determined in step 103. If steps 101-109 are performed for a plurality of light sources, step 109 may comprise controlling the plurality of light sources such that each of the plurality of light sources cycles through the set of multiple colors in the same order. The implementation of Fig. 4 may be combined with one or more of the implementations of Figs. 5-9.
[0079] A second implementation of the method of controlling one or more light sources to render a light scene is shown in Fig. 5. The light scene is associated with a set of multiple colors. The method may be performed by bridge 21 of Fig. 1, for example. The implementation of Fig. 5 is an extension of the implementation of Fig. 4. Steps 111, 113, 115, 105, 107, and 109 are performed for each respective light source of the one or more light sources.
[0080] Step 111 comprises determining a first color of the set of multiple colors, to be rendered by the respective light source. Step 113 comprises controlling the respective light source to render the first color determined in step 111. Step 115 comprises determining a next color of the set of multiple colors, to be rendered by the respective light source.
[0081] Step 105 comprises determining a color difference between the current color determined in step 111 or in the previous iteration of step 115 and the next color determined in the most recent iteration of step 115. Step 107 comprises determining a transition duration of a transition between the current color and the next color based on the color difference determined in step 105.
[0082] Step 109 comprises controlling the respective light source to render the transition between the current color and the next color with the transition duration determined in the most recent iteration of step 107 and to render the next color determined in the most recent iteration of step 115. Step 115 is repeated after step 109, and the method proceeds as shown in Fig. 5. The implementation of Fig. 5 may be combined with one or more of the implementations of Figs. 6-9.
[0083] A third implementation of the method of controlling one or more light sources to render a light scene is shown in Fig. 6. The implementation of Fig. 6 is an extension of the implementation of Fig. 5. The method may be performed by bridge 21 of Fig. 1, for example. In the implementation of Fig. 6, the one or more light sources comprise a plurality of light sources, steps 131 and 133 are performed before step 111 of Fig. 5, and step 107 of Fig. 5 is implemented by step 135, 137, and 139.
[0084] Step 131 comprises obtaining location information indicative of locations of the plurality of light sources, e.g. the locations of lighting devices 51-54 of Fig. 2, and for pixelated lighting device 54, the relative locations of the light sources. Step 133 comprises ascertaining distances between the locations indicated in the location information obtained in step 131. Step 135 is performed after step 105, i.e., after the color difference has been determined.
[0085] Step 135 comprises, based on the distances ascertained in step 133, ascertaining whether the respective light source can be seen by the user at the same time as another light source of the plurality of light sources. If so, step 137 is performed. If not, step 139 is performed. Steps 137 and 139 both comprise determining a transition duration of a transition between the current color and the next color based on the color difference determined in step 105, but with the same color difference, the transition duration determined in step 139 may be shorter than the transition duration determined in step 137 if the color distance is smaller.
[0086] In other words, if the color difference is small, the decrease in transition duration compared to the conventionally determined transition duration is smaller if light sources are closer together and the user can see multiple light sources at the same time and larger if the light sources are farther apart and the user cannot see multiple light sources at the same time. This may be done to avoid too much deviation in transition durations between light sources that are visible to the user at the same time, which may negatively affect the aesthetics. The implementation of Fig. 6 may be combined with one or more of the implementations of Figs. 4 and 7-9.
[0087] A fourth implementation of the method of controlling one or more light sources to render a light scene is shown in Fig. 7. The implementation of Fig. 7 is an extension of the implementation of Fig. 5. The method may be performed by bridge 21 of Fig. 1, for example. In the implementation of Fig. 7, a step 151 is performed before step 111 of Fig. 5 and step 107 of Fig. 5 is implemented by a step 153.
[0088] Step 151 comprises obtaining a user-configured level of dynamics. Step 153 comprises determining 153 the transition duration for each respective light source further based on the user-configured level of dynamics. Thus, the mapping between the user- configured level of dynamics and the actual speed of color change, i.e., the transition duration, will depend on the color palette of the selected scene. In other words, the selected dynamics level will correspond to the speed of movement in a given color space rather than the speed of changing from one palette color to another palette color.
[0089] For example, if a user sets the level of dynamics of both a Tokyo scene with larger color differences and an Arctic Aurora scene with smaller color differences to “fast”, this would conventionally have resulted in the Tokyo scene looking significantly more dynamic than the Arctic Aurora light scene. By determining the transition duration based on color differences, both scenes will look equally dynamic (even though the palette colors in the case of Arctic Aurora will “cycle” much faster).
[0090] In the implementation of Fig. 7, the level of dynamics is user-configured. In an alternative implementation, the level of dynamics is automatically determined. In another implementation, the level of dynamics is not a variable but fixed; for example, a certain fixed level of dynamics may be implicit in an algorithm for calculating the transition durations. The implementation of Fig. 7 may be combined with one or more of the implementations of Figs. 4, 6, and 8-9.
[0091] A fifth implementation of the method of controlling one or more light sources to render a light scene is shown in Fig. 8. The implementation of Fig. 8 is an extension of the implementation of Fig. 5. The method may be performed by bridge 21 of Fig. 1, for example. In the implementation of Fig. 8, steps 171, 173, and 175 are performed before step 111 of Fig. 5 and step 115 of Fig. 5 is implemented by a step 177.
[0092] Step 171 comprises obtaining the set of multiple colors in the form of an ordered set of multiple colors. For example, the set of colors may have been ordered automatically by user device 35 of Fig. 1. The ordered set of multiple colors may be ordered according to color. The order may represent the spatial order of the colors (e.g., on a pixelated lighting device) and / or the temporal order of the colors. Step 173 comprises determining for each respective pair of successive colors in the ordered set of multiple colors whether a color difference between the respective pair of successive colors exceeds a color difference threshold. Step 175 comprises reordering the ordered set of multiple colors if it is determined in step 173 that at least one of the color differences does not exceed the color difference threshold, such that each color difference between each pair of successive colors in the ordered set of multiple colors exceeds the color difference threshold. This may be done to prevent that one or more transition durations become very short. Step 177 comprises determining the next color by selecting a color succeeding the current color in the ordered set of multiple colors, which may have been reordered in step 175.
[0093] If a user of user device 35 of Fig. 1 starts a dynamic light scene of which the colors have been manually ordered by the author of the light scene, the user may be asked permission first before reordering this light scene. Alternatively, such a manually ordered light scene might never be reordered. The implementation of Fig. 8 may be combined with one or more of the implementations of Figs. 4, 6-7, and 9.
[0094] A sixth implementation of the method of controlling one or more light sources to render a light scene is shown in Fig. 9. The implementation of Fig. 9 is an extension of the implementation of Fig. 5. The method may be performed by bridge 21 of Fig. 1, for example. In the implementation of Fig. 9, steps 181 and 183 are performed before step 111 of Fig. 5 and step 115 of Fig. 5 is implemented by step 177.
[0095] Step 181 comprises obtaining the set of multiple colors, which has not been ordered yet. Step 183 comprises determining an ordered set of multiple colors based on the set of multiple colors obtained in step 181. Conventionally, the set of multiple colors is ordered according to color to form a gradient. In step 181, the ordered set of multiple colors may be determined such that each color difference between each pair of successive colors in the ordered set of multiple colors exceeds a color difference threshold.
[0096] The order represents the temporal order of the colors and may also represent the spatial order of the colors (e.g., on a pixelated lighting device). This ensures that colors are at least a given distance apart and may be done to prevent one or more transition durations from becoming very short. Step 177 comprises determining the next color by selecting a color succeeding the current color in the ordered set of multiple colors, which has been determined in step 183.
[0097] The implementation of Fig. 9 may be combined with one or more of the implementations of Figs. 4 and 6-7. For example, the method of Fig. 8 may be performed if the obtained set of colors is ordered, and the method of Fig. 9 may be performed if the obtained set of colors is not ordered. In an alternative implementation, step 183 is replaced with a step in which the set of colors obtained in step 181 is ordered according to color. Fig. 10 depicts a block diagram illustrating an exemplary data processing system that may perform the method as described with reference to the flow charts.
[0098] As shown in Fig. 10, the data processing system 900 may include at least one processor 902 coupled to memory elements 904 through a system bus 906. As such, the data processing system may store program code within memory elements 904. Further, the processor 902 may execute the program code accessed from the memory elements 904 via a system bus 906. 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 system 900 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 Intemet / cloud server, for example.
[0099] The memory elements 904 may include one or more physical memory devices such as, for example, local memory 908 and one or more bulk storage devices 910. 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 900 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 910 during execution. The processing system 900 may also be able to use memory elements of another processing system, e.g. if the processing system 900 is part of a cloud-computing platform.
[0100] Input / output (VO) devices depicted as an input device 912 and an output device 914 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 VO controllers.
[0101] The input and the output devices may be implemented as a combined input / output device (illustrated in Fig. 10 with a dashed line surrounding the input device 912 and the output device 914). 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 implementation, 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. A network adapter 916 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 the systems, devices and / or networks to the data processing system 900, and a data transmitter for transmitting data from the data processing system 900 to the 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 900.
[0102] As pictured in Fig. 10, the memory elements 904 may store an application 918. The application 918 may be stored in the local memory 908, the one or more bulk storage devices 910, or separate from the local memory and the bulk storage devices. It should be appreciated that the data processing system 900 may further execute an operating system (not shown in Fig. 10) that can facilitate execution of the application 918. The application 918, being implemented in the form of executable program code, can be executed by the data processing system 900, e.g., by the processor 902. Responsive to executing the application, the data processing system 900 may be configured to perform one or more operations or method steps described herein.
[0103] 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. The program(s) may 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. The program(s) may also 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 902 described herein.
[0104] The terminology used herein is for the purpose of describing particular implementations 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.
[0105] 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 detailed description has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the implementations in the form disclosed.
[0106] Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the present invention.
Claims
1. CLAIMS:
1. A system (21) for controlling one or more light sources (51-53,41-49) to render a light scene (81,86), the light scene (81,86) being associated with a set of multiple colors, the system (21) comprising at least one control interface (24) and at least one processor (25) configured to, for each respective light source (51-53,41-49) of the one or more light sources (51-53,41-49), determine a current color being rendered by the respective light source (51- 53,41-49), the current color being included in the set of multiple colors, determine a next color to be rendered by the respective light source (51-53,41- 49), the next color being included in the set of multiple colors, determine a color difference between the current color and the next color, determine a transition duration of a transition between the current color and the next color based on the color difference, and control, via the at least one control interface (24), the respective light source (51-53,41-49) to render the transition between the current color and the next color with the transition duration and to render the next color.
2. A system (21) as claimed in claim 1, wherein the at least one processor (25) is configured to determine a shorter transition duration if the color difference is a first color difference and determine a longer transition duration if the color difference is a second color difference, the longer transition duration being longer than the shorter transition duration and the second color difference being larger than the first color difference.
3. A system (21) as claimed in claim 1 or 2, wherein the one or more light sources (51-53,41-49) comprise a plurality of light sources (51-53,41-49).
4. A system (21) as claimed in claim 3, wherein the at least one processor (25) is configured to obtain location information indicative of locations of the plurality of light sources (51-53,41-49) and determine the transition duration for the respective light source (51-53,41-49) further based on the locations.
5. A system (21) as claimed in claim 4 when dependent on claim 2, wherein the at least one processor (25) is configured to determine a first transition duration if the color difference is the first color difference and the distances between the locations exceed a threshold and determine a second transition duration if the color difference is the first color difference and the distances between the locations do not exceed the threshold, the first transition duration being shorter than the second transition duration.
6. A system (21) as claimed in any one of claims 3-5, wherein the at least one processor (25) is configured to determine the transition durations for the plurality of light sources (51-53,41-49) such that a division of the color difference by the transition duration is the same for each respective light source (51-53,41-49) of the plurality of light sources (51- 53,41-49).
7. A system (21) as claimed in in any one of claims 3-6, wherein the at least one processor (25) is configured to control the plurality of light sources (51-53,41-49) such that each of the plurality of light sources (51-53,41-49) cycles through the set of multiple colors in a same order.
8. A system (21) as claimed in any one of claims 1-7, wherein the set of multiple colors is an ordered set of multiple colors and the at least one processor (25) is configured to determine the next color by selecting a color succeeding the current color in the ordered set of multiple colors.
9. A system (21) as claimed in claim 8, where in the at least one processor (25) is configured to determine for each respective pair of successive colors in the ordered set of multiple colors whether a color difference between the respective pair of successive colors exceeds a color difference threshold, and reorder the ordered set of multiple colors if at least one of the color differences does not exceed the color difference threshold, such that each color difference between each pair of successive colors in the ordered set of multiple colors exceeds the color difference threshold.
10. A system (21) as claimed in any one of claims 1-7, wherein the set of multiple colors is not ordered and the at least one processor (25) is configured to determine an ordered set of multiple colors based on the set of multiple colors and determine the next color by selecting a color succeeding the current color in the ordered set of multiple colors.
11. A system (21) as claimed in claim 10, where in the at least one processor (25) is configured to determine the ordered set of multiple colors such that each color difference between each pair of successive colors in the ordered set of multiple colors exceeds a color difference threshold.
12. A system (21) as claimed in any one of claims 1-11, wherein the at least one processor (25) is configured to determine the color difference between the current color and the next color in a first color space and control the respective light source (51-53,41-49) to render the transition between the current color and the next color in a second color space, the second color space being different from the first color space.
13. A system (21) as claimed in any one of claims 1-12, wherein the at least one processor (25) is configured to obtain a user-configured level of dynamics and determine the transition duration for each respective light source (51-53,41-49) further based on the user- configured level of dynamics.
14. A method of controlling one or more light sources to render a light scene, the light scene being associated with a set of multiple colors, the method comprising, for each respective light source of the one or more light sources, determining (101, 11, 115) a current color being rendered by the respective light source, the current color being included in the set of multiple colors, determining (103,115) a next color to be rendered by the respective light source, the next color being included in the set of multiple colors, determining (105) a color difference between the current color and the next color, determining (107) a transition duration of a transition between the current color and the next color based on the color difference, and controlling (109) the respective light source to render the transition between the current color and the next color with the transition duration and to render the next color.
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
Rendering a dynamic light scene based on one or more light settings
US20210243870A1
Dynamic light effect based on an image
US10531548B2
Notification lighting control
US20180317305A1
Color Control System for Producing Gradient Light
US20200294466A1
Determining global and local light effect parameter values
WO2023144269A1