Luminaire segmentation method and system for coded light applications
The luminaire segmentation method and system enhance the accuracy and speed of segment boundary detection in coded light applications by analyzing pixel value dips across multiple images, addressing the limitations of existing techniques in dynamic conditions.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2026-04-09
AI Technical Summary
Existing image-based segmentation techniques for separating multiple luminaires in a camera's field of view are slow and inaccurate, especially when a user is moving or when a rolling shutter affects image quality.
A luminaire segmentation method and system that accurately determines segment boundaries in segmented luminaires by detecting dips in pixel values across multiple images, using a predefined number of images to confirm the presence of these dips, and applying image processing techniques like dilation to enhance detection.
The method and system provide fast and accurate segmentation of luminaires, even under conditions of user movement and rolling shutter effects, enabling reliable decoding of coded light signals.
Smart Images

Figure EP2025077112_09042026_PF_FP_ABST
Abstract
Description
[0001] 2024PF80032
[0002] 1
[0003] Luminaire segmentation method and system for coded light applications
[0004] FIELD OF THE INVENTION
[0005] The present disclosure relates to segmented luminaires. More specifically, the present disclosure relates to a method, a system, a computer program product and a computer readable storage medium for determining a segment boundary in a segmented luminaire.
[0006] BACKGROUND OF THE INVENTION
[0007] Visible light communication (VLC) refers to the communication of information by means of a signal embedded in visible light, sometimes also referred to as coded light. The information is embedded by modulating a property of the visible light according to any suitable modulation technique. E.g., according to one example of a coded light scheme, the intensity of the visible light from each of multiple light sources is modulated to form a carrier waveform having a certain modulation frequency, with the modulation frequency being fixed for a given one of the light sources but different for different ones of the light sources such that the modulation frequency acts as a respective identifier (ID) of each light source. In more complex schemes a property of the carrier waveform may be modulated in order to embed symbols of data in the light emitted by a given light source, e.g., by modulating the amplitude, frequency, phase or shape of the carrier waveform in order to represent the symbols of data. In yet further possibilities, a baseband modulation may be used - i.e. there is no carrier wave, but rather symbols are modulated into the light as patterns of variations in the brightness of the emitted light. This may either be done directly (intensity modulation) or indirectly (e.g., by modulating the mark-space ratio of a PWM dimming waveform, or by modulating the pulse position).
[0008] The adoption of LED technology in the field of lighting has brought an increased interest in the use of coded light to embed signals into the illumination emitted by luminaires, e.g., room lighting, thus allowing the illumination from the luminaires to double as a carrier of information. Preferably the modulation is performed at a high enough frequency and low enough modulation depth to be imperceptible to human vision, or at least such that any visible temporal light artefacts (e.g., flicker and / or strobe artefacts) are weak enough to be tolerable to humans. Based on the modulations, the information in the coded 2024PF80032
[0009] 2 light can be detected using a photodetector. This can be either a dedicated photocell, or a camera comprising an array of photocells (pixels) and a lens for forming an image on the array. E.g., the camera may be a general purpose camera of a mobile user device such as a smartphone or tablet. Camera based detection of coded light is possible with either a global- shutter camera or a rolling- shutter camera (e.g., rolling-shutter readout is typical to mobile CMOS image sensors found in mobile devices such as smartphones and tablets). In a global- shutter camera the entire pixel array (entire frame) is captured at the same time, and hence a global shutter camera captures only one temporal sample of the light from a given luminaire per frame. In a rolling- shutter camera on the other hand, the frame is divided into lines (typically horizontal rows) and the frame is exposed line-by-line in a temporal sequence, each line in the sequence being exposed at a slightly later time than the last.
[0010] Coded light has many possible applications. For instance, a different respective ID can be embedded into the illumination emitted by each of the luminaires in a given environment, e.g., those in a given building, such that each ID is unique at least within the environment in question. For example if a mobile device for remotely controlling the luminaires is equipped with a light sensor such as a camera, then the user can direct the sensor toward a particular luminaire or subgroup of luminaires so that the mobile device can detect the respective ID(s) from the emitted illumination captured by the sensor, and then use the detected ID(s) to identify the corresponding one or more luminaires in order to control them. This provides a user- friendly way for the user to identify which luminaire or luminaires he or she wishes to control. As another example, there may be provided a location database which maps the ID of each luminaire to its location (e.g., coordinates on a floorplan), and this database may be made available to mobile devices from a server via one or more networks such as the Internet and / or a wireless local area network (WLAN). Then if a mobile device captures an image or images containing the light from one or more of the luminaires, it can detect their IDs and use these to look up their locations in the location database in order to detect the location of the mobile device based thereon. E.g., this may be achieved by measuring a property of the received light such as received signal strength, time of flight and / or angle of arrival, and then applying technique such as triangulation, trilateration, multilateration or fingerprinting, or simply by assuming that the location of the nearest or only captured luminaire is approximately that of the mobile device (and in some cases such information may be combined with information from other sources, e.g., on-board accelerometers, magnetometers or the like, in order to provide a more robust result). The detected location may then be output to the user through the mobile device for the purpose of 2024PF80032
[0011] 3 navigation, e.g., showing the position of the user on a floorplan of the building. Alternatively or additionally, the determined location may be used as a condition for the user to access a location based service. E.g., the ability of the user to use his or her mobile device to control the lighting (or another utility such as heating) in a certain region (e.g., a certain room) may be made conditional on the location of his or her mobile device detected to be within that same region (e.g., the same room), or perhaps within a certain control zone associated with the lighting in question. Other forms of location-based service may include, e.g., the ability to make or accept location-dependent payments. As another example, a database may map luminaire IDs to location specific information such as information on a particular museum exhibit in the same room as a respective one or more luminaires, or an advertisement to be provided to mobile devices at a certain location illuminated by a respective one or more luminaires. The mobile device can then detect the ID from the illumination and use this to look up the location specific information in the database, e.g., in order to display this to the user of the mobile device. In further examples, data content other than IDs can be encoded directly into the illumination so that it can be communicated to the receiving device without requiring the receiving device to perform a look-up. Other applications that can benefit from luminaire recognition include counting number of luminaires from captured video or camera images. The amount of luminaires can be used for energy baseline estimation, retrofit project cost estimation, etc. Thus, the use of a camera to detect coded light has various commercial applications in the home, office or elsewhere, such as a personalized lighting control, indoor navigation, location based services, etc.
[0012] When multiple luminaires simultaneously fill the field of view of the camera, such that multiple luminaires emitting different signals are captured in the same frame, then image-based segmentation can be used to separate the different luminaires prior to decoding of the information embedded in the coded light. Image-based segmentation may be used on captured video or camera images, either stored or in real-time (live feed). The image-based segmentation essentially provides a form of channel separation among multiple signals that might be difficult or impossible to decode otherwise.
[0013] SUMMARY OF THE INVENTION
[0014] A summary of aspects of certain examples disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit 2024PF80032
[0015] 4 the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects and / or a combination of aspects that may not be set forth.
[0016] Existing image-based segmentation techniques for separating multiple luminaires in a field of view of a camera into segments can be slow and inaccurate, especially when a user is moving while using the camera and / or when a rolling shutter of the camera adversely affects the image quality. The present disclosure provides a novel luminaire segmentation method and system that is fast and more accurate, also when a user is moving while using the camera and / or when a rolling shutter affects the image quality.
[0017] According to an aspect of the present disclosure, a method of determining a segment boundary in a segmented luminaire is presented . The segmented luminaire may include at least two segments with the segment boundary being located between the at least two segments. The method may include a step of obtaining a first predefined number of images of the segmented luminaire. The method may further include a step of determining, for each of the plurality of images, whether or not a dip in pixel values is present at a substantially same location on each image of the segmented luminaire. The method may further include a step of determining that the dip represents the segment boundary if the dip is present in a second predefined number of images of the first predefined number of images.
[0018] In an embodiment, the second predefined number of images may represent a majority of the first predefined number of images.
[0019] In an embodiment, the segmented luminaire may be configured to emit coded light comprising a code. The method may further include obtaining the code only when the dip has been determined to represent the segment boundary.
[0020] In an embodiment, the dip in pixel values may be determined for a plurality of pixels around the substantially same location.
[0021] In an embodiment, the plurality of images may be obtained using a camera obtaining still images.
[0022] In an embodiment, the plurality of images may be obtained using a camera obtaining a video, wherein the images are frames of the video. The video may be a prerecorded video or a live feed.
[0023] In an embodiment, the plurality of images may be successive images captured by the camera. Optionally, one or more images may be skipped from the successive images, with the remaining captured images being used in the determination of presence of dips.
[0024] In an embodiment, the substantially same location on each image may be calibrated based on a movement of the camera. 2024PF80032
[0025] 5
[0026] In an embodiment, the method may further include applying a dilation to each of the plurality of images to obtain a dilated image before determining whether or not the dip in pixel values is present.
[0027] In an embodiment, the method may include determining an individual segment based on two adjacent segment boundaries.
[0028] In an embodiment, the segmented luminaire may be a segmented trunk luminaire.
[0029] According to an aspect of the present disclosure, a system for determining a segment boundary in a segmented luminaire is presented. The segmented luminaire may include at least two segments with the segment boundary being located between the at least two segments. The system may include a camera arranged to obtain a plurality of images of the segmented luminaire. The system may further include a process. The processor may be arranged to determine for each of the plurality of images whether or not a dip in pixel values is present at a substantially same location on each image of the segmented luminaire. The processor may further be arranged to determine that the dip represents the segment boundary if the dip is present in a second predefined number of images of the first predefined number of images.
[0030] In an embodiment, the processor may be further arranged to perform the method having one or more of the above described features.
[0031] In an embodiment, the system may include a smartphone, a tablet or any other handheld device comprising the camera and the processor.
[0032] According to an aspect of the present disclosure, a computer program product is presented. The computer program product may include instructions which, when executed by a processor, are configured to perform the method having one or more of the abovedescribed features.
[0033] According to an aspect of the present disclosure, a computer readable storage medium is presented. The computer readable storage medium may include a computer program product having one or more of the above described features.
[0034] BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying schematic drawings in which corresponding reference symbol indicate corresponding parts, in which: 2024PF80032
[0036] 6
[0037] Fig. 1 A shows an example method of obtaining a code from camera images taken from a luminaire;
[0038] Fig. IB shows an example of coding a code using DC levels of a luminaire;
[0039] Fig. 2 shows an example image of a segmented trunk luminaire;
[0040] Fig. 3 shows an example image of a segment of a trunk luminaire after applying pixel dilation;
[0041] Fig. 4 shows an example of an image of a slender blob;
[0042] Fig. 5 shows steps in an example of 2D image processing for use in the method of Fig. 1;
[0043] Fig. 6 shows an example graph for detecting dips in light intensity from an image of a segmented trunk luminaire;
[0044] Fig. 7 shows an example graph for evaluating a dip in light intensity from an image of a segmented trunk luminaire;
[0045] Fig. 8 and Fig. 9 are visualizations of example determinations of whether or not detected dips represent boundaries between segments of a segmented trunk luminaire; and
[0046] Fig. 10 shows an example of a computing system for implementing certain aspects of the present technology.
[0047] The figures are intended for illustrative purposes only, and do not serve as restriction of the scope of the protection as laid down by the claims.
[0048] DETAILED DESCRIPTION OF THE EMBODIMENTS
[0049] It will be readily understood that the components of the embodiments as generally described herein and illustrated in the appended figures could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of various embodiments, as represented in the figures, is not intended to limit the scope of the present disclosure but is merely representative of various embodiments. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
[0050] The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the present disclosure is, therefore, indicated by the appended claims rather than by this detailed description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. 2024PF80032
[0051] 7
[0052] Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present disclosure should be or are in any single example of the present disclosure. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present disclosure. Thus, discussions of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same example.
[0053] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, in light of the description herein, that the present disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure. Reference throughout this specification to "one embodiment," "an embodiment," or similar language means that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present disclosure. Thus, the phrases "in one embodiment," "in an embodiment," and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
[0054] A coded light system may include a plurality of luminaires, wherein multiple, possibly all, light sources embed a, typically unique, code, e.g., and ID, in the light source. Each light source may emit its unique code in coded light, which may be captured by a camera for reconstructing the code from the captured images or video. In the decoding process, it is important to segment each individual luminaire, as the individual luminaires may transmit different codes. In case more than one luminaire is incorrectly identified as being a single luminaire, the code extraction may fail due to mixing of codes or partial codes from multiple luminaires.
[0055] An example coded light system may include a segmented luminaire. Segmented luminaires are lighting fixtures designed with multiple independently controllable segments or sections. The segments may be individually controlled to adjust the intensity, color, or other parameters of the emitted light. Moreover, the different segments may produce different codes in coded light. 2024PF80032
[0056] 8
[0057] A specific example of a segmented luminaire is a segmented trunk luminaire. Segmented trunk luminaires are lighting fixtures designed with multiple independently controllable segments or sections along their length, which can be individually controlled to adjust the intensity, color, or other parameters of the emitted light. The different segments of the segmented trunk luminaire may produce different codes in coded light.
[0058] A segment of a segmented coded light system, such as a segment of a segmented luminaire or a segment of a segmented trunk luminaire, may include one or more LED boards. When including multiple LED boards, the individual LED boards of one segmented are typically switched together, e.g., using a single driver circuit. With coded light, the plurality of LED boards of a single segment typically operate as a single light source and output the same coded light at the same time.
[0059] With coded light, the light output of a luminaire may be captured by a camera and the captured images or video may subsequently be analyzed to obtain the code from the coded light. An example code extraction process 100 of obtaining a code from coded light is shown in Fig. 1 A. In step 102 a camera captures one or more images or a video from a luminaire that is ON and outputs coded light. The code is typically not visual to the human eye and may be coded by slight fluctuations in the light output intensity. This slight fluctuation in light intensity may be detected in the captured images or video by detecting changes in pixel values. Hereto, in step 104 a 2D signal processing may be performed followed by a ID signal processing in step 108 to obtain a code output 110. The code output 110 may be any number of bits, e.g., a 16-bit code.
[0060] Fig. IB shows an example of a 5-bit code being modulated as coded light when a light source is ON. In the example of Fig. IB, the binary code is modulated by increasing the DC level of the light output when modulating a binary “1” and decreasing the DC level of the light output when modulating a binary “0”. Each bit may be modulated for a predefined amount of time “T”. The modulation scheme may include a silent period between bits where the DC level is at a normal level, i.e., where the DC level is not increased or decreased.
[0061] An example of an image of a segmented trunk luminaire 200 is shown in Fig. 2. In Fig. 2, the segmented trunk luminaire 200 is presented as an image of the segmented trunk luminaire 200, which image may be captured using a picture camera or a video camera. In the following, a segmented trunk luminaire and an image of the segmented trunk luminaire are referred to using the same reference number. The segmented trunk luminaire may include multiple segments 202, in this example three segments 202. In the example of Fig. 2, the 2024PF80032
[0062] 9 segmented trunk luminaire 200 further includes a segment 206 that includes two individual LED boards 204 operating as a single segment 206. Each segment 202, 206 may include one or more light sources 208, e.g., LEDs, that together produce the light for the segment 202, 206. In the example of Fig. 2, a segment 202 includes a matrix of 11x3 LEDs 208, i.e., 33 LEDs 208 in total. The segment 206 includes two LED boards 204 each including a matrix of 11x3 LEDs 208, i.e., 66 LEDs 208 in total. It will be understood that a segment 202, 206 or LED board 204 may include any number of LEDs 208.
[0063] When producing coded light, a single segment 202, 206 typically outputs a single code 110, e.g., representing an ID. Different segments 202, 206 may output different codes 110. In the example of Fig. 2, the 33 LEDs 208 of one segment 202 or the LEDs 208 of the segment 206 typically produce a single, possibly unique, code. The coded light may be produced by alternating the light output of all LEDs 208 of a segment 202, 206 together at the same time. It is possible that not all LEDs 208 of a segment 202, 206 are involved in producing coded light. E.g., a subset of the 11x3 LEDs 208 of a segment 202 or a subset of the 2x11x3 LEDs 208 of the segment 206 may be used for producing coded light while all of the LEDs 208 of a segment 202, 206 may be used for producing light. It is possible that one or more of the LEDs 208 of a segment 202, 206 is defect, while the segment 202, 206 remains in operation and continues to output coded light.
[0064] In the example of Fig. 2, all light sources 208 of the segments 202, 206 are ON, i.e., output light. In between the segments 202, 206, a dip 210 in light intensity may be present indicative of a boundary between two segments 202, 206. A dip 210 may be created structurally, e.g., as a spacing between two segments 202, 206 or a cover blocking or partially blocking light from light sources 208 at the location of the dip 210. Structural dips may result in fixed length segments 202, although different segments 202 may have different fixed lengths.
[0065] In between LED boards 204, a dip 212 in light intensity may be present as well, e.g., due to a spacing between two LED boards 204. This dip 212 between LED boards 204 should not be confused with a dip 210 between segments 202, 206, as this may lead to an incorrect determination of an LED board 204 being a segment 202.
[0066] For a correct detection of codes 110 from coded light produced by segmented luminaires, such as segmented trunk luminaires 200, individual segments 202, 206 of a segmented luminaire are to be distinguishable. The present disclosure aims to improve the detection of the individual segments 202, 206. 2024PF80032
[0067] 10
[0068] As explained with Fig. IB, with coded light the light intensity of a light source 208, typically that of multiple or all light sources 208 of a segment 202, 206, may vary in time to represent a “0” or a “1” of a code 110. Typically, when a “0” is being encoded, the DC level may be lowered resulting in a lower light intensity. When two adjacent segments 202, 206 are producing a “0” at the same time, the difference in light intensity between a boundary 210 (i.e., having zero light intensity) and the light intensity of the adjacent segments (having a lower light intensity as a result of outputting a binary “0”) may lower, which may make it more difficult to detect the boundary 210 between the two segments 202, 206.
[0069] Moreover, due to the rolling shutter of the camera, in combination with the modulation of the light, dips 210 and boundaries 212 may be made larger or smaller, possibly resulting in incorrect segmentation and hence incorrect or no coded light decoding.
[0070] The present disclosure enables detection of boundaries 210 between segments 202, 206 of a segmented luminaire more accurately, also when two adjacent segments 202, 206 output a “0” at the same time and / or when a rolling shutter of the camera adversely affects the dips 210 and boundaries 212 in the image. Furthermore, the present disclosure enables detection of segments 206 including multiple LED boards 204 having boundaries 212 in between the LED boards 204 more accurately, i.e., distinguishing the boundaries 212 from dips 210.
[0071] Note that in the above examples, the DC levels of the binary “1” and the binary “0” may be inversed, i.e., with a binary ”1” having a lower DC level and a binary “0” having a higher DC level. Moreover, other modulation schemes are possible, e.g., where a binary “0” has an increased DC level and a binary “1” has a further increased DC level, where a binary “0” has a decreased DC level and a binary “1” has a further decreased DC level, and etcetera.
[0072] Image-based segmentation techniques may be used to locate the different segments in a lighting system, e.g., the different segments 202, 206 in the segmented trunk luminaire 200. In the example of Fig. 1 A, the image-based segmentation techniques may be implemented in the 2D signal processing 104 and / or the ID signal processing 106. The image based segmentation-techniques may include dip detection and / or blob detection.
[0073] Dip detection involves identifying regions of reduced intensity or "dips" in the luminance pattern emitted by the segmented luminaires. For example, the dips 210 may be detected in the segmented trunk luminaire 200 by detecting areas of decreased light intensity. 2024PF80032
[0074] 11
[0075] Blob detection involves identifying coherent regions or "blobs" of light within a luminance pattern. These blobs may represent specific features, objects, or areas of interest illuminated by the lighting system, such as a segment 202, 206 of the segmented trunk luminaire 200. Blob detection algorithms may analyze the luminance distribution to identify regions with characteristics such as high intensity, distinct boundaries, or specific spatial arrangements.
[0076] In the 2D image processing step 104, image(s) or video of a segmented luminaire, such as the image of the segmented trunk luminaire 200, may be processed to remove small gaps in between individual LEDs 208 from the image 200 to avoid these small gaps being detected as boundaries 210 and improve blob detection. Hereto, a dilation process may be applied to the image, wherein pixels depicting LEDs 208 that are ON are dilated. Fig. 3 shows an example of a dilated image 300 of a segment 302, wherein the individual LEDs 208 are not identifiable anymore. An example of the image of the segmented trunk luminaire 200 after dilation is shown in Fig. 4 as dilated image of segmented trunk luminaire 400.
[0077] Going back to Fig. 1 A, the 2D signal processing of step 104 may include various sub steps. An example hereof has been presented with Fig. 3, wherein pixels may be dilated to improve blob detection. Another more detailed and non-limiting example of a 2D signal processing 104 is shown in Fig. 5 as 2D signal processing 500. Step 502 represents a buffer construction of a number of image or video frames captured by a camera in step 102. These buffered images may be sequentially processed in steps 504-516 before continuing a ID signal processing in step 106.
[0078] Step 504 represents obtaining one image frame (also referred to as “image”) from the buffer. In Fig. 5, the one image is shown in step 504 having a black background (i.e., black pixels indicative of no background light) and highlighted pixels (i.e., pixels having a positive pixel value, in this example indicative of a segmented trunk luminaire 200). The image in step 504 is shown to have a width “W” and a height “”H”.
[0079] In step 506, the image is optionally scaled down by a predefined factor, e.g., a factor of two. The resulting scaled image is shown in step 506 having a scaled down width “ W’ ” and a scaled down height “ H’ “.
[0080] In step 508, maximum pixel values 401 may be determined, which may be dilated in step 510 to obtain a dilated image. In Fig. 5, in step 510, a dilated segmented trunk luminaire 400 is shown, similar to the example of Fig. 4. 2024PF80032
[0081] 12
[0082] In step 512, blob parameters may be calculated to enable individual blobs to be split in step 514. Thus, individual segments 202 of the segmented trunk luminaire 200 may be identified in the image.
[0083] In step 516, the image may be scaled up to its original dimensions again for easier ID signal processing in step 106 of the code extraction process 100.
[0084] The 2D signal processing 500 of Fig. 5 may include further image processing steps not shown in Fig. 5. In another example, the 2D signal processing 500 may lack one or more of the steps shown in Fig. 5. Typically, the 2D signal processing 500 at least includes step 504 wherein an image of a segmented luminaire, such as segmented trunk luminaire 200, is obtained from an image buffer and step 516 wherein individual segments, such as segments 202, 206 of the segmented luminaire 200, are identified for further processing by a ID signal processing step 106.
[0085] The image of the segmented trunk luminaire, such as the image of the segmented trunk luminaire 200 or the dilated image of the segmented trunk luminaire 400, may be used to determine whether the segmented luminaire is a slender luminaire, indicative of the segmented luminaire being a segmented trunk luminaire. With reference to the example of Fig. 4, hereto the length 402 of the segmented luminaire may be compared to the width 404 of the segmented luminaire. If the aspect ratio of the length 402 and the width 404 is above a predefined threshold, e.g., (length 402) / (width 404)>4, then it may be determined that the luminaire is or comprises a segmented trunk luminaire. This determination may be used to activate the improved segmentation detection of the present disclosure. Such slender luminaire detection is, for example, performed with step 512 of the 2D signal processing 500 where the blob parameter calculation may be performed.
[0086] Splitting of the image of a segmented luminaire, such as segmented trunk luminaire 200, 400, into segments 202, 206, may include an analysis of pixel values along the length of the segmented luminaire. Such splitting, which may be part of step 514 of the 2D signal processing 500, may be performed after a slender luminaire detection to determine that the segments can be found along the length of the segmented luminaire.
[0087] Fig. 6 shows an example of a signal 600 obtained in a splitting process as may be used in the detection of segments 202, 206 in a segmented luminaire 200 based on an image of video frame of the segmented luminaire 200. Fig. 6 is a graph of the signal 600, with along the x-axis 602 values indicative of a location along the length of the luminaire and along the y-axis 604 values indicative of a pixel value. A high pixel value typically indicates a location in the luminaire that is producing light. 2024PF80032
[0088] 13
[0089] A slender blob in the image or video frame may be split into individual luminaire blobs indicative of the segments 202, 206. In the image or video frame, along the length of the luminaire 200 the pixels values in the blob are projected to the primary axis of the graph 600. The graph 600 shows a rise 610 in pixel values, which may indicate a start location of the luminaire. Dips 612, 614 in pixel values may indicate the locations of dips 210 between segments 202, 206 but may be caused by boundaries 212 between LED boards 204. In the latter case, it is desirable to further verify whether or not the dips 612, 614 in pixel values are dips 210 between segments 202, 206. The fall 616 in pixel values may indicate an end location of the luminaire.
[0090] The signal 600 may be analyzed in any way known perse. For example, as shown in Fig. 7, a dip 612, 614 in the pixel values may be determined to correspond to a dip 210 based on characteristics of the signal 600 as detailed in the example of Fig. 7. In Fig. 7 a graph 700 similar to graph 600 is shown, zoomed in on the x-axis scale. One dip 710 in pixel values is shown having a dip quality 712 and a dip value 714. The dip quality 712 is a measure of the width of the dip 710, from the start of the dip to the end of the dip. The dip value 714 is a measure of the depth of the dip 710. The dip 710 in pixel values may be determined to correspond to a dip 210 between segments depending on the characteristics of the dip quality 712 and the dip value 714. An example criterium may be that the dip value (measured along the y-axis 704) is larger than 0.6 x the maximum dip value detected in de blob. Another example criterium may be that the dip quality 712 is at least 30 (measured along the x-axis 702). Another example criterium may be that the distance between two dips 612, 614, 710 exceeds a predefined minimum value, e.g., at least 210 (measured along the x- axis 602, 702).
[0091] In Figs. 6 and 7 the x-axis is indicative of a position along the length of the segmented luminaire 200. In an example, the x-axis indicates a number of pixels from the image or video frame. The y-axis is indicative of a strength in light as obtained from analyzing the pixel values in the image or video frame.
[0092] When detecting dips 612, 614, 710 in pixel values from an image or video frame, false determination of dips 210 between segments 202, 206 of a segmented luminaire 200 are possible, e.g., due to boundaries 212 between LED boards 204 being detected or, e.g., as a result of the coded light resulting in the dip value 714 being smaller at the time a binary ‘0’ is being encoded in the light.
[0093] To improve the determination of dips 210 between segments, the detection of dips 612, 614, 710 may be performed multiple times in different images or video frames. 2024PF80032
[0094] 14
[0095] These multiple images or video frames are preferably successive images or video frames but may be images or video frames having some time in between. The amount of time in between images or video frames may vary and is typically small, e.g., within 1 or 5 seconds or even within milliseconds, as multiple images are typically captures with a camera in one go or video frames are typically used from one video shot with a camera.
[0096] In an embodiment of the present disclosure, only when a dip 612, 614, 710 is detected in multiple different images or video frames, it may be determined that the dip 612, 614, 710 corresponds to a dip 210 between segments 202, 206. The number of different images or video frames to use can vary from 2 to 100, or even more. Preferably, at least 3 images or video frames are used.
[0097] Fig. 8 shows a visualization of a non-limiting example of a detection 800 of dips 612, 614, 710 in three successive images or video frames 800a, 800b, 800c. The images 800a, 800b, 800c show a segmented luminaire, such as segmented luminaire 200, with the length of the segmented luminaire being shown vertically in Fig. 8. In this example, in the first image 800a, two dips 802a, 803a are detected, e.g., using the method described with Figs. 6 and 7. In the second image 800b, two dips 802b, 803b are detected that correspond to the dips 802a, 803b, respectively (i.e., a similar dip was detected at substantially the same location in the first image 800a). In the third image 800c, three dips 801c, 802c, 803c are detected. Two of these dips 802c, 803 c are detected that correspond to the dips 802a, 803 a and 802b, 803b, respectively. A further dip 801c is detected in the third image 800c, which has no corresponding dip in image 800a or image 800b, which is illustrated by the “X” in the arrow pointing to the previous images.
[0098] According to an aspect of the present disclosure, it may be concluded that a dip 612, 614, 710 is present if in a majority of the captured images or video frames 800a, 800b, 800c a dip is detected at substantially the same location. Alternatively, it may be concluded that a dip 612, 614, 710 is present if in all of the captured images or video frames 800a, 800b, 800c a dip is detected at substantially the same location. The number of images or video frames used for this detection of the dips may be preset or may be configurable. Preferably, the number of images or video frames is at least three. In the example of Fig. 8, the number of images is three. The number of images or video frames may be larger, e.g., in the order of tens, hundreds, thousands or even more. The number of images or video frames may be based on a length in time wherein the images or video frames are captured, e.g., a number of video frames captured within 3 seconds or any other time frame. Typically, the 2024PF80032
[0099] 15 images or video frames used in the determination of dips are successive images or video frames captured by a camera, but it may be allowed to skip images or video frames.
[0100] In the example of Fig. 8, a criterium has been set that defines a dip 210 between segments 202, 206 to be determined when in three images, e.g., successive images, a dip 612, 614, 710 has been detected at substantially the same location. In the detection example 800, from the images 800a, 800b, 800c a dip has been detected at the same locations 802a, 802b, 802c and 803a, 803b, 803c. It may therefore be concluded that dips 210 delimit a segment 202 of the segmented luminaire at these locations. In Fig. 8, a segment 202 is determined to be present between dips 802c, 803c corresponding to dips 210.
[0101] The example of Fig. 8 may be adapted to include another amount of images in the criterium for determining whether or not detected dips in the images correspond to dips in the segmented luminaire.
[0102] Fig. 9 shows a visualization of another non-limiting example of a detection 900 of dips 612, 614, 710 in four successive images or video frames 900a, 900b, 900c, 900d, wherein the determination is based on a majority voting.
[0103] In a majority voting, a dip may be determined to be present if in a majority of the images a dip is detected at substantially the same location. With four images, such as in the example of Fig. 9, a dip may be determined to be present when in three of the four images (i.e., a majority of the images) a dip is detected at substantially the same location. Any other number of images may be used for the majority voting, as explained above.
[0104] Similar to Fig. 8, the images 900a, 900b, 900c, 900d represent a segmented luminaire, such as segmented luminaire 200, with the length of the segmented luminaire being shown vertically. In this example, in the first image 900a, two dips 902a, 903a are detected, e.g., using the method described with Figs. 6 and 7. In the second image 900b, one dip 901b is detected that was not detected in the first image 900a and one dip 902b is detected that corresponds to dip 902a in the first image 900a. In the third image 900c, one dip 902c is detected corresponding to the dips 902a and 902b in images 900a and 900b, respectively. Furthermore, one dip 903c is detected corresponding to dip 903a in the first image 900a but not detected in the image 900b. In the fourth image 900d, one dip 902d is detected corresponding to the dips 902a, 902b and 902c in images 900a, 900b and 900c, respectively. Furthermore, one dip 903d is detected corresponding to dips 903a and 903c in images 900a and 900c, respectively, but not detected in the image 900b.
[0105] Note that in Fig. 9, the detected dips 902a, 902b, 902c, 902d and 903a, 903c, 903d are not aligned along the length of the segmented luminaire. This may be caused by the 2024PF80032
[0106] 16 images 900a-900d being taken from different positions or locations in a room. The detection 900 may include an analysis of the images 900a-900d to compensate for any movement of the camera taking the images 900a-900d, e.g., taking into account data from an accelerometer or location information obtained from the camera device, or using any other known method for determining movement or correlation between images.
[0107] In the example of Fig. 9, a criterium has been set that defines a dip 210 between segments 202, 206 to be present when in a majority of the images 900a-900d a dip 612, 614, 710 has been detected at substantially the same location. In the example of Fig. 9, from the images 900a, 900b, 900c and 900d a dip 902a, 902b, 902c and 902d has been detected at substantially the same location within the luminaire, i.e., in a majority of the images (in four of the four images). Furthermore, from the images 900a, 900c and 900d a dip 903a, 903c and 903d has been detected at substantially the same location within the luminaire, i.e., also in a majority of the images (in three of the four images). It may therefore be concluded that dips 210 delimit a segment 202 of the segmented luminaire at these locations. In Fig. 9, the segment 202 is determined and shown between dips 902d and 903d corresponding to dips 210.
[0108] Advantageously, the stability of detected dips in the current image or video frame may thus be improved by comparing dip detection in the current image or video frame against dip detection in one or more previous images or video frames. Herein, the image or video frame is typically obtained by a camera. Examples of images or video frames are still images, frames from a recorded video and / or frames from a live camera feed.
[0109] When a segment 202, 206 of a segmented luminaire 200 has been determined by its dips 210, the code 110 may be extracted from one or more images of the segment 202, 206 in any manner known perse. The amount of symbols may be reconstructed from a single image may depend on the amount of image lines it covers. Normally multiple frames are required to reconstruct, e.g., a 16bit code, by stitching sub-pieces covered by the images.
[0110] FIG. 10 shows an example embodiment of a computing system 1000 for implementing certain aspects of the present technology. In various examples, the computing system 1000 may be any computing device implementing the process or parts of the process 100, 500, 800 and / or 900, or any other computing system described herein.
[0111] In some implementations, a computing system 1000 may implement the methods described herein, such as method described in conjunction with Figs. 1 A, 5, 6, 7, 8 and / or 9 of the present disclosure. 2024PF80032
[0112] 17
[0113] The computing system 1000 may include any component of a computing system described herein, which components may be in communication with each other using connection 1005. The connection 1005 may be a physical connection via a bus, or a direct connection into processor 1010, such as in a chipset architecture. The connection 1005 may also be a virtual connection, networked connection, or logical connection.
[0114] In some implementations, the computing system 1000 may be a distributed system in which the functions described in this disclosure may be distributed within a datacenter, multiple datacenters, a peer network, etc. In some embodiments, one or more of the described system components represents many such components each performing some or all of the functions for which the component is described. In some embodiments, the components may be physical or virtual devices. In some embodiments, the computer system 1000 may be a smartphone, tablet or any other portable device.
[0115] The example system 1000 includes at least one processing unit (CPU or processor) 1010 and a connection 1005 that couples various system components including system memory 1015, such as read-only memory (ROM) 1020 and random-access memory (RAM) 1025 to processor 1010. The computing system 1000 may include a cache of highspeed memory 1012 connected directly with, in close proximity to, or integrated as part of the processor 1010.
[0116] The processor 1010 may include any general -purpose processor and a hardware service or software service, such as services 1032, 1034, and 1036 stored in storage device 1030, configured to control the processor 1010 as well as a special -purpose processor where software instructions are incorporated into the actual processor design. The processor 1010 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.
[0117] To enable user interaction or other inputs, the computing system 1000 may include an input device 1045, which may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, a motion input, a camera for capturing images, a camera for capturing videos, and etcetera. The computing system 1000 may also include an output device 1035, which may be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems may enable a user to provide multiple types of input / output to communicate with the computing system 1000. The computing system 1000 may include a communications interface 1040, which may generally govern and manage the user input and 2024PF80032
[0118] 18 system output. There is no restriction on operating on any particular hardware arrangement, and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
[0119] A storage device 1030 may be a non-volatile memory device and may be a hard disk or other types of computer readable media which may store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs), read-only memory (ROM), and / or some combination of these devices.
[0120] The storage device 1030 may include software services, servers, services, etc., that, when the code that defines such software is executed by the processor 1010, causes the system to perform a function. In some embodiments, a hardware service that performs a particular function may include a software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 1010, connection 1005, output device 1035, etc., to carry out the function.
[0121] Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope thereof.
Claims
2024PF8003219CLAIMS1. A method (100, 500) of determining a segment boundary (210) in a segmented luminaire (200, 400, 800a, 800b, 800c, 900a, 900b, 900c, 900d) that comprises at least two segments (202) with the segment boundary (210) located between the at least two segments (202), the method comprising: obtaining a first predefined number of images (502) of the segmented luminaire (200, 400, 800a, 800b, 800c, 900a, 900b, 900c, 900d); determining (514, 800, 900) for each of the plurality of images whether or not a dip (802a, 803a, 802b, 803b, 801c, 802c, 803c, 902a, 903a, 901b, 902b, 902c, 903c, 902d, 903d) in pixel values is present at a substantially same location on each image of the segmented luminaire (200, 400, 800a, 800b, 800c, 900a, 900b, 900c, 900d); and determining (514, 800, 900) that the dip (802c, 803c, 902d, 903d) represents the segment boundary (210) if the dip is present in a second predefined number of images of the first predefined number of images.
2. The method according to claim 1, wherein the second predefined number of images represents a majority of the first predefined number of images.
3. The method according to any one of the preceding claims, wherein the segmented luminaire is configured to emit coded light comprising a code (110), the method further comprising: obtaining (108) the code only when the dip has been determined to represent the segment boundary (210).
4. The method according to any one of the preceding claims, wherein the dip in pixel values is determined for a plurality of pixels around the substantially same location.
5. The method according to any one of the preceding claims, wherein the plurality of images are obtained using one of: a camera obtaining still images;2024PF8003220 a camera obtaining a video, wherein the images are frames of the video.
6. The method according to claim 5, wherein the plurality of images are successive images captured by the camera.
7. The method according to claim 5 or claim 6, wherein the substantially same location on each image is calibrated based on a movement of the camera.
8. The method according to any one of the preceding claims, further comprising: applying a dilation (300, 510) to each of the plurality of images to obtain a dilated image before determining whether or not the dip in pixel values is present.
9. The method according to any one of the preceding claims, the method comprising: determining an individual segment (202) based on two adjacent segment boundaries (210).
10. The method according to any one of the preceding claims, wherein the segmented luminaire is a segmented trunk luminaire.
11. A system (1000) for determining a segment boundary (210) in a segmented luminaire (200, 400, 800a, 800b, 800c, 900a, 900b, 900c, 900d) that comprises at least two segments (202) with the segment boundary (210) located between the at least two segments (202), the system comprising: a camera (1045) arranged to obtain a plurality of images (502) of the segmented luminaire (200, 400, 800a, 800b, 800c, 900a, 900b, 900c, 900d); and a processor (1010) arranged to: determine (514, 800, 900) for each of the plurality of images whether or not a dip (802a, 803a, 802b, 803b, 801c, 802c, 803c) in pixel values is present at a substantially same location on each image of the segmented luminaire (200, 400, 800a, 800b, 800c, 900a, 900b, 900c, 900d), and determine (514, 800, 900) that the dip (802c, 803c, 902d, 903d) represents the segment boundary (210) if the dip is present in a second predefined number of images of the first predefined number of images.2024PF800322112. The system according to claim 11, wherein the processor is further arranged to perform the method according to any one of the claims 2-10.
13. The system according to claim 11 or claim 12, wherein the system comprises a smartphone, a tablet or any handheld device comprising the camera and the processor.
14. A computer program product comprising instructions which, when executed by a processor (1010), are configured to perform the method according to any one of the claims 1-10.
15. A computer readable storage medium comprising a computer program product according to claim 14.
Citation Information
Patent Citations
Frequency-modulation encoding / decoding and code-spreading method of visible light communication
CN108736973A
Coherent decoding of visible light communication (VLC) signals
US20160323035A1
Detecting coded light
US20200186245A1