(57)【要約】      （修正有）【課題】コンテンツ及びバーコードを含む文書の改竄を防止して変更する方法及び装置を提供する。【解決手段】バーコード２７２は、各々が所定の形態を持つバーコード要素を有する。バーコードの複数のバーコード要素は、第１の文書２７０の表現において検出される。検出されたバーコード要素の各々と所定の形態のバーコード要素との間の視覚差分が判定される。バーコード２７２は、第２の文書を判定するために復号化される。第１の文書２７０を認証するために、第１の文書２７０と第２の文書とが判定された視覚差分に基づいて比較されることにより改竄の有無を判定する。【選択図】図４
2011124999.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証する方法であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するステップと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するステップと、
第２の文書を判定するために前記バーコードを復号化するステップと、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較するステップとを有することを特徴とする方法。
【請求項２】
前記判定された視覚差分を使用して前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去するステップを更に有することを特徴とする請求項１に記載の方法。
【請求項３】
前記判定された視覚差分に従って前記第２の文書のコンテンツを劣化させるステップを更に有することを特徴とする請求項１に記載の方法。
【請求項４】
前記判定された視覚差分に基づいて前記比較をバイアスするステップを更に有することを特徴とする請求項１に記載の方法。
【請求項５】
前記視覚差分は、前記検出された複数のバーコード要素に対する点広がり関数（ＰＳＦ）、前記検出された複数のバーコード要素に対する高次画像モーメント、前記検出された複数のバーコード要素に対する非線形ドットゲイン、前記検出された複数のバーコード要素のコントラストの変化、前記検出された複数のバーコード要素のガンマの変化及び前記検出された複数のバーコード要素の輝度の変化のうち１つ以上を推定することにより判定されることを特徴とする請求項１に記載の方法。
【請求項６】
前記視覚差分は、前記検出された複数のバーコード要素に対する点広がり関数（ＰＳＦ）、前記検出された複数のバーコード要素に対する高次画像モーメント、前記検出された複数のバーコード要素に対する非線形ドットゲイン、前記検出された複数のバーコード要素のコントラストの変化、前記検出された複数のバーコード要素のガンマの変化及び前記検出された複数のバーコード要素の輝度の変化のうち１つ以上を推定することにより判定され、前記方法は、前記第１の文書のコンテンツから前記ＰＳＦの逆畳み込みを実行するステップを更に有することを特徴とする請求項１に記載の方法。
【請求項７】
前記視覚差分は、前記検出された複数のバーコード要素に対する点広がり関数（ＰＳＦ）、前記検出された複数のバーコード要素に対する高次画像モーメント、前記検出された複数のバーコード要素に対する非線形ドットゲイン、前記検出された複数のバーコード要素のコントラストの変化、前記検出された複数のバーコード要素のガンマの変化及び前記検出された複数のバーコード要素の輝度の変化のうち１つ以上を推定することにより判定され、前記方法は、前記第２の文書のコンテンツと前記ＰＳＦとを畳み込むステップを更に有することを特徴とする請求項１に記載の方法。
【請求項８】
前記第１の文書に対して全体の視覚調整係数を形成するために前記検出された複数のバーコード要素に対する前記判定された視覚差分を組み合わせるステップを更に有することを特徴とする請求項１に記載の方法。
【請求項９】
前記バーコード要素はドットであり、前記バーコードは公称グリッド位置に関して空間変調されたドットから構成される２Ｄバーコードであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記比較は、前記第１の文書の前記表現の画素値と前記第２の文書の画素値との減算であることを特徴とする請求項１に記載の方法。
【請求項１１】
前記判定された視覚差分に基づいて前記比較をバイアスするステップを更に有し、前記比較のバイアスは、前記第１の文書に対してグローバルバーコードの劣化又は画像比較の領域に対してローカル領域のバーコードの劣化のうち１つ以上の推定値から導出されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記判定された視覚差分に基づいて前記比較をバイアスするステップを更に有し、前記比較のバイアスは、前記視覚差分に対して線形であることを特徴とする請求項１に記載の方法。
【請求項１３】
前記判定された視覚差分に基づいて前記比較をバイアスするステップを更に有し、前記比較のバイアスは、多くの印刷及び走査済ページの実験的解析から導出されたルックアップテーブルから読み取られることを特徴とする請求項１に記載の方法。
【請求項１４】
コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更する方法であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するステップと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するステップと、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去するステップとを有することを特徴とする方法。
【請求項１５】
第２の文書を判定するために前記バーコードを復号化するステップを更に有することを特徴とする請求項１４に記載の方法。
【請求項１６】
第２の文書を判定するために前記バーコードを復号化するステップと、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書の前記表現と前記第２の文書とを比較するステップとを更に有することを特徴とする請求項１４に記載の方法。
【請求項１７】
前記視覚差分は、前記検出された複数のバーコード要素に対する点広がり関数（ＰＳＦ）、前記検出された複数のバーコード要素に対する高次画像モーメント、前記検出された複数のバーコード要素に対する非線形ドットゲイン、前記検出された複数のバーコード要素のコントラストの変化、前記検出された複数のバーコード要素のガンマの変化及び前記検出された複数のバーコード要素の輝度の変化のうち１つ以上を推定することにより判定されることを特徴とする請求項１４に記載の方法。
【請求項１８】
前記視覚差分は、前記検出された複数のバーコード要素に対する点広がり関数（ＰＳＦ）、前記検出された複数のバーコード要素に対する高次画像モーメント、前記検出された複数のバーコード要素に対する非線形ドットゲイン、前記検出された複数のバーコード要素のコントラストの変化、前記検出された複数のバーコード要素のガンマの変化及び前記検出された複数のバーコード要素の輝度の変化のうち１つ以上を推定することにより判定され、前記方法は、前記第１の文書のコンテンツから前記ＰＳＦの逆畳み込みを実行するステップを更に有することを特徴とする請求項１４に記載の方法。
【請求項１９】
前記第１の文書に対して全体の視覚調整係数を形成するために前記検出された複数のバーコード要素に対する前記判定された視覚差分を組み合わせるステップを更に有することを特徴とする請求項１４に記載の方法。
【請求項２０】
前記バーコード要素はドットであり、前記バーコードは公称グリッド位置に関して空間変調されたドットから構成される２Ｄバーコードであることを特徴とする請求項１４に記載の方法。
【請求項２１】
コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証する装置であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する手段と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する手段と、
第２の文書を判定するために前記バーコードを復号化する手段と、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較する手段とを有することを特徴とする装置。
【請求項２２】
コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証するシステムであって、
データ及びコンピュータプログラムを格納するためのメモリと、
前記コンピュータプログラムを実行するための前記メモリに結合されたプロセッサとを備え、前記コンピュータプログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する命令と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する命令と、
第２の文書を判定するために前記バーコードを復号化する命令と、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較する命令とを有することを特徴とするシステム。
【請求項２３】
コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証するためのコンピュータプログラムを記録したコンピュータ可読媒体であって、前記プログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するコードと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するコードと、
第２の文書を判定するために前記バーコードを復号化するコードと、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較するコードとを有することを特徴とするコンピュータ可読媒体。
【請求項２４】
コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更する装置であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する手段と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する手段と、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記表現を用いて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去する手段とを有することを特徴とする装置。
【請求項２５】
コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更するシステムであって、
データ及びコンピュータプログラムを格納するためのメモリと、
前記コンピュータプログラムを実行するための前記メモリに結合されたプロセッサとを備え、前記コンピュータプログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する命令と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する命令と、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記表現を用いて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去する命令とを有することを特徴とするシステム。
【請求項２６】
コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更するためのコンピュータプログラムを記録したコンピュータ可読媒体であって、前記プログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するコードと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するコードと、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記表現を用いて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去するコードとを有することを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に文書に関し、特に保護文書の改竄を検出することに関する。更に、本発明は、コンテンツ及びバーコードを含む文書を変更する方法及び装置、並びにコンテンツ及びバーコードを含む文書を変更するコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【０００２】
ドキュメントセキュリティの分野において、セキュリティ情報を伝えるために、バーコードとして既知の機械可読マークが印刷文書に追記される場合が多い。バーコードは、ラベル又は文書自体に印刷される。セキュリティ情報を抽出するために、バーコードリーダは文書を走査し、バーコードを検出し、バーコードのセキュリティ情報を復号化する。
【０００３】
ドキュメントセキュリティの１つの応用例は、印刷文書が変更されていないこと又は文書が最初に印刷されてから何らかの不正な方法で改竄されていないことを保証することである。例えば、特定の日に合意及び署名された契約は、その後不正に変更される可能性があり、そのような変更の詳細を検出できることが望ましい。同様に、小切手及び価値を記録する通貨等の種々のセキュリティ文書は、不正な変更が行われやすい。従って、そのような文書におけるあらゆる不正な変更を検出することが望ましい。更に、そのような検出が自動的に実行され、検出によりあらゆる変更の性質を明らかにすることが望ましい。
【０００４】
文書改竄検出の種々の方法が提案され且つ使用されている。改竄検出の１つの方法は、元の文書コンテンツに関する情報を符号化するために文書に印刷された透かし又は２次元（２Ｄ）バーコードを使用する。符号化文書は、印刷されて受取人に配送される。文書コンテンツが確認される場合、文書は走査され、透かし又は２Ｄバーコードから符号化情報を抽出する。符号化情報は、疑わしい文書の各特徴と比較される。元の文書の符号化表現と疑わしい文書との間のあらゆる変更が改竄の可能性を表す。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、印刷及び走査処理自体が文書のコンテンツに対する変更を生成し、その結果、符号化文書とは異なる疑わしい文書が得られる。これらの変更は、改竄と区別するのが困難である。
【０００６】
本発明の目的は、既存の構成の１つ以上の欠点を実質的に克服するか、又は少なくとも改善することである。
【課題を解決するための手段】
【０００７】
本発明の１つの態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証する方法であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するステップと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するステップと、
第２の文書を判定するために前記バーコードを復号化するステップと、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較するステップとを有することを特徴とする方法が提供される。
【０００８】
本発明の別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更する方法であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するステップと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するステップと、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去するステップとを有することを特徴とする方法が提供される。
【０００９】
本発明の更に別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証する装置であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する手段と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する手段と、
第２の文書を判定するために前記バーコードを復号化する手段と、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較する手段とを有することを特徴とする装置が提供される。
【００１０】
本発明の更に別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証するシステムであって、
データ及びコンピュータプログラムを格納するためのメモリと、
前記コンピュータプログラムを実行するための前記メモリに結合されたプロセッサとを備え、前記コンピュータプログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する命令と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する命令と、
第２の文書を判定するために前記バーコードを復号化する命令と、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較する命令とを有することを特徴とするシステムが提供される。
【００１１】
本発明の更に別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有するバーコードとを含む第１の文書を認証するためのコンピュータプログラムを記録したコンピュータ可読媒体であって、前記プログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するコードと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するコードと、
第２の文書を判定するために前記バーコードを復号化するコードと、
前記第１の文書を認証するために前記判定された視覚差分に基づいて前記第１の文書と前記第２の文書とを比較するコードとを有することを特徴とするコンピュータ可読媒体が提供される。
【００１２】
本発明の更に別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更する装置であって、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する手段と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する手段と、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記表現を用いて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去する手段とを有することを特徴とする装置が提供される。
【００１３】
本発明の更に別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更するシステムであって、
データ及びコンピュータプログラムを格納するためのメモリと、
前記コンピュータプログラムを実行するための前記メモリに結合されたプロセッサとを備え、前記コンピュータプログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出する命令と、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定する命令と、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記表現を用いて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去する命令とを有することを特徴とするシステムが提供される。
【００１４】
本発明の更に別の態様によると、コンテンツと各々が所定の形態を持つバーコード要素を有し且つ第１の文書に関連したデータを符号化するバーコードとを含む前記第１の文書を変更するためのコンピュータプログラムを記録したコンピュータ可読媒体であって、前記プログラムは、
前記第１の文書の表現において前記バーコードの複数の前記バーコード要素を検出するコードと、
前記検出されたバーコード要素の各々と前記所定の形態の前記バーコード要素との間の視覚差分を判定するコードと、
前記第１の文書の劣化を補償するために前記判定された視覚差分に基づいて前記表現を用いて前記第１の文書の前記コンテンツの劣化の少なくとも一部を除去するコードとを有することを特徴とするコンピュータ可読媒体が提供される。
【００１５】
更に、本発明の他の態様が開示される。
【００１６】
次に、本発明の１つ以上の実施形態について以下の図面を参照して説明する。
【図面の簡単な説明】
【００１７】
【図１Ａ】説明した構成が実行される電子デバイスを示す概略ブロック図である。
【図１Ｂ】説明した構成が実行される電子デバイスを示す概略ブロック図である。
【図２】保護文書を生成するためにソース文書を符号化する方法を概略的に示すフローチャートである。
【図３】図２の方法で実行されるようなソース文書のコンテンツを符号化する方法を概略的に示すフローチャートである。
【図４】印刷文書を認証する方法を概略的に示すフローチャートである。
【図５Ａ】点広がり関数の推定値を導出する方法を概略的に示す図である。
【図５Ｂ】点広がり関数の推定値を導出する方法を概略的に示すフローチャートである。
【図６】印刷文書を認証する別の方法を概略的に示すフローチャートである。
【図７】印刷文書を認証する別の方法を概略的に示すフローチャートである。
【図８】印刷処理及びその後の走査処理中に印刷文書に対して起こった劣化を補償する方法を概略的に示すフローチャートである。
【発明を実施するための形態】
【００１８】
文書のコンテンツと同一の場所に配置されるバーコードを含む印刷文書を認証する方法を以下に説明する。説明する方法は、印刷処理及びその後の走査処理中に起こった劣化を推定するためにバーコードの形態の知識を使用する。バーコードの劣化の推定は、文書のコンテンツの劣化を補償するために使用される。補償により、文書のコンテンツとバーコードから抽出された元の文書の表現との間の比較が向上される。文書のコンテンツの改竄の検出は、印刷及び走査による劣化に対するロバスト性が高い。
【００１９】
図１Ａ及び図１Ｂは、説明する方法が実行されるのが望ましい埋め込み構成要素を含む汎用電子デバイス１０１の全体を示す概略ブロック図である。図１Ａ及び図１Ｂの例において、電子デバイス１０１は、走査機能を含む多機能プリンタである。あるいは、電子デバイス１０１は、例えば処理リソースが制限されたスキャナ、移動電話、携帯メディアプレーヤ又はデジタルカメラであってもよい。しかし、以下に説明する方法は、デスクトップコンピュータ、サーバコンピュータ及び非常に大きな処理リソースを有する他のデバイス等の上位デバイスで実行されてもよい。
【００２０】
図１Ａに示すように、電子デバイス１０１は埋め込み制御器１０２を含む。従って、電子デバイス１０１は「埋め込みデバイス」と呼ばれてもよい。この例において、制御器１０２は、内部記憶モジュール１０９に双方向に結合される処理ユニット（又はプロセッサ）１０５を含む。図１Ｂに示すように、記憶モジュール１０９は、不揮発性半導体読み出し専用メモリ（ＲＯＭ）１６０及び半導体ランダムアクセスメモリ（ＲＡＭ）１７０から形成されてもよい。ＲＡＭ１７０は、揮発性であってもよく、不揮発性であってもよく、あるいは揮発性メモリ及び不揮発性メモリの組合せであってもよい。
【００２１】
電子デバイス１０１は、液晶ディスプレイ（ＬＣＤ）パネル等のディスプレイ１１４に接続されるディスプレイ制御器１０７を含む。ディスプレイ制御器１０７は、プロセッサ１０５から受信された命令に従ってディスプレイ１１４上にグラフィック画像を表示するように構成される。
【００２２】
電子デバイス１０１は、一般にキー、キーパッド又は同様の制御により形成されたユーザ入力装置１１３を更に含む。いくつかの実現例において、ユーザ入力装置１１３は、タッチスクリーンを形成するためにディスプレイ１１４と物理的に関連付けられたタッチセンシティブパネルを含んでもよい。そのようなタッチスクリーンは、一般にキーパッドとディスプレイとの組合せと共に使用されるプロンプト又はメニューにより駆動されるグラフィカルユーザインタフェース（ＧＵＩ）とは対照的にＧＵＩの一形態として動作してもよい。音声コマンド用のマイク（不図示）又はメニューのナビゲーションを容易にするジョイスティック／サムホイール（不図示）等の他の形態のユーザ入力装置が使用されてもよい。
【００２３】
図１Ａに示すように、電子デバイス１０１は、接続１１９を介してプロセッサ１０５に結合される携帯メモリインタフェース１０６を更に含む。携帯メモリインタフェース１０６により、相補的な携帯メモリデバイス１２５は電子デバイス１０１に結合され、データの発信元又は宛先として動作するか又は内部記憶モジュール１０９を補足する。そのようなインタフェースの例により、ＵＳＢ（Universal Serial Bus）メモリ素子、セキュアデジタル（ＳＤ）カード、パーソナルコンピュータメモリカード国際協会（ＰＣＭＩＡ）カード、光ディスク及び磁気ディスク等の携帯メモリ素子との結合が可能になる。
【００２４】
電子デバイス１０１は、接続１２１を介してコンピュータ又は通信ネットワーク１２０にデバイス１０１を結合できるようにするための通信インタフェース１０８を更に含む。接続１２１は有線でも無線でもよい。例えば接続１２１は、無線周波数であってもよく又は光学的であってもよい。有線接続の一例はイーサネット（登録商標）を含む。更に無線接続の一例は、Bluetoothタイプのローカル相互接続、Ｗｉ−Ｆｉ（ＩＥＥＥ８０２.１１規格群に基づくプロトコルを含む）及びＩｒＤａ（Infrared Data Association）等を含む。
【００２５】
一般に電子デバイス１０１は、ある特殊機能を実行するように構成される。埋め込み制御器１０２は、可能性として更なる特殊機能構成要素１１０と共に、特殊機能を実行するために提供される。説明した例において、電子デバイス１０１は多機能プリンタ／スキャナであり、構成要素１１０は走査ユニット、コロナワイヤ、放電ランプ及び感光体ドラムアセンブリを表してもよい。デバイス１０１がデジタルカメラである別の例として、構成要素１１０は、カメラのレンズ、フォーカス制御及び撮像素子を表してもよい。別の例として、デバイス１０１は移動電話ハンドセットであってもよい。この例において、構成要素１１０は、携帯電話の環境において通信するのに必要な構成要素を表してもよい。デバイス１０１が携帯デバイスである場合、特殊機能構成要素１１０はＪＰＥＧ（Joint Photographic Experts Group）、ＭＰＥＧ（Moving Picture Experts Group）及びＭＰＥＧ−１オーディオレイヤ３（ＭＰ３）を含むある種の複数の符号器及び復号器を表してもよい。
【００２６】
以下に説明する方法は、埋め込み制御器１０２を使用して実現されてもよく、説明する図２〜図８の処理は、埋め込み制御器１０２内で実行可能である１つ以上のソフトウェアアプリケーションプログラム１３３として実現されてもよい。
【００２７】
電子デバイス１０１は、説明する方法を実現する効果的で有利な装置である。特に図１Ｂを参照すると、説明する方法のステップは、制御器１０２内で実行されるソフトウェア１３３の命令により行われる。ソフトウェア命令は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして形成されてもよい。ソフトウェアは、２つの別個の部分に分割されてもよい。第１の部分及び対応するコードモジュールは説明した方法を実行し、第２の部分及び対応するコードモジュールは第１の部分とユーザとの間のユーザインタフェースを管理する。
【００２８】
図１Ａに示すように、一般にソフトウェア１３３は、コンピュータ可読媒体から制御器１０２にロードされ、その後内部記憶モジュール１０９のＲＯＭ１６０に格納され、その後、ソフトウェア１３３はプロセッサ１０５により実行される。いくつかの例において、プロセッサ１０５は、ＲＡＭ１７０に配置されるソフトウェア命令を実行してもよい。ソフトウェア命令は、ＲＯＭ１６０からＲＡＭ１７０への１つ以上のコードモジュールのコピーを開始するプロセッサ１０５によりＲＡＭ１７０に配置されてもよい。あるいは、１つ以上のコードモジュールのソフトウェア命令は、製造業者によりＲＡＭ１７０の不揮発性領域に事前にインストールされてもよい。１つ以上のコードモジュールがＲＡＭ１７０に配置された後、プロセッサ１０５は、１つ以上のコードモジュールのソフトウェア命令を実行してもよい。
【００２９】
本明細書で説明するように、一般にアプリケーションプログラム１３３は、電子デバイス１０１の配達前に製造業者によりＲＯＭ１６０に事前にインストールされ且つ格納される。しかし、いくつかの例において、アプリケーションプログラム１３３は、内部記憶モジュール１０９又は携帯メモリ１２５に格納する前に、１つ以上のＣＤ−ＲＯＭ（不図示）に符号化されてユーザに供給され、携帯メモリインタフェース１０６を介して読み出されてもよい。別の例において、ソフトウェアアプリケーションプログラム１３３は、プロセッサ１０５によりネットワーク１２０から読み出されてもよく、あるいは他のコンピュータ可読媒体から制御器１０２又は携帯記憶媒体１２５にロードされてもよい。コンピュータ可読記憶媒体とは、実行及び／又は処理するために命令及び／又はデータを制御器１０２に提供することに関わるどんな記憶媒体も示す。そのような記憶媒体の例は、フロッピー（登録商標）ディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ又は集積回路、ＵＳＢメモリ、光磁気ディスク、フラッシュメモリ、あるいはＰＣＭＣＩＡカード等のコンピュータ可読カードを含み、それらはデバイス１０１の内部装置であってもよく又は外部装置であってもよい。ソフトウェア、アプリケーションプログラム、命令及び／又はデータをデバイス１０１に提供することに関わってもよいコンピュータ可読伝送媒体の例としては、別のコンピュータ又はネットワーク化デバイスに対するネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットに加え、無線伝送チャネル又は赤外線伝送チャネルがある。そのようなソフトウェア又はコンピュータプログラムを記録したコンピュータ可読媒体は、コンピュータプログラム製品である。
【００３０】
上述したアプリケーションプログラム１３３の第２の部分及び対応するコードモジュールは、ディスプレイ１１４上にレンダリングされるか又は表現される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するために実行されてもよい。ユーザ入力装置１１３（例えば、キーパッド）を操作することにより、デバイス１０１のユーザ及びアプリケーションプログラム１３３は機能的に適応可能な方法でインタフェースを操作し、ＧＵＩと関連付けられたアプリケーションに対して制御コマンド及び／又は入力を提供してもよい。スピーカ（不図示）介して出力された音声プロンプト及びマイク（不図示）を介して入力されたユーザ音声コマンドを利用するオーディオインタフェース等の他の形態の機能的に適応可能なユーザインタフェースが実現されてもよい。
【００３１】
図１Ｂは、アプリケーションプログラム１３３を実行するプロセッサ１０５及び内部記憶１０９を含む制御器１０２の詳細を示す概略ブロック図である。その内部記憶１０９は、読み出し専用メモリ（ＲＯＭ）１６０及びランダムアクセスメモリ（ＲＡＭ）１７０を含む。プロセッサ１０５は、接続されたメモリ１６０及び１７０の一方又は双方に格納されたアプリケーションプログラム１３３を実行できる。電子デバイス１０２の電源が最初に投入される時、ＲＯＭ１６０に常駐するシステムプログラムが実行される。ＲＯＭ１６０に永続的に格納されたアプリケーションプログラム１３３は「ファームウェア」と呼ばれることがある。プロセッサ１０５によるファームウェアの実行により、プロセッサ管理、メモリ管理、デバイス管理、記憶管理及びユーザインタフェースを含む種々の機能が満たされてもよい。
【００３２】
一般にプロセッサ１０５は、内部バッファ又はキャッシュメモリ１５５と共に、制御ユニット（ＣＵ）１５１、演算論理装置（ＡＬＵ）１５２、並びに一般に原子データ要素１５６、１５７を含むレジスタ１５４の集合を含むローカルメモリ又は内部メモリを含む複数の機能モジュールを含む。１つ以上の内部バス１５９は、これらの機能モジュールを相互接続する。一般にプロセッサ１０５は、接続１６１を使用してシステムバス１８１を介して外部デバイスと通信するための１つ以上のインタフェース１５８を更に有する。
【００３３】
アプリケーションプログラム１３３は、条件分岐及びループ命令を含んでもよい一連の命令１６２〜１６３を含む。プログラム１３３は、プログラム１３３の実行時に使用されるデータを更に含んでもよい。このデータは、命令の一部として、あるいはＲＯＭ１６０又はＲＡＭ１７０内の別個の場所１６４に格納されてもよい。
【００３４】
一般にプロセッサ１０５には、そこで実行される命令の集合が与えられる。この命令の集合は、ブロックに編成されてもよく、ブロックは、特定のタスクを実行するか又は電子デバイス１０１で発生する特定の事象に対処する。一般にアプリケーションプログラム１３３は事象を待ち、その後その事象に関連付けられたコードのブロックを実行する。事象は、プロセッサ１０５により検出されるようにユーザ入力装置１１３を介するユーザからの入力に応答してトリガされてもよい。更に事象は、電子デバイス１０１の他のセンサ及びインタフェースに応答してトリガされてもよい。
【００３５】
命令の集合を実行するには、数値変数が読み出され且つ変更されることが必要とされてもよい。そのような数値変数はＲＡＭ１７０に格納される。開示された方法は、メモリ１７０の既知の場所１７２、１７３に格納される入力変数１７１を使用する。入力変数は、メモリ１７０の既知の場所１７８、１７９に格納される出力変数１７７を生成するために処理される。中間変数１７４は、メモリ１７０の場所１７５、１７６の追加の記憶場所に格納されてもよい。あるいは、いくつかの中間変数はプロセッサ１０５のレジスタ１５４にのみ存在してもよい。
【００３６】
一連の命令の実行は、取り出し−実行サイクルを繰り返し適用することによりプロセッサ１０５において達成される。プロセッサ１０５の制御ユニット１５１は、プログラムカウンタと呼ばれるレジスタを保持し、実行される次の命令のＲＯＭ１６０又はＲＡＭ１７０のアドレスを含む。取り出し−実行サイクルの開始時、プログラムカウンタにより索引付けされたメモリアドレスのコンテンツは制御ユニット１５１にロードされる。このようにロードされた命令は、プロセッサ１０５の次の動作を制御し、例えばデータをＲＯＭメモリ１６０からプロセッサレジスタ１５４にロードし、レジスタのコンテンツを別のレジスタのコンテンツと数学的に結合し、レジスタのコンテンツを別のレジスタに格納された場所に書き込む。取り出し−実行サイクルの終了時、プログラムカウンタは、システムプログラムコードの次の命令を指し示すように更新される。分岐動作を達成するために、実行された命令に依存して、これはプログラムカウンタに含まれたアドレスを増分すること又は新しいアドレスを有するプログラムカウンタをロードすることを含んでもよい。
【００３７】
以下に説明する方法の処理の各ステップ又は各サブ処理は、アプリケーションプログラム１３３の１つ以上のセグメントと関連付けられ、プロセッサ１０５において取り出し−実行サイクルを繰り返し実行することにより又は電子デバイス１０１における他の独立したプロセッサブロックを同様にプログラムに従って動作させることにより実行される。
【００３８】
次に、保護文書２７０を生成するためにソース文書２１０を符号化する方法２００について図２を参照して説明する。方法２００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアとして実現されてもよい。図２に示すように、ソース文書２１０は、デジタル文書から生成された画素データ等のデジタル形式で又は走査処理の出力としてコンテンツ２１１を含む。ソース文書２１０は、例えばデバイス１０１を使用してソース文書２１０の印刷したものを走査することにより生成されてもよい。そのような形式のソース文書２１０はＲＡＭ１７０に格納されてもよい。
【００３９】
図２に示すように、バーコード２５１を含む文書２５０が生成される。バーコード２５１は、バーコード２７２が文書２５０のコンテンツ２１１と同一の場所に配置されるように生成され、その結果、コンテンツ２１１及びバーコード２５１には印刷及び走査中に同一の劣化が起こる。図２の例において、バーコード２５１は、図２に示すように文書２５０のページ全体にわたり分布された小さなドットの形態のバーコード要素から構成される２次元（２Ｄ）バーコードである。あるいは、バーコード２５１は、線、グリフ又は他のマークを含む他の形態のバーコード要素から構成されてもよい。一実現例において、バーコード要素は正方形のドットであり、バーコード２５１は、公称グリッド位置に関して空間変調されたドットから構成される。説明した方法に従って生成されたバーコードは１次元であってもよい。
【００４０】
方法２００は符号化ステップ２２０で開始し、プロセッサ１０５は、コンテンツ２１１の符号化表現を形成するためにソース文書２１０のコンテンツ２１１を符号化する。ステップ２２０において、プロセッサ１０５は、ソース文書２１０の他の情報を更に符号化してもよい。そのような他の情報は、文書作成データ、文書ワークフローの許可及び文書作成者を含んでもよい。プロセッサ１０５は、コンテンツ２１１がバーコード２５１に埋め込むのに適するようにコンテンツ２１１を符号化する。ステップ２２０で実行されるようにコンテンツを符号化する方法３００について、図３を参照して以下に詳細に説明する。
【００４１】
バーコード生成ステップ２３０において、プロセッサ１０５は、コンテンツ２１１の符号化表現からバーコード２５１を生成する。上述したように、バーコード２５１は、ドットから構成された２Ｄバーコードである。あるいは、バーコード２５１は１次元バーコードであってもよい。バーコード２５１は、線、ドット、グリフ又は他のマークから構成されてもよい。符号化コンテンツ２１１が後で行われる復号化処理中に文書２５０と位置合わせ可能であるように、位置合わせデータは生成されたバーコードに符号化される。
【００４２】
合成ステップ２４０において、プロセッサ１０５は、コンテンツ２１１及び符号化バーコード２５１を含む符号化文書２５０を形成するために、ステップ２３０で生成されたバーコード２５１をソース文書２１０と組み合わせる。従って、文書２５０はコンテンツ２１１及びバーコード２５１を含む。バーコード２５１は、各々が所定の形態を有する複数のバーコード要素を含む。特に、図２に示すように、バーコード２５１は、３×３画素のサイズの小さなドットの形態の複数のバーコード要素から構成され、標準グリッドからの位置変調によりデータを符号化する。しかし、文書２５０に対してバーコード２５１を生成するためにどんな適切なバーコード方式が使用されてもよい。バーコード２５１のドットがコンテンツ２１１を覆い、コンテンツ２１１を僅かに隠すように、生成されたバーコード２５１はソース文書２１０上に重ね合わされる。バーコード２５１が文書のコンテンツ２１１と組み合わされない場合、ステップ２４０は実行されなくてもよい。
【００４３】
ステップ２２０で実行されるようにソース文書２１０のコンテンツ２１１を符号化する方法３００について、図３を参照して以下に詳細に説明する。方法３００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアとして実現されてもよい。方法３００は、ソース文書２１０のコンテンツ２１１の符号化表現を生成する。
【００４４】
方法３００は、ローパスフィルタリングステップ３１０で開始し、プロセッサ１０５は、ダウンサンプル動作に備えてガウスぼかしカーネルによりソース文書２１０のコンテンツ２１１をぼかす。そのような１つのぼかしカーネルは、６００ドット／インチの解像度を有する入力画像に対して３２画素の垂直方向及び水平方向の寸法を有する。方法３００は、バンドパスフィルタリング又は適応フィルタリング等の他の種類のフィルタリングを使用してもよい。
【００４５】
次のサンプルステップ３２０において、プロセッサ１０５は、ダウンサンプル画像を生成するために１６画素の等距離間隔でぼかし文書の画素強度値を記録する。ダウンサンプル画像はＲＡＭ１７０に格納されてもよい。あるいは、ぼかし文書の画素は等間隔に離間して合計され、セル領域を重ね合わせる。構造情報は、ダウンサンプル画像を生成するために等間隔に離間したセルから抽出されてもよい。
【００４６】
方法３００は、圧縮ステップ３３０で終了する。ステップ３３０において、プロセッサ１０５は、ソース文書２１０のコンテンツ２１１の符号化表現を生成するために、誤り訂正を伴うあらゆる適切な可逆的圧縮アルゴリズムを使用してダウンサンプル画像のサイズを縮小する。
【００４７】
符号化文書２５０は、デバイス１０１により用紙又は製品の包装等の媒体に印刷され、印刷されたコンテンツ２７１及び印刷されたバーコード２７２を含む保護文書２７０を形成する。文書２７０は２つ方法で保護される。第１に、バーコード２７２は可視の改竄を抑止するものとしての役割を果たす。第２に、元のソース文書２１０が保護されていたため、バーコード２７２は抽出され且つ文書２７０の変更を検出するために使用される。
【００４８】
図４は、印刷文書を認証する方法４００を概略的に示すブロック図である。印刷文書は、第１の文書と呼ばれてもよい。方法４００については、印刷文書２７０を参照して一例として説明する。ここでも、方法４００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアアプリケーションプログラム１３３の１つ以上のコードモジュールとして実現されてもよい。
【００４９】
例において、バーコード２７２及びコンテンツ２７１を含む印刷文書２７０の受信者は、文書２７０が改竄されたことを疑い、コンテンツ２７１の信憑性を確認したい。上述したように、バーコード２７２は、各々が所定の形態を有する複数のバーコード要素を含む。特にバーコード２７２は、ドットの形態の複数のバーコード要素を含む。方法４００を実行する前に、印刷文書２７０は、印刷文書２７０の元の走査済画像を生成するために走査機能を使用してデバイス１０１によりデジタル化される。印刷文書２７０の元の走査済画像は、印刷文書２７０（又は第１の文書）の表現と呼ばれてもよい。走査済画像はＲＡＭ１７０に格納されてもよい。
【００５０】
方法４００は、バーコード検出ステップ４４０で開始し、プロセッサ１０５は、印刷文書２７０の走査済画像においてバーコード２７２の複数のバーコード要素を検出するステップを実行する。特に、プロセッサ１０５は、バーコード２７２のバーコード要素の少なくとも一部分に対するページの場所を判定する。ステップ４４０において、プロセッサ１０５は、バーコード２７２の形態の前の知識４３０と厳密にマッチングする画素パターンの探索を走査済画像の画素に対して繰り返す。前の知識は、デバイス１０１の記憶モジュール１０９に格納されてもよい。
【００５１】
バーコード解析ステップ４６５において、プロセッサ１０５は、検出された複数のバーコード要素の各々と所定の形態のバーコード要素との間の視覚差分を判定するステップを実行する。特にプロセッサ１０５は、検出されたバーコード要素がバーコード２７２の予想された所定の形態の要素とどのように異なるかを示す１つ以上の統計値を判定するために検出されたバーコード要素を解析する。バーコード要素が空間的に別個である場合、すなわちバーコード要素が重なり合わない場合、差分はバーコード要素に対する点広がり関数（ＰＳＦ）を推定することによりステップ４６５において判定されてもよい。点広がり関数を推定する方法は、周波数に基づく逆畳み込み、反復予測法及び指数又はガウス分布等の既知の分布に対する回帰フィッティングを含む。バーコード要素が空間的に別個でない場合、統計値は空間周波数領域において計算されてもよい。
【００５２】
次に、ステップ４６５で実行されるように点広がり関数の推定値を導出する方法５００について図５Ａ及び図５Ｂを参照して説明する。ここでも、方法５００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアアプリケーションプログラム１３３の１つ以上のコードモジュールとして実現されてもよい。
【００５３】
図５Ａに示すように、符号化バーコード要素５１０は、デバイス１０１のプリンタ機能により印刷され且つデバイス１０１の走査機能により走査されてもよく、その結果、劣化したバーコード要素５４０の走査済画像（又は表現）が得られる。一般に印刷は、ドットゲインにより印刷太りを引き起こし、コンテンツの特徴は元の形態より大きい。走査はぼかしを引き起こし、それによりコントラストは低下し且つコンテンツの特徴は広がる。劣化したバーコード要素５４０の画像はＲＡＭ１７０に格納されてもよい。
【００５４】
方法５００はステップ５０１で開始し、プロセッサ１０５は、劣化したバーコード要素５４０の平均の空間的な幅及び高さを判定する。ステップ５０３において、プロセッサ１０５は、測定された幅及び高さを符号化バーコード要素５１０の幅及び高さで除算する。図５Ａの例において、符号化バーコード要素５１０は、寸法が３×３画素の正方形のドットであり、劣化したバーコード要素５４０は、寸法が４×４画素である。劣化した幅及び高さを符号化された幅及び高さで除算することにより、幅及び高さの双方において１．３３３の推定されたドットゲインが与えられる。デバイス１０１の走査機能と関連付けられた解像度が印刷文書２７０の解像度より高い場合、ドットゲイン測定はより正確となる。
【００５５】
方法５００は次のステップ５０５で終了する。ステップ５０５において、プロセッサ１０５は、バーコード全体に対してはグローバルに又はバーコードの小さい領域（例えば、相対的に少ない数のバーコード要素を含むバーコード２７２の選択した領域）に対してはローカルにドットゲイン測定値を平均することによりＰＳＦの推定値の形態の全体の視覚調整係数を判定する。従って、ステップ５０５において、プロセッサ１０５は、検出されたバーコード要素に対する判定された視覚差分を組み合わせるステップを実行してもよい。ステップ５０１で判定された幅及び高さの測定値は組み合わされるが、別個に保持され、更なる処理ステップに対して更に多くの情報を提供してもよい。
【００５６】
バーコードの統計値の別の特性は、画像モーメント、非線形ドットゲインモデリング、あるいは画素コントラスト又はガンマの変化を含むが、これらに限定されない。一実現例において、ステップ４６５は、バーコード検出ステップ４４０の間に実行されてもよい。従って、視覚差分は、検出された複数のバーコード要素に対して高次画像モーメントを推定することにより又は検出された複数のバーコード要素に対して非線形ドットゲインを推定することにより判定されてもよい（例えば、ステップ４６５、並びにステップ６７０、７７０及び８７０（以下に更に詳細に説明する）のように）。別の例において、視覚差分は、検出されたバーコード要素のコントラストの変化を推定することにより判定されてもよい（例えば、ステップ４６５、６７０、７７０及び８７０のように）。更に別の例において、視覚差分は、検出されたバーコード要素のガンマの変化を推定することにより判定されてもよい（例えば、ステップ４６５、６７０、７７０及び８７０のように）。更に別の例において、視覚差分は、検出されたバーコード要素の輝度の変化を推定することにより判定されてもよい（例えば、ステップ４６５、６７０、７７０及び８７０のように）。
【００５７】
図４に戻ると、コンテンツ分離ステップ４７０において、プロセッサ１０５は、バーコード検出ステップ４４０の結果を使用して、文書２７０の走査済画像（又は表現）においてバーコード２７２からコンテンツ２７１を分離する。ステップ４７０の結果は、ＲＡＭ１７０に格納されてもよいコンテンツ画像である。コンテンツ画像は、バーコード２７２が除去された文書２７０の走査済画像（又は表現）である。一実現例において、ステップ４７０は、文書２７０の走査済画像からバーコード要素の場所をマスキングし、コンテンツ画像のみを残すことにより実行される。しかし、文書２７０の走査済画像内のバーコード２７２からコンテンツ２７１を分離するためにあらゆる適切な方法がステップ４７０で使用されてもよい。別の実現例において、実現例がバーコード２７２をコンテンツ２７１から分離することを必要としない場合、ステップ４７０は省略されてもよい。
【００５８】
方法４００は補償ステップ４７５に継続し、プロセッサ１０５は、ステップ４６５で判定された視覚差分に基づいてコンテンツ画像のコンテンツを変更するステップを実行する。特にプロセッサ１０５は、文書２７０の印刷及び走査中の文書２７０のコンテンツ２７１の劣化を補償するためにステップ４６５で判定された統計値を使用する。ステップ４７０で生成されたコンテンツ画像は、補償済画像を生成するためにリチャードソン・ルーシー反復逆畳み込みアルゴリズムによりフィルタリングされる。補償済画像は、フィルタリング後のコンテンツ画像である。
【００５９】
リチャードソン・ルーシー反復逆畳み込みアルゴリズムは、点広がり関数（ＰＳＦ）を仮定すると、劣化画像画素値から判定される文書２７０の走査済画像に対応する画像画素値の統計的尤度を最大にする。標準的な非反復逆畳み込みは、ＰＳＦが一般にローパス関数であるため印刷及び走査中の高周波情報の損失に起因するノイズの影響を受ける。リチャードソン・ルーシーアルゴリズムは、劣化がポアソン分布を有するＰＳＦのためであると仮定し且つ最大尤度解に収束することによりそれらの問題を最小限にする。ポアソン仮定は、インク又はトナーが用紙に印刷される時のインク又はトナーのばらつきをモデル化するのに適切であり、走査処理と関連付けられたぼかしにも適切である。リチャードソン・ルーシーアルゴリズムは、推定されたＰＳＦの小さな誤りに対するロバスト性を有する。反復逆畳み込みには高い計算費用がかかり、適度に正確なリチャードソン・ルーシーの結果は、１０回未満の繰り返しで取得されてもよい。リチャードソン・ルーシーアルゴリズムは、ある程度ノイズを増幅し、コンテンツの鮮明な輪郭にリンギングアーチファクトを加える。しかし、そのようなアーチファクトは、画像が改竄防止で使用するために次の比較に対して使用される場合に得られる改善より少ない。従って、ＰＳＦの逆畳み込みは、文書２７０のコンテンツから実行されてもよい。ステップ４７５は、文書２７０を表現するコンテンツ画像から文書２７０のコンテンツ（例えば、２７１）の劣化の少なくとも一部を除去してもよい。
【００６０】
ステップ４７５で使用するのに適切な別の逆畳み込み方法は、ランドウェーバアルゴリズムである。ランドウェーバアルゴリズムは、文書２７０の元の走査済画像を推定することに対して最小２乗解を与える。劣化を補償する他の方法は、ドットゲイン又は印刷太りの影響、画像モーメント、画像コントラスト又はガンマの変化、あるいはＰＳＦに対して逆モデルを構築することを含む。１つの形態において、逆モデルは、多くの印刷及び走査済ページの実験的解析から導出されたルックアップテーブルであってもよい。例えば、ルックアップテーブルの１つのエントリは、高いドットゲインが検出された時にモルフォロジ収縮演算を開始してもよい。
【００６１】
ステップ４６５で判定された統計値が局所的に計算された場合、補償は局所的に適用されてもよい。文書２７０の元の走査済画像の領域に対するステップ４６５の出力は、領域内のコンテンツの劣化を補償するためにステップ４７５において使用される。
【００６２】
変換ステップ４８０において、プロセッサ１０５は、ステップ４７５の補償済画像を補償済コンテンツ４８６を有する補償済表現４８５に変換する。補償済表現４８５は、走査済画像（又は印刷文書２７０の表現）を変更したものであり、ＲＡＭ１７０に格納されてもよい。その後、補償済表現４８５は、以下に更に詳細に説明するように、変換済領域において復号化表現４６０（又は第２の文書）と比較されてもよい。
【００６３】
ステップ４８０において、プロセッサ１０５は、符号化ステップ２２０と同様の機能を実行する。特にプロセッサ１０５は、補償済画像にダウンサンプルを適用する。プロセッサ１０５は、バーコード２７２の位置合わせ情報を使用して補償済コンテンツ４８６を復号化表現４６０と位置合わせするための位置合わせ機能を提供してもよい。
【００６４】
一実現例において、ステップ４８０は、ステップ４７５の前に実行されてもよい。この場合、ステップ４８０は、文書２７０の変換済表現に対して動作する。ステップ４７５の前にステップ４８０を実行することは、変換済領域が文書２７０の元の走査済画像より低い解像度を有する場合は利点である。あるいは、プロセッサ１０５は、復号化表現４６０に対して動作してもよく、復号化表現４６０を補償済表現４８５と比較できる形態に変換する。補償済表現４８５及び復号化表現４６０が変換せずに比較可能である場合、ステップ４８０はスキップされてもよい。
【００６５】
バーコード復号器ステップ４５０において、プロセッサ１０５は、復号化表現４６０の形態の第２の文書を判定するために文書２７０のバーコードの走査済画像においてバーコード２７２を復号化するステップを実行する。特にプロセッサ１０５は、バーコード２７２から復号化表現４６０を判定するためにステップ４４０の出力を使用する。復号化表現４６０は、図２のステップ２３０でバーコード２５１に符号化されたソース文書２１０のコンテンツ２１１の符号化表現を伸張したものである。
【００６６】
方法４００は、比較ステップ４９０に継続し、プロセッサ１０５は、文書２７０（すなわち、第１の文書）を認証するために復号化表現４６０と補償済表現４８５とを比較するステップを実行する。特にステップ４９０において、プロセッサ１０５は、補償済表現４８５と復号化表現４６０との間の差分演算を実行し、改竄４９５の２次元指示を出力する。表現４８５及び４６０が画像領域にある場合、差分は画素毎の減算である。従って、ステップ４９０の比較は、補償済表現４８５により表現されるような文書２７０の画素値と復号化表現４６０（又は第２の文書）により表現されるような文書の画素値との減算である。
【００６７】
補償済表現４８５及び復号化表現４６０が圧縮済領域又は変換済領域にある場合、プロセッサ１０５は、ステップ４９０の比較を実行するために補償済表現４８５及び復号化表現４６０を局所的に伸張する必要があるだろう。
【００６８】
指示された改竄４９５が含む印刷及び走査アーチファクトによるノイズは、印刷及び走査アーチファクトを補償するためにバーコードの劣化の解析を使用しない従来の改竄防止処理と比較して少ない。従って、方法４００は、より高い信頼性で且つより少ない誤った指示で環境ノイズと実際の改竄とを区別できる。
【００６９】
印刷文書を認証する別の方法６００について、図６を参照して以下に説明する。印刷文書２７０を参照して、方法６００を一例として説明する。ここでも、方法６００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアアプリケーションプログラム１３３の１つ以上のコードモジュールとして実現されてもよい。
【００７０】
方法６００は、印刷及び走査による劣化を補償する代わりに劣化のモデルが文書２７０の復号化表現４６０に適用される方法４００に対する変形例である。従って、ステップ６９０で実行される比較は、文書２７０の２つの劣化表現の間で効果的に行なわれる。方法４００と関連して上述したように、方法６００は、劣化を補償するために逆劣化モデルを導出して使用するのではなく劣化を直接モデル化する方が容易である場合に使用されてもよい。
【００７１】
ここでも、方法６００を実行する前に、印刷文書２７０は、文書２７０の元の走査済画像表現を生成するために走査機能を使用してデバイス１０１によりデジタル化される。走査済画像はＲＡＭ１７０に格納されてもよい。
【００７２】
方法６００は、バーコード検出ステップ６４０で開始し、プロセッサ１０５は、印刷文書２７０の走査済画像においてバーコード２７２の複数のバーコード要素を検出するステップを実行する。特にプロセッサ１０５は、バーコード２７２のバーコード要素の少なくとも一部分に対するページの場所を判定する。上述したように、バーコード要素はドットである。ステップ６４０において、プロセッサ１０５は、バーコード２７２の形態の前の知識４３０と厳密にマッチングする画素パターンの探索を走査済画像の画素に対して繰り返す。前の知識４３０は、デバイス１０１の記憶モジュール１０９に格納されてもよい。
【００７３】
バーコード解析ステップ６７０において、プロセッサ１０５は、検出された複数のバーコード要素の各々と所定の形態のバーコード要素との間の視覚差分を判定するステップを実行する。特にプロセッサ１０５は、検出されたバーコード要素がバーコード２７２の予想された所定の形態の要素とどのように異なるかを示す１つ以上の統計値を判定するために検出されたバーコード要素を解析する。ここでも、バーコード要素が空間的に別個である場合、すなわちバーコード要素が重なり合わない場合、差分は方法５００に従って点広がり関数（ＰＳＦ）を推定することによりステップ６７０において判定されてもよい。
【００７４】
コンテンツ分離ステップ６７５において、プロセッサ１０５は、バーコード検出ステップ６４０の結果を使用して、文書２７０の走査済画像（又は表現）においてバーコード２７２からコンテンツ２７１を分離する。ステップ６７５の結果は、ＲＡＭ１７０に格納されてもよいコンテンツ画像である。コンテンツ画像は、バーコード２７２が除去された文書２７０の走査済画像（又は表現）である。一実現例において、ステップ６７５は、文書２７０の走査済画像からバーコード要素の場所をマスキングし、コンテンツ画像のみを残すことにより実行される。しかし、文書２７０の走査済画像内のバーコード２７２からコンテンツ２７１を分離するためにあらゆる適切な方法がステップ６７５で使用されてもよい。別の実現例において、実現例がバーコード２７２をコンテンツ２７１から分離することを必要としない場合、ステップ６７５は省略されてもよい。
【００７５】
変換ステップ６８０において、プロセッサ１０５は、ステップ６７５のコンテンツ画像をコンテンツ６８６を有する表現６８５に変換する。表現６８５は、変換後のコンテンツ画像である。コンテンツ表現６８５は、走査済画像（又は印刷文書２７０の表現）を変更したものであり、ＲＡＭ１７０に格納されてもよい。ここでも、ステップ６８０はステップ６７５の前に実行されてもよく、その場合、ステップ６８０は文書２７０の変換済表現に対して動作する。
【００７６】
バーコード復号器ステップ６５０において、プロセッサ１０５は、印刷文書２７０の走査済画像を使用して、復号化表現（不図示）の形態の第２の文書を判定するためにバーコード２７２（又はバーコードの走査済画像）を復号化するステップを実行する。特にステップ６５０は、ステップ６４０の出力を使用してバーコード２７２から復号化表現を判定する。復号化表現は、図２のステップ２３０でバーコード２５１に符号化されたコンテンツ２１１の符号化表現を伸張したものである。復号化表現はＲＡＭ１７０に格納されてもよい。
【００７７】
方法６００は、劣化ステップ６６０に継続し、プロセッサ１０５は、文書２７０のコンテンツの劣化に従って復号化表現（又は第２の文書）のコンテンツを劣化させるステップを実行する。特にプロセッサ１０５は、印刷及び走査処理により導入された劣化をエミュレートするようにステップ６５０から得られた復号化表現を劣化させるためにステップ６７０から得られた計算された統計値を使用する。ステップ６６０の出力は劣化表現６７６である。劣化をエミュレートする方法は、方法４００の４７５で実行された動作の逆の動作を含む。この場合、ステップ６５０で出力された復号化表現は、空間領域においてステップ６７０で計算されたＰＳＦの推定値との畳み込みが行われる。従って、プロセッサ１０５は、復号化表現のコンテンツとＰＳＦとの畳み込みを行うステップを実行する。
【００７８】
あるいは、ドットゲイン又は印刷太り、画像モーメント、あるいは画素コントラスト又はガンマの変化のモデルは、ステップ６５０から得られた復号化表現に適用されてもよい。そのようなモデルは、多くの印刷及び走査済ページの実験的解析から導出されたルックアップテーブルの形態をとってもよい。例えばそのようなテーブルの１つのエントリは、高いドットゲインが検出された時にモルフォロジ収縮演算を開始してもよい。
【００７９】
方法６００は、比較ステップ６９０に継続し、プロセッサ１０５は、文書２７０（すなわち、第１の文書）を認証するために、コンテンツ表現６８５と劣化表現６７６とを比較する。特にステップ６９０において、プロセッサ１０５は、補償済表現６８５と劣化表現６７６との間の差分演算を実行し、改竄６９５の２次元指示を出力する。表現６８５及び６７６が画像領域にある場合、差分は画素毎の減算である。表現６８５及び６７６が圧縮済領域又は変換済領域にある場合、プロセッサ１０５は、ステップ６９０において比較を実行するために表現６８５及び６７６を局所的に伸張する必要があるだろう。
【００８０】
従って、ステップ６９０は、ステップ４９０とほぼ同一であるが、表現６８５及び６７６の双方とも補償済表現ではなく劣化表現である。この相違点はあるが、指示された改竄６９５は指示された改竄４９５とほぼ同一である。
【００８１】
方法６００の１つの利点は、印刷及び走査処理をエミュレートするための劣化が同一の印刷及び走査処理に対する補償と比較して実現するのが単純であり且つ効率的である可能性があることである。
【００８２】
図７は、印刷文書を認証する別の方法７００を概略的に示すブロック図である。上述したように、印刷文書は第１の文書と呼ばれてもよい。印刷文書２７０を参照して、方法７００を一例として説明する。ここでも、方法７００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアアプリケーションプログラム１３３の１つ以上のコードモジュールとして実現されてもよい。方法７００は、方法４００及び６００に対する変形例であり、バーコードの劣化の統計値は、比較処理に対する入力の１つを変更するために使用されるのではなく、比較処理（例えば、ステップ４９０及び６９０における）を直接変更するために使用される。
【００８３】
ここでも、方法７００を実行する前に、印刷文書２７０は文書２７０の元の走査済画像を生成するために走査機能を使用してデバイス１０１によりデジタル化される。ここでも、印刷文書２７０の元の走査済画像は印刷文書２７０（又は第１の文書）の表現と呼ばれてもよい。走査済画像はＲＡＭ１７０に格納されてもよい。
【００８４】
方法７００はバーコード検出ステップ７４０で開始し、プロセッサ１０５は、印刷文書２７０の走査済画像におけるバーコード２７２の複数のバーコード要素を検出するステップを実行する。特にプロセッサ１０５は、バーコード２７２のバーコード要素の少なくとも一部分に対するページの場所を判定する。上述したように、バーコード要素はドットである。ステップ７４０において、プロセッサ１０５は、バーコード２７２の形態の前の知識４３０と厳密にマッチングする画素パターンの探索を走査済画像の画素に対して繰り返す。前の知識４３０は、デバイス１０１の記憶モジュール１０９に格納されてもよい。
【００８５】
バーコード解析ステップ７７０において、プロセッサ１０５は、検出された複数のバーコード要素の各々と所定の形態のバーコード要素との間の視覚差分を判定するステップを実行する。特にプロセッサ１０５は、検出されたバーコード要素がバーコード２７２の予想された所定の形態の要素とどのように異なるかを示す１つ以上の統計値を判定するために検出されたバーコード要素を解析する。ここでも、バーコード要素が空間的に別個である場合、すなわちバーコード要素が重なり合わない場合、差分は方法５００に従って点広がり関数（ＰＳＦ）を推定することによりステップ７７０において判定されてもよい。
【００８６】
コンテンツ分離ステップ７７５において、プロセッサ１０５は、バーコード検出ステップ７４０の結果を使用して、文書２７０の走査済画像（又は表現）においてバーコード２７２からコンテンツ２７１を分離する。ステップ７７５の結果は、ＲＡＭ１７０に格納されてもよいコンテンツ画像である。ここでも、コンテンツ画像は、バーコード２７２が除去された文書２７０の走査済画像（又は表現）である。一実現例において、ステップ７７５は、文書２７０の走査済画像からバーコード要素の場所をマスキングし、コンテンツ画像のみを残すことにより実行される。しかし、文書２７０の走査済画像内のバーコード２７２からコンテンツ２７１を分離するためにあらゆる適切な方法がステップ７７５で使用されてもよい。別の実現例において、実現例がバーコード２７２をコンテンツ２７１から分離することを必要としない場合、ステップ７７５は省略されてもよい。
【００８７】
変換ステップ７８０において、プロセッサ１０５は、ステップ６７５のコンテンツ画像をコンテンツ６８６を有する表現６８５に変換する。表現６８５は、ＲＡＭ１７０に格納されてもよい。ここでも、ステップ７８０はステップ７７５の前に実行されてもよく、その場合、ステップ７８０は文書２７０の変換済表現に対して動作する。
【００８８】
バーコード復号器ステップ７５０において、プロセッサ１０５は、復号化表現４６０の形態の第２の文書を判定するためにバーコード２７２（又はバーコードの走査済画像）を復号化するステップを実行する。特にプロセッサ１０５は、バーコード２７２から復号化表現４６０を判定するためにステップ７４０の出力を使用する。上述したように、復号化表現４６０は、図２のステップ２３０でバーコード２５１に符号化されたコンテンツ２１１の符号化表現を伸張したものである。復号化表現４６０はＲＡＭ１７０に格納されてもよい。
【００８９】
方法７００は、比較ステップ７９０に継続し、プロセッサ１０５は、コンテンツ表現６８５、復号化表現４６０及びステップ７７０から得られた計算された統計値を入力として使用し、指示された改竄７９５を生成する。特にステップ７９０で実行された比較は、方法４００及び６００と同様の差分演算であるが、計算された統計値によりバイアスされる。従って、プロセッサ１０５はステップ７９０の比較をバイアスするステップを実行する。バイアスは、計算された統計値に対して線形でも非線形でもよく、グローバルバーコード統計値又はローカルバーコード統計値から計算されてもよい。例えば比較のバイアスは、文書２７０に対してグローバルバーコードの劣化の推定値から導出されてもよい。
【００９０】
あるいは、比較のバイアスは、画像の比較の領域に対してローカル領域のバーコードの劣化の推定値に基づいて導出されてもよい。比較のバイアスは、所定の形態のバーコード要素と検出された複数のバーコード要素の各々との間の視覚差分に関して線形であってもよい。方法７００において、バイアスは、多くの印刷及び走査済ページの実験的解析から導出されたルックアップテーブルから取得される。以下の説明では、明るい画素が大きい画素値を有し且つ暗い画素が小さい画素値を有すると仮定する。ステップ７７０で判定されたバーコードの統計値が局所領域において高いドットゲインを示す場合、局所領域内の画素に対して、正のバイアスがコンテンツ表現６８５と復号化表現４６０との間の差分に加えられる。ステップ７７０で判定されたバーコードの統計値がグローバルコントラストの一定な低下を示す場合、コンテンツ表現６８５における暗い画素又は領域に対して、負のバイアスがコンテンツ表現６８５と復号化表現４６０との間の差分に加えられる。明るい画素又は領域に対しては、正のバイアスがコンテンツ表現６８５と復号化表現４６０との間の差分に加えられる。
【００９１】
方法７００の１つの利点は、バーコードの劣化の統計値を考慮して比較を変更することの方がコンテンツ表現又は復号化表現を処理するよりも効率的であることである。
【００９２】
方法４００、６００及び７００は、バーコードが文書上にコンテンツと同一の場所に配置される場合の印刷品質の一般的な問題に対処するために使用されてもよい。
【００９３】
図８は、印刷処理及びその後の走査処理中に印刷文書に対して起こった劣化を補償する方法８００を概略的に示すブロック図である。方法８００は、印刷文書のコンテンツの印刷品質を向上するために実行される。
【００９４】
印刷文書２７０を参照して、方法８００を一例として説明する。ここでも、印刷文書２７０は第１の文書と呼ばれてもよい。また、方法８００は、記憶モジュール１０９に常駐し且つその実行中にプロセッサ１０５により制御されるソフトウェアアプリケーションプログラム１３３の１つ以上のコードモジュールとして実現されてもよい。
【００９５】
方法８００において、文書２７０のバーコード２７２に符号化されたデータは、必ずしもソース文書（例えば、ソース文書２１０）の表現である必要はなく、文書識別情報又は文書の作成者の詳細等の文書２７０に関連するどんな任意のデータであってもよい。
【００９６】
ここでも、方法８００を実行する前に、印刷文書２７０は、文書２７０の元の走査済画像表現を生成するために走査機能を使用してデバイス１０１によりデジタル化される。また、印刷文書２７０の元の走査済画像は印刷文書２７０（又は第１の文書）の表現と呼ばれてもよい。走査済画像はＲＡＭ１７０に格納されてもよい。
【００９７】
方法８００は、バーコード検出ステップ８４０で開始し、プロセッサ１０５は、印刷文書２７０の走査済画像においてバーコード２７２の複数のバーコード要素を検出するステップを実行する。特にプロセッサ１０５は、バーコード２７２のバーコード要素の少なくとも一部分に対するページの場所を判定する。上述したように、バーコード要素はドットである。あるいは、バーコード要素は線、グリフ又は他のマークであってもよい。ステップ８４０において、プロセッサ１０５は、デバイス１０１の記憶モジュール１０９に格納されるようなバーコード２７２の形態の前の知識４３０と厳密にマッチングする画素パターンの探索を走査済画像の画素に対して繰り返す。
【００９８】
バーコード解析ステップ８７０において、プロセッサ１０５は、検出された複数のバーコード要素の各々と所定の形態のバーコード要素との間の視覚差分を判定するステップを実行する。特にプロセッサ１０５は、検出されたバーコード要素がバーコード２７２の予想された形態の要素とどのように異なるかを示す１つ以上の統計値を判定するために検出されたバーコード要素を解析する。特にバーコード要素が空間的に別個である場合、すなわちバーコード要素が重なり合わない場合、差分は方法５００に従って点広がり関数（ＰＳＦ）を推定することによりステップ８７０において判定されてもよい。
【００９９】
コンテンツ分離ステップ８８０において、プロセッサ１０５は、バーコード検出ステップ８４０の結果を使用して、文書２７０の走査済画像（又は表現）においてバーコード２７２からコンテンツ２７１を分離する。ステップ８８０の結果は、ＲＡＭ１７０に格納されてもよいコンテンツ画像である。ここでも、コンテンツ画像は、バーコード２７２が除去された文書２７０の走査済画像である。一実現例において、ステップ８８０は、文書２７０の走査済画像からバーコード要素の場所をマスキングし、コンテンツ画像のみを残すことにより実行される。しかし、文書２７０の走査済画像内のバーコード２７２からコンテンツ２７１を分離するためにあらゆる適切な方法がステップ８８０で使用されてもよい。別の実現例において、実現例がバーコード２７２をコンテンツ２７１から分離することを必要としない場合、ステップ８８０は省略されてもよい。
【０１００】
方法８００は補償ステップ８９０に継続し、プロセッサ１０５は、ステップ８７０で判定された視覚差分に基づいて文書２７０を表現するコンテンツ画像のコンテンツを変更するステップを実行する。特にプロセッサ１０５は、文書２７０の印刷及び走査中の文書２７０のコンテンツ２７１の劣化を補償するためにステップ８７０で判定された統計値を使用する。特にステップ８８０で生成されたコンテンツ画像は、補償済コンテンツ８９６を含む補償済画像８９５を生成するためにリチャードソン・ルーシー反復逆畳み込みアルゴリズムによりフィルタリングされる。補償済画像８９５は、補償後のコンテンツ画像であり、電子的に配信されるか又は更に印刷されてもよい。
【０１０１】
バーコード復号器ステップ８５０において、プロセッサ１０５は、バーコード２７２から復号化データ８６０を判定するためにステップ８４０の出力を使用する。方法８００は、印刷及び走査処理中の文書２７０の劣化を補償することを付加的な目的としてバーコード２７２を使用する。
【０１０２】
方法８００の１つの利点は、複数の印刷及び走査動作の結果、補償が実行されなかった場合より劣化の少ないコンテンツ２７１（補償済コンテンツ８９６が結果として得られる）が得られることである。そのような利点は、追加のマーク（例えば、特に印刷及び走査処理による文書のコンテンツの劣化を判定又は測定するマーク）が文書に適用される必要なく文書に配置されたバーコードの要素を解析することにより達成されてもよいことが更に理解されるだろう。
【産業上の利用可能性】
【０１０３】
説明した構成は、コンピュータ及びデータ処理業界に適用可能である。
【０１０４】
上記は、本発明のいくつかの実施形態のみを説明したが、本発明の趣旨の範囲から逸脱せずに変形及び／又は変更が行なわれる。実施形態は、例示であり限定するものではない。
【０１０５】
本明細書において、用語「具備する」は、「主に含むが、単独で必要ではない」、「有する」又は「含む」ことを意味し、「〜のみから構成される」ことではない。用語「具備する」の語形変化は、それに対応して意味の変化を示す。
【図１Ａ】
2011124999.tif 000003
【図１Ｂ】
2011124999.tif 000004
【図２】
2011124999.tif 000005
【図３】
2011124999.tif 000006
【図４】
2011124999.tif 000007
【図５Ａ】
2011124999.tif 000008
【図５Ｂ】
2011124999.tif 000009
【図６】
2011124999.tif 000010
【図７】
2011124999.tif 000011
【図８】
2011124999.tif 000012
【外国語明細書】
2011124999000001.pdf