仕組みが分かれば、スマホなどいらぬ……ッ! 肉眼のみで解読するQRコード講座
必要なのは目という名のカメラ。それから、気合いと根性。
» 2018年01月31日 11時00分 公開
[QuizKnock,ねとらぼ]
撮影することでURLなどを読み取れる正方形の模様、QRコード。スマホなどから利用するのが一般的ですが、どうしてもスマホが取り出せないときは、どうやって読み取ればいいのでしょうか。
ご存じの通り、人間にも目というカメラがあります。実は文明の利器なんて使わなくても、人力で解読できるのです。それでは、QRコードリーダーをあなたの脳にもインストールしてみましょう。
QRコードの基本構造を知ろう!
内容を読み取る前に、そのための準備作業から始めましょう。
まず着目してもらいたいのが、QRコードの隅などにある四角形の模様です。これはカメラで読み取ったときの角度の違いを補正するためのもの。これ自体は読む必要がありませんが、周辺に重要なフォーマット情報として﹁誤り訂正レベル﹂﹁コード全体に施されたマスク﹂が書かれています。
誤り訂正レベルというのは、コードの読み取りミスを訂正する能力のことで、4段階に設定可能。レベルが高いほど読み取りの精度が悪くても︵例えばQRコードの大部分が見えなくても︶正しく読み取りが行えますが、その分データ量︵追加する誤り訂正符号の数︶が増え、コードが大きくなります。
マスクというのは、QRコードの黒と白をバランス良く配置するための加工のことで、8種類存在します。やたらと黒︵もしくは白︶が多いQRコードを見掛けないのは、このマスクのおかげです。
今回使用するQRコードのフォーマット情報は15マスにわたって書かれています︵2カ所ありますが、どちらも内容は同じ︶。黒いマスを1、白いマスを0とすると﹁111110110101010﹂になります。
ここには﹁101010000010010﹂というマスクが掛かっています。対応するマスクの数字が﹁1﹂のときは﹁0﹂に、﹁0﹂のときは﹁1﹂に反転させると、正しい情報が読み取れます。
- 111110110101010(書かれているフォーマット情報)
- 101010000010010(マスク)
- 010100110111000(マスクを掛ける前の、元の情報)
人間にはちょっと大変な作業かもしれませんが、実は誤り訂正レベルは最初の2マス、コード全体に施されたマスクの種類は次の3マスで表されており、以降の10マスは、読み取りが間違っていないか調べるための﹁誤り訂正符号﹂が書かれているだけ。今回は、読まなくて大丈夫です。
対応表を参照すると、このQRコードの誤り訂正レベル﹁01﹂は﹁L︵約7%の誤りまで訂正可能︶﹂、マスクの種類﹁010﹂は﹁j mod 3 = 0﹂を指すことが分かります。
さて、﹁j mod 3 = 0﹂という式は何でしょうか……。何やら難解ですが、この﹁j﹂は一番左の列を0としたときの列の番号を表し、﹁mod 3﹂は3で割った余りを表しています。そこで、このマスクの意味は﹁3で割ると0になる列番号のとき︵18や21、24など︶、マスの数字を反転させる﹂ということになります。
QRコード解読は、気合いだ!
いよいよ実際に内容を読む段階に入ります。
QRコードは右下から、しかもジグザグに書かれています。例えば、1マス目は一番右下にありますが、2マス目はその左隣。そして、3マス目は1マス目の上にあります。このため、目の動きは左、右斜め上、左、右斜め上……という感じ。普通の文章を読むときとは、かなり違いますね。
1〜4マス目には、読み取った数字を文字などに変換するためのルールが書かれています。今回は﹁0100﹂で、﹁8ビットバイトモード﹂という形式で記録されていることが分かります。
8ビットモードでサイズが25マス×25マスの場合︵今回のQRコードが該当︶、次の8マスには記録されている文字数が記載。そこから先が実際のデータ内容で、8マスずつ区切って読み取った2進数を、対応表を使いながら文字に置き換えていきます。
実際に右下から読んでいくと次のようになります。
- 0100=データモード(8ビットバイト)
- 00011100=文字数(28文字)
- 01101000(68/2進数→16進数に変換したもの)=h
- 01110100(74)=t
- 01110100(74)=t
- 01110000(70)=p
- 01110011(73)=s
- 00111010(3A)=:
- 00101111(2F)=/
- 00101111(2F)=/
……﹁https://﹂と、それっぽい文字列が見えてきましたね。
このQRコードは28文字。こんな感じで数字を読んでは表とにらめっこして、対応する文字を見つける作業を28回繰り返すと読解完了です。ちなみに、図面の左半分は読まないまま終わってしまいますが、これは読み取りミスを確認するためのデータが配置されているためです。
さて、QRコードを人力で読む方法を解説してきましたが、難点をあえて1つだけ挙げるなら、これだと思います。
﹁とにかく面倒くさい﹂。
白黒の模様を2進数として読み取る作業自体はかなり単純なものですが、量が量なので簡単ではありません。しかも、その数字を文字などに変換するための対応表を丸暗記する苦労なんて、想像すらできません。こんな大変なことを一瞬でやってくれるスマホって、やっぱり便利ですよねえ……。
ただ、暗号を解読するような面白さもあるので、パズルなどが好きな人は楽しめるかもしれません。レッツ・チャレンジ!
参考文献
JIS X 0510_2004 二次元コードシンボル - QRコード - 基本仕様
特集:あなたも描ける! JIS X0510準拠 QRコード超入門 - OSSHC 岡崎高校スーパーサイエンス部
advertisement
関連記事
![「16×4は?」「68−4だから64」 小学1年生の掛け算の計算方法が斬新だと話題に](https://image.itmedia.co.jp/nl/articles/1707/25/news109.jpg)
![「カニミソ」はカニの何なのか?](https://image.itmedia.co.jp/nl/articles/1705/02/news003.jpg)
![漢字の「一」「二」「三」の次がいきなり「四」になるのはなぜなのか?](https://image.itmedia.co.jp/nl/articles/1706/14/news015.jpg)
![【マンガ】リュックについている「ブタの鼻」の正体は?](https://image.itmedia.co.jp/nl/articles/1710/01/news014.jpg)
![1ヶ月の「ヶ」は小さな「ケ」ではなかった?](https://image.itmedia.co.jp/nl/articles/1709/17/news013.jpg)
Copyright © ITmedia, Inc. All Rights Reserved.
昨日の総合アクセスTOP10
庭で見つけた“変なイモムシ”を8カ月育てたら…… とんでもない生物の誕生に「神秘的」「思った以上に可愛い」
妻が気軽にカワハギ釣りに行ったはずが…… 驚きの“超大物”ゲットに視聴者騒然「すげえぇぇぇ!!!」「面白すぎるでしょ」
「まってしぬwww」 応募用シリアル番号をよく見たら…… “奇跡の並び”に10万いいね 「しんどいw」「火力高い」
【今日の計算】「2÷2+2×2」を計算せよ
「どうせ全てバターに沈む」 悪魔的な“頭の悪いレシピ”に「カ、カロリー爆弾」「体に悪いものこそうまーい」
「今までなんで使わなかったのか」 ワークマンの「アルミ帽子」が暑さ対策に最強だった 「めっちゃ涼しー」
パパ大好きインコ、愛の言葉をささやくと思ったら…… まさかの暴言→逃亡に爆笑「朝からお腹痛い(笑)」「ほんと言ってる」
「チワワって全員被害者みたいな顔してる」→「うちのは加害者顔してます」 イメージ覆す“ヤンキーチワワ”にネット爆笑「マフィア感あるw」
祖母から教わった“ごはんが止まらないキュウリのみそ漬け”が絶品!! 「簡単で私にもできそう」「早速作ります」と話題
「これで倒れずに済みそう!」 凍らせたぬれタオルを一日もたせる“体を冷やすセット”に反響 「ホントにオススメ」「冷え冷えで最高」
先週の総合アクセスTOP10
- プロが本気で“アンパンマンの塗り絵”をしたら…… 衝撃の仕上がりが360万再生「凄すぎて笑うしかないww」「チーズが、、、」
- 6年間外につながれっぱなしだったワンコ、保護準備をするため帰ろうとすると…… 思いが伝わるラストに涙が止まらない
- 「お釣りで新紙幣来た!!!!!と思ったら……」 “まさかの正体”に「吹き出してしまった」「逆に……」
- 赤いカブトムシを7年間、厳選交配し続けたら…… 爆誕した“ウルトラレッド”の姿に「フェラーリみたい」「カッコ良すぎる」
- ダイソーで買った330円の「石」を磨いたら……? 吸い込まれそうな美しさが40万回表示の人気 「夏休みの自由研究にもいいのでは?」
- 「これ最初に考えた人、まじ天才」 ダイソーグッズの“じゃない”使い方が「目から鱗すぎ」と反響
- もう笑うしかない Windowsのブルースクリーン多発でオフィス中“真っ青”になった海外の光景がもはや楽しそう
- アジサイを挿し木から育て、4年後…… 息を飲む圧巻の花付きに「何回見ても素晴らしい」「こんな風に育ててみたい!」
- スズメの首は、実は……? 「心臓止まりそうでした」「これは……びっくり!」“真実の姿”に驚愕の声
- 【今日の計算】「8×8÷8÷8」を計算せよ
先月の総合アクセスTOP10
- 18÷0=? 小3の算数プリントが不可解な出題で物議「割れませんよね?」「“答えなし”では?」
- 日本人ならなぜかスラスラ読めてしまう字が“300万再生超え” 「輪ゴム」みたいなのに「カメラが引いたら一気に分かる」と感動の声
- 「最初から最後まで全ての瞬間がアウト」 Mrs. GREEN APPLE、コカ・コーラとのタイアップ曲に物議 「誰かこれを止める人いなかったのか」
- 「値段を三度見くらいした」 ハードオフに38万5000円で売っていた“予想外の商品”に思わず目を疑う
- 「思わず笑った」 ハードオフに4万4000円で売られていた“まさかのフィギュア”に仰天 「玄関に置いときたい」
- かわいすぎる卓球女子の最新ショットが730万回表示の大反響 「だれや……この透明感あふれる卓球天使は」「AIじゃん」
- 「これはさすがに……」 キャッシュレス推進“ピクトグラム”コンクールに疑問の声相次ぐ…… 主催者の見解は
- 天皇皇后両陛下の英国訪問、カミラ王妃の“日本製バッグ”に注目 皇后陛下が贈ったもの
- 「この家おかしい」と投稿された“家の図面”が111万表示 本当ならばおそろしい“状態”に「パッと見だと気付けない」「なにこれ……」
- 和菓子屋の店主、バイトに難題“はさみ菊”を切らせてみたら…… 282万表示を集めた衝撃のセンスに「すごすぎんか」「天才!?」