(57)【特許請求の範囲】
【請求項１】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項２】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギーの差の絶対値を求め、２種類の周波数のエネルギーの中で大きいほうのエネルギーを有する周波数を決定し、決定された周波数に対応する符号を求め、当該符号を前記差の絶対値に付した値を、前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項３】
前記ブロック毎検出手段は、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求め、前記透かし情報逆拡散手段は、当該検出値行列から前記検出値の列を得る請求項１又は２に記載の電子透かし検出装置。
【請求項４】
前記透かし情報逆拡散手段は、前記検出値の列を逆拡散して、電子透かしの有無を示す指標値と、逆拡散により得られる情報を取得し、電子透かしの有無を示す指標値が、予め定められた閾値より小さい場合は電子透かし検出不可能を出力し、閾値以上である場合は前記逆拡散により得られる情報を検出された前記電子透かし情報として出力する請求項１ないし３のうちいずれか１項に記載の電子透かし検出装置。
【請求項５】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項６】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギーの差の絶対値を求め、２種類の周波数のエネルギーの中で大きいほうのエネルギーを有する周波数を決定し、決定された周波数に対応する符号を求め、当該符号を前記差の絶対値に付した値を、前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項７】
前記ブロック毎検出ステップは、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求めるステップを有し、前記透かし情報逆拡散ステップは、当該検出値行列から前記検出値の列を得るステップを有する請求項５又は６に記載の電子透かし検出方法。
【請求項８】
前記透かし情報逆拡散ステップは、前記検出値の列を逆拡散して、電子透かしの有無を示す指標値と、逆拡散により得られる情報を取得し、電子透かしの有無を示す指標値が、予め定められた閾値より小さい場合は電子透かし検出不可能を出力し、閾値以上である場合は前記逆拡散により得られる情報を検出された前記電子透かし情報として出力するステップを有する請求項５ないし７のうちいずれか１項に記載の電子透かし検出方法。
【請求項９】
請求項５ないし８のうちいずれか１項に記載の電子透かし検出方法における各ステップをコンピュータに実行させるプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の分割領域に分割し、各分割領域において、当該分割領域の端から予め定めたサイズだけ内側にある領域からなる画素ブロックを取得するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項１２】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数の各周波数について、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、＋の符号に対応する周波数に対応する絶対値の加算値から−の符号に対応する周波数に対応する絶対値の加算値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項１３】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段とを有し、
前記ブロック毎検出手段は、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定する際に、前記複数の周波数の各周波数について、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、前記複数の周波数に対応する加算値の中で最大の加算値に対応する周波数を、前記最大のエネルギーを有する周波数として決定することを特徴とする電子透かし検出装置。
【請求項１４】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換手段と、
前記変換画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項１５】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換手段と、
前記変換画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数の各周波数について、前記変換画像のサイズに適し、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、＋の符号に対応する周波数に対応する絶対値の加算値から−の符号に対応する周波数に対応する絶対値の加算値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項１６】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像に対して低周波数成分を低減させる前処理フィルタ処理を施してフィルタ処理済み画像を得る前処理フィルタ処理手段と、
フィルタ処理済み画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、
前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項１７】
前記前処理フィルタ処理を施す前に、入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換手段を有し、前記前処理フィルタ処理手段は、前記変換画像に対して前処理フィルタ処理を施してフィルタ処理済み画像を得る請求項１６に記載の電子透かし検出装置。
【請求項１８】
前記前処理フィルタ処理手段は、前記フィルタ処理済み画像の波形の振幅の大きさを予め定めた値以内とするクリップ処理を更に行う請求項１６又は１７に記載の電子透かし検出装置。
【請求項１９】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の分割領域に分割し、各分割領域において、当該分割領域の端から予め定めたサイズだけ内側にある領域からなる画素ブロックを取得するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項２０】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数の各周波数について、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、＋の符号に対応する周波数に対応する絶対値の加算値から−の符号に対応する周波数に対応する絶対値の加算値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項２１】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップとを有し、
前記ブロック毎検出ステップは、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定する際に、前記複数の周波数の各周波数について、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、前記複数の周波数に対応する加算値の中で最大の加算値に対応する周波数を、前記最大のエネルギーを有する周波数として決定するステップを有することを特徴とする電子透かし検出方法。
【請求項２２】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換ステップと、
前記変換画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項２３】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換ステップと、
前記変換画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数の各周波数について、前記変換画像のサイズに適し、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、＋の符号に対応する周波数に対応する絶対値の加算値から−の符号に対応する周波数に対応する絶対値の加算値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項２４】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像に対して低周波数成分を低減させる前処理フィルタ処理を施してフィルタ処理済み画像を得る前処理フィルタ処理ステップと、
フィルタ処理済み画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出ステップと、
前記ブロック毎検出ステップを繰り返すことにより得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項２５】
前記前処理フィルタ処理を施す前に、入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換ステップを更に有し、前記前処理フィルタ処理ステップにおいて、前記変換画像に対して前処理フィルタ処理を施してフィルタ処理済み画像を得る請求項２４に記載の電子透かし検出方法。
【請求項２６】
前記前処理フィルタ処理ステップは、前記フィルタ処理済み画像の波形の振幅の大きさを予め定めた値以内とするクリップ処理ステップを含む請求項２４又は２５に記載の電子透かし検出方法。
【請求項２７】
請求項１９ないし２６のうちいずれか１項に記載の電子透かし検出方法における各ステップをコンピュータに実行させるプログラム。
【請求項２８】
請求項２７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２９】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求めるブロック毎検出手段と、
前記検出値行列の要素の並びを０度、９０度、１８０度、２７０度回転して得られる４つの行列を生成し、９０度、２７０度回転して得られた各行列の全要素値の符号を反転し、４つの行列から各々得られる検出値の列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項３０】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像を複数の画素ブロックに分割するブロック分割手段と、
一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求めるブロック毎検出手段と、
前記検出値行列の要素の並びを０度、９０度、１８０度、２７０度回転して得られる４つの行列を生成し、９０度、２７０度回転して得られた各行列の全要素値の符号を反転し、４つの行列から各々得られる検出値の列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項３１】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像に対し、＋の符号及び−の符号に対応付けられた２種類の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成手段と、
予め定められた探索範囲内の一の座標を設定する探索位置設定手段と、
前記一の座標をブロック切り出し位置とみなしたブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出手段と、
前記探索位置設定手段により設定された前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出手段によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出手段と、
前記ブロック切り出し位置で示される座標に基づき、入力された画像を複数の画素ブロックに分割し、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求める検出値行列構成手段と、
前記検出値行列から得られた検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項３２】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、
入力された画像に対し、予め定められた複数の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成手段と、
予め定められた探索範囲内の一の座標を設定する探索位置設定手段と、
前記一の座標をブロック切り出し位置とみなしたブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出手段と、
前記探索位置設定手段により設定された前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出手段によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出手段と、
前記ブロック切り出し位置で示される座標に基づき、入力された画像を複数の画素ブロックに分割し、一の画素ブロックについて、予め定められた前記複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求める検出値行列構成手段と、
前記検出値行列から得られた検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段と
を有することを特徴とする電子透かし検出装置。
【請求項３３】
入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換手段と、
前記変換画像に対して低周波数成分を低減させる前処理フィルタ処理を施してフィルタ処理済み画像を得る前処理フィルタ処理手段とを有し、前記各周波数毎フィルタ処理済み画像群生成手段は当該フィルタ処理済み画像を入力とする請求項２９ないし３２のうちいずれか１項に記載の電子透かし検出装置。
【請求項３４】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求めるブロック毎検出ステップと、
前記検出値行列の要素の並びを０度、９０度、１８０度、２７０度回転して得られる４つの行列を生成し、９０度、２７０度回転して得られた各行列の全要素値の符号を反転し、４つの行列から各々得られる検出値の列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項３５】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像を複数の画素ブロックに分割するブロック分割ステップと、
一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求めるブロック毎検出ステップと、
前記検出値行列の要素の並びを０度、９０度、１８０度、２７０度回転して得られる４つの行列を生成し、９０度、２７０度回転して得られた各行列の全要素値の符号を反転し、４つの行列から各々得られる検出値の列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項３６】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像に対し、＋の符号及び−の符号に対応付けられた２種類の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成ステップと、
予め定められた探索範囲内の一の座標を設定する探索位置設定ステップと、
前記一の座標をブロック切り出し位置とみなしたブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出ステップと、
前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出ステップの処理によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出ステップと、
前記ブロック切り出し位置で示される座標に基づき、入力された画像を複数の画素ブロックに分割し、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求める検出値行列構成ステップと、
前記検出値行列から得られた検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項３７】
ある周波数に対応する波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置における電子透かし検出方法であって、
入力された画像に対し、予め定められた複数の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成ステップと、
予め定められた探索範囲内の一の座標を設定する探索位置設定ステップと、
前記一の座標をブロック切り出し位置とみなしたブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出ステップと、
前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出ステップの処理によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出ステップと、
前記ブロック切り出し位置で示される座標に基づき、入力された画像を複数の画素ブロックに分割し、一の画素ブロックについて、予め定められた前記複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求める検出値行列構成ステップと、
前記検出値行列から得られた検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散ステップと
を有することを特徴とする電子透かし検出方法。
【請求項３８】
入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換ステップと、
前記変換画像に対して低周波数成分を低減させる前処理フィルタ処理を施してフィルタ処理済み画像を得る前処理フィルタ処理ステップとを有し、前記各周波数毎フィルタ処理済み画像群生成ステップにおいて、当該フィルタ処理済み画像を入力とする請求項３４ないし３７のうちいずれか１項に記載の電子透かし検出方法。
【請求項３９】
請求項３４ないし３８のうちいずれか１項に記載の電子透かし検出方法における各ステップをコンピュータに実行させるプログラム。
【請求項４０】
請求項３９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、画像や映像などのコンテンツに、別の副情報を人間に知覚されないように埋め込み、またこの副情報を読み取る技術である電子透かし技術に関するものである。今日、電子透かし技術は、コンテンツの著作権保護・管理システムや、コンテンツに関するサービス提供システムなどに用いられている。
【背景技術】
【０００２】  画像、映像や音声といったコンテンツの流通の際、コンテンツ識別・管理や著作権保護・管理、関連情報提供などの目的のため、コンテンツ内に知覚できないように別の情報を埋め込む電子透かし技術を用いる方法がある。特に、印刷物などをスキャナやカメラ入力し、入力画像から電子透かしを検出して関連情報を提供するような利用の方法（非特許文献１など参照）の場合、携帯電話など計算機リソースが乏しい端末内で電子透かしを検出するためには、高速に処理可能な検出方法が必要である。【０００３】  また、枠線などを用いて撮影角度による幾何変換の補正を行ったり、レンズ歪みなどを事前に求めた歪み係数を用いて補正（非特許文献１など参照）しても、補正の精度により若干の誤差を生じ得るため、電子透かし検出対象画像に若干の幾何歪みは残ってしまう。従来、このような幾何歪みに対する耐性を持つ電子透かし技術としては特許文献１に記載された方法がある。【０００４】  しかしながら、従来の技術においては、若干の幾何歪みを許容しつつ、端末内で高速に検出処理可能な電子透かし埋め込み方法及び検出方法がなかった。
【非特許文献１】中村、片山、宮地、山下、山室：「カメラ付き携帯電話機を用いたサービス仲介のための電子透かし検出方式」、情報科学技術フォーラムＦＩＴ２００３、Ｎ−０２０、２００３年９月
【特許文献１】特開２０００−２８７０７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】  本発明は上記の点に鑑みてなされたものであり、従来の技術では不可能であった、若干の幾何歪みに対して耐性を持ち、なおかつ携帯電話機など計算機リソースの限られた環境でも電子透かしを高速に検出することを可能とする、電子透かし埋め込み技術及び電子透かし検出技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】  上記の課題は、入力された画像を複数の画素ブロックに分割するブロック分割手段と、入力された電子透かし情報を拡散することにより、分割された画素ブロック数に対応する長さの埋め込み系列を取得する電子透かし情報拡散手段と、一の画素ブロックの前記画像における位置に対応する埋め込み系列の項値に応じて、予め定めた複数の周波数から少なくとも１つの周波数を選択し、選択された周波数に対応する波形パターンの振幅を埋め込み強度値で増幅し、振幅を増幅した波形パターンを前記一の画素ブロックに重畳するブロック毎埋め込み手段と、前記ブロック毎埋め込み手段により各画素ブロックに対して波形パターンが重畳された画像を出力する画像出力手段とを備えた電子透かし埋め込み装置により解決できる。【０００７】  本発明によれば、電子透かし情報が原画像に対して画素ブロック毎に特定の周波数波形パターンとして重畳された電子透かし埋め込み画像を得ることができる。このような電子透かし埋め込み画像においては、電子透かし情報検出の際に画素ブロックの切り出し位置が若干ずれても周波数エネルギーの大きさの検出は安定して行うことができるため、若干の幾何歪みに対して耐性を持った高速な検出処理を可能ならしめる。【０００８】  前記電子透かし埋め込み装置における前記ブロック毎埋め込み手段は、前記埋め込み系列の項値を量子化し、その量子化した値に応じて前記少なくとも１つの周波数を選択するように構成することができる。【０００９】  また、前記ブロック毎埋め込み手段は、前記埋め込み系列の項値の符号に応じて前記少なくとも１つの周波数を選択し、選択された周波数に対応する前記波形パターンの振幅を、前記埋め込み強度値での増幅に加えて、前記埋め込み系列の項値の絶対値を用いて増幅し、振幅を増幅した波形パターンを前記一の画素ブロックに重畳するように構成してもよい。このようにして波形パターンを重畳して得た電子透かし埋め込み済み画像においては、電子透かし検出時の検出性能の向上を図ることができる。【００１０】  また、上記の課題は、波形パターンを画素ブロック毎に重畳した画像を複数の画素ブロックに分割するブロック分割手段と、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギーの中で大きいほうのエネルギーを有する周波数を決定し、決定された周波数に対応する符号を求め、その符号に応じた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段とを有する電子透かし検出装置によっても解決できる。【００１１】  波形パターンが重畳された電子透かし埋め込み済み画像においては、電子透かし情報検出の際に画素ブロックの切り出し位置が若干ずれても周波数エネルギーの大きさの検出は安定して行うことができるため、本発明によれば、若干の幾何歪みに対して耐性を持った検出処理を可能とする電子透かし検出装置を実現できる。さらに、各画素ブロックから検出情報を決定する際には、画素ブロック全体を周波数変換する必要がなく、特定の周波数のエネルギーを計算するのみであるため、高速に検出処理可能である。【００１２】  前記ブロック毎検出手段は、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求め、前記透かし情報逆拡散手段は、当該検出値行列から前記検出値の列を得るようにしてもよい。【００１３】  また、前記ブロック毎検出手段は、前記一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるように構成してもよい。【００１４】  また、前記ブロック毎検出手段は、前記一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギーの差の絶対値を求め、２種類の周波数のエネルギーの中で大きいほうのエネルギーを有する周波数を決定し、決定された周波数に対応する符号を求め、当該符号を前記差の絶対値に付した値を、前記一の画素ブロックに対応する検出値として求めるように構成してもよい。【００１５】  更に、前記ブロック毎検出手段は、前記一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求めるように構成してもよい。【００１６】  また、前記透かし情報逆拡散手段は、前記検出値の列を逆拡散して、電子透かしの有無を示す指標値と、逆拡散により得られる情報を取得し、電子透かしの有無を示す指標値が、予め定められた閾値より小さい場合は電子透かし検出不可能を出力し、閾値以上である場合は前記逆拡散により得られる情報を検出された前記電子透かし情報として出力するように構成してもよい。ここで、電子透かし有無指標値は、例えば逆拡散演算中の各ビットに対応する相関値の絶対値和である。【００１７】  このような透かし情報逆拡散手段による処理を行うことにより、検出に成功した場合の検出電子透かし情報の信頼度を向上し、検出不可能な場合は、誤った情報を正しく検出したものとして出力することなく、確実に検出不可能と出力することが可能となる。【００１８】  また、上記の課題は、波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、入力された画像を複数の分割領域に分割し、各分割領域において、当該分割領域の端から予め定めたサイズだけ内側にある領域からなる画素ブロックを取得するブロック分割手段と、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡���手段とを有することを特徴とする電子透かし検出装置により解決できる。【００１９】  波形パターンが重畳された電子透かし埋め込み済み画像においては、電子透かし情報検出の際に画素ブロックの切り出し位置が若干ずれても周波数エネルギーの大きさの検出は安定して行うことができるため、本発明によれば、若干の幾何歪みに対して耐性を持った検出処理を可能とする電子透かし検出装置を実現できる。さらに、各画素ブロックから検出情報を決定する際には、画素ブロック全体を周波数変換する必要がなく、特定の周波数のエネルギーを計算するのみであるため、高速に検出処理可能である。また、分割領域の端から予め定めたサイズだけ内側にある領域からなる画素ブロックを取得することとしたので、画素ブロックの切り出し位置が若干ずれても、画素ブロックがもともとの画素ブロックの境界をまたぐ確率が低くなり、別の周波数パターンが重畳された画素を含まなくなるため、若干の幾何歪みに対して更に耐性が強くなる。【００２０】  上記の電子透かし検出装置は、入力された画像を複数の画素ブロックに分割するブロック分割手段と、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数の各周波数について、周波数に対応した方向性畳み込みオペレータを前記一の画素ブロックにおける各画素に適用し、得られた値の絶対値の加算値を求め、＋の符号に対応する周波数に対応する絶対値の加算値から−の符号に対応する周波数に対応する絶対値の加算値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、ブロック毎検出手段と、前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段とを有して構成することもできる。【００２１】  上記のように、畳み込みオペレータを用いた演算によりエネルギー値を決定することにより、周波数のエネルギーを定義式どおりに求める場合に比べて、計算量を低減でき、より高速な検出処理が可能となる。【００２２】  上記の電子透かし検出装置に、入力された画像を予め定めたサイズの画像に変換し変換画像を得る画像サイズ変換手段を備え、変換画像を複数の画素ブロックに分割するようにしてもよい。【００２３】  画像サイズ変換処理によって、入力画像が大きければ大きいほど計算量が軽減され、より高速に検出処理を実現できる。また、周波数エネルギーを求めるのに畳み込み演算を用いる場合、画像サイズを変換（正規化）することによって周波数パターンの波長が確定するので、正規化後の波長を考慮したオペレータを使用でき、より高精度に周波数エネルギーを計測することができるため、より耐性が向上する。【００２４】  また、本発明の電子透かし検出装置は、入力された画像に対して低周波数成分を低減させる前処理フィルタ処理を施してフィルタ処理済み画像を得る前処理フィルタ処理手段と、フィルタ処理済み画像を複数の画素ブロックに分割するブロック分割手段と、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値���ら−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求めるブロック毎検出手段と、前記ブロック毎検出手段により得られた前記複数の画素ブロックに対応する検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段とを有するように構成することもできる。【００２５】  このように低周波数成分を低減させる前処理フィルタ処理を施すことにより、周波数パターンに対する原画像データの絵柄の影響を軽減でき、電子透かしを信号、原画像を雑音とみなした時のＳ／Ｎ比を向上することができる。従って、より耐性を向上させた検出を実現することができる。【００２６】  なお、上記の電子透かし検出装置におけるブロック毎検出手段は、一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求める手段としてもよい。【００２７】  また、上記の課題は、波形パターンを画素ブロック毎に重畳した画像から電子透かし情報を検出する電子透かし検出装置であって、入力された画像を複数の画素ブロックに分割するブロック分割手段と、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求めるブロック毎検出手段と、前記検出値行列の要素の並びを０度、９０度、１８０度、２７０度回転して得られる４つの行列を生成し、９０度、２７０度回転して得られた各行列の全要素値の符号を反転し、４つの行列から各々得られる検出値の列を逆拡散して得られる情報群のうち、最も信頼度の高い情報を検出電子透かし情報として出力する透かし情報逆拡散手段とを有する電子透かし検出装置により解決できる。【００２８】  波形パターンが重畳された電子透かし埋め込み済み画像においては、電子透かし情報検出の際に画素ブロックの切り出し位置が若干ずれても周波数エネルギーの大きさの検出は安定して行うことができるため、本発明によれば、若干の幾何歪みに対して耐性を持った検出処理を可能とする電子透かし検出装置を実現できる。さらに、各画素ブロックから検出情報を決定する際には、画素ブロック全体を周波数変換する必要がなく、特定の周波数のエネルギーを計算するのみであるため、高速に検出処理可能である。更に本発明によれば、検出値行列の配置を９０度単位に回転させ、９０度、２７０度回転させた時には検出値の符号を反転させて得られる行列群を生成し、これらの各々に対して逆拡散処理を行い、最も信頼度の高い検出透かし情報を出力することとしたので、画像の９０度単位の回転に対応しつつ高速に処理可能な透かし検出を実現できる。【００２９】  また本発明の電子透かし検出装置は、入力された画像に対し、＋の符号及び−の符号に対応付けられた２種類の周波数に対応する各畳み込みオペレータによる畳み込み処理を施して、各周波数に対応したフィルタ処理済み画像群を得る各周波数毎フィルタ処理済み画像群生成手段と、予め定められた探索範囲内の一の座標を設定する探索位置設定手段と、前記一の座標をブロック切り出し位置とみなしたブロック分割を前記各周波数に対応したフィルタ処理済み画像群中の各画像に対して行い、各周波数に対応した各画像から、同じ一のブロック位置に対応する画素ブロック群を取得し、当該一のブロック位置に対する前記画素ブロック群の各画素ブロックについて、画素ブロック中の全画素の画素値の絶対値の和を求めて画素絶対値和群を取得し、画素絶対値和群の中で最大の値を最大絶対値和として求める処理を、全てのブロック位置に対して行って得られる最大絶対値和の総和をブロック切り出し位置応答値として出力するブロック切り出し位置応答値算出手段と、前記探索位置設定手段により設定された前記探索範囲の各座標に対して前記ブロック切り出し位置応答値算出手段によりブロック切り出し位置応答値を求め、各座標に対応するブロック切り出し位置応答値の中で最大のブロック切り出し位置応答値に対応する座標をブロック切り出し位置として検出するブロック切り出し位置検出手段と、前記ブロック切り出し位置で示される座標に基づき、入力された画像を複数の画素ブロックに分割し、一の画素ブロックについて、＋の符号及び−の符号に対応付けられた２種類の周波数のエネルギー値を求め、＋の符号に対応する周波数のエネルギー値から−の符号に対応する周波数のエネルギー値を減算して得られた値を前記一の画素ブロックに対応する検出値として求め、各画素ブロックに対応する検出値を、前記画像における前記複数の画素ブロックの配置と同様に要素が配置される行列における要素の値とすることにより検出値行列を求める検出値行列構成手段と、前記検出値行列から得られた検出値の列を逆拡散することにより、前記画像に埋め込まれた電子透かし情報を検出する透かし情報逆拡散手段とを備えた構成とすることもできる。【００３０】  本発明によれば、若干の幾何歪みが生じている検出対象画像からの検出の際、最も検出利得の高くなるブロック切り出し位置を効率的に探索するので、検出したブロック切り出し位置から検出値行列を生成して検出透かし情報を得ることにより、若干の幾何歪みに対してより耐性を向上させた透かし検出を実現できる。【００３１】  なお、周波数に対応した検出値を求めるに際し、一の画素ブロックについて、予め定められた複数の周波数の中で最大のエネルギーを有する周波数を決定し、決定された周波数に対応する値を、前記一の画素ブロックに対応する検出値として求めるようにしてもよい。
【発明の効果】
【００３２】  本発明によれば、若干の幾何歪みに対して耐性を持ち、なおかつ携帯電話機など計算機リソースの限られた環境でも電子透かしを高速に検出することを可能とする、電子透かし埋め込み技術及び電子透かし検出技術を提供することが可能となる。
【図面の簡単な説明】
【００３３】［図１］本発明の第１の実施例における電子透かし埋め込み装置１０の構成図である。
［図２］電子透かし埋め込み装置１０の処理の流れを示す図である。
［図３］ブロック分割部１２における処理の流れを示す図である。
［図４］ブロック分割部１２の処理を説明するための図である。
［図５］透かし情報拡散部１３の構成図である。
［図６］透かし情報拡散部１３の処理の流れを示す図である。
［図７］ブロック毎埋め込み部１４の構成図である。
［図８］ブロック毎埋め込み部１４の処理の流れを示す図である。
［図９］埋め込み項選定部１９の処理を説明するための図である。
［図１０］周波数選定部２０の構成図である。
［図１１］周波数選定部２０の処理の流れを示す図である。
［図１２］符号対応周波数データベース２４の内容を示す図である。
［図１３］周波数パターン重畳部２１の構成図である。
［図１４］周波数パターン重畳部２１の処理の流れを示す図である。
［図１５］波形パターン重畳部２６の処理を説明するための図である。
［図１６］原画像と電子透かし埋め込み済み画像のイメージを示す図である。
［図１７］本発明の第１の実施例における電子透かし検出装置３０の構成図である。
［図１８］電子透かし検出装置３０の処理の流れを示す図である。
［図１９］ブロック毎検出部３３の構成図である。
［図２０］ブロック毎検出部３３の処理の流れを示す図である。
［図２１］電子透かし検出対象画像とそれに対応する検出値行列の例を示す図である。
［図２２］透かし情報逆拡散部３４の構成図である。
［図２３］透かし情報逆拡散部３４の処理の流れを示す図である。
［図２４］一次元化処理部３８の処理を説明するための図である。
［図２５］本発明の第２の実施例における電子透かし埋め込み装置１０内のブロック毎埋め込み部５０の構成図である。
［図２６］ブロック毎埋め込み部５０の処理の流れを示す図である。
［図２７］周波数選定部５２の構成図である。
［図２８］周波数選定部５２の処理の流れを示す図である。
［図２９］周波数パターン重畳部５３の構成図である。
［図３０］周波数パターン重畳部５３の処理の流れを示す図である。
［図３１］波形パターン重畳部５８の処理を説明するための図である。
［図３２］本発明の第２の実施例における電子透かし検出装置３０におけるブロック毎検出部６０の構成図である。
［図３３］ブロック毎検出部６０の処理の流れを示す図である。
［図３４］電子透かし検出対象画像とそれに対応する検出値行列の例を示す図である。
［図３５］本発明の第３の実施例におけるブロック毎埋め込み部７０の構成図である。
［図３６］ブロック毎埋め込み部７０の処理の流れを示す図である。
［図３７］周波数選定部７２の構成図である。
［図３８］周波数選定部７２の処理の流れを示す図である。
［図３９］埋め込み系列項量子化部７４による処理を説明する図である。
［図４０］量子化値対応周波数データベース７６の内容を示す図である。
［図４１］本発明の第３の実施例におけるブロック毎検出部８０の構成図である。
［図４２］ブロック毎検出部８０の処理の流れを示す図である。
［図４３］本発明の第４の実施例におけるブロック毎検出部９０の構成図である。
［図４４］ブロック毎検出部９０の処理の流れを示す図である。
［図４５］ブロック毎検出部９０の処理の流れの他の例を示す図である。
［図４６］本発明の第５の実施例における電子透かし検出装置内のブロック分割部１００の構成図である。
［図４７］ブロック分割部１００の処理の流れを示す図である。
［図４８］ブロック分割部１００の処理を説明するための図である。
［図４９］第５の実施例の効果を説明するための図である。
［図５０］本発明の第６の実施例における電子透かし検出装置内のブロック毎検出部中の周波数対応検出値決定部１１０の構成図である。
［図５１］周波数対応検出値決定部１１０の処理の流れを示す図である。
［図５２］周波数対応検出値決定部１１０の処理を説明するための図である。
［図５３］本発明の第７の実施例における電子透かし検出装置３０の構成図である。
［図５４］本発明の第７の実施例における電子透かし検出装置３０の処理の流れを示す図である。
［図５５］第７の実施例の効果を説明するための図である。
［図５６］本発明の第８の実施例における電子透かし検出装置３０の構成図である。
［図５７］本発明の第８の実施例における電子透かし検出装置３０の処理の流れを示す図である。
［図５８］前処理フィルタ処理を説明するための図である。
［図５９］クリッピング処理を説明するための図である。
［図６０］本発明の第９の実施例における電子透かし検出装置内の透かし情報逆拡散部１３０の構成図である。
［図６１］透かし情報逆拡散部１３０の処理の流れを示す図である。
［図６２］９０度毎一次元化処理部１３１の処理を説明するための図（１）である。
［図６３］９０度毎一次元化処理部１３１の処理を説明するための図（２）である。
［図６４］本発明の第１０の実施例における電子透かし検出装置３０の構成図である。
［図６５］本発明の第１０の実施例における電子透かし検出装置３０の処理の流れを示す図である。
［図６６］検出値行列生成部１４０の構成図である。
［図６７］検出値行列生成部１４０の処理の流れを示す図である。
［図６８］各周波数に対応したフィルタ処理済み画像群生成部１４１の処理を説明するための図である。
［図６９］ブロック切り出し位置検出部１４２の構成の構成図である。
［図７０］ブロック切り出し位置検出部１４２の処理の流れを示す図である。
［図７１］探索位置情報について説明するための図である。
［図７２］ブロック切り出し位置応答値算出部１４６の構成図である。
［図７３］ブロック切り出し位置応答値算出部１４６の処理の流れを示す図である。
［図７４］ブロック分割部１５０の処理を説明するための図である。
［図７５］画素絶対値和計算部１５１の処理を説明するための図である。
［図７６］ブロック切り出し位置応答値算出部１４６の作用効果を説明するための図である。
［図７７］検出値行列構成部１４３の構成図である。
［図７８］検出値行列構成部１４３の処理の流れを示す図である。
［図７９］検出値行列構成部１４３の処理の流れを説明するための図である。
［図８０］本発明の第１１の実施例における電子透かし検出装置における透かし情報逆拡散部１６０の構成図である。
［図８１］透かし情報逆拡散部１６０の処理の流れを示す図である。
［図８２］第１１の実施例の効果を説明するための図である。
【符号の説明】
【００３４】１０  電子透かし埋め込み装置
１１、３１  画像入力部
１２、３２、１００、１５０、１５５  ブロック分割部
１３  透かし情報拡散部
１４、５０、７０  ブロック毎埋め込み部
１５  画像出力部
１６  誤り訂正／検出符号化部
１７、３９、１６２  擬似乱数生成器
１８  埋め込み系列生成部
１９、５１、７１  埋め込み項選定部
２０、５２、７２  周波数選定部
２１、５３、７３  周波数パターン重畳部
２２、５４  埋め込み系列項符号取得部
２３、５５、７５  選定部
２４、３７、９３、１４４  符号対応周波数データベース
２５、５７  波形パターン生成部
２６、５８  波形パターン重畳部
３３、６０、８０、９０  ブロック毎検出部
３４、１３０、１６０  透かし情報逆拡散部
３５、６１、８１、９１、１１０  周波数対応検出値決定部
３６、６２、８２、９２  検出値行列設定部
３８、１６１  一次元化処理部
４０、１３３、１６３  逆拡散部
４１、１３４、１６４  誤り訂正／検出復号部
７４  埋め込み系列項量子化部
７６、８３  量子化値対応周波数データベース
１０１  領域分割部
１０２  画素ブロック切り出し部
１１１  畳み込み演算部
１１２  畳み込み結果絶対値加算部
１１３  検出値決定部
１２０  画像サイズ正規化部
１２１  前処理フィルタ処理部
１３１  ９０度毎一次元化処理部
１３５  検出透かし情報選定部
１４０  検出値行列生成部
１４１  各周波数に対応したフィルタ処理済み画像群生成部
１４２、１４８  ブロック切り出し位置検出部
１４３  検出値行列構成部
１４５  探索位置設定部
１４６  ブロック切り出し位置応答値算出部
１４７  ブロック切り出し位置応答値バッファ
１５１、１５６  画素絶対値和計算部
１５２  最大値絶対値和判定部
１５３  最大値絶対値和加算部
１５７  最大エネルギー周波数判定部
１５８  検出値行列要素値設定部
【発明を実施するための最良の形態】
【００３５】  以下、図面を参照して本発明の実施例を説明する。【００３６】  ［第１の実施例］
第１の実施例では、まず電子透かしの埋め込み技術について説明し、次に電子透かしの検出技術について説明する。【００３７】  （電子透かしの埋め込み）
本発明の第１の実施例における電子透かし埋め込み装置１０の構成を図１に、電子透かし埋め込み装置１０の処理の流れを図２のフローチャートに示す。【００３８】  図１に示すように、第１の実施例における電子透かし埋め込み装置１０は、画像入力部１１、ブロック分割部１２、透かし情報拡散部１３、ブロック毎埋め込み部１４、及び画像出力部１５を有している。図２のフローチャートを参照して、このような構成の電子透かし埋め込み装置１０の動作について説明する。【００３９】  まず、原画像、埋め込み強度値、及び透かし情報が入力される（ステップ１）。原画像は、例えばカメラなどの画像入力部１１を介して入力される。埋め込み強度値は、電子透かしの模様を画像にどれだけ強く重畳するかを指定するパラメータ（大きいほど埋め込み後の画質は劣化するが、電子透かしの検出が安定する）であり、ブロック毎埋め込み部１４に入力される。透かし情報は、原画像中に埋め込む情報であり、透かし情報拡散部１３に入力される。【００４０】  画像入力部１１により入力された原画像はブロック分割部１２に渡され、ブロック分割部１２は原画像を画素ブロックに分割する（ステップ２）。透かし情報拡散部１３は、入力された透かし情報を拡散することにより、埋め込み系列を生成する（ステップ３）。【００４１】  ブロック毎埋め込み部１４には、ブロック分割部１２により分割された画素ブロックと、透かし情報拡散部１３により生成された埋め込み系列が入力され、ブロック位置に対応する埋め込み系列の値の符号に応じて、画素ブロック毎に予め定めた複数の周波数群の中から一つの周波数を選択し、選択された周波数の波形の振幅を埋め込み強度値で増幅し、画素ブロックに重畳して埋め込み済みブロックを得る（ステップ４）。【００４２】  ブロック毎埋め込み部１４において全ての画素ブロックに対する周波数埋め込み処理が終了すると（ステップ５のＹｅｓ）、画像出力部１５は、周波数の波形が埋め込まれた全ての画素ブロックを、電子透かし埋め込み済み画像として出力する（ステップ６）。【００４３】  以下、各部の処理をより詳細に説明する。【００４４】  電子透かし埋め込み装置１０のブロック分割部１２における処理の流れを図３に示す。ブロック分割部１０は、原画像を受け取ると（ステップ１１）、原画像を予め定めたブロック数の画素ブロックに分割し（ステップ１２）、画素ブロックを順次出力する（ステップ１３）。ステップ１２の画素ブロックへの分割処理では、例えば図４に示すように、原画像を（ｍ個×ｎ個）の画素ブロックに分割する。そして、出力される画素ブロックには、当該画素ブロックの原画像上でのブロック位置情報が付与される。【００４５】  図５に透かし情報拡散部１３の構成を示し、図６にその処理の流れを示す。透かし情報拡散部１３は、誤り訂正／検出符号化部１６、擬似乱数生成器１７、及び埋め込み系列生成部１８を有している。【００４６】  図６に示すように、まず透かし情報が入力され（ステップ２１）、誤り訂正／検出符号化部１６において透かし情報を誤り訂正／検出符号化する（ステップ２２）。誤り訂正／検出符号化方法としてはＢＣＨ符号やＲｅｅｄ  Ｓｏｌｏｍｏｎ符号など、どのようなものを用いて��良い。次に埋め込み系列生成部１８は、擬似乱数生成器１７により生成される擬似乱数列を用いて、誤り訂正／検出符号化された透かし情報を長さｍ×ｎ（ブロック分割部１２において分割した画素ブロックの総ブロック数に相当）の系列である埋め込み系列に拡散し（ステップ２３）、その埋め込み系列を出力する（ステップ２４）。なお、擬似乱数生成器１７における擬似乱数生成の初期値を、透かしの鍵パラメータとして外部から入力されるパラメータとしても良い。このようにすることで、異なる鍵パラメータで独立な電子透かし埋め込みを実現したり、埋め込みアルゴリズムの推測を困難にするなどの効果が得られる。【００４７】  埋め込み系列生成部１８における透かし情報の具体的な拡散方法の例（（Ａ）〜（Ｃ））を以下に示す：
（Ａ）誤り訂正／検出符号化された透かし情報（Ｓビットとする）を｛ｗｉ｝（ｉ＝０〜Ｓ−１）、擬似乱数列を｛ｒｉ｝（ｉ＝０〜ｍｎ−１（画素ブロックの総数））とした時に、埋め込み系列｛ｅｉ｝（ｉ＝０〜ｍｎ−１）を以下のようにして求める。
0004279839.tif 000002
ただしｗｉ＝１ｏｒ−１（誤り訂正／検出符号化された透かし情報のｉ番目のビット値が１ならば１、０ならば−１）とし、ｒｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を表す。
（Ｂ）誤り訂正／検出符号化された透かし情報（Ｓビットとする）を｛ｗｉ｝（ｉ＝０〜Ｓ−１）、擬似乱数列を２種類生成しそれぞれ｛ｒ１ｉ｝（ｉ＝０〜ｍｎ−１）、｛ｒ２ｉ｝（ｉ＝０〜ｍｎ−１）とした時に、まず｛ｒ１ｉ｝を用いて置換のための配列を生成する。例えば【００４８】
0004279839.tif 000003
を表す配列｛ｐｉ｝（ｉ＝０〜ｍｎ−１）を以下のようにして決定する。ただしｒ１ｉは０〜ｍｎ−１以上の値をランダムに取るものと仮定する。
0004279839.tif 000004
次に、埋め込み系列｛ｅｉ｝（ｉ＝０〜ｍｎ−１）を以下のようにして求める。
0004279839.tif 000005
ただしｗｉ＝１ｏｒ−１（誤り訂正／検出符号化された透かし情報のｉ番目のビット値が１ならば１、０ならば−１）とし、ｒ２ｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を表す。上記のように、｛ｒ１ｉ｝は｛ｐｉ｝を生成するための擬似乱数列であり、｛ｒ２ｉ｝は｛ｗｉ｝の拡散を行うための擬似乱数列である。
（Ｃ）誤り訂正／検出符号化された透かし情報（Ｓビットとする）を｛ｗｉ｝（ｉ＝０〜Ｓ−１）、擬似乱数列を｛ｒｉ｝（ｉ＝０〜ｍｎ−１）とした時に、埋め込み系列｛ｅｉ｝（ｉ＝０〜ｍｎ−１）を以下のようにして求める。
0004279839.tif 000006
ただしｗｉ＝１ｏｒ−１（誤り訂正／検出符号化された透かし情報のｉ番目のビット値が１ならば１、０ならば−１）とし、ｒｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を表す。
なお、上記の例では２値化乱数系列を拡散に用いたが、別の乱数系列、例えばガウス分布に従う乱数系列などを用いて拡散を行っても構わない。【００４９】  次に、本実施例の電子透かし埋め込み装置１０のブロック毎埋め込み部１４について説明する。ブロック毎埋め込み部１４の構成を図７に示し、その処理の流れを図８に示す。図７に示すように、ブロック毎埋め込み部１４は、埋め込み項選定部１９、周波数選定部２０、及び周波数パターン重畳部２１を有している。以下、ブロック毎埋め込み部１４の動作について各部の動作を含めて詳細に説明する。【００５０】  図８に示すように、画素ブロック、埋め込み系列、埋め込み強度値がブロック毎埋め込み部１４に入力されると（ステップ３１）、埋め込み項選定部１９は、画素ブロックの位置情報に基づいて埋め込み系列の中の一つの項を選定する（ステップ３２）。例えば、図９に示すように、画素ブロック位置情報が（ｍ０、ｎ０）である場合に、ｉ＝ｍ０＋ｎ０×ｍ（ｍはｘ方向総ブロック数）となる埋め込み系列の項ｅｉを選ぶなどとして、ブロック位置に対して１対１に対応する埋め込み系列の項を選定する。【００５１】  次に、周波数選定部２０は、埋め込み系列の項の符号から、周波数を選定する（ステップ３３）。そして、周波数パターン重畳部２１が、選定された周波数に対応する２次元波形パターンを生成し、振幅を埋め込み強度値倍して該当の画素ブロックに重畳し、埋め込み済みブロックを得て（ステップ３４）、それを出力する（ステップ３５）。ブロック埋め込み部１４は、全画素ブロックに対して上記の処理を行う。【００５２】  以下、ブロック埋め込み部１４における周波数選定部２０と周波数パターン重畳部２１における処理についてより詳細に説明する。【００５３】  まず、周波数選定部２０について詳細に説明する。【００５４】  周波数選定部２０の構成を図１０に、処理の流れを図１１に示す。図１０に示すように、周波数選定部２０は、埋め込み系列項符号取得部２２と選定部２３と符号対応周波数データベース２４を有している。【００５５】  図１１に示すように、周波数選定部２０は、埋め込み項選定部１９からの埋め込み系列項値を入力とし（ステップ４１）、埋め込み系列項符号取得部２２は埋め込み系列項値の符号を得る（ステップ４２）。符号としては（＋、−、０）の三値を取りうる。次に選定部２３が、埋め込み系列項値符号に対応する周波数を、符号対応周波数データベース２４から検索し、選定された周波数として出力する（ステップ４３）。符号対応周波数データベース２４の構成を図１２に示す。符号対応周波数データベース２４には、埋め込み系列項符号取得部２２の各々の出力に対して、対応する周波数が記録・蓄積されている。一つの符号に対して対応する周波数が一つでなくとも良く、図１２の符号“−”の場合のように、複数の周波数の組が対応していても良い。【００５６】  なお、本願明細書全体及び特許請求の範囲において、“周波数”の用語の意味は、特に区別して用いる場合を除き、単一の周波数のみならず、上記の符号“−”の場合のように、１つの符号（もしくは０、もしくは後述する量子化値）に対応する複数の周波数も含むものとする。【００５７】  また、���こで周波数とは２次元波形パターンを表す２次元周波数であって、原画像の画素サイズを基準とした相対的な周波数を表すものとする。例えばＸ×Ｙ画素の原画像に対して、ｘ方向で２波長の波形を表す周波数と、２Ｘ×２Ｙ画素の原画像に対して、ｘ方向に２波長の波形を表す周波数は同じ値となるように画素サイズで正規化されているものとする。【００５８】  次に、ブロック毎埋め込み部１４における周波数パターン重畳部２１について詳細に説明する。【００５９】  周波数パターン重畳部２１の構成を図１３に示し、処理の流れを図１４に示す。図１３に示すように、ブロック毎埋め込み部１４における周波数パターン重畳部２１は、波形パターン生成部２５と波形パターン重畳部２６とを有している。【００６０】  図１４に示すように、周波数パターン重畳部２１には画素ブロック、周波数選定部２０により選定された周波数、及び埋め込み強度値が入力され（ステップ５１）、波形パターン生成部２５が、選定された周波数に対応する波形パターンを生成する（ステップ５２）。そして、波形パターン重畳部２６が、図１５に示すように、波形パターンの振幅を、埋め込み強度値の値で増幅し、増幅された波形パターンを画素ブロックに重畳し（ステップ５３）、波形パターンが埋め込まれた埋め込み済みブロックを出力する（ステップ５４）。【００６１】  波形パターン生成部２５が生成する波形パターンは、画素ブロックと同じ大きさの２次元パターンとする。また、選定された周波数が複数ある場合は、それぞれの波形パターンを加算し、得られたパターンのエネルギーを周波数一つの場合と同じとなるように振幅を正規化したものを波形パターンとする。波形パターン重畳部２６における重畳の処理を式で表せば、
｛Ｉｉｊ｝：画素ブロック（０＜＝ｉ＜Ｘ、０＜＝ｊ＜Ｙ：Ｘ×Ｙはブロックの画素サイズ）
｛Ｗｉｊ｝：波形パターン（０＜＝ｉ＜Ｘ、０＜＝ｊ＜Ｙ）
ｓ：埋め込み強度値
とした時に、埋め込み済みブロックの各画素値は
0004279839.tif 000007
となる。【００６２】  また、画像に波形パターンを重畳する際に、埋め込み強度値だけではなく、特開２００３−７８７５６号公報記載の方法のように、画像の局所的複雑度を計測し、画素ブロックの重畳対応個所が視覚的に目立ちにくい部分であれば波形の振幅を強め、逆に視覚的に目立ちやすい部分であれば波形の振幅を弱めて重畳する適応的な重畳を行っても良い。【００６３】  以上のようにして、ブロック毎埋め込み部１４において画素ブロックを順次生成し、原画像中の全てのブロックについて埋め込み済み画素ブロックを得た後、画像出力部１５において、埋め込み済み画素ブロック群を各々もとの画素ブロックの位置に配置して得られる画像を再構成し、これを電子透かし埋め込み済み画像として出力する。【００６４】  図１６に原画像と電子透かし埋め込み済み画像のイメージを説明する図を示す。電子透かし埋め込み済み画像は、ブロック毎に重畳されている波形パターンが独立な形となる。なお、図１６は説明のために波形パターンを非常に強調しているが、実際には殆ど視覚的に感知できない程度の振幅として重畳される。【００６５】  （電子透かしの検出）
上記のようにして得られた電子透かし埋め込み画像が、例えば非特許文献１に記載の方法のように紙媒体に印刷され、印刷された画像をカメラを用いて入力し、枠線などを用いて幾何変換の補正が行われて得られる画像を、電子透かし検出対象として検出を試みる場合について以下に説明する。なお、紙媒体に印刷された画像をカメラを用いて入力することは画像入力の一例に過ぎず、もちろん紙媒体を介さずに電子データとしての画像を入力するようにしてもよい。【００６６】  上記のようにして電子透かし埋め込み済画像を取得する場合、電子透かし検出対象画像は幾何変換補正精度による誤差のため、もともとの電子透かし埋め込み画像と比較して、若干の幾何学的な歪み、例えば平行移動、線形・非線形歪みなどの影響を受けている。第１の実施例における電子透かし検出装置は、このような若干の幾何歪みを許容しながら、電子透かしを高速に検出することができる。以下、第１の実施例における電子透かし検出装置について説明する。【００６７】  本発明の第１の実施例における電子透かし検出装置３０の構成を図１７に示し、電子透かし検出装置３０の処理の流れを図１８に示す。【００６８】  図１７に示すように、電子透かし検出装置３０は、画像入力部３１、ブロック分割部３２、ブロック毎検出部３３、及び、透かし情報逆拡散部３４を有している。図１８に示すように、電子透かし検出装置３０は、画像入力部３１を介して電子透かし検出対象画像を取得する（ステップ６１）。そして、ブロック分割部３２が、電子透かし検出対象画像を画素ブロックに分割する（ステップ６２）。各画素ブロックはブロック毎検出部３３に入力され、ある画素ブロックについて、ブロック毎検出部３３は、２つ周波数の中で、大きいエネルギーをもつほうの周波数を決定し（ステップ６３）、決定された周波数に対応した符号を１に付したものを当該画素ブロックからの検出値とし、これを検出値行列におけるブロック位置に対応する要素に代入する（ステップ６４）。この処理を全ての画素ブロックに対して行うことにより検出値行列を得る（ステップ６５のＹｅｓ）。透かし情報逆拡散部３４は、上記検出値行列の要素を逆拡散して得られる情報を検出透かし情報として出力する（ステップ６６）。【００６９】  次に、電子透かし検出装置３０の各構成部について詳細に説明する。【００７０】  電子透かし検出装置３０のブロック分割部３２の処理内容は、電子透かし埋め込み装置１０のブロック分割部１２と全く同一であるので、電子透かし検出装置３０のブロック毎検出部３３から説明する。【００７１】  図１９にブロック毎検出部３３の構成を示し、その処理の流れを図２０に示す。図１９に示すように、ブロック毎検出部３３は、周波数対応検出値決定部３５、検出値行列設定部３６、及び符号対応周波数データベース３７を有している。なお、符号対応周波数データベース３７は、電子透かし埋め込み装置１０の符号対応周波数データベース２４と同一である。【００７２】  図２０に示すように、ブロック毎検出部３３にはブロック分割部３２からある画素ブロックが入力され（ステップ７１）、周波数対応検出値決定部３５は、入力された画素ブロックに対し、符号対応周波数データベース３７���の各符号に対応付けられた周波数のエネルギー、即ちパワースペクトルを周波数毎に求める。この際、一つの符号に複数の周波数が対応付けられている場合は、各々の周波数のエネルギーの合計を求める。【００７３】  なお、本願明細書全体及び特許請求の範囲において、“周波数のエネルギー”の用語の意味は、単一の周波数のエネルギーのみならず、上記のような場合における各々の周波数のエネルギーの合計を含むものとする。【００７４】  このようにして得られる２つ（＋、−の符号に対応）の周波数のエネルギーの大小比較を行い、より大きなエネルギーを持つ周波数を求め（ステップ７２）、符号対応周波数データベース３７内からその周波数に対応する符号（＋，０又は−）を決定し、この符号を１に付した値を検出値として出力する（ステップ７３）。ただし本実施例のように、０と、＋又は−の符号を一括りにして周波数と対応付けている場合は、周波数に対応する符号として０はなく＋又は−のいずれかを選択する。【００７５】  そして、検出値行列設定部３６が、当該画素ブロックの位置情報に対応した検出値行列の要素を、上記の検出値に設定する（ステップ７４）。即ち、ステップ７４において、ｎ行ｍ列の行列である検出値行列Ｄ＝｛ｄｉｊ｝に対し、現在処理中の画素ブロックの位置情報（ｍ０，ｎ０）に対応する要素ｄｍ０ｎ０の値を検出値に設定する。【００７６】  ブロック毎検出部３３において全ての画素ブロックに対して上記処理を繰り返すことにより、検出値行列の全ての要素が決定される。電子透かし検出対象画像と最終的な検出値行列の例を図２１に示す。埋め込み時に重畳された周波数パターンが十分大きなエネルギーをもっているとすれば、対応する１、もしくは−１の値が検出値行列の各要素に設定される。【００７７】  次に、電子透かし検出装置３０の透かし情報逆拡散部３４について詳細に説明する。【００７８】  透かし情報逆拡散部３４の構成を図２２に示し、その処理の流れを図２３に示す。図２２に示すように、透かし情報逆拡散部３４は、一次元化処理部３８、擬似乱数生成器３９、逆拡散部４０、誤り訂正／検出復号部４１を有している。【００７９】  図２３に示すように、透かし情報逆拡散部３４には、ブロック毎検出部３３により得られた検出値行列が入力され（ステップ８１）、一次元化処理部３８が、検出値行列を長さｍ×ｎの一次元系列である検出対象系列に変換し、検出対象系列を得る（ステップ８２）。この変換手順は、電子透かし埋め込み装置１０における埋め込み項選定部１９と同様の規則に基づくものとする。例えば、埋め込み項選定部１９が前述した規則で埋め込み項を選定していた場合、一次元化処理部３８は、図２４に示すように、検出値行列の（ｍ０，ｎ０）要素を、検出対象系列の項ｄｉ（ｉ＝ｍ０＋ｎ０×ｍ（ｍはｘ方向総ブロック数））として設定する。【００８０】  次に逆拡散部４０は、検出対象系列を擬似乱数生成器３９を用いて生成される擬似乱数列を用いて逆拡散し、復号対象情報を得る（ステップ８３）。擬似乱数生成器３９は電子透かし埋め込み装置１０の擬似乱数生成器１７と同一である。なお、埋め込み時に、擬似乱数生成の初期値を透かしの鍵パラメータとして、外部から入力されるパラメー��としていた場合は、同じ初期値を擬似乱数生成器３９に与え、埋め込み時の擬似乱数列と同一な擬似乱数列を得るようにする。【００８１】  最後に、誤り訂正／検出復号部４１が、復号対象情報に対して誤り訂正／検出復号を行い、検出透かし情報を得る（ステップ８４）。この際、復号対象情報中の誤りを検出した場合、訂正可能であれば訂正して検出透かし情報として出力し、訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力する。【００８２】  上記のステップ８３における具体的な逆拡散方法としては、埋め込み時の拡散方法に対応して以下のような方法を用いることができる（以下の（Ａ）〜（Ｃ）がそれぞれ埋め込み時の拡散方法（Ａ）〜（Ｃ）に対応する）：
（Ａ）検出対象系列｛ｄｉ｝（ｉ＝０〜ｍｎ−１）、擬似乱数列を｛ｒｉ｝（ｉ＝０〜ｍｎ−１）とした時に、復号対象情報（Ｓビットとする）｛ｃｋ｝（ｋ＝０〜Ｓ−１）を以下のようにして求める。なお、Ｃｏｒｋは復号対象情報におけるｋ番目のビットの相関値を意味する。【００８３】
0004279839.tif 000008
を求め、
0004279839.tif 000009
のようにビット値を決定する。ただし、ｒｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を表す。また、Σ（ｉ＝０〜ｍｎ−１）∩（ｉ％Ｓ＝ｋ）は、ｉをＳで割った余りがｋになるようなｉについての総和をとることを表す。
（Ｂ）検出対象系列｛ｄｉ｝（ｉ＝０〜ｍｎ−１）、擬似乱数列を２種類生成しそれぞれ｛ｒ１ｉ｝（ｉ＝０〜ｍｎ−１）、｛ｒ２ｉ｝（ｉ＝０〜ｍｎ−１）とした時に、復号対象情報（Ｓビットとする）｛ｃｋ｝（ｋ＝０〜Ｓ−１）を以下のようにして求める。まず｛ｒ１ｉ｝を用いて置換のための配列｛ｐｉ｝を埋め込み時と同様に生成する。【００８４】  次に、
0004279839.tif 000010
を求め、
0004279839.tif 000011
のようにビット値を決定する。ただしｒ２ｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を表す。
（Ｃ）検出対象系列｛ｄｉ｝（ｉ＝０〜ｍｎ−１）、擬似乱数列を｛ｒｉ｝（ｉ＝０〜ｍｎ−１）とした時に、復号対象情報（Ｓビットとする）｛ｃｋ｝（ｋ＝０〜Ｓ−１）を以下のようにして求める。【００８５】
0004279839.tif 000012
を求め、
0004279839.tif 000013
のようにビット値を決定する。ただしｒｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を表す。【００８６】  （第１の実施例の効果）
本実施例によれば、透かし情報は原画像に対し、画素ブロック毎に特定の周波数の波形パターンとして重畳されているため、検出時において、電子透かし検出対象画像に若干の幾何歪が生じて画素ブロックの切り出し位置が若干ずれても、２つの周波数のうち、大きいエネルギーをもつほうの周波数はある程度安定しているため、ロバストな検出が可能である。【００８７】  また、検出処理においては、小ブロックごとにいくつかの周波数のパワースペクトルを計算するのみであり、大きなサイズの２次元直交変換など、大きな計算量を必要とする処理が不要なため、高速に検出処理を実現できる。【００８８】  ［第２の実施例］
次に、本発明の第２の実施例について説明する。【００８９】  第１の実施例と第２の実施例とでは、電子透かし埋め込み装置１０における埋め込み系列の画素ブロックへの埋め込み方法が異なる。また、埋め込み方法の違いに対応して、電子透かし検出装置３０における透かし情報の検出方法が異なる。より具体的には、ブロック毎埋め込み部の処理とブロック毎検出部の処理が第１の実施例と第２の実施例とで異なる。以下に説明する第１の実施例と第２の実施例とで異なる部分以外は、第１の実施例と同一である。【００９０】  （電子透かしの埋め込み）
本発明の第２の実施例における電子透かし埋め込み装置１０内のブロック毎埋め込み部５０の構成を図２５に示し、その処理の流れを図２６に示す。【００９１】  図２５に示すように、ブロック毎埋め込み部５０は、埋め込み項選定部５１、周波数選定部５２、周波数パターン重畳部５３を有している。【００９２】  図２６に示すように、ブロック毎埋め込み部５０は、第１の実施例と同様に、画素ブロック、埋め込み系列、埋め込み強度値を入力とし（ステップ９１）、埋め込み項選定部５１において、画素ブロックの位置情報に基づいて埋め込み系列の中の一つの項を選定する（ステップ９２）。例えば、第１の実施例と同様にして図９に示すように、画素ブロック位置情報が（ｍ０、ｎ０）である場合に、ｉ＝ｍ０＋ｎ０×ｍ（ｍはｘ方向総ブロック数）となる埋め込み系列の項ｅｉを選ぶなどとして、ブロック位置に対して１対１に埋め込み系列の項を選定する。【００９３】  次に、周波数選定部５２は、埋め込み系列の項の符号から、周波数を選定する（ステップ９３）。そして、周波数パターン重畳部５３が、選定された周波数に対応する２次元波形パターンを生成し、振幅を埋め込み系列の項値の絶対値、及び埋め込み強度値で増幅して該当の画素ブロックに重畳し、埋め込み済みブロックを得て（ステップ９４）、それを出力する（ステップ９５）。【００９４】  以下、周波数選定部５２と周波数パターン重畳部５３について詳細に説明する。【００９５】  周波数選定部５２の構成を図２７に示し、その処理の流れを図２８に示す。図２７に示すように、周波数選定部５２は、埋め込み系列項符号取得部５４、選定部５５、及び符号対応周波数データベース５６を有している。【００９６】  図２８に示すように、周波数選定部５２に埋め込み系列項値が入力されると（ステップ１０１）、埋め込み系列項符号取得部５４は埋め込み系列項値の符号を得る（ステップ１０２）。符号としては（＋、−、０）の三値を取りうる。次に選定部５５が、埋め込み系列項値符号に対応する周波数を、符号対応周波数データベース５６から検索し、選定された周波数として出力する（ステップ１０３）。符号対応周波数データベース５６の構成は図１２に示したものと同一である。【００９７】  次に周波数パターン重畳部５３の構成を図２９に示し、処理の流れを図３０に示す。図２９に示すように、周波数パターン重畳部５３は、波形パターン生成部５７と波形パターン重畳部５８とを有している。【００９８】  図３０に示すように、周波数パターン重畳部５３には、画素ブロック、選定された周波数、埋め込み強度値、埋め込み系列項値が入力され（ステップ１１１）、波形パターン生成部５７が選定された周波数に対応する波形パターンを生成する（ステップ１１２）。波形パターンは画素ブロックと同じ大きさの２次元パターンとする。また、選定された周波数が複数ある場合は、それぞれの波形パターンを加算し、得られたパターンのエネルギーを周波数一つの場合と同じとなるように振幅を正規化したものを波形パターンとする。次に、波形パターン重畳部５８が、図３１に示すように、波形パターンの振幅を、埋め込み系列項値の絶対値及び埋め込み強度値で増幅し、増幅された波形パターンを画素ブロックに重畳する。この処理を式で書けば、
｛Ｉｉｊ｝：画素ブロック（０＜＝ｉ＜Ｘ、０＜＝ｊ＜Ｙ：Ｘ×Ｙはブロックの画素サイズ）
｛Ｗｉｊ｝：波形パターン（０＜＝ｉ＜Ｘ、０＜＝ｊ＜Ｙ）
ｓ：埋め込み強度値
ｅｋ：埋め込み系列項値
とした時に、埋め込み済みブロックの各画素値は
0004279839.tif 000014
となる。ただし｜・｜は絶対値を表す記号とする。【００９９】  また、第１の実施例と同様、画像に波形パターンを重畳する際に、埋め込み強度値だけではなく、特開２００３−７８７５６号公報記載の方法のように、画像の局所的複雑度を計測し、画素ブロックの重畳対応個所が視覚的に目立ちにくい部分であれば波形の振幅を強め、逆に視覚的に目立ちやすい部分であれば波形の振幅を弱めて重畳する適応的な重畳を行っても良い。【０１００】  （電子透かしの検出）
次に、本発明の第２の実施例における電子透かし検出装置３０におけるブロック毎検出部６０について説明する。【０１０１】  ブロック毎検出部６０の構成を図３２に示し、その処理の流れを図３３に示す。図３２に示すように、ブロック毎検出部６０は、周波数対応検出値決定部６１、検出値行列設定部６２、及び符号対応周波数データベース６３を有している。なお、符号対応周波数データベース６３は、電子透かし埋め込み装置１０の符号対応周波数データベース５６と同一のものである。【０１０２】  図３３に示すように、ブロック毎検出部６０にはブロック分割部３２から画素ブロックが入力され（ステップ１２１）、周波数対応検出値決定部６１は、入力された画素ブロックに対し、符号対応周波数データベース６３内の各符号に対応付けられた周波数のエネルギー、即ちパワースペクトルを周波数毎に求める。この際、一つの符号に複数の周波数が対応付けられている場合は、各々の周波数のエネルギーの合計を求める。このようにして得られる２つ（＋、−の符号に対応）の周波数のエネルギーの内、より大きなエネルギーを持つ周波数を求め（ステップ１２２）、符号対応周波数データベース６３内からその周波数に対応する符号（０と、＋又は−）を決定し、この符号に上記エネルギーを乗じた値を検出値として出力する（ステップ１２３）。ただし本実施例のように、０と、＋又は−の符号を一括りにして周波数と対応付けている場合は、周波数に対応する符号として０はなく＋又は−のいずれかを選択する。【０１０３】  次に検出値行列決定部６２が、ｎ行ｍ列の行列である検出値行列Ｄ＝｛ｄｉｊ｝に対し、現在処理中の画素ブロックの位置情報（ｍ０、ｎ０）に対応する要素ｄｍ０ｎ０の値を、検出値に設定する（ステップ１２４）。【０１０４】  全ての画素ブロックに対して上記処理を繰り返すことにより、検出値行列の全ての要素が決定される。電子透かし検出対象画像と最終的な検出値行列の例を図３４に示す。検出値行列の各要素は、対応する画素ブロックに重畳された周波数パターンに対応して符号が定まり、その周波数のエネルギー、即ち波形の振幅が絶対値に対応している。【０１０５】  この処理の後、第１の実施例と同様にして、検出値行列を元に逆拡散処理を行うことにより検出透かし情報が得られる。【０１０６】  （第２の実施例の効果）
本実施例によれば第１の実施例と比べて、透かし情報を拡散して得られる埋め込み系列の値を直接周波数パターンの振幅に乗じて画素ブロックに重畳し、検出時も周波数エネルギー、即ち振幅を利用するため、検出時の逆拡散演算、即ち相関演算の振る舞いが改善し、画質・検出性能の向上が図れる。【０１０７】  ［第３の実施例］
次に、本発明の第３の実施例について説明する。【０１０８】  第３の実施例と第１、第２の実施例とでは、電子透かし埋め込み装置１０における埋め込み系列の画素ブロックへの埋め込み方法が異なる。また、埋め込み方法の違いに対応して、電子透かし検出装置３０における透かし情報の検出方法が異なる。より具体的には、ブロック毎埋め込み部の処理とブロック毎検出部の処理が第３の実施例と第１、第２の実施例とで異なる。以下に説明する第３の実施例と第１、第２の実施例とで異なる部分以外は、第１の実施例と同一である。【０１０９】  （電子透かしの埋め込み）
第３の実施例におけるブロック毎埋め込み部７０の構成を図３５に示し、その処理の流れを図３６に示す。図３５に示すように、ブロック毎埋め込み部７０は、埋め込み項選定部７１、周波数選定部７２、及び周波数パターン重畳部７３を有している。以下、第３の実施例におけるブロック毎埋め込み部７０の動作について各部の動作を含めて詳細に説明する。【０１１０】  図３６に示すように、画素ブロック、埋め込み系列、埋め込み強度値がブロック毎埋め込み部７０に入力されると（ステップ１３１）、埋め込み項選定部７１は、第１の実施例と同様にして画素ブロックの位置情報に基づいて埋め込み系列の中の一つの項を選定する（ステップ１３２）。【０１１１】  次に周波数選定部７２は、埋め込み系列の項の値から、周波数を選定する（ステップ１３３）。そして、周波数パターン重畳部７３が、選定された周波数に対応する２次元波形パターンを生成し、振幅を埋め込み強度値倍して該当の画素ブロックに重畳し、埋め込み済みブロックを得て（ステップ１３４）、それを出力する（ステップ１３５）。ブロック埋め込み部７０は、全画素ブロックに対して上記の処理を行う。【０１１２】  以下、ブロック埋め込み部７０における周波数選定部７２と周波数パターン重畳部７３における処理についてより詳細に説明する。【０１１３】  まず、周波数選定部７２について詳細に説明する。【０１１４】  周波数選定部７２の構成を図３７に、処理の流れを図３８に示す。図３７に示すように、周波数選定部７２は、埋め込み系列項量子化部７４と選定部７５と量子化対応周波数データベース７６を有している。【０１１５】  図３８に示すように、周波数選定部７２は、埋め込み項選定部７１からの埋め込み系列項値を入力とし（ステップ１４１）、埋め込み系列項量子化部７４が埋め込み系列項値を量子化し、量子化埋め込み系列項値を得る（ステップ１４２）。そして、選定部７５が、量子化埋め込み系列項値に対応する周波数を、量子化値対応周波数データベース７６から検索し、選定された周波数を得て（ステップ１４３）、それを出力する（ステップ１４４）。【０１１６】  埋め込み系列項量子化部７４による量子化の方法としては、図３９に示すような方法がある。図３９に示す（ａ）〜（ｃ）の量子化はそれぞれ以下のような演算により行われる：
（ａ）二値化
ｘを埋め込み系列項値とした時に、
ｘ＜０  →  −１
ｘ＞＝０→  １
のように二値化する。
（ｂ）三値化
ｘを埋め込み系列項値とした時に
ｘ＜０→  −１
ｘ＝０→  ０
ｘ＞０→  １
のように三値化する。【０１１７】  （ｃ）ｎ値化
ｘを埋め込み系列項値とした時に、【０１１８】
0004279839.tif 000015
0004279839.tif 000016
のようにｎ値化する。
なお、（ｃ）のように等幅量子化ではなく、不等幅量子化を用いても構わない。【０１１９】  上記のステップ１４３において選定部７５が参照する量子化値対応周波数データベース７６の構成を図４０に示す。なお、この例は上記の三値化の場合の例である。図４０に示すように、量子化値対応周波数データベース７６には、埋め込み系列項量子化部７４の各々の出力に対して、対応する周波数が予め記録・蓄積されている。この際、一つの量子化値に対して対応する周波数が一つでなくとも良く、図４０の量子化値０の場合のように、複数の周波数の組が対応していても良い。なお、ここで周波数とは２次元波形パターンを表す２次元周波数であって、原画像の画素サイズを基準とした相対的な周波数を表すものである。例えばＸ×Ｙ画素の原画像に対して、ｘ方向で２波長の波形を表す周波数と、２Ｘ×２Ｙ画素の原画像に対して、ｘ方向に２波長の波形を表す周波数は同じ値となるように画素サイズで正規化されている。【０１２０】  ブロック毎埋め込み部７０における周波数パターン重畳部７３については第１の実施例もしくは第２の実施例と同様である。即ち、選択された周波数パターンの振幅を埋め込み強度値で増幅するか、もしくは、量子化が二値化、三値化である場合において埋め込み系列項値の絶対値と埋め込み強度値で増幅する。【０１２１】  （電子透かしの検出）
図４１に、第３の実施例におけるブロック毎検出部８０の構成を示し、その処理の流れを図４２に示す。図４１に示すように、第３の実施例のブロック毎検出部８０は、周波数対応検出値決定部８１、検出値行列設定部８２、及び量子化値対応周波数データベース８３を有している。なお、量子化値対応周波数データベース８３は、第３の実施例の電子透かし埋め込み装置１０の量子化値対応周波数データベース７６と同一である。【０１２２】  図４２に示すように、ブロック毎検出部８０にはブロック分割部３２からある画素ブロックが入力され（ステップ１５１）、周波数対応検出値決定部８１が、当該画素ブロックに対し、量子化値対応周波数データベース８３内の各量子化値に対応付けられた周波数のエネルギー、即ちパワースペクトルを周波数毎に求める。この際、一つの量子化値に複数の周波数が対応付けられている場合は、その量子化値に対応する各々の周波数のエネルギーの合計を求める。このようにして得られる各周波数のエネルギーの内、最大のエネルギーを持つ周波数を求める（ステップ１５２）。そして、量子化値対応周波数データベース８３から、最大のエネルギーを持つ周波数に対応する量子化値を決定し、当該画素ブロックに対応する検出値として出力する（ステップ１５３）。そして、検出値行列設定部８２が、当該画素ブロックの位置情報に対応した検出値行列の要素を、上記の検出値に設定する（ステップ１５４）。即ち、ステップ１５４において、ｎ行ｍ列の行列である検出値行列Ｄ＝｛ｄｉｊ｝に対し、現在処理中の画素ブロックの位置情報（ｍ０、ｎ０）に対応する要素ｄｍ０ｎ０の値を検出値に設定する。【０１２３】  ブロック毎検出部８０において全ての画素ブロックに対して上記処理を繰り返すことにより、検出値行列の全ての要素が決定される。電子透かし検出対象画像と最終的な検出値行列の例は図２１に示したものと同様である。【０１２４】  第３の実施例における電子透かし検出装置３０のその他の構成は第１もしくは第２の実施例で説明したものと同様である。【０１２５】  （第３の実施例の効果）
本実施例によれば、透かし情報は原画像に対し、画素ブロック毎に特定の周波数の波形パターンとして重畳されているため、検出時において、電子透かし検出対象画像に若干の幾何歪が生じて画素ブロックの切り出し位置が若干ずれても、複数の周波数のうち、最大エネルギーをもつ周波数はある程度安定しているため、ロバストな検出が可能である。【０１２６】  また、検出処理においては、小ブロックごとにいくつかの周波数のパワースペクトルを計算するのみであり、大きなサイズの２次元直交変換など、大きな計算量を必要とする処理が不要なため、高速に検出処理を実現できる。【０１２７】  なお、第２の実施例における電子透かし検出装置は、第３の実施例において例として示した２値化量子化、３値化量子化を利用した電子透かし埋め込み済み画像に対しても検出処理することが可能である。この場合、特に画像の局所的複雑度に応じて埋め込み強度を適応的に変化させて埋め込む場合など検出が安定するブロックと、もとの原画像パターンとの干渉から検出が不安定なブロックが混在している場合に、より安定したブロックからの検出値に重みをおいた検出を行えるため、第３の実施例の検出よりも検出性能の向上が図れる。【０１２８】  ［第４の実施例］
次に本発明の第４の実施例について説明する。第４の実施例は、第１もしくは第２の実施例で説明した方法で埋め込んだ電子透かしの検出に関するものである。本発明の第４の実施例において、以下に説明する部分以外は、第１もしくは第２の実施例において説明した構成と同一である。【０１２９】  本発明の第４の実施例におけるブロック毎検出部９０の構成を図４３に示し、その処理の流れを図４４に示す。図４３に示すように、ブロック毎検出部９０は、周波数対応検出値決定部９１、検出値行列設定部９２、符号対応周波数データベース９３を有している。ブロック毎検出部９０は画素ブロックを入力とし（ステップ１６１）、周波数対応検出値決定部９１が、電子透かし埋め込み装置１０内の符号対応周波数データベースと同一の符号対応周波数データベース９３内の、各符号に対応付けられた周波数のエネルギー、即ちパワースペクトルを各々求める（ステップ１６２）。この際、一つの符号に複数の周波数が対応付けられている場合は、各々の周波数のエネルギーの合計を求める。このようにして得られる２つ（＋、−の符号に対応）の周波数のエネルギーに対し、＋の符号に対応する周波数のエネルギー値から、−の符号に対応する周波数のエネルギー値を減算し、減算した結果を検出値として出力する（ステップ１６３）。【０１３０】  次に検出値行列決定部９２が、ｎ行ｍ行列である検出値行列Ｄ＝｛ｄｉｊ｝に対し、現在処理中の画素ブロックの位置情報（ｍ０，ｎ０）に対応する要素ｄｍ０ｎ０の値を検出値に設定する（ステップ１６４）。【０１３１】  全ての画素ブロックに対して上記処理を繰り返すことにより、検出値行列の全ての要素が決定される。電子透かし検出対象画像と最終的な検出値行列の例は図３４に示すものと同様である。検出値行列の各要素は、対応する画素ブロックに重畳された周波数パターンに対応して符号が定まり、その周波数のエネルギーから他方の周波数のエネルギーを減算した値が絶対値に対応している。【０１３２】  なお、上記の処理に代えて、図４５に示すように、２つ（＋、−の符号に対応）の周波数のエネルギーの大小比較をし、大きいエネルギーと小さいエネルギーの差の絶対値を求め（ステップ１７３）、符号対応周波数データベース９３から、大きいエネルギーをもつほうの周波数に対応する符号（＋又は−）を決定し、この符号に上記周波数エネルギーの差を乗じた値を検出値としてもよい（ステップ１７４）。【０１３３】  （第４の実施例の効果）
本実施例によれば第１、第２の実施例と比べて、検出値の決定の仕方として埋め込みに利用する２つの周波数エネルギーの差を利用することにより次の効果がある。【０１３４】  元の原画像の絵柄に、埋め込みに用いる２つの周波数の一方の周波数に対応する周波数パターンに相当する部分があり、その部分に電子透かしとして重畳する周波数の波形パターンが絵柄とは異なるほうのパターンである場合に、第２の実施例の場合は検出値として埋め込んだ符号とは逆の符号を大きな絶対値で設定してしまうため逆拡散時に大きな雑音となってしまうが、本実施例では２つの周波数エネルギーの差の絶対値になるため、相対的に雑音のエネルギーを減らすことが可能なため、より安定した電子透かし検出を実現できる。【０１３５】  ［第５の実施例］
次に本発明の第５の実施例について説明する。以下、第１〜第４の実施例と異なる部分を中心に説明する。即ち、本発明の第５の実施例において、以下に説明する部分以外は、第１〜第４の実施例において説明した構成を適宜使用することができる。【０１３６】  本発明の第５の実施例における電子透かし検出装置内のブロック分割部１００の構成を図４６に示し、処理の流れを図４７に示す。図４６に示すように、ブロック分割部１００は、領域分割部１０１と画素ブロック切り出し部１０２を有している。【０１３７】  図４７を参照して、ブロック分割部１００における処理の流れを説明する。電子透かし検出装置１０内の画像入力部から検出対象画像を入力し（ステップ１８１）、領域分割部１０１が検出対象画像を予め定めた数（ｍ個×ｎ個）の分割領域に分割する（ステップ１８２）。次に、図４８に示すように、画素ブロック切り出し部１０２が、分割領域の上下左右の端から、予め定めたマージンを見込み、例えば上下左右とも分割領域の辺の長さの１割をマージンとして見込み、マージンを除いた分割領域の中心から画素ブロックを切り出して（ステップ１８３）、順次画素ブロックを出力する（ステップ１８４）。出力される画素ブロックには、当該画素ブロックの検出対象画像上での位置情報、正確には分割領域の検出対象画像上での位置情報が付与されている。【０１３８】  （第５の実施例の効果）
図４９を参照して第５の実施例の効果を説明する。図４９に示すように、本実施例によれば、検出時の画素ブロックは、分割領域より内側の領域となる。これにより電子透かし検出対象画像に若干の幾何歪が生じて画素ブロックの切り出し位置が若干ずれても、画素ブロックがもともとの画素ブロックの境界をまたぐ確率が低くなる。即ち別の周波数パターンが重畳された画素を含まなくなるため、第１〜第４の実施例と比べ、若干の幾何歪みに対してさらにロバストな検出が可能となる。【０１３９】  また、画素ブロックのサイズが第１〜第４の実施例と比べ相対的に小さくなることから、検出処理の計算量が軽減され、より高速に検出処理を実現できる。【０１４０】  ［第６の実施例］
次に、本発明の第６の実施例について説明する。以下、第１〜第５の実施例と異なる部分を中心に説明する。即ち、本発明の第６の実施例において、以下に説明する部分以外は、第１〜第５の実施例において説明した構成を適宜使用できる。【０１４１】  本発明の第６の実施例における電子透かし検出装置内のブロック毎検出部中の周波数対応検出値決定部１１０の構成を図５０に、処理の流れを図５１に示す。【０１４２】  図５０に示すように、第６の実施例における周波数対応検出値決定部１１０は、畳み込み演算部１１１、畳み込み結果絶対値加算部１１２、検出値決定部１１３を有している。また、周波数対応検出値決定部１１０は、量子化値対応周波数データベース（または符号対応周波数データベース）に登録されている各周波数に対応する畳み込みオペレータを有している。以下、図５１を参照して、処理の流れを説明する。【０１４３】  周波数対応検出値決定部１１０は、電子透かし検出装置内のブロック分割部からの画素ブロックを入力とし（ステップ１９１）、まず各周波数用エネルギーバッファＥｆｋを０に初期化する（ステップ１９２）。次に畳み込み演算部１１１が、画素ブロック中の各画素に対して、各周波数に対応する畳み込みオペレータを施して畳み込み結果値を得る（ステップ１９３）。図５２に、畳み込みオペレータの例を示す。【０１４４】  そして、畳み込み結果絶対値加算部１１２が、着目している画素に対し、各周波数用エネルギーバッファに対応する畳み込み結果値の絶対値を加算する（ステップ１９４）。この処理を画素ブロック中の全ての画素に対して行う（ステップ１９５）。その結果から、検出値決定部１１３が、最大値を取るエネルギーバッファに対応するほうの周波数を選出し、その周波数に対応した検出値を量子化値対応周波数データベース（または符号対応周波数データベース）を参照して決定し出力する（ステップ１９６）。【０１４５】  なお、ある画素ブロックについて、各周波数に対して求めた上記絶対値の加算値を、例えば第４の実施例における各周波数に対応するエネルギー値として使用できる。従って、第４の実施例において、＋の符号に対応する周波数のエネルギー値から、−の符号に対応する周波数のエネルギー値を減算することは、本実施例では、＋の符号に対応する周波数に対応する絶対値の加算値から、−の符号に対応する周波数に対応する絶対値の加算値を減算することに相当する。【０１４６】  （第６の実施例の効果）
本実施例によれば、図５２に示すように、各周波数に対応して、比較的小さな畳み込みオペレータを施すことにより周波数エネルギー相当値を求める。これは丁度、周波数に対応する方向微分処理にあたる。通常周波数のエネルギーを定義式どおりに求める場合には、ｅｉθの計算、即ち三角関数など一般に計算量のかかる処理をする必要があるが、本実施例によれば、単純な整数値ベースの畳み込み演算を施すのみで良いため、計算量が軽減され、周波数のエネルギーを定義式どおりに求める場合に比べてより高速に検出処理を実現できる。【０１４７】  ［第７の実施例］
次に、本発明の第７の実施例について説明する。以下、第１〜第６の実施例と異なる部分を中心に説明する。即ち、本発明の第７の実施例において、以下に説明する部分以外は、第１〜第６の実施例において説明した構成を適宜使用できる。【０１４８】  本発明の第７の実施例における電子透かし検出装置３０の構成を図５３に、処理の流れを図５４に示す。本実施例においては、画像入力部３１とブロック分割部３２との間に、画像サイズ正規化部１２０を備えている。図５４を参照して本実施例の電子透かし検出装置１０における処理の流れを説明する。【０１４９】  図５４に示すように、電子透かし検出装置３０は検出対象画像を入力したのち（ステップ２０１）、検出対象画像を、予め定めた画素数の画像サイズとなるように拡大／縮小変換し、画像サイズを正規化したサイズ正規化検出対象画像を生成し、続くブロック分割部３２の入力とする。これ以降の処理は第１の実施例等と同じである。【０１５０】  （第７の実施例の効果）
本実施例によれば、検出対象画像のサイズを正規化してから実際の電子透かし検出処理を行う。一般に、正規化後の画像サイズが極端に大きくない限り、画像の拡大／縮小処理に比べてその後段の電子透かし検出処理の方が計算量がかかる。正規化サイズは検出に問題ないサイズ（周波数パターンが潰れないサイズ）以上であれば計算処理上問題ないので、入力に対しては一般に縮小処理となることが多い（拡大を必要とする場合には既に周波数パターンが潰れていて検出不可能であるから）。よって、正規化処理によって、入力画像が大きければ大きいほど、計算量が軽減され、正規化を行わない場合と比べてより高速に検出処理を実現できる。【０１５１】  さらに、第６の実施例で説明したように、周波数エネルギーを求めるのに畳み込み演算を用いている場合、画像サイズを正規化することによって周波数パターンの波長が確定することにより、図５５に示すように、畳み込みオペレータを単なる方向微分ではなく、正規化後の波長を考慮したオペレータとすることができ、より高精度に周波数エネルギーを計測することができるため、よりロバストな検出を実現できる。【０１５２】  ［第８の実施例］
次に、本発明の第８の実施例について第１〜第７の実施例と異なる部分を中心に説明する。即ち、本発明の第８の実施例において、以下に説明する部分以外は第１〜第７の実施例の構成を適宜使用できる。以下の説明では本実施例を第７の実施例に適用した場合について説明する。【０１５３】  本発明の第８の実施例における電子透かし検出装置３０の構成を図５６に、処理の流れを図５７に示す。図５６に示すように、本実施例の電子透かし検出装置３０は、画像サイズ正規化部１２０とブロック分割部３２との間に前処理フィルタ処理部１２１を備えている。【０１５４】  本実施例では、図５７に示すように、画像サイズ正規化部１２０から出力されるサイズ正規化検出対象画像に、前処理フィルタ処理部１２１が前処理フィルタ処理を施し（ステップ２１３）、ブロック分割部３２が、フィルタ処理済みサイズ正規化検出対象画像をブロック分割する（ステップ２１４）。【０１５５】  前処理フィルタ処理に用いるフィルタとして、埋め込みに用いた周波数パターンの周波数を通過させる帯域通過フィルタ（バンドパスフィルタ）を用いることが望ましい。帯域通過フィルタによる帯域制限処理により、例えば図５８に示すように低周波数成分が低減される。原画像データの絵柄の周波数は低周波数成分が多いので、周波数パターンに対する原画像データの絵柄の影響を軽減できる。なお、前処理フィルタ処理部として、画像信号データの波形を微分する微分回路を用いることもできる。【０１５６】  フィルタ処理加えて、クリッピング処理を行うことにより検出性能を更に改善できる。クリッピング処理とは、例えば図５９に示すように、フィルタ処理済みの画像の信号波形のうち、予め定めた上限値と下限値を超える信号部分に丸め処理を施すことである。この結果、微弱な振幅の信号が相対的に強まることになる。従って、フィルタ処理済みの信号のレベルを設定値以内に抑えることができ、周波数パターンの検出感度を向上させることができる。【０１５７】  なお、本実施例を第１〜第６の実施例に適用する場合は、サイズ正規化処理部を省き、前処理フィルタ処理部における帯域通過フィルタの通過帯域を、入力の画像サイズに応じて相対的に決定するようにすれば良い。【０１５８】  （第８の実施例の効果）
本実施例によれば、検出対象画像のサイズを正規化し、サイズ正規化検出対象画像に対して、前処理フィルタを施すことにより、上記のように周波数パターンに対する原画像データの絵柄の影響を軽減し、電子透かしを信号、原画像を雑音とみなした時のＳ／Ｎ比を向上することができる。これにより、よりロバストな検出を実現することができる。【０１５９】  ［第９の実施例］
次に、本発明の第９の実施例について第１〜第８の実施例と異なる部分を中心に説明する。即ち、本発明の第９の実施例において、以下に説明する部分以外は、第１〜第８の実施例において説明した構成を適宜使用できる。【０１６０】  以下の説明では、ブロック分割数は縦横同じｎ個とし、利用する周波数は２種類のみとし、周波数パターンは図１６のように一方を９０°回転したパターンがもう一方になるようなものを仮定する。また、サイズ正規化処理を行う際には、分割されるブロックが正方形となるような縦横比を持つ正規化サイズの指定をしていることも仮定する。【０１６１】  本発明の第９の実施例では、電子透かし検出装置における透かし情報逆拡散部１３０が本実施例特有の機能を有している。本実施例の透かし情報逆拡散部１３０の構成を図６０に、処理の流れを図６１に示す。【０１６２】  図６０に示すように、本実施例の透かし情報逆拡散部１３０は、一次元化処理部３８に代えて９０度毎一次元化処理部１３１を有し、また、検出透かし情報選定部１３５を更に備えている点が、図２２に示した第１の実施例の透かし情報逆拡散部３４等と異なる。図６１を参照して、本実施例の透かし情報逆拡散部１３０における処理の流れを説明する。【０１６３】  透かし情報逆拡散部１３０は検出値行列を入力とし（ステップ２２１）、９０度毎一次元化処理部１３１が、図６２に示すように検出値行列を０度、９０度、１８０度、２７０度回転させた行列の各々から、第１の実施例等と同様にして、検出対象系列を生成し、４つの検出対象系列を検出対象系列群として出力する（ステップ２２２）。この際、９０度回転、２７０度回転した検出値行列から得られる検出対象系列については、一次元化処理によって得られた検出対象系列の各項の値を、その値に対応付けられた周波数パターンと異なるもう一方の周波数パターンに対応付けられた値となるように変換する。例えば、第１の実施例のように検出値の符号が周波数と対応付けられている場合は、検出値系列の全ての項の符号を反転させる。なお、０度、１８０度回転させた検出値行列から得られる検出対象系列については、特に変更を加えない。【０１６４】  上記検出対象系列の項の値を変換する理由は次のとおりである。図６３に示すように、電子透かし埋め込み済み画像が画像として９０度回転して電子透かし検出装置３０に入力された場合に対応する検出値行列は、回転していない画像から得られる検出値行列と比較すると、各要素の配置が９０度回転し、かつ各要素の符号が反転した形になる。【０１６５】  まず、配置が９０度回転する理由については、画像が９０度回転したことによりブロックの配置も９０度回転したことによる。次に要素値が符号反転する理由は、画像の９０度回転により各ブロックに重畳されている周波数パターンも９０度回転し、これにより埋め込みに用いられた周波数パターンではないもう一方の周波数パターンとみなせるためである。９０度回転している電子透かし検出対象画像から検出を試みる場合、−９０度、即ち２７０度回転した検出値行列を上記処理のようにして用意すれば、この２７０度回転させ符号反転した検出値行列は、回転していない電子透かし検出対象画像から得られる検出値行列と一���する。【０１６６】  続いて、図６１のステップ２２３において、逆拡散部１３３は、検出対象系列群の各検出対象系列について、各々逆拡散を行い、復号対象情報を４つ生成し、これを復号対象情報群として出力する。【０１６７】  次に誤り訂正／検出復号部１３４は、復号対象情報群の各復号対象情報について、各々誤り訂正／検出復号処理を行う（ステップ２２４）。そして、検出透かし情報選定部１３５は、４つの復号対象情報を復号して得られた結果のうち、訂正可能な誤りを含むものがある場合は、訂正を行って検出透かし情報として出力し、４つ全てについて訂正不可能な誤りを検出した場合は、電子透かし検出不可能を出力する（ステップ２２５）。【０１６８】  （第９の実施例の効果）
本実施例によれば、検出値行列の値を９０度毎回転、及び（９０度回転、２７０度回転に対する）符号反転をすることにより、電子透かし検出対象画像に９０度毎の回転が施されている場合でも電子透かしの検出が可能となる。【０１６９】  単純に入力画像を９０度毎回転させて４回検出試行する場合は、画像のブロック分割、ブロック内周波数エネルギー測定処理を含め、完全に４回繰り返して処理を行わなければならないが、本実施例によれば、検出値行列を求めるための画像のブロック分割、ブロック内周波数エネルギー測定処理は１回行うのみで、あとは検出値行列の操作を行うのみである。一般に、画像処理の計算量はサンプル数が膨大なため、相対的にサンプルの少ない行列処理などの演算処理に比べて計算量が大きい（例えば電子透かし検出対象画像が２５６×２５６画素、検出値行列が１６×１６行列である場合などを想定すれば明らか）。これにより、画像の９０度毎の回転に対応した電子透かし検出を、効率的な処理で実現可能となる。【０１７０】  なお、本実施例では９０度毎回転の場合についてのみ示したが、同様の処理によって、画像の９０度毎回転に加えてさらに鏡像変換（鏡に映った像のように左右が反転する）に対しても容易に対応可能である。具体的には検出値行列の要素の配置を鏡像変換して各要素値の符号を反転するケースも含めて、回転角度４通り×鏡像変換有無２通りの８通りの検査を行えばよい。また周波数パターンが互いに９０度回転したものに対応する２通りの例について示したが、これについても検出値行列を求める際に、各々の周波数パターンを９０度回転させた場合についての周波数エネルギーもあわせて計測しておくことで、より多くの周波数パターンの場合に対応可能である。【０１７１】  さらに第１〜第６の実施例のように、検出対象画像のサイズ正規化処理を伴っていない場合や、ブロック分割数がｍ×ｎのように縦横で異なっている場合でも、９０度、２７０度回転対応処理時にはブロック分割の仕方をｎ×ｍとすれば、本実施例と同様の効果が得られる。【０１７２】  ［第１０の実施例］
次に、本発明の第１０の実施例について第１〜第９の実施例と異なる部分を中心に説明する。即ち、本発明の第１０の実施例において、以下に説明する部分以外は、第１〜第９の実施例において説明した構成を適宜使用できる。【０１７３】  本発明の第１０の実施例における電子透かし検出装置３０の構成を図６４に、処理の流れを図６５に示す。図６４に示すように、本実施の電子透かし検出装置３０は、図５６に示した電子透かし検出装置におけるブロック分割部３２とブロック毎検出部３３に代えて、検出値行列生成部１４０を備えている。本実施例においては画像入力部３１、画像サイズ正規化部１２０、前処理フィルタ処理部１２１、透かし情報逆拡散部３４は第８もしくは第９の実施例における対応部分と同一のものを使用できる。【０１７４】  図６５のフローチャートに示すように、本実施例においては、前処理フィルタ処理部１２１においてフィルタ処理済みサイズ正規化検出対象画像を生成したのち（ステップ２３３）、検出値行列生成部１４０において、フィルタ処理済みサイズ正規化検出対象画像に対して、予め定められた周波数に対応するフィルタを施し、各周波数に対応したフィルタ処理済み画像群を生成する（ステップ２３４）。そして、各周波数に対応したフィルタ処理済み画像群を用いてブロック切り出し位置の検出を行い（ステップ２３５）、検出したブロック切り出し位置に対応した検出値行列を出力する（ステップ２３６）。最後に透かし情報逆拡散部において検出透かし情報を得る（ステップ２３７）。【０１７５】  本発明の第１０の実施例における検出値行列生成部１４０の構成を図６６に、処理の流れを図６７に示す。【０１７６】  図６６に示すように、第１０の実施例における検出値行列生成部１４０は、各周波数に対応したフィルタ処理済み画像群生成部１４１、ブロック切り出し位置検出部１４２、検出値行列構成部１４３、符号対応周波数データベース１４４を有している。符号対応周波数データベース１４４は第１の実施例における符号対応周波数データベースと同様のものであるが、本実施例では、符号に対応してｆ０、ｆ１の周波数の格納しているものとする。図６７を用いて処理の流れを説明する。【０１７７】  検出値行列生成部１４０はフィルタ処理済みサイズ正規化検出対象画像を入力とし（ステップ２４１）、各周波数に対応したフィルタ処理済み画像群生成部１４１が、予め定められた周波数に対応した畳み込みオペレータを用いてフィルタ処理済みサイズ正規化画像データに対して畳み込み演算を行い、周波数の種類分の数を持つフィルタ処理済み画像を生成し、これらを各周波数に対応したフィルタ処理済み画像群として出力する（ステップ２４２）。【０１７８】  続いて、ブロック切り出し位置検出部１４２が、ブロック切り出し位置の探索を行い、ブロック切り出し位置を検出する（ステップ２４３）。そして、検出値行列構成部１４３が、検出したブロック切り出し位置に対応した検出値行列を構成し出力する（ステップ２４４）。以下、各部の処理をより詳細に説明する。【０１７９】  図６８は各周波数に対応したフィルタ処理済み画像群生成部１４１の処理を説明するための図である。本実施例では予め定められた周波数はｆ０、ｆ���の２種類であるため、フィルタ処理済みサイズ正規化検出対象画像から、フィルタ処理済み画像を２つ生成する。即ち、図６８に示すように、それぞれの周波数に対応した畳み込みオペレータを用いて、フィルタ処理済みサイズ正規化検出対象画像の各画素に対して畳み込み演算を順次走査しながら行うことにより、２つの周波数に対応したフィルタ処理済み画像が２つ生成される。この時、図６８に示すように、畳み込みオペレータに対応する周波数と、埋め込み時の周波数パターンとが一致するフィルタ処理済み画像のブロック領域においては、大きな絶対値を持つ値が現れ、一致していない場合は小さな絶対値を持つ値が現れる（図では明：＋の大きな絶対値の値、暗：−の大きな絶対値の値を示している）。これは畳み込み演算が部分的に相関演算を行っているとみなせることから、同じパターン同士の時に大きな絶対値をもつ相関値をとり、異なるパターンの時には小さな絶対値を持つ相関値を取ることを考えれば自明である。これら２つのフィルタ処理済み画像を各周波数に対応したフィルタ処理済み画像群として出力する。なお、畳み込み演算の際に、画像の端点などで画素値を参照できない場合は、画素値を０と仮定して演算するなどして、場合に応じた適切な方法で計算を行うものとする。【０１８０】  次にブロック切り出し位置検出部１４２についてより詳細に説明する。ブロック切り出し位置検出部１４２の構成を図６９に、処理の流れを図７０に示す。【０１８１】  図６９に示すように、ブロック切り出し位置検出部１４２は、探索位置設定部１４５、ブロック切り出し位置応答値算出部１４６、ブロック切り出し位置応答値バッファ１４７、ブロック切り出し位置決定部１４８を有している。以下、図７０を参照して処理の流れを説明する。【０１８２】  ブロック切り出し位置検出部１４２は、各周波数に対応したフィルタ処理済み画像群を入力とし（ステップ２５１）、探索位置設定部１４５が、予め定めた探索範囲の中の探索位置情報（ｏｘ、ｏｙ）を生成する（ステップ２５２）。次に、ブロック切り出し位置応答値算出部１４６が、探索位置情報で示される座標をブロック切り出し位置と仮定した場合のブロック切り出し位置応答値を求める（ステップ２５３）。【０１８３】  求めたブロック切り出し位置応答値は、対応する探索位置情報と組にしてブロック切り出し位置応答値バッファに格納される（ステップ２５４）。この処理を予め定めた探索範囲に含まれる全ての探索位置について行う（ステップ２５５）。最後にブロック切り出し位置決定部１４８が、最大のブロック切り出し位置応答値を持つ探索位置情報を、検出したブロック切り出し位置情報として出力する（ステップ２５６）。【０１８４】  図７１に上記の探索位置情報の例を示す。探索範囲はフィルタ処理済みサイズ正規化検出対象画像の左上端点（各周波数に対応したフィルタ処理済み画像群の各画像も同じサイズなのでこれらの左上端点でもある）を中心としたある大きさを持つ近傍であり、この近傍に含まれる座標（ｏｘ，ｏｙ）を探索位置情報として順次選択する。例えばフィルタ処理済みサイズ正規化検出対象画像の左上端点座標を（０、０）とした場合、探索位置（ｏｘ，ｏｙ）は、ＳＱＲＴ（ｏｘ２＋ｏｙ２）＜ｒとなる原点を中心とした半径ｒの円に含まれる領域の中の座標点として選択される（ＳＱＲＴ（・）は平方根を表す）。入力時点での電子透かし検出対象画像が、元々の電子透かし埋め込み済み画像から若干位置ずれしている場合でも、近傍内に正しいブロック切り出し位置がある場合、探索位置が正しいブロック切り出し位置と一致したときに、ブロック切り出し位置応答値が他の探索位置に比べ大きな値となるような応答値算出方法を用いれば、正しいブロック切り出し位置が検出できることになる。第１０の実施例におけるブロック切り出し位置検出部１４２のブロック切り出し位置応答値算出部１４６はこのような観点から構成されている。以下、ブロック切り出し位置応答値算出部１４６について説明する。【０１８５】  本発明の第１０の実施例におけるブロック切り出し位置応答値算出部１４６の構成を図７２に、処理の流れを図７３に示す。図７２に示すように、ブロック切り出し位置応答値算出部１４６は、ブロック分割部１５０、画素絶対値和計算部１５１、最大値絶対値和判定部１５２、最大値絶対値和加算部１５３を有している。図７３を参照してブロック切り出し位置応答値算出部１４６における処理の流れを説明する。【０１８６】  ブロック切り出し位置応答値算出部１４６は、各周波数に対応したフィルタ処理済み画像群と探索位置情報を入力とする（ステップ２６１）。また、最大絶対和加算部１５３の値を初期化しておく（ステップ２６２）。【０１８７】  ブロック分割部１５０は、各周波数に対応したフィルタ処理済み画像群中の各フィルタ処理済み画像について、探索位置情報で示される座標をブロック切り出し位置とした場合のブロック分割を行い、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群を順次取得する（ステップ２６３）。次に、画素絶対値和計算部１５１は、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群中の各画素ブロックについて、画素ブロック中の画素値の絶対値和を計算し、各画素ブロックに対応した画素絶対値和群を得る（ステップ２６４）。【０１８８】  次に最大絶対値和判定部１５２は、各画素ブロックに対応した画素絶対値和群の中で最大の値を取るものを選び、この値を最大絶対値和として取得する（ステップ２６５）。最後に最大絶対値和加算部１５３が、初期値０の値であるＳに最大絶対値和を加算する（ステップ２６６）。上記画素絶対値和計算部１５１から最大絶対値和加算部１５２までの処理を、ブロック分割で取得した全ての各フィルタ処理済み画像に対応した画素ブロック群について繰り返し行い（ステップ２６７）、その結果として得られるＳをブロック切り出し位置応答値として出力する（ステップ２６８）。【０１８９】  図７４は、上記のブロック分割部１５０の処理を説明する図である。ブロック分割部１５０は、各周波数に対応したフィルタ処理済み画像群と探索位置情報を入力とし、各周波数に対応したフィルタ処理済み画像群中の各フィルタ処理済み画像について、探索位置情報で示される座標をブロック切り出し位置とした場合のブロック分割を行い、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群を順次出力する。��素ブロックのサイズは、各フィルタ処理済み画像（全て同じサイズ）を予め定めたブロック個数で分割した場合に相当する大きさである。探索位置情報で示される座標によってブロック分割をした際に、画像サイズの外の画素を参照する場合については、当該画素値を０とするなどして、適当な方法で画素ブロックを構成するものとする。【０１９０】  図７５は、上記の画素絶対値和計算部１５１の処理を説明する図である。上述したとおり、画素絶対値和計算部１５１は、各フィルタ処理済み画像に対応した画素ブロック群を入力とし、それぞれの画素ブロックについて、その中に含まれる画素値の絶対値の総和を計算し、結果を各画素ブロックに対応した画素絶対値和群として出力する。この処理は、各画素ブロック生成の際に対応付けられた周波数のエネルギーを計算することに相当する。【０１９１】  次に上記の構成を有するブロック切り出し位置応答値算出部１４６により、探索位置情報で示される座標が正しいブロック切り出し位置の場合に大きな値を出力される理由について説明する。図７４のようなブロック切り出しを行った場合、探索位置情報がブロック分割位置から大きく離れている場合には、切り出されて得られる各画素ブロックは電子透かし埋め込み時のブロック分割のされ方からずれているため、埋め込み時に重畳された周波数パターン以外の画素領域を画素ブロックに含む。従って、重畳された周波数のエネルギーは、正しくブロック切り出しした場合に比べて小さな値となる。また、各ブロックにおける最大エネルギーをもつ周波数は、探索位置とブロック分割位置が大きくずれていなければ、埋め込み時に重畳された周波数パターンに対応する周波数と同じである（画素ブロック中に占める重畳周波数パターンの面積に依存する）。【０１９２】  よって、ブロックの縦横サイズの半分程度以下のずれ量であれば、探索位置情報が示す座標がほぼ正しいブロック切り出し位置の場合に、各画素ブロックの最大周波数エネルギー値、即ち最大絶対値和が大きな値となり、結果、最大絶対値和の総和であるブロック切り出し位置応答値も大きな値となる。ここで、「ほぼ」正しい場合、と述べている理由は、図７６に示すように、検出対象画像において、単なる平行移動ではなく、若干の拡大・縮小が生じている場合には、正しいブロック切り出し位置で最大のブロック切り出し位置応答値が得られるわけではないが、その場合でも、ブロック全てで評価した場合に、もっとも周波数エネルギーを大きく取れる切り出し位置で最大のブロック切り出し位置応答値が得られるケースがあるためである。このような場合でも、拡大・縮小の程度が微小であれば、各画素ブロックにおいて最大のエネルギーをもつ周波数は、埋め込み時に重畳された周波数パターンに対応する周波数とほぼ一致するため、透かし情報逆拡散部で正しく検出透かし情報が得られることになる。同時に、画素ブロック全体で評価した際に最大の周波数エネルギーが得られるようにブロック切り出し位置を探索するため、埋め込み時の周波数パターンを検出利得を最も高くなるようにしており、探索を行わない場合よりも耐性の向上を実現できる。【０１９３】  次に第１０の実施例の検出値行列生成部１４０における検出値行列構成部１４３についてより詳細に説明する。図７７に検出値行列構成部１４３の構成を、図７８に処理の流れを示す。【０１９４】  図７７に示すように、検出値行列構成部１４３は、ブロック分割部１５５、画素絶対値和計算部１５６、最大エネルギー周波数判定部１５７、検出値行列要素値設定部１５８を有する。図７８及び図７９を参照して検出値行列構成部１４３の処理の流れを説明する。【０１９５】  検出値行列構成部１４３は、各周波数に対応したフィルタ処理済み画像群と、ブロック切り出し位置検出部１４２により決定されたブロック切り出し位置情報を入力とする（ステップ２８１）。ブロック分割部１５５は、ブロック切り出し位置情報で示される座標をブロック切り出し位置として、各周波数に対応したフィルタ処理済み画像群中の各フィルタ処理済み画像をブロック分割し、同じブロック位置にある各フィルタ処理済み画像に対応した画素ブロック群を順次生成する（ステップ２８２）。【０１９６】  次に画素絶対値和計算部１５６は、各フィルタ処理済み画像に対応した画素ブロック群を入力し、それぞれの画素ブロックについて、その中に含まれる画素値の絶対値の総和を計算し、結果を各画素ブロックに対応した画素絶対値和群として出力する（ステップ２８３）。なお、検出値行列構成部１４３内のブロック分割部１５５および画素絶対値和計算部１５６の処理は、ブロック切り出し位置応答値算出部１４６のブロック分割部１５０および画素絶対値和計算部１５１と全く同じである。【０１９７】  次に最大エネルギー周波数判定部１５７は、各画素ブロックに対応した画素絶対値和群の中で最大の値を取る時の画素ブロックが、どの周波数に対応したフィルタ処理済み画像から得られたブロックかを判定し（ステップ２８４）、対応する周波数を最大エネルギーをもつ周波数として出力する。最後に検出値行列要素値設定部１５８において、最大エネルギーをもつ周波数に対応する符号（−又は＋）を、符号対応周波数データベース１４４から決定し、−１もしくは＋１をブロック位置に相当する検出値行列の要素値として設定する（ステップ２８５）。なお、これはこの部分に関し第１の実施例と同様の場合であるが、他の実施例と同様にしてもよい。また、最大画素絶対値和にこの符号をつけた値を検出値行列の要素値としてもよい。【０１９８】  上記画素絶対値和計算部１５６から検出値行列要素値設定部１５８までで行われる処理を、全てのブロック位置に対して繰り返し行い（ステップ２８６）、その結果を検出値行列として出力する（ステップ２８７）。【０１９９】  図７９を用いて検出値行列構成部１４３の処理の流れをより具体的に説明する。図７９においては周波数ｆ０およびｆ１の２種類の周波数を用いた方法について示している。各周波数に対応したフィルタ処理済み画像群の中のフィルタ処理済み画像を、ブロック切り出し位置情報に対応する座標をブロック切り出し位置として各々ブロック分割して各フィルタ処理済み画像に対応した画素ブロック群を生成し、各ブロック位置毎に、画素ブロック群中の各画素ブロックの画素値の絶対値和を求めて、最大の画素絶対値和を取る画素ブロックがどの周波数に対応したフィルタ処理済み画像から得られたブロックかを判定し、フィルタ処理済み画像に対応する周波数を最大エネルギー周波数として得る。そして符号対応周波数データベースから最大エネルギー周波数に対応する符号を決定し、検出値行列のブロック位置に対応する要素値として値（−１又は１）を設定する。【０２００】  （第１０の実施例の効果）
本実施例によれば、検出対象画像が、もともとの電子透かし埋め込み済み画像の状態から若干位置ずれ、拡大・縮小の影響を受けた状態でも、実施例中に説明した理由により、よりロバストに正しく検出透かし情報を得ることが可能となる。【０２０１】  また、本実施例では、第１、第２の実施例と同様に符号対応周波数データベースを用いて電子透かしの埋め込み、検出を行う場合について説明したが、第３の実施例のように、量子化値対応周波数データベースを用いた電子透かしの埋め込み、検出の場合にも同様に適用可能である。【０２０２】  また、本実施例によれば、検出対象画像が、もともとの電子透かし埋め込み済み画像の状態から若干位置ずれ、拡大・縮小の影響を受けた状態での検出の際に、入力画像を摂動させつつブロック分割をして得られたブロックに対して毎回各周波数エネルギーを計測する処理を行う単純な方法と比べ、各周波数のエネルギー計測に相当するフィルタ処理は一回のみでよく、ブロック切り出し位置の探索の際は探索位置に応じたブロック分割をしてそのブロック中の画素値の絶対値和を計算する処理を繰り返すのみであるため、効率的な処理で実現可能となる。【０２０３】  ［第１１の実施例］
次に、本発明の第１１の実施例について第１〜第１０の実施例と異なる部分を中心に説明する。即ち、本発明の第１１の実施例において、以下に説明する部分以外は、第１〜第１０の実施例の構成を適宜使用できる。【０２０４】  本発明の第１１の実施例における電子透かし検出装置における透かし情報逆拡散部１６０の構成を図８０に、処理の流れを図８１に示す。図８０に示すように、第１１の実施例における透かし情報逆拡散部１６０は、第１の実施例等における透かし情報逆拡散部と同様の構成であるが、逆拡散部１６３と誤り訂正／検出復号部１６４における処理内容が異なる。図８１を参照して処理の流れを説明する。【０２０５】  透かし情報逆拡散部１６０は検出値行列を入力とし（ステップ２９１）、一次元化処理部１６１で検出値行列を長さｍ×ｎの一次元系列である検出対象系列に変換する（ステップ２９２）。この変換手順は、電子透かし埋め込み装置における埋め込み項選定部と同様の規則に基づくものとする。例えば、先に示した埋め込み項選定部と同様の規則を適用すれば、図２４に示すように、検出値行列の（ｍ０，ｎ０）要素は、ｉ＝ｍ０＋ｎ０×ｍ（ｍはｘ方向総ブロック数）となる検出対象系列の項ｄｉとして設定される。
次に逆拡散部１６３において、検出対象系列を擬似乱数列を用いて逆拡散し、復号対象情報を得る。擬似乱数列は電子透かし埋め込み装置と同一の擬似乱数生成器１６２を用いて生成される。
具体的な逆拡散方法としては、埋め込み時の拡散方法に対応して以下のような方法を用いることができる（以下の（Ａ）〜（Ｃ）がそれぞれ埋め込み時の拡散方法（Ａ）〜（Ｃ）に対応する）：
（Ａ）検出対象系列｛ｄｉ｝（ｉ＝０〜ｍｎ−１）、擬似乱数列を｛ｒｉ｝（ｉ＝０〜ｍｎ−１）とした時に、復号対象情報（Ｓビットとする）｛ｃｋ｝（ｋ＝０〜Ｓ−１）を以下のようにして求める。【０２０６】
0004279839.tif 000017
を求め、
0004279839.tif 000018
のようにビット値を決定する。ただし、ｒｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を、ＳＱＲＴ（・）は平方根を表す。
（Ｂ）検出対象系列｛ｄｉ｝（ｉ＝０〜ｍｎ−１）、擬似乱数列を２種類生成しそれぞれ｛ｒ１ｉ｝（ｉ＝０〜ｍｎ−１）、｛ｒ２ｉ｝（ｉ＝０〜ｍｎ−１）とした時に、復号対象情報（Ｓビットとする）｛ｃｋ｝（ｋ＝０〜Ｓ−１）を以下のようにして求める。まず｛ｒ１ｉ｝を用いて置換のための配列｛ｐｉ｝を埋め込み時と同様に生成する。次に、
0004279839.tif 000019
を求め、
0004279839.tif 000020
のようにビット値を決定する。ただしｒ２ｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を、ＳＱＲＴ（・）は平方根を表す。
（Ｃ）検出対象系列｛ｄｉ｝（ｉ＝０〜ｍｎ−１）、擬似乱数列を｛ｒｉ｝（ｉ＝０〜ｍｎ−１）とした時に、復号対象情報（Ｓビットとする）を｛ｃｋ｝（ｋ＝０〜Ｓ−１）を以下のようにして求める。【０２０７】
0004279839.tif 000021
を求め、
0004279839.tif 000022
のようにビット値を決定する。ただしｒｉ＝１ｏｒ−１の乱数列とする。またｘ％ｙはｘをｙで割った際の剰余を、ＳＱＲＴ（・）は平方根を表す。【０２０８】  また、逆拡散部１６３においては、復号対象情報とあわせて、電子透かし有無指標値を生成する（ステップ２９３）。これは、逆拡散によって得られる復号対象情報の検出信号強度を表す指標値であり、上記の（Ａ）、（Ｂ）、（Ｃ）の例では、電子透かし有無指標値Ｅを例えば以下のようにして算出する：
0004279839.tif 000023
最後に、誤り訂正／検出復号部１６４において、電子透かし検出有無指標値が、予め定めた閾値以上かどうかを調べ（ステップ２９４）、電子透かし検出有無指標値が、予め定めた閾値より小さな値であった場合は電子透かし検出不可能を出力する（ステップ２９６）。電子透かし検出有無指標値が、予め定めた閾値以上である場合は、復号対象情報を誤り訂正／検出復号を行い、検出透かし情報を得る（ステップ２９５）。この際、復号対象情報中の誤り検出した場合、訂正可能であれば訂正して検出透かし情報として出力し、訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力する。
（第１１の実施例の効果）
本実施例によれば、電子透かしが埋め込まれていない、あるいは電子透かし信号が検出できないほど歪みが大きいような検出対象画像から電子透かし検出を試みる場合に、間違った検出透かし情報を誤って「正しく」検出したと判定してしまうことを回避することができ、検出透かし情報の信頼度の向上を実現できる。【０２０９】  本実施例の電子透かし有無指標値の例が有効に機能する理由について図８２を用いて説明する。図８２の（１）は、電子透かしの検出が正しく行える場合のＣｏｒｋの取る値について示している。また、（２）は電子透かしが埋め込まれていない、あるいは電子透かし信号が検出できないほど歪みが大きい検出対象画像が与えられた場合などにより、電子透かし検出を正しく行えない場合のＣｏｒｋの取る値について示している。図８２（１）のように、正しく検出可能な場合は、埋め込みに用いた乱数列と、検出対象画像から得られる検出対象系列との相関値が高いことから、各Ｃｏｒｋの絶対値は大きな値となり、逆に検出が正しく行えない場合は、各Ｃｏｒｋの絶対値は小さな値となる。また、本実施例における上記逆拡散の例（Ａ）、（Ｂ）、（Ｃ）では、検出対象系列のノルムを常に正規化してから乱数列との相関を計算しているため、異なる検出対象画像、異なる透かし情報を埋め込んだ場合でも同じ尺度で評価することができる。以上のことから、図８２の右側に示すように、Ｃｏｒｋの絶対値和である電子透かし有無指標値Ｅは（１）の場合には大きな値となり、（２）の場合には小さな値となる。そこで、予め定めた閾値αを用いて、電子透かしの検出が正しく行えるか否かの判定を行うことができる。また、誤り訂正符号を用いて検出透かし情報の一部誤りを訂正する場合において、一般的に誤り訂正符号では訂正能力を超える誤りが生じた場合に誤訂正（間違った符号に訂正してしまう）が起こる危険性があるが、本実施例のように電子透かし有無指標値の閾値判定と組み合わせることにより、誤訂正の問題を回避することが可能となる。【０２１０】  なお、本実施例では、まず電子透かし有無指標値を閾値判定して、閾値より小さい場合は電子透かし検出不可能を出力し処理を終了、閾値以上の場合に誤り訂正／検出復号化を行って、訂正可能な誤りの場合は訂正を行って検出透かし情報を出力し処理を終了、訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力して処理を終了、といった形で、電子透かし有無指標値の閾値判定→誤り訂正／検出復号処理による誤り判定といった流れで処理を行っているが、この順序を逆にしても良い。具体的には、まず誤り訂正／検出復号処理により、訂正不可能な誤りを検出した場合は電子透かし検出不可能を出力し処理を終了、訂正可能な誤りの場合は訂正を行って検出透かし情報を生成し、続いて電子透かし有無指標値を閾値判定して、閾値より小さい場合は電子透かし検出不可能を出力し処理を終了、閾値以上の場合は先に求めた検出透かし情報を出力して処理を終了、といった流れで処理を行っても良い。【０２１１】  なお、各実施例において説明した装置は、当該装置の機能を実行させるためのプログラムをコンピュータに搭載することにより実現することも可能である。そのプログラムは、ＣＤ−ＲＯＭ、メ���リなどの記録媒体に記録して配布したり、ネットワークを介して配布することができる。【０２１２】  なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図１】
0004279839.tif 000024
【図２】
0004279839.tif 000025
【図３】
0004279839.tif 000026
【図４】
0004279839.tif 000027
【図５】
0004279839.tif 000028
【図６】
0004279839.tif 000029
【図７】
0004279839.tif 000030
【図８】
0004279839.tif 000031
【図９】
0004279839.tif 000032
【図１０】
0004279839.tif 000033
【図１１】
0004279839.tif 000034
【図１２】
0004279839.tif 000035
【図１３】
0004279839.tif 000036
【図１４】
0004279839.tif 000037
【図１５】
0004279839.tif 000038
【図１６】
0004279839.tif 000039
【図１７】
0004279839.tif 000040
【図１８】
0004279839.tif 000041
【図１９】
0004279839.tif 000042
【図２０】
0004279839.tif 000043
【図２１】
0004279839.tif 000044
【図２２】
0004279839.tif 000045
【図２３】
0004279839.tif 000046
【図２４】
0004279839.tif 000047
【図２５】
0004279839.tif 000048
【図２６】
0004279839.tif 000049
【図２７】
0004279839.tif 000050
【図２８】
0004279839.tif 000051
【図２９】
0004279839.tif 000052
【図３０】
0004279839.tif 000053
【図３１】
0004279839.tif 000054
【図３２】
0004279839.tif 000055
【図３３】
0004279839.tif 000056
【図３４】
0004279839.tif 000057
【図３５】
0004279839.tif 000058
【図３６】
0004279839.tif 000059
【図３７】
0004279839.tif 000060
【図３８】
0004279839.tif 000061
【図３９】
0004279839.tif 000062
【図４０】
0004279839.tif 000063
【図４１】
0004279839.tif 000064
【図４２】
0004279839.tif 000065
【図４３】
0004279839.tif 000066
【図４４】
0004279839.tif 000067
【図４５】
0004279839.tif 000068
【図４６】
0004279839.tif 000069
【図４７】
0004279839.tif 000070
【図４８】
0004279839.tif 000071
【図４９】
0004279839.tif 000072
【図５０】
0004279839.tif 000073
【図５１】
0004279839.tif 000074
【図５２】
0004279839.tif 000075
【図５３】
0004279839.tif 000076
【図５４】
0004279839.tif 000077
【図５５】
0004279839.tif 000078
【図５６】
0004279839.tif 000079
【図５７】
0004279839.tif 000080
【図５８】
0004279839.tif 000081
【図５９】
0004279839.tif 000082
【図６０】
0004279839.tif 000083
【図６１】
0004279839.tif 000084
【図６２】
0004279839.tif 000085
【図６３】
0004279839.tif 000086
【図６４】
0004279839.tif 000087
【図６５】
0004279839.tif 000088
【図６６】
0004279839.tif 000089
【図６７】
0004279839.tif 000090
【図６８】
0004279839.tif 000091
【図６９】
0004279839.tif 000092
【図７０】
0004279839.tif 000093
【図７１】
0004279839.tif 000094
【図７２】
0004279839.tif 000095
【図７３】
0004279839.tif 000096
【図７４】
0004279839.tif 000097
【図７５】
0004279839.tif 000098
【図７６】
0004279839.tif 000099
【図７７】
0004279839.tif 000100
【図７８】
0004279839.tif 000101
【図７９】
0004279839.tif 000102
【図８０】
0004279839.tif 000103
【図８１】
0004279839.tif 000104
【図８２】
0004279839.tif 000105