(57)【要約】【課題】  検証データが作成された後の撮像画像データに周辺光量補正や露出補正が施された場合でも、撮像画像データの原本性を保証することが可能な方式を提供することを目的とする。【解決手段】  順序情報算出部２２で、撮像された画像データにおける画像空間上の情報と、画素値とに基づいて、２つ以上の画素からなる画素セットを選択し、選択された画素セットの画素の大小関係を算出する。検証データ生成部２３で、算出した大小関係を用いて、画像データが改竄されたか否かを検証するための検証データを生成し、画像出力部２４で、画像データと検証データとを出力する。【選択図】  図２
2011120220.tif 000002
【特許請求の範囲】
【請求項１】
撮像された画像データにおける画像空間上の情報と、画素値とに基づいて、２つ以上の画素からなる画素セットを選択する選択手段と、
前記選択された画素セットの画素の大小関係を算出する算出手段と、
前記算出した大小関係を用いて、前記画像データが改竄されたか否かを検証するための検証データを生成する生成手段と、
前記画像データと前記検証データとを出力する出力手段を有する情報処理装置。
【請求項２】
前記選択手段は、基準位置と画素位置との距離と、画素値とに基づいて、画素セット選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、基準位置とブロックの所定の位置との距離と、ブロックの画素平均とに基づいて、ブロック対を選択し、前記算出手段は、前記選択されたブロック対のブロックの画素平均の大小関係を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記選択手段は、前記画像データ中の露出アンダー、露出オーバー、適正露出のいずれの領域に含まれるかと、画素値とに基づいて、画素対を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
周辺光量補正、あるいは、露出補正された画像データと、第１の検証データとを取得する取得手段と、
前記画像データにおける画像空間上の情報と、画素値とに基づいて、２つ以上の画素からなる画素セットを選択する選択手段と、
前記選択された画素セットの画素の大小関係を算出する算出手段と、
前記算出した大小関係を用いて、第２の検証データを生成する生成手段と、
前記第１の検証データと前記第２の検証データとを比較する比較手段と、
前記第１の検証データと前記第２の検証データとが一致する場合、前記画像は改竄されていないと判定し、前記第１の検証データと前記第２の検証データとが一致しない場合、前記画像は改竄されていると判定する判定手段とを有する情報処理装置。
【請求項６】
選択手段が、撮像された画像データにおける画像空間上の情報と、画素値とに基づいて、２つ以上の画素からなる画素セットを選択する選択工程と、
算出手段が、前記選択された画素セットの画素の大小関係を算出する算出工程と、
生成手段が、前記算出した大小関係を用いて、前記画像データが改竄されたか否かを検証するための検証データを生成する生成工程と、
出力手段が、前記画像データと前記検証データとを出力する出力工程を有する情報処理装置の制御方法。
【請求項７】
前記選択工程は、基準位置と画素位置との距離と、画素値とに基づいて、画素セット選択することを特徴とする請求項６に記載の情報処理装置の制御方法。
【請求項８】
前記選択工程は、基準位置とブロックの所定の位置との距離と、ブロックの画素平均とに基づいて、ブロック対を選択し、前記算出手段は、前記選択されたブロック対のブロックの画素平均の大小関係を算出することを特徴とする請求項６に記載の情報処理装置の制御方法。
【請求項９】
前記選択工程は、前記画像データ中の露出アンダー、露出オーバー、適正露出のいずれの領域に含まれるかと、画素値とに基づいて、画素対を選択することを特徴とする請求項６に記載の情報処理装置の制御方法。
【請求項１０】
取得手段が、周辺光量補正、あるいは、露出補正された画像データと、第１の検証データとを取得する取得工程と、
選択手段が、前記画像データにおける画像空間上の情報と、画素値とに基づいて、２つ以上の画素からなる画素セットを選択する選択工程と、
算出手段が、前記選択された画素セットの画素の大小関係を算出する算出工程と、
生成手段が、前記算出した大小関係を用いて、第２の検証データを生成する生成工程と、
比較手段が、前記第１の検証データと前記第２の検証データとを比較する比較工程と、
判定手段が、前記第１の検証データと前記第２の検証データとが一致する場合、前記画像は改竄されていないと判定し、前記第１の検証データと前記第２の検証データとが一致しない場合、前記画像は改竄されていると判定する判定工程を有する情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至５の何れか１項に記載の情報処理装置が有する各手段として機能させるためのコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータの原本性を保証する技術に関するものである。
【背景技術】
【０００２】
従来、デジタルカメラで撮影したデジタル画像データを、市販のフォトレタッチツール等を用いて改竄する技術が知られている。このためデジタル画像データの信頼性は従来の銀塩写真と比較して低く、証拠としての能力に乏しいという課題があった。この課題を解決する方法として、予めデジタルカメラ内部にカメラ固有の秘密情報を組み込んでおく。そして、デジタルカメラで画像データを撮影した際に、デジタルカメラの内部で、前記秘密情報を用いて、撮影画像データに対して署名処理を施す。更に、撮影後、生成された署名情報を用いて検証処理を行うことにより、撮影画像データの原本性保証を確認する技術が知られている（例えば、特許文献１）。
【０００３】
一方、デジタルカメラで撮像された画像データには、レンズによる光学的特性により画像データの中心部と比較し、周辺部における光量が段階的に減少するという、いわゆる周辺光量落ち現象が発生する。そして、周辺光量落ちが生じた画像データを、画像処理によって補正する周辺光量補正技術が知られている。特に、中心部に対して周辺部で光量が減衰する割合を予め測定しておき、測定した減衰率を用いて撮影画像データの画素値を逆演算することにより、本来の画素値を復元する技術が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５４９９２９４号
【特許文献２】特開２００６−２７０９１９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術は、周辺光量補正されることを考慮していないため、デジタルカメラ内部で署名処理が施された撮影画像データに対して、周辺光量補正を施した場合、画像データが改竄されたと判定される。一方、画像データが改竄されたと判断されないようにするためには、周辺光量補正処理を施すことができず、本来の画素値を復元した画像データが得られない。即ち、従来技術によれば、不可避的に発生する画素値の変化に関する補正であって、撮影された画像を構成する各々の画素に対して一様に、同一の処理を実行できない補正と、原本性保証とを両立することが困難であった。特に、従来技術によれば、原本性保証と周辺光量補正を両立することが困難であった。
また、露出補正も同じく、原本性保証と露出補正を両立することが困難であった。
【０００６】
本発明はかかる問題点に鑑みなされたものであり、検証データが作成された後の撮影画像データに周辺光量補正や露出補正が施された場合でも、撮影画像データの原本性を保証することが可能な方式を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の情報処理装置は、撮像された画像データにおける画像空間上の情報と、画素値とに基づいて、２つ以上の画素からなる画素セットを選択する選択手段と、前記選択された画素セットの画素の大小関係を算出する算出手段と、前記算出した大小関係を用いて、前記画像データが改竄されたか否かを検証するための検証データを生成する生成手段と、前記画像データと前記検証データとを出力する出力手段を有する。
【発明の効果】
【０００８】
以上説明したように、本発明は、検証データが作成された後の撮影画像データに周辺光量補正や露出補正が施された場合でも、撮影画像データの原本性を保証することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のシステムの全体構成の一例を示す図である。
【図２】画像入力装置１１の機能構成示す機能ブロック図である。
【図３】順序情報算出部２２の機能構成を示す機能ブロック図である。
【図４】画像編集装置１２の機能構成を示す機能ブロック図である。
【図５】画像検証装置１３の機能構成を示す機能ブロック図である。
【図６】画像入力処理を示すフローチャートである。
【図７】レンズと画像との位置関係を模式的に示す図である。
【図８】検証データを生成する処理の流れを示すフローチャートである。
【図９】画像検証処理を示すフローチャートである。
【図１０】画素対の一例、相対的な大小関係を示す値Ｒｋ及び順序情報Ｒの具体例を示す図である。
【図１１】検証処理を示すフローチャートである。
【図１２】周辺光量補正処理の一例を示す図である。
【図１３】ガンマ補正処理、コントラスト補正処理を説明する図である。
【図１４】露出情報Ｅを生成する方法、輝度補正を説明する図である。
【図１５】画像入力装置１１、画像編集装置１２、及び画像検証装置１３のハードウェア構成の一例を示す図である。
【図１６】本実施形態における距離を説明する図である。
【図１７】本実施形態におけるマスク情報を説明する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１１】
（第１の実施形態）
図１は、本実施形態のシステムを構成する各情報処理装置の一例を示す図である。  本実施形態のシステムは、画像入力装置１１、画像編集装置１２、及び画像検証装置１３から構成される。
【００１２】
画像入力装置１１は、画像データを発生し、発生した画像データを出力する。特に、本実施形態においては画像データに加え、当該画像データが改竄されているか否かを検証可能な検証データを生成し、画像データと共に出力する。
【００１３】
画像編集装置１２は、前段の画像入力装置１１から出力された画像データに対して種々の画像処理を施し、画像処理された画像データを出力する。画像検証装置１３は、前段の画像編集装置１２から出力された画像データが改竄されているか否かを検証し、検証結果を出力する。画像入力装置１１、画像編集装置１２、及び画像検証装置１３はインターネットなどのネットワークによって接続しておき、各種データを互いに、交換可能にしても良い。或いは、出力時に各種データをリムーバブルメディアなどの記憶媒体に記録し、各種データを交換するようにしても良い。
【００１４】
図１５は、画像入力装置１１、画像編集装置１２、及び画像検証装置１３のハードウェア構成の一例を示す図である。図１５（Ａ）は、画像入力装置１１のハードウェア構成の一例を示す図である。
【００１５】
画像入力装置１１は、ＲＯＭ１５２、保管用メモリ１５３、作業用メモリ１５４、ＣＰＵ１５５、操作部１５６、光学系制御部１５７、駆動部１５８、及びＩ／Ｆ１５９から構成され、夫々はバス１５１０で接続されている。画像入力装置１１は、例えばデジタルカメラであり、操作部１５６を用いて撮影指示がなされた際、光学系制御部１５７が制御するレンズにより生成されたデジタル画像データを保管用メモリ１５３などへ蓄積することが可能である。ＲＯＭ１５２は読み出し専用メモリであり、あらかじめ動作プログラムや検証データ生成に必要な共有情報が格納される。保管用メモリ１５３は処理済の画像データを格納する。  作業用メモリ１５４では画像データが一時的に保管され、ここで該画像データの圧縮及び各種演算処理が行われる。ＣＰＵ１５５は撮影指示がなされると、ＲＯＭ１５２にあらかじめ格納されているプログラムに従い、画像データの圧縮処理、検証データ生成等の各種演算処理を行う。操作部１５６は撮影者の撮影指示、及び種々のパラメータの設定をはじめとする各種の指示を受け付けるためのユーザインターフェイスである。
【００１６】
光学系制御部１５７は電荷結合素子ＣＣＤ、或いは相補型金属酸化物半導体ＣＭＯＳ等の光学センサーを制御し、撮影指示がなされると被写体の撮影、電気信号処理、デジタル信号処理等を行う。駆動部１５８は撮影に必要な機械的な動作をＣＰＵ１５５の制御のもとで行う。Ｉ／Ｆ１５９はメモリカード、携帯端末、通信装置といった外部装置とのインタフェースであり、画像データや検証データをこれらの機器へ送信する時に使用される。
図１５（Ｂ）は、画像編集装置１２、及び画像検証装置１３として機能するホストコンピュータのハードウェア構成の一例と、周辺機器との関係を示す図である。
【００１７】
ホストコンピュータ１５１１は、例えばパーソナルコンピュータであり、ＨＤ１５１６、ＣＤ１５１７、ＦＤ１５１８、及びＤＶＤ１５１９などに蓄積されている画像データ等をモニタ１５１２に表示したりすることが可能である。更に、ＮＩＣ１５２０などを用いて、これらの画像データをインターネットなどを介して配布させることが可能である。また、ユーザからの各種指示等は、ポインティングデバイス１５２２、及びキーボード１５２３からの入力により行われる。ホストコンピュータ１５１１の内部では、バス１５２５により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。モニタ１５１２は、ホストコンピュータ１５１１からの種々の情報を表示する。ＣＰＵ１５１３はホストコンピュータ１５１１内の各部の動作を制御、或いはＲＡＭ１５１５にロードされたプログラムを実行する。
【００１８】
ＲＯＭ１５１４はＢＩＯＳやブートプログラムを記憶する。ＲＡＭ１５１５はＣＰＵ１５１３にて処理を行うために一時的にプログラムや処理対象の画像データを格納する領域を提供する。また、ＲＡＭ１５１５には、ＯＳやＣＰＵ１５１３が後述の各種処理を行うためのプログラムがロードされる。ハードディスク（ＨＤ）１５１６はＲＡＭ等に転送されるＯＳやプログラムを格納したり、装置が動作中に画像データを格納したり、読出すために使用される。ＣＤ−ＲＯＭドライブ１５１７は、外部記憶媒体の一つであるＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗなど）に記憶されたデータを読み込み或いは書き出す。ＦＤドライブ１５１８は、ＣＤ−ＲＯＭドライブ１５１７と同様にＦＤ（フロッピー（登録商標）ディスク）からの読み込み、ＦＤへの書き出しができる。ＤＶＤ−ＲＯＭ（ＤＶＤ−ＲＡＭ）ドライブ１５１９も、ＣＤ−ＲＯＭドライブ１５１７と同様にＤＶＤ−ＲＯＭからの読み込み、ＤＶＤ−ＲＡＭへの書き出しができる。尚、ＣＤ−ＲＯＭ、ＦＤ、ＤＶＤ−ＲＯＭ等に画像処理用のプログラムが記憶されている場合には、これらプログラムをＨＤ１５１６にインストールし、必要に応じてＲＡＭ１５１５に転送されるようになっている。尚、画像処理用のプログラムは周知のＵＳＢメモリに記憶されていてもよく、周知のＵＳＢバス、バス１５１０等を介して、これらプログラムをＨＤ１５１６にインストールし、必要に応じてＲＡＭ１５１５に転送してもよい。Ｉ／Ｆ１５２１は、ＮＩＣ（ネットワークインタフェースカード）１５２０にホストコンピュータ１５１１を接続するためのインタフェースである。Ｉ／Ｆ１５２１を介してホストコンピュータ１５１１は、インターネットへデータを送信したり、インターネットからデータを受信したりする。Ｉ／Ｆ１５２４は、ホストコンピュータ１５１１にポインティングデバイス１５２２やキーボード１５２３を接続するためのインタフェースである。尚、Ｉ／Ｆ１５２４を介してポインティングデバイス１５２２やキーボード１５２３から入力された各種の指示がＣＰＵ１５１３に入力される。
【００１９】
図２（Ａ）は、画像入力装置１１の機能構成を示す機能ブロック図である。以下、前述した画像入力装置１１に電源が投入され、ＯＳが作業用メモリ１５４にロードされているものとして説明する。尚、本発明はこれに限定されることなく、前述したホストコンピュータ１５１１によって実行するようにしても良い。この場合、各処理部は、該当するプログラム及びそれを実行するＣＰＵ１５１３、場合によっては周辺のハードウェアでもって実現することになる。
【００２０】
図２（Ａ）に示すように、画像入力装置１１は、画像発生部２１、順序情報算出部２２、検証データ生成部２３、及び画像出力部２４から構成される。尚、画像入力装置１１で実行する画像入力処理はソフトウェア処理により実現されても良い。その場合には、上記各部は上記処理に必要なプログラムモジュールとする。
【００２１】
画像発生部２１は、ＣＭＯＳ（相補型金属酸化物半導体）、或いはＣＣＤ（電荷結合素子）などの光学センサー、及び光学系を制御するマイクロプロセッサなどを有する。また、画像発生部２１は、光学系、及び光学センサーによって生成された信号をイメージ情報として取得し、画像データＩを形成する。
【００２２】
ここで、本実施形態における画像データについて説明する。一般的な光学センサーは光の強弱しか感知できない。そこで通常、光学センサーの前面にカラーフィルターを取り付けることによって色情報を取得する。この結果、光学センサーにより得られる初期の画像データは、各画素が単一の色成分だけを有するデータとなる。
【００２３】
一方、本実施形態では各画素において不足している色成分を周辺の画素の色成分から補間することにより、各画素がＲＧＢの各色成分を有するように変換する。その後、得られたＲＧＢの各成分から以下の式を用いて画素に対する輝度成分を算出する。
Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ    （式１）
ここで、Ｙ、Ｒ、Ｇ、Ｂは夫々画素の輝度成分、赤色成分、緑色成分、青色成分である。
【００２４】
以降、画像データＩの各画素は（式１）により得られた輝度成分により構成されているものとして説明する。
【００２５】
尚、本発明は上述した画像データＩに限定されることなく、光学センサーから得られた色成分により各画素が構成されている画像データや、或いはそれらの各画素値を用いて不足している色成分を補間した後の画像データに対しても適用可能である。また、画像発生部２１は画像発生時に光学系制御部１５７が制御するレンズを識別するためのレンズ識別情報Ａを発生させ、発生したレンズ識別情報Ａを一旦作業用メモリ１５４等に保持し、後段の画像出力部２４において画像データＩに付加するようにする。
このように付加されたレンズ識別情報Ａを用いることにより、後述する画像編集装置内で画像データＩがどのような光学系を用いて発生されたかを知ることが可能となる。
【００２６】
順序情報算出部２２では、乱数初期値ＫＲを用いて画像データＩから順序情報Ｒが生成され、生成された順序情報Ｒが出力される。
【００２７】
図３（Ａ）は、順序情報算出部２２の詳細な機能構成を示す機能ブロック図である。順序情報算出部２２は、擬似乱数生成部３１、基準画素選択部３２、参照画素選択部３３、判定部３４、及び画素値比較部３５から構成される。
【００２８】
擬似乱数生成部３１は、入力された初期値ＫＲをシードとして擬似乱数ＲＮＤを生成し、生成した擬似乱数ＲＮＤを後段の基準画素選択部３２、及び参照画素選択部３３へ出力する。尚、擬似乱数生成部３１へ入力される初期値ＫＲは、画像入力装置１１と後述する画像検証装置１３とで共有しておく必要がある。このため、予め画像入力装置１１内部のＲＯＭ１５２、及び画像検証装置１３内部のＲＯＭ１５１４などに共通の初期値ＫＲを保持しておき、擬似乱数生成部３１が必要に応じて当該初期値ＫＲを利用するようにする。或いは、耐タンパー性を有するＩＣカード等の内部に初期値ＫＲを保持しておき、当該ＩＣカードを画像入力装置１１及び画像検証装置１３に接続するようにし、擬似乱数生成部３１がＩＣカード内部から初期値ＫＲを取得して利用するようにしても良い。また、擬似乱数生成部３１から出力される擬似乱数ＲＮＤは、出力される度に異なる擬似乱数値とする。即ち、基準画素選択部３２、参照画素選択部３３へは異なる擬似乱数値が出力されることになる。
【００２９】
基準画素選択部３２、及び参照画素選択部３３は、前段の擬似乱数生成部３１で生成された擬似乱数ＲＮＤを用いて、画像データＩを構成する画素の中から夫々基準画素、及び参照画素の位置を選択する。即ち、基準画素選択部３２、及び参照画素選択部３３により１対の画素対が選択される。
【００３０】
図１０（Ａ）は、本実施形態における画素対の一例について説明する図である。画像データ１０７において、画素対として選択する画素を、１０１、１０２、１０４、１０５とする。尚、画素１０１と画素１０２が画素対１０３、及び画素１０４と画素１０５が画素対１０６を構成しているものとする。また、各画素対を構成する画素のうち一方を基準画素、他方を参照画素と呼ぶ。尚、本実施形態では、画素対の選択を繰り返すことにより、複数個の画素対を生成して出力する。即ち、図１０（Ａ）の場合、画素対１０３と画素対１０６とが出力される。また、本実施形態では、基準画素選択部３２において選択された基準画素が画像の周辺部に位置し、且つ、予め定められた閾値より小さい場合、乱数により別の基準画素を選択するようにする。
【００３１】
判定部３４は、基準画素選択部３２及び参照画素選択部３３で選択された基準画素及び参照画素が入力され、入力された基準画素及び参照画素が後述する所定条件を満たすか否かを判定する。そして所定条件を満たすと判定された場合には、画素値比較部３５における処理を実行し、さもなければ参照画素選択部３３における処理を実行するように制御する。
【００３２】
画素値比較部３５は、判定部３４によって基準画素及び参照画素が所定の条件を満たすと判定された場合、判定部３４から基準画素、及び参照画素が入力され、入力された夫々の画素の画素値同士を比較し、比較結果を順序情報Ｒとして出力する。本実施形態において、画素値比較部３５は以下の式を用いて順序情報Ｒを生成するものとする。
ｉｆ                Ｃ（Ｉ１）≦Ｃ（Ｉ２）  ｔｈｅｎ  Ｒｋ＝０
ｅｌｓｅ  ｉｆ      Ｃ（Ｉ１）＞Ｃ（Ｉ２）  ｔｈｅｎ  Ｒｋ＝１    （式２）
ここでＣ（ｘ）は画素位置ｘにおける画素値、Ｉ１及びＩ２は基準画素選択部３２及び参照画素選択部３３で選択された基準画素、及び参照画素における画素の位置である。
【００３３】
入力された所定数の基準画素及び参照画素について（式２）を用いて相対的な大小関係を示す値Ｒｋを算出し、算出されたＲｋを連結した結果を順序情報Ｒとして出力する。
【００３４】
図１０（Ｂ）（Ｃ）（Ｄ）は、相対的な大小関係を示す値Ｒｋ及び順序情報Ｒの具体例を示す図である。  図１０（Ｂ）は順序情報Ｒの算出対象である画像データであり、内部に数値（画素値）が記載されたそれぞれの四角形は、画素を示すものとする。各画素には画像データの左上を「０」としてラスタスキャン順に画素番号が連続的に与えられている。従って、例えば、Ｃ（０）＝１２８、Ｃ（１）＝１５０、Ｃ（２）＝１２１となる。
【００３５】
ここで、擬似乱数生成部３１が発生した擬似乱数ＲＮＤを、基準画素Ｉ１、参照画素Ｉ２に割り当てる。図１０（Ｃ）は、基準画素Ｉ１、参照画素Ｉ２に、擬似乱数ＲＮＤを割り当てる場合の一例を示す図である。図１０（Ｃ）の場合、６個の擬似乱数（８、５、０、２、９、１４）が生成されており、結果として合計３個の画素対が生成されている。
【００３６】
そして、Ｉ１に割り当てられた擬似乱数（８、５、０）に従って、基準画素選択部３２が基準画素を選択する。即ち、Ｃ（８）＝１１８、Ｃ（５）＝１８５、Ｃ（０）＝１２８の３つの画素が基準画素として選択される。同様にＩ２に割り当てられた擬似乱数（２、９、１４）に従って、参照画素選択部３３が参照画素を選択する。即ち、Ｃ（２）＝１２１、Ｃ（９）＝１７０、Ｃ（１４）＝１１５の３つの画素が参照画素として選択される。
【００３７】
次に、夫々の画素に対して（式２）を用いて相対的な大小関係を示す値Ｒｋを算出する。例えば、図１０（Ｃ）に示した最初の画素対Ｃ（Ｉ１）＝１１８、Ｃ（Ｉ２）＝１２１は、Ｃ（Ｉ１）＜Ｃ（Ｉ２）であるためＲｋ＝０となる。同様に、２番目、３番目の画素対に対しても相対的な大小関係を示す値Ｒｋを算出する。
以上のように算出した各画素対のＲｋを順に連結することにより順序情報Ｒを算出する。即ち、順序情報Ｒは、図１０（Ｄ）に示すように「０１１」となる。
【００３８】
尚、以上の説明では基準画素及び参照画素を選択するようにしていたが、本発明はこれに限定されることなく、複数の画素値から構成されるブロックを基準ブロック、及び参照ブロックとして選択するようにしても良い。
【００３９】
図３（Ｂ）は、画素ではなくブロックに対して同様の処理を適用する場合における順序情報算出部２２の構成を示す機能ブロック図である。この場合、順序情報算出部２２は、擬似乱数生成部３６、基準ブロック選択部３７、参照ブロック選択部３８、判定部３９、及びブロック特徴量比較部３１０から構成される。ここで、擬似乱数生成部３６は、擬似乱数生成部３１と同様であるので説明を省略する。
【００４０】
基準ブロック選択部３７及び参照ブロック選択部３８は、擬似乱数生成部３６で生成された擬似乱数ＲＮＤを用いて、画像データＩの中から夫々基準ブロック及び参照ブロックの位置を選択する。より具体的には、前段の擬似乱数生成部３６で生成された擬似乱数を用いて、夫々画像データ中の位置を座標として特定し、特定された座標を左上とする所定サイズのブロックを特定するようにする。尚、本発明はこれに限定されることなく任意の方法でブロックを特定可能である。例えば、特定された座標を中心、右上、右下、或いは左下とするようにブロックを特定しても良い。或いは、予め各矩形ブロックに矩形ブロック番号を付与しておき、生成した擬似乱数により矩形ブロック番号を特定することにより、基準ブロック、及び参照ブロックを選択するようにしてもよい。即ち、擬似乱数ＲＮＤを用いてランダムに基準ブロック、及び参照ブロックを選択する方法であれば如何なる方法を用いても良い。
【００４１】
更に、基準ブロック選択部３７及び参照ブロック選択部３８では、選択したブロックの特徴量を算出する。尚、ブロックの特徴量としては、ブロックを構成する画素値の平均を適用するものとして説明するが、本発明はこれに限定されることなく、画素値の分散、標準偏差、中央値など種々の特徴量を適用可能である。
【００４２】
判定部３９は、基準ブロック選択部３７及び参照ブロック選択部３８で選択された基準ブロック及び参照ブロックが入力され、入力された基準ブロック及び参照ブロックが後述する所定の関係を満たすか否かを判定する。そして、所定条件を満たすと判定された場合には、ブロック特徴量比較部３１０における処理を実行し、さもなければ参照ブロック選択部３８における処理を実行するように制御する。判定部３９による処理の制御及び判定処理の詳細については後述する。
【００４３】
ブロック特徴量比較部３１０は、判定部３９によって基準ブロック及び参照ブロックが所定の条件を満たすと判定された場合、判定部３９から基準ブロック及び参照ブロックが入力される。そして、ブロック特徴量比較部３１０は、入力された夫々のブロックの特徴量同士を比較し、比較結果を順序情報Ｒとして出力する。
ブロック特徴量比較部３１０で以下の式を用いて順序情報Ｒを生成するものとする。
Ｉｆ            Ａｖｅ（Ｂ１）≦Ａｖｅ（Ｂ２）  ｔｈｅｎ  Ｒｋ＝０
ｅｌｓｅ  ｉｆ  Ａｖｅ（Ｂ１）＞Ａｖｅ（Ｂ２）  ｔｈｅｎ  Ｒｋ＝１    （式２’）
（式２’）において、Ａｖｅ（ｘ）はブロック位置ｘにおけるブロックの画素平均、Ｂ１及びＢ２は前段の基準ブロック選択部３７、及び参照ブロック選択部３８で選択された基準ブロック、及び参照ブロックの位置である。
【００４４】
続いて、再び図２（Ａ）を用いて、画像入力装置１１の機能ブロックについて説明する。
検証データ生成部２３は、順序情報算出部２２で生成された順序情報Ｒを取得し、取得した順序情報Ｒに対して検証データＶを生成し、生成した検証データＶを画像出力部２４に出力する。検証データＶを生成する処理の詳細については後述する。
【００４５】
画像出力部２４は、画像発生部２１から出力された画像データＩ及び検証データ生成部２３から出力された検証データＶを取得し、検証データＶを画像データＩに付加して出力する。尚、付加の方法として、Ｅｘｉｆなどでフォーマット化されている画像データＩのヘッダ中に検証データＶを記録するものとする。しかしながら本発明はこれに限定されることなく、画像データＩに検証データＶを連結するようにしても良い。また、作業メモリ１５４に保持されているレンズ識別情報Ａも画像データＩに付加して出力する。画像出力部２４は、画像データＩをリムーバブルメディア等の記憶媒体に記録する処理、或いは、有線／無線のネットワークを介して所定のホストへ送信する処理を実行する。
【００４６】
図６（Ａ）は、画像入力装置１１で実行される画像入力処理の流れを説明するフローチャートである。
まず、ステップＳ６１において、画像発生部２１は、画像データＩを発生する。次に、ステップＳ６２において、擬似乱数生成部３１は、擬似乱数ＲＮＤを生成する。次に、ステップＳ６３において、基準画素選択部３２は、生成された擬似乱数を用いて、基準画素を選択する。
【００４７】
次に、ステップＳ６４において、基準画素選択部３２は、選択された基準画素が（式３）に示す条件を満たすか否かを判定する。
Ｒ１＞Ｒｔｈ  ＆  Ｃ（Ｉ１）＜Ｃｔｈ    （式３）
ここで、Ｒ１は基準画素の画像中心からの距離、Ｃ（Ｉ１）は基準画素Ｉ１の画素値、Ｒｔｈは画像中心からの距離に関する閾値、Ｃｔｈは基準画素の画素値に関する閾値である。
【００４８】
ステップＳ６４において、（式３）に示す条件を満たすと判定された場合、ステップＳ６３において再び基準画素を選択する処理を実行する。尚、再び実行するステップＳ６３において、基準画素選択部３２は、新たな擬似乱数を用いて新たな基準画素Ｉ１を選択する。
【００４９】
一方、ステップＳ６４において、（式３）に示す条件を満たさないと判定された場合、ステップＳ６５の処理を実行する。ステップＳ６５において、参照画素選択部３３は、生成された擬似乱数を用いて、参照画素を選択する。
【００５０】
ステップＳ６６において、判定部３４は、基準画素及び参照画素が（式４）に示す条件を満たすか否かを判定する。
（Ｒ１＞Ｒ２  ＆  Ｃ（Ｉ１）＞Ｃ（Ｉ２））ｏｒ
（Ｒ１＜Ｒ２  ＆  Ｃ（Ｉ１）≦Ｃ（Ｉ２））ｏｒ
（Ｒ１＝Ｒ２）                                  （式４）
ここで、Ｒ１、Ｒ２は夫々基準画素及び参照画素の画像中心からの距離、Ｃ（ｘ）は画素位置ｘにおける画素値、Ｉ１、Ｉ２は夫々基準画素及び参照画素の画素位置とする。
【００５１】
尚、本実施形態では、図７（ａ）に示すように、光学系制御部１５７が制御するレンズの中心が画像の中心と一致していることを前提とし、Ｒ１、Ｒ２は画像中心からの距離であるものとして説明する。特に、本実施形態では、Ｒ１、及びＲ２を算出するためにユークリッド距離を適応するものとするが、本発明はこれに限定されることなく、４近傍距離や８近傍距離など種々の距離を適応可能である。
【００５２】
尚、図３（Ｂ）に示したようにブロックを適応する場合は、画像の中心とブロックの中心の距離をＲ１、或いはＲ２とするようにすればよい。以下、図１６を用いてブロックを適応した場合の距離の例について説明する。
【００５３】
図１６において、点線で定義された矩形は画素を示し、実線で定義された矩形はブロックを示している。図１６（Ａ）は３画素ｘ３画素をブロック、図１６（Ｂ）は４画素ｘ４画素をブロックとして定義した場合の例である。また、黒色で塗りつぶされた矩形は、前述した画像の中心（レンズの中心）を示している。また、以降の説明では画像の最も左上の画素の中心の座標を（０，０）とし、横軸をｘ軸、縦軸をｙ軸として説明する。図１６（Ａ）、及び図１６（Ｂ）では画像の中心の座標はいずれも（７，７）である。
【００５４】
図１６（Ａ）では、各ブロックにおいて網掛けされた矩形がブロックの中心であり、この画素の座標と画像の中心の座標とから距離（Ｒ１、及びＲ２）を算出する。例えば、ブロック１６１の画像の中心からの距離は１６２によって定義される。ブロック１６１の中心の座標は（４，１）であるため、ブロック１６１の画像の中心からの距離は、
【００５５】
【数１】
2011120220.tif 000003
【００５６】
となる。
【００５７】
一方、図１６（Ｂ）では、各ブロックにおいて丸印の点がブロックの中心であり、例えば、ブロック１６３は、１６５の点がブロック１６３の中心である。図１６（Ｂ）は各ブロックが４画素ｘ４画素で定義されているため、ブロックの丁度中心となる画素が存在しないことに留意されたい。この場合、図１６（Ｂ）に示すように丸印の点の座標をブロックの中心であるとし、この点の座標と画像の中心の座標とから距離（Ｒ１、及びＲ２）を算出する。例えば、ブロック１６３の画像の中心からの距離は１６４によって定義される。ブロック１６３の中心の座標は（５．５，１．５）であるため、ブロック１６３の画像の中心からの距離は、
【００５８】
【数２】
2011120220.tif 000004
【００５９】
となる。以上、ブロックを適用した場合の距離について説明した。
【００６０】
しかしながら、本発明はこれに限定されることなく、例えば、図７（ｂ）に示すように、レンズ中心が画像中心以外の点と対応している場合は、Ｒ１、Ｒ２はレンズ中心が対応している画像中の所定の基準点（基準位置）からの距離を適用すれば良い。
【００６１】
また、図７（ｃ）に示すように、レンズ特性によっては、基準点から等距離にある画素対の相対的な大小関係が逆転する場合がある。このような場合には、例えば、撮像画像データに、周知のＥｘｉｆ形式の情報として、レンズ特性に関する情報を付与する。そして、その情報を参照して、基準点から距離によらず、略同一の補正処理が実行される画素対を、相対的な大小関係が逆転しない画素対として選択してもよい。
【００６２】
例えば、レンズ特性に関する情報として、図１７（Ａ）に示すようなマスク情報を付与するようにしても良い。図１７（Ａ）に示したマスク情報は、各矩形が画像データを構成する画素に対応している。そして、矩形内の数値が等しい画素に対しては、画像データに対して同じ補正処理を実行するように定義するものとする。図７（ｃ）に示したように、レンズの中心が画像の中心からずれており、且つ、周辺光量落ちが円ではなく楕円を形成するような場合、図１７（Ａ）に示すようなマスク情報により、この周辺光量落ちを表現することが可能である。更に、図１７（Ｂ）には図１７（Ａ）に示したマスク情報に対する周辺光量を記載する。周辺光量の詳細については後述する。
このようなマスク情報を適用する場合、（式４）における距離Ｒ１、及びＲ２はユークリッド距離ではなく、画素の位置に対応するマスク情報中の値を距離として用いるようにする。
【００６３】
ステップＳ６６において、（式４）に示す条件を満たすと判定された場合、ステップＳ６７の処理を実行する。一方、ステップＳ６６において、（式４）に示す条件を満たさないと判定された場合は、ステップＳ６５の処理を再び実行する。再び実行するステップＳ６５において、参照画素選択部３３は、新たな擬似乱数を用いて新たな参照画素Ｉ２を選択する。その後、再度ステップＳ６６における判定処理を実行するようにし、最終的に（式４）に示す条件を満たすような基準画素、参照画素の対が選択された後、ステップＳ６７の処理を実行する。
【００６４】
尚、この繰り返し処理の結果、画像中心から外側に存在する画素の値が内側に存在する画素の値よりも大きくなるか、或いは画像中心を中心とする同心円上で基準画素、参照画素が選択されることに留意されたい。また、（式４）に示す条件を満たすように画素対を選択する理由については後述する。
【００６５】
尚、図７（ｃ）に示したように、レンズ特性によっては、基準点を中心とする同心円上の画素から基準画素と参照画素が選択されない場合もある。ステップＳ６７において、画素値比較部３５は、（式２）を用いて、基準画素及び参照画素から順序情報Ｒｋを生成する。次に、ステップＳ６８において、画素値比較部３５は、予め定められた所定の画素対の数を選択したか否かを判定する。
【００６６】
ステップＳ６８において、予め定められた所定の画素対の数を選択した場合には、ステップＳ６９の処理を実行し、予め定められた所定の画素対の数を選択していない場合には、ステップＳ６３からの処理を繰り返す。ステップＳ６９において、検証データ生成部２３は、生成された順序情報Ｒから検証データＶを生成する。次に、ステップＳ６１０において、画像出力部２４は、検証データＶが付加された画像データを出力する。
【００６７】
尚、図３（Ｂ）に示したように、画素の代わりにブロックを適用した場合は、図６（Ａ）に示した各ステップにおいて利用する画素の代わりにブロックを利用すれば良い。具体的には以下の通りである。
【００６８】
ステップＳ６１において、画像発生部２１は、画像データＩを発生する。次に、ステップＳ６２において、擬似乱数生成部３６は、擬似乱数ＲＮＤを生成する。次に、ステップＳ６３において、基準ブロック選択部３７は、生成された擬似乱数を用いて、基準ブロックを選択する。
【００６９】
ステップＳ６４においては、基準ブロック選択部３７は、選択された基準ブロックが（式３’）に示す条件を満たすか否かを判定する。
Ｒ１＞Ｒｔｈ  ＆  Ａｖｅ（Ｂ１）＜Ａｔｈ    （式３’）
ここで、Ｒ１はブロックの中心と画像の中心との距離、Ａｖｅ（Ｂ１）は基準ブロックＢ１の平均画素値、Ｒｔｈは画像中心からの距離に関する閾値、Ａｔｈは基準ブロックの画素平均値に関する閾値である。
【００７０】
ステップＳ６４において、（式３’）に示す条件を満たすと判定された場合、ステップＳ６３において再び基準ブロックを選択する処理を実行する。尚、再び実行するステップＳ６３において、基準ブロック選択部３７は、新たな擬似乱数を用いて新たな基準ブロックＢ１を選択する。一方、ステップＳ６４において、（式３’）に示す条件を満たさないと判定された場合、ステップＳ６５の処理を実行する。ステップＳ６５において、参照ブロック選択部３８は、生成された擬似乱数を用いて、参照ブロックを選択する。
【００７１】
ステップＳ６６において、判定部３９は、基準ブロック及び参照ブロックが（式４’）に示す条件を満たすか否かを判定する。
（Ｒ１＞Ｒ２  ＆  Ａｖｅ（Ｂ１）＞Ａｖｅ（Ｂ２））ｏｒ
（Ｒ１＜Ｒ２  ＆  Ａｖｅ（Ｂ１）≦Ａｖｅ（Ｂ２））ｏｒ
（Ｒ１＝Ｒ２）                                          （式４’）
ここで、Ａｖｅ（ｘ）はブロック位置ｘにおけるブロックの画素平均、Ｂ１及びＢ２は夫々基準ブロック及び参照ブロックの位置である。
【００７２】
ステップＳ６６において、（式４’）に示す条件を満たすと判定された場合、ステップＳ６７の処理を実行する。一方、ステップＳ６６において、（式４’）に示す条件を満たさないと判定された場合は、ステップＳ６５の処理を再び実行する。再び実行するステップＳ６５において、参照ブロック選択部３７は、新たな擬似乱数を用いて新たな参照ブロック２を選択する。その後、再度ステップＳ６６における判定処理を実行するようにし、最終的に（式４’）に示す条件を満たすような基準ブロック、参照ブロックの対が選択された後、ステップＳ６７の処理を実行する。
【００７３】
ステップＳ６７において、ブロック特徴量比較部３１０は、（式２’）を用いて、基準ブロック及び参照ブロックから順序情報Ｒｋを生成する。次に、ステップＳ６８において、ブロック特徴量比較部３１０は、予め定められた所定のブロック対の数を選択したか否かを判定する。ステップＳ６８において、予め定められた所定のブロック対の数を選択した場合には、ステップＳ６９の処理を実行し、予め定められた所定のブロック対の数を選択していない場合には、ステップＳ６３からの処理を繰り返す。
【００７４】
ステップＳ６９において、検証データ生成部２３は、生成された順序情報Ｒから検証データＶを生成する。次に、ステップＳ６１０において、画像出力部２４は、検証データＶが付加された画像データを出力する。
【００７５】
図８は、ステップＳ６９において、検証データを生成する処理の流れを示すフローチャートである。図８（Ａ）は検証データとして電子署名を適応する場合の処理の流れを説明するフローチャートである。
【００７６】
まず、ステップＳ８１において、検証データ生成部２３は、入力された順序情報Ｒをハッシュ関数に入力することによりハッシュ値Ｈを算出する。
尚、ハッシュ関数には、周知のＳＨＡ−１やＭＤ５など種々のハッシュ関数を適用可能である。
【００７７】
次に、ステップＳ８２において、検証データ生成部２３は、生成されたハッシュ値から電子署名Ｓ（Ｈ）を生成する。尚、電子署名アルゴリズムには、周知のＲＳＡやＤＳＡなど種々の電子署名アルゴリズムを適用可能である。
【００７８】
次に、ステップＳ８３において、検証データ生成部２３は、生成された電子署名Ｓ（Ｈ）を検証データＶとして出力する。尚、検証データとして電子署名を適用する場合には、電子署名を生成するための秘密鍵を、署名鍵ＫＳとして入力するようにする。
【００７９】
このため、予め画像入力装置１１内部のＲＯＭ１５２に署名鍵ＫＳを保持しておき、検証データ生成部２３が必要に応じて当該署名鍵ＫＳを利用するようにする。或いは、ＩＣカード等の内部に署名鍵ＫＳを保持しておき、当該ＩＣカードを画像入力装置１１に接続するようにし、検証データ生成部２３がＩＣカード内部から署名鍵ＫＳを取得して利用するようにしても良い。或いは、画像入力装置１１の内部で新たに署名鍵ＫＳを発生させ、発生した署名鍵ＫＳを利用するようにしても良い。また、何れの場合においても、検証データ生成部５３が利用した署名鍵ＫＳに対応する公開鍵が、後述する画像検証装置１３の内部で必要となる。
【００８０】
このため、画像出力部２４において、署名鍵ＫＳに対応する公開鍵を画像データに付加して、画像検証装置１３へ送信するようにする。或いは、不図示のサーバ上に公開鍵を保持しておき、当該サーバ上の公開鍵の保持位置を示す情報（ＵＲＬなど）を画像データに記録するようにしておく。そして、画像検証装置１３は当該保持位置を示す情報を用いることにより、必要に応じて公開鍵をサーバから取得するようにしても良い。
【００８１】
図８（Ｂ）は検証データとしてＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を適応する場合の処理の流れを説明するフローチャートである。
【００８２】
まず、ステップＳ８４において、検証データ生成部２３は、入力された順序情報ＲからＭＡＣ値Ｍ（Ｒ）を算出する。次に、ステップＳ８５において、検証データ生成部２３は、生成したＭＡＣ値Ｍ（Ｒ）を検証データＶとして出力する。尚、ＭＡＣ算出アルゴリズムには、周知のＨＭＡＣやＣＭＡＣなど種々のアルゴリズムを適用可能である。検証データとしてＭＡＣを適用する場合には、ＭＡＣを生成するための秘密情報を、署名鍵ＫＳとして入力するようにし、ＭＡＣを生成する際に利用する。
【００８３】
署名鍵ＫＳは画像入力装置１１と後述する画像検証装置１３とで共有しておく必要がある。このため、予め画像入力装置１１内部のＲＯＭ１５２、及び画像検証装置１３内部のＲＯＭ１５１４などに共通の秘密情報を保持しておき、検証データ生成部２３が必要に応じて当該秘密情報を利用するようにする。或いは、ＩＣカード等の内部に署名鍵ＫＳを保持しておき、当該ＩＣカードを画像入力装置１１及び画像検証装置１３に接続するようにし、検証データ生成部２３がＩＣカード内部から署名鍵ＫＳを取得して利用するようにしても良い。或いは、画像入力装置１１の内部で新たに秘密情報を発生させ、発生した秘密情報を署名鍵ＫＳとして利用するようにしても良い。この場合、発生した秘密情報はＩＣカード等の内部に保持する、或いは暗号化を施した後画像検証装置１３へ送信するようにすれば良い。
【００８４】
図８（Ｃ）は検証データとして順序情報Ｒの暗号文を適応する場合の処理の流れを説明するフローチャートである。まず、ステップＳ８６において、検証データ生成部２３は、入力された順序情報Ｒを暗号アルゴリズムを用いて暗号化することにより暗号文Ｅ（Ｒ）を算出する。次に、ステップＳ８７において、検証データ生成部２３は、算出した暗号文Ｅ（Ｒ）を検証データＶとして出力する。尚、暗号アルゴリズムには、周知のＤＥＳやＡＥＳなどの共有鍵暗号アルゴリズムや、ＲＳＡなどの公開鍵暗号アルゴリズムなどを適用可能である。共有鍵方式を適用する場合、予め画像入力装置１１と画像検証装置１３とで共有鍵として使用する秘密情報を共有しておく。一方、公開鍵方式を適用する場合、予め対応する公開鍵、及び秘密鍵を夫々画像入力装置１１と画像検証装置１３が夫々保持しておくようにする。
【００８５】
図８（Ｄ）は検証データとして順序情報Ｒそのものを適用する場合の処理の流れを説明するフローチャートである。この場合、ステップＳ８８において、検証データ生成部２３は、入力された順序情報Ｒを検証データＶとして出力する。
【００８６】
尚、本実施形態においては、基準画素選択部３２及び参照画素選択部３３を用いて、２つの画素から構成される画素対を用いるようにした。しかしながら、本発明はこれに限定されることなく、３つ以上の画素から構成される画素セットを選択するようにしても良い。例えば、３つの画素から構成される画素セットを適用する場合、１つの基準画素に対して第１の参照画素及び第２の参照画素を選択するようにする。そして、ステップＳ６６において、（式４）の代わり（式４’’）に示す条件用いて判定するようにする。
（Ｒ１＞Ｒ２＞Ｒ３  ＆  Ｃ（Ｉ１）＞Ｃ（Ｉ２）＞Ｃ（Ｉ３））ｏｒ
（Ｒ１＜Ｒ２＜Ｒ３  ＆  Ｃ（Ｉ１）≦Ｃ（Ｉ２）≦Ｃ（Ｉ３））ｏｒ
（Ｒ１＝Ｒ２＝Ｒ３）                                              （式４’’）
ここで、Ｒ１、Ｒ２、及びＲ３は夫々基準画素、第１の参照画素及び第２の参照画素の画像中心からの距離、Ｃ（ｘ）は画素位置ｘにおける画素値、Ｉ１、Ｉ２、及びＩ３は夫々基準画素、第１の参照画素及び第２の参照画素の画素位置を示す。
【００８７】
また、このとき画素値比較部３５は、（式２）の代わりに（式２’）を用いて順序情報Ｒを判定するようにする。
ｉｆ            Ｃ（Ｉ１）≦Ｃ（Ｉ２）≦Ｃ（Ｉ３）  ｔｈｅｎ  Ｒｋ＝０
ｅｌｓｅ  ｉｆ  Ｃ（Ｉ１）≦Ｃ（Ｉ３）＜Ｃ（Ｉ２）  ｔｈｅｎ  Ｒｋ＝１
ｅｌｓｅ  ｉｆ  Ｃ（Ｉ２）＜Ｃ（Ｉ１）≦Ｃ（Ｉ３）  ｔｈｅｎ  Ｒｋ＝２
ｅｌｓｅ  ｉｆ  Ｃ（Ｉ２）≦Ｃ（Ｉ３）＜Ｃ（Ｉ１）  ｔｈｅｎ  Ｒｋ＝３
ｅｌｓｅ  ｉｆ  Ｃ（Ｉ３）＜Ｃ（Ｉ１）≦Ｃ（Ｉ２）  ｔｈｅｎ  Ｒｋ＝４
ｅｌｓｅ  ｉｆ  Ｃ（Ｉ３）＜Ｃ（Ｉ２）＜Ｃ（Ｉ１）  ｔｈｅｎ  Ｒｋ＝５
（式２’）
ここで、Ｃ（ｘ）は画素位置ｘにおける画素値、Ｉ１、Ｉ２、及びＩ３は基準画素、第１の参照画素、及び第２の参照画素の位置である。
【００８８】
図４（Ａ）は、画像編集装置１２の機能構成を示す機能ブロック図である。画像編集装置１２は、画像入力部４１、周辺光量補正部４２、及び画像出力部４３から構成される。
画像入力部４１は、画像出力部２４から出力された編集対象となる画像データＩを取得し、画像データＩに相当する信号を周辺光量補正部４２に出力する。また、画像入力部４１は、画像データＩのヘッダを解析し、ヘッダに付加されているレンズ識別情報Ａを取得し、取得したレンズ識別情報Ａを周辺光量補正部４２に出力する。
【００８９】
周辺光量補正部４２は、入力されたレンズ識別情報Ａを用いて、画像データＩに対して周辺光量補正処理を行い、補正後の画像データＩ’を出力する。
【００９０】
次に、図１２を用いて、周辺光量補正処理の一例について説明する。一般に、光学系を介して得られた画像データは、その画像データの中心部と比較して周辺部における光量が段階的に減少するといった、いわゆる周辺光量落ち現象が発生する。
このように周辺光量落ち現象が発生した画像データの周辺部の画素値を、より中心に近い画素値よりも大きく補正する処理を周辺光量補正と呼ぶ。尚、レンズの光学特性によっては、実質的に周辺光量落ち現象と同様の光量の減少が画像データの周辺部に限らず発生する。このように実質的に周辺光量落ちに現象に相当する現象が発生した画像データについては、レンズの光学特性に応じて、各々の画素値に対する所定の補正を行ってもよい。
【００９１】
図１２（Ａ）、（Ｂ）において、横軸は画像データの中心からの距離を示し、縦軸は画素の輝度値を示している。ここでは、本来の被写体による光量が図１２（Ｂ）のように、内側の画素値よりも外側の画素値の方が大きい（明るい）場合を想定する。この場合でも、前述した周辺光量落ち現象によって、図１２（Ａ）に示すように、内側の画素値よりも外側の画素値の方が小さい（暗い）画像データが生成される場合がある。
【００９２】
周辺光量補正では、中心の画素値よりも周辺の画素値を大きく補正することにより、図１２（Ａ）のように撮影された画像データの画素値を、図１２（Ｂ）に示すような本来の被写体の画素値に補正することが可能になる。
【００９３】
尚、周辺光量補正処理の具体的方法は、（式５）に従った処理が適用可能である。
Ｉ’＝Ｉ／Ｐｒ    （式５）
ここで、Ｉ’は、補正後の画素値、Ｉは補正前の画素値、Ｐｒは半径ｒにおける周辺光量とする。
【００９４】
周辺光量Ｐｒは任意の位置における画素値Ｉｐと、画像中心部における画素値Ｉｃの比率として、（式６）のように表現される。
Ｐｒ＝（Ｉｐ／Ｉｃ）    （式６）
尚、Ｉｐ、Ｉｃは予め測定するものとし、測定されたＩｐ、ＩｃからＰｒの値を算出し、Ｐｒの値をＨＤ１５１６などに格納するようにしておく。Ｐｒの値は半径ｒ毎に異なるため、例えば図１２（Ｃ）に示すようなテーブルとして格納しておくようにする。
【００９５】
また一般に、Ｐｒは使用したレンズにより異なるため、レンズ毎にＰｒに関するデータを算出してＨＤ１５１６内に記録しておき、画像データＩに付加されていたレンズ識別情報Ａを用いてＰｒを特定するようにする。
【００９６】
尚、周辺光量補正処理としては、上述の処理に限定することなく、周知の種々の方法が適用可能である。例えば、前述した図７（ｃ）のように、周辺光量落ちによる影響が円ではなく楕円を形成するような場合、図１７（Ａ）に示したマスク情報を用いて、画像データを構成する各画素に対する中心からの距離（マスク情報により定義された距離）を算出する。そして、算出した距離に対する周辺光量を図１７（Ｂ）に示したテーブルから算出し、算出した周辺光量を（式５）に適用することにより、周辺光量補正を実行するようにしても良い。そして、周辺光量補正部４２によって補正された画像データＩ’は、最終的に画像出力部４３を介して出力される。画像出力部４３は、画像データＩ’をリムーバブルメディア等の記憶媒体に記録したり、或いは、有線／無線のネットワークを介して所定のホストへ送信したりする。
【００９７】
尚、以上、画像編集装置１２の内部で周辺光量補正処理のみを実行するように説明したが、画像編集装置１２の内部で周辺光量補正処理に加え、輝度補正等の種々の画像編集処理も実行することが可能である。
【００９８】
図４（Ｂ）は、周辺光量補正処理に加え、輝度補正処理を実行する場合の画像編集装置１２の機能構成を示す機能ブロック図である。図４（Ｂ）において、画像編集装置１２は、画像入力部４４、周辺光量補正部４５、輝度補正部４６、画像出力部４７から構成される。尚、画像入力部４４、周辺光量補正部４５、及び画像出力部４７は、夫々図４（Ａ）に示す画像入力部４１、周辺光量補正部４２、及び画像出力部４３と同様の処理を実行するため、説明を省略する。
【００９９】
輝度補正部４６は、周辺光量補正部４５から出力された画像データに対して輝度補正処理を施し、輝度補正処理が施された画像データを出力する。以下、輝度補正処理の具体例について説明する。尚、輝度補正処理としては、ガンマ補正処理、コントラスト補正処理等を含む。
例えば、ガンマ補正処理は、画像データを構成する各画素の画素値を、（式７）を用いて変更する。
Ｙ’＝Ｙ’Ｍ×（Ｙ／ＹＭ）＾（１／γ）    （式７）
ここで、Ｙは、ガンマ補正前の各画素の輝度値、Ｙ’ガンマ補正後の各画素の輝度値である。また、ＹＭは、ガンマ補正前の輝度値の最大値、Ｙ’Ｍガンマ補正後の輝度値の最大値である。また、γは各輝度値のガンマ補正値であり、「ｘ＾ｙ」はｘのｙ乗を意味する。
【０１００】
図１３（Ａ）は、（式７）に示したガンマ補正処理を説明する図である。図１３（Ａ）において、横軸はガンマ補正前の輝度値を示し、縦軸はガンマ補正後の輝度値を示す。また、各輝度値は、（式７）に示すγの値によって決定されるガンマカーブ（図中、太い幅の曲線）に応じて補正される。即ち、γの値が１より大きい場合は、輝度値は暗く補正され、一方、γの値が１より小さい場合は、輝度値は明るく補正される。尚、図１３（Ａ）において、例えば、ガンマ補正前に値Ｃ（Ｉ１）だった輝度値は、ガンマ補正後に値Ｃ（Ｉ’１）に補正され、ガンマ補正前に値Ｃ（Ｉ２）だった輝度値は、ガンマ補正後に値Ｃ（Ｉ’２）に補正される。
【０１０１】
図１３（Ｂ）は、コントラスト補正処理を説明する図である。本実施形態において、画像データを構成する各画素の輝度の値は、図１３（Ｂ）に示すような補正カーブを用いて変更される。即ち、暗い色成分はより暗く変更され、明るい色成分はより明るく変更される。尚、図１３（Ｂ）において、例えば、コントラスト補正前に値Ｃ（Ｉ１）だった輝度値は、コントラスト補正後に値Ｃ（Ｉ’’１）に補正され、コントラスト補正前に値Ｃ（Ｉ２）だった輝度値は、コントラスト補正後に値Ｃ（Ｉ’’２）に補正される。
【０１０２】
尚、以上説明したガンマ補正処理、コントラスト補正処理を組み合わせて、輝度補正処理として実行することが可能である。また、ガンマ補正処理、コントラスト補正処理のいずれか一方のみを、輝度補正処理として実行することも可能である。
【０１０３】
本実施形態によれば、図６のＳ６６に示したように画素対を選択するようにしている。このため、たとえ画像編集装置の内部で周辺光量補正が施された場合でも、選択された画素対の値の大小関係は、画像編集装置に入力される前と後とで変化しない。また、前述したように輝度補正の前後でも画素対の値の大小関係は変化しない。このため、本実施形態によれば、画像編集装置の内部で周辺光量補正に加え、輝度補正が施された場合でも、選択された画素対の値の大小関係は、画像編集装置に入力される前と後とで変化しない。
【０１０４】
図５は、画像検証装置１３の機能構成を示す機能ブロック図である。以下、前述したホストコンピュータ１５１１に電源が投入され、ＯＳが作業メモリ１５１５にロードされている場合について説明する。画像検証装置１３は、画像入力部５１、順序情報算出部５２、及び検証部５３から構成される。尚、後述する画像検証処理はソフトウェアにより実現されても良い。その場合には、上記各部は画像検証処理に必要なプログラムモジュールとする。
【０１０５】
図中、画像入力部５１は、画像編集装置１２で編集された画像データＩ’を取得し、取得した画像データＩ’のヘッダを解析し、付加されている検証データＶを抽出し、抽出した検証データＶを順序情報算出部５２に出力する。
【０１０６】
順序情報算出部５２は、画像入力部５１から入力された画像データＩ’から順序情報Ｒ’を生成し、生成した順序情報Ｒ’を検証部５３に出力する。尚、順序情報算出部５２の内部で実行される順序情報算出処理は、図２（Ａ）を用いて説明した順序情報算出部２２の内部で実行される順序情報算出処理と同様の処理であるため、説明は省略する。
【０１０７】
検証部５３は、順序情報算出部５２で生成された順序情報Ｒ’、画像入力部５１で抽出された検証データＶを取得し、画像データＩ’が改竄されているか否かを検証する。そして、検証部５３は、検証結果（ＯＫまたはＮＧ）を出力する。尚、検証部５３における検証処理の詳細は後述する。
【０１０８】
図９（Ａ）は、画像検証装置１３で実行される画像検証処理の流れを示すフローチャートである。まず、ステップＳ９１において、画像入力部５１は、画像データＩ’を取得する。ステップＳ９２において、擬似乱数生成部３１は、擬似乱数ＲＮＤを生成する。ステップＳ９３において、基準画素選択部３２は、生成された擬似乱数ＲＮＤを用いて、基準画素を選択する。
【０１０９】
次に、ステップＳ９４において、基準画素選択部３２は、選択された基準画素が（式３）に示す条件を満たすか否かを判定する。ステップＳ９４において、（式３）に示す条件を満たすと判定された場合、ステップＳ９３において再び基準画素を選択する処理を実行する。尚、再び実行するステップＳ９３において、基準画素選択部３２は、新たな擬似乱数を用いて新たな基準画素Ｉ１を選択する。一方、ステップＳ９４において、（式３）に示す条件を満たさないと判定された場合、ステップＳ９５の処理を実行する。
【０１１０】
ステップＳ９５において、参照画素選択部３３は、生成された擬似乱数ＲＮＤを用いて、参照画素を選択する。ステップＳ９６において、判定部３４は、基準画素、参照画素が前述した（式４）の条件を満たすか否かを判定する。ステップＳ９６において、（式４）を満たすと判定された場合、ステップＳ９７の処理を実行し、（式４）を満たさないと判定された場合は、ステップＳ９５の処理を実行する。
【０１１１】
ステップＳ９７において、画素値比較部３５は、（式２）を用いて、基準画素及び参照画素から順序情報Ｒ’ｋを生成する。
【０１１２】
ステップＳ９８において、画素値比較部３５は、予め定められた所定数の画素対を選択したか否かを判定する。ステップＳ９８において、予め定められた所定数の画素対が選択された場合には、ステップＳ９９の処理を実行し、予め定められた所定数の画素対が選択されていない場合には、再びステップＳ９３の処理を実行する。
【０１１３】
ステップＳ９９において、検証部５３は、画像入力部５１によって抽出された検証データＶと、順序情報算出部５２によって算出された検証データＲ’を比較して検証処理を行い、検証結果を出力する。
【０１１４】
図１１は、ステップＳ９９における検証処理の流れを示すフローチャートである。図１１（Ａ）は検証データとして電子署名を適用した場合の処理の流れを示すフローチャートである。この場合、まず、ステップＳ１１１において、検証部５３は、順序情報Ｒ’をハッシュ関数に入力することによりハッシュ値Ｈ’を算出する。ステップＳ１１２において、検証部５３は、電子署名Ｓ（Ｈ）（検証データＶ）からハッシュ値Ｈを算出する。
【０１１５】
ステップＳ１１３において、検証部５３は、ハッシュ値Ｈ’とハッシュ値Ｈとを比較する。
ステップＳ１１３において、ハッシュ値Ｈ’とハッシュ値Ｈとが一致した場合、ステップＳ１１４で「検証成功」として検知し、一致しない場合には、ステップＳ１１５で「検証失敗」として検知する。
【０１１６】
尚、ステップＳ１１１、Ｓ１１２で使用するハッシュ関数、電子署名アルゴリズムは、夫々ステップＳ８１、Ｓ８２で使用したハッシュ関数、電子署名アルゴリズムと同様のものを使用する。
【０１１７】
図１１（Ｂ）は検証データとしてＭＡＣを適用した場合の処理の流れを説明するフローチャートである。この場合、まず、ステップＳ１１６において、検証部５３は、順序情報Ｒ’からＭＡＣ値Ｍ（Ｒ’）を算出する。
【０１１８】
ステップＳ１１７において、検証部５３は、ＭＡＣ値Ｍ（Ｒ’）とＭＡＣ値Ｍ（Ｒ）（検証データＶ）とを比較する。ステップＳ１１７において、ＭＡＣ値Ｍ（Ｒ’）とＭＡＣ値Ｍ（Ｒ）とが一致した場合にはステップＳ１１４で「検証成功」として検知し、一致しない場合には、ステップＳ１１５で「検証失敗」として検知する。
【０１１９】
尚、ステップＳ１１６で使用するＭＡＣ算出アルゴリズムは、ステップＳ８５で使用したＭＡＣ算出アルゴリズムと同様のものを使用する。
【０１２０】
図１１（Ｃ）は検証データとして順序情報の暗号文を使用した場合の処理の流れを説明するフローチャートである。この場合、まず、ステップＳ１１８において、検証部５３は、暗号文Ｅ（Ｒ）（検証データＶ）を復号し、順序情報Ｒを得る。ステップＳ１１９において、検証部５３は、復号した順序情報Ｒと順序情報Ｒ’の類似度を算出する。尚、ステップＳ１１９において、順序情報Ｒ、順序情報Ｒ’が前述した（式１）を用いて生成されていることを考慮し、類似度として順序情報Ｒと順序情報Ｒ’のハミング距離を用いる。
【０１２１】
ステップＳ１１１０において、検証部５３は、算出した類似度が閾値以上であるか否かを判定する。尚、ハミング距離とは異なる２つのビット列間において、対応する位置にある異なるビットの数をいう。このことから、類似度が高いほどハミング距離は小さくなることに注意されたい。即ち、「ハミング距離が閾値以下」であることは「類似度が閾値以上」であることと等価である。
【０１２２】
ステップＳ１１１０において、類似度が閾値以上と判定された場合、ステップＳ１１４で「検証成功」として検知し、閾値未満である場合、ステップＳ１１５で「検証失敗」として検知する。尚、類似度の判定のためにステップＳ１１１０で用いる閾値は、予め画像検証装置１３内のＲＡＭ１５１５やＨＤ１５１６などに所定の値を設定しておいても良い。また、ステップＳ１１１０で用いる閾値は、画像検証装置１３の利用者がポインティングデバイス１５２２、或いはキーボード１５２３等を用いることにより所望の値を入力するようにし、入力された値を適用するようにしても良い。また、類似度の判定方法としては、ハミング距離に限定されることなく、順序情報Ｒと順序情報Ｒ’の相互相関関数を用いた方式やＤＰマッチングなど種々の方式を適用可能である。
【０１２３】
図８（Ｄ）は検証データとして順序情報Ｒそのものを適用する場合の処理の流れを説明するフローチャートである。この場合、まず、ステップＳ１１９において、検証部５３は、順序情報Ｒと順序情報Ｒ’の類似度Ｓｉｍを算出する。ステップＳ１１１１において、検証部５３は、算出した類似度Ｓｉｍが閾値以上か否かを判定する。
【０１２４】
ステップＳ１１１１において、閾値以上と判定された場合、ステップＳ１１４において「検証成功」として検知し、閾値未満と判定された場合、ステップＳ１１５「検証失敗」として検知する。尚、検証データＶとして順序情報そのものを適用した場合、画像データＩ’を改竄した攻撃者が、改竄画像データから新たに順序情報Ｒを生成できてしまうと、画像検証装置１３は改竄画像であるにも関わらず「改竄でない」と判定してしまうことになる。
【０１２５】
よって、本実施形態では、画像入力装置１１だけが順序情報Ｒを生成可能であるようにする必要がある。このため、本実施形態では、予め画像入力装置１１と画像検証装置１３とが、乱数初期値ＫＲを安全に共有しておくようにする。こうすることにより、攻撃者は本来の正しい画素対を選択することができない。即ち、攻撃者は正しい順序情報Ｒを生成することができないため、改竄画像から正しい順序情報を生成することができないようにすることが可能となる。
尚、ここで、安全とは、データの機密に保持すること、データを改変できないよう保持することを意味する。
【０１２６】
以下、画像入力装置１１において発生した画像データが、画像編集装置１２において周辺光量補正された場合でも、画像検証装置１３で画像データの原本性を検証することが可能となる理由について説明する。
【０１２７】
図１２（Ｄ）は、画像入力装置１１内で選択される画素対について説明する図である。本実施形態における画素対はステップＳ６６において所定の条件を満たす画素対だけが選択されるようになっている。尚、１２５は、画像の中心を表す。例えば、図１２（Ｄ）に示すように、基準画素Ｉ１として１２１、参照画素Ｉ２として１２２、１２３、及び１２４が選択されたことを想定する。参照画素１２２は基準画素１２１よりも画像中心から外側に位置している（Ｒ１＜Ｒ２）ため、ステップＳ６６によりＣ（Ｉ１）＜Ｃ（Ｉ２）となる輝度値の場合だけ、参照画素１２２は選択される。
【０１２８】
また、参照画素１２３は基準画素１２１よりも画像中心から内側に位置している（Ｒ１＞Ｒ２）ため、ステップＳ６６によりＣ（Ｉ１）＞Ｃ（Ｉ２）となる輝度値の場合だけ、参照画素１２３は選択される。一方、参照画素１２４と基準画素１２１は、画像中心を中心とする同心円上に位置している（Ｒ１＝Ｒ２）ため、参照画素１２４や基準画素１２１の輝度値に依存せず選択される。何れの場合も、画素対を構成する画素のうち外側に位置する画素の輝度値の方が内側に位置する画素の輝度値よりも大きく（明るく）なることに留意されたい。
【０１２９】
以上のように選択された画素対が画像編集装置１２内で、前述した周辺光量補正が施されることを考える。図１２（Ａ）（Ｂ）を用いて説明したように、たとえ周辺光量補正前に画像中心部の画素値よりも画像周辺部の画素値が小さい場合（Ｃ（Ｉ１）＞Ｃ（Ｉ２））であっても、周辺光量補正後に大小関係が逆転してしまうことがある（Ｃ（Ｉ’１）＜Ｃ（Ｉ’２））。
【０１３０】
しかしながら、本実施形態では、外側に位置する画素の輝度値の方が内側に位置する画素の輝度値よりも大きくなる画素対だけを選択するようにしている。このため、たとえ周辺光量補正された場合でも画素対を構成する画素値の大小関係は維持される。
【０１３１】
また、画像編集装置１２内で、周辺光量補正に加え輝度補正が施されることを考える。この場合においても、輝度補正により各画素の輝度値は変化するが、各画素値の相対的な大小関係は維持される。
【０１３２】
更に、本実施形態ではステップＳ６４において（式３）を用いることにより、選択された基準画素が画像データの周辺に位置し（Ｒ１＞Ｒｔｈ）、且つ、選択された基準画素の画素値が基準画素の画素値に関する閾値より小さいと判定された場合（Ｃ（Ｉ１）＜Ｃｔｈ）には、別の基準画素値を選択し直す。これは（式３）を満たすような基準画素が選択された場合、（式４）を満たすことが困難である場合があるからである。本実施形態では、ステップＳ６４において（式３）を満たすような基準画素を選択しないようにしているため、選択された任意の基準画素に対して（式４）を満たすような参照画素を選択することが可能である。このように、本実施形態では、ステップＳ６４により、（式４）を満たすことが困難である基準画素を、基準画素を選択した直後に判定することにより、効率的な処理を行うことを可能としている。しかしながら、本発明はこれに限定されることなく、ステップＳ６４における判定処理を実行しないようにすることも可能である。この場合、ステップＳ６３において基準画素を選択した後、続けてステップＳ６５において参照画素を選択するようにすれば良い。仮に、（式３）を満たすような基準画素をステップＳ６３で選択し、ステップＳ６６において（式４）を満たすことができない場合、再度異なる参照画素をステップＳ６５で選択することになる。尚、図６においてステップＳ６４を実行しないようにした場合、それに対応する図９におけるステップＳ９４も実行しないようにする。
【０１３３】
また、本実施形態では、ステップＳ６６において（式４）を満たすことができない場合、ステップＳ６５に戻って再度参照画素を選択し直すようにしているが、本発明はこれに限定されることなく、ステップＳ６３に戻って、再度基準画素を選択し直すようにしても良い。この場合、それに対応する図９におけるステップＳ９５も（式４）を満たすことができない場合、ステップＳ９３に戻って、再度基準画素を選択するようにすれば良い。
以上説明したように本実施形態では、周辺光量補正や輝度補正に対して、相対的な大小関係が逆転しない画素対に基づいて検証データを生成する。
そして、この検証データを用いて画像データが改竄されているか否かを検証する。
以上より、撮影された画像データが撮影後に周辺光量補正や輝度補正された場合であっても、補正後の画像データの原本性を保証することが可能となる。
【０１３４】
（第２の実施形態）
第１の実施形態では画像編集装置１２内部で、周辺光量補正を含むような画像編集処理を実行するように説明した。尚、周辺光量補正は中心部に位置する画素値に対する補正よりも、周辺部に位置する補正の度合いの方が大きいという特徴を有する画像補正である。即ち、周辺光量補正は、画像データを構成する画素の位置に応じて補正量が異なる画像処理の一例であると言える。この観点で、本発明は周辺光量補正に限定することなく、画像データを構成する画素の位置に応じて補正量が異なるような種々の画像処理に対して適用可能である。
【０１３５】
以下、周辺光量補正とは異なる画像補正の例として部分的輝度補正を適用した場合の例を説明する。
図２（Ｂ）は、本実施形態の画像入力装置１１の機能構成を示すブロック図である。本実施形態における画像入力装置１１は、画像発生部２５、順序情報算出部２６、検証データ生成部２７、画像出力部２８、露出情報生成部２９から構成される。尚、画像発生部２５、順序情報算出部２６、検証データ生成部２７、画像出力部２８は、夫々画像発生部２１、順序情報算出部２２、検証データ生成部２３、及び画像出力部２４と同様の構成であるため、説明を省略する。
【０１３６】
以下、露出情報生成部２９について説明する。露出情報生成部２９は、画像発生部２５が測光したデータに基づいて、露出情報を生成し、生成した露出情報Ｅを出力する。
露出情報生成部２９が出力した露出情報Ｅは、後段の画像出力部において画像データＩに付加して出力する。ここで、露出情報Ｅとは、撮影画像データ中の領域毎に露出アンダー適正露出かを示す情報である。
【０１３７】
次に、図１４を参照しながら、露出情報Ｅを生成するための方法について説明する。まず、図１４（Ａ）のような画像データを撮影しようとした場合、撮影画像データの画角を図１４（Ｂ）に示すように複数の領域に分割し、分割した領域毎に測光する。次に、図１４（Ｃ）に示すように適正露出であると判定された領域には「０」を割り当て、露出アンダーであると判定された領域には「１」を割り当てる。そして、図１４（Ｃ）に示した情報を露出情報Ｅとして出力する。尚、以下、適正露出であると判定された領域（露出情報Ｅが「０」である領域）を「領域Ａ」、露出アンダーであると判定された領域（露出情報Ｅが「１」である領域）を「領域Ｂ」と呼ぶ。
また、露出情報を生成するための方法は、領域毎の露出情報を生成可能な方式であれば周知の種々の方式を適用可能である。
また、本実施形態では露出情報として適正露出か露出アンダーかを示す情報を割り当てるものとして説明するが、この他に露出オーバーである情報を割り当てるようにしても良い。例えば、露出オーバーであると判定された領域には露出情報Ｅとして「−１」を割り当てるようにする。この場合、露出オーバーであると判定された領域は「領域Ｃ」と呼ぶ。
【０１３８】
図６（Ｂ）は画像入力装置１１で実行される画像入力処理の流れを示すフローチャートである。まず、ステップＳ６１１において、画像発生部２５は、画像データＩを生成する。ステップＳ６１２において、露出情報生成部２９は、露出情報Ｅを生成する。ステップＳ６１３において、擬似乱数生成部３１は、擬似乱数ＲＮＤを生成する。
【０１３９】
ステップＳ６１４において、基準画素選択部３２は、生成された擬似乱数ＲＮＤを用いて、基準画素を選択する。ステップＳ６１５において、参照画素選択部３３は、生成された擬似乱数ＲＮＤを用いて、参照画素を選択する。
【０１４０】
ステップＳ６１６において、判定部３４は、基準画素及び参照画素が（式８）に示す条件を満たすか否かを判定する。
（Ｉ１⊂領域Ａ  ＆  Ｉ２⊂領域Ａ）ｏｒ
（Ｉ１⊂領域Ｂ  ＆  Ｉ２⊂領域Ｂ）      （式８）
ここで、Ｉ１は基準画素の画素位置を示し、Ｉ２は参照画素の画素位置を示す。Ｉ１⊂領域Ａまたは、Ｉ２⊂領域Ａかどうかは、露出情報Ｅが「０」であることから判定し、Ｉ１⊂領域Ｂまたは、Ｉ２⊂領域Ｂかどうかは、露出情報Ｅが「１」であることから判定する。
【０１４１】
尚、露出情報Ｅとして露出オーバーを含むような場合、ステップＳ６１６において、（式８）の代わりに（式８’）に示す条件を満たすか否かを判定する。
（Ｉ１⊂領域Ａ  ＆  Ｉ２⊂領域Ａ）ｏｒ
（Ｉ１⊂領域Ｂ  ＆  Ｉ２⊂領域Ｂ）ｏｒ
（Ｉ１⊂領域Ｃ  ＆  Ｉ２⊂領域Ｃ）
（式８’）
何れにしても、（式８）、或いは（式８’）によれば、基準画素の画素位置Ｉ１、及び参照画素の画素位置Ｉ２が同一領域に含まれるか否かが判定されることになる。
【０１４２】
ステップＳ６１６において（式８）または、（式８’）に示す条件を満たすと判定された場合、後述するステップＳ６１８の処理を実行する。（式８）または、（式８’）に示す条件を満たさないと判定された場合は、ステップＳ６１７の処理を実行する。
【０１４３】
ステップＳ６１７において、判定部３４は、基準画素及び参照画素が（式９）に示す条件を満たすか否かを判定する。
（Ｉ１⊂領域Ａ  ＆  Ｃ（Ｉ１）≦Ｃ（Ｉ２））ｏｒ
（Ｉ１⊂領域Ｂ  ＆  Ｃ（Ｉ１）＞Ｃ（Ｉ２））      （式９）
ここで、Ｃ（ｘ）は画素位置ｘにおける画素値、Ｉ１は基準画素の画素位置、Ｉ２は参照画素の画素位置を示す。Ｉ１⊂領域Ａかどうかは、露出情報Ｅが「０」であることから判定し、Ｉ１⊂領域Ｂかどうかは、露出情報Ｅが「１」であることから判定する。
【０１４４】
尚、露出情報Ｅとして露出オーバーを含むような場合、ステップＳ６１７において、（式９）の代わりに（式９’）に示す条件を満たすか否かを判定する。
（Ｉ１⊂領域Ａ＆Ｉ２⊂領域Ｂ）  ＆  Ｃ（Ｉ１）≦Ｃ（Ｉ２））ｏｒ
（Ｉ１⊂領域Ｃ＆Ｉ２⊂領域Ａ）  ＆  Ｃ（Ｉ１）≦Ｃ（Ｉ２））ｏｒ
（Ｉ１⊂領域Ｃ＆Ｉ２⊂領域Ｂ）  ＆  Ｃ（Ｉ１）≦Ｃ（Ｉ２））ｏｒ
（Ｉ１⊂領域Ｂ＆Ｉ２⊂領域Ａ）  ＆  Ｃ（Ｉ１）＞Ｃ（Ｉ２））ｏｒ
（Ｉ１⊂領域Ａ＆Ｉ２⊂領域Ｃ）  ＆  Ｃ（Ｉ１）＞Ｃ（Ｉ２））ｏｒ
（Ｉ１⊂領域Ｂ＆Ｉ２⊂領域Ｃ）  ＆  Ｃ（Ｉ１）＞Ｃ（Ｉ２））ｏｒ
（式９’）
ステップＳ６１７において、（式９）または、（式９’）に示す条件を満たすと判定された場合、ステップＳ６１８において、画素値比較部３５は、前述した（式２）を用いて、基準画素及び参照画素から順序情報Ｒｋを生成する。
【０１４５】
（式９）または、（式９’）によれば、より明るく補正される領域（領域Ａよりも領域Ｂ、領域Ｃよりも領域Ａ、領域Ｃよりも領域Ｂ）に含まれる画素の方が、画素値が大きくなる画素となるような画素対が選択されることに留意されたい。
【０１４６】
次に、ステップＳ６１９において、画素値比較部３５は、予め定められた所定数の画素対を選択したか否かを判定する。ステップＳ６１９において、所定数の画素対が選択されたと判断された場合には、ステップＳ６２０の処理を実行し、所定数の画素対が選択されていないと判断された場合には、再び、ステップＳ６１４の処理を実行する。
【０１４７】
ステップＳ６２０において、検証データ生成部２７は、生成された順序情報Ｒから検証データＶを生成する。ステップＳ６２１において、画像出力部２８は、検証データＶが付加された画像データを出力する。
尚、本実施形態において検証データを生成する処理は、第１の実施形態と同様であるため説明を省略する。
【０１４８】
図４（Ｃ）は本実施形態の画像編集装置１２の機能構成を示すブロック図である。画像編集装置１２は、画像入力部４８、部分輝度補正部４９、画像出力部４１０から構成される。ここで、画像入力部４８、画像出力部４１０は、画像入力部４１、画像出力部４３と同様であるため、説明を省略する。
【０１４９】
部分輝度補正部４９は、画像入力部４８から入力された露出情報Ｅを用いて、画像データＩに部分輝度補正を施し、補正された画像データを出力する。
【０１５０】
本実施形態における部分輝度補正処理は、露出情報Ｅを用いて各画素が露出アンダー領域（領域Ｂ）か適正露出領域（領域Ａ）に含まれるかを判定する。そして、適正露出領域に含まれる画素に対するガンマ値γ１よりも、露出アンダー領域に含まれる画素に対するガンマ値γ２を大きく設定し、設定したガンマ値を用いてγ補正を実行する。
【０１５１】
ガンマ値が大きいほどより明るく補正されるため、部分輝度補正処理により、露出アンダー領域のいわゆる黒つぶれが改善される。
尚、部分輝度補正処理としては、露出アンダー領域の輝度値に対する補正の度合いを適正露出領域の輝度値に対する補正の度合いよりも大きくする輝度補正であれば周知の種々の方式を適応可能である。
【０１５２】
図９（Ｂ）は、本実施形態の画像検証装置で実行される画像検証処理の流れを示すフローチャートである。尚、本実施形態における画像検証装置の機能構成は画像検証装置１３の機能構成と同様であるため、同符号を付し、その説明を省略する。
まず、ステップＳ９１０において、画像入力部５１は、画像データＩを取得する。ステップＳ９１１において、擬似乱数生成部３１は、擬似乱数ＲＮＤを生成する。
【０１５３】
ステップＳ９１２において、基準画素選択部３２は、生成された擬似乱数ＲＮＤを用いて、基準画素を選択する。ステップＳ９１３において、参照画素選択部３３は、生成された擬似乱数ＲＮＤを用いて、参照画素を選択する。
次に、ステップＳ９１４において、判定部３４は、基準画素及び参照画素が（式８）に示す条件を満たすか否かを判定する。Ｓ９１４において、（式８）に示す条件を満たすと判定された場合、ステップＳ９１６の処理を実行する。一方、（式８）に示す条件を満たさないと判定された場合、ステップＳ９１４の処理を実行する。
【０１５４】
ステップＳ９１５において、判定部３４は、基準画素及び参照画素が（式９）に示す条件を満たすか否かを判定する。ステップＳ９１５において、（式９）に示す条件を満たすと判定された場合、ステップＳ９１６の処理を実行する。一方、（式９）に示す条件を満たさないと判定された場合、ステップＳ９１３の処理を実行する。
【０１５５】
ステップＳ９１６において、画素値比較部３５は、（式２）を用いて、基準画素及び参照画素から順序情報Ｒ’ｋを生成する。
次に、ステップＳ９１７において、画素値比較部３５は、予め定められた所定数の画素対を選択したか否かを判定する。ステップＳ９１７において、所定数の画素対が選択されたと判定された場合、ステップＳ９１８の処理を実行する。一方、所定数の画素対が選択されていないと判定された場合、再び、ステップＳ９１２の処理を実行する。
【０１５６】
ステップＳ９１８において、検証部５３は、画像入力部５１によって抽出された検証データＶと、順序情報算出部５２によって算出された検証データＲ’を使って検証処理を行い、検証結果を出力する。
【０１５７】
本実施形態における検証処理は、第１の実施形態と同様であるため説明は省略する。
本実施形態によれば、画像入力装置１１において発生した画像データが、画像編集装置１２において部分輝度補正された場合でも、画像検証装置１３で画像データの原本性を検証することが可能となる。以下、この理由について説明する。
【０１５８】
図１４（Ｄ）（Ｅ）は、画像入力装置１１内で選択される画素対について説明する図である。図６（Ｂ）に示したように、選択される画素対は、ステップＳ６１６、Ｓ６１７において所定の条件を満たすもののみである。例えば、図１４（Ｄ）に示すように、基準画素Ｉ１として１４１（領域Ａ）、参照画素Ｉ２として１４２（領域Ａ）、１４３（領域Ｂ）が選択されたことを想定する。参照画素１４２は基準画素１４１と同じ領域Ａに位置している（Ｉ１⊂領域Ａ  ＆  Ｉ２⊂領域Ａ）ため、ステップＳ６１６により、この画素対は輝度値によらず選択される。  一方、参照画素１４３は基準画素１４２と異なる領域Ｂに位置している。このため、ステップＳ６１７によりＣ（Ｉ１）＜Ｃ（Ｉ２）となる輝度値の場合だけ、参照画素１４３は選択される。
【０１５９】
また、図１４（Ｅ）に示すように、基準画素Ｉ１として１４４（領域Ｂ）、参照画素Ｉ２として１４５（領域Ａ）、１４６（領域Ｂ）が選択されたことを想定する。参照画素１４６は基準画素１４４と同じ領域Ｂに位置している（Ｉ１⊂領域Ｂ  ＆  Ｉ２⊂領域Ｂ）ため、ステップＳ６１６によりこの画素対は輝度値によらず選択される。一方、参照画素１４５は基準画素１４４と異なる領域Ａに位置している。このため、ステップＳ６１７によりＣ（Ｉ１）＞Ｃ（Ｉ２）となる輝度値の場合だけ、参照画素１４５は選択される。
【０１６０】
次に、以上のように選択された画素対が画像編集装置１２内で、部分輝度補正が施された場合を考える。部分輝度補正では、露出アンダーである領域Ｂのガンマ値γ２が、適正露出である領域Ａのガンマ値γ１よりも大きい。このため、画素対を構成する夫々の画素が異なる属性の領域に存在する場合は、部分輝度補正の前後で輝度値の大小関係が逆転してしまうことがある。
【０１６１】
しかしながら、本実施形態では、領域Ｂに位置する画素の輝度値の方が領域Ａに位置する画素値よりも大きくなるような画素対だけを選択するようにしている。このため、部分輝度補正された場合でも画素対を構成する画素値の大小関係が逆転することはない。
【０１６２】
以上説明したように本実施形態では、部分輝度補正によっても相対的な大小関係が逆転しない画素対から検証データを生成するようにし、この検証データを用いて画像データが改竄されているか否かを検証するようにしている。
このため、本実施形態によれば、撮影された画像データが撮影後に部分輝度補正された場合でも、補正後の画像データの原本性を保証することが可能となる。
【０１６３】
尚、本実施形態では、ステップＳ６１８において（式９）を満たすことができない場合、ステップＳ６１６に戻って再度参照画素を選択し直すようにしているが、本発明はこれに限定されることはない。例えば、ステップＳ６１４に戻って、再度基準画素を選択し直すようにしても良い。この場合、それに対応する図９におけるステップＳ９１５も（式９）を満たすことができない場合、ステップＳ９１２に戻って、再度基準画素を選択するようにすれば良い。
【０１６４】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011120220.tif 000005
【図２】
2011120220.tif 000006
【図３】
2011120220.tif 000007
【図４】
2011120220.tif 000008
【図５】
2011120220.tif 000009
【図６】
2011120220.tif 000010
【図７】
2011120220.tif 000011
【図８】
2011120220.tif 000012
【図９】
2011120220.tif 000013
【図１０】
2011120220.tif 000014
【図１１】
2011120220.tif 000015
【図１２】
2011120220.tif 000016
【図１３】
2011120220.tif 000017
【図１４】
2011120220.tif 000018
【図１５】
2011120220.tif 000019
【図１６】
2011120220.tif 000020
【図１７】
2011120220.tif 000021