[go: up one dir, main page]

JPH06266881A - Bar code symbol reader - Google Patents

Bar code symbol reader

Info

Publication number
JPH06266881A
JPH06266881A JP5057229A JP5722993A JPH06266881A JP H06266881 A JPH06266881 A JP H06266881A JP 5057229 A JP5057229 A JP 5057229A JP 5722993 A JP5722993 A JP 5722993A JP H06266881 A JPH06266881 A JP H06266881A
Authority
JP
Japan
Prior art keywords
width
card
bar code
data
scan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5057229A
Other languages
Japanese (ja)
Inventor
Hisakatsu Tanaka
久勝 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP5057229A priority Critical patent/JPH06266881A/en
Publication of JPH06266881A publication Critical patent/JPH06266881A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a bar code symbol reader capable of executing high speed processing even by using an one-dimensional(1-D) image pickup device. CONSTITUTION:A pulse width counting circuit 310 counts up the width of bars and spaces on a bar code symbol 100 from an image pickup signal outputted from a 1-D CCD array 302 and a pulse data counter 318B counts up the numbers of bars and spaces whose width is counted by the circuit 310. A comparator 318D compares the number counted by the counter 318B with a threshold stored in a threshold register 318C, and only when the number counted by the counter 318B is larger than the threshold stored in the register 318C as the result of the comparison, a high speed arithmetic circuit 318A executes decoding processing by using the width of bars and spaces counted by the circuit 310.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、バーコードシンボルを
読み取るためのバーコードシンボル読取装置に係わり、
特に、そのようなバーコードシンボル読取装置に於ける
データ処理方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bar code symbol reading device for reading a bar code symbol,
In particular, it relates to a data processing method in such a bar code symbol reader.

【0002】[0002]

【従来の技術】現在、バーコードシンボルは、多くの国
で採用されており、その種類も非常に多い。代表的なバ
ーコードシンボルとしては、JAN/UPC/EANコ
ード,ITF(Interleaved 2 of 5)コード,CODE
39,NW−7コード,CODE128,等がある。ま
た、最近では、より多くの情報を表現したい、より狭い
ところに貼りたい、等の要求から、情報量の多い、記録
密度の高い2次元バーコードシンボルも提案され始めて
いる。このような2次元バーコードシンボルとしては、
CODE16K,CODE49,PDF417,DAT
A CODE,VERI CODE,OFT STRI
P,等がある。
2. Description of the Related Art At present, bar code symbols are used in many countries, and the types thereof are very large. Typical bar code symbols are JAN / UPC / EAN code, ITF (Interleaved 2 of 5) code, CODE
39, NW-7 code, CODE128, etc. In addition, recently, two-dimensional bar code symbols having a large amount of information and a high recording density have begun to be proposed due to demands for expressing more information, sticking in a narrower space, and the like. As such a two-dimensional barcode symbol,
CODE16K, CODE49, PDF417, DAT
A CODE, VERI CODE, OFSTR
There are P, etc.

【0003】一方、JAN/UPC/EANコード,I
TF(Interleaved 2 of 5)コード,CODE39,N
W−7コード,CODE128,等(2次元バーコード
シンボルに対して1次元バーコードシンボルと呼ばれ
る)を読み取るための装置も種類が多く、代表的なタイ
プとしては、ペンタイプ,タッチタイプ,レーザータイ
プがある。一方、2次元バーコードシンボルを読み取る
ための装置は種類が少なく、その読み取り技術もまだ確
立されていないのが現状である。
On the other hand, JAN / UPC / EAN code, I
TF (Interleaved 2 of 5) code, CODE39, N
There are many types of devices for reading W-7 code, CODE128, etc. (called one-dimensional barcode symbol for two-dimensional barcode symbol), and typical types are pen type, touch type, laser type. There is. On the other hand, there are few types of devices for reading the two-dimensional bar code symbol, and the reading technique is not yet established.

【0004】しかし、バーコードシンボルの読み取り方
法の基本は、2次元バーコードシンボルの場合でも従来
の1次元バーコードの場合とほとんど同じである。すな
わち、光源よりバーコードシンボルに光を照射し、バー
コードシンボルで反射された光を読み取り装置内部の受
光素子に集光させる。そしてこの集光された信号を、マ
イクロコンピュータ等によって構成される電気回路にて
デコード処理することによりバーコードシンボルを読み
取るわけである。
However, the basic method of reading a barcode symbol is almost the same as in the case of a conventional one-dimensional barcode even in the case of a two-dimensional barcode symbol. That is, the barcode symbol is irradiated with light from the light source, and the light reflected by the barcode symbol is focused on the light receiving element inside the reading device. Then, the condensed signal is decoded by an electric circuit configured by a microcomputer or the like to read the bar code symbol.

【0005】図12は、2次元バーコードシンボル読取
装置の外観である。このバーコードシンボル読取装置
は、カメラスタンド900とデコーダボックス902に
より構成されている。カメラスタンド900は、ビデオ
カメラ904、このビデオカメラ904を支える支柱9
06、及びバーコードシンボル908が記録されている
シート或は商品等を載せるベース板910により構成さ
れている。また、デコーダボックス902は、上記ビデ
オカメラ904の出力を受けて、この出力信号からバー
コードシンボル908の位置を検出し、記録内容をデコ
ードし、ホストコンピュータ912や図示しない端末装
置へバーコードシンボル908の記録内容を転送するも
のである。そして、カメラスタンド900とデコーダボ
ックス902は、カメラケーブル914により接続され
ている。また、モニタ916は、バーコードシンボル9
08の撮像状態を確認するためのものであり、デコーダ
ボックス902に接続されている。
FIG. 12 is an external view of a two-dimensional bar code symbol reader. This barcode symbol reading device is composed of a camera stand 900 and a decoder box 902. The camera stand 900 includes a video camera 904 and a column 9 that supports the video camera 904.
06, and a base plate 910 on which a sheet or a product on which the barcode symbol 908 is recorded is placed. Further, the decoder box 902 receives the output of the video camera 904, detects the position of the bar code symbol 908 from the output signal, decodes the recorded contents, and outputs the bar code symbol 908 to the host computer 912 or a terminal device (not shown). The recorded contents of are transferred. The camera stand 900 and the decoder box 902 are connected by the camera cable 914. The monitor 916 also displays the barcode symbol 9
08 is for checking the image pickup state, and is connected to the decoder box 902.

【0006】しかし、このような2次元バーコードシン
ボル読取装置は、バーコードシンボル908が記録され
ているシートをベース板910に載せ、ビデオカメラ9
04でバーコードシンボル908を含む画像を取り込
み、デコーダボックス902でバーコードシンボル90
8の内容を読み取るものであり、装置が非常に大きく、
高価である。さらに、バーコードシンボル908が記録
されているシートは、携帯性が悪く、読取装置での操作
がしにくいものである。
However, in such a two-dimensional bar code symbol reader, the sheet on which the bar code symbol 908 is recorded is placed on the base plate 910 and the video camera 9 is used.
At 04, the image including the barcode symbol 908 is captured, and at the decoder box 902, the barcode symbol 90 is read.
8 is to read the contents, the device is very large,
It is expensive. Further, the sheet on which the bar code symbol 908 is recorded has poor portability and is difficult to operate with the reading device.

【0007】また最近では、磁気カード,ICカード,
光カード,等のようにバーコードをカード状媒体に印刷
或は張り付けたものも使用され始めている。このバーコ
ードカードは携帯性がよいものであり、今後急速に広ま
るものと思われる。
Recently, magnetic cards, IC cards,
Optical cards and the like in which a bar code is printed or pasted on a card-shaped medium are also beginning to be used. This barcode card has good portability and is expected to spread rapidly in the future.

【0008】一般に、磁気カードなどの読取装置は、操
作者が手でカードをスリットに滑べらせて記録内容を読
み取る形式がとられ、一般的にスワイプタイプカードリ
ーダと呼ばれている。また、カードをカードリーダの挿
入口へ操作者が挿入/排出させて内容を読み取るいわゆ
るタイムカード方式ともいえる形式のものもあり、これ
は一般的にディップタイプカードリーダと呼ばれてい
る。これらスワイプタイプカードリーダ及びディップタ
イプカードリーダはいずれも小型且つ安価なものであ
り、2次元バーコードシンボルを印刷或は張り付けたカ
ードを読み取る装置も当然、同様に小型安価な装置とす
ることが要求されるものと思われる。
Generally, a reading device such as a magnetic card is of a type in which an operator manually slides the card in a slit to read the recorded contents, and is generally called a swipe type card reader. There is also a so-called time card system in which the operator inserts / ejects the card into / from the insertion slot of the card reader to read the contents, and this is generally called a dip type card reader. These swipe-type card readers and dip-type card readers are both small and inexpensive, and of course, a device for reading a card on which a two-dimensional barcode symbol is printed or attached is also required to be a small and inexpensive device. It seems to be done.

【0009】[0009]

【発明が解決しようとする課題】図12に示したような
ビデオカメラ904を使うことは装置の大型化並びにコ
スト増を招くため、2次元バーコードシンボルを印刷或
は張り付けたカードを読み取る装置を小型且つ安価な装
置とするためには、1次元の撮像装置を用いて、2次元
バーコードシンボルを1ラインづつ読み取っていく手法
が考えられる。
The use of the video camera 904 as shown in FIG. 12 causes an increase in the size and cost of the apparatus, and therefore an apparatus for reading a card on which a two-dimensional bar code symbol is printed or attached is used. In order to make the device small and inexpensive, it is conceivable to use a one-dimensional imaging device to read the two-dimensional bar code symbol line by line.

【0010】しかしながら、1次元の撮像装置を用いる
と、バーコードシンボルと文字や図などのバーコードシ
ンボル以外のものとの区別をつけることができない。そ
のため、バーコードシンボルの前に文字などを撮像して
しまうと、実際のバーコードシンボルのデコード前に文
字による黒白パターンをバーコードシンボルとしてデコ
ードしてしまい、無駄なデコード時間がかかり、結果と
して、バーコードシンボルのデコード終了までの時間を
多く必要とするということになる。
However, when the one-dimensional image pickup device is used, it is impossible to distinguish the bar code symbol from other than the bar code symbol such as characters and figures. Therefore, if a character or the like is imaged before the barcode symbol, the black-and-white pattern of the character is decoded as the barcode symbol before the actual decoding of the barcode symbol, resulting in unnecessary decoding time, and as a result, This means that it takes a lot of time to finish decoding the barcode symbol.

【0011】本発明は、上記の点に鑑みてなされたもの
で、1次元撮像装置を用いてもバーコードシンボルを短
い時間で読み取ることの可能なバーコードシンボル読取
装置を提供することを目的とする。
The present invention has been made in view of the above points, and an object of the present invention is to provide a bar code symbol reading device capable of reading a bar code symbol in a short time even when using a one-dimensional image pickup device. To do.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するた
め、本発明によるバーコードシンボル読取装置は、バー
コードシンボルを1次元の撮像装置により撮像する撮像
手段と、上記撮像手段からの撮像信号からバーコードシ
ンボルのバー及びスペースの幅を計数する幅計数手段
と、上記幅計数手段によって幅が計数されたバー及びス
ペースの個数を計数する個数計数手段と、上記個数計数
手段によって計数された個数が予め決められた値よりも
大きいときにのみ、上記幅計数手段で計数されたバー及
びスペースの幅を以降の処理に使用許可する制御手段と
を備えることを特徴としている。
In order to achieve the above object, a bar code symbol reading apparatus according to the present invention comprises an image pickup means for picking up an image of a bar code symbol by a one-dimensional image pickup apparatus and an image pickup signal from the image pickup means. The width counting means for counting the widths of the bars and spaces of the barcode symbol, the number counting means for counting the number of bars and spaces whose widths have been counted by the width counting means, and the number counted by the number counting means are It is characterized by comprising control means for permitting use of the width of the bar and space counted by the width counting means in the subsequent processing only when the width is larger than a predetermined value.

【0013】[0013]

【作用】即ち、本発明のバーコードシンボル読取装置で
は、1次元撮像装置によるバーコードシンボルの撮像信
号から幅計数手段によってバー及びスペースの幅を計数
し、個数計数手段によってこの計数されたバー及びスペ
ースの個数が計数される。そして、制御手段は、このバ
ー及びスペースの個数を予め決められた値と比較し、そ
の個数のほうが予め決められた値より大きいときの幅計
数手段によるバー及びスペースの幅を、以降のバーコー
ドシンボルの内容を読み取るための処理に使用許可す
る。
That is, in the bar code symbol reading apparatus of the present invention, the width of the bar and space is counted by the width counting means from the image signal of the bar code symbol by the one-dimensional image pickup apparatus, and the counted bar and The number of spaces is counted. Then, the control means compares the number of bars and spaces with a predetermined value, and when the number is larger than a predetermined value, the width of the bar and space by the width counting means is set to the following bar code. Allowed for processing to read the contents of the symbol.

【0014】[0014]

【実施例】以下、図面を参照して、本発明の実施例を説
明する。 (第1実施例)
Embodiments of the present invention will be described below with reference to the drawings. (First embodiment)

【0015】図1の(A)は本実施例のバーコードシン
ボル読取装置(以降、カードリーダと呼ぶことにする)
のブロック構成図、図2は本実施例のカードリーダを使
用したシステムの外観図であり、図3は読み取るべき2
次元バーコードシンボルの一例としてのPDF417の
シンボル構造図である。
FIG. 1A shows a bar code symbol reading apparatus of this embodiment (hereinafter referred to as a card reader).
2 is an external view of a system using the card reader of the present embodiment, and FIG.
It is a symbol structure figure of PDF417 as an example of a two-dimensional barcode symbol.

【0016】カードリーダを使用したシステムは、図2
に示すように、バーコードシンボル100が印刷された
或は貼り付けられたカード200、カードリーダ30
0、ホストコンピュータ400、及びカードリーダ30
0とホストコンピュータ400を接続するケーブル50
0によって構成されている。
A system using a card reader is shown in FIG.
As shown in FIG. 2, a card 200 on which a barcode symbol 100 is printed or pasted, a card reader 30
0, host computer 400, and card reader 30
0 to connect the host computer 400 to the cable 50
It is composed of 0s.

【0017】ここで、カードリーダ300は、カード2
00をスリット300Sに矢印の方向に滑べらせ、バー
コードシンボル100の内容を読み取り、ホストコンピ
ュータ400や図示しない端末装置へバーコードシンボ
ル100の記録内容を転送するものである。このカード
リーダ300には、図1の(A)に示すような電気系の
回路が組み込まれている。また、このカードリーダ30
0には、当該カードリーダ300の動作状態を示す各種
LED300Lが組み込まれている。
Here, the card reader 300 uses the card 2
00 is slid on the slit 300S in the direction of the arrow, the content of the barcode symbol 100 is read, and the recorded content of the barcode symbol 100 is transferred to the host computer 400 or a terminal device (not shown). The card reader 300 incorporates an electric circuit as shown in FIG. In addition, this card reader 30
Various LEDs 300L indicating the operating state of the card reader 300 are incorporated in the LED 0.

【0018】なお、このように、操作者が手でカードを
スリットに滑べらせて記録内容を読み取る形式のカード
リーダは、磁気カードリーダ等に多く見られ、一般的に
スワイプタイプカードリーダと呼ばれている。次に、図
1の(A)を参照して、カードリーダ300の構成を説
明する。
Note that a card reader of the type in which the operator manually slides the card through the slit to read the recorded contents is often found in magnetic card readers and the like, and is generally called a swipe type card reader. Has been. Next, the configuration of the card reader 300 will be described with reference to FIG.

【0019】カードリーダ300は、リニアセンサ(1
DCCD)アレイ302を用いてバーコードシンボル1
00の内容を読み取るものである。即ち、このカードリ
ーダ300は、1DCCDアレイ302、CCDドライ
バ304、CCDアンプ306、2値化回路308、パ
ルス幅カウント回路310、ファースト・イン・ファー
スト・アウト(FIFO)メモリ312、幅メモリ31
4、初期化スキャンデータメモリ316、データ処理回
路318、ホストインタフェース回路320、カウンタ
322、マーカライト回路“S”324、挿入検出セン
サ326、排出検出センサ328、マーカライト回路
“O”330、及び各種LED300Lから構成されて
いる。
The card reader 300 includes a linear sensor (1
Barcode symbol 1 using DCCD array 302
The contents of 00 are read. That is, the card reader 300 includes a 1D CCD array 302, a CCD driver 304, a CCD amplifier 306, a binarization circuit 308, a pulse width counting circuit 310, a first-in-first-out (FIFO) memory 312, and a width memory 31.
4, initialization scan data memory 316, data processing circuit 318, host interface circuit 320, counter 322, marker write circuit “S” 324, insertion detection sensor 326, ejection detection sensor 328, marker write circuit “O” 330, and various types. It is composed of an LED 300L.

【0020】ここで、上記CCDドライバ304は1D
CCDアレイ302へクロック信号を供給し、CCDア
ンプ306は上記1DCCDアレイ33の出力を増幅す
る。2値化回路308は上記CCDアンプ306の出力
を2値化し、パルス幅カウント回路310は上記2値化
回路308の出力信号中のバー,スペースを、あるクロ
ックでカウントする。FIFOメモリ312は、このパ
ルス幅カウント回路310でカウントされた幅情報を格
納する。
Here, the CCD driver 304 is a 1D
A clock signal is supplied to the CCD array 302, and the CCD amplifier 306 amplifies the output of the 1DCCD array 33. The binarization circuit 308 binarizes the output of the CCD amplifier 306, and the pulse width counting circuit 310 counts bars and spaces in the output signal of the binarization circuit 308 with a certain clock. The FIFO memory 312 stores the width information counted by the pulse width counting circuit 310.

【0021】幅メモリ314は、上記FIFOメモリ3
12から読み出した1スキャン分の幅データ列を格納す
る。また、初期化スキャンデータメモリ316は、後述
するPDF417バーコードシンボルのロウ方向,カラ
ム方向のサイズやセキュリティレベルを確定する迄の各
スキャンの幅データ列を格納する。
The width memory 314 is the FIFO memory 3 described above.
The width data string for one scan read from 12 is stored. Further, the initialization scan data memory 316 stores the width data string of each scan until the size in the row direction and the column direction of the PDF417 barcode symbol described later and the security level are determined.

【0022】データ処理回路318は、カードリーダ3
00の全体の処理を制御するもので、図1の(B)に示
すように、後述するような各種処理を行うための高速演
算回路318A、各スキャンの幅データ列の数をカウン
トする幅データ数カウンタ318B、幅データ列の数の
あるしきい値を格納するしきい値レジスタ318C、及
び上記幅データ数カウンタ318Bの幅データ列の数と
上記しきい値レジスタ318Cに格納されたあるしきい
値とを比較する比較回路318Dより構成されている。
The data processing circuit 318 is used by the card reader 3
00, which controls the entire processing, and as shown in FIG. 1B, a high-speed arithmetic circuit 318A for performing various kinds of processing described later, width data for counting the number of width data columns of each scan. A number counter 318B, a threshold register 318C for storing a threshold value of the number of width data strings, and a number of width data strings of the width data number counter 318B and a threshold stored in the threshold register 318C. It is composed of a comparison circuit 318D for comparing with a value.

【0023】ホストインタフェース回路320は、バー
コードシンボル100の内容を図2のホストコンピュー
タ400或は図示しない端末装置へ転送するためのもの
である。
The host interface circuit 320 is for transferring the contents of the bar code symbol 100 to the host computer 400 of FIG. 2 or a terminal device (not shown).

【0024】カウンタ322は、上記1DCCDアレイ
302からCCDアンプ306へ供給される1DCCD
アレイ306の画素データ数をカウントし、マーカライ
ト回路“S”324は、このカウンタ322の出力を受
け、各スキャン毎に特殊なマーカをFIFOメモリ31
2に格納する。
The counter 322 is a 1DCCD supplied from the 1DCCD array 302 to the CCD amplifier 306.
The number of pixel data in the array 306 is counted, and the marker write circuit “S” 324 receives the output of the counter 322 and outputs a special marker for each scan to the FIFO memory 31.
Store in 2.

【0025】また、挿入検出センサ326は、カード2
00が1DCCDアレイ302の撮像位置に到達したこ
とを検出するためのもので、フォトインタラプタ等で構
成される。排出検出センサ328は、カード200が1
DCCDアレイ302の撮像位置から抜けたことを検出
するためのもので、フォトインタラプタ等で構成され
る。マーカライト回路“O”330は、上記排出検出セ
ンサ328の出力を受けて、特殊なマーカをFIFOメ
モリ312に格納する。LED300Lは、当該カード
リーダ300の動作状態を示すためのものである。
The insertion detection sensor 326 is used for the card 2
00 is for detecting that it has reached the image pickup position of the 1D CCD array 302, and is composed of a photo interrupter or the like. The discharge detection sensor 328 has only one card 200.
This is for detecting that the image pickup position of the DCCD array 302 has been removed, and is composed of a photo interrupter or the like. The marker write circuit “O” 330 receives the output of the discharge detection sensor 328 and stores a special marker in the FIFO memory 312. The LED 300L is for indicating the operating state of the card reader 300.

【0026】次に、バーコードシンボル100のシンボ
ル構造を簡単に説明する。ここでは、バーコードシンボ
ル100として2次元バーコードシンボルPDF417
を用いている。図3は、このPDF417のラベル構造
を示している。
Next, the symbol structure of the bar code symbol 100 will be briefly described. Here, a two-dimensional barcode symbol PDF417 is used as the barcode symbol 100.
Is used. FIG. 3 shows the label structure of the PDF417.

【0027】このバーコードシンボル100は、バーと
スペースの組合せでなるバーコードキャラクタ群で構成
された復号されるべき情報成分の領域であるラベル部1
02と、その前後に配されたスタート/ストップキャラ
クタであるスタートコード104及びストップコード1
06とを有している。そして、1コードは、ストップコ
ード106を除いて4つのバーとスペースとからなって
いる。ストップコード106は、5つのバーと4つのス
ペースとからなっている。また、スタート及びストップ
コード104,106は、“ビッグバー”と呼ばれる大
きなバー104A,106Aから始まっている。
The bar code symbol 100 is a label portion 1 which is an area of an information component to be decoded which is composed of a bar code character group consisting of a combination of a bar and a space.
02 and start code 104 and stop code 1 which are start / stop characters arranged before and after the character 02.
06 and. And one code is composed of four bars and a space except for the stop code 106. The stop code 106 consists of 5 bars and 4 spaces. Also, the start and stop codes 104 and 106 start from large bars 104A and 106A called "big bars".

【0028】ラベル部102は、スタートコード104
及びストップコード106の隣に存在するロウインディ
ケータ102Aと呼ばれるコードと、それらの間に挟ま
れた実際のデータが記述されている少なくとも1つのデ
ータカラム102Bでなるラベルマトリックス102C
とにより構成される。このデータカラム102B中の4
つのバーとスペースとからなるキャラクタをデータキャ
ラクタという。ここで、ストップコード106の隣に存
在するロウインディケータ102Aは、省略することが
可能であり、又ストップコード106は1つのバーのみ
で代用することが可能である。ロウインディケータ10
2Aには、ラベルのロウ方向,カラム方向のサイズやセ
キュリティレベル、及びそのロウインディケータ102
Aが第何番目のロウであるというアドレスが記述されて
いる。セキュリティレベルとは、PDF417が有して
いるエラー訂正能力のレベルのことであり、9段階のレ
ベルを有している。これはエラー訂正できないセキュリ
ティレベル0から510個のデータキャラクタが正常に
読み取れなくてもエラー訂正できるセキュリティレベル
8までの9段階である。従って、このロウインディケー
タ102Aの情報を解読すれば、バーコードシンボル1
00の情報サイズ等が決定できる。なお、この図3は、
4×2のラベルマトリックス(即ち、4×2=8個のデ
ータキャラクタ)を有するバーコードシンボルを示して
いる。
The label portion 102 has a start code 104.
And a label matrix 102C consisting of a code called a row indicator 102A existing next to the stop code 106 and at least one data column 102B in which actual data sandwiched between them is described.
Composed of and. 4 in this data column 102B
A character consisting of two bars and a space is called a data character. Here, the row indicator 102A existing next to the stop code 106 can be omitted, and the stop code 106 can be replaced by only one bar. Row indicator 10
2A includes a label row size, a column size, a security level, and the row indicator 102.
The address indicating that A is the row number is described. The security level is a level of error correction capability of the PDF417, and has nine levels. There are 9 levels from security level 0 where error correction is not possible to security level 8 where error correction is possible even if 510 data characters cannot be read normally. Therefore, if the information of the row indicator 102A is decoded, the barcode symbol 1
The information size of 00 can be determined. In addition, this FIG.
It shows a bar code symbol with a 4x2 label matrix (i.e. 4x2 = 8 data characters).

【0029】ここでバーコードシンボル100と図1の
(A)の1DCCDアレイ302の関係であるが、1回
のスキャンで得られたデータ列中にバーコードシンボル
100のスタートコード104とストップコード106
を含むように配置する。次に、再度図1の(A)を参照
して、カードリーダ300各部の動作を説明し、その後
図3乃至図8を参照してデータ処理回路318の動作を
説明する。
Here, regarding the relationship between the bar code symbol 100 and the 1DCCD array 302 of FIG. 1A, the start code 104 and the stop code 106 of the bar code symbol 100 are included in the data string obtained by one scan.
To include. Next, the operation of each unit of the card reader 300 will be described with reference to FIG. 1A again, and then the operation of the data processing circuit 318 will be described with reference to FIGS. 3 to 8.

【0030】先ず、カードリーダ300各部の動作であ
るが、1DCCDアレイ302の撮像位置付近に配置さ
れた挿入検出センサ326がカード200を検出する
(図1の(A)中の位置P1)と、データ処理回路31
8(高速演算回路318A)はそれを認識し、このデー
タ処理回路318の指示で図示しない照明装置によりバ
ーコードシンボル100を含むカード200が照明さ
れ、その反射光が図示しないレンズなどを含む光学系を
介して1DCCDアレイ302に入射される。
First, regarding the operation of each part of the card reader 300, when the insertion detection sensor 326 arranged near the image pickup position of the 1DCCD array 302 detects the card 200 (position P1 in FIG. 1A), Data processing circuit 31
8 (high-speed arithmetic circuit 318A) recognizes this, and the card 200 including the barcode symbol 100 is illuminated by an illuminating device (not shown) according to an instruction from the data processing circuit 318, and the reflected light thereof is an optical system including a lens (not shown). The light is incident on the 1D CCD array 302 via.

【0031】1DCCDアレイ302では光信号を電気
信号に変換し、1DCCDアレイ302の画総数分のデ
ータを同期信号と共にCCDアンプ306へ出力する。
CCDアンプ306で増幅され、2値化回路308で2
値化されたスキャンデータは、パルス幅カウント回路3
10で1DCCDアレイ302の動作クロックに同期し
てバー,スペースの幅がカウントされ、さらにFIFO
メモリ312へ順番に格納される。
The 1DCCD array 302 converts an optical signal into an electric signal, and outputs the data for the total number of images of the 1DCCD array 302 to the CCD amplifier 306 together with a synchronizing signal.
It is amplified by the CCD amplifier 306 and converted to 2 by the binarization circuit 308.
The digitized scan data is output to the pulse width counting circuit 3
At 10, the widths of bars and spaces are counted in synchronization with the operation clock of the 1D CCD array 302, and the FIFO is further added.
The data is sequentially stored in the memory 312.

【0032】また、カウンタ322にて1DCCDアレ
イ302がCCDアンプ306へ出力している画素デー
タ数をカウントし、1DCCDアレイ302の有してい
る画素数分カウント終了したら、マーカライト回路
“S”324は各スキャンの幅データ列の最後に“00
H(Hは16進数を意味する)”という値をFIFOメ
モリ312に格納する。この“00H”という値は、バ
ー,スペースの幅情報中には有り得ない値であり、これ
によりデータ処理回路318(高速演算回路318A)
は各スキャンの終り(1回のスキャンによる幅データ列
の終り)が判断できる。
Further, the counter 322 counts the number of pixel data output from the 1DCCD array 302 to the CCD amplifier 306, and when the number of pixels of the 1DCCD array 302 has been counted, the marker write circuit “S” 324. Is "00" at the end of the width data string of each scan.
A value "H (H means hexadecimal number)" is stored in the FIFO memory 312. The value "00H" is a value that cannot be included in the width information of the bar and space, and thus the data processing circuit 318 is executed. (High-speed arithmetic circuit 318A)
Can determine the end of each scan (the end of the width data string by one scan).

【0033】図4の(A)にFIFOメモリ312の内
容を示す。即ち、幅“64”のバー(或は、スペース)
から始まり、“10”,“6”,“10”,“6”,
“10”,“6”,“26”(ここまでがスタートコー
ド104に相当するスタートパターンである),“3
5”…,“25”と幅データ列が続き、次にこのスキャ
ンの幅データ列の終りを示す“00H”(マーカ312
M)が格納されている。“00H”以降は、次のスキャ
ンの幅データ列が格納されていることになる。
FIG. 4A shows the contents of the FIFO memory 312. That is, a bar (or space) with a width of "64"
Starting from "10", "6", "10", "6",
"10", "6", "26" (up to here is the start pattern corresponding to the start code 104), "3"
5 "...," 25 "followed by the width data string, and then" 00H "(marker 312) indicating the end of the width data string of this scan.
M) is stored. After "00H", the width data string of the next scan is stored.

【0034】ここで、各スキャンの幅データ列が何個の
幅情報を持つかは分からない。従って、予めスキャンの
幅データ列の幅情報の最大個数を決めておき、その個数
分だけ毎回格納する方法(幅情報が少ない時は特定のデ
ータで残りを埋める)や、別のメモリに各スキャンの格
納幅情報数を格納しておく方法があるが、幅情報の最大
個数を考慮しその個数分だけ予め用意する方法は、メモ
リ容量が不必要に増加し、別のメモリに各スキャンの格
納幅情報数を格納しておく方法もメモリの無駄である。
そこで、本実施例では、各スキャンの幅データ列の最後
に“00H”なるマーカ312Mを格納するようにして
いる。このようにすれば、可変長である各スキャンの幅
データ列を効率よくメモリに格納することができ、少な
い容量のFIFOメモリ312でも十分となる。
Here, it is not known how many pieces of width information the width data string of each scan has. Therefore, the maximum number of width information of the width data string of the scan is determined in advance, and the number is stored each time (when the width information is small, the rest is filled with specific data) or each scan is stored in a separate memory. Although there is a method of storing the number of width information of each scan, the method of preparing the number of width information in advance considering the maximum number of width information increases the memory capacity unnecessarily and stores each scan in another memory. The method of storing the number of width information is also a waste of memory.
Therefore, in this embodiment, the marker 312M of "00H" is stored at the end of the width data string of each scan. By doing so, the width data string of each scan having a variable length can be efficiently stored in the memory, and the FIFO memory 312 having a small capacity is sufficient.

【0035】データ処理回路318では、先ず“00
H”迄の幅データ列をFIFOメモリ312から取り出
して幅メモリ314に格納し、その後、この幅メモリ3
14の内容を読み出す。データ処理回路318は順次こ
の動作を繰り返し、初期化スキャンデータメモリ316
を使用してロウ方向,カラム方向のサイズやセキュリテ
ィレベルを検出しながらカード200上のバーコードシ
ンボル100の内容を読み取り、正しくバーコードシン
ボル100がデコードできた時には、ホストインタフェ
ース回路320を制御して、その内容を図2のホストコ
ンピュータ400或は図示しない端末装置へ転送する。
In the data processing circuit 318, first, "00"
The width data string up to H ″ is taken out from the FIFO memory 312 and stored in the width memory 314.
The contents of 14 are read. The data processing circuit 318 sequentially repeats this operation to initialize the scan data memory 316.
The contents of the bar code symbol 100 on the card 200 are read while detecting the size and security level in the row and column directions by using, and when the bar code symbol 100 can be decoded correctly, the host interface circuit 320 is controlled. , Its contents are transferred to the host computer 400 of FIG. 2 or a terminal device (not shown).

【0036】ここで、FIFOメモリ312から一度幅
メモリ314に格納するのは、幅データ列の最初から処
理して後述するデータマトリックスへ格納する場合もあ
るし、幅データ列の最後から処理して後述するデータマ
トリックスへ格納する場合もあるからである。例えば、
幅データ列の最初の方にあるスタートコード104が検
出できずに、最後の方にあるストップコード106が検
出されたときは、幅データ列の最後から最初の方へ遡っ
て処理することになる。
Here, once storing from the FIFO memory 312 to the width memory 314 may be performed from the beginning of the width data string and then stored in the data matrix described later, or from the end of the width data string. This is because it may be stored in the data matrix described later. For example,
When the start code 104 at the beginning of the width data string cannot be detected and the stop code 106 at the end of the width data string is detected, processing is performed from the end of the width data string back to the beginning. .

【0037】また、1DCCDアレイ302の撮像位置
付近に配置された排出検出センサ328がカード200
の通過を検出する(図1の(A)中の位置P2)と、該
センサ328はそのことをデータ処理回路318に通知
すると共に、マーカライト回路“O”330へもそれを
通知するための信号が出力される。
Further, the discharge detection sensor 328 arranged near the image pickup position of the 1D CCD array 302 is mounted on the card 200.
When the passage of the data is detected (position P2 in FIG. 1A), the sensor 328 notifies the data processing circuit 318 of the fact and also notifies the marker write circuit “O” 330 of it. The signal is output.

【0038】マーカライト回路“O”330では、カー
ド排出時に特殊なマークをFIFOメモリ312へ格納
する。データ処理回路318は、この特殊なマークをF
IFOメモリ312から検出して、カード200が排出
されたことを確認できる。もちろん、排出検出センサ3
28の出力でもデータ処理回路318はカード200の
排出を確認できるが、データ処理回路318がリアルタ
イムでFIFOメモリ312の幅データ列を処理できな
い場合、即ち排出検出センサ328の出力でカード20
0の排出を確認したときに未だFIFOメモリ312の
中に処理していない幅データ列が残っている場合は、ど
こまで処理してよいかデータ処理回路318では分から
ないために、排出のタイミングを示す特殊マークを用意
している。この排出のタイミングを示す特殊マークは、
バー,スペースの幅をカウントした情報中には有り得な
い値(例えば、1DCCDアレイ302の画素数を20
48とすると、“2100”という値を排出のタイミン
グを示す特殊マークとすればよい。この“2100”と
いう値は存在しない。ただしこの場合は、FIFOメモ
リ312を12ビット以上の構成にする必要が有る)に
しておく必要が有るが、これによりデータ処理回路31
8はカード排出のタイミングが判断できる。
The marker write circuit "O" 330 stores a special mark in the FIFO memory 312 when the card is ejected. The data processing circuit 318 makes this special mark F
It can be confirmed from the IFO memory 312 that the card 200 has been ejected. Of course, the discharge detection sensor 3
28, the data processing circuit 318 can confirm the ejection of the card 200. However, when the data processing circuit 318 cannot process the width data string of the FIFO memory 312 in real time, that is, the output of the ejection detection sensor 328 indicates the card 20.
If there is still an unprocessed width data string in the FIFO memory 312 when the discharge of 0 is confirmed, the data processing circuit 318 does not know how much to process, so the discharge timing is indicated. Special mark is prepared. The special mark that indicates the timing of this discharge is
A value that cannot be included in the information obtained by counting the widths of bars and spaces (for example, if the number of pixels of the 1DCCD array 302 is 20
If it is set to 48, the value “2100” may be used as a special mark indicating the discharge timing. The value "2100" does not exist. However, in this case, the FIFO memory 312 needs to be configured to have 12 bits or more).
No. 8 can judge the card ejection timing.

【0039】また、データ処理回路318では、カード
リーダ300の動作状態を示す各LED300Lの制御
も行なう。図2で示してあるLED300Lは、カード
リーダ300に電源が投入されていることを示すPOW
ER LED、カード200上のバーコードシンボル1
00を1DCCDアレイ302がスキャンしていること
を示すSCAN LED、バーコードシンボル100の
内容を正しくデコードできたことを示すDECODE
LED、そしてバーコードシンボル100の内容がデコ
ードできなかったことを示すERROR LEDで構成
されている。
The data processing circuit 318 also controls each LED 300L indicating the operating state of the card reader 300. The LED 300L shown in FIG. 2 is a POW indicating that the card reader 300 is powered on.
ER LED, barcode symbol 1 on card 200
00 is a SCAN LED indicating that the 1D CCD array 302 is scanning, and DECODE indicating that the contents of the barcode symbol 100 have been correctly decoded.
It is composed of an LED and an ERROR LED indicating that the contents of the barcode symbol 100 could not be decoded.

【0040】ここで、データ処理回路318では、以下
に説明するようなアルゴリズムに基づいて、バーコード
シンボル100の内容のデコードを行って、図2のホス
トコンピュータ400或は図示しない端末装置へ転送す
る。
Here, the data processing circuit 318 decodes the contents of the bar code symbol 100 on the basis of an algorithm as described below and transfers it to the host computer 400 of FIG. 2 or a terminal device (not shown). .

【0041】即ち、図5は、このスワイプタイプカード
リーダ300に於けるデータ処理回路318でバーコー
ドシンボル100の内容をデコードするアルゴリズムの
概略を示すフローチャートである。
That is, FIG. 5 is a flow chart showing an outline of an algorithm for decoding the contents of the bar code symbol 100 in the data processing circuit 318 in the swipe type card reader 300.

【0042】先ず、POWER LEDを点灯させ(ス
テップS1)、そして、カード200が挿入されたかど
うかを確認し(ステップS2)、カード200が挿入さ
れていないときには、再度ステップS2が繰り返され
る。
First, the POWER LED is turned on (step S1), and it is confirmed whether or not the card 200 is inserted (step S2). If the card 200 is not inserted, step S2 is repeated.

【0043】カード200が挿入されているときは、S
CAN LEDと不図示照明装置を点灯させ、各スキャ
ンの幅データ列の区切りを示す“00H”の数をカウン
トするためのデータ処理回路318内に構成された不図
示マーク0カウンタをクリアする(ステップS3)。
When the card 200 is inserted, S
The CAN LED and the lighting device (not shown) are turned on, and the mark 0 counter (not shown) configured in the data processing circuit 318 for counting the number of "00H" indicating the division of the width data string of each scan is cleared (step S3).

【0044】その後、後で詳しく述べるロウナンバ及び
カラムナンバ決定ルーチンをコールして(ステップS
4)、バーコードシンボル100のロウインディケータ
102Aを読み取り、ラベルサイズやセキュリティレベ
ル等を決定する。
Thereafter, a row number and column number determination routine which will be described in detail later is called (step S
4) Read the row indicator 102A of the barcode symbol 100 to determine the label size, security level and the like.

【0045】そして、上記ステップS4のロウナンバ及
びカラムナンバ決定ルーチンに於いてラベルサイズやセ
キュリティレベル等が決定されたかどうかを判断し(ス
テップS5)、決定されていない場合は、ERROR
LEDを点灯し(ステップS6)、このPOWER L
ED以外の各LEDを消灯させ(ステップS7)、上記
ステップS2に制御を移してカード挿入を待つ。
Then, it is judged whether or not the label size, the security level and the like have been decided in the row number and column number decision routine of step S4 (step S5), and if they have not been decided, ERROR
The LED is turned on (step S6), and the POWER L
The LEDs other than the ED are extinguished (step S7), and the control is moved to the above step S2 to wait for the card insertion.

【0046】一方、上記ステップS5にてラベルサイズ
やセキュリティレベル等が決定されたと判断された場合
は、後述するスキャンルーチンをコールして(ステップ
S8)、バーコードシンボル100上を1DCCDアレ
イ302にて順次スキャンし、バーコードシンボル10
0を読み取る。
On the other hand, if it is determined in step S5 that the label size, the security level, etc. have been determined, a scan routine to be described later is called (step S8), and the bar code symbol 100 is placed on the 1DCCD array 302. Scan sequentially, and barcode symbol 10
Read 0.

【0047】そして、上記ステップS8のスキャンルー
チンでデコードが終了したかどうかを判断し(ステップ
S9)、デコードが終了していないときは、ERROR
LEDを点灯し(ステップS6)、他のLEDを消灯
させ(ステップS7)、上記ステップS2に制御を移し
てカード挿入を待つ。
Then, it is judged whether or not the decoding is completed in the scan routine of the step S8 (step S9). If the decoding is not completed, the error is determined.
The LED is turned on (step S6), the other LEDs are turned off (step S7), and the control is transferred to the step S2 to wait for the card insertion.

【0048】一方、上記ステップS9にてデコードが終
了したと判断したときは、DECODE LEDを点灯
させ(ステップSA)、ホストインタフェース回路32
0を制御して、バーコードシンボル100の内容を図2
のホストコンピュータ400或は図示しない端末装置へ
転送する(ステップSB)。その後、POWER LE
D以外の各LEDを消灯させ(ステップS7)、上記ス
テップS2に制御を移してカード挿入を待つ。次に、上
記ステップS4でコールされるロウナンバ及びカラムナ
ンバ決定ルーチンの動作を、図6を用いて詳しく説明す
る。
On the other hand, when it is determined in step S9 that the decoding is completed, the DECODE LED is turned on (step SA) and the host interface circuit 32 is turned on.
By controlling 0, the contents of the barcode symbol 100 are displayed in FIG.
To the host computer 400 or a terminal device not shown (step SB). After that, POWER LE
The LEDs other than D are extinguished (step S7), and the control is moved to the step S2 to wait for the card insertion. Next, the operation of the row number and column number determination routine called in step S4 will be described in detail with reference to FIG.

【0049】先ず、何回のスキャンでロウナンバ及びカ
ラムナンバが決定されたかを示すための上記初期化スキ
ャンデータメモリ316内に構成された初期化スキャン
回数カウンタをクリアする(ステップS41)。次に、
後述するGETSCANルーチンをコールし(ステップ
S42)、1DCCDアレイ302から1回のスキャン
による幅データ列を幅メモリ314へ格納する。次に、
幅メモリ314から順次幅データ列を取り出し、スター
トコード104やストップコード106が幅データ列中
に含まれるか確認する(ステップS43)。スタートコ
ード104やストップコード106が幅データ列中に含
まれていない場合(ステップS44)は、さらにカード
排出マークが幅データ列中に存在するか確認し(ステッ
プS45)、存在する場合は、このロウナンバ及びカラ
ムナンバ決定ルーチンを終了するが、存在しない場合
は、上記ステップS42のGETSCANルーチンに制
御を戻す。
First, the initialization scan number counter formed in the initialization scan data memory 316 for indicating how many scans the row number and the column number are determined is cleared (step S41). next,
A GETSCAN routine, which will be described later, is called (step S42), and a width data string obtained by one scan from the 1DCCD array 302 is stored in the width memory 314. next,
The width data string is sequentially fetched from the width memory 314, and it is confirmed whether the start code 104 or the stop code 106 is included in the width data string (step S43). If the start code 104 and the stop code 106 are not included in the width data string (step S44), it is further confirmed whether or not the card ejection mark is present in the width data string (step S45). Although the row number and column number determination routine ends, if there is no such control, the control is returned to the GETSCAN routine of step S42.

【0050】また、上記ステップS44にてスタートコ
ード104かスットプコード106が確認された場合
は、幅データ列を初期化スキャンデータメモリ316へ
格納し(ステップS46)、ポインターと呼ばれる各幅
データ列の先頭アドレスを示す領域に、次の幅データ列
を格納すべき初期化スキャンデータメモリ316の先頭
アドレスを書き込み(ステップS47)、さらに上記初
期化スキャン回数カウンタをインクリメントする(ステ
ップS48)。
When the start code 104 or the stop code 106 is confirmed in step S44, the width data string is stored in the initialization scan data memory 316 (step S46), and each width data string called a pointer is stored. The start address of the initialization scan data memory 316 for storing the next width data string is written in the area indicating the start address (step S47), and the initialization scan number counter is incremented (step S48).

【0051】ここで、上記初期化スキャンデータメモリ
316の構成を図4の(B)に示す。初期化スキャンデ
ータメモリ316には、スタートコード104かストッ
プコード106が検出された幅データ列が順次格納され
ており、各スキャンの幅データ列の先頭を指し示すポイ
ンタと初期化スキャン回数カウンタが別に用意されてい
る。このポインタと初期化スキャン回数カウンタは、初
期化スキャンデータメモリ316内に用意せずに、別の
メモリに構成させてもよい。
The structure of the initialization scan data memory 316 is shown in FIG. 4B. A width data string in which the start code 104 or the stop code 106 is detected is sequentially stored in the initialization scan data memory 316, and a pointer indicating the beginning of the width data string of each scan and an initialization scan number counter are separately prepared. Has been done. The pointer and the initialization scan number counter may not be prepared in the initialization scan data memory 316 but may be configured in another memory.

【0052】その後、検出されたスタートコード104
(又は、ストップコード106)の隣に位置するロウイ
ンディケータ102Aを読み取り、バーコードシンボル
100のロウナンバ,カラムナンバ,及びセキュリティ
レベルを確認し(ステップS49)、確認できた値を順
次図示しない変数に格納していく。1つのロウのロウイ
ンディケータ102Aだけではロウナンバ,カラムナン
バ,及びセキュリティレベルは確認できず、最低3つの
ロウのロウインディケータ102Aが必要である。ここ
でロウナンバ,カラムナンバ,及びセキュリティレベル
が決定したかどうか判断し(ステップS4A)、決定し
ている場合は、このロウナンバ及びカラムナンバ決定ル
ーチンを終了する。また決定していない場合は、上記ス
テップS45に進んでさらにカード排出マークが幅デー
タ列中に存在するか確認し、存在する場合は、このロウ
ナンバ及びカラムナンバ決定ルーチンを終了するが、存
在しない場合は、上記ステップS42のGETSCAN
ルーチンに制御を戻す。次に、上記ステップS8でコー
ルされるスキャンルーチンの動作を図7を用いて詳しく
説明する。
Thereafter, the detected start code 104
(Or, the row indicator 102A located next to the stop code 106) is read, the row number, column number, and security level of the barcode symbol 100 are confirmed (step S49), and the confirmed values are sequentially stored in variables not shown. I will do it. The row number, the column number, and the security level cannot be confirmed only by the row indicator 102A of one row, and the row indicator 102A of at least three rows is required. Here, it is determined whether or not the row number, column number, and security level have been determined (step S4A), and if so, this row number and column number determination routine ends. If not determined, the process proceeds to step S45 to further confirm whether or not the card ejection mark is present in the width data string, and if present, terminates this row number and column number determination routine, but if not present. Is the GETSCAN of step S42 above.
Return control to the routine. Next, the operation of the scan routine called in step S8 will be described in detail with reference to FIG.

【0053】先ず、前述のステップS4でコールされた
ロウナンバ及びカラムナンバ決定ルーチンにて求められ
た初期化スキャン回数をデクリメントする(ステップS
81)。次に、この初期化スキャン回数位置にあるポイ
ンタが指し示す初期化スキャンデータメモリ316から
1スキャン分の幅データ列を取り出す(ステップS8
2)。ここで、幅データ列の終了は、1つ手前のポイン
タから判断できる。
First, the number of initialization scans obtained in the row number and column number determination routine called in step S4 is decremented (step S).
81). Next, a width data string for one scan is taken out from the initialization scan data memory 316 pointed to by the pointer at this initialization scan count position (step S8).
2). Here, the end of the width data string can be determined from the pointer immediately before.

【0054】その後、スタートコード104やストップ
コード106を幅データ列から確認する(ステップS8
3)。この場合は、前述のロウナンバ及びカラムナンバ
決定ルーチン(ステップS4)にてスタートコード10
4やストップコード106が幅データ列中に含まれてい
ることは確認済みである。次に、検出されたスタートコ
ード104(又は、ストップコード106)の隣に位置
するロウインディケータ102Aを読み取り、そのスキ
ャンされた幅データ列のロウナンバを確認する(ステッ
プS84)。ロウインディケータ102Aにはそのスキ
ャンデータが第何番目のロウであるかというアドレスが
記述されている。
After that, the start code 104 and the stop code 106 are confirmed from the width data string (step S8).
3). In this case, the start code 10 is used in the row number and column number determination routine (step S4) described above.
It has been confirmed that 4 and the stop code 106 are included in the width data string. Next, the row indicator 102A located next to the detected start code 104 (or stop code 106) is read, and the row number of the scanned width data string is confirmed (step S84). The row indicator 102A describes an address indicating which row the scan data is.

【0055】次に、後述するデータマトリックスに、確
認されたロウナンバの位置からロウインディケータ10
2A以降のデータキャラクタを順次格納する(ステップ
S85)。なお、スタートコード104が先に検出でき
た場合は、ロウインディケータ102A直後の最初のデ
ータキャラクタをデータマトリックスの左端に格納し、
順次処理した幅データ列を右側へ向かって格納するが、
これは1回のスキャンに於ける幅データ列の終りまで繰
り返される。もし先にストップコード106が検出され
た場合は、最初のデータキャラクタをデータマトリック
スの右端に格納し、順次処理した幅データ列を左側へ向
かって格納する。
Next, in the data matrix to be described later, the row indicator 10 is displayed from the confirmed row number position.
Data characters after 2A are sequentially stored (step S85). If the start code 104 can be detected first, the first data character immediately after the row indicator 102A is stored at the left end of the data matrix,
Sequentially processed width data string is stored to the right,
This is repeated until the end of the width data string in one scan. If the stop code 106 is detected first, the first data character is stored at the right end of the data matrix, and the sequentially processed width data string is stored toward the left.

【0056】ここで、初期化スキャン回数が“0”かど
うか判断し(ステップS86)、“0”でなければ未だ
処理しなければならない幅データ列が初期化スキャンデ
ータメモリ316に残っているので、上記ステップS8
1へ制御を戻す。
Here, it is determined whether or not the number of initialization scans is "0" (step S86), and if it is not "0", the width data string that has to be processed still remains in the initialization scan data memory 316. , The above step S8
Return control to 1.

【0057】もし“0”であれば、新たに幅データ列を
取り出すために、後で詳しく述べるGETSCANルー
チンをコールし(ステップS87)、取り出した幅デー
タ列からスタートコード104やストップコード106
を確認する(ステップS88)。もし、スタートコード
104やストップコード106が幅データ列中に含まれ
ていない場合(ステップS89)は、さらに取り込んだ
幅データ列中にカード排出を示す特殊マークか存在する
かどうか判断し(ステップS8A)、特殊マークが存在
する場合はスキャンルーチンを終了するが、特殊マーク
が存在しない場合は、上記ステップS87へ制御を戻
す。
If it is "0", a GETSCAN routine, which will be described in detail later, is called in order to newly fetch the width data string (step S87), and the start code 104 and the stop code 106 are fetched from the fetched width data string.
Is confirmed (step S88). If the start code 104 and the stop code 106 are not included in the width data string (step S89), it is determined whether or not there is a special mark indicating card ejection in the width data string taken in (step S8A). ), If the special mark exists, the scan routine is ended, but if the special mark does not exist, the control is returned to the step S87.

【0058】また、上記ステップS89にてスタートコ
ード104やストップコード106が幅データ列中に含
まれていると判断された場合には、検出されたスタート
コード104(又は、ストップコード106)の隣に位
置するロウインディケータ102Aを読み取り、そのス
キャンされた幅データ列のロウナンバを確認する(ステ
ップS8B)。次に、後述するデータマトリックスに、
確認されたロウナンバの位置からロウインディケータ1
02A以降のデータキャラクタを順次格納する(ステッ
プS8C)。
If it is determined in step S89 that the start code 104 or the stop code 106 is included in the width data string, it is next to the detected start code 104 (or stop code 106). The row indicator 102A located at is read and the row number of the scanned width data string is confirmed (step S8B). Next, in the data matrix described later,
Row indicator 1 from the confirmed row number position
Data characters after 02A are sequentially stored (step S8C).

【0059】そして、今までに読み取った情報でデコー
ド可能かどうかを判断し(ステップS8D)、デコード
可能の場合は、次のステップS8Eのデコード処理に制
御を移す。なおここで、「デコード可能」とは、エラー
訂正を伴う場合は、後述するデータマトリックスに格納
されていないデータキャラクタ数がエラー訂正可能なデ
ータキャラクタ数よりも少ない時をいい、エラー訂正を
伴わない場合は、データマトリックスに全てデータキャ
ラクタが格納されている時をいう。
Then, it is judged whether or not the information read so far can be decoded (step S8D). If the information can be decoded, the control is shifted to the decoding processing of the next step S8E. Here, "decodable" means that when error correction is involved, the number of data characters not stored in the data matrix described later is smaller than the number of error-correctable data characters, and error correction is not involved. In this case, it means the time when all data characters are stored in the data matrix.

【0060】また、上記ステップS8Dにてデコード不
能と判断された場合には、上記ステップS8Aに進んで
さらに取り込んだ幅データ列中にカード排出を示す特殊
マークか存在するかどうか判断し、特殊マークが存在す
る場合はスキャンルーチンを終了するが、特殊マークが
存在しない場合は、上記ステップS87へ制御を戻す。
なおここで、「デコード不能」とは、例えばエラー訂正
を伴う場合は、後述するデータマトリックスに格納され
ていないデータキャラクタ数がエラー訂正可能なデータ
キャラクタ数よりも多い時をいい、エラー訂正を伴わな
い場合は、後述するデータマトリックスに未だ格納され
ていないデータキャラクタが存在する時をいう。
If it is determined in step S8D that decoding is impossible, the process proceeds to step S8A to determine whether or not there is a special mark indicating card ejection in the width data string that has been further taken in. If the special mark does not exist, the control is returned to the step S87.
Here, "undecodeable" means, for example, when error correction is involved, when the number of data characters not stored in the data matrix described later is larger than the number of error-correctable data characters, and error correction is involved. When there is no data character, it means that there is a data character that has not been stored in the data matrix described later.

【0061】このようにカード200の全面をスキャン
してからデコード可能かどうかを判断するのではなく、
各スキャン毎にデコード可能かどうかを判断すること
は、デコード時間を短縮するためには、非常に重要なこ
とである。
As described above, the entire surface of the card 200 is scanned and then it is not judged whether decoding is possible.
Determining whether or not decoding is possible for each scan is very important in order to shorten the decoding time.

【0062】次のステップS8Eに於けるデコード処理
では、今までのスキャンルーチンに於いて読み取った情
報のチェックを行なう。このチェックは後述するデータ
マトリックスに格納されているキャラクタに対して行な
われるものであり、単にデコード結果の確認のみの場合
(JAN/UPC/EANコード,ITF(Interleave
d 2 of 5)コード,CODE39,NW−7コード,C
ODE128,等、従来の1次元バーコード)もある
が、エラー訂正を伴う場合(PDF417,DATA
CODE,等、2次元バーコードシンボル)もある。こ
のステップS8Eのデコード処理を実行した後、このス
キャンルーチンを終了する。
In the decoding process in the next step S8E, the information read in the scan routine so far is checked. This check is performed on the characters stored in the data matrix described later, and in the case of merely confirming the decoding result (JAN / UPC / EAN code, ITF (Interleave).
d 2 of 5) Code, CODE39, NW-7 code, C
There are also conventional one-dimensional barcodes such as ODE128, but with error correction (PDF417, DATA
There are also two-dimensional bar code symbols such as CODE). After executing the decoding process in step S8E, the scan routine is ended.

【0063】ここで、上記データマトリックスについて
説明する。データマトリックスは、スキャンした幅デー
タ列から値を求めたデータキャラクタを格納するマトリ
ックスであり、JAN/UPC/EANコードでは
「0」から「9」の値が格納され、PDF417では
「0」から「928」の値が格納される。PDF417
の場合データマトリックスの大きさは、カード200上
のバーコードシンボル100のラベルマトリックス10
2Cと同じ大きさである。幅データ列からデータキャラ
クタを求める方法であるが、例えば、JAN/UPC/
EANコードでは、黒バー2本,白スペース2本の合計
4本の幅データから「0」から「9」の値へ変換するこ
とになる。この変換は、一般にはテーブル参照により行
なわれている。また、PDF417では、黒バー4
本、,スペース4本の合計8本の幅データから「0」か
ら「928」の値へ変換することになる。この変換も一
般にはテーブル参照により行なわれている。次に、上記
ステップS42及びステップS87でコールされるGE
TSCANルーチンの動作を、図8を参照して詳しく説
明する。
Here, the data matrix will be described. The data matrix is a matrix for storing the data characters whose values are obtained from the scanned width data string, and the values of “0” to “9” are stored in the JAN / UPC / EAN code, and “0” to “in the PDF417”. The value of “928” is stored. PDF417
In this case, the size of the data matrix is the label matrix 10 of the barcode symbol 100 on the card 200.
It is the same size as 2C. A method for obtaining a data character from a width data string is, for example, JAN / UPC /
In the EAN code, the width data of a total of four black bars and two white spaces is converted into a value of "0" to "9". This conversion is generally performed by referring to a table. In PDF417, the black bar 4
The width data of a total of 8 books and 4 spaces is converted into a value of "0" to "928". This conversion is also generally performed by referring to a table. Next, the GE called in step S42 and step S87 described above.
The operation of the TSCAN routine will be described in detail with reference to FIG.

【0064】図8はGETSCANルーチンのフローチ
ャートであり、先ず、高速演算回路318Aは、各スキ
ャンの幅データ列の数をカウントする幅データ数カウン
タ318Bをクリアする(ステップS421)。次に、
上記1DCCDアレイ302からの幅データを格納した
FIFOメモリ312から、その幅データを取り込む
(ステップS422)。ここで、取り込んだ幅データが
カード排出を示す特殊マークかどうか判断し(ステップ
S423)、特殊マークの場合はこのGETSCANル
ーチンを終了するが、特殊マークでない場合は、さらに
1回のスキャンの幅データ列の終了を示す“00H”か
どうか判断する(ステップS424)。終了を示す“0
0H”の場合は、先ず各スキャンの幅データ列の区切り
を示す“00H”の数をカウントする上記マーク0カウ
ンタをインクリメントする(ステップS425)。
FIG. 8 is a flowchart of the GETSCAN routine. First, the high speed operation circuit 318A clears the width data number counter 318B which counts the number of width data columns of each scan (step S421). next,
The width data is fetched from the FIFO memory 312 storing the width data from the 1DCCD array 302 (step S422). Here, it is judged whether or not the taken-in width data is a special mark indicating card ejection (step S423), and if it is a special mark, this GETSCAN routine is ended, but if it is not a special mark, width data of one more scan It is determined whether it is "00H" indicating the end of the row (step S424). "0" indicating the end
In the case of "0H", first, the mark 0 counter for counting the number of "00H" indicating the division of the width data string of each scan is incremented (step S425).

【0065】そして、幅データ数カウンタ318Bの値
が、しきい値レジスタ318Cに格納されている後述す
るあるしきい値より大きいかどうかを、比較回路318
Dを使用して判断する(ステップS426)。上記ある
しきい値より大きい場合には、このGETSCANルー
チンを終了するが、小さいか等しい場合は上記ステップ
S421へ制御を戻す。
Then, the comparison circuit 318 checks whether the value of the width data number counter 318B is larger than a certain threshold value, which will be described later, stored in the threshold value register 318C.
A determination is made using D (step S426). If it is larger than the certain threshold value, the GETSCAN routine is ended, but if it is smaller than or equal to the threshold value, the control is returned to the step S421.

【0066】また、上記ステップS424に於いて、終
了を示す“00H”でないと判断された場合には、上記
幅データ数カウンタ318Bをインクリメントし(ステ
ップS427)、取り込んだ幅データを幅メモリ314
へ格納する(ステップS428)。そして、上記ステッ
プS422へ制御を戻す。
If it is determined in step S424 that it is not "00H" indicating the end, the width data number counter 318B is incremented (step S427), and the width data taken in is stored in the width memory 314.
(Step S428). Then, the control is returned to step S422.

【0067】次に、幅データ数カウンタ318Bの値と
比較するしきい値について説明する。ストップコード1
06の隣に存在するロウインディケータ102Aは、省
略することが可能であり、またストップコード106は
1つのバーのみで代用することが可能であるので、PD
F417バーコードシンボルを構成する最少の要素は、
スタートコード104,ロウインディケータ102A,
一個のデータカラム102B,簡略ストップコード(幅
1のバーのみ)である。即ち、幅情報の数としては、ス
タートコード104の8個(4個のバー,4個のスペー
ス)、ロウインディケータ102Aの8個(4個のバ
ー,4個のスペース)、一個のデータカラム102Bの
8個(4個のバー,4個のスペース)、簡略ストップコ
ードの1個(1個のバー)の合計25個である。従っ
て、24個以下の幅情報が得られた時にはそのスキャン
データ列は、無視してよい。そこで、上記あるしきい値
を“24”とすればよい。
Next, the threshold value to be compared with the value of the width data number counter 318B will be described. Stop code 1
The row indicator 102A existing next to 06 can be omitted, and since the stop code 106 can be substituted by only one bar, PD
The minimum elements that make up the F417 barcode symbol are:
Start code 104, row indicator 102A,
One data column 102B, a simplified stop code (only a bar with a width of 1). That is, as the number of width information, 8 pieces of the start code 104 (4 bars, 4 spaces), 8 pieces of the row indicator 102A (4 bars, 4 spaces), and one data column 102B. 8 (4 bars, 4 spaces) and 1 simple stop code (1 bar) for a total of 25. Therefore, when 24 or less pieces of width information are obtained, the scan data string may be ignored. Therefore, the threshold value may be set to "24".

【0068】このように、あるしきい値以下の幅データ
数のスキャンは無視するようにすれば、カード上の文
字,写真,イラストやスペース部分をスキャンした幅デ
ータ列からスタートコード104,ストップコード10
6を捜すということも無くなるし、ロウインディケータ
102Aやデータカラム102Bが無い(欠損などで正
常にスキャンできなかった)幅データ列からスタートコ
ード104,ストップコード106を捜すという無駄も
無くなるので、処理が高速になる。また、データ処理回
路318を高価な高速処理可能な電気素子にて構成する
必要も無くなる。即ち、高速に処理可能なバーコードシ
ンボル読取装置が提供可能となり、また、余分なメモリ
を必要としないので、安価なバーコードシンボル読取装
置が提供可能となる。 (第2実施例)
As described above, if the scanning of the width data number less than a certain threshold value is ignored, the start code 104 and the stop code are extracted from the width data string obtained by scanning the characters, photographs, illustrations and spaces on the card. 10
No need to search for 6, and there is no waste of searching for the start code 104 and the stop code 106 from the width data string that does not have the row indicator 102A and the data column 102B (which could not be scanned normally due to a defect, etc.). Get faster. Further, it is not necessary to configure the data processing circuit 318 with an expensive electric element capable of high-speed processing. That is, it is possible to provide a barcode symbol reading device that can process at high speed, and since an extra memory is not required, it is possible to provide an inexpensive barcode symbol reading device. (Second embodiment)

【0069】図9の(A)は本第2実施例のカードリー
ダ600を使用したシステムの外観図である。本第2実
施例と上記第1実施例との違いは、バーコードシンボル
100が印刷された或は貼り付けられたカード200を
デコードさせる方法である。
FIG. 9A is an external view of a system using the card reader 600 of the second embodiment. The difference between the second embodiment and the first embodiment is the method of decoding the card 200 on which the barcode symbol 100 is printed or pasted.

【0070】即ち、本実施例では、第1実施例のように
カード200をカードリーダ300のスリットに滑べら
せバーコードシンボル100の内容を読み取るのではな
く、カード200をカードリーダ600の挿入口600
Iへ操作者が挿入/排出させてバーコードシンボル10
0の内容を読み取るものであり、いわゆるタイムカード
方式ともいえる形式であり、一般的にディップタイプカ
ードリーダと呼ばれている。ディップタイプカードリー
ダは、操作者がカード200のバーコードシンボル10
0が印刷されていない部分(ハンドリングエリア200
H)を手で持ち、カードリーダ300の挿入口600I
へカード200を挿入させ、カードリーダ600内部の
突き当て位置へカード200が到達したことを操作者が
判断し、今度はカード200をカードリーダ600から
抜き去るものである。突き当て位置へカード200が到
達したことの判断は、カードリーダ600内部のメカニ
カルなストッパにカード200が突き当たったことで行
なわれる。
That is, in the present embodiment, the card 200 is not inserted into the slit of the card reader 300 to read the contents of the bar code symbol 100 as in the first embodiment, but the card 200 is inserted into the insertion slot of the card reader 600. 600
Bar code symbol 10 when the operator inserts / ejects it into I
It reads the contents of 0, which is a so-called time card system, and is generally called a dip type card reader. The operator of the dip-type card reader uses the barcode symbol 10 of the card 200.
Area where 0 is not printed (Handling area 200
H) by hand, and insert slot 600I of the card reader 300
The card 200 is inserted into the card reader 600, the operator judges that the card 200 has reached the abutting position inside the card reader 600, and this time the card 200 is removed from the card reader 600. The determination that the card 200 has reached the abutting position is made by the card 200 abutting a mechanical stopper inside the card reader 600.

【0071】カードリーダ600には、図10に示すよ
うなブロック図を有する電気系の回路が組み込まれてい
る。同図に於いては、図1の(A)と同様のものには同
じ参照番号を付してある。
The card reader 600 incorporates an electric circuit having a block diagram as shown in FIG. In the figure, the same components as those in FIG. 1A are designated by the same reference numerals.

【0072】本実施例のカードリーダ600もリニアセ
ンサ1DCCDアレイ302を用いてバーコードシンボ
ル100の内容を読み取るものである。ここでは第1実
施例と違う構成のみ説明する。即ち、挿入/排出検出セ
ンサ602は、カード200が1DCCDアレイ302
の撮像位置に到達したこと、さらにはカード200が抜
き去られたことを検出するためのもので、フォトインタ
ラプタ等で構成される。また、突き当て検出センサ60
4は、カード200がカードリーダ600内部の突き当
て位置に到達したことを検出するためのもので、フォト
インタラプタ等で構成される。マーカライト回路“O”
330は、上記挿入/排出検出センサ602の排出検出
出力を受けて、特殊な排出マーカをFIFOメモリ31
2に格納する。マーカライト回路“B”606は、突き
当て検出センサ604の出力を受けて、特殊な突き当て
マーカをFIFOメモリ312に格納する。もちろん、
上記特殊な排出マーカや特殊な突き当てマーカは、バ
ー,スペースの幅情報中には有り得ない値とする必要が
有る。
The card reader 600 of this embodiment also uses the linear sensor 1D CCD array 302 to read the contents of the bar code symbol 100. Here, only the configuration different from that of the first embodiment will be described. That is, in the insertion / ejection detection sensor 602, the card 200 has the 1DCCD array 302.
It is for detecting that the image pickup position has been reached and that the card 200 has been removed, and is configured by a photo interrupter or the like. In addition, the hit detection sensor 60
Reference numeral 4 is for detecting that the card 200 has reached the abutting position inside the card reader 600, and is composed of a photo interrupter or the like. Marker light circuit "O"
The 330 receives the ejection detection output of the insertion / ejection detection sensor 602 and outputs a special ejection marker to the FIFO memory 31.
Store in 2. The marker write circuit “B” 606 receives the output of the hit detection sensor 604 and stores a special hit marker in the FIFO memory 312. of course,
The special discharge marker and the special butting marker need to be values that cannot be included in the width information of the bar and space.

【0073】次に、このような構成のディップタイプカ
ードリーダ600に於けるデータ処理回路318がバー
コードシンボル100の内容をデコードするアルゴリズ
ムを説明する。全体のアルゴリズム、ロウナンバ及びカ
ラムナンバ決定ルーチン、スキャンルーチンは前述の第
1実施例と同じであり、ここでは、GETSCANルー
チンのみ説明する。図11にGETSCANルーチンの
フローチャートを示す。基本的には第1実施例と同じで
ある。
Next, an algorithm for the data processing circuit 318 in the DIP type card reader 600 having such a configuration to decode the contents of the bar code symbol 100 will be described. The entire algorithm, the row number and column number determination routine, and the scan routine are the same as those in the first embodiment, and only the GETSCAN routine will be described here. FIG. 11 shows a flowchart of the GETSCAN routine. Basically, it is the same as the first embodiment.

【0074】本実施例では、幅データがカード排出マー
クか確認するステップS423と幅データが“00H”
か確認するステップS424との間に、幅データ列中に
カード突き当てマークが存在するかを確認するステップ
S429が挿入されている。そして、このステップS4
29にて、カード突き当てマークが確認されたときは、
カード突き当てマークが確認されたことを記録しておく
(ステップS42A)。
In this embodiment, step S423 for confirming whether the width data is the card ejection mark and the width data is "00H".
Between step S424 for confirming whether or not there is inserted step S429 for confirming whether or not a card abutting mark is present in the width data string. And this step S4
When the card abutting mark is confirmed at 29,
It is recorded that the card abutting mark is confirmed (step S42A).

【0075】また、各スキャンの幅データ列の区切りを
示す“00H”の数をカウントする0カウンタをインク
リメントするステップS425の代わりに、幅データ列
中にカード突き当てマークが存在しない間は、挿入0カ
ウンタをインクリメントし、幅データ列中にカード突き
当てマークが存在した後は、排出0カウンタをインクリ
メントするステップS42Bが挿入されている。もちろ
ん、これら挿入0カウンタ及び排出0カウンタは、図5
に示した全体のフローチャートのステップS3にてクリ
アされている。
Further, instead of step S425 of incrementing the 0 counter which counts the number of "00H" indicating the division of the width data string of each scan, the insertion is made while the card abutting mark is not present in the width data string. After the 0 counter is incremented and the card abutment mark is present in the width data string, step S42B for incrementing the discharge 0 counter is inserted. Of course, these insertion 0 counter and ejection 0 counter are shown in FIG.
It is cleared in step S3 of the entire flowchart shown in FIG.

【0076】この第2実施例のようなディップタイプカ
ードリーダ600にても、前述の第1実施例と同様に、
種々のバーコードを高速に処理可能なバーコードシンボ
ル読取装置を提供できる。また、図9の(B)に示すよ
うに、横からカード200を挿入/排出させるようにし
ても、ディップタイプカードリーダを構成することは可
能である。
Even in the dip type card reader 600 as in the second embodiment, as in the first embodiment described above,
It is possible to provide a barcode symbol reading device capable of processing various barcodes at high speed. Further, as shown in FIG. 9B, the dip type card reader can be configured by inserting / ejecting the card 200 from the side.

【0077】以上第1及び第2実施例にて説明したよう
に、本発明では、あるしきい値以下の幅データ数のスキ
ャンは無視するようにしているため、カード上の文字,
写真,イラストやスペース部分をスキャンした幅データ
列からスタートコード104,ストップコード106を
捜すということも無くなるし、ロウインディケータ10
2Aやデータカラム102Bが無い(欠損などで正常に
スキャンできなかった)幅データ列からスタートコード
104,ストップコード106を捜すという無駄も無く
なるので、処理が高速になる。また、データ処理回路3
18を高価な高速処理可能な電気素子にて構成する必要
も無くなる。即ち、高速に処理可能なバーコードシンボ
ル読取装置が提供でき、また、余分なメモリを必要とし
ないので、安価なバーコードシンボル読取装置が提供可
能となる。
As described in the first and second embodiments above, in the present invention, the scan of the width data number equal to or less than a certain threshold is ignored.
There is no need to search for the start code 104 and the stop code 106 from the width data string obtained by scanning the photograph, the illustration and the space portion, and the row indicator 10
Since there is no waste of searching for the start code 104 and the stop code 106 from the width data string having no 2A or the data column 102B (which could not be normally scanned due to a defect, etc.), the processing speed is increased. In addition, the data processing circuit 3
There is no need to configure 18 by an expensive electric element capable of high-speed processing. That is, it is possible to provide a barcode symbol reading device that can process at high speed, and since an extra memory is not required, it is possible to provide an inexpensive barcode symbol reading device.

【0078】さらに、本発明では、各スキャンの終了時
に、通常のバー,スペースの幅には存在しない特殊マー
カをFIFOメモリ312に格納するようにしているた
め、可変長である各スキャンの幅データ列を効率よくメ
モリに格納することができ、少ない容量のFIFOメモ
リ312でも十分となり、メモリ容量を減らした安価な
バーコードシンボル読取装置を提供することができるよ
うになる。
Further, according to the present invention, at the end of each scan, the special marker which does not exist in the width of the normal bar and space is stored in the FIFO memory 312. Therefore, the width data of each scan having a variable length is stored. The columns can be efficiently stored in the memory, the FIFO memory 312 having a small capacity is sufficient, and it becomes possible to provide an inexpensive bar code symbol reading apparatus with a reduced memory capacity.

【0079】また、バーコードシンボルの大きさを確定
するまでの各スキャンの幅データ列を初期化スキャンデ
ータメモリ316に格納しておくことにより、バーコー
ドシンボルの大きさ確定後に再度始めからバーコードシ
ンボルを読み直す必要を無くしているので、高速に読み
取り可能なバーコードシンボル読取装置を提供できるよ
うになる。
Further, by storing the width data string of each scan until the size of the bar code symbol is fixed in the initialization scan data memory 316, the bar code can be restarted from the beginning after the size of the bar code symbol is fixed. Since there is no need to reread the symbols, it is possible to provide a barcode symbol reader that can be read at high speed.

【0080】なお、上記第1及び第2実施例では、2値
化回路308で2値化されたスキャンデータは、パルス
幅カウント回路310で1DCCDアレイ302の動作
クロックに同期してバー,スペースの幅がカウントされ
ると説明したが、1DCCDアレイ302の動作クロッ
クより高速なクロックにてバー,スペースの幅をカウン
トしてもよい。また、各スキャンの幅データ列の最後に
“00H”という値をFIFOメモリ312に格納する
と説明したが、各スキャンの幅データ列の最初に“00
H”をFIFOメモリ312に格納しても効果はある。
さらに、マーカライト回路“O”330では、カード排
出時に特殊なマーク“2100”をFIFOメモリ31
2へ格納すると説明したが、バーコードシンボル100
の幅をカウントしたときに幅200以上の値は存在しな
いと予め分かっていれば、カード排出時の特殊なマーク
として例えば“255”を採用することにより、FIF
Oメモリ312を通常の8ビットで構成させることが可
能である。また、データ処理回路318をディジタルシ
グナルプロセッサ(DSP)にて構成させることも可能
である。
In the first and second embodiments, the scan data binarized by the binarization circuit 308 is divided into bars and spaces in synchronization with the operation clock of the 1DCCD array 302 by the pulse width counting circuit 310. Although it has been described that the width is counted, the width of the bar and the space may be counted with a clock faster than the operation clock of the 1DCCD array 302. Further, although it has been described that the value “00H” is stored in the FIFO memory 312 at the end of the width data string of each scan, “00H” is stored at the beginning of the width data string of each scan.
Storing H ″ in the FIFO memory 312 is also effective.
Further, in the marker write circuit “O” 330, a special mark “2100” is added to the FIFO memory 31 when the card is ejected.
It was explained that the barcode symbol 100 is stored in
If it is known in advance that there is no value of 200 or more when the width of the card is counted, by adopting, for example, “255” as a special mark for card ejection,
It is possible to configure the O memory 312 with normal 8 bits. Also, the data processing circuit 318 can be configured by a digital signal processor (DSP).

【0081】以上、情報量の多い、記録密度の高い2次
元バーコードシンボルである、PDF417を中心に述
べてきたが、JAN/UPC/EANコード,ITF
(Interleaved 2 of 5)コード,等の1次元バーコード
シンボルや、他の2次元バーコードシンボルであるCO
DE16K,CODE49,DATA CODE,VE
RI COOE,SOFT STRIP,等に関して
も、本発明を適用することにより短時間でバーコードシ
ンボル情報を読み取ることができるバーコードシンボル
読取装置を構成することができるのは言うまでもない。
Up to this point, the description has been centered on the PDF417, which is a two-dimensional bar code symbol having a large amount of information and a high recording density. JAN / UPC / EAN code, ITF
One-dimensional barcode symbol such as (Interleaved 2 of 5) code, and other two-dimensional barcode symbol CO
DE16K, CODE49, DATA CODE, VE
Needless to say, by applying the present invention to the RI COOE, SOFT STRIP, etc., it is possible to configure a barcode symbol reading device capable of reading barcode symbol information in a short time.

【0082】また、図12に示したような従来のシステ
ムに於いて、ビデオカメラ904の代わりに、1DCC
Dアレイ302と、それをバーコードシンボルのロウ方
向に移動させる移動機構を組み込むことにより本発明を
適用し、小型化はできないとしても、安価な装置とする
ことができる。
Also, in the conventional system as shown in FIG. 12, instead of the video camera 904, 1DCC is used.
The present invention is applied by incorporating the D array 302 and the moving mechanism for moving the D array 302 in the row direction of the barcode symbol, and the device can be made inexpensive even if it cannot be downsized.

【0083】[0083]

【発明の効果】以上詳述したように、本発明によれば、
バーコードシンボルの読み取り信号からバー,スペース
の幅を計数し、計数されたバー,スペースの個数を予め
決められた値と比較し、計数されたバー,スペースの個
数が予め決められた値より大きいときの読み取り信号の
みを使用してバーコードシンボルの内容を読み取るよう
にしたので、1次元の撮像装置を用いても高速に処理可
能なバーコードシンボル読取装置を提供できる。
As described in detail above, according to the present invention,
The width of the bar and space is counted from the read signal of the bar code symbol, the number of counted bars and spaces is compared with a predetermined value, and the number of counted bars and spaces is larger than the predetermined value. Since the contents of the bar code symbol are read using only the read signal at this time, it is possible to provide a bar code symbol reading device capable of high-speed processing even with a one-dimensional image pickup device.

【図面の簡単な説明】[Brief description of drawings]

【図1】(A)は本発明の第1実施例のバーコードシン
ボル読取装置のブロック構成図であり、(B)は(A)
中のデータ処理回路のブロック構成図である。
FIG. 1A is a block configuration diagram of a barcode symbol reading device according to a first embodiment of the present invention, and FIG.
It is a block block diagram of the inside data processing circuit.

【図2】第1実施例のバーコードシンボル読取装置を使
用したシステムの外観図である。
FIG. 2 is an external view of a system using the barcode symbol reading apparatus according to the first embodiment.

【図3】読み取るべき2次元バーコードシンボルの一例
としてのPDF417のシンボル構造図である。
FIG. 3 is a symbol structure diagram of PDF417 as an example of a two-dimensional barcode symbol to be read.

【図4】(A)は図1の(A)中のFIFOメモリの内
容を示す図であり、(B)は図1の(A)中の初期化ス
キャンデータメモリの記憶構造を説明するための図であ
る。
4A is a diagram showing the contents of the FIFO memory in FIG. 1A, and FIG. 4B is for explaining the storage structure of the initialization scan data memory in FIG. 1A. FIG.

【図5】図1の(A)中のデータ処理回路でバーコード
シンボルの内容をデコードするアルゴリズムの概略を示
すフローチャートである。
5 is a flowchart showing an outline of an algorithm for decoding the contents of a barcode symbol in the data processing circuit in FIG. 1 (A).

【図6】図5中のロウナンバ及びカラムナンバ決定ルー
チンのフローチャートである。
FIG. 6 is a flowchart of a row number and column number determination routine in FIG.

【図7】図5中のスキャンルーチンのフローチャートで
ある。
FIG. 7 is a flowchart of a scan routine in FIG.

【図8】図6中のGETSCANルーチンのフローチャ
ートである。
8 is a flowchart of a GETSCAN routine shown in FIG.

【図9】(A)は本発明の第2実施例のバーコードシン
ボル読取装置を使用したシステムの外観図であり、
(B)は第2の実施例の適用される別のバーコードシン
ボル読取装置の外観図である。
FIG. 9A is an external view of a system using the barcode symbol reading device according to the second embodiment of the present invention,
FIG. 7B is an external view of another barcode symbol reader to which the second embodiment is applied.

【図10】第2実施例のバーコードシンボル読取装置の
ブロック構成図である。
FIG. 10 is a block configuration diagram of a barcode symbol reading device according to a second embodiment.

【図11】第2実施例の場合のGETSCANルーチン
のフローチャートである。
FIG. 11 is a flowchart of a GETSCAN routine in the case of the second embodiment.

【図12】従来のバーコードシンボル読取装置を使用し
たシステムの外観図である。
FIG. 12 is an external view of a system using a conventional barcode symbol reading device.

【符号の説明】[Explanation of symbols]

100…バーコードシンボル、102…ラベル部、10
2A…ロウインディケータ、102B…データカラム、
102C…ラベルマトリックス、104…スタートコー
ド、104A,106A…ビッグバー、106…ストッ
プコード、200…カード、200H…ハンドリングエ
リア、300,600…カードリーダ、300S…スリ
ット、300L…LED、302…リニアセンサ(1D
CCD)アレイ、304…CCDドライバ、306…C
CDアンプ、308…2値化回路、310…パルス幅カ
ウント回路、312…ファースト・イン・ファースト・
アウト(FIFO)メモリ、314…幅メモリ、316
…初期化スキャンデータメモリ、318…データ処理回
路、318A…高速演算回路、318B…幅データ数カ
ウンタ、318C…しきい値レジスタ、318D…比較
回路、320…ホストインタフェース回路、322…カ
ウンタ、324…マーカライト回路“S”、326…挿
入検出センサ、328…排出検出センサ、330…マー
カライト回路“O”、400…ホストコンピュータ、5
00…ケーブル、600I…挿入口、602…挿入/排
出検出センサ、604…突き当て検出センサ、606…
マーカライト回路“B”。
100 ... Bar code symbol, 102 ... Label part, 10
2A ... Row indicator, 102B ... Data column,
102C ... Label matrix, 104 ... Start code, 104A, 106A ... Big bar, 106 ... Stop code, 200 ... Card, 200H ... Handling area, 300, 600 ... Card reader, 300S ... Slit, 300L ... LED, 302 ... Linear sensor (1D
CCD) array, 304 ... CCD driver, 306 ... C
CD amplifier, 308 ... Binarization circuit, 310 ... Pulse width counting circuit, 312 ... First-in-first-circuit
Out (FIFO) memory, 314 ... Width memory, 316
Initialization scan data memory, 318 ... Data processing circuit, 318A ... High speed operation circuit, 318B ... Width data number counter, 318C ... Threshold register, 318D ... Comparison circuit, 320 ... Host interface circuit, 322 ... Counter, 324 ... Marker light circuit "S", 326 ... Insertion detection sensor, 328 ... Ejection detection sensor, 330 ... Marker light circuit "O", 400 ... Host computer, 5
00 ... Cable, 600I ... Insertion port, 602 ... Insertion / ejection detection sensor, 604 ... Butting detection sensor, 606 ...
Marker write circuit "B".

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 バーコードシンボルを1次元の撮像装置
により撮像する撮像手段と、 前記撮像手段からの撮像信号からバーコードシンボルの
バー及びスペースの幅を計数する幅計数手段と、 前記幅計数手段によって幅が計数されたバー及びスペー
スの個数を計数する個数計数手段と、 前記個数計数手段によって計数された個数が予め決めら
れた値よりも大きいときにのみ、前記幅計数手段で計数
されたバー及びスペースの幅を以降の処理に使用許可す
る制御手段と、 を具備することを特徴とするバーコードシンボル読取装
置。
1. An image pickup means for picking up an image of a barcode symbol by a one-dimensional image pickup device, a width counting means for counting the widths of the bar and space of the barcode symbol from an image pickup signal from the image pickup means, and the width counting means. A number counting means for counting the number of bars and spaces whose width is counted by the number of bars, and a bar counted by the width counting means only when the number counted by the number counting means is larger than a predetermined value. And a control means for permitting the width of the space to be used in the subsequent processing, and a bar code symbol reading device.
JP5057229A 1993-03-17 1993-03-17 Bar code symbol reader Pending JPH06266881A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5057229A JPH06266881A (en) 1993-03-17 1993-03-17 Bar code symbol reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5057229A JPH06266881A (en) 1993-03-17 1993-03-17 Bar code symbol reader

Publications (1)

Publication Number Publication Date
JPH06266881A true JPH06266881A (en) 1994-09-22

Family

ID=13049703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5057229A Pending JPH06266881A (en) 1993-03-17 1993-03-17 Bar code symbol reader

Country Status (1)

Country Link
JP (1) JPH06266881A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473148A (en) * 1993-08-11 1995-12-05 Olympus Optical Co., Ltd. Barcode symbol reading system capable of shortening time for reading and decoding
JP2007102386A (en) * 2005-09-30 2007-04-19 Nidec Sankyo Corp Symbol information reading method and symbol information reading device
US8801516B2 (en) 2003-01-14 2014-08-12 Angel Playing Cards Co., Ltd. Card reading device and card game fraud detection device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473148A (en) * 1993-08-11 1995-12-05 Olympus Optical Co., Ltd. Barcode symbol reading system capable of shortening time for reading and decoding
US8801516B2 (en) 2003-01-14 2014-08-12 Angel Playing Cards Co., Ltd. Card reading device and card game fraud detection device
US9101823B2 (en) 2003-01-14 2015-08-11 Angel Playing Cards Co., Ltd. Card reading device and card game fraud detection device
JP2007102386A (en) * 2005-09-30 2007-04-19 Nidec Sankyo Corp Symbol information reading method and symbol information reading device

Similar Documents

Publication Publication Date Title
US10331929B2 (en) Imaging terminal, imaging sensor to determine document orientation based on bar code orientation and methods for operating the same
US7131592B2 (en) Bar code scanner and method with a plurality of operational modes
US5473148A (en) Barcode symbol reading system capable of shortening time for reading and decoding
ES2328192T3 (en) SYSTEM AND PROCEDURE TO DECODE BAR CODS ASSISTED WITH OCR.
EP2182467B1 (en) Method and apparatus for optically reading out information stored in a barcode
US6964373B2 (en) Recording medium and coded image reader apparatus
JP2746501B2 (en) Barcode reader
JPH06162247A (en) Bar code reader for reading 2D codes
US5923022A (en) Method and apparatus for identifying bar code symbols using reading gates
JPH06266881A (en) Bar code symbol reader
CN1848136A (en) Method and system for decoding barcode images
JP3140184B2 (en) Barcode symbol reader
JP3253733B2 (en) Barcode symbol reader
JPH0757037A (en) Bar code symbol reader
JP3126407B2 (en) Apparatus for registering an image in a storage medium
JP3332972B2 (en) Barcode symbol reader
JP2006134160A (en) Optical information reading device
JPH0765104A (en) Bar code reader
JP2019153167A (en) Code reading device and program
JP2722434B2 (en) Optical character reader
JPH0954810A (en) Data symbol reader
JPH05334482A (en) Bar code symbol reader
TW312779B (en)
JP2669434B2 (en) Optical character reader
JPH087773B2 (en) Optical character reader

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011204