(57)【要約】【課題】  耐性を有するとともに、ブロック間の境界の劣化が目立たないようにした電子透かしの埋め込み方法を提供する。【解決手段】  画像をブロック化し、秘密情報を埋め込むブロック（Ａｉｊ）に対し、そのブロックに埋め込む秘密情報に応じてブロック内の画素値の平均を変化させるシフト値αを設定し、秘密情報埋め込み後のブロック内の画素値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、ブロック内の各画素値に対しシフト値αに応じた一様乱数を増加または減少する。＜Ａ１ｉｊ＞  ≧＜Ａ０ｉｊ＞＋α    ・・・・（１）  ここで＜Ａ０ｉｊ＞、＜Ａ１ｉｊ＞は埋め込み前後のブロックＡ０ｉｊ、Ａ１ｉｊ内の画素値平均で、シフト値αは、秘密情報が１のときは正、秘密情報が０のときは負となる。【選択図】図３
2009141554.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込方法であって、
画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化し、
秘密情報を埋め込むブロック（Ａｉｊ）に対し、そのブロックに埋め込む秘密情報に応じてブロック内の画素値の平均または変換係数値の平均を変化させるシフト値αを設定し、
秘密情報埋め込み後のブロック内の画素値平均または変換係数値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均または変換係数値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、前記ブロック内の各画素値または各変換係数値に対し前記シフト値αに応じた一様乱数を増加または減少することを特徴とする電子透かし埋め込み方法。
＜Ａ１ｉｊ＞  ≧  ＜Ａ０ｉｊ＞＋α    ・・・・（１）
ここで＜Ａ１ｉｊ＞は埋め込み後のブロックＡ１ｉｊ内の画素値または変換係数値の平均
＜Ａ０ｉｊ＞は埋め込み前のブロックＡ０ｉｊ内の画素値または変換係数値の平均
ｉはブロックの行番号、ｊはブロックの列番号
シフト値αは、秘密情報が１のときは正で、秘密情報が０のときは負（または、秘密情報が１のときは負で、秘密情報が０のときは正）
【請求項２】
画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込方法であって、
画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化し、
秘密情報を埋め込むブロック（Ｂｉｊ）に対し、そのブロックに埋め込む秘密情報に応じてブロック内の異なる２種類の画素値または異なる２種類の変換係数値についてのそれぞれの平均（＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞）を変化させるときの基準とするシフト値βを設定し、
秘密情報埋め込み後のブロック内の前記２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、前記ブロック内の各画素値または各変換係数値をシフト値βに応じた一様乱数にすることを特徴とする電子透かし埋め込み方法。
｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜  ≧β  ・・・・（２）
ここで＜Ｂａｉｊ＞は第一の画素値または変換係数値の平均
＜Ｂｂｉｊ＞は第二の画素値または変換係数値の平均
シフト値βは正の数
秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大で、秘密情報が０のときは小（または、秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より小で、秘密情報が０のときは大）
【請求項３】
前記２種類の画素値として（Ｙ、Ｃｂ、Ｃｒ）表色系で表現される３種類の画素値のうちＣｂ，Ｃｒを用いる請求項２に記載の電子透かし埋め込み方法。
【請求項４】
前記一様乱数は、−Ｕ〜Ｖ（０＜Ｕ＜Ｖ、ＵおよびＶは正整数）の整数群からなる乱数であり、シフト値αに対して式（３）の関係が成立する請求項１に記載の電子透かし埋込方法。
α＝（−Ｕ＋Ｖ）／２  ・・・・(３) 
【請求項５】
画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込装置であって、
画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化するブロック化部と、
ブロック内の画素値の平均または変換係数値の平均を変化させるシフト値αが設定されるシフト値設定部と、
シフト値αに基づいて、秘密情報埋め込み後のブロック内の画素値平均または変換係数値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均または変換係数値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、前記ブロック内の各画素値または各変換係数値に対して前記シフト値αに応じた一様乱数を算出して、ブロック内の各画素に付加する一様乱数付加部とを備えたことを特徴とする電子透かし埋め込み装置。
＜Ａ１ｉｊ＞  ≧  ＜Ａ０ｉｊ＞＋α    ・・・・（１）
ここで＜Ａ１ｉｊ＞は埋め込み後のブロック内の画素値または変換係数値の平均
＜Ａ０ｉｊ＞は埋め込み前のブロック内の画素値または変換係数値の平均
ｉはブロックの行番号、ｊはブロックの列番号
シフト値αは、秘密情報が１のときは正で、秘密情報が０のときは負（または、秘密情報が１のときは負で、秘密情報が０のときは正）
【請求項６】
請求項５に記載の電子透かし埋め込み装置により埋め込まれた秘密情報を検出する電子透かし検出装置であって、
秘密情報が埋め込まれた埋め込み画像と原画像とについて、秘密情報を埋め込んだときと同じＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群からなるブロック単位に区切るブロック化部と、
埋め込み画像における秘密情報が埋め込まれた各ブロック、および、これに対応する原画像の各ブロックのそれぞれに対し、ブロック内の画素値の平均または変換係数値の平均をブロック平均値として算出するブロック平均値算出部と、
算出された互いに対応する埋め込み画像および原画像のブロック平均値の大小関係に基づいて、ブロックごとの秘密情報を抽出する秘密情報抽出部とを備えたことを特徴とする電子透かし検出装置。
【請求項７】
画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込装置であって、
画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化するブロック化部と、
秘密情報を埋め込むブロック（Ｂｉｊ）に対し、そのブロックに埋め込む秘密情報に応じてブロック内の異なる２種類の画素値または異なる２種類の変換係数値についてのそれぞれの平均（＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞）を変化させるときの基準となるシフト値βが設定されるシフト値設定部と、
秘密情報埋め込み後のブロック内の前記２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、前記ブロック内の各画素値または各変換係数値をシフト値βに応じた一様乱数を算出して、前記２種類の画素または変換係数を一様乱数にする一様乱数付加部とを備えたことを特徴とする電子透かし埋め込み装置。
｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜  ≧β  ・・・・（２）
ここで＜Ｂａｉｊ＞は第一の画素値または変換係数値の平均
＜Ｂｂｉｊ＞は第二の画素値または変換係数値の平均
シフト値βは正の数
秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大で、秘密情報が０のときは小（または、秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より小で、秘密情報が０のときは大）
【請求項８】
請求項７に記載の電子透かし埋め込み装置により埋め込まれた秘密情報を検出する電子透かし検出装置であって、
秘密情報が埋め込まれた埋め込み画像について、秘密情報を埋め込んだときと同じＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群からなるブロック単位に区切るブロック化部と、
埋め込み画像における秘密情報が埋め込まれた各ブロックに対し、ブロック内の異なる２種類の画素値の平均の差または変換係数値の平均の差をブロック平均の差として算出するブロック平均差算出部と、
算出されたブロック平均差に基づいて、ブロックごとの秘密情報を抽出する秘密情報抽出部とを備えたことを特徴とする電子透かし検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に秘密情報を電子透かしとして埋め込む方法およびこれを用いた電子透かし埋め込み装置、および電子透かし検出装置に関する。
【背景技術】
【０００２】
デジタル化された静止画像や動画像は、画像劣化することなく簡単に複製を作ることができることから、著作権が問題となる。そのため著作権保護の対策の一つとして、画像に著作権情報を秘密情報として埋め込む電子透かし技術が利用されている。
【０００３】
著作権の保護に適用される電子透かしでは、単に画像を見ただけでは埋め込んだ秘密情報が知覚されないこと、秘密情報の埋め込みによる画像の劣化が知覚できないこと、画像に対して様々な加工が施されても埋め込まれた秘密情報が破壊されにくいこと等が要求され、これら要求を満たすことができる埋め込み技術が求められている。
【０００４】
著作権情報のような秘密情報を画像内に埋め込む方法の一つとして、画像を小ブロック単位に区切り、ブロック単位で１ビットの秘密情報（「１」or「０」）を埋め込むことがなされている。その場合の秘密情報を埋め込む方法として、各ブロックの画素値（例えば輝度値）の平均値を利用して、１ビットの秘密情報を表現する方法が知られている（例えば非特許文献１参照）。
【０００５】
図１２は、ブロックごとの画素値の平均を利用して、秘密情報を埋め込む方法および秘密情報を検出する方法の原理を説明する図である。秘密情報を埋め込む前の原画像を参照画像とし、秘密情報を埋め込んだ後の画像を埋め込み画像とする。ここでは画素値が（Ｙ、Ｃｂ，Ｃｓ）表色系の輝度情報（Ｙ）であるとして説明するが、画素の情報であれば（Ｒ，Ｇ，Ｂ）で表現される三原色情報、（Ｙ、Ｃｂ，Ｃｓ）表色系による輝度情報および色情報、（Ｙ、Ｉ、Ｑ）表色系による輝度情報および色情報のいずれであってもよい。
【０００６】
説明の便宜上、画像全体は縦横に３つずつ並んだ９個のブロックにより構成されるものとする。ｉを行方向のブロック番号、ｊを列方向のブロック番号とし、参照画像のブロックをＲｉｊと呼び、埋め込み画像をＳｉｊと呼ぶこととする。したがって図１１において、参照画像側のブロックＲ１１、Ｒ１２、Ｒ３１、Ｒ３２は、それぞれ、秘密情報が埋め込まれた埋め込み画像側のブロックＳ１１、Ｓ１２、Ｓ３１、Ｓ３２と１対１に対応する。
【０００７】
また、説明の便宜上、各ブロックは４行×４列の画素群で構成され、ブロックＲ１１、Ｒ１２は画素値の分散が大きく（画素値のばらつきが大きい）、ブロックＲ３１、Ｒ３２は画素値の分散が最も小さい（画素値がすべて一定）ものとする。
【０００８】
ブロックごとに、１ビットの秘密情報（「１」or「０」）の埋め込むときの規則として、「１」を埋め込むブロックについては、ブロックの画素値の平均を原画像より大きい値にシフト（変化）することにし、「０」を埋め込むブロックについては当該ブロックの画素値の平均を原画像より小さい値にシフト（変化）することにする。すなわち、ｉ行、ｊ列のブロックＳｉｊ、Ｒｉｊの画素値の平均を＜Ｓｉｊ＞、＜Ｒｉｊ＞とすると、シフト値α（≠０）だけ画素値の平均を増減するとして、次式が成立するようにブロック内の各画素に演算を行う。
＜Ｓｉｊ＞＝＜Ｒｉｊ＞＋α
ただし、「１」を埋め込むときのαは正の整数、「０」を埋め込むときのαは負の整数とする。
【０００９】
このとき、埋め込み対象のブロックＡｉｊを構成する各画素値に対し、シフト値αが一様に加算または減算されることにより、平均がαだけシフトすることになる。
例えば、シフト値α＝２とし、図１２（ａ）に示すように、ブロックＲ１１、Ｒ３１に対しては、秘密情報「１」を埋め込むため、一様に２を加算してＳ１１、Ｓ３１とする。ブロックＲ１２、Ｒ３２に対しては、秘密情報「０」を埋め込むため、一様に２を減算してＳ１２、Ｓ３２とする。
【００１０】
この場合、ブロックＲ１１、Ｒ３１の画素値の平均＜Ｒ１１＞、＜Ｒ３１＞はそれぞれ4.8125、5である（＜Ｒ１１＞は（5＋3＋10＋・・・＋8＋5＋７）／16＝4.8125）。ブロックＳ１１、Ｓ３１の画素値の平均＜Ｓ１１＞、＜Ｓ３１＞は、それぞれ＜Ｒ１１＞および＜Ｒ３１＞よりも２ずつ大きい6.8125、7である。同様に、ブロックＲ１２、Ｒ３２の画素値の平均＜Ｒ１２＞、＜Ｒ３２＞はそれぞれ5.625、5であり、ブロックＳ１２、Ｓ３２の画素値の平均＜Ｓ１２＞、＜Ｓ３２＞は、それぞれ＜Ｒ１２＞、＜Ｒ３２＞よりも２ずつ小さい3.625、3である。
【００１１】
一方、秘密情報が埋め込まれた埋め込み画像から秘密情報を検出するときには、画像を埋め込み時と同じブロックに分割し、ブロックＲ１１、Ｒ１２、Ｒ３１、Ｒ３２、Ｓ１１、Ｓ１２、Ｓ３１、Ｓ３２のそれぞれについて、ブロック内の画素値の平均を算出する。
そして、平均値の差＜Ｓ１１＞−＜Ｒ１１＞、＜Ｓ１２＞−＜Ｒ１２＞、＜Ｓ３１＞−＜Ｒ３１＞、＜Ｓ３２＞−＜Ｒ３２＞の値を算出することにより、各ブロックのシフト値αの正負を判定する。この場合、＜Ｓ１１＞−＜Ｒ１１＞、＜Ｓ３１＞−＜Ｒ３１＞については＋２で正数となり、＜Ｓ１２＞−＜Ｒ１２＞、＜Ｓ３２＞−＜Ｒ３２＞については−２で負数となっているため、Ｓ１１、Ｓ３１には秘密情報「１」が埋め込まれ、Ｓ１２、Ｓ３２については秘密情報「０」が埋め込まれていることが検出される。
【００１２】
なお、シフト値αを大きくするほど、埋め込み強度（耐性）が強くなる。図１２（ｂ）は、シフト値α＝＋１、−１にしたとき、および、シフト値α＝＋３、−３にしたときのＳ３１，Ｓ３２を示している。
前者は平均値差＜Ｓ３１＞−＜Ｒ３１＞の値が＋１であり、後者は平均値差＜Ｓ３１＞−＜Ｒ３１＞が＋３である。例えば図１２（ｂ）に示すように、Ｓ３１がブロックの列を一列ずらす攻撃を受けてＳ’３１になった場合に、画素値の平均はシフト値α＝±１の場合は平均が5.5であり、シフト値α＝±３の場合は平均が6.5である。このときの平均差＜Ｓ’３１＞−＜Ｒ３１＞の値が＋0.5であり、後者は平均値差＜Ｓ３１＞−＜Ｒ３１＞が＋1.5であり、シフト値αの大きい方が耐性は強くなる。
【非特許文献１】"A Digital Image Watermarking Scheme Withstanding StirMark Attack", Jiro Tanimoto, Akira Shiozaki, SCIS'99  The 1999 Symposium on Cryptography and Information Security Kobe, Japan, January 26-29,1999 The Institute of Electronics, Information and Communication Engineers
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、ブロック内の画素値の平均が原画像に比べて大小いずれであるかにより、秘密情報を埋め込むようにした電子透かしでは、シフト値αを大きくするほど、すなわち、ブロック内の各画素に一様に加える値αを大きくするほど耐性を強くすることができる。
【００１４】
しかしながら、シフト値αを大きくするほど、逆に、ブロック間の境界で画像劣化が目立つようになる。図１２においてＲ１１、Ｒ１２で示したような分散の大きいブロック間では画像の劣化はさほど目立たないが、特に、Ｒ３１、Ｒ３２のような分散の小さいブロック間で、かつ、一方のブロックに対しシフト値αを加算し他方のブロックに対しシフト値αを減算する場合については、ブロック間の境界での劣化が大きく、場合によっては筋状の境目が目立つようになる。
【００１５】
以上の説明は、画素値の平均に対してシフト値αを加減することにより電子透かしを埋め込む場合であるが、画素値に何らかの画像処理を施す場合に用いる変換係数値に対して電子透かしを埋め込む場合についても同様の問題が生じる。
【００１６】
そこで、本発明は画像をブロック化し、ブロック内の画素値の平均または変換係数値の平均をシフトさせて電子透かしを埋め込む場合に、これまでの埋め込み方法と同程度の耐性を有するとともに、ブロック間の境界の劣化（筋状の境界線）が目立たないようにした電子透かしの埋め込み方法、電子透かし埋め込み装置および電子透かし検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するためになされた本発明の電子透かし情報埋め込み装置は、画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込方法であって、（ａ）画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化し、（ｂ）秘密情報を埋め込むブロックに対し、そのブロックに埋め込む秘密情報に応じてブロック内の画素値の平均または変換係数値の平均を変化させるシフト値αを設定し、（ｃ）秘密情報埋め込み後のブロック内の画素値平均または変換係数値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均または変換係数値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、前記ブロック内の各画素値または各変換係数値に対し前記シフト値αに応じた一様乱数を増加または減少するようにしている。
＜Ａ１ｉｊ＞  ＝＜Ａ０ｉｊ＞＋α    ・・・・（１）
ここで＜Ａ１ｉｊ＞は埋め込み後のブロックＡ１ｉｊ内の画素値または変換係数値の平均
＜Ａ０ｉｊ＞は埋め込み前のブロックＡ０ｉｊ内の画素値または変換係数値の平均
ｉはブロックの行番号、ｊはブロックの列番号
シフト値αは、秘密情報が１のときは正で、秘密情報が０のときは負（または、秘密情報が１のときは負で、秘密情報が０のときは正）
【００１８】
すなわち、本発明によれば、ブロック内の画素値や変換係数値の平均をシフト値αだけシフトさせる際に、ブロック内の各画素に対しシフト値αを一様に加算または減算するのではなく、画素値の平均がシフト値αだけ変化するようにしつつ、シフト値αに応じた一様乱数を求めて、ブロック内の各画素に加減する。
【発明の効果】
【００１９】
本発明によれば、ブロック内の各画素に対し、一様な値ではなく、一様乱数にして加算または減算するので、分散の小さなブロック間に秘密情報を埋め込んだときにも、境界部分の画素値がばらつくようになり、ブロック間の境界を目立ちにくくすることができる。
【００２０】
（他の課題を解決するための手段および効果）
また、上記課題を解決するためになされた第二の発明である電子透かし埋め込み方法は、画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込方法であって、画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化し、秘密情報を埋め込むブロック（Ｂｉｊ）に対し、そのブロックに埋め込む秘密情報に応じてブロック内の異なる２種類の画素値または異なる２種類の変換係数値についてのそれぞれの平均（＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞）を変化させるときの基準とするシフト値βを設定し、秘密情報埋め込み後のブロック内の前記２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、前記ブロック内の各画素値または各変換係数値をシフト値βに応じた一様乱数にしている。
｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜  ≧β  ・・・・（２）
ここで＜Ｂａｉｊ＞は第一の画素値または変換係数値の平均
＜Ｂｂｉｊ＞は第二の画素値または変換係数値の平均
シフト値βは正の数
秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大で、秘密情報が０のときは小（または、秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より小で、秘密情報が０のときは大）
【００２１】
すなわち、本発明によれば、検出時に原画像が利用できない場合に、ブロック内の異なる２種類の画素値または変換係数値の平均（＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞）を用いて、これらの大小関係により秘密情報を埋め込む。その際に、ブロック内の各画素に対し一様な値ではなく、一様乱数にして大小関係を埋め込むので、分散の小さなブロック間に秘密情報を埋め込んだときにも、境界部分での画素値がばらつくようになり、ブロックの境界線を目立ちにくくすることができる。そして、２種類の画素値または変換係数値の平均のいずれが大であるかにより、秘密情報「１」「０」を検出することができる。
【００２２】
この場合、２種類の画素値として（Ｙ、Ｃｂ、Ｃｒ）表色系で表現される３種類の画素値のうちＣｂ，Ｃｒを用いるのが好ましい。
人間の目は、色成分に対して視感度が低いことから、原画像を利用できない場合に、色成分の影響が大きいＣｂ，Ｃｒを埋め込み用の画素値として用いることにより目立ちにくくすることができる。
【００２３】
上記発明において、一様乱数は、−Ｕ〜Ｖ（０＜Ｕ＜Ｖ、ＵおよびＶは整数）の整数群からなる乱数であり、シフト値αに対して式（３）の関係が成立するように設定するのが好ましい。
α＝（−Ｕ＋Ｖ）／２  ・・・・(３)
本発明によれば、各画素に埋め込む一様乱数の値の範囲−Ｕ〜Ｖを、（３）式を用いて機械的に定めることができる。
【００２４】
また、別の観点からなされた本発明の電子透かし埋め込み装置は、画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込装置であって、画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化するブロック化部と、ブロック内の画素値の平均または変換係数値の平均を変化させるシフト値αが設定されるシフト値設定部と、シフト値αに基づいて、秘密情報埋め込み後のブロック内の画素値平均または変換係数値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均または変換係数値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、前記ブロック内の各画素値または変換係数値に対して前記シフト値αに応じた一様乱数を算出して、ブロック内の各画素に付加する一様乱数付加部とを備えるようにしている。
【００２５】
本発明によれば、ブロック化部は、画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化する。このときブロックの行数や列数は、２以上であれば特に限定されないが、行数、列数を大きくするほど耐性は強くなる反面、埋め込み情報量（ビット数）が減少することになるので適当な行数、列数にしておく。シフト値設定部は、ブロック内の画素値の平均または変換係数値の平均を変化させるシフト値αが設定される。シフト値αは予め一定値が設定されるようにしてもよいし、ブロックごとの画素値の分散によって変化（例えば分散が小さいときはαを小さく、分散が大きいときはαを大きく）するように設定されてもよい。そして、一様乱数付加部は、シフト値αに基づいて、秘密情報埋め込み後のブロック内の画素値平均または変換係数値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均または変換係数値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、ブロック内の各画素値または変換係数値に対してシフト値αに応じた一様乱数を算出して、ブロック内の各画素に付加する。
【００２６】
本発明によれば、電子透かし埋め込み装置は、シフト値αを、ブロック内の各画素に対し一様に加算または減算するのではなく、一様乱数にして埋め込むので、分散の小さなブロック間に秘密情報を埋め込んだときにも、境界部分での画素値がばらつくようになり、ブロックの境界線を目立ちにくくすることができる。
【００２７】
また、上記電子透かし埋め込み装置により作成された電子透かしを検出するためになされた本発明の別の発明である電子透かし検出装置は、秘密情報が埋め込まれた埋め込み画像と原画像とについて、秘密情報を埋め込んだときと同じＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群からなるブロック単位に区切るブロック化部と、埋め込み画像における秘密情報が埋め込まれた各ブロック、および、これに対応する原画像の各ブロックのそれぞれに対し、ブロック内の画素値の平均または変換係数値の平均をブロック平均値として算出するブロック平均値算出部と、算出された互いに対応する埋め込み画像および原画像のブロック平均値の大小関係に基づいて、ブロックごとの秘密情報を抽出する秘密情報抽出部とを備えるようにしている。
【００２８】
本発明によれば、電子透かし検出装置のブロック化部は、秘密情報が埋め込まれた埋め込み画像と原画像とについて、秘密情報を埋め込んだときと同じＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群からなるブロック単位に区切る。ブロック平均値算出部は、埋め込み画像における秘密情報が埋め込まれた各ブロック、および、これに対応する原画像の各ブロックのそれぞれに対し、ブロック内の画素値の平均または変換係数値の平均をブロック平均値として算出する。秘密情報抽出部は、算出された互いに対応する埋め込み画像および原画像のブロック平均値の大小関係に基づいて、ブロックごとの秘密情報を抽出する。
これにより、埋め込み画像と原画像とにより、一様乱数を利用して埋め込まれた秘密情報を抽出することができる。
【００２９】
また、別の観点からなされた本発明の他の電子透かし埋め込み装置は、画像を構成する各画素の輝度情報や色情報である画素値又は前記画素値に演算を行う変換係数値に対し、秘密情報を埋め込む電子透かし埋込装置であって、画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群に区切ってブロック化するブロック化部と、秘密情報を埋め込むブロック（Ｂｉｊ）に対し、そのブロックに埋め込む秘密情報に応じてブロック内の異なる２種類の画素値または異なる２種類の変換係数値についてのそれぞれの平均（＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞）を変化させるときの基準となるシフト値βが設定されるシフト値設定部と、秘密情報埋め込み後のブロック内の前記２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、前記ブロック内の各画素値または各変換係数値に対しシフト値βに応じた一様乱数を算出して、２種類の画素または変換係数を一様乱数にする一様乱数付加部とを備えるようにしている。
｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜  ≧β  ・・・・（２）
ここで＜Ｂａｉｊ＞は第一の画素値または変換係数値の平均
＜Ｂｂｉｊ＞は第二の画素値または変換係数値の平均
シフト値βは正の数
秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大で、秘密情報が０のときは小（または、秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より小で、秘密情報が０のときは大）
【００３０】
本発明によれば、ブロック化部が画像又は変換係数をＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群に区切ってブロック化する。シフト値設定部は、秘密情報を埋め込むブロックに対し、そのブロックに埋め込む秘密情報に応じてブロック内の異なる２種類の画素値又は変換係数値についてのそれぞれの平均または異なる２種類の変換係数値についての平均（＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞）をシフトさせるときの基準とするシフト値βが設定される。シフト値βは予め一定値が設定されるようにしてもよいし、ブロックごとの画素値の分散によって変化するように設定されてもよい。そして、一様乱数付加部は、シフト値βに基づいて、秘密情報埋め込み後のブロック内の２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、ブロック内の各画素値または各変換係数値をシフト値βに応じた一様乱数を算出して、２種類の画素または変換係数を一様乱数にする。
【００３１】
これにより、電子透かし埋め込み装置は、シフト値βを、ブロック内の各画素に対し一様に加算または減算するのではなく、一様乱数にして埋め込むので、分散の小さなブロック間に秘密情報を埋め込んだときにも、境界部分での画素値の差がばらつくようになり、ブロックの境界を目立ちにくくすることができる。そして、＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大か小かによって、秘密情報が１または０であることを検出する。
【００３２】
また、上記電子透かし埋め込み装置により作成された電子透かしを検出するためになされた電子透かし検出装置は、秘密情報が埋め込まれた埋め込み画像について、秘密情報を埋め込んだときと同じＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群からなるブロック単位に区切るブロック化部と、埋め込み画像における秘密情報が埋め込まれた各ブロックに対し、ブロック内の異なる２種類の画素値の平均の差または変換係数値の平均の差をブロック平均の差として算出するブロック平均差算出部と、算出されたブロック平均差の大小関係に基づいて、ブロックごとの秘密情報を抽出する秘密情報抽出部とを備えるようにしている。
【００３３】
本発明によれば、電子透かし検出装置のブロック化部は、秘密情報が埋め込まれた埋め込み画像について、秘密情報を埋め込んだときと同じＭ行×Ｎ列（Ｍ，Ｎは２以上の整数）の画素群又は変換係数群からなるブロック単位に区切る。ブロック平均値算出部は、秘密情報が埋め込まれた各ブロックに対し、異なる２種類の画素値の平均の差または変換係数値の平均の差をブロック平均値として算出する。秘密情報抽出部は、算出された２種類のブロック平均の大小関係に基づいて、ブロックごとの秘密情報を抽出する。
これにより、一様乱数を利用して埋め込まれた秘密情報を抽出することができる。
【発明を実施するための最良の形態】
【００３４】
（実施形態１）
以下、本発明の実施形態について図面を用いて説明する。ここでは埋め込み画像から秘密情報を検出する際に、原画像が利用できる場合の実施形態について説明する。図１は、本発明の一実施形態である電子透かし埋込装置１０の構成を示すブロック図である。
電子透かし埋込装置１０は、秘密情報を埋め込む処理を実行するためのプログラムからなるソフトウェアと、このプログラムを実行して演算処理を行うＣＰＵ、プログラムの実行に必要な制御パラメータを記憶するとともに演算の作業領域となるメモリ、画像データ、制御パラメータ、命令の入出力を行う入出力装置を含むハードウェアとを有するコンピュータ装置からなる。
【００３５】
本装置による実行される具体的な処理、機能を説明するために、装置構成を機能ブロックごとに分けて説明すると、電子透かし情報埋込装置１０は、ブロック化部１１、シフト値設定部１２、一様乱数付加部１３からなる。
【００３６】
ブロック化部１１は、原画像データに基づいて、画像を小ブロック単位に分割する処理を行う。このブロック単位の大きさは、埋め込む情報量や埋め込み強度（耐性）に応じて、ブロック単位の大きさ(画素数)を変更できるようにしてもよい。具体的には行数、列数を適当な値に選択する。ここではブロック単位を、４行×４列に予め設定しておく。
【００３７】
シフト値設定部１２は、秘密情報を埋め込む際に利用するシフト値αが設定される。すなわち、秘密情報を埋め込むために、ブロック内の画素値の平均をシフト値αだけ変化する処理を行うが、その処理を行う前に、シフト値αの大きさが予め設定される。具体的には、シフト値αを定数として予め初期設定しておいてもよいし、入力装置からの数値入力により適切なシフト値αを与えるようにしてもよい。画像全体の行数、列数と埋め込む情報量（ビット数）との関係からブロック単位の行数、列数を算出して設定してもよい。本実施形態では、シフト値αとして、２が設定されているものとする。
【００３８】
一様乱数付加部１３は、設定されているシフト値αに基づいて、秘密情報埋め込み後のブロック内の画素値平均（＜Ａ１ｉｊ＞）が埋め込み前のブロック内画素値平均（＜Ａ０ｉｊ＞）と式（１）の関係となるように、ブロック内の各画素値に対してシフト値αに応じた一様乱数を算出して、ブロック内の各画素に付加する演算を行う。
【００３９】
次に、電子透かし埋め込み装置１０による動作を説明する。図２は電子透かし埋め込み装置１０による動作手順例を示すフローチャートである。また図３は秘密情報を埋め込んだ画素値の状態を説明する図である。
ここでは原画像Ａ０から埋め込み画像Ａ１を作成する場合について説明する。まず、原画像Ａ０（参照画像）を、４行×４列のブロック単位に分割する（Ｓ１００１）。ｉを行方向のブロック番号、ｊを列方向のブロック番号とし、参照画像Ａ０の各ブロックをＡ０ｉｊ、埋め込み画像Ａ１の各ブロックをＡ１ｉｊと表現する。そして分割したブロックのすべてあるいは一部を、秘密情報を埋め込む埋め込みブロックとして選択する（Ｓ１００２）。ここでは図３において、ブロックＡ０１１、Ａ０１２を、埋め込み対象のブロックとする。なお、ブロックＡ０３１、Ａ０３２は、比較のために、従来方法で秘密情報を埋め込んだブロックとする。これらブロックは、便宜上、分散が最も小さいブロックを選択してあり（すべての画素値を一定値５）、秘密情報が埋め込まれたときに、境界線が目立ちやすいブロックにしてある。
【００４０】
続いて、シフト値αを設定する。ここではシフト値αは予め２が設定され、メモリに記憶されているので、その値（＝２）を読み出す（Ｓ１００３）。
【００４１】
続いて、（１）式を満たすような一様乱数を算出する。
＜Ａ１ｉｊ＞  ≧  ＜Ａ０ｉｊ＞＋α    ・・・・（１）
ここで＜Ａ１ｉｊ＞は埋め込み後のブロックＡ１ｉｊ内の画素値の平均
＜Ａ０ｉｊ＞は埋め込み前のブロックＡ０ｉｊ内の画素値の平均
ｉはブロックの行番号、ｊはブロックの列番号
シフト値αは、秘密情報が１のときは正で、秘密情報が０のときは負
【００４２】
すなわち、埋め込み後のブロックＡ１１１、Ａ１１２内の画素値の平均が（埋め込み前のブロックＡ０１１に対して）＋２変化し、あるいは（埋め込み前のブロックＡ０１２に対して）−２変化するような一様乱数の組み合わせを算出する。本実施形態では１ブロック（４行×４列）あたりに１６個の画素群が含まれるので、Ａ１１１、Ａ１１２それぞれについて、１６個の乱数の組み合わせが算出される。
一様乱数は、いろいろな数の組み合わせをとることができる。例えば、−Ｕ〜Ｖ（０＜Ｕ＜Ｖ、ＵおよびＶは整数）の整数群からなる乱数であり、シフト値αに対して式（３）の関係が成立するようにすればよい。
α＝（−Ｕ＋Ｖ）／２      ・・・・(３)
具体例で説明すると、αが２と設定されている場合、乱数の最大値Ｖを５に設定しておくことにより、（３）式から−Ｕが−１と定まる。したがって一様乱数として、｛−１、０、１、２、３、４、５｝の数が選択され、これらの数が一様な確率で１６個の画素に対し分配される。なお一様乱数の最大値Ｖを異なる値に設定すれば、異なる一様乱数の集合が得られることになる。
【００４３】
続いて、算出された１６個の一様乱数を、それぞれの画素に加算あるいは減算する（Ｓ１００５）。
図３に示した埋め込み画像は、このときの画素値の状態を示している。Ａ１１１は、｛−１、０、１、２、３、４、５｝の一様乱数がＡ０１１に加算されている。また、Ａ１１２は、｛−１、０、１、２、３、４、５｝の一様乱数がＡ０１２から減算されている。
このように、各画素値に対しシフト値αを一様に加算または減算するのではなく、画素値の平均がシフト値αだけ変化するようにしつつ、シフト値αに応じた一様乱数を求めて、ブロック内の各画素に加減される。
その結果、分散が小さいブロックＡ０１１とブロックＡ１１２間に対して、一方は平均値を上げる秘密情報が埋め込まれ、他方は平均値を下げる秘密情報が埋め込まれた場合であっても、ブロックＡ１１１とブロック１１１２間の境界で値がランダムになり、境目が知覚されにくくなる。
【００４４】
ちなみに、比較のために、従来の埋め込み方法を用いて一様にシフト値±２だけ各画素値を変化させたブロックＡ０３１、Ａ０３２では、境界部分に画素値の大きな段差が一列に形成され、これが筋状に知覚されるようになる。
【００４５】
次に、電子透かし検出装置について説明する。図４は、本発明の一実施形態である電子透かし情報検出装置３０の構成を示すブロック図である。電子透かし検出装置３０は、電子透かし埋込装置１０と同様のコンピュータ装置からなる。なお、電子透かし埋込装置１０と電子透かし検出装置３０とは、別装置として説明しているが、１台の装置に組み込んで、秘密情報の埋め込みと検出との双方が行えるようにしてもよい。
【００４６】
本装置により実行される具体的な処理、機能を説明するために、機能ブロックごとに分けて説明すると、電子透かし情報検出装置３０は、ブロック化部３１、ブロック平均値算出部３２、秘密情報抽出部３３からなる。
【００４７】
ブロック化部３１は、原画像データおよび埋め込み画像について、これら画像を小ブロックごとの単位に分割する処理を行う。このブロック単位の大きさは、埋め込み装置１０で秘密情報を埋め込んだときと同じブロック単位に分割する。ここではブロック単位は４行×４列にされる。
【００４８】
ブロック平均値算出部３２は、埋め込み画像における秘密情報が埋め込まれたブロック、および、これに対応する原画像のブロックのそれぞれに対し、ブロック内の画素値の平均をブロック平均値として算出する。
秘密情報抽出部３３は、算出された互いに対応する埋め込み画像および原画像のブロック平均値の大小関係に基づいて、ブロックごとの秘密情報を抽出する。具体的には、埋め込み画像と原画像との間で互いに対応するブロックにおけるブロック平均値を比較し、埋め込み画像の画素値の平均が原画像の画素値の平均よりも大きいときは秘密情報「１」が埋め込まれていると判定する。埋め込み画像の画素値の平均が原画像の画素値の平均よりも小さいときは秘密情報「０」が埋め込まれていると判定する。両者が同じときは埋め込まれていないと判定する。これらにより、そのブロックの秘密情報が「１」「０」のいずれであるかを抽出する。
【００４９】
図５は電子透かし情報検出装置３０による動作例を示すフローチャートである。ここでは図３の原画像Ａ０と埋め込み画像Ａ１から秘密情報を抽出する場合を説明する。まず、原画像Ａ０と埋め込み画像Ａ１とを、４行×４列のブロック単位に分割する（Ｓ１１０１）。続いて、原画像および埋め込み画像の各ブロックについて、それぞれＡ０１１、Ａ１１１から順に、画素値のブロック平均値を算出する（Ｓ１１０２）。
続いて、対応する原画像と埋め込み画像とのブロック平均値の差を算出し、大小比較を行う（Ｓ１１０３）。その結果、それぞれのブロックに埋め込まれている秘密情報「１」または「０」の値を抽出する（Ｓ１１０４）。
以上の処理を全ブロックについて行い、すべての秘密情報を抽出する。
これにより、電子透かし情報を検出することができる。
【００５０】
（実施例）
次に、本発明の効果を確かめるために、均一な画像をブロック分割し、各ブロックにそれぞれ１ビットの秘密情報（輝度情報）を、以下の方法で埋め込んだときの画像の例を示す。
【００５１】
図６の（ａ）（ｃ）は、画素値平均を増減する際に、各ブロックの画素値を一様乱数で増減させている。（ｂ）（ｄ）は画素値平均を増減原する際に、各ブロックの画素値を一様に増減させている。（ａ）〜（ｄ）はいずれも画素値平均は同じである。
（ａ）と（ｂ）を比べ、（ｃ）と（ｄ）とを比べると、（ａ）（ｃ）の方がブロック間の境界が目立ちにくくなっている。
【００５２】
また、ブロックへ埋込む秘密情報のパターン（ブロックへの輝度の増減パターン）は、（ａ）と（ｃ）とが異なるパターン、（ｂ）と（ｄ）とが異なるパターンにしてあり、（ａ）と（ｂ）、（ｃ）と（ｄ）とは同じパターンにしてある。
画素値を一様に増減させた場合、同一の画像に、異なる秘密情報のパターンが入っている２枚の画像を持ち寄って、それらの画像の差分をとれば、どのような大きさのブロックに秘密情報が埋め込まれているか、２枚の各ブロックに埋め込まれているビット（秘密情報）が同一か異なるか、が推測できるようになる。例えば、図６（ｆ）は、（ｂ）と（ｄ）との差分を抽出した画像データであり、ブロック単位が容易に推測できる。これらの情報が推測されてしまうと、埋め込まれた透かし（秘密情報）が削除されたり、書き換えられたりする危険がある。
【００５３】
一方、図６（ｅ）は、（ａ）と（ｃ）との差分を抽出した画像データである。（ａ）（ｃ）のように、一様乱数を用いて秘密情報を埋め込むと、これら２つの画像の差分をとっても、どのような大きさのブロックに秘密情報が埋め込まれているかを隠すことができる。それゆえ、安全性が高くなる。
【００５４】
（実施形態２）
次に本発明の第二の実施形態について図面を用いて説明する。ここでは埋め込み画像から秘密情報を検出する際に、原画像が利用できない場合の実施形態について説明する。すなわち、検出の際に、埋め込み画像のみを用いるようにし、埋め込み画像に含まれる２種類の画素値を求めて、これらの平均の大小関係から秘密情報を検出する方法を採用する例について説明する。具体的には、２種類の画素値として、（Ｙ，Ｃｂ、Ｃｒ）表色系のＣｂ、Ｃｒの２種類の色情報を用いて秘密情報を埋め込むようにする。Ｃｂ、Ｃｒを用いるのは、秘密情報の埋め込みを行った場合に、輝度情報Ｙよりも人の目にとって劣化が目立ちにくいためである。
【００５５】
図７は、本発明の一実施形態である電子透かし埋込装置２０の構成を示すブロック図である。
電子透かし埋込装置２０は、秘密情報を埋め込む処理を実行するためのプログラムからなるソフトウェアと、このプログラムを実行して演算処理を行うＣＰＵ、プログラムの実行に必要な制御パラメータを記憶するとともに演算の作業領域となるメモリ、画像データ、制御パラメータ、命令の入出力を行う入出力装置を含むハードウェアとを有するコンピュータ装置からなる。
【００５６】
本装置により実行される具体的な処理、機能を説明するために、装置構成を機能ブロックごとに分けて説明すると、電子透かし情報埋込装置２０は、ブロック化部２１、シフト値設定部２２、一様乱数付加部２３からなる。
【００５７】
ブロック化部２１は、原画像データに基づいて、画像を小ブロック単位に分割する処理を行う。このブロック単位の大きさは、埋め込む情報量や埋め込み強度（耐性）に応じて、ブロック単位の大きさ(画素数)を変更するようにしてもよい。ここではブロック単位を、４行×４列に予め設定しておく。
【００５８】
シフト値設定部２２は、秘密情報を埋め込むブロックに対し、そのブロックに埋め込む秘密情報に応じて、ブロック内の異なる２種類の色情報の画素値Ｃｂ、Ｃｒについて、それぞれの画素値平均を変化させるときの基準に用いるシフト値βが設定される。
このシフト値βは、２種類の画素値Ｃｂ、Ｃｒの平均値の差の下限とする値である。なお、βが大きいほど耐性が大きくなるが、境界が目立ちやすくなる。ここではβとして２を設定する。
なお、以下の説明において、秘密情報を埋め込むブロックをＢｉｊ、Ｃｂについての画素値をＢａｉｊ、Ｃｒについては画素値をＢｂｉｊと、一般化した表現で説明する。すなわち、色成分Ｃｂ、Ｃｒに代えて、他の画素値の組み合わせによっても、本実施形態が利用できるように一般化した形で説明し、他の画素値を用いる場合にもそのまま適用できるようにする。
【００５９】
一様乱数付加部２３は、秘密情報埋め込み後のブロック内の２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、ブロック内の各画素値を、シフト値βに応じた一様乱数を算出して、ブロックＢｉｊの２種類の画素値Ｂａｉｊ、Ｂｂｉｊを一様乱数に置き換える演算を行う。このとき、秘密情報が１のときは画素値平均＜Ｂａｉｊ＞が画素値平均＜Ｂｂｉｊ＞よりもシフト値βほど（あるいはそれ以上）大になり、秘密情報が０のときは逆に小になる。
【００６０】
次に、図８を用いて、秘密情報を埋め込みの際の規則について説明する。図８（ａ）に示すように、ブロックＢｉｊに埋め込む秘密情報が「１」であるときは、色情報Ｃｂの画素値側の平均＜Ｂａｉｊ＞が、Ｃｒの画素値平均＜Ｂｂｉｊ＞よりもβ（＝２）だけ大きくなるようにする。また、ブロックＢｉｊに埋め込む秘密情報が「０」であるときは色情報Ｃｂの画素値平均＜Ｂａｉｊ＞が、Ｃｒの画素値平均＜Ｂｂｉｊ＞よりもβだけ小さくなるようにする。そして、当初よりこのような大小関係が成り立っているブロックについてはそのまま現在の画素値を利用し、この大小関係が成り立っていないブロックについては、強制的にこの大小関係が成り立つように、ブロック内の画素値を変化させる。
【００６１】
具体例で説明すると、図８（ｂ）に示すように、ブロックＢ１１、Ｂ１２はいずれも画素成分Ｂａ、Ｂｂの画素値の分散が小さく（画素値が一定）、画素成分Ｂａ（Ｃｂ）は７であり、画素成分Ｂｂ（Ｃｒ）については３であるとする。
【００６２】
今、Ｂ１１に秘密情報「０」を埋め込み、Ｂ１２に秘密情報「１」を埋め込むとする。仮に、画素値を一様に変化させる場合には、βとして２が設定されているので、例えば、ブロックＢ１１の画素成分Ｂａについては６、画素成分Ｂｂについては８が埋め込まれることになる。（画素成分Ｂａはβ／２だけ一様に減算して６とし、画素成分Ｂｂはβ／２だけ一様に加算して８としている）。同様に、ブロックＢ１２の画素成分Ｂａについては８、画素成分Ｂｂについては６が埋め込まれることになる。この結果、Ｂ１１については、画素値平均＜Ｂａ１１＞が画素値平均＜Ｂｂ１１＞よりも２小さくなり、秘密情報「０」が埋められていることになる。一方、Ｂ１２については＜Ｂａ１２＞が、＜Ｂｂ１２＞よりも２大きくなり、秘密情報「１」が埋められていることになる。
【００６３】
この場合、ブロックＢ１１とブロックＢ１２との境界には、一列に画素値の段差が生じており、筋状の境界が目立ってしまうようになる。
そこで、ブロック内の画素値を一様に変化させるのではなく、絶対差｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜  ≧β  の関係を満たしつつ、画素値を一様乱数で与えるようにする。上述した例では、ブロックＢ１１の成分Ｂａ、ブロックＢ１２の成分Ｂａ、ブロックＢ１２の成分Ｂａ、ブロックＢ１２の成分Ｂｂの画素値を、図８（ｃ）に示す例のように一様乱数とする。すなわち、ブロックＢ１１の成分ＢａおよびブロックＢ１２の成分Ｂｂについては画素値平均＜Ｂａ１１＞、＜Ｂｂ１２＞が６となり、ブロックＢ１２の成分ＢａおよびブロックＢ１１の成分Ｂｂについては画素値平均＜Ｂａ１２＞、＜Ｂｂ１１＞が８となるようにしつつ、それぞれの画素値を一様乱数にする。
【００６４】
一様乱数はいろいろ選択し得るが、一例を説明すると、画素成分Ｂａはβ／２だけ一様に加算または減算し、画素成分Ｂｂはβ／２だけ一様に減算または加算し、これにより、画素成分ＢａとＢｂとの間に、βの絶対差を設ける。このときのブロックの画素値平均＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞を求めた上で、平均値がこの＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞と同じかこれより大きくなるように１６個の一様乱数を選択するようにすればよい。
【００６５】
次に、電子透かし埋込装置２０による、上述した埋め込み規則を用いた動作手順例について説明する。図９は電子透かし埋め込み装置２０による動作例を示すフローチャートである。再び図８を用いながら埋め込み動作について説明する。
まず、図８（ｂ）に示すように、画像Ｂを４行×４列のブロック単位に分割する（Ｓ２００１）。予め秘密情報を埋め込むブロックの順を定めておき、情報量（ビット数）に応じて順に秘密情報を埋め込む。ここでは、最初のブロックＢ１１、Ｂ１２を、埋め込み対象のブロックとする。Ｂ１１、Ｂ１２は分散が最も小さいブロックであり、秘密情報が埋め込まれたときに、境界が最も目立ちやすいブロックになっている。
【００６６】
続いて、シフト値βを設定する（Ｓ２００２）。シフト値βは予め２が設定され、メモリに記憶されているので、その値（＝２）を読み出す。
【００６７】
続いて、秘密情報埋め込み後のブロック内の２種類の画素値平均または変換係数値平均の絶対差（｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜）が式（２）の関係となるように、ブロック内の各画素値に対しシフト値βに応じた一様乱数を算出する（Ｓ２００３）。
｜＜Ｂａｉｊ＞−＜Ｂｂｉｊ＞｜  ≧β  ・・・・（２）
ここで＜Ｂａｉｊ＞は第一の画素値の平均
＜Ｂｂｉｊ＞は第二の画素値の平均
シフト値βは正の数
秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大で、秘密情報が０のときは小（または、秘密情報が１のときは＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より小で、秘密情報が０のときは大）
【００６８】
すなわち、（２）式を満たすとともに、ブロックＢ１１、Ｂ１２内の２種類の画素値がそれぞれ一様乱数となる数の組み合わせを算出する。本実施形態では１ブロック（４行×４列）あたりに１６個の画素群が含まれるので、ブロックＢ１１の成分Ｂａおよび成分Ｂｂ、ブロックＢ１２の成分Ｂａおよび成分Ｂｂのそれぞれについて、１６の乱数の組み合わせが算出される。
【００６９】
続いて、算出された１６個の一様乱数を各ブロックのそれぞれの画素に付与する。（Ｓ２００４）。
図８（ｃ）に示した埋め込み画像は、このときの画素値の状態を示している。Ｂ１１のＢａは、｛３、４、５、６、７、８、９｝の一様乱数が、画素値平均＜Ｂａ１１＞が６となるように付与されている。また、Ｂ１２のＢｂは、｛５、６、７、８、９、１０、１１｝の一様乱数が、画素値平均＜Ｂｂ１２＞が８となるように付与される。
【００７０】
このように、各画素値を一様に変化するのではなく、画素値の平均差がシフト値βだけ変化するようにしつつ、一様乱数を求めて、ブロック内の各画素に付与される。
その結果、分散が小さいブロックＢ１１とブロックＢ１２間に対してでも、境界の値がランダムになり、境目が知覚されにくくなる。
【００７１】
次に、電子透かし検出装置について説明する。図１０は、本発明の一実施形態である電子透かし情報検出装置４０の構成を示すブロック図である。電子透かし検出装置４０は、電子透かし埋込装置２０と同様のコンピュータ装置からなる。なお、電子透かし埋込装置２０と電子透かし検出装置４０とを、１台の装置に組み込み、秘密情報の埋め込みと検出との双方が行えるようにしてもよい。
【００７２】
本装置により実行される具体的な処理、機能を説明するために、機能ブロックごとに分けて説明すると、電子透かし検出装置４０は、ブロック化部４１、ブロック平均値算出部４２、秘密情報抽出部４３からなる。
【００７３】
ブロック化部４１は、埋め込み画像について、小ブロックごとの単位に分割する処理を行う。このブロック単位の大きさは、埋め込み装置２０で秘密情報を埋め込んだときと同じブロック単位に分割する。ここではブロック単位は４行×４列にされる。
【００７４】
ブロック平均値算出部４２は、埋め込み画像におけるブロックのそれぞれに対し、ブロック内の２種類の画素値Ｂａ，Ｂｂの平均＜Ｂａｉｊ＞，＜Ｂｂｉｊ＞をブロック平均値として算出する。
秘密情報抽出部４３は、算出された２種類のブロック平均値の大小関係に基づいて、ブロックごとの秘密情報を抽出する。具体的には、＜Ｂａｉｊ＞が＜Ｂｂｉｊ＞より大きいときは「１」、小さいときは「０」を秘密情報として検出する。
【００７５】
図１１は電子透かし検出装置３０による動作例を示すフローチャートである。まず画像を４行×４列のブロック単位に分割する（Ｓ２１０１）。続いて、埋め込み画像の各ブロックについて、それぞれ２種類の画素値Ｂａ，Ｂｂのブロック平均値＜Ｂａｉｊ＞、＜Ｂｂｉｊ＞を算出する（Ｓ２１０２）。
続いて、２種類のブロック平均値の差を算出し、大小比較を行う（Ｓ２１０３）。その結果に応じて、それぞれのブロックに埋め込まれている秘密情報「１」または「０」の値を抽出する（Ｓ２１０４）。
以上の処理を全ブロックについて行い、すべての秘密情報を抽出する。
このようにして、ブロック間の境目が目立たない電子透かしを埋め込んだり、検出したりすることができる。
【００７６】
なお、実施形態１、実施形態２では画像データをブロック分割して秘密情報を埋め込んだが、画像データに圧縮変換等を行う際に用いる変換係数を用いて、これをブロック分割して秘密情報を埋め込んでもよい。この場合も、画像の場合と同様のやり方で埋め込み、検出を行うことができる。
【産業上の利用可能性】
【００７７】
本発明は、画像に秘密情報を電子透かしとして埋め込む電子透かし埋め込み装置、および、埋め込まれた電子透かしを検出する電子透かし検出装置に利用することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施形態である電子透かし埋め込み装置１０の構成を示すブロック図。
【図２】電子透かし埋め込み装置１０の動作例を示すフローチャート。
【図３】秘密情報を埋め込んだ画素値の状態を説明する図。
【図４】本発明の一実施形態である電子透かし情報検出装置３０の構成を示すブロック図。
【図５】電子透かし情報検出装置３０による動作例を示すフローチャート。
【図６ａ】秘密情報を埋め込んだ画像例を示す図。
【図６ｂ】秘密情報を埋め込んだ画像例を示す図。
【図６ｃ】秘密情報を埋め込んだ画像例を示す図。
【図７】本発明の一実施形態である電子透かし埋込装置２０の構成を示すブロック図。
【図８】電子透かし埋め込み装置２０による埋め込み処理の原理を示す図。
【図９】電子透かし埋め込み装置２０による動作例を示すフローチャート。
【図１０】本発明の一実施形態である電子透かし情報検出装置４０の構成を示すブロック図。
【図１１】電子透かし検出装置３０による動作例を示すフローチャート。
【図１２】ブロックごとの画素値の平均を利用して、秘密情報を埋め込む方法および秘密情報を検出する従来方法の原理を説明する図。
【符号の説明】
【００７９】
１０、２０：  電子透かし埋込装置
１１、２１：  ブロック化部
１２、２２：  シフト値設定部
１３、２３：  一様乱数付加部
３０、４０：  電子透かし検出装置
３１、４１：  ブロック化部
３２、４２：  ブロック平均値算出部
３３、４３：  秘密情報抽出部
【図１】
2009141554.tif 000003
【図２】
2009141554.tif 000004
【図３】
2009141554.tif 000005
【図４】
2009141554.tif 000006
【図５】
2009141554.tif 000007
【図６ａ】
2009141554.tif 000008
【図６ｂ】
2009141554.tif 000009
【図６ｃ】
2009141554.tif 000010
【図７】
2009141554.tif 000011
【図８】
2009141554.tif 000012
【図９】
2009141554.tif 000013
【図１０】
2009141554.tif 000014
【図１１】
2009141554.tif 000015
【図１２】
2009141554.tif 000016