(57)【要約】【課題】ローカルメタデータを埋め込み、復号化するソリューションを効率的に解決する。【解決手段】ローカルメタデータは埋め込み対話コード文書に埋め込まれ、埋め込み対話コード文書から抽出される。複数のローカルメタデータの値は、ローカルメタデータの競合解決規則のセットに従い、複数の部分共有チャネルを経由して、複数のローカルメタデータフィールドのそれぞれに割り当てられる。ローカルメタデータは、部分共有チャネルを復号化し、ローカルメタデータ競合解決規則のセットに従って復号化されたローカルメタデータ値が競合する可能性を解決することによって復号化される。【選択図】図２５
2006325180.tif 000002
【特許請求の範囲】
【請求項１】
ローカルメタデータの競合解決規則のセットに従い、複数のローカルメタデータの値を、複数の部分共有チャネルを経由して、複数のローカルメタデータフィールドのそれぞれに割り当てるステップ
を備えるステップを実行することによって、埋め込み対話コード文書にローカルメタデータを埋め込むコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項２】
前記複数のローカルメタデータフィールドの第１のローカルメタデータフィールドが前記複数のローカルメタデータフィールドの第２のローカルメタデータフィールドの左にある場合に、前記第１のローカルメタデータの値は前記第２のローカルメタデータの値より小さいことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記第１のローカルメタデータの値と前記第２のローカルメタデータの値は連続しないことを特徴とする請求項２に記載のコンピュータ可読媒体。
【請求項４】
前記複数のローカルメタデータフィールドの第３のローカルメタデータフィールドが前記複数のローカルメタデータフィールドの第４のローカルメタデータフィールドより上にある場合に、前記第３のローカルメタデータの値は前記第４のローカルメタデータの値より小さいことを特徴とする請求項３に記載のコンピュータ可読媒体。
【請求項５】
前記第３のローカルメタデータの値と前記第４のローカルメタデータの値は連続することを特徴とする請求項４に記載のコンピュータ可読媒体。
【請求項６】
前記第１と第２のローカルメタデータフィールドに関する規則は、前記第３と第４のローカルメタデータフィールドに関する規則より優先されることを特徴とする請求項５に記載のコンピュータ可読媒体。
【請求項７】
複数の部分共有チャネルを復号化するステップを備えるステップを実行することと、復号化されたローカルメタデータの値が競合する可能性をローカルメタデータの競合解決規則のセットに従って解決することとによって、
埋め込み対話コード文書からローカルメタデータを復号化するコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項８】
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が左上にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された最小のローカルメタデータの値が選択されることを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項９】
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が左下にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された２番目に小さいメタデータの値が選択されることを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１０】
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が右上にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された２番目に大きいローカルメタデータの値が選択されることを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１１】
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が右下にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された最大のメタデータの値が選択されることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
２つの連続するローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が上にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続するローカルメタデータの値の中で復号化された小さい方のローカルメタデータの値が選択されることを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
２つの連続するローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が下にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続するローカルメタデータの値の中で復号化された大きい方のローカルメタデータの値が選択されることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
２つの連続しないローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が左にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続しないローカルメタデータの値の中で復号化された小さい方のローカルメタデータの値が選択されることを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
２つの連続しないローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が右にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続しないローカルメタデータの値の中で復号化された大きい方のローカルメタデータの値が選択されることを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
ローカルメタデータの競合解決規則のセットに従い、複数のローカルメタデータの値を、複数の部分共有チャネルを経由して、複数のローカルメタデータフィールドのそれぞれに割り当てるステップと、
前記複数の部分共有チャネルを復号化することと、復号化されたローカルメタデータの値が競合の可能性を前記ローカルメタデータの競合解決規則のセットに従って解決することとによって、前記ローカルメタデータを復号化するステップと
を備えるステップを実行することによって、埋め込み対話コード文書にローカルメタデータを埋め込み、前記埋め込み対話コード文書から前記ローカルメタデータを抽出するコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項１７】
前記複数のローカルメタデータフィールドの第１のローカルメタデータフィールドが前記複数のローカルメタデータフィールドの第２のローカルメタデータフィールドの左にある場合に、前記第１のローカルメタデータの値は前記第２のローカルメタデータの値より小さいことと、
前記第１のローカルメタデータの値と前記第２のローカルメタデータの値とは連続しないことと、
前記複数のローカルメタデータフィールドの第３のローカルメタデータフィールドが前記複数のローカルメタデータフィールドの第４のローカルメタデータフィールドより上にある場合に、前記第３のローカルメタデータの値は前記第４のローカルメタデータの値より小さいことと、
前記第３のローカルメタデータの値と前記第４のローカルメタデータの値とは連続することと、
前記第１と第２のローカルメタデータフィールドとに関する規則は、前記第３と第４のローカルメタデータフィールドとに関する規則より優先されることと
を特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が左上にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された最小のローカルメタデータの値が選択されることと、
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が左下にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された２番目に小さいメタデータの値が選択されることと、
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が右上にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された２番目に大きいローカルメタデータの値が選択されることと、
４つのローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が右下にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記４つのローカルメタデータの値の中で復号化された最大のメタデータの値が選択されることと
を特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
２つの連続するローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が上にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続するローカルメタデータの値の中で復号化された小さい方のローカルメタデータの値が選択されることと、
２つの連続するローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が下にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続するローカルメタデータの値の中で復号化された大きい方のローカルメタデータの値が選択されることと
を特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
２つの連続しないローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が左にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続しないローカルメタデータの値の中で復号化された小さい方のローカルメタデータの値が選択されることと、
２つの連続しないローカルメタデータの値が復号化され、前記ローカルメタデータが復号化されるキャプチャされたイメージの中心よりペン先の位置が右にある場合は、復号化され、競合が解決されたローカルメタデータの結果として、前記２つの連続しないローカルメタデータの値の中で復号化された大きい方のローカルメタデータの値が選択されることと
を特徴とする請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、デジタルペンを使用して媒体と対話（ｉｎｔｅｒａｃｔｉｎｇ）する方法に関する。より詳細には、本発明の実施形態は、１つまたは複数のサーフェス（ｓｕｒｆａｃｅｓ）と対話するときに、デジタルペンの位置を決定する方法に関する。
【背景技術】
【０００２】
コンピュータユーザは、パーソナルコンピュータと対話する手段として、マウスやキーボードを使用することに慣れている。パーソナルコンピュータは書面の文書に優る多くの利点を提供しているが、多くのユーザは引き続き印刷された書類を使用して特定の機能を実行している。こうした機能のいくつかには、書面の文書の読み取りや注釈の記入がある。注釈を記入する場合に、印刷された文書はユーザがその文書に注釈を記入することによってより大きな意味を持つことが想定される。しかし、印刷された文書に注釈を記入することの１つの問題点は、後で文書の電子的なフォームに注釈を記入し直さなければならないことである。このためには、注釈を記入したユーザまたは別のユーザが注釈を読み直してパーソナルコンピュータに入力する必要がある。場合によっては、ユーザが注釈と元のテキストをスキャナーで読み込むことによって新しい文書を作成する。こうした複数のステップにより、印刷された文書と電子形式の文書との対話は反復処理が難しくなる。さらに、スキャナーで読み込まれたイメージは変更できないことが多い。元のテキストから注釈を分離する方法はなさそうである。このことによって、注釈の使い方が困難になる。したがって、注釈を記入する方法の改善が求められている。
【０００３】
【非特許文献１】Douglas W. Clark and Lih-Jyh Weng, "Maximal and Near-Maximal Shift Register Sequences: Efficient Event Counters and Easy Discrete Logarithms," IEEE Transactions on Computers 43.5 (May 1994, pp 560-568)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ユーザは、空白の用紙と内容が記載された用紙のいずれへの書き込みにも慣れている。こうしたそれぞれのサーフェスに書き込まれた注釈を電子的に表現するためには、このような様々な環境でペンの位置を決定する必要がある。
【０００５】
カメラを使用してペンの位置を決定するデジタルペンは、通常は総合的な情報のブロックをキャプチャして位置を符号化した媒体に対するペンの総体的な位置、または位置を符号化した媒体に埋め込まれたその他の情報を取得できる。ただし、カメラで取得したイメージには、ペン先のイメージが含まれていても含まれていなくてもよい。
【０００６】
したがって、位置を符号化した媒体の特定の領域に関連するローカルメタデータが導入されると、問題への対処はさらに困難になる。図１１に、ローカルメタデータ領域と拡張された領域を示す。図１１に示すように、一部の事例では、ローカルメタデータを領域に割り当てるときに、領域が拡張され、ローカルメタデータはここに埋め込まれるので、元の領域に書き込み、デジタルペンを任意のポーズ（ｐｏｓｅ）で保持する場合に（ペンの回転と角度とは独立して）、このローカルメタデータを取得できる。一般的な余白のサイズは７ｍｍである。
【０００７】
図１２に、同じ拡張領域をもつ（ｃｏｎｔｅｒｍｉｎｏｕｓ）いくつかのフィールドを伴うフォームを示す。図１２は、従来のローカルメタデータ埋め込み方法に伴う競合の可能性の例を示している。重複する領域は、同じ領域に埋め込まれる２つのローカルメタデータの値によって発生する競合を表している。
【０００８】
同じ拡張領域をもつローカルメタデータ領域に伴う競合を解決しようとするいくつかのソリューション（図１３に示す）は、同じ拡張領域をもつフィールドの回避に基づいている。これは、ローカルメタデータが埋め込まれたすべてのフィールドを切り離すことを意味する。したがって、フォームの作成に利用できる設計のレイアウトオプションは制限され、多くのスペースが無駄になる。この種のソリューションは効率的ではない。
【０００９】
図１３には、ローカルメタデータの競合を回避するために切り離されたフィールドが示されている。
【課題を解決するための手段】
【００１０】
本発明の態様により、前述の問題に対する少なくとも１つのソリューションが提供され、それによってサーフェス上の１つまたは複数の位置を特定できるようになる。他の態様により、メタデータの格納と復号化が可能になる。したがって、文書またはフォームのスペースに関する制限が緩和されるので、より多くの情報を格納できる。
【００１１】
本発明の実施形態により、ローカルメタデータは埋め込み対話コード（ｅｍｂｅｄｄｅｄ  ｉｎｔｅｒａｃｔｉｏｎ  ｃｏｄｅ）文書に埋め込まれ、埋め込み対話コード文書から抽出される。複数のローカルメタデータの値は、ローカルメタデータの競合解決（ｃｏｎｆｌｉｃｔ−ｒｅｓｏｌｕｔｉｏｎ）規則のセットに従い、複数の部分共有チャネルのそれぞれを経由して、複数のローカルメタデータフィールドのそれぞれに割り当てられる。ローカルメタデータは、部分共有チャネルを復号化し、ローカルメタデータ競合解決規則のセットに従って、復号化されたローカルメタデータの値が競合する可能性を解決することによって復号化される。左の領域のローカルメタデータの値は、競合する可能性のある右の領域のローカルメタデータの値より小さく、その値は連続しなくてもよい。上の領域のローカルメタデータの値は、競合する可能性のある下の領域のローカルメタデータの値より小さく、その値は連続してもよい。
【００１２】
以上に示す本発明の解決手段と後述の好ましい実施形態に関する詳細な説明は、添付の図面を参照しながら読むことによってより深く理解される。こうした図面は、本発明の請求項に関連して、限定としてではなく例として示されている。
【発明を実施するための最良の形態】
【００１３】
本発明の態様は、キャプチャされたイメージの、より大きなイメージに関連する位置を決定する方法に関する。本発明の態様は、検索する必要のあるイメージセットの数を最小化する方法に関する。こうした検索サイズの縮小により、ペンのパスを決定する速度を向上する。本明細書で説明する位置決定技術は、多機能のペンと組み合わせて使用してもよい。
【００１４】
本発明のさらなる態様は、メタデータ情報を格納し、復号化する方法に関する。
【００１５】
以下の説明は、読者の便宜を図り、小見出し（ｓｕｂｈｅａｄｉｎｇｓ）によって分割されている。このような小見出しには、用語、汎用コンピュータ、イメージキャプチャペン、アクティブコード、パッシブコード、パスの決定、コードのグループ化、パスの決定、およびメタデータソリューションの各項目が含まれる。
【００１６】
「および」は、特に指定のない限り、直接的または間接的な「および」であり、本明細書ではこの点に関して限定する意図はない。
【００１７】
用語
ペン  −  書き込みを行う任意の道具。インクを保持する機能を備えていても備えていなくてもよい。いくつかの例において、インク機能のないスタイラス（ｓｔｙｌｕｓ）を本発明の実施形態によるペンとして利用できる。
カメラ  −  紙、コンピュータのディスプレイ、または他の任意の媒体からイメージをキャプチャできるイメージキャプチャシステム。
【００１８】
汎用コンピュータ
図１は、本発明を実装できる適切なコンピューティングシステム環境の例１００を示している。コンピューティングシステム環境１００は適切なコンピューティング環境の１つの例にすぎず、本発明の使い方または機能の範囲に関するいかなる制限を示すものでもない。また、コンピューティング環境１００は、例示的なオペレーティング環境１００に示すコンポーネントの１つまたは組合せに関して、依存性も要件もないものとする。
【００１９】
本発明は、他の様々な汎用または専用のコンピューティングシステム環境または構成にも適用できる。本発明の使用に適した周知のコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、埋め込みのシステム、前述の任意のシステムまたはデバイスを含む分散コンピューティング環境などが含まれるが、これらに限定はされない。
【００２０】
本発明は、プログラムモジュールのようにコンピュータで実行可能な命令をコンピュータで実行する一般的なコンテクストで説明できる。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがあり、特定のタスクを実行するものや、特定の抽象データ型を実装するものもある。本発明は、通信ネットワークを介してリンクするリモート処理装置でタスクを実行する分散コンピューティング環境でも実施できる。分散コンピューティング環境では、メモリ記憶装置を含むローカルとリモートの両方のコンピュータ記憶媒体にプログラムモジュールを格納できる。
【００２１】
図１を参照すると、本発明を実施する例示的なシステムに、コンピュータ１１０の形態で汎用コンピューティングデバイスが配置されている。コンピュータ１１０のコンポーネントには、処理装置１２０、システムメモリ１３０、および様々なシステムコンポーネント（システムメモリや処理装置１２０など）を接続するシステムバス１２１が含まれるが、それらに限定はされない。システムバス１２１は、様々なバスアーキテクチャの任意の１つを使用したメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む各種バス構造のいずれでもよい。こうしたアーキテクチャには、例として、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス（メザニン（Ｍｅｚｚａｎｉｎｅ）バスとも呼ばれる）が含まれるが、これらに限定はされない。
【００２２】
コンピュータ１１０は、通常は様々なコンピュータ可読媒体を備えている。コンピュータ可読媒体は、コンピュータ１１０からアクセスできる任意の使用可能な媒体でよい。揮発性と不揮発性の両方、および取り外し可能と不可能の両方の媒体が含まれる。例として、コンピュータ可読媒体にはコンピュータ記憶媒体および通信媒体を含めてもよいが、これらに限定はされない。コンピュータ記憶媒体には、コンピュータ可読の命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶する任意の方法または技術で実装された、揮発性と不揮発性の両方、および取り外し可能と不可能の両方の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなどのメモリ技術、ＣＤ  ＲＯＭ、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）などの光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスクなどの磁気記憶装置、または所望の情報を格納でき、コンピュータ１１０からアクセスできる他の任意の媒体が含まれるが、これらに限定はされない。通信媒体は、搬送波やその他の搬送メカニズムのような変調データ信号に含まれるコンピュータ可読の命令、データ構造、プログラムモジュール、またはその他のデータなどを具体化したものであり、任意の情報伝達媒体を含む。「変調データ信号」という用語は、信号内の情報を符号化するように、１つまたは複数のフィーチャを設定または変更された信号を意味する。例として、通信媒体には、有線ネットワーク、または直接ワイヤ接続などの有線媒体と、音、ＲＦ、赤外線などの無線媒体が含まれるが、これらに限定はされない。上記の任意の組合せも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００２３】
システムメモリ１３０には、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１３１やランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３２のように揮発性および／または不揮発性メモリという形をとるコンピュータ記憶媒体が含まれる。起動時などにコンピュータ１１０内のエレメント間の情報転送を支援する基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）は、通常はＲＯＭ  １３１に格納される。ＲＡＭ  １３２には、通常は処理装置１２０から直ちにアクセスできる、および／または処理装置１２０で現在操作しているデータおよび／またはプログラムモジュールが格納される。例として、図１にはオペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７が示されているが、それらに限定はされない。
【００２４】
コンピュータ１１０には、その他の取り外し可能／不可能、揮発性／不揮発性のコンピュータ記憶媒体を含めてもよい。単に例として、図１に取り外し不可能な不揮発性の磁気媒体の読み出しまたは書き込みを行うハードディスクドライブ１４１、取り外し可能な不揮発性の磁気ディスク１５２の読み出しまたは書き込みを行う磁気ディスクドライブ１５１、ＣＤ  ＲＯＭや他の光媒体のような取り外し可能な不揮発性の光ディスク１５６の読み出しまたは書き込みを行う光ディスクドライブ１５５を示す。例示的なオペレーティング環境で使用できる上記以外の取り外し可能／不可能、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、それらに限定はされない。ハードディスクドライブ１４１は、通常はインターフェース１４０などの取り外し不可能なメモリインターフェースを介してシステムバス１２１に接続し、磁気ディスクドライブ１５１と光ディスクドライブ１５５は、通常はインターフェース１５０などの取り外し可能なメモリインターフェースを介してシステムバス１２１に接続する。
【００２５】
図１に示す前述のドライブとこれに対応するコンピュータ記憶媒体には、コンピュータ可読の命令、データ構造、プログラムモジュールなど、コンピュータ１１０のデータを格納できる。例えば、図１を参照すると、ハードディスクドライブ１４１にオペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７が格納されている。ただし、こうしたコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでもよいし、異なっていてもよい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７には異なる番号を付けて、少なくとも別の複製であることを示している。ユーザは、キーボード１６２やポインティングデバイス１６１（一般に、マウス、トラックボール、またはタッチパッドと呼ばれる）のような入力装置を使用してコンピュータ２０にコマンドや情報を入力できる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ（ｓａｔｅｌｌｉｔｅ  ｄｉｓｈ）、スキャナーなどを含めてもよい。これらの入力装置および他の入力装置は、多くの場合にシステムバスに接続されたユーザ入力インターフェース１６０を介して処理装置１２０に接続するが、パラレルポート、ゲームポート、またはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような他のインターフェースやバス構造によって接続してもよい。モニタ１９１または他のタイプの表示装置も、ビデオインターフェース１９０のようなインターフェースを介してシステムバス１２１に接続される。さらに、コンピュータには出力インターフェース１９５を介してスピーカ１９７やプリンタ１９６など、モニタ以外の出力周辺装置を接続できる。
【００２６】
コンピュータ１１０は、リモートコンピュータ１８０のような１台または複数台のリモートコンピュータへの論理接続を使用してネットワーク環境で動作できる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般のネットワークノードでよい。通常は、コンピュータ１１０に関連して前述のエレメントの多くまたはすべてが含まれるが、図１にはメモリ記憶装置１８１のみを示す。図１に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）１７１とワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）１７３が含まれるが、他のネットワークを含めてもよい。このようなネットワーキング環境は、職場、企業規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００２７】
ＬＡＮネットワーキング環境で使用した場合、コンピュータ１１０はＬＡＮ  １７１にネットワークインターフェースまたはアダプタ１７０を介して接続する。ＷＡＮネットワーキング環境で使用した場合、コンピュータ１１０は一般にインターネットなどのＷＡＮ  １７３を介して通信を確立するためのモデム１７２またはその他の手段を備えている。モデム１７２（内蔵または外付け）は、ユーザ入力インターフェース１６０または他の適切なメカニズムを使用してシステムバス１２１に接続できる。ネットワーク環境では、コンピュータ１１０またはその一部に関連して説明したプログラムモジュールをリモートメモリ記憶装置に格納できる。例として、図１にメモリデバイス１８１に格納されたリモートアプリケーションプログラム１８５を示すが、これには限定されない。図示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことが理解されるであろう。
【００２８】
いくつかの態様において、手書きの入力をデジタル処理でキャプチャするために、ペンデジタイザ１６５と付属のペンまたはスタイラス１６６が提供される。ペンデジタイザ１６５とユーザ入力インターフェース１６０との直接接続が示されているが、ペンデジタイザ１６５は処理装置１１０に直接接続してもよいし、パラレルポート、またはその他のインターフェースおよびシステムバス１３０に無線を含む任意の技術によって接続してもよい。また、ペン１６６は、ペンに関連付けられたカメラと、カメラでキャプチャされたイメージ情報をバス１３０と対話するインターフェースに無線で送信するトランシーバを備えていてもよい。さらに、ペンはカメラと併用するかまたはカメラに代わって電子的インクのストローク（ｓｔｒｏｋｅｓ）を決定する他の感知システム（加速度計、磁気計、およびジャイロスコープなど）を備えていてもよい。
【００２９】
図示されたネットワーク接続は説明を目的とするものであり、コンピュータ間の通信リンクを確立する他の技術を使用してもよいことが理解されるであろう。ＴＣＰ／ＩＰ、Ｅｔｈｅｒｎｅｔ（登録商標）、ＦＴＰ、ＨＴＴＰなどのように、周知の様々なプロトコルのいずれかの存在が想定されており、システムはクライアントサーバシステムで動作できるので、ユーザはＷｅｂベースのサーバからＷｅｂページを取得できる。従来の様々なＷｅｂブラウザのいずれを使用しても、Ｗｅｂページのデータを表示でき、操作できる。
【００３０】
図示されたネットワーク接続は説明を目的とするものであり、コンピュータ間の通信リンクを確立する他の技術を使用してもよいことが理解されるであろう。ＴＣＰ／ＩＰ、Ｅｔｈｅｒｎｅｔ（登録商標）、ＦＴＰ、ＨＴＴＰ、Ｂｌｕｅｔｏｏｔｈ、ＩＥＥＥ  ８０２．１１ｘなどのように、様々な周知のプロトコルのいずれかの存在が想定されており、システムはクライアントサーバの構成で動作できるので、ユーザはＷｅｂベースのサーバからＷｅｂページを取得できる。従来の様々なＷｅｂブラウザのいずれを使用しても、Ｗｅｂページのデータを表示でき、操作できる。
【００３１】
イメージキャプチャペン
本発明の態様には、符号化されたデータストリームを表示されたフォームに配置する方法が含まれる。表示されたフォームは、印刷された紙（または他の物理的な媒体）でも、符号化されたデータストリームを別のイメージまたはイメージのセットと組み合わせて投影するディスプレイでもよい。例えば、符号化されたデータストリームは、紙の上の物理的に符号化されたイメージまたは表示されたイメージの上に重ねる符号化されたイメージとして表されてもよい。あるいは、表示画面上の物理的に符号化されたイメージとして表されてもよい（したがって、ペンでキャプチャされたイメージの任意の部分は表示画面上で位置を特定できる）。
【００３２】
このキャプチャされたイメージの位置の決定は、ユーザが紙、物理媒体または表示画面と対話した位置を決定するのに使用してもよい。本発明のいくつかの態様において、ペンは紙に書き込むインクペンでもよい。他の態様において、ペンはユーザがコンピュータディスプレイのサーフェスに書き込むスタイラスでもよい。対話がある場合は、文書上の符号化されたイメージに関する知識と共にシステムに返すこともできる。あるいは、コンピュータの画面上に表示された文書をサポートできる。カメラの位置を繰り返しキャプチャすることによって、システムはユーザが制御しているスタイラスの移動を追跡できる。
【００３３】
図２Ａおよび図２Ｂは、カメラ２０３付きのペン２０１を説明するための例を示している。ペン２０１は、ペン先２０２にインクリザーバ（ｉｎｋ  ｒｅｓｅｒｖｏｉｒ）を備えていても備えていなくてもよい。カメラ２０３は、サーフェス２０７からイメージ２０４をキャプチャする。ペン２０１は、さらに破線のボックス２０６で示される付加的なセンサおよび／またはプロセッサを含んでいてもよい。このようなセンサおよび／またはプロセッサ２０６は、別のペン２０１および／またはパーソナルコンピュータに情報を送信する機能（例えば、Ｂｌｕｅｔｏｏｔｈまたは他の無線プロトコルを使用して）を備えることもできる。
【００３４】
図２Ｂはカメラ２０３から見たイメージを表している。１つの説明のため例において、カメラ２０３の視野は３２×３２ピクセルである（ただし、Ｎ＝３２）。これに応じて、図２Ｂは長さ３２ピクセル×幅３２ピクセルの視野を示している。Ｎのサイズは、所望のイメージの解像度に基づいて調整できる。また、カメラ２０３の視野は本明細書において説明のために正方形で示されているが、当業者に知られているように、視野にはその他の形状を含めてもよい。
【００３５】
カメラ２０３からペン２０１への入力は、一連のイメージフレーム｛Ｉｉ｝、ｉ＝１，２，．．．，Ａとして定義できる。ただし、Ｉｉはサンプリング時間ｔｉでペン２０１によってキャプチャされている。サンプリングレートの選択は、ペン先の最大運動周波数（ｍｏｔｉｏｎ  ｆｒｅｑｕｅｎｃｙ）に従う。これは人が描くときの手の振動数と同じでもよい。この振動数は、０Ｈｚから最大２０Ｈｚとして知られている。ナイキストシャノン（Ｎｙｑｕｉｓｔ−Ｓｈａｎｎｏｎ）の標本化定理（ｓａｍｐｌｉｎｇ  ｔｈｅｏｒｅｍ）によれば、サンプリングレートは最小で４０Ｈｚ、一般的には１００Ｈｚが要求される。１つの例において、サンプリングレートは１１０Ｈｚである。キャプチャされたイメージフレームのサイズは、文書のサイズと要求される精度によって、大きくすることも小さくすることもできる。また、カメラのイメージサイズは、検索する文書のサイズに基づいて決定することができる。
【００３６】
カメラ２０３によってキャプチャされたイメージは、そのまま処理システムで使用することも、プレフィルタリング（ｐｒｅ−ｆｉｌｔｅｒｉｎｇ）を実行することもできる。プレフィルタリングは、ペン２０１で実行することも、ペン２０１以外（例えばパーソナルコンピュータ）で実行することもできる。
【００３７】
図２Ｂのイメージのサイズは、３２×３２ピクセルである。個々の符号化単位のサイズが３×３ピクセルの場合は、キャプチャされた符号化単位の数が約１００単位となる。符号化単位のサイズが５×５ピクセルの場合は、キャプチャされた符号化単位の数が約３６単位である。
【００３８】
図２Ａは、位置２０４にあるパターンのイメージ２１０が形成されるイメージ平面（ｉｍａｇｅ  ｐｌａｎｅ）２０９も示している。オブジェクト平面（ｏｂｊｅｃｔ  ｐｌａｎｅ）２０７上のパターンから受信した光は、レンズ２０８によって集束する。レンズ２０８は単レンズでも複合レンズシステム（ｍｕｌｔｉ−ｐａｒｔ  ｌｅｎｓ  ｓｙｓｔｅｍ）でもよいが、ここでは簡単にするために単レンズとして表されている。イメージキャプチャセンサ２１１は、イメージ２１０をキャプチャする。
【００３９】
イメージセンサ２１１は、イメージ２１０をキャプチャするのに十分なサイズでよい。代替として、イメージセンサ２１１は位置２１２にあるペン先２０２のイメージをキャプチャするのに十分なサイズでもよい。参考のために、位置２１２のイメージは仮想ペン先と呼ばれる。ペン先、レンズ２０８、およびイメージセンサ２１１間の関係は一定であるため、イメージセンサ２１１に対する仮想ペン先の位置は固定であることに留意されたい。仮想ペン先の位置２１２（Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐと表す）を実際のペン先２０２の位置（Ｌｐｅｎｔｉｐと表す）に変換することによって、キャプチャされたイメージ２１０に関する実際のペン先の位置を決定できる。
【００４０】
次の変換Ｆｓ→ｐは、カメラによってキャプチャされたイメージを紙の上の実際のイメージに変換する。
Ｌｐａｐｅｒ＝Ｆｓ→ｐ（ＬＳｅｎｓｏｒ）
【００４１】
書き込み中は、ペン先と紙が同じ平面上にある。したがって、仮想ペン先から実際のペン先への変換もＦｓ→ｐを使って次のように表すことができる。
Ｌｐｅｎｔｉｐ＝Ｆｓ→ｐ（Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐ）
【００４２】
この変換Ｆｓ→ｐは、透視変換（ｐｅｒｓｐｅｃｔｉｖｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）と呼ぶこともできる。これは、Ｆｓ→ｐの見積りとして次のように簡素化できる。
【００４３】
【数１】
2006325180.tif 000003
【００４４】
ただし、θ、ＳｘおよびＳｙは位置２０４でキャプチャされたパターンの回転と２つの方向の縮尺（ｓｃａｌｅ）である。さらに、キャプチャされたイメージを紙の上の対応する背景のイメージに適合させることによってＦ’ｓ→ｐをリファイン（ｒｅｆｉｎｅ）し、Ｆｓ→ｐに近づけることができる。「リファイン」するとは、再帰的手法（ｒｅｃｕｒｓｉｖｅ  ｍｅｔｈｏｄ）と呼ばれる最適化アルゴリズムの一種を使用して、より正確な透視行列Ｆｓ→ｐ（８個のパラメータ）を得ることを意味する。再帰的手法では、行列Ｆ’ｓ→ｐを初期値として使用する。Ｆｓ→ｐは、Ｆ’ｓ→ｐより正確にＳとＰとの変換を表す。
【００４５】
次に、キャリブレーションによって仮想ペン先の位置を決定できる。
【００４６】
ペン先２０２を紙面上の既知の位置Ｌｐｅｎｔｉｐに置く。次に、ペンの傾きを調整することによって、ペンの様々なポーズ（ｐｏｓｅｓ）による一連のイメージをカメラ２０３からキャプチャできる。キャプチャされたそれぞれのイメージに対して、変換Ｆｓ→ｐを得ることができる。この変換から、次のようにペン先の仮想イメージの位置Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐを得ることができる。
Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐ＝Ｆｐ→ｓ（Ｌｐｅｎｔｉｐ）
および
Ｆｐ→ｓ＝１／Ｆｓ→ｐ
【００４７】
各イメージから受け取ったＬｖｉｒｔｕａｌ−ｐｅｎｔｉｐを平均することによって、仮想ペン先の正確な位置Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐを決定してもよい。
【００４８】
仮想ペン先の位置Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐはこれで既知である。キャプチャされたイメージから変換Ｆｓ→ｐを求めることもできる。最終的に、この情報を使用して次のように実際のペン先の位置Ｌｐｅｎｔｉｐを決定できる。
Ｌｐｅｎｔｉｐ＝Ｆｓ→ｐ（Ｌｖｉｒｔｕａｌ−ｐｅｎｔｉｐ）
【００４９】
アクティブコード（ＡＣＴＩＶＥ  ＣＯＤＥＳ）
ペンの位置を決定するのに役立つ情報を文書に挿入してもよい（あるいはイメージとして追加するか、コンピュータのディスプレイ上に追加してもよい）。この情報は、配列内の指定されたサイズの各部分配列が一意となるような２次元の配列でもよい。
【００５０】
２次元配列は、１次元の列の畳み込み（ｆｏｌｄｉｎｇ）によって構成できる。２次元配列の任意の部分を使用して、２次元配列全体の中の位置を決定できる。１つの問題は、カメラによってキャプチャされたイメージの部分はサイズが制限されることである。したがって、キャプチャされたイメージまたは複数のキャプチャされたイメージから位置を決定できる必要がある。そこで、キャプチャされたイメージ内に存在するエラーによって、キャプチャされたイメージ内のいくつかのポイントが利用できなくなるという新しい問題が発生する。キャプチャされたイメージの部分が２次元配列内の２カ所以上の位置に関連付けられる可能性を最小にするために、繰り返しのない列を使用して配列を生成することもできる。作成された列の１つの特性は、その列は長さ（またはウィンドウ）ｎにわたって繰り返しがないことである。以下では、１次元の列の生成し、この列を畳み込んで配列にする方法について説明する。
【００５１】
列の構成
数値の列は、符号化システムの開始ポイントとして使用できる。例えば、列（ｍ列とも呼ばれる）はフィールドＦｑ内のｑエレメントのセットとして表すことができる。ここで、ｑ＝ｐｎただしｎ≧１であり、ｐは素数である。列またはｍ列は、多項式の除算を含むがこれに限定されない様々な技術で生成できる。多項式の除算を使用すると、列は次のように定義できる。
【００５２】
【数２】
2006325180.tif 000004
【００５３】
ただし、Ｐｎ（ｘ）はフィールドＦｑ［ｘ］（ｑの要素を持つ）内の次数（ｄｅｇｒｅｅ）ｎの原始多項式である。Ｒｌ（ｘ）は、フィールドＦｑ［ｘ］内の次数ｌ（ただしｌ＜ｎ）のゼロでない多項式である。列は、まず２つの多項式の除算を行い（結果はフィールドＦｑの要素となる）、次に余りにｘをかけるという２つのステップからなる反復手順を使用して生成できる。出力の繰り返しが開始されると、計算は停止する。このプロセスは、非特許文献１で説明されている線形フィードバックシフトレジスタ（ｌｉｎｅａｒ  ｆｅｅｄｂａｃｋ  ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒ）を使用して実施できる。この環境では、列の循環シフトと多項式Ｒｌ（ｘ）との間に、Ｒｌ（ｘ）を変更すると列は循環的にのみシフトし、すべての循環シフトは多項式Ｒｌ（ｘ）に対応するという関係が確立される。得られる列の特性の１つは、幅（または長さ）ｎにわたって任意の部分が列内に一度だけ出現することである。
【００５４】
上述のプロセスは、繰り返しのない列を生成するために使用できる様々なプロセスの１つにすぎない。
【００５５】
配列の構成
イメージを生成するために使用できる配列（またはｍ配列）（この一部がカメラによってキャプチャされる）は１次元の列またはｍ列の拡張である。Ａを周期（ｐｅｒｉｏｄ）（ｍ１，ｍ２）の配列、すなわちＡ（ｋ＋ｍ１，ｌ）＝Ａ（ｋ，ｌ＋ｍ２）＝Ａ（ｋ，ｌ）とする。ｎ１×ｎ２のウィンドウがＡの周期でシフトすると、Ｆｑ上のゼロでないすべてのｎ１×ｎ２行列が一度だけ現れる。この特性は「ウィンドウ特性」と呼ばれることがあり、この特性において各ウィンドウは一意である。その結果、Ａは周期（ｍ１，ｍ２）（ｍ１およびｍ２は配列内に存在するの水平および垂直のビット数）および次数（ｎ１，ｎ２）の配列として表現できる。
【００５６】
２進の配列（またはｍ配列）は、列の畳み込みによって構成してもよい。１つの方法は、列を取得してからそれを畳み込んでサイズｍ１×ｍ２にすることである。ただし、配列の長さはＬ＝ｍ１×ｍ２＝２ｎ−１である。代替として、あらかじめ指定されたサイズの対象となるスペースで開始し（例えば、１枚の紙、３０枚の紙、またはコンピュータのモニタのサイズ）、領域（ｍ１×ｍ２）を決定してから、Ｌ≧ｍ１ｍ２となるサイズを使用してもよい。ただし、Ｌ＝２ｎ−１である。
【００５７】
別の様々な畳み込みの技術を使用することもできる。例えば、図３Ａから図３Ｃは３つの異なる列を示している。これらはそれぞれ図３Ｄに示すように配列に畳み込むことができる。３つの異なる畳み込みの方法、すなわち図３Ｄのオーバレイ（ｏｖｅｒｌａｙ）、図３Ｅと３Ｆのラスターパス（ｒａｓｔｅｒ  ｐａｔｈｓ）が示されている。図３Ｄに示す畳み込み方法は、ｇｃｄ（ｍ１，ｍ２）＝１の場合として表されている。ただし、Ｌ＝２ｎ−１である。
【００５８】
図３Ｄに示す畳み込み方法を作成するために、長さＬ、次数ｎの列｛ａｉ｝を作成する。次に、列｛ａｉ｝からサイズｍ１×ｍ２の配列｛ｂｋｌ｝を作成する。ここで、配列の各ビットは次の式２で示すように計算される。
（２）    ｂｋｌ＝ａｉ
ただし、ｋ＝ｉｍｏｄ（ｍｉ），ｌ＝ｉｍｏｄ（ｍ２），ｉ＝０，．．．，Ｌ−１
【００５９】
この畳み込みの方法は、代替的に、列を配列の対角線上に配置し、端まで達した場合は反対側から続けるとして表現することもできる。
【００６０】
復号化
図２Ａのペンを使用して書くか、符号化されたパターンの近くにペンを移動すると、カメラはイメージをキャプチャする。例えば、ペン２０１は紙に押し付けられ、ペン２０１は紙面の文書を横断するので、ペン２０１は圧力センサを利用してもよい。ここで、イメージが処理され、キャプチャされたイメージの、符号化されたイメージ全体の表現を基準にした方向（ｏｒｉｅｎｔａｔｉｏｎ）を決定し、キャプチャされたイメージを構成するビットを抽出する。
【００６１】
キャプチャされたイメージの符号化された領域全体に対する方向を決定するために、図４Ａ〜４Ｄに示された考えられる４つのコーナーのすべてがグラフィックパターン４０３内に存在するわけではないことがわかる。実際に、正しい方向では、グラフィックパターン４０３には図４Ａに示すタイプのコーナーが存在しない。したがって、図４Ａに示すタイプのコーナーがない方向が正しい方向である。
【００６２】
続いて図５では、カメラがキャプチャしたイメージ５０１が解析され、イメージ５０１で実際に表される位置を説明できるようにその方向が決定される。まず、イメージ５０１を調べて、ピクセルが水平方向および垂直方向に整列するようにイメージを回転するために必要な角度θを決定する。基盤となる（ｕｎｄｅｒｌｙｉｎｇ）グリッドが水平方向および垂直方向以外の配置となる回転（例えば４５度）を含めて、代替のグリッドの整列が可能であることが知られている。ユーザはまず水平と垂直のパターンに注目する傾向があるため、水平方向および垂直方向以外の配置を使用することによって、ユーザから視覚的錯乱を取り除くという有望な利点を提供できる。簡単にするために、グリッドの方向（基盤となるグリッドの水平と垂直および他の任意の回転）を、集合的にあらかじめ定義されたグリッドの方向と呼ぶ。
【００６３】
次に、イメージ５０１が解析され、どのコーナーが存在しないかを決定する。イメージ５０１を復号可能なイメージ５０３となるように回転するのに必要な回転の量ｏはｏ＝（θ＋回転量｛どのコーナーが存在しないかによって決定される｝）と表される。この回転量は、図６の式で表される。図５に戻り、まずピクセルのレイアウトによって角度θが決定され、ピクセルの配置が水平および垂直（またはその他のあらかじめ定義されたグリッドの方向）になるように、イメージを回転させる（５０２に示すように）。次に、解析を行って存在しないコーナーを決定し、イメージ５０２をイメージ５０３まで回転してイメージを復号化する準備を行う。ここで、イメージを反時計回りに９０度回転すると、イメージ６０３は正しい方向になり復号化に使用できる。
【００６４】
回転角θは、存在しないコーナーを明らかにするためのイメージ５０１の回転より前または後のいずれにも適用できることが理解される。キャプチャされたイメージのノイズを考慮すると、４つのコーナータイプのすべてが存在する場合があることも理解される。それぞれのコーナータイプの数を数え、最も少ない数のコーナーを存在しないコーナータイプとして選択してもよい。
【００６５】
最後に、イメージ５０３のコードを読み出し、イメージの生成に使用された元のビットストリームに関連付ける。この関連付けは、様々な方法で実行できる。例えば、回復したビットストリームを元のビットストリーム内にある他のすべてのビットストリームの断片と比較するという再帰的な方法で実行してもよい。または、回復したビットストリームと元のビットストリームの間で、例えば２つのビットストリーム間のハミング距離を使用することにより、統計に基づく解析を実行してもよい。回復したビットストリームの元のビットストリーム内での位置を決定する場合に、様々な方法を使用できることが理解される。
【００６６】
後述するように、迷路パターンの解析（ｍａｚｅ  ｐａｔｔｅｒｎ  ａｎａｌｙｓｉｓ）ではイメージ５０３から回復されたビットを取得する。回復されたビットを取得したら、キャプチャされたイメージの元の配列内での位置を確認する必要がある。ビットのセグメントの配列全体内での位置を決定するプロセスは、様々な要素によって複雑になる。第１に、キャプチャされる実際のビットが不明瞭な場合がある（例えば、カメラが手書きの文字を伴うイメージをキャプチャする場合は、元のコードが不明瞭になる可能性がある）。第２に、ほこり、折り目、反射などによって、キャプチャされたイメージにエラーが発生する場合もある。このようなエラーによって、位置を特定する（ｌｏｃａｌｉｚａｔｉｏｎ）プロセスはさらに困難になる。この意味で、イメージキャプチャシステムはイメージから抽出した不連続のビットに対しても機能する必要がある。以下は、イメージから抽出した不連続のビットを操作する方法を表している。
【００６７】
列（またはｍ列）Ｉをべき級数（ｐｏｗｅｒ  ｓｅｒｉｅｓ）Ｉ（ｘ）＝１／Ｐｎ（ｘ）に対応させる。ただし、ｎはｍ列の次数で、キャプチャされたイメージはＩの中のＫビットｂ＝（ｂ０  ｂ１  ｂ２．．．ｂＫ−１）ｔを含む。ただしＫ≧ｎであり、上付き文字ｔは行列またはベクトルの転置を表す。Ｋビットの位置ｓは、ｂ０をが列の先頭になるように、Ｉを何回か循環シフトしたものにすぎない。その結果、シフトした列Ｒはべき級数ｘｓ／Ｐｎ（ｘ）に対応するか、またはＲ＝Ｔｓ（Ｉ）となる。ただし、Ｔは循環シフト演算子である。このｓを間接的に検出する。多項式のＰｎ（ｘ）によるモジュロはフィールドを形成する。ｘｓ≡ｒ０＋ｒ１ｘ＋．．．ｒｎ−１ｘｎ−１ｍｏｄ（Ｐｎ（ｘ））となることが保証されている。したがって、（ｒ０，ｒ１，．．．，ｒｎ−１）を求め、ｓを解くことができる。
【００６８】
関係ｘｓ≡ｒ０＋ｒ１ｘ＋．．．ｒｎ−１ｘｎ−１ｍｏｄ（Ｐｎ（ｘ））はＲ＝ｒ０＋ｒ１Ｔ（Ｉ）＋．．．＋ｒｎ−１Ｔｎ−１（Ｉ）を意味する。２進の線形方程式で記述すると、次のようになる。
Ｒ＝ｒｔＡ                                                            （２）
【００６９】
ただし、ｒ＝（ｒ０  ｒ１  ｒ２．．．ｒｎ−１）ｔおよびＡ＝（Ｉ  Ｔ（Ｉ）．．．Ｔｎ−１（Ｉ））ｔでＡはＩの０シフトからｎ−１シフトまでの巡回シフトで構成されている。ここで、Ｒ内で疎な（ｓｐａｒｓｅ）Ｋビットのみがｒを解くために利用可能である。Ｒにおけるｂｉとｂ０の添え字の違いをｋｉ，ｉ＝１，２，．．．，ｋ−１とすると、Ｒにおける第１要素と第（ｋｉ＋１）要素（ｉ＝１，２，．．．，ｋ−１）は正確にｂ０，ｂ１，．．．，ｂｋ−１となる。Ａの第１列と第（ｋｉ＋１）列（ｉ＝１，２，．．．，ｋ−１）を選択することによって、次の２進の一次方程式が形成される。
ｂｔ＝ｒｔＭ                                                          （３）
【００７０】
ただし、ＭはＡのｎ×Ｋ部分行列である。
【００７１】
ｂにエラーがなければ、ｒの解は次のように表すことができる。
【００７２】
【数３】
2006325180.tif 000005
【００７３】
ただし、
【００７４】
【数４】
2006325180.tif 000006
【００７５】
はＭの任意の非退化（ｎｏｎ−ｄｅｇｅｎｅｒａｔｅ）ｎ×ｎ部分行列であり、
【００７６】
【数５】
2006325180.tif 000007
【００７７】
は対応するｂの部分ベクトルである。
【００７８】
既知のｒを使用して、ｘｓ≡ｒ０＋ｒ１ｘ＋．．．ｒｎ−１ｘｎ−１ｍｏｄ（Ｐｎ（ｘ））となるｓを求めるために、非特許文献１で知られるＰｏｈｌｉｇ−Ｈｅｌｌｍａｎ−Ｓｉｌｖｅｒアルゴリズムを使用することもできる。
【００７９】
行列Ａ（サイズｎ×Ｌ、ただしＬ＝２ｎ−１）は巨大化する可能性があるため、行列Ａ全体の保存は避ける必要がある。実際、上記のプロセスで説明したように、添え字の差がｋｉとなる所定のビットが抽出された場合、Ａの第１列と第（ｋｉ＋１）列のみが計算に関連する。キャプチャされたイメージのサイズが指定された場合は、このようなｋｉの選択はきわめて限定的である。したがって、このように計算に関連する列のみを保存する必要がある。このような列の総数は、Ｌ（ただし、Ｌ＝２ｎ−１はｍ列の長さである）よりはるかに小さい。
【００８０】
エラー訂正
ｂにエラーがあると、ｒの解はさらに複雑になる。従来のエラー訂正を伴う復号化の方法は、キャプチャされたビットに関連する行列Ｍがキャプチャされたイメージごとに変わる可能性があるので、容易には適用できない。
【００８１】
ここでは、確率論的な方法を採用する。ｂ内のエラービットの個数ｎｅがＫと比較して相対的に小さいと仮定すると、ｂのＫビットから正しいｎビットを選び、非縮重である対応するＭの部分行列
【００８２】
【数６】
2006325180.tif 000008
【００８３】
を選ぶ確率は高くなる。
【００８４】
選択したｎビットがすべて正しい場合、ｂｔとｒｔＭ間のハミング距離またはｒに関連するエラービットの個数は最小になるはずである。ただし、ｒは式（４）で計算されたものである。この処理を数回繰り返すことによって、エラービットが最小の正しいｒを識別できる可能性が高い。
【００８５】
エラービットの数が最小となるｒが唯一の場合は、それが正しい解とみなされる。一方、エラービットの数が最小となるｒが２つ以上ある場合は、ｎｅがＭによって生成されたコードのエラー訂正能力を超えており、復号化処理は失敗する確率が高い。この場合は、システムが次にキャプチャされたイメージの処理を開始してもよい。別の実施例では、ペンの直前の位置に関する情報を考慮に入れることができる。すなわち、それぞれのキャプチャされたイメージに対して、次に期待されるペンの移動先の領域を識別できる。例えば、カメラによってキャプチャされた２つのイメージの間でユーザがペンを持ち上げていない場合に、２番目にキャプチャされたイメージによって決定されたペンの位置は最初の位置からそれほど遠く離れていないはずである。次に、エラービット数が最小のｒのそれぞれについて、ｒから計算された位置ｓが局所的な制約を満たしているか、すなわちその位置が指定された移動先の領域内にあるかどうかを確認できる。
【００８６】
位置ｓが局所的な制約を満たしている場合は、配列内の抽出されたビットのＸとＹの位置が返される。満たしていない場合は復号化プロセスが失敗する。
【００８７】
図７は、キャプチャされたイメージの列（またはｍ列）の位置を決定するために使用できるプロセスを表している。まず、ステップ７０１でキャプチャされたイメージに関連するデータストリームを受信する。ステップ７０２で、Ａから対応する列を抽出し、行列Ｍを構成する。
【００８８】
ステップ７０３で、行列Ｍからｎ個の独立した列ベクトルをランダムに選択し、式（４）を解いてベクトルｒを決定する。ステップ７０４で、この処理がＱ回（例えば、１００回）実行される。ループ回数の決定は、「ループ回数の計算」のセクションで説明する。
【００８９】
ステップ７０５で、ｒを関連するエラービットの数に基づいてソートする。ソートは、当業者には周知の様々なソートアルゴリズムを使用して行うことができる。例えば、選択ソートアルゴリズム（ｓｅｌｅｃｔｉｏｎ  ｓｏｒｔｉｎｇ  ａｌｇｏｒｉｔｈｍ）を使用してもよい。選択ソートアルゴリズムは、数Ｑが大きくない場合に効果的である。しかし、Ｑが大きくなる場合は、より多くの項目をより効率よく処理する他のソートアルゴリズム（例えば、マージソート（ｍｅｒｇｅ  ｓｏｒｔ））を使用してもよい。
【００９０】
次にステップ７０６で、システムはエラービット数が最小のｒが複数存在するかどうかを確認することによって、エラー訂正が正常に行われたかどうかを判定する。複数のｒが存在する場合は、ステップ７０９で復号化プロセスが失敗したことを示すエラーが返される。複数のｒが存在しない場合は、ステップ７０７で、例えばＰｏｈｉｇ−Ｈｅｌｌｍａｎ−Ｓｉｌｖｅｒアルゴリズムを使用して、列（またはｍ列）中の抽出されたビットの位置ｓを計算する。
【００９１】
次にステップ７０８で、ｘ＝ｓ  ｍｏｄ  ｍ１およびｙ＝ｓ  ｍｏｄ  ｍ２として配列内の（Ｘ，Ｙ）位置を計算し、結果を返す。
【００９２】
位置の決定
図８は、ペン先の位置を決定するプロセスを示している。入力はカメラによってキャプチャされたイメージであり、出力はペン先の位置座標でもよい。また、出力は例えばキャプチャされたイメージの回転角など他の情報を含んでいても（いなくても）よい。
【００９３】
ステップ８０１で、カメラからイメージを受信する。次に、ステップ８０２で、明るいピクセルと暗いピクセルのコントラストを調整するなどのために、オプションで受信したイメージを前処理してもよい（ステップ８０２の破線で示されている）。
【００９４】
次に、ステップ８０３で、イメージを解析してイメージ内のビットストリームを決定する。
【００９５】
さらに、ステップ８０４で、ビットストリームからｎビットを複数回ランダムに選択し、受信したビットストリームの元の列（またはｍ列）内の位置を決定する。
【００９６】
最終的に、ステップ８０４でキャプチャされたイメージの位置が決定すると、ステップ８０５でペン先の位置を決定できる。
【００９７】
図９は、８０３および８０４に関する詳細な説明であり、キャプチャされたイメージ内のビットストリームを抽出する方法を示している。最初に、ステップ９０１でカメラからイメージを受信する。次にステップ９０２で、イメージに対してオプションでイメージの前処理を実行してもよい（ステップ９０２の破線のボックスで示されている）。ステップ９０３で、パターンを抽出する。ここで、様々な線上のピクセルが抽出され、パターンの方向と角度θが検出される。
【００９８】
次にステップ９０４で、受信したイメージを分析し、基盤となるグリッド線を決定する。ステップ９０５でグリッド線が検出されると、ステップ９０６でパターンからコードを抽出する。
【００９９】
次に、ステップ９０７でコードを復号化し、ステップ９０８でペン先の位置を決定する。ステップ９０５でグリッド線が検出されなかった場合は、ステップ９０９でエラーが返される。
【０１００】
ローカルメタデータの符号化
図１０は、本発明の実施形態に従ってローカルメタデータを符号化するシステムの流れ図を示している。１つまたは複数のｍ配列（ｍ配列１００２で示す）とローカルメタデータ１００４は、ローカルメタデータ符号化モジュール１００６に入力される。これは符号化されたローカルメタデータによる結合された配列（ｃｏｍｂｉｎｅｄ  ａｒｒａｙ）１００８を出力する。１つまたは複数の入力ｍ配列は、位置（ｐｏｓｉｔｉｏｎ）ｍ配列２７０２およびローカルメタデータｍ配列２７０４などのｍ配列でもよい（いずれも図２７に示されている）。
【０１０１】
本発明の実施形態により、領域にローカルメタデータが埋め込まれているかどうかに関わらず、領域は結合されたｍ配列を使用して符号化することができる。このローカルメタデータｍ配列は、Ｘ、Ｙの位置の情報を表すｍ配列と同じでもよい。また、メタデータｍ配列はメタデータの値に従ってシフトされてもよい。領域にローカルメタデータが埋め込まれていない場合は、そのローカルメタデータの値として０が選択されてもよい。この場合、メタデータｍ配列はシフトされない。したがって、ローカルメタデータを埋め込むように選択された領域のローカルメタデータの値として０は使用されない。
【０１０２】
図２７は、本発明の実施形態に従ってローカルメタデータを符号化する例を示している。２つの同等のｍ配列（位置ｍ配列２７０２とローカルメタデータｍ配列２７０４）は、図２７の左に示されている。いずれのｍ配列も、次数６のｍ配列である。したがって、各ｍ配列の幅は２３＋１であり、各ｍ配列の高さは２３−１である。位置ｍ配列とローカルメタデータｍ配列は、長さは同じであるが、互いに異なるビットシーケンスの繰り返しが含まれていてもよい。別の言い方をすれば、次数ｎの様々な原始多項式を使用して、様々なビットシーケンスの繰り返しを含む様々なｍ配列を生成してもよい。
【０１０３】
本発明の実施形態により、２つのｍ配列を結合して２つのビットを１つのＥＩＣ記号に符号化してもよい。図２４にＥＩＣ記号の例を示す。図２４のＥＩＣ記号は、図２４に示す最下行と右端の列を除くグリッド領域のすべての行と列を占めている。最下行と右端の列は、隣接するＥＩＣ記号に属している。したがって、黒のドット２４０２−１と２４０２−４は図２４に示すＥＩＣ記号に属しているが、黒のドット２４０２−２と２４０２−３はこのＥＩＣ記号の要素ではない。データのドット２４０６−１から２４０６−１６は、黒または白であり、ビットの情報を表すことができる。方向のドット２４０４−１から２４０４−４は常に白であり、カメラでキャプチャされたＥＩＣ記号イメージを正しく方向付けることができる。
【０１０４】
位置ｍ配列２７０２とローカルメタデータｍ配列２７０４がローカルメタデータの値（例えば１１）に基づいて結合された場合、図２７の２７３０に示すように、ローカルメタデータｍ配列２７０４の先頭が位置ｍ配列２７０２の位置（ｘｄ，ｙｄ）にシフトされる。ｘ、ｙの座標は次のように計算できる。
【０１０５】
【数７】
2006325180.tif 000009
【０１０６】
ただし、ｎはｍ配列の次数、および０≦ローカルメタデータ≦２ｎ−２である。
【０１０７】
図２７において、符号化されるローカルメタデータ２７０６の値は１１であり、ｍ配列の次数は６（すなわち、ｎ＝６）である。したがって、次の式が得られる。
【０１０８】
【数８】
2006325180.tif 000010
【０１０９】
部分的に結合されたｍ配列２７０８で示すように、ローカルメタデータｍ配列２７０４は位置ｍ配列２７０２の位置（２，１）から開始している。位置ｍ配列２７０２とローカルメタデータｍ配列２７０４は自らを繰り返すので、図１４の右下コーナーに示す符号化されたローカルメタデータを伴う結合されたｍ配列２７１０が生成されてもよい。ローカルメタデータｍ配列２７０４を（２，１）から開始した結果として、位置ｍ配列２７０２の重複する行と列およびローカルメタデータｍ配列２７０４の重複した行と列を結合した後に、ローカルメタデータｍ配列２７０４の一部２７２０、２７１４、および２７２６が残る。ローカルメタデータｍ配列２７０４の一部２７２６および位置ｍ配列２７０２の一部２７２４は、２７２８に示すように、結合された配列２７１０に結合される。同様に、ローカルメタデータｍ配列２７０４の一部２７１４および位置ｍ配列２７０２の一部２７１２は、２７１６で示すように結合された配列２７１０に結合される。さらに、ローカルメタデータｍ配列２７０４の一部２７２０および位置ｍ配列２７０２の一部２７１８は、２７２２に示すように結合された配列２７１０に結合される。
【０１１０】
メタデータの値は、位置ｍ配列２７０２とローカルメタデータｍ配列２７０４との、結合された配列内での距離である。この距離は、結合された配列２７１０のビットの各ペアで同じになるように保持される。したがって、対応するｍ配列の各ビットの位置が得られれば、結合された配列２７１０内での距離を決定できる。
【０１１１】
ローカルメタデータの復号化
図２６は、本発明の実施形態による、ローカルメタデータを復号化するシステムの流れ図である。符号化されたローカルメタデータによる結合された配列１００８がローカルメタデータ復号化モジュール２６０２に入力される。このモジュールの出力は復号化されたローカルメタデータ２６０４である。
【０１１２】
ローカルメタデータを復号化するには、結合された配列１００８を形成するために結合されたｍ配列がそれぞれ別々に復号化される。例えば、図２７に示す例を参照すると、位置ｍ配列２７０２とローカルメタデータｍ配列２７０４は別々に復号化される。次に、特定のポイントＰ  ２７３２の場合、位置ｍ配列２７０２のポイントの位置である（ｘｐ，ｙｐ）とローカルメタデータｍ配列２７０４のポイントの位置である（ｘｍ，Ｙｍ）の２つの位置が取得される。
【０１１３】
したがって、ローカルメタデータの値は次のように計算できる。
【０１１４】
【数９】
2006325180.tif 000011
【０１１５】
ただし、ｎは結合されたｍ配列１００８の次数である。
【０１１６】
図２７に示す例において、第１のｍ配列内でのＰの位置は（４，３）である。第２のｍ配列のＰの位置は（２，２）である。したがって、メタデータの値は次のようにして得られる。
ローカルメタデータ＝ｍｏｄ（３−２，２３−１）・（２３＋１）＋ｍｏｄ（４−２，２３＋１）＝１１
【０１１７】
メタデータソリューション
本発明の実施形態により、ローカルメタデータは複数の独立したチャネルを経由して埋め込まれてもよい。例えば、ローカルメタデータの競合を解決するＥＩＣローカルメタデータ埋め込みソリューションは、本発明の実施形態により、８ビット埋め込み対話コード（ＥＩＣ）記号（ＥＦ−ｄｉａｍｏｎｄ−８ｂｉｔ−ａ−１６およびＥＦ−ｄｉａｍｏｎｄ−８ｂｉｔ−ｉ−１４など）に基づいていてもよい。前述のように、８ビットＥＩＣ記号の例を図２４に示す。
【０１１８】
８次元ＥＩＣ記号に対する可能性のあるメタデータ割り当て方法は、１：６：１（１：１：１：１：１：１：１：１）である。ただし、１つの共有は位置、６つの共有はグローバルメタデータ、１つの共有はローカルメタデータに使用される。８つの共有はそれぞれ物理データチャネルを構成しており、例では次数２８のそれぞれに該当している（すなわち、各共有の符号化に使用される各ｍ配列の幅は２１４＋１であり、各共有の符号化に使用される各ｍ配列の高さは２１４−１である）。
【０１１９】
本発明の実施形態によるメタデータの割り当て方法では、１：５：０．５：０．５：０．５：０．５で示されるように８つのローカルメタデータ共有を割り当てる。ここで次数２８の１共有は位置に使用され、各共有全体の次数２８の５共有はグローバルメタデータに使用され、４つの０．５共有（２分の１共有とも呼ばれる）は各０．５共有の次数が１４であり、４つの独立したメタデータの値に使用される。このようにビットの比率が変化することによって、次数１４のｍ配列が各０．５共有データチャネルで使用され、ＥＩＣ配列を構成する。
【０１２０】
図１４Ａ〜１４Ｅに本発明の実施形態による、ローカルメタデータの競合を防ぐためのローカルメタデータ符号化技術を示す。
【０１２１】
０．５共有による独立したローカルメタデータチャネルは、以下のように本発明の実施形態に従って実装してもよい。図１５は、８ビットＥＩＣ記号の１ビットを共有する２つの０．５共有を示す。これは、記号の奇数ラインは１つの０．５共有のビットを表すために使用され、記号の偶数ラインはもう１つの０．５共有のビットを表すために使用されることを意味する。本発明の実施形態により、キャプチャされたイメージを復号化することによって、４つの独立したローカルメタデータの値が生成される。
【０１２２】
これで４つの独立したローカルメタデータの値を利用できるので、競合する可能性のある４つのローカルメタデータフィールド、すなわち、フィールドＡ  １４０２、フィールドＢ  １４０４、フィールドＣ  １４０６、およびフィールドＤ  １４０８のそれぞれを、図１４Ａに示すようにそれぞれのローカルメタデータチャネルに割り当てることができる。フィールドＡ、Ｂ、Ｃ、およびＤの境界線は、図１４Ａでは太線で描くことによって強調されている。図１４Ｂから１４Ｅは、それぞれフィールドＡ、Ｂ、Ｃ、およびＤに関連して、いずれも競合が発生する可能性がある領域１４１２、１４１４、１４１６、および１４１８を示している。フィールドＡは、フィールドＡの競合する可能性がある領域１４１２が、フィールドＢの競合する可能性がある領域１４１４、フィールドＣの競合する可能性がある領域１４１６、およびフィールドＤの競合する可能性がある領域１４１８と重複する領域において、それぞれフィールドＢ、フィールドＣ、フィールドＤと競合する可能性がある。同様に、フィールドＢは、フィールドＢの競合する可能性がある領域１４１４が、フィールドＣの競合する可能性がある領域１４１６およびフィールドＤの競合する可能性がある領域１４１８と重複する領域で、それぞれフィールドＣおよびフィールドＤと競合する可能性がある。さらに、フィールドＣは、フィールドＣの競合する可能性がある領域１４１６がフィールドＤの競合する可能性がある領域１４１８と重複する領域で、フィールドＤと競合する可能性がある。
【０１２３】
図１５は、競合する可能性がある領域内にローカルメタデータを埋め込み、こうした領域のローカルメタデータを復号化するために２つの０．５共有のビットがＥＩＣ記号の１ビットを共有する例を示している。
【０１２４】
図２５は、本発明の実施形態に従って、埋め込み対話コード文書にローカルメタデータを埋め込むステップおよび埋め込み対話コード文書からローカルメタデータを抽出するステップを示している。２５０２に示すように、複数のローカルメタデータの値は、ローカルメタデータの競合解決規則のセットに従い、複数の部分共有チャネルを経由して、複数のローカルメタデータフィールドのそれぞれに割り当てられる。２５０４に示すように、ローカルメタデータは、部分共有チャネルを復号化し、ローカルメタデータ競合解決規則のセットに従い、復号化されたローカルメタデータの値が競合する可能性を解決することによって、復号化される。
【０１２５】
競合が発生する可能性がある領域にローカルメタデータを埋め込みこれを復号化する場合に、様々な考慮事項および／または規則（ローカルメタデータ競合解決規則のセットとも呼ばれる）が適用されてもよい。次に例を示す。
【０１２６】
・  文書内のいかなる場所でも、水平方向で競合発生する領域が２カ所を超えず、垂直方向で競合発生する領域が２カ所を超えないものとする。
【０１２７】
・  競合する領域が発生する場合に、左の領域にあるローカルメタデータの値は右の領域にあるローカルメタデータの値よりも小さく、その値は連続しない。以上の規則の優先順位は、以下の規則の優先順位よりも高い（すなわち、以上の箇条書きの規則は、以下の箇条書きの規則より優先される）。
【０１２８】
・  競合する領域が発生する場合に、上の領域にあるローカルメタデータの値は下の領域にあるローカルメタデータの値よりも小さく、その値は連続しなければならない。
【０１２９】
ペン先の位置とローカルメタデータを復号化した後、ローカルメタデータの競合が発生する可能性がある。これは、キャプチャされた１つのイメージから複数のローカルメタデータが発生する可能性があることを意味する。さらに、ローカルメタデータを復号化した結果に関して発生する可能性がある競合を解決するために、何らかの考慮事項および／または規則が適用されてもよい。これらの考慮事項には、以下が含まれる。
【０１３０】
・  ゼロでない４つのローカルメタデータの値が実質上同時に復号化される場合は、以下のようになる。
○  図１６に示すように、ペン先の位置が、キャプチャされたイメージの中心の左上にある場合は、復号化された最小のメタデータの値が正常な（競合が解決されたとも言う）ローカルメタデータの結果である。
○  図１７に示すように、ペン先の位置が、キャプチャされたイメージの中心の左下にある場合は、復号化された２番目に小さい（すなわち３番目に大きい）メタデータの値が正常なローカルメタデータの結果である。
○  図１８に示すように、ペン先の位置が、キャプチャされたイメージの中心の右上にある場合は、復号化された２番目に大きい（すなわち３番目に小さい）メタデータの値が正常なローカルメタデータの結果である。
○  図１９に示すように、ペン先の位置が、キャプチャされたイメージの中心の右下にある場合は、復号化された最大のメタデータの値が正常なローカルメタデータの結果である。
【０１３１】
・  ゼロでない連続する値を得る２つのローカルメタデータが実質上同時に復号化される場合は以下のようになる。
○  図２０に示すように、ペン先の位置が、キャプチャされたイメージの中心より上にある場合は、復号化された小さい方のメタデータの値が正常なローカルメタデータの結果である。
○  図２１に示すように、ペン先の位置がキャプチャされたイメージの中心より下にある場合は、大きい方の値が正常なローカルメタデータの結果である。
【０１３２】
・  ゼロでない連続しない値をとる２つのローカルメタデータの値が実質上同時に復号化される場合は以下のようになる。
○  図２２に示すように、ペン先の位置が、キャプチャされたイメージの中心の左にある場合は、復号化された小さい方のメタデータの値が正常なローカルメタデータの結果である。
○  図２３に示すように、ペン先の位置がキャプチャされたイメージの中心の右にある場合は、復号化された大きい方のメタデータの値が正常なローカルメタデータの結果である。
【０１３３】
文書の一部の領域にはローカルメタデータの競合は存在しない。例えば、独立したそれぞれのローカルメタデータチャネルのｃ＝１０２３という値は、唯一の文書内の競合する領域にローカルメタデータの値を割り当てるために予約されているものとする。したがって、４つのローカルメタデータチャネルのそれぞれに対して、競合のない領域に使用できるｌ＝（２１４−１）−ｃの値がある。これらの４つの０．５共有は、統一され、一緒に割り当てられてもよい。競合のない領域で利用できる一意のローカルメタデータの値の数は、Ｌ＝ｌ４と表すことができる。次に、Ｌの範囲は、ｃ≦Ｌ＜（ｌ４＋ｃ）であり、この範囲内のローカルメタデータの値は競合のない領域に割り当てられる。
【０１３４】
前述の例では、ローカルメタデータアドレス空間Ｌは５５ビットより大きく、およそ５５．６ビットであるが、最適化の最大４×１４＝５６ビットよりも小さい。これは、適切なアドレス空間以外は、最大４つのローカルメタデータ領域が競合する場合があり、重複する可能性があるため、アドレス指定に使用されないことを意味している。
【０１３５】
本発明の実施形態によるローカルメタデータの埋め込みソリューションは、拡張可能なので、他のタイプの競合を解決することもできる。以上の説明は、ＥＩＣ配列ソリューションの１つの事例に関連しており、これまでに説明したＥＩＣ配列ソリューションの背後にはさらに拡張可能なＥＩＣ配列の設計が存在する。例えば、水平方向および／または垂直方向に拡張された３つの重複された領域に存在する可能性がある競合を解決するために、ＥＩＣ配列のビットを１：５：０．３３：０．３３：０．３３：０．３３：０．３３：０．３３の比率で割り当ててもよい。さらに、ローカルメタデータを埋め込み、復号化する場合に、前述したものと同様の規則を適用してもよい。したがって、本発明の実施形態に従って１／２共有、１／３共有、１／４共有などの様々なタイプの部分共有を使用できる。
【０１３６】
ユニバーサルローカルメタデータは、アプリケーションまたはシステムによって予約されたローカルメタデータであるが、本発明の実施形態により、様々な文書およびフォームで使用できる。例えば、特定の学生に関する大学のファイルなどの特定のシステムでは、学生の情報が様々な文書および／またはフォーム、およびその様々なバージョンに記載される。同じ情報を伴うほとんどすべてのフォームのフィールド、例えば学生の名前、ＩＤ、および専攻などには、共通のローカルメタデータの値を割り当てることができる。このタイプの情報フィールドに割り当てられた値は、大学の学生情報データベースと同期してもよい。
【０１３７】
本発明の実施形態によるローカルメタデータの埋め込みおよび復号化技術は、次のように前述のローカルメタデータの使用をサポートできる。ローカルメタデータ復号化の競合が発生した場合に、競合を保持する（ｃｏｎｆｌｉｃｔ−ｒｅｓｅｒｖｅｄ）ローカルメタデータから一意のローカルメタデータへのマッピングテーブルを構成できる。マッピングテーブルはＥＩＣ文書を使用して保存でき、マッピングテーブルのコピーをイメージキャプチャペンで保存できるので、イメージキャプチャペンを使用してＥＩＣ文書と対話するときに、ローカルメタデータ復号化の競合を効率的に解決できる。
【０１３８】
本発明は添付の特許請求の範囲を使用して定義されるが、これらの特許請求の範囲は本発明を説明するためのものであり、本発明には本明細書で説明する要素およびステップの任意の組合せまたは任意の部分的な組合せが含まれることを意図している。したがって、本発明を定義する代わりの組合せは任意の数だけ存在しており、説明、特許請求の範囲、および図を含む本明細書の１つまたは複数の要素が、様々な組合せまたは部分的な組合せによって組み込まれている。本明細書に照らして、本発明の態様の代替としての組合せは、単独であっても、本明細書で定義した１つまたは複数の要素またはステップとの組合せであっても、本発明または本発明の一部を変更または代替として利用できることは、当業者には理解されるであろう。本明細書に記載される本発明の実施形態の説明は、こうした変更と代替をすべて含むものとする。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施形態と組み合わせて使用できるコンピュータの一般的な説明を示す図である。
【図２Ａ】本発明の実施形態によるイメージキャプチャシステムと、対応するキャプチャされたイメージを示す図である。
【図２Ｂ】本発明の実施形態によるイメージキャプチャシステムと、対応するキャプチャされたイメージを示す図である。
【図３Ａ】本発明の実施形態による、情報を符号化するための様々な列と畳み込み技術を示す図である。
【図３Ｂ】本発明の実施形態による、情報を符号化するための様々な列と畳み込み技術を示す図である。
【図３Ｃ】本発明の実施形態による、情報を符号化するための様々な列と畳み込み技術を示す図である。
【図３Ｄ】本発明の実施形態による、情報を符号化するための様々な列と畳み込み技術を示す図である。
【図３Ｅ】本発明の実施形態による、情報を符号化するための様々な列と畳み込み技術を示す図である。
【図３Ｆ】本発明の実施形態による、情報を符号化するための様々な列と畳み込み技術を示す図である。
【図４Ａ】図４Ａと４Ｂによる符号化システムに関連して得られる４つのコーナーを示す図である。
【図４Ｂ】図４Ａと４Ｂによる符号化システムに関連して得られる４つのコーナーを示す図である。
【図４Ｃ】図４Ａと４Ｂによる符号化システムに関連して得られる４つのコーナーを示す図である。
【図４Ｄ】図４Ａと４Ｂによる符号化システムに関連して得られる４つのコーナーを示す図である。
【図５】本発明の実施形態によるキャプチャされたイメージ部分の回転を示す図である。
【図６】図４Ａから４Ｅに示す符号化システムと組み合わせて使用する様々な回転の角度を示す図である。
【図７】本発明の実施形態によるキャプチャされた配列の位置を決定するプロセスを示す図である。
【図８】本発明の実施形態による、キャプチャされたイメージの位置を決定する方法を示す図である。
【図９】本発明の実施形態による、キャプチャされたイメージの位置を決定するもう１つの方法を示す図である。
【図１０】本発明の実施形態による、ローカルメタデータを符号化するシステムを示す流れ図である。
【図１１】メタデータを格納する技術を示す図である。
【図１２】メタデータを格納する技術を示す図である。
【図１３】メタデータを格納する技術を示す図である。
【図１４Ａ】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１４Ｂ】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１４Ｃ】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１４Ｄ】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１４Ｅ】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１５】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１６】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１７】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１８】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図１９】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図２０】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図２１】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図２２】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図２３】本発明の態様による、メタデータを格納し、復号化する技術を示す図である。
【図２４】本発明の実施形態による埋め込み対話コード（ＥＩＣ）記号の例を示す図である。
【図２５】本発明の実施形態による、埋め込み対話コード文書にローカルメタデータを埋め込むステップ、および埋め込み対話コード文書からローカルメタデータを抽出するステップを示す図である。
【図２６】本発明の実施形態による、ローカルメタデータを復号化するシステムを示す流れ図である。
【図２７】本発明の実施形態により、ローカルメタデータを符号化する例を示す図である。
【符号の説明】
【０１４０】
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  その他のプログラムモジュール
１３７  プログラムデータ
１４０  取り外し不可能な不揮発性メモリインターフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  その他のプログラムモジュール
１４７  プログラムデータ
１５０  取り外し可能な不揮発性メモリインターフェース
１６０  ユーザ入力インターフェース
１６１  マウス
１６２  キーボード
１６５  デジタイザ
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７３  ワイドエリアネットワーク
１７２  モデム
１８０  リモートコンピュータ
１８１  メモリ
１８５  アプリケーションプログラム
１９０  ビデオインターフェース
１９１  モニタ
１９５  出力周辺インターフェース
１９６  スピーカ
１９７  プリンタ
【図１】
2006325180.tif 000012
【図２Ａ】
2006325180.tif 000013
【図２Ｂ】
2006325180.tif 000014
【図３Ａ】
2006325180.tif 000015
【図３Ｂ】
2006325180.tif 000016
【図３Ｃ】
2006325180.tif 000017
【図３Ｄ】
2006325180.tif 000018
【図３Ｅ】
2006325180.tif 000019
【図３Ｆ】
2006325180.tif 000020
【図４Ａ】
2006325180.tif 000021
【図４Ｂ】
2006325180.tif 000022
【図４Ｃ】
2006325180.tif 000023
【図４Ｄ】
2006325180.tif 000024
【図５】
2006325180.tif 000025
【図６】
2006325180.tif 000026
【図７】
2006325180.tif 000027
【図８】
2006325180.tif 000028
【図９】
2006325180.tif 000029
【図１０】
2006325180.tif 000030
【図１１】
2006325180.tif 000031
【図１２】
2006325180.tif 000032
【図１３】
2006325180.tif 000033
【図１４Ａ】
2006325180.tif 000034
【図１４Ｂ】
2006325180.tif 000035
【図１４Ｃ】
2006325180.tif 000036
【図１４Ｄ】
2006325180.tif 000037
【図１４Ｅ】
2006325180.tif 000038
【図１５】
2006325180.tif 000039
【図１６】
2006325180.tif 000040
【図１７】
2006325180.tif 000041
【図１８】
2006325180.tif 000042
【図１９】
2006325180.tif 000043
【図２０】
2006325180.tif 000044
【図２１】
2006325180.tif 000045
【図２２】
2006325180.tif 000046
【図２３】
2006325180.tif 000047
【図２４】
2006325180.tif 000048
【図２５】
2006325180.tif 000049
【図２６】
2006325180.tif 000050
【図２７】
2006325180.tif 000051
【外国語明細書】
2006325180000001.pdf