Color barcode-based visible light communication (VLC) over screen-camera links has attracted great research interest in recent years due to its many desirable properties, including free of charge, free of interference, free of complex network configuration and well-controlled communication security. To achieve high-throughput barcode streaming, previous systems separately address design challenges such as image blur, imperfect frame synchronization and error correction etc., without being investigated as an interrelated whole. This does not fully exploit the capacity of color barcode streaming, and these solutions all have their own limitations from a practical perspective.This paper proposes RainBar, a new and improved color barcode-based visual communication system, which features a carefully-designed high-capacity barcode layout design to allow flexible frame synchronization and accurate code extraction. A progressive code locator detection and localization scheme and a robust color recognition scheme are proposed to enhance system robustness and hence the decoding rate under various working conditions. An extensive experimental study is presented to demonstrate the effectiveness and flexibility of RainBar. Results on Android smartphones show that our system achieves higher average throughput than previous systems, under various working environments.Index Terms-Visible light communication, color barcode, screen-camera link, robustness, smartphones * Corresponding author. charge and interference. And most importantly, the directionality and extremely short visible range can guarantee wellcontrolled communication security without troublesome link setup or authentication. Such advantages enable wireless users to automatically initiate and set up communication channels, enjoying quick and convenient information sharing.Motivated by the idea of detecting colors for high-rate information transfer, researchers began to investigate speciallydesigned 2D color barcodes [7]-[9], based on which much more information (other than only web links or contact information) can be transmitted in a video of barcodes over screencamera links. To achieve high throughput barcode streaming, previous approaches aimed at increasing the image quality to enhance the per-frame capacity, or exploiting error correction codes to improve transmission reliability, or ameliorating frame synchronization to increase the frame rate, making the barcode-based VLC systems more and more practical.However, previous solutions all have their own and limitations. In [7], COBRA set the screen's display rate to be exact half of the camera's capture rate, which underutilizes the transmitter's capability and therefore limits the communication throughput. Meanwhile, the design of timing reference blocks cannot accurately localize blocks in code area since the captured images may suffer from severe perspective distortion, which affects the decoding accuracy. In [9], the authors proposed a Tri-level error correction scheme to recover lost blocks and frames to furt...