(57)【要約】【課題】ドキュメントに対して複数種類の埋め込みを行ない、それぞれに対して検証判定することで、原本に対する関係を判定することができるようにする。【解決手段】画像データを入力する画像データ入力工程と、ドキュメントデータを入力するドキュメントデータ入力工程と、付加情報を入力する付加情報入力工程と、前記ドキュメントデータに前記付加情報を埋め込み可能か否かを判定する判定工程と、前記判定工程による判定結果に応じて、前記画像データを第１の領域と第２の領域に分割する領域分割工程と、前記付加情報を前記第１の領域に埋め込む第１の付加情報埋め込み工程と、前記付加情報を前記第２の領域に埋め込む第２の付加情報埋め込み工程と、前記付加情報が埋め込まれた画像データと前記ドキュメントデータを合成する合成工程と、前記合成工程によって合成された画像データを出力する画像出力工程とを有する。【選択図】　図２８
2004007463.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメントデータに付加情報を埋め込む情報処理方法であって、
ドキュメントデータを入力するドキュメントデータ入力工程と、
付加情報を入力する付加情報入力工程と、
所定の画像を入力する画像入力工程と、
入力したドキュメントデータに対して、前記付加情報を埋め込む第１の埋め込み工程と、
入力した画像に前記付加情報を埋め込む第２の埋め込み工程と、
前記第１、第２の埋め込み工程での埋め込み結果を合成する合成工程と
を備えることを特徴とする情報処理方法。
【請求項２】
前記第１、第２の埋め込み工程は電子透かしによる埋め込みであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の埋め込み工程による耐性は、前記第１の埋め込み工程の耐性より低くすることを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記第２の埋め込み工程による耐性は、複写機で複写された場合に埋め込み情報の検証が不能になる低い耐性を有することを特徴とする請求項３に記載の情報処理方法。
【請求項５】
前記第１の埋め込み工程は、ドキュメントデータ中に含まれる部分画像の外接矩形とその隣接部分画像の外接矩形間の距離を調整することを各部分画像に対して行うことで情報を埋め込み、
前記第２の埋め込み工程は、画像入力工程で入力された画像の画素に対して変化を与えることで情報を埋め込む
ことを特徴とする請求項第１項に記載の情報処理方法。
【請求項６】
前記付加情報入力工程は、
前記ドキュメントデータ入力工程で入力したドキュメントデータから、当該ドキュメントに関する情報を抽出する抽出工程を含み、
当該抽出した情報を付加情報として入力することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理方法。
【請求項７】
更に、前記抽出工程で抽出された情報を暗号化処理する暗号化工程を備え、
前記第１、第２の埋め込み工程は、該暗号化工程によって暗号化処理された情報を付加情報として前記画像データに埋め込むことを特徴とする請求項６に記載の情報処理方法。
【請求項８】
更に、前記抽出工程で抽出された情報に誤り訂正符号処理する誤り訂正処理工程を備え、
前記第１、第２の埋め込み工程は、該誤り訂正符号処理工程で処理された情報を付加情報として前記画像データに埋め込むことを特徴とする請求項６に記載の情報処理方法。
【請求項９】
更に、前記抽出工程で抽出された情報を暗号化処理する暗号化工程と、
該暗号化工程で暗号化された情報に誤り訂正符号処理する誤り訂正処理工程とを備え、
前記第１、第２の埋め込み工程は、該誤り訂正符号処理工程で処理された情報を付加情報として前記画像データに埋め込むことを特徴とする請求項６に記載の情報処理方法。
【請求項１０】
ドキュメントデータがオリジナルと一致するかどうかを検証する情報処理方法であって、
ドキュメントデータを入力する工程と、
ドキュメントデータから、当該ドキュメントデータに複数の異なる埋め込み方法によって付加情報が埋め込まれているものとして、それぞれの埋め込み方法に対応する抽出工程を実行する工程と、
各抽出工程の抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定工程と
を備えることを特徴とする情報処理方法。
【請求項１１】
前記抽出工程は、第１、第２の抽出工程が含まれ、
前記判定工程は、前記第１、第２の抽出工程で付加情報が抽出できたか否か、抽出できた場合には抽出された付加情報に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する
ことを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記第１の抽出工程で抽出しようとする埋め込み方法は、前記第２の抽出工程で抽出しようとする埋め込み方法と異なる耐性を有することを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記第１の抽出工程は、ドキュメントデータの背景画像を構成する画素の変化に基づいて埋め込まれた付加情報を抽出し、
前記第２の抽出工程は、ドキュメントデータ中の部分画像の外接矩形と、その隣接する部分画像の外接矩形間の距離にもとづいて埋め込まれた付加情報を抽出する
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１４】
前記判定工程は、
前記第１、第２の抽出工程で抽出された付加情報が互いに一致する場合、入力したドキュメントデータはオリジナルに相当するものとして判定し、
いずれか一方のみが付加情報の抽出に成功した場合、或いは、両方とも抽出に成功した場合であってもそれぞれの付加情報が一致しない場合には複製物に相当するものとして判定し、
いずれによっても付加情報の抽出に失敗した場合には、検証不能として判定する
ことを特徴とする請求項１１乃至１３のいずれか１項に記載の情報処理方法。
【請求項１５】
ドキュメントデータに付加情報を埋め込む情報処理装置であって、
ドキュメントデータを入力するドキュメントデータ入力手段と、
付加情報を入力する付加情報入力手段と、
所定の画像を入力する画像入力手段と、
入力したドキュメントデータに対して、前記付加情報を埋め込む第１の埋め込み手段と、
入力した画像に前記付加情報を埋め込む第２の埋め込み手段と、
前記第１、第２の埋め込み手段での埋め込み結果を合成する合成手段と
を備えることを特徴とする情報処理装置。
【請求項１６】
ドキュメントデータに付加情報を埋め込む情報処理装置として機能するコンピュータプログラムであって、
ドキュメントデータを入力するドキュメントデータ入力手段と、
付加情報を入力する付加情報入力手段と、
所定の画像を入力する画像入力手段と、
入力したドキュメントデータに対して、前記付加情報を埋め込む第１の埋め込み手段と、
入力した画像に前記付加情報を埋め込む第２の埋め込み手段と、
前記第１、第２の埋め込み手段での埋め込み結果を合成する合成手段として機能することを特徴とするコンピュータプログラム。
【請求項１７】
請求項１６に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１８】
ドキュメントデータがオリジナルと一致するかどうかを検証する情報処理装置であって、
ドキュメントデータを入力する入力手段と、
複数の異なる埋め込み方法によって埋め込まれた付加情報を抽出するため、それぞれの埋め込み方法に応じた、複数の異なる抽出手段と、
入力手段で入力されたドキュメントデータに対して、各抽出手段を実行させ、それぞれの抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定手段と
を備えることを特徴とする情報処理装置。
【請求項１９】
ドキュメントデータがオリジナルと一致するかどうかを検証する情報処理装置として機能するコンピュータプログラムであって、
ドキュメントデータを入力する入力手段と、
複数の異なる埋め込み方法によって埋め込まれた付加情報を抽出するため、それぞれの埋め込み方法に応じた、複数の異なる抽出手段と、
入力手段で入力されたドキュメントデータに対して、各抽出手段を実行させ、それぞれの抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定手段として機能することを特徴とするコンピュータプログラム。
【請求項２０】
請求項１９に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項２１】
複写物か否かを検証可能な文書を作成する文書作成方法であって、
画像データを入力する画像データ入力工程と、
ドキュメントデータを入力するドキュメントデータ入力工程と、
付加情報を入力する付加情報入力工程と、
前記ドキュメントデータに前記付加情報を埋め込み可能か否かを判定する判定工程と、
前記判定工程による判定結果に応じて、前記画像データを第１の領域と第２の領域に分割する領域分割工程と、
前記付加情報を前記第１の領域に埋め込む第１の付加情報埋め込み工程と、
前記付加情報を前記第２の領域に埋め込む第２の付加情報埋め込み工程と、
前記付加情報が埋め込まれた画像データと前記ドキュメントデータを合成する合成工程と、
前記合成工程によって合成された画像データを出力する画像出力工程
とを有することを特徴とする情報処理方法。
【請求項２２】
前記第１、第２の付加情報埋め込み工程は電子透かしによる埋め込みであることを特徴とする請求項２１に記載の情報処理方法。
【請求項２３】
前記第１、２の埋め込み工程のいずれか一方による耐性は、前記第１の埋め込み工程の耐性のもう一方より低くすることを特徴とする請求項２２に記載の情報処理方法。
【請求項２４】
前記第１、２の埋め込み工程のいずれか一方による耐性は、複写機で複写された場合に埋め込み情報の検証が不能になる低い耐性を有することを特徴とする請求項２３に記載の情報処理方法。
【請求項２５】
前記第１、２の埋め込み工程のいずれか一方は、１次元或いは２次元バーコードを添付することにより前記付加情報を付加することを特徴とする請求項２１に記載の情報処理方法。
【請求項２６】
ドキュメントデータがオリジナルと一致するかどうかを検証する検証方法であって、
ドキュメントデータを入力するドキュメントデータ入力工程と、
前記入力されたドキュメントデータに応じて、前記ドキュメントデータを少なくとも２つ以上の領域に分割する領域分割工程と、
分割された夫々の領域に異なる埋め込み方法によって付加情報が埋め込まれているものとして、夫々の埋め込み方法に対応する抽出工程を実行する工程と、
各抽出工程の抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定工程と
を備えることを特徴とする情報処理方法。
【請求項２７】
前記抽出工程は、第１、第２の抽出工程が含まれ、
前記判定工程は、前記第１、第２の抽出工程で付加情報が抽出できたか否か、抽出できた場合には抽出された付加情報に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する
ことを特徴とする請求項２６に記載の情報処理方法。
【請求項２８】
前記第１の抽出工程で抽出しようとする埋め込み方法は、前記第２の抽出工程で抽出しようとする埋め込み方法と異なる耐性を有することを特徴とする請求項２７に記載の情報処理方法。
【請求項２９】
前記第１、第２の抽出工程は、ドキュメントデータの背景画像を構成する画素の変化に基づいて埋め込まれた付加情報を抽出することを特徴とする請求項２７に記載の情報処理方法。
【請求項３０】
前記第１、第２の抽出工程の何れか一方は、前記ドキュメントデータに添付されたバーコードを読み取ることにより付加情報を抽出することを特徴とする請求項２７に記載の情報処理方法。
【請求項３１】
前記判定工程は、
前記第１、第２の抽出工程で抽出された付加情報が互いに一致する場合、入力したドキュメントデータはオリジナルに相当するものとして判定し、
いずれか一方のみが付加情報の抽出に成功した場合、或いは、両方とも抽出に成功した場合であってもそれぞれの付加情報が一致しない場合には複製物に相当するものとして判定し、
いずれによっても付加情報の抽出に失敗した場合には、検証不能として判定する
ことを特徴とする請求項２７乃至２９のいずれか１項に記載の情報処理方法。
【請求項３２】
前記第１、第２の抽出工程の何れか一方による抽出結果に応じて、もう一方の抽出工程の実行を制御することを特徴とする請求項２７乃至３１のいずれか１項に記載の情報処理方法。
【請求項３３】
複写物か否かを検証可能な文書を作成する文書作成装置であって、
画像データを入力する画像データ入力手段と、
ドキュメントデータを入力するドキュメントデータ入力手段と、
付加情報を入力する付加情報入力手段と、
前記ドキュメントデータに前記付加情報を埋め込み可能か否かを判定する判定手段と、
前記判定手段による判定結果に応じて、前記画像データを第１の領域と第２の領域に分割する領域分割手段と、
前記付加情報を前記第１の領域に埋め込む第１の付加情報埋め込み手段と、
前記付加情報を前記第２の領域に埋め込む第２の付加情報埋め込み手段と、
前記付加情報が埋め込まれた画像データと前記ドキュメントデータを合成する合成手段と、
前記合成工程によって合成された画像データを出力する画像出力手段
とを有することを特徴とする情報処理装置。
【請求項３４】
ドキュメントデータに付加情報を埋め込む情報処理装置として機能するコンピュータプログラムであって、
画像データを入力する画像データ入力手段と、
ドキュメントデータを入力するドキュメントデータ入力手段と、
付加情報を入力する付加情報入力手段と、
前記ドキュメントデータに前記付加情報を埋め込み可能か否かを判定する判定手段と、
前記判定手段による判定結果に応じて、前記画像データを第１の領域と第２の領域に分割する領域分割手段と、
前記付加情報を前記第１の領域に埋め込む第１の付加情報埋め込み手段と、
前記付加情報を前記第２の領域に埋め込む第２の付加情報埋め込み手段と、
前記付加情報が埋め込まれた画像データと前記ドキュメントデータを合成する合成手段と、
前記合成工程によって合成された画像データを出力する画像出力手段として機能することを特徴とするコンピュータプログラム。
【請求項３５】
請求項３４に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項３６】
ドキュメントデータがオリジナルと一致するかどうかを検証する検証装置であって、
ドキュメントデータを入力するドキュメントデータ入力手段と、
前記入力されたドキュメントデータに応じて、前記ドキュメントデータを少なくとも２つ以上の領域に分割する領域分割手段と、
分割された夫々の領域に異なる埋め込み方法によって付加情報が埋め込まれているものとして、夫々の埋め込み方法に対応する抽出工程を実行する手段と、
各抽出手段の抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定手段と
を備えることを特徴とする情報処理装置。
【請求項３７】
ドキュメントデータがオリジナルと一致するかどうかを検証する検証装置として機能するコンピュータプログラムであって、
ドキュメントデータを入力するドキュメントデータ入力手段と、
前記入力されたドキュメントデータに応じて、前記ドキュメントデータを少なくとも２つ以上の領域に分割する領域分割手段と、
分割された夫々の領域に異なる埋め込み方法によって付加情報が埋め込まれているものとして、夫々の埋め込み方法に対応する抽出工程を実行する手段と、
各抽出手段の抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定手段と
として機能することを特徴とするコンピュータプログラム。
【請求項３８】
請求項３７に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、与えられたドキュメントデータと原本（オリジナル）との関係を検証する情報処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体に関するものである。
【０００２】
【従来の技術】
近年プリンタ、複写機などのデジタル画像形成装置において、その画質の向上は著しく、容易に高画質の印刷物を手にすることができるようになってきている。つまり誰もが高性能スキャナ、プリンタ、複写機そしてコンピュータによる画像処理により、要求される印刷物を得ることが可能となってきている。更に、近年の複写機の高性能化に伴い、こうして作成された文書の不正コピーの問題が発生し、それらを防止、抑止、或いは追跡するためのセキュリティ技術は急速に重要性を増している。
【０００３】
例えば、特許文献１で提案されている方法においては、複写機やプリンター等で原稿を出力する際に、出力する複写機やプリンター固有の識別情報を人間の目に識別しにくい色材を用いて付加した後に出力する。こうして出力された原稿が後にコピーされた場合には、コピーされた原稿から、前記付加された複写機やプリンター固有の識別情報を読み取り、解析することにより、出力された複写機やプリンターを特定することが可能である。
【０００４】
【特許文献１】
特許第２６１４３６９号公報
【０００５】
【発明が解決しようとする課題】
上記のように、従来の技術においては、出力された複写機やプリンターを特定することは可能であり、これにより不正コピーの追跡を行うことは可能であったが、複写物であるか原本であるかを検証することは困難であった。
【０００６】
本発明はかかる点に鑑みなされたものであり、複数種類の埋め込みを行ない、それぞれに対して検証判定することで、例えば、対象となるドキュメントデータが原本（オリジナル）に相当するか、複写物に相当するかを検証することを可能ならしめる情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体を提供しようとするものである。
【０００７】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の情報処理方法は以下の工程を備える。すなわち、
ドキュメントデータに付加情報を埋め込む情報処理方法であって、
ドキュメントデータを入力するドキュメントデータ入力工程と、
付加情報を入力する付加情報入力工程と、
所定の画像を入力する画像入力工程と、
入力したドキュメントデータに対して、前記付加情報を埋め込む第１の埋め込み工程と、
入力した画像に前記付加情報を埋め込む第２の埋め込み工程と、
前記第１、第２の埋め込み工程での埋め込み結果を合成する合成工程とを備える。
【０００８】
また、他の発明の情報処理方法は以下の工程を備える。すなわち、
ドキュメントデータがオリジナルと一致するかどうかを検証する情報処理方法であって、
ドキュメントデータを入力する工程と、
ドキュメントデータから、当該ドキュメントデータに複数の異なる埋め込み方法によって付加情報が埋め込まれているものとして、それぞれの埋め込み方法に対応する抽出工程を実行する工程と、
各抽出工程の抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定工程とを備える。
【０００９】
また、他の発明の情報処理方法は以下の工程を備える。すなわち、複写物か否かを検証可能な文書を作成する文書作成方法であって、
画像データを入力する画像データ入力工程と、
ドキュメントデータを入力するドキュメントデータ入力工程と、
付加情報を入力する付加情報入力工程と、
前記ドキュメントデータに前記付加情報を埋め込み可能か否かを判定する判定工程と、
前記判定工程による判定結果に応じて、前記画像データを第１の領域と第２の領域に分割する領域分割工程と、
前記付加情報を前記第１の領域に埋め込む第１の付加情報埋め込み工程と、
前記付加情報を前記第２の領域に埋め込む第２の付加情報埋め込み工程と、
前記付加情報が埋め込まれた画像データと前記ドキュメントデータを合成する合成工程と、
前記合成工程によって合成された画像データを出力する画像出力工程とを有する。
【００１０】
また、他の発明の情報処理方法は以下の工程を備える。すなわち、
ドキュメントデータがオリジナルと一致するかどうかを検証する検証方法であって、
ドキュメントデータを入力するドキュメントデータ入力工程と、
前記入力されたドキュメントデータに応じて、前記ドキュメントデータを少なくとも２つ以上の領域に分割する領域分割工程と、
分割された夫々の領域に異なる埋め込み方法によって付加情報が埋め込まれているものとして、夫々の埋め込み方法に対応する抽出工程を実行する工程と、
各抽出工程の抽出結果に基づいて、入力したドキュメントデータのオリジナルに対する関係を判定する判定工程とを備える。
【００１１】
【本発明の実施の形態】
以下、添付図面に従って本発明にかかる実施形態を詳細に説明する。
【００１２】
＜第１の実施形態＞
図３は本実施の形態に適用可能な情報処理装置の全体構成を示したものである。本図において、ホストコンピュータ３０１は、例えば一般に普及しているパーソナルコンピュータ等であり、スキャナ３１９から読み取られた画像を入力し、編集・保管することが可能である。同様に、デジタルカメラ３２１を用いて撮影された画像を入力し、同様に編集・保管することも可能である。更に、ここで得られた画像をプリンタ３１７から印刷させることが可能である。また、ユーザーからの各種マニュアル指示等は、ポインティングデバイスとしてマウス３１１、キーボード３１２からの入力により行われる。更に、モデム３１３やＮＩＣ（Ｎｅｔｗｏｒｋ　Ｉｎｔｅｒｆａｃｅ　Ｃａｒｄ）３１５を用いて他のコンピュータと種々のデータを送受信することが可能である。
【００１３】
ホストコンピュータ３０１の内部では、バス３２３により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
【００１４】
図中、３０２は、ホストコンピュータからの種々の情報を表示することの出来るモニタである。
【００１５】
３０３は、内部の各ブロックの動作を制御、或いは内部に記憶されたプログラムを実行することのできるＣＰＵである。３０４は、ＢＩＯＳやブートプログラムを記憶しているＲＡＭである。３０５はＣＰＵ３０３にて処理を行うために一時的にプログラムや処理対象の画像データを格納しておくＲＡＭであり、ここにＯＳや実施形態で説明する各種処理を行うためのプログラムがロードされることになる。
【００１６】
３０６は、ＲＡＭ等に転送されるＯＳやプログラムを格納したり、装置が動作中に画像データを格納したり、読出すために使用されるハードディスク（ＨＤ）である。３０８は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ）に記憶されたデータを読み込み或いは書き出すことのできるＣＤドライブである。３０９は、３０８と同様にＦＤからの読み込み、ＦＤへの書き出しができるＦＤドライブである。３１０も、３０８と同様にＤＶＤからの読み込み、ＤＶＤへの書き出しができるＤＶＤドライブである。尚、ＣＤ，ＦＤ，ＤＶＤ等に画像編集用のプログラムが記憶されている場合には、これらプログラムをＨＤ３０６上にインストールし、必要に応じてＲＡＭ３０５に転送されるようになっている。
【００１７】
３１４は、ポインティングデバイス（マウス（Ｒ）等）３１１或いはキーボード３１２からの入力指示を受け付けたり、モデム３１３を用いて他のコンピュータとデータを送受信するためにこれらと接続されるインターフェイス（Ｉ／Ｆ）である。
【００１８】
３１６は、ＮＩＣ３１５を用いて、ＨＤ３０６、ＣＤ３０８、ＦＤ３０９、ＤＶＤ３１０などに記憶されている種々のデータを他のコンピュータと送受信するためにこれらと接続されるインターフェイス（Ｉ／Ｆ）である。
【００１９】
３１８は、ＨＤ３０６、ＣＤ３０８、ＦＤ３０９、ＤＶＤ３１０などに記憶されている画像データや文字データをプリンタ１１７を用いて紙の媒体に出力するためにこれらと接続されるプリンタインターフェイス（Ｉ／Ｆ）である。
【００２０】
３２０は、スキャナ３１９から入力された画像データを受け付け、ＨＤ３０６やＲＡＭ３０５に記憶するためにこれらと接続されるインターフェイス（Ｉ／Ｆ）である。
【００２１】
３２２は、デジタルカメラ３２１を用いて撮影された画像データを受け付け、ＨＤ３０６やＲＡＭ３０５に記憶するためにこれらと接続されるインターフェイス（Ｉ／Ｆ）である。
【００２２】
［署名処理部］
以下、図１を用いて本実施の形態に適用される署名処理部（機能）を説明する。なお、以下の説明では、ホストコンピュータ３０１に電源が投入され、ＯＳがＲＡＭ３０５にロードされ、しかる後に、本実施形態で説明する処理を行うアプリケーションがＲＡＭ３０５にロードされている場合である。従って、各処理部は、該当するプログラム及びそれを実行するＣＰＵ３０３、場合によっては周辺のハードウェアでもって実現することになる。
【００２３】
図１に示すように、本実施形態における署名処理部は、画像発生部１０１、付加情報発生部１０２、ドキュメントデータ発生部１０３、第１の付加情報埋め込み部１０４、第２の付加情報埋め込み部１０５、合成部１０６、画像出力部１０７から構成される。
【００２４】
なお、ここで説明する署名処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【００２５】
まず、画像発生部１０１の機能について説明する。画像発生部１０１は、後述するドキュメントデータの背景に設定される画像データＩ１を発生する。発生した画像データＩ１は第１の付加情報埋め込み部１０４に出力される。
【００２６】
以降の説明では、説明を簡単にするために、画像データＩ１はモノクロの多値画像を表現しているものとするが、本発明はこのような場合には限定されず、フルカラー画像や２値画像を適用することも可能であることは明らかである。
【００２７】
画像発生部１０１で画像データＩ１を発生させる手段としては、図３におけるＲＯＭ３０４，ＲＡＭ３０５，ＨＤ３０６，ＣＤ３０８，ＦＤ３０９，ＤＶＤ３１０などに予め記憶されている画像データを読み出して用いることや、モデム３１３、ＮＩＣ３１５などを用いてネットワークを通じて画像データを受信して用いることや、スキャナ３１９、デジタルカメラ３２１などを用いて紙に印刷されている原稿をデジタル化して用いることなど種々の手段を用いることが可能である。画像発生部１０１において発生した画像データＩ１は一旦ＲＡＭ３０５に保持される。
【００２８】
次に、付加情報発生部１０２の機能について説明する。付加情報発生部１０２は、後述する第１の付加情報埋め込み部１０４、及び、第２の付加情報埋め込み部１０５において画像データＩ１、或いは、ドキュメントデータＤ１に付加するための付加情報Ｉｎｆ１を生成する。生成された付加情報Ｉｎｆ１は、一旦ＲＡＭ３０５に保持される。
【００２９】
付加情報Ｉｎｆ１としては、出力装置固有の情報、出力日時に関する情報、出力者に関する情報などや、これらの情報の組み合わせが設定可能である。付加情報Ｉｎｆ１を発生させる手段としては、ＲＯＭ３０４やＲＡＭ３０５などに予め記録されている情報を用いることや、モデム１１３やＮＩＣ３１５などを用いてネットワーク上から送信されてくる情報を受信して用いることや、マウス３１１やキーボード０３１２などを用いて利用者が入力した情報を用いることなどが可能である。
【００３０】
尚、生成された付加情報Ｉｎｆ１は、付加情報Ｉｎｆ１が容易に悪用されない様に暗号化されても良い。且つ／または、付加情報Ｉｎｆ１は、付加情報Ｉｎｆ１が後述する電子透かしとして埋め込まれた画像データＩ３に対して、悪意を持った人間により、画像データＩ３から抽出できない様に内容変更（以下攻撃と呼ぶ）が施された場合にも、正しくその情報を抽出できる様に、誤り訂正符号化が施されても良い。こうして出力された付加情報Ｉｎｆ１は、一旦ＲＡＭ３０５に保持される。
【００３１】
次に、ドキュメントデータ発生部１０３の機能について説明する。ドキュメントデータ発生部１０３は、本実施形態における署名処理部において署名が施されるドキュメントデータＤ１を発生する。発生したドキュメントデータＤ１は、第２の付加情報埋め込み部１０５に出力される。
【００３２】
以降の説明では、説明を簡単にするために、ドキュメントデータＤ１は文書（白地に黒の文字）の２値画像を表現しているものとするが、本発明はこのような場合には限定されず、多値画像やフルカラー画像を適用することも可能であることは明らかである。また、ドキュメントデータＤ１としてＰＤＦなどの非画像データが発生した場合には、画像データに変換してから処理を行えばよい。
【００３３】
ドキュメントデータ発生部１０３がドキュメントデータを発生する手段としては、前述した画像発生部１０１における手段と同様の手段が適用可能である。ドキュメントデータ発生部１０３において発生したドキュメントデータＤ１は一旦ＲＡＭ３０５に保持される。
【００３４】
次に、第１の付加情報埋め込み部１０４の機能について説明する。第１の付加情報埋め込み部１０４は、前記画像発生手段１０１において発生した画像データＩ１、及び前記付加情報発生手段１０２において発生した付加情報Ｉｎｆ１を、ＲＡＭ０３０５から入力する。そして、その入力された付加情報Ｉｎｆ１を、電子透かしとして画像データＩ１に埋め込み、画像データＩ２として出力する。
【００３５】
ここで、第１の付加情報埋め込み処理のために用いる電子透かし埋め込み方法としては、攻撃に対する耐性が比較的弱く、即ち電子透かしが埋め込まれた画像データがコピーされた場合に、電子透かしが壊れたり、消えたりする性質を有する方式を用いる。第１の電子透かしの埋め込み方法の詳細については後述する。付加情報Ｉｎｆ１が埋め込まれた画像データＩ２は、一旦ＲＡＭ３０５に保持される。
【００３６】
次に、第２の付加情報埋め込み部１０５の機能について説明する。第２の付加情報埋め込み部１０５は、前記ドキュメントデータ発生手段１０３において発生したドキュメントデータＤ１、及び前記付加情報発生手段１０２において発生した付加情報Ｉｎｆ１を、ＲＡＭ３０５から入力し、入力された付加情報Ｉｎｆ１を電子透かしとしてドキュメントデータＤ１に埋め込み、その結果をドキュメントデータデータＤ２として出力する。
【００３７】
ここで、第２の付加情報埋め込み処理のために用いる電子透かし埋め込み方法としては、攻撃に対する耐性が比較的強く、即ち電子透かしが埋め込まれた画像データがコピーされた場合にも、電子透かしが残り、正しく抽出可能な性質を有する方式を用いる。第２の電子透かしの埋め込み方法の詳細については後述する。付加情報Ｉｎｆ１が埋め込まれたドキュメントデータＤ２は、一旦ＲＡＭ３０５に保持される。
【００３８】
次に、合成部１０６の機能について説明する。合成部１０６は、前記第１の付加情報埋め込み部１０４において付加情報Ｉｎｆ１が埋め込まれた画像データＩ２、及び前記第２の付加情報埋め込み部０１０５において付加情報Ｉｎｆ１が埋め込まれたドキュメントデータＤ２を、ＲＡＭ０３０５から入力し、入力された画像データＩ２とドキュメントデータＤ２を合成し、その結果をデータＩ３として出力する。
【００３９】
ここで、合成部０１０６において実行される処理の例を図４を用いて説明する。図４において、４０１は合成部１０６に入力される画像データＩ２、４０２は合成部１０６に入力されるドキュメントデータＤ２，４０３は合成部１０６によって前記画像データ４０１とドキュメントデータ４０２の合成後の画像データＩ３に対応する。図４に示すように、画像データＩ２はドキュメントデータＤ２の背景としてドキュメントデータＤ２の上に重ねられるように合成される。以上のように合成された画像データＩ３は、一旦ＲＡＭ３０５に保持される。
【００４０】
次に、画像出力部１０７の機能について説明する。画像出力手段１０７は、前記合成部１０６において合成された画像データＩ３をＲＡＭ０３０５から入力し、入力された画像データＩ３を出力する。
【００４１】
ここで、画像データＩ３を出力する手段としては、図３におけるＲＡＭ３０５，ＨＤ３０６，ＣＤ３０８（ＣＤＲやＣＤＲＷの場合），ＦＤ３０９，ＤＶＤ３１０（ＤＶＤ−ＲＡＭやＤＶＤ−Ｒ等の場合）などに記録することや、モデム３１３、ＮＩＣ３１５などを用いてネットワークを通じて送信することや、プリンター１１７などを用いて紙に印刷することなど種々の手段を実行することが可能である。
【００４２】
以上、本実施の形態における署名処理部について説明した。
【００４３】
［検証処理部］
次に、図２を用いて本実施形態に適用される検証処理部（機能）を説明する。
【００４４】
図２に示すように、本実施の形態における検証処理部は、ドキュメントデータ発生部２０１、第１の付加情報抽出部２０２、第２の付加情報抽出部２０３、及び検証部２０４から構成される。
【００４５】
尚、個々で説明する検証処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして備えたものとして考慮されるべきものである。
【００４６】
まず、ドキュメントデータ発生部２０１の機能について説明する。ドキュメントデータ発生部２０１は、検証対象となるドキュメントデータＩ４を発生する。発生したドキュメントデータＩ４は第１の付加情報抽出部２０２、及び、第２の付加情報抽出部２０３に出力される。ここで、ドキュメントデータ発生部２０１がドキュメントデータＩ４を発生させる手段としては、前述した図１における画像発生部１０１における手段と同様の手段を用いることが可能であるので詳細な説明は省略する。ドキュメントデータ発生部２０１において発生したドキュメントデータＩ４は一旦ＲＡＭ３０５に保持される。勿論、図１における画像出力部１０７より出力されたデータである場合には、検証できることになる。
【００４７】
次に、第１の付加情報抽出部２０２の機能について説明する。第１の付加情報抽出部２０２は、前記ドキュメントデータ発生部２０１から出力されたドキュメントデータデータＩ４をＲＡＭ３０５より入力し、入力されたドキュメントデータＩ４から電子透かしとして埋め込まれている第１の付加情報Ｉｎｆ２を抽出し、出力する。第１の電子透かしの抽出方法の詳細については後述する。
【００４８】
ここで、抽出した第１の付加情報Ｉｎｆ２が誤り訂正符号化されている場合には誤り訂正復号処理を、また暗号化されている場合には暗号復号処理を実行するようにする。更に、第１の付加情報Ｉｎｆ２が抽出されなかった場合には、「第１の付加情報は埋め込まれていない」を意味する付加情報Ｉｎｆ２（例えば、ＮＵＬＬ）を出力する。抽出された第１の付加情報Ｉｎｆ２は、一旦ＲＡＭ３０５に保持される。
【００４９】
次に、第２の付加情報抽出部２０３の機能について説明する。第２の付加情報抽出部２０３は、前記ドキュメントデータ発生部２０１から出力されたドキュメントデータデータＩ４をＲＡＭ３０５より入力し、入力されたドキュメントデータＩ４から電子透かしとして埋め込まれている第２の付加情報Ｉｎｆ３を抽出し、出力する。第２の電子透かしの抽出方法の詳細については後述する。
【００５０】
ここで、抽出した第２の付加情報Ｉｎｆ３が誤り訂正符号化されている場合には誤り訂正復号処理を、また暗号化されている場合には暗号復号処理を実行するようにする。更に、第２の付加情報Ｉｎｆ３が抽出されなかった場合には、「第２の付加情報は埋め込まれていない」を意味する付加情報Ｉｎｆ３（例えば、ＮＵＬＬ）を出力する。抽出された第２の付加情報Ｉｎｆ３は、一旦ＲＡＭ３０５に保持される。
【００５１】
次に、検証部２０４の機能について説明する。検証部２０４は、前記第１の付加情報抽出部２０２において抽出された第１の付加情報Ｉｎｆ２、及、び前記第２の付加情報抽出手段２０３において抽出された第２の付加情報Ｉｎｆ３を、ＲＡＭ３０５から入力し、入力された第１の付加情報Ｉｎｆ２と第２の付加情報Ｉｎｆ３を用いて検証処理を行う。
【００５２】
ここで、検証処理とは、第１の付加情報Ｉｎｆ２と第２の付加情報Ｉｎｆ３とが両方とも抽出され、且つ、両者が等しい場合には「原本」であると判断し、第２の付加情報Ｉｎｆ３が抽出されなかった場合には「検証不可能」であると判断し、それ以外の場合には「複写物」であると判断し、その結果を出力する。例えば表示画面にその旨のメッセージを表示する等を行えば良いので、その出力形態は問わない。
【００５３】
検証処理部２０４において実行される検証処理のフローの詳細を、図２０を用いて説明する。
【００５４】
まずはじめに、ステップＳ２００１について説明する。ステップＳ２００１においては、ＲＡＭ３０５に保持されている第２の付加情報Ｉｎｆ３を読み出し、第２の付加情報Ｉｎｆ３が抽出されたか否かが判定される。ステップＳ２００１の判定結果が「Ｙｅｓ」なら処理Ｓ２００２に処理を進める。一方で、「Ｎｏ」なら「検証不可能」と判断し、処理を終了する。
【００５５】
ここで、ステップＳ２００１の原理について説明する。第２の付加情報Ｉｎｆ３はコピーに対して耐性のある電子透かしとして埋め込まれている。よって、前述した署名処理部において生成された画像データＩ３がコピーされた画像データＩ４が検証処理部に入力された場合にも、第２の付加情報Ｉｎｆ３は正しく抽出することが可能である。以上のことから、第２の付加情報Ｉｎｆ３が正しく抽出されたか否かによって、本実施形態における署名処理部からの出力かどうかを判断可能である。即ち、第２の付加情報Ｉｎｆ３が抽出された場合には、本実施形態における署名処理部からの出力物であると判断し処理を進める。一方で、第２の付加情報Ｉｎｆ３が抽出されなかった場合には、本実施の形態における署名処理部からの出力物ではないと判断し処理を終了する。
【００５６】
次に、ステップＳ２００２について説明する。ここでは、ＲＡＭ３０５に保持されている第１の付加情報Ｉｎｆ２を読み出し、第１の付加情報Ｉｎｆ２が抽出されたか否かが判定される。ステップＳ２００２の判定結果が「Ｙｅｓ」ならステップＳ２００３に処理を進める。一方で、「Ｎｏ」なら「複写物」であると判断し、処理を終了する。
【００５７】
ここで、ステップＳ２００２の原理について説明する。第１の付加情報Ｉｎｆ２はコピーに対して耐性のない電子透かしとして埋め込まれている。よって、前述した署名処理部において生成された画像データＩ３がコピーされた画像データＩ４が検証処理部に入力された場合には、第１の付加情報Ｉｎｆ２を正しく抽出することは困難である。以上のことから、第１の付加情報Ｉｎｆ２が正しく抽出されたかどうかによって、複写物であるか否かが判断可能である。即ち第１の付加情報Ｉｎｆ２が抽出されなかった場合には、複写物であると判断し処理を終了する。一方で、第１の付加情報Ｉｎｆ２が抽出された場合には、原本であるかどうかを判断するために処理を進める。
【００５８】
次に、ステップＳ２００３について説明する。ステップＳ２００３においては、ＲＡＭ３０５に保持されている第１の付加情報Ｉｎｆ２，及び第２の付加情報Ｉｎｆ３を読み出し、第１の付加情報Ｉｎｆ２と第２の付加情報Ｉｎｆ３が一致するか否かが判定される。一致する場合（判定結果が「Ｙｅｓ」の場合）には「原本」であると判断し、処理を終了する。一方で、一致しない場合（判定結果が「Ｎｏ」の場合）には「複写物」であると判断し、処理を終了する。
【００５９】
ここで、ステップＳ２００３の原理について説明する。ステップＳ２００３の段階では、第１の付加情報Ｉｎｆ２と第２の付加情報Ｉｎｆ３は共に抽出されている。ところで、前述したように第１の付加情報Ｉｎｆ２は攻撃に対する耐性が弱い電子透かしとして埋め込まれている。よって、本実施の形態における検証処理部に入力されたドキュメントデータＩ４が複写物である場合、たとえ前段のステップＳ２００２において第１の付加情報Ｉｎｆ２が抽出されていたとしても、第１の付加情報Ｉｎｆ２は破壊されている可能性がある。一方で、前述したように第２の付加情報Ｉｎｆ３は攻撃に対する耐性が強い電子透かしとして埋め込まれている。よって、本実施形態における検証処理部に入力されたドキュメントデータＩ４が複写物であった場合でも、第２の付加情報Ｉｎｆ３が破壊されている可能性は小さい。以上のことから、抽出された二つの付加情報（第１の付加情報Ｉｎｆ２及び第２の付加情報Ｉｎｆ３）が一致する場合には「原本」であると判断し、一致しない場合には「複写物」であると判断することが可能である。
【００６０】
ここで、検証部２０４において実行される検証処理の一例を図５を用いて説明する。図５において、５０１は原本が入力された場合の処理の流れの例を、５０２は本実施の形態における署名処理部からの出力でない原稿が入力された場合（即ち検証不可能である場合）の処理の流れの例、５０３、及び５０４は複写物が入力された場合の例を示す。
【００６１】
５０１において、第１の付加情報Ｉｎｆ２、仮に「１２３４５」と第２の付加情報Ｉｎｆ３「１２３４５」は一致することから「原本」であると判断する。次に、５０２においては、第２の付加情報Ｉｎｆ３「ＮＵＬＬ」は「第２の情報が抽出されなかった、或いは抽出失敗」ということを示す情報であることから「検証不可能」であると判断する。次に、５０３においては、第１の付加情報Ｉｎｆ２「５６７８９」と第２の付加情報Ｉｎｆ３「１２３４５」は一致しないことから「複写物」であると判断する。同様に、５０４においては、第１の付加情報Ｉｎｆ２「ＮＵＬＬ」が「第１の情報が抽出されなかった」ということを示す情報であることから「複写物」であると判断する。
【００６２】
以上のように検証部２０４で判定された検証結果は、モニター３０２を用いて利用者に示すことや、ＲＡＭ３０５、ＨＤ３０６などに記憶して他のシステムで用いることや、モデム３１３やＮＩＣ３１５を用いてネットワーク先のシステムに送信することなどが可能である。
【００６３】
以上、本実施形態における検証処理部について説明した。
【００６４】
［第１の電子透かし埋め込み］
以下、図６を用いて本発明に適用される第１の電子透かしの埋め込み処理部（機能）を説明する。
【００６５】
まず、以下で説明する電子透かし（デジタルウォーターマーク）とは、“不可視の”電子透かしとも呼ばれ、人間の視覚では殆ど認識できないレベルの変化を、オリジナル画像データＩに対して付加させることである。この各変化量は、画像データの輝度値や濃度などに対して与えられる。そして、この各変化量の１つ或いはその組み合わせが何かの付加情報を表している。
【００６６】
更に、本発明において第１の電子透かしは、攻撃に対する耐性が比較的弱い性質を持つ。即ち、第１の電子透かしが埋め込まれた画像データをコピーした場合、第１の電子透かしは破壊、或いは消去されてしまい、正しく抽出することは困難である。以下の説明では、単に「電子透かし」と用いた場合、「攻撃に対する耐性が比較的弱い第１の電子透かし」を示すものとする。
【００６７】
図６に示すように、本発明における第１の付加情報埋め込み処理部は、鍵情報入力部６０３、電子透かし生成部６０４、電子透かし埋め込み部６０５から構成される。
【００６８】
なお、ここで説明する埋め込み処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【００６９】
まず、鍵情報入力部６０３の機能について説明する。鍵情報入力部６０３は、付加情報Ｉｎｆの埋め込み、及び抽出に必要な鍵情報ｋを出力するものである。鍵情報入力部０６０３から出力された鍵情報ｋは、電子透かし生成部０６０４に出力される。
【００７０】
ここで鍵情報ｋとはＬ（正数）ビットで表される実数である。Ｌ＝８の正数として表現する場合には、“０１０１０１０１”が鍵情報ｋの一例であり、例えば、正の整数として表現する場合には“８５”として与えられる。鍵情報ｋは、後述する擬似乱数発生部０７０２で実行される擬似乱数発生処理に初期値として与えられる。電子透かし埋め込み処理部、及び後述する電子透かし抽出処理部において共通の鍵情報ｋを使用した場合に限り、電子透かしとして埋め込まれている付加情報Ｉｎｆを正しく抽出することが可能である。即ち、鍵情報ｋを所有している利用者だけが付加情報Ｉｎｆを正しく抽出することができる。
【００７１】
次に、電子透かし生成部６０４の機能について説明する。電子透かし生成部６０４は、ＲＡＭ３０５から付加情報Ｉｎｆ１、及び鍵情報入力部６０３から鍵情報ｋを入力し、入力された付加情報Ｉｎｆ１と鍵情報ｋに基づいて電子透かしｗを生成し、電子透かしｗとして出力する。
【００７２】
電子透かし生成部６０４の機能の詳細について図７を用いて説明する。図７に示すように、電子透かし生成部６０４は基本行列生成部７０１、擬似乱数発生部７０２、及び擬似乱数割り当て部７０３から構成される。
【００７３】
まずはじめに基本行列生成部７０１の機能について説明する。基本行列生成部７０１は、基本行列ｍを生成する。生成された基本行列ｍは擬似乱数割り当て部７０３に出力される。ここで基本行列ｍとは付加情報Ｉｎｆ１を構成する各ビットの位置と、前記各ビットが埋め込まれる画像データＩ１上の画素位置を対応付けるために用いられる行列である。
【００７４】
ここでは、基本行列生成部７０１は複数の基本行列を選択的に利用することが可能である。そしてどの基本行列を用いるかは、その時の目的／状況に応じて変化させる必要が有り、本発明ではこれら基本行列の切り替えにより最適な電子透かし（付加情報Ｉｎｆ１）の埋めこみが可能である。
【００７５】
基本行列ｍの具体例を図８に示す。８０１は１６ビットから構成される付加情報Ｉｎｆを埋め込む場合に用いられる基本行列ｍの一例を示したものである。８０１に示す様に１６ビットの付加情報Ｉｎｆを埋め込むために、例えば４ｘ４の基本行列ｍが用いられ、更に１から１６の数字が基本行列内の各要素に割り当てられている。
【００７６】
図から分かる様に、基本行列ｍ内の要素の値と付加情報Ｉｎｆのビット位置が対応付けられている。具体的には、基本行列内の要素の値が“１”の位置に付加情報Ｉｎｆの最上位ビットを埋め込み、同様に、基本行列内の要素の値が“２”の位置に付加情報Ｉｎｆの最上位ビットの次のビットを埋め込む。以下、順番に各ビットを埋め込む。
【００７７】
以下は、上記８０１からの埋めこみ方法の変形例について説明する。
【００７８】
図８の８０２は８ビットから構成される付加情報Ｉｎｆを埋め込む場合に用いられる基本行列の一例を示したものである。８０２に示す基本行列は、８０１に示す基本行列の全要素のうち１から８までの値を持つ要素だけを用いたものである。値を持たない要素の部分には付加情報Ｉｎｆを埋め込まない。上記８０２の様に付加情報Ｉｎｆを表す各ビットの埋めこみ位置を散らすことにより、８０１よりも、電子透かし（付加情報Ｉｎｆ）の埋めこみによる画像の変化（画質劣化）を認識しずらくできる。
【００７９】
図８の８０３は８０２と同様に８ビットから構成される付加情報Ｉｎｆを埋め込む場合に用いられる基本行列ｍの一例を示したものである。上記８０２と８０３は夫々８ビットの付加情報Ｉｎｆを埋め込むことが可能な基本行列ｍであるが、８０２は全画素の５０％にあたる画素を付加情報Ｉｎｆの埋め込みに用いているのに対して、８０３は全画素（１００％）を付加情報Ｉｎｆの埋め込みに用いている。即ち、１ビット埋め込むために８０２は基本行列中の１画素を用いているのに対して、８０３では基本行列中の２画素を用いて付加情報Ｉｎｆの１ビットを埋め込んでいる。上記８０３の様に、付加情報Ｉｎｆを表す各ビットを埋めこむ回数を増やすことにより、電子透かしが埋め込まれた画像に攻撃が加えられた場合には、８０１や８０２よりも、その電子透かし（付加情報Ｉｎｆ）を確実に抽出できる（攻撃耐性が有る）ことになる。
【００８０】
ここで、全画素中で電子透かしの埋め込みのために使用する画素の割合を、以降では充填率と呼ぶことにする。前記８０１を用いた場合充填率は１００％、前記８０２を用いた場合は充填率５０％、前記８０３を用いた場合は充填率１００％である。
【００８１】
図８の８０４は、８０３と同様に全画素を付加情報Ｉｎｆの埋め込みに用いている。即ち、充填率は１００％である。しかしながら、８０３は８ビットの付加情報Ｉｎｆを埋め込むのに対して、８０４は４ビットの付加情報Ｉｎｆしか埋め込まない。しかし、１ビット埋め込むために８０３では基本行列中の２画素を用いているのに対して、８０４では基本行列中の４画素を用いて付加情報Ｉｎｆの１ビットを埋め込んでいる。上記８０４の様に、付加情報Ｉｎｆを表す各ビットを埋めこむ回数を増やすことにより、電子透かしが埋め込まれた画像に攻撃が加えられた場合には、８０１や８０２や８０３よりも、その電子透かし（付加情報Ｉｎｆ）を確実に抽出できる（攻撃耐性が有る）ことになる。ただし、攻撃耐性が非常に有る代わりに、埋め込む付加情報Ｉｎｆの情報量は４ビットとなり、８０１や８０２や８０３よりも少ない。
【００８２】
上述した４つの例を表にまとめると次のようになる。
【００８３】
＜表１＞
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
基本行列　　充填率　　使用画素数／１ビット　　　埋め込み可能な情報量
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
８０１　　１００％　　　　　１画素　　　　　　　１６ビット
８０２　　　５０％　　　　　１画素　　　　　　　　８ビット
８０３　　１００％　　　　　２画素　　　　　　　　８ビット
８０４　　１００％　　　　　４画素　　　　　　　　４ビット
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
このように、基本行列ｍをどのような構成にするかによって、充填率と１ビットを埋め込むのに使用する画素数と埋め込み可能な情報量を選択的に設定することができる。上記表１では、充填率は主に電子透かしを埋め込んだ画像の画質に影響するパラメータであり、１ビットを埋め込むために使用する画素数は主に攻撃に対する耐性に影響するパラメータである。充填率を大きくすると電子透かしを埋め込んだ画像の質の劣化は大きくなり、１ビット埋め込むために使用する画素数を多くすると攻撃に対する耐性は強くなる。
【００８４】
以上から分かる様に、電子透かしを実現する際には、埋めこみ対象の画質と電子透かしの攻撃に対する耐性と埋め込める付加情報Ｉｎｆの情報量がトレードオフの関係にある。
【００８５】
本実施形態においては、上述した複数種類の基本行列ｍを適応的に選択することによって、電子透かしの耐性と画質と情報量を制御、及び設定することが可能である。ただし、実施形態では、第１の付加情報はコピーに耐性がないように埋め込む必要がある。
【００８６】
以上説明したように生成された基本行列ｍは擬似乱数割り当て部７０３に出力される。
【００８７】
次に、擬似乱数発生部７０２の機能について説明する。擬似乱数発生部７０２では、鍵情報ｋが入力され、鍵情報ｋを元に擬似乱数列ｒが生成される。生成された擬似乱数列ｒが出力され、擬似乱数割り当て部７０３に入力される。ここで擬似乱数列ｒとは、｛−１，１｝の範囲に含まれる一様分布に従う実数列（複数の実数）である。更に、鍵情報ｋは擬似乱数を発生させる場合の初期値として用いる。即ち、第１の鍵情報を用いて生成した第１の擬似乱数列と、前記第１の鍵情報とは異なる第２の鍵情報を用いて生成した第２の擬似乱数列は異なる。擬似乱数列ｒを生成する方法は公知の技術であるので詳細な説明は省略する。生成された擬似乱数列ｒは擬似乱数割り当て部７０３に出力される。
【００８８】
次に、擬似乱数割り当て部７０３の機能について説明する。擬似乱数割り当て部７０３には基本行列ｍと擬似乱数列ｒが入力され、擬似乱数列ｒの各要素が基本行列ｍの所定の要素に割り当てられる。以降では、基本行列ｍの所定の要素に乱数列が割り当てられた行列を電子透かしｗと呼ぶ。擬似乱数割り当て部０７０３からは生成された電子透かしｗが出力される。
【００８９】
ここで、擬似乱数列ｒの各要素を基本行列ｍの所定の要素に割り当てる処理の詳細について例を用いて説明する。
【００９０】
まず、例として図８に示した基本行列８０４を用いる場合を説明する。前述したように基本行列８０４を用いることにより４ビットの情報を埋め込み可能である。
【００９１】
まずはじめに、基本行列８０４に示す基本行列内の各要素のうち、値として“１”を持つ要素をラスタースキャン順にスキャンして、順に擬似乱数列ｒの各要素を割り当てる。割り当てる際には、付加情報Ｉｎｆに応じて付加情報Ｉｎｆのビットが“１”の時は擬似乱数列ｒの要素をそのまま割り当て、一方で付加情報Ｉｎｆのビットが“０”の時は擬似乱数列ｒの要素に“−１”をかけた値を割り当てる。
【００９２】
次に、値として“２”をもつ要素において同様の処理を実行する。以上の処理を、値としてｎ（埋め込みビット数）を持つ要素までに対して実行する。以上の示した例によって生成された電子透かしｗの一例を図９に示す。同図の９０１は擬似乱数列ｒとしてｒ＝｛０．７，−０．６、−０．９，０．８…｝という実数列、付加情報Ｉｎｆとして“１００１”という４ビットの情報を用いた場合の例である。
【００９３】
詳しく説明すると、次のようになる。ただし、スキャン順は、左端から右端スキャンすることを、１行目、２行目と順に行うものとする。
【００９４】
付加情報Ｉｎｆの最上位ビットは“１”であり、対応する乱数の最初の値は０．７である。従って、基本行列８０４をスキャンした際に最初に検出された“１”の位置には先頭の擬似乱数“０．７”が割り当てられる。そして、次に検出された“１”の位置には、２番目の擬似乱数“−０．６”が割り当てられる。以下、同様に、基本行列の“１”を検出する毎に、対応する順番の擬似乱数を割り当てる。
【００９５】
次に、付加情報Ｉｎｆの最上位ビットの次のビット“０”を埋め込む場合には、擬似乱数に対して−１を乗算した値を割振る。すなわち、上記の場合には｛−０．７，０．６，０．９，−０．８…｝と、符号を反転させた擬似乱数を、基本行列の“２”を検出する毎に割り当てる。
【００９６】
以下、付加情報Ｉｎｆの３ビット目、４ビット目についても同様に行うことで、図９の９０１に示す電子透かしｗを得ることができる。
【００９７】
こうして生成された電子透かしｗは電子透かし生成部６０４の出力として出力され、電子透かし埋め込み部６０５に入力される。
【００９８】
尚、以上では説明のために１６ビット、８ビット及び４ビットの付加情報を埋め込むために４ｘ４の基本行列を用いたが、本実施形態ではこれに限らず、１ビット埋め込むために更に多くの画素を利用し、より大きなサイズの基本行列を用いる場合も本発明の範疇に含む。より大きなサイズの基本行列を用いた場合には、擬似乱数列もより長い実数列を用いることになる。実際には、説明に用いたような４要素から構成される乱数列では、後述する電子透かし抽出処理が正しく動作しない可能性がある。（具体的には、付加情報Ｉｎｆが埋め込まれているにも関わらず、集積画像ｃと電子透かしｗ１、ｗ２、…、ｗｎとの相関係数が小さくなる可能性がある。）よって、例えば６４ビットの付加情報を埋め込むために充填率５０％において２５６ｘ２５６の基本行列を用いるような構成とすることも可能である（この場合、１ビット埋め込むために５１２画素使用することになる）。
【００９９】
次に、電子透かし埋め込み部６０５の機能について説明する。電子透かし埋め込み部６０５では、画像データＩ及び電子透かしｗが入力され、画像データＩに電子透かしｗが埋め込まれ、電子透かしｗが埋め込まれた画像データＩ’が出力される。
【０１００】
電子透かし埋め込み部６０５の処理の詳細について説明する。電子透かし埋め込み部６０５では、
Ｉ’ｉ，ｊ＝Ｉｉ，ｊ＋ａｗｉ，ｊ　　式１
という式に従って、電子透かしの埋め込み処理が実行される。ここで、Ｉ’ｉ，ｊは電子透かしが埋め込まれた画像データ、Ｉｉ，ｊは電子透かしが埋め込まれる前の画像データ、ｗｉ，ｊは電子透かし、ｉ及びｊは夫々Ｉ、Ｉ’及びｗのｘ座標及びｙ座標を表すパラメータ、ａは電子透かしの強度を設定するパラメータである。
【０１０１】
例えば、ａを“１０”とすると、埋め込む電子透かしの値は−１０乃至＋１０の範囲となる。ａの値を大きく設定することによって耐性の強い電子透かしを埋め込むことが可能であるが、画質劣化が大きくなる。一方で、ａの値を小さく設定することによって電子透かしの耐性は弱くなるが、画質劣化は小さくすることが可能である。前述した基本行列ｍの構成と同様に、ａの値を適当に設定することにより（例えば、埋め込む際に、ＧＵＩ画面等でマウスやキーボードでもってａの値を設定する等）、電子透かしの攻撃に対する耐性と電子透かしを埋め込んだ後の画像の画質のバランスを設定することが可能である。
【０１０２】
式１に示した電子透かし埋め込み処理の具体例として、４×４の基本行列ｍを用いた場合の例を図１０に示す。図１０において１００１は式１におけるＩ’、１００２はＩ、１００３はｗを表す。図１０に示すように、式１の演算は行列内の各要素に対して実行される。
【０１０３】
以上、式１（図１０）に示した演算処理は実際には入力された画像データＩの全体に対して繰り返し実行される。例えば、入力された画像データＩが２４ｘ２４画素から構成されている場合には、図１１に示す如く４×４画素が縦横とも６×６個備えることになり、各ブロック（４×４画素）に埋め込みが行われる。
【０１０４】
図１１に示すように、入力された画像データＩは４ｘ４画素から構成される互いに重ならないブロックに分割され、分割された夫々のブロックに対して式１（図１０）に示した演算処理が繰り返し実行される。このように式１（図１０）に示した処理が実行されるブロックを、以下マクロブロックと呼ぶ。
【０１０５】
全てのマクロブロックに対して繰り返し電子透かしの埋め込み処理を実行することにより、結果的に画像全体に電子透かしを埋め込むことが可能である。更に、１つのマクロブロックにはｎビットから構成される付加情報Ｉｎｆの全体が埋め込まれている。このことから、少なくともマクロブロックが１つあれば埋め込んだ付加情報Ｉｎｆを抽出することができる。即ち、埋め込んだ付加情報Ｉｎｆを抽出するために画像データＩの全体を必要とはせず、画像データＩの一部（少なくともひとつのマクロブロック）があれば十分である。
【０１０６】
このように画像データＩの一部から電子透かしを完全に抽出可能であることを「切り取り耐性がある」と呼ぶ。マクロブロック単位の電子透かし埋め込み処理を画像全体に繰り返し実行することにより、電子透かしに切り取り耐性を持たせることが可能である。こうして生成された電子透かし埋め込み済み画像Ｉ’は、画像出力部６０６を通じて、電子透かしの埋め込み処理部の最終的な出力として出力される。
【０１０７】
［第１の電子透かし抽出処理部］
次に、以上で述べた第１の電子透かしの埋め込み処理部によって埋め込まれた電子透かしを抽出する方法について説明する。以下、図１２を用いて本実施形態に適用される電子透かしの抽出処理部（機能）を説明する。
【０１０８】
図１２に示すように、本実施形態における抽出処理部は、鍵情報入力部１２０２、抽出パターン生成部１２０３、電子透かし抽出部１２０４から構成される。
【０１０９】
なお、ここで説明する抽出処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【０１１０】
次に、鍵情報入力部１２０２の機能について説明する。鍵情報入力部１２０２において電子透かしを抽出するための鍵情報ｋが入力され、その出力は抽出パターン生成部１２０３に供給される。ここで、入力される鍵情報ｋは、前述した電子透かしの埋め込み処理部における鍵情報入力部６０３によって入力されたものと同一のものでなければならない。異なる鍵情報が入力された場合には正しく付加情報を抽出することは出来ない。即ち、正しい鍵情報ｋを有する利用者だけが正しい付加情報Ｉｎｆ２を抽出することが可能である。
【０１１１】
次に、抽出パターン生成部１２０３の機能について説明する。抽出パターン生成部１２０３は、鍵情報生成部１２０２から鍵情報ｋを入力し、その入力された鍵情報ｋに基づいて抽出パターンを生成し、生成された抽出パターンを出力する。
【０１１２】
抽出パターン生成部１２０３の処理の機能の詳細について図１３を用いて説明する。図１３に示すように、抽出パターン生成部１２０３は、基本行列生成部１３０１、擬似乱数発生部１３０２、及び擬似乱数割り当て部１３０３から構成される。
【０１１３】
ここで、基本行列生成部１３０１は前述した基本行列生成部７０１と、更に擬似乱数発生部１３０２は擬似乱数発生部７０２と同じ動作であるので詳細な説明は省略する。但し、基本行列生成部１３０１において生成される基本行列と基本行列生成部０７０１において生成される基本行列は同一のものでなければ正しく付加情報を抽出することはできない。
【０１１４】
次に、擬似乱数割り当て部１３０３の機能の詳細について説明する。擬似乱数割り当て部１３０３は、基本行列ｍと擬似乱数列ｒを入力し、擬似乱数列ｒの各要素を基本行列ｍの所定の要素に割り当てる。ここで、前述した埋め込み処理部で用いられた擬似乱数割り当て部７０３との違いは、擬似乱数割り当て部７０３においては出力される抽出パターンｗは一つであったのに対して、擬似乱数割り当て部１３０３からは埋め込み情報量の数（本発明ではｎ個）だけ出力されることである。
【０１１５】
ここで、擬似乱数列ｒの各要素を基本行列ｍの所定の要素に割り当てる機能の詳細について例を用いて説明する。例として図８に示した基本行列８０４を用いる。基本行列８０４を用いた場合、４ビットの付加情報を埋め込み可能であり、即ち４個の抽出パターンｗ１、ｗ２、ｗ３、ｗ４を出力する。
【０１１６】
まずはじめに、基本行列０８０４の各要素のうち、値として“１”を持つ要素をラスタースキャン順にスキャンして、順に擬似乱数列ｒの各要素を割り当てる。基本行列０８０４の各要素のうち、値として“１”を持つ要素全てに擬似乱数列ｒの各要素の割り当てが終了したら、擬似乱数列ｒを割り当てた行列を抽出パターンｗ１として生成する。図１４に抽出パターンの例を示す。抽出パターンｗ１（１４０１）は擬似乱数列ｒとしてｒ＝｛０．７，−０．６、−０．９，０．８｝という実数列を用いた場合の例である。以上の処理を、基本行列８０４の各要素のうち、値として“２”、“３”、“４”を持つ要素全てに対して実行し、夫々抽出パターンｗ２（１４０２）、抽出パターンｗ３（１４０３）、抽出パターンｗ４（１４０４）として生成する。こうして生成された抽出パターンｗ１、ｗ２、ｗ３、ｗ４は全てあわせると、電子透かしの埋め込み処理部で用いられた電子透かしｗに等しくなる。生成された抽出パターンｗ１、ｗ２、ｗ３、ｗ４は抽出パターン生成部１２０３から出力され、電子透かし抽出部１２０４に入力される。
【０１１７】
次に、電子透かし抽出部１２０４の機能について説明する。電子透かし抽出部１２０４は、画像データＩ４及び抽出パターンｗ１、ｗ２、…、ｗｎを入力し、抽出パターンｗ１、ｗ２、…、ｗｎを用いて画像データＩ４から付加情報Ｉｎｆ２を抽出し、出力する。ここで、望ましくは抽出された付加情報Ｉｎｆ２は埋め込んだ付加情報Ｉｎｆ１に等しい。しかしながら、電子透かしを埋め込んだ画像データＩ４が種々の攻撃を受けている場合には必ずしも付加情報Ｉｎｆ１と付加情報Ｉｎｆ２は一致しない。
【０１１８】
電子透かし抽出部１２０４の機能の詳細について説明する。電子透かし抽出部１２０４は、入力された画像データＩ４から生成された集積画像ｃと抽出パターンｗ１、ｗ２、…、ｗｎとの相互相関が夫々計算される。ここで、集積画像ｃとは、入力された画像データＩ’’をマクロブロックの大きさ（基本行列の大きさ）の互いに重ならないブロックに分割し、分割された夫々のブロックの要素の値の平均値を算出した画像である。
【０１１９】
集積画像ｃについて図１５に示した具体例を用いて説明する。図１５は４×４画素の抽出パターンと２４×２４画素の画像Ｉ４が入力された場合の集積画像ｃの例である。図１５において、１５０１は２４×２４画素の画像データＩ４が４×４画素の互いに重ならないブロックに分割された例を示す。図１５に示す例の場合、３６個のブロックに分割されている。この３６個のブロックの各要素の値の平均値を求めたものが集積画像ｃ（１５０２）である。
【０１２０】
こうして生成された集積画像ｃと抽出パターンｗ１、ｗ２、…、ｗｎとの相互相関が各々計算される。相関係数を計算する具体的な方法について、集積画像ｃと抽出パターンｗｎの相関係数を計算する場合の例を用いて説明する。
【０１２１】
相関係数は、集積画像ｃと抽出パターンｗｎの類似度を測定する統計量であり、
ρ＝ｃ’Ｔ・ｗ’ｎ／｛｜ｃ’Ｔ｜・｜ｗ’ｎ｜｝　　　（式２）
と表される。ここで、ｃ’及びｗｎ’は夫々各要素から、夫々の行列の要素の平均値を引いた値を要素とする行列であり、ｃＴはｃの転置行列である。ρは−１から＋１の値の範囲の値をとる。集積画像ｃと抽出パターンｗｎが正の相関が強い時にρは＋１に近づき、一方で集積画像ｃと抽出パターンｗｎが負の相関が強い時にρは−１に近づく。ここで「正の相関が強い」とは、「集積画像ｃが大きいほど抽出パターンｗｎが大きくなる」という関係のことであり、「負の相関が強い」とは「集積画像ｃが大きいほど抽出パターンｗｎが小さくなる」という関係のことである。また、集積画像ｃと抽出パターンｗｎが無相関の時には、ρは０となる。
【０１２２】
こうして算出した相互相関の結果によって、入力された画像データＩ４に付加情報Ｉｎｆ２が電子透かしとして埋め込まれているか否か、更に、埋め込まれている場合には付加情報Ｉｎｆ２を構成する各ビットが“１”であるか“０”であるかを判定する。
【０１２３】
集積画像ｃと抽出パターンｗ１、ｗ２、…、ｗｎとの相関係数を夫々算出し、算出された相互相関の結果が０に近い場合には「付加情報が埋め込まれていない」、相互相関の結果が０から離れた正数の場合には「ビット１」、相互相関の結果が０から離れた負数の場合には「ビット０」であると夫々判断する。
【０１２４】
換言すれば、正の値εを定義したとき、
−ε＜ρ＜ε
なる関係があるとき、付加データなし、或いは、検証不可と判断し、
ρ≦−ε　　ｏｒ　ε≦ρ　の場合には、付加データが存在するものとして判定する。ただし、このεは適宜設定すれば良い。
【０１２５】
以上説明した相互相関を求めることは、集積画像ｃと抽出パターンｗ１、ｗ２、…、ｗｎの夫々が、どれくらい類似しているかを評価することに等しい。即ち、前述した電子透かしの埋め込み処理部によって、画像データＩ４（集積画像ｃ）の中に抽出パターンｗ１、ｗ２、…、ｗｎが埋め込まれている場合には、これらは比較的類似しており、この類似の度合いが相互相関値として算出される。更に、ビット“１”が埋め込まれている場合（抽出パターンｗ１、ｗ２、…、ｗｎが加えられている場合）には相互相関値は正となり、一方で、ビット“０”が埋め込まれている場合（抽出パターンｗ１、ｗ２、…、ｗｎが減じられている場合）には相互相関値は負になる。
【０１２６】
具体例として、図１６に前述した４ビットの付加情報“１００１”が埋め込まれた画像データＩ’’（集積画像ｃ）からｗ１、ｗ２、ｗ３、ｗ４を用いて電子透かしを抽出する例を示す。
【０１２７】
まず、集積画像ｃと４つの抽出パターンｗ１、ｗ２，ｗ３、ｗ４（４ビットの付加情報Ｉｎｆ’に対応）との相互相関値が夫々算出される。入力された画像データＩ４（集積画像ｃ）に付加情報Ｉｎｆ２が埋め込まれている場合には、相関係数は夫々“１、−１、−１，１”と算出され、このことから付加情報Ｉｎｆ２は“１００１”と判定でき、最終的に４ビットの付加情報Ｉｎｆ２を抽出することが可能である。
【０１２８】
こうして抽出されたｎビットから構成される付加情報Ｉｎｆ２が最終的に抽出されたバイナリデータ列（付加情報Ｉｎｆ２）として出力される。出力された付加情報Ｉｎｆ２は一旦ＲＡＭ０３０５に保持される。
【０１２９】
［第２の電子透かし埋め込み処理部］
以下、図２１を用いて本実施形態に適用される第２の電子透かし埋め込み処理部（機能）を説明する。
【０１３０】
まず、以下で説明する第２の電子透かしとは、“不可視の”文書画像用電子透かしとも呼ばれ、人間の視覚ではほとんど認識できないレベルのオリジナルドキュメントデータＤ１からの変化そのもののことである。この各変化量は、画像データが有する文字と文字の間隔に対して与えられる。そして、この各変化量の１つ或いはその組み合わせが何らかの付加情報を表している。
【０１３１】
更に、本実施形態において第２の電子透かしは、攻撃に対する耐性が比較的強い性質を持つ。即ち、第２の電子透かしが埋め込まれた画像データをコピーした場合でも、第２の電子透かしは正しく抽出することが可能である。以下の説明では、単に「電子透かし」と用いた場合、「攻撃に対する耐性が比較的強い第２の電子透かし」を示すものとする。
【０１３２】
図２１に示すように、本実施形態における第２の付加情報埋め込み処理部は、文書画像解析部２１０１、付加情報埋め込み部２１０２から構成される。
【０１３３】
なお、ここで説明する埋め込み処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【０１３４】
まず、文書画像解析部２１０１の機能について説明する。文書画像解析部２１０１は、ドキュメントデータＤ１を入力し、その入力されたドキュメントデータＤ１に対して文書画像解析処理され、解析処理された外接矩形情報ｂ１が出力される。
【０１３５】
ここで、文書画像解析処理について説明する。文書画像解析処理とは、入力されたドキュメントデータがテキスト領域やグラフ等の図形領域に分割され、更にテキスト領域に対しては文字要素ごとに外接矩形が抽出される処理である。なお、以下の説明から、ここで抽出する外接矩形が文字である必要はなく、部分的な画像の外接矩形でありさえすれば良いものであるが、説明を簡単なものとするため文字として説明する。
【０１３６】
ここで、文字要素とは、射影を用いて抽出された矩形領域を示し、一つの文字である場合と、文字の構成要素（へん、つくり等）である場合がある。こうして抽出された外接矩形情報ｂ１が出力される。出力された外接矩形情報ｂ１は、一旦ＲＡＭ３０５に保持される。
【０１３７】
次に、付加情報埋め込み部２１０２の機能について説明する。付加情報埋め込み部２１０２は、ＲＡＭ３０５から、ドキュメントデータＤ１，外接矩形情報ｂ１、及び付加情報Ｉｎｆ１を入力し、ドキュメントデータＤ１に対して外接矩形情報ｂ１を用いて付加情報Ｉｎｆ１を電子透かしとして埋め込み、その結果をドキュメントデータＤ２として出力する。
【０１３８】
ここで、電子透かし埋め込み処理について説明する。電子透かし埋め込み処理とは、入力された外接矩形情報ｂ１から、外接矩形間の空白長を算出し、所定の埋め込み規則に基づき、１ビットを埋め込むための文字の外接矩形内の領域を左右にシフトすることで、付加情報Ｉｎｆ１を埋め込む処理である。
【０１３９】
埋め込み規則について一例を示して説明する。まず、図２３に示すように、付加情報Ｉｎｆ１中の１ビットの情報を埋め込む文字の前後の空白長をＰ，Ｓと定める。この１ビットを埋め込むための文字は、１つの行において両端の文字を除いて、一文字おきに定める。次に、ここで定めた空白長Ｐ，Ｓに対して、（Ｐ−Ｓ）／（Ｐ＋Ｓ）を算出し、適当な量子化ステップで量子化する。量子化代表値には、交互に０か１を割り当てておく。
【０１４０】
電子透かしを抽出する際には、例えば次に示す式３によって、埋め込まれている値を抽出することが可能である。
ｖａｌｕｅ＝ｆｌｏｏｒ｛（Ｐ−Ｓ）／（（Ｐ＋Ｓ）×α））｝　ｍｏｄ　２＝　０　ｏｒ　１　　　　式３
ここで、αは量子化ステップであり、０＜α＜１となる実数である。
【０１４１】
電子透かしを埋め込む際には、１ビットを埋め込むための文字、或いは文字構成要素の外接矩形内の領域を、１ピクセルずつ左右に振りながら（平行移動しながら）式３を算出し、その結果が埋め込もうとするビット値（０或いは１）となるまで、平行移動の方向（左或いは右）と幅（ピクセル数）を探索する。
【０１４２】
この探索処理の詳細なフローについて図２４を用いて説明する。
【０１４３】
まず、ステップＳ２４０１について説明する。ステップＳ２４０１においては、各変数を初期化する。ここで、変数ｉは平行移動幅の候補を示す変数である。変数Ｆｌａｇ１は情報を埋め込むのに動かす文字を、距離ｉだけ右に動かす際に接触するか否かを示し、接触する場合には１を取る変数である。また、変数Ｆｌａｇ２は距離ｉだけ左に文字を動かす際に、接触するかどうかを示し、接触する場合には１を取る変数である。
【０１４４】
次に、ステップＳ２４０２について説明する。ステップＳ２４０２では埋め込みのために動かす文字、或いは文字要素を距離ｉだけ右に平行移動した際に、右隣の文字、或いは文字要素に接触するか否かを判定する。「Ｙｅｓ」の場合（接触する場合）には処理をステップＳ２４０３に進める。「Ｎｏ」の場合（接触しない場合）には処理をステップＳ２１０４に進める。
【０１４５】
次に、ステップＳ２４０３について説明する。ステップＳ２４０３では、変数Ｆｌａｇ１を「１」に設定し、処理をステップＳ２１０４に進める。
【０１４６】
次に、ステップＳ２４０４について説明する。ステップＳ２４０４では埋め込みのために動かす文字、或いは文字要素を距離ｉだけ左に平行移動した際に、左隣の文字、或いは文字要素に接触するか否かを判定する。「Ｙｅｓ」の場合（接触する場合）には処理をステップＳ２４０５に進める。「Ｎｏ」の場合（接触しない場合）には処理をステップＳ２４０６に進める。
【０１４７】
次に、ステップＳ２４０５について説明する。ステップＳ２４０５では、変数Ｆｌａｇ２を「１」に設定し、処理をステップＳ２４０６に進める。
【０１４８】
次に、ステップＳ２４０６について説明する。ステップＳ２４０６では、埋め込みのために動かす文字、或いは文字要素を距離ｉだけ左、及び右に平行移動した際に、左右両方の文字に接触してしまうか否かを判定する。「Ｙｅｓ」の場合（左右両方に接触する場合）には処理をＳ２４０７に進める。「Ｎｏ」の場合（左右両方には接触しない場合）には処理をＳ２４０８に進める。
【０１４９】
次に、ステップＳ２４０７について説明する。ステップＳ２４０７では、シフト幅を「０」に設定し、シフト幅計算処理を終了する。この場合は、埋め込みは不可能とする。
【０１５０】
次に、ステップＳ２４０８について説明する。ステップＳ２４０８では、文字或いは文字要素を距離ｉだけ右に平行移動する際に、埋め込もうとするビットが式３によって得られるか否かを判定する。「Ｙｅｓ」の場合（得られる場合）には、処理をステップＳ２４０９に進める。「Ｎｏ」の場合（得られない場合）には、処理をＳ２４１０に進める。
【０１５１】
次に、ステップＳ２４０９について説明する。ステップＳ２４０９では、シフト幅を「ｉ」に設定し、シフト幅計算処理を終了する。ここで、シフト幅は、値が正の場合には右に平行移動することを意味し、負の場合には左に平行移動することを意味するものと定める。
【０１５２】
次に、ステップＳ２４１０について説明する。ステップＳ２４１０では、文字或いは文字要素を距離ｉだけ左に平行移動する際に、埋め込もうとするビットが式３によって得られるか否かを判定する。「Ｙｅｓ」の場合（得られる場合）には、処理をステップＳ２４１１に進める。「Ｎｏ」の場合（得られない場合）には、処理をＳ２４１２に進める。
【０１５３】
次に、ステップＳ２４１１について説明する。ステップＳ２４１１では、シフト幅を「−ｉ」に設定し、シフト幅計算処理を終了する。
【０１５４】
次に、ステップＳ２４１２について説明する。ステップＳ２４１２では、変数ｉの値を１だけインクリメントし、処理をステップＳ２４０２に進める。
【０１５５】
以上、説明したシフト幅を平行移動する方向と距離と定め、実際に１ビットを埋め込むための文字の外接矩形内の領域を平行移動する。以上のような処理を、入力されたドキュメントデータ全体に対して行うことにより、付加情報Ｉｎｆ１をドキュメントデータに埋め込むことが可能である。
【０１５６】
尚、以上説明した方法によりドキュメントデータＤ１に第２の電子透かしを埋め込むことが可能であるが、後述する第２の電子透かし抽出部において、第２の電子透かしが埋め込まれているかどうかを判定することはできない。よって、実際には、付加情報Ｉｎｆ１をそのまま埋め込むのではなく、図２５のように付加情報Ｉｎｆ１の前に共通情報を加えた付加情報Ｉｎｆ１’を生成し、付加情報Ｉｎｆ１’を第２の電子透かしとして埋め込む。ここで、共通情報とは、付加情報Ｉｎｆ１やドキュメントデータＤ１に依存しないで、固定情報として設定された情報である。例えば、全てのビットを「０」であるビット列を共通情報として用いることが可能である。また、共通情報は第２の電子透かし埋め込み処理部と、後述する第２の電子透かし抽出処理部で共有しなければならない。
【０１５７】
［第２の電子透かし抽出処理部］
次に、以上で述べた電子透かしの埋め込み処理部によって埋め込まれた電子透かしを抽出する方法について説明する。以下、図２２を用いて本実施形態に適用される電子透かしの抽出処理部（機能）を説明する。
【０１５８】
図２２に示すように、実施形態における抽出処理部は、文書画像解析部２２０１、付加情報抽出部２２０２から構成される。
【０１５９】
なお、ここで説明する抽出処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【０１６０】
まず、文書画像解析部２２０１の機能について説明する。文書画像解析部２２０１は、ドキュメントデータＩ４を入力し、入力されたドキュメントデータＩ４に対して文書画像解析処理し、解析処理結果である外接矩形情報ｂ２を出力する。ここで、文書画像解析部２２０１で実行される文書画像解析処理は、前述した図２１における文書画像解析処理部２１０１で実行される処理と等しいため、詳細な処理は省略する。出力された外接矩形情報ｂ２は、一旦ＲＡＭ３０５に保持される。
【０１６１】
次に、付加情報抽出部２２０２の機能について説明する。付加情報抽出部２２０２には、ＲＡＭ０３０５から、ドキュメントデータＩ４、及び外接矩形情報ｂ２が入力され、外接矩形情報ｂ２を用いてドキュメントデータＩ４から電子透かしとして埋め込まれている付加情報Ｉｎｆ３が抽出され、抽出された付加情報Ｉｎｆ３が出力される。
【０１６２】
ここで、電子透かし抽出処理について説明する。電子透かし抽出処理とは、入力された外接矩形情報ｂ２から外接矩形間の空白長を算出し、算出した結果から所定の埋め込み規則に基づき、付加情報Ｉｎｆ３を抽出する処理である。例えば、本実施の形態における第２の電子透かし埋め込み処理部を用いて埋め込まれた電子透かしは、前述した式３を用いることによって付加情報Ｉｎｆ３を抽出することが可能である。
【０１６３】
尚、以上説明した方法によりドキュメントデータＩ４の中から第２の電子透かしを抽出することが可能であるが、抽出した付加情報が前述した第２の電子透かし埋め込み処理部において埋め込まれた付加情報であるかどうかは判別することは困難である。よって、実際には、抽出した付加情報から前述した共通情報を取り出し、取り出した共通情報が第２の電子透かし埋め込み処理部で埋め込まれたものと一致すれば、抽出した付加情報は第２の電子透かし埋め込み処理部で埋め込まれた付加情報であると判定する。そして、抽出した付加情報から共通情報を取り除いた情報を第２の付加情報Ｉｎｆ３として出力する。一方で、取り出した共通情報が第２の電子透かし埋め込み処理部で埋め込まれたものと一致しなければ、ドキュメントデータＩ４には第２の付加情報は埋め込まれていないと判定する。そして、「第２の付加情報は埋め込まれていない」という情報（例えば、ＮＵＬＬ）を第２の付加情報Ｉｎｆ３として出力する。
【０１６４】
尚、以上、第１の電子透かし埋め込み処理部、第１の電子透かし抽出処理部、及び第２の電子透かし埋め込み処理部、第２の電子透かし抽出処理部について説明したが、本発明はこれに限定されることなく、攻撃に対する耐性の比較的弱い電子透かしを第１の電子透かし、及び攻撃に対する耐性の比較的強い電子透かしを第２の電子透かしとして、種々の方式を適用可能である。
【０１６５】
すなわち、電子透かしの耐性を多段階にして、それぞれの電子透かしによる埋め込んだ結果を合成し出力するようにする。この際、最も耐性が要求される電子透かしの付加情報としては、ドキュメントデータそのものから抽出したデータを採用することが望ましい。
【０１６６】
＜第２の実施の形態＞
上記第１の実施の形態では、検証処理部において処理されるドキュメントデータは、署名処理部から出力された画像データに対して傾いていないような場合を考えた。しかしながら、署名処理部からプリンター３１７などを用いてプリントアウトされた原稿が、検証処理部においてスキャナー３１９などを用いて入力される場合、入力されたドキュメントデータは、署名処理部から出力された画像データに対して傾いている場合が多い。傾いているドキュメントデータを用いて識別情報抽出処理、或いは付加情報抽出処理を実行することは困難であるため、傾きを補正することにより、署名処理部から出力された画像データと同じ状態にする必要がある。本実施の形態は、傾いて入力されたドキュメントデータに対する検証処理について説明する。
【０１６７】
［検証処理部］
以下、図１７を用いて本実施の形態に適用される検証処理部（機能）を説明する。
【０１６８】
図１７に示すように、本実施の形態における検証処理部は、画像発生部１７０１、傾斜補正部１７０２、識別情報抽出部１７０３、付加情報抽出部１７０４、検証部１７０５から構成される。
【０１６９】
ここで、図１７に示した検証処理部１７０２は、図２に示した検証処理部に、傾斜補正部１７０２が追加された構成である。よって、傾斜補正部１７０２についてだけ説明をする。画像発生部０２０１と画像発生部１７０１、識別情報抽出部０２０２と識別情報抽出部１７０３、付加情報抽出部０２０３と付加情報抽出部１７０４、検証部０２０４と検証部１７０５は、夫々同様の処理が実行されるので詳細な説明は省略する。
【０１７０】
傾斜補正部１７０２の機能について説明する。傾斜補正部１７０２には、ドキュメントデータ発生部１７０１において発生されたドキュメントデータデータＩ４が、ＲＡＭ３０５から入力され、入力されたドキュメントデータＩ４に対して傾斜補正処理が実行され、傾斜補正処理が施された画像データＩ５が出力される。
【０１７１】
ここで、図１８、及び図１９を用いて傾斜補正処理の一例の詳細な説明をする。
【０１７２】
図１９に示すように、本実施の形態における傾斜補正処理部は、エッジ位置検出部１９０１、直線決定部１９０２、回転角度算出部１９０３、回転処理部１９０４から構成される。
【０１７３】
まず、エッジ位置検出部１９０１の機能について説明する。エッジ位置検出部１９０１では、ドキュメントデータ発生手段１７０１において発生したドキュメントデータＩ４が入力され、入力されたドキュメントデータＩ４中のエッジ位置ｅが検出され、検出されたエッジ位置ｅが出力される。
【０１７４】
エッジ位置検出処理について図１８を用いて説明する。図１８において１８０１は傾斜補正処理部に入力されたドキュメントデータＩ４、１８０２はドキュメントデータが含まれている（電子透かしが埋め込まれている）画像領域を示す。ドキュメントデータ１８０１の夫々４辺から、図１８に示す矢印１８０３のように４辺に垂直な方向に対して、画素値（輝度や濃度）の変化が大きなエッジの位置ｅ（図示の三角印）の検出を行う。
【０１７５】
次に、直線決定処理部１９０２の機能について説明する。直線決定処理部１９０２では、エッジ位置検出処理部１９０１で検出されたエッジ位置ｅが入力され、エッジ位置ｅを用いて４本の直線ｌ（画像データ１８０２の４辺に相当）が決定され、決定された４本の直線ｌが出力される。
【０１７６】
４本の直線ｌの決定方法の一例として、検出されるエッジ位置ｅをｘｙ座標における極大・極小位置を元に、４つの区間に区分けし、それぞれの区間でそれぞれ直線を最小２乗近似法を用いて決定する方法や、ハフ変換を用いて決定する方法などが適用可能である。
【０１７７】
尚、直線から大きく外れる位置のエッジは除外するなどの改良を導入すると直線近似の精度を向上させることが出来る。
【０１７８】
次に、回転角度算出部１９０３の機能について説明する。回転角度算出部１９０３では、直線決定処理部１９０２で決定された４本の直線ｌが入力され、入力された４本の直線ｌを用いて画像データ１８０２の回転角θを算出し、算出された回転角度θが出力される。
【０１７９】
回転角度θの算出方法としては、４本の直線ｌの何れかと画像データ１８０１の縦または横と成す角度を計算することで、画像データ１８０１に対する画像データ１８０２の回転角を算出することができる。一般的には、この方法で回転角θを求めると、θ±９０×ｎ（ｎは整数）の不定性を持つが、本実施の形態において、回転角θは微小な回転角であると仮定すると、回転角θとして比較的小さな角度を選ぶことにより回転角を算出することが可能である。
【０１８０】
次に、回転処理部１９０４の機能について説明する。回転処理部１９０４では、ドキュメントデータＩ４、及び回転角θが入力され、回転角θだけ画像データＩ４を回転処理し、更に、回転処理した後、前記検出されたエッジ位置の内部の領域１８０２だけを切り取り、切り取られた領域が画像データＩ５として出力される。
【０１８１】
以上、本実施の形態における傾斜補正処理の一例を説明した。尚、本発明はこれに限定されることなく、種々の傾斜補正処理を用いることが可能である。
【０１８２】
こうして傾斜補正処理が施された画像データＩ５が識別情報抽出部１７０３、及び付加情報抽出部１７０４に入力されることによって、正しく識別情報抽出処理、及び付加情報抽出処理を実行することが可能である。即ち、本実施の形態における検証処理部を用いることにより、検証処理部に入力されたドキュメントデータが傾いている場合でも、正しく検証処理を実行することが可能である。
【０１８３】
また、一般に、スキャナに原稿をセットする際、ユーザは原稿をランドスケープ、ポートレートのいずれかで読み取らせようとして原稿をセットする。従って、場合によっては、上記傾斜補正を行ったとしても、９０°ずれている場合もあり得る。従って、上記補正を行った場合であっても、付加情報の抽出が失敗したとしても、入力した画像を９０°回転させて再度抽出する処理を行うことが望ましい。
【０１８４】
＜第３の実施の形態＞
上記実施の形態（第１の実施形態、及び第２の実施形態）では、画像データＩ１に対してコピーに対して耐性の弱い第１の埋め込み方法により付加情報を埋め込み、ドキュメントデータＤ１に対してコピーに対して耐性の弱い第２の埋め込み方法により付加情報を埋め込んでいた。
【０１８５】
しかしながら本発明はこれに限定されることなく、画像データＩ１中に、コピーに対して耐性の弱い第１の埋め込み方法と、コピーに対して耐性の強い第２の埋め込み方法の両方で、付加情報Ｉｎｆ１を埋め込むようにすることも可能である。
【０１８６】
本第３の実施形態は、特にドキュメントデータＤ１中に文字数が少なかったりして、付加情報Ｉｎｆ１を埋め込むことが困難である場合に効果的である。
【０１８７】
［署名処理部］
以下、図２６を用いて本第３の実施形態に適応される署名処理部（機能）を説明する。
【０１８８】
図２６に示すように、本第３の実施形態における署名処理部は、画像発生部２６１、付加情報発生部２６２、ドキュメントデータ発生部２６３、判定部２６４、領域分割部２６５、第１の付加情報埋め込み部２６６、第２の付加情報埋め込み部２６７、第３の付加情報埋め込み部２６８、合成部２６９、画像出力部２６１０、及び領域統合部２６１１から構成される。
【０１８９】
尚、ここで説明する署名処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【０１９０】
画像発生部２６１、付加情報発生部２６２、ドキュメントデータ発生部２６３、第１の付加情報埋め込み部２６６、第２の付加情報埋め込み部２６７、合成部２６９、及び画像出力部２６１０は、図１に示した画像発生部０１０１、付加情報発生部０１０２、ドキュメントデータ発生部０１０３、合成部０１０６、及び画像出力部０１０７と同様の動作をするので詳細な説明は省略する。本実施形態では、判定部２６４、領域分割部２６５、第３の付加情報埋め込み部２６８、及び領域統合部２６１１の動作について説明する。
【０１９１】
まず、判定部２６４の動作を説明する。判定部２６４にはドキュメントデータＤ１、及び付加情報Ｉｎｆ１が入力され、入力されたドキュメントデータＤ１に付加情報Ｉｎｆ１が埋め込み可能か否かが判定される。判定結果は制御信号Ｃを用いて領域分割部に送信される。更に、ドキュメントデータＤ１に付加情報Ｉｎｆ１が埋め込み可能であると判定された場合には、後段の第２の付加情報埋め込み部２６７にドキュメントデータＤ１を送出するが、埋め込み不可能であると判定された場合には、第２の付加情報埋め込み部には何も送出しない（もしくは埋め込み不可を示す信号、又はＮＵＬＬを出力する）。
【０１９２】
判定部２６４において、ドキュメントデータＤ１に付加情報Ｉｎｆ１が埋め込み可能であるか否かは、付加情報Ｉｎｆ１の情報量などと、ドキュメントデータＤ中の文字数、文字サイズ、行数、言語、フォント、及びこれらの情報の組み合わせなどを用いて判定可能である。或いは、ドキュメントデータＤ１中の文字数、文字サイズ、行数、言語、フォント、及びこれらの情報の組み合わせなどだけで判定するようにしても良い。
【０１９３】
また、判定部２６４において、ドキュメントデータＤ１中に付加情報Ｉｎｆ１を埋め込み、更に抽出し、抽出した付加情報を用いて埋め込み可能であるか否かを判定するようにしても良い。更に、埋め込みの後、様々な画像処理を施すことによって、想定される攻撃や、印刷／スキャニングなどをシミュレーションするようにしても良い。
【０１９４】
次に、領域分割部２６５の動作について説明する。領域分割部２６５には画像データＩ１，及び制御情報Ｃが入力され、制御情報Ｃに基づいて領域分割処理をするか否かが判定され、領域分割処理をすると判定された場合には、画像データＩが画像データＩ’１と画像データＩ’’１に領域分割され、分割された領域データＩ’１，及び領域データＩ’’１が出力される。
【０１９５】
領域分割部２６５は、制御情報Ｃが「ドキュメントデータＤ１に付加情報Ｉｎｆ１が埋め込み可能」であることを表す情報である場合、領域分割処理は実行されず、即ち画像データＩ１は単一の領域データＩ’１だけを後段の第１の付加情報埋め込み部２６６に送出し、第３の付加情報埋め込み部２６８には、何も送出しない。
【０１９６】
一方で、制御情報Ｃが「ドキュメントデータＤ１に付加情報Ｉｎｆ１が埋め込み不可能」であることを示す情報である場合、画像データＩ１は領域データＩ’１及び領域データＩ’’１に分割され、分割された領域データＩ’１及び領域データＩ’’１は、夫々第１の付加情報埋め込み部２６６及び第３の付加情報埋め込み部３６８に出力される。
【０１９７】
領域分割部２６５における領域分割処理の例を図２７を用いて説明する。図２７は本実施形態における領域分割処理をした後の領域データＩ’１（図中、網掛けで示す）及び領域データＩ’’１（図中、斜線で示す）の例を示す。
【０１９８】
図２７（ａ）は画像データＩ１の端の部分を領域データＩ’’１とし、それ以外の部分を領域データＩ’１とした場合の例である。また、図２７（ｂ）は画像データＩ１の左上の帯状の領域を領域データＩ’’１とし、それ以外の部分を領域データＩ’１とした場合の例である。更に、図２７（ｃ）は、ドキュメントデータＤ１中で金額などの特定文字列が記録された領域に相当する画像データＩ１上の領域を領域データＩ’１とし、それ以外の部分を領域データＩ’’１とした場合の例である。更に、図２７（ｄ）は、ドキュメントデータＤ１中で写真などの記録された領域に相当する画像データＩ１上の領域を領域データＩ’１とし、それ以外の部分を領域データＩ’’１とした場合の例である。
【０１９９】
尚、本実施形態では領域分割部２６５において空間的な領域に分割する例を説明したが、本発明はこれに限定されることなく、周波数的な領域に分割することも可能である。例えば、画像データＩ１を周波数変換した後、低周波成分を領域データＩ’１、高周波数成分を領域データＩ’’１とするようにしても良い。
【０２００】
また、本実施形態では、画像データＩ１を２つの領域に分割するように説明したが、本発明はこれに限定されることなく、画像データＩ１を３つ以上の領域に分割することが可能であることは明らかである。この場合、少なくとも一つ以上の領域を領域データＩ’１とし、同様に少なくとも一つ以上の領域を領域データＩ’’１とすればよい。
【０２０１】
次に、第３の付加情報埋め込み部２６８について説明する。第３の付加情報埋め込み部２６８には、領域データＩ’’１、及び付加情報Ｉｎｆ１が入力され、入力された付加情報Ｉｎｆ１が領域データＩ’’１に埋め込まれ、付加情報Ｉｎｆ１が埋め込まれた領域データＩ’’２が出力される。
【０２０２】
第３の付加情報埋め込み部２６８で実行される第３の付加情報埋め込み処理は、コピーに対して耐性があるような方法で、可視、或いは不可視な状態で埋め込むようにする。
【０２０３】
例えば、第３の付加情報埋め込み処理として、第１の実施形態で説明した電子透かしの埋め込み処理を用いることができる。この場合、強度を設定可能なａの値を大きくすることにより、強度を強くして埋め込むようにすればよい。
【０２０４】
ドキュメントデータＤ１中の文書内に写真や表などの文書以外の領域がある場合や、或いは、金額などの重要な内容を示す文書領域がある場合は、これらの領域の可読性を低下させないようにするために、図２７（ｃ）、及び（ｄ）に示したように、前段の領域分割部２６５において、これらの領域が領域データＩ’１となるように領域分割処理する。このように処理することにより領域データＩ’１には、（コピーに対して耐性がない）電子透かしを埋め込むこととなり、結果として当該領域の画質劣化を小さくできる。
【０２０５】
また、第１の実施形態では、ａの値を適当に調整することにより、不可視の状態、或いは人間の目に見えにくい状態で埋め込む説明をしたが、極端にａの値を大きくした場合、可視の状態で埋め込むことも可能である。
【０２０６】
この場合、付加情報Ｉｎｆ１の埋め込みにより、ドキュメントデータＤ１中の文書の可読性を損なわないように、図２７（ａ）に示したように、前段の領域分割部２６５において、画像の端を領域データＩ’’１となるように領域分割処理をする。
【０２０７】
更に、第３の付加情報埋め込み処理として、１次元、或いは２次元バーコードのような方式を用いて可視の状態で埋め込むことも可能である。
【０２０８】
この場合、図２７（ｂ）に示したように、１次元、或いは２次元バーコードを添付する領域を、前段の領域分割部２６５において、領域データＩ’’１となるように領域分割処理をする。
【０２０９】
次に、領域統合部２６１１について説明する。領域統合部２６１１には、付加情報Ｉｎｆ１が埋め込まれた領域データＩ’２、及び領域データＩ’’２が入力され、入力された２つの領域データが統合され、統合された画像データＩ２が出力される。領域統合部２６１１における領域統合処理は、入力された夫々の領域を、領域分割部２６５において領域分割される前の位置に配置するようにする。
【０２１０】
以上、本実施形態に適応される署名処理部（機能）を説明した。
【０２１１】
次に、図２８を用いて本実施形態における署名処理のフローを説明する。
【０２１２】
まず、ステップＳ２８１では、ドキュメントデータ発生部２６３において発生したドキュメントデータＤ１、及び付加情報発生部２６２において発生した付加情報Ｉｎｆ１を用いて、ドキュメントデータＤ１に付加情報Ｉｎｆ１が埋め込み可能であるか否かが判定される（判定部２６４）。埋め込み不可能である場合には処理をステップＳ２８２に進め、埋め込み可能である場合には処理をステップＳ２８５に進める。
【０２１３】
ステップＳ２８２では、画像発生部２６１において発生した画像データＩ１を領域データＩ’１、及び領域データＩ’’１に分割する領域分割処理が実行される（領域分割部２６５）。そして、ステップＳ２６３では、領域データＩ’１に第１の付加情報埋め込み処理により付加情報Ｉｎｆ１が埋め込まれ（第１の付加情報埋め込み部２６６）、ステップＳ２６４では、領域データＩ’’１に第３の付加情報埋め込み処理により付加情報Ｉｎｆ１が埋め込まれる（第３の付加情報埋め込み部２６８）。更に、ステップＳ２８７で、付加情報Ｉｎｆ１が埋め込まれた領域データＩ’２、及び領域データＩ’’２が一つの画像データＩ２に統合される（領域統合部２６１１）。
【０２１４】
一方、ステップＳ２８５では、画像データＩ１に第１の付加情報埋め込み処理により付加情報Ｉｎｆ１が埋め込まれ（第１の付加情報埋め込み部２６６）、ステップＳ２８６では、ドキュメントデータＤ１に第２の付加情報埋め込み処理により付加情報Ｉｎｆ１が埋め込まれる（第２の付加情報埋め込み部２６７）。
【０２１５】
そして、ステップＳ２８８では、付加情報Ｉｎｆ１が埋め込まれた画像データＩ２と、ドキュメントデータＤ２、或いはドキュメントデータＤ１（付加情報Ｉｎｆ１は埋め込まれていない）が１枚の画像に合成され、画像データＩ３が生成される（合成部２６９）。
【０２１６】
以上説明した様に生成された画像データＩ３が画像出力部２６１０から出力される。
【０２１７】
尚、本実施形態では、特に判定部２６４の判定結果に基づいてドキュメントデータＤ１及び付加情報Ｉｎｆ１に応じてドキュメントデータＤ１に付加情報Ｉｎｆ１を強く埋め込むか、或いは領域データＩ’’１に付加情報Ｉｎｆ１を強く埋め込むかを選択するようにしたが、本発明はこれに限定されることなく、常に領域データＩ’’１に埋め込むことも可能であることは明らかである。
【０２１８】
［検証処理部］
以下、図２９を用いて本第３の実施形態に適応される検証処理部（機能）を説明する。
【０２１９】
図２９に示すように、本第３の実施形態における検証処理部は、ドキュメントデータ発生部２９１、判定部２９２、領域分割部２９３、第１の付加情報抽出部２９４、第３の付加情報抽出部２９５、第２の付加情報抽出部２９６、及び検証部２９７から構成される。
【０２２０】
尚、ここで説明する検証処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要な機能を概念的なものとして捉えたものと考慮されるべきものである。
【０２２１】
ドキュメントデータ発生部２９１、第１の付加情報抽出部、第２の付加情報抽出部、及び検証部２９７は、夫々、図２に示したドキュメントデータ発生部０２０１、第１の付加情報抽出部０２０２、第２の付加情報抽出部０２０３、及び検証部０２０４と同様の動作をするので詳細な説明は省略する。また、領域分割部２９３も、図２６における領域分割部２６５と同様の動作をするので詳細な説明は省略する。ここでは、判定部２９２、及び第３の付加情報抽出部の動作について説明する。
【０２２２】
まず、判定部２９２について説明する。判定部２９２には、ドキュメントデータＩ４が入力され、ドキュメントデータＩ４中の文書データ内に（前記第２の付加情報埋め込み処理により）付加情報が埋め込まれているか否かが判定される。
【０２２３】
ここで、文書データとはドキュメントデータ内の特に文字部分のことである。ドキュメントデータＩ４は、前述した画像データＩ２（背景データ）とドキュメントデータＤ２（文書データ）を合成して生成した画像データＩ３を入力したものである。よって、判定部２９２では、ドキュメントデータＩ４中から、ドキュメントデータＤ２に相当する文書データだけを抽出して、抽出した文書データ内に付加情報が埋め込まれているか否かを判定する。
【０２２４】
そして、判定結果は制御信号Ｃを用いて領域分割部２９３に送信される。更に、文書データ内に付加情報が埋め込まれていると判定された場合には、後段の第２の付加情報抽出部２９６にドキュメントデータＩ４を送出するが、埋め込まれていないと判定された場合には、第２の付加情報抽出部２９６には何も送出しない。
【０２２５】
前述した署名処理における判定部２６４と異なり、本実施形態における判定部２９２には付加情報Ｉｎｆ１が入力されないことが多いため、付加情報Ｉｎｆ１の情報量と、ドキュメントデータＩ４中の文字数、文字サイズ、行数、言語、フォント、及びこれらの情報の組み合わせなどを用いて、ドキュメントデータに付加情報が埋め込まれているか否かを判定するようにする。或いは、ドキュメントデータＩ４中の文字数、文字サイズ、行数、言語、フォント、及びこれらの情報の組み合わせなどだけで判定するようにしても良い。或いは、判定部２９２中で、後段の第２の付加情報抽出部２９６の機能を用いて、実際に付加情報の抽出を試みて、抽出された結果に応じて判定するようにしても良い。
【０２２６】
次に、第３の付加情報抽出部について説明する。第３の付加情報抽出部には、領域データＩ’’４が入力され、領域データＩ’’４から付加情報Ｉｎｆ４が抽出され、抽出された付加情報Ｉｎｆ４が出力される。ここで、付加情報Ｉｎｆ４が電子透かしなどにより埋め込まれている場合には、第１の付加情報抽出部２９４と同様に電子透かしの抽出処理を実行するようにすればよい。また、付加情報Ｉｎｆ１がバーコードなどにより埋め込まれている場合には、バーコードの読み取り処理を実行するようにすればよい。
【０２２７】
以上、本実施形態における検証処理部（機能）を説明した。
【０２２８】
次に、図３０を用いて本第３の実施形態における検証処理のフローを説明する。
【０２２９】
まず、ステップＳ３０１では、ドキュメントデータ発生部２９１において発生したドキュメントデータＩ４中の文書データ内に付加情報Ｉｎｆ１が埋め込まれているか否かが判定される（判定部２９１）。埋め込まれている場合には処理をステップＳ３０２に進め、埋め込まれていない場合には処理をステップＳ３０６に進める。
【０２３０】
ステップＳ３０２では、ドキュメントデータＩ４を領域データＩ’４，及び領域データＩ’’４に分割する領域分割処理が実行される（領域分割部２９３）。そして、ステップＳ３０４では領域データＩ’４から付加情報が第１の付加情報抽出処理により抽出される（第１の付加情報抽出部２９４）。更に、ステップＳ３０５では領域データＩ’’４から付加情報が第３の付加情報抽出処理により抽出される（第３の付加情報抽出部２９５）。
【０２３１】
一方、ステップＳ３０６では、ドキュメントデータＩ４から付加情報が第１の付加情報抽出処理により抽出される（第１の付加情報抽出部２９４）。更に、ステップＳ３０７ではドキュメントデータＩ４から付加情報が第２の付加情報抽出処理により抽出される（第２の付加情報抽出部３０７）。
【０２３２】
そして、ステップＳ３０８では、抽出された付加情報Ｉｎｆ２と付加情報Ｉｎｆ３、或いは付加情報Ｉｎｆ２と付加情報Ｉｎｆ４を比較することによって、検証処理が実行される。即ち、両者が一致する場合には改竄されていないと判定し、両者が一致しない場合には改竄されていると判定する。
【０２３３】
以上説明したように、本第３の実施形態によれば、署名処理を実行する際に、ドキュメントデータＤ１に付加情報を埋め込むことが難しいような場合にも、署名処理を施すことが可能となる。更に、署名処理の後で、ドキュメントデータＤ１が改竄されたか否かを検証することが可能となる。
【０２３４】
＜第４の実施形態＞
第１の実施形態においては、検証処理において、第１の付加情報抽出処理、及び第２の付加情報抽出処理の両方を実行し、夫々の抽出処理によって抽出された付加情報Ｉｎｆ２，及び付加情報Ｉｎｆ３を比較することにより、ドキュメントデータＩ４が改竄されているか否かが判定された。
【０２３５】
本第４の実施形態は、第１の実施形態における検証処理をより効率的に実行する方法を説明する。本実施形態における検証処理部（機能）は、図２に示したような第１の実施形態と同様の構成であるので説明を省略する。本実施形態では、図２に示すような構成の検証処理部の処理のフローについて説明する。
【０２３６】
図３１は本実施形態における検証処理を示すフローチャートである。
【０２３７】
まず、ステップＳ３１１において、ドキュメントデータ発生部２０１から発生したドキュメントデータＩ４に対して第２の付加情報抽出処理が実行される（第２の付加情報抽出部２０３）。そして、ステップＳ３１２において、付加情報Ｉｎｆ３が抽出されたか否かが判定される。付加情報Ｉｎｆ３が抽出された場合には処理をステップＳ３１３に進め、一方で、付加情報Ｉｎｆ３が抽出されない場合には検証処理を終了する。
【０２３８】
次に、ステップＳ３１３において、ドキュメントデータＩ４に対して第１の付加情報抽出処理が実行される（第１の付加情報抽出部２０２）。そして、ステップＳ３１４において、第１の付加情報抽出処理によって抽出された付加情報Ｉｎｆ２、及び第２の付加情報抽出処理によって抽出された付加情報Ｉｎｆ３を用いて、ドキュメントデータＩ４が改竄されているか否かが検証される（検証部２０４）。
【０２３９】
以上、本第４の実施形態における検証処理のフローついて説明した。
【０２４０】
本第４の実施形態においては、第１の付加情報埋め込み処理はコピー耐性がない弱い埋め込みであり、一方、第２の付加情報埋め込み処理はコピー耐性があるような強い埋め込みである。よって、第２の付加情報抽出処理により付加情報が抽出されない場合には、第１の付加情報が埋め込まれていないと判断し、第１の付加情報抽出処理Ｓ３１３、及び検証処理Ｓ３１４は実行しないようにする。
【０２４１】
以上説明したように、本第４の実施形態によれば、必要な場合にだけ第１の付加情報抽出処理Ｓ３１３、及び検証処理Ｓ３１４を実行することにより、検証処理を効率的に実行することが可能となる。
【０２４２】
＜第５の実施形態＞
第３の実施形態においては、検証処理において、第１の付加情報抽出処理、及び第２の付加情報抽出処理の両方、或いは、第１の付加情報抽出処理、及び第３の付加情報抽出処理の両方を実行し、夫々の抽出処理によって抽出された付加情報Ｉｎｆ２、及び付加情報Ｉｎｆ３、或いは、付加情報Ｉｎｆ２，及び付加情報Ｉｎｆ３を比較することにより、ドキュメントデータＩ４が改竄されているか否かが判定された。
【０２４３】
本第５の実施形態は、上記第３の実施形態における検証処理を、より効率的に実行する方法を説明する。本第５の実施形態における検証処理部（機能）は、図２９に示したような第３の実施形態と同様の構成であるので説明を省略する。本実施形態では、図２９に示すような構成の検証処理部の処理のフローについて説明する。
【０２４４】
図３２は本第５の実施形態における検証処理を示すフローチャートである。
【０２４５】
まず、ステップＳ３２１において、ドキュメントデータ発生部２９１から発生したドキュメントデータＩ４に対して、文書データ内に付加情報が埋め込まれているか否かが判定される（判定部２９２）。そして、文書データ内に付加情報が埋め込まれていないと判定された場合には処理をステップＳ３２２に進め、一方で文書データ内に付加情報が埋め込まれていると判定された場合には処理をステップＳ３２６に進める。
【０２４６】
ステップＳ３２２では、ドキュメントデータＩ４に対して領域分割処理が実行される（ステップＳ２９３）。そして、ステップＳ３２３では領域データＩ’’４から付加情報Ｉｎｆ４が抽出され（第３の付加情報抽出部）、ステップＳ３２４では付加情報Ｉｎｆ４が抽出されたか否かが判定される。付加情報Ｉｎｆ４が抽出された場合には処理をステップＳ３２５に進め、抽出されなかった場合には検証処理を終了する。ステップＳ３２５では、領域データＩ’４から付加情報Ｉｎｆ２が抽出される（第１の付加情報抽出部２９４）。そして、ステップＳ３２９において、抽出された付加情報Ｉｎｆ２と付加情報Ｉｎｆ４を用いて検証処理が実行される（検証部２９７）。
【０２４７】
一方、ステップＳ３２６では、ドキュメントデータＩ４から付加情報Ｉｎｆ３が抽出され（第２の付加情報抽出部２９６）、ステップＳ３２７では付加情報Ｉｎｆ３が抽出されたか否かが判定される。付加情報Ｉｎｆ３が抽出された場合には処理をステップＳ３２８に進め、抽出されなかった場合には検証処理を終了する．ステップＳ３２８では、ドキュメントデータＩ４から付加情報Ｉｎｆ２が抽出される（第１の付加情報抽出部２９４）。そして、ステップＳ３２９において、抽出された付加情報Ｉｎｆ２と付加情報Ｉｎｆ４を用いて検証処理が実行される（検証部２９７）。
【０２４８】
以上、本実施形態における検証処理のフローについて説明した。
【０２４９】
本第５の実施形態においては、第１の付加情報埋め込み処理はコピー耐性がない弱い埋め込みであり、一方、第２の付加情報埋め込み処理、及び第３の付加情報埋め込み処理はコピー耐性があるような強い埋め込みである。よって、第２の付加情報抽出処理、或いは、第３の付加情報抽出処理により付加情報が抽出されない場合には、第１の付加情報が埋め込まれていないと判断し、第１の付加情報抽出処理Ｓ３２５、或いはＳ３２８、及び検証処理Ｓ３２９は実行しないようにする。
【０２５０】
以上説明したように、本第５の実施形態によれば、必要な場合にだけ第１の付加情報抽出処理Ｓ３２５、或いは、Ｓ３２８、及び検証処理Ｓ３２９を実行することにより、検証処理を効率的に実行することが可能となる。
【０２５１】
＜適用例の説明＞
以上説明した各実施形態での適用例としては様々なものが考えられる。ここでは、パーソナルコンピュータ上で動作するプリンタドライバに適用させた例を説明する。
【０２５２】
通常、プリンタドライバは、ワープロアプリケーションから印刷させる対象のデータを受信し、それを出力対象のプリンタが解釈できる記述にして出力する。従って、アプリケーション上で印刷を指示した際に、先ず、背景となる画像を予め登録していた複数の中から選択させ、印刷の指示を行う。
【０２５３】
文章を印刷させる場合には、文字コードを含むデータがプリンタドライバに渡されるので、その中の文字列を抽出することで、埋め込むべき付加情報を抽出できる。すなわち、この場合には、先に説明した文字認識は不要となる。アプリケーションから指定された背景画像に対しては、比較的耐性の低く埋め込み、アプリケーションから渡された印刷すべきデータ（上記実施形態でいうドキュメントデータ）については耐性の高い埋め込み（文字間を調節する）を行う。そして、それらの埋め込み結果を合成したデータをプリンタに適用するデータに変換し、ＯＳを介して出力すれば良いであろう。
【０２５４】
以上説明したように、本実施形態によれば、ドキュメントデータに多段階の耐性を有する埋め込みを行うことで、検証する際に、どのレベルでの検証が成功したかどうかを判定できるようになる。従って、上記実施形態で説明したように、ドキュメントデータが原本であるか複写物であるかを検証することも可能になる。
【０２５５】
なお、実施形態で説明した付加情報の埋め込み及びその抽出方法はその一例であって、他の手法を用いても良く、上記実施形態によって本発明が限定されるものではない。
【０２５６】
また、上記実施形態での説明から明らかなように、本発明の主要部分はパーソナルコンピュータ上で動作するアプリケーションとして提供できるものである。従って、本発明はコンピュータプログラムをもその範疇とするものである。更に、通常、コンピュータプログラムはフロッピー（Ｒ）ディスクやＣＤＲＯＭ等を可搬性のコンピュータ可読記憶媒体に格納されており、その媒体をコンピュータにセットしてコピー或いはインストールすることで実行可能となるわけであるから、コンピュータ可読記憶媒体も本発明の範疇に含まれることも明らかである。
【０２５７】
【発明の効果】
以上説明したように本発明によれば、複数種類の埋め込みを行ない、それぞれに対して検証判定することで、原本に対する関係を判定することができる。従って、例えば、対象となるドキュメントデータが原本（オリジナル）に相当するか、複写物に相当するかを検証することも可能になる。
【図面の簡単な説明】
【図１】実施形態における署名処理部の構成を示す図である。
【図２】実施形態における検証処理部の構成を示す図である。
【図３】実施形態における情報処理装置の構成を示す図である。
【図４】実施形態における合成処理部の説明をする図である。
【図５】実施形態における検証処理部の説明をする図である。
【図６】実施形態における第１の電子透かしの埋め込み処理を説明するブロック図である。
【図７】実施形態における第１の電子透かし生成部を説明するブロック図である。
【図８】実施形態における基本行列の一例を示す図である。
【図９】実施形態における第１の電子透かしの一例を示す図である。
【図１０】実施形態における第１の電子透かし埋め込み演算の例を示す図である。
【図１１】実施形態におけるマクロブロックを示す図である。
【図１２】実施形態における第１の電子透かしの抽出処理を説明するブロック図である。
【図１３】実施形態における抽出パターン生成部の一例を示す図である。
【図１４】実施形態における抽出パターンの一例を示す図である。
【図１５】実施形態における集積画像を用いた第１の電子透かしの抽出の例を説明する図である。
【図１６】実施形態における集積画像を用いた第１の電子透かしの抽出演算の例を説明する図である。
【図１７】第２の実施形態における検証処理部の構成を示す図である。
【図１８】第２の実施形態における傾斜補正を説明する図である。
【図１９】第２の実施形態における傾斜補正部の構成を示す図である。
【図２０】実施形態における検証処理のフローチャートである。
【図２１】実施形態における第２の電子透かしの埋め込み処理を説明するブロック図である。
【図２２】実施形態における第２の電子透かしの抽出処理を説明するブロック図である。
【図２３】実施形態における第２の電子透かしに利用する外接矩形情報を説明する図である。
【図２４】実施形態における第２の電子透かしの埋め込みに用いるシフト幅計算処理のフローを示す図である。
【図２５】実施形態における付加情報の構造を示す図である。
【図２６】第３の実施形態における署名処理部の構成を説明する図である。
【図２７】第３の実施形態における領域を説明する図である。
【図２８】第３の実施形態における署名処理のフローチャートである。
【図２９】第３の実施形態における検証処理部の構成を説明する図である。
【図３０】第３の実施形態における検証処理のフローチャートである。
【図３１】第４の実施形態における検証処理のフローチャートである。
【図３２】第５の実施形態における検証処理のフローチャートである。
【図１】
2004007463.tif 000003
【図２】
2004007463.tif 000004
【図３】
2004007463.tif 000005
【図４】
2004007463.tif 000006
【図５】
2004007463.tif 000007
【図６】
2004007463.tif 000008
【図７】
2004007463.tif 000009
【図８】
2004007463.tif 000010
【図９】
2004007463.tif 000011
【図１０】
2004007463.tif 000012
【図１１】
2004007463.tif 000013
【図１２】
2004007463.tif 000014
【図１３】
2004007463.tif 000015
【図１４】
2004007463.tif 000016
【図１５】
2004007463.tif 000017
【図１６】
2004007463.tif 000018
【図１７】
2004007463.tif 000019
【図１８】
2004007463.tif 000020
【図１９】
2004007463.tif 000021
【図２０】
2004007463.tif 000022
【図２１】
2004007463.tif 000023
【図２２】
2004007463.tif 000024
【図２３】
2004007463.tif 000025
【図２４】
2004007463.tif 000026
【図２５】
2004007463.tif 000027
【図２６】
2004007463.tif 000028
【図２７】
2004007463.tif 000029
【図２８】
2004007463.tif 000030
【図２９】
2004007463.tif 000031
【図３０】
2004007463.tif 000032
【図３１】
2004007463.tif 000033
【図３２】
2004007463.tif 000034