Generating light settings based on additional textual description generated for light scene
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- SIGNIFY HOLDING BV
- Filing Date
- 2024-08-13
- Publication Date
- 2026-07-01
Smart Images

Figure EP2024072785_27022025_PF_FP_ABST
Abstract
Description
[0001] Generating light settings based on additional textual description generated for light scene
[0002] FIELD OF THE INVENTION
[0003] The invention relates to a system for generating light settings for an array of individually controllable light sources.
[0004] The invention further relates to a method of generating light settings for an array of individually controllable light sources.
[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] With the introduction of LED technology, it has become possible to produce light strips to illuminate houses and offices. An advantage of light strips is that they can illuminate a large wide space relatively uniformly. Initially, all LEDs of a light strip were only able to emit one color, e.g. white. Later, certain light strips allowed a user to change the color emitted by the LED nodes, but all LED nodes still emitted the same color. The next advance in light strips was the pixelated light strip. Pixelated light strips comprise multiple individually controllable segments, each such segment generally referred to as a ‘pixel’ of which e.g. the color and / or intensity of light emitted may be controlled. Each segment comprises one LED or multiple LEDs of the same or different colors.
[0008] A popular light effect rendered on light strips and other one-dimensional arrays of light sources is the color gradient. For example, US 2019 / 335560 Al discloses a lighting device which comprises an array of controllable light emitting pixels, each pixel having an adjustable light output color. A controller is configured to receive a limited set of light output colors and to locally process these light output colors to form a color gradient pattern to be displayed across pixels of the array.
[0009] A benefit of rendering a color gradient as light effect is that users are able to create their own light effects easily by selecting e.g. three to five colors. Such color gradients may also be rendered on arrays of light sources with more than one dimension, e.g. Twinkly Curtain. Although low-resolution images may also be rendered on arrays of light sources with more than one dimension, creating these light effects requires more effort from users. A drawback of rendering a color gradient is that it is a relatively simple light effect and users might want to create different kinds of light effects.
[0010] WO 2019238834 Al discloses a method and controller for selecting media content based on a lighting scene, the method comprising: selecting the lighting scene, the lighting scene having properties comprising one or more lighting properties; determining one or more of the properties of the selected lighting scene; selecting media content based on the determined one or more of the properties, wherein the media content comprises audio content; controlling a media device to output the selected media content; and adjusting one or more of the lighting properties based on the audio content of the selected media content. The lighting scene may also have descriptive properties that describe the lighting scene.
[0011] SUMMARY OF THE INVENTION
[0012] It is a first object of the invention to provide a system, which can be used to relatively easily create advanced light effects for arrays of light sources.
[0013] It is a second object of the invention to provide a method, which can be used to relatively easily create advanced light effects for arrays of light sources.
[0014] In a first aspect of the invention, a system for generating light settings for an array of individually controllable light sources comprises at least one control interface and at least one processor configured to obtain light scene information, said light scene information indicating one or more light settings of a light scene and comprising a textual description of said light scene, determine an additional textual description for said light scene based on said textual description of said light scene, determine a target level of dynamicity and / or a target level of detail based on said additional textual description for said light scene, generate at least one light setting for each of said light sources based on said one or more light settings indicated by said light scene information such that said generated light settings have said target level of dynamicity and / or said target level of detail, and control, via said at least one control interface, each respective light source of said light sources to render said at least one light setting generated for said respective light source.
[0015] The textual description of the light scene may comprise a name of the light scene or a keyword associated with the light scene and / or a label related to audio, music, or an image associated with the light scene, for example. By determining an additional textual description for the light scene based on the textual description of the light scene and determining a target level of dynamicity and / or a target level of detail based on this additional textual description, users may be able to create advanced light effects for arrays of light sources with relatively little effort. The one or more light settings indicated in the light scene are independent of the textual description of the light scene.
[0016] For example, when users only select three to five colors like they would for a color gradient, the use of the textual description of the light scene results in a more advanced light effect. For instance, if the light scene is called “Tokyo”, the system may look for other words or descriptors (e.g. “buzzing”, “crowded”, “dynamic”) that describe Tokyo and determine the target level of dynamicity and / or a target level of detail based thereon.
[0017] If the generated light settings are considered to form an image, then the frequencies present in this image, which may be determined with a Fast Fourier Transform, represent the level of detail of this image, and therefore the level of detail of the generated light settings. Higher frequencies means more detail in the image / generated light settings. The target level of detail may therefore also be referred to as the target (spatial) frequency of the effect. A higher level of detail normally means more differences between neighboring pixels in a given color space.
[0018] Said one or more light settings indicated by said light scene information may comprise one or more colors and said at least one processor may be configured to generate a color for each of said light sources based on said one or more colors, said generated colors being light settings of said generated light settings. Said one or more colors indicated by said light scene information may comprise a plurality of colors, for example. In this case, the scene colors, i.e. the scene palette, define the colors of the light effect and the additional textual description defines one or more different parameters of the light effect, including at least the level of dynamicity (in the case of a dynamic effect) and / or the level of detail of the light effect.
[0019] Said generated colors may be generated such that said generated light settings do not comprise colors which are not included in said plurality of colors and are not interpolated from at least two of said plurality of colors. This may ensure that there is a clear link between the plurality of colors indicated by the light scene information and the generated light settings.
[0020] Said at least one processor may be configured to determine said additional textual description for said light scene based on said textual description of said light scene by asking a large language model a question about a subject described by said textual description, and determining said additional textual description from an answer of said large language model to said question. For instance, if the light scene is called “Tokyo”, the large language model may be asked about Tokyo. The question may, for example, ask a description of the subject or may ask specifically how dynamic the subject described by the textual description is. In the former case, the additional textual description may include other words or descriptors (e.g. “buzzing”, “crowded”, “dynamic”) that describe Tokyo, for example.
[0021] Said at least one processor may be configured to generate said light settings for said light sources by generating one or more images. This may be beneficial for multidimensional arrays of light sources and may allow existing tools to be re-used.
[0022] Said at least one processor may be configured to determine said target level of detail based on said additional textual description for said light scene, said target level of detail comprising target frequencies for said one or more images, and generate said one or more images based on said one or more light settings indicated by said light scene information such that said generated one or more images do not comprise frequencies other than said target frequencies. These one or more images may be generated by a Perlin noise algorithm or may be determined based on one or more images generated by a Perlin noise algorithm, for example.
[0023] Said generated one or more images may comprise one or more color images. In this case, said at least one processor may be configured to generate said one or more color images by generating one or more noise images and converting noise values of said pixels in said one or more noise images to color values of said corresponding pixels in said one or more color images. These one or more noise images may be (black and white) noise images generated by a Perlin noise algorithm, for example.
[0024] Said at least one processor may be configured to determine a target contrast based on said additional textual description for said light scene and generate said at least one light setting for each of said light sources based on said one or more light settings indicated by said light scene information such that said generated light settings further have said target contrast. For example, a higher color contrast between pixels may be used if the additional textual description indicates that the subject is dynamic and a lower color contrast between pixels may be used if the additional textual description does not indicate that the subject is dynamic or indicates that the subject is not dynamic. If a lower color contrast is used, one or more colors indicated by the light scene information might not be rendered, for example.
[0025] Said at least one processor may be configured to obtain a plurality of current light settings of a plurality of lighting devices neighboring said array, determine a current contrast between said plurality of current light settings, and determine said target level of detail based on said additional textual description for said light scene, said target level of detail further being based on said current contrast. This may be used to fit the light settings rendered by the array of light sources with light settings rendered by the neighboring light sources.
[0026] In a second aspect of the invention, a method of generating light settings for an array of individually controllable light sources comprises obtaining light scene information, said light scene information indicating one or more light settings of a light scene and comprising a textual description of said light scene, determining an additional textual description for said light scene based on said textual description of said light scene, determining a target level of dynamicity and / or a target level of detail based on said additional textual description for said light scene, generating at least one light setting for each of said light sources based on said one or more light settings indicated by said light scene information such that said generated light settings have said target level of dynamicity and / or said target level of detail, and controlling each respective light source of said light sources to render said at least one light setting generated for said respective light source. Said method may be performed by software running on a programmable device. This software may be provided as a computer program product.
[0027] 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.
[0028] 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 generating light settings for an array of individually controllable light sources.
[0029] The executable operations comprise obtaining light scene information, said light scene information indicating one or more light settings of a light scene and comprising a textual description of said light scene, determining an additional textual description for said light scene based on said textual description of said light scene, determining a target level of dynamicity and / or a target level of detail based on said additional textual description for said light scene, generating at least one light setting for each of said light sources based on said one or more light settings indicated by said light scene information such that said generated light settings have said target level of dynamicity and / or said target level of detail, and controlling each respective light source of said light sources to render said at least one light setting generated for said respective light source. 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.
[0030] 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.
[0031] 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.
[0032] 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).
[0033] 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.
[0034] 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.
[0035] 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. 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 embodiments 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.
[0036] BRIEF DESCRIPTION OF THE DRAWINGS
[0037] 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:
[0038] Fig. l is a block diagram of an embodiment of the system;
[0039] Fig. 2 is a flow diagram of a first embodiment of the method;
[0040] Fig. 3 is a flow diagram of a second embodiment of the method;
[0041] Fig. 4 is a flow diagram of a third embodiment of the method;
[0042] Fig. 5 is a flow diagram of a fourth embodiment of the method;
[0043] Fig. 6 is a flow diagram of a fifth embodiment of the method;
[0044] Fig. 7 is a flow diagram of a sixth embodiment of the method; and
[0045] Fig. 8 is a block diagram of an exemplary data processing system for performing the method of the invention.
[0046] Corresponding elements in the drawings are denoted by the same reference numeral.
[0047] DETAILED DESCRIPTION OF THE EMBODIMENTS
[0048] Fig. 1 shows an embodiment of the system for generating light settings for an array of individually controllable light sources. In this embodiment, the system is a bridge 1. The bridge 1 may be a Philips Hue bridge, for example. In the example of Fig. 1, the light sources 51-66 are organized in a two-dimensional (4x4) array 41, which further comprises a controller 42. The light sources 51-66 may each comprise one or more LEDs, for example. In the example of Fig. 1, for the sake of simplicity, the array 41 has only sixteen light sources. In practice, arrays of light source will typically have many more light sources. The light sources 51-66 can be controlled individually. Thus, different light sources of the array 41 may have different light settings (on / off, color, light output level).
[0049] The bridge 1 is connected to a wireless LAN access point 17, e.g. via Ethernet or Wi-Fi. The wireless LAN access point 17 is connected to the Internet 11. Internet servers 13 and 14 are also connected to the Internet 11. The Internet server 13 may be configured to run a large language model, for example, and allow users to ask it questions. The Internet server 14 may be configured to run the Perlin noise algorithm based on user-inputted parameters, for example.
[0050] A mobile device 36 is also connected to the Internet 11, possibly via the wireless LAN access point 17. The mobile device 36 may run a light control app. A user may use this app to select a light scene to be rendered by the array 41. In the embodiment of Fig. 1, the light scene information associated with this light scene is stored on the bridge 1. In an alternative embodiment, this light scene information may be stored in the cloud. When the user selects the light scene, the mobile device 36 transmits a command to the bridge 1. The bridge 1 then determines light settings for the light sources 51-66 based on the stored light scene information and specifies these light settings in a command which it transmits to the array 41.
[0051] The bridge 1 comprises a receiver 3, a transmitter 4, a processor 5, and a memory 7. The processor 5 is configured to obtain light scene information which indicates one or more light settings of a light scene and comprises a textual description of the light scene, determine an additional textual description for the light scene based on the textual description of the light scene, determine a target level of dynamicity and / or a target level of detail based on the additional textual description for the light scene, generate at least one light setting for each of the light sources 51-66 based on the one or more light settings indicated by the light scene information such that the generated light settings have the target level of dynamicity and / or the target level of detail, and control, via the transmitter 4, each respective light source of the light sources 51-66 to render the at least one light setting generated for the respective light source.
[0052] In the embodiment of the bridge 1 shown in Fig. 1, the bridge 1 comprises one processor 5. In an alternative embodiment, the bridge 1 comprises multiple processors. The processor 5 of the bridge 1 may be a general-purpose processor, e.g. ARM-based, or an application-specific processor. The processor 5 of the bridge 1 may run a Unix-based operating system for example. The memory 7 may comprise one or more memory units. The memory 7 may comprise solid-state memory, for example. The memory 7 may be used to store a table of connected lights, for example.
[0053] The receiver 3 and the transmitter 4 may use one or more wired or wireless communication technologies, e.g. Ethernet for communicating with the wireless LAN access point 17 and Zigbee for communicating with the lighting devices, 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 bridge 1 may comprise other components typical for a network device such as a power connector. The invention may be implemented using a computer program running on one or more processors.
[0054] In the embodiment of Fig. 1, the system of the invention comprises a bridge. In an alternative embodiment, the system of the invention is a different type of device, e.g. a mobile device or a cloud computer. 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.
[0055] A first embodiment of the method of generating light settings for an array of individually controllable light sources is shown in Fig. 2. The method may be performed by the bridge 1 of Fig. 1, for example. A step 100 comprises allowing a user to select a light scene, e.g. on mobile device 36 of Fig. 1.
[0056] A step 101 comprises obtaining light scene information. The light scene information indicates one or more light settings of the light scene selected in step 100 and comprises a textual description of this light scene. These one or more light settings may comprise one or more colors, for example. For instance, the light scene information may include a color palette, or include or indicate an image from where a color palette could be extracted, and the textual description.
[0057] As an example, in the Hue system, each light scene is represented by an image, palette, title and a theme or set (e.g., a scene “Tokyo” is part of the “Party Vibes” set). The palette is first generated using color extraction algorithm and then finetuned manually by the light designer, so there is no direct algorithmic connection between the image and the palette and both may therefore carry useful information for generating the light settings. A step 103 comprises determining an additional textual description for the light scene based on the textual description of the light scene obtained in step 101. The textual description of the light scene may comprise a name of the light scene and / or a keyword associated with the light scene. For example, in the Hue app, each scene in the scene gallery has, in addition to a name, a keyword(s) that is used for keyword-based search in the gallery of light scenes. Users may be able to add keywords when creating a light scene.
[0058] Alternatively or additionally, the textual description of the light scene may comprise a label related to audio, music, or an image associated with the light scene. Alternatively or additionally, the textual description may comprise keywords that are extracted directly from audio, music, or an image with the help of machine learning. For example, using the pretrained image-to-text model Pix2Struct, the textual description may be acquired based on an image. This is especially beneficial when the scene palette indicated by the light scene corresponds to an image that is used to represent the light scene. The textual description would then capture the image meaning. Alternatively or additionally, the textual description may be derived from the one or more light settings indicated by the light scene information, e.g. “energizing” for a bright scene with cool-white or blueish light or “cozy” for a scene with low dim levels and warm colors.
[0059] A step 105 comprises determining a target level of dynamicity and / or a target level of detail based on the additional textual description determined in step 103. For example, a mapping may be consulted in step 105 in which keywords are mapped to a level of dynamicity and / or a level of detail. Alternatively, a large language model may for example be used, see e.g. Fig. 4.
[0060] A step 107 comprises generating at least one light setting for each of the light sources based on the one or more light settings indicated by the light scene information obtained in step 101 such that the generated light settings have the target level of dynamicity and / or the target level of detail determined in step 105. If the light scene is a dynamic light scene, step 107 comprises generating consecutive light settings per light sources. The transitions between consecutive light settings being rendered may be faster when the additional textual description indicates that a subject described by the textual description is very dynamic and may be slower otherwise, for example.
[0061] If the one or more light settings obtained in step 101 comprise one or more colors, step 107 may comprise generating a color for each of the light sources based on these one or more colors and may further comprise generating further light settings for each of the light sources, e.g. light output levels. If colors are generated based on the one or more light settings indicated by the light scene information, the further light settings do not need to be generated based on the one or more light settings indicated by the light scene information. The light settings may be generated such that the colors and / or the further light settings have the target level of dynamicity and / or such that the colors and / or the further light settings have the target level of dynamicity.
[0062] If the one or more colors obtained in step 101 comprise a plurality of colors, the light settings generated in step 107 preferably do not comprise colors which are not included in the plurality of colors and are not interpolated from at least two of the plurality of colors.
[0063] In one implementation, steps 107 comprises using machine learning (e.g. a deep neural network) to generate the light settings for the light sources using the light settings indicated by the light scene information, e.g. a color palette, and the target level of dynamicity and / or the target level of detail as input data. In another implementation, step 107 comprises a Perlin noise algorithm generating one or more noise images, see e.g. Fig. 5. Step 107 may additionally or alternatively comprise generating one or more other kinds of images.
[0064] If an image is already associated with the light scene, it is normally not possible to use this scene image to generate the light settings for the light sources, so generating one or more images may be beneficial even in that case. Due to the differences in resolutions between the scene image and the desired image, it is normally not possible to simply scale down the scene image. Using machine learning, the contrast and dynamicity of the scene image may be recreated using the textual description and the scene image itself as an input.
[0065] Initial light settings may first be generated in step 107 without considering the exact properties of the array of light sources and then modified in step 107 to fit the array of light sources or may directly be generated to fit exactly the properties of the array of light sources, for example. The former may be useful when multiple pixelated light arrays are present. The properties of the array of light sources may be obtained in a separate step (not shown in Fig. 2). Properties may include resolution (for 2D arrays), size, location of each pixel for free form devices (e.g., a string-based flexible lighting device), location of the device in space, orientation, for example. These properties may be received when the array is added to the lighting system and configured, for example. This separate step may then simply comprise retrieving the stored parameters.
[0066] Alternatively, the exact properties of the array of light sources may not be considered in step 107 at all. For example, it may only be known whether the array is a ID, 2D, or 3D controllable LED array, and the light settings may then be generated according to the required number of dimensions, after which they are mapped to individual pixels of the array, e.g. by the array (i.e. pixelated lighting device) itself. Step 107 may further comprise modifying the generated light settings to fit with light settings of other light sources present in the area (e.g., orientation, color switching).
[0067] A step 109 comprises controlling each respective light source of the light sources to render the at least one light setting generated for the respective light source in step 107. Additionally, one or more steps of one or more of the embodiments of Figs. 3-7 may be added to the embodiment of Fig. 2.
[0068] A second embodiment of the method of generating light settings for an array of individually controllable light sources is shown in Fig. 3. The method may be performed by the bridge 1 of Fig. 1, for example.
[0069] Step 101 comprises obtaining light scene information. The light scene information indicates one or more light settings of a light scene and comprises a textual description of the light scene. Step 103 comprises determining an additional textual description for the light scene based on the textual description of the light scene obtained in step 101. Step 105 comprises determining a target level of dynamicity and / or a target level of detail based on the additional textual description determined in step 103.
[0070] Step 107 comprises generating at least one light setting for each of the light sources based on the one or more light settings indicated by the light scene information obtained in step 101 such that the generated light settings have the target level of dynamicity and / or the target level of detail determined in step 105. A step 121 comprises storing the light settings generated in 107 in relation to the light scene, e.g. as part of the light scene information.
[0071] Step 100 comprises allowing a user to select the light scene for which light settings were generated in step 107, e.g. on mobile device 36 of Fig. 1. Step 100 may be performed much later than steps 101-121. Step 123 comprises retrieving the light settings stored in step 121 in relation to the light scene, e.g. by obtaining the updated light scene information.
[0072] Step 109 comprises controlling each respective light source of the light sources to render the at least one light setting generated for the respective light source in step 107. Additionally, one or more steps of one or more of the embodiments of Figs. 2, 4-7 may be added to the embodiment of Fig. 3. In the embodiment of Fig. 3, steps 101-107 only need to be performed once, e.g. when the light scene is recalled for the first time or when the light scene is recalled for the first time for this particular array of light sources. The light settings are then saved and linked to the light scene, such that when the light scene is recalled again, they may directly be used. In the embodiment of Fig. 2, steps 101-107 are repeated each time the light scene is recalled. This allows for some variation to be added in the light settings, e.g. by using a Stochastic algorithm.
[0073] If the light scene is a dynamic light scene and step 105 of Fig. 3 comprises determining a target level of detail based on the additional textual description determined in step 103, step 109 of Fig. 3 may comprise rendering the consecutive light settings generated per light source in step 107 in a loop. If the light scene is a dynamic light scene and step 105 of Fig. 2 comprises determining a target level of detail based on the additional textual description determined in step 103, steps 107 and 109 of Fig. 2 may be repeated several times such that different sets of consecutive light settings are generated (e.g. by using a stochastic algorithm) and rendered each time, resulting in a continuous generation of new content.
[0074] A third embodiment of the method of generating light settings for an array of individually controllable light sources is shown in Fig. 4. The method may be performed by the bridge 1 of Fig. 1, for example.
[0075] Step 101 comprises obtaining light scene information. The light scene information indicates one or more light settings of a light scene and comprises a textual description of the light scene. Step 103 comprises determining an additional textual description for the light scene based on the textual description of the light scene obtained in step 101. In the embodiment of Fig. 4, step 103 is implemented by steps 141 and 143.
[0076] Step 141 comprises asking a large language model, e.g. ChatGPT, Google Bard, or Microsoft Bing Chat, a question about a subject described by the textual description obtained in step 101. For instance, if the light scene is called “Tokyo”, the large language model may be asked about Tokyo. The question may, for example, ask a description of the subject, e.g. Tokyo, or may ask specifically how dynamic the subject described by the textual description is, e.g. “how dynamic is Tokyo?”. The Internet server 13 of Fig. 1 may be configured to run this large language model, for example.
[0077] Step 143 comprises determining the additional textual description from an answer of the large language model to the question asked in step 141. Step 105 comprises determining a target level of dynamicity and / or a target level of detail based on the additional textual description determined in step 143. Step 107 comprises generating at least one light setting for each of the light sources based on the one or more light settings indicated by the light scene information obtained in step 101 such that the generated light settings have the target level of dynamicity and / or the target level of detail determined in step 105. Step 109 comprises controlling each respective light source of the light sources to render the at least one light setting generated for the respective light source in step 107. Additionally, one or more steps of one or more of the embodiments of Figs. 2-3, 5-7 may be added to the embodiment of Fig. 4.
[0078] A fourth embodiment of the method of generating light settings for an array of individually controllable light sources is shown in Fig. 5. The method may be performed by the bridge 1 of Fig. 1, for example. In the embodiment of Fig. 5, the light sources are organized in a two-dimensional array.
[0079] Step 101 comprises obtaining light scene information. The light scene information indicates one or more light settings of a light scene and comprises a textual description of the light scene. Step 103 comprises determining an additional textual description for the light scene based on the textual description of the light scene obtained in step 101. Step 161 comprises determining at least a target level of detail based on the additional textual description determined in step 103. In the embodiment of Fig. 5, the target level of detail comprises target image frequencies. As a first example, if the textual description comprises the word “sunset”, the additional description may comprise the words “relax, soft, quiet” and the target frequencies may comprise only low frequencies. As a second example, if the textual description comprises the word “Osaka”, the additional description may comprise the words “busy, city, urban”, and the target frequencies may comprise high frequencies.
[0080] Step 163 comprises generating at least one light setting for each of the light sources based on the one or more light settings indicated by the light scene information obtained in step 101 such that the generated light settings have the target level of detail determined in step 161. The light settings for the light sources are generated by generating one or more images. In the embodiment of Fig. 5, the light settings for the light sources are generated such that the generated one or more images do not comprise frequencies other than the target frequencies determined in step 161. As light setting of a light source, the value of the pixel is used which has the same position in the image as the light source has in the array.
[0081] If the colors of the light sources need to have the target level of detail, the generated one or more images may comprise one or more color images. In this case, step 161 may comprise first generating one or more noise images (black and white images) based on the target level of detail, e.g. by using the Perlin noise algorithm, and converting noise values of the pixels in the one or more noise images to color values of the corresponding pixels in the one or more color images. The Internet server 14 of Fig. 1 may be configured to run this Perlin noise algorithm based on user-inputted parameters, for example. If the Perlin noise algorithm is used, the determined target level of detail may be converted to one or more of the following parameters: scale, octaves, persistence.
[0082] If only the light output levels of the light sources need to have the target level of detail, then it is not necessary to generate one or more color images. For example, step 161 may then comprise generating a noise image (black and white image), e.g. by using the Perlin noise algorithm, and using as light output level of a light source, the value of the pixel which has the same position in the noise image as the light source has in the array. The colors of the light sources may then be determined in a different way, e.g. based on a color palette specified by the light scene information.
[0083] Step 109 comprises controlling each respective light source of the light sources to render the at least one light setting generated for the respective light source in step 163. Additionally, one or more steps of one or more of the embodiments of Figs. 2-4, 6-8 may be added to the embodiment of Fig. 5.
[0084] A fifth embodiment of the method of generating light settings for an array of individually controllable light sources is shown in Fig. 6. The method may be performed by the bridge 1 of Fig. 1, for example.
[0085] Step 101 comprises obtaining light scene information. The light scene information indicates one or more light settings of the light scene selected in step 100 and comprises a textual description of this light scene. Step 103 comprises determining an additional textual description for the light scene based on the textual description of the light scene obtained in step 101.
[0086] Step 105 and a step 171 are performed after step 103. Step 105 comprises determining a target level of dynamicity and / or a target level of detail based on the additional textual description determined in step 103. Step 171 comprises determining a target contrast, a total contrast over all pixels, based on the additional textual description determined in step 103.
[0087] A step 173 is performed after steps 105 and 171 have been performed. Step
[0088] 173 comprises generating at least one light setting for each of the light sources based on the one or more light settings indicated by the light scene information obtained in step 101 such that the generated light settings have the target level of dynamicity and / or the target level of detail determined in step 105 and further have the target contrast determined in step 173.
[0089] Step 109 comprises controlling each respective light source of the light sources to render the at least one light setting generated for the respective light source in step 107. Additionally, one or more steps of one or more of the embodiments of Figs. 2-5, 7 may be added to the embodiment of Fig. 6.
[0090] A sixth embodiment of the method of generating light settings for an array of individually controllable light sources is shown in Fig. 7. The method may be performed by the bridge 1 of Fig. 1, for example. The method of Fig. 7 is an extension of the method of Fig. 2. Step 100 comprises allowing a user to select a light scene, e.g. on mobile device 36 of Fig. 1.
[0091] Step 101 and a step 181 are performed after step 100. Step 101 comprises obtaining light scene information. The light scene information indicates one or more light settings of a light scene and comprises a textual description of the light scene. Next, step 103 comprises determining an additional textual description for the light scene based on the textual description of the light scene obtained in step 101.
[0092] Step 181 comprises obtaining a plurality of current light settings of a plurality of lighting devices neighboring the array. Step 181 may comprise obtaining the positions of the lighting devices in a space, e.g. from a general configuration in a light control app or scanned with e.g. lidar. Step 183 comprises determining a current contrast between the plurality of current light settings obtained in step 181.
[0093] A step 185 is performed after steps 103 and 183 have been performed. Step 185 comprises determining at least a target level of detail based on the additional textual description determined in step 103 and further based on the current contrast determined in step 183. For example, the higher the contrast between neighboring lighting devices, the higher the contrast between neighboring light sources of the array. Step 185 optionally comprises determining a target level of dynamicity based on the additional textual description determined in step 103.
[0094] Step 107 comprises generating at least one light setting for each of the light sources based on the one or more light settings indicated by the light scene information obtained in step 101 such that the generated light settings have the target level of detail, and optionally the target level of dynamicity, as determined in step 185. Step 109 comprises controlling each respective light source of the light sources to render the at least one light setting generated for the respective light source in step 107. Additionally, one or more steps of one or more of the embodiments of Figs. 3-6 may be added to the embodiment of Fig. 7.
[0095] Thus, in the embodiment of Fig. 7, before generating the content, it is additionally determined what the state is of other lighting devices in the area and this information is used to ensure that the generated content fits well with the other lighting devices in the area, e.g. in dependence on the locations of the lighting devices.
[0096] Fig. 8 depicts a block diagram illustrating an exemplary data processing system that may perform the method as described with reference to Figs. 2 to 7.
[0097] As shown in Fig. 8, 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.
[0098] 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.
[0099] Input / output (VO) 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 VO controllers. In an embodiment, the input and the output devices may be implemented as a combined input / output device (illustrated in Fig. 8 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.
[0100] 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.
[0101] As pictured in Fig. 8, 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. 8) 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.
[0102] 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.
[0103] 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.
[0104] 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 generating light settings for an array (41) of individually controllable light sources (51-66), said system (1) comprising: at least one control interface (4); and at least one processor (5) configured to:- obtain light scene information, said light scene information indicating one or more light settings of a light scene and comprising a textual description of said light scene,- determine an additional textual description for said light scene based on said textual description of said light scene,- determine a target level of dynamicity and / or a target level of detail based on said additional textual description for said light scene,- generate at least one light setting for each of said light sources (51-66) based on said one or more light settings indicated by said light scene information such that said generated light settings have said target level of dynamicity and / or said target level of detail, and- control, via said at least one control interface (4), each respective light source of said light sources (51-66) to render said at least one light setting generated for said respective light source.
2. A system (1) as claimed in claim 1, wherein said one or more light settings indicated by said light scene information comprise one or more colors and said at least one processor (5) is configured to generate a color for each of said light sources (51-66) based on said one or more colors, said generated colors being light settings of said generated light settings.
3. A system (1) as claimed in claim 2, wherein said one or more colors indicated by said light scene information comprise a plurality of colors.
4. A system (1) as claimed in claim 3, wherein said generated light settings do not comprise colors which are not included in said plurality of colors and are not interpolated from at least two of said plurality of colors.
5. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to determine said additional textual description for said light scene based on said textual description of said light scene by:- asking a large language model a question about a subject described by said textual description, and- determining said additional textual description from an answer of said large language model to said question.
6. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to generate said light settings for said light sources (51- 66) by generating one or more images.
7. A system (1) as claimed in claim 6, wherein said at least one processor (5) is configured to:- determine said target level of detail based on said additional textual description for said light scene, said target level of detail comprising target frequencies for said one or more images, and- generate said one or more images based on said one or more light settings indicated by said light scene information such that said generated one or more images do not comprise frequencies other than said target frequencies.
8. A system (1) as claimed in claim 6 or 7, wherein said generated one or more images comprise one or more color images.
9. A system (1) as claimed in claim 8, wherein said at least one processor (5) is configured to generate said one or more color images by generating one or more noise images and converting noise values of said pixels in said one or more noise images to color values of said corresponding pixels in said one or more color images.
10. A system (1) as claimed in any one of the preceding claims, wherein said textual description of said light scene comprise a name of said light scene or a keyword associated with said light scene.
11. A system (1) as claimed in any one of the preceding claims, wherein said textual description of said light scene further comprises a label related to audio, music, or an image associated with said light scene.
12. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to:- determine a target contrast based on said additional textual description for said light scene, and- generate said at least one light setting for each of said light sources (51-66) based on said one or more light settings indicated by said light scene information such that said generated light settings further have said target contrast.
13. A system (1) as claimed in any one of the preceding claims, wherein said at least one processor (5) is configured to:- obtain a plurality of current light settings of a plurality of lighting devices (31,32) neighboring said array (41),- determine a current contrast between said plurality of current light settings, and- determine said target level of detail based on said additional textual description for said light scene, said target level of detail further being based on said current contrast.
14. A method of generating light settings for an array of individually controllable light sources, said method comprising:- obtaining (101) light scene information, said light scene information indicating one or more light settings of a light scene and comprising a textual description of said light scene;- determining (103) an additional textual description for said light scene based on said textual description of said light scene;- determining (105) a target level of dynamicity and / or a target level of detail based on said additional textual description for said light scene;- generating (107) at least one light setting for each of said light sources based on said one or more light settings indicated by said light scene information such that said generated light settings have said target level of dynamicity and / or said target level of detail; and- controlling (109) each respective light source of said light sources to render said at least one light setting generated for said respective light source.
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.