(57)【特許請求の範囲】
【請求項１】
透かし情報の埋込み対象となる画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する電子透かし埋込み装置において、
前記透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、及び前記周波数成分値変分決定手段によって決定された周波数成分値の変分をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝Ａ-1（ｘ，ｕ）・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段とを具備することを特徴とする電子透かし埋込み装置。
【請求項２】
透かし情報の埋込み対象となる画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する電子透かし埋込み装置において、
前記透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
スペクトル拡散のため前記画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、前記周波数成分値変分決定手段によって決定された周波数成分値の変分、及び前記疑似乱数生成手段によって生成された前記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）、前記疑似乱数生成手段によって生成された疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ-1（ｘ，ｕ）
・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段とを具備することを特徴とする電子透かし埋込み装置。
【請求項３】
透かし情報の埋込み対象となる画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する電子透かし埋込み装置において、
前記透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を、前記画像の画素値空間中の各点における画素値をもとに計算する周波数成分値計算手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の前記周波数成分値計算手段によって計算された周波数成分値をもとに、前記各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、及び前記周波数成分値変分決定手段によって決定された周波数成分値の変分をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝Ａ-1（ｘ，ｕ）・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段とを具備することを特徴とする電子透かし埋込み装置。
【請求項４】
透かし情報の埋込み対象となる画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する電子透かし埋込み装置において、
前記透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
スペクトル拡散のため前記画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を、当該各埋込み位置、前記画像の画素値空間中の各点における画素値、及び前記疑似乱数生成手段によって生成された前記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する周波数成分値計算手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の前記周波数成分値計算手段によって計算された周波数成分値をもとに、前記各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、前記周波数成分値変分決定手段によって決定された周波数成分値の変分、及び前記疑似乱数生成手段によって生成された前記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）、前記疑似乱数生成手段によって生成された疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ-1（ｘ，ｕ）
・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段とを具備することを特徴とする電子透かし埋込み装置。
【請求項５】
コンピュータを、
透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
前記透かし情報の埋込み対象となる画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、及び前記周波数成分値変分決定手段によって決定された周波数成分値の変分をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝Ａ-1（ｘ，ｕ）・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段として機能させるためのプログラムを記録した機械読み取り可能な記録媒体。
【請求項６】
コンピュータを、
透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
スペクトル拡散のため前記透かし情報の埋込み対象となる画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、前記周波数成分値変分決定手段によって決定された周波数成分値の変分、及び前記疑似乱数生成手段によって生成された前記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）、前記疑似乱数生成手段によって生成された疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ-1（ｘ，ｕ）
・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段として機能させるためのプログラムを記録した機械読み取り可能な記録媒体。
【請求項７】
コンピュータを、
透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を前記透かし情報の埋込み対象となる画像の画素値空間中の各点における画素値をもとに計算する周波数成分値計算手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の前記周波数成分値計算手段によって計算された周波数成分値をもとに、前記各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、及び前記周波数成分値変分決定手段によって決定された周波数成分値の変分をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝Ａ-1（ｘ，ｕ）・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段として機能させるためのプログラムを記録した機械読み取り可能な記録媒体。
【請求項８】
コンピュータを、
透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、
スペクトル拡散のため前記透かし情報の埋込み対象となる画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を、当該各埋込み位置、前記画像の画素値空間中の各点における画素値、及び前記疑似乱数生成手段によって生成された前記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する周波数成分値計算手段と、
前記埋込み位置選択手段によって決定された各埋込み位置の前記周波数成分値計算手段によって計算された周波数成分値をもとに、前記各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、
前記画像の画素値空間中の各点における画素値の変分を、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、前記周波数成分値変分決定手段によって決定された周波数成分値の変分、及び前記疑似乱数生成手段によって生成された前記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する画素値変分計算手段であって、前記画像の画素値空間中の各点における画素値の変分をΔｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記周波数成分値変分決定手段によって決定された周波数成分値の変分をΔＦ（ｕ，ｖ）、前記疑似乱数生成手段によって生成された疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算し、その計算結果から、次式
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ-1（ｘ，ｕ）
・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する画素値変分計算手段と、
前記画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、前記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段として機能させるためのプログラムを記録した機械読み取り可能な記録媒体。
【請求項９】
コンピュータを、
透かし情報が埋め込まれた周波数空間中の位置を決定する埋込み位置選択手段と、
前記透かし情報が埋め込まれた画像の画素値データ、及び前記埋込み位置選択手段によって決定された各埋込み位置をもとに、当該各埋込み位置の周波数成分値を計算する周波数成分値計算手段であって、前記透かし情報が埋め込まれた画像の画素値空間中の各点における画素値をｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）とすると、直交変換の第１の行列要素Ａ（ｕ，ｘ）及び直交変換の第２の行列要素Ａ（ｖ，ｙ）を計算し、その計算結果から、次式
Ｆ（ｕ，ｖ）＝Σx Σy Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）
に従って当該埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）を計算する周波数成分値変分決定手段と、
前記周波数成分値計算手段によって計算された各埋込み位置の周波数成分値をもとに前記透かし情報を復元する透かし情報復元手段として機能させるためのプログラムを記録した機械読み取り可能な記録媒体。
【請求項１０】
コンピュータを、
疑似乱数系列によるスペクトル拡散を利用して透かし情報が埋め込まれた周波数空間中の位置を決定する埋込み位置選択手段と、
前記スペクトル拡散に用いられた疑似乱数系列を生成する疑似乱数生成手段と、
前記透かし情報が埋め込まれた画像の画素値データ、前記埋込み位置選択手段によって決定された各埋込み位置、及び前記疑似乱数生成手段によって生成された疑似乱数系列をもとに、当該各埋込み位置の周波数成分値を計算する周波数成分値計算手段であって、前記透かし情報が埋め込まれた画像の画素値空間中の各点における画素値をｆ（ｘ，ｙ）、前記埋込み位置選択手段によって決定された周波数空間中の埋込み位置を（ｕ，ｖ）、前記疑似乱数生成手段によって生成された疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ（ｕ，ｘ）及び直交変換の第２の行列要素Ａ（ｖ，ｙ）を計算し、その計算結果から、次式
Ｆ（ｕ，ｖ）＝Σx Σy ｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）
・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）
に従って当該埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）を計算する周波数成分値計算手段と、
前記周波数成分値計算手段によって計算された各埋込み位置の周波数成分値をもとに前記透かし情報を復元する透かし情報復元手段として機能させるためのプログラムを記録した機械読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像等に代表されるデジタル著作物データに対して、そのデータの著作権者や利用者の識別情報、著作権者の権利情報、そのデータの利用条件、その利用時に必要な秘密情報などの情報（以下、透かし情報と称する）を、知覚が容易でない状態となるように埋込むのに好適な電子透かし埋込み装置に関する。
【０００２】
【従来の技術】
近年、画像（静止画、動画）や音声、音楽、設計データ、ＣＧ（コンピュータグラフィック）データ、テキストデータ等のデジタル著作物の著作権に対する関心が高まっている。このデジタル著作物を保護する技術の１つとして、電子透かし技術が知られている。
【０００３】
電子透かし技術は、デジタル著作物に対して、そのデータの著作権者や利用者の識別情報、著作権者の権利情報、そのデータの利用条件、その利用時に必要な秘密情報などの透かし情報（ｗａｔｅｒｍａｒｋ：ＷＭ）を知覚が容易でない状態となるように埋込み、つまり隠し持たせることで、著作権保護や利用制御を行うことを主要な目的としている。
【０００４】
この種の目的のため、電子透かし技術には、特に次のような性質を満たすことが要求される。
（１）ロバスト性
透かし情報を著作物から取り去ることが難しく、各種のデータ操作（フィルタ処理、データの圧縮・伸張、Ｄ／Ａ変換、Ａ／Ｄ変換等）の下でも透かし情報が失われにくい。意図的なデータの改ざんを施し無理に透かし情報を取り去ろうとすると、データの品質が著しく劣化する。
（２）知覚的な非顕現性
透かし情報を埋め込んだ著作物は元の著作物と同じように知覚される。
この他に、透かし情報の埋込みが効率的に行える埋込みの効率性、透かし情報の検出が効率的に行える検出の効率性等も要求される。
【０００５】
さて、電子透かし技術における透かし情報の埋込み方式の代表的なものに、画像データへの透かし情報埋込みを例にとると、画像データを周波数成分に変換し、特定の周波数成分に透かし情報を埋め込む方式がある。
【０００６】
図２０は、この画像データへの透かし情報埋込みを行う従来の電子透かし埋込み装置２００のブロック構成を示す。
ここでは、透かし情報の埋込みの対象となる画素値空間の画像データに対して、直交変換部２０１により、ＤＦＴ（離散フーリエ変換）、ＤＣＴ（離散コサイン変換）、ウェーブレット変換、アダマール変換などの直交変換を行い、周波数空間の画像データを構成する周波数成分値データを取得する。
【０００７】
次に、電子透かし埋込み部２０２により、周波数空間の画像データ中のある特定の周波数成分にピークを持つようなノイズの形で透かし情報（ＷＭ）を埋込む。この電子透かし埋込み部２０２での透かし情報の埋込みは次のように行われる。
【０００８】
まず、周波数空間の画像データを構成する周波数成分値データをもとに、埋込み周波数成分選択部２０２ａにより、透かし情報の埋込みに適した周波数成分、例えば、上に述べた透かし情報をノイズとして埋め込む例においては、ピークをとる周波数成分が選択される。周波数成分値変分決定部２０２ｂは、この周波数成分値の変分を決定する。周波数成分変更部２０２ｃは、周波数空間の画像データを構成する周波数成分値を、周波数成分値変分決定部２０２ｂにて決定された変分だけ変更することで、透かし情報が埋込まれた画像の周波数成分値データを生成する。
【０００９】
次に、電子透かし埋込み部２０２によって透かし情報が埋め込まれた周波数空間の画像データに対して、直交変換部２０１が先に行った直交変換の逆変換を逆直交変換部２０３にて施し、透かし情報が埋め込まれた画素値空間での画像データを得る。
【００１０】
こうして、図２０の電子透かし埋込み装置２００により埋込まれた透かし情報は、画素値空間で見た画像データでは、画像全体に分散された形で埋込まれているため、各種の操作に対してロバストである。また、透かし情報を埋込んだ周波数成分が中間的な周波数以上の周波数成分であるならば、画像データのＬＳＢの情報を失わせるような低周波数通過フィルタによっても透かし情報が失われることがない。
【００１１】
しかし、図２０の構成では、直交変換による周波数変換を２度施す必要があるため処理が重い。そこで、通常は、まず１枚の画像を複数のブロックに分割する。例えば、ある画像の水平方向、垂直方向の画素数をそれぞれＷ、Ｈとすると、これを水平方向、垂直方向の画素数がそれぞれｗ、ｈである矩形状のブロックに分割する。画像中の画素の位置が、画像の左上端に位置する画素を原点として、画素数で数えて、第ｘ番目の列、第ｙ番目の行に位置するとき、その画素の位置を（ｘ，ｙ）で表すことにする。ある画素が、ｉ＊ｗ≦ｘ＜（ｉ＋１）＊ｗ、ｈ＊ｈ≦ｙ＜（ｊ＋１）＊ｈを満たすならば、その画素は、水平方向に第ｉ番目、垂直方向に第ｊ番目の位置にあるブロックに属する。画像を分割して得られたブロックのすべて、或いは、その一部に対し、個々のブロックに対する周波数変換を施し透かし情報を埋め込む。
【００１２】
透かし情報の埋込みに直交変換を利用した場合、埋込みの演算量は処理ブロックサイズの２乗のオーダとなり、ブロックサイズが大きくなると演算量が著しく増大する。このため、例えば動画に適用するには専用ハードウェアが必要となる。
【００１３】
図２１は、図２０の電子透かし埋込み装置２００により透かし情報が埋め込まれた画像データから当該透かし情報を検出する従来の電子透かし検出装置２１０のブロック構成を示す。
【００１４】
ここでは、透かし情報が埋め込まれた画素値空間の画像データに対して直交変換部２１１にて直交変換を行うことで、周波数空間の画像データを構成する周波数成分値データに変換する。次に電子透かし検出部２１２にて、その周波数成分値データからある特定の周波数成分にピークを持つ透かし情報を検出する。
【００１５】
さて、透かし情報を各種の操作に対して失われにくいように埋込む方式として、スペクトル拡散の手法を利用して、データ中の広い領域に拡散させて埋込む方式がある。
【００１６】
図２２は、ＰＮ（疑似乱数）系列によるスペクトル拡散の手法を利用した画像データへの透かし情報埋込みを行う従来の電子透かし埋込み装置２２０のブロック構成を示す。
【００１７】
ここではまず、透かし情報の埋込みの対象となる画像の画素値空間中における各点の画素値に対して、ＰＮ系列生成部２２０Ｆで生成されるＰＮ系列と呼ばれる｛−１，１｝に値をとる疑似乱数を、スペクトル拡散部２２０Ａにより乗じる直接拡散方式によるスペクトル拡散（Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ：ＳＳ）を施す。そして、このスペクトル拡散が施された画素値空間中における各点の画素値に対して、直交変換部２２０ＢにてＤＣＴ変換等の直交変換を行うことで、周波数空間のスペクトル拡散画像データを構成する周波数成分値データを取得する。
【００１８】
次に、電子透かし埋込み部２２０Ｃにより、周波数空間のスペクトル拡散画像データ中のある特定の周波数成分にピークを持つようなノイズの形で透かし情報を埋込む。次に、この透かし情報が埋め込まれた周波数空間のスペクトル拡散画像データに対して、先に直交変換部２２０Ｂが行った直交変換の逆変換を逆直交変換部２２０Ｄにて施すことで、透かし情報が埋め込まれた画素値空間でのスペクトル拡散画像データを得る。そして、透かし情報が埋め込まれた画素値空間でのスペクトル拡散画像データに対して、先にスペクトル拡散部２２０Ａが行ったスペクトル拡散の逆拡散をスペクトル逆拡散部２２０Ｅにて行うことで、透かし情報が埋め込まれた画素値空間での画像データを取得する。
【００１９】
このように、ＰＮ系列によるスペクトル拡散と直交変換を行った後で透かし情報を埋込む方式では、ＰＮ系列によるスペクトル拡散を行っているので、透かし情報を埋込む周波数成分は必ずしも中間的な周波数成分である必要はない。透かし情報がピークの形で埋込まれているならば、スペクトル逆拡散は透かし情報を幅広い周波数成分に薄く分散させる効果を持つ。
【００２０】
これらのような透かし情報の埋込みは、Ａ／Ｄ（アナログ／ディジタル）変換とＤ／Ａ（デジタルアナログ）変換やデータ圧縮と伸張によるデータ操作に対しても有効である可能性がある。ただし、Ａ／Ｄ変換とＤ／Ａ変換、データ圧縮と伸張は、画像データに与える影響が大きいので、透かし情報の埋込みは、なるべく広い領域に拡散させることによって行うことが望ましい。
【００２１】
図２３は、図２２の電子透かし埋込み装置２２０により透かし情報が埋め込まれた画像データから当該透かし情報を検出する従来の電子透かし検出装置２３０のブロック構成を示す。
【００２２】
ここでは、透かし情報が埋め込まれた画素値空間の画像データに対して、ＰＮ系列生成部２３４で生成されるＰＮ系列を用いて、スペクトル拡散部２３１にてスペクトル拡散を施す。そして、このスペクトル拡散が施された画素値空間中における各点の画素値に対して、直交変換部２３２にてＤＣＴ変換等の直交変換を行うことで、周波数空間のスペクトル拡散画像データを構成する周波数成分値データを取得する。次に電子透かし検出部２３３にて、その周波数成分値データからある特定の周波数成分にピークを持つ透かし情報を検出する。
【００２３】
また従来より、パッチワーク法による透かし情報の埋込みという手法が提案されている。図２４に、この手法を適用する従来の電子透かし埋込み装置のブロック構成を示す。
【００２４】
図２４の電子透かし埋込み装置２４０では、まず、画素値対生成部２４１により、透かし情報の埋込みの対象となる画像の画素値データからランダムに２画素を対＜（ａｘ，ａｙ），（ｂｘ，ｂｙ）＞として選び出す。
【００２５】
次に、例えば透かし情報として１を埋め込む場合には、第１成分変更部２４２により、対の最初（１番目）の成分、つまり第１成分（ａｘ，ａｙ）の画素値ａに対して、１だけ増加させる操作を行う一方、第２成分変更部２４３により、対の２番目の成分、つまり第２成分（ｂｘ，ｂｙ）の画素値ｂに対して、１だけ減少させる操作を行う。逆に、０を埋め込む場合には、第１成分変更部２４２により第１成分の画素値を１減少させ、第２成分変更部２４３により第２成分の画素値を１増加させる操作を行う。このような操作を、画素値対生成部２４１が重複しないようにランダムに選んだ複数の対に対して行う。
【００２６】
その結果、画素数の個数が十分に多いならば、図２５に示すように、各対の第１成分の画素値の分布と、各対の第２成分の画素値の分布には、統計的に意味のある差が生じることが期待される。
【００２７】
図２５は、図２４の電子透かし埋込み装置２４０によりパッチワーク法を適用して透かし情報が埋め込まれた画像データから当該透かし情報を検出する従来の電子透かし検出装置のブロック構成を示す。
【００２８】
図２５の電子透かし検出装置２５０では、図２４の電子透かし埋込み装置２４０にて画素値対生成部２４１が生成したのと同じ画素の対を、画素値対生成部２６１により生成する。そして、例えば、各対の第１成分の画素値の平均値を第１成分平均計算部２６２により算出し、各対の第２成分の画素値の平均値を第２成分平均計算部２６３により算出する。
【００２９】
次に、平均比較部２６４にて、この２つの平均値を比較し、第１成分の画素値の平均値の方が大きい場合には、１が埋め込まれており、第２成分の画素値の平均値の方が大きい場合には、０が埋め込まれている判定することで、埋め込まれた透かし情報を検出（復元）する。
【００３０】
【発明が解決しようとする課題】
上記した従来の電子透かし埋込み・検出技術では、各種操作に対して透かし情報が失われにくいという長所があるが、その反面、ＤＣＴ変換等の直交変換を必要とするため、透かし情報の埋込みや検出にかかる計算量が大きいという短所もある。つまり、ＤＣＴ変換等の直交変換はＤＦＴの一種であって、その計算量は同じオーダである。理論的には、データ量Ｎのデータに対するＤＦＴの計算量はＯ（Ｎ＊ｌｏｇＮ）で与えられる。
【００３１】
例えば、幅Ｗ高さＨの静止画でおおまかな評価をしてみる。この静止画を幅ｗ高さｈのブロックに分割すると、１ブロック当りのＤＣＴ変換の計算量はＯ（ｗ＊ｌｏｇ ｗ＊ｈ＊ｌｏｇ ｈ）で与えられる。ブロックの総数は、（Ｗ／ｗ）＊（Ｈ／ｈ）であるから、総計算量は、
Ｏ（（Ｗ／ｗ）＊（Ｈ／ｈ）＊ｗ＊ｌｏｇ ｗ＊ｈ＊ｌｏｇ ｈ）
＝Ｏ（Ｗ＊Ｈ＊ｌｏｇ ｗ＊ｌｏｇ ｈ）となる。
【００３２】
画像全体を１つのブロックとする場合と幅ｗ高さｈのブロックに分割する場合の計算の比は、
（ｌｏｇＷ＊ｌｏｇＨ）／（ｌｏｇ ｗ＊ｌｏｇ ｈ）
＝ｌｏｇw Ｗ＊ｌｏｇh Ｈ
となる。
【００３３】
ここで、Ｗ＝ｗ＊２q ，Ｈ＝ｈ＊２r とすると、
ｌｏｇw Ｗ＊ｌｏｇh Ｈ
＝（１＋ｑ＊ｌｏｇw ２）＊（１＋ｒ＊ｌｏｇh ２）
＝（１＋ｑ2 ＊ｌｏｇW ２）＊（１＋ｒ2 ＊ｌｏｇH ２）
となる。
【００３４】
したがって、例えばＷ＝Ｈ＝１０２４＝２10，ｗ＝ｈ＝３２＝２5 とすると、ｑ＝ｒ＝５，（１＋ｑ2 ＊ｌｏｇW ２）＊（１＋ｒ2 ＊ｌｏｇH ２）＝１２．２５となる。つまり、画像全体にＤＣＴ変換を施すよりも１辺がその１／３２の大きさの小さなブロックサイズに分割してＤＣＴ変換を施す方が約１２倍高速に処理できることになる。
【００３５】
透かし情報をどれだけ広い領域に拡散して埋込むことができるかは、ＤＣＴ変換等の直交変換の計算量とその透かし情報の埋込みや検出の処理に許されている時間に依存する。十分な時間をかけて透かし情報の埋込みや検出を行ってもよい場合には劾率性はあまり重要な要件ではなく、ロバスト性の観点からは、埋込みや検出時間が現実的な時間の範囲にあるならば、ブロックサイズをできるだけ大きくとる方が望ましい。
【００３６】
しかしながら、透かし情報を利用制御、レーティングに利用する場合には、透かし情報の検出に大きな時間をかけることはできない。また、透かし情報をフィンガープリントに利用する場合には、透かしの埋込みに大きな時間をかけることができない。
【００３７】
以上に述べたように、従来の電子透かし埋込み・検出技術は、ロバスト性や知覚的な非顕現性の観点からは、大きなブロックサイズ（例えば、５１２×５１２画素、７２０×４８０画素など）を選択して透かし情報を薄く広く分散させることが好ましいにも拘わらず、直交変換の計算コストの問題から透かし情報の埋込み・検出処理を十分に効率的に行うことができないため、透かし情報の埋込み・検出に効率性を求められるような応用の場合には、小さなブロックサイズ（例えほ、１６×１６画素、３２×３２画素など）を選択して透かし情報を埋込まざるを得ないという欠点があった。
【００３８】
一方、従来のパッチワーク法による電子透かし埋込み・検出技術では、ＤＣＴ変換等の直交変換を必要としないものの、透かし情報の埋め込み対象となる画像データが統計的に一様な性質を持っていないため、ランダムに選択（生成）される画素の対の個数が少ないと、対の第１成分と第２成分の統計的な分布の差異が、埋込み操作によるものか、それとも十分な個数の対を生成しなかったため偶然選択された対に統計的な差異が最初から存在したものかを判断する根拠がない。そのため従来は、埋込み操作後の各対の第１成分と第２成分の分布の間に、統計的に意味のある差が生じるように十分な個数の対を必要としており、埋込み時と検出時に生成される画素対の必要数を予め見積もることが困難であるという問題があった。
【００３９】
本発明は上記事情を考慮してなされたものでその目的は、たとえ大きなブロックサイズを選択したとしても、透かし情報の埋込みを効率よく行うことができる電子透かし埋込み装置を提供することにある。
【００４２】
【課題を解決するための手段】
本発明の電子透かし埋込み装置は、透かし情報を埋め込むべき周波数空間中の位置を周波数成分値に無関係に決定する埋込み位置選択手段と、この埋込み位置選択手段によって決定された各埋込み位置の周波数成分値の変分を決定する周波数成分値変分決定手段と、上記画像の画素値空間中の各点における画素値の変分を、上記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、及び上記周波数成分値変分決定手段によって決定された周波数成分値の変分をもとに計算する画素値変分計算手段と、この画素値変分計算手段によって計算された画素値空間中の各点の画素値の変分に従い、上記画像の対応する画素値データを変更することで透かし情報の埋込みを行う画素値変換手段とを備えたことを特徴とする。
【００４３】
このように、上記の構成においては、透かし情報の埋込みを、従来のように周波数空間で行うのではなくて、画素値空間で行うようにしている。そこで上記の構成では、画素値空間での透かし情報の埋込みのために画素値変分計算手段を設け、画素値空間中の各点における画素値の変分を、透かし情報を埋め込むべき位置（埋込み位置）と、その位置の周波数成分値の変分をもとに計算するようにしている。この画素値の変分を求める計算では、直交変換の行列要素を求める演算が必要となるが、その演算量は直交変換に比べて著しく少ない。
【００４４】
ここで、透かし情報の埋込みの対象となる画像の画素値空間中の各点における画素値の変分Δｆ（ｘ，ｙ）は、周波数空間中の埋込み位置を（ｕ，ｖ）、周波数成分値の変分をΔＦ（ｕ，ｖ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）の計算を行い、その計算結果を用いることで、
Δｆ（ｘ，ｙ）＝Ａ-1（ｘ，ｕ）・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
の演算により簡単に算出可能である。
【００４５】
このように上記の構成においては、透かし情報の埋込みを画素値空間で行うことにより、従来の電子透かし技術では必要であった、画素値空間から周波数空間への変換のための直交変換処理と、周波数空間での透かし情報埋込みの後に行われる周波数空間から画素値空間への変換のための逆変換処理（逆直交変換処理）、つまり膨大な演算量となる２回の直交変換処理を不要にし、透かし情報の埋込みの高速化を図ることが可能となる。
【００４６】
但し、従来の電子透かし技術では、画素値空間から周波数空間への変換により得られる画像の周波数成分値データから、透かし情報の埋込み位置と周波数成分値の変分を決定することが可能であるのに対し、上記の構成においては埋込み位置と周波数成分値の変分を動的に決定することはできない。しかし上記の構成においては、従来必要であった２回の直交変換処理が不要であり、透かし情報の埋込み処理の単位となるブロックサイズを従来に比べて十分大きくとることができるため、透かし情報を広い領域に拡散して埋込むことが可能となり、透かし情報の埋込み位置を画像の周波数成分値データから決定しなくても問題とはならない。
【００４７】
特に、上記の構成にスペクトル拡散方式を適用し、スペクトル拡散のため上記画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段を設け、上記画像の画素値空間中の各点における画素値の変分を、上記埋込み位置選択手段によって決定された周波数空間中の埋込み位置、上記周波数成分値変分決定手段によって決定された周波数成分値の変分、及び当該疑似乱数生成手段によって生成された上記画像の画素値空間中の各点に対応する疑似乱数をもとに、上記画素値変分計算手段にて計算する構成を適用するならば、透かし情報の埋込み位置と周波数成分値の変分を画像の周波数成分値データに依存して動的に決定する必要性がより薄れるため、一層よい。
【００４８】
このスペクトル拡散方式を適用する場合、透かし情報の埋込みの対象となる画像の画素値空間中の各点における画素値の変分Δｆ（ｘ，ｙ）は、埋込み位置を（ｕ，ｖ）、周波数成分値の変分をΔＦ（ｕ，ｖ）、疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）及び直交変換の第２の行列要素Ａ-1（ｙ，ｖ）の計算を行い、その計算結果を用いることで、
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ-1（ｘ，ｕ）
・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
の演算により簡単に算出可能である。
【００４９】
また、周波数成分値の変分についても、殆どの埋込み位置に対して、その位置の周波数成分値の絶対値より大きな値となる変分を予め決定することが可能であり、その場合には直交変換を行わないことは問題とならない。
【００５０】
ここで、埋込み位置の決定には、例えば画像の周波数空間中の固定的な位置を埋込み位置とする手法、或いは利用者固有の情報から計算される位置を埋込み位置とする手法等が適用可能である。この他に、固定的な位置を埋込み位置とするのではなく、最初の数フレームの情報は固定だがそれ以降は、その固定フレームで読み出した情報に基づき埋込み位置を決定する手法（これは、最初の数フレームには、予め決められた固定の埋込み位置を埋込み位置として透かし情報が埋め込まれており、それらのフレームの透かし情報自身に従ってある決められた計算をすることによって、それ以降のフレームにおける埋込み位置を計算することができる手法である）、利用者固有の情報から計算される位置を埋込み位置とする手法、埋込む位置を透かし情報以外の手段で渡す手法（これは、透かし情報の埋め込み位置の計算方法が予めきめられており、透かし情報の埋込みの際に用いられた、その計算に必要なデータを、画像データに埋め込まれた透かし情報としてではなく、画像データとは別のデータとして電子透かし検出装置に伝え、電子透かし検出装置では受け取ったデータから埋込み位置の計算を行い埋込み位置を決定する手法である）、埋込み位置を乱数で生成する手法、利用者毎にその乱数の系列が異なるようにする手法、などが適用可能である。
【００５１】
また、周波数空間中の埋込み位置を１ブロックについて複数箇所決定する場合、その埋込み位置によっては、うなりが発生する可能性がある。そこで、埋込み位置選択手段に、複数の埋込み位置の間でうなりを生ずるか否かを判定する機能（うなり評価手段）を持たせ、埋込み位置の候補を生成する度に、この判定機能によってその候補の妥当性を判定し、不適切な候補と判定した場合には、当該候補を破棄し、適切な候補と判定した場合には、それを埋込み位置の組の要素として選択する構成とすることも可能である。そのためには、埋込み位置選択手段を、複数の埋込み位置の候補を生成する周波数生成手段と、この周波数生成手段によって生成された複数の埋込み位置の候補を入力として、当該各候補相互の周波数成分値の関係に基づいてうなりの程度を判定し、うなりの影響を回避可能な所定個数の埋込み位置の組を選択して出力するうなり判定手段とで構成とするよい。勿論、埋込み位置選択手段自身が、最初からうなりを生じない埋込み位置（つまり、透かしの周波数）を決定する構成とすることも可能である。
【００５２】
また、周波数成分値の変分に関しては、複数の画像についての周波数成分値の頻度分布をもとに予め定められる変分を用いるとよい。この他に、画素値変換手段によって透かし情報が埋め込まれた画像をもとに当該透かし情報の埋込み位置の周波数成分値を算出し、その周波数成分値またはその周波数成分値から復元される透かし情報を上記周波数成分値変分決定手段にフィードバックする電子透かし検出手段を設け、この電子透かし検出手段によってフィードバックされる周波数成分値または透かし情報をもとに、周波数成分値の変分を適応的に変更する構成を適用するならば、なおよい。また、画素値変換手段と電子透かし検出手段との間に透かし情報が埋め込まれた画像を入力として、当該画像に対して予め予測されるデータ操作を施すフィルタリング手段を設け、このデータ操作が施された画像をもとに電子透かし検出手段にて透かし情報の埋込み位置の周波数成分値を算出し、その周波数成分値またはその周波数成分値から復元される透かし情報を周波数成分値変分決定手段にフィードバックする構成を適用するならば、更によい。
【００５３】
また、上記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を、上記画像の画素値空間中の各点における画素値をもとに計算する周波数成分値計算手段を設け、この各埋込み位置の周波数成分値をもとに、上記周波数成分値変分決定手段が、当該各埋込み位置の周波数成分値の変分を決定する構成とすることも可能である。なお、スペクトル拡散方式を適用する場合には、上記埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を、当該各埋込み位置、上記画像の画素値空間中の各点における画素値、及び疑似乱数生成手段によって生成された上記画像の画素値空間中の各点に対応する疑似乱数をもとに計算する周波数成分値計算手段を設け、この各埋込み位置の周波数成分値をもとに、上記周波数成分値変分決定手段が、当該各埋込み位置の周波数成分値の変分を決定する構成とすればよい。
【００５４】
このように、埋込み位置の周波数成分値、つまり少数の点の周波数成分値を求めて周波数成分値の変分を決定することにより、各種の操作の下における周波数成分値の変化に関する一般的性質（例えば、どの周波数成分値の変化も、ある一定の範囲内に収まるという性質）についての情報を利用して、画像に与える知覚的な影響が小さくて済み、且つ埋込みによる周波数成分値の変分が小さな値で済むような設定が可能となる。
【００５５】
次に本発明の電子透かし検出装置は、電子透かし埋込み装置によって透かし情報が埋め込まれた周波数空間中の位置を決定する埋込み位置選択手段と、上記透かし情報が埋め込まれた画像の画素値データ、及び上記決定された各埋込み位置をもとに、当該各埋込み位置の周波数成分値を計算する周波数成分値計算手段と、この周波数成分値計算手段によって計算された各埋込み位置の周波数成分値をもとに透かし情報を復元する透かし情報復元手段とを備えたことを特徴とする。
【００５６】
このように、上記の構成においては、埋込み位置選択手段によって決定された各埋込み位置の周波数成分値を、透かし情報が埋め込まれた画像の画素値空間中の各点における画素値をもとに計算し、その埋込み位置の周波数成分値をもとに透かし情報を復元するようにしている。このため、従来のように透かし情報が埋め込まれた画像の画素値データを直交変換により画素値空間から周波数空間に変換して、周波数空間の画像データを構成する周波数成分値データを取得し、その周波数成分値データから透かし情報を検出するのと比べて、直交変換が不要な分、演算量が減少して高速処理が可能となる。
【００５７】
ここで、周波数空間における透かし情報の埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）は、透かし情報が埋め込まれた画像の画素値空間中の各点における画素値をｆ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ（ｕ，ｘ）及び直交変換の第２の行列要素Ａ（ｖ，ｙ）の計算を行い、その計算結果を用いることで、
Ｆ（ｕ，ｖ）＝Σx Σy Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）
の演算により簡単に算出可能である。
【００５８】
また、スペクトル拡散方式を適用して透かし情報が埋め込まれた画像を透かし情報検出の対象として扱う電子透かし検出装置では、透かし情報が埋め込まれた画像の画素値データ、埋込み位置選択手段によって決定された各埋込み位置、及びスペクトル拡散に用いられた疑似乱数系列をもとに、当該各埋込み位置の周波数成分値を周波数成分値計算手段にて計算する構成とすることで、高速処理が図れる。
【００５９】
ここでは、周波数空間における透かし情報の埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）は、透かし情報が埋め込まれた画像の画素値空間中の各点における画素値をｆ（ｘ，ｙ）、対応する疑似乱数をｐ（ｘ，ｙ）とすると、直交変換の第１の行列要素Ａ（ｕ，ｘ）及び直交変換の第２の行列要素Ａ（ｖ，ｙ）の計算を行い、その計算結果を用いることで、
Ｆ（ｕ，ｖ）＝Σx Σy ｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）
・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）
の演算により簡単に算出可能である。
【００６０】
ここで、上記の電子透かし埋込み装置の持つ電子透かし埋込み機能と、上記の電子透かし検出装置の持つ電子透かし検出機能の両方を備えた電子透かし埋込み・検出装置を構成することも可能である。このような電子透かし埋込み・検出装置では、両機能に共通の部分は共用する構成とすることで、構成の簡略化を図ることが可能となる。
【００６１】
また本発明は、パッチワーク法による画像への透かし情報の埋込みを行う電子透かし埋込み装置において、透かし情報を埋め込むべき周波数空間中の位置の対を周波数成分値に無関係に決定する周波数成分対生成手段と、スペクトル拡散のため上記画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段と、上記生成された疑似乱数を上記画像の画素値データに乗じてスペクトル拡散された画素値データを出力する直接拡散手段と、上記スペクトル拡散された画素値データに直交変換を施し、周波数成分値データを生成する直交変換手段と、上記周波数成分対生成手段によって生成された各埋込み位置の周波数成分の対の第１成分の、上記直交変換手段によって生成された周波数成分値を、透かし情報の値によって変更する第１成分変更手段と、上記周波数成分対生成手段によって生成された各埋込み位置の周波数成分の対の第２成分の、上記直交変換手段によって生成された周波数成分値を、透かし情報の値によって上記第１成分変更手段による変更とは逆方向に変更する第２成分変更手段と、これら第１成分変更手段及び第２成分変更手段によって変更を受けた周波数成分値データに対して逆直交変換を行って画素値データを出力する逆直交変換手段と、この逆直交変換手段から出力された画素値データに対して上記疑似乱数生成手段によって生成された疑似乱数を乗じる逆拡散を行って、透かし情報埋込み済みの画素値データを出力する逆拡散手段とを備えたことを特徴とする。
【００６２】
このように、上記の構成においては、パッチワーク法を直接に画像の画素値データに適用するのではなく、一旦、画像の画素値データにＰＮ系列の乱数値を乗じスペクトル拡散した上で、その結果の画像データを周波数変換し、その周波数変換された画像データに対して、周波数成分の対をランダムに生成してパッチワーク法を適用することに特徴がある。
【００６３】
画像データに対してスペクトル拡散を行って周波数変換をして得られる周波数成分値データは、正規分布に近い統計的にほぼ一様な分布を持つ。したがって、ランダムに選択される埋込み位置の周波数成分の対の個数が少なくても、当該対の第１成分（一方の成分）及び第２成分（他方の成分）の、上記第１成分変更手段及び第２成分変更手段の変更操作後の周波数成分値の分布に、当該変更操作による統計的に意味のある差が生じ、意味のある透かし埋込みが可能となる。これにより、透かし情報の埋込み時に生成される画素対の必要数を予め見積もることが容易となる。
【００６４】
また、上記した新たなパッチワーク法を適用して透かし情報が埋め込まれた画像の画素値データを入力して透かし情報を検出する本発明の電子透かし検出装置は、上記透かし情報が埋め込まれた周波数空間中の位置の対を周波数成分値に無関係に決定する周波数成分対生成手段と、スペクトル拡散のため上記画像の画素値空間中の各点における画素値に乗じられる疑似乱数を生成する疑似乱数生成手段と、上記生成された疑似乱数を上記画像の画素値データに乗じてスペクトル拡散された画素値データを出力する直接拡散手段と、上記スペクトル拡散された画素値データに直交変換を施し、周波数成分値データを生成する直交変換手段と、上記周波数成分対生成手段によって生成された各埋込み位置の周波数成分の対の第１成分の、上記直交変換手段によって生成された周波数成分値の平均値を計算する第１成分平均計算手段と、上記周波数成分対生成手段によって生成された各埋込み位置の周波数成分の対の第２成分の、上記直交変換手段によって生成された周波数成分値の平均値を計算する第２成分平均計算手段と、これら第１成分平均計算手段及び第２成分平均計算手段によって計算された２つの平均値を比較して、その比較結果をもとに上記透かし情報を復元する平均比較手段とを備えたことを特徴とする。
【００６５】
このように、透かし情報が埋め込まれた画像の画素値データにＰＮ系列の乱数値を乗じスペクトル拡散した上で、その結果の画像データを周波数変換し、その周波数変換された画像データに対して、透かし情報の埋込み位置の周波数成分の対の第１成分と第２成分のそれぞれの平均値を算出することにより、それぞれ正規分布に近い分布の平均値が求められることから、両平均値を比較することで、埋め込まれた透かし情報を高精度に復元（検出）でき、透かし情報の検出時に生成される画素対の必要数を予め見積もることが容易となる。
【００６６】
【発明の実施の形態】
以下、本発明の実施の形態につき、画像データに対する透かし情報の埋込み・検出を例に図面を参照して説明する。
【００６７】
［第１の実施形態］
図１は本発明の第１の実施形態に係る電子透かし埋込み装置の構成を示すブロック図である。
【００６８】
同図において、電子透かし埋込み装置（ＷＭ埋込み装置）１０は、透かし情報の埋込み対象である画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する。この電子透かし埋込み装置１０における入出力の形式は、画像全体やフレーム単位に一括して入出力してもよいし、ビットストリームとして連続的に入出力してもよい。この点は、後述する第２の実施形態における電子透かし埋込み装置３０においても同様である。
【００６９】
電子透かし埋込み装置１０は、埋込み位置選択部１１と、周波数成分値変分決定部１２と、画素値変分計算部１３と、画素値変換部１４とから構成される。
【００７０】
埋込み位置選択部１１は、周波数成分値には依存せずに透かし情報を埋め込むべき周波数空間中の位置（埋込み位置）を決定する。以下では、埋込み位置（ｕ，ｖ）が１点であるとして説明するが、複数の点を埋込み位置とすることも可能である。その場合、埋込み位置選択部１１は、周波数空間における埋込み位置（ｕ，ｖ）の組Ｓf を与える。
【００７１】
埋込み位置選択部１１は、透かし情報の埋込み位置を決定（選択）するのに、例えば画像の周波数空間中の固定的な位置を埋込み位置とする手法を適用する。この他、固定的な位置を埋込み位置とするのではなく、最初の数フレームの情報は固定だがそれ以降は、その固定フレームで読み出した情報に基づき埋込み位置を決定する手法、利用者固有の情報から計算される位置を埋込み位置とする手法、埋込む位置を透かし情報以外の手段で渡す手法、埋込み位置を乱数で生成する手法、利用者毎にその乱数の系列が異なるようにする手法、などが適用可能である。
【００７２】
更に、埋込み位置選択部１１において、複数位置に埋込まれた透かし情報の間のうなりを回避するように埋込み位置を決定してもよい。例えば、乱数で生成した複数の埋込み位置が画素値空間中の同一点や近傍点で極値を持つ場合には、透かし情報を埋込んでいることが視覚的に認識できることがある。特に、極値の重なりが１点ではなくて１次元的、或いは２次元的な広がりを持つ領域となる場合には、認識されやすい。そこで、埋込み位置選択部１１に、複数の埋込み位置の間でこのようなうなりを生ずるか否かを判定する機能を持たせ、埋込み位置の候補を生成する度に、この判定機能によってその候補の妥当性を判定し、不適切な候補と判定した場合には、当該候補を破棄し、適切な候補と判定した場合には、それを埋込み位置の組Ｓf の要素として選択する構成を付加するようにしてもよい。
【００７３】
このような埋込み位置選択部１１の構成例を図２（ａ）に示す。ここでは、埋込み位置選択部１１は、例えば乱数により決定される透かしの周波数の対を埋込み位置の候補として複数生成する周波数生成部１１１と、生成された複数の埋込み位置の候補を入力として、うなりの程度を判定し、うなりの影響を回避するような所定個数（Ｎ個）の埋込み位置の組Ｓf を選択して出力するうなり判定部１１２とから構成されている。
【００７４】
ここで、埋込み位置選択部１１を図２（ａ）のように構成した場合の、当該埋込み位置選択部１１での具体的な動作を図２（ｂ）のフローチャートを参照して説明する。
まず、うなり判定部１１２は、埋込み位置を表す変数ｉを初期値０に設定すると共に、埋込み位置（ｕi ，ｖi ）の組Ｓf を格納するためのバッファ（リスト）を初期化する（ステップＳ１）。但し、（ｕi ，ｖi ）＝（０，０）は、候補としないものとする。
【００７５】
この状態で、うなり判定部１１２は、周波数生成部１１１により、乱数によって決まる周波数の対からなる埋込み位置の候補を１つ生成させて、その埋込み位置候補を入力し、（ｕi ，ｖi ）とする（ステップＳ２）。
【００７６】
次にうなり判定部１１２は、埋込み位置候補（ｕi ，ｖi ）についてうなりの程度を評価・判定するための比較対象とする埋込み位置を指す変数ｊを初期値０に設定する（ステップＳ３）。この変数ｊは、第ｊ番目に選択された埋込み位置（Ｓf の第ｊ番目の埋込み位置）を示す。
【００７７】
次にうなり判定部１１２は、ｉとｊとを比較し（ステップＳ４）、この例のようにｊ＜ｉでないならば、その際の埋込み位置候補（ｕi ，ｖi ）を埋込み位置として選択し、Ｓf の第ｊ番目に設定する（ステップＳ５）。
【００７８】
ここで、Ｓf に設定された埋込み位置候補の数がＮ個、つまりｉ＝Ｎ−１に達していないならば（ステップＳ６）、うなり判定部１１２はｉを１インクリメントする（ステップＳ７）。そして、うなり判定部１１２は、周波数生成部１１１により次の埋込み位置の候補を生成させて、その埋込み位置候補を入力し、（ｕi ，ｖi ）とする（ステップＳ２）。
【００７９】
次にうなり判定部１１２は、ｊを初期値０に設定し、当該ｊがｉより小さいならば、ステップＳ２で入力した今回の埋込み位置候補（ｕi ，ｖi ）が第ｊ番目に選択された埋込み位置（ｕi ，ｖi ）、つまり（ｕj ，ｖj ）に対してうなりの影響を及ぼすか否かを判定する（ステップＳ８）。即ち、２つ以上の異なる周波数を持つ波（透かし）は、必ずうなりを生ずるため、うなり判定部１１２は、うなりを生ずる領域を小さな領域、小さな次元に抑えることを目的として、うなりの程度の判定を次のように行う。
【００８０】
まず、２以上の周波数からなる周波数の組の間に整数比が成立する場合、それらの周波数の最小公倍数を周波数とする大きなうなりが発生する。例えば、２次元の広がりを持つ画像中において、２つの周波数の透かしの間に周波数が整数比を持っている場合、このうなりのピークは１次元状の広がりを持った格子模様状の領域を示す。そこで、うなり判定部１１２では、複数の周波数の間にこのような整数比、或いは近似的に整数比が成立するか否かを判定することで、うなりの程度の判定結果とするようにしている。
【００８１】
具体的には、うなり判定部１１２は上記ステップＳ８において、埋込み位置候補（ｕi ，ｖi ）の成分（周波数）と、第ｊ番目に選択された埋込み位置（ｕj ，ｖj ）の成分との間の次の関係
(ｕi*ｖj−ｖi*ｕj)／｛｜(ｕi，ｖi)｜*｜(ｕj，ｖj)｜｝
が、以下の判定条件
−ε＜(ｕi*ｖj−ｖi*ｕj)／｛｜(ｕi，ｖi)｜*｜(ｕj，ｖj)｜｝＜＋ε
を満たすか否かにより、うなりの影響の有無を判定する。ここで、εは１≫εとなる正数であって、予め適当な数値を与えておけばよい。なお、｜(ｕ，ｖ)｜はベクトル(ｕ，ｖ)の大きさを表す。
【００８２】
つまり、２つの周波数成分（ｕi ，ｖi ）と（ｕj ，ｖj ）がベクトルとして殆ど同じ方向を持つ場合には、うなりにより１次元または２次元のピークの領域が発生するので、このような関係にある周波数成分の組を排除するように上記の判定条件に従って判定する。
【００８３】
さて、上記判定条件を満たす場合には、うなり判定部１１２は埋込み位置候補（ｕi ，ｖi ）と埋込み位置（ｕj ，ｖj ）との間で大きなうなりが発生するものと判定し、当該候補を選択せずに、ステップＳ２に戻る。そしてうなり判定部１１２は、周波数生成部１１１により次の埋込み位置の候補を生成させて、その埋込み位置候補を入力し、（ｕi ，ｖi ）とし、ステップＳ３以降の処理を行う。
【００８４】
これに対し、上記式を満たさない場合には、うなり判定部１１２は埋込み位置候補（ｕi ，ｖi ）と埋込み位置（ｕj ，ｖj ）との間で大きなうなりが発生しないものと判定し、変数ｊを１インクリメントする（ステップＳ９）。もし、この１インクリメント後のｊの値がｉ以上となったならば、うなり判定部１１２は、今回の埋込み位置候補（ｕi ，ｖi ）が、既に選択されている全ての埋込み位置（つまりｉ−１個の埋込み位置）に対してうなりの影響を及ぼさないことを確認できたと判断し、その埋込み位置候補（ｕi ，ｖi ）を埋込み位置として選択し、Ｓf の第ｊ番目に設定する（ステップＳ５）。一方、１インクリメント後のｊの値が依然としてｉより小さいならば、うなり判定部１１２は、今回の埋込み位置候補（ｕi ，ｖi ）が、第ｊ番目に選択された埋込み位置（ｕi ，ｖi ）、つまり（ｕj ，ｖj ）に対してうなりの影響を及ぼすか否かを判定するステップＳ８に進む。
【００８５】
やがて、Ｓf に設定された埋込み位置の個数がＮ個になると（ステップＳ６）、うなり判定部１１２はそのＳf の内容、つまりＮ個の埋込み位置の組を画素値変分計算部１３に出力する（ステップＳ１０）。
【００８６】
このようにして、（埋込み位置選択部１１内の）うなり判定部１１２が出力したＮ個の埋込み位置の組の各成分の間には、１次元、或いは２次元の広がりをもったピークを示すうなりは生じない。なお、図２（ｂ）のフローチャートに従う手順は一例であり、要は、周波数生成部１１１によって逐次生成される埋込み位置候補の中から、その成分の間に大きなうなりを生じる虞のないＮ個の埋込み位置候補を埋込み位置として選択すればよい。
【００８７】
以上は後述する第２の実施形態での埋込み位置選択部３１において埋込み位置の組を出力する場合も同様である。
【００８８】
周波数成分値変分決定部１２は、埋込み位置選択部１１が選択した各埋込み位置（ｕ，ｖ）の周波数成分値をどのような値に変更するかを決定する。ここでは、埋込む透かし情報を表現している変分値（埋込み強度λ）が決定（選択）される。この変分値の選択には、例えば透かし情報を２値表現して、ある決められた０を表す変分値と１を表わす変分値をその２値表現に従って選択する手法が適用可能である。埋込み強度λは、画像の周波数成分値の平均値や多数点の周波数成分値には依存しない形で与えることにより、その画像の周波数成分値を必要とせずに選択することができる。例えば、埋込み強度λとして典型的な周波数成分値よりも大きな値（正値）を設定しておき、１を表現する場合には埋込み強度λを変分として選択し、０を表現する場合には埋込み強度λの符号を代えた値を変分として選択することができる。この場合、透かし情報の検出において、周波数成分値が正値の場合には１が、負値の場合には０が埋込まれていたと判定することができる。
【００８９】
図１５は、埋込み強度λの適切な設定の仕方について周波数成分値Ｆ（ｕ，ｖ）の頻度分布を用いて説明するための図である。図中、頻度分布１５１はスペクトル拡散（ＳＳ）による透かし埋込みを適用しない場合、頻度分布１５２は後述する第２の実施形態におけるスペクトル拡散による透かし埋込みを適用した場合である。
【００９０】
ここでは、殆どの埋込み位置（ｕ，ｖ）に対して、λ＞｜Ｆ（ｕ，ｖ）｜であるようにλを設定する。周波数成分値の変分ΔＦ（ｕ，ｖ）＝±λより、透かし情報の埋込み後は、周波数成分値は、Ｆ（ｕ，ｖ）＋ΔＦ（ｕ，ｖ）＝±λ＋Ｆ（ｕ，ｖ）となり、１を埋込んだ場合には高い確率でλ＋Ｆ（ｕ，ｖ）＞０で正値をとる。これに対し、０を埋込んだ場合には高い確率で−λ＋Ｆ（ｕ，ｖ）＜０で負値をとる。
【００９１】
この埋込み強度についてもまた、上記の埋込み位置と同様に、利用者の固有の情報を利用して、利用者毎に異なるように選択する手法を適用することが可能である。
【００９２】
なお、複数の埋込み位置がある場合、周波数成分値変分決定部１２は、Ｓf の各点に対応する埋込強度λの組Λを与えるように構成されていればよい。
以上は後述する第２の実施形態における周波数成分値変分決定部３２においても同様である。
【００９３】
さて、周波数成分値変分決定部１２が埋込み位置（ｕ，ｖ）における周波数成分値の変分値をΔＦ（ｕ，ｖ）と決定すると、位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）は、透かし情報埋込み後にＦ（ｕ，ｖ）＋ΔＦ（ｕ，ｖ）となる。
【００９４】
画素値変分計算部１３は、透かし情報の埋込みの対象となる画像の画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を、埋込み位置選択部１１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）と、周波数成分値変分決定部１２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）を入力として計算する。
【００９５】
ここでは画素値変分計算部１３は、次式（１）
Δｆ（ｘ，ｙ）＝Ａ-1（ｘ，ｕ）・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）…（１）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する。
【００９６】
この計算を行う画素値変分計算部１３の構成例を図３に示す。
図３の例では、画素値変分計算部１３は、第１の行列要素計算部１３１と、第２の行列要素計算部１３２と、変分計算部１３３とから構成される。
【００９７】
第１の行列要素計算部１３１は、埋込み位置選択部１１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）を計算する。一方、第２の行列要素計算部１３２は同じく周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算する。
【００９８】
変分計算部１３３は、第１の行列要素計算部１３１及び第２の行列要素計算部１３２の計算結果と、周波数成分値変分決定部１２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）（＝±λ）とを入力し、上記式（１）に従う計算を行うことで、周波数空間中の埋込み位置（ｕ，ｖ）に対応する画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を求める。この変分計算部１３３によって求められた画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）は、画素値変分計算部１３の出力として画素値変換部１４に送られる。
【００９９】
なお、埋込み位置選択部１１によって選択される周波数空間中の埋込み位置が複数の場合には、その埋込み位置を（ｕi ，ｖi ）とすると、各埋込み位置（ｕi ，ｖi ）毎に、その埋込み位置（ｕi ，ｖi ）に対応する画素値空間中の各点（ｘ，ｙ）における画素値の変分を求め、その点（ｘ，ｙ）における各埋込み位置（ｕi ，ｖi ）毎の変分の総和、つまりΣi Ａ-1（ｘ，ｕi ）・Ａ-1（ｙ，ｖi ）・ΔＦ（ｕi ，ｖi ）を、画素値の変分Δｆ（ｘ，ｙ）とすればよい。
【０１００】
ところで、画素値が、例えば整数値のような離散的な値をとる場合、画素値の小さな変分は、整数値への丸めの誤差によりゼロとなってしまう。そのため画素値変分計算部１３においては、分散して埋込んだ透かし情報までこの丸めの影響によって消されてしまわないように、整数値からのずれを画一的に切り捨てる代わりに、透かし情報が再現されるよう、確率的に、近接の整数値のいずれかにしてもよい。
【０１０１】
再び図１を参照すると、画素値変換部１４は、画素値変分計算部１３から送られる画素値空間中の各点（ｘ，ｙ）の画素値の変分Δｆ（ｘ，ｙ）に従い、画像データの変換を行う。
【０１０２】
以上に説明したように、本実施形態においては、透かし情報の埋込み処理（に必要な直交変換後の透かし情報の埋込み位置の決定や周波数成分値の変分の決定）が、図２０に示した従来技術で必要とする直交変換・逆変換、更には図２１に示した従来技術で必要とするスペクトル拡散・逆拡散の計算を行うことなく実現できる。したがって、本実施形態に係る電子透かし埋込み装置１０を用いれば、入力画像がストリームデータとして与えられる場合でも、大きな（容量の）バッファを必要とせずに透かし情報を実時間で逐次埋込むことが可能となる。
【０１０３】
以上の説明では、画像のフレーム全体を１つのブロックとして扱い埋込みを行う場合について述べたが、フレームを複数のブロックに分割した場合のブロックに対して同様の埋込みを適用することも可能である。
【０１０４】
また、以上は、埋込み対象となるブロックが２次元のブロックである場合を例に説明したが、これに限るものではない。例えば、動画において、時間方向まで含めて埋込み領域とすることにより、ブロックを３次元に拡張することも可能である。
【０１０５】
これにより、１フレーム内の小さなブロックでは十分に分散させて透かし情報を埋込むことができない場合でも、複数のフレームに亘ることで、十分な画素点数を得ることによって、透かし情報を十分に分散させて埋込むことができる。また、フレームの間引きに強い形で透かし情報を埋込むことも可能である。
【０１０６】
ブロックを３次元に拡張した場合、大きなバッファに、時間方向に亘るブロックの画素値データを一旦格納してから周波数変換をすると、その処理のために時間的な遅延が生ずるとか、非常に重い処理になってしまうという問題が発生する虞がある。しかし本実施形態においては、入力されたストリームデータに逐次埋込みを行うことができるため、大きなバッファを必要とせず高速に透かし情報を埋込むことが可能である。
【０１０７】
また、その際、視覚的にブロック境界が認識されることを避けるため、ブロックの領域周辺において透かし情報の埋込みによる画素値の変分をフェードアウトするようにしてもよい。透かし情報はブロック全体に分散して埋込まれているので、ブロックの周辺部のフェードアウトによっても正しく検出することが可能である。
【０１０８】
３次元画像中のブロックは、フレーム毎の切片が異なる位置に配置されるようオフセットを持っていてもよい。また、そのオフセットはランダムに設定されてもよい。更に、適当な直交変換が定義できるならば、ブロックの形状は直方体である必要はない。また、ブロックが２次元ブロックの場合でも、それを１フレーム内に束縛された形で埋込む必要はなく、３次元画像中に自由に埋込めばよい。
【０１０９】
図４は本発明の第１の実施形態に係る電子透かし検出装置の構成を示すブロック図である。
同図において、電子透かし検出装置（ＷＭ検出装置）２０は、図１の電子透かし埋込み装置１０により透かし情報が埋め込まれた、透かし情報の検出対象である画像の画素値データを入力し、そこから透かし情報を検出して出力する。
【０１１０】
電子透かし検出装置２０は、埋込み位置選択部２１と、周波数成分値計算部２２と、透かし情報復元部２３とから構成される。
埋込み位置選択部２１は、図１の電子透かし埋込み装置１０中の埋込み位置選択部１１と同様の機能を持ち、当該埋込み位置選択部１１による埋込み時に選択した周波数空間中の埋込み位置（ｕ，ｖ）と同じ位置（ｕ，ｖ）を選択する。選択された埋込み位置（ｕ，ｖ）の情報は周波数成分値計算部２２に渡される。
【０１１１】
周波数成分値計算部２２は、埋込み位置選択部２１により選択された周波数空間中の位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）を、次式（２）
Ｆ（ｕ，ｖ）＝Σx Σy Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）…（２）
に従って計算する。ここで、Ａ（ｕ，ｘ），Ａ（ｖ，ｙ）は直交変換の行列要素である。
【０１１２】
この計算を行う周波数成分値計算部２２の構成例を図５に示す。
図５の例では、周波数成分値計算部２２は、第１の第１の行列要素計算部２２１と、第２の行列要素計算部２２２と、周波数成分値要素計算部２２３と、累積加算値記憶部２２４と、加算部２２５とから構成される。
【０１１３】
第１の行列要素計算部２２１は、埋込み位置選択部２１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第１の行列要素Ａ（ｕ，ｘ）を計算する。一方、第２の行列要素計算部２２２は同じく周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第２の行列要素Ａ（ｖ，ｙ）を計算する。
【０１１４】
周波数成分値要素計算部２２３は、第１の行列要素計算部２２１及び第２の行列要素計算部２２２の計算結果を入力すると共に、周波数空間中の埋込み位置（ｕ，ｖ）に対応する画素値空間中の各点（ｘ，ｙ）の画素値ｆ（ｘ，ｙ）を逐次入力し、その都度Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）、つまり周波数成分値の要素を計算する。
【０１１５】
累積加算値記憶部２２４は、現時点までに周波数成分値要素計算部２２３によって計算されたＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）の和（累積値）を記憶するのに用いられる。
【０１１６】
加算部２２５は、周波数成分値要素計算部２２３によってＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が計算される毎に、その計算結果とその時点における累積加算値記憶部２２４の内容とを加算し、その時点までに周波数成分値要素計算部２２３によって計算されているＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）の和（累積値）を求める。累積加算値記憶部２２４の内容はこの加算部２２５の計算結果に更新される。
【０１１７】
このようにして、埋込み対象であるブロック中のすべての画素の画素値ｆ（ｘ，ｙ）が入力し終え、その最後のｆ（ｘ，ｙ）についてのＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が周波数成分値要素計算部２２３にて計算され、その計算結果と累積加算値記憶部２２４の内容（初期値は０）とが加算部２２５にて加算されると、その加算結果Σx Σy Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が、埋込み位置選択部２１によって選択された埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）として周波数成分値計算部２２から透かし情報復元部２３に出力される。
【０１１８】
透かし情報復元部２３は、周波数成分値計算部２２から出力されるＦ（ｕ，ｖ）により、埋込まれていた透かし情報を復元する。この復元は、例えばＦ（ｕ，ｖ）＞０ならば１が、Ｆ（ｕ，ｖ）＜０ならば０が、それぞれ埋込まれていたと推定することで実現可能である。
【０１１９】
［第２の実施形態］
図６は本発明の第２の実施形態に係る電子透かし埋込み装置の構成を示すブロック図である。
【０１２０】
同図において、電子透かし埋込み装置（ＷＭ埋込み装置）３０は、透かし情報（ＷＭ）の埋込み対象である画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する。この電子透かし埋込み装置３０の特徴は、前記第１の実施形態における図１の電子透かし埋込み装置１０と異なって、ＰＮ系列によるスペクトル拡散を利用した透かし情報の埋込みを行う構成を適用する点にある。
【０１２１】
電子透かし埋込み装置３０は、埋込み位置選択部３１と、周波数成分値変分決定部３２と、画素値変分計算部３３と、画素値変換部３４と、ＰＮ系列生成部３５とから構成される。
【０１２２】
埋込み位置選択部３１は図１中の埋込み位置選択部１１と同様であり、周波数成分値には依存せずに透かし情報を埋め込むべき周波数空間中の位置（埋込み位置）を決定する。以下では、埋込み位置（ｕ，ｖ）が１点であるとして説明する。
【０１２３】
周波数成分値変分決定部３２は図１中の周波数成分値変分決定部１２と同様であり、埋込み位置選択部１１が選択した各埋込み位置（ｕ，ｖ）の周波数成分値をどのような値に変更するかを決定する。ここでは、埋込む透かし情報を表現している変分値（埋込み強度λ）が決定（選択）される。前記第１の実施形態で図１５を参照して説明したように、殆どの埋込み位置（ｕ，ｖ）に対して、λ＞｜Ｆ（ｕ，ｖ）｜であるようにλを設定する。周波数成分値の変分ΔＦ（ｕ，ｖ）＝±λより、透かし情報の埋込み後は、周波数成分値は、Ｆ（ｕ，ｖ）＋ΔＦ（ｕ，ｖ）＝±λ＋Ｆ（ｕ，ｖ）となり、１を埋込んだ場合にはλ＋Ｆ（ｕ，ｖ）＞０で正値をとる。これに対し、０を埋込んだ場合には−λ＋Ｆ（ｕ，ｖ）＜０で負値をとる。
【０１２４】
周波数成分値変分決定部３２が埋込み位置（ｕ，ｖ）における周波数成分値の変分をΔＦ（ｕ，ｖ）と決定すると、位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）は、透かし情報埋込み後にＦ（ｕ，ｖ）＋ΔＦ（ｕ，ｖ）となる。
【０１２５】
ＰＮ系列生成部３５は、スペクトル拡散のため画素値に乗じられる疑似乱数を生成する。つまり、透かし情報の埋込みの対象となる画像の各画素（ｘ，ｙ）に対して、乱数値ｐ（ｘ，ｙ）を生成する。なお、１つのブロックに複数ビットの情報を埋込む場合には、すべての透かし情報を同一ＰＮ系列によりスペクトル拡散された画像データに対して埋込む方法と、複数の異なるＰＮ系列によりスペクトル拡散されたデータに対して一部ずつ埋込む方法の、いずれの方法も適用可能である。
【０１２６】
画素値変分計算部３３は、透かし情報の埋込みの対象となる画像の画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を、埋込み位置選択部３１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）と、周波数成分値変分決定部３２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）と、ＰＮ系列生成部３５によって生成されたＰＮ系列の乱数値ｐ（ｘ，ｙ）を入力として計算する。
【０１２７】
ここでは画素値変分計算部３３は、次式（３）
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ-1（ｘ，ｕ）
・Ａ-1（ｙ，ｖ）・ΔＦ（ｕ，ｖ）…（３）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する。
【０１２８】
この計算を行う画素値変分計算部３３の構成例を図７に示す。
図７の例では、画素値変分計算部３３は、第１の行列要素計算部３３１と、第２の行列要素計算部３３２と、変分計算部３３３とから構成される。
【０１２９】
第１の行列要素計算部３３１は、前記第１の実施形態における図３中の第１の行列要素計算部１３１と同様であり、埋込み位置選択部３１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第１の行列要素Ａ-1（ｘ，ｕ）を計算する。一方、第２の行列要素計算部３３２は上記図３中の第２の行列要素計算部１３２と同様であり、上記周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第２の行列要素Ａ-1（ｙ，ｖ）を計算する。
【０１３０】
変分計算部３３３は、第１の行列要素計算部３３１及び第２の行列要素計算部３３２の計算結果と、周波数成分値変分決定部３２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）と、ＰＮ系列生成部３５によって生成されたＰＮ系列の乱数値ｐ（ｘ，ｙ）を入力し、上記式（３）に従う計算を行うことで、周波数空間中の埋込み位置（ｕ，ｖ）に対応する画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を求める。この変分計算部３３３によって求められた画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）は、画素値変分計算部３３の出力として画素値変換部３４に送られる。
【０１３１】
再び図６を参照すると、画素値変換部３４は、画素値変分計算部３３から送られる画素値空間中の各点（ｘ，ｙ）の画素値の変分Δｆ（ｘ，ｙ）に従い、画像データの変換（画素値の変更）を行う。
【０１３２】
以上に説明したように、本実施形態においては、透かし情報の埋込み処理（に必要な直交変換後の透かし情報の埋込み位置の決定や周波数成分値の変分の決定）が、図２０に示した従来技術で必要とする直交変換・逆変換、更には図２１に示した従来技術で必要とするスペクトル拡散・逆拡散の計算を行うことなく実現できる。したがって、本実施形態に係る電子透かし埋込み装置３０を用いれば、入力画像がストリームデータとして与えられる場合でも、大きな（容量の）バッファを必要とせずに透かし情報を実時間で逐次埋込むことが可能となる。
【０１３３】
図８は本発明の第２の実施形態に係る電子透かし検出装置の構成を示すブロック図である。
同図において、電子透かし検出装置（ＷＭ検出装置）４０は、図６の電子透かし埋込み装置３０により透かし情報が埋め込まれた、透かし情報の検出対象である画像の画素値データを入力し、そこから透かし情報を検出して出力する。
【０１３４】
電子透かし検出装置４０は、埋込み位置選択部４１と、周波数成分値計算部４２と、透かし情報復元部４３と、ＰＮ系列生成部４４とから構成される。
【０１３５】
埋込み位置選択部４１は、図６の電子透かし埋込み装置３０中の埋込み位置選択部３１と同様の機能を持ち、当該埋込み位置選択部３１による埋込み時に選択した周波数空間中の埋込み位置（ｕ，ｖ）と同じ位置（ｕ，ｖ）を選択する。選択された埋込み位置（ｕ，ｖ）の情報は周波数成分値計算部４２に渡される。
【０１３６】
ＰＮ系列生成部４４は、図６の電子透かし埋込み装置３０内のＰＮ系列生成部３５と同様の機能を持ち、透かし情報の埋込み時に当該ＰＮ系列生成部３５が生成したＰＮ系列と同じＰＮ系列を生成する。
【０１３７】
周波数成分値計算部４２は、埋込み位置選択部４１により選択された周波数空間中の位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）を、次式（４）
Ｆ（ｕ，ｖ）＝Σx Σy ｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）
・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）…（４）
に従って計算する。ここで、Ａ（ｕ，ｘ），Ａ（ｖ，ｙ）は直交変換の行列要素である。
【０１３８】
この計算を行う周波数成分値計算部４２の構成例を図９に示す。
図９の例では、周波数成分値計算部４２は、（前記第１の実施形態における周波数成分値計算部２２が持つ第１の第１の行列要素計算部２２１と、第２の行列要素計算部２２２と、周波数成分値要素計算部２２３と、累積加算値記憶部２２４と、加算部２２５に相当する）第１の第１の行列要素計算部４２１と、第２の行列要素計算部４２２と、周波数成分値要素計算部４２３と、累積加算値記憶部４２４と、加算部４２５とから構成される。
【０１３９】
第１の行列要素計算部４２１は、埋込み位置選択部４１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第１の行列要素Ａ（ｕ，ｘ）を計算する。一方、第２の行列要素計算部４２２は同じく周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第２の行列要素Ａ（ｖ，ｙ）を計算する。
【０１４０】
周波数成分値要素計算部４２３は、第１の行列要素計算部４２１及び第２の行列要素計算部４２２の計算結果を入力すると共に、周波数空間中の埋込み位置（ｕ，ｖ）に対応する画素値空間中の各点（ｘ，ｙ）の画素値ｆ（ｘ，ｙ）及びＰＮ系列生成部４４により生成されるＰＮ系列の乱数値ｐ（ｘ，ｙ）を逐次入力し、その都度ｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）、つまり周波数成分値の要素を計算する。
【０１４１】
累積加算値記憶部４２４は、現時点までに周波数成分値要素計算部４２３によって計算されたｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）の和（累積値）を記憶するのに用いられる。
【０１４２】
加算部４２５は、周波数成分値要素計算部４２３によってｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が計算される毎に、その計算結果とその時点における累積加算値記憶部４２４の内容とを加算し、その時点までに周波数成分値要素計算部４２３によって計算されているｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）の和（累積値）を求める。累積加算値記憶部４２４の内容はこの加算部４２５の計算結果に更新される。
【０１４３】
このようにして、埋込み対象であるブロック中のすべての画素の画素値ｆ（ｘ，ｙ）が入力し終え、その最後のｆ（ｘ，ｙ）についてのｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が周波数成分値要素計算部４２３にて計算され、その計算結果と累積加算値記憶部４２４の内容とが加算部４２５にて加算されると、その加算結果Σx Σy ｐ（ｘ，ｙ）・Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が、埋込み位置選択部４１によって選択された埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）として周波数成分値計算部４２から透かし情報復元部４３に出力される。
【０１４４】
透かし情報復元部４３は、周波数成分値計算部４２から出力されるＦ（ｕ，ｖ）により、埋込まれていた透かし情報を復元する。この復元は、例えばＦ（ｕ，ｖ）＞０ならば１が、Ｆ（ｕ，ｖ）＜０ならば０が、それぞれ埋込まれていたと推定することで実現可能である。
【０１４５】
［第３の実施形態］
図１０は本発明の第３の実施形態に係る電子透かし埋込み装置の構成を示すブロック図である。
【０１４６】
図１０（ａ）の電子透かし埋込み装置（ＷＭ埋込み装置）５０は、透かし情報の埋込み処理に必要な埋込み強度といったパラメータを適応的に決定することによって、透かし情報のより確実な検出、更には知覚的影響のより小さな透かし情報の埋込みを実現するために、前記第１の実施形態における電子透かし埋込み装置１０または前記第２の実施形態における電子透かし埋込み装置３０に相当する電子透かし埋込み部（ＷＭ埋込み部）５１、及び前記第１の実施形態における電子透かし検出装置２０または前記第２の実施形態における電子透かし検出装置４０に相当する電子透かし検出部（ＷＭ検出部）５２を備えたことを特徴とする。
【０１４７】
電子透かし検出部５２は、電子透かし埋込み部５１により透かし情報が埋め込まれた場合、その透かし情報が埋め込まれた画像から当該透かし情報を直ちに検出する。この電子透かし検出部５２において透かし情報を検出する際には、前記第１の実施形態における電子透かし検出装置２０の構成（図４参照）または前記第２の実施形態における電子透かし検出装置４０の構成（図８参照）から容易に理解できるように、透かし情報の埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）が（図４中の周波数成分値計算部２２または図８中の周波数成分値計算部４２により）計算される。
【０１４８】
そこで、例えば図１１（ａ）に示すように、この周波数成分値を、（図１中の周波数成分値変分決定部１２または図６中の周波数成分値変分決定部３２に相当する）電子透かし埋込み部５１内の周波数成分値変分決定部５１２にフィードバックする。
【０１４９】
周波数成分値変分決定部５１２は、電子透かし検出部５２によりフィードバックされた周波数成分値をもとに、埋込み位置（ｕ，ｖ）における周波数成分値の変分値、つまり透かし情報の埋込み強度を適応的に変更する。
【０１５０】
なお、電子透かし検出部５２から電子透かし埋込み部５１内の周波数成分値変分決定部５１２にフィードバックする情報として、周波数成分値ではなくて、図１１（ｂ）に示すように、その周波数成分値をもとに復元される透かし情報を、フィードバックする構成としてもよい。この場合、周波数成分値変分決定部５１２は、電子透かし検出部５２によりフィードバックされた透かし情報をもとに、埋込み位置（ｕ，ｖ）における周波数成分値の変分値、つまり透かし情報の埋込み強度を適応的に変更すればよい。
【０１５１】
このように、電子透かし埋込み部５１により透かし情報が埋め込まれた画像から電子透かし検出部５２にて当該透かし情報を直ちに検出し、その検出した透かし情報自体、或いはその透かし情報の検出（復元）に用いられた周波数成分値を電子透かし埋込み部５１にフィードバックして、それ以降の透かし情報の埋込み処理における周波数成分値の変分（埋込み強度）を適応的に変更することで、新たに埋込まれる透かし情報の検出時の正しい検出の確率を高めることが可能となる。
【０１５２】
なお、電子透かし埋込み部５１により透かし情報が埋め込まれた画像を対象とする操作（例えば画像の圧縮／伸張）が予め予想される場合、例えば図１０（ｂ）の電子透かし埋込み装置（ＷＭ埋込み装置）５００のように、その操作をモデル化したフィルタリング（例えば圧縮／伸張）を行うフィルタリング部５３を設け、当該フィルタリング部５３によるフィルタリングの結果に対して電子透かし検出部５２による検出を行い、その結果を電子透かし埋込み部５１にフィードバックさせるようにしても構わない。
【０１５３】
この他に、電子透かし埋込み部５１にフィードバックされる情報としては、透かし情報の検出結果以外に、透かし情報が埋め込まれた画像の視覚（知覚）的影響を評価した結果を適用することも可能である。このような構成例を図１２（ａ），（ｂ）に示す。
【０１５４】
図１２（ａ）の構成では、電子透かし埋込み部５１から出力される透かし情報が埋め込まれた画像の画素値を入力として、当該画像の視覚的（知覚的）影響（透かし情報埋込み前の元画像からの視覚的な歪み）を検出・評価する知覚的影響検出部５４１を備えており、その知覚的影響検出部５４１での評価結果を電子透かし埋込み部５１（内の例えば図１１に示した周波数成分値変分決定部５１２）にフィードバックする。
【０１５５】
一方、図１２（ｂ）の構成では、電子透かし埋込み部５１内の例えば図１１に示した周波数成分値変分決定部５１２で決定された周波数成分値の変分（つまり、電子透かし埋込み部５１での透かし情報埋込みで用いられたパラメータ）を入力として、当該電子透かし埋込み部５１によって透かし画像が埋め込まれた画像の視覚的影響（歪み）を検出・評価する知覚的影響検出部５４２を備え、その知覚的影響検出部５４２での評価結果を電子透かし埋込み部５１（内の例えば図１１に示した周波数成分値変分決定部５１２）にフィードバックする。
【０１５６】
上記知覚的影響検出部５４１または５４２での視覚的（知覚的）な影響の評価には、ＳＮ比による評価方式、或いは知覚モデルに基づく評価方式が適用可能である。
【０１５７】
［第４の実施形態］
前記第１の実施形態及び第２の実施形態における電子透かし埋込み装置において、埋込み位置や埋込み強度を周波数成分値に依存した値に設定することが考えられる。ところが、周波数空間中の多数の位置の周波数成分値を求める必要があるような埋込み強度の決定では、計算量が大きくなるため、大きなブロックサイズを選択することが困難となる。そこで本実施形態では、埋込み位置は周波数成分値に依存せず、埋込み強度のみが少数の点における周波数成分値に依存するような方式を適用する。
【０１５８】
図１３は本発明の第４の実施形態に係る電子透かし埋込み装置の構成を示すブロック図である。
同図において、電子透かし埋込み装置（ＷＭ埋込み装置）６０は、透かし情報の埋込み位置の周波数成分値を計算し、その値に基づき埋込み強度を決定する方式を適用するもので、埋込み位置選択部６１と、周波数成分値変分決定部６２と、画素値変分計算部６３と、画素値変換部６４と、ＰＮ系列生成部６５と、画素値読取部６６と、周波数成分値計算部６７とから構成される。
【０１５９】
画素値読取部６６は、透かし情報の埋込みの対象となる画像の画素値空間中の各点（ｘ，ｙ）における画素値ｆ（ｘ，ｙ）を読み取る。
周波数成分値計算部６７は前記第２の実施形態における図８の電子透かし検出装置４０中の周波数成分値計算部４２に相当するもので、（図８中の埋込み位置選択部４１に相当する）埋込み位置選択部６１によって決定された埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）を、画素値読取部６６により読み取られた画素値空間中の各点（ｘ，ｙ）における画素値ｆ（ｘ，ｙ）、（図８中のＰＮ系列生成部４４に相当する）ＰＮ系列生成部６５により生成される画素（ｘ，ｙ）に対する乱数値ｐ（ｘ，ｙ）をもとに、前記式（４）に従って計算する。なお、ＰＮ系列生成部６５を用いない構成、即ちＰＮ系列によるスペクトル拡散を用いない構成であれば、周波数成分値Ｆ（ｕ，ｖ）を前記式（２）に従って計算すればよい。
【０１６０】
周波数成分値変分決定部６２は、この埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）をもとに、当該埋込み位置（ｕ，ｖ）の周波数成分値の変分ΔＦ（ｕ，ｖ）を決定（選択）する。
【０１６１】
画素値変分計算部６３は（前記第２の実施形態における図６中の画素値変分計算部３３に相当するもので)、透かし情報の埋込みの対象となる画像の画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を、埋込み位置選択部６１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）と、周波数成分値変分決定部６２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）と、ＰＮ系列生成部６５によって生成されたＰＮ系列の乱数値ｐ（ｘ，ｙ）を入力として計算する。
【０１６２】
画素値変換部６４は、画素値変分計算部６３で求められる画素値空間中の各点（ｘ，ｙ）の画素値の変分Δｆ（ｘ，ｙ）に従い、画像データの変換を行う。
【０１６３】
図１３の構成の特徴は、各種の操作の下における周波数成分値の変化に関する一般的性質についての情報を利用して、画像に与える知覚的な影響が小さくて済み、且つ埋込みによる周波数成分値の変分が小さな値で済むように、周波数成分値変分決定部６２にて埋込み強度を設定できる点にある。これについて、図１６及び図１７を参照して説明する。
【０１６４】
図１６は、圧縮・伸張の操作によって画像の周波数成分値がどのように変化するかを表す図である。
図から明らかなように、どの周波数成分値の変化も、ほぼ±δの範囲内に収まっている。このように、殆どすべての画像データに対してこのような性質が成立するので、ある程度の大きさを持つ変分δを設定するならば、どのような画像でも殆どの周波数成分値の変化はこの±δの範囲内に収まることになる。
【０１６５】
この性質を利用することで、図１３の電子透かし埋込み装置６０による透かし情報の埋め込みにおいて、周波数成分値変分決定部６２は、例えば、１を埋め込む場合にはδ−Ｆ（ｕ，ｖ）を、０を埋め込む場合には−δ−Ｆ（ｕ，ｖ）を、それぞれ変分として決定することができる。この場合、埋め込み時の丸めの誤差を除けば、埋め込み直後の周波数成分値は、１が埋め込まれている場合にδとなり、０が埋め込まれている場合には−δとなる。このδは、前記第１の実施形態、或いは第２の実施形態で設定された埋込み強度λに比べて一般に小さな値であり、λが典型的な周波数成分値よりも大きく設定する必要があったのに対して、δは典型的な周波数成分値として設定することができるので、画像に与える知覚的な影響を小さくすることができる。
【０１６６】
図１７は、画像への知覚的影響をより小さくするための周波数成分値の変分の与え方を表わす図である。
同図において、δ′はδよりも少し大きく設定されているとする。また、周波数成分値の値域は、２δ′の間隔で部分領域に分割されているとし、例えば第ｉ番目の部分領域は、（２ｉ−１）δ′から（２ｉ＋１）δ′の間の領域とする。
【０１６７】
ここでは、周波数成分値変分決定部６２は、１を埋込む場合には、ｉが偶数ならば（２ｉ＋１）δ′−Ｆ（ｕ，ｖ）を、ｉが奇数ならば（２ｉ−１）δ′−Ｆ（ｕ，ｖ）を、０を埋め込む場合には、ｉが偶数ならば（２ｉ−１）δ′−Ｆ（ｕ，ｖ）を、ｉが奇数ならば（２ｉ＋１）δ′−Ｆ（ｕ，ｖ）を、それぞれ変分として選択する。
【０１６８】
さて、以上の周波数成分値の変分の決定機能を有する電子透かし埋込み装置６０によって透かし情報が埋め込まれた画像から、当該透かし情報を電子透かし検出装置によって検出するには、図８中の透かし情報復元部４３に相当する透かし情報復元部において、埋込み位置における周波数成分値が最近接の（２ｉ＋１）δ′なるｉの値を求め、ｉが奇数ならば１が、ｉが偶数ならば０が埋込まれていたものと判断すればよい。この方式では、埋込み時の周波数成分値の変分の絶対値は、最大でも２δ′に抑えることができる。
【０１６９】
以上は、本発明を電子透かし埋込み装置に実施した場合について説明したが、電子透かしの埋込み機能と検出機能の両機能を併せ持つ、電子透かし埋込み・検出装置にも同様に適用可能である。
【０１７０】
図１４は、図１３の電子透かし埋込み装置６０と同様の電子透かしの埋込み機能に加えて、電子透かしの検出機能を持つ電子透かし埋込み・検出装置（ＷＭ埋込み・検出装置）７０の構成を示すブロック図である。なお、図１３と同一部分には同一符号を付してある。
【０１７１】
同図において、図１３の電子透かし埋込み装置６０に相当する電子透かし埋込み部（ＷＭ埋込み部）７１は、当該電子透かし埋込み装置６０と同様に、埋込み位置選択部６１と、周波数成分値変分決定部６２と、画素値変分計算部６３と、画素値変換部６４と、ＰＮ系列生成部６５と、画素値読取部６６と、周波数成分値計算部６７とから構成される。
【０１７２】
一方、電子透かし検出部（ＷＭ検出部）７２は、埋込み位置選択部６１と、ＰＮ系列生成部６５と、画素値読取部６６と、周波数成分値計算部６７と、（図８中の透かし情報復元部４３に相当する）透かし情報復元部７３とから構成される。ここで、埋込み位置選択部６１、ＰＮ系列生成部６５、画素値読取部６６、及び周波数成分値計算部６７は、電子透かし埋込み部７１と共用される。
【０１７３】
このように、電子透かし検出部７２の一部の機能を電子透かし埋込み部７１と共用する構成を適用することで、電子透かし埋込み部７１と電子透かし検出部７２で同一機能を重複して持つことを避けることが可能となる。このことは、ＰＮ系列生成部６５を持たない構成においても同様であり、埋込み位置選択部、画素値読取部及び周波数成分値計算部を共用すればよい。また、図１の電子透かし埋込み装置１０と図４の電子透かし検出装置２０の両機能を持つ装置を実現する場合、或いは図６の電子透かし埋込み装置３０と図８の電子透かし検出装置４０の両機能を持つ装置を実現する場合にも同様に適用可能である。前者の例では、埋込み位置選択部を共用し、後者の場合には埋込み位置選択部及びＰＮ系列生成部を共用すればよい。
【０１７４】
［第５の実施形態］
図１８は本発明の第５の実施形態に係る電子透かし埋込み装置の構成を示すブロック図である。
【０１７５】
同図において、電子透かし埋込み装置（ＷＭ埋込み装置）１８０は改良されたパッチワーク法による透かし情報の埋込み手法を適用するものであり、周波数成分対生成部１８１と、ＰＮ系列生成部１８２と、直接拡散部１８３と、直交変換部１８４と、第１成分変更部１８５と、第２成分変更部１８６と、逆直交変換部１８７と、直接拡散部１８８とから構成される。
【０１７６】
周波数成分対生成部１８１は、透かし情報を埋め込むべき周波数空間中の位置の対＜（ａｕ，ａｖ），（ｂｕ，ｂｖ）＞を周波数成分値に無関係に決定（生成）する。
【０１７７】
ＰＮ系列生成部１８２は、スペクトル拡散のため透かし情報の埋込み対象となる画像の画素値空間中の各点における画素値に乗じられる疑似乱数（の系列）を生成する。
【０１７８】
直接拡散部１８３は、ＰＮ系列生成部１８２によって生成された疑似乱数を上記画像の画素値データに乗じることで、スペクトル拡散された画素値データを出力する。
【０１７９】
直交変換部１８４は、直接拡散部１８３によってスペクトル拡散された画素値データに直交変換を施し、周波数成分値データを生成する。
【０１８０】
第１成分変更部１８５は、周波数成分対生成部１８１によって生成された各埋込み位置の周波数成分の対の第１成分（ａｕ，ａｖ）の、直交変換部１８４によって生成された周波数成分値ａを、透かし情報の値によって例えばある正値Δだけ変更（ここでは、透かし情報１を埋め込む場合には増加、０を埋め込む場合には減少）させる操作を行う。
【０１８１】
一方、第２成分変更部１８６は、周波数成分対生成部１８１によって生成された各埋込み位置の周波数成分の対の第２成分（ｂｕ，ｂｖ）の、直交変換部１８４によって生成された周波数成分値ｂを、透かし情報の値によって上記第１成分変更部１８５による変更とは逆方向に正値Δだけ変更（ここでは、透かし情報１を埋め込む場合には減少、０を埋め込む場合には増加）させる操作を行う。
【０１８２】
逆直交変換部１８７は、第１成分変更部１８５及び第２成分変更部１８６による変更操作後の周波数成分値データに対して逆直交変換を行って画素値データを出力する。
【０１８３】
直接拡散部１８８は、逆直交変換部１８７から出力された画素値データに対してＰＮ系列生成部１８２によって生成された疑似乱数を乗じる逆拡散を行って、透かし情報が埋込まれている画素値データを出力する。
【０１８４】
このように本実施形態においては、透かし情報の埋込みの対象となる画像データに対して直接拡散部１８３によりスペクトル拡散を行い、しかる後に直交変換部１８４により周波数変換をするようにしている。したがって、直交変換部１８４の周波数変換により得られる周波数成分値データは、正規分布に近い統計的にほぼ一様な分布を持つものとなる。このため、周波数成分対生成部１８１によりランダムに選択される埋込み位置の周波数成分の対の個数が少なくても、当該対の第１成分及び第２成分の、第１成分変更部１８５及び第２成分変更部１８６の変更操作後の周波数成分値の分布に、当該変更操作による統計的に意味のある差が生じ、意味のある透かし埋込みが可能となる。
【０１８５】
図１９は本発明の第５の実施形態に係る電子透かし検出装置の構成を示すブロック図である。
同図において、電子透かし検出装置（ＷＭ検出装置）１９０は、図１８の電子透かし埋込み装置１８０により透かし情報が埋め込まれた、透かし情報の検出対象である画像の画素値データを入力し、そこから透かし情報を検出して出力する。
【０１８６】
電子透かし検出装置１９０は、周波数成分対生成部１９１と、ＰＮ系列生成部１９２と、直接拡散部１９３と、直交変換部１９４と、第１成分平均計算部１９５と、第２成分平均計算部１９６と、平均比較部１９７とから構成される。
周波数成分対生成部１９１は、図１８の電子透かし埋込み装置１８０により透かし情報が埋め込まれた周波数空間中の位置の対を周波数成分値に無関係に決定（生成）する。
【０１８７】
ＰＮ系列生成部１９２は、スペクトル拡散のため透かし情報の検出対象となる画像の画素値空間中の各点における画素値に乗じられる疑似乱数（の系列）を生成する。
【０１８８】
直接拡散部１９３は、ＰＮ系列生成部１９２によって生成された疑似乱数を上記画像の画素値データに乗じることで、スペクトル拡散された画素値データを出力する。
【０１８９】
直交変換部１９４は、直接拡散部１９３によってスペクトル拡散された画素値データに直交変換を施し、周波数成分値データを生成する。
【０１９０】
第１成分平均計算部１９５は、周波数成分対生成部１９１によって生成された各埋込み位置の周波数成分の対の第１成分の、上記直交変換部１９４によって生成された周波数成分値の平均値を算出する。一方、第２成分平均計算部１９６は、周波数成分対生成部１９１によって生成された各埋込み位置の周波数成分の対の第２成分の、上記直交変換部１９４によって生成された周波数成分値の平均値を算出する。
【０１９１】
平均比較部１９７は、第１成分平均計算部１９５及び第２成分平均計算部１９６によって算出された２つの平均値を比較し、第１成分の周波数成分値の平均値の方が大きい場合には、１が埋め込まれており、第２成分の周波数成分値の平均値の方が大きい場合には、０が埋め込まれている判定することで、埋め込まれた透かし情報を検出（復元）する。
【０１９２】
以上は、画像への透かし情報埋込み及び画像からの透かし情報検出に実施した場合について説明したが、本発明は画像以外の例えば音声や音楽等のデジタル著作物への透かし情報埋込み及びそこからの透かし情報検出にも同様に適用可能である。
【０１９３】
なお、前記第１の実施形態で適用した図１の電子透かし埋込み装置１０の構成及び図４の電子透かし検出装置２０の構成、第２の実施形態で適用した図６の電子透かし埋込み装置３０の構成及び図８の電子透かし検出装置４０の構成、第３の実施形態で適用した図１０の電子透かし埋込み装置５０または５００の構成、第４の実施形態で適用した図１３の電子透かし埋込み装置６０の構成及び図１４の電子透かし埋込み・検出装置の構成、前記第５の実施形態で適用した図１８の電子透かし埋込み装置１８０の構成及び図１９の電子透かし検出装置１９０の構成は、コンピュータをその構成要素である各機能手段として機能させるためのプログラムを、ＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フロッピーディスク、ハードディスク、メモリカード等の機械読み取り可能な記録媒体に記録し、当該プログラムをコンピューにより読み取り実行させることでも実現可能である。このプログラムが、ネットワーク等の通信回線を介してダウンロードされるものであっても構わない。
【０１９４】
【発明の効果】
以上詳述したように本発明によれば、透かし情報の埋込みの際に、大きなブロックサイズを選択した場合でも、スペクトル拡散・逆拡散、直交変換・逆変換の計算コストを小さくできるため、高速に透かし情報の埋込みが行えるようになる。このため、従来は性能的な観点からハードウェア的に実装する以外に手段がなかったが、ソフトウェアによる実装が可能となる。また、透かし情報の埋め込み機能をハードウェア回路で実現する場合には、従来より小さなハードウェアコストでの実現が可能となる。
【０１９５】
また本発明によれば、透かし情報の埋込みの際に、大きなブロックサイズの領域を選択して、視覚的な画像の劣化を小さく抑えたまま、Ｄ／Ａ変換、Ａ／Ｄ変換を始めとする各種の操作に対して、透かし情報が失われないようにすることが可能となる。
【０１９６】
また本発明によれば、高速な透かし情報の埋込みにより、画像等のデータの利用・転送時に利用者や転送先の情報を埋め込むフィンガープリント装置を実現することが可能である。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る電子透かし埋込み装置の構成を示すブロック図。
【図２】図１中の埋込み位置選択部１１の構成例と、当該埋込み位置選択部１１の動作を説明するためのフローチャートとを示す図。
【図３】図１中の画素値変分計算部１３の構成例を示すブロック図。
【図４】本発明の第１の実施形態に係る電子透かし検出装置の構成を示すブロック図。
【図５】図４中の周波数成分値計算部２２の構成例を示すブロック図。
【図６】本発明の第２の実施形態に係るスペクトル拡散方式を適用する電子透かし埋込み装置の構成を示すブロック図。
【図７】図６中の画素値変分計算部３３の構成例を示すブロック図。
【図８】本発明の第２の実施形態に係るスペクトル拡散方式を適用する電子透かし検出装置の構成を示すブロック図。
【図９】図８中の周波数成分値計算部４２の構成例を示すブロック図。
【図１０】本発明の第３の実施形態に係る透かし情報検出に基づく適応的な透かし情報の埋込みを行う電子透かし埋込み装置の構成を示すブロック図。
【図１１】図１０中の電子透かし埋込み部５１に設けられ、フィードバック情報に基づいて周波数成分値の変分を決定する周波数成分値変分決定部５１２の機能を説明するための図。
【図１２】画像の歪みをフィードバックして周波数成分値の変分を適応的に変化させることで透かし情報の埋込みを行う電子透かし埋込み装置の構成例を示すブロック図。
【図１３】本発明の第４の実施形態に係る埋込み位置の周波数成分値に基づく埋込み強度決定機能を持つ電子透かし埋込み装置の構成を示すブロック図。
【図１４】図１３の電子透かし埋込み装置と同様の電子透かしの埋込み機能に加えて、電子透かしの検出機能を持つ電子透かし埋込み・検出装置の構成を示すブロック図。
【図１５】埋込み強度λの適切な設定の仕方について周波数成分値Ｆの頻度分布を用いて説明するための図。
【図１６】圧縮・伸張の操作による画像の周波数成分値の変化を表す図。
【図１７】画像への知覚的影響を小さくするための周波数成分値の変分の与え方を説明するための図。
【図１８】本発明の第５の実施形態に係る改良されたパッチワーク法を適用した電子透かし埋込み装置の構成を示すブロック図。
【図１９】本発明の第５の実施形態に係る改良されたパッチワーク法を適用して埋め込まれた透かし情報の検出を行う電子透かし検出装置の構成を示すブロック図。
【図２０】周波数空間で透かし情報を埋め込む従来の電子透かし埋込み装置の構成を示すブロック図。
【図２１】図２０の電子透かし埋込み装置で周波数空間に埋め込まれた透かし情報を検出する従来の電子透かし検出装置の構成を示すブロック図。
【図２２】スペクトル拡散された画像に対して周波数空間で透かし情報を埋め込む従来の電子透かし埋込み装置の構成を示すブロック図。
【図２３】図２２の電子透かし埋込み装置でスペクトル拡散された画像の周波数空間に埋め込まれた透かし情報を検出する従来の電子透かし検出装置の構成を示すブロック図。
【図２４】パッチワーク法を適用する従来の電子透かし埋込み装置の構成を示すブロック図。
【図２５】図２４の電子透かし埋込み装置による透かし情報埋込み前の全画素の画素値の分布と、埋込み後の画素の対の第１及び第２成分の画素値の分布を示す図。
【図２６】図２４の電子透かし埋込み装置で埋め込まれた透かし情報を検出する従来の電子透かし検出装置の構成を示すブロック図。
【符号の説明】
１０，３０，５０，６０，１８０，５００…電子透かし埋込み装置（ＷＭ埋込み装置）
１１，２１，３１，４１，６１…埋込み位置選択部
１２，３２，６２，５１２…周波数成分値変分決定部
１３，３３，６３…画素値変分計算部
１４，３４，６４…画素値変換部
２０，４０，７０，１９０…電子透かし検出装置（ＷＭ検出装置）
２２，４２，６７…周波数成分値計算部
２３，４３，７３…透かし情報復元部
３５，４４，６５，１８２，１９２…ＰＮ系列生成部
５１，７１…電子透かし埋込み部（ＷＭ埋込み部）
５２，７２…電子透かし検出部（ＷＭ検出部）
５３…フィルタリング部
６６…画素値読取部
１３１，２２１，３３１，４２１…第１の行列要素計算部
１３２，２２２，３３２，４２２…第２の行列要素計算部
１３３，３３３…変分計算部
１８１，１９１…周波数成分対生成部
１８３，１８８，１９３…直接拡散部
１８４，１９４…直交変換部
１８５…第１成分平均計算部
１８６…第２成分変更部
１８７…逆直交変換部
１９５…第１成分平均計算部
１９６…第２成分平均計算部
１９７…平均比較部
２２３，４２３…周波数成分値要素計算部
５４１，５４２…知覚的影響検出部
【図１】
0004130503.tif 000002
【図２】
0004130503.tif 000003
【図３】
0004130503.tif 000004
【図４】
0004130503.tif 000005
【図５】
0004130503.tif 000006
【図６】
0004130503.tif 000007
【図７】
0004130503.tif 000008
【図８】
0004130503.tif 000009
【図９】
0004130503.tif 000010
【図１０】
0004130503.tif 000011
【図１１】
0004130503.tif 000012
【図１２】
0004130503.tif 000013
【図１３】
0004130503.tif 000014
【図１４】
0004130503.tif 000015
【図１５】
0004130503.tif 000016
【図１６】
0004130503.tif 000017
【図１７】
0004130503.tif 000018
【図１８】
0004130503.tif 000019
【図１９】
0004130503.tif 000020
【図２０】
0004130503.tif 000021
【図２１】
0004130503.tif 000022
【図２２】
0004130503.tif 000023
【図２３】
0004130503.tif 000024
【図２４】
0004130503.tif 000025
【図２５】
0004130503.tif 000026
【図２６】
0004130503.tif 000027