(57)【要約】【課題】  文書のレイアウトを損なうことなく、しかもコストアップ無しで印刷文書２１に印刷した文書にさまざまな手書き入力装置を利用して手書きで加筆した情報を正確に取得し、元の電子文書にその情報を反映させることができる２次元コードパターンを提供する。【解決手段】  文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷文書２１の一部または全部に複数配置して形成される２次元コードにおいて、印刷文書２１に形成される第一の２次元コード２２と、印刷文書２１の所定領域４０に形成され、第一の２次元コード２２とは異なる態様とされる第二の２次元コード４１を形成する。これにより、ペン型入力座標装置だけでなく、従来、ドットパターンを利用して手書き入力を行っていたパッド型座標入力装置やＭＦＰなどにおいてもバーコードを利用して手書き入力を行うことができるようになる。【選択図】      図８
2006085679.tif 000002
【特許請求の範囲】
【請求項１】
文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードにおいて、前記印刷媒体に形成される第一の２次元コードと、前記印刷媒体の所定領域に形成され、前記第一の２次元コードとは異なる態様とされる第二の２次元コードと、からなることを特徴とする２次元コードパターン。
【請求項２】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする請求項１記載の２次元コードパターン。
【請求項３】
前記第二の２次元コードは、前記第一の２次元コードよりドット間隔が広いことを特徴とする請求項１記載の２次元コードパターン。
【請求項４】
前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項１記載の２次元コードパターン。
【請求項５】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする請求項１記載の２次元コードパターン。
【請求項６】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項１記載の２次元コードパターン。
【請求項７】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きくしかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする請求項１記載の２次元コードパターン。
【請求項８】
文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードを作成する２次元コード作成方法において、前記印刷媒体に第一の２次元コードを作成するステップと、前記印刷媒体の所定領域に前記第一の２次元コードとは異なる態様の第二の２次元コードを作成するステップとを有することを特徴とする２次元コード作成方法。
【請求項９】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする請求項８記載の２次元コード作成方法。
【請求項１０】
前記第二の２次元コードは、第一の２次元コードよりドット間隔が広いことを特徴とする請求項８記載の２次元コード作成方法。
【請求項１１】
前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項８記載の２次元コード作成方法。
【請求項１２】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする請求項８記載の２次元コード作成方法。
【請求項１３】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項８記載の２次元コード作成方法。
【請求項１４】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、しかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする請求項８記載の２次元コード作成方法。
【請求項１５】
文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードを作成する２次元コード作成装置において、前記印刷媒体に第一の２次元コードを作成する第一の２次元コード作成手段と、前記印刷媒体の所定領域に前記第一の２次元コードとは異なる態様の第二の２次元コードを作成する第二の２次元コード作成手段と、を備えることを特徴とする２次元コード作成装置。
【請求項１６】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする請求項１５記載の２次元コード作成装置。
【請求項１７】
前記第二の２次元コードは、第一の２次元コードよりドット間隔が広いことを特徴とする請求項１５記載の２次元コード作成装置。
【請求項１８】
前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項１５記載の２次元コード作成装置。
【請求項１９】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする請求項１５記載の２次元コード作成装置。
【請求項２０】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項１５記載の２次元コード作成装置。
【請求項２１】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、しかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする請求項１５記載の２次元コード作成装置。
【請求項２２】
文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードが印刷された印刷媒体において、前記印刷媒体に形成される第一の２次元コードと、前記印刷媒体の所定領域に形成され、前記第一の２次元コードとは異なる態様とされる第二の２次元コードとが形成されていることを特徴とする印刷媒体。
【請求項２３】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする請求項２２記載の印刷媒体。
【請求項２４】
前記第二の２次元コードは、前記第一の２次元コードよりドット間隔が広いことを特徴とする請求項２２記載の印刷媒体。
【請求項２５】
前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項２２記載の印刷媒体。
【請求項２６】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする請求項２２記載の印刷媒体。
【請求項２７】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、前記第一の２次元コードとはドットの色が異なることを特徴とする請求項２２記載の印刷媒体。
【請求項２８】
前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きくしかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする請求項２２記載の印刷媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の固有情報及び文書の位置情報を含む２次元コードパターンと、そのような２次元コードの作成方法、２次元コード作成装置、及び２次元コードが印刷された印刷媒体に関するものである。
【背景技術】
【０００２】
紙などの印刷媒体上に、符号化した座標情報を含む２次元コードを配置することによって、その印刷媒体上に形成された画像情報の位置や内容を特定する技術が知られている。従来の１次元バーコードが横（水平）方向のみにしか情報を持たなかったのに対し、２次元コードは水平と垂直の２方向に情報を有するので、より複雑な情報を表すことができる。
２次元コードをより有効に活用すべく、２次元コードとともに別の画像情報を読み取り、読み取った情報をコンピュータなどの処理装置に入力して処理する技術も提案されており、光学的に読み取り可能な２次元コードシンボルを紙面にマトリックス状に並べ、小型カメラを備えたペンで紙面に加筆すると同時に、カメラで２次元コードシンボルを読み取って座標情報を取得する技術が知られている（特許文献１参照）。
また、特許文献２には、Ｘ座標、Ｙ座標、コードの方向を表すパターンと、ホーミングパターンと呼ばれるその他のパターンより大きくて、コードの中心に配置されたパターンとからなり、それらは人の目にはみえないようにする技術が提案されている。
また、特許文献３には、ドットを所定の位置からずらすことにより、１ドットで２ビット以上の情報を有することができる２次元コードが開示されている。このような２次元コードは、水平垂直方向の座標情報を有し、紙全体に連続的にドットが印刷されており、これを読み取ることにより、２次元コードがどの座標情報を有しているかを取得するようにしている。
また、特許文献４には、ペン型座標入力装置で読み取るドットパターンに加えて、別のバーコードを文書に印刷し、それをパッド型手書き入力装置のコードリーダやＭＦＰのスキャナを用いて読み取り、手書き入力を行うシステムが提案されている。
【特許文献１】特開２０００−２９３３０３公報
【特許文献２】米国特許第５６６１５０６号
【特許文献３】ＷＯ００／７３９８１
【特許文献４】特開２００２−３１２４７８公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１では、２次元コードの大きさが大きくなるため、広い範囲の紙面を光学ペンで撮影しなければならず、被写界深度などの問題で読み取った画像の品質が良くなく、２次元コードを連続的に読み取ることが難しくなる。また、２次元コードは筆記中の紙面をカメラで撮像し、デコードするために作られたものではなく、汎用の２次元コードであるため、デコード処理に時間がかかり、リアルタイムで処理を行うことが難しいという欠点がある。特に、特許文献１の目的の一つは連続的な加筆情報を取得することであるため、２次元コードを読み取り、座標位置を連続的に取得できなければ、加筆情報の不連続点が発生し、正しい加筆情報が得られないという欠点がある。
また特許文献２に提案されている２次元コードは、赤外インクなどの不可視インクを使用して印刷を行うようにしているため、一般の印刷装置を使用して印刷することができない。このため、ユーザが印刷したい文書の情報を印刷時に印刷媒体に埋め込むためには別のバーコードを重畳して印刷するなどの他の手段が必要になると共に、文書に加筆する前に必ずそのバーコードを読ませる必要があり、ユーザにとって不便になる。また、仮にバーコードを読む作業を忘れて別の文書に加筆を行うならば加筆情報と電子文書とのリンクが矛盾を起こして重大な問題となる。また、仮に可視インクで印刷したとしても他のパターンより大きいパターン（マーク）を使用しており、人の目につきやすく、文書や加筆の可読性が損なわれるといった問題がある。
【０００４】
また、特許文献３では、２次元的に等間隔な点からドットをずらして配置することにより、１ドットに２ビット以上の情報を乗せ、６×６のドットでそのコードの位置情報を有する２次元コードを開示している。この技術は、位置をずらす量が３０μｍと非常に小さく、一般に普及しているレーザープリンタの解像度（１２００ｄｐｉ）では、紙送りの精度、感光体の回転速度のむら等により正しいずれ量を再現することが難しい。したがってこの２次元コードの場合も予めオフセット印刷等の印刷技術を利用して２次元コードを印刷した紙を用意する必要があるため、上記した特許文献２と同等の問題が発生する。
また、特許文献４は、ドットパターンを利用し、パッド型座標入力装置やＭＦＰは別のバーコードを利用して手書きを入力するような構成となっている。このため、バーコードが大きくなり、文書のレイアウトが制限される、文書に表示される情報量が減る、バーコードが目障りになるなどの欠点あった。さらに、異なるコードを読み取る必要があるため、コードをデコードする装置が複数種類必要になりコストアップを招くといった欠点もあった。
そこで、本発明の目的は、文書のレイアウトを損なうことなく、しかも大幅なコストアップ無しで印刷媒体に印刷した文書にさまざまな手書き入力装置を利用して手書きで加筆した情報を正確に取得し、元の電子文書にその情報を反映させることができる２次元コードと、そのような２次元コードを作成するための２次元コード作成方法と２次元コード作成装置、２次元コードが記録された印刷媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１記載の発明は、文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードにおいて、前記印刷媒体に形成される第一の２次元コードと、前記印刷媒体の所定領域に形成され、前記第一の２次元コードとは異なる態様とされる第二の２次元コードと、からなることを特徴とする。
請求項２記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする。
請求項３記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドット間隔が広いことを特徴とする。
請求項４記載の発明は、前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項５記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする。
請求項６記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、前記第一の２次元コードとはドットの色が異なることを特徴とする。
【０００６】
請求項７記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きくしかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする。
請求項８記載の発明は、文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードを作成する２次元コード作成方法において、前記印刷媒体に第一の２次元コードを作成するステップと、前記印刷媒体の所定領域に前記第一の２次元コードとは異なる態様の第二の２次元コードを作成するステップとを有することを特徴とする。
請求項９記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする。
請求項１０記載の発明は、前記第二の２次元コードは、第一の２次元コードよりドット間隔が広いことを特徴とする。
請求項１１記載の発明は、前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項１２記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする。
請求項１３記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項１４記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、しかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする。
【０００７】
請求項１５記載の発明は、文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードを作成する２次元コード作成装置において、前記印刷媒体に第一の２次元コードを作成する第一の２次元コード作成手段と、前記印刷媒体の所定領域に前記第一の２次元コードとは異なる態様の第二の２次元コードを作成する第二の２次元コード作成手段と、を備えることを特徴とする。
請求項１６記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする。
請求項１７記載の発明は、前記第二の２次元コードは、第一の２次元コードよりドット間隔が広いことを特徴とする。
請求項１８記載の発明は、前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項１９記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする。
請求項２０記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項２１記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きく、しかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする。
【０００８】
請求項２２記載の発明は、文書の固有情報と該文書の位置情報を有する２次元コードを、前記文書が印刷される印刷媒体の一部または全部に複数配置して形成される２次元コードが印刷された印刷媒体において、前記印刷媒体に形成される第一の２次元コードと、前記印刷媒体の所定領域に形成され、前記第一の２次元コードとは異なる態様とされる第二の２次元コードとが形成されていることを特徴とする。
請求項２３記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいことを特徴とする。
請求項２４記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドット間隔が広いことを特徴とする。
請求項２５記載の発明は、前記第二の２次元コードは、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項２６記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、ドット間隔が広いことを特徴とする。
請求項２７記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きいと共に、前記第一の２次元コードとはドットの色が異なることを特徴とする。
請求項２８記載の発明は、前記第二の２次元コードは、前記第一の２次元コードよりドットサイズが大きくしかもドット間隔が広いと共に、前記第一の２次元コードとは前記ドットの色が異なることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、文書が印刷される印刷媒体に第一の２次元コードを形成し、印刷媒体の所定領域に第一の２次元コードとは異なる態様とされる第二の２次元コードを形成するようにしている。これにより、ペン型入力座標装置だけでなく、従来、ドットパターンを利用して手書き入力を行っていたパッド型座標入力装置やＭＦＰなどにおいてもバーコードを利用して手書き入力を行うことができるようになるので、印刷媒体に印刷した文書に手書きで加筆した場合においても、さまざまな手書き入力装置を利用して手書きで加筆した情報を正確に取得し、元の電子文書にその情報を反映させることができるようになる。
また、従来のようにバーコードの場合に比べて文書のレイアウトが制限されるのを最小限に抑えることができる。また、本発明によれば、コードをデコードする装置はドットパターンを読み取る読取装置だけでよいため、大幅なコストアップなしに実現することができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の実施の形態に係る印刷文書の平面図である。
この図１において、第一の２次元コードである２次元コード２２は複数の黒ドットで構成される光学的に読み取り可能なコードであり、縦横に規則的に配列された黒ドットを境界としてマトリクス状に並べられており、印刷文書２１の印刷時には文書と２次元コード２２のパターンが同時に印刷される。２次元コード２２には、例えば印刷文書２１の２次元コード２２が印刷されている面における印刷された文書の原本となる電子文書の識別（ＩＤ）情報と２次元コード２２の座標を意味する情報がエンコードされている。なお、図１においては説明上、文書は図示せず、行間や余白などの２次元コードのみが印刷された部分を示している。
例えば、図１の左上のコードシンボル（２次元コード）２２ａには「水平座標＝９５、垂直座標＝１０、文書ＩＤ＝１０」がエンコードされ、２次元コード２２ｂには「水平座標＝９６、垂直座標＝１０、文書ＩＤ＝１０」、２次元コード２２ｃには「水平座標＝９５、垂直座標＝１１、文書ＩＤ＝１０」、２次元コード２２ｄには「水平座標＝９６、垂直座標＝１１、文書ＩＤ＝１０」とエンコードされている。
【００１１】
図２は、２次元コードのドットの大きさ、及びドットの間隔を示した図であり、この図を用いて、２次元コードのドット及びコードの大きさについて説明する。２次元コード２２及び境界を構成するドット２３は、プリンタの最小ドット２４の２×２単位で印字される。１２００ｄｐｉのプリンタならば、プリンタの最小ドット径は２１μｍであるので、２次元コード２２のドットの直径は理想的には４２μｍとなる。実際にはドットゲインがあるため直径はもう少し大きくなる。ドット直径の６倍の間隔を置いて水平・垂直方向にドット２３を配置する位置を決定する。この場合、ドット配置位置にすべてのドットが存在する場合でもドットの占める面積率は理想的には２．８％、５０％程度のドットゲインを見込んでも５％に満たない。この面積率は人の目には明るい灰色に見えるのでドットに邪魔されて文書が見えにくいとか、加筆した文字が見えにくいなどという問題は起こらない。
以上のようにコードの配置を決定すると２次元コード２２は水平２ｍｍ、垂直３ｍｍ角の大きさを有し、水平座標＝９５ということは、２次元コードの左上の角が紙面の左上を原点として水平方向に１９０ｍｍの位置にあるということを意味する。詳しくは後述するが、水平２ｍｍ、垂直３ｍｍ角の大きさは、Ａ４サイズの用紙と相似の大きさであり、水平・垂直座標情報を格納するデータ長を有効に使うことが可能になる。
同様に垂直座標＝１０は、２次元コードの左上の角が紙面の左上を原点として垂直方向に３０ｍｍの位置にあるということを意味する。
文書ＩＤは、元の電子文書の固有情報、例えば電子文書が格納されているデータベースの識別ＩＤである。即ち、２次元コード２２はその左上の角（垂直線Ｈ１と水平線Ｖ１の交点）が、紙面左上から水平１９０ｍｍ、垂直３０ｍｍの位置にあり、印刷されている文書はそのＩＤが「１０」であるという情報を有する。
【００１２】
図３は、２次元コードのデータ配置領域を示した図であり、この図を用いて２次元コード２２に配置するデータの詳細に説明する。２次元コード２２ａはコード枠を構成するＨ１、Ｈ２、Ｖ１、Ｖ２に囲まれた７×１１のセルを有する。セルとはドットを打つことのできる単位をいい、最大７７個のドットを含む。
領域３１は水平座標を表すデータを配置する領域であり４×２のセルを有する。１セルは１ビットに相当するので領域３１は１バイトの容量を有する。
領域３２は、垂直座標を表すデータを配置する領域であり、水平座標と同様に１バイトの容量を有する。Ａ４サイズの用紙は水平２１０ｍｍ、垂直２９７ｍｍの大きさがある。また２次元コード２２の一つの大きさは、水平２ｍｍ、垂直３ｍｍであるので水平方向には１０５段階、垂直方向には９９段階のデータが必要になるが、１バイトで十分な容量を満たしている。用紙サイズがＡ３の場合には、水平２９７ｍｍ、垂直４２０ｍｍの大きさであるので、水平方向に１４８段階、垂直方向に１２０段階のデータが必要になる。この場合も１バイトのデータ容量があれば十分である。同様にＡ２サイズの場合でも、水平４２０ｍｍ、垂直５９４ｍｍの大きさであるので、水平方向に２１０段階、垂直方向に１９８段階のデータが必要であるが、この場合も１バイトのデータ容量で収まる。このように紙の縦横の長さの違いに応じて２次元コードの縦横の長さを決定すると水平・垂直座標を表すデータ長を同一の一定サイズに固定しても幅広いサイズの用紙に対応できるようになっている。
領域３３は文書ＩＤをあらわすデータを配置する領域であり、４×６の２４ビット（＝３バイト）の容量を有する。領域３４〜３７は誤り訂正用の符号を配置する領域であり、それぞれ１バイトずつの容量を有する。したがって誤り訂正用符号は合計４バイトで構成される。領域３８、３９はコードの上下方向を表すためのパターンで、領域３８は３×１の黒ドット、領域３９は２×１のドット無しのパターンでコードの上下を判別するのに使用される。
【００１３】
図４は、各データのビット列がどのように配列されるかを示した図である。なお、この図３の領域３１〜領域３７に示されているで「１」はＭＳＢ、「８」はＬＳＢをそれぞれ示している。
図５は本実施の形態としての文書管理システムの構成を示した図である。
この図に示す文書管理システムは、プリンタ１、複写機２、スキャナ３、情報処理装置４、記憶装置５、文書管理データベース６、ペン型座標入力装置７、パッド型座標入力装置８、情報処理装置９、２次元コード作成装置１０より構成され、これらがネットワークを介して接続されている。
プリンタ１は印刷を行う印刷装置、スキャナ３は画像の読み取りを行う読取装置、複写機２は、例えばコピー、スキャナ、ファックス、プリンタなどの機能を備えた複合機とされる。情報処理装置４はペン型座標入力装置７及びパッド型座標入力装置８の制御を行い、情報処理装置９は記憶装置５の制御を行う。なお、ペン型座標入力装置７の構成は後述する。２次元コード作成装置１０は２次元コードを作成する。なお、２次元コード作成装置１０の詳細は後述する。
【００１４】
次に、図５に示した文書管理システムにおいて、上記した２次元コード２２を作成し、印刷すべき文書に重畳する印刷データとし、文書を印刷するまでの手順を、図６〜図９を用いて説明する。なお、２次元コード２２の作成は、図５に示した情報処理装置４、９で文書１１の印刷命令を実行したときに、情報処理装置４、９内のプリンタドライバで実行される。
この場合、プリンタドライバは、まず記憶装置５内の文書管理データベース６に問い合わせて印刷しようとする文書１１のページ毎の文書ＩＤを発行してもらう（Ｓ１）。文書ＩＤを発行してもらったら、それと文書上の座標情報とを合わせてエンコードすべきデータを取得する（Ｓ２）。例えば、図７（ａ）に示す文書ＩＤは「１２３４５６」、座標情報（Ｘ，Ｙ）はｍｍ単位（２４，１２３）という具合である。次にデータをエンコードする（Ｓ３）。これにより、文書ＩＤは、図７（ｂ）に示すように、６桁の数字を３バイトのバイナリ値に変換する。また、水平座標は２４／２＝１２、垂直座標は１２３／３＝４１と、水平・垂直それぞれ１バイトずつで収まるように変換する。座標情報はこのように２バイトのバイナリ値に変換し、文書ＩＤと合わせて計５バイトのデータとする。そしてエンコードした後、エンコードデータを元に誤り訂正符号を追加する（Ｓ４）。図７（ｃ）に示す例では、５バイトのデータに対して４バイトの誤り訂正符号を付加している。この誤り訂正符号にはリードソロモン符号を採用する。リードソロモン符号は、バイト単位の誤りを訂正できる強力な誤り訂正方式であり、誤り訂正符号長の半分以下の誤りを訂正することができる。なお、リードソロモン誤り訂正符号の詳細については、昭晃堂「符号理論（コンピュータ基礎講座１８）」宮川、岩垂、今井共著など、多数の書籍に記されている。本実施の形態の場合には、図７（ｃ）に示すように誤り訂正符号長が４バイトなので２バイトの誤り訂正が可能である。
【００１５】
次に、このようにして作成したエンコードデータ及び誤り訂正符号データが所定範囲の座標かどうかの判別を行い、所定の範囲外と判別した場合、例えば図８（ａ）の左下点線で囲った領域４０の外側と判別した場合は、ステップＳ６に進み、第一のマトリクス配置により２次元コード２２の各セルに割り当てられる。なお、図８に示す印刷文書２１については後述する。
一方、座標が所定の範囲内と判別した場合、例えば図８（ａ）の左下点線で囲った領域４０の内側ならばステップＳ７に進み、第二のマトリクス配置により第二の２次元コードである２次元コード４１を割り当てるようにしている。即ち、先に説明した２次元コード２２とは異なるドットサイズやドット間隔、色を変えてデータを２次元コード４１の各セルに割り当てるようにする。例えば、２次元コードのドットのサイズを先に図２に示したドットの２倍、ドット間隔を１．５倍として２次元コード４１を生成する。図９は、所定領域における２次元コード４１のドットの大きさ、及びドットの間隔を示した図であり、２次元コード４１及び境界を構成するドット４２の直径は、２倍の８４μｍとなり、ドット４２、４２間の間隔は１．５倍の３７８μｍとなる。
そして、図６に示すステップＳ８において、１ページ分の２次元コードの作成が終了したかどうかの判別を行う。そして、１ページ終了したら次のステップＳ９において、全ページ終了したかどうかの判別を行い、全ページ終了したら処理を終えることになる。なお、ステップＳ８において１ページ分の２次元コードの作成が終了していないと判別した場合は、ステップＳ２に戻って処理を行う。またステップＳ９において全ページ分の２次元コードの作成が終了していないと判別した場合、ステップＳ１に戻って処理を行うようにする。
これにより、２次元コードがページ全体に配置されたマトリクスの画像を作成することができる。その後、プリンタ１や複写機２のプリンタ部を使用して印刷を行う。印刷が正常に終了したら文書管理データベース６内のＩＤ管理テーブルに正常に印刷された文書、ページ、文書ＩＤ等の情報の登録を行うようにする。
【００１６】
図１０は、上記２次元コードを作成し、印刷すべき文書に重畳する印刷データとし、文書を印刷するまでの一連の作業を作業者から見たフローである。
この場合、まず、図５に示す文書管理システムの記憶装置５に保存されている文書１１を編集し（Ｓ１１）、印刷命令を出して、プリンタ１や複写機２で文書の印刷を実行させる（Ｓ１２）。印刷が正常に終了したならば（Ｓ１３）、印刷に成功した文書ＩＤを文書管理データベース６内のＩＤ管理テーブルに登録する（Ｓ１４）。
図８は、２次元コード付きで印刷された文書の一例を示した図であり、図８（ａ）に示す印刷文書２１は、例えば所定のフォーマットを有する帳票文書であり、背景には２次元コード２２が印刷されている。印刷文書２１の一部を拡大したものが図８（ｂ）に示す図であり、２次元コード２２のコード枠を兼ねるアライメントドットと、枠内に配置されるデータドットが示されている。
また、これまで説明した２次元コード２２の作成は、ソフトウェア（プリンタドライバ）で作成するだけでなくハードウェア（図５に示す２次元コード作成装置１０）を用いて作成することもできる。
ここで、２次元コードを作成し印刷すべき文書に重畳する印刷データとするための２次元コード作成装置１０について説明する。
【００１７】
図１１は、２次元コード作成装置の機能ブロック図である。
この図１１に示す２次元コード作成装置１０は、文書ＩＤ取得手段５１でまず記憶装置５内の文書管理データベース６に問い合わせて印刷しようとする文書１１のページ毎の文書ＩＤを発行してもらう。文書ＩＤを発行してもらったら、それと文書上の座標情報とをあわせてエンコードすべきデータを座標データ生成手段５２において作成する。例えば、文書ＩＤは「１２３４５６」、座標情報はｍｍ単位（２４，１２３）という具合である。次にデータを符号化手段５３においてエンコードする。文書ＩＤは、先にも述べたように、６桁の数字を３バイトのバイナリ値に変換する。また、水平座標は２４／２＝１２、垂直座標は１２３／３＝４１と、水平・垂直それぞれ１バイトずつで収まるように変換する。座標情報はこのように２バイトのバイナリ値に変換し、文書ＩＤとあわせて計５バイトのデータとする。データをエンコードした後、誤り訂正符号追加手段５４においてエンコードデータを元に誤り訂正符号を追加する。この場合も先と同様、リードソロモン符号を採用する。このようにして作成したエンコードデータ及び誤り訂正符号データは第一の２次元コード生成手段５５において、所定の範囲以外の座標（図８の左下点線で囲った四角形の領域４０の外側）を表すデータを有するエンコードデータ及び誤り訂正符号データを２次元コード２２の各セルに割り当てて画像化する。このとき生成される画像は文書１１のページ全体と同じ大きさを有し、四角形の領域４０内には２次元コードは存在しない。また、第二の２次元コード生成手段５６において、所定の範囲内の座標（図８の左下点線で囲った四角形の領域４０の内側）を表すデータを有するエンコードデータ及び誤り訂正符号データを、先に説明したように図２に示した２次元コード２２とは異なるドットサイズやドット間隔、色を変えて２次元コード４１の各セルに割り当てて画像化する。例えば、図９に示したようにドットのサイズを２倍、ドット間隔を所定の範囲外の場合と比較して１．５倍として２次元コード４１を生成するようにしている。
このとき生成される画像は図２の左下点線で囲った四角形の領域４０と同じ大きさを有する。最後にコード合成手段５７において、第一の２次元コード生成手段５５と第二の２次元コード生成手段５６で生成されたコード画像を四角形の領域４０の部分で合成して１ページの２次元コード画像を作成する。このようにして、本発明の特徴である２つの態様が異なる２次元コード２２、４１がページ全体に配置されたマトリクスの画像ができあがる。図８に示した画像の四角形の領域４０付近の拡大図を図１２に示す。その後、プリンタ１や複写機２のプリンタ部を使用して印刷を行う。印刷が正常に終了したら文書管理データベース６内のＩＤ管理テーブルに正常に印刷された文書、ページ、文書ＩＤ等の情報の登録を行うようにすればよい。
【００１８】
さて、２次元コードつきの文書は印刷できたので、次に筆記を行うとともに紙面の画像を撮像して２次元コードをデコードして座標情報を得るペン型座標入力装置７の概略構成を図５に示すブロック図を用いて説明する。
図５に示すペン型座標入力装置７は、人が手に持って筆記動作を行うことができる筆記具状の装置本体６１を備えている。この装置本体６１の先端部６２には、筆記具６３、即ち、ボールペン、シャープペンシルの先端部分等が取り付けられており、文書に加筆可能である。装置本体６１側に設けられた画像読取装置６４は、ＣＣＤなどの光電変換素子６４ａと、レンズなどからなる光学系６４ｂとから構成され、印刷文書２１上の画像を読み取るようにしている。なお、画像読取装置６４には必要に応じて照明を設けることができる。ＣＣＤの読み取り解像度は３２０×２４０画素とする。
装置本体６１には、マイコン６５が搭載され、マイコン６５には画像読取装置６４が接続されている。マイコン６５は、画像読取装置６４で読み取った印刷文書２１上の画像に基づいた各種処理を行う。即ち、読み取った２次元コード２２をデコードし、２次元コードの紙面上の座標を検出する（詳細については後述する）。またマイコン６５は、装置本体６１の外部になるＰＣなどの情報処理装置４と接続可能であり、マイコン６５内に蓄積したデータを情報処理装置４に出力可能である。なお、図６では画像読取装置６４や、マイコン６５などに電力を供給する電源、マイコン６５と情報処理装置４とのインタフェースなどは図示を省略している。
【００１９】
マイコン６５は、図１３に示すように、バス７０を介してＣＰＵ７１、ＲＯＭ７２、ＲＡＭ７３、２次元コード読取装置７４が接続されている。ＲＯＭ７２には、図５に示すペン型座標入力装置７の動作を制御するプログラムやマイコン６５を動作させるプログラムが予め内蔵されている。ＲＡＭ７３は画像読取装置６４から読み取った画像や、コード読み取り中に生成される中間データ、２次元コードをデコードした際に得られる文書ＩＤや座標などを一時的に保存する。
２次元コード読取装置７４は、図１４に示すように構成され、ＲＡＭ７３に記憶された画像から２次元コードを検出し、読み取って文書ＩＤや座標を検出する作業を行う。なお、２次元コード読取装置７４については後述する。
図５に示すマイコン６５には、ＬＣＤ表示装置６６、ＬＥＤ６７、あるいはブザー６８が接続されている。これにより、マイコン６５は、情報処理装置４から受信した情報をＬＣＤ表示装置６６に表示したり、あるいは特定の情報を受信した場合にはＬＥＤ６７を点滅させたり、ブザー６８を鳴らしたりして外部に通知することができるようになっている。
装置本体６１には、ペン型座標入力装置７の先端部６２が筆記面に接触しているかどうかを検出する圧力センサ６９が設けられている。圧力センサ６９は、先端部６２が筆記面に接触することにより、筆記具６３を介して伝達される圧力を感知し、感知した情報をマイコン６５に伝送する。
このように構成されるペン型座標入力装置７を用い、印刷文書２１上での先端部６２の位置検出を連続的に行えば、印刷文書２１上での先端部６２の移動軌跡を求めることができる。また、ペン型座標入力装置７の先端部６２が筆記面に接触しているかどうかを検出する圧力センサ６９によって、紙面上に筆記を行ったときの筆記軌跡を忠実に求めることができる。もし２次元コードが存在しない文書にペン型座標入力装置７の読み取り対象ではない文書に加筆する場合、筆記中にもかかわらずコードを読み取ることが不可能であるので読み取り不能の表示をＬＣＤ表示装置６６またはＬＥＤ６７を用いて行い、ユーザに通知する。
【００２０】
次に、２次元コードの読み取りの動作について詳述する。
図１４は２次元コード読取装置７４の構成を示した図である。この２次元コード読取装置７４は、先にも述べたように、図５に示したペン型座標入力装置７の内部のマイコン６５に内蔵されている（図１３参照）。
この図１４に示す２次元コード読取装置７４では、画像読取装置６４で読み取られた紙面の画像（８ビット画像）がドット検出器８１に入力され、ドット検出器８１において２次元コード２２のドット検出を行うようにする。コード枠検出器８２では、ドット検出器８１において検出されたドットから画像内にある複数の２次元コード２２から一つの２次元コード２２の枠とその位置を検出する。読み取った画像例を図１５に示す。
コード枠検出器８２において２次元コード２２の位置を検出できたときは、データ取得器８３において、２次元コード２２の各白黒セルに応じて「０」または「１」のデータを取得し、２次元コード２２のデータ配置規則に従ってデータの並べ替えを行う。
データ置換器８４は、取得したデータに対して、連続筆記検出器９１から出力される連続筆記中であるか否かの信号により、既知情報メモリ８８から既知の文書ＩＤを読み出し、データ置換器８４において２次元コード２２から取得したデータの文書ＩＤに相当する部分を既知の文書ＩＤで置き換える。
【００２１】
連続筆記検出器９１には、筆記検出器９２の検出情報が入力される。筆記検出器９２には、ペン型座標入力装置７による加筆時においてペン先に感じる圧力を検出する圧力センサ６９の出力信号が入力され、筆記中か否かを判定する。そして筆記の状態が所定時間以上続いたときは連続筆記中であると判断し、それ以外の場合は連続筆記中ではないと判断して、その検出結果を連続筆記検出器９１に出力する。
誤り訂正器８５は、データ置換器８４の出力に対して誤り訂正を行う。誤り訂正器８５からは、誤り訂正が成功したか否かの判定情報と誤り訂正後のデータが出力される。この誤り訂正されたデータは文書ＩＤと座標情報である。
誤り訂正器８５から出力された誤り訂正の判定情報は、データ復号器８６、ペン先座標算出器８７、既知情報メモリ８８へ入力され、それぞれの機器の制御に使用される。
データ復号器８６では、誤り訂正の判定情報が誤り訂正成功であればデータ復号器８６は動作する。誤り訂正失敗であればデータ復号器８６は動作しない。ペン先座標算出器８７は誤り訂正の判定情報が誤り訂正成功であり、且つ、筆記検出器９２の出力が筆記中であれば、ペン先座標を算出して出力するが、誤り訂正失敗の場合や筆記中でない場合ならば現実にはありえない座標値（−１，−１）等を出力する。また、既知情報メモリ８８では、誤り訂正が成功である場合、誤り訂正された情報の文書ＩＤに相当する部分を新たに保存する。
【００２２】
ここで、データ置換器８４におけるデータ置き換えの具体例を図１６に示す。
この場合、第一行目には正しいデータをエンコードして誤り訂正符号を生成した時のデータが示されている。また第二行目には画像から２次元コード２２を抽出して２次元コードのドットからデータを再構成した観測データが示されている。ここで、観測データのＹ座標と、ＩＤ情報の１、２番目に誤りがあるとすると、この場合は誤りが三つあるため、後段の誤り訂正器８５で誤り訂正を行う事ができなくなってしまう。
そこで、誤り訂正器８５において誤り訂正を行う事ができなくなるのを防止するため、第三行目に示すように文書ＩＤを既知情報メモリ８８に記憶されている既知情報に置き換えるようにしている。これにより、ＩＤ情報の部分の誤りがなくなり、Ｙ座標の１バイトだけが誤りとなり、誤り訂正が可能となって正しい座標情報、ＩＤ情報が得られるようにしている。
誤り訂正に成功したデータは、データ復号器８６により、紙面上の座標情報と文書ＩＤに復号される。紙面上のＩＤは、水平座標＝２４ｍｍ、垂直座標＝１２３ｍｍ、文書ＩＤ＝２３となる。この座標及びデコードに成功した２次元コード２２の画像上の座標を用いてペン先座標算出器８７は、ペン先の紙面上での座標を算出する（詳細は後述）。これによりペン型座標入力装置７の先端部６２の位置が確定する。
【００２３】
次に、図１７〜図１９を用いてドット検出器の動作を説明する。
ドット検出を行う領域は、図１７に示す領域１０２とされる。領域１０１は画像領域全体（３２０×２４０画素）であり、領域１０２は２８０×２２０画素の領域である。このようにドット検出を行う領域を、最外周の領域１０１でなく領域１０２において検出を行うようにしているのは、最外周の領域１０１では画像品質が良くなく正しいドット検出を行うことが難しいことと、リアルタイム処理のためにできるだけ無駄な処理をしたくないから、画像領域全体ではなくそれより小さい領域１０２においてドット検出を行うようにしている。ここで、図１８に示す注目画素Ｚの周囲の斜線で記された画素（Ａ〜Ｈ）には既に検出されたドットが存在せず、且つ、注目画素Ｚの画素値が周囲画素（Ｉ〜Ｘ）のどの画素値よりも所定の閾値Ｔｈよりも小さい場合に注目画素Ｚを２次元コード２２のドットとであるとして検出する（入力画像が、黒＝０、白＝２５５を表すとする）。所定の閾値Ｔｈの設定であるが、閾値Ｔｈは小さければ小さいほどドットを検出しやすくなるが、同時にノイズもドットとして検出してしまい、検出したデータに誤りが起きる可能性がある。また、閾値Ｔｈが大きければノイズを検出せずに確実に誤りを減らすことができるがコード枠を検出することが難しくなり座標取得率が低下する。図１９に閾値Ｔｈの大きさに応じた座標取得率を示す。文書ＩＤを置き換えた場合と置き換えない場合との両方のデータを示しておく。
【００２４】
次に、図２０〜図２２を用いて、コード枠検出器の構成について説明しておく。
図２０はコード枠検出器の構成を示した図である。また図２１はコード枠検出器の検出経路を示した図である。
図２０に示すように、コード枠検出器８２は、ドットを検出した画像から、或るドットＸがコードのコーナーであるか否かを判定する第一コーナー検出器１１１と、その第一コーナーからドットで構成されるコード枠の８画素分を４方向に追跡して第二コーナー候補画素（Ｂ，Ｄ）を検出する第一ドット追跡器１１２とを備える。そして、第一ドット追跡器１１２で検出された第二コーナー候補画素が第二コーナーであるか否かを検出する第二コーナー検出器１１３と、第二コーナーからドットで構成されるコード枠の１２画素分を第一ドット追跡器１１２のドット追跡方向（時計回り方向）に追跡して、第三コーナー候補画素（Ｇ，Ｅ）を検出する第二ドット追跡器１１４とを備える。さらにこの第二ドット追跡器１１４で検出された第三コーナー候補画素が第三コーナーであるか否かを検出する第三コーナー検出器１１５と、その第三コーナーからコード枠の８画素分を第二ドット追跡器１１４のドット追跡方向（時計回り方向）に追跡し第四コーナー候補画素（Ｃ，Ａ）を検出する第三ドット追跡器１１６と、この第三ドット追跡器１１６で検出された第四コーナー候補画素が第四コーナー画素であるか否かを検出する第四コーナー検出器１１６と、さらに第一コーナーと第四コーナーとの間のコード枠を構成するドットを検出する第四ドット追跡器１１８とを備える。このコード枠検出器８２により、最大２つの２次元コード２２のコード枠を検出し、それを構成するドットの画像上の座標を検出することができる。
【００２５】
ここで、第一コーナー検出器１１１の動作を、図２２を用いて説明する。
第一コーナー検出器１１１は、図２２（ａ）で示すようにドットが存在する注目画素の周囲で４つ以上のドットが存在するか否か検出する周囲ドット検出器１２１と、検出された周囲ドットから注目画素を点対称とする二組のドットペアを検出する点対称ペア検出器１２２から構成される。周囲ドット検出器１２１は、図２２（ｂ）に示す注目画素Ｎを中心とする１７×１７画素の中で注目画素Ｎの周囲に存在するドットを検出する。図２２（ｂ）の場合、Ａ〜Ｆの６画素が存在する。これが周囲ドット画素として検出される。それらＡ〜Ｆのうちで、Ｎとの距離が近く、その中間点がＮに近いものを二組検出する。例えば図２２（ｂ）の場合、（Ｂ，Ｄ）、（Ｃ，Ｆ）の二組がそれに相当する。Ａ及びＥはノイズであると判断され除去される。このようにして注目画素のドットＮ及び周囲の二組の点対称ペアが検出されると、注目画素Ｎは第一コーナーとして検出される。この第一コーナー検出器１１１が検出対象とする領域は、図１８に示す１８０×１２０画素の領域１０３であり、画像領域１０１の縦横それぞれほぼ半分の大きさを有する。また、ドットを検索する方向は通常のラスター走査ではなく、図２３に示すように内側から外側への渦巻き走査となる。この理由は、画像の中央付近が周囲と比較して画像の品質が優れていてドットの検出が確実に行われる確率が高いため、画像の中央またはその付近からコードパターンを検出するほうが短時間で検出できる可能性が高くなる。そのため、リアルタイム処理に非常に有利となる。
第一コーナー検出器１１１が動作する領域１０３が画像全体の領域１０１やドット検出器８１の動作領域１０２より小さい理由は、コードパターンが領域１０２の中に存在する場合、コードパターンの最も画像の内側に存在するコーナーの存在範囲を領域１０３としているためである。
【００２６】
次に、ドット追跡器の詳細を図２４により説明する。まず、図２４を用いて第一ドット追跡器１１２の詳細を説明する。図２４は２次元コードのコーナー付近を構成するドットを示したものである。Ｘはコーナードット、その他のＡ〜Ｉはコード枠を構成するドットである。まず、ＸからＤＥＦの方向へドットを追跡することにする。簡単のため、Ａ〜Ｉ、Ｘをそれぞれ座標ベクトルとみなし、Ｙ＝２Ｄ−Ｘを計算する。
ＹはドットＥの推定ベクトルである。Ａ〜Ｄは第一コーナー検出器１１１で既に検出されているので既知である。Ｙの周囲５×５画素においてドットＥを探索する。Ｅが存在すれば、Ｙ＝２Ｅ−Ｄを計算する。今度、ＹはドットＦの推定ベクトルである。この追跡を７回繰り返して第二コーナー候補画素を検出する。
追跡方向は４方向（図２１：Ｘ→Ａ、Ｘ→Ｂ、Ｘ→Ｃ、Ｘ→Ｄ）存在し、検出された第二コーナー候補画素すべての情報を第二コーナー検出器に転送する。
第二コーナー検出器１１３は基本的な動作は第一コーナー検出器１１１と同一である。ただ、入力する注目画素となるドットが複数（最大４）存在する可能性があることである。その中で検出される第二コーナーは最大２である（図２１：Ｂ、Ｄ）。
第二ドット追跡器１１４の基本的な動作は第一ドット追跡器１１２と同一である。異なるのは追跡を開始するドットは二つあり、各ドットあたり一つの方向の追跡を行う（図２１：Ｂ→Ｇ、Ｄ→Ｅ）のと、各追跡あたりドット追跡操作を１１回繰り返すことである。このようにして、第三コーナー候補画素（図２１：Ｇ、Ｅ）を検出する。
【００２７】
第三コーナー検出器１１５は第二ドット追跡器１１４で追跡できた第三コーナー候補画素（図２１：Ｇ、Ｅ）が第三コーナーであるか否かを検出する。基本的な動作は前記第一、第二コーナー検出器１１１、１１３と同一である。第三コーナー検出器１１５が図２１に示すＧ、Ｅを第三コーナーであると検出したとする。
第三ドット追跡器１１６は二つの方向（図２１：Ｇ→Ｃ、Ｅ→Ａ）にドット追跡を行うことである。追跡回数は第一ドット追跡器１１２と同じ７回、第四コーナー候補画素として図２１：Ｃ、Ａを検出する。
第四ドット追跡器１１８は第二ドット追跡器１１４と同一構成であり、図２１に示すＣ→Ｘ、Ａ→Ｘの方向に１１回追跡してＸに至る。Ｘはすでに第一コーナーであることがわかっているので、図２１に示す追跡経路（１）、追跡経路（２）によりコード枠が検出されたことになる。このようにして２次元コードのコード枠を検出する。２次元コードのデコードの際にどちらのコードを使うかは、画像上のコード中心の水平座標が大きい方を優先する。このコードがデコードできなかった場合はもう一方のコードを使用してデコードを実行する。
上記第一ドット追跡器１１２、第二ドット追跡器１１４、第三ドット追跡器１１６、第四ドット追跡器１１８が追跡する画像領域は図１８の領域１０４（２６０×２００画素）である。ドットを検出した領域１０２より少しだけ小さいのは、第一、第二、第三、第四コーナー検出器１１１、１１３、１１５、１１７においてコーナー検出に使用するアルゴリズムがコーナードットを中心として１７×１７画素の領域を使用して、その範囲で点対称ペアドットを検出するためである。
【００２８】
次に、図１４に示すデータ取得器８３を図２５により説明する。
図２５では、コード枠のコーナーの４点を除いてａ１〜ａ７、ｂ１〜ｂ１１、ｃ１〜ｃ７、ｄ１〜ｄ１１とする。コードのデータを取得するには、これらを結ぶ水平線と垂直線の交点を検出する。つまり、ａ１とｃ１を結ぶ直線とｂ２とｄ２を結ぶ直線の交点の座標を検出する。そして、この交点の座標を中心にして３×３がその領域においてドットの有無を検出する。図２５の場合はドット無しとなり取得されるデータは「０」となる。これをコード全データに対して行ってコードデータを取得し、データ配置規則（図４）に従ってデータを再構成する。
次に、図１４に示すペン先座標算出器８７について説明する。
ペン先座標算出器８７は、図２６に示すように、射影パラメータ算出器１３１とペン先座標変換器１３２とからなる。射影パラメータ算出器１３１には、画像上のコードコーナー座標と、それに対応する紙面上のコードコーナー座標が入力される。それらから射影パラメータを算出する。射影パラメータの算出方法を図２７により詳述する。図２７（ａ）は画像におけるコードのコーナー（Ａｓ〜Ｄｓ）とペン型座標入力装置７の先端部６２（Ｐｓ）の座標である。Ｐｓの座標は常に一定である。なぜならばペン型座標入力装置７では画像読取装置６４と先端部６２は固定されているからである。先端部６２はペン型座標入力装置７の構成により画像読取装置６４で撮像される画像内にある場合もあれば画像外である場合もありうる。画像外にある場合は、その座標は負の値あるいは画像の座標の最大値を越えることになる。
図２７（ｂ）は紙面におけるコードのコーナー（Ａｒ〜Ｄｒ）とペン型座標入力装置７の先端部６２（Ｐｒ）の座標である。コードのデコードによりＡｒが決定されるので、その隣接コーナーであるＢｒ〜Ｄｒは自動的に決まる。算出したいのはＰｒの座標である。射影変換式は図２７（ｃ）に示す式により画像座標から紙面座標への変換が行われる。変換係数ｂ１〜ｂ８は未知数であるが、コーナー座標の関係により８つの一次方程式が作られる。この連立方程式を解く事によりｂ１〜ｂ８のパラメータが算出される。
ペン先座標変換器１３２はこのパラメータを用いてＰｓをＰｒに変換して紙面上の先端部６２の座標を決定する。
【００２９】
次に、２次元コード読取装置の他の実施例を図２８に示す。なお、図１４と同一部位には同一符号を付して説明は省略する。この図２８に示す２次元コード読取装置は、第一誤り訂正器１４１、第二誤り訂正器１４２、選択器１４３が設けられている点が、図１４に示した２次元コード読取装置と異なるものとされる。
第一誤り訂正器１４１及び第二誤り訂正器１４２の機能は、図１４に示した誤り訂正器８５と同一の機能を有する。選択器１４３は、連続筆記検出器９１において連続筆記中であると判断された場合は、常に第二誤り訂正器１４２の出力を選択し、図１４に示した２次元コード読取装置と同一の動作を行う。
一方、筆記検出器９２の出力から筆記中であるが連続筆記中でないと判断した場合、即ち筆記開始時においては、選択器１４３は次のような動作を行う。第一誤り訂正器１４１の誤り訂正判定情報が誤り訂正成功の場合には、第一誤り訂正器１４１の出力が選択される。第一誤り訂正器１４１の誤り訂正判定情報が誤り訂正失敗の場合には、第二誤り訂正器１４２の出力が選択される。
このような処理を行うと、新しい加筆が行われる際に同一の文書への加筆ならば装置としての誤り訂正率が向上するので、図１４に示した２次元コード読取装置より有利である。
【００３０】
これまで説明してきた２次元コード読取装置７４はハードウェアでコードの読み取りを行っているが、ソフトウェアで行ってもよく、この場合は２次元コード読取方法を実現するプログラムがマイコン６５（図５参照）のＲＯＭ７２（図１３参照）に格納される。そして、そのプログラムの命令が順次ＣＰＵ７１にロードされて命令の実行が行われ、２次元コード２２の読み取り処理が行われることになる。その処理手順を図２９（ａ）（ｂ）に示すフローチャートに従って説明する。
まず、画像入力を行った後、図２９（ａ）に示すように、画像内のドットを検出する（Ｓ２１）。次に、２次元コードの位置を抽出するコード枠の検出を行った後（Ｓ２２）、２次元コードの白黒に応じて「０」または「１」のデータを取得してデータの並べ替えを行う（Ｓ２３）。この後、ステップＳ２４において誤り訂正を行い、ステップＳ２５において誤り訂正に成功したと判別したときはステップＳ２６に進み、誤り訂正に成功したと判別しなかったとき、つまり誤り訂正に失敗したと判別したときは２次元デコード処理を終了することになる。
【００３１】
破線で囲ったステップＳ２４、Ｓ２５の処理は、図２９（ｂ）に示すようになる。
まず、ステップＳ３１において、取得したデータが連続検出中、即ち、ペン型座標入力装置７の先端部６２が常に紙面に押し付けられているかどうかを判定し、連続検出中ならば、ステップＳ３２において既知情報（文書ＩＤ）でデータ置き換えを行う。データ置き換えを行った後、ステップＳ３３で誤り訂正を行う。ステップＳ３４において誤り訂正が成功したと判別した場合は、ステップＳ３５においてデコードされた既知情報（文書ＩＤ）を保存して誤り訂正処理を終えることになる。この後、図２９（ａ）に示すステップＳ２６に進み、元のデータ（座標情報）を復元し、続くステップＳ２７においてペン型座標入力装置７の先端部６２の紙面上における座標を算出する。
一方、図２９（ｂ）のステップＳ３１において、取得したデータが連続検出中でなかった場合、つまり初めての加筆である場合、ステップＳ３２のデータの置き換えは行わず、ステップＳ３３において誤り訂正を行う。そしてステップＳ３４において誤り訂正が成功したと判別した場合は、上記同様、ステップＳ３５において文書ＩＤ（既知情報）を保存した後、図２９（ａ）に示すステップＳ２６において元のデータ（座標情報）を復元し、続くステップＳ２７においてペン型座標入力装置７の先端部６２の紙面上における座標を算出すればよい。
なお、ドットの検出、コード枠の検出、データ取得、誤り訂正、座標・文書ＩＤ復元、ペン先座標算出の各ステップは、図１４に示すドット検出器８１、コード枠検出器８２、データ取得器８３、誤り訂正器８５、データ復号器８６、ペン先座標算出器８７の各機能をソフトウェアで実現している。
【００３２】
また、２次元コード読み取り処理の他の処理手順を図３０（ａ）（ｂ）に示すフローチャートに従って説明する。
この図３０に示すフローチャートは、図２９に示したフローチャートと異なる点は、筆記中であって連続検出中でない場合、即ち筆記開始時に文書ＩＤを置き換えずに誤り訂正を行い、誤り訂正ができなかった場合に文書ＩＤ部分の置き換えを行って誤り訂正を行うようにしている点である。つまり、図３０（ｂ）に示すステップＳ４１において筆記中であると判別し、続くステップＳ４２において連続検出中でないと判別された場合、ステップＳ４３において、筆記開始時に文書ＩＤを置き換えずに誤り訂正を行い、ステップＳ４４において誤り訂正ができなかった場合に、ステップＳ４５において文書ＩＤ部分の置き換えを行って誤り訂正を行うようにしている。これにより、同一文書への加筆時には、図３０に示すように２次元コード読み取り処理を行ったほうが誤り訂正率を向上させることができるようになる。
なお、図３０（ａ）に示す処理、及び図３０（ｂ）に示すステップＳ４５〜Ｓ４８の処理は、それぞれ図２９（ａ）に示す処理、及び図２９（ｂ）に示すステップＳ３２〜Ｓ３５の処理と同じとされるので説明は省略する。
同一文書への加筆時には、図３０に示すように２次元コード読み取り処理を行ったほうが誤り訂正率を向上させることができる。
【００３３】
これまで２次元コードを読むことにより加筆座標を取得する装置、及びシステムについて述べた。そこで次に加筆した情報を取得し、原文書に重畳するシステム、及び方法を、図５に示した文書管理システムと図３１に示すフローチャートを参照しながら説明する。なお、ここでは文書には２次元コードが付されて印刷されているものとする。
ここで、ペン型座標入力装置７で文書に加筆を行ったとすると、前述したように、文書上の２次元コード２２が読み取られ、文書ＩＤと座標情報がペン型座標入力装置７で取得される（Ｓ５１）。コードシンボルの読み取りの詳細については後述する。加筆とともにリアルタイムで読み取られた文書ＩＤや座標情報が情報処理装置４へ送信される。情報処理装置４は文書ＩＤと座標情報を受け取ると、その文書ＩＤを、文書管理データベース６を管理する情報処理装置９へ転送する（Ｓ５２）。
情報処理装置９は受信した文書ＩＤを元に、文書管理データベース６から現在加筆されている文書のページを特定する（Ｓ５３）。ここで、例えば、特定された文書が図３２に示す識別番号（ＩＤ）「１２３４５６」の「patent.doc」のページ１であるとする。この文書情報はペン型座標入力装置７へ送信され、ペン型座標入力装置７のＬＣＤ表示装置６６には受信した文書情報が表示される。このようにしてファイルの実体が特定できたので、情報処理装置４は「patent.doc」をそれが関連付けられているアプリケーション（例えばワープロソフト）で開き、例えば情報処理装置４に接続された図示しないディスプレイに表示して編集状態とする（Ｓ５４）。
編集状態とされた文書「patent.doc」に、ペン型座標入力装置７から次々送信されてくる座標情報を描画することになる。描画する方法としては、文書のウィンドウに新たな描画オブジェクトを開き、受信した座標を線でつないで描画することで実現することができる（Ｓ５５〜Ｓ５８）。
【００３４】
加筆が終了した時点で（Ｓ５９「Ｙ」）、ペン型座標入力装置７は加筆終了の信号を情報処理装置４へ送信し、加筆終了の信号を受け取った情報処理装置４は、ウィンドウへの描画を終了する。このようにして文書「patent.doc」に一つのオブジェクトが加えられる（Ｓ６０）。本実施例では加筆した情報をリアルタイムでコンピュータのディスプレイ上に表示し、実際に加筆した情報が正しく処理されているかどうかをすぐに確認できるのでユーザにとって大きなメリットになる。また、情報処理装置４では受信した座標情報を数列テキストとして同時に別ファイルとして保存する。文書が巨大な場合など、ユーザが後にアプリケーションを開いて加筆されたデータを確認したいときに素早く確認することが不可能な場合に、加筆されたデータのみを表示・確認させることができるので有効である。
また、これまで説明したペン型座標入力装置７を用いて手書きした内容を元の電子文書に関連付けるための方法や装置、システムについて説明したが、次に図５に示したパッド型座標入力装置８を用いてペン型座標入力装置７で行ったことと同等のことができることを説明する。
【００３５】
以下、パッド型座標入力装置８の具体的な動作について説明する。
図３３はパッド型座標入力装置８の概要を示す概観斜視図、図３４はその概略側面図、図３５はその真上からみた概略図、図３６はそのハードウェア構成を示すブロック図である。このパッド型座標入力装置８は、図３３に示すように、文書情報が予め印刷されている情報表示媒体である複数の普通紙２０１と、情報記憶装置を構成する電磁誘導式のデジタイザ（タブレット）２０２と、手書き入力用の電磁ペン２０３とにより構成されており、情報処理装置４（図５参照）に接続されている。
普通紙２０１は、Ａ４判サイズの紙が用いられている。これらの普通紙２０１には、記憶装置５に格納されている各文書データが一画面単位で各々プリンタ１や複写機２により予め印刷されているとともに、後述するようにその印刷時に文書管理データベース６内の文書であることを示す文書ＩＤと座標情報とが、図８に示す印刷文書２１の左下点線で示した領域４０に２次元コード４１の形態で印刷されている。この領域４０は、パッド型座標入力装置８の２次元コードリーダ２０４の読み取り領域に対応するものである。この２次元コード４１のドットサイズやドット間隔は図９に示した寸法に従う。また、図８に示した領域４０以外の領域においてもペン型座標入力装置７で読み取るための文書ＩＤと座標情報をエンコードした２次元コード２２が図２に示した寸法で紙全体に印刷されている。これら２次元コード２２についての詳細は既に説明したとおりである。
デジタイザ２０２は、図３６に示すように手書き入力部２０５を平板状の本体ボード２０６の表面に有し、情報蓄積媒体としてのメモリ２０７、情報処理装置４と通信するための通信インタフェース２０８、ワンチップＣＰＵ（Central Processing Unit）２０９等を本体ボード２０６内に内蔵する形で構成され、複数枚の普通紙２０１の上端にある保持辺２０１ｕの中央部を本体ボード２０６上に積層させた状態で交換自在に保持する媒体保持部としての保持用クリップ２１０と、積層された普通紙２０１の下端辺２０１ｄを押さえる格納用クリップ２１１とを備えている。本体ボード２０６上の下端辺側には格納用クリップ２１１に併設される形でＬＣＤ２１２が設けられている。また、格納用クリップ２１１の紙押さえ面部分（下面）には各普通紙２０１に印刷された２次元コード４１を光学的に読み取る文書ＩＤ認識手段である２次元コードリーダ２０４が設けられている。
【００３６】
デジタイザ２０２において、ワンチップＣＰＵ２０９には、手書き入力部２０５の検出回路２１４、メモリ２０７、通信インタフェース２０８、２次元コードリーダ２０４、ＬＣＤ２１２等が接続されている。２１３は各部に電力を供給する本体電源である。また、デジタイザ２０２は、ワンチップＣＰＵ２０９が適切なプログラムに従って各種の情報処理を実行することにより、情報入力手段、情報格納手段、情報出力手段等の機能を果たす。
情報入力手段は、ハードウェアとして手書き入力部２０５やワンチップＣＰＵ２０９、検出回路２１４などを有しており、各種情報の手書き入力を受け付ける。つまり、本体ボード２０６上に積層された普通紙２０１上で電磁ペン２０３を通じて手書き入力部２０５に文字や線などが手書き入力されると、その入力パターンを検出回路２１４により検出する。ここに、電磁ペン２０３は手書き入力している時に電磁場を放射するアクティブなペンであり、手書き入力部２０５に対して手書き入力する時に検出回路２１４を通じて電磁誘導方式のデジタイザ２０２がその位置座標を検出する。この方式は、紙厚にして５ｍｍ程度は検出可能であり、或る程度の枚数の普通紙２０１を重ねてデジタイザ２０２の手書き入力部２０５上に置いた場合であっても、その最上位の普通紙２０１に対して電磁ペン２０３で手書き入力した内容を認識できるものである。
【００３７】
情報格納手段は、メモリ２０７やワンチップＣＰＵ２０９を有しており、上述のように情報入力手段により受け付けられた手書き入力の各種情報を後述するように２次元コードリーダ２０４により認識された識別情報と関連付けてワンチップＣＰＵ２０９によりメモリ２０７に記憶させる。ここに、メモリ２０７としては例えば大容量のフラッシュメモリやハードディスク等が用いられている。
情報出力手段は、ワンチップＣＰＵ２０９や通信インタフェース２０８などを有しており、後述するように情報処理装置４に対してメモリ２０７に記憶された手書き入力の各種情報を伝送出力させる。この場合、通信インタフェース２０８としてはブルートゥース、赤外線ポート、ＲＳ２３２Ｃポート、イーサネット（登録商標）ポート、ＰＣＭＣＩＡポートといった一般的なインタフェースが用いられている。
また、本実施の形態のデジタイザ２０２は持ち運んで任意の場所で使用することを主に想定しているので、本体電源２１３としては、本体ボード２０６内部に内蔵されて再充電可能な２次電池を用いるのが望ましい。このような本体電源２１３の消費電力を考慮し、本実施の形態では、保持用クリップ２１０に電源スイッチの機能を兼用させてあり、図３７に示すように、本体ボード２０６上に複数枚の普通紙２０１を積層状態で載置して保持用クリップ２１０で保持することにより本体電源２１３が起動されて動作可能となるように設定されている。このような機能がワンチップＣＰＵ２０９による制御の下に電源起動手段により実行される。
図３８はその処理制御を示すフローチャートであり、ステップＳ７１において、保持用クリップ２１０に媒体（積層状態の普通紙２０１）が保持されたかどうかの判別を行い、保持されている判別したときに電源をオンにする（Ｓ７２）。一方、保持されていないと判別したときに電源をオフにして（Ｓ７３）、処理を終えることになる。
【００３８】
このように構成されるパッド型座標入力装置８の使用方法について説明する。
まず、印刷文書２０１（普通紙２０１）を積層状態で、本体ボード２０６上に載置、保持用クリップ２１０で保持辺２０１ｕを固定保持するとともに、下端辺２０１ｄ側は格納用クリップ２１１で止める。なお、保持辺２０１ｕ部分が綴じられたものであってもよい。これにより、前述したように、電源が起動され、格納用クリップ２１１下面に内蔵されている２次元コードリーダ２０４が稼動し、最上位の普通紙２０１に印刷されている２次元コード６の情報を読み込み、その文書ＩＤを認識する。この文書ＩＤの認識に基づきその普通紙２０１に印刷されている文書の文書ＩＤがＬＣＤ２１２に表示される。これにより、使用者は最上位の普通紙２０１に印刷されている文書が認識されていることがわかる。また、認識された文書ＩＤはＣＰＵ２０９によってメモリ２０７に格納される。
このような状態で、使用者が電磁ペン２０３により印刷文書（普通紙）２０１上で手書き入力（加筆）すると、手書き入力部２０５が電磁ペン２０３の動きに伴う位置情報をその検出回路２１４により検出して、ＣＰＵ２０９を介して加筆データとしてメモリ２０７に格納する。図３３では、一例として丸やアンダラインが加筆情報Ａとして加筆されている様子を示している。この格納処理に際して、前述した文書ＩＤに関連付けて加筆座標データをメモリ２０７に格納する。
【００３９】
次に、その下の２枚目の印刷文書（普通紙２０１）に加筆する場合を考える。この場合、使用者は最上位の普通紙２０１（１ページ目）をめくる。すると、手前部分では２ページ目の普通紙２０１が最上位となるので、格納用クリップ２１１の２次元コードリーダ２０４部分ではこの２ページ目の普通紙２０１に印刷されている２次元コード２２を読み込むことができる。
そこで、２ページ目の文書ＩＤを認識し、１ページ目の場合と同様に、その情報をメモリ２０７に格納する等の処理を行う。同時に、この２ページ目について電磁ペン２０３を利用して加筆があった場合、手書き入力部２０５、検出回路２１４等により加筆データとして認識し、その文書ＩＤに関連付けて加筆データをメモリ２０７に格納する。
本動作の手順概要は図３９のフローチャートに示している。
まず、２次元コードリーダ２０４で２次元コード２２を含む画像を入力し、２次元コードをデコードして文書ＩＤを読み取る（Ｓ８１）。ステップＳ８２において、読み取りが成功したかどうかの判別を行い、もし読み取りに失敗したらステップＳ８３に進んで読み取り不能表示をＬＣＤ２１２に表示する。また、ステップＳ８２において読み取りが成功したと判別したらステップＳ８４に進んで、筆記座標の読み取りを開始し、筆記が終了するまで筆記座標を保存していく（Ｓ８５〜Ｓ８７）。ここで、ステップＳ８５において所定の範囲の座標を読み取ったと判別した場合、ステップＳ８８に進んで、文書ＩＤ、デバイスタイプ、保存していた筆記座標を情報処理装置４に送信して終了する。この所定の座標とは、例えばデータ送信を開始することを示すチェックボックスの領域である。
全ての作業が終了したら、情報処理装置４のそばにパッド型座標入力装置を置き、電磁ペン２０３で、図３５の送信チェックボックス２２０にチェックを行う。その位置情報を検出回路２１４により検出して、ＣＰＵ２０９を介してそれが送信用に予約された座標であることを認識し、メモリ２０７に格納されている文書ＩＤとそれに関連付けられた座標情報とを通信インタフェース２０８により情報処理装置４に伝送出力する。そして、情報処理装置４は、パッド型座標入力装置８から受け取ったデータを情報処理装置９に転送する。情報処理装置９は、すでに述べたように、文書ＩＤから元となる電子文書を特定し、受信した座標情報をその文書に追加して電子文書を更新する。
本実施例で説明したパッド型座標入力装置（座標取得装置）８は電磁誘導タブレットと電磁ペンを利用したものであるが、この方式に限らず、超音波式など座標を取得可能なその他のタブレット状の装置であってもよい。
【００４０】
次に、パッド型座標入力装置８の２次元コードリーダ２０４の動作について説明する。２次元コードリーダ２０４は図４０のような構成をとる。画像撮像器２３１は、図示しない光学系とＣＣＤやＣＭＯＳなどの画像撮像素子及び画像撮像素子を制御するコントローラからなり、図８に示した印刷文書２１の左下点線部分の領域４０を撮影して白黒８ビット画像を出力する。光学系は画像撮像素子で撮像した画像内に２次元コードが複数個入るように設計され、ペン型座標入力装置７で読むことのできる２次元コード２２をペン型座標入力装置７で読み取ったときの画像に近い画像を画像撮像器２３１で取得することができる。画像撮像素子の画素数はＱＶＧＡやＣＩＦ程度のものが必要である。コントローラは、画像撮像素子の撮像タイミング、シャッタースピード、ゲイン等の調整を行い、画像を白とび、或いは黒潰れしないような露出の画像を撮影できるようにする。画像撮像器２３１で撮影された画像は、ドット検出器２３２に入力され、画像内のドットを検出し、ドットを黒画素、それ以外を白画素とするドット画像を出力する。ドット画像はコード枠検出器２３３に入力され、２次元コードの枠を検出する。コード枠検出器２３３は検出した枠の座標（コード位置情報）とドット画像を出力する。コード位置情報とドット画像はデータ取得器２３４に入力される。データ取得器２３４はコード枠内のドットの有無により、「１」「０」のコードデータを取得し、データを整列させる。誤り訂正器２３５は、取得したデータの誤りを訂正する。誤り訂正を行った結果、誤りが無いか、または誤り訂正が可能な場合は、誤り訂正判定情報を「可」として出力するとともに、訂正したデータを出力する。誤りが訂正できない場合は、誤り訂正判定情報を「不可」として出力するとともに、訂正不能のデータを出力する。データ復号器２３６は訂正したデータから元の文書ＩＤと座標情報を復号する。パッド型座標入力装置は別にデジタイザを有するので、データ復号器が出力するのは文書ＩＤだけでよい。誤り訂正が「不可」の場合は、文書ＩＤを復号できなかったとして、予め、エラー番号として設定されているＩＤ（例えば「−１」）を出力する。以上、ドット検出器２３２、コード枠検出器２３３、データ取得器２３４、誤り訂正器２３５、データ復号器２３６は、図１４に示した対応する各器と同じ構成でよい。
【００４１】
これまで説明してきた２次元コードリーダ２０４はハードウェアでコードの読み取りを行っているが、ソフトウェアで行ってもよく、この場合２次元コードリーダ２０４は、画像撮像器と書き込み可能なＲＯＭに書かれたプログラムを実行できるＣＰＵ及びＲＡＭを持ったマイコンで実現できる。その処理手順を図４１に示すフローチャートに従って説明する。
まず、画像入力を行った後、画像からドットを検出する（Ｓ９１）。ドットが検出された画像から、２次元コードの位置を抽出するコード枠の検出を行う（Ｓ９２）。その後、ステップＳ９３において２次元コードの白黒に応じて「０」または「１」のデータを取得し、取得したデータの並べ替えを行う。次に、ステップＳ９４において誤り訂正を行う。ステップＳ９５において誤り訂正が成功したと判別した場合には、ステップＳ９６において元のデータ（文書ＩＤ）を復元して処理を終えることになる。一方、ステップＳ９５において誤り訂正が失敗したと判別した場合には、元のデータ（文書ＩＤ）を復元することなく処理を終えるようにする。ドットの検出、コード枠の検出、データ取得、誤り訂正、文書ＩＤ復元の各ステップは、図４０に示したドット検出器２３２、コード枠検出器２３３、データ取得器２３４、誤り訂正器２３５、データ復号器２３６の各機能をソフトウェアで実現している。
また、パッド型座標入力装置の２次元コードリーダ２０４で２次元コード４１を読み取る機能について説明した。
ここで、同じ２次元コードをＭＦＰ（図５に示す複写機２）のスキャナを使用して読み取ることを考える。
また、同様にスキャナ３も使用できる。スキャナ３はネットワークに接続されていて情報処理装置９からスキャナを動作させる。また、直接ＵＳＢ等のインタフェースを利用して接続されていてもよい。スキャナを使用して座標を取得することのメリットは、ペンタイプやパッドタイプとは異なり、専用のペン、あるいはタブレットが必要ないということである。ボールペンあるいは鉛筆で印刷文書２０１に記入するだけである。
【００４２】
では、記入が終わった印刷文書２０１からスキャナ３を使って画像入力し、２次元コードをデコードして文書ＩＤを得るまでを図４２で説明する。なお、すべての手順は情報処理装置９で実行される。まず、記入が終わり送信チェックを行った印刷文書２０１をスキャナ３にセットして画像読み取りを行う（Ｓ１０１）。読み取られた印刷文書２０１の画像は記憶装置５（図５）の所定のフォルダに画像ファイルとして蓄え、次の処理へのキューに入る（Ｓ１０２）。情報処理装置９は所定のフォルダを監視していてキューの先頭にある画像から順番に次のステップ以降の処理を行う（Ｓ１０３）。キュー方式を使用するのはＡＤＦ等を使用して多数の画像が入力されたとき、同時に複数の画像が処理されると情報処理装置９の負荷が非常に高くなり動作が不安定になりかねないし、処理の速度が遅くなるからである。スキャナから読み取られた画像の方向がわかっていないので、ステップＳ１０３において、画像を正立させる。ステップＳ１０３の画像正立処理の詳細について図４３に示すフローチャートを用いて説明する。
まず、読み取った画像についてＯＣＲ処理を行い、その結果を保存しておく（Ｓ１１１）。次に、ステップＳ１１２において、画像を９０度ずつ回転させた後、ステップＳ１１１においてＯＣＲ処理を行い、それらの結果を保存しておく。このようにして４方向でＯＣＲ処理が行われたならば（Ｓ１１３「Ｙ」）、次にステップＳ１１４においてＯＣＲ処理結果のひとつの尺度である確信度を用いて画像の方向を判定する（Ｓ１１４）。確信度とは認識した文字の確からしさであり、この画像方向判定に使用する数値は、各文字の確信度の平均である。この平均の確信度が最も大きい値を持つ方向で画像は正立すると判定して画像を正立させる。
【００４３】
図４２に戻り、図４２のステップＳ１０４において、パッド型座標入力装置８の２次元コードリーダ２０４が読む領域を選択する。これは予め、決められた領域であるので容易に領域を選択することができる。次に選択した領域に対して２次元コードのデコードを行う（Ｓ１０５）。デコードの詳細はパッド型座標入力装置の２次元コードリーダですでに述べたものと同じでよい。特定の領域の２次元コード２２をデコードする理由は以下のとおりである。その他の領域にある２次元コードは全面に印刷されるため、文書の見た目（平均濃度やドットの見え方）に大きく影響する。したがって、ドットのサイズは図２のようにできるだけ小さくしている。そのため、ＭＦＰ（複写機２）のスキャナの通常の解像度６００ｄｐｉではそのドットを読むことが不可能であるからである。
特定の領域４０の２次元コード４１は、ドットサイズを大きくし、ドット間隔も大きくしている。そのため、平均濃度はその他の領域と比較してほとんど変わらず、ドットが少し目立つ程度である。
デコードが成功して文書ＩＤの取得ができたなら、デバイスタイプ、文書ＩＤ、座標情報（この場合は画像）を記憶装置５の所定のフォルダに保存して次の処理のキューに入れる。以降の処理は、文書ＩＤ及び座標情報を受信した情報処理装置９の文書処理プログラムの動作手順（図４４）で行われる。本実施例の場合は、デバイスタイプはスキャナ、座標情報は画像となる。
まず、記憶装置５の所定のフォルダを監視してキューの先頭にあるデータ（デバイスタイプ、文書ＩＤ、座標情報（画像））を受信する（Ｓ１２１）。文書ＩＤより、図３２に示す文書管理データベース６を検索して電子文書を特定し（Ｓ１２２）、後の処理効率を考えて処理キューに入る（Ｓ１２３）。次に、電子文書情報取得ステップにおいて、キューの先頭にあるデータを取り出し、それを元に電子文書を画像化した画像化ファイルを取得する（Ｓ１２４）。
デバイスタイプがスキャナである（加筆情報が画像として取得できるタイプのデバイスである）ので、スキャナを用いて取得した画像をステップＳ１２５において、電子文書と重ね合わせができるように画像を補正する。
【００４４】
位置補正について図４５、図４６を用いて説明する。まず、電子文書の理想マーカー位置４箇所を入力する（Ｓ１３１）。次に受信した画像からマーカーを検出する（Ｓ１３２）。検出方法として、図４６（ａ）に示すＡのマーカーを例に説明する。まず、図４６（ｂ）に示すように、斜め走査によりマーカーの左上の頂点となる黒画素（Ａ０）を探索する。その黒画素の位置から右斜め下４５度の方向で黒画素の終点（Ａ１）を探索する。連続した黒画素の長さと理想のマーカーの長さを比較しほぼ等しければ、Ａ０とＡ１の中点をＭとし、垂直方向の黒画素の長さと水平方向の黒画素の長さを検出する。理想のマーカーの長さと比較し、それぞれがほぼ等しければＡをマーカーと判定する。マーカーＢ、Ｃ、Ｄについても同様に行って４箇所のマーカーを検出する。これにより、理想マーカーと画像マーカーの位置の対応付けができた。次に、図４６（ｃ）に示すように、マーカーＡＢＣＤからなる四角形を三角形ＡＢＣ、三角形ＢＣＤの二つの三角形に分割し、それぞれアフィン変換を施して（図４５のステップＳ１３３）、４箇所のマーカーを基準とした位置補正を完了する。
図４４に戻り、ステップＳ１２５から出力された画像から加筆抽出を行う（Ｓ１２６）。加筆抽出の基本は、電子文書から加筆を抽出すべき領域情報を取得し、その領域に対応する部分を、電子文書を画像化した画像化ファイル及び位置補正済みの画像から切り出し、それぞれの領域で位置合わせを行って加筆部分だけを抽出する。抽出した加筆情報を画像オブジェクトとして元の電子文書に追加して電子文書を更新する（Ｓ１２７）。
【００４５】
また、これまでの説明は２次元コードをすべて黒トナーやインクで印刷することを考えていたが、パッド型座標入力装置７やＭＦＰ２、スキャナ３で読み取らせる２次元コード４１をカラーで印刷することも考えられる。人間の目に感知しにくい黄色で印刷する場合を考える。図６に示した２次元コードのエンコード処理における第二のマトリクス配置でイエローカラーのドットを画像に配置したり、図１１に示した第二の２次元コード生成手段５６において、同様にイエローカラーのドットを画像に配置したりすることで、図１２に示す印刷文書２１内の領域４０をイエローカラーの２次元コード４１で埋めることができる。この場合、カラーコードを読み取る場合に、パッド型座標入力装置８の２次元コードリーダ２０４やＭＦＰ２のスキャナはカラーセンサである必要がある。イエローで印刷した場合の２次元コードリーダ２０４の構成は図４７に示すようになる。
この場合、図４０に示した２次元コードリーダ２０４の画像撮像器２３１とドット検出器２３２との間に色画像検出器２４１を設け、画像入力時にカラーセンサで読み取ったカラー画像から、イエローを検出する色画素検出器２４１を設けるようにすればよい。
また、このような２次元コードリーダ２０４をソフトウェアにより実現する場合は、図４８に示すようになり、先に図４１に示したフローチャートに色画素検出を行うステップＳ９０を追加するだけでよい。
これら色画素（イエロー画素）検出の方法は、下の両式を満たす画素を検出すればよい。
Ｒ−Ｂ＞Ｔｈｙ
Ｇ−Ｂ＞Ｔｈｙ
Ｔｈｙは閾値である。色画素を検出した後、色画素として検出された画素だけを利用してドット検出を行えばよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態に係る印刷文書の平面図。
【図２】２次元コードのドットの大きさ、及びドットの間隔を示す図。
【図３】２次元コードのデータ配置領域を示す図。
【図４】２次元コードへのデータの配置順序を示す図。
【図５】本発明の実施の形態に係る文書管理システムの構成図。
【図６】２次元コードのエンコード処理を示したフローチャート。
【図７】データのエンコード処理と誤り訂正符号の付加処理の説明図。
【図８】２次元コードを付して印刷した文書の一例を示す図。
【図９】特定領域における２次元コードのドットの大きさ、及びドットの間隔を示す図。
【図１０】文書印刷とデータベースへの登録方法を示す図。
【図１１】２次元コード生成装置の構成を示したブロック図。
【図１２】２次元コードのパターンを示す図。
【図１３】マイコンの構成を示す図。
【図１４】２次元コード読取装置の構成を示したブロック図。
【図１５】２次元コードを読み取った画像の一例を示す図。
【図１６】文書ＩＤ置き換えによる誤り訂正の可否を説明する図。
【図１７】画像全体の領域と各検出器の処理領域を示す図。
【図１８】ドット検出器の説明図。
【図１９】文書ＩＤの置き換えによる座標取得率の変化を示す図。
【図２０】コード枠検出器の説明図。
【図２１】コード枠の追跡経路の説明図。
【図２２】コーナー検出器の説明図。
【図２３】渦巻き走査の一例を示す図。
【図２４】ドット追跡器の説明図。
【図２５】データ取得器の説明図。
【図２６】ペン先座標算出器の構成を示す図。
【図２７】ペン先座標算出の説明図。
【図２８】２次元コード読取装置の他の構成を示したブロック図。
【図２９】２次元コードの読み取り処理の一例を示したフローチャート。
【図３０】２次元コードの読み取り処理の他の例を示したフローチャート。
【図３１】文書加筆時の文書更新、データベースの更新方法を示す図。
【図３２】文書管理データベースに登録されている項目を示す図。
【図３３】パッド型座標入力装置の外観斜視図。
【図３４】パッド型座標入力装置の概略側面図。
【図３５】パッド型座標入力装置を真上からみた概略図。
【図３６】パッド型座標入力装置のハードウェア構成を示したブロック図。
【図３７】パッド型座標入力装置の電源投入構造を示す概略側面図。
【図３８】パッド型座標入力装置の電源投入動作を示したフローチャート。
【図３９】パッド型座標入力装置を使用した筆記座標取得手順を示す図。
【図４０】２次元コードリーダの構成を示したブロック図。
【図４１】２次元コードリーダの読み取りフローチャート。
【図４２】スキャナを使用して筆記座標を取得しデータを処理する手順を示す図。
【図４３】画像の正立処理を示したフローチャート。
【図４４】情報処理装置で受信したデータの処理手順を示す図。
【図４５】位置補正の処理手順を示す図。
【図４６】位置補正の説明図。
【図４７】２次元コードリーダの他の構成を示したブロック図。
【図４８】２次元コードリーダの他の読み取りフローチャート。
【符号の説明】
【００４７】
１  プリンタ、２  複写機、３  スキャナ、４、９  情報処理装置、５  記憶装置、６  文書管理データベース、７  ペン型座標入力装置、８  パッド型座標入力装置、１０  ２次元コード作成装置、１１  文書、５１  文書ＩＤ取得手段、５２  座標データ生成手段、５３  符号化手段、５４  誤り訂正符号追加手段、５５  第一の２次元コード生成手段、５６  第二の２次元コード生成手段、５７  コード合成手段、７０  バス、７１  ＣＰＵ、７２  ＲＯＭ、７３  ＲＡＭ、７４  ２次元コード読取装置、８１、２３２  ドット検出器、８２、２３３  コード枠検出器、８３、２３４  データ取得器、８４  データ置換器、８５、２３５  誤り訂正器、８６、２３６  データ復号器、８７  ペン先座標算出器、８８  既知情報メモリ、１１１  第一コーナー検出器、１１２  第一ドット追跡器、１１３  第二コーナー検出器、１１４  第二ドット追跡器、１１５  第三コーナー検出器、１１６  第三ドット追跡器、１１７  第四コーナー検出器、１１８  第四ドット追跡器、１２１  周囲ドット検出器、１２２  点対称ペア検出器、１３１  射影パラメータ算出器、１３２  ペン先座標変換器、１４１  第一誤り訂正器、１４２  第二誤り訂正器、１４３  選択器、２０１  普通紙、２０２  デジタイザ（タブレット）、２０３  電磁ペン、２０４  ２次元コードリーダ、２０５  手書き入力部、２０６  本体ボード、２０７  メモリ、２０８  通信インタフェース、２０９  ワンチップＣＰＵ、２１０  保持用クリップ、２１１  格納用クリップ、２１２  ＬＣＤ、２１３  本体電源、２１４  検出回路、２３１  画像撮像器、２４１  色画像検出器
【図１】
2006085679.tif 000003
【図２】
2006085679.tif 000004
【図３】
2006085679.tif 000005
【図４】
2006085679.tif 000006
【図５】
2006085679.tif 000007
【図６】
2006085679.tif 000008
【図７】
2006085679.tif 000009
【図８】
2006085679.tif 000010
【図９】
2006085679.tif 000011
【図１０】
2006085679.tif 000012
【図１１】
2006085679.tif 000013
【図１２】
2006085679.tif 000014
【図１３】
2006085679.tif 000015
【図１４】
2006085679.tif 000016
【図１５】
2006085679.tif 000017
【図１６】
2006085679.tif 000018
【図１７】
2006085679.tif 000019
【図１８】
2006085679.tif 000020
【図１９】
2006085679.tif 000021
【図２０】
2006085679.tif 000022
【図２１】
2006085679.tif 000023
【図２２】
2006085679.tif 000024
【図２３】
2006085679.tif 000025
【図２４】
2006085679.tif 000026
【図２５】
2006085679.tif 000027
【図２６】
2006085679.tif 000028
【図２７】
2006085679.tif 000029
【図２８】
2006085679.tif 000030
【図２９】
2006085679.tif 000031
【図３０】
2006085679.tif 000032
【図３１】
2006085679.tif 000033
【図３２】
2006085679.tif 000034
【図３３】
2006085679.tif 000035
【図３４】
2006085679.tif 000036
【図３５】
2006085679.tif 000037
【図３６】
2006085679.tif 000038
【図３７】
2006085679.tif 000039
【図３８】
2006085679.tif 000040
【図３９】
2006085679.tif 000041
【図４０】
2006085679.tif 000042
【図４１】
2006085679.tif 000043
【図４２】
2006085679.tif 000044
【図４３】
2006085679.tif 000045
【図４４】
2006085679.tif 000046
【図４５】
2006085679.tif 000047
【図４６】
2006085679.tif 000048
【図４７】
2006085679.tif 000049
【図４８】
2006085679.tif 000050