Apparatus and method for coded light transmission and reception
阅读说明:本技术 用于编码光的发射和接收的设备和方法 (Apparatus and method for coded light transmission and reception ) 是由 D·V·R·恩格伦 B·M·范德斯勒伊斯 D·V·阿利亚克赛尤 M·T·厄伦 于 2019-02-11 设计创作,主要内容包括:一种方法包括:接收多个帧,每一帧随着时间的推移在每一帧的不同区域中捕获编码光消息的各部分,该消息包括数据符号的序列;解码该消息的各部分;将这些解码部分放置在各自的消息缓冲区中,每一个消息缓冲区与每一帧内的各自区域之一相关联;基于在消息缓冲区中放置的数据符号,确定在一对或多对所述解码部分之中的每一对所述解码部分之间的数据符号中的一个或多个相移;以及重建该消息,所述重建包括:基于所确定的相移在消息缓冲区中对齐这些解码部分,并将所对齐的消息部分合并到单个缓冲区中。(One method comprises the following steps: receiving a plurality of frames, each frame capturing portions of an encoded light message in different regions of each frame over time, the message comprising a sequence of data symbols; decoding portions of the message; placing the decoded portions in respective message buffers, each message buffer being associated with one of respective areas within each frame; determining one or more phase shifts in the data symbols between each of the decoded portions of one or more pairs of the decoded portions based on the data symbols placed in the message buffer; and reconstructing the message, the reconstructing comprising: the decoded portions are aligned in a message buffer based on the determined phase shifts and the aligned message portions are merged into a single buffer.)
1. A receiving device (104) for receiving a coded light message from a plurality of spatially separated transmitters transmitting one and the same message, wherein different transmitters are configured to transmit phase shifted versions of the coded light message with respect to each other, the receiving device comprising:
an interface configured to receive one or more frames from a camera, each frame capturing, over time, a plurality of respective portions of an encoded light message in a plurality of spatially separated respective regions in each frame, wherein each respective portion originates from a different respective transmitter and is captured in a different spatially separated respective region, and wherein the encoded light message comprises a sequence of data symbols;
a plurality of message buffers (116); and
a decoder (114) configured to:
-decoding the respective portion of the coded light message captured in each frame;
-placing each decoded portion in a respective message buffer (116), wherein each respective message buffer (116) is associated with one of a plurality of respective areas within each frame;
-determining one or more phase shifts in the data symbols between each of the one or more pairs of said two or more decoded portions based on the data symbols placed in the message buffer; and
-reconstructing the encoded light message, wherein the reconstruction comprises: the decoded portions are aligned in a message buffer (116) based on the determined one or more phase shifts, and the aligned message portions are merged into a single message buffer (206).
2. The receiving device (104) of claim 1, wherein the decoder (114) is configured to:
performing the decoding, placing, and determining for a first set of received frames;
wherein the determination of one or more phase shifts comprises: estimating one or more phase shifts based on any correlation between data symbols of two or more decoded portions decoded from the first set of received frames;
verifying the estimated one or more phase shifts by determining whether the data symbols in the corresponding locations in the respective message buffers (116) are identical; and
reconstructing the encoded light message based on the verified one or more phase shifts if the data symbols in the corresponding locations in the respective message buffers (116) are determined to be the same; or
If the data symbols in corresponding locations in the respective message buffers (116) are determined to be non-identical, the performing, estimating, and verifying are repeated for one or more subsequent sets of received frames until the estimated one or more phase shifts are verified.
3. The receiving apparatus (104) of claim 1 or claim 2, wherein the decoder (114) is configured to:
receiving one or more further frames of the encoded light signal included in a plurality of respective regions within each frame, each frame capturing a portion of a second encoded light message within the encoded light signal in a plurality of respective regions;
decoding respective portions of the second encoded light message captured in each frame; and
reconstructing the second encoded optical message by placing the decoded portions in a single message buffer (206), wherein the decoded portions are aligned in the single message buffer (206) based on the previously determined one or more phase shifts.
4. The receiving device (104) according to any of claims 1-3, wherein the receiving device (104) is configured to receive information comprising one or more phase shifts; and
wherein the decoder (114) is configured to: the encoded optical message is reconstructed by aligning decoded portions in a message buffer (116) based on one or more phase shifts in the received information.
5. The receiving apparatus (104) according to any one of claims 1-4, wherein the decoder (114) is configured to:
generating a request to modify at least one phase shift among the one or more phase shifts; and
wherein the receiving device (104) is configured to: the generated request is transmitted to one or more transmitters (102) responsible for transmitting the coded light signal in the received plurality of frames.
6. The receiving device (104) of claim 5, wherein the decoder (114) is configured to:
determining which transmitters of one or more transmitters (102) responsible for transmitting the coded light signal are present in a received frame;
wherein the request to modify at least one phase shift among the one or more phase shifts is based on which of the one or more transmitters are present in the received frame.
7. A method of reconstructing a coded light message from a plurality of spatially separated transmitters transmitting one and the same message, wherein different transmitters are configured to transmit phase shifted versions of the coded light message relative to each other, the method comprising:
receiving one or more frames, each frame capturing respective portions of an encoded optical message over time in a plurality of spatially separated respective regions in each frame, wherein each respective portion originates from a different respective transmitter and is captured in a different spatially separated respective region, wherein the encoded optical message comprises a sequence of data symbols;
decoding respective portions of the encoded light message captured in each frame;
placing each decoded portion in a respective message buffer (116), wherein each respective message buffer (116) is associated with one of a plurality of respective areas within each frame;
determining one or more phase shifts in the data symbols between each of one or more pairs of the two or more decoded portions from corresponding different transmitters based on the data symbols placed in the message buffer; and
reconstructing the encoded light message, wherein the reconstructing comprises: the decoded portions are aligned in a message buffer (116) based on the determined one or more phase shifts, and the aligned message portions are merged into a single message buffer (206).
8. A controller (110) for controlling a plurality of spatially separated transmitters (102), wherein each transmitter (102) is configured to emit a respective illumination for illuminating an environment, wherein each transmitter (102) is configured to emit a respective coded light signal, and wherein the controller (110) is configured to:
causing a first transmitter (102 a) to transmit a first coded light signal comprising a first coded light message;
causing a second transmitter (102 b) to transmit a second coded light signal comprising a second coded light message, wherein the first coded light message and the second coded light message comprise respective sequences of data symbols; and
applying a phase shift in the sequence of data symbols of the first encoded optical message as compared to the sequence of data symbols of the second encoded optical message,
wherein the phase shift is applied such that a sequence of data symbols of the first coded light message is different from a sequence of data symbols of the second coded light message when the first and second coded light messages are transmitted by the first and second transmitters (102 a, 102 b), respectively,
wherein the first coded light message is a cyclic arrangement of the second coded light messages.
9. The controller (110) of claim 8, wherein the controller (110) is configured to:
causing the first transmitter (102 a) and the second transmitter (102 b) to begin transmitting the first encoded light message and the second encoded light message at the same time.
10. The controller (110) according to claim 8 or claim 9, wherein the controller (110) is configured to:
a notification is caused to be transmitted to a receiver (104) of the first and second encoded optical messages including the applied phase shift.
11. The controller (110) according to any one of claims 8-10, wherein the controller (110) is configured to:
receiving a request from a receiver of the first and second encoded optical messages to modify the applied phase shift; and
based on the received request, the applied phase shift is modified.
12. The controller (110) of claim 11, wherein the received request indicates which of the first and second transmitters (102 a, 102 b) are being viewed by the receiver (104),
wherein the controller (110) is configured to: modifying the applied phase shift based on whether one or both of the first and second transmitters (102 a, 102 b) are being viewed by the receiver in accordance with the received indication.
13. A luminaire (102) comprising:
the controller (110) according to any one of claims 8-12; and
one of the transmitters.
14. A method of controlling a plurality of spatially separated transmitters (102), wherein each transmitter (102) is configured to emit a respective illumination for illuminating an environment, wherein each transmitter (102) is configured to emit a respective coded light signal, wherein the method comprises:
causing a first transmitter (102 a) to transmit a first coded light signal comprising a first coded light message;
causing a second transmitter (102 b) to transmit a second coded light signal comprising a second coded light message, wherein the first coded light message and the second coded light message comprise respective sequences of data symbols; and
applying a phase shift in the sequence of data symbols of the first encoded optical message as compared to the sequence of data symbols of the second encoded optical message,
wherein the phase shift is applied such that the order of the data symbols of the first coded light message is different from the order of the data symbols of the second coded light message when the first and second coded light messages are transmitted by the first and second transmitters (102 a, 102 b), respectively,
wherein the first coded light message is a cyclic arrangement of the second coded light messages.
15. A computer program comprising instructions such that, when the computer program is executed on a computing device, the computing device is arranged to carry out the method according to claim 7 or claim 14.
Technical Field
The present invention relates to the communication of coded light signals embedded in light emitted by a lighting device.
Background
Coded optical communication refers to a technology whereby information is conveyed in the form of signals embedded in visible light emitted by a light source. Coded light is sometimes also referred to as Visible Light Communication (VLC).
The signal is embedded by modulating properties of the visible light, typically by modulating intensity, according to any of a variety of suitable modulation techniques. In some of the simplest cases, signal transmission is achieved by modulating the intensity of visible light from each of a plurality of light sources with a monocycle carrier waveform or even a single tone (sinusoidal signal) at a constant predetermined modulation frequency. If the light emitted by each of a plurality of light sources is modulated with a different respective modulation frequency that is unique among those light sources, the modulation frequency can be used as an Identifier (ID) of the respective light source or its light.
An example of such a system can be found, for example, in US granted patent US9742493B2, where US9742493B2 discloses a method and system for issuing LCOM messages by means of luminaires and receiving and creating such messages using an optical receiver, which may take the form of a mobile receiver such as a digital camera of a mobile phone or tablet computer.
In a more complex scheme, a sequence of data symbols may be modulated into the light emitted by a given light source. The symbols are represented by any suitable property of the modulated light, such as amplitude, modulation frequency or phase of the modulation. For example, data may be modulated into the light by means of amplitude keying, e.g. using high and low levels to represent bits or using a more complex modulation scheme to represent different symbols. Another example is frequency keying whereby a given light source is operable to emit on two (or more) different modulation frequencies and transmit a data bit (or more generally a symbol) by switching between the different modulation frequencies. As another possibility, the phase of the carrier waveform may be modulated to encode data, i.e., phase shift keying.
In general, the property modulated can be a property of the carrier waveform modulated into the light, such as its amplitude, frequency, or phase; or alternatively, baseband modulation may be used. In the latter case, there is no carrier waveform, but rather the symbol is modulated into the light as a pattern (pattern) of variations in the brightness of the emitted light. This may for example comprise modulation intensity to represent different symbols, or modulation signature: the spatial ratio of Pulse Width Modulation (PWM) dimming waveforms, or the modulation pulse position (so-called pulse position modulation, PPM). Modulation may involve a coding scheme to map data bits (sometimes referred to as user bits) onto such data symbols. An example is a conventional Manchester code, which is a binary code whereby user bits of
Based on the modulation, the information in the coded light can be detected using any suitable light sensor. This can be either a dedicated photocell (point detector) or a camera comprising an array of photocells (pixels) and a lens (lens) for forming an image on the array. For example, the camera may be a general purpose camera of a mobile user device such as a smartphone or tablet computer. Camera-based detection of coded light is possible with either a global-shutter (global-shutter) camera or a rolling-shutter (rolling-shutter) camera. For example, rolling shutter readout is typical for mobile CMOS image sensors found in everyday mobile user devices such as smartphones and tablet computers. In a global shutter camera, the entire array of pixels (the entire frame) is captured at the same time, and thus the global shutter camera captures only one time sample of light from a given luminaire per frame. On the other hand, in a rolling shutter camera, a frame is divided into lines (lines) in the form of horizontal lines (row), and the frame is exposed line by line in a time sequence, each line in the sequence being exposed at a time later than the last line. Each row thus captures a sample of the signal at a different time instant. Thus, while rolling shutter cameras are generally a cheaper variety and are considered inferior for purposes such as photography, for purposes of detecting coded light, they have the advantage of capturing more time samples per frame and thus have a higher sampling rate for a given frame rate. Nevertheless, coded light detection can be achieved using either a global shutter or rolling shutter camera, as long as the sampling rate is sufficiently high (i.e., high enough to detect modulation of the coded information) compared to the modulation frequency or data rate.
Coded light is often used to embed signals in light emitted by illumination sources such as everyday light fixtures, e.g. room lighting or outdoor lighting, thus allowing illumination from the light fixtures to be used as a carrier of (double as) information. The light thus comprises a visible illumination contribution (typically the primary use of the light) for illuminating a target environment such as a room and an embedded signal (typically considered as a secondary function of the light) for providing information into the environment. In such cases, the modulation is typically performed at a frequency that is high enough to be beyond human perception or at least such that any visible temporal light artifacts (artifacts) (e.g., flicker and/or strobe artifacts) are weak enough to not be noticeable or at least tolerable to humans. Thus, the embedded signal does not affect the primary lighting function, i.e. so the user only perceives the overall lighting and not the effect of the data being modulated into that lighting. For example, Manchester coding is an example of a dc-free (dc free) code, where the power spectral intensity is zeroed at zero Hertz, with little spectral content at low frequencies, thus reducing visible flicker to a barely visible level. Ternary Manchester is DC-free 2, meaning that: not only is the power spectral density zeroed at zero Hertz, but the gradient of the power spectral density is also zeroed, thus eliminating even further the visible flicker.
Coded light can be used in a wide variety of possible applications. For example, different respective IDs can be embedded in 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, the unique ID may take the form of a unique modulation frequency or a unique sequence of symbols. This in turn can enable any one or more of a number of applications. For example, one application is to provide information from a luminaire to a remote control unit for control purposes, e.g. to provide an ID that distinguishes it from other such luminaires that the remote unit is capable of controlling, or to provide status information about the luminaire (e.g. reporting errors, warnings, temperature, operating time, etc.). For example, the remote control unit may take the form of a mobile user terminal such as a smartphone, tablet computer, smart watch or smart glasses equipped with a light sensor such as a built-in camera. The user can then point the sensor at a particular luminaire or subset of luminaires, such that the mobile device can detect the respective ID(s) from the emitted illumination captured with the sensor, and then use the detected ID(s) to identify the corresponding luminaire(s) in order to control it/them (e.g. via an RF back channel). This provides a user-friendly way for the user to identify which luminaire or luminaires he or she wishes to control. The detection and control may be implemented with a lighting control application or "app" (applet) running on the user terminal.
In another application, coded light may be used in debugging. In this case, the respective IDs embedded in the light from the different luminaires can be used in the commissioning phase to identify the individual illumination contribution from each luminaire.
In another example, by mapping the identifier to a known location of the luminaire or information associated with the location, a location-based function that can be used for navigation or otherwise is identified. In this case, a location database is provided that maps the coded light ID of each luminaire to its respective location (e.g. coordinates on a map or plan) and this database may be made available to the mobile device from a server via one or more networks such as a Wireless Local Area Network (WLAN) or a mobile cellular network, or may even be stored locally on the mobile device. Subsequently, if the mobile device captures an image or images containing light from one or more luminaires, it can detect its ID and use this to look up its location in a location database in order to estimate the location of the mobile device based thereon. This may be achieved, for example, by measuring properties of the received light such as received signal strength, time of flight, and/or angle of arrival and then applying techniques such as triangulation, trilateration, multilateration, or fingerprinting, or simply by assuming that the location of the nearest or only captured luminaire is about the location of the mobile device. In some cases, such information may be combined with information from other sources, such as on-board accelerometers, magnetometers, and the like, to provide more robust results.
The detected location may then be output to the user via the mobile device for navigation purposes, e.g., to display the user's location on a floor plan of a building. Alternatively or additionally, the determined location may be used as a condition for the user to access the location-based service. For example, a user's ability to control lighting (or another utility, such as heating) in a particular zone or region (e.g., a particular room) using his or her mobile device may be conditioned on the location of his or her mobile device being detected as being located within that same zone (e.g., the same room) or possibly within a particular control region associated with the lighting in question. Other forms of location-based services may include, for example, the ability to make or accept location-related payments.
As another example application, the database may map luminaire IDs to location specific information, such as information about special museum exhibits in the same room as the respective one or more luminaires or advertisements to be provided to mobile devices located on specific locations illuminated by the respective one or more luminaires. The mobile device can then detect the ID from the illumination and use this to look up location specific information in a database, e.g. to display this to the user of the mobile device. In a further example, the data content other than the ID can be encoded directly into the illumination so that it can be transmitted to the receiving device without requiring the receiving device to perform a lookup.
Thus, coded light has various commercial applications in homes, offices, or other places, such as personalized lighting control, indoor navigation, and location-based services.
As mentioned above, coded light can be detected using a daily "rolling shutter" type camera as is often integrated in everyday mobile user devices like mobile phones or tablet computers. In a rolling shutter camera, the image capture elements of the camera are divided into a plurality of horizontal lines (i.e., rows) that are sequentially exposed line by line. That is, to capture a given frame, the first line is exposed to light in the target environment, then the next line in the sequence is exposed at a later time, and so on. Each row thus captures a sample of the signal at a different time instant (typically, the pixels from each given row are compressed into a single sample value per row). Typically, the sequence scrolls in rows, e.g., from top to bottom, sequentially across the frame, hence the name "rolling shutter". When used to capture coded light, this means: different rows within the frame capture light at different times and therefore, if the row rate is high enough relative to the modulation frequency, light is captured on different phases of the modulation waveform. Thus, the rolling shutter readout causes the fast temporal light modulation to be converted into a spatial pattern in the row readout direction of the sensor, from which the encoded signal can be decoded.
Since the rolling shutter camera captures each frame sequentially line by line, this means: when a rolling shutter camera is used to capture a coded light signal comprising cyclically repeating messages, each line captures a respective sample of the message, and each frame captures a respective segment (fragment) of the message, each segment consisting of a respective subsequence of samples. For most combinations of frame rate and message repetition period, the frame rate and message duration have no particular relationship to each other. This is desirable because it means: each frame sees a different segment of the message and the signal can then be reconstructed from the different segments. For the skilled person, techniques for "stitching" together this so-called message fragment are known from international patent application publication number WO 2015/121155.
Disclosure of Invention
When the camera captures images of the light source emitting the coded light message, only a small portion of the coded light message is captured in each image frame. For example, in the case of a rolling shutter camera, the footprint of the light source within the frame may cover only a small proportion of the rows in the frame. Therefore, a larger number of frames are required to reconstruct the entire message. This increases the time it takes to reconstruct the message at the receiver. If multiple light sources are transmitting the same coded light message, only the same portion of the coded light message is captured in each frame. This may increase the chance of receiving an error-free message portion, but is of no help to increase the speed of data transfer.
According to a first aspect disclosed herein, there is provided a receiving apparatus for receiving a coded light message from a plurality of spatially separated transmitters transmitting one and the same message, wherein different transmitters are configured to transmit phase shifted versions of the coded light message relative to each other, the receiving apparatus comprising: an interface configured to receive one or more frames from the camera, each frame capturing a plurality of respective portions of the encoded light message in a plurality of spatially separated respective regions in each frame, wherein each respective portion originates from a different respective transmitter and is captured in a different spatially separated respective region, and wherein the encoded light message comprises a sequence of data symbols; a plurality of message buffers; and a decoder configured to: decoding respective portions of the encoded light message captured in each frame; placing each decoded portion in a respective message buffer, wherein each respective message buffer is associated with one of a plurality of respective regions within each frame; determining one or more phase shifts of the data symbols between each of the one or more pairs of the two or more decoded portions based on the data symbols in the message buffer; and reconstructing the encoded light message, wherein the reconstructing comprises: aligning the decoded portions in the message buffer based on the determined one or more phase shifts and merging the aligned message portions into a single message buffer.
The present invention therefore solves the problems of previous systems by using multiple transmitters to transmit one and the same message, but where different transmitters transmit phase shifted versions of the message content relative to each other. Receivers that see more than one transmitter are thus able to receive more message content from these transmitters in a shorter amount of time. Not only is it possible to receive a single message in a shorter amount of time, but the speed of data transfer through the lighting system as a whole is also increased.
In an example, the decoder is configured to search for correlations between data symbols of the decoded portions placed in different message buffers, wherein the searching comprises determining correlations between data symbols of two or more decoded portions.
In an example, the determination of one or more phase shifts is based on a correlation of data symbols in the determined message buffer.
The correlation can be between portions from the same frame and/or different frames.
In an example, the decoder is configured to identify a stop and/or start sequence within the decoded portion in the respective message buffer, wherein the alignment is based on the identified stop and/or start sequence.
In an example, the decoder is configured to: performing the decoding, placing, and determining for a first set of received frames; wherein the determination of one or more phase shifts comprises: estimating one or more phase shifts based on any determined correlation between data symbols of the two or more decoded portions decoded from the received frames of the first set; verifying the estimated one or more phase shifts by determining whether the data symbols in the corresponding locations in the respective message buffers are the same; and reconstructing the encoded optical message based on the verified one or more phase shifts if the data symbols in the corresponding locations in the respective message buffers are determined to be the same; or if the data symbols in corresponding locations in the respective message buffers are determined to be non-identical, repeating the performing, estimating and verifying for one or more subsequent sets of received frames until the estimated one or more phase shifts are verified.
In an example, the decoder is configured to: receiving one or more further frames comprising the encoded optical signal in a plurality of respective regions within each frame, each frame capturing a portion of a second encoded optical message within the encoded optical signal in the plurality of respective regions; decoding respective portions of the second encoded light message captured in each frame; and reconstructing the second encoded optical message by placing the decoded portion in a single message buffer, wherein the decoded portion is aligned in the single message buffer based on the previously determined one or more phase shifts.
In an example, the data symbols are located in corresponding positions if they are located within a threshold of each other in the message buffer.
In an example, a receiving device is configured to receive information comprising one or more phase shifts; and wherein the decoder is configured to: the encoded optical message is reconstructed by aligning the decoded portions in the message buffer based on one or more phase shifts in the received information.
In an example, the decoder is configured to: generating a request to modify at least one of the one or more phase shifts; and wherein the receiving device is configured to transmit the generated request to one or more transmitters responsible for transmitting the encoded optical signal in the received plurality of frames.
In an example, a receiver is configured to communicate with one or more transmitters over a wireless communication channel.
In an example, the decoder is configured to: determining which of the one or more transmitters responsible for transmitting the coded light signal are present in the received frame; wherein the request to modify at least one of the one or more phase shifts is based on which of the one or more transmitters are present in the received frame.
In an example, the receiver includes at least one of: (i) a rolling shutter camera, and (ii) a global shutter camera, each configured to capture one or more frames. When using a rolling shutter camera, each frame is captured as a time series of lines, and each line thus samples the message at a different time. In such a case, the footprint of each light source (transmitter) would cover a respective subset of rows within the frame. Thus, each of the portions of the message is captured with the rolling shutter row of the respective subset.
According to a second aspect disclosed herein, there is provided a method of reconstructing a coded light message from a plurality of spatially separated transmitters transmitting one and the same message, wherein different transmitters are configured to transmit phase shifted versions of the coded light message transmitted in the coded light signal relative to each other, the method comprising: receiving one or more frames, each frame capturing respective portions of an encoded light message in a plurality of spatially separated respective regions in each frame, wherein each respective portion originates from a different respective transmitter and is captured over time in different spatially separated respective regions, wherein the encoded light message comprises a sequence of data symbols; decoding respective portions of the encoded light message captured in each frame; placing each decoded portion in a respective message buffer, wherein each respective message buffer is associated with one of a plurality of respective regions within each frame; determining one or more phase shifts of the data symbols between each of the one or more pairs of the two or more decoded portions based on the data symbols in the message buffer; and reconstructing the encoded light message, wherein the reconstructing comprises: aligning the decoded portions in the message buffer based on the determined one or more phase shifts and merging the aligned message portions into a single message buffer.
According to a third aspect disclosed herein, there is provided a controller for controlling a plurality of spatially separated transmitters, wherein each transmitter is configured to emit a respective illumination for illuminating an environment, wherein each transmitter is configured to emit a respective coded light signal, and wherein the controller is configured to: causing a first transmitter to transmit a first coded light signal comprising a first coded light message; causing a second transmitter to transmit a second coded light signal comprising a second coded light message, wherein the first coded light message and the second coded light message comprise respective sequences of data symbols; and applying a phase shift in the sequence of data symbols of the first encoded optical message as compared to the sequence of data symbols of the second encoded optical message, wherein the phase shift is applied such that the sequence of data symbols of the first encoded optical message is different from the sequence of data symbols of the second encoded optical message when the first and second encoded optical messages are transmitted by the first and second transmitters, respectively, wherein the first encoded optical message is a cyclic arrangement of the second encoded optical message.
In an example, the controller is configured to: causing the first transmitter and the second transmitter to begin transmitting the first encoded light message and the second encoded light message at the same time.
In an example, the controller is configured to: a notification is caused to be transmitted to the receiver of the first and second encoded optical messages including the applied phase shift.
In an example, the controller is configured to: receiving a request from a receiver of the first and second encoded optical messages to modify the applied phase shift; and modifying the applied phase shift based on the received request.
In an example, the received request indicates which of the first and second transmitters are being viewed by the receiver, wherein the controller is configured to: the applied phase shift is modified based on whether one or both of the first and second transmitters are being viewed by the receiver in accordance with the received indication.
In an example, the controller is configured to: receiving an indication of a number of repetitions of the encoded light message required for the receiver to reconstruct a complete encoded light message; and causing the first and second transmitters to transmit the first and second encoded light messages for at least the indicated number of repetitions.
According to a fourth aspect disclosed herein, there is provided a luminaire comprising: a controller as disclosed herein, and one of the transmitters.
According to a fifth aspect disclosed herein, there is provided a method of controlling a plurality of spatially separated transmitters, wherein each transmitter is configured to emit a respective illumination for illuminating an environment, wherein each transmitter is configured to emit a respective coded light signal, wherein the method comprises:
causing a first transmitter to transmit a first coded light signal comprising a first coded light message;
causing a second transmitter to transmit a second coded light signal comprising a second coded light message, wherein the first coded light message and the second coded light message comprise respective sequences of data symbols; and applying a phase shift in the sequence of data symbols of the first encoded light message as compared to the sequence of data symbols of the second encoded light message, wherein the phase shift is applied such that the order of the data symbols of the first encoded light message is different from the order of the data symbols of the second encoded light message when the first and second encoded light messages are transmitted by the first and second transmitters, respectively, wherein the first encoded light message is a cyclic arrangement of the second encoded light message.
According to a sixth aspect disclosed herein, there is provided a computer program comprising instructions such that, when the computer program is executed on a computing device, the computing device is arranged to carry out any of the method steps disclosed herein.
According to a seventh aspect disclosed herein, there is provided a computer program product comprising code embodied on a computer-readable storage and/or downloadable therefrom, and configured so as when run on a processing apparatus comprising one or more processing units to perform operations in accordance with any of the method steps disclosed herein.
According to an eighth aspect disclosed herein, there is provided a lighting system comprising: at least a first transmitter and a second transmitter, wherein each transmitter is configured to emit a respective illumination for illuminating an environment, wherein each transmitter is configured to emit a respective coded light signal; and a controller configured to control at least the first and second transmitters, wherein the controller is configured to: causing a first transmitter to transmit a first coded light signal comprising a first coded light message, causing a second transmitter to transmit a second coded light signal comprising a second coded light message, wherein the first coded light message and the second coded light message comprise respective sequences of data symbols; and applying a phase shift in the sequence of data symbols of the first encoded light message as compared to the sequence of data symbols of the second encoded light message, wherein the phase shift is applied such that the order of the data symbols of the first encoded light message is different from the order of the data symbols of the second encoded light message when the first and second encoded light messages are transmitted by the first and second transmitters, respectively, wherein the first encoded light message is a cyclic arrangement of the second encoded light message.
Drawings
To assist in understanding the present disclosure and to show how embodiments may be put into practice, reference is made, by way of example, to the accompanying drawings, in which:
FIG. 1 schematically shows an example of an environment including an encoded optical communication system;
FIG. 2 schematically shows an example of a timing diagram of a rolling shutter camera in detecting and reconstructing an encoded light message;
fig. 3 schematically illustrates the reconstruction of an encoded light message based on a determined phase shift applied to the transmitted encoded light message;
fig. 4 schematically illustrates the reconstruction of a second encoded light message based on a previously determined phase shift applied to the transmitted encoded light message;
FIG. 5 schematically illustrates an example phase shift profile based on light sources appearing in a view of a receiver;
fig. 6 schematically illustrates an example of a phase shift distribution depending on the infrastructure of the coded optical communication system;
FIG. 7 schematically illustrates an example in which phase shifts have been applied to an encoded optical message on a sub-symbol layer; and
fig. 8 is a schematic representation of a frame captured with a rolling shutter camera.
Detailed Description
With coded light, coding schemes are used to convey data symbols (e.g., bits, nibbles, bytes, etc.) by modulating the light (e.g., by using fast light pulses that vary in position, width, or intensity). The receiving device ("receiver") can take the form of, for example, a photoresistor, a photodiode, or a fast camera. For example, the receiver may be a rolling shutter camera. In another example, the camera may be a global shutter camera. Rolling shutter cameras have the advantage that multiple light sources or effects can be considered and can be sampled at a higher speed (since successive rows are sampled at different time stamps).
In fig. 2(a), a camera captures a
When the light sources emit the same sequence of data symbols (lamp identifiers) in a cycle, this means: there is an opportunity to reconstruct the complete coded light message. First, the camera and light source must have differences in sampling speed and synchronization so that different portions of the signal are detected in each frame. Secondly, the different received message parts must have some overlap that can be used to find the correlation at the beginning and end of the blocks. When some bit sequences are identical at the beginning and/or end of the message part, this may indicate: these portions are adjacent. However, this is not always true; false adjacencies can occur when the bit patterns overlap but the portions are not adjacent.
The relative timing of the light source and the sensor also helps to locate the detected portion in the message. This is illustrated in fig. 2c, where the timing for sampling the frame is less than the time for sending the message. This means that: when the message length is known, the detected portion can be located in the
One problem with previous coded optical communication techniques is that: when the light source (effect) 202 occupies only a small part of the sensor, the signal block is very small and therefore the possible overlap is also very small and the probability of false adjacency increases.
The related problems are: the amount of light occupying the sensor surface of the rolling shutter camera determines the number of decoded bits and thus for small amounts of light, the speed at which a complete message (e.g., light source identifier) is detected is reduced.
When multiple lamps are present, more space is occupied and therefore they can be used to speed up the collection of bits. However, a strategy to distribute the sending of messages must be found to avoid too much overlap in the received message portions. For example, when two light sources are synchronized and read out by the same row of sensors, the received bits are the same.
The inventors have realised that: the speed of reconstructing the encoded light message at the receiver can be increased by transmitting the same encoded light message with two or more light sources and distributing the phase shift across the transmitted encoded light message. As will be explained in detail below, this enables the receiver to reconstruct the message more quickly because different parts of the coded light message are sampled in each frame.
Fig. 1 gives a schematic overview of a
The
The
The
Similarly, the
The following describes a
To aid in understanding the present invention, an exemplary representation of a frame captured with a rolling shutter camera is shown in FIG. 8. The
To capture samples for the detection of an encoded light message, some or all of the individual pixel samples of each given
Note that: multiple light sources/effects may appear on the
When a
Fig. 3 shows an example of a
In an example, a rolling shutter mechanism is used to capture a plurality of
After the first frame, these buffers contain the first message part of the received coded light message, which is indicated in fig. 3 with a striped block. The relationship between the location of the first message portion in the different message buffers 116 is not known at this point. The
In this regard, the
Another method for determining phase shift without determining the correlation of the data symbols is by searching for distinctive patterns within the message. For example, if a message is sent out with a specific pattern, e.g., 01001100011100001111, a burst (burst)0110 can be located directly. The same applies to burst 1110. By receiving a number of bursts, the phase shift can be determined.
The distinctive pattern may be a "violate" pattern used for channel coding of the data symbols, as a result of which such a pattern can be easily discernable. For example, one way would be to insert pre/mid/post synchronization signals or even idle periods between messages. The decoded message portions can then be placed and aligned in the message buffer based on these specific symbols/patterns.
Depending on the size of the encoded optical message and/or the phase shift applied to the encoded optical message,
In some instances,
The decoder searches for correlations between the data symbols placed in each message buffer 116 on a per frame basis. That is, since each frame is received and message parts are decoded and placed in the
Based on the determined correlations of the data symbols,
As an optional feature, the
Taking the example of fig. 3, after decoding the first frame, the four
The search means that: searching for overlaps between message portions in different message buffers 116. At that point, the phase shift(s) between the buffers may be assumed. The verification means that: given the assumed shift, it is checked whether all known bits in the corresponding positions in the buffer are equal. If the merging of the message buffers 116 produces a complete message without a difference in the corresponding data symbol positions, the phase shift(s) can be verified. Here, the corresponding position may mean an identical position within the
Further, note that: the
In some examples,
After reconstructing the first complete encoded light message, the
The advantages of this are: knowing the phase shift(s) between the
As an optional feature, the
As another optional feature, the
Further, the
Alternatively, the
In some examples, the
As an option, the
Note that: when the
The following describes a
For example, each coded light message may consist of a sequence of ones and zeros. For example, the first coded light message may be [0110101100 ]. The second encoded light message may have a 50% phase shift applied in a cyclic manner. In this case, the second encoded light message would be [0110001101 ]. In a different scenario, a 20% phase shift may be applied resulting in the second encoded optical message being [0001101011 ]. In other words, if the sequence of data symbols of the first coded light message are sequentially shifted one symbol at a time together in a cyclic manner, eventually the first coded light message will correspond to the second coded light message.
In some examples, a phase shift is applied to the first encoded light message such that data symbols of the first encoded light message are shifted by an integer number of data symbols compared to the second encoded light message.
The phase shift may also be applied at the sub-symbol layer, i.e. to a respective unit pulse representing each data symbol (e.g. each data bit). Fig. 7 shows two possible unit pulses in the form of positive and negative "hat" functions. The pulses mapped to data symbols of
To create the coded light message to be transmitted, the hat functions of adjacent data symbols are added to each other, i.e. shifted by the time of their respective symbol periods. Because the hat functions overlap across the boundaries between data symbol periods, the functions add in the overlap region between adjacent data symbols.
An example of the resulting sequence of data symbols in the time domain is shown in fig. 7 b. Fig. 7b shows an example of a first coded light message transmitted by a first transmitter. Fig. 7c represents an example of a second encoded light message transmitted by a second transmitter with a 50% phase shift applied to the second encoded light message by the
While example phase shifts of 25% and 50% have been provided, in other examples one or more of the phase shifts applied may be greater or less than these values.
The advantages of this are: different versions of the same encoded message can be transmitted, which enables the
The one or more phase shifts applied by the
In some examples, the
The potential acceleration achieved by using this technique depends inter alia on the number of luminaires that are typically imaged in a normal use case and their respective offsets at the moment of imaging. As a result, the above reset upon transmission of the request may provide alignment and thereafter provide higher acceleration.
One way of synchronizing the transmission of messages is by using a phase locked loop in combination with a specific light pulse, e.g. a light pulse of a length that is not used in normal (pulse width modulated) communication or illumination. The transmitter can synchronize to the pulses and then pulse with other lamps to effectively speed up the pace (put a pace) in the environment. Furthermore, the receiver can also synchronize on that pulse and adapt its clock based thereon.
As an option, the
As an additional or alternative option, the
In some examples, the received request indicates which
As another option, the
The
Fig. 6 illustrates an example of how the phase shift can be distributed over the
Let T be the time for the transmitter to read the bit in the sensing area (in view 1) and define the moment when the sensor reads out
In fig. 2, the
In
It will be appreciated that: the above embodiments have been described by way of example only. For example, as discussed above, while the above examples have been discussed with respect to a rolling shutter camera, frames received at a decoder may also be captured with a different type of camera, such as, for example, a global shutter camera. When a global shutter camera is used, the camera captures the entire frame at the same time and thus captures different portions of the transmitted encoded light message in each region of the frame (due to the applied phase shift). For example, if the phase shift of fig. 5b is applied and the camera captures frames in which the upper left corner of the transmitter is captured, each frame will contain four different parts of the message. Each portion of the message captured in the four regions within the frame will be shifted by 25% with respect to the message portions in the upper or lower regions and also by 25% with respect to the message portions in the right or left regions. In the subsequently captured frame, four different portions of the message will be captured, each of which is shifted by 25% as described above. As a specific example, if the frame rate is twice the bit/signal rate (e.g., Nyquist), successive bits can be found and the message buffer evolves from several places (related to the number of light sources in the frame) to a situation where the message portions of the data symbols begin to overlap and the buffer becomes completely filled. At that moment, the phase shift is known. For the second message, the data symbols can be placed directly in the buffer.
The invention may be particularly beneficial when the message transmitted by the luminaire is a continuously transmitted message of known length, such as a (long) identifier. By having multiple transmitters/luminaires transmitting messages out of synchronization and possibly in a coordinated manner such that the phase offset(s) are staggered and preferably evenly distributed over the message length, a higher speed of identifier detection can be achieved resulting in e.g. faster indoor positioning.
However, a similar scheme may also be used in data transmission scenarios, where packets of known length need to be communicated. In such a scenario, individual packets may be repeated by the luminaire until the packets have been successfully received by the receiver. In such a scenario, the receiver may provide an acknowledgement for successful reception of the packet (e.g., after verification using a checksum), after which the transmitter may continue to transmit the next packet.
Reference has been made herein to data stores for storing data. This may be provided by a single device or by a plurality of devices. Suitable devices include, for example, hard disks and non-volatile semiconductor memories.
Although at least some aspects of the embodiments described herein with reference to the figures comprise computer processes performed in a processing system or processor, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of non-transitory source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other non-transitory form suitable for use in the implementation of the process according to the invention. The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a Solid State Drive (SSD) or other semiconductor-based RAM; a ROM, for example, a CD ROM or a semiconductor ROM; magnetic recording media such as floppy disks or hard disks; a general optical storage device; and so on.
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. A single processor or other unit may fulfill the functions of several items recited in the claims. A computer program may be stored and/or distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the internet or other wired or wireless telecommunication systems. Any reference signs in the claims shall not be construed as limiting the scope.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:电子部件安装基板、电池组及电子设备