(57)【特許請求の範囲】
【請求項１】
構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を能動的変更結果要素に変換し、原コンテンツにおいて前記能動的変更対象要素を前記能動的変更結果要素で置き換える能動的要素変換を行い、
前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化を、原コンテンツが再生されたときと同じ状態に戻すため、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を受動的変更結果要素に変換し、原コンテンツにおいて前記受動的変更対象要素を受動的変更結果要素で置き換える受動的要素変換を行う変換処理部を備え、
前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する１以上の拡張制御情報であって、前記構造化文書により定義された要素についての装飾を指定する情報と構造化文書の再生に動的機能を与える情報との双方またはいずれか一方の拡張制御情報を含み、
前記変換処理部は、前記構造化文書と前記１以上の拡張制御情報のうちの１以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記１以上の拡張制御情報のうちの１以上に含まれる要素を対象として前記受動的要素変換を実行する
コンテンツ作成装置。
【請求項２】
前記コンテンツは、前記拡張制御情報として、前記構造化文書についての装飾を指定する装飾指定情報と、前記構造化文書の再生に動的機能を与える動的機能付与情報との少なくともいずれか一方を含む
請求項１に記載のコンテンツ作成装置。
【請求項３】
前記変換処理部は、誤り訂正符号化された埋め込み情報に基づいて生成された前記変更制御符号に基づいて前記能動的要素変換を実行する
請求項１または２に記載のコンテンツ作成装置。
【請求項４】
前記変換処理部は、埋込対象データと、前記埋込対象データに基づいて計算したチェックデジットとを含む前記埋め込み情報を生成する
請求項１から３のいずれか一項に記載のコンテンツ作成装置。
【請求項５】
前記コンテンツの一部または全部について難読化が図られるようにする難読化処理部をさらに備える
請求項１から４のいずれか一項に記載のコンテンツ作成装置。
【請求項６】
前記変換処理部は、
前記能動的要素変換の集合と前記受動的要素変換の集合が、コンテンツの配布先のユーザごとに異なるように、前記能動的要素変換と前記受動的要素変換とを行う
請求項１から５のいずれか一項に記載のコンテンツ作成装置。
【請求項７】
前記変換処理部は、前記能動的要素変換または受動的要素変換として、文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置のうちの少なくともいずれか１つを変換する
請求項１から６のいずれか一項に記載のコンテンツ作成装置。
【請求項８】
変換処理部が、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を能動的変更結果要素に変換し、原コンテンツにおいて前記能動的変更対象要素を前記能動的変更結果要素で置き換える能動的要素変換を実行し、
前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化を、原コンテンツが再生されたときと同じ状態に戻すため、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を受動的変更結果要素に変換し、原コンテンツにおいて前記受動的変更対象要素を受動的変更結果要素で置き換える受動的要素変換を実行する変換処理ステップを含み、
前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する１以上の拡張制御情報であって、前記構造化文書により定義された要素についての装飾を指定する情報と構造化文書の再生に動的機能を与える情報との双方またはいずれか一方の拡張制御情報を含み、
前記変換処理ステップは、前記構造化文書と前記１以上の拡張制御情報のうちの１以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記１以上の拡張制御情報のうちの１以上に含まれる要素を対象として前記受動的要素変換を実行する
コンテンツ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ作成装置及びコンテンツ作成方法に関する。
【背景技術】
【０００２】
デジタルによるコンテンツは情報を損失することなくコピーが可能である。また、個人がコピーしたコンテンツを第三者に不正に配布するといった行為も、インターネットなどを利用することで、コストをかけることなく簡単に行うことができる。
【０００３】
上記のようなコンテンツの不正利用を防止するための技術は、例えばＤＲＭ（Digital Rights Management：デジタル著作権管理）などと呼ばれる。ＤＲＭとしては、コンテンツの提供者がコンテンツを暗号化し、提供者から正当な復号鍵を受け取った利用者がコンテンツを復号して利用するという技術が主流である。しかし、このような暗号化を伴う技術では、コンテンツの復号に専用のソフトウェアが必要になるために、コンテンツの閲覧環境が制限されてしまい、汎用性が低いという問題がある。
【０００４】
そこで、電子透かし（Digital Watermarking）と呼ばれるＤＲＭの技術が知られている。電子透かしとは、コンテンツに対して特定の内容の情報（例えば、作者名、課金情報及びコピー可能回数など）を埋め込む技術である。このように電子透かしとしての情報をコンテンツに埋め込むことにより、コンテンツの不正なコピーや不正な配布などをけん制する効果がある。
例えば、電子透かしにコンテンツの配布を正規に受けたユーザを示す情報を含めておくようにすれば、コンテンツが不正に配布された場合には、電子透かしの内容を確認することで、不正に配布を行ったユーザを追跡することができる。
【０００５】
電子透かしとしての情報のコンテンツへの埋め込みの態様の１つとして、コンテンツが再生されたときに電子透かしが埋め込まれていることがユーザに知覚されにくいように埋め込むということが行われる。
ここで、音声、画像（静止画像）、動画などのデータはそもそも冗長度が高いことから、例えばデータの一部分を変更して電子透かしとしての情報を埋め込んだとしても、コンテンツを表現するための情報量のほうが人に知覚される情報量に対してはるかに多い。このために、ユーザがコンテンツを再生しているときに電子透かしとして埋め込まれた情報を知覚させないようにすることは比較的容易であり、この点でコンテンツ製作者の意図が損なわれるようなことは生じにくい。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２１９８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、コンテンツが電子書籍のような文書データである場合、コンテンツの冗長度は低い。即ち、文書データについては、人に知覚される情報量に対してデータの情報量が少ない。このため、コンテンツそのものに電子透かしを埋め込むと、埋め込まれた情報の影響による知覚的な変化が比較的目立つようになり、コンテンツ製作者の意図を損なってしまう可能性が高いという問題がある。
【０００８】
例えばＸＭＬ形式やＨＴＭＬ形式などによる構造化文書に対して、改竄検出範囲をタグにより指定し、指定された改竄検出範囲の階層化において、タグにより暗号鍵、認証データ、署名データなどを電子透かしの情報として格納する技術が知られている（例えば、特許文献１参照）。
このような技術であれば、埋め込まれた情報の影響による知覚的な変化は生じにくい。しかし、上記の技術においては、電子透かしとして埋め込まれた情報は、構造化文書において文書構造を定義するタグによって、電子透かしとしての情報であることが明確に定義されてしまっている。このために、ユーザが電子透かしの情報が埋め込まれた箇所を特定し、特定した箇所の電子透かしの情報を除去するといった不正な行為が容易に行われてしまう可能性がある。
【０００９】
本発明は、このような事情に鑑みてなされたもので、構造化文書を有するコンテンツに対して情報を埋め込むにあたり、情報の埋め込みによるコンテンツの知覚的な変化を抑えつつ、情報の埋め込み箇所の特定が困難なようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するための本発明の一態様は、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する能動的要素変換を行い、前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化が、原コンテンツが再生されたときと同等の状態に戻されるように、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を変換する受動的要素変換を行う変換処理部を備えるコンテンツ作成装置である。
【００１１】
本発明の一態様は、上記のコンテンツ作成装置であって、前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する１以上の拡張制御情報を含み、前記変換処理部は、前記構造化文書と前記１以上の拡張制御情報のうちの１以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記１以上の拡張制御情報のうちの１以上に含まれる要素を対象として前記受動的要素変換を実行してもよい。
【００１２】
本発明の一態様は、上記のコンテンツ作成装置であって、前記コンテンツは、前記拡張制御情報として、前記構造化文書についての装飾を指定する装飾指定情報と、前記構造化文書の再生に動的機能を与える動的機能付与情報との少なくともいずれか一方を含んでもよい。
【００１３】
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、誤り訂正符号化された埋め込み情報に基づいて生成された前記変更制御符号に基づいて前記能動的要素変換を実行してもよい。
【００１４】
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、埋込対象データと、前記埋込対象データに基づいて計算したチェックデジットとを含む前記埋め込み情報を生成してもよい。
【００１５】
本発明の一態様は、上記のコンテンツ作成装置であって、前記コンテンツの一部または全部について難読化が図られるようにする難読化処理部をさらに備えてもよい。
【００１６】
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、前記能動的要素変換の集合と前記受動的要素変換の集合が、コンテンツの配布先のユーザごとに異なるように、前記能動的要素変換と前記受動的要素変換とを行ってもよい。
【００１７】
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、前記能動的要素変換または受動的要素変換として、文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置のうちの少なくともいずれか１つを変換してもよい。
【００１８】
本発明の一態様は、検査対象コンテンツが上記のコンテンツ作成装置により作成されたコンテンツであるか否かについて検査するコンテンツ検査装置であって、原コンテンツにおける能動的変更対象要素または受動的変更対象要素との類似性に基づいて、検査対象コンテンツから受動的変更結果要素または能動的変更結果要素を特定する変更結果要素特定部と、前記変更結果要素特定部による受動的変更結果要素または能動的変更結果要素の特定結果に基づいて埋め込み情報を復元する埋め込み情報復元部とを備えるコンテンツ検査装置である。
【００１９】
本発明の一態様は、上記のコンテンツ検査装置であって、前記埋め込み情報に含まれるチェックデジットが、前記埋め込み情報復元部により復元された埋め込み情報に含まれる埋込対象データを利用して計算された値と一致するか否かについて判定してもよい。
【００２０】
本発明の一態様は、変換処理部が、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する能動的要素変換を実行し、前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化が、原コンテンツが再生されたときと同等の状態に戻されるように、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を変換する受動的要素変換を実行するステップを含むコンテンツ作成方法である。
【００２１】
本発明の一態様は、構造化文書を少なくとも有する構造において、原コンテンツにおける能動的変更対象要素が所定の変更制御符号に基づいて変換された能動的変更結果要素と、原コンテンツにおける受動的変更対象要素から変換された受動的変更結果要素とが含まれるコンテンツのデータ構造であって、コンピュータが、前記能動的変更結果要素を利用して、前記コンテンツを再生したときの知覚的態様について前記原コンテンツを再生したときとは異なる所定の変化を与え、前記受動的変更結果要素を利用して、前記能動的変更結果要素により与えられた知覚的態様の変化について原コンテンツを再生したときと同等の状態に戻すコンテンツのデータ構造である。
【発明の効果】
【００２２】
以上説明したように、本発明によれば、構造化文書を有するコンテンツに対して情報を埋め込むにあたり、情報の埋め込みによるコンテンツの知覚的な変化を抑えつつ、情報の埋め込み箇所の特定が困難なようにすることができるという効果が得られる。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態におけるコンテンツ作成装置の構成例を示す図である。
【図２】第１実施形態における原コンテンツの構造例を示す図である。
【図３】第１実施形態のコンテンツ作成装置による総合的変換の一態様例を示す図である。
【図４】第１実施形態のコンテンツ作成装置による能動的コンテンツ変換の手順の一例を示す図である。
【図５】第１実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。
【図６】第１実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。
【図７】第１実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。
【図８】第１実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。
【図９】第１実施形態におけるコンテンツ作成装置が実行する処理手順例を示すフローチャートである。
【図１０】第１実施形態におけるコンテンツ検査装置の構成例を示す図である。
【図１１】第２実施形態におけるコンテンツ作成装置の構成例を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の一実施形態によるコンテンツ作成装置、コンテンツ検査装置について図面を参照して説明する。
【００２５】
＜第１実施形態＞
図１は、第１実施形態としてのコンテンツ作成装置１００の構成例を示している。同図に示すコンテンツ作成装置１００は、変換処理部１０１を備える。
コンテンツの作成にあたり、変換処理部１０１は、能動的要素変換と受動的要素変換を行う。
能動的要素変換は、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する処理である。
能動的要素変換による変換後の能動的変更対象要素については、能動的変更結果要素と呼ぶ。能動的要素変換は、１つの能動的変更対象要素に対して行う個々の変換として定義される。
【００２６】
受動的要素変換は、能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化が、原コンテンツが再生されたときと同等の状態に戻されるように、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を変換する処理である。
受動的要素変換による変換後の受動的変更対象要素については、受動的変更結果要素と呼ぶ。受動的要素変換は、１つの受動的変更対象要素に対して行う個々の変換として定義される。
【００２７】
また、本実施形態において、変更制御符号の生成元となる埋め込み情報は、コンテンツに埋め込むべき情報である。本実施形態において、埋め込み情報は、作成されたコンテンツの正規の配布先のユーザを特定可能なユーザ特定情報を埋込対象データとして含む。
なお、ここでのユーザ特定情報により特定されるユーザは、個人以外であってもよく、例えば法人などの団体であってもよい。
また、ユーザ特定情報は、それ自体でユーザを特定できなくとも、他の情報と組み合わせることでユーザが特定可能となるような情報であってもよい。例えばユーザ識別子などは、それ自体は識別子としての数値等を表すのみであって直接的にユーザを特定できるものではないが、ユーザ識別子に対応付けられたユーザ名などのユーザ情報との組み合わせによってユーザが特定可能になる。
なお、埋め込み情報が含む埋込対象データとしては特に限定されず、ユーザ特定情報以外の情報が含まれてもよいが、以下の説明においては、埋込対象データがユーザ特定情報を含む場合を例に挙げる。このようなユーザ特定情報を埋込対象データとして含む埋め込み情報は、例えばＤＲＭ（Digital Rights Management：デジタル著作権管理）のための情報として機能する。
【００２８】
以降の説明にあたり、以下のように語句を定義する。
「能動的要素変換」の集合については、「能動的要素変換集合」と呼ぶ。また、「受動的要素変換」の集合については、「受動的要素変換集合」と呼ぶ。
また、「能動的要素変換」と「受動的要素変換」とについて特に区別しない場合には、「要素変換」と呼ぶ。
また、「能動的変更対象要素」と「受動的変更対象要素」とについて特に区別しない場合には、「変更対象要素」と呼ぶ。
【００２９】
また、能動的要素変換がそれぞれの能動的変更対象要素に対して行われることによってコンテンツ全体に付与することとなる変換については、「能動的コンテンツ変換」と呼ぶ。
また、受動的要素変換がそれぞれの受動的変更対象要素に対して行われることによってコンテンツ全体に付与することとなる変換については、「受動的コンテンツ変換」と呼ぶ。
また、「能動的コンテンツ変換」と「受動的コンテンツ変換」とで特に区別しない場合には、「コンテンツ変換」と呼ぶ。
さらに、「能動的コンテンツ変換」と「受動的コンテンツ変換」とを組み合わせた変換を「総合的変換」と呼ぶ。
【００３０】
コンテンツ作成装置１００は、総合的変換が行われた原コンテンツ２００を、コンテンツ３００として出力する。コンテンツ３００は、例えば、ネットワークなどを経由して、ユーザに配布することができる。
【００３１】
図２は、本実施形態における原コンテンツ２００の構造例を示している。本実施形態の原コンテンツ２００は、ＨＴＭＬファイル２０１とＣＳＳファイル２０２とＪａｖａＳｃｒｉｐｔファイル２０３とを有する。
ＨＴＭＬファイル２０１は、ＨＴＭＬ（HyperText Markup Language）としてのマークアップ言語により記述された文書のファイルである。ＨＴＭＬファイル２０１は、テキストによる文書と、文書構造を定義した情報とを形成されるファイルである。ＨＴＭＬファイル２０１における文書構造の定義は、文書を形成する要素（ノード）にタグを付すことによって行われる。ＨＴＭＬファイル２０１のように文書構造が定義された文書は構造化文書とも呼ばれる。
【００３２】
なお、原コンテンツ２００が含む構造化文書としては、ＨＴＭＬファイル２０１に限定されるものではなく、例えばＸＭＬ（Extensible Markup Language）、ＳＧＭＬ（Standard Generalized Markup Language）などのように、他のマークアップ言語により記述されたファイルなどであってもよい。
【００３３】
ＣＳＳファイル２０２は、ＨＴＭＬファイル２０１により定義された要素についての装飾を指定する情報（拡張制御情報、装飾指定情報の一例）である。具体的に、ＣＳＳファイル２０２は、構造化文書などにおける表示形式を制御するスタイルシートの１つであるＣＳＳ（Cascading Style Sheets）に従って記述される。
なお、装飾指定情報としては、ＣＳＳファイル２０２に限定されることなく、他のスタイルシートであってもよい。
【００３４】
ＪａｖａＳｃｒｉｐｔファイル２０３は、ＨＴＭＬファイルの再生に動的機能を与える情報（拡張制御情報、動的機能付与情報の一例）である。ＪａｖａＳｃｒｉｐｔ（登録商標）によって記述されたプログラムのファイルである。
ＨＴＭＬファイル２０１によっては静的な状態が表現される。そのうえで、本実施形態の原コンテンツ２００のようにＪａｖａＳｃｒｉｐｔファイル２０３が含められることで、ＨＴＭＬファイル２０１を再生して得られるコンテンツの態様に、動きや対話性などの動的な機能を与えることができる。
なお、動的機能付与情報としては、ＪａｖａＳｃｒｉｐｔファイル２０３以外のプログラムによるファイルであってもよい。
【００３５】
また、図示は省略するが、本実施形態のコンテンツ作成装置１００における変換処理部１０１が総合的変換の対象とする原コンテンツ２００は、例えばコンテンツ作成装置１００が備える記憶装置またはコンテンツ作成装置１００と接続される外部の記憶装置などに記憶されればよい。変換処理部１０１は、これらの記憶装置に記憶されている原コンテンツ２００を取得すればよい。
【００３６】
続いて、図３を参照して、本実施形態の変換処理部１０１による原コンテンツ２００に対する総合的変換の一態様例について説明する。
同図においては、本実施形態の変換処理部１０１が原コンテンツ２００に対して行う総合的変換をＦ（ｘ）として示している。
同図に示される総合的変換（Ｆ（ｘ））における能動的コンテンツ変換として、変換処理部１０１は、ＨＴＭＬファイル２０１における１番目からｋ番目の能動的変更対象要素（N1〜Nk）のそれぞれに対して、１番目からｋ番目の変更制御符号（D1〜Dk）に基づいた変換を行う。これらの能動的要素変換に伴ってコンテンツ全体に能動的コンテンツ変換（f1(x)〜fk(x)）がなされる。
また、総合的変換（Ｆ（ｘ））における受動的コンテンツ変換として、変換処理部１０１は、ＪａｖａＳｃｒｉｐｔファイル２０３における１番目からｍ番目の受動的変更対象要素（P1〜Pm）のそれぞれについて、上記の能動的コンテンツ変換（f1(x)〜fk(x)）により付与される原コンテンツ２００からの視覚的態様の変化が、原コンテンツ２００と同等の状態に戻るように変換を行う（f1-1(x)〜fm-1(x)）。
上記のような総合的変換は、処理Ｆとして、下記の式１のように１以上の合成写像として表すことができる（式１はk=mの場合）。ただし、式１におけるアスタリスクは写像の合成を表す。
【００３７】
なお能動的コンテンツ変換と受動的コンテンツ変換は式１のように交互かつ同数でなくてもよい。コンテンツに対する総合的変換（式１の処理Ｆ）が知覚的態様に対して恒等的な写像である限り、順序や個数に対して交互もしくは同数といった制約は必要ない。例えば複数の能動的コンテンツ変換を異なる数の受動的コンテンツ変換で知覚的態様を相殺してもよい。能動的コンテンツ変換と受動的コンテンツ変換とが１対１でない場合の例を式２に例示する。
式２の例ではf1とf2による能動的コンテンツ変換をg1による受動的コンテンツ変換で相殺している。同様にf3による能動的コンテンツ変換をg2とg3により、fkによる能動的コンテンツ変換をgmによって相殺している。
以下では説明を簡単にするため、kとmが同数であるgi=fi-1の場合について述べるが、総合的変換が知覚的態様について恒等変換であるかぎりにおいて能動的コンテンツ変換と受動的コンテンツ変換の組み合わせ方は任意である。以下でfi-1となっている部分はgjに置き換えることによって、より一般的な形式にすることができる。
【００３８】
【数１】
0006481311.tif 000002
【００３９】
【数２】
0006481311.tif 000003
【００４０】
上記のように総合的変換が行われる結果、同じ図３に示すコンテンツ３００が作成される。コンテンツ３００は、能動的変換ＨＴＭＬファイル３０１とＣＳＳファイル２０２と受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３を含む。
能動的変換ＨＴＭＬファイル３０１は、能動的コンテンツ変換が行われたＨＴＭＬファイルである。受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３は、受動的コンテンツ変換が行われたＪａｖａＳｃｒｉｐｔファイルである。ＣＳＳファイル２０２は、コンテンツ変換は行われておらず、原コンテンツ２００におけるＣＳＳファイル２０２と同じ内容を有する。
【００４１】
図３の例のようにＨＴＭＬファイル２０１に対する能動的コンテンツ変換を行う場合の手順の一例について、図４を参照して説明する。
まず、変換処理部１０１は、埋め込み情報Ｄｔ１について符号化Ｓ１を行って、１次符号列Ｄｔ２を生成する。
埋め込み情報Ｄｔ１は、前述のように、ＨＴＭＬファイル２０１に埋め込むべき情報であり、コンテンツの正当な配布先のユーザを示すユーザ特定情報を含む。ユーザ特定情報は、例えばコンテンツの正当な配布先のユーザを一意に示すユーザ識別子とすることができる。なお、同図においては埋め込み情報Ｄｔ１として「ＡＢＣＤ」の文字列が示されているが、これは埋め込み情報Ｄｔ１が文字列であってもよいことを表しているのであって、具体的な埋め込み情報Ｄｔ１の文字列は任意である。
【００４２】
次に、変換処理部１０１は、１次符号列Ｄｔ２について誤り訂正符号化Ｓ２を行い、２次符号列Ｄｔ３を生成する。
次に、変換処理部１０１は、２次符号列Ｄｔ３に対する分割処理Ｓ３を行うことで複数の分割データＤｔ４−１〜Ｄｔ４−５を得る。本実施形態においては、分割処理Ｓ３により２次符号列Ｄｔ３を分割して得られた分割データＤｔ４−１〜Ｄｔ４−５が、それぞれ、変更制御符号（D1〜D5）である。
【００４３】
なお、分割データＤｔ４−１〜Ｄｔ４−５について特に区別しない場合には、分割データＤｔ４と記載する。また、同図の場合のように、２次符号列Ｄｔ３が５つの分割データＤｔ４−１〜Ｄｔ４−５に分割される場合は、ＨＴＭＬファイル２０１において５つの能動的変更対象要素（N1〜N5）が定められている場合の例に対応する。
また、同図の例からも分かるように、分割データＤｔ４−１〜Ｄｔ４−５としての変更制御符号（D1〜D5）の各々は、図示するように、同じビット数（データ長）である必要はない。
【００４４】
次に、変換処理部１０１は、分割データＤｔ４−１〜Ｄｔ４−５として得られた変更制御符号（D1〜D5）を、ＨＴＭＬファイル２０１における各要素（能動的変更対象要素）N1〜N5に対して埋め込む。
【００４５】
ここで、変更制御符号としての分割データＤｔ４を対応の能動的変更対象要素に埋め込む態様としては多様に考えられるが、一例として以下のような態様を採ることができる。
まず、ＨＴＭＬファイル２０１における能動的変更対象要素については以下のように選択することができる。例えば変換処理部１０１は、ＨＴＭＬファイル２０１において段落を定義するタグ<p>からタグ</p>までの間に文章として記述される文字のうち、先頭から所定文字数おきに１番目〜５番目までの文字をそれぞれ能動的変更対象要素として選択する。
そして、変換処理部１０１は、１番目〜５番目の各文字（能動的変更対象要素）のコードポイントのそれぞれについて、変更制御符号（D1〜D5）のそれぞれに基づいて変更を行う。このようにして、埋め込み情報Ｄｔ１が埋め込まれた能動的変換ＨＴＭＬファイル３０１が得られる。
【００４６】
なお、変換処理部１０１は、埋め込み情報Ｄｔ１にチェックデジットを含める処理を行ってもよい。
変換処理部１０１は、例えば以下のように埋め込み情報Ｄｔ１にチェックデジットを含めることができる。
ここでは、ユーザ特定情報が「ＡＢＣＤ」の文字列であって、「ＡＢＣＤ」の文字列により特定されるユーザに割り当てた秘密の文字列が「８ＱｔＺ２ｐ」である場合を例に挙げる。
この場合の変換処理部１０１は、「ＡＢＣＤ」の文字列に「８ＱｔＺ２ｐ」を連結することで「ＡＢＣＤ８ＱｔＺ２ｐ」の文字列を得る。
そのうえで、変換処理部１０１は、「ＡＢＣＤ８ＱｔＺ２ｐ」の文字列に対して暗号学的ハッシュ関数（たとえばＳＨＡ−５１２）によりハッシュ値を計算する。そして、変換処理部１０１は、計算によって得られたハッシュ値を「ＡＢＣＤ」の文字列に付加する。このように、「ＡＢＣＤ」の文字列にハッシュ値が付加された情報が埋め込み情報Ｄｔ１となる。
【００４７】
また、埋め込み情報Ｄｔ１から変更制御符号を生成するにあたり、誤り訂正符号化Ｓ２と分割処理Ｓ３の少なくともいずれか１つが省略されてもよい。また、分割処理Ｓ３を行わない場合、埋め込み情報Ｄｔ１から生成される変更制御符号は１つとなる。この場合において能動的変更対象要素が複数である場合には、複数の能動的変更対象要素の各々に対して、同じ１つの変更制御符号により能動的要素変換を行えばよい。
【００４８】
また、上記のように能動的コンテンツ変換が行われたのに応じて、ＪａｖａＳｃｒｉｐｔファイル２０３に対する受動的コンテンツ変換は、例えば以下のように行われる。
変換処理部１０１は、ＪａｖａＳｃｒｉｐｔファイル２０３において、能動的コンテンツ変換による変換対象とされた能動的変更対象要素に対応する受動的変更対象要素P1〜Pmのそれぞれについて受動的要素変換を行う。この際には、能動的変換ＨＴＭＬファイル３０１による原コンテンツからの視覚的態様の変化がキャンセルされるように、即ち、上記の１番目〜５番目の各文字（能動的変更結果要素）のコードポイントを原コンテンツ２００と同じとする制御が行われるように受動的変更対象要素P1〜Pmを変換する。このようにして受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３が得られる。
なお、上記の説明では、能動的変更対象要素の数と受動的変更対象要素の数とが同じ（k=m）である場合を例に挙げている。しかし、能動的変更対象要素の数と受動的変更対象要素の数は同じであるとは限らない。
【００４９】
上記のように総合的変換が行われることによって得られたコンテンツ３００を、コンテンツ再生装置（例えばウェブブラウザなど）が再生するにあたり、まず、能動的変換ＨＴＭＬファイル３０１を再生することによっては、以下のような態様が得られる。
つまり、能動的変換ＨＴＭＬファイル３０１を再生して表示される１番目〜５番目の各文字（能動的変更結果要素）については、ＨＴＭＬファイル２０１を再生したときと異なる文字となる。
そのうえで、コンテンツ再生装置によって、上記のように表示された能動的変換ＨＴＭＬファイル３０１に対して、受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３が実行される。これにより、上記の１番目〜５番目の文字（能動的変更結果要素）のコードポイントは、原コンテンツ２００におけるＨＴＭＬファイル２０１に含まれていた能動的変更対象要素と同じとなるように変更される。この結果、１番目〜５番目の要素に対応する文字は、原コンテンツ２００を再生させたときに表示されるのと同じものが表示される。
【００５０】
このようにしてコンテンツ３００が再生されることによっては、能動的変換ＨＴＭＬファイル３０１によって原コンテンツ２００と異なる視覚的態様の変化が与えられる。そのうえで、受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３によっては、能動的変換ＨＴＭＬファイル３０１による原コンテンツからの視覚的態様の変化を、原コンテンツが再生されたときと同等の状態に戻すように変更が与えられる。
この結果、コンテンツ３００は、能動的変換ＨＴＭＬファイル３０１と受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３とにより２段階の視覚的変更が与えられるのではあるが、表示される内容としては、原コンテンツ２００と同じ内容を有している。
【００５１】
また、図５を参照して、原コンテンツ２００におけるＨＴＭＬファイル２０１とＪａｖａＳｃｒｉｐｔファイル２０３とを対象とする総合的変換の他の態様例について説明する。
つまり、同図に示す総合的変換（Ｆ（ｘ））は、図３の場合とは逆に、原コンテンツ２００におけるＪａｖａＳｃｒｉｐｔファイル２０３に能動的コンテンツ変換（f1(x)〜fk(x)）を行い、ＨＴＭＬファイル２０１に対して受動的コンテンツ変換（f1-1(x)〜fm-1(x)）を行うというものである。
即ち、同図と図３とから分かるように、能動的コンテンツ変換の対象となるファイルと、受動的コンテンツ変換の対象となるファイルとが入れ替わってもよい。
【００５２】
そして、図５のように作成されたコンテンツ３００Ａについて再生を行った場合には、能動的変換ＪａｖａＳｃｒｉｐｔファイル３０３Ａの実行により、再生された受動的変換ＨＴＭＬファイル３０１Ａの視覚的態様に変化が与えられる。ただし、受動的変換ＨＴＭＬファイル３０１Ａは受動的コンテンツ変換が行われている。このため、能動的変換ＪａｖａＳｃｒｉｐｔファイル３０３Ａによって与えられた視覚的態様の変化は、受動的変換ＨＴＭＬファイル３０１Ａ自体を再生することによって戻される。この結果、図５のコンテンツ３００Ａを再生した場合にも、原コンテンツ２００と同じ視覚的態様による表示が行われる。
【００５３】
続いて、本実施形態における総合的変換の他の態様例について説明する。
図６（ａ）は、総合的変換（Ｆ（ｘ））として、ＨＴＭＬファイル２０１に対して能動的コンテンツ変換が行われ、ＣＳＳファイル２０２に対して受動的コンテンツ変換が行われる例である。
【００５４】
また、図６（ｂ）は、図６（ａ）とは逆に、総合的変換（Ｆ（ｘ））として、ＨＴＭＬファイル２０１に対して受動的コンテンツ変換が行われ、ＣＳＳファイル２０２に対して能動的コンテンツ変換が行われる例である。
【００５５】
図７（ａ）は、総合的変換（Ｆ（ｘ））として、ＪａｖａＳｃｒｉｐｔファイル２０３に対して能動的コンテンツ変換が行われ、ＣＳＳファイル２０２に対して受動的コンテンツ変換が行われる例である。
また、図７（ｂ）は、図７（ａ）とは逆に、総合的変換（Ｆ（ｘ））として、ＪａｖａＳｃｒｉｐｔファイル２０３に対して受動的コンテンツ変換が行われ、ＣＳＳファイル２０２に対して能動的コンテンツ変換が行われる例である。
【００５６】
ここで、図３及び図５〜図７に挙げた総合的変換は、能動的コンテンツ変換と受動的コンテンツ変換とのそれぞれを、原コンテンツ２００の構造における異なるファイルに施すというものであった。
これに対して、図８は、総合的変換（Ｆ（ｘ））として、同じＪａｖａＳｃｒｉｐｔファイル２０３に対して能動的コンテンツ変換と受動的コンテンツ変換とが行われる例である。
このように、本実施形態における総合的変換は、原コンテンツ２００における同じ１つのファイルに能動的コンテンツ変換と受動的コンテンツ変換とが行われてもよい。
【００５７】
また、上記のように原コンテンツ２００の構造における同じ１つのファイルを対象として能動的コンテンツ変換と受動的コンテンツ変換とを行うにあたり、対象とするファイルは、ＪａｖａＳｃｒｉｐｔファイル２０３に限定されるものではない。つまり、能動的コンテンツ変換と受動的コンテンツ変換とを行う対象のファイルとしては、ＨＴＭＬファイル２０１であってもよいし、ＣＳＳファイル２０２であってもよい。
そのうえで、ＨＴＭＬファイル２０１に能動的コンテンツ変換と受動的コンテンツ変換とを行う場合、本実施形態のコンテンツ３００としては、少なくともＨＴＭＬファイル３０１を有する構造であってもよい。
【００５８】
また、図示による説明は省略するが、能動的コンテンツ変換において能動的要素変換集合を成す能動的要素変換のそれぞれは、全て同じ１つのファイルに対して行われなくともよく、複数のファイルに対して分散して行われてよい。
例えば、能動的要素変換集合におけるｋ（ｋ＝ｋ１＋ｋ２＋ｋ３）個の能動的要素変換のうち、ｋ１個の所定の能動的要素変換はＨＴＭＬファイル２０１に対して行われ、ｋ２個の所定の能動的要素変換はＣＳＳファイル２０２に対して行われ、ｋ３個の所定の能動的要素変換はＪａｖａＳｃｒｉｐｔファイル２０３に対して行われるようにしてよい。
受動的要素変換集合におけるｍ（ｍ＝ｍ１＋ｍ２＋ｍ３）個の受動的要素変換についても同様である。
【００５９】
また、図４の説明では、変更制御符号と能動的変更対象要素とが１対１の関係である場合を例示しているが、必ずしも１対１の関係である必要はない。一例として、複数の異なる能動的変更対象要素のそれぞれに対して、同じ１つの変更制御符号により能動的要素変換を行ってもよい。
【００６０】
さらに、コンテンツを配布するユーザごとに異なる総合的変換が行われるようにしてもよい。ユーザごとに総合的変換を異ならせるパターンは多様である。
一例として、ユーザごとに、能動的変更対象要素と、これに対応する受動的変更対象要素とを異ならせることができる。
例えば、前述の図３の例の場合のようにコードポイントを変更するにあたり、或るユーザに対応しては、ＨＴＭＬファイル２０１において段落を定義するタグ<p>からタグ</p>までの間に文章として記述される文字のうち、先頭から５文字おきに能動的変更対象要素としての文字を選択する。これに対して、他のユーザに対応しては、先頭から１０文字おきに能動的変更対象要素としての文字を選択するというものである。上記のように能動的変更対象要素の選択が異なるのに伴い、受動的変更対象要素の選択もユーザごとに異なってくる。
また、上記のようにユーザごとに能動的変更対象要素と受動的変更対象要素とを異ならせる場合、能動的変更対象要素及び受動的変更対象要素の数も、ユーザごとに異なっていてよい。
【００６１】
また、ユーザごとに、能動的コンテンツ変換が行われるファイルと、受動的コンテンツ変換が行われるファイルとが異なっていてもよい。
さらに、能動的要素変換集合における能動的要素変換のそれぞれが変換対象とする要素が含まれるファイルが、ユーザごとに異なっていてもよい。
【００６２】
また、これまでの説明において、能動的要素変換及び受動的要素変換による視覚的態様の制御の対象としては、文字としてのオブジェクトのコードポイント、即ち文字である例を挙げたが、これに限定されるものではない。
例えば、同じ文字としてのオブジェクトの文字間隔を、能動的要素変換及び受動的要素変換により制御してもよい。
【００６３】
文字間隔の制御にあたり、ＨＴＭＬファイルに対して能動的要素変換を行う場合の一具体例としては、<div id=”box1” class=”box”>のタグにおいて、<style>のタグにより、boxのクラス属性におけるletter-spacingの値を、変更制御符号に基づいて変更すればよい。また、上記の能動的要素変換に対応する受動的要素変換としては、例えばＣＳＳファイルにおけるid=”box1”に対してletter-spacing: normalと記述すればよい。
上記のように要素変換が行われた場合、例えばＨＴＭＬファイルを再生することによっては、box1に対応して配置される文字について変更後のletter-spacingの値に従った文字間隔が与えられる。しかし、ＣＳＳファイルにおいて、同じbox1について、letter-spacing: normalが記述されていることで、上記のＨＴＭＬファイルのletter-spacingの値に従った文字間隔がキャンセルされ、標準の文字間隔に戻される。つまり、コンテンツを再生して得られる要素変換に対応の文字は、原コンテンツ２００と同じ視覚的態様となる。
【００６４】
また、要素変換による視覚的態様の制御対象は、オブジェクトの色であってもよい。また、要素変換による視覚的態様の制御対象は、オブジェクトのサイズであってもよい。また、要素変換による視覚的態様の制御対象は、オブジェクトの形状であってもよい。また、要素変換による視覚的態様の制御対象は、オブジェクトの配置（レイアウト）であってもよい。
そのうえで、１つの総合的変換を成す複数の能動的コンテンツ変換及び受動的コンテンツ変換による視覚的態様の制御対象は、例えば上記の文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置などのうちから適宜選択されてよい。つまり、１つの総合的変換における複数組の能動的要素変換及び受動的要素変換の各組による視覚的態様の制御対象は、それぞれが異なっていてもよい。
また、視覚的態様の制御対象となるオブジェクトは、文字に限定されるものではなく、例えば背景、フレームなどであってもよい。
【００６５】
これまでの説明から理解されるように、本実施形態のコンテンツ作成装置１００により作成されるコンテンツ３００は、原コンテンツ２００に対して能動的コンテンツ変換と、受動的コンテンツ変換とが行われたものである。これにより、コンテンツ３００は、原コンテンツ２００における能動的変更対象要素と受動的変更対象要素とのそれぞれから変換された能動的変更結果要素と受動的変更結果要素とを含むデータ構造を有する。
そのうえで、コンテンツ３００には、先に図４により説明した受動的コンテンツ変換によって埋め込み情報Ｄｔ１が埋め込まれている。
【００６６】
そして、ウェブブラウザなどが動作する情報処理装置（コンピュータ）がコンテンツ３００を再生する際には、情報処理装置は、コンテンツ３００に含まれる能動的変更結果要素と受動的変更結果要素とを以下のように利用する。つまり、情報処理装置は、能動的変更結果要素を利用して、コンテンツ３００を再生したときの知覚的態様について、原コンテンツ２００を再生したときとは異なる所定の変化を与える。その一方で、情報処理装置は、受動的変更結果要素を利用して、能動的変更結果要素により与えられる知覚的態様の変化について原コンテンツ２００を再生したときと同等の状態に戻す。
【００６７】
このようにしてコンテンツ３００が再生されることによって得られる視覚的態様は、結果的には原コンテンツ２００と同じである。一方、例えば一般的な電子透かしなどは、原コンテンツとは異なる視覚的態様によりコンテンツに対して著作権保護情報が埋め込まれる。
このような電子透かしの技術と比較すれば、本実施形態のコンテンツ３００は、著作権保護情報を埋め込み情報Ｄｔ１として埋め込んでいるのにも関わらず、原コンテンツ２００と同じ視覚的態様となることから、例えばコンテンツの制作者の意図を損なうことがない。
また、本実施形態のコンテンツ３００が原コンテンツ２００と同じ視覚的態様で再生されることにより、例えば埋め込み情報Ｄｔ１による著作権保護情報が埋め込まれていることが悪意あるユーザに気づかれにくい。さらに、埋め込み情報Ｄｔ１が埋め込まれていることがユーザに認知されているとしても、原コンテンツ２００との視覚的な差異がないことから、コンテンツ３００においてどのように埋め込み情報Ｄｔ１が埋め込まれているのかを特定することも困難になる。
【００６８】
そのうえで、本実施形態のコンテンツ作成装置１００における変換処理部１０１は、先に説明したように、コンテンツの配布先のユーザに応じて、総合的変換の内容を異ならせてコンテンツ３００を作成することができる。そして、このように作成されたコンテンツ３００が各ユーザに配布される。
これにより、総合的変換の規則性を見出すことがさらに難しくなり、埋め込み情報Ｄｔ１がどのようなものであるのかについて特定することがさらに困難になる。
【００６９】
前述のように本実施形態においてコンテンツ３００に埋め込まれる埋め込み情報Ｄｔ１は、ユーザ特定情報を含み、コンテンツ３００の配布先のユーザごとに固有となる情報である。このようにコンテンツ３００に対してユーザ特定情報が埋め込まれることによって、以下のようにコンテンツを不正に配布したユーザを特定することができる。
【００７０】
図１０は、本実施形態におけるコンテンツ検査装置の構成例を示している。同図に示すコンテンツ検査装置４００は、変更結果要素特定部４０１、埋め込み情報復元部４０２及びチェックデジット判定部４０３を備える。
変更結果要素特定部４０１は、原コンテンツにおける能動的変更対象要素または受動的変更対象要素との類似性に基づいて、検査対象コンテンツ５００から変更結果要素（受動的変更結果要素または能動的変更結果要素）を特定する。
埋め込み情報復元部４０２は、変更結果要素特定部４０１による変更結果要素の特定結果に基づいて埋め込み情報を復元する。
チェックデジット判定部４０３は、埋め込み情報に含まれるチェックデジットが、埋め込み情報復元部４０２により復元された埋め込み情報に含まれるユーザ特定情報（埋込対象データの一例）を利用して計算されたハッシュ値（計算された値の一例）と一致するか否かについて判定する。
【００７１】
上記の構成から理解されるように、コンテンツ検査装置４００は、不正に配布されたコンテンツの検査として、コンテンツに埋め込まれている埋め込み情報Ｄｔ１を復元する。
図４のコンテンツの場合を例に埋め込み情報Ｄｔ１の復元の具体例について説明する。変更結果要素特定部４０１は、まず、検査対象となるＨＴＭＬファイルにおける変更結果要素（能動的変更結果要素または受動的変更結果要素）の特定を行う。このため、変更結果要素特定部４０１は、原コンテンツと検査対象のコンテンツとのそれぞれを構文解析し、原コンテンツの変更対象要素と類似（もしくは一致）する要素（変更結果要素候補）を検査対象コンテンツから抽出する。
【００７２】
類似性に基づく変更結果要素の抽出は、例えば以下のようにして行うことができる。つまり、変更結果要素特定部４０１は、構文解析された結果を木構造として取得し、木構造のルート（根）要素から子要素へと一階層ずつ類似の要素を辿っていく。そして、変更結果要素特定部４０１は、類似の要素を辿っていく過程において、原コンテンツの変更対象要素との対応が得られる検査対象コンテンツの要素を変更結果要素として抽出するというものである。
【００７３】
ここで、不正にコンテンツを配布しようとするユーザは、埋め込み情報Ｄｔ１の復元を困難化するために、検査対象のコンテンツの構造において、例えば要素の変更、追加、削除などの変化を与えている可能性がある。このようなことを考慮し、変更結果要素特定部４０１は、変更結果要素の抽出にあたっては、必ずしも完全一致する要素を対象としなくともよい。
例えば、変更結果要素特定部４０１は、ルート（根）要素から子要素に一階層ずつ類似の要素を辿ってゆくにあたり、所定の閾値以上の類似度が得られる場合には、原コンテンツの変更対象要素との対応が得られる要素を変更結果要素として抽出すればよい。
具体例として、ＨＴＭＬファイルの場合であれば、<div style=”background-color:#123456”>との記述と、<div style=”background-color:#123457”>との記述は、閾値以上の類似度を有する。また<div>タグと機能が類似する<span>タグを類似性が高いとみなしてもよい。
このように変更結果要素が抽出されることを以て、変更結果要素が特定される。
【００７４】
上記の変更結果要素の特定結果に基づいて、埋め込み情報復元部４０２は、ＨＴＭＬファイルにおける１番目から５番目の要素N1〜N5ごとに埋め込まれた変更制御符号としての分割データＤｔ４−１〜Ｄｔ４−５を抽出する。
埋め込み情報復元部４０２は、例えば、コンテンツ３００の能動的変換ＨＴＭＬファイル３０１における１番目から５番目の各要素に対する、原コンテンツ２００のＨＴＭＬファイル２０１における１番目から５番目の各要素の差分に基づいて、分割データＤｔ４−１〜Ｄｔ４−５を抽出できる。
【００７５】
埋め込み情報復元部４０２は、抽出された分割データＤｔ４−１〜Ｄｔ４−５を連結して２次符号列Ｄｔ３を生成し、２次符号列Ｄｔ３に付加された誤り訂正符号を利用した誤り訂正を行うことにより１次符号列Ｄｔ２を生成する。そして、埋め込み情報復元部４０２は、１次符号列Ｄｔ２について復号を行って埋め込み情報Ｄｔ１を生成する。このようにして、埋め込み情報復元部４０２によって、不正に配布されたコンテンツから埋め込み情報Ｄｔ１を復元することができる。
埋め込み情報復元部４０２は、上記のように復元された埋め込み情報Ｄｔ１を取得することによりユーザ特定情報を取得することができる。
【００７６】
コンテンツ不正配信についての監視者は、これまでにコンテンツを正規に配布したユーザごとのユーザ特定情報を格納したユーザ特定情報データベースを保有している。そこで、監視者は、コンテンツ検査装置４００により取得されたユーザ特定情報とユーザ特定情報データベースとを照合することによって、コンテンツを不正に再配布したユーザを特定することができる。
なお、コンテンツ検査装置４００に上記のユーザ特定情報データベースを記憶させておいてもよい。そして、コンテンツ検査装置４００が不正に配布された検査対象コンテンツから取得したユーザ特定情報とユーザ特定情報データベースとを照合して、コンテンツを不正に再配布したユーザを特定できるようにしてもよい。
【００７７】
また、コンテンツ検査装置４００は、ユーザ特定情報を取得したうえで、取得されたユーザ特定情報が真にコンテンツ作成装置１００によって生成されたコンテンツに埋め込まれたものであるか否かについての検証（判定）をさらに行うこともできる。
上記の手法によるユーザ特定情報の取得（埋め込み情報Ｄｔ１の復元）にあたっては、原コンテンツから作成されたものではない別のコンテンツを対象として埋め込み情報の復元を行った場合に、復元された埋め込み情報が、原コンテンツから作成されたコンテンツの埋め込み情報と偶発的に一致してしまう可能性がある。
【００７８】
埋め込み情報（ユーザ特定情報）が偶発的に一致してしまうことの可能性を排除するには、前述のように、コンテンツ変換に際して埋め込み情報にチェックデジットを付加することが有効である。そして、コンテンツ検査装置４００が、埋め込み情報の復元にあたって、その埋め込み情報に付加されているチェックデジットを利用した検証を行うことで、埋め込み情報が、別のコンテンツではなく、真に原コンテンツに埋め込まれたものであるか否かを判定できる。つまり、取得されたユーザ特定情報が真にコンテンツ作成装置１００によって生成されたコンテンツに埋め込まれたものであるか否かが判定できる。
【００７９】
コンテンツ検査装置４００は、チェックデジットを利用した検証を例えば以下のように行うことができる。
前述のように、チェックデジットは、例えば「ＡＢＣＤ」などのユーザ特定情報としての文字列に「８ＱｔＺ２ｐ」などの秘密の文字列を連結した文字列（「ＡＢＣＤ８ＱｔＺ２ｐ」）を利用して計算して得られるハッシュ値であり、ユーザ特定情報の文字列に付加される。
そこで、コンテンツ検査装置４００は、検査対象のコンテンツから取得したユーザ特定情報を利用してハッシュ値を計算する。そして、計算されたハッシュ値と、検査対象のコンテンツから取得した埋め込み情報に含まれるチェックデジットとが一致するか否かについて判定する。
ハッシュ値とチェックデジットとが一致すれば、取得されたユーザ特定情報が真にコンテンツ作成装置１００によって生成されたコンテンツに埋め込まれたものであると判定される。
一方、ハッシュ値とチェックデジットとが一致しなければ、取得されたユーザ特定情報は、真にコンテンツ作成装置１００によって生成されたコンテンツに埋め込まれたものではないと判定される。
なお、暗号学的ハッシュ関数では異なる入力に対して出力が衝突する確率は事実上無視できる。このため、情報埋め込み装置によって生成していないコンテンツについて、コンテンツ検査装置４００が計算したハッシュ値と検査対象コンテンツから取得したチェックデジットが一致してしまうことは事実上起こらないと考えてよい。
【００８０】
上記のようにして、コンテンツ検査装置４００においては、コンテンツの配布を正規に受けたユーザを特定することができる。この場合において、上記のように特定されたユーザは、自己が正規に配布を受けたコンテンツを、さらに不正に再配布していると捉えることができる。つまり、コンテンツの配布を正規に受けたユーザを特定することにより、コンテンツを不正に配布するユーザが特定可能になる。
このように、埋め込み情報Ｄｔ１が埋め込まれたコンテンツ３００は、不正に配布を行ったユーザを特定可能にするという著作権保護機能を有している。
【００８１】
また、図４にて説明したように、本実施形態における変更制御符号は、誤り訂正符号化Ｓ２の処理を経て生成することができる。つまり、本実施形態においては、誤り訂正符号化された埋め込み情報Ｄｔ３に基づいて生成された変更制御符号に基づいて能動的要素変換を行うことができる。
例えば悪意のあるユーザがコンテンツ３００を不正に配布するにあたり、コンテンツ３００における能動的変更結果要素について改竄を行う可能性がある。しかし、上記のように誤り訂正符号化された埋め込み情報Ｄｔ３に基づく能動的要素変換が行われることで、能動的変更結果要素に対する改竄が行われたとしても、誤り訂正によって埋め込み情報Ｄｔ１を正常に復元できる可能性が高くなる。これにより、例えば監視者がコンテンツを不正に配布したユーザを特定できる可能性が高くなる。
【００８２】
次に、図９のフローチャートを参照して、コンテンツ作成装置１００が実行する処理手順例について説明する。なお、同図に示す処理は、図３及び図４にて説明したように、総合的変換として、ＨＴＭＬファイル２０１に能動的コンテンツ変換を行い、ＪａｖａＳｃｒｉｐｔファイル２０３に受動的コンテンツ変換を行う場合の例に対応する。
【００８３】
コンテンツ作成装置１００において、変換処理部１０１は、埋め込み情報Ｄｔ１を入力する（ステップＳ１０１）。
次に、変換処理部１０１は、ステップＳ１０１にて入力した埋め込み情報Ｄｔ１を利用して、ＨＴＭＬファイル２０１におけるi番目の能動的変更対象要素Ｎｉ（１≦ｉ≦ｋ）のそれぞれに対応する変更制御符号D1〜Dkを生成する（ステップＳ１０２）。
先に図４にて説明した例では、変更制御符号D1〜Dkは、分割データＤｔ４−１〜Ｄｔ４−５（k=5）であり、例えば変換処理部１０１が図４にて説明した符号化Ｓ１、誤り訂正符号化Ｓ２、分割処理Ｓ３を実行することによって得られる。
【００８４】
次に、変換処理部１０１は、変数ｉに初期値としての１を代入する（ステップＳ１０３）。
続いて、以降における変換処理部１０１は、ＨＴＭＬファイル２０１を対象とする能動的コンテンツ変換fi(x)のための処理を行う。
そのために、変換処理部１０１は、ＨＴＭＬファイル２０１における能動的変更対象要素Niに対して、変更制御符号Diによる能動的要素変換を行う（ステップＳ１０４）。
【００８５】
ステップＳ１０４により能動的要素変換を行った後、変換処理部１０１は、変数ｉをインクリメントしたうえで（ステップＳ１０５）、変数ｉが最大値であるｋより大きいか否かについて判定する（ステップＳ１０６）。
変数ｉがｋ以下である場合（ステップＳ１０６−ＮＯ）、まだ全ての能動的要素変換が完了していない。
そこで、この場合の変換処理部１０１は、ステップＳ１０４に処理を戻すことで、ＨＴＭＬファイル２０１における次の能動的変更対象要素Niに対して能動的要素変換を行う。
そして、全ての能動的変更対象要素N1〜Nkに対する能動的要素変換が完了するのに応じて、変換処理部１０１は、変数ｉがｋより大きいことを判定する（ステップＳ１０６−ＹＥＳ）。この場合、変換処理部１０１は、ＪａｖａＳｃｒｉｐｔファイル２０３を対象とする受動的コンテンツ変換のための以下の処理に移行する。
【００８６】
次に、変換処理部１０１は、変数ｊについて、初期値である１を代入する（ステップＳ１０７）。
続いて、変換処理部１０１は、ＪａｖａＳｃｒｉｐｔファイル２０３における受動的変更対象要素Pjに対して受動的要素変換を行う（ステップＳ１０８）。
【００８７】
ステップＳ１０８により受動的変更対象要素Pjに対する受動的要素変換を行った後、変換処理部１０１は、変数ｊをインクリメントしたうえで（ステップＳ１０９）、変数ｊが最大値であるｍより大きいか否かについて判定する（ステップＳ１１０）。
変数ｊがｍ以下である場合（ステップＳ１１０−ＮＯ）、まだ全ての受動的要素変換が完了していない。
そこで、この場合の変換処理部１０１は、ステップＳ１０８に処理を戻すことで、ＪａｖａＳｃｒｉｐｔファイル２０３を対象として次の受動的変更対象要素Pjに対する受動的要素変換を行う。
そして、全ての受動的変更対象要素P1〜Pmに対する受動的要素変換（受動的コンテンツ変換）が完了するのに応じて、変換処理部１０１は、変数ｊがｍより大きいことを判定すると（ステップＳ１１０−ＹＥＳ）、同図に示す処理を終了する。
このようにして、能動的コンテンツ変換と受動的コンテンツ変換（総合的変換）とが行われることで、例えば図３に例示したように、能動的変換ＨＴＭＬファイル３０１、受動的変換ＪａｖａＳｃｒｉｐｔファイル３０３及びＣＳＳファイル２０２を含むコンテンツ３００が作成される。
【００８８】
なお、同図に示す処理手順では、先に能動的コンテンツ変換（ステップＳ１０１〜Ｓ１０６）を実行し、次に受動的コンテンツ変換（ステップＳ１０７〜Ｓ１１０）を実行している。しかし、先に受動的コンテンツ変換を実行し、次に能動的コンテンツ変換を実行するという処理手順であってもよい。
また、ｉ番目の能動的変更対象要素Niとｊ番目の受動的変更対象要素Pjの組み合わせごとに、順次、ｉ番目の能動的変更対象要素Niに対する能動的要素変換とｊ番目の受動的変更対象要素Pjに対する受動的要素変換とを実行していくという処理手順であってもよい。この場合においても、能動的要素変換と受動的要素変換の順序としては、能動的要素変換が先で、受動的要素変換が後となってもよいし、逆に、受動的要素変換が先で、能動的要素変換が後となってもよい。
【００８９】
＜第２実施形態＞
続いて、第２実施形態について説明する。図１１は、第２実施形態におけるコンテンツ作成装置１００Ａの構成例を示している。なお、同図において図１と同一部分には同一符号を付し、ここでは主に図１との相違点について説明する。
【００９０】
同図に示すコンテンツ作成装置１００Ａは、変換処理部１０１に加えて、難読化処理部１０２をさらに備える。
難読化処理部１０２は、コンテンツ３００の一部または全部について難読化が図られるようにする。なお、コンテンツ３００の難読化にあたり、一般的にはスクリプト部分（ＪａｖａＳｃｒｉｐｔファイル）に対して難読化が行われるが、難読化によって視覚的効果に影響を与えない場合、スタイルシート（ＣＳＳファイル）や構造化文書（ＨＴＭＬファイル）に対して難読化が行われてもよい。
【００９１】
具体的に、ＪａｖａＳｃｒｉｐｔファイルに対して難読化を行う場合、難読化処理部１０２は、能動的要素変換と受動的要素変換との少なくともいずれか一方が行われたＪａｖａＳｃｒｉｐｔファイルを入力し、入力したＪａｖａＳｃｒｉｐｔファイルについて難読化のための処理を行えばよい。
なお、難読化のアルゴリズムとしては特に限定されるものではなく、例えば既存のアルゴリズムが適用されてもよい。
【００９２】
なお、上記の例では、能動的要素変換または受動的要素変換が行われた後のファイルを対象として難読化処理部１０２による難読化処理が行われている。しかし、上記とは逆に、難読化処理部１０２が難読化処理を行ったファイルに対して、能動的要素変換または受動的要素変換が行われるようにしてもよい。
【００９３】
このように、コンテンツについて難読化が図られることにより、例えば悪意のあるユーザが、コンテンツにおいて埋め込み情報が埋め込まれた箇所をリバースエンジニアリングなどにより特定することがさらに困難となる。
【００９４】
また、これまでの説明においては、コンテンツに対する要素変換（能動的要素変換、受動的要素変換）として、視覚的態様に変化を与えている。しかし、コンテンツに対する総合的変換としては、例えば聴覚的態様などに変化を与えるものであってもよい。例えば、構造化文書を有するコンテンツが音声を再生可能なように作成された場合において、変更制御符号に基づいて音声データに対して変換を行うことにより、聴覚的な変化を与えることが可能である。
即ち、本実施形態における要素変換（能動的要素変換、受動的要素変換）は、コンテンツの視覚的態様や聴覚的態様などをはじめとする知覚的態様に変化を与えるものであればよい。
【００９５】
また、受動的要素変換によっては、必ずしも対応の能動的要素変換により与えられる知覚的態様の変化が完全に元に戻されなくともよい。つまり、受動的要素変換としては、能動的要素変換により与えられる知覚的態様の変化について、完全に元に戻しはしないものの、例えば人によっては知覚できない程度に戻すようなものであってもよい。
また、能動的要素変換もしくは受動的要素変換に伴って例えば意図しない遅延が発生し、遅延によって知覚的態様に何らかの想定外な変化が生じる可能性はあるが、その変化は無視できるものとする。
【００９６】
なお、コンテンツ作成装置（１００、１００Ａ）と、監視システムにおけるコンテンツ検査装置４００とは互いに個別の装置であってもよいし、コンテンツ作成機能とコンテンツ検査機能とを有する１つの装置として構成されてもよい。
【００９７】
なお、コンテンツ作成装置（１００、１００Ａ）、コンテンツ検査装置４００の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコンテンツ作成装置（１００、１００Ａ）、コンテンツ検査装置４００としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００９８】
１００，１００Ａ  コンテンツ作成装置、１０１  変換処理部、１０２  難読化処理部、２００  原コンテンツ、２０１  ＨＴＭＬファイル、２０２  ＣＳＳファイル、２０３  ＪａｖａＳｃｒｉｐｔファイル、３００、３００Ａ  コンテンツ、３０１  能動的変換ＨＴＭＬファイル、３０１Ａ  受動的変換ＨＴＭＬファイル、３０３  受動的変換ＪａｖａＳｃｒｉｐｔファイル、３０３Ａ  能動的変換ＪａｖａＳｃｒｉｐｔファイル、４００  コンテンツ検査装置、４０１  変更結果要素特定部、４０２  埋め込み情報復元部、４０３  チェックデジット判定部、５００  検査対象コンテンツ、Ｄｔ１  埋め込み情報、Ｄｔ２  １次符号列、Ｄｔ３  ２次符号列、Ｄｔ４  分割データ、Ｓ１  符号化、Ｓ２  誤り訂正符号化、Ｓ３  分割処理、Ｓ４  埋め込み
【図１】
0006481311.tif 000004
【図２】
0006481311.tif 000005
【図３】
0006481311.tif 000006
【図４】
0006481311.tif 000007
【図５】
0006481311.tif 000008
【図６】
0006481311.tif 000009
【図７】
0006481311.tif 000010
【図８】
0006481311.tif 000011
【図９】
0006481311.tif 000012
【図１０】
0006481311.tif 000013
【図１１】
0006481311.tif 000014