(57)【要約】【課題】  コンテンツを劣化させることなく、コンテンツに耐性のある透かしを埋め込むことは難しい。【解決手段】  情報語抽出部１０は、透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出する。透かしデータベース１８には、本来原コンテンツに透かしとして埋め込むべきである参照情報が情報語に対応づけて格納される。情報語変更部１４は、情報語抽出部１０により抽出された情報語を透かしデータベース１８に登録する際、抽出された情報語が既に登録済みの情報語と重複する場合、抽出された情報語の一部を変更して重複を解消する。透かし登録部１６は、重複が解消された情報語を参照情報に対応づけて透かしデータベース１８に登録する。情報語埋め込み部２２は、重複が解消された情報語を原コンテンツに透かしとして埋め込む。【選択図】        図１
2006304237.tif 000002
【特許請求の範囲】
【請求項１】
透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出する抽出部と、
前記情報語を参照情報に対応づけて登録するデータベースと、
前記抽出部により抽出された前記情報語を前記データベースに登録する際、抽出された前記情報語が既に登録済みの情報語と重複する場合、抽出された前記情報語の一部を変更して重複を解消する変更部と、
前記変更部により前記重複が解消された前記情報語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込む埋め込み部とを含むことを特徴とする透かし埋め込み装置。
【請求項２】
前記埋め込み部は、前記情報語の誤りを検出するための検査語を前記原コンテンツに透かしとしてさらに埋め込むことを特徴とする請求項１に記載の透かし埋め込み装置。
【請求項３】
前記原コンテンツからの抽出の際に検出された前記情報語の軟値を利用して、前記変更部により前記重複が解消された前記情報語を前記原コンテンツに透かしとして埋め込む際の埋め込み強度を調整する埋め込み強度調整部をさらに含み、
前記埋め込み部は、前記変更部により重複が解消された前記情報語を、前記埋め込み強度調整部により調整された前記埋め込み強度で前記原コンテンツに埋め込むことを特徴とする請求項１または２に記載の透かし埋め込み装置。
【請求項４】
前記変更部は、
前記抽出部により抽出された前記情報語の異なる部分を変更することにより前記重複が解消された複数の前記情報語の候補を生成する候補生成部と、
前記原コンテンツからの抽出の際に検出された前記情報語の軟値と前記複数の情報語の候補の各々との間で相関を計算し、前記複数の情報語の候補の内、相関が最も高い情報語の候補を選択する相関評価部と、
前記相関評価部により選択された前記情報語の候補を最終的な前記重複が解消された前記情報語として出力する出力部とを含むことを特徴とする請求項１から３のいずれかに記載の透かし埋め込み装置。
【請求項５】
透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出する抽出部と、
前記情報語を参照情報に対応づけて登録するデータベースと、
前記抽出部により抽出された前記情報語を前記データベースに登録する際、抽出された前記情報語が既に登録済みの情報語と重複する場合、抽出された前記情報語の一部を変更して重複を解消する変更部と、
前記情報語の誤りを検出するための検査語を前記原コンテンツに透かしとして埋め込む埋め込み部とを含むことを特徴とする透かし埋め込み装置。
【請求項６】
透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する、情報語と前記情報語の誤りを検出するための検査語とを含む符号語を抽出する抽出部と、
前記情報語を参照情報に対応づけて登録するデータベースと、
前記抽出部により抽出された前記情報語を前記データベースに登録する際、抽出された前記情報語が既に登録済みの情報語と重複する場合、抽出された前記情報語の一部を変更して重複を解消するとともに、前記検査語を再計算することにより前記符号語を再構成する変更部と、
前記変更部により再構成された前記符号語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込む埋め込み部とを含むことを特徴とする透かし埋め込み装置。
【請求項７】
前記原コンテンツからの抽出の際に検出された前記符号語の軟値を利用して、前記変更部により再構成された前記符号語を前記原コンテンツに透かしとして埋め込む際の埋め込み強度を調整する埋め込み強度調整部をさらに含み、
前記埋め込み部は、前記変更部により再構成された前記符号語を、前記埋め込み強度調整部により調整された前記埋め込み強度で前記原コンテンツに埋め込むことを特徴とする請求項６に記載の透かし埋め込み装置。
【請求項８】
前記変更部は、
前記抽出部により抽出された前記情報語の異なる部分を変更することにより前記重複が解消された複数の前記情報語の候補を生成する候補生成部と、
前記複数の情報語の候補の各々に対して前記検査語を再計算し、再計算された前記検査語をその情報語の候補に付加することにより複数の前記符号語の候補を生成する符号語生成部と、
前記原コンテンツからの抽出の際に検出された前記符号語の軟値と前記複数の符号語の候補の各々との間で相関を計算し、前記複数の符号語の候補の内、相関が最も高い符号語の候補を選択する相関評価部と、
前記相関評価部により選択された前記符号語の候補を最終的な再構成された前記符号語として出力する出力部とを含むことを特徴とする請求項６または７に記載の透かし埋め込み装置。
【請求項９】
前記参照情報の情報量は、前記原コンテンツから抽出される前記情報語の情報量よりも多いことを特徴とする請求項１、５、６のいずれかに記載の透かし埋め込み装置。
【請求項１０】
透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出するステップと、
抽出された前記情報語を参照情報に対応づけてテーブルに格納する際、抽出された前記情報語が既に前記テーブルに格納されている場合、抽出された前記情報語の一部を変更して重複を解消するステップと、
前記重複が解消された前記情報語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込むステップとを含むことを特徴とする透かし埋め込み方法。
【請求項１１】
透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する、情報語と前記情報語の誤りを検出するための検査語とを含む符号語を抽出するステップと、
抽出された前記情報語を参照情報に対応づけてテーブルに格納する際、抽出された前記情報語が既に前記テーブルに格納されている場合、抽出された前記情報語の一部を変更して重複を解消するとともに、前記検査語を再計算することにより前記符号語を再構成するステップと、
再構成された前記符号語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込むステップとを含むことを特徴とする透かし埋め込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子透かし技術に関し、特にコンテンツに電子透かしを埋め込む透かし埋め込み装置および方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークでは通信帯域が格段に広がり、音声、静止画、動画などデータ量の大きいコンテンツの配信が可能となった。デジタルコンテンツの流通が盛んになるにつれ、コンテンツの著作権の保護がより一層求められている。
【０００３】
ネットワーク上に流通するコンテンツのデータは他人に容易にコピーされ、著作権に対する保護が十分ではないのが現状である。そこで著作権を保護するために、コンテンツの作成者や利用者の情報を電子透かしとしてコンテンツデータに埋め込む技術が開発されている。この電子透かし技術を用いることにより、ネットワーク上で流通するコンテンツデータから電子透かしを抽出して、不正利用を検出したり、不正コピーの流通経路を追跡することが可能となる。
【０００４】
透かしをコンテンツに埋め込む際、コンテンツに加わるノイズや変換処理に対して耐性をもたせる必要があり、コンテンツによっては、透かしの埋め込み強度を相当大きくする必要があり、透かし埋め込み後のコンテンツの品質が著しく劣化することがある。コンテンツの劣化を抑えつつ、透かしの耐性を強くするためには、透かしの埋め込みビット数を少なくせざるを得ない。
【０００５】
このため、少ないビット数で表現された透かしデータと本当に必要な著作権保護に関するデータなどの参照情報とを関連付けたデータベースを作成しておき、透かし抽出時にそのデータベースを参照することで、本当に必要なデータを取得するというテーブル参照型透かし方式が取られることがある。
【０００６】
特許文献１には、原画像に電子透かしを挿入した電子透かし入り画像をサーバのデータベースで管理しておき、携帯端末で撮影した原画像をサーバに送信し、サーバが撮影画像と電子透かし入り画像をもとに電子透かしを検出し、検出された電子透かしを付加情報として携帯端末に送信するシステムが開示されている。このシステムでは、電子透かしと付加情報がデータベースのテーブルで関連づけられている場合、検出された電子透かしをキーとしてテーブルから検索された付加情報が携帯端末に送信される。
【特許文献１】特開２００４−２７４２３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
テーブル参照型透かし方式では、参照情報を識別する識別情報を参照情報に関連づけてテーブルに格納し、参照情報はコンテンツに埋め込まずに、識別情報の方をコンテンツに透かしとして埋め込む。しかしながら、識別情報が必ずしもコンテンツに埋め込み易いデータであるとは限らないため、耐性をもたせて識別情報をコンテンツに埋め込もうとすると、コンテンツを劣化させてしまうことがある。
【０００８】
本発明はこうした状況に鑑みてなされたもので、その目的は、コンテンツを劣化させることなく、耐性のある透かしを埋め込むことのできる電子透かし埋め込み技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の透かし埋め込み装置は、透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出する抽出部と、前記情報語を参照情報に対応づけて登録するデータベースと、前記抽出部により抽出された前記情報語を前記データベースに登録する際、抽出された前記情報語が既に登録済みの情報語と重複する場合、抽出された前記情報語の一部を変更して重複を解消する変更部と、前記変更部により前記重複が解消された前記情報語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込む埋め込み部とを含む。
【００１０】
ここで、「原コンテンツ」とは、電子透かしを埋め込む対象となるオリジナルデータであり、たとえば静止画、動画、音声などのデータである。
【００１１】
前記変更部は、前記抽出部により抽出された前記情報語の異なる部分を変更することにより前記重複が解消された複数の前記情報語の候補を生成する候補生成部と、前記原コンテンツからの抽出の際に検出された前記情報語の軟値と前記複数の情報語の候補の各々との間で相関を計算し、前記複数の情報語の候補の内、相関が最も高い情報語の候補を選択する相関評価部と、前記相関評価部により選択された前記情報語の候補を最終的な前記重複が解消された前記情報語として出力する出力部とを含んでもよい。
【００１２】
前記候補生成部は、情報語の候補を逐次生成し、前記相関評価部が、前記原コンテンツからの抽出の際に検出された前記情報語の軟値と逐次生成された前記情報語の候補との間で相関を計算し、相関が所定の閾値よりも大きい場合に、その逐次生成された情報語の候補を選択してもよい。
【００１３】
本発明の別の態様もまた、透かし埋め込み装置である。この装置は、透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出する抽出部と、前記情報語を参照情報に対応づけて登録するデータベースと、前記抽出部により抽出された前記情報語を前記データベースに登録する際、抽出された前記情報語が既に登録済みの情報語と重複する場合、抽出された前記情報語の一部を変更して重複を解消する変更部と、前記情報語の誤りを検出するための検査語を前記原コンテンツに透かしとして埋め込む埋め込み部とを含む。
【００１４】
本発明のさらに別の態様もまた、透かし埋め込み装置である。この装置は、透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する、情報語と前記情報語の誤りを検出するための検査語とを含む符号語を抽出する抽出部と、前記情報語を参照情報に対応づけて登録するデータベースと、前記抽出部により抽出された前記情報語を前記データベースに登録する際、抽出された前記情報語が既に登録済みの情報語と重複する場合、抽出された前記情報語の一部を変更して重複を解消するとともに、前記情報語の変更に応じて前記検査語を再計算することにより前記符号語を再構成する変更部と、前記変更部により再構成された前記符号語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込む埋め込み部とを含む。
【００１５】
本発明のさらに別の態様は、透かし埋め込み方法である。この方法は、透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する情報語を抽出するステップと、抽出された前記情報語を参照情報に対応づけてテーブルに格納する際、抽出された前記情報語が既に前記テーブルに格納されている場合、抽出された前記情報語の一部を変更して重複を解消するステップと、前記重複が解消された前記情報語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込むステップとを含む。
【００１６】
本発明のさらに別の態様もまた、透かし埋め込み方法である。この方法は、透かしの埋め込み対象の原コンテンツに所定の透かし抽出手順を適用して透かしに相当する、情報語と前記情報語の誤りを検出するための検査語とを含む符号語を抽出するステップと、抽出された前記情報語を参照情報に対応づけてテーブルに格納する際、抽出された前記情報語が既に前記テーブルに格納されている場合、抽出された前記情報語の一部を変更して重複を解消するとともに、前記情報語の変更に応じて前記検査語を再計算することにより前記符号語を再構成するステップと、再構成された前記符号語を前記原コンテンツに透かしとして、前記透かし抽出手順により抽出可能に埋め込むステップとを含む。
【００１７】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１８】
本発明によれば、コンテンツの劣化を抑えて、透かしを耐性をもたせて埋め込むことができる。
【発明を実施するための最良の形態】
【００１９】
実施の形態１
図１は、実施の形態１に係る透かし埋め込み装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた電子透かし埋め込み機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２０】
透かし埋め込み装置１００は、原コンテンツと参照情報の入力を受け、原コンテンツから所定の透かし抽出プログラムによって透かしとして抽出される情報語に参照情報を関連づけて透かしデータベース１８に登録し、当該情報語を適度な埋め込み強度で原コンテンツに透かしとして埋め込んだ透かし入りコンテンツを出力する。
【００２１】
参照情報は、原コンテンツの著作権情報や利用者情報などの著作権保護に関するデータや原コンテンツに関連した各種データなど、本来であれば原コンテンツに「透かし」として埋め込むべき情報である。このような本来であれば透かしとして埋め込むべき情報は、情報量が多いため、原コンテンツに埋め込むのが困難であり、無理に埋め込もうとすると原コンテンツの品質を著しく劣化させてしまう。
【００２２】
そこで、本実施の形態では、本来であれば透かしとして埋め込むべき情報は参照情報として透かしデータベース１８にテーブルなどの形で格納し、原コンテンツに透かし抽出手順を適用して抽出される情報語を透かしデータベース１８に格納された参照情報と対応づける。
【００２３】
原コンテンツから抽出される情報語は、透かしデータベース１８に格納された参照情報を識別するためのキーとして利用されるだけであるため、同一の情報語が透かしデータベース１８内に二重登録されることがないというルールさえ満たせば、原コンテンツから抽出される情報語をそのまま参照情報の識別情報として利用することができる。
【００２４】
また、情報語は、透かしデータベース１８に格納される複数の参照情報を識別できるだけの情報量をもつだけで十分であり、実データである参照情報に比べて、情報量が少なくて済む。そのため、原コンテンツに情報語を透かしとして埋め込んでも原コンテンツは劣化しない。しかも、情報語は、もともと原コンテンツから透かし抽出プログラムにしたがって抽出されたものであるから、原コンテンツとの親和性が高く、埋め込み強度を強くして情報語を原コンテンツに埋め込んでも、原コンテンツの品質はあまり劣化することがない。
【００２５】
情報語抽出部１０は、入力された原コンテンツに対して所定の透かし抽出アルゴリズムを適用し、透かし抽出プログラムにしたがって透かしに相当する情報語を抽出する。原コンテンツには透かしは元々埋め込まれていないが、透かし抽出プログラムの手順にしたがって原コンテンツから透かしの抽出を試みれば、何らかの情報が透かしとして抽出される。本実施の形態で利用される透かし抽出アルゴリズムは、原コンテンツから情報語からなる透かしデータを抽出するものであり、抽出される透かしデータには、情報語の誤りを検出するための検査語は含まれない。
【００２６】
情報語抽出部１０により原コンテンツから抽出された情報語が、既に透かしデータベース１８に登録された情報語と重複している場合は、その抽出された情報語を参照情報の識別情報として使用することはできないため、抽出された情報語の一部を変更する処理を行って重複を解消し、重複が解消された情報語を参照情報と対応づけて透かしデータベース１８に登録する。抽出された情報語の一部を変更する処理を行うために、情報語変更部１４の構成が設けられている。
【００２７】
以下の説明では、情報語抽出部１０により原コンテンツから抽出された情報語を「原情報語」と呼び、情報語変更部１４によって一部が変更された情報語と区別することがある。
【００２８】
情報語抽出部１０は、原コンテンツから情報語の軟値を抽出し、抽出された情報語の軟値を硬判定することなく、情報語硬値化部１２、埋め込み強度調整部２０、および情報語変更部１４に与える。情報語硬値化部１２は、軟値で与えられた情報語を硬判定し、硬判定により得られたｍビットの情報語の硬値を情報語変更部１４に与える。
【００２９】
原コンテンツから情報語を透かしとして抽出する手順の一例を説明する。たとえば、透かしビットｘを抽出する対象となる原コンテンツのサンプルの値ｖが１〜２５６の値を取るとする。サンプル値ｖが１２８以下である場合は、そのサンプルには透かしビットとして−１が埋め込まれていると判定し、サンプル値ｖが１２８より大きい場合は、透かしビットとして１が埋め込まれていると判定する透かし復号器を考える。この透かし復号器は、サンプル値ｖが１２８からどれくらい離れているかによって、透かしビットの軟値を求める。
【００３０】
たとえば、透かし復号器は、透かしビットの軟値を（ｖ−１２８）／１２８により求める。ｖ＝２５６であれば、透かしビットの軟値は１で、硬判定の結果は１である。ｖ＝１９２であれば、軟値は０．５で、硬判定の結果は１である。ｖ＝６４であれば、透かしビットの軟値は−０．５で、硬判定の結果は−１である。ｖ＝０であれば、透かしビットの軟値は−１で、硬判定の結果は−１である。
【００３１】
軟値が１または−１に近いほど、透かしビットの硬判定の信頼性は高く、軟値が０に近いほど、透かしビットの硬判定の信頼性は低い。
【００３２】
情報語変更部１４は、情報語硬値化部１２から与えられた情報語が透かしデータベース１８に既に登録されているかどうかを確認する。情報語変更部１４は、情報語硬値化部１２から与えられた情報語が透かしデータベース１８に既に登録されている何れの情報語とも重複しない場合は、その情報語をそのまま透かし登録部１６、透かし埋め込み部３０、および埋め込み強度調整部２０に与える。
【００３３】
情報語変更部１４は、情報語硬値化部１２から与えられた情報語が透かしデータベース１８に既に登録されている場合、その情報語のビット列の一部を変更し、透かしデータベース１８に登録済みの情報語との重複を解消する。情報語のビット列の一部変更は、ｍビットからなる情報語のビット列の１つ以上のビットの値を反転させることによりなされる。
【００３４】
情報語変更部１４は、重複の解消された変更後の情報語を透かし登録部１６、透かし埋め込み部３０、および埋め込み強度調整部２０に与える。
【００３５】
情報語変更部１４は、情報語抽出部１０から受け取った情報語の軟値との相関が高くなるように情報語のビット列の一部変更を行うことにより、原コンテンツからの抽出が行いやすい透かしを透かしデータベース１８に登録できる。もっとも、情報語抽出部１０から受け取る軟値の情報はオプションであり、情報語変更部１４は、情報語硬値化部１２から情報語の硬値のみを受け取る構成であってもよい。その場合、相関の評価は行われず、情報語硬値化部１２から与えられる原情報語とのハミング距離が最小になるようにビット列の一部変更を行う。
【００３６】
以下では、情報語変更部１４が出力する情報語を「未登録情報語」と呼ぶ。未登録情報語は、情報語抽出部１０により抽出され、情報語硬値化部１２により硬値化された原情報語そのものである場合と、重複解消のために一部が変更された情報語である場合とがある。
【００３７】
透かし登録部１６は、情報語変更部１４から与えられた未登録情報語に参照情報を関連づけて透かしデータベース１８に登録する。
【００３８】
埋め込み強度調整部２０は、情報語抽出部１０から情報語の軟値を受け取り、情報語変更部１４から未登録情報語を受け取る。
【００３９】
埋め込み強度調整部２０は、未登録情報語を原コンテンツに透かしとして埋め込むときの埋め込み強度を調整する。ｍビットの未登録情報語のビット系列をＸ＝｛ｘ１，ｘ２，…，ｘｍ｝とする。未登録情報語の各ビットｘｉを埋め込む対象となる原コンテンツのサンプルの値をｖｉとすると、未登録情報語の各ビットｘｉを埋め込んだ後のサンプルの値ｗｉは、
ｗｉ＝ｖｉ＋αｉ・ｘｉ
と表される。ただし、ｉ＝１，２，…，ｍである。透かしビットｘｉの値は−１または１である。αｉはスケーリングパラメータで、透かしビットｘｉをサンプルｖｉに埋め込むときの強度を示す。
【００４０】
ここで、原情報語はもともと原コンテンツから透かし抽出プログラムにしたがって抽出したものであるから、あらためて原情報語を原コンテンツに埋め込まなくても、原情報語は原コンテンツから透かしとして抽出される。しかし、原情報語は原コンテンツから必ずしも高い検出精度で抽出されたものとは限られないため、透かしとしての耐性を高めるために、埋め込み強度を高くして、原情報語を原コンテンツに埋め込み直す必要がある。また、情報語変更部１４により生成された未登録情報語が重複解消のために変更され、原情報語とは異なるものとなっている場合は、透かしとして原コンテンツに埋め込み直さなければ、原コンテンツから未登録情報語が抽出されない。
【００４１】
このような理由から、情報語変更部１４により生成された未登録情報語は、透かし埋め込み部３０により原コンテンツに透かしとして埋め込まれる。埋め込み強度調整部２０は、未登録情報語が透かしとして十分な検出精度で抽出されるように、未登録情報語を透かしとして埋め込むときの強度を計算する。
【００４２】
埋め込み強度調整部２０は、情報語抽出部１０により抽出された原情報語の軟値によって埋め込み強度αｉを調整することができる。ある透かしビットの軟値が０に近いなら、その透かしビットは強い強度で埋め込まなければ、原コンテンツに加えられたノイズによってその透かしビットが誤検出される可能性が高くなる。逆にある透かしビットの軟値が１または−１に近い値であれば、その透かしビットは多少弱い強度で埋め込まれても、誤検出される可能性は低い。
【００４３】
埋め込み強度調整部２０は、未登録情報語のビット系列のビットｘｉ毎に、原情報語の軟値を参照して、そのビットｘｉを埋め込む強度αｉを調整する。埋め込み強度調整部２０は、未登録情報語のビットｘｉの軟値が０に近いほど、埋め込み強度αｉを大きくし、ビットｘｉの軟値が１または−１に近いほど、埋め込み強度αｉを小さくする。
【００４４】
ただし、情報語変更部１４によりビットｘｉが反転している場合は、軟値が１または−１に近くても、埋め込み強度αｉを大きくしなければならない。前述の透かし復号器により、サンプル値ｖが１２８以下であるなら、そのサンプルには透かしビットとして−１が埋め込まれていると判定し、サンプル値ｖが１２８より大きいなら、透かしビットとして１が埋め込まれていると判定するとする。
【００４５】
いま、あるサンプル値ｖｉが１９２で、そのサンプルから検出される透かしビットｘｉは１であるとする。情報語変更部１４により、この透かしビットｘｉが−１に反転したとする。同一のサンプルｖｉにこの反転した透かしビットｘｉを埋め込み、透かし復号器により透かしビットｘｉを検出するとする。埋め込み後のサンプルｗｉから検出される透かしビットｘｉが−１と判定されるためには、サンプル値ｖｉから６５以上の値を引かなければならないことになる。この場合、埋め込み強度αｉは最低でも６５に設定しなければならない。
【００４６】
埋め込み強度調整部２０は、このようにして調整された未登録情報語の各ビットｘｉの埋め込み強度αｉを透かし埋め込み部３０に与える。
【００４７】
なお、軟値が１もしくは−１に近いビットの反転の指示を情報語変更部１４から受けた場合、非常に大きな透かし強度を設定しなければならない。その場合は、その透かしビットのコンテンツへの埋め込みにより、コンテンツを大きく劣化させてしまうことになるため、大きな透かし強度の設定をしない方が望ましい。小さい透かし強度の設定された透かしビットの反転では、透かしの抽出時に誤りが生じてしまうが、誤り訂正符号と組み合わせることで、透かしビットの誤検出を防ぐことができる。
【００４８】
透かし埋め込み部３０は、情報語埋め込み部２２と、ＣＲＣ生成部２４と、検査語生成部２６と、ＣＲＣ・検査語埋め込み部２８とを含む。
【００４９】
情報語埋め込み部２２は、情報語変更部１４から与えられた未登録情報語の各ビットｘｉを埋め込み強度αｉで原コンテンツに埋め込み、未登録情報語が埋め込まれた原コンテンツをＣＲＣ・検査語埋め込み部２８に与える。
【００５０】
情報語埋め込み部２２は、情報語抽出部１０が原コンテンツから情報語を抽出するときに用いた透かし抽出手順により抽出可能な方式で、未登録情報を原コンテンツに埋め込む。情報語埋め込み部２２による透かし埋め込み方式と情報語抽出部１０による透かし抽出方式は対応関係にあり、情報語埋め込み部２２による透かし埋め込み方式で埋め込まれた透かしは、情報語抽出部１０による透かし抽出方式により抽出することができる。
【００５１】
ＣＲＣ生成部２４は、情報語変更部１４から与えられた未登録情報語に対して誤りを検出するためのＣＲＣ（巡回冗長検査）符号を生成し、生成されたｃビットのＣＲＣ符号を検査語生成部２６に与える。
【００５２】
検査語生成部２６は、情報語変更部１４から与えられた未登録情報語とＣＲＣ生成部２４から与えられたＣＲＣ符号語とを誤り訂正符号の情報語とすることで検査語を生成し、生成されたｐビットの検査語をＣＲＣ・検査語埋め込み部２８に与える。
【００５３】
ＣＲＣ・検査語埋め込み部２８は、情報語埋め込み部２２から未登録情報語が透かしとして埋め込まれた原コンテンツを受け取り、ＣＲＣ生成部２４から与えられたＣＲＣ符号と検査語生成部２６から与えられた検査語とを透かしとしてさらにその原コンテンツに埋め込む。ＣＲＣ・検査語埋め込み部２８は、未登録情報語、ＣＲＣ符号、および検査語が透かしとして埋め込まれた透かし入りコンテンツを出力する。
【００５４】
このようにして、原コンテンツには、情報語埋め込み部２２によって、未登録情報語が第１透かしとして埋め込まれ、ＣＲＣ・検査語埋め込み部２８によって、ＣＲＣ符号と検査語とが第２透かしとして埋め込まれる。原コンテンツには、未登録情報語、ＣＲＣ符号、および検査語を含む符号語が透かしとして埋め込まれているが、透かしが抽出されるときは、透かし抽出プログラムにしたがって、符号語の内、情報語と、ＣＲＣ符号および検査語とが別々に抽出される。
【００５５】
なお、ＣＲＣ生成部２４はオプションの構成であり、誤り検出に要求される精度によっては、ＣＲＣ符号を生成せずに、未登録情報語に検査語だけを付加した符号語を形成してもよい。
【００５６】
上記の透かし埋め込み部３０では、未登録情報語を透かしとして埋め込んだ原コンテンツにＣＲＣ符号と検査語をさらに透かしとして埋め込んだが、埋め込み順序は逆でもよい。すなわち、ＣＲＣ符号と検査語を含む符号語を第１透かしとして先に原コンテンツに埋め込み、未登録情報語を第２透かしとして次に埋め込む構成であってもよい。透かしを抽出する順序は、一般に埋め込みとは逆の順序になる。
【００５７】
また、第１透かしが埋め込まれている場所に重ねて第２透かしを埋め込んでもよい。あるいは、互いに独立の場所、すなわち、第１透かしとは重なり合わない場所に第２透かしを埋め込んでもよい。後者の場合、互いの透かしが干渉し合わないため、埋め込み強度調整部２０において埋め込み強度の調整が行いやすいというメリットがある。
【００５８】
また、埋め込み強度調整部２０において、未登録情報語を形成する各ビットに誤りが発生しないくらい十分な埋め込み強度を設定した場合は、検査語を埋め込む必要はない。その場合は、透かし埋め込み部３０において、ＣＲＣ生成部２４、検査語生成部２６、およびＣＲＣ・検査語埋め込み部２８の構成を省略し、情報語埋め込み部２２による情報語の埋め込みだけを行うように構成することもできる。
【００５９】
逆に、検査語生成部２６において、誤り訂正能力が非常に高い誤り訂正符号を使用している場合には、多少の情報ビットの誤りが発生しても、検査語生成部２６にて生成された検査語を用いてそれらの誤りを訂正することができる。そのような場合には、耐性をもたせて情報語を埋め込み直す必要はないため、埋め込み強度調整部２０と情報語埋め込み部２２の構成を省略し、原コンテンツに情報語の埋め込みを行わずに、検査語のみを埋め込むように構成することもできる。
【００６０】
なお、原コンテンツが画像である場合、透かしの埋め込みは原画像領域で行われてもよく、原画像を離散コサイン変換、離散フーリエ変換、離散ウェーブレット変換などにより空間周波数変換した領域において透かしが埋め込まれてもよい。
【００６１】
図２は、情報語変更部１４の構成を説明する図である。情報語変更部１４は、候補生成部３２と、登録確認部３４と、情報語出力部３８とを含む。図２の構成の情報語変更部１４は、情報語硬値化部１２から情報語の硬値を受け取るが、情報語抽出部１０からは情報語の軟値を受け取らない。
【００６２】
候補生成部３２は、情報語硬値化部１２により硬値化された情報語の一部を変更した情報語の候補を生成し、登録確認部３４に与える。登録確認部３４は、透かしデータベース１８を検索して、候補生成部３２により生成された情報語の候補が透かしデータベース１８に既に登録された情報語と重複するかどうかを調べる。登録確認部３４は、透かしデータベース１８に登録済みの情報語と重複していない情報語の候補を選択して、情報語出力部３８に与える。情報語出力部３８は、与えられた未登録情報語を透かし登録部１６、透かし埋め込み部３０、および埋め込み強度調整部２０に与える。
【００６３】
図３は、図２の情報語変更部１４による情報語の変更処理の手順を説明するフローチャートである。
【００６４】
候補生成部３２は、変数ｉにゼロを代入する（Ｓ１０）。変数ｉは、情報語のビット系列の内、変更するビットの数を示す。候補生成部３２は、次に変数ｊに１を代入する（Ｓ１２）。変数ｊは、情報語のビット系列のビット変更パターンの番号を示す。一般に、ｍビットの情報語の内、ｉビットを変更するパターンは、ｍＣｉ通り存在する。変数ｊは、このビット変更パターンの識別番号であり、１からｍＣｉまでの整数値である。
【００６５】
候補生成部３２は、インデックス（ｉ，ｊ）によって指定されるビットを変更した情報語の候補を生成する（Ｓ１４）。ｉ＝０の場合は、候補生成部３２は、情報語を変更することなくそのまま登録確認部３４に与える。
【００６６】
ｉ＝１であれば、ｍビットの情報語のビット系列の内、１ビットのみを変更したｍ通りの情報語の候補が生成される。変数ｊはこのｍ通りのビット変更パターンの番号である。たとえばｊ＝１であれば、ｍビットのビット系列の第１ビットを変更し、ｊ＝２であれば、第２ビットを変更し、ｊ＝ｍであれば、第ｍビットを変更するなどと決められている。ここで、ビットの変更とは、−１であったビットを１に、１であったビットを−１にするビット反転のことである。
【００６７】
ｉ＝２であれば、ｍビットの情報語のビット系列の内、２ビットのみを変更したｍＣ２通りの情報語の候補が生成される。変数ｊは１からｍＣ２までの値をとり、たとえば、ｊ＝１の場合は、ｍビットのビット系列の第１、第２ビットを変更し、ｊ＝２の場合は、第１、第３ビットを変更するなどと決められている。
【００６８】
登録確認部３４は、インデックス（ｉ，ｊ）によって指定されたビットが変更された情報語の候補が透かしデータベース１８に登録済みであるかどうかを確認し（Ｓ１６）、未登録であれば（Ｓ１６のＮ）、情報語出力部３８は、その情報語の候補を未登録情報語として出力する（Ｓ１８）。
【００６９】
インデックス（ｉ，ｊ）によって指定されたビットが変更された情報語の候補が透かしデータベース１８に登録済みである場合（Ｓ１６のＹ）、変数ｊがｍＣｉ以下であれば（Ｓ２０のＹ）、変数ｊを１だけインクリメントし（Ｓ２２）、ステップＳ１４に戻り、次のビット変更パターンを試す。
【００７０】
変数ｊがｍＣｉより大きければ（Ｓ２０のＮ）、ｍＣｉ通りのビット変更パターンをすべて試したので、変数ｉが定数ｋ以下であれば（Ｓ２４のＹ）、変数ｉを１だけインクリメントし（Ｓ２６）、ステップＳ１２に戻り、変更するビット数を１つ増やしてビット変更を試みる。ここで、定数ｋは、ｍビットの情報語の内、ビット変更するビットの数の最大値である。変数ｉが定数ｋより大きければ（Ｓ２４のＮ）、ビット変更を試みたすべての情報語の候補が透かしデータベース１８に既に登録されているため、情報語の登録ができない旨の警告メッセージを通知し（Ｓ２８）、終了する。
【００７１】
図３の情報語の変更処理によれば、変更するビット数の少ない未登録情報語を生成することができる。変更するビット数が少ないほど、原コンテンツに変更後の情報語を埋め込んだときの原コンテンツの劣化を抑えることができる。
【００７２】
図４は、情報語変更部１４の別の構成を説明する図である。情報語変更部１４は、候補生成部３２と、登録確認部３４と、相関評価部３６と、情報語出力部３８とを含む。図４の構成の情報語変更部１４は、情報語硬値化部１２から情報語の硬値を受け取る他、情報語抽出部１０から情報語の軟値を受け取る。情報語変更部１４は、ビット変更された情報語の候補の内、情報語抽出部１０から受け取った情報語の軟値との相関が高いものを選択して出力する。
【００７３】
候補生成部３２は、情報語硬値化部１２から硬値で与えられた情報語の一部を変更した情報語の候補を生成し、登録確認部３４に与える。登録確認部３４は、透かしデータベース１８を検索して、候補生成部３２により生成された情報語の候補が透かしデータベース１８に既に登録された情報語と重複するかどうかを調べる。登録確認部３４は、透かしデータベース１８に登録されていない情報語の候補を選択して、相関評価部３６に与える。
【００７４】
相関評価部３６は、ビット変更された情報語の候補と情報語抽出部１０から受け取った情報語の軟値との相関を評価して、相関の高い候補を選択し、情報語出力部３８に与える。情報語出力部３８は、相関評価部３６により選択された相関の高い情報語の候補を未登録情報語として透かし登録部１６、透かし埋め込み部３０、および埋め込み強度調整部２０に与える。
【００７５】
図４の構成の情報語変更部１４による情報語の変更処理は相関の評価の手順により、いくつかのバリエーションがある。図５、図６を参照して、情報語の変更処理のバリエーションを説明する。
【００７６】
図５は、図４の情報語変更部１４による情報語の変更処理の手順を説明するフローチャートである。
【００７７】
候補生成部３２は、ｍビットの情報語のビット系列の内、変更するビットの数を示す変数ｉにゼロを代入する（Ｓ３０）。ｍビットの情報語の内、ｉビットを変更するパターンはｍＣｉ通り存在する。候補生成部３２は、ｍＣｉ通りのビット変更した情報語の候補を生成する（Ｓ３２）。
【００７８】
登録確認部３４は、ｍＣｉ通りの情報語の候補の中に、透かしデータベース１８に未登録のものがあるかどうかを調べる（Ｓ３４）。
【００７９】
ｍＣｉ通りの情報語の候補の中に、透かしデータベース１８に未登録のものがある場合（Ｓ３４のＹ）、相関評価部３６は、その未登録の情報語の候補と情報語抽出部１０により抽出された原情報語の軟値との相関γを計算する（Ｓ３６）。相関γは、情報語の候補をＸ、原情報語の軟値をＹとすると、次式のように計算することができる。
γ＝（Ｘ，Ｙ）／｜Ｘ｜／｜Ｙ｜
ここで、（Ｘ，Ｙ）はＸとＹの内積、｜Ｘ｜、｜Ｙ｜はそれぞれＸ、Ｙの大きさである。
【００８０】
相関評価部３６は、相関の最も高い情報語の候補を選択し、情報語出力部３８はその選択された情報語の候補を最終的な未登録情報語として出力する（Ｓ３８）。
【００８１】
ステップＳ３４において、ｍＣｉ通りの情報語の候補の内、透かしデータベース１８に未登録のものがない場合（Ｓ３４のＮ）、変数ｉが定数ｋ以下であれば（Ｓ４０のＹ）、変数ｉを１だけインクリメントし（Ｓ４２）、ステップＳ３２に戻る。変数ｉが定数ｋより大きければ（Ｓ４０のＮ）、ビット変更を試みたすべての情報語の候補が透かしデータベース１８に既に登録されているため、情報語の登録ができない旨の警告メッセージを通知し（Ｓ４４）、終了する。
【００８２】
上記では、情報語の候補と原情報語の軟値の相関を評価したが、情報語の候補と原情報語の軟値との絶対距離、ユークリッド距離などを評価して距離の最も小さい候補を最終的な未登録情報語として選択してもよい。
【００８３】
図６は、図４の情報語変更部１４による情報語の別の変更処理の手順を説明するフローチャートである。図５の手順では、ｍＣｉ通りのビット変更した情報語の候補をすべて生成して、その中から原情報語の軟値との相関が最も高い候補を選択したが、図６の手順では、ビット変更した情報語の候補を逐次生成し、所定の閾値よりも大きい相関をもつ未登録の情報語の候補が出現した時点で、その情報語の候補を最終的な未登録情報語として出力する。
【００８４】
候補生成部３２は、情報語のビット系列の内、変更するビットの数を示す変数ｉにゼロを代入する（Ｓ５０）。候補生成部３２は、次に情報語のビット系列の変更パターンの番号を示す変数ｊに１を代入する（Ｓ５２）。
【００８５】
候補生成部３２は、インデックス（ｉ，ｊ）によって指定されるビットを変更した情報語の候補を生成する（Ｓ５４）。登録確認部３４は、インデックス（ｉ，ｊ）によって指定されたビットが変更された情報語の候補が透かしデータベース１８に登録済みであるかどうかを確認し（Ｓ５６）、未登録であれば（Ｓ５６のＮ）、相関評価部３６は、その未登録の情報語の候補と、情報語抽出部１０により抽出された原情報語の軟値との相関γを計算する（Ｓ５８）。
【００８６】
相関評価部３６は、計算された相関γが所定の閾値Ｔ以上である場合（Ｓ６０のＹ）、その未登録のビット変更された情報語の候補を選択し、情報語出力部３８は、その選択された相関γが閾値Ｔを超える情報語の候補を最終的な情報語として出力する（Ｓ６２）。
【００８７】
相関γの閾値Ｔは、未登録情報語の選択に要する計算コストを抑えるという計算面での要求と、原コンテンツより抽出された軟値情報との相関の高い未登録情報語を選択することにより原コンテンツに未登録情報語を埋め込む際の原コンテンツの劣化を抑えるという品質面での要求とのトレードオフにより、設計方針もしくは実験により決めることができる。
【００８８】
インデックス（ｉ，ｊ）によって指定されたビットが変更された情報語の候補が透かしデータベース１８に登録済みである場合（Ｓ５６のＹ）、変数ｊがｍＣｉ以下であれば（Ｓ６４のＹ）、変数ｊを１だけインクリメントし（Ｓ６６）、ステップＳ５４に戻り、次のビット変更パターンを試す。
【００８９】
変数ｊがｍＣｉより大きければ（Ｓ６４のＮ）、ｍＣｉ通りのビット変更パターンをすべて試したので、変数ｉが定数ｋ以下であれば（Ｓ６８のＹ）、変数ｉを１だけインクリメントし（Ｓ７０）、ステップＳ５２に戻り、変更するビット数を１つ増やしてビット変更を試みる。ここで、定数ｋは、ｍビットの情報語の内、ビット変更するビットの数の最大値である。変数ｉが定数ｋより大きければ（Ｓ６８のＮ）、ビット変更を試みたすべての情報語の候補が透かしデータベース１８に既に登録されているため、情報語の登録ができない旨の警告メッセージを通知し（Ｓ７２）、終了する。
【００９０】
図５および図６の情報語の変更処理によれば、情報語のビット列の一部を変更した候補の内、原情報語の軟値との相関が高いものを未登録情報語として選択することができる。変更後の情報語と原情報語の軟値の相関が高ければ、原コンテンツに変更後の情報語を埋め込んでも原コンテンツの劣化は少なくて済む。相関を計算することにより、変更後の情報語の埋め込みにより原コンテンツに与える影響を定量的に評価して、より影響の少ない未登録情報語を選択することができる。
【００９１】
なお、透かしビットの軟値が１または−１に近い場合、その透かしビットを反転させると相関が低くなるが、透かしビットの軟値が０に近ければ、その透かしビットを反転させてもそれほど相関計算に影響を与えない。そこで、相関を計算する代わりに、軟値が０に近いビットから優先的にビット値を反転させて情報語の候補を生成する方法を採用することもできる。以下、この方法について説明する。
【００９２】
情報語の各ビットの軟値の絶対値を求め、絶対値の小さい順にソーティングし、軟値の絶対値が小さいほど、ビット変更の優先度を高くする。ｍビットの情報語のビット列の内、１ビットだけを変更する場合は、軟値の絶対値が小さい順に変更し、未登録かどうかを調べる。
【００９３】
２ビット変更する場合は、ｍＣ２の組み合わせのすべてについて、変更する２ビットの軟値の絶対値の和を求め、軟値の絶対値の和が小さいものから順に、優先的にビット変更を試みる。３ビット以上を変更する場合も同様である。
【００９４】
軟値が０に近い透かしビットを反転させて埋め込む場合は、軟値が１または−１に近い透かしビットを反転させて埋め込むことに比べて、原コンテンツに与える影響が少なくて済む。したがって、軟値の絶対値が小さいビットから優先的にビット値を反転させて未登録情報語を生成することにより、原コンテンツに未登録情報語を埋め込んだときの原コンテンツの劣化を抑えることができる。
【００９５】
図７は、実施の形態１に係る透かし抽出装置３００の構成図である。透かし抽出装置３００は、透かし埋め込み装置１００により出力された透かし入りコンテンツをテストコンテンツとして受け入れて、透かし入りコンテンツから情報語を透かしとして抽出し、情報語に対応づけられた参照情報を取得して出力する。透かし埋め込み装置１００により生成されていないテストコンテンツの入力の場合には、正規の情報語を抽出できないため、参照情報は出力されず、正規の情報語が抽出されない旨を伝える警告がなされる。
【００９６】
ＣＲＣ・検査語抽出部８２は、入力された透かし入りコンテンツからＣＲＣ符号と検査語とを第１透かしとして抽出し、抽出された第１透かしを除去したコンテンツを情報語抽出部８４に与える。また、ＣＲＣ・検査語抽出部８２は抽出したＣＲＣ符号と検査語とを誤り訂正部８６に与える。ただし、第１透かしと第２透かしが別々の場所に排他的に埋め込まれている場合は、第１透かしをコンテンツから除去する処理を省略可能である。同様に、第１透かしと第２透かしが重ねて埋め込まれているものの、第１透かしの強度が第２透かしの強度と比べて小さい場合は、第１透かしをコンテンツから除去する処理を省略可能である。
【００９７】
情報語抽出部８４は、抽出された第１透かしを除去したコンテンツから情報語を抽出し、抽出された情報語を誤り訂正部８６に与える。
【００９８】
誤り訂正部８６は、ＣＲＣ・検査語抽出部８２により抽出された検査語によって、情報語とＣＲＣ符号の誤りを訂正し、誤り訂正後の情報語とＣＲＣ符号をＣＲＣ検査部８８に与える。ＣＲＣ検査部８８は、ＣＲＣ符号により、誤り訂正後の情報語に誤りが存在しないかを検査し、誤りが検出されなかった場合、誤り訂正後の情報語を透かし検索部９０に与える。ＣＲＣ符号により誤りが検出された場合は、正しく情報語が抽出されなかった旨を伝える警告をユーザに提示する。
【００９９】
透かし検索部９０は、ＣＲＣ検査部８８から与えられた情報語をキーとして透かしデータベース９２を検索し、情報語に対応づけられた参照情報を取得し、出力する。
【０１００】
透かし抽出装置３００の透かしデータベース９２は、図１の透かし埋め込み装置１００の透かしデータベース１８と同じ構成のものであり、情報語に参照情報が対応づけられて格納されている。ここでは、透かし抽出装置３００内に透かしデータベース９２が設けられているとして説明したが、透かし抽出装置３００は、ネットワークを介して、透かし埋め込み装置１００の透かしデータベース１８にアクセスし、情報語に対応づけられた参照情報を取得する構成であってもよい。また、透かし抽出装置３００の情報語抽出部８４も、図１の透かし埋め込み装置１００の情報語抽出部１０と同じ構成のものであり、同じ透かし抽出手順にしたがって情報語を抽出する。
【０１０１】
実施の形態２
図８は、実施の形態２に係る透かし埋め込み装置２００の構成図である。実施の形態１の透かし埋め込み装置１００は、原コンテンツから透かしに相当する情報語を抽出したが、本実施の形態の透かし埋め込み装置２００は、原コンテンツから透かしに相当する受信語を抽出する。受信語は、情報語の他にＣＲＣ符号と検査語が含まれた符号語の軟値である。実施の形態１と共通する構成と動作については適宜説明を簡略にする。
【０１０２】
受信語抽出部４０は、入力された原コンテンツに対して所定の透かし抽出アルゴリズムを適用し、透かし抽出プログラムにしたがって透かしの軟値に相当する受信語を抽出する。本実施の形態で利用される透かし抽出アルゴリズムは、原コンテンツから、情報語の他にＣＲＣ符号と検査語が含まれた誤り訂正符号語を一つの透かしビット系列として抽出するものである。もっとも、ＣＲＣ符号はオプションであり、ＣＲＣ符号が含まれない符号語が透かしとして抽出されてもよい。
【０１０３】
受信語抽出部４０は、原コンテンツから受信語、すなわち、符号語の軟値を抽出する。受信語抽出部４０は、符号語の一部を構成する情報語の軟値を情報語硬値化部４２に与え、符号語の軟値、すなわち、受信語全体を符号語変更部４４および埋め込み強度調整部５０に与える。
【０１０４】
情報語硬値化部４２は、軟値で与えられた情報語を硬判定し、硬判定により得られたｍビットの情報語の硬値を符号語変更部４４に与える。
【０１０５】
符号語変更部４４は、情報語硬値化部４２から与えられた情報語が透かしデータベース４８に既に登録されているかどうかを確認する。符号語変更部４４は、情報語硬値化部４２から与えられた情報語が透かしデータベース４８に既に登録されているいずれの情報語とも重複しない場合は、その情報語からＣＲＣと検査語を計算することにより符号語を生成する。この生成された符号語と受信語抽出部４０から受け取った符号語の軟値との相関が高い場合には、符号語変更部４４は、その情報語をそのまま透かし登録部４６、符号語埋め込み部５２、および埋め込み強度調整部５０に与える。
【０１０６】
符号語変更部４４は、情報語硬値化部４２から与えられた情報語が透かしデータベース４８に既に登録されている、もしくは、生成された符号語と受信語抽出部４０から受け取った符号語の軟値との相関が低い場合は、透かしデータベース４８に登録済みの情報語との重複を避けるよう情報語のビット列の一部を変更し、ビット列の一部が変更された情報語から、ＣＲＣと検査語を計算することにより符号語を得る。ただし、ビット変更により再計算された符号語と受信語抽出部４０から受け取った符号語の軟値との相関が高くなるような情報語のビット列の一部変更を行う必要がある。その後、ビット変更がなされたｍビットの情報語は透かし登録部４６により、透かしデータベース４８に登録される。
【０１０７】
もっとも、符号語変更部４４が受信語抽出部４０から受け取る符号語の軟値情報はオプションである。情報語硬値化部４２を符号語硬値化部に置き換えることで、符号語変更部４４は、符号語硬値化部からｎビットの符号語の硬値を受け取ることができる。その場合、相関の評価は行われず、符号語硬値化部から与えられるデータとのハミング距離が最小になるようにビット列の一部変更を行う。
【０１０８】
実施の形態１と同様に、符号語変更部４４が出力する情報語を「未登録情報語」と呼ぶ。未登録情報語は、受信語抽出部４０により抽出され、情報語硬値化部４２により硬値化された原情報語そのものである場合と、重複解消のため、かつ、符号語と受信語との相関を高めるために一部が変更された情報語である場合とがある。
【０１０９】
透かし登録部４６は、符号語変更部４４から与えられた未登録情報語に参照情報を関連づけて透かしデータベース４８に登録する。
【０１１０】
符号語変更部４４は、ｍビットの未登録情報語に対して、ｃビットのＣＲＣ符号と、ｐビットの検査語とを再計算し、未登録情報語にＣＲＣ符号と検査語とを付加したｎビットの符号語を再構成する。符号語変更部４４は、再構成されたｎビットの符号語を埋め込み強度調整部５０と符号語埋め込み部５２に与える。
【０１１１】
埋め込み強度調整部５０は、符号語変更部４４により生成されたｎビットの符号語を原コンテンツに透かしとして埋め込むときの埋め込み強度を調整する。ｎビットの符号語のビット系列をＸ＝｛ｘ１，ｘ２，…，ｘｎ｝とし、符号語の各ビットｘｉの埋め込み強度αｉを受信語抽出部４０により検出された符号語の軟値にもとづいて調整する。埋め込み強度αｉの調整の仕方は、実施の形態１と同様である。埋め込み強度調整部５０は、調整された符号語の各ビットｘｉの埋め込み強度αｉを符号語埋め込み部５２に与える。
【０１１２】
符号語埋め込み部５２は、符号語変更部４４から与えられた符号語の各ビットｘｉを埋め込み強度αｉで原コンテンツに埋め込み、符号語が透かしとして埋め込まれた透かし入りコンテンツを出力する。本実施の形態では、透かし抽出手順が、符号語全体を１つの透かしとして抽出するものであることに対応して、情報語、ＣＲＣ符号、および検査語を含む符号語を１つの透かしとして埋め込めばよく、実施の形態１のように情報語と、ＣＲＣ符号および検査語とを別々に二重透かしとして埋め込む必要はない。
【０１１３】
符号語埋め込み部５２は、受信語抽出部４０が原コンテンツから受信語を抽出するときに用いた透かし抽出手順により抽出可能な方式で、符号語を原コンテンツに埋め込む。符号語埋め込み部５２による透かし埋め込み方式と受信語抽出部４０による透かし抽出方式は対応関係にあり、符号語埋め込み部５２による透かし埋め込み方式で埋め込まれた透かしは、受信語抽出部４０による透かし抽出方式により抽出することができる。
【０１１４】
図９は、符号語変更部４４の構成を説明する図である。符号語変更部４４は、候補生成部６２と、登録確認部６４と、ＣＲＣ生成部６６と、検査語生成部６８と、符号語出力部７４とを含む。図９の構成の符号語変更部４４は、情報語硬値化部４２から情報語の硬値を受け取るが、受信語抽出部４０からは符号語の軟値を受け取らない。
【０１１５】
候補生成部６２は、情報語硬値化部４２により硬値化された情報語の一部を変更した情報語の候補を生成し、登録確認部６４に与える。登録確認部６４は、透かしデータベース４８を検索して、候補生成部６２により生成された情報語の候補が透かしデータベース４８に既に登録された情報語と重複するかどうかを調べる。登録確認部６４は、透かしデータベース４８に登録済みの情報語と重複していない情報語の候補を選択して、ＣＲＣ生成部６６、検査語生成部６８、および符号語出力部７４に与える。
【０１１６】
ＣＲＣ生成部６６は、与えられた未登録情報語に対してＣＲＣ符号を生成し、検査語生成部６８と符号語出力部７４に与える。検査語生成部６８は、未登録情報語とＣＲＣ符号に対して検査語を生成し、符号語出力部７４に与える。
【０１１７】
符号語出力部７４は、未登録情報語にＣＲＣ符号と検査語を付加した符号語を再構成し、未登録情報語を透かし登録部４６に与え、再構成された符号語を符号語埋め込み部５２と埋め込み強度調整部５０に与える。
【０１１８】
図１０は、図９の符号語変更部４４による符号語の変更処理の手順を説明するフローチャートである。
【０１１９】
図３で示した、実施の形態１の情報語変更部１４による情報語の変更処理と重複するステップについては、図３と同符号を付して説明を省略する。図３の変更処理のステップＳ１８の代わりに、図１０の変更処理では、ステップＳ１７およびＳ１９が実行される点が実施の形態１とは異なる。
【０１２０】
ステップＳ１６において、インデックス（ｉ，ｊ）によって指定されたビットが変更された情報語の候補が透かしデータベース４８に未登録であれば（Ｓ１６のＮ）、ＣＲＣ生成部６６は、その未登録情報語に対するＣＲＣ符号を生成し、検査語生成部６８は、その未登録情報語とＣＲＣ符号に対する検査語を生成する（Ｓ１７）。符号語生成部７０は、未登録情報語にＣＲＣ符号と検査語を付加した符号語を再構成し、出力する（Ｓ１９）。
【０１２１】
図１１は、符号語変更部４４の別の構成を説明する図である。符号語変更部４４は、候補生成部６２と、登録確認部６４と、ＣＲＣ生成部６６と、検査語生成部６８と、符号語生成部７０と、相関評価部７２と、符号語出力部７４とを含む。図１１の構成の符号語変更部４４は、情報語硬値化部４２から情報語の硬値を受け取る他、受信語抽出部４０から符号語の軟値を受け取る。符号語変更部４４は、情報語の一部のビットの反転、並びにＣＲＣ・検査語の計算により求められた符号語の候補の内、符号語の軟値との相関が高いものを選択して出力する。
【０１２２】
候補生成部６２は、情報語硬値化部４２から硬値で与えられた原情報語自身、並びに、その原情報語の一部を変更することにより情報語の候補を生成し、登録確認部６４に与える。登録確認部６４は、透かしデータベース４８を検索して、候補生成部６２により生成された情報語の候補が透かしデータベース４８に既に登録された情報語と重複するかどうかを調べる。登録確認部６４は、透かしデータベース４８に登録済みの情報語と重複していない情報語の候補を選択して、その未登録情報語をＣＲＣ生成部６６、検査語生成部６８、および符号語生成部７０に与える。
【０１２３】
ＣＲＣ生成部６６は、与えられた未登録情報語に対してＣＲＣ符号を生成し、検査語生成部６８と符号語生成部７０に与える。検査語生成部６８は、未登録情報語とＣＲＣ符号に対して検査語を生成し、符号語生成部７０に与える。
【０１２４】
符号語生成部７０は、未登録情報語にＣＲＣ符号と検査語を付加することにより符号語の候補を再構成し、相関評価部７２に与える。相関評価部７２は、再構成された符号語の候補と符号語の軟値との相関を評価して、相関の高い候補を選択し、符号語出力部７４に与える。符号語出力部７４は、相関の高い符号語を構成する情報語を未登録情報語として透かし登録部４６に与え、相関評価部７２により選択された符号語を符号語埋め込み部５２と埋め込み強度調整部５０に与える。
【０１２５】
図１１の構成の符号語変更部４４による符号語の変更処理は相関の評価の仕方により、いくつかのバリエーションがある。図１２、図１３を参照して、符号語の変更処理のバリエーションを説明する。
【０１２６】
図１２は、図１１の符号語変更部４４による符号語の変更処理の手順を説明するフローチャートである。
【０１２７】
図５で示した、実施の形態１の情報語変更部１４による情報語の変更処理と重複するステップについては、図５と同符号を付して説明を省略する。図５の変更処理のステップＳ３６およびＳ３８の代わりに、図１２の変更処理では、ステップＳ３５、Ｓ３７、およびＳ３９が実行される点が実施の形態１とは異なる。
【０１２８】
ステップＳ３４において、ビット変更されたｍＣｉ通りの情報語の候補の中に、透かしデータベース４８に未登録のものがある場合（Ｓ３４のＹ）、ＣＲＣ生成部６６は、その未登録情報語に対するＣＲＣ符号を生成し、検査語生成部６８は、その未登録情報語とＣＲＣ符号語に対する検査語を生成し、符号語生成部７０は、未登録情報語にＣＲＣ符号と検査語を付加した符号語を生成する（Ｓ３５）。未登録の情報語の候補が複数あれば、複数の符号語の候補が生成される。
【０１２９】
相関評価部７２は、符号語の候補と受信語抽出部４０により抽出された符号語の軟値との相関を計算する（Ｓ３７）。相関評価部７２は、相関の最も高い符号語を選択し、符号語出力部７４はその選択された符号語を出力する（Ｓ３９）。
【０１３０】
上記の手順では、ｍＣｉ通りの符号語の候補をすべて生成して、その中から受信語抽出部４０により抽出された符号語の軟値との相関が最も高い候補を選択したが、符号語の候補を逐次生成し、所定の閾値よりも大きい相関をもつ未登録の符号語の候補が出現した時点で、その符号語の候補を選択して出力するように構成してもよい。
【０１３１】
図１３は、図１１の符号語変更部４４による符号語の別の変更処理の手順を説明するフローチャートである。図１２の手順では、情報語のビット系列内で変更するビット数ができるだけ少ない符号語を選択した。しかしながら、情報語のビット系列の変更ビット数が少なくても、変更された情報語に対してＣＲＣやパリティを計算すると、元のＣＲＣやパリティとは全く異なるものとなるから、符号語全体で見た場合、変更ビット数が大きくなることがある。そこで、図１３の変更処理では、符号語全体で変更ビット数が少なく、符号語の軟値との相関が高い符号語の候補を選択する。
【０１３２】
候補生成部６２は、情報語のビット系列の内、変更するビットの数を示す変数ｉにゼロを代入する（Ｓ８０）。候補生成部６２は、ｍＣｉ通りのビット変更した情報語の候補を生成する（Ｓ８２）。変数ｉが定数ｋ以下であれば（Ｓ８４のＹ）、変数ｉを１だけインクリメントし（Ｓ８６）、ステップＳ８２に戻る。変数ｉが定数ｋより大きければ（Ｓ８６のＮ）、最大ｋ個のビット変更を試みた情報語の候補がすべて生成されたことになり、ステップＳ８８に進む。
【０１３３】
登録確認部６４は、最大でｋ個のビットを変更して生成された情報語の候補の中に、透かしデータベース４８に未登録のものがあるかどうかを調べる（Ｓ８８）。未登録の情報語の候補がある場合（Ｓ８８のＹ）、ＣＲＣ生成部６６は、その未登録情報語に対するＣＲＣ符号を生成し、検査語生成部６８は、その未登録情報語とＣＲＣ符号語に対する検査語を生成し、符号語生成部７０は、未登録情報語にＣＲＣ符号と検査語を付加して符号語を生成する（Ｓ９０）。未登録の情報語の候補が複数あれば、複数の符号語の候補が生成される。
【０１３４】
相関評価部７２は、符号語の候補と受信語抽出部４０により抽出された符号語の軟値との相関を計算する（Ｓ９２）。相関評価部７２は、相関の最も高い符号語の候補を選択し、符号語出力部７４はその選択された符号語を出力する（Ｓ９４）。
【０１３５】
生成された情報語の候補の中に、透かしデータベース４８に未登録のものがない場合（Ｓ８８のＮ）、最大でｋ個のビットを変更をした情報語の候補がすべて透かしデータベース１８に既に登録されているため、情報語の登録ができない旨の警告メッセージを通知し（Ｓ９６）、終了する。
【０１３６】
図１３の変更処理によれば、まず、最大ｋ個までのビット数を変更した情報語の候補をすべて生成し、その内の未登録の情報語について、ＣＲＣ符号と検査語を再計算し、未登録情報語にＣＲＣ符号と検査語を付加することにより符号語の候補を再構成する。そして、符号語の候補と符号語の軟値の相関を評価し、相関の高い符号語の候補を選択する。これにより、ＣＲＣ符号と検査語を含めた符号語全体で見た場合に、受信語との相関が高いものを選択することができ、原コンテンツに符号語を埋め込む際の劣化を最小限に抑えることができる。
【０１３７】
図１３の変更処理の手順において、相関を計算せずに、ＣＲＣ符号と検査語を含めた符号語全体で変更されるビット数が少ない候補を選択してもよい。相関計算をしないため、計算コストを減らすことができる。また、ＣＲＣやパリティも含めてビット変更数の少ない符号語を選択して原コンテンツに埋め込むため、原コンテンツの劣化を抑えることができる。
【０１３８】
図１４は、実施の形態２に係る透かし抽出装置４００の構成図である。透かし抽出装置４００は、透かし埋め込み装置２００により出力された透かし入りコンテンツをテストコンテンツとして受け入れて、透かし入りコンテンツから受信語を透かしとして抽出し、抽出された受信語に含まれる誤り訂正後の情報語に対応づけられた参照情報を取得して出力する。透かし埋め込み装置２００により生成されていないテストコンテンツの場合には、正規の情報語を抽出できないため、参照情報は出力されず、正規の情報語が抽出されない旨を伝える警告がなされる。
【０１３９】
受信語抽出部８０は、入力された透かし入りコンテンツから受信語を透かしとして抽出し、誤り訂正部８６に与える。抽出された受信語には、情報語、ＣＲＣ符号、および検査語が含まれている。
【０１４０】
誤り訂正部８６は、検査語によって、情報語とＣＲＣ符号の誤りを訂正し、誤り訂正後の情報語とＣＲＣ符号をＣＲＣ検査部８８に与える。ＣＲＣ検査部８８は、ＣＲＣ符号により、誤り訂正後の情報語に誤りがないかを検査し、誤りが検出されなかった場合、誤り訂正後の情報語を透かし検索部９０に与える。ＣＲＣ符号により誤りが検出された場合は、正しく情報語が抽出されなかった旨を伝える警告をユーザに提示する。
【０１４１】
透かし検索部９０は、ＣＲＣ検査部８８から与えられた情報語をキーとして透かしデータベース９２を検索し、情報語に対応づけられた参照情報を取得し、出力する。
【０１４２】
透かし抽出装置４００の透かしデータベース９２は、図８の透かし埋め込み装置２００の透かしデータベース４８と同じ構成のものであり、情報語に参照情報が対応づけられて格納されている。透かし抽出装置４００は、ネットワークを介して、透かし埋め込み装置２００の透かしデータベース４８にアクセスし、情報語に対応づけられた参照情報を取得してもよい。また、透かし抽出装置４００の受信語抽出部８０も、図８の透かし埋め込み装置２００の受信語抽出部４０と同じ構成のものであり、同じ透かし抽出手順にしたがって受信語を抽出する。
【０１４３】
以上述べた各実施の形態の透かし埋め込み装置および透かし抽出装置によれば、原コンテンツから抽出される透かしを利用したテーブル参照型の電子透かしシステムを構築することができる。透かし埋め込み装置において、元々は透かしの入っていない原コンテンツから「透かし」に相当する情報の抽出を試み、その抽出された透かしに相当する情報に対応づけて参照情報をデータベースに登録する。透かし抽出装置において、テストコンテンツから透かし情報を抽出し、データベースを検索して透かし情報に対応づけられた参照情報を取得する。
【０１４４】
このテーブル参照型透かし方式によれば、理想的には、原コンテンツに透かしを埋め込まなくてもよいため、原コンテンツは劣化しない。しかしながら、実際には、原コンテンツから抽出された透かしに相当するビット列をそのまま変更することなくデータベースに登録することは難しい。原コンテンツから所定の透かし抽出手順にしたがって抽出される透かしに相当するビット列は、異なる原コンテンツに対して同じものになる可能性があり、そのまま登録するとデータベースに二重登録が発生することがあるからである。したがって、透かしのビット列の少なくとも一部を変更してデータベースに登録する必要が生じる。
【０１４５】
また、透かしのビット列の変更が余儀なくされる別の理由として、透かしには誤り訂正符号が必須であることが挙げられる。透かし抽出時には、コンテンツにノイズが加わるため、安定して透かし抽出を行うためには誤り訂正符号を用いて透かしのロバスト性を高める必要がある。また、誤り訂正復号に使用されるパリティビット列は、情報ビット列から一意に決まるデータである。すなわち、抽出された符号語の一部を構成するパリティビット列は、符号語の一部を構成する情報ビット列から誤り訂正符号により計算されるパリティビット列に置き換えなければならない。
【０１４６】
さらに、抽出された透かしの復号結果が正しいものかどうかを検査するために、通常、ＣＲＣ符号が用いられる。ＣＲＣビットも誤り訂正符号のパリティビットと同様に情報語から一意に決定されるデータであるため、ＣＲＣビットの計算、並びに、原符号語を構成する誤りを含んだＣＲＣビットから新たに計算された正しいＣＲＣビットへの置き換えが必要となる。
【０１４７】
このような理由から、原コンテンツから抽出された透かしビット列をそのまま透かしとして用いることはできず、情報語のビット列の一部の変更、並びに、パリティ部やＣＲＣ部の計算・変更の必要が生じる。このようにして変更された透かしデータは、原コンテンツから抽出された透かしデータとは異なるため、ビット変更された透かしデータを原コンテンツに埋め込み直さなければならない。それでも、データベースへの二重登録を避けるための情報語の変更ビットの数や、誤り検出のためのＣＲＣビットやパリティビットの数は、符号語全体のビット数と比べると少ないため、同一の透かし耐性をもたせるという条件下では、通常の透かし埋め込み方式に比べて、透かしの埋め込み強度を抑えて透かしの埋め込みが可能である。したがって、コンテンツの劣化を避けながら、透かしの耐性を高めることができる。
【０１４８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【０１４９】
【図１】実施の形態１に係る透かし埋め込み装置の構成図である。
【図２】図１の情報語変更部の構成を説明する図である。
【図３】図２の情報語変更部による情報語の変更処理の手順を説明するフローチャートである。
【図４】図１の情報語変更部の別の構成を説明する図である。
【図５】図４の情報語変更部による情報語の変更処理の手順を説明するフローチャートである。
【図６】図４の情報語変更部による情報語の別の変更処理の手順を説明するフローチャートである。
【図７】実施の形態１に係る透かし抽出装置の構成図である。
【図８】実施の形態２に係る透かし埋め込み装置の構成図である。
【図９】図８の符号語変更部の構成を説明する図である。
【図１０】図９の符号語変更部による符号語の変更処理の手順を説明するフローチャートである。
【図１１】図８の符号語変更部の別の構成を説明する図である。
【図１２】図１１の符号語変更部による符号語の変更処理の手順を説明するフローチャートである。
【図１３】図１１の符号語変更部による符号語の別の変更処理の手順を説明するフローチャートである。
【図１４】実施の形態２に係る透かし抽出装置の構成図である。
【符号の説明】
【０１５０】
１０  情報語抽出部、  １２  情報語硬値化部、  １４  情報語変更部、  １６  透かし登録部、  １８  透かしデータベース、  ２０  埋め込み強度調整部、  ２２  情報語埋め込み部、  ２４  ＣＲＣ生成部、  ２６  検査語生成部、  ２８  ＣＲＣ・検査語埋め込み部、  ３０  透かし埋め込み部、  ３２  候補生成部、  ３４  登録確認部、  ３６  相関評価部、  ３８  情報語出力部、  ４０  受信語抽出部、  ４２  情報語硬値化部、  ４４  符号語変更部、  ４６  透かし登録部、  ４８  透かしデータベース、  ５０  埋め込み強度調整部、  ５２  符号語埋め込み部、  ６２  候補生成部、  ６４  登録確認部、  ６６  ＣＲＣ生成部、  ６８  検査語生成部、  ７０  符号語生成部、  ７２  相関評価部、  ７４  符号語出力部、  １００、２００  透かし埋め込み装置。
【図１】
2006304237.tif 000003
【図２】
2006304237.tif 000004
【図３】
2006304237.tif 000005
【図４】
2006304237.tif 000006
【図５】
2006304237.tif 000007
【図６】
2006304237.tif 000008
【図７】
2006304237.tif 000009
【図８】
2006304237.tif 000010
【図９】
2006304237.tif 000011
【図１０】
2006304237.tif 000012
【図１１】
2006304237.tif 000013
【図１２】
2006304237.tif 000014
【図１３】
2006304237.tif 000015
【図１４】
2006304237.tif 000016