JPH09231298A - Recording medium bearing bar code and bar code reading method - Google Patents
Recording medium bearing bar code and bar code reading methodInfo
- Publication number
- JPH09231298A JPH09231298A JP8034873A JP3487396A JPH09231298A JP H09231298 A JPH09231298 A JP H09231298A JP 8034873 A JP8034873 A JP 8034873A JP 3487396 A JP3487396 A JP 3487396A JP H09231298 A JPH09231298 A JP H09231298A
- Authority
- JP
- Japan
- Prior art keywords
- codeword
- bar code
- line
- information
- row
- 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
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、高密度記録を可能
とする2次元バーコードが表示された記録媒体、及びそ
のバーコードを復号するバーコード読取装置に関するも
のである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a recording medium on which a two-dimensional bar code capable of high density recording is displayed, and a bar code reader for decoding the bar code.
【0002】[0002]
【従来の技術】従来、ラベル又は物品の表面に付けられ
たバーコード記号を読み取る光学式読取装置や光学式走
査装置に関する種々の技術が開発されている。このバー
コード記号自体は一連の様々な幅を持つ隣接するバーと
スペースとからなる表示のコード化パターンであり、バ
ーとスペースは異なる反射特性を有している。2. Description of the Related Art Conventionally, various techniques have been developed for an optical reading device and an optical scanning device for reading a bar code symbol attached to the surface of a label or an article. The bar code symbol itself is a coded pattern of display consisting of a series of adjacent bars and spaces of varying width, with the bars and spaces having different reflective properties.
【0003】更に近年では、バーコード情報の高密度化
の要求から、多くの2次元バーコード規格が提案されて
いる。これらの規格としては、例えばCode16K,
Code49,PDF417,Datacode,Ma
xicode等がある。そして、これら2次元バーコー
ドは、そのコード表記法によりスタックドタイプ及びマ
トリクスタイプに大別することができる。Further, in recent years, many two-dimensional bar code standards have been proposed due to the demand for high density bar code information. These standards include, for example, Code16K,
Code49, PDF417, Datacode, Ma
xicode etc. These two-dimensional bar codes can be roughly classified into the stacked type and the matrix type according to the code notation.
【0004】例えば、代表的なスタックドタイプの2次
元バーコードであるPDF417の記号表記法及びバー
コード読取方法については、特開平3−204793号
公報により開示されている。即ち、この公報では、
(n、k)タイプのコードの各々が1ビットのkライン
(即ち、k個のバー)及び0ビットのkラン(即ち、k
個のスペース)を含むn個のビットのストリングによっ
て文字を表す技術に対して、(17、4)タイプの1次
元バーコードを積み重ねたような(スタックドタイプ)
形式の2次元バーコードを、2段階信号、クラスタ、ス
キャンスティッチング、エラー訂正等の方法を導入して
符号・復号化する技術が開示されている。For example, Japanese Patent Laid-Open No. 3-204793 discloses a symbol notation method and a barcode reading method of PDF417 which is a typical stacked type two-dimensional barcode. That is, in this publication,
Each (n, k) type code has a 1-bit k-line (ie, k bars) and a 0-bit k-run (ie, k).
It is like stacking (17, 4) type one-dimensional bar code (stacked type) against the technology of expressing characters by a string of n bits including (spaces).
A technique for encoding / decoding a two-dimensional bar code of a format by introducing a method such as a two-step signal, cluster, scan stitching, and error correction is disclosed.
【0005】[0005]
【発明が解決しようとする課題】しかしながら、前述し
た従来技術では、通常、スキャナがバーコードを認識す
る際に、バーコードが含有する情報とは無関係な冗長パ
ターンを用いる必要がある。これは、バーコード周辺の
情報とバーコード自身の情報を明確に区別するためのパ
ターンであり、バーコード体系によってパターンが決定
される。However, in the above-mentioned prior art, when the scanner recognizes the barcode, it is usually necessary to use a redundant pattern that is unrelated to the information contained in the barcode. This is a pattern for clearly distinguishing the information around the barcode and the information about the barcode itself, and the pattern is determined by the barcode system.
【0006】また、上記の2次元バーコードPDF41
7では、このような冗長パターンの他にバーコード自身
の情報(行数、列数、エラー訂正レベル)を含むパター
ンが存在するが、このような冗長成分は、近年において
嘱望されてるバーコードの高密度化の要求に反するもの
である。Further, the above-mentioned two-dimensional bar code PDF41
In FIG. 7, in addition to such a redundant pattern, there is a pattern including the information of the barcode itself (the number of rows, the number of columns, the error correction level), but such a redundant component is one of the barcodes that have been desired in recent years. This is against the demand for higher density.
【0007】本発明は、上記問題に鑑みてなされたもの
で、その目的とするところは、PDF417と比較して
情報の高密度記録を実現するバーコードが表示された記
録媒体、及び当該バーコードを読み取るバーコード読取
方法を提供することにある。The present invention has been made in view of the above problems, and an object of the present invention is to provide a recording medium on which a bar code is displayed for realizing high density recording of information as compared with PDF417, and the bar code. It is to provide a bar code reading method for reading.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の態様によるバーコードが表記された
記録媒体は、光学的反射率が異なる反射面と非反射面を
交互に有すると共に、上記反射面と非反射面の2次元集
合が所定の規則に従って情報を示唆するように複数のマ
ークパターンを配設するバーコード表記法によってバー
コードが表記された記録媒体であって、上記2次元集合
に、該集合自身を認識するための特徴的なマークパター
ンと集合自身に関する情報を記号化したマークパターン
とを含まないことを特徴とする。In order to achieve the above object, a recording medium in which a barcode according to the first aspect of the present invention is written has alternating reflective surfaces and non-reflective surfaces with different optical reflectances. A recording medium having a bar code in accordance with a bar code notation in which a plurality of mark patterns are arranged such that the two-dimensional set of the reflective surface and the non-reflective surface has information according to a predetermined rule. It is characterized in that the two-dimensional set does not include a characteristic mark pattern for recognizing the set itself and a mark pattern obtained by encoding information about the set itself.
【0009】そして、第2の態様によるバーコード読取
方法は、光学的反射率が異なる反射面と非反射面を交互
に有すると共に、上記反射面と非反射面の2次元集合が
所定の規則に従って情報を示唆するように複数のマーク
パターンが配設され、上記各マークパターンにより構成
されるコードワード行が上下方向に複数隣接しており、
上記各コードワード行がコードワードから構成されてお
り、上記各コードワードが上記マークパターンの各幅の
構成によって定まる文字情報に対応しており、上記各コ
ードワード行が行毎に異なる特徴を有すると共に隣接す
る行を識別するものであり、上記各コードワード行に記
号表記自身を認識するための特徴的なパターン及び記号
自身に関する情報を記号化したコードワードを含まない
ことを特徴とするバーコードが表記された記録媒体より
バーコードを読み取るバーコード読取方法であって、上
記記録媒体に表記された記号との相対的な位置変化によ
りコードワード行を順次走査し、上記コードワード行の
行番号を行毎に異なる特徴を用いて決定し、走査毎に上
記コードワード行を復号した結果を揮発性記憶媒体に予
め記憶された配列に格納することを特徴とする。In the bar code reading method according to the second aspect, the reflective surface and the non-reflective surface having different optical reflectances are alternately arranged, and the two-dimensional set of the reflective surface and the non-reflective surface follows a predetermined rule. A plurality of mark patterns are arranged so as to suggest information, and a plurality of codeword rows formed by the mark patterns are adjacent to each other in the vertical direction,
Each codeword row is composed of a codeword, each codeword corresponds to character information determined by the configuration of each width of the mark pattern, and each codeword row has a different characteristic for each row. A bar code for identifying adjacent lines together with each other, and not including a codeword that encodes information about the characteristic pattern and the symbol itself in each codeword line to recognize the symbol notation itself. Is a bar code reading method for reading a bar code from a recording medium in which the code word line is sequentially scanned by a relative position change with a symbol written in the recording medium, and a line number of the code word line. Is determined for each row using a different feature, and the result of decoding the above codeword row for each scan is an array stored in advance in a volatile storage medium. And wherein the storing.
【0010】さらに、第3の態様によるバーコード読取
方法は、光学的反射率が異なるマークパターンを包含
し、上記各マークパターンが反射面と非反射面を交互に
有し、上記各マークパターンにより表記されるコードワ
ード行が上下方向に複数隣接しており、上記各コードワ
ード行がコードワードから構成されており、上記各コー
ドワードが上記各マークパターンの幅の構成によって定
まる文字情報に対応しており、上記各コードワード行が
行毎に異なる特徴を有し、隣接する行を識別することが
可能であり、上記各コードワード行に記号表記それ自身
を認識するために必要な特徴的なパターン及び記号それ
自身に関する情報を記号化したコードワードを少なくと
も1個は含む記号を復号するバーコード読取方法であっ
て、特定のコードワード行が含む記号表記自身を認識す
るために必要な特徴的なパターンと記号自身に関する情
報を記号化したコードワードの少くともいずれか一方が
復号できなかった場合、上記コードワード行の行番号を
行毎に異なる特徴を用いて決定し、走査毎に上記コード
ワード行を復号した結果を揮発性記憶媒体に予め記憶さ
れた配列に格納することを特徴とする。Furthermore, the bar code reading method according to the third aspect includes mark patterns having different optical reflectances, each mark pattern having alternating reflective surfaces and non-reflective surfaces. A plurality of codeword rows to be written are vertically adjacent to each other, each codeword row is composed of codewords, and each codeword corresponds to character information determined by the configuration of the width of each mark pattern. Each codeword line has a different feature for each line, it is possible to identify adjacent lines, and each codeword line has a characteristic required for recognizing the symbolic notation itself. What is claimed is: 1. A bar code reading method for decoding a symbol, which includes at least one codeword that encodes information about a pattern and a symbol itself. If at least one of the codeword that encodes the characteristic pattern necessary for recognizing the symbolic notation itself included in the code line and the information about the symbol itself cannot be decoded, the line number of the above codeword line is set. It is characterized in that each row is determined by using a different feature, and the result of decoding the codeword row is stored for each scan in an array previously stored in a volatile storage medium.
【0011】即ち、本発明の第1の態様によるバーコー
ドが表記された記録媒体では、光学的反射率が異なる反
射面と非反射面を交互に有すると共に、上記反射面と非
反射面の2次元集合が所定の規則に従って情報を示唆す
るように複数のマークパターンを配設するバーコード表
記法によってバーコードが表記され、上記2次元集合
に、該集合自身を認識するための特徴的なマークパター
ンと集合自身に関する情報を記号化したマークパターン
とが含まれていない。That is, in the recording medium in which the bar code is written according to the first aspect of the present invention, the reflective surface and the non-reflective surface having different optical reflectances are alternately arranged, and the two reflective surface and the non-reflective surface are provided. A bar code is represented by a bar code notation method in which a plurality of mark patterns are arranged so that the dimension set suggests information according to a predetermined rule, and the two-dimensional set has a characteristic mark for recognizing the set itself. The pattern and the mark pattern that symbolizes the information about the set itself are not included.
【0012】そして、第2の態様によるバーコード読取
方法では、記録媒体に表記された記号との相対的な位置
変化によりコードワード行が順次走査され、上記コード
ワード行の行番号を行毎に異なる特徴を用いて決定さ
れ、走査毎に上記コードワード行を復号した結果が揮発
性記憶媒体に予め記憶された配列に格納される。In the bar code reading method according to the second aspect, the codeword rows are sequentially scanned due to the relative position change with respect to the symbols written on the recording medium, and the row numbers of the codeword rows are line by row. The result of decoding the codeword row for each scan, determined using different features, is stored in a pre-stored array on the volatile storage medium.
【0013】さらに、第3の態様によるバーコード読取
方法では、特定のコードワード行が含む記号表記自身を
認識するために必要な特徴的なパターンと記号自身に関
する情報を記号化したコードワードの少くともいずれか
一方が復号できなかった場合、上記コードワード行の行
番号が行毎に異なる特徴を用いて決定され、走査毎に上
記コードワード行を復号した結果が揮発性記憶媒体に予
め記憶された配列に格納される。Further, in the bar code reading method according to the third aspect, the characteristic pattern necessary for recognizing the symbol notation itself included in the specific code word row and the information about the symbol itself are coded in a small number. If either one cannot be decoded, the row number of the codeword row is determined using a different feature for each row, and the result of decoding the codeword row for each scan is stored in advance in a volatile storage medium. Stored in the array.
【0014】[0014]
【実施の形態】以下、図面を参照して、本発明の実施の
形態を説明する。図1(a)には本発明のバーコードが
表記された記録媒体の構成を示し説明する。同図に於い
て、この例では、バーコードは4行3列の構成となって
おり、コードワード1と称される単位を基準として構成
されている。そして、各コードワード1はバーとスペー
スからなっている。本発明では、このような体系のバー
コードが、例えば紙やラベル等の記録媒体に付されるこ
とになる。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of the present invention will be described below with reference to the drawings. FIG. 1A shows the structure of a recording medium in which the barcode of the present invention is written and described. In this figure, in this example, the barcode has a configuration of 4 rows and 3 columns, and is configured with a unit called a codeword 1 as a reference. Each codeword 1 is composed of a bar and a space. In the present invention, the barcode of such a system is attached to a recording medium such as paper or a label.
【0015】ここで、図1(b)には上記バーコードの
詳細な構成を示し説明する。同図に示されるように、上
記バーコードはシンボル長記述子コードワード2とデー
タコードワード3、エラー訂正コードワード4からな
る。The detailed construction of the bar code is shown in FIG. 1B and will be described. As shown in the figure, the bar code includes a symbol length descriptor codeword 2, a data codeword 3 and an error correction codeword 4.
【0016】上記シンボル長記述子コードワード2は、
バーコードが含むコードワード数を表している。これ
は、シンボル長記述子コードワード2自身を含んだコー
ドワード数である。上記データコードワード3は、情報
として伝達されるデータを符号化した部分である。上記
エラー訂正コードワード4は、例えばLin,Costello Jr
共著「Error Control Coding Fundamentals and Applic
ations」、Prentice-Hall(1983) に記載されている方法
によりバーコードの汚れ等によるコードワードの損失を
検出し、復活させる為のコードワードである。The symbol length descriptor codeword 2 is
It represents the number of codewords included in the barcode. This is the number of codewords including the symbol length descriptor codeword 2 itself. The data codeword 3 is a portion in which data transmitted as information is encoded. The error correction codeword 4 is, for example, Lin, Costello Jr.
Co-authored `` Error Control Coding Fundamentals and Applic
ations ", Prentice-Hall (1983), and is a codeword for detecting and recovering the loss of the codeword due to stains on the barcode.
【0017】次に図2を参照して上記コードワード1に
ついて詳細に説明する。このバーコードは、(17、
4)タイプのコードであるので、バー5及びスペース6
が4本ずつ存在し、各幅は、コードの単位(即ち、「x
寸法」又は「モジュール」)と称される特定された最小
幅の整数倍になっている。また、1コードワードの幅は
17単位であり、各々のバー、スペースの最大単位は6
である。Next, the codeword 1 will be described in detail with reference to FIG. This barcode is (17,
4) Type 5 code, so bar 5 and space 6
There are four each, and each width is a unit of code (that is, "x
It is an integer multiple of the specified minimum width, referred to as a "dimension" or "module"). The width of one codeword is 17 units, and the maximum unit of each bar and space is 6 units.
It is.
【0018】尚、図1の右端にコードワードに関係しな
い1単位の幅のバーが存在するが、これはコードワード
がバーで始まりスペースで終わる性質上必要となるもの
であり、所謂ストップマーク(ストップコード)とは異
なるものである。At the right end of FIG. 1, there is a bar having a width of 1 unit which is not related to a codeword, but this is necessary because of the nature of the codeword starting with a bar and ending with a space, so-called stop mark ( Stop code) is different.
【0019】以下、上記コードワード1を復号する方法
を詳細に説明する。先ずコードワード1から各々のバー
とスペースの幅情報を抽出し、合計8個の数値列を形成
する。これをx系列という。尚、図2に示される例で
は、x系列は「2,1,3,2,2,5,1,1」とな
っている。The method of decoding the codeword 1 will be described in detail below. First, the width information of each bar and space is extracted from the codeword 1 to form a total of eight numeric strings. This is called the x series. In the example shown in FIG. 2, the x-series is “2, 1, 3, 2, 2, 5, 1, 1”.
【0020】次いで、隣り合う各々のx系列を加算して
合計7個の数値列を形成する。これをt系列という。
尚、図2の例では、t系列は「3,4,5,4,7,
6,2」となっている。このt系列の各々の値の最大値
は9である。また、t系列はバーコードの印刷でプリン
タのインクが拡散することにより、バーが太り、スペー
スが細くなる現象を緩和する働きを有している。Next, each adjacent x-series is added to form a total of seven numerical sequences. This is called a t series.
In the example of FIG. 2, the t series is “3, 4, 5, 4, 7,
6, 2 ”. The maximum value of each value of this t series is 9. Further, the t series has a function of alleviating the phenomenon that the bar becomes thick and the space becomes thin due to the diffusion of the printer ink by the printing of the bar code.
【0021】このt系列と後述するクラスタを使用して
所定のルックアップテーブルを参照し、0から928の
間の値に変換する。この値をコードワード値と称する。
この処理は、後述する2段階復号の低レベル復号に相当
する。A predetermined look-up table is referred to by using this t series and a cluster described later, and a value between 0 and 928 is converted. This value is called a codeword value.
This process corresponds to the low-level decoding of the two-step decoding described later.
【0022】ここで、図3を参照してクラスタについて
詳細に説明する。プログラム言語Cの記述法に従って、
t系列がt[0] からt[6] までの配列に格納されている
とすると、各コードワードのクラスタ(cluster) は次式
で計算されることになる。The cluster will be described in detail with reference to FIG. According to the description method of programming language C,
Assuming that the t series is stored in the array from t [0] to t [6], the cluster of each codeword is calculated by the following equation.
【0023】cluster =(t[0] −t[1] +t[4] −t
[5] +9)mod9 ここで、modは剰余式を示し、例えば5mod3=2
となる。本発明のコード体系ではバーコードに含まれる
あらゆるコードワードのcluster が0又は3又は6にな
る。即ち、上式の計算によりそれ以外のクラスタの値に
なったときは何等かの読み間違いが生じていると考えて
よい。Cluster = (t [0] -t [1] + t [4] -t
[5] +9) mod9 Here, mod represents a remainder expression, for example, 5 mod3 = 2.
Becomes In the code system of the present invention, the cluster of every codeword included in the barcode becomes 0, 3 or 6. That is, when the values of the other clusters are obtained by the calculation of the above equation, it can be considered that some misreading has occurred.
【0024】例えば、図2のコードワードの例では(3
−4+7−6+9)mod9=0、即ち0クラスタとな
る。また、図3に示されるように、バーコードの各行の
コードワードのクラスタを統一し、行毎に異なるクラス
タを交互に用いることによって、上下に接している行と
行の区別を明確にすることができる。For example, in the codeword example of FIG. 2, (3
-4 + 7-6 + 9) mod9 = 0, that is, 0 clusters. Further, as shown in FIG. 3, by unifying the clusters of codewords in each line of the barcode and alternately using different clusters for each line, it is possible to clearly distinguish between lines that are in contact with each other vertically. You can
【0025】次に2段階復号について詳細に説明する。
2段階復号は低レベル復号と高レベル復号からなる。前
述したように各コードワードはそのt系列とクラスタか
ら所定のルックアップテーブルにより0から928の間
のコードワード値に変換される。これが低レベル復号に
相当する。Next, the two-step decoding will be described in detail.
Two-stage decoding consists of low-level decoding and high-level decoding. As described above, each codeword is converted from its t series and cluster into a codeword value between 0 and 928 by a predetermined look-up table. This corresponds to low level decoding.
【0026】コードワード値の900から928の間の
値は、通常の情報以外の特別な制御コードを表すために
用いる。従って、通常の情報はコードワード値の0から
899に割り当てられる。Codeword values between 900 and 928 are used to represent special control codes other than normal information. Therefore, normal information is assigned to codeword values 0 to 899.
【0027】ここで、コードワード値を基数30で分解
することを考える。即ち、 VH =xdiv30 VL =xmod30 である。ここで、xはコードワード値、VH ,VL はそ
れぞれ分解後の値、divは除算式を示す。例えば、5
20というコードワード値を分解すると520=17×
30+10であるからVH =17、VL =10となる。Here, it is considered that the codeword value is decomposed by the radix 30. That is, VH = xdiv30 and VL = xmod30. Here, x is a codeword value, VH and VL are values after decomposition, and div is a division formula. For example, 5
When the codeword value of 20 is decomposed, 520 = 17 ×
Since 30 + 10, VH = 17 and VL = 10.
【0028】そして、これらの2つの値(17と10)
の各々は、図4に示されるようなテーブルにて検索する
ことにより対応する文字に変換される。この図4に例示
したテーブルは、アルファ、下位、混合、句読点の各モ
ードを含む30復号モードを示している。この例では、
アルファ・モードはディフォルト・モードである。従っ
て、サンプルのt数列3,4,5,4,7,6,2は、
最終的にはコードワード値520、及び基数30数列1
7、10を経て2文字列RKに変換されることになる。And these two values (17 and 10)
Is converted into the corresponding character by searching the table as shown in FIG. The table illustrated in FIG. 4 shows 30 decoding modes including alpha, subordinate, mixed, and punctuation modes. In this example,
Alpha mode is the default mode. Therefore, the t-sequences 3, 4, 5, 4, 7, 6, 2, of the samples are
Finally, the codeword value 520 and the radix 30 number sequence 1
It will be converted into a two character string RK through steps 7 and 10.
【0029】次に図5の状態遷移ダイアグラムを参照し
て、本発明による高レベル復号プロセスを説明する。図
中の矢印はモード間の移動を表している。同図におい
て、「a1」はアルファラッチ、「ll」は下位ラッ
チ、「ml」は混合ラッチ、「pl」は句読点ラッチ、
「as」はアルファシフト、「ps」は句読点シフトを
それぞれ示している。図中の実線矢印で示すラッチは、
次の移動指示があるまでそのモードに留まり続けるもの
で、図中の破線矢印で示すシフトは次の1文字だけモー
ドを移動するものである。ここでは、一例として、デコ
ーダが現在アルファ・モードにあるものとする。The high level decoding process according to the present invention will now be described with reference to the state transition diagram of FIG. Arrows in the figure represent movement between modes. In the figure, "a1" is an alpha latch, "ll" is a lower latch, "ml" is a mixed latch, "pl" is a punctuation latch,
“As” indicates an alpha shift, and “ps” indicates a punctuation shift. The latch indicated by the solid arrow in the figure is
The mode continues to stay until the next movement instruction is given, and the shift indicated by the broken line arrow in the figure moves the mode by the next one character. Here, as an example, it is assumed that the decoder is currently in alpha mode.
【0030】先に図3に示したようにアルファ・モード
から混合モードへの変更には、2桁30基数の数列のV
H かVL のいずれかが28に等しくなければならない。
アルファ・モードの場合、28のVH はデコーダに信号
を送り、混合モードへのモード切換(図5には「ml」
即ち混合モードラッチと示してある)が行われる。従っ
て、VH ・VL 対のうちのVL は混合モードで解釈され
ることになる。28のVL では、デコーダは現行のモー
ド(即ちアルファ・モード)においてVH ・VL 対のう
ちのVH を解釈し、次いで混合モードへ切り替わる。To change from the alpha mode to the mixed mode as shown in FIG. 3, the V of a sequence of two digits and thirty bases is used.
Either H or VL must equal 28.
In alpha mode, the 28 VH signals the decoder to switch to mixed mode ("ml" in Figure 5).
That is, shown as a mixed mode latch). Therefore, VL of the VH and VL pairs will be interpreted in mixed mode. At VL of 28, the decoder interprets the VH of the VH.VL pair in the current mode (ie, alpha mode) and then switches to mixed mode.
【0031】エラー訂正については、上記特開平3−2
04793号公報やLin,Costello Jr 共著「Error Cont
rol Coding Fundamentals and Applications」、Prenti
ce-Hall(1983) に記述されているので、ここでは説明を
省略する。Regarding error correction, the above-mentioned Japanese Patent Laid-Open No. 3-2
04793 and Lin, Costello Jr, "Error Cont
rol Coding Fundamentals and Applications '', Prenti
Since it is described in ce-Hall (1983), the explanation is omitted here.
【0032】次に本発明のバーコード読取方法について
詳細に説明する。図6は本発明のバーコード読取方法を
実現する装置の構成を示す図である。同図に示されるよ
うに、この装置は、結像レンズ12、1次元撮像装置1
4、データ処理装置15とからなる。データ処理装置1
5は、不図示のCPUとメモリ等で構成され、バーコー
ド情報の復号のための種々の演算を行うものである。ま
た、このデータ処理装置15内のメモリには、後述する
ような各種定数及び変数を格納するための種々のレジス
タが構成されている。Next, the barcode reading method of the present invention will be described in detail. FIG. 6 is a diagram showing the configuration of an apparatus that realizes the barcode reading method of the present invention. As shown in the same figure, this device includes an imaging lens 12 and a one-dimensional imaging device 1.
4 and a data processing device 15. Data processing device 1
Reference numeral 5 is composed of a CPU, a memory and the like (not shown), and performs various operations for decoding the barcode information. Further, the memory in the data processing device 15 is configured with various registers for storing various constants and variables as described later.
【0033】このような構成において、上記したような
フォーマットのバーコードラベル11は、結像レンズ1
2によって、1次元撮像装置14に搭載されている光電
変換面13に結像される。1次元撮像装置14によって
光電変換されたラベル情報は、映像信号としてデータ処
理装置15内のメモリに取り込まれる。このとき、1次
元撮像装置14とバーコードラベル11の相対的な位置
の変化により、1次元撮像信号は順次メモリに転送され
その都度後述する読み取り処理が行われることになる。
尚、この図6では、1次元撮像装置14の位置は固定さ
れており、バーコードラベル11が移動するように図示
されている。上記バーコードラベル11は先に示した図
1のようなコードが表記されている。データ処理装置1
5では、後述するアルゴリズムに基づいて、バーコード
情報の復号を行って、不図示のホスト装置などに出力す
る。In such a structure, the bar code label 11 having the above-mentioned format is used for the imaging lens 1.
2 forms an image on the photoelectric conversion surface 13 mounted on the one-dimensional image pickup device 14. The label information photoelectrically converted by the one-dimensional imaging device 14 is taken into a memory in the data processing device 15 as a video signal. At this time, the relative position of the one-dimensional image pickup device 14 and the barcode label 11 changes, so that the one-dimensional image pickup signal is sequentially transferred to the memory, and the reading process described later is performed each time.
In FIG. 6, the position of the one-dimensional image pickup device 14 is fixed, and the barcode label 11 is shown to move. The bar code label 11 has the code shown in FIG. 1 described above. Data processing device 1
In 5, the barcode information is decoded based on an algorithm described later and output to a host device (not shown) or the like.
【0034】ここで、図7には図6の装置の改良例の構
成を示し説明する。同図に示されるように、この装置
は、ホストコンピュータ24と、カードリーダ21がケ
ーブル25で接続された構成となっており、カードリー
ダ21にはLED23が設けられており、更にバーコー
ドラベル1が付されたカード20を挿入するための挿入
口22が設けられている。FIG. 7 shows the configuration of an improved example of the apparatus shown in FIG. 6 and will be described. As shown in the figure, this device has a configuration in which a host computer 24 and a card reader 21 are connected by a cable 25, an LED 23 is provided on the card reader 21, and a bar code label 1 is further provided. An insertion port 22 for inserting the card 20 marked with is provided.
【0035】このような構成において、カード20をカ
ードリーダ21の挿入口22に操作者が挿入させると、
バーコードラベル1の内容が読み取られ、ホストコンピ
ュータ24や不図示の端末装置にバーコードラベル1の
情報が転送される。上記カードリーダ21のLED23
にはカーッドリーダ21の動作状態が表示される。In such a structure, when the operator inserts the card 20 into the insertion slot 22 of the card reader 21,
The contents of the barcode label 1 are read and the information of the barcode label 1 is transferred to the host computer 24 or a terminal device (not shown). LED 23 of the card reader 21
Indicates the operating state of the card reader 21.
【0036】このように、この改良例ではバーコードラ
ベル1の設定が自動的に行われるので、バーコードラベ
ル1が相対的にずれるような不具合が生じないため、高
精度の読み取りを実現する。As described above, in this improved example, the barcode label 1 is automatically set, so that the barcode label 1 is not relatively displaced, so that highly accurate reading is realized.
【0037】以下、図8のフローチャートを参照して、
上記データ処理装置15でバーコード情報を復号するア
ルゴリズムを説明する。尚、以下の説明は、プログラミ
ング言語Cの記述方式に従うこととする。Hereinafter, referring to the flow chart of FIG.
An algorithm for decoding the barcode information by the data processing device 15 will be described. The following description will follow the description method of the programming language C.
【0038】先ず、しきい値、各種グローバル変数等の
種々のパラメータを初期設定し(ステップS1)、画像
取り込みルーチンをコールして1次元画像をデータ処理
装置15内のメモリに取り込む(ステップS2)。First, various parameters such as threshold values and various global variables are initialized (step S1), and an image capturing routine is called to capture a one-dimensional image in the memory of the data processing device 15 (step S2). .
【0039】次いで、詳細は後述するサブルーチン“幅
情報変換及び幅数カウント”をコールして、1次元画像
内の撮像信号を幅情報に変換し、幅数をカウントする
(ステップS3)。そして、上記ステップS3に於ける
幅数をカウントした結果がしきい値以上であるかどうか
の判定を行い(ステップS4)、幅数がしきい値未満で
あった場合には、再度、上記ステップS2に制御を移し
て画像取り込みルーチンをコールし、次の1次元画像を
取り込む。Next, a subroutine "width information conversion and width number counting" which will be described in detail later is called to convert the image pickup signal in the one-dimensional image into width information and count the number of widths (step S3). Then, it is determined whether or not the result of counting the number of widths in step S3 is equal to or more than a threshold value (step S4). If the number of widths is less than the threshold value, the above step is repeated. The control is transferred to S2, and the image capturing routine is called to capture the next one-dimensional image.
【0040】一方、上記スッテップS3において、幅数
がしきい値以上である場合には、次に詳細は後述するサ
ブルーチン“バーコード傾き検出”をコールして、バー
コードラベルが左右どちらに傾いているのかを判定する
(ステップS5)。そして、コードワード所得処理ルー
チンをコールして(ステップS6)、ステップS3で得
た幅情報から前述した方法でクラスタとコードワード値
を得る。On the other hand, in step S3, if the number of widths is greater than or equal to the threshold value, a subroutine "barcode tilt detection", which will be described in detail later, is called to tilt the bar code label to the left or right. It is determined whether or not (step S5). Then, the codeword income processing routine is called (step S6), and the cluster and the codeword value are obtained from the width information obtained in step S3 by the method described above.
【0041】続いて、上記ステップS6に於けるコード
ワード所得処理の結果で有効なコードワードが得られた
かどうかを判定し(ステップS7)、有効なコードワー
ドが1個も得られなかった場合には、再度、上記ステッ
プS2に制御を移して画像取り込みルーチンをコールす
る。Subsequently, it is determined whether or not a valid codeword is obtained as a result of the codeword income processing in step S6 (step S7). If no valid codeword is obtained, Returns the control to step S2 again to call the image capturing routine.
【0042】一方、上記ステップS7にて、有効なコー
ドワードが得られた場合には、サブルーチン“行計算”
をコールして(ステップS8)、取り込んだ1次元画像
の幅情報がバーコードラベルの何行目の情報に相当する
のかを計算する。次いで、サブルーチン“マトリクス処
理”をコールし(ステップS9)、変換されたコードワ
ード値を適切な行及び列に相当するメモリ部分に格納す
る。On the other hand, if a valid codeword is obtained in step S7, the subroutine "line calculation" is executed.
Is called (step S8) to calculate which line of the barcode label the width information of the captured one-dimensional image corresponds to. Next, the subroutine "matrix processing" is called (step S9), and the converted codeword value is stored in the memory portion corresponding to the appropriate row and column.
【0043】次いで、ここまでの情報でバーコードが復
号可能かどうかの判断を行い(ステップS10)、可能
でなければ再度、上記ステップS2に制御を移して画像
取り込みルーチンをコールする。一方、可能であれば、
上記した高レベル復号処理を行い(ステップS11)、
プログラムを終了する。Next, it is judged whether or not the bar code can be decoded based on the information up to this point (step S10). If not, the control is transferred to the above step S2 again to call the image capturing routine. On the other hand, if possible,
The high-level decoding process described above is performed (step S11),
Quit the program.
【0044】以下、上記各種処理ルーチンを詳しく説明
する。先ず、図9のフローチャートと図10の幅情報変
換を説明する図を参照して、上記ステップS3でコール
されるサブルーチン“幅情報変換及び幅数カウント”の
シーケンスを説明する。このサブルーチンは、メモリに
取り込んだ2値化撮像情報を幅値の数値列に変換する処
理を行うものである。即ち、図10に示されるバー、ス
ペース31を幅情報33に変換する処理を行う。尚、図
10中のCCD撮像情報32は受光電圧の高さを表して
いる。The various processing routines will be described in detail below. First, the sequence of the subroutine "width information conversion and width number counting" called in step S3 will be described with reference to the flowchart of FIG. 9 and the drawing for explaining the width information conversion. This subroutine is a process for converting the binarized image pickup information fetched in the memory into a numerical sequence of width values. That is, the process of converting the bar and space 31 shown in FIG. 10 into the width information 33 is performed. The CCD image pickup information 32 in FIG. 10 represents the height of the received light voltage.
【0045】このルーチンでは、先ず変数i,widt
h-num及び2次元配列widthを初期化する(ス
テップS21)。ここで、変数scan-numは画像
情報のサンプル数であり、CCDの素子数で決定される
ものである。また、画像取り込みルーチンから出力され
たサンプルは配列scanに格納されており、既に2値
化されていると仮定する。次に配列scan[0] のサン
プルが0であるか1であるかの判断を行う(ステップS
22)。In this routine, first, the variables i, widt are
The h - num and the two-dimensional array width are initialized (step S21). Here, the variable scan -- num is the number of samples of image information, which is determined by the number of CCD elements. It is also assumed that the sample output from the image capturing routine is stored in the array scan and has already been binarized. Next, it is determined whether the sample of the array scan [0] is 0 or 1 (step S
22).
【0046】ここで、1であれば変数flagに1を代
入し(ステップS23)、そうでなければ変数flag
に0を代入する(ステップS24)。次に変数flag
が1であるかどうかの判定を行い(ステップS25)、
1であればステップS26に行き、そうでなければステ
ップS27に行く。Here, if it is 1, 1 is assigned to the variable flag (step S23), and if not, the variable flag is set.
0 is substituted for (step S24). Then the variable flag
It is determined whether is 1 (step S25),
If 1, go to step S26, otherwise go to step S27.
【0047】ステップS26では、配列scan[i] が
1であるかどうかの判断を行い、1であれば配列wid
th[width-num]をインクリメントする(ス
テップS28)。そうでなければ、変数flagを0に
設定し、変数width-numをインクリメントする
(ステップS29)。In step S26, it is determined whether the array scan [i] is 1, and if it is 1, the array wid
Increment th [width - num] (step S28). Otherwise, the variable flag is set to 0 and the variable width -- num is incremented (step S29).
【0048】ステップS27では、配列scan[i] が
0であるかどうかの判断を行い、0であれば配列wid
th[width-num]をインクリメントする(ス
テップS30)。そうでなければ変数flagを1に設
定し、変数width-numをインクリメントする
(ステップS31)。In step S27, it is determined whether the array scan [i] is 0, and if it is 0, the array wid
Increment th [width - num] (step S30). Otherwise, the variable flag is set to 1 and the variable width -- num is incremented (step S31).
【0049】次に変数iをインクリメントし(ステップ
S32)、変数iが変数scan
−num以上であるかどうかの判断を行う(ステップS
33)。そうであれば変数width −numの値を持
って上位関数にリターンしそうでなければ、再度、上記
ステップS25に制御を移して変数flagの判断を行
う。Next, the variable i is incremented (step S32), and the variable i is changed to the variable scan.
-Num is determined whether or not (step S
33). If so, the value of the variable width - num is returned to the higher-level function, and if it is not likely to return to the higher-level function, the control is transferred again to the step S25 to judge the variable flag.
【0050】次に図11のフローチャートと図12のバ
ーコードの傾き検出の図を参照して上記ステップS5で
コールされるサブルーチン“バーコード傾き検出”のシ
ーケンスを説明する。このルーチンはリニアセンサとバ
ーコードがなす相対的な角度から、バーコードが左右ど
ちらに傾いているかを検出するものである。Next, the sequence of the subroutine "bar code tilt detection" called in step S5 will be described with reference to the flowchart of FIG. 11 and the bar code tilt detection diagram of FIG. This routine detects whether the bar code is tilted left or right from the relative angle formed by the linear sensor and the bar code.
【0051】先ず、上記ステップS1の初期設定ルーチ
ンで0に初期化された変数tilt-flagが0であ
るかどうか判断する(ステップS41)。そしてtil
t-flagが0であればtilt-flagを1にする
(ステップS42)。First, it is judged whether or not the variable titt - flag initialized to 0 in the initialization routine of step S1 is 0 (step S41). And til
If the t - flag is 0, the tilt - flag is set to 1 (step S42).
【0052】上記ステップS42にて、tilt-fl
agが1であれば、上位関数にリターンする。この2つ
のステップは全体のバーコード復号処理において、最初
の1行分のデータだけについて傾き検出を行うために必
要なステップである。In the above step S42, tilt -- fl
If ag is 1, the process returns to the higher-level function. These two steps are necessary in the entire bar code decoding process in order to detect the inclination of only the first line of data.
【0053】次いで、前述した幅情報変換及び幅数カウ
ントルーチンで決定された幅情報配列width[0] が
予め設定されたしきい値より大きいかどうかを判断する
(ステップS43)。図12に示されるように、wid
th[0] は余白部分であり、しきい値は、例えばCCD
の素子数の半分の値に設定する。ここで、しきい値より
大きい場合は変数left-flagに1を代入し(ス
テップS44)、しきい値より小さい場合は変数lef
t-flagに0を代入し(ステップS45)、上位関
数にリターンする。Then, it is determined whether or not the width information array width [0] determined by the width information conversion and width number counting routine is larger than a preset threshold value (step S43). As shown in FIG. 12, wid
th [0] is a margin part, and the threshold is, for example, CCD
Set to half the number of elements in. Here, if it is larger than the threshold value, 1 is assigned to the variable left -- flag (step S44), and if it is smaller than the threshold value, the variable left.
Substitute 0 for t - flag (step S45) and return to the higher-level function.
【0054】次に図13のフローチャートを参照して上
記ステップS8でコールされるサブルーチン“行計算”
のシーケンスを説明する。このルーチンは上記ステップ
S6で得たコードワード値がバーコードの何行目のコー
ドワードの情報なのかをクラスタ及び行ブロックの概念
を用いて計算するものである。Next, referring to the flow chart of FIG. 13, the subroutine "row calculation" called in step S8 is executed.
Will be described. This routine is to calculate which line of the codeword the codeword value obtained in step S6 is, by using the concept of cluster and row block.
【0055】先ず、変数col,left-pro-fl
ag,right-pro-flagに0を代入し初期化
する(ステップS51)。ここで、変数left-pr
o-flag,right-pro-flagは後述する
サブルーチン“バーコード傾き処理”のルーチンで使用
される変数である。First, the variables col and left -- pro -- fl
0 is substituted for ag, right - pro - flag and initialized (step S51). Where the variable left -- pr
o - flag and right - pro - flag are variables used in a routine of a subroutine "bar code inclination processing" described later.
【0056】次にアドレスcol-indexに格納さ
れている数値を変数clusterに代入し、col-
indexをインクリメントする(ステップS52)。
ここで、アドレスcol-indexの設定は上記ステ
ップS6のコードワード所得処理で行われているものと
する。[0056] Next, the address col - a number that is stored in the index and assign it to a variable cluster, col -
The index is incremented (step S52).
Here, it is assumed that the address col - index is set in the codeword income process of step S6.
【0057】次いで、変数clusterの値が0、
3、6以外であるかどうか判断する(ステップS5
3)。そうであればステップS61に行き、そうでなけ
れば変数clusterが0かどうか判断する(ステッ
プS54)。ここで、0であれば変数change-f
lagが1かどうか判断する(ステップS55)。Next, the value of the variable cluster is 0,
It is determined whether or not other than 3 and 6 (step S5
3). If so, the process proceeds to step S61, and if not, it is determined whether the variable cluster is 0 (step S54). Here, if 0, the variable change - f
It is determined whether lag is 1 (step S55).
【0058】ここで、変数change-flagは上
記ステップS1の初期設定ルーチンで0に初期化されて
いるものとする。0でなければclusterが6であ
るかどうか判断する(ステップS56)。Here, it is assumed that the variable change -- flag is initialized to 0 in the initialization routine of step S1. If not 0, it is determined whether cluster is 6 (step S56).
【0059】上記ステップS55の判断結果が真であれ
ば、変数row-blockをインクリメントし、変数
scan-numに0を代入し、変数change-fl
agに0を代入する(ステップS57)。ここで、変数
row-block及びscan-numは上記ステップ
S1の初期設定ルーチンでそれぞれ0に初期化されてい
るものとする。If the result of the determination in step S55 is true, the variable row -- block is incremented, 0 is assigned to the variable scan -- num, and the variable change -- fl.
Substitute 0 for ag (step S57). Here, it is assumed that the variables row -- block and scan -- num have been initialized to 0 in the initialization routine of step S1.
【0060】一方、上記ステップS55の判断結果が偽
であればステップS59に行く。上記ステップS56の
判断結果が真であれば変数change-flagに1
を代入する(ステップS58)。偽であればステップS
59に行く。On the other hand, if the result of the determination in step S55 is false, the process proceeds to step S59. If the result of the determination in step S56 is true, the variable change -- flag is set to 1
Is substituted (step S58). If false, step S
Go to 59.
【0061】上記ステップS54からS58までの一連
の処理では行ブロックという概念が導入されている。こ
れは図3を参照すると表記コードのクラスタは0、3、
6のいずれかの値をとり、3のクラスタが交互に繰り返
されている行構成になっている。このクラスタ0、3、
6の3行で1行ブロックと定義する。そこで、最初にク
ラスタ6が認識されたらフラグを立て、フラグが立って
いる状態で次にこの行計算ルーチンがコールされたとき
にクラスタ0が認識されたら行ブロックを更新するとい
う処理を上記ステップS54からS58までで行ってい
る。ここで、行ブロックの更新は任意のある1列だけに
着目して行われる。The concept of row blocks is introduced in the series of processes from steps S54 to S58. Referring to FIG. 3, the notation code clusters are 0, 3,
It takes a value of 6 and has a row configuration in which 3 clusters are alternately repeated. This cluster 0, 3,
The 3 rows of 6 are defined as a 1-row block. Therefore, when the cluster 6 is first recognized, a flag is set, and when the cluster 0 is recognized the next time this row calculation routine is called while the flag is set, the row block is updated. To S58. Here, the update of the row block is performed focusing on only one arbitrary column.
【0062】次いで、配列row-num[col]に
row-block*3+cluster/3の算出結
果を代入する。たとえば、row-blockが5で、
コードワードのクラスタが6であったら5*3+6/3
=17であるからその行は17行目であることがわかる
(但し、行は0から始まる)。次にバーコード傾き処理
ルーチンをコールする(ステップS60)。Then, the calculation result of row - block * 3 + cluster / 3 is substituted into the array row - num [col]. For example, if row - block is 5,
If the codeword cluster is 6, then 5 * 3 + 6/3
= 17, it can be seen that the line is the 17th line (however, the line starts from 0). Next, the barcode inclination processing routine is called (step S60).
【0063】これは図14に図示するように、バーコー
ドがリニアセンサに対して相対的な角度を持っていて、
2つの行ブロックにまたがってデータを取り込んでしま
った場合、1列目のコードワードで行ブロックの更新が
行われた後に、3列目のコードワードを単純に上記ステ
ップS59で計算すると、同ブロックのクラスタ6と認
識してしまい正確な行番号が求まらないので、ステップ
S60のバーコード傾き処理ルーチンをコールし、行の
加減を行う。This is because the bar code has an angle relative to the linear sensor as shown in FIG.
If the data is fetched across two row blocks, the row block is updated with the code word in the first column, and then the code word in the third column is simply calculated in step S59. Since it is recognized as the cluster 6 and the accurate line number cannot be obtained, the bar code inclination processing routine of step S60 is called to adjust the line.
【0064】続いて、変数colをインクリメントし
(ステップS61)、colが定数COL-NUM以上
かどうか判断する(ステップS62)。以上と判断した
場合はステップS63に行き、そうでなければ、再度、
上記ステップS52に制御を移す。ここで、定数COL
-NUMは上記ステップS1の初期設定ルーチンで設定
されているバーコードの列数である。Then, the variable col is incremented (step S61), and it is determined whether col is greater than or equal to the constant COL -- NUM (step S62). If it is determined that the above, go to step S63, otherwise, again,
The control is moved to the step S52. Where the constant COL
- NUM is the number of columns of the bar code set by the initialization routine of step S1.
【0065】次いで、変数scan-numをインクリ
メントし(ステップS63)、予め設定されたしきい値
より大きいかどうか判断する(ステップS64)。大き
い場合は変数row-blockをインクリメントし、
変数scan-numに0を代入し、変数change-
flagに0を代入する(ステップS65)。そうでな
ければ上位関数にリターンする。Next, the variable scan -- num is incremented (step S63), and it is determined whether or not it is larger than a preset threshold value (step S64). If it is larger, increment the variable row - block,
Variable scan - 0 is assigned to num, variable change -
Substitute 0 for flag (step S65). Otherwise, it returns to the higher-level function.
【0066】上記ステップS63からS65までの一連
の処理では、もしバーコードの汚れ等の影響によりクラ
スタが認識できず、それによって行ブロックの更新が行
われないような場合に、クラスタの認識によらない行ブ
ロックの更新を実現したものである。従って、上記しき
い値はバーコードが1行ブロック分移動するまでにこの
行計算ルーチンがコールされる回数を設定しておくとよ
い。In the series of processing from steps S63 to S65, if the cluster cannot be recognized due to the influence of dirt on the bar code and the row block is not updated accordingly, the cluster is recognized. It realizes the update of a non-row block. Therefore, the threshold value is preferably set to the number of times the line calculation routine is called before the bar code moves by one line block.
【0067】次に図15のフローチャートを参照して、
上記ステップS60でコールされるサブルーチン“バー
コード傾き処理”のシーケンスを説明する。このルーチ
ンは図14のようにバーコードが傾いていて、2つの行
ブロックにまたがり撮像情報を取り込んでしまった場合
に、正確にコードワードの行番号を認識するためのルー
チンである。尚、ここでは、バーコードの傾きは、図1
4に示されるように取り込む撮像情報が3行以上にまた
がらないものと仮定する。Next, referring to the flowchart of FIG.
The sequence of the subroutine "bar code inclination process" called in step S60 will be described. This routine is a routine for accurately recognizing the line number of the codeword when the barcode is tilted as shown in FIG. 14 and the image pickup information is acquired over two line blocks. In addition, here, the inclination of the barcode is as shown in FIG.
It is assumed that the captured image information to be captured does not extend over three lines or more as shown in FIG.
【0068】まず、変数left-flagが1である
かどうか判断する(ステップS71)。このleft-
flagは上記ステップS5のバーコード傾き検出ルー
チンで決定される変数で、これが1であればバーコード
は左に傾いている。First, it is determined whether the variable left -- flag is 1 (step S71). This left -
The flag is a variable determined by the barcode inclination detection routine of step S5. If this is 1, the barcode is inclined to the left.
【0069】上記ステップS71にて、変数left-
flagが1であれば、続いて変数colが0であるか
どうか判断する(ステップS72)。このcolは上記
ステップS8で用意された変数で、列番号を示してい
る。[0069] In the step S71, variable left -
If the flag is 1, then it is determined whether or not the variable col is 0 (step S72). This col is a variable prepared in step S8 and indicates a column number.
【0070】上記ステップ72にて、変数colが0で
ある場合には、変数clusterが6であるかどうか
判断する(ステップS73)。ここで、0でなければ変
数clusterが0であるかどうか判断する(ステッ
プS74)。一方、上記ステップS73で変数clus
terが6であったら変数left-pro-flagに
1を代入する(ステップS75)。このleft-pr
o-flagは上記ステップS8の行計算ルーチンの最
初で初期化されている変数である。6でなければ上位関
数にリターンする。When the variable col is 0 in step 72, it is determined whether the variable cluster is 6 (step S73). If it is not 0, it is determined whether the variable cluster is 0 (step S74). On the other hand, in the step S73, the variable clus
If ter is 6, 1 is substituted into the variable left -- pro -- flag (step S75). This left - pr
o - flag is a variable initialized at the beginning of the row calculation routine in step S8. If not 6, it returns to the higher-level function.
【0071】上記ステップS74で変数cluster
が0であったら、変数left-pro-flagに1を
代入する(ステップS76)。0でなければ上位関数に
リターンする。上記ステップS76で変数left-p
ro-flagが1であれば配列row-num[co
l]に3を加算する(ステップS77)。これは、行ブ
ロックの誤認識による影響を補正する処理である。変数
left-pro-flagが1でなければ上位関数にリ
ターンする。In step S74, the variable cluster
If is 0, 1 is substituted into the variable left - pro - flag (step S76). If it is not 0, it returns to the higher-level function. In step S76, the variable left -- p
If ro - flag is 1, then the array row - num [co
3] is added to [l] (step S77). This is a process of correcting the influence of erroneous recognition of row blocks. If the variable left - pro - flag is not 1, the process returns to the higher-level function.
【0072】以上説明した上記ステップS72からステ
ップS77までの一連の処理はバーコードが左に傾いて
いる場合の補正処理である。即ち、図15の例とは逆の
場合である。次にバーコードが右に傾いている場合の説
明をする。The series of processes from step S72 to step S77 described above is a correction process when the bar code is tilted to the left. That is, the case is the opposite of the example of FIG. Next, the case where the barcode is tilted to the right will be described.
【0073】上記ステップS71で変数left-fl
agが0であると判断すれば、変数colが0であるか
どうか判断する(ステップS78)。ここで、変数co
lが0であった場合は変数clusterが0であるか
どうか判断する(ステップS79)。そして、変数co
lが0でなければ変数clusterが6であるかどう
か判断する(ステップS80)。上記ステップS79で
変数clusterが0であった場合は変数right
-pro-flagに1を代入する(ステップS81)。
0でなければ上位関数にリターンする。In step S71, the variable left -- fl is set.
If it is determined that ag is 0, it is determined whether the variable col is 0 (step S78). Where the variable co
If l is 0, it is determined whether the variable cluster is 0 (step S79). And the variable co
If l is not 0, it is determined whether the variable cluster is 6 (step S80). If the variable cluster is 0 in step S79, the variable right
- pro - 1 is substituted for the flag (step S81).
If it is not 0, it returns to the higher-level function.
【0074】上記ステップS80で変数cluster
が6であったら、変数right-pro-flagが1
であるかどうか判断する(ステップS82)。変数cl
usterが6でなければ上位関数にリターンする。上
記ステップS82で変数right-pro-flagが
1であったら配列row-num[col]から3を減
算する(ステップS83)。1でなければ上位関数にリ
ターンする。In step S80, the variable cluster
Is 6, the variable right -- pro -- flag is 1
Is determined (step S82). Variable cl
If the user is not 6, the process returns to the higher-level function. If the variable right -- pro -- flag is 1 in step S82, 3 is subtracted from the array row -- num [col] (step S83). If it is not 1, it returns to the higher-level function.
【0075】以上説明したステップS83乃至S85ま
での一連の処理を行うことで、図14に示されるように
バーコードが右に傾いている場合に行番号の誤認識を補
正することができる。By performing the series of processes from step S83 to S85 described above, it is possible to correct the erroneous recognition of the line number when the bar code is tilted to the right as shown in FIG.
【0076】次に図16のフローチャートを参照して、
上記ステップS9でコールされるサブルーチン“マトリ
クス処理”のルーチンを説明する。このルーチンは、上
記ステップS8の行計算ルーチンで計算された行情報を
基に、予め用意されている2次元配列にコードワード値
を埋め込んでいくものである。Next, referring to the flowchart of FIG.
The routine of the subroutine "matrix processing" called in step S9 will be described. This routine is to embed a codeword value in a two-dimensional array prepared in advance based on the row information calculated by the row calculation routine in step S8.
【0077】まず、変数colに0を代入して初期化し
(ステップS90)、変数rowに上記ステップS8で
計算した行情報の配列row-num[col]の値を
代入する(ステップS91)。次に2次元配列cwma
trix[row][col]に変数valueを代入
する(ステップS92)。ここで、valueには上記
ステップS6で決定したコードワード値が格納されてい
る。次に変数colをインクリメントし(ステップS9
3)、colが定数COL-NUMより大きいかどうか
判断する(ステップS94)。大きければ上位関数にリ
ターンし、小さければ、再度、上記ステップS91に制
御を移す。First, 0 is assigned to the variable col for initialization (step S90), and the value of the row information array row -- num [col] calculated in step S8 is assigned to the variable row (step S91). Next, two-dimensional array cwma
The variable value is assigned to trix [row] [col] (step S92). Here, the codeword value determined in step S6 is stored in value. Next, the variable col is incremented (step S9
3), it is determined whether col is larger than a constant COL - NUM (step S94). If it is larger, the process returns to the higher-level function, and if it is smaller, the control is moved to the step S91 again.
【0078】次に第2の実施の形態について説明する。
この実施の形態は、通常のPDF417二次元バーコー
ドを読み取る際にスタート・ストップコードとローイン
ディケータが読みとれなかった場合、補助的な復号手段
として上記の方法を用いて読み取り可能としたものであ
る。Next, a second embodiment will be described.
In this embodiment, when the start / stop code and the row indicator cannot be read when reading the normal PDF417 two-dimensional bar code, the above method is used as the auxiliary decoding means to enable reading.
【0079】本実施の形態は、光学反射率が異なるマー
クパターンを包含し、前記各マークパターンが反射面と
非反射面を交互に持ち、前記各マークパターンの2次元
集合が特定のルールに従い情報を記号化したものであ
り、前記各マークパターンの2次元集合に集合それ自身
を認識するために必要な特徴的なマークパターン及び集
合それ自身に関する情報を記号化したマークパターンを
包むことを特徴とする記号表記法で表記された記号を復
号するバーコード読取方法を実現する。In the present embodiment, mark patterns having different optical reflectances are included, each mark pattern has a reflective surface and a non-reflective surface alternately, and a two-dimensional set of each mark pattern has information according to a specific rule. Characterized in that it encloses a characteristic mark pattern necessary for recognizing the set itself in a two-dimensional set of the mark patterns and a mark pattern that encodes information about the set itself. A barcode reading method for decoding a symbol represented by the symbol notation is realized.
【0080】そして、ボイド、スポット等の影響により
前記各マークパターンの2次元集合に集合それ自身を認
識するために必要な特徴的なマークパターン及び集合そ
れ自身に関する情報を記号化したマークパターンが少な
くとも1個読みとれなくても、前記各マークパターンの
2次元集合を復号することを特徴とする。At least a characteristic mark pattern necessary for recognizing the set itself in the two-dimensional set of each mark pattern due to the influence of voids, spots, etc. and a mark pattern encoding information about the set itself are at least It is characterized in that the two-dimensional set of each mark pattern is decoded even if one cannot be read.
【0081】以下、図17のフローチャートを参照し
て、この実施の形態のシーケンスを詳細に説明する。先
ずしきい値、各種グローバル変数等の種々のパラメータ
を初期設定し(ステップS101)、画像取り込みルー
チンをコールして1次元画像をデータ処理装置15内の
メモリに取り込む(ステップS102)。The sequence of this embodiment will be described in detail below with reference to the flowchart of FIG. First, various parameters such as threshold values and various global variables are initialized (step S101), and the image capturing routine is called to capture a one-dimensional image in the memory of the data processing device 15 (step S102).
【0082】次いで、幅情報変換により、1次元画像内
の撮像信号を幅情報に変換する(ステップS103)。
そして、スタート・ストップコード及びローインディケ
ータが存在するか否かを判断し(ステップS104)、
これらコードが存在する場合には通常のPDF417の
読み取り処理を行い(ステップS105)、デーコード
可能であるか否かを判断し(ステップS106)、デコ
ード不可能である場合には上記ステップS102に戻
り、可能である場合には高レベル信号処理を行い(ステ
ップS107)、動作を終了する。Next, the width information conversion converts the image pickup signal in the one-dimensional image into width information (step S103).
Then, it is determined whether or not the start / stop code and the row indicator are present (step S104),
If these codes are present, the normal PDF417 reading process is performed (step S105), it is determined whether the data code is possible (step S106), and if the data cannot be decoded, the process returns to step S102. If possible, high-level signal processing is performed (step S107), and the operation ends.
【0083】上記ステップS104にて、スタート・ス
トップコード及びローインディケータが存在しない場合
には、サブルーチン“コードワード所得処理”をコール
して(ステップS108)、ステップS103で得た幅
情報から前述した方法でクラスタとコードワード値を得
る。続いて、上記コードワード所得処理の結果で有効な
コードワードが得られたかどうかを判定し(ステップS
109)、有効なコードワードが1個も得られなかった
場合には、再度、上記ステップS102に制御を移して
画像取り込みルーチンをコールする。In step S104, if the start / stop code and the row indicator do not exist, the subroutine "codeword income processing" is called (step S108), and the above-mentioned method is performed from the width information obtained in step S103. To get the cluster and codeword value. Subsequently, it is determined whether or not a valid codeword is obtained as a result of the above codeword income processing (step S
109) If no valid codeword is obtained, the control is transferred again to step S102 to call the image capturing routine.
【0084】一方、上記ステップS109にて、有効な
コードワードが得られた場合には、行計算ルーチンをコ
ールして(ステップS110)、取り込んだ1次元画像
の幅情報がバーコードラベルの何行目の情報に相当する
のかを計算する。次いで、マトリクス処理ルーチンをコ
ールし(ステップS111)、変換されたコードワード
値を適切な行及び列に相当するメモリ部分に格納する。
そして、ステップS106に移行し、上記と同様の処理
を行い動作を終了する。On the other hand, if a valid codeword is obtained in step S109, the line calculation routine is called (step S110), and the width information of the fetched one-dimensional image indicates the number of lines of the bar code label. Calculate whether it corresponds to eye information. Then, the matrix processing routine is called (step S111), and the converted codeword value is stored in the memory portion corresponding to the appropriate row and column.
Then, the process proceeds to step S106, the same processing as above is performed, and the operation is ended.
【0085】このように、この実施の形態では、PDF
417のスタート・ストップコードまたはローインディ
ケータが読みとれなかった場合に、その関数をコールし
復号するようプログラミングするものである。As described above, in this embodiment, the PDF
If the 417 start / stop code or row indicator cannot be read, the function is programmed to be called and decoded.
【0086】尚、上記説明では、PDF417からスタ
ート・ストップコードと左右ローインディケータを除い
た記号表記法を示したが、PDF417からスタート・
ストップコードを除いた記号表記、PDF417から左
右ローインディケータを除いた記号表記なども可能であ
ることは勿論である。In the above description, the symbol notation from which the start / stop codes and the left and right row indicators have been removed from the PDF417 has been shown.
It goes without saying that the symbol notation excluding the stop code and the symbol notation excluding the left and right row indicators from the PDF 417 are also possible.
【0087】以上説明したように、本発明は、冗長成分
のない高密度化が可能なバーコードを表記した記録媒体
と、そのコードを読み取るためのバーコード読取方法を
提供し、物流その他様々な用途において、物体の限られ
た表面積を有効に活用して情報を運ぶことを可能にした
ものである。As described above, the present invention provides a recording medium in which a barcode having a high density without a redundant component is shown, and a barcode reading method for reading the barcode, which can be used for various physical distribution and others. In applications, the limited surface area of an object can be effectively used to carry information.
【0088】尚、本発明は上記実施の形態に限定される
ことなく、その趣旨を逸脱しない範囲で種々の改良・変
更が可能であることは勿論である。例えば、1次元撮像
装置14はリニアCCDでなく、レーザ装置を用いて走
査してもよい。また、1次元撮像装置14を2次元撮像
装置に置き換え、然るべき処理を施すことも可能である
ことは勿論である。The present invention is not limited to the above-mentioned embodiments, and it goes without saying that various improvements and changes can be made without departing from the spirit of the present invention. For example, the one-dimensional imaging device 14 may scan using a laser device instead of the linear CCD. Of course, it is also possible to replace the one-dimensional imaging device 14 with a two-dimensional imaging device and perform appropriate processing.
【0089】なお、本発明の上記実施態様によれば、以
下の発明も含まれる。 (1)光学的反射率が異なる反射面と非反射面を交互に
有すると共に、上記反射面と非反射面の2次元集合が所
定の規則に従って情報を示唆するように複数のマークパ
ターンを配設するバーコード表記法によってバーコード
が表記された記録媒体であって、上記2次元集合に、該
集合自身を認識するための特徴的なマークパターンと集
合自身に関する情報を記号化したマークパターンとを含
まないことを特徴とするバーコードが表記された記録媒
体。 (2)上記バーコードでは、上記各マークパターンによ
り構成されるコードワード行が上下方向に複数隣接して
おり、上記各コードワード行がコードワードから構成さ
れており、上記各コードワードが上記各マークパターン
の幅の構成によって定まる文字情報に対応しており、上
記各コードワード行が行毎に異なる特徴を有すると共に
隣接する行と識別されており、上記各コードワード行に
記号表記自身を認識するための特徴的なパターンと記号
自身に関する情報を記号化したコードワードとを含まな
いことを特徴とする上記請求項1に記載のバーコードが
表記された記録媒体。 (3)上記バーコードは、2次元バーコード体系である
PDF417において、コードワード行にPDF417
自身を認識するために必要な特徴的なパターン及びPD
F417自身に関する情報を記号化したコードワードを
含まないことを特徴とする上記請求項1に記載のバーコ
ードが表記された記録媒体。 (4)上記バーコードは、2次元バーコード体系である
PDF417からスタート・ストップマーク及びローイ
ンディケータを除いたものであることを特徴とする請求
項3に記載のバーコードが表記された記録媒体。 (5)上記バーコードは、2次元バーコード体系である
PDF417からスタートマーク、ストップマークを除
いたものであることを特徴とする請求項3に記載のバー
コードが表記された記録媒体。 (6)上記バーコードは、2次元バーコード体系である
PDF417からローインディケータを除いたものであ
ることを特徴とする請求項3に記載のバーコードが表記
された記録媒体。 (7)光学的反射率が異なる反射面と非反射面を交互に
有すると共に、上記反射面と非反射面の2次元集合が所
定の規則に従って情報を示唆するように複数のマークパ
ターンが配設され、上記各マークパターンにより構成さ
れるコードワード行が上下方向に複数隣接しており、上
記各コードワード行がコードワードから構成されてお
り、上記各コードワードが上記マークパターンの各幅の
構成によって定まる文字情報に対応しており、上記各コ
ードワード行が行毎に異なる特徴を有すると共に隣接す
る行を識別するものであり、上記各コードワード行に記
号表記自身を認識するための特徴的なパターン及び記号
自身に関する情報を記号化したコードワードを含まない
ことを特徴とするバーコードが表記された記録媒体より
バーコードを読み取るバーコード読取方法であって、上
記記録媒体に表記された記号との相対的な位置変化によ
りコードワード行を順次走査し、上記コードワード行の
行番号を行毎に異なる特徴を用いて決定し、走査毎に上
記コードワード行を復号した結果を揮発性記憶媒体に予
め記憶された配列に格納することを特徴とするバーコー
ド読取方法。 (8)上記行毎に異なる特徴は2次元バーコード体系で
あるPDF417のクラスタであることを特徴とする上
記請求項7に記載のバーコード読取方法。 (9)光学的反射率が異なる反射面と非反射面を交互に
有すると共に、上記反射面と非反射面の2次元集合が所
定の規則に従って情報を示唆するように複数のマークパ
ターンが配設され、上記マークパターンにより構成され
るコードワード行が上下方向に複数隣接しており、上記
各コードワード行がコードワードから構成されており、
上記各コードワードが上記マークパターンの各幅の構成
によって定まる文字情報に対応しており、上記各コード
ワード行が行毎に異なる特徴を有すると共に隣接する行
を識別するものであり、上記各コードワード行に記号表
記自身を認識するための特徴的なパターン及び記号自身
に関する情報を記号化したコードワードを含まないこと
を特徴とするバーコードが表記された記録媒体よりバー
コードを読み取るバーコード読取方法であって、上記記
録媒体により表記された記号との相対的な位置変化によ
りコードワード行を順次走査し、上記コードワード行の
行番号を行毎に異なる特徴を用いて決定し、上記表記記
号と走査機器との相対的な角度を検出し、上記相対的角
度の情報を用いて上記コードワード行の行番号を決定
し、走査毎に上記コードワード行を復号した結果を揮発
性記憶媒体に予め記憶された配列に格納することを特徴
とするバーコード読取方法。 (10)上記行毎に異なる特徴は2次元バーコード体系
であるPDF417のクラスタであることを特徴とする
上記請求項9に記載のバーコード読取方法。 (11)光学的反射率が異なるマークパターンを包含
し、上記各マークパターンが反射面と非反射面を交互に
有し、上記各マークパターンにより表記されるコードワ
ード行が上下方向に複数隣接しており、上記各コードワ
ード行がコードワードから構成されており、上記各コー
ドワードが上記各マークパターンの幅の構成によって定
まる文字情報に対応しており、上記各コードワード行が
行毎に異なる特徴を有し、隣接する行を識別することが
可能であり、上記各コードワード行に記号表記それ自身
を認識するために必要な特徴的なパターン及び記号それ
自身に関する情報を記号化したコードワードを少なくと
も1個は含む記号を復号するバーコード読取方法であっ
て、特定のコードワード行が含む記号表記自身を認識す
るために必要な特徴的なパターンと記号自身に関する情
報を記号化したコードワードの少くともいずれか一方が
復号できなかった場合、上記コードワード行の行番号を
行毎に異なる特徴を用いて決定し、走査毎に上記コード
ワード行を復号した結果を揮発性記憶媒体に予め記憶さ
れた配列に格納することを特徴とするバーコード読取方
法。 (12)上記記号は2次元バーコード体系のPDF41
7であり、行毎に異なる特徴はクラスタであることを特
徴とする上記請求項11に記載のバーコード読取方法。According to the above embodiment of the present invention, the following inventions are also included. (1) The reflective surface and the non-reflective surface having different optical reflectances are alternately arranged, and a plurality of mark patterns are arranged so that the two-dimensional set of the reflective surface and the non-reflective surface suggests information according to a predetermined rule. In the recording medium in which a barcode is written by the barcode notation method, a characteristic mark pattern for recognizing the set itself and a mark pattern obtained by encoding information about the set itself are added to the two-dimensional set. A recording medium on which a bar code is written that is not included. (2) In the bar code, a plurality of codeword rows composed of the mark patterns are vertically adjacent to each other, the codeword rows are composed of codewords, and the codewords are composed of the codewords. Corresponding to character information determined by the configuration of the width of the mark pattern, each codeword line has a different characteristic for each line and is distinguished from the adjacent line, and the code notation itself is recognized in each codeword line. The recording medium on which the barcode is written according to claim 1, wherein the recording medium does not include a characteristic pattern for doing so and a codeword that encodes information about the symbol itself. (3) The above-mentioned barcode is a two-dimensional barcode system PDF417, and the PDF417 is added to the codeword line.
Characteristic patterns and PDs required to recognize oneself
The recording medium having the bar code according to claim 1, wherein the recording medium does not include a codeword that encodes information about the F417 itself. (4) The recording medium on which the barcode is written according to claim 3, wherein the barcode is a PDF417 which is a two-dimensional barcode system from which start / stop marks and row indicators are removed. (5) The recording medium in which the barcode is written according to claim 3, wherein the barcode is a two-dimensional barcode system PDF417 from which a start mark and a stop mark are removed. (6) The recording medium described in claim 3, wherein the bar code is a two-dimensional bar code system PDF417 excluding the row indicator. (7) A reflective surface and a non-reflective surface having different optical reflectances are alternately arranged, and a plurality of mark patterns are arranged so that the two-dimensional set of the reflective surface and the non-reflective surface suggests information according to a predetermined rule. A plurality of codeword rows formed by the mark patterns are adjacent to each other in the vertical direction, the codeword rows are formed by codewords, and the codewords have the widths of the mark patterns. Corresponding to the character information determined by the above, each of the codeword lines has a different feature for each line and identifies adjacent lines, and each of the codeword lines has a characteristic for recognizing the symbolic notation itself. A bar code from a recording medium on which a bar code is written, which does not include a code word that encodes information related to various patterns and the mark itself. A method of reading a barcode, wherein codeword rows are sequentially scanned by a relative position change with respect to a symbol written on the recording medium, and the row number of the codeword row is determined using a different feature for each row. A method of reading a barcode, wherein the result of decoding the codeword row is stored for each scan in an array prestored in a volatile storage medium. (8) The barcode reading method according to claim 7, wherein the feature different for each row is a cluster of PDF417, which is a two-dimensional barcode system. (9) Reflective and non-reflective surfaces having different optical reflectances are alternately arranged, and a plurality of mark patterns are arranged so that the two-dimensional set of the reflective and non-reflective surfaces suggests information according to a predetermined rule. A plurality of codeword rows composed of the mark pattern are adjacent in the vertical direction, each codeword row is composed of a codeword,
Each of the codewords corresponds to character information determined by the configuration of each width of the mark pattern, each codeword row has a different characteristic for each row, and identifies adjacent rows. Bar code reading that reads a bar code from a recording medium on which a bar code is written, characterized in that the word line does not include a characteristic pattern for recognizing the symbol notation itself and a code word that encodes information about the symbol itself A method, in which codeword rows are sequentially scanned by a relative position change with respect to a symbol written on the recording medium, and the row number of the codeword row is determined using a different feature for each row. The relative angle between the symbol and the scanning device is detected, the line number of the codeword line is determined using the information on the relative angle, and the line number is determined for each scan. Bar code reading method characterized by storing the results of decoding the quadword line to previously stored sequence in the volatile storage medium. (10) The barcode reading method according to claim 9, wherein the feature different for each row is a cluster of PDF417, which is a two-dimensional barcode system. (11) A mark pattern having different optical reflectance is included, each mark pattern has a reflective surface and a non-reflective surface alternately, and a plurality of codeword rows described by each mark pattern are vertically adjacent to each other. Each codeword line is composed of codewords, each codeword corresponds to the character information determined by the configuration of the width of each mark pattern, and each codeword line is different for each line. A codeword that has a characteristic and is capable of identifying adjacent rows, and encodes information about the characteristic pattern and the symbol itself necessary for recognizing the symbolic representation itself in each codeword line. A barcode reading method for decoding a symbol including at least one of, and a feature necessary for recognizing the symbol notation itself included in a specific codeword line. If at least one of the codewords encoding the information about the pattern and the symbol itself could not be decoded, the line number of the codeword line is determined using different features for each line, and the code is determined for each scan. A method of reading a bar code, characterized in that the result of decoding a word row is stored in an array previously stored in a volatile storage medium. (12) The above symbols are PDF41 of the two-dimensional barcode system.
12. The bar code reading method according to claim 11, wherein the characteristic is 7 and the feature that differs for each row is a cluster.
【0090】[0090]
【発明の効果】本発明によれば、PDF417と比較し
て情報の高密度記録を実現するバーコードが表示された
記録媒体、及び当該バーコードを読み取るバーコード読
取方法を提供することができる。According to the present invention, it is possible to provide a recording medium on which a barcode is displayed, which realizes high density recording of information as compared with PDF417, and a barcode reading method for reading the barcode.
【図1】本発明のバーコードが表記された記録媒体の構
成を示す図である。FIG. 1 is a diagram showing a configuration of a recording medium in which a barcode of the present invention is written.
【図2】上記コードワード1について詳細に説明するた
めの図である。FIG. 2 is a diagram for explaining the codeword 1 in detail.
【図3】図1のコードの行構成をクラスタを用いて詳細
に説明するための図である。FIG. 3 is a diagram for explaining the line configuration of the code in FIG. 1 in detail using clusters.
【図4】高レベル信号に必要な対応表の一例を示す図で
ある。FIG. 4 is a diagram showing an example of a correspondence table required for a high level signal.
【図5】図4の表を用いる方法の特徴に係る状態遷移ダ
イアグラムを示す図である。5 is a diagram showing a state transition diagram according to a feature of the method using the table of FIG.
【図6】本発明のバーコード読取方法を実現するバーコ
ード読取装置の構成を示す図である。FIG. 6 is a diagram showing a configuration of a barcode reading apparatus that realizes a barcode reading method of the present invention.
【図7】図6のバーコード読取装置の改良例の構成を示
す図である。7 is a diagram showing a configuration of an improved example of the barcode reading device in FIG.
【図8】データ処理装置15でバーコード情報を復号す
るアルゴリズムを示すフローチャートである。8 is a flowchart showing an algorithm for decoding barcode information in the data processing device 15. FIG.
【図9】サブルーチン“幅情報変換及び幅数カウント”
のシーケンスを示すフローチャートである。[Fig. 9] Subroutine "width information conversion and width count"
3 is a flowchart showing the sequence of FIG.
【図10】バー、スペースの撮像情報を幅情報に変換す
る幅情報変換について説明するための図である。FIG. 10 is a diagram for explaining width information conversion for converting imaging information of bars and spaces into width information.
【図11】サブルーチン“バーコード傾き検出”のシー
ケンスを示すフローチャートである。FIG. 11 is a flowchart showing a sequence of a subroutine “bar code inclination detection”.
【図12】バーコードの左右の傾きを検出する方法につ
いて説明するための図である。FIG. 12 is a diagram for explaining a method for detecting the left / right inclination of a barcode.
【図13】サブルーチン“行計算”のシーケンスを示す
フローチャートである。FIG. 13 is a flowchart showing a sequence of a subroutine “row calculation”.
【図14】バーコードのデータブロックをまたいで、デ
ータを取り込む様子を示す図である。FIG. 14 is a diagram showing how data is fetched across a data block of a barcode.
【図15】サブルーチン“バーコード傾き処理”のシー
ケンスを示すフローチャートである。FIG. 15 is a flowchart showing a sequence of a subroutine “bar code inclination processing”.
【図16】サブルーチン“マトリクス処理”のシーケン
スを示すフローチャートである。FIG. 16 is a flowchart showing a sequence of a subroutine “matrix processing”.
【図17】第2の実施の形態に係るバーコード読取方法
を詳細に説明するためのフローチャートである。FIG. 17 is a flowchart for explaining in detail the barcode reading method according to the second embodiment.
1 コードワード 2 シンボル長記述子コードワード 3 データコードワード 4 エラー訂正コードワード 5 バー 6 スペース 11 バーコードラベル 12 結像レンズ 13 光電変換面 14 1次元撮像装置 15 データ処理装置 1 Codeword 2 Symbol Length Descriptor Codeword 3 Data Codeword 4 Error Correction Codeword 5 Bar 6 Space 11 Barcode Label 12 Imaging Lens 13 Photoelectric Conversion Surface 14 One-dimensional Imaging Device 15 Data Processing Device
Claims (3)
を交互に有すると共に、上記反射面と非反射面の2次元
集合が所定の規則に従って情報を示唆するように複数の
マークパターンを配設するバーコード表記法によってバ
ーコードが表記された記録媒体であって、 上記2次元集合に、該集合自身を認識するための特徴的
なマークパターンと集合自身に関する情報を記号化した
マークパターンとを含まないことを特徴とするバーコー
ドが表記された記録媒体。1. A reflective surface and a non-reflective surface having different optical reflectances are alternately arranged, and a plurality of mark patterns are provided so that a two-dimensional set of the reflective surface and the non-reflective surface suggests information according to a predetermined rule. A recording medium in which a bar code is written according to a bar code notation to be arranged, wherein a characteristic mark pattern for recognizing the set itself and a mark pattern in which information about the set itself is symbolized in the two-dimensional set. A recording medium on which a barcode is written, which does not include and.
を交互に有すると共に、上記反射面と非反射面の2次元
集合が所定の規則に従って情報を示唆するように複数の
マークパターンが配設され、上記各マークパターンによ
り構成されるコードワード行が上下方向に複数隣接して
おり、上記各コードワード行がコードワードから構成さ
れており、上記各コードワードが上記マークパターンの
各幅の構成によって定まる文字情報に対応しており、上
記各コードワード行が行毎に異なる特徴を有すると共に
隣接する行を識別するものであり、上記各コードワード
行に記号表記自身を認識するための特徴的なパターン及
び記号自身に関する情報を記号化したコードワードを含
まないことを特徴とするバーコードが表記された記録媒
体よりバーコードを読み取るバーコード読取方法であっ
て、 上記記録媒体に表記された記号との相対的な位置変化に
よりコードワード行を順次走査し、上記コードワード行
の行番号を行毎に異なる特徴を用いて決定し、走査毎に
上記コードワード行を復号した結果を揮発性記憶媒体に
予め記憶された配列に格納することを特徴とするバーコ
ード読取方法。2. A plurality of mark patterns are provided such that reflective surfaces and non-reflective surfaces having different optical reflectances are alternately arranged, and a two-dimensional set of the reflective surface and the non-reflective surface suggests information according to a predetermined rule. A plurality of codeword rows arranged by the mark patterns are vertically adjacent to each other, each codeword row is composed of codewords, and each codeword has each width of the mark pattern. Corresponding to the character information determined by the configuration, each codeword line has a different characteristic for each line and identifies adjacent lines, for identifying the code notation itself in each codeword line The barcode is recorded from a recording medium on which a barcode characterized by not including a codeword that encodes information about the characteristic pattern and the symbol itself is included. A bar code reading method for reading, in which code word lines are sequentially scanned according to a relative position change with respect to a symbol written on the recording medium, and a line number of the code word line is determined using a different feature for each line. Then, the bar code reading method is characterized in that the result of decoding the code word row is stored for each scan in an array previously stored in a volatile storage medium.
包含し、上記各マークパターンが反射面と非反射面を交
互に有し、上記各マークパターンにより表記されるコー
ドワード行が上下方向に複数隣接しており、上記各コー
ドワード行がコードワードから構成されており、上記各
コードワードが上記各マークパターンの幅の構成によっ
て定まる文字情報に対応しており、上記各コードワード
行が行毎に異なる特徴を有し、隣接する行を識別するこ
とが可能であり、上記各コードワード行に記号表記それ
自身を認識するために必要な特徴的なパターン及び記号
それ自身に関する情報を記号化したコードワードを少な
くとも1個は含む記号を復号するバーコード読取方法で
あって、 特定のコードワード行が含む記号表記自身を認識するた
めに必要な特徴的なパターンと記号自身に関する情報を
記号化したコードワードの少くともいずれか一方が復号
できなかった場合、上記コードワード行の行番号を行毎
に異なる特徴を用いて決定し、走査毎に上記コードワー
ド行を復号した結果を揮発性記憶媒体に予め記憶された
配列に格納することを特徴とするバーコード読取方法。3. A mark pattern having different optical reflectance is included, each mark pattern has a reflective surface and a non-reflective surface alternately, and a plurality of codeword rows described by each mark pattern are arranged in the vertical direction. Adjacent to each other, each codeword line is composed of codewords, each codeword corresponds to character information determined by the configuration of the width of each mark pattern, each codeword line is line by line. It is possible to discriminate adjacent rows having different characteristics, and each of the above codeword rows is encoded with a characteristic pattern necessary for recognizing the symbolic notation itself and information about the symbol itself. A barcode reading method for decoding a symbol including at least one codeword, which is necessary for recognizing the symbol notation itself included in a specific codeword line. If at least one of the codewords encoding the characteristic pattern and the information about the symbol itself could not be decoded, the row number of the codeword row is determined using different characteristics for each row, and for each scan. A method of reading a bar code, characterized in that the result of decoding the code word row is stored in an array stored in advance in a volatile storage medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8034873A JPH09231298A (en) | 1996-02-22 | 1996-02-22 | Recording medium bearing bar code and bar code reading method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8034873A JPH09231298A (en) | 1996-02-22 | 1996-02-22 | Recording medium bearing bar code and bar code reading method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09231298A true JPH09231298A (en) | 1997-09-05 |
Family
ID=12426277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8034873A Pending JPH09231298A (en) | 1996-02-22 | 1996-02-22 | Recording medium bearing bar code and bar code reading method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09231298A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100393423B1 (en) * | 2001-03-21 | 2003-08-02 | 김지영 | A method for recognizing 2D barcode information |
CN102087698A (en) * | 2011-03-03 | 2011-06-08 | 北京天地融科技有限公司 | Method and system for transmitting information and device for displaying and reading bar code |
-
1996
- 1996-02-22 JP JP8034873A patent/JPH09231298A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100393423B1 (en) * | 2001-03-21 | 2003-08-02 | 김지영 | A method for recognizing 2D barcode information |
CN102087698A (en) * | 2011-03-03 | 2011-06-08 | 北京天地融科技有限公司 | Method and system for transmitting information and device for displaying and reading bar code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100414524B1 (en) | Two-dimensional Code having superior decoding property which is possible to control the level of error correcting codes, and method for encoding and decoding the same | |
US8096480B2 (en) | System and method for encoding and decoding large capacity 2-dimensional color bar code which can be color-corrected | |
US6102289A (en) | 1D finder pattern for 2D bar codes | |
JP3668275B2 (en) | Digital information recording method, decoding method and decoding device | |
JP4122629B2 (en) | 2D code generation method | |
KR100960786B1 (en) | Methods and systems for encoding and decoding data in 2d symbology | |
US6070805A (en) | Distortion resistant double-data correcting color transition barcode and method of generating and using same | |
CA2097359C (en) | Record with encoded data | |
US6129278A (en) | Detecting image cell position with subpixel accuracy | |
US7028911B2 (en) | Methods and systems for encoding and decoding data in 2D symbology | |
EP0484132B1 (en) | Multiple resolution machine readable symbols | |
US5553084A (en) | Error correction enhancement for code one and other machine-readable symbologies | |
JPH07120385B2 (en) | Optical reading method | |
JP4202101B2 (en) | Barcode recognition method and recognition decoding processing apparatus | |
EP0464713B1 (en) | Bar-code reading apparatus | |
US20020074405A1 (en) | Method of reading barcode and barcode reading system | |
KR20030085511A (en) | 2d barcode card and its decoding method | |
US20060289661A1 (en) | Bi-directional readable two-dimensional bar code system and its reading method | |
JPH09231298A (en) | Recording medium bearing bar code and bar code reading method | |
KR100829108B1 (en) | Apparatus and method for reading 2 dimensional barcode with a pattern gradient calculation function | |
JP3853331B2 (en) | Digital information recording method | |
JP2001256425A (en) | Optical information reader | |
JP2003006568A (en) | Area code reader and area code read method | |
JP6393226B2 (en) | Stacked bar code reader and stack bar code reading method | |
JP4155156B2 (en) | Bar code reader and bar code discrimination method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060704 |