Visible light communication using mobile-phone camera with data rate higher than frame rate

: Complementary Metal-Oxide-Semiconductor (CMOS) image sensors are widely used in mobile-phone and cameras. Hence, it is attractive if these image sensors can be used as the visible light communication (VLC) receivers (Rxs). However, using these CMOS image sensors are challenging. In this work, we propose and demonstrate a VLC link using mobile-phone camera with data rate higher than frame rate of the CMOS image sensor. We first discuss and analyze the features of using CMOS image sensor as VLC Rx, including the rolling shutter effect, overlapping of exposure time of each row of pixels, frame-to-frame processing time gap, and also the image sensor “blooming” effect. Then, we describe the procedure of synchronization and demodulation. This includes file format conversion, grayscale conversion, column matrix selection avoiding blooming, polynomial fitting for threshold location. Finally, the evaluation of bit-error-rate (BER) is performed satisfying the forward error correction (FEC) limit.


Introduction
Visible light communication (VLC), also known as optical wireless communication (OWC) or Light-Fidelity (Li-Fi) has gained increasing attention recently [1][2][3][4][5][6].As there is a shortage of radio frequency (RF) spectra in traditional wireless communications, VLC can be a supplementary form.Some researchers also believe that VLC can serve as indoor wireless communications in future 5G systems.Light emitting diode (LED) can be a promising transmitter (Tx) for VLC, since it can be modulated at a relatively high speed when compared with traditional light sources.Besides, it has good light quality, low power consumption, long lifetime, and it can be integrated with the lighting system.Hence little extra cost is needed to provide the VLC.However, the white-light phosphor-based LED has a slow response to ~1 MHz.Recently many works have been performed to increase the modulation speed of the LED Tx, such as using equalizers [7][8][9], or advanced modulation formats [10].
Image sensors or cameras have been widely used in our daily lives.Nearly all mobilephones available in the market nowadays have embedded Complementary Metal-Oxide-Semiconductor (CMOS) cameras allowing users to take photos and videos.Hence, it is attractive if these already existing mobile-phone or vehicle image sensors can be used as the VLC receivers (Rxs).However, using the CMOS image sensor as VLC Rx is challenging since the VLC data rate will be significantly limited by the image sensor frame rate.Besides, signal data loss will occur due to the relatively long processing time gap in frame-to-frame [11] proposed using the rolling shutter effect of the CMOS image sensor to increase the VLC data rate; however, our work provides detail discussion of the features of CMOS sensors, including the overlapping of exposure time of each row of pixels, frame-to-frame processing time gap, and also the image sensor "blooming" effect.Besides, in our proposed scheme, a column matrix of grayscale will be selected just away from the center of the blooming.This can provide distinguishable grayscale value even at very high blooming effect.Bit-error-rate (BER) analysis is also provided [12] demonstrated a special image sensor with specific pixels for imaging and specific pixels for high speed VLC; however, this sensor requires relatively complicated fabrication process, and may not be available as embedded device in mobilephone and vehicle camera in the near future.
In this work, we propose and demonstrate a VLC link using mobile-phone camera with data rate higher than frame rate of the CMOS image sensor.We first discuss and analyze the features of using CMOS image sensor as VLC Rx, including the rolling shutter effect, overlapping of exposure time of each row of pixels, frame-to-frame processing time gap, and also the image sensor "blooming" effect.Then, we describe the procedure of synchronization and demodulation.This includes file format conversion, grayscale conversion, column matrix selection avoiding blooming, polynomial fitting for threshold location.The evaluation of BER is performed.Although the data rate is 1.68 kbit/s in the proof-of-concept demonstration; we believe that this data rate may enough for sending secure identification (ID) or authorization information in wireless communication; or sending position information in indoor navigation system.

Features of using mobile-phone camera as VLC Rx
Most CMOS image sensors embedded in the mobile-phone is operated using rolling shutter.This means that each row of pixels in the CMOS sensor is activated sequentially, and it does not capture the entire image at once (known as global shutter), as shown in Fig. 1.Although this can be an undesirable effect for taking video of a moving object; it can be beneficial for the VLC since the data rate can be much faster than the frame rate (frame per second; fps).Two scenarios can happen.If the VLC transmitting rate is slower than the image sensor frame rate (~30 fps), one or several image(s) can represent a logic bit; hence the effect of rolling shutter cannot be clearly observed.If the VLC transmitting rate is higher than the image sensor frame rate, bright and dark fringes can be observed in one image frame due to the rolling shutter effect.Hence one image can represent many logic bits.As shown in Fig. 1(a), if the ideal CMOS sensor exists, each row of pixels is activated one by one, then in principle, assuming the visible light detected by the image sensor has high enough signal-to-noise ratio (SNR), each row of pixels can represent one logic bit.However, in the real case, the row of pixels is activated without waiting for the previous row to complete the exposure.Hence, there is an overlapping of exposure time of each row as shown in Fig. 1(b).In this case, the effective number of bits represent in each image frame is reduced.In addition, as also shown in Fig. 1(b), when all the rows of pixels are activated, there is a frame-to-frame processing time gap, which is needed to merge different rows together to form a single image.As the Tx is continuously sending data, there will be a data loss during this frame-to-frame processing time gap at the Rx.Furthermore, if the received visible signal is too strong, image sensor "blooming" will occur.This is due to the overflow of charge from the saturated pixels into the neighboring pixels.Hence, the contract ratio between the bright and dark fringes will decrease.The blooming effect will be further discussed in Section 3.   As mentioned in Section 2, one feature of the CMOS Rx is the frame-to-frame processing time gap.As the LED Tx is continuously sending data, there will be a data loss during this frame-to-frame processing time gap.In the experiment, a Samsung GT-S7500 mobile-phone is used.The CMOS pixels are 480 x 640 and the recoding frame rate is 28 fps.We also measure the frame-to-frame time gap is about 14.29 ms, which is about 40% of the frame duration.During this frame-to-frame processing time gap, the image sensor is completely "blind"; hence each packet consists of two sets of headers and payloads in order to make sure each image contain enough header information for synchronization.

Experiment, results and discussion
Figure 3 shows the structure of the transmitting data packet, in which each packet consists of two sets of headers and payloads.Different brand mobile-phones have different frame-toframe processing time gaps.The data rate can be enhanced if more advanced mobile-phone can be used.As shown in Fig. 3, the header consists of 4 bits periodic signal using Manchester coding.This is enough for our clock recovery.In order to avoid the error propagation in the Manchester coding, on-off keying (OOK) format is used in the payload data.The payload consists of 60 bits or 30 bits.The image frame showing bright and dark fringes representing the packet header and payload is also included in Fig. 3.The procedure of synchronization and demodulation is shown in Fig. 4(a).First, the raw video file is converted into proper format, such as MPG file, which can be effectively processed in Matlab.Then each image file will be converted into grayscale format.In grayscale format, each row of pixels is represented from 0 to 255 grayscale levels, in which 0 represents completely dark fringe while 255 represents completely bright fringe.As discussed in Section 2, due to the overlapping of exposure time of each row and also the blooming effect (overflow of charge from the saturated pixels into the neighboring pixels), many other levels between 0 and 255 can be observed in each image frame.
Figure 4(b) show one image frame after the grayscale conversion.A column will be selected for the demodulation.However, as clearly shown in Fig. 4(b), in the center column (yellow vertical line) blooming occurs, and the contrast between bright and dark fringes decreases.Hence, the header information cannot be recovered.A column matrix of grayscale will be selected just away from the center of the blooming.In the experiment, every 60 rows of pixels are grouped (red line) in the column matrix selection.When the column matrix is selected, a proper threshold level should be set in order to recover the logic 1 and 0. As shown in Fig. 5, the blue curve represents the column matrix grayscale values from 0 to 255.Then a 2nd ordered polynomial fitting is applied to the column matrix, and the red curve shown in Fig. 5 can be obtained.The 2nd ordered polynomial fitting can be used as a threshold to distinguish the logic 1 and 0. As the header is encoded using Manchester coding, much narrower periodic bring and dark fringes can be easily distinguished from the payload OOK data, which consists of much wider fringes.Hence the header can be easily located in the image frame.Then, by counting the transition rates of these narrow fringes, the clock and sampling rate information can be obtained.Finally, the BER of the payload can be evaluated.After applying the file format conversion, grayscale conversion, column matrix selection avoiding blooming, polynomial fitting for threshold location; the data logic can be recovered.Figures 6(a) and 6(b) show the image frame received at different illuminance to illustrate the successful logic bit recovery.In Fig. 6, logic 1 will be converted to grayscale value 255, while logic 0 will be converted to grayscale value 0. This vertical column of converted grayscale level is then pasted at the center of the image frame for illustration.We can see that the header information can be easily observed (narrower periodic bright and dark fringes) and the blooming effect is mitigated with enhanced bright and dark fringes contrast ratio.
Finally, we evaluate the BER performance as shown in Fig. 7. Due to the overlapping of exposure time of each row in the rolling shutter effect as discussed Section 2, the effective number of bits represented in each image frame is reduced.When using the 60-bit payload, the effective data rate (removing the header and duplicated payload) of the proposed VLC system is about 60 bits/frame x 28 fps = 1.68 kbit/s.When using the 30-bit payload, the BER performance is enhanced due to doubling the pixel row resolution.It is worth to point out that as high-end mobile phones with better image senor resolution (1080 rows) may be common due to cost-down in the future, the data rate can be enhanced.We also believe that the data rate in this proof-of-concept demonstration may be enough for sending secure ID or authorization information wirelessly; or sending position information in indoor navigation system.It is also worth to mention that although the proposed schemes and procedures here could be applied to different mobile-phone, the obtained results may be different due to the mobile-phone hardware and software changes.

Conclusion
In this work, we proposed and demonstrated a VLC link using mobile-phone camera with data rate higher than frame rate of the CMOS image sensor.We first discussed and analyzed the features of using CMOS image sensor as VLC Rx, including the rolling shutter effect, overlapping of exposure time of each row of pixels, frame-to-frame processing time gap, and also the image sensor blooming effect.We described our procedure of synchronization and demodulation, including file format conversion, grayscale conversion, column matrix selection avoiding blooming, polynomial fitting for threshold location.The demonstrated data rate was 1.68 kbit/s.It is believed that the data rate in this proof-of-concept demonstration may be enough for sending secure ID or authorization information wirelessly; or sending position information in indoor navigation system.

Fig. 1 .
Fig. 1.Schematic diagrams to show the idea of rolling shutter effect in CMOS image sensor, in (a) expected ideal case and (b) real case.

Figure 2
Figure2shows the experimental setup of the proposed VLC link using mobile-phone camera as Rx.The transmitting data is first programmed using Matlab in a computer, which is then transferred to an arbitrary waveform generator (AWG) to perform the digit-to-analog (DAC) conversion.The AWG (Tektronix, AFG 3252C) has a sampling rate of 2 GSample/s and bandwidth of 240 MHz.The data signal is then emitted by a single white-light LED (Cree XLamp XR-E) with modulation bandwidth of about 1 MHz.The visible signal is received by a mobile-phone camera.The recorded movie by the mobile-phone is then demodulated by a Matlab program.As this transmission is basically an asynchronized link, it is very important to develop a synchronization scheme to recover the clock within each image.

Fig. 2 .
Fig. 2. Experimental setup of the VLC using mobile-phone camera as Rx.

Fig. 3 .
Fig. 3. Structure of the data packet, in which each packet consists of two sets of headers and payloads.Image frame showing bright and dark fringes representing the packet header and payload is also included.

Fig. 4 .
Fig. 4. (a) Flow chat showing the procedure of the demodulation process.(b) One image frame illustrating the blooming at the center of the image.

Fig. 5 .
Fig. 5. Column matrix of grayscale values (0 to 255) (blue curve) and the 2nd order polynomial fitting used as the threshold to distinguish the logic 1 and 0 (red curve).

Fig. 6 .
Fig. 6.Image frame received at different illuminance.The vertical column of converted grayscale level is pasted at the center showing the blooming effect is mitigated with enhanced contrast ratio.