纠错码

QR 码详解(下)

落爺英雄遲暮 提交于 2019-12-01 13:31:55
快速响应矩阵码(下) 书接上回,继续下半场。 纠错码 QR 码采用纠错算法生成一系列纠错码字,添加在数据码字序列之后,使得符号可以在遇到损坏时可以恢复。这就是为什么二维码即使有残缺也可以扫出来。没有残缺创造残缺也要把它扫出来,相信大家见过很多中间带图标的二维码吧。 纠错码字可以纠正两种类型的错误,拒读错误(错误码字的位置已知)和替代错误(错误码字位置未知)。一个拒读错误是一个没扫描到或无法译码的符号字符,一个替代错误是错误译码的符号字符。如果一个缺陷使深色模块变成浅色模块,或将浅色模块变成深色模块,将符号字符错误地译码为是另一个不同的码字,造成替代错误,这种数据替代错误需要两个纠错码字来纠正。 纠错等级 纠错共有 4 个等级,对应 4 种纠错容量,如下表所示。 纠错等级 L M Q H 纠错容量,%(近似值) 7 15 25 30 用户应确定合适的纠错等级来满足应用需求。从 L 到 H 四个不同等级所提供的检测和纠错的容量逐渐增加,其代价是对表示给定长度数据的符号的尺寸逐渐增加。例如,一个版本为 20-Q 的符号能包含 485 个数据码字,如果可以接受一个较低的纠错等级,则同样的数据也可用版本 15-L 的符号表示(准确数据容量为 523 个码字)。 纠错等级的选择与下列因素相关: 预计的符号质量水平:预计的符号质量等级越低,应用的纠错等级就应越高。 首读率的重要性。