# Rain-Bar **Repository Path**: cse-crypto/rain_-bar ## Basic Information - **Project Name**: Rain-Bar - **Description**: The implementation of IEEE ICDCS 2015 paper "Rain bar: Robust application-driven visual communication using color barcodes". - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-04-17 - **Last Updated**: 2023-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README  # Rainbar The implementation of IEEE ICDCS 2015 paper "Rain bar: Robust application-driven visual communication using color barcodes". ## Introduction 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. ## Rainbar Design RainBar aims to achieve robust and high-throughput communication over screen-camera links in dynamic environments. To this end, the system is designed from two orthogonal perspectives: optimizing the encoding capacity of each color frame, and fully utilizing the transmission capacity of the sender smartphone. Figure 1 illustrates the system architecture of RainBar that consists of two sides: the sender and the receiver (e.g., two on-the-shelf smartphones). Roughly speaking, the sender encodes data (e.g., a text file) into color barcodes and displays the stream of color barcodes on its screen. The receiver uses its camera to capture images of color barcodes and decodes the captured images to obtain the original data. ![Image text](system_overview.png) 1. **The sender:** Data are encoded into a stream of color barcodes which are displayed on the screen of the sender. A classification component pre-processes the data based on its specific application types before data encoding to guarantee the communication efficiency. The code generation component is responsible for mapping the pre-processed data into a stream of color barcodes. 2. **The receiver:** The receiver captures images of color barcodes and tries to decode the data correctly and quickly. The receiver side mainly has three components: pre-processing, code extraction and classification recovery. ## Setup Android SDK 18 JDK-1.8 ## Citation If you are using our code for research purpose, please cite our paper. ``` @inproceedings{wang2015rain, title={Rain bar: Robust application-driven visual communication using color barcodes}, author={Wang, Qian and Zhou, Man and Ren, Kui and Lei, Tao and Li, Jikun and Wang, Zhibo}, booktitle={2015 IEEE 35th International Conference on Distributed Computing Systems}, pages={537--546}, year={2015}, organization={IEEE} } ```