当前位置: 首页 > news >正文

ColorRay

概要

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 校验,解决帧丢失 / 损坏问题。

技术细节

  1. 二维码核心设计
  • 基础规格:版本 29(133×133 模块),兼顾数据容量与识别可行性;
  • 功能图形:四角保留 “回” 字形定位块用于图像定位;右下角设 8 个标准色块,实现实时色彩补偿;三大定位块附近设 18 个色块,存储帧序号(5 位)和纠删等级(1 位),且支持多向备份;
  • 颜色编码:8 种纯色对应二进制数据,是数据与视觉呈现的核心映射载体。
  1. 冗余与纠错机制
    系统设计三种冗余级别,适配不同容错需求:
冗余度分组大小RAID 类型容错能力
10%10 块 / 组RAID 5每组可丢 1 块
20%5 块 / 组RAID 5每组可丢 1 块
40%5 块 / 组RAID 6每组可丢 2 块
  • 同时,每个数据块附带 RS 纠错编码,实现 “帧内 RS 纠错 + 帧间 RAID 纠删” 双层容错。
  1. 模块分工
    系统拆分为 5 个核心模块,职责边界清晰:
  • 原始数据包装:文件分块、RAID 编码、RS 计算
  • 数据编码:数据块转彩色二维码、合成 20fps视频流
  • 数据解码:视频帧提取二维码、颜色分类、还原数据块
  • 还原原始数据:RS 纠错、RAID 解码、合并数据块还原文件
  • 定位变形标准化 :定位块识别、透视校正、二维码模块采样
  1. 关键技术链路
  • 发送端:文件二进制化→分块→冗余编码 + RS 纠错→彩色二维码生成→20fps 视频合成播放;
  • 接收端:视频拍摄→帧提取→图像预处理(定位 + 校正 + 采样)→颜色解码→校验 + 容错恢复→文件重组。

小结

ColorRay 项目以可见光通信为核心,结合自定义彩色二维码、RAID 纠删码、RS 纠错、图像校正等技术,构建了一套完整的 “屏幕 - 摄像头” 文件传输系统。其核心优势在于无额外硬件依赖、多层容错机制保障传输可靠性,且通过精细化的二维码设计和冗余策略,兼顾了数据容量与还原成功率。项目模块化的分工设计也为协作开发和功能迭代提供了清晰的架构基础,整体围绕 “高鲁棒性、高还原率” 的核心目标,解决离线环境下的安全文件传输问题。

http://www.cnnetsun.cn/news/1884413.html

相关文章:

  • Qwen-Image-Edit-F2P算法解析:从CNN到Transformer的演进
  • 优化嵌入式开发流程:STM32CubeMX与Git的协同配置指南
  • 从思想实验到可运行代码:一本系统的PTP技术书
  • BGE Reranker-v2-m3在法律文书检索中的应用
  • 2026年4月最新|OpenClaw卸载完整教程|避开这3个坑
  • CV算法工程师面试指南:从入门到offer只需掌握这25点
  • SDMatte与传统算法对比:在边缘细节与复杂背景下的效果实测
  • Agent在RPA中的应用:自动化办公新范式
  • 深度解析R3nzSkin内存换肤技术:从逆向工程到安全实现
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI进阶:利用LaTeX生成技术报告与数学公式
  • CoPaw多模态应用展示:图文理解与智能摘要生成效果
  • 系统调用,库函数,exec系列函数,shell实现
  • 国产连接器是否能全面替代 Adam Tech 进口连接器?深度解析与评估
  • C语言位运算实战:从奇偶校验到循环移位,5个嵌入式开发必会技巧(附完整代码)
  • openclaw卸载与重装
  • 八大网盘直链下载终极方案:LinkSwift开源工具深度解析
  • 3分钟掌握VideoDownloadHelper:全网视频下载的终极神器
  • Claude Code全解析:去哪找、怎么用、如何快速获取
  • 如何用TMSpeech实现本地实时语音转文字:3个实战案例
  • 从3D相机数据到三维模型:Halcon实战深度图、亮度图与点云转换全流程
  • Qt程序打包避坑指南:从Release编译到单文件封装的完整流程
  • 从零到一:构建一个支持无障碍访问的现代Slider组件
  • 我用 AI 做了一个PDF转Word神器:解决排版烦恼
  • 2026 最新:10个高质量免费 PPT 网站(附官网链接)
  • 语雀文档导出终极指南:5分钟搞定知识库完整迁移
  • 智慧点餐系统|亿坊·扫码点餐——正餐/快餐/茶饮,一套源码全搞定!
  • MobileNetSSD_deploy.caffemodel下载地址
  • 科研数据处理:结合MATLAB信号分析与Qwen3-ASR-0.6B语音识别
  • 告别网盘龟速下载:5分钟掌握LinkSwift直链下载神器的终极指南
  • 中兴光猫终极解锁指南:zteOnu工具快速获取隐藏权限