(57)【特許請求の範囲】
【請求項１】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、
前記埋込対象を構成する基本単位のうち、隣接する２基本単位以上であって前記埋込対象から分割された一部分を構成する基本単位からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して前記埋込対象をスペクトラム拡散するスペクトル拡散手段と、
前記スペクトラム拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込む透かし埋込手段と
を備えたことを特徴とする電子透かし埋込装置。
【請求項２】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、
前記埋込対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、
平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、
前記データシフト手段により値シフトした埋込対象をスペクトル拡散するスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込む透かし埋込手段と
を備えたことを特徴とする電子透かし埋込装置。
【請求項３】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、
前記埋込対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、
平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、
前記埋込対象を構成する基本単位のうち、隣接する２基本単位以上からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して、前記データシフト手段により値シフトされた埋込対象をスペクトル拡散するスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込む透かし埋込手段と
を備えたことを特徴とする電子透かし埋込装置。
【請求項４】
前記拡散ブロックは、前記平均ブロックより小さなデータサイズであり、前記平均ブロックに含まれることを特徴とする請求項３記載の電子透かし埋込装置。
【請求項５】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、
前記埋込対象を自身を構成する基本単位の値の集合としたときに、その二乗平均を前記集合の拡散後の周波数空間における周波数成分値の二乗平均とし、前記周波数成分値の二乗平均に基づいて電子透かしの埋込強度を算出する埋込強度算出手段と、
前記埋込強度を用いて前記埋込対象に電子透かしを埋め込む透かし埋込手段と
を備えたことを特徴とする電子透かし埋込装置。
【請求項６】
前記埋込対象を自身を構成する基本単位の値の集合としたときに、その二乗平均を前記集合の拡散後の周波数空間における周波数成分値の二乗平均とし、前記周波数成分値の二乗平均に基づいて電子透かしの埋込強度を算出する埋込強度算出手段を備え、
前記透かし埋込手段は、前記埋込強度を用いて前記埋込対象に電子透かしを埋め込むことを特徴とする請求項１乃至４のうち、何れか１項記載の電子透かし埋込装置。
【請求項７】
前記デジタルデータは画像データとし、前記基本単位は画像を構成する画素とすることを特徴とする請求項１乃至６のうち何れか１項記載の電子透かし埋込装置。
【請求項８】
請求項１乃至７の電子透かし埋込装置によって、電子透かしが埋め込まれたデジタルデータを配布することを特徴とするデジタル情報配布装置。
【請求項９】
デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置において、
前記検出対象を構成する基本単位のうち、隣接する２基本単位以上であって前記埋込対象から分割された一部分を構成する基本単位からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して前記検出対象をスペクトル拡散するスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出する透かし検出手段と
を備えたことを特徴とする電子透かし検出装置。
【請求項１０】
デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置において、
前記検出対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、
平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、
前記データシフト手段により値シフトした検出対象をスペクトル拡散するスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出する透かし検出手段と
を備えたことを特徴とする電子透かし検出装置。
【請求項１１】
デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置において、
前記検出対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、
平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、
前記検出対象を構成する基本単位のうち、隣接する２基本単位以上からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して、前記データシフト手段により値シフトされた検出対象をスペクトル拡散するスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出する透かし検出手段と
を備えたことを特徴とする電子透かし検出装置。
【請求項１２】
前記拡散ブロックは、前記平均ブロックより小さなデータサイズであり、前記平均ブロックに含まれることを特徴とする請求項１１記載の電子透かし検出装置。
【請求項１３】
前記デジタルデータは画像データとし、前記基本単位は画像を構成する画素とすることを特徴とする請求項９乃至１２のうち何れか１項記載の電子透かし検出装置。
【請求項１４】
請求項９乃至１３の電子透かし検出装置によって、配布し又は配布されたデジタルデータから電子透かしを検出することを特徴とするデジタル情報配布装置。
【請求項１５】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置を制御するプログラムであって、
前記埋込対象を構成する基本単位のうち、隣接する２基本単位以上であって前記埋込対象から分割された一部分を構成する基本単位からなる拡散ブロックをスペクトル拡散させる単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積させて前記埋込対象をスペクトル拡散させるスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込ませる透かし埋込手段と
を有するプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１６】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置を制御するプログラムであって、
前記埋込対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出させる単位とし、平均ブロック毎に基本単位の平均値を算出させる平均値算出手段と、
平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出させることで基本単位の値をシフトさせるデータシフト手段と、
前記データシフト手段により値シフトした埋込対象をスペクトル拡散させるスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込ませる透かし埋込手段と
を有するプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１７】
デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置を制御するプログラムであって、
前記埋込対象を自身を構成する基本単位の値の集合としたときに、その二乗平均を前記集合の拡散後の周波数空間における周波数成分値の二乗平均とさせ、前記周波数成分値の二乗平均に基づいて電子透かしの埋込強度を算出させる埋込強度算出手段と、
前記埋込強度を用いて前記埋込対象に電子透かしを埋め込ませる透かし埋込手段と
を有するプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記埋込対象を自身を構成する基本単位の値の集合としたときに、その二乗平均を前記集合の拡散後の周波数空間における周波数成分値の二乗平均とさせ、前記周波数成分値の二乗平均に基づいて電子透かしの埋込強度を算出させる埋込強度算出手段を有し、
前記透かし埋込手段は、前記埋込強度を用いて前記埋込対象に電子透かしを埋め込ませるプログラムを記憶したコンピュータ読み取り可能な請求項１５乃至１７のうち何れか１項記載の記憶媒体。
【請求項１９】
デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置を制御するプログラムであって、
前記検出対象を構成する基本単位のうち、隣接する２基本単位以上であって前記埋込対象から分割された一部分を構成する基本単位からなる拡散ブロックをスペクトル拡散させる単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積させて前記検出対象をスペクトル拡散させるスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出させる透かし検出手段と
を有するプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項２０】
デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置を制御するプログラムであって、
前記検出対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出させる単位とし、平均ブロック毎に基本単位の平均値を算出させる平均値算出手段と、
平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出させることで基本単位の値をシフトさせるデータシフト手段と、
前記データシフト手段により値シフトさせた検出対象をスペクトル拡散させるスペクトル拡散手段と、
前記スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出させる透かし検出手段と
を有するプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項２１】
請求項１乃至７のうち何れか１項記載の電子透かし埋込装置によって電子透かしを埋め込まれてなる構造を有するデータが記録されたコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は電子透かし埋込装置、電子透かし検出装置、デジタル情報配布装置及び記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、動画、静止画、音声、音楽等のデジタル著作物データに対して、透かし情報と呼ばれる情報を埋め込む技術が用いられている。この技術では、視覚や聴覚等で知覚が容易ではない状態となるように透かし情報を埋め込み、後に、必要に応じて透かし情報をそのデータ内から検出することによって著作権保護やデジタルデータの利用制御（不正利用の防止等）を行っている。透かし情報としては、例えば著作物データの著作権者や利用者の識別情報、著作権者の権利情報、そのデータの利用条件、その利用時に必要な秘密情報、利用制御情報、コピー制御情報等が使用される。
【０００３】
例えば画像データの場合に適用される電子透かし方式としては、画素値空間へ電子透かし情報を埋め込む方式と周波数空間へ埋め込む方式とがある。まず、画素値空間へ埋め込む方式では、標本値自体に透かし情報が埋め込まれる。この方式では一般に、埋め込みや検出の処理は軽いが、第三者のノイズ付加によって透かし情報を失わせることが容易である。
【０００４】
一方、周波数空間へ透かし情報を埋め込む方式においては、標本値に対して直交変換が行われ、同変換により周波数領域に変換されたデータに対して透かし情報が埋め込まれる。その後、逆直交変換が行われ、標本値が再生される。この方法では、標本値に直接透かし情報が埋め込まれるわけではないのでノイズ付加によって情報を取り除くことが比較的困難である。しかし、直交変換や逆直交変換を行う必要があるため、埋め込みや検出の処理は重い。
【０００５】
また、周波数成分に透かし情報を埋め込む方式には、スペクトル拡散（ｓｐｒｅａｄ  ｓｐｅｃｔｒｕｍ）の考えを適用する方式がある。スペクトル拡散とは、通信したい信号に必要な帯域に比べて十分大きな帯域中に、情報を広く分散させて伝送する通信方式をいう。この方式では伝送路上のノイズに対する耐性が優れている。
【０００６】
Ｉ．Ｊ．Ｃｏｘ等の提案したスペクトル拡散を利用する方式は、摂動法と呼ばれる。この方式では画素値に対して直交変換を行い、さらに周波数領域において透かし情報をスペクトル拡散して埋め込む。スペクトル拡散は、周波数領域において、複数の周波数成分の値をある乱数列に従って変化させることによって行う。拡散後、逆直交変換を行う。透かし情報の検出は、画素値に対して直交変換を行い、埋め込みが行われた周波数成分の値と埋め込みに用いられた乱数列との間の相関値によって判定を行う。埋め込まれた透かし情報は、画素領域では、画像全体に分散されているため、各種の操作に対してロバストである。また、透かし情報を埋め込んだ周波数成分が低中間周波数領域にあるならば、低周波数通過フィルタによっても透かし情報が失われにくい。
【０００７】
一方、防衛大学の松井教授らが提案したスペクトル拡散を利用する方式は、直接拡散法（ｄｉｒｅｃｔ  ｓｅｑｕｅｎｃｅ  ｓｐｒｅａｄ  ｓｐｅｃｔｒｕｍ）と呼ばれる。この方式ではＰＮ（ｐｓｅｕｄｏ−ｒａｎｄｏｍ  ｎｏｉｓｅ）系列を画素値に乗積することによりスペクトル拡散（直接拡散）する。得られた画像に対してさらに直交変換を行い、周波数領域において透かし情報を埋め込み、再び、逆直交変換を行う。透かし情報の検出は、ＰＮ（ｐｓｅｕｄｏ−ｒａｎｄｏｍ  ｎｏｉｓｅ）系列によって画素値を直接拡散する。得られた画像に対して直交変換を行い、透かし情報の埋め込みを行った周波数成分の値から判定する。
【０００８】
摂動法では、周波数領域に変換された情報に対してＰＮ系列を乗積することで拡散しつつ透かし情報を埋め込むようにするため、上記のように低中間周波数領域に電子透かしのエネルギーが配分されるように埋め込み制御を行うことが可能である。これに対し、直接拡散法においては、先に拡散処理を行することで周波数領域での情報分布がガウス分布になるように予めデータ操作した後に直交変換し透かし情報を埋め込むようにしている。したがって、直接拡散法の場合には、埋め込み後のＰＮ系列による逆拡散により埋め込まれた電子透かしのエネルギーが高周波領域にまで配分されてしまう。このため、従来の直接拡散法では、摂動法と比較して、Ｄ−Ａ−Ｄ変換やＳｔｉｒＭａｒｋ攻撃に対して、透かし情報が失われやすい。また、ＭＰＥＧやＪＰＥＧ等の画像圧縮におけるＤＣＴ変換でも高周波成分が削除されるので、電子透かしのエネルギー（強度）が減衰する。
【０００９】
直接拡散法について図１５及び図１６を用いて更に詳しく説明する。
【００１０】
図１５は直接拡散法においてまずスペクトル拡散を行う様子を示す図である。
【００１１】
図１６は直接拡散法で透かし情報を埋め込み逆スペクトル拡散する様子を示す図である。
【００１２】
まず、図１５（ａ）は、原画像にＰＮ系列を乗積してランダムな画像に変換する様子（スペクトル拡散）を示している。この段階においては情報は画素領域にある。図１５（ｂ），（ｃ）は、図１５（ａ）の情報を周波数領域の情報に当てはめるとどのようになっているかを示している。この図１５（ｂ），（ｃ）は、説明のための便宜上のものであり、実際にはスペクトル拡散後に周波数領域への変換が行われる。
【００１３】
図１５（ｂ）に示すように、直接拡散法では画素領域でスペクトル拡散を行うことで、低周波領域（特に直流成分）に集中している画素情報を一旦高周波領域に渡るようなランダムな情報に変換する。図１５（ｃ）はこれを頻度−周波数成分値分布に直したもので、拡散後はガウス分布に変換されていることがわかる。この分布は与えられたＰＮ系列に従うものである。
【００１４】
図１５（ａ）の処理は、図１６におけるスペクトル拡散までを示しているが、直接拡散法では、さらにこれを直交変換し透かし情報が埋め込まれる。図１６（ｄ）には透かし情報が埋め込まれた様子が示されている。
【００１５】
すなわち情報埋め込みは周波数領域の情報に変換された原画像データにおけるデータ点を周波数成分値を変化させることにより行われる。データの検出・抽出においては、このとき移動させたデータ点がしきい値を越えているか否かでその透かし情報が埋め込まれているか否かが判断される。直接拡散法では、ＰＮ系列及び周波数領域における透かし情報の埋め込み位置を秘密の情報とすることで第三者による透かし情報の改変や削除，漏洩等を防止している。
【００１６】
埋め込まれた透かし情報は周波数領域上のものであるが、周波数領域上の情報埋め込み済画像データは、逆直交変換、逆スペクトル拡散によって画素領域上の画像データに戻される（図１６（ｄ）〜（ｆ））。ここで、周波数領域にて埋め込まれた透かし情報は、逆拡散によって原画像上に重畳されたノイズとして画像データ上に存在することになる。なお、このノイズとしての透かし情報は、ＰＮ系列によって周波数変調された情報（ノイズ）であり、一般には低周波数から高周波数に渡るものになる（図１６（ｆ））。つまり、直接拡散法では逆スペクトル拡散によって、透かし情報のエネルギーは、原画像データとは逆に、広い周波数帯に拡散，配分されるのである。この点は摂動法との大きな相違点である。
【００１７】
【発明が解決しようとする課題】
直接拡散法では、この逆スペクトル拡散による透かし情報の拡散（ノイズ化）のために、摂動法とは異なり、周波数領域で与えられた透かし情報のエネルギーは、高周波領域にも存在している。したがって、そのうちの高周波成分が失われると、透かし情報のエネルギーがその分減少する。このため、透かし情報の検出のためにスペクトル拡散、直交変換を行ってもしきい値を越えず、透かし情報が検出できないということも起こり得る。これを防止するためには、透かし情報に対し予め十分大きな強度で埋め込みをおこなう必要がある。
【００１８】
図１７は直接拡散法における情報埋め込みの問題点を説明する周波数領域でのデータ分布を示す図である。
【００１９】
同図（ａ）に示すように、しきい値をわずかに越える程度の周波数成分値の変更では上記のように画素領域における高周波成分削除で透かし情報が失われてしまう。したがって、図１７（ａ）に示すような状態では、第三者による非可逆圧縮伸張といった操作によって透かし情報が消失することになる。
【００２０】
一方、図１７（ｂ）に示すように、しきい値を大きく越えるような周波数成分値の変更をした場合には、画素領域における高周波成分削除が行われても透かし情報は失われない。しかしながら、上記したように周波数領域で与えられる透かし情報は画素領域に変換されるとノイズとなるわけであるから、あまりに高い強度で透かし情報を埋め込んだのでは（図１７（ｂ））、原画像の劣化が大きくなる。
【００２１】
このように、従来の直接拡散法では、透かし情報に与えるエネルギーを小さくすれば、同情報が失われやすく、付与エネルギーを大きくすると画像等の原データが劣化するという問題点がある。
【００２２】
これに対して、Ｊｅａｎ−Ｐａｕｌ  Ｍ．  Ｇ．  Ｌｉｎｎａｒｔｚ，  Ａ．  Ａ．  Ｃ．  Ｋａｌｋｅｒ，  Ｇ．  Ｆ．  Ｇ．  Ｄｅｐｏｖｅｒｅ，  Ｒ．  Ａ．  Ｂｅｕｋｅｒ，  ”Ａ  ｒｅｌｉａｂｉｌｉｔｙ  ｍｏｄｅｌ  ｆｏｒ  ｔｈｅ  ｄｅｔｅｃｔｉｏｎ  ｏｆ  ｅｌｅｃｔｒｏｎｉｃ  ｗａｔｅｒｍａｒｋｓ  ｉｎ  ｄｉｇｉｔａｌ  ｉｍａｇｅｓ，”  Ｂｅｎｅｌｕｘ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｈｅｏｒｙ，  ２０２−２０９，  Ｏｃｔｏｂｅｒ  １９９７．、Ｇｅｅｒｔ  Ｄｅｐｏｖｅｒｅ，  Ｔｏｎ  Ｋａｌｋｅｒ，  Ｊｅａｎ−Ｌｉｎｎａｒｔｚ，  ”Ｉｍｐｒｏｖｅｄ  Ｗａｔｅｒｍａｒｋ  Ｄｅｔｅｃｔｉｏｎ  Ｒｅｌｉａｂｉｌｉｔｙ  Ｕｓｉｎｇ  Ｆｉｌｔｅｒｉｎｇ  Ｂｅｆｏｒｅ  Ｃｏｒｒｅｌａｔｉｏｎ，”  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ，  Ｏｃｔｏｂｅｒ  １９９８．、及び、Ｊｅａｎ−Ｐａｕｌ  Ｌｉｎｎａｒｔｚ，  Ｔｏｎ  Ｋａｌｋｅｒ，  Ｇｅｅｒｔ  Ｄｅｐｏｖｅｒｅ，  ”Ｍｏｄｅｌｌｉｎｇ  ｔｈｅ  ｆａｌｓｅ  ａｌａｒｍ  ａｎｄ  ｍｉｓｓｅｄ  ｄｅｔｅｃｔｉｏｎ  ｒａｔｅ  ｆｏｒ  ｅｌｅｃｔｒｏｎｉｃ  ｗａｔｅｒｍａｒｋ，”  Ｓｅｃｏｎｄ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｈｉｄｉｎｇ，  １５−１７，  Ａｐｒｉｌ  １９９８．においては、透かし情報の検出の前処理として高周波側の成分を強調する技術が提案されている。しかしながら、これらの技術ではあくまで存在する高周波成分を強調するにすぎず、高周波成分の情報が失われた場合にまで対応できるものではない。
【００２３】
一方、摂動法では透かし情報は失われにくいが、透かし情報埋め込みに時間がかかるという問題がある。摂動法では、原画像データについて直交変換を行う必要があるためである。
【００２４】
この点、直接拡散法ではデータ処理を工夫することで原画像データについて直交変換することを回避して処理の高速化を図ることが可能であり、このような高速化の技術が特願平１０−３４００１９号に開示されている。
【００２５】
しなしながら、直接拡散法では上記した情報消失〜原データ劣化のバランスという問題があるのに加えて、画像によってはスペクトラム拡散，直交変換後の周波数成分値分布における分散が大きいとしきい値を大きくする必要があり、このために透かし情報の埋め込み強度を大きく設定する必要があるという問題がある。図１７（ｃ）には、この様子が示されている。
【００２６】
透かし情報によるノイズを極力防止しつつ、検出をしやすいように透かし情報を埋め込むには、図１７（ｄ）に示すように拡散直交変換後の分散が小さくなることが好ましいが、分散がどの程度の大きさになるかは原画像によって決まる。
【００２７】
したがって、特願平１０−３４００１９号では、極端に平坦な画像に対してさえも、視覚的非顕現性が実現できる程度（ノイズがあまり大きくならない程度）に小さな埋め込み強度を設定しなければならない。つまり、従来技術では、画像毎の画像適応やひとつの画像中の部分毎に画像適応ができないため、非常に小さな埋め込み強度を設定する必要がある。このため、一定量の透かし情報を埋め込むためのブロックのサイズを非常に大きなものとする必要があり、画像全体に埋め込むことができる透かし情報の総量は著しく小さくなってしまう場合がある。
【００２８】
本発明は、このような実情を考慮してなされたもので、その第１の目的は、直接拡散法で埋め込まれた電子透かし情報のエネルギーが、逆スペクトル拡散過程において高周波側に配分されないようにすることができ、ひいては電子透かし情報を消失しにくくできる電子透かし埋込装置、電子透かし検出装置、デジタル情報配布装置及び記憶媒体を提供することにある。
【００２９】
また、第２の目的は、直接拡散法で電子透かし情報を埋め込むにあたって、スペクトル拡散，直交変換で周波数空間に変換されたデータ分布における分散が小さくなるようにでき、ひいては小さな埋込強度でも消失しにくい透かし情報埋め込みができる電子透かし埋込装置、電子透かし検出装置、デジタル情報配布装置及び記憶媒体を提供することにある。
【００３０】
さらに、第３の目的は、直接拡散法により電子透かし情報を埋め込みにあたって、高速な透かし埋め込みを行うことができる電子透かし埋込装置、電子透かし検出装置、デジタル情報配布装置及び記憶媒体を提供することにある。
【００３１】
【課題を解決するための手段】
以下、上記課題を解決するためになされた発明について説明するが、これに先立って、発明の骨子を述べる。
【００３２】
本発明の第１の骨子は、埋込又は検出対象を構成するデータの基本単位、例えば画像データでいえば画素等、が２以上集まってなるスペクトル拡散用の単位で埋込又は検出対象をスペクトル拡散するところにある。このように拡散され、透かし埋込された対象を逆拡散した場合には、基本単位より大きなデータブロックで逆スペクトル拡散されることになるため、埋込又は検出対象を構成する基本単位ベースで見たときには透かし情報に対応する高周波成分は存在せず、結果として透かしエネルギーが高周波領域に配分されることを防止できることになる。
【００３３】
本発明の第２の骨子は、基本単位よりは大きくかつ埋込又は検出対象よりは小さいブロック単位で平均値をとりこの平均値で基本単位の値をシフトさせるところにある。このような局所平均によってデータシフトを行えば、シフト後のデータ分布は分散（二乗平均）が小さなものとなり、小さな埋込エネルギーで消失しにくい透かし埋込が可能となる。また、その結果、埋込情報量を大きくでき、原データの劣化を少なくできる。
【００３４】
本発明の第３の骨子は、埋込又は検出対象の基本単位の値からなる集合について二乗平均を求め、その二乗平均を集合の周波数空間における周波数成分値の二乗平均とする。このことが可能であるという事実は、発明者が見いだした知見であり、後述の（６）式及び（７）式で示される。さらに、周波数成分値の二乗平均がわかれば、その値に基づいて必要十分な電子透かし埋込強度が算出できる。ここでいう必要十分な強度とは、透かしが消失しにくくかつ原データの劣化を防止できる程度である。なお、具体的な埋込強度λは後述の（８）式，（９）式及び（１０）式で示される。
【００３５】
次に、課題解決のための第１の発明は、デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、埋込対象を構成する基本単位のうち、隣接する２基本単位以上であって前記埋込対象から分割された一部分を構成する基本単位からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して埋込対象をスペクトル拡散するスペクトル拡散手段と、スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込む透かし埋込手段とを備えた電子透かし埋込装置である。
【００３６】
本発明はこのような手段を設けたので、直接拡散法で埋め込まれた電子透かし情報のエネルギーが、逆スペクトル拡散過程において高周波側に配分されないようにすることができ、ひいては電子透かし情報を消失しにくくできる。
【００３７】
次に、課題解決のための第２の発明は、デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、埋込対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、データシフト手段により値シフトした埋込対象をスペクトル拡散するスペクトル拡散手段と、スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込む透かし埋込手段とを備えた電子透かし埋込装置である。
【００３８】
本発明はこのような手段を設けたので、直接拡散法で電子透かし情報を埋め込むにあたって、スペクトル拡散，直交変換で周波数空間に変換されたデータ分布における分散が小さくなるようにでき、ひいては小さな埋込強度でも消失しにくい透かし情報埋め込みができる。
【００３９】
次に、課題解決のための第３の発明は、デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、埋込対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、埋込対象を構成する基本単位のうち、隣接する２基本単位以上からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して、データシフト手段により値シフトされた埋込対象をスペクトル拡散するスペクトル拡散手段と、スペクトル拡散手段によりスペクトル拡散された埋込対象に電子透かしを埋め込む透かし埋込手段とを備えた電子透かし埋込装置である。
【００４０】
本発明はこのような手段を設けたので、第１の発明と第２の発明を組み合わせた効果を得ることができる。
【００４１】
次に、課題解決のための第４の発明は、上記第３の発明において、拡散ブロックは、平均ブロックより小さなデータサイズであり、平均ブロックに含まれる電子透かし埋込装置である。
【００４２】
本発明はこのような手段を設けたので、第３の発明を容易に実現することができる。
【００４３】
次に、課題解決のための第５の発明は、デジタルデータを埋込対象として電子透かしを埋め込む電子透かし埋込装置において、埋込対象を自身を構成する基本単位の値の集合としたときに、その二乗平均を集合の拡散後の周波数空間における周波数成分値の二乗平均とし、周波数成分値の二乗平均に基づいて電子透かしの埋込強度を算出する埋込強度算出手段と、埋込強度を用いて埋込対象に電子透かしを埋め込む透かし埋込手段とを備えた電子透かし埋込装置である。
【００４４】
本発明はこのような手段を設けたので、直接拡散法により電子透かし情報を埋め込みにあたって、高速な透かし埋め込みを行うことができる。
【００４５】
次に、課題解決のための第６の発明は、上記第１〜第４の発明において、埋込対象を自身を構成する基本単位の値の集合としたときに、その二乗平均を集合の拡散後の周波数空間における周波数成分値の二乗平均とし、周波数成分値の二乗平均に基づいて電子透かしの埋込強度を算出する埋込強度算出手段を備え、透かし埋込手段は、埋込強度を用いて埋込対象に電子透かしを埋め込む電子透かし埋込装置である。
【００４６】
本発明はこのような手段を設けたので、上記第１〜第４の発明において、上記第５の発明と同様な効果を得ることができる。
【００４７】
次に、課題解決のための第７の発明は、上記第１〜第６の発明において、デジタルデータは画像データとし、基本単位は画像を構成する画素とする電子透かし埋込装置である。
【００４８】
本発明はこのような手段を設けたので、画像データについて、上記第１〜第６の発明の効果を得ることができる。
【００４９】
次に、課題解決のための第８の発明は、上記第１〜第７の発明の電子透かし埋込装置によって、電子透かしが埋め込まれたデジタルデータを配布するデジタル情報配布装置である。
【００５０】
本発明はこのような手段を設けたので、配布データについて、上記第１〜第７の発明の効果を得ることができる。
【００５１】
次に、課題解決のための第９の発明は、デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置において、検出対象を構成する基本単位のうち、隣接する２基本単位以上であって前記埋込対象から分割された一部分を構成する基本単位からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して検出対象をスペクトル拡散するスペクトル拡散手段と、スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出する透かし検出手段とを備えた電子透かし検出装置である。
【００５２】
本発明はこのような手段を設けたので、直接拡散法で埋め込まれた電子透かし情報のエネルギーが、逆スペクトル拡散過程において高周波側に配分されないように処理された電子透かし情報を検出することができる。
【００５３】
次に、課題解決のための第１０の発明は、デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置において、検出対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、データシフト手段により値シフトした検出対象をスペクトル拡散するスペクトル拡散手段と、スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出する透かし検出手段とを備えた電子透かし検出装置である。
【００５４】
本発明はこのような手段を設けたので、直接拡散法で電子透かし情報を埋め込むにあたって、スペクトル拡散，直交変換で周波数空間に変換されたデータ分布における分散が小さくなるように処理された透かし情報を検出することができる。
【００５５】
次に、課題解決のための第１１の発明は、デジタルデータからなる電子透かし検出対象から電子透かしを検出する電子透かし検出装置において、検出対象を構成する基本単位のうち、２基本単位以上からなる平均ブロックを基本単位の平均値を算出する単位とし、平均ブロック毎に基本単位の平均値を算出する平均値算出手段と、平均ブロックに属する各基本単位の値とその平均ブロックの平均値との差を、各平均ブロックについて算出することで基本単位の値をシフトさせるデータシフト手段と、検出対象を構成する基本単位のうち、隣接する２基本単位以上からなる拡散ブロックをスペクトル拡散する単位とし、同一拡散ブロック内の基本単位には同一の擬似乱数信号を乗積して、データシフト手段により値シフトされた検出対象をスペクトル拡散するスペクトル拡散手段と、スペクトル拡散手段によりスペクトル拡散された検出対象から電子透かしを検出する透かし埋込手段とを備えた電子透かし検出装置である。
【００５６】
本発明はこのような手段を設けたので、上記第９及び第１０の発明を組み合わせた効果を得ることができる。
【００５７】
次に、課題解決のための第１２の発明は、上記１１の発明において、拡散ブロックは、平均ブロックより小さなデータサイズであり、平均ブロックに含まれる電子透かし検出装置である。
【００５８】
本発明はこのような手段を設けたので、上記第１１の発明を容易に実現することができる。
【００５９】
次に、課題解決のための第１３の発明は、上記第９〜１２の発明において、デジタルデータは画像データとし、基本単位は画像を構成する画素とする電子透かし検出装置である。
【００６０】
本発明はこのような手段を設けたので、画像に電子透かしを埋め込む場合に、第９〜１２の発明の効果を得ることができる。
【００６１】
次に、課題解決のための第１４の発明は、上記第９〜第１３の発明の電子透かし検出装置によって、配布し又は配布されたデジタルデータから電子透かしを検出するデジタル情報配布装置である。
【００６２】
本発明はこのような手段を設けたので、配布し又は配布されたデジタルデータについて、上記第９〜第１３の発明の効果を得ることができる。
【００６３】
次に、課題解決のための第１５の発明は、上記第１の発明をコンピュータに実現させるためのプログラムを記録した記憶媒体である。
【００６４】
この記憶媒体から読み出されたプログラムにより制御されるコンピュータは、上記第１の発明の電子透かし埋込装置として機能する。
【００６５】
次に、課題解決のための第１６の発明は、上記第２の発明をコンピュータに実現させるためのプログラムを記録した記憶媒体である。
【００６６】
この記憶媒体から読み出されたプログラムにより制御されるコンピュータは、上記第２の発明の電子透かし埋込装置として機能する。
【００６７】
次に、課題解決のための第１７の発明は、上記第５の発明をコンピュータに実現させるためのプログラムを記録した記憶媒体である。
【００６８】
この記憶媒体から読み出されたプログラムにより制御されるコンピュータは、上記第５の発明の電子透かし埋込装置として機能する。
【００６９】
次に、課題解決のための第１８の発明は、上記第６の発明をコンピュータに実現させるためのプログラムを記録した記憶媒体である。
【００７０】
この記憶媒体から読み出されたプログラムにより制御されるコンピュータは、上記第６の発明の電子透かし埋込装置として機能する。
【００７１】
次に、課題解決のための第１９の発明は、上記第９の発明をコンピュータに実現させるためのプログラムを記録した記憶媒体である。
【００７２】
この記憶媒体から読み出されたプログラムにより制御されるコンピュータは、上記第９の発明の電子透かし検出装置として機能する。
【００７３】
次に、課題解決のための第２０の発明は、上記第１０の発明をコンピュータに実現させるためのプログラムを記録した記憶媒体である。
【００７４】
この記憶媒体から読み出されたプログラムにより制御されるコンピュータは、上記第１０の発明の電子透かし検出装置として機能する。
【００７５】
次に、課題解決のための第２１の発明は、上記第１〜７の発明の電子透かし埋込装置によって電子透かしを埋め込まれてなる構造を有するデータが記録されたコンピュータ読み取り可能な記憶媒体である。
【００７６】
この記憶媒体に格納されるデータにより、上記第１〜７の発明と同様な効果が奏される。
【００７７】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
【００７８】
本実施形態で使用する改良された直接拡散法は、以下に説明する３つの特徴を有するものであって、まず、その改良直接拡散法の技術的な検討を行い、その後、具体的な実施の形態について説明する。
【００７９】
ここでまず、本実施形態の改良直接拡散法における第１の特徴を説明する。
【００８０】
直接拡散法では、埋め込んだ電子透かし情報を逆スペクトル拡散するために画像等の高周波成分まで埋め込みのエネルギーが配分されるわけであるが、ここでいう周波数は画素を基準として生じるデータ値の波に対応する。すなわち複数画素にわたって画素データが波状に変化しているときのその波が周波数情報であり、電子透かし情報はスペクトル拡散（逆拡散）によって広い範囲の画素データの波（ノイズとしての透かし情報）となっている。ここで、高周波数となる場合は、少ない画素数で波が増減を繰り返すような変化をする場合である。
【００８１】
発明者は、画素データが画素単位で変化するものであり、さらに、少ない画素数で波が変化するときに高周波数となることに着目し、逆拡散時に透かしエネルギーが高周波成分に配分されない方法を発明した。つまり、スペクトル拡散を画素単位で行うのでなく、複数画素からなる単一画素よりも大きな単位でスペクトル拡散するものである。
【００８２】
このように、複数画素単位で拡散、埋め込み、並びに逆拡散を行う場合には、原画像に配分される透かしエネルギーは複数画素単位で考えたときには高周波成分にまで配分される。しかしながら、画素の集合たる画像として考えたときには、複数画素単位での高周波成分値は高周波ではない。複数画素単位では急速に変化している情報でも画素単位で見れば緩やかな変化にすぎないからである。
【００８３】
図２は本発明の第１の特徴を説明するための図である。
【００８４】
上記発明を実現するために実施形態では、スペクトル拡散並びに逆拡散を行う単位として複数画素からなる拡散ブロックを導入している。同図（ａ）には２×２画素を拡散ブロックとした場合、同図（ｂ）には２×２画素を拡散ブロックとした場合が示されている。このように、複数画素単位（拡散ブロック）で拡散し、その状態で透かし情報を埋め込んで逆拡散することで実質的に透かしエネルギーが高周波領域に配分されることが防止される。
【００８５】
次に、本実施形態の改良直接拡散法における第２及び第３の特徴を説明するために、埋め込まれた透かしが正しく検出されている確率を定量的に与える信頼性のモデルを検討する。
【００８６】
画像を構成する画素の集合をＭ、周波数領域を構成する周波数成分の集合をＰで表す。画素ｘ≡（ｘ１，ｘ２）∈Ｍの値をｆ（ｘ）≡ｆ（ｘ１，ｘ２）とする。ＰＮ系列ｐ（ｘ）による直接拡散によって得られる画像の画素値は、（１）式の通りである。
【００８７】
【数１】
0003607521.tif 000002
【００８８】
この画像を直交変換して得られる周波数成分を（２）式に表す。
【００８９】
【数２】
0003607521.tif 000003
【００９０】
で表わす。ここで、Ａ（ｕ，ｘ）は直交変換の行列要素を表わし、（３）式及び（４）式が成り立つとする。
【００９１】
【数３】
0003607521.tif 000004
【００９２】
ここで、電子透かしの埋め込みアルゴリズムとして、便宜上次のような単純なものを考える。
【００９３】
【数４】
0003607521.tif 000005
【００９４】
これに対応する電子透かしの抽出アルゴリズムとして、次のようなものを考える。
【００９５】
【数５】
0003607521.tif 000006
【００９６】
なお、上記埋め込みアルゴリズム並びに検出アルゴリズムは、後述の式展開の前提として便宜上与えたものであり、実施形態で示す発明がこのアルゴリズムに限定されることを示すものではない。
【００９７】
一方、検出の信頼性を表す指標としては、偽陽性率（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ  ｒａｔｉｏ）と偽陰性率（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ  ｒａｔｉｏ）が一般的である。偽陽性率は、電子透かしを埋め込んでいないのに、埋め込まれていると誤った判定をする確率である。一方、偽陰性率は、電子透かしを埋め込んだのに、埋め込んでいないと誤った判定をする確率である。
【００９８】
さらに、符号理論における復号誤り率に相当する抽出誤り率（ｅｘｔｒａｃｔｉｏｎ  ｅｒｒｏｒ  ｒａｔｉｏ）を定義する。偽抽出率は、０が埋め込まているのに１が埋め込まれていると誤った判定をする確率と１が埋め込まれているのに０が埋め込まれていると誤った判定をする確率である。偽陽性率、偽陰性率及び抽出誤り率は、電子透かしアルゴリズムや埋め込みと抽出の間で画像に施された操作，そして画像の性質に依存する。
【００９９】
一般には、検出・抽出において、図１８に示すような可能性がある。
【０１００】
図１８は電子透かし情報の検出・抽出において生じる状況を示す図である。
【０１０１】
ＰＮ系列による拡散によって各画素の画素値は独立変数であるかのように見なせるので、拡散画像の周波数成分値は、中心極限定理によってガウス分布で近似できる。
【０１０２】
ここで、本実施形態の改良直接拡散法における第２の特徴を説明する。
【０１０３】
拡散画像の周波数成分値の期待値を空間平均によって与えるならば、
【０１０４】
【数６】
0003607521.tif 000007
【０１０５】
となる。直流成分の期待値に対しても、ＰＮ系列による拡散のため、期待値は自然とゼロとなる。
【０１０６】
同様に、拡散画像のある周波数成分値の二乗の期待値は、周波数成分値の二乗平均によって与えられるとすると、その値は、
【０１０７】
【数７】
0003607521.tif 000008
【０１０８】
すなわち（６）式及び（７）式より、拡散前画素値の分散σと拡散及び直交変換後の周波数成分値の分散σとが等しくなることが証明されたものである。したがって、本実施形態で用いられる改良直接拡散法では、原画像全体についての直交変換及び逆直交変換を行わなくても、この分散を基本として周波数空間で透かし情報埋め込みに用いるべき埋込強度λを決定できる。つまり直交変換後の周波数成分値の分散σがわかっているので、埋め込み強度λとして、しきい値を越え、かつ画像等が劣化しない程度に弱いもの（低エネルギー）とすることが可能である。
【０１０９】
【数８】
0003607521.tif 000009
【０１１０】
ここで、（８）式で示される埋込強度λは、一般形であり、本実施形態では、（９）式又は（１０）式の形で埋込強度λが計算される。
【０１１１】
次に本実施形態の改良直接拡散法における第３の特徴を説明する。
【０１１２】
埋め込み位置の周波数成分値がある閾値Ｔを超える場合に透かし情報が埋め込まれていると判断するとすると、
【０１１３】
【数９】
0003607521.tif 000010
【０１１４】
と表せる。拡散後の周波数成分値の分散σを小さくすることにより、偽陽性率を小さくできると期待される。
【０１１５】
この値は、個々の画像に依存する値である。エルゴート性を仮定してこの期待値をアンサンブル平均による期待値と見なすことは適切ではない。故に、直接拡散法では、一般に、電子透かしの信頼性は個々の画像に強く依存してしまう。
【０１１６】
そこで、本実施形態では、透かし情報が埋め込まれる対象全体（埋め込み単位に分割した場合を含む）についての平均を取るのではなく、この対象をさらに複数のブロック（平均ブロック）にわけ、この平均ブロック毎に画素値の平均を取り、画素値から平均値を差し引くようにしたのである。
【０１１７】
図３は本発明の第３の特徴を説明するための図である。同図（ａ）には４×４画素を平均ブロックとした場合、同図（ｂ）には８×８画素を平均ブロックとした場合が示されている。
【０１１８】
透かし情報が埋め込まれる対象となる埋込ブロック単位でなく、図３に示した平均ブロック単位で画素平均を求め、これを用いて画素値シフトすることで図４に示すように分散σが小さいものとなる。
【０１１９】
図４は埋込ブロック単位で画素平均を求める場合と平均ブロック単位で画素平均を求める場合を比較する図である。
【０１２０】
同図より明らかなように、平均ブロック単位で画素平均を取り、画素値シフトを行えばシフト値の分布範囲は小さなものとなり、分散σを小さくできる。
【０１２１】
また、図５は本発明の実施形態に用いられる各ブロックについて示す図である。
【０１２２】
同図に示すように、画素の集合が画像全体を構成しており、この画像全体が埋込ブロックに分割されている。埋込ブロックは透かし情報を埋め込む単位であり、一般的には６４×６４画素，１２８×１２８画素あるいは２５６×２５６画素程度の大きさに画像が分割されてなる。なお、埋込ブロックは画像全体に一致してもかまわない。
【０１２３】
埋込ブロック内はそれ以下（通常は未満）のサイズの平均ブロックに分割され、また、拡散ブロックに分割される。平均，拡散両ブロックとも１画素より大きい。なお、処理をより有効なものとするには、図４，図５に示すように、平均ブロックサイズが拡散ブロックサイズよりも大きいことが望ましい。さらに、拡散ブロックが平均ブロックに含まれるようなブロック構成にするとより好ましい。
【０１２４】
以上が本発明の主な特徴であるが、次に本発明を実現させるための具体的な形態を説明する。
【０１２５】
図１は本発明の実施の形態に係る電子透かし埋込検出装置の一例を示すブロック構成図である。
【０１２６】
この電子透かし埋込検出装置１は、パーソナルコンピュータやワークステーション等の計算機、１又は複数からなるＩＣチップ等の計算機要素を含む手段からなるものであり、ＣＰＵやメモリ等のハードウエア要素とプログラムやデータ等のソフトウエア要素が結合して図１に示すような機能を実現する。
【０１２７】
図１の電子透かし埋込検出装置１は、電子透かし埋込処理部２と、電子透かし検出処理部３と、ＰＮ系列発生器４と、ブロック情報格納部５と、埋込位置情報格納部６とから構成されている。なお、同図では、電子透かし埋込装置と電子透かし検出装置とを一体のものとして構成しているが、これらはそれぞれ別々の装置となってもよいものである。その場合、各装置には、検出処理部３又は埋込処理部２の何れか一方がそれぞれ不要となる。
【０１２８】
ここでまず、電子透かし埋込処理部２は、画像や音楽等のデジタルデータである電子透かしの埋込対象を入力して、埋込処理を実行し、電子透かし情報が埋め込まれた埋込済情報を出力する。また、この埋込処理を実行するために、拡散ブロック情報１１，平均ブロック情報１２及び埋込ブロック情報１３並びに透かしの埋込位置情報が入力され、ＰＮ系列発生器４からＰＮ系列信号が入力されるようになっている。
【０１２９】
電子透かし検出処理部３は、電子透かし情報が埋め込まれている可能性がある透かし情報検出対象を入力して、検出抽出処理を実行し、電子透かしが埋め込まれているか否かの検出結果、及び透かし埋込されている場合における電子透かし抽出結果を出力する。また、この検出抽出処理を実行するために、拡散ブロック情報１１，平均ブロック情報１２及び埋込ブロック情報１３並びに透かしの埋込位置情報が入力され、ＰＮ系列発生器４からＰＮ系列信号が入力されるようになっている。なお、一般に検出処理とは透かしの有無検出をいい、抽出処理とは透かし抽出をいうが、本明細書では時として検出処理に抽出処理を含めることとする。
【０１３０】
ＰＮ系列発生器４は、埋込処理及び検出抽出処理に用いるＰＮ系列信号を発生し、電子透かし埋込処理部２又は電子透かし検出処理部３に与えるようになっている。
【０１３１】
ブロック情報格納部５は、拡散ブロック情報１１，平均ブロック情報１２及び埋込ブロック情報１３を格納しており、これらの情報を電子透かし埋込処理部２又は電子透かし検出処理部３に与えるようになっている。
【０１３２】
埋込位置情報格納部６は、透かし情報の埋め込み位置情報又は埋め込み位置情報の元となる情報を格納しており、埋込位置情報を電子透かし埋込処理部２又は電子透かし検出処理部３に与えるようになっている。この埋込位置情報及び埋込強度情報に基づいて電子透かしが埋め込まれることになる。
【０１３３】
次に、このように構成された本実施形態における電子透かし埋込装置及びその検出装置の動作について説明する。なお、以下の説明では透かし情報埋込対象が画像データである場合を取り扱う。
【０１３４】
図６は電子透かし情報埋込処理部における処理を示す流れ図である。
【０１３５】
同図に示す各処理ＳＴ１〜ＳＴ１１は、処理手続きであると同時に機能手段であると考えることもできる。これらは具体的にはプログラムに従って実行される処理である。
【０１３６】
電子透かし埋込処理においてはまず、透かし情報の埋込対象である画像データが入力され、ブロック情報格納部５からの埋込ブロック情報に基づいて埋込ブロック分割される（ＳＴ１）。透かし情報は各埋込ブロックそれぞれに埋め込まれるが、ここでは一つの埋込ブロックに着目して以下の説明を行う。なお、画像全体をひとつの埋込ブロックとして扱う場合には、本処理は不要である。
【０１３７】
次に、埋込ブロックは、ブロック情報格納部５からの平均ブロック情報に基づいて、さらに平均ブロックに分割される（ＳＴ２）。
複数の平均ブロック分割された画像データは、平均値計算処理（ＳＴ３）及び画素値シフト処理（ＳＴ４）に引き渡される。このうち平均値計算処理（ＳＴ３）においては、各平均ブロック単位で画素平均値が算出され、それぞれが画素値シフト処理（ＳＴ４，ＳＴ１１）に引き渡される。
【０１３８】
画素値シフト処理（ＳＴ４）においては、平均ブロック分割（ＳＴ２）から受け取った各平均ブロック内の画素値が、その対応する平均ブロックの平均値（局所平均値）で差し引かれ、これにより画素値のシフトが実行される。
【０１３９】
このように、処理ＳＴ２〜ＳＴ４では画素値を平均値からの差分で再定義することによって、分散σを小さくしている。特に、埋め込みブロックサイズが大きな場合には、自然な画像が持っている画素値の空間的な局所性を利用し、画像の局所的な平均値を定義し、その局所的平均値からの差分として画素値を再定義することにより、分散σがより小さくなるようにしている。
【０１４０】
画素値シフト処理（ＳＴ４）を受けた画像データは、拡散ブロック分割処理（ＳＴ５）及び画素値の分散計算処理（ＳＴ７）に引き渡される。
【０１４１】
ここで、拡散ブロック分割処理（ＳＴ５）においては、ブロック情報格納部５からの拡散ブロック情報に基づいて、画素値シフトされた画像データが拡散ブロックに分割される。さらに、画像データは、拡散ブロックの単位でＰＮ系列発生器４からのＰＮ系列信号が乗積されスペクトル拡散される。なお、拡散ブロック内の画素値には、同一の乱数値（ＰＮ値）が乗積されることになる。
【０１４２】
これら処理ＳＴ５，ＳＴ６においては、拡散ブロックのスケール（サイズ）が制御されることで、透かしが埋め込められる周波数領域が低中間周波領域になるように制御されている。つまり個々の画素ではなく、隣接する複数の画素からなる拡散ブロック（矩形である必要は必ずしもない）に対してＰＮ系列の一つの乱数値を乗積し、画素値を変更するようにしている。この拡散ブロックのスケールを制御することで、後述する逆拡散によって配分される透かし情報のエネルギーは、そのスケールよりも低周波側に集中させることが可能となる。
【０１４３】
一方、画素値の分散計算処理（ＳＴ７）においては、画素値シフト処理された画像データに基づき、スペクトル拡散を受けていない画素値の二乗平均が算出される。（７）式に示したように、この算出された二乗平均は、周波数成分値の分散σの二乗となっている。なお、このとき求まる分散σは処理ＳＴ２〜ＳＴ４により十分に小さなものとなっている。
【０１４４】
さらに、この分散σ（あるいは二乗平均）に基づき、電子透かしの埋込強度λが計算される（ＳＴ８）。この埋込強度計算は、（９）式又は（１０）式により行われる。
【０１４５】
次に、ＰＮ系列乗積処理（ＳＴ６）にてスペクトル拡散された画像データ値に対し、埋め込み強度計算処理（ＳＴ８）にて計算された埋込強度λでもって電子透かし情報が埋め込まれる（ＳＴ９）。この場合、画像データ全体は画素領域のままであるが、拡散後の周波数成分値の分散σに基づく埋込強度λを用いることが可能であるため、周波数領域内の周波数成分の値を変更することによって、透かし情報を埋め込むことができる。なお、周波数成分値の変更処理（ＳＴ９）には、埋込位置情報格納部６から埋込位置情報が与えられる。
【０１４６】
次に、透かし情報が埋め込まれた画像データには、処理ＳＴ６と同様に、ＰＮ系列発生器４からのＰＮ系列が拡散ブロック単位で乗積され、逆スペクトル拡散される（ＳＴ１０）。
【０１４７】
そして、逆拡散された画像データは、平均値計算処理（ＳＴ３）で求めた各画素平均値に基づいて平均ブロック毎に画素値がシフトされ、元の画像に復元される（ＳＴ１１）。こうして、透かし情報が埋め込まれた画像データが電子透かし埋込処理部２から出力される。
【０１４８】
次に、電子透かし情報の検出抽出処理について説明する。
【０１４９】
図７は電子透かし情報埋込処理部における処理を示す流れ図である。
【０１５０】
なお、同図に示す各処理ＳＴ２１〜ＳＴ２７も、図６の場合と同様に、処理手続きであると同時に機能手段であって、これらは具体的にはプログラムに従って実行される処理である。
【０１５１】
まず、透かし情報が埋め込まれた可能性のある透かし情報検出対象である画像データが入力され、ブロック情報格納部５からの埋込ブロック情報によって埋め込みブロック分割される（ＳＴ２１）。
【０１５２】
次に、分割された埋込ブロックは、ブロック情報格納部５からの平均ブロック情報に基づいて平均ブロック分割される（ＳＴ２２）。
平均ブロック分割された画像データは、画像値シフト処理ＳＴ２４に引き渡されるともに、平均値計算処理において、各平均ブロック毎に画素平均値が計算され、計算結果が画素シフト処理に引き渡される（ＳＴ２３）。
【０１５３】
画素シフト処理（ＳＴ２４）においては、平均ブロック分割された画像データは、平均ブロック毎に画素値から対応する画素平均値が差し引かれ、画素シフトが行われる。
【０１５４】
次に、画素シフトされた画像データがブロック情報格納部５からの拡散ブロック情報に基づいて拡散ブロックに分割される（ＳＴ２５）。
【０１５５】
次に、ＰＮ系列発生器からのＰＮ系列信号が、図６の処理ＳＴ６と同様に拡散ブロック単位で画素シフトされた画像データに乗積され、スペクトル拡散が行われる（ＳＴ２６）。
【０１５６】
目的とする透かし情報を検出抽出する場合には、予めどの埋込位置情報が用いられるかわかっている。そこで、埋込位置情報格納部６からの埋込位置情報が用いられ、周波数領域内の周波数成分の値に基づいて、透かし情報を検出スペクトル拡散された画像データに透かし情報が埋め込まれているか検出される。さらに、埋め込まれた電子透かし情報が抽出される（ＳＴ２７）。
そして、これらの検出抽出結果が電子透かし検出処理部３から出力される。
【０１５７】
上述したように、本発明の実施の形態に係る電子透かし埋込装置及びその検出装置は、直接拡散法において、１画素よりも大きな拡散ブロックの単位で拡散、透かし埋め込みを行うようにしたので、逆スペクトル拡散をしたときに埋め込みエネルギーが高周波領域まで分散されることを防止することができる。これにより、圧縮伸張等の下で電子透かし情報が失われやすいという欠点をなくすことができる。すなわち、圧縮伸張等の下で透かし情報が残存する性質を高めることができる。ひいては、Ｄ−Ａ−Ｄ変換やＳｔｉｒＭａｒｋ攻撃に対する透かし情報の保持性を高くすることができる。
【０１５８】
また、本実施形態の電子透かし埋込装置及びその検出装置は、平均ブロックを導入し、この平均ブロック単位で画素平均をとり、画像シフトを行うようにしたので、原画像の画素値分布状況にかかわらず周波数領域における分散σを小さくすることができ、これによって、絶対値は低いがしきい値に対しては相対的に強い埋込強度λとなるように、透かし情報埋め込みを行うことができる。したがって、画像劣化等のデータ品質劣化を起こすことなく、透かし情報の容量を向上させることができる。
【０１５９】
したがって、実質的に画像ごとの画像適応や画像の部分ごとの画像適応がなされており、大きなブロックに対して小さなサイズの透かし情報しか埋め込めない等といった事態を防止することができる。
【０１６０】
また、本実施形態の電子透かし埋込装置及びその検出装置は、周波数成分値の分散σの二乗は拡散前の画素値の二乗平均に等しいという（７）式で得られた知見を利用し、画像全体を直交変換することなく（８）式、（９）式又は（１０）式で埋込強度λを得て透かし情報埋込み検出を行うようにしたので、透かし情報の埋め込みの際に大きなブロックサイズを選択した場合でも、スペクトル拡散・逆拡散、直交変換・逆変換の計算コストを小さくできる。したがって、高速でかつ上記の周波数空間の分散σに対応した電子透かし情報埋め込みを行うことができる。
【０１６１】
このため、従来、性能的な観点からハードウェア的に実装する以外に手段がなかったような場合でもソフトウェアによる実装が可能になり得る。さらに、透かし情報の埋め込みの回路をハードウェアで実装する場合でも、従来より小さなハードウェアコストでの実装が可能となる。
【０１６２】
したがって、高速な透かし情報の埋め込みにより、画像等のデータの利用・転送時に利用者や転送先の情報を埋め込むフィンガープリント装置を実現することが可能となる。
【０１６３】
また、高速な透かし情報の検出も可能であることから、画像等のデータに、その利用制御・コピー制御情報、デスクランブル鍵を埋め込み、それらの情報をデータとともに転送し、利用時に即座にそれらの情報を検出するという利用法も可能である。
【０１６４】
なお、本実施形態では、拡散ブロックへのＰＮ系列信号の与え方については詳述しなかったが、本発明では拡散ブロック毎に異なる擬似乱数を与える等も可能であり、自由度が高い。また、拡散ブロックのスケールの設定は基本的に自由に行うことができるため、圧縮伸張操作のスケールに対応して適切なブロックサイズを設定することができる。
【０１６５】
さらに、本実施形態では、平均ブロック及び拡散ブロックという考え方を用いているが、これらの情報がわからなければ、電子透かし情報の検出や抽出、ひいては透かし情報の操作や抹消ができない。したがって、平均ブロック情報又は拡散ブロック情報を秘密の情報とすれば、たとえＰＮ系列や埋込位置情報が漏れた場合でも、悪意の第三者に透かし埋め込み画像を解析されることを防止できる。
【０１６６】
【実施例】
（第１の実施例）
実施形態では、図６及び図７によって電子透かし情報の埋込処理並びに検出抽出処理の全体を説明したが、これらの処理の中でも特に周波数成分値の変更処理ＳＴ９及び周波数成分値による判定処理ＳＴ２７についてより具体的な実施例を説明する。
【０１６７】
本実施例は、実施形態で説明した電子透かし埋込装置及びその検出装置について適用するものであり、周波数成分値の変更処理ＳＴ９及び周波数成分値による判定処理ＳＴ２７に対応する。
【０１６８】
図８は本発明の実施例における図６の周波数成分値の変更処理ＳＴ９を示すブロック図である。
【０１６９】
同図において、周波数成分値の変更処理ＳＴ９は、透かし情報の埋込み対象である画像の画素値データを入力し、透かし情報を埋込んだ後に、透かし情報埋込み済みの画像の画素値データを出力する。この周波数成分値の変更処理ＳＴ９における入出力の形式は、画像全体やフレーム単位に一括して入出力してもよいし、ビットストリームとして連続的に入出力してもよい。
【０１７０】
周波数成分値の変更処理ＳＴ９は、埋込み位置選択部８１と、画素値変分計算部８３と、画素値変換部８４との各処理から構成される。
【０１７１】
埋込み位置選択部８１は、周波数成分値には依存せずに透かし情報を埋め込むべき周波数空間中の位置（埋込み位置）を決定する。以下では、埋込み位置（ｕ，ｖ）が１点であるとして説明するが、複数の点を埋込み位置とすることも可能である。その場合、埋込み位置選択部８１は、周波数空間における埋込み位置（ｕ，ｖ）の組Ｓｆ  を与える。
【０１７２】
埋込み位置選択部８１は、透かし情報の埋込み位置を決定（選択）するのに、例えば画像の周波数空間中の固定的な位置を埋込み位置とする手法を適用する。この他、固定的な位置を埋込み位置とするのではなく、最初の数フレームの情報は固定だがそれ以降は、その固定フレームで読み出した情報に基づき埋込み位置を決定する手法、利用者固有の情報から計算される位置を埋込み位置とする手法、埋込む位置を透かし情報以外の手段で渡す手法、埋込み位置を乱数で生成する手法、利用者毎にその乱数の系列が異なるようにする手法、などが適用可能である。なお、ここでは画像の周波数空間中の固定的な位置を埋込み位置に対応する埋込位置情報を埋込位置情報格納部６から入力している。
【０１７３】
更に、埋込み位置選択部８１において、複数位置に埋込まれた透かし情報の間のうなりを回避するように埋込み位置を決定してもよい。例えば、乱数で生成した複数の埋込み位置が画素値空間中の同一点や近傍点で極値を持つ場合には、透かし情報を埋込んでいることが視覚的に認識できることがある。特に、極値の重なりが１点ではなくて１次元的、或いは２次元的な広がりを持つ領域となる場合には、認識されやすい。そこで、埋込み位置選択部８１に、複数の埋込み位置の間でこのようなうなりを生ずるか否かを判定する機能を持たせ、埋込み位置の候補を生成する度に、この判定機能によってその候補の妥当性を判定し、不適切な候補と判定した場合には、当該候補を破棄し、適切な候補と判定した場合には、それを埋込み位置の組Ｓｆ  の要素として選択する構成を付加するようにしてもよい。
【０１７４】
このような埋込み位置選択部８１の構成例を図９（ａ）に示す。ここでは、埋込み位置選択部８１は、例えば乱数により決定される透かしの周波数の対を埋込み位置の候補として複数生成する周波数生成部８１１と、生成された複数の埋込み位置の候補を入力として、うなりの程度を判定し、うなりの影響を回避するような所定個数（Ｎ個）の埋込み位置の組Ｓｆ  を選択して出力するうなり判定部８１２とから構成されている。
【０１７５】
ここで、埋込み位置選択部８１を図９（ａ）のように構成した場合の、当該埋込み位置選択部８１での具体的な動作を図９（ｂ）のフローチャートを参照して説明する。
まず、うなり判定部８１２は、埋込み位置を表す変数ｉを初期値０に設定すると共に、埋込み位置（ｕｉ  ，ｖｉ  ）の組Ｓｆ  を格納するためのバッファ（リスト）を初期化する（ステップＳ１）。但し、（ｕｉ  ，ｖｉ  ）＝（０，０）は、候補としないものとする。
【０１７６】
この状態で、うなり判定部８１２は、周波数生成部８１１により、乱数によって決まる周波数の対からなる埋込み位置の候補を１つ生成させて、その埋込み位置候補を入力し、（ｕｉ  ，ｖｉ  ）とする（ステップＳ２）。
【０１７７】
次にうなり判定部８１２は、埋込み位置候補（ｕｉ  ，ｖｉ  ）についてうなりの程度を評価・判定するための比較対象とする埋込み位置を指す変数ｊを初期値０に設定する（ステップＳ３）。この変数ｊは、第ｊ番目に選択された埋込み位置（Ｓｆ  の第ｊ番目の埋込み位置）を示す。
【０１７８】
次にうなり判定部８１２は、ｉとｊとを比較し（ステップＳ４）、この例のようにｊ＜ｉでないならば、その際の埋込み位置候補（ｕｉ  ，ｖｉ  ）を埋込み位置として選択し、Ｓｆ  の第ｊ番目に設定する（ステップＳ５）。
【０１７９】
ここで、Ｓｆ  に設定された埋込み位置候補の数がＮ個、つまりｉ＝Ｎ−１に達していないならば（ステップＳ６）、うなり判定部８１２はｉを１インクリメントする（ステップＳ７）。そして、うなり判定部８１２は、周波数生成部８１１により次の埋込み位置の候補を生成させて、その埋込み位置候補を入力し、（ｕｉ  ，ｖｉ ）とする（ステップＳ２）。
【０１８０】
次にうなり判定部８１２は、ｊを初期値０に設定し、当該ｊがｉより小さいならば、ステップＳ２で入力した今回の埋込み位置候補（ｕｉ  ，ｖｉ  ）が第ｊ番目に選択された埋込み位置（ｕｉ  ，ｖｉ  ）、つまり（ｕｊ  ，ｖｊ  ）に対してうなりの影響を及ぼすか否かを判定する（ステップＳ８）。即ち、２つ以上の異なる周波数を持つ波（透かし）は、必ずうなりを生ずるため、うなり判定部８１２は、うなりを生ずる領域を小さな領域、小さな次元に抑えることを目的として、うなりの程度の判定を次のように行う。
【０１８１】
まず、２以上の周波数からなる周波数の組の間に整数比が成立する場合、それらの周波数の最小公倍数を周波数とする大きなうなりが発生する。例えば、２次元の広がりを持つ画像中において、２つの周波数の透かしの間に周波数が整数比を持っている場合、このうなりのピークは１次元状の広がりを持った格子模様状の領域を示す。そこで、うなり判定部８１２では、複数の周波数の間にこのような整数比、或いは近似的に整数比が成立するか否かを判定することで、うなりの程度の判定結果とするようにしている。
【０１８２】
具体的には、うなり判定部８１２は上記ステップＳ８において、埋込み位置候補（ｕｉ  ，ｖｉ  ）の成分（周波数）と、第ｊ番目に選択された埋込み位置（ｕｊ  ，ｖｊ  ）の成分との間の次の関係
（ｕｉ＊ｖｊ−ｖｉ＊ｕｊ）／｛｜（ｕｉ，ｖｉ）｜＊｜（ｕｊ，ｖｊ）｜｝
が、以下の判定条件
−ε＜（ｕｉ＊ｖｊ−ｖｉ＊ｕｊ）／｛｜（ｕｉ，ｖｉ）｜＊｜（ｕｊ，ｖｊ）｜｝＜＋ε
を満たすか否かにより、うなりの影響の有無を判定する。ここで、εは１≫εとなる正数であって、予め適当な数値を与えておけばよい。なお、｜（ｕ，ｖ）｜はベクトル（ｕ，ｖ）の大きさを表す。
【０１８３】
つまり、２つの周波数成分（ｕｉ  ，ｖｉ  ）と（ｕｊ  ，ｖｊ  ）がベクトルとして殆ど同じ方向を持つ場合には、うなりにより１次元または２次元のピークの領域が発生するので、このような関係にある周波数成分の組を排除するように上記の判定条件に従って判定する。
【０１８４】
さて、上記判定条件を満たす場合には、うなり判定部８１２は埋込み位置候補（ｕｉ  ，ｖｉ  ）と埋込み位置（ｕｊ  ，ｖｊ  ）との間で大きなうなりが発生するものと判定し、当該候補を選択せずに、ステップＳ２に戻る。そしてうなり判定部８１２は、周波数生成部８１１により次の埋込み位置の候補を生成させて、その埋込み位置候補を入力し、（ｕｉ  ，ｖｉ ）とし、ステップＳ３以降の処理を行う。
【０１８５】
これに対し、上記式を満たさない場合には、うなり判定部８１２は埋込み位置候補（ｕｉ  ，ｖｉ  ）と埋込み位置（ｕｊ  ，ｖｊ  ）との間で大きなうなりが発生しないものと判定し、変数ｊを１インクリメントする（ステップＳ９）。もし、この１インクリメント後のｊの値がｉ以上となったならば、うなり判定部８１２は、今回の埋込み位置候補（ｕｉ  ，ｖｉ  ）が、既に選択されている全ての埋込み位置（つまりｉ−１個の埋込み位置）に対してうなりの影響を及ぼさないことを確認できたと判断し、その埋込み位置候補（ｕｉ  ，ｖｉ  ）を埋込み位置として選択し、Ｓｆ  の第ｊ番目に設定する（ステップＳ５）。一方、１インクリメント後のｊの値が依然としてｉより小さいならば、うなり判定部８１２は、今回の埋込み位置候補（ｕｉ  ，ｖｉ  ）が、第ｊ番目に選択された埋込み位置（ｕｉ  ，ｖｉ  ）、つまり（ｕｊ  ，ｖｊ  ）に対してうなりの影響を及ぼすか否かを判定するステップＳ８に進む。
【０１８６】
やがて、Ｓｆ  に設定された埋込み位置の個数がＮ個になると（ステップＳ６）、うなり判定部８１２はそのＳｆ  の内容、つまりＮ個の埋込み位置の組を画素値変分計算部８３に出力する（ステップＳ１０）。
【０１８７】
このようにして、（埋込み位置選択部８１内の）うなり判定部８１２が出力したＮ個の埋込み位置の組の各成分の間には、１次元、或いは２次元の広がりをもったピークを示すうなりは生じない。なお、図９（ｂ）のフローチャートに従う手順は一例であり、要は、周波数生成部８１１によって逐次生成される埋込み位置候補の中から、その成分の間に大きなうなりを生じる虞のないＮ個の埋込み位置候補を埋込み位置として選択すればよい。
【０１８８】
また、図８に示すように埋込強度λが図６の処理ＳＴ８から入力されているが、これは埋込む透かし情報を表現している変分値を意味することになる。
【０１８９】
なお、複数の埋込み位置がある場合、図６の埋込強度計算処理ＳＴ８は、Ｓｆ  の各点に対応する埋込強度λの組Λを与えるように構成されていればよい。
さて、図６の埋込強度計算処理ＳＴ８が埋込み位置（ｕ，ｖ）における周波数成分値の変分値をΔＦ（ｕ，ｖ）と決定すると、位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）は、透かし情報埋込み後にＦ（ｕ，ｖ）＋ΔＦ（ｕ，ｖ）となる。
【０１９０】
画素値変分計算部８３は、透かし情報の埋込みの対象となる画像の画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を、埋込み位置選択部８１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）と、周波数成分値変分決定部８２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）を入力として計算する。
【０１９１】
ここでは画素値変分計算部８３は、次式（２１）
Δｆ（ｘ，ｙ）＝Ａ−１（ｘ，ｕ）・Ａ−１（ｙ，ｖ）・ΔＦ（ｕ，ｖ）…（２１）
に従って画素値の変分Δｆ（ｘ，ｙ）を計算する。
【０１９２】
この計算を行う画素値変分計算部８３の構成例を図１０に示す。
図１０の例では、画素値変分計算部８３は、第１の行列要素計算部８３１と、第２の行列要素計算部８３２と、変分計算部８３３とから構成される。
【０１９３】
第１の行列要素計算部８３１は、埋込み位置選択部８１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第１の行列要素Ａ−１（ｘ，ｕ）を計算する。一方、第２の行列要素計算部８３２は同じく周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第２の行列要素Ａ−１（ｙ，ｖ）を計算する。
【０１９４】
変分計算部８３３は、第１の行列要素計算部８３１及び第２の行列要素計算部８３２の計算結果と、周波数成分値変分決定部８２によって決定された周波数成分値の変分ΔＦ（ｕ，ｖ）（＝±λ）とを入力し、上記式（２１）に従う計算を行うことで、周波数空間中の埋込み位置（ｕ，ｖ）に対応する画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）を求める。この変分計算部８３３によって求められた画素値空間中の各点（ｘ，ｙ）における画素値の変分Δｆ（ｘ，ｙ）は、画素値変分計算部８３の出力として画素値変換部８４に送られる。
【０１９５】
なお、埋込み位置選択部８１によって選択される周波数空間中の埋込み位置が複数の場合には、その埋込み位置を（ｕｉ  ，ｖｉ  ）とすると、各埋込み位置（ｕｉ  ，ｖｉ  ）毎に、その埋込み位置（ｕｉ  ，ｖｉ  ）に対応する画素値空間中の各点（ｘ，ｙ）における画素値の変分を求め、その点（ｘ，ｙ）における各埋込み位置（ｕｉ  ，ｖｉ  ）毎の変分の総和、つまりΣｉ  Ａ−１（ｘ，ｕｉ  ）・Ａ−１（ｙ，ｖｉ  ）・ΔＦ（ｕｉ  ，ｖｉ  ）を、画素値の変分Δｆ（ｘ，ｙ）とすればよい。
【０１９６】
ところで、画素値が、例えば整数値のような離散的な値をとる場合、画素値の小さな変分は、整数値への丸めの誤差によりゼロとなってしまう。そのため画素値変分計算部８３においては、分散して埋込んだ透かし情報までこの丸めの影響によって消されてしまわないように、整数値からのずれを画一的に切り捨てる代わりに、透かし情報が再現されるよう、確率的に、近接の整数値のいずれかにしてもよい。
【０１９７】
再び図８を参照すると、画素値変換部８４は、画素値変分計算部８３から送られる画素値空間中の各点（ｘ，ｙ）の画素値の変分Δｆ（ｘ，ｙ）に従い、画像データの変換を行う。
【０１９８】
以上に説明したように、本実施例においては、透かし情報の埋込み処理（に必要な直交変換後の透かし情報の埋込み位置の決定や周波数成分値の変分の決定）が、従来技術で必要とする直交変換・逆変換を行うことなく実現できる。したがって、本実施形態に係る電子透かし埋込み装置８０を用いれば、入力画像がストリームデータとして与えられる場合でも、大きな（容量の）バッファを必要とせずに透かし情報を実時間で逐次埋込むことが可能となる。
【０１９９】
以上の説明では、画像のフレーム全体を１つのブロックとして扱い埋込みを行う場合について述べたが、フレームを複数のブロックに分割した場合のブロックに対して同様の埋込みを適用することも可能である。
【０２００】
また、以上は、埋込み対象となるブロックが２次元のブロックである場合を例に説明したが、これに限るものではない。例えば、動画において、時間方向まで含めて埋込み領域とすることにより、ブロックを３次元に拡張することも可能である。
【０２０１】
これにより、１フレーム内の小さなブロックでは十分に分散させて透かし情報を埋込むことができない場合でも、複数のフレームに亘ることで、十分な画素点数を得ることによって、透かし情報を十分に分散させて埋込むことができる。また、フレームの間引きに強い形で透かし情報を埋込むことも可能である。
【０２０２】
ブロックを３次元に拡張した場合、大きなバッファに、時間方向に亘るブロックの画素値データを一旦格納してから周波数変換をすると、その処理のために時間的な遅延が生ずるとか、非常に重い処理になってしまうという問題が発生する虞がある。しかし本実施例においては、入力されたストリームデータに逐次埋込みを行うことができるため、大きなバッファを必要とせず高速に透かし情報を埋込むことが可能である。
【０２０３】
また、その際、視覚的にブロック境界が認識されることを避けるため、ブロックの領域周辺において透かし情報の埋込みによる画素値の変分をフェードアウトするようにしてもよい。透かし情報はブロック全体に分散して埋込まれているので、ブロックの周辺部のフェードアウトによっても正しく検出することが可能である。
【０２０４】
３次元画像中のブロックは、フレーム毎の切片が異なる位置に配置されるようオフセットを持っていてもよい。また、そのオフセットはランダムに設定されてもよい。更に、適当な直交変換が定義できるならば、ブロックの形状は直方体である必要はない。また、ブロックが２次元ブロックの場合でも、それを１フレーム内に束縛された形で埋込む必要はなく、３次元画像中に自由に埋込めばよい。
【０２０５】
図１１は本発明の実施例における図７の周波数成分値による判定処理ＳＴ２７を示すブロック図である。
周波数成分値による判定処理ＳＴ２７は、埋込み位置選択部９１と、周波数成分値計算部９２と、透かし情報復元部９３との処理から構成される。
埋込み位置選択部９１は、図８の周波数成分値の変更処理ＳＴ９中の埋込み位置選択部８１と同様の機能を持ち、当該埋込み位置選択部８１による埋込み時に選択した周波数空間中の埋込み位置（ｕ，ｖ）と同じ位置（ｕ，ｖ）を選択する。選択された埋込み位置（ｕ，ｖ）の情報は周波数成分値計算部９２に渡される。
【０２０６】
周波数成分値計算部９２は、埋込み位置選択部９１により選択された周波数空間中の位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）を、次式（２２）
Ｆ（ｕ，ｖ）＝Σｘ  Σｙ  Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）…（２２）
に従って計算する。ここで、Ａ（ｕ，ｘ），Ａ（ｖ，ｙ）は直交変換の行列要素である。
【０２０７】
この計算を行う周波数成分値計算部９２の構成例を図１２に示す。
図１２の例では、周波数成分値計算部９２は、第１の第１の行列要素計算部９２１と、第２の行列要素計算部９２２と、周波数成分値要素計算部９２３と、累積加算値記憶部９２４と、加算部９２５とから構成される。
【０２０８】
第１の行列要素計算部９２１は、埋込み位置選択部９１によって選択された周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第１の行列要素Ａ（ｕ，ｘ）を計算する。一方、第２の行列要素計算部９２２は同じく周波数空間中の埋込み位置（ｕ，ｖ）を逐次入力して、直交変換の第２の行列要素Ａ（ｖ，ｙ）を計算する。
【０２０９】
周波数成分値要素計算部９２３は、第１の行列要素計算部９２１及び第２の行列要素計算部９２２の計算結果を入力すると共に、周波数空間中の埋込み位置（ｕ，ｖ）に対応する画素値空間中の各点（ｘ，ｙ）の画素値ｆ（ｘ，ｙ）を逐次入力し、その都度Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）、つまり周波数成分値の要素を計算する。
【０２１０】
累積加算値記憶部９２４は、現時点までに周波数成分値要素計算部９２３によって計算されたＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）の和（累積値）を記憶するのに用いられる。
【０２１１】
加算部９２５は、周波数成分値要素計算部９２３によってＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が計算される毎に、その計算結果とその時点における累積加算値記憶部９２４の内容とを加算し、その時点までに周波数成分値要素計算部９２３によって計算されているＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）の和（累積値）を求める。累積加算値記憶部９２４の内容はこの加算部９２５の計算結果に更新される。
【０２１２】
このようにして、埋込み対象であるブロック中のすべての画素の画素値ｆ（ｘ，ｙ）が入力し終え、その最後のｆ（ｘ，ｙ）についてのＡ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が周波数成分値要素計算部９２３にて計算され、その計算結果と累積加算値記憶部９２４の内容（初期値は０）とが加算部９２５にて加算されると、その加算結果Σｘ  Σｙ  Ａ（ｕ，ｘ）・Ａ（ｖ，ｙ）・ｆ（ｘ，ｙ）が、埋込み位置選択部９１によって選択された埋込み位置（ｕ，ｖ）の周波数成分値Ｆ（ｕ，ｖ）として周波数成分値計算部９２から透かし情報復元部９３に出力される。
【０２１３】
透かし情報復元部９３は、周波数成分値計算部９２から出力されるＦ（ｕ，ｖ）により、埋込まれていた透かし情報を復元する。この復元は、例えばＦ（ｕ，ｖ）＞０ならば１が、Ｆ（ｕ，ｖ）＜０ならば０が、それぞれ埋込まれていたと推定することで実現可能である。
【０２１４】
以上のようにして、図６及び図７に示す周波数成分値の変更処理ＳＴ９及び周波数成分値による判定処理ＳＴ２７が一つの例として実施される。
【０２１５】
（第２の実施例）
実施形態で説明した電子透かし埋込装置及びその検出装置について適用する，図６のステップＳＴ６，ＳＴ９及びＳＴ１０に対応する第２の実施例を説明する。なお、本実施例は、以下に説明する点を除けば第１の実施例と同様なものである。
【０２１６】
本実施例によると、画像に対してＰＮ系列を乗積する処理が省略できるため、より効率的な埋め込みが可能となる。
【０２１７】
図１３は図６におけるＰＮ系列乗積処理ＳＴ６、及び、周波数成分の変更処理ＳＴ９、及び、ＰＮ系列乗積処理ＳＴ１０の３つの処理を合わせて実現する処理部の実施例である。
【０２１８】
第１の実施例との違いは、本実施例の処理部は、ＰＮ系列を乗積していない画像を入力として、ＰＮ系列を乗積した画像を生成することなく、直接に画素値の変分を計算して、出力画像を出力している点にある。
【０２１９】
このような実施例が実現できる理由は、第１の実施例において、周波数成分の変更処理ＳＴ９が計算していた（２１）式の演算に代えて、本実施例では
Δｆ（ｘ，ｙ）＝ｐ（ｘ，ｙ）・Ａ−１（ｘ，ｕ）・Ａ−１（ｙ，ｖ）・ΔＦ（ｕ，ｖ）
を計算することによって、前後のＰＮ系列乗積処理を省略できることによる。
【０２２０】
図１７中の画素値変分計算部は、ＰＮ系列を入力している点と、上で述べた新たな式に従って、変分を計算している点を除けば第１の実施例と同一である。図１８は、画素値変分計算部の構成例である。
【０２２１】
以上のようにして、図６に示すＰＮ系列乗積処理ＳＴ６、及び、周波数成分の変更処理ＳＴ９、及び、ＰＮ系列乗積処理ＳＴ１０の３つの処理が合わせて実施される。
【０２２２】
なお、本発明は、上記各実施形態、実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々に変形することが可能である。
【０２２３】
実施形態、実施例では、主に画像情報を電子透かし埋込対象として説明したが、本発明に適用できる電子透かし埋込対象はこれに限られるものでなく、テキストデータ、ＣＡＤデータ、音楽データ等、種々のデジタルデータについて適用できる。なお、実施形態では画素を基本単位と考え、例えば拡散ブロックは複数画素からなるとしている。デジタル音楽データ等においては、画素に対応する基本単位に対し、複数基本単位から構成されるデータ単位がこの場合の拡散ブロックに相当する。平均ブロックについても同様である。
【０２２４】
また、具体的な適用事例として、ＤＶＤ等の記憶媒体に本発明による電子透かしを埋め込んだ情報を格納する場合の他、インターネット等のネットワーク上に透かし埋込情報を送信するデジタル情報配布システムの場合も考えられる。また、インターネット上における音楽配信のためのＳＤＭＩ等にも本発明を適用できる。
【０２２５】
さらに、実施形態、実施例では、本発明をＩＣチップ上で実現させる場合を説明したが、本発明は、ＭＰＥＧ用チップやＤＶＤ用チップ等の各種処理チップの一部分として構成される場合を含む。
【０２２６】
また、実施形態、実施例では画像データ全体について直交変換をしないで透かし情報埋込、検出抽出を行う場合を説明したが、画像データ全体について直交変換して、透かし情報を埋め込み、逆直交変換を行うようにしてもよい。
【０２２７】
なお、実施形態、実施例に説明した装置は、記憶媒体に格納したプログラムをコンピュータに読み込ませることで実現させることができる。
【０２２８】
ここで本発明における記憶媒体としては、磁気ディスク、フロッピーディスク、ハードディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリ等、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【０２２９】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。
【０２３０】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【０２３１】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何らの構成であってもよい。
【０２３２】
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
【０２３３】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０２３４】
【発明の効果】
以上詳記したように本発明によれば、直接拡散法で埋め込まれた電子透かし情報のエネルギーが、逆スペクトル拡散過程において高周波側に配分されないようにすることができ、ひいては電子透かし情報を消失しにくくできる電子透かし埋込装置及びその検出装置並びに記憶媒体を提供することができる。
【０２３５】
また、本発明によれば、直接拡散法で電子透かし情報を埋め込むにあたって、スペクトル拡散，直交変換で周波数空間に変換されたデータ分布における分散が小さくなるようにでき、ひいては小さな埋込強度でも消失しにくい透かし情報埋め込みができる電子透かし埋込装置及びその検出装置並びに記憶媒体を提供することができる。
【０２３６】
さらに、本発明によれば、直接拡散法により電子透かし情報を埋め込みにあたって、高速な透かし埋め込みを行うことができる電子透かし埋込装置及びその検出装置並びに記憶媒体を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る電子透かし埋込検出装置の一例を示すブロック構成図。
【図２】本発明の第１の特徴を説明するための図。
【図３】本発明の第３の特徴を説明するための図。
【図４】埋込ブロック単位で画素平均を求める場合と平均ブロック単位で画素平均を求める場合を比較する図。
【図５】本発明の実施形態に用いられる各ブロックについて示す図。
【図６】電子透かし情報埋込処理部における処理を示す流れ図。
【図７】電子透かし情報埋込処理部における処理を示す流れ図。
【図８】本発明の実施例における図６の周波数成分値の変更処理ＳＴ９を示すブロック図。
【図９】埋込み位置選択部の処理構成例を示す図。
【図１０】画素値変分計算部の処理構成例を示す図。
【図１１】本発明の実施例における図７の周波数成分値による判定処理ＳＴ２７を示すブロック図。
【図１２】周波数成分値計算部の処理構成例を示す図。
【図１３】ＰＮ系列乗積処理、周波数成分の変更処理及びＰＮ系列乗積処理を合わせて実現する処理部の構成例を示す図。
【図１４】画素値変分計算部の構成例を示す図。
【図１５】直接拡散法においてまずスペクトル拡散を行う様子を示す図。
【図１６】直接拡散法で透かし情報を埋め込み逆スペクトル拡散する様子を示す図。
【図１７】直接拡散法における情報埋め込みの問題点を説明する周波数領域でのデータ分布を示す図。
【図１８】電子透かし情報の検出・抽出において生じる状況を示す図。
【符号の説明】
１…電子透かし埋込検出装置
２…電子透かし埋込処理部
３…電子透かし検出処理部
４…ＰＮ系列発生器
５…ブロック情報格納部
６…埋込位置情報格納部
８１…埋込み位置選択部
８３…画素値変分計算部
８４…画素値変換部
９１…埋込み位置選択部
９２…周波数成分値計算部
９３…透かし情報復元部
【図１】
0003607521.tif 000011
【図２】
0003607521.tif 000012
【図３】
0003607521.tif 000013
【図４】
0003607521.tif 000014
【図５】
0003607521.tif 000015
【図６】
0003607521.tif 000016
【図７】
0003607521.tif 000017
【図８】
0003607521.tif 000018
【図９】
0003607521.tif 000019
【図１０】
0003607521.tif 000020
【図１１】
0003607521.tif 000021
【図１２】
0003607521.tif 000022
【図１３】
0003607521.tif 000023
【図１４】
0003607521.tif 000024
【図１５】
0003607521.tif 000025
【図１６】
0003607521.tif 000026
【図１７】
0003607521.tif 000027
【図１８】
0003607521.tif 000028