(57)【要約】【課題】汎用プリンタで文書とともに印刷可能であり、かつ連続的な加筆情報の正確な取得を可能にする２次元コードパターンを提供する【解決手段】２次元コードパターンは、所定の間隔で配置されるドットにより一定の領域を区画するコード枠と、コード枠の内部に位置して所定の間隔で配置されるドットにより位置情報および文書識別情報を表現するデータ配置領域とを含む。位置情報は、文書ページ上での２次元コードの位置を表わし、文書識別情報は、２次元コードとともに印刷すべき文書ページの識別情報を表わす。ドットは、少なくとも文書ページを印刷する際に使用される印刷装置の最小ドット単位の２倍の直径を有し、所定の間隔は、ドットの直径の約６倍であることが好ましい。【選択図】　図２
2004094907.tif 000002
【特許請求の範囲】
【請求項１】
所定の間隔で配置されるドットにより一定の領域を区画するコード枠と、
前記コード枠の内部に位置し、前記ドットを用いて所定の情報を表示するデータ配置領域と
で構成され、前記所定の情報は、任意の文書ページ上での前記コード枠の位置を表わす位置情報と、前記文書ページの識別情報とを含むことを特徴とする２次元コードパターン。
【請求項２】
前記ドットは、少なくとも前記文書ページを印刷する際に使用される印刷装置の最小ドット単位の２倍の直径を有し、前記所定の間隔は、当該ドットの直径の約６倍であることを特徴とする請求項１に記載の２次元コードパターン。
【請求項３】
前記２次元コードパターンは、前記文書ページとともに印刷媒体上に印刷可能であることを特徴とする請求項１または２に記載の２次元コードパターン。
【請求項４】
前記データ配置領域に配置される所定の情報は、前記位置情報と前記文書ページの識別情報のための誤り訂正符号をさらに含むことを特徴とする請求項１に記載の２次元コードパターン。
【請求項５】
前記コード枠によって区画される一定の領域は、前記文書ページを印刷する印刷媒体のアスペクト比に応じた矩形領域であることを特徴とする請求項１に記載の２次元コードパターン。
【請求項６】
支持体と、
前記支持体の表面全体に、連続してマトリクス状に配置される２次元コードパターンと
を備え、前記２次元コードパターンは、
所定の間隔で配置されるドットにより一定の領域を区画するコード枠と、
前記コード枠の内部に位置し、前記ドットを用いて所定の情報を表示するデータ配置領域と
で構成され、前記所定の情報は、任意の文書ページ上での前記コード枠の位置を表わす位置情報と、前記文書ページの識別情報とを含むことを特徴とするパターン担持媒体。
【請求項７】
前記ドットは、少なくとも前記文書ページを印刷する際に使用される印刷装置の最小ドット単位の２倍の直径を有し、前記所定の間隔は、当該ドットの直径の約６倍であることを特徴とする請求項６に記載のパターン担持媒体。
【請求項８】
前記データ配置領域に配置される所定の情報は、前記位置情報と前記文書ページの識別情報のための誤り訂正符号をさらに含むことを特徴とする請求項６に記載のパターン担持媒体。
【請求項９】
前記コード枠によって区画される一定の領域は、前記支持体のアスペクト比に応じた矩形領域であることを特徴とする請求項６に記載のパターン担持媒体。
【請求項１０】
印刷すべき文書ページの識別情報を取得するステップと、
前記文書ページ上に配置すべき２次元コードの、前記文書ページ上での位置情報を取得するステップと、
前記識別情報および位置情報を、所定間隔のドット配置により符号化して前記２次元コードを作成するステップと、
前記２次元コードを前記文書ページ上にマトリクス状に配置するステップと
を含むことを特徴とする２次元コードパターンの生成方法。
【請求項１１】
前記ドットの直径を、少なくとも前記文書ページの印刷に使用する印刷装置の最小ドットの２倍に設定するステップと、
前記所定間隔を前記ドットの直径の約６倍に設定するステップと
をさらに含むことを特徴とする請求項１０に記載の２次元コードパターンの生成方法。
【請求項１２】
前記２次元コードを前記文書ページとともに、同一媒体上に印刷するステップをさらに含むことを特徴とする請求項１０に記載の２次元コードパターンの生成方法。
【請求項１３】
情報処理装置にインストールされ、前記情報処理装置が任意の文書ページに対する印刷命令を受信したときに、当該情報処理装置に、
前記文書ページの識別情報を取得する処理と、
前記文書ページ上に配置すべき２次元コードの、前記文書ページ上での位置情報を取得する処理と、
前記識別情報および位置情報を、所定間隔のドット配列により符号化して前記２次元コードを作成する処理と、
前記２次元コードを前記文書ページ上にマトリクス状に配置する処理と
を実行させることを特徴とする２次元コードパターン生成プログラム。
【請求項１４】
文書ページの印刷命令に応じて、コンピュータに、
前記文書ページの識別情報を取得する処理と、
前記文書ページ上に配置すべき２次元コードの、前記文書ページ上での位置情報を取得する処理と、
前記識別情報および位置情報を、所定間隔のドット配列により符号化して前記２次元コードを作成する処理と、
前記２次元コードを前記文書ページの全面にマトリクス状に配置する処理と
を実行させる２次元コードパターン生成プログラムを格納する、コンピュータ読取可能な記録媒体。
【請求項１５】
微小なドットで構成され、印刷媒体上に文書ページとともに印刷される２次元コードを光学的に読み取った画像を入力とし、前記画像から前記２次元コードを抽出するコード位置検出器と、
前記抽出された２次元コードから、前記文書の識別情報と、前記文書ページ上での当該２次元コードの位置情報とを取得するデータ取得器と、
前記取得した識別情報および位置情報を復号する復号器と
を備え、前記コード位置検出器は、前記２次元コードを区画するコード枠を検出するコード枠検出器を含み、当該コード枠検出器は、任意のドットが存在する着目画素の周囲で４以上の周辺ドットを検出し、前記周辺ドットの中から、前記着目画素に関して点対称なペアを２組検出したときに、前記着目画素のドットを前記２次元コードのコード枠のコーナードットとして検出することを特徴とする２次元コード読取装置。
【請求項１６】
前記コード枠検出器は、前記検出したコーナードットから所定方向に、所定間隔でドットを追跡することによって、２次元コードのコード枠を特定することを特徴とする請求項１５に記載の２次元コード読取装置。
【請求項１７】
印刷媒体上に印刷された微小なドットで構成される２次元コードを光学的に読み取った画像を受け取るステップと、
前記画像から、任意のドットを検出するステップと、
前記検出したドットが存在する着目画素の周囲で、４以上の周辺ドットを検出するステップと、
前記周辺ドットの中から、前記着目画素に関して点対称なペアを２組検出したときに、前記着目画素上のドットを前記２次元コードのコード枠のコーナードットとするステップと、
前記コーナードットから所定方向に、前記所定間隔でドットを追跡することによって、前記２次元コードのコード枠を特定するステップと
を含む２次元コードの読取方法。
【請求項１８】
微小なドットで構成される２次元コードを光学的に読み取った画像を入力とし、入力画像から前記ドットを検出するドット検出手段と、
前記ドット検出手段により検出されたドットから、前記２次元コードを区画するコード枠を検出するコード枠検出手段と、
前記コード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するデータ復号手段と
を備え、前記ドット検出手段は、前記入力画像の領域よりも小さい領域のみを対象としてドット検出することを特徴とする２次元コード読取装置。
【請求項１９】
微小なドットで構成される２次元コードを光学的に読み取った画像を入力とし、入力画像から前記ドットを検出するドット検出手段と、
前記ドット検出手段により検出されたドットから、前記２次元コードを区画するコード枠を検出するコード枠検出手段と、
前記コード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するデータ復号手段と、
を備え、前記コード枠検出手段は、前記入力画像の領域よりも小さい領域のみを処理してコード枠を特定することを特徴とする２次元コード読取装置。
【請求項２０】
前記コード枠検出手段は、前記入力画像の領域よりも小さい領域内において、当該領域の中心から周囲へ向かって走査する処理を行うことを特徴とする請求項１９に記載の２次元コード読取装置。
【請求項２１】
微小なドットで構成される２次元コードを光学的に読み取った画像を入力とし、入力画像の領域よりも小さい第１領域を処理して前記ドットを検出するドット検出手段と、
前記入力画像の領域よりも小さい第２領域を処理して、前記ドット検出手段により検出されたドットから、前記２次元コードを区画するコード枠を検出するコード枠検出手段と、
前記コード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するデータ復号手段と
を備えることを特徴とする２次元コード読取装置。
【請求項２２】
前記コード枠検出手段は、前記第２領域よりも小さい第３領域で、中心から周囲に向かう走査を行って任意のドットを検出し、前記第２領域で前記コード枠を特定することを特徴とする請求項２１に記載の２次元コード読取装置。
【請求項２３】
前記第１領域は、前記第２領域を含むことを特徴とする請求項２１に記載の２次元コード読取装置。
【請求項２４】
微小なドットで構成される２次元コードを光学的に読み取った画像を入力とし、入力画像の領域よりも小さい領域のみを処理して、前記画像から前記ドットを検出するステップと、
前記検出されたドットから、前記２次元コードを区画するコード枠を検出するステップと、
前記コード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するステップと
を含むことを特徴とする２次元コード読取方法。
【請求項２５】
微小なドットで構成される２次元コードを光学的に読みとった画像を入力とし、入力画像から前記ドットを検出するステップと、
前記入力画像の領域よりも小さい領域のみを処理して、前記検出したドットから、前記２次元コードを区画するコード枠を検出するステップと、
前記検出したコード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するステップと
を含むことを特徴とする２次元コード読取方法。
【請求項２６】
前記コード枠を検出するステップは、前記入力画像の領域よりも小さい領域内において、当該領域の中心から周囲へ向かって走査する処理を含むことを特徴とする請求項２５に記載の２次元コード読取方法。
【請求項２７】
微小なドットで構成される２次元コードを光学的に読み取った画像を入力とし、入力画像の領域よりも小さい第１領域で、前記画像から前記ドットを検出するステップと、
前記入力画像の領域よりも小さい第２領域のみを処理して、前記検出したドットから、前記２次元コードを区画するコード枠を検出するステップと、
前記検出したコード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するステップと
を含むことを特徴とする２次元コード読取方法。
【請求項２８】
前記コード枠を検出するステップは、前記第２領域よりも小さい第３領域で、中心から周囲に向かう走査を行う処理を含むことを特徴とする請求項２７に記載の２次元コード読取方法。
【請求項２９】
前記第２領域を、前記第１領域に包含されるように設定するステップをさらに含む請求項２７に記載の２次元コード読取方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化された座標情報を含む２次元コードパターンの生成と、この二次元コードパターンが印刷された媒体上への加筆を２次元コードパターンとともに読み取って加筆の軌跡を検出する画像読み取り技術に関する。特に、特殊なインクを必要とせずに媒体上に文書とともに印刷され、読み取りエラーを低減できる２次元コードパターンとその生成技術、および印刷された２次元コードパターンを読み取ってリアルタイムで処理する２次元コード読取技術に関する。
【０００２】
【従来の技術】
紙などの印刷媒体上に、符号化した座標情報を含む２次元コードを配置することによって、その印刷媒体上に形成された画像情報の位置や内容を特定する技術が知られている。従来の１次元バーコードが横（水平）方向のみにしか情報を持たなかったのに対し、２次元コードは水平と垂直の２方向に情報を有するので、より複雑な情報を表すことができる。
【０００３】
２次元コードをより有効に活用すべく、２次元コードとともに別の画像情報を読み取り、読み取った情報をコンピュータなどの処理装置に入力して処理する技術も提案されており、光学的に読み取り可能な２次元コードシンボルを紙面にマトリックス状に並べ、小型カメラを備えたペンで紙面に加筆すると同時に、カメラで２次元コードシンボルを読み取って座標情報を取得する技術が知られている（たとえば、特許文献１参照）。この方法では、２次元コードを紙面上に手書きで加筆された情報をリアルタイムで読み取り、加筆された情報を、加筆前の紙面情報に関連付けて格納することができる。
【０００４】
また、Ｘ座標、Ｙ座標、およびコードの方向を表すパターンと、ホーミングパターンと呼ばれるその他のパターンより大きなパターンとをあらかじめ紙面に印刷しておき、その後、紙面に加筆された文字を再現する技術も提案されている（たとえば、特許文献２参照）。ホーミングパターンもその他のパターンも、赤外インクで形成されており、肉眼では見えない。これらのパターンを光学的に読み取ることによって、紙面に通常のマーカーで加筆された文字の座標位置を特定する。
【０００５】
さらに、２次元コードパターンを構成するドットを、所定の位置から異なる方向に所定量だけずらして配置することによって、１ドットで２ビット以上の情報を表すことのできる２次元コードパターンも知られている（たとえば、特許文献３参照）。２次元コードパターンは水平および垂直座標情報を有しており、２次元コードを読み取ったときに、その２次元コードが表わす紙面上の位置情報を取得できる。
【０００６】
【特許文献１】
特開平２０００−２９３３０３号公報
【０００７】
【特許文献２】
米国特許第５６６１５０６号
【０００８】
【特許文献３】
国際公開第ＷＯ　００／７３９８１号
【０００９】
【発明が解決しようとする課題】
しかし、上記の特許文献１に開示される技術では、ＡＩＭ規格で標準化された汎用の２次元コードを離散的に配置しており、ひとつひとつのコードの大きさが大きい。このため、コードが有する座標情報を取得するために、紙面上の比較的広い範囲を光学ペンで撮影しなければならない。撮像範囲が広いと、被写界深度などの問題で読み取った画像の品質が悪くなり、２次元コードを連続して正確に読み取ることが困難になる。また、ここで使用される汎用２次元コードは、加筆中の紙面をカメラで撮像すると同時にデコードして座標情報を獲得する目的で作られたわけではないので、デコードに時間がかかり，リアルタイムで処理することが難しい。この文献の目的のひとつは、連続的な加筆情報を取得するということにあるため、２次元コードから座標位置を連続的に特定できなければ，加筆情報の不連続点が発生し、正しい加筆情報が得られないという欠点がある。
【００１０】
一方、特許文献２では、赤外インクを使用して、特殊な印刷装置で２次元パターンをあらかじめ紙面上に形成するので、一般のプリンタで文書の印刷と同時に２次元パターンを紙面に埋め込むことはできない。赤外パターンがあらかじめ形成された紙面上に、ユーザが所望の文書を印刷して加筆修正した場合、加筆された画像情報と、もとの電子文書との関連付けができず、加筆された画像情報だけが再現されることになる。
【００１１】
特許文献３では、２次元的に等間隔な点からドットを微妙にずらして配置することにより，１ドットに２ビット以上の情報を持たせ、６×６のドットでそのコードの位置情報を搭載できる。しかし、位置をずらす量が３０μｍと非常に小さく、一般に普及しているレーザプリンタの解像度（１２００ｄｐｉ）を考えると、紙送りの精度や感光体の回転速度のばらつきなどにより、正しいずれ量を再現することは難しい。したがって、この場合も、オフセット印刷等の印刷技術を利用して２次元コードをあらかじめ印刷した紙を用意する必要があり、上記特許文献２と同等の問題が生じる。
【００１２】
そこで、本発明はこれらの課題を解決し、既存のオフィスあるいは家庭用のプリンタを使用してオンデマンドで文書とともに印刷可能であり、かつ連続的な加筆情報の正確な取得を可能にする２次元コードパターンを提供する。
【００１３】
また、このような２次元コードパターンを担持した印刷媒体を提供する。
【００１４】
さらに、このような２次元コードパターンの生成技術を提供する。
【００１５】
【課題を解決するための手段】
これらの課題を解決するめに、本発明の第１の側面では、２次元コードパターンは、所定の間隔で配置されるドットにより一定の領域を区画するコード枠と、コード枠の内部に位置し、前記ドットを用いて所定の情報を表示するデータ配置領域とで構成され、所定の情報として、任意の文書ページ上でのコード枠の位置を表わす位置情報と、文書ページの識別情報とを含む。
【００１６】
２次元コードが文書ページの識別情報を有することにより、印刷された文書に手書き加筆した情報を、もとの文書上に正確に反映させることができる。
【００１７】
好ましくは、ドットは、少なくとも文書ページを印刷する際に使用される印刷装置の最小ドット単位の２倍の直径を有し、所定の間隔は、ドットの直径の約６倍である。
【００１８】
このようなサイズおよび間隔に設定することにより、２次元コードパターンが文書とともに印刷されても、文書や加筆内容の妨げとはならないので、汎用プリンタで印刷することができる。また、上述したサイズおよび間隔のドットを用いることで、加筆後の２次元コードの読み取りにおいて、一般に普及している装置を使用してエラーの少ない正確な読み取りを実現することが可能になる。
【００１９】
また、コード枠によって区画される領域は、文書ページを印刷する印刷媒体のアスペクト比に応じた矩形領域であることが望ましい。これにより、２次元コードが幅広い用紙サイズに対応することが可能になる。
【００２０】
本発明の第２の側面では、２次元コードパターンを搭載する印刷媒体などのパターン担持媒体を提供する。このパターン担持媒体は、支持体と、支持体の表面全体に連続してマトリクス状に配置される２次元コードパターンとを備え、２次元コードパターンは、所定の間隔で配置されるドットにより一定の領域を区画するコード枠と、コード枠の内部に位置し、前記ドットを用いて所定の情報を表示するデータ配置領域とで構成される。所定の情報として、任意の文書ページ上でのコード枠の位置を表わす位置情報と、文書ページの識別情報とを含む。
【００２１】
ドットは、少なくとも前記文書ページを印刷する際に使用される印刷装置の最小ドット単位の２倍の直径を有し、所定の間隔はドットの直径の約６倍である。
【００２２】
このようなパターン担持媒体は、全面にわたって連続して配置される２次元コードパターンを有するので、この媒体に加筆を行った場合、背景の２次元コードを読み取ることにより、連続して精度よく加筆情報を獲得することができる。
【００２３】
本発明の第３の側面では、２次元コードパターンの生成方法を提供する。この方法は、印刷すべき文書ページの識別情報を取得するステップと、文書ページ上に配置すべき２次元コードの文書ページ上での位置情報を取得するステップと、識別情報および位置情報を、所定間隔のドット配置により符号化して２次元コードを作成するステップと、２次元コードを文書ページの全面にマトリクス状に配置するステップとを含む。
【００２４】
好ましくは、ドットの直径を、少なくとも前記文書ページの印刷に使用する印刷装置の最小ドットの２倍に設定するステップと、所定間隔をドットの直径の約６倍に設定するステップとをさらに含む。
【００２５】
このような方法を用いることによって、印刷文書に連続して加筆された情報の正確な取得を可能にする２次元コードパターンを生成することができる。
【００２６】
本発明の第４の側面では、２次元コードの読取装置を提供する。２次元コードの読取装置は、微小なドットで構成される２次元コードを光学的に読み取った画像を入力とし、入力画像からドットを検出するドット検出手段と、ドット検出手段により検出されたドットから２次元コードを区画するコード枠を検出するコード枠検出手段と、検出されたコード枠内に配置されるドットパターンを読み取って、このドットパターンで表わされる情報を復号するデータ復号手段とを備え、ドット検出手段と、ドット枠検出手段の少なくとも一方は、入力画像の領域よりも小さい領域のみを対象として処理を行う。
【００２７】
たとえば、ドット検出手段は、入力画像の領域よりも小さい第１領域を処理してドットを検出し、コード枠検出手段は、入力画像の領域よりも小さい第２領域を処理して、検出されたドットから、２次元コードを区画するコード枠を検出する。第１領域は、第２領域を包含する。
【００２８】
コード枠検出手段は、第２領域よりも小さい第３領域で、中心から周囲に向かう走査を行って任意のドットを検出し、第２領域内で２次元コードのコード枠を特定する。
【００２９】
このように領域を特定した処理を行うことにより、画像劣化による検出エラーの可能性のある領域をあらかじめ排除し、検出精度を高めることができる。
【００３０】
また、たとえ２次元コードパターンの検出が失敗した場合でも、全画素を処理する場合と異なり、低速のＣＰＵでもリアルタイムの読み取り処理が可能になる。
【００３１】
本発明のその他の特徴、効果は、以下で図面を参照して述べる詳細な説明によりいっそう明確になる。
【００３２】
【発明の実施の形態】
図１は、本発明の一実施形態に係る２次元コードパターンを搭載した印刷媒体１の平面図である。この印刷媒体１は、紙などの支持体と、印刷紙面全体にわたって、連続してマトリクス状に配置される２次元コード２ａ〜２ｄのパターンを備える。２次元コード２は、複数のドット２２が所定の間隔で配置されるコード枠（Ｈ１、Ｈ２、Ｈ３…、およびＶ１、Ｖ２、Ｖ３…）によって区画される矩形領域で構成され、この領域内に、ドット２２の配置によって表される固有の情報を有する。
【００３３】
２次元コードパターンは、たとえばハードディスクドライブやフロッピー（登録商標）ディスクなどに格納された電子文書を印刷する際に、電子文書とともに紙面上に印刷される。したがって、一般的なプリンタで通常使用されるインク、トナーなどにより、文書に重畳して２次元コードが印刷されることになる。図１では説明の都合上、文書そのものは図示せず、行間や余白など２次元コードのみが印刷された部分を示している。
【００３４】
各２次元コード２は、紙面上のコード位置を表わす座標情報と、２次元コードパターンとともに印刷される文書ページの識別（ＩＤ）情報を含む。文書ページの識別（ＩＤ）情報とは、文書内容とその文書が含まれるページとを一意に関連付ける番号である。これらの座標情報および文書ページＩＤ情報は、２次元コード内にドットを使って符号化されている。たとえば、２次元コード２ａには「水平座標＝９５，垂直座標＝１０，文書ページＩＤ＝１０」がエンコードされ、識別子１０の文書ページの水平方向に９５番目、垂直方向に１０番目のマトリクス位置を表わしている。同様に、２次元コード２ｂ、２ｃ、２ｄには、それぞれ「水平座標＝９６，垂直座標＝１０，文書ＩＤ＝１０」、「水平座標＝９５，垂直座標＝１１，文書ＩＤ＝１０」、「水平座標＝９６，垂直座標＝１１，文書ＩＤ＝１０」を示す情報がエンコードされている。
【００３５】
このように、所定の間隔で配置されるドットによるコード枠で一定の領域を区画し、コード枠の内部にこのコード枠の文書ページ上での位置情報と文書ページの識別情報を持たせることによって、この２次元コードパターンが印刷された印刷媒体に手書きで加筆する場合に、加筆内容をもとの文書ページにリンクさせ、文書中に加筆情報を反映させることができる。
【００３６】
また、コード枠で領域を区画することによって、２次元コードの読取が容易になる。
【００３７】
図２は、２次元コードパターンを構成するドット２２のサイズおよび配置間隔を示す図である。図２において、正方形の領域２１は、使用するプリンタの最小ドットを表わす。ドット２２は、文書および２次元コードパターンの印刷に使用するプリンタの最小ドット２１の２×２のサイズを有する。たとえば、１２００ｄｐｉのプリンタならば、最小ドット径は２１μｍであり、２次元コードパターンを構成するドット２２の直径は、理想的には４２μｍとなる。実際にはドットゲインがあるため、直径はもう少し大きくなる。ドットの直径を、プリンタの最小ドットの２倍より小さくすると、ドットを安定して印刷することが困難になる。また、２次元コードの読み取り時にノイズを拾いやすくなる。ひとつのドットのサイズを、少なくともプリンタの最小ドットの２×２のサイズに設定することによって、ドットが明確に印刷され、ドットが打たれる位置も安定する。このような設定により、２次元コード読み取り時にノイズとの区別が容易になり、読み取りエラーを低減することができる。
【００３８】
ドットの直径を設定したならば、ドット直径の約６倍の間隔を置いて、水平および垂直方向に２次元コード用のドット配置位置を決定する。上述した例では、ドット間隔は約２５２μｍになる。プリンタの最小ドットの２×２のサイズのドットを用い、その直径の６倍の間隔でドットを配置した場合、紙面全体にわたってドットが隈なく存在する場合でも、ドットの占める面積は紙面全体の２．８％である。５０％近くのドットゲインを見込んだとしても、ドット占有率は５％に満たない。この程度の数字では、通常のトナーを使って文書とともに２次元コードパターンを印刷したとしても、人の目には明るい灰色に見えるだけである。したがって、印刷された文書や加筆した文字がドットに邪魔されて見えにくいという問題は起こらない。これより広い間隔で配置すると、背景は明るくなるが、２次元コードの読取が困難になる。
【００３９】
このようなドットサイズとドット配置を採用する２次元コードは、一般に普及している印刷装置を用いて、文書とともに印刷媒体上に印刷される。
【００４０】
図３は、２次元コード２ａに各種の情報を組み込むためのデータ配置領域（サブ領域）の一例を示す。説明の便宜上、ドット間隔を狭めて図示しているが、ドットサイズおよびドット間隔は、図２と関連して説明したとおりであり、ドット間隔はドット直径の約６倍である。図３の例では、２次元コード２ａは、コード枠を構成するドット列Ｈ１，Ｈ２，Ｖ１，Ｖ２で区画される領域に、７×１１のセルを有する。セルとはドットを打つことのできる単位をいい，最大７７個のドットを打てる２次元コード２ａのサイズは、２ｍｍ×３ｍｍとなる。２次元コード２ａの水平座標値は９５、垂直座標は１０であるから、印刷紙面の左上を原点とすると、原点から水平方向（右方向）に１９０ｍｍ、垂直方向（下方）に３０ｍｍの場所に位置することになる。
【００４１】
２次元コード２ａは、水平座標を示すデータを配置する水平座標領域４０１、垂直座標を表すデータを配置する垂直座標領域４０２、印刷される文書ページを表わす識別子を配置する文書ＩＤ領域４０３、誤り訂正符号を配置する誤り訂正符号領域４０４〜４０７、２次元コードの上下を判別するために使用される上下識別符号領域４０８、４０９を有する。これらの各領域で、ドットの有無によって“１”または“０”の値を取る２進情報を格納する。上下識別符号領域４０８および４０９は固定値を有し、コードの上端を示す領域４０８では、３×１のドット有りのパターン、コードの下端を示す領域４０９は２×１のドット無しのパターンで上下を判別する。
【００４２】
図４は、図３の２次元コード２ａを模式化した図であり、各サブ領域でのビット配置を示す。水平座標領域４０１と、垂直座標領域４０２は、それぞれ４×２のセルを有し、８ビット（１バイト）の容量を有する。８ビットの容量は、紙面上の２次元コードの位置（座標）を示すのに十分である。２ｍｍ×３ｍｍの２次元コードを用いるとすると、Ａ４サイズの用紙は２１０ｍｍ×２９７ｍｍの大きさなので、水平方向に１０５段階、垂直方向に９９段階の異なる位置を表現できればよいからである。Ａ３サイズの場合は、水平２９７ｍｍ，垂直４２０ｍｍなので、水平方向に１４８段階、垂直方向に１４０段階のデータが必要になる。Ａ２サイズであっても、水平４２０ｍｍ、垂直５９４ｍｍの大きさなので、水平方向に２１０段階、垂直方向に１９８段階のデータが必要であるが、いずれの場合も１バイトのデータ容量で収まる。２次元コードのサイズは、印刷媒体の寸法に応じて決定することができ、水平および垂直座標を表す領域のデータ長を固定にても幅広いサイズの用紙に対応できる。
【００４３】
文書ページＩＤ領域４０３は４×６の２４ビット（３バイト）の容量を有する。誤り訂正領域４０４〜４０７は、それぞれ１バイトずつの容量を有し、２次元コードに組み込まれる誤り訂正用の符号は、合計４バイトで構成される。各サブ領域に記載された数字は、ビット配列を示す。８ビット領域における数字１はＭＳＢ（ｍｏｓｔ　ｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ）を示し、数字８はＬＳＢ（ｌｅａｓｔ　ｓｉｇｎｉｆｉｃａｎｔ　ｂｉｔ）を示す。誤り訂正用の符号は、各２次元コードの文書上での位置情報と文書ＩＤ情報に対するものである。２次元コードにこのような誤り訂正符号を埋め込むことによって、後述するように、加筆された手書き情報をより正確に取得することができる。
【００４４】
このような２次元コードパターンは、上述したように、ハードドライブなどに格納された文書を印刷する際に、通常の印刷装置を用いて、文書とともに紙面全体にわたって印刷される。
【００４５】
図５は、文書を２次元コードとともに印刷し、印刷した文書に加筆し、加筆情報をもとの文書情報に関連付けて保存、管理する文書管理システムの一例を示す概略構成図である。この文書管理システムは、２次元コードパターンを作成、印刷する第１部分と、印刷した文書に対する加筆を読み取って、もとの文書と関連付けて保存、管理する第２部分とを含む。より具体的には、文書作成、印刷命令の処理、および２次元コードパターンの作成を実行する情報処理装置５０９と、文書を格納、管理する記憶装置５０５と、情報処理装置が発する印刷命令に応じて文書ページを印刷するプリンタ５０１と、印刷された文書に対して加筆するとともに、加筆の位置情報を読み取ってもとの文書情報と関連付けるペン型座標入力装置６００を含む。ペン型座標入力装置６００の詳細な構成については後述する。文書管理システムはまた、任意で、文書や画像を光学的に読み取るスキャナ５０３や、複写機５０２、作成した文書や印刷命令を情報処理装置５０４に対して無線通信する携帯情報端末５０８などを含んでもよい。
【００４６】
図６は、図５の文書管理システムの第１部分の動作手順を示すフローチャートである。まずステップＳ１０１で、記憶装置５０５に保存されている文書ファイルを読み出して編集する。次にステップＳ１０３で、情報処理装置５０９は、印刷命令の有無を判断する。印刷命令がある場合は（Ｓ１０３でＹＥＳ）、ステップＳ１０５で印刷すべき文書ページのための２次元コードパターンを生成し、ステップＳ１０７で２次元コードパターンを文書に重畳して印刷する。ステップＳ１０９で印刷が成功したか否かを判断し、印刷が成功した場合は、２次元コードパターンをその文書ページを対応づけて文書管理データベース５０６に格納してプロセスを終了する。後に同じ文書ページを読み出してさらに加筆する場合は、先に生成した２次元コードパターンをそのまま利用することができる。ステップＳ１０３で印刷命令がない場合、あるいはステップＳ１１１で印刷が成功しなかった場合は、ステップＳ１１３でデータを保存してプロセスを終了する。
【００４７】
図７は、図６のステップＳ１０５（２次元コード作成ステップ）の詳細な処理フローである。２次元コードパターンの作成は，情報処理装置５０９内のプリンタドライバ（不図示）で実行される。プリンタドライバはまずステップＳ２０１で、記憶装置５０５内の文書管理データベース５０６に問い合わせて、印刷しようとする文書のページ毎の文書ページＩＤを発行してもらう。新規文書を作成、印刷する場合も、その文書の文書ページＩＤ（たとえばＩＤ番号１２３４５６）を取得するために、いったん記憶装置５０５に格納するのが望ましい。文書ページＩＤを取得したならば、ステップＳ２０３で、その文書ページ中に埋め込まれる各２次元コード２の座標データを取得する。座標情報は、たとえば２次元コード２の左上コーナーの位置を、原点（紙面の左上コーナー）からの距離としてｍｍ単位で表現したものである。ある２次元コード２の座標情報が（２４ｍｍ、１２３ｍｍ）とすると、２ｍｍ×３ｍｍの２次元コード２を生成する場合は、２次元コードマトリクスの左から１２番目、上から３１番目の位置を表わす。
【００４８】
次に、ステップ２０５で、取得した文書ページＩＤと座標情報を２次元コード２のサブ領域４０１、４０２、４０３に格納するために、これらの情報を符号化する。文書ページＩＤは、ＩＤ番号である６桁の数字を３バイトのバイナリ値に変換する。座標情報については、紙面上の距離（ｍｍ）をマトリクス上の位置に変換してから符号化する。すなわち、水平座標値を２４ｍｍ／２ｍｍ＝１２とし、垂直座標値を１２３ｍｍ／３ｍｍ＝４１として、水平座標と垂直座標のそれぞれが１バイトずつで収まるようにする。結果として、図８の模式図に示すように、Ｘ座標で１バイト、Ｙ座標で１バイト、文書ページＩＤで３バイトと、合計５バイトのデータが生成される。
【００４９】
さらにステップＳ２０７で、符号化したデータに対して誤り訂正符号を追加する。本実施形態の２次元コード２では、４バイトの誤り訂正符号領域４０４〜４０７（図３および４を参照）を確保しており、図８の模式図に示すように、４バイトの誤り訂正符号を追加する。誤り訂正符号にはリードソロモン符号を採用する。リードソロモン符号は、バイト単位の誤りを訂正できる強力な誤り訂正方式であり、誤り訂正符号長の半分以下の誤りを訂正することができる。リードソロモン誤り訂正符号の詳細については、昭晃堂「符号理論（コンピュータ基礎講座１８）」宮川、岩垂、今井共著など、多数の書籍に記されている。本実施形態の場合、誤り訂正符号長が４バイトなので２バイトの誤り訂正が可能である。
【００５０】
次にステップＳ２０９で、生成した符号化データと誤り訂正符号データを、２次元コード２の各領域に割り当てて、２次元コード２がページ全体にわたってマトリクス配置された２次元コードパターンを生成する。図１に示すように、マトリクス上の各２次元コードは、水平方向と垂直方向に延びるコード枠（Ｈ１、Ｈ２、…、Ｖ１、Ｖ２、…）で区画されている。マトリクス配置後、ステップＳ２１１で１ページの処理が終了したか否かを判断する。文書ファイルの１ページ分の処理が終了したならば、ステップＳ２１３で文書ファイルの全ページの処理が完了したか否かを判断する。その他のページの処理が残っている場合は（Ｓ２１３でＮＯ）、ステップ２０１へ戻り、次のページについて新たな文書ページＩＤを取得し、そのページについてステップＳ２０３〜Ｓ２１１を繰り返す。全ページの処理が終わったならば（Ｓ２１３でＹＥＳ）、プロセスを終了する。
【００５１】
図９は、印刷媒体上に、２次元コードパターンとともに印刷された文書の例を示す。この文書は、たとえば所定のフォーマットを有する帳票文書であり、背景には２次元コード２のマトリクスが印刷されている。２次元コードパターンを構成するドットサイズとドット配置は、図２に示すサイズおよび間隔に設定されているため、背景の２次元コードパターンは人間の目には淡いグレイに見えるだけである。図９のサークル内は、印刷文書の行間あるいは余白部分を拡大した図であり、２次元コード２のコード枠を兼ねるアライメントドットと、枠内に配置されるデータドットを示している。
【００５２】
さて、このようにして２次元コードとともに印刷された文書に加筆する場合には、図５に示すペン型座標入力装置６００を使用する。ペン型座標入力装置６００は、加筆と同時に、加筆された画像と背景の２次元コードパターンを撮像し、読み取った２次元コードを復号して加筆画像の座標情報を得る。ペン型座標入力装置６００は、ユーザが手に持って筆記動作を行うことができる筆記具形状の本体６０１と、本体６０１の側部に設けられた画像読み取り装置６０６を有する。装置本体６０１の先端部６０５には、筆記具６１３（たとえばボールペン、シャープペンシルの先端部分）が取り付けられており、コピー紙などの印刷媒体に印刷された文書に加筆することができる。画像読取装置６０６は、ＣＣＤなどの光電変換素子６０６ａと、レンズを含む光学系６０６ｂとを有し、印刷文書上の画像を光学的に読み取る。画像読取装置６０６には必要に応じて照明を設けることができる。なお、本実施形態では、ＣＣＤの読取解像度は３２０×２４０画素とするが、もちろんこの例に限定されない。
【００５３】
装置本体６０１はマイクロプロセッサ６０８を内部に有する。マイクロプロセッサ６０８は画像読取装置６０６に接続され、画像読取装置６０６で読み取った２次元コード２を復号して、２次元コードの紙面上の座標を検出する。座標検出の詳細については後述する。マイクロプロセッサ６０８は、装置本体６０１外部のＰＣなどの情報処理装置５０４と接続可能であり、マイクロプロセッサ６０８内部に蓄積したデータを、情報処理装置５０４に出力可能である。なお、図５では、画像読取装置６０６、マイコン６０８などに電力を供給する電源や、マイコン６０８と情報処理装置５０４との無線あるいは有線インターフェースなどは図示を省略している。
【００５４】
マイクロプロセッサ６０８には，ＬＣＤ６０９、ＬＥＤ６１０、ブザー６１１などが接続され、情報処理装置５０４から受信した情報をＬＣＤ６０９に表示する。特定の情報を受信した場合には、ＬＥＤ６１０を点滅させる、あるいはブザー６１１を鳴らすなどして外部に通知することが可能である。
【００５５】
装置本体６０１はまた、先端部６０５が筆記面に接触しているかどうかを検出する圧力センサ６１２を有する。先端部６０５が筆記面に接触することにより、先端部６０５に加わる圧力が筆記具６１３を介して圧力センサ６１２に伝達される。圧力センサ６１２はこの圧力を感知して、感知した情報をマイクロプロセッサ６０８に伝送する。このようなペン型座標入力装置６００を用いて、印刷文書上での先端部６０５の位置を連続的に検出することによって、先端部６０５の移動軌跡を求めることができる。圧力センサ６１２を設けることによって、印刷媒体上に筆記を行ったときの筆記軌跡を忠実に求めることができる。
【００５６】
仮に２次元コードが印刷されていない文書に、図５のペン型座標入力装置６００で加筆したとしても、読み取るべき２次元コードがないので、加筆の位置座標を検出することができない。この場合は、ＬＣＤ６０９あるいはＬＥＤ６１０を用いて読み取り不能の表示を行い、ユーザに通知する。
【００５７】
図１０は、図５に示すマイクロプロセッサ６０８の内部構成を示す。マイクロプロセッサ６０８は、ＣＰＵ６３０、ＲＯＭ６４０、ＲＡＭ６５０、および２次元コード読み取り装置７００を有する。これらの要素はバス６２０を介して相互に接続され、また、各種の外部装置ともバス６２０を介して接続されている。ＣＰＵ６３０やＲＯＭ６４０には、ペン型座標入力装置６００の動作を制御するプログラムや、マイクロプロセッサ６０８を動作させるプログラムがあらかじめ内蔵されている。ＲＡＭ６５０は、画像読取装置６０６から読み取った画像や，コード読み取り中に生成される中間データ、２次元コードをデコードした際に得られる文書ページＩＤや座標を一時的に保存する。
【００５８】
図１１は、２次元コード読み取り装置７００の一例を示すブロック図である。画像読取装置６０６で読み取られた印刷媒体上の画像（８ビット画像）は、まずコード位置検出器７１０に入力される。画像読取装置６０６が読み取った画像の一例を図１３に示す。画像読取装置６０６は、ペン型座標入力装置６００の本体に固定されており、ペン先６０５と一定距離を保ったまま印刷媒体上の２次元コードパターンを読み取ってゆく。コード位置検出器７１０は、読み取られた画像内にある複数の２次元コードから、一つの２次元コードの枠を検出して、その２次元コードの領域を検出する。読み取られた画像は２次元コードの検出領域とともに、データ取得器７２０に供給される。データ取得器７２０は、２次元コードの白黒セルに応じて０または１のデータを取得し，２次元コードのデータ配置規則およびビット配置（図４参照）に従って、データの並べ替えを行う。このようにして読み取られた２次元コードは、データ置換器７３０に供給される。
【００５９】
一方、圧力センサ６１２から出力される信号は、筆記検出器７７０に入力される。筆記検出器７７０は、圧力信号に応じて筆記中であるか否かを検出し、検出結果を、連続筆記検出器７６０と、ペン先座標算出器７９０の双方に出力する。連続筆記検出器７６０は、筆記検出器７７０の出力から、筆記の状態が所定時間以上続いた場合に連続筆記であると判断し、それ以外の場合は、連続筆記ではないと判断する。連続筆記検出器７６０の出力は、データ置換器７３０に供給される。
【００６０】
データ置換器７３０は、連続筆記検出器７６０の出力結果に応じて、画像から読み取られたデータの置き換えを行う。連続筆記検出器７６０の出力が連続筆記中を示す場合は、画像として読み取られた２次元コードの文書ページＩＤを、既知情報メモリ７４０に格納された既知の文書ページＩＤと置き換えてから、誤り訂正器７５０にデータを供給する。連続筆記でない場合は、文書ページＩＤの置き換えを行わずに、読み取ったデータをそのまま誤り訂正器７５０に供給する。誤り訂正器７５０は、データ置換器７３０の出力に対して、誤り訂正を行う。誤り訂正される対象は、文書ページＩＤと座標情報である。誤り訂正されたデータは、データ復号器７８０に供給される。誤り訂正器７３０は，誤り訂正後のデータとともに、誤り訂正が成功したか否かの判定情報を出力し、この判定情報を、データ復号器７８０、ペン先座標算出器７９０、既知情報メモリ７４０のそれぞれに供給する。
【００６１】
データ復号器７８０は、誤り訂正の判定情報が誤り訂正成功であれば、データの復号を開始するが、誤り訂正が失敗であれば動作しない。一方、ペン先座標算出器７９０は、誤り訂正が成功しており、かつ筆記検出器の出力が筆記中を示す場合に、ペン先座標を算出して出力する。誤り訂正が失敗の場合、あるいは筆記中でない場合は、現実にはありえない座標値、たとえば（−１、−１）を出力する。既知情報メモリ７４０は，誤り訂正が成功である場合に、誤り訂正された情報の文書ページＩＤに相当する部分を、新たに保存する。
【００６２】
図１２は、図１１に示す２次元コード読み取り装置７００の動作のフローチャートである。図１１の説明と重複するので、簡単に処理の流れのみを説明する。まずステップＳ３０１で２次元コードの領域を検出し、ステップＳ３０１で検出した２次元コード内のデータを取得する。２次元コードの領域検出とデータ取得の詳細については後述する。次に、ステップＳ３０３で連続筆記中であるかどうかを判断し、連続筆記中であれば、ステップＳ３０４で文書ページＩＤを既存の文書ページＩＤと置き換える。置き換えがなされた後、ステップＳ３０５で誤り訂正を行う。誤り訂正が成功すれば（ステップＳ３０６でＹＥＳ）、訂正済みデータの文書ページＩＤを既知情報として保存する（ステップＳ３０７）。その後、座標データと文書ページＩＤを復元し（ステップＳ３０８）、ペン先の座標を算出して（ステップＳ３０９）でプロセスを終了する。
【００６３】
図１４は、データ置換器７３０（図１１）が実行するデータ置換の具体例を示す。図１４の表において、第１行目は正しいデータ，すなわち２次元コード生成時に符号化され，誤り訂正符号が付加されたデータである。第２行目は、加筆時に画像読取装置６０６が読み取った画像から抽出、復元した２次元コードのドットデータである。読み取った画像から復元されたデータのＹ座標値と、文書ページＩＤ情報の１番目と２番目に、本来の値からはずれた誤りが存在する。このような誤りは、印刷時のドットずれやドットかすれによりドットが検出されない、あるいは逆にノイズをドットとして検出してしまったなどの理由により、発生する。図１４の例では、５バイト中に３つの誤りがあるため、１／２の誤り訂正率のリードソロモン誤り訂正符号だけでは訂正が不可能である。しかし、連続筆記中であるかぎり、画像から読みとった文書ページＩＤを、先に使用して既知情報として格納されている文書ページＩＤと置き換えることにより、ＩＤ部分の誤りが解消される。結果として、表の第３行目に示されるように、Ｙ座標の１バイトにだけ誤りが残ることになる。１バイトの誤りを含む２次元コードは、誤り訂正符号により適切に誤り訂正され、正しい座標情報と文書ページＩＤ情報が得られる。
【００６４】
誤り訂正に成功したデータは、上述したようにデータ復号器により，紙面上の座標位置と文書ページＩＤに復号される．図１４の例では、水平座標＝２４ｍｍ、垂直座標１２３ｍｍ、文書ページＩＤ＝２３となる。このように復号に成功した２次元コードの画像上の座標を用いて、ペン先座標算出器７９０（図１１）は紙面上でのペン先の座標を算出し、ペン型座標入力装置６００の先端部６０５の位置を特定する。ペン先座標算出の詳細については後述する。
【００６５】
図１５は、図１１のコード位置検出器７１０の構成を示す概略ブロック図である。コード位置検出器７１０は、ドット検出器７１１と、コード枠検出器７１２を含む。ドット検出器７１１は、画像読取装置６０６から入力される画像から、ドットを検出し、コード枠検出器７１２は、検出されたドットから２次元コードのコード枠を検出することによって、２次元コード領域を特定する。
【００６６】
ドット検出器７１１がドット検出処理を行う領域は、図２９に示す領域のうちドット検出処理領域２９０２である。ドット検出処理領域２９０１は、全入力画像を表わす入力画像領域２９０１よりも小さい。入力画像領域２９０１のサイズを、ＣＣＤの読み取り解像度に対応する３２０×２４０画素とすると、ドット検出処理領域２９０２のサイズは、たとえば２８０×２２０画素である。ドット検出を撮像画像全体の入力画像領域２０９１よりも小さい領域で行うのは、最外周の領域では画像品質がやや劣り、正しいドット検出を行うことが困難になる可能性があることと、リアルタイム処理のためにできるだけ無駄な処理をしたくないという理由による。
【００６７】
たとえば、加筆時のペンの角度が大きく傾く場合、撮像光学系の性能の劣化により被写界深度が低下する場合、周辺光量落ちが大きい場合などには、撮像した画像の周辺部分がぼけたり、暗くなったりする。この場合、画像周辺部分の画像品質が画像中央に比べて劣化が激しくなることもあり、画像の周辺部でのドットやコーナーの検出に失敗する確率が高くなる。このような危険性をあらかじめ排除するために、本実施形態では、ドット検出器７１１の処理範囲であるドット検出処理領域２９０２を、入力画像領域２９０１よりも小さく設定する。入力画像領域２９０１は、たとえば図１３に示す光学的に読み取られた画像領域であり、ドット検出処理領域２９０２は、図１３の画像領域のうち、外周に沿った一定の領域を除く領域となる。
【００６８】
また、印刷媒体上の画像を撮像する際のフレームレートは、再現される筆記が十分な滑らかさを得るために６０フレーム／秒〜１００フレーム／秒と高速である必要がある。全画素を対象にして２次元コードパターンの検出を行うと、全画素処理の後に２次元コードパターンの検出が失敗に終わった場合リアルタイム処理ができなくなる。もちろん、高速のＣＰＵで処理を行えばリアルタイム処理を行うことは可能であるが、コストの問題、バッテリの持続時間の低下など、実用的に不利になる。本実施形態のように、ドット検出処理領域２９０２を入力画像領域２９０１よりも小さくすることによって、低速のＣＰＵでもリアルタイム処理が可能になる。
【００６９】
図１６は、図１５に示すドット検出器７１１の動作を説明する図である。ドット検出器７１１は、ドット検出処理領域２９０２内で、入力された画像を矢印の方向にしたがって左から右へ走査し、ドットの有無を順次確認する。図１６において、ひとつの正方形は画像読取装置６０６の画素（ピクセル）を表わし、たとえばＣＣＤアレイ６０６ａ（図５）上の受光素子配列に対応する。今、注目画素Ｚの周囲の画素のうち、斜線で記された画素Ａ〜Ｄについては、すでに走査が終了しており、ドットが検出されていない。この状態で、注目画素Ｚの画素値が、１画素隔てた周囲画素（Ｉ〜Ｘ）のどの画素値よりも所定の値（Ｔｈ）以上に小さい場合に、注目画素Ｚを２次元コードのドットの一部として検出する。なお、入力画像が黒の場合を画素値＝０、白の場合を画素値＝２５５とするので、画素値が低いほど濃度が高いことを意味する。したがって、ドット検出器７１１は、（１）　すでに走査された画素のうち、注目画素に隣接する画素にドットが存在せず、かつ　（２）　注目画素の画素値が、この注目画素を１画素隔てて取り巻く周囲画素のどの画素値よりも所定値（Ｔｈ）以上小さい（Ｚの画素値＜周囲画素の画素値−所定値Ｔｈ）場合に、ドットが存在するとして検出する。画素Ｚでドットの存在が検出されたならば、未走査の隣接画素Ｅ、Ｆ、Ｇ、Ｈについては、ドットがすでに検出されたとして、チェックを行わない。
【００７０】
所定値（Ｔｈ）の設定であるが，Ｔｈが小さければ小さいほどドットを検出しやすくなる。しかし、同時にノイズもドットとして検出してしまい、検出したデータに誤りが起きる可能性がある。一方、Ｔｈが大きければノイズを検出せずに確実に誤りを減らすことができるが、ドット自体も検出しにくくなり、座標取得率が低下する。図１７は、所定値Ｔｈの大きさに応じた座標取得率を、文書ページＩＤを置き換えた場合と、置換しない場合の双方について示す表である。Ｔｈ値が１または２で、置換前の座標取得率は低いが、文書ページＩＤの置き換えをすることによって取得率が向上する。また、Ｔｈ値が３〜４の場合は、置換の有無にかかわらず７５％以上の取得率であるが、この場合も文書ページＩＤの置換を行ったほうが安定して座標を取得できる。Ｔｈ値が７〜８の場合は座標取得率が７０％を下回る。文書ページＩＤの置換を行うことによって、Ｔｈ値が比較的広い範囲（１〜６）でも安定して座標を読み取ることが可能になり、ペン先座標入力装置６００の機能として安定したものになる。
【００７１】
図１８は、図１５のコード枠検出器７１２の構成を示す。コード枠検出器７１２は、４つのコーナー検出器と４つのドット追跡器とを有し、ひとつのコーナーを検出した後に、図１９に示す経路でドットを追跡することによって、次のコーナーを検出して、コード枠を特定する。具体的には、ドット検出器７１１によって検出されたドットが第１コーナー検出器１７０１に入力される。第１コーナー検出器は、あるドットＸが、２次元コードの枠組みを構成するコーナーのドットであるかを判定する。ドットＸがコーナードットとして検出されたなら、第１のドット追跡器１７０２は、ドットＸから４方向に、２次元コードの８セル分（図１参照）に該当する画素を追跡して、第２コーナーの候補画素（図１９のＢおよびＤ）を検出する。第２コーナー検出器１７０３は、第１ドット追跡器１７０２で検出された第２コーナー候補画素（Ｂ，Ｄ）が、第２コーナーであるか否かを検出する。第２コーナーであると検出されると、第２ドット追跡器１７０４は、今度は２次元コードの１２セル分に該当する画素を第２コーナーから時計回り方向に追跡して、第３コーナー候補画素（Ｇ，Ｅ）を検出する。以下、同様に、第３コーナー候補画素が第３コーナーであるかいなかを検出し、第４コーナーに向けて８セル分に該当する画素を時計回り方向に追跡する。第４ドット追跡器１７０７で第四コーナー候補画素（Ｃ，Ａ）を検出し、第４ドット追跡器１７０８が、第４コーナーと第１コーナーの間のコード枠を構成するドットを検出する。コード枠検出器７１２で、最大２つの２次元コードのコード枠を検出し、画像上の２次元コードの領域を特定できる。
【００７２】
ある画素Ｘの検出対象とする領域は、図２９に示す領域のうち最内側の第１コーナードット検出領域２９０３である。領域２９０３は１８０×１８０画素の領域であり、入力画像領域の縦横のそれぞれ約半分の大きさを有する。ドットＸを検索する方向は通常のラスタ走査でなく、図３０に示すように、領域２９０３の中心から外側への渦巻き走査とする。画像の中央付近が周囲と比較して画像の品質が優れており、ドットの検出が確実に行われる確率が高いからである。ドット検出の確実性が高い画像中央付近から２次元コードを検出することによって、処理が短時間で行われ、リアルタイム処理に有利になる。
【００７３】
このように、第１コーナードット検出領域２９０３は、撮像画像全体をカバーする入力画像領域２９０１よりも、ドット検出処理領域２９０２よりもさらに小さく、画像の中央付近に位置する２次元コードの中で最も中心に近いコーナーの特定から処理を開始する。
【００７４】
図２０（ａ）は、図１８の第１コーナー検出器１７０１のブロック構成図であり、図２０（ｂ）は第１コーナー検出器１７０１の動作を説明するための図である。第２〜第４のコーナー検出器も、基本的には第１コーナー検出器１７０１と同様の構成および動作を採用する。第１コーナー検出器１７０１は、ドット検出器７１１で検出されたドットを入力とする周囲ドット検出器１７０１ａと、周囲ドット検出器１７０１ａの出力を受ける点対称ペア検出器１７０１ｂを含む。周囲ドット検出器１７０１ａは、領域２９０３内の渦巻き走査により検出された注目画素Ｘを中心とする１７×１７画素の中で、注目画素Ｘの周囲に４つ以上のドットが存在するか否かを検出する。点対称ペア検出器１７０１ｂは、検出された周囲ドットの中から注目画素Ｘに対して点対称な２組のドットペアを検出する。コーナードットは通常、その上下左右に十文字型に位置する他のドットを周囲にう有するはずだからである。図２０（ｂ）の例では、周囲ドット検出器１７０１ａは、Ａ〜Ｆの６つの画素にドットが存在すると検出する。これらのＡ〜Ｆの中で、Ｘとの距離が比較的近く、その中点がＸの近傍に位置する２組の画素ペア（ｂ，ｄ）、（ｃ，ｆ）を抽出する。その他の画素ａ、ｅについては、ノイズと判断して除去する。このようにして注目画素のドットＸと周囲の二組の点対称ペアが検出されると、注目画素Ｘは第１コーナーとして検出される。
【００７５】
図２１は、図１８のドット追跡器１７０２の動作を説明するための図である。Ｘはコーナー検出器１７０１によってコーナードットとして検出されたドットである。Ｘから水平方向および垂直方向に、他のドットＡ〜Ｉが配置される。これらのドットはコード枠を構成するドットであると推定される。ドット間隔は２次元コードを作成した時点であらかじめわかっているので、ＸからＤ，Ｅ，Ｆとドットを追跡する。ドットＡ，Ｂ、Ｃ、Ｄについては、第１コーナー検出器１７０１によって２組の点対称ペアとしてすでに検出されている。そこで、次にドットＥを追跡する。説明の簡素化のためにＡ〜ＩおよびＸをそれぞれ座標ベクトルとみなして、ベクトルＹを計算する。
【００７６】
Ｙ＝　２Ｄ　−　Ｘ
ここで、ＹはＥの推定ベクトルである。Ｙが算出されたなら、Ｙの周囲の５×５画素に存在するドットを探索する。ドットが存在すればそれをＥとする。次に、ベクトルＹにつき、
Ｙ　＝　２Ｅ　−　Ｄ
を計算する。今度は、ＹはＦの推定ベクトルとなる。同様にして、Ｙの周囲の５×５画素に存在するドットを検出して、これをドットＦとする。この追跡動作を７回（７セル分）繰り返して、第２コーナー候補画素を検出する。追跡方向は、図１９に示すように４方向（Ｘ→Ａ，Ｘ→Ｂ，Ｘ→Ｃ，Ｘ→Ｄ）存在し、検出された第２コーナー候補画素すべての情報は、ドット追跡器１７０２から第２コーナー検出器１７０３に転送される。
【００７７】
第２コーナー検出器１７０３の基本的な動作は、第１コーナー検出器１７０１と同一である。ただし、入力する注目画素となるドットが複数個（最大４）存在する可能性がある。その中で検出される第２コーナーは最大２である（図１９におけるＢおよびＤ）。第２ドット追跡器１７０４の基本的な動作は、第１ドット追跡器１７０２と同様である。ただし、追跡を開始するドットがＢとＤの２つであり、各ドットあたりそれぞれ時計回り方向に追跡▲１▼と追跡▲２▼を実行する（図１９において、Ｂ→Ｇと、Ｄ→Ｅ）。各追跡で、ドット追跡動作を１１回（１１セル分）繰り返す。このようにして，第３コーナー候補画素（図１９におけるＧおよびＥ）を検出する。
【００７８】
第３コーナー検出器１７０５は、第２ドット追跡器１７０４で追跡した第３コーナー候補画素（ＧおよびＥ）が、実際に第３コーナーであるか否かを検出し、その基本的な動作は、第１および第２コーナー検出器と同一である。第３コーナー検出器１７０５が、図１９のＧおよびＥを第３コーナーであると検出したならば、第３ドット追跡器１７０６は、二方向（図１９においてＧ→ＣとＥ→Ａ）にドット追跡を行う。追跡動作を第１ドット追跡器１７０２と同じく７回繰り返して、第４コーナー候補画素ＣおよびＡを検出する。第４ドット追跡器１７０８は第２ドット追跡器１７０４と同様に、図１９のＣ→ＸとＡ→Ｘの方向に１１回ずつ追跡動作を繰り返してＸに至る。Ｘはすでに第１コーナーであると検出されているので、図１９に示す追跡▲１▼と追跡▲２▼により２つのコード枠が検出されたことになる。２次元コードを復号する際にどちらのコード枠を使うかについては、画像上のコード中心の水平座標が大きい方を優先する。この２次元コードが復号できなかった場合は、もう一方の２次元コードを復号することになる。
【００７９】
なお、第１〜第４のドット追跡器がドット追跡処理を行う領域は、図２９の処理領域のうち、コード枠検出処理領域２９０４である。コード枠検出処理領域２９０４は、２６０×２００画素である。ドットを検出した領域２９０２よりも若干小さいのは、ドットを所定方向に所定数だけ追跡した後に、そのドットが次のコーナーであるか否かの判断を第１〜第４のコーナー検出器により行うが、その際に着目ドットを中心とする１７×１７画素の範囲内で点対称ペアを決定するからである。
【００８０】
図２２（ａ）および２２（ｂ）は、図１１のデータ取得器７２０の動作を説明する図である。上述したように、データ取得器７２０は、コード枠内部のドット配置を検出することによって、この２次元コードに埋め込まれた符号化データを取得する。図２２（ａ）において、検出されたコード枠のうち、コーナー間で追跡されたドットを、それぞれａ１〜ａ７、ｂ１〜ｂ１１、ｃ１〜ｃ７、ｄ１〜ｄ１１とする。２次元コードのデータを取得するには，図２２（ｂ）のステップＳ２２０１に示すように、２つの垂直コード枠の向かい合う２つのドットを結ぶ水平線と、２つの水平コード枠の向かい合う２つのドットを結ぶ垂直線の交点を順次検出する。たとえば、コード枠を構成するドットａ１、ｃ１を結ぶ直線と、ｂ２、ｄ２を結ぶ直線の交点を検出する。次いでステップＳ２２０２で、この交点を中心にして、３×３の画素領域においてドットの有無を判断する。図２２（ａ）の例では、ドットが存在せず、取得されるデータ値は“０”となる。これをすべての水平線および垂直線の交点について順次行い、ひとつの２次元コードに埋め込まれたコードの座標情報および文書ＩＤ情報を検出する。さらに、同一コード内に埋め込まれた誤り訂正データを取得し、図４に示すビット配置規則に基づいて、データを再構成する。
【００８１】
このようにして取得されたデータに対して、上述したように必要であればデータ置換器７３０（図１１）で文書ページＩＤの置換を行い、誤り訂正器７５０で誤り訂正して、デコーダ７８９で復号する。復号されたデータはペン先座標算出器７９０に入力される。
【００８２】
図２３は、図１１のペン先座標算出器７９０の構成を示す図である。ペン先座標算出器７９０は、射影パラメータ算出器７９１と、ペン先座標変換器７９２とを含む。射影パラメータ算出器７９１は、画像読取装置６０６が読み取った画像から取得された２次元コードのコーナー座標と、それに対応する紙面上の２次元コードのコーナー座標を入力とする。これらのコーナー座標から、８つの射影（変換）パラメータを算出する。
【００８３】
図２４は、射影（変換）パラメータの算出方法を説明する図である。図２４の左図は、読み取られた画像から得られた２次元コードのコーナー座標（Ａｓ〜Ｄｓ）と、ペン型座標入力装置６００の先端部６０５の座標（Ｐｓ）を示す。画像座標系でのＰｓの絶対座標は、常に一定である。なぜならば、ペン型入力装置６００において、画像読取装置６０６と先端部６０５の位置関係は固定されているからである。先端部６０５は、ペン型座標入力装置６００の構成によっては、画像読取装置６０６で撮像される画像領域内にある場合もあれば、画像領域外の場合もある。画像領域外の場合は、その座標値は負の値になるか、画像座標の最大値を越えることになる。
【００８４】
一方、図２４の右図は、紙面上の２次元コードのコーナー座標（Ａｒ〜Ｄｒ）を示す。今、求めたいのは、紙面上でのペン型座標入力装置６００の先端部６０５の実際の座標（Ｐｒ）である。読み取られた２次元コードを復号することによって、紙面上の２次元コードの左上のコーナー座標Ａｒが取得されるので、残りの３つのコーナーＢｒ、Ｃｒ、Ｄｒの座標は、ドット間隔から自動的に求まる。このように求められた座標を、順次式（１）の射影変換式に代入して得られる８つの一次元方程式（８元一次方程式）を解くことにより、式（１）の変換係数パラメータｂ１〜ｂ８が求められる。
ｘｒｉ　＝（ｂ１ｘｓｉ＋ｂ２ｙｓｉ＋ｂ３）／（ｂ７ｘｓｉ＋ｂ８ｙｓｉ＋１）
ｙｒｉ　＝（ｂ４ｘｓｉ＋ｂ５ｙｓｉ＋ｂ６）／（ｂ７ｘｓｉ＋ｂ８ｙｓｉ＋１）　（１）
ペン先座標変換器は７９２は、これらの変換パラメータを用いて、画像上のペン先座標Ｐｓを紙面上の座標Ｐｒに変換して、紙面上の先端部６０５の位置座標を決定する。ペン先座標Ｐｒを連続的に取得することによって、印刷文書への加筆内容が獲得される。獲得された加筆内容は、この文書のもとになる電子データに重畳されて、図５の文書管理データベース５０６に格納される。
【００８５】
図２５は、図１１に示す２次元コード読取装置７００の他の実施形態を示す。図１１の２次元コード読取装置７００は、データ置換器７３０が連続筆記検出器７６０の出力に基づいて、文書ページＩＤの置換を行うか否かを決定していた。図２５の２次元コード読取装置７００’は、データ取得器７２０の出力を直接入力とする第１誤り訂正器８５１と、データ置換器７３０を経た取得データを入力とする第２誤り訂正器８５２と、選択器８６０を有する。第１および第２の誤り訂正器の機能は、基本的には図１１の誤り訂正器７５０と同様であり、それぞれ訂正後のデータとともに、誤り訂正処理結果（成功したか不成功に終わったか）を出力する。連続筆記検出器７６０の出力は、選択器８６０に接続される。
【００８６】
選択器８６０は、連続筆記検出器７６０が連続筆記中であると判断した場合、常に第２誤り訂正器の出力（すなわち文書ページＩＤの置換処理を経たうえで誤り訂正されたデータ）を選択し，図１１に示す２次元コード読取装置７００と同一の動作を行う。一方、筆記検出器７７０の出力が筆記中を示すにもかかわらず連続筆記中でない場合、すなわち筆記の開始時には，選択器８６０は第１誤り訂正器８５１の出力を優先的に採用するが、第１誤り訂正器８５１の誤り訂正が不成功に終わった場合は、第２誤り訂正器８５２の出力を選択する。このような構成を採用することで、同一の文書ページの別の場所に新たに加筆する場合に、誤り訂正率が向上するので、図１１に示す２次元コード読取装置７００にも増して有利である。
【００８７】
図２６は、図２５に示す２次元コード読取装置７００’の動作フローを示す図である。まず、画像読取装置６０６から入力される画像を受け取ると、ステップＳ２６０１でコード位置検出器７１０が２次元コードの位置（コード枠）を抽出する。次にステップＳ２６０２で、データ取得器７２０が２次元コードのドットの有無に応じて“０”または“１”のデータ値を取得して、取得したデータのビットを並べ替える。ステップＳ２６０３で、筆記検出器７７０が圧力センサの出力状態に基づいて、筆記中であるか否かを判断する。筆記中でなければ（Ｓ２６０３でＮＯ）、ペン先の軌跡を検出する必要はないので、誤り訂正を行うことなく処理を終了する。連続筆記中であれば（Ｓ２６０４でＹＥＳ）、第２誤り訂正器８５２の出力を選択することになるので、データ置換器７３０により文書ページＩＤが置換されたでデータについて誤り訂正を行い、誤り訂正の成功の可否を判断する（ステップＳ２６０７、Ｓ２６０８、Ｓ２６０９）。
【００８８】
連続筆記中でない場合は（Ｓ２６０４でＮＯ）、まず第１誤り訂正器８５１の出力を選択するので、ステップＳ２６０５へ進んで、置換処理を行うことなく誤り訂正を行い、ステップＳ２６０６で訂正が成功したかどうかを判断する。訂正が成功した場合は、第１誤り訂正器８５１の出力をそのまま使用する。訂正が失敗に終わった場合は（Ｓ２６０６でＮＯ）、第２誤り訂正器８５２の出力を使用するので、ステップＳ２６０７にジャンプして文書ページＩＤを置換した後に、誤り訂正を行い、訂正成功の可否を判断する（Ｓ２６０８、Ｓ２６０９）。
【００８９】
第１誤り訂正器８５１と第２誤り訂正器８５２のいずれの出力を用いる場合でも、誤り訂正が成功した時点で、訂正後のデータの文書ページＩＤを既知情報として保存する（ステップＳ２６１０）。その後、ステップＳ２６１１でデータ復号器７８０により、誤り訂正済みのデータから座標情報と文書ページＩＤを復号し、ステップＳ２６１２で、ペン先座標算出器７９０によりペン型座標入力装置６００の先端部６０５の紙面上の座標を求める。
【００９０】
図１１の２次元コード読取装置７００も、図２５の２次元コード読取装置７００’もハードウェアで２次元コードの読み取りを行っているが、読取処理をソフトウェアで実行してもよい。この場合は、図１２および図２６のフローチャートに示す処理フローを実行するプログラムを、マイクロプロセッサ６０８のＲＯＭ６４０（図１０）に格納しておく。プログラムの命令は順次ＣＰＵ６３０にロードされて、命令が実行され、２次元コードの読み取り処理が行われる。
【００９１】
図２７は、２次元コード読取装置７００（または７００’）により読み取られた加筆情報を、原文書に重畳する処理フローを示す。まず、２次元コードパターンとともに印刷された文書に、ペン型座標入力装置６００で加筆が開始されると、ステップＳ２７０１で加筆箇所近傍の２次元コードが読み取られ、上述したように２次元コード読取装置７００で文書ページＩＤと座標情報を取得する。ペン型座標入力装置６００は、加筆とともにリアルタイムで読み取った文書ページＩＤと座標情報を、情報処理装置５０４へ送信する。
【００９２】
ステップＳ２７０２で、情報処理装置５０４は文書ページＩＤと座標情報を受け取ると、その文書ＩＤと座標情報を、文書管理データベース５０６を管理する情報処理装置５０９へ転送する。ステップＳ２７０３で、情報処理装置５０９は受信した文書ページＩＤに基づき、文書管理データベース５０６の中で現在加筆されている文書のページを特定する。特定された文書は、たとえば図２８に示すデータ構造で格納される識別番号（ＩＤ）１２３４５６の「ｐａｔｅｎｔ．ｄｏｃ」の第１ページであるとする。特定された文書情報は、ペン型座標入力装置６００へ送信され、ペン型入力装置６００は受信した文書情報をＬＣＤ６０９に表示する。
【００９３】
一方、ステップＳ２７０４で情報処理装置５０４は、特定されたファイルの実体、すなわち「ｐａｔｅｎｔ．ｄｏｃ」を、それが関連付けられているアプリケーション（ワードプロセッサソフトウエア等）で開き，この情報処理装置５０４に接続されたディスプレイ（不図示）に表示して編集状態とする。編集状態とされた文書「ｐａｔｅｎｔ．ｄｏｃ」に，ペン型座標入力装置６００から次々に送信されてくる座標情報を描画することになる。具体的には、文書のウィンドウに新たな描画オブジェクトを開いて新規図形オブジェクトの生成を可能にし（ステップＳ２７０５）、受信したデータからペン先の座標情報を取得し（ステップＳ２７０６）、取得した座標を線でつないで描画する（ステップＳ２７０７）ことで加筆の再構成が実現できる。ステップＳ２７０６で取得された座標情報は、たとえば所定の数列テキストとして、個別のファイルに保存される（ステップＳ２７０８）。
【００９４】
ステップＳ２７０９で加筆が終了したかどうかを判断し、加筆が終了しない場合は（Ｓ２７０９でＮＯ）、ステップＳ２７０６からＳ２７０８を繰り返す。一方、加筆が終了したならば（Ｓ２７０９でＹＥＳ）、ペン型座標入力装置６００は加筆終了の信号を情報処理装置５０４へ送信する。加筆終了の信号を受け取った情報処理装置５０４は，ウィンドウへの描画を終了して、加筆情報が加えられたこの文書を更新、保存する（ステップＳ２７１０）。このようにして、文書管理データベース５０６に文書「ｐａｔｅｎｔ．ｄｏｃ」に対応するひとつのオブジェクトが加えられる。
【００９５】
このような構成により、加筆した情報をリアルタイムでコンピュータのディスプレイ上に表示し，実際に加筆した情報が正しく処理されているかどうかを即座に確認することができる。これはユーザにとって大きなメリットである。また，情報処理装置５０４では受信した加筆されたペン先の座標情報を、数列テキストとして同時に別ファイルに保存する。たとえば、ユーザが後にアプリケーションを開いて加筆されたデータを確認したいときに、文書データが膨大なために素早く確認できない場合があるが、別途数列テキストで加筆情報を保存することによって、加筆されたデータのみを迅速に表示することが可能になる。
【００９６】
【発明の効果】
既存のオフィスあるいは家庭用のプリンタを使用して、オンデマンドで文書とともに印刷可能な２次元コードパターンが実現できる。
【００９７】
また、このような２次元コードパターンを有する印刷媒体に連続的に加筆した場合に、加筆情報を正確に読み取ることができる。
【００９８】
さらに、読み取った加筆情報をもとの電子文書とリンクさせ、文書中に加筆情報を反映することができる。
【００９９】
また、各処理段階に応じた処理領域を設定することによって、２次元コードパターンの読み取りを効率的に行い、リアルタイム処理が可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる２次元コードパターンを印刷した印刷媒体の平面図である。
【図２】図１の２次元コードパターンを構成するドットのサイズおよび間隔を示す図である。
【図３】２次元コードに配置するデータ配置領域の一例を示す図である。
【図４】図３に示す各領域におけるビット配列の一例を示す図である。
【図５】２次元コードパターンの生成、読み取りを含む本発明の一実施例にかかる文書管理システムの概略構成図である。
【図６】図５に示す情報処理装置に組み込まれたプリンタドライバの動作を示すフローチャートである。
【図７】図６の動作フローの中の２次元コードの生成工程を詳細に示すフローチャートである。
【図８】図７の処理フローのうち、データの符号化および誤り訂正符号の追加を段階的に説明するための図である。
【図９】図５の文書管理システムにより、作成された２次元コードパターンとともに印刷された文書の一例を示す図である。
【図１０】図５に示すペン型座標入力装置に組み込まれたマイクロプロセッサの構成を示すブロック図である。
【図１１】図１０に示す２次元コード読取装置の構成の一例を示すブロック図である。
【図１２】図１１の２次元コード読取装置の動作を示すフローチャートである。
【図１３】画像読取装置によって読み取られた２次元コードパターンの画像を示す図である。
【図１４】図１１に示すデータ置換器によるデータ置換処理を説明するための図である。
【図１５】図１１に示すコード位置検出器の構成を示す図である。
【図１６】図１５に示すドット検出器によるドット検出動作を説明するための図である。
【図１７】図１６に示すドット検出動作で使用するしきい値Ｔｈと座標取得率の関係を、データ置換を行う場合と、置換しない場合について示す表である。
【図１８】図１５に示すコード枠検出器の構成を示す図である。
【図１９】図１５のコード枠検出器によるドット追跡経路を示す図である。
【図２０】図２０（ａ）は、図１８に示すコーナー検出器の構成を示す図であり、図２０（ｂ）は、コーナー検出器の動作を説明するための図である。
【図２１】図１８に示すドット追跡器の動作を説明するための図である。
【図２２】図１１に示すデータ取得器の動作を説明するための図である。
【図２３】図１１に示すペン先座標検出器の構成を示す図である。
【図２４】ペン先座標検出器の動作を説明するための図である。
【図２５】２次元コード読取装置の別の構成例を示す図である。
【図２６】図２５に示す２次元コード読取装置の動作を示すフローチャートである。
【図２７】図５に示す文書管理システムにおける加筆情報の読み取り、および加筆後の文書管理の動作を示すフローチャートである。
【図２８】図５に示す文書管理データベースのデータ構成の一例を示す図である。
【図２９】入力画像全体の領域と、ドット検出、第１コーナー検出、コーナー枠検出の各処理領域を示す図である。
【図３０】第１コーナードット検出領域での渦巻き走査の例を示す図である。
【符号の説明】
１　印刷媒体（パターン担持媒体）
２ａ〜２ｄ　２次元コード
２２　ドット
Ｈ１、Ｈ２、Ｖ１，Ｖ２　コード枠
５０４、５０９　情報処理装置
５０５　記憶装置
５０６　文書管理データベース
６００　ペン型座標入力装置
６０５　ペン先
６０６　画像読取装置
６０８　マイクロプロセッサ
６１２　圧力センサ
７００、７００’　２次元コード読み取り装置
７１０　コード位置検出器
７１１　ドット検出器
７１２　コード枠検出器
７２０　データ取得器
７３０　データ置換器
７４０　既知情報メモリ
７５０　誤り訂正器
７６０　連続筆記検出器
７７０　筆記検出器
７８０　データ復号器
７９０　ペン先座標算出器
８５１　第１誤り訂正器
８５２　第２誤り訂正器
２９０１　入力画像領域
２９０２　ドット検出処理領域（第１領域）
２９０３　第１コーナードット検出領域（第３領域）
２９０４　コーナー枠検出処理領域（第２領域）
【図１】
2004094907.tif 000003
【図２】
2004094907.tif 000004
【図３】
2004094907.tif 000005
【図４】
2004094907.tif 000006
【図５】
2004094907.tif 000007
【図６】
2004094907.tif 000008
【図７】
2004094907.tif 000009
【図８】
2004094907.tif 000010
【図９】
2004094907.tif 000011
【図１０】
2004094907.tif 000012
【図１１】
2004094907.tif 000013
【図１２】
2004094907.tif 000014
【図１３】
2004094907.tif 000015
【図１４】
2004094907.tif 000016
【図１５】
2004094907.tif 000017
【図１６】
2004094907.tif 000018
【図１７】
2004094907.tif 000019
【図１８】
2004094907.tif 000020
【図１９】
2004094907.tif 000021
【図２０】
2004094907.tif 000022
【図２１】
2004094907.tif 000023
【図２２】
2004094907.tif 000024
【図２３】
2004094907.tif 000025
【図２４】
2004094907.tif 000026
【図２５】
2004094907.tif 000027
【図２６】
2004094907.tif 000028
【図２７】
2004094907.tif 000029
【図２８】
2004094907.tif 000030
【図２９】
2004094907.tif 000031
【図３０】
2004094907.tif 000032