(57)【特許請求の範囲】
【請求項１】
画像データに付加情報を埋め込む画像処理方法であって、
複数画素又は複数の周波数成分を選択する選択工程と、
前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得工程と、
前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み工程を有し、
前記埋め込み工程は、前記付加情報を埋め込むかを判定する画素又は周波数成分と、前記付加情報を埋め込む画素又は周波数成分を互いに異なった画素又は周波数成分を用いることを特徴とする画像処理方法。
【請求項２】
画像データに付加情報を埋め込む画像処理方法であって、
複数画素又は複数の周波数成分を選択する選択工程と、
前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得工程と、
前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み工程を有し、
前記埋め込み工程は、前記複数画素のうち最大値と、前記複数画素のうち最小値との差分が所定の閾値より大きい場合に、前記付加情報を埋め込むことを特徴とする画像処理方法。
【請求項３】
画像データに付加情報を埋め込む画像処理方法であって、
複数画素又は複数の周波数成分を選択する選択工程と、
前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得工程と、
前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み工程を有し、
前記埋め込み工程は、前記複数画素又は複数の周波数成分を用いて、画像のエッジであるかを判定し、画像のエッジであると判定された場合に、前記付加情報を埋め込むことを特徴とする画像処理方法。
【請求項４】
前記埋め込み工程は、複数の画素又は複数の空間周波数成分の加算、減算、加重加算、加重減算のいずれかを用いて、前記差分値を配分し演算することを特徴とする請求項１〜３の何れか１項に記載の画像処理方法。
【請求項５】
画像データに付加情報を埋め込む画像処理装置であって、
複数画素又は複数の周波数成分を選択する選択手段と、
前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得手段と、
前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み手段を有し、
前記埋め込み手段は、前記付加情報を埋め込むかを判定する画素又は周波数成分と、前記付加情報を埋め込む画素又は周波数成分を互いに異なった画素又は周波数成分を用いることを特徴とする画像処理装置。
【請求項６】
画像データに付加情報を埋め込む画像処理装置であって、
複数画素又は複数の周波数成分を選択する選択手段と、
前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得手段と、
前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み手段を有し、
前記埋め込み手段は、前記複数画素のうち最大値と、前記複数画素のうち最小値との差分が所定の閾値より大きい場合に、前記付加情報を埋め込むことを特徴とする画像処理装置。
【請求項７】
画像データに付加情報を埋め込む画像処理装置であって、
複数画素又は複数の周波数成分を選択する選択手段と、
前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得手段と、
前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み手段を有し、
前記埋め込み手段は、前記複数画素又は複数の周波数成分を用いて、画像のエッジであるかを判定し、画像のエッジであると判定された場合に、前記付加情報を埋め込むことを特徴とする画像処理装置。
【請求項８】
前記埋め込み手段は、複数の画素又は複数の空間周波数成分の加算、減算、加重加算、加重減算のいずれかを用いて、前記差分値を配分し演算することを特徴とする請求項５〜７の何れか１項に記載の画像処理装置。
【請求項９】
請求項１〜４の何れかに１項に記載の画像処理方法を実行するコンピュータプログラムを記録したコンピュータ読出可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタル画像データに著しいダメージを与えることなく情報を付加する画像処理方法、装置及び媒体に関する。
【０００２】
【従来の技術】
従来、電子透かし技術はデジタルコンテンツの著作権を保護する手法として色々な方法が開発されて来た。この方法は、画像のデジタル情報の中に著作権保有者の名前・購入者のＩＤ等のデジタルコンテンツの取り扱い情報を、人間の眼に見えにくい様に埋め込み、違法コピーによる無断の使用を追跡可能とする手法として、電子流通業界におけるセキュリティ・著作権保護技術として最近注目を浴びている。この電子透かしに技術におけるデータの埋め込み方法として、種々の方法が提案されている。そのうちの一つの方法として、デジタル画像データの最下位ビットに情報を埋め込む方法がある。この方法は、デジタル化した画像データＸ（またはその空間周波数データ）にビット埋め込みを行うものであって１ビットの情報（０又は１）を画像データの中に埋め込む際、埋め込もうとした情報が０であるか１であるかにより、画像データの最下位ビット（ＬＳＢ）の値を変更するものである。例えば画像データが１０１である場合、その２進数表示は
画像データ“１０”→（１１００１０１）
であるが、今埋め込む値が“０”の場合は、ＬＢＳの値を０、“１”の場合はＬＳＢの値を１とした予め決めるとすると、画像データのＬＳＢに透かし情報が埋め込まれた事になる。即ち
埋め込み情報“０”→（１１００１００）
埋め込み情報“１”→（１１００１０１）
が、埋め込まれた後の画像データとして登録される。かかる埋め込まれた情報の検出のためにはこれらの画像データを読み込みそのＬＳＢを抽出することにより埋め込み情報を得る。この方法は簡単であるが、画像データにエラーが混入した場合や、画像処理を施した場合に埋め込まれた情報が損なわれることが生じる。例えば、１ビットのエラー情報が画像情報に加算された場合には、ＬＳＢに埋め込まれた情報が直接影響される。また画像に対して階調処理を託す、例えばガンマ変換を施した場合にはＬＳＢ値はしばしば変化を受ける。逆に言えば、これらの処理により埋め込まれた情報を簡単に除去或いは変更することが出来る。即ちこの方法は実用上耐性の弱いものといわれている。
【０００３】
この問題点を解決するために、画像データを再量子化することによって、耐性の強いものとする方法がある。図１を用いてこの方法を説明する。かかる方法はある指定した場所の画像データＸを幅ｈで再量子化する方法である。即ち、図１において、画像データＸを幅ｈで分割したとする。今画像データが１０進数の１０１であるとすると幅ｈを４とすると４、８、１２、１６、…、１００、１０４、……となり、画像データの値１０１を再量子化する候補として１００あるいは１０４が可能性がある。そこで以下のルールを設定する。
【０００４】
埋め込み情報“０”の時→再量子化データの偶数番目に量子化
埋め込み情報“１”の時→再量子化データの奇数番目に量子化
再量子化値１００は４Ｘ２５で奇数番目、１０４は４Ｘ２６で偶数番目となるため、埋め込み情報が“０”の時は前述のルールに従い偶数番目であるので１０４に、“１”の時は、奇数番目であるので１００に再量子化される。
【０００５】
埋め込まれた情報を検出するためには前述の再量子化方法に再量子化された画像データを幅ｈで割り、商を得る。
そこで商が奇数であれば→埋め込み情報“１”
商が偶数であれば→埋め込み情報“０”
なる２つの条件を満すルール（２）を用いて埋め込み情報を検出する。例えば画像データが１００、１０４のそれぞれの場合、かかるデータを幅４で割り、
１００／４＝２５→奇数であるので埋め込み情報“１”
１０４／４＝２６→偶数であるので埋め込み情報“０”
を得る。
【０００６】
ここで再量子化の幅ｈを大きくとれば、エラー耐性が向上する。例えば再量子化後の、画像データに１ビットのエラー情報が混在したとすると、
１００→１０１または９９
１０４→１０５または１０３となる。
そこでルール（２）を次の２つの条件を満すルール（３）として以下のように変更する。
【０００７】
（３）商を四捨五入したものが奇数であれば→埋め込み情報“１”
商を四捨五入したものが偶数であれば→埋め込み情報“０”
上記ルール（３）を用いれば、読み取り画像データを幅４で割り、
〔１０１／４〕＝２５、〔９９／４〕＝２５→奇数であるので埋め込み情報“１”
〔１０５／４〕＝２６、〔１０３／４〕＝２６→偶数であるので埋め込み情報“０”
を得る。従って、エラー耐性の強い透かし情報を得る事が出来るものである。ここで再量子化の幅ｈは、エラー耐性の強度を与えるパラメータとして利用目的に合わせて使い分ける事が出来る。そしてこの値は、埋め込み時と、検出時に同一の値を利用せねばならない為、鍵（Ｋｅｙ）情報として管理される。
【０００８】
【発明が解決しようとする課題】
かかる方法では幅ｈを変える事により、耐性の強い埋め込みが可能であるが、この様な方法では以下の問題点がある。
【０００９】
１）幅ｈを大きくとれば耐性が向上するが、画質が劣化する。
２）幅ｈを小さくとれば画質は向上するが、耐性は劣化する。
【００１０】
従って、画質と耐性とはお互いにトレードオフの関係にあり、一方をよくすると他方が悪くなり、両方を満足させる事は難しかった。
【００１１】
本発明は上述の課題を全て或いは少なくとも１つ解決することを目的とする。
【００１２】
また本発明は画質の劣化が少なく情報を埋め込むことができる様にすることをと他の目的とする。
【００１３】
また本発明は埋め込まれた情報を精度良く検出するに適した画像処理方法、装置、及び媒体を提供することを更に他の目的とする。
【００１４】
また本発明は耐性に優れた情報埋め込み方法を提供することを更に他の目的とする。
【００１５】
本発明は新規な機能を有する画像処理方法装置、媒体を提供することを更に他の目的とする。
【００１６】
本発明の他の目的及び特徴は以下に続く実施例及び図面から明らかになるであろう。
【００１７】
【課題を解決するための手段】
かかる目的を達成するため本発明の画像処理方法は、画像データに付加情報を埋め込む画像処理方法であって、複数画素又は複数の周波数成分を選択する選択工程と、前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得工程と、前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み工程を有し、前記埋め込み工程は、前記付加情報を埋め込むかを判定する画素又は周波数成分と、前記付加情報を埋め込む画素又は周波数成分を互いに異なった画素又は周波数成分を用いることを特徴とする。
また、かかる目的を達成するため本発明の画像処理方法は、画像データに付加情報を埋め込む画像処理方法であって、複数画素又は複数の周波数成分を選択する選択工程と、前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得工程と、前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み工程を有し、前記埋め込み工程は、前記複数画素のうち最大値と、前記複数画素のうち最小値との差分が所定の閾値より大きい場合に、前記付加情報を埋め込むことを特徴とする。
また、かかる目的を達成するため本発明の画像処理方法は、画像データに付加情報を埋め込む画像処理方法であって、複数画素又は複数の周波数成分を選択する選択工程と、前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得工程と、前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み工程を有し、前記埋め込み工程は、前記複数画素又は複数の周波数成分を用いて、画像のエッジであるかを判定し、画像のエッジであると判定された場合に、前記付加情報を埋め込むことを特徴とする。
かかる目的を達成するため本発明の画像処理装置は、画像データに付加情報を埋め込む画像処理装置であって、複数画素又は複数の周波数成分を選択する選択手段と、前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得手段と、前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み手段を有し、前記埋め込み手段は、前記付加情報を埋め込むかを判定する画素又は周波数成分と、前記付加情報を埋め込む画素又は周波数成分を互いに異なった画素又は周波数成分を用いることを特徴とする。
また、かかる目的を達成するため本発明の画像処理装置は、画像データに付加情報を埋め込む画像処理装置であって、複数画素又は複数の周波数成分を選択する選択手段と、前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得手段と、前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み手段を有し、前記埋め込み手段は、前記複数画素のうち最大値と、前記複数画素のうち最小値との差分が所定の閾値より大きい場合に、前記付加情報を埋め込むことを特徴とする。
また、かかる目的を達成するため本発明の画像処理装置は、画像データに付加情報を埋め込む画像処理装置であって、複数画素又は複数の周波数成分を選択する選択手段と、前記選択された複数画素又は複数の周波数成分を用いて決定される値と、前記付加情報に応じて決定される所定の値との差分値を取得する取得手段と、前記選択された複数画素又は複数の周波数成分うち、１つ以上の画素又は周波数成分の値に前記差分値を配分し演算を行うことにより、前記付加情報を埋め込む埋め込み手段を有し、前記埋め込み手段は、前記複数画素又は複数の周波数成分を用いて、画像のエッジであるかを判定し、画像のエッジであると判定された場合に、前記付加情報を埋め込むことを特徴とする。
【００３０】
【発明の実施の形態】
（実施例１）
図２は埋め込む情報１ビットを４画素の画素データ（あるいは４つの空間周波数コンポーネント）の組み合わせに埋め込むものである。ここでは連続した２Ｘ２の画素（又は空間周波数コンポーネント）（ａ，ｂ，ｃ，ｄ）を選んでいる。埋め込むデータとして４画素のデータの和、即ちａ＋ｂ＋ｃ＋ｄを対象とする。今例えば図３のように画像データが
ａ＝１０１，ｂ＝１０５，ｃ＝１２３，ｄ＝８０
であるとするとａ＋ｂ＋ｃ＋ｄ＝４０９となる。ここで再量子化の幅ｈを４とし、加算された結果に適用すると４、８、１２、１６、…、４０８、４１２、……となり、加算データの値４０９を再量子化する候補として４０８あるいは４１２が挙げられる。そこで以下のルール（４）を設定する。
【００３１】
埋め込み情報“０”の時→再量子化データの偶数番目に量子化
埋め込み情報“１”の時→再量子化データの奇数番目に量子化
再量子化値４０８は４Ｘ１０２で偶数番目、４１２は４Ｘ１０３で奇数番目となる。したがって埋め込み情報が“０”の時は偶数番目であるので４０８に、“１”の時は、奇数番目であるので４１２に再量子化される。再量子化された後の値をａ，ｂ，ｃ，ｄ各画素へ振り分ける方法は以下の様になる。前述の加算データの値と再量子化値との差分（＋３または−１）を次の様に振り分ける。
（Ａ）埋め込み情報“０”の時→４０８、差分−１
新しい画素値→ａ＝１０１，ｂ＝１０５，ｃ＝１２２，ｄ＝８０
（Ｂ）埋め込み情報“１”の時→４１２、差分＋３
新しい画素値→ａ＝１０２，ｂ＝１０６，ｃ＝１２４，ｄ＝８０
ここで、４つの画素のうち値を変化させる画素はその画素の値の大きい順に１づつ変え、上述の差分を満たすまでくり返している。
【００３２】
埋め込まれたデータの検出方法を説明する。このように変換された画像データを読み取り、加算画像データを幅ｈで割り、以下の２つの条件から成るルール（５）を判定する。
【００３３】
（５）商を四捨五入したものが奇数であれば→埋め込み情報“１”
商を四捨五入したものが偶数であれば→埋め込み情報“０”
と判定する。
【００３４】
上記ルール（５）を用いれば、読み取り加算画像データを幅４で割り、
（Ａ）〔４１２／４〕＝１０３＝１０３→奇数であるので埋め込み情報“１”
（Ｂ）〔４０８／４〕＝１０２→偶数であるので埋め込み情報“０”
を得る。エラー耐性については２Ｘ２のブロックに１ビットのエラーが混在したとすると、（Ａ）の場合、４０７あるいは、４０９がエラーが混在された結果となり、（Ｂ）の場合４１３、あるいは４１１がエラーが混在された結果となる。いずれの場合も前述のルール（３）で検出でき、耐性の強さは再量子化の幅ｈに見合った結果を得る事が出来る。ここで各画素の値は±１しか変化しておらず、画像劣化は視覚的には少ない。このように一般に再量子化による変化量を、複数画素にて分担する事により、画質劣化が視覚的に少なくなる。
【００３５】
（実施例２）
実施例１における、再量子化の幅ｈを８に変更すると、再量子化された後のデータは８、１６、３２、…、４０８、４１６、……となり、前述の加算データの値４０９を再量子化する候補として４０８あるいは４１６が挙げられる。再量子化値４０８は８Ｘ５１で奇数番目、４１６は８Ｘ５２で偶数番目となるため、埋め込み情報が“０”の時は（偶数番目であるので）４１６に、“１”の時は、（奇数番目であるので）４０８に再量子化される。ａ，ｂ，ｃ，ｄ各画素への振り分けを、加算値と再量子化値との差分Ｄ（＋７または−１）を次の様に行う。
（Ａ）埋め込み情報“０”の時→４１６、差分Ｄ＝＋７
加算量→Δａ＝２，Δｂ＝２，Δｃ＝２，Δｄ＝１
新しい画素値→ａ＝１０３，ｂ＝１０７，ｃ＝１２５，ｄ＝８１
（Ｂ）埋め込み情報“１”の時→４０８、差分Ｄ＝−１
加算量→Δａ＝０，Δｂ＝０，Δｃ＝−１，Δｄ＝０
新しい画素値→ａ＝１０１，ｂ＝１０５，ｃ＝１２２，ｄ＝８０
【００３６】
図４（Ａ），（Ｂ）は前述の例においてそれぞれの変化量を画素毎に示したものである。この差分Ｄの配分は以下のルールで決められる。
【００３７】
（６）Δ＝再量子化の幅ｈ値／画素数として
差分Ｄを、画像の値の大きい画素の順に順次Δづつ加算（減算）させていく。
最後に残差を与え、Ｄを０とする。
【００３８】
前述の（Ａ）の場合、差分Ｄ＝＋７であるので、Δ＝８／４＝２として、ｃ，ｂ，ａ，ｄ画素の順に２づつ加算していく。ｃ，ｂ，ａ画素の順に２、２、２と加算していき、残り１をｄに適用する。（Ｂ）の場合、差分Ｄ＝−１であるので、ｃ，ｂ，ａ，ｄ画素の順に２づつ減算していくはずであるが変化量が１であるのでｃ画素にのみ適用する。
【００３９】
ここで適用画素順位として、画像データの順の大きな順番にしたが、これは値が大きいほど変化量に対して割合が小さく、画質の劣化が少ないからである。実施例２の場合、再量子化の幅ｈが大きくなった分、実施例１に比べ更に耐性が向上する。実施例としてａ，ｂ，ｃ，ｄを同一の荷重での加算を行ったが、荷重（Ｐi ）を変えた加算、
Ｐ1 ａ＋Ｐ2 ｂ＋Ｐ3 ｃ＋Ｐ4 ｄ
を用いても可能である。
【００４０】
（実施例３）
同様に連続した２Ｘ２の画素（又は空間周波数コンポーネント）（ａ，ｂ，ｃ，ｄ）を選ぶ。ここで画像データを説明上、Ｘ1 ＝ｃ，Ｘ2 ＝ｂ，Ｘ3 ＝ａ，Ｘ4 ＝ｄとおく。この順番をＸi とし、加算データとして
（７）Ｘ1 −Ｘ2 ＋Ｘ3 −Ｘ4
の値を対象とする。図３の画像データにかかる変換を行うと以下の様になる。
ａ＝１０１，ｂ＝１０５，ｃ＝１２３，ｄ＝８０
Ｘ1 ＝１２３、Ｘ2 ＝１０５、Ｘ3 ＝１０１、Ｘ4 ＝８０
Ｘ1 −Ｘ2 ＋Ｘ3 −Ｘ4 ＝１２３−１０５＋１０１−８０＝３９
再量子化の幅ｈ＝４とすると、３６、４０が候補隣、前述の方法と同様にして、
（Ａ）埋め込み情報“０”の時→再量子化値４０（偶数値）、差分Ｄ＝＋１
（Ｂ）埋め込み情報“１”の時→再量子値３６（奇数値）、差分Ｄ＝−３
差分値Ｄ振り分け以下のように行う。Ｘi の差分値をＤi とすると（７）式より、
再量子化値＝（Ｘ1 ＋Ｄ1 ）−（Ｘ2 −Ｄ2 ）＋（Ｘ3 ＋Ｄ3 ）−（Ｘ4 ＋Ｄ4 ）（８）
＝Ｘ1 −Ｘ2 ＋Ｘ3 −Ｘ4 ＋Ｄ1 ＋Ｄ2 ＋Ｄ3 Ｄ4 （９）
新しい画素値→（Ｘ1 ＋Ｄ1 ），（Ｘ2 −Ｄ2 ），（Ｘ3 ＋Ｄ3 ），（Ｘ4 ＋Ｄ4 ）（１０）
これを上記（Ａ），（Ｂ）に適用すると、（６）式を用いて、
（Ａ）埋め込み情報“０”の時→再量子化値４０（偶数値）、差分Ｄ＝＋１
Ｄ1 ＝１
従って、画素値の大きい画素から差分の演算を行うので新しい画素値として、
Ｘ1 ＝１２４、Ｘ2 ＝１０５、Ｘ3 ＝１０１、Ｘ4 ＝８０
（Ｂ）埋め込み情報“１”の時→再量子化値３６（奇数値）、差分Ｄ＝−３
Ｄ1 ＝−１、Ｄ2 ＝−１、Ｄ3 ＝−１
従って、新しい画素値として、
Ｘ1 ＝１２２、Ｘ2 ＝１０６、Ｘ3 ＝１００、Ｘ4 ＝８０
となる。
【００４１】
実施例３の特徴は、２Ｘ２のブロックに切り出した画素に対して差分値を（１０）式で与えているため、ローカルな濃度がほぼ保存される事である。即ち、（Ｂ）の例でわかるように、Ｘ1 が−１、Ｘ2 が＋１、Ｘ3 が−１というように各画素の変過分が＋−の増減として施されるため、実施例の処理が行われた後４画素の平均データと処理前の平均データとの差が実施例２の場合に対して小さく、画質劣化が更に少なくなる。
【００４２】
（実施例４）
図５は、対象となる画素が離れている場合の実施例である。前述の実施例では図２に示すように互いに隣接する画素を用いてデータを埋め込んだが同図Ａ，Ｂ，Ｃ，Ｄに示されるように、４画素の配列の方法は数多く考えられる。本実施例の電子透かし技術の場合、解読を阻止する意味で、画素配列の情報をパラメータとして導入する事により、より複雑化し解読が困難となる。この画素配列情報は鍵情報のなかに入れて保管する。
【００４３】
今画像データを４Ｘ４のブロック配列にし、それぞれの画素配列を適用したとする。それぞれのパターンをマスク・パターンと呼ぶ事にする。図５Ａ，Ｂ，Ｃ，Ｄに示される各マスク・パターンを図６や、図７に示されるように順次変化させ、対応画素を変化させていく事により解読を困難にさせる事が出来る。これは乱数テーブルを用いて、より複雑性を増す事も可能である。但し乱数値はこのマスクパターンの数内で正規化し、検出時に再現可能であるとする。かかる乱数の発生方法は、埋め込み時と検出時で同一のものを使い、初期値を鍵情報として引き渡すものとする。このマスク・パターン内での透かし情報の埋め込み方法は、前述の方法を取るものとする。
【００４４】
（実施例５）
このマスク・パターンの決定方法は処理対策の画像データを実空間領域のデータとして得るか、空間周波数空間領域のデータとしてとるかで多少異なる。実空間の場合には、画像データの書き換えが周期的に行われるので、視覚的には繰り返しの周期パターンが目に付かないようにする方が好ましい。一般に人間の視覚特性上、画像データの変化の急峻な部分での微少変化は目に付きにくい事が分かっている。従って
（１）ブロック内の画像データの最大値Ｘmax と最小値Ｘmin との差分Δが、ある閾値ｐよりも大きいブロックに透かし情報を埋め込む。
（２）差分Δが、ある閾値ｐよりも小さい場合には、そのブロックに透かし情報を埋め込まずスキップする。
【００４５】
以上のルールに基づいて書き込みを行う事により、視覚特性上画質劣化は感じられなくなる。実際にこの判定を複数画素から成るブロックで行い、そのブロックで埋め込み情報に基づく画像データの増減を行った場合には、画像データが変化するために検出時に、誤動作を起こす怖れがある。即ち、判定において閾値近傍のデータに対して埋め込み情報に基づく差分値Ｄの各画素への配分の結果、データが変化し、検出時に判定が異なる結果をもたらす場合が生じる。従って判定と適用する画素とを空間的に分離する必要がある。図８において、周辺１２画素（１）は判定画素として用いられ、中心４画素（２）は埋め込みの適用画素として用いられる。一般に周辺画素で濃度変化が大きい場合は中心画素でも大きい事が推測される。一方周辺画素（１）自身は埋め込みによるデータの変化を受けないため判定は検出時においても常に正しく行われる。図９は２次元の画像データを４Ｘ４のブロックに分割し、各ブロックに適用したものである。前述の判定を用い、該当ブロックに１ビットづつ透かし情報を埋め込んでいく。埋め込みの方法は前述の実施例と同様である。例えば埋め込み情報が画像所有者のＩＤ番号として１０進数の５１番という数字を埋め込む場合には、これを２進数表示で
１０進数の“５１”＝（１１００１１）
となり、この１，１，０，０，１，１，の値を、該当するブロックに順次埋め込んでいく。
【００４６】
一方、中心４画素での埋め込みは、前述の実施例で示したようにノイズや画像処理の付加によるデータ変化に対し、耐性の向上が図られているが、判定画素（１）においては閾値と比較するために、閾値近傍の個所はノイズや画像処理により判定エラーが生じる。しかしながら、これは以下の方法で解決される。
【００４７】
埋め込む値の情報を、各ビットＭ回づつ繰り返して行う。例えば前述の埋め込み情報（１１００１１）の例では、各５回ずつ繰り返すものとすると、
〔（１１１１１）（１１１１１）（０００００）（０００００）（１１１１１）（１１１１１）〕
なるビット配列で埋め込むものとする。
【００４８】
検出は以下の方法で行う。
（１）判定画素群内の画像データの最大値Ｘmax と最小値Ｘmin との差分Δが、ある閾値ｐ＋ｑよりも大きいブロックに透かし情報を検出を行う。
（２）差分Δが、ある閾値ｐ＋ｑよりも小さい場合には、そのブロックに対し透かし情報の検出は行わずにスキップする。
【００４９】
ここでｑ値はノイズによって生じる誤差分でで一般に正の値をとる。例えばノイズにより１ビット（±１）のエラーが画像データに混入するものとすると、ｐ＋２なる数値が適用される。これにより検出時の判定は以下の様になる。
（１）埋め込み時に判定に該当せずスキップしたブロックは、検出には絶対に引っかからない。
（２）埋め込み時に判定で該当したブロックは、検出時に引っかからない個所がある。
【００５０】
以上から、ノイズ等の影響で埋め込み情報
〔（１１１１１）（１１１１１）（０００００）（０００００）（１１１１１）（１１１１１）〕
は、ノイズの影響で検出後、例えば
（１１１１１１１１１０００００００００１１１１１１１１１）
のように変化する。今、ノイズの影響は５ブロック中１ブロック位か、あるいはもっと良いと仮定すると、連続した５ビットがノイズによって４ビットになる可能性がある。そこで符号の変わり目でまず区切り、
〔（１１１１１１１１１）（０００００００００）（１１１１１１１１１）〕
とし、続いて、５ビット、４ビットの順に順次区切っていくと、
〔（１１１１１）（１１１１）（０００００）（００００）（１１１１１）（１１１１）〕
から、最終的に埋め込み符合列（１１００１１）が得られる。もし埋め込む情報が（１１１１１１）であるとすると、同様の埋め込み方法で合計３０ビットの“１”を埋め込む事になる。これが正しく検出されるためには、３ビット以上の連続量がある時に、検出可能であるとすると、３ブロック中に１ブロックの判定エラーが生じる程度の頻度であれば良い事がいえる。即ち３０ビットの連続した“１”が２８個の連続した“１”まで判定可能である。この様にして、判定においてもエラーや各種処理に対して耐性の強いものとなっている。
【００５１】
判定周囲画素の選び方は、全１２画素全てを対象とする必要はない。これは演算精度と、計算時間をどこまで許容出来るかで決定される。例えば、矩形ブロックの各辺から２画素づつ選び、計８画素で判定すべき判定周囲画素を選択する事も出来る。これにより判定の演算量を減少させる事が出来る。この時検出時にも同じ画素を使う必要がある事は言うまでもない。
【００５２】
（実施例６）
先の実施例では図９に示すようにブロックは互いに重複していないが本実施例では図１０に示すように隣接ブロックがお互いに重複している。判定のための周辺画素（１）が隣接ブロックと共有しあい、埋め込みブロック（２）の隣接との距離が短くなり、埋め込み対象となる画素数が増えている。従って、実施例５よりより多くの情報を埋め込む事が可能となるばかりか、判定結果を共有する事が可能で演算量も軽減される。
【００５３】
（実施例７）
図１１はＤＣＴ空間に埋め込んだ図である。ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）は、静止画像の圧縮標準であるＪＰＥＧや動画像圧縮標準のＭＰＥＧでよく知られた方式で、８Ｘ８のブロックに対してＤＣＴ変換が施され、８Ｘ８の周波数空間に変換される。このため、埋め込みはこの空間周波数空間にて行われる。図１１において、左上のすみ位置がＤＣ（直流）成分の値をあらわし、右側あるいは下にいくほど周波数が高くなるものとする。埋め込む透かし情報は視覚的に感知されにくくするためには画像のエッジ近傍に埋め込む事が必要で、これは空間周波数的には高周波領域に埋め込む事を意味する。しかしながら、圧縮特性として、画像の高周波成分は単調減少する傾向にあり、低い値は全て０にして圧縮率を向上させているので、あまり高周波数を対象とするほとんどのデータが０であるために埋め込む事ができない。そこで本実施例では比較的中程度の空間周波数のコンポーネントを選ぶ。図１１で埋め込み画素３ａ，３ｂ，３ｃは、それぞれ４画素単位の埋め込み領域で、例えば実施例１、２の方法で１ビット単位の情報を埋め込む事が出来る。従って図では３ビットの情報を一つのＤＣＴブロックで埋め込む事が出来る。ここで空間周波数コンポーネントで行った場合は、画像データの時と異なり、負数が生じる。この場合は絶対値を取り、全て正数に変換して行えば、今までの実空間での画像データの場合と同様に行う事が出来る。
【００５４】
次に、画像データとしての空間領域ないしは空間周波数領域を、判定領域と埋め込み領域とに分割し、判定領域の判定結果に基づき画質劣化が少ないと思われる領域にのみ埋め込み領域に情報の埋め込みを行う実施例について更に説明する。かかる実施例では、埋め込みの操作を画質に応じて適応的に行う事により、劣化が少なく耐性を向上させる事が出来るものである。その結果、以下の事が特徴として上げられる。
【００５５】
１）画質劣化が少なく、且つ耐性に優れている。
【００５６】
２）画像の特徴量を抽出しそれに応じて埋め込みを行うため、埋め込んだ個々の位置情報を検出時に受け渡す必要がなく、簡単である。
【００５７】
以下、かかる実施例８以降を説明する。
【００５８】
〔実施例８〕
図１２Ａは本発明の実施例で画像データを３Ｘ３のブロックに分割したものである。領域１は判定領域の画素、領域２のＸは埋め込み領域の画素を示す。領域１の８個の画素（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ）の値による演算により、埋め込み画像領域２の画素Ｘの値に埋め込み操作を行うか否かの判断を行う。判定は以下の方法で行う。
【００５９】
（４）
１）判定領域での画像エッジ量がある閾値より大きければ、エッジ領域と判断し、埋め込みを行う。
２）判定領域での画像エッジ量がある閾値より小さければ、平坦部と判断し、埋め込みを行わず、スキップする。
【００６０】
ここで、埋め込み領域は、前述の説明で示したように、再量子化の幅ｈを大きくとることにより耐性の向上が図られるが、判定領域ではある閾値と比較するため、その閾値近傍の出力値に対して検出エラーを生じる。即ち、検出時に於いてノイズや画像処理の付加により画像データに微少の変化が加えられた場合に判定エラーを生じ、検出が正しく作動しなくなるという事が起こる。実施例では、かかる問題点を以下の方法で解決する。
【００６１】
図１３は画像データのうちの判定に用いるためのビット配分を示したものである。今、画像データが８ビットの単色（モノクロ）画像であったとする。この８ビットデータを上位Ｍビットと下位Ｎビットに分けて考え、前述の判定にはこの上位Ｍビットのみを使うものとする。従って、下位Ｎビットは捨てられ、最初の８ビットの画像データはＭビットの画像データに再量子化された事になる。前述の画像エッジの有無の判断はこのＭビットのデータによって行われるために、Ｎビットの幅で再量子化された事になり、一般に耐性が向上する。
【００６２】
ここで図１２Ｂのデータを例にとって、図１４のフローチャートに沿って本実施例の動作を具体的に説明する。図１２Ｂにおいて画像データａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈは、１０進数で以下の値であるとする。
【００６３】
判定画素データ：ａ＝１８０，ｂ＝１２０，ｃ＝７０，ｄ＝１３８，ｅ＝５０，ｆ＝９０，ｇ＝８０，ｈ＝４０，
埋め込み画素データ：Ｘ＝１０１
ここで各判定画素データを２進数表示（…）すると、
ａ＝１８０＝（１０１１０１００），ｂ＝１２０＝（０１１１１０００），
ｃ＝７０＝（０１０００１１０），ｄ＝１３８＝（１０００１０１０），
ｅ＝５０＝（００１１００１０），ｆ＝９０＝（０１０１１０１０），
ｇ＝８０＝（０１０１００００），ｈ＝４０＝（００１０１０００）
となる。今ここでＭ＝４ビットとすると、それぞれの値から上位４ビットを取って、
ａ’＝１１＝（１０１１），ｂ’＝７＝（０１１１），
ｃ’＝４＝（０１００），ｄ’＝８＝（１０００），ｅ’３＝（００１１），
ｆ＝５＝（０１０１），ｇ’＝５＝（０１０１），ｈ’＝２＝（００１０）
なる値を再量子化後に得る。
【００６４】
かかる再量子化後の値を用いて図１４の判定４、５、６でエッジの有無の判定を行う。
【００６５】
まず、図１４の４のステップにおいて、Ｘ，Ｙ方向の各行、列の平均値を以下の式で算出する。
【００６６】
Ｘ1＝（ａ’＋ｂ’＋ｃ’）／３＝（１１＋７＋４）／３＝７．０３
Ｘ2＝（ｆ’＋ｇ’＋ｈ’）／３＝（５＋５＋２）／３＝４．０
Ｙ1＝（ａ’＋ｄ’＋ｆ’）／３＝（１１＋８＋５）／３＝８．０
Ｙ2＝（ｃ’＋ｅ’＋ｂ’）／３＝（４＋３＋２）／３＝３．０
かかる値から図１４の５のステップの計算により、平均の勾配Ｓは
Ｓ＝ＳＱＲＴ｛（Ｘ1−Ｘ2）2＋（Ｙ1＋Ｙ2）2｝＝５．
という値Ｓを得る。但しＳＱＲＴは平方根をあらわす。ここで図１４の６のステップの判定において閾値Ｓ0の値を３．０と設定すると、Ｓ＞Ｓ0となるため、この領域は画像エッジであると判断される。この閾値Ｓ0は判定の耐性を与える強度のパラメータで、この値を大きく取るとエラー耐性が向上する。即ちエラーや画像処理に強くなるが、反面、埋め込むブロックが少なくなり多くの情報を生め込む事ができなくなる。合理的な値は再量子化の幅ｈと連動して、もしｈ＝４であれば、下位２ビットが埋め込みデータの変動が起こりうるため、判定画素のデータとしては上位６ビットをとるようにすればよいわけである。即ち、画像データが８ビットであるとすると、
Ｍ＝８−（ｈに要するビット数）
を、Ｍの値とする。この事によりＭの値はｈの値に連動し、検出に必要なパラメータとして受け渡す鍵（Ｋｅｙ）に含ませる必要はなく、システムが簡素化できる。
【００６７】
以上の判定に基づいて、ステップ７において画像データＸの値１０１が、透かしデータをうみ込まれた値になる。即ち、埋め込み情報が“０”の時は偶数番目であるので１０４に、“１”の時は、奇数番目であるので１００に再量子化される。以上の動作が例えば全画像に対して終了するまで（ステップ８まで）行われる。
【００６８】
ここで図１４のステップ５、６におけるＴの値は、透かし埋め込み後の画素Ｘの値が負数になることを防ぐものである。即ち
Ｔ＝ｍｉｎ（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ）＝ｍｉｎ（１８０，１２０，７０，１３８，５０，９０．８０，４０）＝４０
となり、Ｔ0＝４とすると、Ｔ＞Ｔ0となるため、透かしの埋め込みが実行される。ここでｍｉｎ（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ）は、ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈの値の最小値を取るものとする。
【００６９】
図１２Ｃは別の画像データの例を示したものである。今までの方法と同様にしてＭ＝４であるとして、
Ｘ1＝（ａ’＋ｂ’＋ｃ’）／３＝（７＋７＋４）／３＝６．０
Ｘ2＝（ｆ’＋ｇ’＋ｈ’）／３＝（８＋５＋８）／３＝７．０
Ｙ1＝（ａ’＋ｄ’＋ｆ’）／３＝（７＋８＋８）／３＝２３／３
Ｙ2＝（ｃ’＋ｅ’＋ｂ’）／３＝（４＋７＋８）／３＝１９／３
かかる値から同図５の計算により、平均の勾配Ｓは
Ｓ＝ＳＱＲＴ｛（Ｘ1−Ｘ2）2＋（Ｙ1＋Ｙ2）2｝＝５／３＝１．６７＝＜Ｓ0＝３．０
となり、従ってこのブロックは画像のエッジ部と判定されず、透かしデータの埋め込みは行われない。
【００７０】
以上のようにして、判定、埋め込みともに耐性の強い電子透かしの埋め込みが出来る。
【００７１】
〔実施例９〕
この実施例では、判定領域の画像データに対して、上位Ｍビットをとるのではなく、もっと一般的に幅Ｈで再量子化する事を試みる。ルールとして
１）判定領域の画像データを幅Ｈで再量子化する。
２）かかる値の小数部を切り捨て、整数化する。
３）この値を用いてエッジ判定を行う。
４）実施例１と同様、エッジがあると判定された場合のみ透かしデータの埋め込みを行う。
【００７２】
図１２Ｂのデータを用いて具体的に説明する。今判定領域の再量子化の幅Ｈを６とすると、再量子化された後のデータは、１０進数で
ａ’＝３０，ｂ’＝２０，ｃ’＝１１，ｄ’＝２３，ｅ’＝８，ｆ’＝１５，
ｇ’＝１３，Ｈ’＝６
となる。同様の計算で、
Ｘ1＝（ａ’＋ｂ’＋ｃ’）／３＝（３０＋２０＋１１）／３＝２０．３３
Ｘ2＝（ｆ’＋ｇ’＋ｈ’）／３＝（１５＋１３＋６）／３＝１１．３３
Ｙ1＝（ａ’＋ｄ’＋ｆ’）／３＝（３０＋２３＋１５）／３＝２２．６７
Ｙ2＝（ｃ’＋ｅ’＋ｂ’）／３＝（１１＋８＋６）／３＝８．３３
かかる値から、平均の勾配Ｓは
Ｓ＝ＳＱＲＴ｛（Ｘ1−Ｘ2）2＋（Ｙ1＋Ｙ2）2｝＝１６．９２．
【００７３】
ここで、この閾値Ｓ0は前述と同様、判定の耐性を与える強度のパラメータで、この値を大きく取るとエラー耐性が向上する。即ちエラーや画像処理に強くなるが、反面、埋め込むブロックが少なくなり多くの情報を埋め込む事ができなくなる。
【００７４】
今Ｓ0を１０という値に設定したとすると、Ｓ＞Ｓ0となり、エッジであるという判定で透かし情報の埋め込みが行われる。
【００７５】
実施例８において、データの上位Ｍビットを抽出する事は、２のべき乗で再量子化するのと同様である。従って実施例１は実施例２の特別な場合に相当する。実施例２では２のべき乗以外の数値で再量子化が可能であるため、より細かい演算と幅広い対応が可能である。（一方、実施例１の上位Ｍビットを取る例は、データの単なるビット操作であるため簡単であるという特徴がある。）この再量子化の操作は、判定に用いるための計算だけであり、実際の画像データを直接書き換えているわけではない。従って、演算の手法が埋め込みと検出時とで同様な手法が取られれば良いわけで、判定２）の整数化は本質的ではなく、四捨五入でもよい。この再量子化の方法に基づく耐性の向上は、この切り捨てや、四捨五入の方法による整数値への丸め操作に基づくものであると言えよう。
【００７６】
図１５は実施例８、及び実施例９における埋め込み方法を実際の画像へ適用する方法を示したものである。図において１は判定領域、２は埋め込み画素を表す。図１５に示す本実施例のにおいて、画像データは３Ｘ３のブロックにより分割され、格子状に配列される。それぞれのブロックでの判定結果により、埋め込みが行われたり、スキップされたりする。
【００７７】
図１６は隣接ブロックの判定領域を重複させた場合である。実施例８で説明した平均値の計算においてＸ1、Ｘ2、Ｙ1、Ｙ2の値は、この図の場合、前後左右のブロックで重複しているため、前のブロックで用いた値が使えるために演算量を少なくする事が可能であると同時に、埋め込む対象画素を多くする事が可能である。前述のように判定の耐性を大きくするためには、再量子化の幅Ｈを大きくとらねばならず、そうすると判定により埋め込み候補が減少する。従って図１６のように対象ブロックを多く取ることが出来る事はこの問題を緩和する事が可能である。
【００７８】
〔実施例１０〕
図１７は判定領域の画素数を４画素に減らし、より多くの埋め込み領域を実現したものである。判定領域１は４画素ａ，ｂ，ｃ，ｄからなる。判定領域の画像データは、実施例１、及び２での再量子化手法によりａ’，ｂ’，ｃ（，ｄ’に変換される。かかる値を用いてエッジの判定として
Ｓ＝ｍａｘ（ａ’，ｂ’，ｃ’，ｄ’）−ｍｉｎ（ａ’，ｂ’，ｃ’，ｄ’）を計算し、Ｓ＞Ｓ0の場合にエッジがあるとする。但し、ｍａｘ（ａ’，ｂ’，ｃ’，ｄ’）はａ’，ｂ’，ｃ’，ｄ’データの最大値、ｍｉｎ（ａ’，ｂ’，ｃ’，ｄ’）は最小値を表すものとする。従って最大値と最小値の差が大きい場合にはそこにエッジがあると判断される。
【００７９】
図１８はこのブロックを用いて２次元の画像領域に当てはめたもので、十時型の各ブロックの判定領域をともに重複させる事により、より高密度に透かし情報を埋め込む事が可能である。
【００８０】
〔実施例１１〕
図１９はＤＣＴ空間に情報を埋め込む別の実施例を説明する図である。ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）は、静止画像の圧縮標準であるＪＰＥＧや動画像圧縮標準のＭＰＥＧでよく知られた方式で、８Ｘ８のブロックに対してＤＣＴ変換が施され、８Ｘ８の周波数空間に変換される。このため、埋め込み操作にはこの空間周波数空間にて行われる。図１９において、左上のかどがＤＣ（直流）成分をあらわし、右側あるいは下に行くほど周波数が高くなるものとする。埋め込む透かし情報は視覚的に感知されにくくするためには画像のエッジ近傍に埋め込む事が必要で、これは空間周波数的には高周波領域に埋め込む事を意味する。しかしながら、圧縮特性として、画像の高周波成分は単調減少する傾向にあり、低い値は全て０にして圧縮率を向上させているので、あまり高周波を対象とするとほとんどのデータが０であるために埋め込む事ができない。そこで本実施例では比較的中程度の空間周波数のコンポーネントを選ぶ。ある特定の周波数データを選びその値がある閾値よりも大きい時、画像エッジがあると判定される。
【００８１】
今、判定周波数成分ａ，ｂ，ｃの値について判定操作を施し、その判定結果により、ある特定の周波数成分のデータ３ａを埋め込みの対象とする手法について述べる。方法としては以下のように行う。
１）判定領域の周波数データａ，ｂ，ｃ，の値を幅Ｈで再量子化する。
２）かかる値の小数部を切り捨て、絶対値を取り整数化した値ａ’，ｂ’，ｃ’を得る。
３）この値を用いて平均データＳ＝Ａｖｅ（ａ’，ｂ’，ｃ’）＝（ａ’＋ｂ’＋ｃ’）／３を求める。
４）Ｓが閾値Ｓ0より大きければ、ある特定の周波数成分のデータ３ａに透かし情報の埋め込みを行う。
【００８２】
今、ａ’，ｂ’，ｃ’の値が、８ビットデータとして、１２０、−８９、９５なる値であったとする。再量子化の幅Ｈを６とすると、ａ’＝２０，ｂ’＝１４，ｃ’＝１５となり、Ｓ＝１６．３３となる。ここで符号は絶対値をとるものとする。閾値Ｓ0を１５とすると、このブロックにはエッジがあると判定し、特定の周波数成分３ａのデータに透かし情報が付加される。
【００８３】
同様な操作をｄ，ｅ，ｆの周波数成分に対して行い、エッジ判定されれば、周波数成分３ｂに透かし情報の書き込みを行う。以下同様の判定を周波数成分ｇ，ｈ，ｉに対しても行いその結果を特定周波数３ｃに対して行う。以上のようにして１つのＤＣＴブロックに対して最大３ビットの透かし情報が書き込まれる。
【００８４】
〔実施例１２〕
図２０は１つのＤＣＴブロックにより多くの透かし情報を埋め込むことが出来るように、埋め込みの特定周波数３ｄ，３ｅを増やしたものである。３ｄに対しては、判定の周波数としてｂ，ｃ，ｄを、３ｅに対しては、判定の周波数としてｆ，ｇ，ｈを用いる。従ってこの場合１つのＤＣＴブロックに対して５ビットの情報が埋め込まれる。
【００８５】
以上本実施例は以上のようにして、デジタル画像データの中に画質に著しいダメージを加える事無しに機密付加情報を埋め込むこ事が出来たものである。その特徴は埋め込む領域と、埋め込みの判定を行う領域とを分離し、埋め込みの判定を行う領域の画像データ、もしくは空間周波数データを、再量子化の幅Ｈで再量子化するか、あるいはデータの上位Ｍビットを取る事により耐性の強い判定と透かし情報の埋め込みが出来たものである。判定領域での再量子化の幅Ｈと、埋め込みの再量子化の幅ｈとは一般に独立で、それぞれ異なった値を取る事が可能である。その場合埋め込まれた情報を検出するために、受け渡す鍵（Ｋｅｙ）情報としては（Ｈ，ｈ）の両方が必要である。しかしながら両者ともに耐性をあらわすパラメータである為Ｈ＝ｈとする事も可能である。この時は鍵情報としてはＨのみ受け渡せばよい事は言うまでもない。
【００８６】
（本発明の他の実施形態）
本発明は複数の機器（たとえばホストコンピュータ、インターフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても一つの機器（たとえば複写機、ファクシミリ装置）からなる装置に適用してもよい。
【００８７】
また前述した実施形態の付加情報の埋め込み機能を実現する様に各種のデバイスを動作させる様に該各種デバイスと接続された装置あるいはシステム内のコンピュータに、前記実施形態機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）を格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも本願発明の範疇に含まれる。
【００８８】
またこの場合、前記ソフトウエアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【００８９】
かかるプログラムコードを格納する記憶媒体としては例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることが出来る。
【００９０】
またコンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本願発明の実施形態に含まれることは言うまでもない。
【００９１】
更に供給されたプログラムコードが、コンピュータの機能拡張がボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後のプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本願発明に含まれることは言うまでもない。
【００９２】
また本発明は請求項に記載した範囲内で種々の変更が可能である。
【００９３】
【発明の効果】
本発明に依れば従来よりも画質を劣化させることなく、耐性を向上させ、画像データに付加情報を埋め込むことができる。
【図面の簡単な説明】
【図１】従来の付加情報埋め込み方法を説明する図。
【図２】本実施例の付加情報の埋め込みの動作を説明する図。
【図３】図２の具体例を示す図。
【図４】図２に対応して付加情報を示す図。
【図５】付加情報が埋め込まれる画素の他の例を示す図。
【図６】付加情報が埋め込まれるブロックの他の例を示す図。
【図７】付加情報が埋め込まれるブロックの他の例を示す図。
【図８】付加情報が埋め込まれるブロックの判定を説明する図。
【図９】付加情報が埋め込まれるブロックの判定を説明する図。
【図１０】付加情報が埋め込まれるブロックの判定を説明する他の例を示す図。
【図１１】付加情報が埋め込まれる周辺数領域を示す図。
【図１２】本発明の更に別の実施例における与えられた画像データの例を示す図。
【図１３】画像データのうちの判定に用いるビット配分を示す図。
【図１４】本実施例の手順を示すフローチャート。
【図１５】埋め込み方法を説明する図。
【図１６】図１５において隣接ブロックの判定領域を重複させる図。
【図１７】判定領域の画素数を４画素とした例を示す図。
【図１８】図１７の判定領域を２次元の画像領域に割り当てた図。
【図１９】ＤＣＴ空間に情報を埋め込む別の実施例を説明する図。
【図２０】図１９において埋め込みの特定周波数を増やした例を説明する図。
【図１】
0003809297.tif 000002
【図２】
0003809297.tif 000003
【図３】
0003809297.tif 000004
【図４】
0003809297.tif 000005
【図５】
0003809297.tif 000006
【図６】
0003809297.tif 000007
【図７】
0003809297.tif 000008
【図８】
0003809297.tif 000009
【図９】
0003809297.tif 000010
【図１０】
0003809297.tif 000011
【図１１】
0003809297.tif 000012
【図１２】
0003809297.tif 000013
【図１３】
0003809297.tif 000014
【図１４】
0003809297.tif 000015
【図１５】
0003809297.tif 000016
【図１６】
0003809297.tif 000017
【図１７】
0003809297.tif 000018
【図１８】
0003809297.tif 000019
【図１９】
0003809297.tif 000020
【図２０】
0003809297.tif 000021