初识二维码 第三讲 二维码的编码流程

初识二维码 第三讲二维码的编码流程
第一步:数据分析
1.1 确定要编码的字符类型
1.2 选择所需要的纠错等级
1.3 选择版本

第二步:数据编码
2.1 字符数据转为位流
2.2 位流分为每8位一个码字
2.3 填充剩余数据码字数

第三步:纠错编码
3.1  码字序列分块
3.2  按块生成纠错码字
3.3  纠错码放在数据码字的后面

第四步:构造最终的信息
4.1 构造块信息的最终序列
4.2 加剩余比特位

第五步:在矩阵中布置模块

第六步:掩模
6.1 掩模操作
6.2 评价结果
6.3 选择掩模号

第七步:添加格式和版本信息
7.1 生成版本信息
7.2 生成格式信息

举例说明如下
对109209318九个数字进行编码。
1.1 编码的字符类型有纯数字,数字与字母
ASCII的8比特的字节,汉字。这几种类型。
例子所涉及的类型是纯数字类型。
1.2 纠错等级有LMQH,这四个等级。选择L等级
1.3 选择版本的原则是满足容量需求的情况下,选择最小版本。
这里选择是第一版本。即1-L版本。

2.1 纯数字编码为位流的规则是每三个数字为一组,使用10个比特位
输入的数据:109209318
1)分为3 位一组  109 209 318
2)将每组转换成为二进制  109----》0001101101
                                         209----》0011010001
                                         318----》0100111110
3)将二进制连接为一个序列 000110110100110100010100111110
4)将字符计数指示符转换为二进制(版本1—H的数字模式为10位)
  字符数为9  -----》0000001001
5)加入模式指示符0001以及字符计数指示符的二进制数据。
0001 0000001001 000110110100110100010100111110

2.2 位流分为8个比特的码字 1——L版本在数字模式下最多可以存储41个字符。
这里只编码了9个数字,远远小于容量,需要在结束处加上0000作为结束符。
000100000010010001101101001101000101001111100000
转换为10 24 6D 34 53 E0

2.3 填充剩余数据码字数
1)1-L版本的数据码字数为19,填充结果为
10 24 6D 34 53 E0 00 00 00 00 00 00 00 00 00 00 00 00  00

3.1 根据版本1——L 查表可知纠错的分块数为1。
纠错代码(c,k,r)为(26,19,2)

3.2 生成纠错码,查附表得到纠错码的多项式

再使用多项式的除法算法,用纠错码的多项式除以数据码的多项式,
得到的余数项为纠错码。

3.3 把纠错码附加到数据码的后面。
形如 D1 D2 ...... D19  E1 E2 ....E7

4.1 因为只有一个数据块和一个纠错块,所以这步没有任何操作
4.2 因为1——L版本没有剩余位,所以这步也没有任何操作。

5在矩阵中布置如下图

从右下角开始向上进行蛇形布局

初识二维码 第三讲 二维码的编码流程_第1张图片

6掩模操作在第五讲中再详细描述。
7.1 版本信息在1-L版本中没有,所以这个步骤没有操作。
7.2 格式信息包括纠错等级和掩模的编号。格式信息非常重要,在
图形上有两个副本,提供冗余。
如下图所示

初识二维码 第三讲 二维码的编码流程_第2张图片

你可能感兴趣的:(人工智能,人工智能,图形识别,二维码)