(57)【特許請求の範囲】
【請求項１】
ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理装置において、
前記対象情報をウェーブレット変換する変換手段と、
前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出手段と、
前記埋め込み係数検出手段により検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドのレベルに応じて重み付けをして計数する計数手段と、
前記計数手段による計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記ウェーブレット変換手段によりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出手段と、
前記算出手段により算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付け手段と、
前記重み付け手段により重み付けされた前記壊れ係数の数と、前記重み付け手段により重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記係数群の係数値を操作する操作手段と
を備える情報処理装置。
【請求項２】
前記計数手段による計数結果に基づいて、多数決に勝った埋め込み係数値を前記電子透かし情報を構成する画素値として決定する決定手段
をさらに備える請求項１の情報処理装置。
【請求項３】
前記操作手段は、
前記比率が所定の閾値以下の場合には、前記係数群に含まれる前記壊れ係数を消去し、前記比率が所定の閾値より大きい場合には、前記係数群に含まれる前記埋め込み係数を壊れ係数に変更する
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記電子透かし情報を構成する複数の同一画素は、ウェーブレット変換された対象情報における第１のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第２のサブバンドの関連係数に基づいて変調されて、前記埋め込み係数に埋め込まれている
請求項１乃至請求項３のいずれか一項に記載の情報処理装置。
【請求項５】
前記第１のサブバンドは、最低域のサブバンド以外のサブバンドであり、
前記第２のサブバンドは、前記最低域のサブバンドである
請求項４に記載の情報処理装置。
【請求項６】
複数段のウェーブレット変換を随時行うと同時に、
各段階のウェーブレット変換が行われる毎に、第１のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第２のサブバンドの関連係数を検出する
請求項４に記載の情報処理装置。
【請求項７】
前記第１のサブバンドは、最高域のサブバンド以外のサブバンドであり、
前記第２のサブバンドは、前記最高域のサブバンドである
請求項６に記載の情報処理装置。
【請求項８】
前記関連係数に基づいて復調を行う復調手段をさらに備え、
前記計数手段は、前記復調手段により復調された前記埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数する
請求項４乃至請求項７のいずれか一項に記載の情報処理装置。
【請求項９】
ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理方法において、
前記対象情報をウェーブレット変換する変換ステップと、
前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出ステップと、
前記埋め込み係数検出ステップの処理で検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドのレベルに応じて重み付けをして計数する計数ステップと、
前記計数ステップによる計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記変換ステップによりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出ステップと、
前記算出ステップにより算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付けステップと、
前記重み付けステップにより重み付けされた前記壊れ係数の数と、前記重み付けステップにより重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定ステップと、
前記判定ステップによる判定結果に基づいて、前記係数群の係数値を操作する操作ステップと
を含む情報処理方法。
【請求項１０】
ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する処理をコンピュータに実行させるプログラムにおいて、
前記対象情報をウェーブレット変換する変換ステップと、
前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出ステップと、
前記埋め込み係数検出ステップの処理で検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドのレベルに応じて重み付けをして計数する計数ステップと、
前記計数ステップによる計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記変換ステップによりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出ステップと、
前記算出ステップにより算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付けステップと、
前記重み付けステップにより重み付けされた前記壊れ係数の数と、前記重み付けステップにより重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定ステップと、
前記判定ステップによる判定結果に基づいて、前記係数群の係数値を操作する操作ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、悪意のある改竄と圧縮・ノイズ等の悪意のない変更を区別して、正確に電子透かし情報を復元するとともに、改竄を的確に検出することができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、文字データ、画像データ、音声データ等の多種のデータがコンピュータやネットワーク内で扱われるようになるに伴い、そのデータの不正利用（改竄）を防止するために、著作権情報や利用者情報を電子透かし情報として埋め込む技術が開発されている。【０００３】
電子透かし情報を埋め込むことは、埋め込みの対象となるデータを変更することになるため、埋め込み強度を強くすると当該データにより表現されるコンテンツの品質が劣化するおそれがある。一方、改竄を的確に検出するためには、電子透かし情報の耐性を強くする必要がある。そこで、埋め込み強度を強くすることなく、すなわち、コンテンツの品質劣化を起こすことなく、電子透かし情報への攻撃に対する耐性を強くした技術として、従来、ウェーブレット変換された係数のうちの所定の複数の係数に対して、電子透かし情報を構成する画素をそれぞれ複数個埋め込み、電子透かし情報を抽出する際には多数決判定によりそれぞれの画素値を決定する発明が知られている（例えば、特許文献１）。【０００４】
【特許文献１】特開２０００−１０６６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、改竄検出においては、正確に電子透かし情報を復元するとともに、データの編集、圧縮、伸張、ノイズ等の悪意のない変更と、悪意のある攻撃としての改竄とを区別して検出する必要がある。【０００６】
ここで、画像データのウェーブレット領域における係数の特性として、深いレベルほど圧縮やノイズ等に強い耐性をもつことが挙げられる。また、圧縮やノイズ等は係数の変更量がそれほど大きくないため、埋め込まれた電子透かし情報の破損は分散傾向にある一方、改竄では破損が集中する傾向にある。【０００７】
しかしながら、特許文献１に記載の発明では、これらの特徴を考慮することなく、画一的に多数決判定を行うため、画像データに強い圧縮やノイズがかけられた場合に、電子透かし情報の破損が増加して多数決が機能せず、電子透かし情報を復元できなくなったり、悪意のある改竄が検出できなくなるという問題があった。【０００８】
本発明はこのような状況に鑑みてなされたものであり、悪意のある改竄と圧縮・ノイズ等の悪意のない変更を区別して、正確に電子透かし情報を復元するとともに、改竄を的確に検出することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の第1の側面の情報処理装置は、ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理装置において、前記対象情報をウェーブレット変換する変換手段と、前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出手段と、前記埋め込み係数検出手段により検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数する計数手段と、前記計数手段による計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記ウェーブレット変換手段によりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出手段と、前記算出手段により算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付け手段と、前記重み付け手段により重み付けされた前記壊れ係数の数と、前記重み付け手段により重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定手段と、前記判定手段による判定結果に基づいて、前記係数群の係数値を操作する操作手段とを備える。
【００１０】
第1の側面の情報処理装置には、前記計数手段による計数結果に基づいて、多数決に勝った埋め込み係数値を前記電子透かし情報を構成する画素値として決定する決定手段をさらに設けることができる。【００１２】
前記操作手段は、前記比率が所定の閾値以下の場合には、前記係数群に含まれる前記壊れ係数を消去し、前記比率が所定の閾値より大きい場合には、前記係数群に含まれる前記埋め込み係数を壊れ係数に変更することができる。【００１３】
前記電子透かし情報を構成する複数の同一画素は、ウェーブレット変換された対象情報における第１のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第２のサブバンドの関連係数に基づいて変調されて、前記埋め込み係数に埋め込まれているようにすることができる。【００１４】
前記第１のサブバンドは、最低域のサブバンド以外のサブバンドであり、前記第２のサブバンドは、前記最低域のサブバンドであるようにすることができる。【００１５】
複数段のウェーブレット変換を随時行うと同時に、各段階のウェーブレット変換が行われる毎に、第１のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第２のサブバンドの関連係数を検出することができる。【００１６】
前記第１のサブバンドは、最高域のサブバンド以外のサブバンドであり、前記第２のサブバンドは、前記最高域のサブバンドであるようにすることができる。【００１７】
第1の側面の情報処理装置には、前記関連係数に基づいて復調を行う復調手段をさらに設け、前記計数手段には、前記復調手段により復調された前記埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数させることができる。【００１８】
本発明の第1の情報処理方法、またはプログラムは、ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理方法において、またはウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する処理をコンピュータに実行させるプログラムにおいて、前記対象情報をウェーブレット変換する変換ステップと、前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出ステップと、前記埋め込み係数検出ステップの処理で検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数する計数ステップと、前記計数ステップによる計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記変換ステップによりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出ステップと、前記算出ステップにより算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付けステップと、前記重み付けステップにより重み付けされた前記壊れ係数の数と、前記重み付けステップにより重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定ステップと、前記判定ステップによる判定結果に基づいて、前記係数群の係数値を操作する操作ステップとを含む。
【００１９】
以上のような第1の側面の情報処理装置、情報処理方法、またはプログラムにおいては、前記対象情報がウェーブレット変換され、前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数が検出され、検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けがされて計数される。さらに、その計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、ウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数が算出され、算出された前記埋め込み係数の数と前記壊れ係数の数が、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けされ、重み付けされた前記壊れ係数の数と、重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かが判定され、その判定結果に基づいて、前記係数群の係数値が操作される。
【発明の効果】
【００２０】
本発明の第１の側面によれば、効率よく、かつ安全に電子透かし情報を埋め込みまたは抽出することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図２】ウェーブレット変換を説明する図である。
【図３】図１の埋め込み部１３の電子透かし埋め込み処理を説明するフローチャートである。
【図４】図３のステップＳ４の処理を説明する図である。
【図５】図３のステップＳ４の処理を説明する他の図である。
【図６】図３のステップＳ４の処理を説明する他の図である。
【図７】図３のステップＳ５およびステップＳ６の処理を説明する図である。
【図８】本発明を適用した画像処理装置４１の構成例を示すブロック図である。
【図９】図８の改竄検出部５３の電子透かし抽出処理を説明するフローチャートである。
【図１０】図９のステップＳ２３乃至ステップＳ２６の処理を説明する図である。
【図１１】図９のステップＳ２７およびステップＳ２８の処理を説明する図である。
【図１２】改竄検出用画像の例を示す図である。
【図１３】重みに応じた破損率を示す図である。
【図１４】図８の画像処理部５４における画像処理を説明するフローチャートである。
【図１５】図１４のステップＳ５２の処理を説明する図である。
【図１６】図１４のステップＳ５２の処理を説明する他の図である。
【図１７】図１４のステップＳ５５の処理を説明する図である。
【図１８Ａ】対象画像の例を示す図である。
【図１８Ｂ】対象画像の例を示す図である。
【図１９】本発明を適用した画像処理装置１の他の構成例を示すブロック図である。
【図２０】図１９の埋め込み部１０１における電子透かし埋め込み処理を説明するフローチャートである。
【図２１】図２０のステップＳ８４およびステップＳ８５の処理を説明する図である。
【図２２】重みに応じた破損率を示す他の図である。
【図２３】電子透かし画像の埋め込み方法を説明する図である。
【図２４Ａ】電子透かし画像の埋め込み方法を説明する他の図である。
【図２４Ｂ】電子透かし画像の埋め込み方法を説明する他の図である。
【図２５】コンピュータの構成例を示すブロック図である。
【符号の説明】
【００２２】
１  画像処理装置，  １２  ウェーブレット変換部，  １３  電子透かし埋め込み部，  １４  逆ウェーブレット変換部，  ５２  ウェーブレット変換部,  ５３  改竄検出部，  １０１  電子透かし埋め込み部
【発明を実施するための最良の形態】
【００２３】
以下、図を参照して、本発明の実施の形態について説明する。【００２４】
図１は、本発明を適用した画像処理装置１の構成例を示している。この画像処理装置１は、電子透かし情報としての２値画像の電子透かし画像Ｗを、電子透かし画像Ｗを埋め込む対象となる対象画像Ｆ（例えば、デジタルカメラで撮像された画像）に埋め込むことができる。【００２５】
入力部１１には、対象画像Ｆ、電子透かし画像Ｗ、および電子透かし画像Ｗの埋め込みに必要な係数選択鍵Ｃが入力される。係数選択鍵Ｃには、電子透かし画像Ｗを構成する１画素の埋め込み数（複製数）、電子透かし画像Ｗを埋め込む対象画像Ｆの係数（以下、埋め込み係数と称する）、および埋め込む強さを示す量子化パラメータが含まれている。【００２６】
埋め込み係数は、サブバンドＬＬ３を除く、サブバンドＨＬ１、ＨＨ１、ＬＨ１、ＨＬ２、ＨＨ２、ＬＨ２、ＨＬ３、ＨＨ３、またはＬＨ３の中からランダムに予め決定されている。例えば図４の例では、レベル１のサブバンドＨＬ１およびサブバンドＬＨ１から係数Ｐ１および係数Ｐ２が、レベル２のサブバンドＨＨ２から係数Ｐ３が、そしてレベル３のサブバンドＬＨ３から係数Ｐ４が、それぞれ埋め込み係数として決定される。【００２７】
入力部１１は、入力した対象画像Ｆをウェーブレット変換部１２に供給し、入力した電子透かし画像Ｗおよび係数選択鍵Ｃを電子透かし埋め込み部１３に供給する。【００２８】
ウェーブレット変換部１２は、入力部１１から供給される対象画像Ｆに対して、ウェーブレット変換を行い、その結果得られた周波数変換された対象画像Ｆの係数を、電子透かし埋め込み部１３に供給する。【００２９】
ウェーブレット変換部１２においては、画像の２次元のレベル分布が重み付けが可能な圧縮しやすいデータに周波数変換される。【００３０】
具体的には、対象画像Ｆのピクセルデータを高域成分と低域成分に２分していく処理を繰り返すことにより、対象画像Ｆが複数の周波数帯域に分解される。【００３１】
例えば、高域成分と低域成分に２分していく処理を３段階行う場合、はじめに例えば図２のＡの対象画像Ｆのピクセルデータに対して処理が行われ、対象画像Ｆが、図２のＢに示すように、「低域｜低域」のサブバンドＬＬ１、「低域｜高域」のサブバンドＬＨ１、「高域｜低域」のサブバンドＨＬ１、および「高域｜高域」のサブバンドＨＨ１に分解される。なおこの処理で得られたサブバンドＬＬ１、ＬＨ１、ＨＬ１、またはＨＨ１を、適宜、レベル１のサブバンドと称する。【００３２】
次に２回目の処理が、最低域のサブバンドＬＬ１に対して行われ、サブバンドＬＬ１が、図２のＣに示すように、「低域｜低域」のサブバンドＬＬ２、「低域｜高域」のサブバンドＬＨ２、「高域｜低域」のサブバンドＨＬ２、および「高域｜高域」のサブバンドＨＨ２に分解される。なおこの処理で得られたサブバンドＬＬ２、ＬＨ２、ＨＬ２、またはＨＨ２を、適宜、レベル２のサブバンドと称する。【００３３】
そして３回目の処理が、最低域のサブバンドＬＬ２に対して行われ、サブバンドＬＬ２が、図２のＤに示すように、「低域｜低域」のサブバンドＬＬ３、「低域｜高域」のサブバンドＬＨ３、「高域｜低域」のサブバンドＨＬ３、および「高域｜高域」のサブバンドＨＨ３に分解される。なおこの処理で得られたサブバンドＬＬ３、ＬＨ３、ＨＬ３、またはＨＨ３を、適宜、レベル３のサブバンドと称する。【００３４】
図１に戻り電子透かし埋め込み部（以下、埋め込み部と略称する）１３は、ウェーブレット変換部１２から供給された対象画像Ｆの１フレーム分の係数に、入力部１１から供給された電子透かし画像Ｗを、同様に入力部１１から供給された係数選択鍵Ｃに応じて埋め込み、その結果得られた係数を、逆ウェーブレット変換部１４に供給する。埋め込み部１３はまた、電子透かし画像Ｗを抽出するために必要な係数選択鍵Ｃを、出力部１５に供給する。【００３５】
逆ウェーブレット変換部１４は、埋め込み部１３から供給された係数に対して、逆ウェーブレット変換を行い（図２に示した処理と逆の処理を行い）、電子透かし画像Ｗが埋め込まれた対象画像Ｆ（対象画像Ｆ’）を生成し、出力部１５に供給する。【００３６】
出力部１５は、逆ウェーブレット変換部１４から供給された対象画像Ｆ’と、埋め込み部１３から供給された係数選択鍵Ｃを、外部の装置（例えば、図８の画像処理装置４１）に供給する。【００３７】
次に、画像処理装置１の埋め込み部１３における電子透かし埋め込み処理を、図３のフローチャートを参照して説明する。【００３８】
ステップＳ１において、埋め込み部１３は、ウェーブレット変換部１２から、１フレーム分の対象画像Ｆの係数（図２のＤ）を入力する。【００３９】
ステップＳ２において、埋め込み部１３は、入力部１１から供給された電子透かし画像Ｗの１画素を選択する。【００４０】
次にステップＳ３において、埋め込み部１３は、ステップＳ２で選択した電子透かし画像Ｗの画素の画素値（以下、透かしビットと称する）を、入力部１１から供給された係数選択鍵Ｃに示される複製数だけ複製する。【００４１】
次にステップＳ４において、埋め込み部１３は、係数選択鍵Ｃにより与えられた埋め込み係数に関連するサブバンドＬＬ３上の係数（関連係数）を検出する。【００４２】
ウェーブレット変換係数においては、レベルr（r=1,2）のサブバンド上の座標（ｘ，ｙ）の係数と、レベルr+1のサブバンド上の座標（ｘ／２，ｙ／２）の係数とは、近寄った性質を有していること（すなわち、空間的な相関が高いこと）が知られている（以下、この関係を、親子関係と称する）。【００４３】
そこで本発明ではこの親子関係を利用し、図５に示すように、レベル１のサブバンドの座標（ｘ1，ｙ1）の埋め込み係数からは、レベル３のサブバンドＬＬ３の座標（ｘ1／４，ｙ1／４）の係数が、レベル２のサブバンドの座標（ｘ2，ｙ2）の埋め込み係数からは、サブバンドＬＬ３の座標（ｘ2／２，ｙ2／２）の係数が、そしてレベル３のサブバンド（サブバンドＬＬ３を除く）の座標（ｘ3，ｙ3）の埋め込み係数からは、サブバンドＬＬ３の座標（ｘ3，ｙ3）の係数が、それぞれ埋め込み係数に関連するサブバンドＬＬ３の係数として検出される。【００４４】
この親子関係を空間上に表すと、図６に示すことができる。【００４５】
また図４の例の場合、係数Ｐ1からは係数Ｑ1が、係数Ｐ2からは係数Ｑ2が、係数Ｐ3からは係数Ｑ3が、そして係数Ｐ4からは係数Ｑ4が、それぞれ関連するサブバンドＬＬ３の係数として検出されるものとする。【００４６】
次にステップＳ５において、埋め込み部１３は、ステップＳ４で検出したサブバンドＬＬ３の係数のそれぞれに対して、例えばその係数に隣接する３個の係数を検出するとともに、この３個の係数と、ステップＳ４で検出したサブバンドＬＬ３の係数との合計４個の係数（以下、この４個の係数を、適宜、対応係数と称する）の係数値の平均値を算出し、それを量子化して２進値（１または０）に変換する。【００４７】
図４の係数Ｑ1（例えば座標（ｘq1，ｙq1））に対して、図７に示すように、係数Ｑ1に隣接する座標（ｘq1，ｙq1＋１）、（ｘq1＋１，ｙq1）、および（ｘq1＋１，ｙq1＋１）の３個の係数が検出され、係数Ｑ1とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値r1が得られる。係数Ｑ2（例えば座標（ｘq2，ｙq2））に対して、座標（ｘq2，ｙq2＋１）、（ｘq2＋１，ｙq2）、および（ｘq2＋１，ｙq2＋１）の３個の係数が検出され、係数Ｑ2とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値ｒ2が得られる。【００４８】
また係数Ｑ3（例えば座標（ｘq3，ｙq3））に対して、座標（ｘq3，ｙq3＋１）、（ｘq3＋１，ｙq3）、および（ｘq3＋１，ｙq3＋１）の３個の係数が検出され、係数Ｑ3とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値ｒ3が得られる。係数Ｑ4（例えば座標（ｘq4，ｙq4））に対して、座標（ｘq4，ｙq4＋１）、（ｘq4＋１，ｙq4）、および（ｘq4＋１，ｙq4＋１）の３個の係数が検出され、係数Ｑ4とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値ｒ4が得られる。【００４９】
次にステップＳ６において、埋め込み部１３は、ステップＳ３で複製した透かしビットのそれぞれと、ステップＳ５で得られた平均値の２進値のそれぞれとの排他的論理和演算（ＸＯＲ）を行い（すなわち透かしビットを、ステップＳ５で得られた平均値の２進値で変調し）、その結果得られた値（以下、変調ビットと称する）を、係数選択鍵Ｃに含まれる量子化ステップの強さに応じて埋め込む。【００５０】
図７の例では、透かしビットｗaと値ｒ1との排他的論理和演算（ＸＯＲ）の結果得られた変調ビットｗa1が係数Ｐ1の係数値とされ、透かしビットｗaと値ｒ2とのＸＯＲの結果得られた変調ビットｗa2が係数Ｐ2の係数値とされ、透かしビットｗaと値ｒ3とのＸＯＲの結果得られた変調ビットｗa3が係数Ｐ3の係数値とされ、透かしビットｗaと値ｒ4とのＸＯＲの結果得られた変調ビットｗa4が係数Ｐ4の係数値とされる。【００５１】
ステップＳ７において、埋め込み部１３は、電子透かし画像Ｗのすべての画素を選択したか否かを判定し、まだ選択していない画素が残っていると判定した場合、ステップＳ２に戻り、次の画素を選択して、ステップＳ３以降の処理を同様に実行する。【００５２】
ステップＳ７で、すべての画素を選択したと判定した場合、埋め込み部１３は、電子透かし埋め込み処理を終了する。【００５３】
以上のような処理が、電子透かし画像Ｗが埋め込まれる対象画像Ｆが入力される毎に行われる。【００５４】
以上のように、電子透かし情報を埋め込む際に、埋め込み係数をランダムに決定するようにしたので（ステップＳ３）、第三者による埋め込み係数の特定が困難になる。例えば特許文献１の方法では、電子透かし情報を埋め込む係数を絶対値がｎ番目に大きい係数と限定しているので、電子透かし情報が埋め込まれた係数が特定しやすい。【００５５】
また以上のように、ランダムに決定された埋め込み係数に対して埋め込み処理がなされるので（ステップＳ４乃至ステップＳ６）、効率よく埋め込み処理を行うことができる。
例えば特許文献１の方法では、絶対値がｎ番目の係数を検出するために、全係数を走査する必要があるので、処理に時間がかかる。【００５６】
また、電子透かし情報と、電子透かし情報が埋め込まれた係数の関連性に基づいて係数値を操作し、あたかも電子透かし情報が埋め込まれているかのように偽装する、いわゆるCollage Attackでは、電子透かし情報と、電子透かし情報が埋め込まれた係数の関連性に基づいて係数値が操作されて改竄が行われるので、その防御策としては、電子透かし情報が埋め込まれた係数と、それとは別の位置の係数とを何らかの関係で対応付けることが有効とされている。例えば、電子透かし情報が埋め込まれる係数とその隣の係数の大小を調べ、電子透かし情報が埋め込まれる係数の方が大きければ０、隣の係数が大きければ１とするようにして、その値が埋め込まれるようにする方法である。【００５７】
そこで以上のように、埋め込み係数と、それに関連する最低域サブバンド（この例の場合、サブバンドＬＬ３）を対応付けて埋め込まれる値（変調ビット）を決定するようにしたので（ステップＳ４乃至ステップＳ６）、Collage Attackを防御することができる。【００５８】
次に、図８を参照して、図１の画像処理装置１により電子透かし画像Ｗが埋め込まれた対象画像Ｆ（対象画像Ｆ’）から、電子透かし画像Ｗを抽出する画像処理装置４１について説明する。【００５９】
入力部５１には、図１の画像処理装置１より出力された、対象画像Ｆ’および電子透かし情報抽出のための係数選択鍵Ｃが入力される。【００６０】
入力部５１は、入力した対象画像Ｆ’をウェーブレット変換部５２に供給し、入力した係数選択鍵Ｃを改竄検出部５３および画像処理部５４に供給する。【００６１】
ウェーブレット変換部５２は、入力部５１から供給された対象画像Ｆ’に対して、図１に示すウェーブレット変換部１２と同じウェーブレット変換を行い（図２）、その結果得られた１フレーム分の対象画像Ｆ’の係数を、改竄検出部５３および画像処理部５４に供給する。【００６２】
改竄検出部５３は、ウェーブレット変換部５２から供給された対象画像Ｆ’の係数から、係数選択鍵Ｃに基づいて電子透かし画像Ｗを抽出するとともに、その際に得られた改竄情報を、画像処理部５４に供給する。【００６３】
画像処理部５４は、ウェーブレット変換部５２から供給された対象画像Ｆ’の係数に対して、入力部５１から供給された係数選択鍵Ｃおよび改竄検出部５３から供給された改竄情報に応じて係数操作を行う。【００６４】
次に、改竄検出部５３における電子透かし画像および改竄検出用画像の抽出処理を、図９のフローチャートを参照して説明する。【００６５】
ステップＳ２１において、改竄検出部５３は、ウェーブレット変換部５２から、１フレーム分の対象画像Ｆ’の係数を入力する。【００６６】
次にステップＳ２２において、改竄検出部５３は、入力部５１から供給された係数選択鍵Ｃから、電子透かし画像Ｗの１画素についての係数選択鍵を読み出す。【００６７】
ステップＳ２３において、改竄検出部５３は、読み出した係数選択鍵に基づいて、ステップＳ２１で入力した１フレーム分の係数の中から、埋め込み係数（ステップＳ２２で選択された１画素の透かしビットが埋め込まれている埋め込み係数）を検出する。【００６８】
例えば図７に示すように電子透かし画像Ｗが埋め込まれた対象画像Ｆから電子透かし画像Ｗを抽出する場合、図１０に示すように、図７における場合と同様にレベル１のサブバンドＨＬ１の係数Ｐ1およびサブバンドＬＨ１の係数Ｐ2が、レベル２のサブバンドＨＨ２から係数Ｐ3が、そしてレベル３のサブバンドＬＨ３から係数Ｐ4が、それぞれ埋め込み係数として検出される。【００６９】
次にステップＳ２４において、改竄検出部５３は、ウェーブレット変換の親子関係に基づいて、検出した埋め込み係数に関連するサブバンドＬＬ３の係数を検出する。【００７０】
図１０の例の場合、図７における場合と同様に、係数Ｐ1から係数Ｑ1が、係数Ｐ2から係数Ｑ2が、係数Ｐ3から係数Ｑ3が、そして係数Ｐ4から係数Ｑ4が、それぞれ関連するサブバンドＬＬ３の係数として検出される。【００７１】
ステップＳ２５において、改竄検出部５３は、ステップＳ２４で検出したサブバンドＬＬ３の係数のそれぞれに対して、例えばその係数に隣接する３個の係数を検出するとともに、その３個の係数と、ステップＳ２４で検出したサブバンドＬＬ３の係数との合計４個の係数（対応係数）の係数値の平均値を算出し、それを量子化して２進値に変換する。【００７２】
図１０の例の場合は、図７における場合と同様に、係数Ｑ1（座標（ｘq1，ｙq1））に対して、座標（ｘq1，ｙq1＋１）、（ｘq1＋１，ｙq1）、および（ｘq1＋１，ｙq1＋１）の３個の係数が検出され、係数Ｑ1とその３個の係数の係数値の平均値が算出され、それが量子化されて２進数値r1’が得られる。係数Ｑ2（座標（ｘq2，ｙq2））に対して、座標（ｘq2，ｙq2＋１）、（ｘq2＋１，ｙq2）、および（ｘq2＋１，ｙq2＋１）の３個の係数が検出され、係数Ｑ2とその３個の係数の係数値の平均値が算出され、それが量子化されて２進数値ｒ2’が得られる。【００７３】
また係数Ｑ3（座標（ｘq3，ｙq3））に対して、座標（ｘq3，ｙq3＋１）、（ｘq3＋１，ｙq3）、および（ｘq3＋１，ｙq3＋１）の３個の係数が検出され、係数Ｑ3とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値ｒ3’が得られる。係数Ｑ4（座標（ｘq4，ｙq4））に対して、座標（ｘq4，ｙq4＋１）、（ｘq4＋１，ｙq4）、および（ｘq4＋１，ｙq4＋１）の３個の係数が検出され、係数Ｑ4とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値ｒ4’が得られる。【００７４】
ステップＳ２６において、改竄検出部５３は、ステップＳ２３で検出した埋め込み係数の係数値（変調ビット（図３のステップＳ６））のそれぞれと、対応するステップＳ２５で得られた平均値の２進値のそれぞれとのＸＯＲをとり（すなわち変調ビットを、ステップＳ２５で得られた平均値の２進値で復調し）、その結果得られた値（以下、復調ビットと称する）を、ステップＳ２２で選択した電子透かし画像Ｗの画素の画素値（透かしビット）の候補とする。【００７５】
図１０の例の場合、変調ビットｗa1’と値ｒ1’とのＸＯＲの結果得られた復調ビットｗb1、変調ビットｗa2’と値ｒ2’とのＸＯＲの結果得られた復調ビットｗb2、変調ビットｗa3’と値ｒ3’とのＸＯＲの結果得られた復調ビットｗb3、および変調ビットｗa4’と値ｒ4’とのＸＯＲの結果得られた復調ビットｗb4のそれぞれが、透かしビットの候補とされる。【００７６】
次にステップＳ２７において、改竄検出部５３は、ステップＳ２６で得られた透かしビットの候補としての復調ビットを、復調ビットの属するサブバンドのレベルに応じて重み付けてカウントし、その結果に基づいて多数決をとり、勝った復調ビット（以下、勝ちビットと称する）と負けた復調ビット（以下、負けビットと称する）を決定する。【００７７】
例えば、レベル１に属するサブバンドの復調ビットについての重みを１とし、レベル２に属するサブバンドの復調ビットについての重みを６とし、そしてレベル３に属するサブバンドの復調ビットについての重みを８とし、それぞれ重みが乗算された数の復調ビットが用意され、その中で多いビットと少ないビットが検出される。【００７８】
図１０の例の場合において、復調ビットｗb1，ｗb4，ｗb3，ｗb2が、図１１に示すように、０，０，０，１であるとき、レベル１の復調ビットｗb1としての値０が１個、レベル３の復調ビットｗb4としての値０が８個、レベル２の復調ビットｗb3としての値０が６個、そしてレベル１の復調ビットｗb2としての値１が１個、すなわち１５個の値０と、１個の値１が用意される。【００７９】
従ってこの例の場合、値０が１５個で、値１が１個となるので、値０が勝ちビット、そして値１が負けビットとして検出される。【００８０】
次にステップＳ２８において、改竄検出部５３は、図１１に示すように、ステップＳ２７で検出した勝ちビット（０）を、ステップＳ２２で選択した電子透かし画像Ｗの画素の画素値とし、負けビット（１）を、予め用意された３段階のウェーブレット変換処理がなされた白色画像（以下、改竄検出用画像と称する）Ｍ’の、対象画像Ｆ’の係数Ｐ2に対応する係数Ｐ2’の係数値とする。【００８１】
ステップＳ２９において、改竄検出部５３は、ステップＳ２２で、電子透かし画像Ｗのすべての画素についての係数選択鍵を読み出したか否かを判定し、まだ読み出していない係数選択鍵があると判定した場合、ステップＳ２２に戻り、次の画素の係数選択鍵を読み出し、ステップＳ２３以降の処理を行う。【００８２】
ステップＳ２９で、すべての画素の係数選択鍵が読み出されたと判定された場合、ステップＳ３０に進み、電子透かし画像Ｗが復元され、改竄検出用画像Ｍ’が生成される。改竄検出部５３は、改竄検出用画像Ｍ’を画像処理部５４に供給する。なお、改竄検出用画像Ｍ’に逆ウェーブレット変換処理を行った改竄検出用画像Ｍは、例えば図１２に示すように表示される。【００８３】
以上のようにして電子透かし情報が抽出される。【００８４】
画像のウェーブレット変換係数の特徴として、深いレベルほど圧縮やノイズに強い耐性を有するので、深いレベルに埋め込まれた電子透かし情報は圧縮やノイズに強い。したがって深いレベルに埋め込まれた電子透かし画像Ｗおよび改竄検出用画像Ｍ’が壊れたとすると、それは圧縮やノイズではなく、切り取りや貼り付け処理などの改竄によるものと考えることができる。【００８５】
従って、以上のように深いレベルに埋め込まれた電子透かし情報には浅いレベルに埋め込まれた電子透かし情報より重みを大きくして（レベル１に属するサブバンドの復調ビットについての重みを１とし、レベル２に属するサブバンドの復調ビットについての重みを６とし、そしてレベル３に属するサブバンドの復調ビットについての重みを８として）、深いレベルに埋め込まれた電子透かし情報の影響が大となるようにして透かしビットを検出するようにしたので、電子透かし情報をより正確に検出することができる。【００８６】
図１３は、対象画像Ｆが圧縮率６０％のJPEG圧縮で圧縮された場合の、Ｘ軸に示すレベル２の透かしにかけた重みと、Ｙ軸に示すレベル３の透かしにかけた重みを利用したときの破損率を示している。この例では、レベル２の重みを６とし、レベル３の重みを８乃至１０にしたときに、最も低い電子透かし情報の破損率が得られる。【００８７】
次に画像処理装置４１の画像処理部５４の処理を、図１４のフローチャートを参照して説明する。【００８８】
ステップＳ５１において、画像処理部５４は、ウェーブレット変換部５２から供給された１フレーム分の対象画像Ｆ’の係数におけるレベル３のサブバンドＬＨ３およびＨＬ３のそれぞれを、例えば、４×４画素のブロックに分割する。【００８９】
次にステップＳ５２において、画像処理部５４は、ステップＳ５１で得られたサブバンドＬＨ３およびサブバンドＨＬ３のブロックのそれぞれについて、それらに対応するレベル２のサブバンドＬＨ２およびサブバンドＨＬ２、並びにレベル１のサブバンドＬＨ１およびサブバンドＨＬ１のブロックを、ウェーブレット変換の親子関係に基づいて決定する。【００９０】
なお例えば、レベル３のサブバンドＬＨ３またはサブバンドＨＬ３のブロックは所定のブロック番号で識別できるとともに、そのブロックに対応するレベル２のサブバンドＬＨ２およびサブバンドＨＬ２、並びにレベル１のサブバンドＬＨ１およびサブバンドＨＬ１のブロックも、対応するサブバンドＬＨ３またはサブバンドＨＬ３のブロックと同じブロック番号で識別できるものとする。【００９１】
すなわち各ブロックは、例えばレベルをｋ、そしてブロック番号をｉとする符号ｂk（i）で識別することができ、さらに同一の符号ｂk(i)で表されるブロック群を、符号Ｂk(i)に属するブロックとして表すことができるものとする。【００９２】
例えば図１５に示すレベル３のサブバンドＬＨ３およびサブバンドＨＬ３のブロックを、ブロックｂ3(1)とし、それに対応する、レベル２のサブバンドＬＨ２およびサブバンドＨＬ２のブロックをブロックｂ2(1)とし、レベル１のサブバンドＬＨ１およびサブバンドＨＬ１のブロックをブロックｂ1(1)とするものとし、図１６に示すように、レベル１のサブバンドＬＨ１およびＨＬ１のブロックｂ1(1)で表されるブロック群を、ブロック群Ｂ1(1)とし、レベル２のサブバンドＬＨ２およびＨＬ２のブロックｂ2(1)で表されるブロック群を、ブロック群Ｂ2(1)とし、そしてレベル３のサブバンドＬＨ３およびＨＬ３のブロックｂ3(1)で表されるブロック群を、ブロック群Ｂ3(1)とするものとする。【００９３】
次にステップＳ５３において、画像処理部５４は、１つのブロック番号ｉを選択し、ステップＳ５４において、係数選択鍵Ｃに基づいて、ブロック群Ｂ1(i)，Ｂ2(i)，Ｂ3(i)に属するブロックのそれぞれについて、それに含まれる埋め込み係数の数を算出する。また画像処理部５４は、改竄検出用画像Ｍ’に基づいて、ブロック群Ｂ1(i)，Ｂ2(i)，Ｂ3(i)に属するブロックのそれぞれについて、それに含まれる負けビットが埋め込まれた係数（以下、壊れ係数と称する）の数を算出する。【００９４】
次にステップＳ５５において、画像処理部５４は、各ブロックの埋め込み係数の数と壊れ係数の数のそれぞれを、ブロック群Ｂ1(i)，Ｂ2(i)，Ｂ3(i)毎に合計し、レベルに応じた重みを乗算する。【００９５】
例えば、図１７に示すように、ブロック群Ｂ3(i)に属するブロックに含まれる埋め込み係数の数の合計と、ブロック群Ｂ3(i)に属するブロックに含まれる壊れ係数の数の合計のそれぞれに８が乗算される。【００９６】
ブロック群Ｂ2(i)に属するブロックに含まれる埋め込み係数の数の合計と、ブロック群Ｂ2(i)に属するブロックに含まれる壊れ係数の数の合計のそれぞれに６が乗算される。【００９７】
そしてブロック群Ｂ1(i)に属するブロックに含まれる埋め込み係数の数の合計と、ブロックＢ群1(i)に属するブロックに含まれる壊れ係数の数の合計のそれぞれに１が乗算される。【００９８】
ステップＳ５６において、画像処理部５４は、式（１）に示すように、ステップＳ５５での重み付けで得られた壊れ係数の合計を、ステップＳ５５での重み付けで得られた埋め込み係数の合計で除算する。【００９９】
【数１】
0004834844.tif 000002
【０１００】
次にステップＳ５７において、画像処理部５４は、ステップＳ５６での演算の結果得られた値（以下、改竄率と称する）が所定の閾値以下であるか否かを判定し、閾値以下であると判定した場合、そのブロック番号ｉのブロック群は改竄されていないとして、ステップＳ５８において、対象となっているブロックに含まれる壊れ係数の係数値（負けビット）を消去する（以下、この処理をふるい処理と称する）。【０１０１】
一方ステップＳ５７で、所定の閾値より大きいと判定された場合、そのブロック番号ｉのブロック群は改竄されたものとして、ステップＳ５９に進み、画像処理部５４は、そのブロックに属する全係数を、壊れ係数に変更する（以下、この処理を強調処理と称する）。【０１０２】
なお、閾値は、上述のように１つ設けるようにしてもよいし、上限の閾値と下限の閾値とを設け、下限の閾値以下の場合にはふるい処理を行い、上限の閾値以上の場合には強調処理を行うようにしてもよい。この場合、改竄率が上限の閾値と下限の閾値との間である場合にはふるい処理も強調処理も行われないようになる。【０１０３】
ステップＳ５８で壊れ係数が消去されたとき、またはステップＳ５９でブロック番号ｉのブロック群の係数が変更されたとき、ステップＳ６０に進み、画像処理部５４は、ステップＳ５３ですべてのブロック番号ｉを選択したか否かを判定し、まだ選択していないブロック番号が存在すると判定した場合、ステップＳ５３に戻り、次のブロックを選択し、ステップＳ５４以降の処理を同様に実行する。【０１０４】
ステップＳ６０で、すべてのブロック番号ｉが選択されたと判定された場合、処理は終了する。【０１０５】
以上のようにして画像処理が行われる。【０１０６】
以上のように、改竄率に基づいてふるい処理および強調処理を行うようにしたので、対象画像Ｆが図１８Ａである場合、図１８Ｂに示すように、改竄されたブロックに対応する画像を強調して表示することができる。【０１０７】
圧縮やノイズは、画素係数の修正量がそれほど多くないため、電子透かし情報の破損は分散する傾向にあるが、切り取りや貼り付け等の改竄があった場合、その改竄の画像係数は、集中して破損している傾向にある。そのため上述したように破損した電子透かし情報の密度（改竄率）を調べ、それを閾値と比較することにより、その破損が圧縮やノイズによるものか、改竄によるものを適切に判別することができる。【０１０８】
図１９は、画像処理装置１の他の構成例を示している。この画像処理装置には、図１の電子透かし埋め込み部１３に代えて、電子透かし埋め込み部１０１が設けられている。他の部分は、図１における場合と同様である。【０１０９】
図１の埋め込み部１３における埋め込み処理は、埋め込み係数を最低域のサブバンド（サブバンドＬＬ３）の係数に関連付けたが、埋め込み部１０１は、最低域のサブバンドに代えて、埋め込み係数と同一のレベルのサブバンドＨＨの係数に関連付けて、埋め込み処理を行う。【０１１０】
埋め込み部１０１における電子透かし埋め込み処理を、図２０のフローチャートを参照して説明する。【０１１１】
ステップＳ８１において、埋め込み部１０１は、ウェーブレット変換部１２から、１フレームの対象画像Ｆに対する、１回目のウェーブレット変換が行われ、そして２回目のウェーブレット変換がさらに行われたとき、その結果得られた係数（図２のＣ）を入力する。【０１１２】
ステップＳ８２において、埋め込み部１０１は、電子透かし画像（２値画像）Ｗの１画素を選択する。【０１１３】
次にステップＳ８３において、埋め込み部１０１は、ステップＳ８２で選択された電子透かし画像Ｗの画素の画素値（透かしビット）を、入力部１１から供給された係数選択鍵Ｃに示される複製数だけ複製する。【０１１４】
次にステップＳ８４において、埋め込み部１０１は、係数選択鍵Ｃにより与えられたレベル２のサブバンドＨＬ２およびサブバンドＬＨ２の埋め込み係数に関連するレベル２のサブバンドＨＨ２の係数を検出する。【０１１５】
例えば、図２１のレベル２のサブバンドＬＨ２の係数Ｐ11（座標（ｘq11，ｙq11））が埋め込み係数である場合、サブバンドＨＨ２の座標（ｘq11，ｙq11）の係数Ｑ11が、係数Ｐ11と関連するサブバンドＨＨ２の係数として検出される。【０１１６】
次にステップＳ８５において、埋め込み部１０１は、ステップＳ８４で検出したサブバンドＨＨ２の係数に対して、例えばその係数に隣接する３個の係数を検出するとともに、この３個の係数と、ステップＳ８４で検出したサブバンドＨＨ２の係数との合計４個の係数（対応係数）の係数値の平均値を算出し、それを量子化して２進値（１または０）に変換する。【０１１７】
図２１の係数Ｑ11（座標（ｘq11，ｙq11））に対して、係数Ｑ11に隣接する座標（ｘq11，ｙq11＋１）、（ｘq11＋１，ｙq11）、および（ｘq11＋１，ｙq11＋１）の３個の係数が検出され、係数Ｑ11とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値が得られる。【０１１８】
次にステップＳ８６において、埋め込み部１０１は、ステップＳ８３で複製した透かしビットと、ステップＳ８５で得られた平均値の２進値との排他的論理和演算（ＸＯＲ）を行い（すなわち透かしビットを、ステップＳ８５で得られた平均値の２進値で変調し）、その結果得られた値（変調ビット）を、係数選択鍵Ｃに含まれる量子化ステップの強さに応じて埋め込む。【０１１９】
ステップＳ８７において、埋め込み部１０１は、電子透かし画像Ｗのすべての画素を選択したか否かを判定し、まだ選択していない画素が残っていると判定した場合、ステップＳ８２に戻り、次の画素を選択して、ステップＳ８３以降の処理を同様に実行する。【０１２０】
なお透かしビットのすべてを、レベル２のサブバンドに埋め込む必要はないので、レベル２のサブバンドに埋め込まない透かしビットが選択されたときには、ステップＳ８３乃至ステップＳ８６の処理は、適宜、スキップされる。【０１２１】
ステップＳ８７で、すべての画素を選択したと判定した場合、埋め込み部１０１は、ステップＳ８８に進み、対象画像Ｆの１フレーム分の係数の全部を入力したか否かを判定し、全部を入力していないと判定した場合、ステップＳ８１に戻る。【０１２２】
いまの場合、ステップＳ８１において、埋め込み部１０１は、ウェーブレット変換部１２で１フレームの対象画像Ｆに対する、３回目のウェーブレット変換が行われたとき、その結果得られた係数（図２のＤ）を入力する。この係数を入力した場合の処理を続けて説明する。【０１２３】
すなわちステップＳ８２で、電子透かし画像Ｗの１画素が選択される。【０１２４】
次にステップＳ８３で、ステップＳ８２で選択された電子透かし画像Ｗの画素の画素値（透かしビット）が、入力部１１から供給された係数選択鍵Ｃに示される複製数だけ複製される。【０１２５】
次にステップＳ８４で、係数選択鍵Ｃにより与えられたレベル３のサブバンドＨＬ３およびサブバンドＬＨ３の埋め込み係数に関連するレベル３のサブバンドＨＨ３の係数が検出される。【０１２６】
例えば、図２１のレベル３のサブバンドＨＬ３の係数Ｐ21（座標（ｘq21，ｙq21））が埋め込み係数である場合、サブバンドＨＨ３の座標（ｘq21，ｙq21）の係数Ｑ21が検出される。【０１２７】
次にステップＳ８５で、ステップＳ８４で検出されたサブバンドＨＨ３の係数に対して、例えばその係数に隣接する３個の係数が検出されるとともに、この３個の係数と、ステップＳ８４で検出されたサブバンドＨＨ３の係数との合計４個の係数（対応係数）の係数値の平均値が算出され、それが量子化されて２進値（１または０）に変換される。【０１２８】
図２１の係数Ｑ21（座標（ｘq21，ｙq21））に対して、係数Ｑ21に隣接する座標（ｘq21，ｙq21＋１）、（ｘq21＋１，ｙq21）、および（ｘq21＋１，ｙq21＋１）の３個の係数が検出され、係数Ｑ21とその３個の係数の係数値の平均値が算出され、それが量子化されて２進値が得られる。【０１２９】
次にステップＳ８６で、ステップＳ８３で複製された透かしビットと、ステップＳ８５で得られた平均値の２進値との排他的論理和演算（ＸＯＲ）が行われ（すなわち透かしビットが、ステップＳ８５で得られた平均値の２進値で変調され）、その結果得られた値（変調ビット）を、係数選択鍵Ｃに含まれる量子化ステップの強さに応じて埋め込む。【０１３０】
ステップＳ８７で、電子透かし画像Ｗのすべての画素が選択されたか否かを判定され、まだ選択されていない画素が残っていると判定された場合、ステップＳ８２に戻り、次の画素が選択されて、ステップＳ８３以降の処理を同様に実行される。【０１３１】
なお透かしビットのすべてを、レベル３のサブバンドに埋め込む必要はないので、レベル３のサブバンドに埋め込まない透かしビットが選択されたときには、ステップＳ８３乃至ステップＳ８６の処理は、適宜、スキップされる。【０１３２】
ステップＳ８７で、すべての画素を選択したと判定された場合、ステップＳ８８に進み、対象画像Ｆの１フレーム分の係数の全部が入力されたと判定され、処理は終了する。【０１３３】
図１の埋め込み部１３では、埋め込み係数と、それに関連する最低域サブバンド（この例の場合、サブバンドＬＬ３）を対応付けるようにして埋め込み処理が行われる。また最低域サブバンドは、図２のＤに示すように、すべての段階のウェーブレット変換処理が行われた後に形成される。【０１３４】
すなわち図１の埋め込み部１３における埋め込み処理は、ウェーブレット変換部１２におけるウェーブレット処理が終了するのを待って行う必要があった。【０１３５】
これに対して図１９の埋め込み部１０１は、最低域のサブバンドに代えて、埋め込み係数と同一のレベルのサブバンドＨＨの係数を対応付けるようにして、上述したように、各レベルのウェーブレット係数が得られたとき埋め込み処理を行うようにしたので（ウェーブレット変換処理と埋め込み処理を並列に行うようにしたので）、図１の場合の埋め込み処理に比べ、迅速に行うことができる。【０１３６】
なおここで利用するサブバンドＨＨは、改竄に対して最も弱いバンドであり、破損率の増加を招く。例えばサブバンドＨＬまたはＬＨの埋め込み係数が壊れていなくても、それと関連付けられたサブバンドＨＨの係数が大きく変わってしまうと、壊れたものとなってしまう。そこで、この場合、攻撃に弱いレベル１を埋め込みに用いず、レベル２およびレベル３に対して、埋め込みを行うようにした。【０１３７】
図１９の画像処理装置１により電子透かし画像Ｗが埋め込まれた対象画像Ｆ（対象画像Ｆ’）から、電子透かし画像Ｗを抽出する場合の画像処理装置４１の動作は、図９および図１４に示した通りであるので、その説明は省略する。【０１３８】
図２２は、図１９の画像処理装置１により電子透かし画像Ｗが埋め込まれた対象画像Ｆ（対象画像Ｆ’）から、電子透かし画像Ｗを抽出する場合において、対象画像Ｆが圧縮率６０％のJPEG圧縮で圧縮されたときの、Ｘ軸に示すレベル２の透かしにかけた重みと、Ｙ軸に示すレベル３の透かしにかけた重みを利用したときの破損率を示している。この例では、レベル２の重みを１とし、レベル３の重みを５、またはレベル２の重みを２とし、レベル３の重みを９若しくは１０としたときに、最も低い破損率が得られる。【０１３９】
なお以上において、対象画像Ｆへの電子透かし画像Ｗの埋め込みは、例えばサブバンドＬＬ３の対応係数の平均値と透かしビットとの排他的論理和演算（ＸＯＲ）の結果得られた変調ビットを、量子化パラメータの強さに応じて埋め込むようにしたが（図３のステップＳ４乃至ステップＳ６）、以下に説明するようにして埋め込むことができる。【０１４０】
ここで対象画像Ｆをウェーブレット変換したものを式（２）で表すものとする。式（２）中、ｋは式（３）で表され、ｌは、レベルであり、（ｍ，ｎ）は、画素の位置（座標）を表す。
【数２】
0004834844.tif 000003
【数３】
0004834844.tif 000004
【０１４１】
電子透かし画像Ｗの埋め込みは、例えば式（４）で定義される量子化関数Ｑを用いてｆl,k(m,n)（式（２））が２進値されて写像されることによって行われるが、ここで説明する埋め込みは、埋め込み後のｆl,k(m,n)が式（５）で表す区間の中央値となるようにするものである。
【数４】
0004834844.tif 000005
【数５】
0004834844.tif 000006
【０１４２】
なお式（４）中、Δは、量子化パラメータである。電子透かし画像Ｗのｉ番目のピクセルを式（６）で表す。
【数６】
0004834844.tif 000007
【０１４３】
例えば量子化関数Ｑについて（式（４））、式（７）が成立するとき、次の規則を用いて、式（５）を満たすｆl,k(m,n)がその区間の中央に変更される。
【数７】
0004834844.tif 000008
【０１４４】
具体的には、式（８）が成立するときは、ｆl,k(m,n)は、式（９）により求められる。
【数８】
0004834844.tif 000009
【数９】
0004834844.tif 000010
【０１４５】
なおこの規則に基づくｆl,k(m,n)の変更を、模式的に表すと図２３に示すようになる。【０１４６】
また式（１０）が成立するときは、ｆl,k(m,n)は、式（１１）により求められる。
【数１０】
0004834844.tif 000011
【数１１】
0004834844.tif 000012
【０１４７】
また量子化関数Ｑについて（式（４））、式（１２）が成立するときは、次の規則を用いて、式（１３）が成立するように、ｆl,k(m,n)が変更される。
【数１２】
0004834844.tif 000013
【数１３】
0004834844.tif 000014
【０１４８】
具体的には、式（１４）が成立するときは、ｆl,k(m,n)は、式（１５）により求められる。
【数１４】
0004834844.tif 000015
【数１５】
0004834844.tif 000016
【０１４９】
また式（１６）が成立するときは、ｆl,k(m,n)は、式（１７）により求められる。
【数１６】
0004834844.tif 000017
【数１７】
0004834844.tif 000018
【０１５０】
この規則に基づく場合において、ｆl,k(m,n)＞０であるときのｆl,k(m,n)の変更を、模式的に表すと図２４Ａおよび図２４Ｂに示すようになる。なお図２４Ａは、式（１８）が、図２４Ｂは、式（１９）が成り立つ場合のものである。
【数１８】
0004834844.tif 000019
【数１９】
0004834844.tif 000020
【０１５１】
このように、埋め込み後のｆl,k(m,n)（式（２））が式（５）で表す区間の中央値となるように、電子透かし画像Ｗを対象画像Ｆに埋め込むようにすることにより、電子透かし画像Ｗが埋め込まれることによる対象画像Ｆの画質への影響を小さくすることができるとともに、圧縮などの攻撃に対しても強いものとすることができる。【０１５２】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。【０１５３】
図２３は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU（Central Processing Unit）２０１は、ROM（Read Only Memory）２０２、または記憶部２０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）２０３には、CPU２０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。【０１５４】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図２３に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に格納されるROM２０２や、記憶部２０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。【０１５５】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。【０１５６】
また、画像処理装置１および画像処理装置４１は、例えばパーソナルコンピュータにより一体的に構成するようにしてもよいし、画像処理装置１をデジタルカメラに実装し、画像処理装置４１をパーソナルコンピュータに実装する等別々に構成するようにしてもよい。なお、特に画像処理装置１をデジタルカメラに実装する場合、電子透かし情報の埋め込み処理の高速化が要請されるため、この観点からは、電子透かし画像の同一画素を複数個埋め込むことなく、単にウェーブレット変換と電子透かし情報の埋め込みとを並列に処理するようにすればよい。
【図１】
0004834844.tif 000021
【図２】
0004834844.tif 000022
【図３】
0004834844.tif 000023
【図４】
0004834844.tif 000024
【図５】
0004834844.tif 000025
【図６】
0004834844.tif 000026
【図７】
0004834844.tif 000027
【図８】
0004834844.tif 000028
【図９】
0004834844.tif 000029
【図１０】
0004834844.tif 000030
【図１１】
0004834844.tif 000031
【図１２】
0004834844.tif 000032
【図１３】
0004834844.tif 000033
【図１４】
0004834844.tif 000034
【図１５】
0004834844.tif 000035
【図１６】
0004834844.tif 000036
【図１７】
0004834844.tif 000037
【図１８Ａ】
0004834844.tif 000038
【図１８Ｂ】
0004834844.tif 000039
【図１９】
0004834844.tif 000040
【図２０】
0004834844.tif 000041
【図２１】
0004834844.tif 000042
【図２２】
0004834844.tif 000043
【図２３】
0004834844.tif 000044
【図２４Ａ】
0004834844.tif 000045
【図２４Ｂ】
0004834844.tif 000046
【図２５】
0004834844.tif 000047