CN112651258A - 基于动态二维码的数据传输方法和系统 - Google Patents
基于动态二维码的数据传输方法和系统 Download PDFInfo
- Publication number
- CN112651258A CN112651258A CN202011562817.XA CN202011562817A CN112651258A CN 112651258 A CN112651258 A CN 112651258A CN 202011562817 A CN202011562817 A CN 202011562817A CN 112651258 A CN112651258 A CN 112651258A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- frame
- mixed
- dimensional
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了基于动态二维码的数据传输方法和系统,涉及可见光成像通信领域,能够识别混合帧并且对混合帧进行解混合,从而解决了由于卷帘快门效应和屏幕刷新所导致的帧混合问题。本发明方法包括:发送端将待传输的数据拆分并编码到二维码中,再对二维码添加彩色边框;发送端二维码图片编码成视频并循环播放;接收端接受二维码图片,对边框进行定位后对边框颜色采样和平滑;将边框通道值近似的区域划分成多条等高线;借助等高线使用动态规划的思路对混合的二维码解混合;将解混合之后的二维码进行解码并推断解码失败二维码的id;根据二维码的id将解码失败的二维码进行暂存,等到再次接收到该id的二维码的时候再进行解码。
Description
技术领域
本发明涉及可见光成像通信领域,尤其涉及了基于动态二维码的数据传输方法和系统。
背景技术
可见光通信技术(Visible Light Communication,VLC)是指利用可见光波段的光作为信息载体,在空气中直接传输光信号的通信方式。可见光成像通信属于可见光通信的子领域,使用发光二极管阵列、液晶显示屏或有机发光半导体作为发送端,一般采用CCD/CMOS成像器件进行接收,随后通过处理图像来检测,提取信息。动态二维码是可见光成像通信的一种实现方式,其数据传输最基本的实现方法是:发送端将待传输数据进行编码并存储到二维码图像当中,再按照顺序播放二维码序列;接收端使用相机拍摄整个二维码序列,再对视频中的每一帧进行解码。此方法使得两部手机不需要进行蓝牙或者wifi等网络连接即可相互发送数据,不需要在文件发送之前进行繁琐的认证,具有较高的安全性和方便性。
然而,之前的方法为了能够使二维码被成功解析,因此播放端的帧率必须设置为小于等于录像帧率的一半才。但是这样接收端拍摄的图片当中,有一半图片都会因为发送端屏幕刷新和接收端相机的卷帘快门现象,导致拍摄的图片是前后两张二维码的混合。混合导致该帧无法解析只能被丢弃,从而使传输效率大大降低。
该方法可用建立高质量的屏幕-照相机通信链路,因此提升传输效率的难点就在于混合区的定位和混合帧的解混合。若不对混合区解混合仅提取非混区域,那么接收到的二维码将是不完整的,无法进行解码;若不进行判断就直接对所有帧解混合,则会生成很多错误数据。现有技术中,没有同时对混合区进行定位和混合帧解混合的解析方法。
发明内容
本发明提供了基于动态二维码的数据传输方法和系统,本发明在二维码周围加入了彩色边框,用于识别混合帧并且对混合帧进行解混合,从而解决了由于卷帘快门效应和屏幕刷新所导致的帧混合问题。
为达到上述目的,本发明采用如下技术方案:
基于动态二维码的数据传输系统,包括发送端和接收端。发送端采用PC、android系统或IOS系统的手机,将待传输的数据进行编码,生成二维码序列,PC或手机的屏幕用于循环播放二维码序列;接收端包括android系统的手机或IOS系统的手机。
基于动态二维码的数据传输方法,适用于所述的基于动态二维码的数据传输系统,包括:
S1、将待传输数据编码存入二维码,以每个二维码为一帧生成二维码序列,判断二维码序列的帧数,若不是3的倍数,通过添加校验帧的方式将二维码序列的帧数扩充为3的倍数;
S2、在每张二维码的外侧填充彩色边框,每一张仅填充一个颜色,依次填充为红、绿、蓝;
S3、发送端循环顺序播放带彩色边框的二维码序列,接收端通过拍照的采集二维码序列照片;
S4、采用透视变换法利用网格对二维码序列照片中的彩色边框和二维码进行采样,再对彩色边框中的采样点进行平滑和降噪;
S5、利用彩色边框判断S4中的二维码是否是一张混合二维码,若是混合的二维码,则判断出前一帧二维码区、混合二维码区和后一帧二维码区,再对混合二维码区进行等高线划分;
S6、对多个连续帧的混合二维码区中相同坐标的相同颜色通道,采用动态规划算法解算出一条最短路径,最短路径上的点就是解混合之后的二维码片段,如果得到了n张连续帧的混合二维码,那么n张混合二维码可以解混合为n+1张非混合二维码,然后将这n+1张非混合二维码按照接收端采集的相对先后顺序,并结合二维码中非混合区域,将所述二维码片段修复至相对应的二维码上;
S7、对修复后的二维码序列进行解码,若解码成功则将解码后的数据进行存储;若解码失败则利用前后解码成功的二维码ID,判断出解码失败的二维码ID并暂存,当再次收到的二维码具有解码失败的二维码ID时,将暂存的解码失败的二维码和再次收到的二维码组合更新,并重新解码,循环执行S7,直至二维码序列的每一帧均解码成功,数据传输完成。
进一步的,在S1中,将待传输数据存入二维码的方法为:
根据单张二维码图片所承载的信息容量,将待传输数据切割为不同的数据片段,并依次编码进二维码中;
对二维码所在帧和校验帧生成二维码ID,并将对应的二维码ID和二维码序列的帧数总数信息存入二维码序列中的每一帧。
进一步的,S4具体包括:
首先识别二维码左上、右上和左下的三个定位符,通过三个定位符初步判断右下角辅助定位符的位置,以初步判断出的位置为圆心,不断扩大搜索范围来寻找右下角辅助定位符的精确位置,根据定位符和辅助定位符的位置,通过透视变化法建立采样网格;
从采样网格中获取彩色边框和二维码所对应的区域;
对彩色边框对应区域中的每一个色彩通道采用Savitzky-Golay滤波器进行平滑。
进一步的,S5具体包括:
利用彩色边框四个顶点的RGB通道方差判断二维码是否是一张混合二维码;若是混合二维码,四个顶点的RGB通道中有一个通道值保持为0,因此得出混合的前后两帧二维码;
设置阈值为150±10,将前后两帧二维码四个顶点的RGB通道值和阈值进行比较,比较规则为:
对于下降的通道,大于阈值的部分属于前一帧二维码区,小于阈值的部分属于后一帧二维码区;对于上升通道,大于阈值的部分属于后一帧二维码区,小于阈值的部分属于前一帧二维码区;其他部分属于混合二维码区;
对于混合二维码区,确定上升、下降通道的最大和最小值,根据一定步长从最大值开始递减,利用每一个步长对应的边框值进行分组,每组就是混合二维码区中的一条等高线。
进一步的,S6包括:
对S5中,等高线划分后,每一组等高线所对应的上升通道的平均值记为p、下降通道的平均值记为q,计算采样点每个通道的值S与p,q,0和255的差值的绝对值,
利用多个连续帧的混合二维码区中相同坐标的相同颜色通道,构造出一个格图,然后使用动态规划算法找到格图中第一个阶段到最后一个阶段的最短路径,最短路径的表达式如下:
最短路径上的点就是解码之后的二维码片段。其中,stagei表示第i张混合的二维码,E表示由多张混合的二维码构成的图的所有边;cost(n,k)表示第n阶段的第k个点到最后一个阶段的最短路径长;cost(n,k+1)表示第n阶段的第k+1个点到最后一个阶段的最短路径长;cost(i,j)表示第i阶段的第j个点到最后一个阶段的最短路径长。Cj,p表示相邻两节点,节点j和节点p的距离。
本发明的有益效果是:
本发明在待解码的二维码外侧添加的彩色边框用于识别,通过彩色边框的识别,能够判断二维码图片是否发生了帧混合的情况,若发生了混合,通过彩色边框定位由于屏幕刷新所导致的帧混合的区域,再对混合区域进行解码,相比现有技术中增加播放帧率的方法,减少了所需传输的二维码总数,提高了链路质量,对混合区域先定位再解码的方式也提高了解析效率和正确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是实施例中数据传输的流程示意图;
图2是实施例中使用动态规划寻找最短路径的格图;
图3是实施例中对边框使用THRESHOLD进行区域划分的示意图;
图4是实施例中解混合的示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合具体实施方式对本发明作进一步详细描述。
本发明实施例提供了基于动态二维码的数据传输系统,包括发送端和接收端。发送端用于将待传输的数据编码生成二维码序列并用屏幕循环顺序播放;接收端用于拍摄发送端的屏幕,并将拍摄的二维码图片进行解码,数据的传输流程示意图如图1所示。
适用于基于动态二维码的数据传输系统的数据传输方法,包括:
1、二维码序列生成
首先,用户根据需求设置二维码版本、二维码校验级别和颜色编码方案。二维码版本和二维码校验级别遵循ISO/IEC 18004 2015标准,每张二维码有1-40个版本和4个不同等级的RS校验。根据用户选择的二维码版本和校验级别自动确定二维码的容量,将待传输数据进行拆分,并将拆分后的数据片段使用RaptorQ进行编码,将编码后的数据存入二维码中。
RGB编码每一个块所对应的二进制值与颜色的映射如下。同时使用相同的方法对校验帧进行编码。
表1数据表示以及对应的16进制RGB颜色
二进制数据 | 颜色 |
000 | 0xFFFFFF |
111 | 0x000000 |
100 | 0x00FFFF |
010 | 0xFF00FF |
001 | 0xFFFF00 |
110 | 0x0000FF |
011 | 0x00FFFF |
101 | 0xFF00FF |
采用RaptorQ进行帧间校验,并使用相同的方法对校验帧进行编码。RaptorQ会对每一个数据片段生成一个id进行标识,并在每一帧中加入数据帧的总数等信息。发送端和接收端需要对二维码的数量达成一致,在校验帧的个数最少是二维码数量的一半的前提下,通过增加最少数目的校验帧来保证二维码的总数是3的倍数以便于彩色边框的生成。对于接收端来说,一旦其解析出任意一张二维码,就可使用相同的方法计算包含校验帧在内的二维码的总数。
红、绿、蓝三种颜色分别对应RGB颜色空间中的向量[255,0,0]、[0,255,0]和[0,0,255]。对每张二维码的最外侧按照红、绿、蓝的顺序填充一个边框,在循环播放二维码序列时,边框颜色按照红、绿蓝的顺序进行。在二维码图片发生刷新时,一个颜色通道由0变为255、一个通道由255变为0、还有一个通道保持0不变。
2、二维码序列播放
发送端使用ffmpeg按照二维码id从小到达的顺序将带彩色边框的二维码序列生成视频,同时必须保证最低的分辨率是1000*1000、视频帧率小于等于27fps、视频持续时长大于1秒,若二维码图片过少不足以填充1秒的视频,则将源序列复制多份直到视频的持续时长大于1秒。视频生成完毕之后循环播放生成的视频来进行数据的发送。
3、接收端采集二维码图片
接收端使用相机对准发送端的屏幕拍摄二维码序列,可以采用录像之后解码或者实时预览解码两种策略。虽然两种策略实现方式不同,但是均可达到30fps的捕捉帧率。
4、接收端解析二维码
接收端将拍摄的视频每一帧提取成png格式的照片,并把每20张照片分成一组(或者将预览所捕捉到的连续20张图片分成一组),再对每一组单独进行解码。
(1)边框颜色采样和平滑
寻找每一张图片的二维码的三个定位点和右下角的一个辅助定位点(遵循标准ISO/IEC 18004 2015),通过透视变换建立采样网格。由于需要对边框颜色进行采样,需要将大小为n*n的采样网格扩充成(n+2)*(n+2)大小的采样网格,来同时对边框和二维码数据进行采样。为了降低采样点的噪声,需要获取采样点周围的8个点的采样值。假设采样点的坐标是(x,y),那么就该点周围的8个点(x-1,y-1)、(x-1,y)、(x+1,y)、(x,y-1)、(x,y+1)、(x-1,y+1)、(x-1,y+1)、(x+1,y+1)进行采样,并将一共9个点采样值的RGB三通道数值分别取平均值作为采样网格中每个点的最终采样值。
按右上角-左上角-左下角-右下角-左上角的顺序取得采样网格中最外侧的“回”字形状的采样点作为二维码的边框,并将边框上的采样点按照采样先后顺序组成一个列表A。二维码的数据区域对应的是,采样网格中从第三行第三列开始至倒数第三行第三列的区域。
将列表A中的采样点的每一个通道使用Savitzky-Golay滤波器进行平滑。Savitzky-Golay滤波器有两个参数:order(阶数)和framelength(窗口大小),设置order=3、framelength=41。为了解决Savitzky-Golay滤波器所带来的吉布斯现象,本实施例将列表A的首尾各(framelength-1)/2个元素补充到B的结尾和开头,相当于将列表A扩展(framelength-1)个长度之后再使用Savitzky-Golay滤波器对列表A进行平滑,最后再将首尾长度(framelength-1)/2删去即为平滑之后的列表A。
(2)等高线的划分
若图片中是一张完整的没有发生混合的二维码,那么该二维码的列表A的三个颜色通道的波动幅度很小;若图片中的二维码出现了混合,那么列表A的两个颜色通道会有比较大的波动,因为一个通道从255变为0,另一个从0变为255,还有一个通道保持0。
将列表A中元素三个通道的标准差记为std(R)、std(G)、std(B),若任意std(a)<15,a∈[R,G,B]则该二维码未发生混合,若任意std(a)>15a∈[R,G,B]则该二维码发生混合。
在一个混合的二维码中,列表A中元素三个通道的平均值记为mean(R)、mean(G)、mean(B)。通过std(a)和mean(a),a∈[R,G,B]来找到保持0的通道,使用下表来判断剩下的两个通道的变化情况。
对于非混合的二维码,不需要对其划分等高线。对于混合的二维码则需要对其进行等高线的划分。
等高线主要分为三个区域:前一帧二维码区(称为pre_area)、混合区(mixed_area)和后一帧二维码区(post_area)。从上述内容可知边框会被分为RGB三个通道,每个通道当作一个列表。设置阈值THRESHOLD=150,将一个发生变化的通道的列表分成两个没有相同元素的子列表。
如图3所示,图中有两个变化的通道R和B通道,并且G通道是没有变化的通道。通过THRESHOLD可以将R和B通道分别切分为两个区域。
对于下降的通道,大于THRESHOLD的部分值属于前一个二维码边框,小于THESRESHOLD的部分值属于后一个二维码的边框。相反,对于上升通道,大于THESRESHOLD的部分值属于后一个二维码的边框,较小的部分值属于前一个二维码的边框。那么,前一个二维码的边框是由下降通道大于THRESHOLD部分和上升通道小于THRESHOLD部分的交集组成;后一个二维码的边框是下降通道小于THRESHOLD部分和上升通道大于THRESHOLD部分的交集组成;最终,边框的其他部分就是边框的混合区。
此时,列表A已经被分成了三个区域,再次按照右上角-左上角-左下角-右下角-左上角的顺序把列表A中的采样点以及对应的三个区域映射到边框对应的位置上。再使用中点Bresenham法在生成一条线段连接后一个二维码边框的两个顶点和前一个二维码边框的两个顶点。此时整张二维码就被分割成了三个完全不相交的区域,也就是上述的pre_area、mixed_area和post_area。
对于post_area和pre_area,他们只有一条等高线。mixed_area中需要对等高线进行细分。mixed_area的边框一个通道由0变为255,另一个通道由255变为0。首先获取列表A混合区域中上升(下降)通道的最大值ymax和最小值ymin,然后按照步长step=5的大小从ymax开始向下递减,以长度step对边框的值分组,每一组就是混合区中的一条等高线。
目前边框的混合区中被分成了多组,把每一组等高线映射到边框所对应的位置上,使用中点Bresenham法连接同一组中的边框的顶点。此时,混合区中的二维码会被分割为多个不相交的多边形,求出每一组中等高线所对应的上升通道的平均值记为p、下降通道的平均值记为q。
5、二维码解混合
对于一张混合的二维码,我们仅需解混合mixed_area。由于是20张图片进行一次解码,并且每一张图片的mixed_area都被分为了不同数量的等高线,每条等高线有一个相同的p和q,二维码数据区中,每一个采样点均有一个保存了RGB颜色向量的采样值。然后计算采样点每个通道的值S与p,q,0和255的差值的绝对值,如下公式。d1到d4为采样点的值距离四个参考值的距离。
连续多张二维码的混合区域的相同坐标的相同通道可以构造出一个格图,如图2所示,图的定义如下表。
使用如下动态规划算法寻找相同坐标相同通道从第一张二维码到最后一张二维码之间的一条最短路径,如图2所示,最短路径中所经过的点就是混合区域解混合之后的数据。该算法仅给出了一条通道下的计算公式,由于要计算RGB三个通道,则仅需要重复3次即可。
计算二维码中每个点到mixed_area距离。mixed_area中的点的距离全部为0。pre_area和post_area中分别计算两个区域中的点到两条由前述Bresenham算法生成的线段的距离,并把所有的点到mixed_area的距离保存到n*n大小的矩阵D的相对应的坐标中。
如图4中原本二维码颜色的变化情况是蓝色--红色--绿色--蓝色--红色。图4中的4张二维码中s1、s2、s3、s4对应的点分别为蓝色和红色的混合、红色和绿色的混合、绿色和蓝色的混合、蓝色和红色的混合。s1到s4的中R通道采样值s和的所对应的等高线中的p和q的值均标注在了下方的方框中。s1到s4对应的d1到d4的值也标注在了对应的横线上。通过使用动态规划算法,可以找到从图4中阶段1到阶段5的最短路径所对应的点的值为0、255、0、0、255,他们和蓝色--红色--绿色--蓝色--红色对应的红色通道值相同。
6、二维码解码
将解混合之后得到的二维码使用二维码解码器进行解码。若其中的某一些二维码成功解码,则提取该二维码的id并存储二维码的数据,若是首次成功解析二维码,则接收端会计算二维码总数并开辟相对应大小的内存空间来保存解码失败的二维码和矩阵D。若二维码解码失败,则使用已经成功解码的二维码的id和该二维码和成功解码的二维码的相对距离推算出该二维码的id并做标记。若这些二维码没有一张解析完成,那么就将该组所有的二维码全部丢弃。
7、二维码暂存
若二维码解析成功,则对相对应的id标记“解析完成”,并对该id所对应的内存空间进行释放。对于解析失败的二维码,系统会根据二维码id将解析失败的二维码和其对应的矩阵D存储到相对应的内存区域。
当接收到新的k1个二维码的时候,首先通过二维码id判断是否已经接收到了该二维码;若之前未接收,则将id对应的二维码和D矩阵保存到内存;若之前已经接收,则将新的D矩阵和旧的D矩阵的每一个不同坐标所对应元素进行比较,若新的D矩阵的元素值较大,则保存新接收到的二维码所对应坐标的值,并更新D矩阵;若新的D矩阵的元素值较小,则不做任何操作。
若某一id的二维码得到了更新,那么将更新过后的二维码再一次进行解码,若解码成功则标记“解析完成”然后对该id所对应的内存空间进行释放;若解码失败则重复上述操作。
效果验证:
发送端使用版本为15的二维码一共编码了60张数据二维码和30张校验二维码,并以27fps的帧率播放。接收端和发送端相距12cm进行录像。
实验表明:当采用本发明时,传输1组10帧图片,需要解码使用超过130张二维码才能完成传输。
当使用本实施例方法时,传输1组20帧图片,解码的二维码数量降低到了80张。因此,本发明可以显著降低传输所需的二维码数量,降低传输成本,提高效率。
本发明的有益效果是:
本发明在待解码的二维码外侧添加的彩色边框用于识别,通过彩色边框的识别,能够判断二维码图片是否发生了帧混合的情况,若发生了混合,通过彩色边框定位由于屏幕刷新所导致的帧混合的区域,再对混合区域进行解码,相比现有技术中增加播放帧率的方法,减少了所需传输的二维码总数,提高了链路质量,对混合区域先定位再解码的方式也提高了解析效率和正确率;
本发明提出的彩色二维码的容量是黑白二维码容量的3倍,并且一张彩色二维码中存储一个RaptorQ码,降低了RaptorQ码包头数据的占比,提高了空间利用率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.基于动态二维码的数据传输系统,其特征在于,包括发送端和接收端,所述发送端采用PC、android系统或IOS系统的手机,将待传输的数据进行编码,生成二维码序列,PC或手机的屏幕用于循环播放二维码序列;
所述接收端包括android系统的手机或IOS系统的手机。
2.基于动态二维码的数据传输方法,适用于如权利要求1所述的基于动态二维码的数据传输系统,其特征在于,包括:
S1、将待传输数据编码存入二维码,以每个二维码为一帧生成二维码序列,判断二维码序列的帧数,若不是3的倍数,通过添加校验帧的方式将二维码序列的帧数扩充为3的倍数;
S2、在每张二维码的外侧填充彩色边框,每一张仅填充一个颜色,依次填充为红、绿、蓝;
S3、发送端循环顺序播放带彩色边框的二维码序列,接收端通过拍照的采集二维码序列照片;
S4、采用透视变换法利用网格对所述二维码序列照片中的彩色边框和二维码进行采样,再对彩色边框中的采样点进行平滑和降噪;
S5、利用所述彩色边框判断S4中的二维码是否是一张混合二维码,若是混合的二维码,则判断出前一帧二维码区、混合二维码区和后一帧二维码区,再对混合二维码区进行等高线划分;
S6、对多个连续帧的混合二维码区中相同坐标的相同颜色通道,采用动态规划算法解算出一条最短路径,最短路径上的点就是解混合之后的二维码片段,如果得到了n张连续帧的混合二维码,那么n张混合二维码可以解混合为n+1张非混合二维码,然后将这n+1张非混合二维码按照接收端采集的相对先后顺序,并结合二维码中非混合区域,将所述二维码片段修复至相对应的二维码上;
S7、对修复后的二维码序列进行解码,若解码成功则将解码后的数据进行存储;若解码失败则利用前后解码成功的二维码ID,判断出解码失败的二维码ID并暂存,当再次收到的二维码具有解码失败的二维码ID时,将暂存的解码失败的二维码和再次收到的二维码组合更新,并重新解码,循环执行S7,直至二维码序列的每一帧均解码成功,数据传输完成。
3.根据权利要求2所述的基于动态二维码的数据传输方法,其特征在于,在所述S1中,将所述待传输数据存入二维码的方法为:
根据单张二维码图片所承载的信息容量,将所述待传输数据切割为不同的数据片段,并依次编码进所述二维码中;
对所述二维码所在帧和所述校验帧生成所述二维码ID,并将对应的所述二维码ID和所述二维码序列的帧数总数信息存入所述二维码序列中的每一帧。
4.根据权利要求2所述的基于动态二维码的数据传输方法,其特征在于,所述S4具体包括:
首先识别二维码左上、右上和左下的三个定位符,通过三个定位符初步判断右下角辅助定位符的位置,以初步判断出的位置为圆心,不断扩大搜索范围来寻找右下角辅助定位符的精确位置,根据所述定位符和辅助定位符的位置,通过透视变化法建立采样网格;
从所述采样网格中获取所述彩色边框和所述二维码所对应的区域;
对所述彩色边框对应区域中的每一个色彩通道采用Savitzky-Golay滤波器进行平滑。
5.根据权利要求2所述的基于动态二维码的数据传输方法,其特征在于,所述S5具体包括:
利用所述彩色边框四个顶点的RGB通道方差判断所述二维码是否是一张混合二维码;若是混合二维码,所述四个顶点的RGB通道中有一个通道值保持为0,因此得出混合的前后两帧二维码;
设置阈值为150±10,将前后两帧二维码四个顶点的RGB通道值和阈值进行比较,比较规则为:
对于下降的通道,大于阈值的部分属于前一帧二维码区,小于阈值的部分属于后一帧二维码区;对于上升通道,大于阈值的部分属于后一帧二维码区,小于阈值的部分属于前一帧二维码区;其他部分属于混合二维码区;
对于混合二维码区,确定上升、下降通道的最大和最小值,根据一定步长从最大值开始递减,利用每一个步长对应的边框值进行分组,每组就是混合二维码区中的一条等高线。
6.根据权利要求2所述的基于动态二维码的数据传输方法,其特征在于,所述S6包括:
对S5中,所述等高线划分后,每一组等高线所对应的上升通道的平均值记为p、下降通道的平均值记为q,计算所述采样点每个通道的值S与p,q,0和255的差值的绝对值,
利用多个连续帧的混合二维码区中相同坐标的相同颜色通道,构造出一个格图,然后使用动态规划算法找到格图中第一个阶段到最后一个阶段的最短路径,最短路径的表达式如下:
所述最短路径上的点就是所述解码之后的二维码片段。
其中,stagei表示第i张混合的二维码,E表示由多张混合的二维码构成的图的所有边;cost(n,k)表示第n阶段的第k个点到最后一个阶段的最短路径长;cost(n,k+1)表示第n阶段的第k+1个点到最后一个阶段的最短路径长;cost(i,j)表示第i阶段的第j个点到最后一个阶段的最短路径长。Cj,p表示相邻两节点,节点j和节点p的距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011562817.XA CN112651258A (zh) | 2020-12-25 | 2020-12-25 | 基于动态二维码的数据传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011562817.XA CN112651258A (zh) | 2020-12-25 | 2020-12-25 | 基于动态二维码的数据传输方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112651258A true CN112651258A (zh) | 2021-04-13 |
Family
ID=75364605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011562817.XA Pending CN112651258A (zh) | 2020-12-25 | 2020-12-25 | 基于动态二维码的数据传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112651258A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055090A (zh) * | 2021-05-11 | 2021-06-29 | 吉林大学 | 与拍摄方位无关的多光源光学成像通信系统 |
CN113641431A (zh) * | 2021-08-04 | 2021-11-12 | 青岛海信移动通信技术股份有限公司 | 二维码的增强显示的方法和终端设备 |
CN114268454A (zh) * | 2021-11-18 | 2022-04-01 | 南京国电南自维美德自动化有限公司 | 一种用于物理隔离环境的数据摆渡方法 |
CN114885171A (zh) * | 2022-03-31 | 2022-08-09 | 南京航空航天大学 | 一种基于差分编码的动态二维码纠错方法 |
CN114998454A (zh) * | 2022-05-09 | 2022-09-02 | 西南交通大学 | 一种动态多色码的生成、解析方法 |
-
2020
- 2020-12-25 CN CN202011562817.XA patent/CN112651258A/zh active Pending
Non-Patent Citations (1)
Title |
---|
TONGYU WANG 等: "FareQR : Fast and Reliable Screen-Camera Transfer System for Mobile Devices using QR Code", 《2020 IEEE/ACM SYMPOSIUM ON EDGE COMPUTING (SEC)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055090A (zh) * | 2021-05-11 | 2021-06-29 | 吉林大学 | 与拍摄方位无关的多光源光学成像通信系统 |
CN113055090B (zh) * | 2021-05-11 | 2022-03-22 | 吉林大学 | 与拍摄方位无关的多光源光学成像通信系统 |
CN113641431A (zh) * | 2021-08-04 | 2021-11-12 | 青岛海信移动通信技术股份有限公司 | 二维码的增强显示的方法和终端设备 |
CN114268454A (zh) * | 2021-11-18 | 2022-04-01 | 南京国电南自维美德自动化有限公司 | 一种用于物理隔离环境的数据摆渡方法 |
CN114268454B (zh) * | 2021-11-18 | 2023-12-22 | 南京国电南自维美德自动化有限公司 | 一种用于物理隔离环境的数据摆渡方法 |
CN114885171A (zh) * | 2022-03-31 | 2022-08-09 | 南京航空航天大学 | 一种基于差分编码的动态二维码纠错方法 |
CN114998454A (zh) * | 2022-05-09 | 2022-09-02 | 西南交通大学 | 一种动态多色码的生成、解析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112651258A (zh) | 基于动态二维码的数据传输方法和系统 | |
US10021418B2 (en) | Method and apparatus of candidate generation for single sample mode in video coding | |
US7440614B2 (en) | Method of extracting contour of image, method of extracting object from image, and video transmission system using the same method | |
CN106937121A (zh) | 图像解码和编码方法、解码和编码装置、解码器及编码器 | |
ES2647514T3 (es) | Codificación adaptativa de particiones | |
ES2334507T3 (es) | Proceso para la descompresion de videos con base en el objeto empleando caracteristicas conformadas arbitrariamente. | |
CN109743570B (zh) | 一种屏幕内容视频的压缩方法 | |
US20170155899A1 (en) | Image compression method and apparatus using matching | |
US20160100161A1 (en) | Decoder, encoder, decoding method, encoding method, and codec system | |
US10692249B2 (en) | Octree traversal for anchor point cloud compression | |
CN1450796A (zh) | 检测和/或追踪图像或图像序列中颜色区域的方法和装置 | |
US11321878B2 (en) | Decoded tile hash SEI message for V3C/V-PCC | |
CN108234973A (zh) | 投影控制装置、投影控制方法以及记录介质 | |
CN108491747B (zh) | 一种融合图像后美化qr码的方法 | |
US8275048B2 (en) | Video encoding method and apparatus, video decoding method and apparatus, programs therefor, and storage media for storing the programs | |
CN108462878B (zh) | 基于关键帧和指示符运动模型的教学视频压缩算法 | |
CN116112675A (zh) | 一种视频编码方法和视频编码系统 | |
CN105991937A (zh) | 一种基于Bayer格式图像的虚拟曝光方法及装置 | |
CN113037947B (zh) | 一种连续动态图像中空间信息的编码方法 | |
WO2018120230A1 (zh) | 图像滤波方法、装置以及设备 | |
CN114885171A (zh) | 一种基于差分编码的动态二维码纠错方法 | |
CN104284207B (zh) | 一种基于视频图像的信息传输方法 | |
KR101996064B1 (ko) | 영상을 이용한 데이터 인코딩 방법, 영상을 이용한 데이터 디코딩 방법 및 영상을 이용한 데이터 전달 장치 | |
CN105791879B (zh) | 视频码流错误隐藏中丢失块的运动矢量补偿方法与系统 | |
CN110475044A (zh) | 图像传输方法和装置、电子设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210413 |