The invention relates to a system for controlling a lighting device to render light effects determined based on an analysis of video content while a display displays said video content.
The invention further relates to a method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays said video content.
The invention also relates to a computer program product enabling a computer system to perform such a method.
Philips' Hue Entertainment and Hue Sync have become very popular among owners of Philips Hue lights. Philips Hue Sync enables the rendering of light effects based on the content that is played on a computer, e.g. video games. A dynamic lighting system can dramatically influence the experience and impression of audio-visual material, especially when the colors sent to the lights match what would be seen in the composed environment around the screen. U.S. Pat. No. 8,026,908 B2 discloses an alternative solution in which only the intensity of surround lights integrated into a display device is changed and the color is kept fixed at the display white point, but this does not have the same effect on the experience and impression of the audio-visual material.
This new use of light can bring the atmosphere of a video game or movie right into the room with the user. For example, gamers can immerse themselves in the ambience of the gaming environment and enjoy the flashes of weapons fire or magic spells and sit in the glow of the force fields as if they were real. Hue Sync works by observing analysis areas of the video content and computing light output parameters that are rendered on Hue lights around the screen. When the entertainment mode is active, the selected lighting devices in a defined entertainment area will play light effects in accordance with the content depending on their positions relative to the screen.
Initially, Hue Sync was only available as an application for PCs. An HDMI module called the Hue Play HDMI Sync Box was later added to the Hue entertainment portfolio. This device addresses one of the main limitations of Hue Sync and aims at streaming and gaming devices connected to the TV. It makes use of the same principle of an entertainment area and the same mechanisms to transport information. This device is in principle a HDMI splitter which is placed between any HDMI device and a TV.
A drawback of current dynamic lighting systems is that the light effects rendered on the lighting devices do not match enough with the elements of the video content displayed on the display device, at least for certain users.
It is a first object of the invention to provide a system, which can be used to make light effects rendered on entertainment lighting devices better match with elements of video content displayed on a display device.
It is a second object of the invention to provide a method, which can be used to make light effects rendered on entertainment lighting devices better match with elements of video content displayed on a display device.
In a first aspect of the invention, a system for controlling a lighting device to render light effects determined based on an analysis of video content while a display displays said video content comprises at least one output interface and a processor configured to determine a display white point used by said display, said display displaying said video content according to said display white point, determine a lighting device white point to be used by said lighting device based on said display white point, perform said analysis of said video content to determine said light effects, and control, via said at least one output interface, said lighting device to render said light effects according to said lighting device white point. The lighting device will then render said light effects, which comprise multiple different colors over time. In other words, the lighting device is controlled to render a plurality of colors in sequence, each of said colors according to said lighting device white point.
This reduces or removes the potential mismatch between the lighting devices and the display in terms of white point, in particular for users whose display devices use a white point setting other than a default one (e.g. D65). Preferably, the light effects rendered on the lighting devices match as closely as possible elements of the video content displayed on the display device. A potential mismatch in terms of overall brightness and saturation may be reduced or removed in a similar manner. Said lighting device white point may be equal to said display white point, for example. In particular, said lighting device white point may be controlled to be closer to said display white point than a default white point or a current white point of the lighting device. Thus, by controlling said lighting device to render said light effects according to said lighting device white point the user will perceive the colors rendered by the lighting device to be more similar to (the colors of) the video content displayed on the display device.
The likelihood that a non-default white point is used has increased now that many smart devices are capable of changing the display white point setting dynamically. For example, iOS automatically adjusts both brightness and white point as a function of ambient lighting and/or time of day. In other words, said display setting may depend on a time of day and/or on sensor data measured by a light sensor.
When the display is set to a native white point of e.g. 3000K, which is the warmest setting of Apple iOS's Night Shift, it is beneficial to adjust the white point of the lighting devices accordingly, something that currently is not possible. Similar adaptive features are present on Android phones (called “night mode”) and in notebook/PC software like f.lux (https://justgetflux.com/).
The likelihood that a non-default white point is used has also increased as a result of display devices allowing users to configure the white point setting. Preferably, the display white point and the lighting device white point are determined on a regular basis, as the display device may change the used white point over time. A static setting of the lighting device white point might work well in one instance but might look suboptimal when the display white point setting changes. The display white point is thus a selection of a plurality of white point according to which the display can render the video content. It may be determined by a user, e.g. using a user interface of the display device, or it may be determined by the display device automatically, e.g. based on time of day and/or sensor data.
Said at least one processor may be configured to obtain a display setting specifying said display white point from a display device comprising said display, for example. Alternatively, said at least one processor may be configured to receive sensor data from a light (color) sensor and determine said display white point from said sensor data, for example. Said light (color) sensor may be embedded in or attached to said lighting device or embedded in or attached to a display device comprising said display. Additionally, the (co-located) sensor(s) may be used to further estimate the brightness of the surroundings and adjust the light effects accordingly.
Said at least one processor maybe configured to control, via said at least one output interface, said light sensor to measure said sensor data while said display is displaying a test image and determine said display white point from said sensor data based on said test image, or to select a subset of said sensor data from said sensor data and determine said display white point from said subset of said sensor data based on said test image, said subset of sensor data being measured while said display is displaying said test image. Said test image may be an image which comprises only pixels with a same color value, for example. Said at least one processor may be configured to control, via said at least one output interface, a display device comprising said display to display said test image.
Said at least one processor may be configured to transmit color information and said lighting device white point to said light device to enable said lighting device to convert said color information to light settings according to said lighting device white point. Alternative or additionally, said at least one processor may be configured to perform said analysis of said video content by determining colors from said video content, convert said colors to light settings according to said lighting device white point, and transmit light commands comprising said light settings to said lighting device.
What information is transmitted by the system to the lighting device may depend on the lighting device. For example, the colors extracted from the video content by the system may be in sRGB color space and a lighting device may use color settings in xy+brightness color space to control its light source(s). If the conversion from sRGB color space to xy+brightness color space takes place in the system, the system does not need to transmit the lighting device white point but only light commands comprising the light settings in xy+brightness color space. If the conversion from sRGB color space to xy+brightness color space takes place in the lighting device, the system needs to transmit the lighting device white point as well as the color information, i.e. the colors determined in sRGB color space. The conversion is normally performed by using a conversion matrix, e.g. a D65 conversion matrix.
In a second aspect of the invention, a method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays said video content, comprises determining a display white point used by said display, said display displaying said video content according to said display white point, determining a lighting device white point to be used by said lighting device based on said display white point, performing said analysis of said video content to determine said light effects, and controlling said lighting device to render said light effects according to said lighting device white point. Said method may be performed by software running on a programmable device. This software may be provided as a computer program product.
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.
A non-transitory computer-readable storage medium stores at least one software code portion, the software code portion, when executed or processed by a computer, being configured to perform executable operations for controlling a lighting device to render light effects determined based on an analysis of video content while a display displays said video content.
The executable operations comprise determining a display white point used by said display, said display displaying said video content according to said display white point, determining a lighting device white point to be used by said lighting device based on said display white point, performing said analysis of said video content to determine said light effects, and controlling said lighting device to render said light effects according to said lighting device white point.
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, micro-code, 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.
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.
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.
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™, 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 a local computer, partly on the local computer, as a stand-alone software package, partly on the local 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 local 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).
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.
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.
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.
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:
Corresponding elements in the drawings are denoted by the same reference numeral.
In the example of
The bridge 21 communicates with the lighting devices 31-32 using a wireless communication protocol like e.g. Zigbee. In an alternative embodiment, the HDMI 11 can alternatively or additionally control the lighting devices 31-32 without a bridge, e.g. directly via Bluetooth or via the wireless LAN access point 41. Optionally, the lighting devices 31-32 are controlled via the cloud. The lighting devices 31-32 may be capable of receiving and transmitting Wi-Fi signals, for example.
The HDMI module 11 is connected to a wireless LAN access point 41, e.g. using Wi-Fi. The bridge 21 is also connected to the wireless LAN access point 41, e.g. using Wi-Fi or Ethernet. In the example of
The HDMI module 11 is connected to a display device 46, e.g. a TV, and local media receivers 43 and 44 via HDMI. The display device 46 comprises a display 47. The local media receivers 43 and 44 may comprise one or more streaming or content generation devices, e.g. an Apple TV, Microsoft Xbox One and/or Sony PlayStation 4, and/or one or more cable or satellite TV receivers. Each of the local media receivers 43 and 44 may be able to receive content from a media server 49 and/or from a media server in the home network. The local media receivers 43 and 44 provide this content as a video signal to the HDMI module 11 via HDMI. The wireless LAN access point 41 and media server 49 are connected to the Internet 48. Media server 49 may be a server of a video-on-demand service such as Netflix, Amazon Prime Video, Hulu, Disney+ or Apple TV+, for example.
The HDMI module 11 comprises a receiver 13, a transmitter 14, a processor 15, and memory 17. The processor 15 is configured to determine a display white point used by the display 47. The display 47 displays the video content according to the display white point. The processor 15 is further configured to determine a lighting device white point to be used by the lighting devices 31 and 32 based on the display white point, perform the analysis of the video content to determine the light effects, and control, via the transmitter 14, the lighting devices 31 and 32 to render the light effects according to the lighting device white point. A lighting device white point that is equal to the display white point may be used, for example.
In the embodiment of
In the example of
In the embodiment of
In an alternative embodiment, the processor 15 is alternatively or additionally configured to transmit color information and the lighting device white point to the light device to enable a lighting device to convert the color information to light settings according to the lighting device white point, e.g. if the lighting device supports and/or requires this.
What information is transmitted by the system to the lighting device may depend on the lighting device. For example, the colors extracted from the video content by the system may be in sRGB color space and a lighting device may use color settings in xy+brightness color space to control its light source(s). If the conversion from sRGB color space to xy+brightness color space takes place in the system, the system does not need to transmit the lighting device white point but only light commands comprising the light settings in xy+brightness color space. If the conversion from sRGB color space to xy+brightness color space takes place in the lighting device, the system needs to transmit the lighting device white point as well as the color information, i.e. the colors determined in sRGB color space. The conversion is normally performed by using a conversion matrix, e.g. a D65 conversion matrix.
In the embodiment of the HDMI module 11 shown in
The receiver 13 and the transmitter 14 may use one or more wired or wireless communication technologies such as Wi-Fi to communicate with the wireless LAN access point 41 and HDMI to communicate with the display device 46 and with local media receivers 43 and 44, 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
The HDMI module 11 may comprise other components typical for a consumer electronic device such as a power connector. The invention may be implemented using a computer program running on one or more processors. In the embodiment of
A first embodiment of the method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays the video content is shown in
A step 101 comprises determining the display white point used by the display. In the embodiment of
A step 105 comprises performing the analysis of the video content to determine the light effects. A step 107 comprises controlling the lighting device to render the light effects according to the lighting device white point determined in step 103. Step 105 or step 121 may be repeated after step 107, after which the method proceeds as shown in
In the example of
A second embodiment of the method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays the video content is shown in
A step 105 comprises performing the analysis of the video content to determine the light effects. In the embodiment of
Step 107 comprises controlling the lighting device to render the light effects according to the lighting device white point determined in step 103. In the embodiment of
A third embodiment of the method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays the video content is shown in
Step 161 comprises determining color information based on the colors determined in step 141. For example, the colors determined in step 141 may be included in the color information in a format that the lighting device is able to parse. In an alternative embodiment, the colors are adjusted based on user preferences and the adjusted colors are included in the color information.
Step 163 comprises transmitting the color information determined in step 161 and the lighting device white point determined in step 103 to the light device to enable the lighting device to convert the color information to light settings according to the lighting device white point.
A fourth embodiment of the method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays the video content is shown in
A step 185 comprises receiving sensor data from the light sensor. A step 101 comprises determining the display white point used by the display. In the embodiment of
Step 103 comprises determining a lighting device white point to be used by the lighting device based on the display white point determined in step 101. Step 105 comprises performing the analysis of the video content to determine the light effects. Step 107 comprises controlling the lighting device to render the light effects according to the lighting device white point determined in step 103.
A fifth embodiment of the method of controlling a lighting device to render light effects determined based on an analysis of video content while a display displays the video content is shown in
A step 191 comprises selecting a subset of the sensor data from the sensor data received in step 185. The subset of sensor data is measured while the display is displaying a test image, e.g. an image comprising only pixels with a same color value. Step 101 comprises determining the display white point used by the display. In the embodiment of
Step 103 comprises determining a lighting device white point to be used by the lighting device based on the display white point determined in step 101. Step 105 comprises performing the analysis of the video content to determine the light effects. Step 107 comprises controlling the lighting device to render the light effects according to the lighting device white point determined in step 103.
The embodiments of
As shown in
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.
Input/output (I/O) devices depicted as an input device 312 and an output device 314 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, a microphone (e.g. for voice and/or speech recognition), or the like. Examples of output devices may include, but are not limited to, a monitor or a display, speakers, or the like. Input and/or output devices may be coupled to the data processing system either directly or through intervening I/O controllers.
In an embodiment, the input and the output devices may be implemented as a combined input/output device (illustrated in
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.
As pictured in
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.
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.
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.
Number | Date | Country | Kind |
---|---|---|---|
21153202.3 | Jan 2021 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2022/050622 | 1/13/2022 | WO |