空频域二维码的构建和解码方法

文档序号:7974396阅读:384来源:国知局
专利名称:空频域二维码的构建和解码方法
技术领域
本发明属于信息存储、传输和识别技术领域,涉及二维码的编码和解码方法,为一种二维码的构建和解码方法。
背景技术
近年来二维条形码在表单、安全保密、追踪、证照、存货盘点、资料备援等领域得到的充分的应用。已有的如图1所示的二维条码/ 二维码O-dimensional bar code),用按一定规律在二维平面上分布的黑白相间的某种特定的几何图形来表示构成计算机内部逻辑基础的“0”、“1”比特的概念。使用若干个与二进制相对应的几何形体来表示英文、中文、数字、 图形等信息。可以通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。存储数据量大,可以直接扫描读取内容,可以通过加密来提高保密性。二维码具有条码技术的一些共性每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。在许多种类的二维条码中,常用的码制有Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49,Code 16K 等。其中 QR 码是 1994 年由日本Denso-Wave公司发明,是目前日本最流行的二维空间条码。但是,目前所有的二维码都是在空域来表示图形。容易受到图像采集设备信道的影响,容易受到畸变和光污染的影响。数据的存储有很多的冗余,比如说要用好几个像素来表示一个比特信息。

发明内容
本发明要解决的问题是目前的二维码在解码时易受图像采集设备信道的影响, 易收到畸变和光污染的影响,数据存在冗余,需要提高二维码对畸变、信道、光污染的抵抗能力,降低冗余,提高每个像素所带的信息比特数目。本发明的技术方案为一种基于空频域的二维码编码和解码方法,包括以下步骤1)将待转换为二维码的数据按照ASCII或者Unicode编码成0和1组成的比特流;2)使用扰码,把步骤1)得到的比特流顺序打乱,使得0和1均勻分布;3)对顺序打乱后的比特流进行级联码编码,级联码包括RS码和卷积码;4)采用交织技术对步骤幻得到的编码进行交织;5)将经过编码和交织的比特流按照一个二维码符号所能容纳的比特数进行分组, 不足处填充0作为一组,每个二维码符号定义为一帧,在每组比特前和后分别加上帧头和帧尾对应一个二维码符号,所加的帧头包含接收端正确恢复所发送数据所必需的信息,包括帧总数、本帧的帧号、扰码的种类、RS码和卷积码的种类,帧尾包含一个特定长度的比特序列,用于标志帧的结束,所述特定长度的比特序列为不属于数据部分的序列;6)将步骤5)得到的各组比特流经星座图映射,变换成相应的复数矩阵,对所述复数矩阵根据信道情况选择插入导频,或者对复数矩阵进行差分编码;如选择插入导频,每隔多行/列插入一行/列导频以满足通信的质量要求,当通信的质量得不到满足的时候,每隔一行/列插入一行/列导频,在接收端重采样后首先估计出这些行/列所在处的信道,然后在估计数据时用这些估计出来的信道做信道均衡;如进行差分编码,用相邻两行/列复数间的相位差代表数据;7)根据矩阵的共轭对称性将插入导频或差分编码后的复数矩阵的补充为N*N的符号矩阵,用二维傅立叶反变换对具有共轭对称性的所述符号矩阵进行变换,变换成实数矩阵,即空域矩阵;8)将空域矩阵进行非线性映射和量化;9)对步骤8)中得到的矩阵添加循环前缀和定位信息,得到发送矩阵,去控制空频域二维码中处于不同位置处像素的颜色和亮度,当空域矩阵是实数的时候,控制不同位置处像素黑色的亮度;10)在接收时使用相反的过程就可以得到编码前的数据将获得的图像,根据定位算法找到数据所在位置,然后对其进行重采样,得到发送矩阵的估计,用发送矩阵的估计经过和发送相反的过程,得到发送数据的估计,实现解码。或者,在步骤7)中,直接将插入导频或差分编码后的复数矩阵进行二维傅立叶反变换,得到一个复数,做为空域矩阵,将其实部矩阵和虚部矩阵分别经过步骤8)和9)放在两个不同颜色的信道里表达发送,即当没有使用共轭对称性,空域矩阵是复数的时候,用其实部和虚部分别控制不同位置处像素上两种不同颜色A、B的亮度,用实部矩阵控制空频域二维码中处于不同位置处像素的颜色A的亮度,用虚部矩阵来控制空频域二维码中处于不同位置处像素的颜色B的亮度,所述颜色A、B频谱相隔较远,满足区分。步骤5)中帧尾包含的特定长度的比特序列为01010101。用户待转换的数据按照ASCII或者Unicode编码成“0”和“1”组成的比特流,并使用级联码进行编码,可以利用现有的信道编码技术提高本发明的纠错性能。本发明在空频域存放数据可以将空域中信道卷积的影响转化成空频域中信道乘积的影响,便于在空频域中使用差分编码或者信道均衡来去除信道的影响。相比较于空域的均衡,降低了复杂度。在每个符号都加上帧头和帧尾,便于在接收端将接收到的一系列的图像恢复为发送的文件。 将实部矩阵和虚部矩阵分别放在两个不同颜色的信道里表达发送可以充分利用光频谱,提高信道的容量。本发明采用交织结合信道编码来提高抗错和纠错能力,使用插入导频或者差分编码来抵消信道的空频域失真。本发明将变换后的矩阵进行非线性映射和量化,充分利用量化阶,提高了性能。本发明对比已有技术具有以下创新点1)在空频域中利用导频或者差分编码去除信道的影响。相临两个频点上的复数信道很接近。因为差分是利用相邻两行复数之间的相位差来表示数据,接收得到的相邻两个频点上因为信道引入一定的复数,但是对于两个频点间的相位差是没有多少影响的。所以, 差分可以消除信道影响。同理,信道可以通过导频估计出来并加以消除。
2)利用导频或者差分编码可以抵抗定位误差和畸变的影响。因为定位误差和畸变可以在每个空频域频点上引入一个复数的系数。而相临两个频点上引入的复数系数很接近。因为差分是利用相邻两行复数之间的相位差来表示数据,接收得到的相邻两个频点上因为定位误差和畸变引入一定的复数,但是对于两个频点间的相位差是没有多少影响的。 所以,差分可以抵抗定位误差和畸变。同理,定位误差和畸变引入的复数系数和信道可以通过导频估计出来加以消除。3)交织和级联码的结合大大提高了级联码的纠错能力,降低了冗余度。根据错误图样采用的交织技术是可以将错误尽可能的打散,这样相同的错误图样可以用更高效的级联码来纠正。4)比现有的技术存储的信息量大。简单的说,就是本发明一个频点可以携带多位比特信息,而现有技术是通过多个像素表示一个比特信息。


图1为现有常见的QR码。图2为本发明编码方法框图。图3为本发明块交织的实现方法。图4为本发明实施例矩阵对称性的示意图。图5为本发明实施例添加循环前缀的示意图。图6为本发明实施例一个512*512的空频域二维码示意图。图7为本发明实施例1中,加定位信息后得到的图像。
具体实施例方式如图2,本发明的包括以下步骤1)将待转换为二维码的数据按照ASCII或者Unicode编码成0和1组成的比特流;2)使用扰码,把步骤1)得到的比特流顺序打乱,使得0和1均勻分布;3)对顺序打乱后的比特流进行级联码编码,级联码包括RS码和卷积码;4)根据错误图样采用交织编码对步骤幻得到的编码进行交织,这里所述交织编码为公知技术。在设计过程当中首先通过实验来确定错误图样,也就是说要确定哪些频点错误相对而言比较多,然后确定交织的长度和深度,目的是让错误密集的频点上的数据在交织后要尽可能分散,这样可以充分利用级联码的纠错和检错能力。5)将比特流按照一个二维码符号所能容纳的比特数进行分组,不足处填充0作为一组,每个二维码符号定义为一帧,在每组比特前和后分别加上帧头和帧尾对应一个二维码符号,所加的帧头包含接收端正确恢复所发送数据所必需的信息,比如帧总数、本帧的帧号、扰码的种类、RS码和卷积码的种类。帧尾包含一个特定长度的比特序列,如01010101, 用于标志帧的结束,这里所述特定长度的比特序列的选择要使得数据部分不容易出现该序列为宜。6)将步骤幻得到的各组比特流经星座图映射,变换成相应的复数矩阵。根据信道情况插入导频,或者对复数矩阵进行差分编码。插入导频的话,每隔一定行/列插入导频,一般情况下,每隔多行/列插入一行/列导频以满足通信的质量要求,当通信的质量得不到满足的时候,每隔一行/列插入一行/列导频,在接收端重采样后首先估计出这些行/列所在处的信道,然后在估计数据时用这些估计出来的信道做信道均衡。差分编码的话,用相邻两行/列复数间的相位差代表数据;7)根据矩阵的共轭对称性将插入导频或差分编码后的复数矩阵的补充为N*N的符号矩阵,用二维傅立叶反变换对具有共轭对称性的所述符号矩阵进行变换,变换成实数矩阵,即空域矩阵;8)将空域矩阵进行非线性映射和量化;9)对步骤8)中得到的矩阵添加循环前缀和定位信息,得到发送矩阵,去控制空频域二维码中处于不同位置处像素的颜色和亮度;当空域矩阵是实数的时候,控制不同位置处像素黑色的亮度;10)在接收时使用相反的过程就可以得到编码前的数据将获得的图像,根据定位算法找到数据所在位置,然后对其进行重采样,得到发送矩阵的估计,用发送矩阵的估计经过和发送相反的过程,得到发送数据的估计,实现解码。步骤7)中,可以不将矩阵补充成具有共轭对称性的完整矩阵,直接将插入导频或差分编码后的复数矩阵进行二维傅立叶反变换,得到一个复数,做为空域矩阵,这样在二维傅立叶反变换后就是一个复数,将实部矩阵和虚部矩阵分别经过8)和9)两个步骤放在两个不同颜色的信道里表达发送,如红色和蓝色,也就是,用实部矩阵控制空频域二维码中处于不同位置处像素的红色的亮度,用虚部矩阵来控制空频域二维码中处于不同位置处像素的蓝色的亮度,红色和蓝色也可以换成另外两种颜色,只要两种颜色频谱相隔较远,满足区分即可。下面结合附图和实施例对本发明作进一步说明。本发明的基本思想是利用空频域来存储信息,并用差分编码或者导频来抵消信道的影响。实施例1现在要生成一个N*N(N = 5)的像素矩阵。5*5的复数矩阵如果使用QAM映射可以容纳((N-I)/2-1) *N*log2 (L)个比特。L是星座图的点数。1、在步骤3)中选用(255,223)的RS码作为外码,选用参数为(2,1,3)生成多项式为(111,101)的卷积码作为内码。在步骤4)中使用块交织方式,如图3所示,输入比特序列按列写入存储器,每列M = 4个数据,共K = 5列。交织器按行从存储器读出数据。设经过步骤1)-4)后得到的数据为1001111011。2、在步骤5)选用常见的星座图进行0,1到复数数据的映射。在本实施例中选用 QAM映射。规则为连续的两个比特映射为一个复数的星座图符号,详见表1。表1 4QAM映射表
权利要求
1.空频域二维码的构建和解码方法,其特征是包括以下步骤1)将待转换为二维码的数据按照ASCII或者Unicode编码成0和1组成的比特流;2)使用扰码,把步骤1)得到的比特流顺序打乱,使得0和1均勻分布;3)对顺序打乱后的比特流进行级联码编码,级联码包括RS码和卷积码;4)采用交织技术对步骤幻得到的编码进行交织;5)将经过编码和交织的比特流按照一个二维码符号所能容纳的比特数进行分组,不足处填充0作为一组,每个二维码符号定义为一帧,在每组比特前和后分别加上帧头和帧尾对应一个二维码符号,所加的帧头包含接收端正确恢复所发送数据所必需的信息,包括帧总数、本帧的帧号、扰码的种类、RS码和卷积码的种类,帧尾包含一个特定长度的比特序列, 用于标志帧的结束,所述特定长度的比特序列为不属于数据部分的序列;6)将步骤幻得到的各组比特流经星座图映射,变换成相应的复数矩阵,对所述复数矩阵根据信道情况选择插入导频,或者对复数矩阵进行差分编码;如选择插入导频,每隔多行 /列插入一行/列导频以满足通信的质量要求,当通信的质量得不到满足的时候,每隔一行 /列插入一行/列导频,在接收端重采样后首先估计出这些行/列所在处的信道,然后在估计数据时用这些估计出来的信道做信道均衡;如进行差分编码,用相邻两行/列复数间的相位差代表数据;7)根据矩阵的共轭对称性将插入导频或差分编码后的复数矩阵的补充为N*N的符号矩阵,用二维傅立叶反变换对具有共轭对称性的所述符号矩阵进行变换,变换成实数矩阵, 即空域矩阵;8)将空域矩阵进行非线性映射和量化;9)对步骤8)中得到的矩阵添加循环前缀和定位信息,得到发送矩阵,去控制空频域二维码中处于不同位置处像素的颜色和亮度,当空域矩阵是实数的时候,控制不同位置处像素黑色的亮度;10)在接收时使用相反的过程就可以得到编码前的数据将获得的图像,根据定位算法找到数据所在位置,然后对其进行重采样,得到发送矩阵的估计,用发送矩阵的估计经过和发送相反的过程,得到发送数据的估计,实现解码。
2.根据权利要求1所述的空频域二维码的构建和解码方法,其特征是,在步骤7)中,直接将插入导频或差分编码后的复数矩阵进行二维傅立叶反变换,得到一个复数,做为空域矩阵,将其实部矩阵和虚部矩阵分别经过步骤8)和9)放在两个不同颜色的信道里表达发送,即当没有使用共轭对称性,空域矩阵是复数的时候,用其实部和虚部分别控制不同位置处像素上两种不同颜色A、B的亮度,用实部矩阵控制空频域二维码中处于不同位置处像素的颜色A的亮度,用虚部矩阵来控制空频域二维码中处于不同位置处像素的颜色B的亮度, 所述颜色A、B频谱相隔较远,满足区分。
3.根据权利要求1或2所述的空频域二维码的构建和解码方法,其特征是步骤5)中帧尾包含的特定长度的比特序列为01010101。
全文摘要
空频域二维码的构建和解码方法,将待转换为二维码的数据转换为比特流,经过比特流均匀分布、级联码编码、交织对比特流分组,进行空频域编码。本发明属于信息存储、传输和识别技术领域,利用空频域来存储信息,方便利用均衡的技术来抵抗信道、光污染的影响,利用导频或差分编码抵抗定位误差和畸变的影响。本发明交织和级联码的结合,大大提高了级联码的纠错能力,降低了冗余度,比现有技术的二维码具有更大的存储信息量。
文档编号H04L1/00GK102427397SQ20111036183
公开日2012年4月25日 申请日期2011年11月16日 优先权日2011年11月16日
发明者余旭涛, 张在琛, 张树剑, 方文骁, 裴诚诚 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1