(57)【要約】【課題】  ＪＰＥＧ形式の画像に、電子透かしを埋め込むととともに、透かしを埋め込む前の画像データが復元できるようにする。  【解決手段】  最も高い周波数成分の量子化係数から低い周波数成分の量子化係数に向け、所定の探索順で探索して、最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）を探索する量子化係数値探索部と、最初に量子化係数値が０以外の値になる量子化係数Ｃｍの直前に探索した量子化係数Ｃｐを埋め込み対象の量子化係数として指定するとともに、量子化係数値が０である量子化係数が存在しないときには最も高い周波数成分の量子化係数Ｃｋｈを指定し、指定された量子化係数（Ｃｐ  or  Ｃｋｈ）に電子透かし情報または電子透かし欠落情報を埋め込む電子透かし情報埋め込み部と、電子透かし情報または電子透かし欠落情報が埋め込まれた量子化係数ブロックに対するエンロトピー符号化処理を実行するエントロピー符号化部とを備える。【選択図】図１
2009105767.tif 000002
【特許請求の範囲】
【請求項１】
ＪＰＥＧ形式による圧縮処理によって作成されるＪＰＥＧ画像符号化系列に電子透かし情報を埋め込むＪＰＥＧ画像用電子透かし埋込装置であって、
原画像データからＪＰＥＧ画像符号化系列を作成する際に、その圧縮処理過程で算出される各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列させた量子化係数ブロックを作成し、または、既に作成されたＪＰＥＧ画像符号化系列に対しＪＰＥＧ形式による復元処理を実行して、その復元処理過程で算出される各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列させた量子化係数ブロックを作成する量子化係数ブロック作成部と、
前記量子化係数ブロックの各量子化係数（Ｃｋ）を、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向け、予め設定された探索順で探索して、最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）を探索する量子化係数値探索部と、
探索結果に基づいて、量子化係数値が０である量子化係数が存在するときは前記探索順で最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）の直前に探索した量子化係数（Ｃｐ）を埋め込み対象の量子化係数として指定するとともに、量子化係数値が０である量子化係数が存在しないときには最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）を指定し、指定された量子化係数（Ｃｐ  or  Ｃｋｈ）に、電子透かし情報（ｗ）に対応する埋込値、または、電子透かし情報を含んでいない旨の電子透かし欠落情報に対応する埋込値を埋め込む電子透かし情報埋込部と、
前記埋込値が埋め込まれた量子化係数ブロックに対するエンロトピー符号化処理を実行するエントロピー符号化部とを備えたことを特徴とするＪＰＥＧ画像用電子透かし埋込装置。
【請求項２】
量子化係数値探索部による探索は、最も高い周波数成分の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向けてジグザグ走査による探索順で行われる請求項１に記載のＪＰＥＧ画像用電子透かし埋込装置。
【請求項３】
電子透かし情報（ｗ）は、２値（０または１）のいずれかであり、
電子透かし情報埋込部は、以下の条件式に基づいて、電子透かし情報（ｗ）に対応する埋込値、または、電子透かし欠落情報に対応する埋込値を、指定された量子化係数（Ｃｐ  or  Ｃｋｈ）に埋め込む請求項１に記載のＪＰＥＧ画像用電子透かし埋込装置。
ｍ＜ｋｈのとき、埋め込む電子透かし情報（ｗ）に対応する埋込値は、
ｗ＝１  ならば  Ｃｐ  ←  １
ｗ＝０  ならば  Ｃｐ  ←  −１
ｍ＝ｋｈのとき、埋め込む電子透かし欠落情報に対応する埋込値は、
Ｃｋｈ＞０  ならば  Ｃｋｈ  ←  Ｃｋｈ＋１
Ｃｋｈ＜０  ならば  Ｃｋｈ  ←  Ｃｋｈ−１
ただし、電子透かし情報ｗの値（１，０）と指定された量子化係数Ｃｐの値（１，−１）との対応関係、量子化係数の正負に対する電子透かし欠落情報の埋込値（Ｃｋｈ＋１，Ｃｋｈ−１）は入れ替えてもよい。
【請求項４】
透かし情報（ｗ）は、０〜２ｎ−１（ｎは正整数）の２ｎ個の値のいずれかであり、
電子透かし情報埋込部は、以下の条件式に基づいて、電子透かし情報（ｗ）に対応する埋込値、または、電子透かし欠落情報に対応する埋込値を、指定された量子化係数（Ｃｐ  or  Ｃｋｈ）に埋め込む請求項１に記載のＪＰＥＧ画像用電子透かし埋込装置。
ｍ＜ｋｈのとき、埋め込む電子透かし情報（ｗ）に対応する埋込値は、
ｗ≧ｎ  ならば  Ｃｐ  ←  ｗ−ｎ＋１
ｗ＜ｎ  ならば  Ｃｐ  ←  ｗ−ｎ
ｍ＝ｋｈのとき、埋め込む電子透かし欠落情報は
Ｃｋｈ＞０  ならば  Ｃｋｈ  ←  Ｃｋｈ＋ｎ
Ｃｋｈ＜０  ならば  Ｃｋｈ  ←  Ｃｋｈ−ｎ
ただし、電子透かし情報ｗの値（０〜２ｎ−１）と指定された量子化係数Ｃｐの値（−ｎ〜−１，１〜ｎ）との対応関係、量子化係数の正負に対する電子透かし欠落情報の埋込値（Ｃｋｈ＋ｎ，Ｃｋｈ−ｎ）は、１対１に対応する関係であれば入れ替えてもよい。
【請求項５】
透かし入りＪＰＥＧ画像符号化系列から電子透かし情報を取り出すとともに、電子透かし情報の埋め込み前のＪＰＥＧ画像符号化系列を復元するＪＰＥＧ画像復元装置であって、
透かし入りＪＰＥＧ画像符号化系列に対し、ＪＰＥＧ形式による復元処理を実行し、その復元処理過程で算出される各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列させた量子化係数ブロックを作成する量子化係数ブロック作成部と、
前記量子化係数ブロックの各量子化係数（Ｃｋ）を、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向け、予め設定された探索順で探索して、最初に量子化係数値が０以外の値になる量子化係数（Ｃｐ）を探索する量子化係数値探索部と、
探索結果に基づいて、前記量子化係数（Ｃｐ）が最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）でないときは前記量子化係数（Ｃｐ）を電子透かし情報（ｗ）に対応する埋込値が埋め込まれた量子化係数として特定するとともに、前記量子化係数（Ｃｐ）が前記量子化係数（Ｃｋｈ）であるときは前記量子化係数（Ｃｋｈ）を、電子透かし情報（ｗ）に対応する埋込値、または、電子透かし欠落情報に対応する埋込値が埋め込まれた量子化係数として特定し、特定された量子化係数（Ｃｐ  or  Ｃｋｈ）に基づいて、電子透かし情報または電子透かし欠落情報を取り出すとともに、電子透かし情報を埋め込む前の量子化係数ブロックを復元する量子化係数ブロック復元部と、
復元された量子化係数ブロックに対するエンロトピー符号化処理を実行するエントロピー符号化部とを備えたことを特徴とするＪＰＥＧ画像復元装置。
【請求項６】
量子化係数値探索部による探索は、最も高い周波数成分の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向けてジグザグ走査による探索順で行われる請求項５に記載のＪＰＥＧ画像復元装置。
【請求項７】
電子透かし情報（ｗ）は、２値（０または１）のいずれかであり、
ＪＰＥＧ画像データ復元部は、透かし埋め込み時に用いた条件式に対応する以下の条件式のいずれかに基づいて、電子透かし情報（ｗ）、または電子透かし欠落情報を取り出すとともに、特定された量子化係数（Ｃｐ  or  Ｃｋｈ）を電子透かし情報を埋め込む前の量子化係数に復元する請求項５に記載のＪＰＥＧ画像復元装置。
ｐ＝ｋｈであり、かつ、｜Ｃｋｈ｜＞１のとき、電子透かし欠落情報が埋め込まれたと判定し、量子化係数（Ｃｋｈ）は
Ｃｋｈ＞０  ならば  Ｃｋｈ  ←  Ｃｋｈ−１
Ｃｋｈ＜０  ならば  Ｃｋｈ  ←  Ｃｋｈ＋１
上記以外のとき、電子透かし情報（ｗ）と量子化係数（Ｃｐ）は
Ｃｐ＞０  ならば  ｗ＝１、Ｃｐ  ←  ０
Ｃｐ＜０  ならば  ｗ＝０、Ｃｐ  ←  ０
または、ｗの値（１，０）とＣｐの値（１，−１）との対応関係、量子化係数の正負に対する電子透かし欠落情報の埋込値（Ｃｋｈ＋１，Ｃｋｈ−１）を入れ替えた条件式。
【請求項８】
電子透かし情報（ｗ）は、０〜２ｎ−１（ｎは正整数）の２ｎ個の値のいずれかであり、
ＪＰＥＧ画像データ復元部は、透かし埋め込み時に用いた条件式に対応する以下の条件式のいずれかに基づいて、電子透かし情報（ｗ）、または電子透かし欠落情報を取り出すとともに、特定された量子化係数（Ｃｐ  or  Ｃｋｈ）を電子透かし情報を埋め込む前の量子化係数に復元する請求項５に記載のＪＰＥＧ画像復元装置。
ｐ＝ｋｈであり、かつ、｜Ｃｋｈ｜＞ｎのとき、電子透かし欠落情報が埋め込まれたと判定し、量子化係数（Ｃｋｈ）は
Ｃｋｈ＞０  ならば  Ｃｋｈ  ←  Ｃｋｈ−ｎ
Ｃｋｈ＜０  ならば  Ｃｋｈ  ←  Ｃｋｈ＋ｎ
上記以外のとき、電子透かし情報（ｗ）と量子化係数（Ｃｐ）は
Ｃｐ＞０  ならば  ｗ＝Ｃｐ＋ｎ−１、  Ｃｐ  ←  ０
Ｃｐ＜０  ならば  ｗ＝Ｃｐ＋ｎ、      Ｃｐ  ←  ０
または、ｗの値（０〜２ｎ−１）とＣｐ（−ｎ〜−１，１〜ｎ）との対応関係、量子化係数の正負に対する電子透かし欠落情報の埋込値（Ｃｋｈ＋ｎ，Ｃｋｈ−ｎ）を、１対１の対応関係になるように置き換えた条件式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮処理前の原画像データに対し、ＪＰＥＧ形式による圧縮処理を実行することにより作成されるＪＰＥＧ画像符号化系列（圧縮されたＪＰＥＧ画像データ）に、電子透かし情報（付加情報）を埋め込む電子透かし埋込装置に関する。
また、本発明は、電子透かし情報が埋め込まれたＪＰＥＧ画像符号化系列から、電子透かし情報を取り出すとともに、電子透かし情報が埋め込まれる前の元のＪＰＥＧ画像符号化系列を復元するＪＰＥＧ画像復元装置に関する。
【背景技術】
【０００２】
近年、デジタル静止画像は、民生用のデジタルカメラにより撮影された一般画像、ＣＴ、ＭＲＩ等による医用画像、衛星写真や航空写真による軍事用画像、商用画像等として、幅広い分野で利用されている。これらのデジタル静止画像は、コンピュータによる画像処理、伝送、保存の際に、その使用目的や用途に応じて扱いやすいように、いくつかの異なるファイル形式で利用されている。
【０００３】
代表的なファイル形式の一つにＢＭＰ形式（Bitmap）がある。これは、非圧縮のファイル形式であり、画像データ（画像符号化系列）が劣化しない利点があり、例えば医用画像のように、原画像データの完全な復元が求められる用途に適している。しかしながら、ＢＭＰ形式はデータ量が大きくなるため、データ伝送に時間を要し、保存の際に保存ディスク容量が増大することになる。
【０００４】
これに対し、他の代表的なファイル形式として、ＪＰＥＧ形式（Joint Photographic Experts Group）がある。これは、原画像データを後述する手順で圧縮（以後、ＪＰＥＧ圧縮という）するファイル形式であり、データ量を小さくすることができるので、データ伝送や保存に有利である。一方、ＪＰＥＧ圧縮によって画像劣化が発生するものの、人の目の感度特性を巧みに利用して画像劣化が目立たないように圧縮することができるので、後から原画像データを完全に復元することを要しない用途では多用されている。例えば、民生用のデジタルカメラにより撮影される一般画像の保存には、ＪＰＥＧ形式が多用されている。
【０００５】
ここで、ＪＰＥＧ形式に関し、原画像データの圧縮処理（ＪＰＥＧ圧縮）と、その逆の処理である復元処理の一般的な手順について簡単に説明する。
まず、ＪＰＥＧ圧縮について説明する。図１４は、ＪＰＥＧ圧縮の手順を説明するフローチャートである。なお、原画像データが白黒画像のときは、原画像データには輝度情報が含まれ、カラー画像では輝度情報と色情報とが含まれるが、ここでは簡単のため、白黒画像データの輝度情報（例えば２５６階調データ）に対する圧縮処理を行うものとして説明する。カラー画像の場合は、さらに色情報についても同様の圧縮処理が行われることになる。
【０００６】
各画素に、それぞれ２５６階調の輝度情報が含まれている原画像データが与えられると、予め設定された単位の画素ブロックにブロック分割が行われる（Ｓ１００１）。一般的には８画素×８画素ごとの画素ブロック群に分割される。ブロック分割後は、画素ブロック単位で圧縮処理が実行されるので、以後は１つの画素ブロックの圧縮処理について説明する。
【０００７】
次に、各画素ブロックに対する周波数変換が行われる（Ｓ１００２）。周波数変換は、主にＤＣＴ変換（Discrete Cosine Transform）が用いられる。この周波数変換により、周波数成分ごとの変換係数が算出される。算出された変換係数は、周波数成分順に二次元に配列され、変換係数行列が作成される（Ｓ１００３）。そして、この変換係数行列に対し、予め設定してある量子化テーブル（Ｑ）を用いて量子化演算（除算）を行うことにより量子化係数を算出し、量子化係数を行列化した量子化係数ブロックを作成する（Ｓ１００４）。このとき用いられる量子化テーブル（Ｑ）は、例えば図１５に示すように、高い周波数成分の量子化係数が、極力０になりやすいように設定してある。
【０００８】
続いて、予め設定された順でのジグザグ走査で量子化係数ブロックの量子化係数を並べ、量子化係数列を作成する（Ｓ１００５）。このジグザグ走査により、低い周波数成分の量子化係数から高い周波数成分の量子化係数が順次並ぶことになる。上述したように、量子化テーブル（Ｑ）は、高い周波数成分の量子化係数を極力０になりやすいように設定してあるので、作成された量子化係数列の後半は、通常は０が続くようになる。
【０００９】
続いて、量子化係数列に対するエントロピー符号化（ランレングス符号化およびこれに続くハフマン符号化）が行われる（Ｓ１００６）。これにより、圧縮加工されたＪＰＥＧ画像符号化系列が形成される。
そして、同様の処理をすべての画素ブロックに行い、得られたＪＰＥＧ画像符号化系列を統合することにより、ＪＰＥＧ圧縮処理が完了する。
【００１０】
次に、ＪＰＥＧ画像符号化系列からＪＰＥＧ画像(原画像からＪＰＥＧ圧縮された圧縮画像)を表示させるときの復元処理について説明する。図１６は、ＪＰＥＧ画像符号化系列の復元処理の手順を説明するフローチャートである。ＪＰＥＧ画像符号化系列に対し、エントロピー符号化の逆操作であるエントロビー復号（ハフマン復号およびこれに続くランレングス復号）を行い（Ｓ１１０１）、元の量子化係数列（「Ｓ１００５」で作成した量子化係数列）を復元する（Ｓ１１０２）。
【００１１】
続いて、量子化係数列を個々の量子化係数に分離し、各量子化係数をジグザグ走査により配置することにより、量子化係数ブロックを作成する（Ｓ１１０３）。このときのジグザグ配置の順は、圧縮処理においてジグザグ走査により量子化係数列を作成したとき（「Ｓ１００５」）と同じ順にすることで、元の量子化係数ブロック（「Ｓ１００４」の量子化係数ブロック）が復元される。
【００１２】
続いて、量子化係数ブロックに対し、量子化テーブル（Ｑ）を用いて、逆量子化演算(乗算)を行い、逆変換係数行列を作成する（Ｓ１１０４）。ここで得られた逆変換係数行列は、「Ｓ１００３」で作成された変換係数行列に対応する行列であるが、量子化による影響を受け、元の変換係数行列（「Ｓ１００３」の変換係数行列）とは原則的に一致しなくなる（特に高い周波数成分の逆変換係数と変換係数とが異なる）。
【００１３】
続いて、逆変換係数行列を構成する個々の逆変換係数に対し、周波数逆変換を行う（Ｓ１１０５）。これにより、ＪＰＥＧ画像を表示するための画素ブロックが作成される。
ここで得られた画素ブロックは、元の画素ブロック（「Ｓ１００１」の画素ブロック）に対応するが、既に量子化の影響を受けた逆変換係数行列を用いているために、元の画素ブロックとは原則的に一致しない。
そして、同様の処理を、すべてのＪＰＥＧ画像符号化系列に対して行い、得られた画素ブロックをすべて合成する（Ｓ１１０６）。これにより表示のためのＪＰＥＧ画像データの復元処理が完了する。
最終的に得られた表示のためのＪＰＥＧ画像データは、原画像データを完全に復元させることはできないが、データ量が小さくなっている。また、高い周波数成分が主に圧縮されることにより、画像劣化は人の目にはあまり目立たない。
【００１４】
一方、ＪＰＥＧ形式の画像処理に対する応用技術として、元のデジタル静止画像の符号データ（ＪＰＥＧ画像符号化系列）に、電子透かしを埋め込む画像処理技術が提案されている。具体的には、不当な複製、改ざんを防止するため、署名データ等の著作権情報を埋め込む目的で、電子透かしの埋め込みが利用されている（例えば、特許文献１参照）。
【特許文献１】特開２００６−２９５５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
電子透かしは、これまで、主として不当な複製、改ざんを防止することが目的で、画像データに著作権情報として埋め込まれることが多かった。そのような目的で埋め込まれる電子透かしは、埋め込みによって画像自体を大きく変化（劣化）させないこと、埋め込まれた著作権情報が、画像から簡単に除去されないようにすることが重要であり、これらの課題を克服することに努力が払われてきた。
【００１６】
最近、医用画像において、診断結果のような患者の個人情報を、直接、画像を見ただけではわからない秘密の付加情報として画像に添付し、画像と付加情報とを一体に管理する目的で、電子透かしを利用することが考えられている。
医用画像に患者の個人情報等を電子透かしで埋め込む場合のように、付加情報を単に秘密に埋め込む用途では、複製、改ざんに対する防止対策はあまり重要ではなく、むしろ、画像圧縮、電子透かしの埋め込みによって生じる画像劣化に対する対策が重要になる。そのため、医用画像では、これまでは画像劣化の生じない非圧縮形式の画像ファイル形式（例えばＢＭＰ形式）の画像データに対して電子透かしを埋め込むことは検討されていたが、ＪＰＥＧ形式のような画像データに電子透かしを埋め込むことはほとんど検討されていなかった。
【００１７】
しかしながら、ＪＰＥＧ形式であっても圧縮率を極端に大きくしなければ（量子化テーブルによっても圧縮率が調整できる）、医用画像として利用できる程度に、画像の劣化を抑えることができる。データ伝送や保存の観点からは、たとえ医用画像であってもデータ量を小さく抑えることが望ましい。その際、ＪＰＥＧ形式で圧縮された画像データに、電子透かしを埋め込むようにすることができるとともに、埋め込まれた画像から電子透かしを取り出し、さらに電子透かしを除去して埋め込む前のＪＰＥＧ形式の画像データを復元することができるようになれば、電子透かしを埋め込むことによる、さらなる画像劣化の問題がなくなり、透かし入りの医用画像のＪＰＥＧ形式での利用が促進されるようになる。
【００１８】
また、医用画像以外であっても、ＪＰＥＧ形式の個々の画像に関連する付加情報を、その画像内に電子透かしとして秘密に埋め込むことができ、埋め込まれた付加情報を後から取り出すことができ、しかも付加情報を除去した元のＪＰＥＧ画像を復元することができれば、ＪＰＥＧ画像と付加情報とを一括管理することができて有意義であり、しかも電子透かしの埋め込みに伴う画像劣化の問題も完全になくなり、ＪＰＥＧ画像の応用範囲を拡大することができる。
【００１９】
そこで、本発明は、ＪＰＥＧ形式で圧縮されたＪＰＥＧ画像符号化系列に対し、ＪＰＥＧ形式独特の特性を利用して電子透かし情報を埋め込むことができる電子透かし情報埋め込み装置、および、電子透かし情報が埋め込まれたＪＰＥＧ画像符号化系列から電子透かし情報を取り出すことができ、さらに、埋め込み前のＪＰＥＧ画像符号化系列を復元することができるＪＰＥＧ画像復元装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記課題を解決するためになされた本発明の電子透かし情報埋め込み装置は、ＪＰＥＧ形式による圧縮処理によって作成されるＪＰＥＧ画像符号化系列に電子透かし情報を埋め込むＪＰＥＧ画像用電子透かし埋込装置であって、原画像データからＪＰＥＧ画像符号化系列を作成する際に、その圧縮処理過程で算出される各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列させた量子化係数ブロックを作成し、または、既に作成されたＪＰＥＧ画像符号化系列に対しＪＰＥＧ形式による復元処理を実行して、その復元処理過程で算出される各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列させた量子化係数ブロックを作成する量子化係数ブロック作成部と、前記量子化係数ブロックの各量子化係数（Ｃｋ）を、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向け、予め設定された探索順で探索して、最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）を探索する量子化係数値探索部と、探索結果に基づいて、量子化係数値が０である量子化係数が存在するときは前記探索順で最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）の直前に探索した量子化係数（Ｃｐ）を埋め込み対象の量子化係数として指定するとともに、量子化係数値が０である量子化係数が存在しないときには最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）を指定し、指定された量子化係数（Ｃｐ  or  Ｃｋｈ）に、電子透かし情報（ｗ）に対応する埋込値、または、電子透かし情報を含んでいない旨の電子透かし欠落情報に対応する埋込値を埋め込む電子透かし情報埋込部と、前記埋込値が埋め込まれた量子化係数ブロックに対するエンロトピー符号化処理を実行するエントロピー符号化部とを備えるようにしている。
【００２１】
本発明によれば、量子化係数ブロック作成部は、原画像データ（ＪＰＥＧ圧縮処理を行う前の元の画像データ）からＪＰＥＧ画像符号化系列を作成する際に、通常のＪＰＥＧ形式による圧縮処理（ブロック分割、周波数変換、変換係数行列の作成、量子化演算）を実行し、その圧縮過程で量子化係数ブロックを作成する。また、既にＪＰＥＧ画像符号化系列を作成されている際には、通常のＪＰＥＧ形式による復元処理（エントロピー復号、量子化係数列の作成）を実行し、その復元処理過程で量子化係数ブロックを作成する。このときに作成される量子化係数ブロックは、低い周波数成分から高い周波数成分まで周波数成分ごとに二次元的に配列され、量子化係数の行列が作成されている。一般に、量子化係数ブロックは、高い周波数成分の量子化係数が０になるように量子化演算が行われるため（高い周波数成分の量子化係数が０になりやすい量子化テーブルを用いて演算が行われる）、原則的に高い周波数成分の量子化係数は０になりやすく、低い周波数成分（直流成分も含む）の量子化係数が０以外になる。なお、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）が０以外であることも可能性としてはありうる。
量子化係数値探索部は、量子化係数ブロックの各量子化係数（Ｃｋ）を、量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向け、予め設定された探索順（例えば量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向けてのジグザグ走査順）で探索し、最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）を探索する。上述したように、高い周波数成分の量子化係数値は、原則的に０であり、低い周波数成分になってから０以外の量子化係数値が存在するようになるので、探索を続けていくとやがて０以外の量子化係数が見つかるようになる。
電子透かし情報埋込部は、最初に量子化係数値が０以外の値になる量子化係数（Ｃｍ）が見つけ出されると、その直前に探索した量子化係数（Ｃｐ）を埋め込み対象の量子化係数として指定する。これにより、後で、同じ探索順で探索することにより、唯一の例外（可能性としては稀であるがＣｋｈの量子化係数値が０でない場合）を除き、量子化係数値が最初に０でなくなる量子化係数（Ｃｐ）を見つければ、その量子化係数（Ｃｐ）に電子透かし情報が埋め込まれていることになる。
そして、指定された量子化係数（Ｃｐ）に電子透かし情報（ｗ）に対応する埋込値を埋め込んでおき、後で、その量子化係数（Ｃｐ）を特定して、埋込値を取り出すことにより、埋込値から電子透かし情報を得ることができる。電子透かし情報は０以外の値を与えることで（電子透かし情報を埋め込む前の量子化係数（Ｃｐ）の値が０であるため）、与えた埋込値を電子透かし情報とすることができる。
一方、唯一の例外であるＣｋｈの量子化係数値が０でない場合（すなわち最も高い周波数成分の量子化係数（Ｃｋｈ）が０でない場合）は、Ｃｋｈの値が元から０でないのか、それとも最も高い周波数成分（ｋｈ）の次に探索される周波数成分（ｋｈ−１）の量子化係数（Ｃｋｈ−１）が始めて０以外であったために、埋込値がＣｋｈに埋め込まれた結果、Ｃｋｈが０でなくなったのかが、後から区別できない。
そのため、Ｃｋｈの値が元から０でない場合には、電子透かし情報は埋め込まないこととし、代わりに、電子透かし情報を含んでいない旨の電子透かし欠落情報を埋め込む。電子透かし欠落情報として埋め込む埋込値は、量子化係数（Ｃｋｈ−１）が始めて０以外であったために埋込値がＣｋｈに埋め込まれたときに取りうる値とは識別可能な値を、欠落情報の埋込値としてＣｋｈに埋め込む。
これにより、Ｃｋｈの量子化係数値が元から０でないのか、それとも最も高い周波数成分（ｋｈ）の次に探索される周波数成分（ｋｈ−１）の量子化係数（Ｃｋｈ−１）が始めて０以外であったために、電子透かし情報が埋め込まれた結果、Ｃｋｈが０でなくなったのかが区別できるようになる。
エントロピー符号化部は、電子透かし情報または電子透かし欠落情報が埋め込まれた量子化係数ブロックに対するエンロトピー符号化処理を実行し、透かし入りＪＰＥＧ画像符号化系列を作成する。
【００２２】
また、上記課題を解決するためになされた本発明のＪＰＥＧ画像復元装置は、透かし入りＪＰＥＧ画像符号化系列から電子透かし情報を取り出すとともに、電子透かし情報の埋め込み前のＪＰＥＧ画像符号化系列を復元するＪＰＥＧ画像復元装置であって、透かし入りＪＰＥＧ画像符号化系列に対し、ＪＰＥＧ形式による復元処理を実行し、その復元処理過程で算出される各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列させた量子化係数ブロックを作成する量子化係数ブロック作成部と、前記量子化係数ブロックの各量子化係数（Ｃｋ）を、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向け、予め設定された探索順で探索して、最初に量子化係数値が０以外の値になる量子化係数（Ｃｐ）を探索する量子化係数値探索部と、探索結果に基づいて、前記量子化係数（Ｃｐ）が最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）でないときは前記量子化係数（Ｃｐ）を電子透かし情報（ｗ）に対応する埋込値が埋め込まれた量子化係数として特定するとともに、前記量子化係数（Ｃｐ）が前記量子化係数（Ｃｋｈ）であるときは前記量子化係数（Ｃｋｈ）を、電子透かし情報（ｗ）に対応する埋込値、または、電子透かし欠落情報に対応する埋込値が埋め込まれた量子化係数として特定し、特定された量子化係数（Ｃｐ  or  Ｃｋｈ）に基づいて、電子透かし情報または電子透かし欠落情報を取り出すとともに、電子透かし情報を埋め込む前の量子化係数ブロックを復元する量子化係数ブロック復元部と、復元された量子化係数ブロックに対するエンロトピー符号化処理を実行するエントロピー符号化部とを備えるようにしている。
【００２３】
本発明によれば、量子化係数ブロック作成部は、ＪＰＥＧ画像符号化系列に対し、通常のＪＰＥＧ形式における復元処理（エントロピー復号、量子化係数列の抽出）を実行し、その復元処理過程で各周波数成分（ｋ）の量子化係数（Ｃｋ）を周波数成分の順に配列した量子化係数ブロックを作成する。量子化係数ブロックは、高い周波数成分の量子化係数が０になるように量子化演算が行われるため（高い周波数成分の量子化係数が０になりやすい量子化テーブルを用いて演算が行われる）、原則的に高い周波数成分の量子化係数は０になりやすく、低い周波数成分（直流成分も含む）の量子化係数が０以外になる。なお、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）が０以外であることも可能性としてはありうる。量子化係数値探索部は、量子化係数ブロックの各量子化係数（Ｃｋ）を、最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向け、予め設定された探索順（埋め込み時と同じ探索順であり、例えば最も高い周波数成分の量子化係数（Ｃｋｈ）から低い周波数成分の量子化係数に向けてのジグザグ走査順）で探索して、最初に量子化係数値が０以外の値になる量子化係数（Ｃｐ）を探索する。上述したように、高い周波数成分の量子化係数値は、原則的に０であり、低い周波数成分になってから０以外の量子化係数値が存在するようになるので、探索を続けていくとやがて０以外の量子化係数が見つかるようになる。
そしてＪＰＥＧ画像データ復元部は、探索結果に基づいて、量子化係数（Ｃｐ）が最も高い周波数成分（ｋｈ）の量子化係数（Ｃｋｈ）でないときは、量子化係数（Ｃｐ）を電子透かし情報に対応する埋込値が埋め込まれた量子化係数として特定するとともに、量子化係数（Ｃｐ）が量子化係数（Ｃｋｈ）であるときは量子化係数（Ｃｋｈ）を電子透かし情報（ｗ）に対応する埋込値、または、電子透かし欠落情報に対応する埋込値が埋め込まれた量子化係数として特定する。特定された量子化係数（Ｃｍ  or  Ｃｋｈ）からは、電子透かし情報（または電子透かし欠落情報）に対応する埋込値を取り出すとともに、電子透かし情報を埋め込む前の量子化係数行列を復元する。
エントロピー符号化部は、電子透かし情報が除去された量子化係数ブロックに対するエンロトピー符号化処理を実行し、ＪＰＥＧ画像符号化系列を作成する。
【発明の効果】
【００２４】
本発明によれば、ＪＰＥＧ形式で圧縮されたＪＰＥＧ画像符号化系列に対し、高い周波数成分の量子化係数がほとんど０になるというＪＰＥＧ形式独特の特性を利用して電子透かし情報を、これに対応する埋込値として埋め込むことができ、また、電子透かし情報が埋め込まれたＪＰＥＧ画像符号化系列から電子透かし情報に対応する埋込値を取り出すことができるとともに、電子透かし情報を埋め込む前のＪＰＥＧ画像符号化系列を完全に復元することができる。
特に、量子化係数が０となる周波数成分がない場合には、電子透かし情報が誤った内容で取り出されないようにするために、電子透かし情報を埋め込むことができないが、電子透かし情報を埋め込む代わりに、電子透かし欠落情報を、識別可能な埋込値として埋め込むことができるので、正確にＪＰＥＧ画像符号化系列を復元することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の一実施形態について、図面を用いて説明する。ここでは、ＤＣＴ（Discrete Cosine Transform）を用いたＪＰＥＧ画像用電子透かし情報の埋込装置、および、ＪＰＥＧ画像復元装置について説明するが、本発明の趣旨を逸脱しない範囲で、改良型のＪＰＥＧ形式（例えば周波数変換にＤＷＴを用いるＪＰＥＧ２０００）についても適用することができる。
【００２６】
また、以下の説明では、ＪＰＥＧ画像用電子透かし情報埋込装置とＪＰＥＧ画像復元装置とを、互いに相補的な関係を有する別々の装置として記載しているが、これらの装置を合体した装置形態にして用いることもできる。具体的には、例えば医療機器（ＣＴ，ＭＲＩ）やデジタルカメラの内部装置として、これらを同時に搭載させることができる。
【００２７】
（ＪＰＥＧ画像用電子透かし情報埋込装置）
まず、ＪＰＥＧ画像用の電子透かし情報埋込装置について説明する。図１は、本発明の一実施形態である電子透かし情報埋込装置１０の構成を示すブロック図である。
電子透かし情報埋込装置１０は、電子透かし情報を埋め込む処理を実行するためのプログラムと、このプログラムを実行して演算処理を行うＣＰＵ、演算の際の作業領域となるメモリ、画像データの入出力を行う入出力インタフェースを含むハードウェアを有するコンピュータ装置とから構成される。
【００２８】
本装置による具体的な機能を説明するために、機能ブロックごとに分けて説明すると、電子透かし情報埋込装置１０は、量子化係数ブロック作成部１１、量子化係数値探索部１２、電子透かし情報埋込部１３、エントロピー符号化部１４からなる。
【００２９】
量子化係数ブロック作成部１１は、原画像データ、または、既にＪＰＥＧ画像符号化系列が作成されている場合にはそのＪＰＥＧ画像符号化系列に基づいて、ＪＰＥＧ形式での圧縮処理、または、復元処理を実行する過程で算出される量子化係数ブロックを作成する処理を行う。
すなわち、原画像データから作成する場合は、図１４で説明した圧縮処理の一部である、ブロック分割、周波数変換（ＤＣＴ）、変換係数行列作成の各手順を経て量子化係数ブロックを作成する処理を行う。
また、ＪＰＥＧ画像符号化系列が既に作成されているときは、図１６で説明した復元処理の一部であるエントロピー復号（ハフマン復号、ランレングス復号）、量子化係数列の作成の各手順を経て量子化係数ブロックを作成する処理を行う。
【００３０】
図２は、量子化係数ブロックの一例を示す図である。８画素×８画素の画素ブロックからは、８行×８列の量子化係数ブロックが形成される。各量子化係数は、左上角が直流成分の量子化係数であり、それ以外の６３個は交流成分の量子化係数である。交流成分は左上が低い周波数成分で、右下になるにつれて高い周波数成分になる。そして右下角が最も高い周波数成分の量子化係数となる。
【００３１】
各量子化係数は、説明の便宜上、図３に示すように、直流成分から始まり、低い周波数成分から高い周波数成分に向けてジグザグ走査順にＣ０〜Ｃ６３となるように、０〜６３の量子化係数番号を付してそれぞれを識別することにする。各周波数成分の番号についても、量子化係数番号に対応した周波数成分番号ｋ（ｋ＝０〜６３）を付する。したがって、Ｃ０が直流成分ｋ０の量子化係数となり、Ｃ１からＣ６３までが交流成分ｋ１〜ｋ６３の量子化係数、このうちＣ６３が最も高い周波数成分ｋ６３（＝ｋｈ）の量子化係数（Ｃｋｈに相当）となる。図２の例では、直流成分の量子化係数Ｃ０が３０、最も低い交流周波数成分の量子化係数Ｃ１、Ｃ２が１６、−１３であり、最も高い交流周波数成分の量子化係数Ｃ６３が０となっている。さらに、量子化係数Ｃ３２以降の周波数成分に対応する領域は、量子化係数値が連続して０となっている。
【００３２】
量子化係数値探索部１２は、量子化係数ブロックにおいて、右下側の高い周波数成分の領域が高い周波数成分ほど０になりやすい特徴を利用して、電子透かし情報を埋め込む対象の量子化係数を決定するための探索処理を実行する。
【００３３】
図４は、このときの探索処理を説明する図である。量子化係数ブロックの各量子化係数Ｃｋを、最も高い周波数成分の量子化係数Ｃ６３（＝Ｃｋｈ）から低い周波数成分の量子化係数に向け、上述したジグザグ走査順の逆順（すなわち図２の量子化係数番号の降順）で探索し、最初に量子化係数値が０以外の値になる量子化係数を探索する。
【００３４】
上述したように、高い周波数成分の量子化係数値は、一般的には０であり、低い周波数成分になってから０以外の量子化係数値が存在するようになるので、この順で探索を続けていくと、やがて０以外の量子化係数が見つかることになる。そして、見つかった量子化係数番号をｍとすると、量子化係数Ｃｍが最初に０以外の量子化係数値を有していることになる。この場合に、図５に示すように、探索順での１つ前の量子化係数Ｃｐを、電子透かしを埋め込む量子化係数として抽出する。具体的にはＣｍ＋１（量子化係数値は０）がＣｐとなる。
【００３５】
すなわち、量子化係数ブロック内の探索順を一義的に定めておき、かつ、最後に発見された量子化係数値が０である量子化係数Ｃｐを、電子透かし埋め込み位置として決定する規則に従うことで、少なくとも最も高い周波数成分Ｃ６３（Ｃｋｈ）の量子化係数値が０以外にならない限り（そのような場合は稀である）、確実に埋め込み位置を一義的に抽出することができることになる。また、埋め込み位置の量子化係数Ｃｐでは、埋め込み前の元の値が０であるので、０以外の値が電子透かし情報として埋め込まれると、電子透かし情報の内容が直ちに把握できるようになる。
【００３６】
唯一の例外として、稀に、最も高い周波数成分の量子化係数Ｃ６３（Ｃｋｈ）が０以外となることが理論的には発生しうる。その場合、上記の規則にしたがって探索すると、Ｃ６３の量子化係数値が０でないことが探索されることになる。このときは、後述するように、電子情報を埋め込まない例外的な処理が行われることなる。
【００３７】
なお、図４での探索順は、最も高い周波数成分の量子化係数Ｃ６３（＝Ｃｋｈ）から低い周波数成分の量子化係数に向け、量子化係数番号の降順で探索することとしたが、探索順はこれに限られず、いろいろなバリエーションがありうる。
例えば図６に示すように、Ｃ６３の次の探索をＣ６２（行方向移動）ではなくＣ６１（列方向移動）に代え、以後、Ｃ６２、Ｃ５８、Ｃ５９，Ｃ６０，Ｃ５４，・・・のジグザグ走査順にしてもよい。
また、図４の探索順では、量子化係数番号の降順に探索したが、例えば図７に太字で示した奇数の量子化係数番号だけを降順で探索する等の規則に従って探索するようにしてもよい。この場合は、ＣｍからＣＰを抽出するときに１つ前の奇数の量子化係数（具体的にはＣｍ＋２）を抽出することになる。
【００３８】
要するに、Ｃ６３（最も高い周波数成分の量子化係数Ｃｋｈ）から探索が開始されるとともに、量子化係数値が０になりやすい量子化係数が探索順の早い位置に並ぶように、一義的に定めることができる規則であれば、探索順の規則として採用することができる。
【００３９】
電子透かし情報埋め込み部１３は、探索結果に基づいて、量子化係数値が０である量子化係数Ｃｐが抽出されたとき、量子化係数Ｃｐを埋め込み対象の量子化係数として指定する。一方、稀であるが、量子化係数値が０である量子化係数Ｃｐが存在しないときには最も高い周波数成分（ｋｈ）の量子化係数Ｃ６３（＝Ｃｋｈ）を指定し、指定された量子化係数（Ｃｐ  or  Ｃ６３）に電子透かし情報に対応する埋込値、または、電子透かし情報を含んでいない旨の電子透かし欠落情報に対応する埋込値を埋め込む処理を行う。
【００４０】
エントロピー符号化部１４は、埋め込み処理が行われた量子化係数ブロックに対するエンロトピー符号化処理（ランレングス符号化およびハフマン符号化）を実行し、電子透かし情報または電子透かし欠落情報を含んだ透かし入りＪＰＥＧ画像符号化系列を作成する。
【００４１】
（動作例１）
次に、上述した電子透かし情報埋込装置１０による電子透かし情報の具体的な埋め込み動作について説明する。最初に、埋め込む電子透かし情報が「０」または「１」の２値である場合について説明する。
【００４２】
図８は、動作手順の一例を示すフローチャートである。ここでは、透かし埋め込み前のＪＰＥＧ画像符号化系列が既に存在し、これを加工して透かし入りＪＰＥＧ画像符号化系列を作成する場合を説明する。
【００４３】
まず、元のＪＰＥＧ画像符号化系列に、エントロピー復号（ハフマン復号およびランレングス復号）を行い、量子化係数列(量子化ＤＣＴ係数を並べた列)を抽出する（Ｓ１０１）。
続いて、抽出した量子化係数列をジグザグ走査順（図３参照）に並べて、量子化係数ブロック（Ｃ０〜Ｃ６３）を作成する（Ｓ１０２）。（原画像データから量子化係数ブロックを作成するときは、Ｓ１０１、Ｓ１０２の代わりに、図１４のＳ１００１からＳ１００４の手順で作成する）
【００４４】
続いて、量子化係数Ｃ６３（＝Ｃｋｈ）からジグザグ走査順の降順で、量子化係数値が最初に０以外になる量子化係数番号ｍ（量子化係数Ｃｍ）を探索する（Ｓ１０３、図４参照）。
【００４５】
量子化係数番号ｍの値が、「ｍ＜６３」を満たすか否かを判定する。すなわち、最も高い周波数成分の量子化係数番号６３（量子化係数Ｃ６３）が０以外であるかを判定する（Ｓ１０４）。
【００４６】
Ｓ１０４で「ＹＥＳ」、すなわち量子化係数値が０である量子化係数が１つでも存在する場合は、Ｓ１０５に進む。Ｓ１０４で「ＮＯ」、すなわち量子化係数値が０である量子化係数がない場合（Ｃ６３が０以外）は、Ｓ１０６に進む。
【００４７】
Ｓ１０５に進んだ場合は、電子透かし情報を埋め込むことができるので、埋め込む電子透かし情報ｗの値が「０」または「１」のいずれであるかを区別する（Ｓ１０５）。
そして、「０」の場合は、量子化係数番号ｍ（量子化係数Ｃｍ）の直前に探索した量子化係数Ｃｐ（Ｃｐは埋め込む前の量子化係数値が「０」）に対し（図４、図５参照）、透かし情報が「０」であることを意味する埋込値として「−１」を埋め込む（Ｓ１０７）。一方、「１」の場合は、透かし情報が「１」であることを意味する埋込値として「１」を埋め込む（Ｓ１０８）。なお、Ｓ１０７、Ｓ１０８において、透かし情報と埋込値との対応関係が逆になるように入れ替えてもよい。すなわち、透かし情報が「０」であることを意味する埋込値として「１」を埋め込み、透かし情報が「１」であることを意味する埋込値として「０」を埋め込んでもよい。
【００４８】
Ｓ１０６に進んだ場合は、量子化係数値が０の量子化係数がないため、電子透かし情報を埋め込むと、埋め込んだ電子透かし情報を取り出すことができなくなるので、代わりに、以下に説明する規則にしたがって、電子透かし欠落情報の埋込値を、量子化係数Ｃ６３に埋め込む。
このときは、まず、埋め込む前の量子化係数Ｃ６３の係数値が正か負かを区別する（Ｓ１０６）。そして正である場合は埋込値として「１」を加えた「Ｃ６３＋１」を埋め込む（Ｓ１０９）。負である場合は埋込値として「−１」を加えた「Ｃ６３−１」を埋め込む（Ｓ１１０）。なお、Ｓ１０９、Ｓ１１０において、正負に対する埋込値の対応関係を入れ替えてもよい。すなわち、正である場合は埋込値「Ｃ６３−１」、負である場合は埋込値「Ｃ６３＋１」を埋め込んでもよい。ただし、逆にすると、埋め込みによる画質の劣化が大きくなるおそれがある。
【００４９】
この場合、埋め込み前の量子化係数Ｃ６３の値は、０以外の正の整数又は負の整数であるので、正の整数の場合は、量子化係数Ｃ６３の埋込値「Ｃ６３＋１」が２以上の整数になる。負の整数の場合は、量子化係数Ｃ６３の埋込値「Ｃ６３−１」が−２以下の整数になる。一方、量子化係数Ｃ６３が０、かつ、量子化係数Ｃ６２が０以外であったため、量子化係数Ｃ６３に透かし情報が埋め込まれたときは（すなわち量子化係数Ｃ６２がＣｍで、量子化係数Ｃ６３がＣｐになった場合）、量子化係数Ｃ６３は埋め込まれた後の埋込値が「１」（Ｓ１０８の場合）、または、「−１」（Ｓ１０７の場合）になる。
したがって、量子化係数Ｃ６３は埋込値が「１」であれば電子透かし情報ｗが「１」であることになり、埋込値が「−１」であれば電子透かし情報ｗが「０」であることになり、埋込値が「２以上または−２以下」であれば電子透かし欠落情報が埋め込まれていることになり、電子透かし情報の内容、あるいは電子透かし欠落情報が識別可能になる。
【００５０】
続いて電子透かし情報等が埋め込まれた量子化係数ブロックから、ジグザグ走査順（図２参照）で量子化係数を並べることにより量子化係数列を作成し、エントロピー符号化（ランレングス符号化およびハフマン符号化）を実行する（Ｓ１１１）。これにより、透かし入りＪＰＥＧ画像符号化系列が作成される。埋め込む電子透かし情報が複数のときは、同様の処理を他の画素ブロックでも実行し、すべての電子透かし情報を埋め込む。
【００５１】
（動作例２）
次に、埋め込む電子透かし情報を、「０」から「２ｎ−１」までの２ｎ値に拡張した動作例について説明する。
図９は、本動作例の一例を示すフローチャートである。図において、Ｓ２０１〜Ｓ２０４までの手順は、図８のＳ１０１〜Ｓ１０４までの手順と同じであるので、説明を省略する。
【００５２】
Ｓ２０５に進んだ場合は、電子透かし情報を埋め込むことができるので、埋め込む電子透かし情報ｗが「ｗ≧ｎ」、すなわち「０」〜「ｎ−１」または「ｎ」〜「２ｎ−１」のいずれであるかを区別する（Ｓ２０５）。
そして、電子透かし情報ｗが「０」〜「ｎ−１」の場合は、Ｓ２０３で探索した量子化係数番号ｍ（量子化係数Ｃｍ）の直前に探索した量子化係数Ｃｐ（埋め込む前の量子化係数値が「０」）に対し、電子透かし情報ｗが「０」〜「ｎ−１」であることを意味する埋込値として、「ｗ−ｎ」を埋め込む（Ｓ２０７）。具体的には電子透かし情報「０」〜「ｎ−１」に対応して埋込値「−ｎ」〜「−１」を埋め込む。なお、埋込値「０」〜「ｎ−１」と透かし情報「−ｎ」〜「−１」との対応関係は、１対１の対応関係を付けることができる関係であれば、これ以外の組み合わせにしてもかまわない。
電子透かし情報ｗが「ｎ」〜「２ｎ−１」の場合は、量子化係数Ｃｐに対し、電子透かし情報ｗが「ｎ」〜「２ｎ−１」であることを意味する埋込値として、「ｗ−ｎ＋１」を埋め込む（Ｓ２０８）。具体的には電子透かし情報ｗが「ｎ」〜「２ｎ−１」に対応して「１」〜「ｎ」を埋め込む。なお、埋込値「０」〜「ｎ−１」と透かし情報「−ｎ」〜「−１」との対応関係は、１対１の対応関係を付けることができる関係であれば、これ以外の組み合わせにしてもかまわない。
【００５３】
Ｓ２０６に進んだ場合は、量子化係数値が０の量子化係数がない（最初に探索するＣ６３が０以外）。このときに電子透かし情報を埋め込むと、埋め込んだ電子透かし情報を取り出すことができなくなるので、代わりに、以下に説明する規則にしたがって、電子透かし欠落情報を、量子化係数Ｃ６３に埋め込む。
このときは、まず、埋め込む前の量子化係数Ｃ６３の量子化係数値が正か負かを区別する（Ｓ２０６）。そして正である場合は電子透かし欠落情報として「ｎ」を加えた「Ｃ６３＋ｎ」を埋め込む（Ｓ２０９）。一方、負である場合は電子透かし欠落情報として「−ｎ」を加えた「Ｃ６３−ｎ」を埋め込む（Ｓ２１０）。なお、正負になお、Ｓ２０９、Ｓ２１０において、正負に対する埋込値の対応関係を逆にしてもよい。すなわち、正である場合は埋込値「Ｃ６３−１」、負である場合は埋込値「Ｃ６３＋１」を埋め込んでもよい。ただし、逆にすると、埋め込みによる画質の劣化が大きくなるおそれがある。
【００５４】
埋め込み前の量子化係数Ｃ６３の値は、０以外の正の整数又は負の整数であるので、正の整数の場合は、量子化係数Ｃ６３の埋込値「Ｃ６３＋ｎ」の値がｎ＋１以上の整数になる。負の整数の場合は、量子化係数Ｃ６３の埋込値「Ｃ６３−ｎ」は−（ｎ＋１）以下の整数になる。
一方、量子化係数Ｃ６３が０、かつ、量子化係数Ｃ６２が０以外であったため（すなわち量子化係数Ｃ６２がＣｍで、量子化係数Ｃ６３がＣｐになった場合）、電子透かし情報が量子化係数Ｃ６３に埋め込まれたときは、量子化係数Ｃ６３は埋め込まれた後の埋込値が「１」〜「ｎ」（Ｓ２０８の場合）、または、「−ｎ」〜「−１」（Ｓ２０７の場合）になる。
したがって、量子化係数Ｃ６３の埋込値が「１」〜「ｎ」であれば電子透かし情報ｗが「ｎ」〜「２ｎ−１」であることになり、埋込値が「−ｎ」〜「−１」であれば電子透かし情報ｗが「０」〜「ｎ−１」であることになる。また、量子化係数Ｃ６３の埋込値が「ｎ＋１」以上または「−（ｎ＋１）」以下」であれば電子透かし欠落情報が埋め込まれていることになり、電子透かし情報の内容、あるいは電子透かし欠落情報が識別可能になる。
【００５５】
続いて電子透かし情報ｗに対応する埋込値、あるいは電子透かし欠落情報に対応する埋込値が埋め込まれた量子化係数ブロックについて、量子化係数ブロック内の各量子化係数をジグザグ走査順（図３参照）で並べて、量子化係数列にし、エントロピー符号化（ハフマン符号化、ランレングス符号化）を実行する（Ｓ２１１）。これにより、透かし入りＪＰＥＧ画像符号化系列が作成される。埋め込む電子透かし情報が複数のときは、同様の処理を他の画素ブロックでも実行し、すべての電子透かし情報を埋め込む。
【００５６】
以上の処理により、後で、電子透かし情報を取り出すことができるとともに、電子透かしを埋め込む前のＪＰＥＧ画像符号化系列を復元することができる透かし入りＪＰＥＧ画像符号化系列を作成することができる。
【００５７】
（ＪＰＥＧ画像復元装置）
次に、ＪＰＥＧ画像復元装置について説明する。図１０は、本発明の一実施形態であるＪＰＥＧ画像復元装置３０の構成を示すブロック図である。
ＪＰＥＧ画像復元装置３０は、電子透かし情報復元用のプログラムと、このプログラムを実行して演算処理を行うＣＰＵ、演算の際の作業領域となるメモリ、画像データの入出力を行う入出力インタフェースを含むハードウェアを有するコンピュータ装置とから構成される。
【００５８】
本装置による具体的な機能を説明するために、機能ブロックごとに分けて説明すると、ＪＰＥＧ画像復元装置３０は、量子化係数ブロック作成部３１、量子化係数値探索部３２、量子化係数ブロック復元部３３、エントロピー符号化部３４、復元ＪＰＥＧ画像データ作成部３５からなる。
【００５９】
量子化係数ブロック作成部３１は、透かし入りＪＰＥＧ画像符号化系列に基づいて、ＪＰＥＧ形式での復元処理を実行する過程で算出される量子化係数ブロックを作成する処理を行う。
すなわち、図１６で説明した復元処理の手順の一部であるエントロピー復号（ハフマン復号、ランレングス復号）、量子化係数列の作成の各手順を経て量子化係数ブロックを作成する処理を行う。作成される量子化係数ブロックは、電子透かし情報等が埋め込まれた量子化係数ＣｐまたはＣ６３の量子化係数値が異なること以外は図２と同様である。
【００６０】
量子化係数値探索部３２は、電子透かし情報が埋め込まれた量子化係数を決定するための探索処理を実行する。
図１１は、このときの探索処理の手順を説明する図である。量子化係数ブロックの各量子化係数Ｃｋを、電子透かし情報を埋め込むときに行った探索順と同じ探索順、すなわちジグザグ走査順の逆順（図３の量子化係数番号の降順）で探索し、最初に量子化係数値が０以外の値になる量子化係数を探索する。
【００６１】
高い周波数成分の量子化係数値は、一般的には０であり、低い周波数成分になってから０以外の量子化係数値が存在するようになるので、この順で探索を続けていくと、やがて０以外の量子化係数が見つかることになる。そして、最初に見つかった量子化係数Ｃｐを、電子透かしが埋め込まれた量子化係数として抽出する。
【００６２】
すなわち、量子化係数ブロック内の探索順を埋め込み時の探索順と同じにすることで、最初に発見された０以外の量子化係数値を有する量子化係数Ｃｐが、電子透かし情報となる。唯一の例外として、最も高い周波数成分の量子化係数Ｃ６３が０以外となっているときは、電子透かし欠落情報が埋め込まれているか、電子透かし情報が埋め込まれているかのいずれかになる。
【００６３】
量子化係数ブロック復元部３３は、探索結果に基づいて、量子化係数値が０以外である量子化係数Ｃｐが量子化係数Ｃ６３（＝Ｃｋｈ）でないときは量子化係数Ｃｐを電子透かし情報に対応する埋込値が埋め込まれた量子化係数として特定するとともに、量子化係数Ｃｐが量子化係数Ｃ６３であるときは、量子化係数Ｃ６３を、電子透かし情報に対応する埋込値、または、電子透かし欠落情報に対応する埋込値が埋め込まれた量子化係数として特定する。そして、特定された量子化係数（Ｃｐ  or  Ｃ６３）に基づいて、電子透かし情報または電子透かし欠落情報を取り出す（具体的な取り出し方法は後述する）とともに、電子透かし情報を除去して、埋め込む前の量子化係数ブロックを復元する、
【００６４】
エントロピー符号化部３４は、電子透かし情報が除去されることにより復元された量子化係数ブロックに対するエンロトピー符号化処理を実行し、電子透かし情報や電子透かし欠落情報が除去された復元ＪＰＥＧ画像符号化系列を作成する。
【００６５】
復元ＪＰＥＧ画像データ作成部３５は、復元ＪＰＥＧ画像符号化系列に基づいて、ＪＰＥＧ画像を作成する。
【００６６】
（動作例３）
次に、ＪＰＥＧ画像復元装置３０による電子透かし情報を除去して元のＪＰＥＧ画像符号化系列を復元する動作について説明する。最初に、埋め込まれた電子透かし情報が「０」または「１」の２値である場合（動作例１の場合）について説明する。
図１２は、動作手順の一例を示すフローチャートである。
【００６７】
まず、透かし入りＪＰＥＧ画像符号化系列に、エントロピー復号（ハフマン復号およびランレングス復号）を行い、量子化係数列(量子化ＤＣＴ係数の列)を抽出する（Ｓ３０１）。
続いて、抽出した量子化係数列の各量子化係数を、ジグザグ走査順（図３参照）に並べて、量子化係数ブロック（Ｃ０〜Ｃ６３）を作成する（Ｓ３０２）。
【００６８】
続いて、量子化係数Ｃ６３からジグザグ走査順（図２参照）の降順で、量子化係数値が最初に０以外になる量子化係数番号ｐ（量子化係数Ｃｐ）を探索する（Ｓ３０３）。
【００６９】
量子化係数番号ｐの値が、「ｐ＝６３」で、かつ、最も高い周波数成分の量子化係数番号６３（量子化係数Ｃ６３）の値が「｜Ｃ６３｜＞１」であるかを判定する（Ｓ３０４）。
【００７０】
Ｓ３０４で「ＹＥＳ」である場合は、Ｓ３０６に進む。Ｓ３０４で「ＮＯ」である場合は、Ｓ３０５に進む。
【００７１】
Ｓ３０５に進んだ場合は、電子透かし情報が埋め込まれているので、量子化係数Ｃｐに埋め込まれた値が「Ｃｐ＞０」、すなわち埋込値が「−１」または「１」のいずれであるかを区別する（Ｓ３０５）。
そして、埋込値が「−１」の場合は、電子透かし情報ｗは「０」と決定し（Ｓ３０７）、量子化係数番号ｐ（量子化係数Ｃｐ）の値を０に復元する（Ｓ３０９）。一方、埋込値が「１」の場合は、電子透かし情報ｗは「１」と決定し（Ｓ３０８）、量子化係数番号ｐ（量子化係数Ｃｐ）の値を０に復元する（Ｓ３０９）。
【００７２】
Ｓ３０６に進んだ場合は、電子透かし欠落情報が埋め込まれていると判定し、「Ｃ６３＞０」すなわち正か負かを判定する（Ｓ３０６）。
そして、量子化係数Ｃ６３の値が正のときは、電子透かし欠落情報として埋込値「Ｃ６３＋１」が埋め込まれているので、量子化係数Ｃ６３の現在の値に「−１」を加えて本来の量子化係数値である値「Ｃ６３」に復元する（Ｓ３１０）。量子化係数Ｃ６３の値が負のときは、電子透かし欠落情報として埋込値「Ｃ６３−１」が埋め込まれているので、量子化係数Ｃ６３の現在の値に「１」を加えて本来の量子化係数値である値「Ｃ６３」に復元する（Ｓ３１１）。
【００７３】
以上の手順で電子透かし情報等が除去された元の量子化係数ブロックが復元されたので、これにランレングス符号化、ハフマン符号化を実行し、復元ＪＰＥＧ画像符号化系列を作成する（Ｓ３１２）。そして、復元ＪＰＥＧ画像符号化系列に基づいて、ＪＰＥＧ画像の復元処理を実行することで、復元ＪＰＥＧ画像が得られる。
【００７４】
（動作例４）。
次に、埋め込まれた電子透かし情報ｗが「０」から「２ｎ−１」までの２ｎ値である動作例の場合（動作例２の場合）について説明する。
図１３は、本動作例の一例を示すフローチャートである。図において、Ｓ４０１〜Ｓ４０３までの手順は、図１２のＳ３０１〜Ｓ３０３までの手順と同じであるので、説明を省略する。
【００７５】
Ｓ４０３の次に、量子化係数番号ｐの値が、「ｐ＝６３」で、かつ、最も高い周波数成分の量子化係数番号６３（量子化係数Ｃ６３）の値が「｜Ｃ６３｜＞ｎ」であるかを判定する（Ｓ４０４）。
Ｓ４０４で「ＹＥＳ」である場合は、Ｓ４０６に進む。Ｓ４０４で「ＮＯ」である場合は、Ｓ４０５に進む。
【００７６】
Ｓ４０５に進んだ場合は、電子透かし情報ｗに対応する埋込値「−ｎ」〜「−１」、または「１」〜「ｎ」が埋め込まれているので、量子化係数Ｃｐに埋め込まれた値が「Ｃｐ＞０」、すなわち量子化係数Ｃｐの埋込値が正又は負のいずれであるかを区別する（Ｓ４０５）。
そして、埋込値が負である場合、すなわち「−ｎ」〜「−１」の場合は、電子透かし情報ｗが「Ｃｐ＋ｎ」であると決定し（Ｓ４０７）、量子化係数番号ｐ（量子化係数Ｃｐ）の係数値を０に復元する（Ｓ４０９）。一方、埋込値が正である場合、すなわち埋込値が「１」〜「ｎ」の場合は、電子透かし情報ｗが「Ｃｐ＋ｎ−１」であると決定し（Ｓ４０８）、量子化係数番号ｐ（量子化係数Ｃｐ）の係数値を０に復元する（Ｓ４０９）。
【００７７】
Ｓ４０６に進んだ場合は、電子透かし欠落情報が埋め込まれていると判定し、量子化係数Ｃ６３の係数値が「Ｃ６３＞０」、すなわち正か負かを判定する（Ｓ４０６）。
そして、量子化係数Ｃ６３の値が正のときは、電子透かし欠落情報として埋込値「Ｃ６３＋ｎ」が埋め込まれているので、量子化係数Ｃ６３の現在の値に「−ｎ」を加えて本来の量子化係数値である値「Ｃ６３」に復元する（Ｓ４１０）。量子化係数Ｃ６３の値が負のときは、電子透かし欠落情報として埋込値「Ｃ６３−ｎ」が埋め込まれているので、量子化係数の現在の値に「ｎ」を加えて本来の量子化係数値である「Ｃ６３」に復元する（Ｓ４１１）。
【００７８】
以上の手順で電子透かし情報等が除去された元の量子化係数ブロックが復元されたので、これにランレングス符号化、ハフマン符号化を実行し、復元ＪＰＥＧ画像符号化系列を作成する（Ｓ４１２）。そして、復元ＪＰＥＧ画像符号化系列に基づいて、ＪＰＥＧ画像の復元処理を実行することで、復元ＪＰＥＧ画像が得られる。
【産業上の利用可能性】
【００７９】
本発明は、ＪＰＥＧ画像に電子透かし情報を埋め込む電子透かし情報埋込装置、および、電子透かし情報が埋め込まれたＪＰＥＧ画像符号化系列から電子透かし情報を取り出し、元のＪＰＥＧ画像を復元するＪＰＥＧ画像復元装置に利用することができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施形態であるＪＰＥＧ画像用電子透かし情報埋込装置の構成を示すブロック図。
【図２】量子化係数ブロックの一例を示す図。
【図３】量子化係数ブロックの量子化係数番号の順番およびジグザグ走査順を説明する図。
【図４】探索順の一例を説明する図。
【図５】電子透かし情報の埋め込み位置を決定する手順を説明する図。
【図６】探索順の他の一例を示す図。
【図７】探索順の他の一例を示す図。
【図８】電子透かし情報を埋め込む動作例の一つを示すフローチャート。
【図９】電子透かし情報を埋め込む動作例の他の一つを示すフローチャート。
【図１０】本発明の一実施形態であるＪＰＥＧ画像復元装置の構成を示すブロック図。
【図１１】探索順の一例を示す図。
【図１２】電子透かし情報を抽出し、画像を復元する動作例の一つを示すフローチャート。
【図１３】電子透かし情報を抽出し、画像を復元する他の動作例の一つを示すフローチャート。
【図１４】ＪＰＥＧ圧縮の手順を説明するフローチャート。
【図１５】量子化テーブルの一例を示す図。
【図１６】ＪＰＥＧ画像符号化系列の復元手順を説明するフローチャート。
【符号の説明】
【００８１】
１０：  ＪＰＥＧ画像用電子透かし情報埋込装置
１１：  量子化係数ブロック作成部
１２：  量子化係数値探索部
１３：  電子透かし情報埋込部
１４：  エントロピー符号化部
３０：  ＪＰＥＧ画像復元装置
３１：  量子化係数ブロック作成部
３２：  量子化係数値探索部
３３：  量子化係数ブロック復元部
３４：  エントロピー符号化部
３５：  復元ＪＰＥＧ画像データ作成部
【図１】
2009105767.tif 000003
【図２】
2009105767.tif 000004
【図３】
2009105767.tif 000005
【図４】
2009105767.tif 000006
【図５】
2009105767.tif 000007
【図６】
2009105767.tif 000008
【図７】
2009105767.tif 000009
【図８】
2009105767.tif 000010
【図９】
2009105767.tif 000011
【図１０】
2009105767.tif 000012
【図１１】
2009105767.tif 000013
【図１２】
2009105767.tif 000014
【図１３】
2009105767.tif 000015
【図１４】
2009105767.tif 000016
【図１５】
2009105767.tif 000017
【図１６】
2009105767.tif 000018