TOP > 国内特許検索 > 情報処理装置および情報処理方法、並びにプログラム > 明細書

明細書 :情報処理装置および情報処理方法、並びにプログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4834844号 (P4834844)
登録日 平成23年10月7日(2011.10.7)
発行日 平成23年12月14日(2011.12.14)
発明の名称または考案の名称 情報処理装置および情報処理方法、並びにプログラム
国際特許分類 H04N   1/387       (2006.01)
G06T   1/00        (2006.01)
FI H04N 1/387
G06T 1/00 500B
請求項の数または発明の数 10
全頁数 27
出願番号 特願2007-542315 (P2007-542315)
出願日 平成18年10月16日(2006.10.16)
国際出願番号 PCT/JP2006/320578
国際公開番号 WO2007/049479
国際公開日 平成19年5月3日(2007.5.3)
優先権出願番号 2005309980
優先日 平成17年10月25日(2005.10.25)
優先権主張国 日本国(JP)
審査請求日 平成21年8月27日(2009.8.27)
特許権者または実用新案権者 【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
発明者または考案者 【氏名】石原 希実
【氏名】阿部 公輝
個別代理人の代理人 【識別番号】100082131、【弁理士】、【氏名又は名称】稲本 義雄
審査官 【審査官】白石 圭吾
参考文献・文献 特開2004-221715(JP,A)
特開平10-257300(JP,A)
調査した分野 H04N 1/387
G06T 1/00
H04N 7/30
特許請求の範囲 【請求項1】
ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理装置において、
前記対象情報をウェーブレット変換する変換手段と、
前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出手段と、
前記埋め込み係数検出手段により検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドのレベルに応じて重み付けをして計数する計数手段と
前記計数手段による計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記ウェーブレット変換手段によりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出手段と、
前記算出手段により算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付け手段と、
前記重み付け手段により重み付けされた前記壊れ係数の数と、前記重み付け手段により重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記係数群の係数値を操作する操作手段と
を備える情報処理装置。
【請求項2】
前記計数手段による計数結果に基づいて、多数決に勝った埋め込み係数値を前記電子透かし情報を構成する画素値として決定する決定手段
をさらに備える請求項1の情報処理装置。
【請求項3】
前記操作手段は、
前記比率が所定の閾値以下の場合には、前記係数群に含まれる前記壊れ係数を消去し、前記比率が所定の閾値より大きい場合には、前記係数群に含まれる前記埋め込み係数を壊れ係数に変更する
請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記電子透かし情報を構成する複数の同一画素は、ウェーブレット変換された対象情報における第1のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第2のサブバンドの関連係数に基づいて変調されて、前記埋め込み係数に埋め込まれている
請求項1乃至請求項のいずれか一項に記載の情報処理装置。
【請求項5】
前記第1のサブバンドは、最低域のサブバンド以外のサブバンドであり、
前記第2のサブバンドは、前記最低域のサブバンドである
請求項に記載の情報処理装置。
【請求項6】
複数段のウェーブレット変換を随時行うと同時に、
各段階のウェーブレット変換が行われる毎に、第1のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第2のサブバンドの関連係数を検出する
請求項に記載の情報処理装置。
【請求項7】
前記第1のサブバンドは、最高域のサブバンド以外のサブバンドであり、
前記第2のサブバンドは、前記最高域のサブバンドである
請求項に記載の情報処理装置。
【請求項8】
前記関連係数に基づいて復調を行う復調手段をさらに備え、
前記計数手段は、前記復調手段により復調された前記埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数する
請求項乃至請求項のいずれか一項に記載の情報処理装置。
【請求項9】
ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理方法において、
前記対象情報をウェーブレット変換する変換ステップと、
前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出ステップと、
前記埋め込み係数検出ステップの処理で検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドのレベルに応じて重み付けをして計数する計数ステップと
前記計数ステップによる計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記変換ステップによりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出ステップと、
前記算出ステップにより算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付けステップと、
前記重み付けステップにより重み付けされた前記壊れ係数の数と、前記重み付けステップにより重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定ステップと、
前記判定ステップによる判定結果に基づいて、前記係数群の係数値を操作する操作ステップと
を含む情報処理方法。
【請求項10】
ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する処理をコンピュータに実行させるプログラムにおいて、
前記対象情報をウェーブレット変換する変換ステップと、
前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出ステップと、
前記埋め込み係数検出ステップの処理で検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドのレベルに応じて重み付けをして計数する計数ステップと
前記計数ステップによる計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記変換ステップによりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出ステップと、
前記算出ステップにより算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付けステップと、
前記重み付けステップにより重み付けされた前記壊れ係数の数と、前記重み付けステップにより重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定ステップと、
前記判定ステップによる判定結果に基づいて、前記係数群の係数値を操作する操作ステップと
を含む処理をコンピュータに実行させるプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、悪意のある改竄と圧縮・ノイズ等の悪意のない変更を区別して、正確に電子透かし情報を復元するとともに、改竄を的確に検出することができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、文字データ、画像データ、音声データ等の多種のデータがコンピュータやネットワーク内で扱われるようになるに伴い、そのデータの不正利用(改竄)を防止するために、著作権情報や利用者情報を電子透かし情報として埋め込む技術が開発されている。
【0003】
電子透かし情報を埋め込むことは、埋め込みの対象となるデータを変更することになるため、埋め込み強度を強くすると当該データにより表現されるコンテンツの品質が劣化するおそれがある。一方、改竄を的確に検出するためには、電子透かし情報の耐性を強くする必要がある。そこで、埋め込み強度を強くすることなく、すなわち、コンテンツの品質劣化を起こすことなく、電子透かし情報への攻撃に対する耐性を強くした技術として、従来、ウェーブレット変換された係数のうちの所定の複数の係数に対して、電子透かし情報を構成する画素をそれぞれ複数個埋め込み、電子透かし情報を抽出する際には多数決判定によりそれぞれの画素値を決定する発明が知られている(例えば、特許文献1)。
【0004】

【特許文献1】特開2000-106624号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、改竄検出においては、正確に電子透かし情報を復元するとともに、データの編集、圧縮、伸張、ノイズ等の悪意のない変更と、悪意のある攻撃としての改竄とを区別して検出する必要がある。
【0006】
ここで、画像データのウェーブレット領域における係数の特性として、深いレベルほど圧縮やノイズ等に強い耐性をもつことが挙げられる。また、圧縮やノイズ等は係数の変更量がそれほど大きくないため、埋め込まれた電子透かし情報の破損は分散傾向にある一方、改竄では破損が集中する傾向にある。
【0007】
しかしながら、特許文献1に記載の発明では、これらの特徴を考慮することなく、画一的に多数決判定を行うため、画像データに強い圧縮やノイズがかけられた場合に、電子透かし情報の破損が増加して多数決が機能せず、電子透かし情報を復元できなくなったり、悪意のある改竄が検出できなくなるという問題があった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、悪意のある改竄と圧縮・ノイズ等の悪意のない変更を区別して、正確に電子透かし情報を復元するとともに、改竄を的確に検出することができるようにするものである。
【課題を解決するための手段】
【0009】
本発明の第1の側面の情報処理装置は、ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理装置において、前記対象情報をウェーブレット変換する変換手段と、前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出手段と、前記埋め込み係数検出手段により検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数する計数手段と、前記計数手段による計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記ウェーブレット変換手段によりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出手段と、前記算出手段により算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付け手段と、前記重み付け手段により重み付けされた前記壊れ係数の数と、前記重み付け手段により重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定手段と、前記判定手段による判定結果に基づいて、前記係数群の係数値を操作する操作手段とを備える。
【0010】
第1の側面の情報処理装置には、前記計数手段による計数結果に基づいて、多数決に勝った埋め込み係数値を前記電子透かし情報を構成する画素値として決定する決定手段をさらに設けることができる。
【0012】
前記操作手段は、前記比率が所定の閾値以下の場合には、前記係数群に含まれる前記壊れ係数を消去し、前記比率が所定の閾値より大きい場合には、前記係数群に含まれる前記埋め込み係数を壊れ係数に変更することができる。
【0013】
前記電子透かし情報を構成する複数の同一画素は、ウェーブレット変換された対象情報における第1のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第2のサブバンドの関連係数に基づいて変調されて、前記埋め込み係数に埋め込まれているようにすることができる。
【0014】
前記第1のサブバンドは、最低域のサブバンド以外のサブバンドであり、前記第2のサブバンドは、前記最低域のサブバンドであるようにすることができる。
【0015】
複数段のウェーブレット変換を随時行うと同時に、各段階のウェーブレット変換が行われる毎に、第1のサブバンドの係数から予めランダムに決定された埋め込み係数と関連する第2のサブバンドの関連係数を検出することができる。
【0016】
前記第1のサブバンドは、最高域のサブバンド以外のサブバンドであり、前記第2のサブバンドは、前記最高域のサブバンドであるようにすることができる。
【0017】
第1の側面の情報処理装置には、前記関連係数に基づいて復調を行う復調手段をさらに設け、前記計数手段には、前記復調手段により復調された前記埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数させることができる。
【0018】
本発明の第1の情報処理方法、またはプログラムは、ウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する情報処理方法において、またはウェーブレット変換されて電子透かし情報が埋め込まれた対象情報の改竄を検出する処理をコンピュータに実行させるプログラムにおいて、前記対象情報をウェーブレット変換する変換ステップと、前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数を検出する埋め込み係数検出ステップと、前記埋め込み係数検出ステップの処理で検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けをして計数する計数ステップと、前記計数ステップによる計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、前記変換ステップによりウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数を算出する算出ステップと、前記算出ステップにより算出された前記埋め込み係数の数と前記壊れ係数の数を、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けする重み付けステップと、前記重み付けステップにより重み付けされた前記壊れ係数の数と、前記重み付けステップにより重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かを判定する判定ステップと、前記判定ステップによる判定結果に基づいて、前記係数群の係数値を操作する操作ステップとを含む。
【0019】
以上のような第1の側面の情報処理装置、情報処理方法、またはプログラムにおいては、前記対象情報がウェーブレット変換され、前記電子透かし情報を構成する複数の同一画素がそれぞれ埋め込まれる複数の埋め込み係数が検出され、検出された前記複数の埋め込み係数について、それぞれの前記埋め込み係数が属するサブバンドに応じて重み付けがされて計数される。さらに、その計数結果に基づいて、多数決に負けた埋め込み係数値を壊れ係数とし、ウェーブレット変換された前記対象情報において、サブバンドにわたって関連する係数群毎に、前記埋め込み係数の数と前記壊れ係数の数が算出され、算出された前記埋め込み係数の数と前記壊れ係数の数が、前記埋め込み係数および前記壊れ係数が属するサブバンドのレベルに応じて重み付けされ、重み付けされた前記壊れ係数の数と、重み付けされた前記埋め込み係数との比率に基づいて、前記係数群が改竄されたか否かが判定され、その判定結果に基づいて、前記係数群の係数値が操作される。
【発明の効果】
【0020】
本発明の第1の側面によれば、効率よく、かつ安全に電子透かし情報を埋め込みまたは抽出することができる。
【図面の簡単な説明】
【0021】
【図1】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図2】ウェーブレット変換を説明する図である。
【図3】図1の埋め込み部13の電子透かし埋め込み処理を説明するフローチャートである。
【図4】図3のステップS4の処理を説明する図である。
【図5】図3のステップS4の処理を説明する他の図である。
【図6】図3のステップS4の処理を説明する他の図である。
【図7】図3のステップS5およびステップS6の処理を説明する図である。
【図8】本発明を適用した画像処理装置41の構成例を示すブロック図である。
【図9】図8の改竄検出部53の電子透かし抽出処理を説明するフローチャートである。
【図10】図9のステップS23乃至ステップS26の処理を説明する図である。
【図11】図9のステップS27およびステップS28の処理を説明する図である。
【図12】改竄検出用画像の例を示す図である。
【図13】重みに応じた破損率を示す図である。
【図14】図8の画像処理部54における画像処理を説明するフローチャートである。
【図15】図14のステップS52の処理を説明する図である。
【図16】図14のステップS52の処理を説明する他の図である。
【図17】図14のステップS55の処理を説明する図である。
【図18A】対象画像の例を示す図である。
【図18B】対象画像の例を示す図である。
【図19】本発明を適用した画像処理装置1の他の構成例を示すブロック図である。
【図20】図19の埋め込み部101における電子透かし埋め込み処理を説明するフローチャートである。
【図21】図20のステップS84およびステップS85の処理を説明する図である。
【図22】重みに応じた破損率を示す他の図である。
【図23】電子透かし画像の埋め込み方法を説明する図である。
【図24A】電子透かし画像の埋め込み方法を説明する他の図である。
【図24B】電子透かし画像の埋め込み方法を説明する他の図である。
【図25】コンピュータの構成例を示すブロック図である。
【符号の説明】
【0022】
1 画像処理装置, 12 ウェーブレット変換部, 13 電子透かし埋め込み部, 14 逆ウェーブレット変換部, 52 ウェーブレット変換部, 53 改竄検出部, 101 電子透かし埋め込み部
【発明を実施するための最良の形態】
【0023】
以下、図を参照して、本発明の実施の形態について説明する。
【0024】
図1は、本発明を適用した画像処理装置1の構成例を示している。この画像処理装置1は、電子透かし情報としての2値画像の電子透かし画像Wを、電子透かし画像Wを埋め込む対象となる対象画像F(例えば、デジタルカメラで撮像された画像)に埋め込むことができる。
【0025】
入力部11には、対象画像F、電子透かし画像W、および電子透かし画像Wの埋め込みに必要な係数選択鍵Cが入力される。係数選択鍵Cには、電子透かし画像Wを構成する1画素の埋め込み数(複製数)、電子透かし画像Wを埋め込む対象画像Fの係数(以下、埋め込み係数と称する)、および埋め込む強さを示す量子化パラメータが含まれている。
【0026】
埋め込み係数は、サブバンドLL3を除く、サブバンドHL1、HH1、LH1、HL2、HH2、LH2、HL3、HH3、またはLH3の中からランダムに予め決定されている。例えば図4の例では、レベル1のサブバンドHL1およびサブバンドLH1から係数P1および係数P2が、レベル2のサブバンドHH2から係数P3が、そしてレベル3のサブバンドLH3から係数P4が、それぞれ埋め込み係数として決定される。
【0027】
入力部11は、入力した対象画像Fをウェーブレット変換部12に供給し、入力した電子透かし画像Wおよび係数選択鍵Cを電子透かし埋め込み部13に供給する。
【0028】
ウェーブレット変換部12は、入力部11から供給される対象画像Fに対して、ウェーブレット変換を行い、その結果得られた周波数変換された対象画像Fの係数を、電子透かし埋め込み部13に供給する。
【0029】
ウェーブレット変換部12においては、画像の2次元のレベル分布が重み付けが可能な圧縮しやすいデータに周波数変換される。
【0030】
具体的には、対象画像Fのピクセルデータを高域成分と低域成分に2分していく処理を繰り返すことにより、対象画像Fが複数の周波数帯域に分解される。
【0031】
例えば、高域成分と低域成分に2分していく処理を3段階行う場合、はじめに例えば図2のAの対象画像Fのピクセルデータに対して処理が行われ、対象画像Fが、図2のBに示すように、「低域|低域」のサブバンドLL1、「低域|高域」のサブバンドLH1、「高域|低域」のサブバンドHL1、および「高域|高域」のサブバンドHH1に分解される。なおこの処理で得られたサブバンドLL1、LH1、HL1、またはHH1を、適宜、レベル1のサブバンドと称する。
【0032】
次に2回目の処理が、最低域のサブバンドLL1に対して行われ、サブバンドLL1が、図2のCに示すように、「低域|低域」のサブバンドLL2、「低域|高域」のサブバンドLH2、「高域|低域」のサブバンドHL2、および「高域|高域」のサブバンドHH2に分解される。なおこの処理で得られたサブバンドLL2、LH2、HL2、またはHH2を、適宜、レベル2のサブバンドと称する。
【0033】
そして3回目の処理が、最低域のサブバンドLL2に対して行われ、サブバンドLL2が、図2のDに示すように、「低域|低域」のサブバンドLL3、「低域|高域」のサブバンドLH3、「高域|低域」のサブバンドHL3、および「高域|高域」のサブバンドHH3に分解される。なおこの処理で得られたサブバンドLL3、LH3、HL3、またはHH3を、適宜、レベル3のサブバンドと称する。
【0034】
図1に戻り電子透かし埋め込み部(以下、埋め込み部と略称する)13は、ウェーブレット変換部12から供給された対象画像Fの1フレーム分の係数に、入力部11から供給された電子透かし画像Wを、同様に入力部11から供給された係数選択鍵Cに応じて埋め込み、その結果得られた係数を、逆ウェーブレット変換部14に供給する。埋め込み部13はまた、電子透かし画像Wを抽出するために必要な係数選択鍵Cを、出力部15に供給する。
【0035】
逆ウェーブレット変換部14は、埋め込み部13から供給された係数に対して、逆ウェーブレット変換を行い(図2に示した処理と逆の処理を行い)、電子透かし画像Wが埋め込まれた対象画像F(対象画像F’)を生成し、出力部15に供給する。
【0036】
出力部15は、逆ウェーブレット変換部14から供給された対象画像F’と、埋め込み部13から供給された係数選択鍵Cを、外部の装置(例えば、図8の画像処理装置41)に供給する。
【0037】
次に、画像処理装置1の埋め込み部13における電子透かし埋め込み処理を、図3のフローチャートを参照して説明する。
【0038】
ステップS1において、埋め込み部13は、ウェーブレット変換部12から、1フレーム分の対象画像Fの係数(図2のD)を入力する。
【0039】
ステップS2において、埋め込み部13は、入力部11から供給された電子透かし画像Wの1画素を選択する。
【0040】
次にステップS3において、埋め込み部13は、ステップS2で選択した電子透かし画像Wの画素の画素値(以下、透かしビットと称する)を、入力部11から供給された係数選択鍵Cに示される複製数だけ複製する。
【0041】
次にステップS4において、埋め込み部13は、係数選択鍵Cにより与えられた埋め込み係数に関連するサブバンドLL3上の係数(関連係数)を検出する。
【0042】
ウェーブレット変換係数においては、レベルr(r=1,2)のサブバンド上の座標(x,y)の係数と、レベルr+1のサブバンド上の座標(x/2,y/2)の係数とは、近寄った性質を有していること(すなわち、空間的な相関が高いこと)が知られている(以下、この関係を、親子関係と称する)。
【0043】
そこで本発明ではこの親子関係を利用し、図5に示すように、レベル1のサブバンドの座標(x1,y1)の埋め込み係数からは、レベル3のサブバンドLL3の座標(x1/4,y1/4)の係数が、レベル2のサブバンドの座標(x2,y2)の埋め込み係数からは、サブバンドLL3の座標(x2/2,y2/2)の係数が、そしてレベル3のサブバンド(サブバンドLL3を除く)の座標(x3,y3)の埋め込み係数からは、サブバンドLL3の座標(x3,y3)の係数が、それぞれ埋め込み係数に関連するサブバンドLL3の係数として検出される。
【0044】
この親子関係を空間上に表すと、図6に示すことができる。
【0045】
また図4の例の場合、係数P1からは係数Q1が、係数P2からは係数Q2が、係数P3からは係数Q3が、そして係数P4からは係数Q4が、それぞれ関連するサブバンドLL3の係数として検出されるものとする。
【0046】
次にステップS5において、埋め込み部13は、ステップS4で検出したサブバンドLL3の係数のそれぞれに対して、例えばその係数に隣接する3個の係数を検出するとともに、この3個の係数と、ステップS4で検出したサブバンドLL3の係数との合計4個の係数(以下、この4個の係数を、適宜、対応係数と称する)の係数値の平均値を算出し、それを量子化して2進値(1または0)に変換する。
【0047】
図4の係数Q1(例えば座標(xq1,yq1))に対して、図7に示すように、係数Q1に隣接する座標(xq1,yq1+1)、(xq1+1,yq1)、および(xq1+1,yq1+1)の3個の係数が検出され、係数Q1とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値r1が得られる。係数Q2(例えば座標(xq2,yq2))に対して、座標(xq2,yq2+1)、(xq2+1,yq2)、および(xq2+1,yq2+1)の3個の係数が検出され、係数Q2とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値r2が得られる。
【0048】
また係数Q3(例えば座標(xq3,yq3))に対して、座標(xq3,yq3+1)、(xq3+1,yq3)、および(xq3+1,yq3+1)の3個の係数が検出され、係数Q3とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値r3が得られる。係数Q4(例えば座標(xq4,yq4))に対して、座標(xq4,yq4+1)、(xq4+1,yq4)、および(xq4+1,yq4+1)の3個の係数が検出され、係数Q4とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値r4が得られる。
【0049】
次にステップS6において、埋め込み部13は、ステップS3で複製した透かしビットのそれぞれと、ステップS5で得られた平均値の2進値のそれぞれとの排他的論理和演算(XOR)を行い(すなわち透かしビットを、ステップS5で得られた平均値の2進値で変調し)、その結果得られた値(以下、変調ビットと称する)を、係数選択鍵Cに含まれる量子化ステップの強さに応じて埋め込む。
【0050】
図7の例では、透かしビットwaと値r1との排他的論理和演算(XOR)の結果得られた変調ビットwa1が係数P1の係数値とされ、透かしビットwaと値r2とのXORの結果得られた変調ビットwa2が係数P2の係数値とされ、透かしビットwaと値r3とのXORの結果得られた変調ビットwa3が係数P3の係数値とされ、透かしビットwaと値r4とのXORの結果得られた変調ビットwa4が係数P4の係数値とされる。
【0051】
ステップS7において、埋め込み部13は、電子透かし画像Wのすべての画素を選択したか否かを判定し、まだ選択していない画素が残っていると判定した場合、ステップS2に戻り、次の画素を選択して、ステップS3以降の処理を同様に実行する。
【0052】
ステップS7で、すべての画素を選択したと判定した場合、埋め込み部13は、電子透かし埋め込み処理を終了する。
【0053】
以上のような処理が、電子透かし画像Wが埋め込まれる対象画像Fが入力される毎に行われる。
【0054】
以上のように、電子透かし情報を埋め込む際に、埋め込み係数をランダムに決定するようにしたので(ステップS3)、第三者による埋め込み係数の特定が困難になる。例えば特許文献1の方法では、電子透かし情報を埋め込む係数を絶対値がn番目に大きい係数と限定しているので、電子透かし情報が埋め込まれた係数が特定しやすい。
【0055】
また以上のように、ランダムに決定された埋め込み係数に対して埋め込み処理がなされるので(ステップS4乃至ステップS6)、効率よく埋め込み処理を行うことができる。
例えば特許文献1の方法では、絶対値がn番目の係数を検出するために、全係数を走査する必要があるので、処理に時間がかかる。
【0056】
また、電子透かし情報と、電子透かし情報が埋め込まれた係数の関連性に基づいて係数値を操作し、あたかも電子透かし情報が埋め込まれているかのように偽装する、いわゆるCollage Attackでは、電子透かし情報と、電子透かし情報が埋め込まれた係数の関連性に基づいて係数値が操作されて改竄が行われるので、その防御策としては、電子透かし情報が埋め込まれた係数と、それとは別の位置の係数とを何らかの関係で対応付けることが有効とされている。例えば、電子透かし情報が埋め込まれる係数とその隣の係数の大小を調べ、電子透かし情報が埋め込まれる係数の方が大きければ0、隣の係数が大きければ1とするようにして、その値が埋め込まれるようにする方法である。
【0057】
そこで以上のように、埋め込み係数と、それに関連する最低域サブバンド(この例の場合、サブバンドLL3)を対応付けて埋め込まれる値(変調ビット)を決定するようにしたので(ステップS4乃至ステップS6)、Collage Attackを防御することができる。
【0058】
次に、図8を参照して、図1の画像処理装置1により電子透かし画像Wが埋め込まれた対象画像F(対象画像F’)から、電子透かし画像Wを抽出する画像処理装置41について説明する。
【0059】
入力部51には、図1の画像処理装置1より出力された、対象画像F’および電子透かし情報抽出のための係数選択鍵Cが入力される。
【0060】
入力部51は、入力した対象画像F’をウェーブレット変換部52に供給し、入力した係数選択鍵Cを改竄検出部53および画像処理部54に供給する。
【0061】
ウェーブレット変換部52は、入力部51から供給された対象画像F’に対して、図1に示すウェーブレット変換部12と同じウェーブレット変換を行い(図2)、その結果得られた1フレーム分の対象画像F’の係数を、改竄検出部53および画像処理部54に供給する。
【0062】
改竄検出部53は、ウェーブレット変換部52から供給された対象画像F’の係数から、係数選択鍵Cに基づいて電子透かし画像Wを抽出するとともに、その際に得られた改竄情報を、画像処理部54に供給する。
【0063】
画像処理部54は、ウェーブレット変換部52から供給された対象画像F’の係数に対して、入力部51から供給された係数選択鍵Cおよび改竄検出部53から供給された改竄情報に応じて係数操作を行う。
【0064】
次に、改竄検出部53における電子透かし画像および改竄検出用画像の抽出処理を、図9のフローチャートを参照して説明する。
【0065】
ステップS21において、改竄検出部53は、ウェーブレット変換部52から、1フレーム分の対象画像F’の係数を入力する。
【0066】
次にステップS22において、改竄検出部53は、入力部51から供給された係数選択鍵Cから、電子透かし画像Wの1画素についての係数選択鍵を読み出す。
【0067】
ステップS23において、改竄検出部53は、読み出した係数選択鍵に基づいて、ステップS21で入力した1フレーム分の係数の中から、埋め込み係数(ステップS22で選択された1画素の透かしビットが埋め込まれている埋め込み係数)を検出する。
【0068】
例えば図7に示すように電子透かし画像Wが埋め込まれた対象画像Fから電子透かし画像Wを抽出する場合、図10に示すように、図7における場合と同様にレベル1のサブバンドHL1の係数P1およびサブバンドLH1の係数P2が、レベル2のサブバンドHH2から係数P3が、そしてレベル3のサブバンドLH3から係数P4が、それぞれ埋め込み係数として検出される。
【0069】
次にステップS24において、改竄検出部53は、ウェーブレット変換の親子関係に基づいて、検出した埋め込み係数に関連するサブバンドLL3の係数を検出する。
【0070】
図10の例の場合、図7における場合と同様に、係数P1から係数Q1が、係数P2から係数Q2が、係数P3から係数Q3が、そして係数P4から係数Q4が、それぞれ関連するサブバンドLL3の係数として検出される。
【0071】
ステップS25において、改竄検出部53は、ステップS24で検出したサブバンドLL3の係数のそれぞれに対して、例えばその係数に隣接する3個の係数を検出するとともに、その3個の係数と、ステップS24で検出したサブバンドLL3の係数との合計4個の係数(対応係数)の係数値の平均値を算出し、それを量子化して2進値に変換する。
【0072】
図10の例の場合は、図7における場合と同様に、係数Q1(座標(xq1,yq1))に対して、座標(xq1,yq1+1)、(xq1+1,yq1)、および(xq1+1,yq1+1)の3個の係数が検出され、係数Q1とその3個の係数の係数値の平均値が算出され、それが量子化されて2進数値r1’が得られる。係数Q2(座標(xq2,yq2))に対して、座標(xq2,yq2+1)、(xq2+1,yq2)、および(xq2+1,yq2+1)の3個の係数が検出され、係数Q2とその3個の係数の係数値の平均値が算出され、それが量子化されて2進数値r2’が得られる。
【0073】
また係数Q3(座標(xq3,yq3))に対して、座標(xq3,yq3+1)、(xq3+1,yq3)、および(xq3+1,yq3+1)の3個の係数が検出され、係数Q3とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値r3’が得られる。係数Q4(座標(xq4,yq4))に対して、座標(xq4,yq4+1)、(xq4+1,yq4)、および(xq4+1,yq4+1)の3個の係数が検出され、係数Q4とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値r4’が得られる。
【0074】
ステップS26において、改竄検出部53は、ステップS23で検出した埋め込み係数の係数値(変調ビット(図3のステップS6))のそれぞれと、対応するステップS25で得られた平均値の2進値のそれぞれとのXORをとり(すなわち変調ビットを、ステップS25で得られた平均値の2進値で復調し)、その結果得られた値(以下、復調ビットと称する)を、ステップS22で選択した電子透かし画像Wの画素の画素値(透かしビット)の候補とする。
【0075】
図10の例の場合、変調ビットwa1’と値r1’とのXORの結果得られた復調ビットwb1、変調ビットwa2’と値r2’とのXORの結果得られた復調ビットwb2、変調ビットwa3’と値r3’とのXORの結果得られた復調ビットwb3、および変調ビットwa4’と値r4’とのXORの結果得られた復調ビットwb4のそれぞれが、透かしビットの候補とされる。
【0076】
次にステップS27において、改竄検出部53は、ステップS26で得られた透かしビットの候補としての復調ビットを、復調ビットの属するサブバンドのレベルに応じて重み付けてカウントし、その結果に基づいて多数決をとり、勝った復調ビット(以下、勝ちビットと称する)と負けた復調ビット(以下、負けビットと称する)を決定する。
【0077】
例えば、レベル1に属するサブバンドの復調ビットについての重みを1とし、レベル2に属するサブバンドの復調ビットについての重みを6とし、そしてレベル3に属するサブバンドの復調ビットについての重みを8とし、それぞれ重みが乗算された数の復調ビットが用意され、その中で多いビットと少ないビットが検出される。
【0078】
図10の例の場合において、復調ビットwb1,wb4,wb3,wb2が、図11に示すように、0,0,0,1であるとき、レベル1の復調ビットwb1としての値0が1個、レベル3の復調ビットwb4としての値0が8個、レベル2の復調ビットwb3としての値0が6個、そしてレベル1の復調ビットwb2としての値1が1個、すなわち15個の値0と、1個の値1が用意される。
【0079】
従ってこの例の場合、値0が15個で、値1が1個となるので、値0が勝ちビット、そして値1が負けビットとして検出される。
【0080】
次にステップS28において、改竄検出部53は、図11に示すように、ステップS27で検出した勝ちビット(0)を、ステップS22で選択した電子透かし画像Wの画素の画素値とし、負けビット(1)を、予め用意された3段階のウェーブレット変換処理がなされた白色画像(以下、改竄検出用画像と称する)M’の、対象画像F’の係数P2に対応する係数P2’の係数値とする。
【0081】
ステップS29において、改竄検出部53は、ステップS22で、電子透かし画像Wのすべての画素についての係数選択鍵を読み出したか否かを判定し、まだ読み出していない係数選択鍵があると判定した場合、ステップS22に戻り、次の画素の係数選択鍵を読み出し、ステップS23以降の処理を行う。
【0082】
ステップS29で、すべての画素の係数選択鍵が読み出されたと判定された場合、ステップS30に進み、電子透かし画像Wが復元され、改竄検出用画像M’が生成される。改竄検出部53は、改竄検出用画像M’を画像処理部54に供給する。なお、改竄検出用画像M’に逆ウェーブレット変換処理を行った改竄検出用画像Mは、例えば図12に示すように表示される。
【0083】
以上のようにして電子透かし情報が抽出される。
【0084】
画像のウェーブレット変換係数の特徴として、深いレベルほど圧縮やノイズに強い耐性を有するので、深いレベルに埋め込まれた電子透かし情報は圧縮やノイズに強い。したがって深いレベルに埋め込まれた電子透かし画像Wおよび改竄検出用画像M’が壊れたとすると、それは圧縮やノイズではなく、切り取りや貼り付け処理などの改竄によるものと考えることができる。
【0085】
従って、以上のように深いレベルに埋め込まれた電子透かし情報には浅いレベルに埋め込まれた電子透かし情報より重みを大きくして(レベル1に属するサブバンドの復調ビットについての重みを1とし、レベル2に属するサブバンドの復調ビットについての重みを6とし、そしてレベル3に属するサブバンドの復調ビットについての重みを8として)、深いレベルに埋め込まれた電子透かし情報の影響が大となるようにして透かしビットを検出するようにしたので、電子透かし情報をより正確に検出することができる。
【0086】
図13は、対象画像Fが圧縮率60%のJPEG圧縮で圧縮された場合の、X軸に示すレベル2の透かしにかけた重みと、Y軸に示すレベル3の透かしにかけた重みを利用したときの破損率を示している。この例では、レベル2の重みを6とし、レベル3の重みを8乃至10にしたときに、最も低い電子透かし情報の破損率が得られる。
【0087】
次に画像処理装置41の画像処理部54の処理を、図14のフローチャートを参照して説明する。
【0088】
ステップS51において、画像処理部54は、ウェーブレット変換部52から供給された1フレーム分の対象画像F’の係数におけるレベル3のサブバンドLH3およびHL3のそれぞれを、例えば、4×4画素のブロックに分割する。
【0089】
次にステップS52において、画像処理部54は、ステップS51で得られたサブバンドLH3およびサブバンドHL3のブロックのそれぞれについて、それらに対応するレベル2のサブバンドLH2およびサブバンドHL2、並びにレベル1のサブバンドLH1およびサブバンドHL1のブロックを、ウェーブレット変換の親子関係に基づいて決定する。
【0090】
なお例えば、レベル3のサブバンドLH3またはサブバンドHL3のブロックは所定のブロック番号で識別できるとともに、そのブロックに対応するレベル2のサブバンドLH2およびサブバンドHL2、並びにレベル1のサブバンドLH1およびサブバンドHL1のブロックも、対応するサブバンドLH3またはサブバンドHL3のブロックと同じブロック番号で識別できるものとする。
【0091】
すなわち各ブロックは、例えばレベルをk、そしてブロック番号をiとする符号bk(i)で識別することができ、さらに同一の符号bk(i)で表されるブロック群を、符号Bk(i)に属するブロックとして表すことができるものとする。
【0092】
例えば図15に示すレベル3のサブバンドLH3およびサブバンドHL3のブロックを、ブロックb3(1)とし、それに対応する、レベル2のサブバンドLH2およびサブバンドHL2のブロックをブロックb2(1)とし、レベル1のサブバンドLH1およびサブバンドHL1のブロックをブロックb1(1)とするものとし、図16に示すように、レベル1のサブバンドLH1およびHL1のブロックb1(1)で表されるブロック群を、ブロック群B1(1)とし、レベル2のサブバンドLH2およびHL2のブロックb2(1)で表されるブロック群を、ブロック群B2(1)とし、そしてレベル3のサブバンドLH3およびHL3のブロックb3(1)で表されるブロック群を、ブロック群B3(1)とするものとする。
【0093】
次にステップS53において、画像処理部54は、1つのブロック番号iを選択し、ステップS54において、係数選択鍵Cに基づいて、ブロック群B1(i),B2(i),B3(i)に属するブロックのそれぞれについて、それに含まれる埋め込み係数の数を算出する。また画像処理部54は、改竄検出用画像M’に基づいて、ブロック群B1(i),B2(i),B3(i)に属するブロックのそれぞれについて、それに含まれる負けビットが埋め込まれた係数(以下、壊れ係数と称する)の数を算出する。
【0094】
次にステップS55において、画像処理部54は、各ブロックの埋め込み係数の数と壊れ係数の数のそれぞれを、ブロック群B1(i),B2(i),B3(i)毎に合計し、レベルに応じた重みを乗算する。
【0095】
例えば、図17に示すように、ブロック群B3(i)に属するブロックに含まれる埋め込み係数の数の合計と、ブロック群B3(i)に属するブロックに含まれる壊れ係数の数の合計のそれぞれに8が乗算される。
【0096】
ブロック群B2(i)に属するブロックに含まれる埋め込み係数の数の合計と、ブロック群B2(i)に属するブロックに含まれる壊れ係数の数の合計のそれぞれに6が乗算される。
【0097】
そしてブロック群B1(i)に属するブロックに含まれる埋め込み係数の数の合計と、ブロックB群1(i)に属するブロックに含まれる壊れ係数の数の合計のそれぞれに1が乗算される。
【0098】
ステップS56において、画像処理部54は、式(1)に示すように、ステップS55での重み付けで得られた壊れ係数の合計を、ステップS55での重み付けで得られた埋め込み係数の合計で除算する。
【0099】
【数1】
JP0004834844B2_000002t.gif

【0100】
次にステップS57において、画像処理部54は、ステップS56での演算の結果得られた値(以下、改竄率と称する)が所定の閾値以下であるか否かを判定し、閾値以下であると判定した場合、そのブロック番号iのブロック群は改竄されていないとして、ステップS58において、対象となっているブロックに含まれる壊れ係数の係数値(負けビット)を消去する(以下、この処理をふるい処理と称する)。
【0101】
一方ステップS57で、所定の閾値より大きいと判定された場合、そのブロック番号iのブロック群は改竄されたものとして、ステップS59に進み、画像処理部54は、そのブロックに属する全係数を、壊れ係数に変更する(以下、この処理を強調処理と称する)。
【0102】
なお、閾値は、上述のように1つ設けるようにしてもよいし、上限の閾値と下限の閾値とを設け、下限の閾値以下の場合にはふるい処理を行い、上限の閾値以上の場合には強調処理を行うようにしてもよい。この場合、改竄率が上限の閾値と下限の閾値との間である場合にはふるい処理も強調処理も行われないようになる。
【0103】
ステップS58で壊れ係数が消去されたとき、またはステップS59でブロック番号iのブロック群の係数が変更されたとき、ステップS60に進み、画像処理部54は、ステップS53ですべてのブロック番号iを選択したか否かを判定し、まだ選択していないブロック番号が存在すると判定した場合、ステップS53に戻り、次のブロックを選択し、ステップS54以降の処理を同様に実行する。
【0104】
ステップS60で、すべてのブロック番号iが選択されたと判定された場合、処理は終了する。
【0105】
以上のようにして画像処理が行われる。
【0106】
以上のように、改竄率に基づいてふるい処理および強調処理を行うようにしたので、対象画像Fが図18Aである場合、図18Bに示すように、改竄されたブロックに対応する画像を強調して表示することができる。
【0107】
圧縮やノイズは、画素係数の修正量がそれほど多くないため、電子透かし情報の破損は分散する傾向にあるが、切り取りや貼り付け等の改竄があった場合、その改竄の画像係数は、集中して破損している傾向にある。そのため上述したように破損した電子透かし情報の密度(改竄率)を調べ、それを閾値と比較することにより、その破損が圧縮やノイズによるものか、改竄によるものを適切に判別することができる。
【0108】
図19は、画像処理装置1の他の構成例を示している。この画像処理装置には、図1の電子透かし埋め込み部13に代えて、電子透かし埋め込み部101が設けられている。他の部分は、図1における場合と同様である。
【0109】
図1の埋め込み部13における埋め込み処理は、埋め込み係数を最低域のサブバンド(サブバンドLL3)の係数に関連付けたが、埋め込み部101は、最低域のサブバンドに代えて、埋め込み係数と同一のレベルのサブバンドHHの係数に関連付けて、埋め込み処理を行う。
【0110】
埋め込み部101における電子透かし埋め込み処理を、図20のフローチャートを参照して説明する。
【0111】
ステップS81において、埋め込み部101は、ウェーブレット変換部12から、1フレームの対象画像Fに対する、1回目のウェーブレット変換が行われ、そして2回目のウェーブレット変換がさらに行われたとき、その結果得られた係数(図2のC)を入力する。
【0112】
ステップS82において、埋め込み部101は、電子透かし画像(2値画像)Wの1画素を選択する。
【0113】
次にステップS83において、埋め込み部101は、ステップS82で選択された電子透かし画像Wの画素の画素値(透かしビット)を、入力部11から供給された係数選択鍵Cに示される複製数だけ複製する。
【0114】
次にステップS84において、埋め込み部101は、係数選択鍵Cにより与えられたレベル2のサブバンドHL2およびサブバンドLH2の埋め込み係数に関連するレベル2のサブバンドHH2の係数を検出する。
【0115】
例えば、図21のレベル2のサブバンドLH2の係数P11(座標(xq11,yq11))が埋め込み係数である場合、サブバンドHH2の座標(xq11,yq11)の係数Q11が、係数P11と関連するサブバンドHH2の係数として検出される。
【0116】
次にステップS85において、埋め込み部101は、ステップS84で検出したサブバンドHH2の係数に対して、例えばその係数に隣接する3個の係数を検出するとともに、この3個の係数と、ステップS84で検出したサブバンドHH2の係数との合計4個の係数(対応係数)の係数値の平均値を算出し、それを量子化して2進値(1または0)に変換する。
【0117】
図21の係数Q11(座標(xq11,yq11))に対して、係数Q11に隣接する座標(xq11,yq11+1)、(xq11+1,yq11)、および(xq11+1,yq11+1)の3個の係数が検出され、係数Q11とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値が得られる。
【0118】
次にステップS86において、埋め込み部101は、ステップS83で複製した透かしビットと、ステップS85で得られた平均値の2進値との排他的論理和演算(XOR)を行い(すなわち透かしビットを、ステップS85で得られた平均値の2進値で変調し)、その結果得られた値(変調ビット)を、係数選択鍵Cに含まれる量子化ステップの強さに応じて埋め込む。
【0119】
ステップS87において、埋め込み部101は、電子透かし画像Wのすべての画素を選択したか否かを判定し、まだ選択していない画素が残っていると判定した場合、ステップS82に戻り、次の画素を選択して、ステップS83以降の処理を同様に実行する。
【0120】
なお透かしビットのすべてを、レベル2のサブバンドに埋め込む必要はないので、レベル2のサブバンドに埋め込まない透かしビットが選択されたときには、ステップS83乃至ステップS86の処理は、適宜、スキップされる。
【0121】
ステップS87で、すべての画素を選択したと判定した場合、埋め込み部101は、ステップS88に進み、対象画像Fの1フレーム分の係数の全部を入力したか否かを判定し、全部を入力していないと判定した場合、ステップS81に戻る。
【0122】
いまの場合、ステップS81において、埋め込み部101は、ウェーブレット変換部12で1フレームの対象画像Fに対する、3回目のウェーブレット変換が行われたとき、その結果得られた係数(図2のD)を入力する。この係数を入力した場合の処理を続けて説明する。
【0123】
すなわちステップS82で、電子透かし画像Wの1画素が選択される。
【0124】
次にステップS83で、ステップS82で選択された電子透かし画像Wの画素の画素値(透かしビット)が、入力部11から供給された係数選択鍵Cに示される複製数だけ複製される。
【0125】
次にステップS84で、係数選択鍵Cにより与えられたレベル3のサブバンドHL3およびサブバンドLH3の埋め込み係数に関連するレベル3のサブバンドHH3の係数が検出される。
【0126】
例えば、図21のレベル3のサブバンドHL3の係数P21(座標(xq21,yq21))が埋め込み係数である場合、サブバンドHH3の座標(xq21,yq21)の係数Q21が検出される。
【0127】
次にステップS85で、ステップS84で検出されたサブバンドHH3の係数に対して、例えばその係数に隣接する3個の係数が検出されるとともに、この3個の係数と、ステップS84で検出されたサブバンドHH3の係数との合計4個の係数(対応係数)の係数値の平均値が算出され、それが量子化されて2進値(1または0)に変換される。
【0128】
図21の係数Q21(座標(xq21,yq21))に対して、係数Q21に隣接する座標(xq21,yq21+1)、(xq21+1,yq21)、および(xq21+1,yq21+1)の3個の係数が検出され、係数Q21とその3個の係数の係数値の平均値が算出され、それが量子化されて2進値が得られる。
【0129】
次にステップS86で、ステップS83で複製された透かしビットと、ステップS85で得られた平均値の2進値との排他的論理和演算(XOR)が行われ(すなわち透かしビットが、ステップS85で得られた平均値の2進値で変調され)、その結果得られた値(変調ビット)を、係数選択鍵Cに含まれる量子化ステップの強さに応じて埋め込む。
【0130】
ステップS87で、電子透かし画像Wのすべての画素が選択されたか否かを判定され、まだ選択されていない画素が残っていると判定された場合、ステップS82に戻り、次の画素が選択されて、ステップS83以降の処理を同様に実行される。
【0131】
なお透かしビットのすべてを、レベル3のサブバンドに埋め込む必要はないので、レベル3のサブバンドに埋め込まない透かしビットが選択されたときには、ステップS83乃至ステップS86の処理は、適宜、スキップされる。
【0132】
ステップS87で、すべての画素を選択したと判定された場合、ステップS88に進み、対象画像Fの1フレーム分の係数の全部が入力されたと判定され、処理は終了する。
【0133】
図1の埋め込み部13では、埋め込み係数と、それに関連する最低域サブバンド(この例の場合、サブバンドLL3)を対応付けるようにして埋め込み処理が行われる。また最低域サブバンドは、図2のDに示すように、すべての段階のウェーブレット変換処理が行われた後に形成される。
【0134】
すなわち図1の埋め込み部13における埋め込み処理は、ウェーブレット変換部12におけるウェーブレット処理が終了するのを待って行う必要があった。
【0135】
これに対して図19の埋め込み部101は、最低域のサブバンドに代えて、埋め込み係数と同一のレベルのサブバンドHHの係数を対応付けるようにして、上述したように、各レベルのウェーブレット係数が得られたとき埋め込み処理を行うようにしたので(ウェーブレット変換処理と埋め込み処理を並列に行うようにしたので)、図1の場合の埋め込み処理に比べ、迅速に行うことができる。
【0136】
なおここで利用するサブバンドHHは、改竄に対して最も弱いバンドであり、破損率の増加を招く。例えばサブバンドHLまたはLHの埋め込み係数が壊れていなくても、それと関連付けられたサブバンドHHの係数が大きく変わってしまうと、壊れたものとなってしまう。そこで、この場合、攻撃に弱いレベル1を埋め込みに用いず、レベル2およびレベル3に対して、埋め込みを行うようにした。
【0137】
図19の画像処理装置1により電子透かし画像Wが埋め込まれた対象画像F(対象画像F’)から、電子透かし画像Wを抽出する場合の画像処理装置41の動作は、図9および図14に示した通りであるので、その説明は省略する。
【0138】
図22は、図19の画像処理装置1により電子透かし画像Wが埋め込まれた対象画像F(対象画像F’)から、電子透かし画像Wを抽出する場合において、対象画像Fが圧縮率60%のJPEG圧縮で圧縮されたときの、X軸に示すレベル2の透かしにかけた重みと、Y軸に示すレベル3の透かしにかけた重みを利用したときの破損率を示している。この例では、レベル2の重みを1とし、レベル3の重みを5、またはレベル2の重みを2とし、レベル3の重みを9若しくは10としたときに、最も低い破損率が得られる。
【0139】
なお以上において、対象画像Fへの電子透かし画像Wの埋め込みは、例えばサブバンドLL3の対応係数の平均値と透かしビットとの排他的論理和演算(XOR)の結果得られた変調ビットを、量子化パラメータの強さに応じて埋め込むようにしたが(図3のステップS4乃至ステップS6)、以下に説明するようにして埋め込むことができる。
【0140】
ここで対象画像Fをウェーブレット変換したものを式(2)で表すものとする。式(2)中、kは式(3)で表され、lは、レベルであり、(m,n)は、画素の位置(座標)を表す。
【数2】
JP0004834844B2_000003t.gif
【数3】
JP0004834844B2_000004t.gif

【0141】
電子透かし画像Wの埋め込みは、例えば式(4)で定義される量子化関数Qを用いてfl,k(m,n)(式(2))が2進値されて写像されることによって行われるが、ここで説明する埋め込みは、埋め込み後のfl,k(m,n)が式(5)で表す区間の中央値となるようにするものである。
【数4】
JP0004834844B2_000005t.gif
【数5】
JP0004834844B2_000006t.gif

【0142】
なお式(4)中、Δは、量子化パラメータである。電子透かし画像Wのi番目のピクセルを式(6)で表す。
【数6】
JP0004834844B2_000007t.gif

【0143】
例えば量子化関数Qについて(式(4))、式(7)が成立するとき、次の規則を用いて、式(5)を満たすfl,k(m,n)がその区間の中央に変更される。
【数7】
JP0004834844B2_000008t.gif

【0144】
具体的には、式(8)が成立するときは、fl,k(m,n)は、式(9)により求められる。
【数8】
JP0004834844B2_000009t.gif
【数9】
JP0004834844B2_000010t.gif

【0145】
なおこの規則に基づくfl,k(m,n)の変更を、模式的に表すと図23に示すようになる。
【0146】
また式(10)が成立するときは、fl,k(m,n)は、式(11)により求められる。
【数10】
JP0004834844B2_000011t.gif
【数11】
JP0004834844B2_000012t.gif

【0147】
また量子化関数Qについて(式(4))、式(12)が成立するときは、次の規則を用いて、式(13)が成立するように、fl,k(m,n)が変更される。
【数12】
JP0004834844B2_000013t.gif
【数13】
JP0004834844B2_000014t.gif

【0148】
具体的には、式(14)が成立するときは、fl,k(m,n)は、式(15)により求められる。
【数14】
JP0004834844B2_000015t.gif
【数15】
JP0004834844B2_000016t.gif

【0149】
また式(16)が成立するときは、fl,k(m,n)は、式(17)により求められる。
【数16】
JP0004834844B2_000017t.gif
【数17】
JP0004834844B2_000018t.gif

【0150】
この規則に基づく場合において、fl,k(m,n)>0であるときのfl,k(m,n)の変更を、模式的に表すと図24Aおよび図24Bに示すようになる。なお図24Aは、式(18)が、図24Bは、式(19)が成り立つ場合のものである。
【数18】
JP0004834844B2_000019t.gif
【数19】
JP0004834844B2_000020t.gif

【0151】
このように、埋め込み後のfl,k(m,n)(式(2))が式(5)で表す区間の中央値となるように、電子透かし画像Wを対象画像Fに埋め込むようにすることにより、電子透かし画像Wが埋め込まれることによる対象画像Fの画質への影響を小さくすることができるとともに、圧縮などの攻撃に対しても強いものとすることができる。
【0152】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0153】
図23は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
【0154】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図23に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に格納されるROM202や、記憶部208を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0155】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0156】
また、画像処理装置1および画像処理装置41は、例えばパーソナルコンピュータにより一体的に構成するようにしてもよいし、画像処理装置1をデジタルカメラに実装し、画像処理装置41をパーソナルコンピュータに実装する等別々に構成するようにしてもよい。なお、特に画像処理装置1をデジタルカメラに実装する場合、電子透かし情報の埋め込み処理の高速化が要請されるため、この観点からは、電子透かし画像の同一画素を複数個埋め込むことなく、単にウェーブレット変換と電子透かし情報の埋め込みとを並列に処理するようにすればよい。
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18A】
17
【図18B】
18
【図19】
19
【図20】
20
【図21】
21
【図22】
22
【図23】
23
【図24A】
24
【図24B】
25
【図25】
26