【事件の表示】
　特許第２６８２５３３号「走査装置およびコード読取方法」の請求項１−５、８、９、１６、１７、２０、２２−２４、２７、２８に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第２６８２５３３号の請求項１−５、８、９、１６、１７、２０、２２−２４、２７、２８に係る特許を維持する。
【理　由】
１．手続きの経緯
　本件特許第２６８２５３３号の発明は、平成１年８月２５日（優先権主張１９８８年８月２６日）に特許出願され、平成９年８月８日にその特許の設定登録がなされ、その後、中村剛也より特許異議の申立てがなされ、取消理由通知がなされ、その指定期間内である平成１２年４月１３日に訂正請求がなされたものである。
２．訂正の適否についての判断
（１）訂正の要旨
・訂正事項１
　特許請求の範囲の請求項１における記載「前記コードを反復して走査し」を「前記コード上で光ビームを移動することにより前記コードを反復して走査し」と訂正する。
・訂正事項２
　特許請求の範囲の請求項１における記載「前記コードの少なくとも複数の断片に対応し且つ夫々複数のデータビットを有する反復走査信号を出力する走査手段」を「この走査に応じて反復走査信号を出力する走査手段にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである走査手段」と訂正する。
　同様に、請求項２３における記載「前記コードの少なくとも複数の断片に対応し且つ夫々複数のデータビットを有する反復走査信号を出力する段階」を「この走査に応じて反復走査信号を出力する段階にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである段階」と訂正する。
・訂正事項３
　特許請求の範囲の請求項１における記載「前記コードの少なくとも２つの断片に夫々対応する少なくとも２つの走査信号」を「前記コードの少なくとも２つの断片に夫々対応するところの、前記データ手段からの少なくとも２つの走査信号」と訂正する。
・訂正事項４
　特許請求の範囲の請求項１２における記載「請求項１２に記載の走査装置。」を「請求項１１に記載の走査装置。」と訂正する。
・訂正事項５
　特許請求の範囲の請求項１４における記載「前記第１レジスタ、第２レジスタ、第３レジスタは、第１レジスタ、第２レジスタから第２レジスタ、第３レジスタへそれぞれデータをシフトさせ」を「前記第１レジスタ、第２レジスタ、第３レジスタは、第１レジスタ、第２レジスタから第２レジスタ、第３レジスタへそれぞれデータがシフトされるように連結され」と訂正する。
・訂正事項６
　発明の詳細な説明の産業上の利用分野の項における記載「装置及び方法に関する。」（特許公報第４頁左欄第４０行−４３行）を「装置及び方法に関する。ここに前記断片は、前記コードの一部から成る。」と訂正する。
（２）訂正の目的の適否、新規事項の有無及び拡張・変更の存否
　上記訂正事項１、２、３は、特許請求の範囲の減縮に該当し、上記訂正事項４は誤記の訂正に該当し、上記訂正事項５、６は明りょうでない記載の釈明に該当する。そして、上記各訂正事項は、新規事項の追加に該当せず、実質的に特許請求の範囲を拡張又は変更するものではない。
（３）独立特許要件の判断
（３.１）特許法第３６条第４項及び第５，６項に規定する要件の適否
　当審が、特許法第３６条第４項及び第５，６項に規定する要件を満たしていないとして平成１２年４月４日付け取消理由通知で示した理由に対し、請求人は明細書の訂正を請求し、その結果、上記取消理由で指摘した明細書の不明りょうな点は解消した。
（３.２）請求項１−５、８、９、１６、１７、２０、２２に係る発明
　訂正明細書の請求項１−５、８、９、１６、１７、２０、２２に係る発明は、該明細書の特許請求の範囲のそれぞれの請求項に記載されたとおりものであり、請求項１に係る発明は、
「複数種類の幅を有する複数コード要素を備えた機械可読コードを読み取る走査装置にして；
　前記コード上で光ビームを移動することにより前記コードを反復して走査し、この走査に応じて反復走査信号を出力する走査手段にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである走査手段と；
　前記走査手段に接続され、前記各断片の走査信号のデータビットの数が所定の値を越えるとき前記複数の断片に対応する反復走査信号を格納するデータ手段；
　前記コードの少なくとも２つの断片に夫々対応するところの、前記データ手段からの少なくとも２つの走査信号における重なり合う箇所を検出し、かつ、この検出結果に基づいて当該少なくとも２つの走査信号を相互に結合することにより、前記コードの少なくとも一部に対応する走査信号を再構成する重ね合わせ手段と；
　を備える走査装置であって、
　前記重ね合わせ手段は、前記機械可読コードの２つの断片に対応する２つの走査信号の少なくとも一方を他方に対しシフトさせ、かつ、前記機械可読コードの２つの断片の複数のコード要素の幅に対応する信号値を相互に比較することにより、前記２つの断片に対応する２つの走査信号の重なり合う箇所を検出することを特徴とする走査装置。」である。
（３.３）請求項２３、２４、２７、２８に係る発明
　訂正明細書の請求項２３、２４、２７、２８に係る発明は、該明細書の特許請求の範囲のそれぞれの請求項に記載されたとおりものであり、請求項２３に係る発明は、
「複数種類の幅を有するバーと複数種類の幅を有するスペースとを備えた機械可読コードを読み取る方法にして、
　前記コード上で光ビームを移動せしめることにより前記コードを反復して走査し、この走査に応じて反復走査信号を出力する段階にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである段階と、
　前記各断片の走査信号のデータビットの数が所定の値を越えるとき、前記複数の断片に対応する反復走査信号を格納する段階と、
　前記コードの少なくとも２つの断片に夫々対応する少なくとも２つの走査信号における重なり合う箇所を検出し、かつ、この検出結果に基づいて当該少なくとも２つの走査信号を相互に結合することにより前記コードの少なくとも一部に対応する走査信号を再構成する段階と、を備える方法であって、
　前記２つの断片に対応する２つの走査信号の重なり合う箇所は、前記機械可読コードの２つの断片に対応する２つの走査信号の少なくとも一方を他方に対してシフトさせ、かつ、前記機械可読コードの２つの断片のバー及びスペースの幅に対応する信号値を相互に比較することにより検出することを特徴とする方法。」である。
（３.４）特許法第２９条第２項に規定する要件の適否
（取消理由の概要）
　当審が平成１１年３月１日付けで通知した取消理由の概要は次のとおりである。
「請求項１に係る発明は刊行物１、２、に記載された発明、　請求項２に係る発明は刊行物１、２、３、４に記載された発明、請求項３に係る発明は刊行物１、２、３に記載された発明、請求項４に係る発明は刊行物１、２、３、４に記載された発明、請求項５に係る発明は刊行物１、２に記載された発明、請求項８に係る発明は刊行物１、２に記載された発明、請求項９に係る発明は刊行物１、２に記載された発明、請求項１６に係る発明は刊行物１、２、３、４、に記載された発明、請求項１７に係る発明は刊行物１、２、４に記載された発明、請求項２０に係る発明は刊行物１、２に記載された発明、請求項２２に係る発明は刊行物１、２、５、６に記載された発明、に基づいていずれも当業者が容易に発明をするとことができたものと認められ、また、請求項２３に係る発明は刊行物１、２、に記載された発明、請求項２４に係る発明は刊行物１、２、３、４に記載された発明、請求項２７に係る発明は刊行物１、２に記載された発明、請求項２８に係る発明は刊行物１、２に記載された発明、に基づいていずれも当業者が容易に発明するとことができたものと認める。
　よって、本件請求項１−５、８，９、１６、１７、２０、２２−２４、２７、２８に係る特許は、特許法第２９条第２項の規定に違反してされたものである。」
（引用刊行物の発明）
・刊行物１（特開昭５３−５８７２７号公報）
　静止光源を照射してバーコードの光像を複数の光電素子の受光部を等間隔に配列したダイオードアレイ上に結像させ、該ダイオードアレイ上の走査によってバーコード情報を読み取る情報読取装置であって、バーコードを前記ダイオードアレイ方向に合わせた状態で移動させ、順次新データをその前回データと比較して前回データと一致したことに基づいて新しく現れたた部分のデータを出力用シフトレジスタに与え、それを順次繰り返して全体のバーコード情報を前記出力用シフトレジスタ入力するようにした情報読取装置。
・刊行物２（特開昭６２−３１４８５号報）
　バーコードが表示された面を走査することによってバーコード認識を行うバーコード読取装置において、走査器と、前記走査器の出力を受けパルス幅を計数する計数回路と、前記計数回路の出力を受け前記バーコードを構成する隣り合った白バーと黒バーの幅の変化率の連続性を検知する検知器とを具備し、前記検知器の出力に応じて前記計数回路の出力からバーコードに対応する計数出力を抽出する構成とすることにより、的確なバーコード信号の抽出及びバーコード信号以外の雑音の混在率の低減を達成するようにしたバーコード読取装置。
・刊行物３（特開昭６３−１４２９０号公報）
　バーコードに対し、ホログラムを用いてＸ字状パターンで光ビームを走査し、その反射光を受光してバーコード情報を読み取る光学記号読取装置。
・刊行物４（特開昭６２−１２１５８３号公報）
　光ビームを作る光源と、光ビームを、Ｘ字形パターンでバーコード上を移動させる偏向手段を備えたバーコード読取装置。
・刊行物５（特開昭６１−２１０４８４号公報）
　読取装置からバーコード票までの距離を計測する計測装置と、該計測手段の出力により光ビームの焦点調節を行う焦点調節装置とを備えた光学記号読取装置。
・刊行物６（実願昭６０−８６４８１号（実開昭６１−２０４２７７号）の明細書及び図面の内容を撮影したマイクロフィルム）
　読取装置からバーコード票までの距離を計測する計測装置と、該計測手段の出力により光ビームの焦点調節を行う焦点調節装置とを備えた光学記号読取装置。
（対比、判断）
・請求項１に係る発明について
　訂正後の請求項１に係る発明（以下「訂正第１発明」という。）と刊行物１、２に記載のものとを対比すると、訂正第１発明は、
（イ）複数種類の幅を有する複数コード要素を備えた機械可読コードすなわちバーコード上で光ビームを移動することによりバーコードを反復して走査し、この走査に応じてバーコードの一部である断片に対応したデータを表す複数のビットである走査信号（以下、「断片走査信号」）を出力する走査手段、
（ロ）前記走査手段に接続され、前記各断片走査信号のデータビットの数が所定の値を越えるとき前記複数の断片に対応する反復断片走査信号を格納するデータ手段、
（ハ）前記バーコードの複数の断片に夫々対応するところの、前記データ手段からの複数の断片走査信号における重なり合う箇所を検出し、かつ、この検出結果に基づいて当該複数の断片走査信号を相互に結合することにより、バーコードの少なくとも一部に対応する断片走査信号を再構成する重ね合わせ手段、
を発明の必須の構成要件としているが、上記刊行物１，２には、これらの構成要件については何ら記載されていないし、また示唆もされていない。
　すなわち、刊行物１に記載のものは、移動するバーコードに静止光源の光を照射してバーコードの光像をダイオードアレイ上に結像させ、そのダイオードアレイを電気的に反復走査してバーコード情報を読み出す形式であるという点で、バーコード上で光ビームを移動することによりバーコード情報を読み出す形式の訂正第１発明とは走査の対象が異なっており、また、訂正第１発明の場合、バーコードの一部分である断片に対応した断片走査信号は、バーコード上を走査する光ビームの走査方向がバーコード向きに対し傾斜していて光ビームがコード全体を横切らないことにより生成されるものであり、そのような断片走査信号を結合して再構成するものであるが、刊行物１に記載のものは、バーコードの移動にあたっては、バーコードの向きをダイオードアレイの素子配列方向に合わせて行うことが前提となっており、かつ、前回の走査と今回の走査との間でバーコードはダイオードアレイに対して微少な距離しか移動ぜず、その移動によるデータ列の変化が、頭又は尾のいずれに「１」又は「０」のデータが増加したか否かを検出し、新たに検出された新データを移動方向情報にもとずいてパルスの頭又は尾の付加すべき側に付加しつつ、大容量の出力用シフトレジスタに全データをセットし、バーコード全体の情報をレジストするものであることから、上記の“データ列”は本件発明における“断片走査信号”とは質的に異なったものであって訂正第１発明のように複数の断片走査信号を結合して再構成しているものとはいえず、したがって、刊行物１に記載のものには訂正第１発明の上記構成要件（イ）、（ロ）、（ハ）に相当するものは存在していない。
　刊行物２に記載の発明は、バーコードが表示された面を走査することによってバーコード認識を行うバーコード読取装置において、走査器から得られる電気信号の中からバーコード上を走査している時に得られる電気信号、つまりバーコード信号と、バーコード以外の紙面上を走査している時に得られる電気信号つまり雑音とを弁別し、バーコード信号のみを抽出するためのものであり、訂正第１発明と共通するのは、バーコードが表示された面を走査することによってバーコード認識を行う点のみであり、上記構成要件（イ）、（ロ）、（ハ）についての記載はなく、示唆すらもない。
　そして、訂正第１発明は、上記の構成要件（イ）、（ロ）、（ハ）を備えていることにより本件訂正明細書に記載されているように「本願発明における走査片からバーコードを構成する手段或いは方法はデータ文字の最小数が走査される必要はあるが、この最小数は一般にバーコードの中のデータ文字の総数の半分以下である。」という、当該発明に特有の作用効果を奏するものである。
　したがって、訂正第１発明は、刊行物１、２に記載の発明に基づいて当業者が容易に発明をすることができたものとすることはできない。
・請求項２−５、８、９、１６、１７、２０、２２に係る発明について
　刊行物２−６には訂正第１発明の構成要件である上記（イ）、（ロ）、（ハ）の構成要件に関する記載はなく、示唆もない。そして、請求項２−５、８、９、１６、１７、２０、２２は請求項１を引用する項項であり、これらの請求項に係る発明は、いずれも上記構成要件（イ）、（ロ）、（ハ）を含むものであるから、訂正第１発明の場合と同様に、刊行物１−６に記載された発明から当業者が容易に発明をすることができたものとすることはできない。
・請求項２３に係る発明について
　訂正後の請求項２３に係る発明（以下「訂正第２発明」という。）は、請求項１に係る発明を方法として表現したもので、その技術思想は実質的に同じものと認められ、発明の構成要件として実質的に上記構成要件（イ）、（ロ）、（ハ）に相当するものを備えており、したがって訂正第１発明の場合と同様に、刊行物１、２に記載の発明から容易に発明をすることができたものとすることはできない。
・請求項２４、２７、２８係る発明について
　請求項２４、２７、２８は請求項２３を引用する項であり、訂正第２発明の場合と同様、これらの請求項に係る発明は、刊行物１−６に記載された発明から当業者が容易に発明をすることができたものとすることはできない。
　また、他に本件の上記各請求項に係る各発明について、出願の際独立して特許を受けることができないとする理由は発見しない。
　さらに、上記請求項以外の請求項に係る各発明についても、特許出願の際独立して特許を受けることができないとする理由は発見しない。
　よって、本件訂正後における特許請求の範囲に記載されている事項により構成される各発明は特許出願の際独立して特許を受けることができるものである。
（４）むすび
　以上のとおりであるから、上記訂正請求は、特許法第１２０条の４第２項並びに同条第３項で準用する同法第１２６条第１項ただし書及び第２−３項の規定に適合するので、当該訂正を認める。
３．特許異議の申立てについての判断
　特許異議申立人中村剛也は、証拠として甲第１号証（上記刊行物１）、甲第２号証（上記刊行物２）、甲第３号証（上記刊行物３）、甲第４号証（上記刊行物４）、甲第５号証（上記刊行物５）、甲第６号証（上記刊行物６）を提出し、本件請求項１−５、８、９、１６、１７、２０、２２−２４、２７、２８に係る発明は、上記甲第１号証−甲第６号証刊行物に記載された発明に基づいて当業者が容易に発明をすることができたものであるから、その特許は特許法第２９条第２項の規定に違反してなされたものであり、その特許は取り消されるべきものであると主張している。
　しかしながら、上記２（３.４）で述べたとおり、本件特許の請求項１−５、８、９、１６、１７、２０、２２−２４、２７、２８に係る発明は、上記刊行物に記載された発明に基づいて当業者が容易に発明をすることができものであるとすることはできない。
４．むすび
　以上のとおりであるので、請求項１−５、８、９、１６、１７、２０、２２−２４、２７、２８に係る発明の特許は、異議申立人提出する証拠及び理由によっては取り消すことはできない。
　また、他に本件の上記各請求項に係る発明の特許を取り消すべき理由を発見しない。
　よって、結論のとおり決定する。
【異議決定日】
平成１２年５月２３日（２０００．５．２３）
【訂正の要旨】
（１）訂正の要旨
・訂正事項１
　特許請求の範囲の請求項１における記載「前記コードを反復して走査し」を「前記コード上で光ビームを移動することにより前記コードを反復して走査し」と訂正する。
・訂正事項２
　特許請求の範囲の請求項１における記載「前記コードの少なくとも複数の断片に対応し且つ夫々複数のデータビットを有する反復走査信号を出力する走査手段」を「この走査に応じて反復走査信号を出力する走査手段にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである走査手段」と訂正する。
　同様に、請求項２３における記載「前記コードの少なくとも複数の断片に対応し且つ夫々複数のデータビットを有する反復走査信号を出力する段階」を「この走査に応じて反復走査信号を出力する段階にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである段階」と訂正する。
・訂正事項３
　特許請求の範囲の請求項１における記載「前記コードの少なくとも２つの断片に夫々対応する少なくとも２つの走査信号」を「前記コードの少なくとも２つの断片に夫々対応するところの、前記データ手段からの少なくとも２つの走査信号」と訂正する。
・訂正事項４
　特許請求の範囲の請求項１２における記載「請求項１２に記載の走査装置。」を「請求項１１に記載の走査装置。」と訂正する。
・訂正事項５
　特許請求の範囲の請求項１４における記載「前記第１レジスタ、第２レジスタ、第３レジスタは、第１レジスタ、第２レジスタから第２レジスタ、第３レジスタへそれぞれデータをシフトさせ」を「前記第１レジスタ、第２レジスタ、第３レジスタは、第１レジスタ、第２レジスタから第２レジスタ、第３レジスタへそれぞれデータがシフトされるように連結され」と訂正する。
・訂正事項６
　発明の詳細な説明の産業上の利用分野の項における記載「装置及び方法に関する。」（特許公報第４頁左欄第４０行−４３行）を「装置及び方法に関する。ここに前記断片は、前記コードの一部から成る。」と訂正する。
（５４）【発明の名称】
走査装置およびコード読取方法
（５７）【特許請求の範囲】
（１）複数種類の幅を有する複数のコード要素を備えた機械可読コードを読み取る走査装置にして；
　
前記コード上で光ビームを移動することにより前記コードを反復して走査し、この走査に応じて反復走査信号を出力する走査手段にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである走査手段と
　前記走査手段に接続され、前記各断片の走査信号のデータビットの数が所定の値を越えるとき前記複数の断片に対応する反復走査信号を格納するデータ手段と；
　前記コードの少なくとも２つの断片に夫々対応する
ところの，前記データ手段から
　を備える走査装置であって
　前記重ね合せ手段は、前記機械可読コードの２つの断片に対応する２つの走査信号の少なくとも一方を他方に対してシフトさせ、かつ、前記機械可読コードの２つの断片の複数のコード要素の幅に対応する信号値を相互に比較することにより、前記２つの断片に対応する２つの走査信号の重なりあう箇所を検出することを特徴とする走査装置。
（２）前記走査手段は、光ビームを作る光源と、前記光ビームを、Ｘ字形パターンで前記コード上を移動させる偏向手段と、を具備する請求項１に記載の走査装置。
（３）前記Ｘ字形パターンにおけるビーム移動は、一つの方向に沿って反復してなされ、各反復移動の軌跡は、この軌跡と直交する方向に相互に所定距離だけ離間していることを特徴とする請求項２に記載の走査装置。
（４）前記Ｘ形パターンのずれた反復位置が、三角形の頂点に中心を合わされていることを特徴とする請求項３に記載の走査装置。
（５）前記データ手段は、２つの独立したポートを有し且つデータを転送する共通メモリ手段であって、前記ポートの内の一方は前記走査信号に応答してデータビットを受信し格納すべく前記走査手段に連結されており、前記ポートの内の他方は前記重ね合わせ手段に連結されている共通メモリ手段を含んでいることを特徴とする請求項１に記載の走査装置。
（６）前記コードは、各々が所定の間隔幅を有するコード要素を含む複数の間隔を備えており、
　前記データ手段は、前記走査手段に連結され前記間隔幅の内の最小間隔幅を測定し且つこれを狭幅値として格納する狭手段を備えてなり、
　前記重ね合わせ手段は、前記コードの断片の各々がほぼ同じ狭幅値を有している場合に、前記コード断片をシフトし比較することを特徴とする請求項５に記載の走査装置。
（７）前記データ手段は、前記走査手段に連結される位置手段であって、前記走査手段により測定される間隔の内の最後の有効測定間隔の位置を、前記コードの走査内で検出し且つその位置を走査位置値として格納する位置手段を具備しており、
　前記重ね合わせ手段は、前記コードの前記断片の各々がほぼ同じ走査位置値を有している場合に、各断片をシフトさせて比較することを特徴とする請求項６に記載の走査装置。
（８）前記コードは、所定の間隔幅のバー及びスペースを有する複数の間隔を備えており、
　前記データ手段は、前記複数の間隔の各間隔幅を測定し且つ前記間隔幅の内の最後に測定された間隔幅の、前記間隔幅の内の先の間隔幅に対する割合が、約１、約１／２又は約２であるかを示す離散的割合信号を供給する量子化手段、を具備する請求項１に記載の走査装置。
（９）前記量子化手段は、
　前記先の間隔幅の１倍、１／２倍及び２倍に中心を有する３つの公称値についての所定許容範囲に相当する３対の限界値を、前記最後に測定された間隔幅に対して与えるルックアップ手段と、
　前記ルックアップ手段に連結され、前記最後に測定された間隔幅が、前記３対の限界値によって表された３つの所定許容範囲の内の１つの許容範囲内にある時に、前記３つの公称値の内の１つに対応する離散的な値として前記離散的割合信号を供給する比較手段と、
を具備する請求項８に記載の走査装置。
（１０）前記データ手段は、
　前記比較手段に連結され且つ前記離散的割合信号に応答するパターン手段であって、２種類の複数状態を有しており、前記２種類の複数状態の各々は相互に異なる二進値で始まるビットパターンに対応しており、当該パターン手段は、１以外の値を供給する前記離散的割合信号に応答して、前記２種類の複数状態の内の一方を選択するものと、
　前記２種類の複数状態の内の一つが選択されるところの、決定された最初の二進値とともに前記ビットパターンを格納するレジスタ手段と、
を具備する請求項９に記載の走査装置。
（１１）前記パターン手段は、前記離散的割合信号の最後の１以外の値が直前の１以外の値と同一であるとき、前記ビットパターンを終了させることを特徴とする請求項１０に記載の走査装置。
（１２）前記データ手段は、前記走査手段の走査の数をカウントし且つその数を走査数として格納する走査数手段を具備しており、
　前記重ね合わせ手段は、前記走査数手段に連結され且つ前記走査数を読み出すべく動作可能であることを特徴とする請求項
１１
（１３）前記データ手段は、有効コード断片を作るのに失敗した、前記走査手段の走査数をカウントし且つその数を不良走査数として格納する空手段を具備しており、
　前記重ね合わせ手段は、前記空手段に連結され且つ前記不良走査数を読み出すべく動作可能であることを特徴とする請求項１２に記載の走査装置。
（１４）前記データ手段は、連続的に連結された第１レジスタ、第２レジスタ及び第３レジスタであって、前記第１レジスタ、第２レジスタ、第３レジスタは、第１レジスタ、第２レジスタから第２レジスタ、第３レジスタへそれぞれデータ
がシフトされるように連結され、
　前記量子化手段は、前記第１レジスタ及び前記第３レジスタの状態を比較することによって前記離散的割合信号を与えるべく、少なくとも前記第１レジスタ及び前記第３レジスタに連結されていることを特徴とする請求項８に記載の走査装置。
（１５）前記量子化手段は、前記走査手段の各走査について、前記離散的割合信号が前記量子化手段によって最初に有効に供給される前には、前記第１レジスタの状態と前記第２レジスタの状態とを比較することを特徴とする請求項１４に記載の走査装置。
（１６）前記走査手段は、光ビームを作る光源と、前記光ビームを“Ｘ”字形パターンで前記コードを横切らせる偏向手段と、を具備することを特徴とする請求項１に記載の走査装置。
（１７）前記走査手段は、回転ミラーと、前記回転ミラーの光学面と角度的に隣接して配置されている第１非共平面ミラー対と、を具備することを特徴とする請求項１６に記載の走査装置。
（１８）前記走査手段は、前記第１非共平面ミラー対に対して角度をなして配置された第２、第３非共平面ミラー対を具備しており、前記各非共平面ミラー対の各非共平面ミラーは、前記回転ミラーの光学面と角度的に隣接して配置されていることを特徴とする請求項１７に記載の走査装置。
（１９）前記第１非共平面ミラー対は、前記回転ミラーに面する側に鈍角部を形成すべく配置された第１及び第２の隣接したミラーを具備することを特徴とする請求項１７に記載の走査装置。
（２０）前記データ手段は、
　前記走査手段に連結され、前記走査信号に応答して前記データビットを逐次的に格納するレジスタ手段と、
　前記共通メモリ手段に連結され、前記データビットを格納するための前記共通メモリ手段内の格納位置を指示するアドレス手段と、
　前記アドレス手段に連結され、アドレス手段を指示し且つアドレス手段が指示する位置を変更する状態手段であって、前記状態手段は、前記所定数のデータビットが前記レジスタ手段に有効に格納された後、前記レジスタ手段内の前記データビットを、前記アドレス手段が指示する前記共通メモリ手段内の位置へ転送するものと、
を具備することを特徴とする請求項５に記載の走査装置。
（２１）前記コードは、各々が狭間隔幅又は広間隔幅のいずれか一方を有するバー及びスペースを含む複数の間隔を備えており、
　前記データ手段は、
　前記走査手段に連結され、前記狭間隔幅を測定し且つそれを狭幅値として格納する狭手段と、
　前記走査手段に連結され、前記複数の間隔の内の最後の有効間隔の、前記コードの走査内での位置を測定し且つその位置を走査位置値として格納する位置手段とを備え、
　前記状態手段は、前記狭手段および位置手段に接続され、前記レジスタ手段に入力される一連の有効データビットの終了に応じて、前記アドレス手段が指示する前記共通メモリ内の位置へ前記走査位置値及び前記狭幅値を転送し、
　前記重ね合わせ手段は、前記コードの前記断片の各々がほぼ同じ走査位置値及びほぼ同じ狭幅値を有することを条件として、前記断片をシフトし比較することを特徴とする請求項２０に記載の走査装置。
（２２）物体と前記光源との間の距離を測定し且つ前記距離を指示するゾーン信号を出力するゾーン手段と、
　前記光源に光学的に連結され、前記ゾーン信号に応答して光源からのビームを焦点合せする焦点合せ手段と、
を具備する請求項１６に記載の走査装置。
（２３）複数種類の幅を有するバーと複数種類の幅を有するスペースとを備えた機械可読コードを読み取る方法にして、
　
前記コード上で光ビームを移動せしめることにより
この走査に応じて反復走査信号を出力する段階にして、前記反復走査信号に於ける各走査信号は、前記コードの一部である断片に対応したデータを表す複数のビットである段階と、
　前記各断片の走査信号のデータビットの数が所定の値を越えるとき、前記複数の断片に対応する反復走査信号を格納する段階と、
　前記コードの少なくとも２つの断片に夫々対応する少なくとも２つの走査信号における重なり合う箇所を検出し、かつ、この検出結果に基づいて当該少なくとも２つの走査信号を相互に結合することにより前記コードの少なくとも一部に対応する走査信号を再構成する段階と、
を備える方法であって、
　前記２つの断片に対応する２つの走査信号の重なり合う箇所は、前記機械可読コードの２つの断片に対応する２つの走査信号の少なくとも一方を他方に対してシフトさせ、かつ、前記機械可読コードの２つの断片のバー及びスペースの幅に対応する信号値を相互に比較することにより検出することを特徴とする方法。
（２４）前記コードを走査する段階は、Ｘ字形パターンで前記コードを反復的にトレースすること、によって実行される請求項２３に記載の方法。
（２５）前記コードが、各々が所定間隔幅を有するバー及びスペースを含む複数の間隔を備えており、
　当該方法は、前記間隔幅の内の最小の間隔幅を測定し且つそれを狭幅値として記録する段階、をさらに具備しており、
　前記断片を整列する段階は、ほぼ同じ狭幅値を有する前記コードの断片間で実行される請求項２４に記載の方法。
（２６）前記複数の間隔の内の最後の有効間隔の位置を前記コードの走査内で測定し且つその位置を走査位置値として記録する段階をさらに具備しており、
　前記断片を整列する段階は、ほぼ同じ走査位置値を有している前記コードの断片間で実行される請求項２５に記載の方法。
（２７）前記コードが、狭間隔幅又は広間隔幅のいずれか一方のバー及びスペースを含む、複数の間隔を備えており、
　当該方法は、前記間隔幅の内の最後に測定された間隔幅の、前記間隔幅の内の先の間隔幅に対する割合が約１、約１／２又は約２になる如く、前記間隔の間隔幅が所定範囲内にあるとき、前記間隔の間隔幅を量子化する段階をさらに具備する請求項２３に記載の方法。
（２８）前記量子化段階は、
　前記間隔幅の内の前記先の間隔幅の１倍、１／２倍及び２倍に中心を有する３つの公称値についての所定許容範囲に対応する３対の限界値を、前記間隔幅の内の最後に測定された間隔幅について相関させる段階と、
　前記間隔幅の内の最後に測定された間隔幅が、前記３対の限界値によって表されている３つの所定の許容範囲の内の１つの許容範囲内にあるとき、前記３つの公称値の内の１つに対応する離散的な値を出力する段階と、
を具備する請求項２７に記載の方法。
（２９）前記１以外のいずれかの値に対応する前記離散値に応答して、２つの二進値の内の一方を選択する段階と、
　連続する有効な前記離散値に存在する最初の１以外の値によって決定されるところの、その最初の二進値とともにビットパターンを記録する段階と、
を具備する請求項２８に記載の方法。
（３０）前記ビットパターンを記録する段階は、連続する有効な離散値中の最後の１以外の値が、直前の１以外の値と同一であるとき終了する請求項２９に記載の方法。
（３１）前記間隔の内の最後の３つの有効な間隔の間隔幅に対応する値を記録する段階、をさらに具備し、
　前記量子化段階は、前記間隔の内の最後の間隔と最後から３番目の間隔とを比較することによって実行される請求項２７に記載の方法。
（３２）前記間隔の内の第３の有効な間隔が前記値を記録する段階で記録される前において、前記量子化段階は、前記間隔の内の最後の間隔と最後から２番目の間隔とを比較することによって実行される請求項３１に記載の方法。
（３３）前記コードの断片を反復的に記録する段階は、
　前記コードの列に対応するデータビットを逐次的に記録する段階と、
　前記データビットを記録するためのアドレスを指示する段階と、
　所定数の前記データビットが有効に記録された後、前記データを前記アドレスに再記録する段階と、
を具備する請求項に２９に記載の方法。
【発明の詳細な説明】
［産業上の利用分野］
　本発明は、走査装置に関し、より具体的には、コードの別々の断片からコードを再構成する装置及び方法に関する。
ここに前記断片は、前記コードの一部から成る。
［従来の技術］
　パッケージ上に印刷されているバーコードを読み取るための装置（走査装置またはスキャナー）は、良く知られている。商品上のバーコードは、品物を識別してそれらを値段と結び付けるべく、販売の場所で走査される。そのような装置は、スーパーマーケットのチェックアウトカウンタで広く使用されている。
　バーコードの走査に適用されている基本的な原理は、反射光のコントラストを検出するということである。低出力ヘリウムネオンレーザのような光源が、バーコード上を移動させられるビームを作ることができる。暗領域（バー）は、レーザービームを吸収するのに対し、明領域（スペース）は、走査装置（スキャナー）によって後に検出される光を反射する。
　光学素子が、レーザービームを“移動”させるべく使用される。光学素子がないと、レーザービームは点である。光学素子が使用されると、ビームはレーザ光の線になる。このことは、移動ビーム走査と呼ばれている。移動しつつあるビームがコンベヤ（即ちコードを求めて走査されるべき領域であって、一般には走査ゾーンと呼ばれている）を横切るようにして“移動”すると、明遷移又は暗遷移が検出されてコードとして知られているディジタル信号に変換される。有効なバーコードは、広間隔と狭間隔との間の正しい割合を有する、明遷移及び暗遷移の所定数からなっている。
　現存するコードは、スペースで離隔されている一連の平行なバーからなっている。バー及びスペースは、全幅又は半幅のいずれか一方で印刷されている。バー及びスペースはビットパターンを意味しており、広いスペース又は広いバーは“１”を表す一方、狭いスペース又は狭いバーは“０”を表す（あるいはその逆）。
　公知のバーコード走査における基本的な目標は、少なくとも１回の走査で完全なバーコードが再構成されるということを確実にするのに十分な、密度が高く且つ変化に富んだトレースにある。走査密度が高くなればなるほど、走査はより速くなり、従って、走査されたデータを処理する回路に対する要求がより高くなる。
　公知装置（例えば、米国特許第３，７２８，６７７号）は、多角形の周縁部を有する反射ホイールを用いている。反射ホイールの回転は、レーザービームを、角度をずらして離隔させられている２枚のミラーであって、“Ｘ”形パターンをトレースさせるようにしてビームを下方に偏向させるものを横切らせるように走査する。
　他の公知装置は、光学コード走査装置の走査方向を変えるための、プリズム、ミラー、ビジコン、又はその他の装置を使用している（例えば、米国特許第３，６６３，８００号、第３，７７４，０１４号、第３，８００，２８２号、第３，９０２，０４７号、及び第４，０６４，３９０号参照）。
　また、バーコードを走査し、各間隔を横切るのに必要な時間を記録することによってその間隔幅を測定することも公知である（米国特許第３，９０６，２０３号）。連続する間隔幅は、３、５、及び８を乗算される。連続走査の乗算された幅を格納し且つ比較することにより、装置は、最新の間隔が、前の間隔とほぼ同じ大きさか、前の間隔よりもずっと小さいか、あるいは前の間隔よりもずっと大きいかということを決定することができる。
［発明が解決しようとする課題］
　しかしながら、上記装置は、それによって行われる比較が比較的粗く、過剰に短い走査時間又は過剰に長い走査時間をも有効なものと見なしてしまうという問題点を有している。
　従って、並外れて高速な回路によるサポートを必要とせず、しかも、物体が走査装置を通過する際に、完全なコードを高い確率で得られるような走査装置に対するニーズがある。
［課題を解決するための手段］
　本発明によると、物体上の可読コードを読み取るスキャナーが提供されている。そのスキャナーは、物体上の機械可読コードを読取るスキャナーにおいて、前記可読コードを反復的に走査し、少なくとも前記コードの断片に対応する走査信号を反復的に出力する走査手段と、前記走査手段に接続されており、前記走査信号に応答して前記走査信号を反復的にストアするためのデータ手段と、前記データ手段に接続されており、前記コードの前記断片が登録されるまで、その断片を相対的にシフトさせて、前記コードの前記断片から前記機械可読コードを再構成するための登録手段とを具備したことを特徴としている。
　また、本発明によると、物体上の可読コードを読み取る読取装置が提供されている。その読取装置は、物体上の機械可読コードを読取る装置において、物体を反復的に走査して、機械可読コードを検知し、各データ断片が走査されたコードの少なくとも１つの断片に対応する複数のデータ断片を出力する走査手段と、前記データ断片を受取って、ストアするデータ手段と、前記ストアされたデータ断片と異なるデータ断片のうち対応するものとが一致するか否かを比較し、前記走査されたコードに対応したデータストリングを構成する再構成手段とを具備することを特徴としている。
　また、本発明によると物体上の可読コード読取方法が提供されている。その方法は、物体上の機械可読コードを読取る方法であって、前記コードの部分を反復して記録し、前記コードの前記部分が登録されるまでその部分を相対的にシフトすることによって、前記部分から前記コードを再構成する工程を含むことを特徴としている。
［実施例］
　以下、添付図面を参照して本発明の実施例について説明する。
　第１図を参照するに、そこには走査手段が示されており、この走査手段は、レンズ１２及び１４によって小さく集光されるコヒーレントな光ビームを発生する、レ一ザービームの光源１０を使用している。レンズ１２は、その詳細は後述する動的フォーカシング装置の一部であるガルバノメータ９８によって幅方向に移動させられる。簡単にこの装置について述べると、この装置によって走査されるより大きい物体はより走査装置に接近する一方、より小さい物体はより走査装置から離れる。レンズ１２によって動的にフォーカシングすることにより、比較的細かいバーコードが、走査装置によってはっきりと読み取られ得る。例えば、０．０１インチのコード分解能の場合、物体の大きさは、その大きさを３インチのゾーンに量子化することによって測定される。各ゾーン遷移に対し、レンズ１２は０．００１インチで軸方向に調節される。勿論、別の実施例で適用され得る特定の寸法は、使用される特定の光学系に依存する。
　ビームは、ミラー１６及び１８で反射し、ビームスプリッテイングミラー２２内のアパーチャ２０を通過する。この結果、ビームは、ここでは回転ミラーホイール２４として示されている偏向手段の外面に向けられる。ホイール２４は、各々が回転ミラーとして作用する、１２個の、周縁部にあるミラー面を有している。ホイール２４はモータ（図示せず）によって駆動され、このモータはレーザービームの走査速度を決定する。
　ホイール２４で反射した後（そして反射ビームの角度に依存して）、ビームは、ここでは第１及び第２の隣接したミラー２６として示されている一対の非共平面ミラーの一方のミラーで反射する。これらのミラー２６は、ホイール２４に面した鈍角部を有する、折れ曲ったミラーの形をしている。従って、ホイール２４によって偏向させられたビームは、ミラー２６の突端を横切り、ミラー２８又はミラー３０のいずれか一方で遮られるべく、それぞれ右又は左に反射させられ得る。レーザービームがどちらの経路を取るかにより、“Ｘ”形パターン３２の内の一方又は他方の枝が描かれる。リターン光線３４によって図示されているように、光は、出射レーザービームの元の経路に沿ってリターンし、ミラー３０（又はミラー２８）で再び反射し得る。その後、リターンレーザー光は、集光レンズ３６に達する前に、ミラー２６，２４、及びビームスプリッティングミラー２２の反射側で反射する。集光された光は、暗区間（又はバーという。以下同じ）が走査されたのか又は明区間（又はスペースという。以下同じ）が走査されたのかを測定すべく、レンズ３６によってセンサ３８上に焦点を合わせられる。
　以上は、“Ｘ”形パターンの半分の１回の走査に関する経路についての説明である。同じ原理が、上記パターンの他方の半分の機能に適用される。動作時に、ミラーが、単一の走査ラインを２つの部分に分割すべく使用される。ミラーホイール２４は高速で回転しているので、ビームハンドリングミラー２６，２８及び３０は、“Ｘ”形パターンの２本のラインが急速に交互に交替するということを引き起こす。例えば、低速時におけるミラーホイールの５つの小面は、“?／?／?”のように現れる。高速で投影されると、“Ｘ”形パターンが目に見えるようになる。
　第１図の走査ヘッドは、３つの“Ｘ”形パターンを描くべく、付加的なミラーシステムを設けられ得る。従って、１つの“Ｘ”形パターンのみが、１つの回路によって処理される。この好適な実施例では、ミラー２２，２６，２８及び３０の複製が２つ作られており、そして、３つのミラーシステムは、９０度離れて離隔した位置に配置されている。３つのレーザを用いることにより、３つの別々の“Ｘ”形の走査がなされ得る。
　第２Ａ図及び第２Ｂ図は、各々が第１図に示されている３つの光学システムによって描かれる３つの走査“Ｘ”Ｉ，“Ｘ”ＩＩ及び“Ｘ”ＩＩＩを示している。好適な実施例では、“Ｘ”形パターンのラインは、使用可能長（効率８０％）及び有効ライン長に対して、それぞれＡ及びＢで終端する長さを有している。こられの２つの長さは、走査装置から２８インチの所に置かれている物体についてのものである。末端Ｃは、第１図に示されている走査装置から４２インチの所に置かれている物体についての全物理的ライン長を表している。走査“Ｘ”Ｉと走査“Ｘ”ＩＩとの間の、移動方向における空間Ｌ１は、好適な実施例では２インチ３／４である。移動方向に沿う走査ラインＡの有効長Ｌ２は、好適に６インチ２／３である。移動方向における長さＬ３は、約１６インチである。本実施例では、移動方向に垂直な方向の“Ｘ”形パターン間の、パターンからパターンヘの空間Ｗ１は、４インチ２／３である。コンベヤに沿う使用可能幅Ｗ２は、好適に１６インチである。
　カート信号は、スタートカートフォトアイ（スタートカートＰ．Ｅ．）４０及びエンドカートフォトアイ（エンドカートＰ．Ｅ．）４１によって発生される。本実施例では、カートフォトアイ４０，４１は、移動方向に移動する物体によって遮断された時に走査を開始する必要性を指示する信号を発生する光路をカバーしている。フォトアイ４０とパターン“Ｘ”ＩＩ及び“Ｘ”ＩＩＩの終点Ｂとの間の空間（空間Ｍ１及びＭ２）は、コードが付された物体の完全な走査を確実にすべく設定されている。しかしながら、これらすべての寸法は、コードの大きさ、及び、比較的不確かな、物体又は走査されるべき物体上のコードの位置又は距離に応じて変化し得る。
　典型的な走査システムは、第２図に別の２つの“Ｘ”形パターンを描くべく使用される、２つの隣接する側部におけるミラーを有するミラーホイールを使用するであろう。２つの“Ｘ”走査装置を使用することにより、コンベヤは６つの“Ｘ”形パターンでカバーされており、そして、コンベヤを移動する商品に付けられているバーコードが１以上の走査ラインによって横切られることを確実にするための走査ゾーンが形成される。
　第２Ｂ図に示されているように、走査装置は、ハウジングＳ内に収納されており、作業面Ｗ上方のプラットホームＰに装着されているブラケットＢＲによって支持されている。プラットホームＰと作業面Ｗとの間の空間が広い場合、レーザの焦点を合わせるために深い被写界深度が要求される。このため、物体の高さは、ゾーン検出器Ｚによって決定される。比較的小さい物体は、フォトアイ（Ｐ．Ｅ．）Ｚ１〜Ｚ７と結び付いているビームのいずれをも横切らない。その次に大きいクラスに入る物体は、フォトアイＺ１と結び付いているビームを横切る。物体が大きくなるに従って次々に残りのフォトアイのビームを横切っていき、最大の物体はすべてのフォトアイのビームを横切る。ゾーン検出器Ｚは、それに応じて、横切られたゾーンの数を指示するディジタル信号を生成する。ゾーンとゾーンとの間の空間は、調査されるバーコードの細かさに依存する。例えば、０．０１インチの最も細いバーを有する交互配置５中２選バーコードは、互いに３インチ離れて配置されるフォトアイを必要としよう。もしコードが０．０２インチの最も細いバーサイズを有するならば、フォトアイは互いに５インチ離れて配置されよう。
　第３図を参照するに、重ね合わせ手段がマイクロプロセッサボード（ＭＰ）４２として示されており、本実施例においては、このマイクロプロセッサボード４２は、例えばインテル（Ｉｎｔｅｌ）製の８０２６８型のようなマイクロプロセッサチップを用いている。マイクロプロセッサボード４２は、３つのデータ手段、即ちデータ手段４４及び４６並びに詳細に図示されている第３データ手段に連結されている。この第３データ手段は、ブロック４２，４４及び４６を除いた、システムの残りすべてである。本実施例においては、マイクロプロセッサボード４２は、それ自身の内部メモリを有している。更に、各データ手段は、デュアルポートランダムアクセスメモリ（デュアルポートＲＡＭ）４８として示されている共通の記憶手段を含んでいる。メモリ４８は、データバスＤＡ及びアドレスバスＡＤに連結される一方のポートを有しており、これらのバスは、共に、マイクロプロセッサボード４２と共通のメモリ４８との間に連結されている。他方のポートは、データバスＤＡＴＡ及びアドレスバスＡＤＲに連結されている。デュアルポートメモリは、例えば１Ｋバイトの高速ＲＡＭ（ＳＲＡＭ）（ＩＤＴ７１３０型）である。
　バスＤＡＴＡ及びＡＤＲは、マイクロプロセッサボード４２を介さない、コードデータ及びストリング識別データのＲＡＭ４８内での更新を可能にする。このことは、マイクロプロセッサボード４２を開放すると共に、ボード４２の速度で制限されることがないので、コードデータの超高速更新を可能にする。
　カウンタ５０が、クロック入力ＣＬＫにそれをカウントすべく接続されている。カウンタ５０は、所望されている分解能及び走査速度で決定される容量及び速度を有している。後述するように、カウンタ５０は、物体がカートフォトアイ（第２Ａ図における素子４０，４１）で検出された後、走査の間で、端子ＣＡＲＴ．ＳＣＡＮによって可能化される。カウントは、カウンタが端子ＤＥＣ２上の遷移信号によってクリアされる直前に決定される。カウンタ５０内に累積されたカウントは、端子ＤＥＣ１上の遷移信号により、８ビットデータラッチである第１レジスタ５２Ａ内に、端子ＣＬＫ３上のクロック入力に同期してロードされる。レジスタ５２Ａは、内部接続されているレジスタ５２Ｂ及び５２Ｃに、レジスタ５２Ａのデータを下流に、即ちレジスタ５２Ｂ及び５２Ｃにシフトすべく縦続接続されている。
　レジスタ５２Ａにロードされたデータは、範囲外の状態を知らせるための許容限界装置５４Ａ及び６４Ｂを介して上限及び下限とそれぞれ比較される。第２レジスタ５２Ｂ及び第３レジスタ５２Ｃの各々は、マルチプレクサ５６及び５８の別々の入力に接続される出力を有している。マルチプレクサ５６の出力は、本実施例においてはプログラマブルリードオンリメモリ（ＰＲＯＭ）６０として示されている量子化手段であって、ルックアップ手段として作用すべく組織されているもののデータ入力に印加される。メモリ６０は、実際には６つのセクションからなっている。各セクションは、共通のデータ入力に応答して許容限界を意味する信号を生成する。その許容限界値は、各々が公称値を中心として所定の許容範囲だけその公称値からずれている、３つの対からなっている。３つの公称値は、入力値に１、１／２、又は２を掛けたものである。詳細は後述するように、公称値に対するこれらの許容範囲は、連続するラッチされた値が、連続する走査間隔が前のコードの間隔と同じか、それより大きいか、あるいはそれより小さいかを決定することを可能にする。
　ルックアップ手段６０のデータ限界値の３つの対は、比較手段６２の別々の入力に印加される。比較手段６２は、第１レジスタ５２Ａの出力をメモリ６０からの６つの限界値の各々と比較する６個のディジタル比較器を有している。従って、第１レジスタ５２Ａの最新の出力は、それ以前の値（第２レジスタ５２Ｂ又は第３レジスタ５２Ｃのいずれか一方に格納されている）の関数としてメモリ６０によって設定された限界値内に分類され得る（あるいは分類され得ないと見出される）。分類された値は、比較器６２の６本の出カラインによって指示される。
　比較器６２の出力は、本実施例においてはパターン検出装置（ＰＤＭ）６４として示されているパターン手段に印加される。好適な実施例では、パターン検出装置６４は、ジリンクス（ＸＩＬＩＮＸ）・ロジック・コンフィグュラブル・アレー・ＸＣ２０６４型を含んでいる。このアレーは、６８ピンＣＭＯＳプログラマブルゲートアレーである。そのようなアレーは、かなりの量の論理を１個の集積化されたパッケージに組み込むことを可能にする。この高速回路は、４００ナノ秒という短時間でバーの幅を検出することが可能である。
　詳細は後述するように、パターン手段６４は９状態装置であり、この装置の状態は、部分的に、比較器６２からの入力によって決定される。パターン手段６４の他の端子ＣＯＤＥ、ＷＲＸＮ、ＣＮＴ２、ＸＴＮＤＥＣ、ＳＣＡＮ、ＣＬＫ、及びＤＥＣは、光学的走査の状態（明又は暗）、走査の終了、刻時事象、コード遷移と同期する拡張パルス、走査の開始、クロックパルス、及び非拡張コード遷移信号にそれぞれ対応する。パターン手段６４は、マルチプレクサ５６及び５８の状態を制御する１対の出力を供給する。マルチプレクサ５６の制御信号は、メモリ６０の一入力にも接続されている。
　パターン手段６４の重要な特徴は、レジスタ手段６６である。動作時において、パターン手段６４の論理アレーはあるデータビットを設定することができる。後に説明するように、走査されたバーコードにおいて検出された連続するビットは、デュアルポートメモリ４８に送信される前に、パターン手段によってレジスタ手段６６に格納される。
　パターン手段６４は、その論理アレーと同様の論理アレーを有する状態手段（ＣＳＭ）７０への５本の制御ライン６８上に出力を供給する。更に、本実施例においては、状態手段７０（制御信号状態装置として動作する）は、本実施例中で説明される種々の他のデバイスを可能化するための３個のプログラマブル論理アレー（ＰＡＬＳ）を用いている。制御は、制御ライン７２を介して行われる。状態手段７０内の３個のＰＬＤは、１個のＰＡＬ１６Ｒ６型デバイスと２個のＰＡＬ１６Ｌ８型デバイスを含んでいる。ＰＡＬ１６Ｒ６型デバイスは、システムクロックと同期している２３の異なった状態を生成するのに使用される、登録された出力を有するアレーである。これらの状態は、組合せ論理への出力である、５つの二進ビットによって符号化されている。２個のＰＡＬ１６Ｌ８型デバイスは、状態手段７０が置かれている状態に厳密に基づいて組合せ論理を実行するのに使用される。
　出力は、電流状態のみの関数である。従って、この設計は、ムーア機械と見なされ得る。即ち、出力は、前の入力の履歴であってその状態が保持されているものに依存し、入力値に直接的には影響されない。この理由のため、タイミングの問題から開放されることを確実にすべく、全同期制御回路が使用される。
　制御ライン７２は、デュアルポートＲＡＭ４８への４つの入力を含んでいる。空手段７４への可能化手段も、ライン７２を介して供給される。手段７４はカウンタ及びラッチを含んでおり、もって、端子“ＢＡＤ　ＳＣＡＮＳ”において読み取られた不良走査の全数がデータラインＤＡＴＡ上に書き込まれ得る。
　位置手段は、本実施例においてはラベル位置カウンタ７６として示されており、このラベル位置カウンタ７６は、制御ライン７２によって可能化されるラッチカウンタである。有効に走査されたコードが終了する位置をディジタル的に意味する入力は、ライン７２を介して状態手段７０から供給される。カウンタ７６に格納されたカウントは、バスＤＡＴＡ上に書き込まれ得る。
　本実施例においては走査数カウンタ７８として示されている走査手段は、各走査の開始時にインクリメントされ且つ状態手段７０からのライン７２によって可能化される。手段７８は、そのカウントがバスＤＡＴＡ上に書き込まれ得るようにラッチされる。
　レジスタ手段６６に格納されているストリング長は、状態手段７０によってストリング長カウンタ８０にロードされる。カウンタ８０はまた、間隔幅の割合が１であるところの遷移の連続する数をカウントする能力を提供する。カウンタ８０も、データバスＤＡＴＡへのデータ出力を有している。
　マルチプレクサ５８からのデータ出力を格納する狭手段が、本実施例においてはラッチ８１として示されている。後に説明するように、格納されている値は、カウンタ５０によって測定される狭間隔の幅に対応する値である。狭手段８１の出力は、データラインＤＡＴＡに連結されている。
　アドレス手段は、本実施例においては、ストリングデータカウンタ８２及びストリング識別バイトカウンタ８４として示されている。カウンタ８２及び８４の出力は、デュアルポートＲＡＭ内の、データが格納されるべき位置を指示するためのアドレスバスＡＤＲに接続されている。ストリングデータカウンタ８２は、レジスタ手段６６のコードビットを格納する位置を指示するのに使用される。カウンタ８４は、カウンタ７４，７６，７８及び８０のカウントを格納する、ＲＡＭ４８内の位置を指示するのに使用される。
　フォーカシング手段は、本実施例においては、ゾーン検出器Ｚ（第２Ｂ図）及びガルバノメトリックフォーカシング装置９８（第１図）に連結されるラッチ８５として示されている。マイクロプロセッサ４２によって質問されると、手段８５は、バーコードを付けられている物体によって横切られた最も高いゾーンの番号に対応する信号を送信する。フォーカシング番号がマイクロプロセッサによって送信されると、手段８５内のラッチ（図示せず）が設定される。この設定値は、ディジタル−アナログ変換器（図示せず）によってアナログ信号に変換され、このアナログ信号は、フォーカシング手段９８（第１図）内のガルバノメータ９８を駆動する。この結果、レーザの焦点合わせが、プロセッサの制御の下で達成される。
　上述した装置と関連している原理の理解を容易にするため、その動作を簡単に説明する。ミラーホイール２４を照明するレーザ１０（第１図）により、“Ｘ”形パタ一ン３２がトレースされる。コードの明バー及び暗バーであって、“Ｘ”形パターン３２内に収まるものが、光検出器３８へと反射される。第５図に示されているように、“Ｘ”形パターン３２の一方の枝の連続的な走査が、コード信号を生成すべく、バーコード８６を横切ることができる。
　第４Ａ図を参照するに、前述したクロック信号ＣＬＫが、多数の高周波矩形パルスとして示されている。第１図に示されている走査装置内の光検出器３８の応答は、第４Ａ図において出力ＣＯＤＥとして指示されている。Ｄ型フリップフロップ（図示せず）がクロック入力ＣＬＫでトリガされ、信号ＣＯＤＥで指示されているデータが保持される。同期コード信号は、第４Ａ図において信号ＳＹＮＣＯＤＥとして指示されている。信号ＳＹＮＣＯＤＥがクロック信号ＣＬＫと組み合わされ、単一のパルスＤＥＣ１が生成される。このパルスＤＥＣ１は、信号ＳＹＮＣＯＤＥの立上がりエッジで始り、クロックパルスの周期後に終わる。信号ＤＥＣ１内の次のパルスが、信号ＳＹＮＣＯＤＥの立下がりエッジに続いて同様の態様で生成される。遷移信号ＤＥＣ２は、信号ＤＥＣ１から１クロックパルス周期だけ遅れたパルスである。信号ＣＯＤＥと遷移信号ＤＥＣ１及びＤＥＣ２との間の関係は、第４Ｂ図に、より大きい時間スケールで示されている。
　第３図を参照するに、コード遷移は、端子ＤＥＣ１がカウンタ５０の現在のカウントをレジスタ５２Ａ内にラッチさせることを引き起こす。１クロックパルス周期後に、端子ＤＥＣ２上のパルスがカウンタ５０をクリアする。このようにして、各コード遷移時に、新しいカウントが格納され、次いでクリアされ、この結果、次の間隔が測定され得る。レジスタ５２Ａ及び５２Ｂ内に格納されるいずれの値も、先ず、レジスタ５２Ｂ及び５２Ｃにそれぞれ移されるということが認められよう。従って、連続する遷移の間、カウンタ５０は、第１図に示されている走査装置によって検出される間隔の幅をカウントする。各遷移の後、カウントは、レジスタ５２Ａ，５２Ｂ及び５２Ｃを通過していく。従って、レジスタ５２Ａ，５２Ｂ及び５２Ｃは、第１図に示されている走査装置によって決定された、最後の３つの間隔幅のスナップ写真のようなものと見なされ得る。
　レジスタ５２Ｂがロードされると、比較が行われ得る。先ず、レジスタ５２Ｂは、マルチプレクサ５６を介して、６つの出力を発生するメモリ６０に接続される。その６つの出力とは、入力に、１／２−２０％、１／２＋２０％、１−２０％、１＋２０％、２−２０％、及び２＋２０％（０．４、０．６、０．８、１．２、１．６、及び２．４）を掛けたものである。これらの値は、カウンタ５２Ｂ内の前のカウントが、レジスタ５２Ａに現在ラッチされているカウントの、約半分、ほぼ同じ、又は約２倍であるかを決定するために使用される。即ち、メモリ６０は、各値の２０％の窓即ち許容範囲を設定するために使用されている。
　第４Ｂ図における一番下の列（カウント）及び第１表は、レジスタ５２Ａ，５２Ｂ及び５２Ｃにラッチされたカウンタ値が、如何に段階的にレジスタを進んで行き、その結果、バーがバーと、そしてスペースがスペースと如何に比較され得るかということを説明している。例として（第１表の走査２Ｂを用いると、レジスタ５２Ｂは、１９のカウントを格納している。従って、メモリ６０の出力は、８、１２、１６、２４、３２及び４８となる。レジスタ５２Ａの値がレジスタ５２Ｂの値と比較され、この場合、第１バー（１Ｂ）が第１スペース（１Ｓ）と比較される。この結果、レジスタ５２Ａのカウント値１８は、メモリ６０からの１対の値、即ち１６及び２４の間に収まる。それに応答して、比較器６２の状態は、この階層化をパターン手段６４に指示する。同類の間隔を比較するための十分なデータが得られないような初期状態においてのみ、バーはスペースと比較されるということに注意する必要がある。印刷されたバーコードの実際の例においては、バーの幅はスペースの幅と等しいという傾向があるので、同様の間隔を比較するということは、望ましい。しかし、バー及びスペースは、必ずしも同じ幅を有する必要はない。
　パターン手段６４は、比較器６２の６つの出力に応答してどの二進値がコードパターンレジスタ６６にロードされるべきかを決定する。第１間隔の幅とは無関係に、第１バーを零として指示する０が先ずレジスタ６６に書き込まれる。第１間隔は、もし次のスペースが半分の値であるならば、パターン手段６４によって１として後に定義される。
　次のバーが受信されると、データは、端子ＤＥＣ１上の遷移信号に応答してレジスタ５２Ａ，５２Ｂ及び５２Ｃ内をシフトさせられる。その後、レジスタ５２Ｃの値は、レジスタ５２Ａの値と比較され得る。この工程は、バーがバーと、そしてスペースがスペースと比較されることを可能にする。
　各比較の後、パターン手段６４は、何が（０又は１のいずれか一方）レジスタ６６にロードされるべきかを前の状態から設定する。“０”は狭いバー又はスペースを表し、“１”は広いバー又はスペースを表す。８ビットの情報がレジスタ６６にシフトされると（１バイトを構成）、その情報は、状態手段７０によってデュアルポートＲＡＭメモリ４８に書き込まれる。第１表の例では、書かれている第１のバイトは０２（ヘックス）である。第２のバイトは３３（ヘックス）である。
　第６図は、パターン手段６４のパターン検出アルゴリズムを示している。機械は同期状態機械である。バー又はスペースは、隣の即ち一つおきのバー又はスペースと比較される。もし割合が、（許容範囲内で）イコールか、半分か、２倍のいずれかであるならば、有効パターンと見なされる。もし上記比較のいずれもが真でないならば、パターンは無効である（無効パターンに関して格納されるものは何もない）。もし連続する有効な割合の数が５を超えるならば（８まで）、これらのパターンの数値表現、即ち１又は０の二進ストリングが、メモリに保存される。
　アルゴリズムの性質のため、パターン検出手段６４は、高度に故障許容性である。バー及びスペースの幅のよりフレキシブルな比較を可能にすべく、メモリ６０によって設定される可変のエラーマージンが、ディジタル比較回路６２と合体させられる。このようにして行われる比較のため、バーは、大きさパーセンテージで別のバーと異なっていても有効パターンの一部として認識されるということが可能になる。殆どの場合において、バーはバーとのみ比較され、スペースはスペースとのみ比較される。このことは重要である。何故ならば、殆どのバーコードラベルの印刷は十分には正確でなく、バーの幅がスペースの幅によってかなり異なっているからである。
　第６図に示されているように、パターン手段６４（第３図）は、Ａ〜Ｉで示されている、合計９つの独自の状態を有している。パターン手段６４は、間隔と間隔との間の各遷移時に発生され且つ５つのクロック周期に拡張されたパルスである、端子ＸＴＮＤＥＣ（第３図）として示されている非対称クロックで動作する。パターン手段６４の動作は、２つに分割され得る。何故ならば、機械の右半分又は左半分のいずれか一方のみが、あらゆる瞬間において活性であるからである。第６図は、対称的な２つの部分を明瞭に示している。左半分は状態Ｃ，Ｅ，Ｇ及びＩからなっている一方、右半分は状態Ｂ，Ｆ，Ｄ及びＨを含んでいる。もし走査された第１バーが狭であると決定されると、パターン手段６４の右半分が使用される。逆の場合には、左半分が活性になる。
　各状態の機能は下記の通りである。
　状態Ａ：電源オン状態。また、この状態における比較がイコールの場合、あるいは定義されていない比較が行われた場合、この状態が発生する。
　状態Ｆ：状態Ａ、状態Ｂにおける比較が２倍、あるいは状態Ｈにおける比較がイコール。また、状態Ｄ又は状態Ｃにおける比較が２倍であり且つＷＩＮＤＯＷがロー（即ち、４つの遷移より多いストリングが見出されず、格納されているデータが無い）。
　状態Ｄ：状態Ｆにおける比較が２倍、あるいはこの状態における比較がイコール。
　状態Ｈ：状態Ｆにおける比較がイコール、あるいは状態Ｄにおける比較が半分。
　状態Ｂ：状態Ｈにおける比較が半分、あるいはこの状態における比較がイコール。
　状態Ｇ：状態Ａ、状態Ｃにおける比較が半分、あるいは状態１における比較がイコール。また、状態Ｅ又は状態Ｂにおける比較が半分であり且つＷＩＮＤＯＷがロー（即ち、４つの遷移より多いストリングが見出されず、格納されているデータが無い）。
　状態Ｅ：状態Ｇにおける比較が半分、あるいはこの状態における比較がイコール。
　状態Ｉ：状態Ｇにおける比較がイコール、あるいはこの状態Ｅにおける比較が半分。
　状態Ｃ：状態１における比較が２倍、あるいはこの状態における比較がイコール。
　ＺＯＵＴ：信号ＺＯＵＴは状態手段からの出力信号である。“１”は広間隔用シフトレジスタにシフトされ、そして、“０”は狭間隔用シフトレジスタにシフトされる。（“１”は広間隔を意味する。）
　上述した機能に加え、パターン手段６４のＬＣＡはまた、カウンタをロードし且つデータを格納するためのいくつかのタイミング信号を含んでいる。
　状態手段７０（第３図）は、種々のレジスタからのラッチされたデータバイトをデュアルポートＲＡＭメモリ４８に書き込む。このメモリは、高速動作を可能にするマイクロプロセッサボード４２によって同時にアクセスされる。状態手段７０が、現在の走査からの今のデータをポートＡＤＲ，ＤＡＴＡに格納する一方、格納されている前回の走査時のデータは、別のポートＤＡ，ＡＤにおいてマイクロプロセッサボード４２によって読み込まれる。
　第２表を参照するに、各走査時に、バー及びスペースの幅を指示する１バイト以上のデータが得られる。走査された幅のデータがバスＤＡＴＡ上に書き込まれると、バスＤＡＴＡに接続されているラッチ及びカウンタ内のデータは、指示されたストリング長、狭値、ラベル位置、及び不良走査の数を順次書き込む。例えば、第３走査は、狭及び広のバー及びスペースのコードパターンを指示する２つのデータバイトを生成している。しかしながら、ストリング長は単に１５ビットの長さであり、このことは、最後のバイトが７つの有効データビットしか有していないということを示している。この走査の場合、カウンタ８１によって格納されている狭値は９９であり、この値は、前回の走査、即ち走査番号２の狭値に完全に匹敵する。同様に、カウンタ７６からのラベル位置は５０であり、この値は、前回のラベル位置の値に完全に匹敵する。
　本実施例においては、間隔幅を指示するデータバイトは、デュアルポートＲＡＭ４８内のロケーションＸＦ００とＸＦ１Ｆとの間に格納される。保存され得る最大値は、３２バイト（即ち２５６回の遷移）である。メモリ内の次のブロックは、ストリング識別データである。このブロックは、狭値、ストリング長、ラベル位置及び不良走査の数を含んでいる。ストンリング識別データは、メモリロケーションＸＦ２０とＸＦＣ１との間に格納される。
　カウンタ７４〜８１の出力は、“３状態”であるので、一度に１つのみがバスＤＡＴＡを使用する。第７Ａ図のフローチャートを参照するに、それは、状態手段７０の動作のシーケンスを示している。起動されると、状態手段７０は、ステップＳ１（第７Ａ図）から始まる。ループ１は、分岐判断から始める。もし遷移が起こり（信号ＤＥＣ）且つ走査が終了していないならば、分岐Ｓ１及びＳ２は、制御をステップＳ３及びＳ４に移し、バー及びスペースのビットパターンを指示する値のバイトがメモリ４８にロードされる。適切なアドレスを指示するストリングデータカウンタ８２が、インクリメントされる。
　次の遷移においてすべての走査が完了すると、ループＩＩが実行される。ループＩＩにおいて、状態手段７０は、間隔パターンのバイトを連続的に格納し、そしてアドレスポインタをインクリメントする。ステップＳ５及びＳ６は、前述したステップＳ３及びＳ４と本質的に同一である。次のステップＳ７及びＳ８において、カウンタ８０のストリング長が、データバスＤＡＴＡを介してメモリ４８に書き込まれる。ストリング識別バイトカウンタ８４が、インクリメントされる。次に、ステップＳ９及びＳ１０において、狭値ラッチ８１が、データバスＤＡＴＡを介してメモリ４８にロードされる。ストリング識別バイトカウンタ８４が、次の位置を指示すべく、インクリメントされる。ステップＳＨ及びＳ１２において、ラベル位置カウンタ７６内の値が、バスＤＡＴＡを介してメモリ４８にロードされ、そして、カウンタ８４がインクリメントされる。ステップＳ１３及びＳ１４において、不良走査カウンタ７４が、バスＤＡＴＡを介してメモリ４８にロードされ、そして、カウンタ８４が、再びインクリメントされる。
　走査が終了すると、ループＩＩＩが実行され、カウンタ７８に格納されている走査数が、バスＳＡＴＡを介してメモリ４８の、カウンタ８４によって指示されているアドレスにロードされ、次いで、そのカウンタ８４がインクリメントされる。
　レジスタ及びメモリインタフェースに対する実際の制御信号は、状態手段７０において提供される。種々のタイミング事象の機能は、下記の通りである。
　ＷＩＮＤＯＷ：現在のストリングの保存を指示する。５の最短ストリング長が超えられると、これが発生する。この信号はストリングの最後でリセットする。
　ＳＡＶＳＤ（Ｌ５）：ストリングデータのバイトが保存されたことを指示する。８ビットシフトレジスタが満ちた場合、あるいはストリングが終わった場合に、これが発生する。
　ＳＡＶＡＬＬ（Ｌ３）：すべてのデータ（即ち、ストリングデータ、ストリング長、狭値、ラベル位置、及び不良走査の数）が保存されたことを指示する。この信号は、ストリングが終わると活性になる。
　ＳＬＥＱＣＲ（Ｌ１）：ストリング長カウンタ８０が、“１”をロードされるのか、あるいは連続的に新しいＷＩＤＥ／ＮＡＲＲＯＷＳの数をロードされるのかを決定する。もしストリングが終わっているか、あるいはストリングが保存されていないならば、それは“１”を選択する。もし“広”との比較が２倍であるか、あるいは“狭”との比較が半分であり、しかも現在のストリングが保存されつつある状態でないならば、それは後者を選択する。
　ＬＤＳＬＣ／（Ｌ２）：ストリング長カウンタ（ＳＬＣ）の同期ロード。もし現在のストリングが保存されつつあるか、あるいは比較がＪＵＮＫであるならば、発生する。
　ＬＤＥＱ／（Ｌ４）：連続イコールカウンタ（ＣＥＣ）に“１”を、同期させてロードする。比較がイコールでない時に発生する。
　ＪＵＮＫ：比較が、半分、イコール又は２倍でない時に発生する。バー／スペース幅がプリセットされている限界値を超えた時にも発生する。
　ＳＥＬＲＥＧ（Ｍｕｘ＿ｓｅｌ）：隣の又は一つおきの比較用のレジスタ５２Ｂ又は５２Ｃをそれぞれ選択する。状態Ａであり、且つ比較がＪＵＮＫの時に、それは隣の比較を選択する。もし比較がＪＵＮＫでないならば、それは後者を選択する。
　状態手段７０は上述のように構成されているので、各状態は、次の状態に進むか、あるいは変化しないかのいずれかである。また、次の状態は、常に新しい状態であり、前の状態では決してない。このことは、１回の繰返しにおいて、どの状態も２回以上活性にはなり得ないということを確実にする。
　第７Ｂ図を参照するに、それは、走査データが得られた時の、第３図に示されているマイクロプロセッサボード４２に関連した動作を示している。第７Ｂ図におけるフローチャートは、走査されたデータバイトを読み込むための、ステップＳ２０から始まる。次に、ステップＳ２１において、ストリング識別データ、即ち、走査カウント数、ストリング長、狭値、ラベル位置及び不良走査数が読み込まれる。次に、ステップＳ２２において、マイクロプロセッサが、最新の走査がラベル位置値及び狭幅値においてそれ以前の走査と等価であるかが決定される。もしそうでないならば、制御はステップＳ２０に戻る。もしそうであるならば、制御はステップＳ２３に進む。ステップＳ２３において、マイクロプロセッサは、整合する間隔の部分があるかを判断すべく、以前のビットパターンに対して最新のビットパターンをシフトする。もしあるならば、制御はステップＳ２４に進む。もしないならば、制御はステップＳ２０に戻る。ステップＳ２４及びＳ２５は、再構成されたストリングを格納する。もし再構成されたストリングが十分に長ければ、マイクロプロセッサは、完全且つ有効なコードが組み立てられたということを指示する。組み立てられた、この有効なコードは、在来の態様で使用され得る。
　上述した装置に種々の変形及び変更がなされ得るということが、理解されよう。例えば、種々のステップが実行されるところのシーケンスは、変更され得る。更に、ディジタル回路は、示されているようなアレーから構成され得、あるいは、いくつかの実施態様においては、別の独立なマイクロプロセッサ又はディジタル信号プロセッサを使用し得る。３つの“Ｘ”形パターンが説明されているが、別の数であっても良い。ミラーの配置及び使用は、所望のレーザービーム回転方法に応じて変更され得る。データストリング間の比較が、対応するラベル位置及び狭値によって行われているが、別の実施態様においては、別の比較が用いられても良く、あるいは比較が用いられなくても良い。現在の間隔の幅と以前の間隔の幅との割合に設けられている許容範囲は、印刷されているコードの期待精度に応じて変化させられ得る。光学的に可読な印刷ラベルが記載されているが、磁気的なメディアのような他のメディアも、それに代えて、使用され得るということが、理解されよう。説明されたディジタル回路は、本発明の範囲から逸脱することなく、より大規模な又はより小規模な集積回路で構成され得る。また、走査の速度及び寸法は、具体的な応用に応じて変更させられ得る。
　種々のその他の変更が上述した実施例になされ得るということ及びそれへの種々の変更は本発明の範囲及び精神から逸脱しないということは、理解されよう。
　以上説明したように、本願発明における走査片からバーコードを構成する手段或いは方法はデータ文字の最小数が走査される必要はあるが、この最小数は一般にバーコードの中のデータ文字の総数の半分以下である。また、開始文字、停止文字或いはセンター文字、ガード文字を使用していない。これらのことから、本願発明による機械可読コードの読取は特別に高速な回路によるサポートを必要とせず、しかも、読取結果の誤りの確率が小さいという効果が得られる。
【図面の簡単な説明】
　第１図は、本発明の実施例に使用され得る走査手段の概略斜視図、
　第２Ａ図は、第１図に示されている走査手段によって与えられる走査の平面図、
　第２Ｂ図は、第１図に示ざれている走査手段を使用している走査装置の立面図、
　第３図は、本発明の実施例で使用され得る、データ手段及び重ね合わせ手段の概略ブロック図、
　第４Ａ図及び第４Ｂ図は、第３図に示されている装置に関連する信号を説明するタイミング図、
　第５図は、バーコードを横切る連続的な走査を示す平面図、
　第６図は、第３図に示されているパターン検出装置に関連する状態図、
　第７Ａ図は、第３図に示されている状態手段の動作のシーケンスを一般的に示すフローチャート、及び
　第７Ｂ図は、第３図に示されているマイクロプロセッサボードの動作のシーケンスを概略的に説明するフローチャートである。
　１０……光源
　２４……ミラーホイール
　３２……“Ｘ”形パターン
　３８……センサ
　４２……マイクロプロセッサボード（ＭＰ）
　５２……レジスタ
　６４……パターン検出装置（ＰＤＭ）
　７０……状態手段（ＣＳＭ）
　Ｚ　……ゾーン検出器