(57)【特許請求の範囲】
【請求項１】
画像中に電子透かし情報を埋め込み処理可能な画像処理装置であって、
処理対象の画像を青色成分と他の色成分とに分離して青色成分画像を抽出する抽出手段と、
コーンマスクの所定の閾値以下の係数の配置に基づいて、前記電子透かし情報を埋め込む前記青色成分画像の位置を決定する埋め込み位置決定手段と、
非回転対称なパターン配列であって、当該パターン配列と、該パターン配列を３６０度の整数倍の角度を除く任意の角度で回転させたものと、をそれぞれ中心が重なるように各要素を対応させた場合に、それぞれに対応する配列の要素の正または負の符号の全てが同一にならない、正の要素と負の要素とを含むパターン配列を決定するパターン配列決定手段と、
前記埋め込み位置決定手段が決定した前記青色成分画像の位置に、前記パターン配列決定手段が決定した非回転対称なパターン配列を用いて位置情報および回転情報を含む電子透かし情報を埋め込む埋め込み手段と、
前記電子透かし情報が埋め込まれた青色成分画像と、前記他の色成分の画像とを合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
画像処理装置において画像中に電子透かし情報を埋め込むための画像処理方法であって、
処理対象の画像を青色成分と他の色成分とに分離して青色成分画像を抽出する抽出工程と、
コーンマスクの所定の閾値以下の係数の配置に基づいて、前記電子透かし情報を埋め込む前記青色成分画像の位置を決定する埋め込み位置決定工程と、
非回転対称なパターン配列であって、当該パターン配列と、該パターン配列を３６０度の整数倍の角度を除く任意の角度で回転させたものと、をそれぞれ中心が重なるように各要素を対応させた場合に、それぞれに対応する配列の要素の正または負の符号の全てが同一にならない、正の要素と負の要素とを含むパターン配列を決定するパターン配列決定工程と、
前記埋め込み位置決定工程において決定された前記青色成分画像の位置に、前記パターン配列決定工程において決定された非回転対称なパターン配列を用いて位置情報および回転情報を含む電子透かしを埋め込む埋め込み工程と、
前記電子透かし情報が埋め込まれた青色成分画像と、前記他の色成分の画像とを合成する合成工程と、
を有することを特徴とする画像処理方法。
【請求項３】
コンピュータを請求項１に記載の画像処理装置として機能させるためのプログラム。
【請求項４】
請求項３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、原画像データに電子透かしを埋め込んだ画像データを生成し、及び或はその画像データから電子透かし部分を抽出する画像処理方法及び装置並びに記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、コンピュータとそのネットワークの急速な発達及び普及により、文字データ、画像データ、音声データなど、多種の情報がディジタル化されている。ディジタル情報は、経年変化などによる劣化がなく、いつまでも完全な状態で保存できる一方、容易に複製が可能であり、著作権の保護が大きな問題となっている。そのため著作権保護のためのセキュリティ技術は急速に重要性を増している。
【０００３】
著作権を保護する技術の一つに”電子透かし”がある。電子透かしとは、ディジタルの画像データや音声データ、文字データなどに人に知覚出来ない形で著作権保有者の名前や購入者のＩＤなどを埋めこみ、違法コピーによる無断の使用を追跡する技術である。
【０００４】
【発明が解決しようとする課題】
しかしながら、電子透かしには種々の攻撃が施される可能性がある。例えば、ＪＰＥＧなどの非可逆圧縮、拡大・縮小或いは回転などの幾何変換、プリントアウト／スキャニング、ノイズ付加などがあげられる。ここで、特に幾何変換に対して耐性を持たせるために、レジストレーションという処理が用いられることがある。
【０００５】
レジストレーションは、電子透かしを埋め込む際に、付加情報とは別に特定の信号（レジストレーション信号）を画像に付加し、電子透かしを抽出する際には、付加情報を抽出する前に、前記レジストレーション信号を用いて付加情報の抽出を助長する処理である。
【０００６】
従来、電子透かしを埋めこむ際に、対称な軸を持つレジストレーション信号を埋め込むことで、電子透かしが埋め込まれた画像を周波数変換し、画像に加えられたスケーリングおよび回転を解析すること可能であった。
【０００７】
しかし、画像に加えられた回転を解析する場合、空間周波数領域の振幅スペクトルにおける対称性から、電子透かしが埋め込まれた画像に加えられた回転方向を一意に判定することができなかった。
【０００８】
【課題を解決するための手段】
本発明は上述した課題を解決することを目的として成されたもので、係る目的を達成する一手段として、例えば以下の構成を備える。
【０００９】
即ち、画像中に電子透かし情報を埋め込み処理可能な画像処理装置であって、
処理対象の画像を青色成分と他の色成分とに分離して青色成分画像を抽出する抽出手段と、
コーンマスクの所定の閾値以下の係数の配置に基づいて、前記電子透かし情報を埋め込む前記青色成分画像の位置を決定する埋め込み位置決定手段と、
非回転対称なパターン配列であって、当該パターン配列と、該パターン配列を３６０度の整数倍の角度を除く任意の角度で回転させたものと、をそれぞれ中心が重なるように各要素を対応させた場合に、それぞれに対応する配列の要素の正または負の符号の全てが同一にならない、正の要素と負の要素とを含むパターン配列を決定するパターン配列決定手段と、
前記埋め込み位置決定手段が決定した前記青色成分画像の位置に、前記パターン配列決定手段が決定した非回転対称なパターン配列を用いて位置情報および回転情報を含む電子透かし情報を埋め込む埋め込み手段と、
前記電子透かし情報が埋め込まれた青色成分画像と、前記他の色成分の画像とを合成する合成手段と、
を有することを特徴とする。
【００１６】
更に、画像処理装置において画像中に電子透かし情報を埋め込むための画像処理方法であって、
処理対象の画像を青色成分と他の色成分とに分離して青色成分画像を抽出する抽出工程と、
コーンマスクの所定の閾値以下の係数の配置に基づいて、前記電子透かし情報を埋め込む前記青色成分画像の位置を決定する埋め込み位置決定工程と、
非回転対称なパターン配列であって、当該パターン配列と、該パターン配列を３６０度の整数倍の角度を除く任意の角度で回転させたものと、をそれぞれ中心が重なるように各要素を対応させた場合に、それぞれに対応する配列の要素の正または負の符号の全てが同一にならない、正の要素と負の要素とを含むパターン配列を決定するパターン配列決定工程と、
前記埋め込み位置決定工程において決定された前記青色成分画像の位置に、前記パターン配列決定工程において決定された非回転対称なパターン配列を用いて位置情報および回転情報を含む電子透かしを埋め込む埋め込み工程と、
前記電子透かし情報が埋め込まれた青色成分画像と、前記他の色成分の画像とを合成する合成工程と、
を有することを特徴とする。
【００１８】
【発明の実施の形態例】
以下、図面を参照して本発明に係る一発明の実施の形態例を詳細に説明する。
【００１９】
［第１の発明の実施の形態例］
＜１．電子透かし埋め込み装置の説明＞
まず、本発明に係る一発明の実施の形態例における電子透かし埋め込み装置の概要について図面を参照して説明する。
【００２０】
まず、図１を参照して本発明に係る一発明の実施の形態例における電子透かし埋め込み装置の構成を説明する。図１は本発明に係る一発明の実施の形態例における電子透かし埋め込み装置の構成を示すブロック図である。
【００２１】
図１に示す様に、本実施の形態例の電子透かし埋め込み装置は、色成分抽出手段０１０１、レジストレーション信号埋め込み手段０１０２、パターン配列決定手段０１１０、埋め込み位置決定手段０１０３、付加情報埋め込み手段０１０４、色成分合成手段０１０５、ＪＰＥＧ圧縮符号化手段０１０６、メモリ０１０７、ＪＰＥＧ伸長復号化手段０１０８、プリンタ０１０９から構成される。
【００２２】
本実施の形態例の図１に示す電子透かし埋め込み装置には、画像データIが入力される。これは１画素当たり所定の複数ビットが割り当てられた多値画像データである。なお、本実施の形態例では、入力される画像データIがグレイスケール画像データであってもカラー画像データであっても対応可能である。
【００２３】
グレイスケール画像データは、１画素当たり１種類の要素から構成されているものであり、カラー画像データは、１画素当たり３種類の要素から構成されているものとする。この３種類の要素とは本実施の形態例では赤色成分（Ｒ）、緑色成分（Ｇ）、青色成分（Ｂ）である。しかしながら、別の色成分の組み合わせにも本発明は適用可能である。
【００２４】
電子透かし埋め込み装置に入力された画像データＩは、まず色成分抽出手段０１０１に入力される。入力された画像データＩがカラー画像データである場合には、色成分抽出手段０１０１においてこのカラー画像データから青色成分だけを分離し、後段のレジストレーション信号埋め込み手段０１０２に出力される。
【００２５】
一方、その他の色成分は後段の色成分合成手段０１０５に出力する。即ち、ここでは、電子透かし情報が埋め込まれるべき色成分のみが分離されて電子透かしの処理系に送出される。
【００２６】
本実施の形態例においては、例えば人間に目視しにくく埋め込むために青色成分に対して電子透かし情報の埋め込みが行われる。これは赤色成分、青色成分、緑色成分の中で、人間の視覚にとっては青色成分が最も鈍感であることによる。よって青色成分に電子透かし情報を埋め込むことは、他の色成分に対して電子透かし情報を埋め込むことに比べて、電子透かし情報による画質劣化が人間の目に知覚しにくくなる効果がある。
また、入力された画像データＩがグレイスケール画像データである場合には、色成分抽出手段０１０１はグレイスケール画像データを一旦疑似的なカラー画像データに変換する。
ここでいう疑似的なカラー画像データとは、１画素当たり３種類の要素から構成されるカラー画像データであるが、本実施の形態例では、３種類の要素（Ｒ，Ｇ，Ｂ）の値が全て等しい画像データになる。
グレイスケール画像データは上記疑似的なカラー画像データに変換され、このカラー画像データの中の青色成分（Ｂ）が抽出され、レジストレーション信号埋め込み手段０１０２へ出力される。
【００２７】
一方その他の色成分は後段の色成分合成手段０１０５に出力する。この様にして、上述したカラー画像データの場合と同様に、全ての色成分ではなく青色成分のみに対して電子透かし情報が埋め込まれることとなる。
【００２８】
なお、以後の説明では、画像データＩがカラー画像データである場合とグレイスケール画像データである場合とは、できるだけ区別しない様に説明する。即ち、カラー画像データと擬似的なカラー画像データとは区別しない様に説明する。
【００２９】
次に、レジストレーション信号埋め込み手段０１０２について説明する。ここで、レジストレーション信号とは、電子透かし情報の抽出の前処理として幾何的な補正を実行する為に必要とされる信号である。
【００３０】
レジストレーション信号埋め込み手段０１０２には、色成分抽出手段０１０１で得られた青色成分の画像データが入力される。レジストレーション信号埋め込み手段０１０２では、画像データに対して一種の電子透かしの技術を用いてレジストレーション信号が埋め込まれる。そして、レジストレーション信号埋め込み手段０１０２からはレジストレーション信号が埋め込まれた画像データが出力される。
【００３１】
レジストレーション信号を埋め込まれた画像データにおいて、人間の視覚はレジストレーション信号を知覚することができない。このレジストレーション信号の埋め込み方法等、詳細は後述する。
【００３２】
パターン配列決定手段０１１０では、電子透かし情報を埋め込んだ画像データを、プリンタ０１０９で印刷する際に濃度階調が面積階調に変化する場合であっても、電子透かし情報（付加情報）の抽出（検出）が十分行なえるように、入力される画像データが表す画像の解像度とプリンタからの出力解像度に基づいて、電子透かし情報（付加情報）を埋め込むパターン配列を決定する。パターン配列の決定方法等については後述する。
【００３３】
なお、画像の解像度とは、所定のサイズでこの画像を印刷しようとした場合の、この画像（ビットマップ画像）の１インチ当たりの画素数として定義する。よって、ある画像を所定のサイズで印刷しようとした場合、画素数の多い画像ほど画像の解像度が高いことになる。画像の解像度を表す単位として、pixel/inch（ピクセル／インチ）を使用する。
【００３４】
またプリンタの出力解像度とは、プリンタが印刷媒体上の１インチ当たりに印刷出力するドットの数を示す。１インチ当たりに印刷出力するドット数が多いプリンタほど、出力解像度が高いプリンタである。
【００３５】
上記パターン配列決定手段０１１０は、入力された画像データと共に、複数の中から選択したパターン配列を埋め込み位置決定手段０１０３に出力する。
【００３６】
次の埋め込み位置決定手段０１０３は、レジストレーション信号が埋め込まれた画像データにおける付加情報「Inf」の埋め込み位置を決定する。
【００３７】
埋め込み位置決定手段０１０３は、入力された画像データ、パターン配列と共に、画像中に付加情報「Inf」を埋め込む位置を表す制御データを付加情報埋め込み手段０１０４に出力する。
【００３８】
付加情報埋め込み手段０１０４は、上記画像データとパターン配列と制御データに加えて、付加情報「Inf（複数のビット情報）」を入力する。この付加情報「Inf」は、青色成分の画像データにおける上記決定された埋め込み位置に、電子透かし技術を用いて埋め込まれる。この電子透かしの技術を用いた付加情報「Inf」の埋め込みの詳細については後述する。
【００３９】
付加情報埋め込み手段０１０４からは付加情報「Inf」が埋め込まれた画像データが出力され、色成分合成手段０１０５に入力される。色成分合成手段０１０５は、前段（付加情報埋め込み手段０１０４）までに処理された青色成分と、色成分抽出手段０１０１から直接入力される赤色成分及び緑色成分とを用いて、通常のカラー画像データの形態に合成する。
【００４０】
色成分合成手段０１０５で得られたカラー画像データは、続いてＪＰＥＧ圧縮符号化手段０１０６に出力される。ＪＰＥＧ圧縮符号化手段０１０６は、入力された赤色成分、青色成分、緑色成分で構成されるカラー画像データを輝度、色差成分で構成されるカラー画像データに変換し、ＪＰＥＧ圧縮符号化を行なう。
【００４１】
ＪＰＥＧ圧縮符号化手段０１０６で圧縮されたＪＰＥＧ圧縮データは、一旦メモリ０１０７に格納される。そして外部機器への送信、あるいは印刷される際のタイミングに合わせてこのメモリから読み出され、後段のＪＰＥＧ伸長復号化手段０１０８に出力される。
ＪＰＥＧ伸長復号化手段０１０８は、上記ＪＰＥＧ圧縮データを伸長してカラー画像データとして出力する。
【００４２】
ＪＰＥＧ伸張復号化手段０１０８から出力されたカラー画像データ「wI」は、プリンタ０１０９に入力される。プリンタ０１０９は、入力されたカラー画像データをＣＭＹＫの色成分に変換し、更にハーフトーン処理等を施した後、紙等の印刷媒体上に印刷物「pwI」として出力する。
【００４３】
なお、この印刷物「pwI」は、本装置ユーザ以外の手に渡り、回転等の幾何学的編集、或いはコピー機による複写等の攻撃が行われる可能性が有る。
【００４４】
上記印刷物に変形が加えられた可能性を有する印刷物を「pwI’」とする。この印刷物「pwI’」は、後述する図２に示すスキャナ２００１を用いて、再度ディジタル化されることになる。
【００４５】
以上説明した各手段を備える本実施の形態例における電子透かしの埋め込み処理の全体の流れを、図３１に示すフローチャートを用いて説明する。図３１は本実施の形態例における電子透かしの埋め込み処理の全体の流れを示すフローチャートである。
【００４６】
電子透かしの埋め込み処理３１０１においては、まずステップ３１０２において画像データＩが色成分抽出手段０１０１に入力される。これは写真や印刷物をスキャナなどで読み取り、画像データを生成する工程も含む。更に青色成分を分離し、後段のレジストレーション信号入力に使用する。
【００４７】
次に、ステップ３１０３においてレジストレーション信号埋め込み手段０１２０はレジストレーション信号を発生し、発生したレジストレーション信号を入力する。このレジストレーション信号がステップ３１０４で埋め込まれる。このステップ３１０４におけるレジストレーション信号埋め込み処理は、図１におけるレジストレーション信号埋め込み手段０１０２の内部で実行される処理に相当し、詳細な説明は後述する。
一方、ステップ３１１１ではパターン配列決定手段０１１０にてパターン配列を決定する。プリンタ０１０９の出力解像度及び画像の解像度に応じて、付加情報「Inf」の埋め込みに使用するべきパターン配列を決定する。
更に、ステップ３１０５によりマスクが作成され、作成されたマスクは、ステップ３１０６に入力され、埋め込みビット情報と埋め込み位置の関係を規定する。ステップ３１０７ではステップ３１１１で決定したパターン配列を入力し、このパターン配列も参照しながらマスクを拡大マスクに拡張する。このマスク・パターン配列対応手段についても詳細な説明は後述する。
【００４８】
ステップ３１０３,３１０４においてレジストレーション信号が埋め込まれた画像データに対して、ステップ３１０８において付加情報「Inf」が埋め込まれる。この付加情報埋め込み処理はマクロブロック単位で付加情報「Inf」を画像全体に繰り返し埋め込む。この処理は後述の図１０で詳細に述べる。
【００４９】
ここで、マクロブロックとは、最小埋め込み単位のことを示し、このマクロブロックに相当する画像領域に１つの完結した付加情報「Inf」の全情報が埋め込まれる。
【００５０】
ステップ３１０９では、付加情報「Inf」が埋め込まれた画像データをＪＰＥＧ圧縮符号化してメモリ０１０７に格納し、更にＪＰＥＧ伸長復号化を行った後にプリンタ０１０９から印刷物pwIとして出力する。
【００５１】
＜２．電子透かし抽出装置の説明＞
次に、本実施の形態例における電子透かし抽出装置の概要について図２を参照して説明する。図２は本実施の形態例における電子透かし抽出装置の構成を示すブロック図である。
【００５２】
図２に示す様に、本実施の形態例の電子透かし抽出装置は、スキャナ０２０１、色成分抽出手段０２０２、レジストレーション手段０２０３、及び付加情報抽出手段０２０４から構成される。
【００５３】
以上の構成を備える電子透かし抽出装置の原稿台に印刷物「pwI'」をセットし、スキャナ０２０１がこの印刷物「pwI’」をスキャンニングすることによりディジタル化された画像データ「wI’」を生成する。上述したが、上記印刷物「pwI’」は図１における印刷物「pwI」とは異なっている可能性を有する。
【００５４】
画像データ「wI'」は画像データ「wI」に対して種々の幾何的な歪みを生じる攻撃を受けている。攻撃には、スケーリング、回転、印刷＆スキャニング等を含むが、本実施の形態例の場合には少なくとも１度の印刷＆スキャンニングを伴う攻撃が成されていることになる。
【００５５】
従って、画像データ「wI'」と「wI」とは内容が同一であることが理想的ではあるが、実際にはこの２つの画像データは内容が著しく異なっていることが多い。
【００５６】
色成分抽出手段０２０２は、画像データ「wI'」を入力し、青色成分を抽出した後、この青色成分の画像データを後段のレジストレーション手段０２０３へ出力する。画像データ「wI'」のうち、青色成分以外の赤色成分、及び緑色成分は必要無いのでここで廃棄される。
【００５７】
レジストレーション手段０２０３には、色成分抽出手段０２０２で得られた青色成分の画像データ「wI１'」が入力される。そしてこの青色成分の画像データ「wI１'」を用いて、幾何学的な歪みが補正された画像データ「wI２'」を生成する。
【００５８】
上述した様に、画像データ「wI'」は画像データ「wI」とは異なるスケール・回転が加わっている可能性を有するのに対し、画像データ「wI２'」は画像データ「wI」と必ず同一のスケールになる。この理由、及び画像データ「wI２'」を画像データ「wI」と同じスケールにする処理の詳細は後述する。
【００５９】
付加情報抽出手段０２０４は、付加情報埋め込み手段０１０３での埋め込み方式に合わせた所定の処理を施こすことによって、画像データ「wI２'」に埋め込まれている付加情報「Inf」を抽出することが可能であり、抽出された付加情報「Inf」を出力する。
【００６０】
以上説明した本実施の形態例における電子透かし抽出装置の各手段による全体の流れを、図３２のフローチャートを用いて説明する。図３２は本実施の形態例における電子透かし抽出装置の全体制御を説明するためのフローチャートである。
【００６１】
本実施の形態例における電子透かし抽出装置においては、図３２に示す電子透かし抽出処理を実行する。
【００６２】
まずステップ３２０２において、電子透かし嵌め込み済みの画像データ「wI'」が入力される。この画像データ「wI'」は、印刷物「pwI'」であると予想される画像データをスキャナでスキャンすることにより得られる。一般的には、画像データ「wI'」は画像データ「wI」とは著しく異なっている。
【００６３】
また、この画像データ「wI'」の青色成分のみが抽出され、次のステップ３２０２において使用される。
【００６４】
次に、ステップ３２０３では、入力された青色成分の画像データ「wI１'」のスケールが補正され、抽出の可能性がある回転角に補正される。このアフィン変換補正処理は、図２のレジストレーション手段０２０３の内部で実行される処理であり、詳細な説明は後述する。
【００６５】
次のステップ３２１１では、ステップ３２０３から出力されるスケーリング率を用いて、付加情報「Inf」の埋め込みに用いたパターン配列を判定する。
【００６６】
ステップ３２０４では、入力された青色成分の画像データ「wI１'」の回転角を更に補正し、オフセットも補正される。
【００６７】
次に第１のパターン配列を用いた抽出処理がステップ３２０６において、第２のパターン配列を用いた抽出処理がステップ３２０５において、スケールと回転とオフセットが既に補正された画像データ「wI２'」から、夫々埋め込まれている付加情報「Inf」が抽出される。
【００６８】
統計検定ステップ３２０７では、上記抽出された付加情報「Inf」の確からしさが算出、判定され、正しい付加情報「Inf」ではないと判定されればステップ３２０２に戻り、付加情報「Inf」が埋め込まれていると考えられる画像を入力しなおす。
【００６９】
一方、充分正確な付加情報「Inf」であると判定された場合には、ステップ３２０８の比較処理により付加情報「Inf」の抽出を行なう。また、ステップ３２１０では上記確からしさを示す情報を後述する信頼性指標Ｄとして表示する。
【００７０】
以上の、パターン配列判定処理、オフセット合わせ処理、第１のパターン配列を用いた抽出処理、及び第２のパターン配列を用いた抽出処理、及び統計検定処理、及び比較処理は、図２の付加情報抽出手段０２０３の内部で実行される処理であり、詳細な説明は後述する。
【００７１】
＜３．各部の詳細説明＞
次に、以上に概略を説明した他各部の詳細な説明を行なう。
【００７２】
まず、電子透かし抽出側におけるレジストレーション手段０２０３、ステップ３２０３が実行するレジストレーション処理の詳細について説明する。レジストレーション処理とは電子透かし情報の抽出の際に、電子透かし抽出装置に入力された画像データ「wI'」から付加情報「Inf」が抽出できる様にする前処理である。
【００７３】
一般に、「レジストレーション処理」という用語は、アフィン変換処理だけではなく、位置合わせ処理なども含む意味を持つ。しかし、本実施の形態例では、位置合わせ処理は、付加情報「Inf」の一部として埋め込まれた位置情報を利用するため、付加情報抽出手段０２０４に含めて説明を行なう。
【００７４】
以下では、まず印刷系の処理が施された画像データがどの様な変化を受けるかを考える。そして、その様な変化に対するレジストレーション処理を考察し、印刷系に対するレジストレーション処理を考える。
【００７５】
画像データ「wI」がＹＭＣＫインクジェットプリンタによって印刷され、この印刷物をスキャナでスキャンニングする本実施の形態例について考察する。
【００７６】
この時、プリンタによる出力解像度と、スキャナによる入力解像度が異なる場合には、元のカラー画像データ「wI」とスキャンニングで得られた画像データ「wI'」のスケールは異なってしまう。よって、得られた画像データ「wI'」からはそのまま正確に電子透かし情報を抽出できる可能性は少ない。従って、これらのスケールの違いを補正できる手段を備えておくことが必要である。
【００７７】
本実施の形態例では、入力解像度と出力解像度の両方が既知である為、これらの比からスケールの比を算出できる。例えば、出力解像度が６００dpiであり入力解像度が３００dpiである場合には、印刷前の画像とスキャンニング後の画像のスケールの比は２倍である。
【００７８】
よって、算出されたスケールの比にしたがって、適当なスケーリングアルゴリズムを用いて画像データ「wI'」に対してスケーリングを施す。これにより画像データ「wI」と画像データ「wI'」が表す画像サイズを同じスケールにできる。
【００７９】
しかし、全ての場合に出力と入力の解像度が既知であるとは限らず、双方の解像度が既知でない場合には上述の方法は使用できない。この場合には、スケールの違いを補正する手段に加えて、更にスケールの比を知る手段が必要である。
また、画像データ「wI」に印刷系の処理が施された画像は、スキャナのスキャンニングにより入力された後には図３に示す様な画像となる。
【００８０】
図３においては０３０１全体が画像データ「wI'」が表す画像である。この画像データ０３０１は、画像データ「wI」により表される本来の画像０３０２と白色の余白部分０３０３から構成される。この様な余白は、ユーザがマウスなどによって切り取った場合には不正確になってしまう。このスキャニングによる位置ズレに対する位置合わせ処理は、付加情報抽出処理０２０４におけるオフセット合わせ処理にて行なう。
【００８１】
また、細心の注意を払わない場合には、図３に示す本来の画像０３０２には、回転が加わる。そのため、どのような置き方をしても、電子透かしを抽出できるようにするには、スケーリング同様、画像に加えられた回転を補正する手段に加えて、更に回転角を知る手段を備えることが必要である。回転角の判定および補正は、レジストレーション処理、およびオフセット合わせ処理で行なう。
【００８２】
以上挙げた点が、印刷系を介して得られた画像データ「wI'」を表す画像には、必ず生じていると考えられ、画像データ「wI」に印刷系の処理が施される場合であれば、これらを解決する必要がある。
【００８３】
以上、電子透かしを抽出する前に印刷系の処理を少なくとも１度介してから画像データを得る場合について説明したが、この様な状況は人為的な編集によっても起こり得る。
【００８４】
＜３−１  レジストレーション信号埋め込み処理の説明＞
以下、入出力解像度の比が不明である場合を想定し、上記スケールの違いおよび回転が生ずる問題点を解決する為に備えられた、本実施の形態例におけるレジストレーション信号埋め込み手段及びレジストレーション手段について説明する。
【００８５】
まず、レジストレーション信号埋め込み手段０１０２（図３１のステップ３１０４）によるレジストレーション信号埋め込み処理の詳細を説明する。
【００８６】
レジストレーション信号埋め込み手段０１０２は、付加情報埋め込み手段０１０４よりも前に位置するものである。この手段０１０２は、図２に示すレジストレーション手段における画像データ「wI'」のレジストレーションに参照されるレジストレーション信号を、元の画像データに予め埋め込む処理を行なうものである。
【００８７】
このレジストレーション信号は、電子透かし情報として人間の目に見えにくく画像データ（本実施の形態例ではカラー画像データの青色成分）に埋め込まれる。
【００８８】
以下、図４を参照して本実施の形態例におけるレジストレーション信号埋め込み手段０１０２の詳細を説明する。図４は本実施の形態例におけるレジストレーション信号埋め込み手段０１０２の詳細構成を示すブロック図である。
【００８９】
本実施の形態例のレジストレーション信号埋め込み手段０１０２は、図４に示すようにブロック分割手段０４０１、フーリエ変換手段０４０２、加算手段０４０３、逆フーリエ変換手段０４０４、ブロック合成手段０４０５から構成される。以下、各手段の詳細について説明する。
【００９０】
ブロック分割手段０４０１は、入力された画像データを互いに重ならない複数のブロックに分割する。このブロックのサイズは本実施の形態例においては２のべき乗に定める。実際はこれ以外のサイズでも適応可能であるが、ブロックのサイズが２のべき乗である場合は、ブロック分割手段０４０１の後に結合されるフーリエ変換手段０４０２において高速の処理を行なうことが可能である。
【００９１】
ブロック分割手段０４０１により分割されたブロックは、二つの集合I１とI２に分けられ、このうちI１は後段のフーリエ変換手段０４０２に入力され、I２は後段のブロック合成手段０４０５に入力される。
【００９２】
本実施の形態例では、I１としては、ブロック分割手段０４０１により得られた各ブロックのうち、画像データIの中で最も中心付近に位置する一つのブロックが選択され、残りのブロックは全てI２として選択される。
これは、本実施の形態例が少なくとも一つのブロックを用いることで実現可能であり、ブロックの数が少ない方が処理時間を短縮できることによる。しかしながら本発明はこれに限らず、I１として二つ以上のブロックを選択する場合も範疇に含む。
【００９３】
また、どの様なサイズでブロックに分割され、どのブロックがレジストレーション信号の埋め込み対象に選択されるかという情報は、電子透かし埋め込み装置と、電子透かし抽出装置で共有する必要がある。
【００９４】
ブロック分割手段０４０１の分割で得られた画像データの一部I１は、フーリエ変換手段０４０２に入力される。
【００９５】
次にフーリエ変換手段０４０２は、入力された画像データI１に対してフーリエ変換を施す。入力された画像データI１の元のデータ形態を空間領域と呼ぶのに対して、フーリエ変換された後のデータ形態を周波数領域と呼ぶ。
【００９６】
フーリエ変換は、入力された全てのブロックに対して施される。なお本実施の形態例では、入力されるブロックのサイズが２のべき乗であるので、処理の高速化の為に高速フーリエ変換を用いる。
【００９７】
高速フーリエ変換とは、フーリエ変換がｎ×ｎ回の演算量を必要とするのに対して、(n/２)log２(n)の演算量で実行可能な変換アルゴリズムである。ただしここでｎは正の整数である。高速フーリエ変換とフーリエ変換は、演算結果を得る為の速度が違うだけであり、両者からは等しい結果が得られる。よって本実施の形態例では、高速フーリエ変換とフーリエ変換を区別して説明しない。
【００９８】
なお、フーリエ変換により得られた周波数領域の画像データは振幅スペクトルと位相スペクトルによって表現される。このうち振幅スペクトルだけが加算手段０４０３に入力される。一方で、位相スペクトルは逆フーリエ変換装置０４０４に入力される。
【００９９】
次に、加算手段０４０３について説明する。加算手段０４０３には、上記振幅スペクトルと共に、レジストレーション信号と呼ばれる信号rが別に入力される。レジストレーション信号の例としては、図５に示す様なインパルス信号が挙げられる。
【０１００】
図５では、フーリエ変換されて得られた２次元空間周波数成分のうちの振幅スペクトルが示されている。中心が低周波成分、周囲が高周波数成分である。０５０１は本来の画像成分が持っている信号成分の振幅スペクトルであり、写真等の自然画像に相当する信号では低域に多くの大きな信号が集中する。一方で高域にはほとんど信号が存在しない。
【０１０１】
なお、本実施の形態例では自然画像に一連の処理を施すことを想定して説明するが、本発明はこれに限らず、文書画像、ＣＧ画像等も同様に処理しても良い。ただし、本実施の形態例は中間濃度が比較的多い自然画像を処理する場合に特に有効である。
【０１０２】
図５は、自然画像の本来持つ信号０５０１に対して周波数領域の信号の水平垂直ナイキスト周波数成分にインパルス信号０５０２、０５０３、０５０４、０５０５を加えた本実施の形態例の一例である。この例の様に、レジストレーション信号はインパルス性の信号であることが望ましい。これは後述する電子透かし抽出装置において、レジストレーション信号だけを抽出しやすいからである。
【０１０３】
図５に示す例では入力信号のナイキスト周波数成分に対してインパルス信号を加えているが、本発明はこれに限定されることはない。即ち、電子透かし情報が埋め込まれた画像が攻撃を受けた場合にもレジストレーション信号が除去されないものであれば良い。上述した様に、JPEG圧縮などの非可逆圧縮方式はローパスフィルタ的な効果がある。よって、ここでの情報圧縮の対象となる高周波成分へインパルス信号を埋めこんでも、圧縮・伸張処理により除去されてしまう可能性がある。
【０１０４】
一方で、低周波成分へのインパルスの埋め込みは、高周波成分への埋め込みと比べて、人間の視覚特性からノイズとして知覚されやすいという欠点がある。よって、本実施の形態例では人間の視覚に認識しにくい第１の周波数以上であり、かつ非可逆圧縮・伸張処理により容易に除去されない第２の周波数以下である中間レベルの周波数へインパルス信号を埋め込むものとする。また、このレジストレーション信号は、加算手段０４０３に入力された各ブロック（本実施の形態例では１ブロック）に対して加えられる。
【０１０５】
加算手段０４０３は、周波数領域の画像データの振幅スペクトルにレジストレーション信号が加えられた信号を逆フーリエ変換手段０４０４に出力する。
【０１０６】
逆フーリエ変換手段０４０４は、入力された周波数領域の画像データに対して逆フーリエ変換を施す。この逆フーリエ変換は、入力された全てのブロックに対して施される。上述のフーリエ変換手段０４０２の場合と同様に、入力されたブロックのサイズが２のべき乗であるので処理の高速化の為に高速フーリエ変換を用いる。逆フーリエ変換手段０４０４へ入力された周波数領域の信号は、逆フーリエ変換されることにより空間領域の信号に変換され出力される。
【０１０７】
逆フーリエ変換手段０４０４から出力された空間領域の画像データは、ブロック結合手段０４０５に入力される。
【０１０８】
ブロック結合手段０４０５は、ブロック分割手段０４０５で行われた分割と逆の処理を行なう。ブロック結合手段０４０５の処理の結果、画像データ（青色成分）が再構成されて出力される。
【０１０９】
以上、図１に示したレジストレーション信号埋め込み手段０１０２の詳細を述べた。
【０１１０】
図４では、レジストレーション信号をフーリ変換領域において埋め込む方式を説明した。
【０１１１】
一方で、レジストレーション信号を空間領域において埋め込む方式も考えられる。この方式を図２９を参照して以下に説明する。
【０１１２】
図２９に示す例においては、ブロック分割手段２９０１、加算手段２９０２、ブロック合成手段２９０３、逆フーリエ変換手段２９０４から構成される。
【０１１３】
ブロック分割手段２９０１及びブロック合成手段２９０３は、図４におけるブロック分割手段０４０１及びブロック合成手段０４０５と同様の動作をする。レジストレーション信号埋め込み手段０１０２に入力される画像データは、まずブロック分割手段２９０１に入力され、分割される。ここで得られたブロックは加算手段２９０２に入力される。
【０１１４】
一方で、レジストレーション信号rは逆フーリエ変換手段２９０４に入力され、逆フーリエ変換処理により信号r'に変換される。ここで、レジストレーション信号rは、図５に示したものと同様に周波数領域上の信号である。
【０１１５】
加算手段２９０２には、ブロック分割手段２９０１からのブロックと逆フーリエ変換手段２９０４からの信号r'が入力され、夫々加算される。加算手段２９０２から出力された信号はブロック合成手段２９０３に入力され、画像データ（青色成分）が再構成されて出力される。
【０１１６】
以上に示す図２９の構成は、図４の構成と同様の処理を空間領域で行なうものである。図２９の構成は、図４の構成に比べて、フーリエ変換手段を必要としないので高速な処理を行なうことが可能である。
【０１１７】
更に、図２９の中で、信号r'は入力画像データIに対して独立な信号である。よって信号r'の算出、即ち逆フーリエ変換手段２９０４の処理は入力画像データIが入力される毎に実行される必要はなく、予めr'を生成しておくことが可能である。このレジストレーション信号を参照するレジストレーション処理については後述する。
【０１１８】
≪パッチワーク法≫
本実施の形態例では付加情報「Inf」の埋め込みの為にパッチワーク法と呼ばれる原理を用いている。そこで、まずパッチワーク法の原理を説明する。
【０１１９】
パッチワーク法では画像に対して統計的偏りを生じさせることによって付加情報「Inf」の埋め込みを実現している。これを図３０を用いて説明する。図３０においては、３００１、３００２は各々画素の部分集合、３００３は画像全体である。画像全体３００３から二つの部分集合Ａ ３００１とB ３００２を選択する。
【０１２０】
この二つの部分集合の選択方法は、互いに重ならならなければ本実施の形態例におけるパッチワーク法による付加情報「Inf」の埋め込みが実行可能である。ただし、この二つの部分集合の大きさや選択方法は、このパッチワーク法によって埋め込まれた付加情報「Inf」の耐性、即ち画像データ「wI」が攻撃を受けた際に付加情報「Inf」を失わない為の強度に大きく影響を及ぼす。これについては後述する。
【０１２１】
今、部分集合Ａ，Ｂはそれぞれ、Ａ＝{a1,a2,…,an}、Ｂ＝{b1,b2,…,bn}で表されるＮ個の要素からなる集合であるとする。部分集合Ａと部分集合Ｂの各要素ai,biは画素値または画素値の集合である。本実施の形態例ではカラー画像データ中の青色成分の一部に相当する。
【０１２２】
ここで、次の指標dを定義する。
【０１２３】
【数１】
0004218920.tif 000002
これは、二つの集合の画素値の差の期待値を示している。
【０１２４】
一般的な自然画像に対して、適当な部分集合Ａと部分集合Ｂを選択し、指標ｄを定義すると、
【０１２５】
【数２】
0004218920.tif 000003
となる性質がある。以降ではdを信頼度距離と呼ぶ。
【０１２６】
一方で、付加情報「Inf」を構成する各ビットの埋め込み操作として、
ａ’ｉ＝ａｉ＋ｃ
ｂ’ｉ＝ｂｉ−ｃ
という操作を行なう。これは部分集合Ａの要素全てに対して値ｃを加え、部分集合Ｂの要素全てに対してcを減ずるという操作である。
ここで、先程の場合と同様に、付加情報「Inf」が埋め込まれた画像から部分集合Ａと部分集合Ｂを選択し、指標dを計算する。
すると、
【０１２７】
【数３】
0004218920.tif 000004
となり０にはならない。
【０１２８】
即ち、ある画像が与えられた時に、画像に対して信頼度距離dを算出することによって、d≒０ならば付加情報「Inf」は埋め込まれておらず、一方でdが０から一定量以上離れた値であるなら付加情報「Inf」が埋め込まれていると判断できる。
【０１２９】
以上がパッチワーク法の基本的な考え方である。
【０１３０】
このパッチワーク法の原理を応用し、本実施の形態例では複数のビットの情報を埋め込む。本方法においては、部分集合Ａと部分集合Bの選択の方法についてもパターン配列によって定義している。
【０１３１】
上述の方法においては、原画像の所定の要素に対してパターン配列の要素を加えたり減じたりすることによって、付加情報「Inf」の埋め込みを実現している。
【０１３２】
本実施の形態例において用いる簡単なパターン配列の例を図９に示す。図９は本実施の形態例における付加情報の埋め込み時及び抽出時に用いるパターン配列を示す図であり、１ビットを埋め込む為に８×８画素を参照する場合の、元の画像からの画素値の変更量を示すパターン配列の例を示すている。図９の様に、パターン配列は正の値を持つ配列要素、負の値を持つ配列要素、及び０の値を持つ配列要素から構成される。
【０１３３】
図９に示すパターンにおいて、＋ｃの配列要素で示される位置は対応位置の画素値をｃだけ上昇させる位置を示し、上述した部分集合Ａに相当する位置である。一方−ｃの配列要素で示される位置は対応位置の画素値をｃ減少させる位置を示し、上述した部分集合Bに相当する位置である。また０で示される位置は上述した部分集合Ａ,B以外の位置であることを示す。
【０１３４】
本実施の形態例では、画像の全体的な濃度を変化させない為にも正の値を持つ配列要素の個数と負の値を持つ配列要素の個数を等しくしている。即ち、１つのパターン配列において全ての配列要素の和が０になっている。なお、後述する付加情報「Inf」の抽出操作の時にはこの条件が必須である。
【０１３５】
以上の様なパターン配列を用いて付加情報「Inf」を構成する各ビット情報の埋め込み操作を行なう。
【０１３６】
本実施の形態例では、図９のパターンを元の画像データにおける互いに異なる領域に複数回配置して画素値を上昇／減少させることにより、複数のビット情報、即ち付加情報「Inf」を埋め込む。
【０１３７】
言い換えれば、１つの画像の互いに異なる領域に、部分集合ＡとBの組み合わせだけでなく、部分集合Ａ’とB’、部分集合Ａ”とB”、…という複数の組み合わせを想定することで、複数のビットからなる付加情報「Inf」を埋め込む。
【０１３８】
なお、本実施の形態例では元の画像データが大きい場合には、繰り返し付加情報「Inf」を埋め込むことになる。これはパッチワーク法が統計的性質を利用しているものであることから、統計的性質が現れるのに充分な数を必要とすることによる。
【０１３９】
また、本実施の形態例では複数ビットを埋め込む際にパターン配列を用いて画素値を変更する領域が重ならない様にする為、予め互いのビット同志でパターン配列を使用する相対位置を決定する。即ち、付加情報「Inf」を構成する１ビット目の情報を埋め込む為のパターン配列の位置と、２ビット目の情報を埋め込む為のパターン配列の位置の関係は適切に定められる。
【０１４０】
例えば付加情報「Inf」が１６ビットで構成されていれば、１〜１６ビット目の夫々の８×８画素のパターン配列の位置関係は、３２×３２画素よりも大きいサイズの領域上で画質劣化が少なくなる様に相対的に与えられる。
【０１４１】
更に、上記付加情報「Inf」（これを構成する各ビット情報）は、画像データが大きい場合には、できるだけ多くの回数繰り返して埋め込む。これは、付加情報「Inf」の各ビットを正しく抽出可能とすることが目的である。特に本実施の形態例では、同一の付加情報「Inf」が繰り返し埋め込まれていることを利用した統計的な計測を行なうので、上記繰り返しは重要である。
【０１４２】
以上に説明した様な埋め込み位置の選択は、図１における埋め込み位置決定手段０１０３において実行される。
【０１４３】
＜３−２  パターン配列決定手段の説明＞
次に、本実施の形態例における上述した部分集合Ａと部分集合Ｂの決め方の詳細について説明する。
【０１４４】
パッチワーク法では、部分集合Ａと部分集合Ｂの決め方が、付加情報「Inf」の攻撃耐性と、付加情報「Inf」を埋め込んだ画像の画質に大きく関係する。
【０１４５】
本実施の形態例においては、図１の構成によって付加情報「Inf」が埋め込まれ、ＪＰＥＧ圧縮及び伸長が施される画像データ「wI」は、プリンタにより印刷出力され、図２のスキャナ０２０１により入力され、画像データ「wI'」となる。画像データ「wI」と「wI'」を得る処理の間において印刷、スキャンニングを含むさまざまな攻撃が加えられている。
【０１４６】
以下、パッチワーク法によって埋め込まれた付加情報「Inf」が印刷による攻撃に耐性を有する為にはどうしたらよいか考えてみる。
【０１４７】
パッチワーク法において、パターン配列の形状と、要素の値の大きさが付加情報「Inf」の埋め込み強度と画像データ「wI」の画質とのトレードオフを決定するパラメータになっている。よって、上述した攻撃を施された後に付加情報「Inf」を抽出できるかどうかは、このパラメータを操作することによって最適化することが可能である。これについて、もう少し詳しく説明をする。
【０１４８】
本実施の形態例においては、パッチワーク法における部分集合Ａの要素aiと部分集合Ｂの要素biの基本的な位置関係を図９に一例が示されるマトリクスによって固定する。なお、要素ai、要素biは１つの画素値に限らず、複数の画素値の集合であってもよい。
【０１４９】
このパターン配列を複数個、画像中に重なり合わない様に割り当て、この画像における割り当てられた各画素を、パターン配列の要素の値に基づいて変更する。画像がパターン配列の正の値（＋ｃ）に変更される画素の部分集合をＡ、パターン配列の負の値（−ｃ）に変更される画素の部分集合をＢとすると、パッチワーク法の原理が適用されていることが分かる。
【０１５０】
なお、以降の説明では、パターン配列の正の値（＋ｃ）を持つ画素の集まり（部分集合の要素aiの位置と対応）を正のパッチ、負の値（−ｃ）を持つ画素の集まり（部分集合の要素biの位置と対応）を負のパッチと呼ぶ。
【０１５１】
以降、正のパッチと負のパッチを区別せず用いる場合があるが、その場合のパッチは、正のパッチ及び負のパッチ、若しくはいずれか一方を指すこととする。
【０１５２】
図９に一例が示されるパターン配列の各パッチの大きさが大きくなると、パッチワーク法における信頼度距離ｄの値が大きくなるため、付加情報「Inf」の耐性は強くなり、かつ付加情報「Inf」を埋め込んだ後の画像は元の画像から画質が大きく劣化する。
【０１５３】
一方、パターン配列の各要素の値の大きさが小さくなると、付加情報「Inf」の耐性は弱くなり、かつ付加情報「Inf」を埋め込んだ後の画像は元の画像から画質がそれ程劣化しない。
【０１５４】
この様に、図９に示されるパターン配列の大きさと、このパターンを構成するパッチの要素（±ｃ）の値の大きさを最適化することは、画像データ「wI」の耐性や画質にとって非常に重要なことである。
【０１５５】
まずパッチの大きさについて考える。パッチの大きさを大きくすると、パッチワーク法によって埋め込まれた付加情報「Inf」は耐性が強くなり、一方でパッチの大きさを小さくすると、パッチワーク法によって埋め込まれた付加情報「Inf」は耐性が弱くなる。これは、非可逆圧縮、及び印刷系が処理全体としてローパスフィルタ的な効果があることによるものである。パッチの大きさが大きくなると、付加情報「Inf」を埋め込む為に偏重された信号は低周波数成分の信号として埋め込まれ、一方でパッチの大きさが小さくなると付加情報「Inf」を埋め込むために偏重された信号は高周波成分の信号として埋め込まれることとなる。
【０１５６】
高周波成分の信号として埋め込まれた付加情報「Inf」は印刷系の処理を施されることによって、ローパスフィルタ的な処理を施され、消去されてしまう可能性がある。一方で、低周波成分の信号として埋め込まれた付加情報「Inf」は印刷系の処理を施されても、消去されずに抽出可能である可能性が大きい。
【０１５７】
以上から、付加情報「Inf」が攻撃に対する耐性を有する為には、パッチの大きさは大きな方が望ましい。しかしながら、パッチの大きさを大きくすることは、原画像に低周波成分の信号を加えることに等しく、これは画像データ「wI」での画質劣化を大きくすることに繋がる。
【０１５８】
なぜなら、人間の視覚特性は図１３の１３０１に示すようなＶＴＦの特性を持つからである。図１３の１３０１から分かる様に、人間の視覚特性は低周波成分のノイズに対しては比較的敏感であるが、高周波成分のノイズに対しては比較的鈍感である。よって、パッチの大きさはパッチワーク法によって埋め込まれた付加情報「Inf」の強度と画像データ「wI」での画質を決定する為に最適化することが望ましい。
【０１５９】
次にパッチの値(±ｃ)について考える。
【０１６０】
パッチを構成する各要素(±ｃ)の値を“深さ“と呼ぶこととする。パッチの深さを大きくすると、パッチワーク法によって埋め込まれた付加情報「Inf」は耐性が強くなり、一方でパッチの深さを小さくすると、パッチワーク法によって埋め込まれた付加情報「Inf」は耐性が弱くなる。
【０１６１】
パッチの深さは付加情報「Inf」を抽出する場合に用いる信頼度距離ｄに密接に関係している。信頼度距離dは付加情報「Inf」を抽出するための演算値であり、これについては、抽出処理の部分で詳しく説明するが、一般的に、パッチの深さを大きくすると、信頼度距離dは大きくなり、付加情報「Inf」を抽出しやすい。一方で、パッチの深さを小さくすると、信頼度距離dは小さくなり、抽出しにくい。
【０１６２】
以上から、パッチの深さも、付加情報「Inf」の強度と、付加情報「Inf」が埋め込まれた画像の画質を決定する重要なパラメータであり、最適化して使用することが望ましい。パッチの大きさと深さを最適化したものを常に使用することによって、非可逆圧縮、或いは印刷等の攻撃に対する耐性を有し、かつ画質劣化が少なくなる様な付加情報「Inf」の埋め込みが実現可能である。
【０１６３】
次に、本実施の形態例で使用する具体的なパッチの深さ及び大きさを説明する。以下の説明においては、説明を簡略化するために、印刷系における処理を簡略化する。印刷系の処理の例としてハーフトーン処理による階調変換について考える。
【０１６４】
ハーフトーン処理とは、上述した様に階調を表現する方法の変更である。ハーフトーン処理の前後で人間の視覚は同じ様に階調を知覚する。しかしながら、スキャナ等の入力手段は、人間の様な曖昧な知覚を持たず、上記前後で必ずしも同じ様に階調を"知覚"しない。
【０１６５】
即ち、スキャナ単独では、面積階調によって表現されている階調が本当に元の濃度階調で表現されていた階調情報を持っているかどうか認識しない。それでは次にどのようなハーフトーン処理を行なえば面積階調によって、濃度階調で表現されていた階調を表現できるかを考えてみる。
【０１６６】
まずハーフトーン処理による濃度階調と面積階調の階調表現の関係について考える。
【０１６７】
図４３に４×４のディザマトリクスとそのマトリクスで表現できる階調の関係の例を示す。図４３においては、マトリクスが面積階調で表現された階調であり、マトリクスが表現している階調を下の数字に示している。
【０１６８】
４×４のマトリクスには１６個の画素が存在する。この１６個の画素のオン／オフにより４×４＋１＝１７階調が表現可能である。一般的には、ハーフトーン処理されたｍ×ｎのドットは、（ｍ×ｎ＋１）階調の表現が可能である。
【０１６９】
これを、図４４の例を用いて説明する。図４４においては画素４４０３は０〜１６のダイナミックレンジを持つ濃度階調で表現されており、値が８であると仮定する。この画素と同じ値を持つ画素を縦横に４個並べ、４×４の大きさを持つブロック４４０２を生成する。
【０１７０】
このブロックに対して、４×４の大きさを持つ適当なディザマトリクスを用いてハーフトーン処理を行ない、２値データ４４０３を生成する。この２値化されたデータがプリンタに送信され、出力される。その後、スキャナなどの画像入力器手段によってプリンタの出力解像度と同じ解像度で再び入力される。この時、プリンタのドットの出力解像度と、スキャナが画素を読みこむ入力解像度が１：１の関係にあると仮定すれば、プリンタによって出力されスキャナによって入力された画素は２値データ４４０３と等しくなる。
【０１７１】
こうして生成された画像データが２値データ４４０４である。２値データ４４０４に対して適当な補間処理を用いた方法により２値データは１/（４×４）の大きさにスケーリングされ、多値データ４４０５が生成される。この多値データは値が８になる。なお、スキャナが２値データ４４０３を２値データ４４０４と判定できるほど十分高解像度でない場合は、光学的に２値データ４４０３は多値データ４４０５に変換される。
【０１７２】
以上、図４４を用いて濃度階調で表現された階調情報が面積階調に変換され、その後再び濃度階調で表現されるときに、正しく階調情報が伝搬される様子を説明した。一般的には、１画素をｍ×ｎ画素で表現するような面積階調を用いてハーフトーン処理し、このｍ×ｎ画素の２値データを１画素にするような補間処理を行なうことによって、階調情報は伝搬される。
【０１７３】
本実施の形態例では、印刷及びスキャニングを含む攻撃にも耐性を持たせるため、付加情報「Inf」の埋め込みで用いられるパッチの大きさと深さを、上述した面積階調と濃度階調の関係を考慮し設計する。なお、本実施の形態例では、さまざまな大きさの画像をある決められたサイズにプリンタで出力する場合について考える。
【０１７４】
図４５は本実施の形態例において、画像の解像度が異なる２枚の画像４５０１及び４５０４を、それぞれ同じ大きさの寸法４５０３、４５０６にプリンタで出力する場合について示している。図４５（ａ）は画像の解像度が低い場合、（ｂ）は画像の解像度が高い場合の一連の処理である。
【０１７５】
初めに、画像４５０１及び画像４５０４は、１画素が１ドットに対応するように拡大処理が施される。このとき拡大方法は、ニアレストネイバ法などの補間が用いられる。なお、ニアレストネイバ法は、同じ画素値を近隣画素にコピーすることにより拡大を行なう手法である（画像が非常に高解像度の場合には縮小（間引き）も考えられる。）。
【０１７６】
その結果、画像４５０１は画像４５０２に、画像４５０４は画像４５０５にそれぞれ拡大される。その後、ハーフトーン処理により４５０３及び４５０６の様な印刷物（印刷用画像データ）としてドットで表現される。
【０１７７】
プリンタの実際の処理では、ＣＭＹＫ変換処理、カラーマッチングなどが行われるが、説明を簡単にするために、ここでは省略する。
【０１７８】
図４５から、画像の解像度が低いほど、１画素が多くのドットで表現でき、画像の解像度が高いほど、１画素が少ないドットで表現しなければならないことが分かる。
【０１７９】
次に、濃度階調から面積階調に変換した場合にもパッチによる埋め込みの影響が伝わることを示す。なお、ここでは説明を分かりやすくする為、画像の解像度による影響を除いて考える。
【０１８０】
図４６の４６０１、４６０５は、ある画像に付加情報「Inf」を埋め込む場合の正のパッチで操作をする画像領域（部分集合Ａ）で、かつハーフトーン処理前の状態である。図４６の４６０３、４６０７は、ある画像に付加情報「Inf」を埋め込む場合の負のパッチで操作をする画像領域（部分集合Ｂ）で、かつハーフトーン処理前の状態である。
【０１８１】
図４６の４６０１、４６０３はパッチによる付加情報「Inf」の埋め込みが行われていない場合であり、４６０５、４６０７は付加情報「Inf」の埋め込みが行われている場合である。またこの時、４６０１、４６０３、４６０５、４６０７は、全てハーフトーン処理が施される直前の１画素１ドットに対応しているとする。
【０１８２】
ハーフトーン処理により、図４６の４６０１、４６０３、４６０５、４６０７に示される画像は、４６０２、４６０４、４６０６、４６０８の様に面積階調としてドットで表現される。
【０１８３】
付加情報「Inf」の埋め込みを行っていない場合では、４６０２におけるインクドットと４６０４におけるインクドットの数の差は、一般的にはほとんど変わらないと言える。画像が大きく、パッチ単位でインクドットの差の平均値を求めた場合には、ほぼゼロになる。
【０１８４】
一方、付加情報「Inf」の埋め込みを行った場合では、４６０６におけるインクドットと、４６０８におけるインクドットの数の差は、現れてくると考えられる。
【０１８５】
付加情報「Inf」が面積階調により表現された場合にも、パッチの設計により、インクドットの増減を制御することが可能である。パッチワーク法は、印刷及びスキャニングの攻撃に対しても耐性を持つことが可能であるといえる。
【０１８６】
また、図４６から、パッチを埋め込む面積を増加させれば、インクドットの数が増加すること、パッチの深さを深くすれば、インクドットの数が増加することが直感的に想像できる。
【０１８７】
パッチとインクドットの増加の関係を図４７を用いて説明する。図４７はパッチの大きさ、深さによるインクドットの変化を示す図面である。
【０１８８】
図４７において、横軸は、１画素が１ドットまで拡大された部分集合Ａ、又は部分集合Ｂをハーフトーン処理するディザマトリクスの係数値を示し、縦軸はそのディザマトリクスの係数値の出現頻度を示している。それと同時に、説明を分かりやすくする為、横軸に１画素が１ドットまで拡大された部分集合Ａ、又は部分集合Ｂのハーフトーン処理される画素値の平均が示されている。
【０１８９】
図４７に示す様に、一般的にはディザマトリクスの係数値は大きな部分集合Ａ、又は部分集合Ｂに対応する場合には、ほとんど偏った値を持たず出現頻度はほぼ等しいと考えて良い。
【０１９０】
付加情報「Inf」の埋め込みにより、埋め込み前の画素値の平均４７０３は、埋め込み後の画素値の平均４７０４にまで変化したとすると、ディザマトリクスの２値化処理により、斜線部分４７０２だけインクドットの数が増加することが分かる。すなわち、パッチの深さとインクドットの増加数は比例の関係にあることが分かる。
【０１９１】
また、パッチのサイズを大きくした場合には、ディザマトリクスの係数値の出現頻度が更に増加することから、斜線部分の面積４７０２が出現頻度方向に増加し、パッチの深さとインクドットの増加数も比例の関係にあることが分かる。
【０１９２】
以上の性質を考慮すると、画像全体では
（１）埋め込み深さは印刷物上のドットの数と比例する。
（２）パッチのサイズは印刷物上のドットの数と比例する。
【０１９３】
すなわちパッチの埋め込みにより変化する、画像全体の正のパッチを埋め込む領域と画像全体での負のパッチを埋め込む領域での、画像全体でのドット数の差をΔβとすると
Δβ  ＝  ２ × α × ＰＡ × Ｃ ＋ γ……（式４７−１）
で表現される。
【０１９４】
αは比例係数で、γはマージンで、Cは埋め込み深さ、ＰＡは正又は負のパッチの画像全体の１画素１ドットに対応した面積である。ここで、α、Δβ、γは実験により定められる数である。
【０１９５】
なお、この（式４７−１）の原理はディザマトリクスによるハーフトーン処理だけでなく、誤差拡散法においても上記（１）と（２）は成立することから適用可能である。
【０１９６】
（式４７−１）では、画像の解像度と、プリンタの出力解像度及びスキャナの入力解像度について考慮していない。以下、画像の解像度と、プリンタの出力解像度及びスキャナの入力解像度が変化した場合について考える。
【０１９７】
本実施の形態例では、スキャナの入力解像度は、できるだけ多くの情報を保持するために、フラットベッドスキャナにおける十分な解像度である６００ｐｐｉに固定する。
【０１９８】
次に、プリンタの出力解像度と画像の解像度について考える。
【０１９９】
図４５の説明で既に述べたが、画像を印刷する場合には１画素の濃度階調を表現するドット数は、画像の解像度によって決まる。以下に一例を示す。
【０２００】
例えば、図４５において画像４５０１は１０００×８００画素を持つ画像であるとする。
【０２０１】
この画像を主走査方向、副走査方向ともに１２００ｄｐｉの出力解像度を持つプリンタで、長辺が５ｉｎｃｈに収まる様に出力する場合、ハーフトーン処理の手前で１画素を１ドットになる様に拡大処理が行われ、長辺の出力ドット数は１２００ｄｐｉ×５＝６０００ｄｏｔとなる。その為、画像４５０１は６０００×４８００画素をもつ画像４５０２にまで拡大される。ハーフトーン処理が施された画像４５０３から４５０１の階調を再現する場合には、１画素は６×６ドットにより表現される。
【０２０２】
一方、画像４５０４は３０００×２４００画素を持つ画像であるとする。
【０２０３】
この画像を同じく１２００ｄｐｉの解像度を持つプリンタで、長辺が５ｉｎｃｈに収まるように出力する場合、１画素が1ドットになる様に、同様に、６０００×４８００画素を持つ画像４５０５にまで拡大され、その後、ハーフトーン処理が施された画像４５０６になる。画像４５０４の１画素は、２×２ドットにより表現される。
【０２０４】
インクドットの濃度は決まっていると考えられるので、１画素が５×５ドットで表現される場合には、1画素で表現できる濃度階調のダイナミックレンジは大きい。一方、２×２ドットで表現される場合には、1画素で表現できる濃度階調のダイナミックレンジは小さい。
【０２０５】
付加情報抽出処理において詳しく述べるが、パッチワーク法では検出時に各パターン配列単位において、
（正のパッチを埋め込んだ領域の画素値の和）−（負のパッチを埋め込んだ領域の画素値の和）
を計算し、画像全体で各パターン配列単位の平均値を求める。この平均値を信頼度距離ｄと呼ぶが、この信頼度距離ｄが大きいほど、確かな付加情報の抽出が可能である。
【０２０６】
図４８は、パターン配列単位における正及び負のパッチ領域の差を図的に示している。図４８（ａ）は画像解像度が低い場合で４８０１は正のパッチ領域、４８０２は負のパッチ領域、図４８（ｂ）は画像解像度が高い場合で４８０３は正のパッチ領域、４８０４は負のパッチ領域を示している。
【０２０７】
なお、インクドットは１ドットにつき、決まった濃度になるので、４８０１及び４８０２は１画素が多くのインクドットから成り立っているため、信頼度距離ｄは大きな値にまでダイナミックレンジを持つ。一方、４８０３及び４８０４では、１画素が少ないインクドットにより表現されるため、信頼度距離ｄは大きな値にまでダイナミックレンジを持たない。
【０２０８】
一般的に１画素が少ないドットで構成される場合（画像の解像度が高い場合）には、１画素の持つ階調のダイナミックレンジが小さいため、大きな信頼度距離ｄは得られず、付加情報「Inf」の抽出ができない場合が考えられる。
【０２０９】
従って、画像の解像度が高い場合には、パッチの面積を大きくするか、又は埋め込み深さ（±ｃ）を大きくする必要がある。
【０２１０】
一般的には、高解像度出力時には位置ズレも大きな問題となるため、パッチの面積を大きくするのが好ましい。
【０２１１】
パターン配列あたりの付加情報の検出に必要なドット数をΔβpとすると、正又は負のパッチの画素数をＰ、パッチの埋め込み深さＣと１画素を表現するドットの数ｍ×ｎの関係は、（式４７−１）より、
Δβp  ＝  ２ × α'× Ｐ  ×（ｍ×ｎ）×（Ｃ/２５５）＋ γ'……（式４７−２）
で表される。
【０２１２】
ここで、（ｍ×ｎ）×（Ｃ/２５５）は埋め込み深さＣを最大２５５階調まで変化させても、１画素につきドットは最大でｍ×ｎしか増加しないことを示している。また、α'は比例係数、γ'はマージンである。
【０２１３】
なお、1画素を再現するドット数ｍ×ｎは、
ｍ×ｎ＝（主走査方向のプリンタの出力解像度/ 画像の解像度）×（副走査方向のプリンタの出力解像度/画像の解像度）
で求められれ、ｍ×ｎは画像の解像度が高いほど小さくなる。
【０２１４】
従って、Δβp、α'、γ'を実験により求めると、付加情報「Inf」の検出に必要なパターン配列あたりの埋め込み深さ、パッチの大きさ（パターン配列の大きさ）及び埋め込み深さをプリンタの出力解像度及び画像の解像度から求めることができる。
【０２１５】
以上の考察を踏まえ、画像の解像度に応じて埋め込み深さ（±ｃ）及びパッチの大きさを変更する方法を提案する。以下、具体的にその装置について示す。
【０２１６】
図１のパターン配列決定手段０１１０にプリンタの出力解像度及び画像の解像度を入力し、付加情報「Inf」の抽出に適したパターン配列が出力される。
【０２１７】
一例として、プリンタの出力解像度が１２００ｄｐｉであり、画像を長辺が約６ｉｎｃｈの大きさに印刷出力する場合について考える。画像には３００ｐｐｉ〜６００ｐｐｉの範囲（長辺１８００画素〜３６００画素）の画像があるとする。
【０２１８】
付加情報「Inf」の埋め込みに用いるパターン配列を画像の解像度に応じて、画像の解像度が５００ｐｐｉ未満の場合には、図４９におけるパターン配列４９０１を用い、画像の解像度が５００ｐｐｉ以上の場合には図４９のパターン配列４９０３を用いるとする。そして、埋め込み深さは、（式４７−２）を用いて、適切に決められるとする。
【０２１９】
パターン配列決定手段０１１０でこのようにパターン配列が適当に決められ、後段の埋め込み位置決定手段０１０３では、パターン配列決定手段０１１０から入力されたパターン配列の大きさに基づいて、埋め込み位置が決定される。更に、付加情報埋め込み手段０１０４では、埋め込み位置決定手段０１０３から入力されるパターン配列の埋め込み位置に従い、画像に対して、付加情報「Inf」の埋め込みを行なう。
【０２２０】
一方、埋め込みに用いたパターン配列が分からないと付加情報「Inf」の抽出を行なうことはできない。そのため、後述するパターン配列判定手段２００１を用いて、レジストレーション手段０２０３の出力するスケーリング率から、画像の解像度を判断する。
【０２２１】
プリンタの出力解像度が固定である場合は、スケーリング率から画像の解像度が分かれば、パターン配列判定手段２００１により、埋め込みに用いたパターン配列を判定することができる。
【０２２２】
従って、画像の解像度により、パッチやパターン配列を可変にした場合にも、レジストレーション信号から得られる情報を利用することで付加情報「Inf」の抽出が可能である。
【０２２３】
更に、本実施の形態例では、パターン配列には、非回転対称なパターン配列を用いることとする。
【０２２４】
後述のレジストレーション処理において詳しく述べるが、一般に対称な軸を持つインパルス信号は、周波数対称性を持つために、画像に加えられた回転角を一意に判定することができない。
【０２２５】
そのため、本実施の形態例では、正確な回転角を判定するために、非回転対称なパターン配列を用い、画像に加えられた回転角を決定する。
【０２２６】
図５２は、本実施の形態例において、６×６のパターン配列５２０１と５２０１を回転させたパターン配列５２０２を重ね合わせた図である。図５２の５２０３は正のパッチ領域、５２０４は負のパッチ領域を表している。図５２の斜線領域５２０５、５２０６は、パターン配列５２０１とパターン配列５２０２の係数の正または負の符号が同じ部分を表している。
【０２２７】
図５３は、本実施の形態例における回転角ψと斜線領域５２０３と５２０４の面積の関係を示したグラフである。このグラフは、図５２のようなパターン配列を用いた場合、埋め込みに用いたパターン配列を用いてパッチワーク法で抽出を行なわない限り、最大の信頼度距離が得られないことを示している。
【０２２８】
従って、画像に加えられた回転角を求める場合に、上記のような性質を持つパターン配列を用いると最大の信頼度距離が得られるため、唯一の回転角を判定することが可能になる。この結果、上記のような性質のパターン配列を得るためには、非回転対称なパターン配列であることがよいことが分かる。
【０２２９】
しかし、パターン配列に用いる係数を一定値±ｃに限定しない場合には、パターン配列の係数値が、回転した場合に同一にならなくても、最大の信頼度距離が得られる場合が考えられる。
【０２３０】
即ち、非回転対称なパターン配列は、「パターン配列と、任意の角度（０度と３６０度の整数倍は除く）で回転させたパターン配列をそれぞれ中心が重なるように各要素を対応させた場合に、それぞれ対応する配列の要素の正または負の符号が、全てが同一にならないパターン配列」であるとする。
なお、本実施の形態例では、電子透かしが埋め込まれた画像に加えられた回転角Θを求めるために、スタートビットのみを利用する。従って、スタートビット以外の付加情報（利用情報）の埋め込みには、非回転対称でないパターン配列を用いてもよい。ただし、電子透かし埋め込み装置と電子透かし抽出装置で、埋め込みに用いたパターン配列の情報を共有する必要がある。
【０２３１】
スタートビットおよび付加情報に関しては、次の埋め込み位置決定処理で詳しく述べる。
【０２３２】
＜３−３  埋め込み位置決定処理の説明＞
以下、図１１を参照して本実施の形態例における埋め込み位置決定手段０１０３の詳細を説明する。図１１は本実施の形態例における埋め込み位置決定手段０１０３の詳細構成を示すブロック図である。
【０２３３】
図１１のマスク作成手段１１０１は、付加情報「Inf」を構成する各ビット情報の埋め込み位置を規定する為のマスクの作成を行なう。マスクとは、各ビット情報に対応するパターン配列（図９参照）の相対的な配置方法を規定する位置情報を備えたマトリクスである。
【０２３４】
マスク作成手段１１０１で作成したマスクの一例を図１５乃至図１７に示す。例えば、図１７の１７０１がマスク作成手段１１０１で作成したマスクの一例である。マスクの内部には夫々係数値が割り当てられており、各々の係数値はマスク内で等しい出現頻度を有している。このマスクを用いる場合であれば、最大１６ビットからなる付加情報「Inf」を埋め込むことが可能である。
【０２３５】
次にマスク参照手段１１０２は、マスク作成手段１１０１で作成したマスクを読みこみ、マスク内の各係数値と、各ビット情報が何ビット目かの情報を対応付けて、各ビット情報を埋め込む為のパターン配列の配置方法を決定する。
【０２３６】
更にマスク・パターン配列対応手段１１０３は、マスク内の各係数値の位置に前段の０１１０から入力される各パターン配列の配列要素（例えば８×８サイズ）を展開する。展開した状態を図１７に示す。
【０２３７】
即ち、図１７の上段の１７０１に示されるマスクの各係数値（１マス）を、図７の下段に示される１７０３の様に８×８倍にして各パターン配列の埋め込み位置として参照可能とする。
【０２３８】
後述の付加情報埋め込み手段０１０４は、図１７の埋め込み先頭座標１７０２を参照して、パターンサイズを用いて各ビット情報を埋め込むことになる。
【０２３９】
なお、本実施の形態例ではマスク作成手段１１０１に、画像データ（青色成分）を入力する毎に上記マスクを作成する。よって、大きいサイズの画像データを入力する場合には、複数回繰り返して同一の付加情報「Inf」を埋め込むことになる。
【０２４０】
上記の方法では画像から付加情報「Inf」を抽出する場合に、上記マスクの構成（係数値の配列）が鍵の役割を果たす。即ち、鍵の所有者だけが情報の抽出を行なえるという効果がある。
【０２４１】
なお本発明は、リアルタイムにマスクを作成せずに、予め作成しておいたマスクをマスク作成手段１１０１の内部記憶手段などに記憶させておき、必要時に呼び出す場合も範疇に含む。この場合には高速に後段の処理に移行することができる。
【０２４２】
＜３−３−１  マスク作成手段＞
次に、埋め込み位置決定手段０１０３の中で実行される各処理の詳細を説明する。はじめに、マスク作成手段１１０１について説明する。
【０２４３】
パッチワーク法を用いた付加情報「Inf」の埋め込みにおいて、攻撃耐性を強める為に画素値に大きな操作を加えて情報を埋め込んだ場合（例えばパターン配列のｃの値を大きく設定した場合）には、元の画像データが表す画像において画素値の急激な変化の有るいわゆるエッジ部分では画質の劣化は比較的目立ちにくいが、画素値の変化の少ない平坦部では画素値を操作した部分がノイズとして目立ってしまう。
【０２４４】
図１３に人間の目で知覚する空間周波数特性を示す。横軸は空間周波数(Radial Frequency)を示し、縦軸は視覚の応答値である。画素値を操作し、情報を埋めこんだ場合、人間の目が敏感に知覚できる低周波数領域では画質劣化が目立つことが図１３から分かる。
【０２４５】
本実施の形態例では、以上のことに鑑みて多値画像の２値化処理に通常使用されているブルーノイズマスクやコーンマスクの特性を考慮し、各ビットに対応するパターンの配置を行なう。
【０２４６】
次にブルーノイズマスク、コーンマスクの特性について簡単な説明を行なう。まず初めにブルーノイズマスクの特性について説明する。
【０２４７】
ブルーノイズマスクはどの様な閾値で２値化してもブルーノイズパターンとなる特性を有する。このブルーノイズパターンとは空間周波数が高周波領域に偏った周波数特性を示すパターンである。図３７に、あるブルーノイズマスクの一部を示す。
【０２４８】
また図１４の１４０１には、閾値１０で２値化したブルーノイズマスクの空間周波数特性の概略図を示す。
【０２４９】
図１４の１４０１の横軸はRadial Frequencyであり、ブルーノイズマスクをフーリエ変換したときの原点（直流成分）からの距離を示している。縦軸はPower spectrumであり、横軸Radial Frequencyの示す距離にある振幅成分の２乗和をとり平均化した値である。なお、図１４は画像の２次元周波数特性を１次元グラフ化し視覚的に分かりやすく示した図である。
【０２５０】
図１３と比較してみると、ブルーノイズマスクは高周波成分に偏りがある為、人間の目に知覚されにくいことが分かる。従って、インクジェットプリンタ等では、ドットを用いた面積階調で多値画像の階調を表現する際に、ブルーノイズマスクを用いることで、空間周波数成分を高周波に偏らせ、人の目に目立つことなく面積階調を表現できることが知られている。
【０２５１】
次にブルーノイズマスクの生成過程の一例を以下に示す。
（１）ホワイトノイズを生成する。
（２）階調gの２値画像Pgl（初期値はホワイトノイズマスク）にローパスフィルタリングを行ない、多値画像P'glを生成する。
（３）階調 g (初期値:１２７)の画像とローパスフィルタリング画像P'gl（多値）を比較し、 誤差の大きい順に、２値画像Pgの白黒の画素を反転させ、２値画像P（gl＋１）を得る。
（４）誤差が最小になるまで、２,３の操作を繰り返し、２値画像Pgl（初期値はホワイトノイズマスク）を少しづつ階調 g(初期値:１２７) の２値画像Pg（ブルーノイズマスク）に変えていく。
（５）Pg画像に階調g＋１(g-１)の２値の黒（白）の点をランダムな位置に与える。
上記（２）、（３）の操作を繰り返し、P（g＋１）またはP（g-１)を得る。
【０２５２】
以上の操作を繰り返すことにより、全ての階調でのブルーノイズマスクを作成し、ディザマトリクスを生成する。
【０２５３】
例えば３２×３２のブルーノイズマスクでは１階調ごとに４点増加（減少）する。ただし、このとき２５６階調持たせる為に前の階調gで決まった黒（白）のビットは反転できない為、低又は高階調では制限条件が厳しくなり、一様性に乏しいランダムパターンしか得られないという欠点がある。
【０２５４】
図１２にブルーノイズマスクを構成する各係数の出現頻度分布（ヒストグラム）１２０１を示す。図１２では０〜２５５の全ての値（係数）がマスク内に同数存在している。
【０２５５】
上記ブルーノイズマスクが多値画像の２値化に用いられる技術は良く知られており、例えば、「J.Opt.Soc.Ａm Ａ/Vol.9, No.11/November 1992 Digital halftoning technique using a blue-noise mask Tehophano Mitsa, Kevin J.Parker」等に詳しく開示されている。
【０２５６】
次にコーンマスクの特性について説明する。
【０２５７】
コーンマスクは、このマスクに含まれる各係数を２値化した場合に、ここで得られた２値情報を表す空間周波数領域上で、図１４の１４０２に示される様に、周期的又は擬似周期的なピークが発生することを１つの特徴とする。ただし、低周波領域ではピークが立たない様に設計されている。
【０２５８】
図３８に、あるコーンマスクの係数配列の一部を示す。コーンマスクをどの閾値で２値化した場合にも、ドット間で適度な距離が保たれる為、低周波領域でのピークは立たない。
【０２５９】
図１４の１４０２に、コーンマスクの閾値１０で２値化した場合の空間周波数特性の概略図を示す。１４０１のブルーノイズマスクの空間周波数特性と同じく、１４０２の特性でも低周波成分が少ないことが分かる。
【０２６０】
コーンマスクの場合は、閾値が低い場合であっても高い場合であっても、ブルーノイズマスクが持つ低域周波数より高い周波数からピークが発生する為、ブルーノイズマスクに比べて埋め込み位置に密集した部分が少なくなる。その為、付加情報「Inf」を埋め込んだ際に生じる埋め込みノイズは、ブルーノイズに比べて更に目立たなくなる利点がある。
【０２６１】
またコーンマスクを構成する係数の使用頻度も、ブルーノイズマスクの時と同じく、図１２の１２０１で示す出現頻度分布（ヒストグラム）になる。
【０２６２】
従って、このマスクの係数に対応付けて、付加情報「Inf」を構成する各ビット情報に対応するパターンを、画像データに埋め込む様にするならば、この画像データ中には各ビット情報に対応するパターンを同数配置することができ、結果的に付加情報「Inf」をバランス良く埋め込むことができる。
【０２６３】
本実施の形態例では以上の利点から埋め込み参照マスクにコーンマスクを用いることとする。
【０２６４】
＜３−３−２  マスク参照手段＞
マスク作成手段１１０１で作成されたマスク（コーンマスク）は、マスク参照手段１１０２に入力される。マスク参照手段１１０２では、画像に埋め込むＮビットの情報の埋め込み位置とマスクの番号（画素値）を対応付けて、埋め込み位置を決定する。
【０２６５】
マスク参照手段１１０２で行なう埋め込み位置決定方法を説明する。本実施の形態例では上述したコーンマスクを用いるが、ここでは説明を分かりやすくする為、図１５の１５０１に示す４×４マスクを用いて説明する。
【０２６６】
図１５のマスクは、４×４個の係数を有し、０〜１５までの係数値を１つずつ配置しているマスクである。この４×４マスクを用い付加情報「Inf」の埋め込み位置の参照を行なう。この説明で用いるマスクの場合には最大１６ビットで構成される付加情報「Inf」を埋め込むことができるが、以下８ビットの付加情報「Inf」を埋め込む場合を説明する。
【０２６７】
まず付加情報「Inf」の構成を、図３６を用いて説明する。同図の様に付加情報「Inf」は、スタートビット「Inf1」とと利用情報「Inf2」から構成される。
【０２６８】
このスタートビットInf1は、理想位置から実際の付加情報「Inf」が埋め込まれている位置がずれていることを認識し、これに合わせて電子透かし（付加情報「Inf」）の抽出開始位置を補正する為に、電子透かし抽出装置側に含まれるオフセット合わせ手段２００３で用いられる。詳細については後述する。
【０２６９】
また、利用情報Inf2は、本来の付加情報、即ち実際に画像データＩの付加的情報として利用される情報である。この情報には、例えば画像データ「wI」の不正利用の際に原因を追跡することを目的とするならば、図１に示す装置のＩＤ或いはユーザのＩＤ等が含まれる。また、画像データ「wI」の印刷物をコピー禁止にするのであれば、コピーが禁止であることを示す制御情報が含まれる。
【０２７０】
本実施の形態例では、スタートビットは５ビットとし、「１１１１１」というビット列を用いる。しかし、本発明はこれに限らず、付加情報「Inf」のうち５ビット以外のビット数をスタートビットとして用いることも可能であり、同様に「１１１１１」というビット列以外を用いることも可能である。ただし、スタートビットのビット数とビット系列は電子透かし埋め込み装置と電子透かし抽出装置で共有しておく必要がある。
【０２７１】
上述した様な４×４個の係数からなるコーンマスクを用いて、スタートビット５ビット、利用情報３ビットの合計８ビットの付加情報「Inf」を埋め込む簡単な例について説明をする。本発明はこれに限定されるものではない。例えば３２×３２のコーンマスクを用いて、スタートビット５bit、利用情報６４bitからなる合計６９bitの付加情報「Inf」を埋め込み場合等にも適用可能である。
【０２７２】
付加情報「Inf」はスタートビットが５ビット「１１１１１」で利用情報が３ビット「０１０」とする。夫々１番目が１、２番目が１、３番目が１、４番目が１、５番目が１、６番目が０、７番目が１、８番目が０のビット情報を持つ。
【０２７３】
これら各ビットに相当するパターン（図９参照）の夫々をコーンマスクの係数の１つずつに対応する位置に割り当て、この位置関係に従って元の画像データの各画素値を±ｃ変更する。これにより、１つのコーンマスクに相当するサイズの元の画像データに対して、１つの付加情報「Inf」が埋め込まれることとなる。
【０２７４】
本実施の形態例では、付加情報「Inf」を埋めこむ為に最低限必要なビット数に基づいて、ある閾値を決定し、上記コーンマスクにおける、この閾値以下の係数が配置されている位置に、対応する各ビット情報を埋めこむ。これにより付加情報「Inf」のビット数に関わらず１つのコーンマスクには１つの付加情報「Inf」が埋め込まれる。
【０２７５】
なお、本発明は上記方法に限らず、ある閾値以上の係数が配置されている位置に、対応する各ビット情報が埋め込まれる様にし、これを前提に閾値を決定する様にしても良い。
【０２７６】
次に本実施の形態例では、埋め込みに用いる閾値以下の係数の個数が、マスク全体の係数の個数において占める割合を、埋め込み充填率と呼ぶことにする。
【０２７７】
８ビットの付加情報「Inf」を整数回正しく埋め込むには、図１５のマスク１５０１内においてどの係数を埋め込み参照位置に用いるかを決定する為の閾値は、８或いは１６である必要が有る。この閾値は、耐性及び画質への影響を考慮して最適なものが決定される。
【０２７８】
ここで、マスクの閾値を８とした場合には、埋め込み充填率は５０％となる。即ち、上記マスクと照らし合わされる元の画像データのうち５０％が、図９のパターン配列を用いた処理の対象になる。
【０２７９】
各ビット情報とマスク内の係数の対応関係の一例を表１に示す。
【０２８０】
［表１］
埋め込むビット情報の順序 | S1 | S2 | S3 | S4 | S5 | 1 | 2 | 3 |
-------------------------|----|----|----|----|----|---|---|---|
マスク内の係数           | 0  | 1  | 2  | 3  | 4  | 5 | 6 | 7 |
ここで、S１〜S５まではオフセット合わせ処理装置で用いる位置合わせの為のビット情報（スタートビット）である。１〜３は３ビットの利用情報である。
【０２８１】
対応表１の対応に従うと、図１６の１６０１で表現された係数（０〜７）の位置に相当する入力画像データの画素の位置に各ビット情報がパターン（図９参照）を用いて埋め込まれる。埋め込むビット情報の順序とマスク内の係数値の対応関係は鍵情報の一部であり、この対応関係を知ることなしに各ビット情報の抽出を行なうことはできない。本実施の形態例では説明を簡単にする為、対応表１の様に０から閾値までの係数値に順にS１〜S５と利用情報の３ビットを対応させることとする。
【０２８２】
次に、実際に３２×３２のサイズのコーンマスクを用いて埋めこむ場合の充填率についても少し述べておく。なお、処理の手順はマスク１５０１を用いた場合と同じである。
【０２８３】
まず最初に、埋め込み時の画質の劣化等を考慮し、付加情報「Inf」の埋め込みを整数回正しく行なう為に必要な閾値を決定する。
【０２８４】
更に、付加情報「Inf」を構成する各ビットが等しい繰り返し数で埋め込まれる様にする為、閾値以下の係数の数を付加情報「Inf」を構成するビット数Nで割り、１つのマスクサイズで各ビットを何回埋め込めるかを決定する。
【０２８５】
例えば、０〜２５５までの係数値に相当する元の画像データに、上述した一例のスタートビット５ビットと利用情報６４ビットからなる、６９ビットの付加情報「Inf」を埋めこむ場合には、例えば閾値を１３７に設定する。
【０２８６】
この場合、マスク内の有効な係数値の数は１３８個となる。１つの付加情報「Inf」を表すのに必要なビット数は６９個であるから、１つのマスクサイズにおいては各ビット情報は１３８/６９＝２回ずつ埋め込むことができる。
【０２８７】
なお、コーンマスクを用いて埋め込み位置を決定する時に、ある閾値以下の係数値を持つ全ての点に対して埋め込みを行なう理由は、空間周波数の低周波成分にピークが立たないというコーンマスクの特性を生かす為である。
【０２８８】
上述した様に埋め込み位置を決定した結果、埋め込み充填率５０％、 埋め込み情報量６９ビットとなる場合には、付加情報「Inf」を構成する各ビット情報とコーンマスクを構成する各係数値との関係は表２の様になる。
【０２８９】
［表２］
各ビット情報の順序  |S1 |S2 |S3 |S4 |S5 |  1  |  2  |..|  64   |
----------------------- |---|---|---|---|---|-----|-----|--|-------|
コーンマスク内の係数値 |0,1|2,3|4,5|6,7|8,9|10,11|12,13|..|136,137|
ここでＳ１〜Ｓ５はスタートビットであり、オフセット合わせ処理装置で用いる位置合わせの為のビット情報である。１〜６４は利用情報である。
【０２９０】
ただし本発明はこの対応関係に限らず、０から閾値（又は閾値から２５５）までの係数の位置の全てに、図９のパターンを使用して各ビット情報を順に埋め込むならば、各ビット情報と各係数値との対応関係は別のものであっても良い。
【０２９１】
３２×３２のコーンマスクの場合には、１つのマスク内に同じ係数を持つ位置が夫々４個存在する。
【０２９２】
全ての係数に上記対応表２に基づいて、元の画像データに各ビット情報を埋め込む場合、３２×３２,６４×６４等の大きいサイズのコーンマスクならば、付加情報「Inf」を構成する各ビット情報はほぼ等しい回数埋め込まれる。また、元の画像データにおいて同一のビット情報が拡散して埋め込まれる。
【０２９３】
パッチワーク法では、従来ランダム的に埋め込み位置を選んでいたが、本実施の形態例では、上記コーンマスクを参照することにより同様の効果を得る事ができ、更に画質劣化も少ない。
【０２９４】
以上の結果、マスク参照手段１１０２では、各ビット情報に対応する埋め込み位置の座標(x,y)を得る。
【０２９５】
配列S[bit][num]＝(x,y)  でその情報を表現すると、bitは対応表１の場合、スタートビットS１〜S５と利用情報１〜３ビットを表す。またnumはコーンマスク内で繰り返し表れる各係数に付けられる順序である。(x,y)にはマスク内での相対座標が収められる。
【０２９６】
以上の操作をマスク参照手段１１０２で行なう。
【０２９７】
＜３−３−３  マスク・パターン配列対応手段＞
マスク参照手段１１０２で得られた各ビット情報のコーンマスク内での埋め込み位置は、マスク・パターン配列対応手段１１０３に入力される。
【０２９８】
マスク参照手段１１０２で決定した埋め込み位置は夫々のビット情報のパターンの位置（８×８画素分）であるので、パッチワーク法では更に図９に示される加算領域（＋ｃ）と減算領域（−ｃ）とそれ以外（０）とを割り当てる必要がある。この為、マスク参照手段１１０２で参照したコーンマスクの全ての位置に図９に相当する８×８サイズのパターン配列を展開する操作をマスク・パターン配列対応手段１１０３で行なう。
【０２９９】
具体的にはマスク参照手段１１０２で得られた配列S[bit][num]＝(x,y)の座標に対して、ｘ座標にはパターン配列の横方向のサイズを掛け、ｙ座標にはパターン配列の縦方向のサイズを掛ける操作を行なう。その結果、図１７のマスク内の座標１７０１は、マスク内の１画素が１パターン配列に拡大された先頭座標１７０２となる。
【０３００】
この先頭座標から図１９に示されるパターン配列を用いると、パターン配列の
大きさを持つ領域１７０３に重なり合わず埋め込みを行なうことが可能になる。
【０３０１】
座標(x,y)は座標(x',y')に変化するが、配列S[bit][num]のbitとnumは変化しない。従って、配列S[bit][num]のbitに相当する付加情報「Inf」を(x',y')をパターン配列を埋め込む先頭位置とし、複数のビット情報の埋め込みが可能になる。
【０３０２】
なお、マスク・パターン配列対応手段１１０３によりコーンマスクの各係数が、８×８のパターン配列に展開（拡大）された大きなマスクを、拡大マスクと呼ぶ。
【０３０３】
上記拡大マスクのサイズは、（３２×８）×（３２×８）サイズとなり、このサイズが付加情報「Inf」を少なくとも１つ埋め込む為に必要な最低限の画像単位（マクロブロックとする）となる。
【０３０４】
なお、本実施の形態例では、パターン配列決定手段０１１０でも述べた様に、パターン配列の大きさは、８×８に限るものではない。本発明においてパターン配列及びパッチの大きさは、パターン配列決定手段０１０３で、画像の解像度或いはプリンタの出力解像度に応じて選択決定（最適化）される。パターン配列の大きさが８×８でない場合でもマスク・パターン配列対応手段１１０３は、同様の手段を用いて、付加情報「Inf」の埋め込み位置を決定することが可能である。
【０３０５】
以上がマスク・パターン配列対応手段１１０３で行われる操作である。
【０３０６】
一般的に小さなマスクは大きなマスクより作成時にドットの配置位置に自由度が少なく、コーンマスクの様な所望の特性を持つマスクの作成が難しい。例えば小さなマスクを画像データの全体に繰り返し割り当てることで付加情報「Inf」を埋め込む場合には、小さなマスクの持つ空間周波数が画像データ全体に出現する。
【０３０７】
その一方で、一つのマスクからは完結した付加情報「Inf」が抽出されるので、マスクのサイズを大きく設定することによって、切り抜き耐性（部分的な画像データ「wI'」から付加情報「Inf」を抽出できる可能性）は小さくなってしまう。ゆえに、上記切り抜き耐性と画質劣化のバランスを考慮し、マスクのサイズを決定する必要がある。
【０３０８】
以上が図１の埋め込み位置決定手段０１０３で行われる処理である。
【０３０９】
＜３−４  付加情報埋め込み処理の説明＞
以上の様にして決定された、画像データへの各ビット情報の埋め込み位置を参照して、図１の付加情報埋め込み手段０１０４は実際に付加情報「Inf」を埋め込む。
【０３１０】
図１０に付加情報「Inf」を繰り返して埋め込む処理の動作の流れを示す。図１０に示す方式では、画像全体に割り当て可能なマクロブロックを複数個割り当て、更に、これら全マクロブロックに対してまず１ビット目のビット情報を繰り返して埋め込み、続いて２ビット目、３ビット目…という様に繰り返して埋め込む。
【０３１１】
これは未だ埋め込み処理が行われていないビット情報が有れば、未処理のマクロブロックの全てに１００１〜１００３の埋め込み処理を施す手順により構成されている。しかしながら、本発明はこの順序に限らず２つのループ処理の内外関係を逆にしても良い。
【０３１２】
即ち、未処理のマクロブロックが有れば、これに対して未だ埋め込んでいないビット情報を全て埋め込む手順に変更しても良い。
【０３１３】
具体的には付加情報「Inf」の埋め込みは、埋め込まれる各ビット情報が“１”の場合には図９のパターン配列を加える。また埋め込むビットが“０”の場合には図９のパターン配列を減ずる、即ち図９の正負符号を反転したものを加算する。
【０３１４】
上記加減算の処理は、図１０における切り替え手段１００１を、埋め込むビット情報に応じて切り替え制御することによって実現される。即ち、埋め込まれるビット情報が“１”の時は加算手段１００２に接続し、上記ビット情報が“０”の時は減算手段１００３に接続する。これら１００１〜１００３の処理はビット情報とパターン配列の情報を参照しながら行われる。
【０３１５】
ここで上記ビット情報の１つが埋め込まれる様子を図１９に示す。同図では埋め込まれるビット情報が“１”、即ちパターン配列を加える場合の例を示す。図１９に示す例では、I(x,y)が元の画像、P(x,y)が８×８のパターン配列である。
【０３１６】
８×８のパターン配列を構成する各係数は、このパターン配列と同じサイズの元の画像データ（青色成分）に重ね合わせられ、同位置の値同志が加減算される。その結果、I'(x,y)が算出され、ビット情報が埋め込まれた青色成分の画像データとして図１の色成分合成手段０１０５へ出力される。
【０３１７】
上述した８×８のパターン配列を用いた加減算処理を、上記対応表２で決定された埋め込み位置（各ビット情報を埋め込む為のパターン配列を割り当てた位置）の全てに対して繰り返し行なう。
【０３１８】
なお、本実施の形態例では、パターン配列決定手段０１１０の説明において述べた様に、パターン配列の大きさは、８×８に限るものではない。本発明においてパターン配列及びパッチの大きさは、パターン配列決定手段０１１０で、画像の解像度或いはプリンタの出力解像度に応じて選択決定（最適化）される。パターン配列の大きさが８×８でない場合でも付加情報埋め込み手段０１０４は、同様の手段を用いて、付加情報「Inf」を埋め込むことがが可能である。
【０３１９】
次に、図１０の内部のループ処理が行われる様子を図１８に示す。図１８では、各ビット情報を繰り返し埋め込む為に、画像データ全体１８０１(１８０３)全体に、マクロブロック１８０２を左上から右下までラスタ順に繰り返し割り当てて埋め込み（図１０の１００１〜１００３）を行なう。
【０３２０】
付加情報埋め込み手段０１０４により以上の操作が行われ、付加情報「Inf」が画像全体に埋め込まれる。
【０３２１】
以上の処理により、画像データ中に付加情報「Inf」が埋め込まれる。この付加情報「Inf」が埋め込まれた画像データの各画素が、十分少ないドット数で表現されるのであれば、パターン配列の大きさも十分小さくなるので、これらパターン配列の１つ１つ非常に小さい点でしか人間の目には知覚されない。よって、コーンマスクの空間周波数特性も維持され、人間の目に見えにくい。
【０３２２】
＜３−５  ファイルの圧縮と伸張処理の説明＞
本実施の形態例では、付加情報埋め込み手段０１０４で付加情報が埋め込まれた後、ファイルの圧縮・メモリ格納・ファイルの伸張が行われる。ここでは、電子透かしが埋め込まれた画像に対する圧縮を考慮した電子透かしの埋め込み設計法について述べる。
【０３２３】
＜３−５−１  ＪＰＥＧ圧縮符号化＞
図３９は視覚の色度空間周波数特性を示した図である。それぞれの曲線は、白−黒（単色）と、等輝度の反対の色対である赤−緑、或いは黄−青からなる空間正弦波パターンを用い、その空間正弦波パターンの周期及びコントラストを変化させた時の上記パターンが人の目で認識できる限界を測定することで得られる。
【０３２４】
図３９において、白−黒（明暗の情報）は、約３[cycle/deg]で感度が最大になるが、色度（赤−緑及び黄−青）は約０．３[cycle/deg]で感度が最大になる。このことから、明暗の情報は画像の解像度など細かな部分の識別に敏感で、色度は空間的に広い（空間周波数が低い）部分の見え方に影響を与えることが分かる。
【０３２５】
また、黄−青のパターンは赤−緑のパターンよりも細かな空間情報の識別に関与していないことも分かる。
【０３２６】
以上から、輝度成分しか持たないグレイスケール画像をそのまま変調して電子透かし情報を埋め込む方法は、カラー画像データの色成分に電子透かし情報を埋め込む方法に比べて、画質の劣化が目立ちやすいことが分かる。また、ＲＧＢからなるカラー画像データに対しては青色成分（Ｂ）へ電子透かし情報を埋め込む方法が最も人間の目に目立たないといえる。
【０３２７】
なお、色成分へ電子透かし情報を埋め込む為に色成分に変化を与えた際、空間的に広い領域（空間周波数が低い状態）で人間が目視すると色ムラとして目立つが、空間的に狭い領域（空間周波数が高い状態）で人間が目視すると、輝度に電子透かし情報を埋め込む場合よりは目立ちにくくなる。
【０３２８】
本実施の形態例では、１画素に１種類の要素しか持たないグレイスケール画像には、１画素に複数の要素を持つカラー画像データへの変換を施してから電子透かし情報（付加情報「Inf」等）の埋め込みを行なうので、通常のグレイスケールのまま電子透かし情報を埋め込む場合よりも画質の劣化を防ぐ効果が有る。
【０３２９】
グレイスケールの画像データに電子透かし情報を埋め込む場合とカラー画像データを構成する複数種類の要素のうちの１種類にのみ電子透かし情報を埋め込む場合とを比較すると、高解像度で画像出力を行なう場合（１つの画素の値を少ないインクドットで階調表現する場合等）には、後者の方が画質を良好に維持できる。
【０３３０】
しかしながら、出力されるカラー画像データ（ファイルサイズ）は、単純に考えると元の画像データの約３倍になってしまうというデメリットもある。
【０３３１】
そこで本実施の形態例では、ファイルサイズをできるだけ抑える為に、ＪＰＥＧ圧縮符号化手段０１０６において、電子透かし情報が埋め込まれた画像データに、更にＪＰＥＧ圧縮符号化を施す。
【０３３２】
一般的にＪＰＥＧ圧縮符号化は、人間の視覚特性を利用し、人間の視覚が敏感でない成分を除去することでデータ量を縮小する技術である。一方の電子透かし技術は、人間の視覚が敏感でない成分に情報を埋め込む技術である。よって、ＪＰＥＧ圧縮符号化と電子透かし技術とは共存しにくい技術であり、ＪＰＥＧ圧縮符号化は一種の電子透かし情報への攻撃と考えられている。
【０３３３】
以下にＪＰＥＧ圧縮符号化への耐性を持たせる方法について簡単に説明する。本実施の形態例で用いる図９の様なパターン配列は、色差成分へのサブサンプリングや量子化処理により、既にカラー画像データ中に埋め込まれている付加情報が失われない様に設定されている。
【０３３４】
まず、ＪＰＥＧ圧縮符号化方式について簡単に説明する。
【０３３５】
ＪＰＥＧ圧縮符号化装置０１０６に入力されるカラー画像データは、輝度(Ｙ)と色差(Ｃｒ,Ｃｂ)に変換される。元の赤色成分（Ｒ）、緑色成分（Ｇ）、青色成分（Ｂ）から構成されるカラー画像データが入力された場合には、
Ｙ  ＝  ０．２９９００×Ｒ＋０．５８７００×Ｇ＋０．１１４００×Ｂ
Ｃｒ＝  ０．５００００×Ｒ−０．４１８６９×Ｇ−０．０８１３１×Ｂ
Ｃｂ＝−０．１６８７４×Ｒ−０．３３１２６×Ｇ＋０．５００００×Ｂ
の式を用いて、元のカラー画像データを輝度（Ｙ）と色差（Ｃｒ，Ｃｂ）から構成される別のカラー画像データにフォーマット変換する。
【０３３６】
輝度成分と色差成分に分解された画像データは、画像左上からラスタ順に図４０に示される８×８画素のブロックに分割される。ＪＰＥＧ圧縮符号化ではこの８×８ブロック毎に圧縮符号化の処理を繰り返し行なう。
【０３３７】
次に、ＪＰＥＧ圧縮符号化の色成分のサンプリング処理について述べる。ＪＰＥＧ圧縮符号化では８×８画素毎にサンプリングオプションのサンプリング比に従い、色差成分のサンプリングが行われる。
【０３３８】
図４１は画像データのサンプリングの様子を示したものである。以下、ＪＰＥＧ圧縮符号化における４：２：２のサンプリングの手順を示す。
【０３３９】
４１０１は４×４画素の輝度成分を示している。輝度成分に対しては、視覚的に重要な情報が多いので、間引き処理は行なわれず、４×４画素はそのまま出力される。
【０３４０】
４１０３は４×４画素の色差成分（Ｃｒ，Ｃｂ）を示している。色度成分に対しては、、それほど視覚的に敏感でないので、水平、又は垂直方向の２画素に対して１画素の間引きが行われる。その結果、４×４画素の色差成分（Ｃｒ，Ｃｂ）は４×２画素４１０４に変換される。以上のサンプリングを行なうと８×８画素の色差成分は８×４画素に減少する。
【０３４１】
従って、４：２：２のサンプリングの結果、８×８画素分の輝度成分Ｙ、色差成分Ｃｒ、色差成分Ｃｂは、各々、８×８画素、８×４画素、８×４画素になる。上記サンプリングされた各画素には公知の手順で、ＤＣＴ（離散コサイン変換）演算、量子化、ジグザグスキャン、ハフマン符号化等が行われる。
【０３４２】
また、人間の視覚特性は高周波数成分にそれほど敏感でないことを利用し、ＤＣＴ係数の高周波成分への量子化ステップ数を少なくすることで効率良く圧縮される。また、輝度より色差成分の方が全体的に量子化ステップ数が少なくなる様に量子化が施される。
【０３４３】
以上の圧縮符号化処理に耐性を有するパターン配列について考察する。
【０３４４】
図４２に、上述した図９のパターン配列を再度示す。図４２において、＋ｃの正の要素を持つ領域４２０１を正のパッチ、−ｃの負の要素を持つ領域４２０２を負のパッチと呼ぶこととする。このとき、各パッチは図４０で示された８×８画素からなる最小符号化単位４００１において、低周波成分に情報を偏らせることで、ＪＰＥＧ圧縮耐性を強めることができる。ただし、本発明はこれに限らず、最小符号化単位を１６×１６画素として各種設定を行っても良い。
【０３４５】
また、４：１：１（色差成分を縦、横方向に１画素おきに間引く）、４：２：２(色差成分を縦、または横方向に１画素おきに間引く)サンプリングを行なう場合には、各パッチをサンプリングに応じて縦かつ／又は横方向に２画素の整数倍の幅を持たせたサイズにすると、サンプリングに対する耐性を強めることができる。
【０３４６】
即ち、
（１）各パッチは最小符号化単位（８×８画素）で低周波に偏ったものを用いる。
（２）各パッチのサイズは、サンプリング方法に応じて、縦かつ／又は横方向へ２×Ｎ（Ｎは整数）画素とする。
【０３４７】
なお、ＪＰＥＧ圧縮符号化が施される各領域（８×８画素）において、各パッチが低周波成分を有する為には、パターン配列を割り当てる画像上の位置、及びパターン配列の各サイズ（図９では８×８画素）が、符号化が施される各領域と同期することが好ましい。
【０３４８】
即ち、
（３）パターン配列のサイズ、埋め込み位置をＪＰＥＧ圧縮符号化が施される単位サイズと同期させる。
【０３４９】
以上の条件を考慮して、例えば図９の様なパターン配列を用いて付加情報「Inf」を埋め込む様にすれば、ＪＰＥＧ圧縮符号化後であっても電子透かし情報（付加情報「Inf」）を画像データに残留させることができ、ＪＰＥＧ圧縮符号化に対して耐性を有すると言える。
【０３５０】
なお本発明は、色成分抽出手段０１０１において、グレイスケール（単色）画像を直接Ｙ（輝度）Ｃｒ、Ｃｂ（色差）成分に変換し、この内のＣｂ成分のみに付加情報「Inf」等を電子透かしとして埋め込む変調を行なう場合も範疇に含む。この場合には、ＪＰＥＧ圧縮符号化手段にて輝度、色差成分への変換を行なわなくて済み、処理工程が少なくなる。
【０３５１】
また、色成分抽出手段０１０１にて、グレイスケール（単色）画像を、後段で印刷する際に適したＹ（イエロー）、Ｍ（マゼンダ）、Ｃ（シアン）、Ｋ（黒）成分に直接変換し、この内のＹ成分のみに電子透かしとして付加情報「Inf」等を埋め込む変調を行なう場合も範疇に含む。この場合には、印刷手段の直前で色成分を変換する工程を省略できる。
【０３５２】
即ち本発明は、上記埋め込みを行なう為の成分が青色成分、Ｃｂ成分、Ｙ成分に限らず、１画素を構成する全ての成分における一部の成分に付加情報「Inf」等を埋め込む場合を範疇に含む。
【０３５３】
＜３−５−２  メモリ格納＞
上記ＪＰＥＧ圧縮符号化により得られた符号化データは、メモリに一旦格納される。この符号化データは、外部機器への送信、或いは図１の装置の後段に接続するプリンタの印刷のタイミングに合わせて、上記メモリからＪＰＥＧ伸長復号化手段０１０８へ読み出される。
【０３５４】
なお、本実施の形態例の様にグレイスケールの画像データを一旦カラー画像データに変換し、青色成分に変調を加え、更に輝度、色差成分からなるカラー画像データに変換してＪＰＥＧ圧縮した場合の符号化データは、元のグレイスケールの画像をそのまま輝度、色差成分からなるカラー画像データに変換してＪＰＥＧ圧縮符号化した場合の符号化データ量と比較して、色差成分に多少のデータ増加が生じるものの、メモリ容量の大幅な増加には繋がらないという効果が有る。
【０３５５】
即ち、電子透かし情報が元の画像データに埋め込まれた後に、ＪＰＥＧ圧縮符号化が施されることを前提に考えれば、本実施の形態例の様なグレイスケールの画像データへの電子透かし情報（付加情報「Inf」等）の埋め込み方法は、通常のグレイスケールの画像データをそのまま変調して電子透かし情報を埋め込む方法と比較して、全体的なデータ量をそれ程大きくせずに画質の向上が計れるという利点が有る。
【０３５６】
＜３−５−３  ＪＰＥＧ伸長復号化＞
ＪＰＥＧ伸長復号化手段０１０８は、外部機器への送信、或いはプリンタ０１０９による印刷のタイミングに合わせて、メモリ０１０７から符号化データを読み出し、上記圧縮の方式の逆の手順を用いてカラー画像データを復号化する。
【０３５７】
＜３−６  レジストレーション処理の説明＞
次に、電子透かし抽出装置側に備えられる、図２におけるレジストレーション手段０２０３について詳細を説明する。
【０３５８】
レジストレーション手段０２０３とは、付加情報抽出手段０２０４の前段に位置する手段であり、付加情報「Inf」抽出処理の前処理である。レジストレーション手段０２０３には、前段の色成分抽出手段０２０２により抽出された青色成分の画像が入力される。
【０３５９】
レジストレーション手段０２０３では、電子透かし埋め込み装置から出力された画像データ「wI」と、電子透かし抽出装置に入力された画像データ「wI'」のスケールの違いおよび回転が補正される。ただしここで補正する回転は、抽出できる可能性のある回転角の一つであり、厳密な回転角は、オフセット合わせ処理で行なう。オフセット合わせ処理については、後に詳しく述べる。
【０３６０】
レジストレーション手段０２０３の詳細を図７に示す。図７に示す様に、レジストレーション手段０２０３は、ブロック分割手段０７０１、フーリエ変換手段０７０２、インパルス抽出手段０７０３、アフィン変換算出手段０７０４、アフィン変換補正手段０７０５から構成される。
【０３６１】
ブロック分割手段０７０１では、上述したレジストレーション信号埋め込み手段０１０２（ブロック分割手段０４０１）と同様のブロック分割処理が行われる。この処理によって、一般的にはレジストレーション信号埋め込み手段０１０２（ブロック分割手段０４０１）と同様のブロックを抽出することは困難である。これは電子透かし情報が埋め込まれた画像データ「wI」が印刷系の処理を施されることによって、大きさが変化し、回転が加わり、更に位置がずれることによるものである。
【０３６２】
しかし、このブロックの抽出はある程度違っていても問題はない。これは、電子透かし埋め込み装置において、レジストレーション信号が画像データのうち振幅スペクトルに埋め込まれているからである。振幅スペクトルは、画像データの空間領域における位置ずれには影響されないという性質がある。よって、電子透かし埋め込み装置と電子透かし抽出装置の夫々において、各々のブロック分割手段により分割されたブロックが、空間領域で多少の位置ずれが生じていても問題はない。
【０３６３】
ブロック分割手段０７０１はブロック分割した画像データをフーリエ変換手段０７０２に出力する。フーリエ変換手段０７０２は上述したレジストレーション信号埋め込み手段０１０２の場合と同様に、空間領域の画像データを周波数領域の画像データに変換する。フーリエ変換された周波数領域の画像データは振幅スペクトルと位相スペクトルによって表現される。このうち振幅スペクトルだけがインパルス抽出手段０７０３に入力される。一方で、位相スペクトルは破棄される。
【０３６４】
周波数領域に変換された画像データはインパルス抽出手段０７０３に入力される。インパルス抽出手段０７０３では、周波数領域に変換された画像データからインパルス性の信号だけを抽出する。即ち、既に画像データに埋め込まれている図５の０５０２,０５０３,０５０４,０５０５を抽出する。
【０３６５】
これは公知の画像処理技術を用いて行なうことが可能である。例えば、周波数領域に変換された画像データを閾値処理することで実現できる。この例を図８(a)に示す。図８(a)にはインパルス抽出手段０７０３に入力された振幅スペクトル０８０１を閾値０８０２によって閾値処理する様子を示す。なお説明の為、図８において変換された画像データを１次元で表現した。適当な閾値０８０２を選択することによってインパルス信号を抽出することが可能である。しかしながら、低域に存在するインパルス信号と同じ程度の大きさを持つ様な本来の画像データも同時に抽出してしまう。
【０３６６】
この問題を解決した本実施の形態例の方式を図８(b)に示す。周波数領域に変換された画像データ０８０１に対して２次微分処理を施す。これはラプラシアンフィルタ等を施すことに等しい。周波数領域に変換された画像データ０８０１に対して２次微分を施したものを０８０３に示す。このデータ０８０３に対して適当な閾値０８０４を選択し閾値処理を施すことによって、インパルス信号を抽出可能である。
【０３６７】
このインパルス信号の抽出に関してもう少し詳細な原理を図２６を用いて説明する。なお、この図では上述したレジストレーション信号埋め込み側の処理も記載している。
【０３６８】
レジストレーション信号埋め込み手段０１０２においては、空間領域の画像データ２６０１が周波数領域に変換され画像データ２６０２となり、周波数領域においてインパルス信号２６０３が加えられる。
【０３６９】
インパルス信号（レジストレーション信号）２６０３が加えられた周波数領域の画像データは、逆周波数変換されることによって空間領域の信号２６０１’へ再び戻る。再び空間領域へ戻された画像データ２６０１’にはインパルス信号が付加された影響があるはずであるが、人間の目には知覚しにくく、実質的には画像データ２６０１と画像データ２６０１’は同一物に見える。これは、周波数領域で加えられたインパルス信号２６０３が逆フーリエ変換によって、画像データ全体に小さな振幅で分布するからである。
【０３７０】
図２６の２６０３の様なインパルス信号が加えられた場合は、ある一定の周波数成分を持つ画像データが空間領域に加えられたことに等しくなる。この加えられたインパルス信号が人間の知覚できる周波数よりも大きく、更に振幅が人間の知覚できる限度以下であるならば、加えられたインパルス信号は人間の目には見えない。よって、上記レジストレーション信号の埋め込み自体も一種の電子透かし処理であると言える。
【０３７１】
なお、本実施の形態例では画像データ２６０１にレジストレーション信号２６０３が埋め込まれ、更に実際に埋め込むべき付加情報「Inf」が埋め込まれた後、空間領域の信号２６０１’を復元する。
【０３７２】
図２６の様に埋め込まれたレジストレーション信号は、抽出の際に再びフーリエ変換が施される。これによって、空間領域では一度画像データ全体に拡散されたレジストレーション信号２６０３が、周波数領域に変換され再びインパルス信号として現れる。
【０３７３】
電子透かし情報が埋め込まれた画像がJPEG圧縮等の非可逆圧縮などの攻撃を受けた場合、このインパルスは振幅が小さくなる可能性が高い。一方で、スケーリングおよび回転などの幾何的な攻撃を受けた場合、このインパルスはその位置が移動する。いずれの場合も上述した様な適当なインパルス抽出処理を施すことによって、インパルス信号は抽出可能であり、元の画像データからの変化を推測できる。この変化を補正すれば本実施の形態例で埋め込まれる付加情報「Inf」を確実に抽出できる状態を作り出せる。
【０３７４】
以上の処理により、図７のインパルス抽出手段０７０３からは上述したインパルス信号が出力され、アフィン変換算出手段０７０４に入力される。アフィン変換算出手段０７０４は、入力されたインパルス信号の座標を用いてどの様なアフィン変換が施されたかを算出する。
【０３７５】
本実施の形態例の電子透かし抽出装置側では、予めどの周波数成分にインパルス信号を埋め込んだかを知っているものとする。
【０３７６】
図５１は、５１０１は予め画像に埋め込まれたインパルス信号の位置を示した振幅スペクトルであり、５１０２は検出されたインパルス信号の位置を示した振幅スペクトルである。この場合には、この予め埋め込まれた周波数と、インパルスが検出された周波数の比によりスケーリング率を算出することが可能である。例えば、予めインパルス信号が埋め込まれた周波数をa、検出されたインパルス信号の周波数をbとすると、a/b倍のスケーリングが施されていることが分かる。
【０３７７】
また、画像に回転が加わっている場合にも、同様に抽出されたインパルス信号の周波数から、画像に加えられた回転角を推測することができる。
【０３７８】
図５２の５２０１は、予め画像に埋め込まれたインパルス信号の位置を示した振幅スペクトルであり、５２０２は、回転が加わった電子透かしが埋め込まれた画像から抽出されたインパルス信号の位置を示した振幅スペクトルである。
【０３７９】
ここで、予め埋め込まれたインパルス信号の位置と原点を結ぶ直線がｘ軸の正方向となす角度をΘ1、抽出されたインパルス信号の位置と原点を結ぶ直線がｘ軸の正方向となす角度をΘ2とすると、Θ1とΘ2の角度の差から、画像に加えられた回転角を知ることができる。ただし、振幅スペクトルでは、インパルス信号は周波数対称性を持つため、画像に加えられた回転角Θを一意に決めることはできない。従って、このレジストレーション処理で得られる回転角Θ'（Θ1とΘ2の差）は、画像に加えられた回転角Θと異なる場合もある。
【０３８０】
これは良く知られたフーリエ変換の性質である。以上の処理により、アフィン変換算出手段０７０４からはスケーリング率および回転角Θ'が出力される。
【０３８１】
画像に加えられた正確な回転角Θは、オフセット合わせ処理で求められる。
【０３８２】
しかしながら本発明はこれに限らず、電子透かし埋め込み装置側から必要に応じてレジストレーション信号を埋め込んだ位置（回転している場合には、周波数空間の振幅スペクトルにおける原点からの距離）の情報を受信する様にしても良い。例えばこの位置情報は暗号化信号として受信し、上記スケーリング率の算出処理を行なう形態も本発明の範疇に含まれる。こうすることによって、付加情報「Inf」を正しく抽出できるのはレジストレーション信号を知っている人だけとなる。この場合、レジストレーション信号を付加情報「Inf」を抽出する為の鍵として使用できる。
【０３８３】
アフィン変換算出手段０７０４から出力されたスケーリング率および回転角Θ'は、アフィン変換補正手段０７０５に入力される。アフィン変換補正手段０７０５には画像データ「wI1'］も入力され、画像データ「wI1'］は入力されたスケーリング率および回転角Θ'によってアフィン変換補正処理が施される。アフィン変換補正処理はバイリニア補間やバイキュービック補間など種々のものが適応可能である。そして、アフィン変換補正手段０７０５からはアフィン変換補正処理が施された画像データ「wI2'」が出力される。
【０３８４】
なお、本実施の形態例では、アフィン変換算出手段０７０４は、もう一つの目的のために、図１のパターン配列算出手段０２０４に、スケーリング率を出力する。
【０３８５】
一つは既に述べたように、画像データ「wI1'］をアフィン変換補正処理により画像データ「wI2'」にアフィン変換補正処理するためであるが、もう一つは、図２のパターン配列算出手段０２０４において、この出力されたスケーリング率を元に埋め込みに用いたパターン配列を判定するためである。
【０３８６】
＜３−７  付加情報抽出処理の説明＞
次に、図１の付加情報埋め込み手段０１０３で付加情報「Inf」が埋め込まれた画像データ「wI'」の青色成分からこの付加情報「Inf」を抽出する図２の付加情報抽出手段０２０４の動作について述べる。
【０３８７】
この付加情報「Inf」の抽出処理の一連の流れを図２０に示す。
【０３８８】
図２０に示す様に、図２のレジストレーション処理０２０２からスケーリング率がパターン配列判定手段２００１に入力され、埋め込みに用いたパターン配列が判定される。
【０３８９】
＜３−７−１  パターン配列判定手段＞
アフィン変換補正処理された画像データ「wI2'」は、付加情報抽出手段０２０４の内部に入力される。このとき、図１のパターン配列決定手段０１１０において、パターン配列が画像の解像度とプリンタの出力解像度に応じて決められた場合、画像の解像度とプリンタの出力解像度を知ること無しには、埋め込みに用いたパターン配列を判断することが出来ない。埋め込みに用いたパターン配列が分からない場合は、付加情報「Inf」の抽出を行なうことはできない。
【０３９０】
本実施の形態例では、パターン配列判定手段２００１において、レジストレーション手段０２０２から入力されるスケーリング率から、付加情報「Inf」を埋め込んだ場合のパターン配列を判定する。
【０３９１】
印刷物「pwI’」をスキャンしたときのスキャナの入力解像度は固定で、プリンタの出力解像度は分かっているものとし、スケーリング率からパターン配列を判定する手段について述べる。
【０３９２】
印刷物「pwI'」を図２のスキャナ０２０１で６００ｐｐｉの入力解像度でスキャンを行ない、画像データ「wI'」が得られる。このときプリンタの出力解像度は１２００ｄｐｉ、スキャナの入力解像度は６００ｐｐｉであるとする。
【０３９３】
画像データ「wI'」は色成分抽出手段０２０２に入力され、色成分が抽出され画像データ「wI1'」が出力される。この画像データ「wI1'」はレジストレーション手段０２０３に入力され、レジストレーション手段０２０２の内部のスケーリング率算出手段０７０４から、スケーリング率及びスケーリング済み画像データ「wI2'」が付加情報抽出手段０２０４に出力される。
【０３９４】
付加情報抽出手段０２０４に入力されたスケーリング率はパターン配列判定手段２００１に入力される。
【０３９５】
例として、スケーリング率０．８０を持つ電子透かしが埋め込まれた画像データ「wI'」について考えてみる。
【０３９６】
スケーリング率及びスキャナの入力解像度から、画像は（６００ｐｐｉ×０．８０＝４８０ｐｐｉ）の画像の解像度でプリンタから出力されていたことが分かる。
【０３９７】
今、画像の解像度５００ｐｐｉを閾値とし、５００ｐｐｉ未満では、パターン配列は図４９の４９０１（８×８のパターン配列）で埋め込みを行ない、５００ｐｐｉ以上では、パターン配列は図４９の４９０３（１２×１２のパターン配列）で埋め込みを行なう対応関係を階調変換を考慮して規定した場合には、スケーリング率０．８０を持つ電子透かしが埋め込まれた画像データ「wI'」は、図４９のパターン配列４９０１（８×８のパターン配列）を用いて埋め込みが行われたことが分かる。
【０３９８】
以上の様にして、パターン配列判定手段２００１ではスケーリング率から付加情報「Inf」の埋め込みに用いたパターン配列を判定し、後段の埋め込み位置決定手段２００２に出力する。
【０３９９】
なお、図４９のパターン配列４９０１に対応する直交するパターン配列４９０２及び、パターン配列４９０３に対応する直交するパターン配列４９０４は、図２０の第２のパターン配列による抽出手段２００５において用いられる。直交するパターン配列については、後に詳しく説明する。
【０４００】
＜３−７−２  埋め込み位置決定処理＞
次に、埋め込み位置決定手段２００２において、画像データ「wI2'」（青色成分）中のどの領域から付加情報「Inf」を抽出するかを決定する。この埋め込み位置決定手段２００２によってなされる動作は、前述した埋め込み位置決定手段０１０３と同じであり、その為、０１０３と２００２によって決定される領域は同一のものとなる。
【０４０１】
決定された領域から、前述した対応表２を用い、更に図９に示されるパターン配列を用いて付加情報「Inf」が抽出される。ここで、付加情報「Inf」の抽出は、決定された領域に対してパターン配列を畳み込むことによって実現される。
【０４０２】
なお、パターン配列を、画像の出力解像度に応じて可変にしてある場合には、図２０のパターン配列判定手段２００１から入力されるパターン配列を、付加情報「Inf」の抽出に用いることとする。以降は、図２０のパターン配列判定手段２００１から入力されるパターン配列が８×８であった場合についてのみ説明を行なうが、その他のパターン配列の場合でも、同様の操作を行なう。
【０４０３】
＜３−７−３  信頼度距離演算手段＞
信頼度距離dは埋め込んだ情報を抽出する際に必要となる計算値である。各ビット情報に対応する信頼度距離dを求める方法を図６に示す。
【０４０４】
まず始めに、図６の畳み込み演算手段０６０１で行なう処理を図２１及び図２２を用いて説明する。図２１及び図２２に、本実施の形態例における付加情報「Inf」を構成する１ビットの情報を抽出する例を示す。
【０４０５】
図２１は本実施の形態例における付加情報「Inf」を構成するある１ビット情報が埋め込まれた画像データ（青色成分）I''(x,y)に対してこの１ビット情報の抽出処理を行った例、そして図２２は本実施の形態例における上記１ビット情報が埋め込まれていない画像データI''(x,y)に対して１ビット情報の抽出処理を行なおうとした例である。
【０４０６】
図２１において、I''(x,y)が１ビット情報が埋め込まれた画像データ、P(x,y)が畳み込み処理に用いられる８×８のパターン配列（付加情報「Inf」抽出用のパターン配列）である。この８×８のパターン配列を構成する各要素（０，±ｃ）は、入力画像データI''(x,y)の同位置に配置されている画素値に積算され、更に各積算値の和が算出される。即ち、I''(x,y)に対してP(x,y)が畳み込まれる。
【０４０７】
ここで、I''(x,y)は、画像データI'(x,y)が攻撃を受けた場合の画像を含んだ表現である。攻撃を受けていない場合には、I''(x,y)=I'(x,y)である。I''(x,y)に１ビット情報が埋め込まれている画像である場合には、畳み込みの結果、図２１に示す様に非零の値が得られる可能性が非常に高い。特にI''(x,y)=I'(x,y)の時には畳み込みの結果は３２c２となる。
【０４０８】
なお、本実施の形態例では、埋め込みに用いるパターン配列と抽出に用いるパターン配列は同様のものを用いている。しかしながら、これは本発明において限定されるものではない。一般的には、埋め込みに用いるパターン配列をP(x,y)、抽出に用いるパターン配列をP'(x,y)とした場合には、［P'(x,y)=aP(x,y)］という関係に変形できる。ここでaは任意の実数であり、本実施の形態例では、簡単の為、a=１の場合について説明する。
【０４０９】
一方、図２２に示す例では、上述の演算と同様の演算が１ビット情報が埋め込まれていない画像データI''(x,y)に対して施されている。原画像（画像データIに相当）からは畳み込み演算の結果、図２２に示す様に零の値が得られる。
【０４１０】
以上、図２１及び図２２を用いて１ビット情報の抽出方法を説明した。しかし、以上の説明は、付加情報「Inf」が埋め込まれる対象の画像データIにおいて畳み込み演算の結果が０である場合であり、非常に理想的な場合である。一方で、実際の画像データIの８×８のパターン配列に相当する領域においては畳み込み演算の結果が０であることはなかなか少ない。
【０４１１】
即ち、原画像（画像データI）における８×８のパターン配列に相当する領域について、図９のパターン配列（コーンマスクも配置情報として参照）を用いて畳み込み演算を行った場合、理想と異なり、非零の値が算出されることもある。逆に、付加情報「Inf」が埋め込まれた画像（画像データ「wI」）における８×８のパターン配列に相当する領域について、同じく畳み込み演算を行った結果が“３２ｃ２“でなく“０”になってしまうこともある。
【０４１２】
しかしながら、付加情報「Inf」を構成するビット情報の夫々は、通常、元の画像データに複数回埋め込まれている。即ち付加情報「Inf」が画像に複数回埋め込まれている。よって畳み込み演算手段０６０１は、付加情報「Inf」を構成する各ビット情報に１ついて、夫々複数の畳み込み演算結果の和を求める。
【０４１３】
例えば、付加情報「Inf」が８ビットであれば、８個の和が得られる。この各ビット情報に対応する和は平均計算手段０６０２に入力され、夫々が全マクロブロックでの各ビット情報に対応するパターン配列の繰り返しの数ｎで割られて平均化される。この平均値が信頼度距離dである。即ち、この信頼度距離dは、図２１の“３２ｃ２”と“０”のどちらに類似しているかを多数決的に生成した値である。
【０４１４】
ただし、信頼度距離dは、先のパッチワーク法の説明ではd = 1/N Σ(ai-bi)と定義していたので、厳密には信頼度距離dは、P'(x,y) = 1/c P(x,y)を用いて畳み込み演算を行った結果の平均値である。しかしながら、P'(x,y) = aP(x,y)を用いて畳み込み演算を行っても、畳み込み演算結果の平均値は、上記信頼度距離dの実数倍になっているだけであり、本質的には同様の効果が得られる。 よって本発明には、P'(x,y) = aP(x,y)を用いた畳み込み演算結果の平均値を信頼度距離dに用いることも十分可能である。
【０４１５】
求められた信頼度距離dは０６０３の記憶媒体に蓄えられる。
【０４１６】
畳み込み演算手段０６０１は、付加情報「Inf」を構成する各ビットについて上記信頼度距離dを繰り返し生成し、順次記憶媒体０６０３に格納する。
【０４１７】
この演算値に関してもう少し詳細な説明をする。元の画像データIに対して図９のパターン配列（コーンマスクも配置情報として参照）を用いて算出される信頼度距離dは理想的には０である。しかしながら実際の画像データIにおいては、この値は非常に０に近くはあるが非零の値が多い。各ビット情報について発生する信頼度距離dの頻度分布を調べると、図２３の様になる。
【０４１８】
図２３において、横軸は、各ビット情報毎に発生する信頼度距離dの値であり、縦軸はその信頼度距離dを生じる畳み込みが行われたビット情報の数（信頼度距離dの出現頻度）を示している。図を見ると正規分布に類似していることが分かる。また、元の画像データIにおいては信頼度距離dは必ずしも０ではないが、その平均値は０(或はそれに非常に近い値)である。
【０４１９】
一方、元の画像データIではなく、図１９の様にビット情報“１”を埋め込んだ後の画像データ（青色成分）をI’(x,y)に上記畳み込みを行った場合には、信頼度距離dは図２４に示す様な頻度分布となる。即ち、図の様に図２３の分布形状を保ったまま、右方向にシフトしている。この様に、付加情報「Inf」を構成するある１ビットを埋め込んだ後の画像データは、信頼度距離dが必ずしもｃという訳ではないが、その平均値はｃ(或はそれに非常に近い値)となる。
【０４２０】
なお、図２４ではビット情報“１”を埋め込んだ例を示したが、ビット情報“０”を埋め込んだ場合は図２３に示した頻度分布が、左にシフトすることになる。
【０４２１】
以上説明した様に、パッチワーク法を用いて付加情報「Inf」（各ビット情報）を埋め込む場合には、埋め込むビット数（パターン配列の使用回数）を出来るだけ多くした方が、図２３及び図２４に示す様な統計的分布が正確に現れやすい。即ち、付加情報「Inf」を構成する各ビット情報が埋め込まれているか否か、或いは埋め込まれているビット情報が“１”か“０”かを検出できる精度が高くなる。
【０４２２】
＜３−７−４  オフセット合わせ処理＞
次にオフセット合わせ手段２００３の構成について解説する。
【０４２３】
オフセット合わせ手段２００３には、適切なアフィン変換補正を施された後の画像データ「wI2'」が入力される。この後、図６の信頼度距離演算を用い、スタートビットを検出する。
【０４２４】
なお、レジストレーション処理でも述べたが、入力される画像データ「wI2'」の回転は、必ずしも適切に元の状態に補正されていない。
【０４２５】
従って、このオフセット合わせ処理においては、オフセットを補正するのみならず、画像に加えられた回転角を一意に決める処理も合わせて行なう。
【０４２６】
更に、オフセット合わせ手段２００３はスタートビット「Inf1」の５ビット分に対応する５つの信頼度距離だけを生成する。スタートビット「Inf1」とは、図３６に示す様に、付加情報埋め込み手段０１０４において予め埋め込んである付加情報「Inf」の一部であり、本実施の形態例では５ビット分である。
【０４２７】
なお、これらスタートビット「Inf1」は、概念的には最初の５ビット分であるが、付加情報「Inf」が埋め込まれている画像においては隣接、密集して存在する訳ではなく、むしろ点在している。これは、対応表２のコーンマスクを構成する各係数値に対応付けて順に埋め込まれる為である。
【０４２８】
オフセット合わせ手段２００３の処理のフローチャートを図２８に示す。以下の解説は図２８のフローチャートの流れに沿って行なう。
【０４２９】
オフセット合わせ手段２００３では、入力された画像データ「wI2'」に対して、ステップ２８０８で、パターン配列の回転角φを０と仮定し、同時に最大値MＡXを０に設定する。
【０４３０】
次に、ステップ２８０９で決定された回転角φに従って、スタートビットが埋めこまれている座標に対し回転を加え、回転角φにおけるスタートビットの位置を求める。
【０４３１】
次にステップ２８０１により、最も左上の座標を埋め込み開始座標と仮定する。そして、ステップ２８０２により、図６の信頼度距離演算手段を用いて、スタートビットの検出を試みる。
【０４３２】
ここで得られた１〜５番目のビット情報が、ステップ２８０３により正しいスタートビット「１１１１１」であるかどうかを判定する。この点が正しい埋め込み開始座標であれば検出結果として５つの連続した正の信頼度距離dが検出されるが、そうでない場合には正の信頼度距離dが５つ連続しないことが多い。上記判断を順次行ない、正しいスタートビットInf1が検出できる位置を、埋め込み開始座標であると決定すれば良い。
【０４３３】
しかしながら、実際のところ埋め込み開始座標以外の点でも正しいスタートビットInf1が検出されてしまう場合も有り得る。この原因を図２７を用いて説明する。
【０４３４】
図２７は、本実施の形態例で用いるパッチワーク法で埋め込まれた付加情報「Inf」を抽出する為、付加情報「Inf」の埋め込み時に用いたものと同一のパターン配列（２７０２、２７０５）（コーンマスクも配置情報として参照）を用いて、畳み込みを行ないながら本来のマクロブロックの位置（２７０１、２７０３、２７０４）を探索する様子を示している。左の図から右の図へ向かって探索が連続的に進んでいるものとする。
【０４３５】
図２７では、簡単の為、画像データ「wI2'」の一部である１つのマクロブロック（付加情報「Inf」が抽出できる最小単位）に注目している。この図の１マスは１ビット情報を埋め込む為のパターン配列の大きさの概念を示している。
【０４３６】
図２７左において、２７０１と２７０２の関係を有する場合、即ち２７０２が実際のマクロブロック２７０１よりも左上に位置して場合、元の画像と付加情報「Inf」抽出用のパターン配列の位置は、斜線領域のみで重なっている。
【０４３７】
また同図中央には、更に探索を進め、探索中の位置と実際のマクロブロックの位置が完全に一致している場合が示されている。この状態では、畳み込み対象のパターン配列とマクロブロックが最大面積重なっている。
【０４３８】
また同図右においては、探索中の位置が実際に付加情報「Inf」が埋め込まれているマクロブロックの位置よりも右下に位置している。この状態では、この状態では、畳み込み対象のパターン配列とマクロブロックは斜線領域のみで重なる。
【０４３９】
図２７の全ての場合において、畳み込み対象のパターン配列とマクロブロックが十分に重なっていれば正しいスタートビットInf1を抽出することが可能である。ただし、これら３つの場合は重なる面積が異なっているので信頼度距離dが異なる。
【０４４０】
上記重なる面積は前述した信頼度距離dに置き換えて考えることができる。即ち、畳み込み対象のパターン配列とマクロブロックの位置関係が完全に一致していれば、各ビット情報共に信頼度距離dは上述した±３２ｃ２に非常に近くなる。
【０４４１】
よって、本実施の形態例においては、図２８の様に、ステップ２８０３において正しいスタートビットInf1でないと判定された場合には、ステップ２８０７によりラスタ順で次の探索点に移動する。
【０４４２】
一方で、正しいスタートビットInf1であると判定された場合には、ステップ２８０４により、スタートビットInf1と思われる５ビット分に相当する信頼度距離dの和が最大値MＡXより大きいかどうかを判定する。最大値MＡXより小さな場合には、ステップ２８０７によりラスタ順で次の探索点に移動する。
【０４４３】
一方で、スタートビットInf1と思われる５ビット分に相当する信頼度距離dの和が最大値MＡXよりも大きな場合には、最大値MＡXを更新し、同時に現在の探索点を埋め込み開始点として記憶する。そして、ステップ２８０６において全ての探索点を探索したかどうかを判定し、全て終了していない場合には、ステップ２８０７によりラスタ順で次の探索点に移動する。
【０４４４】
一方で、全て終了している場合には、ステップ２８１０に進み、全ての探索角を探索したかどうかを判定し、全て終了していない場合には、ステップ２８１１により、回転角φを増やして探索を続ける。なお、ステップ２８１１においては、高速に探索する場合には、全ての角度を探索する必要はなく、レジストレーション処理における振幅スペクトルでインパルス信号が立っている角度、またはその付近のみを探索してもよい。
【０４４５】
ステップ２８１０において、全ての探索角を探索した場合には、その時記憶されている埋め込み開始点、および回転角φを出力し処理を終了する。
【０４４６】
以上の一連の処理により、本実施の形態例におけるオフセット合わせ手段２００３は、スタートビット「Inf1」を検出し、正しいスタートビット「Inf1」が得られた座標の中で、スタートビット「Inf1」と思われる５ビット分に相当する信頼度距離dの和が最も大きな座標および回転角φの情報を、付加情報「Inf」の埋め込み開始点であると判断し、埋め込み開始座標および回転角として後段へ出力する。
【０４４７】
＜３−７−５  利用情報抽出手段＞
利用情報抽出手段２００４は、前段のオフセット合わせ手段２００３から埋め込み開始座標、回転角φ、及び付加情報「Inf」が埋め込まれた画像データを入力する。なおこのとき、利用情報の抽出位置は、前記オフセット合わせ処理と同様に、回転角φに従って回転させる必要がある。
【０４４８】
以降は説明を簡単にするため、付加情報Infが埋め込まれた画像データに対し、元の画像から、回転角φの回転が加わっている場合には、利用情報抽出手段における利用情報の抽出位置および、以降で詳しく説明する第２のパターン配列による抽出処理における抽出位置は、回転角φに従って、回転を加えているものとする。
【０４４９】
続いて、図６で説明した動作を同じく用いて、ここでは利用情報Inf2を構成する各ビット情報のみについて信頼度距離dを算出し、これらビット情報に対する信頼度距離d1を後段の統計検定手段２００６に出力する。
【０４５０】
なお、利用情報Inf2を構成する各ビット情報に相当する信頼度距離d1を得ることは、実質的には、埋め込まれた利用情報Inf2の各ビットを抽出することに相当する。これについては後述する。
【０４５１】
ここでは、上記探索により判別された埋め込み開始座標に基づいて、各信頼度距離dを算出するのみであり、スタートビットInf1の５ビット分については抽出しない。
【０４５２】
＜３−８  統計検定処理の説明＞
統計検定手段２００６では、図２０の利用情報抽出手段２００４で得られる信頼度距離d1の信頼性を判定する。この判定は、付加情報「Inf」（利用情報Inf2）の抽出に用いた第１のパターン配列とは異なる第２のパターン配列を用いて信頼度距離d2を生成し、この信頼度距離d2の出現頻度分布を参照して信頼性指標Ｄを生成することで行われる。
【０４５３】
ここで信頼度距離d1は利用情報抽出手段２００４において利用情報Inf2を抽出するために、第１のパターン配列（コーンマスクも配置情報として参照）を用いて得られる信頼度距離であり、信頼度距離d2は第１のパターン配列をは異なる後述する第２のパターン配列を用いて得られる信頼度距離である。第１のパターン配列は、通常付加情報「Inf」（スタートビットInf1，利用情報Inf2）を埋め込む際に用いた図９のパターン配列である。
【０４５４】
なお第２のパターン配列、信頼性指標Ｄ等についての詳細は後述する。
【０４５５】
＜３―８―１  第２のパターン配列による抽出処理＞
≪ 中心極限定理 ≫
部分集合Ａ，Ｂは夫々Ａ＝{a1,a2,...,aN}、Ｂ＝{b1,b2,...,bN}で表されるＮ個の要素からなる集合で、夫々図３０に示される様な部分集合Ａと部分集合Ｂの要素の持つ画素値とする。
【０４５６】
信頼度距離d（Σ(ai-bi) / Ｎ）は,Ｎが十分大きな値を取り、画素値aiとbiには相関がない場合は、信頼度距離dの期待値は０になる。また中心極限定理より信頼度距離dの分布は独立な正規分布をとる。
【０４５７】
ここで中心極限定理について簡単に説明する。
【０４５８】
平均値mc、標準偏差σcの母集団（正規分布でなくても良い）から大きさncの任意標本を抽出した時、標本平均値Scの分布はncが大きくなるにつれて正規分布N(mc,(σc/√nc)^2)に近づくことを示す定理である。
【０４５９】
一般には母集団の標準偏差σcは不明なことが多いが、サンプル数ncが十分大きく、母集団の数Ncがサンプル数ncに比べて更に十分大きいときは標本の標準偏差scをσcの代わりに用いても実用上ほとんど差し支えない。
【０４６０】
本実施の形態例に戻って説明する。まず利用情報抽出手段２００４で求められた信頼度距離d1の出現頻度分布は、利用情報Inf2を正しく抽出できたか否かで大きく異なる。
【０４６１】
例えば、スタートビットInf1の検出に誤りがあった場合（オフセット合わせに失敗した場合等）には、利用情報Inf2が埋め込まれているはずの位置には実際にはビット情報が埋め込まれていないので、信頼度距離d1の出現頻度分布は図２５の正規分布２５０１の様になる。
【０４６２】
一方、正しく抽出できている場合には、利用情報Inf2を構成するビット情報“１”に対応する各信頼度距離d1が正規分布２５０２の位置に累積され、利用情報Inf2を構成するビット情報“０”に対応する各信頼度距離d1が正規分布２５０３の位置に累積される。よって、この場合には２つの“山”が現れる。この２つの“山”の大きさの比は、利用情報Inf2を構成するビット情報“１”と“０”の比とほぼ等しい。
【０４６３】
ただし、これは付加情報が埋め込まれていない元の画像に対して第１のパターン配列で畳み込み処理を行って得られる信頼度距離d1が、正規分布２５０１の様になることを前提としたものである。
【０４６４】
従って、現実的には、元の画像の状態を知らない限り、正しく抽出できているか否かの判断を行なうことは出来ない。
【０４６５】
よって本実施の形態例では付加情報が埋め込まれていても元の画像の状態を十分判別できる、いわゆる第２のパターン配列を用いて、信頼度距離d2の正規分布を生成し、この正規分布を２５０１として考えることによって、利用情報Inf2が正しく抽出できているか否かの判断を行なう。
【０４６６】
例えば、信頼度距離d2で作成した正規分布２５０１を構成する斜線部分（中心から９５％までの構成要素）より外側に信頼度距離d1の出現頻度分布が存在すれば、対象となっている画像に統計的偏りが存在し、利用情報Inf2が埋め込まれていると考えることができ、利用情報Inf2の確からしさを統計的に判断することができる。この詳しい方法については後述する。
【０４６７】
次に、付加情報「Inf」（利用情報Inf2）が埋め込まれている画像データを用いて、付加情報「Inf」が埋め込まれる前の信頼度距離d1の出現頻度分布に類似するもの（図２５の様な正規分布２５０１）を生成する方法を説明する。
【０４６８】
本実施の形態例では、第２のパターン配列による抽出手段２００５を用いて、正規分布２５０１に類似する分布を構成する信頼度距離d2を求める。
【０４６９】
第２のパターン配列による抽出手段２００５は、利用情報抽出手段２００４に用いた第１のパターン配列と“直交する”第２のパターン配列を用いて、信頼度距離d2を求める手段であり、畳み込み処理を行なう点等、利用情報抽出手段２００４と動作自体はほぼ同じである。
【０４７０】
なお、対比説明の為、利用情報抽出装置２００４で用いた図９のパターン配列、及びこのパターン配列を配置する位置を参照する為のマスク（コーンマスク）を、夫々「第１のパターン配列」、及び「第１の位置参照マスク」と呼び、第１のパターン配列に“直交する”パターン配列、及びこのパターン配列を配置する位置を参照する為のマスクを、夫々「第２のパターン配列」、及び「第２の位置参照マスク」と呼ぶ。
【０４７１】
第２のパターン配列による抽出手段２００５に、まず、オフセット合わせ手段２００３から埋め込み開始座標を入力し、上述した図６の信頼度距離演算を用いて信頼度距離d2の計算も行なう。
【０４７２】
この時、図６の信頼度距離演算で用いるパターン配列は埋め込みに用いた図９のパターン配列０９０１ではなく、このパターン配列０９０１に“直交する”パターン配列３３０１或いは３３０２を用いる。
【０４７３】
この理由は、図３３のパターン配列３３０１及び３３０２を用いて計算される信頼度距離d2には、付加情報「Inf」の埋め込みに用いた図９のパターン配列０９０１で操作した影響がまったく反映されない為である。
【０４７４】
図３４に示す様に、図９のパターン配列０９０１とこれにこれに“直交する”上記パターン配列３３０１とを畳み込み処理した結果は０である。これはパターン配列３３０２についても同様である。即ち、第１、第２のパターン配列の畳み込み結果は０である。従って、元の画像の濃度が第１のパターン配列を用いて変更されていたとしても、第２のパターン配列を用いて畳み込み処理を行って得られる信頼度距離dにはまったく影響が無い。
【０４７５】
よって、付加情報「Inf」が埋め込まれている画像に対して上記第２のパターン配列を用いた畳み込み処理を施して得られる信頼度距離d2の出現頻度分布は、図２５の正規分布２５０１とほぼ同様のものになる。従って上記出現頻度分布を正規分布２５０１とみなす。
【０４７６】
ここで得られる正規分布２５０１は、図３２の３２０７の統計検定処理に必要な判断基準となる。
【０４７７】
第２のパターン配列による抽出処理２００５は、上述の様に図３３の３３０１、３３０２の様な「第１のパターンとは“直交する”パターン配列」と、図３５の３５０２に示す第２の位置参照マスクを用いて、信頼度距離d2の正規分布を生成する。
【０４７８】
なお、上記「第１のパターンとは直交するパターン配列」の条件を以下に示すと、
（１）図３３に示す様に、図９の０９０１と同じサイズであること。
（２）パターン配列３３０１、３３０２の様に、付加情報「Inf」の埋め込み時に用いた図９のパターン配列０９０１との畳み込み処理の結果が０になることである。
【０４７９】
また、図３４に示す畳み込み処理は、図２１及び図２２に示される畳み込み処理と同じである。
【０４８０】
本実施の形態例では、畳み込みの結果が０になることを、ベクトルの内積が直交する場合に０になっていることになぞらえ、「互いのパターン配列が“直交している”」と呼ぶ。従って図３３の３３０１、３３０２は「図９のパターン配列０９０１に“直交する”パターン配列」である。
【０４８１】
付加情報「Inf」の埋め込み時に用いたパターン配列に“直交する”パターン配列を信頼度距離d2の計算に用いる理由は、信頼度距離d2の分布に統計的な偏りを存在させない、即ち０が中心の出現頻度分布を生成する為である。
【０４８２】
また、「第１のパターンとは“直交する”パターン配列」は、
（３）利用情報抽出処理２００４に用いたパターン配列の非零の要素と等しい数の非零の要素を持ち、正と負の要素の数が夫々等しいこと
も必要な条件である。これは同一の演算条件で、信頼度距離d1と信頼度距離d2が抽出される様にする為である。
【０４８３】
次に、本実施の形態例では「第２の位置参照マスク」は、付加情報「Inf」の埋め込み時に用いた３５０１とは別のパターンを有し、かつ３５０１とは異なるサイズの、図３５の３５０２に示される参照マスクを用いる。
【０４８４】
以上、上記第１と第２のパターン配列が異なっていれば信頼度距離d2の出現頻度分布はほぼ正規分布２５０１となる。しかしながら、スタートビットの検出位置が完全でない場合等には、第２のパターン配列を用いて畳み込みを行ったにも拘わらず統計的な偏りが検出されてしまう可能性も有る。
【０４８５】
本実施の形態例ではこの可能性も考慮して、第１と第２の位置参照マスクの大きさを異ならせることで、周期的な要素を打ち消す様にする。或いはマスク内の各パターン配列の配置方法を異ならせることで、同一領域での畳み込みを行なわない様にする。
【０４８６】
また、この場合には「第２の位置参照マスク」は、これを構成する各係数がランダムに分布していれば良く、コーンマスクでなくとも構わない。
【０４８７】
もし「第２の埋め込み位置参照マスク」が、「第１の埋め込み位置参照マスク」と異なる様に設定する場合には、「第２の埋め込み位置参照マスク」は図２０の埋め込み位置決定手段２００８で作成することとする。
【０４８８】
一般的には、上述した切り抜き耐性を考慮して、第１の位置参照マスク（コーンマスク）は、付加情報「Inf」の埋め込み対象となる画像データ全体に対してそれほど大きなサイズを取ることは考えられない。よって、「第２の位置参照マスク」は比較的大きなものを用いると良い。本実施の形態例では、付加情報「Inf」を埋め込む時に参照する第１のマスクよりも、付加情報「Inf」側で信頼度距離d1を計算する際に用いる第２のマスクのサイズが大きくなる様に設定することとする。
【０４８９】
しかしながら本発明はこれに限らず、互いのマスクサイズが等しくてもある程度の効果を奏する。従って、「第２の位置参照マスク」は図２０の埋め込み位置決定手段２００２で作成されるものでも良い。
【０４９０】
互いのマスクの最低限の条件としては、互いのマスクに適用される付加情報「Inf」を構成する各ビットの繰り返し数が、同一サイズの画像領域内で等しいことが必要である。
【０４９１】
なお、第２のパターン配列による抽出処理で十分な結果が得られない場合は、上述した条件を備える別の第２のパターン配列や第２の位置参照マスクを用いて、再度信頼度距離d2を計算することにより、理想的な出現頻度分布である図２５の２５０１を生成できる可能性も有る。
【０４９２】
次に第２のパターン配列による抽出手段２００５の具体的な操作を示す。
【０４９３】
本実施の形態例では、第１の位置参照マスクが３２×３２のコーンマスクで、第２の位置参照マスクが６４×６４のコーンマスクとし、２つのマスクにおいて、各係数の相対的な配列はまったく異なっているとする。
【０４９４】
まず、第２のパターン配列による抽出手段２００５では、抽出位置の決定は以下の表３に従って行なうこととする。
【０４９５】
［表３］
各ビット情報の順序             | 1 | 2 | 3 | 4 |..|  69   |
-------------------------------|---|---|---|---|--|-------|
第２の位置参照マスク内の係数値 |0,1|2,3|4,5|6,7|..|136,137|
第２の位置参照マスクでは、同じ値の係数がマスク内に各１６個存在する。一方、３２×３２の第１の位置参照マスクは、先の対応表２でマスクの参照を行っている場合、３２×３２の中で同一係数の繰り返し数は４個である。即ち、同一サイズの画像データにおいては、第１の位置参照マスクも第２の位置参照マスクも同じ値の係数は同数存在する。
【０４９６】
本実施の形態例では、上記対応表３の規則に従った位置関係に第２のパターン配列を割り当て、順次畳み込み処理を行ない、各ビット情報に対応する６９個の信頼度距離d2を算出する。
【０４９７】
＜３―８―２  信頼性指標Ｄ＞
第２のパターン配列による抽出手段２００５にて生成される信頼度距離d2は、ほぼ正規分布２５０１と同一の分布で出現するが、正規分布においては、一般的に以下の式(２５.１)の範囲で９５％のサンプル（信頼度距離d2）が出現することが知られている。
m-1.96σ ＜ d2 ＜ m＋1.96σ       …  式(２５.１)
ここで、σは上記信頼度距離d2についての標準偏差であり、mは平均である。なお上記場合の範囲のことを“９５％の信頼区間”と呼ぶ。
【０４９８】
m-1.96σ , m＋1.96σ は、第２のパターン配列による抽出手段２００５で信頼度距離d2が得られた後、これを用いて計算される。
【０４９９】
利用情報抽出手段２００４から統計検定手段２００６に入力される信頼度距離d1の出現頻度分布は、ビット情報が“１”の場合は図２５の正規分布２５０２になり、ビット情報が“０”の場合は正規分布２５０３になるので、利用情報Inf2に対応する信頼度距離d1は、第２のパターン配列による抽出手段２００５で求められる９５％の信頼区間（図２５の斜線部分）の外に存在する確率が非常に高い。
【０５００】
ところで、オフセット合わせ手段２００３の処理時点で、この処理の対象となる画像に利用情報Inf2が存在しない場合には、信頼度距離d1の出現頻度分布も正規分布２５０１の様になる。
【０５０１】
付加情報「Inf」2が画像に埋め込まれているにも関わらず、利用情報Inf2に対応する６４個の信頼度距離d1の全てが式(２５.１)の信頼区間に含まれない確率は、(１−０．９５)の６４乗と非常に小さい。
【０５０２】
従って、信頼度距離d2に基づいて正規分布２５０１を求めておけば、この正規分布の大半を占める範囲に、信頼度距離d1に基づいて求められた出現頻度分布が含まれるか否かを考えることにより、付加情報「Inf」（利用情報Inf2）が埋め込まれているか否かをほぼ確実に判断できる。
【０５０３】
統計検定手段２００６では、上述した様な性質を用いて付加情報「Inf」（利用情報Inf2）が埋め込まれていることの信頼度を判断する。
【０５０４】
本実施の形態例では、利用情報Infが埋め込まれていることの信頼度を、信頼性指標Ｄとして扱う。この信頼性指標Ｄは、利用情報抽出手段２００４で生成する全ての信頼度距離d1における、式(２５.１)の範囲の外に存在する信頼度距離d1の個数の割合で定義される。
【０５０５】
統計検定手段２００６は、この信頼性指標Ｄが閾値Ｔｈより大きければ、信頼度距離d1の総合的な出現頻度分布は図２５の２５０２や２５０３の様な位置に人為的に偏らされているもの、即ち利用情報Inf2が確実に埋め込まれている画像であると判断する。
【０５０６】
従って、ここでの判定に使用された信頼度距離d1自体が、信頼性の有る情報であると考え、この信頼度距離d1を更に後段の比較手段２００７へ転送することを許可する。
【０５０７】
なお、信頼性指標Ｄは、図３２の信頼性表示ステップ３２１０に示される様に、利用情報Inf2の信頼性指標Ｄ、或いは指標Ｄに基づくメッセージをモニタ等に表示しても良い。例えば、信頼性指標Ｄが閾値Ｔｈより大きくない場合は、「利用情報Inf2は正確に抽出できていません」との趣旨のメッセージを表示させ、図３２の統計検定ステップ３２０７から画像を再度入力するステップ３２０２に戻る。
【０５０８】
＜３−９  比較処理の説明＞
図２０の比較手段２００７は、利用情報抽出手段２００４と統計検定手段２００６とを経て出力された信頼度距離d1の値を入力する。ここに入力される信頼度距離d1は信頼性の高い情報であるので、ここでは信頼度距離d1に対応する各ビット情報が“１”と“０”のいずれであるかを単純に判定するだけで良い。
【０５０９】
具体的には、利用情報Inf2を構成するあるビット情報の信頼度距離d1が正であれば、このビット情報が“１”であると判定し、信頼度距離d1が負の場合はこのビット情報が“０”であると判定する。
【０５１０】
上記判定により得られた利用情報Inf2は、ユーザの参照情報、或いは制御信号にする為の最終的なデータとして出力される。
【０５１１】
以上で、付加情報の埋め込みから抽出までの一連の処理の説明を終わる。
＜第１の実施の形態例の変形例＞
上述した第１の実施の形態例において、付加情報「Inf」（利用情報Inf2）には誤り訂正符号化されたものを用いることも可能であり、そうする事によって、更に抽出された利用情報Inf2の信頼性が向上する。
【０５１２】
また、本発明は図４９に示される２つのパターン配列から、入力画像データの解像度或いはプリンタの出力（印刷）解像度に最適なものを選択する場合に限らない。即ち、ｍ×ｎ（ｍ、ｎは整数）個の要素から成る、互いにサイズの異なるパターン配列を２つ以上有し、入力画像データの解像度或いはプリンタの出力（印刷）解像度に最適な１つを選択して使用する様にする場合であれば本発明の範疇に含まれる。
【０５１３】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムの１部として適用しても、１つの機器（例えば複写機、ファクシミリ装置）からなるものの１部に適用してもよい。
【０５１４】
また、本発明は上記実施の形態例を実現する為の装置及び方法のみに限定されるものではなく、上記システム又は装置内のコンピュータ（CPUあるいはMPU）に、上記実施の形態例を実現する為のソフトウエアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態例を実現する場合も本発明の範疇に含まれる。
【０５１５】
またこの場合、前記ソフトウエアのプログラムコード自体が上記実施の形態例の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【０５１６】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【０５１７】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態例の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態例が実現される場合にも係るプログラムコードは本発明の範疇に含まれる。
【０５１８】
更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部又は全部を行ない、その処理によって上記実施の形態例が実現される場合も本発明の範疇に含まれる。
【０５１９】
なお、上記実施の形態例ではコーンマスクを用いて電子透かし情報を埋め込む場合について説明したが、本発明はこれに限らない。特にブルーノイズマスクを用いて電子透かし情報を埋め込む場合も本発明の範疇に含まれる。
【０５２０】
また、上述した種々の特徴点の少なくとも１つを含む構成であれば本発明の範疇に含まれる。
【０５２１】
【発明の効果】
以上説明した様に本発明によれば、幾何変換を補正するレジストレーション処理において、従来と比較して、レジストレーション信号の検出を容易にし、かつ人間の目に見え難いようにレジストレーション信号を埋め込むことが可能となる。
【図面の簡単な説明】
【図１】本発明に係る一発明の実施の形態例における電子透かし埋め込み装置の構成を示すブロック図である。
【図２】本実施の形態例における電子透かし抽出装置の構成を示すブロック図である。
【図３】本実施の形態例における印刷系処理において抽出側で生成された画像データの一例を示す図である。
【図４】本実施の形態例におけるレジストレーション信号埋め込み手段０１０２の詳細構成を示すブロック図である。
【図５】本実施の形態例における自然画像の本来持つ信号に対して周波数領域の信号の水平垂直ナイキスト周波数成分にインパルス信号を加えた一例のレジストレーション信号を説明するための図である。
【図６】本実施の形態例における信頼度距離演算手段の詳細構成を示すブロック図である。
【図７】本実施の形態例におけるスケール合わせ手段の詳細構成を示すブロック図である。
【図８】本実施の形態例におけるレジストレーション信号の抽出を説明するための図である。
【図９】本実施の形態例における付加情報の埋め込み時及び抽出時に用いるパターン配列を示す図である。
【図１０】本実施の形態例における付加情報埋め込み手段のブロック図である。
【図１１】本実施の形態例における埋め込み位置決定手段の詳細構成を示すブロック図である。
【図１２】本実施の形態例におけるコーンマスク及びブルーノイズマスクの出現頻度分布を示す図である。
【図１３】人間の視覚の空間周波数特性を説明するための図である。
【図１４】ブルーノイズマスク、コーンマスクの空間周波数特性を説明するための図である。
【図１５】本実施の形態例における図１１に示すマスク作成手段で作成した位置参照マスクを説明するための図である。
【図１６】本実施の形態例における位置参照マスク内の埋め込み位置を示す概念図である。
【図１７】本実施の形態例における図１６のマスクに各パターン配列を展開する様子を示す図
【図１８】本実施の形態例における画像全体に付加情報「Inf」の最小埋め込み単位を繰り返し埋め込む操作を示す図である。
【図１９】本実施の形態例における付加情報「Inf」を埋め込む演算を説明する図である。
【図２０】本実施の形態例における付加情報抽出手段を説明する図である。
【図２１】本実施の形態例における付加情報「Inf」を抽出する様子を説明する図である。
【図２２】本実施の形態例における付加情報「Inf」が存在しないにも拘わらず、抽出しようとした様子を示す図である。
【図２３】本実施の形態例における原画像から信頼度距離dを抽出した場合の理想的な出現頻度分布を示す図である。
【図２４】本実施の形態例における電子透かしが埋め込まれた画像から信頼度距離dを抽出した場合を示す図である。
【図２５】本実施の形態例における第１の実施の形態例における信頼度距離d1,d2の出現頻度分布の例を説明する図である。
【図２６】本実施の形態例におけるレジストレーション信号の埋め込みと抽出の原理を説明する図である。
【図２７】本実施の形態例におけるオフセット合わせ手段における埋め込み先頭位置探索の概念を示す図である。
【図２８】本実施の形態例におけるオフセット合わせ処理を説明するフローチャートである。
【図２９】本実施の形態例の空間領域におけるレジストレーション信号埋め込み手段の詳細構成を示すブロック図である。
【図３０】パッチワーク法における二つの集合を説明する図ための図である。
【図３１】本実施の形態例における電子透かしの埋め込み処理の全体の流れを示すフローチャートである。
【図３２】本実施の形態例における電子透かし抽出装置の全体制御を説明するためのフローチャートである。
【図３３】図９のパターンに直交するパターン配列の例を示す図である。
【図３４】本実施の形態例における“直交する”パターン配列を説明する図である。
【図３５】本実施の形態例における第１、第２の位置参照マスクのを示した図である。
【図３６】本実施の形態例における付加情報「Inf」の構成を示す図である。
【図３７】本実施の形態例におけるブルーノイズマスク内の各係数の一例を示す図である。
【図３８】本実施の形態例におけるコーンマスク内の各係数の一例を示す図である。
【図３９】本実施の形態例における人間の視覚の色度空間数特性を示す図である。
【図４０】ＪＰＥＧ方式における最小符号化単位を示す図である。
【図４１】ＪＰＥＧ方式における輝度、色差成分のサンプリングを示す図である。
【図４２】本実施の形態例におけるパターン配列の正、負の操作部分（パッチ）を示す図である。
【図４３】本実施の形態例における面積階調で表現された階調と濃度階調で表現された階調の対応を説明する図である。
【図４４】本実施の形態例における階調変換処理の前後で階調情報が伝搬する原理を説明する図である。
【図４５】本実施の形態例における画像の解像度によるプリンタのハーフトーン処理の違いを説明する図である。
【図４６】本実施の形態例におけるパッチの埋め込みによるインクドットの変化を説明する図である。
【図４７】本実施の形態例におけるパッチの大きさと埋め込み深さによるドットの増加を説明する図である。
【図４８】本実施の形態例における画像の解像度の違いによるパターン配列単位の正のパッチと負のパッチの差を示す図である。
【図４９】本実施の形態例における画像の各解像度に対応する付加情報「Inf」を埋め込む為のパターン配列を示す図である。
【図５０】本実施の形態例におけるスケーリングによる振幅スペクトルのインパルス信号の移動を示す図である。
【図５１】本実施の形態例における回転による振幅スペクトルのインパルス信号の移動を示す図である。
【図５２】本実施の形態例におけるパターン配列と回転したパターン配列のパッチの重なる面積を示す図である。
【図５３】本実施の形態例における回転角ψと図５２の斜線部分の面積の関係を示す図である。
【図１】
0004218920.tif 000005
【図２】
0004218920.tif 000006
【図３】
0004218920.tif 000007
【図４】
0004218920.tif 000008
【図５】
0004218920.tif 000009
【図６】
0004218920.tif 000010
【図７】
0004218920.tif 000011
【図８】
0004218920.tif 000012
【図９】
0004218920.tif 000013
【図１０】
0004218920.tif 000014
【図１１】
0004218920.tif 000015
【図１２】
0004218920.tif 000016
【図１３】
0004218920.tif 000017
【図１４】
0004218920.tif 000018
【図１５】
0004218920.tif 000019
【図１６】
0004218920.tif 000020
【図１７】
0004218920.tif 000021
【図１８】
0004218920.tif 000022
【図１９】
0004218920.tif 000023
【図２０】
0004218920.tif 000024
【図２１】
0004218920.tif 000025
【図２２】
0004218920.tif 000026
【図２３】
0004218920.tif 000027
【図２４】
0004218920.tif 000028
【図２５】
0004218920.tif 000029
【図２６】
0004218920.tif 000030
【図２７】
0004218920.tif 000031
【図２８】
0004218920.tif 000032
【図２９】
0004218920.tif 000033
【図３０】
0004218920.tif 000034
【図３１】
0004218920.tif 000035
【図３２】
0004218920.tif 000036
【図３３】
0004218920.tif 000037
【図３４】
0004218920.tif 000038
【図３５】
0004218920.tif 000039
【図３６】
0004218920.tif 000040
【図３７】
0004218920.tif 000041
【図３８】
0004218920.tif 000042
【図３９】
0004218920.tif 000043
【図４０】
0004218920.tif 000044
【図４１】
0004218920.tif 000045
【図４２】
0004218920.tif 000046
【図４３】
0004218920.tif 000047
【図４４】
0004218920.tif 000048
【図４５】
0004218920.tif 000049
【図４６】
0004218920.tif 000050
【図４７】
0004218920.tif 000051
【図４８】
0004218920.tif 000052
【図４９】
0004218920.tif 000053
【図５０】
0004218920.tif 000054
【図５１】
0004218920.tif 000055
【図５２】
0004218920.tif 000056
【図５３】
0004218920.tif 000057