(57)【特許請求の範囲】
【請求項１】
ディジタルデータを構成する各要素に値を加減算し、かつ、前記ディジタルデータを構成する複数要素を用いて１ビットの情報を埋め込むことで、付加情報を埋め込む情報埋め込み装置であって、
前記加減算した場合に、要素の取り得る範囲を越える値を持つ要素の位置を検出する検出手段と、
前記付加情報と前記検出手段で検出された要素の取り得る範囲を越える値を持つ要素の位置の情報とを実埋め込み情報として生成する生成手段と、
前記ディジタルデータに埋め込む際、前記加減算によって前記要素が取り得る範囲を越える要素位置については埋め込み対象外とし、要素の取り得る範囲内にある要素位置について前記生成手段で生成された実埋め込み情報を電子透かしとして埋め込む埋め込み手段と
を備えることを特徴とする情報埋め込み装置。
【請求項２】
前記ディジタルデータは画像データであって、
前記検出手段は前記加減算した場合に画素値の取り得る範囲を越える画素位置を検出することを特徴とする請求項１に記載の情報埋め込み装置。
【請求項３】
更に、前記付加情報及び前記検出手段で検出された情報のうち少なくとも一方を圧縮符号化する符号化手段を有し、前記生成手段は該符号化手段による符号化結果に基づいて実埋め込み情報を生成することを特徴とする請求項１又は２に記載の情報埋め込み装置。
【請求項４】
更に、前記付加情報及び前記検出手段で検出された情報のうち少なくとも一方を暗号化する暗号化手段を有し、前記生成手段は該符号化手段による暗号化結果に基づいて実埋め込み情報を生成することを特徴とする請求項１又は２に記載の情報埋め込み装置。
【請求項５】
更に、前記付加情報及び前記検出手段で検出された情報のうち少なくとも一方を誤り訂正符号化する符号化手段を有し、前記生成手段は該符号化手段による暗号化結果に基づいて実埋め込み情報を生成することを特徴とする請求項１又は２に記載の情報埋め込み装置。
【請求項６】
更に、前記ディジタルデータにおける、前記加減算した場合に、要素の取り得る範囲を越える値を持つ要素の数を減らすため、前記ディジタルデータを補正する補正手段を備え、
前記生成手段は、該補正手段による補正内容を示す情報を付加して実埋め込み情報を生成することを特徴とする請求項１又は２に記載の情報埋め込み装置。
【請求項７】
ディジタルデータを構成する各要素に値を加減算し、かつ、前記ディジタルデータを構成する複数要素を用いて１ビットの情報を埋め込むことで情報が埋め込まれており、かつ、加減算によって前記要素が取り得る範囲を越える要素については埋め込まれていないディジタルデータを入力し、オリジナルのディジタルデータを復元する情報復元装置であって、
前記入力したディジタルデータに埋め込まれている情報を抽出する電子透かし抽出手段と、
前記抽出された情報のうち、前記埋め込み対象外となっている要素の位置の情報に基づいて、埋め込み対象の要素について前記埋め込まれている情報を除去し、オリジナルのディジタルデータを復元する電子透かし除去手段と
を備えることを特徴とする情報復元装置。
【請求項８】
ディジタルデータを構成する各要素に値を加減算し、かつ、前記ディジタルデータを構成する複数要素を用いて１ビットの情報を埋め込むことで、付加情報を埋め込む情報埋め込み装置であって、
前記加減算した場合に、要素の取り得る範囲を越える値を持つ要素の位置を検出する検出工程と、
前記付加情報と前記検出工程で検出された要素の取り得る範囲を越える値を持つ要素の位置の情報とを実埋め込み情報として生成する生成工程と、
前記ディジタルデータに埋め込む際、前記加減算によって前記要素が取り得る範囲を越える要素位置については埋め込み対象外とし、要素の取り得る範囲内にある要素位置について前記生成工程で生成された実埋め込み情報を電子透かしとして埋め込む埋め込み工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項９】
ディジタルデータを構成する各要素に値を加減算し、かつ、前記ディジタルデータを構成する複数要素を用いて１ビットの情報を埋め込むことで情報が埋め込まれており、かつ、加減算によって前記要素が取り得る範囲を越える要素については埋め込まれていないディジタルデータを入力し、オリジナルのディジタルデータを復元する情報復元装置であって、
前記入力したディジタルデータに埋め込まれている情報を抽出する電子透かし抽出工程と、
前記抽出された情報のうち、前記埋め込み対象外となっている要素の位置の情報に基づいて、埋め込み対象の要素について前記埋め込まれている情報を除去し、オリジナルのディジタルデータを復元する電子透かし除去工程と
を備えることを特徴とする情報復元装置の制御方法。
【請求項１０】
請求項１乃至６の何れか１項に記載の情報埋め込み装置の機能、又は請求項７に記載の情報復元装置の機能をコンピュータに実現させるためのコンピュータプログラム。
【請求項１１】
請求項９に記載のコンピュータプログラムを格納することを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルデータに電子透かしとして情報を埋め込み、及び、埋め込まれた情報を抽出し、オリジナルデータを復元する技術に関するものである。
【０００２】
【従来の技術】
近年、コンピュータとそのネットワークの急速な発達及び普及により、文字データ、画像データ、音声データなど、多種の情報がディジタル化されている。ディジタル情報は、経年変化などによる劣化がなく、いつまでも完全な状態で保存できる一方、容易に複製が可能であり、著作権の保護が大きな問題となっている。そのため著作権保護のためのセキュリティ技術は急速に重要性を増している。
【０００３】
著作権を保護する技術の一つに“電子透かし”がある。電子透かしとは、ディジタルの画像データや音声データ、文字データなどに人に知覚出来ない形で著作権保有者の名前や購入者のＩＤなどを埋めこみ、違法コピーによる無断の使用を追跡する技術である。電子透かしには種々の攻撃が施される可能性があるため、攻撃に対する耐性が必要である。
【０００４】
更に、本来は著作権保護などのセキュリティの目的で用いられていた電子透かし技術は、主情報と副情報を不可分な状態で結合することにも応用されている。単に二つの情報を結合する場合、主情報と副情報は分離されてしまう可能性がある。更に結合後の情報量は主情報の情報量と副情報の情報量の和であることが多い。一方で、電子透かしを用いて二つの情報を結合した場合、主情報と副情報が分離される恐れはなく、更に結合後の情報量は主情報に等しい。
【０００５】
しかしながら、電子透かしとして主情報に埋め込んだ副情報は一度埋め込むと抽出は可能であるが、取り除くことは困難であった。これは、副情報を埋め込む前の主情報を必要とする場合には問題である。
【０００６】
この問題を解決するために、電子透かしが埋め込まれた情報を電子透かしが埋め込まれる前の情報に完全に復元する技術が提案されている。以降では、この技術を可逆電子透かしと呼ぶ。
【０００７】
可逆電子透かしについて簡単に説明する。可逆電子透かしは通常の電子透かしと同様の方法で埋め込む。例えば、以下の式に基づいて処理される。
【０００８】
Ｉ'j,i＝Ｉj,i＋ｃj×ａi×ｘi        （式１）
ここで、ｊは領域及び付加情報Infのビット位置を示す正数、ｉは画素位置を示す正数、Ｉ'j,iは電子透かしが埋め込まれた画像、Ii,jは原画像、ｃjはInfjがビット１の時は＋１、Infjがビット０の時は−１となる定数、ａiは重み係数、ｘiは−１から＋１の範囲の擬似乱数列である。ｘiは電子透かしを埋め込むためのキャリア信号と呼ぶ。
【０００９】
なお、擬似乱数列ｘiであるが、これは電子透かしを埋め込む側の装置、及び埋め込まれた電子透かしを抽出し、原画像を復元する側の装置の間で使用する乱数パターンを取り決めておく。最も単純な手法は、電子透かしを埋め込む側及び抽出し再現する側の装置で同一の乱数発生アルゴリズムを使用し、且つ、乱数を発生する際の初期値を同じにすることである。
【００１０】
そして復元の際には、埋め込まれている電子透かしを先ず抽出する。そして抽出された電子透かしを用いて、以下の式によって原画像が復元される。
【００１１】
Ｉ''j,i＝Ｉ'j,i−ｃj×ａi×ｘi        （式２）
ここで、I''i,jは復元後の画像データ、I'i,jは画像復元装置に入力された画像データ、ｃjは電子透かし抽出部で抽出された付加情報Infにおいてビットが１の時は＋１、ビットが０の時は−１となる定数、ai、xiは式１と同じである。
【００１２】
式１に示した電子透かしの埋め込み、及び式２に示した原画像の復元について具体的に説明する。
【００１３】
図７は式１に示した電子透かしの埋め込みについて具体例を示したものである。それぞれの行列は画像の一部を表している。また、ビット情報としてビット１、即ちｃj＝＋１の場合を表している。
【００１４】
復元する側では、電子透かしを先ず抽出することになるが、この抽出アルゴリズムを簡単に説明すると、入力した画像Ｉ’の４×４画素ブロックの各画素の値と、擬似乱数列ｘi（先に説明したように、埋め込む側と同じ乱数列を発生するものとしている）との相関関係を調べる。もし、入力した画像Ｉ'と擬似乱数列ｘiとの相関関係が高い（予め設定された閾値よりも大きい）であれば埋め込まれたビットは１であると判断する。また、入力した画像Ｉ'と−ｘi（擬似乱数の各要素の符号を反転した結果）との相関関係が高い場合には０が埋めこまれている判断する。そしていずれとの相関関係も低い場合には電子透かし情報が埋め込まれていないと判断する。なお、図示の場合４×４画素ブロックについて説明したが、図示のように１ビットを１つのブロックにのみ埋め込むと高い確からしさが期待できないので、これを複数ブロック（例えばｎ画素ブロック）に対して行い、全体の確からしさを高めることが考えられる。そしてｍビットを埋め込む場合には、ｎ画素ブロックに１ビットを埋め込むことをｍ回行えば良いことになる。
【００１５】
こうして、電子透かしの抽出が行われると、その透かし情報を除去する処理を行う。
【００１６】
図８は図７に示した例で埋め込まれた電子透かしを除去する具体例を示したものである。ここでは、埋め込まれたビット情報が１である場合を示す。図７及び図８に示したように、通常は埋め込んだ電子透かしを完全に除去して原画像を復元することが可能である。
【００１７】
一方、図９も式１に示した電子透かしの埋め込みについて具体例を示したものである。図９に示した例では、電子透かしを埋め込んだ画像データにオーバーフローが生じている（電子透かし埋め込み後の画素値が２６２及び２６１の画素）。この場合、通常図９に示したような丸め処理が行われる。丸め処理が行われた画像からも正しく電子透かしが抽出可能であるが、図１０に示したように丸め処理が行われた個所については原画像を完全に復元することができない。
【００１８】
【発明が解決しようとする課題】
基本的には前述した方式により、電子透かしが埋め込まれているディジタルデータから電子透かしが埋め込まれる前のディジタルデータを復元することが可能であるが、電子透かしの埋め込みによりオーバーフローが生じる場合には、上記の如く電子透かしが埋め込まれる前のディジタルデータを完全に復元することはできない。ここでオーバーフローとは、例えば、Ii,jが０から２５５までの整数（８ビット）によって表現されている場合に、式１の処理の後I'i,jがこの範囲外の値となる現象であり、０より小さなの値の場合は０に、２５５より大きな値の場合は２５５に丸められることが多い。この丸め処理が生じた場合には、電子透かし除去により電子透かしを完全に除去することができないのである。
【００１９】
この原因のため、従来はオーバーフローが生じる個所では原画像を完全に復元することは困難であった。
【００２０】
本発明は上記従来例に鑑みて成されたものであり、オリジナルのデジタルデータを完全に再現することを可能にする情報埋め込み装置及び情報復元装置及び方法及びコンピュータプログラム及び記憶媒体を提供しようとするものである。
【００２１】
【課題を解決するための手段】
上記目的を達成するため、本発明の情報埋め込み装置は以下の構成を備える。すなわち、
ディジタルデータを構成する各要素に値を加減算し、かつ、前記ディジタルデータを構成する複数要素を用いて１ビットの情報を埋め込むことで、付加情報を埋め込む情報埋め込み装置であって、
前記加減算した場合に、要素の取り得る範囲を越える値を持つ要素の位置を検出する検出手段と、
前記付加情報と前記検出手段で検出された要素の取り得る範囲を越える値を持つ要素の位置の情報とを実埋め込み情報として生成する生成手段と、
前記ディジタルデータに埋め込む際、前記加減算によって前記要素が取り得る範囲を越える要素位置については埋め込み対象外とし、要素の取り得る範囲内にある要素位置について前記生成手段で生成された実埋め込み情報を電子透かしとして埋め込む埋め込み手段とを備える。
【００２２】
また、上記埋め込み装置によって埋め込まれたデジタルデータを復元する側の装置は以下の構成を備える。すなわち、
ディジタルデータを構成する各要素に値を加減算し、かつ、前記ディジタルデータを構成する複数要素を用いて１ビットの情報を埋め込むことで情報が埋め込まれており、かつ、加減算によって前記要素が取り得る範囲を越える要素については埋め込まれていないディジタルデータを入力し、オリジナルのディジタルデータを復元する情報復元装置であって、
前記入力したディジタルデータに埋め込まれている情報を抽出する電子透かし抽出手段と、
前記抽出された情報のうち、前記埋め込み対象外となっている要素の位置の情報に基づいて、埋め込み対象の要素について前記埋め込まれている情報を除去し、オリジナルのディジタルデータを復元する電子透かし除去手段とを備える。
【００２３】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００２４】
[電子透かし埋め込み]
先ず本実施形態における電子透かし埋め込み装置について説明する。実施形態における電子透かし埋め込み装置は、電子透かし埋め込み前の画像データにまで完全に復活することができるように、付加情報を埋め込む。
【００２５】
図２は電子透かし埋め込み装置の内部構成を示した図である。同図を用いて、電子透かし埋め込み装置の処理の流れを説明する。
【００２６】
電子透かし埋め込み装置には画像Ｉが入力される。ここで説明を簡易にするために画像Ｉは１画素あたり８ビットの精度で表現されているグレイスケールの多値画像データであるとする。但し、本発明はこれに限定されることなく、所定のビット数を有するグレイスケールの多値画像データであっても良い。更に、複数の成分から構成されるカラー画像が入力された場合、その一つ、或いは複数の成分を選択して入力画像としても良い。入力された画像Ｉはオーバーフロー領域検出部２０１、及び電子透かし埋め込み部２０３に入力される。
【００２７】
まず、オーバーフロー領域検出部２０１について説明する。オーバーフロー領域検出部２０１には、画像Ｉが入力され、前記入力された画像Ｉを構成する全画素について、後段の電子透かし埋め込み部２０３による電子透かし埋め込み処理の後にオーバーフローが生じるか否かが検出され、オーバーフローが生じる画素位置を全て抽出し、その画素群の座標情報をまとめて出力する。
【００２８】
以降ではオーバーフローが生じる画素群（０個、１個、或いはそれ以上の場合もある）の位置の情報をオーバーフロー情報Ｒと呼ぶ。オーバーフロー情報Ｒは後段の符号化部２０２及び電子透かし埋め込み部２０３に出力される。オーバーフロー領域検出部の詳細な動作については後述する。
【００２９】
次に符号化部２０２について説明する。符号化部２０２には、オーバーフロー情報Ｒ及び付加情報Infが入力され、オーバーフロー情報Ｒ及び付加情報Infは一つの符号列として結合され、結合された符号列ｗが出力される。例えば、ｗは図４に示すような構成となる。尚、ｗは後段の電子透かし透かし埋め込み部２０３において画像Ｉの中に電子透かしとして埋め込まれる符号列となる。このため、効率的な電子透かしの埋め込みを実行するために、ｗは圧縮符号化されても良い。更に、付加情報Infが秘密の情報である場合には、ｗは暗号化されても良い。更に、付加情報Infが電子透かしとして埋め込まれた後に、種々の攻撃によって異なる情報に改変された場合にも付加情報Infを正しく抽出可能とするために、ｗは誤り訂正符号化されていても良い。いずれにしても、オーバーフロー情報Ｒで示される画素位置は埋め込み対象外とし、原画像の画素値をそのまま使用する。
【００３０】
次に電子透かし埋め込み部２０３について説明する。電子透かし埋め込み部２０３には、画像Ｉ、オーバーフロー情報Ｒ、及び符号列ｗが入力され、画像Ｉの中に符号列ｗが電子透かしとして埋め込まれ、電子透かしが埋め込まれた画像Ｉ'が出力される。ここで、オーバーフロー情報Ｒに示される画素は電子透かしの埋め込みを行わない。よって、電子透かし埋め込み部２０３においては電子透かしの埋め込みよってオーバーフローは生じない。電子透かし埋め込み部２０３の詳細な動作については後述する。
【００３１】
以上説明したように、画像Ｉに付加情報Infが電子透かしとして埋め込まれ、電子透かしが埋め込まれた画像Ｉ'が生成される。
【００３２】
［画像復元装置］
次に、本実施形態における画像復元装置について図３を用いて説明する。画像復元装置では、電子透かしが埋め込まれた画像を、電子透かしが埋め込まれる前の画像データに完全に復元する処理が行われる。
【００３３】
画像復元装置には、前述した方式で電子透かしが埋め込まれた画像Ｉ'が入力される。入力された画像Ｉ'は後段の電子透かし抽出部３０１、及び電子透かし除去部３０３に入力される。
【００３４】
まず、電子透かし抽出部３０１について説明する。電子透かし抽出部３０１には、電子透かしが埋め込まれた画像Ｉ'が入力され、埋め込まれている符号列ｗが抽出され、抽出された符号列ｗが出力される。電子透かし抽出部３０１では入力された画像Ｉ'の中で対象となる画素全部を用いて電子透かしが抽出される。すなわち、前述した電子透かし埋め込み部２０３において電子透かしの埋め込みの対象外であったオーバーフロー情報Ｒ（オーバーフロー情報Ｒに記されている位置には電子透かしは埋め込まれていない。）を含めて電子透かしの抽出処理の対象とする。電子透かし抽出部３０１の詳細な動作については後述する。抽出された符号列ｗは後段の復号部３０２に出力される。
【００３５】
次に復号部３０２について説明する。復号部３０２には、前段で抽出された符号列ｗが入力され、符号列ｗを構成するオーバーフロー情報Ｒ及び付加情報Infに分割され、分割されたオーバーフロー情報Ｒ及び付加情報Infが出力される。ここで、前述した符号部２０２においてｗが圧縮符号化されている場合には、伸張復号処理が実行される。更に前述した符号化部２０２においてｗが暗号化されている場合には、暗号を解く解読復号処理が実行される。更に、前述した符号化部２０２においてｗが誤り訂正符号化されている場合には、誤りが存在する場合に誤りを訂正する誤り訂正復号が実行される。オーバーフロー情報Ｒ及び付加情報Infは後段の電子透かし除去部３０３に出力される。
【００３６】
次に電子透かし除去部３０３について説明する。電子透かし除去部３０３には、電子透かしが埋め込まれた画像I'、オーバーフロー情報Ｒ、及び付加情報Infが入力され、付加情報Infを用いて電子透かしが埋め込まれた画像Ｉ'から電子透かしが埋め込まれる前の画像が復元され、復元された画像Ｉが出力される。ここで、オーバーフロー情報Ｒに示される画素は復元処理の対象としない。何故なら、オーバーフロー情報Ｒに示される画素は、前述した電子透かし埋め込み部２０３において電子透かしが埋め込まれていないからである。電子透かし除去部３０３の詳細な動作については後述する。
【００３７】
以上説明したように、電子透かしが埋め込まれた画像Ｉ'から電子透かしが埋め込まれる前の画像Ｉが復元される。
【００３８】
[電子透かし埋め込み処理の詳細]
ここで、電子透かし埋め込み処理の詳細について、更に具体例をあげて説明する。
【００３９】
画像Ｉの中にｎビットの情報Infを埋め込む場合を考える（なお、上記実施形態で対応つけると情報ｗを埋め込む場合となる）。この場合、画像Ｉをｎ個の互いに重ならない領域Ｉj(j=１,２,…n)に分割する。そして、電子透かし埋め込み処理として、
Ｉ'j,i＝Ｉj,i＋ｃj×ａi×ｘi      （式３）
が実行される。ここで、ｊは領域を特定すると共に付加情報Infのビット位置を特定する正数、ｉは画素位置を示す正数、I'j,iは電子透かしが埋め込まれた画像、ｃjはInfjがビット１の時は＋１、Infjがビット０の時は−１となる定数、ａiは重み係数、ｘiは−１から＋１の範囲の擬似乱数列である。ｘiは電子透かしを埋め込むためのキャリア信号と呼ぶ。
【００４０】
ここで、重み係数の取り得る最大値（正の値）をａmax、ｘiの取り得る最大値（正の値）をｘmaxとすると、上記式３に示した演算は、
ａmax×ｘmax≦Ｉ≦２５５−ａmax×ｘmax      （式４）
に示す条件を満たす時にだけ実行される。
【００４１】
但し、埋め込み側の装置及びそれを抽出する側の装置の双方で、ａi、ｘiの各要素の値は同期が取れ、互いに既知であるので、上記式４をさらに発展させ、
ａi×ｘi≦Ｉ≦２５５−ａi×ｘi      （式４’）
としても構わない。
【００４２】
もし、式４（或いは式４’）に示す条件を満たさないときには、画素位置ｉがオーバーフロー情報Ｒとして記録される。一般的な自然画像においては式４に示す条件を満たさない画素（埋め込み対象外となる画素）の数は画像全体の総画素数に比べて非常に小さい。これはオーバーフロー情報Ｒが比較的小さな情報量であることを示している。よって後段の符号化部２０２においてオーバーフロー情報Ｒが符号列ｗとして結合された後、電子透かし埋め込み部２０３において電子透かしとして埋め込んだとしても問題のない情報量である。以上のように式４（或いは式４’）に示す条件の元で式１により電子透かしを埋め込むことによりオーバーフローすることなく電子透かしの埋め込み処理を実行することが可能である。
【００４３】
［画像復元処理の詳細]
次に、画像復元処理の詳細について具体例をあげて説明する。
【００４４】
入力された画像I'の中には符号列ｗが電子透かしとして埋め込まれている。式３を用いて埋め込まれた電子透かしｗを抽出するために、電子透かしを埋め込むためのキャリア信号ｘと電子透かし抽出部に入力された画像Ｉ'からＰＦＡを計算し、その結果によって電子透かしが埋め込まれているか否か、且つ、埋め込まれている場合にはビットが０であるか或いは１であるかが決定される。
【００４５】
ここで、ＰＦＡとは電子透かしが埋め込まれていないときに、電子透かしが埋め込まれていると判断する確率である。この確率を算出するために、過程検定と呼ばれる方式が用いられる。過程検定はこの当該分野の専門家によって公知の技術である。電子透かしの抽出に過程検定を用いた例として、例えば"A method for signature casting on digital images" by I.Pitas, I.C.I.I.P. Proceedings, pages ２１５ to ２１８, September １９９６に詳しい。過程検定によって、ビット毎に検定値ｑjが算出される。前記検定値ｑjはディジタルデータに電子透かしが埋め込まれていない場合には平均が零、分散が１の標準正規分布に従うが、ディジタルデータに電子透かしが埋め込まれている場合には平均が非零、分散が１の正規分布に従う。電子透かしが埋め込まれているか否かは、算出された検定値ｑjが０からどれくらい離れているかによって決定される。
【００４６】
更に、前記算出された検定値ｑjによって電子透かしとして埋め込まれている情報を算出することが可能である。式３を用いて埋め込まれている場合には、ｑjが正の時にはビットは１、一方でｑjが負の時にはビットは０であると判断する。
【００４７】
尚、電子透かしを抽出する原理は、先に従来技術で説明した内容を参照されたい。
【００４８】
以上、説明した電子透かし抽出処理は前述した電子透かし埋め込み部２０３において式４（或いは式４’）に示した条件を満たさないために電子透かしが埋め込まれなかった画素を含めて実行される。式４（或いは式４’）に示した条件を満たさない画素の数は画像全体に示す画素の総数に比較して少ないために、この画素を含めて電子透かしを抽出しても正しく電子透かしを抽出することは可能である。
【００４９】
以上の様に抽出された電子透かしは符号列ｗであり、これはオーバーフロー情報Ｒと付加情報Infから構成されているため、これらは各々に分割される。その後、電子透かし除去部においては、以下の処理が実行される。
【００５０】
If i ⊂ Ｒ then Ｉ''＝Ｉ'j,i
else  Ｉ''＝Ｉ'j,i−ｃj×ａi×ｘi        （式５）
ここで、Ｉ''i,jは復元後の画像データ、Ｉ'i,jは画像復元装置に入力された画像データ、ｃjは電子透かし抽出部で抽出された付加情報Infにおいてビットが１の時は＋１、ビットが０の時は−１となる定数、ａi、ｘiは式３と同一である。すなわち、ｉがオーバーフロー情報Ｒに含まれていない時には式３と逆の処理が実行され、ｉがオーバーフロー領域Rに含まれている時には処理は実行されない。
【００５１】
以上の処理により符号列ｗが正しく抽出されている場合、復元された画像Ｉ''は原画像Ｉと等しくすることが可能になる。
【００５２】
［具体的装置の説明］
以上であるが、実施形態における電子透かしを埋め込む装置及び埋め込まれた電子データを抽出すると共に原画像を復元する装置は、上記説明した処理を実行するプログラムで実現できることは当業者であれば容易に想到できよう。
【００５３】
そこで、装置の具体的な構成を図１に示し、その後で、電子透かしの埋め込みにかかる処理（プログラム）と、復元処理（プログラム）を説明する。
【００５４】
図１において、ホストコンピュータ１０１は例えば一般に普及しているパーソナルコンピュータである。
【００５５】
ホストコンピュータ１０１の内部では、バス１０７により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
【００５６】
図中、１０２はモニタ（表示装置）であり、１０３は、内部の各ブロックの動作を制御、或いは内部に記憶されたプログラムを実行することのできるＣＰＵである。１０４は、ＢＩＯＳやブートプログラムを記憶しているＲＯＭである。１０５は、ＣＰＵ１０３にて処理するプログラムを格納したり、処理対象の画像データを格納するために使用されるＲＡＭである。１０６はＲＡＭ１０５等に転送されるプログラム（ＯＳやアプリケーション等）や画像データをあらかじめ格納したり、処理後の画像データを保存したりすることのできるハードディスク(ＨＤ)である。
【００５７】
１０８は、外部記憶媒体の一つであるCD(CD-R)に記憶されたデータを読み込み或いは書き出すことのできるＣＤドライブである。１０９は、１０８と同様にFDからの読み込み、FDへの書き出しができるＦＤドライブである。１１０も、１０８と同様にＤＶＤからの読み込み、ＤＶＤへの書き出しができるＤＶＤドライブである。尚、ＣＤ,ＦＤ,ＤＶＤ等に画像編集用のプログラム、或いはプリンタドライバが記憶されている場合には、これらプログラムをＨＤ１０６上にインストールし、必要に応じてＲＡＭ１０５に転送されるようになっている。１１３は、キーボード１１１或いはマウス１１２からの入力指示を受け付けるためにこれらと接続されるインターフェイス(I/F)である。１１４はインターネット等のネットワークに接続する通信インタフェースである。
【００５８】
電子透かしを組み込んだ画像の出力先は、ＨＤやＦＤなどの記憶媒体でも構わないし、ネットワーク上のファイルサーバでも構わない。逆に電子透かしが埋め込まれた情報を入力するものとしても、同様である。
【００５９】
さて、上記装置が電子透かし埋め込み側の装置として機能する場合には、図１１に示す手順に従って処理することになる。なお、以下に説明する手順にかかるプログラムは、ＨＤ１０６にインストールされているものである。また、埋め込むべき情報Infはキーボード等から入力されているものとするが、予めＨＤ１０６や、ＲＯＭ１０４、ＲＡＭ１０５等に格納されている情報を活用するようにしても構わない。
【００６０】
まず、ステップＳ１１０１で、電子透かしが埋め込まれる画像データを入力する。入力元としては記憶媒体、ネットワークからのダウンロード、イメージスキャナ等その入力元は問われない。次いで、ステップＳ１１０２で、入力された画像データからオーバーフローする画素の位置を全て検出し、検出された情報をオーバーフロー情報ＲとしてＲＡＭ１０５に保存する。次に、事前に入力された付加情報Inf及び前記オーバーフロー情報Ｒを合成し、符号化（可逆符号化）することで、実際に埋め込む情報ｗを作成し、ＲＡＭ１０５に一時的に保存する。
【００６１】
次いで、入力された画像データを画素ごとに着目し、着目した画素位置が前記オーバーフロー情報Ｒに含まれているか否かが判定される。オーバーフロー情報Ｒに含まれない場合は、情報ｗより１ビット取り出し、そのビット状態に応じた電子透かし埋め込み処理を実行する。
【００６２】
一方、オーバーフロー情報Ｒに含まれている画素である場合には、電子透かし埋め込み処理を実行しない。
【００６３】
この処理が、全てのビット情報及び全ての画素について実行される（ステップＳ１１０６、１１０７）。全てのビット情報及び全ての画素ついて実行された後に、電子透かしが埋め込まれた画像データがＲＡＭ１０５或いはＨＤ１０６に出力される（ステップＳ１１０８）。
【００６４】
なお、全画素についての埋め込み前に、情報ｗの全ビットの埋め込みが完了した場合にはダミーの情報を埋め込むか、情報ｗを繰り返し埋め込むかを行ってもよい。
【００６５】
以上の結果、埋め込み後の画像情報Ｉ'がＲＡＭ上に生成されることになる。この画像Ｉ’は最終的にファイルとしてＨＤ等に格納されるが、その後の処理は、ネットワークを介して転送しても良いし、リムーバルメディアに記憶しても構わない。
【００６６】
次に、電子透かしを抽出し、原画像を復元する処理について説明する。
【００６７】
まず電子透かしが埋め込まれる画像データＩ’をＲＡＭ１０５に入力する（ステップＳ１２０１）。入力元は如何なるものであっても良いのは先に説明した通りである。この後、ステップＳ１２０２で、埋め込まれた画像Ｉ’から、電子透かし情報を抽出する。電子透かしの抽出原理は先に示した通りである。
【００６８】
次いで、ステップＳ１２０３で抽出された情報を復号化して、情報ｗ（＝オーバーフロー情報Ｒ＋埋め込み情報Inf）としてＲＡＭ１０５に格納し、抽出処理が完了する。なお、埋め込み情報Infを表示画面に表示したりしても構わない。
【００６９】
ステップＳ１２０４で、画像データを画素ごとに着目し、着目した画素位置が前記オーバーフロー情報Ｒに含まれているか否かが判定される。
【００７０】
オーバーフロー情報Ｒに含まれない場合は、ステップＳ１２０５で、電子透かし除去処理が実行される。
【００７１】
一方、オーバーフローする画素が含まれる場合、その画素については電子透かし除去処理は実行されず、入力した画像データの画素値をそのまま用いる。
【００７２】
この処理が、全ての画素について実行される（ステップＳ１２０６）。こうそて、全画素について実行された後に、電子透かしを除去することで、原画像を再現されることになる。この結果（原画像データ）は、ＲＡＭ１０５やＨＤ１０６などに出力され、場合によっては表示されることになる。
【００７３】
＜第２の実施形態＞
上記実施形態（第１の実施形態）では、画像全体の画素数に対してオーバーフローの現象が生じる画素数が比較的少ない場合について説明した。即ち、オーバーフロー情報Ｒの情報量が比較的小さく、電子透かしとして埋め込むのに比較的望ましい情報量である場合について説明した。写真等の自然画像の場合である。
【００７４】
一方で、画像データによってはオーバーフロー情報Ｒの情報量が大きくなる場合もある。例えば、電子透かしの埋め込みを輝度値に対して実行する場合、全体的に明るい画像や全体的に暗い画像の場合はオーバーフロー情報Rが大きくなる。
【００７５】
オーバーフロー情報Ｒの情報量があまりに大きくなった場合には、オーバーフロー情報Ｒを含む符号列ｗの情報量も大きくなり、符号列ｗを電子透かしとして埋め込むことができない。よってオーバーフロー情報Ｒの情報量は可能な限り小さなほうが望ましい。ここでは、オーバーフロー情報Ｒを小さくする処理の一例を第２の実施形態として説明する。
【００７６】
図５は本第２の実施形態における電子透かし埋め込み装置の内部構成を示した図である。図２に示した装置との違いは補正部５０１が加わった点、及び、符号化部５０３での処理である。その他の動作については図２と同じであるため説明は省略する。
【００７７】
補正部５０１には画像データＩが入力され、オーバーフロー情報Ｒの情報量を小さくするような補正処理が実行され、補正された画像データＩ'''とどのような補正が実行されたかを表す補正情報Ｃが出力される。
【００７８】
補正処理とは、オーバーフロー情報Ｒの情報量を小さくする処理であり、例えば画像全体が明るいときにはすべての画素値を一定量(ｄ)減ずる処理が実行される。この場合には補正情報Ｃとして「画像全体の画素値を一定量(ｄ)減じた」という情報が出力される。
【００７９】
更に、符号化部５０３においてはオーバーフロー情報Ｒと付加情報Infに加えて補正情報Ｃも符号化対象の情報となる。符号化後のｗは、図１３のように補正情報Ｃ、オーバーフロー情報Ｒ、及び付加情報Infを有する。
【００８０】
以上の処理により電子透かしが埋め込まれる。次に本実施の形態における画像復元装置について説明する。
【００８１】
図６は本第２の実施形態における画像復元装置の内部構成を示した図である。図３に示した装置との違いは逆補正部６０４が加わったことと復号部６０２での処理である。その他の動作については図６と図３は同じであるため説明は省略する。
【００８２】
復号部６０２では前段の電子透かし抽出部６０１において抽出された符号列ｗが入力され、付加情報Inf、オーバーフロー情報Ｒ、及び補正情報Ｃに復号され、それぞれが出力される。
【００８３】
次に逆補正部６０４には前段の電子透かし除去部で電子透かしが除去された画像データI'''、及び復号部６０２において復号された補正情報Ｃが入力され、前述した補正部Ｃで行われた処理と逆の処理が実行され、補正処理された画像データＩが出力される。例えば、補正情報Ｃとして「画像全体の画素値を一定量(d)減じた」という情報が入力された場合には、補正部６０４では画像全体の画素値を一定量(d)加える処理が実行される。
【００８４】
以上の処理によって、画像復元装置に入力された画像データＩ'は電子透かしが埋め込まれる前の画像データＩに完全に復元することが可能である。
【００８５】
なお、上記補正情報Ｃの決定方法であるが、一例を示せば次の通りである。
【００８６】
被埋め込み画像の輝度分布を調べ、例えば高輝度の頻度が低輝度側より高ければ、低輝度側へシフトするように補正する。逆に、低輝度の頻度が高輝度側でのそれよりも高ければ低輝度側へシフトするように補正する。
【００８７】
また、場合によっては次のようにしても構わない。説明を分かり易くするため、文章が印刷された紙をイメージスキャナ（１画素につき８ビットとする）で読み取り、その読み取った画像を画像Ｉとする場合について考察する。
【００８８】
通常、文章が記述された原稿（２値画像）を読み取り、各画素を輝度値として表現した場合、画素分布は、図１４に示す如く、最高輝度と最低輝度に集中し、それらの間には画素はほとんど存在しない。
【００８９】
かかる状況では、全画素について一律的に或る値を加算或いは減算させると、高輝度或いは低輝度側でオーバーフローすることになるので、好ましくない。そこで、次のようにする。
【００９０】
先ず、低輝度の取り得る範囲は図示の場合には、０〜ａの輝度値に分布しているので、中間輝度の度数が“０”となっている範囲中の、式４（或いは式４’）を満足するところを探し出し、その輝度値に置き換える。例えば、輝度値５０〜５０＋ａが探しだせたら、輝度値０〜ａの値を５０乃至５０＋ａの値に変換する（０を５０、１を５１…と変換する）。そして、高輝度の取り得る範囲についても同様に変換する。
【００９１】
以上の結果、特に文章等の２値画像の場合には、補正情報Ｃとしては、輝度０〜ａがどのような値に変換されたのか、及び輝度ｂ〜２５５の値がどのような値に変換されたのかを示す情報を有するようにすれば、完全復元することが可能になる。なお、上記では画像を輝度成分で表現したが、これに限定されず、濃度等の他の成分で表現しても構わないのは勿論である。
【００９２】
以上説明したように本第１、第２の実施形態によれば、オーバーフローする画素（デジタルデータの要素）については埋め込み対象外とし、オーバーフローしない画素について電子透かしで情報を埋め込むことで、オリジナルの画像データを完全復元することが可能となる。
【００９３】
なお、本発明は、上記の通り、コンピュータにより実行させれるプログラムによって実現できるものである。従って、当然に本発明はコンピュータプログラムをも含むものである。また、プログラムをコンピュータに供給することで本発明が構成できるので、そのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体も本発明の範疇に含まれる。
【００９４】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【００９５】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【００９６】
更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。
【００９７】
【発明の効果】
以上説明した様に本発明によれば、電子透かしを埋め込み、尚且つ、その被埋め込み対象であったオリジナルのデジタルデータを再現することも可能になる。
【図面の簡単な説明】
【図１】実施形態が適用する情報処理装置のブロック構成図である。
【図２】第１の実施の形態における電子透かし埋め込み装置のブロック図である。
【図３】第１の実施の形態における画像復元装置のブロック図である。
【図４】第１の実施の形態における符号列ｗの一例を示す図である。
【図５】第２の実施の形態における電子透かし埋め込み装置のブロック図である。
【図６】第２の実施の形態における画像復元装置のブロック図である。
【図７】電子透かしの埋め込みむ処理の内容を示す図である。
【図８】オリジナルデータを復元する処理の内容を示す図である。
【図９】電子透かしの埋め込む際にオーバーフローした例を示す図である。
【図１０】オーバーフローした場合にオリジナルデータを復元できない例を示す図である。
【図１１】実施形態における電子透かしの埋め込み手順を示すフローチャートである。
【図１２】実施形態におけるオリジナルデータの復元手順を示すフローチャートである。
【図１３】第２の実施の形態における符号列ｗの一例を示す図である。
【図１４】第２の実施形態における補正処理を説明するための画素分布の一例を示す図である。
【図１】
0003774631.tif 000002
【図２】
0003774631.tif 000003
【図３】
0003774631.tif 000004
【図４】
0003774631.tif 000005
【図５】
0003774631.tif 000006
【図６】
0003774631.tif 000007
【図７】
0003774631.tif 000008
【図８】
0003774631.tif 000009
【図９】
0003774631.tif 000010
【図１０】
0003774631.tif 000011
【図１１】
0003774631.tif 000012
【図１２】
0003774631.tif 000013
【図１３】
0003774631.tif 000014
【図１４】
0003774631.tif 000015