JP2024021961A - 動画用電子透かし方法 - Google Patents
動画用電子透かし方法 Download PDFInfo
- Publication number
- JP2024021961A JP2024021961A JP2022125192A JP2022125192A JP2024021961A JP 2024021961 A JP2024021961 A JP 2024021961A JP 2022125192 A JP2022125192 A JP 2022125192A JP 2022125192 A JP2022125192 A JP 2022125192A JP 2024021961 A JP2024021961 A JP 2024021961A
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- watermark
- frame
- information
- embedding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000000605 extraction Methods 0.000 claims abstract description 23
- 238000001228 spectrum Methods 0.000 claims description 22
- 230000010363 phase shift Effects 0.000 claims description 17
- 230000003595 spectral effect Effects 0.000 claims description 13
- 230000007423 decrease Effects 0.000 claims description 3
- 230000006866 deterioration Effects 0.000 abstract description 4
- 239000006185 dispersion Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
【課題】動画像を利用した様々な運用形態に対して対応可能で,視聴時の動画の画質劣化を防ぎ,安全性の高い動画用電子透かし法を得ること,及び映像の撮影に対してリアルタイムで,大容量の電子透かしを埋め込み可能な動画用電子透かし法を得ることが課題である。【解決手段】映像データのフレームをブロックに分割し,kフレームはブロック毎に透かし情報に対応した分散ドットパターンで,k+1フレームにはkフレームの反転パターンで埋め込み,高画質の視聴画質を得ることができ,抽出はこれらの差分画像を用いて秘密鍵なしで透かし抽出ができる。【選択図】図9
Description
本発明は,動画像に情報を埋め込む動画用電子透かし方法に関するもので,様々な運用形態に対して対応可能な,高画質,大容量,高速,高安全性の電子透かしの埋め込み,抽出及び除去の方法に関するものである。
DVD,デジタル放送,インターネット配信など,デジタル化されたオーディオ・ビデオ(AV)信号をユーザーが視聴する機会が増加している。MPEG2やMPEG4などのデジタル化されたAV 信号に対する圧縮技術により,アナログ信号と比較して少ない容量又は帯域で,高品質なコンテンツをユーザーに提供できるようになった。一度デジタル化されたAV 信号は,ビットごとのコピーにより,容易に劣化のない複製を作成できるため,コンテンツ保護技術が強く求められている。CSS(Content Scramble System),CPPM(Content Protection for Prerecorded Media),CPRM(Content Protection for Recordable Media),DTCP(Digital Transmission Content Protection)などのコンテンツ保護規格は,暗号技術をデジタル化されたAV 信号に適用したもので,不正コピーを防ぐために開発された。しかしながら,視聴時には暗号が解除され無防備になる。電子透かしは,AV 信号中に別の情報を埋め込む技術で,アナログを経由した不正コピーの防止への適用が可能となる。
動画像への電子透かし埋め込みは,様々な目的で使われる。主なものとして以下のものが挙げられる。
(A)映像コンテンツに対する著作権保護
映像コンテンツに著作権情報や著作物情報(撮影日時,場所,撮影者,著作権者,第二著作権者,等)を電子透かしとして埋め込み,著作権を主張すると同時に違法コピーに対して警告や追跡を可能ならしめる。
(B)映像コンテンツの改ざん検知
監視カメラや,ドライブレコーダなどの画像は法廷資料として利用する場合には,それが改ざんされていないことを証明する必要がある。
(C)Annotation応用としての応用
例えば,動物百科事典などの動画入り電子書籍に,動画像をクリックすることにより,埋め込まれた詳しい説明や注釈(annotation)を表示することが必要である。
(A)映像コンテンツに対する著作権保護
映像コンテンツに著作権情報や著作物情報(撮影日時,場所,撮影者,著作権者,第二著作権者,等)を電子透かしとして埋め込み,著作権を主張すると同時に違法コピーに対して警告や追跡を可能ならしめる。
(B)映像コンテンツの改ざん検知
監視カメラや,ドライブレコーダなどの画像は法廷資料として利用する場合には,それが改ざんされていないことを証明する必要がある。
(C)Annotation応用としての応用
例えば,動物百科事典などの動画入り電子書籍に,動画像をクリックすることにより,埋め込まれた詳しい説明や注釈(annotation)を表示することが必要である。
(A)の著作権保護では,電子透かしは,映画やDVDなどの映像を違法にコピーや盗撮などの著作権法違反行為に対して,これを取り締まる目的で運用される。コンテンツ保護規格では,以下の4 種類のコピー制御情報(CCI:Copy Control Information)を定義している。
(1)コピーフリー(Copy-free) コピーが自由に行える
(2)コピー不可(Copy-never) コピー禁止のコンテツ
(3)1 世代コピー可(Copy-one-generation) 1 世代のコピーのみ行えるコンテンツ
(4)ノーモアコピー(No-more-copies) 一度コピーされた1世代コピー可のコンテンツ(これ以上のコピーは禁止)
これらの情報を電子透かしでCCIを埋め込み,機器が検出したCCI に従って動作することで,コンテンツ保護が実現できる。1 世代コピー可のコンテンツを1 回コピーした場合,CCI をノーモアコピーに書き換えなければならず,書き換え操作が可能な電子透かしが必要になる。
(1)コピーフリー(Copy-free) コピーが自由に行える
(2)コピー不可(Copy-never) コピー禁止のコンテツ
(3)1 世代コピー可(Copy-one-generation) 1 世代のコピーのみ行えるコンテンツ
(4)ノーモアコピー(No-more-copies) 一度コピーされた1世代コピー可のコンテンツ(これ以上のコピーは禁止)
これらの情報を電子透かしでCCIを埋め込み,機器が検出したCCI に従って動作することで,コンテンツ保護が実現できる。1 世代コピー可のコンテンツを1 回コピーした場合,CCI をノーモアコピーに書き換えなければならず,書き換え操作が可能な電子透かしが必要になる。
また,著作権保護の電子透かしでは,埋め込み情報の抽出は誰でも簡単に透かし情報を読むことが出来なければならない。ステガノグラフィーと呼ばれる電子透かしでは,機密情報を埋め込むため,透かし情報を抽出するためには特別な秘密鍵が必要となる。しかし,著作権保護の目的では,コンテンツに著作権が有るか無いかを伝達し,著作権がある場合は違法に複製してはいけないことを警告する必要がある。このため鍵なしで簡単に抽出できる必要がある。
さらに,著作権のある映像コンテンツを転売したり・権利譲渡した場合,古い著作権情報を除去し,書き換える必要がある。このため,電子透かし情報の除去,追記,書き換え等が必要となる。従って,鍵(秘密鍵)を用いて,透かしの除去・追記,書き換えが出来る必要がある。
(B)の監視カメラや,ドライブレコーダなどの画像は法廷資料として利用する場合には,それが改ざんされていないことを証明する必要がある。近年の画像処理ソフトウェアは高精度で極めて緻密な映像編集ができる。例えば,ドライブレコーダで撮影された事故の映像で,赤信号の画像を青信号に改ざんすることなど簡単にできる。従って,撮影された映像が改ざんされていないことの証明,改ざんがある場合は改ざん場所の特定をする必要がある。このため,この用途に用いる電子透かし技術では改ざん及び改ざん位置の検出が必要となる。
また,(C)の動画百科辞典(動画入りの電子書籍)などでは,動画像に関する注釈や詳細内容を映像モニタ―上に表示するため,少なくとも100文字以上の埋め込みが要請される。従って,この用途に用いる電子透かし技術は,大容量の情報埋め込みが必要となる。
このように,運用形態に合わせて必要要件が異なる。各要件は,通常トレードオフの関係があり,一方の要件に合うようにすると他方が要件から外れる。そのため,運用形態に合わせて優先される要件で最適化した電子透かし法を用いる。例えば,著作権保護用途での電子透かしでは,画像の編集や加工に耐え,透かしが消えないように深く埋め込み,耐性を強靭にした電子透かしが必要であるが,改ざん検知用の電子透かし法では,改ざんにより透かし情報が消失しやすくなるように浅く透かしを埋め込み,意図的に耐性を低くした方法が用いられる。また,著作権保護用の電子透かしは,耐性を強くするために埋め込み文字数を少なくしているが,動画百科辞典などでは,大容量の埋め込みを優先させ,耐性はあまり考慮しなくてよい。すなわち,運用形態や用途に合わせて電子透かし要件が異なり,一つの電子透かしアルゴリズムですべての運用形態を満足させることは困難である。
さらに,動画像に埋め込むためには高速に埋め込む必要がある。監視カメラやドライブレコーダなどでは,解像度がHDサイズ(1920画素x1080画素)で,フレームレートも30fps(frame per second)のものが多く,従って埋め込みをリアルタイムに行うためには,高速対応の電子透かし埋め込み手法を得ることが必要である
これまで,発明者は静止画の電子透かし法として,グリーンノイズ拡散型の電子透かし法を提案してきた。例えば,特許文献1では,画像をブロックに分割し,ブロック毎に埋め込み情報のビット列に応じたグリーンノイズパターンを埋め込み,抽出はブロック毎にスペクトルを求め,その形状から埋め込みビット列を得るものである。この方法は高画質でかつ高耐性で,可逆性(透かしを除去し元の画像に戻す)を得ている。
また,特許文献2では,透かし情報(主情報)に加えて副情報を多重化して埋め込み,副情報を改ざん検知として用いることを得ている。
また,特許文献3および特許文献4では,グリーンノイズパターンの反転パターンや位相をシフトしたパターンから成るカモフラージュ・パターンを生成し,第三者からの結託攻撃によるパターンの解読が困難で、安全性の高い電子透かし法を得ている。
しかし,これら静止画の方法をそのまま動画像に適用した場合,種々の問題点が生じる。ひとつは,動画像の各フレームに静止画と同じ埋め込み強度(gain)で透かしを埋め込んだ場合,透かしパターンが視認されやすい。映像部分は動きがあるが,透かし情報は静止画であるため,透かし情報が目立つようになる。これは視聴者に動画像に重畳した静止画ノイズを感じさせ,動画としての画質劣化を招く。
次に,第三者からの結託攻撃によるパターンの解読が容易になることである。複数フレームに同じ透かし情報が埋め込まれる場合,埋め込みパターンの数が増大し,解読しやすくなり,攻撃をうけやすくなるためである。また,各フレームに異なる透かし情報が埋め込まれても,抽出埋め込み情報と埋め込みパターンの数が増大するため,同様に解析しやすくなり,攻撃されやすくなる。
静止画の場合,画像毎に異なる乱数ドットパターンから生成したグリーンノイズパターンを用いることで安全性を高めることが出来るが,動画像の各フレーム毎に異なるグリーンノイズ・ドットパターンを用いて透かし情報を埋め込んだ場合,除去のための秘密鍵はフレーム毎に異なり,フレーム数だけ鍵を保有しなければならず,鍵の容量が増大すると同時に,利便性が悪く,かつ,紛失時のセキュリティ上の問題も生じる。。
かかる問題を解決し,動画像を利用した様々な運用形態に対して対応可能で,視聴時の画質劣化を防ぎ,より安全性の高い動画用電子透かし法を得ることが課題である。また,映像の撮影に対して高速・リアルタイム埋め込みが可能で,大容量の電子透かしの埋め込み可能な動画用電子透かし法を得ることが課題である。
これらの課題を解決するために,本発明は,映像データの各フレームを複数のブロックに分割し,ブロック毎にそのスペクトル強度が高周波数域と低周波数域で低下したグリーンノイズ特性を示すグリーンノイズ・ドットパターンを含む分散ドットパターンで画像データに埋め込む動画用の電子透かし方法において、かかる分散ドットパターンを秘密鍵に保存し,透かしの埋め込みは,k番目(kは任意のフレーム番号)のフレームに対しては,ブロック毎に透かし情報に対応した分散ドットパターンで,k+1番目のフレーム に対してはkフレームで使用した分散ドットパターンの反転パターンをブロック毎に埋め込むことで行い,透かし情報の抽出は,映像データをデコード後,フレームに展開し,抽出したいフレームk’(k’は任意のフレーム番号)とk’+1番目のフレームの画像データの差分画像を求め,差分画像をブロックに分割し,ブロック毎にスペクトルを求め,そのスペクトル形状から秘密鍵なしで埋め込み情報を抽出することで行い,透かしの除去は,秘密鍵と,抽出された透かし情報を用いて透かし情報を取り除き,埋め込み前の画像に戻すことが出来ることを特徴とするものである。
この方法によれば,分散ドットパターンが,高周波域と低周波域でスペクトルが低下したグリーンノイズパターンであるため,もともと埋め込みパターンが視認され難く高画質である上に,視聴時にはk番目のフレームに対しては分散ドットパターンで,k+1番目のフレーム に対しては分散ドットパターンの反転パターンで 埋め込みむため,動画像としてみた時,埋め込みパターンは時間平均され打ち消される。このため,高画質な動画が視聴できる。
また,透かし情報の抽出精度は,フレームk’とk’+1番目のフレームの画像データの差分画像から抽出するため,原画像成分が打ち消され,透かし埋め込みのgainが2倍になるので抽出精度が向上する。
また,透かし情報の抽出精度は,フレームk’とk’+1番目のフレームの画像データの差分画像から抽出するため,原画像成分が打ち消され,透かし埋め込みのgainが2倍になるので抽出精度が向上する。
更に,実空間で画像データに埋め込むため,高速な埋め込みが可能である。また,透かし情報はブロック単位に透かしビットを埋め込むことと,動画像の各フレームに透かし情報を埋め込むことが出来るため,大容量の埋め込みが可能である。さらに多値化された分散ドットパターンを用いれば埋め込み量をさらに増やすことが出来る。
また,透かしを除去するためには,秘密鍵が必要となるが,秘密鍵には書き込みに用いた分散ドットパターンであるため,秘密鍵が盗難や紛失しても,その鍵で他の映像の透かし情報を除去することは出来ない。このため安全性は高い。
また,透かしを除去するためには,秘密鍵が必要となるが,秘密鍵には書き込みに用いた分散ドットパターンであるため,秘密鍵が盗難や紛失しても,その鍵で他の映像の透かし情報を除去することは出来ない。このため安全性は高い。
また,本発明は,kフレームの透かし埋め込みは,乱数発生器から得られたブロック毎にランダムな反転パターンの指標σ 及び位相シフトパターンのシフト量 X,Y を用いた分散ドットパターン;
p’i(σ,x,y)=pi(σ,(x+X) mod R, (y+Y) mod R)
ただし,pi(σ,x, y)は反転パターン指標σのドットパターン, mod R はRを法とする剰余, を用いて,
k+1フレームの埋め込みは,kフレームと同じ透かし情報,反転パターンの指標σ 及び位相シフト量 X,Y を用いた分散ドットパターン;
p’i(σ’,x,y)=pi((σ+4) mod 8, (x+X) mod R, (y+Y) mod R)
を用いて,
W(x,y)=I(x,y)+gain・p’i(σ’,x,y)
ただし,W(x, y)は透かしの埋め込まれた画像, I(x, y)は,埋め込み前の画像, gainは埋め込みの強度,
となるように埋め込み,透かしの抽出は,抽出したいフレームの位置にかかわらず共通の抽出ソフトウェアで抽出を行うことが出来,秘密鍵は,分散ドットパターンおよびカモフラージュ・パターン生成の乱数発生器のSeed値を含み,透かしの除去は,かかる秘密鍵と,抽出された透かし情報,およびフレーム番号を用いて透かし情報を取り除き,埋め込み前の画像に戻すことが出来るという特徴を持つ。
p’i(σ,x,y)=pi(σ,(x+X) mod R, (y+Y) mod R)
ただし,pi(σ,x, y)は反転パターン指標σのドットパターン, mod R はRを法とする剰余, を用いて,
k+1フレームの埋め込みは,kフレームと同じ透かし情報,反転パターンの指標σ 及び位相シフト量 X,Y を用いた分散ドットパターン;
p’i(σ’,x,y)=pi((σ+4) mod 8, (x+X) mod R, (y+Y) mod R)
を用いて,
W(x,y)=I(x,y)+gain・p’i(σ’,x,y)
ただし,W(x, y)は透かしの埋め込まれた画像, I(x, y)は,埋め込み前の画像, gainは埋め込みの強度,
となるように埋め込み,透かしの抽出は,抽出したいフレームの位置にかかわらず共通の抽出ソフトウェアで抽出を行うことが出来,秘密鍵は,分散ドットパターンおよびカモフラージュ・パターン生成の乱数発生器のSeed値を含み,透かしの除去は,かかる秘密鍵と,抽出された透かし情報,およびフレーム番号を用いて透かし情報を取り除き,埋め込み前の画像に戻すことが出来るという特徴を持つ。
この方法によれば,k番目のフレームには乱数発生器により得られた乱数列を用いたランダムな分散ドットパターンで埋め込み,k+1番目のフレーム に対してはkフレームと同じ乱数列の分散ドットパターンの反転パターンで埋め込むこため,全てのフレーム,全てのブロックで,異なる分散ドットパターンとなり,同じパターンが出現する確率は極めて低い。このため,埋め込みパターンの解読や除去が困難となり,第三者による結託攻撃から守ることが出来,安全性が高いという特徴を有す。
また,透かしの抽出は,反転及び位相シフトを行ったパターンでも,そのスペクトル形状は同じであるため,異なる映像データ,異なるフレーム番号にかかわらず,常に共通のソフトウェアで抽出を行うことが出来る。つまり,抽出時に反転パターンの指標や位相シフト量の情報が無くても抽出可能で,秘密鍵なしでも透かし抽出が出来る。換言すれば,汎用の抽出ソフトウェアで,全ての映像,全てのフレームで透かし抽出が可能であるという特徴がある。
一方,透かしの除去は外部からの悪意のある攻撃に耐えるために高レベルのセキュリティ対策が必要である。このため,秘密鍵を用いてのみ実行できる。秘密鍵には,グリーンノイズ・ドットパターン,埋め込み強度(gain)および乱数発生のSeed値を含み,この秘密鍵を用いて埋め込み画像から透かし情報を取り除くことで埋め込み前の画像に戻すことが出来る。
また,本発明では,分散ドットパターンは,Bayerパターンで構成された副情報パターンを含み,埋め込みは ,前記グリーンノイズ・ドットパターンと副情報パターンを合成したパターンを用いて埋め込まれ,副情報の抽出は,実空間(画素空間)にてBayerパターンで構成されたマスクを用いて抽出を行い,秘密鍵は,分散ドットパターン,副情報パターン,およびカモフラージュ・パターン生成の乱数発生器のSeed値を含み,透かし及び副情報の除去は,秘密鍵と,抽出された透かし情報,及びフレーム番号を用いて,埋め込み前の画像に戻すことが出来ることを特徴とする。
この方法によれば,透かし情報の埋め込みと同時に副情報パターンを埋め込むことにより,耐性の強靭な透かしと,改ざん検出パターンの同時埋め込みが一つの透かし手法(透かしアルゴリズム)に搭載可能となる。
かかる副情報パターンを合成して埋め込んでも,グリーンノイズ・ドットパターンのスペクトルとは重ならないため,余分な干渉やビートは生じず,高画質性を維持することが出来る。また,除去に際しても,副情報パターンを秘密鍵に含ませることにより,透かしパターンと同時に除去可能となる。
かかる電子透かし法を用いることにより,動画像を利用した様々な運用形態に対して対応可能となる。つまり,動画への高速埋め込み,大容量の埋め込みが実現できると同時に,埋め込み映像の視聴時の動画像の高画質性を維持できる。また,結託攻撃などに対してより耐性を高めることが出来る。また,全ての映像コンテンツで透かしの抽出は鍵なしで共通のソフトウェアで容易に行うことが出来る。透かしの除去や書き換え時には,秘密鍵を用いて,任意のフレームの透かしの書き直しや追記が可能となる。秘密鍵を紛失しても他の動画に対して透かしの除去や書き直しが出来ない。このため,利便性と高セキュリティの両面を兼ねそろえることが可能である。
図1は本発明の動画像への透かし情報埋め込みと抽出のためのシステムの構成図である。カメラ1はビデオカメラや監視カメラ,ドライブレコーダなど動画撮像カメラで,内部に後述の動画用電子透かしの埋め込み機構が組み込まれている。透かしを埋め込まれた動画像は,Wi-Fiなどの無線LANやSDカードなどのメモリ3により,利用者のパーソナルコンピュータ(PC)4に取り込まれ,映像モニタ2で動画像を視聴したり,PCで抽出した透かし情報を抽出し映像モニター上に表示したりする。
図2は透かしの抽出等におけるシステム構成を表すもので,パーソナルコンピュータ4に、メモリ3が挿入され,撮影された透かし入りの動画像が取り込まれる。また,必要に応じて,ハードディスクなどのデータメモリ8に取り込まれる。透かし埋め込み,抽出,除去のための画像処理プログラムはプログラムメモリ7に保存され,CPU 12や,ROM 5,RAM 6などを用いて処理が実行され、映像モニター2に処理後の映像や抽出した透かし情報等が表示される。また,通信機能10を介して,ネットやクラウド上の映像の取り込みや,公開した映像の追跡や監視を行うことも可能である。透かしの除去された映像にキーボード9から透かし情報の新規入力も可能である。
まず,埋め込みに用いる分散ドットパターンについて説明する。図3は分散ドットパターンとしてグリーンノイズ・ドットパターンの生成フローを示したものである。グリーンノイズ・ドットパターンは,以下のStepで生成する。
Step1: まず,初期値としてブロックサイズがR×Rの領域に(R^2)/2個のランダムドットを配置しpi(x, y)とする(20)。ここで添え字i は多値数を表す。例えば,二値の場合はi=0,1,四値の場合はi=0,1,2,3 となる。また,^はべき乗を表す。R=32の場合,512個の黒ドットと白ドットをランダムに配置する。初期値はホワイトノイズ特性を示す。
Step2: 次に,ドットパターンの二次元フーリエ変換を行い,Pi(fx,fy )を得る(21)。
Step3: Pi(fx,fy )に対して,周波数fx,fyが,
fx,min≦fx≦fx,max , fy,min≦fy≦fy,max
の帯域に制限するフィルタDi(fx,fy)を乗じて新たなスペクトル特性P’i(fx,fy)を得る(22)。
Step4: P’i(fx,fy)に逆フーリエ変換を行い,多値のドットパターンp’i(x,y)を得る(23)。
Step5: 誤差関数: e(x,y)=p’i(x,y)-pi(x,y)
を求め,誤差の大きい順に白,黒反転する(24)。
Step2~5を繰り返し行い,誤差関数が一定の値以下になった時に終了し最終的なパターンを得る(25)。
Step1: まず,初期値としてブロックサイズがR×Rの領域に(R^2)/2個のランダムドットを配置しpi(x, y)とする(20)。ここで添え字i は多値数を表す。例えば,二値の場合はi=0,1,四値の場合はi=0,1,2,3 となる。また,^はべき乗を表す。R=32の場合,512個の黒ドットと白ドットをランダムに配置する。初期値はホワイトノイズ特性を示す。
Step2: 次に,ドットパターンの二次元フーリエ変換を行い,Pi(fx,fy )を得る(21)。
Step3: Pi(fx,fy )に対して,周波数fx,fyが,
fx,min≦fx≦fx,max , fy,min≦fy≦fy,max
の帯域に制限するフィルタDi(fx,fy)を乗じて新たなスペクトル特性P’i(fx,fy)を得る(22)。
Step4: P’i(fx,fy)に逆フーリエ変換を行い,多値のドットパターンp’i(x,y)を得る(23)。
Step5: 誤差関数: e(x,y)=p’i(x,y)-pi(x,y)
を求め,誤差の大きい順に白,黒反転する(24)。
Step2~5を繰り返し行い,誤差関数が一定の値以下になった時に終了し最終的なパターンを得る(25)。
かかる方法で得られたドットパターンは,そのスペクトルが最大周波数fmaxおよび最小周波数fminの帯域に分布する,いわゆるグリーンノイズ特性を示すクラスター型の分散ドットパターンである。電子透かし用の埋め込みパターンとするためには,四値の場合,埋め込みビット“00”,“01”,“11”,“10”に対応させた4種類の異方性パターンを作成し,四値のグリーンノイズ・ドットパターンを得る。図4に32画素x32画素のグリーンノイズ・ドットパターンおよびそのスペクトルを示す。4種類のパターンpi(x,y) (i=0, 1, 2, 3) はスペクトルが楕円形状で,それぞれ45°づつ回転したものとなっている。コードの割り振りはハミング距離が1のグレイコードとする。
ここで,Step1において,初期値の乱数を異なるものにすることにより,得られるドットパターンは異なる。すなわち,疑似乱数発生器で乱数発生のSeed(種)値を変えることによりドットパターンを変えることが可能となる。RxRのブロックでは, R*R C (R*R/2) だけの異なるドットパターンが可能で,ほぼ無限にあるといえる。(ここで,CはConbinationを表す。)しかし,スペクトル形状は変化しない。このため,後述の抽出用のソフトウェアは変更なしで共通に使える。
次に,カモフラージュ・パターンについて説明する。カモフラージュ・パターンは,反転パターンと位相シフトパターンとから構成される。
図5にp1(x,y)に対する反転パターンを示す。反転パターンは以下の様にして作成される。
σ=0: pi (x,y)のパターン (基本パターン)
σ=1: pi (x,y)の上下反転パターン
σ=2: pi (x,y)の左右反転パターン
σ=3: pi (x,y)の上下左右反転パターン
σ=4: pi (x,y)のネガパターン
σ=5: pi (x,y)の上下反転のネガパターン
σ=6: pi (x,y)の左右反転のネガパターン
σ=7: pi (x,y)の上下左右反転のネガパターン
上下,左右の方向は,それぞれ楕円の長軸および短軸方向に対して行う。ネガパターンは白ドットと黒ドットを反転させたパターンで,白ドット数と黒ドット数は同数であるため,反転させても個数は変わらない。一つのpi(x,y)に対して合計8個の異なるドットパターンσj(j=0,1,2,…7)が生成され,すべて同じスペクトル特性を示す。
図5にp1(x,y)に対する反転パターンを示す。反転パターンは以下の様にして作成される。
σ=0: pi (x,y)のパターン (基本パターン)
σ=1: pi (x,y)の上下反転パターン
σ=2: pi (x,y)の左右反転パターン
σ=3: pi (x,y)の上下左右反転パターン
σ=4: pi (x,y)のネガパターン
σ=5: pi (x,y)の上下反転のネガパターン
σ=6: pi (x,y)の左右反転のネガパターン
σ=7: pi (x,y)の上下左右反転のネガパターン
上下,左右の方向は,それぞれ楕円の長軸および短軸方向に対して行う。ネガパターンは白ドットと黒ドットを反転させたパターンで,白ドット数と黒ドット数は同数であるため,反転させても個数は変わらない。一つのpi(x,y)に対して合計8個の異なるドットパターンσj(j=0,1,2,…7)が生成され,すべて同じスペクトル特性を示す。
ここで,ドットパターンpi(x,y)をσをパラメータとし,pi(σ, x, y)と3次元の配列で表記する。この時,pi(σ, x, y)のネガパターンへの反転パターンは,
pi(σ,x,y)の反転パターン: pi((σ+4) mod 8,x,y) (1)
で表される。ここで,mod 8 は8を法とした剰余を表す。例えば,σ=7の場合,pi((7+4)mod 8, x, y)=pi(3,x, y),また,σ=3の場合pi((3+4)mod 8, x, y )=pi(7,x, y),となり,σ=7とσ=3は互いに反転パターンであることが分かる。
pi(σ,x,y)の反転パターン: pi((σ+4) mod 8,x,y) (1)
で表される。ここで,mod 8 は8を法とした剰余を表す。例えば,σ=7の場合,pi((7+4)mod 8, x, y)=pi(3,x, y),また,σ=3の場合pi((3+4)mod 8, x, y )=pi(7,x, y),となり,σ=7とσ=3は互いに反転パターンであることが分かる。
次に,位相シフトパターンは,パターンの開始位置をずらしたパターンである。今,シフト量をr とすると,r はx方向とy方向の成分があり(X, Y) で表わすことにする。ここで,0≦X, Y≦Rー1である。かかる(X,Y)は乱数を発生させてランダムに決める。位相をシフトした位相シフトパターンは,位相シフトの無いパターン(基本パターン)から以下の式で表される。
pi(σ, x, y)の(X,Y)だけ位相をシフトしたパターン:
pi(σ, (x+X) mod R, (y+Y) mod R) (2)
図6にp0のパターン(基本パターン)に対する位相シフトパターンの一例を示す。元来,グリーンノイズ・ドットパターンは,一様に分布したランダムなドット配置のため,並べて配置しても,その境界が識別できないし,位相シフトしても境界線は視認されない。
位相シフトパターンは,一つの グリーンノイズパターンに対してR^2個の異なるパターンが生成可能で,また,全て同じスペクトル特性を示す。このため,反転パターン同様,抽出用のソフトウェアは変更なしで共通に使える。
pi(σ, x, y)の(X,Y)だけ位相をシフトしたパターン:
pi(σ, (x+X) mod R, (y+Y) mod R) (2)
図6にp0のパターン(基本パターン)に対する位相シフトパターンの一例を示す。元来,グリーンノイズ・ドットパターンは,一様に分布したランダムなドット配置のため,並べて配置しても,その境界が識別できないし,位相シフトしても境界線は視認されない。
位相シフトパターンは,一つの グリーンノイズパターンに対してR^2個の異なるパターンが生成可能で,また,全て同じスペクトル特性を示す。このため,反転パターン同様,抽出用のソフトウェアは変更なしで共通に使える。
次に透かし情報の埋め込み方法について説明する。
透かし情報の埋め込みは,カラー画像データの輝度信号化あるいは緑(G)チャンネル信号に埋め込む。画像データの青(B)成分に埋め込むと視覚特性から最も透かし情報が視認され難く高画質を再現できるが,埋め込まれた画像を,動画圧縮(例えばMPEG圧縮等)する際,通常,色差信号に対してはサブサンプリングを粗くするため,透かし抽出精度が低下するためである。
透かし情報の埋め込みは,カラー画像データの輝度信号化あるいは緑(G)チャンネル信号に埋め込む。画像データの青(B)成分に埋め込むと視覚特性から最も透かし情報が視認され難く高画質を再現できるが,埋め込まれた画像を,動画圧縮(例えばMPEG圧縮等)する際,通常,色差信号に対してはサブサンプリングを粗くするため,透かし抽出精度が低下するためである。
図7はカメラでの透かし埋め込みの流れを示したもので,カメラセンサ30からの出力データ(RAWデータ)に透かし埋め込みを行い(31),埋め込み画像をフレームバッファ32に蓄積する。数フレーム蓄積したところで動画圧縮エンコーダであるH264エンコーダ33で動画圧縮された透かし入り映像データ34が出力される。一連の処理はカメラ内のCPU35で制御する。
埋め込み処理は,ドライブレコーダや監視カメラなどでは撮像と同時にリアルタイムで行う必要があり,埋め込みの高速性が要求される。HDサイズ(1920画素x1080画素)で,30fps(frame per second)の映像に対してリアルタイムに埋め込むことはかなり大変な処理であるが,本グリーンノイズパターンで埋め込む方法は,実空間(画素空間)で各ブロックにラスター順に埋めこむため,ディザ法と同じようにソフトウェアあるいは簡単なハードウェアで可能である。
埋め込み処理は,ドライブレコーダや監視カメラなどでは撮像と同時にリアルタイムで行う必要があり,埋め込みの高速性が要求される。HDサイズ(1920画素x1080画素)で,30fps(frame per second)の映像に対してリアルタイムに埋め込むことはかなり大変な処理であるが,本グリーンノイズパターンで埋め込む方法は,実空間(画素空間)で各ブロックにラスター順に埋めこむため,ディザ法と同じようにソフトウェアあるいは簡単なハードウェアで可能である。
埋め込みは,映像データの各フレームの画像データI(x, y)を,R画素×R画素 のブロックに分割し,それぞれのブロックに対して透かしビット情報に対応したグリーンノイズパターンで順次埋め込むものとする。画像サイズをW画素×H画素とすると,1フレーム当たりのブロック数Nは,W/R」*H/R」となる(ここで」は小数以下切り捨てを示す)。HD サイズの画像にR=32のブロックサイズで,四値のグリーンノイズパターンで埋めこむものとすると,1フレーム当たり1920ブロックあり,ASCII文字で480文字埋め込むことが可能である。実際は,誤り訂正符号を含めるため多少減少するが,実用上十分な埋め込み量である。
また,ドライブレコーダなどの移動体搭載カメラでの埋め込みは,撮影時刻やGPS情報の様に刻々変化する情報を埋め込むため,各フレームに埋め込むことが望ましい。本発明では,2フレーム毎に透かし情報を更新するものとする。
まず,図8を用いて,透かし埋め込み処理の概要を示す。カメラセンサ30からのRAWデータのkフレーム(kは任意)目の画像データ36は,ビット列に変換された透かし情報42をブロック順に取り出すが,反転パターンσのパターン40を用いて加算器38により各画素に加算されて埋め込まれる。次のk+1フレームに対しては,同じ透かし情報で,(σ+4) mod 8の反転パターン41により,加算器39にて加算され埋め込まれる。埋め込まれた各フレームの画像データはフレームバッファ32へ送られ蓄積される。
まず,図8を用いて,透かし埋め込み処理の概要を示す。カメラセンサ30からのRAWデータのkフレーム(kは任意)目の画像データ36は,ビット列に変換された透かし情報42をブロック順に取り出すが,反転パターンσのパターン40を用いて加算器38により各画素に加算されて埋め込まれる。次のk+1フレームに対しては,同じ透かし情報で,(σ+4) mod 8の反転パターン41により,加算器39にて加算され埋め込まれる。埋め込まれた各フレームの画像データはフレームバッファ32へ送られ蓄積される。
続いて図9のフローで,埋め込みの具体的処理を示す。
まず,埋め込みのための準備(50)として,埋め込む分散ドットパターンpi(σ, x, y)およびブロック数Nを求める。pi(σ, x, y)は多値化のレベルによりパターン数は異なるが,四値の場合はp0~p3 の4種類で,各々8個の反転パターンを有するため全部で32パターンとなる。これをσにより3次元配列化する。Nは,1フレームあたりのブロック数で,画像サイズをW x H,ブロックサイズをR x Rとすると,N=W/R」*H/R」となる。また,反転パターンを決めるための乱数のSeed値であるSeed1と,位相シフトパターンを決めるための乱数のSeed値であるSeed2を設定する。これは映像毎に異なる値を設定する。かかるSeed値で決まる乱数列を偶数フレームの各ブロックに対して求める。従って,各偶数フレームで異なった乱数列となる。
まず,埋め込みのための準備(50)として,埋め込む分散ドットパターンpi(σ, x, y)およびブロック数Nを求める。pi(σ, x, y)は多値化のレベルによりパターン数は異なるが,四値の場合はp0~p3 の4種類で,各々8個の反転パターンを有するため全部で32パターンとなる。これをσにより3次元配列化する。Nは,1フレームあたりのブロック数で,画像サイズをW x H,ブロックサイズをR x Rとすると,N=W/R」*H/R」となる。また,反転パターンを決めるための乱数のSeed値であるSeed1と,位相シフトパターンを決めるための乱数のSeed値であるSeed2を設定する。これは映像毎に異なる値を設定する。かかるSeed値で決まる乱数列を偶数フレームの各ブロックに対して求める。従って,各偶数フレームで異なった乱数列となる。
続いてk=0のフレーム番号から埋め込みを開始する(51)。k番目のフレーム(最初はk=0)において,反転パターンおよび位相シフトパターンに与える乱数値(σ,X,Y) をあらかじめ1フレーム分のブロック数Nだけ求める。Seed1による乱数発生器では反転パターンの指標σを0~7のランダムな整数値列でN個生成し,Seed2による乱数発生器では位相シフト量X,Yを0~R-1のランダムな整数値列でそれぞれN個生成する(52)。
次に,kフレームへの埋め込みを開始する(53)。埋め込みはN個の乱数値からブロック毎に順次乱数値(σ,X, Y)を取り出して,各ブロックをラスター順に順次行っていく。n番目のブロック(n=0,1,2,…N-1)における分散ドットパターンp'i(σ,x, y)は,以下の式で表される。
p'i(σ,x, y)= pi(σ, (x + X) mod R, (y + Y) mod R) (3)
かかるパターンを用いて,次式のようにブロック毎に埋め込みを行う。
W(x, y)=I(x, y)+gain・ p'i(σ,x, y) (4)
ただし,W(x, y)は透かしの埋め込まれた画像,I(x, y)は埋め込み前の画像で,ともに該当するブロックに切り出したものである。また,gainは埋め込みの強度で,不可視の透かしとするため,0<gain≪1とする。gainは,大きな値では埋め込みが強靭になり耐性が向上するが,画質が低下する。通常,実験的に求めた最適な値(gain=0.1725)をdefault値として使用るが,異なる値を使用する場合は,除去の時に必要となるため,秘密鍵に入れる必要がある。
かかる操作を全ブロックで行う。
p'i(σ,x, y)= pi(σ, (x + X) mod R, (y + Y) mod R) (3)
かかるパターンを用いて,次式のようにブロック毎に埋め込みを行う。
W(x, y)=I(x, y)+gain・ p'i(σ,x, y) (4)
ただし,W(x, y)は透かしの埋め込まれた画像,I(x, y)は埋め込み前の画像で,ともに該当するブロックに切り出したものである。また,gainは埋め込みの強度で,不可視の透かしとするため,0<gain≪1とする。gainは,大きな値では埋め込みが強靭になり耐性が向上するが,画質が低下する。通常,実験的に求めた最適な値(gain=0.1725)をdefault値として使用るが,異なる値を使用する場合は,除去の時に必要となるため,秘密鍵に入れる必要がある。
かかる操作を全ブロックで行う。
続いてkを+1し(54),k+1フレームの埋め込みを行う(55)。埋め込む透かし情報及び各ブロックに割り当てられた乱数値(σ,X, Y)はkフレームで用いたものと同じものを使用する。埋め込みの分散ドットパターン
p'i(σ',x, y)= pi((σ+4)mod 8 , (x + X) mod R, (y + Y) mod R) (5)
を用いて,次式のように埋め込む。
W'(x, y)=I(x, y)+gain・ p'i(σ',x, y) (6)
すなわち,k+1フレームのブロック毎の分散ドットパターンは,kフレームの分散ドットパターンの反転ドットパターンを用いる。
続いてkを+1し(57),次のフレームに移り,新たな透かし情報で同じ様に埋め込み操作を行う。全フレームが終了した段階(56)で埋め込みが終了する(58)。
p'i(σ',x, y)= pi((σ+4)mod 8 , (x + X) mod R, (y + Y) mod R) (5)
を用いて,次式のように埋め込む。
W'(x, y)=I(x, y)+gain・ p'i(σ',x, y) (6)
すなわち,k+1フレームのブロック毎の分散ドットパターンは,kフレームの分散ドットパターンの反転ドットパターンを用いる。
続いてkを+1し(57),次のフレームに移り,新たな透かし情報で同じ様に埋め込み操作を行う。全フレームが終了した段階(56)で埋め込みが終了する(58)。
次に透かしの抽出について説明する。図10は透かし抽出の概要を表すブロック図である。透かし入り映像データ34はH264デコーダ60により動画圧縮されたデータが伸長され,フレームバッファ61に格納される。続いて,透かし抽出をするフレームの任意フレームと次のフレームを取り出し,両者の差分処理を行い(62),差分画像から透かし抽出処理を行い(63),透かし情報64を得る。
図11は差分処理部分を説明したもので,透かし入りのRAWデータを格納したフレームバファ61より,kフレーム65,及びk+1フレーム66を取り出す。続いて両者の差分を取る(67)。
すなわち,
kフレームの埋め込み画像: W(x, y)=I(x, y)+gain・ p'i(σ,x, y)
k+1フレームの埋め込み画像: W‘(x, y)=I(x, y)+gain・ p'i(σ‘,x, y)
であるので,
W(x,y)-W'(x,y)=I(x,y)-I'(x,y)+gain・[p'i(σ,x, y)-p'i(σ',x, y)]
≒2gain・p'i(σ,x, y) (7)
となり,画像データの動きがなければ,画像データは打ち消され,透かし情報が2倍に増幅されて出力される(64)。このため透かしの抽出精度は向上する。逆に,同じ抽出精度でよければ透かし埋め込み時に半分のgainで埋めこむことが出来ることを意味する。その場合,埋め込み画像のPSNR(ピーク信号対ノイズ比)は向上する。
すなわち,
kフレームの埋め込み画像: W(x, y)=I(x, y)+gain・ p'i(σ,x, y)
k+1フレームの埋め込み画像: W‘(x, y)=I(x, y)+gain・ p'i(σ‘,x, y)
であるので,
W(x,y)-W'(x,y)=I(x,y)-I'(x,y)+gain・[p'i(σ,x, y)-p'i(σ',x, y)]
≒2gain・p'i(σ,x, y) (7)
となり,画像データの動きがなければ,画像データは打ち消され,透かし情報が2倍に増幅されて出力される(64)。このため透かしの抽出精度は向上する。逆に,同じ抽出精度でよければ透かし埋め込み時に半分のgainで埋めこむことが出来ることを意味する。その場合,埋め込み画像のPSNR(ピーク信号対ノイズ比)は向上する。
図12は差分画像からの透かしの抽出の処理フローを示したものである。1フレーム分の差分画像はブロックに分割され(70),n番目のブロック(最初はn=0)に対して処理を行う(71)。
まず,ブロックデータに対して高速フーリエ変換(FFT)を行いスペクトル分布を求める(72)。続いて,ヒストグラム・イコライゼーション等の処理によりデータの規格化を施し(73),そのスぺクトル分布からパターンの識別を行う(74)。識別方法としては後述のニューラルネットによるパターン認識を用いる。識別の結果,各ブロックから四値の場合,2ビットの透かし情報が抽出される。フレーム内の全ブロックが終了しているか判断して,終了していなければnを+1して,次のブロックに移り(77),終了しておれば,全ビットを取り出して文字情報に復元する。
まず,ブロックデータに対して高速フーリエ変換(FFT)を行いスペクトル分布を求める(72)。続いて,ヒストグラム・イコライゼーション等の処理によりデータの規格化を施し(73),そのスぺクトル分布からパターンの識別を行う(74)。識別方法としては後述のニューラルネットによるパターン認識を用いる。識別の結果,各ブロックから四値の場合,2ビットの透かし情報が抽出される。フレーム内の全ブロックが終了しているか判断して,終了していなければnを+1して,次のブロックに移り(77),終了しておれば,全ビットを取り出して文字情報に復元する。
図13はパターンの識別器をニューラルネット(NN)により機械学習により求めたものである。
機械学習は,埋め込み済み画像から抽出した多数のラベル付きスペクトルデータをデータセットとしてあらかじめ用意し(80),学習用データ,テスト用データに分けNN法により学習を行う。判定画像サイズは32×32で入力層(81)のニューロン数は1024,隠れ層(中間層)(82)は50,出力層(84)は4で,活性化関数としてSigmoid関数を用い(83),最終段にSoftmaxにより出力(85)を得る。データセットは,画像に,カモフラージュパターンの透かしパターンを埋め込み,抽出したスペクトルを各パターン2000枚づつ計8000枚を用意し,8割をトレーニング用,2割をテスト用とした。誤差逆伝搬法を用いて機械学習を行った結果,ほぼ100%の正答率を得た。かかる機械学習によるネットワークパラメータを透かし抽出プログラムに組み込むことにより,従来方法による識別方法と比較して格段に正答率の高いパターン識別が可能である。
機械学習は,埋め込み済み画像から抽出した多数のラベル付きスペクトルデータをデータセットとしてあらかじめ用意し(80),学習用データ,テスト用データに分けNN法により学習を行う。判定画像サイズは32×32で入力層(81)のニューロン数は1024,隠れ層(中間層)(82)は50,出力層(84)は4で,活性化関数としてSigmoid関数を用い(83),最終段にSoftmaxにより出力(85)を得る。データセットは,画像に,カモフラージュパターンの透かしパターンを埋め込み,抽出したスペクトルを各パターン2000枚づつ計8000枚を用意し,8割をトレーニング用,2割をテスト用とした。誤差逆伝搬法を用いて機械学習を行った結果,ほぼ100%の正答率を得た。かかる機械学習によるネットワークパラメータを透かし抽出プログラムに組み込むことにより,従来方法による識別方法と比較して格段に正答率の高いパターン識別が可能である。
本発明の透かし抽出精度は,原画像の空間周波数特性により低下することがある。原画像の空間周波数が高い,すなわち細かいパターンがあるとそのスペクトル分布が広がり,グリーンノイズのスペクトルと重なるためである。そのため,抽出された透かしの正答率は画像依存性があり安定性に欠けるため,誤り訂正符号が必要となる。
そこで,誤り訂正符号としてリードソロモン(RS)符号を導入し、誤り訂正能力を持たせた状態で透かし情報の抽出を行う。2^8個の元で構成される拡大ガロア体GF(2^8)における既約多項式x^8+x^4+x^3+x+1 の関係式を用いて,16ワードで最大3ワードの誤り訂正可能となるRS(16,6)符号を組み込んだ。この時,生成多項式はx^6+a^166 x^5+a^0 x^4+a^134 x^3+a^5 x^2+a^176 x+a^15となる。かかるRS符号を用いた情報の埋め込みは、埋め込み可能な情報量は誤り訂正符号なしの場合に比べて10/16に減少するが,画像によらず100%に近い正答率を得ることが可能である。
そこで,誤り訂正符号としてリードソロモン(RS)符号を導入し、誤り訂正能力を持たせた状態で透かし情報の抽出を行う。2^8個の元で構成される拡大ガロア体GF(2^8)における既約多項式x^8+x^4+x^3+x+1 の関係式を用いて,16ワードで最大3ワードの誤り訂正可能となるRS(16,6)符号を組み込んだ。この時,生成多項式はx^6+a^166 x^5+a^0 x^4+a^134 x^3+a^5 x^2+a^176 x+a^15となる。かかるRS符号を用いた情報の埋め込みは、埋め込み可能な情報量は誤り訂正符号なしの場合に比べて10/16に減少するが,画像によらず100%に近い正答率を得ることが可能である。
次に副情報の埋め込みについて説明する。
副情報パターンは映像データが改ざんされた時,その改ざん位置の検出を目的としたものである。図14は副情報パターンについて示したもので,同図(a)は,透かしパターンpi(σ, x , y) とそのスペクトルを,(b)は副情報パターンm(x, y)を示し,パターンの黒領域(m(x, y)=0の領域)をBayer型の市松パターンBayer(x, y)で画像に埋め込む。同図(c)は透かしパターンと副情報パターンもを合成したものである。透かしパターンのスペクトルは楕円リング状のパターンであるが,Bayer型の市松パターンから成る副情報パターンのスペクトルは,fx=fy=R/2なるナイキスト周波数に強いスペクトルを有し,同図(c)のスペクトルに示すようにブロックの4端近傍にスペクトルが集中する。従って,透かしパターンと副情報パターンのスペクトルの重なりはなく干渉は生じないため,それぞれ独立に情報を抽出することが可能となる。
副情報パターンは映像データが改ざんされた時,その改ざん位置の検出を目的としたものである。図14は副情報パターンについて示したもので,同図(a)は,透かしパターンpi(σ, x , y) とそのスペクトルを,(b)は副情報パターンm(x, y)を示し,パターンの黒領域(m(x, y)=0の領域)をBayer型の市松パターンBayer(x, y)で画像に埋め込む。同図(c)は透かしパターンと副情報パターンもを合成したものである。透かしパターンのスペクトルは楕円リング状のパターンであるが,Bayer型の市松パターンから成る副情報パターンのスペクトルは,fx=fy=R/2なるナイキスト周波数に強いスペクトルを有し,同図(c)のスペクトルに示すようにブロックの4端近傍にスペクトルが集中する。従って,透かしパターンと副情報パターンのスペクトルの重なりはなく干渉は生じないため,それぞれ独立に情報を抽出することが可能となる。
図15に副情報の映像への埋め込みのフローを示す。まず,事前に,
副情報パターン:m(x, y),
Bayerパターン:Bayer(x, y),
反転Bayerパターン: 1-Bayer(x, y) ,
を用意する(90)。ここで,Bayer(x, y)は{0, 1} に規格化した市松パターンで有る。まず,kフレーム(最初は=0)に埋め込みを開始する。埋め込みはブロック毎に行われ,m(x, y)=0 の領域にBayerパターンで,m(x, y)=1 の領域は位相シフトした透かしパターンで埋めこむ(92)。kフレームの全ブロックが終了すると,kを+1して次のフレーム(k+1フレーム)に移る(93)。同様に埋め込みはブロック毎に行われるが,m(x, y)=0 の領域に反転Bayerパターンで,m(x, y)=1 の領域は透かし埋め込みで説明した反転透かしパターンで位相シフトして埋め込む(94)。フレームが終了すると再びkを+1して(96),次のフレームへ移る。全フレームが終了すると(95),埋め込みが終了する(97)。
副情報パターン:m(x, y),
Bayerパターン:Bayer(x, y),
反転Bayerパターン: 1-Bayer(x, y) ,
を用意する(90)。ここで,Bayer(x, y)は{0, 1} に規格化した市松パターンで有る。まず,kフレーム(最初は=0)に埋め込みを開始する。埋め込みはブロック毎に行われ,m(x, y)=0 の領域にBayerパターンで,m(x, y)=1 の領域は位相シフトした透かしパターンで埋めこむ(92)。kフレームの全ブロックが終了すると,kを+1して次のフレーム(k+1フレーム)に移る(93)。同様に埋め込みはブロック毎に行われるが,m(x, y)=0 の領域に反転Bayerパターンで,m(x, y)=1 の領域は透かし埋め込みで説明した反転透かしパターンで位相シフトして埋め込む(94)。フレームが終了すると再びkを+1して(96),次のフレームへ移る。全フレームが終了すると(95),埋め込みが終了する(97)。
副情報のパターンの埋め込みは,透かしの埋め込みで用いられる位相シフトの影響を受けない。従って,フレームによらず,常に固定した位置に副情報パターンが埋め込まれ,改ざん時の位置検出に利用することが可能である。
副情報の抽出は,図16に示される副情報抽出用マスクパターンM0, M1を用いて,実空間にて,埋め込まれた画像に畳みこみ演算を行うことにより行われる。マスクパターンM0は,3x3のBayer型パターンで構成され,M1は,M0の反転パターンである。かかるM0, M1のパターンで埋め込み画像W(x,y)との畳み込みを行った結果をU0, U1とすると,U0, U1は以下のように表される。
U0=W(x, y)*M0
U1=W(x, y)*M1(8)
ただし,*は,畳み込み(convolution)を表す
かかる,U0, U1の差分から副情報パターンを検出できるが,コントラスト向上のために二値化された副情報の出力Moutを以下の式で得る。
Mout(x,y)= 1 |U0-U1|>Th の時 (9)
0 その他
ここでThは二値化のための閾値(定数)である。
U0=W(x, y)*M0
U1=W(x, y)*M1(8)
ただし,*は,畳み込み(convolution)を表す
かかる,U0, U1の差分から副情報パターンを検出できるが,コントラスト向上のために二値化された副情報の出力Moutを以下の式で得る。
Mout(x,y)= 1 |U0-U1|>Th の時 (9)
0 その他
ここでThは二値化のための閾値(定数)である。
副情報パターンの出力Moutは,改ざんがなければフレーム全面にパターンが現れる。改ざんがあれば,改ざん個所の副情報のパターンが消滅するため,改ざん場所の検知が可能となる。
副情報の抽出は,差分画像からもできる。むしろ差分画像の方が画像データが打ち消されているため,より高精度に抽出可能であるが,kフレームとk+1フレームのどちらにあるのかが分からない。従って,最初は差分画像で副情報の抽出を行い,改ざんがあると検出された場合,改めてそれぞれのフレームで改ざん検出を行う方法が合理的である。
次に埋め込み情報の除去及び書き換えについて説明する。透かしの除去はフレーム番号を指定して,フレーム単位で行う。式(4)あるいは式(6)から,
I(x, y)=W(x, y) - gain・ pi(σ,x, y) (10)
となり,透かしの埋め込まれた画像から分散ドットパターンpi(σ,x, y) にgainを乗じたパターンを減算することで求めることが出来る。
I(x, y)=W(x, y) - gain・ pi(σ,x, y) (10)
となり,透かしの埋め込まれた画像から分散ドットパターンpi(σ,x, y) にgainを乗じたパターンを減算することで求めることが出来る。
各フレームは反転パターンの指標σと位相シフト量(X,Y)から決まるカモフラージュパターンで埋め込まれているので,除去のためには各ブロックの埋め込まれた透かし情報,及び(σ, X, Y)の値を知る必要がある。透かし情報はフレームの透かしを抽出することで得られる。(σ, X, Y)は,埋め込み時に用いた疑似乱数発生器のSeed値とフレーム番号とブロック番号とから得ることが出来る。埋め込み時と同じSeed値を与えることにより,同一の乱数列を得ることが出来る。m番目の乱数をround[m] で表すと,kフレーム目のn番目のブロックにおける乱数値は round[kN+n] で表すことが出来る。ここでNは1フレームのブロック数である。従って,(k, n)を与えると,(σ, X, Y)のそれぞれの値を求めることができ,式(10)から透かし情報を除去することが出来る。
副情報パターンの除去は,秘密鍵に格納された副情報パターンと埋め込み時のgainを用いて,透かしの除去と合わせて埋め込み画像から減算することにより,埋め込み前の画像に戻すことが出来る。これは埋め込みソフトウェアで,gainを-gainの負値で埋め込まれた画像に同じ透かし情報及び副情報を埋め込むことで除去することができる。その後,新たに別の透かし情報を埋め込むことが出来る。
以上,透かし情報及び副情報の埋め込みと抽出及び除去について説明した。図17は,960×540サイズ(HD/2サイズ)の映像を用いて透かし情報と副情報の埋め込みと抽出の実験を行ったものである。32×32のブロックサイズで四値のグリーンノイズ・ドットパターンで120文字を埋め込んだ。同図(a)は埋め込んだ動画像のkフレーム目とk+1フレーム目を取り出したもので,同図(b)は,kフレームとk+1フレームの差分画像,同図(c)は,透かし情報を抽出するためのスペクトル画像である。スペクトル画像から埋め込み情報が100%正しく抽出できている。(d)はkフレームから副情報を抽出したもので,フレーム全面に副情報パターンで覆われ,改ざんされていないことが分かる。
次に,本発明による動画像用電子透かし法における安全性について説明する。
安全性を保つためには,鍵に含まれるグリーンノイズ・ドットパターンの盗難や不法な検出を阻止する必要がある。そこで,本発明では,各映像毎にカモフラージュパターンを与える乱数のSeed値を異なる値にする。これにより,映像コンテンツが異なると埋め込み分散ターンが異なり,鍵を紛失しても異なる映像から透かしを除去することは出来ない。さらに,グリーンノイズ・ドットパターンの生成時に,各映像毎に異なるSeed値により発生させたパターンを用いることにより,分散ドットパターンが異なるため,鍵を紛失しても,その鍵で他の映像をアクセスすることは出来ない。
安全性を保つためには,鍵に含まれるグリーンノイズ・ドットパターンの盗難や不法な検出を阻止する必要がある。そこで,本発明では,各映像毎にカモフラージュパターンを与える乱数のSeed値を異なる値にする。これにより,映像コンテンツが異なると埋め込み分散ターンが異なり,鍵を紛失しても異なる映像から透かしを除去することは出来ない。さらに,グリーンノイズ・ドットパターンの生成時に,各映像毎に異なるSeed値により発生させたパターンを用いることにより,分散ドットパターンが異なるため,鍵を紛失しても,その鍵で他の映像をアクセスすることは出来ない。
一方,kフレームとk+1フレームの加算画像から透かしの除去を行うことが出来る。今,式(4)および式(6)を加算すると,透かし部分が打ち消し合い画像データが加算される。すなわち,
W(x, y)+W'(x,y)=I(x, y)+I'(x,y) + gain・( pi(σ,x, y)+ pi(σ',x, y))
≒2・I(x,y)
となり,埋め込み前の画像I(x,y)が得られる。こうして得られた映像は,動きのある部分では画像が平均化され,画質が低下する。また,フレーム数が1/2になる。このため,完全に元の映像には戻らないが,静止画に近い映像では元の映像に近いものが得られる。このため,何らかの対策が必要となる。
W(x, y)+W'(x,y)=I(x, y)+I'(x,y) + gain・( pi(σ,x, y)+ pi(σ',x, y))
≒2・I(x,y)
となり,埋め込み前の画像I(x,y)が得られる。こうして得られた映像は,動きのある部分では画像が平均化され,画質が低下する。また,フレーム数が1/2になる。このため,完全に元の映像には戻らないが,静止画に近い映像では元の映像に近いものが得られる。このため,何らかの対策が必要となる。
かかる問題を避けるため,本発明では各フレームの先頭8ブロックに何らかの検出パターン,例えば,フレーム番号をバイナリーに展開したものに副情報を重畳して埋め込む。8ブロックで四値の分散ドットパターンで埋め込むことで,0~65535のバイナリーで表したフレーム番号を埋めることが出来る。これは,30fpsの映像の36分に相当する。
かかるフレーム番号は透かし情報と区別して取り扱い,実際の透かし情報は9ブロック目から埋め込む。透かし情報はk+1フレームではkフレームの反転ドットパターンを用いるが,フレーム番号を埋め込む先頭8ブロックは反転パターンを用いず,全て同じように埋める。このため,差分画像では打ち消されるが,加算画像では打ち消されず残るため,フレーム番号と副情報パターン(改ざん検知パターン)は抽出でき,従って,透かし埋め込み部分が改ざんされた事と等価である。従って,かかる映像コンテンツが改ざんされたことが分かる。
かかるフレーム番号は透かし情報と区別して取り扱い,実際の透かし情報は9ブロック目から埋め込む。透かし情報はk+1フレームではkフレームの反転ドットパターンを用いるが,フレーム番号を埋め込む先頭8ブロックは反転パターンを用いず,全て同じように埋める。このため,差分画像では打ち消されるが,加算画像では打ち消されず残るため,フレーム番号と副情報パターン(改ざん検知パターン)は抽出でき,従って,透かし埋め込み部分が改ざんされた事と等価である。従って,かかる映像コンテンツが改ざんされたことが分かる。
ここで,透かしを除去するための秘密鍵について説明する。
グリーンノイズ・ドットパターンは,前述の様に初期乱数のseed値を変えることにより,異なったドットパターンが得られる。このSeed値をSeed0とする。Seed0により生成されたグリーンノイズ・ドットパターンを基本パターンと呼ぶ。基本パターンを内蔵した鍵を「オーナーキー」と呼ぶ。基本パターンは映像コンテンツのオーナー(著作権者)のいわば指紋のようなものである。同じオーナーの異なる映像データには,個別キーが用いられる。個別キーは基本パターンにSeed1,Seed2の値が内蔵されたもので,このキーで反転パターンの指標σと位相シフト量(X,Y)によるカモフラージュパターンが生成され,個別の映像コンテンツから透かし除去を行うことが出来る。
グリーンノイズ・ドットパターンは,前述の様に初期乱数のseed値を変えることにより,異なったドットパターンが得られる。このSeed値をSeed0とする。Seed0により生成されたグリーンノイズ・ドットパターンを基本パターンと呼ぶ。基本パターンを内蔵した鍵を「オーナーキー」と呼ぶ。基本パターンは映像コンテンツのオーナー(著作権者)のいわば指紋のようなものである。同じオーナーの異なる映像データには,個別キーが用いられる。個別キーは基本パターンにSeed1,Seed2の値が内蔵されたもので,このキーで反転パターンの指標σと位相シフト量(X,Y)によるカモフラージュパターンが生成され,個別の映像コンテンツから透かし除去を行うことが出来る。
異なるオーナーに対してはSeed0を異なる値で発生させた別の基本パターンとなるオーナーキーが生成され,そのオーナー所有のコンテンツ毎に個別キーが生成される。同じオーナーで,コンテンツの数が増えた場合は複数のオーナーキーを持っても良い。
このように,映像コンテンツごとに異なる秘密鍵を生成するが,これは透かしの除去の時のみ必要となり,透かしの抽出には鍵を必要としない。従って,透かし抽出用のソフトウェアはすべて共通で,1種類のみでよい。
以上の様に,本発明は, 高画質,大容量,高速,高安全性で,様々な運用形態で利用可能な動画用電子透かし法を提供するものである。著作権保護を目的とした運用形態では,動画像に透かしを埋め込んでも,再生時には目立たなく,鍵なしで抽出でき,ドライブレコーダや監視カメラなどへの応用では,映像の撮影に対してリアルタイムに埋め込みが可能であり,また,改ざん検出用の電子透かし法として用いられるなど,一つの電子透かし法で様々な運用形態で利用可能である。
1は動画撮影カメラ、2は映像モニター,3は映像を保存するメモリ,4はパーソナルコンピュータ(PC)、5はPC内のROM,6はRAM,7は電子透かし抽出プログラムなどを内蔵するプログラムメモリ,8はデータメモリ,9はキーボード,10は通信機能,11はCPU,30はカメラセンサ,31は透かし埋め込み処理,32はフレームバッファ,33はH264エンコーダ,34は透かし入り映像データの出力,35はカメラCPUを表す。
Claims (3)
- 映像データの各フレームを複数のブロックに分割し,ブロック毎にそのスペクトル強度が高周波数域と低周波数域で低下したグリーンノイズ特性を示すグリーンノイズ・ドットパターンを含む分散ドットパターンで画像データに埋め込む動画用の電子透かし方法において、
かかる分散ドットパターンを秘密鍵に保存し,
透かしの埋め込みは,k番目(kは任意のフレーム番号)のフレームに対しては,ブロック毎に透かし情報に対応した分散ドットパターンで,k+1番目のフレーム に対してはkフレームで使用した分散ドットパターンの反転パターンをブロック毎に埋め込むことで行い,
透かし情報の抽出は,映像データをデコード後,フレームに展開し,抽出したいフレームk‘(k’は任意のフレーム番号)とk‘+1番目のフレームの画像データの差分画像を求め,差分画像をブロックに分割し,ブロック毎にスペクトルを求め,そのスペクトル形状から秘密鍵なしで埋め込み情報を抽出することで行い,
透かしの除去は,秘密鍵と,抽出された透かし情報を用いて透かし情報を取り除き,埋め込み前の画像に戻すことが出来る,
ことを特徴とする動画用電子透かし方法。 - kフレームの透かし埋め込みは,乱数発生器から得られたブロック毎にランダムな反転パターンの指標σ 及び位相シフトパターンのシフト量 X,Y を用いた分散ドットパターン;
p’i(σ, x, y)= pi(σ, (x + X) mod R, (y + Y) mod R)
ただし,pi(σ,x, y)は反転パターン指標σのドットパターン,
mod R はRを法とする剰余
を用いて,
k+1フレームの埋め込みは,kフレームと同じ透かし情報,反転パターンの指標σ 及び位相シフト量 X,Y を用いた分散ドットパターン;
p’i(σ’, x , y)= pi( (σ+ 4) mod 8, (x + X) mod R, ( y + Y) mod R)
を用いて,
W(x, y)=I(x, y) + gain・ p’i(σ’, x , y)
ただし,W(x, y)は透かしの埋め込まれた画像
I(x, y)は,埋め込み前の画像
gainは埋め込みの強度
となるように埋め込み,
透かしの抽出は,抽出したいフレームの位置にかかわらず共通の抽出ソフトウェアで抽出を行うことが出来,
秘密鍵は,分散ドットパターンおよびカモフラージュ・パターン生成の乱数発生器のSeed値を含み,
透かしの除去は,かかる秘密鍵と,抽出された透かし情報,およびフレーム番号を用いて透かし情報を取り除き,埋め込み前の画像に戻すことが出来る
ことを特徴とする請求項1に記載の動画用電子透かし方法。 - 分散ドットパターンは,Bayerパターンで構成された副情報パターンを含み,
埋め込みは ,前記グリーンノイズ・ドットパターンと副情報パターンを合成したパターンを用いて埋め込まれ,
副情報の抽出は,実空間(画素空間)にてBayerパターンで構成されたマスクを用いて抽出を行い,
秘密鍵は,分散ドットパターン,副情報パターンおよびカモフラージュ・パターン生成の乱数発生器のSeed値を含み,
透かし及び副情報の除去は,秘密鍵,抽出された透かし情報,及びフレーム番号を用いて,埋め込み前の画像に戻すことが出来る,
ことを特徴とする請求項2に記載の動画用電子透かし方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022125192A JP2024021961A (ja) | 2022-08-05 | 2022-08-05 | 動画用電子透かし方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022125192A JP2024021961A (ja) | 2022-08-05 | 2022-08-05 | 動画用電子透かし方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024021961A true JP2024021961A (ja) | 2024-02-16 |
Family
ID=89855237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022125192A Pending JP2024021961A (ja) | 2022-08-05 | 2022-08-05 | 動画用電子透かし方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024021961A (ja) |
-
2022
- 2022-08-05 JP JP2022125192A patent/JP2024021961A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6885757B2 (en) | Method and apparatus for providing an asymmetric watermark carrier | |
US7853040B2 (en) | Covert and robust mark for media identification | |
US7298865B2 (en) | Secure robust high-fidelity watermarking | |
Queluz | Authentication of digital images and video: Generic models and a new contribution | |
JP2003032641A (ja) | ビデオ信号に情報を挿入することを容易にするための方法およびビデオ信号を保護することを容易にするための方法 | |
US8135168B2 (en) | System for embedding data | |
US9639910B2 (en) | System for embedding data | |
US7574004B2 (en) | Image display method and image display processor | |
Lu et al. | Lossless information hiding in images | |
JP5508896B2 (ja) | 画像処理方法 | |
KR101200345B1 (ko) | 점진적 차이값 히스토그램 기반의 가역 워터마킹을 이용한 블록단위 영상 인증방법 | |
Garcia Freitas et al. | Secure self-recovery watermarking scheme for error concealment and tampering detection | |
Kumar et al. | A reversible high embedding capacity data hiding technique for hiding secret data in images | |
JP2024021961A (ja) | 動画用電子透かし方法 | |
Arab et al. | Comparison of Data Hiding Techniques for Video Watermarking Applications | |
Gupta | Improving Security for Video Watermarking | |
Kesharwani et al. | Survey on data hiding in encrypted images | |
KR100751389B1 (ko) | 디지털 영상의 워터마킹 방법 | |
AGRAWAL | A Survey on Information Hiding Technique Digital Watermarking | |
Goyal et al. | Comparative Study of Spatial Watermarking of Various Video formats | |
Lin | CERIAS Tech Report 2005-128 VIDEO AND IMAGE WATERMARK SYNCHRONIZATION | |
Lin | CERIAS Tech Report 2005-56 VIDEO AND IMAGE WATERMARK SYNCHRONIZATION | |
WO2004114201A2 (en) | Method and apparatus for providing an asymmetric watermark carrier | |
Doërr et al. | VIDEO WATERMARKING | |
Surya et al. | A REVIEW PAPER ON AN MICRO IMAGE REAL REVERSIBLE OPTICAL REPRODUCTION |