## 2 Theory  
### Outdoor Visible Light Communication  
The geometric model of an OVLC system based on a CMOS sensor is described in Figure 1. Data is modulated with a certain method in the transmitter and the modulated LEDs carry different information. After that, an optical signal is transmitted to the receiver and the CMOS sensor captures images after adjusting its exposure. Then the receiver extracts the target signal source LED area to extract features and demodulates these data with the corresponding method. Therefore, data transmission can be realized.  
Figure 1: Geometric model of an OVLC system and processing in the receiver.  
In the proposed VLC system, a CMOS sensor is used as a receiver to realize data demodulation, whose working principle is shown in Figure 2a. According to our previous work [4], \"the exposure and data readout are performed row by row, the data of one row read out immediately when the exposure of this row is finished. This is known as the rolling shutter mechanism. By the rolling shutter mechanism of CMOS sensor, turning on and off the LED light during a period of exposure would result in bright and dark stripes on the image captured by CMOS sensor,\" which is shown in Figure 2b. Furthermore, in our previous works [16; 21], we have described the detailed processing of modulation and demodulation, which will not be discussed in this paper. For the readers who are interested in or have questions about detailed modulation and demodulation based on a CMOS sensor, please refer to our previous reports [16; 21].  
Furthermore, in the practical application of an OVLC based on a CMOS sensor, there are three models of optical channels: (1) the transmitter is fixed and the receiver is moving, (2) the receiver is fixed and the transmitter is moving, and (3) both the transmitter and the receiver are moving. Almost all the practical application scenarios can be explained by these three models. For instance, communication between motor vehicles and fixed traffic lights corresponds to the first channel model; besides, communication between two vehicles can corresponds to all three of the channel models, as shown in Figure 1. In practical situations, both the transmitter and the receiver can be moving or stationary. Furthermore, the movement relationship between them is random, so it requires the tracking algorithm to have general applicability to be suitable for all three models of optical channels. Under different circumstances, the algorithm of tracking and extracting the target LED signal source area has different choices. When the receiver is fixed and the transmitter is moving, a background modeling method can be used to track and extract the region of the signal source, which performs well even though severe background interference occurs. In contrast, when the receiver is moving, background modeling or a frame difference method may not be applicable. Because the ego-motion of the receiver makes the background of the received images always in a state of change, leading to failure of the methods. Consequently, considering the computational complexity and to make algorithm suitable for all the three optical channel models, a more general tracking algorithm is required. Therefore, using color characteristics and special distribution characteristics, an improved Cam-Shift algorithm with a Kalman filter is proposed in this paper for signal source LED tracking and extraction to lay the foundations for the next feature extraction, data demodulation and communication. In the following parts, we introduce the basic theory and detailed processing process of the proposed algorithm and illustrate the superior performance of the proposed algorithm.  
Figure 2: **(a)** The rolling shutter mechanism of the CMOS. **(b)** The target signal source LED area of the captured image of the CMOS sensor after a period of exposure.