動画像電子透かし装置
【課題】 MPEG等の圧縮された形式のまま透かしデータを判定することができ、かつ他者からフレームを間引く等の攻撃を受けても大きな耐性を有する動画像電子透かし装置を提供することにある。
【解決手段】 透かしデータ埋め込み位置に対応する4個のDCT係数x1 ,x2 ,x3 ,およびxを抽出する。これらのDCT係数x1 ,x2 ,x3 ,およびxは、互いに相関があるから、一般的にはほぼ等しい値である。そこで、透かしデータ検出部16は下式の演算を行う。
(|x1 |+|x2 |+|x3 |)/3+s<|x| …(1)
透かしデータ埋め込み位置に対応する3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在すると、前記(1) 式の精度が低下するから、該3個のDCT係数x1 ,x2 ,x3 をふるいにかけて、3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在した場合、この異常値を除去して、(1) 式または他の演算をするようにしたものである。
【解決手段】 透かしデータ埋め込み位置に対応する4個のDCT係数x1 ,x2 ,x3 ,およびxを抽出する。これらのDCT係数x1 ,x2 ,x3 ,およびxは、互いに相関があるから、一般的にはほぼ等しい値である。そこで、透かしデータ検出部16は下式の演算を行う。
(|x1 |+|x2 |+|x3 |)/3+s<|x| …(1)
透かしデータ埋め込み位置に対応する3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在すると、前記(1) 式の精度が低下するから、該3個のDCT係数x1 ,x2 ,x3 をふるいにかけて、3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在した場合、この異常値を除去して、(1) 式または他の演算をするようにしたものである。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は動画像電子透かし装置に関し、特に動画像を配信する際に透かしを埋め込むことにより、著作権の存在を明らかにするための動画像電子透かし装置に関する。
【背景技術】
【0002】
従来から、静止画像に透かしデータを埋め込んで、該画像の著作権を明らかにする試みがなされている。この方式は、フーリエ変換、離散コサイン変換(DCT)、ウェーブレット変換などを用いて、静止画像に透かしデータを埋め込んでいる。静止画像に透かしデータを埋め込むには大きな演算量を必要とするが、静止画像の通信は1画面だけであるので、特に問題になっていない。
【0003】
また、インターネット等の普及に伴い、動画像をデジタル画像で通信あるいは流通する機会が増加することが予想されるが、動画像の著作権を明らかにしようとすると、動画像には非常に多数の画像フレームが存在しているため、全てのフレームに同一の透かしを埋め込むか、あるいは特定のフレームに透かしを埋め込むことが必要になる。この透かしデータの埋め込みに、前記した静止画像に透かしデータを埋め込む方式を適用しようとすると、動画像では多数のフレームに透かしデータを埋め込むことが必要になるため、該透かしデータを埋め込むための演算量が膨大となって実現が難しいという問題がある。また、特定のフレームのみに透かしを埋め込んだ場合には、該透かしが埋め込まれているフレームを探し出すのが難しいという問題がある。
【0004】
一方、動画像に透かしを埋め込む方式として、MPEGの動ベクトルを操作することによって、透かしを埋め込む方式が提案されている。この方式によれば、画像フレーム中の一つのフレームを特定せずとも、透かしを抽出することができ、有用である。なお、本発明と関連する特許として、例えば特開平10−178642号公報がある。
【特許文献1】特開平10−178642号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、前記のMPEGの動ベクトルを操作する方式では、圧縮データを一旦復号化した後再符号化することによって、簡単に透かしデータを除去されてしまうという問題があった。また、動画像はMPEGで圧縮された形式で配布されることが一般的であるため、MPEGの圧縮された形式のまま透かしを判定することが求められるが、従来はこの点について、十分に配慮がされていなかった。
【0006】
本発明の目的は、前記した従来技術の問題点を除去し、MPEG等の圧縮された形式のまま透かしデータを判定することができ、かつ他者からフレームを間引く等の攻撃を受けても大きな耐性を有する動画像電子透かし装置を提供することにある。また、他の目的は透かしデータの埋め込み検出を高速で行うことができる動画像電子透かし装置を提供することにある。
【課題を解決するための手段】
【0007】
前記した目的を達成するために、本発明は、圧縮された画像データのブロックから透かしデータの検査対象ブロックを抽出する手段と、該抽出された検査対象ブロックの透かしデータが埋め込まれた第1のDCT係数に対応する近隣のブロックの第2のDCT係数をふるいにかけ、異常値をもつ第2のDCT係数を除去する手段と、前記第1のDCT係数値の絶対値が、前記異常値をもつDCT係数を除去された第2のDCT係数値の絶対値平均値より、予定の閾値以上異なっている場合に、透かしデータが埋め込まれていると判定する手段とを具備した点に第1の特徴がある。この特徴によれば、異常値をもつ第2のDCT係数を予め除去できるので、透かしデータを精度良く検出することができる。
【0008】
また、圧縮された画像データからフレーム間予測モードで符号化されたフレームの検査対象ブロックを抽出する手段と、該抽出された検査対象ブロック中の透かしデータが埋め込まれる予定の位置にDCT係数が存在するか否かを判定する手段とを具備し、該DCT係数が存在する場合に、該検査対象ブロックに透かしデータが埋め込まれていると判断するようにした点に第2の特徴がある。この特徴によれば、透かしデータの検出を高速で行えるようになる。
【発明の効果】
【0009】
請求項1,2の発明によれば、透かしデータの有無の検出の精度をより向上させることができるようになる。また、請求項3の発明によれば、フレームに透かしデータが埋め込まれていることの検出を高速で行えるようになる。
【発明を実施するための最良の形態】
【0010】
以下に、図面を参照して、本発明を詳細に説明する。図1は、本発明に関わる透かしデータ埋め込み装置の概略の構成を示すブロック図である。
【0011】
図において、ブロック分割部1は例えば図2(a) の画像フレームを8×8画素のブロックbijに分割する。ブロック抽出部2はテンプレート9から指示されたマクロブロック(16×16画素)mxyを抽出する。DCT部3は該マクロブロックmxyに含まれるブロックmxiyi毎に離散コサイン変換(DCT)する。DCT係数抽出部4は該DCTされたマクロブロックmxyの中の一個のブロックmx2y2(図2(b) 参照)のDCT係数xを、前記テンプレート9の指示に従って抽出する。ここに、テンプレート9は、後述する透かしデータを埋め込む位置を示す情報を提供するものであり、前記ブロック抽出部2では該透かしデータが埋め込まれる位置のマクロブロックを抽出し、DCT係数抽出部4では透かしデータが埋め込まれるDCT係数xを抽出する。
【0012】
透かしデータ埋め込み部5は該DCT係数xに透かしデータを埋め込む。例えば、該DCT係数xを下式によって得られる係数x'に変化させることにより、透かしデータを埋め込む。
【0013】
x'=sign(x) *(|x|+a)
ここに、xは元の係数値、aは透かしデータ、すなわち埋め込み値、sign(x) はxの符号である。
【0014】
すなわち、該透かしデータ埋め込み部5は、DCT係数xの+,−の符号を保持したまま、絶対値が大きくなる方向に該DCT係数xを変化させる働きをする。例えば、透かしデータa=5.0とすると、該DCT係数xが+15.7であれば、x'=+20.7となり、該DCT係数xが−15.7であれば、x'=−20.7となる。
【0015】
逆DCT部6は、該透かしデータが埋め込まれたブロック(マクロブロック)を逆DCTする。ブロック合成部7は、該逆DCTされたブロックを、前記ブロック抽出部2で抽出されなかったブロックと合成し、透かしデータが埋め込まれた画像データを生成する。MPEG符号化部8は、配布される動画像コンテンツを作成するために、該透かしデータが埋め込まれた画像データをMPEG符号化(量子化およびハフマン符号化)する。
【0016】
本発明の一実施形態では、前記ブロック抽出部2は動画像のフレームから前記テンプレート9で指示された複数位置のマクロブロックを抽出し、次いでDCT係数抽出部4で該テンプレート9によって指示された同じまたは異なる位置のDCT係数を、該複数位置のマクロブロックの各々から抽出して、前記透かしデータ埋め込み部5で該DCT係数に透かしデータを埋め込むことにする。
【0017】
すなわち、前記ブロック抽出部2は、図3に示されているように、あるフレームFに対しては同図(a) に示されている複数位置の例えば4個のマクロブロックM1 〜M4 を抽出し、他のフレームFに対しては同図(b) に示されている複数位置の例えば4個のマクロブロックM5 〜M8 を抽出する。
【0018】
次いで、DCT係数抽出部4は、前記ブロック抽出部2で抽出された4個のマクロブロックに対して、該テンプレート9によって指示された同じ位置のDCT係数あるいは異なる位置のDCT係数を抽出して、前記透かしデータ埋め込み部5で透かしデータを埋め込む。
【0019】
いま、前記図3(a) のマクロブロックの抽出パターンをマークA、(b) のマクロブロックの抽出パターンをマークBと名付けると、同図(c) に示されているような画像フレーム列は、マークAの付されたフレームと、マークBの付されたフレームと、マークの付されていないフレームとに分類されることになる。なお、前記の説明では、前記ブロック抽出部2で抽出されるマクロブロックの個数を4個としたが、本発明はこれに限定されることなく、2個以上であればよい。また、マークの個数をA,Bの2個としたが、これに限定されることなく、1個または3個以上であっても良い。また、図中の■は埋め込みありのマクロブロックを示し、後述する□は埋め込みなしのマクロブロックを示す。
【0020】
次に、前記透かしデータ埋め込みの第2の実施形態を、図11を参照して説明する。この実施形態は、例えばユーザX向けと、ユーザY向けとに同じ内容の動画像を配布する場合、各動画像フレームの同じ位置のマクロブロックを透かしデータの埋め込み候補とし、さらに該マクロブロックに透かしデータを埋め込む、埋め込まないの選択をして、動画像の配布先を明らかにする場合が考えられる。例えば、図11(a) 、(b) に示されているように、ユーザXとYに配布する動画像から透かしデータの埋め込み候補として抽出されるマクロブロックX1〜X4とY1〜Y4はそれぞれ同位置であり、ユーザX向けにはマクロブロックX1、X3は透かしデータを埋め込み(=1)、X2、X4には埋め込まない(=0)処理をし、ユーザY向けにはマクロブロックY2、Y4は透かしデータを埋め込み(=1)、Y1、Y3には埋め込まない(=0)処理がなされる場合がある。この処理の利点は、透かしデータの埋め込みの有無で、1ビット情報が表現されているので、例えば1010の2進データが埋め込まれた動画像はユーザXに配布されたものであり、0101の2進データが埋め込まれた動画像はユーザYに配布されたものであることが分かり、例えば前記動画像の海賊版が発行された場合には、該2進データから該海賊版の出処が明らかになる。
【0021】
このような場合に、ユーザX向けに配布された動画像データのDCT係数からユーザY向けに配布された動画像データのDCT係数が引き算されると、同図(c) のように、透かしデータが埋め込まれた位置の値が1または−1となり、他の位置の値は全て0になる。このため、ユーザに、透かしデータの埋め込み位置、すなわち秘密鍵が露呈してしまうことになる。
【0022】
そこで、本実施形態では、ユーザX,Y等に透かしデータ入り動画像を提供する際に、符号化制御パラメータをユーザ毎に変更してMPEG1圧縮をすることにより、圧縮画像に含まれる符号化雑音成分をユーザ毎に変化させることにする。そうすると、ユーザXとYに配布された動画像のDCT係数が引き算されても、透かしデータが埋め込まれたDCT係数は符号化雑音に埋もれて、容易に探知されることはなくなる。なお、前記のようにMPEG1の符号化制御パラメータを変更しても、復号に支障はなく、復号された画像の品質には何らの問題も生じない。
【0023】
符号化制御パラメータの変更方法としては、例えば公知の符号化制御技術(ISO/IEC JTC1/SC29/WG11/N0400)の「Test Model 5」を用いることができる。該Test Model 5では、マクロブロック毎にそれまでに割り当てられたビット数と実際に発生したビット数から過剰ビット指数dj を計算し、それを用いて下式にて量子化ステップサイズQj を決定する。
【0024】
Qj =(dj ×31)/r
r=2×(固定パラメータ)
ここで、前記rの計算式中で用いられている「2」をパラメータとして異なる値にすることにより、符号化制御を変更することが可能になる。例えば、ユーザX向けには「2」を「1.8」とし、ユーザY向けには「2.1」としてMPEG1圧縮をする。この符号化制御の変更は、例えば図1のMPEG符号化部8にて行うことができる。なお、Qj が大きいほど発生ビット数は減り、画像に乗る雑音は多くなる。
【0025】
次に、前記のようにして動画像に埋め込まれた透かしデータを検出する透かしデータ検出装置について説明する。図4は、該検出装置の概略の構成を示すブロック図である。
【0026】
検査されるべきビデオコンテンツ11はMPEG圧縮データの状態にあり、検査対象マクロブロック抽出部12によって、検査対象のマクロブロックが抽出される。この抽出は、テンプレート13からの指示により行うことができる。このテンプレート13は図1の前記テンプレート9と同じ物を用いるのが好適である。すなわち、テンプレート13は前記マークA,Bの情報と、マークA,Bの各マクロブロック内のどの位置のDCT係数に透かしデータxが埋め込まれているかの情報を出力する。
【0027】
テンプレート13からの情報に従って、検査対象マクロブロック抽出部12によって抽出されたマクロブロックはハフマン復号化部14でハフマン復号化され、次に逆量子化部15にて逆量子化される。逆量子化されたDCT係数は、透かしデータ検出部16に送られ、透かしデータが埋め込まれているか否かの検出を行われる。
【0028】
具体的には、透かしデータ検出部16にテンプレート13から、DCT係数の透かしデータ埋め込み位置の情報が指示されるので、透かしデータ検出部16は、前記マクロブロックに含まれる4個のブロックmx1y1〜mx2y2(図5参照)から、該透かしデータ埋め込み位置に対応する4個のDCT係数x1 ,x2 ,x3 ,およびxを抽出する。これらのDCT係数x1 ,x2 ,x3 ,およびxは、互いに相関があるから、一般的にはほぼ等しい値である。そこで、透かしデータ検出部16は下式の演算を行う。
【0029】
(|x1 |+|x2 |+|x3 |)/3+s<|x| …(1)
ここに、xは検査対象係数値、sは|x1 |,|x2 |,|x3 |の標準偏差、あるいは固定値である。
【0030】
そして、前記の不等式が成立すれば、透かしデータが埋め込まれていると判定し、不成立であれば、埋め込まれていないと判定する。多数決判定部17においては、ビデオコンテンツのフレームのマーク判定が行われる。すなわち、ビデオコンテンツのあるフレームに対して、前記マークAに用いられる複数のマクロブロックのそれぞれに対して前記の検査結果から透かしデータのありなしの判定を行う。また、該あるフレームに対して、前記マークBに用いられる複数のマクロブロックのそれぞれに対しても同様の判定を行う。そして、この判定の結果得られた透かしありと判定されるマクロブロックの数が最も多いマークが該フレームに埋め込まれたマークと判定される。このようにマーク判定できた場合には、透かしデータが埋め込まれたビデオコンテンツであると判断する。
【0031】
この透かしデータ検出の結果、図6に示されているように、前記マークAとマークBとマークなしのグループが検出されると、動画像のビデオコンテンツの配布者は、著作権を主張できるようになる。この場合、他者によって、フレームを間引くという妨害あるいは攻撃が加えられても、前記マークAとマークBとマークなしのグループを必ず検出することができ、該妨害あるいは攻撃に対しても大きな耐性を示すことができるようになる。また、配布先毎に、透かしデータを埋め込むマクロブロック位置及び/またはDCT係数位置を変えておけば、例えば海賊版が出回った時に、自分が著作権を持っていることを主張できると共に、海賊版の出所を探知することができるようになる。
【0032】
次に、透かしデータを検出する他の方法を、図7を参照して説明する。この方法は、例えば前記の(1) 式において、透かしデータ埋め込み位置に対応する3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在すると、該(1) 式の精度が低下するから、該3個のDCT係数x1 ,x2 ,x3 をふるいにかけて、3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在した場合、この異常値を除去して、(1) 式または他の演算をするようにしたものである。
【0033】
この異常値を除去するために、この実施形態では、DCT係数x1 ,x2 ,x3 と、それらと同じブロック内に存在するDCT係数x1',x2',x3'を用いる。図7の例では、注目DCT係数の隣接係数が用いられる。次に、いま透かしデータ埋め込み操作が行われたDCT係数をxとし、その隣接画素のDCT係数をx' とすると、例えば次の(a) 、(b) 、(c) 、…の判定をする。
【0034】
(a) 0≦x' <50であれば、0≦xi'<50(ただし、i=1,2,3)を満足するxi のみを判定に用いる。
(b) 50≦x' <100であれば、50≦xi'<100を満足するxi のみを判定に用いる。
(c) 100≦x' <150であれば、100≦xi'<150を満足するxi のみを判定に用いる。
……
【0035】
次に、上記の判定を満足するxi を用いて、次の(2) 式の条件が満足されるか否かの判断をする。
【0036】
x−Σxi /N>α …(2)
(ここに、Nはふるいにかけられた後に残ったxi の個数、αは閾値、ただし、該αはふるいの階級によって変化する)
【0037】
そして、前記の(2) 式の条件が満たされれば、DCT係数xに透かしデータ埋め込み操作が行われていると判定する。この判定方法によれば、DCT係数xi の異常値を予め除去することができるので、透かしデータを精度良く検出することができるようになる。
【0038】
次に、透かしデータを検出するさらに他の方法である、透かしデータの埋め込みの有無を高速で検出する方法を説明する。前記した本発明の透かしデータの埋め込みは、画像の局所的なDCT係数の類似度を乱す方式を採っている。このため、例えばMPEG1で符号化する際のフレーム間予測においては、予測が外れるために、必ず透かしデータの埋め込み位置のDCT係数が0でない値になる。したがって、フレーム間予測符号化を用いたMPEG1のPフレーム、Bフレームを用いて、透かしデータの埋め込みの有無を検出することが可能になる。最も単純な方法としては、前記テンプレート9、13から提供された透かしデータの埋め込み位置、換言すれば秘密鍵から分かる位置に、0でない値のDCT係数が存在するか否かを個別に調べ、それを情報埋め込みDCT係数集合において多数決判定することによって、透かしデータの埋め込みがなされたかどうか、すなわちDCT係数が操作されたか否かを高速で判定することができる。
【0039】
図12は、該透かしデータ検出方法を利用して、例えば図3で示したようなマークA,Bが画像のフレームに埋め込まれているか否かを検出する方法を説明するフローチャートである。
【0040】
本実施形態では、Pフレーム、Bフレームをマーク検出の対象フレームとする。ステップS1では、マーク数、換言すれば画像のフレームに透かしデータが埋め込まれているマクロブロックの位置のパターン数をiとし、i=0と置く。図3の例ではマークの個数は、2である。ステップS2では、最後のマークか否かの判断をし、この判断が否定の時にはステップS3に進んでiに1を加算する。ステップS4では、テンプレートで示されるi=1のマーク、例えばマークAを選択し、該マークAに含まれる4個のブロックM1 〜M4 の各DCT係数の所定位置の値、例えば(0,3)位置のDCT係数値が0以外の個数を、n(i) とする。なお、前記所定位置である(0,3)位置は、例えば前記テンプレートで示される。ステップS5では、該テンプレートで示される4か所のDCT(0,3)係数の絶対値和をa(i) とする。ステップS6では、x(i) =a(i) ×n(i) を求める。
【0041】
その後、再度ステップS2に戻って、次のサイクルに入る。ステップS4では、テンプレートで示されるi=2のマーク、例えばマークBが選択され、これに含まれる4個のブロックM5 〜M8 の各DCT係数の所定位置の値、例えば(0,3)位置のDCT係数値が0以外の個数を、n(i) とする。ステップS5では、該テンプレートで示される4か所のDCT(0,3)係数の絶対値和をa(i) とし、ステップS6では、x(i) =a(i) ×n(i) を求める。
【0042】
その後、再度ステップS2に戻って、前記の動作が繰返される。この繰返し動作の結果、ステップS2の判断が肯定になると、ステップS7に進む。ステップS7では、{x(i) }のうちで最大のx(i) となるiをマークIとする。いま、埋め込まれている情報を検出されるフレームのマークが前記マークAであるとすると、x(1) >x(2) となり、前記マークBであるとすると、x(2) >x(1) となることは明らかである。
【0043】
ステップS8では、x(I) ≧20が成立するか否かの判断をし、この判断が肯定であれば、ステップS9に進み、当該フレームにはマークIが埋め込まれていると判定する。一方、ステップS8の判断が否定であれば、ステップS10に進んで、当該フレームにはマーク、例えばマークA、Bは埋め込まれていないと判定する。なお、前記の数値20は一例であり、この数値に限定されるものではない。
【0044】
次に、本発明の他の実施形態を、図8を参照して説明する。この実施形態では、フレームに透かし情報を埋め込むマクロブロック位置のパターンを予め複数パターン決めておき、これをテンプレートとして用意しておく。例えば、図8に示されているような、グループAとグループBの二つのパターンを用意しておく。図示の例では、グループAはフレームの左上の画素から右下の画素に向かう順に「1010」のパターンであり、グループBは「0010」のパターンである。
【0045】
透かし情報の埋め込み者は、埋め込み情報の2進表現に従って、0の時は埋め込みを行わず、1の時は埋め込みを行う。なお、□は埋め込みなしのマクロブロックを示し、■は埋め込みありのマクロブロックを示している。
【0046】
透かし情報の抽出者は、前記した透かしデータの検出方法を用いて、画像フレーム列から、透かし情報の埋め込まれているマクロブロックと埋め込まれていないマクロブロックとを検出し、第1実施例と同様に、グループAとグループBを検出する。そして、該画像フレーム列から該グループA,Bが検出されると、動画像のビデオコンテンツの配布者は、著作権を主張できるようになる。
【0047】
この実施形態によれば、透かしデータの埋め込み位置だけではなく、透かしデータの埋め込みの有無で表されたビット情報をも、著作権を明らかにするデータとして使用することができるようになる。
【0048】
次に、前記透かしデータ埋め込みのさらに他の実施形態を、図10を参照して説明する。透かしデータの検出は、前述の説明から明らかになるように、マクロブロックの対応する位置のDCT係数が互いに相関をもつことを利用して行われる。そこで、前記した第1実施形態では、例えば図8(a) のマクロブロックA1 〜A4 の一つまたは複数個のDCT係数に相関がない事態が起きた場合、例えば該マクロブロックA1 〜A4 の一つまたは複数個がたまたま画像の境界部分、たとえば背景と物体の輪郭を含むようになった場合には、当該マクロブロックに埋め込まれた透かしデータが安定的に検出できなくなり、埋め込みの有無の判定によって抽出される「0」と「1」を正確に決定できなくなる恐れが生ずる。
【0049】
この実施形態は、前記の不具合に鑑みてなされたものであり、まず動画像フレームを複数のグループA,B,…,Nに分類し、各グループ毎に、透かしデータを埋め込むマクロブロックを複数個、例えば4個抽出する。この複数個のマクロブロックの抽出位置は例えば前記テンプレート9で決められ、互いに異なるものとする。図示の例では、グループAにおいては、マクロブロックA1,A2,A3,およびA4を抽出し、グループBでは、これらと異なる位置のマクロブロックB1,B2,B3,およびB4を抽出する。また、グループNにおいても、同様に、異なる位置のマクロブロックN1,N2,N3,およびN4を抽出する。そして、透かしデータの埋め込まれた情報埋め込みDCT係数集合S1={A1,B1,…,N1}、S2={A2,B2,…,N2}、S3={A3,B3,…,N3}、およびS4={A4,B4,…,N4}を定義する。
【0050】
この実施形態では、抽出されたマクロブロック中の透かしデータ埋め込みの有無を、前記情報埋め込みDCT係数集合毎に総合的に判定する。例えば、前記情報埋め込みDCT係数集合毎の多数決判定で決定する。例えば、情報埋め込みDCT係数集合S1={A1,B1,…,N1}に透かしデータが埋め込まれているか否かは、A1〜N1の多数決判定で決定する。したがって、たまたまマクロブロックA1が画像の境界部分を含み、そのDCT係数に相関がなく、透かしデータが埋め込まれていないと検出されたとしても、他のマクロブロックB1〜N1が画像の境界部分を含む可能性は小さいので、これらのマクロブロックには透かしデータが埋め込まれていか否かを正しく検出されることになる。その結果、多数決判定によりS1 全体として透かしデータが埋め込まれているか否かが正しく判定され、前記不具合を回避できるようになる。
【0051】
次に、該実施形態(図10)を、高速で動作させる方法を、図13のフローチャートを参照して説明する。前記情報埋め込みDCT係数集合をS(j) とする。該情報埋め込みDCT係数集合の個数、すなわち図10の各グループのマクロブロックに付与されている数字をjとし、ステップS11では、j=0と置く。なお、図10の場合、情報埋め込みDCT係数の個数は4である。ステップS12では、最後の情報埋め込みDCT係数集合であるか否かの判断がなされ、この判断が否定の時には、ステップS13に進んで、jに1が加算される。ステップS14では、集合S(j) に含まれるDCT(0,3)係数のうち、絶対値が11以上の個数をn(j) とする。ステップS15では、該集合S(j) に含まれるDCT(0,3)係数の個数をm(j) とする。ステップS16では、n(j) /m(j) ≧50%が成立するか否かの判断がなされ、この判断が肯定の時にはステップS17に進んで、集合S(j) の全ての要素の情報ビットは1であると判定する。一方、否定の時にはステップS18に進んで、集合S(j) の全ての要素の情報ビットは0であると判定する。
【0052】
図4で説明した透かしデータ検出装置では、圧縮データであるビデオコンテンツから、復号化せずに透かしデータを検出するようにしたが、本発明はこれに限定されることなく、図9に示されているように、ビデオコンテンツを一旦復号化し、次いで該復号化された画像をDCT処理して得た係数を用いて、透かしデータを検出するようにしてもよい。
【0053】
すなわち、ビデオコンテンツ11をMPEG復号部21で復号化(ハフマン復号、逆量子化を含む)し、マクロブロック抽出部22で、テンプレート13からの指示により、透かしデータが埋め込まれているブロックを抽出する。DCT部23は、該抽出されたブロックをDCT処理する。DCT係数の透かしデータ埋め込み位置の情報は前記テンプレート13から指示されるので、透かしデータ検出部16は、前記マクロブロックに含まれる透かしデータ埋め込み位置に対応するDCT係数を抽出し、前記した手順に従って透かしデータを検出する。多数決判定部17は、透かしデータ検出部16による透かしデータの検出結果を用いて、前記のように多数決判定し、フレームに埋め込まれているマークを判定する。
【図面の簡単な説明】
【0054】
【図1】本発明の動画像に対する透かしデータ埋め込み装置の一実施形態の概略の構成を示すブロック図である。
【図2】透かしデータの埋め込み位置の説明図である。
【図3】本発明の一実施形態の透かしデータの埋め込み位置の説明図である。
【図4】透かしデータ検出装置の一実施形態の概略の構成を示すブロック図である。
【図5】透かしデータの検出方法の説明図である。
【図6】透かしデータ検出結果の一例を示す概念図である。
【図7】透かしデータの他の検出方法の説明図である。
【図8】本発明の他の実施形態の透かしデータの埋め込み位置の説明図である。
【図9】透かしデータ検出装置の他の実施形態の構成を示すブロック図である。
【図10】情報埋め込みDCT係数集合を用いて情報の埋め込みを判定する実施形態の説明図である。
【図11】秘密鍵の露呈を防止する実施形態の説明図である。
【図12】フレームに透かしデータ(マーク)が埋め込まれているかどうかを高速で判定する実施形態のフローチャートである。
【図13】情報埋め込みDCT係数集合を用いて情報の埋め込みを判定する方法を高速化した実施形態のフローチャートである。
【符号の説明】
【0055】
1…ブロック分割部、2…ブロック抽出部、4…DCT係数抽出部、5…透かしデータ埋め込み部、7…ブロック合成部、8…MPEG符号化部、9、13…テンプレート、11…ビデオコンテンツ、12…検査対象マクロブロック抽出部、14…ハフマン復号化部、15…逆量子化部、16…透かしデータ検出部、17…多数決判定部、21…MPEG復号部、22…マクロブロック抽出部、23…DCT部。
【技術分野】
【0001】
この発明は動画像電子透かし装置に関し、特に動画像を配信する際に透かしを埋め込むことにより、著作権の存在を明らかにするための動画像電子透かし装置に関する。
【背景技術】
【0002】
従来から、静止画像に透かしデータを埋め込んで、該画像の著作権を明らかにする試みがなされている。この方式は、フーリエ変換、離散コサイン変換(DCT)、ウェーブレット変換などを用いて、静止画像に透かしデータを埋め込んでいる。静止画像に透かしデータを埋め込むには大きな演算量を必要とするが、静止画像の通信は1画面だけであるので、特に問題になっていない。
【0003】
また、インターネット等の普及に伴い、動画像をデジタル画像で通信あるいは流通する機会が増加することが予想されるが、動画像の著作権を明らかにしようとすると、動画像には非常に多数の画像フレームが存在しているため、全てのフレームに同一の透かしを埋め込むか、あるいは特定のフレームに透かしを埋め込むことが必要になる。この透かしデータの埋め込みに、前記した静止画像に透かしデータを埋め込む方式を適用しようとすると、動画像では多数のフレームに透かしデータを埋め込むことが必要になるため、該透かしデータを埋め込むための演算量が膨大となって実現が難しいという問題がある。また、特定のフレームのみに透かしを埋め込んだ場合には、該透かしが埋め込まれているフレームを探し出すのが難しいという問題がある。
【0004】
一方、動画像に透かしを埋め込む方式として、MPEGの動ベクトルを操作することによって、透かしを埋め込む方式が提案されている。この方式によれば、画像フレーム中の一つのフレームを特定せずとも、透かしを抽出することができ、有用である。なお、本発明と関連する特許として、例えば特開平10−178642号公報がある。
【特許文献1】特開平10−178642号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、前記のMPEGの動ベクトルを操作する方式では、圧縮データを一旦復号化した後再符号化することによって、簡単に透かしデータを除去されてしまうという問題があった。また、動画像はMPEGで圧縮された形式で配布されることが一般的であるため、MPEGの圧縮された形式のまま透かしを判定することが求められるが、従来はこの点について、十分に配慮がされていなかった。
【0006】
本発明の目的は、前記した従来技術の問題点を除去し、MPEG等の圧縮された形式のまま透かしデータを判定することができ、かつ他者からフレームを間引く等の攻撃を受けても大きな耐性を有する動画像電子透かし装置を提供することにある。また、他の目的は透かしデータの埋め込み検出を高速で行うことができる動画像電子透かし装置を提供することにある。
【課題を解決するための手段】
【0007】
前記した目的を達成するために、本発明は、圧縮された画像データのブロックから透かしデータの検査対象ブロックを抽出する手段と、該抽出された検査対象ブロックの透かしデータが埋め込まれた第1のDCT係数に対応する近隣のブロックの第2のDCT係数をふるいにかけ、異常値をもつ第2のDCT係数を除去する手段と、前記第1のDCT係数値の絶対値が、前記異常値をもつDCT係数を除去された第2のDCT係数値の絶対値平均値より、予定の閾値以上異なっている場合に、透かしデータが埋め込まれていると判定する手段とを具備した点に第1の特徴がある。この特徴によれば、異常値をもつ第2のDCT係数を予め除去できるので、透かしデータを精度良く検出することができる。
【0008】
また、圧縮された画像データからフレーム間予測モードで符号化されたフレームの検査対象ブロックを抽出する手段と、該抽出された検査対象ブロック中の透かしデータが埋め込まれる予定の位置にDCT係数が存在するか否かを判定する手段とを具備し、該DCT係数が存在する場合に、該検査対象ブロックに透かしデータが埋め込まれていると判断するようにした点に第2の特徴がある。この特徴によれば、透かしデータの検出を高速で行えるようになる。
【発明の効果】
【0009】
請求項1,2の発明によれば、透かしデータの有無の検出の精度をより向上させることができるようになる。また、請求項3の発明によれば、フレームに透かしデータが埋め込まれていることの検出を高速で行えるようになる。
【発明を実施するための最良の形態】
【0010】
以下に、図面を参照して、本発明を詳細に説明する。図1は、本発明に関わる透かしデータ埋め込み装置の概略の構成を示すブロック図である。
【0011】
図において、ブロック分割部1は例えば図2(a) の画像フレームを8×8画素のブロックbijに分割する。ブロック抽出部2はテンプレート9から指示されたマクロブロック(16×16画素)mxyを抽出する。DCT部3は該マクロブロックmxyに含まれるブロックmxiyi毎に離散コサイン変換(DCT)する。DCT係数抽出部4は該DCTされたマクロブロックmxyの中の一個のブロックmx2y2(図2(b) 参照)のDCT係数xを、前記テンプレート9の指示に従って抽出する。ここに、テンプレート9は、後述する透かしデータを埋め込む位置を示す情報を提供するものであり、前記ブロック抽出部2では該透かしデータが埋め込まれる位置のマクロブロックを抽出し、DCT係数抽出部4では透かしデータが埋め込まれるDCT係数xを抽出する。
【0012】
透かしデータ埋め込み部5は該DCT係数xに透かしデータを埋め込む。例えば、該DCT係数xを下式によって得られる係数x'に変化させることにより、透かしデータを埋め込む。
【0013】
x'=sign(x) *(|x|+a)
ここに、xは元の係数値、aは透かしデータ、すなわち埋め込み値、sign(x) はxの符号である。
【0014】
すなわち、該透かしデータ埋め込み部5は、DCT係数xの+,−の符号を保持したまま、絶対値が大きくなる方向に該DCT係数xを変化させる働きをする。例えば、透かしデータa=5.0とすると、該DCT係数xが+15.7であれば、x'=+20.7となり、該DCT係数xが−15.7であれば、x'=−20.7となる。
【0015】
逆DCT部6は、該透かしデータが埋め込まれたブロック(マクロブロック)を逆DCTする。ブロック合成部7は、該逆DCTされたブロックを、前記ブロック抽出部2で抽出されなかったブロックと合成し、透かしデータが埋め込まれた画像データを生成する。MPEG符号化部8は、配布される動画像コンテンツを作成するために、該透かしデータが埋め込まれた画像データをMPEG符号化(量子化およびハフマン符号化)する。
【0016】
本発明の一実施形態では、前記ブロック抽出部2は動画像のフレームから前記テンプレート9で指示された複数位置のマクロブロックを抽出し、次いでDCT係数抽出部4で該テンプレート9によって指示された同じまたは異なる位置のDCT係数を、該複数位置のマクロブロックの各々から抽出して、前記透かしデータ埋め込み部5で該DCT係数に透かしデータを埋め込むことにする。
【0017】
すなわち、前記ブロック抽出部2は、図3に示されているように、あるフレームFに対しては同図(a) に示されている複数位置の例えば4個のマクロブロックM1 〜M4 を抽出し、他のフレームFに対しては同図(b) に示されている複数位置の例えば4個のマクロブロックM5 〜M8 を抽出する。
【0018】
次いで、DCT係数抽出部4は、前記ブロック抽出部2で抽出された4個のマクロブロックに対して、該テンプレート9によって指示された同じ位置のDCT係数あるいは異なる位置のDCT係数を抽出して、前記透かしデータ埋め込み部5で透かしデータを埋め込む。
【0019】
いま、前記図3(a) のマクロブロックの抽出パターンをマークA、(b) のマクロブロックの抽出パターンをマークBと名付けると、同図(c) に示されているような画像フレーム列は、マークAの付されたフレームと、マークBの付されたフレームと、マークの付されていないフレームとに分類されることになる。なお、前記の説明では、前記ブロック抽出部2で抽出されるマクロブロックの個数を4個としたが、本発明はこれに限定されることなく、2個以上であればよい。また、マークの個数をA,Bの2個としたが、これに限定されることなく、1個または3個以上であっても良い。また、図中の■は埋め込みありのマクロブロックを示し、後述する□は埋め込みなしのマクロブロックを示す。
【0020】
次に、前記透かしデータ埋め込みの第2の実施形態を、図11を参照して説明する。この実施形態は、例えばユーザX向けと、ユーザY向けとに同じ内容の動画像を配布する場合、各動画像フレームの同じ位置のマクロブロックを透かしデータの埋め込み候補とし、さらに該マクロブロックに透かしデータを埋め込む、埋め込まないの選択をして、動画像の配布先を明らかにする場合が考えられる。例えば、図11(a) 、(b) に示されているように、ユーザXとYに配布する動画像から透かしデータの埋め込み候補として抽出されるマクロブロックX1〜X4とY1〜Y4はそれぞれ同位置であり、ユーザX向けにはマクロブロックX1、X3は透かしデータを埋め込み(=1)、X2、X4には埋め込まない(=0)処理をし、ユーザY向けにはマクロブロックY2、Y4は透かしデータを埋め込み(=1)、Y1、Y3には埋め込まない(=0)処理がなされる場合がある。この処理の利点は、透かしデータの埋め込みの有無で、1ビット情報が表現されているので、例えば1010の2進データが埋め込まれた動画像はユーザXに配布されたものであり、0101の2進データが埋め込まれた動画像はユーザYに配布されたものであることが分かり、例えば前記動画像の海賊版が発行された場合には、該2進データから該海賊版の出処が明らかになる。
【0021】
このような場合に、ユーザX向けに配布された動画像データのDCT係数からユーザY向けに配布された動画像データのDCT係数が引き算されると、同図(c) のように、透かしデータが埋め込まれた位置の値が1または−1となり、他の位置の値は全て0になる。このため、ユーザに、透かしデータの埋め込み位置、すなわち秘密鍵が露呈してしまうことになる。
【0022】
そこで、本実施形態では、ユーザX,Y等に透かしデータ入り動画像を提供する際に、符号化制御パラメータをユーザ毎に変更してMPEG1圧縮をすることにより、圧縮画像に含まれる符号化雑音成分をユーザ毎に変化させることにする。そうすると、ユーザXとYに配布された動画像のDCT係数が引き算されても、透かしデータが埋め込まれたDCT係数は符号化雑音に埋もれて、容易に探知されることはなくなる。なお、前記のようにMPEG1の符号化制御パラメータを変更しても、復号に支障はなく、復号された画像の品質には何らの問題も生じない。
【0023】
符号化制御パラメータの変更方法としては、例えば公知の符号化制御技術(ISO/IEC JTC1/SC29/WG11/N0400)の「Test Model 5」を用いることができる。該Test Model 5では、マクロブロック毎にそれまでに割り当てられたビット数と実際に発生したビット数から過剰ビット指数dj を計算し、それを用いて下式にて量子化ステップサイズQj を決定する。
【0024】
Qj =(dj ×31)/r
r=2×(固定パラメータ)
ここで、前記rの計算式中で用いられている「2」をパラメータとして異なる値にすることにより、符号化制御を変更することが可能になる。例えば、ユーザX向けには「2」を「1.8」とし、ユーザY向けには「2.1」としてMPEG1圧縮をする。この符号化制御の変更は、例えば図1のMPEG符号化部8にて行うことができる。なお、Qj が大きいほど発生ビット数は減り、画像に乗る雑音は多くなる。
【0025】
次に、前記のようにして動画像に埋め込まれた透かしデータを検出する透かしデータ検出装置について説明する。図4は、該検出装置の概略の構成を示すブロック図である。
【0026】
検査されるべきビデオコンテンツ11はMPEG圧縮データの状態にあり、検査対象マクロブロック抽出部12によって、検査対象のマクロブロックが抽出される。この抽出は、テンプレート13からの指示により行うことができる。このテンプレート13は図1の前記テンプレート9と同じ物を用いるのが好適である。すなわち、テンプレート13は前記マークA,Bの情報と、マークA,Bの各マクロブロック内のどの位置のDCT係数に透かしデータxが埋め込まれているかの情報を出力する。
【0027】
テンプレート13からの情報に従って、検査対象マクロブロック抽出部12によって抽出されたマクロブロックはハフマン復号化部14でハフマン復号化され、次に逆量子化部15にて逆量子化される。逆量子化されたDCT係数は、透かしデータ検出部16に送られ、透かしデータが埋め込まれているか否かの検出を行われる。
【0028】
具体的には、透かしデータ検出部16にテンプレート13から、DCT係数の透かしデータ埋め込み位置の情報が指示されるので、透かしデータ検出部16は、前記マクロブロックに含まれる4個のブロックmx1y1〜mx2y2(図5参照)から、該透かしデータ埋め込み位置に対応する4個のDCT係数x1 ,x2 ,x3 ,およびxを抽出する。これらのDCT係数x1 ,x2 ,x3 ,およびxは、互いに相関があるから、一般的にはほぼ等しい値である。そこで、透かしデータ検出部16は下式の演算を行う。
【0029】
(|x1 |+|x2 |+|x3 |)/3+s<|x| …(1)
ここに、xは検査対象係数値、sは|x1 |,|x2 |,|x3 |の標準偏差、あるいは固定値である。
【0030】
そして、前記の不等式が成立すれば、透かしデータが埋め込まれていると判定し、不成立であれば、埋め込まれていないと判定する。多数決判定部17においては、ビデオコンテンツのフレームのマーク判定が行われる。すなわち、ビデオコンテンツのあるフレームに対して、前記マークAに用いられる複数のマクロブロックのそれぞれに対して前記の検査結果から透かしデータのありなしの判定を行う。また、該あるフレームに対して、前記マークBに用いられる複数のマクロブロックのそれぞれに対しても同様の判定を行う。そして、この判定の結果得られた透かしありと判定されるマクロブロックの数が最も多いマークが該フレームに埋め込まれたマークと判定される。このようにマーク判定できた場合には、透かしデータが埋め込まれたビデオコンテンツであると判断する。
【0031】
この透かしデータ検出の結果、図6に示されているように、前記マークAとマークBとマークなしのグループが検出されると、動画像のビデオコンテンツの配布者は、著作権を主張できるようになる。この場合、他者によって、フレームを間引くという妨害あるいは攻撃が加えられても、前記マークAとマークBとマークなしのグループを必ず検出することができ、該妨害あるいは攻撃に対しても大きな耐性を示すことができるようになる。また、配布先毎に、透かしデータを埋め込むマクロブロック位置及び/またはDCT係数位置を変えておけば、例えば海賊版が出回った時に、自分が著作権を持っていることを主張できると共に、海賊版の出所を探知することができるようになる。
【0032】
次に、透かしデータを検出する他の方法を、図7を参照して説明する。この方法は、例えば前記の(1) 式において、透かしデータ埋め込み位置に対応する3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在すると、該(1) 式の精度が低下するから、該3個のDCT係数x1 ,x2 ,x3 をふるいにかけて、3個のDCT係数x1 ,x2 ,x3 の中に異常値が存在した場合、この異常値を除去して、(1) 式または他の演算をするようにしたものである。
【0033】
この異常値を除去するために、この実施形態では、DCT係数x1 ,x2 ,x3 と、それらと同じブロック内に存在するDCT係数x1',x2',x3'を用いる。図7の例では、注目DCT係数の隣接係数が用いられる。次に、いま透かしデータ埋め込み操作が行われたDCT係数をxとし、その隣接画素のDCT係数をx' とすると、例えば次の(a) 、(b) 、(c) 、…の判定をする。
【0034】
(a) 0≦x' <50であれば、0≦xi'<50(ただし、i=1,2,3)を満足するxi のみを判定に用いる。
(b) 50≦x' <100であれば、50≦xi'<100を満足するxi のみを判定に用いる。
(c) 100≦x' <150であれば、100≦xi'<150を満足するxi のみを判定に用いる。
……
【0035】
次に、上記の判定を満足するxi を用いて、次の(2) 式の条件が満足されるか否かの判断をする。
【0036】
x−Σxi /N>α …(2)
(ここに、Nはふるいにかけられた後に残ったxi の個数、αは閾値、ただし、該αはふるいの階級によって変化する)
【0037】
そして、前記の(2) 式の条件が満たされれば、DCT係数xに透かしデータ埋め込み操作が行われていると判定する。この判定方法によれば、DCT係数xi の異常値を予め除去することができるので、透かしデータを精度良く検出することができるようになる。
【0038】
次に、透かしデータを検出するさらに他の方法である、透かしデータの埋め込みの有無を高速で検出する方法を説明する。前記した本発明の透かしデータの埋め込みは、画像の局所的なDCT係数の類似度を乱す方式を採っている。このため、例えばMPEG1で符号化する際のフレーム間予測においては、予測が外れるために、必ず透かしデータの埋め込み位置のDCT係数が0でない値になる。したがって、フレーム間予測符号化を用いたMPEG1のPフレーム、Bフレームを用いて、透かしデータの埋め込みの有無を検出することが可能になる。最も単純な方法としては、前記テンプレート9、13から提供された透かしデータの埋め込み位置、換言すれば秘密鍵から分かる位置に、0でない値のDCT係数が存在するか否かを個別に調べ、それを情報埋め込みDCT係数集合において多数決判定することによって、透かしデータの埋め込みがなされたかどうか、すなわちDCT係数が操作されたか否かを高速で判定することができる。
【0039】
図12は、該透かしデータ検出方法を利用して、例えば図3で示したようなマークA,Bが画像のフレームに埋め込まれているか否かを検出する方法を説明するフローチャートである。
【0040】
本実施形態では、Pフレーム、Bフレームをマーク検出の対象フレームとする。ステップS1では、マーク数、換言すれば画像のフレームに透かしデータが埋め込まれているマクロブロックの位置のパターン数をiとし、i=0と置く。図3の例ではマークの個数は、2である。ステップS2では、最後のマークか否かの判断をし、この判断が否定の時にはステップS3に進んでiに1を加算する。ステップS4では、テンプレートで示されるi=1のマーク、例えばマークAを選択し、該マークAに含まれる4個のブロックM1 〜M4 の各DCT係数の所定位置の値、例えば(0,3)位置のDCT係数値が0以外の個数を、n(i) とする。なお、前記所定位置である(0,3)位置は、例えば前記テンプレートで示される。ステップS5では、該テンプレートで示される4か所のDCT(0,3)係数の絶対値和をa(i) とする。ステップS6では、x(i) =a(i) ×n(i) を求める。
【0041】
その後、再度ステップS2に戻って、次のサイクルに入る。ステップS4では、テンプレートで示されるi=2のマーク、例えばマークBが選択され、これに含まれる4個のブロックM5 〜M8 の各DCT係数の所定位置の値、例えば(0,3)位置のDCT係数値が0以外の個数を、n(i) とする。ステップS5では、該テンプレートで示される4か所のDCT(0,3)係数の絶対値和をa(i) とし、ステップS6では、x(i) =a(i) ×n(i) を求める。
【0042】
その後、再度ステップS2に戻って、前記の動作が繰返される。この繰返し動作の結果、ステップS2の判断が肯定になると、ステップS7に進む。ステップS7では、{x(i) }のうちで最大のx(i) となるiをマークIとする。いま、埋め込まれている情報を検出されるフレームのマークが前記マークAであるとすると、x(1) >x(2) となり、前記マークBであるとすると、x(2) >x(1) となることは明らかである。
【0043】
ステップS8では、x(I) ≧20が成立するか否かの判断をし、この判断が肯定であれば、ステップS9に進み、当該フレームにはマークIが埋め込まれていると判定する。一方、ステップS8の判断が否定であれば、ステップS10に進んで、当該フレームにはマーク、例えばマークA、Bは埋め込まれていないと判定する。なお、前記の数値20は一例であり、この数値に限定されるものではない。
【0044】
次に、本発明の他の実施形態を、図8を参照して説明する。この実施形態では、フレームに透かし情報を埋め込むマクロブロック位置のパターンを予め複数パターン決めておき、これをテンプレートとして用意しておく。例えば、図8に示されているような、グループAとグループBの二つのパターンを用意しておく。図示の例では、グループAはフレームの左上の画素から右下の画素に向かう順に「1010」のパターンであり、グループBは「0010」のパターンである。
【0045】
透かし情報の埋め込み者は、埋め込み情報の2進表現に従って、0の時は埋め込みを行わず、1の時は埋め込みを行う。なお、□は埋め込みなしのマクロブロックを示し、■は埋め込みありのマクロブロックを示している。
【0046】
透かし情報の抽出者は、前記した透かしデータの検出方法を用いて、画像フレーム列から、透かし情報の埋め込まれているマクロブロックと埋め込まれていないマクロブロックとを検出し、第1実施例と同様に、グループAとグループBを検出する。そして、該画像フレーム列から該グループA,Bが検出されると、動画像のビデオコンテンツの配布者は、著作権を主張できるようになる。
【0047】
この実施形態によれば、透かしデータの埋め込み位置だけではなく、透かしデータの埋め込みの有無で表されたビット情報をも、著作権を明らかにするデータとして使用することができるようになる。
【0048】
次に、前記透かしデータ埋め込みのさらに他の実施形態を、図10を参照して説明する。透かしデータの検出は、前述の説明から明らかになるように、マクロブロックの対応する位置のDCT係数が互いに相関をもつことを利用して行われる。そこで、前記した第1実施形態では、例えば図8(a) のマクロブロックA1 〜A4 の一つまたは複数個のDCT係数に相関がない事態が起きた場合、例えば該マクロブロックA1 〜A4 の一つまたは複数個がたまたま画像の境界部分、たとえば背景と物体の輪郭を含むようになった場合には、当該マクロブロックに埋め込まれた透かしデータが安定的に検出できなくなり、埋め込みの有無の判定によって抽出される「0」と「1」を正確に決定できなくなる恐れが生ずる。
【0049】
この実施形態は、前記の不具合に鑑みてなされたものであり、まず動画像フレームを複数のグループA,B,…,Nに分類し、各グループ毎に、透かしデータを埋め込むマクロブロックを複数個、例えば4個抽出する。この複数個のマクロブロックの抽出位置は例えば前記テンプレート9で決められ、互いに異なるものとする。図示の例では、グループAにおいては、マクロブロックA1,A2,A3,およびA4を抽出し、グループBでは、これらと異なる位置のマクロブロックB1,B2,B3,およびB4を抽出する。また、グループNにおいても、同様に、異なる位置のマクロブロックN1,N2,N3,およびN4を抽出する。そして、透かしデータの埋め込まれた情報埋め込みDCT係数集合S1={A1,B1,…,N1}、S2={A2,B2,…,N2}、S3={A3,B3,…,N3}、およびS4={A4,B4,…,N4}を定義する。
【0050】
この実施形態では、抽出されたマクロブロック中の透かしデータ埋め込みの有無を、前記情報埋め込みDCT係数集合毎に総合的に判定する。例えば、前記情報埋め込みDCT係数集合毎の多数決判定で決定する。例えば、情報埋め込みDCT係数集合S1={A1,B1,…,N1}に透かしデータが埋め込まれているか否かは、A1〜N1の多数決判定で決定する。したがって、たまたまマクロブロックA1が画像の境界部分を含み、そのDCT係数に相関がなく、透かしデータが埋め込まれていないと検出されたとしても、他のマクロブロックB1〜N1が画像の境界部分を含む可能性は小さいので、これらのマクロブロックには透かしデータが埋め込まれていか否かを正しく検出されることになる。その結果、多数決判定によりS1 全体として透かしデータが埋め込まれているか否かが正しく判定され、前記不具合を回避できるようになる。
【0051】
次に、該実施形態(図10)を、高速で動作させる方法を、図13のフローチャートを参照して説明する。前記情報埋め込みDCT係数集合をS(j) とする。該情報埋め込みDCT係数集合の個数、すなわち図10の各グループのマクロブロックに付与されている数字をjとし、ステップS11では、j=0と置く。なお、図10の場合、情報埋め込みDCT係数の個数は4である。ステップS12では、最後の情報埋め込みDCT係数集合であるか否かの判断がなされ、この判断が否定の時には、ステップS13に進んで、jに1が加算される。ステップS14では、集合S(j) に含まれるDCT(0,3)係数のうち、絶対値が11以上の個数をn(j) とする。ステップS15では、該集合S(j) に含まれるDCT(0,3)係数の個数をm(j) とする。ステップS16では、n(j) /m(j) ≧50%が成立するか否かの判断がなされ、この判断が肯定の時にはステップS17に進んで、集合S(j) の全ての要素の情報ビットは1であると判定する。一方、否定の時にはステップS18に進んで、集合S(j) の全ての要素の情報ビットは0であると判定する。
【0052】
図4で説明した透かしデータ検出装置では、圧縮データであるビデオコンテンツから、復号化せずに透かしデータを検出するようにしたが、本発明はこれに限定されることなく、図9に示されているように、ビデオコンテンツを一旦復号化し、次いで該復号化された画像をDCT処理して得た係数を用いて、透かしデータを検出するようにしてもよい。
【0053】
すなわち、ビデオコンテンツ11をMPEG復号部21で復号化(ハフマン復号、逆量子化を含む)し、マクロブロック抽出部22で、テンプレート13からの指示により、透かしデータが埋め込まれているブロックを抽出する。DCT部23は、該抽出されたブロックをDCT処理する。DCT係数の透かしデータ埋め込み位置の情報は前記テンプレート13から指示されるので、透かしデータ検出部16は、前記マクロブロックに含まれる透かしデータ埋め込み位置に対応するDCT係数を抽出し、前記した手順に従って透かしデータを検出する。多数決判定部17は、透かしデータ検出部16による透かしデータの検出結果を用いて、前記のように多数決判定し、フレームに埋め込まれているマークを判定する。
【図面の簡単な説明】
【0054】
【図1】本発明の動画像に対する透かしデータ埋め込み装置の一実施形態の概略の構成を示すブロック図である。
【図2】透かしデータの埋め込み位置の説明図である。
【図3】本発明の一実施形態の透かしデータの埋め込み位置の説明図である。
【図4】透かしデータ検出装置の一実施形態の概略の構成を示すブロック図である。
【図5】透かしデータの検出方法の説明図である。
【図6】透かしデータ検出結果の一例を示す概念図である。
【図7】透かしデータの他の検出方法の説明図である。
【図8】本発明の他の実施形態の透かしデータの埋め込み位置の説明図である。
【図9】透かしデータ検出装置の他の実施形態の構成を示すブロック図である。
【図10】情報埋め込みDCT係数集合を用いて情報の埋め込みを判定する実施形態の説明図である。
【図11】秘密鍵の露呈を防止する実施形態の説明図である。
【図12】フレームに透かしデータ(マーク)が埋め込まれているかどうかを高速で判定する実施形態のフローチャートである。
【図13】情報埋め込みDCT係数集合を用いて情報の埋め込みを判定する方法を高速化した実施形態のフローチャートである。
【符号の説明】
【0055】
1…ブロック分割部、2…ブロック抽出部、4…DCT係数抽出部、5…透かしデータ埋め込み部、7…ブロック合成部、8…MPEG符号化部、9、13…テンプレート、11…ビデオコンテンツ、12…検査対象マクロブロック抽出部、14…ハフマン復号化部、15…逆量子化部、16…透かしデータ検出部、17…多数決判定部、21…MPEG復号部、22…マクロブロック抽出部、23…DCT部。
【特許請求の範囲】
【請求項1】
圧縮された画像データのブロックから透かしデータの検査対象ブロックを抽出する手段と、
該抽出された検査対象ブロックの透かしデータが埋め込まれた第1のDCT係数に対応する近隣のブロックの第2のDCT係数をふるいにかけ、異常値をもつ第2のDCT係数を除去する手段と、
前記第1のDCT係数値の絶対値が、前記異常値をもつDCT係数を除去された第2のDCT係数値の絶対値平均値より、予定の閾値以上異なっている場合に、透かしデータが埋め込まれていると判定する手段とを具備したことを特徴とする動画像電子透かし装置。
【請求項2】
請求項1に記載の動画像電子透かし装置において、
前記異常値をもつDCT係数を除去された第2のDCT係数値は、前記第1のDCT係数の近隣のDCT係数を基準として、前記第2のDCT係数値の近隣のDCT係数をふるいにかけ、該ふるいにより除去されなかったDCT係数に対応する第2のDCT係数値であることを特徴とする動画像電子透かし装置。
【請求項3】
圧縮された画像データからフレーム間予測モードで符号化されたフレームの検査対象ブロックを抽出する手段と、
該抽出された検査対象ブロック中の透かしデータが埋め込まれる予定の位置にDCT係数が存在するか否かを判定する手段とを具備し、
該DCT係数が存在する場合に、該検査対象ブロックに透かしデータが埋め込まれていると判断するようにしたことを特徴とする動画像電子透かし装置。
【請求項1】
圧縮された画像データのブロックから透かしデータの検査対象ブロックを抽出する手段と、
該抽出された検査対象ブロックの透かしデータが埋め込まれた第1のDCT係数に対応する近隣のブロックの第2のDCT係数をふるいにかけ、異常値をもつ第2のDCT係数を除去する手段と、
前記第1のDCT係数値の絶対値が、前記異常値をもつDCT係数を除去された第2のDCT係数値の絶対値平均値より、予定の閾値以上異なっている場合に、透かしデータが埋め込まれていると判定する手段とを具備したことを特徴とする動画像電子透かし装置。
【請求項2】
請求項1に記載の動画像電子透かし装置において、
前記異常値をもつDCT係数を除去された第2のDCT係数値は、前記第1のDCT係数の近隣のDCT係数を基準として、前記第2のDCT係数値の近隣のDCT係数をふるいにかけ、該ふるいにより除去されなかったDCT係数に対応する第2のDCT係数値であることを特徴とする動画像電子透かし装置。
【請求項3】
圧縮された画像データからフレーム間予測モードで符号化されたフレームの検査対象ブロックを抽出する手段と、
該抽出された検査対象ブロック中の透かしデータが埋め込まれる予定の位置にDCT係数が存在するか否かを判定する手段とを具備し、
該DCT係数が存在する場合に、該検査対象ブロックに透かしデータが埋め込まれていると判断するようにしたことを特徴とする動画像電子透かし装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−20348(P2006−20348A)
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願番号】特願2005−220671(P2005−220671)
【出願日】平成17年7月29日(2005.7.29)
【分割の表示】特願2000−11978(P2000−11978)の分割
【原出願日】平成12年1月20日(2000.1.20)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成18年1月19日(2006.1.19)
【国際特許分類】
【出願日】平成17年7月29日(2005.7.29)
【分割の表示】特願2000−11978(P2000−11978)の分割
【原出願日】平成12年1月20日(2000.1.20)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]