(57)【要約】【課題】  バーコードの読み取り誤りをより発生し難くすることができるバーコード読取装置を提供する。【解決手段】  バーコード読取装置は、ＣＯＤＥ１２８の１キャラクタ中において、連続する４つのエレメントよりなるデコード用のサブセットを１エレメント数だけずらしながら３つ設定し、各サブセットａ，ｂ，ｃに属するエレメントの幅値の合計を求め、各合計値の比に基づいて１キャラクタの判別を行なう。【選択図】  図１
2005128626.tif 000002
【特許請求の範囲】
【請求項１】
隣接する２つのエレメントが夫々３種類以上の幅値を有し、１キャラクタが６エレメント以上で構成されるバーコードを読取るためのバーコード読取装置であって、
２以上で且つ１キャラクタを構成するエレメントの数よりも少ない数のエレメントの連続した組み合わせをデコード用のサブセットと定義し、
１キャラクタ中において、前記サブセットを所定のエレメント数だけずらしながら複数設定し、
各サブセットに属するエレメントの幅値の合計を求め、
前記合計値の比に基づいて前記１キャラクタの判別を行なうことを特徴とするバーコード読取装置。
【請求項２】
前記バーコードは、
隣接する２つのエレメントが夫々４種類の幅値を有し、
１キャラクタが６エレメントで構成され、
前記サブセットは４エレメントで構成されると共に、１エレメントずつずらして設定されるものを読取り対象とすることを特徴とする請求項１記載のバーコード読取装置。
【請求項３】
前記合計値の比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの幅値を夫々判定し、それらのエレメントの配列に基づいてキャラクタの判別を行なうことを特徴とする請求項１又は２記載のバーコード読取装置。
【請求項４】
前記合計値の比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの内、隣接する２つ毎に対を設定し、各対をなすエレメントの幅値の合計を求め、それらの合計値の比に基づいてキャラクタの判別を行なうことを特徴とする請求項１又は２記載のバーコード読取装置。
【請求項５】
バーコードの判別に失敗した場合、エレメントの逆方向の配列順に基づいて同一の判別処理を実行することを特徴とする請求項１乃至４の何れかに記載のバーコード読取装置。
【請求項６】
隣接する２つのエレメントが夫々３種類以上の幅値を有し、１キャラクタが６エレメント以上で構成されるバーコードを読取るためのバーコード判別方法であって、
２以上で且つ１キャラクタを構成するエレメントの数よりも少ない数のエレメントの連続した組み合わせをデコード用のサブセットと定義し、
１キャラクタ中において、前記サブセットを所定のエレメント数だけずらしながら複数設定し、
各サブセットに属するエレメントの幅値の合計を求め、
前記合計値の比に基づいて前記１キャラクタの判別を行なうことを特徴とするバーコード判別方法。
【請求項７】
前記バーコードは、
隣接する２つのエレメントが夫々４種類の幅値を有し、
１キャラクタが６エレメントで構成され、
前記サブセットは４エレメントで構成されると共に、１エレメントずつずらして設定されることを特徴とする請求項６記載のバーコード判別方法。
【請求項８】
前記合計値の比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの幅値を夫々判定し、それらのエレメントの配列に基づいてキャラクタの判別を行なうことを特徴とする請求項６又は７記載のバーコード判別方法。
【請求項９】
前記合計値の比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの内、隣接する２つ毎に対を設定し、各対をなすエレメントの幅値の合計を求め、それらの合計値の比に基づいてキャラクタの判別を行なうことを特徴とする請求項６又は７記載のバーコード判別方法。
【請求項１０】
バーコードの判別に失敗した場合、エレメントの逆方向の配列順に基づいて同一の判別処理を実行することを特徴とする請求項６乃至９の何れかに記載のバーコード判別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、隣接する２つのエレメントが夫々３種類以上の幅値を有し、１キャラクタが６エレメント以上で構成されるバーコードを読取るための、バーコード読取装置及びバーコード判別方法に関する。
【背景技術】
【０００２】
図７は、バーコードの１種であるＣＯＤＥ１２８の一例を示すものである。ＣＯＤＥ１２８は、隣接する２つのエレメントであるバー，スペースが夫々４種類の幅値を有し、１キャラクタを３つのバーと３つのスペースよりなる１１モジュール（単位幅寸法）で表現する。また、スタートコードが３種類有り、各スタートコードと１０３種類のコードパターンとの対応によってアスキー１２８文字を表現可能であることから、ＣＯＤＥ１２８と称されている。また、スタートコードＣについては１キャラクタで２桁の数字を表現できるため、バーコードの印字密度を高めることが可能となっている。更に、バー，スペース夫々に用いるモジュール数の和は偶数パリティ，奇数パリティとなっており、エラーチェック機能も備えている。
【０００３】
そして、特許文献１には、ＣＯＤＥ１２８のように隣接するエレメントが夫々４種類以下の幅値を有するバーコードについて、読取り器による走査速度に制限がなく、エレメントの幅に多少の増減が合ったとしても正確にコードを認識するための方法が開示されている。
【特許文献１】特公平７−６２８５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、近年、バーコードのサイズについてはより小さなものが要求されている。バーコードのサイズをより小さくすると、印刷の「にじみ」等に起因するバー，スペースの太り細りが発生した場合にはその影響が大きくなり、バー，スペースの幅を正確に特定できなくなってしまう。即ち、バーコードの読取り誤りが発生し易くなるという問題がある。また、バーコードは光学的に読取られるため、その読取り角度が傾斜していたり、或いはバーコードの設置面が平面となっていないような場合は、バーやスペースの幅が読取り方向において次第に太くなったり、或いは細くなる状態で読取られてしまうことも想定される。
【０００５】
特許文献１に開示されている方法では、バー，スペースの幅を特定するために、以下のような手順によっている。バーコードを走査し、バー，スペースの各領域幅に相当する値を計数値として記憶し、各計数値に基づき１キャラクタ毎の合計値を算出する。それから、合計値と各計数値との商を求めて算出値とすると、その算出値と第一，第二，第三比較値とを比較した大小関係に従って各バー，スペースの幅値、即ち二進値を判定する。ここで、第一，第二，第三比較値は、以下のように設定される。
【０００６】
＜第一比較値＞
合計値と１モジュール分のバー又はスペースの計数値との商と２モジュール分のバー又はスペースの計数値との商との略中間値。
＜第二比較値＞
合計値と２モジュール分のバー又はスペースの計数値との商と３モジュール分のバー又はスペースの計数値との商との略中間値。
＜第三比較値＞
合計値と３モジュール分のバー又はスペースの計数値との商と４モジュール分のバー又はスペースの計数値との商との略中間値。
即ち、これらの比較値は、バー，スペースの各領域幅に相当する計数値の総和である合計値と、１〜４モジュール分の計数値とに基づいて設定されている。
【０００７】
そして、上述したように、バーコードが湾曲面上に印刷されていたり、バーコードの印刷面に対して読取装置を傾けて読取り操作を行った等の理由により、バーやスペースの幅が読取り方向において次第に変化する状態で読取られてしまう場合、特許文献１で説明されている１キャラクタの構成がバー，スペース４本、合計幅が７モジュールのように、本数や合計幅が比較的小さいバーコード体系では、各バー，スペース夫々の計数値が変動してもその影響が顕著に現れにくい。
【０００８】
ところが、ＣＯＤＥ１２８のように、構成本数が６本で合計幅が１１モジュールであるようなバーコード体系や、構成本数や合計幅がそれ以上となるような体系では、それら個別の計数値の和に基づいて判定される幅値に誤りが生じ易くなることが想定される。
本発明は上記事情に鑑みて成されたものであり、その目的は、バーコードの読み取り誤りをより発生し難くすることができるバーコード読取装置、及びバーコードの判別方法を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載のバーコード読取装置によれば、２以上で且つ１キャラクタを構成するエレメントの数よりも少ない数の連続したエレメントの組み合わせをデコード用のサブセットと定義する。そして、１キャラクタ中において、サブセットを所定のエレメント数だけずらしながら複数設定し、各サブセットに属するエレメントの幅値の合計を求め、各合計値の比に基づいて１キャラクタの判別を行なう。
【００１０】
即ち、バーコードにおけるキャラクタは複数のエレメントの配列によって定義されるので、それらのエレメントの連続した組み合わせを複数設定すれば、キャラクタは、その組み合わせの幅値がなす比で特定できる。従って、１キャラクタ中において読み取られるエレメントの幅が様々な要因によって変動する場合でも、サブセットの幅値を比較評価することでその変動を吸収することができるので、従来技術に比較して、読み取りの信頼性を向上させることが可能となる。
【００１１】
請求項２記載のバーコード読取装置によれば、隣接する２つのエレメントが夫々４種類の幅値を有し、１キャラクタが６エレメントで構成され、サブセットは４エレメントで構成されると共に、１エレメントずつずらして設定されるバーコードを読取り対象とするので、ＣＯＤＥ１２８と同様の規格よりなるバーコードの読み取り信頼性を向上させることができる。
【００１２】
請求項３記載のバーコード読取装置によれば、合計値の比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの幅値を夫々判定し、それらのエレメントの配列に基づいてキャラクタを判別する。即ち、バーコードの仕様によっては、サブセットの幅比の組み合わせが複数のキャラクタに対応する場合も考えられる。そのような場合でも、夫々のキャラクタ候補が有するエレメントの幅値を個別に判定すれば、キャラクタを確実に特定することができる。
【００１３】
請求項４記載のバーコード読取装置によれば、合計値の比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの内、隣接する２つ毎に対を設定し、各対をなすエレメントの幅値の合計を求め、それらの合計値の比に基づいてキャラクタを判別する。斯様な方式による場合も、請求項３と同様にキャラクタを確実に特定することができる。
【００１４】
請求項５記載のバーコード読取装置によれば、バーコードの判別に失敗した場合は、エレメントの逆方向の配列順に基づいて同一の判別処理を実行するので、単に最初のバーコードの読み取りが逆方向で行われた場合に、読取り失敗として処理されることを回避できる。
【発明を実施するための最良の形態】
【００１５】
（第１実施例）
以下、本発明を４値幅バーコードであるＣＯＤＥ１２８に適用した場合の第１実施例について図１乃至図４を参照して説明する。図４は周知であるバーコードの読取装置１０の電気的構成を示している。この読取装置１０は、例えば手持ち式や定置式のものがあり、それぞれ共通して光学的な読取部とデータ処理部とから構成されている。光学的な読取部としては、読取対象となるバーコード１が記録されたシートなどの記録面Ｄに対して照明光を複数の方向から投光するＬＥＤ１１、１２と記録面Ｄの画像を撮影するためのレンズ１３およびＣＣＤ（Charge Coupled Device）撮像素子１４とが設けられている。
【００１６】
内部の全体の制御は制御部１５により行われる。制御部１５は、ＣＰＵを主体として内部メモリやインターフェースなどが設けられていると共に、読取処理のプログラムが記憶されている。上述したＣＣＤ撮像素子１４の出力端子は、増幅回路１６、Ａ／Ｄ変換回路１７を介してメモリ１８に接続されている。加えて、Ａ／Ｄ変換回路１７の出力端子は、二値化回路１９を介してメモリ１８に接続されている。
【００１７】
ＣＣＤ撮像素子１４により撮影された画像信号は、アナログ的に増幅回路１６にて増幅され、Ａ／Ｄ変換回路１７を経てデジタル信号に変換され、二値化された画像データとしてメモリ１８に記憶される。
ＣＣＤ撮像素子１４、特定比検出回路１９は同期信号発生回路２０から同期信号が与えられるようになっている。同期信号発生回路２０は、アドレス発生回路２１にも同期信号を与えるようになっており、メモリ１８にアドレス信号を与える。ＬＥＤ１１，１２、増幅回路１６、Ａ／Ｄ変換回路１７、特定比検出回路１９メモリ１８および同期信号発生回路２０は、制御部１５から制御信号が与えられると共に情報の授受をおこなうように構成されている。
読取装置１０には、各種の操作入力を行うための操作スイッチ２２が設けられており制御部１５により入力が受け付けられる。また、制御部１５には、制御状態の表示や報知動作をするためのＬＥＤ２３、ブザー２４、液晶表示器２５などが配設されている。さらに、外部の機器との通信を行うための通信インターフェイス２６が接続されている。
【００１８】
図１は、ＣＯＤＥ１２８の一パターン例を示すものであり、４キャラクタで「スタートＣ」，「１２」，「１４（チェックコード：ＣＨＫ）」，「ストップ」を示している。夫々がエレメントであるバー，スペースは、隣接して交互に配置されている。そして、各キャラクタのエレメントパターン（Ｂはバー，Ｓはスペースである）は、以下のように定義されている。尚、エレメントパターンの数値は、バー又はスペースの幅値である。
キャラクタ      ＢＳＢＳＢＳＢ
スタートＣ      ２１１２３２
１２      １１２２３２
１４      １２２２３１
ストップ      ２３３１１１２
ここで、キャラクタ「スタートＣ」を構成する第１〜第６エレメントについて、先頭から４つのエレメント（１，２，３，４）を含む群をデコード用のサブセットａと定義する。そして、サブセットａを１エレメント分ずらした４つのエレメント（２，３，４，５）を含む群をサブセットｂと定義し、更に、サブセットｂを１エレメント分ずらした４つのエレメント（３，４，５，６）を含む群をサブセットｃと定義する。すると、各サブセットａ〜ｃに含まれるエレメントの幅値の合計は、以下のようになる。
サブセットａ：２＋１＋１＋２＝６
サブセットｂ：１＋１＋２＋３＝７
サブセットｃ：１＋２＋３＋２＝８
従って、サブセットａ，ｂ，ｃを構成するエレメント幅値の合計比は、６：７：８となっており、その比によってキャラクタ「スタートＣ」若しくはキャラクタ「０３」の何れであることを特定することができる。そして、パターンの最初に位置するキャラクタ（スタートキャラクタ）という特徴から、「スタートＣ」と特定することができる。
【００１９】
同様にして、他のキャラクタ「１２」，「１４」，「ストップ」についても、サブセットａ，ｂ，ｃを構成するエレメント幅値の合計比を求めると、以下のようになる（図1(ｂ）参照）。
キャラクタ    ａ：ｂ：ｃ
１２    ６：８：９
１４    ７：９：８
ストップ    ９：８：６
以上のようにして、ＣＯＤＥ１２８における全てのエレメントパターンについてサブセットａ，ｂ，ｃを構成するエレメント幅値の合計比を求め、一覧としたものを図２に示す。しかしながら、斯様な合計比にキャラクタを対応させると、最大で４つまで重複が発生する。従って、その部分については、それらの内何れのキャラクタに対応するのかを別途特定する必要がある。尚、読取装置１０の制御部１５は、内蔵されている図示しないメモリに、図２の一覧をデータテーブルとして記憶している。
【００２０】
次に、本実施例の作用について図３をも参照して説明する。図３は、読取装置１０の制御部１５を中心として行われるバーコード読取り処理の制御内容を示すフローチャートである。但し、ステップＳ１〜Ｓ６は一般的な読取り処理である。即ち、読取装置１０は、ＣＣＤ撮像素子１４により撮影された画像データをＡ／Ｄ変換回路１７を介してメモリ１８に取り込む（ステップＳ１）と、画像データの明レベル，暗レベルを検出し（ステップＳ２）、画像データを明，暗に二値化するためのしきい値を決定すると（ステップＳ３）、そのしきい値を用いて画像データを二値化する（ステップＳ４）。そして、メモリ１８に取り込まれた画像データを明（スペース），暗（バー）のパターンデータに変換する（ステップＳ５）。
尚、二値化回路１９を使用する場合、ステップＳ２〜Ｓ４の処理は二値化回路１９によってハード的に実行され、メモリ１８には、最初から二値化された画像データが書き込まれることになる。
【００２１】
続いて、制御部１５は、明暗パターンデータをＮキャラクタ分のキャラクタ候補に区切ると（ステップＳ６）、キャラクタ数をカウントするためのカウンタｎを「１」に初期化する（ステップＳ７）。そして、第ｎ（この場合、最初）のキャラクタについて、バー３本，スペース３本よりなる６エレメントの幅値の和を求め、その和を１キャラクタの総エレメント数である「１１」で除して、基本最小エレメント幅「１」を決定する（ステップＳ８）。
【００２２】
次に、制御部１５は、第ｎキャラクタ候補についてデコード用のサブセットａ，ｂ，ｃを設定する（ステップＳ９）。即ち、上述したように、第ｎキャラクタ候補を構成する第１〜第６エレメントについて、第１〜第４エレメントを含む群をサブセットａ，第２〜第５エレメントを含む群をサブセットｂ，第３〜第６エレメントを含む群をサブセットｃとする。それから、各サブセットａ，ｂ，ｃ夫々のエレメント幅の合計を基本最小エレメント幅に基づいて測定し、整数に丸める処理を行ない、ａ：ｂ：ｃの比を求める（ステップＳ１０）。
【００２３】
次に、制御部１５は、図２に示すデータテーブル（データテーブル１）を参照し、ステップＳ１０で得た比ａ：ｂ：ｃのパターンが、データテーブル中の何れのキャラクタ候補に該当するかを決定する（ステップＳ１１）。ここで、該当するキャラクタ候補が１つだけであれば（ステップＳ１２，「ＮＯ」）その時点でキャラクタは確定するので、カウンタｎが全キャラクタ数に一致したか否かを判断する（ステップＳ１３）。ステップＳ１３において、両者が一致しなければ（「ＮＯ」）カウンタｎをインクリメントして（ステップＳ１４）ステップＳ８に戻り、両者が一致すれば（「ＹＥＳ」）処理を終了する。
【００２４】
一方、ステップＳ１２において、ステップＳ１０で得た比ａ：ｂ：ｃのパターンに該当するキャラクタ候補が複数ある場合（「ＹＥＳ」）、制御部１５は、それらの候補の中からキャラクタを特定する。即ち、サブセットａ，ｂ，ｃ夫々について明暗パターンの幅比を決定し、その明暗パターンに該当するのは何れのキャラクタ候補かを判定する（ステップＳ１５）。
【００２５】
例えば、キャラクタ「ストップ」は、明暗パターンが「２３３１１１（２）」であり、サブセットａ：ｂ：ｃの幅比は９：８：６であるが、図２を参照すると、この幅比のパターンはキャラクタ「４１」にも該当する。即ち、キャラクタ「４１」の明暗パターンは、「２３１３１１」であるから、
サブセットａ：２＋３＋１＋３＝９
サブセットｂ：３＋１＋３＋１＝８
サブセットｃ：１＋３＋１＋１＝６
となっている。
【００２６】
この場合、サブセットａの明暗パターンを比較すれば、
「ストップ」：２３１１
「４１」：２３１３
であるから、何れか一方を特定することが可能となる。従って、制御部１５は、ＣＯＤＥ１２８のコード表（データテーブル２）を参照して、第ｎキャラクタの候補の内、明暗パターンに該当するキャラクタを特定する（ステップＳ１６）。「ストップ」，「４１」の場合は、サブセットａのパターンのみの比較で特定が可能であるが、当該パターンが同一で区別できない組み合わせの場合は、サブセットｂ，ｃについて同様に比較を行なってキャラクタを特定する。それから、ステップＳ１３に戻る。また、制御部１５は、図２に示すテーブルの内少なくともキャラクタ候補が２以上となるものについてのみ、ＣＯＤＥ１２８のコード表データを保持していれば良い。
【００２７】
以上のように本実施例によれば、読取装置１０は、バーコード１であるＣＯＤＥ１２８の１キャラクタ中において、連続する４つのエレメントよりなるデコード用のサブセットを１エレメント数だけずらしながら３つ設定し、各サブセットａ，ｂ，ｃに属するエレメントの幅値の合計を求め、各合計値の比に基づいて１キャラクタの判別を行なうようにした。
【００２８】
従って、１キャラクタ中において読み取られるエレメントの幅が様々な要因によって変動する場合でも、サブセットの幅値を比較評価することでその変動を吸収することができる。また、１キャラクタにおいて３つのサブセットにつき夫々の幅比を整数値に丸めて判定を行うから、丸め誤差が生じる可能性もより低くなる。故に、従来技術に比較して、読み取りの信頼性を向上させることが可能となる。
また、読取装置１０は、サブセットの幅比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの幅値を夫々判定し、それらのエレメントの配列に基づいてキャラクタを判別するので、キャラクタを確実に特定することができる。
【００２９】
（第２実施例）
図５は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第２実施例は、第１実施例における図３に示すフローチャートのステップＳ１５の処理を異なる方法で実行するものである。
【００３０】
即ち、図５に示すように、バーコード１の１キャラクタを構成するエレメントの内、隣接する２つ（バー，スペース）毎に対を設定する。そして、各対をなすエレメントの幅値の合計を求める。キャラクタ「スタートＣ」の場合、３（２＋１）：３（１＋２）：５（３＋２）となる。一方、キャラクタ「４１」については、５（２＋３）：４（１＋３）：２（１＋１）となる。従って、キャラクタ候補の幅比が何れの比に一致するかを比較判定すれば、該当するキャラクタを特定することができる。
【００３１】
以上のように第２実施例によれば、制御装置１０の制御部１５は、サブセットの幅比に対応するキャラクタが複数存在する場合、当該キャラクタを構成するエレメントの内、隣接する２つ毎に対を設定し、各対をなすエレメントの幅値の合計を求め、それらの合計値の比に基づいてキャラクタを判別する。従って、第１実施例と同様にキャラクタを確実に特定することができる。
【００３２】
（第３実施例）
図６は本発明の第３実施例を示すものであり、第１実施例と異なる部分についてのみ説明する。第３実施例は、バーコード１が正常に読み込めなかった場合の処理を示す。図６は、図３のフローチャートの一部分に対応するものである。制御部１５は、ステップＳ１２を実行した結果「ＮＯ」と判断すると、キャラクタ候補に該当するものがなかったか否かを判断する（ステップＳ２０）。そして、キャラクタ候補に該当するものが１つ存在すればここでも「ＮＯ」と判断するので、後述する逆方向フラグをリセットする処理を行った後（ステップＳ２１）ステップＳ１３に移行する。
【００３３】
また、ステップＳ２０において、キャラクタ候補に該当するものがなかった場合（「ＹＥＳ」）、制御部１５は、逆方向フラグがセットされているか否かを判断する（ステップＳ２２）。セットされていなければ（「ＮＯ」）、ステップＳ９の処理に代えて、デコード用のサブセットを逆方向について設定する（ステップＳ２３）。
例えば、キャラクタ「ストップ」のパターンは「２３３１１１２」であるが、これを読取装置１０が逆方向に読み込んだ場合に、ステップＳ９にてサブセットを設定すると、以下のようになる。
サブセットａ：２＋１＋１＋１＝５
サブセットｂ：１＋１＋１＋３＝６
サブセットｃ：１＋１＋３＋３＝８
すると、この場合のサブセットの幅比５：６：８は、キャラクタ「６５」に該当するが、最初のキャラクタが「スタートＡ〜Ｃ」の何れでもないのは明らかに異常であるから、このようなケースでは、バーコード１を逆方向から読取ったことが想定される。従って、制御部１５は、読取った明暗パターンについてサブセットを逆方向で設定し、逆方向フラグをワークエリアのフラグ格納領域にセットして（ステップＳ２４）、ステップＳ１０に移行する。
【００３４】
そして、単にバーコード１を逆方向から読取っただけであれば、次回はステップＳ１２で「ＹＥＳ」若しくはステップＳ２０で「ＮＯ」と判断されることになる。一方、次回においても該当するキャラクタ候補がなく、ステップＳ２０で再び（「ＹＥＳ」）と判断した場合、今度は逆方向フラグがセットされているので、ステップＳ２２でも「ＹＥＳ」と判断することになる。この場合、読取ったものは本来の読取り対象のバーコード１ではないことが想定されるので、その旨を報知するエラー報知処理を行ない（ステップＳ２５）処理を終了する。
【００３５】
以上のように第３実施例によれば、読取装置１０の制御部１５は、バーコード１の判別に失敗した場合は、エレメントの逆方向の配列順に基づいて同一の判別処理を実行するので、単に最初のバーコード１の読み取りが逆方向で行われた場合は、読取り失敗として処理されることを回避できる。
【００３６】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
バーコードは、ＣＯＤＥ１２８に限ることなく、隣接する２つのエレメントが夫々３種類以上の幅値を有し、１キャラクタが６エレメント以上で構成されるバーコードであれば適用が可能である。
サブセットの幅比とキャラクタとが全て１対１で対応する場合、ステップＳ１２，Ｓ１５，Ｓ１６の処理は不要である。
サブセットを設定する場合、１キャラクタを構成する総エレメント数によっては、エレメントを２以上ずらしても良い。
【図面の簡単な説明】
【００３７】
【図１】本発明をＣＯＤＥ１２８に適用した場合の第１実施例であり、ＣＯＤＥ１２８の一パターン例と、デコード用サブセットの設定例とを示す図
【図２】サブセットの幅比とキャラクタ候補との対応関係を示すデータテーブル
【図３】読取装置の制御部を中心として行われるバーコード読取り処理の制御内容を示すフローチャート
【図４】バーコード読取装置の電気的構成を示す図
【図５】本発明の第２実施例を示す図１相当図
【図６】本発明の第３実施例を示す図３の一部相当図
【図７】ＣＯＤＥ１２８のバーコードの一例を示す図
【符号の説明】
【００３８】
図面中、１はバーコード、１０は読取装置を示す。
【図１】
2005128626.tif 000003
【図２】
2005128626.tif 000004
【図３】
2005128626.tif 000005
【図４】
2005128626.tif 000006
【図５】
2005128626.tif 000007
【図６】
2005128626.tif 000008
【図７】
2005128626.tif 000009