(57)【要約】【課題】  画像データに解像度変換を施した場合であっても、適切に改ざん検証できるようにする。【解決手段】  画像データを入力する画像入力部と、前記入力された画像データを複数のブロックに分割する分割部と、前記分割部で分割された画像データのそれぞれについて特徴量を生成する抽出部と、前記抽出部で抽出された特徴量に対応する検証データを生成する生成部と、前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部とを備える。【選択図】  図１
2011124663.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する画像入力部と、
前記入力された画像データを複数のブロックに分割する分割部と、
前記分割部で分割された画像データのそれぞれについて特徴量を生成する抽出部と、
前記抽出部で抽出された特徴量に対応する検証データを生成する生成部と、
前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部と
を備えることを特徴とする画像処理装置。
【請求項２】
画像データを入力する画像入力部と、
前記入力された画像データを複数のブロックに分割する分割部と、
前記分割部で分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対応する検証データを生成する生成部と、
前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部と
を備えることを特徴とする画像処理装置。
【請求項３】
前記抽出部は、前記分割部で分割された各ブロックについて、ブロックを構成する画素値の平均を特徴量として生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記検証データは、前記特徴量のハッシュ値であることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記分割部は、第１の分割方法に従って前記入力された画像データを複数のブロックに分割し、前記生成部は、第１の分割方法に従って分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対して検証データを生成し、前記分割部は、第２の分割方法に従って前記入力された画像データを複数のブロックに分割し、前記生成部は、第２の分割方法に従って分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対して検証データを生成し、前記出力部は、前記入力された画像データに、前記第１の分割方法を示す情報および第２の分割方法を示す情報および前記検証データを付加して出力することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
画像処理装置の制御方法であって、前記画像処理装置に、
入力された画像データを複数のブロックに分割する分割工程と、
前記分割された画像データのそれぞれについて特徴量を生成し、それぞれの特徴量に対応する検証データを生成させる生成工程と、
前記入力された画像データに、前記分割工程の分割方法を示す情報および前記検証データを付加して出力させる出力工程と
を実行させることを特徴とする方法。
【請求項７】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至５のいずれか１項に記載の画像処理装置として機能させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルデータの原本性を保証するための画像処理装置およびその制御方法に関するものである。
【背景技術】
【０００２】
デジタルカメラなどで撮影した画像データは、画像編集ソフトなどを用いて改ざんされる心配がある。これを解決する一方法として、特許文献１に開示されているような方法が知られている。この文献によれば、予めデジタルカメラの内部にカメラ固有の秘密情報を組み込んでおき、デジタルカメラの内部で前記秘密情報を用いて画像データに署名処理を施す。そして撮影後に、上記署名情報を用いて検証できる。ところで、このような署名技術は、一般的に、画像データを僅かでも変更すると改ざんとみなす。よって、画像データの解像度変換なども許されない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許番号５４９９２９４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明はかかる問題点に鑑みなされたものであり、画像データに解像度変換を施した場合であっても、適切に改ざん検証ができる技術を提供する。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の画像処理装置の１つによれば、画像データを入力する画像入力部と、前記入力された画像データを複数のブロックに分割する分割部と、前記分割部で分割された画像データのそれぞれについて特徴量を生成する抽出部と、前記抽出部で抽出された特徴量に対応する検証データを生成する生成部と、前記入力された画像データに、前記分割部の分割方法を示す情報および前記検証データを付加して出力する出力部とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像データに解像度変換を施した場合であっても、適切に改ざん検証ができる。
【図面の簡単な説明】
【０００７】
【図１】画像入力装置の構成を説明する図
【図２】検証装置の構成を説明する図
【図３】ブロック分割処理を説明する図
【図４】画像入力処理のフローチャート
【図５】特徴量抽出処理のフローチャート
【図６】ブロック分割処理を説明する図
【発明を実施するための形態】
【０００８】
［実施例１］
＜画像入力装置の構成＞
図１は、本実施例において画像データの検証データを生成する画像処理装置（以後、画像入力装置と呼ぶ）を示す図である。この画像入力装置は、たとえば画像を撮影し、その画像データにデジタル署名を施すデジタルカメラに相当する。特に本実施例では、上記デジタル署名を施す際に画像データに付与する検証データとは別に、後述する画像を分割する方法を示す情報も合わせて付与する点が重要である。
【０００９】
本実施例における画像入力装置は、画像発生部１１、ブロック分割部１２、抽出部１３、検証データ生成部１４、画像出力部１５から構成される。なお、ブロック分割部１２は、入力部１６、分割部１７で構成される。
【００１０】
画像発生部１１は、ＣＣＤなどにより撮影された画像データ画像データＩを取得する。この画像データＩは、例えば１６００×１２００画素を表す画像データとする。以下では、説明を簡単にするため、１色成分からなるモノクロ画像として説明する。もしカラー画像に適用する場合には、その色成分の数だけ繰り返して処理をすれば良いであろう。
【００１１】
ブロック分割部１２は、その内部に入力部１６、分割部１７を備える。入力部１６には、画像データＩを分割する分割手法（例えば、縦に何分割して横に何分割することにより、何個のブロックに分割するのか）を示す指示信号を入力する。この指示は、例えば、画像入力装置の操作者により入力部１６に入力される。分割部１７は、画像データＩを、入力部１６から入力された分割手法に基づいて分割する。
【００１２】
図３は、本実施例に適用可能なブロック分割処理の一例である。画像６１は、画像データＩの一例である。本来は１６００画素×１２００画素程度を想定しているが、説明を簡単にするために、４×４画素（１画素あたり２５６階調）として説明する。図３の左に示す画像６１のＣ０〜Ｃ１５は、画素の位置を示す指標である。ここでは、Ｃ０の画素値は１２８であり、Ｃ１の画素値は１５０である。同様に、Ｃ２＝１２１、Ｃ３＝９０、Ｃ４＝１２０、…、Ｃ１４＝１１５、Ｃ１５＝１５５である。
【００１３】
画像６２は、画像データＩを４個の正方形ブロックに分割する場合の例である。ここでは、「縦に２分割、横に２分割する」という分割手法に従って、ブロック分割部１２が、画像６１を４個（２×２）のブロックに分割する。まず、入力部１６から、画像データＩを縦と横に何分割するかを示すブロック分割数（ｍ×ｎ）を入力する。なお、その数を表すデータ構成としては、例えばデータ列｛ｍ，ｎ｝と予め決めておく。これは縦にｍ分割、横にｎ分割という意味を持つ。次に、分割部１７は、画像データＩとブロック分割数とに基づいて、画像（画像データＩが示す画像）を縦にｍ等分、横にｎ等分する。これにより、ｍ×ｎ個にブロック分割された画像データを得る。例えば、図３の６１の画像データＩを入力した場合であって、ブロック分割数をｍ×ｎ＝４とした場合には、左上から順に２×２画素の画素が含まれるようにブロックを分割し、図３の画像６２に示す４個の正方形ブロック（２×２画素）が得られる。ここで分割された複数の画像データのそれぞれを画像データＤＩとし、各画像データＤＩは、後段の抽出部１３に出力する。
【００１４】
ところで、上記説明は、画像データＩ（画像６１）の全ての画素を等分割できる場合について述べたが、後述するように等分割できない場合もあるだろう。その場合には、例外処理として以下の様に対処する。例えば、画像データＩ（画像６１）が４×４画素で、ブロック分割数がｍ×ｎ＝９の場合には、画像６３に示すように分割する。まず、縦方向について画素数／分割数＝４／３＝１．３３・・・を計算し、小数点２位以下を切り捨て１．３とする。また、横方向についても画素数／分割数＝４／３＝１．３３・・・を計算し、小数点２位以下を切り捨て１．３とする。そして、縦、横ともに、１つのブロックサイズを１．３画素として３×３個の仮想ブロックを構成する。そして、４×４画素の画像６１に、上記仮想ブロックを重畳する。この場合、仮想ブロックの両端が４×４画素に必ずしも合致しない。よって、本実施例では、画像６１の左上頂点と仮想ブロックの左上頂点が合致するように重畳することとする。次に、画像６３を構成する９個の各ブロックについて、以下の様にブロックを解釈する。まず、ある１つのブロックが配置された部分において、元の画素が一部でもオーバーラップしている場合には、その画素はブロックに含まれているものと解釈する。例えば、画像６３の最左上に配置されたブロックについては、画素Ｃ０（１２８）、Ｃ１（１５０）、Ｃ４（１２０）、Ｃ５（１８５）の４つがオーバーラップしている。よって、この最左上のブロックは、画素Ｃ０（１２８）、Ｃ１（１５０）、Ｃ４（１２０）、Ｃ５（１８５）で構成されていると解釈する。その他のブロックについても同様に解釈することにより、後述するブロック毎の特徴量抽出が適切に行える。
【００１５】
抽出部１３は、ブロック分割部１２から入力された画像データＤＩの特徴量を生成する。ここでは、まず、処理対象となるブロック（例えば画像６２の場合には、１ブロックが２×２画素で構成される）を構成する全ての画素値を抽出する。そして、各ブロックについて、そのブロックを構成する全ての画素値から平均値を算出する。その平均値がそのブロックの特徴量である。例えば、図３の画像６２において、左上のブロックの特徴量を求める場合には、このブロックの画素値の平均は、（１２８＋１５０＋１２０＋１８５）／４＝１４５となる。画像６２の右上、左下、右下のブロックの特徴量は、各々、１０６、１３９、１６３（小数点以下は切捨て）となる。ここで算出した各ブロックの特徴量は、各ブロックの検証データの元となる値として、後段の検証データ生成部１４に順次出力される。なお、参考までに、図３の画像６３の特徴量を求める場合には、最左上のブロックの特徴量は、画像６２の特徴量と同じく、（１２８＋１５０＋１２０＋１８５）／４＝１４５となる。また画像６３の最右上のブロックの特徴量は、Ｃ２（１２１）、Ｃ３（９０）、Ｃ６（１３５）、Ｃ７（８０）の画素値の平均（１０６）である。
【００１６】
検証データ生成部１４は、抽出部１３で生成された各画像データＤＩの特徴量を入力し、この特徴量から検証データを生成する。そして、生成された検証データを後段の画像出力部１５に出力する。ここでの検証データとしては、ハッシュ値やＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）や電子署名などを適用可能である。本実施例では、上記各ブロックの特徴量（画像データＤＩ）のそれぞれについて検証データを生成する。各ブロックのそれぞれについて検証データを保持することにより、各ブロック単位で、改ざん検証ができるという効果がある。
【００１７】
なお、検証データとしてＭＡＣを適用する場合には、ＭＡＣを生成するための秘密情報を、署名鍵ＫＳとして入力し、ＭＡＣを生成する際に利用する。署名鍵ＫＳは画像入力装置と後述する検証装置とで共有しておく必要があるため、予め画像入力装置および検証装置の内部に共通の秘密情報を保持するようにする。一方、検証データとして電子署名を適用する場合には、電子署名を生成するための秘密鍵を、署名鍵ＫＳとして入力する。そして、予め画像入力装置の内部に署名鍵ＫＳを保持しておき、検証データ生成部１４が必要に応じて署名鍵ＫＳを利用する。検証データ生成部１４が利用した署名鍵ＫＳに対応する公開鍵が、後述する検証装置の内部に保持されているものとする。
【００１８】
画像出力部１５は、ブロック分割される前の画像データＩに対して、ブロック分割部１２の分割に適用した分割手法を示す情報、および検証データ生成部１４で生成した検証データの２つを付加して出力する。ここで付加される検証データは、上述したように、各ブロックの検証データであり、ブロック数と同数の検証データである。ここでは、どの検証データがどのブロックに対応するものかが判るよう、予め検証データのデータ配列は決めておく。本実施例では、上記分割手法を示す情報と検証データは、画像データのヘッダ情報としてを付加する。しかしながら本発明はこれに限定されず、画像データＩの後ろに連結しても良い。画像出力部１５は、上記ヘッダ情報を含む画像データＩを、各種のメモリ記録したり、ネットワークを介して外部へ送信したりする。
【００１９】
＜画像入力装置の処理工程＞
図４は、上述した画像入力装置が行う、画像の撮影、デジタル署名および画像データの出力までの一連の流れを示した図である。ところで、図１で示した画像入力装置は、この流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。
【００２０】
特に、ブロック分割部１２、抽出部１３、検証データ生成部１４の処理は、ＣＰＵと図４の一連の動作を行うプログラムを保持するメモリ、および処理中の中間データを保持するメモリなどを利用することでソフトウェア処理も可能である。
【００２１】
以下、図４の処理の流れを説明する。まず、ステップＳ７１では、画像発生部１１において、画像を撮影し、画像データＩを取得する。この画像データＩは、上述したように、例えば１６００×１２００画素を表す画像データである。ステップＳ７２では、ブロック分割部１２が、画像データＩを複数のブロックに分割する。ステップＳ７３では、抽出部１３が、分割された画像データＤＩから、特徴量を生成する。ここでは各ブロックの特徴量を生成する。ステップＳ７４では、抽出部１３によって生成された各ブロックの特徴量を用いて、検証データ生成部１４が各ブロックの検証データを生成する。ステップＳ７５では、画像出力部１５によって、画像データＩと、分割手法を示す情報（分割ブロック数）と、各ブロックの検証データとをセットにして出力する。
【００２２】
＜検証装置の構成＞
以下、図２を用いて本実施例の改ざん検証装置を説明する。図２に示すように、本実施例における検証装置は、画像入力部１０１、ブロック分割部１０２、抽出部１０３、検証部１０４から構成される。ブロック分割部１０２は、入力部１６、分割部１７から構成される。まず画像入力部１０１には、上述の画像入力装置から出力された画像データＩが、記憶媒体あるいはネットワーク等を介して画像データＩ’として上記検証装置に入力される。なお、上述したように、画像データＩ’には、上述した分割手法を示す情報（分割ブロック数）と検証データとがヘッダ情報として付属している。ブロック分割部１０２、抽出部１０３は、それぞれ上述したブロック分割部１２、抽出部１３と同じ処理を行う。また、検証部１０４は、この抽出部１０３から出力された各ブロックの特徴量から求まる各検証データを用いて、入力された画像データＩ’（より詳しくは、画像データＩ’が表す画像を構成する各ブロック）が改ざんされているか否かを検証し、検証結果（ＯＫ／ＮＧ）を出力する。また、本実施例では各ブロックに対して検証データを付与しているため、検証結果「ＮＧ」を出力する場合には、どのブロックがＮＧであったのかを示す情報も出力する。なお、検証部１０４で実行される検証処理は、上述した検証データ生成部１４に完全に対応するものでなければならない。即ち、検証データ生成部１４においてハッシュ値を生成した場合には、検証部１０４ではハッシュ値を用いて各ブロックの改ざん検証を行う。また検証データ生成部１４においてＭＡＣが生成された場合には、検証部１０４でもＭＡＣを用いた検証処理を行う。もし、検証データ生成部１４において電子署名が生成された場合には、検証部１０４でも電子署名を用いた検証処理を行う。また、検証鍵ＫＳは、ＭＡＣの場合は検証データ生成部１４で適用された署名鍵ＫＳと同一の秘密情報を適用し、電子署名の場合は検証データ生成部１４で適用された署名鍵ＫＳに対応する公開鍵であると考慮されるべきものである。なお、ＭＡＣ及び電子署名を用いた検証方法については当業者にとって公知の技術であるので詳細な説明は省略する。
【００２３】
＜検証処理フロー＞
図５は、本実施例の検証装置で実行される検証処理の流れを示すフローチャートである。以下、図５を用いてその流れを説明する。ところで、図５で示した検証装置は、この流れに基づいて動作が制御されるが、途中動作の一部をソフトウェア処理で行うことも可能である。特に、ブロック分割部１０２、抽出部１０３、検証部１０４の処理は、ＣＰＵと上記動作を行うプログラムを保持し、かつ処理中の中間データを保持する記憶媒体で代替処理ができるであろう。本発明では、このような変形例も含む。
【００２４】
まず、ステップＳ１１１では、画像入力部１０１が検証処理対象となる画像データＩ’を入力する。そして、ステップＳ１１２では、画像データＩ’をブロック分割部１０２によって複数のブロックに分割する。ここでは、画像データＩ’に付属している分割ブロック数（分割手法を示す情報）に基づいて、画像入力装置と全く同じ個数になるように、画像データＩ’を縦方向と横方向に分割する。これに続いて、ステップＳ１１３では、抽出部１０３により、分割された各ブロック（画像データＤＩ’）のそれぞれの特徴量を抽出する。ステップＳ１１４では、検証部１０４が、入力された画像データＩ’（より詳しくは画像データＩ’が表す画像を構成する各ブロック）の改ざんの有無を検証する。そして、ステップＳ１１５において、画像データＩ’が改ざんされたものか否か（より詳しくは画像データＩ’が表す画像を構成する各ブロックが改ざんされたものか否か）を判定する。ステップＳ１１６では、もし検証が成功した場合には検証結果「ＯＫ」を出力し、さもなければ検証結果「ＮＧ」を出力する。なお、本実施例では各ブロックに対して検証データを付与しているため、検証結果「ＮＧ」を出力する場合には、どのブロックがＮＧであったのかを示す情報も出力する。
【００２５】
［変形例］
＜特徴量の要素＞
なお、上記実施例では、“画素値”の平均を用いて特徴量を抽出するようにしていた。しかしながら、本発明はこれに限定されることなく、画素値の代わりに、画素値を量子化して得られた値を用いてもよい。即ち、各ブロックについて、“量子化された画素値”の平均を特徴量としても良い。また、画素値の“平均”ではなく画素値の“分散”を特徴量としても良い。
【００２６】
＜検証データの多重化＞
なお、上記実施例では、分割部１７が、１画面の画像（例えば画像６１）に対して１種類の分割方法を適用していたため、画像中の各領域において１つの検証データが割当てられている状態である。しかしながら、改ざん検出の精度をあげることを目的とすると、画像中の各領域には２つ以上の検証データが存在するほうがなお良い。よって、変形例として、画像入力装置が、複数種類の分割方法（第１の分割方法、第２の分割方法、その他）で画像データＩ（画像６１）を分割し、それぞれの分割方法に対応した検証データを生成することで、検証装置による改ざん検出の精度を上げることができる。具体例をあげると、画像データＩ（画像６１）について、図６の画像６２の方法で分割を行うことにより得られる検証データＡと、画像６３の方法で分割を行うことにより得られる検証データＢを共に生成する。そして、これら検証データＡと検証データＢの両方を、画像データＩのヘッダ情報として付加し、画像出力部１５から出力する。よって、出力される画像データＩのヘッダ情報には、「分割方法Ａ：｛２，２｝」，「分割方法Ｂ：｛３，３｝」，「検証データＡ（２×２個の検証データ）」，「検証データＢ（３×３個の検証データ）」を含むことになる。
【００２７】
＜可変ブロックサイズ＞
なお、以上の説明では、分割されたブロックのサイズは全て同じであったが、必要に応じて変更すると検証データのデータ量を削減できる。そのために、例えば、入力部１６から、重要な領域と重要でない領域がわかる領域情報を入力することにより、ブロックのサイズ（ブロックの総個数）を変更するようにしても良い。
【００２８】
以下、図６を参照して具体例を示す。図３の分割方法と比較すると、領域情報６４を参照してブロック分割方法を最終決定している点が異なる。即ち、図６に示すブロック分割においては、上記実施例で説明したブロック分割方法を示す情報だけから、最終的なブロックは決定しない。領域情報６４では、１画素ごとに重要か重要でないかを示す１ビット情報（１／０）が割当てられている。ここでは、画素Ｃ０、Ｃ５、Ｃ８、Ｃ９、Ｃ１２、Ｃ１３が重要であり、それ以外の１０個の画素は非重要である。図６に示す変形例では、画像６１を２×２個に分割する場合でも、３×３個に分割する場合でも、その後に、領域情報６４に基づいた後処理が存在する。まず、画像６１を２×２個に分割する場合の例を説明する。分割で得られた４つのブロックについて、それぞれ重要な画素が１つでも含まれているか否かを判断する。画像６２を見ると、左上と左下のブロックは重要な画素を１つ以上含むため、重要なブロックである。一方、右上と右下のブロックは、重要な画素を１つも含まないため、非重要なブロックである。この変形例においては、最後の後処理として、非重要なブロックを統合する。従って、画像６２の４ブロックは、右上と右下のブロックが統合されるので、画像６５に示す３ブロックが最終的なブロックとなる。ところで、ここで統合されたブロックは、８画素を含むことになるので、上述した特徴量は、８画素の画素値の平均となる。その他のブロックの特徴量の算出方法は、上述したとおりである。また、画像６１を３×３個に分割する場合の例を説明する。分割で得られた９つのブロックについて、それぞれ重要な画素が１つでも含まれているか否かを判断する。画像６３を見ると、右側３つのブロック以外は重要なブロックである。従って、画像６３の９ブロックは、右側３つのブロックが統合されるので、画像６６に示す７ブロックが最終的なブロックとなる。ここで統合されたブロックは、上述した画像６３の各ブロックの解釈方法に従うので、８画素を含むことになる。よって、統合されたブロックの特徴量は、８画素の画素値の平均となる。その他のブロックの特徴量の算出方法は、上述したとおりである。なお、この変形例においては、ブロックの分割手法を示す情報として、「分割方法Ａ：｛２，２｝」或いは「分割方法Ｂ：｛３，３｝」だけでなく、「領域情報（Ｃ０〜Ｃ１５のそれぞれが重要か非重要かを示す１６個の１ビットデータ）」も含む。そして、この分割手法を示す情報と検証データを画像データＩとともに画像出力部１５から出力する。これにより、検証装置においても、図６の画像６５、６６に示すブロック分割を行うことができ、正常に各ブロックの改ざん検証が行える。
【００２９】
なお、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。よって、コンピュータに読み込ませ実行させることで、前記コンピュータを、上述の画像処理装置または検証装置として機能させるプログラムは、本発明の範疇に含む。また、そのプログラムを格納した、コンピュータが読み取り可能な記憶媒体も本発明の範疇に含む。
【図１】
2011124663.tif 000003
【図２】
2011124663.tif 000004
【図３】
2011124663.tif 000005
【図４】
2011124663.tif 000006
【図５】
2011124663.tif 000007
【図６】
2011124663.tif 000008