基于彩色动态图像的数据传输系统的制作方法

文档序号:7801908阅读:491来源:国知局
基于彩色动态图像的数据传输系统的制作方法
【专利摘要】一种基于彩色动态图像的数据传输系统,包括:发送端部分,接收端部分;所述发送端部分包括数据获取模块、数据压缩模块、数据分段模块、数据编码模块、数据校验处理模块和数据发送模块;所述接收端部分包括进程数据接收模块,数据整合模块,数据解码模块,数据解压模块,数据纠错模块,数据写入模块。本发明具有较高的零介质数据传输速度以及良好的用户体验,便捷高效地实现文件传输,实现不同设备终端之间无需任何线材,网络环境即可进行文件传输。本发明能够运用在任何领域和任何环境,可以极大地提高各领域的工作效率。
【专利说明】基于彩色动态图像的数据传输系统
【技术领域】
[0001]本发明涉及一种基于数据编码和图像识别技术的彩色动态二维码数据传输系统,属于信息【技术领域】。
【背景技术】
[0002]数据(Data)是载荷或记录信息的按一定规则排列组合的物理符号。可以是数字、文字、图像,也可以是计算机代码。
[0003]在计算机和互联网高度发达的今天,信息爆炸的时代已经到来,数据传输随处随时都在进行。数据传输(data transmission)就是依照适当的规程,经过一条或多条链路,在数据源和数据宿之间传送数据的过程。也表示借助信道上的信号将数据从一处送往另一处的操作。数据传输可以方便地实现远程文件和多媒体信息的传输。
[0004]二维码(2-dimensional bar code),又称二维条码,最早起源于日本,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共孚等等。
[0005]但二维码的安全性也正备受挑战,带有恶意软件和病毒正成为二维码普及道路上的绊脚石。发展与防范二维码的滥用正成为一个亟待解决的问题。
[0006]二维码能存储汉字、数字和图片等信息,每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能及处理图形旋转变化等特点。
[0007]图像识别,是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。
[0008]汉明码是一个错误校验码码集,由Bell实验室的R.ff.Hamming发明,因此定名为汉明码。与其他的错误校验码类似,汉明码利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据只有一位出错的情况下指明错误位置。
[0009]LZSS算法是基于动态字典的压缩方法。它的字典是一个文本窗口。这个文本窗口包括字典窗口和缓冲区两部分。一般情况下字典窗口比缓冲区大得多。字典窗口内以二叉树为数据结构存储着最近的输入文本。缓冲区是大小固定的一个顺序结构的存储区。
[0010]LZSS算法的流程:先对缓冲区和二叉树进行初始化。然后从输入数据端(即待压缩文件)读取字符串放入缓冲区,与树中内容进行比较。若缓冲区内的一个字符串可匹配,则对此进行编码并输出,再补充与其等长的字符,将此字符串插入字典树并在字典树中删除一个最老的串。若不能匹配,则直接输出该字符并将一个新字符放入缓冲区。
[0011]现有技术之中,基于二维码的数据传输系统相对成熟完备,但是二维码以及现存的一些动态二维码存在容量过小,速度过慢,安全性不佳等缺点,使得其应用范围被大大缩 小。

【发明内容】

[0012]本发明的技术解决问题是:克服现有技术的不足,提供一种基于图像识别技术的彩色动态二维码数据传输系统,具有良好的用户体验,能够完备地传输大量信息,适宜平面媒体宣传,表单识别,信息加密,票务证照等应用领域。
[0013]本发明技术解决方案:一种基于图像识别技术的彩色动态二维码数据传输系统,其特征在于包括:数据的发送端和数据的接收端;所述数据发送端包括数据获取模块、数据压缩模块、数据分段模块,数据校验处理模块、数据编码模块,数据发送模块;所述数据接收端包括数据接收模块,数据解码部模块,数据纠错模块,数据整合模块,数据解压模块,数据写入模块。
[0014]数据获取模块:实现对传输数据的获取;根据用户在发送端人机交互界面上的设置,确定彩色动态二维码的参数,包括:颜色数、单张X轴色块数,单张I轴色块数,发送帧率,(如果用户不设置,将采用默认参数);根据用户在发送端人机交互界面上对数据路径的设置,获取数据;获取的数据传递给数据压缩模块。
[0015]数据压缩模块:实现对传输信息的压缩;压缩算法为LZSS ;压缩后的数据传递给数据容错处理模块。
[0016]数据分段模块:实现对压缩后的数据的分段;根据数据获取模块中确定的彩色动态二维码的参数,将数据分段,每段数据将会生成一张彩色二维码图像;将分段后的数据流依次传入数据校验模块。
[0017]数据校验处理模块:实现对每段数据的校验添加处理,防止传输过程中的错误,其中包括所有数据结束的标记信息,图片总数的说明信息,图片编号的标记信息等;校验方法使用汉明码;添加校验的数据传递给数据编码模块。
[0018]数据编码模块,实现对添加校验后的压缩数据进行编码,将比特流编码为相应的色块信息,并添加图片边界标记信息,形成彩色二维码图片流;编码方法使用自主开发的LJM编码算法;编码后的图片流传递给数据发送模块。
[0019]数据发送模块,实现对颜色信息的发送;根据数据获取模块中确定的彩色动态二维码的参数,以动态图片的形式循环播放生成的彩色二维码图片流,就形成了彩色动态二维码;彩色动态二维码可以保存为.avi,.mp4,.GIF等格式,以方便在不同软件中打开播放。
[0020]数据接收模块,实现对彩色动态二维码的信息读取;根据用户在接收端人机交互界面上的设置,确定彩色动态二维码的参数,包括:颜色数、单张X轴色块数,单张I轴色块数,(如果用户不设置,将采用默认参数);驱动摄像设备开始摄像,从视频流中满负荷高频地截取图片,识别出动态二维码的边界标记,通过线性变换为主的数学算法,将信息区域的颜色信息传递给数据解码模块。
[0021]数据解码部模块,实现对图片的信息区域的解码;对图片信息区域的色块信息解码成比特流,解码算法为LJM解码算法,与LJM编码算法相逆;将解码好的比特流传递给数据纠错模块。
[0022]数据纠错模块,实现对解码后的比特流纠错;所述纠错,包括两方面:根据汉明码的编码规则,对信息进行纠错,判断是否完整接收,如果不完整,则丢弃该段数据;根据图片编号标记信息,判断该图代表信息是否被成功正确接收过,如果接收过,则丢弃该段数据;成功通过纠错处理的数据将被传递给数据整合模块。理论上(2n-l,n,3)的汉明码均为完全码。经过测试,我们选择了(15,11,3)的汉明码。如果连续11位中只出现一个错误,汉明码可以指明错误位置。算法如下:
[0023]记X为11位的01串。其实就是1*11的F2( 二进制有限域)上的矩阵。构造矩阵P:
11110 1110 0 0
r n 1110 110 0 110
[0024]P=
110 110 10 10 1
10 1110 0 10 11
[0025]此时生成矩阵为G = (I11Pt),校验矩阵为H = (P I4)τ
[0026]发送端:计算Y = XG,Y即为输出的编码。
[0027]接收端:计算Z = ΥΗ,观察Z的四位。若全是0,则传递正确,Y的前11位与X相等,输出Y的前11位。否则必存在H的某一行等于Z的四位,则Y的这一列出了问题。将这一列的O改为I或I改为O就改正了错误。之后再输出Y的前11位。 [0028]在(15,11,3)的汉明码处理下,以4/11 = 37.4%冗余度为代价,我们可以在连续11位中只出现一个错误时指明错误位置。1/11的错误率远大于总体错误率,但由于屏幕反光等原因,错误经常一起出现。这就要求我们将数据分散开。一个简单的办法是将窗口分为16份,第I位二进制数字出现在区域1,第2位二进制数字出现在区域2,第16位二进制数字出现在区域16,这样就满足了要求。经过几轮测试均未发现错误。
[0029]数据整合模块,实现对成功通过数据纠错的数据的整合;根据数据接收模块确定的彩色动态二维码的参数,和从数据纠错模块接收到的正确的分段数据,判断当前是否接收到完整的正确的数据信息,如果没有,则持续工作,否则将分段的信息有序整合;将整合后的数据传递给数据解压模块。
[0030]数据解压模块,实现对整合后的数据的解压;解压算法为LZSS算法;讲解压后的数据传递给数据写入模块。
[0031]数据写入模块,实现对解压后的数据的写入;根据用户在接收端人机交互界面上对写入目标地址和目标文件名的设置,写入完整数据。返回接收成功的提示。
[0032]本发明与现有技术相比的优点在于:
[0033](I)相比于现有的二维码技术,彩色动态二维码技术的彩色色块信息容量更大。单个色块而言,8色彩色的信息容量为3bit,黑白的信息量为lbit,所以单色块的信息容量提升到了 3倍。
[0034](2)相比于现有的二维码技术,彩色动态二维码技术的动态特点使其信息量更大。动态二维码的多张码图滚动播放,和高频扫描反复读取的特点,使它的信息量理论值可以无限大。实际应用中,20张以下会有很好的用户体验,此时信息量提升到了 60(3*20)倍。
[0035](3)相比于现有的二维码技术,彩色动态二维码亮丽、多变、动感十足,具有良好的用户体验,更适合平面宣传等用户需求。
【专利附图】

【附图说明】[0036]图1为本发明的组成框图;
[0037]图2为本发明的发送端实现流程图;
[0038]图3为本发明的接收端实现流程图。
【具体实施方式】
[0039]如图1所示,本发明的工作系统分为发送端和接收端。发送端和接收端各分为6个模块,分别是,发送端的子模块:数据获取模块、数据压缩模块、数据分段模块,数据校验处理模块、数据编码模块,数据发送模块;接收端的子模块:数据接收模块,数据解码部模块,数据纠错模块,数据整合模块,数据解压模块,数据写入模块。
[0040]本发明具体的实现过程:
[0041](一)发送端,如图2:
[0042](I)用户启动发送端程序,数据获取模块启动。人机交互界面打开,等待用户输入颜色数、单张X轴色块数,单张I轴色块数,发送帧率,数据路径。用户点击开始生成按钮后,数据获取模块读取用户所填参数(如果用户不设置,将采用默认参数)。数据传输模块根据参数中的数据路径,以文件流(FileStream)读入数据,转换成比特流(ByteStream)传递给数据压缩模块。
[0043](2)数据压缩模块启动,对接收到的数据按照L J M算法进行压缩,然后传递给数据分段模块。
[0044](3)数据分段模块启动,根据(I)中读取或默认的参数中的单张X轴色块数,单张y轴色块数计算单张色块数X *y,根据单张色块数,考虑校验位冗余,计算单张信息量,从而对数据流截断成若干数据段,分段标准为每段的数据量为单张信息量减去校验位长度。将各数据段依次传递给数据校验模块,反复完成下面(4) - (6),直到所有数据段都被处理完。
[0045](4)数据校验处理模块启动,对当前数据段添加以下信息:图片总数;当前图片编号。如果当前是最后一段数据段,再另外添加一段特殊的数据,作为结束标志信息。将校验处理后的数据段传递给数据编码模块。
[0046](5)数据编码模块启动,对校验处理后的数据段传编码。根据(I)获取或默认的参数中的颜色数,将适当数目(本系统可根据用户的订制选择,当输出颜色种类η是2~k时,则选择k位(bit)信息,当颜色种类η不是2的k次方时,取1g2 (η)的整数部分,剩下的作为校验位。例如:用户根据环境认为应该选择10色的动态彩色图像,那么每个色块的数据量应该是log2(10) = 3.322取整=3bit,剩下的I位作为校验位。这样的设计是基于k位二进制文件数据共有2的k次方种情况的事实。)的bit位合并编码成一个色块信息,将色块按行为主序的顺序,形成单张的彩色二维码图片,传递给数据发送模块。
[0047](6)数据发送模块启动,根据(I)获取或默认的参数中的帧率,播放动态图像(即发送)每个数据段对应图片。第一遍播放同时,存储彩色动态二维码为用户选择的格式。之后循环播放。用户主动终止程序的时候程序结束。
[0048](二)接收端,如图3:
[0049](I)用户启动接收端程序,数据接收模块启动。人机交互界面打开,等待用户输入颜色数、单张X轴色块数,单张I轴色块数,保存地址和文件名等参数(如果用户不设置,将采用默认参数);驱动摄像设备开始摄像,从视频流中满负荷高频地截取图片,识别出动态二维码的边界标记,通过线性变换为主的数学算法,校正截取图片并去除多余背景部分。将信息区域的颜色信息,传递给数据解码模块。
[0050](2)数据解码部模块启动,对图片的信息区域,按照L J M算法解码成比特流,并传递给数据纠错模块。
[0051](3)数据纠错模块,对解码后的比特流纠错。根据汉明码的编码规则,对信息进行纠错,判断是否完整接收,如果不完整,则丢弃该段数据;根据图片编号标记信息,判断该图代表信息是否被成功正确接收过,如果接收过,则丢弃该段数据;成功通过纠错处理的数据将被传递给数据整合模块。
[0052](4)数据整合模块启动,对成功通过数据纠错的数据整合。根据比特流中的校验位,获取图片总数和当前图片编号的参数,判断目前是否已经接收到完整的数据信息。如果没有,则持续(1)-(4)的工作;否则将分段的信息有序整合,并传递给数据解压模块。
[0053](5)数据解压模块启动,对整合后的数据解压;解压算法为LZSS算法;将解压后的数据传递给数据写入模块。
[0054](6)数据写入模块启动,根据(I)中获取或默认的参数中的路径和文件名,将解压后的数据写入文件。返回接收成功的提示。程序结束。
【权利要求】
1.基于彩色动态图像的数据传输系统,其特征在于包括:所述发送端部分包括数据获取模块、数据压缩模块、数据分段模块、数据编码模块、数据校验处理模块和数据发送模块;所述接收端部分包括进程数据接收模块,数据整合模块,数据解码模块,数据解压模块,数据纠错模块,数据写入模块; 数据获取模块:实现对传输数据的获取;根据用户在发送端人机交互界面上的设置,确定彩色动态二维码的参数,包括:颜色数、单张X轴色块数,单张y轴色块数,发送帧率,如果用户不设置,将采用默认参数;根据用户在发送端人机交互界面上对数据路径的设置,获取数据;获取的数据传递给数据压缩模块; 数据压缩模块:实现对传输信息的压缩;压缩算法为LZSS ;压缩后的数据传递给数据容错处理模块; 数据分段模块:实现对压缩后的数据的分段;根据数据获取模块中确定的彩色动态二维码的参数,将数据分段,每段数据将会生成一张彩色二维码图像;将分段后的数据流依次传入数据校验模块; 数据校验处理模块:实现对每段数据的校验添加处理,防止传输过程中的错误,其中包括所有数据结束的标记信息,图片总数的说明信息,图片编号的标记信息等;校验方法使用汉明码;添加校验的数据传递给数据编码模块; 数据编码模块,实现对添加校验后的压缩数据进行编码,将比特流编码为相应的色块信息,并添加图片边界标记信息,形成彩色二维码图片流;编码方法使用LJM编码算法;编码后的图片流传递给数据发送模块; 数据发送模块,实现对颜色信息的发送;根据数据获取模块中确定的彩色动态二维码的参数,以动态图片的形式循环播放生成的彩色二维码图片流,就形成了彩色动态二维码;彩色动态二维码能保存为.avi,.mp4,.GIF格式之一,以方便在不同软件中打开播放; 数据接收模块,实现对彩色动态二维码的信息读取;根据用户在接收端人机交互界面上的设置,确定彩色动态二维码的参数,包括:颜色数、单张X轴色块数,单张y轴色块数,如果用户不设置,将采用默认参数;驱动摄像设备开始摄像,从视频流中满负荷高频地截取图片,识别出动态二维码的边界标记,通过线性变换算法,将信息区域的颜色信息传递给数据解码模块; 数据解码部模块,实现对图片的信息区域的解码;对图片信息区域的色块信息解码成比特流,解码算法为LJM解码算法,首先识别色块儿的颜色种类n,确定前述LJM编码算法的k,k = In (η)/In (2),进而利用参数k进行前述LJM编码算法的逆过程进行解码;将解码好的比特流传递给数据纠错模块; 数据纠错模块,实现对解码后的比特流纠错;所述纠错,包括两方面:根据汉明码的编码规则,对信息进行纠错,判断是否完整接收,如果不完整,则丢弃该段数据;根据图片编号标记信息,判断该图代表信息是否被成功正确接收过,如果接收过,则丢弃该段数据;成功通过纠错处理的数据将被传递给数据整合模块; 数据整合模块,实现对成功通过数据纠错的数据的整合;根据数据接收模块确定的彩色动态二维码的参数,和从数据纠错模块接收到的正确的分段数据,判断当前是否接收到完整的正确的数据信息,如果没有,则持续工作,否则将分段的信息有序整合;将整合后的数据传递给数据解压模块;数据解压模块,实现对整合后的数据的解压;解压算法为LZSS算法;将解压后的数据传递给数据写入模块; 数据写入模块,实现对解压后的数据的写入;根据用户在接收端人机交互界面上对写入目标地址和目标文件名的设置,写入完整数据;返回接收成功的提示。
2.根据权利要求1所述的基于彩色动态图像的数据传输系统,其特征在于所述LJM算法为:将预定数目的bit位合并编码成一个色块信息,将色块按行为主序的顺序,形成单张的彩色二维码图片,传递给数据发送模块;所述预定数目的选择为:当输出颜色种类η是2~k时,则选择k位(bit)信息,当颜色种类η不是2的k次方时,取1g2 (η)的整数部分,剩下的作为校验位。
【文档编号】H04N1/32GK103957340SQ201410162993
【公开日】2014年7月30日 申请日期:2014年4月22日 优先权日:2014年4月22日
【发明者】刘宇, 吉书恺, 王秦怡, 武鑫, 刘昊 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1