(57)【要約】【課題】電子透かしの耐性を高め、非可逆圧縮画像を一旦ＲＧＢ画像に復元した後再度非可逆圧縮画像に戻しても電子透かしとして埋め込んでいる情報の抽出を可能にする。【解決手段】ＪＰＥＧ画像を逆符号化して得たＭＣＵのブロックに対して埋め込み情報を埋め込み、埋め込みが終了すると、ＲＧＢ画像を復元し、この復元したＲＧＢ画像を再び量子化する。そして、埋め込んだ埋め込み情報を抽出し正しく抽出できるかを確認する。これを複数回繰り返すことでＪＰＥＧ画像に対する埋め込み情報の耐性を高める。【選択図】      図６
2006319949.tif 000002
【特許請求の範囲】
【請求項１】
ＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に量子化を行って作成される非可逆圧縮画像に対して電子透かしを作成する電子透かし作成装置において、
量子化されたブロックに電子透かしとして埋め込み情報を埋め込む埋込手段と、
この埋込手段で埋め込み情報を埋め込んだブロックに対して逆量子化を行ってＲＧＢ画像を復元する復元手段と、
この復元したＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に量子化し、その量子化されたブロックから埋め込み情報を抽出する抽出手段と、
この抽出手段で埋め込み情報が正しく抽出されたかを確認する確認手段と、
この確認手段で前記埋め込み情報が正しく抽出されたことが確認できないときには、前記量子化されたブロックに再度電子透かしとして前記埋め込み情報を埋め込む再埋込手段と、
を具備することを特徴とする非可逆圧縮画像に対する電子透かし作成装置。
【請求項２】
前記再埋込手段は、前記確認手段で前記埋め込み情報が正しく抽出されたことが確認できるまで繰り返されることを特徴とする請求項１に記載の非可逆圧縮画像に対する電子透かし作成装置。
【請求項３】
前記抽出手段による埋め込み情報の抽出及び前記確認手段による前記埋め込み情報が正しく抽出されたかの確認を繰り返す回数の上限値を設定する上限値設定手段をさらに具備し、
前記抽出及び前記確認の繰り返しが前記上限値に達しても前記確認ができないときには、改めて前記埋め込み情報を埋め込んで前記抽出及び前記確認の繰り返しを終了させることを特徴とする請求項１に記載の非可逆圧縮画像に対する電子透かし作成装置。
【請求項４】
前記抽出手段による埋め込み情報の抽出及び前記確認手段による前記埋め込み情報が正しく抽出されたかの確認を繰り返す回数の下限値を設定する下限値設定手段をさらに具備し、
前記繰り返し回数が前記下限値に達するまでは前記抽出及び前記確認の繰り返しで前記埋め込み情報が正しく抽出されたことが確認できたとしても、前記抽出手段による埋め込み情報の抽出及び前記確認手段による前記埋め込み情報が正しく抽出されたかの確認を繰り返すことを特徴とする請求項１又は３に記載の非可逆圧縮画像に対する電子透かし作成装置。
【請求項５】
ＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に直交変換、この直交変換により得られた係数の量子化及びこの量子化された係数の符号化を行って作成される非可逆圧縮画像に対して電子透かしを作成する場合に、
量子化されたブロックに電子透かしとして埋め込み情報を埋め込み、この埋め込み情報を埋め込んだブロックに対して逆量子化、逆直交変換を順次行った後、ブロックの再結合、色変換を行ってＲＧＢ画像に復元し、
この復元したＲＧＢ画像を、再度、色変換、複数ブロックへの分割、ブロック毎の直交変換及び量子化し、再度量子化されたブロックから埋め込み情報が抽出できるか確認を行い、埋め込み情報が抽出できなかったときには量子化されたブロックに再度電子透かしとして埋め込み情報を埋め込むことを特徴とする非可逆圧縮画像に対する電子透かし作成方法。
【請求項６】
ＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に直交変換、この直交変換により得られた係数の量子化及びこの量子化された係数の符号化を行って作成される非可逆圧縮画像に対して電子透かしを作成する場合に、
量子化されたブロックに電子透かしとして埋め込み情報を埋め込み、この埋め込み情報を埋め込んだブロックに対して逆量子化、逆直交変換を順次行った後、ブロックの再結合、色変換を行ってＲＧＢ画像に復元し、
この復元したＲＧＢ画像を、再度、色変換、複数ブロックへの分割、ブロック毎の直交変換及び量子化し、再度量子化されたブロックから埋め込み情報が抽出できるか確認を行い、埋め込み情報が抽出できなかったときには量子化されたブロックに再度電子透かしとして埋め込み情報を埋め込んで、ＲＧＢ画像への復元、この復元したＲＧＢ画像の再量子化を行って再度埋め込み情報の抽出確認を行い、この埋め込み情報の埋め込みから抽出確認までを埋め込み情報が抽出できるまで繰り返すことを特徴とする非可逆圧縮画像に対する電子透かし作成方法。
【請求項７】
埋め込み情報の抽出確認の繰り返し回数の上限値を設定し、抽出確認の繰り返し回数が上限値に達しても埋め込み情報が抽出できないときには、改めて埋め込み情報を埋め込んで抽出確認を終了させることを特徴とする請求項６記載の非可逆圧縮画像に対する電子透かし作成方法。
【請求項８】
コンピュータに、
ＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に直交変換、この直交変換により得られた係数の量子化及びこの量子化された係数の符号化を行って作成される非可逆圧縮画像に対して電子透かしを作成する場合に、
量子化されたブロックに電子透かしとして埋め込み情報を埋め込む手順と、
この埋め込み情報を埋め込んだブロックに対して逆量子化、逆直交変換を順次行った後、ブロックの再結合、色変換を行ってＲＧＢ画像に復元する手順と、
この復元したＲＧＢ画像を、再度、色変換、複数ブロックへの分割、ブロック毎の直交変換及び量子化する手順と、
再度量子化されたブロックから埋め込み情報が抽出できるか確認を行い、埋め込み情報が抽出できなかったときには量子化されたブロックに再度電子透かしとして埋め込み情報を埋め込む手順と、
を実行させることを特徴とする非可逆圧縮画像に対する電子透かし作成プログラム。
【請求項９】
コンピュータに、
ＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に直交変換、この直交変換により得られた係数の量子化及びこの量子化された係数の符号化を行って作成される非可逆圧縮画像に対して電子透かしを作成する場合に、
量子化されたブロックに電子透かしとして埋め込み情報を埋め込む手順と、
この埋め込み情報を埋め込んだブロックに対して逆量子化、逆直交変換を順次行った後、ブロックの再結合、色変換を行ってＲＧＢ画像に復元する手順と、
この復元したＲＧＢ画像を、再度、色変換、複数ブロックへの分割、ブロック毎の直交変換及び量子化する手順と、
再度量子化されたブロックから埋め込み情報が抽出できるか確認を行い、埋め込み情報が抽出できなかったときには量子化されたブロックに再度電子透かしとして埋め込み情報を埋め込んで、ＲＧＢ画像への復元、この復元したＲＧＢ画像の再量子化を行って再度埋め込み情報の抽出確認を行い、これを繰り返す手順と、
を実行させることを特徴とする非可逆圧縮画像に対する電子透かし作成プログラム。
【請求項１０】
埋め込み情報の抽出確認の繰り返し回数の上限値を設定し、抽出確認の繰り返し回数が上限値に達しても埋め込み情報が抽出できないときには、改めて埋め込み情報を埋め込んで抽出確認を終了させる手順と、
を実行させることを特徴とする請求項９記載の非可逆圧縮画像に対する電子透かし作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＰＥＧ画像などの非可逆圧縮画像に対する電子透かし作成方法及び電子透かし作成プログラムに関する。
【背景技術】
【０００２】
従来、ＪＰＥＧ画像などの非可逆圧縮画像に対して電子透かしを作成するための埋め込み情報を埋め込み、この埋め込んだ情報を非可逆圧縮画像から抽出する場合には、画像への圧縮処理の中で非可逆処理が全て終了した段階の画像データを対象に行っていた。例えば、ＪＰＥＧ画像に対して電子透かしを作成する場合は、ＲＧＢ画像からＪＰＥＧ画像を作成する過程では量子化処理後で符号化処理する前、また、ＪＰＥＧ画像を使用する場合はＪＰＥＧ画像を逆符号化処理した後で逆量子化する前において、量子化された係数に対して埋め込み情報の埋め込みが行われる（例えば、特許文献１参照）。
【特許文献１】特許第３０９８５１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の非可逆圧縮画像に対して作成される電子透かしは耐性が十分に図られていないため、例えば、電子透かしの入っている非可逆圧縮画像を、機器の仕様に応じた圧縮率の非可逆圧縮画像にするために、一旦、逆符号化、逆量子化、逆直交変換、ブロックの再結合、色変換を行ってＲＧＢ画像に復元し、その後に復元したＲＧＢ画像を、再度、色変換、複数ブロックへの分割、直交変換、量子化、符合化して圧縮率の異なる非可逆圧縮画像にした場合に、電子透かしとして埋め込んでいる情報の抽出ができなくなる可能性が高かった。
【０００４】
そこで、本発明は、電子透かしの耐性を高め、非可逆圧縮画像を一旦ＲＧＢ画像に復元した後再度非可逆圧縮画像に戻しても電子透かしとして埋め込んでいる情報の抽出ができる非可逆圧縮画像に対する電子透かし作成装置、電子透かし作成方法及び電子透かし作成プログラムを提供する。
【課題を解決するための手段】
【０００５】
本発明は、ＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に量子化を行って作成される非可逆圧縮画像に対して電子透かしを作成する電子透かし作成装置において、量子化されたブロックに電子透かしとして埋め込み情報を埋め込み、この埋め込み情報を埋め込んだブロックに対して逆量子化を行ってＲＧＢ画像を復元し、この復元したＲＧＢ画像を色変換して複数ブロックに分割した後、ブロック毎に量子化し、その量子化されたブロックから埋め込み情報を抽出し、この抽出した埋め込み情報が正しく抽出されたかを確認し、この確認した埋め込み情報が正しく抽出されたことが確認できないときには、量子化されたブロックに再度電子透かしとして埋め込み情報を埋め込むものである。
【発明の効果】
【０００６】
本発明によれば、電子透かしの耐性を高め、非可逆圧縮画像を一旦ＲＧＢ画像に復元した後再度非可逆圧縮画像に戻しても電子透かしとして埋め込んでいる情報の抽出ができる非可逆圧縮画像に対する電子透かし作成装置、電子透かし作成方法及び電子透かし作成プログラムを提供できる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態を、図面を参照して説明する。  
（第１の実施の形態）
先ず、第１の実施の形態について述べる。図１において、１は非可逆圧縮画像であるＪＰＥＧ画像２と埋め込み情報３を取り込み、ＪＰＥＧ画像２に埋め込み情報３を埋め込んで、ＪＰＥＧ画像２に対する電子透かしの作成を行う電子透かし作成装置１で、この装置１から埋め込み情報３を埋め込んで電子透かしを作成した電子透かし画像４を出力している。埋め込み情報３としては、例えば、数値やテキストなどのクーポン情報や商品券情報や会員情報があり、電子透かし画像４は、例えば、電子クーポンや電子商品券や電子会員証として利用できる。
【０００８】
前記電子透かし作成装置１は、図２に示すように、ＣＰＵ、ＲＯＭ、ＲＡＭなどからなり、各種アプリケーションを実行するアプリケーション実行部１１と、ＲＡＭなどの書き換え可能なメモリからなる記憶部１２と、キー入力部１３と、画像やテキストなどの情報を表示する表示部１４と、外部への情報の入出力を行う情報入出力部１５を設けている。この電子透かし作成装置１は、例えば、サーバや携帯電話やＰＯＳ端末等に備えられる。
【０００９】
前記アプリケーション実行部１１は、図３に示すように、前記情報入出力部１５からＪＰＥＧ画像２を取得するとともに前記記憶部１２からもＪＰＥＧ画像を取得する画像入力機能２１、前記情報入出力部１５から埋め込み情報３を取得するとともに前記キー入力部１３や記憶部１２からも埋め込み情報を取得する埋め込み情報入力機能２２、ＪＰＥＧ画像に対して埋め込み情報を埋め込む際において埋め込み条件を必要とする場合に、前記キー入力部１３や情報入出力部１５や記憶部１２から埋め込み条件を取得する埋め込み条件入力機能２３を備えている。また、前記画像入力機能２１が取得したＪＰＥＧ画像に、前記埋め込み情報入力機能２２が取得した埋め込み情報を、前記埋め込み条件入力機能２３が取得した埋め込み条件に従って埋め込む情報埋め込み機能２４、前記画像入力機能２１が取得した電子透かし画像から埋め込み情報を抽出する情報抽出機能２５をそれぞれ実行するアプリケーションプログラムを備えている。前記情報埋め込み機能２４は、埋め込み条件入力機能２３において埋め込み条件の取得がない場合は、内部に持っている予め決められた条件のもとに情報の埋め込みを行うようになっている。
【００１０】
図４は一般的なＪＰＥＧ画像の圧縮、復号処理を示す図で、圧縮処理では、各画素がＲＧＢの値で表示されているＲＧＢ画像５に対して、Ｓ１にて、各画素を輝度（Ｙ）、色相（Ｃb，Ｃr）の値で表すように色変換を行う。そして、Ｓ２にて、色変換した画像に対して、色相成分のダウンサンプリング処理を行う。ここでダウンサンプリング処理では、隣り合った値の平均をとり、画像のサイズを１／２、１／４等に縮小する。
【００１１】
次に、Ｓ３にて、Ｙ、Ｃb、Ｃr成分で表されている画像を８×８のブロックに分割する。続いて、Ｓ４にて、分割した８×８のブロックに、直交変換として２次元離散コサイン変換（ＤＣＴ）を行い、Ｓ５にて、離散コサイン変換された係数に量子化処理を行う。量子化された８×８のブロックは、図５に示すように、０番目に直流成分、１〜６３番目に交流成分の低周波成分〜高周波成分が並ぶように並び替えを行う。そして、Ｓ６にて、ランレングス符号化とハフマン符号化の２つの処理からなる符号化を行い画像の圧縮処理を行う。符号化処理では、８×８のブロックを複数のＹ成分とＣb成分とＣr成分でまとめた、ＭＣＵ（minimum coded unit)と呼ばれる単位ごとに行う。こうして、ＪＰＥＧ画像６を作成する。
【００１２】
そして、このＪＰＥＧ画像６をＲＧＢ画像５に復元する場合は、圧縮処理の逆の流れで処理を行う。すなわち、Ｓ１１にて、ＭＣＵ毎にハフマン符号の復号化とランレングス符号の復号化からなる逆符号化処理を行い、ブロックを取り出す。次に、Ｓ１２にて、ブロック内の係数を８×８の２次元配列に並び替えるとともに逆量子化処理を行い、続いて、Ｓ１３にて、逆量子化された係数に対して、逆直交変換として、逆２次元離散コサイン変換（ＤＣＴ）を行う。そして、Ｓ１４にて、ブロックの結合を行い、Ｓ１５にて、ダウンサンプリングされたＣb成分、Ｃr成分の復元を行い、Ｓ１６にて、Ｙ、Ｃb、Ｃrの各成分のＲ、Ｇ、Ｂ成分への色変換を行い、ＲＧＢ画像５に復元する。
【００１３】
次に、ＪＰＥＧ画像に対して電子透かしを作成する処理について図６の流れ図に基づいて述べる。埋め込みを行う元画像はＪＰＥＧ画像でもＲＧＢ画像でもよく、ここで元画像としてＪＰＥＧ画像を使用した場合を例として述べる。  
先ず、Ｓ２１にて、埋め込み情報を取得し、それをビット単位に分割する。次に、Ｓ２２にて、ＪＰＥＧ画像を取得し、逆符号化処理を行う。すなわち、ハフマン符号の復号とランレングス符号の復号を行い、ブロック毎に量子化処理された状態の係数を取得する。この逆符号化処理は、前述したＭＣＵ単位で行い、それ以降の情報の埋め込み処理もＭＣＵ単位で行う。
【００１４】
続いて、Ｓ２３にて、ＭＣＵ内のブロックに対して、後述する情報の埋め込み処理を行う（埋込手段）。そして、情報の埋め込みが終了すると、Ｓ２４にて、ブロックを逆量子化し、逆直交変換として逆ＤＣＴ変換し、ダウンサンプリングの復元を行い、さらにＭＣＵ内でのブロック結合及び色変換を行い、１つのＭＣＵをＲＧＢ形式の画像に復元する（復元手段）。続いて、Ｓ２５にて、ＲＧＢ形式まで復元した画像を再度、色変換、ブロック分割、ＤＣＴ変換するＪＰＥＧ圧縮処理を量子化処理まで行う。そして、量子化処理されたブロックから、Ｓ２６にて、後述する情報の抽出処理を行い（抽出手段）、Ｓ２７にて、埋め込まれた情報が正しく抽出できたか確認する（確認手段）。
【００１５】
もし、情報が正しく抽出できなかった場合は、Ｓ２８にて、現在の繰り返し回数と予め設定した上限値を比較する。現在の繰り返し回数が上限値に達していなければ、Ｓ２９にて、現在の繰り返し回数に１を加算した後、Ｓ２３に戻って再度情報の埋め込みを行う（再埋込手段）。なお、繰り返し回数の上限値は、例えば、アプリケーション実行部１１内のＲＡＭに設定記憶される（上限値設定手段）。また、現在の繰り返し回数が上限値に達していると、Ｓ３０にて、情報の埋め込み処理を行う。これにより、上限値まで繰り返し情報の埋め込みを行っても埋め込み情報が正しく抽出でなかったときには情報の埋め込みを行ってから埋め込み処理を終了させることができる。そして、情報の埋め込みが終了すると、Ｓ３１にて、全ての埋め込み情報の埋め込みが終了したかを判断する。
【００１６】
また、Ｓ２７にて埋め込まれた情報が正しく抽出できたことを判断した時には、Ｓ３２にて、現在の繰り返し回数と予め設定した下限値を比較する。なお、繰り返し回数の下限値は、例えば、アプリケーション実行部１１内のＲＡＭに設定記憶される（下限値設定手段）。現在の繰り返し回数が下限値に達していなければ、Ｓ３３にて、現在の繰り返し回数に１を加算した後、Ｓ２３に戻って再度情報の埋め込みを行う。これは、例えば、１回の埋め込み処理で情報が正しく抽出できても、耐性が不十分であるとして埋め込み処理を複数回繰り返させるためである。また、現在の繰り返し回数が下限値に達していると、Ｓ３１にて、全ての埋め込み情報の埋め込みが終了したかを判断する。
【００１７】
Ｓ３１にて埋め込み情報がまだ残っていることを判断すると、Ｓ２２に戻り、次のＭＣＵに対する情報の埋め込み処理を行う。また、Ｓ３１にて全ての埋め込み情報の埋め込みが終了したことを判断すると、Ｓ３４にて、情報が埋め込まれたＭＣＵと情報が埋め込まれていないＭＣＵを合わせて符号化処理を行い、電子透かしが作成されたＪＰＥＧ画像を作成する。このようにして、ＪＰＥＧ画像を構成する複数のＭＣＵブロックの一部あるいは全部に対する埋め込み情報の埋め込みが行われる。
【００１８】
次にＭＣＵの１つのブロックデータに対する埋め込み情報の埋め込みについて述べる。図５にＪＰＥＧ画像を逆符号化して取得した１つのブロックデータを示す。このブロックデータは、０番目から６３番目までの６４個の係数からなり、０番目が直流成分、１〜６３番目が交流成分を表し、交流成分は低周波成分（１番目）〜高周波成分（６３番目）と並んでいる。そして、１番目から６３番目の交流成分の中から特定値として１つを選択し、この特定値と予め設定した評価値との大小関係を調整することで、０又は１の１ビットの情報を埋め込む。
【００１９】
例えば、逆符号化して取得した１つのブロックデータの係数（量子化後の係数）が、
「-3 23 26 33 7 56 15 -17 -11 28 15 -5 -1 4 18 4 -7 -5 -2 0 11 4 -2 -3 -3 0 1 4 1 -2 -1 -1 0 -1 -1 1 0 0 -1 -1 -1 0 0 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0」
であり、これを逆量子化し、かつ並び替えを行ったデータが、
「-24 138 280 120 216 80 104 31 156 42 -119 40 -91 29 -60 0 231 -77 -8 -60 0 -29 0 -28 196 -45 -22 -45 -26 -44 0 0 135 0 -57 0 -34 0 0 0 132 -36 -28 -32 0 0 0 0 100 -32 0 -44 0 0 0 0 36 0 -48 0 0 0 0 0」
とする。そして、特定値として１０番目の係数を選択すると、−１１９となる。また、評価値として、直流成分（０番目）と特定値（１０番目）を除いた残りの係数の絶対値の平均値を使用すると、「４６」となる。
【００２０】
そして、この評価値「４６」と特定値の絶対値｜−１１９｜を比較する。｜−１１９｜＞４６となっているので、これはビット「１」を示す。従って、このときの埋め込み情報が「１」であればこの特定値をそのままにする。また、埋め込み情報が「０」であれば、この特定値の絶対値が４６以下になるように変更操作する。例えば、量子化後の値を「０」にする。すなわち、逆量子化したデータの特定値（１０番目）は量子化後のデータでは７番目の「−１７」が該当するので、この値を「０」にする。なお、特定値を変更する操作は量子化前の「−１１９」に対して行っても良い。また、特定値を何番目にするかは、アプリケーション実行部１１の埋め込み条件入力機能２３が取得する値から決定しても、情報埋め込み機能２４が予め持っている値から決定しても、どちらでも良い。
【００２１】
前述した図６におけるＳ２３及びＳ３０の情報の埋め込み処理は上述した内容で行われ、図７に示す流れ図に基づいて行われる。  
先ず、Ｓ４１にて、ＭＣＵの１つのブロックデータを逆量子化する。続いて、Ｓ４２にて、特定値(逆量子化されたブロックデータの１０番目の値)と直流成分（０番目）を除いたブロックデータの絶対値の平均値を求め、評価値とする。そして、Ｓ４３にて、特定値と評価値の絶対値を比較する。特定値が評価値以下の場合、Ｓ４４にて、埋め込み情報が「０」か否かを調べる。埋め込み情報が「０」の場合は、この埋め込み処理を終了する。
【００２２】
また、埋め込み情報が「１」の場合は、Ｓ４５にて、特定値が０以上か調べる。特定値が０以上の場合は、Ｓ４６にて、特定値を量子化した値、すなわち逆量子化処理の前の値に１を加算する。また、特定値が０未満の場合は、Ｓ４７にて、特定値を量子化した値、すなわち逆量子化処理の前の値から１を減算する。
【００２３】
また、Ｓ４３の比較において、特定値が評価値を超えていることを判断すると、続いて、Ｓ４８にて、埋め込み情報が「０」か否かを調べる。埋め込み情報が「０」でない、すなわち、「１」の場合は、この埋め込み処理を終了する。また、埋め込み情報が「０」の場合は、Ｓ４９にて、特定値を量子化した値、すなわち、逆量子化処理の前の値を０にする。
【００２４】
特定値と評価値との大小関係を判断するブロックデータは、逆量子化前(量子化された状態)のデータでも、逆量子化後(量子化されていない状態)のデータのどちらでも良い。また、大小関係を調整するブロックデータも、逆量子化前(量子化された状態)のデータでも、逆量子化後(量子化されていない状態)のデータのどちらでも良い。特定値と評価値に量子化された状態のブロックデータを用いる場合は、Ｓ４１の逆量子化処理を行わず、Ｓ４２では量子化された状態のブロックデータを評価値の計算に用いる。
【００２５】
また、ブロックへのデータの埋め込みは、ＭＣＵ内の全てのブロックに行っても良いし、予め選択したブロック、例えば、Ｙ成分のみとか、Ｃb成分、Ｃr成分だけに限定して行っても良い。また、１つのブロックに対して、１つの特定値のみ選択して埋め込み操作を行ったが、特定値を複数選択して複数ビット情報を埋め込んでも良い。この場合、どのブロックや特定値を埋め込みの対象としたかの情報は、埋め込み側と抽出側で共有する必要がある。
【００２６】
前述した図６におけるＳ２６の情報の抽出処理は、図８に示す流れ図に基づいて行われる。  
先ず、Ｓ５１にて、量子化前（逆量子化後）状態のブロックを１つ取得する。そして、Ｓ５２にて、ブロックデータの内、直流成分（０番目）と特定値(１０番目)を除いた残りの係数の絶対値の平均値を求め評価値とし、Ｓ５３にて、特定値と評価値の絶対値を比較する。特定値が評価値以下の場合は、Ｓ５４にて、抽出情報として「０」を抽出し、特定値が評価値を超えている場合は、Ｓ５５にて、抽出情報として「１」を抽出する。
【００２７】
情報の抽出処理は、情報の埋め込み処理に対応して行われる必要がある。対応する条件としては、情報の埋め込みにブロックデータ内のどの係数を特定値としたか、情報の埋め込み時の大小関係の評価に、量子化された状態のブロックデータを用いたか量子化前の状態のブロックデータを用いたかなどがある。
【００２８】
このように、ＪＰＥＧ画像に埋め込み情報を埋め込んで電子透かしを作成する場合に、ＪＰＥＧ画像を逆符号化して得たＭＣＵのブロックデータに対してビット情報を埋め込み、その後、このデータをＲＧＢ画像へ復元させ、さらに、ＲＧＢ画像から量子化した状態へ戻して情報の抽出を行って埋め込み情報が正しく抽出されたかを確認し、正しく抽出されたことを確認してもこれを再度繰り返し、ＲＧＢ画像へ複数回繰り返して復元させることでＪＰＥＧ画像に対する埋め込み情報の耐性を十分に高めることができる。
【００２９】
従って、埋め込み情報を埋め込んだＪＰＥＧ画像が、圧縮率の変更などによってＲＧＢ画像に復元され、再度ＪＰＥＧ画像に組み立てられることがあっても埋め込み情報を正しく抽出することができる。すなわち、埋め込まれた情報が、画像への再圧縮に対して高い耐性を持つ電子透かし画像を作成することができる。
【００３０】
また、繰り返し回数の上限値を大きくすると、情報の再圧縮に対する耐性は高くなるが、画像の劣化も大きくなる。下限値についても同様である。そのため、繰り返し回数により埋め込み情報の耐性と画像劣化とのバランス調整を行う必要がある。
【００３１】
なお、この実施の形態では、繰り返し処理を行う条件に、所定の上限値と下限値の両方を設けたがこれに限定するものではなく、上限値を設けず埋め込み情報が正しく抽出されるまで繰り返し処理を行うものであっても、また、下限値を設けず埋め込み情報が正しく抽出ができた場合は直ちにＳ３１の埋め込み情報の終了判断を行っても良い。なお、下限値を設定しなくても最低１回はＲＧＢ画像へ復元してから量子化したデータに戻して埋め込み情報の抽出を行うので、埋め込み情報の耐性を高めることはできる。
【００３２】
また、図９に示すように、上限値も下限値も設けずに、Ｓ２７にて、情報の正しく抽出できなかったことが確認されると、Ｓ３０にて、情報の埋め込み処理を行ってから、Ｓ３１の埋め込み情報の終了判断を行い、また、Ｓ２７にて、情報の正しく抽出できたことが確認されると、直ちにＳ３１の埋め込み情報の終了判断を行うようにしても良い。
【００３３】
また、情報の埋め込みと抽出処理に用いる評価値に対して、情報の埋め込み時にだけ、一定値を加えた値、または一定値を引いた値を評価値としても良い。例えば、情報埋め込み時の評価値として基準の評価値に＋１０したものを使用し、情報抽出時の評価値として基準の評価値をそのまま使用する。これにより、情報の埋め込みにより、特定値＞評価値の状態にする場合に、特定値は評価値より少なくとも１０以上大きくなる。また、画像への再圧縮処理により、特定値や評価値が変更したとしても、変更量が合わせて１０より小さければ、特定値＞評価値の関係が保たれるため、情報を正しく取り出すことが可能となる。また、情報の埋め込みにより、特定値＜評価値の状態にしたい場合には、情報埋め込み時の基準の評価値から一定値を引いたものを評価値とする。
【００３４】
このようにして、画像への再圧縮に対して高い耐性を持つ電子透かしを作成したＪＰＥＧ画像から埋め込み画像を抽出する場合は、図１０に示す電子透かし抽出装置７を使用する。前記電子透かし抽出装置７は電子透かし作成装置１が作成した電子透かし画像（電子透かしを作成したＪＰＥＧ画像）４を受け取り、抽出情報８を抽出する。なお、抽出情報８としては、例えば、数値やテキストなどのクーポン情報や商品券情報、会員情報からなる。これにより電子透かし画像４をクーポンや商品券、会員証として利用することができる。
【００３５】
前記電子透かし抽出装置７は、図１１に示すように、ＣＰＵ、ＲＯＭ、ＲＡＭなどからなり、各種アプリケーションを実行するアプリケーション実行部３１と、ＲＡＭなどの書き換え可能なメモリからなる記憶部３２と、キー入力部３３と、画像やテキストなどの情報を表示する表示部３４と、外部への情報の入出力を行う情報入出力部３５を設けている。この電子透かし抽出装置７は、例えば、サーバや携帯電話やＰＯＳ端末等に備えられる。
【００３６】
前記アプリケーション実行部３１は、図１２に示すように、前記情報入出力部３５から電子透かし画像４を取得するとともに前記記憶部３２からも電子透かし画像４を取得する画像入力機能４１、前記画像入力機能４１が取得した電子透かし画像から埋め込み情報を抽出する情報抽出機能４２を実行するアプリケーションプログラムを備えている。
【００３７】
この電子透かし抽出装置７が電子透かし画像から抽出情報８を抽出する処理は図１３の流れ図に基づいて行うようになっている。先ず、Ｓ６１にて、電子透かし画像である電子透かしを作成したＪＰＥＧ画像の逆符号化処理を行い、ＭＣＵを得る。すなわち、ハフマン符号の復号とランレングス符号の復号を行い、ブロック毎に量子化処理がなされた状態の係数を得る。このブロックの取得はＭＣＵ単位で行われ、その後の処理もＭＣＵ単位で行われる。
【００３８】
続いて、Ｓ６２にて、取得したＭＣＵ内の各ブロックに対して逆量子化処理を行う。そして、Ｓ６３にて、逆量子化されたブロックデータから埋め込み情報の抽出処理を行う。このときの抽出処理は、前述したＳ２６の抽出処理と同じであり、具体的には図７の処理と同じである。すなわち、１ビットずつ埋め込み情報を抽出する。
【００３９】
続いて、Ｓ６４にて、ＪＰＥＧ画像内の全てのＭＣＵについて処理を行ったか調べ、処理が終了していなければ、Ｓ６１に戻り、次のＭＣＵに対して情報の抽出処理を行う。また、全てのＭＣＵについて処理が終了していれば、Ｓ６５にて、抽出したビット情報の組み立てを行う。
【００４０】
これら情報の抽出処理は、情報の埋め込み処理に対応して行われる必要がある。対応させる条件としては、情報の埋め込みに、ブロックデータ内のどの係数を特定値としたか、量子化された状態のブロックデータを大小関係の評価に利用したか、ＭＣＵ内のどのブロックを埋め込み対象としたか等がある。なお、大小関係の評価に量子化された状態のブロックデータを用いた場合、Ｓ６２の逆量子化処理を行わず、評価値に量子化された状態のブロックデータを使い、情報の抽出を行うことになる。
【００４１】
（第２の実施の形態）
次に、第２の実施の形態について述べる。なお、前述した第１の実施の形態と同一の部分には同一の符号を付し詳細な説明は省略する。
【００４２】
次に非可逆圧縮画像としてＪＰＥＧ２０００画像９を用いる場合について説明をする。  
図１４は一般的なＪＰＥＧ２０００画像９の非可逆な圧縮、復号処理を示す図で、圧縮処理では、各画素がＲＧＢの値で表示されているＲＧＢ画像５に対して、Ｓ７１にて、各画素を輝度（Ｙ）、色相（Ｃb，Ｃr）の値で表すように色変換を行う。そして、Ｓ７２にて、離散ウェーブレット変換（ＤＷＴ）を行い、Ｓ７３にて、離散ウェーブレット変換された係数に量子化処理を行う。量子化された係数はブロックに分割され、Ｓ７４にて、係数モデリング、算術符号化などの処理を含むＥＢＣＯＴ（Embedded Block with Optimized Truncation）を符号化処理として行い、ＪＰＥＧ２０００画像９を作成する。
【００４３】
そして、このＪＰＥＧ２０００画像９をＲＧＢ画像５に復元する場合は、圧縮処理の逆の流れで処理を行う。すなわち、Ｓ７５にて、逆ＥＢＣＯＴ変換を逆符号化として行う。次に、Ｓ７６にて、逆量子化処理を行い、続いて、Ｓ７７にて、逆量子化された係数に対して、逆離散ウェーブレット変換を行う。そして、Ｓ７８にて、Ｙ、Ｃb、Ｃrの各成分のＲ、Ｇ、Ｂ成分への色変換を行い、ＲＧＢ画像５に復元する。
【００４４】
次に、ＪＰＥＧ２０００画像９に対して電子透かしを作成する処理について図１５の流れ図に基づいて述べる。埋め込みを行う元画像はＪＰＥＧ２０００画像９でもＲＧＢ画像でもよく、ここで元画像としてＪＰＥＧ２０００画像９を使用した場合を例として述べる。  
先ず、Ｓ８１にて、埋め込み情報を取得し、それをビット単位に分割する。次に、Ｓ８２にて、ＪＰＥＧ２０００画像９を取得し、逆符号化処理を行い、ブロック毎に分かれた量子化された状態の係数を取得する。
【００４５】
続いて、Ｓ２３にて、各ブロックに対して、前述した情報の埋め込み処理を行う（埋込手段）。ＪＰＥＧ２０００画像９の符号化処理を行うブロックは、高さと幅が４〜１０２４の範囲でかつ面積が４０９６以下の任意の値をとれるが、Ｓ２３と同じ方法を利用するために８×８のブロックサイズとする。そして、情報の埋め込みが終了すると、Ｓ８４にて、ブロックを逆量子化、逆ＤＷＴ変換、色変換を行い、ＲＧＢ形式の画像に復元する（復元手段）。続いて、Ｓ８５にて、ＲＧＢ形式まで復元した画像を再度、色変換、ＤＷＴ変換するＪＰＥＧ２０００圧縮処理を量子化処理まで行う。そして、量子化処理されたブロックから、Ｓ２６にて、前述した情報の抽出処理を行い（抽出手段）、Ｓ８７にて、埋め込まれた情報が正しく抽出できたか確認する。埋め込み処理Ｓ２３と同様に、ＪＰＥＧ２０００画像で符号化処理を行うブロックサイズを８×８とすることで、Ｓ２６の抽出処理を利用することができる。そして、Ｓ８７にて、埋め込まれた情報が正しく抽出できたか確認する（確認手段）。
【００４６】
もし、情報が正しく抽出できなかった場合は、Ｓ８８にて、現在の繰り返し回数と予め設定した上限値を比較する。現在の繰り返し回数が上限値に達していなければ、Ｓ８９にて、現在の繰り返し回数に１を加算した後、Ｓ２３に戻って再度情報の埋め込みを行う（再埋込手段）。なお、繰り返し回数の上限値は、例えば、アプリケーション実行部１１内のＲＡＭに設定記憶される（上限値設定手段）。また、現在の繰り返し回数が上限値に達していると、Ｓ９０にて、情報の埋め込み処理を行う。これにより、上限値まで繰り返し情報の埋め込みを行っても埋め込み情報が正しく抽出でなかったときには情報の埋め込みを行ってから埋め込み処理を終了させることができる。そして、情報の埋め込みが終了すると、Ｓ９１にて、全ての埋め込み情報の埋め込みが終了したかを判断する。
【００４７】
また、Ｓ８７にて埋め込まれた情報が正しく抽出できたことを判断した時には、Ｓ９２にて、現在の繰り返し回数と予め設定した下限値を比較する。なお、繰り返し回数の下限値は、例えば、アプリケーション実行部１１内のＲＡＭに設定記憶される（下限値設定手段）。現在の繰り返し回数が下限値に達していなければ、Ｓ９３にて、現在の繰り返し回数に１を加算した後、Ｓ８３に戻って再度情報の埋め込みを行う。これは、例えば、１回の埋め込み処理で情報が正しく抽出できても、耐性が不十分であるとして埋め込み処理を複数回繰り返させるためである。また、現在の繰り返し回数が下限値に達していると、Ｓ９１にて、全ての埋め込み情報の埋め込みが終了したかを判断する。
【００４８】
Ｓ９１にて埋め込み情報がまだ残っていることを判断すると、Ｓ８２に戻り、次のブロックに対する情報の埋め込み処理を行う。また、Ｓ９１にて全ての埋め込み情報の埋め込みが終了したことを判断すると、Ｓ９４にて、情報が埋め込まれたブロックと情報が埋め込まれていないブロックを合わせて符号化処理を行い、電子透かしが作成されたＪＰＥＧ２０００画像を作成する。このようにして、ＪＰＥＧ２０００画像９を構成する複数のブロックの一部あるいは全部に対する埋め込み情報の埋め込みが行われる。このようＪＰＥＧ２０００画像９に埋め込み情報が埋め込まれても、第１の実施の形態と同様に、ＪＰＥＧ２０００画像に対する埋め込み情報の耐性を高めることができる。
【００４９】
ＪＰＥＧ２０００画像９に情報を埋め込んだ電子透かし画像から抽出情報８を抽出する電子透かし抽出装置７の処理は図１６の流れ図に基づいて行うようになっている。先ず、Ｓ１０１にて、電子透かし画像である電子透かしを作成したＪＰＥＧ２０００画像の逆符号化処理を行い、ブロック毎に分かれた量子化された状態の係数を得る。
【００５０】
続いて、Ｓ１０２にて、取得した係数に対して逆量子化処理を行う。そして、Ｓ２６にて、逆量子化されたブロック単位のデータから埋め込み情報の抽出処理を行う。このときの抽出処理は、前述したＳ２６の抽出処理と同じであり、具体的には図７の処理と同じである。すなわち、１ビットずつ埋め込み情報を抽出する。続いて、Ｓ１０４にて、ＪＰＥＧ２０００画像内の全てのブロックデータについて処理を行ったか調べ、処理が終了していなければ、Ｓ１０１に戻り、次のブロックに対して情報の抽出処理を行う。また、全てのブロックについて処理が終了していれば、Ｓ１０５にて、抽出したビット情報の組み立てを行う。
【００５１】
これら情報の抽出処理は、情報の埋め込み処理に対応して行われる必要がある。対応させる条件としては、情報の埋め込みに、ブロックデータ内のどの係数を特定値としたか、量子化された状態のブロックデータを大小関係の評価に利用したか、８×８のブロックの大きさであるか等がある。なお、大小関係の評価に量子化された状態のブロックデータを用いた場合、Ｓ１０２の逆量子化処理を行わず、評価値に量子化された状態のブロックデータを使い、情報の抽出を行うことになる。
【００５２】
なお、この実施の形態では装置内部にアプリケーション実行部として発明を実施する機能を予め組み込んだものについて述べたが、これに限らず同様の機能を実施するプログラムをネットワークから装置内のコンピュータにダウンロードするようにしても良い。また、同様の機能を実施するプログラムを記録媒体に記憶させておき、装置内のコンピュータにインストールするようにしても良い。なお、記録媒体としては、プログラムを記憶でき、かつ装置が読み取り可能なＣＤ−ＲＯＭ等の記録媒体であれば良く、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施の形態に係る電子透かし作成システムを示すブロック図。
【図２】同電子透かし作成システムにおける電子透かし作成装置の要部構成を示すブロック図。
【図３】同電子透かし作成装置におけるアプリケーション実行部のプログラム機能を示すブロック図。
【図４】ＲＧＢ画像からＪＰＥＧ画像への圧縮処理及びＪＰＥＧ画像からＲＧＢ画像への復号処理を示す図。
【図５】ＭＣＵのブロックデータ構成を示す図。
【図６】同実施の形態における電子透かし作成装置のアプリケーション実行部による電子透かし作成処理を示す流れ図。
【図７】図６における情報埋め込み処理を詳細に示す流れ図。
【図８】図６における情報の抽出処理を詳細に示す流れ図。
【図９】同実施の形態における電子透かし作成装置のアプリケーション実行部による電子透かし作成処理の変形例を示す流れ図。
【図１０】同実施の形態に係る電子透かし抽出システムを示すブロック図。
【図１１】同電子透かし抽出システムにおける電子透かし抽出装置の要部構成を示すブロック図。
【図１２】同電子透かし抽出装置におけるアプリケーション実行部のプログラム機能を示すブロック図。
【図１３】同電子透かし抽出装置のアプリケーション実行部による電子透かし抽出処理を示す流れ図。
【図１４】本発明の第２の実施の形態に係る電子透かし作成装置のアプリケーション実行部による電子透かし作成処理を示す流れ図。
【図１５】図１４における情報埋め込み処理を詳細に示す流れ図。
【図１６】図１４における情報の抽出処理を詳細に示す流れ図。
【符号の説明】
【００５４】
１…電子透かし作成装置、１１…アプリケーション実行部、２１…画像入力機能、２２…埋め込み情報入力機能、２３…埋め込み条件入力機能、２４…情報埋め込み機能、２５…情報抽出機能。
【図１】
2006319949.tif 000003
【図２】
2006319949.tif 000004
【図３】
2006319949.tif 000005
【図４】
2006319949.tif 000006
【図５】
2006319949.tif 000007
【図６】
2006319949.tif 000008
【図７】
2006319949.tif 000009
【図８】
2006319949.tif 000010
【図９】
2006319949.tif 000011
【図１０】
2006319949.tif 000012
【図１１】
2006319949.tif 000013
【図１２】
2006319949.tif 000014
【図１３】
2006319949.tif 000015
【図１４】
2006319949.tif 000016
【図１５】
2006319949.tif 000017
【図１６】
2006319949.tif 000018