(57)【特許請求の範囲】
【請求項１】
原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込む画像データ作成方法において、
各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込むステップと、
ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するステップと、
ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算するステップと、
ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込むステップと
を含むことを特徴とする画像データ作成方法。
【請求項２】
請求項１に記載の画像データ作成方法によって秘密情報が埋め込まれて作成された画像データの改竄を検出する方法であって、
画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算するステップと、
全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出すステップと、
読み出した複数の前記情報の互いに対応する部分を比較するステップと、
複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定するステップと、
複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定するステップと、
ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するステップと、
ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算するステップと、
ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出すステップと、
ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較するステップと、
予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定するステップと
を含むことを特徴とする改竄検出方法。
【請求項３】
原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込む画像データ作成装置において、
各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込む画像固有情報埋め込み手段と、
ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するブロック内容情報生成手段と、
ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算する秘密情報計算手段と、
ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込む秘密情報埋め込み手段と
を備えることを特徴とする画像データ作成装置。
【請求項４】
秘密情報を埋め込んだ画像データを作成する装置において、
原画像を作成する手段と、
原画像に固有の情報をビット列で表した画像固有情報を生成する手段と、
原画像を複数のブロックに分割する手段と、
各ブロックに含まれる情報を空間周波数成分の配列に変換する変換手段と、
各ブロックにおける空間周波数成分の量子化を行って、ブロック毎に量子化空間周波数成分の配列を計算する手段と、
各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込む画像固有情報埋め込み手段と、
ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するブロック内容情報生成手段と、
ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算する秘密情報計算手段と、
ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込む秘密情報埋め込み手段と、
画像固有情報及び秘密情報を埋め込んだ前記配列を符号化する手段と
を備えることを特徴とする画像データ作成装置。
【請求項５】
秘密情報を埋め込んだ画像データを作成する装置において、
原画像を作成する手段と、
原画像に固有の情報をビット列で表した画像固有情報を生成する手段と、
原画像を複数のブロックに分割する手段と、
各ブロックに含まれる情報を空間周波数成分の配列に変換する変換手段と、
各ブロックにおける空間周波数成分の量子化を行って、ブロック毎に量子化空間周波数成分の配列を計算する手段と、
各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込む画像固有情報埋め込み手段と、
ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するブロック内容情報生成手段と、
ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算する秘密情報計算手段と、
ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込む秘密情報埋め込み手段と、
画像固有情報及び秘密情報を埋め込んだ前記配列を、画像に含まれる情報へ変換して、画像固有情報及び秘密情報を埋め込んだ画像を作成する手段と、
画像固有情報及び秘密情報を埋め込んだ画像を圧縮符号化して、画像固有情報及び秘密情報を埋め込んだ画像データを作成する手段と
を備えることを特徴とする画像データ作成装置。
【請求項６】
前記変換手段は、各ブロックに含まれる情報にＤＣＴ（離散コサイン変換）を行うべくなしてあり、前記空間周波数成分はＤＣＴ係数であることを特徴とする請求項４又は５に記載の画像データ作成装置。
【請求項７】
前記画像固有情報は、それを特定する画像データ作成装置特定情報、及び／又は画像データを作成した日時を示す作成日時情報を含むことを特徴とする請求項３乃至６のいずれかに記載の画像データ作成装置。
【請求項８】
前記ブロック内容情報生成手段は、
第１乱数を生成する手段と、
量子化空間周波数成分の配列から、第１乱数を用いて所定数の量子化空間周波数成分を抽出する手段と、
抽出した所定数の量子化空間周波数成分の値をブロック内容情報とする手段とを備え、
前記割り当て情報は、ブロック毎に異なる秘密鍵であるブロック秘密鍵であり、
前記秘密情報計算手段は、
ブロック秘密鍵を用いて第２乱数及び第３乱数を生成する手段と、
ブロック内容情報及び第２乱数から第１ハッシュ値を計算する手段と、
前記画像固有情報及び第３乱数から第２ハッシュ値を計算する手段と、
第１ハッシュ値及び第２ハッシュ値のいずれかを、前記秘密情報及び前記位置情報のいずれかとする手段と、
位置情報が示す前記配列中の位置が、ブロック内容情報である量子化空間周波数成分の値の位置と重なるか否かを判定する手段と、
位置が重なると判定された場合には、第２乱数又は第３乱数を再生成し、第１ハッシュ値又は第２ハッシュ値を再計算して新たな位置情報とする手段と
を備えることを特徴とする請求項３乃至７のいずれかに記載の画像データ作成装置。
【請求項９】
前記画像固有情報埋め込み手段、及び／又は前記秘密情報埋め込み手段は、０又は１のいずれかに対して、量子化空間周波数の値を奇数又は偶数とすることで情報を埋め込むべくなしてあることを特徴とする請求項３乃至８のいずれかに記載の画像データ作成装置。
【請求項１０】
前記画像固有情報埋め込み手段、及び／又は前記秘密情報埋め込み手段は、０又は１のいずれかに対して、量子化空間周波数の値を、空間周波数成分を量子化する際の量子化幅の奇数倍又は偶数倍とすることで、情報を埋め込むべくなしてあることを特徴とする請求項３乃至８のいずれかに記載の画像データ作成装置。
【請求項１１】
請求項３乃至１０のいずれかに記載の画像データ作成装置によって秘密情報が埋め込まれて作成された画像データの改竄を検出する装置であって、
画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算する手段と、
全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出す手段と、
読み出した複数の前記情報の互いに対応する部分を比較する手段と、
複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定する手段と、
複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定する手段と、
ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成する手段と、
ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算する手段と、
ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出す手段と、
ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較する手段と、
予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定する手段と
を備えることを特徴とする改竄検出装置。
【請求項１２】
コンピュータに、原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込ませるコンピュータプログラムにおいて、
コンピュータに、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込ませる手順と、
コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、
コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算させる手順と、
コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込ませる手順と
を含むことを特徴とするコンピュータプログラム。
【請求項１３】
コンピュータに、請求項３乃至１０のいずれかに記載の画像データ作成装置によって秘密情報が埋め込まれて作成された画像データの改竄を検出させるコンピュータプログラムであって、
コンピュータに、画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算させる手順と、
コンピュータに、全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出させる手順と、
コンピュータに、読み出した複数の前記情報の互いに対応する部分を比較させる手順と、
コンピュータに、複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定させる手順と、
コンピュータに、複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定させる手順と、
コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、
コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算させる手順と、
コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出させる手順と、
コンピュータに、ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較させる手順と、
コンピュータに、予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定させる手順と
を含むことを特徴とするコンピュータプログラム。
【請求項１４】
コンピュータに、原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込ませるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、
コンピュータに、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込ませる手順と、
コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、
コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算させる手順と、
コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込ませる手順と
を含むコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【請求項１５】
コンピュータに、請求項３乃至１０のいずれかに記載の画像データ作成装置によって秘密情報が埋め込まれて作成された画像データの改竄を検出させるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体であって、
コンピュータに、画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算させる手順と、
コンピュータに、全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出させる手順と、
コンピュータに、読み出した複数の前記情報の互いに対応する部分を比較させる手順と、
コンピュータに、複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定させる手順と、
コンピュータに、複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定させる手順と、
コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、
コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算させる手順と、
コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出させる手順と、
コンピュータに、ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較させる手順と、
コンピュータに、予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定させる手順と
を含むコンピュータプログラムを記録してあることを特徴とするコンピュータでの読み取りが可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの改竄を防止するために、原画像に秘密情報を埋め込んだ画像データを作成する画像データ作成方法、該画像データ作成方法を実現するための画像データ作成装置、コンピュータを該画像データ作成装置として実現させるためのコンピュータプログラム、及び記録媒体、並びに画像データから秘密情報を抽出して該画像データに対する改竄を検出する改竄検出方法、該改竄検出方法を実現するための改竄検出装置、コンピュータを該改竄検出装置として実現させるためのコンピュータプログラム、及び記録媒体に関する。
【０００２】
【従来の技術】
デジタル化された情報は、保存・管理をコンピュータを用いて容易に行うことができる、又は通信ネットワークを用いて配布を容易に行うことができる等の利点があるため、文字データ、音声データ及び画像データ等の様々な情報がデジタル化されて流通している。しかし、デジタル化された情報は、複製、編集、及び改竄などの不正操作が容易であり、しかも不正操作の痕跡が残らないという問題がある。例えば、自動車損害保険での保険金支払処理において、デジタル化された画像データである、デジタルカメラにて撮影された写真を、事故現場の証拠写真として用いた場合は、画像データの改竄による不正が可能となる。このため、デジタル化された画像データに証拠能力を持たせるためには、画像データが改竄されていないことを証明する原本証明が必要となる。
【０００３】
画像データの原本証明を行うための従来の技術の例として、非特許文献１にて開示された、画像の内容と秘密の鍵とから一方向性関数であるハッシュ関数により計算されたハッシュ値を、画像データのヘッダ部に保存しておき、改竄の検査の際に、画像の内容から計算されたハッシュ値とヘッダ部に保存されているハッシュ値とを比較することで、画像データの改竄の有無を知る方法がある。また、画像データの内部に秘密の情報を電子透かしとして埋め込んでおき、画像データが改竄された場合に秘密の情報が正しく抽出できないことを利用して改竄の有無を知る技術も知られており、この技術の例として、非特許文献２にて開示された、原画像を圧縮した標準的な画像データであるＪＰＥＧ（Joint Photographic Experts Group）画像データの、量子化されたＤＣＴ（Discrete Cosine Transform：離散コサイン変換）係数の値を変更することで秘密の情報を埋め込む方法、及び、非特許文献３にて開示された、原画像の画素値から計算されるハッシュ値を、ビットマップ形式の画像データの画素の情報を構成するビット列中の最下位ビットを変更することで秘密の情報を埋め込む方法がある。
【０００４】
【非特許文献１】
森藤，安細，吉浦，金野，「著作権保護機能つきディジタルカメラの試作」，コンピュータセキュリティシンポジウム’９９論文集，１９９９年１０月、ｐ．２７３−２７６
【非特許文献２】
豊川，森本，利根川，上條，小出，「保険クレーム処理グループワークシステムにおけるデジタル写真の改ざん防止と検出機能」，信学技報，電気情報通信学会，１９９９年９月，ＩＥ９９−３８，ｐ．１−８
【非特許文献３】
岩村，林，桜井，今井，「安全な改ざん位置検出用電子透かしに関する考察と提案」，コンピュータセキュリティシンポジウム２００１論文集，２００１年１０月，ｐ．２８３−２８８
【０００５】
【発明が解決しようとする課題】
信頼性の高い原本証明を行うためには、画像データの改竄の有無が検出できることに加えて、画像データが改竄されていた場合は改竄位置の特定ができる必要がある。また、検出できない改竄を行うことが困難である必要がある。
【０００６】
非特許文献１に開示された方法では、画像データの再圧縮またはフォーマット変換などの操作によりヘッダ部が取り除かれた場合は、改竄があったことは検出できても改竄位置の特定ができない。非特許文献２に開示された方法では、画像データの再圧縮によっても埋め込んだ秘密の情報が壊れることがなく、ヘッダ部が取り除かれた場合でも改竄位置を特定することができる。しかし、埋め込まれる秘密の情報が画像データの内容と独立であるため、秘密の情報を埋め込むアルゴリズム、即ち画像データ中のどの情報をどのような状態にすることで秘密の情報を表現しているのかが明らかであれば、秘密の情報を表現している状態を改竄前と改竄後とで同一にすることにより、検出ができない改竄を行うことが可能となる。また、非特許文献３に開示された方法では、画像データの内容に依存して秘密の情報が変化するために、アルゴリズムが明らかである場合でも検出ができない改竄を行うことは困難であるが、画像データの形式として標準的に用いられているＪＰＥＧ等の圧縮された画像データでは使用できないという問題がある。
【０００７】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、空間周波数成分の配列への変換と符号化とを行って原画像を圧縮した画像データを作成する際に、画像データの各部分に、画像に固有の情報、各部分に割り当てられた情報、及び各部分の内容に依存した情報を埋め込むことによって、改竄位置の特定が可能であり、また、検出できない改竄が困難である、圧縮された画像データを作成し、画像データの原本証明を可能にする画像データ作成方法、該画像データ作成方法を実現するための画像データ作成装置、コンピュータを該画像データ作成装置として実現させるためのコンピュータプログラム、及び記録媒体を提供することにある。
【０００８】
また、本発明の他の目的とするところは、前記画像データ作成方法を用いて作成された画像データに埋め込まれた秘密の情報を取り出して照会することで、画像データが改竄されていた場合は画像データの改竄を検出し、画像データが改竄されていない場合は画像データの原本証明を行うことができる改竄検出方法、該改竄検出方法を実現するための改竄検出装置、コンピュータを該改竄検出装置として実現させるためのコンピュータプログラム、及び記録媒体を提供することにある。
【０００９】
【課題を解決するための手段】
第１発明に係る画像データ作成方法は、原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込む画像データ作成方法において、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込むステップと、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するステップと、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算するステップと、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込むステップとを含むことを特徴とする。
【００１０】
第２発明に係る改竄検出方法は、第１発明に係る画像データ作成方法によって秘密情報が埋め込まれて作成された画像データの改竄を検出する方法であって、画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算するステップと、全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出すステップと、読み出した複数の前記情報の互いに対応する部分を比較するステップと、複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定するステップと、複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定するステップと、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するステップと、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算するステップと、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出すステップと、ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較するステップと、予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定するステップとを含むことを特徴とする。
【００１１】
第３発明に係る画像データ作成装置は、原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込む画像データ作成装置において、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込む画像固有情報埋め込み手段と、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するブロック内容情報生成手段と、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算する秘密情報計算手段と、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込む秘密情報埋め込み手段とを備えることを特徴とする。
【００１２】
第４発明に係る画像データ作成装置は、秘密情報を埋め込んだ画像データを作成する装置において、原画像を作成する手段と、原画像に固有の情報をビット列で表した画像固有情報を生成する手段と、原画像を複数のブロックに分割する手段と、各ブロックに含まれる情報を空間周波数成分の配列に変換する変換手段と、各ブロックにおける空間周波数成分の量子化を行って、ブロック毎に量子化空間周波数成分の配列を計算する手段と、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込む画像固有情報埋め込み手段と、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するブロック内容情報生成手段と、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算する秘密情報計算手段と、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込む秘密情報埋め込み手段と、画像固有情報及び秘密情報を埋め込んだ前記配列を符号化する手段とを備えることを特徴とする。
【００１３】
第５発明に係る画像データ作成装置は、秘密情報を埋め込んだ画像データを作成する装置において、原画像を作成する手段と、原画像に固有の情報をビット列で表した画像固有情報を生成する手段と、原画像を複数のブロックに分割する手段と、各ブロックに含まれる情報を空間周波数成分の配列に変換する変換手段と、各ブロックにおける空間周波数成分の量子化を行って、ブロック毎に量子化空間周波数成分の配列を計算する手段と、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込む画像固有情報埋め込み手段と、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成するブロック内容情報生成手段と、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算する秘密情報計算手段と、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込む秘密情報埋め込み手段と、画像固有情報及び秘密情報を埋め込んだ前記配列を、画像に含まれる情報へ変換して、画像固有情報及び秘密情報を埋め込んだ画像を作成する手段と、画像固有情報及び秘密情報を埋め込んだ画像を圧縮符号化して、画像固有情報及び秘密情報を埋め込んだ画像データを作成する手段とを備えることを特徴とする。
【００１４】
第６発明に係る画像データ作成装置は、前記変換手段は、各ブロックに含まれる情報にＤＣＴ（離散コサイン変換）を行うべくなしてあり、前記空間周波数成分はＤＣＴ係数であることを特徴とする。
【００１５】
第７発明に係る画像データ作成装置は、前記画像固有情報は、それを特定する画像データ作成装置特定情報、及び／又は画像データを作成した日時を示す作成日時情報を含むことを特徴とする。
【００１６】
第８発明に係る画像データ作成装置は、前記ブロック内容情報生成手段は、第１乱数を生成する手段と、量子化空間周波数成分の配列から、第１乱数を用いて所定数の量子化空間周波数成分を抽出する手段と、抽出した所定数の量子化空間周波数成分の値をブロック内容情報とする手段とを備え、前記割り当て情報は、ブロック毎に異なる秘密鍵であるブロック秘密鍵であり、前記秘密情報計算手段は、ブロック秘密鍵を用いて第２乱数及び第３乱数を生成する手段と、ブロック内容情報及び第２乱数から第１ハッシュ値を計算する手段と、前記画像固有情報及び第３乱数から第２ハッシュ値を計算する手段と、第１ハッシュ値及び第２ハッシュ値のいずれかを、前記秘密情報及び前記位置情報のいずれかとする手段と、位置情報が示す前記配列中の位置が、ブロック内容情報である量子化空間周波数成分の値の位置と重なるか否かを判定する手段と、位置が重なると判定された場合には、第２乱数又は第３乱数を再生成し、第１ハッシュ値又は第２ハッシュ値を再計算して新たな位置情報とする手段とを備えることを特徴とする。
【００１７】
第９発明に係る画像データ作成装置は、前記画像固有情報埋め込み手段、及び／又は前記秘密情報埋め込み手段は、０又は１のいずれかに対して、量子化空間周波数の値を奇数又は偶数とすることで情報を埋め込むべくなしてあることを特徴とする。
【００１８】
第１０発明に係る画像データ作成装置は、前記画像固有情報埋め込み手段、及び／又は前記秘密情報埋め込み手段は、０又は１のいずれかに対して、量子化空間周波数の値を、空間周波数成分を量子化する際の量子化幅の奇数倍又は偶数倍とすることで、情報を埋め込むべくなしてあることを特徴とする。
【００１９】
第１１発明に係る改竄検出装置は、第３乃至第１０発明のいずれかに係る画像データ作成装置によって秘密情報が埋め込まれて作成された画像データの改竄を検出する装置であって、画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算する手段と、全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出す手段と、読み出した複数の前記情報の互いに対応する部分を比較する手段と、複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定する手段と、複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定する手段と、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成する手段と、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算する手段と、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出す手段と、ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較する手段と、予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定する手段とを備えることを特徴とする。
【００２０】
第１２発明に係るコンピュータプログラムは、コンピュータに、原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込ませるコンピュータプログラムにおいて、コンピュータに、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込ませる手順と、コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算させる手順と、コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込ませる手順とを含むことを特徴とする。
【００２１】
第１３発明に係るコンピュータプログラムは、コンピュータに、第３乃至第１０発明のいずれかに係る画像データ作成装置によって秘密情報が埋め込まれて作成された画像データの改竄を検出させるコンピュータプログラムであって、コンピュータに、画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算させる手順と、コンピュータに、全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出させる手順と、コンピュータに、読み出した複数の前記情報の互いに対応する部分を比較させる手順と、コンピュータに、複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定させる手順と、コンピュータに、複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定させる手順と、コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算させる手順と、コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出させる手順と、コンピュータに、ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較させる手順と、コンピュータに、予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定させる手順とを含むことを特徴とする。
【００２２】
第１４発明に係るコンピュータでの読み取りが可能な記録媒体は、コンピュータに、原画像を分割した複数のブロックの夫々に含まれる情報を空間周波数成分の配列に変換し、空間周波数成分の配列を量子化した量子化空間周波数成分の配列を符号化することによって作成される画像データに秘密情報を埋め込ませるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体において、コンピュータに、各ブロックにおける量子化空間周波数成分の配列中の所定位置の量子化空間周波数成分の値に対して、予め定められたブロック順に、原画像に固有の情報をビット列で表した画像固有情報に含まれる各ビット値を順番に全ブロックに渡って繰り返し対応させ、各ブロックにおける前記配列中の所定位置の量子化空間周波数成分の値を対応するビット値に応じて変化させることにより、全ブロックに渡って画像固有情報を繰り返し埋め込ませる手順と、コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報を前記配列中に埋め込むべき位置を示す位置情報とすることにより、秘密情報及び位置情報を計算させる手順と、コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値を前記秘密情報に応じて変化させて、秘密情報を埋め込ませる手順とを含むコンピュータプログラムを記録してあることを特徴とする。
【００２３】
第１５発明に係るコンピュータでの読み取りが可能な記録媒体は、コンピュータに、第３乃至第１０発明のいずれかに係る画像データ作成装置によって秘密情報が埋め込まれて作成された画像データの改竄を検出させるコンピュータプログラムを記録してあるコンピュータでの読み取りが可能な記録媒体であって、コンピュータに、画像データを復号して、原画像を分割した複数のブロックの夫々について量子化空間周波数成分の配列を計算させる手順と、コンピュータに、全ブロックに渡って繰り返し埋め込まれている、原画像に固有の画像固有情報に対応する複数の情報を、各ブロックの前記配列中の所定位置の量子化空間周波数成分の値に応じて順に読み出させる手順と、コンピュータに、読み出した複数の前記情報の互いに対応する部分を比較させる手順と、コンピュータに、複数の前記情報の前記部分が互いに一致した場合は、読み出した前記情報が画像固有情報であると決定させる手順と、コンピュータに、複数の前記情報が、互いに一致しない前記部分を含む場合は、最も数が多い前記部分を組み合わせた情報が画像固有情報であると決定させる手順と、コンピュータに、ブロック毎に、各ブロックの内容に依存したブロック内容情報を生成させる手順と、コンピュータに、ブロック毎に、ハッシュ関数を用いて、生成したブロック内容情報及び各ブロックに割り当てられた割り当て情報から第１ハッシュ値を計算し、前記割り当て情報及び決定した画像固有情報から第２ハッシュ値を計算し、計算した第１ハッシュ値及び第２ハッシュ値の一方を、該ブロックに埋め込まれている秘密情報であると予想される予想秘密情報とし、計算した第１ハッシュ値及び第２ハッシュ値の他方を、前記秘密情報が埋め込まれていると予想される前記配列中の位置を示す位置情報とすることにより、予想秘密情報及び位置情報を計算させる手順と、コンピュータに、ブロック毎に、前記配列中の前記位置情報が示す位置の量子化空間周波数成分の値に応じて、埋め込まれている秘密情報である埋め込み秘密情報を読み出させる手順と、コンピュータに、ブロック毎に、計算した予想秘密情報と読み出した埋め込み秘密情報とを比較させる手順と、コンピュータに、予想秘密情報と埋め込み秘密情報とが一致しないブロックがある場合には、該ブロックは改竄されていると判定させる手順とを含むコンピュータプログラムを記録してあることを特徴とする。
【００２４】
第１、第３、第１２及び第１４発明においては、空間周波数成分の配列への変換と符号化とを行って原画像を圧縮した画像データを作成する際に、原画像を分割した複数のブロックの夫々にて、画像に固有の画像固有情報、各ブロックに割り当てられた割り当て情報、及び各ブロックの内容に依存したブロック内容情報から、秘密情報、及び該秘密情報を該ブロックのデータ中に埋め込む位置を示す位置情報を計算し、秘密情報に応じて位置情報が示す位置のデータの値を変化させることによって、秘密情報を埋め込む。ブロック内容情報を変化させる事なくブロックの内容の改竄を行うことが困難であるため、画像データに対して検出ができない改竄を行うことが困難である。また、ブロック毎に秘密情報が埋め込まれているため、改竄された場合に改竄位置を特定することができる。更に、ＪＰＥＧ形式などの圧縮された画像データとして使用することができる。
【００２５】
第２、第１１、第１３及び第１５発明においては、各ブロックにて、画像固有情報、割り当て情報、及びブロック内容情報から、埋め込まれていると予想される予想秘密情報と秘密情報が埋め込まれていると予想される位置を示す位置情報を計算し、位置情報に従って読み出した埋め込み秘密情報と予想秘密情報とを比較することで改竄の検出を行う。検出できない改竄を行うことが困難であり、改竄位置の特定も容易であるため、画像データに対して、信頼性の高い原本証明を行うことができる。
【００２６】
第４及び第６発明においては、画像データ作成装置は、デジタルカメラ等の原画像を作成する手段を備えた装置であるため、原本証明が可能な証拠能力を有する画像データを手軽に作成することが可能となり、実用性が高い。
【００２７】
第５発明においては、画像データ作成装置は、画像を圧縮符号化する前の段階で、圧縮符号化の対象の画像に秘密情報を埋め込むため、ブラックボックス化された画像を圧縮符号化する手段を備えたデジタルカメラ等の装置に、本発明の機能を組み込むことができる。
【００２８】
第７発明においては、画像固有情報は、画像データ作成装置特定情報、及び／又は画像を作成した日時を示す作成日時情報を含むため、他の画像データの一部を画像データに貼りつける改竄を検出することができる。
【００２９】
第８発明においては、割り当て情報は、ブロック毎に異なるブロック秘密鍵であるため、画像データの一部分を他の部分へ貼りつける改竄を検出することができる。また、ブロック内容情報およびブロック秘密鍵を用いて第１ハッシュ値を計算し、画像固有情報およびブロック秘密鍵を用いて第２ハッシュ値を計算し、第１ハッシュ値および第２ハッシュ値のいずれかを、秘密情報および位置情報のいずれかとすることによって、検出ができない改竄をより困難にする。また、ブロックのデータ中の、ブロック内容情報を抽出した位置と秘密情報を埋め込む位置とを異ならせることにより、正確な改竄検出を可能にする。
【００３０】
第９発明においては、画像固有情報及び／又は秘密情報を埋め込む際に、埋め込む位置のデータの値を偶数又は奇数にすることによって０又は１のいずれかを表現させるため、情報を埋め込むことによる画像データの画質の劣化を抑制することができる。
【００３１】
第１０発明においては、画像固有情報及び／又は秘密情報を埋め込む際に、埋め込む位置のデータの値を量子化幅の偶数倍または奇数倍にすることによって０又は１のいずれかを表現させるため、情報を埋め込むことによる画像データの画質の劣化を抑制することができる。
【００３２】
【発明の実施の形態】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。
（実施の形態１）
図１は、実施の形態１に係る本発明の画像データ作成装置の構成を示すブロック図である。実施の形態１に係る画像データ作成装置１は、画像を撮影してデジタル化された画像データを作成するデジタルカメラであり、装置を制御するための演算を行うＣＰＵ１０１と、レンズ及び絞り等の光学系１０９とを備え、ＣＰＵ１０１には、光学系１０９を制御するサーボモータ等の光学系制御部１０８と、ＣＣＤ等の撮影素子を用いた撮影部１１０と、オペレータからの操作を受け付ける操作部１０６とが接続されており、操作部１０６にてオペレータからの操作を受け付けて、ＣＰＵ１０１は光学系制御部１０８に光学系１０９を制御させ、撮影部１１０にて撮影を行う。
【００３３】
また、ＣＰＵ１０１には、撮影部１１０にて撮影された画像の情報を処理して画像データを作成する画像処理部１０７と、画像処理部１０７が処理を行う際に生じる一時的なデータ及びＣＰＵ１０１が画像データ作成装置１を制御するためのプログラムを記憶するＲＡＭ１０２と、画像処理部１０７が行う処理のために必要な情報を記憶しているＲＯＭ１０３とが接続されており、撮影部１１０に接続されたＡ／Ｄ変換部１１１が接続されている。撮影部１１０で撮影された画像を示す電気信号は、Ａ／Ｄ変換部１１１にてデジタル情報に変換され、ＲＡＭ１０２に記憶されて、画像処理部１０７にて画像データが作成される。ＲＯＭ１０３は、画像データ作成装置１を特定する装置ＩＤと、乱数を生成するための秘密鍵と、本発明に係る割り当て情報である複数のブロック秘密鍵とを記憶している。
【００３４】
また、ＣＰＵ１０１には、画像メモリ１０４と、液晶ディスプレイ等の表示部１０５が接続されており、画像処理部１０７にて作成された画像データは画像メモリ１０４にて記憶され、操作部１０６にて受け付けたオペレータからの操作に従って、表示部１０５に画像が表示される。更に、ＣＰＵ１０１には、本発明に係る作成日時情報である、撮影日時を計測するための時計部１１２と、画像データを記憶するメモリカード又は磁気テープ等の記憶媒体２を受け付ける外部インタフェース１１３が接続されている。画像メモリ１０４に記憶されている画像データは、外部インタフェース１１３を介して記憶媒体２へ転送されて記憶媒体２に記憶され、記憶媒体２を取り出すことで画像データが外部へ取り出される。なお、外部インタフェース１１３は、有線または無線にて画像データを外部へ送信する構成であってもよい。
【００３５】
次に、画像データ作成装置１が行う動作に従って、本発明の画像データ作成方法の処理を説明する。図２は、実施の形態１に係る画像データ作成装置１が行う動作の手順を示すフローチャートである。まず、画像データ作成装置１は、撮影部１１０にて原画像を撮影し（Ｓ１）、撮影した原画像を示す電気信号をＡ／Ｄ変換部１１１にてＡ／Ｄ変換し（Ｓ２）、Ａ／Ｄ変換された輝度成分または色成分の情報からなる原画像をＲＡＭ１０２に読み込む（Ｓ３）。次に、画像データ作成装置１は、ＲＯＭ１０３が記憶している装置ＩＤと、時計部１１２が計測した画像の撮影日時とをビット列で表した画像固有情報ｍを生成する（Ｓ４）。なお、撮影者の氏名など、画像を特定する他の情報を更に含ませた画像固有情報ｍを生成してもよい。次に、画像データ作成装置１は、画像処理部１０７にて原画像のデータを変換するデータ変換処理を行う（Ｓ５）。
【００３６】
図３は、ステップＳ５のデータ変換処理のサブルーチンの手順を示すフローチャートであり、図４は、変換されるデータの例を示す概念図である。まず、画像処理部１０７は、図４（ａ）に示すごとき、輝度成分または色成分の情報からなる原画像を、８×８画素からなる複数のブロックに分割する（Ｓ５１）。分割された夫々のブロックは、図４（ｂ）に示すごとく、輝度成分または色成分の情報にて画像の一部を表現している。次に、画像処理部１０７は、各ブロックに２次元離散コサイン変換（ＤＣＴ）を行い（Ｓ５２）、各ブロックの情報を、図４（ｃ）に示すごとく、本発明に係る空間周波数成分であるＤＣＴ係数の８×８の配列に変換する。図４（ｃ）に示した配列ａ１１，ａ１２，…，ａ８８では、行方向がブロック内のｘ方向への、列方向がブロック内のｙ方向への空間周波数に対応した成分の配列であり、図中の８×８配列の右下が高周波成分であり、左上が低周波成分である。次に、画像処理部１０７は、各ブロックにおける実数からなるＤＣＴ係数の配列ａ１１，ａ１２，…，ａ８８の夫々の成分を、夫々の周波数に割り振られている量子化幅で量子化して（Ｓ５３）、図４（ｄ）に示すごとき、本発明に係る量子化空間周波数成分である量子化ＤＣＴ係数の８×８の配列に変換する。量子化ＤＣＴ係数の配列ｂ１１，ｂ１２，…，ｂ８８は、夫々が整数となっている。画像処理部１０７は、以上でデータ変換処理のサブルーチンの処理を終了し、処理をメインへ戻す。
【００３７】
次に、画像処理部１０７は、秘密情報を量子化ＤＣＴ係数の配列の中に埋め込む秘密情報埋め込み処理を行う（Ｓ６）。図５は、ステップＳ６の秘密情報埋め込み処理のサブルーチンの手順を示すフローチャートである。まず、画像処理部１０７は、各ブロックにおける所定位置の量子化ＤＣＴ係数の値を順に変化させることで、ビット列で表した画像固有情報ｍを全ブロックに渡って繰り返し埋め込む（Ｓ６１）。
【００３８】
図６は、ｋビットの画像固有情報ｍの埋め込みの例を示す概念図である。画像処理部１０７は、画像固有情報ｍの夫々のビットの値に応じて、各ブロックにおける所定位置の量子化ＤＣＴ係数の値、例えばｂ３３の値を、ビットの値が０である場合には偶数に、１である場合には奇数にすることで、１ブロック毎に順に１ビットを埋め込んで第１ブロックから第ｋブロックに渡って画像固有情報ｍを埋め込む。更に、第（ｋ＋１）ブロックから順に画像固有情報ｍを埋め込み、全ブロックに渡って画像固有情報ｍを繰り返し埋め込む。なお、各ブロックにおいて画像固有情報ｍを埋め込む量子化ＤＣＴ係数の配列中の位置は、乱数で決定することとしてもよく、１ブロックに複数のビットを埋め込むこととしてもよい。また、ビットの値の０を奇数に、１を偶数に対応させることとしてもよい。
【００３９】
次に、画像処理部１０７は、秘密情報を埋め込むブロックを選択し（Ｓ６２）、秘密鍵を用いて第１乱数ｒ１を生成する（Ｓ６３）。なお、他のブロックに秘密情報を埋め込む際に生成した以前の第１乱数ｒ１を種として次の第１乱数ｒ１を生成してもよい。次に、画像処理部１０７は、量子化ＤＣＴ係数の配列の中から、第１乱数ｒ１に従って、所定数ｎ個の量子化ＤＣＴ係数を抽出し（Ｓ６４）、抽出したｎ個の量子化ＤＣＴ係数の組ｃ１，ｃ２，…，ｃｎを、本発明に係るブロック内容情報Ｃとする。次に、画像処理部１０７は、埋め込むべき秘密情報を計算する秘密情報計算処理を行う（Ｓ６５）。
【００４０】
図７は、ステップＳ６５の秘密情報計算処理のサブルーチンの手順を示すフローチャートである。画像処理部１０７は、本発明に係る割り当て情報である、ブロック毎に異なるブロック秘密鍵を用いて第２乱数ｒ２を生成する（Ｓ６５０）。次に、画像処理部１０７は、ブロック内容情報Ｃ及び第２乱数ｒ２から、ブロック内容情報Ｃ及び第２乱数ｒ２をハッシュ関数Ｈ１に入力した出力として求められる第１ハッシュ値Ｈ１（Ｃ，ｒ２）を計算し、計算した第１ハッシュ値Ｈ１（Ｃ，ｒ２）を、ブロック内に埋め込むべき秘密情報とする（Ｓ６５２）。ここで、第１ハッシュ値Ｈ１（Ｃ，ｒ２）の値は、０又は１が計算される。
【００４１】
次に、画像処理部１０７は、ブロック秘密鍵を用いて第３乱数ｒ３を生成し（Ｓ６５４）、画像固有情報ｍ及び第３乱数ｒ３から、画像固有情報ｍ及び第３乱数ｒ３をハッシュ関数Ｈ２に入力した出力として求められる第２ハッシュ値Ｈ２（ｍ，ｒ３）を計算し、計算した第２ハッシュ値Ｈ２（ｍ，ｒ３）を、量子化ＤＣＴ係数の配列中に秘密情報を埋め込む位置を示す位置情報とする（Ｓ６５６）。ここで、第２ハッシュ値Ｈ２（ｍ，ｒ３）の値は任意の整数となる。次に、画像処理部１０７は、位置情報が示す量子化ＤＣＴ係数の配列中の位置が、ブロック内容情報Ｃであるｎ個の量子化ＤＣＴ係数の組ｃ１，ｃ２，…，ｃｎを抽出した位置と一致するか否かを判定し（Ｓ６５８）、位置が一致すると判定された場合は（Ｓ６５８：ＹＥＳ）、画像処理部１０７は、ステップＳ６５４へ処理を戻して第３乱数ｒ３を種として次の第３乱数ｒ３を生成して位置情報を再計算し、位置が一致しないと判定された場合は（Ｓ６５８：ＮＯ）、画像処理部１０７は、秘密情報計算処理のサブルーチンを終了して処理を秘密情報埋め込み処理へ戻す。
【００４２】
なお、第２ハッシュ値Ｈ２（ｍ，ｒ３）を秘密情報とし、第１ハッシュ値Ｈ１（Ｃ，ｒ２）を位置情報とする処理の方法を用いてもよい。図８は、第２の方法による秘密情報計算処理のサブルーチンの手順を示すフローチャートである。画像処理部１０７は、ブロック秘密鍵を用いて第２乱数ｒ２を生成し（Ｓ６５１）、ブロック内容情報Ｃ及び第２乱数ｒ２を用いて第１ハッシュ値Ｈ１（Ｃ，ｒ２）を計算して、量子化ＤＣＴ係数の配列中に秘密情報を埋め込む位置を示す位置情報とする（Ｓ６５３）。ここで、第１ハッシュ値Ｈ１（Ｃ，ｒ２）の値は任意の整数となる。次に、画像処理部１０７は、位置情報が示す量子化ＤＣＴ係数の配列中の位置が、ブロック内容情報Ｃであるｎ個の量子化ＤＣＴ係数を抽出した位置と一致するか否かを判定し（Ｓ６５５）、位置が一致すると判定された場合は（Ｓ６５５：ＹＥＳ）、画像処理部１０７は、ステップＳ６５１へ処理を戻して第２乱数ｒ２を種として次の第２乱数ｒ２を生成して位置情報を再計算し、位置が一致しないと判定された場合は（Ｓ６５５：ＮＯ）、画像処理部１０７は、ブロック秘密鍵を用いて第３乱数ｒ３を計算し（Ｓ６５７）、画像固有情報ｍを用いて第２ハッシュ値Ｈ２（ｍ，ｒ３）を計算して秘密情報とし（Ｓ６５９）、秘密情報計算処理のサブルーチンを終了して処理を秘密情報埋め込み処理へ戻す。ここで、第２ハッシュ値Ｈ２（ｍ，ｒ３）の値は、０又は１が計算される。
【００４３】
次に、画像処理部１０７は、量子化ＤＣＴ係数の配列の中の位置情報が示す位置の量子化ＤＣＴ係数の値を、秘密情報が０である場合には偶数に、１である場合には奇数にすることで、量子化ＤＣＴ係数の配列の中に秘密情報を埋め込む（Ｓ６６）。なお、秘密情報の値の０を奇数に、１を偶数に対応させることとしてもよい。次に、画像処理部１０７は、全てのブロックについて秘密情報の埋め込みが終了したか否かを判定し（Ｓ６７）、秘密情報の埋め込みが終了していないブロックがある場合には（Ｓ６７：ＮＯ）、処理をステップＳ６２へ戻して次のブロックを選択して、選択したブロックへの秘密情報の埋め込みを行う。全てのブロックについて秘密情報の埋め込みが終了している場合には（Ｓ６７：ＹＥＳ）、画像処理部１０７は、秘密情報埋め込み処理のサブルーチンを終了して処理をメインへ戻す。
【００４４】
次に、画像処理部１０７は、画像固有情報ｍ及び秘密情報を埋め込んだ量子化ＤＣＴ係数の配列を、全ブロックに渡って符号化し、ＪＰＥＧ形式の画像データを作成する（Ｓ７）。なお、ＪＰＥＧ以外の形式の画像データを作成する符号化を行うこととしてもよい。次に、画像データ作成装置１は、作成した画像データを画像メモリ１０４に記録し（Ｓ８）、処理を終了する。以上詳述した手順を用いて、画像データ作成装置１は、秘密情報を埋め込んだ画像データを作成する。なお、以上の処理の手順では、本発明の割り当て情報としてブロック秘密鍵を用いているが、ブロック番号などブロック毎に異なる他の情報を割り当て情報として用いてもよい。
【００４５】
次に、前述した画像データ作成方法により作成された画像データの改竄を検出する、本発明の改竄検出方法の処理を説明する。図９は、本発明の改竄検出装置の構成を示すブロック図である。改竄検出装置３は、コンピュータを用いて構成され、演算を行うＣＰＵ３１と、演算に伴って発生する一時的な情報を記憶するＲＡＭ３２と、ＣＤ−ＲＯＭドライブ等の外部記憶装置３３と、ハードディスク等の内部記憶装置３４とを備えており、本発明に係るＣＤ−ＲＯＭ等の記録媒体４から本発明に係るコンピュータプログラム４０を外部記憶装置３３にて読み取り、読み取ったコンピュータプログラム４０を内部記憶装置３４に記憶し、ＲＡＭ３２にコンピュータプログラム４０をロードし、ＣＰＵ３１はコンピュータプログラム４０に基づいて改竄検出装置３に必要な処理を実行する。コンピュータプログラム４０には、画像データを検出するために必要な秘密鍵およびブロック秘密鍵が含まれている。
【００４６】
改竄検出装置３は、また、キーボード又はマウス等の入力装置３５と、液晶ディスプレイ又はＣＲＴディスプレイ等の出力装置３６とを備えており、情報の入力を初めとするオペレータからの操作を受け付ける構成となっている。更に、改竄検出装置３は、画像データを記憶している記憶媒体２を受け付ける外部インタフェース３７を備えている。なお、外部インタフェース３７は、有線または無線にて画像データを外部から受け付ける構成であってもよい。
【００４７】
図１０は、改竄検出装置３が行う動作の手順を示すフローチャートである。改竄検出装置３は、外部インタフェース３７を介して記憶媒体２から転送された画像データを記憶している内部記憶装置３４から、又は外部インタフェース３７を介して記憶媒体２から直接に、画像データをＲＡＭ３２に読み込み（Ｓ１０１）、読み込んだ画像データを復号して（Ｓ１０２）、量子化ＤＣＴ係数の配列からなる複数のブロックに変換する。次に、改竄検出装置３は、各ブロックにおける所定位置の量子化ＤＣＴ係数の値に応じて０又は１の情報を読み出して、全ブロックに繰り返し埋め込まれている画像固有情報ｍ’に対応する複数の情報を読み出す（Ｓ１０３）。
【００４８】
次に、改竄検出装置３は、読み出した複数の情報の互いに対応する部分である、第１ビットの値，第２ビットの値，…，第ｋビットの値を互いに比較して、情報が全て一致するか否かを判定する（Ｓ１０４）。互いにビットの値が一致しない部分がある場合は（Ｓ１０４：ＮＯ）、夫々の情報における互いに対応する部分の０又は１の値から、数が多い方の値を選択し（Ｓ１０５）、選択した値を順に組み合わせて画像固有情報ｍ’を決定する（Ｓ１０６）。ステップＳ１０４において読み出した複数の情報が互いに一致する場合は（Ｓ１０４：ＹＥＳ）、一致した情報を画像固有情報ｍ’と決定する（Ｓ１０６）。
【００４９】
次に、改竄検出装置３は、改竄が行われているか否かを検査するためのブロックを選択し（Ｓ１０７）、秘密鍵を用いて第１乱数ｒ１を生成する（Ｓ１０８）。なお、他のブロックを検査する際に生成した以前の第１乱数ｒ１を用いて次の第１乱数ｒ１を生成してもよい。次に、改竄検出装置３は、選択したブロックの量子化ＤＣＴ係数の配列の中から、第１乱数ｒ１に従って、所定数ｎ個の量子化ＤＣＴ係数を抽出し（Ｓ１０９）、抽出したｎ個の量子化ＤＣＴ係数の組ｃ’１，ｃ’２，…，ｃ’ｎをブロック内容情報Ｃ’とする。
【００５０】
次に、改竄検出装置３は、秘密情報を照合して改竄を検出する秘密情報照合処理を行う（Ｓ１１０）。図１１及び図１２は、ステップＳ１１０の秘密情報照合処理のサブルーチンの手順を示すフローチャートである。画像データ作成方法が、第１ハッシュ値Ｈ１（Ｃ，ｒ２）を秘密情報とし、第２ハッシュ値Ｈ２（ｍ，ｒ３）を位置情報とする処理の方法を用いている場合は、改竄検出装置３は、図１１のフローチャートに示した手順により秘密情報照合処理を行う。
【００５１】
改竄検出装置３は、ブロック秘密鍵を用いて第２乱数ｒ２を生成し（Ｓ１１００）、ブロック内容情報Ｃ’及び第２乱数ｒ２から第１ハッシュ値Ｈ１’（Ｃ’，ｒ２）を計算し、計算した第１ハッシュ値Ｈ１’（Ｃ’，ｒ２）を、埋め込まれていると予想される予想秘密情報とする（Ｓ１１０２）。次に、改竄検出装置３は、ブロック秘密鍵を用いて第３乱数ｒ３を生成し（Ｓ１１０４）、画像固有情報ｍ’及び第３乱数ｒ３から第２ハッシュ値Ｈ２’（ｍ’，ｒ３）を計算して、計算した第２ハッシュ値Ｈ２’（ｍ’，ｒ３）を、秘密情報が埋め込まれていると予想される量子化ＤＣＴ係数の配列中の位置を示す位置情報とする（Ｓ１１０６）。次に、改竄検出装置３は、位置情報が示す量子化ＤＣＴ係数の配列中の位置が、ブロック内容情報Ｃ’であるｎ個の量子化ＤＣＴ係数の組ｃ’１，ｃ’２，…，ｃ’ｎを抽出した位置と一致するか否かを判定し（Ｓ１１０８）、位置が一致すると判定された場合は（Ｓ１１０８：ＹＥＳ）、改竄検出装置３は、ステップＳ１１０４へ処理を戻して第３乱数ｒ３を用いて次の第３乱数ｒ３を生成して位置情報を再計算する。
【００５２】
ステップＳ１１０８にて位置が一致しないと判定された場合は（Ｓ１１０８：ＮＯ）、改竄検出装置３は、位置情報が示す位置の量子化ＤＣＴ係数の値に応じて０又は１の情報を読み出して、量子化ＤＣＴ係数の配列中に埋め込まれている埋め込み秘密情報を読み出す（Ｓ１１１０）。次に、改竄検出装置３は、予想秘密情報と埋め込み秘密情報とを比較して一致するか否かを判定し（Ｓ１１１２）、予想秘密情報と埋め込み秘密情報とが一致しなかった場合は（Ｓ１１１２：ＮＯ）、該ブロックは改竄されているとの通知を出力し（Ｓ１１１４）、秘密情報照合処理のサブルーチンを終了して処理をメインへ戻す。予想秘密情報と埋め込み秘密情報とが一致している場合は（Ｓ１１１２：ＹＥＳ）、該ブロックは改竄されていないとの通知を出力し（Ｓ１１１６）、秘密情報照合処理のサブルーチンを終了して処理をメインへ戻す。
【００５３】
また、画像データ作成方法が、第２ハッシュ値Ｈ２（ｍ，ｒ３）を秘密情報とし、第１ハッシュ値Ｈ１（Ｃ，ｒ２）を位置情報とする処理の方法を用いている場合は、改竄検出装置３は、図１２のフローチャートに示した手順により秘密情報照合処理を行う。改竄検出装置３は、ブロック秘密鍵を用いて第２乱数ｒ２を生成し（Ｓ１１０１）、ブロック内容情報Ｃ’及び第２乱数ｒ２から第１ハッシュ値Ｈ１’（Ｃ’，ｒ２）を計算して位置情報とする（Ｓ１１０３）。次に、改竄検出装置３は、位置情報が示す量子化ＤＣＴ係数の配列中の位置が、ブロック内容情報Ｃ’を抽出した位置と一致するか否かを判定し（Ｓ１１０５）、位置が一致すると判定された場合は（Ｓ１１０５：ＹＥＳ）、改竄検出装置３は、ステップＳ１１０１へ処理を戻して第２乱数ｒ２を用いて次の第２乱数ｒ２を生成して位置情報を再計算し、位置が一致しないと判定された場合は（Ｓ１１０５：ＮＯ）、改竄検出装置３は、ブロック秘密鍵を用いて第３乱数ｒ３を生成し（Ｓ１１０７）、画像固有情報ｍ’及び第３乱数ｒ３から第２ハッシュ値Ｈ２’（ｍ’，ｒ３）を計算して予想秘密情報とする（Ｓ１１０９）。次に、改竄検出装置３は、位置情報が示す位置の量子化ＤＣＴ係数の値から、埋め込み秘密情報を読み出し（Ｓ１１１１）、予想秘密情報と埋め込み秘密情報とを比較して一致するか否かを判定し（Ｓ１１１３）、予想秘密情報と埋め込み秘密情報とが一致しなかった場合は（Ｓ１１１３：ＮＯ）、該ブロックは改竄されているとの通知を出力し（Ｓ１１１５）、秘密情報照合処理のサブルーチンを終了して処理をメインへ戻す。予想秘密情報と埋め込み秘密情報とが一致している場合は（Ｓ１１１３：ＹＥＳ）、該ブロックは改竄されていないとの通知を出力し（Ｓ１１１７）、秘密情報照合処理のサブルーチンを終了して処理をメインへ戻す。
【００５４】
次に、改竄検出装置３は、改竄が行われているか否かの検査が全てのブロックについて終了したか否かを判定し（Ｓ１１１）、検査が終了していないブロックがある場合は（Ｓ１１１：ＮＯ）、処理をステップＳ１０７へ戻して次のブロックを選択して、改竄が行われているか否かの検査を行う。全てのブロックについて検査が終了している場合は（Ｓ１１１：ＹＥＳ）、改竄検出装置３は処理を終了する。以上詳述した手順を用いて、改竄検出装置３は、秘密情報を埋め込んだ画像データの改竄を検出する。
【００５５】
図１３は、秘密情報を埋め込んだ１ブロックあたりの量子化ＤＣＴ係数の配列の構造を示す概念図である。本発明においては、配列の中からｎ個の量子化ＤＣＴ係数を抽出してブロック内容情報とし、ブロック内容情報、画像固有情報、及びブロック秘密鍵を用いて秘密情報および位置情報を計算して、秘密情報および画像固有情報を量子化ＤＣＴ係数の配列の中に埋め込む。画像データの該ブロックの部分が改竄された場合は、ブロック内容情報である量子化ＤＣＴ係数の値が変化するため、ブロック内容情報を用いて計算する予想秘密情報または位置情報も変化し、位置情報を用いて読み出される埋め込み秘密情報と予想秘密情報とが一致しなくなり、改竄が検出されることになる。ブロック内容情報を変化させずに改竄を行うことは困難であるので、本発明を用いて作成された画像データに対して検出ができない改竄を行うことは困難である。また、埋め込む情報は、量子化ＤＣＴ係数の値を偶数または奇数にすることによって０又は１の情報を表現するため、閾値を境に値を変化させることで情報を埋め込む方法に比べて、情報を埋め込むことによる画質の劣化を抑制することができる。
図１４は、画像データから改竄された部分を検出する例を示す模式図である。図４（ａ）に示す画像を、図１４（ａ）に示すごとく改竄した場合、本発明により、図１４（ｂ）に示すごとく、改竄が検出されたブロックが出力される。画像データに埋め込まれる秘密情報は、０又は１であるため、秘密情報が偶然に一致する確率は１／２であり、１／２の確率でブロック内の改竄が見逃されるが、複数ブロックに渡って改竄を見逃す確率は小さく、改竄は多くのブロックに渡って行われるため、改竄が行われた部分を特定することができる。
【００５６】
検出ができない改竄を試みる方法として、画像データに、秘密情報が埋め込まれた他の画像データの一部を貼りつける方法、又は画像データの一部を同じ画像データの他の部分に貼りつける方法がある。前者が行われた場合は、画像固有情報を用いて秘密情報または位置情報を計算しているため、改竄を検出することができる。後者が行われた場合でも、ブロックの位置に依存した割り当て情報であるブロック秘密鍵を用いて秘密情報または位置情報を計算しているため、改竄を検出することができる。
【００５７】
以上のごとく、本発明を用いて作成した画像データは、検出ができない改竄を行うことが困難であり、また、改竄された場合の改竄位置の特定が可能であるため、本発明の改竄検出方法を用いて信頼性の高い原本証明を行うことができる。また、本発明を用いて作成した画像データは、圧縮された画像データであるＪＰＥＧ形式で使用できるため、デジタルカメラで作成できる証拠能力のある画像データとして、実用性が高い。
【００５８】
本実施の形態においては、０又は１の情報で秘密情報を表現する方法を用いたが、より長い情報で秘密情報を表現する方法を用いてもよい。この場合は、改竄検出の確率をより向上させることができる。
【００５９】
（実施の形態２）
図１５は、実施の形態２に係る本発明の画像データ作成装置の構成を示すブロック図である。本実施の形態に係る画像データ作成装置５は、他の装置によって作成された原画像に秘密情報を埋め込んで画像データを作成すべく、コンピュータを用いて構成され、演算を行うＣＰＵ５１と、演算に伴って発生する一時的な情報を記憶するＲＡＭ５２と、ＣＤ−ＲＯＭドライブ等の外部記憶装置５３と、ハードディスク等の内部記憶装置５４とを備えており、本発明に係るＣＤ−ＲＯＭ等の記録媒体６から本発明に係るコンピュータプログラム６０を外部記憶装置５３にて読み取り、読み取ったコンピュータプログラム６０を内部記憶装置５４に記憶し、ＲＡＭ５２にコンピュータプログラム６０をロードし、ＣＰＵ５１はコンピュータプログラム６０に基づいて画像データ作成装置５に必要な処理を実行する。コンピュータプログラム６０には、画像データを作成するために必要な秘密鍵およびブロック秘密鍵が含まれている。
【００６０】
画像データ作成装置５は、また、キーボード又はマウス等の入力装置５５と、液晶ディスプレイ又はＣＲＴディスプレイ等の出力装置５６とを備えており、情報の入力を初めとするオペレータからの操作を受け付ける構成となっている。更に、画像データ作成装置５は、デジタルカメラ等の他の装置によって作成された画像データを記憶している記憶媒体２を受け付ける外部インタフェース５７を備えている。なお、外部インタフェース５７は、有線または無線にて画像データを外部から受け付ける構成であってもよい。
【００６１】
図１６は、実施の形態２に係る画像データ作成装置５が行う動作の手順を示すフローチャートである。画像データ作成装置５は、外部インタフェース５７を介して記憶媒体２から転送された画像データを記憶している内部記憶装置５４から、又は外部インタフェース５７を介して記憶媒体２から直接に、画像データをＲＡＭ５２に読み込む（Ｓ２０１）。次に、画像データ作成装置５は、読み込んだ画像データを復号して（Ｓ２０２）、量子化ＤＣＴ係数の配列からなる複数のブロックに変換する。次に、画像データ作成装置５は、読み込んだ画像データに関する情報、又は画像データ作成装置５内にて作成した情報を用いて、画像固有情報を生成し（Ｓ２０３）、夫々のブロックの量子化ＤＣＴ係数の配列の中に秘密情報を埋め込む秘密情報埋め込み処理を行う（Ｓ２０４）。ステップＳ２０４における秘密情報埋め込み処理では、実施の形態１の図５のフローチャートに示した処理と同様であり、実施の形態１における画像処理部の代わりにＣＰＵ５１が処理を行う。次に、画像データ作成装置５は、画像固有情報及び秘密情報を埋め込んだ量子化ＤＣＴ係数の配列を、全ブロックに渡って符号化し（Ｓ２０５）、ＪＰＥＧ形式の画像データを作成する。次に、画像データ作成装置５は、作成した画像データを内部記憶装置５４又は記憶媒体２に記録し（Ｓ２０６）、処理を終了する。
【００６２】
本実施の形態においては、デジタルカメラ等の他の装置にて作成された画像データに秘密情報を埋め込んで、検出できない改竄が困難な画像データを作成することができる。本実施の形態にて作成された画像データも、実施の形態１で説明した改竄検出方法により、原本証明を行うことができる。
【００６３】
（実施の形態３）
図１７は、実施の形態３に係る本発明の画像データ作成装置の構成を示すブロック図である。本実施の形態においては、原画像に秘密情報を埋め込んだ画像を作成し、作成した画像を圧縮符号化して画像データを作成する。実施の形態３に係る画像データ作成装置１は、画像を撮影してデジタル化された画像データを作成するデジタルカメラであり、装置を制御するための演算を行うＣＰＵ１０１と、撮影された画像の情報から秘密情報を埋め込んだ画像を作成する画像処理部１０７と、画像処理部１０７が作成した画像を圧縮符号化して、ＪＰＥＧ形式などの圧縮された画像データを作成する圧縮符号化部１１４とを備えている。画像データ作成装置１のその他の構成は、実施の形態１と同様であり、対応する部分に同符号を付してその説明を省略する。圧縮符号化部１１４は、画像を圧縮符号化してＪＰＥＧ形式などの圧縮された画像データを作成すべく、ＬＳＩ等の回路で構成されており、通常、ブラックボックス化されて市販されている。本実施の形態の画像データ作成装置１は、ブラックボックス化された圧縮符号化部１１４を備えた構造となっている。
【００６４】
次に、本実施の形態に係る画像データ作成装置１が行う動作に従って、本発明の画像データ作成方法の処理を説明する。図１８は、実施の形態３に係る画像データ作成装置１が行う動作の手順を示すフローチャートである。まず、画像データ作成装置１は、撮影部１１０にて原画像を撮影し（Ｓ３０１）、撮影した原画像を示す電気信号をＡ／Ｄ変換部１１１にてＡ／Ｄ変換し（Ｓ３０２）、画像処理部１０７は、Ａ／Ｄ変換後の画像の情報から、画像をＲＧＢの各成分で表したＲＧＢ画像を作成する（Ｓ３０３）。このとき、画像処理部１０７は、ＲＧＢの各成分は通常０〜２５５の範囲で表すべきところを５〜２５０の範囲で表すなど、ＲＧＢの各成分が本来とるべき値の範囲よりも狭い範囲でＲＧＢの各成分を表して、ＲＧＢ画像を作成する。画像処理部１０７は、この際、狭くした範囲からはみ出した成分の値を狭い範囲の端の値に置き換える、又はＲＧＢの各成分を線形関数を用いて狭い範囲の値へ変換するなどの処理を行う。画像処理部１０７は、次に、作成したＲＧＢ画像を、輝度成分および色成分からなるＹＣｂＣｒ画像へ変換し（Ｓ３０４）、ＣＰＵ１０１は、ＹＣｂＣｒ画像の形式になった画像をＲＡＭ１０２に読み込み（Ｓ３０５）、ＲＯＭ１０３が記憶している装置ＩＤと、時計部１１２が計測した画像の撮影日時とをビット列で表した画像固有情報を生成する（Ｓ３０６）。
【００６５】
画像データ作成装置１は、次に、ＲＡＭ１０２に読み込んだ画像を、量子化ＤＣＴ係数の複数の配列へ変換するデータ変換処理を行う（Ｓ３０７）。ステップＳ３０７におけるデータ変換処理は、実施の形態１の図３のフローチャートに示した処理と同様であり、画像を８×８画素からなる複数のブロックに分割し、各部ブロック毎に２次元ＤＣＴを行って各ブロックの情報をＤＣＴ係数の８×８の配列に変換し、変換した配列を量子化して、各ブロック毎に８×８の量子化ＤＣＴ係数の配列に変換する。
【００６６】
画像処理部１０７は、次に、秘密情報を量子化ＤＣＴ係数の配列の中に埋め込む秘密情報埋め込み処理を行う（Ｓ３０８）。ステップＳ３０８における秘密情報埋め込み処理は、実施の形態１の図５のフローチャートに示した処理と同様であり、画像固有情報を全ブロックに渡って繰り返し埋め込み、各ブロック毎に、秘密鍵から生成した乱数を用いて配列から抽出したブロック内容情報とブロック秘密鍵と画像固有情報とから、秘密情報と秘密情報を埋め込む配列中の位置とを計算し、各ブロック毎に秘密情報を埋め込む。画像固有情報および秘密情報を各ブロックに埋め込む際には、量子化ＤＣＴ係数の配列中の情報を埋め込む位置の量子化ＤＣＴ係数の値を、埋め込む情報が０である場合には量子化幅の偶数倍に、１である場合には量子化幅の奇数倍にすることで、量子化ＤＣＴ係数の配列の中に情報を埋め込む。なお、埋め込む情報の値の０を量子化幅の奇数倍に、１を量子化幅の偶数倍に対応させることとしてもよい。
【００６７】
画像処理部１０７は、次に、秘密情報を埋め込んだ量子化ＤＣＴ係数の複数の配列に対して、２次元逆ＤＣＴを行って、ＹＣｂＣｒ画像へ変換し、更に該ＹＣｂＣｒ画像を、秘密情報を埋め込んだＲＧＢ画像へ変換する（Ｓ３０９）。次に、圧縮符号化部１１４は、秘密情報を埋め込んだＲＧＢ画像を圧縮符号化して、ＪＰＥＧ形式の画像データを作成する（Ｓ３１０）。なお、ＪＰＥＧ以外の形式の画像データを作成する圧縮符号化を行うこととしてもよい。次に、画像データ作成装置１は、作成した画像データを画像メモリ１０４に記録し（Ｓ３１１）、処理を終了する。以上の処理を行って、画像データ作成装置１は、秘密情報を埋め込んだ画像データを作成する。
【００６８】
図１９は、実施の形態３に係る本発明の改竄検出装置の構成を示すブロック図である。改竄検出装置３は、コンピュータを用いて構成され、演算を行うＣＰＵ３１と、演算に伴って発生する一時的な情報を記憶するＲＡＭ３２と、ＣＤ−ＲＯＭドライブ等の外部記憶装置３３と、ハードディスク等の内部記憶装置３４とを備えており、本発明に係るＣＤ−ＲＯＭ等の記録媒体４から本発明に係るコンピュータプログラム４０を外部記憶装置３３にて読み取り、読み取ったコンピュータプログラム４０を内部記憶装置３４に記憶し、ＲＡＭ３２にコンピュータプログラム４０をロードし、ＣＰＵ３１はコンピュータプログラム４０に基づいて改竄検出装置３に必要な処理を実行する。コンピュータプログラム４０には、画像データを検出するために必要な秘密鍵およびブロック秘密鍵が含まれている。また、改竄検出装置３１は、ＪＰＥＧ形式などの圧縮された画像データを復号してＲＧＢ画像などの形式の画像に変換する復号部３８を備えており、復号部３８は、ＬＳＩ等の回路で構成されている。改竄検出装置３のその他の構成は、実施の形態１と同様であり、対応する部分に同符号を付してその説明を省略する。
【００６９】
図２０は、実施の形態３に係る改竄検出装置３が行う動作の手順を示すフローチャートである。改竄検出装置３は、改竄の検出を行う画像データをＲＡＭ３２に読み込み（Ｓ４０１）、復号部３８は、ＲＡＭ３２に読み込んだ画像データを復号してＲＧＢ画像に変換する（Ｓ４０２）。ＣＰＵ３１は、ＲＡＭ３２にコンピュータプログラム４０をロードし、ロードしたコンピュータプログラム４０に従って、ＲＧＢ画像をＹＣｂＣｒ画像へ変換し、ＹＣｂＣｒ画像を複数のブロックに分割し、各部ブロック毎に２次元ＤＣＴを行って各ブロック毎に量子化ＤＣＴ係数の配列へ変換する（Ｓ４０３）。ＣＰＵ３１は、次に、ＲＡＭ３２にロードしたコンピュータプログラム４０に従って、各ブロックにおける所定位置の量子化ＤＣＴ係数の値に応じて０又は１の情報を読み出して、全ブロックに繰り返し埋め込まれている画像固有情報に対応する複数の情報を読み出し（Ｓ４０４）、読み出した複数の情報の互いに対応する部分を互いに比較して、情報が全て一致するか否かを判定し（Ｓ４０５）、互いに一致しない部分がある場合は（Ｓ４０５：ＮＯ）、夫々の情報における互いに対応する部分の値から、数が多い方の値を選択し（Ｓ４０６）、選択した値を順に組み合わせて画像固有情報を決定し（Ｓ４０７）、ステップＳ４０５において読み出した複数の情報が互いに一致する場合は（Ｓ４０５：ＹＥＳ）、一致した情報を画像固有情報と決定する（Ｓ４０７）。
【００７０】
ＣＰＵ３１は、次に、ＲＡＭ３２にロードしたコンピュータプログラム４０に従って、改竄の有無を検査するブロックを選択し（Ｓ４０８）、第１乱数を生成し（Ｓ４０９）、選択したブロックの量子化ＤＣＴ係数の配列の中から、第１乱数に従って、所定数の量子化ＤＣＴ係数を抽出してブロック内容情報を生成する（Ｓ４１０）。ＣＰＵ３１は、次に、ＲＡＭ３２にロードしたコンピュータプログラム４０に従って、秘密情報を照合して改竄を検出する秘密情報照合処理を行う（Ｓ４１１）。ステップＳ４１１における秘密情報照合処理は、実施の形態１の図１１又は図１２のフローチャートに示した処理と同様であり、ＣＰＵ３１は、ＲＡＭ３２にロードしたコンピュータプログラム４０に従って、ブロック内容情報とブロック秘密鍵と画像固有情報とから、秘密情報と配列中に秘密情報が埋め込まれていると予想される位置とを計算し、埋め込まれていた秘密情報と計算した秘密情報とを比較し、秘密情報が一致していない場合はブロックが改竄されていることを通知し、秘密情報が一致している場合はブロックが改竄されていないことを通知する。ＣＰＵ３１は、次に、ＲＡＭ３２にロードしたコンピュータプログラム４０に従って、改竄が行われているか否かの検査が全てのブロックについて終了したか否かを判定し（Ｓ４１２）、検査が終了していないブロックがある場合は（Ｓ４１２：ＮＯ）、処理をステップＳ４０８へ戻して次のブロックを選択して、改竄が行われているか否かの検査を行い、全てのブロックについて検査が終了している場合は（Ｓ４１２：ＹＥＳ）、処理を終了する。以上の手順を用いて、改竄検出装置３は、秘密情報を埋め込んだ画像データの改竄を検出する。
【００７１】
以上に示した改竄検出装置３では、復号部３８をハードウェアとして実装しているが、内部記憶装置３４が記憶しているコンピュータプログラムで復号部３８の機能を実現することとしてもよい。また、秘密鍵およびブロック秘密鍵は、コンピュータプログラム４０に含んでいる形態としているが、コンピュータプログラム４０とは別に、内部記憶装置３４に記憶している形態としてもよい。
【００７２】
本実施の形態に係る処理では、秘密情報を埋め込んだ量子化ＤＣＴ係数の配列に対して２次元逆ＤＣＴを行って秘密情報を埋め込んだＲＧＢ画像を作成するため、最初のＲＧＢ画像の各成分の値の範囲を０〜２５５と通常どおりに設定している場合は、値が変化した量子化ＤＣＴ係数がＲＧＢ画像の成分へ変換される際に、成分の値が０〜２５５の範囲からはずれる可能性がある。範囲からはずれた値は、通常、下限値０又は上限値２５５に置き換えられるため、改竄検出の際に計算される量子化ＤＣＴ係数の値が元の値と異なる場合があり、この場合は本発明の改竄検出方法により改竄と判定され、改竄が誤検出されることとなる。改竄の誤検出を防止するために、本実施の形態における処理では、画像データ作成のステップＳ３０３で最初のＲＧＢ画像を作成する際に、予め通常よりも狭い範囲でＲＧＢの各成分を表しておき、秘密情報を埋め込んだＲＧＢ画像の成分が値の範囲をはずれないようにする。
【００７３】
本実施の形態においても、本発明を用いて作成した画像データは、検出ができない改竄を行うことが困難であり、また、改竄された場合の改竄位置の特定が可能であるため、信頼性の高い原本証明を行うことができる。
【００７４】
また、本発明の本実施の形態においては、画像固有情報及び／又は秘密情報を埋め込む際には、量子化ＤＣＴ係数の値を量子化幅の偶数倍または奇数倍にすることによって０又は１のいずれかを表現するため、閾値を境に値を変化させることで情報を埋め込む方法に比べて、情報を埋め込むことによる画質の劣化を抑制することができる。更に、本発明の本実施の形態においては、ＪＰＥＧ等の圧縮符号化された画像データを作成する処理を行う前の段階で、圧縮対象のＲＧＢ画像に対して秘密情報を埋め込むため、ＲＧＢ画像を圧縮符号化するブラックボックス化された圧縮符号化部１１４を備えるデジタルカメラ等の装置に本発明を実行する機能を組み込んで、画像データ作成装置１とすることができる。これにより、原本証明が可能な証拠能力を有する画像データを手軽に作成することが可能となり、実用性が高い。
【００７５】
【発明の効果】
第１、第３、第１２及び第１４発明においては、ブロック内容情報を変化させる事なくブロックの内容の改竄を行うことが困難であるため、画像データに対して検出ができない改竄を行うことが困難である。また、ブロック毎に秘密情報が埋め込まれているため、改竄された場合に改竄位置を特定することができる。更に、ＪＰＥＧ形式などの圧縮された画像データとして使用することができる。
【００７６】
第２、第１１、第１３及び第１５発明においては、本発明によって検出ができない改竄を画像データに対して行うことは困難であり、改竄が検出された場合に改竄されている位置を特定することも容易であるため、画像データに対して、信頼性の高い原本証明を行うことができる。
【００７７】
第４及び第６発明においては、画像データ作成装置は、デジタルカメラ等の原画像を作成する手段を備えた装置であるため、原本証明が可能な証拠能力を有する画像データを手軽に作成することが可能となり、実用性が高い。
【００７８】
第５発明においては、画像データ作成装置は、画像を圧縮符号化する前の段階で、圧縮符号化の対象の画像に秘密情報を埋め込むため、ブラックボックス化された画像を圧縮符号化する手段を備えたデジタルカメラ等の装置に、本発明の機能を組み込むことができ、原本証明が可能な証拠能力を有する画像データを手軽に作成することが可能となり、実用性が高い。
【００７９】
第７発明においては、画像固有情報は、画像データ作成装置特定情報、及び／又は画像を作成した日時を示す作成日時情報を含むため、他の画像データの一部を画像データに貼りつける改竄を検出することができる。
【００８０】
第８発明においては、割り当て情報は、ブロック毎に異なるブロック秘密鍵であるため、画像データの一部分を他の部分へ貼りつける改竄を検出することができる。また、ブロック内容情報およびブロック秘密鍵を用いて第１ハッシュ値を計算し、画像固有情報およびブロック秘密鍵を用いて第２ハッシュ値を計算し、第１ハッシュ値および第２ハッシュ値のいずれかを、秘密情報および位置情報のいずれかとすることによって、検出ができない改竄をより困難にする。また、ブロックのデータ中の、ブロック内容情報を抽出した位置と秘密情報を埋め込む位置とを異ならせることにより、正確な改竄検出を可能にする。
【００８１】
第９発明においては、画像固有情報及び／又は秘密情報を埋め込む際に、埋め込む位置のデータの値を偶数又は奇数にすることによって０又は１のいずれかを表現させるため、情報を埋め込むことによる画像データの画質の劣化を抑制することができる。
【００８２】
第１０発明においては、画像固有情報及び／又は秘密情報を埋め込む際に、埋め込む位置のデータの値を量子化幅の偶数倍または奇数倍にすることによって０又は１のいずれかを表現させるため、情報を埋め込むことによる画像データの画質の劣化を抑制することができる等、本発明は優れた効果を奏する。
【図面の簡単な説明】
【図１】実施の形態１に係る本発明の画像データ作成装置の構成を示すブロック図である。
【図２】実施の形態１に係る画像データ作成装置が行う動作の手順を示すフローチャートである。
【図３】ステップＳ５のデータ変換処理のサブルーチンの手順を示すフローチャートである。
【図４】変換されるデータの例を示す概念図である。
【図５】ステップＳ６の秘密情報埋め込み処理のサブルーチンの手順を示すフローチャートである。
【図６】ｋビットの画像固有情報の埋め込みの例を示す概念図である。
【図７】ステップＳ６５の秘密情報計算処理のサブルーチンの手順を示すフローチャートである。
【図８】第２の方法による秘密情報計算処理のサブルーチンの手順を示すフローチャートである。
【図９】本発明の改竄検出装置の構成を示すブロック図である。
【図１０】改竄検出装置が行う動作の手順を示すフローチャートである。
【図１１】ステップＳ１１０の秘密情報照合処理のサブルーチンの手順を示すフローチャートである。
【図１２】ステップＳ１１０の秘密情報照合処理のサブルーチンの手順を示すフローチャートである。
【図１３】秘密情報を埋め込んだ１ブロックあたりの量子化ＤＣＴ係数の配列の構造を示す概念図である。
【図１４】画像データから改竄された部分を検出する例を示す模式図である。
【図１５】実施の形態２に係る本発明の画像データ作成装置の構成を示すブロック図である。
【図１６】実施の形態２に係る画像データ作成装置が行う動作の手順を示すフローチャートである。
【図１７】実施の形態３に係る本発明の画像データ作成装置の構成を示すブロック図である。
【図１８】実施の形態３に係る画像データ作成装置が行う動作の手順を示すフローチャートである。
【図１９】実施の形態３に係る本発明の改竄検出装置の構成を示すブロック図である。
【図２０】実施の形態３に係る改竄検出装置が行う動作の手順を示すフローチャートである。
【符号の説明】
１、５  画像データ作成装置
１０７  画像処理部
１１０  撮影部
１１４  圧縮符号化部
３  改竄検出装置
３８  復号部
４、６  記録媒体
４０、６０  コンピュータプログラム
【図１】
0004086103.tif 000002
【図２】
0004086103.tif 000003
【図３】
0004086103.tif 000004
【図４】
0004086103.tif 000005
【図５】
0004086103.tif 000006
【図６】
0004086103.tif 000007
【図７】
0004086103.tif 000008
【図８】
0004086103.tif 000009
【図９】
0004086103.tif 000010
【図１０】
0004086103.tif 000011
【図１１】
0004086103.tif 000012
【図１２】
0004086103.tif 000013
【図１３】
0004086103.tif 000014
【図１４】
0004086103.tif 000015
【図１５】
0004086103.tif 000016
【図１６】
0004086103.tif 000017
【図１７】
0004086103.tif 000018
【図１８】
0004086103.tif 000019
【図１９】
0004086103.tif 000020
【図２０】
0004086103.tif 000021