本発明では、空間方向、時間方向といった、電子透かしを埋め込む対象の信号の各次元の方向で、各信号成分に埋め込む埋め込み信号の位相が一致しない様に変位させることで、各信号毎の透かし情報の強度を保ったまま、同じ空間的、時間的位置において、各信号成分のトータルでの変更量を小さくするようにする。
<第1の実施形態>
以下、図面を参照して、本発明の第1の実施形態による電子透かし埋め込み装置及び電子透かし検出装置を説明する。第1の実施形態は、電子透かし信号を各信号成分毎に時間方向での位相を異なるようにするものである。図1は同実施形態による電子透かし埋め込み装置の構成を示すブロック図である。図1に示す電子透かし埋め込み装置1は、透かし埋め込み対象映像と、埋め込み情報とを入力して、透かし埋め込み済み映像を出力する。
電子透かし埋め込み装置1は、埋め込み系列生成部11aと、埋め込みパターン生成部12と、時間変調部13と、パターン重畳部14から構成される。埋め込み系列生成部11aは、埋め込み情報を入力し、埋め込み系列を出力する。埋め込みパターン生成部12は、埋め込み系列を入力し、埋め込みパターンを出力する。時間変調部13は、埋め込みパターンを入力し、透かし映像パターンを出力する。パターン重畳部14は、透かし埋め込み対象映像と、透かし映像パターンとを入力し、透かし埋め込み済み映像を出力する。
次に、図2を参照して、図1に示す埋め込み系列生成部11aの構成を説明する。図2は、図1に示す埋め込み系列生成部11aの構成を示すブロック図である。埋め込み系列生成部11aは、複素数系列生成部111と、K(Kは2以上の整数)個の位相変位系列生成部112−1〜112−Kと、K個の位相変位付加部113−1〜113−Kから構成される。複素数系列生成部111は、埋め込み情報を入力し、第一の埋め込み系列を出力する。位相変位系列生成部112−1〜Kは、位相変位系列を出力する。位相変位付加部113−1〜Kは、第一の埋め込み系列と、位相変位系列とを入力し、第二〜第M(MはK+1)の埋め込み系列を出力する。
次に、図3を参照して、同実施形態による電子透かし検出装置の構成を説明する。図3は、同実施形態による電子透かし検出装置の構成を示すブロック図である。図3に示す電子透かし検出装置2は、透かし埋め込み済み映像を入力し、透かし検出結果を出力する。電子透かし検出装置2は、信号成分分割部21と、M(MはK+1)個の時間復調部22−1〜22−Mと、M個の検出系列抽出部23−1〜23−Mと、埋め込み系列生成部11bと、相関値計算部24と、透かし判定部25から構成される。
信号成分分割部21は、透かし埋め込み済み映像を入力し、M個の信号成分映像を出力する。時間復調部22−1〜Mは、それぞれ信号成分映像を入力し、複素数配列をそれぞれ出力する。検出系列抽出部23−1〜Mは、それぞれ複素数配列を入力し、検出系列をそれぞれ出力する。埋め込み系列生成部11bは、埋め込み系列を出力する。相関値計算部24は、M個の検出系列と、埋め込み系列とを入力し、相関値を出力する。透かし判定部25は、相関値を入力し、透かし検出結果を出力する。
次に、図4を参照して、図3に示す埋め込み系列生成部11bの構成を説明する。図4は、図3に示す埋め込み系列生成部11bの構成を示すブロック図である。埋め込み系列生成部11bは、図2に示す埋め込み系列生成部11aと同様の構成を備えている。複素数系列生成部111は、第一の埋め込み系列を出力する。位相変位系列生成部112−1〜Kは、位相変位系列を出力する。位相変位付加部113−1〜Kは、第一の埋め込み系列と、位相変位系列とを入力し、第二〜第M(MはK+1)の埋め込み系列を出力する。
次に、図5を参照して、図1に示す電子透かし埋め込み装置1における電子透かし埋め込み処理の動作を説明する。図5は、図1に示す電子透かし埋め込み装置1における電子透かし埋め込み処理の動作を示すフローチャートである。埋め込み系列生成ステップ(ステップS1〜S3)では、埋め込みを行う埋め込み情報に応じて、長さLの複素数の系列である埋め込み系列を生成する。まず、埋め込み系列生成部11aの複素数系列生成部111は第一の埋め込み系列を生成する(ステップS1)。第一の埋め込み系列の生成は、例えば特許文献2に示されている公知の埋め込み系列の生成と同様の方法を用いる。
埋め込み情報の例として、以下の(例1)〜(例3)の場合を例にして説明する。
(例1)電子透かしが埋め込まれている、という事実だけを表す場合
(例2)1bitの情報である場合
(例3)n(nは2以上の整数)bitの情報である場合
なお、第一の埋め込み系列の生成は、埋め込みを行う埋め込み情報に応じて決まる系列を生成するものであれば、これらの例に限定するものではなく、この他の埋め込み系列生成の方法をとってもよい。
まず、埋め込み情報が「電子透かしが埋め込まれている」という事実だけを表す場合(例1)について説明する。この場合、第一の埋め込み系列は、例えば、複素数の擬似乱数列を用いて表された数値列として計算されてもよい。すなわち、平均0の複素数の擬似乱数列PN={PN1,PN2,・・・,PNL}(Lは系列の長さ)とするとき、第一の埋め込み系列w={w1,w2,・・・,wL}を、w=PN={PN1,PN2,・・・,PNL}のように決定してもよい。
また、複素数の擬似乱数列としては例えばM系列やGOLD系列で得られる値を用いて生成してもよい。例えば、M系列で得られる値を{M
1,M
2,・・・,M
2L}(Mi∈{0,1})とするとき、
として、
とするようにしてもよい。ここでjは虚数単位である。
次に、埋め込み情報が1bitの情報である場合(例2)について説明する。第一の埋め込み系列は、例えば、その1bitの情報を擬似乱数列を用いてスペクトル拡散した数値列として計算されてもよい。すなわち、埋め込み情報b、平均0の複素数の擬似乱数列PN={PN
1,PN
2,・・・,PN
L}(Lは系列の長さ)とするとき、埋め込み系列w={w
1,w
2,・・・,w
L}を、
のように決定してもよい。
また、複素数の擬似乱数列としては上記(例1)の様に例えばM系列やGOLD系列で得られる値を用いて生成してもよい。
次に、埋め込み情報がnbitから構成される情報である場合(例3)について説明する。第一の埋め込み系列は、例えば、そのnbitの情報をm倍の長さに擬似乱数を用いて直接スペクトル拡散したものとして計算されてもよい。すなわち、下記のような手順1、2で行われてもよい。
(手順1)nbitの埋め込み情報をb
0 b
1 b
2 ・・・ b
n−1とし、各bitをm回ずつ繰り返した系列Sを得る。ただし、各bit b
iは、+1、−1のいずれかの値をとるものとする。
(手順2)Sを複素数の擬似乱数列PN={PN
1,PN
2,・・・,PN
mn}で拡散し、埋め込み系列wを求める。すなわち、w={w
1,w
2,・・・,w
mn}とするとき、
また複素数の擬似乱数列としては上記(例1)の様に例えばM系列やGOLD系列で得られる値を用いて生成してもよい。これらのような埋め込み系列の生成方法については、文献「中村高雄,片山淳,山室雅司,曽根原登,カメラ付き携帯電話機を用いたアナログ画像からの高速電子透かし検出方式,信学論D−II,Vol.J87−D−II,No.12,pp.2145―2155,2004.10」や文献「中村高雄,山本奏,北原亮,片山淳,安野貴之,小池秀樹,曽根原登,SFPSS法に基づくリアルタイム検出可能な映像向けモバイル電子透かし,情報処理学会論文誌,Vol.49,No.6,pp.1885.1895,2008.」等に記載されているように公知であるため、詳細な説明は省略する。
上記の例では埋め込み系列wを複素数値の系列で表したが、埋め込みを行う透かし情報に応じて決まる系列であれば別な表現であってもよい。例えば、各々の複素数の偏角を表す値の列であってもよい。すなわち、
とするとき、
として、^w(^はwの頭に付く、以下、同様)を埋め込み系列として出力するようにしてもよい。また、複素数の代わりに4元数や8元数等、k次元(kは2以上)のベクトルであってもよい。
次に、位相変位系列生成部112は位相変位系列を生成する(ステップS2)。透かし埋め込み対象映像において、透かしを埋め込む対象となる信号成分がM個存在する場合、M−1(ここではM−1はK)個の位相変位系列生成部112が、それぞれ2番目からM番目の信号成分に対応し、合計M−1個の位相変位系列を生成する。
ここで、位相変位系列生成部112をM−1個備える代わりに、一つの位相変位系列生成部112を順にM−1回繰り返し使用して、合計M−1個の位相変位系列を生成するようにしてもよい。
位相変位系列生成部112では、各々の信号成分に対して、埋め込み系列の位相を変位させる方向と量を表す位相変位系列を生成する。例えば、{−1,1}を取る長さLの疑似乱数列PN’={PN’
1,PN’
2,・・・,PN’
L}を用いて、位相変位系列x={x
1,x
2,・・・,x
L}を、
様に定めてもよい。
上記では、位相変位系列の値として位相変位量を表す値を[ラジアン]単位で表現したが、位相変位系列は、埋め込み系列の位相を変位させる方向と量を表す値であれば別な形式であってもよい。なお、位相の値は循環的であるため、量のみを用いて同時に方向も表現するようにすることも可能である。
位相変位系列の値は、例えば、位相変位量の角度を表す値([度])であってもよい。また、例えば、位相変位量に対応する大きさXの複素数(Xejθ)であってもよい。また、電子透かしを埋め込む時間周期T0を用いて、位相変位量に対応する遅延時間T=T0/nでもよい。また、例えば、第一の値と第二の値を取るようにし、それぞれが所定の位相変位量を意味することと定めてもよい。また、第一の値、第二の値、・・・、第nの値を取るようにし、それぞれが所定の位相変位量を意味することと定めてもよい。
次に、位相変位付加部113は、第二の埋め込み系列〜第Mの埋め込み系列を生成する(ステップS3)。透かし埋め込み対象映像において、透かしを埋め込む対象となる信号成分がM個存在する場合、M−1(ここでは、M−1はK)個の位相変位付加部113が、それぞれ2番目からM番目の信号成分に対応し、第二の埋め込み系列〜第Mの埋め込み系列を生成する。
ここで、位相変位付加部113をM−1個備える代わりに、一つの位相変位付加部113を順にM−1回繰り返し使用して、第二の埋め込み系列〜第Mの埋め込み系列を生成するようにしてもよい。
以下は、位相変位付加部113を用いて第二の埋め込み系列w(2)を生成する場合を例にとり説明する。第三の埋め込み系列w(3)、第四の埋め込み系列w(4)、・・・、第Mの埋め込み系列w(M)を生成する場合も、それぞれ異なる位相変位系列を入力して同様の手順を行う。
位相変位付加部113には、複素数系列生成部111で生成された第一の埋め込み系列と、位相変位系列生成部112で生成された位相変位系列とが入力される。位相変位付加部113では、第一の埋め込み系列に対して位相変位系列で表される位相変位を付加する。例えば、第一の埋め込み系列をw={w
1,w
2,・・・,w
L}、位相変位系列をx={x
1,x
2,・・・,x
L}とし、x
iは、{−π/2,π/2}の様に、位相変位量の角度を[ラジアン]で表すようにしている場合は、第二の埋め込み系列w
(2)={w
(2) 1,w
(2) 2,・・・,w
(2) L}を以下の様に生成する。
すなわち、第一の埋め込み系列の値の偏角を、位相変位系列の値に応じて変化させるようにして、第二の埋め込み系列を生成する。ここで、位相変位系列が、この他の表現形式を取るように構成した場合は、変更の方法もそれに応じて変えればよい。例えば、位相変位系列が位相変位量の角度を表す値([度])であれば、
となる。
また、位相変位系列が位相変位量に対応する大きさXの複素数(Xe
jθ)であれば、
となる。
また、位相変位系列が電子透かしを埋め込む時間周期T
0を用いて、位相変位量に対応する遅延時間T=T
0/nであれば、
となる。
また、位相変位系列が第一の値と第二の値を取るようにし、それぞれが所定の位相変位量を意味することと定められていれば、第一の埋め込み系列の値の偏角を、第一の値、第二の値がそれぞれ意味する位相変位量に応じて変化させるようになる。
また、位相変位系列が第一の値、第二の値、・・・、第nの値を取るようにし、それぞれが所定の位相変位量を意味することと定められていれば、第一の埋め込み系列の値の偏角を、第一の値、第二の値、・・・第nの値がそれぞれ意味する位相変位量に応じて変化させるようにする。
前述した複素数系列の生成(ステップS1)、位相変位系列の生成(ステップS2)及び位相変位の付加(ステップS3)によって埋め込み系列生成ステップを構成する。
次に、埋め込みパターン生成部12は、第一〜第Mの埋め込み系列を用いて埋め込みパターンを生成する(ステップS4)。まず、大きさX1×X2×・・・×XN−1のN−1次元複素数配列を全部でM個用意する。ただし、X1,X2,・・・,XN−1はあらかじめ定められた要素数である。続いて、第一〜第Mの埋め込み系列から、それぞれ順に一つずつ、計M個の値を取り出し、上記M個の配列の位置(0,0,・・・,0)から順に、取り出した値がその要素値となるように配列に値を設定する。
すなわち、i番目の複素配列がA
(i)[p
1,p
2,・・・,p
N−1](p
n≧0)、i番目の埋め込み系列がw
(i) 1,w
(i) 2,・・・,w
(i) Lと表されているとき、
図6にこの様子を示す。図6は、第1の実施形態における埋め込みパターンの構成例を示す説明図である。ただし、図6は2次元の複素配列の場合の例を示している。
次に、生成されたM個の複素配列を埋め込みパターンとして出力する。また、上記の処理に先立ち、各埋め込み系列の順序を擬似乱数を用いて、ランダムな順序に入れ替えておいてもよい。ただし、入れ替えの方法が第一〜第Mの埋め込み系列で共通となるようにする。すなわち、w(1) kがw(1) lと入れ替えられるとき、w(2) kはw(2) lと、・・・、w(M) kはw(M) lとそれぞれ入れ替えられ、第一〜第Mの埋め込み系列の値の間での対応関係が維持されるようにする。
これにより、埋め込まれている情報の不正な解析や、書き換えなどの攻撃を困難にさせることができると共に、インタリーブ符号化としての効果を持ち、透かし埋め込み済み映像に対する局所的な耐性の不均衡を防ぐことに寄与する。その場合、順序の入れ替えに使用する擬似乱数の種の値を電子透かし埋め込みの鍵として与え、同一の鍵を電子透かしの検出時に使用してもよい。また、第一〜第Mの埋め込み系列の上で順序の入れ替えを行う代わりに、得られた複素配列の要素を入れ替えるようにしても構わない。
次に、時間変調部13は、埋め込みパターン生成部12で生成したM個の埋め込みパターンを時間軸方向で変調し、M個の透かし映像パターンを生成する。時間変調の処理は、例えば以下の(1)〜(4)の処理動作によって行う。
(1)同一の基本周波数を持ち直交する二つの周期信号を生成する。例えば、一つの周期信号を基にそれぞれ位相が90°、すなわち1/4周期分異なるように二つの周期信号を生成してもよい。
(2)入力された埋め込みパターンの実部、虚部を(1)の処理で生成された二つの周期信号によってそれぞれ時間方向に変調する。具体的には、埋め込みパターンの各位置ごとの値の実部、虚部の値を、(1)の処理で生成した周期信号を搬送波として、AM変調することで、N次元のパターンに変換することで行う。
(3)変調された二つの信号を加算し、透かし映像パターンを得る。
(4)(1)〜(3)の処理をM個の埋め込みパターンについて行い、M個の透かし映像パターンを生成する。
(1)の処理で用いる周期信号は、1周期分積分した結果が0となり、自己相関関数が鋭敏なピークを持たないものであればよい。具体的には例えば、(a)正弦波、(b)三角波、(c)矩形波であってもよい。
以下にN=3の映像信号に対し周期信号として正弦波fr(t),fi(t)を用いて14時間変調を行い、透かし映像パターン{W
(1),W
(2),・・・,W
(M)}を生成する場合の例を示す。
f
r(t)=cosωt
f
i(t)=sinωt
とすると、
となる。ただし、ωは周期Tに対応する角速度で、ω=2π/Tである。
はそれぞれCの実部、虚部を取り出す演算である。
これらの計算を、二つの周期信号を表す関数として複素関数f(t)=e
jωt=cosωt+jsinωtを用いて次のように行ってもよい。
ただし、f
(*) (t)はf(t)の共役複素数である。
また、この他の時間変調の例として、例えば特許文献2に示されている以下の様に構成する方法を用いてもよい。埋め込みパターンの値の偏角を用いて、1つの周期関数の位相を制御するように構成してもよい。例えば次のように計算する。
ここで、arg(C)は、Cの偏角を得る演算を表す。また、この場合は、埋め込みパターンを複素数としてではなく、複素数の偏角を表す実数値として保持するようにしてもよい。
また、埋め込みパターンの値を映像信号におけるN次元目の軸(例えば時間軸)の特定の周波数に対するフーリエ係数であると見て、離散逆フーリエ変換するように構成してもよい。
なお、埋め込みパターン生成部12における埋め込みパターン生成ステップS4の処理と、時間変調部13における時間変調ステップS5の処理は、全体として、埋め込み系列に基づいて透かし映像パターンを生成する透かし映像パターン生成の処理を行っていると考えることができる。
次に、パターン重畳部14は、透かし埋め込み対象映像として入力されたN次元信号の、M個の成分に対し、時間変調部13で生成されたM個のN次元の透かし映像パターンを加算することで重畳し、重畳した結果のN次元信号を透かし埋め込み済み映像として出力する(ステップS6)。
パターン重畳の処理は、例えば、N次元の透かし埋め込み対象映像のM個の成分をそれぞれ、I(1)(x1,x2,・・・,xN−1,t),I(2)(x1,x2,・・・,xN−1,t),・・・,I(M)(x1,x2,・・・,xN−1,t)、M個の透かし映像パターンをW(1)(x1,x2,・・・,xN−1,t),W(2)(x1,x2,・・・,xN−1,t),・・・,W(M)(x1,x2,・・・,xN−1,t)とするとき、透かし埋め込み済み映像のM個の成分をI’(1)(x1,x2,・・・,xN−1,t),I’(2)(x1,x2,・・・,xN−1,t),・・・,I’(M)(x1,x2,・・・,xN−1,t)として、I’(i)(x1,x2,・・・,xN−1,t)=I(i)(x1,x2,・・・,xN−1,t)+α(i)・W(i)(x1,x2,・・・,xN−1,t)のように求める。
ここでα(i)は、i番目の成分に対してあらかじめ定められた透かし埋め込みの強度パラメータである。埋め込みパラメータα(i)は、電子透かしの知覚されやすさに応じて変化する用に算出されていてもよい。
M個の成分は、例えば、透かし埋め込み対象映像の複数の色成分であってもよい。具体的にはR,G,Bであってもよいし、Y,Cb,Crの成分値であってもよい。この他前記した信号成分の例の何れかであってもよいし、これらの例に限らない。また、透かし埋め込み対象映像がM個以上の信号成分を持つ場合にその内のM個のみを対象に処理するようにしてもよい。例えば、Y,Cb,Crの成分を持つ透かし埋め込み対象映像に対して、M=2として、Cb,Cr成分のみに対して処理を行うようにしてもよい。
また、透かし埋め込み対象映像の大きさが、透かし映像パターンの大きさよりも大きい場合は、透かし映像パターンを、時間方向や空間方向に繰り返す用に加算してもよい。また、パターン重畳の処理に先立ち、透かし映像パターンを任意の大きさ、もしくは透かし埋め込み対象映像の大きさに揃うように拡大するようにしてもよい。拡大は空間方向に拡大してもよいし、時間方向に拡大してもよい。拡大にはどのようなアルゴリズムを用いても構わないことは言うまでもない。拡大された1ブロックに一つの値が対応するようにし、拡大後のブロックを全て同じ値にするようにしてもよいし、線形補間やバイキュービックなどの公知の補間手法を用いるようにしてもよい。
また、重畳される信号値が量子化によって失われてしまうのを防ぐため、量子化されないような値の大きさを保つよう、空間方向で誤差拡散やディザなどの処理を行うように拡大を行ってもよい。また、パターン重畳の処理において、透かし埋め込み対象映像の信号値に直接透かし映像パターンの値を加算する代わりに、透かし埋め込み対象映像の所定の特徴量が、透かし映像パターンの値、もしくはそのスカラー倍だけ変更されるように透かし埋め込み対象映像を変更することによって重畳を行ってもよい。上記の特徴量の例としては、例えば透かし埋め込み対象映像のブロックごとの信号値の平均値や周波数変換した周波数係数などがある。また映像、画像の画素の輝度値や色差、RGBの色信号値などを用いてもよい。
次に、図7を参照して、図3に示す電子透かし検出装置2の処理動作を説明する。図7は、図3に示す電子透かし検出装置2の処理動作を示すフローチャートである。まず、信号成分分割部21は、入力された透かし埋め込み済み映像からM個の信号成分に分割し、第一〜第Mの信号成分映像を得る(ステップS11)。
ここで、信号成分の分割は論理的なものであってもよい。例えば、入力された透かし埋め込み済み映像の1フレーム画像をM個の信号成分の情報に分割して、各々別々なメモリに格納するようにしてもよいし、入力された透かし埋め込み済み映像の1フレーム画像を全体で共通のメモリ領域に格納した上で、以降の処理の手順の中でi番目の信号成分が必要になった場合に、都度共通のメモリ領域の中の当該信号成分の値を参照して処理を行うようにしてもよい。複数のフレーム画像をまとめて処理したり、フレーム画像を分割して部分毎に処理するようにしてもよい。
また、このとき透かし埋め込み済み映像もしくは第一〜第Mの信号成分映像に対して以降の検出処理を容易にするためのフィルタ処理を行ってもよい。具体的には例えば、(a)フレーム間差分、微分を取る時間方向差分、微分フィルタ、(b)時間方向で必要な周波数帯域を取得するLPF、BPF、HPFフィルタ、(c)空間方向で画素を処理するLPF、BPF、HPFフィルタなどで処理を行ってもよい。
次に、時間復調部22それぞれは、第一〜第Mの信号成分映像をそれぞれ時間復調し、第一の複素数配列〜第Mの複素数配列を得る(ステップS12)。時間復調の処理は、例えば、以下の(1)〜(3)の処理動作によって行う。
(1)同一の基本周波数を持ち直交する二つの周期信号を生成する。例えば、一つの周期信号を基にそれぞれ位相が90°、すなわち1/4周期分異なるように二つの周期信号を生成してもよい。周期信号の例については前述の通りである。
(2)入力された信号成分映像の時間方向成分を元に、(1)で生成された二つの周期信号のそれぞれで復調し、二つのN−1次元信号を得る。
(3)(2)で得た二つのN−1次元信号が、それぞれ実部、虚部となるようにした、複素数のN−1次元配列である複素数配列を求める。
以下にN=3の映像信号に対し周期信号として正弦波f
r(t),f
i(t)を用いて時間復調を行い、第一の複素数配列〜第Mの複素数配列を得る例を示す。ここで、i番目の信号成分映像がH
(i)(x
1,x
2,・・・,x
N−1,t)で表されているものとする。
f
r(t)=cosωt
f
i(t)=sinωt
とすると、i番目の複素数配列Q
(i)(x
1,x
2,・・・,x
N−1)を
ここでjは虚数単位である。
ここでは積分演算を用いた例を示したが、Hが離散信号として得られている場合に積和演算によりQを求めてもよい。Hが連続信号として得られている場合であっても任意の標本化手段を用いて離散信号に変換してから処理するようにしてもよい。
また、この他の時間復調の例として、例えば、入力されたi番目の信号成分映像から所定の区間取りだし、N次元目の軸(例えば時間方向)に一次元離散フーリエ変換し、所定の周波数係数を取りだして、i番目の複素数配列とするよう構成してもよい。
次に、検出系列抽出部23それぞれは、時間復調部22それぞれで得られた第一〜第Mの複素数配列から、それぞれ複素数の系列である第一〜第Mの検出系列を得る(ステップS13)。この処理は、i番目の複素数配列から大きさX1×X2×・・・×XN−1のN−1次元複素数配列を構成する。ただし、X1,X2,・・・,XN−1は埋め込みパターン生成部12で用いたのと同様の要素数である。透かし埋め込み済み映像の大きさがX1×X2×・・・×XN−1と等しい場合は、第一〜第Mの複素数配列をそのまま大きさX1×X2×・・・×XN−1のN−1次元複素数配列として用いてもよい。
透かし埋め込み済み映像の大きさがX1×X2×・・・×XN−1とは異なる場合は、第一〜第Mの複素数配列の大きさもX1×X2×・・・×XN−1とは異なってくる場合がある。その場合は、拡大、縮小などの任意の標本化手段を用いて標本化して、大きさをX1×X2×・・・×XN−1に揃えたものをN−1次元複素数配列として用いればよい。
具体的には、例えば、第一〜第Mの複素数配列をX1×X2×・・・×XN−1のブロック数の領域に分割し、各ブロック領域に含まれる値の平均値を求めるようにして縮小するようにしてもよい。また、線形補間やバイキュービックなどの公知の補完手法を用いて拡大、縮小を行ってもよい。
次に、得られたN−1次元複素数配列から、順に一つずつ複素数値を取り出し、取りだした複素数値を並べ、i番目の検出系列を得る。例えば、i番目のN−1次元複素数配列がB
(i)[p
1,p
2,・・・,p
N−1](p
n≧0)、i番目の検出系列がd
(i) 1,d
(i) 2,・・・,d
(i) Lと表されているとき、
とする。
また、埋め込みパターン生成部12において、各埋め込み系列の順序を疑似乱数を用いて、ランダムな順序に入れ替えて埋め込みがなされた場合には、上記の手順の後に、疑似乱数を用いて検出系列の順序を埋め込みパターン生成部12の時と逆に入れ替えることにより、第一〜第Mの埋め込み系列と対応の付く順序に戻す。ただし、入れ替えの方法が第一の検出系列〜第Mの検出系列で共通となるようにする。すなわち、d(1) kがd(1) lと入れ替えられるとき、d(2) kはd(2) lと、・・・、d(M) kはd(M) lとそれぞれ入れ替えられ、第一〜第Mの検出系列の値の間での対応関係が維持されるようにする。また、順序の入れ替えに使用する擬似乱数の種の値は、電子透かし検出の鍵として、電子透かしの埋め込み時に用いたのと同一の鍵を与える。
次に、埋め込み系列生成部11bは、埋め込み系列を生成する(ステップS14〜S16)。埋め込み系列の生成は、電子透かし埋め込み装置1における埋め込み系列生成部11aと同様の処理により埋め込み系列を生成する。埋め込み系列は埋め込み系列生成部11aで生成されるのと同様、第一の埋め込み系列、第二の埋め込み系列、・・・、第Mの埋め込み系列のM個の埋め込み系列から構成される。ただし、埋め込み系列の生成においては、実際に埋め込まれている埋め込み情報は不明であるため、生成する埋め込み系列は、埋め込まれている可能性のある全ての埋め込み系列を生成する必要がある。
具体的には、複素数系列生成部111における(例1)〜(例3)であれば、それぞれ次のように生成する。
前述した複素数系列生成部111の(例1)のように埋め込み系列が生成されている場合には、考えられる埋め込み系列は
w=PN={PN1,PN2,・・・,PNL}
の1通りである。
また、前述した複素数系列生成部111の(例2)のように埋め込み系列が生成されている場合には、考えられる埋め込み系列は
wa=PN={PN1,PN2,・・・,PNL}
wb=−PN={−PN1,−PN2,・・・,−PNL}
の2通りである。
なお、実際に埋め込まれていた系列がwbであった場合、waとの相関値計算においても絶対値の大きな値が得られるため、waとの相関計算のみを行って、得られた相関値の偏角や実部や虚部の値を用いてどちらが埋め込まれていたかを判定するようにしてもよい。
また、前述した複素数系列生成部111の(例3)の例のように埋め込み系列が生成されている場合には、単純に全ての場合を網羅すると考えられる埋め込み系列は2n通りとなる。より少ない数の埋め込み系列の処理のみで演算をするために、いったん全てのビット値が1もしくは−1であるとした埋め込み系列を生成しておき、後の相関計算において、第一〜第Mの検出系列をそれぞれm個ずつに分割し、一つのbit biに対応する長さmの部分系列を準備し、次の2通りの埋め込み系列の部分列と、分割した第一の検出系列〜第Mの検出系列との間で相関計算を行うようにしてもよい。
w<i,1>={+PNim+1,+PNim+2,・・・,+PNim+m}
w<i,2>={−PNim+1,−PNim+2,・・・,−PNim+m}
(例2)と同様に、w<i,1>との相関計算を行った上で、相関値の偏角や実部や虚部の値を用いてビット値がどちらであったかを判定するようにしてもよい。
なお、実際に埋め込まれていた系列がw<i,2>であった場合、w<i,1>との相関値計算においても絶対値の大きな値が得られるため、w<i,1>との相関計算のみを行って、得られた相関値の偏角や実部の値を用いてどちらが埋め込まれていたかを判定するようにしてもよい。
次に、相関値計算部24は、第一〜第Mの検出系列と、埋め込み系列との相関値を計算する(ステップS17)。相関値の計算は、例えば、次式の様な積和演算によって求める。ここで、ρを求めたい相関値、d={d
(1) 1,d
(1) 2,・・・,d
(1) L,d
(2) 1,・・・,d
(M) L}を第一の検出系列〜第Mの検出系列を並べたものとし、w={w
(1) 1,w
(1) 2,・・・,w
(1) L,w
(2) 1,・・・,w
(M) L}を第一の埋め込み系列〜第Mの埋め込み系列を並べたものとする。ここで各系列値は複素数であるため、複素相関を計算する。
ただし、・は数列をベクトルと見たときの内積演算を表す。また、C*は、複素数Cの共役複素数を表す。
また、検出信頼性の評価基準をそろえるため、例えばdおよびwの各要素を予め平均0、実部、虚部の分散が1となるように正規化しておき、以下のように相関値計算で定数項を乗じて演算を行ってもよい。
また、ここで相関計算を第一〜第Mの系列を並べる形で計算するようにしたが、第一〜第Mの系列のそれぞれ個別に相関値を計算して出力し、透かし判定ステップにおいて各々の相関値を判定した上で判定結果を統合するようにしてもよい。
埋め込み系列生成ステップ(ステップS14)の(例3)のように、nビットに対してM個の埋め込み系列がそれぞれn個に分割されている場合には、n個それぞれについて上記のように相関値計算を行い、nビットのそれぞれに対応するn個の相関値を出力してもよい。
次に、透かし判定部25は、相関値に基づいて透かしの判定を行う(ステップS18)。電子透かし検出装置2に入力された透かし埋め込み済み映像に実際に電子透かしが埋め込まれていた場合には、相関値の絶対値が大きな値となる。逆に電子透かしが埋め込まれていない場合には、相関値の絶対値が小さな値となる。そのため、所定の閾値を用いて相関値の絶対値が閾値を超えているかどうかを判定することで、透かしが検出できたか否かを判定することができる。
また、相関値の計算が検出信頼性の評価基準をそろえるように計算されていた場合には、求められる誤検出率の上限値に基づいて検出信頼性を評価して閾値を決定するようにしてもよい。
また、公知の電子透かし検出装置と同様に、相関値の偏角を用いて時間方向の同期を行うようにしてもよい。また、埋め込み系列生成部11において、埋め込み情報として、1bitの情報を表すようにしていた場合には、相関値の実部又は虚部の正負によって、埋め込まれていたビット値が0/1どちらであったかを判定するようにしてもよい。
また、埋め込み系列生成部11において、埋め込み情報として、nbitの情報を表すようにしていた場合には、相関値の計算をd、wの個々のビットに対応する部分列毎におこない、個別の相関値の実部又は虚部の正負によって、埋め込まれていたビット値が0/1どちらであるかを判定するようにしてもよい。公知の電子透かし検出装置と同様に、複数の埋め込み系列との相関を計算して最大値判定を行うようにしてもよい。
次に、電子透かし埋め込み装置1で埋め込まれる電子透かし信号について説明する。ここでは、以下の条件(1)〜(3)の場合を例として説明する。
(1)パターン重畳部14において透かし映像パターンを重畳するM個の成分を、2つの信号成分とし、それぞれCb、Cr成分とする。
(2)位相変位系列生成部112において生成する位相変位系列が{−π/2,π/2}の値をとる。
(3)時間変調部13において使用する周期信号として正弦波を用いる。
この場合、透かし埋め込み済み映像の1画素(すなわちN−1次元空間上における一つの位置)に着目すると、透かし埋め込み対象映像の同一画素から信号の変化は、時間方向において、Cb成分とCr成分とで、必ずπ/2、すなわち1/4周期分ずれた位相で信号が埋め込まれることになる。
この様子を図8(a)に示す。図8は、第1の実施形態において埋め込まれる電子透かし信号の例を示す説明図である。ここでは、Cr成分に埋め込む信号がCb成分に埋め込む信号に対してπ/2だけ位相が進んでいる例を示している。ここでα(1),α(2)がそれぞれCb成分、Cr成分に対する埋め込み強度をあらわす。さらに、これをCbCr平面上での動きにあらわすと、図8(b)のようになる。CbCr平面上では、α(1),α(2)を長半径、短半径とする楕円上を動くことになる。ここで、図8ではα(1)>α(2)である例をとって図示しているが、α(1)<α(2)である場合は長半径、短半径が逆になり、α(1)=α(2)の場合は円になる。
ここで、Cr成分に埋め込む信号がCb成分に埋め込む信号に対してπ/2だけ位相が進んでいる場合を例にしているため、tが進むにつれ、楕円上を時計回りに回転する。逆に、Cr成分に埋め込む信号がCb成分に埋め込む信号に対してπ/2だけ位相が遅れている場合には、図8(c)(d)のようになり、t進むにつれて、楕円上を反時計回りに回転することになる。
すなわち、位相変位系列であらわす第一の値と第二の値によって、複数の信号成分で張られる平面上における回転の方向を変化させて埋め込みを行っていることになる。特許文献2では、信号成分に加えられる透かし信号の位相を変化させて、それをN−1次元空間における位置、例えば空間的な位置(画素)によって異なるように埋め込みを行っていた。
本実施形態ではこれに対し、N−1次元空間におけるひとつ位置、例えば空間的な位置(画素)に着目したとき、複数の信号成分の各成分毎に透かし信号の位相が異なるように埋め込みを行うことになる。さらに複数の信号成分であらわされる平面(3以上の信号成分であれば超平面)の上における回転、すなわち変化の方向が、N−1次元空間における位置によって異なるように埋め込みを行うことになる。
本実施形態のような位相変位系列を用いず、例えばCb成分とCr成分の位相を異なるようにしないで透かし信号を構成した場合の例を図9(a)(b)に示す。図9は、位相変位系列を用いない電子透かし信号の例を示す説明図である。この場合、Cb,Cr平面での動きが、直線的となり、原点からの距離が最大で
の位置までの変位が行われる。
これに対し、本実施形態の埋め込み信号の変位量は、図8のように、max(α(1),α(2))までの範囲に収まり、人間にとって知覚されにくい電子透かしを埋め込むことが可能である。ここでmax(A,B)は、A,Bのうち大きい方の値を得る関数を表す。
さらに、本実施形態では、第二〜第Mの埋め込み系列が第一の埋め込み系列と同様にランダムに生成された複素数列となる。公知の方法(文献:山本奏,中村高雄,片山淳,安野貴之,単一周波数平面スペクトル拡散を利用した時間同期外し耐性を持つ動画電子透かし,信学論D,Vol.J90−D,No.7,pp.1755.1764,2007.など)によって、埋め込む複素数列の分散が等しければ検出の信頼性は共通になることが導ける。これは、視覚的な影響をよりより少なくし人間にとって知覚されにくい電子透かしを構成しながら、検出の信頼性の観点では、特許文献2を単純に複数の信号成分への埋め込みに拡張し、図9の埋め込みを行った場合と変わらない検出の信頼性を保つことができることを意味する。
さらに、本実施形態で行っているように、複数の信号成分空間上での回転方向で情報を表すようにした場合、信号成分空間において回転されるようなノイズが付加されたとしても情報を維持することができる。そのため、透かし埋め込み済み映像を、いったん映像表示装置で再生し、カメラで再撮影してから電子透かしを検出するような状況において、映像表示装置とカメラとの色空間にずれが生じる場合でも電子透かしの検出の可能性を高めることができる。
以上のように、第1の実施形態では、位相変位系列を用いて複数の信号成分の間で、電子透かし信号の位相を異なるようにして電子透かしの埋め込み、同様に位相変位系列を用いて生成した埋め込み系列を用いて検出を行うことで、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを埋め込み、検出することができるという効果が得られる。また、複数の信号成分の空間上での回転の方向によって情報を表すことで、信号成分空間において回転されるようなノイズが付加されたとしても情報を維持し、電子透かしのロバストネスを高めることができるという効果も得ることができる。
<第2の実施形態>
次に、図面を参照して、本発明の第2の実施形態による電子透かし埋め込み装置を説明する。第2の実施形態は、位相変位を行う対象を変更するようにしたものである。図10は同実施形態による電子透かし埋め込み装置の構成を示すブロック図である。図11は、図10に示す埋め込み系列生成部11cの構成を示すブロック図である。これらの図において、図1、図2に示す装置と同一の部分には同一の符号を付し、その説明を簡単に行う。この図に示す装置は図1に示す装置と以下の点が異なっている。
埋め込み系列生成部11cは埋め込み系列生成部11aと異なり、位相変位系列生成部112−1〜112−Kで生成した第一〜第M−1の位相変位系列をそのまま出力する。
なお、複素数系列生成部111、位相変位系列生成部112の動作は、図1に示す複素数系列生成部111、位相変位系列生成部112の動作と同様である。
埋め込みパターン生成部12cの動作は、図1に示す埋め込みパターン生成部12と異なり、第一の埋め込み系列のみを用いて、1つ目の信号成分に対応するN−1次元複素数配列のみを生成し、これを埋め込みパターンとして出力する。この点以外は、図1に示す埋め込みパターン生成部12の動作と同様である。
時間変調部13cの動作は、図1に示す時間変調部13と異なり、1つ目の信号成分に対応する1つの埋め込みパターンを元に時間方向で変調し、1つ目の信号成分に対応する1つの透かし映像パターンを生成する。この点以外は、図1に示す時間変調部13の動作と同様である。
位相変位付加部15は、図1に示す電子透かし埋め込み装置1には含まれていない構成要素であり、図2に示す位相変位付加部113が行っていた処理に対応する処理を、時間変調された後の空間において処理するものである。位相変位付加の処理手順については後述する。
パターン重畳部14cの動作は、図1に示すパターン重畳部14の動作とは、入力されるのが透かし映像パターンの代わりに位相変位済み透かし映像パターンとなる以外は同様であり、透かし埋め込み対象映像に位相変位済み透かし映像パターンを重畳して透かし埋め込み済み映像を出力する。
次に、図10に示す位相変位付加部15の処理動作を説明する。位相変位付加部15は、一つ目の信号成分に対する透かし映像パターンを、第一〜第M−1の位相変位系列に従ってそれぞれ位相を変位させ、M個の信号成分に対応する位相変位済み透かし映像パターンを生成する。
以下は、位相変位付加部15を用いて第一の位相変位系列に基づいて、二つ目の信号成分に対する位相変位済み透かし映像パターンを生成する場合を例に説明する。三つ目の信号成分、・・・、M個目の信号成分に対する位相変位済み透かし映像パターンを生成する場合も、それぞれ異なる位相変位系列を入力して同様の手順を行う。
透かし映像パターンをW(1)(x,y,t)とし、第一の位相変位系列をx={x1,x2,・・・,xL}とし、xiは、{−π/2,π/2}の様に、位相変位量の角度を[ラジアン]で表すようにしている場合、二つ目の信号成分に対する位相変位済み透かし映像パターンW(2)を次のように求める。
まず、大きさX
1×X
2×・・・×X
N−1のN−1次元複素数配列を用意する。ただし、X
1,X
2,・・・,X
N−1は予め定められた要素数である。続いて、第一の位相変位系列から、順に一つずつ値を取り出し、用意した配列の位置(0,0,・・・,0)から順に、取り出した値がその要素値となるように配列に値を設定する。すなわち、複素配列がA
(2)[p
1,p
2,・・・,p
N−1](p
n≧0)、位相変位系列がx
1,x
2,・・・,x
Lと表されているとき、
また、埋め込みパターン生成部12cにおいて、埋め込み系列の順序を擬似乱数を用いてランダムな順序に入れ替えてから埋め込みパターンの生成を行っている場合には、その入れ替えの順序と同じ順序で、予め第一の位相変位系列を入れ替えておくようにし、第一の埋め込み系列と、第一〜第M−1の位相変位系列の値の間で対応関係が維持されるようにする。また、第一第M−1の位相変位系列の上で順序の入れ替えを行う代わりに、得られた複素配列の要素を入れ替えるようにしてもよい。
次に、先に生成した複素配列に基づき、透かし映像パターンの位相を変化させて2つ目の信号成分に対する位相変位済み透かし映像パターンを生成する。
N=3の場合の例を以下に示す。
三個目〜M個目の信号成分に対しても前述した処理と同様に処理を行う。元の一つ目の信号に対する透かし映像パターンを一つ目の信号成分に対する位相変位済み透かし映像パターンとみなして、二つ目〜M個目の信号成分に対する位相変位済み透かし映像パターンとあわせた、全体でM個の信号成分に対する位相変位済み透かし映像パターンを、位相変位済み透かし映像パターンとして出力する。
なお、第一〜第M−1の位相変位系列が、この他の表現形式を取るように構成した場合は、変更の方法もそれに応じて変えればよい。例えば、第一〜第M−1の位相変位系列が位相変位量の角度を表す値([度])であれば、
となる。
また、第一〜第M−1の位相変位系列が位相変位量に対応する大きさXの複素数(Xe
jθ)であれば、
となり、また例えば、第一〜第M−1の位相変位系列が電子透かしを埋め込む時間周期T
0を用いて、位相変位量に対応する遅延時間T=T
0/nであれば、
W
(2)(x
1,x
2,・・・,x
N−1,t)
=W
(1)(x
1,x
2,・・・,x
N−1,t+A
(2)[x
1,x
2,・・・,x
N−1])
となる。
また、第一〜第M−1の位相変位系列が第一の値と第二の値を取るようにし、それぞれが所定の位相変位量を意味することと定められていれば、透かし映像パターンを、第一の値、第二の値がそれぞれ意味する位相変位量に応じてN次元目の方向(例えば時間方向)に変化させるようになり、また例えば、第一の位相変位系列〜第M−1の位相変位系列が第一の値、第二の値、・・・第nの値を取るようにし、それぞれが所定の位相変位量を意味することと定められていれば、透かし映像パターンを、第一の値、第二の値、・・・第nの値がそれぞれ意味する位相変位量に応じてN次元目の方向(例えば時間方向)に変化させるようにする。
なお、第2の実施形態における電子透かし埋め込み装置1によって埋め込んだ電子透かしの検出は、第1の実施形態と同様であるので、ここでは詳細な説明を省略する。
また、埋め込み系列生成部11bを、位相変位付加部113−1〜Kにおいて位相変位付加を行う代わりに、図10に示す電子透かし埋め込み装置1の埋め込み系列生成部11cのように第一〜第M−1の位相変位系列を出力するように構成し、時間復調部13において、第一〜第M−1の位相変位系列に基づいて各信号成分ごとに逆方向に位相を変位させて時間復調するようにしてもよい。
また、図3に示す検出系列抽出部23で得られた第2〜第Mの検出系列に対し、それぞれ第一の位相変位系列〜第M−1の位相変位系列に基づいて各信号成分ごとに逆方向に位相を変位させた後に、相関値計算部24で第一の埋め込み系列との相関を取るように構成してもよい。
なお、第2の実施形態による電子透かし埋め込み装置1を第1の実施形態による電子透かし検出装置2と対で用いてもよいし、第2の実施形態による電子透かし検出装置を第1の実施形態による電子透かし埋め込み装置1と対で用いてもよい。
以上のように、第2の実施形態では、位相変位系列に対して埋め込み系列を生成する代わりに、時間変調後の透かし映像パターンに対して、位相変位系列に従った時間方向での変位を加えることで、実施例1と同様の電子透かし埋め込みを実現するものであり、第1の実施形態による電子透かし埋め込み装置1と同様の効果が得られる。
また、位相変位付加部15の動作は、透かし映像パターンに対する時間方向の参照位置を変化させるだけであるため、使用するメモリ量を少なくすることができ、時間変調部13cの処理を第一の信号成分に対する処理だけで済ませることができるため、処理時間を短縮する効果も得られる。
また、検出時においても、位相変位系列に対して埋め込み系列を生成する代わりに、時間復調前の透かし埋め込み済み映像に対して、位相変位系列に従った時間方向での逆変位を加えるか、検出系列抽出部23で得られた検出系列に対して、位相変位系列に従った逆方向の位相変位を加えることで、第1の実施形態と同様の電子透かし検出を実現することができ、第1の実施形態による電子透かし検出装置2と同様の効果が得られる。
<第3の実施形態>
次に、図面を参照して、本発明の第3の実施形態による電子透かし埋め込み装置及び電子透かし検出装置を説明する。第3の実施形態は、静止画像に適用したものである。図12は同実施形態による電子透かし埋め込み装置の構成を示すブロック図である。この図において、図1に示す装置と同一の部分には同一の符号を付し、その説明を簡単に行う。この図に示す装置は図1に示す装置と以下の点が異なっている。
埋め込み系列生成部11は、図1に示す埋め込み系列生成部11aの動作と同様である。埋め込みパターン生成部12は、図1に示す動作埋め込みパターン生成部12の動作と同様であるが、N=2である。
空間変調部16は、図1に示す時間変調部13の代わりに備えたものである。空間変調部16の動作は、時間変調部13の動作とよく似ており、埋め込みパターンを時間方向で変調する代わりに空間方向で変調する。空間方向での変調は、X軸方向に並べたN−1=1次元の埋め込みパターンを、Y軸方向に周期信号を用いて変調し、例えば次のように構成する。
W(i)(x,y)=sin(ωy+arg(A(i)[x]))
空間方向での変調は、この他の変調方法であってもよい。例えば、Y軸方向に並べた埋め込みパターンを、X軸方向に周期信号を用いて変調してもよいし、斜めの方向に並べた埋め込みパターンを斜めの方向に変調するようにしてもよい。斜め方向に変調した場合は、検出における空間復調においてその方向で復調を行えばよい。
パターン重畳部14は、図1に示すパターン重畳部14と同様であるが、対象としてN=2次元の画像を対象にパターン重畳を行う点のみが異なる。
また、第2の実施形態と同様に、空間変調を行った後に位相変位系列に従って埋め込みパターンに対して位相変位を加えるように構成してもよい。この場合は、埋め込み系列生成部11aを図10に示す埋め込み系列生成部11cと同様に構成し、さらに位相変位付加部15と同様の手段を電子透かし埋め込み装置1内に備えるようにすればよい。
図13は、同実施形態による電子透かし検出装置の構成を示すブロック図である。この図において、図3に示す装置と同一の部分には同一の符号を付し、その説明を簡単に行う。この図に示す装置は図3に示す装置と以下の点が異なっている。
空間復調部26は、図3に示す時間復調部22の代わりに備えたものである。空間復調部26の動作は、図3に示す時間復調部22の動作とよく似ており、第一〜第Mの信号成分画像を時間方向で復調する代わりに空間方向で復調する。復調の際の方向は空間変調部16と対応する方向に行い、例えば、空間変調部16で、X軸方向に並べたN−1=1次元の埋め込みパターンを、Y軸方向に周期信号を用いて変調している場合には、Y軸方向で空間復調を行い、X軸方向に並んだ第一〜第Mの複素数配列を得る。この他の方向で空間変調を行っている場合は、対応する方向で空間復調を行う。
また、空間復調部26をM個備える代わりに、一つの空間復調部26を順にM回繰り返し使用して、合計M個の複素数配列を生成するようにしてもよい。信号成分分割部21、検出系列抽出部23、埋め込み系列生成部11b、相関値計算部24、透かし判定部25の動作は、映像(動画)ではなくN=2次元の画像を対象としている点以外には第1の実施形態と同様である。
また、第2の実施形態と同様に、空間復調を行う前に位相変位系列に従って透かし埋め込み済み画像に対して位相変位を加えるように構成してもよいし、検出系列抽出部23で得られた第一〜第Mの検出系列に対して位相変位を加えるように構成してもよい。
以上のように、第3の実施形態では、第1の実施形態と同様の電子透かし埋め込みを、静止画像に対しても実現することができ、第1の実施形態の電子透かし埋め込み装置1、電子透かし検出装置2と同様の効果が得られる。また、第2の実施形態と同様に、空間変調を行った後に位相変位系列に従って埋め込みパターンに対して位相変位を加えるように構成したり、空間復調を行う前に位相変位系列に従って透かし埋め込み済み画像に対して位相変位を加えるように構成したり、検出系列抽出部23で得られた第一〜第Mの検出系列に対して位相変位を加えるように構成したりすれば、第2の実施形態の電子透かし埋め込み装置1、電子透かし検出装置2と同様の効果が得られる。
<第4の実施形態>
次に、本発明の第4の実施形態による電子透かし埋め込み装置及び電子透かし検出装置を説明する。第4の実施形態は、他の方法によって埋め込み系列生成するものである。本発明の特徴のひとつは、透かし映像パターンのN−1次元空間上の同一の位置に対応する埋め込み系列の値が、M個の信号成分のそれぞれで異なる値となるように埋め込み系列を生成する点であるが、他にも、例えば次のように生成するようにしてもよい。
(例1)まず、埋め込み系列のとりうる値をM×k種類用意する。例えば、M=2,k=4のとき、{1,ejπ/4,ejπ/2,ej3π/4,ejπ,ej5π/4,ej3π/2,ej7π/4}の8種類用意する。そして、第一の埋め込み系列の生成において、用意したM×k種類の中からk種類を選び、このk種の値のいずれかの値をとる擬似乱数を用いて第一の埋め込み系列を生成する。例えば{ejπ/4,ej3π/4,ej5π/4,ej7π/4}の4値を取る擬似乱数を用いて第一の埋め込み系列を生成する。
次に、第二の埋め込み系列の生成において、用意したのM×k種類の中から、先に選ばれたものを除いた(M−1)×k種類の中からk種類を選び、このk種の値のいずれかの値をとる擬似乱数を用いて第二の埋め込み系列を生成する。例えば{1,ejπ/2,ejπ,ej3π/2}の4値を取る擬似乱数を用いて第二の埋め込み系列を生成する。以下同様に第三〜第Mの埋め込み系列まで生成する。上記の例の様子を図14に示す。図14は、埋め込み系列のとりうる値の例を示す説明図である。
また、k種類選ぶ際、k種の値の平均が0になるように選んでもよい。また、第一〜第Mのいずれの埋め込み系列にどのk種類を選ぶのかは、予め決定しておき、そのk種類から必ず選ばれるように埋め込み系列生成部を構成するようにしてもよい。また、M×k種類の中からどのk種類をどの埋め込み系列に対して選択するのかを、系列の何番目の値を決定するかによって変更するようにしてもよい。すなわち、N−1次元空間上の位置(例えば映像における空間位置)によって、選択される値が異なるようにしてもよい。これにより、例えば、N−1次元空間上で位置が隣接する画素間で位相差がπとならないように値を選択し、視覚的な影響をより少なくすることができる。
上記では具体的な値を示して説明したが、これ以外の値を用いる方法であってもよい。例えば、第一の埋め込み系列がk種類(kは2以上の整数)の値のいずれかの値をとるように第一の埋め込み系列を生成し、第二の埋め込み系列が上記k種類の値と同じ値を含まない別なl種類(lは2以上の整数)の値のいずれかの値をとるように第二の埋め込み系列を生成し、同様に上記k種類、l種類の値と同じ値を含まない別なm種類(mは2以上の整数)の値のいずれかの値をとるように第三の埋め込み系列を生成し、同様に繰り返して第四〜第Mの埋め込み系列まで生成するように構成すれば、どのような方法であってもよい。
(例2)以下のように、生成した元埋め込み系列に対して、M個の信号成分毎に異なる位相変位量を設定し、M個の埋め込み系列をそれぞれ決められた位相変位量の分、値の位相を変位させることで第一〜第Mの埋め込み系列を生成するようにしてもよい。
まず、元埋め込み系列の生成埋め込み系列のとりうる値を以下のk種とし、第一〜第Mの埋め込み系列を生成する。
{1,ej2π/k,ej4π/k,・・・,ej2(k−1)π/k}
例えばk=4のとき、{1,ejπ/2,ejπ,ej3π/2}となる。
次に、位相変位第iの埋め込み系列に対して、埋め込み系列の値の位相を
変位させる。例えばM=2,k=4のとき、第一の埋め込み系列に対しては結果として位相は変化せず、w
(1)は{1,e
jπ/2,e
jπ,e
j3π/2}のいずれかの値をとることになり、第二の埋め込み系列に対しては、位相がπ/4変化し、w
(2)は{e
jπ/4,e
j3π/4,e
j5π/4,e
j7π/4}のいずれかの値をとることになる。上記の例の様子を図15に示す。図15は、埋め込み系列のとりうる値の例を示す説明図である。
なお、電子透かし埋め込み装置と電子透かし検出装置で、上記のそれぞれの例のように埋め込み系列を生成することで、透かし映像パターンのN−1次元空間上の同一の位置に対応する埋め込み系列の値が、M個の信号成分のそれぞれで異なる値となるように埋め込み系列を生成でき、第1の実施形態と同様の効果を得ることができる。
上記では、具体的な値を用いて説明したが、これ以外の値を用いる方法であってもよい。例えば、k種類(kは2以上の整数)の値のいずれかの値をとるM種類(Mは2以上の整数)の信号成分にそれぞれ対応するM種類の埋め込み系列を生成し、生成したM種類の埋め込み系列の値の偏角を、M種類の埋め込み系列毎に異なる位相差θ変位させるように構成すれば、どのような方法であってもよい。また、上記のk種類の値は、互いの偏角の差がφの整数倍異なる複素数となるようにし、位相差θは、φとは異なる位相差となるように構成してもよい。
<第5の実施形態>
次に、図面を参照して、本発明の第5の実施形態による電子透かし埋め込み装置及び電子透かし検出装置を説明する。第5の実施形態は、第1の実施形態に、さらに空間方向でのパターン位置をずらす処理を加えたものである。以下では、N=3の映像信号を対象とした例を示す。N≠3の信号に対しても、N−1次元空間でのパターン位置をずらす処理を行うこととなり同様である。
図16は同実施形態による電子透かし埋め込み装置の構成を示すブロック図である。この図において、図1に示す装置と同一の部分には同一の符号を付し、その説明を簡単に行う。図16に示す電子透かし埋め込み装置1は、埋め込み系列生成部11aと、埋め込みパターン生成部12と、時間変調部13と、空間拡大部17と、パターン重畳部14から構成され、埋め込み情報と、透かし埋め込み対象映像とを入力し、透かし埋め込み済み映像を出力する。埋め込み系列生成部11aは、埋め込み情報を入力し、埋め込み系列を出力する。埋め込みパターン生成部12は、埋め込み系列を入力し、埋め込みパターンを出力する。時間変調部13は、埋め込みパターンを入力し、透かし映像パターンを出力する。空間拡大部17は、透かし映像パターンを入力し、拡大済み透かし映像パターンを出力する。パターン重畳部14は、透かし埋め込み対象映像と、拡大済み透かし映像パターンとを入力し、透かし埋め込み済み映像を出力する。
図17は、図16に示す空間拡大部17の構成を示すブロック図である。空間拡大部17は、パターン拡大部171と、位相変位部172から構成され、透かし映像パターンを入力し、拡大済み透かし映像パターンを出力する。パターン拡大部171は、透かし映像パターンを入力する。位相変位部172は、拡大済み透かし映像パターンを出力する。
図18は、同実施形態による電子透かし検出装置の構成を示すブロック図である。図18に示す電子透かし検出装置は、信号成分分割部21と、時間復調部22−1〜Mと、空間縮小部27−1〜Mと、検出系列抽出部23−1〜Mと、埋め込み系列生成部11bと、相関値計算部24と、透かし判定部25から構成され、透かし埋め込み済み映像を入力し、透かし検出結果を出力する。信号成分分割部21は、透かし埋め込み済み映像を入力し、M個の信号成分映像を出力する。時間復調部22−1〜Mそれぞれは、信号成分映像を入力し、複素数パターンを出力する。空間縮小部27−1〜Mそれぞれは、複素数パターンを入力し、複素数配列を出力する。検出系列抽出部23−1〜Mそれぞれは、複素数配列を入力し、検出系列を出力する。埋め込み系列生成部11bは、埋め込み系列を出力する。相関値計算部24は、M個の検出系列と、埋め込み系列とを入力し、相関値を出力する。透かし判定部25は、相関値を入力し、透かし検出結果を出力する。
図19は、図18に示す空間縮小部27の構成を示すブロック図である。空間縮小部27は、位相変位部271と、パターン縮小部272から構成され、複素数パターンを入力し、複素数配列を出力する。位相変位部271は、複素数パターンを入力する。パターン縮小部272は、複素数配列を出力する。
第5の実施形態による電子透かし埋め込み装置1は第1の実施形態による電子透かし埋め込み装置1と同様であるが、以下の点が異なる。埋め込み系列生成部11aの動作は、第1の実施形態による動作と同様である。また、第4の実施形態におけるその他の埋め込み系列生成方法をとるようにしてもよい。
埋め込みパターン生成部12の動作は、第1の実施形態と同様である。時間変調部13の動作は、第1の実施形態と同様である。空間拡大部17は、時間変調部13で生成された透かし映像パターンを、M個の信号成分毎に空間方向での位相をずらすようにして拡大し、拡大済み透かし映像パターンを生成する。空間拡大部17の処理手順については後述する。
パターン重畳部14の動作は、入力されるのが透かし映像パターンの代わりに拡大済み透かし映像パターンとなる以外は同様であり、透かし埋め込み対象映像に拡大済み透かし映像パターンを重畳して透かし埋め込み済み映像を出力する。
次に、図17を参照して、図17に示す空間拡大部17の処理動作を説明する。空間拡大部17は、入力されたM個の信号成分に対応する透かし映像パターンに対してそれぞれ処理を行うが、以下では一つの透かし映像パターンに対する処理を例に示す。
まず、入力された透かし映像パターンを空間方向に横a倍、縦b倍に拡大するため、aMx×bMy×Mtの大きさの配列W’(i)[x,y,t](0≦x<aMx,0≦y<bMy,0≦t<Mt)を用意する。ここで、Mx,My,Mtは、それぞれ透かし映像パターンW(i)(x,y,t)(0≦x<Mx,0≦y<My,0≦t<Mt)の横方向、縦方向、時間軸方向の大きさ、iはi番目の信号成分を表す値である。
次に、パターン拡大部171において、透かし映像パターンの1ピクセルをW’
(i)[x,y,t]のa×bのブロック領域に拡大する。このとき、ブロック領域の中心部の値の絶対値が大きく、周辺部の値の絶対値が小さくなる様に拡大する。具体的には、例えば、ブロック幅の倍の周期をもつ三角関数を用いて以下のように構成してもよい。
ここで0≦dx<a,0≦dy<bとする。
この様子を図20(a)(b)に示す。ただし、図20では、説明のため横方向1次元の拡大のみを図示している。拡大の仕方は、このようにブロック領域の中心部の値の絶対値が大きく、周辺部の値の絶対値が小さくなるように拡大していればどのような拡大であってもよい。例えば、図20(c)の様に三角波になるように構成してもよいし、図20(d)の様に台形になるように構成してもよい。上記では処理対象の空間を離散的に表現したが、連続的に表現してもよい。
次に、位相変位部172において、配列W’
(i)[x,y,t]を空間方向で位置を変位させた、配列W’’
(i)[x,y,t]を求める。変位の量はM個の透かし映像パターンに対応するM個の信号成分毎に異なる様に定める。また、このとき、配列の領域をはみ出す部分については、配列の反対側にループするよう巡回的にシフトするようにしてもよい。
具体的には、例えば以下の式で表してもよい。
ここで、Δ
(i) x,Δ
(i) yは信号成分iに対する変位量を表し、AmodBは、Aに対しBを法とする正剰余を求める演算を表す。なお、空間方向の変位量Δ
(i) x,Δ
(i) yが整数値でない場合は、適宜補間を行って計算するようにしてもよい。
空間方向の変位量Δ(i) x,Δ(i) yは、例えば二つの信号成分を対象とする場合に、第一成分に対する変位量Δ(1) x,Δ(1) yを0、第二成分に対する変位量Δ(2) x,Δ(2) yを1/2ブロック分の値(a/2,b/2)とするように構成してもよい。これは、第二成分を空間方向で位相を1/4周期分(π/2)変位させることに相当する。
この様子を図21に示す。図21では、説明のためx軸方向のみについて表現し、第一成分に対する変位量をΔ(1) x=0、第二成分に対する変位量をΔ(2) x=a/2とした例を表している。この場合、第一成分の拡大済み透かし映像パターンと第二成分の拡大済み透かし映像パターンの二つの信号成分のピーク位置がずれるため、変位を加えない場合と比較して、同一の画素に対する全体の変位量(例えば各成分の変位量の絶対値和や平方和)を抑制することができる。3つ以上の信号成分を含む場合にも、互いに変位量を異なるようにすることで同様に同一の画素に対する全体の変位量を抑制することができる。
なお、前述した処理動作において、同時に処理が可能な処置については同時に処理するようにしてもよい。例えば、W’(i)[x,y,t]を構成する際に同時に空間変位を加えるように一度に構成するようにしてもよい。また、時間変調部と空間拡大部は、順序を入れ替え、空間拡大部の処理を時間変調部の処理の前に行うように構成してもよい。すなわち、時間変調前の埋め込みパターンに対して空間位相変位を加えながら空間拡大を行い拡大済みの埋め込みパターンを生成し、その後に時間変調を行うことで拡大済み透かし映像パターンを得るようにしてもよい。
次に、第5の実施形態による電子透かしの検出装置2について説明する。図18に示す電子透かしの検出装置2は第1の実施形態と同様であるが、以下の点が異なっている。時間復調部22の動作は、第1の実施形態と同様であるが、復調の結果は、いったん空間縮小部27に入力されるため、ここでは出力される復調の結果を第一〜第Mの複素数パターンとする。
空間縮小部27は、時間復調部22で得られた第一〜第Mの複素数パターンに対し、M個の信号成分毎に空間方向でずらされた位相を元に戻すようにしながら縮小し、第一〜第Mの複素数配列を生成する。空間縮小部27の処理手順については後述する。
信号成分分割部21、検出系列抽出部23、埋め込み系列生成部11b、相関値計算部24及び透かし判定部25の動作は、第1の実施形態と同様である。また、図16の電子透かし埋め込み装置1の埋め込み系列生成部11aで、第4の実施形態におけるその他の埋め込み系列生成方法をとるようにした場合には、埋め込み系列生成部11bにおいて対応する方法により埋め込み系列を生成する。
次に、図19を参照して、図19に示す空間縮小部27の処理動作を説明する。空間縮小部27では図16に示す電子透かし埋め込み装置1の空間拡大部17と対となる処理を行い、第一〜第Mの複素数パターンを、検出系列抽出部23で必要な大きさの複素数配列に縮小する。
まず、位相変位部271において、時間復調部22で得られた複素数パターンを対応する信号成分について空間拡大部で変位させた量の分、逆方向に変位させる。また、変位は巡回的にシフトするようにしてもよい。例えば時間復調部22で得られた複素数パターンをB
(i)(x,y)、空間拡大部17でi番目の信号成分に加えられた空間変位の量をΔ
(i) x,Δ
(i) y、逆方向に変位した複素数パターンをB’
(i)(x,y)とすると、
の様に計算してもよい。ここで、B
x,B
yは複素数パターンB
(i)の横方向、縦方向の大きさである。これは、空間拡大部17で与えられた変位を逆変位させる様な演算であればよい。また、演算の途中で補間等の処理を行ってもよい。
次に、Mx×Myの大きさの配列C(i)[x,y](0≦x<Mx,0≦y<My)を用意する。ここで、Mx,Myは、それぞれ透かし映像パターンW(i)(x,y,t)(0≦x<Mx,0≦y<My,0≦t<Mt)の横方向、縦方向の大きさ、iはi番目の信号成分を表す値である。
次に、パターン縮小部272は、逆方向に変位した複素数パターンB’(i)(x,y)を縮小し、配列C(i)[x,y]に格納する。例えば、C(i)[x,y]の一つの要素に対応するブロック領域毎に、ブロック領域内の値の平均値を求めて格納する様にしてもよいし、任意の補間手段を用いて縮小を行ってもよい。また、補間手段を用いて縮小する前に複素数パターンに低域通過フィルタ(LPF)を処理してもよい。続いて、得られた配列C(i)[x,y]を、第iの複素数配列として出力する。
なお、前述した処理動作において、同時に処理が可能な処置については同時に処理するようにしてもよい。例えば、縮小を行う際に、同時に空間変位を逆変位させる演算を行い一度に演算するようにしてもよい。また、空間縮小部27をM個備える代わりに、一つの空間縮小部を順にM回繰り返し使用して、合計M個の複素数配列を生成するようにしてもよい。
また、時間復調部22と空間縮小部27は、順序を入れ替え、空間縮小部27の処理を時間復調部22の処理の前に行うように構成してもよい。すなわち、時間復調前の第一〜第Mの信号成分映像に対して埋め込み時に加えたのと逆の空間位相変位を加えながら空間縮小を行い縮小済みの信号成分映像を生成し、その後に時間復調を行うことで第一〜第Mの複素数配列を得るようにしてもよい。また、図16の埋め込み系列生成部11a、図18の埋め込み系列生成部11bを、第1の実施形態による動作と異なり、位相変位系列生成部112、位相変位付加部113を用いずに、第二〜第Mの埋め込み系列を直接生成するように構成してもよい。すなわち、複素数系列生成部111を用いて、第一〜第Mの埋め込み系列をそれぞれ別々に生成するようにし、第一〜第Mの埋め込み系列がそれぞれ独立になるようにしてもよい。この場合も、位相変位部172によって複数の信号成分毎に異なる変位が加えられることで、図21に示すように複数の信号成分のピーク位置をずらされることは同様である。
以上のように、第5の実施形態では、複数の信号成分毎に異なる変位量で透かし映像パターンのN−1次元空間の方向に位相変位を加えることで、複数の信号成分のピーク位置が互いにずれるように透かし映像パターンの拡大を行って電子透かしの埋め込みを行うことで、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを埋め込むことができるという効果が得られる。さらに、透かし埋め込み済み映像に対して、埋め込み時と逆の、複数の信号成分毎に異なる変位量で、位相変位を加えながら縮小を行って検出することで、人間にとって知覚されにくい電子透かしに対しても、検出の信頼性を保って検出することができるという効果が得られる。
なお、各実施形態においては、映像信号および画像信号に対する電子透かし埋め込みおよび電子透かし検出の例を示したが、映像、画像以外の信号を対象に同様の電子透かし埋め込みおよび電子透かし検出を行ってよい。
また、各実施形態において、複素数を用いて説明している箇所は、4元数や8元数、k次元(kは2以上)のベクトルを用いてもよい。これらを用いた場合、位相や偏角を用いている箇所はベクトルの方向や所定の軸からの角度を用いるようにしてもよい。また、相関値計算においては、4元数や8元数の場合は複素数と同様に共役な数との積和をとってもよい。任意のk次元ベクトルの場合は、複素数、4元数、8元数、同様の積演算を行ってもよいし、例えばベクトル間の内積を用いてもよい。
複素数の代わりに4元数や8元数、3次以上の次元のベクトルを用いる場合は、複数の信号成分をひとまとめにして処理するようにしてもよい。例えば、2M個の信号成分を2つずつ組にしたM組の信号成分に対し、4元数を用いて埋め込みを行ってもよい。さらに4元数の系列を生成する際に組にした2つの信号成分について位相が異なるように系列を生成するようにしてもよい。
また、各実施形態において、電子透かし埋め込み装置1から出力された電子透かし埋め込み済信号を直接電子透かし検出装置2に入力するように説明しているが、埋め込み済信号を圧縮、符号化、配信、編集、改変などした上で電子透かし検出装置に入力されてもよい。また、埋め込み済信号を磁気媒体(例えばVTR、DVD、フレキシブルディスク、CD、HDD等)やその他の媒体(フィルム等)に一旦記録したり、ネットワークを通じて伝送したり、光学的なデバイスを用いて再生(例えば映画としてスクリーンに映写する、CRTや液晶、プラズマなどのディスプレイで表示する等)したものをビデオカメラ、携帯電話のカメラ、フィルムを用いたカメラ等の撮影手段を用いて再撮影したりしてもよい。
また、各実施形態において、埋め込み系列生成部での埋め込み情報の処理に先立って誤り訂正符号を用いて埋め込み情報を符号化してもよく、逆に、検出結果の出力に先立って誤り訂正符号を復号するようにしてもよい。
以上説明したように、前述した電子透かし埋め込み装置1を用いて電子透かしを埋め込むことで、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを埋め込むことができ、信号成分空間において回転されるような改変が加えられたとしても情報を維持し、電子透かしのロバストネスを高めることもできる。また、前述した電子透かし検出装置2を用いて電子透かしを検出することで、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくく、信号成分空間において回転されるような改変が加えられたとしても情報を維持しするロバストネスの高い電子透かしを検出することができる。
また、前述した電子透かし埋め込み装置1を用いて電子透かしを埋め込むことで、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを埋め込むことができるとともに、使用するメモリ量を少なくすることができ、処理時間を短縮することができる。
また、前述した電子透かし埋め込み装置1を用いて電子透かしを埋め込むことで、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを、静止画像に対しても埋め込むことができる。また、静止画像に対して埋め込まれた検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを検出することができる。
また、前述した電子透かし埋め込み装置1を用いて電子透かしを埋め込むことで、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを埋め込むことができる。また、検出の信頼性を保ったまま、視覚的な影響をより少なくし、人間にとって知覚されにくい電子透かしを検出することができる。
なお、図1、3、10、12、13、16、18に示す電子透かし埋め込み装置1、電子透かし検出装置2おける処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより電子透かしの埋め込み処理及び電子透かしの検出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行っても良い。