Comments
Description
Transcript
入門者のためのバーコード講座
BA0202-04 02.6.17 2:36 PM ページ 42 (1,1) BA0202-04 入門者のためのバーコード講座 第 4回 バーコードの読み取り 鳥取環境大学 都倉信樹 ペン型バーコードリーダ もあるかも知れない。これは、コンピュータの C R T Q13:光源なしのペン型のバーコードリーダは 可能だろうか それができれば、わずかだが重さも減る し、電力消費も減るが… (陰極線管)表示装置(今もよく使われているテレビ受 A13.バーコードが自己発光型であれば可能であろう。 像器のような形のモニタである。液晶ではない。)の画 しかし普通のバーコードは、容器の側面などに印刷さ 面にペンを当てて、画面上の点を指示するポインティ れたものであって自己発光能力などない。どこかに光 ング装置である。なお、ポインティング装置(pointing 源を求めなければならない。 以前、ライトペンというのがあったのをご存じの方 ウスやトラックボール、その他の簡便なポインティン Q14:人間が字をよめる程度の照明は、バーコード の利用状況では前提としてほぼよかろう それなら、その照明を利用して読めないのか グ装置が使われるようになり、ライトペンは役割を終 A14.これは少し別の観点から考えてみよう。卒業研究 えたと言えよう。画面上の位置情報をコンピュータに の学生が春に研究室に配属されてくると、新人研修と 伝えることができれば、その点をつないでいって、図 いうのを毎年やっていた。それは配属されてから、夏 を表示したりできる。これはペンの筒先に光センサー 休み中に具体的なテーマで実際に動くものを作って 、 があり、また画面にタッチしているかどうかを検出す 2班で性能を競うものである。いろいろなテーマを実 るタッチセンサーか、指でペンについているスイッチ 施したが、そのいくつかはここの問題に関係する。 device)というのは、コンピュータに指示した点の位置 座標(x,y)を知らせるための装置である。現在は、マ を押すかして入力するものである。 Q12:ライトペンは光を出す仕組みはない なぜライトペンで位置情報がコンピュータ に知れるのだろうか A 1 2. ライトペンは光源として、モニタ画面が光るの 例えばライントレーサ(line tracer)は、床に書かれ た白線(あるいは黒線)に沿って移動する簡単なロボ ットである。どれだけ早く正確に動くかを2班でアイ デアを振り絞って考え、実際にものを作って、最終競 技に挑む。こういうキットを電器店で販売しているが、 を利用する。画面は全面が白くなっているとは限らな キットに頼らずデータブックを調べて、自分たちで部 いのに読み取れる。例えば、真っ黒な画面であっても 品を選択して自分たちで作ることを求めている。部品 読み取れる。これはどうしてだろう。実はペンをタッ 代は研究室もち、部品を買いに行く交通費は学生の負 チするとタッチセンサーがそのことをコンピュータに 担とした。(設計がずさんだと、何回も電気街に行かざ 伝える。そうすると、画面全面を走査点だけを光らせ るを得なくなり、交通費が掛かるので慎重な設計を言 るようにして走査する。ライトペンは光を受け取った 外に促しているのである) とき、そのことを制御部に知らせるが、制御部はどこ 床の線の上にきちんと乗っているかをセンサーで判 を光らせたかはわかっているので、ペンの指している 別しないといけない。そこで、光センサーを使うこと 位置がわかるのである。全画面をそういう走査をして になる。しかし光センサーだけだとうまくできない。 も1フレーム1/3 0秒なら、前にいる人間には気付か というのは、蛍光灯や白色灯は交流点灯していて、 れることはほとんどないであろう。 50Hz(西日本では 60Hz)で瞬いている。これではセン サーはだまされてしまう。また、廊下に線を書いた模 42 バーコード 2002.4. BA0202-04 02.6.17 2:36 PM ページ 43 (1,1) 入門者のためのバーコード講座 造紙をならべていくが、場所で明るさはまちまちであ いけないからである。移動につれて、センサーに得ら る。したがってそういう外来光を頼りにしては、ライ れた白黒の情報は、電気信号として読み出されデータ ントレーサはうまく作れないのである。 処理部に送られる。なお、バーコードのシンボルの説 でも、人間はそういう廊下をうまく障害物をよけな 明はJANについては前回行い、人間でも丁寧に読めば読 がら通行できる。それはなぜかという問題には立ち入 めるということを述べた。そういう処理をデータ処理 らない。部品として使えるセンサーは、人間のような 部ですればよいのである。他のバーコード方式の場合 高度のセンサーではないということである。そこで、 も本質は変わらない。 ライントレーサには「光を出して、反射光を読み取る」 さて、ペン型バーコードリーダでバーコードをなぞ L E Dと光センサが一体となった部品を使う。なおL E D ると、白黒の具合で反射光が変わり、それは受光素子、 とは、発光ダイオード(Light Emission Diode)のこと 光センサによって電気信号に変えられ、処理部に送ら である。L E Dの使い方も、常時L E Dを点灯しておくス れる。第1図にそのイメージを示す。 タティックな方法と、L E Dを点滅し、点灯したときの ここでは白黒をきちんと判別して、バーコードの表 反射光の強さをセンスするダイナミックな方法がある。 す数字列を読み取らなければならない。これは一体ど ダイナミックな方が外来雑音の影響は抑えやすい。 うやっているのであろうか。白か黒かは、電圧レベル ライントレーサの話をしたが、これはペン型バーコ で判別できる。ある閾値(しきいち)を決めて、それ ードリーダの仕組みの説明にもなっていることが解る より電圧が上なら1(白)、下なら0(黒)と判断すれ であろう。 ばよい。難しいのは幅の検出である。どうすればよい Q15:光源とセンサーが一体化された部品を使 うメリットは何だろう か考えてみられたい。 A15.いくつか理由を挙げる。どれがもっとも大事だと 考えるか。 1.別々に L E Dと光センサーを買うより一体型の方 が値段が安い。 2.L E Dは白色光でなく特定の波長の光を効率よく 発光する。その特性にあった光センサーを使わな いと、反射光を効率よく検知できない。一体化し てあるということは特性を合わせてあるので、効 第1図 2つの黒バーと間のスペースを読んだときの電気信号 率の良い反射光検知器になるということである。 3.光は発散してしまうので、多くの場合レンズを まず思いつく案を述べる。前回、人間でも読めると 使って読み取りたい位置に焦点を結ぶようにする。 述べたように、左からペンでなぞることを前提とすれ そのときに、発光部と受光部がほぼ同じ位置であ ば、次のように考えてはどうだろう。まず最初のスタ ると、1つの光学系を作ればよい。ここでもコス ートコードの 101があるが、そのバー、スペースはどち ト面で有利であり、また調整も1つの光学系なら らも幅1のモジュールを使っている。この長さを覚え 容易であるが、別だと調整に苦労する。 て、以後それを単位の物差しとして長さを測っていけ 4.ペンの筒先の狭いところに発光部と受光部を 別々にマウントするのは、工作も面倒である。 ば読み取れる。多少誤差があっても、人間の読み方の ときに述べたように、どのキャラクタも2つの黒バー 5.その他 と2つのスペースでできていて、全体で7モジュール なお「光学系」といっているのは、レンズ、ミラー と決まっているから、それに反しないように調整して (鏡)、プリズム、その他の幾何光学的な方法で、光の 通り道(光路)を変えたり、集光したりする仕組みを 指す。 読む。 Q16:上記の案はどうだろうか A16.原理的にはよいだろう。ただ、モジュールを単位 ペン型バーコードリーダは、手で動かすのでマニュ として長さを測っていくというときの長さは0.33mmな アルスキャン方式と分類される。まさに手動走査であ どという意味の長さではない。黒バーに入る前のクワ る。なぜ走査するか、それはペン型バーコードリーダ イエットゾーンの白い部分では反射光は強く、電気信 が「点」の白黒の情報だけを見ているからである。バ 号は1になる。そして黒バーを読み始めて、電気信号 ーコード全体を読むには、読み取り点を移動しないと が0に変わって、次に白になり、電気信号が再び1に バーコード 2002.4. 43 BA0202-04 02.6.17 2:36 PM ページ 44 (1,1) 第2図 電気信号の例(平本淳也著「知っておきたいバーコード・二次元コードの知識」日本工業出版 より) なるまでが1モジュールの電気的な姿である。その 「時間間隔」を単位として計る必要がある。 めているということを考慮していただきたい。対象も 完全な平面であるとは限らず、反っていたり曲がって これは PLL(Phase Lock Loop)という回路で、最初 いたりする。そういう局所的なひずみは認識を難しく のバーを使って時間幅を決めて、以後同じ間隔で信号 する。また人間の眼は、境界線をより明瞭にとらえる をみるということができる。 特性があるといわれる。線(白地に黒の図形の境界) しかしいろいろ難しい問題もある。 を人間の眼は補正してとらえており、「電気的な眼」と デジタルオシロスコープというものを使えば電気信 は特性が違うのである。だから人間の眼と同じに見え 号の時間変化をブラウン管に描画してくれる。バーコ ないといって責める訳にはいかないのである。 ードをスキャンしたときに、受光素子の出力をそれに また、外来光の影響がノイズ(雑音)となることも 入力すると第2図のような波形が観察される。(これは ある。読み取り部、データ処理部などの電気回路でも 参考文献の図面を借用したものであり、筆者の実験で 雑音が発生したり、周辺の電磁気環境によって雑音を はない。できれば実際に実験してお見せしたいのだが、 拾ったりすることもある。いろいろな事情で、第1図 そこまで手がまわらなかったことをお詫びしたい。必 のように白で1、黒で0、その境界でぴしっと縦に波 ずしもペン型リーダの電気信号とは限らないが、どの 形が変化するというようなことはないのである。 方式であれ似たようなもので、問題となるところに違 いはなく、論点には影響ないのでご了承願いたい) また、読むべきバーコードが理想的なものとも限ら ないこともある。ソースマーキングされたものは一般 まず気がつくのは、決して理想的なきれいな波形が には精度の高い印刷が施されているが、インストアマ 得られるわけではないということである。第1図とは ーキングの場合など、比較的安価なプリンタで印刷す あまりにも違うであろう。 るのでドットが粗く、線の太さが一定でないというこ Q17:これはどうしてだろうか ともある。また、もとがきれいでも店頭に並んでいる A17.この波形は反射光の強さの変化を見ているという うちに人の手に触れたり、他の商品と触れたりして汚 ことである。 れが付いていることもある。トレーにのせた食品を透 ペンと対象が完全に正対するということはほとんど 明フィルムで包み、その上に粘着シートに印刷された なく、多少斜めに光を当てて、反射光を斜めに受け止 バーコードラベルを貼った商品の場合では、濡れてシ 44 バーコード 2002.4. BA0202-04 02.6.17 2:36 PM ページ 45 (1,1) 入門者のためのバーコード講座 ールがしわになったり、中の商品が出っ張っていて平 旋回させて、ペンをバーコードに近付け、その円 らでなかったりすることもある。現実の場では、なか 弧運動のどこかで走査を試みる なか厳しい状況でバーコードを読まなければならない サ ペンを対象からどれくらい離すと読み間違いが ということである。したがって、バーコードリーダの 増えるか データ処理部の受け取る電気信号は、とても理想の波 シ ペンと対象との角度を変えていって、どれくら 形からは遠いことがわかる。 こういう波形をもとに、なんとかバーコードを読み 取るため、高度のデータ処理技術が使われているので いでエラーが増えるか ス どれくらい高速で動かすとエラーが増えるか 逆に、どれくらい遅く動かすとエラーが増えるか ある。その詳細はメーカーのノウハウであり、文献は 乏しい。現場の技術者の工夫や努力の積み重ねの上に、 CCDスキャン方式バーコードリーダ 読み取り精度の高いリーダが提供されているのである。 Q1 8:第2図のような波形から読み取るという のは、ペン型バーコードリーダに特有の 問題ではない その他にペン型リーダに伴う難しさがあ るとすればどういうことが考えられるだ ろうか C C D(電荷結合素子)はデジタルスチルカメラ(デ ジカメ)、デジタルビデオカメラ等に使われており身近 なものとなった。デジカメ選びの際には画素数にも注 意するであろう。4 0万画素などといっていたのが、い まや1桁上のものが出ている。画素というのは、画面 を構成する1つの点をいう。それらの点が多数集まっ A18:ペン型リーダは人手で操作するので、その走査線 て、1つの画像ができるのである。画素数の多い方が はバーコードを真横に横切る直線的な軌跡になるとは きめの細かい画像を撮影できるわけである。 限らないであろう。ペンを動かす腕の動きによって支 普通、画像といえば2次元であり、C C Dは2次元的 点は変わるが、わずかながら円弧を描くこともあろう。 に多数の画素に相当する単位回路(ここではセルと呼 また、走査し始めと途中と終わりでは走査速度が一定 ぶ)をもっている。電子シャッターが開いたとき、各 ではないということもあろう。特に不慣れな人が使い セルに当たった光の強さに応じた電荷が各画素セルに 始めるとなかなかうまくいかないこともある。 蓄積される。それを読み出すために、全セルは順につ こういう人間の腕の動きの特性を補正するところま ながっている。制御信号を与えると、1番目のセルか ではおそらくデータ処理部は行っていない。それは反 らそのセルにあった電荷が取り出せ、同時に2番目の 射光の強弱の信号しかなく、補正するにもデータが不 セルにあった電荷が1番目のセルに転送され、3番目 足するからである。 のセルの電荷は2番目のセルへというように、各セル それでもちゃんと読めるのはなぜか。この答えは、 の持っている電荷をバケツリレー式に移していって、 やはり人間の能力にあると考える。使い始めはぎこち 端から読み出せるのがCCDの特徴である。 TVの走査の なくてうまく読みとれなくても、人間は段々に機械の ように左上から右に、そして次の行の左から右という 特性をカバーする操作法を知らず知らずに会得してい ように読み出せればTV信号として使えるであろう。 く。このあたりにペン型リーダのファンが多いという その読み出し速度はTVカメラで実際に使われている 秘密があると考えている。あまりにイージーに使える ことから、高速に読み出せることが分かるであろう。 機械より、多少熟練を要するたぐいのものをうまく使 通常秒 3 0フレームで撮影するが、それは1秒間に3 0回 いこなすことに、人間は手応えと使いこなしていると 電子シャッターを開き、スチルの画像を撮影し、その いう満足感を覚えるのではないだろうか。手になじむ 情報を外部に読み出し、次のフレームの撮影をできる 位になった道具に愛着を感じるのであろう。 ということである。 【実験してみよう】 実は、筆者はペン型リーダに触ったこともないのだ が、次の実験をしてみたいと思っている。利用できる 方はすこし遊んでみてはいかがであろうか。 二次元コードはC C Dで平面図形として読み取ること になる。1次元のJANなどのバーコードは平面図形とし て読み出すこともできる。 また1次元のバーコードリーダなら、1次元にセル ク 左手にもって、右から左に走査してみる をならべたCCD素子を使って読み取る。(なお、1次元 ケ 上下逆にバーコードをおいて、左から(あるい にセルを並べたC C D素子は、パソコンの周辺機器のス は右から)走査してみる キャナにも使われている。この場合はA4の用紙の幅を コ 手を大きく無限大の記号∞を描くように何回か カバーする長さが求められるが、バーコードの場合は バーコード 2002.4. 45 BA0202-04 02.6.17 2:36 PM ページ 46 (1,1) それよりは幅は少なくて済む)これがC C Dスキャン式 バーコードリーダである。 一度にバーコードのイメージをC C Dに受け取り、そ れを端から制御信号を次々与えて読み出してやる。こ うすればペン型のリーダと同じような情報が得られる。 あとの処理はほとんど同じであるが、ペン型だと読み 誤るとまた人間が端からペンをなぞってやる必要があ るが、この場合は電気的に読み取っているので、最初 Q19:ペン型の場合の難しいところを検討した が、CCDの場合はどうだろうか 考えてみよ なお、最近 CCDの代わりにCMOSイメージスキャナ というデバイスが使われ始めている。 【調べてみよう】 本誌の広告欄でどういうバーコードリーダがあり 、 どういう特徴をうたっているか調べてみよう。 読んでうまくいかなかったらすぐ再読込の操作をでき る。これは電気的処理なので実に高速に実行できる。 リーダをバーコードにあてがったごく短い時間のうち に正しく読めるまで何回も走査できる。リーダがバー コードに対して移動しているときでも、何回も読み取 りをすることで多数の試行の中から正しく読めた場合 を選び取っているのである。 なお、正しく読み取れたかの判定の1つは、チェッ クディジットのつじつまが合っているかどうかを調べ ることである。チェックディジットの計算法などにつ いては、後の回で説明したい。 【筆者紹介】 また、2次元画像としてバーコードを読み取って、 1次元のバーコードの読み取りをすることもできる。 このときは画像が斜めに読み取られていたりする。そ ういう斜めになったり歪んだりした画像から、やはり いろいろの工夫を施した読み取り技術で、読み取りエ ラー率を低下させている。 46 バーコード 2002.4. 都倉信樹 鳥取環境大学 環境情報学部 情報システム学科 〒689-1111 鳥取市若葉台北1-1-1 TEL:0857-38-6792 FAX:0857-38-6792