二维码摆渡方法、编码方法、解码方法及装置与流程

文档序号:20205398发布日期:2020-03-31 10:03阅读:1035来源:国知局
二维码摆渡方法、编码方法、解码方法及装置与流程

本公开涉及计算机技术领域,尤其涉及一种二维码摆渡方法及装置。



背景技术:

基于二维码的数据摆渡技术是一种物理隔离的数据传输技术,发送端把数据编码成二维码接收端利用摄像机把二维码拍下并解析成数据的过程。该常被用在解决内外网隔离造成的数据同步困难问题。

现有的技术一般都采用发送端显示一张二维码,接收端采用一个摄像机拍摄二维码视频并解码方式,当传输数据大于一张二维码图片能容纳的数据时候,那么数据就要编码成多张二维码,并动态将多张二维码一张张的显示,动态地显示二码维目前一般实现的方式是发送端直接把数据包拆分成多个数据块,每块数据块都打上一个序号标签并编码成二维码序列,接收端把这些二维码解析出来之后,就根据序号标签重新组成数据包的过程,其不足在于:采用现有技术的方法,其编码效率低,传输速度低。



技术实现要素:

为了解决上述技术问题中的至少一个,本公开提供了一种二维码摆渡方法、编码方法、解码方法及装置,提高数据传输速率。

本公开的第一方面,二维码编码方法,用于在发送端执行,所述发送端设置有用于供接收端的摄像头一对一拍摄的至少两个显示屏;所述方法包括:

将数据拆分成至少两个数据包,所述数据包包含id;

将每个数据包拆分为至少两个数据块,使得每个所述数据块所需容量均不大于二维码数据容量,所述数据块包含id;

编码每个数据块,以生成每个数据块的二维码;

根据数据块的二维码生成数据包的二维码组合图,所述数据包的二维码组合图由该数据包的至少两个数据块的二维码排列组成;

控制每个显示屏分别显示相应数据包的二维码组合图。

可选的,所述将数据拆分成至少两个数据包,包括:

获取所述发送端的显示屏数量n;

将数据拆分成n个数据包。

可选的,所述根据数据块的二维码生成数据包的二维码组合图,包括:

将第一设定数据块的二维码按矩阵方式排列,以形成该数据包的二维码组合图;所述第一设定数据块为同个数据包拆分得到的预设数量的数据块。

本公开的第二方面,二维码解码方法,用于在接收端执行,所述接收端设置有用于一对一拍摄发送端的显示屏的至少两个摄像头;所述方法包括:

控制每个摄像头拍摄与相应显示屏的二维码组合图;

解析每个摄像头拍摄的二维码组合图,以获得数据块;

根据获得的数据块的id,将数据块合并成数据包;

根据合并的数据包的id,将数据包合并成发送端所发送的数据。

可选的,所述根据获得的数据块的id,将数据包合并成数据包,包括:

根据第二设定数据块的id,将第二设定数据块并成数据包,所述第二设定数据块为解析同个摄像头拍摄的二维码组合图所得到的数据块。

本公开的第三方面,二维码摆渡方法,其特征在于,包括本公开第一方面任一所述的二维码编码方法和本公开的第二方面任一所述的二维码解码方法。

本公开的第四方面,二维码编码装置,包括:

数据拆分模块,用于将数据拆分成至少两个数据包,所述数据包包含id;

数据包拆分模块,用于将每个数据包拆分为至少两个数据块,使得每个所述数据块所需容量均不大于二维码数据容量,所述数据块包含id;

编码模块,用于编码每个数据块,以生成每个数据块的二维码;

组合图生成模块,用于根据数据块的二维码生成数据包的二维码组合图,所述数据包的二维码组合图由该数据包的至少两个数据块的二维码排列组成;

第一控制模块,用于控制每个显示屏分别显示相应数据包的二维码组合图。

可选的,所述根据数据块的二维码生成数据包的二维码组合图,包括:

将第一设定数据块的二维码按矩阵方式排列,以形成该数据包的二维码组合图;所述第一设定数据块为同个数据包拆分得到的预设数量的数据块。

本公开的第五方面,二维码解密装置,其特征在于,包括:

第二控制模块,用于控制每个摄像头拍摄与相应显示屏的二维码组合图;

解析模块,用于解析每个摄像头拍摄的二维码组合图,以获得数据块;

数据块合并模块,用于根据解析模块获得的数据块的id,将数据块合并成数据包;

数据包合并模块,用于根据数据块合并模块合并的数据包的id,将数据包合并成发送端所发送的数据。

可选的,所述根据解析模块获得的数据块的id,将数据包合并成数据包,包括:

根据第二设定数据块的id,将第二设定数据块并成数据包,所述第二设定数据块为解析同个摄像头拍摄的二维码组合图所得到的数据块。

发送端通过将数据拆分成至少两个数据包,以及将每个数据包拆分为至少两个数据块,并将数据包的至少两个数据块的二维码排列组成数据包的二维码;每个显示屏显示一个数据包的二维码组合图。这样使得接收端的每个摄像头可以拍摄一个显示屏的二维码组合图,以获得对应的数据包的数据块的二维码,由于数据块和数据包均包含id,使得接收端识别二维码后可以根据id合并数据块和数据包。本公开的技术方案通过多个显示屏显示二维码组合图,通过多个摄像头拍摄显示屏的二维码组合图,基于二维码组合图得到数据,可以提高数据的传输效率,克服了现有技术中传输速率过慢的问题。

附图说明

附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。

图1是本公开实施例中的二维码编码方法和二维码解码方法所采用的一种设备的示例性结构示意图。

图2是本公开一个实施例中的二维码编码方法的示例性流程图;

图3是本公开一个实施例中的二维码码解方法的示例性流程图;

图4是本公开一个实施例中的二维码码解装置的示例性流程图;

图5是本公开一个实施例中的二维码码解装置的示例性流程图。

具体实施方式

下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。

需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开。

如图1和图2所示,二维码编码方法,用于在发送端1执行,发送端设置有用于供接收端2的摄像头3一对一拍摄的至少两个显示屏4;方法包括:

步骤s1:将数据拆分成至少两个数据包,数据包包含id;

步骤s2:将每个数据包拆分为至少两个数据块,使得每个数据块所需容量均不大于二维码数据容量,数据块包含id;

步骤s3:编码每个数据块,以生成每个数据块的二维码;

步骤s4:根据数据块的二维码生成数据包的二维码组合图,数据包的二维码组合图由该数据包的至少两个数据块的二维码排列组成;

步骤s5:控制每个显示屏分别显示相应数据包的二维码组合图。

本公开的技术方案基于多摄像头和多界面,如图1所示,发送端1设置有用于供接收端的摄像头一对一拍摄的至少两个显示屏3,与接收端2设置的用于一对一拍摄发送端的显示屏的至少两个摄像头4配合;

发送端通过将数据拆分成至少两个数据包,以及将每个数据包拆分为至少两个数据块,并将数据包的至少两个数据块的二维码排列组成数据包的二维码;每个显示屏显示一个数据包的二维码组合图。这样使得接收端的每个摄像头可以拍摄一个显示屏的二维码组合图,以获得对应的数据包的数据块的二维码,由于数据块和数据包均包含id,使得接收端识别二维码后可以根据id合并数据块和数据包。

本公开的技术方案通过多个显示屏显示二维码组合图,一次可以传输多个二维码,提高数据的传输效率。相对于现有技术,本公开的技术方案若采用n个摄像机,数据包的二维码组合图由该数据包的m个数据块的二维码排列组成;那么本技术方案的传输速度理论上是单个二维码单个摄像传输的速率的nxm倍,传输效率成指数级增长。

可以知道的,数据拆分成数据包的数量一般与显示屏的数量一致。可以根据实际情况设置。

可以知道的,编码每个数据块以生成每个数据块的二维码时,如果有数据块的容量小于二维码的容量,则可以用0补足。

可以知道的,控制每个显示屏分别显示相应数据包的二维码组合图,指的每个显示屏显示一个数据包的二维码组合图,如1号显示屏显示数据包1的二维码组合图,2号显示屏显示数据包2的二维码组合图,3号显示屏显示数据包括3的二维码组合图。如果一个数据包的二维码组合图有多张,可以按一定频率顺序播放二维码组合图。

作为上述实施方式的可选方案,将数据拆分成至少两个数据包,包括:

获取发送端的显示屏数量n;

将数据拆分成n个数据包。

自动获取发动端的显示屏数量n,根据显示屏数量n自动调整数据拆分成数据包的数据量,进而在需要增加传输效率时,直接增加显示屏及对应的摄像头数量即可,便于调整传输效率。

作为上述实施方式的可选方案,根据数据块的二维码生成数据包的二维码组合图,包括:

将第一设定数据块的二维码按矩阵方式排列,以形成该数据包的二维码组合图;第一设定数据块为同个数据包拆分得到的预设数量的数据块。

预设数量可以根据需要设置,如设置成六;即当同一数据包的数据块超过六个时,可以将前六个数据块的二维码矩形按矩阵方式排列形成数据包的二维码组合图,再依次将后面的六个数据块的二维码矩形按矩阵方式排列数据包的二维码组合图;当最后的数据块不足六个时,可以将不足的部分以背景色代替。

如图1和图3所示,二维码解码方法,用于在接收端2执行,接收端2设置有用于一对一拍摄发送端1的显示屏3的至少两个摄像头4;方法包括:

步骤y1:控制每个摄像头拍摄与相应显示屏的二维码组合图;

步骤y2:解析每个摄像头拍摄的二维码组合图,以获得数据块;

步骤y3:根据获得的数据块的id,将数据块合并成数据包;

步骤y4:根据合并的数据包的id,将数据包合并成发送端所发送的数据。

本公开的二维码解码方法与二维码编码方法配合,采用多个摄像头拍摄二维码组合图,并解析二维码组合图中的二维码以获得数据块,并将数据块合并成数据包,数据包合并成发送端所发送的原始数据;其原理与二维码编码相同,克服了现有技术中传输速率过慢的问题。

可以知道的,控制每个摄像头拍摄与相应显示屏的二维码组合图,即一个摄像头拍摄一个显示屏,获得一个显示屏显示的二维码组合图。

作为上述实施方式的可选方案,根据获得的数据块的id,将数据包合并成数据包,包括:

根据第二设定数据块的id,将第二设定数据块并成数据包,第二设定数据块为解析同个摄像头拍摄的二维码组合图所得到的数据块。

根据同个摄像头拍摄的二维码组合图所得到的数据块生成数据包,使得不同摄像头拍摄的二维码组合图所得到的数据块合并时相互不干扰。提高解析效率。

本实施例还公开了二维码摆渡方法,包括上述实施方式中任一所述的二维码编码方法和上述实施方式中任一所述的二维码解码方法。

如图4所示,二维码编码装置,包括:

数据拆分模块11,用于将数据拆分成至少两个数据包,数据包包含id;

数据包拆分模块12,用于将每个数据包拆分为至少两个数据块,使得每个数据块所需容量均不大于二维码数据容量,数据块包含id;

编码模块13,用于编码每个数据块,以生成每个数据块的二维码;

组合图生成模块14,用于根据数据块的二维码生成数据包的二维码组合图,数据包的二维码组合图由该数据包的至少两个数据块的二维码排列组成;

第一控制模块15,用于控制每个显示屏分别显示相应数据包的二维码组合图。

作为上述实施方式的可选方案,根据数据块的二维码生成数据包的二维码组合图,包括:

将第一设定数据块的二维码按矩阵方式排列,以形成该数据包的二维码组合图;第一设定数据块为同个数据包拆分得到的预设数量的数据块。

该装置的原理和效果可以参考二维码编码方法的原理和效果,本实施方式不再详细描述。

如图5所示,二维码解密装置,包括:

第二控制模块21,用于控制每个摄像头拍摄与相应显示屏的二维码组合图;

解析模块22,用于解析每个摄像头拍摄的二维码组合图,以获得数据块;

数据块合并模块23,用于根据解析模块获得的数据块的id,将数据块合并成数据包;

数据包合并模块24,用于根据数据块合并模块合并的数据包的id,将数据包合并成发送端所发送的数据。

作为上述实施方式的可选方案,根据解析模块获得的数据块的id,将数据包合并成数据包,包括:

根据第二设定数据块的id,将第二设定数据块并成数据包,第二设定数据块为解析同个摄像头拍摄的二维码组合图所得到的数据块。

该装置的原理和效果可以参考二维码解码方法的原理和效果,本实施方式不再详细描述。

下面以发送k字节大小的数据为了进行说明:

假设情景:发送端要把k字节大小的数据传送到接收端,每张二维码能容纳的数据大小为s字节,在n个摄像机、每个机采集m个二维码。:

1、首先把k数据分成n个数据包,然后再对每个数据包进行数据分块,每块数据的大小为s字节。过程如下:

1)、把k数据分成n个数据包,每个数据包都打上包的id号。如图1情景,显示屏的数量为3时,n设为3,即把k数据分成3包。

2)、分成n个数据包后,再对每个数据块进行分块,分成n个数据块,每个数据块的大小为s字节并打id号,最后的数据块不够s字节就补0。

2、将分好的数据块以二维码的形式显示。

1)、根据数据包的id号把数据送到相应的显示屏数据缓存。如图1情景:按照显示屏从上到下顺序,把id号0、1、2的数据包分别送到相应显示屏缓存。

2)、显示屏缓存收到数据包后,就按照上述的机制进行分块并生成二维码n个二维码图像。

3)、最后,每个显示屏每次显示多张二维码(如每个显示屏每次显示6张二维码),直到当前数据包生成的二维码显示完成为止。

3、采集二维码图像并解析成数据。

1)、摄像头和显示屏的编号为一一对应,从上到下为0、1、2……n,程序通过摄像机采集图像并解析成数据。

4、数据包合并。

1)、将每个摄像机采集图像并解析出来的数据块根据事先分好的数据块id进行合并,合并出来的就是一个数据包。

2)、将合并出来的数据包根据数据包id进行合并,就是原数据。

本公开的技术方案克服了现有技术中传输速率过慢的问题,可以有效提高通过二维码传输数据的效率。

在本说明书的描述中,参考术语“一个实施例/方式”、“一些实施例/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例/方式或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例/方式或示例以及不同实施例/方式或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。

当前第1页1 2 3 
网友询问留言 已有1条留言
  • 158150... 来自[中国] 2023年11月04日 16:08
    二维码摆渡机
    0
1