(57)【特許請求の範囲】
【請求項１】
光学式コード読取り装置により得られる画像データから規則的で平行なバーのクロックトラックを含む郵便番号を同定して読取るための方法であって、
画像データ中に郵便番号の存在を示す特徴を含むサブ領域を定める段階と；
前記サブ領域における画像データを用いて、郵便番号の一方のマージンから他方のマージンまでにわたって郵便番号の前記クロックトラックを通る画像データ内の基準線を定める段階と；
前記基準線と交差するバーを同定する段階と；
前記基準線の上と下にある前記バーの各々を追跡して、該バーの長さに基づいて記号列の状態を表す一連の情報を得る段階と；
前記記号列の状態を表す一連の情報を復号化する段階と；
を含むことを特徴とする方法。
【請求項２】
前記郵便番号の一方のマージンから他方のマージンまで前記郵便番号の前記クロックトラックを通る基準線を同定する段階は、
前記サブ領域の左側のサブ画像中の第１のバーと、前記サブ領域の右側のサブ画像中の第２のバーとを同定する段階と；
前記第１のバーの左側に位置するサブ画像中に存在する左側の郵便番号のマージンを同定する段階と；
前記第２のバーの右側に位置するサブ画像中に存在する右側の郵便番号のマージンを同定する段階と；
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記郵便番号の一方のマージンから他方のマージンまでにわってクロックトラックを通る前記基準線が、
左側候補マージンのバー上で第１のポイントを選択する段階と；
右側候補マージンのバー上で第２のポイントを選択する段階と；
前記第１及び第２のポイントを通る線に沿って前記バーの規則性を検査して、この線が完全に前記クロックトラック内に位置するか否かを判断する段階と；
により定められることを特徴とする請求項１に記載の方法。
【請求項４】
前記第１と第２のポイントを選択するために参照用テーブルが用いられることを特徴とする請求項３に記載の方法。
【請求項５】
前回の基準線が完全に前記クロックトラック内に位置しないという判定に応答して、別の第１と第２のポイントが前記参照用テーブルから選択されることを特徴とする請求項４に記載の方法。
【請求項６】
前記基準線に沿うバーの規則性を検査する間にバーが存在しないギャップが同定される場合、各々の不在バーに対応するものとして該ギャップ位置にプレースホルダーを挿入することを特徴とする請求項３に記載の方法。
【請求項７】
前記郵便番号が２状態と４状態のいずれかを有している場合における請求項１に記載された方法であって、
読取られた郵便番号の形式に適した２状態または４状態復号化アルゴリズムを選択する段階と；
前記選択された復号化アルゴリズムを用いて前記記号列の状態からの前記コードを変換する段階と；
を含むことを特徴とする請求項１に記載の方法。
【請求項８】
米国ＰＯＳＴＮＥＴコード、カナダ郵便番号、英国郵便番号が読取られることを特徴とする請求項７に記載の方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、光学コード読取り装置を用いて種々の形式の郵便番号を読取るための技術に関する。本発明の特徴は、郵便番号に加えて、多種多様の光学コードを読取るように設計された撮像光学コード読取り装置において特に有用である。
【０００２】
（背景技術）
光学コードは、異なる光の反射または光の放射特性を有する画像領域から成り、それらは一般的に事前ルールに従って組み合わされている。「バーコード」という用語は、ある種の光学コードのことを説明するのに用いられることがある。光学コードの光学特性とパターンは、それらが用いられる背景環境から外観でそれを同定するよう選択される。光学コードを同定してデータを抽出するための装置は「光学コード読取り装置」と呼ばれることもあり、そのうちの１つの形式がバーコードスキャナである。光学コード読取り装置は、店舗でのレジ作業、製造現場での作業の流れや在庫管理および輸送車両での荷物出荷等の多様な環境において固定式または携帯式装置に用いられる。光学コード読取り装置は、郵便の配達および区分けに広く採用されいる。
【０００３】
従来の大部分の光学走査システムは、１次元のバーコード記号を読取るように設計されている。そのバーコードは一定幅または可変幅のスペースで分離された可変幅の矩形パターンである。バーとスペースは異なる光反射特性をもつ。１次元バーコードの１つの例は、例えば製品在庫を同定するのに用いられるＵＰＣ／ＥＡＮコードである。
【０００４】
本明細書は、郵便番号の読取りに特に適する技術に関する。一般的に、郵便番号は一様な幅の一連のバーに特徴があり、コードの主軸に沿って一様に間隔を置いて配置されている。記号の使用法は、一般的にクロック・トラックと呼ばれる規則正しい平行なバー領域を含む。一部のバーの中にはクロックトラックの上方および／または下方に延びるものもある。これらの細長いバーは、アセンダーやデセンダーと呼ばれコード化情報を含むこともある。
【０００５】
郵便番号の実例は、郵便番号符号化技術（ＰＯＳＴＮＥＴ）である。ＰＯＳＴＮＥＴは、郵便に関するアドレス情報をコード化するのに最適化されたコードシステムを提供するように米国郵政公社によって開発されたものである。図１を参照すると、ＰＯＳＴＮＥＴコード１２の基本的要素は、縦長のバーつまりバー１のようなアセンダーと、バー２のような短いバーである。これらのバーはそれぞれ２つ状態、つまり２進法の１と０を表わす。両方の形式のバーは、線１８（線１８はコード記号の一部分ではない）で表わされる一端に一直線に並べられている。５つのバーのコードが１つの文字、例えば郵便番号の１つの数字を表わす。コードの左右のマージンは長いバー３により特徴付けられる。ＰＬＡＮＥＴと呼ばれる郵便番号は類似の構造を有しているが符号化が異なっている。ＰＯＳＴＮＥＴコードにおいて１つの文字を表わす５本のバーは２本の長いバーと３本の短いバーとを含む。
【０００６】
別の形式の郵便番号としてカナダ郵政局コードがある。カナダ郵政局コードの実例は図１（ａ）に示される。そのコードはＰＯＳＴＮＥＴコードに修正が加えられてものである。これは前述のＰＯＳＴＮＥＴコードに対して高度なアルファベット符号化能力を備える４つの状態のコードである。その４状態はそれぞれアセンダーバー４、デセンダーバー５、フルバー６（つまり、上方に延びる部分と下方に延びる部分の両方を有する）および短いクロックバー７により例示される。クロックトラックは、線８と線９の間に位置している。（線８と線９はコード記号の一部分ではない。）別の形式の郵便番号として英国の郵便番号がある。英国の郵便番号は、裏返された下層記号と、結合された２つのクロックトラックとを有する２層の米国のコードに類似している。１文字につき５本のバーの米国ＰＯＳＴＮＥＴコードに比べて、英国のコードは１文字について４本のバーを用いている。他の４状態のコードとしては、オーストラリア、日本およびベルギーの郵便番号を挙げることができる。
【０００７】
郵便番号は撮像装置を用いて読取り可能である。例えば、装置の視野に撮像素子または画素に対応する２次元配列のセルまたは光検出器を有する撮像センサを用いることができる。そのような撮像センサは、２次元または領域半導体センサであり、視野に関する画素情報の２次元配列に対応する電子信号を生成するための回路に接続できる。郵便番号を読取る際に利用できる撮像モジュールは、本明細書に参考文献として組み込まれている、Ｃｏｒｒｅａ他の１９９８年６月１２日出願の米国特許出願番号０９／０９６,５７８「コード読取り装置のための撮像エンジンおよびその方法」に開示されている。もしくは、以下のアルゴリズムを備える郵便番号処理部は、本明細書に参考文献として組み込まれている、Ｄｖｏｒｋｉｓ他の１９９４年７月１５日出願の米国特許出願０８／２７５,５１５「画像のラスタ走査方法および装置」に開示されたようなレーザ走査撮像を用いるシステムに適用できる。
【０００８】
本発明の目的は、郵便番号を読取るための効率的で正確な技術を提供することである。
本発明の他の目的は、光学式撮像装置を用いて郵便番号を読取るための技術を提供することである。
本発明の他の目的は、種々の形式の１次元および２次元コードを読取ることができる光学式撮像装置を使用する技術と、種々の形式の郵便番号を同定して読取るための技術とを提供することである。
【０００９】
本発明の他の目的は、光学式コード読取り装置に対して最初は未知の形式と方向の郵便番号を読取るための技術を提供することである。
本発明の前述の特徴や他の特徴は、記載された説明と図面とから明らかになるものである。
【００１０】
（発明の開示）
本発明は、光学式のコード読取り装置、特に撮像光学式コード読取り装置において有用な郵便番号を読取るための技術に関する。
より詳細には、光学式コード読取り装置により得られた画像データ配列に含まれる種々の形式の郵便番号を同定し読取るための方法が開示されている。郵便番号は規則正しく配列され平行なバーのクロックトラックを含むものと想定される。このシステムは郵便番号の存在を示す特徴を含んだサブ画像を備える。候補基準線は、記号の左から右へ郵便番号のクロックトラックの端から端まで延びるサブ画像内に配置されている。正しい基準線が選択されると、記号中の全てのバーはその基準線と交差できる。次に、バーの長さに基づいて記号列の状態を得るために各々のバーがその基準線の上下で追跡される。郵便番号中に含まれる情報を得るために、コード形式が決定され、記号列の状態が変換される。
【００１１】
好適な実施形態において、郵便番号の一方のマージンから他方のマージンまでクロックトラックを横切る基準線は、左側のマージンバー上の第１のポイントを選択し、右側のマージンバー上の第２のポイントを選択して位置が捜し出されて、ラインは第１から第２のポイントへ移動する。終点の選択は、基準線全体がクロックトラック内に位置しているか否かを決定するために基準線に沿ってバーの幅とスペースの一様性を検査することによって確認される。更に好適な実施形態において、第１と第２のポイントを選択するのに参照用テーブルを用いる。クロックトラックが見出されるまで、新しい候補基準線に対応する種々の代りのポイントが選択される。
【００１２】
本発明の好適な実施形態は、郵便番号の形式を同定してＰＯＳＴＮＥＴやカナダ郵便番号やＰＬＡＮＥＴコードまたは英国郵便番号等に適する変換アルゴリズムを適用するための処理技術を用いる。これらの方法において、郵便番号の全てまたは一部分を含んでいる可能性があるものとして同定される画素データがまず得られる。最初に郵便番号のクロックトラック全体が前述の方法で好都合に位置決めされる。そのようなバーのそれぞれがコード用の記号列の状態を得るために、さらにクロックトラックの上方または下方に延びるか否かを決定するために、位置決めされたクロックトラック内の各々のバーが検査される。バーの規則正しさが検査されて、ギャップが同定されると、各々の不在バーに対してプレースホルダーを挿入できる。郵便番号の形式は、バーの数と、アセンダーバーおよびデセンダーバーの存在を調べることで決定される。適当な復号化アルゴリズムは郵便番号の少なくとも１つの形式に適用され、処理はうまく復号化することによって終了する。好適な実施形態において、コードの形式を決定することは、そのコードがＰＯＳＴＮＥＴまたはＰＬＡＮＥＴコードを示すバーの数を有するか否かを決定することと、アセンダーバーとデセンダーバーの存在からコードの上下の向きを決定することと、ＰＯＳＴＮＥＴコードまたはＰＬＡＮＥＴコードとして記号列の状態の復号化を試みる段階を含む。そのコードが英国の郵便番号を示すバーの数を有するか否かについての決定をおこなってもよく、そうであれば英国郵便番号として記号列の状態の復号化を試みる。コードを英国郵便番号として復号化する試みが失敗すると、その方法はカナダ郵便番号として記号列の状態の復号化を試みる段階を含んでもよい。
【００１３】
本発明によれば、一旦クロックトラックを構成するバーが同定されると、２状態と４状態の両方の郵便番号を読取ることができる。同定された各々のバーについて、そのバーがクロックトラックから上に延びるか下に延びるかをその後の処理で決定する。つまり記号列の状態がもたらされる。次に、実質的にバーのすべてがクロックトラックから一方の方向また他方の方向へと延びる場合、システムはまず記号列の状態を２状態のコードとして復号化することを試みる。例えば、２０％か２５％より少ないバーがデセンダーとして同定されると（残りはアセンダーとして同定される）、最初に用いられる復号化アルゴリズムは２状態アルゴリズムである。記号列の状態を２状態のコードとして復号化する試みに失敗すると、次に処理装置は４状態コードとしてその記号列の状態を復号化することを試みできる。記号列の状態を４状態コードとして復号化する試みは、まずそのコードを固有長の４状態コードとして復号化することを試みできる。さらに、２状態と４状態の復号化の試みは、コードの論理上の最大誤り訂正能力未満の能力で行われる。
【００１４】
本発明はまた、郵便番号を読取るための装置にも関連する。この装置は２次元の配列の画像データを得るための光学式のセンサを含むことができる。ランダムアクセスメモリやマイクロプロセッサや適当なソフトウェアを含む回路を、以下の機能を提供するために用いることができる。自動同定機能は、郵便番号記号の全てまたは一部分を含む可能性がある画像データ中にサブ画像のクラスタを同定するのに用いることができる。クロックトラックロケータ機能は、コードマージンの間に延びる１本以上の基準線に沿ってバーとスペースの一様性を調べることでサブ画像のクラスタ内で完全なクロックトラックの位置を捜し出す。バー追跡装置機能は、基準線に垂直な各々のバーの長さを決定し、それに応答する記号列の状態を生成するのに用いることができる。適当な復号化機能は、記号列の状態を変換して、提供された情報をユーザまたはホストシステムにもたらす。
【００１５】
好適な実施形態において、クロックトラックロケータは、１本以上の候補基準線を生成するための終点系列の参照テーブルを有するメモリを含み、それに沿ってバーとスペースの一様性が評価される１本またはそれ以上の基準線を生成する。ライン移動アルゴリズムは、候補基準線上の１つの終点から第２の終点まで移動するのに用いることができる。また、ハードウェアおよび／またはソフトウェアに組み込まれた郵便番号ディスパッチャは、検出された郵便番号の形式を同定して、同定された郵便番号の形式に適した復号化アルゴリズムに従って郵便番号を復号化するのに用いることができる。
【００１６】
前述のものは本開示の要約として与えられるが、保護されるべき本発明は、クレームの文言と法律で認められた均等物で定義される。
【００１７】
【発明を実施するための最良の形態】
図１は、郵便番号１２に向けられて示された手持型撮像バーコード読取り装置１０の外観図である。郵便番号１２は、読取り装置の視野１４内に示されており読取り装置１０に対して任意の角度で指向している。好適な実施形態において、読取り装置は、ＣＣＤ等の領域撮像センサを含む撮像エンジンつまりモジュール１６を含む。適切な撮像モジュールは、前記の特許出願番号０９／０９６,５７８に説明されている。撮像センサは画素配列データを、該データを処理して種々の形式の光学コードからの情報を復号化するための回路へ供給する。
【００１８】
前述のように、郵便番号１２は一列に配置される略平行な一連のバーを特徴とする。短いバーと、長いバーの一部分とが、平行線１８と２０（説明のためのものであり郵便番号記号の一部をなすものではない）により境界をつけられたクロックトラックを規定する。より長い方のバーは、「上へ延びる」または「下へ延びる」バーとして様々に説明される。種々の長さのバーがコード形式によりコード中に存在できる。例えば、図１ａのカナダの郵便番号の実例に関して前述したように、４つの異なる長さのバーがコード中に存在できる。
【００１９】
Ｉ．種々の形式のコードの信号処理と自動同定
図２は、本発明の好適な実施形態において、撮像センサデータの処理および復号化を示すフローチャートとシステムブロック図とを組み合わせたものである。撮像センサ回路により得られるデータは１００で示される。このデータは、目標画像に関する画素情報の２次元配列に対応する電子信号の形態であってもよい。データは、その後の処理のために光学式コード読取り装置のダイナミックランダムアクセスメモリ（ＤＲＡＭ）に記憶される。図２および図３の処理を実行する処理ソフトウェアは、全レベルの記憶された画像データにアクセスできることを理解されたい。種々の処理段階において、画素データ部分はその後の処理のためまたは進行中の解析を確立するために呼び出すことができる。
【００２０】
画素データはサブ画像、例えば３２ｘ３２画素サブ画像に分割できる。これらのサブ画像は、種々の形式の光学コードと関連することが知られており、特定のコードを他のコードや環境画像（非コード）と区別することが知られている特性に関連して解析される。詳細には、統計的自動同定を用いることができる。統計的自動同定において、画像は、サブ画像または部分と各部分について計算された所定の統計値とに分割される。類似の統計値を有するサブ画像は、関心のある領域またはコードを含むことができるクラスタを形成するようグループ化できる。統計的手法の利点は、一旦統計値が作り上げられるとサブ画像を処理すればよく、計算要求を相当低減できることである。さらに、統計値の編集は簡単であり超高速システム用のハードウェア中で行える。好適な実施形態で用いる統計値は、局部的な表面方向のヒストグラムである。統計値は、サブ画像を密集させるために各サブ画像中の表面接線を解析することで得ることができる。一旦クラスタが同定されると、特定形式の光学コードに関する特徴の存在を検出するために、画像データはさらに解析される。そのような１つの特徴は、郵便番号の支配的な傾向である場合がある。統計的自動同定は、シンボルテクノロジーズ社に譲渡され、本明細書に参考文献として組み込まれている、Ｈｅ他の米国特許出願番号０９／０９６,３４８「自動同定およびコード読取り装置用の線描技術」の主題である。もしくは、光学コードを含む可能性のある関心画像領域を同定するために、ニューラルネットワークを用いることもできる。ニューラルネットワークは、画像データを処理するのに用いることもできる。サブ画像に対して投影された照準パターンの位置は、その後の処理のためにサブ画像を選択する証印（indicia）または加重因子としても使用できる。
【００２１】
好適な実施形態において、システムのマイクロプロセッサにより実行される自動同定ソフトウェアは、どのサブ画像クラスタが、特定形式のコードと特定の境界の画素データ配列の座標または予め同定されたコード領域の特徴を含むかを決定する。このシステムは１０４に示される。図２に示されるように、画像データは、一次元コード、２次元コード、郵便番号またはＭａｘｉＣｏｄｅとして予め指定され、同定可能な統計パターンを有する他のコード形式がこの処理段階で同定できることが理解できる。図２の残りの部分は、一次元コードの処理方法を示す。郵便番号を処理する具体的な手法を次の図に示す。
【００２２】
自動同定機能１０４は、一次元バーコードの全てまたは一部分を含む可能性があるものとして指定される関心領域の終点つまり境界座標をもたらす。詳細には、自動同定機能は、一次元バーコードを含むとして同定される画素情報の平行四辺形を規定する、角地座標を与えることによってクラスタおよび方向情報をもたらすことができる。１０６で示されるその後の処理は、コードのディジタル化バージョンを生成する。詳細には、１０８の機能は、関心画像領域にあるデータから１つ以上の波形を抽出する。この処理は、システムにより選択される線の近くの画素の解析を含む（描線）。この処理は、前述のＨｅ他の米国特許出願に詳細に述べられている。この処理の結果は、自動同定１０４により予め決定されたものとしてその主たる軸線に沿って一次元のコードの端から端まで描かれた、比較的「幅広」の線つまり帯状画素中の画素グレースケール情報から生成される連続波形１０９である。この線、つまり帯状画素の幅は、１からｎ画素まで調節可能である。その波形の山と谷は１１０で示されるように同定される。１１２に示されるように、ディジタル化によりこの情報を画像データつまりビット内容に対応する電子信号に変換する。ディジタイザ処理は、シンボルテクノロジーズ社に譲渡され、本明細書に参考文献として組み込まれている、Ｄｕａｎｆｅｎｇ  ＨｅとＥｕｇｅｎｅ  Ｊｏｓｅｐｈとによる１９９８年６月１２日出願の米国特許出願「バーコード記号データディジタル化」に説明されている。次にディジタル化された出力は、変換されたデータ出力を供給するよう１１４で変換される。１１６の信号線は、同一の一次元データ全域に描かれた異なる線からデータを抽出することを要求する可能性を示している。すべての描線を復号化することに失敗しても、信号線１１８で示されるように、目標コードを同定して位置を捜し出す更なる試みにおいて追加の自動同定を起動するのに利用できる。
【００２３】
自動同定機能がコードを仮にＰＤＦコードとして同定すると、開始および／または終了パターンの座標が与えられ、処理は前記のＣｏｒｒｅａ他の出願に説明される方法で継続する。自動同定機能がコードを仮にＭａｘｉＣｏｄｅとして同定すると、サブ画像クラスタ位置情報が与えられ、前述のＨｅ他の出願や、シンボルテクノロジーズ社に譲渡されており、本明細書に参考文献として組み込まれている１９９８年１０月２２日出願の米国特許出願番号０９／１７６,８９４「マキシコードを含む２次元コード読取りのための技術」に説明されている方法で処理が継続する。
自動同定機能が仮にコードを郵便番号として同定すれば、サブ画像の連結リスト、クラスタが与えられ、以下に検討する処理が行われる。
【００２４】
II．郵便番号の処理と復号化
図３は、自動同定機能により郵便番号であるものとして同定される２次元画素データの処理と復号化を示すフローチャートである。
自動同定機能からの郵便番号サブ画像のクラスタは、郵便番号クロックトラックの左右のマージンを見つけるために１３３で前処理される。最初のバーから最後のバーまで郵便番号クロックトラックを横切る線の端点は、郵便番号前処理の出力である。前処理において、コードは、最も強い相関関係つまり相似性を有するサブ画像により構成されるサブ領域に指向されていると想定する。左右のサブ画像は、各々の左右のサブ画像（必ずしもコードの最初のバーと最後のバーとは限らない）の中のバーを同定するために検索される。次に、この処理は、同定されたバーの間のクロックトラックを示すバーの規則性を同定しようとする。「試み」は、（同定されたばかりのバーを越えたところに在るかもしれない）左右の郵便番号マージンの位置を捜し出すことを試みるルーチンとして定義される。クロックトラックは高いアスペクト比をもつので、最初の試みで最初のバーと最後のバーを見つけることは難しい。従って、前処理は、適当な基準線が見つかりクロックトラックの最初のバーと最後のバー（左右のマージン）を同定できるまで、クロック基準線の最初の推定値を再調整することを繰り返す。
【００２５】
一旦クロックトラックの左右のマージンの位置を捜し当てると、データは、バー・アセンダおよび／またはバー・デセンダーの存在を決定するためのライン移動アルゴリズム１３４によりさらに解析される。この情報に基づいて復号器ディスパッチャ１３５は、関係する郵便番号の形式について暫定的な決定をする。アセンダ／ディセンダ位置データまたは記号列の状態は、適当な変換機能１３６から１４２に送られて変換が試みされる。変換に失敗すると、別の郵便番号形式を選択するためにプロセス制御を復号化ディスパッチャへ戻すことができ、または解析用の別のコード形式および／またはサブ画像のクラスタを選択するために自動同定機能１０４へ戻すこともできる。
【００２６】
Ａ．郵便番号前処理装置
郵便番号の前処理装置は、クロックトラックを探して郵便番号復号器に送る。最初のバーから最後のバーまでクロックトラックを横切る線の終点が出力である。前処理装置の詳細は以下に説明される。
前述のように、前置処理を構成する多数の前処理装置がある。それらの各々は、サブ画像クラスタを自動同定機能からの入力として受け取る。（クラスタは類似の統計的特性を示すサブ画像群である。）郵便番号の場合には、クラスタは、コードの真上に印刷されたアドレス情報部分などの外側の画像データを含むことができる。
【００２７】
図４は郵便の前処理プログラムのフローチャートである。郵便の前処理における第１のステップは、２００で示されるようにクラスタ内のコードの少なくとも一部分の位置を捜し当てことである。コードは、最も強い相関関係つまり相似性を有するサブ画像線を含むと想定される。次に、それぞれコードの左右端の各々に向かう１つのバーを同定するために、疑わしいコード位置の左右のサブ画像が２０２で検索される。これらがコードの最初のバーと最後のバーである必要はない。これら２つのバーの終点（つまり、クロックトラックに垂直な方向の上部と下部の極値）は、入力を２０４のルーチン「クロックトラックを見つけよ」に与える。クロックトラックが見つかると、次にマージンロケータは、クロックトラックの最初のバーと最後のバーを見つける。
【００２８】
処理が成功すると、クロックトラックのおよその位置がもたらされる。しかし、クロックトラックは高いアスペクト比をもつので、最初の試みでその位置を完全に決定することは難しい。このことは図１に示されている。図示されているように、推定したつまり候補クロックトラック２２は、線１８と２０により規定されているので、実際の記号のクロックトラック２４と正確に一致しない場合がある。位置合わせが非常に悪くて推定クロックトラックが実際のクロックトラック部分からずれることがある。
【００２９】
左右のバーの終点を見つける２度目の繰返しは、最初の予測クロックトラックをクロックトラックの適所に再調整できる。これに成功すると、線１８と２０により表わされるクロックトラックの境界を見出すことができる。クロックトラックを再評価する必要があり、マージン発見ルーチンを用いて最初のバーと最後のバーとを再度見出す必要がある。所望であれば、より正確な位置決めを行うためにそれ以上の繰返しを実行できる。このようにして、一様に間隔を置いて配置された一連のバーの、真の最初のバーと最後のバー２６と２８を見出すことができる。
【００３０】
しかし、これらのルーチンを終了しても必ずしも郵便番号として画像を同定することになるとは限らず、ましてや郵便番号の形式を同定するには至らないということを理解されたい。例えば、単純な格子は一様に間隔を置いたバーを有するが郵便番号にはそれがない。バーの長さの変動を検知するための手順を解析する必要がある。この変動が存在する場合、郵便番号が在ることが推測される。クロックトラックを横切って線が引かれており、各々のバーについての黒／白のしきい値を計算するのに用いられる。この線の終点は、クロックトラックの位置を表わし同様に記憶される。クロックトラック位置としきい値とは郵便復号器に利用される。
【００３１】
１．クロックトラックの発見
クロックトラックの発見ルーチン２０４は、図５に関連してより詳細に説明されている。このルーチンは、左右のバーの状態を推測してクロックトラックが見出されているか否かを検査する。前述のように、クロックトラックは一連の一様なバーとスペースである。この一様性を評価して、クロックトラックが見つかると、クロックトラックの終点は３０２で記憶され、ルーチンは成功に戻る。クロックトラックが見つからなければ、左右のバーの状態についての推測が変更されクロックトラックを同定するために他の試みがなされる。左右のバーを設定してクロックトラックを探すこのループは７回まで反復可能である。各々の反復のために選ばれた状態は、図５に示されるＬＵＴ（参照テーブル）３０４によって制御される。クロックトラックは、一様なバーとスペースだけでなく、平均的なバーとスペース幅３０８の間の比率により特徴付けられる。（ｓｐａｃｅ＿ｗｉｔｈ＜４*ｂａｒ＿ｗｉｄｔｈ）。一様性は、候補基準線またはクロックトラックが正しいものか否かを決定するのに用いられる。
【００３２】
２．バーの一様性の検査
図６は、バーの一様性を検査するルーチン３０８の詳細なフローチャートである。一連の一様なバーは、バーの幅の変動が小さいことを意味する。可変のacc errorは、誤差が小さなしきい値δｔより大きい場合、バー幅と平均バー幅との間の誤差を累積する。この累積された誤差が大きいと（acc error>ave bar*num bar/(１６)、失敗リターンが４０２で示される。そうでなく最大のバーと最小のバーとの間の比率が２より小さければ、成功リターンが４０４で示される。
【００３３】
３．バックフィルしきい値
バックフィルしきい値ルーチンは図４の２０６に示される。このルーチンは、クロックトラックを横切る線を入力として受け取る。しきい値は、この線に沿う端部を見出して、その端部に境界をつける山谷の平均値を取得することにより計算される。図７ａはそのような線に沿う強度グラフを示し、境界をつける山５０４と谷５０６との間の一端５０２を強調表示する。しきい値はクロックトラックに沿う各々のサブ画像について記憶される。このルーチンのためのフローチャートは図７に示される。
【００３４】
Ｂ．郵便番号処理装置
郵便番号処理プログラムは次の入力を前処理プログラムから取得する。つまり全てのバーと交わる線の終点である２つの点と、その線に沿う背景からバーを分離するのに用いることができる１組のしきい値である。
【００３５】
提案された、または現在使用中の最も複雑な郵便番号は、４状態コードである。そのようなコードにおいて、バーは、アセンダー、デセンダー、クロックバーまたはフルバー（図１ａ参照）である。処理プログラムの出力は、アセンダー／デセンダー解析（図３、ブロック１３４）の結果である。これは番号の記号列であってもよく、各々は１つのバーの状態を表わす。バーの状態は、フルバー、アセンダー、デセンダー、クロックバー、または不確かな状態の上端か下端の一方または両方をもつバー（合計５状態がこの部類に属する）のうちの１つである。明らかにこのバーの状態の定義は、４状態の郵便番号によく適合する。バーが「長いバー」とだけ分かる代わりにそのバーがアセンダーであるかデセンダーであるかを知る能力もまた２状態（米国）郵便番号には大切である。下流の郵便番号ディスパッチャは、その記号列の状態にアセンダーが全くなくデセンダーしかないことが分かれば、全てのデセンダーをアセンダーに変えて記号列の内容を反転させることによって記号列を回転させることができる。この回転は良好な復号化をもたらし、郵便番号が上下反対になった場合に起こる可能性がある復号化間違いを回避する。
【００３６】
郵便番号の処理装置は以下のステップを実行できる。
１．図８を参照して、入力または基準線６０２に対する横方向を見出して、後で用いるために記憶する。バーの上方向は、図に示されるように入力線を９０°だけ反時計回りに回転することにより見出される。ノイズを考慮して、主要な方向１（格子上の８つの主要な方向のうちの１つ）と、隣接する方向（２と３）は同様に、後でバーの追跡を行なう際に完全な１組の方向として利用される。この３つの方向は（後で検索される）、その正確な方向（図８に示されるように）に対する密接度に従って列挙される。バーの下方向セットの３方向は、単にその逆である。これらの方向はバー追跡のルーチンの際には有用である。
【００３７】
２．ライン移動アルゴリズム（ブレセンハムのライン移動アルゴリズム等）が入力線の一方の終点から他方の点まで移動するのに用いられる。ブレセンハムのアルゴリズム等の種々の線画アルゴリズムは、ニューマン等の「対話式のコンピュータグラフィックスの原理」の２０頁から２７頁（マグローヒル第２版）に説明されている。
【００３８】
３．ライン移動の間、現在の画素の濃度は、局所しきい値（前述の計算をおこなう前処理装置から入力として受信されたもの、または入力ラインに沿った信号変化から計算された局所しきい値）と比較される。しきい値を超えていない場合は、バーの先端が見つかっている。次の画素が現在の画素より濃い場合にのみバーの幅にわたるバーの中心を見つけるために移動が継続する。トラックバー・ルーチンは、このバーの終点を同定するためにこの地点から呼び出される。移動は画素が局所しきい値に達し、それを越える濃淡レベルをもつまで継続する。このことは、このバーを離れたことを意味する。処理ルーチンは、宛先に達するまで次のバーを検査するよう戻される。
【００３９】
４．トラックバールーチンは、前のステップで見出された各々のバーの所定の開始点から始まり、（前記ステップ１で見出された）上下方向にバーを追跡する。各々の方向におけるステップのスコアは、図９に示されるように同じでないことがある。主要な方向が格子の方向に沿うのであれば、各々の方向のステップは同じスコアをもつ。しかし、主要な方向が対角線方向であれば、同程度に遠い投影距離に関してはサイドステップは半分相当である。これらのシステムのうちの１つだけが所定の郵便番号に用いられるのであって、同時に両方ではないことに留意されたい。ステップの大きさを調整することは、ノイズ空間の周りの迂回した移動を正しく評価するのに役立つ。そのような調整で如何なる特定のバーコードにおいてもバーの長さは同じ方法で測定されるが、違う方法でスコア化されるので異なるバーコードにおけるバーの長さが比較できない場合もある。出力はバーがどれだけ遠くに上下に延びるかである。バーの位置は、ライン移動ルーチンの開始点について記録され、次のステップの極めて重要な情報の１つになる。
【００４０】
５．細分化ルーチンは、バーがほぼ均一に間隔を置いて配置されていることを確認する。ギャップがある場合、適当な数のプレースホルダー（各々のプレースホルダーが１つの不在バーに対応する）で補充される。これは誤差許容範囲を大きくする手段である。下流の復号器は、未知のバーについてのプレースホルダーを用いて記号列の状態を正確に処理できるが、不在バーを通知されていなければ状況に正しく対処できない。同様に、他のギャップに比べて非常に短いであろう、バーと、隣接する２つのバーとの間のギャップを形成するノイズ斑点が明らかにある場合、このノイズ斑点（偽りのバー）は除去される。ノイズ斑点は、このノイズ斑点の典型的に低い高さによって近接し隣接した真のバーと区別される。
【００４１】
６．クロックトラックの平均的な縦の大きさは、以下の方法で見出すことができる。全てのバーの高さと、全ての２つの隣接するバーの間の全ての重複とをヒストグラムに累積する。２つのバーの間の「重複」は、両方のバーが図１ａで円により囲まれる、符号５１８で同定される重複のような平行に位置する垂直領域である。可能性のあるノイズを除去するためにヒスログラムにフィルタをかける。次に、最小のピークがクロックトラックの大きさとして取得される。
【００４２】
７．バーの解析を始めるために、決定されたクロックトラック高さの大きさに基づくアンカーポイントを見つける。アンカーは、クロックバー自体かまたはクロックトラックを形成する２つの隣接するバーの重複部分のいずれかである。アンカーは、期待した大きさを有する効果によって、クロックトラックが正しく同定されたという高い信頼を与えるよう選択される。前記６項からのクロックトラック高さを用いて、アンカーポイントは、解析の開始点に加えてクロックトラックの上と下の縦方向の位置を与える。
【００４３】
８．バーはアンカーポイントから左右に解析される。解析ルーチンは、状態番号を現在のバーに割り当てるために、現在のバーを予め既知のバーと比較する。クロックトラックの縦方向の位置は、可能であればいつでも各々のバーが解析された後に適合される。さらに、別のアンカーポイントが見出されるといつでも、クロックトラックの縦方向の位置が更新される。解析はバーの記号列の状態をもたらす。
【００４４】
Ｃ．変換ディスパッチと復号化
図３に示されるように、記号列の状態は、ディスパッチャ１３５によって個々の郵便番号復号器１３６から１４２まで送られる。ディスパッチャのフローチャートは図１０に示されている。各々の記号列の状態について多くても３つの呼び出しが復号器になされる。米国と英国の両方のコードに関して、コードは特定の長さに適合する必要があるが、カナダ郵政局のＰｏｓｔＢａｒにはそのような要求はない。その理由は、ＰｏｓｔＢａｒは強力な誤り訂正能力を備えており短縮コードを復号化できるからである。４状態のコードに関して、個々の復号器は回転の可能性に対処する。他の郵便番号にも適合可能である。
【００４５】
ディスパッチャ１３５は、専用のカナダ郵政局ＰｏｓｔＢａｒ復号器（カナダ郵政局所有）、米国郵便番号復号器（国際郵便用に設計された通常のＰｏｓｔＮｅｔおよびＰｌａｎｅｔコードを処理する）および英国の郵便番号復号器の修正バージョンを必要とする。
【００４６】
図１０に示されるように、５０２での最初のモジュロ分割は、米国郵便番号と英国郵便番号との間の予備的なふるい分けとして用いられる。最初の表示が米国コードであれば、システムはアセンダーまたはデセンダー数を調べ、そのコードが米国Ｐｌａｎｅｔか米国ＰｏｓｔＮｅｔかを決定するためにコードの方向を決定することを試みる。適当な復号化が５０４，５０６，５０８または５１０で試みされる。米国コードとして復号化することに失敗すると、５１４でアセンダー数とデセンダー数をさらに評価することになり、５１２で英国コードとして記号列の状態の復号化を試みることになる。５１４で検査に失敗すると、結果として５１６でカナダ郵便番号として記号列の状態の復号化を試みることになる。
【００４７】
米国および英国の郵便番号の復号化についての詳細を以下に説明する。
米国および英国の郵便番号（まだ標準的用法ではない）は、見かけは非常に異なっているが密接に関係している。両者は単一のバーの開始パターンと終了パターンを有し、両者は一桁のチェックサムを用いている。英国の郵便番号は、裏返された下コードと、結合された２つのクロックトラックを有する２層の米国のコードと殆ど同じである。米国のコードは１文字に５つのバーを用いるのに対して英国のコードは１文字に４つのバーを用いる点で異なっている。従って、それらの復号器に同じアルゴリズムと多数のプログラムコードを共用させることが有利である。
【００４８】
オブジェクト指向復号器は、これらのコードに用いることができる。米国コードに関して、１つのオブジェクトのみが使用される。英国コードに関して、２つのオブジェクトが使用され、一方はそのコードのアセンダー部分に、他方はデセンダー部分に使用される。
【００４９】
以下の復号化処理を利用できる。
１．バーの数は、テーブルまたは方程式セットと対照して検査される。各々のコードは、許容できるバーの数の固有のセットのみを有する。
２．米国コードのみに関して：（ａ）必要であれば（先の段階からの情報を用いて）記号列の状態を回転する：（ｂ）本段階からは如何なるデセンダーも無視する。
３．開始および終了パターンを検査する。英国コードの場合、開始および終了パターンが、コードが上下反対であることを示す場合は記号列の入力状態を回転することが必要なこともある。米国コードに関して、上下反対の状態はすでに修正されている。
【００５０】
４．米国または英国コードの存在が示されるか否かにより、１つまたは２つの復号器オブジェクトが生じる。各々の復号器は１ビットバー状態の系列を取得し、「１」はアセンダー（またはデセンダー）の存在を表わし、「０」はそれが無いことを表わす。その系列は文字単位で解析され、米国コードについては１文字につき５つのバー（ビット）が、また英国コードについては４つのバーが解析される。各々の文字についてのビットを収集しながら、システムはバーのいずれかが不確定な状態にあるか否かを記憶する。
【００５１】
５．各々の文字を有効にするために一貫性が検査される。ＰｏｓｔＮｅｔおよび英国コードに関して、各々の文字は２ビットセットを有するはずである。Ｐｌａｎｅｔに関して、各々の文字は３ビットセットを有するはずである。文字がいくつかの不確実な状態のバーを有する場合、処理はそれが訂正できるか否かを決定する。文字の訂正ロジックは以下のようなものである。すなわち、全ての既知のバーが正しい数のアセンダーを示す場合、未知のバーはクロックバーとして処理され、逆に、全ての既知のバーがクロックバーの正しい数を示す場合、未知のバーはアセンダーとして処理される。何らかの一貫性の欠如が見られると復号化は失敗である。
【００５２】
６．米国コードに関して、文字はそれらが表わすディジットに変換される。
７．チェックサムは記号論仕様に従って計算され（英国コードに関して、一方はアセンダーのための他方はデセンダーのための２つのチェックサムが計算される）、コードから読取られたチェックサムと比較する。それらが同じでない場合は復号は失敗である。
８．英国コードのための出力メッセージを見つける。
【００５３】
多重の郵便番号をシステムにより読取る必要がある場合、システムは復号化速度と正確さを最適化するのに逐次処理を用いることができる。１つの実施形態において、同定された全ての（例えば７５％以上）細長いバーが実質的にアセンダーかデセンダーの一方であるという決定に基づいて、２状態コードとしてコードを復号する最初の試みをするための判定がなされる。種々の２状態コードが検査される。そのような試みされた復号化が失敗すれば、記号列の状態は４状態の復号器に送られる。次に、４状態のコードの復号化を試みでき、その４状態の復号化の試みはコードの許容される可変性に関して順序づけられる。例えば、固有長コードの復号化は、例えばカナダ郵便番号の復号化（多くの不在バーを許容する後者の記号論）を試す前に試みできる。誤り訂正の特徴が在る場合には、システムは最大の誤り訂正能力を用いることなく複合化を試みる。例えば、カナダやオーストラリアの郵便番号の復号化を試みる場合、システムはリードソロモン符号が最大限に訂正できるその能力を用いなくてもよい。米国、英国または日本のコードにおいて、システムはパリティ値を用いることによって無効な文字を訂正できない。その代わりに、システムはそれ自身の中にある無効な文字を訂正することを試みるだけである。
【００５４】
本発明の説明された実施形態は、限定的であるよりむしろ例示的であることを意図したものであって、本発明の全ての実施形態を表わすことを意図したものではない。文言上および法律で認められた均等の請求項に記載の本発明の精神または範囲から逸脱することなく開示されたシステムに種々の変更や修正を行うことができる。
【図面の簡単な説明】
【図１】  手持型撮像光学コード読取り装置とＰＯＳＴＮＥＴコード記号の外観図を示す。
【図１ａ】  カナダの郵便番号記号の例である。
【図２】  画像コードデータの自動同定を示す、フローチャートとシステムブロック図を組み合わせたものである。
【図３】  自動同定機能により郵便番号として同定された２次元画素データの処理と復号化を示するフローチャートである。
【図４】  郵便番号前処理プログラムを示するフローチャートである。
【図５】  サブルーチンを見つけるクロックトラック発見サブルーチンを示すフローチャートである。
【図６】  バーの幅とスペースの一様性を検査するためのサブルーチンを示すフローチャートである。
【図７】  バックフィルしきい値のためのサブルーチンを示すフローチャートである。
【図７ａ】  図７のサブルーチンの操作を説明するために用いらる信号波形である。
【図８】  定められた基準線に対する横方向を見つけることを示す線図である。
【図９】  郵便番号バーの追跡を示す線図である。
【図１０】  復号器に組み込まれた郵便番号ディスパッチャを示すフローチャートである。
【図１】
0004557433.tif 000002
【図１Ａ】
0004557433.tif 000003
【図９】
0004557433.tif 000004
【図２】
0004557433.tif 000005
【図３】
0004557433.tif 000006
【図４】
0004557433.tif 000007
【図５】
0004557433.tif 000008
【図６】
0004557433.tif 000009
【図７】
0004557433.tif 000010
【図７Ａ】
0004557433.tif 000011
【図８】
0004557433.tif 000012
【図１０】
0004557433.tif 000013