(57)【要約】【課題】電子透かしの埋め込みによる画質の劣化を抑制できるようにする電子透かし埋め込み方法／装置、電子透かし検出方法／装置を提供する。【解決手段】電子透かし埋め込み方法であって、入力画像データに対して情報を埋め込むビットプレーンが指定され、上位のビットプレーンのデータを評価し、評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行い、これによって示された順番に従って、入力画像データに、埋め込みデータを埋め込む。電子透かし検出方法であって、前記埋め込み方法によってデータが埋め込まれた画像データを受信し、この画像データに対して情報を抽出するビットプレーンが指定され、上位のビットプレーンのデータを評価し、評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行い、これによって示された順番に従って、受信した画像データから埋め込みデータを抽出する。【選択図】図１８
2008113470.tif 000002
【特許請求の範囲】
【請求項１】
電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、この情報を埋め込むビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行うステップと、
前記ラベリングによって示された順番に従って、前記入力画像データに、埋め込みデータを埋め込むステップと
を有することを特徴とする電子透かし埋め込み方法。
【請求項２】
電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、
前記請求項１に記載の電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行うステップと、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出するステップと
を有することを特徴とする電子透かし検出方法。
【請求項３】
電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、
入力画像データを複数のブロックに分けるステップと、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて０であるオール０ブロックを特定するステップと、
前記入力画像データに、埋め込みデータを埋め込むステップとをさらに有し、
前記埋め込みデータを埋め込むステップにおいて、前記オール０ブロック以外のブロックにデータを埋め込む
ことを特徴とする請求項１に記載の電子透かし埋め込み方法。
【請求項４】
電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、
前記請求項３に記載の電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、
入力画像データを複数のブロックに分けるステップと、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて０であるオール０ブロックを特定するステップと、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行うステップと、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出するステップとを有し、
前記データを抽出するステップにおいて、前記オール０ブロック以外のブロックからデータを抽出する
ことを特徴とする電子透かし検出方法。
【請求項５】
電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定するステップと、
前記埋め込み位置を記憶するステップと、
前記情報を埋め込む位置よりも下位のビットプレーンに、メッセージ情報を埋め込むステップと
を有することを特徴とする電子透かし埋め込み方法。
【請求項６】
電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、
前記請求項５に記載の電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、
この受信した画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定するステップと、
前記埋め込み位置を記憶するステップと、
前記情報を埋め込む位置よりも下位のビットプレーンからメッセージ情報を抽出するステップと
を有することを特徴とする電子透かし検出方法。
【請求項７】
画像データに対して電子透かしを埋め込む電子透かし埋め込み装置であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、この情報を埋め込むビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行う第１の上位ビットプレーン評価手段と、
前記ラベリングによって示された順番に従って、前記入力画像データに、埋め込みデータを埋め込む埋め込み手段と
を有することを特徴とする電子透かし埋め込み装置。
【請求項８】
画像データから電子透かしを検出する電子透かし検出装置であって、
前記請求項７に記載の電子透かし埋め込み装置によってデータが埋め込まれた画像データを受信する手段と、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行う第２の上位ビットプレーン評価手段と、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出する抽出手段と
を有することを特徴とする電子透かし検出装置。
【請求項９】
画像データに対して電子透かしを埋め込む電子透かし埋め込み装置であって、
入力画像データを複数のブロックに分けるブロック化手段と、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて０であるオール０ブロックを特定するブロック判定手段と、
前記入力画像データに、埋め込みデータを埋め込む手段とを有し、
前記埋め込む手段がオール０ブロック以外のブロックにデータを埋め込む
ことを特徴とする請求項７に記載の電子透かし埋め込み装置。
【請求項１０】
画像データから電子透かしを検出する電子透かし検出装置であって、
前記請求項９に記載の電子透かし埋め込み装置によってデータが埋め込まれた画像データを受信し、入力画像データを複数のブロックに分けるブロック化手段と、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて０であるオール０ブロックを特定するブロック判定手段と、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行う第２の上位ビットプレーン評価手段と、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出する抽出手段とを有し、
前記抽出手段において、前記オール０ブロック以外のブロックからデータを抽出する
ことを特徴とする電子透かし検出装置。
【請求項１１】
画像データに対して電子透かしを埋め込む電子透かし埋め込み装置であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定する埋め込み係数決定手段と、
前記埋め込み位置を記憶する埋め込み位置記憶手段と、
前記情報を埋め込む位置よりも下位のビットプレーンに、メッセージ情報を埋め込む埋め込み手段と
を有することを特徴とする電子透かし埋め込み装置。
【請求項１２】
画像データから電子透かしを検出する電子透かし検出装置であって、
前記請求項１１に記載の電子透かし埋め込み装置によってデータが埋め込まれた画像データを受信し、この受信した画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定する埋め込み係数決定手段と、
前記埋め込み位置を記憶する埋め込み位置記憶手段と、
前記情報を埋め込む位置よりも下位のビットプレーンからメッセージ情報を抽出する抽出手段と
を有することを特徴とする電子透かし検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの改ざんの検出等に用いられる電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置に関するものである。
【背景技術】
【０００２】
≪第１の従来技術≫
［フラジャイル電子透かし技術］
図３１は、ビットプレーン（bit-plane）の概念の説明図である。図３１には、縦４個、横３個からなる係数が描かれている。各係数は、符号ビットと絶対値で表現される。図３１に示されるように、ビットプレーンには、係数をＭＳＢ（最上位ビット）からＬＳＢ（最下位ビット）までの各ビットで順次スライスして得られる各サンプルに対応する絶対値（「１」又は「０」）のビットプレーンと、係数の符号（「＋」又は「−」）のビットプレーンとがある。
【０００３】
図３２は、ビットマップ画像にフラジャイル（fragile）電子透かしを埋め込む動作の説明図である。図３２に示されるように、電子透かし埋め込み時には、ＬＳＢ以外のビットプレーン（厳密に検証する場合には、ＬＳＢ以外のビットプレーンと、ＬＳＢの埋め込みに使用していないすべてのビット）からハッシュ値を計算し、公開鍵暗号方式で暗号化したハッシュ値（電子署名）をＬＳＢに埋め込む。通常、ＬＳＢ内の埋め込み位置は、鍵をシードにした擬似ランダムシーケンス等を用いてランダマイズされる。
【０００４】
図３３は、フラジャイル電子透かしを検証する動作の説明図である。図３３に示されるように、電子透かしの検証時には、署名データの埋め込まれた画像のＬＳＢ部分から、埋め込み側と同様の手順で埋め込み位置を決定し、埋め込みデータを取り出す。取り出したデータから、電子透かし埋め込み時に生成されたハッシュ値を解読する。また、ＬＳＢ以外のビットプレーン（厳密に検証する場合には、ＬＳＢ以外のビットプレーンと、ＬＳＢの埋め込みに使用していないすべてのビット）から埋め込み側と同様のアルゴリズムでハッシュ値を計算し、これを、解読したハッシュ値と比較する。比較の結果、両方のハッシュ値が一致すれば画像に改ざんが無いことがわかる（例えば、特許文献１参照）。
【０００５】
通常、画像データに比べて生成されるハッシュ値のビット長は非常に短い長さである。例えば、ＳＨＡ１として知られているハッシュアルゴリズムの場合には、入力されるデータ長にかかわらず出力されるデータは１６０ｂｉｔである。しかし、ハッシュ演算の特性上、画像に対して微少な変化があっただけで、生成されるハッシュ値は全く異なった値となる。このため、ハッシュ値を比較することにより、１ピクセルの改ざんであっても、検出することができる。また、１個のハッシュ値を計算する範囲を画像全体でなく、画像内のＭ×Ｎピクセルサイズのブロックで区切った範囲とすると、画像の改ざんをＭ×Ｎブロックの単位で検出することができ、画像内の改ざん箇所をブロック単位で特定することができる。
【０００６】
また、フラジャイル電子透かしには、ウェーブレット（Wavelet）変換やＤＣＴ（離散コサイン変換）、量子化等をした後の周波数空間上の係数に対して、ハッシュ値や署名データを埋め込む方式もある。この方式の場合にも、ビットマップに対する電子透かしの場合と同様であり、ハッシュ値の計算対象や署名データの埋め込み対象が、画像データそのものから周波数変換後の係数に置き換わっただけである。さらにまた、ハッシュ値の計算対象と埋め込み対象の座標を変える方式もあるが、この方式の場合にも、同様の検出方法を用いている。
【０００７】
［周波数空間上の係数の符号化方法］
ウェーブレット変換やＤＣＴ、量子化等をした後の周波数空間上の係数に電子透かしを埋め込む場合、同時に係数を符号化（圧縮）する場合がある。図３４は周波数空間上の係数を符号化する構成を示すブロック図である。図３４に示されるように、係数を符号化する構成は、入力画像に対して周波数変換を行う周波数変換手段１０１１と、変換係数をＭＳＢからＬＳＢに至るビットプレーンに展開し、所定の大きさのコードブロックごとに各ビットプレーンの符号化パス（符号化処理を行う手順）を決定するビットプレーン符号化パス生成手段１０１２と、符号化パスに従って算術符号化を行う算術符号化手段１０１３と、生成された算術符号から目標の符号量（圧縮後のビットレート又はファイルサイズと等価）になるように符号量を制御するレート制御手段１０１４とを有する。
【０００８】
ある符号化方法の一例では、周波数変換手段１０１１が画像を係数のビットプレーンに変換し、ビットプレーン符号化パス生成手段１０１２が一つのビットプレーンに対して一つの符号化パスを生成し、算術符号化手段１０１３が符号化パスに従って算術符号化を行う。図３５は、ビットプレーン番号‘ｎ−２’、‘ｎ−３’、…、‘１’、‘０’のビットプレーン（図３５において、Bit-plane  (n-2),  Bit-plane  (n-3),…,  Bit-plane  (1),  Bit-plane  (0)と表記する。）のそれぞれに対して一つの符号化パス（図３５において、Coding  Pass  Xと表記する。）が生成される場合の算術符号化プロセスの説明図である。すべてのビットプレーンの算術符号化を行い、その後、レート制御手段１０１４が符号量の制御を行う。その際、レート制御手段１０１４は、各符号化パスごとの算術符号化量をカウントし、目標の符号化量に達した時点で、それより後の算術符号化データを切り捨てる。このようにして算術符号が打ち切られる位置を「算術符号打ち切り点」と呼ぶ。
【０００９】
上記した例では、算術符号打ち切り点は、いずれかのビットプレーンの境界となるので、あるビットプレーンの一部の係数だけが圧縮後の算術符号データに含まれ、一部の係数が切り捨てられて、圧縮後の算術符号データに含まれないということはない。そのため、電子透かしを埋め込むときに、ある決められたビットプレーンに電子透かしを埋め込んでおき、そのビットプレーン以降に算術符号打ち切り点があれば、検証の際に、そのビットプレーンのすべてのデータを復号することができるので、すべての電子透かしを取り出すことができる。算術符号が行われる単位であるコードブロックごとに打ち切り点が異なっている場合も同様である。
【００１０】
しかし、例えば、次世代の静止画像符号化標準であるＪＰＥＧ２０００では、一つのビットプレーンを３種類の符号化パスで構成し、その後、各符号化パスに従って算術符号化を行っている。具体的には、周波数変換（この場合は、ウェーブレット変換）された係数の各ビットプレーンを、シグニフィカンスプロパゲーションパス（significance  propagation  pass）、マグニチュードリファイメントパス（magnitude  refinement  pass）、クリーンナップパス（cleanup  pass）と呼ばれる３種類の符号化パスで算術符号化している。なお、ビットプレーンの各ビットがどの符号化パスで符号化されるかは、周辺の画素を含む既に符号化された上位のビットプレーンの状況に応じて異なる。
【００１１】
ＪＰＥＧ２０００では、ＭＳＢ側から何番目のビットプレーンで初めて「１」が出現するかを別途符号化し、最初に「１」が出現するビットプレーンは、クリーンナップパスのみで符号化される。以上の処理で生成される符号化パスを図示すると図３６のようになる。図３６では、あるコードブロックの符号化パス及び算術符号打ち切り点を示しているが、通常、それらはコードブロックごとに異なる。図３６に示されるように、各ビットプレーン（図３６において、Bit-plane  (n-2),  Bit-plane  (n-3),  Bit-plane  (n-4),  …,  Bit-plane  (0)と表記する。）に対して複数の符号化パス（図３６において、Coding  Pass  A,  Coding  Pass  B,  Coding  Pass  Cと表記する。）に従う算術符号化を行い、その後、レート制御手段１０１４で符号量の制御を行う。その際、レート制御手段１０１４は、符号化パスの算術符号化量をカウントし、目標の符号化量に達した時点で、その後の算術符号化データを切り捨てる。
【００１２】
≪第２の従来技術≫
［ビットプレーンの打ち切りがある場合の電子透かし埋め込み方法］
上記したように、画像データを周波数変換した変換係数に対して、圧縮しながら、電子透かしを埋め込む場合には、所定の大きさのコードブロックごとに変換係数のビットプレーンを途中から打ち切ることにより圧縮する場合がある。このような場合にも、画像データ全体を改ざん検出の対象とするため、打ち切られたビットプレーンの直前のビットプレーンに電子透かしが埋め込まれる。具体的には、図３７に示されるように、あるコードブロックにおいてビットプレーン番号‘２’以下のビットプレーンが打ち切られる場合、ビットプレーン番号‘３’のビットプレーンに電子透かしが埋め込まれる。
【００１３】
このようにすれば、復号する過程で検証する場合、ビットプレーン番号‘２’は打ち切られて存在しないので、復号できたビットプレーンのうち最下位のビットプレーン（ビットプレーン番号‘３’）に電子透かしが埋め込まれていることが分かる。従って、そのビットプレーンから電子透かしを抽出することができる。
【００１４】
≪第３の従来技術≫
第３の従来技術は、上記第１の従来技術と同じである。
【００１５】
【特許文献１】特開２００１−０４２７６８公報（図１〜図４）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
≪第１の従来技術の課題≫
第１の従来技術では、一つのビットプレーンを複数の符号化パスを用いて算術符号化する場合に、ビットプレーン途中の符号化パス以降の算術符号が打ち切られる可能性がある。例えば、図３６に示されるように、算術符号打ち切り点以降の符号化パスの算術符号が切り捨てられた場合、ビットプレーン番号ｎ−４のビットプレーン（図３６においては、Bit-plane  (n-4)と表記する。）の一部しか符号化されないことになる。
【００１７】
従って、電子透かしを埋め込むときに、ある決められたビットプレーンに電子透かしを埋め込んでおいても、そのビットプレーンを符号化している符号化パスの途中で算術符号が打ち切られ、それ以降の算術符号化データが切り捨てられることが起こり得る。この場合には、電子透かしを埋め込んだ係数のうち、一部の係数が切り捨てられて、圧縮後の算術符号データに含まれないことになる。その結果、埋め込んだ電子透かしをすべて取り出すことができず（フラジャイル電子透かしでは、改ざんがない場合、検証の際には埋め込んだときと全く同じ電子透かしが抽出されなければならない。）、電子透かしを正しく検証できなくなるという問題がある。
【００１８】
≪第２の従来技術の課題≫
第２の従来技術では、圧縮されて電子透かしが埋め込まれた状態から、一度復号されると、どのビットプレーンで変換係数が打ち切られたかという情報が失われるので、電子透かしを埋め込んだビットプレーンを決定することができないという問題がある。
【００１９】
なお、ＪＰＥＧ２０００の可逆型フィルタのような周波数変換を用いた場合、一度復号された画像を再び同じように周波数変換して変換係数を求めれば、全く同じ変換係数が得られる。そのため、図３８（ａ）に示されるように、復号する際に打ち切られたビットプレーン（図３８（ａ）においては、ビットプレーン番号‘２’、‘１’、‘０’）をすべて「０」として復号しておけば、再び同じように可逆型の周波数変換を行うことにより、打ち切られたビットプレーンはすべて「０」となる。従って、ＬＳＢから各ビットプレーンのビットを調べることにより、最初に「１」が出現するビットプレーンを電子透かしの埋め込まれたビットプレーンと判定することができる。ただし、この場合も、電子透かしを埋め込むことによって、電子透かしを埋め込んだビットプレーンのビットの中に「１」のビットが少なくとも１個存在するようにしなければならない。
【００２０】
ところが、図３８（ｂ）に示されるように、復号の際に、打ち切られたビットプレーンの最上位ビットプレーン（図３８（ｂ）においては、ビットプレーン番号‘２’）は、非０係数の場合、通常「１」として復号されるため、上記のような手段を用いることもできない。このような処理が行われる理由としては、量子化された値を逆量子化する場合、量子化ステップサイズの半分の値を加えて値を再構成するのが、一番画質がよいとされていることが挙げられる。あるビットプレーン番号以下のビットプレーンを打ち切るということは、「２の（ビットプレーン番号）乗」の量子化ステップサイズで量子化することと等価である。そのため、そのステップサイズの半分を加えることが、ちょうど打ち切られたビットプレーンのうち最上位のビットプレーンを「１」として、復号することと等価になる。ただし、打ち切られたその他の下位ビットプレーンの値をどのようにするかは、復号の際の自由裁量に任されており、復号して再び周波数変換をした場合、どのような値になるかは予測できない。
【００２１】
≪第３の従来技術の課題≫
第３の従来技術では、電子透かしの情報ビットの埋め込みに箇所によっては、画質の劣化が顕著になるという問題がある。
【００２２】
また、電子透かしの情報ビットを埋め込む係数を選択する際に、近傍にある係数群でグルーピングし、グループ内に情報ビットを埋め込む場合がある。しかし、グルーピング内に情報の埋め込みに適した箇所（例えば、図３９に示される髪の毛等の高い周波数成分の領域）がない場合には、情報の埋め込みに適していない箇所（例えば、図３９に示される均一な背景等の低い周波数成分の領域）に、情報の埋め込まなければならず、平坦な背景等において画質が劣化するという問題がある。また、ＪＰＥＧ２０００のＳＮＲスケーラビリティ使用時には、ＬＳＢよりもＭＳＢ側のビットプレーンに情報を埋め込むので、より一層、人間に知覚されやすくなる。
【００２３】
≪参考発明の目的≫
参考発明は、第１の従来技術の課題を解決するためのものであり、その目的は、電子透かしを確実に検出できるようにする電子透かし埋め込み方法及び電子透かし埋め込み装置を提供することである。
【００２４】
≪参考発明の目的≫
参考発明は、第２の従来技術の課題を解決するためのものであり、その目的は、電子透かしが埋め込まれたビットプレーンを確実に特定できるようにする電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。
【００２５】
≪第３の発明の目的≫
第３の発明は、第３の従来技術の課題を解決するためのものであり、その目的は、電子透かしの埋め込みによる画質の劣化を抑制できるようにする電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。
【００２６】
また、第３の発明の他の目的は、埋め込み係数選択時に、圧縮の特性を利用することで、圧縮効率の低下を抑制できるようにする電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。
【００２７】
また、第３の発明のさらに他の目的は、メッセージの埋め込み可能容量を増やすことができる電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。
【課題を解決するための手段】
【００２８】
参考発明の電子透かし埋め込み方法の一態様は、電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、入力画像データを最上位ビットから最下位ビットまでの複数のビットプレーンに展開し、各ビットプレーン毎に１又は複数種類の第１の符号化パスを生成するステップと、前記第１の符号化パスに従って前記各ビットプレーンのデータを算術符号化して第１の符号化データを生成するステップと、目標となる符号量から前記算術符号化における算術符号化量を制御し、算術符号打ち切り点を決定するステップと、得られた算術符号打ち切り点がビットプレーン境界にない場合に、得られた算術符号打ち切り点をビットプレーン境界に変更するステップと、前記入力画像データから署名データを生成するステップと、前記入力画像データに署名データを埋め込むステップと、前記署名データが埋め込まれた画像データを複数のビットプレーンに展開し、各ビットプレーン毎に第２の符号化パスを生成するステップと、前記算術符号打ち切り点まで、前記第２の符号化パスに従って前記各ビットプレーンのデータを算術符号化して第２の符号化データを生成するステップとを有することを特徴としている。
【００２９】
また、参考発明の電子透かし埋め込み方法の一態様は、電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、電子透かしを埋め込むビットプレーンを示すＩＤ情報を埋め込むステップと、前記ＩＤ情報で指定されたビットプレーンにデータを埋め込むステップとを有することを特徴としている。また、参考発明の電子透かし検出方法の一態様は、電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、前記電子透かし埋め込み方法によって画像データに埋め込まれたＩＤ情報を抽出し、データが埋め込まれているビットプレーンを特定するステップと、特定したビットプレーンからデータを抽出するステップとを有することを特徴としている。
【００３０】
また、第３の発明の電子透かし埋め込み方法の一態様は、電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、入力画像データに対して情報を埋め込むビットプレーンが指定され、この情報を埋め込むビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行うステップと、前記ラベリングによって示された順番に従って、前記入力画像データに、埋め込みデータを埋め込むステップとを有することを特徴としている。また、第３の発明の電子透かし検出方法の一態様は、電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、前記電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行うステップと、前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出するステップとを有することを特徴としている。
【発明の効果】
【００３１】
参考発明によれば、各ビットプレーンが複数の符号化パスで構成され、算術符号化されている場合であっても、埋め込んだ署名データを検証側ですべて取り出せるようにすることができる。
【００３２】
また、参考発明によれば、電子透かしを検証する際に、電子透かしをどこに埋め込んだかを示す情報が外部から得られなくても、電子透かしが埋め込まれたビットプレーンを特定することができる。そのため、電子透かしが埋め込まれているビットプレーンを特定し、埋め込んでおいたデータを抽出することができる。
【００３３】
また、第３の発明によれば、埋め込みデータを画質の影響の少ない部分に埋め込むことができるため、画質を向上させることができる。
【発明を実施するための最良の形態】
【００３４】
≪１．参考発明≫
≪１−１．第１の実施形態≫
［電子透かし埋め込み側の構成］
図１は、第１の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【００３５】
図１に示されるように、第１の実施形態の電子透かし埋め込み側の構成は、入力端子１００１を通して入力された画像データに周波数変換を施して変換係数を出力する周波数変換手段１０１１と、この周波数変換手段１０１１から出力された変換係数を記憶する変換係数記憶手段１０２１とを有する。また、第１の実施形態の電子透かし埋め込み側の構成は、周波数変換手段１０１１から出力された変換係数をビットプレーン符号化するための符号化パス（符号化処理を行う手順）を生成するビットプレーン符号化パス生成手段１０１２と、このビットプレーン符号化パス生成手段１０１２によって生成された各符号化パスに従って変換係数を算術符号化する算術符号化手段１０１３とを有する。さらに、第１の実施形態の電子透かし埋め込み側の構成は、算術符号化手段１０１３によって算術符号化された算術符号の符号量が目標符号量入力端子１００３から入力された符号量になるように、生成される算術符号化データの符号量を制御するレート制御手段１０１４を有する。さらにまた、第１の実施形態の電子透かし埋め込み側の構成は、埋め込んだ電子透かしをすべて取り出せるようにするために、レート制御手段１０１４により決定された算術符号打ち切り点を変更する符号化パス制御手段１０１５を有する。
【００３６】
また、図１に示されるように、第１の実施形態の電子透かし埋め込み側の構成は、変換係数記憶手段１０２１に記憶された変換係数から署名データを生成する署名生成手段１１０１と、この署名生成手段１１０１から得られる署名データを変換係数に埋め込む署名埋め込み手段１１０２と、署名データが埋め込まれた変換係数をビットプレーン符号化するための符号化パスを生成するビットプレーン符号化パス生成手段１０１２Ａと、このビットプレーン符号化パス生成手段１０１２Ａによって生成された各符号化パスを算術符号化して、符号化／電子透かし埋め込み後の圧縮データを出力する算術符号化手段１０１３Ａとを有する。算術符号化手段１０１３Ａは、ビットプレーン符号化パス生成手段１０１２Ａで生成した符号化パスごとに符号化パス制御手段１０１５で変更した符号化パスまで算術符号化を行い、符号化／電子透かし埋め込み後の圧縮データを得る。算術符号化手段１０１３Ａで生成された符号化／電子透かし埋め込み後の圧縮データは、出力端子１００４を通して出力され、ネットワーク等を経由して、以下に説明する電子透かし検証側の構成に渡される。
【００３７】
［電子透かし検証側の構成］
図２は、第１の実施形態の電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【００３８】
図２に示されるように、第１の実施形態の電子透かし検証側の構成は、上記した電子透かし埋め込み側の構成の出力端子１００４（図１）から出力された圧縮データを入力端子１００６を通して受け取り、圧縮データを復号する復号手段１０３１を有する。また、第１の実施形態の電子透かし検証側の構成は、復号手段１０３１によって得られた係数から署名データを生成する署名生成手段１２０２と、復号手段１０３１によって得られた係数から電子透かし埋め込み側で埋め込まれた署名データを抽出する署名抽出手段１２０１と、署名抽出手段１２０１により抽出された署名データと署名生成手段１２０２により生成された署名データとを比較し、比較結果を出力する署名比較手段１２０３とを有する。署名比較手段１２０３から出力された比較結果は、出力端子１００７を通して出力される。
【００３９】
［電子透かし埋め込み側の動作］
図１に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子１００１へ入力する。周波数変換手段１０１１は、入力端子１００１へ入力された画像データに対して、例えば、ウェーブレット変換やＤＣＴのような周波数変換を行い、周波数空間上の係数を生成する。変換係数記憶手段１０２１は、周波数変換手段１０１１により生成された変換係数を記憶する。
【００４０】
ビットプレーン符号化パス生成部１０１２は、周波数変換手段１０１１で生成された変換係数を所定の大きさのコードブロック（Code-block）に分割し、各コードブロックごとにＭＳＢからＬＳＢに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するための符号化パス（Coding  pass）を予め決めておいたルールに応じて決定する。算術符号化手段１０１３は、ビットプレーン符号化パス生成手段１０１２で生成した符号化パスごとに算術符号化を行い、符号化（圧縮）されたデータを生成する。静止画像符号化標準であるＪＰＥＧ２０００を適用する場合は、周波数変換にはウェーブレット変換を用い、ウェーブレット変換係数の各ビットプレーンは前述の３種類の符号化パス（シグニフィカンスプロパゲーションパス、マグニチュードリファイメントパス、クリーンナップパス）で算術符号化する。
【００４１】
レート制御手段１０１４は、算術符号化量が入力端子１００３から入力された目標符号化量になるように、各コードブロックごとに算術符号化手段１０１３で得られた各符号化パスごとの算術符号化量をカウントし、目標符号化量に達した時点で、それ以降の符号化パスを切り捨てる。この処理により、各コードブロックにおける算術符号打ち切り点が求まり、圧縮後の算術符号化データに含まれる符号化パスが決まる（後述する図３（ａ）参照）。
【００４２】
符号化パス制御手段１０１５は、レート制御手段１０１４で得られた算術符号打ち切り点が、あるビットプレーンのデータの一部が含まれないようなビットプレーンの途中にある場合（後述する図３（ａ）参照）、その算術符号打ち切り点をビットプレーンの境界になるように変更する（後述する図３（ｂ）参照）。その後、各コードブロックにおいて、圧縮後の算術符号化データに含まれるビットプレーンのうち、最もＬＳＢ側のビットプレーンを署名データの埋め込まれるビットプレーンとする。
【００４３】
図３（ａ）及び（ｂ）は、第１の実施形態における符号化パス制御方法の説明図である。図３（ａ）は、符号化パス制御手段１０１５による制御前のビットプレーンの符号化パスを示し、図３（ｂ）は、符号化パス制御手段１０１５による制御後のビットプレーンの符号化パスを示す。図３（ａ）及び（ｂ）においては、各ビットプレーンが３個の符号化パス（図において、Coding  pass  A，Coding  pass  B，Coding  pass  Cと記載する。）で構成されている。
【００４４】
レート制御手段１０１４は、コードブロックＣＢ０（図３において、Code-block  0と表記する。）において、図３（ａ）に示されるように、ビットプレーン番号‘０’のビットプレーン（図３において、Bit-plane  0と表記する。）の途中の符号化パスＡ（図３において、Coding  pass  Aと表記する。）までが圧縮後の算術符号化データに含まれるように、算術符号打ち切り点を設定している。そこで、算術符号打ち切り点がビットプレーンの境界になるように、符号化パス制御手段１０１５により算術符号打ち切り点を変更し、図３（ｂ）に示されるように、同じビットプレーン番号‘０’のビットプレーンの符号化パスＣまでが圧縮後の算術符号化データに含まれるようにする。
【００４５】
また、レート制御手段１０１４は、コードブロックＣＢ１（図３において、Code-block  1と表記する。）において、図３（ａ）に示されるように、ビットプレーン番号‘１’のビットプレーン（図３において、Bit-plane  1と表記する。）の途中の符号化パスＡ（図３において、Coding  pass  Aと表記する。）までが圧縮後の算術符号化データに含まれるように、算術符号打ち切り点を設定している。そこで、算術符号打ち切り点がビットプレーンの境界になるように、符号化パス制御手段１０１５により算術符号打ち切り点を変更し、図３（ｂ）に示されるように、一つ上位のビットプレーン番号‘２’のビットプレーン（図３において、Bit-plane  2と表記する。）の符号化パスＣまでが圧縮後の算術符号化データに含まれるように算術符号打ち切り点を変更する。この場合、算術符号打ち切り点をビットプレーン境界にすればよく、同じビットプレーンを含むようにしても、一つ上位のビットプレーンまで含むようにしてもよい。
【００４６】
また、レート制御手段１０１４は、コードブロックＣＢ２（図３において、Code-block  2と表記する。）において、図３（ａ）に示されるように、ビットプレーン番号‘２’のビットブレーン（図３において、Bit-plane  2と表記する。）の途中の符号化パスＢ（図３において、Coding  pass  Bと表記する。）まで含まれるような算術符号打ち切り点を設定している。そこで、算術符号打ち切り点がビットプレーンの境界になるように、符号化パス制御手段１０１５により算術符号打ち切り点を変更し、同じビットプレーン‘２’の符号化パスＣまでが圧縮後の算術符号化データに含まれるように算術符号打ち切り点を変更する。
【００４７】
コードブロックＣＢ３（図３においてCode-block  3と表記する。）においては、図３（ａ）に示されるように、算術符号打ち切り点がビットプレーン境界にあるので、これを変更する必要はない。
【００４８】
以上の処理によって、符号化パス制御後の各コードブロックにおける圧縮後の算術符号データに含まれる符号化パスの状態は図３（ｂ）のようになる。また、署名データの埋め込まれるビットプレーンは、各コードブロックで圧縮後の算術符号化データに含まれるビットプレーンのうち、最もＬＳＢ側のビットプレーンになる。従って、図３（ｂ）の場合には、圧縮後の算術符号化データに含まれるビットプレーンの番号は、コードブロックＣＢ０，ＣＢ１，ＣＢ２，ＣＢ３のそれぞれについて、‘０’、‘２’、‘２’、‘１’となる。
【００４９】
図３（ａ）及び（ｂ）では、各ビットプレーンが３種類の符号化パスに分けられた場合を示すが、さらに多くの種類の符号化パスによって各ビットプレーンを構成した場合も同様に処理することができる。また、算術符号打ち切り点をビットプレーン境界に変更する際に、変更前における算術符号化量と変更後における算術符号化量との差異が一番小さくなるように、ビットプレーン境界を選択してもよい。
【００５０】
署名生成手段１１０１は、変換係数記憶手段１０２１で保持されている変換係数に対して、署名データを生成する。変換係数のうち生成した署名データを埋め込む係数を除く変換係数から署名データを求める。具体的には、（１）署名データを埋め込むビットプレーン（これは符号化パス制御手段１０１５によって求められた）以外のビットブレーンのデータと、（２）署名データを埋め込むビットプレーンのうち署名データの埋め込みに使用されないすべてのビットとを用いて、ＳＨＡ１等のハッシュ関数で得られたハッシュ値や、ハッシュ値をＲＳＡ等の暗号アルゴリズムで暗号化したもの、ハッシュ値の一部等を署名データとする。
【００５１】
署名埋め込み手段１１０２は、変換係数記憶手段１０２１で保持されている変換係数に対して、署名生成手段１１０１から得られる署名データを埋め込む。埋め込み位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルされた位置とすることもできる。
【００５２】
ビットプレーン符号化パス生成部１０１２Ａは、署名埋め込み手段１１０２で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部１０１２と同様の処理を行う。即ち、署名データが埋め込まれた変換係数に対して、所定の大きさのコードブロックに分割し、そのコードブロックごとにＭＳＢからＬＳＢに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するため、符号化パスを予め決めておいたルールに応じて決定する。算術符号化手段１０１３Ａは、ビットプレーン符号化パス生成手段１０１２Ａで生成した符号化パスごとに符号化パス制御手段１０１５で変更した符号化パスまで算術符号化を行い、符号化（圧縮）されたデータを得る。署名データが埋め込まれ、符号化された係数は、出力端子１００４を通して出力される。
【００５３】
［電子透かし検証側の動作］
図２に示されるように、電子透かしを検証する圧縮画像データを入力端子１００６へ入力する。入力端子１００６へ入力される圧縮画像データは、復号手段１０３１へ渡される。復号手段１０３１は、算術符号化されているデータを復号し、周波数空間上における変換係数を生成する。
【００５４】
署名抽出手段１２０１は、変換係数に埋め込まれた署名データを抽出する。抽出は、署名データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置からデータを抽出することで行う。電子透かし埋め込み側でハッシュ値等を暗号化している場合、ここで暗号をデコードし、元のデータに戻し、署名比較手段１２０３へ渡す。
【００５５】
署名生成手段１２０２は、電子透かし埋め込み側と同様の方法により変換係数に対して署名データを生成する。ただし、電子透かし埋め込み側で暗号化等を使用している場合、ここで暗号化を行う必要はなく、署名抽出手段１２０１で暗号のデコードを行う。生成した署名データは、署名比較手段１２０３へ渡される。
【００５６】
署名比較手段１２０３は、署名抽出手段１２０１により抽出された署名データと、署名生成手段１２０２により生成された署名データを比較し、この比較に基づいて、画像データの改ざんの有無を判定する。例えば、両方の署名データが一致した場合は改ざん無し、一致しない場合は改ざん有りと判定する。判定結果は、比較結果出力端子１００７を通して出力される。
【００５７】
［第１の実施形態の効果］
以上説明したように、第１の実施形態によれば、各ビットプレーンが複数の符号化パスで構成され、算術符号化されている場合であっても、算術符号打ち切り点を変更することによって、埋め込んだ署名データを検証側ですべて取り出せるようにすることができる。また、第１の実施形態によれば、符号化後のデータ量を目標符号化量とするために、符号化処理におけるレート制御を用いることができるので、電子透かし埋め込み側の構成から、目標とする符号量となる符号化データを出力することができる。
【００５８】
≪１−２．第２の実施形態≫
［電子透かし埋め込み側の構成］
図４は、第２の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図４において、図１（第１の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図４に示されるように、第２の実施形態の電子透かし埋め込み側の構成は、無効符号化パス打ち切り手段１０１６を有する点が、上記第１の実施形態（図１）の電子透かし埋め込み側の構成と相違する。
【００５９】
［電子透かし埋め込み側の動作］
第２の実施形態の電子透かし埋め込み側の構成の動作は、無効符号化パス打ち切り手段１０１６の動作を除いて、第１の実施形態の電子透かし埋め込み側の構成（図１）の動作と同様である。図４に示される無効符号化パス打ち切り手段１０１６は、算術符号化手段１０１３Ａで得られた符号化パスの符号結果において、各コードブロックで圧縮後の算術符号データに含まれるビットプレーンのうち、最もＬＳＢ側のビットプレーンの符号化パスで打ち切ってもよい符号化パスがあるかどうかを調べる。その結果、打ち切ってもよいと判断した符号化パスが存在する場合には、その符号化パスを圧縮後の算術符号化データに含まないように変更する。
【００６０】
具体的には、無効符号化パス打ち切り手段１０１６が、上記ビットプレーンにおいて、算術符号化順が遅い符号化パスから順（一つのビットプレーンが符号化パス１，…，ｎ−１，ｎの順で符号化されていた場合、符号化パスｎ，ｎ−１，…，１の順）に調べて、初めて有意なデータが含まれている符号化パスを求める。そして、その有意なデータが含まれている符号化パスまでを圧縮後の算術符号データに含める符号化パスとして、算術符号打ち切り点を変更する。ここで、有意なデータとは、符号化対象となるビットに少なくとも一つの「１」が含まれていることを意味する。符号化対象のビットがすべて「０」である場合は、その符号化パスを圧縮後の算術符号化データに含めなくても、復号する際に符号化されていない符号化パスに該当するビットは「０」として復号すれば（通常の復号処理ではそのように取り扱われる）、署名埋め込み後の変換係数の値を、埋め込み側の装置と検証側の装置で同じにすることができる。このため、上記したように、有意なデータの無い符号化パスを打ち切ることができる。上記以外の点について、第２の実施形態における電子透かし埋め込み側の動作は、第１の実施形態における電子透かし埋め込み側の動作と同じである。
【００６１】
［電子透かし検証側の構成及び動作］
第２の実施形態の電子透かし検証側の構成及び動作は、第１の実施形態の電子透かし検証側の構成（図２）及び動作と同様である。
【００６２】
［第２の実施形態の効果］
以上説明したように、第２の実施形態によれば、算術符号化の符号化パスのうちで、不必要な符号化パスがあるか調べ、不必要な符号化パスがあればその符号化パスを圧縮後の算術符号化データに含めないようにすることにより、同じ変換係数値を復号できることを保証しながら、算術符号化量を削減し、圧縮率の高いデータを得ることができる。
【００６３】
≪１−３．第３の実施形態≫
上述した第１の実施形態の電子透かし埋め込み側の構成では、署名データを埋め込んだすべての変換係数に対して、算術符号化手段１０１３Ａによる算術符号化を行う必要があった。これに対して、第３の実施形態の電子透かし埋め込み側の構成では、各ビットプレーン単位で算術符号を初期化／終端処理することで、算術符号化を各ビットプレーンで独立に処理できるようにし、署名データを埋め込んだビットプレーンのみを算術符号化手段１０１３Ａにより算術符号化し、署名データを埋め込んでいないビットプレーンに対する算術符号化手段１０１３Ａによる算術符号化を省略することができる。
【００６４】
［電子透かし埋め込み側の構成］
図５は、第３の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図５において、図１（第１の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図５に示されるように、第３の実施形態の電子透かし埋め込み側の構成は、符号化器内部リセット手段１０１７を有する点、及び、レート制御手段１０１４から出力される算術符号化データを出力端子１００４に出力する点が、上記第１の実施形態（図１）の電子透かし埋め込み側の構成と相違する。
【００６５】
［電子透かし埋め込み側の動作］
算術符号化手段１０１３で用いられる算術符号には、ＪＰＥＧ２０００等で用いられるＭＱ符号化等がある。ＭＱ符号化の入力としては、符号化対象となるビット（シンボル）及びコンテキストを用いている。コンテキストとは、周辺画像から注目画素の０又は１の予測を行う確率評価モデルであり、予め決められた初期値から符号化対象として入力されたビットに応じて順次更新される。また、算術符号化手段１０１３は、算術符号化用のレジスタを内部に持っており、このレジスタも順次更新しながら算術符号化を行っている。
【００６６】
算術符号化の各処理単位で独立に処理を行うためには、算術符号化用のコンテキストの初期化や内部レジスタの初期化を行う必要がある。また、符号化の終了時には、算術符号化用のレジスタから符号を吐き出す処理である終端処理を行う必要がある。第３の実施形態においては、算術符号化手段１０１３で算術符号化を行う際に、各ビットプレーン単位で独立に処理を行うため、符号化器内部リセット手段１０１７により、各ビットプレーンごとに処理の開始時と終了時に前述の初期化／終端処理を行う。
【００６７】
ビットプレーン符号化パス生成部１０１２Ａは、署名埋め込み手段１１０２で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部１０１２と同様の処理を行うが、符号化パス制御手段１０１５からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、この処理をスキップする。また、同様に、算術符号化手段１０１３Ａでも、符号化パス制御手段１０１５からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、上記ビットプレーンの算術符号化は行わない。
【００６８】
ただし、署名データを埋め込んだビットプレーンは、ビットが変更されているので、ビットプレーン符号化パス生成部１０１２Ａでは、ビットプレーン符号化パス生成部１０１２と同様の処理が行われる。そして、その符号化パスに対しては、算術符号化手段１０１３Ａで、算術符号化を行う。この際、符号化器内部リセット手段１０１７により、各ビットプレーンごとに前述の初期化／終端処理を行うことで、各ビットプレーンを独立に処理でき、署名データを埋め込んだビットプレーンのみの算術符号化が可能となる。
【００６９】
その後、レート制御手段１０１４で確定している署名データを埋め込んでいないビットプレーンの算術符号化データと、算術符号化手段１０１３Ａから得られる署名データを埋め込んだビットプレーンの算術符号化データを結合することにより、符号化（圧縮）されたデータを得る。上記以外の点について、第３の実施形態における電子透かし埋め込み側の動作は、第１の実施形態における電子透かし埋め込み側の動作と同じである。
【００７０】
［電子透かし検証側の構成及び動作］
第３の実施形態の電子透かし検証側の構成及び動作は、第１の実施形態の電子透かし検証側の構成（図２）及び動作と同様である。
【００７１】
［第３の実施形態の効果］
以上説明したように、第３の実施形態によれば、算術符号化において各ビットプレーンを独立に処理するために、算術符号化の初期化／終端処理を行っている。それにより、再び算術符号化をする必要がない署名データを埋め込んでいないビットプレーンの算術符号化をスキップし、算術符号化を行う必要がある署名データの埋め込まれたビットプレーンのみを算術符号化することができ、演算処理量を減らすことができる。
【００７２】
≪１−４．第４の実施形態≫
上述した第１の実施形態の電子透かし埋め込み側の構成では、署名データを埋め込んだすべての変換係数に対して、算術符号化手段１０１３Ａによる算術符号化を行う必要があった。これに対して、第４の実施形態の電子透かし埋め込み側の構成では、算術符号化手段１０１３Ａによる算術符号化を途中から再開できるように算術符号化手段１０１３の符号化器の内部情報を記憶しておくことにより、算術符号化手段１０１３Ａによる算術符号化を行う必要がある署名データの埋め込またビットプレーンのみを符号化することができ、署名データを埋め込んでいないビットプレーンに対する算術符号化手段１０１３Ａによる算術符号化を省略することができる。
【００７３】
［電子透かし埋め込み側の構成］
図６は、第４の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図６において、図１（第１の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図６に示されるように、第４の実施形態の電子透かし埋め込み側の構成は、符号化器内部情報記憶手段１０１８を有する点、及び、レート制御手段１０１４から出力される算術符号を出力端子１００４に出力する点が、上記第１の実施形態（図１）における電子透かし埋め込み側の構成と相違する。
【００７４】
［電子透かし埋め込み側の動作］
算術符号化手段１０１３で用いられる算術符号には、ＪＰＥＧ２０００等で用いられるＭＱ符号化等がある。ＭＱ符号化の入力としては、符号化対象となるビット（シンボル）及びコンテキストを用いている。コンテキストとは、周辺画像から注目画素の０又は１の予測を行う確率評価モデルであり、予め決められた初期値から符号化対象として入力されたビットに応じて、順次更新される。また、算術符号化には、算術符号化用のレジスタを内部に持っており、このレジスタも順次更新しながら算術符号化を行っている。
【００７５】
算術符号化を途中から再開する場合、符号化器の内部情報（コンテキスト、レジスタ）を初期状態から符号化した場合と同じ状態にしておく必要がある。そのために、第４の実施形態では、符号化器内部状態記憶手段１０１８が、算術符号化手段１０１３で算術符号化を行う際に、ビットプレーンの境界から算術符号化を再開できるように、ビットプレーンごとに符号化器の内部情報を記憶している。
【００７６】
ビットプレーン符号化パス生成部１０１２Ａで、署名埋め込み手段１１０２で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部１０１２と同様の処理を行うが、符号化パス制御手段１０１５からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、この処理をスキップする。また、同様に、算術符号化手段１０１３Ａでも上記ビットプレーンの算術符号化は行わない。ただし、ビットプレーン符号化パス生成部１０１２Ａは、署名データを埋め込んだビットプレーンに対しては、ビットが変更されているので、ビットプレーン符号化パス生成部１０１２と同様の処理を行う。そして、その符号化パスに対しては、算術符号化手段１０１３Ａで、算術符号化を行う。この際、符号化器内部状態記憶手段１０１８により、保持されている符号化器の内部情報を用いて、符号化するビットプレーンを符号化した際と同じ内部情報を符号化器に設定してから、算術符号化の処理を行う。
【００７７】
その後、レート制御手段１０１４で確定している署名データを埋め込んでいないビットプレーンの算術符号化データと、算術符号化手段１０１３Ａから得られる署名データを埋め込んだビットプレーンの算術符号化データを結合することにより、符号化（圧縮）されたデータを得る。上記以外の点について、第４の実施形態の電子透かし埋め込み側の動作は、第１の実施形態の電子透かし埋め込み側の動作と同じである。
【００７８】
［電子透かし検証側の構成及び動作］
第４の実施形態の電子透かし検証側の構成及び動作は、第１の実施形態の電子透かし検証側の構成（図２）及び動作と同様である。
【００７９】
［第４の実施形態の効果］
以上説明したように、第４の実施形態によれば、算術符号化を途中から再開できるように符号化器の内部情報を記憶しておくことにより、再び算術符号化をする必要がない署名データを埋め込んでいないビットプレーンの算術符号化をスキップし、算術符号化を行う必要がある署名データの埋め込まれたビットプレーンのみを算術符号化することができ、演算処理量を減らすことができる。
【００８０】
≪１−５．第５の実施形態≫
上述した第１の実施形態の電子透かし埋め込みが側の構成では、まず変換係数に対して、算術符号化を行った後、署名データを埋め込み、さらに署名データを埋め込んだ係数に対して、もう一度算術符号化を行う必要があった。これに対して、第５の実施形態の電子透かし埋め込みが側の構成では、変換係数の算術符号化を行う前に、予め署名データを埋め込むビットプレーンを指定し、生成した署名データをそのビットプレーンに埋め込んだ後に、算術符号化を行う。
【００８１】
［電子透かし埋め込み側の構成］
図７は、第５の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図７において、図１（第１の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。
【００８２】
図７に示されるように、第５の実施形態の電子透かし埋め込み側の構成は、入力端子１００１から入力された画像データを、周波数変換する周波数変換手段１０１１と、周波数変換手段１０１１により生成された変換係数を記憶する変換係数記憶手段１０２１とを有する。また、第５の実施形態の電子透かし埋め込み側の構成は、変換係数から署名データを生成する署名生成手段１１０１と、署名生成手段１１０１から得られる署名データを埋め込む署名埋め込み手段１１０２と、署名データが埋め込まれた変換係数をビットプレーン符号化するために符号化パスを生成するビットプレーン符号化パス生成手段１０１２Ａと、各符号化パスを算術符号化する算術符号化手段１０１３Ａとを有する。算術符号化手段１０１３Ａで生成された符号化／電子透かし埋め込み後の圧縮データは、出力端子１００４を通して出力される。また、署名生成手段１１０１、埋め込む署名埋め込み手段１１０２、ビットプレーン符号化パス生成手段１０１２Ａ、及び算術符号化手段１０１３Ａには、ビットプレーン入力端子１００５を通してビットプレーンが入力される。
【００８３】
［電子透かし埋め込み側の動作］
図７に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子１００１へ入力する。入力端子１００１へ入力される画像データは、周波数変換手段１０１１へ渡される。周波数変換手段１０１１では、入力された画像に対して、例えば、ウェーブレット変換のような周波数変換を行い、周波数空間上の係数を得る。また、変換係数記憶手段１０２１でその変換係数を記憶しておく。
【００８４】
署名生成手段１１０１は、周波数変換手段１０１１で得られた変換係数に対して、署名データを生成する。変換係数のうち生成した署名データを埋め込む係数を除く変換係数から署名データを求める。具体的には、埋め込みビットプレーン入力端子１００５から入力された埋め込みビットプレーン以外と、そのビットプレーンのうち埋め込みに使用しないすべてのビットを用いて、ＳＨＡ１等のハッシュ関数で得られたハッシュ値や、ハッシュ値をＲＳＡ等の暗号アルゴリズムで暗号化したもの、ハッシュ値の一部等を署名データとする。
【００８５】
署名埋め込み手段１１０２は、変換係数記憶手段１０２１で保持されている変換係数に対して、署名生成手段１１０１から得られる署名データを埋め込む。埋め込むビットプレーンは、埋め込みビットプレーン入力端子１００５から入力されるビットプレーンである。埋め込み位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルすることによって得られた位置とすることもできる。
【００８６】
ビットプレーン符号化パス生成部１０１２Ａは、署名埋め込み手段１１０２で得られた署名データが埋め込まれた変換係数に対して、所定の大ささのコードブロックに分割し、そのコードブロックごとにＭＳＢからＬＳＢに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するため、符号化パスを予め決めておいたルールに応じて決定する。算術符号化手段１０１３Ａは、ビットプレーン符号化パス生成手段１０１２Ａで生成した符号化パスごとに算術符号化を行い、符号化（圧縮）されたデータを得る。ビットプレーン符号化パス生成部１０１２Ａ、算術符号化手段１０１３Ａとも符号化パスの生成及びその算術符号化は、埋め込みビットプレーン入力端子１００５から入力されるビットプレーンまで行えばよい。署名データが埋め込まれ、符号化された係数データは、出力端子１００４を通して出力され、電子透かし検証側の構成に渡される。
【００８７】
［電子透かし検証側の構成及び動作］
第５の実施形態の電子透かし検証側の構成及び動作は、第１の実施形態の電子透かし検証側の構成（図２）及び動作と同様である。
【００８８】
［第５の実施形態の効果］
以上説明したように、第５の実施形態によれば、予め署名データを埋め込むビットプレーンを指定することで、変換係数を算術符号化する前に、生成した署名データを埋め込んでおき、その後、署名データを埋め込んだ変換係数の算術符号化を指定されたビットプレーンまで行うことで、第１の実施形態では２回行っていた算術符号化の処理を、１回に削減することができる。
【００８９】
≪１−６．第６の実施形態≫
上述した第１の実施形態の電子透かし埋め込み側の構成では、変換係数に対して生成した符号化パスを算術符号化し、レート制御を行う場合、符号化パスの境界で算術符号打ち切り点を決定していた。これに対して、第６の実施形態の電子透かし埋め込み側の構成では、予めレート制御において算術符号打ち切り点を求める際に、ビットプレーンの途中で打ち切り点が設定されないように、ビットプレーンの境界にのみ算術符号打ち切り点が設定されるような制約条件を設けて、レート制御を行う。
【００９０】
［電子透かし埋め込み側の構成］
図８は、第６の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図８において、図１（第１の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。第６の実施形態の電子透かし埋め込み側の構成は、第１の実施形態におけるレート制御手段１０１４に代えて、制約条件付きレート制御手段１０１９を備え、符号化パス制御手段１０１５を省略した点が、第１の実施形態の電子透かし埋め込み側の構成と相違する。
【００９１】
［電子透かし埋め込み側の動作］
第６の実施形態の電子透かし埋め込み側の構成の動作は、制約条件付きレート制御手段１０１９、署名生成手段１１０１、及び算術符号化手段１０１３Ａの動作を除いて、第１の実施形態の電子透かし埋め込み側の構成の動作と同様である。
【００９２】
通常、レート制御において、算術符号打ち切り点は符号化（圧縮）された画像の画質が最適になるように符号化パスの境界で算術符号打ち切り点が決定される。しかし、制約条件付きレート制御手段１０１９では、あるビットプレーンに埋め込んだ署名データを検証側ですべて取り出せるようにするため、ビットプレーン途中にある符号化パス以降の算術符号が打ち切られることがないように、算術符号打ち切り点を求める。
【００９３】
即ち、算術符号打ち切り点をビットプレーン境界にするという条件で、目標符号量入力端子１００３から入力された符号量になるように、各コードブロックごとに算術符号化手段１０１３で得られた各符号化パスごとの算術符号化量をカウントし、目標の符号化量に達した時点で、それ以降のパスを切り捨てる。この処理により、各コードブロックにおける算術符号打ち切り点が求まり、圧縮後の算術符号データに含まれる符号化パスが決まる。算術符号打ち切り点をビットプレーン境界にするという条件を付けることで、すべてのコードブロックで、図３（ｂ）のようなビットプレーン境界（符号化パスCoding  pass  Cの直後）に算術符号打ち切り点が設定される。ただし、第１の実施形態のように、レート制御で求めた算術符号打ち切り点を、画質を考慮せずに符号化パス制御手段で変更したこととは異なり、第６の実施形態では制約条件があるとは言え、その条件下では、目標となる符号量に対して、最適な画質の圧縮データが得られるように、レート制御を行うことができる。従って、ビットプレーンの境界に算術符号打ち切り点が存在するが、各コードブロックにおける算術符号打ち切り点は、図３（ｂ）と全く同じとは限らない。また、制約条件付きレート制御手段１０１９では、各コードブロックで圧縮後の算術符号データに含まれるビットプレーンのうち、最もＬＳＢ側のビットプレーンを署名データの埋め込まれるビットプレーンとする。
【００９４】
署名生成手段１１０１は、変換係数記憶手段１０２１で保持されている変換係数に対して、署名データを生成する。第１の実施形態と異なる点は、制約条件付きレート制御手段１０１９で求めた、署名データを埋め込むビットプレーンの情報を用いて署名データを生成することである。
【００９５】
算術符号化手段１０１３Ａは、ビットプレーン符号化パス生成手段１０１２Ａで生成した符号化パスごとに算術符号化を行う。第１の実施形態と異なる点は、制約条件付きレート制御手段１０１９で決定した符号化パスまでの算術符号化を行い、符号化（圧縮）されたデータを得ることである。上記以外の点について、第６の実施形態の電子透かし埋め込み側の動作は、第１の実施形態の電子透かし埋め込み側の動作と同じである。
【００９６】
［電子透かし検証側の構成及び動作］
第６の実施形態の電子透かし検証側の構成及び動作は、第１の実施形態の電子透かし検証側の構成（図２）及び動作と同様である。
【００９７】
［第６の実施形態の効果］
以上説明したように、第６の実施形態によれば、一つのビットプレーンが複数の符号化パスで構成され、算術符号化されている場合でも、レート制御で決定される算術符号打ち切り点をビットプレーン境界に限定してレート制御を行うことで、埋め込んだ署名データを検証側ですべて取り出せるようにすることができる。また、通常、算術符号打ち切り点は符号化（圧縮）された画像の画質が最適になるように符号化パスの境界で算術符号打ち切り点が決定されるが、ビットプレーン境界に制約することで、最適な画質は得られない。しかし、制約条件付きではあるが符号化処理におけるレート制御を用いることができるので、目標とする符号量に対して準最適（ビットプレーン境界に算術符号打ち切り点を設定するという条件では最適）な画質を得ることができる。
【００９８】
なお、第６の実施形態の電子透かし埋め込み側の構成に、第２〜第４の実施形態の電子透かし埋め込み側の構成を組み合わせることもできる。
【００９９】
≪２．参考発明≫
≪２−１．第７の実施形態≫
［電子透かし埋め込み側の構成］
図９は、第７の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【０１００】
図９に示されるように、第７の実施形態の電子透かし埋め込み側の構成は、入力端子２００１に入力された画像データ及びビットプレーン入力端子２００２に入力された埋め込みビットプレーンを指定するデータを受け取り、電子透かしが入力端子２００２から入力された埋め込みビットプレーンに埋め込まれたことを示すＩＤ情報を埋め込むＩＤ情報埋め込み手段２１０２を有する。また、第７の実施形態の電子透かし埋め込み側の構成は、ＩＤ情報が埋め込まれた画像データに対して、埋め込みデータ入力端子２００３から入力されたデータを、入力端子２００２から入力された埋め込みビットプレーンに埋め込むデータ埋め込み手段２１０４を有する。データ埋め込み手段２１０４によりデータが埋め込まれた画像データは、出力端子２００４を通して出力され、以下に説明する電子透かし検証側の構成に渡される。
【０１０１】
［電子透かし検証側の構成］
図１０は、第７の実施形態の電子透かし検証側の構成を示すブロック図である。
【０１０２】
図１０に示されるように、第７の実施形態の電子透かし検証側の構成は、入力端子２００５に入力された電子透かしの検証対象である画像データからＩＤ情報を抽出し、抽出したＩＤ情報からデータが埋め込まれたビットプレーンを特定するＩＤ情報抽出手段２２０２を有する。また、第７の実施形態の電子透かし検証側の構成は、画像データからデータを抽出するデータ抽出手段２２０４を有する。データ抽出手段２２０４の出力は、出力端子２００６を通して出力される。
【０１０３】
［電子透かし埋め込み側の動作］
図９に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子２００１へ入力する。入力端子２００１へ入力される画像データは、ピクセルデータ、又は、ピクセルデータを周波数変換して得られる変換係数である。
【０１０４】
ＩＤ情報埋め込み手段２１０２には、埋め込みビットプレーン入力端子２００２を通して電子透かしが埋め込まれるビットプレーン番号が入力される。ＩＤ情報埋め込み手段２１０２は、入力されたビットプレーン番号のビットプレーンに、予め決めておいたＩＤ情報を埋め込む。電子透かしを埋め込むビットプレーンは、図１１に示されるように、各コードブロックＣＢ１〜ＣＢ８ごとに異なっていてもよい。図１１の例では、コードブロックＣＢ３において、電子透かしが埋め込まれるビットプレーン番号‘５’のビットプレーンに対して、Ｎ（ｂｉｔｓ）のＩＤ情報を埋め込んでいる。
【０１０５】
ただし、ＩＤ情報を埋め込んだ結果と全く同じビットパターンが、ＩＤ情報を埋め込んだビットプレーンより上位のビットプレーンに存在する場合がある。そのような条件下で電子透かしを検証すると、どちらが本当のＩＤ情報か区別できなくなる。そこで、上記のような場合には、上位のビットプレーンにおける該当するビットパターンのうち、少なくとも一つのビットの値を反転させておけばよい。
【０１０６】
データ埋め込み手段２１０４には、埋め込みビットプレーン入力端子２００２を通して電子透かしが埋め込まれるビットプレーン番号が入力される。データ埋め込み手段２１０４は、電子透かしが埋め込まれるビットプレーン番号のビットプレーンに、埋め込みデータ入力端子２００３から入力されたデータを埋め込む。図１１の例では、コードブロックＣＢ３において、電子透かしが埋め込まれるビットプレーン番号‘５’のビットプレーンに対して、埋め込んだＩＤ情報に引き続いて、Ｍ（ｂｉｔｓ）のデータを埋め込んでいる。
【０１０７】
なお、図１１では、先頭のビット（図１１の下側において、左端のビット）から順にＮ（ｂｉｔｓ）のＩＤ情報、Ｍ（ｂｉｔｓ）のデータを埋め込んいるが、埋め込むビット位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルされることによって得られた位置とすることもできる。また、図１１の例においては、画像データの１ビットに対して１ビットのＩＤ情報、データを順に埋め込んでいるが、画像データの複数のビットに対して、１ビットのＩＤ情報、データを埋め込んでもよい。また、データを何ビット埋め込んだかを示すために、データ先頭にデータのサイズを付加してもよい。
【０１０８】
また、データを埋め込むビットプレーンに必ずＩＤ情報を埋め込む必要はなく、埋め込みビットプレーン入力端子２００２から入力されるビットプレーン番号より、例えば、一つ上又は一つ下のビットプレーンにＩＤ情報を埋め込むようにしてもよい。さらに、ＩＤ情報を一つのビットプレーンに埋め込むのではなく、鍵をシードにした疑似ランダムシーケンス等を用いて、データを埋め込むビットプレーンを中心に、ＩＤ情報を埋め込むビットプレーンをランダマイズして、複数のビットプレーンに分散させて、ＩＤ情報を埋め込むこともできる。
【０１０９】
また、ＩＤ情報と共にデータを埋め込むビットプレーン番号も埋め込むことで、任意のビットプレーンにＩＤ情報を埋め込むことも可能になる。図１２の例を用いて説明すると、コードブロックＣＢ３においては、ＩＤ情報はビットプレーン番号‘７’のビットプレーンに、データはビットプレーン番号‘５’のビットプレーンに埋め込んでいる。従って、ＩＤ情報を埋め込む際に、データを埋め込むビットプレーン番号である‘５’（２進数４ビットで表現すると“０１０１”）も一緒に埋め込んでおけばよい。
【０１１０】
さらに、ＩＤ情報と共にデータを埋め込むビットプレーン番号を複数個埋め込むことで、それらのビットプレーン番号が示す複数のビットプレーンにデータを分割して埋め込むことも可能である。
【０１１１】
また、データ量を圧縮するために、ＩＤ情報、データを埋め込んだビットプレーンより下位のビットプレーンを必要に応じて打ち切る処理を行うこともできる。
【０１１２】
埋め込み後、画像データ出力端子２００４から、ＩＤ情報及びデータが埋め込まれた後の画像データが出力される。この画像データは、ネットワーク等を経由して電子透かし検証側の構成に渡される。
【０１１３】
［電子透かし検証側の動作］
図１０に示されるように、電子透かしを検証する画像データを入力端子２００５へ入力する。入力端子２００５へ入力される画像データは、ピクセルデータ、又は、ピクセルデータが周波数変換された変換係数である。
【０１１４】
ＩＤ情報抽出手段２２０２では、各コードブロックの上位ビットプレーンから、ＩＤ情報埋め込み時と同じ手法によりＩＤ情報の埋め込み位置を決定し、埋め込んだ位置からＩＤ情報を抽出する。そして、抽出したＩＤ情報と埋め込んだＩＤ情報が一致するビットプレーンを求め、そのビットプレーンをデータが埋め込まれたビットプレーンである判定する。
【０１１５】
ただし、上記説明はデータを埋め込むビットプレーンにＩＤ情報を埋め込んでいる場合であり、データを埋め込むビットプレーンより一つ上又は一つ下のビットプレーンにＩＤ情報を埋め込み側で埋め込んでいる場合は、上記説明と同様に、抽出したＩＤ情報と埋め込んだＩＤ情報が一致するビットプレーンを求め、そのビットプレーンより一つ下又は一つ上のビットプレーンをデータが埋め込まれたビットプレーンであると判定する。
【０１１６】
また、鍵をシードにした擬似ランダムシーケンス等でデータを埋め込むビットプレーンを中心に、ＩＤ情報が複数のビットプレーンに分散されて埋め込まれている場合は、ＩＤ情報検索時に、上位のビットプレーンから順番に、ＩＤ情報埋め込み時と同じ手法により分散させたビットプレーンを決定して、そのビットプレーンからＩＤ情報を抽出し、埋め込んだＩＤ情報と一致するか調べることによって、データが埋め込まれたビットプレーンを決定することができる。
【０１１７】
また、ＩＤ情報と共にデータを埋め込んだビットプレーン番号が埋め込まれている場合には、上記と同様に、まず抽出したＩＤ情報と埋め込んだＩＤ情報が一致するビットプレーンを求め、次にＩＤ情報と共に埋め込まれているビットプレーン番号を取り出す。その後、そのビットプレーン番号が指し示すビットプレーンをデータが埋め込まれたビットプレーンと判定する。図１２の例を用いて説明すると、コードブロックＣＢ３においては、ビットプレーン番号‘７’のビットプレーンからＩＤ情報が抽出でき、そのＩＤ情報と共に埋め込まれているビットプレーン番号を取り出すことによって、データが埋め込まれたビットプレーン番号が‘５’（２進数４ビットで表現すると“０１０１”）であることが分かる。
【０１１８】
さらには、ＩＤ情報と共に埋め込むビットプレーン番号が複数個埋め込まれている場合は、それら複数のビットプレーンにデータが埋め込まれていると決定する。
【０１１９】
データ抽出手段２２０４は、ＩＤ情報抽出手段２２０２で求められたビットプレーンから、画像データに埋め込まれたデータを抽出する。抽出には、データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置からデータを抽出することで行う。データのサイズがデータ先頭に付加されている場合は、データサイズを抽出してから、データ本体を抽出する。抽出したデータは、抽出結果出力端子２００６を通して出力する。
【０１２０】
［第７の実施形態の効果］
以上説明したように、第７の実施形態によれば、電子透かしを検証する際に、電子透かしをどこに埋め込んだかを示す情報が外部から得られなくても、画像に埋め込んでおいたＩＤ情報により、電子透かしが埋め込まれたビットプレーンを特定することができる。そのため、データ量を削減する目的でビットプレーンを打ち切り、打ち切られる直前のビットプレーンに電子透かしを埋め込んでおいた画像に対して、打ち切られたビットプレーンを任意の値で復号を行った場合でも、電子透かし検証側で、もう一度同じ周波数変換を行って変換係数を求め、更にデータが埋め込まれているビットプレーンであることを示すＩＤ情報を抽出することで、電子透かしが埋め込まれているビットプレーンを特定し、埋め込んでおいたデータを抽出することができる。
【０１２１】
≪２−２．第８の実施形態≫
上述した第７の実施形態の電子透かし埋め込み側の構成では、電子透かしの埋め込まれているビットプレーンであることを示すＩＤ情報を常に同じビットパターンを用いて電子透かしの埋め込みを行っていた。これに対して、第８の実施形態の電子透かし埋め込み側の構成では、電子透かし検証側の構成において発生する乱数と同じ乱数を発生させ、その乱数をＩＤ情報として用いることによって、常に異なるビットパターンをＩＤ情報として用いることができる。
【０１２２】
［電子透かし埋め込み側の構成］
図１３は、第８の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図１３において、図９（第７の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図１３に示されるように、第８の実施形態の電子透かし埋め込み側の構成は、シード入力端子２００８に入力されるシードを受け取り乱数を発生する乱数発生手段２１１２を有する点が、上記第７の実施形態の電子透かし埋め込み側の構成（図９）と相違する。
【０１２３】
［電子透かし検証側の構成］
図１４は、第８の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。図１４において、図１０（第７の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図１４に示されるように、第８の実施形態の電子透かし検証側の構成は、シード入力端子２００９に入力されるシードを受け取り乱数を発生する乱数発生手段２１１２を有する点が、上記第７実施形態の電子透かし検証側の構成（図１０）と相違する。
【０１２４】
［電子透かし埋め込み側の動作］
図１３に示されるように、乱数生成手段２１１２では、シード入力端子２００８から、乱数を発生させるためのシードが入力され、乱数を生成する。ＩＤ情報埋め込み手段２１０２では、電子透かしを埋め込むビットプレーンにＩＤ情報を埋め込む際に、乱数生成手段２１１２で生成した乱数をＩＤ情報のビットパターンとして、ＩＤ情報を埋め込む。このように乱数を用いることにより、各コードブロックごとに異なるＩＤ情報が埋め込まれる。上記以外の点について、第８の実施形態における電子透かし埋め込み側の動作は、第７の実施形態における電子透かし埋め込み側の動作と同じである。
【０１２５】
［電子透かし検証側の動作］
図１４に示されるように、乱数生成手段２１１２では、シード入力端子２００９から、乱数を発生させるためのシードが入力され、乱数を生成する。電子透かし検証側でも、電子透かし埋め込み側と同じシードが入力され、同じ乱数を生成する。ＩＤ情報抽出手段２２０２では、各コードブロックの上位ビットプレーンから、ＩＤ情報を抽出し、抽出したＩＤ情報と埋め込んだＩＤ情報が一致するビットプレーンを求める際に、乱数生成手段２１１２で生成した乱数をＩＤ情報のビットパターンとして使用する。もちろん、使用するビットパターンは、各コードブロックごとに異なるが、電子透かしの埋め込み側と同じビットパターンとなる。上記以外の点について、第８の実施形態における電子透かし検証側の動作は、第７の実施形態における電子透かし検証側の動作と同じである。
【０１２６】
［第８の実施形態の効果］
以上説明したように、第８の実施形態によれば、電子透かしを検証する際に、電子透かしを埋め込んだ位置に関する情報が外部から得られなくても、画像に埋め込んでおいたＩＤ情報により、電子透かしが埋め込まれたビットプレーンを特定することができる。そのため、データ量を削減する目的でビットプレーンを打ち切り、打ち切られる直前のビットプレーンに電子透かしを埋め込んでおいた画像に対して、打ち切られたビットプレーンを任意の値で復号を行った場合でも、電子透かし検証側で、もう一度同じ周波数変換を行って変換係数を求め、更にデータが埋め込まれているビットプレーンであることを示すＩＤ情報を抽出することで、電子透かしが埋め込まれているビットプレーンを特定し、埋め込んでおいたデータを抽出することができる。
【０１２７】
また、第８の実施形態によれば、電子透かしが埋め込まれたビットプレーンを特定するためにＩＤ情報を埋め込む際、電子透かし埋め込み側と電子透かし検証側とで同じように発生させた乱数をＩＤ情報のビットパターンとして使用することができる。そのため、同一画像内でも、埋め込まれるＩＤ情報がすべて同じであるようなことはなく、悪意を持った第三者が容易にＩＤ情報を特定できないようにすることができる。
【０１２８】
≪２−３．第９の実施形態≫
第９の実施形態の電子透かし検証側の構成は、改ざん検出を行うために画像データから署名データを生成し、その署名データを電子透かしとして埋め込む際に、署名データを埋め込んだビットプレーンに電子透かしを埋め込んだことを示すＩＤ情報を埋め込むと共に、検出時にどの部分の画像データから署名データが生成されたかを知るために、署名データを求める際に対象となった画像データがどの部分であったかを示す情報も同時に埋め込む。
【０１２９】
［電子透かし埋め込み側の構成］
図１５は、第９の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図１５において、図９（第７の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。
【０１３０】
図１５に示されるように、第９の実施形態の電子透かし埋め込み側の構成は、入力端子２００１に入力された画像データ及びビットプレーン入力端子２００２に入力された埋め込みビットプレーンを指定するデータを受け取り、電子透かしが入力端子２００２から入力された埋め込みビットプレーンに埋め込まれたことを示すＩＤ情報を埋め込むＩＤ情報埋め込み手段２１０２を有する。また、第９の実施形態の電子透かし埋め込み側の構成は、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を埋め込む署名生成情報埋め込み手段２１０６を有する。さらに、第９の実施形態の電子透かし埋め込み側の構成は、画像データから署名データを生成する署名生成手段２１０８と、署名生成手段２１０８から得られる署名データを画像データに埋め込む署名埋め込み手段２１１０とを有する。署名埋め込み手段２１１０で生成された埋め込み後の画像データは、出力端子２００４を通して出力される。出力された画像データは、例えば、ネットワークを経由して、以下に説明する電子透かし検証側の構成に渡される。
【０１３１】
［電子透かし検証側の構成］
図１６は、第９の実施形態の電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。図１６において、図１０（第７の実施形態）の構成と同一又は対応する構成には同じ符号を付す。
【０１３２】
図１６に示されるように、第９の実施形態の電子透かし検証側の構成は、入力端子２００５を通して入力された画像データからＩＤ情報を抽出し、抽出したＩＤ情報から署名データが埋め込まれたビットプレーンを特定するＩＤ情報抽出手段２２０２と、埋め込み側で埋め込まれた署名データを抽出する署名抽出手段２２０６とを有する。また、第９の実施形態の電子透かし検証側の構成は、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を抽出する署名生成情報抽出手段２２０８と、その署名生成情報に基づき、画像データから署名データを生成する署名生成手段２２１０とを有する。さらに、第９の実施形態の電子透かし検証側の構成は、抽出された署名データと生成した署名データとを比較する署名比較手段２２１２を有する。署名比較生成手段２２１０から出力された比較結果は、出力端子２００７を通して出力される。
【０１３３】
［電子透かし埋め込み側の動作］
図１５に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子２００１へ入力する。入力端子２００１へ入力される画像データは、ピクセルデータ、又は、ピクセルデータを周波数変換して得られる変換係数である。
【０１３４】
ＩＤ情報埋め込み手段２１０２は、埋め込みビットプレーン入力端子２００２から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに予め決めておいたＩＤ情報を埋め込む。図１７は、第９の実施形態に係る電子透かし埋め込み方法の説明図である。図１７においては、電子透かしを埋め込むコードブロックは、コードブロック番号が偶数のコードブロックＣＢ２，ＣＢ４，ＣＢ６，ＣＢ８のみであり、電子透かしを埋め込むビットプレーンは、各コードブロックごとで異なっていてもよい。図１７の例では、コードブロックＣＢ２において、電子透かしが埋め込まれるビットプレーン番号‘６’のビットプレーンに対して、Ｎ（ｂｉｔｓ）のＩＤ情報を埋め込んでいる。ただし、ＩＤ情報を埋め込んだ結果と全く同じビットパターンが、ＩＤ情報を埋め込んだビットプレーンより上位のビットプレーンに存在する場合は、第７の実施形態と同様な処理を施す。
【０１３５】
署名生成情報埋め込み手段２１０６では、埋め込みビットプレーン入力端子２００２から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を埋め込む。
【０１３６】
具体的には、署名データの埋め込み対象ではないコードブロックにおいて、署名データを求める際にハッシュを生成する対象のデータがどの部分であったかを、電子透かしの検証側で署名データを求める際に識別するため、ハッシュ生成に用いた画像データのうち、最も下位のビットプレーン番号を埋め込み対象のビットプレーンに埋め込む。例えば、図１７では、コードブロックＣＢ１とＣＢ２のデータからハッシュを求め、署名データを生成し、コードブロックＣＢ２に埋め込む場合の例を示している。コードブロックＣＢ２は、ビットプレーン番号‘６’のビットプレーンに、署名とともにＩＤ情報を埋め込むので、電子透かしの検証側で、ＩＤ情報を抽出することにより、署名データが埋め込まれているビットプレーンを決定でき、また署名データを生成する際にハッシュ生成に用いた画像データも決定することができる（ビットプレーン番号‘７’〜‘１０’のすべてのビットとビットプレーン番号‘６’のビットプレーンのうち、署名データの埋め込みに使用しないすべてのビット）。しかし、コードブロックＣＢ１に関しては、ＩＤ情報が埋め込まれていないので、このままでは、署名生成の際にどの部分をハッシュ生成に用いたかを、電子透かし検証側で識別できない。そこで、図１７のように、ビットプレーン番号‘３’以下のビットプレーンが打ち切られ、ビットプレーン番号‘４’以上のビットプレーンのデータを用いてハッシュを生成する場合、署名データの埋め込み対象でないコードブロックＣＢ１において、ハッシュ生成に用いたデータのうち、最も下位のビットプレーン番号である‘４’（２進数４ビットで表現すると“０１００”）をコードブックＣＢ２のデータの埋め込み対象であるビットプレーンに埋め込んでおく。
【０１３７】
署名生成手段２１０８は、画像データに対して署名データを生成する。埋め込みビットプレーン入力端子２００２から電子透かしが埋め込まれるビットプレーン番号が入力され、画像データのうち生成した署名データを埋め込むビットを除く画像データから署名データを求める。具体的には、図１７のコードブロックＣＢ１及びＣＢ２においては、コードブロックＣＢ１におけるビットプレーン番号‘４’〜‘１０’のすべてのビットプレーンと、コードブロックＣＢ２におけるビットプレーン番号‘７’〜‘１０’のすべてのビットプレーンと、ビットプレーン番号‘６’のビットプレーンのうち、署名データの埋め込みに使用しないすべてのビットを用いて、ＳＨＡ１等のハッシュ関数で得られたハッシュ値や、ハッシュ値をＲＳＡ等で暗号化したもの、ハッシュ値の一部等を署名データとする。
【０１３８】
署名埋め込み手段２１１０は、埋め込みビットプレーン入力端子２００２から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに署名生成手段２１０１から得られる署名データを埋め込む。図１７の例では、コードブロックＣＢ２において、電子透かしが埋め込まれるビットプレーン番号‘６’のビットプレーンに対して、既に埋め込まれたＩＤ情報、署名生成情報に引き続いて、Ｍ（ｂｉｔｓ）の署名データを埋め込んでいる。
【０１３９】
なお、図１７では、先頭のビットから順にＩＤ情報、署名生成情報と署名データを埋め込んでいるが、埋め込むビット位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルすることも可能である。また、画像データの１ビットに対して１ビットのＩＤ情報、署名生成情報、署名データを順に埋め込んでいるが、画像データの複数のビットに対して、１ビットのＩＤ情報、署名生成情報、署名データを埋め込んでもよい。
【０１４０】
さらに、第７の実施形態と同様に、ＩＤ情報を署名生成情報や署名データと必ず同じビットプレーンに埋め込んでおく必要はない。また、ＩＤ情報、署名生成情報、署名データをそれぞれ複数のビットプレーンに分散させて埋め込んでおいてもよい。
【０１４１】
また、データ量を圧縮するために、第７の実施形態と同様にＩＤ情報、署名生成情報、署名データを埋め込んだビットプレーンより下位のビットプレーン（例えば、図１７におけるコードブロックＣＢ２におけるビットプレーン番号‘５’以下）及びハッシュの生成に用いていないビットプレーン（例えば、図１７におけるコードブロックＣＢ１におけるビットプレーン番号‘３’以下）を必要に応じて打ち切る処理を行うこともできる。
【０１４２】
署名埋め込み手段２１１０から出力されたＩＤ情報、署名生成情報及び署名データが埋め込まれた後の画像データは、画像データ出力端子２００４を通して出力される。
【０１４３】
［電子透かし検証例の動作］
図１６に示されるように、電子透かしを検証する画像データを入力端子２００５へ入力する。入力端子２００５へ入力される画像データは、ピクセルデータ、又は、ピクセルデータが周波数変換された変換係数である。
【０１４４】
ＩＤ情報抽出手段２２０２は、電子透かしの埋め込み対象のコードブロックにおける上位ビットプレーンから、ＩＤ情報埋め込み時と同じ手法によりＩＤ情報の埋め込み位置を決定し、埋め込んだ位置からＩＤ情報を抽出する。そして、抽出したＩＤ情報と埋め込んだＩＤ情報が一致するビットプレーンを求め、そのビットプレーンを署名生成情報、署名データが埋め込まれたビットプレーンと判定する。
【０１４５】
なお、ＩＤ情報が署名生成情報や署名データと異なるビットプレーンに埋め込まれている場合や、ＩＤ情報、署名生成情報、署名データがそれぞれ異なるビットプレーンに分散されて埋め込まれている場合でも、第７の実施形態と同様に署名生成情報や署名データが埋め込まれたビットプレーンを求めることができる。
【０１４６】
署名抽出手段２２０６は、ＩＤ情報抽出手段２２０２で求めたビットプレーンから、画像データに埋め込まれた署名データを抽出する。抽出には、署名データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置から署名データを抽出することで行う。電子透かし埋め込み側でハッシュ値等を暗号化している場合、ここで暗号をデコードし、元のデータに戻し、署名比較手段２２１２へ渡す。
【０１４７】
署名生成情報抽出手段２２０８は、ＩＤ情報抽出手段２２０２で求めたビットプレーンから、画像データに埋め込まれた署名生成情報を抽出する。抽出には、署名生成情報の埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置から、署名データを求める際にハッンュ生成で用いた画像データがどの部分であったかを示す情報を抽出することで行う。抽出した署名生成情報は、署名生成手段２２１０に渡す。
【０１４８】
署名生成手段２２１０は、ＩＤ情報抽出手段２２０２と署名生成情報抽出手段２２０８から得られた情報を基に、電子透かし埋め込み側と同様の方法により画像データに対して署名データを生成する。即ち、署名データが埋め込まれているコードブロックに対しては、ＩＤ情報抽出手段２２０２で求めたビットプレーンに基づいて、署名データを求める際にハッシュ生成の対象となった画像データを決定でき、署名データが埋め込まれていないコードブロックに対しても、署名生成情報抽出手段２２０８で得られた情報（ハッシュ生成の対象となった画像データのうち最下位のビットプレーン番号）より、同じく署名データを求める際にハッシュ生成の対象となった画像データを決定できる。
【０１４９】
ただし、電子透かし埋め込み側で暗号化等を使用している場合、ここで暗号化を行う必要はなく、署名抽出手段２２０６で暗号のデコードを行う。生成した署名データは、署名比較手段２２１２へ渡す。
【０１５０】
署名比較手段２２１２では、署名抽出手段２２０６で抽出された署名データと、署名生成手段２２１０で生成された署名データとを比較する。例えば、両方の署名データが一致した場合は改ざん無し、一致しない場合は改ざん有りとし、その結果を比較結果出力端子２００７を通して出力する。
【０１５１】
［第９の実施形態の効果］
以上説明したように、第９の実施形態によれば、電子透かしが埋め込まれているビットプレーンであることを示すＩＤ情報及び署名データを求める際にハッシュを生成する対象のデータの位置に関する情報を示す署名生成情報を画像に埋め込んでおくことで、外部からそれらの情報が得られなくても、署名データが埋め込まれたビットプレーンと署名データを求める際にハッシュ生成で用いられた画像データを特定することができる。そのため、データ量を削減する目的で、署名生成や署名データの埋め込みに用いられていないビットプレーンを打ち切った画像に対して、打ち切られたビットプレーンを任意の値で復号を行った場合でも、電子透かし検証側で、もう一度同じ周波数変換を行って変換係数を求め、更に署名データと署名生成情報が埋め込まれているビットプレーンを示すＩＤ情報を抽出することで、署名データと署名生成情報が埋め込まれているビットプレーンを特定し、埋め込んでおいた署名データを抽出することができる。さらに、署名データを求める際にハッシュを生成する対象のデータがどの部分であったかを示す署名生成情報を抽出することで、どの部分の画像データから署名データが生成されたかも決定でき、電子透かし埋め込み側と同様に署名データを生成することができる。その結果、正しい改ざん検出結果を得ることができる。
【０１５２】
≪３．第３の発明≫
≪３−１．第１０の実施形態≫
［電子透かし埋め込み側の構成］
図１８は、第１０の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【０１５３】
図１８に示されるように、第１０の実施形態の電子透かし埋め込み側の構成は、入力端子３００１に入力された画像データを、１又は複数のブロックに分割するブロック化手段３１００を有する。また、第１０の実施形態の電子透かし埋め込み側の構成は、ブロック化手段３１００によりブロック化された画像データ及び埋め込みビットプレーン入力端子３００３を通して入力される埋め込みビットプレーンを指定するデータを受け取り、ブロック化された画像データの上位ビットプレーンを調べる上位ビットプレーン評価手段３１０１を有する。さらに、第１０の実施形態の電子透かし埋め込み側の構成は、ブロック化手段３１００によりブロック化された画像データ、埋め込みビットプレーン入力端子３００３を通して入力される埋め込みビットプレーンを指定するデータ、上位ビットプレーン評価手段３１０１から出力される評価結果、及び埋め込みデータ入力端子３００２を通して入力されたデータを受け取り、埋め込みデータ入力端子３００２から入力されたデータを画像データの指定されたビットプレーンの評価結果に基づく位置に埋め込む埋め込み手段３１０３を有する。埋め込み手段３１０３から出力されるデータ埋め込み後の画像データは、出力端子３００４を通して出力される。
【０１５４】
図１９は、第１０の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）のＪＰＥＧ２０００圧縮器への適用例を示すブロック図である。図１９において、図１８の構成と同一又は対応する構成には同じ符号を付す。
【０１５５】
図１９に示されるように、ＪＰＥＧ２０００圧縮器は、図１８の構成に加えて、入力画像データがカラー画像データである場合にカラー空間を変換するカラー変換手段３０５０と、入力画像データのタイル分割を行うタイル分割手段３０５４と、ウェーブレット変換を行うウェーブレット変換手段３０５１と、ウェーブレット係数を量子化する量子化手段３０５２と、電子透かしの埋め込まれた係数を符号化する符号化手段３０５３とを有する。符号化手段３０５３により符号化されたビットストリームは、埋め込み後画像ビットストリーム出力端子３００５を通して出力される。
【０１５６】
［電子透かし検証側の動作］
図２２は、第１０の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【０１５７】
図２２に示されるように、第１０の実施形態の電子透かし検証側の構成は、入力端子３０１０を通して入力された画像データを、ブロックに分割するブロック化手段３２００を有する。また、第１０の実施形態の電子透かし検証側の構成は、ブロック化手段３２００によりブロック化された画像データ及び抽出ビットプレーン入力端子３０１３を経由して入力される抽出するビットプレーンを指定するデータを受け取り、ブロック化された画像データの上位ビットプレーンを調べる上位ビットプレーン評価手段３２０１を有する。さらに、第１０の実施形態の電子透かし検証側の構成は、ブロック化手段３２００によりブロック化された画像データ、抽出ビットプレーン入力端子３０１３を通して入力される抽出ビットプレーンを指定するデータ、及び上位ビットプレーン評価手段３２０１から出力される評価結果を受け取り、入力された画像データについて、指定された抽出ビットプレーンの中の上記評価結果に基づく位置からデータを抽出するに抽出手段３２０３を有する。抽出手段３２０３から出力される抽出結果は、出力端子３０１２を通して出力される。
【０１５８】
図２３は、第１０の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）のＪＰＥＧ２０００伸張器への適用例を示すブロック図である。図２３において、図２２の構成と同一又は対応する構成には同じ符号を付す。図２３に示されるように、ＪＰＥＧ２０００伸張器へ適用した場合には、図２２のブロック化手段３２００に代えて、ＪＰＥＧ２０００ビットストリームを復号し、ウェーブレット係数とブロック情報を出力する復号手段３２０４を有する。
【０１５９】
［電子透かし埋め込み側の動作］
図１８に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子３００１へ入力する。ピクセルデータへ直接電子透かしを埋め込む場合は、入力データはピクセルデータとなる。また、周波数空間上での電子透かしの場合は、入力データはウェーブレット係数やＤＣＴ係数となる。
【０１６０】
入力端子３００１へ入力される画像データは、ブロック化手段３１００へ渡される。ブロック化手段３１００では、入力された画像データを、Ｍ×Ｎサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、Ｍ×Ｎピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やＤＣＴ後の係数空間上におけるＭ×Ｎ係数のブロックとなる。このブロックは、ピクセル空間上で同じ位置を示す、異なる周波数の係数群で構成してもよいし、ピクセル空間上で近い位置を示す、同じ周波数の係数群で構成してもよい。
【０１６１】
上位ビットプレーン評価手段３１０１は、画質への影響の低い順に画像データに対しラベリングを行う。通常、平滑な領域（低周波数成分しかないような領域）に加えられる変更は、複雑な領域（高周波数成分が近傍にあるような領域）へ加えられる変更よりも知覚されやすいので、複雑な領域近辺に高い優先度を与えるようにラベリングを行う。
【０１６２】
図２０は、第１０の実施形態に係る電子透かし埋め込み方法の説明図である。図２０においては、横方向左側から順に係数１〜８を並べ、縦方向下から順にビットプレーン番号‘０’〜‘１０’を並べている。また、図２０においては、ビットプレーン番号‘５’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図２０において、網掛け箇所は、上位ビットプレーンに非０の値のある係数ビットであり、クロスハッチング箇所は、上位ビットプレーンが０である非０の係数ビットである。
【０１６３】
例えば、各画像データ単位に、埋め込みビットプレーン（例えば、図２０におけるビットプレーン番号‘５’のビットプレーン）よりも上位にあるデータのレベルに応じてラベリングを行う。この場合、ラベルは、データのレベルを基準にソートを行ったときの順番に相当する（例えば、図２０においては、係数２，５，８，１の順）。また、値０の画像データは、値０の範囲内で、周囲に非０の画像データが存在する順でラベリングを行う。
【０１６４】
これを式で表現すると、以下のようになる。埋め込みビットプレーンより上位のビットプレーンのデータをａ（ｘ，ｙ）とすると、｜ａ（ｘ，ｙ）｜＞０である画像データに対しては、ａ（ｘ，ｙ）の大きい順にラベリングを行う。また、｜ａ（ｘ，ｙ）｜＝０である画像データに対しては、８近傍の画像データの値の絶対和、即ち、
（｜ａ（ｘ＋１，ｙ）｜＋｜ａ（ｘ，ｙ＋１）｜
＋｜ａ（ｘ−１，ｙ）｜＋｜ａ（ｘ，ｙ−１）｜
＋｜ａ（ｘ＋１，ｙ＋１）｜＋｜ａ（ｘ−１，ｙ＋１）｜
＋｜ａ（ｘ＋１，ｙ−１）｜＋｜ａ（ｘ−１，ｙ−１）｜）
の大きい順にラベリングを行う。
【０１６５】
埋め込み手段３１０３では、上位ビットプレーン評価手段３１０１でラベリングを行った順に、埋め込みを行う。埋め込みは、ラベリングを行った順に、各画像データに対して１ビットの埋め込みメッセージを順に埋め込んでいく。Ｘビットのメッセージの埋め込みには、Ｘ個の画像データが用いられる。また、メッセージ先頭にメッセージのサイズを埋め込んでもよい。この場合、Ｘ＋Ｙ個（Ｙは、メッセージ長を埋め込むのに必要なビット数）の画像データが用いられる。
【０１６６】
図２１は、第１０の実施形態に係る電子透かし埋め込み方法の他の例説明図である。図２１の上側には、横方向左側から順に係数１〜８を並べ、縦方向下から順にビットプレーン番号‘０’〜‘１０’を並べた例が示されている。また、図２１においては、ビットプレーン番号‘５’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図２１において、網掛け箇所は、上位ビットプレーンに非０の値のある係数ビットであり、クロスハッチング箇所は、上位ビットプレーンが０である非０の係数ビットである。さらにまた、図２１の中央付近には、各グループの埋め込みビットプレーン（上位ビットプレーンの値でソートした後）を示し、左側から右側に向けて、値の大きな係数ビットから値の小さな係数ビットが描かれている。図２１には、画像や埋め込み係数を複数のグループに分け、各グループ単位に１ビット埋め込む場合が示されている。図２１においては、複数グループへの分割方法は、各グループに、大きな値の係数が均等に割り振られるようにしている。
【０１６７】
また、図２１には、複数ビット情報に基づいて１ビット情報を計算し、計算によって得られた１ビット情報を埋め込む方法が説明されている。図２１に示されるように、例えば、１ビットを埋め込むためのグループのデータが“０１０１”（４ビット）である場合に、これらの複数ビットのデータの排他的論理和（ＸＯＲ）を計算する。この場合には、ＸＯＲ演算の結果は０である。この演算結果０を、このグループに埋め込む値（１ビット）と比較し、比較の結果が異なる場合には、ＸＯＲ演算の結果が埋め込むビット値に等しくなるように、各グループのある１ビットの値を変更する。
【０１６８】
以上のようにして得られた画質への影響の低い順を示すラベリングの順番に、署名データを画像データに埋め込み、署名データが埋め込まれた画像データが、画像データ出力端子３００４を通して、埋め込み後画像データ出力端子を通して出力される。
【０１６９】
［電子透かし検証側の動作］
図２２に示されるように、電子透かしを検証するターゲット画像の画像データを入力端子３０１０へ入力する。ピクセルデータへ直接電子透かしが埋め込まれている場合は、入力データはピクセルデータとなる。また、周波数空間上での電子透かしの場合は、入力データはウェーブレット係数やＤＣＴ係数となる。入力端子３０１０へ入力される画像データは、ブロック化手段３２００へ渡される。ブロック化手段３２００では、入力された画像データを、Ｍ×Ｎサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、Ｍ×Ｎピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やＤＣＴ後の係数空間上におけるＭ×Ｎ係数のブロックとなる。
【０１７０】
上位ビットプレーン評価手段３２０１は、抽出ビットプレーン入力端子３０１３から入力されたビットプレーン情報を用い、電子透かし埋め込み側の上位ビットプレーン評価手段３１０１（図１８）と同じ方法で画像データのラベリングを行ない、ラベリング順に１係数から１ビットのメッセージを抽出する。メッセージ長をメッセージ先頭に埋め込んでいる場合は、メッセージ長を抽出してから、メッセージ本体を抽出する。抽出手段３２０３により抽出されたメッセージは、抽出結果出力端子３０１２を通して出力される。
【０１７１】
［第１０の実施形態の効果］
以上説明したように、第１０の実施形態によれば、埋め込みデータを画質の影響の少ない部分に埋め込むことができるため、電子透かしが埋め込まれた画像の画質を向上させることができる。また、電子透かし検証側では、電子透かしが埋め込まれたビットプレーンよりも上位のビットプレーンの情報を用いてデータの埋め込み位置を検出するため、電子透かしが埋め込まれたビットブレーンと、それよりも上位のビットプレーンを取得した段階で、電子透かしの抽出を行うことができる。
【０１７２】
≪３−２．第１１の実施形態≫
［電子透かし埋め込み側の構成］
図２４は、第１１の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図２４において、図１８（第１０の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図２４に示されるように、第１１の実施形態の電子透かし埋め込み側の構成は、ブロック判定手段３１０２と、ゼロブロックマーキング手段３１０４とを有する点が、上記第１０の実施形態の電子透かし埋め込み側の構成（図１８）と相違する。
【０１７３】
［電子透かし検証側の構成］
図２６は、第１１の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。図２６において、図２２（第１０の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図２６に示されるように、第１１の実施形態の電子透かし検証側の構成は、ブロック判定手段３２０２を有する点が、上記第１０の実施形態の電子透かし検証側の構成（図２２）と相違する。
【０１７４】
［電子透かし埋め込み側の動作］
図２４に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子３００１へ入力する。ピクセルデータへ直接電子透かしを埋め込む場合は、入力データはピクセルデータとなる。また、周波数空間上での電子透かしの場合は、入力データはウェーブレット係数やＤＣＴ係数となる。
【０１７５】
入力端子３００１へ入力される画像データは、ブロック化手段３１００へ渡される。ブロック化手段３１００では、入力された画像データを、Ｍ×Ｎサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、Ｍ×Ｎピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やＤＣＴ後の係数空間上におけるＭ×Ｎ係数のブロックとなる。このブロックは、ピクセル空間上で同じ位置を示す、異なる周波数の係数群で構成してもよいし、ピクセル空間上で近い位置を示す、同じ周波数の係数群で構成してもよい。
【０１７６】
ブロック判定手段３１０２は、埋め込みビットプレーン入力端子３００３から入力されたデータにより指定されたビットプレーンをブロック単位に走査する。走査した結果、ビットプレーンのデータがすべて０（ゼロ）であるａｌｌ０（オール０）ブロックをマークする。
【０１７７】
上位ビットプレーン評価手段３１０１は、上位ビットプレーンを評価し、画質への影響の低い順に画像データに対しラベリングを行う。通常、平滑な領域（低周波数成分しかないような領域）に加えられる変更は、複雑な領域（高周波数成分が近傍にあるような領域）へ加えられる変更よりも知覚されやすいので、複雑な領域近辺に高い優先度を与えるようにラベリングを行う。ラベリングの方法は、上記第１０の実施形態の場合と同様である。
【０１７８】
埋め込み手段３１０３は、ブロック判定手段３１０２によってａｌｌ０ブロックである判定されなかったブロックに属し、かつ、上位ビットプレーン評価手段３１０１によって、上位ビットプレーンに有意なデータがあるとされた画像データへのメッセージの埋め込みを行う。
【０１７９】
メッセージが、上記条件の画像データ数よりも多い場合、さらに、ブロック判定手段３１０２によってａｌｌ０ブロックである判定されたブロックに属し、かつ、上位ビットプレーン評価手段３１０１によって、上位ビットプレーンに有意なデータがあるとされた画像データに対しても、メッセージの埋め込みを行う。メッセージの埋め込み位置は、メッセージを埋め込む前に予め決定しておく。
【０１８０】
ゼロブロックマーキング手段３１０４は、メッセージの埋め込まれたブロックで、埋め込みビットプレーンのデータがすべて０となったａｌｌ０ブロックに、マーキングを行う。マーキングは、ブロックのメッセージを埋め込んだビットプレーン上で、メッセージの埋め込みに使用しなかった部分の少なくとも１画像データを１にすることで行う。１にする画像データは、メッセージ埋め込みに使用せず、かつ、上位ビットプレーン評価手段３１０１による評価値が大きいものとしてもよい。
【０１８１】
図２５は、第１１の実施形態に係る電子透かし埋め込み法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）の他の例を示すブロック図である。ゼロブロックマーキング手段３１０４は、メッセージを埋め込む予定のブロックすべてに、マーキングを行う。マーキングは、ブロックのメッセージを埋め込んだビットプレーン上で、メッセージの埋め込みに使用しない部分の少なくとも１画像データを１にすることで行う。１にする画像データは、メッセージ埋め込みに使用せず、かつ、上位ビットプレーン評価手段による評価値が大きいものとしてもよい。署名等を埋め込む場合、マーキングを行ってから署名値を計算する必要があるが、その場合、図２５の構成となる。
【０１８２】
［電子透かし検証側の動作］
図２６に示されるように、ブロック判定手段３２０２及び上位ビットプレーン評価手段３２０１は、電子透かし埋め込み側と同様の方法でブロックのマーキングを行う。抽出手段３２０３は、署名埋め込み側で埋め込み位置を決定したのと同じ方法で、画像データからメッセージを抽出する。
【０１８３】
電子透かし埋め込み側では、ビットプレーンのデータが０のブロックへの埋め込みを避け、電子透かし検証側では、ビットプレーンのデータが０のブロックからの抽出を避けている。ゼロブロックマーキング手段３１０４は、メッセージの埋め込み位置を埋め込み側と検証側で同期させるため、ビッドプレーンのデータが０のブロックという状態が埋め込み側と検証側で変化しないために、マーキングを行う。第１１の実施形態の電子透かし検証側の動作において、上記以外の点は、第１０の実施形態の電子透かし検証側の動作と同様である。
【０１８４】
［第１１の実施形態の効果］
第１１の実施形態によれば、ゼロビットプレーンへの埋め込みを避けているので、符号化効率を向上させることができる。
【０１８５】
≪３−３．第１２の実施形態≫
［電子透かし埋め込み側の構成］
図２７は、第１２の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。図２７において、図１８（第１０の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図２７に示されるように、第１２の実施形態の電子透かし埋め込み側の構成は、埋め込みビットプレーンと画像データから、埋め込み対象の係数を決定する埋め込み係数決定手段３３０１と、決定した埋め込み係数を記憶する埋め込み位置記憶手段３３０２と、入力画像データに埋め込みデータを埋め込む埋め込み手段３１０３とを有する。
【０１８６】
［電子透かし検証側の構成］
図２８は、第１２の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。図２８において、図２２（第１０の実施形態）の構成と同一又は対応する構成には、同じ符号を付す。図２８に示されるように、第１２の実施形態の電子透かし検証側の構成は、埋め込みビットプレーンと画像データから、埋め込み対象の係数を決定する埋め込み係数決定手段３３１１と、決定した埋め込み係数を記憶する埋め込み位置記憶手段３３１２と、画像データから埋め込み画像を抽出する抽出手段３２０３とを有する。
【０１８７】
［電子透かし埋め込み側の動作］
図２７に示されるように、埋め込み係数決定手段３３０１は、入力された埋め込みビットプレーン情報を元に、埋め込み位置を決定する。決定方法は、第１０及び第１１の実施形態の上位ビットプレーン評価手段３１０１（図１８、図２４）や、ブロック判定手段３１０２（図２４）の方法を用いてもよい。
【０１８８】
埋め込み位置記憶手段３３０２は、埋め込み係数決定手段３３０１によって決定された埋め込み係数を記憶する。
【０１８９】
埋め込み手段３１０３は、埋め込みビットプレーン入力端子３００３から入力されたビットプレーンで、埋め込み係数決定３３０１により決定された係数に対し、情報の埋め込みを行う。
【０１９０】
図２９は、第１２の実施形態に係る電子透かし埋め込み方法の説明図である。図２９においては、横方向左側から順に係数１〜８を並べ、縦方向下から順にビットプレーン番号‘０’〜‘１０’を並べている。また、図２９においては、ビットプレーン番号‘５’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図２９において、網掛け箇所は、埋め込みに使用した係数の、埋め込みビットプレーンよりも下位のビットプレーン（情報の埋め込みに追加して使用する部分）である。
【０１９１】
図３０は、第１２の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。図３０においては、横方向左側から順に係数１〜８を並べ、縦方向下から順にビットプレーン番号‘０’〜‘１０’を並べている。また、図３０においては、ビットプレーン番号‘０’‘４’‘７’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図３０において、網掛け箇所は、埋め込みに使用した係数の、埋め込みビットプレーンよりも下位のビットプレーン（情報の埋め込みに追加して使用する部分）である。
【０１９２】
図２９又は図３０に示されるように、埋め込み係数決定手段３３０１により決定された係数で、かつ、実際に埋め込みに使用した係数を埋め込み位置記憶手段３３０２から取得し、埋め込みビットプレーンよりもＬＳＢ側のビットプレーンに、情報の埋め込みを行う。
【０１９３】
電子透かしを埋め込んだビットプレーン以下の部分は、元の係数値との誤差値を最小にするように、すべて０（ａｌｌ０）、すべて１（ａｌｌ１）、又はその中間値にしたり、埋め込みによってデータが変更しなかった場合、そのままにしたりする。また、すべてゼロ（ａｌｌ０）又はすべて１（ａｌｌ１）にした場合、それらの値を評価することで埋め込み位置が判明しやすくなるため、下位ビットをランダムな値で満たす（フィルする）こともある。この場合、データの埋め込みキャパシティを無駄に浪費していることになるので、下位ビットに情報の埋め込みを行う。
【０１９４】
改ざん検出用の電子透かしの場合、埋め込みビットプレーン入力端子３００３から入力されたビットプレーンに対しては署名データを埋め込み、それよりもＬＳＢ側の部分にはメッセージの埋め込みに使用してもよい。また、電子透かし検証時に、１ビットプレーン単位でのプログレッシブ伝送に対応するように、メッセージはビットプレーン順に埋め込んでもよい。第１２の実施形態の電子透かし埋め込み側の動作において、上記以外の点は、第１０及び第１１の実施形態の電子透かし埋め込み側の動作と同様である。
【０１９５】
［電子透かし検証側の動作］
図２８に示されるように、埋め込み係数決定手段３３１１は、入力された検出ビットプレーン情報を元に、埋め込まれた位置を決定する。決定方法は、第１０の実施形態における上位ビットプレーン評価手段３２０１（図２２）や、第１１の実施形態におけるブロック判定手段３２０２（図２６）の方法を用いてもよい。
【０１９６】
埋め込み位置記憶手段３３１２は、埋め込み係数決定手段３３１１によって決定された埋め込み係数を記憶する。
【０１９７】
抽出手段３２０３は、決定された係数に対し、情報の抽出を行う。また、埋め込み係数決定手段３３１１により決定された係数で、かつ、実際に抽出に使用した係数を埋め込み位置記憶手段３３１２から取得し、抽出ビットプレーンよりもＬＳＢ側のビットプレーンから、情報の抽出を行う（図２９、図３０参照）。第１２の実施形態の電子透かし検証側の動作において、上記以外の点は、第１０及び第１１の実施形態の電子透かし検証側の動作と同様である。
【０１９８】
［第１２の実施形態の効果］
以上説明したように、第１２の実施形態によれば、ＭＳＢとＬＳＢの間のビットプレーンに情報を埋め込んだ場合、それよりも下位のビットプレーンのデータに情報を埋め込むことで、埋め込み可能な情報量を飛躍的に増大させることができる。
【０１９９】
≪４．他の利用形態≫
上記第１〜第１２の実施形態の構成は、コンピュータシステムで構成することができる。この場合には、上記各実施形態における電子透かし埋め込み方法及び電子透かし検出方法を、コンピュータシステムにインストールされたアプリケーションプログラムに従って実行させることができる。このアプリケーションプログラムのインストール方法には、インストール用プログラムが記録された記憶媒体からのインストールやインターネットを経由したダウンロード等の方法がある。
【０２００】
上記第１〜第１２の実施形態の構成は、コンピュータシステムで構成することができるので、上記第１〜第１２の実施形態の内の幾つかの構成の機能を組み合わせたシステムを提供することも可能である。
【図面の簡単な説明】
【０２０１】
【図１】参考発明の第１の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図２】参考発明の第１〜第６の実施形態の電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図３】（ａ）及び（ｂ）は、参考発明の第１の実施形態の符号化パス制御方法の説明図である。
【図４】参考発明の第２の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図５】参考発明の第３の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図６】参考発明の第４の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図７】参考発明の第５の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図８】参考発明の第６の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図９】参考発明の第７の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図１０】参考発明の第７の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図１１】参考発明の第７の実施形態の電子透かし埋め込み方法の説明図である。
【図１２】参考発明の第７の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。
【図１３】参考発明の第８の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図１４】参考発明の第８の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図１５】参考発明の第９の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図１６】参考発明の第９の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図１７】参考発明の第９の実施形態に係る電子透かし埋め込み方法の説明図である。
【図１８】第３の発明の第１０の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図１９】第３の発明の第１０の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）のＪＰＥＧ２０００圧縮器への適用例を示すブロック図である。
【図２０】第３の発明の第１０の実施形態に係る電子透かし埋め込み方法の説明図である。
【図２１】第３の発明の第１０の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。
【図２２】第３の発明の第１０の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図２３】第３の発明の第１０の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）のＪＰＥＧ２０００伸張器への適用例を示すブロック図である。
【図２４】第３の発明の第１１の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図２５】第３の発明の第１１の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）の他の例を示すブロック図である。
【図２６】第３の発明の第１１の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図２７】第３の発明の第１２の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成（電子透かし埋め込み装置）を示すブロック図である。
【図２８】第３の発明の第１２の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成（電子透かし検出装置）を示すブロック図である。
【図２９】第３の発明の第１２の実施形態に係る電子透かし埋め込み方法の説明図である。
【図３０】第３の発明の第１２の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。
【図３１】ビットプレーンの概念の説明図である。
【図３２】ビットマップ画像にフラジャイル電子透かしを埋め込む動作の説明図である。
【図３３】フラジャイル電子透かしを検証する動作の説明図である。
【図３４】周波数空間上の係数を符号化する構成を示すブロック図である。
【図３５】一つのビットプレーンに対して１種類の符号化パスが生成される場合の算術符号化を示す説明図である。
【図３６】一つのビットプレーンに対して３種類の符号化パスが生成される場合の算術符号化を示す説明図である。
【図３７】ビットプレーン番号‘２’以下のビットプレーンが打ち切られ、ビットプレーン番号‘３’のビットプレーンに電子透かしが埋め込まれる場合を示す説明図である。
【図３８】（ａ）は、復号の際に、打ち切られたビットプレーンをすべて「０」とした場合を示す説明図であり、（ｂ）は、復号の際に、打ち切られたビットプレーンの最上位ビットプレーンが非０係数である場合を示す説明図である。
【図３９】情報の埋め込みに適した領域と適していない領域を示す説明図である。
【符号の説明】
【０２０２】
１０１１  周波数変換手段、
１０１２  ビットプレーン符号化パス生成手段、
１０１２Ａ  ビットプレーン符号化パス生成手段、
１０１３  算術符号化手段、
１０１３Ａ  算術符号化手段、
１０１４  レート制御手段、
１０１５  符号化パス制御手段、
１０１６  無効符号化パス打ち切り手段、
１０１７  符号化器リセット手段、
１０１８  符号化器内部状態記憶手段、
１０１９  制御条件付きレート制御手段、
１０２１  変換係数記憶手段、
１０３１  復号手段、
１１０１  署名生成手段、
１１０２  署名埋め込み手段、
１２０１  署名抽出手段、
１２０２  署名生成手段、
１２０３  署名比較手段、
２１０２  ＩＤ情報埋め込み手段、
２１０４  データ埋め込み手段、
２１０６  署名生成情報埋め込み手段、
２１０８  署名生成手段、
２１１０  署名埋め込み手段、
２１１２  乱数生成手段、
２２０２  ＩＤ情報抽出手段、
２２０４  データ抽出手段、
２２０６  署名抽出手段、
２２０８  署名生成情報抽出手段、
２２１０  署名生成手段、
２２１２  署名比較手段、
３０５０  カラー変換手段、
３０５１  ウェーブレット変換手段、
３０５２  量子化手段、
３０５３  符号化手段、
３０５４  タイル分割手段、
３１００  ブロック化手段、
３１０１  上位ビットプレーン評価手段、
３１０２  ブロック判定手段、
３１０３  埋め込み手段、
３１０４  ゼロブロックマーキング手段、
３２００  ブロック化手段、
３２０１  上位ビットプレーン評価手段、
３２０２  ブロック判定手段、
３２０３  抽出手段、
３２０４  復号手段、
３３０１  埋め込み係数決定手段、
３３０２  埋め込み位置記憶手段、
３３１１  埋め込み係数決定手段、
３３１２  埋め込み位置記憶手段。
【図１】
2008113470.tif 000003
【図２】
2008113470.tif 000004
【図３】
2008113470.tif 000005
【図４】
2008113470.tif 000006
【図５】
2008113470.tif 000007
【図６】
2008113470.tif 000008
【図７】
2008113470.tif 000009
【図８】
2008113470.tif 000010
【図９】
2008113470.tif 000011
【図１０】
2008113470.tif 000012
【図１１】
2008113470.tif 000013
【図１２】
2008113470.tif 000014
【図１３】
2008113470.tif 000015
【図１４】
2008113470.tif 000016
【図１５】
2008113470.tif 000017
【図１６】
2008113470.tif 000018
【図１７】
2008113470.tif 000019
【図１８】
2008113470.tif 000020
【図１９】
2008113470.tif 000021
【図２０】
2008113470.tif 000022
【図２１】
2008113470.tif 000023
【図２２】
2008113470.tif 000024
【図２３】
2008113470.tif 000025
【図２４】
2008113470.tif 000026
【図２５】
2008113470.tif 000027
【図２６】
2008113470.tif 000028
【図２７】
2008113470.tif 000029
【図２８】
2008113470.tif 000030
【図２９】
2008113470.tif 000031
【図３０】
2008113470.tif 000032
【図３１】
2008113470.tif 000033
【図３２】
2008113470.tif 000034
【図３３】
2008113470.tif 000035
【図３４】
2008113470.tif 000036
【図３５】
2008113470.tif 000037
【図３６】
2008113470.tif 000038
【図３７】
2008113470.tif 000039
【図３８】
2008113470.tif 000040
【図３９】
2008113470.tif 000041