(57)【特許請求の範囲】
【請求項１】
基材上にセキュリティ文書を印刷する方法であって、
文書と共に少なくとも１つの場所識別配列を印刷するステップと、
前記場所識別配列により特定される文書基材領域の画像から、前記文書基材領域における基材の固有の構造的特性を示すデータを生成するステップと、
前記生成された基材の固有の構造的特性を示すデータを符号化した符号化データを生成するステップと、
前記文書基材領域全体に前記符号化データを印刷することにより、セキュリティ文書を生成するステップとを有し、
前記場所識別配列は、更に、証明すべき文書の構造的特性を得る際の前記文書基材領域の特定、及び、前記証明すべき文書に符号化された符号化データを抽出する際の前記文書基材領域の特定に用いられることを特徴とする方法。
【請求項２】
前記符号化データと認証すべき文書の前記文書基材領域の画像から得られるデータとを比較し、前記基材の真偽を示すことを特徴とする請求項１に記載の方法。
【請求項３】
前記符号化データは前記基材上に予め定められた色で印刷され、前記認証すべき文書の前記文書基材領域における前記予め定められた色を抽出するフィルタによって抽出されることを特徴とする請求項２に記載の方法。
【請求項４】
前記符号化データは、前記基材上に黄色で印刷されることを特徴とする請求項３に記載の方法。
【請求項５】
前記符号化データは、前記文書基材領域の赤色チャネル強度画像を有することを特徴とする請求項４に記載の方法。
【請求項６】
前記少なくとも１つの場所識別配列は、前記文書基材領域を取り囲むために所定の形状の領域を規定する少なくとも３つの螺旋を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記基材は用紙であることを特徴とする請求項１乃至６の何れか１項に記載の方法。
【請求項８】
前記用紙の固有の特性は構造的特性であることを特徴とする請求項７に記載の方法。
【請求項９】
請求項１に記載の方法によって基材上に印刷されたセキュリティ文書を認証する方法であって、
前記文書基材領域の画像を取得するために前記セキュリティ文書を走査するステップと、
前記文書基材領域を検出するステップと、
前記文書基材領域に符号化された符号化データを抽出及び復号化するステップと、
前記証明すべき文書の前記文書基材領域の画像データを取得するステップと、
前記復号化データから取得され、前記基材の固有の構造的特性と関連付けたデータを前記証明すべき文書の文書基材領域の画像データから取得される各データと比較するステップとを有することを特徴とする方法。
【請求項１０】
前記符号化データは、前記文書基材領域の赤色チャネル強度画像を含み、前記基材上に黄色で印刷され、前記復号化データから取得されるデータを前記証明すべき文書の文書基材領域の画像データから取得される各データと比較するステップは、
前記符号化データを含む前記黄色チャネル強度画像を取得するために、前記文書基材領域の画像に黄色フィルタを適用するステップと、
前記黄色強度画像に基づいて前記文書基材領域の画像の前記赤色チャネルに対して位相相関を実行するステップと、
前記実行された位相相関に対してピーク検出を実行するステップとを含み、
所定の閾値を上回る正のピークが存在することにより、前記セキュリティ文書の真偽を示すことを特徴とする請求項９に記載の方法。
【請求項１１】
セキュリティ文書を基材上に印刷するシステムであって、
文書と共に少なくとも１つの場所識別配列を印刷するデバイスと、
前記場所識別配列により特定される文書基材領域の画像から、前記文書基材領域における基材の固有の構造的特性を示すデータを生成するデバイスと、
前記生成された基材の固有の構造的特性を示すデータを符号化した符号化データを生成するデバイスと、
前記文書基材領域全体に前記符号化データを印刷することにより、セキュリティ文書を生成するデバイスとを備え、
前記場所識別配列は、更に、証明すべき文書の構造的特性を得る際の前記文書基材領域の特定、及び、前記証明すべき文書に符号化された符号化データを抽出する際の前記文書基材領域の特定に用いられることを特徴とするシステム。
【請求項１２】
請求項１に記載の方法により基材上に印刷されたセキュリティ文書を認証するシステムであって、
前記文書基材領域の画像を取得するために前記セキュリティ文書を走査する走査デバイスと、
前記文書基材領域を検出し、
前記文書基材領域に符号化された符号化データを抽出及び復号化し、
前記証明すべき文書の前記文書基材領域の画像データを取得し、
前記復号化データから取得され、前記基材の固有の構造的特性と関連付けたデータを前記証明すべき文書の文書基材領域の画像データから取得される各データと比較する手段とを備えることを特徴とするシステム。
【請求項１３】
コンピュータにより実行可能であり、前記コンピュータにセキュリティ文書を基材上に印刷させるプログラムを記録したコンピュータにより読み取り可能な記録媒体であって、前記プログラムは、
文書と共に少なくとも１つの場所識別配列を印刷するステップと、
前記場所識別配列により特定される文書基材領域の画像から、前記文書基材領域における基材の固有の構造的特性を示すデータを生成するステップと、
前記生成された基材の固有の構造的特性を示すデータを符号化した符号化データを生成するステップと、
前記文書基材領域全体に前記符号化データを印刷することにより、セキュリティ文書を生成するステップとをコンピュータに実行させ、
前記場所識別配列は、更に、証明すべき文書の構造的特性を得る際の前記文書基材領域の特定、及び、前記証明すべき文書に符号化された符号化データを抽出する際の前記文書基材領域の特定に用いられることを特徴とするコンピュータにより読み取り可能な記録媒体。
【請求項１４】
コンピュータにより実行可能であり、請求項１に記載の方法により基材上に印刷されたセキュリティ文書を前記コンピュータに認証させるプログラムを記録したコンピュータにより読み取り可能な記録媒体であって、前記プログラムは、
前記文書基材領域の画像を取得するために前記セキュリティ文書を走査するステップと、
前記文書基材領域を検出するステップと、
前記文書基材領域に符号化された符号化データを抽出及び復号化するステップと、
前記証明すべき文書の前記文書基材領域の画像データを取得するステップと、
前記復号化データから取得され、前記基材の固有の構造的特性と関連付けたデータを前記証明すべき文書の文書基材領域の画像データから取得される各データと比較するステップとをコンピュータに実行させることを特徴とするコンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ文書の印刷及び認証に関する方法及びシステム、特に基材上に印刷された文書に関する方法及びシステムに関する。
【背景技術】
【０００２】
印刷技術の発明以来、印刷文書の偽造をなくす技術を考案する努力がされてきた。例えば、紙幣の偽造を防止する努力が続けられている。
【０００３】
近年、安価な高解像度走査及び印刷機器の出現により、偽造文書の品質が向上し、偽造印刷文書を検出することは益々困難になっている。更に、有価証券として印刷文書が益々普及してきているため、印刷文書は潜在的な偽造者にとって魅力的な標的となっている。例えば、偽造小切手及び偽造チケットは検出されないことが多い。
【０００４】
従って、印刷文書を認証できることが望ましい。更に、認証方法は自動化されるのが望ましい。そのような自動化により、正確度及び整合性は高まり、また高速化される。
【０００５】
周知の１つの種類の文書認証方法は、文書上に複製するのが困難なマークを置くことを含む。そのようなマークの例には、ホログラフィックマーク及び埋め込まれた透かしがある。偽造者は、そのように認証される文書をうまく複製するために多くの知識及び高価な機器を必要とする。しかし、そのようなマークは生成するのにコストがかかり、機械により読み取り不可能である可能性がある。
【０００６】
別の種類の周知の方法は、文書の表面上に機械読み取り可能なマークを符号化することにより偽造を防止することを目的とする。文書上のそれらの機械読み取り可能なマークを検出すると、コピー機は文書の複製を停止するように命令される。それらのマークは従来のプリンタで印刷できるため、複写するためのコストは安価である。しかし、偽造者は、人間が読み取り可能な文書内容が満足に複写されるところまで機械読み取り可能なマークを劣化でき、コピー機は機械読み取り可能なマークを検出できない。
【０００７】
更なる種類の方法は、印刷画像をバーコードに符号化し、印刷画像上にそのバーコードを印刷することを含む。印刷画像は、運転免許証に使用されることが多い写真等の顔写真であっても良い。これにより、写真に対する変更によってバーコードデータと変更された写真との不一致が生じるため、写真の改竄は防止される。しかし、これらの方法では、写真及びバーコードが変更されずに複製されるという偽造に対するセキュリティが殆どない。
【０００８】
更なる種類の方法は、文書の基材（通常、これは用紙である）の領域の特性を識別し、文書の一致及び対応する用紙の特性に関する情報を一元的に格納する。文書が認証される場合、その用紙は再度特徴付けられ、事前に格納された基準用紙特性と比較される。各用紙特性が固有であるため、これらの方法は偽造文書を検出する際に非常に効果的である。しかし、多くの文書が保護される場合、用紙特性の大きな集合が一元的に格納される必要がある。セキュリティ文書のデータベースを有する集中サーバへのリモートアクセスには、セキュリティの問題があるだろう。
【０００９】
最近の方法は、用紙特性を一元的に格納する必要性を克服するように考案されている。それらの方法は、文書の用紙特性を文書自体の何れかの場所に符号化されるバーコードに符号化することを含む。このことを考慮すると、文書を認証するのに必要とされる全ての情報が文書上で保持されるため、文書は自己検証すると考えられる。これらの方法の１つの欠点は、バーコードにより占有される領域及び特徴付けられる用紙の領域が文書上に印刷されるユーザ関連データの量を制限することである。更に、これらの領域の各々に必要とされる同期マークの集合は、可視性が高いため改竄されやすい。しかし、同期マークがバーコードに対してのみ使用され、用紙特性領域がバーコードに関連して指定される場合、局所的な反り及び歪みは用紙領域の正確な特徴付けを妨害するだろう。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従って、セキュリティ印刷文書の生成及び認証を更に効率的にする方法が必要とされる。
【課題を解決するための手段】
【００１１】
本開示の第１の態様によると、基材上にセキュリティ文書を印刷する方法であって、
文書と共に少なくとも１つの場所識別配列を印刷するステップと、
前記場所識別配列により特定される文書基材領域の画像から、前記文書基材領域における基材の固有の構造的特性を示すデータを生成するステップと、
前記生成された基材の固有の構造的特性を示すデータを符号化した符号化データを生成するステップと、
前記文書基材領域全体に前記符号化データを印刷することにより、セキュリティ文書を生成するステップとを有し、
前記場所識別配列は、更に、証明すべき文書の構造的特性を得る際の前記文書基材領域の特定、及び、前記証明すべき文書に符号化された符号化データを抽出する際の前記文書基材領域の特定に用いられる。
【００１２】
前記符号化データと認証すべき文書の前記文書基材領域の画像から得られるデータとを比較し、前記基材の真偽を示すのが好ましい。
【００１３】
本開示の第２の態様によると、第１の態様の方法によって基材上に印刷されたセキュリティ文書を認証する方法が提供される。方法は、
前記文書基材領域の画像を取得するために前記セキュリティ文書を走査するステップと、
前記文書基材領域を検出するステップと、
前記文書基材領域に符号化された符号化データを抽出及び復号化するステップと、
前記証明すべき文書の前記文書基材領域の画像データを取得するステップと、
前記復号化データから取得され、前記基材の固有の構造的特性と関連付けたデータを前記証明すべき文書の文書基材領域の画像データから取得される各データと比較するステップとを有する。
【００１４】
本開示の第３の態様によると、セキュリティ文書を基材上に印刷するシステムであって、
文書と共に少なくとも１つの場所識別配列を印刷するデバイスと、
前記場所識別配列により特定される文書基材領域の画像から、前記文書基材領域における基材の固有の構造的特性を示すデータを生成するデバイスと、
前記生成された基材の固有の構造的特性を示すデータを符号化した符号化データを生成するデバイスと、
前記文書基材領域全体に前記符号化データを印刷することにより、セキュリティ文書を生成するデバイスとを備え、
前記場所識別配列は、更に、証明すべき文書の構造的特性を得る際の前記文書基材領域の特定、及び、前記証明すべき文書に符号化された符号化データを抽出する際の前記文書基材領域の特定に用いられる。
【００１５】
本開示の第４の態様によると、本発明の第１の態様の方法によって基材上に印刷されたセキュリティ文書を認証するシステムが提供される。システムは、
前記文書基材領域の画像を取得するために前記セキュリティ文書を走査する走査デバイスと、
前記文書基材領域を検出し、
前記文書基材領域に符号化された符号化データを抽出及び復号化し、
前記証明すべき文書の前記文書基材領域の画像データを取得し、
前記復号化データから取得され、前記基材の固有の構造的特性と関連付けたデータを前記証明すべき文書の文書基材領域の画像データから取得される各データと比較する手段とを備える。
【００１６】
本発明の上述の４つの態様に関連するプログラム及びプログラム製品に関する本開示の他の態様が更に開示される。
【図面の簡単な説明】
【００１７】
【図１】説明される構成が実現される汎用コンピュータシステムを示す概略ブロック図である。
【図２】セキュリティ文書を基材上に生成する説明される方法に従って、保護文書の概略的な表現を示す図である。
【図３Ａ】バーコードの領域の構成を示す図である。
【図３Ｂ】バーコード領域内の符号化データの１つの特定の構成を示す図である。
【図４】バーコード要素（コーデル（codel））の座標を粗配置画像及び図２の保護文書の走査済画像にマッピングすることを示す図である。
【図５】本発明の第１の実施形態に従って保護文書を作成する方法を示すフローチャートである。
【図６】本発明の第１の実施形態に従って保護文書を認証する方法を示すフローチャートである。
【図７】中間文書を形成するために螺旋を作成し且つ埋め込む方法を示すフローチャートである。
【図８】ＬＲＨＦ（Logarithmic Radial Harmonic Function）の実数部を示す図である。
【図９】螺旋のビットマップを示す図である。
【図１０】バーコードに埋め込まれた螺旋の場所を示す図である。
【図１１】粗配置画像を作成し且つ特徴付ける方法を示すフローチャートである。
【図１２】粗配置アフィン変換を判定する方法を示すフローチャートである。
【図１３】数値のベクトルをバーコードに符号化する方法を示すフローチャートである。
【図１４】正方形に分割された境界を有するバーコードを示す図である。
【図１５】バーコードの境界コーデルにデータを格納する方法を示すフローチャートである。
【図１６】データをバーコードに符号化する方法を示すフローチャートである。
【図１７】バーコードに配置パターンを生成する方法を示すフローチャートである。
【図１８】バーコードの粗配置境界からソルトデータを抽出する方法を示すフローチャートである。
【図１９】バーコードの走査済画像に対する精細配置ワープマップを判定する方法を示すフローチャートである。
【図２０】基準画像を生成する方法を示すフローチャートである。
【図２１Ａ】基準画像の相関タイルを示す図である。
【図２１Ｂ】粗配置画像の相関タイルを示す図である。
【図２２】カラーチャネルに対する変位マップを生成する方法を示すフローチャートである。
【図２３】２つのオーバラップする相関タイルの一例を示す図である。
【図２４】相関タイルの高速フーリエ変換（ＦＦＴ）を判定する別の方法を示すフローチャートである。
【図２５】マッピングを補間する方法を示すフローチャートである。
【図２６】サブ画素の精度で相関画像中の最大ピークの場所を判定する方法を示すフローチャートである。
【図２７】図３に提示される種類のバーコードからデータを抽出し且つ抽出したデータを復号化する方法を示すフローチャートである。
【図２８】相関画像を生成する方法を示すフローチャートである。
【図２９】図２の保護文書の走査済画像から画素値を判定する方法を示すフローチャートである。
【図３０】本発明の第２の実施形態に従って「on」に設定されるバーコードコーデルに対応する埋め込みコーデルを示す図である。
【図３１】本発明の第２の実施形態に従って保護文書を認証する方法を示すフローチャートである。
【図３２】本発明の第２の実施形態に従って粗配置画像を特徴付ける方法を示すフローチャートである。
【図３３Ａ】本発明の第３の実施形態に従って保護文書を作成する方法を示すフローチャートである。
【図３３Ｂ】本発明の第３の実施形態に従って文書基材特性をバーコードに符号化する方法を示すフローチャートである。
【図３４】本発明の第３の実施形態に従って保護文書を認証する方法を示すフローチャートである。
【図３５】本発明の第３の実施形態に従ってタイル比較を行う方法を示すフローチャートである。
【図３６】バーコード領域及び周囲の境界領域を含み、探索画像により表される走査済画像中の領域を示す図である。
【図３７】探索画像中のタイルを示す図である。
【図３８】セキュリティ文書の少なくとも生成や認証を説明する方法で図３に示すバーコードと置換されても良いＱＲコードを示す図である。
【図３９】セキュリティ文書の少なくとも生成や認証を説明する方法で図３に示すバーコードと置換されても良いDataGlyphバーコードを示す図である。
【図４０】セキュリティ文書の少なくとも生成や認証を説明する方法で図３に示すバーコードと置換されても良いDataMatrixバーコードを示す図である。
【図４１】セキュリティ文書の少なくとも生成や認証を説明する方法で図３に示すバーコードと置換されても良いドットコードを示す図である。
【図４２】セキュリティ文書の少なくとも生成や認証を説明する方法で図３に示すバーコードと置換されても良い線形バーコードを示す図である。
【図４３】本発明の第４の実施形態に従って保護文書を作成する方法を示すフローチャートである。
【図４４】本発明の第４の実施形態に従って保護文書を認証する方法を示すフローチャートである。
【００１８】
次に、図面を参照して、本発明の１つ以上の実施形態を説明する。
【発明を実施するための形態】
【００１９】
［概要］
「背景技術」の節に含まれる説明及び従来の配列に関する説明は、各々の出版物及び／又は使用法を通じて周知の技術を形成する文献又は装置に言及する。しかし、そのような説明は、本発明の発明者又は特許出願人による表現と見なされるべきではなく、そのような文献又は装置は当該技術の一般常識の一部を何らかの形で形成する。
【００２０】
以下における用語「文書」は、カラー画像を示す。テキスト文書等は、以下に説明する方法に従って偽造保護される前にカラー画像に変換されても良い。
【００２１】
用語「保護文書」は、文書の自動認証を可能にする文書に追記される追加の特徴を含む文書（即ち、カラー文書）を示す。
【００２２】
文書が印刷される場合、文書の画素は文書基材上のインクの正方形として表される。一例として、文書基材は用紙であっても良い。各画素又はインクの正方形は、インクが存在しない部分又は異なる色のインクの組み合わせにより形成される。
【００２３】
［ハードウェア実装］
符号化マークの形式のデータを符号化及び復号化する以下に説明する方法は、図１に示すコンピュータシステム１００を使用して実現しても良い。ここで、各方法のステップは、コンピュータシステム１００内で実行可能な１つ以上のアプリケーションプログラムにより実現しても良い。特に、セキュリティ文書の少なくとも生成又は認証を説明する方法における種々のステップは、コンピュータシステム１００内で実行されるソフトウェア命令により行われる。命令は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして形成されても良い。ソフトウェアは２つの別個の部分に分割されても良い。第１の部分及び対応するコードモジュールは説明する方法を実行し、第２の部分及び対応するコードモジュールは第１の部分とユーザとの間のユーザインタフェースを管理する。ソフトウェアは、例えば以下に説明する記憶装置を含むコンピュータ読み取り可能な媒体に格納されても良い。ソフトウェアは、コンピュータ読み取り可能な媒体からコンピュータシステム１００にロードされ、コンピュータシステム１００により実行される。そのようなソフトウェア又はコンピュータプログラムを記録したコンピュータ読み取り可能な媒体は、コンピュータプログラム製品である。コンピュータシステム１００においてコンピュータプログラム製品を使用することにより、セキュリティ文書の少なくとも生成又は認証を以下に説明する有利な方法が実行されるのが好ましい。
【００２４】
図１に示すように、コンピュータシステム１００は、コンピュータモジュール１０１と、キーボード１０２及びマウスポインタデバイス１０３等の入力装置と、プリンタ１１５、表示装置１１４、スピーカ１１７及びスキャナ１１９を含む出力装置とにより形成される。外部変復調器（モデム）トランシーバ装置１１６は、接続１２１を介して通信ネットワーク１２０と通信するコンピュータモジュール１０１により使用されても良い。ネットワーク１２０は、インターネット又は専用ワイドエリアネットワーク（ＷＡＮ）等のＷＡＮであっても良い。接続１２１が電話回線である場合、モデム１１６は従来の「ダイヤルアップ」モデムであっても良い。或いは、接続１２１が大容量（例えば、ケーブル）接続である場合、モデム１１６はブロードバンドモデムであっても良い。無線モデムは、ネットワーク１２０に無線接続するために使用されても良い。
【００２５】
一般に、コンピュータモジュール１０１は、少なくとも１つのプロセッサユニット１０５と、例えば半導体ランダムアクセスメモリ（ＲＡＭ）及び読み出し専用メモリ（ＲＯＭ）から形成されるメモリユニット１０６とを含む。モジュール１０１は、ビデオ表示装置１１４及びスピーカ１１７に結合するオーディオビデオインタフェース１０７と、キーボード１０２及びマウス１０３及びオプションとしてジョイスティック（不図示）に対する入出力（Ｉ／Ｏ）インタフェース１１３と、外部モデム１１６及びプリンタ１１５に対するインタフェース１０８とを含む多くのＩ／Ｏインタフェースを更に含む。いくつかの実現例において、モデム１１６は、コンピュータモジュール１０１内、例えばインタフェース１０８内に内蔵されても良い。コンピュータモジュール１０１は、接続１２３を介してコンピュータシステム１００をローカルエリアネットワーク（ＬＡＮ）として周知のローカルコンピュータネットワーク１２２に結合することを可能にするローカルネットワークインタフェース１１１を更に有する。図示するように、ローカルネットワーク１２２は、一般に所謂「ファイアウォール」装置又は同様の機能性を含む接続１２４を介してワイドネットワーク１２０に更に結合しても良い。インタフェース１１１は、Ethernet（登録商標）回路カード、無線Bluetooth（登録商標）又はIEEE802.11無線構成により形成されても良い。
【００２６】
インタフェース１０８及び１１３は、直列接続性及び並列接続性の双方を提供でき、一般に直列接続性は、ユニバーサルシリアルバス（ＵＳＢ）規格に従って実現され、対応するＵＳＢコネクタ（不図示）を有する。記憶装置１０９が提供され、一般にハードディスクドライブ（ＨＤＤ）１１０を含む。フロッピー（登録商標）ディスクドライブ及び磁気テープ装置（不図示）等の他の装置が更に使用されても良い。一般に光ディスクドライブ１１２は、不揮発性データソースとして動作するために提供される。光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ）、ＵＳＢ−ＲＡＭ及びフロッピー（登録商標）ディスク等のポータブルメモリ素子は、例えばシステム１００に対する適切なデータソースとして使用されても良い。
【００２７】
一般にコンピュータモジュール１０１の構成要素１０５〜１１３は、当業者には周知のコンピュータシステム１００の従来の動作モードを結果として与える方法で、相互接続バス１０４を介して通信する。上述の構成が実現されるコンピュータの例として、ＩＢＭのＰＣ及びそれに互換性のあるもの、Sun SPARCstation、Apple Mac（登録商標）又はそれから進化した同様のコンピュータシステムがある。
【００２８】
通常、セキュリティ文書の少なくとも生成又は認証を説明する方法を実現するアプリケーションプログラムは、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により読み出され且つ制御される。ネットワーク１２０及び１２２から取り出されるプログラム及び任意のデータの中間記憶は、ハードディスクドライブ１１０と共に動作する可能性のある半導体メモリ１０６を使用して達成されても良い。いくつかの例において、アプリケーションプログラムは、１つ以上のＣＤ−ＲＯＭ上で符号化されてユーザに供給され、対応するドライブ１１２を介して読み出されても良い。或いは、アプリケーションプログラムは、ユーザによりネットワーク１２０又は１２２から読み出されても良い。更にソフトウェアは、他のコンピュータ読み取り可能な媒体からコンピュータシステム１００にロードできる。コンピュータにより読み取り可能な媒体は、少なくとも実行又は処理のために、少なくとも命令又はデータをコンピュータシステム１００に提供することに関係する任意の記録媒体を示す。そのような記録媒体の例としては、装置がコンピュータモジュール１０１の内部装置であるか、又は外部装置であるかに関わらず、フロッピー（登録商標）ディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ又は集積回路、光磁気ディスク、或いはＰＣＭＣＩＡカード等のコンピュータ読み取り可能なカード等がある。少なくとも命令又はデータの提供に関係しても良い、コンピュータ読み取り可能な伝送媒体の例としては、別のコンピュータ又はネットワーク化装置に対するネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットに加え、無線伝送チャネル又は赤外線伝送チャネルがある。
【００２９】
上述のアプリケーションプログラムの第２の部分及び対応するコードモジュールは、表示装置１１４上にレンダリングされるか又は表現される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するために実行されても良い。キーボード１０２及びマウス１０３を操作することにより、コンピュータシステム１００のユーザ及びアプリケーションはインタフェースを操作し、ＧＵＩと関連するアプリケーションに対して少なくとも制御コマンド又は入力を提供しても良い。
【００３０】
セキュリティ文書の少なくとも生成又は認証を説明する方法ステップは、グラフィックプロセッサ、デジタル信号プロセッサ、１つ以上のマイクロプロセッサ及び連想メモリを含む１つ以上の専用ハードウェアモジュールで実現されても良い。
【００３１】
［第１の実施形態］
［保護文書を構成する要素］
第１の実施形態において、文書基材の領域の画像を符号化するバーコードは文書に埋め込まれ、保護文書を形成する。以下に説明するように、黄色のインクは文書基材領域の濃淡強度画像に殆ど寄与しないため、バーコードは黄色で印刷される。
【００３２】
図２に、保護文書２００を示す。バーコードは、文書に埋め込まれる場合、画素の左上の角からの垂直方向のオフセット（Ｙoffset）、画素の左上の角からの水平方向のオフセット（Ｘoffset）、画素の領域の幅（Ｗbp）及び画素の領域の高さ（Ｈbp）により指定されるバーコード領域２０１を占有する。２０２は埋め込みバーコードである。本実施形態において、バーコードに符号化される画像は、バーコード領域と同一の寸法及びオフセットを有する文書基材の領域の画像である。従って、用語「文書基材領域」は「バーコード領域」と同義である。
【００３３】
埋め込みバーコード２０２は、まずバーコードを作成し、そのバーコードを文書に埋め込むことで生成される。これについては以下に詳細に説明する。バーコードは、幅（Ｗbb）［コーデル］及び高さ（Ｈbb）［コーデル］により指定される要素の２次元グリッドである（基本ビットマップバーコード要素を以下コーデルと呼ぶ）。バーコードは、印刷解像度（Ｒp）のファクターであるコーデル解像度（Ｒc）で生成される（即ち、Ｍが整数の場合にＲp／Ｒc＝Ｍである）。例えば、印刷解像度Ｒp＝600ドット／インチと仮定すると、有効なコーデル解像度はＲc＝150コーデル／インチである。
【００３４】
図３Ａに、バーコード３００を示す。バーコード３００は、粗配置境界３０１を含む。バーコードは、「Ｂ」として示す幅を有する。例えば、Ｂは３２に等しく、これは、バーコード３００がバーコード３００の全ての４辺上に３２コーデルを含む粗配置境界３０１を有することを意味する。
【００３５】
バーコード３００は、内部３０２を更に含む。バーコード３００の内部３０２は、境界３０１内に存在しないバーコード３００の全てのコーデルを含む。内部３０２において、図３Ｂに示すように、一部のコーデルは「配置コーデル」３０５として参照される。配置コーデル３０５及び境界コーデルは、バーコード上で精細配置を実行するために使用されても良い。これについては以下に詳細に説明する。
【００３６】
配置コーデル３０５は、行及び列の座標が３で割り切れるコーデルである。しかし、配置コーデル３０５は、任意の他の適切な配列で配列されても良い。
【００３７】
上述のように、バーコード３００の寸法は、コーデル数で表される幅（Ｗbb）及び高さ（Ｈbb）により指定されても良い。バーコードが十分なデータを符号化して文書基材領域の画像を表せることを保証するために、Ｗbb及びＨbbを計算する方法を以下に詳細に説明する。垂直方向のオフセット（Ｙoffset）及び水平方向のオフセット（Ｘoffset）は、領域が文書中の空白領域を占有するようにユーザにより指定されても良い。或いは、文書中の空の領域を選択する周知の機械による方法が使用されても良い。
【００３８】
文書又は画像又はバーコードビットマップの特定の画素又はコーデルを参照するために、座標系が導入される。画素又はコーデルは、座標の対（ｘ，ｙ）により表される。ここで、ｘは画素又はコーデルの列を指定し、ｙは画素又はコーデルの行を指定する。また、表記α（ｘ，ｙ）は、座標（ｘ，ｙ）における画素又はコーデルの値を参照するのに使用される。
【００３９】
［バーコードの寸法の計算］
文書基材領域の画像を符号化するバーコードの寸法は、必要とされるデータ容量に依存する。必要とされるデータ容量は、以下に詳細に説明する方法において使用されるパラメータの値から求められても良い。
【００４０】
本実施形態の場合、文書基材領域の画像は数値のベクトルにより特徴付けられる。ベクトルを格納するのに必要とされるビット数SizeＶは、以下の式を使用してベクトル中の要素数Ｎv及び各要素を格納するのに使用されるビット数Ｎbitsから求められる。
【００４１】
SizeＶ＝Ｎ v×Ｎbits
その後、数値のベクトルは直列化され、周知のＲＳＡ暗号化方法により暗号化されても良い。ＲＳＡ暗号化方法は、追加のＮrsaビットを必要としても良い。従って、結果として得られるバイナリデータのビット数は以下の式により求められても良い。
【００４２】
DataSizeunrounded＝Ｎrsa＋SizeＶ
その後、誤り訂正符号がバイナリデータに適用される。以下に詳細に示す誤り訂正符号は、バイナリデータを長さＫのブロックに分割する。バイナリデータの長さがＫの倍数でない場合、最終的なデータサイズDataSizeはDataSizeunroundedを次のＫの倍数に丸めることにより求められても良い。
【００４３】
DataSizeビットのデータを格納するのに必要とされるコーデル数NumCodelsは、以下の式から求められる。式中、「ceil」は天井関数である。
【００４４】
NumCodels＝ceil（９／８×DataSize）
コーデル数NumCodelsが求められると、バーコード内部３０２の高さＨbiは、まずバーコード内部の幅Ｗbiを選択することにより求められても良い。保護文書２００の走査済画像からバーコード３００の寸法を判定することを容易にするために、バーコード内部３０２の高さ（Ｈbi）及び幅（Ｗbi）の可能な値は、粗配置境界３０１の幅Ｂの倍数に制限されても良い。バーコード内部の幅ＷbiがＢの倍数として選択されると、バーコード内部の高さは以下の式により求められても良い。
【００４５】
Ｈbi＝round（NumCodels／Ｗbi）
バーコード３００の幅Ｗbb及びバーコードの高さＨbbは、以下の式により計算される：
Ｈbb＝Ｈbi＋２Ｂ
Ｗbb＝Ｗbi＋２Ｂ
ここで、バーコード領域の画素における幅Ｗbp及び高さＨbpは、以下の式により求められる。
【００４６】
Ｈbp＝（Ｒp／Ｒc）×Ｈbb
Ｗbp＝（Ｒp／Ｒc）×Ｗbb
［２段階配置］
保護文書２００を読み出す時にスキャナ１１９を使用して生成される保護文書２００の走査済画像中のコーデルの場所を判定することには問題がある。走査済画像中のコーデルの場所を判定する従来の方法の主な問題は、僅かに低い解像度以外の解像度でコーデルの場所を正確に判定できないことである。しかし、本明細書で説明する方法を使用すると、スキャナ１１９（例えば、標準的な市販のスキャナ）及びプリンタ１１５を使用して生成される保護文書２００の走査済画像中のコーデルの場所は、最大２００ｄｐｉの解像度で正確に判定される。この上限の解像度は、印刷及び走査処理の品質によるものであり、本明細書で説明する方法の本質的な制限ではない。プリンタ及びスキャナの品質は向上しているため、説明する方法を変更せずに使用することにより、更に高い解像度が可能となるだろう。
【００４７】
バーコードコーデル解像度（例えば、１５０コーデル／インチ）が走査解像度（例えば、６００ｄｐｉ）より低い可能性があるため、保護文書２００の走査済画像中のコーデルの場所の判定は問題である。これは、走査済画像のコーデルのサイズが４×４走査済画素であることを意味する。走査済画像のコーデルの中心の場所は、正確に判定されることが必要である。しかし、歪み及び反りにより、保護文書の走査済画像中のコーデルの場所は予想される場所からずれる可能性がある。
【００４８】
保護文書２００の走査済画像中のコーデルの場所は、「粗配置」及び「精細配置」を使用して判定されても良い。粗配置は、保護文書２００の走査済画像中のコーデルとコーデルの中心の座標との近似マッピングを表す。粗配置は、アフィン変換を使用しても良い。通常、走査済画像中のコーデルとコーデルの場所とのマッピングがアフィン変換より複雑であるため、粗配置はコーデルの場所を正確に表さない可能性がある。粗配置アフィン変換が見つけられると、走査済画像は変換され、元のアフィン変換の結果を取り消し、元の埋め込みバーコード２０２と略同一の画像を生成しても良い。この元の埋め込みバーコード２０２と略同一の画像は、粗配置画像として参照されても良い。
【００４９】
図４に、粗配置画像４０２及び走査済画像４０３を示す。粗配置アフィン変換４１１の表現を更に示す。粗配置アフィン変換４１１は、粗配置画像における座標を取得し、粗配置画像の座標を走査済画像の座標にマップする。
【００５０】
精細配置は、変位ベクトルの配列４１０を使用して、図４に示すようなバーコードコーデル４０１と粗配置画像４０２とのマッピングを判定するために使用されても良い。そのような変位ベクトルの配列は、「変位マップ」として参照されても良い。
【００５１】
変位マップ４１０及び粗配置アフィン変換４１１は、バーコード４０１から走査済画像４０３の座標へのマッピングを共に提供する。バーコード４０１中のコーデル４１５の座標を仮定すると、変位マップ４１０は粗配置画像４０２中のそのコーデルの中心の座標４１７を見つけるために使用されても良い。その座標は、粗配置アフィン変換４１１により変換され、走査済画像４０３中のコーデルの中心の座標４１９を結果として与えても良い。従って、変位マップ４１０及びアフィン変換４１１の合成の結果、コーデルの座標（例えば、座標４１５）から走査済画像の座標（例えば、座標４１９）へのマッピングが得られる。構成されたマッピングはワープマップと呼ばれる。ワープマップ４１２の表現を図４に更に示す。
【００５２】
［保護文書の作成及び認証］
保護文書を作成及び認証するのに必要な処理の概要を提示する。
【００５３】
まず、保護文書を作成する処理が考慮される。図５に、保護文書を作成する方法を示す。
【００５４】
方法５００は、初期ステップ５０１で開始する。次のステップ５０２は、螺旋を作成して文書に埋め込み、「中間文書」を形成する。埋め込み螺旋の主な機能は、検出されると文書基材領域の場所を示すことであるため、埋め込み螺旋は場所識別構成として処理される。このため、文書基材領域は螺旋に対して所定の空間配列に存在する。例えば、本明細書で後述されるいくつかの実施形態を参照して説明するように、螺旋は正方形、矩形等の所定の形状の用紙上に領域の輪郭を示すために使用されても良い。この領域は、文書基材領域を取り囲むように構成される。当然、螺旋は単に１つの可能な例であり、少なくとも他の場所識別マーク又は配列が使用できる。
【００５５】
次のステップ５０３は中間文書を印刷する。次のステップ５０４は５０３で印刷された中間文書を走査し、走査済画像を形成する。次のステップ５０５は、中間文書の走査済画像において螺旋の場所を特定することにより文書基材領域の場所を特定する。基材の１つ以上の固有の特性を示す螺旋により規定される基材領域の画像化からデータが取得される。そのような特性は、用紙の基材面又は本体の色又は構造に関連付けられ、用紙の「署名」として参照されても良い。ステップ５０５は、１つ以上のそのような特性を示す数値のベクトルを含む文書基材領域を特徴付ける。次のステップ５０６は、文書基材領域画像を特徴付ける数値のベクトルをバーコードに符号化し、そのバーコードを印刷する空白文書に埋め込む。次のステップ５０７は、文書基材領域にバーコードを重ね合わせることにより５０３で印刷された中間文書上に埋め込みバーコードを含む空白文書を印刷し、保護文書２００を形成する。方法５００は、終了ステップ５０８で終了する。
【００５６】
ここで、保護文書を認証するための処理を考慮する。図６に、保護文書を認証する方法を示す。
【００５７】
方法６００は、初期ステップ６０１で開始する。次のステップ６０２は、保護文書を走査することにより走査済画像を生成する。次のステップ６０３は、黄色フィルタを走査済画像に適用し、黄色チャネル強度画像を生成する。次のステップ６０４は、黄色チャネル強度画像の螺旋を検出し、粗配置アフィン変換を計算する。次のステップ６０５は、ソルトデータを抽出する。ソルトデータは、バーコードの粗配置境界に符号化された相対的に小さなデータである。ソルトデータは、バーコードバージョン等のメタデータを格納できる。次のステップ６０６は、精細配置ワープマップを判定する。次のステップ６０７は、バーコードからデータを抽出してバイナリデータを生成する。次のステップ６０８は、ステップ６０７で生成されたバイナリデータを非直列化して数値のベクトルを形成する。バイナリデータは、バイナリデータの最初のＮbitsをベクトルの第１の要素に割り当てることにより非直列化される。バイナリデータの次のＮbitsは、ベクトルの次の要素に割り当てられる。これは、ベクトルの全てのＮv個の要素が値を割り当てられるまで繰り返される。次のステップ６０９は、ステップ６０６において作成された粗配置画像を特徴付けることにより第２の数値のベクトルを形成する。この第２のベクトルに含まれるデータは、第１のベクトルのデータにより示される固有の特性のうち少なくとも１つを示す。例えば、この第２のベクトルは、用紙の表面又は本体の構造的特性を示す。２つのベクトルが用紙の同一領域の同一特性を含むため、次のステップ６１０で実行される２つのベクトル間の比較により基材の信憑性が示され、従って文書の信憑性が示される。２つのベクトルを比較する処理については、本明細書において更に詳細に説明する。方法６００は、終了ステップ６１１において終了する。
【００５８】
［螺旋の作成及び埋め込み］
ステップ５０２において実行されるように、バーコードの粗配置境界の中に螺旋を生成し、そのバーコードを文書に埋め込む方法７００を詳細に説明する。埋め込み螺旋を含む結果として得られる文書は、中間文書と呼ばれる。螺旋は、高さＨbb及び幅Ｗbbのバーコードを作成し、バーコードの適切な場所において螺旋を生成することにより埋め込まれる。バーコードが読み取られた時に螺旋が容易に検出されることを可能にする特有のプロパティを有するので、それらの螺旋はバーコードの中に生成される。
【００５９】
方法７００は、初期ステップ７０１で開始する。次のステップ７０２は、バーコードの中に６つの螺旋を作成する。次のステップ７０３は、螺旋に使用されないバーコード中の全てのコーデルを「オフ」に設定する。次のステップ７０４は、バーコードを文書に埋め込む。方法７００は、終了ステップ７０５において終了する。
【００６０】
［バーコードにおける螺旋の作成］
バーコードに使用される螺旋は、ＬＲＨＦ（Logarithmic Radial Harmonic Function）のビットマップバージョンである。数学的に、ＬＲＨＦは平面上に規定される複素数値関数である。ＬＲＨＦは尺度不変性及び回転不変性のプロパティを有する。これは、ＬＲＨＦが縮尺又は回転により変換された場合でも依然としてＬＲＨＦであることを意味する。図８に、ＬＲＨＦの実数部を示す。
【００６１】
ＬＲＨＦは、調整可能な３つのパラメータを有する。第１のパラメータは、ＬＲＨＦの周波数がπラジアン／画素より大きくなる半径であるナイキスト半径Ｒである。第２のパラメータは、原点を中心とする円により渦状腕が成す角度であるねじれ角σである。第３のパラメータは、位相オフセットφである。関数に対する式は、極座標（ｒ，θ）で最も容易に表される。
【００６２】
【数１】
0004721469.tif 000002
【００６３】
式中、ｍ及びｎの値は以下により与えられる。
【００６４】
【数２】
0004721469.tif 000003
【００６５】
ステップ７０２において実行されるように、バーコードにおいて６つの螺旋を生成する方法を説明する。螺旋は、バーコードの粗配置境界に配置される。各螺旋は、ナイキスト半径Ｒ、ねじれ角σ及び位相オフセットφを含むＬＲＨＦをサンプリングする螺旋ビットマップを生成することにより生成される。螺旋ビットマップは、Ｂ画素に等しい高さ及び幅を有する。
【００６６】
図９に、螺旋ビットマップ９００を示す。次に螺旋ビットマップ９００の極座標について説明する。螺旋ビットマップ９００の座標系の原点９０３は、螺旋ビットマップ９００の中心を示す。螺旋ビットマップ９００の１つの点の半径ｒ９０１は、その点から原点９０３までの距離であり、画素数で測定される。螺旋ビットマップ９００の１つの点の角度θ９０２は、原点９０３からその点までの射線の角度である。半径ｒ及び角度θのこの定義に従って、座標（ｒ，θ）を含む螺旋ビットマップの１つの画素の値は以下の式（３）に従って判定されても良い。
【００６７】
【数３】
0004721469.tif 000004
【００６８】
図９に示す螺旋ビットマップ９００において、陰影が付けられた正方形の画素値は１である。陰影が付けられていない正方形の画素値はゼロ（０）である。
【００６９】
螺旋ビットマップ９００が生成されると、螺旋ビットマップ９００により表される螺旋はバーコード３００のコーデルに埋め込まれても良い。ゼロ（０）に等しい螺旋ビットマップ９００の画素は、対応するコーデルの状態を「オフ」に設定することによりバーコード３００に符号化される。１に等しい螺旋ビットマップ９００の画素は、対応するコーデルの状態を「オン」に設定することによりバーコード３００に符号化される。
【００７０】
図１０に示すように、６つの螺旋１００１、１００２、１００３、１００４、１００５、１００６は、バーコード３００の粗配置境界３０１に配置されても良い。それらの螺旋１００１、１００２、１００３、１００４、１００５、１００６の各々の幅及び高さは、それぞれＢコーデルである。上述のように、Ｂは３２に等しく、これは、各螺旋の幅及び高さがそれぞれ３２コーデルであることを意味する。バーコード３００に配置される螺旋のうち、５つの螺旋（即ち、図１０に示すように、螺旋１００１、１００３、１００４、１００５、１００６）は位相に対して同一の値（即ち、φ＝０）を有し、残りの螺旋（即ち、螺旋１００２）は逆位相（即ち、φ＝π）を有する。次に、バーコード３００の粗配置境界３０１に配置される６つの螺旋１００１、１００２、１００３、１００４、１００５及び１００６の場所について図１０を参照して説明する。
【００７１】
図１０に示すように、位相φ＝０である５つの螺旋（即ち、図１０に示すように、螺旋１００１、１００３、１００４、１００５、１００６）のうち、４つの螺旋１００１、１００３、１００４、１００６は、バーコード３００の４つの角に位置付けられる。φ＝０である他の螺旋１００５は、バーコード３００の右下の角の螺旋１００４のすぐ左側に位置付けられる。逆位相φ＝πである螺旋１００２は、バーコードの左上の角の螺旋のすぐ右側に位置付けられる。
【００７２】
［文書へのバーコードの埋め込み］
ステップ７０４において実行されるように、Ｘoffset及びＹoffsetにより指定されるバーコード領域において文書にバーコードを埋め込む方法を詳細に説明する。
【００７３】
埋め込まれるバーコードは、文書の印刷解像度（Ｒp）より小さくても良いコーデル解像度（Ｒc）を有する。従って、倍率ＳＦは以下の式から計算されても良い。
【００７４】
ＳＦ＝Ｒp／Ｒc
コーデル解像度がそのように制限されるため、倍率ＳＦは常に整数である。
【００７５】
文書中の各画素（ｘd，ｙd）は、以下の式を適用することによりバーコード中の対応するコーデル（ｘb，ｙb）に参照されても良い。
【００７６】
ｘb＝floor（（ｘd−Ｘoffset）／ＳＦ）
ｙb＝floor（（ｙd−Ｙoffset）／ＳＦ）
バーコード領域中の各画素（ｘd，ｙd）は、その対応するコーデル（ｘb，ｙb）が「オン」である場合には「黄色」に設定される。
【００７７】
［文書基材領域画像の発見及び特徴付け］
次に、ステップ５０５において実行されるように、画像中の螺旋を検出し、領域の画像を特徴付けることにより走査済画像の文書基材領域の場所を特定する方法１００について図１１を参照して更に詳細に考慮する。
【００７８】
方法１１００は、初期ステップ１１０１で開始する。次のステップ１１０２は、走査済中間画像に黄色フィルタを適用して黄色チャネル強度画像を作成する。次のステップ１１０３は、作成された黄色チャネル強度画像において螺旋を検出し、その場所を特定する。次のステップ１１０４は、逆粗配置アフィン変換を使用して粗配置画像を作成する。次のステップ１１０５は、粗配置画像を特徴付ける数値のベクトルを形成する。尚、粗配置画像は、走査済画像における文書基材領域の画像でもある。方法１１００は、終了ステップ１１０６において終了する。
【００７９】
［黄色フィルタの適用］
ステップ１１０２及び６０３において実行されるように、走査済画像において黄色フィルタを適用することにより黄色チャネル強度画像を作成する方法を詳細に説明する。一般に、走査済画像は赤色、緑色及び青色の３つのカラーチャネルから構成される。しかし、強度画像は、１つのカラーチャネルからのみ構成される。
【００８０】
黄色チャネル強度画像は、まず走査済画像と同一の幅及び高さを持つが、１つのカラーチャネルのみを持つ画像を作成することにより形成される。
【００８１】
黄色の画像は、青色チャネルの反転で最大のコントラストを有する。従って、新しい画像において（ｘ，ｙ）の画素の値α（ｘ，ｙ）は、走査済画像の同一の座標における画素の青色値blue（ｘ，ｙ）を１から減算した値に設定される。ここで、画素値の範囲は０〜１である。
【００８２】
［螺旋の検出］
以下の説明は、黄色の画像又は濃淡画像を参照する。
【００８３】
次に、ステップ１１０３及び６０４において実行されるように、強度画像を検査して螺旋の場所を検出し、螺旋の場所を使用して粗配置アフィン変換を計算する方法１２００について図１２を参照して更に詳細に説明する。螺旋の場所の検出は、螺旋テンプレート画像と強度画像との相関を実行することにより達成される。
【００８４】
方法１２００は、初期ステップ１２０１で開始する。相関を使用して螺旋を検出するために、螺旋テンプレート画像がまず生成される必要がある。次のステップ１２０２は、この螺旋テンプレート画像を作成する。螺旋テンプレート画像の生成は、螺旋テンプレート画像が複素数値の画像であり、そのサイズが螺旋ビットマップより大きいこと以外はステップ１２０３における螺旋ビットマップの生成と同様である。螺旋テンプレート画像の各画素値は、倍精度浮動小数点数の対で格納され、画素値の実数部及び虚数部を表す。螺旋テンプレート画像は、Ｔｓに等しい高さ及び幅であるテンプレートサイズを有する。テンプレートサイズＴｓは変更可能であり、本実施形態においてはＴｓ＝２５６とする。
【００８５】
螺旋テンプレートの極座標（ｒ，θ）は、テンプレートの中心に原点を有するものとして規定される。螺旋テンプレート画像の極座標（ｒ，θ）における画素値は、以下の通りである。
【００８６】
【数４】
0004721469.tif 000005
【００８７】
式中、ｍ及びｎは（２）により規定され、ナイキスト半径Ｒ及びねじれ角σは螺旋の作成時と同一である。
【００８８】
次のステップ１２０３は相関を実行する。２つの画像Ｉ1及びＩ2の相関は、以下により規定される画像Ｉxである：
【００８９】
【数５】
0004721469.tif 000006
【００９０】
合計は、Ｉ1が規定される全てのｘ’及びｙ’にわたる範囲であり、画像Ｉ2において、画像外の画素値はゼロであると考えられる。Ｉ1又はＩ2が複素数値の画像である場合、Ｉxも複素数値の画像であっても良い。
【００９１】
ステップ１２０３は、強度画像と複素螺旋テンプレート画像との相関を実行する。結果として得られる相関画像は、走査済画像の螺旋の場所において、ピーク、即ち隣接画素に対して大きな絶対値を有する画素を含む必要がある。ピークの画素値の位相は、粗配置境界に埋め込まれた螺旋の位相φに関連付けられる。φ＝０で生成された５つの螺旋は同様の位相のピークを有し、φ＝πで生成された１つの螺旋は他の５つの螺旋のピークに対して逆位相のピークを有する。
【００９２】
尚、走査済画像が印刷解像度Ｒp又はバーコードコーデル解像度Ｒcと異なる解像度である場合でも、基礎となるＬＲＨＦが尺度不変性であるため、螺旋は依然として検出される。
【００９３】
次のステップ１２０４は、ステップ１２０３から結果として得られる相関画像を検査し、バーコードと一致するレイアウトで配列される６つのピークの場所を特定する。これを効率的に行うために、コーデル解像度Ｒc及び走査解像度Ｒsを認識する必要がある。それらの解像度の何れかが認識されず、それらの値に対して少数の候補しか存在しない場合、６つのピークの場所は可能な解像度の各々を試行し、選択された解像度と一致するレイアウトを有する６つのピークを検索することにより特定される。
【００９４】
バーコードのレイアウトと一致する６つのピークを検索する方法は多く存在する。１つの配列において、以下の方法が使用される。第１に、相関画像が探索されて、バーコード領域の右下の角の螺旋の対、即ち図１０の螺旋１００４及び１００５を見つける。これらの螺旋は、約Ｂ×Ｒs／Ｒcだけ離れて（走査済画像において画素数で測定される）位置し、略同一の位相を有するピークの対に対応する必要がある。２つのピークの強度画像の座標をｑ４及びｑ５（任意の順序）により示す。第２に、相関画像が探索されて、バーコード領域の左上の角の螺旋の対、即ち螺旋１００１及び１００２を見つける。これらの螺旋は、約Ｂ×Ｒs／Ｒbだけ離れて（強度画像において画素数で測定される）位置するピークの対に対応し、一方のピークは事前に見つけられたｑ４及びｑ５のピークと略同一の位相を有し、他方のピークは略逆位相を有する。事前に見つけられたｑ４及びｑ５のピークと略同一の位相を有するピークの走査済画像における座標をｑ１により示し、略逆位相を有するピークの強度画像における座標をｑ２により示す。更に、ｑ４がｑ５よりｑ１に近接する場合、ｑ４とｑ５とを入れ替える。
【００９５】
次に、右上の螺旋（１００３）及び左下の螺旋（１００６）の場所が推定され、正確な位相を有するピークがそこで見つけられるかを確認するために相関画像は探索される。そのようなピークが見つけられる場合、一致するレイアウトを有するバーコードが見つけられた。右上の螺旋１００３の予想される座標をｑ'３で示す。ｑ'３の値は、ｑ１びｑ２を結合する線上にｑ４を投影することにより与えられる。同様に、左下の螺旋１００６の予想される座標をｑ'６で示す。ｑ'６の値は、ｑ４及びｑ５を結合する線上にｑ１を投影することにより与えられる。相関画像において、それぞれｑ'３及びｑ'６に近接するピーク及びｑ６を探索する。
【００９６】
ピークが略正当な距離だけ離れているか又は２つのピークが略同一の位相（又は逆位相）を有するかを判定するために、上述の処理において、いくつかの許容パラメータを使用する必要があるだろう。本実施形態において、以下の許容差が使用される。２つのピークは、それらの間の実際の距離が正確な距離の５％以内である場合に略正確な距離だけ離れていると考えられる。ピークｑ４及びｑ５は、それらの位相がお互いのπ／３以内である場合に同一の位相であると考えられる。ピークｑ１及びｑ２は、一方の位相が他方の位相のπ／３＋π以内である場合に逆位相であると考えられる。角度ｑ'３ｑ１ｑ３及びｑ'６ｑ４ｑ６がそれぞれ５°より小さく、角度ｑ１ｑ３ｑ４及びｑ４ｑ６ｑ１がそれぞれ９０°の５°以内である場合に、ピークｑ３及びｑ６はｑ'３及びｑ'６に近接すると考えられる。
【００９７】
同一の位相又は逆位相を有するピークを探索した時に２つ以上のピークの対が見つけられる可能性がある。その場合、正確な組合せを見つけるために全ての異なる組合せが試行される。
【００９８】
次のステップ１２０５は、バーコードの寸法を判定し、粗配置アフィン変換を作成する。
【００９９】
バーコードの寸法は、強度画像においてそれら３つのピークの位置を検査することにより判定される。バーコードの幅は、以下のように計算される。第１に、左上の螺旋（１００１）及び右上の螺旋（１００３）に対応するピーク間の距離を計算する。この距離は、|q1 - q3|で示される。この距離は、Ｒc／Ｒsを乗算することによりスキャナ解像度画素からバーコードコーデル解像度に変換される。保護文書の画素数で測定される距離をＷcとすると、以下の式が得られる：
【０１００】
【数６】
0004721469.tif 000007
【０１０１】
Ｗcは、元のバーコードの２つの螺旋１００１及び１００３の中心間の大よその距離であり、これは（バーコードの幅）−（左上の螺旋の幅／２）−（右上の螺旋の幅／２）である。螺旋の幅が境界の幅Ｂであるため、バーコードの幅Ｗは約Ｗc＋Ｂとなる。バーコードの幅及び高さが共にＢの倍数であることが事前に分かっているため、Ｗの厳密な値を判定するために、Ｗc＋Ｂの値はＢの最も近い倍数に丸められる。
【０１０２】
同様に、バーコードの高さＨは、以下の式の値をＢの最も近い倍数に丸めることにより判定される。
【０１０３】
【数７】
0004721469.tif 000008
【０１０４】
粗配置アフィン変換は、行列Ａ及びベクトルａにより指定される。粗配置アフィン変換は、３つの螺旋１００１、１００３、１０６の中心を強度画像の３つのピークｑ１、ｑ３、ｑ６の位置にするアフィン変換を計算することにより判定される。行列Ａの要素が以下の式（８）により示される場合、行列Ａは式（９）及び（１０）を介して計算される。
【０１０５】
【数８】
0004721469.tif 000009
【０１０６】
ベクトルａは、以下の式を介して計算される。
【０１０７】
【数９】
0004721469.tif 000010
【０１０８】
次のステップ１２０６は、この処理の実行を終了する。
【０１０９】
［粗配置画像の作成］
次に、ステップ１１０４及び１９０２において実行されるように、走査済画像から粗配置画像を作成する方法を詳細に説明する。粗配置画像は、所定の粗配置アフィン変換（行列Ａ及びベクトルａにより指定される）を使用して走査済画像から作成される。粗配置画像の寸法は、バーコードの寸法と同一である。
【０１１０】
粗配置画像は、多くの異なる方法を使用して生成できる。１つの方法において、粗配置画像の各画素は以下のように生成される。粗配置画像における座標（ｘ，ｙ）は、粗配置アフィン変換を使用して変換され、結果として走査済画像における座標Ａ（ｘ，ｙ）Ｔ＋ａが得られる。走査済画像は、双３次補間を使用してその座標において補間され、結果として画素値が得られる。結果として得られる値は、粗配置画像に格納される。この処理は、粗配置画像の各画素に対して繰り返される。
【０１１１】
別の方法において、まず、走査済画像は低域フィルタによりぼかされる。これにより、高解像度の走査済画像が変換されて低解像度の粗配置画像を生成する時に与えられる画像のギザギザ（エイリアシング）の影響が低減される。低域フィルタを設計する方法は、当該技術において周知である。フィルタの選択は、走査済画像の解像度とバーコードコーデルの解像度との比率により通知される。
【０１１２】
［粗配置画像の特徴付け］
粗配置画像が文書基材領域の画像であることが重要である。従って、粗配置画像を特徴付けることにより、文書基材領域の画像も特徴付けられる。粗配置画像は、完全な画像表現より非常に少ない記憶容量を必要とする表現により特徴付けられるため、その特徴付けは、文書基材領域と同一の空間領域を占有するバーコードに符号化及び配列されても良い。
【０１１３】
次に、ステップ１１０５において実行されるように、数値のベクトルを含む粗配置画像を特徴付ける方法を詳細に説明する。
【０１１４】
この方法に入力される粗配置画像は、文書基材領域のカラー画像である。文書基材領域の特徴付けを簡単にするために、粗配置画像は濃淡強度画像に変換される。
【０１１５】
主成分分析（ＰＣＡ）は、濃淡強度画像に対して実行され、Ｎv個の数値のベクトルＶを生成する。ＰＣＡは、最上位成分により画像を特徴付ける周知の方法である。
【０１１６】
この実施形態では、濃淡強度画像は、Ｎv個の直交基底ベクトル上に投影される。基底ベクトルの集合は、文書基材領域画像の大きなデータセットの最も重要な成分を見つけることにより事前に選択されても良い。ベクトルＶは、濃淡強度画像がＮv個の基底ベクトルの各々に投影される時に残差を見つけることにより形成される。
【０１１７】
数値のベクトルＶの各要素は、サイズがＮbitsの浮動小数点数として格納されても良い。
【０１１８】
［文書基材領域画像の符号化］
次に、ステップ５０６において実行されるように、文書基材領域の画像の特性を符号化する方法１３００について図１３を参照して更に詳細に考慮する。
【０１１９】
方法１３００は、初期ステップ１３０１で開始する。次のステップ１３０２は、新しいバーコード及び空白文書を作成する。作成された新しいバーコードは、幅Ｗbb及び高さＨbbを有する。空白文書は、解像度Ｒpのカラー画像である。最初、空白文書は空である。次のステップ１３０３は、バーコードの粗配置境界を作成する。次のステップ１３０４は、文書基材領域の画像を特徴付ける数値のベクトルＶを直列化する。結果として得られるバイナリデータは、ステップ１３０５においてバーコードに符号化及び配列される。次のステップ１３０６は、バーコード内部３０２において配置パターンを作成する。次のステップ１３０７は、印刷の準備として空白文書にバーコードを埋め込む。方法１３００は、終了ステップ１３０８において終了する。
【０１２０】
［粗配置境界の作成］
これらのステップは、バーコードの境界に少量のデータを格納することに関係がある。この少量のデータは、ソルトデータとして周知である。ソルトデータは、バーコードバージョン等のメタデータを格納できる。
【０１２１】
ソルトデータを格納し、読み出す目的で、バーコードの境界は、図１４に示すように、正方形に分割される。粗配置境界３０１はＢと等しい幅を有し、バーコードはＢの倍数である高さ及び幅を有する。従って、バーコードはＢ／２の幅及び高さの正方形に等分される。これらの正方形はソルト正方形と呼ばれる。
【０１２２】
螺旋が配列されても良い粗配置境界の角のコーデルは、更なる考慮の対象から外され、ソルト正方形と考えられない。図１４の正方形１４０２は、そのような正方形の１つである。残りの正方形１４０１の各々は、１ビットのソルトデータを格納するために使用される。
【０１２３】
ソルトデータを格納し、読み出す目的で、２つの擬似ランダム配列ａ0及びａ1が使用される。バーコードコーデル座標の各対（ｘ，ｙ）におけるａ0及びａ1の双方が０又は１である値ａi（ｘ，ｙ）を含む。ａiが擬似ランダムであるため、値ａi（ｘ，ｙ）は、所定のｘ及びｙであるがランダムであると考えられる。ａ０及びａ１を生成するために使用される擬似乱数生成アルゴリズムは多く存在する。本実施形態において、ａ0及びａ1は、周知のシードで初期化されるＲＣ４アルゴリズムを使用して生成される。
【０１２４】
次に、ステップ１３０３において実行されるように、符号化されるソルトデータに従ってバーコード画像の粗配置境界のコーデルに値を割り当てる方法１５００について図１５を参照して更に詳細に説明する。バーコードの寸法を仮定すると、符号化されるソルトデータのビット数は、粗配置境界に適合するソルト正方形の数と等しい。従って、異なる寸法のバーコードは異なる量のソルトデータを格納できる。
【０１２５】
方法１５００は、初期ステップ１５０１で開始する。次のステップ１５０２は、所定の順序でソルト正方形にわたり繰り返される。本実施形態においては、走査線の順序で繰り返される。即ち、１５０２の最初の実行時には、１番上の行のソルト正方形のうち最も左側のソルト正方形が選択される。１５０２の後続する実行時には、一番上の行の後続するソルト正方形が選択され、その後、後続する行のソルト正方形が行毎に選択される。尚、いくつかの行において、ソルト正方形は全てが隣接するわけではない。
【０１２６】
次のステップ１５０３は、現在選択されているソルト正方形の画素の値を設定する。これがステップ１５０３により処理されるｎ番目のソルト正方形であるようにｎを規定し、ｉをソルトデータのｎ番目のビットの値とする。ステップ１５０３は、選択されるソルト正方形の画素の値をａｉの対応する値に割り当てる。即ち、選択されるソルト正方形における全ての（ｘ，ｙ）に対して以下の式が成立する。
【０１２７】
ａ（ｘ，ｙ）＝ａｉ（ｘ，ｙ）
式中、ｉはソルトデータのｎ番目のビットである。
【０１２８】
次のステップ１５０４は、更にソルト正方形が存在するかを検査する。存在する場合、１５０２に進み、ループを継続する。ソルト正方形がそれ以上存在しない場合、次のステップ１５０５に進む。
【０１２９】
次のステップ１５０６は、方法１５００を終了する。
【０１３０】
［データの符号化及び配列］
上述のように、方法１３００のステップ１３０５において、プロセッサ１０５は直列化データにアクセスし、そのデータをバーコードに符号化及び配列する。
【０１３１】
データは、データがバーコードに格納される前にランダムに見えることを保証するために前処理されても良い。データは、追加のＮrsaビットをデータに追加しても良いＲＳＡ暗号化等の公開鍵方法でデータを暗号化することにより前処理されても良い。更にデータは、データの圧縮により又は誤り訂正符号の追加により前処理されても良い。
【０１３２】
誤り訂正符号化は前処理されたデータに適用されても良いため、保護文書２００の印刷及び走査における不具合により、バーコードに格納されたデータは破損されない。この例において、低密度パリティチェック（ＬＤＰＣ）符号化は、誤り訂正符号化を前処理データに適用するために使用されても良い。或いは、他の誤り訂正符号化方法が前処理データに適用されても良い。例えば、リードソロモン（ＲＳ）符号化又はターボ符号が前処理データに適用されても良い。
【０１３３】
低密度パリティチェック（ＬＤＰＣ）符号化はブロック符号化方式である。この方式において、前処理データは、まず長さＫビットのブロックに分割され、各ブロックは符号化されて長さＮビットの符号化ブロックを生成する。尚、Ｎ及びＫは使用中の特定のＬＤＰＣ符号のパラメータである。前処理データの長さがＫビットの倍数でない場合、前処理データは、長さをＫビットの倍数にするために任意のデータを埋め込まれても良い。
【０１３４】
次に、ステップ１３０５において実行されるように、データを符号化し、符号化データをバーコード３００に配列する方法１６００について図１６を参照して説明する。
【０１３５】
方法１６００は、バーコード３００に格納されるデータにアクセスし、コーデルをバーコード３００に符号化する。例えばデータは、メモリ１０６からアクセスされても良い。方法１６００はステップ１６０２で開始し、プロセッサ１０５はデータのブロックにわたり繰り返す。ステップ１６０２の最初の実行時には、データの最初のＫビットが処理するために選択される。ステップ１６０２の後続する実行時には、データの次のＫビットが選択される。
【０１３６】
次のステップ１６０３において、プロセッサ１０５は、ステップ１６０２で選択されたＫビットのデータの誤り訂正符号化を実行する。ステップ１６０３は、Ｎビットの符号化データを生成する。その後、次のステップ１６０４において、プロセッサ１０５は、Ｎビットの符号化データをバーコード３００のコーデル（例えば、３０１）に格納する。符号化データの各ビットは、バーコード３００の１つのデータコーデルに格納される。ステップ１６０４において、Ｎビットの符号化データはバーコード３００のデータコーデルにマップされる。
【０１３７】
マッピング関数ψは、順序付けの概念に基づいて符号化データビットをデータコーデルにマップするように規定されても良い。符号化データビットの順序付けは、「ビット毎の順序」と呼ばれても良い。ビット毎の順序付けにおいて、全てのブロックの全ての第１のビットは全てのブロックの全ての第２のビットより前にあり、全ての第２のビットは全てのブロックの全ての第３のビットより前にある。それらのブロックの同一の位置にある全ての符号化データビット内で、第１のブロックのビットは第２のブロックのビットより前にあり、第２のブロックのビットは第３のブロックのビットより前にある。これにより、符号化データビットを考慮する順序が規定される。
【０１３８】
バーコード３００のデータコーデルの１つの可能な順序は、「走査線順」と呼ばれる。走査線順序付けにおいて、１番上の行のコーデルは２番目の行のコーデルより前にあり、２番目の行のコーデルは３番目の行のコーデルより前にある。各行内において、データコーデルは左から右に順序付けられる。これにより、データコーデルを考慮する順序が規定される。
【０１３９】
符号化データビットとデータコーデルとのマッピングψにおいて、第１のデータビット（即ち、ビット毎の順序付けを使用する）は、第１のデータコーデル（即ち、走査線順序付けを使用する）にマップされる。第２のデータビットは第２のデータコーデルにマップされる。各符号化ビットの値は、符号化ビットがψの下でマップされるコーデルに格納されても良い。
【０１４０】
Ｎ個の符号化データビットの現在のブロックにおける各ビットに対する符号化データがバーコード３００のデータコーデルに格納されると、次のステップ１６０５において、処理されるデータのブロックが更に存在するとプロセッサ１０５が判定した場合、方法１６０５はステップ１６０２に戻る。存在しない場合、方法１６００は終了する。
【０１４１】
いくつかのデータコーデルは、符号化データビットによりマップされていない可能性がある。それらのデータコーデルは、値を割り当てられていない。バーコード３００中の全てのデータコーデルが値を割り当てられたことを保証するために、値はマップされなかったそれらのデータコーデルに無作為に割り当てられても良い。例えば、ランダム配列ａ0の値がマップされなかったデータコーデルに割り当てられても良い。
【０１４２】
［配置パターンの作成］
次に、ステップ１３０６において実行されるように、バーコード３００の配置コーデル（例えば、３０５）において配置パターンを生成する方法１７００について図１７を参照して更に詳細に説明する。
【０１４３】
方法１７００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。方法１７００は１つのステップ１７０２を含み、プロセッサ１０５は配置パターンをバーコード３００のデータコーデル（例えば、３０３）に符号化する。使用される配置パターンは、ビットの擬似ランダム（即ち、ノイズ）配列として表されても良い。例えば、上述のビットの擬似ランダム配列ａ0はステップ１４０１において使用されても良い。ステップ１７０２において、プロセッサ１０５は、バーコード３００の各配置コーデル（ｘ、ｙ）（例えば、３０５）の値をａ０（ｘ、ｙ）に設定する。
【０１４４】
［ソルトデータの抽出］
次に、ステップ６０５において実行されるように、バーコード３００の粗配置境界３０１からソルトデータを抽出する方法１８００について図１８を参照して説明する。方法１８００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０１４５】
方法１８００において、プロセッサ１０５は、ステップ６０４で判定された粗配置アフィン変換及び保護文書２００の走査済画像を使用して、バーコード３００の粗配置境界３０１からソルトデータを抽出する。
【０１４６】
方法１８００はステップ１８０２で開始し、プロセッサ１０５はバーコード３００のソルト正方形（例えば、１４０１）にわたり繰り返す。例えばプロセッサ１０５は、上述のステップ１５０２において使用される同一の所定の順序でソルト正方形にわたり繰り返しても良い。方法１８００の後続するステップ１８０３〜１８０６は、擬似ランダム配列ａ0及びａ1により表される２つのソルトパターンのうち、選択したソルト正方形１４０１において発生するソルトパターンを判定する。これは、双方のソルトパターンと選択したソルト正方形とを互いに関係付け、より大きな結果を与えるソルトパターンを判定することにより達成されても良い。選択されたソルト正方形と相関関連にあるソルトパターンを認識することにより、選択されたソルト正方形に符号化されるデータビットの値が判定される。
【０１４７】
ステップ１８０３において、現在選択されているソルト正方形の赤色チャネルの粗配置画像がプロセッサ１０５により生成される。非整数の座標において粗配置画像に対する値を判定するために、粗配置画像は走査済画像を補間することによって生成されても良い。走査済画像は、双３次補間を使用して補間されても良い。走査済画像座標系の座標（ｘ、ｙ）における走査済画像から補間されるＲＧＢ値のベクトルは、ｓ（ｘ、ｙ）で示されても良い。
【０１４８】
現在選択されているソルト正方形の赤色チャネルの粗配置画像は、Ｕsで示されても良い。画像Ｕsは、境界の幅の１／２（即ち、Ｂ／２）と等しい高さ及び幅を有する。一例として、現在選択されているソルト正方形が座標（ｘs、ｙs）に左上のコーデルを有する場合、Ｕs中の画素は、ｘsと（ｘs＋Ｂ／２−１）間のｘ座標及びｙsと（ｙs＋Ｂ／２−１）間のｙ座標を有するコーデルに対応する。Usのｘ座標及びｙ座標の範囲が０〜Ｂ／２−１である場合、画像Ｕsは以下の式（１２）に従って生成されても良い。
【０１４９】
【数１０】
0004721469.tif 000011
【０１５０】
即ち、コーデルの座標は粗配置アフィン変換を使用して変換され、結果として走査済画像の座標を与える。走査済画像はその座標において補間されてもよく、赤色成分は粗配置画像Usに符号化されても良い。
【０１５１】
ステップ１８０３において、２つの画像U0及びU1が更に生成されても良い。画像Ｕ0及びＵ1は、配列ａ0及びａ1により表されるような予想されるソルトパターンを含む。画像Ｕ0及びＵ1は以下のように生成されても良い。
【０１５２】
【数１１】
0004721469.tif 000012
【０１５３】
方法１８００は次のステップ１８０４に継続し、プロセッサ１０５は２つの循環相関を実行する。以下の式（１４）に従って、同一の寸法を有する２つの画像Ｉ1及びＩ2の循環相関により、同一の寸法を有する第３の画像Ｉxが生成される。
【０１５４】
【数１２】
0004721469.tif 000013
【０１５５】
式（１４）の合計の範囲は、Ｉ1が規定される全てのｘ'及びｙ'にわたり、画像Ｉ2において、画像Ｉx外の画素の値は、Ｉ2が周期的であると考えることにより取得されても良い。
【０１５６】
２つの循環相関は、式（１４）に従ってステップ１８０４において実行される。それらの循環相関のうち第１の相関はＵsとＵ0との相関であり、結果として相関画像Ｕx0が得られる。第２の相関はＵsとＵ1との相関であり、結果として相関画像Ｕx1が得られる。
【０１５７】
次のステップ１８０５において、プロセッサ１０５は、相関画像Ｕx0及びＵx1中の最大値を判定する。その後、次のステップ１８０６において、プロセッサ１０５はステップ１８０５で判定された最大値を使用してソルトデータを含むバッファにソルトビットを格納する。画像Ｕx0の最大値が画像Ｕx1の最大値より大きい場合、バッファに格納されるソルトビットはゼロ（０）である。それ以外の場合、画像Ｕx1の最大値が画像Ｕx0の最大値より大きく、バッファに格納されるソルトビットは１である。ソルトデータを含むバッファは、メモリ１０６内に構成されても良い。次のステップ１８０７において、処理されるソルト正方形が更に存在するとプロセッサ１０５が判定した場合、方法１８００はステップ１８０２に戻る。存在しない場合、方法１８００は終了する。
【０１５８】
［精細配置］
ステップ６０６において実行されるように、保護文書の走査済画像に対する精細配置ワープマップを判定する方法１９００について図１９を参照して説明する。精細配置ワープマップは、方法１７００に従って生成された配置パターンを使用して方法１９００において判定される。
【０１５９】
次に、保護文書２００の走査済画像に対する精細配置ワープマップを判定する方法１９００について図１９を参照して説明する。方法１９００は、ハードディスクドライブに常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０１６０】
方法１９００は、保護文書２００の強度画像と式（１１）に従って行列Ａ及びベクトルａにより指定された粗配置アフィン変換とを使用して精細配置ワープマップを判定する。方法１９００はステップ１９０２で開始し、プロセッサ１０５は強度画像の粗配置画像を生成する。
【０１６１】
方法１９００のステップ１９０２に続き、次のステップ１９０３において、プロセッサ１０５は基準画像を生成する。次に、ステップ１９０３において実行されるように、基準画像を生成する方法２０００について図２０を参照して説明する。方法２０００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０１６２】
方法２０００は、バーコード３００と同一のパラメータ（即ち、寸法及びソルト値）を有する仮バーコードを生成する。仮バーコードは、メモリ１０６内に構成されても良い。仮バーコードは、基準画像を生成するために使用されても良い。方法２０００において使用されるバーコードの寸法及びソルト値は、方法６００のステップ６０４及び６０５において以前に判定されている。
【０１６３】
方法２０００はステップ２００１で開始し、次のステップ２００２において、プロセッサ１０５は仮バーコードの角に対して螺旋を生成する。次のステップ２００３において、プロセッサ１０５は、方法１３００のステップ１３０３においてバーコード３００に対する境界パターンを生成するのと同様の方法で、仮バーコードに対する境界パターンを生成し、仮バーコードの境界コーデルにデータを格納する。次のステップ２００４において、プロセッサ１０５は、方法１３００のステップ１３０６においてバーコード３００に対する配置パターンを生成するのと同様の方法で、仮バーコードの配置コーデルに配置パターンを生成する。従って、ステップ２００４において、仮バーコードのデータコーデル以外の全てのコーデルが値を割り当てられる。
【０１６４】
方法２０００は次のステップ２００５に継続し、プロセッサ１０５は仮バーコードを使用してメモリ１０６内に基準画像を生成する。最初、基準画像は空である。仮バーコードのコーデルが「オン」である場合、基準画像の対応する画素は値＋１に設定され、コーデルが「オフ」である場合、基準画像の対応する画素は値−１に設定される。以前に値を割り当てられなかったデータコーデルに対して、基準画像の対応する画素は値０を与えられる。方法２０００は、次のステップ２００５において終了する。
【０１６５】
方法１９００の次のステップ１９０４において、プロセッサ１０５は粗配置画像及び基準画像を使用して変位マップｄcを生成する。変位マップｄcは変位ベクトルを格納する。格納された各変位ベクトルは基準画像における場所と関連付けられ、その場所における粗配置画像と基準画像とのシフト量を測定する。
【０１６６】
ステップ１９０４において、変位マップｄcがタイル相関方法を使用して生成されても良い。変位マップｄcの生成は、タイルサイズ２Ｑ及びステップサイズＰの選択を含む。タイルサイズ及びステップサイズは変化しても良い。Ｑの値が大きいほど測定精度は向上するが、より大きな空間領域にわたり向上した精度は平均化され、処理時間は更に長くなる可能性がある。ステップサイズＰの値が小さいほど空間的により詳細になる。しかし、使用するステップサイズPの値が小さいほど処理時間は長くなるだろう。一例として、Ｑ＝６４且つＰ＝３２である。これは、高さ１２８画素及び幅１２８画素のタイルを表し、基準画像及び粗配置画像に沿って水平方向及び垂直方向の双方に３２画素ずつ増分する。
【０１６７】
図２１Ａに、ステップ１３０４において使用されても良い基準画像２１１０の相関タイル２１０３を示す。図２１Ｂに示すように、相関タイル２１０３は粗配置画像２１２０中の対応する相関タイル２１０４を有する。双方の相関タイル２１０３及び２１０４は、２１０１で示される２Ｑと等しい垂直方向及び水平方向の寸法を有する。相関タイル２１０３及び２１０４は、２１０２で示されるステップサイズＰに従って水平方向及び垂直方向に漸進的に増分する。
【０１６８】
次に、ステップ１３０４において実行されるように、変位マップｄcを生成する方法２２００について図２２を参照して説明する。方法２２００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０１６９】
方法２２００はステップ２２０２で開始し、プロセッサ１０５は、図１６を参照して説明されたように基準画像２１１０及び粗配置画像２１２０をオーバラップするタイルに分割し、双方の画像２１１０及び２１２０のタイルにわたり繰り返す。ステップ２２０２の最初の実行時、基準画像２１１０及び粗配置画像２１２０の双方から左上角のタイル２１０３及び２１０４がそれぞれ選択される。ステップ２２０２の後続する実行時には、対応するタイルの後続する対が、タイルの１番上の行（例えば、２１１５）から開始し、タイルの最低部の行で終了するタイルの各行において左から右に向かって選択される。ステップ２２０２で基準画像から選択されたタイル２１０３はＴ1で示されてもよく、粗配置画像から選択されたタイル２１０４はＴ2で示されても良い。更に、タイル２１０３及び２１０４の中心の座標は（ｘ，ｙ）で示されても良い。
【０１７０】
対応するタイルＴ1及びＴ2の対がステップ２２０２において選択されると、次のステップ２２０３において、選択されたタイルＴ1及びＴ2がウィンドウ化される。タイルＴ1及びＴ2は、垂直方向のハニングウィンドウ及び水平方向のハニングウィンドウによりウィンドウ化されても良い。次のステップ２２０４において、選択されたタイルＴ1及びＴ2は循環位相相関され、選択されたタイルに対する相関画像を生成する。選択されたタイルに対する相関画像は、メモリ１０６内に構成されても良い。循環位相相関は、ステップ２２０４において周波数領域を介して実行される。次に、ステップ２０４において実行されるように、選択されたタイルに対する相関画像を生成する方法２８００について図２８を参照して説明する。
【０１７１】
方法２８００は第１のステップ２８０１で開始し、プロセッサ１０５は高速フーリエ変換（ＦＦＴ）を使用して選択したタイルＴ1及びＴ2を変換し、タイルＴ1^及びＴ2^を生成する。次のステップ２８０３において、プロセッサ１０５はタイルＴ2^の複素共役をタイルＴ1^に乗算し、タイルＴx^を生成する。次のステップ２８０５において、プロセッサ１０５はタイルＴx^の係数を正規化するため、各係数は単位絶対値を有する。方法２８００は、次のステップ２８０７において終了する。ステップ２８０７において、ステップ２２０２で選択されたタイルＴ1及びＴ2に対して、タイルＴx^の逆ＦＦＴが判定され、相関画像Ｔxを生成する。相関画像Ｔxは、実数値の２Ｑ×２Ｑ次元の配列であり、メモリ１０６内に構成されても良い。
【０１７２】
方法２２００に戻ると、次のステップ２２０５において、プロセッサ１０５は、相関画像Ｔxを処理し、サブ画素の精度で相関画像Ｔxの最大ピークの（Δｘ，Δｙ）Tで示される場所を表す変位ベクトルを判定する。ステップ２２０５において実行されるように、サブ画素の精度で相関画像Txの最大ピークの場所を判定する方法２６００について図２６を参照して以下に説明する。相関画像Ｔxにおいて変位ベクトルにより表されるピークの場所（Δｘ，Δｙ）Tは、タイルＴ1とＴ2との間のシフト量を測定し、従って、Ｔ1及びＴ2の近傍の粗配置画像と基準画像との間の変位、即ち反りを測定する。
【０１７３】
方法２２００は次のステップ２２０６に継続し、プロセッサ１０５は、選択されたタイルの中心の場所において変位マップｄcに最大ピークの場所（Δｘ，Δｙ）Tを格納する。ステップ２２０６において、プロセッサ１０５は、ｄc（ｘ，ｙ）＝（Δｘ，Δｙ）Tを割り当てる。式中、（ｘ，ｙ）はタイルＴ1及びＴ2の中心の座標を表す。しかし、相関画像Ｔxにおけるピークがステップ２２０５において判定されない場合、ピークの場所は変位マップｄc（ｘ，ｙ）に格納されない。
【０１７４】
次のステップ２２０７において、処理される粗配置画像及び基準画像に更にタイルが存在するとプロセッサ１０５が判定した場合、方法２２００はステップ２２０２に戻る。存在しない場合、方法２２００は終了する。
【０１７５】
方法２２００に従って生成される変位マップｄcは、いくつかの場所（ｘ，ｙ）において規定される。可能な場所（ｘ，ｙ）は、相関タイルの中心である。タイルがステップサイズＰで水平方向及び垂直方向に漸進的に増分したため、変位マップｄcは、間隔Ｐの標準グリッドに存在する点の集合において規定されても良い。
【０１７６】
方法２２００の相関に使用されるタイル（例えば、２１０３、２１０４）がオーバラップするため、先行タイルのＦＦＴを判定する際に実行される計算の一部は後続タイルのＦＦＴを計算する時に再利用されても良い。これにより、精細配置は高速化されるだろう。次に、ステップ２２０３及び２２０４において実行されるように、相関タイルの高速フーリエ変換（ＦＦＴ）を判定する別の方法２４００について、図２３及び図２４を参照して説明する。
【０１７７】
図２３は、２つのオーバラップするタイル２３０１及び２３０２を示す。タイル２３０１は、北東向きの線により陰影がつけられ、タイル２３０２は、南東向きの線により陰影がつけられる。図２３に示す領域２３０３は、タイル２３０１及び２３０２のオーバラップを表す。領域２３０３により表されるタイル２３０１及び２３０２のオーバラップの量は２Ｑ−Ｐ列である。上述のように、２Ｑはタイルサイズを表し、Ｐはステップサイズを表す。
【０１７８】
方法２４００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。方法２４００はステップ２４０２で開始し、タイルＴ1及びＴ2が方法２２００のループ（即ち、ステップ２２０２〜２２０７により規定されるループ）の先の実行から得られるタイルＴ1及びＴ2とオーバラップするとプロセッサ１０５が判定した場合、方法２４００はステップ２４０４に進む。オーバラップしない場合、方法２４００はステップ２４０３に進む。ステップ２４０３において、タイルＴ1及びＴ2の各列は垂直方向にウィンドウ化され、垂直方向のＦＦＴはタイルＴ1及びＴ2に適用され、結果としてＴ1及びＴ2に対する処理データが得られる。次のステップ２４０６において、方法２４００は、タイルＴ1及びＴ2の双方の処理データの２Ｑ−Ｐ列の最も右側の列をメモリ１０６内に構成される処理列のキャッシュに格納する。ステップ２４０６において、キャッシュの任意のデータが上書きされても良い。方法２４００は、次のステップ２４０７において終了する。ステップ２４０７において、プロセッサ１０５は、タイルＴ1及びＴ2に対する処理データの各行をウィンドウ化し、水平方向のＦＦＴを適用する。ステップ２４０７から結果として得られるデータは、タイルＴ1及びＴ2の２次元ウィンドウ化ＦＦＴを表す。
【０１７９】
ステップ２４０４において、処理データの最も左側の２Ｑ−Ｐ列を判定する必要はない。データのそれらの列は、メモリ１０６内に構成された処理列のキャッシュからコピーされても良い。次のステップ２４０５において、プロセッサ１０５はタイルＴ1及びＴ2の残りのＰ列の各々にウィンドウ化及び垂直方向のＦＦＴを適用する。ステップ２４０５に後続して、方法２４００はステップ２４０６に進み、方法２４００は終了する。
【０１８０】
図１９の方法１９００を再度参照すると、ステップ１９０４における変位マップｄcの生成後、方法１９００の後続ステップは変位マップｄcを使用してワープマップＷcを生成しても良い。ワープマップＷcは、バーコード３００の各コーデルを保護文書２００の走査済画像の座標空間の場所にマップする。スキャナ１１９がバーコード３００全体を走査していない可能性があるため、ワープマップＷcの一部は、バーコード３００のコーデルを走査済画像外の座標にマップしても良い。
【０１８１】
（ｘ，ｙ）が基準画像の画素の座標である場合、変位マップｄc（ｘ，ｙ）は粗配置画像の対応する場所に対するシフトを表す。従って、粗配置画像の対応する座標は、（ｘ，ｙ）T＋ｄc（ｘ，ｙ）と判定されても良い。粗配置アフィン変換を基準画像に適用することにより、走査済画像中の座標が提供される。ワープマップＷcは、以下の式（１５）に従って、バーコード３００の各コーデル（ｘ，ｙ）をバーコード３００の走査済画像の座標空間の場所にマップする。
【０１８２】
【数１３】
0004721469.tif 000014
【０１８３】
しかし、変位マップｄc（ｘ，ｙ）は、いくつかの場所、即ちいくつかの相関タイル（例えば、２１０３及び２１０４）の中心の場所のみで規定される。バーコード３００の全てのコーデルの場所において式（１５）に対する値を判定するために、変位マップｄcは補間される。
【０１８４】
方法１９００は次のステップ１９０５に継続し、プロセッサ１０５は、行列Ｇ及びベクトルｇにより規定されるアフィン変換を判定する。ステップ１９０５で判定されるアフィン変換は、総近似アフィン変換と呼ばれても良い。総近似アフィン変換は、アフィン変換によりワープマップＷcを近似する。アフィン変換を判定する際に最小限にされる誤差関数は、以下の式（１６）に従って規定されても良いユークリッドノルム測度Ｅである。
【０１８５】
【数１４】
0004721469.tif 000015
【０１８６】
式（１６）は、以下の式（１７）に従ってアフィン変換を判定するために最小二乗最小化方法を使用して解決されても良い。
【０１８７】
【数１５】
0004721469.tif 000016
【０１８８】
式（１６）及び（１７）の双方に対して、合計は全ての座標の対（ｘ，ｙ）にわたり得られる。変位マップｄc（ｘ，ｙ）が規定されるため、ワープマップＷc（ｘ，ｙ）が式（１５）を介して規定される。
【０１８９】
方法１９００の次のステップ１９０６において、プロセッサ１０５は総近似アフィン変換をワープマップＷcから除去し、以下の式（１８）に従って変更されたワープマップＷc'を生成する。
【０１９０】
【数１６】
0004721469.tif 000017
【０１９１】
式中、変更ワープマップＷc'は、ｄc（ｘ，ｙ）が規定される座標（ｘ，ｙ）において規定される。従って、変更ワープマップＷc'は、相関タイル（例えば、２１０３、２１０４）の中心により形成されるグリッド上に存在するいくつかの点（ｘ，ｙ）において規定される。
【０１９２】
方法１９００は次のステップ１９０７に継続し、プロセッサ１０５は変更ワープマップＷc'を補間するため、変更ワープマップＷc'はバーコード２００の全てのコーデルの座標（ｘ，ｙ，ｃ）において規定される。ステップ１９０７で実行されるように、マッピングを補間する方法２５００について図２５を参照して以下に詳細に説明する。
【０１９３】
次のステップ１９０８において、プロセッサ１０５は、以下の式（１９）に従ってワープマップＷcを生成するために先に除去した総近似アフィン変換を変更ワープマップＷc'に再度適用する。
【０１９４】
【数１７】
0004721469.tif 000018
【０１９５】
この時点で、ワープマップはバーコード３００の全てのコーデルにおいて規定される。
【０１９６】
［マップの補間］
変更ワープマップＷc'に対して実行されるように及び変位マップｄcに対して実行されるように、マッピングを補間する方法２５００について図２５を参照して以下に詳細に説明する。方法２５００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０１９７】
方法２５００は、１つ以上の相関タイル（例えば、２１０３及び２１０４）の中心において規定されるマッピングｍを使用する。マッピングｍは、ステップ１３０６で判定される変更ワープマップＷc'又はステップ１３１２で判定される変位マップｄcである。マッピングｍは、バーコード３００の全てのコーデル（ｘ，ｙ）に対する座標（ｘ，ｙ）において規定されるように方法２５００に従って補間される。
【０１９８】
方法２５００はステップ２５０１で開始し、ステップ２５０２において、プロセッサ１０５は、メモリ１０６内に低解像度マッピングｍLを生成し、マッピングｍLの値を初期化する。ステップ２５０２において、マッピングは、ｍが規定される場合に座標（ｘ，ｙ）において規定され、それらの点におけるｍと同一の値を割り当てられる。マッピングｍLは、相関タイルの中心のいくつかの点において規定される。相関タイルの中心は、タイルステップサイズＰと等しい間隔を有するグリッドを形成する。
【０１９９】
「グリッド点」と呼ばれる点の集合が規定されても良い。グリッド点は、相関タイルの中心である点を含み、相関タイルの中心でない他の点を更に含む。それらの他の点は、タイルの中心により形成される標準グリッドを拡張することにより取得されても良い。グリッド点は、座標が以下のような範囲にある拡張グリッドにおける点（ｘ，ｙ）として規定されても良い。
【０２００】
【数１８】
0004721469.tif 000019
【０２０１】
グリッド点が上記のように規定されると、グリッド点の座標は以下の式（２２）に従って判定されても良い。
【０２０２】
【数１９】
0004721469.tif 000020
【０２０３】
式中、Ｘ及びＹは整数であり、以下の範囲内である。
【０２０４】
【数２０】
0004721469.tif 000021
【０２０５】
各グリッド点（ｘ，ｙ）におけるマッピングｍLの点の値は、以下に説明するステップ２５０３〜２５０７に従って判定されても良い。ステップ２０５２において、ｍが規定される場合にマッピングｍLは規定された。ステップ２５０３において、方法２５００は、マッピングｍLの残りの値を判定するループ（即ち、ステップ２５０３〜２５０６により規定されるループ）を開始する。ステップ２５０３において、マッピングｍLが全てのグリッド点（ｘ，ｙ）で規定されたとプロセッサ１０５が判定した場合、方法２５００は次のステップ２５０７に継続する。規定されていない場合、方法２５００はステップ２５０４に進む。ステップ２５０４において、プロセッサ１０５は、規定されたグリッド点の近傍の（即ち、隣接する）全ての未規定のグリッド点の座標を判定する。ステップ２５０５において、プロセッサ１０５は、ステップ２５０４で見つけられたグリッド点の各々に対する値を判定する。近傍のグリッド点の値は、近傍の規定されたグリッド点における低解像度マッピングｍLの値の平均値に設定される。次のステップ２５０６において、ステップ２５０５で判定された値は、メモリ１０６内に構成された低解像度マッピングｍLに格納される。方法２５００はステップ２５０３に戻る。
【０２０６】
上述のように、ステップ２５０３において、低解像度マッピングmLが全てのグリッド点（ｘ，ｙ）で規定されたとプロセッサ１０５が判定した場合、方法２５００は次のステップ２５０７に継続する。ステップ２５０７において、低解像度マッピングｍLは全てのグリッド点において判定され、マッピングｍを補間するのに使用されても良い。ステップ２５０７において、マッピングｍは、マッピングｍL上で双３次補間を使用して全てのコーデルの座標（ｘ，ｙ）において補間される。
【０２０７】
［ピークの検出］
次に、ステップ２２０５において実行されるように、サブ画素の精度で相関画像Ｔxにおける最大ピークの場所（Δｘ，Δｙ）を判定する方法２６００について図２６を参照して説明する。相関画像Ｔxにおける最大ピークの場所（Δｘ，Δｙ）は、相関される２つのタイルＴ1とＴ2との間のシフトを表す。方法２６００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０２０８】
方法２６００は、相関画像Ｔxを解析し、サブ画素の精度で相関画像Ｔxにおける最大ピークの場所（Δｘ，Δｙ）を判定する。方法２６００は、初期ピーク高さ閾値Ｈi及びピーク高さ比Ｈrを選択する。初期ピーク高さ閾値Ｈi及びピーク高さ比Ｈrパラメータは変化しても良い。初期ピーク高さ閾値Ｈiが増加すると、許容されると考えられるピーク数は減少する。ピーク高さ比Ｈrが減少すると、方法２６００の実行速度は速くなり、誤ったピークが最大ピークとして選択される機会が増加する。初期ピーク高さ閾値Ｈi及びピーク高さ比Hrパラメータは、Ｈi＝０．１及びＨr＝４に設定されても良い。
【０２０９】
方法２６００はステップ２６０２で開始し、プロセッサ１０５は、相関画像Ｔxの全ての「ピーク」を判定する。「ピーク」は、座標（ｘ0，ｙ0）の相関画像Ｔxの画素であり、その画素値Ｔx（ｘ0，ｙ0）は、画素の８つの隣接画素の値より大きい。これは、相関画像Ｔxが周期的境界条件を使用するため、相関画像Ｔxのエッジの画素が８つの隣接画素を有するものとして考えられても良いことを意味する。左側のエッジの画素は、右側のエッジの対応する画素に隣接するものと考えられても良く、同様に、上側のエッジの画素は、下側のエッジの対応する画素に隣接するものと考えられても良い。相関画像Ｔxのピークは、メモリ１０６内に構成されるリストに格納されても良い。ピークは、ピーク画素値の降順でリストに格納されても良い。
【０２１０】
ピークリスト中の各ピークは整数座標（ｘ0，ｙ0）を有する。その座標は、基準画像と粗配置画像との間のシフトに対する適切な第１の近似値を提供する。しかし、最大ピークの場所に対するサブ画素の正確な座標（Δｘ，Δｙ）を取得するために、相関画像Ｔxは各ピークの近傍で補間される。方法２６００は、ピークリスト中の各ピークを処理し、対応する画像Ｔxを補間してサブ画素の精度でピークの場所を判定する。
【０２１１】
ステップ２６０２において、変数Ｈtは、初期ピーク高さ閾値Ｈiの初期値に初期化される。次のステップ２６０３において、プロセッサ１０５は、ピークリスト中の全てのピークにわたり繰り返す。ステップ２６０３の最初の実行時、ピークリスト中の第１のピークが選択される。ステップ２６０３の後続する実行時には、ピークリスト中の後続するピークが選択される。ステップ２６０４において、ステップ２６０３で選択されたピーク画素Ｔx（ｘ0，ｙ0）の値はプロセッサ１０５により解析され、ピーク高さ比Hrにより乗算されるピーク画素値Ｔx（ｘ0，ｙ0）が現在のピーク高さ閾値Ｈtより大きいかを判定する。即ち、プロセッサ１０５は、以下の式が成立するかを判定する。
【０２１２】
【数２１】
0004721469.tif 000022
【０２１３】
ピーク高さ比Ｈrにより乗算されるピーク画素値Ｔx（ｘ0，ｙ0）が現在のピーク高さ閾値Ｈtより大きい場合、方法２６００はステップ２６０５に進む。大きくない場合、方法２６００は終了する。ステップ２６０５において、プロセッサ１０５は、相関画像Ｔxのサブ領域ｈを選択する。サブ領域ｈは、Ｚ＝８である場合に２Ｚ画素の幅及び高さを有する。サブ領域ｈは、ステップ２６０３で選択されたピークの座標（ｘ0，ｙ0）を中心とする。サブ領域ｈの値は、以下の式（２６）に従って判定されても良い。
【０２１４】
【数２２】
0004721469.tif 000023
【０２１５】
ｘ及びｙは範囲０〜２Ｚ−１にあり、画像外の相関画像Ｔxの値は、周期的境界条件を相関画像Ｔxに再度適用することにより取得される。即ち、画像外の相関画像Ｔxの値は、相関画像を周期的にすることにより取得される。ステップ２６０５において、選択されたサブ領域hは高速フーリエ変換（ＦＦＴ）により変換され、変換画像ｈ^を判定する。
【０２１６】
変換画像ｈ^は、次のステップ２６０６において使用される。ステップ２６０６において、プロセッサ１０５は、ピーク（ｘ0，ｙ0）の近傍の相関画像Txを補間し、ピークの場所の近似値（ｘ1，ｙ1）を判定する。相関画像Ｔxは、２５個の点において補間されてもよく、ｘ座標及びｙ座標は以下のように判定されても良い。
【０２１７】
【数２３】
0004721469.tif 000024
【０２１８】
ステップ２６０６において実行される補間はフーリエ補間であり、以下の式（２７）を使用して実行される。
【０２１９】
【数２４】
0004721469.tif 000025
【０２２０】
式中、βは以下のように規定される。
【０２２１】
【数２５】
0004721469.tif 000026
【０２２２】
ピークの場所に対する更に適切な近似値は、補間された値Ｔx（ｘ1，ｙ1）が最大である（ｘ1，ｙ1）の値を使用して見つけられても良い。
【０２２３】
次のステップ２６０７において、プロセッサ１０５は、選択されたッピークの場所（ｘ2，ｙ2）のサブ画素の正確な推定値を判定する。補間された相関画像Ｔxは、（ｘ1，ｙ1）に近接する領域において双放物線関数ｆにより近似されても良い。双放物線関数ｆは、以下の式（２９）に従う形式を有する。
【０２２４】
【数２６】
0004721469.tif 000027
【０２２５】
選択されたピークの場所のサブ画素の正確な推定値を判定するために、ｘ及びｙがｘ1及びｙ1にそれぞれ近い場合にｆ（ｘ−ｘ1，ｙ−ｙ1)を補間画像Ｔx（ｘ，ｙ）と略等しくする係数（ａ0，ａ1，…，ａ5）が判定されても良い。同様に、ｘ及びｙが小さい場合、関数ｆ（ｘ，ｙ）はＴx（ｘ＋ｘ1，ｙ＋ｙ1）に近似されても良い。以下の式（３０）に従ってＥを最小限にするために、係数（ａ0，ａ1，…，ａ5）は以下の式（３１）に従って判定されても良い。
【０２２６】
【数２７】
0004721469.tif 000028
【０２２７】
式中、ｘh＝ｘ1−ｘ0＋ｚ、ｙh＝ｙ1−ｙ0＋ｚであり、ｖk,nは不変ベクトルである。不変ベクトルｖk,nは、方法３１００に従って判定されても良い。次に、方法３１００について図３１を参照して説明する。
【０２２８】
ステップ２６０７において実行されるように、不変ベクトルｖk,nを判定する方法３１００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。
【０２２９】
方法３１００はステップ３１０１で開始し、次のステップ３１０２において、プロセッサ１０５は、以下の式（３２）に従って規定される行列Ｖを判定する。
【０２３０】
【数２８】
0004721469.tif 000029
【０２３１】
行列Ｖの各要素は、ｘ及びｙの多項式の積分であり、解析的に判定されても良い。次のステップ３１０３において、プロセッサ１０５は、以下の式（３３）に従って不変ベクトルｖk,nの値を判定する。
【０２３２】
【数２９】
0004721469.tif 000030
【０２３３】
不変ベクトルｖk,nの各要素は、ｘ及びｙの多項式を乗算されるｘ及びｙの多項式の積分であり、解析的に値を求められても良い。方法３１００は、ステップ３１０３以降で判定を下す。
【０２３４】
サブ画素の正確なピークの場所（ｘ2，ｙ2）は、双放物線関数ｆの最大値の位置に設定されても良い。サブ画素の正確なピークの場所（ｘ2，ｙ2）は、以下の式（３４）に従って判定されても良い。
【０２３５】
【数３０】
0004721469.tif 000031
【０２３６】
更に、補間された相関画像Ｔxにおける選択されたピークの高さＨは、以下の式（３５）に従ってステップ２６０７において判定される。
【０２３７】
【数３１】
0004721469.tif 000032
【０２３８】
方法２６００は次のステップ２６０８に継続し、プロセッサ１０５は、ステップ２６０７で判定した場所（ｘ2，ｙ2）の選択されたピークの高さＨが方法２６００の現在の実行において判定される最大ピークであるかを判定する。場所（ｘ2，ｙ2）の選択されたピークの高さＨが現在のピーク高さ閾値Ｈtより大きい場合、場所（ｘ2，ｙ2）は、方法２６００の現在の実行において見つけられる最大ピークの場所を表す。この例において、現在のピーク高さ閾値Ｈtは、選択されたピークの新しい値Ｈを割り当てられ、相関画像Ｔxにおける最大ピークの場所を表すサブ画素の正確な座標（Δｘ，Δｙ）は、ステップ２６０７で判定された場所（ｘ2，ｙ2）の値を割り当てられる。或いは、選択されたピークの高さＨが現在のピーク高さ閾値Ｈtより大きくない場合、最大ピークの場所は、ステップ２６０３〜２６０８により規定されるループの現在の繰返しにおいて見つけられなかったことになる。
【０２３９】
方法２６００は、次のステップ２６０９に継続する。ステップ２６０９において、ピークリスト中にピークが更に存在するとプロセッサ１０５が判定した場合、方法２６００はステップ２６０３に戻る。存在しない場合、方法２６００は終了する。
【０２４０】
方法２６００の実行中、最大ピークが見つけられない場合がある。例えば、ステップ２６０８の全ての実行時に場所（ｘ2，ｙ2）の選択されたピークの高さＨが現在のピーク高さ閾値Ｈtより大きくない場合、サブ画素の正確な座標（Δｘ，Δｙ）はいかなる所定の値にも設定されない。しかし、ステップ２６０８が最大ピークを見つけた場合、サブ画素の正確な座標（Δｘ，Δｙ）の値は最大ピークの場所を表す。
【０２４１】
［バーコードからのデータの抽出］
次に、ステップ６０７において実行されるように、バーコード３００からデータを抽出し、抽出したデータを復号化する方法２７００について図２７を参照して説明する。方法２７００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。方法２７００は、埋め込みバーコード２０２のデータコーデル（例えば、３０３）からデータを抽出する。
【０２４２】
方法２７００はステップ２７０１で開始し、プロセッサ１０５は符号化データのブロックにわたりステップ２７０２以降を繰り返す。ステップ２７０２の最初の実行時、データの第１のブロックが処理するために選択される。ステップ２７０２の後続する実行時には、後続するブロックが選択される。上述のように、繰り返されるブロック数はバーコード３００に対して判定される寸法に従ってバーコード３００に格納されるブロックの最大数と等しい。次のステップ２７０３において、プロセッサ１０５は現在のブロックに対する符号化データのビット毎に現在のブロックに対するデータが格納されるコーデルの中心においてバーコード３００の走査済画像から画素値を判定する。ステップ２７０３において実行されるように、バーコードの走査済画像から画素値を判定する方法２９００について図２９を参照して以下に詳細に説明する。
【０２４３】
方法２９００は、ハードディスクドライブ１１０に常駐し、実行時にプロセッサ１０５により制御されるソフトウェアとして実現されても良い。方法２９００はステップ２９０３で開始し、プロセッサ１０５はマッピングψを使用してビットが格納されるバーコード３００のコーデルを判定する。コーデルの座標は、（ｘ，ｙ）で表されても良い。
【０２４４】
方法２９００は次のステップ２９０５に継続し、プロセッサ１０５はステップ２９０３で判定されたワープマップを解析して、バーコード３００の走査済画像のそのコーデルの中心の座標Ｗc（ｘ，ｙ）を判定する。次のステップ２９０７において、プロセッサ１０５は、座標Ｗc（ｘ，ｙ）において走査済画像を補間し、現在のデータビットに対するＲＧＢ画素値ｓ（Ｗc（ｘ，ｙ））を判定する。
【０２４５】
方法２７００は次のステップ２７０４に継続し、プロセッサ１０５はステップ２７０３で判定された画素値を使用して、上記式（４３）又は（５１）に従って符号化ブロック中のＮビットに対する見込み値λを判定する。次のステップ２７０５において、プロセッサ１０５は、ステップ２７０４で判定されたＮ個の見込み値λを使用して誤り訂正復号化を実行し、Ｋ個の訂正ビットを判定する。方法２７００は次のステップ２７０６に継続し、プロセッサ１０５はＫ個の訂正ビットをメモリ１０６に格納する。次のステップ２７０７において、処理されるデータのブロックが更に存在するとプロセッサ１０５が判定した場合、方法２７００はステップ２７０２に戻る。存在しない場合、方法２７００は終了する。
【０２４６】
方法１６００に従ってバーコードに符号化されたバイナリデータがデータを暗号化することにより前処理される場合、データはステップ６０７における方法２７００の実行後に暗号化されても良い。
【０２４７】
［数値のベクトルの比較］
方法６００のステップ６１０において実行されるように、保護文書の信憑性を判定するために２つの数値のベクトルを比較する方法について詳細に説明する。
【０２４８】
バーコードから抽出されるデータが非直列化されるステップ６０８において、１つの数値のベクトルが生成される。このベクトルはｒｅｆＶで示されても良い。第２の数値のベクトルは、文書基材領域の画像を特徴付けることによりステップ６０９において生成される。このベクトルはｓｕｂＶで示されても良い。
【０２４９】
２つのベクトルｒｅｆＶ及びｓｕｂＶを比較するために、２つのベクトルの正規化ドット積が取得される。ベクトル間の正規化ドット積は、１つのベクトルと別のベクトルとがどの程度密接に関連付けられているかを示す。１に近い正規化ドット積は２つのベクトル間の強い関係を示し、ゼロ（０）に近いか又はゼロ（０）未満の正規化ドット積は弱い関係を示す。ｒｅｆＶ及びｓｕｂＶの正規化ドット積は、以下の式により規定される。
【０２５０】
【数３２】
0004721469.tif 000033
【０２５１】
信憑性を判定するために、正規化ドット積の結果は閾値Ｔauthと比較される。結果がＴauthより大きい場合、保護文書は信頼できるものとして判定され、結果がＴauth以下の場合、保護文書は偽造文書であると判定される。
【０２５２】
本実施形態において、Ｔauth＝０．５であるが、Ｔauthの他の値が偽肯定認証結果及び偽否定偽造結果の解析から判定されても良い。機械学習方法及び偽肯定結果と偽否定結果との間の必要な比率を指定することによりＴauthを調整する方法を含む適切なＴauthを判定する任意の方法が使用されても良いが、それらに限定されない。
【０２５３】
［第２の実施形態］
本発明の第２の実施形態において、第１の実施形態のバーコードに類似するバーコードが文書に埋め込まれ、保護文書を形成する。本実施形態において、印刷解像度Ｒpがバーコードコーデル解像度Ｒcより高く、バーコードコーデル解像度の整数倍であることが必要条件である。
【０２５４】
第１の実施形態において、バーコードは文書の黄色チャネルに埋め込まれる。バーコードが文書基材領域に印刷されるが、黄色のインクは文書基材領域の濃淡強度画像に殆ど影響を与えない。従って、文書基材領域は、黄色のバーコードがあるにも関わらず依然として正確に特徴付けられるだろう。
【０２５５】
第２の実施形態において、バーコードデータコーデル及び配置コーデルは、黒色のバーコードがあるにも関わらず文書基材領域の重要な部分が可視となることを可能にし、文書基材領域の特徴付けを可能にする配列で文書に埋め込まれる。
【０２５６】
本実施形態において、バーコードを埋め込み、保護文書を認証し、粗配置画像を特徴付ける別の方法が必要とされる。それらの別の方法について以下に詳細に説明する。
【０２５７】
［文書へのバーコードの埋め込み］
方法１３００のステップ１３０７において実行されるように、文書にバーコードを埋め込む別の方法について説明する。
【０２５８】
埋め込まれるバーコードは、文書の印刷解像度（Ｒp）より低くても良いコーデル解像度（Ｒc）を有する。従って、倍率ＳＦは以下の式から計算されても良い。
【０２５９】
ＳＦ＝Ｒp／Ｒc
コーデル解像度がそのように制限されるため、倍率ＳＦは常に整数となる。
【０２６０】
文書のバーコード領域は、埋め込みコーデルの２次元グリッドに分割される。埋め込みコーデルは、ＳＦ×ＳＦの画素の正方形により形成される。文書のバーコード領域の各埋め込みコーデルは、バーコード中のコーデルを参照するために使用される座標系に類似する埋め込みコーデル座標系により参照されても良い。従って、座標の対(x, y)は埋め込みコーデルを指定する。ここで、xは埋め込みコーデルの列を参照し、yは埋め込みコーデルの行を参照する。従って、各埋め込みコーデルは同一の座標（ｘ，ｙ）の対応するバーコードコーデルを有する。
【０２６１】
バーコードコーデルが「オン」に設定される場合、対応する埋め込みコーデルの画素の構成は「黒色」に設定される。ＳＦ＝４である図３０に示すように、「黒色」に設定された埋め込みコーデルの画素３００１は埋め込みコーデル３０００を形成する画素の部分集合である。文書が印刷及び走査される時に文書基材が依然として結像されても良いように、埋め込みバーコードを形成する３００２等のいくつかの画素は未設定のままである。図３０の例が「黒色」に設定された埋め込み画素の画素の正方形グループを示すが、「黒色」に設定される画素の任意の他の構成が使用されても良い。
【０２６２】
［保護文書の認証］
保護文書を認証する別の方法３１００について、図３１を参照して説明する。
【０２６３】
方法３１００は、初期ステップ３１０１で開始する。次のステップ３１０２は、保護文書を走査することにより走査済画像を生成する。次のステップ３１０３は、濃淡フィルタを走査済画像に適用し、濃淡チャネル強度画像を生成する。次のステップ３１０４は、濃淡チャネル強度画像中の螺旋を検出し、粗配置アフィン変換を計算する。ステップ３１０４において、上述のような方法１２００が実行される。次のステップ３１０５は、バーコードの粗配置境界に符号化されたソルトデータを抽出する。ステップ３１０５において、上述のような方法１８００が実行される。次のステップ３１０６は、精細配置ワープマップを判定する。ステップ３１０６において、上述のような方法１９００が実行される。次のステップ３１０７は、バーコードからデータを抽出してバイナリデータを生成する。ステップ３１０７において、上述のような方法２７００が実行される。次のステップ３１０８は、ステップ３１０７において生成されるバイナリデータを非直列化して数値のベクトルを形成する。バイナリデータは、バイナリデータの最初のＮbitsをベクトルの第１の要素に割り当てることにより非直列化される。バイナリデータの次のＮbitsは、ベクトルの次の要素に割り当てられる。これは、ベクトルのNv個の要素全てが値を割り当てられるまで繰り返される。次のステップ３１０９は、ステップ３１０６中の粗配置画像を特徴付けることにより第２の数値のベクトルを形成する。ステップ３１０９において、以下に説明するような方法３２００が実行される。次のステップ３１１０は、３１０８及び３１０９において生成された２つのベクトルを比較し、保護文書の信憑性を判定する。ステップ６１０において実行される方法は、ステップ３１１０において使用される。方法３１００は、終了ステップ３１１１において終了する。
【０２６４】
［粗配置画像の特徴付け］
本実施形態において、バーコード３００は黒色のインクで印刷され、文書基材領域を遮蔽する。文書基材領域の画像中の黒色画素値は、遮蔽するバーコードのために欠落する画像データを表す。主成分分析（ＰＣＡ）が文書基材領域の画像に直接適用される場合、画像の特徴付けは不正確となる。従って、本実施形態において、欠落する画像データを表す画像中の黒色（又は十分に暗い）画素値は、ＰＣＡ特徴付けの前にまず平均値を埋め込まれる。以下に説明する方法の代わりに、欠落する画像データを埋め込む別の方法が使用されても良い。
【０２６５】
ステップ３１０９において実行されるように、粗配置画像を特徴付ける別の方法３２００について説明する。
【０２６６】
方法３２００は、初期ステップ３２０１で開始する。次のステップ３２０２において、ステップ３１０６で作成された粗配置画像は濃淡強度画像に変換される。次のステップ３２０３において、濃淡強度画像の閾値が決定され、暗い領域と明るい領域とを区別する２値画像を形成する。２値画像は、暗い領域が１に設定された画素で表され且つ明るい領域がゼロ（０）に設定された画素により表される濃淡強度画像と同一の寸法を有する。濃淡強度画像の明るい領域は文書基材の表現であり、暗い領域は印刷された黒色ドットの表現である。次のステップ３２０４において、１に設定された画素の領域が拡張されるように、当該技術において周知のバイナリ形態学的演算が２値画像に対して実行される。次のステップ３２０５において、ゼロ（０）に設定された２値画像の対応する画素を有する濃淡強度画像の画素の平均値が計算される。次のステップ３２０６において、１に設定された２値画像の対応する画素を有する濃淡強度画像の各画素は、ステップ３２０５で計算された平均値に設定される。結果として得られる画像は、調整濃淡強度画像と呼ばれても良い。次のステップにおいて、主成分分析（ＰＣＡ）は、ステップ３２０６で生成された調整濃淡強度画像に対して実行され、Nv個の数値のベクトルＶを生成する。ＰＣＡは、画像の最上位成分により画像を特徴付ける周知の方法である。
【０２６７】
本実施形態において、調整濃淡強度画像はＮv個の直交基底ベクトル上に投影される。基底ベクトルの集合は、文書基材領域画像の大きなデータセットの最も重要な成分を見つけることにより事前に選択されても良い。ベクトルVは、調整濃淡強度画像がＮv個の基底ベクトルの各々に投影される時に残差を見つけることにより形成される。数値のベクトルＶの各要素は、サイズがＮbitsの浮動小数点数として格納されても良い。
【０２６８】
従って、用紙基材走査を先の（周知の）画像を含むデータと一致させる１つの方法は、相関を実行する前に周囲の画素の平均値で暗い印刷バーコードを埋め込むことである。基材用紙の特定の領域における用紙の署名を隠す印刷ドットの問題に対処する他の方法は、それらの領域を無視することである。これは、以下により行われる。
・印刷ドットを含む走査済画素を検出する。これは、画素の暗さを単に測定し、それが閾値を超える場合、印刷領域としてその画素に印をつけることにより行われても良い。
・それらの画素をスキップする相関アルゴリズムを構成する。ここで、基材の画像は後続する印刷ドットにより変更されている。
・スキップされたドットの比率により相関の結果を正規化する。
【０２６９】
別の実施形態は、相関の代わりに「類似性比較」に対して平均二乗誤差計測値を使用しても良い。
【０２７０】
［第３の実施形態］
第３の実施形態において、保護文書を作成及び認証する別の方法が採用される。本実施形態において、第１の実施形態と同様のバーコードが使用される。しかし、第１の実施形態では、文書基材領域が容易に見つけられるように螺旋を文書に埋め込んだが、本実施形態は、事前に判定されるか又はユーザにより指定される文書基材領域を使用する。その後、バーコードは同一の領域に埋め込まれ且つ印刷される。
【０２７１】
理想的には、走査済画像の文書基材領域はバーコード領域と同一の領域であるため、文書基材領域はバーコード螺旋を検出することにより見つけられても良い。しかし、印刷及び走査処理のため、文書基材領域は僅かに位置がずれる可能性がある。従って、その位置ずれを補償するために、以下に説明するようなタイル比較ステップが採用される。
【０２７２】
［保護文書の作成及び認証］
本実施形態に対する保護文書を作成及び認証する別の方法について、図３３Ａ及び図３４を参照して以下に説明する。
【０２７３】
保護文書を作成する方法３３００Ａは、初期ステップ３３０１Ａで開始する。次のステップ３３０２Ａは、埋め込み保護特徴を含まない文書を印刷する。次のステップ３３０３Ａは、ステップ３３０２Ａで印刷された文書を走査し、文書の走査済画像を作成する。次のステップ３３０４Ａは、数値のベクトルを含み且つ事前に判定されたＸoffset及びＹoffsetにより指定される文書基材領域を特徴付ける。本実施形態において、以下に説明するような走査済画像の文書基材領域を特徴付ける方法が採用される。次のステップ３３０５Ａは、文書基材領域画像を特徴付ける数値のベクトルをバーコードに符号化し、印刷するためにそのバーコードを空白文書に埋め込む。ステップ３３０５Ａにおいて実行されるようなバーコードを符号化し、埋め込む方法について以下に説明する。次のステップ３３０６Ａは、埋め込みバーコードを含む空白文書をステップ３３０２で印刷された文書上に印刷し、保護文書を形成する。方法３３００Ａは、終了ステップ３３０７Ａにおいて終了する。
【０２７４】
保護文書を認証する方法３４００は、初期ステップ３４０１で開始する。次のステップ３４０２は、保護文書を走査することにより走査済画像を生成する。次のステップ３４０３は、方法６００のステップ６０３で使用される方法に従って黄色フィルタを走査済画像に適用し、黄色チャネル強度画像を生成する。次のステップ３４０４は、方法６００のステップ６０４で使用される方法に従って黄色チャネル強度画像の螺旋を検出し、粗配置アフィン変換を計算する。次のステップ３４０５は、方法６００のステップ６０５で使用される方法に従ってバーコードの粗配置境界に符号化されるソルトデータを抽出する。次のステップ３４０６は、方法６００のステップ６０６で使用される方法に従って精細配置ワープマップを判定する。次のステップ３４０７は、方法６００のステップ６０７で使用される方法に従って、バーコードからデータを抽出してバイナリデータを生成する。次のステップ３４０８は、ステップ３４０７で生成されたバイナリデータを非直列化し、数値の基準ベクトルを形成する。バイナリデータは、バイナリデータの最初のＮbitsをベクトルの第１の要素に割り当てることにより非直列化される。バイナリデータの次のＮbitsは、ベクトルの次の要素に割り当てられる。これは、ベクトルのＮv個の要素全てに値が割り当てられるまで繰り返される。次のステップ３４０９はタイル比較を実行し、タイル比較において、画像のタイルは、特徴付けられ且つステップ３４０８で形成された数値の基準ベクトルと比較される。タイル比較を実行する方法については、以下に詳細に説明する。その後、方法３４００は終了ステップ３４１０において終了する。
【０２７５】
［文書基材領域の特徴付け］
第１の実施形態及び第２の実施形態において、文書基材領域の画像は、粗配置アフィン変換により粗配置画像を作成することにより見つけられても良い。しかし、本実施形態において、文書基材領域は事前に判定されるか又はユーザにより指定される。
【０２７６】
走査済画像の文書基材領域を特徴付けるために、領域はまず因数Ｒp／Ｒcによりダウンサンプルされる。その結果、文書基材領域のバーコードコーデル解像度の画像が得られる。
【０２７７】
ダウンサンプルされた画像は、濃淡強度画像に変換される。
【０２７８】
主成分分析（ＰＣＡ）は、濃淡強度画像に対して実行され、Ｎv個の数値のベクトルＶを生成する。ＰＣＡは、画像の最上位成分により画像を特徴付ける周知の方法である。
【０２７９】
濃淡強度画像は、Ｎv個の直交基底ベクトル上に投影される。基底ベクトルの集合は、文書基材領域画像の大きなデータセットの最も重要な成分を見つけることにより事前に選択されても良い。ベクトルＶは、濃淡強度画像がＮv個の基底ベクトルの各々に投影される時に残差を見つけることにより形成される。
【０２８０】
数値のベクトルＶの各要素は、サイズがＮbitsの浮動小数点数として格納されても良い。
【０２８１】
［文書基材領域画像の符号化］
先の実施形態において、バーコードの螺旋は、バーコードの残りの部分（例えば、バーコードデータコーデル等）より前の段階で埋め込まれて印刷される。しかし、本実施形態においては、バーコードの全てが生成及び印刷される。
【０２８２】
従って、ステップ３３０５Ａにおいて実行されるように、文書基材領域画像をバーコードに符号化する別の方法３３００Ｂについて図３３Ｂを参照して説明する。
【０２８３】
方法３３００Ｂは、初期ステップ３３０１Ｂで開始する。次のステップ３３０２Ｂは、新しいバーコード及び空白文書を作成する。作成された新しいバーコードは、幅Ｗbb及び高さＨbbを有する。空白文書は、解像度Ｒpのカラー画像である。最初、空白文書は空である。次のステップ３３０３Ｂは、方法７００のステップ７０２で使用される方法に従ってバーコードに螺旋を作成する。次のステップ３３０４Ｂは、方法１３００Ｂのステップ１３０３で使用される方法に従ってバーコードに粗配置境界を作成する。次のステップ３３０５Ｂは、文書基材領域の画像を特徴付ける数値のベクトルＶを直列化する。ステップ３３０６Ｂにおいて、結果として得られるバイナリデータは、方法１３００のステップ１３０５で使用される方法に従ってバーコードに符号化及び構成される。次のステップ３３０７Ｂは、方法１３００のステップ１３０６で使用される方法に従ってバーコード内部３０２に配置パターンを作成する。次のステップ３３０８Ｂは、印刷の準備として、方法１３００のステップ１３０７で使用される方法に従ってＸoffset及びＹoffsetにより指定されるバーコード領域の空白文書にバーコードを埋め込む。方法３３００Ｂは、終了ステップ３３０９Ｂにおいて終了する。
【０２８４】
［タイル比較］
本実施形態において、保護文書の信憑性はタイル比較方法により判定される。
【０２８５】
タイル比較において、バーコード領域の近傍の候補文書基材領域が特徴付けられ、結果として得られる数値のベクトルは３４０７で形成された数値の基準ベクトルと比較される。
【０２８６】
タイル比較の方法は、タイル幅Ｗt、タイル高さＨt、ステップサイズＳ及びステップ数Ｎsの設定パラメータを含む。タイル幅Ｗt及びタイル高さＨtは、バーコードの幅Ｗbb及び高さＨbbと等しい。ステップサイズＳ及びステップ数Ｎsは変化しても良い。ステップサイズＳの値が大きいほど、保護文書を偽造文書と誤って分類する危険性が増す。印刷処理の結果大きな位置ずれがある場合、Ｎsの値はより大きい必要がある。しかし、Ｎsの値が大きいほど計算時間は長くなる。
【０２８７】
ステップ３４０９において実行されるように、タイル比較を実行する方法３５００について図３５を参照して詳細に説明する。
【０２８８】
方法３５００は、初期ステップ３５０１で開始する。次のステップ３５０２は、文書基材領域より大きく、文書基材領域を中心に配置される走査済画像から粗配置アフィン変換を使用して探索画像を作成する。探索画像の幅ＷsearchはＷt＋（Ｎs×Ｓ)に設定されても良く、同様に、探索画像の高さＨsearchはＨt＋（Ｎs×Ｓ)に設定されても良い。本実施形態において、Ｎs＝４０、Ｓ＝１である。探索画像は、周囲に境界を有するバーコード領域の粗配置画像となる。これを図３６に示す。図３６において、探索画像３６００により表される走査済画像中の領域は、バーコード領域３６０２及び周囲の境界３６０１を含む。
【０２８９】
粗配置アフィン変換は、探索画像の座標を走査済画像の座標にマップするために使用されても良い。しかし、探索画像３６００により表される走査済画像の領域がバーコード領域３６０２より大きいため、探索画像の座標は、走査済画像の座標にマップするために粗配置アフィン変換を使用する前に事前に変換される必要がある。探索画像の各画素の座標（ｘsearch，ｙsearch）は、以下の式により粗配置アフィン変換で使用するのに適切な座標（ｘ，ｙ）に事前に変換される。
【０２９０】
ｘ＝（ｘsearch−ceil（（Ｎs×Ｓ）／２））
ｙ＝（ｙsearch−ceil（（Ｎs×Ｓ）／２））
探索画像は、特徴付け及び比較の前にオーバラップするタイルに分割される。図３７は、タイルの選択を示し、タイル幅Ｗt及び高さＨt、並びにステップサイズＳを示す図である。タイル３７０１は、探索画像３７００中に示され、幅Ｗt３７０２及び高さＨt３７０３を有する。タイル３７０１は、３７０４で示されるように水平方向にＳずつ増分する。
【０２９１】
次のステップ３５０３は、上述したタイルにわたり繰り返される。３５０３の最初の実行時、左上角のタイルが選択される。ステップ３５０３の後続する実行時には、タイルは、タイルの１番上の行から開始し、タイルの最低部の行で終了するタイルの各行において左から右に向かって選択される。
【０２９２】
次のステップ３５０４は、方法１１００のステップ１１０５で使用された方法と同様の方法に従ってタイル画像を特徴付け、そのタイルに対する数値のベクトルｓｕｂＶを生成する。
【０２９３】
次のステップ３５０５は、ステップ３５０４で見つけられた数値のベクトルｓｕｂＶをステップ３４０８で見つけられた数値の基準ベクトルと比較する。ステップ３４０８で見つけられた数値の基準ベクトルは、ｒｅｆＶで示されても良い。２つのベクトルｒｅｆＶ及びｓｕｂＶを比較するために、２つのベクトルの正規化ドット積が取得される。ベクトル間の正規化ドット積は、１つのベクトルと別のベクトルとがどの程度密接に関連付けられているかを示す。１に近いドット積は２つのベクトル間の強い関係を示し、ゼロ（０）に近いか又はゼロ（０）未満のドット積は弱い関係を示す。ｒｅｆＶ及びｓｕｂＶの正規化ドット積は、以下の式により規定される。
【０２９４】
【数３３】
0004721469.tif 000034
【０２９５】
次のステップ３５０６において、ステップ３５０５で計算された正規化ドット積の結果が閾値Ｔauthと比較される。結果がＴauthより大きい場合、保護文書は信頼できるものとして判定され、方法３５００は終了ステップ３５０８において終了する。
【０２９６】
正規化ドット積の結果がＴauthより小さい場合、次のステップ３５０７は、処理されるタイルが更に存在するかを判定する。タイルが存在しない場合、保護文書は偽造文書であると推定され、方法３５００は終了ステップ３５０８において終了する。タイルが存在する場合、ステップ３５０３に戻る。
【０２９７】
第１の実施形態及び第２の実施形態と同様に、Ｔauth＝０．５であるが、Ｔauthの他の値が偽肯定認証結果及び偽否定偽造結果の解析から判定されても良い。機械学習方法及び偽肯定結果と偽否定結果との間の必要な比率を指定することによりＴauthを調整する方法を含む適切なＴauthを判定する任意の方法が使用されても良いが、それらに限定されない。
第４の実施形態
第４の実施形態において、保護文書を作成及び認証する別の方法が採用される。本実施形態において、文書基材領域の赤色チャネル強度画像は、用紙を走査することにより取得される。赤色チャネル強度画像は処理され、黄色のインクで用紙上に再度印刷される。赤色チャネルは、黄色のインクの重ね刷りの影響を受けないため使用される。上記実施形態と異なり、バーコードは必要とされず、螺旋は配置に対して必要とされない。
【０２９８】
文書は、走査し、黄色チャネル強度画像（インクパターンにより形成される）及び赤色チャネル強度画像（文書基材により形成され、インクパターンにより影響を受けない）に対して位相相関を実行することにより認証される。所定の閾値を上回る相関結果に正のピークが存在することにより、用紙は認証され、更に黄色で印刷された画像と文書基材領域との空間オフセットが示される。
【０２９９】
［保護文書の作成及び認証］
本実施形態に対する保護文書を作成及び認証する別の方法について、図４３を参照して以下に説明する。
【０３００】
保護文書を作成する方法４３０１は、初期ステップ４３０２で開始する。
【０３０１】
次のステップ４３０３は、埋め込み保護特徴を含まない文書を印刷する。
【０３０２】
次のステップ４３０４は、ステップ４３０３で印刷した文書を走査し、文書の走査済画像を作成する。
【０３０３】
次のステップ４３０５は、事前に判定されたＸoffset、Ｙoffset、Ｘsize及びＹsizeにより指定されるステップ４３０４で取得された走査の赤色チャネルから文書基材領域画像を抽出し、文書基材領域画像を処理して文書基材領域上への次の印刷のために濃淡チャネル強度画像を作成する。本実施形態においては、以下に説明するような文書基材領域画像を処理するステップが採用される。
【０３０４】
次のステップ４３０６は、ステップ４３０５で作成された濃淡チャネル強度画像を含む文書を黄色のインクで用紙の所定の場所に印刷する。所定の場所は、ステップ４３０５で指定された文書基材領域であるのが好ましいが、用紙の任意の他の場所であっても良い。
【０３０５】
方法４３０１は、終了ステップ４３０７において終了する。
【０３０６】
保護文書を認証する方法４４０１は、初期ステップ４４０２で開始する。
【０３０７】
次のステップ４４０３は、保護文書を走査して文書の走査済画像を作成する。
【０３０８】
次のステップ４４０４は、方法４３０１のステップ４３０６により印刷された黄色チャネル強度画像を抽出する。走査済画像は、黄色チャネル強度画像が印刷された所定の位置及びサイズにトリミングされる。黄色フィルタは画像に適用され、黄色チャネル強度画像を取得する。これは、走査の青色チャネルを反転させ且つ赤色チャネル及び緑色チャネルを廃棄することにより実行される。
【０３０９】
次のステップ４４０５は、黄色強度画像をカーネルとして使用して、ステップ４４０３で取得される走査の赤色チャネル（文書基材強度画像）に対して位相相関演算を実行する。
【０３１０】
次のステップ４４０６は、ステップ４４０５の相関結果に対してピーク検出演算を実行する。双方の画像に文書基材パターンが存在するため、負のピークが結果に存在する。しかし、所定の閾値を上回る正のピークが存在することにより、黄色インク画像が文書基材領域と互いに関連することが示されるため、用紙は信頼できる。正のピークが存在しないことにより、用紙が信頼できないことが示される。
【０３１１】
方法４４０１は、終了ステップ４４０７において終了する。
【０３１２】
［コントラストを増加するための強度画像の処理］
プリンタのフルダイナミックレンジを使用するために、文書基材領域の濃淡強度画像は印刷前に処理される。濃淡強度画像画素値の標準偏差及び平均値が取得される。画素値は平均値の反転によりシフトされ、平均値はゼロになる。以下の値を画像画素値に乗算する。
【０３１３】
Ｒ／（５Ｓ）
式中、Ｒは印刷可能な画素値の範囲（例えば、８ビットダイナミックレンジに対しては２５６）であり、Ｓは画素値の標準偏差である。画素値は、平均値が許容される画素値の中心値となるように（Ｒ／２）だけシフトされる。印刷可能な値の範囲外の画素値は、最大値又は最小値にクリッピングされる。
【０３１４】
［他の配列］
上述した説明においては、開示される符号化／復号化方法のいくつかの実施形態のみを説明し、方法の趣旨の範囲から逸脱せずにそれら実施形態に対して変形や変更が行われても良い。説明した実施形態は例示であり、限定するものではない。
【０３１５】
例えば説明した第１の実施形態及び第３の実施形態において、バーコードは文書の黄色チャネルに埋め込まれ、黄色のインクで印刷されて保護文書を形成する。その後、黄色フィルタが適用され、バーコードを回復及び復号化する。それらの実施形態において、黄色は、画像が濃淡強度画像に変換される時に殆ど影響を与えないため選択される。従って、特徴付けステップにおいて、黄色のバーコードは結果として得られる数値のベクトルに殆ど影響を与えない。
【０３１６】
文書基材領域の組織変化がカラーバーコードの下で結像されても良いように、別の色のバーコードが使用されても良い。
【０３１７】
先の節で説明したバーコードは、配置特徴を含むコーデルの密グリッドである。しかし、文書基材領域の画像の特性を符号化するために任意のバーコードが代わりに使用されても良い。例えば、図３８〜図４２に示すようなＱＲコード、DataGlyphs、DataMatrixコード、線形バーコード及び単純なドットコードが更に使用されても良い。
【０３１８】
先の節で説明した実施形態において、主成分分析（ＰＣＡ）は、文書基材領域の濃淡強度画像を特徴付けるために使用される。文書基材領域の画像の特性がバーコード形式に符号化されても良いように、ＰＣＡは高圧縮率を与える。
【０３１９】
他の特徴付け又は圧縮方法がＰＣＡの代わりに採用されても良い。例えばＪＰＥＧ圧縮は、文書基材領域の画像の格納サイズを低減するために使用されても良い。また、十分なデータ記憶容量を有するバーコードが使用される場合、画像は圧縮又は特徴付けをせずにバーコードに符号化されても良い。
【０３２０】
更に、先の節で説明した実施形態において、バイナリデータをバーコードに符号化及び配置する前にＲＳＡ暗号化が使用されても良い。しかし、別の公開／秘密鍵暗号化技術がＲＳＡ暗号化の代わりに使用されても良い。
【０３２１】
先の実施形態において保護対策が説明されたが、目的を持った偽造者が依然として保護文書をコピーできる可能性がある。保護対策を回避する方法は、元の文書基材領域の画像を取得し、滑らかな漂白白色の第２の文書基材上にその画像を印刷することである。文書基材領域の印刷画像は、走査される時に顕著になるだろう。従って、認証時、文書基材領域の印刷画像は特徴付けられ、バーコードに符号化された特性と一致する。
【０３２２】
しかし、文書基材領域の印刷画像は元の文書基材より暗くなる。従って、上記方法で作成された偽造文書は、元の文書基材領域と基準強度値との間の相対的な強度をバーコードに更に符号化することにより失敗する可能性がある。
【０３２３】
例えば、元の文書基材の平均強度値は、元の文書基材領域の画像の強度値を平均することにより取得されても良い。基準強度値は、文書の走査済画像中の印刷された黒色インク領域の強度値を平均することにより見つけられても良い。別の基準強度値は、文書の走査済画像中の空領域の強度値を平均することにより見つけられても良い。文書基材領域の強度値に依存しない任意の強度値は、基準強度値として使用されても良い。元の基材の平均強度値と基準強度値との差分は、バーコードに符号化されても良い。従って、バーコードは、文書基材領域の画像の少なくとも１つの特性と関連付けられるデータを含むこととは別に、元の基材の平均強度値と基準強度値との差分を示す符号化データを更に含む。
【０３２４】
保護文書が走査及び認証される場合、文書基材の平均強度値及び基準強度値は、保護文書の走査済画像から回復される。回復された強度値は区別され、バーコードに符号化された値と比較される。回復された差分値が符号化差分値に十分に近い場合、文書は信頼できると考えられても良い。十分に近くない場合、文書は偽造文書と考えられても良い。
【０３２５】
あるいは、文書は「不審」であると考えられてもよく、ユーザは文書を更に詳細に検査するように通知される。
【産業上の利用可能性】
【０３２６】
本発明は、少なくとも好適な実施形態において、プリンタインクカートリッジの信憑性を判定するために適用されても良い。用紙等の繊維基材層を含むラベルは、本発明の先の実施形態において説明したバーコード等のバーコードを搬送しても良い。バーコードは、ラベルの表面上に領域の画像を符号化しても良い。本明細書において上述した方法に従って、認証が後で実行されても良いように、ラベルはプリンタカートリッジに添付される。
【０３２７】
別の潜在的な産業上の利用可能性は、医薬品の信憑性を判定することに関連付けられる。多くの医薬品の包装は、金属箔及びプラスチックブリスターの包みであることが多い。金属箔の基材は、本明細書で上述したバーコード等のバーコードを搬送しても良い。バーコードは、金属箔の基材上に直接印刷されてもよく、基材の領域の特性の構造を符号化しても良い。認証は、先の節で説明した認証方法に従って後で実行されても良い。
【０３２８】
説明した構成が印刷、データ符号化／復号化、データ処理及び文書セキュリティに関連する多くの産業に適用可能であることは、上述から明らかである。
【図１】
0004721469.tif 000035
【図２】
0004721469.tif 000036
【図４】
0004721469.tif 000037
【図５】
0004721469.tif 000038
【図１１】
0004721469.tif 000039
【図１２】
0004721469.tif 000040
【図１５】
0004721469.tif 000041
【図１６】
0004721469.tif 000042
【図１７】
0004721469.tif 000043
【図１８】
0004721469.tif 000044
【図１９】
0004721469.tif 000045
【図２０】
0004721469.tif 000046
【図２１Ａ】
0004721469.tif 000047
【図２１Ｂ】
0004721469.tif 000048
【図２２】
0004721469.tif 000049
【図２３】
0004721469.tif 000050
【図２４】
0004721469.tif 000051
【図２５】
0004721469.tif 000052
【図２６】
0004721469.tif 000053
【図２７】
0004721469.tif 000054
【図２８】
0004721469.tif 000055
【図２９】
0004721469.tif 000056
【図３１】
0004721469.tif 000057
【図３２】
0004721469.tif 000058
【図３５】
0004721469.tif 000059
【図３７】
0004721469.tif 000060
【図３８】
0004721469.tif 000061
【図３９】
0004721469.tif 000062
【図４０】
0004721469.tif 000063
【図４１】
0004721469.tif 000064
【図４２】
0004721469.tif 000065
【図３Ａ】
0004721469.tif 000066
【図３Ｂ】
0004721469.tif 000067
【図６】
0004721469.tif 000068
【図７】
0004721469.tif 000069
【図８】
0004721469.tif 000070
【図９】
0004721469.tif 000071
【図１０】
0004721469.tif 000072
【図１３】
0004721469.tif 000073
【図１４】
0004721469.tif 000074
【図３０】
0004721469.tif 000075
【図３３Ａ】
0004721469.tif 000076
【図３３Ｂ】
0004721469.tif 000077
【図３４】
0004721469.tif 000078
【図３６】
0004721469.tif 000079
【図４３】
0004721469.tif 000080
【図４４】
0004721469.tif 000081