← ブログに戻る

QRコード / バーコード / デジタルセーフティ

QRコードの仕組み:構造、スキャン、信頼性、安全性

PetexSpace

QRコードは、どこかに保存された情報を指す画像ではありません。黒と明るいモジュールは、スキャナーがシンボルを探して解釈し、回復するのを助ける情報とともに、ペイロード自体をエンコードしています。ペイロードは通常URLですが、テキスト、連絡先情報、Wi-Fi設定、またはスキャンアプリケーションが理解できる他のデータを表すこともあります。

QRコードはデンソーウェーブによって開発され、ISO/IEC 18004として国際的に標準化されました。一般的に見られるモデル2形式には40のバージョンがあります。バージョン1は21×21のモジュールグリッドを含みます。各上位バージョンは1辺に4つのモジュールを追加し、バージョン40では177×177に達します。

見える部分

  • ファインダーパターン:3つの大きな入れ子状の四角形がスキャナーにコードの位置を特定させ、方向を判断させます。
  • セパレータと静寂領域:明るいスペースにより、ファインダーパターンやシンボル全体が周囲の内容と混ざらないようにします。
  • タイミングパターン:交互のモジュールがスキャナーにグリッド間隔を確立させます。
  • アライメントパターン:大きなバージョンで透視歪みや変形を補正する追加のターゲットです。
  • フォーマットおよびバージョン情報:予約モジュールはデコードに必要な誤り訂正とマスキングの詳細を示します。
  • データおよび誤り訂正モジュール: 残りの構造化パスには、エンコードされたペイロードと復元情報が格納されます。
QR Code anatomy showing three finder patterns, timing modules, data area, and quiet zone
The large corner squares locate the symbol. The surrounding quiet zone keeps nearby graphics from confusing the scanner.

スキャナーがシンボルを読み取る方法

  1. カメラは画像をキャプチャし、高コントラストの角パターンを検出します。
  2. スキャナーは、向き、透視、モジュールサイズ、グリッドの境界を推定します。
  3. 光と暗いモジュールをサンプリングし、形式情報とバージョン情報を読み取ります。
  4. マスクが反転され、指定された順序でコードワードが再構築されます。
  5. 誤り訂正は、損傷または読み取り不能なコードワードを回復しようとします。
  6. データセグメントはデコードされ、アプリケーションが解釈するテキストや他のペイロードになります。

スキャナーは視覚的な装飾よりも、正確な形状を必要とします。滑らか化を伴うQR画像のリサイズはモジュールの端をぼやけさせる可能性があります。引き伸ばすと四角形が長方形に変わります。モジュールの上にロゴ、テキスト、またはパターンを配置するとデータが失われ、エラー訂正が補うことを余儀なくされます。デザインは理想的な光の下で一つの電話では読み取れるかもしれませんが、別のデバイス、印刷サイズ、角度、または表面では失敗することがあります。

エラー訂正は役に立ちますが、魔法ではありません

QRコードはL、M、Q、Hの4つの標準的な誤り訂正レベルを提供します。デンソーウェーブは、総コードワードの約7%、15%、25%、30%の復元レベルを示しています。高い訂正レベルを使用すると、より多くのスペースが必要になり、それによってシンボルが密集するか、同じデータ量でより大きいバージョンが必要になる場合があります。

これらのパーセンテージは、好きな場所に同じ割合をカバーできることを意味するわけではありません。ファインダーパターンの損傷、ひどいぼやけ、低コントラスト、歪み、またはクワイエットゾーンの欠落は、スキャナーがグリッドを全く認識できない原因となります。復元の可否は、損傷の分布状況にも依存します。最終的な印刷結果や表示結果をテストし、元のファイルだけで確認しないようにしてください。

QRコードが大きくなる、または密集する理由

容量はバージョン、誤り訂正レベル、データモードによって異なります。数値データは任意のバイトデータよりもコンパクトに符号化できます。短いURLは、トラッキングパラメータでいっぱいの長いURLよりもシンプルなシンボルを生成することがよくあります。データを追加したり、より強い訂正を選択すると、モジュール数が多い大きなバージョンに移行する場合があります。

デンソーウェーブは、Model 2 Version 40 の最低誤り訂正レベルで理論上最大7,089文字の数値データを記載しています。その制限は、携帯電話でのスキャンに実用的な目標ではありません。コンパクトなペイロード、適切な物理モジュールサイズ、高コントラスト、および4モジュールのクワイエットゾーンは、容量を最大化するよりも通常は有用です。

信頼性の高いQRコードを作成する方法

  1. 管理できる最も短い正確なペイロードを使用してください。不要な時は不要なトラッキングパラメータを削除してください。
  2. ダークモジュールは、明るく単色の背景に高いコントラストで配置してください。
  3. 標準的なQRコードの周囲には、少なくとも4モジュール幅の余白ゾーンを確保してください。
  4. モジュールのエッジが正方形で鮮明に保たれるように、最近傍法またはベクター出力でリサイズしてください。
  5. シンボルを引き伸ばしたり、構造パターンの上にグラフィックを配置したりしないでください。
  6. 最終的な表示または印刷サイズで、複数のデバイス、距離、角度、照明条件でテストしてください。

使用できるのは PetexSpace QRコード作成ツール で一般的なペイロードを作成し、次に QRコードリーダーで結果を確認します。自分でエクスポートしたファイルを読み取ることで、コードを共有する前に切り捨て、フォーマット、スキャンの問題を確認できます。

Phone decoding a QR Code and inspecting its destination before opening it
Scanning reveals a payload. It does not prove that the destination is safe, so inspect the result before continuing.

スキャンはデータであり、信頼のシグナルではありません

QRコードは、カジュアルな閲覧者から目的地を隠すことができます。デコードされたリンクを開く前に、ドメインを確認し、スペルミス、予期しないサブドメイン、または看板やメッセージが示すものと異なる目的地がないかを確認してください。コードが資格情報、支払い、アプリのインストール、デバイスの権限、または緊急の行動を要求する場合は注意してください。

  • 組み込みカメラのプレビューや、デコードされた目的地を開く前に表示するリーダーを使用することを推奨します。
  • 周囲の看板がプロフェッショナルに見えるからといって、印刷されたコードを信用しないでください。ステッカーが元のコードを覆っている可能性があります。
  • もし送信先がサインインを求めてきた場合、実際的に可能な場合は既知のサービスを独立して開いてください。
  • ダウンロードしたファイルや設定プロンプトは、メールやメッセージで受け取ったリンクと同じ注意を払って扱ってください。

基本的な考え方

三つの角のパターンはスキャナーがグリッドを見つけるのに役立ちます。残りの構造は、ペイロードをどのように読み取り、修復するかを示します。信頼できるコードは、形状、コントラスト、モジュールサイズ、および余白を保持します。安全なスキャンではもう一つステップが加わります:どこに導かれるかを信頼する前に、デコードされたものを確認してください。

主要参考文献

デンソーウェーブ:QRコードの機能と構造. デンソーウェーブ:誤り訂正. デンソーウェーブ:必要な余白ゾーン.