VISIBLE LIGHT COMMUNICATION SYSTEM WITH PIXEL ALIGNMENT FOR HIGH DATA RATE
A visible light communication system has a two-dimensional array of sources and an image sensor with a pixel grid defining a pixel direction (which in some embodiments is a rolling shutter direction). Modulation of the light flashes the sources to define a series of one-dimensional patterns encoding the data to be transmitted. The patterns extend in a direction that projects onto the imager orthogonal to the pixel direction. In the case of a rolling shutter, the pattern is orthogonal to the rolling shutter direction, which allows the encoding of multiple bits per line of the image frame. In other cases, the orthogonal direction obtains the maximum resolving power available from the image sensor.
This is a divisional application of co-pending U.S. application Ser. No. 15/975,033, filed May 9, 2018, which is incorporated herein by reference in its entirety.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCHNot Applicable.
BACKGROUND OF THE INVENTIONThe present invention relates in general to visible light communication (VLC) sending digital data, and, more specifically, to optimizing alignment of generated light patterns to a pixel array of an image sensor to increase parallel data transmission capabilities.
Visible light based communication (VLC), also referred to as LiFi, is a wireless data communication technology being actively researched for automotive applications and for consumer electronics applications. Data transmission involves modulating (i.e., flashing) a light source such as a light emitting diode (LED) to encode data, and receiving the modulated light at a light sensor such as a photodiode or a camera to decode the data.
A vehicle having a VLC receiver might receive VLC signals from a fixed source (e.g., an LED traffic light) or from a mobile source (e.g., an LED signal light on another car). The data being shared may be related to traffic information or control, hazard warnings, navigation assistance, and many other types of data. A preferred image sensor is a “camera on a chip” comprising a two-dimensional array of pixels for capturing successive image frames taken at a rate that can distinguish the flashing of the light source. A camera with a wide field of view is desirable in order to detect and track a VLC image source, or even multiple sources simultaneously. A typical VLC transmitter uses a singular LED or an array of LEDs acting in unison. To increase the rate at which VLC data can be exchanged, individual LEDs or groups of LEDs can be modulated independently to provide parallel bit streams in the data transmission (e.g., taking advantage of a rolling shutter, as explained below). The number of separate streams based on a transmitter LED array and a receiver pixel array depends on various optical characteristics (separation distance, field of view, numbers of LED elements in the arrays, relative motion, exposure duration per pixel row, etc.) which determine the number of separate regions that can be generated by the LED array that fall within the resolution (resolving power) of the image sensor.
Complementary metal-oxide semiconductor (CMOS) image sensors are particularly advantageous since they provide good image quality with low power requirements, are low cost, and are often already present on a vehicle as an object detection sensor for other vehicle systems (e.g., a lane departure monitor). CMOS image sensors are also common on other types of devices which may be used as VLC receivers, such as smartphones.
A CMOS imager utilizes an image read-out process known as a rolling shutter, wherein the image exposure and read-out functions are conducted on a row-by-row basis (i.e., the rows of pixel are converted into a digital signal one row at a time). As used herein, the terms “row” and “column” are used interchangeably since CMOS sensors are available in different configurations that handle lines of pixels from top to bottom of an image and from side to side. Moreover, the CMOS sensor could be placed on mounted to a printed circuit board (PCB) oriented in any orthogonal direction, and the camera containing the PCB could be attached to the vehicle such that the row and column directions have been rotated to any orthogonal direction (based on the mounting requirements). The use of a rolling shutter results in a temporal aliasing, wherein the image's pixel row/columns include a slight time delay that may capture artifacts in moving objects or changes in lighting levels in the scene since different rows within a single image frame will capture the same object at slightly different times. This property of the rolling shutter has been used to increase the data rate of a VLC transmission by flashing the LED source at a frequency corresponding to the exposure times of successive rows (requiring that the LED source spans a plurality of the pixel rows in the camera). The resulting image of the LED source consequently displays alternating bands of light and dark lines which encode successive bits in a serial data stream.
It would be desirable to further increase data transmission speeds with a robust, reliable system that maintains low cost and which enables more data-hungry applications.
SUMMARY OF THE INVENTIONIn one aspect of the invention, a light communication system comprises a transmitter modulating an array of light sources to encode data and a receiver with a two-dimensional array of pixels defining rows and columns. The pixel array images the sources to receive the data using a rolling shutter in a predetermined direction. The transmitter and receiver exchange performance characteristics after the receiver detects modulation of the sources. The transmitter further modulates the sources to encode bits of the data in adjacent sub-blocks of the sources aligned in a one-dimensional pattern extending orthogonal to the predetermined direction as received by the receiver. In one preferred embodiment, the transmitter adjusts the alignment of the one-dimensional pattern according to the identification of the predetermined rolling shutter direction.
According to another aspect of the invention, a method for light communication includes arranging an imager to receive light from an array of sources, wherein the imager has a pixel grid defining a pixel direction. Light from the sources to the imager is modulated by flashing according to a series of one-dimensional patterns encoding data, each one-dimensional pattern extending in a direction that projects onto the imager orthogonal to the pixel direction. An image is read-out from the imager resulting in a two-dimensional pattern encoding the data. The respective patterns from a plurality of corresponding pixel rows in the pixel grid are identified, and the patterns are decoded to recover the encoded data.
According to yet another aspect of the invention, a light communication method comprises arranging an imager to receive light from an array of sources. The array of sources is arranged in a two-dimensional orthogonal grid according to a grid direction. The imager has a pixel grid defining a pixel direction. A misalignment between the pixel direction and the grid direction is determined. Thereafter, light from the array of sources to the imager is modulated by flashing according to a series of one-dimensional patterns encoding data. Each one dimensional pattern extends in a slanted direction on the two-dimensional grid so that the series of one-dimensional patterns project onto the imager orthogonal to the pixel direction.
The invention provides improved rates of data transfer as a result of achieving particular alignments between the row/column directions of the transmitting array of light sources and the row/column directions of the receiving array of image sensor pixels. For example, a two-dimensional array of sources and an image sensor are spatially arranged so that modulated light from the source array is received by the sensor. The image sensor has a pixel grid defining a pixel direction (which in some embodiments is a rolling shutter direction). The flashing defines a series of one-dimensional patterns encoding the data to be transmitted. The patterns extend in a direction that projects onto the imager orthogonal to the pixel direction. In the case of a rolling shutter, the pattern is orthogonal to the rolling shutter direction, which allows the encoding of multiple bits per line of the image frame. In other cases, the orthogonal direction obtains the maximum resolving power available from the image sensor.
Operation of the rolling shutter process in a CMOS camera is shown in
Using the separate image integration times and readout times for different rows that occur in a rolling shutter camera, it has been known to transfer VLC data at a rate higher than the frame rate of a CMOS camera by alternately flashing the LED light source to be ON or OFF during the staggered times that respective pixel rows are actively integrating an image (the ON/OFF flashing or other types of variation within the LED output can encode the data according many known types of modulation). As shown in
With the technique of
Orthogonal pattern generation for a preferred embodiment is shown in
In a preferred embodiment with a rolling shutter, the CMOS image sensor collects an image of source array 50 such that the direction of the rolling shutter proceeds vertically from the top to the bottom of array 50. Therefore, the direction of the one-dimensional pattern (horizontal) is orthogonal to the rolling shutter direction (vertical) in which the row-by-row readout of an image occurs. As a result, a complete image frame of array 50 collected by the image sensor has the appearance shown in
In order to reliably distinguish each separate parallel data bit region encoded in the one-dimensional patterns of
Depending on the severity of misalignment, the image that would result for a pixel row having misaligned capture area 59 could fail to correctly exhibit the desired ON/OFF pattern. For use in situations where the desired alignment could not be automatically ensured, the present invention introduces two-way communication between a VLC transmitter and a VLC receiver in order to orient the transmitted images from the LED array such that the desired alignment is maintained. Since there would typically be a large number of individual LEDs included in each sub-block of the generated data pattern (due to the sizes of the expected LED arrays and the average distance between the transmitter and receiver), it would usually be feasible to alter the direction of the one-dimensional pattern generated on the LED array to almost any arbitrary direction while maintaining accurate reproduction of the pattern.
As shown in
In the example of
An ability to align a one-dimensional pattern on the transmitting LED array can be useful not only for improved data rates with a rolling shutter. Improvements can be obtained with other image sensors, such as a CCD imager using a global shutter (i.e., all pixels of an image being exposed over the same span of time). More specifically, the maximum resolving power of an imager can be obtained when the one-dimensional pattern aligns with either of the orthogonal pixel directions (row or column) because such an alignment avoids spatial aliasing problems. Referring to
A preferred method of the invention is shown in
Based on an analysis of the performance characteristics, a determination is made in step 95 whether parallel communication using a one-dimensional pattern of parallel subgroups of LED sources is possible. If parallel communication is not feasible, then serial communication continues to be used in step 96. Then a check is periodically performed in step 97 to determine whether the LED array is still visible. If not, then the method ends at step 98. If the LED array is still visible, then a return is made to step 93 to re-perform the exchange of performance characteristics and to re-determine whether parallel communication has become possible.
When parallel communication is possible, then parallel data regions (sub-blocks of an identified area on the LED array) are generated in step 100 such that the sub-blocks form a one-dimensional pattern along an orthogonal camera direction. In the case of a rolling shutter CMOS sensor, then the orthogonal camera direction is perpendicular to the direction of a rolling shutter row (wherein the pixels of a row are exposed simultaneously). It should be noted that in the present invention, a camera sensor with a rolling shutter does not require time synchronization and that the time varying one-dimensional horizontal data pattern may appear in one image or the next. It should be further noted that like VLC described in prior methods, an error correction method must be implemented to account for errors in receiving or decoding the correct data or loss of data through factors such frame-to-frame time gaps. A method to regularly vary parity check bits for error correction would occur in both time and the horizontal one-dimensional data direction. In a non-rolling shutter (i.e., global shutter) image sensor, the light source array could vary the pixel intensities across both horizontal and vertical directions to create a two dimensional grid-like pattern in which the display of one pattern would be timed to coincide with the global shutter exposure. This time synchronization may occur via methods known in prior art. As used herein, the term “orthogonal direction” for a global shutter image sensor means either one of the orthogonal rows and columns of the sensor. Furthermore, while the actions discussed above for aligning the pattern direction with a desired pixel direction of the camera utilize an electronically performed adjustment of the mapping of data regions (sub-blocks) onto the LED array, it is also possible to achieve a desired alignment by mechanical re-orientation of either the LED array or the image sensor (e.g., by mounting on a gimbal driven by a servomechanism). Of course, fixed permanent mounting of a transmitter and receiver could also ensure the desired orthogonal alignment in order to practice the present invention.
In order to improve image quality and to shorten the time between consecutive frames, subsequent images may be captured using sub-windowing in step 101. Sub-windowing refers to reading out of an image from the image sensor using only a portion of the full sensor pixel grid. The VLC source is tracked within several image frames, and then image collection is performed for a series of subsequent images to collect data only within the sub-windowed area. Periodically, full images may be captured in order to continue to correctly track the location of the VLC source array.
In step 102, other image corrections can be applied to captured images. For example, various distortions may be present in an image besides the discrepancy in vertical orientation of the respective grids. Based on analysis of a default pattern sent during initialization, compensation may be applied to either the pattern driven onto the transmitter array or to the captured image to reverse the distortion. Using the corrected images, data signals are extracted in step 103 in a known manner in order to reconstruct the originally encoded data.
The foregoing invention achieves higher data transfer speeds for light-based communication based on displaying an optical pattern from an LED array such that the light pattern is orthogonal to the rolling shutter direction of the camera even though the camera may be arbitrarily oriented and positioned in space. The data transfer is dependent upon both time variation of LED output (flashing) and a one-dimensional (1-D) binary array output of the LED array (which is determined based on the camera's ability to differentiate more than one “pixel” or sub-blocks along the LED array). To achieve real world operation of this invention, a data exchange mechanism is used to provide the LED transmitter with knowledge of the camera's perspective, position, field of view (FOV), orientation, resolution, row readout time, distortion, and other factors to display the 1-D binary array output with a correct orientation for maximum use of the camera's capabilities. If an LED array is sending to multiple receivers, then it uses the capabilities of the camera operating at the “least common denominator.”
The invention utilizes a rapidly changing 1-D LED pattern in which the rolling shutter effect of a CMOS based image sensor along with the temporal variation between camera pixel rows to create an effective 2-D pattern for encoding data. The invention provides N times more data transmission than normal VLC communication, where N is equal to the LED grid's effective spatial size determined by properties of the image sensor, lens, and operating distance. The process is far less sensitive to correct timing from a single or multiple cameras than prior art techniques and is far less sensitive to exposure timing and blooming. The process can support cameras of different exposure times and different frame to frame gaps without modifications.
The VLC receiver's camera would preferably identify an optimal exposure time to avoid over-exposure of the LED array and blurring of the 1-D binary array output. This may entail active modulation of the data output frequency by the LED to match the camera's rolling shutter speed and exposure length. In addition, sub-windowing can be used to increase image capture and thus data transmission speeds.
The relative data transmission rate increase will depend on a number of factors including distance between objects, rolling shutter orientation, LED array size, image sensor size, camera lens optical characteristics, required exposure duration, environmental noise level, and more. Detection and communication between transmitter and receiver preferably starts with standard VLC wherein all LEDs are operated uniformly in parallel during an initial data exchange. The initial exchange determines whether the transmitter's LED array is sufficiently large within the camera image to employ this method. This determination may also take into account quality of service with other VLC devices that are also communicating with the same transmitter. Data exchange includes sensor characteristics and LED array characteristics, including camera lens optical characteristics, rolling shutter direction, and exposure duration. This may also employ use of VLC to determine the relative position of the transmitter to the receiver. The camera can utilize image capture sub-windowing over the specific region of interest corresponding to the LED array to increase data throughput. The LED 2-D array transmits data by varying its intensity and/or color in an orthogonal direction to the camera's rolling shutter. The number of unique LED “pixels” or sub-blocks depends on the capability of detection by the receiving CMOS censor. Additionally, the direction of the 1-D pattern for the LED sub-blocks can extend in any arbitrary direction, e.g., left-right, up-down, or some relative rotation (skew) based on the LED array and camera positions and distortion. After a certain amount of time the initialization process may be repeated given the possibility of the camera and LED array shifting position or being blocked from the field of view. Such a fallback state will be helpful in confirming integrity of data transfer and a correct angle of the LED lighting patterns. At this step the LED intensity may also be altered.
Depending on the LEDs intensity, camera sensor sensitivity, and exposure duration, the captured image of the LED array may appear under or over exposed. This could result in blurry demarcation of the data encoded in the rolling shutter image and/or poor signal-to-noise ratio. Therefore, an adaptive process of determining the optimal exposure length per each pixel row may be desirable. For example, a sequence of images can be obtained using a range of exposures. Furthermore, error correction parity bits or some other error correction scheme dispersed throughout the 1-D pattern and time may be used to monitor for changes in performance characteristics. Specifically, the receiver may monitor the data transmission rate over time or across the 1-D pattern to detect an increase in error rates and resend the performance characteristics to the transmitter to improve the data transmission. Afterwards, the optimal exposure can be identified in the images, and the exposure time that results in the best presentation of the data pattern as captured by the rolling shutter would be used. Alternatively, an image sensor with a higher dynamic range could be used.
The invention can be used not only for vehicular transportation functions, but also for indoor consumer electronics LIFI products and for other types of outdoor data communication systems (e.g., cell phone VLC transmission to a vehicle-mounted camera sensor). The invention can be adapted to use color keying by utilizing multiple color layers. Instead of visible light, near-infrared LEDs which are not visible to human eye can be used (especially with a camera sensor not having an IR cutoff filter). This would permit more placement options for the LED array beyond those which might otherwise be allowed in view of styling considerations for a vehicle.
Claims
1. A light communication method, comprising:
- arranging an imager to receive light from an array of sources, wherein the array of sources is arranged in a two-dimensional orthogonal grid according to a grid direction, and wherein the imager has a pixel grid defining a pixel direction;
- determining a misalignment between the pixel direction and the grid direction; and
- modulating light from the array of sources to the imager by flashing according to a series of one-dimensional patterns encoding data in a plurality of parallel data bit streams, wherein each bit stream is generated by flashing a respective one of a plurality of subgroups of the sources, each one dimensional pattern extending in a slanted direction with respect to the grid direction on the two-dimensional grid so that the series of one-dimensional patterns project onto the imager orthogonal to the pixel direction.
2. The method of claim 1 further comprising:
- reading out an image from the imager;
- identifying respective patterns from a plurality of corresponding pixel rows in the pixel grid; and
- decoding the patterns to recover the encoded data.
3. (canceled)
4. The method of claim 7 wherein the exchanging of initial data is performed using a return channel between a first controller for the array of sources and a second controller for the imager, and wherein the return channel uses light communication.
5. The method of claim 7 wherein the exchanging of initial data is performed using a return channel between a first controller for the array of sources and a second controller for the imager, and wherein the return channel uses RF communication.
6. (canceled)
7. A light communication method, comprising:
- arranging an imager to receive light from an array of sources, wherein the array of sources is arranged in a two-dimensional orthogonal grid according to a grid direction, and wherein the imager has a pixel grid defining a pixel direction;
- determining a misalignment between the pixel direction and the grid direction by exchanging initial data between the array of sources and the imager that depends on the orientation of the pixel direction with respect to the grid direction; and
- modulating light from the array of sources to the imager by flashing according to a series of one-dimensional patterns encoding data, each one dimensional pattern extending in a slanted direction on the two-dimensional grid so that the series of one-dimensional patterns project onto the imager orthogonal to the pixel direction.
8. A light communication method, comprising:
- arranging an imager to receive light from an array of sources, wherein the array of sources is arranged in a two-dimensional orthogonal grid according to a grid direction, and wherein the imager has a pixel grid defining a pixel direction;
- determining a misalignment between the pixel direction and the grid direction; and
- modulating light from the array of sources to the imager by flashing according to a series of one-dimensional patterns encoding data, each one dimensional pattern extending in a slanted direction on the two-dimensional grid so that the series of one-dimensional patterns project onto the imager orthogonal to the pixel direction;
- wherein the imager is comprised of a CMOS image sensor, and wherein the pixel direction is comprised of a rolling-shutter direction of the CMOS image sensor.
Type: Application
Filed: May 21, 2019
Publication Date: Nov 14, 2019
Inventors: David M. Herman (Southfield, MI), Grant Inskeep (Royal Oak, MI)
Application Number: 16/417,836