(57)【要約】【課題】  映像信号にアナログ処理が行われる等の画素値の変化があっても電子透かし情報が劣化しにくく、映像情報の画質劣化が抑制される電子透かし埋め込みを実現することを目的とする。【解決手段】  映像の各フレーム毎に設定される拡散符号からなる拡散パターンに基き拡散された電子透かし情報を映像信号に埋め込むようにする。  また、映像に対する電子透かし情報の埋め込み時と同一の各フレーム毎に設定された拡散符号からなる拡散パターンに基き映像信号に埋め込まれた電子透かし情報の逆拡散を行い、映像に埋め込まれた電子透かし情報を検出するようにする【選択図】        図１
2005252957.tif 000002
【特許請求の範囲】
【請求項１】
映像の各フレーム毎に設定される拡散符号からなる拡散パターンに基き拡散された電子透かし情報を映像信号に埋め込むことを特徴とする電子透かし埋め込み方法。
【請求項２】
上記映像の各フレームに対応する映像信号に対し、上記電子透かし情報に対する拡散処理に対応した演算処理を行う演算ステップと、
この演算が行われた各フレームにおいて電子透かし情報を埋め込む画素位置を決定する画素位置決定ステップと、
この決定した画素位置に対応する上記フレームの画素値を上記電子透かし情報に応じて変更する画素値変更ステップと、
この画素値変更ステップにより上記画素位置の画素値が変更されたフレームに対し上記拡散パターンに基き拡散処理を行う拡散ステップとを備えたことを特徴とする請求項１記載の電子透かし埋め込み方法。
【請求項３】
映像の各フレーム毎に設定される拡散符号からなる拡散パターンに基き電子透かし情報を拡散する拡散ステップと、
この拡散された電子透かし情報を埋め込む上記フレーム上の画素位置を決定する画素位置決定ステップと、
この決定した画素位置に対応する上記フレームの画素値を上記拡散された電子透かし情報に応じて変更する画素値変更ステップとを備えたことを特徴とする請求項１記載の電子透かし埋め込み方法。
【請求項４】
上記演算ステップとして、各フレーム毎に設定される拡散符号からなる上記拡散パターンを映像の各フレームの画素値に積算する第１の積算ステップを備え、
この第１の積算ステップにより積算が行われた各フレームにおいて電子透かし情報を埋め込む画素位置を決定する画素位置決定ステップと、
この決定した画素位置に対応する上記フレームの画素値を上記電子透かし情報に応じて変更する画素値変更ステップと、
上記拡散ステップとして、この画素値変更ステップにより上記画素位置の画素値が変更されたフレームに対し上記拡散パターンを積算する第２の積算ステップとを備えたことを特徴とする請求項１記載の電子透かし埋め込み方法。
【請求項５】
秘密の生成鍵を使って上記拡散パターンを生成することを特徴とする請求項１ないし４いずれかに記載の電子透かし埋め込み方法。
【請求項６】
上記拡散パターンとして、フレームごとおよびフレーム内の各領域において異なる拡散パターンとなるように、時間方向の拡散パターンと空間方向の拡散パターンとを組み合わせることによって、最終的に映像信号に付加する拡散パターンを決定することを特徴とする請求項１ないし５いずれかに記載の電子透かし埋め込み方法。
【請求項７】
時間方向の拡散パターンとして、奇数フレームに対応する拡散パターンを生成するとともに、偶数フレームに対応する拡散パターンは隣接する奇数フレームと逆の符号をもつ拡散パターンとすることにより、拡散パターン中の符号の偏りが生じないようにすることを特徴とする請求項１ないし６いずれかに記載の電子透かし埋め込み方法。
【請求項８】
映像に対する電子透かし情報の埋め込み時と同一の、各フレーム毎に設定された拡散符号からなる拡散パターンに基き映像信号に埋め込まれた電子透かし情報の逆拡散を行い、映像に埋め込まれた電子透かし情報を検出することを特徴とする電子透かし検出方法。
【請求項９】
映像に対する電子透かし情報の埋め込み時と同一の、各フレーム毎に設定された拡散符号からなる上記拡散パターンに基き、各フレームに対応する拡散符号を対応する映像信号のフレームの各画素値に積算するステップと、
この積算した上記フレームについて隣接フレームを指定フレーム数だけフレーム積分する積分ステップと、
この積分した結果のフレームにおいて電子透かし情報を検出する上記フレーム上の画素位置を決定する画素位置決定ステップと、
この決定された画素位置の画素値集合の分布のずれに対応する電子透かし情報を検出する検出ステップとを備えたことを特徴とする電子透かし検出方法。
【請求項１０】
秘密の生成鍵を使って埋め込み時と同一の拡散パターンを生成することを特徴とする請求項８ないし９いずれかに記載の電子透かし検出方法。
【請求項１１】
上記拡散パターンとして、フレームごとおよびフレーム内の各領域において異なる拡散パターンとなるように、埋め込み時と同一の時間方向の拡散パターンと空間方向の拡散パターンとを組み合わせることによって、最終的に映像信号に付加する拡散パターンを決定することを特徴とする請求項８ないし１０いずれかに記載の電子透かし検出方法。
【請求項１２】
抽出した画素値集合の分布の統計的な性質から抽出情報の信頼度を計算し、信頼度が低い場合はあらかじめ定めた信頼度に至るまでフレーム積分数を動的に増加させることを特徴とする請求項９記載の電子透かし検出方法。
【請求項１３】
抽出した画素値集合の分布の統計的な性質から抽出情報の信頼度を計算し、信頼度が低い場合はあらかじめ定めた信頼度に至るまでフレーム積分数を動的に減少させることを特徴とする請求項９記載の電子透かし検出方法。
【請求項１４】
フレーム積分時に当該フレームに対応する拡散パターンの符号数が一致しない場合に、符号数が一致するまでフレーム積分数を動的に増加させることを特徴とした、請求項９記載の電子透かし検出方法。
【請求項１５】
フレーム積分数を動的に増加させるとき、あらかじめ定めた上限数に至った場合はフレーム積分を打ち切ることを特徴とする請求項１２ないし１４いずれかに記載の電子透かし検出方法。
【請求項１６】
フレーム積分時に当該フレームに対応する拡散パターンの符号数が一致しない場合に、符号数が一致するまでフレーム積分数を動的に減少させることを特徴とする請求項９に記載の電子透かし検出方法。
【請求項１７】
映像の各フレーム毎に設定される拡散符号からなる拡散パターンに基き拡散された電子透かし情報を映像信号に埋め込むことを特徴とする電子透かし埋め込み装置。
【請求項１８】
各フレーム毎に設定される拡散符号からなる上記拡散パターンを映像の各フレームの画素値に積算する第１の積算部と、
この第１の積算部により積算が行われた各フレームにおいて電子透かし情報を埋め込む画素位置を決定する画素位置決定部と、
この決定した画素位置に対応する上記フレームの画素値を上記電子透かし情報に応じて変更する画素値変更部と、
この画素値変更部により上記画素位置の画素値が変更されたフレームに対し上記拡散パターンを積算する第２の積算部とを備えたことを特徴とする請求項１７記載の電子透かし埋め込み装置。
【請求項１９】
映像に対する電子透かし情報の埋め込み時と同一の、各フレーム毎に設定された拡散符号からなる拡散パターンに基き電子透かし情報の逆拡散を行い、映像に埋め込まれた電子透かし情報を検出することを特徴とする電子透かし検出装置。
【請求項２０】
映像に対する電子透かし情報の埋め込み時と同一の、各フレーム毎に設定された拡散符号からなる上記拡散パターンに基き、各フレームに対応する拡散符号を対応するフレームの各画素値に積算する積算部と、
この積算した上記フレームについて隣接フレームを指定フレーム数だけフレーム積分する積分部と、
この積分した結果のフレームにおいて電子透かし情報を検出する上記フレーム上の画素位置を決定する画素位置決定部と、
この決定された画素位置の画素値集合の分布のずれに対応する電子透かし情報を検出する検出部とを備えたことを特徴とする電子透かし検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、たとえば映像の著作権管理などを目的として、映像データに他の情報（署名等の透かし情報）を秘匿する電子透かし技術に関し、特に透かし情報の埋め込み方法および検出方法に関する。
【背景技術】
【０００２】
従来の透かし情報の埋め込み技術としては、画像をウェーブレット変換した低周波成分をスペクトラム拡散した後にブロック分割し、そのブロックの平均値を量子化することにより情報を埋め込む方法がある（非特許文献１）。
【０００３】
また、画像を周波数変換した後、振幅成分の値を操作することにより情報を埋め込み、検出時には、原画との差分画像について、埋め込み情報との相関を計算して埋め込み情報を判別する方法がある（非特許文献２）。
【０００４】
さらに、画素値がランダムに分布していることを前提に、空間的にランダムに2点を選択してその差をとった場合、差の総和が０に収束することを利用して情報を埋め込む方法がある（非特許文献３）。
【０００５】
【非特許文献１】大西他、「多重解像度解析とPN系列を利用した電子透かし法」、電子情報通信学会論文誌 D-II Vol.J80-D-II No.11 pp.3020-3028、1997
【非特許文献２】I. J. Cox et.al., "Secure spread spectrum watermarking for multimedia", NEC Research Institute, TR95-10, 1995.
【非特許文献３】W. Bender et.al, "Techniques for data hiding", IBM systems journal, vol.35, no.3-4, pp.313-336, 1996.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記非特許文献１のような従来の透かし情報埋め込み技術では、量子化により情報を埋め込んでいるため、たとえばアナログ処理等によりすべての画素値に同じ値が加算されるなどして全体の画素値分布を移動させると埋め込んだ情報が変化してしまい検出できなくなってしまう等の問題点があった。また、情報の埋め込み時にブロックごとの画素平均値を操作するため、ブロックノイズが生じやすいという問題点があった。
【０００７】
また上記非特許文献２のような従来の透かし情報埋め込み技術では、埋め込まれた情報の検出時に原画を必要とするため、検出対象画像に対応する原画像が存在しない、または入手できない場合に検出ができなかったり、あるいは透かし検出対象画像に対応する「正しい」原画像を膨大なライブラリから検索／発見後、透かし検出器に「正しく」設定する必要があり、作業にかかる手間が膨大となり得るという問題点があった。
【０００８】
さらに、上記非特許文献３のような従来の透かし情報埋め込み技術では、、画素値がランダムに分布していることを前提にしているが、画像によっては必ずしも画素値がランダムに分布しているとは限らないため、差の総和を０に収束させるためには多数の画素を必要とする。つまり、安定して情報を正しく検出するためには多数の画素について計算する必要があったり、埋め込み情報量を少なくする必要があった。
【０００９】
この発明は上記のような問題点を解決するためになされたもので、映像信号にアナログ処理が行われる等の画素値の変化があっても電子透かし情報が劣化しにくく、映像情報の画質劣化が抑制される電子透かし埋め込みを実現することを目的とする。また、原画を必要としない安定した電子透かしの検出を実現することを目的とする。
【課題を解決するための手段】
【００１０】
この発明は、映像の各フレーム毎に設定される拡散符号からなる拡散パターンに基き拡散された電子透かし情報を映像信号に埋め込むようにしたものである。
また、映像に対する電子透かし情報の埋め込み時と同一の各フレーム毎に設定された拡散符号からなる拡散パターンに基き映像信号に埋め込まれた電子透かし情報の逆拡散を行い、映像に埋め込まれた電子透かし情報を検出するようにしたものである。
【発明の効果】
【００１１】
この発明によれば、電子透かし情報を拡散して映像情報に埋め込むので、映像信号に対し符号化などの処理を施したり、アナログ処理などの故意の処理が施されても電子透かし情報が劣化しにくい電子透かし埋め込みを行うことができる。
【００１２】
また、映像に対する電子透かし情報の埋め込み時と同一の各フレーム毎に設定された拡散符号からなる拡散パターンに基き電子透かし情報の逆拡散を行うことで映像に埋め込まれた電子透かし情報を検出するので、原画を用いることなく安定した電子透かし情報の検出ができる。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１はこの発明の実施の形態における電子透かし埋め込み装置を示すブロック図である。
図において、１１は電子透かし埋め込み装置である。電子透かし埋め込み装置１１は、時間方向拡散符号発生部１２、アドレス発生部１３、ブロック化部１４、情報埋め込み部１５、ビット発生部１６、ブロック解除部１７、第１の積算手段１００、第２の積算手段１０１から構成される。
【００１４】
次に動作について説明する。
以下の説明では、映像に埋め込む電子透かし情報は、所定のビット数のビット列からなるデジタル情報であって、ここではビット数Ｎ（Ｎは正の整数）であるものとする。
まず、電子透かし情報の埋め込み対象である入力映像を電子透かし埋め込み装置１１に入力する。なお、入力映像はオリジナルの映像から抽出した各フレーム毎の低域成分の信号としてもよい。
【００１５】
時間方向拡散符号発生部１２においては、＋１および−１からなる拡散符号列（拡散パターン）を発生させる。この拡散符号列の１つ１つは、図２に示すように、入力映像を構成する各フレームごとに順番に対応させるものである。図２において、２１は入力映像を構成する各フレーム、２２は入力映像を構成する各フレームに対応した拡散符号である。
この拡散符号は、固定的な拡散符号列を使っても良いし、あるいはセキュリティを考慮して、たとえば＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよい。
【００１６】
そして、第１の積算手段１００において、入力された映像情報のフレームを構成する各画素値に対して、その対応する拡散符号を積算する。
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成され、あるフレームの画素値が走査順に１０、２００、５０、３５であり、当該フレームに対応する拡散符号が−１であるとする。このとき、当該フレームと当該拡散符号を積算した結果の画素値は走査順に−１０、−２００、−５０、−３５となる。以後、積算された結果のフレームを「拡散フレーム」と呼ぶ。この各拡散フレームは、ブロック化部１４に入力される。
【００１７】
アドレス発生部１３は、ブロック化部１４に取り込まれた各拡散フレームに対して、電子透かしのビット数に応じたＮ個分のブロックに対応する領域を決定し、その領域に含まれる画素の位置を示すアドレスを発生する。すなわち、アドレス発生部１３は、電子透かし情報を埋め込む画素位置としての領域を決定する画素位置決定部としての機能を持つ。
なお、上記領域としては、隣接する画素の集まりとしてもよいし、離れた画素をランダムに抽出した集まりとしてもよい。
【００１８】
ブロック化部１４に各拡散フレームが入力されるとともに、ここではアドレス発生部１３で発生された画素位置に関する情報に基づいて、電子透かしのビット数（Ｎ）に応じたＮ個の画素値集合（ブロック）を抽出する。
【００１９】
なお、上述したアドレス発生部１３が、ブロック化部１４によってブロック化される画素値集合に含まれる画素値の位置が一様に分布するように画素位置に関するアドレス情報を発生するように構成しても良い。このとき、画像上で一様に画素が分布していさえすれば、ランダムに画素が配置されていても、画素が規則的な配列をなしていてもよい。
【００２０】
ブロック化部１４で抽出されたＮ個のブロックは画素値変更部としての情報埋め込み部１５に入力される。一方、ビット発生部１６では電子透かし情報のビットごとのデジタル値（埋め込み情報）が発生され情報埋め込み部１５に入力される。そして、情報埋め込み部１５では、電子透かし情報のビットごとのデジタル値に応じて、対応するブロック内の各画素値をあらかじめ決められた変位だけ加算あるいは減算等の変更を行う。
【００２１】
ブロック解除部１１は、電子透かしを埋め込んだ情報を画像信号に戻す処理を実行し、電子透かし埋め込み済みの拡散フレーム列として出力する。
【００２２】
そして、第２の積算部１０１において、入力映像を構成する各フレームごとに対応させて第１の積算部１００で積算したものと同一の拡散符号列を、ブロック解除部１１から出力された拡散フレーム列の１つ１つに同じ順番に対応させ、拡散フレームを構成する各画素値に対してその符号を積算する。たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成されている場合、電子透かし情報埋め込み済みのある拡散フレームの画素値が走査順に−９、−１９９、−４９、−３４であり、当該フレームに対応する拡散符号が−１であるとする。このとき、当該拡散フレームと当該拡散符号を積算した結果の画素値は走査順に９、１９９、４９、３４となる。積算した結果のフレーム列を情報埋め込み後映像として出力する。
【００２３】
以上のようにこの実施の形態においては、＋１および−１からなる時間方向の拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算して拡散フレームを生成し、当該拡散フレームに電子透かし情報を埋め込み後、先に積算したものと同一の時間方向の拡散符号列を再度積算することによって電子透かしを埋め込んだ拡散フレームをもとの映像信号に戻す処理を実行するようにしたものである。
【００２４】
このようにすることで、特に第２の積算部１０１における積算によって、拡散フレーム化された入力映像信号についてはもとの映像信号に近い信号に戻るとともに、情報埋め込み部で埋め込まれた電子透かし情報は、この第２の積算部１０１における拡散処理によって拡散されることになる。いいかえれば、埋めこんだ電子透かし情報を拡散する処理に対応した演算（第１の積算部１００での積算）を映像信号に対して行っておき、映像信号に電子透かし情報を埋め込み、その後、拡散符号列を再度積算することで映像信号をもとに戻すとともに電子透かし情報を拡散するものである。
【００２５】
電子透かし情報がスペクトル拡散されることにより、映像信号に対して符号化などの処理を施したり、アナログ処理などの故意の処理が施されても、電子透かし情報自体は劣化しにくくなるので、頑強な電子透かし埋め込みを実行することができる。
【００２６】
また、所定の電子透かし情報を複数のフレームにわたって（時間方向に拡散させて）埋め込むので、電子透かし埋め込み後の画像の画質劣化を抑えたり、多数のビット情報を電子透かしとして埋め込むことができる。
【００２７】
また、埋め込み位置など埋め込み方法に関する情報（埋め込み領域や拡散符号列）を知らない者が埋め込まれた電子透かしを消去あるいは改ざんしようとしても、それらが困難であったり、無理に消去しようとすれば画質そのものが著しく劣化してしまうような電子透かし埋め込みを実行することができる。そのため、映像信号の操作に対する電子透かし情報の耐性の向上が可能となる。
【００２８】
なお、以上の説明では、拡散符号列は固定的な拡散符号列、あるいは＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよいとして説明したが、さらに別の例として、拡散符号列中の符号の偏りをなくすために、たとえばランダムに発生させた拡散符号列を奇数フレームに対してだけ対応させ、偶数フレームについては１つ前の隣接した奇数フレームの符号を変えた符号としてもよい。この例を図３に示す。３１はランダムに発生させた拡散符号列を奇数フレームに対してだけ対応させ、偶数フレームについては１つ前の隣接した奇数フレームの符号を変えた符号としたときの拡散符号列である。
【００２９】
実施形態２．
以上の実施形態１では、＋１および−１からなる時間方向の拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算して拡散フレームを生成し、当該拡散フレームに電子透かし情報を埋め込み後、先に積算したものと同一の時間方向の拡散符号列を再度付加することによって電子透かしを埋め込んだ情報を画像信号に戻す処理を実行するようにしたものであるが、次に時間方向の拡散符号列に加え、空間方向の拡散符号列も利用する場合の実施形態を示す。
図４は、このような場合の電子透かしの埋め込み装置を示すブロック図であり、図１において説明した構成に、空間方向拡散符号発生部４１、および第３の積算部４００、第４の積算部４０１を追加したものである。
【００３０】
次に動作について説明する。
実施の形態１と同様、時間方向拡散符号発生部１２において、＋１および−１からなる拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算する。
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成され、あるフレームの画素値が走査順に１０、２００、５０、３５であり、当該フレームに対応する拡散符号が−１であるとする。このとき、当該フレームと当該拡散符号を積算した結果の画素値は走査順に−１０、−２００、−５０、−３５となる。以後、積算された結果のフレームを「時間方向拡散フレーム」と呼ぶ。
【００３１】
次に、空間方向拡散符号発生部１２において、＋１および−１からなる空間方向拡散符号列を発生させ、各時間方向拡散フレーム内の各画素に当該空間方向拡散符号列の１つ１つを順番に対応させ、時間方向拡散フレームを構成する各画素値に対してその符号を積算する。ここで、空間方向拡散符号発生部１２において発生させる空間方向拡散符号列は、複数の空間方向拡散符号列の組み合わせによって生成させても良い。
図５に複数の空間方向拡散符号列の組み合わせによって最終的に空間方向拡散符号発生部１２において発生させる空間方向拡散符号列の例を示す。図５において、５１は＋１と−１とを画素ごとに交互に設定した空間方向拡散符号列１であり、５２は２×２画素単位で＋１と−１とを交互に設定した空間方向拡散符号列２であり、５３は空間方向拡散符号列１と空間方向拡散符号列２とを組み合わせて生成した最終的な空間方向拡散符号列である。
【００３２】
また、空間方向拡散符号列として固定的な拡散符号列を使っても良いし、あるいはセキュリティを考慮して、たとえば＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよい。図６に２つの空間方向拡散符号列の組み合わせによって最終的に空間方向拡散符号発生部１２において発生させるときに、そのうちの１つの空間方向拡散符号列が＋１および−１を出力する乱数の種として秘密の値を用いて発生させた拡散符号列である場合の例を示す。
図６において、６１は＋１と−１とを画素ごとに固定的に交互に設定した空間方向拡散符号列１であり、６２は２×２画素単位で＋１と−１とを交互にランダムに設定した空間方向拡散符号列３であり、６３は空間方向拡散符号列１と空間方向拡散符号列３とを組み合わせて生成した最終的な空間方向拡散符号列である。
【００３３】
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成され、ある時間方向拡散フレームの画素値が走査順に−１０、−２００、−５０、−３５であり、当該フレームの各画素に対応する空間方向拡散符号がそれぞれ＋１、−１、＋１、−１、であるとする。このとき、当該フレームと当該拡散符号を積算した結果の画素値は走査順に−１０、＋２００、−５０、＋３５となる。
【００３４】
以後、空間方向拡散符号が積算された結果のフレームを「空間・時間方向拡散フレーム」と呼ぶ。各空間・時間拡散フレームはブロック化部１４に入力される。
【００３５】
ブロック化部１４からブロック解除部１７までの処理は実施の形態１と同様である。すなわち、アドレス発生部１３は、ブロック化部１４に取り込まれた各拡散フレームに対して、電子透かしのビット数に応じたＮ個分のブロックに対応する領域に含まれる画素の位置を決定する。
ブロック化部１４では、アドレス発生部１３から入力された画素位置に関する情報に基づいて、電子透かしのビット数に応じたＮ個の画素値集合（ブロック）を抽出する。
また、上述したアドレス発生部１３が、ブロック化部１４によってブロック化される画素値集合に含まれる画素値の位置が一様に分布するように画素位置に関するアドレス情報を発生するように構成しても良い。このとき、画像上で一様に画素が分布していさえすれば、ランダムに画素が配置されていても、画素が規則的な配列をなしていてもよい。
情報埋め込み部１５では、ビット発生部１６から入力された電子透かし情報のビットごとのデジタル値（埋め込み情報）に応じて、対応するブロック内の各画素値をあらかじめ決められた変位だけ加算あるいは減算する。ブロック解除部１１は、電子透かしを埋め込んだ情報を画像信号に戻す処理を実行し、電子透かし埋め込み済みの空間・時間拡散フレーム列として出力する。
【００３６】
次に、ブロック化部１４への入力前に時間方向拡散フレームごとに対応させて積算したものと同一の空間方向拡散符号列を、ブロック解除部１１から出力された電子透かし埋め込み済みの空間・時間拡散フレーム列に同じ順番に対応させ、電子透かし埋め込み済みの空間・時間拡散フレームを構成する各画素値に対してその符号を積算する。
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成されている場合、ある電子透かし情報埋め込み済みの空間・時間拡散フレームの画素値が走査順に−９、＋２０１、−４９、＋３６であり、当該電子透かし埋め込み済み空間・時間フレームの各画素に対応する空間方向拡散符号がそれぞれ＋１、−１、＋１、−１、であるとする。このとき、当該電子透かし埋め込み済み空間・時間拡散フレームと当該空間拡散符号を積算した結果の画素値は走査順に−９、−２０１、−４９、−３６となる。積算した結果のフレーム列を「電子透かし埋め込み後時間拡散フレーム列」と呼ぶことにする。
【００３７】
そして、入力映像を構成する各フレームごとに対応させて積算したものと同一の時間方向拡散符号列を、電子透かし埋め込み後時間拡散フレーム列の１つ１つに同じ順番に対応させ、電子透かし埋め込み後時間拡散フレームを構成する各画素値に対してその符号を積算する。
上記の例では、ある電子透かし埋め込み後時間拡散フレームの画素値が走査順に−９、−２０１、−４９、−３６であり、これに対応する入力映像を構成する各フレームごとに対応させて積算したものと同一の時間方向拡散符号が−１であるので、当該電子透かし埋め込み後時間拡散フレームと当該時間方向拡散符号を積算した結果の画素値は走査順に９、２０１、４９、３６となる。
【００３８】
以上のように、この実施の形態においては、＋１および−１からなる時間方向拡散符号列を発生させ、入力映像を構成する各フレームごとに当該時間方向拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算して時間拡散フレームを生成し、次に＋１および−１からなる空間方向拡散符号列を発生させ、各時間方向拡散フレーム内の各画素に当該空間方向拡散符号列の１つ１つを順番に対応させ、時間方向拡散フレームを構成する各画素値に対してその符号を積算して空間・時間拡散フレームを生成し、当該空間・時間拡散フレームに電子透かし情報を埋め込み後、先に積算したものと同一の空間方向拡散符号列および時間方向の拡散符号列を再度付加することによって電子透かしを埋め込んだ情報を画像信号に戻す処理を実行するようにしたものである。
【００３９】
このようにすることで、電子透かし情報は、この第２の積算部１０１、第４の積算部４０１における拡散処理によって拡散されることになり、映像信号に対して符号化などの処理を施したり、アナログ処理などの故意の処理が施されても、電子透かし情報自体は劣化しにくくなるので、頑強な電子透かし埋め込みを実行することができる。
【００４０】
また、所定の電子透かし情報を複数のフレームにわたって（時間方向に拡散させて）埋め込むので、電子透かし埋め込み後の画像の画質劣化を抑えたり、多数のビット情報を電子透かしとして埋め込むことができる。
【００４１】
また、埋め込み位置など埋め込み方法に関する情報（埋め込み領域や拡散符号列等）を知らない者が埋め込まれた電子透かしを消去あるいは改ざんしようとしても、それらが困難であったり、無理に消去しようとすれば画質そのものが著しく劣化してしまうような電子透かし埋め込みを実行することができる。そのため、映像信号の操作に対する電子透かし情報の耐性の向上が可能となる。
【００４２】
また、拡散符号列は実施形態１で説明したように、固定的な拡散符号列、あるいは＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよいし、図３に示したように、拡散符号列中の符号の偏りをなくすために、たとえばランダムに発生させた拡散符号列を奇数フレームに対してだけ対応させ、偶数フレームについては１つ前の隣接した奇数フレームの符号を変えた符号としてもよい。
【００４３】
なお、以上のいずれの実施形態も、映像を一度拡散して、電子透かし情報を埋め込み、再度拡散パターンを積算することで、映像情報を拡散フレームから戻す際に埋めこんだ電子透かし情報を拡散するものを示したが、電子透かし情報を拡散しておき、映像情報に埋め込むようにしても、映像信号に対し符号化などの処理を施したり、アナログ処理などの故意の処理が施されても電子透かし情報が劣化しにくい電子透かし埋め込みを行える。
【００４４】
なお、以上の説明では、電子透かし埋め込み装置を説明したが、たとえば汎用コンピュータなどを用いて、本発明に従う電子透かし埋め込み方法を実行させるプログラムによって具現化することもできる。
つまり、電子透かし埋め込みプログラムをコンピュータに実行させて図１や図４に示す各構成要素として機能させることにより、本発明による電子透かし埋め込みを実行することができるものである。
【００４５】
実施形態３．
次に、電子透かしの検出について説明する。図７はこの発明の実施の形態における電子透かし検出装置を示すブロック図である。
図７において、７１は電子透かし検出装置である。電子透かし検出装置７１は、時間方向拡散符号発生部７２、アドレス発生部７３、フレーム積分部７４、ブロック化部７５、検出部７６、第５の積算部７００から構成される。
【００４６】
次に動作について説明する。
以下の説明では、検出する電子透かし情報は、所定のビット数のビット列からなるデジタル情報であって、ここではビット数Ｎ（Ｎは正の整数）であるものとする。
まず、電子透かし情報の検出対象である入力映像を電子透かし検出装置７１に入力する。なお、電子透かし情報の埋め込みがオリジナルの映像から抽出した低域成分映像に対して行われた場合、低域成分映像を入力映像としてもよい。
【００４７】
時間方向拡散符号発生部７２においては、＋１および−１からなる時間方向拡散符号列（拡散パターン）を発生させる。この拡散符号列の１つ１つは、図２に示すように、入力映像を構成する各フレームごとに順番に対応させるものである。図２において、２１は入力映像を構成する各フレーム、２２は入力映像を構成する各フレームに対応した拡散符号である。
この拡散符号は、固定的な拡散符号列を使っても良いし、あるいはセキュリティを考慮して、たとえば＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよい。
【００４８】
そして、第５の積算部７００において、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算する。
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成され、あるフレームの画素値が走査順に１０、２００、５０、３５であり、当該フレームに対応する拡散符号が−１であるとする。このとき、当該フレームと当該拡散符号を積算した結果の画素値は走査順に−１０、−２００、−５０、−３５となる。以後、積算された結果のフレーム列を「拡散フレーム列」と呼ぶ。拡散フレーム列はフレーム積分部７４に入力される。
【００４９】
フレーム積分部７４では、入力された拡散フレーム列から指定された数だけ隣接フレームを抽出し、抽出したすべての拡散フレーム内の同じ位置にある画素の値を足し合わせ（フレーム積分）、１枚のフレーム積分画像を生成する。
ここで、フレーム積分時にフレーム積分対象となっている拡散フレームに対応する拡散パターンの正負の符号数が一致しない場合に、符号数が一致するまでフレーム積分数を動的に増加させるようにしてもよい。
このとき、増加させるフレーム積分数の上限を定め、上限に達したときにはフレーム積分を打ち切るようにしてもよい。
また、フレーム積分時にフレーム積分対象となっている拡散フレームに対応する拡散パターンの正負の符号数が一致しない場合に、符号数が一致するまでフレーム積分数を動的に減少させるようにしてもよい。
図８に時間方向拡散符号列を使ったときのフレーム積分の実施例を示す。図８において、８１は電子透かし検出装置７１に入力された入力映像のフレーム列、８２は時間方向拡散符号発生部７２において生成された拡散符号列、８３は入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させてフレームを構成する各画素値に対してその符号を積算した結果得られた拡散フレーム列、８４は拡散フレーム内の同じ位置にある画素の値を足し合わせた結果得られたフレーム積分画像である。
【００５０】
ブロック化部７５では、アドレス発生部７３から入力された埋め込み時と同一の画素位置に関する情報に基づいて、電子透かしのビット数に応じたＮ個の画素値集合（ブロック）を抽出する。
【００５１】
検出部７６では、対応するブロック内の画素値の統計値を調べ、埋め込まれているビットの種類を判断する。調べる分布の特徴として、たとえばブロック内の画素値の平均値に着目し、平均値がある値δ（＞０）以上ならビット“１”が埋め込まれているものと判断し、−δ以下なら“０”が埋め込まれていると判断する。
ここで、ブロック内の画素値集合の分布の統計的な性質から検出情報の信頼度を計算し、信頼度が低い場合はあらかじめ定めた信頼度に至るまでフレーム積分数を増加させるために、フレーム積分部７４に増加させたフレーム積分数を改めて指定して処理を戻しても良い。
このとき、増加させるフレーム積分数の上限を定め、上限に達したときにはフレーム積分を打ち切るようにしてもよい。
また、ブロック内の画素値集合の分布の統計的な性質から検出情報の信頼度を計算し、信頼度が低い場合はあらかじめ定めた信頼度に至るまでフレーム積分数を減少させるために、フレーム積分部７４に減少させたフレーム積分数を改めて指定して処理を戻しても良い。
信頼度として、たとえば画素値の分散を用いることができる。すなわち、分散があらかじめ定めた値よりも小さい場合には検出に必要な信頼度を満たしていると判断し、分散があらかじめ定めた値以上の場合には検出に必要な信頼度を満たしていないと判断する。分散の変わりに標準偏差を使ってもよい。検出部７６では検出結果を出力する。
【００５２】
以上のように、この実施の形態３においては、入力映像に秘匿されたＮビットの電子透かし情報を検出するにあたり、＋１および−１からなる拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算して拡散フレーム列を生成し、当該拡散フレーム列から指定された数だけ隣接フレームを抽出し、抽出したすべての拡散フレーム内の同じ位置にある画素の値を足し合わせて１枚のフレーム積分画像を生成し、当該フレーム積分画像から埋め込み時と同一の画素位置に関する情報に基づいて、電子透かしのビット数に応じたＮ個の画素値集合（ブロック）を抽出し、抽出した当該ブロック内の画素値の統計値を調べ、埋め込まれているビットの種類を判断するようにしたものである。
【００５３】
これにより、映像信号に対して符号化などの処理を施したり、アナログ処理などの故意の処理が施されても、埋め込んだ電子透かしと同一の電子透かし情報をより正確に検出することができる。また、多数のビット情報をより正確に検出することができる。
【００５４】
また、原画画像列がなくても、埋め込んだ電子透かしと同一の電子透かし情報をより正確に検出することができる。
【００５５】
また、埋め込み位置など埋め込み方法に関する情報を知らない人が埋め込まれた電子透かしを不正に検出しようとしても、それらが困難であるような安全な電子透かし検出を実行することができる。
【００５６】
実施形態４．
以上の実施の形態３では、＋１および−１からなる拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算して拡散フレーム列を生成し、当該拡散フレーム列から指定された数だけ隣接フレームを抽出し、抽出したすべての拡散フレーム内の同じ位置にある画素の値を足し合わせて１枚のフレーム積分画像を生成し、当該フレーム積分画像から埋め込み時と同一の画素位置に関する情報に基づいて、電子透かしのビット数に応じたＮ個の画素値集合（ブロック）を抽出し、抽出した当該ブロック内の画素値の統計値を調べ、埋め込まれているビットの種類を判断するようにしたものであるが、次に時間方向の拡散符号列に加え、空間方向の拡散符号列も利用する場合の実施形態を示す。
図９は、このような場合の電子透かし検出装置を示すブロック図であり、図７において説明した構成に、空間方向拡散符号発生部９１および第６の積算部９００を追加したものである。
【００５７】
次に動作について説明する。
実施の形態３と同様、時間方向拡散符号発生部７２において、＋１および−１からなる拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算する。
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成され、あるフレームの画素値が走査順に１０、２００、５０、３５であり、当該フレームに対応する拡散符号が−１であるとする。このとき、当該フレームと当該拡散符号を積算した結果の画素値は走査順に−１０、−２００、−５０、−３５となる。以後、積算された結果のフレーム列を「時間方向拡散フレーム列」と呼ぶ。
【００５８】
次に、空間方向拡散符号発生部９１において、＋１および−１からなる空間方向拡散符号列を発生させ、各時間方向拡散フレーム内の各画素に当該空間方向拡散符号列の１つ１つを順番に対応させ、時間方向拡散フレームを構成する各画素値に対してその符号を積算する。ここで、時間方向拡散符号列は埋め込み時と同一の拡散符号列が得られることを前提として、空間方向拡散符号発生部９１において発生させる空間方向拡散符号列は、複数の空間方向拡散符号列の組み合わせによって生成させても良い。
上述した図５に複数の空間方向拡散符号列の組み合わせによって最終的に空間方向拡散符号発生部１２において発生させる空間方向拡散符号列の例を示す。
また、空間方向拡散符号列として固定的な拡散符号列を使っても良いし、あるいはセキュリティを考慮して、たとえば＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよい。
上述した図６に２つの空間方向拡散符号列の組み合わせによって最終的に空間方向拡散符号発生部１２において発生させるときに、そのうちの１つの空間方向拡散符号列が＋１および−１を出力する乱数の種として秘密の値を用いて発生させた拡散符号列である場合の例を示す。
【００５９】
たとえば、簡単のため入力映像が２×２画素の大きさのフレーム列から構成され、ある時間方向拡散フレームの画素値が走査順に−１０、−２００、−５０、−３５であり、当該フレームの各画素に対応する空間方向拡散符号がそれぞれ＋１、−１、＋１、−１、であるとする。このとき、当該フレームと当該拡散符号を積算した結果の画素値は走査順に−１０、＋２００、−５０、＋３５となる。
【００６０】
以後、空間方向拡散符号が積算された結果のフレーム列を「空間・時間方向拡散フレーム列」と呼ぶ。空間・時間拡散フレーム列フレーム積分部７４に入力される。
【００６１】
フレーム積分部７４以降の処理は実施の形態３と同様である。すなわち、フレーム積分部７４では、入力された空間・時間方向拡散フレーム列から指定された数だけ隣接フレームを抽出し、抽出したすべての空間・時間方向拡散フレーム内の同じ位置にある画素の値を足し合わせ（フレーム積分）、１枚のフレーム積分画像を生成する。
ここで、フレーム積分時にフレーム積分対象となっている空間・時間方向拡散フレームに対応する時間方向拡散パターンの正負の符号数が一致しない場合に、符号数が一致するまでフレーム積分数を動的に増加させるようにしてもよい。
このとき、増加させるフレーム積分数の上限を定め、上限に達したときにはフレーム積分を打ち切るようにしてもよい。また、フレーム積分時にフレーム積分対象となっている空間・時間方向拡散フレームに対応する時間方向拡散パターンの正負の符号数が一致しない場合に、符号数が一致するまでフレーム積分数を動的に減少させるようにしてもよい。
図１０に空間方向拡散パターンを適用したときのフレーム積分の実施例を示す。図１０において、８１は電子透かし検出装置７１に入力された入力映像のフレーム列、１００１は空間方向拡散符号発生部９１において生成された空間方向拡散符号列、８２は時間方向拡散符号発生部７２において生成された拡散符号列、１００２は入力映像を構成する各フレームごとに時間方向拡散符号列および空間方向拡散符号列の１つ１つを順番に対応させてフレームを構成する各画素値に対してその符号を積算した結果得られた空間・時間方向拡散フレーム列、１００３は空間・時間方向拡散フレーム内の同じ位置にある画素の値を足し合わせた結果得られたフレーム積分画像である。
【００６２】
ブロック化部７５では、アドレス発生部７３から入力された埋め込み時と同一の画素位置に関する情報に基づいて、電子透かしのビット数に応じたＮ個の画素値集合（ブロック）を抽出する。
【００６３】
検出部７６では、対応するブロック内の画素値の統計値を調べ、埋め込まれているビットの種類を判断する。調べる分布の特徴として、たとえばブロック内の画素値の平均値に着目し、平均値がある値δ（＞０）以上ならビット“１”が埋め込まれているものと判断し、−δ以下なら“０”が埋め込まれていると判断する。ここで、ブロック内の画素値集合の分布の統計的な性質から検出情報の信頼度を計算し、信頼度が低い場合はあらかじめ定めた信頼度に至るまでフレーム積分数を増加させるために、フレーム積分部７４に増加させたフレーム積分数を改めて指定して処理を戻しても良い。
このとき、増加させるフレーム積分数の上限を定め、上限に達したときにはフレーム積分を打ち切るようにしてもよい。また、ブロック内の画素値集合の分布の統計的な性質から検出情報の信頼度を計算し、信頼度が低い場合はあらかじめ定めた信頼度に至るまでフレーム積分数を減少させるために、フレーム積分部７４に減少させたフレーム積分数を改めて指定して処理を戻しても良い。信頼度として、たとえば画素値の分散を用いることができる。すなわち、分散があらかじめ定めた値よりも小さい場合には検出に必要な信頼度を満たしていると判断し、分散があらかじめ定めた値以上の場合には検出に必要な信頼度を満たしていないと判断する。分散の変わりに標準偏差を使ってもよい。検出部７６では検出結果を出力する。
【００６４】
以上のように、この実施の形態４においては、入力映像に秘匿されたＮビットの電子透かし情報を検出するにあたり、＋１および−１からなる時間方向拡散符号列を発生させ、入力映像を構成する各フレームごとに当該拡散符号列の１つ１つを順番に対応させ、フレームを構成する各画素値に対してその符号を積算して時間方向拡散フレーム列を生成し、＋１および−１からなる空間方向拡散符号列を発生させ、各時間方向拡散フレーム内の各画素に当該空間方向拡散符号列の１つ１つを順番に対応させ、時間方向拡散フレームを構成する各画素値に対してその符号を積算して空間・時間方向拡散フレーム列を生成し、当該空間・時間方向拡散フレーム列から指定された数だけ隣接フレームを抽出し、抽出したすべての拡散フレーム内の同じ位置にある画素の値を足し合わせて１枚のフレーム積分画像を生成し、当該フレーム積分画像から埋め込み時と同一の画素位置に関する情報に基づいて、電子透かしのビット数に応じたＮ個の画素値集合（ブロック）を抽出し、抽出した当該ブロック内の画素値の統計値を調べ、埋め込まれているビットの種類を判断するようにしたものである。
【００６５】
これにより、映像信号に対して符号化などの処理を施したり、アナログ処理などの故意の処理が施されても、埋め込んだ電子透かしと同一の電子透かし情報をより正確に検出することができる。また、多数のビット情報をより正確に検出することができる。
【００６６】
また、原画画像列がなくても、埋め込んだ電子透かしと同一の電子透かし情報をより正確に検出することができる。
【００６７】
また、埋め込み位置など埋め込み方法に関する情報を知らない人が埋め込まれた電子透かしを不正に検出しようとしても、それらが困難であるような安全な電子透かし検出を実行することができる。
【００６８】
なお、拡散符号列は実施形態３で説明したように、固定的な拡散符号列、あるいは＋１および−１を出力する乱数の種として秘密の値を用いて拡散符号列を発生させてもよいし、図３に示したように、拡散符号列中の符号の偏りをなくすために、たとえばランダムに発生させた拡散符号列を奇数フレームに対してだけ対応させ、偶数フレームについては１つ前の隣接した奇数フレームの符号を変えた符号としてもよい。
【００６９】
なお、以上の説明では、電子透かし検出装置を説明したが、たとえば汎用コンピュータなどを用いて、本発明に従う電子透かし検出方法を実行させるプログラムによって具現化することもできる。
つまり、電子透かし検出プログラムをコンピュータに実行させて図７や図９に示す各構成要素として機能させることにより、本発明による電子透かし埋め込みを実行することができるものである。
【図面の簡単な説明】
【００７０】
【図１】この発明の実施の形態における電子透かし埋め込み装置のブロック図である。
【図２】拡散符号列と映像フレーム列との対応を示す説明図である。
【図３】拡散符号列中の符号の偏りをなくす例を示す説明図である。
【図４】この発明の実施の形態における電子透かし埋め込み装置のブロック図である。
【図５】空間方向拡散符号列の生成の例を示す説明図である。
【図６】秘密の値を用いて発生させた空間方向拡散符号列の例を示す説明図である。
【図７】この発明の実施の形態における電子透かし検出装置のブロック図である。
【図８】時間方向拡散符号列を使ったときのフレーム積分の様子を示す説明図である。
【図９】この発明の実施の形態における電子透かし検出装置のブロック図である。
【図１０】空間方向拡散パターンを適用したときのフレーム積分の様子を示す説明図である。
【符号の説明】
【００７１】
１１  電子透かし埋め込み装置
１２  時間方向拡散符号発生部
１３  アドレス発生部
１４  ブロック化部
１５  情報埋め込み部
１６  ビット発生部
１７  ブロック解除部
２１  入力映像を構成する各フレーム
２２  入力映像を構成する各フレームに対応した拡散符号
３１  拡散符号列
４１  空間方向拡散符号発生部
５１  空間方向拡散符号列
５２  空間方向拡散符号列
５３  空間方向拡散符号列
６１  空間方向拡散符号列
６２  空間方向拡散符号列
６３  空間方向拡散符号列
７１  電子透かし検出装置
７２  時間方向拡散符号発生部
７３  アドレス発生部
７４  フレーム積分部
７５  ブロック化部
７６  検出部
８１  入力映像のフレーム列
８２  拡散符号列
８３  拡散フレーム列
８４  フレーム積分画像
９１  空間方向拡散符号発生部
１００  第１の積算部
１０１  第２の積算部
４００  第３の積算部
４０１  第４の積算部
７００  第５の積算部
９００  第６の積算部
１００１  空間方向拡散符号列
１００２  空間・時間方向拡散フレーム列
１００３  フレーム積分画像
【図１】
2005252957.tif 000003
【図２】
2005252957.tif 000004
【図３】
2005252957.tif 000005
【図４】
2005252957.tif 000006
【図５】
2005252957.tif 000007
【図６】
2005252957.tif 000008
【図７】
2005252957.tif 000009
【図８】
2005252957.tif 000010
【図９】
2005252957.tif 000011
【図１０】
2005252957.tif 000012