(57)【要約】【課題】  本発明は、複数のバーコードまたは２次元コードが印刷されている文書をスキャナで取り込み、文書の中からコード部分を抽出及びデコードし、コードとして記憶されている情報を取り出す装置を提供する。【解決手段】  情報を記憶した複数のパターンを有するデジタル画像化された文書を、前記各々のパターンを含む複数の小領域に分割する領域分割手段と、分割された複数の前記小領域に対して、前記パターンの読み取りを実行し、前記パターン内に記憶された情報を読み取る情報読み取り手段と、前記複数の小領域から、前記情報読み取り手段で読み出した複数の情報を、同時に出力することが可能な情報出力手段とからなることを特徴とする画像認識装置により構成する。【選択図】  図２
2004303223.tif 000002
【特許請求の範囲】
【請求項１】
２次元的に情報を記憶した長方形のパターンを含む、情報を記憶した複数のパターンを有するデジタル画像化された文書を、前記各々のパターンを含む複数の小領域に分割する領域分割手段と、
分割された複数の前記小領域に対して、前記パターンの読み取りを実行し、前記パターン内に記憶された情報を読み取る情報読み取り手段と、
前記複数の小領域から、前記情報読み取り手段で読み出した複数の情報を、同時に出力することが可能な情報出力手段とからなることを特徴とする画像認識装置。
【請求項２】
前記情報出力手段は、前記読み出すことのできた情報に加え、前記パターンの位置を出力することを特徴とする請求項１記載の画像認識装置。
【請求項３】
前記情報出力手段は、前記読み出すことのできた情報に加え、前記パターンの種類を出力することを特徴とする請求項１記載の画像認識装置。
【請求項４】
前記情報読み取り手段は、読み取りを行うパターンの種類を設定する読み取り設定手段を有することを特徴とする請求項１記載の画像認識装置。
【請求項５】
２次元的に情報を記憶した長方形のパターンを含む、情報を記憶した複数のパターンを有するデジタル画像化された文書を、前記各々のパターンを含む複数の小領域に分割する領域分割ステップと、
分割された複数の前記小領域に対して、前記パターンの読み取りを実行し、前記パターン内に記憶された情報を読み取る情報読み取りステップと、
前記複数の小領域から、前記情報読み取りステップで読み出した複数の情報を、同時に出力することが可能な情報出力ステップとからなることを特徴とする画像認識方法。
【請求項６】
前記情報出力ステップは、前記読み出すことのできた情報に加え、前記パターンの位置を出力することを特徴とする請求項５記載の画像認識方法。
【請求項７】
前記情報出力ステップは、前記読み出すことのできた情報に加え、前記パターンの種類を出力することを特徴とする請求項５記載の画像認識方法。
【請求項８】
前記情報読み取りステップは、読み取りを行うパターンの種類を設定する読み取り設定ステップを有することを特徴とする請求項５記載の画像認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文具装置、コンピュータへの手書き入力装置、文書管理システムに関連し、特に、複数のバーコードまたは２次元コードが印刷されている文書をスキャナで取り込み、文書の中からコード部分を抽出及びデコードし、コードとして記憶されている情報を取り出す画像認識装置及び画像認識方法に関連する。
【背景技術】
【０００２】
業務の電子化の進展により、取り扱われる電子文書の数が増大している。しかし、一方では、ＣＲＴ、ＬＣＤなどのディスプレイによる文書表示の品質は、いまだ紙へ印刷された文書の印刷品質に劣る場合も多い。このために、電子的に作成された文書を紙文書として紙に印刷する場合が多い。
【０００３】
ところが、その紙の文書を印刷してから、時間が経過するにつれて、この紙の文書またはそれに対応する元の電子文書へのアクセスの頻度が減少していく。そして、長い時間が経過してから紙文書を見たときには、この紙文書に対応する元の電子文書にアクセスしようとして、その電子文書の所在が不明になっていることが頻繁に起こる。
【０００４】
このような事態を避けるために、特許文献１には、紙文書上に電子文書のＩＤやその文書の様々な書誌的な情報を格納したひとつの２次元コードを、その紙文書を印刷するときに、同時に印刷する複合機を開示する。そして、後に、その紙文書上に印刷された２次元コードを読み取ることにより、紙文書から元の電子文書へ、容易にアクセスすることを可能とする。
【０００５】
また、特許文献２には、上記に加え、紙文書に筆記した内容を元の電子文書に重畳させたり、元の電子文書の属性に応じて筆記内容を、文字認識やマーク認識をして電子的に統計処理しやすいようにすることも可能とするシステムが開示されている。
【０００６】
また、上記以外の情報をコードとして紙に印刷するという需要も大きくなってきている。例えば、複数のバーコードが文書の上に印刷されていることもしばしばある。特許文献３は、バーコードリーダで複数種類のバーコードを読み取らせるための技術を開示している。しかし、バーコードリーダ自体は、一度に一つのバーコードしか読むことができない。例えば、コンビニエンスストア等で利用できる公共料金や通信販売の振込み用紙は、バーコードが多数印刷されている。従って、入金の処理を行うためには、店員が、ハンディバーコードリーダを用いて、印刷されているバーコードの数に等しい回数だけバーコードを読み取らせるという煩雑な処理が必要である。
【０００７】
また、上記のように紙文書にバーコードを重畳して印刷することを更に発展させて、電子文書と紙文書との連携、紙文書からの情報入力を行おうとする目的のために、バーコードに埋め込む情報を増やす場合には、次に列挙するような問題も発生する。
【０００８】
先ず第１は、文書のレイアウトの制限の問題である。一つのバーコードや２次元コードに必要な情報を全て埋め込み、それを文書とともに印刷する場合も考えられる。このような場合には、コードに多くの情報を埋め込むために、コードが大きくなる。例えば、バーコードの場合には、横方向に大変長くなったり、又は、データが全て入りきらないために更に一つのバーコードが必要になったりすることもある。このような場合には、文書として使用できる領域が減少し、紙に印刷できる情報量が少なくなるばかりか、コードが目障りになって見やすい文書ではない。また、一般に普及している２次元コード（例えばＱＲコード）では、バーコードよりも埋め込める情報密度が高いので、同じ情報量を埋め込むとするならば、２次元コードを使用することによってその大きさが小さくなり、有利である。しかし、このような２次元コードは、外形が正方形であり、埋め込む情報量に応じて、正方形の大きさが増大していく。即ち、文書中に大きな正方形が位置することになり、文書レイアウトの自由度を低下させてしまう。さらに大きなファインダパターンを三つ用意しなければならず、コードの向きを判定するためのパターンの面積が増加し、同じ容量のデータを埋め込むために、コードサイズが大きくなるという欠点もある。
【０００９】
第２は、機密文書の保護の問題である。紙文書上に電子文書のＩＤや書誌的な情報を載せると、元の文書へのアクセスが容易になるという利点がある。しかしながら、その電子文書や紙文書が機密扱い文書である場合には、その紙文書のコピーや元の電子文書へのアクセスを制限する必要がある。標準化されているコードを利用する場合には、簡単に情報を盗まれるため、独自コードを利用する必要が出てくる。独自コードならば、文書のレイアウトに与える影響を最小限にすることも可能である。
【００１０】
第３は、紙にすべての情報を印刷することは資源の無駄となるという問題である。紙に電子文書の全ての情報を印刷することは、資源の浪費となり、環境に悪影響を与える。すべての人に必要な情報を紙文書に印刷するのは非常に無駄がある。ところが、文書の要点だけ、例えば、導入部分だけを紙に印刷するだけであるならば、すべての人にとって不足した情報しか記載されていない文書となってしまう。
【特許文献１】特開２０００−２２４３５３号公報
【特許文献２】特開２００２−３１２４７８号公報
【特許文献３】特許第０２６０３７０２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
紙文書上に電子文書のＩＤや書誌的な情報を載せると、元の電子文書へのアクセスが容易になるという利点がある。しかしながら、元の電子文書だけでなく、他の機密事項などへのアクセスも容易になってしまうという欠点がある。そのため、パスワード等の情報を、一般の規格化されたバーコードや２次元コードとは異なった、独自の且つ機密性の高いコードを用いて紙文書に印刷し、これにより、紙文書から電子文書へのアクセスを制限したりする必要が生じる。
【００１２】
また、紙文書から電子文書へのアクセスだけでなく、例えば、紙文書の処理手順（プログラム）の記述を、別のコードを使用して、紙文書に印刷した場合には、その紙文書をデジタル複写機の上に載せて走査するだけで、紙文書上の各種コードを読み取ることができ、そして、以後の処理にパスワードが必要ならば、ユーザにパスワードを入力するように促し、処理手順が記述されているならばデジタル複写機が自動処理を行うことが可能になる。
【００１３】
本発明の目的は、上記のように異なる情報を格納した独自コード、複数のバーコードまたは２次元コードが印刷された紙文書を走査したときに、それぞれのバーコードの領域を認識し且つ読み取り、そして、読み取ったコードの種類、位置情報、及びコードに格納された情報等を出力するという処理を、すべて自動で行う、極めて高度な処理を行うことのできる画像認識装置および画像認識方法を提供することにある。
【００１４】
本発明は、このように独自コードを含んだ紙文書と、画像認識装置および画像認識方法により、文書レイアウトの制限の緩和、機密文書の保護、必要な情報のみを印刷した紙を用いてすべての人に有用な情報を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的は、以下の本発明により解決される。
【００１６】
請求項１に記載の発明では、２次元的に情報を記憶した長方形のパターンを含む、情報を記憶した複数のパターンを有するデジタル画像化された文書を、前記各々のパターンを含む複数の小領域に分割する領域分割手段と、分割された複数の前記小領域に対して、前記パターンの読み取りを実行し、前記パターン内に記憶された情報を読み取る情報読み取り手段と、前記複数の小領域から、前記情報読み取り手段で読み出した複数の情報を、同時に出力することが可能な情報出力手段とからなることを特徴とする画像認識装置を提供できる。
【００１７】
請求項２に記載の発明では、前述の画像認識装置の前記情報出力手段は、前記読み出すことのできた情報に加え、前記パターンの位置を出力することを特徴とする。
【００１８】
請求項３に記載の発明では、前述の画像認識装置の前記情報出力手段は、前記読み出すことのできた情報に加え、前記パターンの種類を出力することを特徴とする。
【００１９】
請求項４に記載の発明では、前述の画像認識装置の前記情報読み取り手段は、読み取りを行うパターンの種類を設定する読み取り設定手段を有することを特徴とする。
【００２０】
請求項５記載の発明では、２次元的に情報を記憶した長方形のパターンを含む、情報を記憶した複数のパターンを有するデジタル画像化された文書を、前記各々のパターンを含む複数の小領域に分割する領域分割ステップと、分割された複数の前記小領域に対して、前記パターンの読み取りを実行し、前記パターン内に記憶された情報を読み取る情報読み取りステップと、前記複数の小領域から、前記情報読み取りステップで読み出した複数の情報を、同時に出力することが可能な情報出力ステップとからなることを特徴とする画像認識方法を提供できる。
【００２１】
請求項６に記載の発明では、前述の画像認識方法の前記情報出力ステップは、前記読み出すことのできた情報に加え、前記パターンの位置を出力することを特徴とする。
【００２２】
請求項７に記載の発明では、前述の画像認識方法の前記情報出力ステップは、前記読み出すことのできた情報に加え、前記パターンの種類を出力することを特徴とする。
【００２３】
請求項８に記載の発明では、前述の画像認識方法の前記情報読み取りステップは、読み取りを行うパターンの種類を設定する読み取り設定ステップを有することを特徴とする。
【発明の効果】
【００２４】
本発明によって、複数種類のバーコード又は、２次元コードが印刷された文書をスキャナで読み取り、各コードを復号し、その内容を出力することにより、コードから読み出された情報を元にして、読み込み文書に関連した高度な文書情報処理を行うことができる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施例を、以下に詳細に説明する。
【００２６】
先ず最初に、本発明の第１の実施例について以下に説明する。本発明の第１の実施例は、画像認識装置の実施例である。
【００２７】
図１は、文書１０１上に、複数種類のバーコードが印刷された例を示す図である。図１には、三種類のコード１０２、コード１０３及びコード１０４が印刷されており、例えば、コード１０２は独自コードであり、コード１０３はＱＲコードであり、そして、コード１０４はＣＯＤＥ３９である。それぞれ、コード１０２の独自コードにはパスワードが、コード１０３のＱＲコードには文書処理手順が、そして、コード１０４のＣＯＤＥ３９には文書ＩＤが、それぞれ格納されている。
【００２８】
各々の情報が、例えば、１つのコード内にまとめられて格納された場合と比較して、図１に示された例のように、３つのコードに別々に格納された場合には、次の利点を有する。
【００２９】
先ず第1に、各々のコードが小さくなり、文書のレイアウトの自由度が向上する。
【００３０】
第２に、規格化されたコードも使用することにより、他のシステムでの読み取り性が高くなり、文書の汎用性が増加する。
【００３１】
そして、第３に、機密性が必要とされる部分だけに独自コードを使用して、セキュリティを向上させることができる。
【００３２】
図２は、本発明に従った、画像認識装置２００の一実施例のブロック図を示す。図２に示された、画像認識装置２００は主に、領域分割器２０１、情報読み取り器２０２、メモリ２０３及び情報出力器２０４より構成される。画像認識装置２００の入力である入力２１０には、画像スキャナやデジタルカメラ等を使用して二値デジタル画像に変換された文書が入力される。この入力２１０に入力された二値デジタル画像は、領域分割器２０１に供給される。
【００３３】
領域分割器２０１では、入力された画像２１０に対して、白画素で囲まれた黒画素を含む所定の条件に合致した小領域を抽出する。
【００３４】
次に、領域分割器２０１で抽出された各小領域について、それぞれ情報読み取り器２０２でコードの読み取りを実行する。コードの読み取りが成功した場合には、読み取られたコードの種類、紙文書内におけるコードの位置、そのコードに格納されていた情報を、メモリ２０３に書き込む。
【００３５】
図３は、メモリ２０３内に格納されたデータのデータ構成を示す。図３に示すように、メモリ２０３内のデータ構成は、デコードできたコードの総数を格納する部分３０１（２バイトの整数型）と、書き込まれたメモリの最終アドレス３０２（４バイトの整数型）、及び、各コードに関する情報３１０、３２０等を有する。例えば、コード１に関する情報３１０は、コードの種類３１１（２バイトの整数型）、コード位置３１２、３１３、３１４及び３１５（各頂点の水平及び垂直位置を各々単位ｍｍの４バイト浮動小数点型で表す）、情報のバイト数Ｋ１（４バイトの整数型）３１６、情報内容３１７（Ｋ１バイト）を有する。コード２に関する情報３２０も、同様に部分３２１から３２７を有する。
【００３６】
情報出力器２０４は、メモリ２０３から、図３に示すような格納された情報を読み出して出力する。
【００３７】
次に、図２の画像認識装置２００の各部の動作について、以下に詳細に説明する。
【００３８】
先ず最初に、領域分割器２０１の動作について説明する。図４は、領域分割器２０１の一実施例のブロック図を示す。図４の領域分割器２０１は主に、ラベリング器４０１、外接矩形検出器４０２、外接矩形結合器４０３及び矩形寸法判定器４０４より構成される。
【００３９】
また、図５は、領域分割動作のアルゴリズムの一実施例を示す。図６は図５のステップ５０２の動作を示し、図７は図５のステップ５０３の動作を示しそして、図８は、図５のステップ５０４の動作を示す。
【００４０】
図５の領域分割動作のアルゴリズムは、ステップ５０１で開始する。
【００４１】
次にステップ５０２では、ラベリング器４０１で、連結した黒画素をラベル付けする。図６は、ラベル付けの動作を示す図である。ラベリング器４０１は、入力画像を、左上の原点から走査する。
【００４２】
そして、現在注目している画素の左上と上及び左側の画素が白画素であり、且つ、現在注目している画素が黒画素である場合には、その現在注目している黒画素に新たなラベルをつける。例えば、図６の最上行の最も左にある画素は「１」とラベル付けされる。また、図６の最上行の右から２番目にある画素は「２」とラベル付けされる。
【００４３】
それ以外の場合、即ち、現在注目している画素の左上又は、上又は、左側のいずれかの画素が、白画素でない場合には、左上又は、上又は、左側のいずれかにある黒画素のラベルを、その現在注目している画素につける。例えば、図６の最上行の左から２番目にある画素は「１」とラベル付けされる。
【００４４】
現在注目している画素の左上及び上及び左側の三つの画素の中に、異なるラベルがついた黒画素が複数個存在する場合は、上、次に左上、次に左側の順序で、ラベルに優先順位をつけて、優先順位の高いラベルを、現在注目している画素のラベルとして採用する。例えば、図６の上から３行目の右から２番目にある画素は、その左側の画素のラベルが「１」であるが、しかし、その上の画素のラベルが「２」であるため、同様に「２」とラベル付けされる。
【００４５】
次にステップ５０３では、外接矩形検出器４０２は、同一のラベルを有する黒画素群を囲む外接矩形座標を検出する。図７は、外接矩形座標を検出する動作を示す図である。外接矩形検出器４０２は、図７の外接矩形７０１及び外接矩形７０２を検出する。
【００４６】
次にステップ５０４では、外接矩形統合器４０３は、ステップ５０３で検出された各々の外接矩形同士が、重なる又は、接触する又は、所定の距離内にある外接矩形同士を統合し、新たな外接矩形を形成する。図８は、図７に示されたように、検出された外接矩形７０１及び外接矩形７０２を、１つの外接矩形８０１に統合する場合の例を示す。
【００４７】
そして最後に、ステップ５０５では、矩形寸法判定器５０５で、バーコードや２次元コードの大きさとしてはありえない大きさの外接矩形を排除するために、所定の範囲の大きさを有する外接矩形を抽出する。以上により、白画素で囲まれた黒画素を含む小領域を検出することができる。
【００４８】
次に、図２の情報読み取り器２０２の動作について以下に説明する。
図９は、情報読み取り器２０２のブロック図を示す。図９に示された情報読み取り器２０２は、設定器９０１、バーコードデコーダ（１）９０２、バーコードデコーダ（２）９０３、バーコードデコーダ（Ｎ）９０４、２次元コードデコーダ（１）９０５、２次元コードデコーダ（２）９０６、２次元コードデコーダ（Ｍ）９０７より構成される。情報読み取り器２０２は、領域分割器２０１より、白画素で囲まれた黒画素を含む小領域の座標とその画像２１１が入力される。
【００４９】
領域分割器２０１により、図８に示されたような小領域が検出されたので、それらの小領域に対して、情報読み取り器２０２は、コードの読み取りを行う。
【００５０】
検出された小領域はバーコードデコーダ（１）９０２からバーコードデコーダ（N）９０４、２次元コードデコーダ（１）９０５から２次元コードデコーダ（M）９０７に入力される。バーコードデコーダ９０２から９０４は、それぞれ一次元のバーコードデコーダであり、ＣＯＤＥ３９やＣＯＤＥ１２８等をそれぞれ専用にデコードするデコーダである。
【００５１】
また、２次元コードデコーダ９０５から２次元コードデコーダ９０７は、ＱＲコードやデータマトリックス等の規格化された２次元コードを専用にデコードするデコーダに加え、独自の２次元コードをデコードするデコーダも含む。各々のデコードアルゴリズムに関しては、ＡＩＭ（自動認識協会）が発行している各種バーコードの仕様書に、サンプルアルゴリズムが記述されていたり、又は、ＡＩＭからプログラムが配布されていたりするので容易に実現できる。独自の２次元コードの詳細については後述する。
【００５２】
各デコーダ９０２から９０７は、設定器９０１からの設定信号９１０に従って、動作を実行するように構成される。即ち、設定器９０１を使用して、情報読み取り器２０２の外部より信号９１１を与えることにより、情報読み取り器２０２に認識を行わせるバーコード又は２次元コードの種類を設定することができる。これは、読み取りを行うパターンを指定することである。そして、その設定信号９１０が各デコーダ９０２から９０７へ入力される。各デコーダ９０２から９０７は、その設定信号９１０を解釈して、動作するか又は動作をしないかを決定する。
【００５３】
各デコーダは、領域分割器２０１より供給される小領域に分割された画像を受け取っているので、その領域にある黒画素群がバーコードまたは２次元コードであって且つそのコードが、正しくデコードできた場合には、コードの種類、コードの書類上の位置（これは、コードの画像座標と画像の読み取り解像度で算出可能である）、及びコードに格納されている情報を取得できる。
【００５４】
デコードが正しくできた後に、情報読み取り器２０２は、メモリ２０３に排他制御をかけて、各デコーダからのデータを書き込む。メモリ２０３は、図３を参照して前述したように、正しくデコードできたコードの総数を格納する部分３０１と、書き込まれたメモリの最終アドレス３０２、コードの種類３１１、コード位置３１２から３１５、情報のバイト数３１６、情報内容３１７の配列を格納する部分とを有する。
【００５５】
各デコーダ９０２から９０７は、図３に示されたメモリの最終アドレス３０２の示す次のアドレスから、デコードしたコードの種類、コード位置、情報のバイト数、情報内容を書き込む。そして、コードの総数３０１を１だけインクリメントし、書き込まれたメモリ２０３の最終アドレス３０２を更新して、排他制御を終了する。
【００５６】
そして、最後に、図２の情報出力器２０４は、情報読み取り器２０２により、図１の文書１０１上に印刷された、複数種類のコードの全てのデコードが終了したときに、メモリ２０３に書き込まれている内容を読み出して、その情報を必要とする装置に出力する。
【００５７】
次に、本発明で使用される独自の２次元コード（以下、独自コード）の作成方法と、そのような独自の２次元コードを読み取るための、図２に示された情報読み取り器２０２を構成する要素のひとつである、２次元コードデコーダ（M）の実施例を示す。
【００５８】
図１０は、独自の２次元コード１０００の実施例を示す。図１０に示された実施例の独自コードは、黒枠１００１に囲まれた１２ｘ６個のセル１００２等を有し、そして、中央部分の４ｘ２個のセルは、ファインダパターン１００３と呼ばれ、独自コード１０００の方向を一意に決定するパターンを有する。ファインダパターン１００３と黒枠１００１に囲まれた白セル１００２等は、独自コード１０００に記憶させるデータにより、さまざまなパターンを有する。なお、本実施例においては１２ｘ６のセルサイズの独自コードしか説明していないが、もちろんセルサイズの変更は可能であり、セルサイズを大きくしてコードに埋め込めるデータ量を増やすことは可能である。そのように取り決めることで、文書のレイアウトに最小限の影響しか及ぼさないような独自コードを作ることができる。たとえば、上下方向は６セルサイズ固定とし、横方向にサイズを大きくする等、文書のレイアウトへの影響を極力小さくするサイズに増やすことは可能である。図１１は、独自コードの作成方法を示すフロー図である。
【００５９】
独自コードは、例えば、１０桁の数字のパスワードを格納することができる。次に、パスワードを格納する独自コードの作成方法について説明する。
【００６０】
図１１の独自コードの作成方法はステップ１１０１で開始する。
【００６１】
次に、ステップ１１０２では、パスワードは数字であるのでまず、数字文字列を入力する。
【００６２】
次に、ステップ１１０３では、入力された数字文字列を、フォーマット変換してコンピュータで扱える４バイトの整数型のデータに変換する。
【００６３】
次に、ステップ１１０４では、ファインダパターン１００３用のデータを入力する。図１０に示す場合には、ファインダパターン１００３は、“１１００１１１１”である。
【００６４】
次に、ステップ１１０５では、ファインダパターン１００３用のデータとパスワードの４バイトのデータとから、４バイトの誤り訂正符号を生成する。この結果、合計で９バイトのデータが生成される。誤り訂正符号は、例えば、バイト単位の誤り訂正が可能なＲｅｅｄ−Ｓｏｌｏｍｏｎ符号を使用する。
【００６５】
そして、最後に、ステップ１１０６では、独自コード画像を生成する。図１２は、独自コード画像のセル番号示す。先ず最初に、前述の９バイトのデータを、７２ビットのビットデータに分解する。そして、この分解された７２ビットのビットデータを、図１２に示されたセル番号の順番に従って、順に、そのデータビットが１なら「黒」、そして、データビットが０なら「白」を、セルに埋めることにより、独自コードを表す画像を生成する。そして、この画像を文書上に印刷する。
【００６６】
なお、パスワードは、フォーマット変換して数値化された後に、暗号化してもよい。
【００６７】
次に、独自コードを読み取りそしてデコードする装置ついて説明する。図１３は、独自コードを読み取りそしてデコードするための、図９に示された二次元コードデコーダ（M）９０７のブロック図を示す。図１３に示された二次元コードデコーダ（M）９０７は、主に、頂点候補検出器１３０１、コード枠検出器１３０２、射影変換器１３０３、ファインダ検出器１３０４、データサンプリング器１３０５、誤り訂正器１３０６、フォーマット変換器１３０７及び、デコーダ情報出力器１３０８を有する。
【００６８】
まず最初に、頂点候補検出器１３０１の動作について説明する。領域分割器２０１から出力された２次元コードを含む二値画像が、２次元コードの頂点候補を検出する頂点候補検出器１３０１に入力される。
【００６９】
図１４は、頂点候補検出器１３０１による、頂点の検出動作を示す。頂点候補検出器１３０１は、図１４に示すように、入力画像１４０１の四隅から順に、斜めに走査を行って、画像１４０２の各頂点の黒画素を検出する。各矢印は、頂点候補を検出するために行う走査の方向を示す。このように斜めに走査を行って検出された画素は、黒画素Ａ、Ｂ、Ｃ、Ｄをである。
【００７０】
図１５は、検出した黒画素が頂点候補であるか否かを判定する方法を示す。例えば、画像１４０２の黒画素Ａが頂点候補であるか否かを判定するために、黒画素Ａの点から右斜め下方向（矢印の方向）へ所定の大きさの画素数だけ黒画素の追跡を行う。ここで、所定の大きさとは、各黒画素間の距離と独自コードのセル数から推定される、一セルの一辺の画素数に３／４を乗じた値をいう。
【００７１】
このようにして追跡した画素全てが黒画素であるならば、黒画素Ａを頂点候補とする。頂点候補の黒画素Ｂ、Ｃ、Ｄも同様の方法で、頂点候補であるか否かを判定する。このようにして頂点候補の黒画素Ａ、Ｂ、Ｃ、Ｄが検出された場合には、次に、コード枠検出器１３０２により、処理を行う。一方、頂点候補の黒画素が検出されない場合には、その領域については独自コードの検出動作を中止し、次の未処理の領域内で、独自コードを検出する動作を最初から行う。
【００７２】
次にコード枠検出器１３０２の動作について説明する。
【００７３】
図１６は、コード枠検出器１３０２によるコード枠検出方法を示す。図１６では、図１５において黒色の部分により示された部分を、説明を明確にするために、斜線部分により示す。即ち、図１６の斜線部分は、図１５の黒色部分に対応する。
【００７４】
頂点候補の黒画素Ａ、Ｂ、Ｃ、Ｄから追跡した端点１６０１、１６０２、１６０３及び１６０４（各々の矢印の先端）を、それぞれ結ぶ直線を黒枠判定ライン１６０５とする。黒枠判定ライン１６０５上の画素のうち、所定の割合以上、例えば９０％以上の画素が黒画素である場合には、頂点候補の黒画素Ａ、Ｂ、Ｃ、Ｄはコードの頂点であり、そして、黒枠判定ライン１６０５は独自コードを囲むコード枠の一部であると判定する。
【００７５】
コード枠検出器１３０２によるコード枠が検出された場合には、次に、射影変換器１３０３で射影変換係数を算出して、独自コードを作成した時の、電子的に作成された独自コードの各セルの座標（図１７参照）を射影変換して、走査して読み取られた独自コード内部のセル座標を算出する。図１７は、電子的に作成された独自コードの各セルの座標を示す図である。例えば、左上のセル内に示された（０，０）は、水平座標及び垂直座標ともにゼロであることを示す。
【００７６】
コード枠が検出されない場合には、その領域については独自コードの検出動作を中止し、次の未処理の領域内で独自コードを検出する動作を最初から行う。
【００７７】
スキャナで読み取る画像は、印刷時及び走査時におけるスキュー、又は、紙送りの速度むら等の機械的な変動により、走査されたコードの画像が、必ずしも電子的に作成したコードの形と相似ではない場合がある。このために、作成した独自コードの形とスキャナで読み取ったコードの画像の位置対応がとれない場合がある。従って、独自コード内の各セルの位置を正確に把握し、正しいデータを読み取るために、射影変換を行う必要がある。
【００７８】
次に、射影変換器１３０３の動作について説明する。
【００７９】
図１８から図２０は、射影変換を示す。図１８は、読み取られたコード画像を示し、図１９は、電子的に生成されたコードを示しそして、図２０は、電子的に生成されたコードの座標から読み取られたコード画像の座標への変換式を示す。図１８から図２０により示されている射影変換では、印刷するために作成された元の独自コードが矩形であり、そして、読み取られたコード画像が台形である場合の例を示している。
【００８０】
図１９では、Ａｒ、Ｂｒ、Ｃｒ及びＤｒは、コードが生成された時の、各頂点を示す。そして、（ｘｒ１，ｙｒ１）、（ｘｒ２，ｙｒ２）、（ｘｒ３，ｙｒ３）、及び（ｘｒ４，ｙｒ４）は、各頂点の座標を示す。また、Ｐｒｋは、コード生成時に決定された点であり、（ｘｐｒｋ，ｙｐｒｋ）はその座標を示す。
【００８１】
図１８では、Ａｓ、Ｂｓ、Ｃｓ及びＤｓは、前述の頂点候補検出器１３０１により検出される頂点である。そして、（ｘｓ１，ｙｓ１）、（ｘｓ２，ｙｓ２）、（ｘｓ３，ｙｓ３）、及び（ｘｓ４，ｙｓ４）は、各頂点の座標を示す。
【００８２】
図１９に示された、コードが生成された時の、各頂点の座標（ｘｒ１，ｙｒ１）、（ｘｒ２，ｙｒ２）、（ｘｒ３，ｙｒ３）、及び（ｘｒ４，ｙｒ４）と、頂点候補検出器１３０１により検出された各頂点の座標（ｘｓ１，ｙｓ１）、（ｘｓ２，ｙｓ２）、（ｘｓ３，ｙｓ３）、及び（ｘｓ４，ｙｓ４）を、図２０に示された式に代入する。そして、八元一次連立方程式を解くことにより、図２０に示された式の、射影変換係数ｂ１、ｂ２、ｂ３、ｂ４、ｂ５、ｂ６、ｂ７、及びｂ８を求めることができる。
【００８３】
射影変換係数が求められたので、独自コードを作成した時の各セルの座標を射影変換して、コード画像の対応するセルの座標を取得することができる。例えば、図１９のＰｒｋの座標（ｘｐｒｋ，ｙｐｒｋ）から、図１８のＰｓｋの座標（ｘｐｓｋ，ｙｐｓｋ）を計算できる。これにより、読み取られたコード画像のセルのデータを取得することができるようになる。
【００８４】
次に、ファインダ検出器１３０４の動作について説明する。射影変換器１３０３により射影変換されたデータ画像は、ファインダ検出器１３０４に送られる。ファインダ検出器１３０４は、ファインダ検出を行う。
【００８５】
ファインダ検出は図１０に示されたファインダパターン１００３を検出し、独自コードが上下左右どちらの方向に向いているかを検出する。
【００８６】
このために、ファインダパターン１００３の各セルのデータを検出する。先ず最初に、射影変換により得られた座標を中心とした３ｘ３画素の画素値の和を計算する。そして、その和が５以上の場合には、そのセルは“１”でありと、それ以外であれば“０”であると判断する。
【００８７】
次に、検出した値から決定されるファインダーパターンを、理想のファインダパターンと比較する。そして、パターンの一致する数が所定の閾値以上（例えば７）であり、且つ、その中で一致数が最も多い向きを検出する。
【００８８】
もしファインダパターンが検出できなかった場合は、検出したコードは本システムで使用している独自コードではないと判断する。
【００８９】
ファインダパターンが検出された場合には、次に、コード画像は、データサンプリング器１３０５へ供給される。
【００９０】
次に、データサンプリング器１３０５、誤り訂正器１３０６、フォーマット変換器１３０７及び１３０８の動作について説明する。
【００９１】
前述のように、ファインダパターンが検出された場合には、次に、データサンプリング器１３０５は、各セルのデータを、図１２に示されているデータ配置順序に従って、取り出して並べる。データの取り出し方はファインダパターン検出におけるデータの取り出し方法と同様である。
【００９２】
次に、誤り訂正器１３０６は、その取り出されたデータに対して、誤り訂正を行って、エンコードされていた整数値をデコードする。
【００９３】
次に、フォーマット変換器１３０７は、誤り訂正器１３０６によりデコードされた整数値の、フォーマット変換を行い、数値文字列に変換する。フォーマット変換前に、必要な場合には、暗号化された整数値が復号される。
【００９４】
そして、最後にデコーダ情報出力器１３０８は、数値文字列を、コード情報及びコード位置等の情報とともに、メモリ２０３に出力し、独自コードの読み取りを終了する。
【００９５】
次に、本発明の第２の実施例について説明する。本第２の実施例は、本発明をソフトウェアで実行するための構成を有し、独自の２次元コード（独自コード）を読み取る手段も含む。
【００９６】
図２１は、本発明のソフトウェアの実施例の基本フローチャートを示す。
【００９７】
先ず最初にステップ２１０１で、開始し、スキャナやデジタルカメラ等を使用して文書を二値デジタル画像に変換された文書が入力される。
【００９８】
次に、ステップ２１０２では、領域分割ステップを実行し、入力された画像に対して、白画素で囲まれた黒画素を含む所定の条件に合致した小領域を抽出する。
【００９９】
次に、ステップ２１０３では、情報読み取りステップを実行し、ステップ２１０２で抽出された各小領域について、それぞれでコード読み取りを実行する。コードの読み取りが成功した場合には、読み取られたコードの種類、紙文書におけるコードの位置、そのコードに格納されていた情報を、例えば、図２のメモリ２０３に書き出す。
【０１００】
メモリ２０３内に格納されたデータのデータ構成は、図３を参照して前述した構成と同一である。
【０１０１】
次に、ステップ２１０４では、情報出力ステップを実行し、メモリ２０３から、図３に示すようなデータ構成を使用して格納された情報を読み出して出力する。
【０１０２】
そして、最後に、ステップ２１０５で、ソフトウェアによる処理は終了する。
【０１０３】
次に、図２１の各ステップの動作について以下に詳しく説明する。
【０１０４】
先ず最初に、図２１のステップ２１０２の、領域分割ステップの説明を行う。図２１のステップ２１０２の、領域分割ステップを、図５を参照して説明する。
【０１０５】
図５は、領域分割動作のアルゴリズムの一実施例を示す。図６は図５のステップ５０２の動作を示し、図７は図５のステップ５０３の動作を示しそして、図８は、は図５のステップ５０４の動作を示す。
【０１０６】
図５の領域分割動作のアルゴリズムは、ステップ５０１で開始する。
【０１０７】
次にステップ５０２では、ラベリングステップを実行し、連結した黒画素をラベル付けする。図６は、ラベル付けの動作を示す図である。ラベリングステップは、入力画像を、左上の原点から走査する。
【０１０８】
そして、現在注目している画素の左上と上及び左側の画素が白画素であり、且つ、現在注目している画素が黒画素である場合には、その現在注目している黒画素に新たなラベルをつける。例えば、図６の最上行の最も左にある画素は「１」とラベル付けされる。また、図６の最上行の右から２番目にある画素は「２」とラベル付けされる。
【０１０９】
それ以外の場合、即ち、現在注目している画素の左上又は、上又は、左側のいずれかの画素が、白画素でない場合には、左上又は、上又は、左側のいずれかにある黒画素のラベルを、その現在注目している画素につける。例えば、図６の最上行の左から２番目にある画素は「１」とラベル付けされる。
【０１１０】
現在注目している画素の左上及び上及び左側の三つの画素の中に、異なるラベルがついた黒画素が複数個存在する場合は、上、次に、左上、次に左側の順序で、ラベルに優先順位をつけて、優先順位の高いラベルを、現在注目している画素のラベルとして採用する。例えば、図６の上から３行目の右から２番目にある画素は、その左側の画素のラベルが「１」であるが、しかし、その上の画素のラベルが「２」であるため、同様に「２」とラベル付けされる。
【０１１１】
次にステップ５０３では、外接矩形検出ステップを実行し、同一のラベルを有する黒画素群を囲む外接矩形座標を検出する。図７は、外接矩形座標を検出する動作を示す図である。外接矩形検出ステップは、図７の外接矩形７０１及び外接矩形７０２を検出する。
【０１１２】
次にステップ５０４では、外接矩形統合ステップを実行し、ステップ５０３で検出された各々の外接矩形同士が、重なる又は、接触する又は、所定の距離内にある外接矩形同士を統合し、新たな外接矩形を形成する。図８は、図７に示されたように、検出された外接矩形７０１及び外接矩形７０２を、１つの外接矩形８０１に統合する場合の例を示す。
【０１１３】
そして最後に、ステップ５０５では、矩形寸法判定ステップを実行し、バーコードや２次元コードの大きさとしてはありえない大きさの外接矩形を排除するために、所定の範囲の大きさを有する外接矩形を抽出する。以上により、白画素で囲まれた黒画素を含む小領域を検出することができる。
【０１１４】
次に、図２１のステップ２１０３の、情報読み取りステップの説明を行う。小領域が検出されたので、それらに対して情報読み取りステップは、コードの読み取りを行う。
【０１１５】
図２２は、情報読み取りステップの詳細を示す。
【０１１６】
先ず最初にステップ２２０１で開始する。
【０１１７】
次に、ステップ２２０２では、デコード設定ステップを実行し、動作させるデコード方法を規定する。
【０１１８】
次に、ステップ２２０３では、小領域についての領域番号ｊを１に設定する。
【０１１９】
次に、ステップ２２０４では、図２１のステップ２１０２の領域分割ステップで検出された、小領域ｊが、領域番号ｊを指定することにより、順次入力される。
【０１２０】
次に、ステップ２２０５では、デコード方法ｉを１に設定する。
【０１２１】
次に、ステップ２２０６では、現在設定されているデコード方法ｉを使用して、小領域ｊが、デコード可能であるかどうかが判断される。デコード方法ｉが動作可能であれば、処理はステップ２２０７に進む。
【０１２２】
次に、ステップ２２０７では、デコード方法ｉが動作し、入力された小領域ｊの画像からコードを検出しデコードを行う。デコードができた場合には、コード種類、コードの位置（コードの座標と画像の読み取り解像度で算出可能）、コードに格納されている情報を取得できる。そして、メモリ２０３にそれらのデータを書き込む。
【０１２３】
ステップ２２０７で実行される各デコード方法ｉは、図９のバーコードデコーダ（１）９０２からバーコードデコーダ（N）９０４、２次元コードデコーダ（１）９０５から２次元コードデコーダ（M）９０７に対応する。前述したように、バーコード及び２次元コードとして、Ｃｏｄｅ３９やＣｏｄｅ１２８、ＱＲコード、ＤａｔａＭａｔｒｉｘ、独自２次元コードなどが使用される。独自２次元コードの作成方法については、前述した方法と同一である。
【０１２４】
メモリ２０３は、図３を参照して前述したように、正しくデコードできたコードの総数を格納する部分３０１と、書き込まれたメモリの最終アドレス３０２、コードの種類３１１、コード位置３１２から３１５、情報のバイト数３１６、情報内容３１７の配列を格納する部分とを有する。
【０１２５】
各デコーダは、図３のメモリの最終アドレス３０２の示す次のアドレスから、デコードしたコードの種類、コード位置、情報のバイト数、情報内容を書き込む。そして、コードの総数３０１を１だけインクリメントし、書き込まれたメモリ２０３の最終アドレス３０２を更新して終了する。
【０１２６】
最後に、全ての小領域に対してデコードが終了したら、図２１のステップ２１０４では、情報出力ステップが、メモリ２０３に書き込まれている内容を読み出して出力する。
【０１２７】
前述の、ステップ２２０６では、デコード方法ｉがデコードが可能でない場合には、処理はステップ２２０８に進む。
【０１２８】
次に、ステップ２２０８では、デコード方法ｉを１だけ増加させ、次のデコード方法を選択する。
【０１２９】
次に、ステップ２２０９では、このデコード方法の番号ｉが、図９で説明したバーコードデコーダの総数Ｎと２次元デコーダの総数Ｍの和（Ｍ＋Ｎ）よりも大きいか否かが判断される。ステップ２２０９で、ｉが（Ｍ＋Ｎ）よりも大きくない場合には、処理は、ステップ２２０６へ戻り、前述の処理を繰返す。一方、ｉが（Ｍ＋Ｎ）よりも大きい場合には、処理は、ステップ２２１０へ進む。
【０１３０】
次に、ステップ２２１０では、領域番号ｊを１だけ増加させ、そして、ステップ２２１１へ進む。
【０１３１】
次に、ステップ２２１１では、領域番号ｊが、図２１のステップ２１０１の領域分割ステップにより検出された領域の数Ｌよりも大きいかどうかが判断される。領域番号ｊが領域の数Ｌよりも大きくない場合には、処理はステップ２２０４へ戻り、前述の処理を繰返す。一方、領域番号ｊが領域の数Ｌよりも大きい場合には、処理はステップ２２１２へ進む。
【０１３２】
そして、最後に処理は、ステップ２２１２で終了する。
【０１３３】
次に、独自の２次元コード（以下、独自コード）についてその作成方法と読み取り方法の詳細を示す。独自の２次元コードの作成方法についてはすでに説明したので、ここでは読み取り方法について説明する。
【０１３４】
図２３は、独自コードをデコードする方法のフローチャートを示す。
【０１３５】
独自コードをデコードする方法の処理は、ステップ２３０１で開始する。
【０１３６】
次に、ステップ２３０２では、図２１のステップ２１０２の領域分割ステップから出力された２次元コードを含む二値画像を２次元コードの頂点候補を検出する頂点候補検出ステップに入力する。
【０１３７】
次に、ステップ２３０３では、頂点候補検出ステップを実行する。図１４で説明したように、入力画像１４０１の四隅から順に、斜め走査を行って、画像１４０２の各頂点の黒画素を検出する。各矢印は、頂点候補を検出するために行う走査の方向を示す。このように斜めに走査を行って検出された画素は、黒画素Ａ、Ｂ、Ｃ、Ｄである。
【０１３８】
図１５は、検出した黒画素が頂点候補であるか否かを判定する方法を示す。例えば、画像１４０２の黒画素Ａが頂点候補であるか否かを判定するために、黒画素Ａの点から右斜め下方向（矢印の方向）へ所定の大きさの画素数だけ黒画素の追跡を行う。ここで、所定の大きさとは、各黒画素間の距離と独自コードのセル数から推定される、一セルの一辺の画素数に３／４を乗じた値をいう。
【０１３９】
このようにして追跡した画素全てが黒画素であるならば、黒画素Ａを頂点候補とする。頂点候補の黒画素Ｂ、Ｃ、Ｄも同様の方法で、頂点候補であるか否かを判定する。このようにして頂点候補の黒画素Ａ、Ｂ、Ｃ、Ｄが検出された場合には、次に、処理は、ステップ２３０４へ進む。
【０１４０】
ステップ２３０４では、コード枠検出ステップを実行する。図１６は、ステップ２３０４のコード枠検出ステップによるコード枠検出方法を示し、前述したコード枠検出方法と同一である。
【０１４１】
次に、ステップ２３０５では、頂点候補が検出されたかどうかが判断される。
頂点候補が検出されない場合には、処理はステップ２３１３へ進み、その領域については独自コード検出動作を中止し、次の未処理の領域内で、独自コードを検出する動作を最初から行う。
【０１４２】
ステップ２３０５で、頂点候補が検出された場合には、処理はステップ２３０６へ進む。
【０１４３】
ステップ２３０６では、射影変換が実行される。ステップ２３０６では、図１８から図２０を参照して前述したのと同一の射影変換が実行される。
【０１４４】
ステップ２３０６で射影変換を行うことにより、射影変換係数が求められたので、独自コードを作成した時の各セルの座標を射影変換してコード画像の対応するセルの座標を取得することができる。これにより、読み取られたコード画像のセルのデータを取得することができるようになる。
【０１４５】
次に、ステップ２３０７では、ファインダ検出を行う、ファインダ検出ステップを実行する。
【０１４６】
ファインダ検出は図１０に示されたファインダパターン１００３を検出し、独自コードが上下左右どちらの方向に向いているかを検出する。
【０１４７】
このために、ファインダパターン１００３の各セルのデータを検出する。先ず最初に、射影変換により得られた座標を中心とした３ｘ３画素の画素値の和を計算する。そして、その和が５以上の場合には、そのセルは“１”でありと、それ以外であれば“０”であると判断する。
【０１４８】
次に、検出した値から決定されるファインダーパターンを、理想のファインダパターンと比較する。そして、パターンの一致する数が所定の閾値以上（例えば７）であり、且つ、その中で一致度が最も高い向きを検出する。
【０１４９】
次に、ステップ２３０８では、ファインダパターンが検出できたかどうかが、判断される。もしファインダパターンが検出できなかった場合は、検出したコードは本システムで使用している独自コードではないと判断し、そして、処理は、ステップ２３１３へ進み、終了する。一方、ファインダパターンが検出された場合には、次に、処理は、ステップ２３０９へ進む。
【０１５０】
ステップ２３０９では、データサンプリングステップを実行する。ステップ２３０９では、各セルのデータが、図１２に示されているデータ配置順序に従って、取り出して並べられる。データの取り出し方はファインダパターン検出におけるデータの取り出し方法と同様である。
【０１５１】
次に、ステップ２３１０では、誤り訂正ステップが実行される。ステップ２３１０では、その取り出されたデータに対して、誤り訂正を行って、エンコードされていた整数値をデコードする。
【０１５２】
次に、ステップ２３１１では、フォーマット変換ステップが実行される。ステップ２３１１では、ステップ２３１０でデコードされた整数値の、フォーマット変換を行い、数値文字列に変換する。フォーマット変換前に、必要な場合には、暗号化された整数値が復号される。
【０１５３】
そして、ステップ２３１２では、デコーダ情報出力ステップが実行される。ステップ２３１２では、数値文字列を、コード情報及びコード位置等の情報とともに、メモリ２０３に出力し、独自コードの読み取りを終了する。
【０１５４】
そして最後に、ステップ２３１３で、処理は終了する。
【０１５５】
次に、本発明を応用した実施例について説明する。
【０１５６】
先ず最初に、本発明を応用した、例えば、コンビニエンスストアの端末使用する、公共料金等の支払いを行う実施例である、本発明の第３の実施例について説明する。
【０１５７】
通常は、コンビニエンスストアで支払い可能な公共料金等の払い込み用紙は、切り離し可能な複数の伝票が一枚となっており、それぞれに一つあるいは二つ以上のバーコードが印刷されている。その用紙を利用して支払いを行う場合には、レジ係は、バーコード読み取り可能なハンディターミナルで、一つずつバーコードを読み取り、確認を行っている。そして、それらのバーコードをすべて読み取った場合に、レジのＰＯＳ端末の表示画面に、支払い金額等の情報が表示される。そして、その後に、金銭の授受が行われ、支払いが完了する。
【０１５８】
図２４は、現在普及しつつあるコンビニエンスストアのネット端末に本発明のコード読み取り装置を内蔵し、伝票や文書を読み取るスキャナを設けた装置の例を示す。図２４に示されたネット端末２４０１は、表示画面（タッチパネル）２４０２、硬貨投入口２４０３、紙幣投入口２４０４、プリペイドカード挿入口２４０５、クレジットカード挿入口２４０６、硬貨釣銭口２４０７、文書用紙挿入口２４０８及び領収書発行口２４０９等により構成される。使用する支払い用紙は、図１に示されたようなフォーマットを有し、バーコード１０４には本用紙のＩＤを、ＱＲコード１０３には債権者名、金額、債務者名、利用明細情報へのアクセス先のＵＲＬが記録されている。また、独自コード１０２には、利用明細を照会するためのパスワードが記録されている。人が読める文章は、債権者名、金額、債務者名、支払い期限等の一般的な情報のみ記載されている。詳しい利用明細情報を知りたい場合は独自コード１０２に記録されたパスワードを入力して認証を行い、ネットワークを介して利用明細情報を取得する。
【０１５９】
図２５は料金の支払いのフローを示す図である。本フローは、先ず最初にステップ２５０１で開始する。
【０１６０】
次に、ステップ２５０２では、料金の支払いをするために来店した顧客は、ネット端末２４０１の表示画面２４０２から、料金払い込みのメニューを選択する。
【０１６１】
払い込みのメニューを選択した後に、次に、ステップ２５０３で、払い込み用紙を文書用紙挿入口２４０８に挿入する。
【０１６２】
次に、ステップ２５０４へ進む。文書用紙挿入口２４０８は、シートスキャナに直結されており、スキャナ部で払い込み用紙を画像入力する。画像の中の複数のバーコードをコード読み取り装置で読み取り、バーコードやＱＲコードにエンコードされている文書ＩＤ、債権者名、金額、ＵＲＬ等の情報を読み出す。また、独自コードをデコードし、パスワードを取得する。
【０１６３】
次に、ステップ２５０５で、債権者名、金額、債務者名の情報を、ネット端末２４０１の表示画面２４０２に表示する。同時に「利用明細を表示する」ボタンと、「明細を見ずに確認」のボタンを表示する。
【０１６４】
次に、ステップ２５０６に進み、顧客が利用明細を表示するボタンを押した時はパスワード入力画面が表示され、顧客はパスワードを入力する。
【０１６５】
次に、ステップ２５０７に進み、パスワードが独自コードにあるパスワードと一致したならば、ネット端末２４０１は、ＵＲＬにアクセスし、利用明細を取得し、表示画面２４０２に表示する。同時に「支払いを確認」ボタンを表示する。
【０１６６】
次に、ステップ２５０８に進み、顧客は、「支払いを確認」ボタンを押して支払いの確認をした後、紙幣挿入口２４０４及び硬貨投入口２４０３より現金を投入し、あるいはプリペイドカード挿入口２４０５にプリペイドカードを、又は、クレジットカード挿入口２４０６へクレジットカードを挿入する。
【０１６７】
そして、ステップ２５０９で、ネット端末は精算を行い、領収書を発行する。
【０１６８】
一方、ステップ２５０６で、顧客が「明細を見ずに確認」ボタンを押した場合は、ステップ２５１０へ進み、紙幣挿入口２４０４及び硬貨投入口２４０３より現金を投入し、あるいはプリペイドカード挿入口２４０５にプリペイドカードを、又は、クレジットカード挿入口２４０６へクレジットカードを挿入する。そして、ネット端末２４０１は精算を行う。
【０１６９】
次に、ステップ２５１１で、ネット端末２４０１は、領収書発行口２４０９から領収書を発行する。
【０１７０】
最後に、ステップ２５１２へ進み、フローが終了する。
【０１７１】
このように、ハンディターミナルでは、慣れた店員が煩雑な作業を行わなければならない場合でも、本発明の装置を組み込んだネット端末２４０１を使用すれば、顧客が無人の端末で払い込み用紙を挿入するだけの簡単な処理で支払いを済ますことができ、レジの混雑の緩和、個人のプライバシー保護等の面から非常に有利である。
【０１７２】
次に、本発明を応用した、例えば、セキュリティ機能付き複写機（ＭＦＰ）と文書管理装置（例えば、コード付き文書でパスワードが一致した場合のみ、複写、オリジナル文書の印刷、電子文書編集が可能な例）の実施例である、本発明の第４の実施例について説明する。
【０１７３】
図２６は、本発明の第４の実施例の、セキュリティ機能つきの複写機（ＭＦＰ）２６０２と文書管理装置２６０１のネットワークを介しての接続を示す図である。文書管理装置２６０１にはデータベース２６０４が接続され、そこでは電子文書と文書ＩＤとが関連付けられて管理されている。文書編集装置２６０５は、電子文書を作成、閲覧、編集、及び保存することができる装置であり、文書管理装置２６０１のデータベース２６０４と接続して、データベース２６０４に登録されている文書の操作や文書編集装置２６０５で編集した文書をデータベース２６０４に登録することができる。まず、文書編集装置２６０５が、電子文書を印刷する時にパスワードを付与する。パスワードは、独自の２次元コード（２次元コード１０２）内に埋め込まれる（図１参照）。文書ＩＤも一次元のバーコード（バーコード１０４）に埋め込まれ、その他文書に関連する情報もＱＲコード（ＱＲコード１０３）に埋め込まれて同時に印刷される。
【０１７４】
次に、図２７を用いてその紙文書をセキュリティ機能つきの複写機（ＭＦＰ）２６０２でコピーを行う場合の処理フローを説明する。
【０１７５】
図２７のフローは、ステップ２７０１で開始し、ステップ２７０２で文書がスキャナに設置されたのを検知する。
【０１７６】
次にステップ２７０３で、複写機のスタートボタンが押されたのを検知する。
【０１７７】
次にステップ２７０４で、スキャナが動作して、紙文書を画像として入力する。そして、走査された文書画像は、複写機内のメモリやハードディスクに一時保管される。
【０１７８】
次にステップ２７０５で、複写機内ではコード読み取り装置が作動し、画像の中のコードを読み取る。
【０１７９】
ステップ２７０６で、画像内に独自コードが存在するならば、それをデコードした後に、操作パネルにパスワードの入力を促すダイアログを表示する。
【０１８０】
次にステップ２７０７で、ユーザはパスワードを入力する。
【０１８１】
ステップ２７０８で、パスワードが一致すれば、ステップ２７０９に進み、一時保存された画像を印刷開始する。一致しなければ、ステップ２７１０に進み、保存した画像は消去され文書は複写されない。
【０１８２】
そして、フローは、ステップ２７１１で終了する。
【０１８３】
次に図２８を使用して、文書管理装置２６０１に接続されている場合に、オリジナルの電子文書取り出す操作のフローについて説明する。
【０１８４】
図２８のフローは、ステップ２８０１で開始し、ステップ２８０２で文書がスキャナに設置されたのを検知する。
【０１８５】
次に、ステップ２８０３で、ユーザは、複写機の操作パネルの「電子文書取り出し」ボタンが押下されたのを検知する。
【０１８６】
次に、ステップ２８０４で、スキャナが動作して紙文書を画像として入力する。そして、スキャンされた文書画像は複写機内のメモリやハードディスクに一時保管される。
【０１８７】
次に、ステップ２８０５で、複写機内ではコード読み取り装置が作動し、画像の中のコードを読み取る。バーコードに埋め込まれた文書ＩＤのデコード、画像内に独自コードが存在するならば、それのデコードを行う。独自コードをデコードした後、操作パネルにパスワードの入力を促すダイアログを表示する。
【０１８８】
次に、ステップ２８０７で、ユーザはパスワードを入力する。
【０１８９】
次に、ステップ２８０８で、パスワードが一致すれば、ステップ２８０９に進み、文書ＩＤを有する電子文書を印刷するよう文書管理装置２６０１に要求を出す。
【０１９０】
次に、ステップ２８１０で、文書管理装置２６０１は、その管理しているデータベース内に文書ＩＤを有する電子文書が存在すれば、文書管理装置２６０１は、要求元の複写機宛に電子文書を印刷する命令を発行する。
【０１９１】
次に、ステップ２８１１で、文書を印刷し、ステップ２８１２で保存されている画像を削除する。
【０１９２】
そして、フローは、ステップ２８１３で終了する。
【０１９３】
次に、図２９は、さらに紙文書の元となる電子文書を取り出して、文書編集装置２６０５上に表示させ、編集可能とする場合のフローを示す図である。
【０１９４】
図２９のフローは、ステップ２９０１で開始し、ステップ２９０２で文書がスキャナに設置されたのを検知する。
【０１９５】
次に、ステップ２９０３で、複写機の操作パネルの「文書編集」というボタンが押下されたのを検知する。
【０１９６】
次に、ステップ２９０４で、紙文書が読み込まれ、保存される。
【０１９７】
次に、ステップ２９０５で、複写機は読み取った文書画像からコードをデコードし、文書ＩＤや独自コードからパスワードを取り出す。
【０１９８】
次に、ステップ２９０６で、独自コードが存在するならば、次に、ステップ２９０７へ進み、ユーザにパスワードの入力を促すダイアログを操作パネルに表示する。
【０１９９】
次に、ステップ２９０８で、パスワードが一致すれば、次に、ステップ２９０９で、複写機は文書を編集したい端末名を選択させるダイアログを表示し、ユーザに文書表示・編集させたい端末を選ばせる。
【０２００】
次に、ステップ２９１０で、複写機は文書ＩＤと表示先端末名を文書管理装置２６０１に送信する。
【０２０１】
次に、ステップ２９１１で、文書管理装置２６０１は、受信した文書ＩＤと関連付けられた電子文書を文書編集装置２６０５に送信する。
【０２０２】
次に、ステップ２９１２で、文書編集装置２６０５は、受信した文書を開いて表示し、編集可能状態とする。もし、パスワードが一致しなければ文書の編集はすることはできないが、電子文書の閲覧は端末で可能となる。
【０２０３】
ステップ２９０６で、独自コードが存在しないならば、ステップ２９１３へ進む。ステップ２９１３からステップ２９１６の動作は、ステップ２９０９からステップ２９１２の動作と、文書の編集の可不可を除き、同一である。
【０２０４】
次に、本発明を応用した、例えば、コンビニエンスストアのネット端末を利用した通信販売の会員サービスの実施例である、本発明の第５の実施例について説明する。
【０２０５】
コンビニエンスストアのネット端末を利用した通信販売の会員サービスは、自宅でパソコンやネットワークが利用できない会員向けの通信販売サービスであり、特に頻繁に利用している会員、高金額の購入をしている会員向けのキャンペーンや特別サービスを通販業者が提供し、それを会員が利用する。前記サービスの提供は通販業者から会員へのダイレクトメールという形で通知される。
【０２０６】
図３０は、ネット端末３００１、インターネット３００２及び通販業者３００３の間の接続を示す図である。ネット端末３００１が、ネットワークを介してインターネット３００２と接続されており、通販業者３００３のサーバーは、ネット端末３００１とインターネット３００２を介して接続可能である。たとえば、ここで使用する紙文書は通販会員向けのカタログ用紙である。カタログ用紙上のバーコードには、文書ＩＤ、ＱＲコードにはＵＲＬ、独自コードには会員番号、パスワードが格納されている。このカタログの文書ＩＤやＵＲＬは、頻繁に利用している会員、大量に購入している会員向けの特別なサービスを提供するプログラムと連動しており、会員はこのカタログ用紙を利用することにより通販業者が提供する特別なサービスを受けることができる。このカタログ用紙はダイレクトメールで送られ、しかも会員番号やパスワードが、カタログ用紙にエンコードされているために、特定の会員のみ利用することができる。しかも、利用する会員の商品購入履歴や登録されている趣向から会員に最適と思われる情報をカスタマイズして提供することが可能になる。会員は会員カードなどを必要とせず、このカタログ用紙のみをコンビニエンスストアに持参してサービスを利用すればよい。
【０２０７】
次に、図３１を使用して、ネット端末を利用した通信販売の会員サービスのフローについて説明する。
【０２０８】
図３１のフローは、ステップ３１０１で開始する。
【０２０９】
次に、ステップ３１０２で、会員はネット端末３００１の画面から通販業者３００３の会員サービスの選択をする。
【０２１０】
次に、ステップ３１０３で、カタログ用紙をネット端末３００１のスキャナに挿入する。
【０２１１】
次に、ステップ３１０４で、スキャナは文書を画像入力し、各コードをデコードする。
【０２１２】
次に、ステップ３１０５で、独自コードをデコードした際、画面に会員名とパスワードの入力を促すダイアログを表示する。会員は端末から会員名とパスワードを入力する。
【０２１３】
次に、ステップ３１０６で、入力された情報が一致すれば、次に、ステップ３１０７で、ネット端末３００１は、コードを読み取ることによって取得したＵＲＬ（サービス提供者）にアクセスし、会員情報を送信する。
【０２１４】
次に、ステップ３１０８で、文書発行元（通販業者３００３）では、カタログ情報の詳細や会員情報、購入履歴に基づいた最適な情報を選択して、会員にとって最適と思われる商品の購入案内や情報をネット端末へ送信する。
【０２１５】
次に、ステップ３１０９で、会員へ情報、サービスを提供する。
【０２１６】
そして、フローはステップ３１１０で終了する。
【図面の簡単な説明】
【０２１７】
【図１】文書上に、複数種類のバーコードが印刷された例を示す図である。
【図２】本発明に従った、画像認識装置の一実施例のブロック図を示す
【図３】メモリの内容を示す図である。
【図４】領域分割器を示す図である。
【図５】領域分割動作のフローチャートを示す図である。
【図６】ラベリング器によるラベル付けの動作を示す図である。
【図７】外接矩形座標を検出する動作を示す図である。
【図８】検出された外接矩形を１つの外接矩形に統合する場合の例を示す図である。
【図９】情報読み取り器のブロック図を示す図である。
【図１０】独自コードの実施例を示す図である。
【図１１】独自コード作成方法を示すフロー図である。
【図１２】独自コード画像のセル番号示す図である。
【図１３】独自コードを読み取りそしてデコードするための、読み取り器のブロック図を示す図である。
【図１４】頂点候補検出器による頂点の検出動作を示す図である。
【図１５】頂点候補であるかどうかを判定する方法を示す図である。
【図１６】コード枠検出器によるコード枠検出方法を示す図である。
【図１７】電子的に作成された独自コードのセル座標を示す図である。
【図１８】読み取られたコード画像を示す図である。
【図１９】電子的に生成されたコードを示す図である。
【図２０】電子的に生成されたコードの座標から読み取られたコード画像の座標への変換式を示す図である。
【図２１】本発明のソフトウェアの実施例の基本フローチャートを示す図である。
【図２２】情報読み取りステップの詳細を示す図である。
【図２３】独自コードをデコードする方法のフローチャートを示す図である。
【図２４】現在普及しつつあるコンビニエンスストアのネット端末に本発明のコード読み取り装置を内蔵し、伝票や文書を読み取るスキャナを増設した装置の例を示す。
【図２５】料金の支払いのフローを示す図である。
【図２６】セキュリティ機能つきの複写機（ＭＦＰ）と文書管理装置のネットワークを介しての接続を示す図である。
【図２７】紙文書をセキュリティ機能つきの複写機（ＭＦＰ）でコピーを行う場合の処理フローを示す図である。
【図２８】文書管理装置に接続されている場合に、オリジナルの電子文書取り出す操作のフローを示す図である。
【図２９】紙文書の元となる電子文書を取り出して、文書編集装置上に表示させ、編集可能とする場合のフローを示す図である。
【図３０】ネット端末、インターネット及び通販業者の間の接続を示す図である。
【図３１】ネット端末を利用した通信販売の会員サービスのフローを示す図である。
【符号の説明】
【０２１８】
２００  画像認識装置
２０１  領域分割器
２０２  情報読み取り器
２０３  メモリ
２０４  情報出力器
２１０  入力された画像
４０１  ラベリング器
４０２  外接矩形検出器
４０３  外接矩形結合器
４０４  外形寸法判定器
７０１、７０２、８０１  外接矩形
９０１  設定器
９０２〜９０４  バーコードデコーダ
９０５〜９０７  ２次元コードデコーダ
９１０  設定信号
１０００  独自コード
１００１  黒枠
１００２  セル
１００３  ファインダパターン
１３０１  頂点候補検出器
１３０２  コード枠検出器
１３０３  射影変換器
１３０４  ファインダ検出器
１３０５  データサンプリング器
１３０６  誤り訂正器
１３０７  フォーマット変換器
１３０８  デコーダ情報出力器
１６０５  黒枠判定ライン
２４０１  ネット端末
２４０２  表示画面
２４０３  硬貨投入口
２４０４  紙幣投入口
２４０５  プリペイドカード挿入口
２４０６  クレジットカード挿入口
２４０７  硬貨釣銭口
２４０８  文書用紙挿入口
２４０９  領収書発行口
２６０１  文書管理装置
２６０２  セキュリティ機能つきの複写機（ＭＦＰ）
２６０３  ネットワーク
２６０４  データベース
２６０５  文書編集装置
３００１  ネット端末
３００２  インターネット
３００３  通販業者
【図１】
2004303223.tif 000003
【図２】
2004303223.tif 000004
【図３】
2004303223.tif 000005
【図４】
2004303223.tif 000006
【図５】
2004303223.tif 000007
【図６】
2004303223.tif 000008
【図７】
2004303223.tif 000009
【図８】
2004303223.tif 000010
【図９】
2004303223.tif 000011
【図１０】
2004303223.tif 000012
【図１１】
2004303223.tif 000013
【図１２】
2004303223.tif 000014
【図１３】
2004303223.tif 000015
【図１４】
2004303223.tif 000016
【図１５】
2004303223.tif 000017
【図１６】
2004303223.tif 000018
【図１７】
2004303223.tif 000019
【図１８】
2004303223.tif 000020
【図１９】
2004303223.tif 000021
【図２０】
2004303223.tif 000022
【図２１】
2004303223.tif 000023
【図２２】
2004303223.tif 000024
【図２３】
2004303223.tif 000025
【図２４】
2004303223.tif 000026
【図２５】
2004303223.tif 000027
【図２６】
2004303223.tif 000028
【図２７】
2004303223.tif 000029
【図２８】
2004303223.tif 000030
【図２９】
2004303223.tif 000031
【図３０】
2004303223.tif 000032
【図３１】
2004303223.tif 000033