デジタルデータの情報埋め込み装置及び埋込み情報検出装置
【課題】 情報埋め込み対象の原データが欠損することなく、埋込み情報を原データに埋め込むことができるデジタルデータの情報埋め込み装置を提供する。
【解決手段】 情報埋め込み装置10は、情報埋め込み対象であるデジタルの原データに情報を埋め込む装置であって、原データに誤り訂正符号化の処理を遂行して出力する誤り訂正符号化部1と、誤り訂正符号化部1により誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部2とを備える。
【解決手段】 情報埋め込み装置10は、情報埋め込み対象であるデジタルの原データに情報を埋め込む装置であって、原データに誤り訂正符号化の処理を遂行して出力する誤り訂正符号化部1と、誤り訂正符号化部1により誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部2とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルデータの情報埋め込み技術に関する。
【背景技術】
【0002】
従来より、ステガノグラフィー(steganography)や電子透かしなどの情報埋め込み技術が知られている。例えば、電子透かしは、画像データ等のデジタルデータに著作権情報や証明書情報などの透かし情報を埋め込むものであり、画像データの一部を透かし情報に置換して電子透かし画像データを生成する。ステガノグラフィーは、画像データ等のデジタルデータを、埋込みデータを隠す伝送媒体(カバーデータ)として用いている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−174628号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の情報埋め込み技術は、画像データ等の情報埋め込み対象(原データ)を利用し、埋込み情報を直接原コンテンツデータに埋め込む。例えば、原画像データに文字を埋め込む場合、原画像データをビットプレーンに分解し、その一部のビットプレーンを文字情報に置換するので、原データの一部が埋込み情報に変換されてしまい、原データを完全に複元することが困難であるとの課題がある。
【0005】
また、原データの一部を埋込み情報に置換して埋め込む場合、原データのデータ構造や複雑さを考慮する必要があり、埋め込み処理が複雑になる課題がある。
【0006】
そこで、本発明は、情報埋め込み対象の原データが欠損することなく、埋込み情報を原データに埋め込むことができるデジタルデータの情報埋め込み装置、及び該装置により埋込み情報が埋め込まれた埋込み情報付きデータから埋込み情報を検出する埋込み情報検出装置、これらのプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係るデジタルデータの情報埋め込み装置は、情報埋め込み対象の原データを誤り訂正符号化し、誤り訂正符号化された原データに対して埋込み情報を「誤り」として埋め込むことを特徴としている。すなわち、本発明の情報埋め込み装置は、原データに誤り訂正符号化の処理を遂行する誤り訂正符号化部と、誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部と、を備える。
【0008】
本発明の埋込み情報検出装置は、デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから埋込み情報を検出するための装置であって、埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理部を備える。
【0009】
また、本発明の他の側面は、情報埋め込み対象であるデジタルの原データに情報を埋め込むためのプログラムであって、原データに誤り訂正符号化を遂行する処理と、誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む処理と、をコンピュータに実行させることを特徴とする。
【0010】
さらに、本発明の他の側面は、デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから前記埋込み情報を検出するためのプログラムであって、埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、情報埋め込み対象の原データを誤り訂正符号化し、誤り訂正符号化された原データに対して埋込み情報を「誤り」として埋め込むので、誤り訂正に基づく復元処理を通じて埋込み情報による原データの欠損がない原データの復元及び埋込み情報の抽出が可能となる。
【図面の簡単な説明】
【0012】
【図1】情報埋め込み装置の第1の実施形態を示すブロック図であり、情報を埋め込む処理を説明する図である。
【図2】第1の実施形態の情報埋め込み装置の動作を説明するためのフローチャートである。
【図3】埋込み情報検出装置の第1の実施形態を示すブロック図であり、データ復号及び埋込み情報を検出する処理を説明する図である。
【図4】第1の実施形態の埋込み情報検出装置の動作を説明するためのフローチャートである。
【図5】情報埋め込み装置の第2の実施形態を示すブロック図であり、情報を埋め込む処理を説明する図である。
【図6】第2の実施形態の情報埋め込み装置の動作を説明するためのフローチャートである。
【図7】埋込み情報検出装置の第2の実施形態を示すブロック図であり、データ復号及び埋込み情報を検出する処理を説明する図である。
【図8】第2の実施形態の埋込み情報検出装置の動作を説明するためのフローチャートである。
【図9】第1の実施形態に基づく実施例1で用いた畳込み符号器を示す図である。
【図10】上記実施例1に関するトレリス線図である。
【図11】第1の実施形態に基づく実施例2を説明するための図であり、実施例2のシステムブロック図である。
【発明を実施するための形態】
【0013】
本発明の実施の形態を、図面を参照しながら詳細に説明する。
【0014】
(情報埋め込み装置の第1の実施形態)
まず、本発明の第1の実施形態について説明する。第1の実施形態のデジタルデータの情報埋め込み装置の概要を図1に示す。第1の実施形態の情報埋め込み装置10は、情報埋め込み対象であるデジタルの原データに情報を埋め込むための装置であって、原データに誤り訂正符号化の処理を遂行して出力する誤り訂正符号化部1と、誤り訂正符号化部1によって誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部2と、を備える。これら各部は、専用のハードウェア装置で構成することができ、或いはソフトウエアプログラムに基づく1または複数のプロセッサの機能として実現することもできる。
【0015】
なお、ここでは誤り訂正符号化部1による誤り訂正符号化にBCH符号化方式を用いた場合について説明するが、これに限定されず、RS(リード・ソロモン)符号、ファイア符号、ゴッパ符号などの代数的符号や畳み込み符号、ターボ符号或いは、組合せ符号などを用いることもできる。
【0016】
以下、誤り訂正符号化部1による原データの誤り訂正符号化に2ビット短縮の(13,5)BCH符号を用いる場合について説明する。一般に、(n,k)BCH符号は、kビットのデータに対してn−kビットの検査ビットを付加した符号長nビットの符号であり、多重の誤りを訂正する機能をもつ。
【0017】
この(13,5)BCH符号化方式では、2重誤りを訂正することができる。まず、抽出された原データを5ビットずつに分割し、それぞれをBCH符号化すると、符号長13ビットのBCH符号系列が生成される。 既述の通り、このBCH符号においては、13ビット中、2個の誤りを訂正できる。したがって、埋込み情報を2ビットずつ分割して埋め込みを行い「埋込み情報付きデータ」を作成する。なお、埋込み情報を何ビットずつに分割するかについては、使用される誤り訂正符号化方式の誤り訂正能力以下に設定すればよい。
【0018】
以下、図2のフローチャートを参照して、情報埋め込み装置10の動作を、具体例に基づいて説明する。ただし、以下の具体例において、BCH符号は、組織化されている(すなわち検査ビット系列がまとまっているBCH符号である)ものとする。
【0019】
まず、誤り訂正符号化部1は、情報の埋込み対象となる原データを所定の記憶媒体から抽出し、該抽出された原データを、5ビットずつ分割する(ステップS1)。例えば、原データが1011001101の場合には、
原データ:10110 01101・・・分割原データ(1)
として、2つのブロックに分割される。
【0020】
次に、誤り訂正符号化部1は、予め定められた符号長(本実施例では符号長13)で、原データのBCH符号化を行う(ステップS2)。この例では、原データ(1)の各5ビットを誤り訂正符号化部1でBCH符号化することにより、
1011001111010 0110101001101・・・符号化データ(2)(3)
となり、(2)及び(3)の2つの符号化データブロックが生成される。ここで、各符号化データブロック(2)(3)は、各々、5ビットの原データに8ビットの検査ビットが付加されたものである。生成された各符号化データブロック(2)(3)は、情報埋込部2に提供される。
【0021】
続いて、情報埋込部2は、原データに埋め込む埋込み情報を所定の記憶媒体から抽出し、かかる埋込み情報を所定ビット(本例では2ビット)ずつ分割する(ステップS3)。例えば、埋込み情報が1101100101の場合には、
埋込み情報:11 01 10 01 01・・・ 埋込み情報(4)
と分割される。なお、本実施形態では、ステップS3の処理を情報埋込部2が行うこととしているが、これに限定されず、情報埋込部2の前段にステップS3の処理を行うデバイスを設けてもよい。
【0022】
次に、情報埋込部2は、13ビットのBCH符号すなわち符号化データブロック(2)、(3)への埋込み情報を挿入するための挿入位置を識別する(ステップS4)。ここで、挿入位置は、任意の位置とすることが可能であり、13ビット中任意の2箇所を予め設定しておく。この例では、埋込み情報の挿入位置として、BCH符号の各ブロックの3ビット目と8ビット目が設定された場合について説明する。
【0023】
なお、他の実施の形態として、埋込み情報の挿入位置を時間的に変えることによってスクランブルをかけるようにすることもできるが、ここでは説明を省略する。
【0024】
続いて、情報埋込部2は、13ビットのBCH符号における各ブロックの所定位置(3ビット目と8ビット目)に埋込み情報ビットを加えることで(ステップS5)、埋込み情報の埋込み処理を行う。ここでの加法は、例えば排他的論理和とする。
【0025】
この例では、先頭から13ビットまでの1番目のブロック(2)の3ビット目の”1”と 埋込み情報(4)の1ビット目の”1”を排他的論理和で加えることで、1+1=0が算出され、該算出値の0が1番目のブロック(2)の3ビット目に埋め込まれる。同様に、1番目のブロック(2)の8ビット目の”1”と埋込み情報(4)の2ビット目の”1”を排他的論理和で加えることで、1+1=0が算出され、該算出値の0が1番目のブロック(2)の8ビット目に埋め込まれる。
【0026】
さらに、次の13ビットである2番目のブロック(3)の3ビット目の”1”と埋込み情報(4)の3ビット目の”0”を排他的論理和で加えることで、1+0=1が算出され、該算出値の1が2番目のブロック(3)の3ビット目に埋め込まれる。同様に、2番目のブロック(3)の8ビット目の”0”と埋込み情報(4)の4ビット目の”1”を排他的論理和で加えることで、0+1=1が算出され、該算出値の1が2番目のブロック(3)の8ビット目に埋め込まれる。
【0027】
実際の処理では、原データのBCH符号につき3番目以降のブロックが存在することとなるので、以下は、埋込み情報(4)の埋め込みができなくなるまで情報埋込部2で同様の処理を続行し、埋め込みが出来なくなるとステップS5の処理を終了する。処理が完了した埋込み情報付きデータは、ステップS6で、情報埋込部2によって、所定のフォーマットでファイル化され、適宜、所定の記憶媒体に格納され、或いは目的の装置に送信される。
【0028】
上述のような埋め込み処理を行うことによって、符号化された原データのBCH符号データの先頭から3,8,16,21,・・・ビット目の値が、それぞれ0,0,1,1,・・・となる。したがって、本例での埋込み情報付きデータは
1001001011010 0110101101101・・・ 埋込み情報付きデータ(5)
となる。
【0029】
(埋込み情報検出装置の第1の実施形態)
次に、上述した情報埋め込み装置に対応する埋込み情報検出装置について説明する。第1の実施形態の埋込み情報検出装置の概要を図3に示す。第1の実施形態の埋込み情報検出装置20は、埋込み情報が埋め込まれたデジタルデータ(埋込み情報付きデータ)から埋込み情報を検出する装置であって、埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復号器3(復元処理部)を備える。
【0030】
以下、図4のフローチャートを参照して、埋込み情報検出装置20の動作及び埋込み情報付きデータの復号の原理を、上述した具体例に基づいて説明する。
【0031】
上述のように、原データが「1011001101」の場合には、ステップS1で5ビットずつの「10110」「01101」に分割され(分割原データ(1))、ステップS2でBCH符号化(8ビットの検査ビット付加)が行われ、「1011001111010」「0110101001101」の2つの符号化データブロック(2)(3)が生成される。そして、ステップS3で埋込み情報が2ビットずつに分割され、「11 01 10 01 01」の埋込み情報(4)が生成される。さらに、ステップS5で13ビットのBCH符号における各ブロックの所定位置(3ビット目と8ビット目)に埋込み情報ビットを加えることで、埋込み情報の埋込み処理が行われ、埋込み情報付きデータ(5)として「1001001011010」「0110101101101」が生成される。すなわち、埋込み情報付きデータ(5)では、各ブロックの3ビット目と8ビット目に埋込み情報が埋め込まれている。
【0032】
まず、復号器3は、ステップS11で埋込み情報付きデータ(5)を入力し、入力された埋込み情報付きデータ(5)の復号処理をステップS12で実行する。
【0033】
復号とは、誤り訂正符号化により原データに付加された冗長ビット(検査ビット)を利用して、符号化されたデータに含まれ得る誤りを検出・訂正することである。知られている復号法に、ユークリッド復号法、ピーターソン復号法、ウェルチ・バーレカンプ復号法、レディ・ロビンソン復号法、ビタビ復号法などがあるが、ここではよく使われているユークリッド復号法を用いて復号器3で復号処理を行う場合について説明する。上記の埋込み情報付きデータ(5)をユークリッド復号法で処理すると、データ(5)において埋込み情報の「1」が埋め込まれた所定の位置が「誤り位置」として検出される。
【0034】
この例では、第1ブロックの3ビット目と8ビット目、第2ブロックの8ビット目に1が加えられているから、この第1ブロックの3ビット目と8ビット目及び第2ブロックの8ビット目が誤り位置として検出、出力される(ステップS13)。第2ブロックの3ビット目は、埋込み情報「0」が加えられているため誤り位置としては検出されない。
【0035】
このとき、復号器3は、誤りの検出された所定の位置には1を、検出されない所定の位置には0を対応させることで埋込み情報の復元処理を行う(ステップS14)。かかる復元処理により、本例での埋込み情報が、「1101・・・」と推定される。そして、ステップS15で、復号器3は、かかる推定値を埋込み情報付きデータ(5)の各ブロックの3ビット目と8ビット目に(排他的論理和で)加えることにより、誤り訂正符号化された原データの復元処理を行う。
【0036】
具体的には、ステップS15の処理で、BCH符号化された原データとして、
1001001011010 + 0010000100000 = 1011001111010 ・・・符号化データ(2)
0110101101101 + 0000000100000 = 0110101001101 ・・・符号化データ(3)
が復元される。
【0037】
続くステップS16で、復号器3は、ステップS15で復元された符号化データ(符号化データブロック)(2),(3)の先頭から所定ビット(本例では5ビット)を抽出し、抽出順に並べることで原データの抽出及び復元を行う。
【0038】
具体的には、ステップS16の処理で、符号化データ(2)から「10110」が、符号化データ(2)から「01101」が各々抽出され、
10110 01101・・・ 原データ(1)
となり、原データが完全に復元される。
【0039】
なお、「データの誤り」とは、データの正しいビットに1が加えられることを意味するものであり、このようにユークリッド復号法などの復号法を用いると、データの誤り箇所が出力される。
【0040】
(情報埋め込み装置の第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態のデジタルデータの情報埋め込み装置の概要を図5に示す。第2の実施形態の情報埋め込み装置10Aは、情報埋め込み対象であるデジタルの原データに情報を埋め込むための装置であって、原データに誤り訂正符号化の処理を遂行して出力する第1の誤り訂正符号化部1と、埋込み情報に誤り訂正符号化の処理を遂行して出力する第2の誤り訂正符号化部11と、誤り訂正符号化された原データに誤り訂正符号化された埋込み情報を誤りとして埋め込む情報埋込部2と、を備える。すなわち、第2の実施形態では、埋込み情報にも誤り訂正符号を行う構成となっている。これら各部は、専用のハードウェア装置で構成することができ、或いはソフトウエアプログラムに基づく1または複数のプロセッサの機能として実現することもできる。
【0041】
なお、以下では第1の誤り訂正符号化部1と第2の誤り訂正符号化部11の両方でBCH符号化方式を用いた場合について説明するが、これに限定されず、BCH符号化より訂正能力の高い畳込み符号やRS(リード・ソロモン)符号などを用いることもできる。
【0042】
以下、第2の誤り訂正符号化部11による埋込み情報の誤り訂正符号化にも(13,5)BCH符号を用いる場合について、図6のフローチャートを参照して説明する。第1の誤り訂正符号化部1による原データの処理については、上述した第1の実施形態の場合と同様であるため、同一例を用い、また、フローチャートの同一の処理には同一のステップ番号を付し、適宜説明を省略する。
【0043】
ステップS1及びS2は、第1の誤り訂正符号化部1が行う処理であり、第1の実施形態で上述したステップS1及びS2と同様である。
【0044】
一方、第2の誤り訂正符号化部11は、埋込み情報のデータを所定の記憶媒体から抽出し、かかる抽出データを5ビットずつに分割する(ステップS31)。例えば、埋込み情報が1011011010の場合には、
埋込み情報:10110 11010 ・・・埋込み情報データ(6)
の2つのブロックに分割される。
【0045】
次に、第2の誤り訂正符号化部11は、予め定められた符号長(本例では13)で、埋込み情報データのBCH符号化を行う(ステップS32)。この例では、埋込み情報データ(6)の各5ビットをBCH符号化することで、
1011000011011 1101011010110・・・符号化埋込み情報(7)
の2つの符号化ブロックからなるBCH符号が生成される。ここで、各符号化データブロックは、各々、5ビットの埋込み情報に8ビットの検査ビットが付加されたものである。
【0046】
続いて、第2の誤り訂正符号化部11は、生成された符号化埋込み情報(7)を所定ビット(本例では2ビット)ずつに分割する(ステップS33)。本例では、ステップS33の処理により、
10 11 00 00 11 01 11 10 10 11 01 01 10 ・・・ 埋込み情報(8)
が生成される。生成された埋込み情報(8)は、情報埋込部2に提供される。
【0047】
次に、情報埋込部2は、原データの13ビットのBCH符号すなわち符号化データブロック(2)(3) 1011001111010 0110101001101・・・の各ブロックの所定の位置(3ビット目と8ビット目)を識別し(ステップS4)、かかる位置に埋込み情報ビットを加えることで(ステップS5)、第1の実施形態と同様に埋込み情報の埋込み処理を行う。
【0048】
かかる埋込み処理により、
1+1=0,1+0=1,1+1=0,0+1=1,・・・により、符号化埋込み情報付きデータとして、
1001001111010 0100101101101・・埋込み情報付きデータ(8)
が生成される。生成された埋込み情報付きデータ(8)は、ステップS6で、情報埋込部2によって、所定のフォーマットでファイル化され、適宜、記憶媒体に格納され、或いは目的の装置に送信される。
【0049】
第2の実施形態では、このように予め「埋込み情報」を符号化することで、符号化埋込み情報付きデータ(9)に3個以上の誤り(すなわちBCH符号化された原データの持つ誤り訂正能力が2個であり、これを超える誤り)を含んでいる場合でも、埋込み情報の持つ誤り訂正能力を利用することで、符号化埋込み情報(7)に正しく復号できる可能性が高くなる。
【0050】
(埋込み情報検出装置の第2の実施形態)
次に、上述した第2の実施形態の情報埋め込み装置10Aに対応する埋込み情報検出装置について説明する。第2の実施形態の埋込み情報検出装置の概要を図7に示す。第2の実施形態の埋込み情報検出装置20Aは、符号化された埋込み情報である符号化埋込み情報が誤りとして埋め込まれたデジタルデータから埋込み情報を検出する装置であって、デジタルデータから、原データと、誤りとして埋め込まれた符号化埋込み情報とを復元する第1の復号器3(第1の復元処理部)と、第1の復元処理部3で復元された符号化埋込み情報に対して誤り訂正を行って埋込み情報を復元する第2の復号器31(第2の復元処理部)と、を備える。
【0051】
以下、図8のフローチャートを参照して、埋込み情報検出装置20Aの動作及び符号化埋込み情報付きデータの復号の原理を、上述した具体例に基づいて説明する。すなわち本例では、符号化埋込み情報(7)を埋め込んだ埋込み情報付きデータ(9)として「1001001111010」「0100101101101」・・が生成されている場合である。
【0052】
まず、第1の復号器3は、ステップS11で埋込み情報付きデータ(9)を入力し、入力された埋込み情報付きデータ(9)の復号処理をステップS12で実行する。なお、ステップS11乃至ステップS13の処理は、第1の実施形態と同様である。
【0053】
符号化埋込み情報付きデータ(9)「1001001111010 0100101101101・・・」をユークリッド復号法で処理すると(ステップS12)、1を埋め込んだ第1ブロックの3ビット目、第2ブロックの3ビット目と8ビット目が誤り(誤り位置)として検出され(ステップS13)、その位置に埋め込まれたビットは1である。埋込みの所定位置に誤りが検出されないときは、その位置に埋め込まれたビットは0である。このような処理によって、埋込み情報はビット系列1011・・・と推定される(ステップS21)。
【0054】
しかしながら、符号化埋込み情報付きデータ(9)が3個以上の誤り(すなわちBCH符号化された原データの持つ誤り訂正能力を超える誤り)を含む場合がある。この場合は正しく復号されず、符号化埋込み情報(7)とはならない。
【0055】
そこで、この埋込み所定位置から抽出された埋込み情報のビット系列にユークリッド復号を施すと、13個の抽出ビット当たり2個以下の誤りであれば訂正することができる。このような理由で、常に、予め設定された埋込み所定位置から求めたビット系列にユークリッド復号を施す。したがって、2個以下の誤りならば完全に訂正され、そのとき第1の復号器3から符号化埋込み情報(7)が抽出される(ステップS21)。更に、抽出された符号化埋込み情報(7)を第2の復号器31でユークリッド復号し(ステップS22)、ビット誤り位置を検出し(ステップS23)、検出されたビット誤り位置に所定ビットを対応させることで、埋込み情報(6)である「10110 11010・・・」を得る(ステップS24)。この後は、第1の実施形態と同様にして原データが完全に復元される(ステップS25)。
【0056】
本発明の最大の特徴は、原データに何ら変更を加えることなく、そこに他の情報を埋め込めることができる点にある。これは、本発明の埋込み・抽出手法から明らかである。従来の方法では、原データの一部を埋込みデータに置換するために、その結果、原データには変更が加えられる。画像などのデータ量の多い対象であれば、多少のデータ欠損があっても、見た目に影響は与えない。しかしながら、テキストデータなどのデータ量の少ない対象や完全なデータであることが求められる対象に従来の埋込み方法は使えない。本発明の手法を用いると、この問題は解消される。
【0057】
(実施例)
以下、本発明の実施例を説明する。但し、本発明がこの実施例に限定されるものではない。
【0058】
(実施例1)
本願発明者は、第1の実施形態による第1の実験を行った。この実験では、原データに画像データを使用し、埋込み情報に音楽データを使用した。また、誤り訂正符号には畳込み符号を用いた。図9は画像データのビット系列{it}の誤り訂正符号化に用いた畳込み符号器を示す図であり、図10は復号に用いたレトリス線図である。図9においてM1及びM2は遅延素子であり、また、符号ブロック長は14とした。畳込み符号器に関し、雑音の少ない通信路ではパンクチャド符号化によって符号化率を2/3に高めることもできる。この符号器で生成される畳込み符号を用いると、符号ブロック当たり2個の誤りを訂正することができる。
【0059】
図9の符号器の入力と出力との関係は、
W1t=it+it−1+it−2
W2t=it+it−2
で与えられる。但し、記号+は排他的論理和である。
【0060】
この実験では、まず、画像データからRGB成分のデータを取得し、それぞれの成分のビット系列を7ビットずつに分割したものを次々に畳込み符号化して符号ブロック系列を得る。次に、得られた符号ブロック系列に音楽データを埋め込むこととした。すなわち、音楽データを2ビットずつに分割し、その各2ビットの埋め込み位置として、符号ブロックの1ビット目から10ビット目の間の2つの所定位置として、1ビット目と5ビット目を選択した。なお、11ビット目から14ビット目に埋め込み位置を選択すると復号誤りが生じやすかった。埋め込まれた情報は、復号前の「埋込み情報付きデータ」とビタビ復号により得られた復号系列とを比較することにより取得できた。
【0061】
かかる実験の結果、図9の畳み込み符号器を用いて3.5MBのビットマップ画像(原データ)を誤り訂正符号化し、それに160Kbpsの音楽データを埋め込むとき、約51秒間の音楽データを埋め込むことができた。このとき、「埋込み情報付きデータ」は約7MBのファイルサイズになった。なお、埋め込める情報量は、画像データの大きさに比例し、埋め込む音楽データのビットレートに反比例する。次に、図10のトレリス線図を用いてビタビ復号を実行し、ビットマップ画像データと埋め込まれた音楽データとそれぞれ抽出したところ、原データ(画像)と埋込み情報(音楽)のいずれも欠損することなく再現することができた。
【0062】
(実施例2)
本願発明者は、第1の実施形態による第2の実験を行った。この実験では、原データに画像データを使用し、埋込み情報にも画像データを使用した。そして、図11に示すように、この実験では、誤り訂正符号化部1として畳込み符号化器を用い、復号器3(復元処理部)としてビタビ復号器を用い、情報埋込部2の出力データを通信路を介してビタビ復号器に伝送した。畳込み符号化器は、拘束長5,符号化率1/2の畳込み符号を行うものを使用した。原画像及び埋込み画像の大きさは、それぞれ320×240ピクセル、160×120ピクセルとした。また、通信路における誤り(雑音)として加法性白色ガウス雑音を実装した。
【0063】
かかる実験の結果、BER=0.042の通信路において原データの情報量の最大25%の埋込み情報量を秘匿に伝送できることが確認された。かかる結果から、秘匿性が高く情報量の大きなステガノグラフィを容易に作ることができることが明らかになった。
【0064】
(本発明の応用例)
・ステガノグラフィへの応用
従来のステガノグラフィでは、原データである画像等の情報埋込み対象(カバーデータ)の性質を利用して、秘密情報をカバーデータに直接埋め込む。これに対し本発明は、まず秘密情報の伝送媒体である画像や音声などのカバーデータを誤り訂正符号化し、次いで埋め込みたい画像・音声などの秘密情報をその符号化されたデータに「誤り」として挿入しステゴオブジェクトを作成する。ステゴオブジェクトを復号する際に、誤り訂正符号の持つ誤り訂正機能によって挿入した秘密情報が「誤り」として抽出される。本発明によれば、単にステゴオブジェクトを復元してもカバーデータが復元されるだけで、秘密情報は全く感知されない特徴がある。
【0065】
・携帯電話や地上デジタル放送機器への応用
携帯電話や地上デジタル放送の機器では畳込み符号を用いてデータを符号化しているので、このような機器に本発明を組み込むのは容易であり、時間的に連続して情報の埋込みを行うことが可能となる。
【0066】
・デジタルカメラや携帯電話の画像への応用
例えば、携帯電話の800×600ピクセル画像には、約400Kバイトの情報を埋め込むことができる。
【0067】
・QRコードへの応用
QRコードのデータコード部に秘密情報を埋め込むことができる。
【0068】
・医用画像への応用
レントゲンなどの医用画像に個人情報や心音などの情報を埋め込むことができる。
【0069】
・災害時の携帯電話への応用
災害時の携帯電話は不通になりやすく、その対策としてデータ通信などの代用が考えられている。本発明を用いると、音声付き画像が容易に作れるので、会話の代わりに使うと災害時の回線使用率を下げることが可能となる。
【符号の説明】
【0070】
10,10A 情報埋め込み装置
1,11 誤り訂正符号化部
2 情報埋込部
20,20A 埋込み情報検出装置
3,31 復号器
【技術分野】
【0001】
本発明は、デジタルデータの情報埋め込み技術に関する。
【背景技術】
【0002】
従来より、ステガノグラフィー(steganography)や電子透かしなどの情報埋め込み技術が知られている。例えば、電子透かしは、画像データ等のデジタルデータに著作権情報や証明書情報などの透かし情報を埋め込むものであり、画像データの一部を透かし情報に置換して電子透かし画像データを生成する。ステガノグラフィーは、画像データ等のデジタルデータを、埋込みデータを隠す伝送媒体(カバーデータ)として用いている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−174628号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の情報埋め込み技術は、画像データ等の情報埋め込み対象(原データ)を利用し、埋込み情報を直接原コンテンツデータに埋め込む。例えば、原画像データに文字を埋め込む場合、原画像データをビットプレーンに分解し、その一部のビットプレーンを文字情報に置換するので、原データの一部が埋込み情報に変換されてしまい、原データを完全に複元することが困難であるとの課題がある。
【0005】
また、原データの一部を埋込み情報に置換して埋め込む場合、原データのデータ構造や複雑さを考慮する必要があり、埋め込み処理が複雑になる課題がある。
【0006】
そこで、本発明は、情報埋め込み対象の原データが欠損することなく、埋込み情報を原データに埋め込むことができるデジタルデータの情報埋め込み装置、及び該装置により埋込み情報が埋め込まれた埋込み情報付きデータから埋込み情報を検出する埋込み情報検出装置、これらのプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係るデジタルデータの情報埋め込み装置は、情報埋め込み対象の原データを誤り訂正符号化し、誤り訂正符号化された原データに対して埋込み情報を「誤り」として埋め込むことを特徴としている。すなわち、本発明の情報埋め込み装置は、原データに誤り訂正符号化の処理を遂行する誤り訂正符号化部と、誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部と、を備える。
【0008】
本発明の埋込み情報検出装置は、デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから埋込み情報を検出するための装置であって、埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理部を備える。
【0009】
また、本発明の他の側面は、情報埋め込み対象であるデジタルの原データに情報を埋め込むためのプログラムであって、原データに誤り訂正符号化を遂行する処理と、誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む処理と、をコンピュータに実行させることを特徴とする。
【0010】
さらに、本発明の他の側面は、デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから前記埋込み情報を検出するためのプログラムであって、埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、情報埋め込み対象の原データを誤り訂正符号化し、誤り訂正符号化された原データに対して埋込み情報を「誤り」として埋め込むので、誤り訂正に基づく復元処理を通じて埋込み情報による原データの欠損がない原データの復元及び埋込み情報の抽出が可能となる。
【図面の簡単な説明】
【0012】
【図1】情報埋め込み装置の第1の実施形態を示すブロック図であり、情報を埋め込む処理を説明する図である。
【図2】第1の実施形態の情報埋め込み装置の動作を説明するためのフローチャートである。
【図3】埋込み情報検出装置の第1の実施形態を示すブロック図であり、データ復号及び埋込み情報を検出する処理を説明する図である。
【図4】第1の実施形態の埋込み情報検出装置の動作を説明するためのフローチャートである。
【図5】情報埋め込み装置の第2の実施形態を示すブロック図であり、情報を埋め込む処理を説明する図である。
【図6】第2の実施形態の情報埋め込み装置の動作を説明するためのフローチャートである。
【図7】埋込み情報検出装置の第2の実施形態を示すブロック図であり、データ復号及び埋込み情報を検出する処理を説明する図である。
【図8】第2の実施形態の埋込み情報検出装置の動作を説明するためのフローチャートである。
【図9】第1の実施形態に基づく実施例1で用いた畳込み符号器を示す図である。
【図10】上記実施例1に関するトレリス線図である。
【図11】第1の実施形態に基づく実施例2を説明するための図であり、実施例2のシステムブロック図である。
【発明を実施するための形態】
【0013】
本発明の実施の形態を、図面を参照しながら詳細に説明する。
【0014】
(情報埋め込み装置の第1の実施形態)
まず、本発明の第1の実施形態について説明する。第1の実施形態のデジタルデータの情報埋め込み装置の概要を図1に示す。第1の実施形態の情報埋め込み装置10は、情報埋め込み対象であるデジタルの原データに情報を埋め込むための装置であって、原データに誤り訂正符号化の処理を遂行して出力する誤り訂正符号化部1と、誤り訂正符号化部1によって誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部2と、を備える。これら各部は、専用のハードウェア装置で構成することができ、或いはソフトウエアプログラムに基づく1または複数のプロセッサの機能として実現することもできる。
【0015】
なお、ここでは誤り訂正符号化部1による誤り訂正符号化にBCH符号化方式を用いた場合について説明するが、これに限定されず、RS(リード・ソロモン)符号、ファイア符号、ゴッパ符号などの代数的符号や畳み込み符号、ターボ符号或いは、組合せ符号などを用いることもできる。
【0016】
以下、誤り訂正符号化部1による原データの誤り訂正符号化に2ビット短縮の(13,5)BCH符号を用いる場合について説明する。一般に、(n,k)BCH符号は、kビットのデータに対してn−kビットの検査ビットを付加した符号長nビットの符号であり、多重の誤りを訂正する機能をもつ。
【0017】
この(13,5)BCH符号化方式では、2重誤りを訂正することができる。まず、抽出された原データを5ビットずつに分割し、それぞれをBCH符号化すると、符号長13ビットのBCH符号系列が生成される。 既述の通り、このBCH符号においては、13ビット中、2個の誤りを訂正できる。したがって、埋込み情報を2ビットずつ分割して埋め込みを行い「埋込み情報付きデータ」を作成する。なお、埋込み情報を何ビットずつに分割するかについては、使用される誤り訂正符号化方式の誤り訂正能力以下に設定すればよい。
【0018】
以下、図2のフローチャートを参照して、情報埋め込み装置10の動作を、具体例に基づいて説明する。ただし、以下の具体例において、BCH符号は、組織化されている(すなわち検査ビット系列がまとまっているBCH符号である)ものとする。
【0019】
まず、誤り訂正符号化部1は、情報の埋込み対象となる原データを所定の記憶媒体から抽出し、該抽出された原データを、5ビットずつ分割する(ステップS1)。例えば、原データが1011001101の場合には、
原データ:10110 01101・・・分割原データ(1)
として、2つのブロックに分割される。
【0020】
次に、誤り訂正符号化部1は、予め定められた符号長(本実施例では符号長13)で、原データのBCH符号化を行う(ステップS2)。この例では、原データ(1)の各5ビットを誤り訂正符号化部1でBCH符号化することにより、
1011001111010 0110101001101・・・符号化データ(2)(3)
となり、(2)及び(3)の2つの符号化データブロックが生成される。ここで、各符号化データブロック(2)(3)は、各々、5ビットの原データに8ビットの検査ビットが付加されたものである。生成された各符号化データブロック(2)(3)は、情報埋込部2に提供される。
【0021】
続いて、情報埋込部2は、原データに埋め込む埋込み情報を所定の記憶媒体から抽出し、かかる埋込み情報を所定ビット(本例では2ビット)ずつ分割する(ステップS3)。例えば、埋込み情報が1101100101の場合には、
埋込み情報:11 01 10 01 01・・・ 埋込み情報(4)
と分割される。なお、本実施形態では、ステップS3の処理を情報埋込部2が行うこととしているが、これに限定されず、情報埋込部2の前段にステップS3の処理を行うデバイスを設けてもよい。
【0022】
次に、情報埋込部2は、13ビットのBCH符号すなわち符号化データブロック(2)、(3)への埋込み情報を挿入するための挿入位置を識別する(ステップS4)。ここで、挿入位置は、任意の位置とすることが可能であり、13ビット中任意の2箇所を予め設定しておく。この例では、埋込み情報の挿入位置として、BCH符号の各ブロックの3ビット目と8ビット目が設定された場合について説明する。
【0023】
なお、他の実施の形態として、埋込み情報の挿入位置を時間的に変えることによってスクランブルをかけるようにすることもできるが、ここでは説明を省略する。
【0024】
続いて、情報埋込部2は、13ビットのBCH符号における各ブロックの所定位置(3ビット目と8ビット目)に埋込み情報ビットを加えることで(ステップS5)、埋込み情報の埋込み処理を行う。ここでの加法は、例えば排他的論理和とする。
【0025】
この例では、先頭から13ビットまでの1番目のブロック(2)の3ビット目の”1”と 埋込み情報(4)の1ビット目の”1”を排他的論理和で加えることで、1+1=0が算出され、該算出値の0が1番目のブロック(2)の3ビット目に埋め込まれる。同様に、1番目のブロック(2)の8ビット目の”1”と埋込み情報(4)の2ビット目の”1”を排他的論理和で加えることで、1+1=0が算出され、該算出値の0が1番目のブロック(2)の8ビット目に埋め込まれる。
【0026】
さらに、次の13ビットである2番目のブロック(3)の3ビット目の”1”と埋込み情報(4)の3ビット目の”0”を排他的論理和で加えることで、1+0=1が算出され、該算出値の1が2番目のブロック(3)の3ビット目に埋め込まれる。同様に、2番目のブロック(3)の8ビット目の”0”と埋込み情報(4)の4ビット目の”1”を排他的論理和で加えることで、0+1=1が算出され、該算出値の1が2番目のブロック(3)の8ビット目に埋め込まれる。
【0027】
実際の処理では、原データのBCH符号につき3番目以降のブロックが存在することとなるので、以下は、埋込み情報(4)の埋め込みができなくなるまで情報埋込部2で同様の処理を続行し、埋め込みが出来なくなるとステップS5の処理を終了する。処理が完了した埋込み情報付きデータは、ステップS6で、情報埋込部2によって、所定のフォーマットでファイル化され、適宜、所定の記憶媒体に格納され、或いは目的の装置に送信される。
【0028】
上述のような埋め込み処理を行うことによって、符号化された原データのBCH符号データの先頭から3,8,16,21,・・・ビット目の値が、それぞれ0,0,1,1,・・・となる。したがって、本例での埋込み情報付きデータは
1001001011010 0110101101101・・・ 埋込み情報付きデータ(5)
となる。
【0029】
(埋込み情報検出装置の第1の実施形態)
次に、上述した情報埋め込み装置に対応する埋込み情報検出装置について説明する。第1の実施形態の埋込み情報検出装置の概要を図3に示す。第1の実施形態の埋込み情報検出装置20は、埋込み情報が埋め込まれたデジタルデータ(埋込み情報付きデータ)から埋込み情報を検出する装置であって、埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復号器3(復元処理部)を備える。
【0030】
以下、図4のフローチャートを参照して、埋込み情報検出装置20の動作及び埋込み情報付きデータの復号の原理を、上述した具体例に基づいて説明する。
【0031】
上述のように、原データが「1011001101」の場合には、ステップS1で5ビットずつの「10110」「01101」に分割され(分割原データ(1))、ステップS2でBCH符号化(8ビットの検査ビット付加)が行われ、「1011001111010」「0110101001101」の2つの符号化データブロック(2)(3)が生成される。そして、ステップS3で埋込み情報が2ビットずつに分割され、「11 01 10 01 01」の埋込み情報(4)が生成される。さらに、ステップS5で13ビットのBCH符号における各ブロックの所定位置(3ビット目と8ビット目)に埋込み情報ビットを加えることで、埋込み情報の埋込み処理が行われ、埋込み情報付きデータ(5)として「1001001011010」「0110101101101」が生成される。すなわち、埋込み情報付きデータ(5)では、各ブロックの3ビット目と8ビット目に埋込み情報が埋め込まれている。
【0032】
まず、復号器3は、ステップS11で埋込み情報付きデータ(5)を入力し、入力された埋込み情報付きデータ(5)の復号処理をステップS12で実行する。
【0033】
復号とは、誤り訂正符号化により原データに付加された冗長ビット(検査ビット)を利用して、符号化されたデータに含まれ得る誤りを検出・訂正することである。知られている復号法に、ユークリッド復号法、ピーターソン復号法、ウェルチ・バーレカンプ復号法、レディ・ロビンソン復号法、ビタビ復号法などがあるが、ここではよく使われているユークリッド復号法を用いて復号器3で復号処理を行う場合について説明する。上記の埋込み情報付きデータ(5)をユークリッド復号法で処理すると、データ(5)において埋込み情報の「1」が埋め込まれた所定の位置が「誤り位置」として検出される。
【0034】
この例では、第1ブロックの3ビット目と8ビット目、第2ブロックの8ビット目に1が加えられているから、この第1ブロックの3ビット目と8ビット目及び第2ブロックの8ビット目が誤り位置として検出、出力される(ステップS13)。第2ブロックの3ビット目は、埋込み情報「0」が加えられているため誤り位置としては検出されない。
【0035】
このとき、復号器3は、誤りの検出された所定の位置には1を、検出されない所定の位置には0を対応させることで埋込み情報の復元処理を行う(ステップS14)。かかる復元処理により、本例での埋込み情報が、「1101・・・」と推定される。そして、ステップS15で、復号器3は、かかる推定値を埋込み情報付きデータ(5)の各ブロックの3ビット目と8ビット目に(排他的論理和で)加えることにより、誤り訂正符号化された原データの復元処理を行う。
【0036】
具体的には、ステップS15の処理で、BCH符号化された原データとして、
1001001011010 + 0010000100000 = 1011001111010 ・・・符号化データ(2)
0110101101101 + 0000000100000 = 0110101001101 ・・・符号化データ(3)
が復元される。
【0037】
続くステップS16で、復号器3は、ステップS15で復元された符号化データ(符号化データブロック)(2),(3)の先頭から所定ビット(本例では5ビット)を抽出し、抽出順に並べることで原データの抽出及び復元を行う。
【0038】
具体的には、ステップS16の処理で、符号化データ(2)から「10110」が、符号化データ(2)から「01101」が各々抽出され、
10110 01101・・・ 原データ(1)
となり、原データが完全に復元される。
【0039】
なお、「データの誤り」とは、データの正しいビットに1が加えられることを意味するものであり、このようにユークリッド復号法などの復号法を用いると、データの誤り箇所が出力される。
【0040】
(情報埋め込み装置の第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態のデジタルデータの情報埋め込み装置の概要を図5に示す。第2の実施形態の情報埋め込み装置10Aは、情報埋め込み対象であるデジタルの原データに情報を埋め込むための装置であって、原データに誤り訂正符号化の処理を遂行して出力する第1の誤り訂正符号化部1と、埋込み情報に誤り訂正符号化の処理を遂行して出力する第2の誤り訂正符号化部11と、誤り訂正符号化された原データに誤り訂正符号化された埋込み情報を誤りとして埋め込む情報埋込部2と、を備える。すなわち、第2の実施形態では、埋込み情報にも誤り訂正符号を行う構成となっている。これら各部は、専用のハードウェア装置で構成することができ、或いはソフトウエアプログラムに基づく1または複数のプロセッサの機能として実現することもできる。
【0041】
なお、以下では第1の誤り訂正符号化部1と第2の誤り訂正符号化部11の両方でBCH符号化方式を用いた場合について説明するが、これに限定されず、BCH符号化より訂正能力の高い畳込み符号やRS(リード・ソロモン)符号などを用いることもできる。
【0042】
以下、第2の誤り訂正符号化部11による埋込み情報の誤り訂正符号化にも(13,5)BCH符号を用いる場合について、図6のフローチャートを参照して説明する。第1の誤り訂正符号化部1による原データの処理については、上述した第1の実施形態の場合と同様であるため、同一例を用い、また、フローチャートの同一の処理には同一のステップ番号を付し、適宜説明を省略する。
【0043】
ステップS1及びS2は、第1の誤り訂正符号化部1が行う処理であり、第1の実施形態で上述したステップS1及びS2と同様である。
【0044】
一方、第2の誤り訂正符号化部11は、埋込み情報のデータを所定の記憶媒体から抽出し、かかる抽出データを5ビットずつに分割する(ステップS31)。例えば、埋込み情報が1011011010の場合には、
埋込み情報:10110 11010 ・・・埋込み情報データ(6)
の2つのブロックに分割される。
【0045】
次に、第2の誤り訂正符号化部11は、予め定められた符号長(本例では13)で、埋込み情報データのBCH符号化を行う(ステップS32)。この例では、埋込み情報データ(6)の各5ビットをBCH符号化することで、
1011000011011 1101011010110・・・符号化埋込み情報(7)
の2つの符号化ブロックからなるBCH符号が生成される。ここで、各符号化データブロックは、各々、5ビットの埋込み情報に8ビットの検査ビットが付加されたものである。
【0046】
続いて、第2の誤り訂正符号化部11は、生成された符号化埋込み情報(7)を所定ビット(本例では2ビット)ずつに分割する(ステップS33)。本例では、ステップS33の処理により、
10 11 00 00 11 01 11 10 10 11 01 01 10 ・・・ 埋込み情報(8)
が生成される。生成された埋込み情報(8)は、情報埋込部2に提供される。
【0047】
次に、情報埋込部2は、原データの13ビットのBCH符号すなわち符号化データブロック(2)(3) 1011001111010 0110101001101・・・の各ブロックの所定の位置(3ビット目と8ビット目)を識別し(ステップS4)、かかる位置に埋込み情報ビットを加えることで(ステップS5)、第1の実施形態と同様に埋込み情報の埋込み処理を行う。
【0048】
かかる埋込み処理により、
1+1=0,1+0=1,1+1=0,0+1=1,・・・により、符号化埋込み情報付きデータとして、
1001001111010 0100101101101・・埋込み情報付きデータ(8)
が生成される。生成された埋込み情報付きデータ(8)は、ステップS6で、情報埋込部2によって、所定のフォーマットでファイル化され、適宜、記憶媒体に格納され、或いは目的の装置に送信される。
【0049】
第2の実施形態では、このように予め「埋込み情報」を符号化することで、符号化埋込み情報付きデータ(9)に3個以上の誤り(すなわちBCH符号化された原データの持つ誤り訂正能力が2個であり、これを超える誤り)を含んでいる場合でも、埋込み情報の持つ誤り訂正能力を利用することで、符号化埋込み情報(7)に正しく復号できる可能性が高くなる。
【0050】
(埋込み情報検出装置の第2の実施形態)
次に、上述した第2の実施形態の情報埋め込み装置10Aに対応する埋込み情報検出装置について説明する。第2の実施形態の埋込み情報検出装置の概要を図7に示す。第2の実施形態の埋込み情報検出装置20Aは、符号化された埋込み情報である符号化埋込み情報が誤りとして埋め込まれたデジタルデータから埋込み情報を検出する装置であって、デジタルデータから、原データと、誤りとして埋め込まれた符号化埋込み情報とを復元する第1の復号器3(第1の復元処理部)と、第1の復元処理部3で復元された符号化埋込み情報に対して誤り訂正を行って埋込み情報を復元する第2の復号器31(第2の復元処理部)と、を備える。
【0051】
以下、図8のフローチャートを参照して、埋込み情報検出装置20Aの動作及び符号化埋込み情報付きデータの復号の原理を、上述した具体例に基づいて説明する。すなわち本例では、符号化埋込み情報(7)を埋め込んだ埋込み情報付きデータ(9)として「1001001111010」「0100101101101」・・が生成されている場合である。
【0052】
まず、第1の復号器3は、ステップS11で埋込み情報付きデータ(9)を入力し、入力された埋込み情報付きデータ(9)の復号処理をステップS12で実行する。なお、ステップS11乃至ステップS13の処理は、第1の実施形態と同様である。
【0053】
符号化埋込み情報付きデータ(9)「1001001111010 0100101101101・・・」をユークリッド復号法で処理すると(ステップS12)、1を埋め込んだ第1ブロックの3ビット目、第2ブロックの3ビット目と8ビット目が誤り(誤り位置)として検出され(ステップS13)、その位置に埋め込まれたビットは1である。埋込みの所定位置に誤りが検出されないときは、その位置に埋め込まれたビットは0である。このような処理によって、埋込み情報はビット系列1011・・・と推定される(ステップS21)。
【0054】
しかしながら、符号化埋込み情報付きデータ(9)が3個以上の誤り(すなわちBCH符号化された原データの持つ誤り訂正能力を超える誤り)を含む場合がある。この場合は正しく復号されず、符号化埋込み情報(7)とはならない。
【0055】
そこで、この埋込み所定位置から抽出された埋込み情報のビット系列にユークリッド復号を施すと、13個の抽出ビット当たり2個以下の誤りであれば訂正することができる。このような理由で、常に、予め設定された埋込み所定位置から求めたビット系列にユークリッド復号を施す。したがって、2個以下の誤りならば完全に訂正され、そのとき第1の復号器3から符号化埋込み情報(7)が抽出される(ステップS21)。更に、抽出された符号化埋込み情報(7)を第2の復号器31でユークリッド復号し(ステップS22)、ビット誤り位置を検出し(ステップS23)、検出されたビット誤り位置に所定ビットを対応させることで、埋込み情報(6)である「10110 11010・・・」を得る(ステップS24)。この後は、第1の実施形態と同様にして原データが完全に復元される(ステップS25)。
【0056】
本発明の最大の特徴は、原データに何ら変更を加えることなく、そこに他の情報を埋め込めることができる点にある。これは、本発明の埋込み・抽出手法から明らかである。従来の方法では、原データの一部を埋込みデータに置換するために、その結果、原データには変更が加えられる。画像などのデータ量の多い対象であれば、多少のデータ欠損があっても、見た目に影響は与えない。しかしながら、テキストデータなどのデータ量の少ない対象や完全なデータであることが求められる対象に従来の埋込み方法は使えない。本発明の手法を用いると、この問題は解消される。
【0057】
(実施例)
以下、本発明の実施例を説明する。但し、本発明がこの実施例に限定されるものではない。
【0058】
(実施例1)
本願発明者は、第1の実施形態による第1の実験を行った。この実験では、原データに画像データを使用し、埋込み情報に音楽データを使用した。また、誤り訂正符号には畳込み符号を用いた。図9は画像データのビット系列{it}の誤り訂正符号化に用いた畳込み符号器を示す図であり、図10は復号に用いたレトリス線図である。図9においてM1及びM2は遅延素子であり、また、符号ブロック長は14とした。畳込み符号器に関し、雑音の少ない通信路ではパンクチャド符号化によって符号化率を2/3に高めることもできる。この符号器で生成される畳込み符号を用いると、符号ブロック当たり2個の誤りを訂正することができる。
【0059】
図9の符号器の入力と出力との関係は、
W1t=it+it−1+it−2
W2t=it+it−2
で与えられる。但し、記号+は排他的論理和である。
【0060】
この実験では、まず、画像データからRGB成分のデータを取得し、それぞれの成分のビット系列を7ビットずつに分割したものを次々に畳込み符号化して符号ブロック系列を得る。次に、得られた符号ブロック系列に音楽データを埋め込むこととした。すなわち、音楽データを2ビットずつに分割し、その各2ビットの埋め込み位置として、符号ブロックの1ビット目から10ビット目の間の2つの所定位置として、1ビット目と5ビット目を選択した。なお、11ビット目から14ビット目に埋め込み位置を選択すると復号誤りが生じやすかった。埋め込まれた情報は、復号前の「埋込み情報付きデータ」とビタビ復号により得られた復号系列とを比較することにより取得できた。
【0061】
かかる実験の結果、図9の畳み込み符号器を用いて3.5MBのビットマップ画像(原データ)を誤り訂正符号化し、それに160Kbpsの音楽データを埋め込むとき、約51秒間の音楽データを埋め込むことができた。このとき、「埋込み情報付きデータ」は約7MBのファイルサイズになった。なお、埋め込める情報量は、画像データの大きさに比例し、埋め込む音楽データのビットレートに反比例する。次に、図10のトレリス線図を用いてビタビ復号を実行し、ビットマップ画像データと埋め込まれた音楽データとそれぞれ抽出したところ、原データ(画像)と埋込み情報(音楽)のいずれも欠損することなく再現することができた。
【0062】
(実施例2)
本願発明者は、第1の実施形態による第2の実験を行った。この実験では、原データに画像データを使用し、埋込み情報にも画像データを使用した。そして、図11に示すように、この実験では、誤り訂正符号化部1として畳込み符号化器を用い、復号器3(復元処理部)としてビタビ復号器を用い、情報埋込部2の出力データを通信路を介してビタビ復号器に伝送した。畳込み符号化器は、拘束長5,符号化率1/2の畳込み符号を行うものを使用した。原画像及び埋込み画像の大きさは、それぞれ320×240ピクセル、160×120ピクセルとした。また、通信路における誤り(雑音)として加法性白色ガウス雑音を実装した。
【0063】
かかる実験の結果、BER=0.042の通信路において原データの情報量の最大25%の埋込み情報量を秘匿に伝送できることが確認された。かかる結果から、秘匿性が高く情報量の大きなステガノグラフィを容易に作ることができることが明らかになった。
【0064】
(本発明の応用例)
・ステガノグラフィへの応用
従来のステガノグラフィでは、原データである画像等の情報埋込み対象(カバーデータ)の性質を利用して、秘密情報をカバーデータに直接埋め込む。これに対し本発明は、まず秘密情報の伝送媒体である画像や音声などのカバーデータを誤り訂正符号化し、次いで埋め込みたい画像・音声などの秘密情報をその符号化されたデータに「誤り」として挿入しステゴオブジェクトを作成する。ステゴオブジェクトを復号する際に、誤り訂正符号の持つ誤り訂正機能によって挿入した秘密情報が「誤り」として抽出される。本発明によれば、単にステゴオブジェクトを復元してもカバーデータが復元されるだけで、秘密情報は全く感知されない特徴がある。
【0065】
・携帯電話や地上デジタル放送機器への応用
携帯電話や地上デジタル放送の機器では畳込み符号を用いてデータを符号化しているので、このような機器に本発明を組み込むのは容易であり、時間的に連続して情報の埋込みを行うことが可能となる。
【0066】
・デジタルカメラや携帯電話の画像への応用
例えば、携帯電話の800×600ピクセル画像には、約400Kバイトの情報を埋め込むことができる。
【0067】
・QRコードへの応用
QRコードのデータコード部に秘密情報を埋め込むことができる。
【0068】
・医用画像への応用
レントゲンなどの医用画像に個人情報や心音などの情報を埋め込むことができる。
【0069】
・災害時の携帯電話への応用
災害時の携帯電話は不通になりやすく、その対策としてデータ通信などの代用が考えられている。本発明を用いると、音声付き画像が容易に作れるので、会話の代わりに使うと災害時の回線使用率を下げることが可能となる。
【符号の説明】
【0070】
10,10A 情報埋め込み装置
1,11 誤り訂正符号化部
2 情報埋込部
20,20A 埋込み情報検出装置
3,31 復号器
【特許請求の範囲】
【請求項1】
情報埋め込み対象であるデジタルの原データに情報を埋め込むための装置であって、
前記原データに誤り訂正符号化の処理を遂行する誤り訂正符号化部と、
前記誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部と、
を備えることを特徴とするデジタルデータの情報埋め込み装置。
【請求項2】
前記情報埋込部は、BCH符号化、リード・ソロモン符号化、ファイア符号化、ゴッパ符号化、畳み込み符号化、ターボ符号化或いは、組合せ符号化のいずれかの方式により、前記誤り訂正符号化された原データに前記埋込み情報を埋め込むことを特徴とする請求項1記載のデジタルデータの情報埋め込み装置。
【請求項3】
前記誤り訂正符号化部は、前記原データを予め定められたkビット毎に分割し、該分割ビットに対して所定長の検査ビットを付加してnビットの符号を生成し、
前記情報埋込部は、前記埋込み情報を予め定められたビット毎に分割し、前記分割ビットの予め定められた所定ビット目の値に対して対応するビットの値を演算し、該演算値を、前記分割ビットの予め定められた所定ビット目の値に置換することで、埋込み情報を埋め込むことを特徴とする請求項1記載のデジタルデータの情報埋め込み装置。
【請求項4】
前記情報埋込部の前段に配置され、前記埋込み情報に誤り訂正符号化の処理を遂行して出力する第2の誤り訂正符号化部をさらに備え、
前記情報埋込部は、前記誤り訂正符号化された原データに誤り訂正符号化された埋込み情報を誤りとして埋め込むことを特徴とする請求項1又は2記載のデジタルデータの情報埋め込み装置。
【請求項5】
デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから前記埋込み情報を検出するための装置であって、
前記埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理部を備えることを特徴とするデジタルデータの埋込み情報検出装置。
【請求項6】
前記復元処理部は、前記埋込み情報付きデータに復号処理を遂行し、該復号された埋込み情報付きデータの予め定められたビットを識別してビット誤り位置を検出し、検出されたビット誤り位置に予め定められたビットを対応させて埋込み情報を復元することを特徴とする請求項5記載のデジタルデータの埋込み情報検出装置。
【請求項7】
前記復元処理部は、復元された前記埋込み情報を前記埋込み情報付きデータの予め定められたビットに演算して前記原データを復元することを特徴とする請求項6記載のデジタルデータの埋込み情報検出装置。
【請求項8】
前記復元処理部は、前記埋込み情報付きデータに対して誤りとして埋め込まれた符号化埋込み情報を復元し、
復元された符号化埋込み情報に対して誤り訂正を行って前記埋込み情報を復元する第2の復元処理部をさらに備えることを特徴とする請求項5記載のデジタルデータの埋込み情報検出装置。
【請求項9】
情報埋め込み対象であるデジタルの原データに情報を埋め込むためのプログラムであって、
前記原データに誤り訂正符号化を遂行する処理と、
前記誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む処理と、
をコンピュータに実行させるためのプログラム。
【請求項10】
デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから前記埋込み情報を検出するためのプログラムであって、
前記埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理をコンピュータに実行させるためのプログラム。
【請求項1】
情報埋め込み対象であるデジタルの原データに情報を埋め込むための装置であって、
前記原データに誤り訂正符号化の処理を遂行する誤り訂正符号化部と、
前記誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む情報埋込部と、
を備えることを特徴とするデジタルデータの情報埋め込み装置。
【請求項2】
前記情報埋込部は、BCH符号化、リード・ソロモン符号化、ファイア符号化、ゴッパ符号化、畳み込み符号化、ターボ符号化或いは、組合せ符号化のいずれかの方式により、前記誤り訂正符号化された原データに前記埋込み情報を埋め込むことを特徴とする請求項1記載のデジタルデータの情報埋め込み装置。
【請求項3】
前記誤り訂正符号化部は、前記原データを予め定められたkビット毎に分割し、該分割ビットに対して所定長の検査ビットを付加してnビットの符号を生成し、
前記情報埋込部は、前記埋込み情報を予め定められたビット毎に分割し、前記分割ビットの予め定められた所定ビット目の値に対して対応するビットの値を演算し、該演算値を、前記分割ビットの予め定められた所定ビット目の値に置換することで、埋込み情報を埋め込むことを特徴とする請求項1記載のデジタルデータの情報埋め込み装置。
【請求項4】
前記情報埋込部の前段に配置され、前記埋込み情報に誤り訂正符号化の処理を遂行して出力する第2の誤り訂正符号化部をさらに備え、
前記情報埋込部は、前記誤り訂正符号化された原データに誤り訂正符号化された埋込み情報を誤りとして埋め込むことを特徴とする請求項1又は2記載のデジタルデータの情報埋め込み装置。
【請求項5】
デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから前記埋込み情報を検出するための装置であって、
前記埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理部を備えることを特徴とするデジタルデータの埋込み情報検出装置。
【請求項6】
前記復元処理部は、前記埋込み情報付きデータに復号処理を遂行し、該復号された埋込み情報付きデータの予め定められたビットを識別してビット誤り位置を検出し、検出されたビット誤り位置に予め定められたビットを対応させて埋込み情報を復元することを特徴とする請求項5記載のデジタルデータの埋込み情報検出装置。
【請求項7】
前記復元処理部は、復元された前記埋込み情報を前記埋込み情報付きデータの予め定められたビットに演算して前記原データを復元することを特徴とする請求項6記載のデジタルデータの埋込み情報検出装置。
【請求項8】
前記復元処理部は、前記埋込み情報付きデータに対して誤りとして埋め込まれた符号化埋込み情報を復元し、
復元された符号化埋込み情報に対して誤り訂正を行って前記埋込み情報を復元する第2の復元処理部をさらに備えることを特徴とする請求項5記載のデジタルデータの埋込み情報検出装置。
【請求項9】
情報埋め込み対象であるデジタルの原データに情報を埋め込むためのプログラムであって、
前記原データに誤り訂正符号化を遂行する処理と、
前記誤り訂正符号化された原データに埋込み情報を誤りとして埋め込む処理と、
をコンピュータに実行させるためのプログラム。
【請求項10】
デジタルの原データに埋込み情報が埋め込まれた埋込み情報付きデータから前記埋込み情報を検出するためのプログラムであって、
前記埋込み情報付きデータに対して誤りとして埋め込まれた埋込み情報を復元する復元処理をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−58965(P2013−58965A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−196948(P2011−196948)
【出願日】平成23年9月9日(2011.9.9)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 刊行物名 EiC 電子情報通信学会 2011年総合大会 情報・システムソサイエティ特別企画 学生ポスターセッション予稿集 発行日 平成23年3月14日
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(507092573)A・Tコミュニケーションズ株式会社 (15)
【Fターム(参考)】
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願日】平成23年9月9日(2011.9.9)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 刊行物名 EiC 電子情報通信学会 2011年総合大会 情報・システムソサイエティ特別企画 学生ポスターセッション予稿集 発行日 平成23年3月14日
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(507092573)A・Tコミュニケーションズ株式会社 (15)
【Fターム(参考)】
[ Back to top ]