(57)【要約】【課題】電子透かしの埋め込み処理が高速化する。【解決手段】本発明の電子透かし埋め込み方法及び装置は、映像をキャプチャーし、画像フレームとして入力し、入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボードと、電子透かしのパターンを透かしパターンとして格納するメモリとを備え、逐次的にかつ規則的に変化する変化情報に対応して、透かしパターンを生成し、生成した透かしパターンをメモリに格納し、ビデオ入出力ボードからの入力画像フレームに対応する変化情報をキーとして、透かしパターンを検索し、検索した透かしパターンを入力画像フレームに電子透かしとして埋め込んだ画像フレームを前記ビデオ入出力ボードに出力する。【選択図】図１
2010258645.tif 000002
【特許請求の範囲】
【請求項１】
映像をキャプチャーし、画像フレームとして入力し、前記入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボードと、前記電子透かしのパターンを透かしパターンとして格納するメモリとを備えた電子透かし埋め込み装置における電子透かし埋め込み方法であって、
逐次的にかつ規則的に変化する変化情報に対応して、前記透かしパターンを生成し、前記生成した前記透かしパターンを前記メモリに格納し、
前記ビデオ入出力ボードからの前記入力画像フレームに対応する前記変化情報をキーとして、前記透かしパターンを検索し、
前記検索した透かしパターンを前記入力画像フレームに電子透かしとして埋め込んだ画像フレームを前記ビデオ入出力ボードに出力することを特徴とする電子透かし埋め込み方法。
【請求項２】
請求項１記載の電子透かし埋め込み方法であって、前記逐次的にかつ規則的に変化する変化情報は時刻情報であり、前記透かしパターンを検索するキーは、前記ビデオ入出力ボードから入力した前記入力画像フレームを処理する現在時刻情報を含むことを特徴とする電子透かし埋め込み方法。
【請求項３】
請求項１記載の電子透かし埋め込み方法であって、前記変化情報が位置情報であることを特徴とする電子透かし埋め込み方法。
【請求項４】
請求項１記載の電子透かし埋め込み方法であって、前記透かしパターンを格納する前記メモリはオンメモリＤＢであることを特徴とする電子透かし埋め込み方法。
【請求項５】
映像をキャプチャーし、画像フレームとして入力し、前記入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボードと、前記電子透かしのパターンを透かしパターンとして格納するバッファメモリと、第１および第２のＣＰＵを備えた電子透かし埋め込み装置における電子透かし埋め込み方法であって、
前記第１のＣＰＵは、逐次的にかつ規則的に変化する変化情報に対応して、前記透かしパターンをに生成し、前記生成した前記透かしパターンを前記バッファメモリに格納し、
前記第２のＣＰＵは、前記ビデオ入出力ボードからの前記入力画像フレームの入力に対応して、前記バッファメモリから前記透かしパターンを入力し、
前記入力した透かしパターンを前記入力画像フレームに電子透かしとして埋め込んだ画像フレームを前記ビデオ入出力ボードに出力することを特徴とする電子透かし埋め込み方法。
【請求項６】
映像をキャプチャーし、画像フレームとして入力し、前記入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボード、
前記電子透かしのパターンを透かしパターンとして格納するメモリ、
逐次的にかつ規則的に変化する変化情報に対応して、前記透かしパターンを生成し、前記生成した前記透かしパターンを前記メモリに格納する透かしパターン構築処理部、
前記ビデオ入出力ボードからの前記入力画像フレームに対応する前記変化情報をキーとして、前記透かしパターンを検索する透かしパターン呼び出し処理部、及び
前記検索した透かしパターンを前記入力画像フレームに電子透かしとして埋め込み、前記検索した透かしパターンを電子透かしとして埋め込んだ画像フレームを前記ビデオ入出力ボードに出力する重畳処理部を有することを特徴とする電子透かし埋め込み装置。
【請求項７】
請求項３記載の電子透かし埋め込み装置であって、前記逐次的にかつ規則的に変化する変化情報は時刻情報であり、前記透かしパターンを検索するキーは、前記ビデオ入出力ボードから入力した前記入力画像フレームを処理する現在時刻情報を含むことを特徴とする電子透かし埋め込み装置。
【請求項８】
請求項１記載の電子透かし埋め込み装置であって、前記変化情報が位置情報であることを特徴とする電子透かし埋め込み装置。
【請求項９】
請求項１記載の電子透かし埋め込み装置であって、前記透かしパターンを格納する前記メモリはオンメモリＤＢであることを特徴とする電子透かし埋め込み装置。
【請求項１０】
映像をキャプチャーし、画像フレームとして入力し、前記入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボード、
前記電子透かしのパターンを透かしパターンとして格納するバッファメモリ、
逐次的に変化する変化情報に対応して、前記透かしパターンをに生成し、前記生成した前記透かしパターンを前記バッファメモリに格納する第１のＣＰＵ、及び
前記ビデオ入出力ボードからの前記入力画像フレームの入力に対応して、前記バッファメモリから前記透かしパターンを入力し、前記入力した透かしパターンを前記入力画像フレームに電子透かしとして埋め込んだ画像フレームを前記ビデオ入出力ボードに出力する第２のＣＰＵを有することを特徴とする電子透かし埋め込み装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルコンテンツに情報を埋め込む電子透かし技術に関し、その電子透かし埋め込み方法及び装置に関する。
【背景技術】
【０００２】
不正に利用されうるコンテンツの著作権保護や身元確認が可能な技術の一つとして、電子透かし技術がある。電子透かし技術は、コンテンツを微少に変更することによって、見た目に分からないように識別情報などの任意の情報をコンテンツの中に埋め込み、検出する技術である。埋め込んだ情報は、フォーマット変換などの処理を経た後でも、検出できるため、コンテンツの著作権主張、流通経路追跡、真正性証明などに応用できる。例えば、電子透かしを用いて映像の再生時刻の異変を検知する方法が、特許文献１、非特許文献１に開示されている。このように、電子透かしを真正性証明に用いるためには、コンテンツにタイムコードなどの真正性情報を埋め込んでおき、これを検出して整合性を確認することによって、改ざんの有無が検知可能となる。
【０００３】
しかし、電子透かし技術の対象となるコンテンツには、動画、静止画、音などがある。これらのデータはデータサイズが大きいため、電子透かし埋め込み処理には、多くの処理時間が必要であった。
【０００４】
電子透かしの埋め込み速度の高速化に係わる技術として、例えば、特許文献２、特許文献３、特許文献４がある。
【０００５】
特許文献２は、「コンテンツデータへの電子透かし情報の埋め込み処理を、予備処理と本処理との２つに分ける。予備処理では、コンテンツに対して埋め込み可能性分析処理を行い、許容変化レベルを示す埋め込み強度マップを作成、保持する。本処理では、埋め込み強度マップに示されている当該部位での特徴値の許容変化レベルと当該ビットのビット値とに応じて定まる変化量分、変化させることで、当該電子透かし情報をコンテンツへ埋め込む手段」（段落００１５〜００１８）を提供する。
【０００６】
特許文献３は、「電子透かしの埋め込み情報を生成するステップと、当該コンテンツから一定時間長毎に所定長のコンテンツ要素を抽出し、当該コンテンツ要素１つに対して、ｍ種類（ｍは１以上の整数）の電子透かしを埋め込み、ｍ種類のコンテンツ要素を生成するステップと、前記電子透かしの埋め込み情報に基づいて、当該コンテンツと電子透かしを埋め込んだコンテンツ要素を組み合わせて、１つのコンテンツを生成するステップを有する」（段落００２３）手段を提供する。さらに、特許文献２は、「コンテンツに依存しないｍ種類の電子透かしパターンを電子透かし埋め込みに先立って予め生成」（段落００５１）する手段を提供する。
【０００７】
特許文献４は、「透かし情報の埋め込み対象となるコンテンツ情報が備える動画とし
ての性質を考慮して変更個所と変更強度を最適化するために必要な動きベクトルと変動量を検出する処理をMPEG等の圧縮処理と共用することで、一連の処理の負荷を減らす技術」（段落００１０）を提供する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−２５９３１４号公報
【特許文献２】特開２００２−０２７２２５号公報
【特許文献３】特開２００７−２０７０５１号公報
【特許文献４】特開２００４−０４８２１９号公報
【非特許文献】
【０００９】
【非特許文献１】Ｔａｋａａｋｉ  Ｙａｍａｄａ，  Ｙｏｓｈｉｙａｓｕ  Ｔａｋａｈａｓｈｉ，  Ｙａｓｕｈｉｒｏ  Ｆｕｊｉｉ，  Ｒｙｕ  Ｅｂｉｓａｗａ，  Ｈｉｒｏｓｈｉ  Ｙｏｓｈｉｕｒａ  ａｎｄ  Ｉｓａｏ  Ｅｃｈｉｚｅｎ：  “Ｅｖａｌｕａｔｉｏｎ  ｏｆ  Ｉｎｔｅｇｒｉｔｙ  Ｖｅｒｉｆｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｎｔｅｎｔ  Ｕｓｉｎｇ  Ｄｉｇｉｔａｌ  Ｗａｔｅｒｍａｒｋｉｎｇ”，  ｉｎ  ｂｏｏｋ  ｃｈａｐｔｅｒ  ｏｆ  Ｇｅｏｒｇｅ  Ａ．Ｔｓｉｈｒｉｎｔｚｉｓ，  Ｍａｒｉａ  Ｖｉｒｖｏｕ，  Ｒｏｂｅｒｔ  Ｊ．Ｈｏｗｌｅｔｔ，  Ｌａｋｈｍｉ  Ｃ．Ｊａｉｎ（Ｅｄｓ．）  Ｎｅｗ  Ｄｉｒｅｃｔｉｏｎｓ  ｉｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｍｕｌｔｉｍｅｄｉａ，  Ｓｔｕｄｉｅｓ  ｉｎ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｖｏｌ．１４２，  Ｓｐｒｉｎｇｅｒ，  ｐｐ．３６３−３７２（２００８）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献２、特許文献３は、１個のコンテンツに繰り返してｎ種類の識別情報を埋め込むことにより、ｎ個の異なる透かし埋め込みコンテンツを得る場合に有効な方式である。特許文献４は、１個のコンテンツに、１種類の識別情報を埋め込んで、１個の透かし埋め込みコンテンツを得る場合に有効な方式である。しかし、１個のコンテンツに、ｎ種類の識別情報を埋め込んで、１個の透かし埋め込みコンテンツを得る場合の対応方法については触れられていない。
【００１１】
従来の電子透かし埋め込み高速化方法は、埋め込む情報が固定的であることを前提として、電子透かし埋め込み処理の一部を前処理としてあらかじめ実行しておき、以後の処理で前処理の演算結果だけを利用することにより、システム全体としての高速化を実現している。その前処理の例としては、特許文献２では埋め込み可能性分析処理、特許文献３では透かしパターン生成処理、特許文献４では動きベクトルと変動量の検出処理、である。しかし、映像ストリームに埋め込む情報を一定であると、電子透かしの強度が弱いので、埋め込む情報を変化させることが望ましい。電子透かしとして埋め込む情報を変化させると、これらの従来技術の前提が成立しなくなるため、従来技術では電子透かしの埋め込み処理を高速化できない。
【課題を解決するための手段】
【００１２】
本発明は、逐次的にかつ規則的に変化する変化情報を電子透かしとして映像、音などのコンテンツに埋め込む、電子透かし埋め込み方法及び装置を提供する。
【００１３】
本発明の態様は、映像をキャプチャーし、画像フレームとして入力し、入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボードと、電子透かしのパターンを透かしパターンとして格納するメモリとを備えた電子透かし埋め込み装置及びその電子透かし埋め込み方法であって、逐次的にかつ規則的に変化する変化情報に対応して、透かしパターンを生成し、生成した透かしパターンをメモリに格納し、ビデオ入出力ボードからの入力画像フレームに対応する変化情報をキーとして、透かしパターンを検索し、検索した透かしパターンを入力画像フレームに電子透かしとして埋め込んだ画像フレームを前記ビデオ入出力ボードに出力する。
【００１４】
本発明の他の態様は、逐次的にかつ規則的に変化する変化情報は時刻情報であり、透かしパターンを検索するキーは、ビデオ入出力ボードから入力した入力画像フレームを処理する現在時刻情報を含む。
【００１５】
本発明のさらに他の態様は、変化情報が位置情報である。
【００１６】
本発明のさらに他の態様は、透かしパターンを格納するメモリはオンメモリＤＢである。
【００１７】
本発明のさらに他の態様は、映像をキャプチャーし、画像フレームとして入力し、入力画像フレームに電子透かしを埋め込んだ画像フレームを出力するビデオ入出力ボードと、電子透かしのパターンを透かしパターンとして格納するバッファメモリと、第１および第２のＣＰＵを備え、第１のＣＰＵは、逐次的にかつ規則的に変化する変化情報に対応して、透かしパターンをに生成し、生成した透かしパターンをバッファメモリに格納し、第２のＣＰＵは、ビデオ入出力ボードからの入力画像フレームの入力に対応して、バッファメモリから透かしパターンを入力し、入力した透かしパターンを入力画像フレームに電子透かしとして埋め込んだ画像フレームをビデオ入出力ボードに出力する。
【００１８】
本発明のさらに、コンテンツの例は映像コンテンツであり、その具体的な態様は次のとおりである。
【００１９】
［システム準備］
埋め込む情報が変化する場合においても、タイムコードのように変化の仕方が規則的であり予測可能な場合には、事前に算出可能である。そこで、すべてのタイムコード（例えば１００年分など）を事前に予測し、これに対応する透かしパターンを事前に計算しておくことにより、計算した透かしパターンをデータベース（ＤＢ）に安全に格納しておく。これを透かしパターンＤＢと呼ぶ。透かしパターンＤＢは、システムインストール時など事前に生成あるいは安全に配布する。
【００２０】
［電子透かし埋め込みの前処理］
電子透かし埋め込みシステム起動時に、透かしパターンＤＢを安全にメモリに読み込む。
【００２１】
［電子透かし埋め込みの後処理］
ユーザ指示によって、映像が入力され始めると、タイムコードの埋め込み処理を、映像フレームごとの逐次処理として行う。ここで、埋め込み時には、現在時刻に対応するタイムコードの値をキーとしてＤＢ検索し、これに対応する透かしパターンを得る。タイムコードの埋め込み処理は、入力画像と透かしパターンの重畳処理として行う。
【００２２】
［システム運用］
透かしが埋め込まれた映像を録画機や配信設備などに出力する。録画された映像、あるいは、別の媒体上にフォーマット変換された映像の中から、埋め込まれた情報を検出することにより、連続するタイムコードの整合性を検証する。すなわち、映像に改ざんがあったかどうかを判定する。
【００２３】
この態様によれば、タイムコードの埋め込み処理は、高速に実行可能となる。
【００２４】
さらに、映像入力に対して、リアルタイム処理でタイムコード埋め込みができるため、映像出力を録画機などに接続することにより、映像記録システムや映像配信システムを容易に構成できる。
【００２５】
さらに、タイムコード以外にも、車載カメラにおけるＧＰＳ情報など、変化情報を逐次映像に埋め込むことができる。
【００２６】
さらに、映像以外にも、会議録音における音声データを対象としても、変化情報を逐次映像に埋め込むことができる。
【発明の効果】
【００２７】
本発明によれば、タイムコードなどの逐次的にかつ規則的に変化する変化情報を映像、音などのコンテンツに電子透かしとして埋め込むので、電子透かしの埋め込み処理が高速化する。
【図面の簡単な説明】
【００２８】
【図１】第１の実施例における、電子透かし埋め込み装置の構成図である。
【図２】電子透かし埋め込み、検出処理の概要と透かしパターンの概念を説明する図である。
【図３】電子透かし埋め込み装置を含めたシステムの運用例である。
【図４】改ざん検知の概要を示す説明図である。
【図５】電子透かしとしてのタイムコードの埋め込みの概要を示す説明図である。
【図６】埋め込み情報と録画機の同期についての説明図である。
【図７】電子透かしとしてタイムコード情報を埋め込む重畳処理部のＰＡＤである。
【図８】Ｎフレーム埋め込み処理のＰＡＤである。
【図９】映像コンテンツの改ざん検知処理のＰＡＤである。
【図１０】改ざん行為の種類を特定する検出結果診断処理のＰＡＤである。
【図１１】透かしパターンＤＢのフィールド構造の説明図である。
【図１２】透かしパターンＤＢを生成する処理のＰＡＤである。
【図１３】第２の実施例における電子透かし埋め込み装置の構成図である。
【図１４】第３の実施例における電子透かし埋め込み装置の構成図である。
【図１５】第３の実施例における電子透かし埋め込みにおけるタイミングチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００３０】
本実施形態に係わる装置は、図示していない、インターネットなどのネットワークで接続されていて、互いにデータを送受信できる。また、各装置は、可搬媒体を用いて、データをやり取りしてもよい。以下に説明する各装置における処理は、メモリ、ＣＰＵ、ディスク、入出力装置を備えた、パソコンなど一般的な情報処理装置上で、入出力や画像処理などを制御するプログラムを実行することにより具現化される各処理部が実行する。プログラムは予め、各装置の記憶装置に格納されていても良いし、必要なときに、入出力装置と各装置が利用可能な媒体を介して、他の装置から上記記憶装置に導入されてもよい。媒体とは、たとえば、入出力装置に着脱可能な記憶媒体、または通信媒体（すなわち、インターネットなどのネットワークまたはネットワークを伝搬する搬送波やディジタル信号）を指す。また、以下に説明する電子透かし埋め込み装置と録画機、再生機、電子透かし検出装置が同一の情報処理装置上に構成されてもよい。
【００３１】
実施例１〜３は、動画像(映像)をコンテンツとし、タイムコードを埋め込み、検出する電子透かし埋め込み検出システムについて説明する。
【００３２】
なお、これらの実施形態で対象とするコンテンツも動画に限らず、音など別種のデータを対象としてもよい。
【実施例１】
【００３３】
図１に、第１の実施例における電子透かし埋め込みを実現する電子透かし埋め込み装置の構成図を示す。
【００３４】
カメラ１０１、ＰＣ１０２、録画機１０３を映像信号線によって接続し、時刻情報源１０４とネットワーク接続する。カメラ１０１の代わりに、映像信号を送り出す再生機、録画再生機、放送受信機、映像配信設備などを用いてもよい。録画機１０３の代わりに、映像再生機、映像モニタ、放送送信機、映像配信設備などを用いてもよい。時刻情報源１０４は更に上位の認証機関などと接続して、信頼性の高い時刻情報を送受信してもよい。送信された時刻情報と同送されたタイムスタンプ証明書を用いて、時刻の正当性、真正性の検証をしてもよい。時刻情報源１０４にＧＰＳ機能、ＧＰＳアンテナを備え、ＧＰＳ受信波に含まれる時刻情報を用いてもよい。時刻情報源１０４の代わりにＰＣ１０２内のタイマ１０８を用いてもよいし、時刻情報源１０４を参照して、ＰＣ１０２内のタイマ１０３の調整を行っても良い。
【００３５】
ＰＣ１０２には、ビデオ入出力ボード１１１、タイマ１０８を備え、さらに、メモリ上に搭載した、（１）透かしパターン構築処理部１１４、（２）電子透かし埋め込み処理部１１２、（３）ディスク管理処理部１１３の３つの処理部を備える。ディスク管理処理部１１３は全体または一部をディスク装置上に搭載してもよい。さらに、鍵１０６と証明書１０７を耐タンパ領域に安全に格納した、着脱可能な可搬媒体１０５を備える。
【００３６】
ビデオ入出力ボード１１１は、カメラ１０１から入力された映像信号を入力映像１０９として、連続的にキャプチャし、電子透かし埋め込み処理部１１２にキャプチャーした映像フレーム１２３を送出する。さらに、ビデオ入出力ボード１１１は、電子透かし埋め込み処理部１１２で処理した映像フレーム１２４を受け取り、出力映像１１０として録画機１０３に出力する。入力映像１０９と出力映像１１０は同期し、カメラ１０１から入力された入力映像１０９に電子透かしが埋め込まれた後に、録画機１０３に出力される。画像に伴い音も同様に処理される。
【００３７】
（１）透かしパターン構築処理部１１４は、さらに鍵設定処理１１５、時刻設定処理１１６、透かしパターン生成処理１１６の３つの処理部を備える。鍵設定処理部１１５は、可搬媒体１０５に格納された鍵１０６と証明書１０７を読み込み、可搬媒体１０５が正規の媒体であり、利用者が正規の利用者であり、電子透かし埋め込み装置のコアとなるＰＣ１０２が正規の装置であることの相互認証、すなわち、プロダクト認証（媒体の認証）、ユーザ認証(利用者の認証)、機器認証（ＰＣ１０２の認証）を実行する。それぞれの証明書を用意してもよいし、単一の証明書で一括認証してもよい。証明書の検証のために、ネットワークを介して外部の検証装置に照会してもよい。時刻設定処理部１１６は、時刻情報源１０４あるいはタイマ１０８からの時刻情報を用いて時刻を設定する。透かしパターン生成処理部１１６は、現在の時刻情報、あるいはユーザによって指定された時刻情報に応じたタイムコード情報に対応する透かしパターンを生成する。時刻情報（タイムコード）を含むタイムコード情報については後述する。鍵設定処理部１１５が読み込んだ鍵１０６を用いて、生成した透かしパターンを暗号化してもよい。透かしパターンの暗号化鍵を、可搬媒体上の鍵１０６を用いて暗号化してＤＢ格納してもよいし、鍵１０６を直接用いてもよい。暗号化方式は、共通鍵暗号、置換、ＩＤベース暗号などによる。透かしパターン生成処理部１１６が生成した透かしパターン、あるいは暗号化された透かしパターンは、ディスク管理処理部１１３に出力する。
【００３８】
（２）ディスク管理処理部１１３は、現在時刻あるいはユーザによって指定された未来の時刻に応じて生成された透かしパターン、あるいは、暗号化された透かしパターンを受け取り、透かしパターンＤＢ１１７に登録する。透かしパターンＤＢ１１７は、タイムコード情報に対応して透かしパターンを格納する。アクセス制御部１１８は、鍵設定処理部１１５が読み込んだ証明書１０７を検証処理１１９を経て、透かしパターンＤＢ１１７へアクセスする。
【００３９】
（３）電子透かし埋め込み処理部１１２は、入力された映像フレーム１２３に電子透かしを埋め込み、埋め込み後の画像を映像フレーム１２４として出力する。電子透かし埋め込み処理部１１２は、初期化処理部１２０と映像フレーム毎の後処理部１２６とを含む。初期化処理部１２０は、鍵設定処理部１１５が読み込んだ可搬媒体１０５上の鍵１０６と証明書１０７を用いて、機器認証、プロダクト認証、ユーザ認証を行い、透かしパターンＤＢ１１７がディスク装置上にある場合には、アクセス制御部１１８を用いて、高速アクセスが可能なメモリ上の透かしパターンＤＢ１２１（オンメモリＤＢ）として読み込む。透かしパターンＤＢ１２１へのアクセスにおいては、証明書１０７を検証し、アクセス制御を行う。映像フレーム毎の後処理部１２７は、さらに透かしパターン呼び出し処理部１２５と重畳処理部１２６とを含む。映像フレーム毎の後処理１２７では、まずビデオ入出力ボード１１１から映像フレーム１２３を読み込む。次に、透かしパターン呼び出し処理部１２５が、現在の時刻に対応するタイムコード情報を生成して、タイムコード情報をキーとして透かしパターンＤＢ１２１を検索し、対応する透かしパターンを得る。重畳処理１２６は、映像フレーム１２３に検索した透かしパターンを重畳し、電子透かしが埋め込まれた映像フレーム１２４として、ビデオ入出力ボード１１１に出力する。映像フレーム毎の後処理部１２７では、これらの一連の処理をリアルタイムに映像フレームごとに実行する。
【００４０】
なお、ディスク管理処理部１１３を設けて、生成した透かしパターンを透かしパターンＤＢ１１７に格納した後に、メモリ上の透かしパターンＤＢ１２１に読み込むように説明したが、生成した透かしパターンを透かしパターンＤＢ１２１に直接(ディスクを介さずに)格納しても良い。
【００４１】
図２は、電子透かし埋め込み、検出処理の概要と透かしパターンの概念を説明する図である。動画コンテンツは複数の映像フレーム（以下、フレームと呼ぶ）から構成される。１枚あるいは複数のフレーム集合に、タイムコード情報２００を含む電子透かしを埋め込むには、タイムコード情報２００に対応する透かしパターン２０１を生成し、入力画像のフレームに生成した透かしパターン２０１を重畳することによって、透かしパターンをフレームへ埋め込む。電子透かし埋め込みコンテンツ２０２は、連続的に全てのフレームに電子透かし埋め込みを施したものである。電子透かし埋め込みコンテンツ２０２に対して、フォーマット変換や圧縮符号化などの画像処理２０３が加わったものが検査対象コンテンツ２０４である。検査対象コンテンツ２０４から透かしパターン２０５を検出し、検出した透かしパターン２０５に対応するタイムコード情報２０６を得る。
【００４２】
タイムコードは、例えば、２０００年１月１日午前０時０分０秒などの絶対時刻からの経過時間としての相対値を用いる。タイムコード情報には、セグメント位置、セグメント番号、タイムコード、コンテンツＩＤ、ユーザＩＤ、カメラ番号、装置番号、録画機番号などを含める。映像を所定の時間（例えば１分）単位で、複数のセグメントに分割する。タイムコード情報に含まれるセグメント位置は、映像の真正性証明を行う開始位置、終了位置などのマークを示す。セグメント番号は、映像の真正性証明対象となるセグメント内の通し番号であり、時刻順にインクリメントする。映像が３０ｆｐｓのフレームレートの場合、タイムコードの分解能は１／３０秒でよい。。例えば、分解能が１／３０秒で１０００年分のタイムコードを表現するためには、４０ｂｉｔあれば十分である（３０フレーム×６０秒×６０分×２４時間×３６５日×１０００年  ＝  ９４６、０８０、０００、０００  ＜  ２40）。さらに効率よく少ないビット数で表現するためには可逆圧縮符号化する。タイムコードのデータ量に他のＩＤを含めたタイムコード情報としては、さらに２０〜３０ビットを加えたデータ量を用いる。
【００４３】
図３は、電子透かし埋め込み装置３０１を含めたシステムの運用例である。カメラ１０１から入力された映像は、電子透かし埋め込み装置３０１によって、電子透かしが埋め込まれる。電子透かし埋め込み装置３０１は、図１のＰＣ１０２に可搬媒体１０５を装着し、時刻情報源１０４と接続したものと技術的に等価である。さらに、録画機１０３によって、電子透かし入りの映像が録画され、映像記録媒体３０４に記録される。映像記録媒体３０４に何らかの改ざんの疑惑が生じた場合には、再生機３０２によって、映像記録媒体３０４を再生し、電子透かし検出装置３０３によって、改ざんの有無を検証し、検証結果を出力する。電子透かし検出装置３０３は、図９、図１０を用いて後に説明するように、改ざんを検知する。
【００４４】
図４は、改ざん検知の概要を示す説明図である。映像の改ざんには、削除、挿入、差し替え、複写などがある。挿入や差し替えは、映像に埋め込まれたタイムコードを含む電子透かしの未検出状態により検知する。また、タイムコードを検出しても、再生時刻と照合することにより、タイムコードの整合性を検証できるため、削除や複写を検知する。このようにして、映像に加えられた改ざんを検知する。
【００４５】
図５は、電子透かしとしてのタイムコードの埋め込みの概要を示す説明図である。電子透かしはｄ秒間（Ｎ枚）のフレーム集合に対して、同一のタイムコードｔを埋め込む。１フレームごとでもよい。図５において、時刻０のタイムコードｔ1は、時刻０からのＮフレームに対して埋め込み、時刻ｄのタイムコードｔ2は、時刻ｄからのＮフレームに対して埋め込む。
【００４６】
図６は、埋め込み情報と録画機の同期についての説明図である。すでに説明したように、映像を構成する複数のフレームには、時間経過に従って、適切なタイムコード情報が電子透かしとして埋め込まれる。カメラ１０１、電子透かし埋め込み装置３０１、録画機１０３が接続されているとき、これらの機器に同時に電源を投入しても、機器ごとの起動時間の相違によって、適切に同期が取れない。
【００４７】
図６は、分かり易くするために、１フレームに１つのタイムコードに対応するタイムコード情報を電子透かしとして埋め込む場合を例に、電子透かし埋め込み装置３０１の出力映像のフレームの流れを示している。複数フレームに１つのタイムコードを埋め込む場合もある。電子透かし埋め込み装置３０１において、出力映像の先頭の埋め込み情報（タイムコード情報）は、セグメント位置としてのＯｐｅｎと日時時刻である。その後、所定時間ごとの映像セグメントが並ぶ。各映像セグメントには、セグメント位置はＳｔａｒｔで開始し、セグメント内の通し番号となるセグメント番号ＴＣ１、ＴＣ２、・・・、ＴＣｍ（ここでは、タイムコードを用いている）をセグメント位置として付与し、最後のセグメント位置ではＥｎｄで、一つのセグメントの終了を示す。続けて次の映像セグメントが開始される。電子透かし埋め込み装置３０１の停止時には、出力映像の最後の埋め込み情報が、セグメント位置Ｃｌｏｓｅと日時時刻である。
【００４８】
図６では、録画機１０３の起動が電子透かし埋め込み装置３０１より遅れた場合を図示している。録画開始時の先頭のフレームに埋め込まれたセグメント番号としてのタイムコードはＴＣ３である。このとき、録画された映像として、時刻ＴＣ３以前の映像が存在しないことが正常なのか、削除されたのかを区別できない。後述するように、セグメント位置ＳｔａｒｔとＥｎｄとの両方が含まれているセグメント単位で改ざんを検知する。ＳｔａｒｔとＥｎｄの一方が含まれていない、リードアウト、リードイン領域及びそれらの外側のフレームの改ざんは検知できない。そこで、電子透かし埋め込み装置３０１と録画機１０３との相互通信により、この問題を解消する。録画機１０３は、録画開始可能となる時刻を電子透かし埋め込み装置３０１に連絡する。電子透かし埋め込み装置３０１は、録画開始可能なＴＣ３時点のセグメント番号をセグメント位置Ｏｐｅｎに変更して、出力する。具体的には、セグメント位置がＯｐｅｎであり、日時時刻がタイムコードＴＣ３のタイムコード情報に対応する電子透かしパターンを選択して、ＴＣ３時点の映像に埋め込む。これにより、リードイン領域が生じない。録画終了時のリードアウト領域についても同様に処理する。
【００４９】
リードイン領域、リードアウト領域は、カメラ１０１と電子透かし埋め込み装置３０１との間にも存在する。リードイン領域、リードアウト領域に適切に対応するように、カメラ１０１と電子透かし埋め込み装置３０１が相互通信してもよい。
【００５０】
図７は、電子透かしとしてタイムコード情報を埋め込む重畳処理部１２６のＰＡＤ（Problem  Analysis Diagram）である。なお、電子透かしとしてタイムコード情報を埋め込むとは、タイムコード情報に対応した透かしパターンを透かしパターンＤＢ１２１から検索し、検索した透かしパターンを電子透かしとして対応する映像フレームに重畳することである。ステップ７０１において、システムを初期化する。ステップ７０２において、キャプチャした映像フレームをバッファに格納する。カメラ電源を切る際に、映像信号の終わりが事前連絡無しに突然来る場合があり、映像信号終了後にも、バッファ内の画像を処理することによって、適切に真正性証明を可能とすることができる。
【００５１】
ステップ７０３において、映像開始時刻情報をタイムコード情報に設定する。映像開始時刻情報として現在時刻を取得し、セグメント位置としてＯｐｅｎを設定する。具体的には、現在時刻をタイムコードとし、Ｏｐｅｎをセグメント位置としたタイムコード情報とする。
【００５２】
ステップ７０４において、新たな映像フレームをバッファに取り込むと共に、ステップ７０３で設定したタイムコード情報をキーとして透かしパターンＤＢ１２１を検索し、検索した透かしパターンを電子透かしとしてバッファに格納されている映像フレームに重畳し、出力する。この処理をＮ回繰り返す。ステップ７０４のＮフレーム埋め込み処理の詳細は、図８を用いて後述する。なお、Ｎフレーム埋め込み処理を実行する際に、Ｎの値とステップ７０３で設定したタイムコード情報とをパラメータとして渡す。
【００５３】
ステップ７０５において、入力映像がとぎれ、キャプチャーした映像フレームが無くなるまで、ステップ７０６〜ステップ７１２の処理を繰り返す。
【００５４】
ステップ７０６において、入力映像は所定の時間ごとにセグメントとして分割し、セグメント単位でステップ７０７〜ステップ７１２の処理を繰り返す。
【００５５】
ステップ７０７において、あるセグメントを示すｉ（ｉ＝０、・・・、ｍ＋１）番目の埋め込み窓を設定する。ここで、一つのセグメントは、Ｎ枚の映像フレームを持つとする。
【００５６】
埋め込み窓とは、１または複数の連続したフレームに対して電子透かしを用いて繰り返し同じ情報を埋め込むときに、そのフレームに対して設定される埋め込み操作の単位をいう。埋め込み窓ごとに、電子透かし埋め込み情報を１つ設定する。
【００５７】
本実施例では、１セグメントと埋め込み窓１つは技術的に等価である。埋め込み窓を構成するＮ枚の連続したフレーム群の単位に対して埋め込み窓を設定する。このときの埋め込み窓の大きさはＮである。１セグメント内でフレームごとの埋め込み操作は、Ｎ回行われる。
【００５８】
ステップ７０８において、ｉ＝０（最初の埋め込み窓）のとき、ステップ７０９において、その埋め込み窓のセグメント位置としてＳｔａｒｔを設定する。ステップ７０８において、ｉ＝ｍ＋１（最後の埋め込み窓）のとき、ステップ７１０において、その埋め込み窓のセグメント位置としてＥｎｄを設定する。ステップ７０９及びステップ７１０のいずれの場合も現在時刻ｔｉｍｅを取得する。ステップ７０９及びステップ７１０は、具体的には、現在時刻をタイムコードとし、Ｓｔａｒｔ又はＥｎｄをセグメント位置としたタイムコード情報とする。ステップ７０８において、その他の場合には、ステップ７１１において、その埋め込み窓のセグメント番号として、ｉ×Ｎを設定する。具体的には、ｉ×Ｎをセグメント番号としたタイムコード情報とする。
【００５９】
ステップ７１２において、Ｎフレーム分、映像フレーム１２３を逐次取り込みながら、バッファに格納された映像フレームにタイムコード情報を埋め込み、タイムコード情報を埋め込んだ映像フレーム１２４として出力する。ステップ７１２は、具体的には、ステップ７０９〜ステップ７１１のいずれかで設定したタイムコード情報をキーとして透かしパターンＤＢ１２１を検索し、検索した透かしパターンを電子透かしとしてバッファに格納されている映像フレームに重畳し、出力する。このＮフレーム埋め込み処理をＮ回繰り返す。Ｎフレーム埋め込み処理へのパラメータに関しては前述の通りである。ただし、ユーザ指示、あるいは、入力映像１０９の終了に伴って、割り込み処理が発生すると、処理を中断して、ステップ７１３に進む。
【００６０】
ステップ７１３において、映像終了時刻情報をタイムコード情報に設定する。映像終了時刻情報として現在時刻を取得し、セグメント位置としてＣｌｏｓｅを設定する。具体的には、現在時刻をタイムコードとし、Ｃｌｏｓｅをセグメント位置としたタイムコード情報とする。
【００６１】
ステップ７１４において、Ｎフレーム分、バッファに蓄積された映像フレームにタイムコード情報を埋め込み、出力映像フレームに書き出す処理を行う。具体的には、設定したタイムコード情報をキーとして透かしパターンＤＢ１２１を検索し、検索した透かしパターンを電子透かしとしてバッファに格納されている映像フレームに重畳し、出力する。このＮフレーム埋め込み処理をＮ回繰り返す。ただし、入力映像フレームの取り込みは止める。必要に応じて、カメラ、録画機と同期のための通信を行っても良い。
【００６２】
図８は、タイムコード埋め込み方法の中心的な処理部分であるＮフレーム埋め込み処理のＰＡＤである。ステップ８０１において、鍵設定処理部１１５が読み込んだ鍵１０６、証明書１０７に基づいてＤＢアクセスに対する認証処理を行う。
【００６３】
ステップ８０２において、設定され、パラメータとして渡されたタイムコード情報をキーにして、透かしパターンＤＢ１２１を検索し、透かしパターンあるいは暗号化透かしパターンを得る。ステップ８０３において、透かしパターンが暗号化されていれば、鍵１０６を用いて復号化する。
【００６４】
ステップ８０４において、パラメータとして渡されたＮの値に応じて、Ｎフレーム分の繰り返し処理を行う。繰り返し数確認のための変数ｋを設定し、処理が一巡するたびに、ｋを１からＮに順次インクリメントする。
【００６５】
ステップ８０５において、入力映像の有無をチェックを行い、入力映像が終了していれば、ステップ８０６において、終了フラグを設定し、現在の処理を抜け出す。ステップ８０５において、映像信号が継続していれば、ステップ８０７において、キャプチャーした映像フレームをバッファに格納する。
【００６６】
ステップ８０８において、バッファから（ｉ×Ｎ＋ｋ）番目の画像フレームを読み出す。ステップ８０９において、透かしパターンＤＢ１２１の検索で得た透かしパターンと、画像フレームとの整合性を確認する。例えば、両者のサイズが異なる場合には、透かしパターンを繰り返して書き込む処理を行う。ステップ８１０において、バッファから読み込んだ画像フレームの分析を行い、埋め込み強度を決定する。この分析には、例えば、特許文献２の埋め込み可能性分析処理を用いてもよい。
【００６７】
ステップ８１１において、透かしパターンの画像フレームへの重畳を行うことにより、透かし埋め込み画像を生成する。
【００６８】
ステップ８１２において、透かし埋め込み画像を出力の映像フレームのバッファに格納する。ステップ８０４に従って、Ｎフレームを処理していれば、終了する。
【００６９】
本実施例では、ステップ７０２において、映像フレームを十分にバッファリングする。ステップ８０７及びステップ８０８では、バッファに対してキュー操作、すなわちファーストインファーストアウトの操作を行い、得られたフレームデータに対して以降の処理を行う。このため、入力映像がとぎれた後にも、いくつかのフレームがバッファに残っている状態を保つ。バッファサイズを大きく設定（最小値２Ｎ）すれば、ステップ７１４の実行時点で、映像がとぎれた時点からさかのぼったＮフレーム以上のフレームがバッファに存在する。
【００７０】
なお、ステップ７０７の処理をＮフレーム単位で完結させるために、ステップ８０６で設定された終了フラグが立っているときに、ステップ７０７の繰り返し処理を抜け出し、ステップ７１３の処理に進む。
【００７１】
図９は、電子透かしとして埋め込まれたタイムコード情報を用いて、映像コンテンツの改ざん検知処理のＰＡＤである。
【００７２】
ステップ９０１において、本処理で用いるメモリ上の変数を初期化する。
ＴＣｃｕｒ  ＝  ＴＣｐｒｅ  ＝  ｎＤ  ＝  ０
ＡｔｔａｃｋＴｙｐｅ［０］  ＝  “Ｎｏ  Ａｔｔａｃｋ”、ｉ  ＝  ０
ステップ９０２において、冒頭の映像フレームの電子透かしの検出を行い、タイムコード情報のセグメント位置がＯｐｅｎであることを確認する。
【００７３】
ステップ９０３において、映像フレームの入力が続く間、繰り返し処理の制御を行う。ただし、映像は、所定の長さで区切られた複数のセグメントから構成する。
【００７４】
ステップ９０４において、セグメントの開始条件の検証を行う。すなわち、電子透かしの検出を行い、タイムコード情報のセグメント位置がＳｔａｒｔであることを確認する。
【００７５】
ステップ９０５において、セグメント内部の検証の繰り返し処理の制御を行う。ただし、１つのセグメントと検出窓は１対１対応しない。
【００７６】
検出窓とは、１または複数の連続したフレームを用いて電子透かし検出を行う操作の単位をいう。検出に成功すれば、検出窓ごとに、電子透かし埋め込み情報が１つ検出される。
【００７７】
本実施例では、埋め込み窓の大きさがＮのとき，検出窓の大きさはＮ／２とする。
【００７８】
圧縮符号化などの画像処理を経ると、埋め込み窓と検出窓の同期がずれることがある。このため、検出時に用いる映像データの中で、あるセグメント（あるいは埋め込み窓）の先頭フレームがどこにあるかは、検出者に明示的に伝えられない場合がある。検査者がその情報を入手し、埋め込み窓と検出窓の同期が完全に取れれば、１つのセグメントに対して、検出窓が２つ含まれる。同期が取れない場合においても、１つのセグメントに対して、少なくとも１つの検出窓が含まれる。
【００７９】
ステップ９０６において、ｉ番目の検出窓を設定し、検出窓の範囲にある（Ｎ／２）枚の映像フレームに対する繰り返し処理の制御を行う。
【００８０】
ステップ９０７において、映像フレームの入力がなくなれば、ステップ９０８において、終了フラグを設定して、処理を抜け出す。ステップ９０７において、映像フレームの入力があれば、ステップ９０９において、続きの画像をキャプチャする。  ステップ９１０において、キャプチャされた画像の重畳処理を行う。
【００８１】
ステップ９１１において、ｉ番目の検出窓にある、（Ｎ／２）枚の映像フレームの重畳データから電子透かしの検出を行う。
【００８２】
ステップ９１２において、検出結果を用いて、映像改ざんの有無について、診断を行う。この診断については、図１０を用いて後述する。
【００８３】
ステップ９１３において、セグメントの終了条件の検証を行う。すなわち、電子透かしの検出を行い、タイムコード情報のセグメント位置がＥｎｄであることを確認する。
【００８４】
ステップ９１４において、映像終了箇所の映像フレームの電子透かしの検出を行い、タイムコード情報のセグメント位置がＣｌｏｓｅであることを確認する。電子透かし埋め込み装置３０１よりも先に録画機１０３を停止していた場合には、ＥｎｄやＣｌｏｓｅの判定ができない場合がある。この場合、前述したリードアウトタイムについての考え方を適用すればよい。
【００８５】
図１０は、映像の改ざん検知を行う処理の中で、改ざん行為の種類を特定する検出結果診断処理のＰＡＤである。図９におけるｉ番目の検出窓に対する処理である。
【００８６】
ステップ１００１において、電子透かしの検出ができるかどうかの判定を行い、検出できなければ、ステップ１００２に進む。ステップ１００１において、検出できれば、ステップ１００６に進む。
【００８７】
ステップ１００２において、電子透かし連続未検出回数の値ｎＤをインクリメントする。
【００８８】
ステップ１００３において、ΔＴＣ＝ＴＣｃｕｒ−ＴＣｐｒｅを計算し、ΔＴＣがゼロあるいは１の場合であって、かつ、ｎＤが１の場合には、ステップ１００４に進む。ステップ１００４において、現在の検出窓に対する攻撃内容ＡｔｔａｃｋＴｙｐｅ［ｉ］を”Ｎｏ  Ａｔｔａｃｋ”に設定する。ステップ１００３において、上記条件が未成立の場合には、ステップ１００５に進む。ステップ１００５において、現在の検出窓に対する攻撃内容ＡｔｔａｃｋＴｙｐｅ［ｉ］を”Ｕｎｃｏｎｆｉｒｍｅｄ”に設定する。すなわち、判断保留とする。
【００８９】
ステップ１００６において、ＴＣｐｒｅにＴＣｃｕｒを格納し、ＴＣｃｕｒには、電子透かしとして検出したタイムコードのセグメント番号を格納する。なお、ステップ１００６は、ステップ１００１における電子透かしの検出ができたという判定に続く処理である。
【００９０】
ステップ１００７において、一つ前の検出窓の判定結果ＡｔｔａｃｋＴｙｐｅ［ｉ−１］が”Ｕｎｃｏｎｆｉｒｍｅｄ”であった場合には、ステップ１００８に進む。その他の場合には、ステップ１００９に進む。
【００９１】
ステップ１００８において、ｉ番目の検出窓の検出結果に基づき、以前の検出窓での診断結果ＡｔｔａｃｋＴｙｐｅ［１］〜ＡｔｔａｃｋＴｙｐｅ［ｉ−１］のうち、”Ｕｎｃｏｎｆｉｒｍｅｄ”と暫定判定されていた箇所は、削除、挿入などの改ざんであったと判断して、”Ａｔｔａｃｋｅｄ”に置き換える。
【００９２】
ステップ１００９において、ΔＴＣ＝ＴＣｃｕｒ−ＴＣｐｒｅを計算する。さらに、ΔＴＣがゼロあるいは１の場合であって、かつ、ｎＤが０または１の場合には、現在の検出窓に対する攻撃内容ＡｔｔａｃｋＴｙｐｅ［ｉ］を”Ｎｏ  Ａｔｔａｃｋ”に設定する。あるいは、この条件を満たさない場合には、ＡｔｔａｃｋＴｙｐｅ［ｉ］を”Ａｔｔａｃｋｅｄ”に設置する。
【００９３】
ステップ１０１０において、電子透かし連続未検出回数の値ｎＤをゼロに戻す。
【００９４】
図１１は、透かしパターンＤＢ１１７のフィールド構造の説明図である。
【００９５】
透かしパターンＤＢ１１７は３つのテーブルから構成し、セグメント番号テーブル１１０１、セグメント位置テーブル１１０２、日付時刻情報テーブル１１０３を備える。セグメント番号テーブル１１０１は、セグメント番号１１０４をキーとして、透かしパターンデータ１１０５を登録検索する。セグメント位置テーブル１１０２は、セグメント位置１１０６をキーとして、透かしパターンデータ１１０７を登録検索する。日付時刻情報テーブル１１０３は、日付時刻情報（日付１１０８、時刻１１０９、フレーム１１１０）をキーとして、透かしパターンデータ１１１１を登録検索する。タイムコード情報は、これら３つのキーを備えたものである。さらに、カメラＩＤ、ユーザＩＤや機器ＩＤなどを組み合わせて、ＤＢ管理してもよい。テーブルを分割するのではなく、統合されたタイムコード情報をキーとして、統合された透かしパターンデータを保持してもよい。
【００９６】
透かしパターンは、キーとなっている情報を一意に可逆符号化したものであり、例えば、特許文献２に記述のある「電子透かしパターン」を用いてもよい。
【００９７】
図１２は、透かしパターンＤＢ１１７を生成する処理のＰＡＤである。
【００９８】
ステップ１２０１において、鍵１０６、証明書１０７を用いた認証を行う。この認証は、機器認証、プロダクト認証、ユーザ認証を含む。
【００９９】
ステップ１２０２において、ユーザによって予め設定される、映像フレームが入力が完了すると想定される時刻までのタイムコード情報について繰り返し制御を行う。
【０１００】
ステップ１２０３において、タイムコード情報を符号化する。ステップ１２０４において、符号化情報を２次元形状として、透かしパターンの基本形に変換する。透かしパターンの基本形は、映像フレームの幅×高さの大きさに比べて普通は小さい。大きい場合は、複数フレームに分けて分割格納すればよい。
【０１０１】
ステップ１２０５において、入力映像の映像フレーム全体での繰り返し処理の制御を行う。
【０１０２】
ステップ１２０６において、透かしパターンの基本形を繰り返し配置して、画像の幅×高さの大きさに変換する。ここで変換しなくても、後で重畳するときに変換してもよい。
【０１０３】
ステップ１２０７において、透かしパターンを暗号化する。暗号化しなくてもよい。電子透かしはアルゴリズムを秘匿することによってセキュリティを担保する技術なので、暗号化によって、透かしパターン情報が攻撃者の目にさらされるリスクを除くことができる。
【０１０４】
ステップ１２０８において、タイムコード情報をキーとして、透かしパターン、あるいは、暗号化透かしパターンを透かしパターンＤＢ１１７に登録する。ステップ１２０２に戻って、所定のタイムコード情報に対応して透かしパターンを生成し終えていえれば、処理を終了する。そうでなければ、以上の処理を繰り返し実行する。
【０１０５】
なお、ステップ１２０２において、タイムコード情報は、ユーザによって予め設定されなくても、未来の時刻として容易に予測可能である。埋め込む情報として、ＧＰＳ情報の場合、位置の情報となる。現在のＧＰＳによる測位制度は１０ｍ程度であり、地球上のすべての位置を事前に網羅的に算出しておくことも可能である。１０ｍ精度での緯経度表現であっても、５４ビット程度で表現可能である。この程度の情報量は、電子透かしとして埋め込む情報量として問題とならない。
【実施例２】
【０１０６】
第２の実施例について説明する。図１３は、第２の実施例における電子透かし埋め込みを実現する電子透かし埋め込み装置の構成図である。
【０１０７】
図１に示した第１の実施例同様に、カメラ１０１、ＰＣ１０２、録画機１０３を映像信号線によって接続し、時刻情報源１０４とネットワーク接続する。第１の実施例との主要な相違点は、鍵１３０７、証明書１３０９に加えて、透かしパターン構築処理１１４とディスク管理処理１１３に相当する処理（時刻設定処理１３０２、透かしパターン生成処理１３０３、タイマ１３０４、透かしパターンＤＢ１３０５、アクセス制御１３０６、検証１３０８）を、ＩＣカードのような演算装置を含む可搬媒体１３０１上に搭載し、ＰＣ１０２に対して、透かしパターンデータに対するアクセス制御をより安全に実装していることである。タイマ１３０４はＰＣ１０２のタイマ１０８と異なり、可搬媒体１３０１上に搭載しているため、時刻改ざんなどの攻撃を受けにくい。さらに、ＰＣ１０２側にも鍵１３１１、証明書１３１０を搭載し、認証手段１３１２によって、不正な可搬媒体によるシステム制御を拒絶することができる。可搬媒体１３０１は、ＰＣ１０２に着脱可能としているが、ＰＣ１０２内メモリやディスクに固着させてもよい。
【実施例３】
【０１０８】
第３の実施例について説明する。図１４は、第３の実施例における電子透かし埋め込みを実現する電子透かし埋め込み装置の構成図である。
【０１０９】
第１の実施例との主たる相違点は、パターンバッファ（Ｉ）１４０７、パターンバッファ（ＩＩ）１４０８を介して、並列処理技術を導入していることである。並列処理として、プロセスＡをＣＰＵ＿Ａ１４０１上で実行し、プロセスＢをＣＰＵ＿Ｂ１４０２上で実行している。
【０１１０】
プロセスＡでは、次の３つの処理（１）（２）（３）を行い、全体を統括制御Ａ１４０６が管理する。（１）埋め込み情報設定処理１４０３により、タイムコードなどの変化情報を設定する。（２）この埋め込み情報に対応する透かしパターンを、透かしパターン生成処理１４０４により作成する。（３）生成した透かしパターンは、パターンバッファ選択格納処理１４０５によって、パターンバッファ（Ｉ）１４０７、パターンバッファ（ＩＩ）１４０８のいずれかに格納される。
【０１１１】
プロセスＢでは、次の３つの処理（１）（２）（３）を行い、全体を統括制御Ｂ１４０９が管理する。（１）フレーム読み込み処理１４０９により、入力映像フレーム１２３を入力バッファに格納する。（２）埋め込み処理１４１０により、パターンバッファ（Ｉ）１４０７、パターンバッファ（ＩＩ）１４０８のいずれかと、入力映像フレーム１２３の画像データを重畳し、出力映像フレーム１２４を生成する。（３）フレーム書き出し処理１４１１により、出力映像フレーム１２４を出力バッファに格納する。
【０１１２】
図１５は、第３の実施例における電子透かし埋め込みにおけるタイミングチャートである。
【０１１３】
ＣＰＵ＿Ａ１４０１上のプロセスＡは、透かしパターンを作成し、パターンバッファ（Ｉ）１４０７、パターンバッファ（ＩＩ）１４０８のいずれかに格納する。ＣＰＵ＿Ｂ１４０２上のプロセスＢは、映像入出力と同期を取りながら、パターンバッファのデータと入力映像フレームの重畳処理を行う。
【０１１４】
図１５では、パターンバッファ（Ｉ）１４０７上の透かしパターンは、第１フレーム、および、第２フレームの２枚に適用され、その間に生成された別の透かしパターンは、パターンバッファ（ＩＩ）１４０８に格納される。次の埋め込み処理では、パターンバッファ（ＩＩ）１４０８が読み出され、第３フレームに重畳される。
【０１１５】
透かしパターン生成処理１４０４の処理時間が長くて、プロセスＡ、プロセスＢを単一のプロセスとして実行すると映像と同期が取れない場合に、このような並列処理が適する。
それぞれの処理時間を下記のように変数として書き表す。
透かしパターン生成処理１４０４の処理時間  Ｐ（ｍｓ）、
埋め込み処理１４１０（重畳処理）の処理時間  Ｑ（ｍｓ）
フレーム読み込み処理１４０９の処理時間  Ｒ（ｍｓ）
フレーム書き出し処理１４１１の処理時間  Ｓ（ｍｓ）
映像フレームレートを３０ｆｐｓとすると、Ｒ＋Ｑ＋Ｓ≦３０（ｍｓ）であることがリアルタイム処理の必要条件である。また、図１５では、パターンバッファが２枚の場合の例を挙げたが、透かしパターン生成処理１４０４の処理時間が更に長い場合には、パターンバッファ枚数（Ｔ枚）が増えて、より多くのメモリ領域が必要となる。必要なパターンバッファの枚数には、Ｔ≧１＋Ｑｕｏｔｉｅｎｔ（Ｐ、（Ｑ＋Ｓ＋Ｒ））の関係がある。Ｑｕｏｔｉｅｎｔ（ａ、ｂ）は、ａをｂで割った時の商を示す。
【０１１６】
映像フレーム１枚分を計算してみると、リアルタイム処理に必要となるパターンバッファの枚数が計算できる。統括制御Ｂ１４０９において、映像入出力との同期が取れなくなると、画像入出力ボードからの同期エラーシグナルが返る。統括制御Ｂ１４０９および、統括制御Ａ１４０６は、上記処理時間ＰＱＲＳを計測しており、必要パターンバッファ枚数Ｔを求めることにより、パターンバッファを増設する。この作用によって、映像入出力のリアルタイム処理と同期を取ることができる。パターンバッファは、透かしパターンを格納するバッファメモリであり、それが２枚(２面)のとき、交替バッファとして動作する。３枚以上のときはリングバッファとして動作する。
【０１１７】
以上の実施形態では、電子透かしの中に埋め込む、逐次的に変化する変化情報として、時刻情報(タイムコード)を用いて説明した。逐次的に変化する変化情報は、それを埋め込んだ透かしパターンを変化させるとともに、変化の規則性を利用することにより事前に透かしパターンを用意しておくことができる。したがって、逐次的にかつ規則的に変化する変化情報は時刻情報に限らず、変化に規則性がある情報であれば良い。その例として簡単に触れた位置情報であっても、変化に規則性を持たせればよい。極端には、上昇順または下降順の数値情報であっても、数値情報の差分が一定であるなどの規則性があればよい。変化情報として時刻情報を用いる場合は、入力映像フレームと現在時刻を対応させるように説明したが、入力映像フレームに対応させる変化情報は、ある時点で対応付けられていればよい。たとえば、映像入力開始時の先頭映像フレームに変化情報として０を対応付け、入力される映像フレームに順次上昇順の数値を対応付けても良い。
【０１１８】
以上、本発明の実施の形態を具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１１９】
１０１：カメラ、１０２：ＰＣ、１０３：録画機、１０４：時刻情報源、１０５：可搬媒体、１０６：鍵、１０７：証明書、１０８：タイマ、１１１：ビデオ入出力ボード、１１２：電子透かし埋め込み処理部、１１３：ディスク管理処理部、１１４：透かしパターン構築処理部、１１７：透かしパターンＤＢ、１２１：透かしパターンＤＢ、３０１：電子透かし埋め込み装置、３０３：電子透かし検出装置。
【図１】
2010258645.tif 000003
【図２】
2010258645.tif 000004
【図３】
2010258645.tif 000005
【図４】
2010258645.tif 000006
【図５】
2010258645.tif 000007
【図６】
2010258645.tif 000008
【図７】
2010258645.tif 000009
【図８】
2010258645.tif 000010
【図９】
2010258645.tif 000011
【図１０】
2010258645.tif 000012
【図１１】
2010258645.tif 000013
【図１２】
2010258645.tif 000014
【図１３】
2010258645.tif 000015
【図１４】
2010258645.tif 000016
【図１５】
2010258645.tif 000017