Qraft (クラフト)

パリティチェック

読み: ぱりてぃちぇっく

パリティチェックは、データ伝送や記録における誤りを検出する最も基本的な手法です。データのビット列に 1 ビットの検査用ビット (パリティビット) を付加し、ビット列全体の 1 の個数が偶数 (偶数パリティ) または奇数 (奇数パリティ) になるよう調整します。受信側で 1 の個数を数え、期待と異なれば誤りが発生したと判定します。

QR コードでは、フォーマット情報 (15 ビット) とバージョン情報 (18 ビット) の検証にパリティの概念が応用されています。フォーマット情報はエラー訂正レベルとマスクパターンを格納する領域で、BCH 符号 (パリティチェックを一般化した誤り訂正符号) で保護されています。QR コードの 3 つのファインダーパターンの近傍に同じフォーマット情報が 2 回記録されるのも、冗長性による誤り耐性の確保です。

パリティチェック単体では 1 ビットの誤りしか検出できず、訂正はできません。QR コードのデータ本体にはリード・ソロモン符号というより強力な誤り訂正が適用されており、最大 30% のデータ損失まで復元可能です。パリティチェックはその基礎にある考え方であり、「冗長なビットを付加して整合性を検証する」という原理は、チェックサムや CRC など、あらゆる誤り検出技術に共通しています。