QR コードの読み取り速度の限界 - 1 秒間に何回スキャンできるか
スマートフォンのスキャン速度 - 体感と実測の差
スマートフォンで QR コードをスキャンすると、ほぼ瞬時に結果が表示されるように感じます。しかし、「ほぼ瞬時」の内側では、複数の処理が高速に連鎖しています。カメラがフレームを取得し、画像からファインダーパターンを検出し、幾何学的補正を行い、モジュールをサンプリングし、誤り訂正を適用してデータを復号する。この一連の処理にかかる時間は、一般的なスマートフォンで約 30〜100 ミリ秒です。
人間が「瞬時」と感じる閾値は約 100 ミリ秒とされており、一般的なスマートフォンはこの閾値をぎりぎり下回る速度で QR コードを処理しています。つまり、私たちが「一瞬で読めた」と感じるとき、実際にはスマートフォンの中で数千万回の計算が行われているのです。
ボトルネックはどこにあるのか
QR コードの読み取り速度を制限する要因は、大きく 3 つあります。
1. カメラのフレームレート: スマートフォンのカメラは通常 30 fps (1 秒間に 30 フレーム) で映像を取得します。つまり、QR コードの画像は最速でも約 33 ミリ秒に 1 回しか取得できません。60 fps のカメラなら約 16 ミリ秒に短縮されますが、フレームレートが上がっても画像処理が追いつかなければ意味がありません。
2. ファインダーパターンの検出: 画像の中から 3 つのファインダーパターンを見つける処理は、画像全体を走査する必要があるため、計算量が大きいです。画像の解像度が高いほど走査に時間がかかります。効率的なアルゴリズムでは、画像を縮小してから走査し、候補を見つけたら元の解像度で精密に検出する 2 段階方式が一般的です。
3. 誤り訂正の復号: Reed-Solomon 符号の復号は、有限体上の多項式演算を含むため、データ量が多いほど計算時間が増加します。誤り訂正レベル H の大容量 QR コードでは、復号だけで数ミリ秒を要することがあります。
工業用高速スキャナーの世界
工場の生産ラインでは、コンベア上を高速で流れる製品の QR コードを 1 秒間に数十回スキャンする必要があります。スマートフォンとは桁違いの速度が求められるこの領域では、専用の産業用スキャナーが使われています。
産業用固定式スキャナーの中には、1 秒間に 60 回以上の QR コードを読み取れる製品があります。これを実現するために、専用の画像処理チップ (FPGA や ASIC) がハードウェアレベルでファインダーパターンの検出と復号を並列処理します。汎用の CPU でソフトウェア処理するスマートフォンとは、アーキテクチャが根本的に異なります。
さらに高速な読み取りが求められる場面では、レーザースキャナーが使われます。レーザーは画像全体を取得するのではなく、QR コードのモジュールを 1 行ずつ走査するため、画像処理のオーバーヘッドが大幅に削減されます。ただし、レーザースキャナーは QR コードとの距離と角度に制約があり、スマートフォンのカメラほど柔軟ではありません。
理論上の速度限界
QR コードの読み取り速度の理論的な上限は、光の速度ではなく、画像処理の計算量によって決まります。最小のバージョン 1 (21×21 モジュール) の QR コードを、最適化されたアルゴリズムで処理した場合、1 回の復号に必要な計算量は約 10 万回の演算です。一般的な CPU が 1 秒間に処理できる演算回数 (数十億回) を考えると、理論上は 1 秒間に数万回の復号が可能です。
しかし、実際にはカメラのフレームレート、画像の転送速度、メモリのアクセス速度など、計算以外のボトルネックが存在するため、理論値に到達することはありません。現実的な上限は、専用ハードウェアを使っても 1 秒間に数百回程度と考えられています。
この速度は、人間の知覚速度をはるかに超えています。人間の目が個別のフレームを認識できる限界は約 60 fps とされており、1 秒間に数百回のスキャンは、人間にとっては「常にスキャンし続けている」のと同義です。
速度と正確性のトレードオフ
読み取り速度を追求すると、正確性が犠牲になるリスクがあります。画像処理の時間を短縮するために解像度を下げると、小さなモジュールの白黒判定が曖昧になり、誤読の確率が上がります。誤り訂正の処理を簡略化すると、汚れや破損への耐性が低下します。
この速度と正確性のトレードオフは、用途によって最適なバランスが異なります。工場のラインでは、同じ QR コードを複数回スキャンして多数決で正解を決める「冗長スキャン」方式が採用されることがあります。1 回のスキャンの正確性を 99% から 99.9% に上げるよりも、3 回スキャンして 2 回以上一致した結果を採用する方が、速度と正確性の両立に有利な場合があるのです。
高速処理やアルゴリズムの最適化に興味がある方には、画像処理の専門書が参考になります。パターン認識から信号処理まで、コンピュータが「見る」仕組みの全体像を把握できます。