HOME > ソフテックだより > 第351号(2020年4月1日発行) 技術レポート「QRコード導入にあたって考慮すること」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第351号(2020年4月1日発行)
技術レポート

「QRコード導入にあたって考慮すること」

1. はじめに

昨今、キャッシュレス決済の推進する動きが活発になっております。政府は「2025年までにキャッシュレス決済の比率を40%にする」と掲げており、今後も何らかの推進がされていくものと思われます。キャッシュレス決済の中でもQRコード決済がここ数年で急増しており、コンビニやドラッグストアをはじめとした店舗でも対応がされるようになってきました。また、中国ではQRコード決済が主流となっており、現金を使用する人はすでに少数である、という話もあります。今回、QRコードについて簡単ではありますが、ご紹介させていただきます。

2. QRコードとは?

QRコード(※)は株式会社デンソーウェーブが1994年に開発した2次元コード(図2.1参照)です。
※ QRコードは株式会社デンソーウェーブの登録商標です。

QRコード
図2.1.  QRコード

QRコードの特徴として以下があります。

特徴1 大容量の情報を小さなコードに表現
QRコードは、数字・英字・漢字・カナ・記号バイナリ・制御コード等のデータを扱うことが可能です。また、従来のバーコードが20桁程度の情報量しか扱うことができなかったのに対して、QRコードは最大7,089文字(数字のみ)まで表現することが可能です。
特徴2 小さなスペースに表示が可能
QRコードは、縦・横の両方でデータ表現しているため、従来のバーコードを同じ情報量をより小さいサイズで表示できます。

従来のバーコード
QRコード
図2.2.  コードサイズ比較(上:従来のバーコード、下:QRコード)

特徴3 360°どの方向からでも、読み取りが可能
3つの切り出しシンボルによってQRコードの存在を検知するため、背景模様の影響を受けずに360°どの方向からでも、高速読み取りが可能です。
特徴4 汚れ・破損に強い
誤り訂正機能を持っているため、QRコードの一部に汚れや破損があってもデータ復元が可能です。(誤り訂正機能については後述)

3. QRコードの決め方

QRコードは省スペースを実現しつつ、大容量データ保管を実現していますが、実際に運用する際にどれだけのスペースがあればよいか算出しておくのが望ましいです。算出手順は以下の通りです。

■算出手順
1. 誤り訂正レベルを設定
2. バージョンを設定
3. セルサイズを設定
4. マージンを含めた最終的なQRコード領域の計算

3.1 誤り訂正機能を設定

誤り訂正機能とはQRコードが汚れていたり、破損していても、コード自身でデータを復元する機能です。4段階までのレベル設定が用意されており、使用環境に合わせて設定が可能です。レベルを上げれば誤り訂正能力は向上しますが、データが増えるため、コードサイズは大きくなってしまいます。工場などの汚れやすい環境では「レベルQ」もしくは「レベルH」を選択し、汚れない環境であれば「レベルL」を選択するケースもありますが、標準的な使用環境では「レベルM」で運用されるケースが多いようですので、「レベルM」をベースにして環境に合わせた設定を検討するとよいと思います。

表3.1.1.  誤り訂正能力

レベルL 約7%
レベルM 約15%
レベルQ 約25%
レベルH 約30%

3.2 バージョンの設定

QRコードのバージョンは1〜40まで設定されており、それぞれのバージョンによってセル数が決められています。(セルとは、QRコード内の黒白の点1つのこと)
バージョン1では21×21セルでQRコードが構成されており、バージョンが増えるごとに4セルずつ増えていき、バージョン40では177×177セルのQRコードとなります。バージョンが増えるごとに保管できるデータ量も増えていきます。

表3.2.1.  バージョンごとのデータ保管量(バージョン3まで)
バージョンごとのデータ保管量(バージョン3まで)

■バージョン決定の仕方
Case1:1つの文字種類のみを使用
表3.2.1の入力データ種類の中で使用する文字種と算出手順1で設定した誤り訂正レベルの交差する数値に着目します。この数値が入力したいデータより大きくなる最も小さいバージョンが最適なバージョンとなります。
例えば、入力したいデータが英数字35桁、誤り訂正レベルを「M」とすると、バージョン2の英数字、誤り訂正レベル「M」で交差する数値が「38」で「35」より大きく最も小さい値となるため、バージョン2が最適となります。
Case2:様々な文字種類を使用
表3.2.1のデータビット数と算出手順1で設定した誤り訂正レベルの交差する数値に着目します。入力するデータビット数は、文字種ごとに
データビット数 = モードインジケータ + 文字数インジケータ + データ
を算出し、その合計となります。各文字種の設定値について、以下表に示します。

表3.2.2.  合計データビット数算出
合計データビット数算出

例えば、入力したいデータが数字35桁、漢字10文字、誤り訂正レベルを「M」で最適なバージョンを求めるとします。データビット数は以下の通りとなります。
「数字」のデータビット
4 + 10 + 10×11 + 7 = 131
「漢字」のデータビット
13×10 = 130
合計のデータビット数
131 + 130 = 261
表3.2.1のデータビット数と誤り訂正レベル「M」が交差する値で「261」より大きく最も小さいバージョンを探すと、バージョン3となり、これが最適なバージョンとなります。

3.3 セルサイズを設定

QRコードのセルサイズは、安定運用のためには1セルあたり4ドット以上で印字することを推奨されております。セルサイズを設定するには、印字するプリンタ、読み取るスキャナーの性能にも依存します。
例えば、プリンタの解像度が300[dpi]の場合、4ドット/セルを印字するとセルサイズは
25.4[mm]÷300[ドット]×4[ドット] = 0.338...[mm]
となり、およそ0.34mmとなりますが、プリンタの解像度を600dpiまであげると、4ドット/セルを0.17mmで印字できるため、QRコードの縦横サイズを半分にでき、全体のQRコードサイズを1/4にすることができます。
しかし、スキャナーの分解能が0.17mmより大きいものしかない場合は、このQRコードを読み取ることはできません。この場合は、解像度を下げる、もしくは1セルあたりのドット数を増やすことで、セルサイズを大きくして、スキャナーの分解能以上のサイズにする必要があります。この場合は、1セルあたり5ドットで印字すれば、セルサイズは0.21mmとなり、スキャナーで読み取ることが可能となります。
このように印字するプリンタ、読み取るスキャナーの性能も考慮してセルサイズを設定する必要があります。

3.4 マージンを含めた最終的なQRコード領域の計算

実際にQRコードを運用するにあたって、QRコードの外側にそれぞれ4セル分のマージンを確保する必要があります。事前に決めたバージョンのセル数(図3.4.1の赤枠)にマージン分を加算した値が最終的なセル数となります。最終的なセル数とセルサイズから最終的なQRコードの領域(図3.4.1の青枠)が算出されます。例として、以下条件の場合に必要なQRコードの領域を手順に従って算出してみます。

QRコードのマージン
図3.4.1.  QRコードのマージン

■条件
・誤り訂正レベル「M」
・入力したいデータ:数字35桁、漢字10文字
・プリンタ解像度:600dpi
・スキャナー分解能:0.2 mm
1. 誤り訂正レベルの設定
条件の通りです。
2. バージョンの設定
バージョン3となるため、29×29セルの構成となります。(3.2章参照)
3. セルサイズの設定
条件のプリンタ、スキャナーで最小となるセルサイズは1セルあたり5ドットとなり、その際のセルサイズは
25.4÷600×5 ≒ 0.21[mm/セル]
となります。
4. 最終的なQRコード領域の計算
バージョン3の29×29セルの構成に、上下左右マージンとして4ドットずつ必要となるため、最終的なセル数は37×37セルとなります。従って、QRコード領域は
0.21[mm/セル]×37[セル] = 7.77[mm]
となるため、条件のQRコードを運用するためには7.77mmの正方形スペースが必要となります。

3.5 コード領域が大きすぎた場合

QRコードの必要領域を算出した結果、印字したいスペースに収まらなかった場合には以下の検討を行ってください。

1. バージョンの調整
バージョンを下げれば、セル数が減ることでQRコードサイズを小さくできます。
そのためには、入力データを見直して、
・データを減らす
・文字種類を統一
などが可能か検討するなどがあります。
2. セルサイズの調整
セルサイズを小さくすれば、QRコードサイズを小さくできます。
そのためには、
・1セルあたりのドット数を減らす
・プリンタ、スキャナーの性能を上げて1ドットあたりのサイズを小さくする
などが可能か検討するなどがあります。
3. 印字デザインの調整
どちらの調整も難しい場合には、QRコードが入るように印字デザインを見直す必要があります。

4. さいごに

QRコードを実際に導入するにあたってどのように作ればいいのか、という部分も含めて簡単ですがご紹介させていただきました。
QRコードにも今回紹介した一般的なコード以外にも様々な種類があり、用途に合わせて最適なQRコードが選択できます。導入するにあたって、本レポートが助けになれば幸いです。

(T.M.)

[参考]
・デンソーウェーブ QRコード?とは
・コードドットコム 導入するには?

関連ページへのリンク

関連するソフテックだより

ページTOPへ