基于色相的容量可变彩色二维码流数据通信方法及系统技术方案

技术编号:13925071 阅读:65 留言:0更新日期:2016-10-28 05:20
本发明专利技术提供了一种基于色相的容量可变彩色二维码流数据通信方法及系统,获得照片拍摄设备的颜色识别率,并找出该设备中能够最大化二维码容量的颜色数量;根据所选的最优颜色数量对原始数据分段并添加校验位与掩码,随后利用通过颜色生成算法找出的颜色集合与数据进行颜色映射,生成彩色二维码;在每一张照片中寻找二维码的定位图案对每个色块进行定位,随后根据码中的色板进行颜色识别,最后将识别的颜色与其对应的数据进行映射,经过校验和去掩码之后获得传输的数据。本发明专利技术提出了颜色生成算法,提高了色彩识别率,提高了传统二维码的容量,并将二维码流作为一种通信方式在设备之间传输数据,传输效率高。

【技术实现步骤摘要】

本专利技术涉及二维码及相关通信技术,具体地,涉及一种基于色相的容量可变彩色二维码流数据通信方法及系统
技术介绍
屏幕与摄像头间通信(Screen to camera communication,SCC)是一种近年来很流行的近距离点对点通信方式。在SCC中,传输的文件被编码成二维码流,并显示在发送端的屏幕上,接收设备通过不断拍摄发送端的屏幕并解码,以接收发送的文件。这种通信方式不依赖于手机上特殊的硬件设备,并且由于必须拍摄发送端屏幕,SCC也有着很好的安全和隐私特性。现如今,二维码在日常生活中被广泛应用,某款安卓平台上扫码软件在2014年有近一亿的下载量。然而,传统二维码有限的容量限制了其进一步发展。广泛使用的QR码仅能通过增加码内色块数量,存储最多2953字节,但码块大小会急剧减小,解码成功率也会下降。此外,传统黑白二维码中每一个色块仅能存储1bit信息。现有的研究中,主要通过两种方式来提高二维码流的传输速率:彩色二维码和二维码流。使用二维码流的形式,可以通过更快的帧速率(变换二维码帧的速率)来提高传输速率。然而,作为非同步的单项传输方式,在SCC中使用过高的帧速率会引起严重的帧混叠问题,使得接收端收到的照片中是多张二维码的混叠,无法解码。其他的研究工作通过在传统黑白二维码中引入颜色来提升每个色块的容量。假设在二维码中使用N种颜色,每个色块则可以存储log2N bit的信息。尽管现有的研究中有的二维码使用了4种,甚至8种颜色进行数据传输,但这些研究均没有说明他们选择颜色的原因,还有选择不同颜色对传输所造成的影响。有哪些潜在的因素会影响到拍摄照片中的颜色识别也没有在现有研究中被考虑过。虽然有文章中提到了颜色选择在二维码中的重要性,但并没有对此进行深入研究,更没有提出颜色选择和识别的算法。此外,颜色识别的极限并没有被研究过,是否可以在二维码中使用更多的颜色仍是一个未知的问题。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于色相的容量可变彩色二维码流数据通信方法及系统。根据本专利技术提供的基于色相的容量可变彩色二维码流数据通信方法,包括如下步骤:色彩数量优化步骤:通过拍摄测试二维码图对设备拍摄的照片质量进行测定,测得该设备的颜色识别率,并找出设备中能够最大化二维码容量时的颜色数量;彩色二维码生成步骤:发送端根据所选的最优颜色数量对原始数据进行分段,并添加校验位与掩码,得到处理后的待传输数据,找出颜色集合与待传输数据之间的颜色映射关系,生成包含待传输数据信息的彩色二维码;彩色二维码识别译码步骤:接收端在接收到的每一张照片中寻找彩色二维码的定位图案对彩色二维码中每个色块进行定位,并根据彩色二维码中的色板进行颜色识别,将识别的颜色转化为对应的数据,经过校验和去掩码之后获得传输的原始数据。优选地,所述色彩数量优化步骤包括:通过设备拍摄包含不同颜色数量的测试二维码图时所生成的彩色二维码,得到该设备下的颜色识别正确率,获得该设备的最优颜色数量,记为N;所述测试二维码图中包含的颜色数量为2n,其中n为大于等于1的自然数,n=1,2,…。优选地,所述彩色二维码生成步骤包括:步骤A1:发送端根据每帧二维码的容量对需要传输的数据进行分段,并添加校验位、帧信息和掩码;步骤A2:得到颜色数量一致的色彩集合;步骤A3:将处理好的每帧数据进行颜色映射,生成彩色二维码。优选地,所述彩色二维码识别译码步骤包括:步骤B1:接收端利用摄像头不间断拍摄发送端的屏幕,在拍摄到的每一张照片中寻找彩色二维码的定位图案,并根据该定位图案进行混叠检测,若混叠则丢弃;否则执行步骤B2;步骤B2:根据定位图案的位置寻找校准行,根据校准行对彩色二维码每一个色块进行定位;步骤B3:识别每帧彩色二维码中每一个色块的颜色,根据每个颜色的映射关系获得完整的数据;步骤B4:对获取到的数据进行校验修正,并去除掩码,得到传输的原始数据;将解码收到的每段数据按照帧信息进行整合,得到传输的文件。优选地,所述色彩数量优化步骤中采用色相均分的方法,生成不同数量的颜色集合,使用设备拍照进行颜色识别,获得不同颜色数量下该设备的色彩识别率;假设pn为使用n种颜色时该设备的平均识别准确率,一帧中共含m个色块,其中校验位所占比例为α,其中0<α<1每个RS校验符号包含b比特,成功解码一帧信息必须满足误符号率Re低于一帧中校验码的纠错能力Rc,其中 R c = α m log 2 n 2 b ]]>一个包含b比特的符号占用了个色块,接收到的误符号数量的期望为: E ( R e ) = ( 1 - p n b log 2 n ) m log 2 n b ]]>成功传输一帧数据需要满足Rc≥E(Re),因此则整个设备的容量C为: C = ( 1 - α ) m log 2 n ≤ ( 2 p n b log 2 n - 1 ) m log 2 n . ]]>优选地,所述步骤A1包括:采用ReedSolomon码进行校验,在校验后的每个色块的对应数据上加上了一个随机生成的数,即掩码,所述掩码在发送端和接收端都已知,且在每一帧中添加帧信息,所述帧信息包括:传输文件的总帧数、本帧帧号以及本帧中存储的数据长度。优选地,通过颜色生成算法得到颜色数量一致的色彩集合,找出颜色集合与待传输数据之间的颜色映射关系;所述颜色生成算法是指:假设需要生成N种颜色的集合,通过对差异函数进行积分,使得相邻色相颜色间的差异函数的积分均相同;其中:所述差异函数P(h)的计算公式如下: P ( 本文档来自技高网
...

【技术保护点】
一种基于色相的容量可变彩色二维码流数据通信方法,其特征在于,包括如下步骤:色彩数量优化步骤:通过拍摄测试二维码图对设备拍摄的照片质量进行测定,测得该设备的颜色识别率,并找出设备中能够最大化二维码容量时的颜色数量;彩色二维码生成步骤:发送端根据所选的最优颜色数量对原始数据进行分段,并添加校验位与掩码,得到处理后的待传输数据,找出颜色集合与待传输数据之间的颜色映射关系,生成包含待传输数据信息的彩色二维码;彩色二维码识别译码步骤:接收端在接收到的每一张照片中寻找彩色二维码的定位图案对彩色二维码中每个色块进行定位,并根据彩色二维码中的色板进行颜色识别,将识别的颜色转化为对应的数据,经过校验和去掩码之后获得传输的原始数据。

【技术特征摘要】
1.一种基于色相的容量可变彩色二维码流数据通信方法,其特征在于,包括如下步骤:色彩数量优化步骤:通过拍摄测试二维码图对设备拍摄的照片质量进行测定,测得该设备的颜色识别率,并找出设备中能够最大化二维码容量时的颜色数量;彩色二维码生成步骤:发送端根据所选的最优颜色数量对原始数据进行分段,并添加校验位与掩码,得到处理后的待传输数据,找出颜色集合与待传输数据之间的颜色映射关系,生成包含待传输数据信息的彩色二维码;彩色二维码识别译码步骤:接收端在接收到的每一张照片中寻找彩色二维码的定位图案对彩色二维码中每个色块进行定位,并根据彩色二维码中的色板进行颜色识别,将识别的颜色转化为对应的数据,经过校验和去掩码之后获得传输的原始数据。2.根据权利要求1所述的基于色相的容量可变彩色二维码流数据通信方法,其特征在于,所述色彩数量优化步骤包括:通过设备拍摄包含不同颜色数量的测试二维码图时所生成的彩色二维码,得到该设备下的颜色识别正确率,获得该设备的最优颜色数量,记为N;所述测试二维码图中包含的颜色数量为2n,其中n为大于等于1的自然数,n=1,2,…。3.根据权利要求1所述的基于色相的容量可变彩色二维码流数据通信方法,其特征在于,所述彩色二维码生成步骤包括:步骤A1:发送端根据每帧二维码的容量对需要传输的数据进行分段,并添加校验位、帧信息和掩码;步骤A2:得到颜色数量一致的色彩集合;步骤A3:将处理好的每帧数据进行颜色映射,生成彩色二维码。4.根据权利要求1所述的基于色相的容量可变彩色二维码流数据通信方法,其特征在于,所述彩色二维码识别译码步骤包括:步骤B1:接收端利用摄像头不间断拍摄发送端的屏幕,在拍摄到的每一张照片中寻找彩色二维码的定位图案,并根据该定位图案进行混叠检测,若混叠则丢弃;否则执行步骤B2;步骤B2:根据定位图案的位置寻找校准行,根据校准行对彩色二维码每一个色块进行定位;步骤B3:识别每帧彩色二维码中每一个色块的颜色,根据每个颜色的映射关系获得完整的数据;步骤B4:对获取到的数据进行校验修正,并去除掩码,得到传输的原始数据;将解码收到的每段数据按照帧信息进行整合,得到传输的文件。5.根据权利要求1或2所述的基于色相的容量可变彩色二维码流数据通信方法,其特征在于,所述色彩数量优化步骤中采用色相均分的方法,生成不同数量的颜色集合,使用设备拍照进行颜色识别,获得不同颜色数量下该设备的色彩识别率;假设pn为使用n种颜色时该设备的平均识别准确率,一帧中共含m个色块,其中校验位所占比例为α,其中0<α<1每个RS校验符号包含b比特,成功解码一帧信息必须满足误符号率Re低于一帧中校验码的纠错能力Rc,其中 R c = α m log 2 n 2 b ]]>一个包含b比特的符号占用了个色块,接收到的误符号数量的期望为: E ( R e ) = ( 1 - p n b log 2 n ) m log 2 n b ]]>成功传输一帧数据需要满足Rc≥E(Re),因此则整个设备的容量C为: C = ( 1 - α ) ...

【专利技术属性】
技术研发人员:朱思宇张晔赵性雅王新兵甘小莺
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1