概要ColorRay 是一套基于色彩编码的可见光通信VLC系统核心目标是借助 PC 屏幕发送端显示自定义彩色二维码视频流、手机摄像头接收端拍摄采集的方式实现无额外硬件依赖的离线文件传输。系统聚焦高容量、强鲁棒性设计要求文件还原成功率≥90%适用于离线环境、安全传输及物联网等场景。项目仓科https://github.com/qwerty-a11y/ColorRay.git整体架构流程ColorRay 的通信流程分为发送端和接收端两大环节整体形成 “文件处理 - 编码展示 - 拍摄采集 - 解码恢复” 的闭环发送端流程文件处理将待传输文件拆分为二进制数据块冗余编码按不同冗余度分组引入 RAID 5/6 帧间纠删码生成校验块RS 编码对每个数据块进行 RS 纠错编码提升单帧抗干扰能力二维码生成将数据映射为 8 色像素生成 133×133 规格的自定义彩色二维码视频合成将二维码图像序列合成为视频流并播放供接收端拍摄。接收端流程视频拍摄手机拍摄 PC 端播放的二维码视频流帧提取从视频中逐帧提取二维码图像预处理识别二维码定位块、完成透视校正与模块采样标准化图像颜色解码通过标准色块校准色彩识别 8 色信息并转换为二进制数据块校验与恢复RS 码纠正单帧错误利用 RAID 机制恢复丢失 / 损坏帧文件重组合并所有有效数据块利用 RAID 机制恢复丢失 / 损坏帧文件重组合并所有有效数据块还原原始文件。技术名词解释可见光通信VLC以可见光为传输介质的无线通信方式本项目中依托屏幕发光和摄像头感光实现数据传输RAID 5/6纠删码技术RAID 5 通过分布式校验块实现每组 1 块数据容错RAID 6 增加独立校验块支持每组 2 块数据容错RS 码Reed-Solomon里德 - 所罗门纠错码可直接纠正数据块在传输、识别中出现的符号错误适用于可见光传输场景彩色二维码自定义基于版本 29 规格133×133 模块设计采用 8 种纯色红、绿、蓝、黄、青、品红、黑、白编码数据含定位块、校准色块、元数据块透视校正接收端对拍摄的二维码图像进行几何矫正消除拍摄角度导致的变形保证模块采样准确性帧间纠删跨二维码帧数据块的冗余容错机制区别于单帧内的 CRC 校验解决帧丢失 / 损坏问题。技术细节二维码核心设计基础规格版本 29133×133 模块兼顾数据容量与识别可行性功能图形四角保留 “回” 字形定位块用于图像定位右下角设 8 个标准色块实现实时色彩补偿三大定位块附近设 18 个色块存储帧序号5 位和纠删等级1 位且支持多向备份颜色编码8 种纯色对应二进制数据是数据与视觉呈现的核心映射载体。冗余与纠错机制系统设计三种冗余级别适配不同容错需求冗余度分组大小RAID 类型容错能力10%10 块 / 组RAID 5每组可丢 1 块20%5 块 / 组RAID 5每组可丢 1 块40%5 块 / 组RAID 6每组可丢 2 块同时每个数据块附带 RS 纠错编码实现 “帧内 RS 纠错 帧间 RAID 纠删” 双层容错。模块分工系统拆分为 5 个核心模块职责边界清晰原始数据包装文件分块、RAID 编码、RS 计算数据编码数据块转彩色二维码、合成 20fps视频流数据解码视频帧提取二维码、颜色分类、还原数据块还原原始数据RS 纠错、RAID 解码、合并数据块还原文件定位变形标准化 定位块识别、透视校正、二维码模块采样关键技术链路发送端文件二进制化→分块→冗余编码 RS 纠错→彩色二维码生成→20fps 视频合成播放接收端视频拍摄→帧提取→图像预处理定位 校正 采样→颜色解码→校验 容错恢复→文件重组。小结ColorRay 项目以可见光通信为核心结合自定义彩色二维码、RAID 纠删码、RS 纠错、图像校正等技术构建了一套完整的 “屏幕 - 摄像头” 文件传输系统。其核心优势在于无额外硬件依赖、多层容错机制保障传输可靠性且通过精细化的二维码设计和冗余策略兼顾了数据容量与还原成功率。项目模块化的分工设计也为协作开发和功能迭代提供了清晰的架构基础整体围绕 “高鲁棒性、高还原率” 的核心目标解决离线环境下的安全文件传输问题。