(57)【要約】【課題】切取耐性の向上と画質劣化の抑制を同時に実現することができるようにする。【解決手段】電子透かしビットとして０を埋め込む場合、関数値ｆｖと０代表値ＫＶ０の差分Δ０が閾値Ｔｈ以上であれば、その差分Δ０が閾値Ｔｈ未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして１を埋め込む場合、関数値ｆｖと１代表値ＫＶ１の差分Δ１が閾値Ｔｈ以上であれば、その差分Δ１が閾値Ｔｈ未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。【選択図】図１
2011250145.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット０を表す代表の値を０代表値、ビット１を表す代表の値を１代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、電子透かしビットとして０を埋め込む場合、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された０代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして１を埋め込む場合、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された１代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記入力画像を構成している各画素の画素値を編集する処理を実施するビット埋込手段とを備えた電子透かし埋込装置。
【請求項２】
入力画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、上記劣化度を示す数値を出力する画質劣化度算出手段を設け、
ビット埋込手段は、関数値算出手段により得られる関数値と代表値設定手段により設定された代表値の差分が閾値以上であっても、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表している場合に限りビット埋込処理を実施し、上記画質劣化度算出手段から出力された数値が許容範囲を超える劣化を表していれば、ビット埋込処理を実施しないことを特徴とする請求項１記載の電子透かし埋込装置。
【請求項３】
入力画像を分割して、１つ以上の局所的な領域の画像である部分画像を得る画像分割手段と、上記画像分割手段により得られた１つ以上の部分画像の中から、電子透かしビットを埋め込む部分画像を順次選択する部分画像選択手段と、上記部分画像選択手段により選択された部分画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット０を表す代表の値を０代表値、ビット１を表す代表の値を１代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、上記部分画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、上記劣化度を示す数値を出力する画質劣化度算出手段と、電子透かしビットとして０を埋め込む場合、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表しており、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された０代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記部分画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして１を埋め込む場合、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表しており、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定された１代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記部分画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、上記画質劣化度算出手段から出力された数値が許容範囲内の劣化を表しており、上記関数値算出手段により得られる関数値と上記代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、上記差分が上記閾値未満になるように上記部分画像を構成している各画素の画素値を編集する処理を実施するビット埋込手段と、上記ビット埋込手段によるビット埋込処理が完了している全ての部分画像を結合する画像結合手段とを備えた電子透かし埋込装置。
【請求項４】
画質劣化度算出手段から出力された数値が許容範囲を超える劣化を表す場合に、関数値算出手段により得られる関数値がヌル代表値に近づくように、上記画質劣化度算出手段により演算が実行される関数と上記関数値算出手段により演算が実行される関数が定義されていることを特徴とする請求項２または請求項３記載の電子透かし埋込装置。
【請求項５】
電子透かしデータから埋込対象の電子透かしビットを抽出し、上記電子透かしビットをビット埋込手段に出力する電子透かしビット抽出手段を設けたことを特徴とする請求項１から請求項４のうちのいずれか１項記載の電子透かし埋込装置。
【請求項６】
電子透かしデータが埋め込まれている入力画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット０を表す代表の値を０代表値、ビット１を表す代表の値を１代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、上記代表値設定手段により設定されている０代表値、１代表値及びヌル代表値の中で、上記関数値算出手段により得られる関数値と最も近い代表値を選択し、上記代表値が０代表値であれば、電子透かしビットとしてビット０が埋め込まれている旨を示す検出結果を出力し、上記代表値が１代表値であれば、電子透かしビットとしてビット１が埋め込まれている旨を示す検出結果を出力し、上記代表値がヌル代表値であれば、電子透かしビットが埋め込まれていない旨を示す検出結果を出力する電子透かしビット検出手段とを備えた電子透かし検出装置。
【請求項７】
電子透かしデータが埋め込まれている入力画像を分割して、１つ以上の局所的な領域の画像である部分画像を得る画像分割手段と、上記画像分割手段により得られた１つ以上の部分画像の中から、電子透かしビットを検出する部分画像を順次選択する部分画像選択手段と、上記部分画像選択手段により選択された部分画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値を得る関数値算出手段と、上記関数値が取り得る値の中で、ビット０を表す代表の値を０代表値、ビット１を表す代表の値を１代表値及びヌルを表す代表の値をヌル代表値として設定する代表値設定手段と、上記代表値設定手段により設定されている０代表値、１代表値及びヌル代表値の中で、上記関数値算出手段により得られる関数値と最も近い代表値を選択し、上記代表値が０代表値であれば、電子透かしビットとしてビット０が埋め込まれている旨を示す検出結果を出力し、上記代表値が１代表値であれば、電子透かしビットとしてビット１が埋め込まれている旨を示す検出結果を出力し、上記代表値がヌル代表値であれば、電子透かしビットが埋め込まれていない旨を示す検出結果を出力する電子透かしビット検出手段と、上記電子透かしビット検出手段から出力された全ての部分画像に係る検出結果を集計し、上記検出結果の集計結果から電子透かしデータを生成する電子透かしデータ生成手段とを備えた電子透かし検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、ノイズ混入や画像圧縮に対して、強い耐性を有する電子透かしを画像に埋め込む電子透かし埋込装置と、その電子透かし埋込装置により埋め込まれている電子透かしを検出する電子透かし検出装置とに関するものである。
【背景技術】
【０００２】
例えば、以下の特許文献１には、ノイズ混入や画像圧縮に対して、強い耐性を有する電子透かしを画像に埋め込む電子透かし埋込装置が開示されている。
この電子透かし埋込装置では、元画像を構成している画素の部分集合に対して、電子透かしデータを構成している各ビットを割り当てるように構成している。
そして、等間隔に配置されているビット０を表す代表値とビット１を表す代表値のなかで埋め込むビットを表す代表値のうち、当該部分集合を構成している画素群の画素値から算出される関数値と近い方の代表値を選択し、その関数値が当該代表値と一致するように、当該部分集合を構成している画素群の画素値を編集することで電子透かしの埋め込みを行う。
なお、部分集合を構成している画素群の中から、画像特性上、画素値の編集が画質に与える影響が少ないと認められる画素を選択して編集することで、画質の劣化を抑制している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２７１０１８号（段落番号［００１２］）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の電子透かし埋込装置は以上のように構成されているので、あるビットに対応する画素集合を局所的な領域に設ければ、電子透かしデータを構成しているＮ個のビットのうち、一部のビットが切り取られても、切取を免れたビットを検出すれば、誤り訂正符号などの技術によって、電子透かしデータを構成しているＮ個のビットの復元が可能になる場合があるが、その局所的な領域が、画像特性上、画素値の編集が画質に与える影響が大きいと認められる場合には、画質が大幅に劣化することになる。一方、あるビットに対応する画素集合を画像全体に散在させれば、切取を免れるビットが大幅に減るため、電子透かしデータの検出が困難になる。このため、画像の一部が切り取られても、電子透かしデータの検出が可能となる特性（切取耐性）の向上と画質劣化の抑制を両立することができない課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、切取耐性の向上と画質劣化の抑制を同時に実現することができる電子透かし埋込装置を得ることを目的とする。
また、この発明は、上記の電子透かし埋込装置により埋め込まれている電子透かしを検出することができる電子透かし検出装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る電子透かし埋込装置は、ビット埋込手段が、電子透かしビットとして０を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された０代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして１を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された１代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、関数値算出手段により得られる関数値と代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集する処理を実施するようにしたものである。
【発明の効果】
【０００７】
この発明によれば、ビット埋込手段が、電子透かしビットとして０を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された０代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして１を埋め込む場合、関数値算出手段により得られる関数値と代表値設定手段により設定された１代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、関数値算出手段により得られる関数値と代表値設定手段により設定されたヌル代表値の差分が閾値以上であれば、その差分が閾値未満になるように入力画像を構成している各画素の画素値を編集する処理を実施するように構成したので、切取耐性の向上と画質劣化の抑制を同時に実現することができる効果がある。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１による電子透かし埋込装置を示す構成図である。
【図２】この発明の実施の形態１による電子透かし埋込装置の処理内容を示すフローチャートである。
【図３】入力画像、データ埋込対象画像及びビット埋込対象画像と、関数値算出部３により画素値が加算・減算される領域とを示す説明図である。
【図４】０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌの設定例を示す説明図である。
【図５】この発明の実施の形態２による電子透かし検出装置を示す構成図である。
【図６】この発明の実施の形態２による電子透かし検出装置の処理内容を示すフローチャートである。
【図７】電子透かし検出装置の入力画像の生成例を示す説明図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１はこの発明の実施の形態１による電子透かし埋込装置を示す構成図である。
図１において、データ埋込対象画像抽出部１は非圧縮輝度画像である入力画像を分割して、１つ以上の局所的な領域の画像（入力画像の部分画像）を取得し、１つ以上の部分画像の中から、電子透かしデータを埋め込む部分画像（以下、「データ埋込対象画像」と称する）を順番に選択して、そのデータ埋込対象画像をビット埋込対象画像抽出部２に出力する処理を実施する。
【００１０】
ビット埋込対象画像抽出部２はデータ埋込対象画像抽出部１から出力されたデータ埋込対象画像を分割して、１つ以上の局所的な領域の画像（データ埋込対象画像の部分画像）を取得し、１つ以上の部分画像の中から、電子透かしビットを埋め込む部分画像（以下、「ビット埋込対象画像」と称する）を順番に選択して、そのビット埋込対象画像を関数値算出部３、画質劣化度評価部５及びビット埋込部７に出力する処理を実施する。
なお、データ埋込対象画像抽出部１及びビット埋込対象画像抽出部２から画像分割手段が構成されており、また、データ埋込対象画像抽出部１及びビット埋込対象画像抽出部２から部分画像選択手段が構成されている。
【００１１】
関数値算出部３はビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値ｆｖを得る処理を実施する。なお、関数値算出部３は関数値算出手段を構成している。
代表値設定部４は関数値算出部３により演算が実行される関数の関数値ｆｖが取り得る値の中で、ビット０を表す代表の値が０代表値ＫＶ０（例えば、ＫＶ０＝−７５０，−２５０，５００，１０００）、ビット１を表す代表の値が１代表値ＫＶ１（例えば、ＫＶ１＝−１０００，−５００，２５０，７５０）、ｎｕｌｌ（ヌル）を表す代表の値がｎｕｌｌ代表値ＫＶｎｕｌｌ（例えば、ＫＶｎｕｌｌ＝０）として設定されて、０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌを記憶するメモリを内蔵している。なお、代表値設定部４は代表値設定手段を構成している。
図１の例では、代表値設定部４がビット埋込部７と別個に設けられている例を示しているが、ビット埋込部７が代表値設定部４の機能を内蔵していてもよい。
【００１２】
画質劣化度評価部５はビット埋込部７によりビット埋込対象画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、その画質劣化度を示す数値ｆｄｅｇをビット埋込部７に出力する処理を実施する。なお、画質劣化度評価部５は画質劣化度算出手段を構成している。
ただし、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表す場合に、関数値算出部３により得られる関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌに近づくように、画質劣化度評価部５により演算が実行される関数と、関数値算出部３により演算が実行される関数とが定義されている。
【００１３】
埋込対象ビット抽出部６はデータ埋込対象画像抽出部１から出力されるデータ埋込対象画像に埋め込む例えば４８ビットの電子透かしデータを入力し、その電子透かしデータを構成している各ビットからビット埋込対象画像に埋め込む電子透かしビットを抽出し、その電子透かしビットをビット埋込部７に出力する処理を実施する。なお、埋込対象ビット抽出部６は電子透かしビット抽出手段を構成している。
【００１４】
ビット埋込部７は埋込対象ビット抽出部６から出力された電子透かしビットがビット０である場合、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表しており、関数値算出部３により得られる関数値ｆｖと代表値設定部４のメモリに記憶されている０代表値ＫＶ０の差分Δ０（Δ０＝｜ｆｖ−ＫＶ０｜）が閾値Ｔｈ（例えば、Ｔｈ＝１０）以上であれば、その差分Δ０が閾値Ｔｈ未満になるように、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
また、ビット埋込部７は埋込対象ビット抽出部６から出力された電子透かしビットがビット１である場合、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表しており、関数値算出部３により得られる関数値ｆｖと代表値設定部４のメモリに記憶されている１代表値ＫＶ１の差分Δ１（Δ１＝｜ｆｖ−ＫＶ１｜）が閾値Ｔｈ以上であれば、その差分Δ１が閾値Ｔｈ未満になるように、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
【００１５】
また、ビット埋込部７は埋込対象ビット抽出部６から出力された電子透かしビットを埋め込まない場合、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表しており、関数値算出部３により得られる関数値ｆｖと代表値設定部４のメモリに記憶されているｎｕｌｌ代表値ＫＶｎｕｌｌの差分Δｎｕｌｌ（Δｎｕｌｌ＝｜ｆｖ−ＫＶｎｕｌｌ｜）が閾値Ｔｈ以上であれば、その差分Δｎｕｌｌが閾値Ｔｈ未満になるように、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を編集する処理を実施する。
ただし、ビット埋込部７は画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表していれば、差分Δ０，差分Δ１，差分Δｎｕｌｌが閾値Ｔｈ以上であっても、ビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施しない。なお、ビット埋込部７はビット埋込手段を構成している。
この実施の形態１では、画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表している場合に、ビット０を埋め込むか、ビット１を埋め込むか、または、電子透かしを埋め込まない処理をするものについて示すが、画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表している場合に、必ずビット０または１を埋め込むようにすることもできる。
【００１６】
ビット埋込対象画像結合部８はビット埋込部７によりビット埋込処理が実施された全てのビット埋込対象画像を結合することで、データ埋込対象画像抽出部１から出力されたデータ埋込対象画像に電子透かしデータが埋め込まれている埋込処理後のデータ埋込対象画像を生成する処理を実施する。
データ埋込対象画像結合部９はビット埋込対象画像結合部８により生成された全てのデータ埋込対象画像を結合することで、入力画像に電子透かしデータが埋め込まれている埋込処理後の入力画像を生成する処理を実施する。
なお、ビット埋込対象画像結合部８及びデータ埋込対象画像結合部９から画像結合手段が構成されている。
【００１７】
図１の例では、電子透かし埋込装置の構成要素であるデータ埋込対象画像抽出部１、ビット埋込対象画像抽出部２、関数値算出部３、代表値設定部４、画質劣化度評価部５、埋込対象ビット抽出部６、ビット埋込部７、ビット埋込対象画像結合部８及びデータ埋込対象画像結合部９のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、電子透かし埋込装置がコンピュータで構成される場合、データ埋込対象画像抽出部１、ビット埋込対象画像抽出部２、関数値算出部３、代表値設定部４、画質劣化度評価部５、埋込対象ビット抽出部６、ビット埋込部７、ビット埋込対象画像結合部８及びデータ埋込対象画像結合部９の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
図２はこの発明の実施の形態１による電子透かし埋込装置の処理内容を示すフローチャートである。
【００１８】
次に動作について説明する。
図３は入力画像、データ埋込対象画像及びビット埋込対象画像と、関数値算出部３により画素値が加算・減算される領域とを示す説明図である。
データ埋込対象画像抽出部１は、図３に示すような画像を入力すると、その入力画像を分割して、１つ以上の局所的な領域の画像（入力画像の部分画像）を取得する。
そして、データ埋込対象画像抽出部１は、１つ以上の部分画像の中から、電子透かしデータを埋め込む部分画像を順番に選択し、その部分画像をデータ埋込対象画像として、ビット埋込対象画像抽出部２に出力する（ステップＳＴ１）。
【００１９】
図３に示す入力画像は、横ピクセルがＷｉｎ、縦ピクセルがＨｉｎである。
この実施の形態１では、入力画像の横ピクセルＷｉｎが５００ピクセル、縦ピクセルＨｉｎが３００ピクセルであるとして、その入力画像を横ピクセルＷｄａｔａが１９２ピクセル、縦ピクセルＨｄａｔａが１４４ピクセルの長方形の領域（部分画像）に分割して、その入力画像の左上からラスタースキャン順に１つずつ部分画像を選択するものとする。
【００２０】
図３の例では、横ピクセルＷｄａｔａが１９２ピクセル、縦ピクセルＨｄａｔａが１４４ピクセルの部分画像が４個生成され、入力画像の右辺に接する位置に存在している横ピクセルＷｄａｔａが１１６ピクセル、縦ピクセルＨｄａｔａが１４４ピクセルの部分画像が２個生成される。
また、入力画像の下辺に接する位置に存在している横ピクセルＷｄａｔａが１９２ピクセル、縦ピクセルＨｄａｔａが１２ピクセルの部分画像が２個生成され、入力画像の右下の位置に存在している横ピクセルＷｄａｔａが１１６ピクセル、縦ピクセルＨｄａｔａが１２ピクセルの部分画像が１個生成される。
これにより、合計９個の部分画像が生成され、入力画像の左上の位置に存在している部分画像が最初にデータ埋込対象画像として選択され、残りの８個の部分画像がラスタースキャン順にデータ埋込対象画像として順次選択される。
【００２１】
ビット埋込対象画像抽出部２は、データ埋込対象画像抽出部１から図３に示すようなデータ埋込対象画像を受けると、そのデータ埋込対象画像を分割して、１つ以上の局所的な領域の画像（データ埋込対象画像の部分画像）を取得する。
そして、ビット埋込対象画像抽出部２は、１つ以上の部分画像の中から、電子透かしビットを埋め込む部分画像を順番に選択し、その部分画像をビット埋込対象画像として、関数値算出部３、画質劣化度評価部５及びビット埋込部７に出力する（ステップＳＴ２）。
【００２２】
図３の例では、データ埋込対象画像を横ピクセルＷｂｉｔが２４ピクセル、縦ピクセルＨｂｉｔが２４ピクセルの正方形の領域に分割することで、横ピクセルＷｂｉｔが最大２４ピクセル、縦ピクセルＨｂｉｔが最大２４ピクセルの部分画像が最大４８個生成される。
データ埋込対象画像の左上の位置に存在している部分画像が最初にビット埋込対象画像として選択され、残りの部分画像がラスタースキャン順にビット埋込対象画像として順次選択される。
【００２３】
埋込対象ビット抽出部６は、データ埋込対象画像抽出部１から出力されるデータ埋込対象画像に埋め込む４８ビットの電子透かしデータを入力すると、その電子透かしデータを構成している各ビットからビット埋込対象画像に埋め込む電子透かしビットを抽出し、その電子透かしビットをビット埋込部７に出力する（ステップＳＴ３）。
図３の例では、データ埋込対象画像に含まれている各ビット埋込対象画像は、データ埋込対象画像の左端から、横方向に第２４ｘ＋１ピクセル〜第２４ｘ＋２４ピクセル（０≦ｘ≦７）の位置に存在しており、かつ、データ埋込対象画像の上端から、縦方向に第２４ｙ＋１ピクセル〜第２４ｙ＋２４ピクセル（０≦ｙ≦５）の位置に存在している。
【００２４】
このため、例えば、データ埋込対象画像に含まれている各ビット埋込対象画像に埋め込む電子透かしビットを、電子透かしデータの第ｘ＋８ｙ＋１ビットとすると、例えば、横方向に第１ピクセル〜第２４ピクセル（ｘ＝０）の位置に存在し、かつ、縦方向に第１ピクセル〜第２４ピクセル（ｙ＝０）の位置に存在しているビット埋込対象画像には、電子透かしデータの第１ビット（＝０＋８×０＋１）を割り当てることになる。
また、例えば、横方向に第４９ピクセル〜第７２ピクセル（ｘ＝２）の位置に存在し、かつ、縦方向に第７３ピクセル〜第９６ピクセル（ｙ＝３）の位置に存在しているビット埋込対象画像には、電子透かしデータの第２７（＝２＋８×３＋１）ビットを割り当てることになる。
【００２５】
関数値算出部３は、ビット埋込対象画像抽出部２がビット埋込対象画像を選択すると、そのビット埋込対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値ｆｖを算出し、その関数値ｆｖをビット埋込部７に出力する（ステップＳＴ４）。
図３の例では、ビット埋込対象画像を構成している画素のうち、濃い灰色で示している画素が集まっている領域を加算対象領域、薄い灰色で示している画素が集まっている領域を減算対象領域とし、その加算対象領域内の全ての画素の画素値を加算する一方、その減算対象領域内の全ての画素の画素値を減算することで、関数値ｆｖを算出している。
【００２６】
即ち、ビット埋込対象画像の左から第ｘピクセル（１≦ｘ≦２４）、上から第ｙピクセル（１≦ｙ≦２４）の画素値をｆｂｉｔ（ｘ，ｙ）とすると、関数値ｆｖは、下記の式（１）のように算出される。
ｆｖ
＝ｇ（  １，１３）＋ｇ（  ３，  １）＋ｇ（  ４，２０）＋ｇ（  ７，  ７）
＋ｇ（  ８，１２）＋ｇ（１６，２１）＋ｇ（１７，  ９）＋ｇ（１７，１６）
＋ｇ（２０，  ２）＋ｇ（２１，２１）
−ｇ（  １，  ９）−ｇ（  ３，  ５）−ｇ（  ８，１６）−ｇ（  ８，２０）
−ｇ（１１，  ７）−ｇ（１２，２１）−ｇ（１３，１６）−ｇ（１６，  ２）
−ｇ（２１，  ９）−ｇ（２１，１７）
（１）
【００２７】
式（１）のｆｖにおけるｇ（ｘ，ｙ）は、下記の式（２）または式（３）のように表される。
ｇ（ｘ，ｙ）
＝ｆｂｉｔ（    ｘ，    ｙ）＋ｆｂｉｔ（    ｘ，ｙ＋１）
＋ｆｂｉｔ（    ｘ，ｙ＋２）＋ｆｂｉｔ（    ｘ，ｙ＋３）
＋ｆｂｉｔ（ｘ＋１，    ｙ）＋ｆｂｉｔ（ｘ＋１，ｙ＋１）
＋ｆｂｉｔ（ｘ＋１，ｙ＋２）＋ｆｂｉｔ（ｘ＋１，ｙ＋３）
＋ｆｂｉｔ（ｘ＋２，    ｙ）＋ｆｂｉｔ（ｘ＋２，ｙ＋１）
＋ｆｂｉｔ（ｘ＋２，ｙ＋２）＋ｆｂｉｔ（ｘ＋２，ｙ＋３）
＋ｆｂｉｔ（ｘ＋３，    ｙ）＋ｆｂｉｔ（ｘ＋３，ｙ＋１）
＋ｆｂｉｔ（ｘ＋３，ｙ＋２）＋ｆｂｉｔ（ｘ＋３，ｙ＋３）              （２）
【００２８】
ｇ（ｘ，ｙ）
＝（ｆｂｉｔ（    ｘ，    ｙ）＋ｆｂｉｔ（    ｘ，ｙ＋１）
＋ｆｂｉｔ（    ｘ，ｙ＋２）＋ｆｂｉｔ（    ｘ，ｙ＋３）
＋ｆｂｉｔ（ｘ＋１，    ｙ）＋ｆｂｉｔ（ｘ＋１，ｙ＋１）
＋ｆｂｉｔ（ｘ＋１，ｙ＋２）＋ｆｂｉｔ（ｘ＋１，ｙ＋３）
＋ｆｂｉｔ（ｘ＋２，    ｙ）＋ｆｂｉｔ（ｘ＋２，ｙ＋１）
＋ｆｂｉｔ（ｘ＋２，ｙ＋２）＋ｆｂｉｔ（ｘ＋２，ｙ＋３）
＋ｆｂｉｔ（ｘ＋３，    ｙ）＋ｆｂｉｔ（ｘ＋３，ｙ＋１）
＋ｆｂｉｔ（ｘ＋３，ｙ＋２）＋ｆｂｉｔ（ｘ＋３，ｙ＋３））／１６    （３）
【００２９】
ただし、ビット埋込対象画像の横サイズ又は縦サイズが２４未満であるために、存在しない画素がある場合、そのような画素の画素値ｆｂｉｔ（ｘ，ｙ）を“０”として、式（１）を適用するものとする。
【００３０】
関数値算出部３では、上述したように、ビット埋込対象画像を構成している各画素の画素値を加減算する関数の演算を実行するが、その関数の関数値ｆｖが取り得る値の範囲は有限であり、その関数の関数値ｆｖが取り得る値の中で、ビット０を表す代表の値が０代表値ＫＶ０、ビット１を表す代表の値が１代表値ＫＶ１、ｎｕｌｌ（ヌル）を表す代表の値がｎｕｌｌ代表値ＫＶｎｕｌｌとして、予め、代表値設定部４に設定されている。
図４は０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌの設定例を示す説明図である。
図４の例では、０代表値ＫＶ０が“−７５０”，“−２５０”，“５００”，“１０００”、１代表値ＫＶ１が“−１０００”，“−５００”，“２５０”，“７５０”、ｎｕｌｌ代表値ＫＶｎｕｌｌが“０”に設定されている。
【００３１】
画質劣化度評価部５は、ビット埋込対象画像抽出部２がビット埋込対象画像を選択すると、後述するビット埋込部７によりビット埋込対象画像を構成している各画素の画素値が編集された場合に生じる画質の劣化度を数値化する関数の演算を実行して、その画質劣化度を示す数値ｆｄｅｇを算出し、その画質劣化度を示す数値ｆｄｅｇをビット埋込部７に出力する（ステップＳＴ５）。
例えば、ビット埋込対象画像の左から第ｘピクセル（１≦ｘ≦２４）、上から第ｙピクセル（１≦ｙ≦２４）の画素値をｆｂｉｔ（ｘ，ｙ）とすると、画質劣化度を示す数値ｆｄｅｇは、下記の式（４）のように算出される。
ｆｄｅｇ
＝Σｘ∈［１，６］Σｙ∈［１，６］｜ｆｂｉｔ（４ｘ，４ｙ）−ｆｂｉｔ（４ｘ−２，４ｙ−２）｜
（４）
ただし、ビット埋込対象画像の横サイズ又は縦サイズが２４未満であるために、存在しない画素がある場合、そのような画素の画素値ｆｂｉｔ（ｘ，ｙ）を“０”として、式（４）を適用するものとする。
【００３２】
式（４）のように画質劣化度を示す数値ｆｄｅｇを算出すると、ビット埋込対象画像内で画素値の変化が激しい場合には、画質劣化度を示す数値ｆｄｅｇが大きくなり、画素値の変化が緩やかな場合には、画質劣化度を示す数値ｆｄｅｇが小さくなる。
一般に、単調な画像は画素値を編集した際の画質劣化が目立ち易いことが知られており、式（４）のように画質劣化度を示す数値ｆｄｅｇを定義すると、画質劣化度を示す数値ｆｄｅｇが小さい程、画質劣化が目立ち易いことを意味する。
ただし、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表す場合に、関数値算出部３により得られる関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌに近づくように（ｆｖ≒ＫＶｎｕｌｌ＝０）、画質劣化度評価部５により演算が実行される関数と、関数値算出部３により演算が実行される関数とが定義されている。
例えば、画質劣化度を示す数値ｆｄｅｇは、画素値のバリエーションが小さいビット埋込対象画像の場合に小さな値となるように定義されている。
【００３３】
ビット埋込部７は、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表していれば（数値ｆｄｅｇが予め設定されている閾値Ｓ以上の場合）、電子透かしビットをビット埋込対象画像に埋め込んでも、大きな画質劣化がないと判断し、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像に対して、埋込対象ビット抽出部６から出力された電子透かしビットを埋め込むビット埋込処理を実施する（ステップＳＴ６）。
一方、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表していれば（数値ｆｄｅｇが予め設定されている閾値Ｓに満たない場合）、電子透かしビットをビット埋込対象画像に埋め込むと、大きな画質劣化が生じると判断し、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像に対する電子透かしビットのビット埋込処理を実施せずに、そのビット埋込対象画像をそのままビット埋込処理後のビット埋込対象画像として、ビット埋込対象画像結合部８に出力する。
なお、閾値Ｓは、画質劣化を許容する程度に応じて、ユーザが任意に設定することができるものとする。
【００３４】
以下、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲内の劣化を表している場合のビット埋込部７の具体的なビット埋込処理を説明する。
（１）埋込対象ビット抽出部６から出力された電子透かしビットがビット０である場合
ビット埋込部７は、下記の式（５）に示すように、関数値算出部３により得られる関数値ｆｖと代表値設定部４のメモリに記憶されている０代表値ＫＶ０の差分Δ０を算出する。
Δ０＝｜ｆｖ−ＫＶ０｜                                        （５）
ただし、０代表値ＫＶ０は、図４に示すように、複数個設定されているので（例えば、−７５０，−２５０，５００，１０００）、複数個の０代表値ＫＶ０の中から、関数値ｆｖに最も近い０代表値ＫＶ０を選択して、式（５）を算出する。
例えば、関数値ｆｖが“７４０”であれば、“５００”の０代表値ＫＶ０を選択し、関数値ｆｖが“７６０”であれば、“１０００”の０代表値ＫＶ０を選択して、式（５）を算出する。
【００３５】
ビット埋込部７は、式（５）を算出すると、差分Δ０と予め設定されている閾値Ｔｈ（例えば、Ｔｈ＝１０）を比較し、その差分Δ０が閾値Ｔｈ以上であれば（Δ０≧Ｔｈ）、その差分Δ０が閾値Ｔｈ未満になるように、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
例えば、“５００”の０代表値ＫＶ０を選択していれば、関数値ｆｖが“５００”になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。あるいは、閾値Ｔｈが“１０”であれば、関数値ｆｖが、４９０＜ｆｖ＜５１０の範囲内になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。
なお、その差分Δ０が閾値Ｔｈ未満であれば（Δ０＜Ｔｈ）、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、後述する電子透かし検出装置において、当該ビット埋込対象画像からビット０の電子透かしビットを正確に検出することができるので、ビット埋込対象画像を構成している各画素の画素値を編集しない。
ここでは、差分Δ０が閾値Ｔｈ未満であれば（Δ０＜Ｔｈ）、ビット埋込対象画像を構成している各画素の画素値を編集しない例を示しているが、差分Δ０が閾値Ｔｈ未満であっても、なるべく関数値ｆｖが０代表値ＫＶ０に近くなるように画素値を編集するように実装することも可能である。
【００３６】
（２）埋込対象ビット抽出部６から出力された電子透かしビットがビット１である場合
ビット埋込部７は、下記の式（６）に示すように、関数値算出部３により得られる関数値ｆｖと代表値設定部４のメモリに記憶されている１代表値ＫＶ１の差分Δ１を算出する。
Δ１＝｜ｆｖ−ＫＶ１｜                                        （６）
ただし、１代表値ＫＶ１は、図４に示すように、複数個設定されているので（例えば、−１０００，−５００，２５０，７５０）、複数個の１代表値ＫＶ１の中から、関数値ｆｖに最も近い１代表値ＫＶ１を選択して、式（６）を算出する。
例えば、関数値ｆｖが“５１０”であれば、“７５０”の１代表値ＫＶ１を選択し、関数値ｆｖが“４９０”であれば、“２５０”の１代表値ＫＶ１を選択して、式（６）を算出する。
【００３７】
ビット埋込部７は、式（６）を算出すると、差分Δ１と予め設定されている閾値Ｔｈ（例えば、Ｔｈ＝１０）を比較し、その差分Δ１が閾値Ｔｈ以上であれば（Δ１≧Ｔｈ）、その差分Δ１が閾値Ｔｈ未満になるように、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施する。
例えば、関数値ｆｖが“３２０”であれば、その関数値ｆｖが“２５０”になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。あるいは、閾値Ｔｈが“１０”であれば、関数値ｆｖが、２４０＜ｆｖ＜２６０の範囲内になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。
【００３８】
ただし、電子透かしビットがビット１である場合、ビット埋込対象画像を構成している各画素の画素値を編集する際、関数値ｆｖに影響を与える画素（ビット埋込対象画像内の濃い灰色で示されている画素（加算対象領域内の画素）、または、薄い灰色で示されている画素（減算対象領域内の画素））を編集する。
例えば、関数値ｆｖに影響を与える画素のうち、左上の画素から順番に画素値を１ずつ増減させる編集を行う。
即ち、関数値ｆｖを増加することによって１代表値ＫＶ１に近付ける場合、濃い灰色で示されている画素（加算対象領域内の画素）の画素値を１加算して、薄い灰色で示されている画素（減算対象領域内の画素）の画素値を１減算する処理を繰り返し実施する。
一方、関数値ｆｖを減少することによって１代表値ＫＶ１に近付ける場合、濃い灰色で示されている画素の画素値を１減算して、薄い灰色で示されている画素の画素値を１加算する処理を繰り返し実施する。
【００３９】
なお、その差分Δ１が閾値Ｔｈ未満であれば（Δ１＜Ｔｈ）、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、後述する電子透かし検出装置において、当該ビット埋込対象画像からビット１の電子透かしビットを正確に検出することができるので、ビット埋込対象画像を構成している各画素の画素値を編集しない。
ここでは、差分Δ１が閾値Ｔｈ未満であれば（Δ１＜Ｔｈ）、ビット埋込対象画像を構成している各画素の画素値を編集しない例を示しているが、差分Δ１が閾値Ｔｈ未満であっても、なるべく関数値ｆｖが１代表値ＫＶ１に近くなるように画素値を編集するように実装することも可能である。
【００４０】
（３）埋込対象ビット抽出部６から出力された電子透かしビットを埋め込まない場合
ビット埋込部７は、下記の式（７）に示すように、関数値算出部３により得られる関数値ｆｖと代表値設定部４のメモリに記憶されているｎｕｌｌ代表値ＫＶｎｕｌｌの差分Δｎｕｌｌを算出する。
Δｎｕｌｌ＝｜ｆｖ−ＫＶｎｕｌｌ｜                                （７）
ビット埋込部７は、式（７）を算出すると、差分Δｎｕｌｌと予め設定されている閾値Ｔｈ（例えば、Ｔｈ＝１０）を比較し、その差分Δｎｕｌｌが閾値Ｔｈ以上であれば（Δｎｕｌｌ≧Ｔｈ）、その差分Δｎｕｌｌが閾値Ｔｈ未満になるように、ビット埋込対象画像抽出部２により選択されたビット埋込対象画像を構成している各画素の画素値を編集する処理を実施する。
【００４１】
例えば、関数値ｆｖが“８０”であれば、その関数値ｆｖが“０”になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。あるいは、閾値Ｔｈが“１０”であれば、関数値ｆｖが、−１０＜ｆｖ＜１０の範囲内になるように、ビット埋込対象画像を構成している各画素の画素値を編集する。
なお、その差分Δｎｕｌｌが閾値Ｔｈ未満であれば（Δｎｕｌｌ＜Ｔｈ）、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、後述する電子透かし検出装置において、当該ビット埋込対象画像からｎｕｌｌを正確に検出することができるので、ビット埋込対象画像を構成している各画素の画素値を編集しない。
【００４２】
ビット埋込部７は、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表していれば（数値ｆｄｅｇが予め設定されている閾値Ｓに満たない場合）、上述したように、ビット埋込対象画像に対する電子透かしビットのビット埋込処理を実施しない。
しかし、ビット埋込部７からビット埋込対象画像結合部８に出力されるビット埋込処理後のビット埋込対象画像において、関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌと一致しているか、あるいは、ｎｕｌｌ代表値ＫＶｎｕｌｌと近い値になっている必要があるが、上述したように、その画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表す場合に、関数値算出部３により得られる関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌに近づくように（ｆｖ≒ＫＶｎｕｌｌ＝０）、画質劣化度評価部５により演算が実行される関数と、関数値算出部３により演算が実行される関数とが定義されているので、その画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表している場合、やはり、ビット埋込処理を実施する必要がない。
【００４３】
なお、あるビット埋込対象画像において、画質劣化度を示す数値ｆｄｅｇが小さい場合（予め設定されている閾値Ｓに満たない場合）、関数値算出部３により得られる関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌに近づく理由は、画質劣化度を示す数値ｆｄｅｇが、画素値のバリエーションが小さいビット埋込対象画像の場合に小さな値となるように定義されており、そのような性質の画像の場合、関数値ｆｖが“０”に近い値を取るからである。
即ち、図３に示すビット埋込対象画像において、関数値ｆｖを算出する際の加算対象領域と減算対象領域が必ず隣接しており、また、加算対象領域内の画素の数と減算対象領域内の画素の数が同数であるため、関数値ｆｖを算出する際に加算対象領域の画素値の総和と、減算対象領域の画素値の総和とが互いに打ち消し合うように作用する。
このため、関数値ｆｖが“０”に近い値になる。極端な例として、画素値が全て同一である完全に単調なビット埋込対象画像では、関数値ｆｖと画質劣化度を示す数値ｆｄｅｇの双方が“０”になることを考えると理解が容易である。
【００４４】
ステップＳＴ２〜ＳＴ６までの処理は、ビット埋込対象画像抽出部２により全てのビット埋込対象画像が選択されて、ビット埋込部７から全てのビット埋込処理後のビット埋込対象画像がビット埋込対象画像結合部８に出力されるまで繰り返し実施される（ステップＳＴ７）。
ビット埋込対象画像結合部８は、ビット埋込部７からビット埋込処理後のビット埋込対象画像を受ける毎に、そのビット埋込対象画像をラスタースキャン順に並べて、全てのビット埋込対象画像を結合することで、データ埋込対象画像抽出部１から出力されたデータ埋込対象画像に電子透かしデータが埋め込まれている埋込処理後のデータ埋込対象画像を生成する（ステップＳＴ８）。
【００４５】
ステップＳＴ１〜ＳＴ８までの処理は、データ埋込対象画像抽出部１により全てのデータ埋込対象画像が選択されて、ビット埋込対象画像結合部８から全ての埋込処理後のデータ埋込対象画像がデータ埋込対象画像結合部９に出力されるまで繰り返し実施される（ステップＳＴ９）。
データ埋込対象画像結合部９は、ビット埋込対象画像結合部８から埋込処理後のデータ埋込対象画像を受ける毎に、そのデータ埋込対象画像をラスタースキャン順に並べて、全てのデータ埋込対象画像を結合することで、入力画像に電子透かしデータが埋め込まれている埋込処理後の入力画像を生成する（ステップＳＴ１０）。
【００４６】
以上で明らかなように、この実施の形態１によれば、ビット埋込部７が、電子透かしビットとして０を埋め込む場合、関数値算出部３により得られる関数値ｆｖと代表値設定部４により設定された０代表値ＫＶ０の差分Δ０が閾値Ｔｈ以上であれば、その差分Δ０が閾値Ｔｈ未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットとして１を埋め込む場合、関数値算出部３により得られる関数値ｆｖと代表値設定部４により設定された１代表値ＫＶ１の差分Δ１が閾値Ｔｈ以上であれば、その差分Δ１が閾値Ｔｈ未満になるようにビット埋込対象画像を構成している各画素の画素値を編集するビット埋込処理を実施し、電子透かしビットを埋め込まない場合、関数値算出部３により得られる関数値ｆｖと代表値設定部４により設定されたｎｕｌｌ代表値ＫＶｎｕｌｌの差分Δｎｕｌｌが閾値Ｔｈ以上であれば、その差分Δｎｕｌｌが閾値Ｔｈ未満になるようにビット埋込対象画像を構成している各画素の画素値を編集する処理を実施するように構成したので、切取耐性の向上と画質劣化の抑制を同時に実現することができる効果を奏する。
【００４７】
即ち、この実施の形態１では、データ埋込対象画像抽出部１が入力画像を等間隔に分割し、横１９２ピクセル、縦１４４ピクセルの部分画像に対して、４８ビットの電子透かしデータを繰返し埋め込んでいる。そのため、仮に電子透かしデータを埋め込んでいる入力画像が切取編集されても、横３８３ピクセル、縦２８７ピクセルの画像が残されていれば、必ず、その画像の中にデータ埋込対象画像の全体が含まれるため、入力画像の全体に電子透かしデータの各ビットを埋め込む従来の電子透かし埋込装置と比べて、埋込処理後の入力画像が切り取られた場合の電子透かしデータの検出可能性（切取耐性）を高めることができる。
【００４８】
また、この実施の形態１では、ビット埋込対象画像抽出部２がデータ埋込対象画像抽出部１により選択されたデータ埋込対象画像を等間隔に分割し、横２４ピクセル、縦２４ピクセルの４８個の部分画像に対して、相互に異なる４８個の電子透かしビットを埋め込んでいる。そのため、仮に電子透かしビットを埋め込んでいる入力画像が切取編集されても、横２１５ピクセル、縦１６７ピクセルの画像が残されていれば、必ず、その画像の中に４８個の異なる電子透かしビットに対応するビット埋込対象画像が含まれるため、入力画像の全体に４８個の電子透かしビットを埋め込む従来の電子透かし埋込装置と比べて、埋込処理後の入力画像が切り取られた場合の電子透かしビットの検出可能性（切取耐性）を高めることができる。
【００４９】
この実施の形態１によれば、埋込対象ビット抽出部６が、４８ビットの電子透かしデータを構成している各ビットから埋込対象の電子透かしビットを抽出し、その電子透かしビットをビット埋込部７に出力するように構成しているので、４８個の電子透かしビットが検出されれば、埋め込んだ電子透かしデータを復元することができる効果を奏する。
即ち、入力画像の全体に電子透かしデータを埋め込む従来の電子透かし埋込装置と比べて、埋込処理後の入力画像が切り取られた場合の電子透かしデータの検出可能性（切取耐性）を高めることができる。
【００５０】
また、この実施の形態１によれば、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表す場合に、関数値算出部３により得られる関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌに近づくように、画質劣化度評価部５により演算が実行される関数と、関数値算出部３により演算が実行される関数とが定義されているように構成したので、即ち、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表すとき、ビット埋込対象画像を構成している各画素の画素値を編集しなくても、関数値ｆｖがｎｕｌｌ代表値ＫＶｎｕｌｌに近い値になる可能性が高い関係が成立するように、画質劣化度評価部５により演算が実行される関数と、関数値算出部３により演算が実行される関数とを定義しているので、ビット埋込対象画像が、画素値を変化させると大きな画質劣化を伴う場合（画質劣化度を示す数値ｆｄｅｇが０に近い値である場合）、ビット埋込対象画像を構成している各画素の画素値を編集せずに、埋込無しの状態を表現することができる。
このため、画素値を編集することによる画質劣化の危険性が高いビット埋込対象画像を一切編集しなくても、後述する電子透かし検出装置側で、そのビット埋込対象画像に電子透かしビットが埋め込まれていない可能性が高いことを判断することができる。よって、画質劣化を抑制した上で、検出への悪影響を抑えることができる。
【００５１】
なお、この実施の形態１では、データ埋込対象画像抽出部１が入力画像を分割して、横１９２ピクセル、縦１４４ピクセルのデータ埋込対象画像を順次選択するものについて示したが、入力画像の分割サイズを変更して、他のサイズのデータ埋込対象画像を順次選択するようにしてもよい。
例えば、横９６ピクセル、縦１４４ピクセルのデータ埋込対象画像を選択するようにしてもよい。
この場合、ビット埋込対象画像抽出部２が選択するビット埋込対象画像のサイズを、例えば、横２４ピクセル、縦１２ピクセルとすれば、１個のデータ埋込対象画像内に４８個のビット埋込対象画像を用意することができるため、４８ビットの電子透かしデータを埋め込むことができる。
【００５２】
また、データ埋込対象画像やビット埋込対象画像のサイズを小さくすることもできる。
データ埋込対象画像のサイズを小さくすると、同一ビットを埋め込む領域の繰り返しが頻繁になるため、埋込処理後の入力画像が小さく切り取られても、電子透かしデータの全ビットを検出できる可能性を高めることができる。
このように、データ埋込対象画像抽出部１は、任意のサイズのデータ埋込対象画像を選択するように構成することが可能である。
【００５３】
また、この実施の形態１では、ビット埋込対象画像抽出部２がデータ埋込対象画像を分割して、横２４ピクセル、縦２４ピクセルのビット埋込対象画像を順次選択するものについて示したが、データ埋込対象画像の分割サイズを変更して、他のサイズのビット埋込対象画像を順次選択するようにしてもよい。
例えば、横１２ピクセル、縦２４ピクセルのビット埋込対象画像を選択するようにしてもよい。
この場合、データ埋込対象画像抽出部１が選択するデータ埋込対象画像が横１９２ピクセル、縦１４４ピクセルである場合、１個のデータ埋込対象画像内に９６個のビット埋込対象画像を用意することができるため、データ埋込対象画像に埋め込む電子透かしデータのビット数を９６ビットにすることができる。
【００５４】
ビット埋込対象画像のサイズを小さくすると、埋め込むことが可能な電子透かしデータのデータ量を増やすことができる。
このように、ビット埋込対象画像抽出部２は、任意のサイズのビット埋込対象画像を選択するように構成することが可能である。
また、電子透かしデータのビット数、データ埋込対象画像のサイズ及びビット埋込対象画像のサイズは、互いに適切に設定すれば、任意とすることができる。
【００５５】
この実施の形態１では、埋込対象ビット抽出部６が、データ埋込対象画像において、横方向に左端から第２４ｘ＋１ピクセル〜第２４ｘ＋２４ピクセルの位置にあり、かつ、縦方向に上端から第２４ｙ＋１ピクセル〜第２４ｙ＋２４ピクセルの位置にあるビット埋込対象画像に対して、電子透かしデータの第ｘ＋８ｙ＋１ビット（０≦ｘ≦７、０≦ｙ≦５）を割り当てるものについて示したが、上記のビット埋込対象画像に対して、電子透かしデータの他のビットを割り当てるようにしてもよい。
【００５６】
例えば、上記のビット埋込対象画像に割り当てる電子透かしデータの各ビットを逆順にしてもよいし、疑似乱数により生成されたマッピングルールに基づいて、電子透かしデータの各ビットを割り当てるようにしてもよい。
あるいは、４８ビットの電子透かしデータを暗号化して、４８ビットの暗号化データを生成し、上記のビット埋込対象画像に対して、暗号化データの各ビットを割り当てるようにしてもよい。
このように、埋込対象ビット抽出部６は、電子透かしデータの各ビットから、埋め込む電子透かしビットを決定して、埋込先のビット埋込対象画像に割り当てるならば、任意の構成とすることができる。
【００５７】
この実施の形態１では、画質劣化度評価部５が、画質の劣化度を数値化する関数として、式（４）を計算することで、画質劣化度を示す数値ｆｄｅｇを算出するものについて示したが、画質の劣化度を数値化する関数であればよく、式（４）以外の計算を行うことで、画質劣化度を示す数値ｆｄｅｇを算出するようにしてもよい。
例えば、ビット埋込対象画像の全画素値の標準偏差を算出する関数を用いることができる。
標準偏差は、画素値が均一に近い場合に“０”に近い正数となり、画素値が様々な値を取る場合に大きな正数になる。したがって、電子透かしビットを埋め込んだときに生じる画質劣化の度合を表す指標として、標準偏差を使用することができる。
画質劣化度を示す数値ｆｄｅｇとして、ビット埋込対象画像の全画素値の標準偏差を算出する場合、その標準偏差が小さい程、画質劣化が目立ち易いことを意味する。
ここでは、画質劣化度を示す数値ｆｄｅｇとして、ビット埋込対象画像の全画素値の標準偏差を算出するものについて示したが、画質劣化度を示す数値ｆｄｅｇが大きい程、画質劣化が目立ち易いことを意味する数式を用いてもよい。
このように、画質劣化度評価部５は、画素値が変更された場合に画質が劣化する度合を推量する任意の数式により、画質劣化度を算出する構成とすることができる。
【００５８】
また、この実施の形態１では、関数値算出部３が、ビット埋込対象画像を構成している各画素の画素値を加減算する関数として、式（１）を計算することで、各画素の画素値の加減算結果を示す関数値ｆｖを算出するものについて示したが、各画素の画素値を加減算する関数であればよく、式（１）以外の計算を行うことで、各画素の画素値の加減算結果を示す関数値ｆｖを算出するようにしてもよい。
ただし、図１の電子透かし埋込装置が有効に機能するためには、画質劣化度評価部５から出力された画質劣化度を示す数値ｆｄｅｇが許容範囲を超える劣化を表していれば、関数値ｆｖが、高い確率で特定の値（特定の値は、必ずしも“０”でなくてもよいし、１種類でなくてもよい）に近い値となる性質を満たす必要がある。
【００５９】
例えば、画質劣化度を示す数値ｆｄｅｇが予め設定されている閾値Ｓに満たない場合、高い確率で“１００”付近、または、“−１００”付近に、関数値ｆｖが集中する特性を持つ関数は、関数値算出部３で使用することが可能である。
この場合、図１の電子透かし埋込装置が有効に機能するためには、代表値設定部４が、ｎｕｌｌ代表値ＫＶｎｕｌｌを“１００”と“−１００”に設定し、“１００”より大きな値、“−１００”より小さな値、“−１００”と“１００”の間の値において、０代表値ＫＶ０と１代表値ＫＶ１との間隔がほぼ均等になるように、０代表値ＫＶ０と１代表値ＫＶ１を設定する必要がある。
このように、ビット埋込部７及び画質劣化度評価部５と連携し、適切に代表値の設定及び画質劣化度を評価する関数の設定がなされるならば、関数値算出部３は、関数値ｆｖを算出するための関数として、任意の数式を用いる構成とすることができる。
【００６０】
この実施の形態１では、データ埋込対象画像抽出部１及びビット埋込対象画像抽出部２が、ラスタースキャン順に部分画像を選択するものについて示したが、部分画像の選択順序は任意の順序でよい。また、複数の部分画像を同時に選択し、後段の処理部が、複数の部分画像について、並列に処理を実行するようにしてもよい。
【００６１】
また、この実施の形態１では、関数値算出部３が関数値ｆｖを算出する際や、画質劣化度評価部５が画質劣化度を示す数値ｆｄｅｇを算出する際に、計算に使用する画素が存在しない場合、その画素の画素値を“０”と評価して算出するものについて示したが、これは、ビット埋込対象画像の横サイズ又は縦サイズが、２４ピクセルの倍数でない場合には、２４ピクセルの倍数になるように、右側又は下側を画素値“０”の画素でパディングすることと等価である。
この場合、ビット埋込対象画像抽出部２から出力されたビット埋込対象画像の右側及び下側を必要に応じてパディングし、ビット埋込部７から出力された埋込処理後のビット埋込対象画像のパディング部分を削除することにより実現される。
【００６２】
これにより、縦横共に２４ピクセルの倍数の場合に用いる関数値算出部３、画質劣化度評価部５及びビット埋込部７を、横サイズ又は縦サイズが２４ピクセルに満たないビット埋込対象画像にも活用することができる。
この他に、横サイズ又は縦サイズが２４ピクセルに満たないビット埋込対象画像は、電子透かしビットの埋込対象から外す実装が考えられる。この場合は、電子透かし検出装置においても、横サイズ又は縦サイズが２４ピクセルに満たないビット埋込対象画像は、電子透かしビットの埋込対象から外す実装とすることで、問題なく検出処理を行うことができる。
【００６３】
また、この実施の形態１では、入力画像が非圧縮輝度画像（非圧縮モノクロ画像）である例を示したが、これに限るものではなく、例えば、入力画像が非圧縮カラー画像であってもよい。
入力画像が非圧縮カラー画像である場合、非圧縮カラー画像がＹＣｂＣｒ形式であれば、Ｙ、Ｃｂ、Ｃｒのうちの１コンポーネントに対して、図１の電子透かし埋込装置を適用すればよい。
また、非圧縮カラー画像がＲＧＢ形式であれば、Ｒ、Ｇ、Ｂのうちの１コンポーネントに対して、図１の電子透かし埋込装置を適用すればよい。
この実施の形態１では、圧縮されている画像（符号化されている画像）に対して、電子透かしデータを埋め込むこともできる。この場合は、一旦、圧縮を解いて（復号）、非圧縮画像（復号画像）にしてから、上記の手続きで、電子透かしデータを埋め込めばよい。
【００６４】
実施の形態２．
図５はこの発明の実施の形態２による電子透かし検出装置を示す構成図である。
図５において、データ検出対象画像抽出部１１は図１のデータ埋込対象画像抽出部１と同様の機能を備えており、図１の電子透かし埋込装置により電子透かしデータが埋め込まれている入力画像を分割して、１つ以上の局所的な領域の画像（入力画像の部分画像）を取得し、１つ以上の部分画像の中から、電子透かしデータを検出する部分画像（以下、「データ検出対象画像」と称する）を順番に選択して、そのデータ検出対象画像をビット検出対象画像抽出部１２に出力する処理を実施する。
【００６５】
ビット検出対象画像抽出部１２は図１のビット埋込対象画像抽出部２と同様の機能を備えており、データ検出対象画像抽出部１１から出力されたデータ検出対象画像を分割して、１つ以上の局所的な領域の画像（データ検出対象画像の部分画像）を取得し、１つ以上の部分画像の中から、電子透かしビットを検出する部分画像（以下、「ビット検出対象画像」と称する）を順番に選択して、そのビット検出対象画像を関数値算出部１３及びビット検出部１５に出力する処理を実施する。
なお、データ検出対象画像抽出部１１及びビット検出対象画像抽出部１２から画像分割手段が構成されており、また、データ検出対象画像抽出部１１及びビット検出対象画像抽出部１２から部分画像選択手段が構成されている。
【００６６】
関数値算出部１３は図１の関数値算出部３と同様の機能を備えており、ビット検出対象画像抽出部１２により選択されたビット検出対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値ｆｖを得る処理を実施する。なお、関数値算出部１３は関数値算出手段を構成している。
【００６７】
代表値設定部１４は図１の代表値設定部４と同様に、関数値算出部１３により演算が実行される関数の関数値ｆｖが取り得る値の中で、ビット０を表す代表の値が０代表値ＫＶ０（例えば、ＫＶ０＝−７５０，−２５０，５００，１０００）、ビット１を表す代表の値が１代表値ＫＶ１（例えば、ＫＶ１＝−１０００，−５００，２５０，７５０）、ｎｕｌｌ（ヌル）を表す代表の値がｎｕｌｌ代表値ＫＶｎｕｌｌ（例えば、ＫＶｎｕｌｌ＝０）として設定されて、０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌを記憶するメモリを内蔵している。なお、代表値設定部１４は代表値設定手段を構成している。
図５の例では、代表値設定部１４がビット検出部１５と別個に設けられている例を示しているが、ビット検出部１５が代表値設定部１４の機能を内蔵していてもよい。
【００６８】
ビット検出部１５は代表値設定部１４により設定されている０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌの中で、関数値算出部１３により得られる関数値ｆｖと最も近い代表値を選択し、その代表値が０代表値ＫＶ０であれば、電子透かしビットとしてビット０が埋め込まれている旨を示す検出結果を電子透かしデータ生成部１６に出力し、その代表値が１代表値ＫＶ１であれば、電子透かしビットとしてビット１が埋め込まれている旨を示す検出結果を電子透かしデータ生成部１６に出力し、その代表値がｎｕｌｌ代表値ＫＶｎｕｌｌであれば、電子透かしビットが埋め込まれていない旨を示す検出結果を電子透かしデータ生成部１６に出力する処理を実施する。なお、ビット検出部１５は電子透かしビット検出手段を構成している。
【００６９】
電子透かしデータ生成部１６はビット検出部１５から出力された全ての部分画像に係る検出結果を集計して、その検出結果の集計結果から電子透かしデータを生成する処理を実施する。なお、電子透かしデータ生成部１６は電子透かしデータ生成手段を構成している。
【００７０】
図５の例では、電子透かし検出装置の構成要素であるデータ検出対象画像抽出部１１、ビット検出対象画像抽出部１２、関数値算出部１３、代表値設定部１４、ビット検出部１５及び電子透かしデータ生成部１６のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、電子透かし検出装置がコンピュータで構成される場合、データ検出対象画像抽出部１１、ビット検出対象画像抽出部１２、関数値算出部１３、代表値設定部１４、ビット検出部１５及び電子透かしデータ生成部１６の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
図６はこの発明の実施の形態２による電子透かし検出装置の処理内容を示すフローチャートである。
【００７１】
次に動作について説明する。
一般的には、入力画像は電子透かしデータが埋め込まれた後に、切取や拡大縮小などの編集がなされている可能性があるが、この実施の形態２の電子透かし検出装置で扱う入力画像は、図１の電子透かし埋込装置により電子透かしデータが埋め込まれた後に、切取や拡大縮小などの編集がなされていない非圧縮輝度画像であるとする。
【００７２】
データ検出対象画像抽出部１１は、図１の電子透かし埋込装置により電子透かしデータが埋め込まれた画像を入力すると、その入力画像を分割して、１つ以上の局所的な領域の画像（入力画像の部分画像）を取得する。
そして、データ検出対象画像抽出部１１は、１つ以上の部分画像の中から、電子透かしデータを検出する部分画像を順番に選択し、その部分画像をデータ検出対象画像として、ビット検出対象画像抽出部１２に出力する（ステップＳＴ２１）。
図３の例では、横ピクセルがＷｉｎ、縦ピクセルがＨｉｎの入力画像を、横ピクセルＷｄａｔａが１９２ピクセル、縦ピクセルＨｄａｔａが１４４ピクセルの長方形の領域（部分画像）に分割して、その入力画像の左上からラスタースキャン順に１つずつ部分画像を選択している。
【００７３】
入力画像の横ピクセルＷｉｎが５００ピクセル、縦ピクセルＨｉｎが３００ピクセルであるとすると、横ピクセルＷｄａｔａが１９２ピクセル、縦ピクセルＨｄａｔａが１４４ピクセルの部分画像が４個生成され、入力画像の右辺に接する位置に存在している横ピクセルＷｄａｔａが１１６ピクセル、縦ピクセルＨｄａｔａが１４４ピクセルの部分画像が２個生成される。
また、入力画像の下辺に接する位置に存在している横ピクセルＷｄａｔａが１９２ピクセル、縦ピクセルＨｄａｔａが１２ピクセルの部分画像が２個生成され、入力画像の右下の位置に存在している横ピクセルＷｄａｔａが１１６ピクセル、縦ピクセルＨｄａｔａが１２ピクセルの部分画像が１個生成される。
これにより、合計９個の部分画像が生成され、入力画像の左上の位置に存在している部分画像が最初にデータ検出対象画像として選択され、残りの８個の部分画像がラスタースキャン順にデータ検出対象画像として順次選択される。
【００７４】
ビット検出対象画像抽出部１２は、データ検出対象画像抽出部１１から図３に示すようなデータ検出対象画像を受けると、そのデータ検出対象画像を分割して、１つ以上の局所的な領域の画像（データ検出対象画像の部分画像）を取得する。
そして、ビット検出対象画像抽出部１２は、１つ以上の部分画像の中から、電子透かしビットを検出する部分画像を順番に選択し、その部分画像をビット検出対象画像として、関数値算出部１３及びビット検出部１５に出力する（ステップＳＴ２２）。
【００７５】
図３の例では、データ検出対象画像を横ピクセルＷｂｉｔが２４ピクセル、縦ピクセルＨｂｉｔが２４ピクセルの正方形の領域に分割することで、横ピクセルＷｂｉｔが最大２４ピクセル、縦ピクセルＨｂｉｔが最大２４ピクセルの部分画像が最大４８個生成される。
データ検出対象画像の左上の位置に存在している部分画像が最初にビット検出対象画像として選択され、残りの部分画像がラスタースキャン順にビット検出対象画像として順次選択される。
【００７６】
関数値算出部１３は、ビット検出対象画像抽出部１２がビット検出対象画像を選択すると、そのビット検出対象画像を構成している各画素の画素値を加減算する関数の演算を実行して、各画素の画素値の加減算結果を示す関数値ｆｖを算出し、その関数値ｆｖをビット検出部１５に出力する（ステップＳＴ２３）。
図３の例では、ビット検出対象画像を構成している画素のうち、濃い灰色で示している画素が集まっている領域を加算対象領域、薄い灰色で示している画素が集まっている領域を減算対象領域とし、その加算対象領域内の全ての画素の画素値を加算する一方、その減算対象領域内の全ての画素の画素値を減算することで、関数値ｆｖを算出している。
【００７７】
即ち、ビット検出対象画像の左から第ｘピクセル（１≦ｘ≦２４）、上から第ｙピクセル（１≦ｙ≦２４）の画素値をｆｂｉｔ（ｘ，ｙ）とすると、関数値ｆｖは、先に示している式（１）のように算出される。
ただし、ビット検出対象画像の横サイズ又は縦サイズが２４未満であるために、存在しない画素がある場合、そのような画素の画素値ｆｂｉｔ（ｘ，ｙ）を“０”として、式（１）を適用するものとする。
【００７８】
関数値算出部１３では、上述したように、ビット検出対象画像を構成している各画素の画素値を加減算する関数の演算を実行するが、その関数の関数値ｆｖが取り得る値の範囲は有限であり、その関数の関数値ｆｖが取り得る値の中で、ビット０を表す代表の値が０代表値ＫＶ０、ビット１を表す代表の値が１代表値ＫＶ１、ｎｕｌｌ（ヌル）を表す代表の値がｎｕｌｌ代表値ＫＶｎｕｌｌとして、予め、代表値設定部１４に設定されている。
図４の例では、０代表値ＫＶ０が“−７５０”，“−２５０”，“５００”，“１０００”、１代表値ＫＶ１が“−１０００”，“−５００”，“２５０”，“７５０”、ｎｕｌｌ代表値ＫＶｎｕｌｌが“０”に設定されている。
なお、代表値設定部１４に設定される０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌは、図１の代表値設定部４に設定される０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌと同一である。
【００７９】
ビット検出部１５は、関数値算出部１３が関数値ｆｖを算出すると、代表値設定部１４により設定されている０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌの中で、その関数値ｆｖと最も近い代表値を選択する。
例えば、関数値ｆｖが“３７６”であれば、０代表値ＫＶ０を選択し、関数値ｆｖが“３７４”であれば、１代表値ＫＶ１を選択する。
また、関数値ｆｖが“−１２６”であれば、０代表値ＫＶ０を選択し、関数値ｆｖが“−１２４”であれば、ｎｕｌｌ代表値ＫＶｎｕｌｌを選択する。
また、関数値ｆｖが“１２６”であれば、１代表値ＫＶ１を選択し、関数値ｆｖが“１２４”であれば、ｎｕｌｌ代表値ＫＶｎｕｌｌを選択する。
【００８０】
なお、関数値ｆｖが０代表値ＫＶ０と１代表値ＫＶ１の丁度中間にある場合（例えば、ｆｖ＝３７５）、関数値ｆｖが０代表値ＫＶ０とｎｕｌｌ代表値ＫＶｎｕｌｌの丁度中間にある場合（例えば、ｆｖ＝−１２５）、関数値ｆｖが１代表値ＫＶ１とｎｕｌｌ代表値ＫＶｎｕｌｌの丁度中間にある場合（例えば、ｆｖ＝１２５）、どちらの代表値を選択するかは、事前に設定されているものとする。
【００８１】
ビット検出部１５は、関数値ｆｖと最も近い代表値を選択すると、その代表値に応じた検出結果を電子透かしデータ生成部１６に出力する（ステップＳＴ２４）。
即ち、ビット検出部１５は、関数値ｆｖと最も近い代表値として、０代表値ＫＶ０を選択すると、電子透かしビットとしてビット０が埋め込まれている旨を示す検出結果として、“０”の検出量を電子透かしデータ生成部１６に出力する。
また、ビット検出部１５は、関数値ｆｖと最も近い代表値として、１代表値ＫＶ１を選択すると、電子透かしビットとしてビット１が埋め込まれている旨を示す検出結果として、“１”の検出量を電子透かしデータ生成部１６に出力する。
ビット検出部１５は、関数値ｆｖと最も近い代表値として、ｎｕｌｌ代表値ＫＶｎｕｌｌを選択すると、電子透かしビットが埋め込まれていない旨を示す検出結果として、“ｎｕｌｌ”の検出量を電子透かしデータ生成部１６に出力する。
【００８２】
なお、図４に示すように、０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌが設定されている場合、関数値ｆｖの数直線上で、各代表値の近傍が、電子透かしビットの検出時に、ビット０、ビット１、ｎｕｌｌを判別する関数値の範囲になる。
これにより、電子透かしビットの埋込後に、一切編集を受けていない画像だけでなく、少量のノイズが付加されて画素値が変化している画像であっても、範囲の境界を超えて関数値ｆｖが大きく変化しない限り正確に検出することができる。
そのため、画像圧縮やデジタル・アナログ変換により加えられるノイズに対して、耐性を持たせることができる。
【００８３】
ステップＳＴ２２〜ＳＴ２４までの処理は、ビット検出対象画像抽出部１２により全てのビット検出対象画像が選択されて、ビット検出部１５から全てのビット検出対象画像に対する電子透かしビットの検出結果が電子透かしデータ生成部１６に出力されるまで繰り返し実施される（ステップＳＴ２５）。
ステップＳＴ２１〜ＳＴ２５までの処理は、データ検出対象画像抽出部１１により全てのデータ検出対象画像が選択されて、ビット検出部１５から全てのデータ検出対象画像に含まれる全てのビット検出対象画像に対する電子透かしビットの検出結果が電子透かしデータ生成部１６に出力されるまで繰り返し実施される（ステップＳＴ２６）。
【００８４】
電子透かしデータ生成部１６は、ビット検出部１５から全てのビット検出対象画像に対する電子透かしビットの検出結果を受けると、全ての検出結果を集計して、その検出結果の集計結果から電子透かしデータを生成する（ステップＳＴ２７）。
具体的には、以下のようにして、電子透かしデータを生成する。
【００８５】
図１の電子透かし埋込装置では、埋込対象ビット抽出部６が、４８ビットの電子透かしデータを構成している各ビットを、データ埋込対象画像内の各ビット埋込対象画像に対して、ラスタースキャン順に配置して埋め込んでいる。
ビット埋込対象画像は、横２４ピクセル、縦２４ピクセルであり、データ埋込対象画像は、横１９２ピクセル、縦１４４ピクセルであるため、図１の電子透かし埋込装置では、入力画像の左端から横方向に第２４ｘ＋１ピクセル〜第２４ｘ＋２４ピクセル（０≦ｘ≦７）の位置に存在し、かつ、入力画像の上端から縦方向に第２４ｙ＋１ピクセル〜第２４ｙ＋２４ピクセル（０≦ｙ≦５）の位置に存在している正方形領域に対して、電子透かしデータの第［（ｘ  ｍｏｄ  ８）＋８（ｙ  ｍｏｄ  ６）＋１］ビットを埋め込んでいる。
【００８６】
このため、電子透かしデータ生成部１６では、電子透かしデータを構成している各ビットにおいて、当該ビットが埋め込まれている位置のビット検出対象画像に係る電子透かしビットの検出結果（検出量＝０、１、ｎｕｌｌのいずれか）のうち、“０”の検出量と、“１”の検出量を集計し、“０”の検出量の数が、“１”の検出量の数より多ければ、当該ビット検出対象画像に埋め込まれている電子透かしビットが、ビット０であると確定する。
一方、“０”の検出量の数が、“１”の検出量の数より多くなければ、当該ビット検出対象画像に埋め込まれている電子透かしビットが、ビット１であると確定する。
電子透かしデータ生成部１６は、上記のようにして、データ埋込対象画像内の全てのビット埋込対象画像に埋め込まれている電子透かしビットを確定すると、最終的な電子透かしビットを連結して電子透かしデータを生成し、その電子透かしデータを出力する。
【００８７】
以上で明らかなように、この実施の形態２によれば、ビット検出部１５が、代表値設定部１４により設定されている０代表値ＫＶ０、１代表値ＫＶ１及びｎｕｌｌ代表値ＫＶｎｕｌｌの中で、関数値算出部１３により得られる関数値ｆｖと最も近い代表値を選択し、その代表値が０代表値ＫＶ０であれば、電子透かしビットとしてビット０が埋め込まれている旨を示す検出結果を電子透かしデータ生成部１６に出力し、その代表値が１代表値ＫＶ１であれば、電子透かしビットとしてビット１が埋め込まれている旨を示す検出結果を電子透かしデータ生成部１６に出力し、その代表値がｎｕｌｌ代表値ＫＶｎｕｌｌであれば、電子透かしビットが埋め込まれていない旨を示す検出結果を電子透かしデータ生成部１６に出力するように構成したので、図１の電子透かし埋込装置により埋め込まれている電子透かしを検出することができる効果を奏する。
【００８８】
即ち、この実施の形態２では、ビット検出部１５が、０ビットが埋め込まれている旨を示す検出結果と、１ビットが埋め込まれている旨を示す検出結果だけでなく、電子透かしビットが埋め込まれていない旨を示す検出結果を出力することができるため、電子透かしビット埋込時に、ビット埋込対象画像が大きな画質劣化を伴わないと電子透かしビットを埋め込むことができないような場合には、画質劣化を容認して、電子透かしビットを埋め込む必要がなくなり（ビット検出部１５が、電子透かしビットが埋め込まれていない旨を示す検出結果を出力することができなければ、画質劣化を容認して、電子透かしビットを埋め込む必要がある）、画質劣化の抑制を図ることができる。
また、ビット検出部１５が、電子透かしビットの検出結果（検出量＝０、１、ｎｕｌｌのいずれか）のうち、“０”の検出量と“１”の検出量を集計して、ビット検出対象画像に埋め込まれている電子透かしビットを最終的に確定しているので、電子透かしの検出性能を向上させることができる。
【００８９】
また、この実施の形態２では、データ検出対象画像抽出部１１が入力画像内で繰り返されるデータ検出対象画像を認識し、また、ビット検出対象画像抽出部１２がそのデータ検出対象画像内に規則的に配置されているビット検出対象画像を認識することで、同一の電子透かしビットが埋め込まれている複数のビット検出対象画像から電子透かしデータを検出することができる。そして、電子透かしデータ生成部１６が複数のビット検出対象画像に係る検出結果を示す検出量を集計することで、最終的な検出結果を推定するので、一部のビット検出対象画像に係る検出結果が誤っていたとしても、他のビット検出対象画像に係る検出結果から、最終的に正しい検出結果が得られる可能性が高まる。
このように、複数のビット検出対象画像に係る検出結果を基にして、正しい検出結果の推定を、電子透かしデータを構成している全てのビットについて実施するので、正しい電子透かしデータが得られる可能性が高まる。
【００９０】
なお、この実施の形態２では、ビット検出部１５が、電子透かしビットの検出結果として、“０”、“１”、“ｎｕｌｌ”のいずれかの検出量を出力し、電子透かしデータ生成部１６が、同一ビットに関する“０”の検出量の数と“１”の検出量の数を集計して、最終的に電子透かしビットを判別するものについて示したが、他の構成も可能である。
例えば、ビット検出部１５が検出量を出力する際、関数値ｆｖと最も近い代表値が０代表値ＫＶ０であれば、“０”の検出量と一緒に、その関数値ｆｖと０代表値ＫＶ０の差Δ０の絶対値を出力する。
また、関数値ｆｖと最も近い代表値が１代表値ＫＶ１であれば、“１”の検出量を出力すると一緒に、その関数値ｆｖと１代表値ＫＶ１の差Δ１の絶対値を出力する。
また、関数値ｆｖと最も近い代表値がｎｕｌｌ代表値ＫＶｎｕｌｌであれば、“ｎｕｌｌ”の検出量と一緒に、その関数値ｆｖとｎｕｌｌ代表値ＫＶｎｕｌｌの差Δｎｕｌｌの絶対値を出力する。
【００９１】
電子透かしデータ生成部１６は、同一ビットに関する検出結果において、ビット検出部１５から“０”の検出量が出力された際に一緒に出力された差Δ０の絶対値の合計と、“１”の検出量が出力された際に一緒に出力された差Δ１の絶対値の合計とを比較する。
電子透かしデータ生成部１６は、差Δ０の絶対値の合計が、差Δ１の絶対値の合計より小さければ、ビット検出対象画像に埋め込まれている電子透かしビットがビット０であると確定する。
一方、差Δ０の絶対値の合計が、差Δ１の絶対値の合計より大きければ、ビット検出対象画像に埋め込まれている電子透かしビットがビット１であると確定する。
この場合、ビット検出部１５から出力される“０”の検出量の数と“１”の検出量の数が同数であっても、代表値に近い関数値ｆｖを示している検出結果を重点的に評価することになるため、検出性能を向上させることができる。
【００９２】
その他の構成として、ビット検出部１５が、関数値算出部１３により算出された関数値ｆｖを検出量として電子透かしデータ生成部１６に出力し、電子透かしデータ生成部１６が関数値ｆｖを評価して電子透かしデータを生成するようにしてもよい。
このように、ビット検出部１５と電子透かしデータ生成部１６は、ビット検出部１５が出力する検出量を電子透かしデータ生成部１６が適切に処理するのであれば、任意の構成とすることができる。
【００９３】
この実施の形態２では、データ検出対象画像抽出部１１、ビット検出対象画像抽出部１２及び関数値算出部１３の構成が、図１の電子透かし埋込装置におけるデータ埋込対象画像抽出部１、ビット埋込対象画像抽出部２及び関数値算出部３の構成とそれぞれ同一であるものについて示したが、図１の電子透かし埋込装置における電子透かしデータの埋め込み方式に対応しているものであればよく、データ埋込対象画像抽出部１、ビット埋込対象画像抽出部２及び関数値算出部３の構成と異なっていてもよい。
【００９４】
また、この実施の形態２では、入力画像が非圧縮輝度画像（非圧縮モノクロ画像）である例を示したが、これに限るものではなく、例えば、入力画像が非圧縮カラー画像であってもよい。
入力画像がＹＣｂＣｒ形式の非圧縮カラー画像であり、図１の電子透かし埋込装置が、その非圧縮カラー画像のＣｒ成分に対して、電子透かしデータを埋め込んでいるとすれば、図５の電子透かし検出装置が、ＹＣｂＣｒ形式の非圧縮カラー画像のＣｒ成分を抽出して、この実施の形態２に示している処理を実施することにより、その電子透かしデータを適切に検出することができる。
【００９５】
また、得られた画像が圧縮されたＲＧＢ形式である場合、その圧縮を解いて、ＲＧＢ形式をＹＣｂＣｒ形式に変換することで、ＹＣｂＣｒ形式の非圧縮カラー画像のＣｒ成分を抽出するようにすれば、やはり、この実施の形態２に示している処理を実施することにより、その電子透かしデータを適切に検出することができる。
このように、電子透かし検出装置は、電子透かしが想定する電子透かし埋込装置の入力画像に対応しているものであればよく、任意の構成とすることができる。
【００９６】
実施の形態３．
上記実施の形態２では、電子透かしデータが埋め込まれた後に、入力画像が切取や拡大縮小などの編集がなされていないものとして説明したが、入力画像が切取、拡大縮小、回転などの編集がなされている画像であっても、適切な前処理を実施して、電子透かし検出装置の入力画像を生成すれば、上記実施の形態２と同様に、電子透かしデータを正確に検出することができる。
【００９７】
図７は電子透かし検出装置の入力画像の生成例を示す説明図である。
図７では、電子透かしデータが埋め込まれた画像の一部が切り取られ、一部が切り取られている画像から電子透かし検出装置の入力画像を生成している例を示している。
即ち、切り取られずに残っている画像に対して、切り取られた部分を単色でパディングすることで、電子透かし検出装置の入力画像を生成している。
【００９８】
入力画像の切取だけでなく、拡大縮小や回転などの編集がなされている画像であっても、画像位置合わせ技術によって、原画の位置に補正し、その後、失われた画像領域部分を単色でパディングすることによって、電子透かし検出装置の入力画像を生成することができる。
切取、拡大縮小、回転などの編集によって、原画から位置のずれた画像の位置合わせを行う技術は、既に多数開示されており、画像処理の専門家が、それらの技術を用いて、図５の電子透かし検出装置に与える入力画像を生成することは容易である。
また、高度な画像位置合わせ技術によらなくても、原画と取得画像を目視で見比べながら、補正することも可能である。
【００９９】
図５の電子透かし検出装置は、パディング処理済の入力画像が与えられると、ビット検出部１５が、失われた領域部分（パディングが施された領域）からｎｕｌｌ（埋込無し）を検出することになる。
その理由は、パディングは単調色であり、関数値算出部１３がｎｕｌｌを表すｎｕｌｌ代表値ＫＶｎｕｌｌに極めて近い関数値ｆｖを算出することになるからである。
その他、失われていない画像部分からは、ビット０、ビット１、ｎｕｌｌのいずれかを、既に説明した通りに検出することができる。
【０１００】
最終的には、電子透かしデータ生成部１６が、検出量である“０”、“１”、“ｎｕｌｌ”を集計して、電子透かしデータを生成する。
あるいは、失われた領域部分は検出対象から外して、ビット検出部１５が失われていない画像部分のみから検出量を算出し、電子透かしデータ生成部１６が、それらの検出量から電子透かしデータを生成する。
このように、画像位置合わせ技術によって、電子透かし検出装置の入力画像を事前に補正しておくことで、切取、拡大縮小、回転等の処理が加えられた画像であっても、電子透かしデータを検出することができる。
【符号の説明】
【０１０１】
１  データ埋込対象画像抽出部（画像分割手段、部分画像選択手段）、２  ビット埋込対象画像抽出部（画像分割手段、部分画像選択手段）、３  関数値算出部（関数値算出手段）、４  代表値設定部（代表値設定手段）、５  画質劣化度評価部（画質劣化度算出手段）、６  埋込対象ビット抽出部（電子透かしビット抽出手段）、７  ビット埋込部（ビット埋込手段）、８  ビット埋込対象画像結合部（画像結合手段）、９  データ埋込対象画像結合部（画像結合手段）、１１  データ検出対象画像抽出部（画像分割手段、部分画像選択手段）、１２  ビット検出対象画像抽出部（画像分割手段、部分画像選択手段）、１３  関数値算出部（関数値算出手段）、１４  代表値設定部（代表値設定手段）、１５  ビット検出部（電子透かしビット検出手段）、１６  電子透かしデータ生成部（電子透かしデータ生成手段）。
【図１】
2011250145.tif 000003
【図２】
2011250145.tif 000004
【図３】
2011250145.tif 000005
【図４】
2011250145.tif 000006
【図５】
2011250145.tif 000007
【図６】
2011250145.tif 000008
【図７】
2011250145.tif 000009