(57)【要約】【課題】  透かしの埋め込み位置の候補が複数ある場合、真の埋め込み位置を判定するために、想定される透かしのデータを与える必要があった。【解決手段】  位置情報生成部６０は、秘密鍵Ｋにもとづいて、Ｌ個の埋め込み位置Ｐの候補を生成する。抽出部４２は、Ｌ個の埋め込み位置Ｐの候補のそれぞれから、埋め込みホスト信号Ｗ’に埋め込まれた透かしデータＸを抽出してその軟値Ｚを検出する。検出値評価部６２は、Ｌ個の軟値Ｚのそれぞれについて各成分の絶対値和を評価し、セレクタ６４は検出値評価部６２による軟値Ｚの評価にもとづいて、真の埋め込み位置を判定する。セレクタ６４は、真の埋め込み位置から抽出された透かしデータＸの軟値ＺをＥＣＣ復号部４４に与える。ＥＣＣ復号部４４は、透かしデータＸの軟値Ｚを誤り訂正して復号し、透かし情報Ｉを出力する。【選択図】        図６
2006086901.tif 000002
【特許請求の範囲】
【請求項１】
電子透かしが埋め込まれるホストデータの埋め込み位置の候補を複数生成する位置情報生成部と、
前記ホストデータの前記複数の埋め込み位置の候補のそれぞれに前記電子透かしを埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、
前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から検出される透かしデータの検出値の相関係数により、当該電子透かしの耐性を評価する相関評価部と、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含むことを特徴とする電子透かし埋め込み装置。
【請求項２】
ホストデータに埋め込まれるべき電子透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、
前記複数の透かしデータの候補をそれぞれ前記ホストデータに埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、
前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から検出される透かしデータの検出値の相関係数により、当該電子透かしの耐性を評価する相関評価部と、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含むことを特徴とする電子透かし埋め込み装置。
【請求項３】
前記相関評価部は、前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から軟判定により検出される透かしデータの軟値の相関係数により、当該電子透かしの耐性を評価することを特徴とする請求項１または２に記載の電子透かし埋め込み装置。
【請求項４】
前記相関評価部は、前記複数の埋め込みホストデータの候補に対して有用性のある操作を施した上で、前記複数の埋め込みホストデータの候補から透かしデータを検出して前記耐性を評価することを特徴とする請求項１から３のいずれかに記載の電子透かし埋め込み装置。
【請求項５】
前記相関評価部は、前記埋め込みホストデータを圧縮符号化する際の量子化操作を前記複数の埋め込みホストデータの候補に施した上で、前記複数の埋め込みホストデータの候補から透かしデータを検出して前記耐性を評価することを特徴とする請求項１から３のいずれかに記載の電子透かし埋め込み装置。
【請求項６】
電子透かしが埋め込まれたホストデータの埋め込み位置の候補を複数生成する位置情報生成部と、
前記複数の埋め込み位置の候補のそれぞれを用いて前記ホストデータに埋め込まれた透かしデータの候補を複数抽出する抽出部と、
抽出された前記複数の透かしデータの候補の各々に関する検出値の有意性を評価する検出値評価部と、
前記検出値の有意性の評価結果に基づいて前記複数の埋め込み位置の候補の一つを真の埋め込み位置と判定し、前記真の埋め込み位置から抽出された透かしデータを選択して出力する選択部とを含むことを特徴とする電子透かし抽出装置。
【請求項７】
前記検出値評価部は、抽出された前記透かしデータの各ビットに関する軟値に基づいて前記有意性を評価し、前記選択部は、前記軟値に基づいて最も有意であると評価された透かしデータの候補の埋め込み位置を前記真の埋め込み位置と判定することを特徴とする請求項６に記載の電子透かし抽出装置。
【請求項８】
前記選択部は、前記軟値に基づいて最も有意であると評価された候補と次に有意であると評価された候補との間で前記有意性の評価に所定の閾値の差がない場合には、いずれの埋め込み位置の候補にも透かしデータが埋め込まれていないと判定することを特徴とする請求項７に記載の電子透かし抽出装置。
【請求項９】
前記検出値評価部は、抽出された前記透かしデータの各ビットに関する軟値の絶対値和を計算することにより前記有意性を評価し、前記選択部は、前記軟値の絶対値和が最大となる透かしデータの候補の埋め込み位置を前記真の埋め込み位置と判定することを特徴とする請求項６に記載の電子透かし抽出装置。
【請求項１０】
前記選択部は、前記軟値の絶対値和の最大値と２番目に大きい値との差が所定の閾値よりも小さい場合には、いずれの埋め込み位置の候補にも透かしデータが埋め込まれていないと判定することを特徴とする請求項９に記載の電子透かし抽出装置。
【請求項１１】
電子透かしデータが埋め込まれるホストデータの埋め込み位置の候補を複数生成し、それらの埋め込み位置の候補のそれぞれに前記透かしデータが埋め込まれた場合における当該電子透かしの耐性を、埋め込まれた透かしデータの真値と埋め込み後のホストデータから検出される透かしデータの検出値の相関により評価し、その評価が良好である前記埋め込み位置に前記透かしデータが埋め込まれた前記ホストデータを選択することを特徴とする電子透かし埋め込み方法。
【請求項１２】
ホストデータに埋め込まれるべき電子透かしデータをスクランブルして複数の透かしデータの候補を生成し、それらの透かしデータの候補がそれぞれ前記ホストデータに埋め込まれた場合における当該電子透かしの耐性を、埋め込まれた透かしデータの真値と埋め込み後のホストデータから検出される透かしデータの検出値の相関により評価し、その評価が良好である前記透かしデータの埋め込みホストデータを選択することを特徴とする電子透かし埋め込み方法。
【請求項１３】
電子透かしデータが埋め込まれたホストデータの埋め込み位置の候補を複数生成し、それらの埋め込み位置の候補のそれぞれから前記ホストデータに埋め込まれた透かしデータを抽出してその検出値の有意性を評価し、前記検出値の有意性の評価結果に基づいて前記複数の埋め込み位置の候補の一つを真の埋め込み位置と判定し、前記真の埋め込み位置から抽出された透かしデータを選択することを特徴とする電子透かし抽出方法。
【請求項１４】
電子透かしが埋め込まれるホストデータの埋め込み位置の候補を複数生成するステップと、
前記ホストデータの前記複数の埋め込み位置の候補のそれぞれに前記電子透かしを埋め込み、複数の埋め込みホストデータの候補を生成するステップと、
前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から検出される透かしデータの検出値の相関係数により、当該電子透かしの耐性を評価するステップと、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択するステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
ホストデータに埋め込まれるべき電子透かしデータをスクランブルして複数の透かしデータの候補を生成するステップと、
前記複数の透かしデータの候補をそれぞれ前記ホストデータに埋め込み、複数の埋め込みホストデータの候補を生成するステップと、
前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から検出される透かしデータの検出値の相関係数により、当該電子透かしの耐性を評価するステップと、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択するステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
電子透かしが埋め込まれたホストデータの埋め込み位置の候補を複数生成するステップと、
前記複数の埋め込み位置の候補のそれぞれを用いて前記ホストデータに埋め込まれた透かしデータの候補を複数抽出するステップと、
抽出された前記複数の透かしデータの候補の各々に関する検出値の有意性を評価するステップと、
前記検出値の有意性の評価結果に基づいて前記複数の埋め込み位置の候補の一つを真の埋め込み位置と判定し、前記真の埋め込み位置から抽出された透かしデータを選択するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子透かし技術に関し、特に電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法に関する。
【背景技術】
【０００２】
ここ数年、インターネット利用人口が急増し、インターネット利用の新たなステージともいえるブロードバンド時代に入ろうとしている。ブロードバンド通信では通信帯域が格段に広がるため、音声、静止画、動画などデータ量の大きいコンテンツの配信も気軽にできるようになる。このようなデジタルコンテンツの流通が盛んになると、コンテンツの著作権の保護がより一層求められることになる。
【０００３】
ネットワーク上に流通するコンテンツのデータは他人に容易にコピーされ、著作権に対する保護が十分ではないのが現状である。そこで著作権を保護するために、コンテンツの作成者や利用者の情報を電子透かしとしてコンテンツデータに埋め込む技術が開発されている。この電子透かし技術を用いることにより、ネットワーク上で流通するコンテンツデータから電子透かしを抽出して、不正利用を検出したり、不正コピーの流通経路を追跡することが可能となる。
【０００４】
本出願人は、特許文献１において、透かしを埋め込み易い位置を検出して、埋め込まれる透かしの耐性を強化することのできる電子透かし技術を提案している。
【特許文献１】特開２００３−２４４４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
電子透かしは、不正利用者による改ざんを防止するために、利用者には分からないようにコンテンツデータに埋め込まれる。しかしコンテンツデータは、流通過程や利用過程で、圧縮符号化や各種フィルタリングなどの信号処理が加えられたり、ユーザにより加工されたり、あるいは透かし情報が改ざんされるなど、さまざまな操作を受けることがあり、その過程で埋め込まれた電子透かしデータの一部が変更されたり、消失する可能性がある。したがって電子透かしはこういった操作に対する耐性が要求される。
【０００６】
特許文献１の電子透かし抽出方法では、電子透かしの埋め込み位置の候補が複数ある場合に、埋め込まれた透かしデータを想定される透かしデータとして与え、正しい埋め込み位置を判定して透かしデータを抽出する。埋め込まれている透かしを想定することができない場合にも適用できるように、透かしの抽出方法をさらに改良する余地があった。また、電子透かしの埋め込み時における透かしの耐性の評価の計算コストを減らして、計算量の面でもさらに改良する余地があった。
【０００７】
本発明はこうした状況に鑑みてなされたもので、その目的は、耐性の強い電子透かしを埋め込み、電子透かしの検出誤差を低減することの可能な技術の提供にある。また、別の目的は、電子透かしの耐性の評価において計算量の面で有利な技術の提供にある。また、さらに別の目的は、電子透かしの埋め込み位置の候補が複数ある場合に、埋め込まれた透かしが想定できなくても、真の埋め込み位置から電子透かしを抽出することのできる技術の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は電子透かし埋め込み装置に関する。この装置は、電子透かしが埋め込まれるホストデータの埋め込み位置の候補を複数生成する位置情報生成部と、前記ホストデータの前記複数の埋め込み位置の候補のそれぞれに前記電子透かしを埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から検出される透かしデータの検出値の相関係数により、当該電子透かしの耐性を評価する相関評価部と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含む。
【０００９】
本発明の別の態様も電子透かし埋め込み装置に関する。この装置は、ホストデータに埋め込まれるべき電子透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、前記複数の透かしデータの候補をそれぞれ前記ホストデータに埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から検出される透かしデータの検出値の相関係数により、当該電子透かしの耐性を評価する相関評価部と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含む。
【００１０】
「ホストデータ」は、電子透かしを埋め込む対象となるオリジナルデータであり、たとえば静止画、動画、音声などのコンテンツデータである。埋め込まれる電子透かしには、オリジナルデータの識別情報、作成者情報、利用者情報などが含まれる。その他、認証を目的として、ホストデータのダイジェストデータ、すなわちホストデータの特徴を端的に表したデータを電子透かしとして埋め込むことも可能である。
【００１１】
「電子透かしの耐性」とは、電子透かしの埋め込まれたホストデータが改変されるなどの攻撃を受けた場合や、埋め込みホストデータに圧縮符号化やフィルタリングなどの信号処理が施された場合など、埋め込みホストデータに対して何らかの操作が加えられた場合に電子透かしデータがもつ頑強性をいう。
【００１２】
前記相関評価部は、前記複数の埋め込みホストデータの候補の各々について、実際に埋め込まれた透かしデータの真値と前記埋め込みホストデータの候補から軟判定により検出される透かしデータの軟値の相関係数により、当該電子透かしの耐性を評価してもよい。透かしデータの真値が１または−１の二値である場合、相関係数は軟値の和演算のみで簡単に計算することができる。
【００１３】
前記相関評価部は、前記複数の埋め込みホストデータの候補に対して有用性のある操作を施した上で、前記複数の埋め込みホストデータの候補から透かしデータを検出して前記耐性を評価してもよい。有用性のある操作とは、たとえば圧縮符号化や各種フィルタリングなどの信号処理、スケーリングや回転などの幾何学的変換などである。前記相関評価部は、前記埋め込みホストデータを圧縮符号化する際の量子化操作を前記複数の埋め込みホストデータの候補に施した上で、前記複数の埋め込みホストデータの候補から透かしデータを検出して前記耐性を評価してもよい。
【００１４】
本発明のさらに別の態様は電子透かし抽出装置に関する。この装置は、電子透かしが埋め込まれたホストデータの埋め込み位置の候補を複数生成する位置情報生成部と、前記複数の埋め込み位置の候補のそれぞれを用いて前記ホストデータに埋め込まれた透かしデータの候補を複数抽出する抽出部と、抽出された前記複数の透かしデータの候補の各々に関する検出値の有意性を評価する検出値評価部と、前記検出値の有意性の評価結果に基づいて前記複数の埋め込み位置の候補の一つを真の埋め込み位置と判定し、前記真の埋め込み位置から抽出された透かしデータを選択して出力する選択部とを含む。
【００１５】
「検出値の有意性」とは、検出値が何らかの意味のある値をもつことを指し、特に抽出された透かしデータの値を判定する上で意味のある値をもつことを指す。
【００１６】
前記検出値評価部は、抽出された前記透かしデータの各ビットに関する軟値に基づいて前記有意性を評価し、前記選択部は、前記軟値に基づいて最も有意であると評価された透かしデータの候補の埋め込み位置を前記真の埋め込み位置と判定してもよい。軟値を用いることにより、透かしデータに関する検出値の有意性の評価精度を高め、真の埋め込み位置の判定精度を向上させることができる。また、軟値を用いることにより、真の埋め込み位置から検出される透かしデータの各ビットの検出精度を向上させることができる。
【００１７】
前記選択部は、前記軟値に基づいて最も有意であると評価された候補と次に有意であると評価された候補との間で前記有意性の評価に所定の閾値の差がない場合には、いずれの埋め込み位置の候補にも透かしデータが埋め込まれていないと判定してもよい。前記軟値に基づいて最も有意であると評価された候補と次に有意であると評価された候補との間で前記有意性の評価に所定の閾値の差がある場合にのみ、真の埋め込み位置を判定して透かしデータを検出することにより、透かしデータの誤検出を防ぐことができる。
【００１８】
本発明のさらに別の態様は電子透かし埋め込み方法に関する。この方法は、電子透かしデータが埋め込まれるホストデータの埋め込み位置の候補を複数生成し、それらの埋め込み位置の候補のそれぞれに前記透かしデータが埋め込まれた場合における当該電子透かしの耐性を、埋め込まれた透かしデータの真値と埋め込み後のホストデータから検出される透かしデータの検出値の相関により評価し、その評価が良好である前記埋め込み位置に前記透かしデータが埋め込まれた前記ホストデータを選択する。
【００１９】
本発明のさらに別の態様も電子透かし埋め込み方法に関する。この方法は、ホストデータに埋め込まれるべき電子透かしデータをスクランブルして複数の透かしデータの候補を生成し、それらの透かしデータの候補がそれぞれ前記ホストデータに埋め込まれた場合における当該電子透かしの耐性を、埋め込まれた透かしデータの真値と埋め込み後のホストデータから検出される透かしデータの検出値の相関により評価し、その評価が良好である前記透かしデータの埋め込みホストデータを選択する。
【００２０】
本発明のさらに別の態様は電子透かし抽出方法に関する。この方法は、電子透かしデータが埋め込まれたホストデータの埋め込み位置の候補を複数生成し、それらの埋め込み位置の候補のそれぞれから前記ホストデータに埋め込まれた透かしデータを抽出してその検出値の有意性を評価し、前記検出値の有意性の評価結果に基づいて前記複数の埋め込み位置の候補の一つを真の埋め込み位置と判定し、前記真の埋め込み位置から抽出された透かしデータを選択する。
【００２１】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２２】
本発明によれば、電子透かしの耐性が向上し、透かしの検出精度が改善する。また、電子透かしの埋め込み位置に複数の候補がある場合に、真の埋め込み位置から透かしを抽出することができる。
【発明を実施するための最良の形態】
【００２３】
実施の形態１
図１は、実施の形態１に係る電子透かし埋め込み装置５０の基本的な構成を示す。電子透かし埋め込み装置５０は、ホストデータＶに透かし情報Ｉを埋め込む処理を行い、埋め込みホストデータＷを出力する。ホストデータＶは、たとえば音声、静止画、動画などのデータである。透かし情報Ｉは、そのホストデータＶの識別情報、作成者情報、利用者情報など著作権に関する情報、ホストデータＶの改ざん検出を行う認証情報、タイムスタンプなどである。透かし情報Ｉは、一般にこれらの情報を暗号化したものである。
【００２４】
ＥＣＣ（Error Correction Code）符号化部２４は、ホストデータＶに埋め込むべき透かし情報Ｉを誤り訂正符号化し、誤り訂正符号化された透かしデータＸを出力する。誤り訂正符号化の関数をｆ１とすると、この処理は変換式Ｘ＝ｆ１（Ｉ）で表される。
【００２５】
位置検出部５２は、ホストデータＶの特徴と秘密鍵Ｋにもとづいて透かしデータＸの埋め込み位置Ｐを決定する。位置検出部５２は、透かしデータＸをホストデータＶに埋め込む際、埋め込み強度が強い、すなわち透かしのノイズに対する耐性が強い埋め込み位置Ｐを探索する。埋め込み位置Ｐのサンプルは、秘密鍵Ｋによってランダムに選択される。埋め込み位置の決定関数をｆ２とすると、位置検出部５２による処理は変換式Ｐ＝ｆ２（Ｖ，Ｘ，Ｋ）で表される。
【００２６】
埋め込み部５４は、ホストデータＶの埋め込み位置Ｐに透かしデータＸを埋め込み、埋め込みホストデータＷを出力する。埋め込み関数をｆ３とすると、この処理は変換式Ｗ＝ｆ３（Ｖ，Ｘ，Ｐ）で表される。
【００２７】
埋め込み位置の決定関数ｆ２は、ＧＰＳ（Guided Position Scrambling）により実現される。ＧＰＳは、伝送や磁気記録におけるデジタル変調の際に利用されるＧＳ（Guided Scrambling）を利用する。ＧＳは、ある一定のデータブロック長からなる情報系列に対して、Ｌ種類の符号系列を生成し、これらを次に送信する符号系列の候補として扱う。これらの候補の中から、伝送媒体の性質に合わせて最適なものを選択して最終的な符号系列とする。ＧＰＳは、このＧＳの考えを採用して、透かしデータＸを埋め込むべきホストデータＶの位置をスクランブルして透かし耐性のある埋め込み位置を検出し、その位置に透かしを埋め込んだ埋め込みホストデータＷを生成する。このＧＰＳ方式によれば、埋め込みホストデータＷが原ホストデータＶから知覚的に劣化しないように保ちながら、透かしビットの検出率を向上させることができる。
【００２８】
図２は、電子透かし埋め込み装置５０の具体的な機能構成図である。電子透かし埋め込み装置５０の構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた電子透かし埋め込み機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２９】
電子透かし埋め込み装置５０は、透かしデータＸをホストデータＶの複数の埋め込み位置の候補に埋め込み、透かしの耐性が強くなる候補を選択して、最終的な埋め込みホストデータＷとして出力する。
【００３０】
位置情報生成部６０は、秘密鍵Ｋにもとづいて、ホストデータＶについてＬ個の埋め込み位置Ｐの候補を生成する。埋め込み位置Ｐの候補は、一例としてテーブル・マッピングの手法によりランダムに生成される。
【００３１】
図３は、埋め込み位置の候補を識別するための識別情報と埋め込む位置とを対応づけたテーブルを説明する図である。位置情報生成部６０は、このテーブルを参照して、埋め込み位置の候補の識別データに対応づけて埋め込み位置の候補を生成する。このテーブルは、透かしデータの第１ビットについて、たとえば、「識別番号０の場合は（１，２９）の位置、識別番号１の場合は（９８３，２５１）の位置、・・・、識別番号１５の場合は（５４２，３７）の位置に埋め込む」といった識別番号と埋め込み座標との対応関係を格納する。第２番目から第ｎ１番目のビットについてもそれぞれ埋め込み位置が異なる対応関係が格納される。埋め込み位置は秘密鍵Ｋにもとづいてランダムに生成されたものである。
【００３２】
ＥＣＣ符号化部２４は、透かし情報Ｉに誤り訂正のためのパリティを付加した透かしデータＸを生成し、埋め込み部２６に与える。埋め込み部２６は、位置情報生成部６０により生成された、ホストデータＶについてのＬ個の埋め込み位置Ｐの候補のそれぞれに透かしデータＸを埋め込み、Ｌ種類の埋め込みホストデータＷの候補を生成する。
【００３３】
相関評価部２８は、Ｌ種類の埋め込みホストデータＷの候補のそれぞれについて、透かしデータＸの耐性を評価する。透かしデータＸの耐性の評価は、埋め込まれた透かしビットと埋め込みホストデータＷから抽出される透かしビットの相関係数を計算することにより行われる。セレクタ３０は、耐性の評価値が最良である埋め込みホストデータＷの候補を選択し、それを最終的な埋め込みホストデータＷとして出力する。
【００３４】
なお、上記の説明では、図２で示したように、Ｌ種類の埋め込みホストデータＷの候補を生成するために、Ｌ個の埋め込み部２６およびＬ個の相関評価部２８が並列に設けられたが、埋め込み部２６および相関評価部２８をそれぞれ１つずつ設ける構成にして、Ｌ種類の埋め込みホストデータＷの候補を逐次的に生成、評価して最適な候補を選択してもよい。その場合、埋め込みホストデータＷの候補を逐次生成し、埋め込み強度が所望の基準値以上である候補が得られた時点で、その候補を最終的な埋め込みホストデータＷとして選択し、そのような候補が生成されなければ、Ｌ個の埋め込みホストデータの候補の中から埋め込み強度が最大であるものを最終的な埋め込みホストデータＷとして選択する。
【００３５】
図４は、電子透かし埋め込み装置５０による電子透かしの埋め込み手順を説明するフローチャートである。
【００３６】
位置情報生成部６０は、透かしデータＸのＬ個の埋め込み位置候補Ｐｋ（ｋ＝０，・・・，Ｌ−１）を生成する（Ｓ３０）。
【００３７】
ＥＣＣ符号化部２４は、透かしデータＸに誤り訂正のためのパリティを付加し、埋め込み部２６は、ホストデータＶのＬ個の埋め込み位置の候補Ｐｋのそれぞれに透かしデータＸを埋め込む（Ｓ３２）。
【００３８】
透かしデータＸは次のようにｎビットのビット系列で表される。
Ｘ＝｛ｘ０，ｘ１，・・・，ｘｎ−１｝
このｎビットの透かしデータＸの埋め込み位置の候補Ｐｋに対応するホストデータＶのサンプルの集合のペア（Ｖ＋ｋ，Ｖ−ｋ）を次のように定義する。サンプルの集合Ｖ＋ｋ，Ｖ−ｋはそれぞれｎ個の要素をもつ。なお、ホストデータＶは、空間軸上のサンプル、時間軸上のサンプル、周波数軸上のサンプル、たとえば離散コサイン変換、離散ウェーブレット変換などの処理後のサンプルなどにより表現される。
【００３９】
Ｖ＋ｋ＝｛ｖ＋ｋ０，ｖ＋ｋ１，・・・，ｖ＋ｋｎ−１｝
Ｖ−ｋ＝｛ｖ−ｋ０，ｖ−ｋ１，・・・，ｖ−ｋｎ−１｝
【００４０】
ここでサンプルの集合Ｖ＋ｋ，Ｖ−ｋの要素である各サブセットｖ＋ｋｉ、ｖ−ｋｉは、次のようにホストデータＶのｍ個のサンプルデータからなる。
ｖ＋ｋｉ＝｛ｖ＋ｋｉ，０，ｖ＋ｋｉ，１，・・・，ｖ＋ｋｉ，ｍ−１｝
ｖ−ｋｉ＝｛ｖ−ｋｉ，０，ｖ−ｋｉ，１，・・・，ｖ−ｋｉ，ｍ−１｝
【００４１】
透かしデータＸの各ビットを埋め込み位置の候補Ｐｋに対応したＬ個のサンプルの集合のペア（Ｖ＋ｋ，Ｖ−ｋ）に次のように埋め込み、Ｌ種類の埋め込みホストデータの候補Ｗｋを生成する。
【００４２】
ｗ＋ｋｉ，ｊ＝ｖ＋ｋｉ，ｊ＋α＋ｉ，ｊ・ｘｉ
ｗ−ｋｉ，ｊ＝ｖ−ｋｉ，ｊ−α−ｉ，ｊ・ｘｉ
【００４３】
ここでα＋ｉ，ｊおよびα−ｉ，ｊは、人間の視覚モデルにもとづいて、知覚されるノイズを減少するためのスケーリングパラメータであり、いずれも正の値である。これにより、埋め込みホストデータの候補Ｗｋは、ホストデータＶに対して人間の視覚モデルから決定される知覚上の劣化を生じない非線形領域内にあることが保証される。α＋ｉ，ｊおよびα−ｉ，ｊは、ある確率分布、たとえば正規分布、一様分布などに従うように、秘密鍵Ｋによって生成される正の値であってもよい。この場合、透かしの埋め込み強度は減少するが、埋め込まれた透かしの秘匿性は向上する。
【００４４】
このようにして、透かしデータの各ビットｘｉは各サブセットｖ＋ｋｉ、ｖ−ｋｉのそれぞれｍ個のサンプルに重複して埋め込まれる。重複の数ｍが大きいほど、透かしビットが失われる可能性が低くなり、検出誤差が小さくなる一方で、ホストデータに埋め込むことができる透かしのビット数が減少する。α＋ｉ，ｊおよびα−ｉ，ｊは、視覚上の劣化を検知できないようにピクセル毎に設定される値であり、原理的には、埋め込むピクセル数ｍを増やしても、人間の視覚上、画質の劣化は検知されない。しかし、１ビットを埋め込むのに費やすピクセル数が増加するということは、埋め込み領域には制限があるため、埋め込むことができるビット数が減少することを意味し、したがって埋め込み率の低下を招くことなる。
【００４５】
各サブセットｖ＋ｋｉ、ｖ−ｋｉは、一例としてホストデータＶを離散コサイン変換したときに得られるＤＣＴ（Discrete Cosine Transform）ブロックであり、透かしビットの埋め込み対象として選ばれるｍ個のサンプルデータは、ＤＣＴブロックに含まれるｍ個のＤＣＴ係数である。図５（ａ）、（ｂ）は、８×８のＤＣＴブロックのペアｖ＋ｋｉ、ｖ−ｋｉのそれぞれｍ個のＤＣＴ係数に透かしビットｘｉが埋め込まれる様子を示している。ブロックペアｖ＋ｋｉ、ｖ−ｋｉおよびｍ個のＤＣＴ係数は、秘密鍵Ｋにもとづいて選択される。
【００４６】
相関評価部２８は、Ｌ種類の埋め込みホストデータの候補Ｗｋに対して透かしデータＸの耐性を評価し（Ｓ３４）、セレクタ３２は耐性が最大である埋め込みホストデータの候補Ｗｋを最終的な埋め込みホストデータＷとして選択する（Ｓ３６）。
【００４７】
透かしの耐性の評価に用いられる評価式を与える前に、埋め込みホストデータＷに対して信号処理や画像処理などにより変形が加えられた場合に、透かしデータＸがどのように検出されるかを検討する。埋め込みホストデータＷに加えられる変形をノイズＮとして扱い、ノイズＮが加わった埋め込みホストデータＷを埋め込みホスト信号Ｗ’と呼ぶ。この埋め込みホスト信号Ｗ’から透かしデータＸを抽出する方法を説明する。埋め込みホスト信号の集合のペア（Ｗ’＋，Ｗ’−）を次のように定義する。埋め込みホスト信号の集合Ｗ’＋，Ｗ’−は次のようにそれぞれｎ個の要素をもつ。
【００４８】
Ｗ’＋＝｛ｗ’＋０，ｗ’＋１，・・・，ｗ’＋ｎ−１｝
Ｗ’−＝｛ｗ’−０，ｗ’−１，・・・，ｗ’−ｎ−１｝
【００４９】
ここで埋め込みホスト信号の集合Ｗ’＋，Ｗ’−の要素である各サブセットｗ’＋ｉ、ｗ’−ｉは、電子透かしの埋め込み位置に対応して、次のように埋め込みホスト信号Ｗ’のｍ個のサンプルデータからなる。
【００５０】
ｗ’＋ｉ＝｛ｗ’＋ｉ，０，ｗ’＋ｉ，１，・・・，ｗ’＋ｉ，ｍ−１｝
ｗ’−ｉ＝｛ｗ’−ｉ，０，ｗ’−ｉ，１，・・・，ｗ’−ｉ，ｍ−１｝
【００５１】
透かしビットｘｉを検出するために、次の検出値ｚｉを計算する。
【００５２】
ｚｉ＝Σｊ＝０ｍ−１（ｗ’＋ｉ，ｊ−ｗ’−ｉ，ｊ）
＝Σｊ＝０ｍ−１［（ｗ＋ｉ，ｊ＋ｎ＋ｉ，ｊ）−（ｗ−ｉ，ｊ＋ｎ−ｉ，ｊ）］
＝Σｊ＝０ｍ−１［（ｖ＋ｉ，ｊ−ｖ−ｉ，ｊ）＋（α＋ｉ，ｊ＋α−ｉ，ｊ）・ｘｉ＋（ｎ＋ｉ，ｊ−ｎ−ｉ，ｊ）］
ここでΣｊ＝０ｍ２−１（ｖ＋ｉ，ｊ−ｖ−ｉ，ｊ）はｍが十分に大きいとき、一般にガウス分布に従い、０に近づく。またノイズの項Σｊ＝０ｍ−１（ｎ＋ｉ，ｊ−ｎ−ｉ，ｊ）についても同様に０に近づく。したがって、ｚｉはΣｊ＝０ｍ−１［（α＋ｉ，ｊ＋α−ｉ，ｊ）・ｘｉ］の値で近似できる。（α＋ｉ，ｊ＋α−ｉ，ｊ）は正であるから、透かしビットｘｉが１ならばｚｉは正であり、透かしビットｘｉが−１ならばｚｉは負である。したがってｚｉの正負により透かしビットｘｉの値を判定することができる。
【００５３】
相関評価部２８による透かしの耐性の評価は、ホストデータＶを透かしデータＸに対するノイズとみなして、埋め込まれた透かしデータＸと、埋め込みホストデータＷから検出される透かしデータの間の相関係数を計算することにより行われる。相関が大きいほど、透かしの耐性が強いと考えることができる。相関評価部２８は、埋め込みホストデータの候補のペア（Ｗ＋ｋ，Ｗ−ｋ）に対して、次式により、実際に埋め込まれた透かしデータＸの真値と埋め込みホストデータの候補Ｗｋから検出される透かしデータの検出値Ｚｋの相関係数γｋを評価して、最適な候補Ｋを選択する。
【００５４】
Ｋ＝ａｒｇｍａｘｋγｋ（Ｚｋ，Ｘ）
γｋ（Ｚｋ，Ｘ）＝（１／ｎ）Ｚｋ・Ｘ＝（１／ｎ）Σｉ＝０ｎ−１ｚｋｉｘｉ
【００５５】
ここで、Ｚｋ＝｛ｚｋ０，ｚｋ１，・・・，ｚｋｎ−１｝であり、ｚｋｉは透かしビットｘｉの検出値であり、ｚｋｉ＝Σｊ＝０ｍ−１（ｗ＋ｋｉ，ｊ−ｗ−ｋｉ，ｊ）である。
【００５６】
場合により、次の標準化された相関係数γｋを用いてもよい。標準化された相関係数γｋは−１から１までの値を取る。
γｋ（Ｚｋ，Ｘ）＝Ｚｋ・Ｘ／｜Ｚｋ｜｜Ｘ｜
＝Σｉ＝０ｎ−１ｚｋｉｘｉ／｛（Σｉ＝０ｎ−１｜ｚｋｉ｜２）１／２（Σｉ＝０ｎ−１｜ｘｉ｜２）１／２｝
【００５７】
検出値Ｚｋの分散が大きい場合には、標準化されていない相関係数γｋは、大きな振幅をもった、ある軟値ｚｋｉと強い相関をもつため、正しい埋め込み位置を特定できなくなる可能性がある。そのため、（Σｉ＝０ｎ−１｜ｚｋｉ｜２）１／２により相関係数を規格化する必要がある。透かしビットｘｉは１または−１であるから、｜ｘｉ｜２＝１より、標準化された相関係数γｋは、
γｋ（Ｚｋ，Ｘ）＝Σｉ＝０ｎ−１ｚｋｉｘｉ／｛（Σｉ＝０ｎ−１｜ｚｋｉ｜２）１／２ｎ１／２｝
と書くことができる。
【００５８】
相関係数γｋが最大となる候補を選択することは、透かしビットの検出誤差が最小である候補を選択することを意味する。
【００５９】
検出値ｚｉについて、ｖ＋ｉ，ｊ＞ｖ−ｉ，ｊかつｘｉ＝１ならばｚｉ≫０となり、ｖ＋ｉ，ｊ＜ｖ−ｉ，ｊかつｘｉ＝−１ならばｚｉ≪０となる。したがって相関係数γｋの評価により最適な埋め込み位置の候補Ｐｋを選択することは、検出値ｚｉによる透かしビットｘｉの検出性能を向上させるために、次式をできるだけ満たすように埋め込み位置を選択することを意味する。
【００６０】
ｘｉΣｊ＝０ｍ−１（ｖ＋ｋｉ，ｊ−ｖ−ｋｉ，ｊ）＞０
【００６１】
すなわち、透かしビットの符号とホストデータで構成されるノイズ成分の符号ができるだけ一致するような位置を選択する。これがＧＰＳ方式のガイディングルールに相当し、このガイディングルールにしたがうことにより検出値ｚｉのレスポンスが大きく改善する。
【００６２】
なお、埋め込み強度の評価は、埋め込まれた透かしデータＸに対して、埋め込みホストデータＷから検出される透かしデータのＳＮ比を計算することによっても行うことができる。ＳＮ比が大きいほど、耐性が強いと考えることができる。ＳＮ比は、相関係数と等価であることが容易に示せるが、ＳＮ比の計算は、相関係数の計算よりも計算量が多くなる。相関係数の計算量と比較するため、ＳＮ比による評価方法を説明しておく。埋め込みホストデータの候補のペア（Ｗ＋ｋ，Ｗ−ｋ）に対して次式によりＳＮ比を評価して、最適な候補Ｋを選択する。
【００６３】
Ｋ＝ａｒｇｍａｘｋ（Ｐｋ／σｋ２）
Ｐｋ＝Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１（ｗ＋ｋｉ，ｊ−ｗ−ｋｉ，ｊ）｜２／ｎ
σｋ２＝Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１（ｗ＋ｋｉ，ｊ−ｗ−ｋｉ，ｊ）−Ｐｋ１／２・ｘｉ｜２／ｎ
【００６４】
ここで、
Ｐｋ＝Σｉ＝０ｎ−１｜ｚｋｉ｜２／ｎ
σｋ２＝Σｉ＝０ｎ−１｜ｚｋｉ−Ｐｋ１／２・ｘｉ｜２／ｎ
＝Σｉ＝０ｎ−１（｜ｚｋｉ｜２−２Ｐｋ１／２ｘｉｚｋｉ＋Ｐｋ｜ｘｉ｜２）／ｎ
＝Ｐｋ−（２／ｎ）Ｐｋ１／２Σｉ＝０ｎ−１ｘｉｚｋｉ＋Ｐｋ
＝２Ｐｋ−（２／ｎ）Ｐｋ１／２Σｉ＝０ｎ−１ｘｉｚｋｉ
と変形できるから、ＳＮ比は、
Ｐｋ／σｋ２＝Ｐｋ／｛２Ｐｋ−（２／ｎ）Ｐｋ１／２Σｉ＝０ｎ−１ｘｉｚｋｉ｝
＝１／｛２−２Σｉ＝０ｎ−１ｘｉｚｋｉ／（ｎＰｋ１／２）｝
＝１／｛２−２Σｉ＝０ｎ−１ｘｉｚｋｉ／（ｎ（Σｉ＝０ｎ−１｜ｚｋｉ｜２／ｎ）１／２）｝
＝１／｛２−２Σｉ＝０ｎ−１ｘｉｚｋｉ／（ｎ１／２（Σｉ＝０ｎ−１｜ｚｋｉ｜２）１／２）｝
＝１／｛２−２γｋ（ｚｋ，ｘ）｝
【００６５】
このように相関係数γｋ（ｚｋ，ｘ）とＳＮ比Ｐｋ／σｋ２の関係が導かれ、γｋ→１のとき、Ｐｋ／σｋ２→∞となる。したがって、相関係数γｋが最大となる候補を選択することは、ＳＮ比が最大となる候補を選択することと等価である。
【００６６】
計算量についてみれば、ＳＮ比の計算には、（４ｍｎ＋ｎ−２）回の和演算と（２ｎ＋１）回の積演算が必要であり、計算による負荷が大きい。一方、規格化していない相関係数の計算は、Σｉ＝０ｎ−１ｚｋｉｘｉの計算をすればよいが、透かしビットｘｉは１または−１であるから、乗算の計算は必要なく、（２ｍｎ−１）回の和演算のみで計算でき、計算コストを大きく減らすことができる。規格化された相関係数を求める場合は、（２ｍｎ＋ｎ−２）回の和演算と（ｎ＋１）回の積演算が必要になるが、ＳＮ比よりも計算量は少ない。
【００６７】
埋め込みホストデータＷに対してフィルタリングや圧縮符号化などの特定の処理を施すことがあらかじめ想定される場合、透かしの埋め込み時にその特定の処理による影響を考慮して、電子透かしに耐性をもたせることができる。
【００６８】
相関評価部２８は、埋め込みホストデータＷについて、透かしデータＸの耐性を評価する際に、埋め込みホストデータＷに対する特定の処理による歪みＤを考慮に入れる。具体的には、次式のように、埋め込みホストデータＷにあらかじめ特定の処理を施した上で、実際に埋め込まれた透かしデータＸの真値と埋め込みホストデータＷから検出される透かしデータの検出値の相関係数を計算する。
【００６９】
γｋ（Ｚｋ，Ｘ）＝（１／ｎ）Σｉ＝０ｎ−１ｚｋｉｘｉ
＝（１／ｎ）Σｉ＝０ｎ−１Σｊ＝０ｍ−１（ｗ＊＋ｋｉ，ｊ−ｗ＊−ｋｉ，ｊ）ｘｉ
ここでｗ＊＋ｋｉ，ｊ，ｗ＊−ｋｉ，ｊは特定の処理がなされた後の埋め込みホストデータＷである。特定の処理がたとえばＪＰＥＧ圧縮であると分かっている場合、ｗ＊＋ｋｉ，ｊ，ｗ＊−ｋｉ，ｊはＪＰＥＧの量子化テーブルを用いて次式により計算することができる。
【００７０】
ｗ＊＋ｋｉ，ｊ＝ｒｏｕｎｄ（ｗ＋ｋｉ，ｊ／ｑｉ，ｊ）・ｑｉ，ｊ
ｗ＊−ｋｉ，ｊ＝ｒｏｕｎｄ（ｗ−ｋｉ，ｊ／ｑｉ，ｊ）・ｑｉ，ｊ
ここでｑｉ，ｊは位置（ｉ，ｊ）におけるＪＰＥＧの量子化テーブルの値である。ｒｏｕｎｄはＪＰＥＧ圧縮時に用いられる四捨五入の演算を行う関数である。
【００７１】
これによれば、透かしの埋め込み時に、埋め込みホストデータＷに対する特定の処理による劣化を想定して耐性を評価し、埋め込み位置を選択するため、特定の処理に対する耐性の強い埋め込みホストデータＷを生成することができる。
【００７２】
以上述べたように、本実施の形態の電子透かし埋め込み装置５０によれば、電子透かしの埋め込む対象となるメディアデータが与えられると、そのメディアデータに応じて、透かしデータを埋め込み易い位置、すなわち透かしデータを埋め込んでもメディアデータが劣化しない範囲で、透かしデータの耐性を強化することができる埋め込み位置を検出し、透かしデータを埋め込むことができる。それによって、信号処理、幾何変換、圧縮、データの改ざんなどに対する電子透かしの耐性を強化することができ、透かしの検出精度が大幅に改善する。また、フィルタリングや量子化などメディアデータに施される処理があらかじめわかっている場合は、その処理を施した上で透かしの耐性を評価するため、特定の処理に対して耐性をもたせて透かしを埋め込むことができる。また、透かしの耐性は相関係数により評価するため、ＳＮ比による評価に比べて計算量が少ない。
【００７３】
図６は、実施の形態１に係る電子透かし抽出装置７０の構成を示す。電子透かし抽出装置７０の機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００７４】
電子透かし埋め込み装置５０により電子透かしが埋め込まれた埋め込みホストデータＷは、ネットワーク上で流通し、コンピュータにおいて利用される。その過程で埋め込みホストデータＷは圧縮符号化や改ざんなどの操作を受ける。画像データであれば、ＪＰＥＧ圧縮、フィルタリング、量子化、色補正などの信号処理や、スケーリング、クロッピング、回転、並行移動等の幾何学的な変換など有用性のある操作が施されたり、電子透かしを除去したり改変するなどの不正な攻撃が加えられたりする。そのような操作による変形を埋め込みホストデータＷに対するノイズＮとみなし、ノイズＮが付加した埋め込みホストデータＷを埋め込みホスト信号Ｗ’とする。電子透かし抽出装置７０は、埋め込みホスト信号Ｗ’から埋め込まれた透かしデータＸを抽出し、誤り訂正して透かし情報Ｉを取得する処理を行う。
【００７５】
位置情報生成部６０は、秘密鍵Ｋにもとづいて、Ｌ個の埋め込み位置Ｐの候補を生成する。このとき、電子透かし埋め込み装置５０の位置情報生成部６０が参照する図３のテーブルと同じテーブルを参照して、埋め込み位置Ｐの候補を生成する。
【００７６】
抽出部４２は、位置情報生成部６０により与えられたＬ個の埋め込み位置Ｐの候補のそれぞれから、埋め込みホスト信号Ｗ’に埋め込まれた透かしデータＸを抽出して透かしデータＸに関する検出値Ｚを検出する。Ｌ個の埋め込み位置Ｐの候補の内、一つの候補が実際に透かしデータＸが埋め込まれた真の埋め込み位置である。検出値評価部６２は、Ｌ個の透かしデータＸの各々について検出値Ｚの有意性を評価し、セレクタ６４は検出値評価部６２によるＬ個の透かしデータＸの検出値Ｚの有意性の評価にもとづいて、真の埋め込み位置を判定する。セレクタ６４は、真の埋め込み位置から抽出された透かしデータＸの検出値ＺをＥＣＣ復号部４４に与える。ＥＣＣ復号部４４は、透かしデータＸの検出値Ｚを誤り訂正して復号し、透かし情報Ｉを出力する。
【００７７】
ここでは、埋め込みホストデータＷのＬ個の埋め込み位置の候補から透かしデータＸを抽出してその検出値を評価するために、Ｌ個の抽出部４２およびＬ個の検出値評価部６２が並列に設けられた構成を示したが、抽出部４２および検出値評価部６２をそれぞれ１つずつ設ける構成にして、埋め込みホストデータＷのＬ個の埋め込み位置の候補から順に透かしデータＸを抽出してその検出値を評価することにより、Ｌ個の埋め込み位置を逐次的に評価し、セレクタ６４が最終的に真の埋め込み位置を判定してもよい。
【００７８】
図７は、電子透かし抽出装置７０による電子透かしの抽出手順を説明するフローチャートである。
【００７９】
位置情報生成部６０は、秘密鍵Ｋにもとづいて、Ｌ個の埋め込み位置の候補Ｐｋを生成する（Ｓ５０）。抽出部４２は、埋め込みホスト信号Ｗ’のＬ個の埋め込み位置の候補Ｐｋのそれぞれから透かしデータＸを抽出してその軟値Ｚｋを検出する（Ｓ５２）。軟値Ｚｋの各成分ｚｉｋは、透かしビットｘｉの検出値であり、次式により計算される。
【００８０】
ｚｉｋ＝Σｊ＝０ｍ−１（ｗ’＋ｉ，ｊ−ｗ’−ｉ，ｊ）
【００８１】
検出値評価部６２は、Ｌ個の軟値Ｚｋのそれぞれについて、各成分の絶対値和τｋを評価する（Ｓ５４）。
τｋ＝Σｉ＝０ｎ−１｜ｚｋｉ｜＝Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１（ｗ’＋ｋｉ，ｊ−ｗ’−ｋｉ，ｊ）｜
【００８２】
ここで、ｗ’＋ｋｉ，ｊ＝ｗ＋ｉ，ｊ＋ｎ＋ｉ，ｊ＝ｖ＋ｋｉ，ｊ＋α＋ｉ，ｊｂ＋ｋｉ，ｊ＋ｎ＋ｋｉ，ｊ，ｗ’−ｋｉ，ｊ＝ｗ−ｉ，ｊ＋ｎ−ｉ，ｊ＝ｖ−ｋｉ，ｊ−α−ｉ，ｊｂ−ｋｉ，ｊ＋ｎ−ｋｉ，ｊと書ける。ｂ＋ｋｉ，ｊ，ｂ−ｋｉ，ｊは、ホストデータＶのその位置に埋め込まれている可能性のある透かしビットの値である。これを代入することにより、軟値ｚｉｋの絶対値和τｋは、次のように変形できる。
【００８３】
τｋ＝Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１［（ｖ＋ｋｉ，ｊ＋α＋ｉ，ｊｂ＋ｋｉ，ｊ＋ｎ＋ｋｉ，ｊ）−（ｖ−ｋｉ，ｊ−α−ｉ，ｊｂ−ｋｉ，ｊ＋ｎ−ｋｉ，ｊ）］｜
＝Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１［（ｖ＋ｋｉ，ｊ−ｖ−ｋｉ，ｊ）＋（α＋ｉ，ｊｂ＋ｋｉ，ｊ＋α−ｉ，ｊｂ−ｋｉ，ｊ）＋（ｎ＋ｋｉ，ｊ−ｎ−ｋｉ，ｊ）］｜
【００８４】
ここでΣｊ＝０ｍ−１（ｖ＋ｉ，ｊ−ｖ−ｉ，ｊ）はｍが十分に大きいとき、一般にガウス分布に従い、０に近づく。ノイズの項Σｊ＝０ｍ−１（ｎ＋ｋｉ，ｊ−ｎ−ｋｉ，ｊ）についても同様に０に近づく。したがって、軟値ｚｉｋの絶対値和τｋは次式のように近似できる。
【００８５】
τｋ≒Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１（α＋ｉ，ｊｂ＋ｋｉ，ｊ＋α−ｉ，ｊｂ−ｋｉ，ｊ）｜
【００８６】
ここで、透かしデータＸがｋ番目の位置に埋め込まれているなら、ｂ＋ｋｉ，ｊ＝ｂ−ｋｉ，ｊ＝ｘｉである。したがって、ｍが十分に大きいとき、
τｋ≒Σｉ＝０ｎ−１｜Σｊ＝０ｍ−１（α＋ｉ，ｊ＋α−ｉ，ｊ）ｘｉ｜≫０
となる。
【００８７】
透かしビットがｋ番目の位置に埋め込まれていないなら、ｂ±ｋｉ，ｊ＝１またはｂ±ｋｉ，ｊ＝−１となる確率について、Ｐ（ｂ±ｋｉ，ｊ＝１）＝Ｐ（ｂ±ｋｉ，ｊ＝−１）＝１／２であるから、Σｊ＝０ｍ−１（α＋ｉ，ｊｂ＋ｋｉ，ｊ＋α−ｉ，ｊｂ−ｋｉ，ｊ）は確率的に０と近似でき、τｋ≒０となる。ここで、ビットｂ±ｋｉ，ｊが等確率で１および−１となる理由は、図３に示すようなランダムな位置を発生させるテーブルを用いているためである。
【００８８】
透かしデータＸがｋ番目の位置に埋め込まれているなら、透かしビットｘｉに関する軟値ｚｉｋは有意の値をもち、軟値ｚｉｋの絶対値和τｋは正の大きな値をとる。しかし、透かしデータＸがｋ番目の位置に埋め込まれていないなら、透かしビットｘｉに関する軟値ｚｉｋは有意の値をもつことはなく、軟値ｚｉｋの絶対値和τｋは０に近い値をとる。したがって、軟値ｚｉｋの絶対値和τｋの値により、ｋ番目の位置に透かしが埋め込まれているかどうかを判定することができる。
【００８９】
セレクタ６４は、Ｌ個の軟値ｚｉｋの絶対値和τｋの最大値と２番目に大きい値の差が所定の閾値よりも小さい場合（Ｓ５５のＹ）、いずれの埋め込み位置の候補にも透かしデータが埋め込まれていないと判定し、透かしデータを検出することなく、処理を終了する（Ｓ６０）。これにより、透かしデータＸがいずれの埋め込み位置の候補にも埋め込まれていない場合に、透かしデータの誤検出を防止することができる。
【００９０】
セレクタ６４は、Ｌ個の軟値ｚｉｋの絶対値和τｋの最大値と２番目に大きい値の差が所定の閾値以上である場合（Ｓ５５のＮ）、軟値ｚｉｋの絶対値和τｋが最大となる候補ｋ＊を選択し、ｋ＊番目の埋め込み位置の候補Ｐｋ＊を真の埋め込み位置と判定する（Ｓ５６）。このようにして、Ｌ個の軟値ｚｉｋの絶対値和τｋを比較することにより、Ｌ個の埋め込み位置の候補Ｐｋから真の埋め込み位置を選択することができる。軟値ｚｉｋの絶対値和を求める代わりに、軟値ｚｉｋの自乗和を求めて、軟値Ｚｋの有意性を評価してもよい。
【００９１】
セレクタ６４は、真の埋め込み位置から抽出された透かしデータＸの軟値Ｚｋ＊を選択して、ＥＣＣ復号部４４に入力する。ＥＣＣ復号部４４は、入力された軟値Ｚｋ＊を誤り訂正して復号する（Ｓ５８）。このようにして、真の埋め込み位置に透かしデータＸが埋め込まれているとして、真の埋め込み位置から検出された透かしビットｘｉが復号される。
【００９２】
ＥＣＣ復号部４４が硬入力の復号器で構成される場合には、検出値ｚｉの正負で、透かしビットｘｉが｛−１，１｝のいずれであるかを硬判定し、その硬判定値をＥＣＣ復号部４４に入力してもよい。
【００９３】
なお、セレクタ６４の後段にＥＣＣ復号部４４を設ける代わりに、Ｌ個のＥＣＣ復号部４４を抽出部４２と検出値評価部６２の間に設けてもよい。この場合、ＥＣＣ復号部４４は、抽出部４２により抽出された透かしデータＸの検出値Ｚを誤り訂正し、誤り訂正後の検出値Ｚを検出値評価部６２に与える。検出値評価部６２は、誤り訂正後の検出値Ｚの有意性を評価する。たとえば、軟値出力が可能なＥＣＣ復号器を用いた場合、検出値評価部６２では、復号後の軟値を用いて、有意性を評価する。また、硬判定を行うＥＣＣ復号器を用いる場合には、透かしビット系列内に、ＣＲＣ（Cyclic Redundancy Check）符号を含ませておくことで、検出値評価部６２は検出値Ｚの有意性を評価できる。すなわち、ＥＣＣ復号後の透かし系列にビットエラーがあるかどうかをＣＲＣにより検出することで、検出値Ｚが正しい位置から抽出されたかどうかを判定できる。
【００９４】
Ｌ個のＥＣＣ復号部４４をＬ個の抽出部４２の後段に設けるこのような構成に比べると、図６のようにセレクタ６４の後段に１つのＥＣＣ復号部４４を設ける構成の方が、複雑な計算処理が必要なＥＣＣ復号部４４の数を少なくすることができ、ハードウエア構成を簡略化することができる。また、Ｌ個の抽出部４２、ＥＣＣ復号部４４、および検出値評価部６２を設ける代わりに、抽出部４２、ＥＣＣ復号部４４、および検出値評価部６２をそれぞれ１つずつ設ける構成にして、Ｌ個の埋め込み位置の候補を逐次的に評価する構成にした場合でも、復号処理は複雑な計算が必要であるため、図６のようにセレクタ６４により真の埋め込み位置を判定した後で、ＥＣＣ復号部４４により復号処理を行う構成の方が計算コストを削減することができる。
【００９５】
以上述べたように、本実施の形態の電子透かし抽出装置７０によれば、透かしの埋め込み位置の候補が複数ある場合でも、想定される透かしデータを与えることなく、透かしデータの検出値の有意性にもとづいて真の透かし埋め込み位置を自動判定し、その埋め込み位置から透かしを抽出することができる。したがって、埋め込まれた透かしデータを想定することのできないアプリケーションにも適用することができる。また、検出値として軟値を用いることにより、検出値の有意性の評価精度が向上し、その結果、埋め込み位置を正確に判定することができる。また、軟値を用いた復号により、真の埋め込み位置から検出される透かしビットの誤り率が低減する。
【００９６】
実施の形態２
図８は、実施の形態２に係る電子透かし埋め込み装置１０の構成を示す。本実施の形態の電子透かし埋め込み装置１０は、透かしデータＸをスクランブルして複数の透かしデータの候補を生成し、それぞれの候補をホストデータＶに埋め込み、透かしの耐性が強くなる候補を選択して、最終的な埋め込みホストデータＷとして出力する。実施の形態１の電子透かし埋め込み装置５０と共通する構成には同一符号を付して適宜説明を省略し、実施の形態１の電子透かし埋め込み装置５０とは異なる構成と動作について説明する。
【００９７】
電子透かし埋め込み装置１０は、ホストデータＶに透かし情報Ｉを埋め込む処理を行い、埋め込みホストデータＷを出力する。暗号化部１２は、ホストデータＶに埋め込むべき透かし情報Ｉを秘密鍵Ｋにより暗号化し、透かしデータＸを出力する。暗号化の関数をｆ０とすると、この処理は変換式Ｘ＝ｆ０（Ｉ，Ｋ）で表される。透かし情報の暗号化を行わない場合には、暗号化部１２の構成は省略してもよい。
【００９８】
変更部１４は、透かしデータＸとホストデータＶを用いて、透かしデータＸをスクランブルし、スクランブルされた透かしデータＸ’を出力する。スクランブルの関数をｆ２とすると、この処理は変換式Ｘ’＝ｆ２（Ｘ，Ｖ）で表される。
【００９９】
埋め込み部１６は、秘密鍵Ｋを用いて、スクランブルされた透かしデータＸ’をホストデータＶに埋め込み、埋め込みホストデータＷを出力する。埋め込みの関数をｆ１とすると、この処理は変換式Ｗ＝ｆ１（Ｖ，Ｘ’，Ｋ）で表される。秘密鍵Ｋに依存しない埋め込み方式の場合は、Ｗ＝ｆ１（Ｖ，Ｘ’）となる。
【０１００】
変更部１４と埋め込み部１６は協同して、複数のスクランブルされた透かしデータＸ’を生成し、それぞれをホストデータＶに埋め込み、複数の埋め込みホストデータＷの候補を生成し、それらの候補の一つを選択する機能をもつ。
【０１０１】
図９は変更部１４と埋め込み部１６の機能構成図である。Ｌ個のマルチプレクサ２０は、透かしデータＸの先頭にそれぞれ初期データＣ０〜ＣＬ−１を挿入したＬ種類のビット系列Ｘｂを生成する。Ｌ個のスクランブラ２２はＬ種類のビット系列をそれぞれスクランブルして、Ｌ種類のスクランブルされた透かしデータＸ’ｂを生成する。Ｌ個のＥＣＣ符号化部２４はＬ種類のスクランブルされた透かしデータＸ’ｂのそれぞれに誤り訂正のためのパリティを付加した透かしデータＸ’ｃを生成する。ＥＣＣ符号化部２４は、透かしビットの検出率を向上させるためのオプションであって、アプリケーションによっては必要ない場合もあり、この構成を省略してもよい。
【０１０２】
Ｌ個の埋め込み部２６は、Ｌ種類のスクランブルされた透かしデータＸ’ｃのそれぞれをホストデータＶに埋め込み、Ｌ種類の埋め込みホストデータＷの候補を生成する。Ｌ個の相関評価部２８は、Ｌ種類の埋め込みホストデータＷの候補のそれぞれについて、透かしデータＸの耐性を評価する。透かしデータＸの耐性の評価は、埋め込まれた透かしビットと埋め込みホストデータＷから抽出される透かしビットの相関係数を計算することにより行われる。セレクタ３０は、耐性の評価値が最良である埋め込みホストデータＷの候補を選択し、それを最終的な埋め込みホストデータＷとして出力する。
【０１０３】
図１０は、実施の形態２に係る電子透かし抽出装置４０の構成を示す。電子透かし抽出装置４０は、ノイズＮが付加した埋め込みホスト信号Ｗ’から埋め込まれた透かしデータＸを抽出する処理を行う。
【０１０４】
抽出部４２は、秘密鍵Ｋを用いて、埋め込みホスト信号Ｗ’に埋め込まれた透かしデータＸ’ｃを抽出する。ＥＣＣ復号部４４はこの透かしデータＸ’ｃに付加されているパリティビットを用いて誤り訂正を行い、透かしデータＸ’ｂを生成する。デスクランブラ４６は、誤り訂正後の透かしデータＸ’ｂのスクランブルを解除し、透かしデータＸｂを出力する。図示しないが、この透かしデータＸｂはさらに、秘密鍵Ｋにより復号されて元の透かし情報Ｉが得られる。
【０１０５】
以上の構成の電子透かし埋め込み装置１０および電子透かし抽出装置４０による電子透かしの埋め込みと抽出の手順を説明する。図１５は、電子透かし埋め込み装置１０による電子透かしの埋め込み手順を説明するフローチャートである。フローチャートの説明にあたり、図１１から図１４を適宜参照する。マルチプレクサ２０は、暗号化部１２により暗号化された透かしデータＸの先頭にＬ種類の初期データを挿入してＬ個の符号系列を生成し（Ｓ１０）、スクランブラ２２は、それらの符号系列をスクランブルしてＬ種類のスクランブルされた透かしデータＸ’を生成する（Ｓ１２）。
【０１０６】
図１１は、透かしデータＸとＬ種類のスクランブルされた透かしデータＸ’との関係を示す。ｎビットの透かしデータＸの先頭に、ｒビットの冗長語を識別データＩＤ［０］〜ＩＤ［Ｌ−１］として付加し、Ｌ種類の透かしデータの候補を作成する。最大２ｒ種類の候補が作成される。これらの候補に含まれる透かしデータＸのビット列はこれから述べるスクランブル方式により、スクランブルされる。
【０１０７】
スクランブル方式の一例として、ＧＳ方式を採用する。このＧＳ方式により、多様性に富んだ符号系列の候補を簡単な方法で生成することができる。
【０１０８】
電子透かし埋め込み装置１０におけるマルチプレクサ２０とスクランブラ２２がＧＳ符号化器として機能する。ＧＳ符号化器は、ｎビットからなる情報系列Ｄ（ｘ）の直前にＬ種類のｒビットの冗長語ｃｉ（ｉ＝０，・・・，Ｌ−１）を付加し、Ｌ種類の符号系列ｃｉｘｎ＋Ｄ（ｘ）を生成する。この符号系列の符号長は（ｎ＋ｒ）ビットとなる。このようにして冗長語が付加された符号系列に対して、次式のようにＮ次元のスクランブル多項式Ｓ（ｘ）で除算することにより商Ｔｉ（ｘ）を求める。
【０１０９】
Ｔｉ（ｘ）＝ＱＳ（ｘ）［（ｃｉｘｎ＋Ｄ（ｘ））ｘＮ］    （１）
ただし、Ｑａ［ｂ］はｂをａで除算した商を示す。商集合｛Ｔ０（ｘ），・・・，ＴＬ−１（ｘ）｝がスクランブル後の符号系列の候補である。これらの候補の各々について、その符号系列が実際に用いられた際の性能を評価し、その評価値が最良であるものを最終的な符号系列として選択する。
【０１１０】
復調時には、電子透かし抽出装置４０におけるデスクランブラ４６がＧＳ復号器として機能し、符号系列にＳ（ｘ）を乗算し、下位Ｎビットと上位ｒビットの変換情報を捨てることにより、元の情報系列Ｄ（ｘ）が得られる。
【０１１１】
ここでスクランブル多項式Ｓ（ｘ）として、Ｓ（ｘ）＝ｘｒ＋１を用いた場合を説明する。Ｓ（ｘ）＝ｘｒ＋１の場合、（１）式は次式に示す畳み込み演算で表現可能である。
【０１１２】
ｔｊ＝ｄｊ（＋）ｃｉ  （ｊ＝０）
ｔｊ＝ｄｊ（＋）ｔｊ−１  （ｊ＝１，・・・，ｎ／ｒ−１）
ただし、ｉ＝０，・・・，Ｌ−１であり、ｄｊは元の情報系列Ｄ（ｘ）をｒビットずつ区切ったビット列、ｔｊは変換後の符号系列Ｔｉ（ｘ）の先頭のｒビットの冗長語ｃｉ以降をｒビットずつ区切ったビット列である。また（＋）は排他的論理和（ＥＸ−ＯＲ）演算を示す。
【０１１３】
図１２はこの符号化時の畳み込み演算を説明する図である。たとえば、ｎ＝６、ｒ＝２の場合を考える。元の情報系列Ｄ（ｘ）＝（１，０，１，０，０，１）に対して、冗長語ｃ０＝（０，０）を付加して、変換後の符号系列Ｔ０（ｘ）を生成する。上記の符号化時の畳み込み演算により、ｔ０＝ｄ０（＋）ｃ０＝（１，０）（＋）（０，０）＝（１，０）、ｔ１＝ｄ１（＋）ｔ０＝（１，０）（＋）（１，０）＝（０，０）、ｔ２＝ｄ２（＋）ｔ１＝（０，１）（＋）（０，０）＝（０，１）となり、変換後の符号系列Ｔ０＝（０，０，１，０，０，０，０，１）が得られる。ここで変換後の符号系列Ｔ０の先頭の２ビットは冗長語ｃ０であることに注意する。
【０１１４】
同様にして、冗長語ｃ１＝（０，１）、ｃ２＝（１，０）、ｃ３＝（１，１）に対して、それぞれ変換後の符号系列Ｔ１＝（０，１，１，１，０，１，０，０）、Ｔ２＝（１，０，０，０，１，０，１，１）、Ｔ３＝（１，１，０，１，１，１，１，０）が得られる。
【０１１５】
復号時は次式のように畳み込み演算を行うことにより、元の情報系列Ｄ（ｘ）が得られる。
【０１１６】
ｄｊ＝ｔｊ（＋）ｃｉ  （ｊ＝０）
ｄｊ＝ｔｊ（＋）ｔｊ−１  （ｊ＝１，・・・，ｎ／ｒ−１）
【０１１７】
図１３はこの復号時の畳み込み演算を説明する図である。前述の例において、変換後の符号化系列Ｔ０＝（０，０，１，０，０，０，０，１）が与えられると、先頭の２ビットから冗長語ｃ０＝（０，０）が得られ、上記の復号時の畳み込み演算により、ｄ０＝ｔ０（＋）ｃ０＝（１，０）（＋）（０，０）＝（１，０）、ｄ１＝ｔ１（＋）ｔ０＝（０，０）（＋）（１，０）＝（１，０）、ｄ２＝ｔ２（＋）ｔ１＝（０，１）（＋）（０，０）＝（０，１）となり、元の情報系列Ｄ（ｘ）＝（１，０，１，０，０，１）が得られる。他の変換後の符号化系列Ｔ１，Ｔ２，Ｔ３についてもこの畳み込み演算により、元の情報系列Ｄ（ｘ）が得られる。
【０１１８】
再び図１５を参照する。スクランブラ２２によって生成されたＬ種類のスクランブルされた透かしデータＸ’は、ＥＣＣ符号化部２４により誤り訂正のためのパリティを付加された後に、埋め込み部２６によりホストデータＶに埋め込まれる（Ｓ１４）。
【０１１９】
図１４（ａ）、（ｂ）は、スクランブルされた透かしデータＸ’の埋め込み方法を説明する図である。Ｌ種類のスクランブルされた透かしデータＸ’をｘ０，ｘ１，・・・，ｘＬ−１とする。各透かしデータの候補のビット系列は、次式のように表される。先頭のｒビットは識別データである。また、スクランブル処理後のビット０は、−１に置き換えて、以下の処理を行う。
【０１２０】
ｘ０＝｛−１，・・・，−１，−１，ｘ００，ｘ０１，・・・，ｘ０ｎ−ｒ−１｝
ｘ１＝｛−１，・・・，−１，１，ｘ１０，ｘ１１，・・・，ｘ１ｎ−ｒ−１｝
・・・
ｘＬ−１＝｛１，・・・，１，１，ｘＬ−１０，ｘＬ−１１，・・・，ｘＬ−１ｎ−ｒ−１｝
【０１２１】
ｎビットの透かしデータの埋め込み対象として選択されたホストデータＶのサンプルの集合のペア（Ｖ＋，Ｖ−）を次のように定義する。サンプルの集合Ｖ＋，Ｖ−は次のようにそれぞれｎ個の要素をもつ。
【０１２２】
Ｖ＋＝｛ｖ＋０，ｖ＋１，・・・，ｖ＋ｎ−１｝
Ｖ−＝｛ｖ−０，ｖ−１，・・・，ｖ−ｎ−１｝
ここでサンプルの集合Ｖ＋，Ｖ−の要素である各サブセットｖ＋ｉ、ｖ−ｉは、次のようにホストデータＶのｍ個のサンプルデータからなる。
【０１２３】
ｖ＋ｉ＝｛ｖ＋ｉ，０，ｖ＋ｉ，１，・・・，ｖ＋ｉ，ｍ−１｝
ｖ−ｉ＝｛ｖ−ｉ，０，ｖ−ｉ，１，・・・，ｖ−ｉ，ｍ−１｝
【０１２４】
透かしデータの候補ｘｋ（ｋ＝０，・・・，Ｌ−１）をサンプルの集合のペア（Ｖ＋，Ｖ−）に次のように埋め込み、Ｌ種類の埋め込みホストデータの候補Ｗｋを生成する。
【０１２５】
ｗ＋ｋｉ，ｊ＝ｖ＋ｉ，ｊ＋α＋ｉ，ｊ・ｘｋｉ
ｗ−ｋｉ，ｊ＝ｖ−ｉ，ｊ−α−ｉ，ｊ・ｘｋｉ
ここでα＋ｉ，ｊおよびα−ｉ，ｊは人間の視覚モデルにもとづいて、知覚されるノイズを減少するためのスケーリングパラメータであり、いずれも正の値である。
【０１２６】
各サブセットｖ＋ｉ、ｖ−ｉは、一例としてホストデータＶを離散コサイン変換したときに得られるＤＣＴブロックであり、透かしビットの埋め込み対象として選ばれるｍ個のサンプルデータは、ＤＣＴブロックに含まれるｍ個のＤＣＴ係数である。図１４（ａ）、（ｂ）は、８×８のＤＣＴブロックのペアｖ＋ｉ、ｖ−ｉのそれぞれｍ個のＤＣＴ係数に透かしデータｘｋｉが埋め込まれる様子を示している。ブロックペアｖ＋ｉ、ｖ−ｉおよびｍ個のＤＣＴ係数は、秘密鍵Ｋに基づいて選択される。
【０１２７】
図１５に戻り、相関評価部２８は、Ｌ種類の埋め込みホストデータの候補Ｗｋに対して透かしデータｘｋの耐性を評価し（Ｓ１６）、セレクタ３０は耐性が最大となる埋め込みホストデータの候補Ｗｋを最終的な埋め込みホストデータＷとして選択する（Ｓ１８）。
【０１２８】
相関評価部２８による透かしの耐性の評価は、実施の形態１と同様に、埋め込みホストデータの候補のペア（Ｗ＋ｋ，Ｗ−ｋ）に対して、次式のように、実際に埋め込まれた透かしデータｘｋの真値と埋め込みホストデータの候補Ｗｋから検出される透かしデータの検出値ｚｋの相関係数γｋを計算することにより行われる。
【０１２９】
Ｋ＝ａｒｇｍａｘｋγｋ（ｚｋ，ｘｋ）
γｋ（ｚｋ，ｘｋ）＝（１／ｎ）ｚｋ・ｘｋ＝（１／ｎ）Σｉ＝０ｎ−１ｚｋｉｘｋｉ
【０１３０】
ここで、ｚｋ＝｛ｚｋ０，ｚｋ１，・・・，ｚｋｎ−１｝であり、ｚｋｉは透かしビットｘｋｉの検出値であり、ｚｋｉ＝Σｊ＝０ｍ−１（ｗ＋ｋｉ，ｊ−ｗ−ｋｉ，ｊ）である。
【０１３１】
場合により、次の標準化された相関係数γｋを用いてもよい。標準化された相関係数γｋは−１から１までの値を取る。
γｋ（ｚｋ，ｘｋ）＝ｚｋ・ｘｋ／｜ｚｋ｜｜ｘｋ｜
＝Σｉ＝０ｎ−１ｚｋｉｘｋｉ／｛（Σｉ＝０ｎ−１｜ｚｋｉ｜２）１／２（Σｉ＝０ｎ−１｜ｘｋｉ｜２）１／２｝
【０１３２】
透かしビットｘｋｉは１または−１であるから、｜ｘｋｉ｜２＝１より、標準化された相関係数γｋは、
γｋ（ｚｋ，ｘｋ）＝Σｉ＝０ｎ−１ｚｋｉｘｋｉ／｛（Σｉ＝０ｎ−１｜ｚｋｉ｜２）１／２ｎ１／２｝
と書くことができる。
【０１３３】
検出値ｚｉについて、ｖ＋ｉ，ｊ＞ｖ−ｉ，ｊかつｘｋｉ＝１ならばｚｉ≫０となり、ｖ＋ｉ，ｊ＜ｖ−ｉ，ｊかつｘｋｉ＝−１ならばｚｉ≪０となる。したがって相関係数γｋの評価により最適な透かしデータｘｋの候補を選択することは、検出値ｚｉによる透かしビットｘｉの検出性能を向上させるために、ｖ＋ｉ，ｊ＞ｖ＋ｉ，ｊならばｘ’ｉ＝１となり、ｖ＋ｉ，ｊ＜ｖ＋ｉ，ｊならばｘ’ｉ＝−１となるように、元の透かしビットｘｉをｘ’ｉに変更することを意味する。これがＧＳ方式のガイディングルールに相当し、このガイディングルールにしたがうことにより検出値ｚｉのレスポンスが大きく改善する。
【０１３４】
電子透かし抽出装置４０の抽出部４２は、ノイズの付加された埋め込みホスト信号Ｗ’を受け取ると、ＥＣＣ復号部４４が硬入力の復号器で構成される場合には、検出値ｚｉを次のように計算し、検出値ｚｉの正負で、透かしビットｘ’が｛−１，１｝のいずれであるかを判定し、透かしデータＸ’を得る。また、ＥＣＣ復号部４４が軟入力の復号器で構成される場合には、検出値ｚｉを｛−１，１｝に硬判定することなく、そのまま、ＥＣＣ復号部４４に送る。
【０１３５】
ｚｉ＝Σｊ＝０ｍ−１（ｗ’＋ｉ，ｊ−ｗ’−ｉ，ｊ）
＝Σｊ＝０ｍ−１［（ｗ＋ｉ，ｊ＋ｎ＋ｉ，ｊ）−（ｗ−ｉ，ｊ＋ｎ−ｉ，ｊ）］
＝Σｊ＝０ｍ−１［（ｖ＋ｉ，ｊ−ｖ−ｉ，ｊ）＋（α＋ｉ，ｊ＋α−ｉ，ｊ）・ｘ’ｉ＋（ｎ＋ｉ，ｊ−ｎ−ｉ，ｊ）］
【０１３６】
抽出された透かしデータＸ’はさらにＥＣＣ復号部４４により誤り訂正がなされ、デスクランブラ４６によりスクランブルを解除され、元の透かしデータＸが得られる。
【０１３７】
以上述べたように、実施の形態によれば、ＧＳ方式を用いて、電子透かしを埋め込む画像や音声などのメディアデータが与えられると、透かしビット系列をそのメディアデータに埋め込みやすいビット系列に変換した上で埋め込むことができる。したがって信号処理、幾何変換、圧縮、データの改ざんなどに対する電子透かしの耐性を強化することができ、透かしの検出精度が大幅に改善する。
【０１３８】
なお、上記の説明では、図９で示したように、Ｌ種類の透かしデータの候補を生成するために、Ｌ個のマルチプレクサ２０、スクランブラ２２、ＥＣＣ符号化部２４、埋め込み部２６、および相関評価部２８が並列に設けられたが、これらの構成要素をそれぞれ１つずつ設ける構成にして、Ｌ種類の透かしデータの候補を逐次的に生成、評価して最適な候補を選択してもよい。
【０１３９】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１４０】
埋め込み位置の候補の生成方法として、上記の実施の形態では、テーブル・マッピングによる方法を説明したが、埋め込み位置をランダムに生成することができれば、いかなる方法を用いてもよい。たとえば、位置情報生成部６０は、埋め込み位置のサンプルのビット系列をランダムにインターリーブすることにより、複数の埋め込み位置の候補を生成してもよい。
【０１４１】
複数の透かしデータの候補を生成するために、多様性に富んだ候補の生成が可能なＧＳ方式を用いたが、他のスクランブル方式を適用してもよく、また何らかの方法でランダムに候補のデータを生成してもよい。また実施の形態では、逆スクランブルにより、生成された透かしデータの候補から元の透かしデータを再現したが、生成された透かしデータの候補と元の透かしデータとを対応づけたテーブルを備え、このテーブルを参照して元の透かしデータを求めてもよい。
【図面の簡単な説明】
【０１４２】
【図１】実施の形態１に係る電子透かし埋め込み装置の基本構成図である。
【図２】図１の電子透かし埋め込み装置の具体的な機能構成図である。
【図３】埋め込み位置の候補を識別するための識別情報と埋め込む位置とを対応づけたテーブルを説明する図である。
【図４】図２の電子透かし埋め込み装置による電子透かしの埋め込み手順を説明するフローチャートである。
【図５】透かしビットが埋め込まれる様子を説明する図である。
【図６】実施の形態１に係る電子透かし抽出装置の構成図である。
【図７】図６の電子透かし抽出装置による電子透かしの抽出手順を説明するフローチャートである。
【図８】実施の形態２に係る電子透かし埋め込み装置の構成図である。
【図９】図８の変更部と埋め込み部の機能構成図である。
【図１０】実施の形態２に係る電子透かし抽出装置の構成図である。
【図１１】元の透かしデータとＬ種類のスクランブルされた透かしデータとの関係を説明する図である。
【図１２】符号化時の畳み込み演算を説明する図である。
【図１３】復号時の畳み込み演算を説明する図である。
【図１４】スクランブルされた透かしデータの埋め込み方法を説明する図である。
【図１５】図８の電子透かし埋め込み装置による電子透かしの埋め込み手順を説明するフローチャートである。
【符号の説明】
【０１４３】
１０  電子透かし埋め込み装置、  １２  暗号化部、  １４  変更部、  １６  埋め込み部、  ２０  マルチプレクサ、  ２２  スクランブラ、  ２４  ＥＣＣ符号化部、  ２６  埋め込み部、  ２８  相関評価部、  ３０  セレクタ、  ４０  電子透かし抽出装置、  ４２  抽出部、  ４４  ＥＣＣ復号部、  ４６  デスクランブラ、  ５０  電子透かし埋め込み装置、  ５２  位置検出部、  ５４  埋め込み部、  ６０  位置情報生成部、  ６２  検出値評価部、  ６４  セレクタ、  ７０  電子透かし抽出装置。
【図１】
2006086901.tif 000003
【図２】
2006086901.tif 000004
【図３】
2006086901.tif 000005
【図４】
2006086901.tif 000006
【図５】
2006086901.tif 000007
【図６】
2006086901.tif 000008
【図７】
2006086901.tif 000009
【図８】
2006086901.tif 000010
【図９】
2006086901.tif 000011
【図１０】
2006086901.tif 000012
【図１１】
2006086901.tif 000013
【図１２】
2006086901.tif 000014
【図１３】
2006086901.tif 000015
【図１４】
2006086901.tif 000016
【図１５】
2006086901.tif 000017