(57)【特許請求の範囲】
【請求項１】
画像で使用する色をインデクス番号で管理する色情報格納領域と、各画素に該インデクス番号を指定した画素情報格納領域とを有する画像データ記憶手段に、ビットデータを電子透かしで埋め込むデータ埋め込み装置において、
該色情報格納領域を、複数の領域に分け、それぞれの領域の色情報が同一となるよう、該色情報格納領域の色情報を編集する手段と、
各領域毎に対応させるビット値を定義する手段と、
該画素情報格納領域に格納されている各画素毎に、該埋め込みデータのビット値に対応する該領域に存在する色を選択する手段と
を具備することを特徴とするデータ埋め込み装置。
【請求項２】
画像で使用する色をインデクス番号で管理する色情報格納領域と、各画素に該インデクス番号を設定した画素情報格納領域とを有する画像データ記憶手段に、ビットデータを電子透かしで埋め込むデータ埋め込み装置において、該色情報格納領域を、複数の領域に分け、それぞれの領域の色情報が同一となるよう、該色情報格納領域の色情報を編集する手段と、各領域毎に対応させるビット値を定義する手段と、該画素情報格納領域に格納されている各画素毎に、該埋め込みデータのビット値に対応するインデクス番号を設定する手段とを具備することを特徴とするデータ埋め込み装置。
【請求項３】
画像で使用する色をインデクス番号で管理する色情報格納領域と、各画素に対応して該インデクス番号を指定した画素情報格納領域とを有する画像データに、ビットデータを電子透かしで埋め込むデータの埋め込み方法において、該色情報格納領域を、複数の領域に分け、それぞれの領域の色情報が同一となるよう、色情報格納領域の色情報を編集し、各領域毎に対応させるビット値を定義し、該画素情報格納領域に格納されている各画素毎に、該埋め込みデータのビット値に対応する該領域に存在する色を選択することを特徴とするデータ埋め込み方法。
【請求項４】
画像で使用する色をインデクス番号で管理する色情報格納領域と、各画素に対応して該インデクス番号を設定した画素情報格納領域とを有する画像データに、ビットデータを電子透かしで埋め込むデータの埋め込み方法において、該色情報格納領域を、複数の領域に分け、それぞれの領域の色情報が同一となるよう、色情報格納領域の色情報を編集し、各領域毎に対応させるビット値を定義し、該画素情報格納領域に格納されている各画素毎に、該埋め込みデータのビット値に対応するインデクス番号を設定することを特徴とするデータ埋め込み方法。
【請求項５】
画像で使用する色をインデクス番号で管理する色情報格納領域と、各画素に該インデクス番号を指定する画素情報格納領域とを持つ画像データ記憶手段に、ビットデータを電子透かしで埋め込むためのプログラムが記録された記録媒体であって、該プログラムは、情報処理装置に、該色情報格納領域を、複数の領域に分け、それぞれの領域の色情報が同一となるよう、色情報格納領域の色情報を編集するステップと、各領域毎に対応させるビット値を定義するステップと、該画素情報格納領域に格納されている各画素毎に、該埋め込みデータのビット値に対応する該領域に存在する色を選択するステップとを実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
請求項４記載のデータ埋め込み方法により、ビットデータを電子透かしで埋め込んだ画像を記録した記録媒体。
【請求項７】
請求項１記載のデータ埋め込み装置を用いて画像データに電子透かしで埋め込んだビットデータを抽出するため、各画素が指定する色が色情報格納領域において存在する領域を求める手段と、求めた領域に対応するビット値を求める手段と、求めた各画素毎のビット値の集合を結合する手段とを有することを特徴としたデータ抽出装置。
【請求項８】
請求項２記載のデータ埋め込み装置を用いて画像データに電子透かしで埋め込んだビットデータを抽出するため、各画素が指定するインデクス番号を求める手段と、求めたインデクス番号に対応するビット値を求める手段と、求めた各画素毎のビット値の集合を結合する手段とを有することを特徴としたデータ抽出装置。
【請求項９】
請求項３記載のデータ埋め込み方法により画像データに電子透かしで埋め込んだビットデータを抽出するため、各画素が指定する色が色情報格納領域において存在する領域を求め、求めた領域に対応するビット値を求め、求めた各画素毎のビット値の集合を結合することを特徴とするデータ抽出方法。
【請求項１０】
請求項４記載のデータ埋め込み方法により画像データに電子透かしで埋め込んだビットデータを抽出するため、各画素が指定するインデクス番号を求め、求めたインデクス番号に対応するビット値を求め、求めた各画素毎のビット値の集合を結合することを特徴とするデータ抽出方法。
【請求項１１】
画像データに請求項３または４記載のデータ埋め込み方法により電子透かしで埋め込んだビットデータを復号するためのプログラムが記録された記録媒体であって、情報処理装置に、画素情報格納領域の各画素が指定する領域を求めるステップと、求めた領域に対応するビット値を求めるステップと、求めた各画素毎のビット値の集合を結合するステップとを実行させるプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データに任意の情報を埋め込むデータ埋め込み装置、埋め込まれたデータを抽出する装置、およびそのための方法ならびに該方法を記録したコンピュータ読み取り可能な記録媒体に関わり、特に画像に情報を埋め込む電子透かし技術に関する。
【０００２】
【従来の技術】
画像データに適用した場合の電子透かし技術では、データを変更しても視覚的に変化が知覚できない部分等に対して画素の輝度値や画像の周波数成分等を変更し、それによってビット値“０”または“１”等を表現させることで情報を埋め込んでいる。
情報を埋め込んだ画像は、原画像と比較した際、視覚的に変化があってはならない為、従来の電子透かし技術では以下の２点を条件としている。
【０００３】
１）対象画像は、写真や絵画等に代表される、色数が多くかつ複雑な形状（または模様）で構成される比較的大サイズのディジタルコンテンツ
２）埋め込む情報量は少量
電子透かし技術に求められる条件に関しては、例えば、１９９８第５６回情報処理学会全国論文集３−３７頁から３−３８頁の、小林他、“近傍ピクセルの性質を用いたデータハイディング − 近傍ピクセルの統計的性質 −”で述べられている。
【０００４】
【発明が解決しようとする課題】
従来の電子透かし技術を、企業ロゴマーク等に代表される、色数が少なくかつ単純な形状（または模様）で構成される画像に適用した場合、画素や周波数成分のわずかな変更でも品質の劣化を知覚できる。また、比較的小サイズの画像に多量の情報を埋め込むためには、画素の輝度値や画像の周波数成分等を大幅に変更しなければならず、それにより顕著な品質の劣化が生じる。
【０００５】
本発明の目的は、企業ロゴマーク等に代表される、色数が少なくかつ単純な形状（または模様）で構成される比較的小サイズの画像に多量の情報を埋め込み可能で、かつ原画像と比較しても品質が劣化しないデータ埋め込み装置，データ抽出装置およびそれらの方法ならびに該方法を記録した記録媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明では、上記の課題を解決するために、以下の手段を提案する。
但し、本発明で対象とする画像データ構造は、画像中で使用している全ての色をインデクス番号順に管理している色情報格納領域と、各画素毎に前記インデクス番号を指定することで間接的に使用する色を指定している画素情報格納領域を構成要素として持つこととする。
【０００７】
まず、画像データ構造中の色情報格納領域を複数の小領域に分けて考え、この小領域毎に対応させるビット値を定義する。これにより、あるインデクス番号によって定義されている色について、それが格納されている小領域を特定することにより、対応するビット値を特定することができる。
【０００８】
次に、画素情報格納領域中の各画素毎に格納されているインデクス番号を、埋め込む情報のビット値に対応する小領域に属するインデクス番号に変更する。これにより、1画素当り1ビット以上（色情報格納領域の分割数に依存）の情報を埋め込むことが可能となる。
【０００９】
また、上記手段で埋め込んだ情報は、画素情報格納領域中に格納されているインデクス番号を取り出し、そのインデクス番号が含まれている小領域に対応するビット値を特定することで抽出が可能である。
【００１０】
また、上述した情報の埋め込み方法をプログラムコード化して磁気ディスクや光メディアなどのコンピュータ読み取り可能な記録媒体に記録したり、あるいは上記埋め込み方法により情報を埋め込んだ画像を記録した記録媒体により本発明を広く市場に流通させることが可能になる。
【００１１】
【発明の実施の形態】
以下、本発明の実施例を、図を用いて説明する。なお、以下の説明は本発明の実施形態の一例を示すものであり、本発明を限定するものではない。
【００１２】
図１は、本発明のシステム構成の一実施例を示した図である。本発明による、データ埋め込み・抽出システム１０１は、パーソナルコンピュータやワークステーション等の電子計算機上に実装されるものとし、本発明によるデータ埋め込み方法より成るデータ埋め込み装置１０２とデータ抽出装置１０８とから構成される。
【００１３】
データ埋め込み装置１０２は、色情報格納領域編集手段１０３と画素情報格納領域変更手段１０４より構成され、マルチメディアデータとしての原画像１０５と埋め込みデータ１０６を入力し、データ埋め込み画像１０７を出力する。
データ抽出装置１０８は、画素情報格納領域のインデクス番号判定（ビット値抽出）手段１０９と抽出したビット値の結合手段１１０より構成され、データ埋め込み画像１１１を入力し、埋め込みデータ１１２を出力する。
【００１４】
但し、本実施例ではデータ埋め込み装置１０２とデータ抽出装置１０８を同一の電子計算機上に実装しているが、各装置を別々の電子計算機上に実装することも可能である。
【００１５】
図２は、本発明を実施する際の前提である、色情報格納領域と画素情報格納領域、及び領域分割数格納領域を持つ画像データ構造の一例を示した図である。
縦画素数３、横画素数３（総画素数９）で表される表示画像２０１において、実際のデータ構造２０２は、色情報格納領域２０３と画素情報格納領域２０６、及び領域分割数格納領域２０７から成るものとする。
【００１６】
但し、上記データ構造には、色情報格納領域２０３と画素情報格納領域２０６、及び領域分割数格納領域２０７とは別に、画像データの各種情報を示すヘッダ情報等が格納されていても問題無い。データ構造２０２は、データ構造を格納した記憶手段に格納される。色情報格納領域２０３、画素情報格納領域２０６、領域分割数格納領域２０７をそれぞれ別に記憶手段に格納しても良い。
【００１７】
データ構造２０２中の色情報格納領域２０３は、最大で２５６色分の色情報を格納できるとする。この時、インデクス番号２０４は、(０)から(２５５)まで順に並んでいるとし、各インデクス番号毎に、個別に色情報２０５が格納されているとする。ここで、各色情報の値は、それぞれＲ(赤)、Ｇ(青)、Ｂ(緑)各８ビットの計２４ビット（１０進数表現では、０〜約１６７７万）の値で表されているとする。すなわち、上記の例で示した構造を持つ画像データでは、約１６７７万色中２５６色を利用可能であることを意味している。
【００１８】
画素情報格納領域２０６は、各画素毎に１色ずつ、利用したい色を上記色情報格納領域２０３から選択し、そのインデクス番号(０〜２５５)を格納している。図に示した通り、表示画像２０１の全９画素分の色に対応するインデクス番号が順番に指定されている。
【００１９】
領域分割数格納領域２０７は、本発明による画像へのデータ埋め込み処理において、色情報格納領域２０３を、いくつの小領域に分割するかを示す値を格納する。従って、色情報格納領域２０３の分割数を固定とする場合においては、本領域はなくても構わない。
【００２０】
図３は、本発明による画像へのデータ埋め込み方法のフローチャートである。ステップ３０１で、領域分割数格納領域２０７から、色情報格納領域２０３の分割数を取得する。ステップ３０２で、色情報格納領域２０３のデータを編集し、小領域毎に対応させるビット値を定義する。ステップ３０３で、画像データ中に埋め込むデータを１ビット分取り出す。ステップ３０４で、画素情報格納領域２０６に格納されている画素データ（インデクス番号）を一画素分取り出す。
【００２１】
ステップ３０５では、ステップ３０３で取得したビット値に基づいて、ステップ３０４で取得した画素データ（インデクス番号）を、ステップ３０２で定義した対応する値へと変更する。ステップ３０６で、すべてのデータの埋め込みが完了したか判定し、完了していなければ、ステップ３０３からステップ３０５までを繰り返す。
【００２２】
全データの埋め込みが完了したら、ステップ３０７で終了コードを埋め込む。但し、終了コードとは、埋め込みデータの終了位置を明示するために用いるビット列とする。
【００２３】
図４は、画像データ構造２０２中の色情報格納領域２０３の編集手順の具体的な実施例を示した図である。
本実施例では、色情報格納領域を２つに分ける場合についてのみ述べる。図に示した通り、２５６色分の色情報格納領域を、２つの１２８色分の小領域４０１，４０２に分けて考える。但し、これは実際に画像データ構造そのものに対して操作・改変等を行うわけではない。
【００２４】
この時、２つの小領域に格納されている色の値及び並び順に関しては、小領域４０１と小領域４０２で同じ値になるように編集する。これは図に示しているように、インデクス番号ｉ(０≦ｉ≦１２７)に格納されている色と、ｉ＋１２８に格納されている色を同一にすることである。この場合、小領域４０１の１２８色分のデータを小領域４０２に直接コピーすれば良い。但し、あらかじめ上記編集の済んでいる色情報格納領域を用意しておくという前提を置いた場合、本編集処理は不要である。
【００２５】
ここで、２つに分けた小領域に対応するビット値を定義する。例えば、小領域４０１に対応するビット値は“０”とし、小領域４０２に対応するビット値は“１”と定義しておく。
【００２６】
図５は、画像データ構造中の画素情報格納領域のインデクス番号の変更手段の具体的な実施例を示した図である。
前記した色情報格納領域編集手段１０３によって、色情報格納領域が２つの小領域に分けられた画像データに対して情報を埋め込む。例として、横画素数３、縦画素数３（総画素数９）の画像データに対し、４ビットの情報を埋め込むことを考える。埋め込みデータ５０１のビット値の並びは「１０１０」とする。ここで、情報「１０１０」を埋め込んだ後に、その終了位置を明示するための終了コード５０３を埋め込みデータ５０１に付加しておく。本実施例では、図中にあるように、終了コード５０３を仮に「１１」と定義しておく。但し、埋め込みビット数（本実施例での値は４）を、画像データ中のヘッダ等に記しておく場合には、ここで終了コードを埋め込まなくても問題無い。
【００２７】
次に、データを埋め込むための原画像について考える。
原画像の画素情報格納領域内のデータ５０２には、色情報格納領域内を指し示すインデクス番号が全９画素分指定されており、これにより、間接的に各画素の色が指定されている。このとき、画素情報格納領域内のデータ５０２で指定されているインデクス番号は、すべて図４の小領域４０１の範囲内で作成されているとする（インデクス番号０〜１２７の範囲、すなわち最大使用可能色数は１２８色）。
【００２８】
ここで、埋め込みデータ５０１と、画素情報格納領域内のデータ５０２を、先頭から順に比較する。図に於いて、破線で囲まれている部分は、埋め込みデータ５０１のビット値が“１”の部分と、そこに対応する画素情報格納領域内のデータ５０２のインデクス番号を示している。先に定義したように、ビット値“１”に対応するのは、図４における小領域４０２である。従って、画素情報格納領域内のデータ５０２に於いて、埋め込みデータ５０１のビット値“１”に対応しているインデクス番号を１２８増加させれば良いことになる。
【００２９】
例えば、埋め込みデータ５０１のビット値“１”に対応する画素情報格納領域内のデータ５０２の最初のインデクス番号は２であるが、この場合、２に１２８を加えるので、変更後のインデクス番号は１３０となる。以下、埋め込みデータ５０１のビット値“１”に対応する全てのインデクス番号を同様に１２８増加させていく。このようにして、画素情報格納領域内のデータ５０２のインデクス番号を変更することにより、画像データ中に情報を埋め込んでいく。
【００３０】
本実施例では、１画素あたり１ビットの情報を格納することが可能である。例えば、１２８色以下の色数で作成可能な、横画素数１２８、縦画素数１２８の比較的小サイズの原画像データに本手段を適用した場合、総画素数は１６３８４なので、埋め込みデータの最大値は１６３８４ビット（２０４８バイト）となる。なお、２つの小領域に分けた色情報格納領域において、インデクス番号ｉ(０≦ｉ≦１２７)とｉ＋１２８に格納されている色は、まったく同じ色に編集されていることは先に示した。従って、上記手段によりインデクス番号を変更しても、画像の見た目は一切変化しない。
【００３１】
図６は、画像に埋め込んだデータの抽出方式を示すフローチャートである。
まず、ステップ６０１で、領域分割数格納領域から、色情報格納領域の分割数を取得する。ステップ６０２で、画素情報格納領域のデータ（インデクス番号）を、１画素分取り出す。ステップ６０３で、取り出したデータに埋め込まれたビット値の判定を行う。ここでは、ステップ６０２で取り出したインデクス番号がｉ≦１２７の場合は、埋め込まれたビット値は“０”と判定し、インデクス番号がｉ≧１２８の場合は埋め込まれたビット値は“１”と判定する。
【００３２】
ステップ６０４で、取り出したデータに終了コードが出現したかチェックする。終了コードが出現するまで、ステップ６０２からステップ６０３までを繰り返す。終了コードが出現した時は、全ての埋め込み情報の取得が完了した場合であり、ステップ６０５で取得したビット値を結合する。この手順によって、最終的に得られたビット値の集合（但し、終了コードは除く）を先頭から順に結合したデータが、画像への埋め込みデータとなる。
【００３３】
図７は、本発明を記録媒体に記録するデータに適用した例である。
原画像７０１に対して埋め込みデータ７０２を、データ埋め込み手段７０３によって埋め込む。このデータ埋め込み画像を、媒体固有のフォーマット手段７０４でフォーマットした記録媒体７０５に記録することにより、データを埋め込んだ画像を記録した磁気ディスクや光ディスク等のメディアを作成することができる。
【００３４】
また、上述した埋め込み方法を実現するための処理をプログラムコード化してコンピュータ読み取り可能な磁気ディスクや光ディスクなどの記録媒体に記録することによって、本発明を市場に広く流通させることができる。
【００３５】
また、本実施例では、色情報格納領域を編集し、２つの小領域に分ける例を示したが、色情報格納領域を２つ以上に分け、それぞれの小領域に対応するビット値を定義しても問題無い。
【００３６】
【発明の効果】
本発明では、色数が少なくかつ単純な形状（または模様）で構成される比較的小サイズの画像に、多量の情報を品質を劣化させること無しに埋め込み、また埋め込んだ画像から情報を抽出することができる。
【図面の簡単な説明】
【図１】本発明における画像へのデータ埋め込み装置及びデータ抽出装置のシステム構成の一実施例を示す図である。
【図２】色情報格納領域と画素情報格納領域、領域分割数格納領域から成る画像データ構造の一例を示す図である。
【図３】本発明における画像へのデータ埋め込み方法の一実施例のフローチャートを示す図である。
【図４】画像データ構造中の色情報格納領域を編集する一実施例を示す図である。
【図５】画像データ構造中の画素情報格納領域のインデクス番号を変更する一実施例を示す図である。
【図６】本発明における画像からのデータ抽出方式の一実施例のフローチャートを示す図である。
【図７】本発明を、記録媒体に記録する画像データに適用した一実施例を示す図である。
【符号の説明】
１０１…データ埋め込み・抽出システム、１０２…データ埋め込み装置、１０３…色情報格納領域編集手段、１０４…画素情報格納領域変更手段、１０５…原画像、１０６…埋め込みデータ、１０７…データ埋め込み画像、１０８…データ抽出装置、１０９…画素情報格納領域のインデクス番号判定(ビット値抽出)手段、１１０…抽出したビット値の結合手段、１１１…データ埋め込み画像、１１２…埋め込みデータ、２０１…表示画像、２０２…表示画像のデータ構造、２０３…色情報格納領域、２０４…色情報格納領域におけるインデクス番号、２０５…インデクス番号に対応する色情報、２０６…画素情報格納領域、２０７…領域分割数格納領域、３０１…領域分割数の取得処理、３０２…色情報格納領域編集処理、３０３…画像中に埋め込むデータを１ビット分取得する処理、３０４…画素情報格納領域からインデクス番号を１画素分取得する処理、３０５…インデクス番号を変更する処理、３０６…埋め込み完了を判定する処理、３０７…終了コード埋め込み処理、４０１…色情報格納領域のビット値"０"に対応する小領域、４０２…色情報格納領域のビット値"１"に対応する小領域、５０１…画像への埋め込みデータ、５０２…画素情報格納領域内のデータ（インデクス番号）、５０３…終了コード、６０１…領域分割数の取得処理、６０２…画素情報格納領域のデータ取得処理、６０３…埋め込まれたビット値の判定処理、６０４…全埋め込み情報の取得完了判断処理、６０５…取得したビット値の結合処理、７０１…原画像、７０２…埋め込みデータ、７０３…データ埋め込み手段、７０４…媒体固有のフォーマット手段、７０５…記録媒体
【図１】
0003986226.tif 000002
【図２】
0003986226.tif 000003
【図３】
0003986226.tif 000004
【図４】
0003986226.tif 000005
【図５】
0003986226.tif 000006
【図６】
0003986226.tif 000007
【図７】
0003986226.tif 000008