JP5793865B2 - 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム - Google Patents

電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム Download PDF

Info

Publication number
JP5793865B2
JP5793865B2 JP2010294032A JP2010294032A JP5793865B2 JP 5793865 B2 JP5793865 B2 JP 5793865B2 JP 2010294032 A JP2010294032 A JP 2010294032A JP 2010294032 A JP2010294032 A JP 2010294032A JP 5793865 B2 JP5793865 B2 JP 5793865B2
Authority
JP
Japan
Prior art keywords
digital watermark
codeword
watermark information
content
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010294032A
Other languages
English (en)
Other versions
JP2012142783A (ja
Inventor
昌平 中潟
昌平 中潟
健介 倉木
健介 倉木
高橋 潤
潤 高橋
阿南 泰三
泰三 阿南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010294032A priority Critical patent/JP5793865B2/ja
Priority to US13/296,976 priority patent/US8582900B2/en
Publication of JP2012142783A publication Critical patent/JP2012142783A/ja
Application granted granted Critical
Publication of JP5793865B2 publication Critical patent/JP5793865B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0085Time domain based watermarking, e.g. watermarks spread over several images
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0063Image watermarking in relation to collusion attacks, e.g. collusion attack resistant
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/608Watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • H04N2201/3236Details of authentication information generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • H04N2201/324Selecting a particular authentication information from amongst a plurality of different authentication information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3284Processing of the additional information for error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、例えば、電子データ化されたコンテンツ中に電子透かし情報を埋め込む電子透かし埋め込み装置及び電子透かし埋め込み用コンピュータプログラムに関する。また本発明は、例えば、電子データ化されたコンテンツに埋め込まれた電子透かし情報を検出する電子透かし検出装置及び電子透かし検出用コンピュータプログラムに関する。
近年、インターネットなどを介して、映画あるいは音楽などの電子データ化されたコンテンツを配信するサービスが提供されている。これらのコンテンツは、デジタル著作権管理(Digital Rights Management、DRM)技術によって暗号化された上で配信される。また、DRM技術によって、これらのコンテンツを不正に複製したり、あるいは配布することが禁止されている。
しかし、視聴者がコンピュータのディスプレイまたはテレビジョンモニタに表示された映像コンテンツをカムコーダなどの撮影機器を用いて撮影することによって映像コンテンツを不正に複製し、複製された映像コンテンツを不正に流通させる事件が発生している。ディスプレイに表示された映像コンテンツは、暗号化されていないため、撮影により複製された映像コンテンツの流通を防ぐことは難しい。
そこで、予め視聴者の識別番号などの情報を電子透かしとしてコンテンツに埋め込む技術が開発されている。電子透かしは、例えば、ディスプレイに表示されたその電子透かしが埋め込まれた映像コンテンツをカムコーダで撮影して不正に複製したとしても、複製された映像コンテンツの中に依然として残っている。このようなアナログキャプチャによって不正に複製された映像コンテンツの流通後において、その複製された映像コンテンツから電子透かしを検出することにより、映像コンテンツの不正利用を行った視聴者の識別番号が特定可能となっている。したがって、映像コンテンツがアナログキャプチャにより不正に複製されて投稿サイトなどにアップロードされた場合でも、映像コンテンツの管理者は、アップロードされた映像コンテンツに埋め込まれている情報から流出元を特定することができる。
また、電子透かしの技術は、電子広告(デジタルサイネージ)にも応用可能である。例えば、ユーザが、街頭スクリーンまたはテレビに映った電子透かし情報が埋め込まれた広告動画をカメラにより撮影した動画像から電子透かし情報を検出することで、その広告動画で紹介された商品の詳細情報といった付加情報を得ることができる。
ところで、電子透かしが埋め込まれたコンテンツは、データ圧縮処理、データの一部切り取り、あるいはフィルタ処理などによって劣化することがある。そのため、埋め込まれた電子透かしは、このようなデータの劣化が生じても、電子透かし検出装置にて検出可能なように、データの劣化に対する耐性を持つことが好ましい。とりわけ、電子透かしが著作権保護の目的で使用される場合、電子透かしは、悪意のあるユーザが電子透かしを解析してその電子透かしを無効化するような攻撃に耐え得ることが好ましい。
電子透かしを無効化する攻撃の一つとして、結託攻撃と呼ばれるものがある。結託攻撃の一例では、複数のユーザがそれぞれ別個に入手した、異なる電子透かしが埋め込まれた同一のコンテンツ同士を比較することにより電子透かしが解析される。そして例えば、そのような異なる電子透かしが埋め込まれた同一のコンテンツの互いに対応する部分のデータを平均化することで、電子透かしを劣化させたコンテンツが作成される。
そこで、このような結託攻撃に対する耐性を持つ電子透かしが研究されている(例えば、特許文献1、2及び非特許文献1、2を参照)。
例えば、非特許文献1及び2には、c人のユーザが電子透かしが埋め込まれたデータに対して結託攻撃を行った場合に、結託者でないユーザに対する電子透かし情報を検出する確率がε以下となる結託耐性符号が提案されている。しかし、非特許文献1及び2で提案された結託体制符号の符号長は非常に長く、利用し難い。
そこで特許文献1には、結託耐性符号の符号長を短くする技術が提案されている。この技術では、不正者追跡のために用いる閾値の候補が計算により複数生成され、その複数の閾値の候補のそれぞれに対応する複数の符号長が計算により求められる。そして、その複数の符号長の値から最も小さい値が選択され、その選択された符号長で利用者ごとに異なる符号語が生成される。
また、特許文献2には、電子透かし情報に冗長ビットを付加して誤り訂正符号語を生成し、その誤り訂正符号語をコンテンツに埋め込む技術が提案されている。また、その誤り訂正符号語に対して異なる複数の鍵を用いて複数のスクランブルデータを生成し、各スクランブルデータを個別の電子透かし情報としてオリジナルコンテンツに埋め込むことが提案されている。
特開2007−178857号公報 特開2007−324720号公報
D. Boneh and J. Shaw, "Collusion-Secure Fingerprinting for Digital Data", in Proc of CRYPTO'95, LNCS 963, 1995年, pp.452-465 G. Tardos, "Optimal Probabilistic Fingerprint Codes", in STOC'03, ACM(2003), 2003年, pp.116-125
しかし、非特許文献1、2または特許文献1に開示された技術では、結託耐性符号の符号長が十分に短くなっておらず、その結託耐性符号は実用的でないことがある。特に、電子透かし情報が埋め込まれるデータの量が小さい場合、電子透かし情報の埋め込みによるそのデータの劣化をユーザが知覚できないように電子透かし情報を埋め込むことが困難となるおそれがあった。また、そのような長い符号は、結託攻撃が行われていないコンテンツから電子透かし情報を検出するには非常に冗長であり、電子透かしの埋め込み及び検出の両方の処理の演算量も不必要に増大してしまうので好ましくない。
また、特許文献2に開示された技術では、電子透かし検出装置は、埋め込まれた情報を復元するために、スクランブルデータの生成に用いられた鍵を用いる。そのため、電子透かし検出装置がスクランブルデータの生成に用いられた鍵を知らない場合、全ての鍵のそれぞれについて埋め込まれた情報を復元する処理を行うことになるので、電子透かし情報を検出するための演算量が増大してしまうおそれがあった。
そこで本明細書は、結託攻撃に耐性を持ち、かつ、電子透かし情報の埋め込み及び検出のための演算量を抑制できる電子透かし埋め込み装置を提供することを目的とする。
一つの実施形態によれば、電子透かし埋め込み装置が提供される。この電子透かし埋め込み装置は、電子データ化されたコンテンツ及び電子透かし情報を取得するインターフェース部と、そのコンテンツに電子透かし情報を埋め込む処理部とを有する。処理部は、電子透かし情報を含むビット列を含む基準符号語を生成する符号語生成機能と、基準符号語に含まれる電子透かし情報を含むビット列の配列を、所定の入れ替え規則に従って電子透かし情報ごとに異なる複数のシフト量のそれぞれに応じて入れ替えることにより、互いに異なる複数の修正符号語を生成するシフト機能と、コンテンツに複数の修正符号語を埋め込む透かし重畳機能とを実現する。
また他の実施形態によれば、電子透かし検出装置が提供される。この電子透かし検出装置は、電子透かし情報が埋め込まれた電子データ化されたコンテンツを取得するインターフェース部と、そのコンテンツから電子透かし情報を検出する処理部とを有する。処理部は、コンテンツから、電子透かし情報を含むビット列の配列が所定の入れ替え規則に従って複数のシフト量の何れかに応じて入れ替えられた複数の修正符号語を検出し、その複数の修正符号語を含む第1検出符号を生成する符号語検出機能と、第1検出符号に基づいて、第1の修正符号語に含まれる電子透かし情報を含むビット列の配列を第2の修正符号語に含まれる電子透かし情報を含むビット列の配列と一致させるように、第1の修正符号語のビット列の配列を入れ替える第2のシフト量を求めるシフト系列検出機能と、第2のシフト量を打ち消すように第1の修正符号語のビット列の配列を所定の入れ替え規則に従って入れ替えてから第1の修正符号語と第2の修正符号語を合成することにより第2検出符号を生成する逆シフト機能と、第2検出符号から電子透かし情報を抽出する電子透かし抽出機能とを実現する。
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
ここに開示される電子透かし埋め込み装置は、結託攻撃に耐性を持ち、かつ、電子透かし情報の埋め込み及び検出のための演算量を抑制できる。
第1の実施形態による電子透かし埋め込み装置の概略構成図である。 第1の実施形態による、電子透かし情報をデータに埋め込むために実現される処理部の機能を示すブロック図である。 基準符号語の一例を示す図である。 基準符号語と修正符号語の一例を示す図である。 透かしパターンの一周期分の時間変化の一例を示す図である。 図5に対応する、参照領域内の画素値の平均値の時間変化を表すグラフである。 透かしパターンの時間経過と埋め込まれるビットの値の関係の一例を示す図である。 電子透かし埋め込み装置の処理部上で実行されるコンピュータプログラムにより制御される、電子透かし埋め込み処理の動作フローチャートである。 第1の実施形態による電子透かし検出装置の概略構成図である。 電子透かし情報をコンテンツから検出するために実現される電子透かし検出装置の処理部の機能を示すブロック図である。 第1検出符号に含まれる複数の巡回シフト対象部分と、第2検出符号の関係の一例を示す図である。 電子透かし検出処理の動作フローチャートである。 (A)は、コンテンツから検出された第1検出符号の一例及びその第1検出符号に含まれる二つの巡回シフト対象部分間の相互相関値の一例を示す図である。(B)は、異なる電子透かし情報が埋め込まれた、(A)に示されたコンテンツと同一のコンテンツから検出された第1検出符号の一例及びその第1検出符号に含まれる二つの巡回シフト対象部分間の相互相関値の一例を示す図である。 図13(A)、(B)に示された第1検出符号が埋め込まれた二つのコンテンツを合成することにより得られたコンテンツから検出された第1検出符号と、その第1検出符号に含まれる二つの巡回シフト対象部分間の相互相関値を示す図である。
以下、図を参照しつつ、電子透かし埋め込み装置について説明する。この電子透かし埋め込み装置は、電子透かし情報を含むビット列を、乱数により決定される互いに異なるシフト量だけ巡回シフトさせた複数の符号語を生成し、その複数の符号語をコンテンツに埋め込む。さらにこの電子透かし埋め込み装置は、異なる電子透かし情報を埋め込む度に、そのシフト量を決定するために用いられる乱数を変えることで、電子透かし情報に結託攻撃に対する耐性を付与する。
なお、本実施形態におけるコンテンツは、電子化されたデータであり、例えば、映像を表す動画像データまたは音声データである。
図1は、第1の実施形態による電子透かし埋め込み装置の概略構成図である。電子透かし埋め込み装置1は、インターフェース部11と、記憶部12と、処理部13とを有する。そして電子透かし埋め込み装置1は、インターフェース部11を介して取得したコンテンツに対して電子透かし情報を埋め込む。
インターフェース部11は、例えば、電子透かし埋め込み装置1を、カムコーダなどの入力装置(図示せず)または液晶ディスプレイなどの表示装置(図示せず)と接続するための信号インターフェース及びその制御回路を有する。あるいは、インターフェース部11は、電子透かし埋め込み装置1を、イーサネット(登録商標)などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。あるいはまた、インターフェース部11は、無線配信されるコンテンツを受信するためのアンテナと電子透かし埋め込み装置1を接続し、アンテナを介して受信したコンテンツを復号するための回路を有する。
インターフェース部11は、入力装置から、または通信ネットワークあるいはアンテナを介してコンテンツを取得し、そのコンテンツを処理部13へ渡す。
さらに、インターフェース部11は、キーボードまたはマウスといったユーザインターフェース装置を電子透かし埋め込み装置1に接続するために、ユニーバーサルシリアルバスなどのバス規格に従ったインターフェース回路を有してもよい。そしてインターフェース部11は、ユーザインターフェース装置または通信ネットワークから、コンテンツに電子透かし情報として埋め込むデータを取得し、そのデータを処理部13へ渡す。
電子透かし情報は、例えば、視聴者の識別番号、コンテンツの配信元の識別番号、及び電子透かし埋め込み装置1が組み込まれた画像表示装置またはオーディオ装置といったコンテンツ再生装置の識別番号の少なくとも一つを含む。また本明細書において、電子透かし情報に含まれる視聴者の識別番号などを表す複数の数値又は記号は、ビット列で表される。
さらに、インターフェース部11は、電子透かし情報が埋め込まれたコンテンツを処理部13から受け取り、その電子透かし情報が埋め込まれたコンテンツを液晶ディスプレイまたはスピーカなどの出力装置へ出力する。または、インターフェース部11は、電子透かし情報が埋め込まれたコンテンツを、通信ネットワークを介して電子透かし埋め込み装置1と接続された他の機器へ送信してもよい。
記憶部12は、例えば、半導体メモリ、磁気ディスク装置、または光ディスク装置のうちの少なくとも何れか一つを有する。そして記憶部12は、電子透かし埋め込み装置1で実行されるコンピュータプログラムと、電子透かし情報を埋め込むために使用する各種のパラメータを記憶する。また記憶部12は、電子透かし情報が埋め込まれる前のコンテンツの一部及び電子透かし情報を、処理部13により電子透かし情報が埋め込まれたコンテンツが作成されるまで、一時的に記憶してもよい。さらに記憶部12は、電子透かし情報が埋め込まれたコンテンツを記憶してもよい。
処理部13は、1個または複数個のプロセッサと、ランダムアクセスメモリといったメモリ回路と、周辺回路を有する。そして処理部13は、電子透かし埋め込み装置1全体を制御する。
さらに処理部13は、電子透かし情報を含む基準符号語を生成し、その基準符号語の一部を乱数に従って決定されたシフト量で巡回シフトさせることにより得られる複数の修正符号語をコンテンツに埋め込む。
図2は、コンテンツに電子透かし情報を埋め込むために実現される処理部13の機能を示すブロック図である。処理部13は、符号語生成部21と、シフト部22と、透かし情報埋め込み部23とを有する。処理部13が有するこれらの各部は、処理部13が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。あるいは、符号語生成部21、シフト部22及び透かし情報埋め込み部23は、それぞれ別個の演算回路として電子透かし埋め込み装置1に実装されてもよい。
符号語生成部21は、電子透かし情報を含む基準符号語を生成する。
図3は、基準符号語の一例を示す図である。基準符号語300は、先頭から順に、位置検出符号301と、シフト量検出符号302と、電子透かし情報303と、誤り検出/訂正符号304とを含む。位置検出符号301は、電子透かし情報が埋め込まれたコンテンツにおいて、符号語の位置を示すための符号である。またシフト量検出符号302は、後述するシフト部22により巡回シフトされた修正符号語におけるシフト量を、電子透かし検出装置が検出するために利用される符号である。位置検出符号301及びシフト量検出符号302は、電子透かし検出装置が正確に位置検出符号及びシフト量検出符号を検出できるように、互いに直交する所定長のビット列として設定されることが好ましい。例えば、位置検出符号301及びシフト量検出符号302は、それぞれ16ビットのビット列'1111111100000000'、'0000111100001111'とすることができる。なお、位置検出符号301及びシフト量検出符号302のビット長は16ビットに限られず、例えば、8ビットあるいは32ビットであってもよい。また位置検出符号301のビット長とシフト量検出符号302のビット長は異なっていてもよい。
また、基準符号語300に含まれる電子透かし情報303は、インターフェース部11を介して取得された電子透かし情報である。そして誤り検出/訂正符号304は、電子透かし情報303に対する誤り検出符号及び誤り訂正符号である。誤り検出/訂正符号304は、コンテンツに埋め込まれた符号語がデータ圧縮処理、ノイズの重畳または結託攻撃などによって劣化した場合に符号語に含まれる誤りを検出または訂正するために用いられる。誤り検出/訂正符号304には、誤り検出符号として、例えば、巡回冗長検査(Cyclic Redundancy Check, CRC)符号が用いられてもよい。また、誤り検出/訂正符号304には、誤り訂正符号として、リードソロモン符号あるいは低密度パリティ検査(low-density parity-check, LDPC)符号が用いられてもよい。なお、基準符号語は、誤り検出/訂正符号を含まなくてもよい。
符号語生成部21は、インターフェース部11を介して電子透かし情報を受け取ると、上記のように、その電子透かし情報の前に位置検出符号及びシフト量検出符号を付す。そして符号語生成部21は、電子透かし情報に対する誤り検出符号及び誤り訂正符号を算出する。そして符号語生成部21は、その誤り検出符号及び誤り訂正符号を、電子透かし情報の後に追加することで基準符号語を生成する。
なお、符号語生成部21は、符号語を生成する前に、電子透かし情報の暗号化、電子透かし情報に含まれるビット列を所定のブロック単位で入れ換えるスクランブル処理の実行またはスペクトラム拡散などの前処理を行ってもよい。この場合、符号語生成部21は、その前処理が行われた電子透かし情報を基準符号語に含める。
また、符号語生成部21は、電子透かし情報が所定のビット長よりも長いビット列で表される場合、そのビット列をその所定のビット長単位で分割し、分割されたビット列ごとに基準符号語を生成してもよい。
符号語生成部21は、生成した基準符号語をシフト部22へ渡す。
シフト部22は、基準符号語のうち、位置検出符号を除いた部分、すなわち、シフト量検出符号、電子透かし情報及び誤り検出/訂正符号を含むビット列である巡回シフト対象部分を所定の入れ替え規則に従って入れ替えることにより、修正符号語を生成する。本実施形態では、シフト部22は、巡回シフト対象部分を巡回シフトすることにより修正符号語を生成する。
図4は、基準符号語と修正符号語の一例を示す図である。図4において、基準符号語401に対して、修正符号語402は、位置検出符号410を除いた巡回シフト対象部分411が、シフト量であるRビットだけ右側へシフトされている。そして基準符号語401における右端のRビットが位置検出符号の後、かつシフト量検出符号の前に移動している。
本実施形態では、シフト部22は、一つのコンテンツに対して、一つの基準符号語から複数の修正符号語を生成する。その際、シフト部22は、各修正符号語に対するシフト量を、それぞれ別個の乱数または擬似乱数により決定する。例えば、シフト部22は、線形合同法、メルセンヌ・ツイスタあるいはAdvanced Encryption Standard(AES)暗号を用いた乱数生成法などの乱数発生法に従って、修正符号語ごとに乱数を生成する。この乱数は、例えば、0以上巡回シフト対象部分のビット長M未満の整数である。シフト部22は、何れか一つの乱数から他の乱数が推定されることがないように、例えば、修正符号語ごとに異なる種を用いて異なる乱数系列を発生させ、その乱数系列内の何れかの乱数をシフト量として選択する。あるいは、シフト部22は、一つの乱数系列から修正符号語の数だけ選択された複数の乱数を、それぞれ他の乱数系列の順序とすることで選択された複数の乱数をそれぞれシフト量としてもよい。
さらに、シフト部22は、同一のコンテンツであっても、新たな電子透かし情報が埋め込まれる度に、異なる乱数または擬似乱数を用いて各修正符号語についてのシフト量を決定する。したがって、電子透かし情報が埋め込まれた複数のコンテンツ間で、各修正符号語についてのシフト量の組は異なる。
なお、一つのコンテンツに対して生成される修正符号語の数は、そのコンテンツのデータ量が多いほど多くなるように設定されてもよい。例えば、生成される修正符号語の数は、コンテンツのデータ量を、一つの修正符号語を埋め込むために必要なデータ量で除した値とすることができる。ただし、その値が所定の上限値を超える場合、シフト部22は、生成される修正符号語の数をその上限値としてもよい。この上限値は、例えば、5または10とすることができる。
シフト部22は、生成した複数の修正符号語を透かし情報埋め込み部23へ渡す。
透かし情報埋め込み部23は、コンテンツに対してシフト部22から受け取った複数の修正符号語を埋め込む。透かし情報埋め込み部23は、電子透かし情報を埋め込むために、コンテンツに応じた様々な電子透かし情報の埋め込み方法の何れかを利用できる。例えば、コンテンツが音声データである場合、透かし情報埋め込み部23は、人の非可聴域に修正符号語を埋め込む。その際、透かし情報埋め込み部23は、修正符号語に含まれるビットごとに、そのビットの値に応じた信号を生成する。そして透かし情報埋め込み部23は、修正符号語の先頭のビットから順に、各ビットの値に応じた信号を時系列に沿って音声データの非可聴域に重畳する。
あるいは、コンテンツが動画像データである場合、透かし情報埋め込み部23は、その動画像データに含まれる時系列順に並んだ複数の画像に対して、修正符号語の先頭のビットから順に、一つのビットずつ埋め込む。例えば、透かし情報埋め込み部23は、各画像のそれぞれの所定位置の画素の輝度値を、修正符号語の先頭のビットから順に、そのビットの値に応じた輝度値にする。なお、所定位置は、例えば、画像の4隅の何れかの画素とすることができる。
さらにまた、透かし情報埋め込み部23は、修正符号語に含まれるビットごとに複数の画像を含む所定の区間を設定し、その所定の区間において各画像に重畳される透かしパターンを生成し、その透かしパターンの面積をビットの値に応じて周期的に変化させてもよい。この場合、透かし情報埋め込み部23は、埋め込まれるビットの値に応じて、透かしパターンの面積の周期的な時間変動の位相またはその時間変動の周期を変える。これにより、画像全体または画像の一部に設定され、透かしパターンが含まれる参照領域内の平均画素値も周期的に増減するので、参照領域内の平均画素値の周期的な時間変動の位相またはその時間変動の周期も変動する。
なお、参照領域は、面積が最大となるときの透かしパターンが含まれ、かつ一定のサイズを持つように設定される。すなわち、参照領域は、透かしパターンの面積に関わらず、画像上で透かしパターンが重畳される領域を含む。
図5は、透かしパターンの一周期分の時間変化の一例を示す図である。この例では、透かしパターンは複数の透かしブロックを有し、各透かしブロックに含まれる画素は、負の値、例えば、'-2'を持つ。そのため、各透かしブロックは影状となり、その結果、透かしパターンに含まれる画素が重畳されることにより、その重畳された画素の値は元の画素値よりも低くなる。
図5において、時刻tから時刻(t+8)までの時間的に連続する9枚の画像が示されている。時刻tの画像501には、矩形状の透かしパターン511が重畳されている。そして時刻tから時刻(t+4)にかけて、透かしブロック512の数が減ることにより、画像に重畳される透かしパターンの面積が減少する。そして時刻(t+4)における画像502において透かしパターンは消失する。また、時刻(t+4)以降、透かしパターンの面積は増加し、時刻(t+8)における画像503にて、再び透かしパターンの面積が最大となる。
図6は、図5に対応する、透かしパターンの面積の時間変化と透かしパターンを含む領域内の画素値の平均値の時間変化との対応関係を表すグラフである。図6における上側のグラフにおいて、横軸は時間を表し、縦軸は透かしパターンの面積を表す。そしてグラフ601は、各時刻t〜(t+8)における、透かしパターンの面積を表す。一方、下側のグラフにおいて、横軸は時間を表し、縦軸は画素値を表す。そしてグラフ602は、各時刻t〜(t+8)における、参照領域内の平均画素値を表す。
グラフ601に示されるように、時刻t〜(t+8)において、透かしパターンの面積は、三角波状に変化する。またこの例では、透かしパターンの各画素は負の値を持つ。そのため、グラフ602に示されるように、参照領域内の平均画素値は透かしパターンの面積が減少するにつれて増加し、逆に透かしパターンの面積が増加するにつれて減少する。そのため、平均画素値も時系列に沿って三角波状に変化し、平均画素値の変化を表す三角波の位相は、透かしパターンの面積の変化を表す三角波の位相に対して反転する。
上述したように、一例として、動画像データに埋め込まれるビットの値は、透かしパターンの面積の変動周期、すなわち、参照領域内の平均画素値の変動周期によって表される。
図7は、透かしパターンの時間経過と埋め込まれるビットの値の関係の一例を示す図である。図7における上側、中央、下側の各グラフの横軸は時間を表し、縦軸は参照領域内の平均画素値を表す。そしてグラフ701及び702は、それぞれ、ビットの値が'0'または'1'である場合の時間経過に対する参照領域内の平均画素値の変動を表す。この例では、ビットの値が'1'である場合の周期T1は、ビットの値が'0'である場合の周期T2の1/2となっている。なお、埋め込まれた値の検出を容易にするために、一つのビットが埋め込まれる区間の長さは、ビットの値によらず、同一であることが好ましい。例えば、図7における、複数のビットに対する参照領域内の平均画素値の時間変動を表すグラフ703に示されるように、ビットの値が'0'である場合、一つの区間710には2周期の平均画素値の変動が含まれ、一方、ビットの値が'1'である場合、一つの区間711には4周期の平均画素値の変動が含まれる。
あるいは、動画像データに埋め込まれるビットの値は、透かしパターンの面積の時間変動における位相によって表されてもよい。透かし情報埋め込み部23は、例えば、ビットの値が'0'であるときの透かしパターンの面積の時間変動の位相に対して、ビットの値が'1'であるときの透かしパターンの面積の時間変動の位相を反転させてもよい。
透かし情報埋め込み部23は、画像ごとに参照領域を特定する。そして透かし情報埋め込み部23は、透かしパターンに含まれる画素と重なる画像上の画素の値を、その透かしパターンに含まれる画素の値で修正する。例えば、透かしパターンに含まれる各画素が'-2'の値を持つ場合、透かし情報埋め込み部23は、透かしパターンと重なる領域に含まれる各画素の値から'2'減算する。逆に、透かしパターンに含まれる各画素が'2'の値を持つ場合、透かし情報埋め込み部23は、透かしパターンと重なる領域に含まれる各画素の値に'2'加算する。
上記のように、透かし情報埋め込み部23は、動画像データに対して時系列方向に複数のビットを埋め込むことができる。この場合、透かし情報埋め込み部23は、動画像データに埋め込まれる一つのビットに対応する区間が終了する度に、ビットごとの区切りを示す所定のパターンを、次のビットに対応する区間が始まるまでの画像に重畳してもよい。
また、透かし情報埋め込み部23は、動画像データ中の各画像に、電子透かし情報に含まれる複数のビットを埋め込んでもよい。例えば、各画像の複数の所定の画素が、修正符号語に含まれるビットの値を表すために用いられる。あるいは、動画像データ中の各画像には、複数の参照領域及び各参照領域に含まれる透かしパターンが設定される。そして、各参照領域とその参照領域内に重畳される透かしパターンが一つのビットに対応する。また、電子透かし情報に含まれる全てのビットが各画像に埋め込まれる場合、所定区間は、動画像データの先頭の画像から終端の画像までとしてもよい。
同様に、透かし情報埋め込み部23は、コンテンツが音声データである場合に、その音声データの一つのフレームの非可聴域内の複数の周波数帯域にそれぞれ修正符号語に含まれる一つのビットを埋め込んでもよい。
透かし情報埋め込み部23は、複数の修正符号語をそれぞれ上記のようにコンテンツに埋め込む。そして透かし情報埋め込み部23は、複数の修正符号語が埋め込まれたコンテンツを記憶部12に記憶する。あるいは、透かし情報埋め込み部23は、複数の修正符号語が埋め込まれたコンテンツを、インターフェース部11を介して他の機器へ出力してもよい。
図8は、この実施形態による電子透かし埋め込み装置の処理部上で実行されるコンピュータプログラムにより制御される、電子透かし埋め込み処理の動作フローチャートである。
処理部13の符号語生成部21は、インターフェース部11を通じて受け取った電子透かし情報に位置検出符号、シフト量検出符号及び誤り検出/訂正符号を付加することにより基準符号語を生成する(ステップS101)。符号語生成部21は、基準符号語をシフト部22へ渡す。また処理部13は、インターフェース部11を通じて受け取ったコンテンツに未挿入領域が有るか否か判定する(ステップS102)。なお、未挿入領域は、未だに修正符号語が埋め込まれておらず、かつ、修正符号語を埋め込むことが可能な領域である。例えば、コンテンツが音声データであれば、修正符号語が埋め込まれておらず、かつ、修正符号語のデータ量を重畳可能な非可聴域である。あるいは、コンテンツが動画像データであれば、未挿入領域は、例えば、修正符号語が埋め込まれておらず、かつ、修正符号語に含まれるビットの総数に対応する複数の画像である。
コンテンツに未挿入領域があれば(ステップS102−Yes)、シフト部22は、乱数を生成し、その乱数に応じたシフト量Rを算出する(ステップS103)。そしてシフト部22は、基準符号語中の位置検出符号を除いた巡回シフト対象部分を、シフト量Rで巡回シフトすることにより修正符号語を作成する(ステップS104)。シフト部22は、修正符号語を透かし情報埋め込み部23へ渡す。透かし情報埋め込み部23は、コンテンツの未挿入領域に、シフト部22から受け取った修正符号語を埋め込む(ステップS105)。そして処理部13は、ステップS102以降の処理を再度実行する。
一方、コンテンツに未挿入領域がなければ(ステップS102−No)、処理部13は、電子透かし埋め込み処理を終了する。
次に、第1の実施形態による電子透かし埋め込み装置によりコンテンツに埋め込まれた電子透かし情報を検出する電子透かし検出装置について説明する。
図9は、第1の実施形態による電子透かし検出装置の概略構成図である。電子透かし検出装置2は、インターフェース部31と、記憶部32と、処理部33とを有する。そして電子透かし検出装置2は、インターフェース部31を介して取得した、コンテンツに埋め込まれた電子透かし情報を検出する。
インターフェース部31は、例えば、電子透かし検出装置2を、カムコーダなどのコンテンツ入力装置(図示せず)と接続するための信号インターフェース及びその制御回路を有する。あるいは、インターフェース部31は、電子透かし検出装置2を、イーサネット(登録商標)などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
インターフェース部31は、コンテンツ入力装置または通信ネットワークを介して電子透かし情報が埋め込まれたコンテンツを取得し、そのコンテンツを処理部33へ渡す。
さらに、インターフェース部31は、検出された電子透かし情報を処理部33から受け取り、その電子透かし情報を、通信ネットワークを介して電子透かし検出装置2と接続された他の機器へ送信してもよい。
記憶部32は、例えば、半導体メモリ、磁気ディスク装置、または光ディスク装置のうちの少なくとも何れか一つを有する。そして記憶部32は、電子透かし検出装置2で実行されるコンピュータプログラム、コンテンツに埋め込まれた電子透かし情報を検出するために使用する各種のパラメータを記憶する。例えば、記憶部32は、位置検出符号のテンプレート及びシフト量検出符号のテンプレートを記憶する。また記憶部32は、検出された電子透かし情報を記憶してもよい。さらに記憶部32は、電子透かし情報が埋め込まれたコンテンツを記憶してもよい。
処理部33は、1個または複数個のプロセッサと、ランダムアクセスメモリといったメモリ回路と、周辺回路を有する。そして処理部33は、コンテンツに埋め込まれた電子透かし情報を検出する。さらに処理部33は、電子透かし検出装置2全体を制御する。
図10は、コンテンツに埋め込まれた電子透かし情報を検出するために実現される処理部の機能を示すブロック図である。
処理部33は、符号語検出部41と、巡回シフト系列検出部42と、逆シフト部43と、透かし情報抽出部44とを有する。
符号語検出部41は、コンテンツに埋め込まれた複数の修正符号語を検出する。そのために、符号語検出部41は、コンテンツに埋め込まれた複数の修正符号語の各ビットを、電子透かし埋め込み装置1により用いられた各ビットの埋め込み方法に応じた検出方法を用いて検出する。例えば、上記のように、コンテンツが音声データであり、その音声データの非可聴域に修正符号語に含まれる各ビットの値に応じた信号が付加されているとする。この場合、符号語検出部41は、その信号に対応するテンプレートと非可聴域の信号とのテンプレートマッチングにより非可聴域内でテンプレートと一致する信号を検出する。そして符号語検出部41は、その一致したテンプレートに対応するビット値を修正符号語に含まれるビットとして検出する。
また、コンテンツが動画像データであり、各画像の所定の画素が修正符号語に含まれるビット値に応じた値を持っている場合、符号語検出部41は、その所定の画素の値に応じたビット値を検出する。
また、コンテンツが動画像データであり、修正符号語に含まれる各ビットの値が、画像に重畳された透かしパターンの面積の周期的な変動により表されている場合、符号語検出部41は、各画像の参照領域内の平均画素値を算出する。なお、一つの画像に複数の参照領域が設定されている場合、符号語検出部41は、参照領域ごとに平均画素値を算出する。
なお、動画像データは、電子透かし情報が埋め込まれた映像をアナログキャプチャしたものであることがある。そこで符号語検出部41は、例えば、各画像に対してエッジ検出処理を行って元の映像が写っている動画像領域のエッジを検出することにより、各画像内の動画像領域を特定する。そして符号語検出部41は、予め分かっている動画像領域と参照領域との比に基づいて、動画像領域内で参照領域を検出する。
符号語検出部41は、参照領域ごとに、参照領域内の平均画素値を時系列順に並べた1次元ベクトルを作成する。そして符号語検出部41は、その1次元ベクトルを一つのビットの値に相当する区間単位で周波数変換することにより、その区間における平均画素値の時間変動に対するスペクトルを求める。なお、周波数変換として、例えば、高速フーリエ変換または離散コサイン変換が用いられる。また符号語検出部41は、区間の区切りを示す所定のパターンを、例えばパターンマッチングにより検出することで、その区間を特定できる。
符号語検出部41は、各参照領域についての区間ごとのスペクトルから透かしパターンの面積の周期的な変化による参照領域内の平均画素値の時間変動に相当する周波数成分のみを抽出する。そして埋め込まれたビットの値が参照領域内の平均画素値の時間変動の位相により表されている場合、符号語検出部41は、抽出した周波数成分から位相情報を求める。そして符号語検出部41は、例えば、その位相に対応するビットの値を、位相とシンボルの値との関係を表す参照テーブルを参照することにより求める。
また、ビットの値が透かしパターンの面積の時間変動の周期により表されている場合、符号語検出部41は、ビットの取り得るそれぞれの値に相当する周波数成分のうち、最も強い周波数成分を求め、その最も強い周波数成分に対応する周期を求める。そして符号語検出部41は、周期とビットの値との関係を表す参照テーブルを参照して、検出された周期に対応するビットの値を埋め込まれたビットの値とする。
符号語検出部41は、所定の順序、例えば、時系列順に抽出したビットの値を並べることにより、複数の修正符号語を含むビット列である第1検出符号を生成する。また、動画像データの一つの画像に複数のビットが埋め込まれている場合には、符号語検出部41は、予め設定された、その画像に埋め込まれたビットの順序に従って各ビットの値を並べることにより、第1検出符号を生成する。同様に、コンテンツが音声データであり、その音声データの一つのフレームの非可聴域の複数の周波数帯域にそれぞれビットが埋め込まれている場合、そのフレームに埋め込まれたビットの順序に従って各ビットの値を並べることにより、第1検出符号を生成する。
符号語検出部41は、第1検出符号を巡回シフト系列検出部42及び逆シフト部43へ渡す。
巡回シフト系列検出部42は、第1検出符号に含まれる複数の修正符号語のうち、基準となる修正符号語に対するその他の修正符号語の相対的なシフト量を検出する。すなわち、巡回シフト系列検出部42は、各修正符号語内の電子透かし情報を表すビットの配列を一致させるためのシフト量を検出する。そのために、巡回シフト系列検出部42は、第1検出符号と、位置検出符号と同じビット列を持つテンプレートとの間でパターンマッチングを行って、第1検出符号中でそのテンプレートと一致するビット列を、修正符号語に含まれる位置検出符号として検出する。そして巡回シフト系列検出部42は、一つの位置検出符号から次の位置検出符号までのビット列を一つの修正符号語として検出する。なお、電子透かし情報が埋め込まれたコンテンツは、データ圧縮あるいはアナログキャプチャなどによって劣化していることがあり、そのため、第1検出符号に含まれる位置検出符号も誤りを含む可能性がある。そこで、巡回シフト系列検出部42は、例えば、位置検出符号のテンプレートとのハミング距離が所定距離以下となるビット列を、位置検出符号として検出してもよい。この場合、所定距離は、例えば、1、2といった固定値、あるいは位置検出符号のビット長の1/10といった値に設定される。
次に、巡回シフト系列検出部42は、それぞれの修正符号語から位置検出符号を除いた巡回シフト対象部分を求める。そして巡回シフト系列検出部42は、基準となる修正符号語の巡回シフト対象部分とその他の修正符号語の巡回シフト対象部分との相互相関値を、例えば次式に従って算出する。
ここで、C[0][k]は、基準となる修正符号語の巡回シフト対象部分のk番目のビットに相当する値を表す。本実施形態では、基準となる修正符号語は、第1検出符号に含まれる先頭の修正符号語である。ただし、基準となる修正符号語は、その先頭の修正符号語に限られず、第1検出符号に含まれる修正符号語のうちの任意の修正符号語とすることができる。またC[i][k]は、第1検出符号に含まれる、先頭の修正符号語を除いたi番目(i=1,2,..,N-1、ただしNは第1検出符号に含まれる修正符号語の総数)の修正符号語における、巡回シフト対象部分のk番目のビットに相当する値を表す。ただし、そのk番目のビットの値が'1'であれば、C[i][k]=1であり、そのk番目のビットの値が'0'であれば、C[i][k]=-1である。また演算子%は剰余演算子であり、A、Bをそれぞれ整数とした場合にA%BはAをBで除したときの剰余を表す。Mは、巡回シフト対象部分の符号長である。そしてr[i][j]は、第1検出符号に含まれる、i番目の修正符号語の巡回シフト対象部分をjビットだけ右側へ巡回シフトした場合の、そのi番目の修正符号語の巡回シフト対象部分と先頭の修正符号語の巡回シフト対象部分間の相互相関値を表す。そして各巡回シフト対象部分は、コンテンツの劣化により修正符号語が書き換えられなければ、異なるシフト量で巡回シフトされていることを除いて同一の値を持つ。従って、この相互相関値は、i番目の修正符号語の巡回シフト対象部分と先頭の修正符号語の巡回シフト対象部分との間の相対的なシフト量が打ち消された場合に、最も大きな値を持つ。
そこで巡回シフト系列検出部42は、1番目以降の各修正符号語の巡回シフト対象部分について、シフト量jを0から(M-1)まで変更しつつ、それぞれ先頭の修正符号語の巡回シフト対象部分との相互相関値を算出し、その相互相関値の最大値を求める。そして巡回シフト系列検出部42は、i番目の修正符号語の巡回シフト対象部分についての相互相関値の最大値に対応するシフト量jmaxを、先頭の修正符号語のシフト量に対する、そのi番目の修正符号語の相対的なシフト量とする。
巡回シフト系列検出部42は、基準となる修正符号語以外の他の修正符号語の相対的なシフト量を逆シフト部43へ通知する。
逆シフト部43は、基準となる修正符号語以外の各修正符号語の巡回シフト対象部分を、その修正符号語に対応する相対的なシフト量jmaxだけ右側へ巡回シフトする。これにより、基準となる修正符号語に含まれる巡回シフト対象部分のシフト量と、その他の各修正符号語に含まれる巡回シフト対象部分のシフト量は一致する。
逆シフト部43は、各修正符号語の巡回シフト対象部分の互いに対応するビットごとに、次式に従って多数決でそのビットの値を決定することにより第2検出符号を生成する。
ここで、C[i][k]は、(1)式と同様に、第1検出符号に含まれる、先頭からi番目の修正符号語における、巡回シフト対象部分のk番目のビットに相当する値を表す。ただし、ここでは、先頭の修正符号語も含まれるよう、iは0から(N-1)までの値を取る。またS[i]は、i番目の修正符号語について求められた相対的なシフト量である。Mは、巡回シフト対象部分の符号長である。そしてC*[j]は、第2検出符号のj番目のビットの値を表す。逆シフト部43は、jを0から(M-1)まで変えつつ、(2)式に従ってC*[j]を算出することにより、第2検出符号を生成する。
なお、巡回シフト系列検出部42及び逆シフト部43は、第1検出符号に含まれる全ての修正符号語について上記の処理を行わなくてもよい。巡回シフト系列検出部42及び逆シフト部43は、少なくとも二つの修正符号語のうちの一方を基準となる修正符号語として、他方の修正符号語について相対的なシフト量を求めて第2検出符号を生成すればよい。
図11は、第1検出符号に含まれる複数の修正符号語の巡回シフト対象部分と、第2検出符号の関係の一例を示す図である。図11において、シフト量検出符号は、ビット列'ab'で表されるものとする。基準となる修正符号語の巡回シフト対象部分1101は、基準符号語の巡回シフト対象部分が2ビット右側へ巡回シフトされたものであり、そのため、先頭から3番目及び4番目にそれぞれビット'a'、'b'が位置している。これに対し、他の二つの修正符号語の巡回シフト対象部分1102、1103は、それぞれ、巡回シフト対象部分1101に対して相対的にS[1]ビット、S[2]ビット左側にずれている。その結果、巡回シフト対象部分1102、1103は、それぞれ、S[1]ビット、S[2]ビット右側に巡回シフトしたときに、巡回シフト対象部分1102、1103と巡回シフト対象部分1101との相互相関値が最大となる。そこで、逆シフト部43は、巡回シフト対象部分1102、1103を、それぞれ、S[1]ビット、S[2]ビット右側に巡回シフトした後に、巡回シフト対象部分1101〜1103の対応するビット同士を合成する。これにより、第2検出符号1110が生成される。この第2検出符号1110は、基準となる修正符号語の巡回シフト対象部分1101と同様に、基準符号語の巡回シフト対象部分が2ビット右側へ巡回シフトされたものとなる。
そこで、逆シフト部43は、第2検出符号と、シフト量検出符号と同じビット列を持つテンプレートとの間でパターンマッチングを行って、第2検出符号中でそのテンプレートと一致するビット列をシフト量検出符号として検出する。そして逆シフト部43は、第2検出符号を、シフト量検出符号が先頭に位置するように、電子透かし埋め込み装置による巡回シフトの方向と逆方向へ巡回シフトする。これにより、基準符号語の巡回シフト対象部分が再現される。また第2検出符号は、複数の修正符号の巡回シフト対象部分の対応するビットを合成することにより求められている。そのため、第2検出符号に含まれるシフト量検出符号は、第1検出符号に含まれる個々の修正符号語に含まれるシフト量検出符号よりも正確である可能性が高い。したがって、逆シフト部43は、第2検出符号における巡回シフト対象部分のシフト量を正確に検出できる。
逆シフト部43は、再現された基準符号語の巡回シフト対象部分を透かし情報抽出部44へ渡す。
透かし情報抽出部44は、再現された基準符号語の巡回シフト対象部分に含まれる誤り検出/訂正符号を用いて、その巡回シフト対象部分に対して誤り検出処理及び誤り訂正処理を行う。そして透かし情報抽出部44は、その巡回シフト対象部分から、シフト量検出符号の次に配置されている電子透かし情報を抽出する。なお、電子透かし情報に対して暗号化、スクランブル処理またはスペクトラム拡散といった前処理が行われている場合、透かし情報抽出部44は、抽出された電子透かし情報に対してその前処理の逆処理を行うことで、電子透かし情報に含まれる情報を再生する。
透かし情報抽出部44は、電子透かし情報を記憶部32に記憶する。あるいは、透かし情報抽出部44は、電子透かし情報を、インターフェース部31を介して他の機器へ出力してもよい。
図12は、電子透かし検出装置2の処理部33上で実行されるコンピュータプログラムにより制御される、電子透かし検出処理の動作フローチャートである。
処理部33の符号語検出部41は、電子透かし情報が埋め込まれたコンテンツから複数の修正符号語を含むビット列を第1検出符号として検出する(ステップS201)。そして符号語検出部41は、第1検出符号を処理部33の巡回シフト系列検出部42及び逆シフト部43へ渡す。
巡回シフト系列検出部42は、第1検出符号内の位置検出符号を検出することにより各修正符号語を検出する(ステップS202)。そして巡回シフト系列検出部42は、修正符号語の巡回シフト対象部分同士の相互相関により基準となる修正符号語に対する他の修正符号語の相対的なシフト量を特定する(ステップS203)。巡回シフト系列検出部42は、基準となる修正符号語以外の各修正符号語の相対的なシフト量を逆シフト部43へ通知する。
逆シフト部43は、相対的なシフト量を打ち消すように各修正符号語の巡回シフト対象部分を巡回シフトする(ステップS204)。そして逆シフト部43は、各修正符号語の巡回シフト対象部分の対応するビットの値の多数決により各巡回シフト対象部分を合成して第2検出符号を生成する(ステップS205)。さらに逆シフト部43は、第2検出符号からシフト量検出符号を検出して基準となる修正符号語のシフト量を特定する(ステップS206)。そして逆シフト部43は、第2検出符号を特定されたシフト量だけ逆巡回シフトして基準符号語の巡回シフト対象部分を再生する(ステップS207)。逆シフト部43は、再生された基準符号語の巡回シフト対象部分を処理部33の透かし情報抽出部44へ渡す。
透かし情報抽出部44は、再生された巡回シフト対象部分から電子透かし情報を抽出する(ステップS208)。そして処理部33は、電子透かし検出処理を終了する。
以下、本実施形態による電子透かし埋め込み装置により埋め込まれた電子透かし情報が結託攻撃に対して耐性を持つことを、図を参照しつつ説明する。
図13(A)は、コンテンツから検出された第1検出符号の一例及びその第1検出符号に含まれる二つの巡回シフト対象部分間の相互相関値の一例を示す図である。また図13(B)は、異なる電子透かし情報が埋め込まれた、図13(A)に示されたコンテンツと同一のコンテンツから検出された第1検出符号の一例及びその第1検出符号に含まれる二つの巡回シフト対象部分間の相互相関値の一例を示す図である。
図13(A)に示された第1検出符号1301には、二つの修正符号語が含まれており、各修正符号語には、それぞれ、巡回シフト対象部分C1[0]、C1[1]が含まれている。また図13(A)の下側に示されたグラフは、巡回シフト対象部分C1[0]とC1[1]間の相互相関値を表す。このグラフにおいて、横軸はC1[1]のC1[0]に対する相対的なシフト量を表し、縦軸は相互相関値を表す。そしてグラフ1302は、C1[1]の相対的なシフト量ごとの相互相関値を表す。グラフ1302に示されるように、相互相関値は、シフト量S1[1]にて最大となる。したがって、C1[1]は、C1[0]に対してシフト量S1[1]だけ巡回シフトされている。
一方、図13(B)に示された第1検出符号1311にも、二つの修正符号語が含まれており、各修正符号語には、それぞれ、巡回シフト対象部分C2[0]、C2[1]が含まれている。また図13(B)の下側に示されたグラフは、巡回シフト対象部分C2[0]とC2[1]間の相互相関値を表す。このグラフにおいて、横軸はC2[1]のC2[0]に対する相対的なシフト量を表し、縦軸は相互相関値を表す。そしてグラフ1312は、C2[1]の相対的なシフト量ごとの相互相関値を表す。グラフ1312に示されるように、相互相関値は、シフト量S2[1]にて最大となる。したがって、C2[1]は、C2[0]に対してシフト量S2[1]だけ巡回シフトされている。
図14は、図13(A)及び図13(B)に示された第1検出符号が埋め込まれた二つのコンテンツを合成することにより得られたコンテンツから検出された第1検出符号と、その第1検出符号に含まれる二つの巡回シフト対象部分間の相互相関値を示す。なお、二つのコンテンツの合成は、例えば、二つのコンテンツ間の対応する信号を平均化することにより行われる。
図14に示された第1検出符号1401には、二つの修正符号語が含まれており、各修正符号語には、それぞれ、コンテンツの合成により改変された巡回シフト対象部分D[0]、D[1]が含まれている。また図14の下側に示されたグラフは、巡回シフト対象部分D[0]とD[1]間の相互相関値を表す。このグラフにおいて、横軸はD[1]のD[0]に対する相対的なシフト量を表し、縦軸は相互相関値を表す。そしてグラフ1402は、D[1]の相対的なシフト量ごとの相互相関値を表す。グラフ1402に示されるように、相互相関値は、二つの極大値を持つ。この二つの極大値の一方は、改変されていない巡回シフト対象部分C1[1]のC1[0]に対する相対的なシフト量S1[1]に対応し、他方は、改変されていない巡回シフト対象部分C2[1]のC2[0]に対する相対的なシフト量S2[1]に対応する。したがって、D[1]をシフト量S1[1]で巡回シフトした後に、D[1]とD[0]を合成することにより得られた第2検出符号は、C1[0]、C1[1]に含まれる電子透かし情報が強調されたものとなる。そのため、電子透かし検出装置は、D[1]とD[0]を合成することにより得られた第2検出符号から、C1[0]、C1[1]に含まれる電子透かし情報が抽出できる。一方、この巡回シフトにより、C2[0]、C2[1]に含まれる電子透かし情報の対応するビットは異なる位置となるので、この巡回シフトによってC2[0]、C2[1]に含まれる電子透かし情報はランダムノイズ化される。そのため、電子透かし検出装置は、その第2検出符号からC2[0]、C2[1]に含まれる電子透かし情報を抽出できない。
同様に、D[1]をシフト量S2[1]で巡回シフトした後に、D[1]とD[0]を合成することにより得られた第2検出符号は、C2[0]、C2[1]に含まれる電子透かし情報が強調されたものとなる。そのため、電子透かし検出装置は、D[1]とD[0]を合成することにより得られた第2検出符号から、C2[0]、C2[1]に含まれる電子透かし情報を抽出できる。
このように、本実施形態による電子透かし埋め込み装置によりコンテンツに埋め込まれた電子透かし情報は、結託攻撃に対して耐性を持つ。
以上に説明してきたように、この実施形態による電子透かし埋め込み装置は、異なる電子透かし情報が埋め込まれた同一のコンテンツを複数用いて結託攻撃が行われても、修正符号語に含まれる電子透かし情報を再現でき、その結果、結託攻撃に対する耐性を持つ。またこの電子透かし埋め込み装置では、コンテンツに埋め込まれる符号語のビット長は、電子透かし情報のビット長の高々数倍〜十数倍程度のビット長でよい。このように、符号語のビット長は実用的に問題の無いレベルに抑制され、その結果、電子透かし埋め込み処理の演算量及び電子透かし検出処理の演算量も抑制される。
変形例によれば、電子透かし検出装置の処理部の巡回シフト系列検出部は、第1検出符号からシフト量検出符号をパターンマッチングなどを用いて直接検出することにより、各修正符号語におけるシフト量を求めてもよい。
また他の変形例によれば、電子透かし埋め込み装置の処理部のシフト部は、基準符号語の巡回シフト対象部分を、巡回シフトさせる代わりに、シフト量検出符号と同じ長さを持つブロック単位で分割し、各ブロックをスクランブル処理してもよい。なお、この変形例におけるスクランブル処理は、所定の入れ替え規則に従って各ブロックの位置を入れ替える処理である。この場合、シフト部は、スクランブル処理後のシフト量検出符号を含むブロックの位置に対して、他のブロックの順序が一意に定められるようにスクランブル処理を行うことが好ましい。そしてシフト部は、修正符号語ごとに、シフト量検出符号を含むブロックの位置が異なるように基準符号語の巡回シフト対象部分をスクランブル処理する。さらにシフト部は、コンテンツに埋め込まれる電子透かし情報ごとに、修正符号語ごとのブロックの配置を異ならせる。
この場合、電子透かし検出装置の処理部の巡回シフト系列検出部は、第1検出符号からシフト量検出符号をパターンマッチングなどを用いて直接検出する。そして巡回シフト系列検出部は、シフト量検出符号の位置とブロックの入れ替え順序との関係を表す参照テーブルを参照することにより、各巡回シフト対象部分におけるブロックの入れ替え順序を特定する。そして逆シフト部は、特定された入れ替え順序に従って、各巡回シフト対象部分のブロックを逆スクランブル処理して、ブロックの配列を元に戻す。なお、参照テーブルは、予め電子透かし検出装置の記憶部に記憶される。
次に第2の実施形態について説明する。
第2の実施形態による電子透かし埋め込み装置は、一つのコンテンツに埋め込まれる複数の修正符号語を生成するための複数のシフト量を、特定の乱数系列に従って決定する。この第2の実施形態による電子透かし埋め込み装置は、第1の実施形態と比較して、処理部のシフト部による処理が異なる。そこで以下では、シフト部の処理及び関連する事項に関して説明する。なお、電子透かし埋め込み装置のその他の構成要素に関しては、第1の実施形態による電子透かし埋め込み装置の対応する構成要素の説明を参照されたい。
電子透かし埋め込み装置の記憶部は、予め複数個の乱数系列R[0]、R[1]、...、R[L-1]を記憶する。各乱数系列に含まれる乱数は、0から(M-1)までの何れかの整数であり、Mは巡回シフト対象部分のビット長である。また、Lは2以上の整数であり、例えば、同一のコンテンツが配信される最大ユーザ数の想定値に設定される。なお、乱数系列は、例えば、線形合同法、メルセンヌ・ツイスタあるいはAES暗号を用いた乱数生成法といった様々な乱数生成法または擬似乱数生成法の何れかに従って作成されればよい。ただし、各乱数系列は、共通の乱数生成法及び共通の種を用いて生成された基準乱数系列から、互いに異なる先頭位置から一つのコンテンツに含まれる修正符号語の最大数だけ連続する乱数を取り出したものである。また、各乱数系列R[0]、R[1]、...、R[L-1]に周期的となる部分が含まれないように、基準乱数系列が生成されることが好ましい。例えば、線形合同法を用いて基準乱数系列が生成される場合、生成される乱数系列の周期がLに修正符号語の最大数を乗じた値よりも長くなるようなパラメータを用いて基準乱数系列を生成することが好ましい。なお、各乱数系列R[0]、R[1]、...、R[L-1]は、基準乱数系列の一部が重複するように選択されてもよい。例えば、各乱数系列R[0]、R[1]、...、R[L-1]は、それぞれ、基準乱数系列のi番目、(i+1)番目、...、(i+L-1)番目の乱数を先頭とする複数個の乱数の組であってもよい。
電子透かし埋め込み装置の処理部のシフト部は、コンテンツに電子透かし情報を埋め込む度に、記憶された乱数系列のうちの何れかの乱数系列R{k](0≦k≦L-1)を選択する。そしてシフト部は、その選択した乱数系列R[k]に含まれる乱数の順序に従って各修正符号語に含まれる巡回シフト対象部分のシフト量を決定する。例えば、シフト部は、異なる電子透かし情報ごとに異なる乱数系列R[k]を選択する。そしてシフト部は、n番目(ただしnは、1以上の整数)の修正符号語に対するシフト量を、乱数系列R[k]のn番目の乱数[k][(n-1)]とする。なお、このシフト量の決定は、図8に示した電子透かし埋め込み処理のフローチャートにおけるステップS103の処理として実行される。
シフト部は、このように何れかの乱数系列に従って決定された複数のシフト量を用いて基準符号語の巡回シフト対象部分を巡回シフトすることにより、複数の修正符号語を生成する。そしてこの実施形態による電子透かし埋め込み装置は、それら複数の修正符号語をコンテンツに埋め込む。
一方、第2の実施形態による電子透かし検出装置は、第2の実施形態による電子透かし埋め込み装置により電子透かし情報が埋め込まれたコンテンツから電子透かし情報を抽出する。この第2の実施形態による電子透かし検出装置は、第1の実施形態による電子透かし検出装置と比較して、処理部の巡回シフト系列検出部の処理が異なる。そこで以下では、巡回シフト系列検出部について説明する。
この実施形態では、各修正符号語に対して適用されたシフト量が、予め準備された複数の乱数系列のうちの何れかに従って決定されているので、巡回シフト系列検出部は、それら複数の乱数系列の中から、最も確からしいものを決定すればよい。そこで巡回シフト系列検出部は、次式に従ってそれぞれの乱数系列に対するその確からしさを表す適合度を算出する。
ここでC[i][k]は、(2)式と同様に、第1検出符号に含まれる、先頭からi番目の修正符号語における、巡回シフト対象部分のk番目のビットに相当する値を表す。ただし、先頭の修正符号語も含まれるよう、iは0から(N-1)までの値を取る。またR[j][l]は、乱数系列R[j]のl番目の乱数を表す。Mは巡回シフト対象部分の符号長であり、Nは第1検出符号に含まれる修正符号語の数、すなわち、第1検出符号において検出された位置検出符号の数である。そしてv[j]は、乱数系列R[j]に対する適合度である。(3)式により求められる適合度は、着目する乱数系列に応じた複数のシフト量を打ち消すように複数の修正符号語を入れ替えたときの修正符号語のうちの一つと、その他の修正符号語との相互相関値の和を表す。
巡回シフト系列検出部は、jを変えつつ、適合度v[j]を求め、その適合度v[j]が最大となる乱数系列R[jmax]を特定する。そして巡回シフト系列検出部は、乱数系列R[jmax]のl番目の乱数を、第1検出符号に含まれるl番目の巡回シフト対象部分に対するシフト量とする。なお、このシフト量の決定は、図12に示した電子透かし検出処理のフローチャートにおけるステップS203の処理として実行される。
この実施形態では、各修正符号語の生成に用いられるシフト量の組み合わせの数が、予め準備された乱数系列の数に限定されている。そのため、各修正符号語の生成に用いられるシフト量の組み合わせを求めるために、電子透かし検出装置は、その乱数系列の組の数だけ適合度を算出すればよい。そのため、この実施形態では、各修正符号語の生成に用いられるシフト量の組み合わせを求めるための演算量を第1の実施形態による電子透かし検出装置によるその演算量よりも削減できる。
上記の各実施形態による電子透かし埋め込み装置は、例えば、セットトップボックス、サーバあるいはパーソナルコンピュータに組み込まれる。そして電子透かし埋め込み装置が組み込まれた装置は、例えば、通信ネットワークあるいはアンテナを介して受信したコンテンツである動画像データに対して、動画像データを再生する際に上記の電子透かし埋め込み処理を実行する。その装置は、動画像データが所定の圧縮方式に従って圧縮されている場合、その動画像データに含まれる各画像をその所定の圧縮方式に従って復号する。そしてその装置は、その動画像データに含まれる各画像を時系列順に、その装置が有するバッファメモリに保存する。そしてその装置は、バッファメモリから時系列順に画像を読み出して、電子透かし埋め込み処理を実行し、電子透かし情報が埋め込まれた画像をディスプレイに表示させる。
さらに、上記の各実施形態による電子透かし埋め込み装置の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。同様に、上記の実施形態による電子透かし検出装置の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
電子データ化されたコンテンツ及び電子透かし情報を取得するインターフェース部と、
前記コンテンツに前記電子透かし情報を埋め込む処理部であって、
前記電子透かし情報を含むビット列を含む基準符号語を生成する符号語生成機能と、
前記基準符号語に含まれる前記ビット列の配列を、所定の入れ替え規則に従って電子透かし情報ごとに異なる複数のシフト量のそれぞれに応じて入れ替えることにより、互いに異なる複数の修正符号語を生成するシフト機能と、
前記コンテンツに前記複数の修正符号語を埋め込む透かし重畳機能と、
を実現する処理部と、
を有する電子透かし埋め込み装置。
(付記2)
前記所定の入れ替え規則は巡回シフトであり、
前記シフト機能は、前記コンテンツに前記電子透かし情報を埋め込む度に求められる複数の乱数に従って前記複数のシフト量を決定する、付記1に記載の電子透かし埋め込み装置。
(付記3)
前記シフト機能は、互いに異なる複数の乱数系列の何れかを前記コンテンツに前記電子透かし情報を埋め込む度に選択し、該選択された乱数系列に属する複数の乱数によって前記複数のシフト量を決定する、付記2に記載の電子透かし埋め込み装置。
(付記4)
前記符号語生成機能は、前記電子透かし情報に、前記コンテンツ中の前記複数の修正符号語のそれぞれの位置を特定するために用いられる位置検出符号と前記複数の修正符号語のそれぞれに対応する前記シフト量を特定するために用いられるシフト量検出符号とを付加することにより前記基準符号語を生成する、付記1〜3の何れか一項に記載の電子透かし埋め込み装置。
(付記5)
前記ビット列の配列は、前記電子透かし情報と前記シフト量検出符号とを含む、付記4に記載の電子透かし埋め込み装置。
(付記6)
電子データ化されたコンテンツに電子透かし情報を埋め込むことをコンピュータに実行させる電子透かし埋め込み用コンピュータプログラムであって、
前記電子透かし情報を含むビット列を含む基準符号語を生成し、
前記基準符号語に含まれる前記ビット列の配列を、所定の入れ替え規則に従って電子透かし情報ごとに異なる複数のシフト量のそれぞれに応じて入れ替えることにより、互いに異なる複数の修正符号語を生成し、
前記コンテンツに前記複数の修正符号語を埋め込む、
ことをコンピュータに実行させる電子透かし埋め込み用コンピュータプログラム。
(付記7)
電子データ化されたコンテンツ及び電子透かし情報を取得し、
前記電子透かし情報を含むビット列を含む基準符号語を生成し、
前記基準符号語に含まれる前記ビット列の配列を、所定の入れ替え規則に従って電子透かし情報ごとに異なる複数のシフト量のそれぞれに応じて入れ替えることにより、互いに異なる複数の修正符号語を生成し、
前記コンテンツに前記複数の修正符号語を埋め込む、
ことを含む電子透かし埋め込み方法。
(付記8)
電子透かし情報が埋め込まれた電子データ化されたコンテンツを取得するインターフェース部と、
前記コンテンツから前記電子透かし情報を検出する処理部であって、
前記コンテンツから、前記電子透かし情報を含むビット列の配列が所定の入れ替え規則に従って複数のシフト量の何れかに応じて入れ替えられた複数の修正符号語を検出し、該複数の修正符号語を含む第1検出符号を生成する符号語検出機能と、
前記第1検出符号に基づいて、前記複数の修正符号語のうちの第1の修正符号語に含まれる前記ビット列の配列を前記複数の修正符号語のうちの第2の修正符号語に含まれる前記ビット列の配列と一致させるように、前記第1の修正符号語の前記ビット列の配列を入れ替える第2のシフト量を求めるシフト系列検出機能と、
前記第2のシフト量を打ち消すように前記第1の修正符号語の前記ビット列の配列を前記所定の入れ替え規則に従って入れ替えてから前記第1の修正符号語と前記第2の修正符号語を合成することにより第2検出符号を生成する逆シフト機能と、
前記第2検出符号から前記電子透かし情報を抽出する電子透かし抽出機能と、
を実現する処理部と、
を有する電子透かし検出装置。
(付記9)
前記シフト系列検出機能は、前記第1の修正符号語の少なくとも一部を前記入れ替え規則に従って入れ替えながら、当該少なくとも一部と、前記第2の修正符号語の対応する部分との相互相関値を求め、該相互相関値が最大となるときの前記第1の修正符号語の少なくとも一部のシフト量を、前記第1の修正符号語に対する前記第2のシフト量とする、付記8に記載の電子透かし検出装置。
(付記10)
前記複数のシフト量は、互いに異なる複数の乱数系列の中から前記コンテンツに前記電子透かし情報が埋め込まれる際に選択された乱数系列に属する複数の乱数によって決定され、
前記シフト系列検出機能は、前記複数の乱数系列のそれぞれごとに、当該乱数系列に応じた前記複数のシフト量を打ち消すように前記複数の修正符号語を入れ替えたときの前記第2の修正符号語とその他の修正符号語間の相互相関値の和である適合度を算出し、前記複数の乱数系列のうち、該適合度が最大となる乱数系列に属する複数の乱数の一つにより決定された前記第1の修正符号語についての前記シフト量を前記第1の修正符号語についての前記第2のシフト量とする、付記8に記載の電子透かし検出装置。
(付記11)
前記複数の修正符号語のそれぞれは、所定のビットの組である位置検出符号を含み、
前記シフト系列検出機能は、前記第1検出符号から前記位置検出符号を検出することにより、前記複数の修正符号語を検出する、付記8〜10の何れか一項に記載の電子透かし検出装置。
(付記12)
前記複数の修正符号語のそれぞれの前記ビット列は、所定のビットの組であるシフト量検出符号を含み、
前記逆シフト機能は、前記第2検出符号から前記シフト量検出符号を検出し、当該シフト量検出符号が所定の位置となるように前記第2検出符号に含まれるビット列の配列を前記入れ替え規則に従って入れ替え、
前記電子透かし抽出機能は、前記ビット列の配列が入れ替えられた第2検出符号から前記電子透かし情報を抽出する、付記8〜11の何れか一項に記載の電子透かし検出装置。
(付記13)
電子データ化されたコンテンツに埋め込まれた電子透かし情報を検出することをコンピュータに実行させる電子透かし検出用コンピュータプログラムであって、
前記コンテンツから、前記電子透かし情報を含むビット列の配列が所定の入れ替え規則に従って複数のシフト量の何れかに応じて入れ替えられた複数の修正符号語を検出し、該複数の修正符号語を含む第1検出符号を生成し、
前記第1検出符号に基づいて、前記複数の修正符号語のうちの第1の修正符号語に含まれる前記ビット列の配列を前記複数の修正符号語のうちの第2の修正符号語に含まれる前記ビット列の配列と一致させるように、前記第1の修正符号語の前記ビット列の配列を入れ替える第2のシフト量を求め、
前記第2のシフト量を打ち消すように前記第1の修正符号語の前記ビット列の配列を前記所定の入れ替え規則に従って入れ替えてから前記第1の修正符号語と前記第2の修正符号語を合成することにより第2検出符号を生成し、
前記第2検出符号から前記電子透かし情報を抽出する、
ことをコンピュータに実行させる電子透かし検出用コンピュータプログラム。
(付記14)
電子透かし情報が埋め込まれた電子データ化されたコンテンツを取得し、
前記コンテンツから、前記電子透かし情報を含むビット列の配列が所定の入れ替え規則に従って複数のシフト量の何れかに応じて入れ替えられた複数の修正符号語を検出し、該複数の修正符号語を含む第1検出符号を生成し、
前記第1検出符号に基づいて、前記複数の修正符号語のうちの第1の修正符号語に含まれる前記ビット列の配列を前記複数の修正符号語のうちの第2の修正符号語に含まれる前記ビット列の配列と一致させるように、前記第1の修正符号語の前記ビット列の配列を入れ替える第2のシフト量を求め、
前記第2のシフト量を打ち消すように前記第1の修正符号語の前記ビット列の配列を前記所定の入れ替え規則に従って入れ替えてから前記第1の修正符号語と前記第2の修正符号語を合成することにより第2検出符号を生成し、
前記第2検出符号から前記電子透かし情報を抽出する、
ことをコンピュータに実行させる電子透かし検出方法。
1 電子透かし埋め込み装置
11 インターフェース部
12 記憶部
13 処理部
21 符号語生成部
22 シフト部
23 透かし情報埋め込み部
2 電子透かし検出装置
31 インターフェース部
32 記憶部
33 処理部
41 符号語検出部
42 巡回シフト系列検出部
43 逆シフト部
44 透かし情報抽出部

Claims (9)

  1. 電子データ化されたコンテンツ及び電子透かし情報を取得するインターフェース部と、
    前記コンテンツに前記電子透かし情報を埋め込む処理部であって、
    前記電子透かし情報を含む基準符号語を生成する符号語生成機能と、
    記電子透かし情報を前記コンテンツに繰り返し埋め込む際に、前記埋め込むごとに、ビットの入れ替え順序を規定する所定の入れ替え規則に従ったシフト量に応じて前記基準符号語に含まれる前記電子透かし情報のビット配列を入れ替えることにより、互いに異なる複数の修正符号語を生成するシフト機能と、
    前記コンテンツに前記複数の修正符号語を埋め込む透かし重畳機能と、
    を実現する処理部と、
    を有する電子透かし埋め込み装置。
  2. 前記所定の入れ替え規則は巡回シフトであり、
    前記シフト機能は、前記コンテンツに前記電子透かし情報を埋め込むごとに求められる複数の乱数に従って前記シフト量を決定する、請求項1に記載の電子透かし埋め込み装置。
  3. 前記符号語生成機能は、前記電子透かし情報に、前記コンテンツ中の前記複数の修正符号語のそれぞれの位置を特定するために用いられる位置検出符号と前記複数の修正符号語のそれぞれに対応する前記シフト量を特定するために用いられるシフト量検出符号とを付加することにより前記基準符号語を生成する、請求項1または2に記載の電子透かし埋め込み装置。
  4. 電子データ化されたコンテンツに電子透かし情報を埋め込むことをコンピュータに実行させる電子透かし埋め込み用コンピュータプログラムであって、
    前記電子透かし情報を含む基準符号語を生成し、
    記電子透かし情報を前記コンテンツに繰り返し埋め込む際に、前記埋め込むごとに、ビットの入れ替え順序を規定する所定の入れ替え規則に従ったシフト量に応じて前記基準符号語に含まれる前記電子透かし情報のビット配列を入れ替えることにより、互いに異なる複数の修正符号語を生成し、
    前記コンテンツに前記複数の修正符号語を埋め込む、
    ことをコンピュータに実行させる電子透かし埋め込み用コンピュータプログラム。
  5. 電子透かし情報が埋め込まれた電子データ化されたコンテンツを取得するインターフェース部と、
    前記コンテンツから前記電子透かし情報を検出する処理部であって、
    前記コンテンツから、前記電子透かし情報ビット配列がビットの入れ替え順序を規定する所定の入れ替え規則に従った互いに異なるシフト量に応じて入れ替えられた複数の修正符号語を検出し、該複数の修正符号語を含む第1検出符号を生成する符号語検出機能と、
    前記第1検出符号に基づいて、前記複数の修正符号語のうちの第1の修正符号語に含まれる前記ビット配列を前記複数の修正符号語のうちの第2の修正符号語に含まれる前記ビット配列と一致させるように、前記第1の修正符号語の前記ビット配列を入れ替える第2のシフト量を求めるシフト系列検出機能と、
    前記第2のシフト量を打ち消すように前記第1の修正符号語の前記ビット配列を前記所定の入れ替え規則に従って入れ替えてから前記第1の修正符号語と前記第2の修正符号語を合成することにより第2検出符号を生成する逆シフト機能と、
    前記第2検出符号から前記電子透かし情報を抽出する電子透かし抽出機能と、
    を実現する処理部と、
    を有する電子透かし検出装置。
  6. 前記シフト系列検出機能は、前記第1の修正符号語の少なくとも一部を前記入れ替え規則に従って入れ替えながら、当該少なくとも一部と、前記第2の修正符号語の対応する部分との相互相関値を求め、該相互相関値が最大となるときの前記第1の修正符号語の少なくとも一部のシフト量を、前記第1の修正符号語に対する前記第2のシフト量とする、請求項5に記載の電子透かし検出装置。
  7. 電子データ化されたコンテンツに埋め込まれた電子透かし情報を検出することをコンピュータに実行させる電子透かし検出用コンピュータプログラムであって、
    前記コンテンツから、前記電子透かし情報ビット配列がビットの入れ替え順序を規定する所定の入れ替え規則に従った互いに異なるシフト量に応じて入れ替えられた複数の修正符号語を検出し、該複数の修正符号語を含む第1検出符号を生成し、
    前記第1検出符号に基づいて、前記複数の修正符号語のうちの第1の修正符号語に含まれる前記ビット配列を前記複数の修正符号語のうちの第2の修正符号語に含まれる前記ビット配列と一致させるように、前記第1の修正符号語の前記ビット配列を入れ替える第2のシフト量を求め、
    前記第2のシフト量を打ち消すように前記第1の修正符号語の前記ビット配列を前記所定の入れ替え規則に従って入れ替えてから前記第1の修正符号語と前記第2の修正符号語を合成することにより第2検出符号を生成し、
    前記第2検出符号から前記電子透かし情報を抽出する、
    ことをコンピュータに実行させる電子透かし検出用コンピュータプログラム。
  8. 電子データ化されたコンテンツ及び電子透かし情報を取得するインターフェース部と、
    前記コンテンツに前記電子透かし情報を埋め込む処理部であって、
    前記電子透かし情報を含む基準符号語を生成する符号語生成機能と、
    記電子透かし情報を前記コンテンツに繰り返し埋め込む際に、前記埋め込むごとに、ビットの入れ替え順序を規定する所定の入れ替え規則に従ったシフト量に応じて前記基準符号語に含まれる前記電子透かし情報のビット配列を入れ替えることにより、互いに異なる複数の修正符号語を生成するシフト機能と、
    前記コンテンツに前記複数の修正符号語を埋め込む透かし重畳機能と、
    を実現する処理部と、
    を有し、
    前記シフト機能は、互いに異なる複数の乱数系列の何れかを前記コンテンツに前記電子透かし情報を埋め込むごとに選択し、該選択された乱数系列に属する複数の乱数によって前記シフト量を決定する、
    電子透かし埋め込み装置。
  9. 電子透かし情報が埋め込まれた電子データ化されたコンテンツを取得するインターフェース部と、
    前記コンテンツから前記電子透かし情報を検出する処理部であって、
    前記コンテンツから、前記電子透かし情報ビット配列がビットの入れ替え順序を規定する所定の入れ替え規則に従った互いに異なるシフト量に応じて入れ替えられた複数の修正符号語を検出し、該複数の修正符号語を含む第1検出符号を生成する符号語検出機能と、
    前記第1検出符号に基づいて、前記複数の修正符号語のうちの第1の修正符号語に含まれる前記ビット配列を前記複数の修正符号語のうちの第2の修正符号語に含まれる前記ビット配列と一致させるように、前記第1の修正符号語の前記ビット配列を入れ替える第2のシフト量を求めるシフト系列検出機能と、
    前記第2のシフト量を打ち消すように前記第1の修正符号語の前記ビット配列を前記所定の入れ替え規則に従って入れ替えてから前記第1の修正符号語と前記第2の修正符号語を合成することにより第2検出符号を生成する逆シフト機能と、
    前記第2検出符号から前記電子透かし情報を抽出する電子透かし抽出機能と、
    を実現する処理部と、
    を有し、
    記シフト量は、互いに異なる複数の乱数系列の中から前記コンテンツに前記電子透かし情報が埋め込まれる際に選択された乱数系列に属する複数の乱数によって決定され、
    前記シフト系列検出機能は、前記複数の乱数系列のそれぞれごとに、当該乱数系列に応じた前記シフト量を打ち消すように前記複数の修正符号語を入れ替えたときの前記第2の修正符号語とその他の修正符号語間の相互相関値の和である適合度を算出し、前記複数の乱数系列のうち、該適合度が最大となる乱数系列に属する複数の乱数の一つにより決定された前記第1の修正符号語についての前記シフト量を前記第1の修正符号語についての前記第2のシフト量とする、
    電子透かし検出装置。
JP2010294032A 2010-12-28 2010-12-28 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム Active JP5793865B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010294032A JP5793865B2 (ja) 2010-12-28 2010-12-28 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム
US13/296,976 US8582900B2 (en) 2010-12-28 2011-11-15 Digital watermark embedding device, computer-readable recording medium, and digital watermark detecting device and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010294032A JP5793865B2 (ja) 2010-12-28 2010-12-28 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2012142783A JP2012142783A (ja) 2012-07-26
JP5793865B2 true JP5793865B2 (ja) 2015-10-14

Family

ID=46316825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010294032A Active JP5793865B2 (ja) 2010-12-28 2010-12-28 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム

Country Status (2)

Country Link
US (1) US8582900B2 (ja)
JP (1) JP5793865B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660261B2 (en) * 2009-06-04 2014-02-25 Mediatek Singapore Pte. Ltd. System and apparatus for integrated video/image encoding/decoding and encryption/decryption
JP2013026848A (ja) * 2011-07-21 2013-02-04 Hitachi Solutions Ltd 電子透かし広告コンテンツサービスシステム
JP5974463B2 (ja) * 2011-11-29 2016-08-23 富士通株式会社 電子透かし埋め込み装置、電子透かし埋め込み方法、電子透かし検出装置及び電子透かし検出方法
EP2821956A1 (en) * 2013-07-05 2015-01-07 Thomson Licensing Method for detecting a watermark in a video
JP6152787B2 (ja) 2013-11-29 2017-06-28 富士通株式会社 情報埋め込み装置、情報検出装置、情報埋め込み方法、及び情報検出方法
EP3171584B1 (en) 2014-07-14 2021-08-11 Fujitsu Limited Electronic watermark information detection apparatus and electronic watermark information detection method
US9401000B2 (en) 2014-08-27 2016-07-26 Google Inc. Protecting content on a mobile device from mining
US9858633B2 (en) * 2015-01-23 2018-01-02 Sony Corporation Model anti-collusion watermark
US20200166312A1 (en) * 2016-02-04 2020-05-28 Silver Eagle Brands, Inc Pseudo-random steganographic camouflage
US10276175B1 (en) * 2017-11-28 2019-04-30 Google Llc Key phrase detection with audio watermarking
CN112788342B (zh) * 2019-11-11 2022-07-08 阿里巴巴集团控股有限公司 一种水印信息嵌入方法以及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915027A (en) * 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
US6792542B1 (en) * 1998-05-12 2004-09-14 Verance Corporation Digital system for embedding a pseudo-randomly modulated auxiliary data sequence in digital samples
US6154571A (en) * 1998-06-24 2000-11-28 Nec Research Institute, Inc. Robust digital watermarking
WO2000052923A1 (en) * 1999-03-02 2000-09-08 Koninklijke Philips Electronics N.V. Method and arrangement for scrambling and descrambling information
US7770016B2 (en) * 1999-07-29 2010-08-03 Intertrust Technologies Corporation Systems and methods for watermarking software and other media
JP3735521B2 (ja) * 1999-09-30 2006-01-18 株式会社東芝 埋め込み符号生成方法及び装置、埋め込み符号検出方法及び装置並びに電子透かし埋め込み装置
US6829710B1 (en) * 2000-03-14 2004-12-07 Microsoft Corporation Technique for producing, through watermarking, highly tamper-resistant executable code and resulting “watermarked” code so formed
DE60326578D1 (de) * 2002-06-03 2009-04-23 Koninkl Philips Electronics Nv Wiedereinbettung von wasserzeichen in multimediasignalen
US7643637B2 (en) * 2004-02-10 2010-01-05 Microsoft Corporation Efficient code constructions via cryptographic assumptions
WO2005124681A1 (en) * 2004-06-14 2005-12-29 The University Of North Carolina At Greensboro Systems and methods for digital content security
JP2007178857A (ja) 2005-12-28 2007-07-12 Toshiba Corp 符号化装置、追跡装置、符号化方法、追跡方法、および、プログラム
JP4410217B2 (ja) 2006-05-30 2010-02-03 三菱電機株式会社 電子透かし方式
CN101115124B (zh) * 2006-07-26 2012-04-18 日电(中国)有限公司 基于音频水印识别媒体节目的方法和装置
JP2009141554A (ja) * 2007-12-05 2009-06-25 Osaka Prefecture Univ 電子透かし埋め込み方法および電子透かし埋込装置および電子透かし検出装置
JP2010141591A (ja) * 2008-12-11 2010-06-24 Toshiba Corp 電子透かし埋め込み方法及び装置、電子透かし検出方法及び装置

Also Published As

Publication number Publication date
US20120163583A1 (en) 2012-06-28
JP2012142783A (ja) 2012-07-26
US8582900B2 (en) 2013-11-12

Similar Documents

Publication Publication Date Title
JP5793865B2 (ja) 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム
Subhedar et al. Current status and key issues in image steganography: A survey
Agrawal et al. Mean value based reversible data hiding in encrypted images
Li et al. Reversible data hiding in encrypted images using cross division and additive homomorphism
Kieu et al. A steganographic scheme by fully exploiting modification directions
Singh et al. Wavelet based image watermarking: futuristic concepts in information security
JP5283732B2 (ja) マルチメディアコンテンツ用の電子透かしのセキュリティ強化
US8005258B2 (en) Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
US8913779B2 (en) System and method for securing media content
JP5974463B2 (ja) 電子透かし埋め込み装置、電子透かし埋め込み方法、電子透かし検出装置及び電子透かし検出方法
Singh et al. Robust and imperceptible spread-spectrum watermarking for telemedicine applications
Su et al. A practical design of digital watermarking for video streaming services
JP5331889B2 (ja) 少数派結託攻撃に対するデジタル・コンテンツの保護方法
Kim et al. Secure medical images based on data hiding using a hybrid scheme with the Hamming code, LSB, and OPAP
Nagarjuna et al. Robust blind digital image watermarking scheme based on stationary wavelet transform
JP2013126189A (ja) 画像処理装置、改竄防止方法及び改竄検知方法
Vybornova Method for protection of heterogeneous data based on pseudo-holographic watermarks
KR20050119692A (ko) 워터마크들을 검출하는 방법
Mitekin A new key recovery attack against DM-QIM image watermarking algorithm
Manikandan et al. Reversible data hiding for encrypted image
Wu et al. Efficient reversible data hiding based on prefix matching and directed LSB embedding
Yang et al. Robust track‐and‐trace video watermarking
Korzhik et al. Concatenated digital watermarking system robust to different removal attacks
Ghosh et al. Vlsi architecture for spread spectrum image watermarking in walsh-hadamard transform domain using binary watermark
JP5953869B2 (ja) プログラム、透かし埋め込み装置及び透かし埋め込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150727

R150 Certificate of patent or registration of utility model

Ref document number: 5793865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150