Qraft (クラフト)

データエンコーディング

読み: データエンコーディング

データエンコーディング (data encoding) は、テキスト・数値・URL などの情報を、コンピュータが処理できる 0 と 1 のビット列に変換する処理です。QR コードの文脈では、ユーザーが入力したデータが最終的に白黒のモジュールパターンになるまでの変換工程全体を指します。

QR コードのエンコーディングは複数のステップで構成されます。まず入力データの文字種を分析し、最適なエンコードモード (数字・英数字・バイナリ・漢字) を選択します。次にモード指示子とデータ長を示すビット列を先頭に付加し、選択したモードの規則に従ってデータをビット列に変換します。このビット列を 8 ビットずつに区切ってコードワードを生成し、リード・ソロモン符号による誤り訂正コードワードを付加します。最後に、コードワード列をモジュール配置規則に従って QR コードの格子上に配置します。

エンコーディングの選択が QR コードの実用性を大きく左右します。同じ「12345」というデータでも、数字モードなら 17 ビット、英数字モードなら 28 ビット、バイナリモードなら 40 ビットと、モードによって必要なビット数が大幅に異なります。ビット数が増えるほど QR コードのバージョン (サイズ) が大きくなるため、データの性質に応じた最適なエンコーディングの選択が、コンパクトで読み取りやすい QR コードを生成する鍵となります。